From eb03714ac5ea3de040653783e6cfd8b588eea3dd Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sun, 4 Nov 2007 11:24:19 +0000 Subject: [PATCH 001/164] Created team project folder $/ontopreplica via the Team Project Creation Wizard From e5795cf2955a9b09651e83c44003920a9df02dd7 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sun, 17 May 2009 08:56:53 +0000 Subject: [PATCH 002/164] First commit, synched to version 2.6. --- OnTopReplica.sln | 20 + OnTopReplica/AboutForm.Designer.cs | 225 ++++ OnTopReplica/AboutForm.cs | 315 +++++ OnTopReplica/AboutForm.resx | 266 +++++ OnTopReplica/Assets/about.html | 50 + OnTopReplica/Assets/arrow_down.png | Bin 0 -> 218 bytes OnTopReplica/Assets/arrow_up.png | Bin 0 -> 209 bytes OnTopReplica/Assets/back.png | Bin 0 -> 150765 bytes OnTopReplica/Assets/close.png | Bin 0 -> 33303 bytes OnTopReplica/Assets/close16.png | Bin 0 -> 872 bytes OnTopReplica/Assets/component.png | Bin 0 -> 731 bytes OnTopReplica/Assets/flag_ita.png | Bin 0 -> 209 bytes OnTopReplica/Assets/flag_usa.png | Bin 0 -> 355 bytes OnTopReplica/Assets/flags.pdn | Bin 0 -> 5422 bytes OnTopReplica/Assets/icon.ico | Bin 0 -> 7358 bytes OnTopReplica/Assets/icon.pdn | Bin 0 -> 30322 bytes OnTopReplica/Assets/icon.png | Bin 0 -> 7335 bytes OnTopReplica/Assets/ok.png | Bin 0 -> 2783 bytes OnTopReplica/Assets/pos_bottomleft.pdn | Bin 0 -> 6696 bytes OnTopReplica/Assets/pos_bottomleft.png | Bin 0 -> 267 bytes OnTopReplica/Assets/pos_bottomright.png | Bin 0 -> 267 bytes OnTopReplica/Assets/pos_null.png | Bin 0 -> 250 bytes OnTopReplica/Assets/pos_topleft.png | Bin 0 -> 280 bytes OnTopReplica/Assets/pos_topright.png | Bin 0 -> 278 bytes OnTopReplica/Assets/reduce.png | Bin 0 -> 259 bytes OnTopReplica/Assets/thumbs_up.png | Bin 0 -> 2318 bytes OnTopReplica/Assets/window16.png | Bin 0 -> 862 bytes OnTopReplica/Assets/window_border16.png | Bin 0 -> 683 bytes OnTopReplica/Assets/window_multiple.pdn | Bin 0 -> 8806 bytes OnTopReplica/Assets/window_multiple16.ico | Bin 0 -> 894 bytes OnTopReplica/Assets/window_multiple16.png | Bin 0 -> 1012 bytes OnTopReplica/Assets/window_multiple48.png | Bin 0 -> 1736 bytes OnTopReplica/Assets/window_opacity16.png | Bin 0 -> 894 bytes OnTopReplica/Assets/window_switch.pdn | Bin 0 -> 10464 bytes OnTopReplica/Assets/window_switch.png | Bin 0 -> 456 bytes OnTopReplica/Assets/windows.png | Bin 0 -> 28010 bytes OnTopReplica/Assets/x-oblique.png | Bin 0 -> 3459 bytes OnTopReplica/Assets/xiao_down.png | Bin 0 -> 761 bytes OnTopReplica/Assets/xiao_up.png | Bin 0 -> 744 bytes OnTopReplica/ClickThroughLabel.cs | 20 + OnTopReplica/CloneClickEventArgs.cs | 24 + OnTopReplica/CloseRequestEventArgs.cs | 15 + OnTopReplica/FocusedTextBox.cs | 36 + OnTopReplica/FullscreenForm.Designer.cs | 122 ++ OnTopReplica/FullscreenForm.cs | 144 +++ OnTopReplica/FullscreenForm.resx | 126 ++ OnTopReplica/MainForm.Designer.cs | 562 +++++++++ OnTopReplica/MainForm.cs | 783 ++++++++++++ OnTopReplica/MainForm.resx | 266 +++++ OnTopReplica/NativeMethods.cs | 303 +++++ OnTopReplica/NativeToolStripRenderer.cs | 587 +++++++++ OnTopReplica/OnTopReplica.csproj | 276 +++++ OnTopReplica/OnTopReplica.csproj.user | 14 + OnTopReplica/OnTopReplica_TemporaryKey.pfx | Bin 0 -> 1644 bytes .../OnTopReplica_TemporaryKey_old.pfx | Bin 0 -> 1644 bytes OnTopReplica/Program.cs | 59 + OnTopReplica/Properties/AssemblyInfo.cs | 36 + .../Properties/OnTopReplica.exe.manifest | 14 + OnTopReplica/Properties/Resources.Designer.cs | 259 ++++ OnTopReplica/Properties/Resources.resx | 190 +++ OnTopReplica/Properties/Settings.Designer.cs | 181 +++ OnTopReplica/Properties/Settings.settings | 45 + OnTopReplica/Properties/app.manifest | 26 + OnTopReplica/RegionBox.Designer.cs | 345 ++++++ OnTopReplica/RegionBox.cs | 178 +++ OnTopReplica/RegionBox.resx | 120 ++ OnTopReplica/StoredRegion.cs | 63 + OnTopReplica/StoredRegionArray.cs | 37 + OnTopReplica/Strings.Designer.cs | 1048 +++++++++++++++++ OnTopReplica/Strings.it.Designer.cs | 0 OnTopReplica/Strings.it.resx | 352 ++++++ OnTopReplica/Strings.resx | 457 +++++++ OnTopReplica/ThumbnailPanel.cs | 437 +++++++ OnTopReplica/Win32Helper.cs | 83 ++ OnTopReplica/WindowHandle.cs | 81 ++ OnTopReplica/WindowListHelper.cs | 44 + OnTopReplica/WindowManager.cs | 126 ++ OnTopReplica/app.config | 48 + 78 files changed, 8383 insertions(+) create mode 100644 OnTopReplica.sln create mode 100644 OnTopReplica/AboutForm.Designer.cs create mode 100644 OnTopReplica/AboutForm.cs create mode 100644 OnTopReplica/AboutForm.resx create mode 100644 OnTopReplica/Assets/about.html create mode 100644 OnTopReplica/Assets/arrow_down.png create mode 100644 OnTopReplica/Assets/arrow_up.png create mode 100644 OnTopReplica/Assets/back.png create mode 100644 OnTopReplica/Assets/close.png create mode 100644 OnTopReplica/Assets/close16.png create mode 100644 OnTopReplica/Assets/component.png create mode 100644 OnTopReplica/Assets/flag_ita.png create mode 100644 OnTopReplica/Assets/flag_usa.png create mode 100644 OnTopReplica/Assets/flags.pdn create mode 100644 OnTopReplica/Assets/icon.ico create mode 100644 OnTopReplica/Assets/icon.pdn create mode 100644 OnTopReplica/Assets/icon.png create mode 100644 OnTopReplica/Assets/ok.png create mode 100644 OnTopReplica/Assets/pos_bottomleft.pdn create mode 100644 OnTopReplica/Assets/pos_bottomleft.png create mode 100644 OnTopReplica/Assets/pos_bottomright.png create mode 100644 OnTopReplica/Assets/pos_null.png create mode 100644 OnTopReplica/Assets/pos_topleft.png create mode 100644 OnTopReplica/Assets/pos_topright.png create mode 100644 OnTopReplica/Assets/reduce.png create mode 100644 OnTopReplica/Assets/thumbs_up.png create mode 100644 OnTopReplica/Assets/window16.png create mode 100644 OnTopReplica/Assets/window_border16.png create mode 100644 OnTopReplica/Assets/window_multiple.pdn create mode 100644 OnTopReplica/Assets/window_multiple16.ico create mode 100644 OnTopReplica/Assets/window_multiple16.png create mode 100644 OnTopReplica/Assets/window_multiple48.png create mode 100644 OnTopReplica/Assets/window_opacity16.png create mode 100644 OnTopReplica/Assets/window_switch.pdn create mode 100644 OnTopReplica/Assets/window_switch.png create mode 100644 OnTopReplica/Assets/windows.png create mode 100644 OnTopReplica/Assets/x-oblique.png create mode 100644 OnTopReplica/Assets/xiao_down.png create mode 100644 OnTopReplica/Assets/xiao_up.png create mode 100644 OnTopReplica/ClickThroughLabel.cs create mode 100644 OnTopReplica/CloneClickEventArgs.cs create mode 100644 OnTopReplica/CloseRequestEventArgs.cs create mode 100644 OnTopReplica/FocusedTextBox.cs create mode 100644 OnTopReplica/FullscreenForm.Designer.cs create mode 100644 OnTopReplica/FullscreenForm.cs create mode 100644 OnTopReplica/FullscreenForm.resx create mode 100644 OnTopReplica/MainForm.Designer.cs create mode 100644 OnTopReplica/MainForm.cs create mode 100644 OnTopReplica/MainForm.resx create mode 100644 OnTopReplica/NativeMethods.cs create mode 100644 OnTopReplica/NativeToolStripRenderer.cs create mode 100644 OnTopReplica/OnTopReplica.csproj create mode 100644 OnTopReplica/OnTopReplica.csproj.user create mode 100644 OnTopReplica/OnTopReplica_TemporaryKey.pfx create mode 100644 OnTopReplica/OnTopReplica_TemporaryKey_old.pfx create mode 100644 OnTopReplica/Program.cs create mode 100644 OnTopReplica/Properties/AssemblyInfo.cs create mode 100644 OnTopReplica/Properties/OnTopReplica.exe.manifest create mode 100644 OnTopReplica/Properties/Resources.Designer.cs create mode 100644 OnTopReplica/Properties/Resources.resx create mode 100644 OnTopReplica/Properties/Settings.Designer.cs create mode 100644 OnTopReplica/Properties/Settings.settings create mode 100644 OnTopReplica/Properties/app.manifest create mode 100644 OnTopReplica/RegionBox.Designer.cs create mode 100644 OnTopReplica/RegionBox.cs create mode 100644 OnTopReplica/RegionBox.resx create mode 100644 OnTopReplica/StoredRegion.cs create mode 100644 OnTopReplica/StoredRegionArray.cs create mode 100644 OnTopReplica/Strings.Designer.cs create mode 100644 OnTopReplica/Strings.it.Designer.cs create mode 100644 OnTopReplica/Strings.it.resx create mode 100644 OnTopReplica/Strings.resx create mode 100644 OnTopReplica/ThumbnailPanel.cs create mode 100644 OnTopReplica/Win32Helper.cs create mode 100644 OnTopReplica/WindowHandle.cs create mode 100644 OnTopReplica/WindowListHelper.cs create mode 100644 OnTopReplica/WindowManager.cs create mode 100644 OnTopReplica/app.config diff --git a/OnTopReplica.sln b/OnTopReplica.sln new file mode 100644 index 0000000..4c95ee0 --- /dev/null +++ b/OnTopReplica.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual C# Express 2008 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OnTopReplica", "OnTopReplica\OnTopReplica.csproj", "{E626BD6E-BF38-4EB7-A128-5CA6F40EF557}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/OnTopReplica/AboutForm.Designer.cs b/OnTopReplica/AboutForm.Designer.cs new file mode 100644 index 0000000..5cb80d8 --- /dev/null +++ b/OnTopReplica/AboutForm.Designer.cs @@ -0,0 +1,225 @@ +namespace OnTopReplica { + partial class AboutForm { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm)); + this.themedLabel1 = new VistaControls.ThemeText.ThemedLabel(); + this.themedLabel2 = new VistaControls.ThemeText.ThemedLabel(); + this.panel1 = new System.Windows.Forms.Panel(); + this.button3 = new System.Windows.Forms.Button(); + this.progressBar1 = new VistaControls.ProgressBar(); + this.button2 = new System.Windows.Forms.Button(); + this.button1 = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.linkLabel2 = new System.Windows.Forms.LinkLabel(); + this.linkLabel1 = new System.Windows.Forms.LinkLabel(); + this.label2 = new System.Windows.Forms.Label(); + this.webBrowser1 = new System.Windows.Forms.WebBrowser(); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // themedLabel1 + // + this.themedLabel1.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.themedLabel1.Location = new System.Drawing.Point(0, 0); + this.themedLabel1.Name = "themedLabel1"; + this.themedLabel1.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0); + this.themedLabel1.Size = new System.Drawing.Size(200, 40); + this.themedLabel1.TabIndex = 0; + this.themedLabel1.Text = Strings.ApplicationName; + // + // themedLabel2 + // + this.themedLabel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.themedLabel2.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.themedLabel2.GlowSize = 11; + this.themedLabel2.Location = new System.Drawing.Point(200, 0); + this.themedLabel2.Name = "themedLabel2"; + this.themedLabel2.Padding = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.themedLabel2.Size = new System.Drawing.Size(177, 40); + this.themedLabel2.TabIndex = 1; + this.themedLabel2.Text = "v2"; + // + // panel1 + // + this.panel1.BackgroundImage = global::OnTopReplica.Properties.Resources.back; + this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.panel1.Controls.Add(this.button3); + this.panel1.Controls.Add(this.progressBar1); + this.panel1.Controls.Add(this.button2); + this.panel1.Controls.Add(this.button1); + this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.linkLabel2); + this.panel1.Controls.Add(this.linkLabel1); + this.panel1.Controls.Add(this.label2); + this.panel1.Location = new System.Drawing.Point(0, 40); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(377, 105); + this.panel1.TabIndex = 10; + // + // button3 + // + this.button3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; + this.button3.Image = ((System.Drawing.Image)(resources.GetObject("button3.Image"))); + this.button3.Location = new System.Drawing.Point(313, 79); + this.button3.Name = "button3"; + this.button3.Size = new System.Drawing.Size(23, 23); + this.button3.TabIndex = 3; + this.button3.UseVisualStyleBackColor = true; + this.button3.Visible = false; + this.button3.Click += new System.EventHandler(this.Abort_click); + // + // progressBar1 + // + this.progressBar1.Location = new System.Drawing.Point(205, 79); + this.progressBar1.Name = "progressBar1"; + this.progressBar1.Size = new System.Drawing.Size(102, 23); + this.progressBar1.TabIndex = 3; + this.progressBar1.Visible = false; + // + // button2 + // + this.button2.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.button2.Image = global::OnTopReplica.Properties.Resources.component; + this.button2.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.button2.Location = new System.Drawing.Point(205, 79); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(102, 23); + this.button2.TabIndex = 2; + this.button2.Text = Strings.UpdateNow; + this.button2.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.Update_click); + // + // button1 + // + this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.button1.Image = global::OnTopReplica.Properties.Resources.xiao_down; + this.button1.Location = new System.Drawing.Point(351, 79); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(23, 23); + this.button1.TabIndex = 4; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.Toggle_click); + // + // label1 + // + this.label1.BackColor = System.Drawing.Color.Transparent; + this.label1.Font = new System.Drawing.Font("Segoe UI", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(6, 75); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(199, 31); + this.label1.TabIndex = 13; + this.label1.Text = Strings.UpdateDisclaimer; + // + // linkLabel2 + // + this.linkLabel2.AutoSize = true; + this.linkLabel2.BackColor = System.Drawing.Color.Transparent; + this.linkLabel2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.linkLabel2.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabel2.Location = new System.Drawing.Point(7, 58); + this.linkLabel2.Name = "linkLabel2"; + this.linkLabel2.Size = new System.Drawing.Size(252, 21); + this.linkLabel2.TabIndex = 1; + this.linkLabel2.TabStop = true; + this.linkLabel2.Text = Strings.Homepage; + this.linkLabel2.UseCompatibleTextRendering = true; + this.linkLabel2.VisitedLinkColor = System.Drawing.Color.Blue; + // + // linkLabel1 + // + this.linkLabel1.AutoSize = true; + this.linkLabel1.BackColor = System.Drawing.Color.Transparent; + this.linkLabel1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.linkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabel1.LinkColor = System.Drawing.Color.Blue; + this.linkLabel1.Location = new System.Drawing.Point(7, 37); + this.linkLabel1.Name = "linkLabel1"; + this.linkLabel1.Size = new System.Drawing.Size(212, 21); + this.linkLabel1.TabIndex = 0; + this.linkLabel1.TabStop = true; + this.linkLabel1.Text = Strings.CreatedBy; + this.linkLabel1.UseCompatibleTextRendering = true; + this.linkLabel1.VisitedLinkColor = System.Drawing.Color.Blue; + // + // label2 + // + this.label2.BackColor = System.Drawing.Color.Transparent; + this.label2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label2.Location = new System.Drawing.Point(7, 4); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(287, 33); + this.label2.TabIndex = 10; + this.label2.Text = Strings.Slogan; + // + // webBrowser1 + // + this.webBrowser1.AllowWebBrowserDrop = false; + this.webBrowser1.Location = new System.Drawing.Point(0, 146); + this.webBrowser1.MinimumSize = new System.Drawing.Size(20, 20); + this.webBrowser1.Name = "webBrowser1"; + this.webBrowser1.ScriptErrorsSuppressed = true; + this.webBrowser1.Size = new System.Drawing.Size(377, 200); + this.webBrowser1.TabIndex = 14; + // + // AboutForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ClientSize = new System.Drawing.Size(377, 145); + this.Controls.Add(this.webBrowser1); + this.Controls.Add(this.themedLabel2); + this.Controls.Add(this.themedLabel1); + this.Controls.Add(this.panel1); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.Name = "AboutForm"; + this.Text = Strings.ApplicationName; + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private VistaControls.ThemeText.ThemedLabel themedLabel1; + private VistaControls.ThemeText.ThemedLabel themedLabel2; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.LinkLabel linkLabel2; + private System.Windows.Forms.LinkLabel linkLabel1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button button2; + private VistaControls.ProgressBar progressBar1; + private System.Windows.Forms.Button button3; + private System.Windows.Forms.WebBrowser webBrowser1; + } +} \ No newline at end of file diff --git a/OnTopReplica/AboutForm.cs b/OnTopReplica/AboutForm.cs new file mode 100644 index 0000000..af242b2 --- /dev/null +++ b/OnTopReplica/AboutForm.cs @@ -0,0 +1,315 @@ +using System.Diagnostics; +using System.Windows.Forms; +using VistaControls.Dwm.Helpers; +using System.Drawing; +using System.Runtime.InteropServices; +using OnTopReplica.Properties; +using System.Deployment.Application; +using System; +using VistaControls.TaskDialog; +using System.ComponentModel; + +namespace OnTopReplica { + public partial class AboutForm : GlassForm { + + public AboutForm() { + InitializeComponent(); + + //Add link areas (localized text) + linkLabel1.LinkArea = new LinkArea(linkLabel1.Text.IndexOf("Lorenz Cuno Klopfenstein"), "Lorenz Cuno Klopfenstein".Length); + int linkStart = linkLabel2.Text.IndexOf("www"); + linkLabel2.LinkArea = new LinkArea(linkStart, linkLabel2.Text.Length - linkStart - 1); + + //Glassify + GlassEnabled = true; + GlassMargins = new VistaControls.Dwm.Margins(0, 0, themedLabel1.Size.Height, 0); + + //Remove title and icon from title bar + // Code taken from: https://secure.codeproject.com/KB/vista/HideCaptionIcon.aspx + NativeMethods.WTA_OPTIONS ops = new NativeMethods.WTA_OPTIONS(); + ops.Flags = NativeMethods.WTNCA_NODRAWCAPTION | NativeMethods.WTNCA_NODRAWICON; + ops.Mask = NativeMethods.WTNCA_NODRAWCAPTION | NativeMethods.WTNCA_NODRAWICON; + NativeMethods.SetWindowThemeAttribute(this.Handle, + NativeMethods.WindowThemeAttributeType.WTA_NONCLIENT, + ref ops, + (uint)Marshal.SizeOf(typeof(NativeMethods.WTA_OPTIONS)) + ); + + themedLabel2.Text = "v" + Application.ProductVersion.Substring(0, 3); + + //Create event handlers + handlerProgressChange = new DeploymentProgressChangedEventHandler(CurrentDeployment_CheckForUpdateProgressChanged); + handlerProgressComplete = new CheckForUpdateCompletedEventHandler(CurrentDeployment_CheckForUpdateCompleted); + + handlerUpdateChange = new DeploymentProgressChangedEventHandler(deployment_UpdateProgressChanged); + handlerUpdateComplete = new AsyncCompletedEventHandler(deployment_UpdateCompleted); + } + + protected override void OnKeyUp(KeyEventArgs e) { + if (e.KeyCode == Keys.Escape) + this.Close(); + + base.OnKeyUp(e); + } + + private void Lck_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://lorenz.klopfenstein.net"); + } + + private void Homepage_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://www.codeplex.com/ontopreplica"); + } + + private void ShowGenericError(string title, string mainContent, Exception ex) { + TaskDialog.Show(mainContent, title, ex.Message, TaskDialogButton.Close, TaskDialogIcon.Stop); + } + + #region Bottom toggler + + private void Toggle_click(object sender, System.EventArgs e) { + IsExpanded = !IsExpanded; + + //Update icon + button1.Image = IsExpanded ? Resources.xiao_up : Resources.xiao_down; + } + + bool _isExpanded = false; + bool _isFirstExpansion = true; + public bool IsExpanded { + get { return _isExpanded; } + set { + if(_isExpanded != value) + Size = new Size(Size.Width, Size.Height + ((value) ? webBrowser1.Size.Height : -webBrowser1.Size.Height)); + + _isExpanded = value; + + if (value && _isFirstExpansion) { + //Load text from resources + webBrowser1.DocumentText = Resources.about; + + //Register navigation events + webBrowser1.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating); + + _isFirstExpansion = false; + } + } + } + + void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) { + if (e.Url != null && e.Url.IsAbsoluteUri) { + Process.Start(e.Url.ToString()); + e.Cancel = true; + } + } + + #endregion + + #region Updating + + bool _isChecking = false; + bool _isUpdating = false; + + private void Update_click(object sender, System.EventArgs e) { + ApplicationDeployment deployment = null; + try { + deployment = ApplicationDeployment.CurrentDeployment; + } + catch (InvalidDeploymentException ex) { + var dlg = new TaskDialog(Strings.ErrorUpdate, Strings.ErrorGenericTitle, Strings.ErrorUpdateContent); + dlg.EnableHyperlinks = true; + dlg.CommonIcon = TaskDialogIcon.Stop; + dlg.CommonButtons = TaskDialogButton.Close; + dlg.ExpandedControlText = Strings.ErrorDetailButton; + dlg.ExpandedInformation = ex.Message; + dlg.HyperlinkClick += new EventHandler(dlg_HyperlinkClick); + dlg.Show(this); + + return; + } + catch(Exception ex) { + ShowGenericError(Strings.ErrorGenericTitle, Strings.ErrorUpdate, ex); + + return; + } + + CheckForUpdate(deployment); + } + + private void Abort_click(object sender, EventArgs e) { + StopUpdate(); + } + + void dlg_HyperlinkClick(object sender, HyperlinkEventArgs e) { + Process.Start(e.Url); + } + + public void CheckForUpdate(ApplicationDeployment deployment) { + //Add event handlers + deployment.CheckForUpdateProgressChanged += handlerProgressChange; + deployment.CheckForUpdateCompleted += handlerProgressComplete; + + //Update GUI + button2.Visible = false; + progressBar1.Visible = true; + progressBar1.Value = 0; + button3.Visible = true; + + _isChecking = true; + + try { + deployment.CheckForUpdateAsync(); + } + catch (Exception ex) { + ShowGenericError(Strings.ErrorGenericTitle, Strings.ErrorUpdate, ex); + + StopUpdate(); + } + } + + public void InstallUpdate(ApplicationDeployment deployment) { + //Add event handlers + deployment.UpdateProgressChanged += handlerUpdateChange; + deployment.UpdateCompleted += handlerUpdateComplete; + + //Update GUI + button2.Visible = false; + progressBar1.Visible = true; + progressBar1.Value = 0; + button3.Visible = true; + + _isUpdating = true; + + try { + deployment.UpdateAsync(); + } + catch (Exception ex) { + ShowGenericError(Strings.ErrorGenericTitle, Strings.ErrorUpdate, ex); + + StopUpdate(); + } + } + + void StopUpdate() { + //Reset UI + progressBar1.Visible = false; + button3.Visible = false; + button2.Visible = true; + + try { + ApplicationDeployment deployment = ApplicationDeployment.CurrentDeployment; + + //Remove all handlers + deployment.CheckForUpdateProgressChanged -= handlerProgressChange; + deployment.CheckForUpdateCompleted -= handlerProgressComplete; + + //Abort anything + if (_isChecking) + deployment.CheckForUpdateAsyncCancel(); + if (_isUpdating) + deployment.UpdateAsyncCancel(); + } + catch { + return; + } + finally { + _isChecking = false; + _isUpdating = false; + } + } + + DeploymentProgressChangedEventHandler handlerProgressChange; + CheckForUpdateCompletedEventHandler handlerProgressComplete; + + void CurrentDeployment_CheckForUpdateProgressChanged(object sender, DeploymentProgressChangedEventArgs e) { + progressBar1.Value = e.ProgressPercentage; + } + + void CurrentDeployment_CheckForUpdateCompleted(object sender, CheckForUpdateCompletedEventArgs e) { + progressBar1.Value = 100; + _isChecking = false; + + if (e.Error != null) { + ShowGenericError(Strings.ErrorGenericTitle, Strings.ErrorUpdate, e.Error); + + StopUpdate(); + return; + } + + if (e.Cancelled) + //Already was aborted + return; + + ApplicationDeployment deployment = null; + try { + deployment = ApplicationDeployment.CurrentDeployment; + } + catch { + //Internal (weird?) error, simply abort + StopUpdate(); + return; + } + + if (e.UpdateAvailable) { + //Install right away if required + if (e.IsUpdateRequired) + InstallUpdate(deployment); + + //Ask user + var dlg = new TaskDialog(string.Format(Strings.AskUpdate, e.AvailableVersion.ToString()), Strings.AskUpdateTitle, Strings.AskUpdateContent); + dlg.CommonIcon = TaskDialogIcon.Information; + dlg.UseCommandLinks = true; + dlg.CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, string.Format(Strings.AskUpdateButtonOk, e.AvailableVersion.ToString())), + new CustomButton(Result.Cancel, Strings.AskUpdateButtonCancel) + }; + dlg.ExpandedInformation = string.Format(Strings.AskUpdateExpanded, Application.ProductVersion, e.AvailableVersion.ToString(), e.UpdateSizeBytes); + dlg.ExpandedControlText = Strings.ErrorDetailButton; + + if (dlg.Show(this).CommonButton == Result.OK) + InstallUpdate(deployment); + else + StopUpdate(); + } + else { + var dlg = new TaskDialog(Strings.InfoUpToDate, Strings.InfoUpToDateTitle); + dlg.CustomIcon = Icon.FromHandle(Resources.thumbs_up.GetHicon()); + dlg.CommonButtons = TaskDialogButton.Close; + dlg.Show(this); + + StopUpdate(); + } + } + + DeploymentProgressChangedEventHandler handlerUpdateChange; + AsyncCompletedEventHandler handlerUpdateComplete; + + void deployment_UpdateProgressChanged(object sender, DeploymentProgressChangedEventArgs e) { + progressBar1.Value = e.ProgressPercentage; + } + + void deployment_UpdateCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e) { + progressBar1.Value = 100; + _isUpdating = false; + + if (e.Error != null) { + ShowGenericError(Strings.ErrorGenericTitle, Strings.ErrorUpdate, e.Error); + + StopUpdate(); + return; + } + + if (e.Cancelled) + return; + + var dlg = new TaskDialog(Strings.InfoUpdated, Strings.InfoUpdatedTitle, Strings.InfoUpdatedContent); + dlg.CustomIcon = Icon.FromHandle(Resources.thumbs_up.GetHicon()); + dlg.CommonButtons = TaskDialogButton.Close; + dlg.Show(this); + + StopUpdate(); + } + + #endregion + + } +} diff --git a/OnTopReplica/AboutForm.resx b/OnTopReplica/AboutForm.resx new file mode 100644 index 0000000..2ade69f --- /dev/null +++ b/OnTopReplica/AboutForm.resx @@ -0,0 +1,266 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA + Cw4BQL7hQQAAApBJREFUOE91kl1Ik1EYx62IIrwoojLwoiLLZAu6rBsLmRmV05uimB9NarMLv1bhykbN + NrXQmMpyYrNlNe2LZR+aHyRZDLGL3EpCYUquOWy8xJZhvuv997zvlm6mB/6873Oe8/ufc57nLItZMIbP + 7m6gqdoko2OYT1EcS58rJD/NaReuj4pdOil8z3RBgsZJIh4m9Xmbi+E2ZIP+7y5p4NIeButoA77YwLSV + 8ou/kga9xjxg4A5gb4K7MnNxE1d5GB4wAb0VwKAZTEsRvHXZQL8ReKQCHqrA9dTArUuPNhlVH3CyY70E + 3Q7Br7XACw3QXQl0XCOwBGhRgjPLwVkU4OwWjGjSPL2yHVnCdeiYXd7mAmDICvSQAQ/b1MDjc0Br4Txs + koF7ehFMowIOpdhdlRK/h/AVQpWFQlECdrpCe1kItpLpv515uLUEjDEXHxUiz4V9m6UEr50rKBlsIv0I + WAnkDVqjYbZBhmmTHJ/zxcHGI1sLCdwQCYdOYJQDbwxAW1HUzr/rj2H6phQz5jP4bjgJp1I8wbc40qDL + a1IC7xpC1Y449mz9cQH2Xz8ERi/BT7MCU4YsvgvjA/KkbYLJaGmyk3XagFflUfAfSz5mm/IQqE4X4Kmr + yZjSp4HtrMbIJYmn40RCDuHLBROXJhVsdw04vtd8wZ6owdTJMKk/ipkHxfDpUwXYbynA2GUJ3p9KshEW + R1ozdxVXWQrYlzpwnVVgbskxpBBNfjgt+uSpyMAv63kE7qsE+G3urucEiUkJ/z1rl+YgfBZVcEgh/qba + G5eZsXPdFqHAtbmY0GfycHsY5g0WH/05ife0++MllF0ffmixVLC6vuzEGxRvJ813YEmXmJhVkTkq2EqK + V5M2LmT+Ah3C3fcuAveKAAAAAElFTkSuQmCC + + + + + AAABAAEAMDAAAAEAGACoHAAAFgAAACgAAAAwAAAAYAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABBdztCdjhDeDpCdzlCdjpDdzpFfD5EeTpGfDtFfDtFfjpJgjtHfjlHgTpIgjtNiDxKgzlKhDlKiDhO + iztNijpMjDpPjTtSkz1Vlz1YnD1bpD5dpz1hqT9lrEFkrT5oskJnsD1prT1orD1mqTlmpjlkpDdmozpj + nDVhmDRekzJekTJekDNjkjNeijFbiC1ahSxDeDlDdztDdztEdzpFejpEeDhEdzlEeDpGezhGfThGfDhH + fThHfjlIgjhIgzpKgzhJhDhKhjhLhzlNiTlLiDlPjTlVlz1VmDxYnTxdoT5gqD1iqj9jrkBlr0BnsEBp + rz1nrT1orTtmqzhlpzhopjpjoDVgmzNgmDNflTJejy9cjy5gkS9bii5ciC1chyxbhytCdjpDdzlDeDlG + eztDdjhDdzhDdzdEeDhHfDdFejZFezdGfTdJgzlIgDdIgTlKgzdLhDhKhjlLhjhMiTlQkDpSlDtXmDtY + nTtcozxepz1hqz1jrT1oskBorztpsDxnrjxorTtmqzplqTppqjxioDVfnDRfmDNflTJdkjBekjFcji9c + iy9biS1ciCxciCtgjS1DdjhEezpDeDhCdTdEdTZEdjVFeDVFeDVHdzREezZGfjdIfTZHfTdIgDdJgjdK + hDZKhDZKhDZMhzdTkztSlDpWmjtanjtcozxepz1gqD1kqzxorz1nsD5psDxorztlrTtmqzpmqDxkpTli + oDZgnTVelzNclTJdkjFilTNaji5biy5bii1bii1ciSxfjSxdiypGejpCdTZDdThFdTdGeDdFeDZEdzdG + eDZIejhLgTpIeztLfjdKgDlLgjlMhDpMhTlOhTpPjDtTkTtWlTxZmj5coT5gpT9ipz9kqD9prUForj5p + sEBpsEBpsT9prz9nrD9qrEJkozlloDlinThhmjdgmDZhlzRflDJbjzBcjTFejTBdjDBejC9eiyxejStf + kC1DdTdEdzhFdzlIeDpIeTtKejpKez5NfT1QgD9QgUBPgUBShD9RhUBSh0BTiEFVi0BdlUVak0JdmUNi + n0VlokVnpkZoqUVprERusEVusUVts0ZutEdvs0VvskZusEVvrkZrqEJppENnokJmnz9mnT1qnzxkmDpi + lDhikjZhkjVjkDVmlTZgjzFhjy9jki5ili1DdjdGeDpIeDtMeT1Pe0BRfkRWhkdWg0ZahklbiUtaiUxd + i0tcjExej0tglE1kmU5mnE9nn05ro05up09wq1Bzr1F2s1F1s053tFB2tlF3tlF4tlB2tlB4tlF2sU9z + rU5yqk1yqExwpUxwpUlypkluoUhsnEZsm0VrmkJql0Jtmz5pljtolzhplzZomjNspTJGeDpKeTpMej5S + e0FVgUdahkteiE5jjFNokFdpkllqk1tslltsmVxyoV5xol52pF12p196rWB7sGB+smGAtmCEumKCuWCD + umGCul+Du1+Du2CEvF+FvWGDuF+Dt16As11/sFyAsFyAr1t+rVp9qVt8qFp7pVd6plV5pVN2oU9zn0px + oUZunj9wojxwqThwrjZIdzpOeD5SfkJbhEpehU5ljFZskV1zl2R5nGp8oWx9oXCBpXCDq3KErXKGr3KJ + tHSLtnSLuHSNvXWPvnSRwHSRw3WSwnWSwXOSwXSSw3OSw3STw3ORwHKQv3KQvXGPu3GPunGQunKNt3GN + tXCMtG+NtG+MsmyMs2uGrWWErWGArFp+qlR7rEt5sEV3tj91vzxMdjtRfUFZgUlhhlFqjFp0lWR8nG+G + o3iPqoCUr4SWtYmZuImau4ubvoudwYyfw4ufxYyhx42jyo6jyoykyoylzI2lzI2ky4ukyo2kzYyjyouj + yoqjyYqjyIuixouixomix4uhxIqhwomhwoihwYeiwYeiwYedvoGZvH2UunSQuWyOumKGuleDv1CAykl6 + 2UFSfEFWfkVghE9qjVuIhYP89e3z9e/n9PDn9fDn9PHn9fHo9fHp9vLq9fHq9fHp9fDq9PDr9O/r9O/s + 9O7s9O3s8+3s8+vs8urs8unr8efr8Obs8Obt8OXu8eXv8OTw8eTz9OX4+Of8+ez9+ez++e3++en9+ej9 + +OX89+L89t/69OT57uKUzGaN01yF4lGB+EtQeT5bgUpliVZzkmONiIPk6efS8vSj6vCl6++n6++o7O6q + 7O6t7e6v7u6x7u6y7ey27uy47uy88Oy/8OvC8OrE8OjG8ObK8OTL8eDO8d7T8d7a8eDg8uLk8uTm8+Po + 9N/s+Nny+9L4/Nb7/NL8/M/8/Mr8/Mf8+8H8+bb89rD699f68eGe33aS62SL/Fp/+1BTe0Neg01ri1t6 + lWqWkYzc6+qj6u441d861t091ts/19lD2NhJ2dhO2tdR29VU29Jb3tFh4NFq5dJx6NF66tGK69WW69in + 7Nmu7dS27c+57ci07cOr7b6n7cC07rzH8bPO9KfV9pva85jp74vt64Hv6Hbx5nDy5Gbz4FT120r466r6 + 79qm9IGY/HGM+2R2qUtWe0NihFBvjV9/mG+dmZTd7Ouj6e031Nw61Ns91dlA1tdC19VG2dRL29NX4NZe + 5Nhl6Nlm69Vt8NJ289KB9tGR9tOd9dKr9NGy8sy78cnB9MS7872x8reu8bq187jF97XC76LD55LF33nS + 2mna1Vze0F3iz1jnzVLsy0bwxj/346b57tuo/YmZ/XmDoFt4lUpXfENkhFFyj2GFnnSjnpre7euh6Ooz + 09Y21tc52dc62NI81sxA1shE2MVQ3chZ5cth68tg7MRk67ts67d17bSI8LeT7rWh67Oj4qqo3KOo3Jmd + 2ouP2YCL2YGV24Cn34Kp13Wx1Hm0y2bCx1vKwUfUw0fbwUTgvkHluj7suzv236X57tyq75CUrXOHol95 + l05ZekRmhVJ4lWWIoHamop7e7eug5uYxzcw00M040sw50cc+1chC1sRI2MFS2L1b375k5r5l57Ro5Khs + 3aBx2pd63JN/24mD14CCzXSGym2Lzm+OymuPxGeVu2CWul6avF6dtFOptFizsky3ska+sDvItT3Stz/Z + tjvftDrntzr03qX479ynvIyYsXaHomB6mE9bfkRpiFN5lmSLo3mopKDe7Oqh4+E3y8U70Mc/0sY+zrxF + 0rtM1rlT2rVW1qte2qdo36Jz459z2ZFwzIJsv3F1wnJ3w3J+wmx8uV2Cs1CDsVGErE2EpUqGm0GKlz6R + ljualTekmz+snT2unjq0oDDAqDHJqzXPqjXTpjTaqjXu2KP37dyrwJCXrniJpGJ7mVBcgUVrjFR6mGaK + p3iopKDf7Oml49s+yblFz71J0LtIzLFO0K5T0KhZz6JbyZVix4xryYh1y4NzxHtwuW1sr150sFl0rVZ3 + qk92okN9njl+nzx+mTt8kTl8hS9/gSqFfyeLfyWRgSWZhSWehySmjiarkSm1li68ly7GmS7NnDDo0qH2 + 7NypvI6Xr3eKo2N7mFBehEVrj1V6nGaMp3mopKDf7Oen4NVDw6tJyK5Nx6pLwJ1OvJFRuYlWt4Fct31l + uXhsunR0uG5xsGNuplVsnkVxnT9wmj1wlDZuiy10hyN2gyF4fx95ex55dx17dR1/dR2Fdx6LeR+SfCCa + giKjiiKokCiwlCq0lS++ly/FmDHm0KD17NypvY6Yr3iKpGR7l09fiEVsk1R7nGWMqXiopKDf6uWn2s1C + spJItJNLso9MsIhMqHtNoW9PmWNVmV5enVpln1ZomktmlENljjdrjzFxjyhyiyJwhB5ufht0gBp6gRp8 + fhl7eRl4dBl5cRl8cRqBchuHdByOeR6XgB+fhyKjjSerkSqtlS60ljC5lzThz6T07N2pvY6Yr3iJo2N8 + l05hi0VulFR8n2SOrXmopKDf5+Km0ME9mnVAmnJClmxEk2VGjV1Ki1VQi05ZkUtlmEdsmkFtlTdsjS1q + hiNwhx5zhxp1hhlzghd0gBZ7gxV/gxaAfxV9eRV5chZ4bxZ6bhd+bxiEchmMdxuUfx2dhR+jiSKrkiWv + mCq0mi+2lzPezqP07N6pvo+Yr3iJo2J8l09ijkVul1N8omSMqneopKDf5uClyLY8il9Bjl5FjVpIjlZM + jE9RjUhZjEFijjltlDNzlCx0jyRxhh1wgRh1hRZ5hxV6iBR5hRN7hBKBhxKDhRKDgRJ+ehJ6cxN5bxN5 + bRR8bhWCcReLeBmUfxychB2hhh+oiyKvkiS0lim1li7czqL17d+pvY6Yr3aKo2N8l09ikEVtmFR8oGSM + qneopKDf5d6mxa8+g09EiU9LjUtQjEVXlT5bkzhklTJsjip3lCR9kx58jhl4hhV3gxJ8iRJ+ixKAjBF/ + iRGCiRCGihCGhg+EgQ+Aeg99dA97cRB6bhF9bxODcxWNexeVgRqbgxyegh2jhx+wliO7nSW/nSjgzp71 + 7d+qvYyYrnaJo2N7lk5ikEVtl1N7n2SMqXenpKDg5N2nwqlCgEJKikFUkj9YkDlflzNikixqkyVyix5+ + kRuDkhiDjRR9hhB9hw+DjQ+HkA+HkA+GjQ6IjQ2Kiw2HhgyDgAyAegx/dg19cg59bw9/cRCGdhOPfhaW + gRiZgRmafhqdfhymix+ylCK6mSTfzpz27t+qvYyZr3WKo2N8lk1ij0VtllN7nmOMqXenpKDg49upwqRG + fzZRkTdamDRelC9hkCdkiiBtjRx4iheFkhmJkxaHjhOAhg2DiQyLkg2Plg2PlQyKjwuNjwuNiwqJhQmE + fwmBegqAdgp/cwt+cQ2BdA6JexGRgBOVgBWVfReVehiXehmghh2rkiG3myTf0Jz47+CqvYyZr3WJomJ8 + lk9hj0RsllJ7nmOLqHenpKDg5NqrwqBLjS9UnS9boSxdjiVegB5kfhlvgxV8ihKJkxiMkhWJjROChgmH + jAmPlAqUmAqTlwqPkQmRkAmOigiKhQiEfgeAeQd/dgh9cwl9cgqCdgyKfQ+PfxGQfBKOdxSPdRWSdheX + eRmeiCCqkyPa0p338N+pvIyYrnaJomJ8lk1gjkNslFN6nGSMqXinpKDh5NmrwZ1LiChTlihZmCVciB5e + fBhlfBRwghF9iQ6JkRSMkBKIixCEhgaLjQeTlQeXmAiVlgeTkQeTkAeQigaKhAaEfQWBeQV+dQZ7cgd8 + cgiCeAuJfQ2LfA+KdxCIchGJcBOMchWSdheZhR+jjyLW0J328N+pvIuYrnWJomB8l01fjEJsk1F5m2OK + pHanpKDh49mrv5tJgiNQiSFXjx9agBlfehRmeRBxfw19hwuHjA6JjAyFhwqFhgWNjgWTkwWXlQaUkgWU + kQaUjwWQiAWJggWEfAR/eAR7cwV4cAV6cgeAeAmFeguFdw2CcQ6BbA+CaxGGbhSMchaUfxuahx/Sy5v0 + 7t+pvIuYrnWJo2B8l01hjEJpkVF4l2KKonWnpKDg4tiqvJlHbh1OeBxVfxpbfhZfeBJldg5wfQt8hAmE + iAmGhweCgwaFhQSPjgWVkwWYlAWTjgSUjgSSiwSOhgSIfwSCegR+dgR4cQR1bwR4cgV+dweAdwl9cQp6 + agx6Zw18Zw+AahKGbxSNdBeVfxzQx5n07+CpvIuZrnSKomB8l01diEJqjlB4lWGIoHSnpKDg4tiquphG + ahpOdRlVfRdbfRRedhBkdAxvegl7ggeDhQaEhASAgAOFhQSQjwWXkwWYkwWTjASTiwSQhwSMggSFfQSA + eAR7cwR1bwNzbgN2cgR5dAZ4cQh1aglyZApzYgx2Yw56ZxGBaxOIcRWRfBnOxZjz7uCqvIuZrnSJoV59 + lkxchEFpjFB3k2CIn3WnpKDf4tipuZdFaBdNcRVUehNaehFddA1icQpteAh5fwaAgwWBgQN+fgOFhASP + jQSVkQWUjgWQiQWQhwSOhASJfwSDegR9dQR4cANzbQNybQNzcAN0cAVxawZsYwhrXglsXQtwXw11Yw97 + aBKCbRSLdxjLwpfz7t+qvIuYrXOJoV58lkxcgj9oik93k2GInnSnpKDg49mpuJVFZRRMbRJUdhBZdw5c + cQtgbghsdQZ3fAV8fgR8fQN7ewOEgwSNigSSjQSPiASNhQSMggSKgASFewSAdwR7cgR2bgNxawNxbANw + bgNuawRpZAVlXQdkWQhmWQpqWwxvXg51ZBB8ahKEcBXIvpbx7uKqvIqYrXOLoV58lkxagkFoiE91kGCG + nXOnop7f4tipt5REYhFLaQ9Scg1XcwxbbwlfbAdpcgV0eQR3eQN3eAN3dwODgQOJhgSMhwSHgQSIgASH + fgOFfAOBdwN8cwN3bwNzbANvagNvawJsagJoZQNhXQRfVwVeVQdhVQhkVwppWwxvYA92ZhF+bBPGvZXw + 7eGqu4qarXOKoV58lUxYfD5oh010j12EmnCkoJvf4deptpNEYA9JZg1QbgtVcAlZbQddaQZocARxdgNz + dgNydAN0dQOCgQOIhQSJhASDfASDewOEfAOBeAN9dAN4bwN0bANvagNuaQNsaQJpZgJiXwNbVwNZUgRZ + UQVbUQdfUwlkVwtqXA1xYw94aRHDvJTw7OCnuYaYrHCJoFx8lUpcgD5kg0lyjFqBl2yfm5bd39WptZFD + Xg1IYgtPaglTbAhXagZcZwVmbgNucwJwcwJvcQJzcwKBfwOGgwSEfwR/eAR/dwOBeAN9dQN6cQN0bQNw + agNtaANraANpZgNkYQNcWQNXUgNUTwRVTgVWTgZaUAdfVAplWQxrXw5yZRDAupPw696ktYCWqWuInlh7 + lEdWeTlhgUduilZ8lGaZlZDc3dOntZFBXgxGYQpLZwlQaQdUaAVZZwRibQRqcwVrcgVqcAVvdAN7fgSA + gAR8ewR5dgR5dgR6dgR3cwRzbwRvbANraQNoZwNnZwNjZQNeXwNWVwNRUQNOTgNOTQRQTQVTTwdYUgle + VgtkXAxrYg69uJLv6t2dr3ePpGSDmlJ4kUJVeThef0Nqh1B3kV+RjIfk493U28qotZGptpCsuZCvuo+x + uY6zuY63vI26v4+7v4+6vo+9v43Bw47DxI7BwY7AwI7BwI7BwI6/vo69vY68u427uo25uo24uY23uI20 + tY2xso2vr42tro2tro6uro6vr4+ysI+0spC2s5G5tpHd28v38umVqWyJnlt9lUt0jT9TeDVbfj5lhEpw + jVaHgn308evo5uDe4dbh4tfj5Njj5djk5djk5djl5djm5tnm5tnm5tnm5tjn59fn59fn5tfn5dfn5djn + 5djm5dfm5Nfm5Nfl5Nfl5Nfl5Njl5Njk5Njk49jj49jj4tjj4tjj4tjj4tjk49nk4tnk4tfk4dbr6OH9 + 9u+KoF+AmFB3kENvijhReDJWezljhkRnh0rV1NSLhX+Qi4eYk4+emZWinpmloZymop2mop2mop2mop2m + op2mop2lop2lop2lop2loZ2loZ2loZ2loZ2loZ2loZ2loZ2loZ2lop2lop2mop2mop2mop2mop2mop2m + op2mop2mop2loJyhnZicmJOVkYyPioWSj4t/lU53kERxiTlqhTBOdi5WfTVXfzlehUJmi0lvklJ1m1h9 + p2GBrmaGuWqJxm6K1nCK6XKL6XOHyG+EnGmFnWqGnmiIoGqGn2mHoGqHoGmIommIo2qJpGqKpWmKpmqK + p2qMqGqMqWqMqWqNqWqNqWuMqGqOqGqOqGqOp2mNpmiMpGeLomSIoF+DnFh+l1B7k0l0jkBuijhrhTBm + gypLeCxPei9VfzVZhTheij1lkkNtn0tup05yslN1xVV411l27Fp47F9xplVyjVFxjlFzkFJzklN0klN1 + klJ2lFN2lVF2llJ2llJ3mVN4mlJ5m1J5nVF6nlN6n1N9nVN9n1R8n1R9nlN9n1J9nVJ9nFF8m1B8mU97 + l014lUd2kkRzj0BwjDpqhzRohS9mgChifiRKeClNfC1RgC5VhjBYjTVfmTphoT5jsEBnxURn2kVr70pn + 70tijUBhgT5igj5ihT5lhz5jhz9miEBmiD9oiz9ojD5njD9njD9pkEBqkT9rkz9slT9slkBul0BvlT9u + l0Bul0Bvlj9vlj9vlT5vkz5vkT1vkDtujjptjThrijVpiDFnhi5kgytkgidifyNefR9KeidNfihQhCtS + jCxWmTBYojNcsTVcxzZb5Tle8z1e8z9VeTBVeTBWeTBYejFYfTBafzFYgDFagDJbgDBchDBagzFchTJd + hzFeiTFgizFhjDBhjjFikDJkkTJkkDJkkTJlkjFlkDFkjzBljzBjji5miy5lii1miC5khyxjhCphgydh + giVffyRffx9gfR9dexxJfiZLgyZOiyhRlipSpCtStC5Wyy9V6TFW9zVU9TdMciZOcCVNciZOdSZQdyZR + eCZReSdReydTfCdUfCdVfydUfiZWgSZVgyZXhiZZhyZaiSdbiydcjSdejihgjihejihejihfjSdfjShf + jCdfiiVgiCVfhyRfhCNegyJdgSJcgCBdfx9bfh5bfhxcexpaeRlKhCVLjCVQliZRpSdPuCpR0CtS8SxV + +jBQ+jBGbR9JcB9JbyBJcR5KcSBMdSBNdiBOeSFOeiJPeiBQeiBRfSBRfh9TgCBTgiFVhSBWhiBYiCBX + iR9YjSBbjiFbjCFajSJajSFbjSBaiiBaiiBaiB9ahh5bhh1agx1bgx1bgRxagBtbfxpafhlafBhcehha + eBhNjyZNlyRRqChSuyhR1ytS+C1V/jFP/i5Gbh5Hbh9Jbx9KciBJcR9KdCBMdiBNdyBOeSBPeh9Peh9Q + eyBRfh9RfiBSgR9UgyFVhR9ViCBYiSFYjCBZjSFcjyBcjyBdjyJbkCFcjiBejCBbjCBbih9diB9bhh1a + hRxcgx1bghpbgRxbgBpafxlafBhbehdbehdOmiVPqSdQvilR2SxR/S1V/jFL1yxGbB9Hbh9Gbh9Mch9I + cB9JcB9Kcx9MdSBMdyBOeCBNeSBPeR9QeyBQfR9RfiBSgR5SgyBVhSBWiCBYiCBXix9ZjB5cjx9cjx9d + jyFajyBcjR9bjB5bjCBbih9chx5chh1bhRxchBtbgxtZgBtbgBpbfhlcexhaexhbehdPqidRwClR2ylR + /S5U/zFLwyhGbR9FbB9GbR9JcB9Jbh5LcR9KcR9Mcx5MdSBNdyBOeCBOeiFPeh9QfB9RfSBRfiBSgR5S + gyBUgx5Whx9YiR9Xix9ZjR5bjx9cjx9dkCFajyBbjh9cjR9bjCBbih9diB9dhh1chRxbhBtbgxxbgBpb + gBpbfRlcexhcexhcexgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + \ No newline at end of file diff --git a/OnTopReplica/Assets/about.html b/OnTopReplica/Assets/about.html new file mode 100644 index 0000000..ad68786 --- /dev/null +++ b/OnTopReplica/Assets/about.html @@ -0,0 +1,50 @@ + + + + + + + +

License

+ +

OnTopReplica is licensed under the Microsoft Reciprocal License (Ms-RL).

+

The original source code can be found on the project's homepage on CodePlex.

+ +

Credits

+ +

OnTopReplica was inspired by Switcher and other DWM based applications.

+ +

All Vista controls are part of the WindowsFormsAero library for .NET.

+ +

Some example code taken from Ookii on Channel9.

+ +

NativeToolstripRenderer class taken from asztal.net.

+ +

Some icons from VistaICO.com and the Xiao icon set.

+ + + \ No newline at end of file diff --git a/OnTopReplica/Assets/arrow_down.png b/OnTopReplica/Assets/arrow_down.png new file mode 100644 index 0000000000000000000000000000000000000000..bfbfe35f217928f5bbb9671dbae159f410af48bc GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@q#X;^)4C~IxyaaMs(j9#r85lP9 zbN@+X1@aY=J%W507^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVN2)+ICY~;iAsWHS2@*yR>@O^BF=$KY z$YeMf>@Ivlq-NVg-t-))&Mt|RUYE=U%|ovWC;3Q79A#KJTkBeuNQ*O2KZB>MpUXO@ GgeCw)7e2)R literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/arrow_up.png b/OnTopReplica/Assets/arrow_up.png new file mode 100644 index 0000000000000000000000000000000000000000..b34489e747f6c4d65d4f2bb82693fe6535d8e783 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@q#X;^)4C~IxyaaMs(j9#r85lP9 zbN@+X1@aY=J%W507^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVN2)+I+MX_sAsWHS2@;zg*ss)M&umCs x^hGIK!AseUx5D(%<%VG8zb1mBUSC347&NW5uD!bX|2|L~gQu&X%Q~loCIAd3JJA3D literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/back.png b/OnTopReplica/Assets/back.png new file mode 100644 index 0000000000000000000000000000000000000000..d5cfc9f16a5141391fbb6051cc6382cd52c23a28 GIT binary patch literal 150765 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�l==v9-BOCPv*ENV#bGR0oHk z1Z!&Qo~`!bi90EZ47#l>on@oUVq2+lxI5+9oE>nLp8(BveFb-$Upw!IxPIE!lqQ?+ zVvB6HxTn*;MXI$~lEK|1%wT_wdS#<1jr*lAjkf`#@L$MLgLvdH*7;}CK6B5auXW94 ztZ^-2uW_wseylffSBrB+t1ve5p$Hu;brx@hQzmzXV;1Kn{XNJyo@DM$!XTWpCGh>UZBb0F0sKeNQ=_cJ@}iJWdKk=FX}-}^UM z$ky)Pf_tFG_;=00LV`k_1Ep@R2HAxo9%_%Sv1tV)EfH0ugV;9huCq3$wC-%k?y;@k z(`0LksO!s#m^UGU}3~FuZCsrH_)3d%!L}v6m7TW~Rh?}dh14q& z;DqDQRu~lGnnMi%EJ0A9TfRepdjZ|gHP6Ai&t;t^Qy;GS`W?^<$3 z=u&)2=#+Yh?c`NSH{y3o48|he1IhZ|9w8XPY0p z#b$T>b}MBDZKooKy+fIYLsHqC?Xql)m}GH&P!({uI@NK%3+Ur+iR@u*jxV>~9GCgi zCa*N=*C@a@Vz%o`fU<#~&RZ{n1Zn(rl62u`nmplJpB&~Izij(YJhGXqJqlQ>y=z#j z+?u!_iVOKGML8I8M~jz__O1qixMZ`JIp(n50W3>(+1w?%LdjeDV#S+cY!dPd)r-W% z>eoFQB@10@qzm-LvR73_()pSq#VhJU#XLo!{3UtOKXeY{g@dFa&rfd!6fG|zY7RW; zq%zvMN;U@!S%AM#0-6A%$S&5L zyO1f@94v7S*jSu{r9H+(X@#S-?5d$OMOE20MpoIH!>eo>u+LJzr_tJ!)oE3m(P3Q^ z*Jxc8QDa+)-S`SPN;y;tmB2NM0Zbu4DS!ZoO&;7N2g(K{SplW?83D!AbiX3|G;h=( zUWJro??OtFcM&BK$9@w6EA8Xs2>ZCa1C-dT{nVI*F3K+4i^eNbqulcBBJn#V0K_iL zJ)ataW5B^E-h%*3pi7Q@fD0VNEuZEKP`m+*7eMiJ$)$VXh1>2m3t~>XUd*!JL2Mh z-0qf6{ZW(6#h5$q2YD86t1OHCoic~J#Zb=O?9syc#;=>R$+wRAbwrNM#+Wp#FMU(& zHfYiq>(L4O9I&jz?A2$YG}IuOf;A|(KT+okR(oW#KJv?=t@6&JedtrpSn1ioSfMTF zy^k7XxgbxBQ-tDW;vCUC+8n`BryTAQ$6U@^hFsoa$3n>)#uDiwWwGLQVX4>CWfRf)$A@aKI@n^{IQs72*a3~1r8Rn2stB``DkaY?P37mx7b&o@g zMciF)*N)g8TSsZ#T}NrzWui1;FQpNwmpQ81wjPdBkK)}FQEgirU1w91)M{Oo)ooRo z)@fB9Q*ToqR&85~UHOs#00I>P6f(ui^Mia#>~j1{?6RROpCY>qpJLl|pJGayU#Wen zUkL>cLIPr!2*rC9+3vwxRN{O~?P4R%)R^=E+OC2_4$(RL93pqMQX}xLu5kB!3R#1Y z>D3${NUxA$`J;&UL)rxgp?JIIQM~|(r(1!8yGuS!66QI$;>8UvPC0ZZmpqzdSQFEj zJtELo{3eAY+RVcOO>hHK1(=j@5u{i&z(JE~a%dJn&<+;CInW2jkYXN_tIua~;Vf)z z4xNR;LngqXd(?4gkwbikq+>j4;)swE+{Lvsma=UX84PQ5xU8fZ%$?8#mE1&H6q3CdwmZ3JEUD(WLezJNWs2Q6>>KjP27#1?X0ido7rDFmoPT?Wm4A1 zq*#9*lxn-qkj4ZY+)srWoHc;u6Hz8_wIo;kkt|=lN}VlS>5{`<>6hcMBCv@1exQl5 z9Pj>mS5b&f!dy)7=1L&x5>c+?EmfXyu`!SLhD#oQk#nJFp>vsRp`lc{0CfkZc-8Y| zm713|CgnUsrQ-h>O6C7BAcPJ6wTIfR5lH|L+sSLJ;Q|@ty%*o@AQaU>y&q znR63LJ7ODRD~kD+-Sw2F-Szg3yX&cDz)}xb>L62ejeTuIm3>WE6{QL(SS6gKJf*{` zEU$lOX>z+&2{tf`v8PgqGbRNA<+gcv(@L&?DVbuC4q}_-Ut*U5DAIjPD5*%TQlMo2 zGHMcFNyNQ))GT{&FV?5nemByw81F*rF1(pOID z_X2dW@~HtBMezqDelB@bU*~*#Z$JVEp?D(Ya(6ADxw#h7U0n-lE-nQ$C&1$9luI)L z7`r@lyQSxg=;ZQX28364LNX-9GV!Ahya5H5KRu9tIlR{ zNI>-YY!<}S<+AD892O0(Ld9EE?C~>kl--8}c7Vk;YA@d!XV3vYt8 zURTBb9Qz^b+|nJ^#wJ^T8k=IZ#wnfti6oQ1T9m>6NQgNsagKPUyg>Sav_Q5(mMebW zki%adTu6I2s)D*Kq=CNFsZ{W`BwvgnMaf$NY!dSGq;CM0MSx|YYd-fiuOj{e*K+Br z&SlE^PNj;M<;CiGqOyPJ9Qwb{Vr6&Q5ZPU}L>3|`%XJ4S+{444MW#zHuCXS;cp);C z%E3cVD!a?x0!tQBEE0;W4k|PU38{>Bs^!lW^-_tFLDVdkGz_lNY7bE0C{R+1J&}lr zlX(_c;v4PTQNXwDskd*9tG91P+J*YVzA>(zVg@Mn0HqF~n9v5ULFcPFyc&R1*;R&D zQp$s>Y|A2QZA#-?Y>M;ytcvpoZ3`3HtP7$|)_FnYlw7>4D+j=2`9ny|=b2DAAaEipFocM|u`gBO)59VLAI4 zq2x)e~Ikxn^5 zj)298YrS(GUFV!j)52NQL1w0^;Ivp-eLO;x zclfvSf70axkW3cp5B4@`CTA-k`5xMW@%V4iBHnCBXKl(!-o7a-W&1|wY{pk;8E=qe zVa&advmS;0=RTeEb(BOcn|A`|_m=Ti0$j+nfFq@Wl7!uOC5xgC+)Z422Dxm{Ry&D9d5vT>c$ zX-ni-?vv{|Aab6IOryx}=i=J(=TNYdpIbm7fx+J~2Mj=YevgEzWPnN(^^<=Og-C_m!&&NL>!~KdQWH~WUmaa< zUl~OA!Vb3(~r*3yOxU^RoM`a}!!^a{y3QaHU;laD`nu zph*WXsexsb6vSl2L_m`Ohl%$qrR)g+AOYp}yP+8Wa))TYGR$C=+DG~o+eg4z!h8#< zp+S|Dki>3!Q1J*Oub_=Y?NSC`8GAPjV{7yyLMfXmQuj|NDn#(b8&A&*Icv)Jl#SvHy+ww0lXZROj- z*%6H~_dN%>+rxVJ+gz%cKWK8L1asG1%fxDs_Bd4OteLQrR+t9eDOjF z_CN#$iUs^a#e80&>J@$=TD(QddERBRe>S}$A<6Hh5QTV1iw7t~F=9b4An36}T0};& zhCsx3NQf-LH5v2&h5=xZfRObDU@PdMTI!BmGQur#dmR1-#sZB67}9O17FaT|F6bj& zg^K?^{tkR64e44k>L0+;j`XWFvB{$5_(n<-9K{S!8URW?AgM!bVge{NyBjFgyBi!T z0ZIj2r97&RQigGs(#UE`aRdN?yA*_0+2u#p+2tj)+U4dB*yNP#v(7@y+|z869$~Ug z!#E27u}i`6-{in@08(a`5C8`OEOGv2_Oa0JfHM1-fO2YdK!rn8K)FMtf0;wLU#UZw zZwWONpoDlAI|TWbI0QzUX#qL=S$>s2v;0h_`96iiT<=}2bWfi$ng@2)-Q5cSM}Y%G zb#^VFI^o)gcYGOK3mo+LAt4<=(Yh7U)p%)x3Q{;1(&bM1G?{Y&O&Z+5l4K1FMW|DR z73U=U+>>HnNGqG`T+HC;;UE}OVWJ(((B&~`kON?$qD5>EC!qiqTSFn+2JK-hT|R54 zHkZ9ao5%dgrGmXZu${dvYLNXyL_cS%R|DreT@hZ?kj=ILg18BrivWbZQIgI15)b|c zWxn7GLq2zXa3+0SLb~l|yHf1dx@R!gsPnjM3>BP@UCpf3jy0TBiUR(J(j37`jK8l? zXLDBsW;(pLC)H|sLyg-H)ui|ZKp<;=&K=G!eP_bBoDPCiR==G3V*235d z`fI@jtOfdf;e34O6+xkDo&YUgbh-WmfWS5K0YpB)$j1X-GGIrPkq;|WfCm<56^MMY ze!zO}JLDSo@bHu0Cn5M>>cMA#qoB_Lf8GIqc255r7C1~NmB=L1vMvWW3k?EDa1s*M zvVC@zGz`wwp4x8Ln$${Z0VvHFnQubsWd6M3V({lRl zQ{$TKlS8WQlHn?eaFqlo9&ebB3o5sdMT{YZqC6T-5*1iMiv%R$h+&8!fF;DY41kn5 z1p1az1AK~UegMfgzLVu${xjdZ{uhC#>5RZ5_Xx*5+)Q`%ETFj{4MU1WcXBUsFyePd z3}lK0!9A!N{9upTy@;mr03hzgbh%qGL*`n{khl~w#jXW(kw-C87)7x7#b?C4ir>WC zl3yk4g#7}RXBC@?H_kr?gzkX!i>iZr02~U^GFv!_jj<38Qo!B`?a&u+x9bWx+qHSD zZTbSv4<5CwttjTdiymZc@o!^qHdeAXD|6YK6q)R=0m?>s4*N@J0}A-{IIq55l_yxI zDinUEE#R+p%i*lqolgBEC3WZOz;xPb$71d(CllvGw0T#mN-*Z0%YR>-O*)8Zxhz|- z%sGqoPHd{(()2W&C2skGx1>cX3m~#0}zc&p}|R6^5up`2hz&<3JR_VMtlhq5&En zWQV^+I=~B&_w#X0x(OLcNDA?NG8Xick!ArVx0g<2!(B*abvsx<$?T$|E+K&-od^H@ zy_EKv!}hJk19mN$-IS)3cKgPp7F%;tE43l9nOYA>O!1A>+C7aFw0NmiP$gigh-sjd z$C#<5yBnz`h{d}asD)5Ll*u7Ks?I(y(qx|#S!)M6l+5s2`}BksN?P6kCAI#z zO>*rpH7RGnHZi8rJ|Vc;J|1wy1y)jH11s%ff~xE-E#80%`zR<93dd(*PzXQ?4y>dF z1(eeRp#VVR=U;|jlPY6)`;^eU0&D4>1&7!kjpropEf>VD4Zn$9GWW5a;3|$D0K~JH zX28!}TUxw;g#<)}pT1T?3bzuv+_RJ^a|a-RMC?|~79k4U3K@Lo0tOF-JvZq9pIvrV z!m9pF#LPS)WQ28akzUaq$Qp!n56BL(g{#=WRjd#J2y2I95qGblm;^@T?;_xLuV(^k1(RE2nH2*3lOe0*P{2-mE03=lhX+$Mr`Cigx z=2EgEfKv#kDI_Bxuv|lPFhE%6LHQ&!&jESy-MMR0bihC-a-eJ|1E6Gd!Cg8X+A}&S z?U`NFRybHo#R2=Kii4EK!a-Xz?$-mBdekVU#Ab(Dbiitmepvv)W@Gv82C4-RI7A7+ zD2_2Z6ymx7_w!@Sv^-qr>@quKN7dVBMb$ZEMAq4-hnpyAVJ7?3=z3~$a+iHl`9W%8 z!*NP{#S!~G8GW?4C~OjjR8uX01fhc!SVfHl6cK@c17aV7>)@a&hoGQJT0lSrEx^B$ z?iWx=_YJ6^d;3+;y#R`*Z#m5!4&%P3gXLOzQs4qmoLVl59IJj68socIdfy7V9&Vw9 zqgVielz>G6Xk>^o_adgmql6)LFJ+1ViNLj($pAG%Gwy#&HT!8kF24->uq8$!zsk2vI5akNuF?t1RX5Y zB8xHk`-UV>vM3_YVPR&z-NMjf)&fI`;#GNxa=x@g{j#J~HBVZmeo0gJA8?SaOCqA@ zl9cGVEF=1_D2Tz!I%3~t7vj)mU*hoP0OG)9FJkbjE75n!iRe79BU*oz5lz2{h=!lJ zL=9Z0WQYM+?BOOPD1gM0p4k&cLwNWH;XKb(Fa+lqq!an1`ydt$%xTV5=tLd~N*}`l zNp=s76yR`Z%jk4yP4A?&0Gg)k9{WbPn7Q&Gr5>s)9I!WKblTS@w^3^nn`u>vO%9a_ zP1N$ZCTdw+qkZX~CTai8W(V<{>BP}nsiJps?17$;5PzF9v-__ti!jTeHM@^12 zQIjGYsEP5d4)J*d)ID`a9b%hK&~{gk&|)(B9d<=E(xQWFsFA_dw20s;hcG|^QA2`W z08-@;5L8L`52|AL1ywVAvGxwEVtPTI0hJ7QzY2yMELGOy^=2-Lr~Gi|XW1G1_9Ee^Nln80OoBcXDmrD_9mlpdHvd`H2JsZt|l( zkG;)Mz}e~uK#YahAS~p53pd$pDCB~ZOSwwVS5fj~45wA*#-m7w=?~0lj05p5AxDW@fc|*R$elp(h zBM#p1C-zti<^iFDhb}zNAbg!MM_OL@u%@Mnr zf&u%gv`%VeQmaFGVyi=0VhgP_zL{D~0ut9a2S{v_LmtvD3m^a`ixde6ln!S}MN9!K z$$%wsR|73Ex`7rSQBU0y)nFf+M9_8@A7sQdpJME4JHv>sI6{w1>t#fQ*VDs7Y8^s@ zYw&v@)wJNCYFZG034j2IgCFksK;8hwE4Z5BiRccw1ynIzA!q+erW4%7(Z7OWjBI4; zOGbpc?(0fz-*t_;{gPN!bX2GeZeS=pOBgb*Qkv8gDHaNN5mGLQA#jI-Aob#Uma;e= zWo$OY^eAI7T}zpC*HStSGf`C6GKRf(EsGL6z_ZQ59!Ty9u65iH*UG<p7nXb+Xs_ zH8Iy3N_n3GqBW{~-p2rDwJMMQ5k^>6sq*;%MErrKSiC}2EPYQ^ELpB97Qc(QOj#mY zYABMt?ODuOvZsXdW>Tg7;(%fnHVJu)aDHT=tWffrv{1Z2QiLHzq*&@Q&C4zo@_CV^ zynjBuA|Yuz&&9*dAzCl+h_;J7g1F2lh)Y7E^NNV*xC&SROxINj(F0(*u1SgR>vE#| znv&?ht|bO<7>I%EuEfv{cL3u}9K9V*oVv4zICLYJ=)K`gv|Uyab-xISiX*6R08KGm zrHG6GgoJ{W#dXLy2uLi~a2e8R2I=j2{fxHUK6)$E3|N}7x*6t-ZU=KlmtB2E2cs^n z!@-o^MXkvhu&*xLZ(rGb%(k+6m{OiUNG(h2urEz+r4}c)I20wcI26P+(@5n(xc~)# zIAmd+iI^VO!bp#8VWa|>6hM-^yOECigPyRvkr^LjrtjHhro{r5-AKt|BFwbt^Z|#c zn&XVfu5+x2jx*e_nq%zHq)tXiXdNRc#N-edTtg24DE@%P4|)y=%`>=);So~HaL4Cv zLA7*O$T_fv;S^ZSG6q!Bjs8_kJ)A}7U(VLX5=?c|MVYGirdomj=ZfZwQd#;CU+P^> zlX#ZWM1VqwREv*P3u16ln{YhfAf9C$re_(80Z?e9+{&2%glX?u%AvTFux%lmfF_nz z+&+#~_A$WGYmB+`*K3RT>vY9}&zvfFYrQeW8`8~K<6O!5SX+Q8-h2xjA6fv(7kq#-A1jb* zy{9gb0ubpkb+H(dEyeZQ$`Ty4Es?#cER!sDDitkCsHHDTD5We6%4NRhl`mMJFA&XF z6vabyI1C8~=_Vu~P+Q(0y%lN(EKNwk%sG8D3@Os; z0ZUz0FT<4HO|MDoqF1MOI#gzK(<<@?Y2}rN?aCTY*p*fsvcm=;wJ43C7bLaQ^5HCb zds=9@ajgzHaV@m0xE4BEytMS#CR$o-Gc7f)m7W461C~T6A-0(j55>haGh%l)F?K^S zyBZnMQH}Jd$OcAaY#Tki;2=A!L@2LzJn1E-oWs~`3gS(;S*d- z^A4$DcmfQMU=tmHu-rmwnXVxwrZYZw3O2Ef!8J?+oJAj0!_oy-v$X+LEVX|nOBGbZ zRAlet%bT%D*n2}G?Yyp(n0}FncDHkdzEv#JJ$RmFOfFo5<5tFCyO*+<&>SG;YzNPB z7S*$yWA9$hp+L5fjaxa_%B766)1!*LBe;e4Q^G#Z_N)=kw%C5o5B`lvu}YZV8H!k2 z;3D5*uVgcsUICP^k#cP`mhis>EE@pI7lso4dcd;IP$K+HUo2RwFA=UWlv^t~$8o=R@3~&#I`VFVp^Ed03{00L`F9=!lRm)VMvWalDb$S zo#(`U<-=Ux#158EXg%FKw2tl>VuFLz!9f5=a4o|n7!DF@VmP4=F#;9??(2h1Ol@E- zOA}PXRtMIwRRL8TMPM~Y?qAK8MYV7x1xG~UmdgrJ&ozax^`eYlFpO9IwD7o|6%4os ziv=iDq@i!n?TLF@tuH~E^uI1eAuI23QJ|^zAP=fnI!hZJF zr2Xvg&;i@xQN!8nRLnsQf@8KMAVutr`Xbhs#vHN(H9Fp zfj%~r3RWA-1*<$8xF7np@K(Cl@mA=HMepN{C-12Xgv(V0I7L{9ckvd9m#Rv{OEl%u zx1cvQWwOPZGWjA+nc{WCh3Ycp0!^v>Rb7p0zDvFA6`yMHynrI^OTh)~{|q2~mpDZ4 zB{tD_nTvXZk7Au?Q8z?F({+h&QTJukC@(-k>>wc_fgwTpe?$Nrf^-|CWTexO(DdAr z6aBZP#Ne2W*f*vk2JUEy{#$y;1)z8mgSY$;eQ@nN2hI(z_KqvY*2W8}mg-+bO=ZK} z#-ja9b8bJiA#Z?IkD}g`+s~-Y8)Vev4lt^6`dO7(JUzMY;B z-_D3nXlKSHwzFar+E_6O?d)A~t;}dB3X0s*!U&IRWrfAIGD84PaC8$r2r)3Nj~&o( zlIJ&cN$h*zs?@vhg2=0SnCFSV%Ol*(au05xyM{I}T_C5B2Bsrq46SDx!s=Q2Fq}gV zuV-sQ>Y1vLI+iln#83blc~Biw7KmfE0Vb9>xRx#2)y@-?9~be7D^gzf6&bhgtcaa~ zJrHanGJPu846h0n&9j2-;8DqFUSayPkGvcGmJ;cmpf#+Sxo?gl`z-dN1} z+z}4qTq^v`xm3K?sYJ8}>Cq=nCBoIl63It~645GSspLb)Qt?WcD$xpWGyi@6R*bk; z@ZU8Q372ULgzspJL`zjg!X>I=(OYnm#oBV&8`^RO08zfKsZcD`m8%x0%N4JxD^P!w zD__x;V@R=9{gO-Le_+gnOtS_7$PgT35PMHOMDO%@k z$M){qF6}+H-CFzZc(?4m9oV%0R!HOEtpIcTEtmSHYnu9+U!{fv^VK1Ok7FTF6cmr;<>L(fm|rsd%*c24CXYIf^s`>f8h4jJYX z^z@?rjI`7qdTLT9Jvp(Ho|H&15)(U^@d*TD4?u~FBj~YM$0QJ}T?qsy8Zk1yof(M-WiQ;Rn|9cnRGCZq;cqo471v5m#i)s?!pBTrZF2UBz+0rXkg< zl1=fhU33zV19;%~;lbaFRBH$j3_^R! zc$J5?FAp6mfP*y&4!Q2ThV?Z*)^HVz$nKXA;LL$CClvN1C~y(7Zn41fLik?W6`@5I zc&-ZJ79wKr9Wk+QR6_LL#P@GX+uLtQ+uE)xTH9`^T3TaMtz>=5Q zN6Q5;Iq7}$Y{V?2aT)bT>FHf(>8V}6F;dJYnaRZm=t*h4w8WGyW_(g7YY%{ljqh}b zjqjqz#COtn#S_eEz!RC&!H!7mV26x*of&bs4xUb1FK>cic^IjNwfTeRv~77uv|wLYmM9mI}Zq z!_6E;L?c&*C=E4pBq3(D7!n0HumwT&Y<@^Rn~TVS*kNWaD}A4kS$SGaZ@Vm}HJy`E z3y+HIquaO?pIWY+PZh@&vH;>)$=%^u#r+AOZ1=9={peN0+Xij*su6teQN`Or%Dsxa z8O8fIu9cik_-tcS4&8_j7HSgIAo#h1a?xsl z@{vo$93apK&jpgEH&Xv-o-e&RJ{;i@VuC?N~3^+xoFOj@~Zr37B zv3#MXME;t#OtC;$p?noU%-2?FUe;A==IJZ{;X_jYKFvFT^lC2v*$)`@<6+;6hkh?o ztsy`$i1iRD070$?aBqN&xbD9$Ao^}V*8z(~faIFM0t(qC?jqy0IZ!OHJO{)A44Iyh zX&Amox=JgqTS;J0%kOYwI`#W z8JpD2+?~|Th)L{b?uzebMkjPJBNIEB0E8I^h|s~}gh0XZ1Scr5gBy_0!SRpp;QH+$ zxIVERZ0}ft?G;OKJOPXQu2zm)S})7B?q`wnf$IvVpGS3$Cq}i#-U~8)(ILJrrk$e= zZ(^&%n^-DH8DeHB0E#TEkt2<0;!46BxuUQpt|+vTBM50=^Fz&SZfGNy6JqAD0S%K> zU_FN((Z;1^>=#nuCiaczMU?6@V%yYxLffzwp0#fc&&s=+wFA!a6F}JxV15K7+k9&I z0EG8Fw8g82|E*^=Z?k8$;2Xe#6icwtt&;Z@Qn3x*wZbm~Te$0EdRd=G_n^hw$X)AF zA^6m}oWI5iZ&GwD<*hcB@;@?`3065(idH&Ti9T?wf`e3w-*c)IFE>^KkV@$?#|r6E zL%H~E0JFroM)syplX$UrllTp%8qz_e3w5RP*K}nv)F6uaDBS16IbH@N^K{k!fid?N zkes|^AWmG?62~toiKCa~#E~mf;_x*IaR_P9ehVNxVjto@5*`4s7lrr`;t+rs03`i@ zg#?CF-*vdo-{6SgG-5zAr*1e!C)|nzg{)aRNkE>jNhfK?8vp7Mtw_~cFALi{t_s?E zZU|ZjZt|P=-V!wR-sGDBkh$%usJ`i{sIK{%$kcpYQqz1xQr&W0R@r=0QQ34;QQmY* zQ`US(U)nb2QrtP_Rn$G^SI|A`Q_wx`lh--wmrLCC$!Wgfl2vy}n_2m*G^6OaFgHQpI+b%#cPlBgD+31)Djv;Cdbv;MhmD3n`fgg|?Na#5VP3Mb^c~ z1y-@Wf*pZo(m{BngKUF-fVM*4`_%Hb_|);g^{(Y_hBg6+uK~}s z_bTCfk80jJ-#Y$hA#J?1vAyh1BfB_jJZkwLJL7GNj%EB+PAJkHD+DW{4*LG}a}e2HSj!=j?+ulAJ3iTMUnpk z8WNZ`vR1hyY;V0JXluP9Xl=VHXl}bEYU;i&H1EC5Z#Zy=UEgzqTi1G(Z)&_Ks%g3; zs&2d@s%*R}t^hRU&DX?bP-*jZX>sEgM>RcH>PvJv{HkZoX$? zH_s!Xo9`aq#dF)!#dAe;-qXc(itFMUWAP@%xGtVPb5NigxFpw}p46*inkBD|wo)Ye8_>K2d?qT8fT^+n_0d@QzeBmH|HT>_q0SLhO z*0+wg*|%P}$)`^EwYN#Q5&F`*R$y@uj~d~6_Zs0k=rgR>0-jIty*1(OypI$2GFAsQ z@m9H43qN$O60UTvM2b}@T;WtHe9yU3vfQm&vdpzs_Ks_fbSXf28(QL2t$5R^TE5t& zO1=ns-LYD^(79Iinul4wAfQt@->pvh3Tl#h`U>?+i2pf24v>y&eOodAk4p+{hd?-A(tbn~@T14IQp6nsWOYGoVRBD4u^;#mbX z33lQE-VxU$*q(Dpw7upecU$Gp{2x;H@wY~{3BC(x5Nz?O6>f%$Yz7pYeCq{Y1C)(^ z4Z<&d>qHx%FMR4m>%D44>pV@O&pb>3q*k;B*PnQsL?8Q@gsc4;1goOExgW;#@>cpc z3Rbw+3g36C5xwVFg&L$%)aI96#cdk{x;?ts@=hLEk$))Z;RG^a%vhRwVAhjQW?8hwDeyk5(o6{jU#*u3( zNKPC@JaJ7!{Cr(QoVl(e&fjz-F5Pk`F5UEn0*Q+^BcLea!c9PQGXyc1`0bWI@#{?= z;`B`q;>0Z{V)&MhICN8u{Sf?jZp%??h|$(Xkq!syhWm7p1wWa7T@kiJt*BL6+OCM2 zka{(?UKX37hL(%M`libQQ_~fGZTmGrP0vk!_5M4&%Ds2E6@9n3GBs=q4FG+&jaH(ZmYnXf8S>#wPj8?S4U8g6J3 z&9`(3&Et;oZ4)kW?RPz6d+z$j^xO;F)pgG=x^2=ks$<+Ea_^)|__2GAVaM-kLXM8A zf(NcBf@+Qn1GD#X0+Rc=ekuKI-{gLdH{_Mv&+|;`<9Vd?@!XU9_^wI4d>6ptl+?#} zOzPnq6MOguK%(E%E6~RG@HBu$wWo)#jO!LC5_M037W?7GPmUwDB28sc2E{LI*@@M4Nzudv=Jn0Ldo26~6`2EZiB= z%-a#%EZ82@Ec`LFRk$s-NAyF^0m0Vt z{OU#Pee1=a`_@a=`P7R)^QsrG^{N-G@u?Smg6q{Db>fe_OoCP3Cdr3hb>fvlEut0C zJ;L`RI{C}}8pZFr)`*rN)q2Od20wRDBU<8ID|yS!q*&}~k#do%Nd-U@07SI_dKEy- zcQUD7aja3z11K-Kng4@;3}J_S?^PKJb5e42vH%Rg*oU3*eb-eM9RL&uuB$OZq9zXG znuKN;I)04Ujw>x^`+#Ma{NSwpo#)X@39l&$(7T~!R0+>RH%eTTU@gg<~ z&)tTwK6^WeICuu*9~Dy`xSl@Qn5yKz07cy2B^OE zlE?&SscpU@u4%j~s%p9{u57(3tU#SozJH8UdSHxGGH{z;jMS{K;gYbxbWxlS<<(sf z=a|k(vTM&vvT83#GionN(oL5nY4w-nsdbm+$@Q1zNp+VMiFKD0@%2{}dm65&f@5eZnryYBmj^-TGN3_tJ>KKnQ<==_tAfL|Z_1Po8Q z__bWp_~soEd8ZEYyx=09fCg}I+yRSg>HyCLa!MT#IHvXsjBo{ga=%cY&@a#?_KP$L z{d`qoFJGD1FI2?$@#SzD8GwX}T{LIo%{LGToh#&bhNLG2*OICWDErx5n;aaa;gmmh4_Xf>E*Lu|gw|dR1t__;`&JC)Uog38ioa;0%xzzs$ zi}XPh%Y*17%|$V~R8rIxa?}+Hz(Gn0I7m?NFF%0Tk2LClMSuo61V9eo)DXkaQRw7t zE%D2kj`(d%Py7mCez}Dj2RaS?3Kuzpag(#RJpc#*!p7h^Y!IHm?Mqy^69|P8m+r*0 zUmlHXyF41xdf`q)%b7cYO(#aZ8;_5=n-7i}>xXWu>UwX>OzqdiwQ!W0){Ek*=8LF7 zE{Vz;FNw>VkYWLrlAc?F;)CPd!Xp#Bf}v4C9&uBYYrZPVsk=Y|BFcg?;4UN}sW|Td zsX$i0ol+HL7H_&F+he*Yj|DKKV(KodcbP7$qU)}xBTZK|5vJ?< zu=-p2u!cK^kcJ88;KqAyLG9CC0mF}i{4f8$+wa;RiM}^}PxAil_ZY8%DG$%e>zH8w zRpFL>MC_U}#C1snASt~(0Kzw>4Dj`-{bF76fKUriGzo)3RpJ0&nba>*B=rkqiG2bo zq9mc0FNV8_;(Galggz0!?3jeR?}mnRY*fQOHmYU~URN=zf0of>dWE!IokD74r_esC zQ%H&E5ZFZ!BHO4Ap>%`M{wnhTZ$m_fa6>?|aJ`RN^tpe7c%7eFwAQ~-_Ni}^bWK2`FR(c z=|_NM6|@riz^6gB!pAIs-@8G++}kXF*UKzh=G!D$8q_X(d-tGZNoc3^Esr|+Vz+w5 z8_p)wAaD=&di84_4eAB%X7#J?X6<};v*u-Jo@@Pout2wL6k7H^$Zi!1ZD%N^gQv!g+czm0~P zFOEgmUmn|CcV%?9>C#wK&DpV#nvxg(RjoC9Nmtlpc#EYvj_=1Y?Fx{H!j(?v;2?L~1i93=^$B-We< zAQz+-Kunk9_>akAOc!LkOc!O*xQ;YkQbw3AE5iUxXx$}jcwf>4o33bsYOm=6OxJb( zwKt4@&0~%}hiARL&piwGy76a>=e0lgxL^4r!R^??U9O$8e$I_k?oKtgjE=?Ul*Zg+ z5`E@Du`YeTNSnS-q)rOBoPLQwGJ7qydpA8A==!3gY`k{5^d_ zZfw7hlYrkuuR0-T_Fqvmhi@zC2W~29T^AM9qN5V~_+Bw3s!M1W-3dTC#nw@s5-Vs2 z^b@o_vP1kMv<=z{V7?D;7j1#Q4Qm%|4s92H186pdwuv@IwoAU+)h*hPd654_@iE?d zoQMBByhF4uumuj%B>vQ=NdiEm9|tzeR{OU|KSEp;&?H+K&?NuBze&EruSx!%Uz1|F zPm}yzXqj)ba;Z;~;%)Cn)e_%k#hc+>(#0_Y$~XMm6pK6>6$_DWz2;Ji8ulZ6|LTTTk9LHlMs>Y&vnr(R^~$6>_VG>Q0Thn@)~-)SMpkuKr~#pz{1^XywJx zsPc96?AnMRZ8M4kIKR!wAt= zVePUFVeQf{BHAVEclV0dWgif%%RaZ-=G^|6k#=lMSF@OOefCCC@QLGGVReS(g zRs^-k-wSA#FZXX&EW_u^5SK!4`!=hV__e6t^l4Tv_G!_ey{lRj(WP1#*{ggluwA*p zt5G%Iqe1fuG|#h9GtaB}KQzVrVjraE5(@{WNMR=HG6%3gu>b=|=0t)6ke)+y@HX~aM%Bd0aW(PlT@CT; zq?$N2rXfyYpb;=Yj_p6+c5Fjz1sKgx)A8F*<`Z|E8cvKl*Pj@3t~);FXhN(xI_6jn zRUR92t~fg8RE}77Y}~o@#JF4W&*NT2r^kH@ejN+SKQ|tp_uE87?k^MJIcFv!vVNI} z$UHk4m410TI_=iOsMKqZf>O>s^hy4C#xrsMUFU?(F@1dV9d(@fnk=^Vf@F8ic}Yz5 zIdOE&IZ0IAd3j{*1$j6W28RiSLTWF{gK94*0&6cS0ucRcFUkE(mlZyU-Zht%o`A=r z`m)-+=8DFx^@hRq&^} zw9fj<+hzh~jraVebrYVF%G=JOqVrl|&d+Lo=0Q0xWv>K)hyjR*oj53BCJ%}kiGyNV z;-JIZFHAxb9A?KQ&gAq>*!9&#>g(oR}r1k4bT^19kTV|glt`Shy1h1 zPTAVHe#xil2ZU?#jtD+Z91^b%?U1etY?FQ%)GA*Y*ed@ZuuZWds7?J|aJzDOP`h#& zuHOl4Q!Nc>QNA763P9S_Zvu?P{;eb+y4QVMwF`aQbgu;xngwBfn)wlZ+E)TPbR--v zdH$yX=>r_S7C_hlWX?_cNH@7g>NzAgun`DQ$o-5#Xzxup%S|{7v=41vQu}YAGX)*6 z2%rFjgMfnsf>Y1m5>FHqoXdRBV*2`!{biH!(&cG z!{d$x!{f&M;W0zr(Fw<#V-qfrTh{Rj&&(5dz0-f5@J%~;H!$_gy};y4)1k??A4VmP zKaNS5c$^%6=V5x>rRl`jV|Qa>M(%~h?7!eEoorKdsagHyh$n%mBb>QNVY?R|Gy-L#LyJnJWEdKfHf zc@QEb9!B!pAB6MFGXdP{2@iJJHAi;-867kIh?Iepj0RZ%Nf;DU5(XudJwsyKq#?0Q z;W4>Y<8O+c{nzC?2ChiASDlh=&pa&Ow!2UELrjl+>#knOce{E3NG|~Ck!}Vso1m|; z-Wb&@`!cczfb__|i0G27ht`F6%07$ilC6#Cmad8Dlz$T0E&F(PzjSrZVd<*k3uh0^c_Me4jSMEB@`ec~Skkm!kUq;kUW}`AKQ3kNtN5V3Q_Us@z7D5gkS|kN9a1>1Kk~)Ak?g6xONyj*F z8?Hh^f%U#SXeW=N=!c8!8`WS23v0_~sB6ZR#IXrQ`>*$ut-sz=w49kxHT^uMY{V#r z`S=}8!|_pV{qZ|mxQ79N7;2#E6Jy3osN%%9WBIXhr_!V2P9-A%1S&c_=2CEY+$I0e zgk#>JaYN3b38(Bs6UHnk^YC5A^uu?Z(hlBrNcdWdiFjies z8Y(WR^$k}w+C!5rnhOtoRo9<}s;)f=Qk;A2D<7Klkk#C9mQ-9bh%0V7i>hxq39BdE z_%)NBy!shmZvDd`cFUs(R@=`6i|h zfb`10hBn6ZDZY&ElW&Obm9LNPk$oQ3BVPw-K0{m^*)3la*{%E}s#~@ikbH#eRgqot z4`chKEAxgWE3yxZ-rv zY_xe<#K09gCVQbvj5%;fXdp|pxD23y(^#OfxXavb`QR;V4q|U(KgQZg?Yj+NEFxh6 z7$h7oA^@2KWe$+NBrId%r3v_ z%BmQ3XI9ECCi>2NR=fpi+2)k}l5gS$pioy~@>5J<5-wdK9Z7d*mx4dlW0NUV-?2+>mT} z#zD!uX$NJ?Vh82#gmtTyhIFZxKyL+iY8D4~Y2OIy1|Xf<*8v9r(Jct<)V&JL59~C& z9N1-?2fY-~{T~LT^_UIOcG89*&e##%=V`>iB|7GlHz3-uFzUQi}2OzcAHM084Drw(sz2wxCoA~l$ zFVW@4o`N$o9{hb1PTYp;dQRzOJ-g(Ro>hEB&n&v)NH4kSL@T}KOf9|cN-ewTMya^t zX;*pA$F^$P*V^vs(*KaUwyu7lR@9#nq1dr-9|W=Q!7 zu2;wO1CV~@DuA>yx=;B5v;xq)AJMB?9@VFQcUQk^S^SW4Y5F1M+Zjg`OLp&7z7^UF zK)N+=gaVMzZr#G*Uc+n9f}n2wt3f@6`2gePpl;(l=s(-RA|0gVhz-#UH65`cnntXN z)?>Cr3)FnnmLN{r5q;+!uz|>gyKqpHbLVsmFx(`eA%OuPe+$r9+=T;oK}YNcM(9ak zpuLvbWe%L7+vIpV(y~#ExZ?oT-ch*C81`IHe*l=ay`v-`s%8j)Xc`B{)aHRPb^YMD zx^C~d#&l>>UUU4OwC1-NQPqVRQRS(7vhw2-(z4-ECF&0);7}G1kE;rYC$s=Wmv?kr z3qZ6vfF%3aq#^6rT|>t3gdu(S9ss%Lm~sRTa^$Wt>ByuZ@$g-J{NZ~B0Ac_fj=K-t zcZ@lB&v6%G^uha1kx<0pdoE!=&$@+PeBvE)>v#X)JAVWP-TWgk;I}8f{zqn9{RZzl z`wZN7_3oc?^Xi{+@f@6Sb03)TbQ_xXblp4ar-Rlx}!7 zN_%W3R()bNQT6kKbmf@`If~P>IkMvqQl$qT#z_VrM2NZ{28a$k2@w4HG>Cucu{ZbP zV^7X6({Ajc2?MM4vYJ_RK|?RRprsXF)KiPE80?EKJ5q|SIN23lcD60P>TF$f)!C}# zn#+#Tn;t)vjeBpeyzBF0^_1VX>IeQ?Yaa!FU;j9GOUt9kZ`&V6ZZ^+`d{aN`yQzNM zWn;%}^;a!dBpY%@Bwxhulda!9Ap1OeK)DWZtc@K~eHuHYUITp`JE&g0dr3l7BKMYzpn2KG!yXfPsw3+>^XaFA;pi~6rZNZTweWD**3RQ~zY@81KB z7MB4qcTn^LmZ4Ee`_LUR0Fkr;n&zQVSrbkmng>S}W;jXx(5SL*a7<|eC^ZA)>gvI9 zW#yp>dFAo@vhuStqO!9Ogr&bsNs5n6%2A*z3Wvv(1;b;Syb%(RaZS$1geL3Qgf{c& zU0ufUyZZFwle*Mn_jD;oC-uot;?YTC!tkU%et6QjXP5-!z5#$3V-DOm0uE!;!Fxsk zVvNAOFswrlOgV-?L8l(L2VH*Z8vscB$NmiW8~rQH=hE*1-Xjk@Jcp)TJ$t8J-Fv58 z-1?^7T>EESoqJ|oo%&|ojs3G8#(`Nc{lJX3ZeZ3&JBSX}(5$ZtQtW#Wpcr}(DBCw1 zB0cmVS~BurkLcusG~sU#vIW0BEaIPeSin8^B$spb&ph_6ztWj^{z_z=|7#Z=-7s3i z9an1kb%Q-pFaTn(1t>Pf7agsOFBq)~E*N*@pEv%5xV_+#^S1m;Za)-WaoJjY-SzvD zo8DVW?|6S(Htw^ze9CWA)uX_#>mG-0M1AvB*OTZC-A{wR82a6FeeVOebyYW9)@7g8 zuZ=&V{&deF?V9*~nvdi5YF6(aQm+Cmt6~61%%J9jm?6!Im?7 z=mGWHQG@CwQ3IMcqXyKANjUJ`MQKMg3sa70UfVUKT@W^)pC8_5cqP2w_%bvvyx-}+ z2T05C94IYENJwlfptKx?NLb)3EpU{Uqa-Z0me1PpS=R|WqUSVR=2v^7@0r@20MTXv5&)u2KRTgLLw%BZbkdM=41mB{0Ej-}*gb7L zV%+dO9RSe-5JLiEMR;8QJ;eRz$3AX*AGo>pO}jXE&$v4EOuHC+X50< z?Vj~e_sn{#dS*QoJ+toeo(CSX-Upu2-UnWi-iO|z-UmLy-iN;Yfroy)p+|w-y^n%9 z2OmbV4?o(?{N+go!8ueyDmf6Z%S z!A^u6V3U z|Hb*k)RT@Y6OI}_h~2LRAnNyG2Gq-U4{Da}9@4(Ed#`?J%s%bgyN1+D0Lz=vgWAQ> zfFpWH`+D?V&BExt+Shg;&@M&Sf{`g{{^?n1-uZ`;oO6#PIj3i2 zS;z0mGe_tc?dY?A+UR}sfs5z)C!QW-e+IhW z{a1wRLd>i3hRY zHBLuwskSlaDA)fesJn%>0>h5PDs~Vq%f7tvqYGvc&m=(2C;qRAD1iY7X-Di2m zS+`|LN1fk^+pk}`dr-F|WEWP%wEG{K(J`nKI7{#`wRQqN&& z11ue6?edEaF?8OJ7&u2Ex=vAuHn>gO2@28jGnHsL32@HP&=ep$WB<1Qa*fyCdyUr$ zwLnccsn~=uc{4`j8~Sev>H&;t;Et#kpwvLs00n?Z0EnaYtDm^xl={ z_uf_J^-n5t4o=ClPtD4+etRU&y!cp}e)gdv?c}s7b@;w2`OsY@3Un0!Q6-Gr)x;l} zRL?ocJzdPmef=)fBhg2uj8RY|AORpqv8D`UdKFBjSo^0O1NTik20(s800hw+@`60~ z%@{oP&FI_@K5%qB`^3X#?9ULV`~QlBqKuRO3O8K+!(TuA*jd{%YtZ!07*)Nq&Z_Qd zH%0dYH+km+H(BQccfjEx1}q{#0zkY0h&KT7=5{{xWOqLDVs$SpY5S1K{ls;53>60&w!oh{tVi2?Dz2Pd!I!7*!wtQTi@f|KMX$J zvvu#2nk3GeqJ;g zurBYq`)An~UDsw^a9xvq!S$1zOCGE9u6lk{cFSXx`L5@OT@PJWHa_xQVR{_&e(lrn z<#o@ZmN)+%zpVX9;yW!*l9tvyie6H5FZivji{6V9kGU+~wcof1pu7$(+_m3nLCgWe zt11MG#Q?F#rOQz_gJC{PP;c0?Bh( zpm`2T8`dw1{FY+?;y4QZpXbuBp>sCG;5pJ^Y%Bn^9HS78_)gYY?%9Gp_7|NKCicJ7fX_3~p` z^7%*Vq+cGY6OZ0k#2=be#vi<^i~}&ShwrIlj@(lN5OwtMls0nszAkcjN*8|kzBcU8 zls@Fplpz?f1i?iD;1~eJXmOBzGfv)nXPmtD%{Y4^dJN7uy6>HKavhv?bQzj;blN*> zbUgLg-FWA(V8gwCMeFbV-$?D`|1Vr~>(4;d@u#lJy$^9vYSt+4e&8tUdgv(WdEhMW znso&r?gEJ42?v3=5WDN42dm?eJCk_mK_?!0(Ex@6M8%pyJoK?69(vhA*2F_^E5NmL z=!xHs;ok$cpZUY{$J2j$ZySCVu(j{0|JKe&{@=Af4%k9G3EABFIOLm-$6=c~pF{$V z-5dKJCw@8bBz?pFC;96~o>YB){7L<~qfe{X?t5Cgw)aW?nwFgKbs`yJ!G<(iH*2Vrjt3eH-Mh8o| z3(!O#x~Gmjd|wkm!f|*?Ln`FZeO>Uu`?{cm_w@k>ru6=(LHrI(>wWjn7`^w+IC|}! zHh2OU_q{WYZUDt~aK;IMI5`c?Iy+)*9GG#^<63w8k%#uu?}3`}e?_Y9{@+ODHbHqlCD`J9K=!7HR~einsw%P&bo0s9=LHjXI()o!R;>@ccOdR)d+fcPc#$Zu22lfaG5PXfMbeGKVZ+#lEuI)+m z+K#7jpLRV>S~Ku8Z#x*`t4?|DBo=ph-ZmzkrOlFxAvJp*J5jUrpS2;F6GVH*8b?CwS>X0M%HNnHv z`k+J8`hbH|I)BIy@;Nx8_lCR<%;=F~>D`fLxk0V~#d&DP=maNm9Go>82Ok*G!E)3M z&NyoaW}Vc7vo5MbkKB}Jp7|Ay3&amR~j+xN^PHUwZ}E3ZPwMUb=K9k^`VP(+d~(t_J{5} zS{}In)bhY%d&@(wA6p)JZfkwywYBx3*Y_Pyytni|_4)R|AD)|s|8V=};2$2FdY<}h zY<=SQRnwEe4NXr2zA!%xTn~K?t!sP|xEA+6ZF&;4ruk{`$Bj=zRyREf`>6S8^s1&O zyH>V5iT$AcS>lSWry1|{J7cTC3 zmhnc*laxixk5d-bKZ<{?_HoRDs>ji zz}OR=C+yn0&)Bsg4QoAk*}8e(1?#4sGdAY-lN2*RsRtx=kg0xzQd2i#UtM>UQUz!# z0ZTcYrVQ|uHXNrGn@>0t0i42?Uzi2$7ub27m$|v!H-$O9qv9;MN+y&6S4r=`D@_F` zDZLZYt@|H z<7U-5eWe-CYGp7r>)<$>4c=Eq)}I-YoK>VN9K z@$m1CUmg6zbwlS9zb~4f_^mfT@n1&*((p8JZ36%?p@U_98t}3CN#N>+r~a!C(!}@?JQ*K^#Ty=gS>#_??}4Jb0;C|6pNGmo1<7jd69luBDuE$Ff98kBq)fe zL0XPd+MAEswKa`UT3e6VH+P<*G!2}!F(1BS({SLDRek?i>$=X<6jRf2+nNRvkP&Jn zAgKT><#k8x%K%Pk{Rp+V;iyAV{ZWSkD8KF)HLu|qE!TXUp3``WmDTbKC$sI6Aie9R zD6RL7IJI|7oPu;Lxo<+6*fSwXK#cDl$KkyRIgZ&Xb|Vdo>A0(i?z$_F8oIBJ{Q03V z;__3Muv>q6gx>t!E#$`UZb833aSS{%qd^Bt?GIo8h}!4iwAT9&;5ay=^MH%E@1NBI z5FH%EfK5WZ)4o{?AcnyQdi~(6PB-+xpamrAfd_ik0N?;1^8Q()tZ&93?R#L9;9Au8 z&?r3k*oA-gcW>VHzXG^-{^iHH`Ij&I(jR`zqfb2ruBg<(kr)}ZI9p}4?TWre&D{n`GMOufbs*N*a}#_Z=7}8(m3PxZR51Z=B63< zO^vheUpGGR+SvTS^Q-1r_YEBn-M`rP#Bn{e4mHnbO%Hw6njiRnTK~j<4M6$0?rGra zy2k;l>YoIDSobt|W&P7&01~{S_G!?2rl-NnYaa(Kt9=~&PR--crL|9k-!?soSYmn> z@n-GQ$i;O}BNx>_i+a8O_qc`TXR)t!{=R2H=O6L&+kQ`erS11@z>)J(&mRTH}~BKlA6Bzmy!I`)$Vk`7D34p^SoAsxp700|4?-+*BKcUlIAnJf6o*6_dA zEl90iw1-J3pe9mBNRfcp`LnZNZqh~as9A;5uhokAFv59Ke%R zH$uy-AEBk!AE&38f2OB4pJAo6p5r9rg%OF}w?qluqvH7PaY-D~uh^am#qOSQSqv22 zJ*J528ka|Qj?2S4C*)!MNU=s{4I$^Bx&+<&!!z*CpWXqt{&4rZ^3=`ucC9eU)%KK|5=ec=yp=FNZkFs}XSNjvwar^E4QuGGQD zPL!@kPAJkHQJ_1*L5x;yGtN6(AG+>nn|1jKY1j6aS(iCL9=LC9df@S0<3sl?W;jU0 ztlMVu1NTi04?MqyHr7Az`m*7n*M^2!&o3Hgyw*3)c&=-mb^omYq2t=YM=onRAGm(f zH0|}VdD?rmdB$&5!;IgDb<+VW>t+L1)IAJXVR{t!p6OB0a?`_*Wi^jO-l={Zvb5?+ z@RF)0VN0r?guMwZu6`W4sQOXp>ot$VQG`~GC#{GcsO#q)L@%!UPFWEHr=e5U00!=I+zJju%Gx3l6bmE}nR5M)$P{c2 zk{79$C0h1Y<~ASa^zUn=S{7)m+na}NTAPm8v@{*IX#zX|gkm-i+ciM-jYr@f!*;dk znALQiw5=XIXI%+cDh^)RQNH)W&QcWnCC$feis2+hwZoJG(=a8!ZkUn>SO5qmyZ$IG ztNti8v+js}di^jht!|i>T6ct&TzAAFsqQE(vHoX9g82+9zWF>SuKlVYw(GVyrh8Pf z3+Wfe+!ayXW3tGuQCWEBs64E5Oddi^$b&m3 z(8&>HkOZ)Z`)2hbz#{CKG4Ok40LYAi+cj-qcg+}B5VLpIk#PX&)#+y*4wwG$pkDdQ zjdJb}H#-1iyYG>+P0u4oD`M8T6WT${IBjp8b^Nh)%5hukw9^kQ)6QF4X57AOnsV9F zH08Rvamw`@^Nh!)h8d5qp^bp#OK3yG1Ml?>vp%0UJn&kF^=A#UUTf=Tyw@~7@cyLZ zk;m%3N3N^8AG)tQiCPf1BIP`UBVfEwi1yzs2UWMjYJqmxN`eEd}>W5J;RX>dW?*P(E!T~6H zP6CGKuym2}gf&5a)(ck|`sF8L?=Nr|bfCIV;4`>RCke+3P{;z_vYrEkl%<$|QP7in zDV81jInAYA;beXO4};aQXU;qKJ#yU9^T26)#{=V!?X!;CpslUbq@2D3C|jDQT{fGiT)r{i zciGf%A8_1r-&lXo{mc6Mo*U|?+}4|>-9N9J_E=XpSbsnrFS=ub&BAUOyf9ZrxPSGSgJxJGJ)%msU>&E`i>v zx*xE(dMfCRs;QtwRntMQ*USbltey#3P(2&+YW2gA`EZq&p?TGhB44U_^j`vmeDDY1 z7Ja9768!*!1fmD)ZW0_gNcYbW*4;lN6$3;A*vHuSE4oe)`Dc1D2~0Z7zr!-u5`NJZ zMtlJVAb9}_`T2{saPzQLJLbUJnue`fn~zwvVB7@`V$*0oVr>Ql^-vvPF_{nB)?!^_ zK5SP7RYK*Y8V=i*HXMS33{#4`PTCX>p0_SIe#1KNTF1I*$JpV7&0mO@DA&uj`-EY6qt^nt>Uu3NR@5&gd|MrIign&`O6M z=_G(eJOBql$|ZpKeSo8HM#t@+(X;!e^{n1$J+pgCNAH}`p@XHPw%^xMiThd#F{QI3 zruDWRQ+n&chmKYwkDYe>^3<^7-0%ABN1qyh-1o?78&b8c#H`cz?Xxah+Gd=#w9Ghe z1}xt+-FMp5c;98C`M&E{^^>k&)=#=@sGoFO4}D&D*L9uguIt*`d+wjs-t$;vy665$ z?LD{EwNvgN0hU$J%G&#$AJpFWT2Vjc^?v89`|_Syw|85neU>#$1uivB1-)H89lQiE zyjA@mWO2<**c;U|!HcS=gBDiZho*uSRNfDMweo(*{HpuGFIV0RnO8Lx@_#C)L;pJt zGIH6LICR05IEanBy}w!$gTGi?oT3kK^qqoZkZ=GDGIsrJgLI4(#!5(7@V&ift%?1= z?L^!Oc;G^~|H577_D`Pg)RWFZ?w>q&lK(ZrLb}JWl?4#EM>7T|Er1}+`Wq0qh6!m_ zE#m(J2&D{g01!$EVsYIe+rqlTb_MueUdsu)+`hB6IY+M8WdD5IHtYCJyNrWZDCs?C zsj1B;>{IH8smZ1z_DQH+66=N?0EhzsafmgI(02or7(lZNiiRQ~0744`ETN_&j1bc> zJ=k=V5ma}Q8PIr^>)(7);78n&_;lS>dUs7Kyx=CDU6X3}&bw+iz~Txy4^AkZPCsyT zy#Cb7IQdtw{{CM3E5GkSU#0D-7j+jrd8QHXm0+vVL@Ao}4Zs~sD{B6gK^XB#`r*B%PoHjL0J8wkV z^_6+bd4u`B^B3kx=k@gy&Y#y!IIpX}>$27~;r40Ggxi{$yY3%Dt7|9SKdPN{U1ged zUs*Hh@j>;Z=Zfk{ulH*1dM?NHyLFSE%bM?dE+wWs-fo`qS<-Od_pRD{{)+*{8`V=G zaFCFN)zhJ`Rlz|3!>g53A@eJyLtd_!37uDQ|G%*R@#65*WegQwyh+8&-R$scQEOu4 ziZy_-CJvmpCHCRrA0mN)YxJE)%7xm5bQMx0DBS>t1f>VDANK}--D!d4zNy9ot;D*#?uboU!(kiJL5iWGIY4X+5cBE}+U1%K+2qt6vCBd+pNY;`#(@izbbyk2 z>W*E?iJSJx`!CricAudoVkbWyue}>~}{*C9^a#if!F)DZKoK(7Y-`6`j=gl?o=VbxUnlCH(h2*g zwSvKE05YTD0uD~^l%Cy#^a^5h--m-t>1kwo)j6xT2PBk^X`OAywBCkvkhUp<72w#> zde87v%RS@v)_cZnEq9S(-FMvDJ?;2C>Y^i>+0HZw^cRc0OYRgN&xdg^@RJ1 zs&V)CswX^`<5=*!HRJBfaG+}`pn1FcuGf(G`7WxS^jlap;s09Y zUH=7DcLV2FOa{FIy6N7h0W5R-Ay(}G$N~r^iklnfigYsoLH%Kk6w9U#YZK~_8l+g&0E2|1f&>Jh z{4YQNNkQE~+x+^20OXKOZrwqfoccqyS%4-JN(WG=LF`hSk5f_xexoFhTz5!3bBC62 zcAOD^;udYsflKt*&eOErfF-8-2-2%zhbRCLX&MF~BXfWthCo61>4ZQ)5`cUDwId8a zz~WPLl;K@H!t|^jW_nZ~Ww_TKXS$hAuv}|?W;r*W6F9ZrmKnS5YYpAgdOd0hUFSWm zmKam2yGB*2V^ey?wWsd#i9ft#lYeC{0zHhl}+|qj2_-*T?ZdPTa(z{#KR(C>tE*y44f3;-e|uHa1hWt{%IavMKjbejoqXn2>EJzhI% zON?B#Ar4)##Y1mP>_3ZIyAPLM7$*97Q0y%Uh^0Bj^Q zJBR_KWZkG?+K*uef5f`IjdTxmu~3UNx57bM0SFFrH9+-{spYUOx>z|*2zf6 z65&V*-KQPm4_~Ioow~z}{p~Je_iq!dn3K2J(fcmZqnb}LBI`%!;ih3~7(lTAQZqsg zsy*ru2zUZepZL`tW%$+|W%vLTZ#ao(^$5cQu((%`&|OVOnXb6+Tr;iXlN(RnL}R~u2*>{L2@CbW#6NiD5=QtNIC^f7g0fzoliu@NM(BaWk~3W!&-Wrn`CJT#FW!#&G%i_Hr;bw(|FH?)W?mJ&Z_~+D)YGWhjn+ISJq9q ztf(1tgWTUkTwXoqx~zKC^&P~em1Ay8sz%+HRNZlZvtrD1F~;r}RgQYSUNz>kuzb{O zLFFCq1=V9d^P4AqUul}~n^z4$D#v~Qdw}$e{6zF(-=pt1^z%>H3)w*&Ks|E$I+Zwo z3+{4DKwP^e127`u+HD?j`3{%3belo^dfS0Gaf3=6ze*v7FH?|K*%1d&xDTR^>4VGk zk-(77VoAkN!=S^}Np`p}7T<$ZjqHpa1Sm%?BVPQeedxEJTDwl}Y{8yO6JTkAvzXET zZ9u98K&(wIM{H|Rp8yc+YSb!~jYq8DAlBso1%OzWm=9YQn-5tP0h9tLA0izD?qQt` zSh5-p+GN6A(vf4%^4oAGVKeJwc5bJWtzo{01}n z>;xz3!Xzj1+ypQD#4S$Pz&Tb(>(BIH)F?rKB@jh?0M>91nlFlY@7iH#gy9K!)C|+z z5lKK?5S?m9n52v~M_GoN<7|EPQI@u1n5n54VXCT*u~Yy?QFl%tZ@em#wU4PK9rv|j z03+(ZuNNMB$bN}=zfH@K|i#P>$kQ}0FX%?0MTu3nJ|9SJZ9X~ zG-mv|Y1Ft8uUh@mJnp!mVccm$K z^#|gIjT5db&Esw>0LlBNap&cA0HnqOh|4=j!InZxsz=@4s=V#Cxay9_;;P#oi>mK< zyk2$3dm#x&`E9RPt8RPGuejs=3N){3)aRx8F|Yp~AjIJxiLS%jiSFU;L=Se-Ex-Vl z-V*@k)DAqzI|#CnKXnbj+~E+{?g)tMIA4ApXUnhS6yWtyHeMM@Cw{r(K>SSBF#zW9 zB>-~{6TEPkK|n)xzWT{}1&%@%@SS8k*wPXvU512dNBiEhJ6aE4{HbN+^7f{~7q>T} zo-xCH8jz070fG(|U?Bmi`WukL0OYWBX%hfJEQSgJ&EJ3kk{rM>2go7Y4Adm)NV(Dg zNh+?Bah+6mn34z=iLX0^8sw0Doarz%7BR+jh_cIch#GA^VjoGsK@MGJhyOCp3%fWe z2)S}!7<_3`6m;SiFR>q_S8tf`NT-O_(<VYZkM?LrSt6J_leb{u@Wu8z6D4Ch}#?0cib1jO4usqEH&5s;1pKM)-Uw?f;9jzimtjw3%3oly5MU;!}w7(?khzJut; zhT*_zxXW+WNRzBlpEwX#;U+f$$_>1L;Ras7aB~!HGsYm!kJ0evLT<;W_TSbdV z)6wr?{1P6cVcvlxVIVYG;|v(q1bGBO9;;lgK7=4BwJt%FOApi#M1=%V5rVLOBN7Cu za*hz>em)E36%&Fm&qU_4AqeY7v;dkwWxuCpIC(FR13@?^Ak1-y@(tRr!LbJ#?$HDt z|I5;5*^$~Fx5M?lo`)LxJrCCOdK@TecHNh#7eNqV2nO}RnCaS$@+%1P>_V~x-qrA} zg4|W}{V_(_hJn2w+N}`97i>o9<%1;gMxuD%DG+;x6^K2;v?6yryWS~~DDD(VWp|3? zxU5jlr48;7s7H45byz{SjP2l7k8NXDk8EL;4{m2_di)vboqqJhj%_q$ z>o!_E1c`6k>IiWt@vU1(2`yV4Vq3P_$F%y{J!;u%^QdXt#)r+@Hbk{-TOZZz|JlP< z|4*Y^wy%58>bEw!b^FKB&D+;RH3zJI(7gS_$fg~uA{qlexZe`6GO}&^dkpMu7WwD)sZ%4KTL6BWh^^}w=ps#Al}+ss1~(-(wRtHU+we`vc9GKD zF2Ie6(*u50CCfUkoI}izVbG6qEDkI8u^6|+B$Y59BUPdy%R?+YMqv+FWMYZaeT-Kk zR8>y*iWS}5j-i0bl=(kXc-Nc0xH;^vZAJwNZsJ3U~QdZ z_v2DgP(&erCy^kKW(US3ND!VsO0sR}``yv-x85lb_(Fuuz~?RmL8^FJ1<{JEf*@5~ z!?a?>?E=95L$N+_X6CX`^4 zVj&|Uwtx{HSID@VSVq5-X{Lo~YpJ27jgGg9>S;ICHMHvx<{E^#`nbUP3dSc8g#IUh zAdCwSRrKEso&5eq{#QUOHa-_lCB_@*K!RI6Y|=-ru7)t=1Qmd%W`zU_4N$SzvhSfG;y zi-eXje@fYqKPA6^8!4@8n?rKPHoJt5t+om6el~HfejAi++cuzGAKS9+v&YR_*F`t` zeG=X1xAtL!-A^|RZ-2`-bd1`1n=S9iu;Y*mqV0yz_NRd0dGY# z?pS)SX$KNy$CAgb0gDsb{a=sk2w3!}ZP%+vl7$iN5TtGQ0*EsIe#h>Y?zINb3vbyo z7h{qa?l$jv9-_N>79mQimWqXZ+QQT>wy2o1v`QXVUn?@i`e`~tea$EO{KJ+hff|LP1+QY#8cVWfpls2019Por!cO(l@nXs z$c}+nk2KY+=o||xD%-?-fRZdSt(wennXeRHrJiaLz@CS#(V?XM>lV89`^A!cX({et&;gYDiJ{t zp)VxyLAwbhmo-5kiRYaeLC`87iX16|1QAIg$Fv|?k?@ulau9+PKoE_Db4x8{1LjSY z#N~!sN)IiR((mZpX!tIQ)1&&$)a0&h6xHw!a@oWVl4&x)!7$-xSA;c?%-(G_$({Zi z5<2`pSGI3o4^ci-c5GW0*XH+0Z0okQk6X5_K?(LzG$BZ%--lpTWW%=i?>B5)`2gt= z*|_apyjvdG?Eg+=)AnV!6z{EwhV2k!`;zd6fH%S$b}YWzwBvQK2nq8lZogj`+p%*& zO#9B4quO@Ozu&s+sUY`SLSDGnvS&_sbMSL_ns+|~f@G1Du{jiFOg0%U(jyzPFvlWQtgj%`QIuszAPxj!AI1#WK@8{*LXK%c@;D)oWY1jOp>2zuYQ*2Re0-;kWh!8UZruO#{E_YJQ+xd}#T&3r z*%k0fe24#9{4f8SxQ=Zf#kKmcM!Kwe+~mJ18YLFwSP4;(9{%q_mgQg>zMHZPW!GCs zm8Fr5{!8xH2fT3)f`r!xEP^bH?$mF8^=|!+g<%al7u;>w`SShdo%0{H2hGD5z2-%? z?w%Xb984t0obZ<5=a4A>SwUhlNXnQDj6u*^(*$zFW;;L@2c?pb1;k>El0c*jWJxKo zS7wzuD6`A#mFdM02+xU-Mu|awY##m%(k5Po?edrzBT{BMY0wr>Aq&<-il{T`fN_Nln>#$Cn>u}?TRJyIHFvr`sO=I(nmdINR))5HqR(6eqryc;OTu4DXi4Tr9-K$6Rl<`VAkx~MF1`6I)`yii!n_+8(^Ja24g z{Ay@*Iaktv6?6;h=eS~*GdSM+6F40OL88>`Q;_B)2KV1ZY8WRX)y!`J5`^_Ngg}YK zJW2?Hm3bt{-vm*y51{ngH$wL?pw2 zT@t1diSKAcB1{nr0Uyc2!+S1dVBgkASfOe$1d+G^I!Z6+TUx6iRP-J3j)LDKhZaal zNF4j?8kyZSwbTaU*xa{xqr}?sdG<)adhFZ!)H3P6u6SbS+T7t?Ycq#-tx4(&{3x+2 zV0A)Qz$%P)K2Wv=tc=AVJ+@{0ipMSf?_!Ly{C-owGL%+tM>Yl!a)9kiFqnS>EC!42 zHEe$kEW|fd7T&81Sa7F4;N`Hofcbaocg(xpxZ}mJ#-O>8t-&umZreTQaa-_n5&wBX zAOi$>j1+lFCZx!8cnTp-Y!;q#>>Rey^uWS&ndWBi(BVV*0h=bSaRaeg*+u+Ny<*r$sdd8czKxj*3c zl~a$4*e4^k%Q3>mU){x-8>rxy*(NS zJ>6^iJY4nd?uy)MnLM^!BD-HGl0XhIBoP4t-~--mwU7%Sh=>)c5i)OU#0-p4=tvi5 z4D6=`(MTbPlmbb}fCOReZ)#XOy4a@8 zYq9hA3#$)!@pj#gxncEz z&xh6r&IxS@dhTx1f4Ibo&9GC(q~nhtl2|1mPX?p1Zl!kat2?zDFJgdt%#&1>pEmN_3eTi zC2joch0UC+5avpL4d+sJ75h?_g>^B*#Qq~q&$^I;Jy^K2>wJ6(>l{+%9L6zcu@3Wd zvW|5o*TOzs+Q|K}qLcSSb+_mWOy3b8k+vhH`bSfmp%?fe4MJ|di zl?X7H=R+7SL6};^2CO@35d;x2ZfQmITN<(REscnV)PNvjYl7TTTjg-LSwILPwY#a6 zKoHqRq{)WsTG{$*TIpxkHHuHKt7Pl0spM;KXcQmcE_PjW&*Z%tU+wxZwQb8P&Cs?F zN+)-%ES%W;o@RXCitMqy%TtDSy_3`%xGbS3@a_1H9ZTcecfJ|h8n`67C2%pOg%{t) z_~U-_j@RxrBR#Bw1T26k^U;F9c__nPyjQ8zRWR^^# zPl#eaogRcR=*JPFKn^Q21A3waBZQfLPmE!R@e9T=kR_H_TY(TM802S`I4JWC4oa=r z7SfPVmO-QfVw_@?B@U9rV*Mos?c+GLQ*@k~_7Ji}#TU^q#p`?@`?n%e${6?33=Etk zWZlu!bHd761)&X{@>{K)UN>7iHr;6J^t#^CrMPP87G2SG@-CIO3;rx>;a$`=@cziJ zvass7e%)Pz82lOYvKLYov%c+>{x)Q;rW>9dg&e#1d_Z6N#;VD z=kGNI&O!e_D+e*nO9=9mOq5WBBs0XKwF-du@z%7M6@o~T*|7>C$MjfbRv==qAD8R+ z&w)Ss2}qa}tvyl&vRE9H#ntvowb?E%tBe$zT118*)JG`8qGR$MAI7R^QA#x}60+RK z+4u;h);SzEtK3a0cD@5)!cxlVp*W*{E5k&;nODoaUfC(R*4E{IwY788l{Q=y*Vg6r zXH&QQVpW&;f}vY@p|qXHzU=y-=7 z7jO?oY1#WB%swQ_UL4X2fiS^Hk=>9Z2r04?1cDtny%>NNQ@jvFZ53n-A;>*7Z!^Xx zJ`lwlcwu1gi89O`;}o|$DuL@=l~93J7N!Xiy7f4vG9Ae+bW?GWT9fV3+W-IgsLQ@P_@+ImP%rWfxIoSxuKS9 zz?ftM1X>SaJ_GA+LXaCO*;+`kh7bgzKoG@;*R=9gc=!G_jbbG}8U5aMt?P;_8u{|8 z1@7hW^~)q;)w%q7EK&kQZVtw;;iw#ucwafU4(myUsd+*To~8A>lNIW zwcug$>Lc-j{cKhqe<@9T* z2A3<@mFz1et-MRMUGhI0y4^3fb#J=Rj;lu7yFJf0^|+p|>y@1|c8h)~ZWEj>XcnB& zH1d8@)nNQl!TmAI!aJ2=;(VWK;GIm?aZV)Z*xx3UA>~Pz#+o9GG_k(qPZu?7{#QQQ#{E*mE&K_J@6da}H?2giKgK#!}=K~EV z5ClM)?U2MDY>U7c1ZlDbEd=5E+*9*60dMrZ@ZR%Y9^W0ZxIq-i!Brq(WY}FSMJXl; zQ}IM$D!vfq7$51vhdA6jS^?)_sgRvu5HWLVL@q^5e0pJ%fSy||pd}fFPEjRdD)xa< zP=1jyh$n^SiyhF~-BL+yG0SBGVK$)j`WynSN78%-VUQq_PrzCT1UY0MAzfBOln+sI zK@i3JkYpv&X2taa#k<$FZp*J}UEjH?c3pNgU-8y8m160Q0@o!G#!YV|HE&*=-5>C} zW@O(Y?f4h3s>Z)qm_2cLLDu+zm(xZ<<|p*;ekrDB*F1b;d+x)woi9L^Igu^9=0KGH ze1gPf*ec`F2_OT}hX}EN_~W;hS44ld)S3}vHZ5jnxt`8;&4^(wzpQ=8@o&r~i?tlf zp~Qh0jA3H1w(AFOxOWFiK6gCS^Az{8()$&f}RB=yaRq(#eF!PS588}}j z>)FSWblk5J%dyR*jC%yKe34MfJ)C9c9V~4W9jxh6>~9@%+t)Sb71BMvX;0IDYp}je z9+X!l3W_V`?R=lU%pf{ade();)}WIWBXr-AKWu1raS1l zM;-s+0Xk7)O(zE=c-l_)tqDP-27YEu4m{672xINfmR2+AVHIbF*%FL+o=up)OEbOZ z0ztAVF=!t@&LKy~tNlS^y)=}utldRSvgv^_0-G zQpcO|TI!8hHT615v1_p!+LbsB{c?OE{SwZ@U&Nx~A1KEzV9n(BG$ZqTb`|H>f=2GS z(l+7Qs$Rv<9X(!WI(mG6>ge5ky1mEqhx#7bDRYnHq`q5nvb0rnqM%9et-4-tJinIz zb#@K!SY{>fXu5@WG}Xj8l5F67k*MPwhA;<}<(vb`V&1-l67Ie<13#p=QL?A8-z~U% z%qys8a`Ud9iOqrS!=8Z^ovs1-)uQdO#a#brE!Ph>NN&YFUt4g6k?;Kit`BwwZ;F5* z0CMm=Ad5TXunGb>tb!m#2sy;Ff}q^u-%&vj6$DWU*nov(VL}#{Ftw0=TP1KtpBAR( zQ*Ud8juC|-N_3fkoM04^GOIZD`E_i&R14Q8s#Iiyt@s--jr=*JSdSF>6lK^tur^dB zT^kBPZmDG-AxTz4mQ~;blwK>ZspTuLK@dptE?7>;0p3P`DI{46NtRsED&7E#FKb*E zUDmk2c3JKI>J_cWLVTEK!Sy1qm&3|D=Rd6UotM<+|6P>AKoNy_#O;bR}L(yNran6sK{%h)eMPz;WLT*wghJZk|7nY2ROy z%bDj=bj-6EX4cPH)vPmF_3WQ?-Qv?Ny>35r^lm-X+3R<*tIy}Vjy}&5HNA>&jlI(2 z<=v963)_XqG%bRo`3<5kRdu2x*)@VMGAaaz(~ux32Ht^WJp|G7_TonSkc2Yc9%U&v zIIe^flw8i+rE3-kwhnvl=p1to=$+WKy?1i6f9IIDUv-b`*4#>=Z%h$yGw$y4c~HpR z6j{je#=TyiNEr`YEa8p`09TY_3dkb|G9UqB?BxYmykZ!9)_SoiP7g;2-i7n@E%&6pU$g5#}o@f%R4=>_> z3R%`+0FU&Le0(!sw&tb^f*?U|sip-1D=}z)@46a-sAmO{6X^j#6oepeUR5iWpyYZ3 zDYE#A)(wJqzJ?ZZxV>^&>%QQ!*6n4q^Dk-L=3UWxzIe63bMB1-x91<|H_b_C@qZ4V ze)!J|lCH5=rsmr#lXC5q2|18qMw02&m>!o{Qv`$gc+70Y6JpGQsa|V;R+1S}h}8J^ zvTHU;teYY+RSe=V^Mw+N9D|v!$1%AiB0V0)W|5;XbsPzKtb#nwc7!05@JHE{JCCx- zVUKdip-7m}*gVIZDFu!&DO4QZ{MzoO`F?By?u-w za_`&_$gUPFpN5RX@`6uK|CQs6!xlFY~RylYzb7a`7E z^q;?`^_X*6uLE^J)l!@845X4TIsN*5TK$;N!ctRE{Gl@bZ4Us08{+&$~LXO!PFT8^wq*#CiAw7=GMR}D= zdI(Trkt2~N_klG*P=19!h9F3pFf3Gt;`tVyZ$h9OG1-pS@o%px^Ql)73mh+H>8O7e zRykhOH8}oZYN1{*wmAJ(-atFAsi2?3ap7N*i|J>v`SE9nawehJRK_y<3Ofz1m0IJ(~vIJ&bK~_nc~xYrIaNz@9GIgF>D( zvXCdi{a#`qf-C}v!-p_joNDAi7B*yI0VeuL5Iz!wkc01p>0&B&4m;k_5D6k6VM8P# zh#gv6U=s#GAjt--ovgpD7JY`Ft%ES1V0C`&y#n#aQDwq4aeDshL?i#hSiN9XWQpX1 z+gka`TN?R$*uJtNRHImqWO?TXA&7QX5XGA}kRV8t#o+bpYQ>`K5agQ1ZQ)go`zu#9 zZVMm`eM3N*u zrgw|DBHT$VfGGUPLN51y0gr?2^K2aXWn#UA08_jII?kh51;I8I2!iy`@+go6g76(6 zi&YTFK_tiqv=BtN9+G?pN!B4*K0$virh-4dsghz0B3X@{!yn$!NLS&E{rit~;+63x z;d^m<(Ta#-$@0(w**gG&$loHyAmB}ifdr8+zOHtC9ql5d%B$DZZVMsFE7#R-3(%jB z{!3R;VquDSE&)V&9y~jOBw`FgNI@h?d^Qq;_`}b^Gw}`(KO;)7lzdxdh8nVz*eg{A zwB>f#z-XsTQ=>e~oBns!M41sLk=VcWf60Rd!l$x0#G&kZDhOnWM#4nl-2;e%1R)_o zND)}M4}YBFaQATzDGVhUKzTJINNhIwI=BW=u0W(KkOqQ~|HSy^BDjEL`5o=~N4ZYt zALmie#i^*jWa(&Ui>v8pOfAfxsyi8{Yr0*2tm)#Nvb3|mFREdk#Fa-U5{j7L;?(1D zTyOMEf{t-4QP2J=&B#6qS&n2?aK6Z{;U3Ow;2tXK79VUHaNplG;JdGHFd(FN&~H!g zz~mjvcw5pc1->a}o==jQ zw<*cU_D|dpCgHL;gZQm`#ge7icE1GUls7OwS&US99pWsyrBS?kP35`}EFc5{^RKDgUxFm_ zFini{hsO($gpgy-HI!KY+h@!FKYwQx;BO>C1_DBgS!P9<{TWe?rKpfF1w^{oC^ZH< zrCM(TX>65QMJUyfG)dSAoR|k;W<+^ff?3BbgeXXmY%CCB3<4=0K@O`R5amI9jzc8c z89_+l5aljJfgGgU0D_QjVSm`oxGc(bj9DNEnGobMm=+|La`AC4gDhS$NV<1Ru zF7+31Ha3rXCMK8q6V_NxXO=quP*~-1%GApKzP6itvZ0TAqP~~^ZA~}-xUPx&HLgE8 zhV3d}C6+NU#mhR9sAqkVY+xNuF|iJ&Tet@^D!BVIYqmM& zL{>o{%6bgWtpjvOVoi`)L9iOX8XF;3VLBK{A&7J()=O4k;QlUVxR&F2S*S*~?6yY! zR(PR&>4Q?qlE-?<8xPB+i^EG~uiq*}f~e)MV!W~t$pSePFIy8t<@OSUnTNsrTqMa0 zSGDeQu4~<&du9YlL|XilX*r1Jq#03Wr6AhbfqWtau_ngf(jrA=j}pvInOjQ8Vyi4L z*(kL}TV;N^jWubWN<)-ikcJQh#3ba9A7j?*5hQ^i4pDKrqz4$l6M{sb47&$r1R)Y+ zRuIxnB*zUUN-T&nEl3vWGLawv=|TAeqCgNb1fiUVB)>wMb7;>Jf*?)KJcb}>PlF%8 zDR5G$b~>3>LOY?hFuyf6bB@>b^1p5#5FTq95FTwB5FM@R6doyU;C_)~;T%rZu@5Hd zSO<~~?0u;Q*1l9TJ0z`wvnQj97o6L`4Jzys?W*Wg1lA9E1$GZ^4d@y2+ul30)xUFS zvmbWuZZ!U4roffkovGh zNQEpEh(d-iBqWPHb_v@>Xhb&m2p|YV`5eNmhb*6hbvT2v7NP+08jM9g!uI;rU=_Bk ze1P?mm6-k|SOGcSg(ScEQKsfLN)R?uuFJx803g3k-qkzO!jJ2xpZMf ziEP2`0>#T1%+JR-WgY~1@v6pkE|TO0Fz2eq1A@3e8wrw2vLaE%HNabX;}rCu=SmgBC7<#7;Tir6*kI}s*TD*h?9?`$t<*wOHtd$;6LLr zQYIQagg8;kTn7kZPn1|FuSoYmxH8A#PF%Kq7^JxkLLt*lq|XgZ09;3V6(tu@UOg2A z&wqdmU|Nt|%HIX~8HoZx93hA!1aX8Qj;CVsolZiM?;htnop_w*^ey_w<5aY-6ANj_ zvJH%*`X=s|jlIGn?ZeV9I)`P4+lM6woBO2)s=CGdw6(mwSWpZ}(zEtJm|(1x1f^Lx zyE3Y{fmwC@9ojZwKxvnFyJ^79ziDWb-@wqet-V9re8J|nAs?UWA@@y&L09k6ewk-M zx5Pu;E^*Im5xHhJiWFJ(B6)hPNS0P5kRV;eNfv=9(IOPYn*@Bw!HY$S6{{1lV|6?h z`pm~Vp-Y@zNKdnfobzi1w8BOKwWNjPsBYj=(kg`H7@dFwVeCwjQEU8P`CPkHBiM3W@Rol4K=#@3va90&6AjLX_p9>S;l+ zU1ceF6AO$>z#G`(wK!BOTXa*acnvdM3va0vub})|5LV>+azu$@{=;&`yogfQ7efo( z=3dvhK95ps4i+6Di0iWP*M?s zV1REOm=h^O%zzOsQECzANsux`38vO5K~tD`D3loE;_Hw{$YBdT~tDz zLnIDs5kx?kdmtR#QRY|$303BT89}iAavlAvSWCGA87^aL_!7#mix`vqfff4;kmfhM zM}m-lg(xVo9M3|Qp8-lN%4tj$|A<6+njlD(?;ysB$NALbv3XA4p#SxweCn|nmD5r1 zWsI73Bv$Qw7ze)&8Jf5Un+L=Pdd5BW^^SY&?VfN8>7DQlZX0$D*0l(O(oD=xm$&9&xRmr`Gg=FpGrcAl8Qn1G}Gdw;txFqf8;5UgOKDYct0)8 zKgD^PEW}LLELK6Le}|ai!tca^*kmL~y4LP-Zkc^_k;Ueru5Lq=u69EtlIFhFY!i`P zZg&p{w8E2A_IGejJ`CqjLgVr%w=h<@8J9z`mRR5_$}9*%Cgk`NLR_3q5HgVT&Q*3?WCp(^udq_!1n!M#{snYT6-u zHv3?VhIRle`1^4G*WThN46^PPF6SK zB{dGZNs4-8Vs)oXq-vK5@>-?*tOf};vtG(U!mv|OVx?4ynUIB%U=q<2Ok$eSC~|@@ z)W-&~V~kEjc~mYUJt`MEJT4d6#pr~#7_Zo5RPr`r!{>(VTF&~E3f^b22Hv_yCBk+0 zi}`CKii95{S=QVukgSF*AEI3aVIYWjCFFSTj#jz?EQc`fAW@bob6Ay$%H_&?Y|{W;>`1mKvqEjN-WYNB#*Vk z!oWTXM|>l*O6>2ejkXb`H5x zYl#IeVPoW<*bsRUT!_OU9Y2R4P7q)K zZxsX_17Croz$yqhjIAw)Aj(0AvLEb2s_ez;eMp>!7L4zq?8bhuAXO!Mr>RvK*fb#D z(KqfMFgWGq-#h8Ctz*>9udZLdrMy+_n_nl`jD1o*=~aAh2;-Ge$M?)`5V{xi%H1o5 zJX{+`HY>V@x62@lbZ{h4(mk?W)Hb|DR59!+C>eC+7xpN)noc<&NUvj5Vwm7Uv`Z`#2yHN5f#94^LTdzQp1xT3rNRyYab^<{Zb8le`0-i^r zJZpk%R1%U9WT-JSHPa_rt00)#eF{pX)PI2xgAnLnMfvwgsH6nVaoz8XN7dmsXRm zsg0B?S*7GFiE7FvoR9w#33D+nj|w>)e^=%?o+rS$lXG!-;xT3OT4>K$OEMwGN@=IvA^RvI-KTat?`A(f2@_ z;8-<%H|`k@!Y3bg;v=Vl_##&TPBm^%*RlNzYWdr$yQF>{BW_zzmihKfc=|vXpZWoX zx2a3&RnR2z%&6hHr`7P>GHQj2oJO%Cze6fRa!Ad?o|3we&7z@^9m2tpUHrk(UHsm$ z?cDm&%^c&fC%bgeomtrH>Z0yY&~w{l^z3FSEvr%LgoL3YVJIopB64E2gp_EJI3!p^ zc5x=5ZH!55^VlHTfZ3+cqji$?(K_*GQDu^K(dFV#9+pYgMwdy~;LE}vA(2+6SMom0 ztmdprGV`$pB3XIAM6%*uq4eE*g_7kE1%gN*h!lcI2tgnRA&7i2cpWSXE0n#8cHx~u z*9ExSYe86{Vm=ldUkWWy%nQ{*4z2tJOa)^GO94Tik@AX2kPNjA#K24wW}q@P7(Am* z#}sY`0fd?UIkDa`4IxdMRUXKKH4vgrQzKc>rr@Zp6{8NojoIOvu8wr2 zveo`_Rh#`KQxoOS;ws8Tt;z91da>j03HgK|)L(IJ(Yd&MN2?&<4EjGojMEV32MBcv ztMK3B-ARaX0up>1ON>GCsb4GeosQx6zlzJVmRLl3d_g1#e&^scPW!<=hyg)pdmv6Q z2qK8pIPV03AOLKKH2(Np_BPzc;)nC{TX5loZ>E{!gCyC6ZTQ|DhkRU*%+6UfqPdD5%~p(LkSEXwbY2~|B(zH!8p*EQzH9U9ri85|8^4~+yd zyGOUV;Jfd1u+Pm&-Q`NnZIMxOn&sr|Mj0uyQEH!7C$>wjlGr9xNNnOO zBpdKq?ayOPlJ&7B>8B{i)#|hTGtoAoZE%2&xIB}LnT%|R?2e=Y?L`#8)X*c$RcK*AW9Zw$h1o0 zFe45j4^jp{Psi^OQ@U30b1VN>y8Kg|+0?(snPM*(i+EeYLnC1v=Ya&xLWlLlIACfa~fj&fP-3uASaOq1SbFz#ED3dudz;Y z3><|lM{y}D}Hw_VIG9&}}+9D^VMF8!ms>E`zNng9Sy(Md!>RKuge&V6G6w3e}L z)P~WmRMV(8rDV{ZtnP6msXE>4bJ`Sk+06=@tR{s`MuTiaTAlRslp5Lkq$=sBiItLd z2^Ps(rAe|j)`$c#NI!aH5U+k@kgST^r>e=(5al7tvZ$1N(gTcR zB9rs&Bakrn07@)}I~bdUL89BqDiRWe5X1q3kgg}>lds0-ldj<2uFK#Oo-fAdQ~roo zQ7+(auitaZDCY~zj=z@IQO;GhQP0+O(0;D%bUstjO8=>>hIU$QcKRWs)aev%j68`8 zCcc9NC$QT7Eu=UeuclcAK}*Q-CHhCe7wG@HAbTN62*xFQP;Q~ba<&SBF-aiW9kYU< z^@kXKU@K(tjnz7D#$|XuF$IiGXuXjvo;dpJfpW|}u7u&LEM+MYbZmKsg(uV02_;Ax zv87um!fLv(en85v>=p5Jonmf5o0zR?6|r(!#LV0_iHoLJPB)BrIMsPFZTUnHC4{^0B5t{9aB0 zq#?waWu`QnmS;v79Is9PUw|}mX2jiqbP46xMO+^72V}Vbev8i|pGW&EIEVYZ z&f+q>pH+ItGi5bSrz=|MKh}4-{Lt9TJk`+4I$7J!{7%=vIH9u8k7txRe}ltWU*kmM zu>_6tQHWs`1hO0^z=5rU5aIyX2lfJ#SWdyyV-RbJMI?w-km(YO=1(LDAqZNlAn0#K zn)qN#zBeHVZeHvN|-XFizL2`Esoc*MM)-}0OwNp`E?>* zNsEw+Pc^VBd-$xXejXFYiy1|2BD%Uw;+)qiq2+ffsM$*CrR=z5+M*cy3m3(EKS^8eAS-#?t8Cy(D(&Z2Jl4VGgx1;pZr4RM8H=_*lB@Ya; z#Zh|s;z*rh(fxA8Yf(D+!f1oyl~|K(0c4vWV^YkAO!FYhix6fmQssFt2hutFLit-!U^WYo=`UUUL;v$Kk!5N%hJe{B-|CpHX zcq+Y!`h8&~?WDQY<-59W=85Kh&hd@`{x_`yykm_6++(Iz=25ko{$*kT?FddW5`r9p zI0uy)rvqSG5RFp^`oU;-<2eXtQFamK6-2Nm2q6d92A&FnJ_K?0iM0ws_rfjqo&bU{ z+<_~EQJ|H@6*8r`6i*Uc!W2UkQCt~Y5LeFO$LTm+rJl=)Hwf5?W6fp`~ zM08U(pH|t=bTapGs3n~eM+ievwJT6wDIC;&o_3|9UUv0k+iix%LpBbL9ojHFesKNJ z`0mf}Zk=Il%evCBEo%z~y*|$C^;nbJ>A5<)-Q&ZI7WY-DO|BmxVOFL#$lpt@m#;{u zmM>RU%HN5rkS&Wf%ifML%a%r)q;G;HQG_5y+3Qh8`Jx8~`D+ghiiP)euCGMsTo*)? zE9T=<4=+XN6!W4@vKN(R#oRcv9Opn}bMBNqL+L>b((_A*KXN;y1KJ|&r@|k5ezE;i za?#Hr#wkS(Xdw)-SrNZalwze88>OLoqtaBjL20Pjs4TBQnTAz!4K^|ozn5*54ga1H z25mO3GtDX>#evvNtwRjb=23>$AsR{ZFhfg4aU!sep{<0{M89AznoouK1l z4;C=+81Y6v)uq*5q*=o9EHu>GI8w-Zr zH&l%IuJ0V*^;ysO-gQG`2R|7e+q<@HY}dz)wTir_E6j~!@GJ`sQTR){_!0?0#u zR+v0u>pS*U5r6!DCm$)Ih7?6cJ7syLozhUdQE6y^I1M&R9Rw;t@@R;$O&NqKc8JR= zBE@DEl47z793EvBlA=KrrgDLOWO{+a-vzk~Ny4mXNul5tQspMrO0GkeYq(bE3f4rf zK#ohvD)OHgqg+Iv5af5X=g~qClvirNg20>M^um;X2i$870&s8jJH6=4STc#$NuR&Jpp!o-y(MzH#Zk-ce~tYrklZ zxtSBJtzhoXETab{6cB>Y13^H%7Sp^1bpLn=0{p-hJo^G4+|=TO)*EG(7Y=lJLLNd8 zH$cdtz%;Q{5R_aH#6=WW#1cXhzLjD&H@1Yu0qoc^Ha_6OaRCe*0j4W;JX*Y-=agXN zQxi-AN}^dv#`Y9aN|nSRvsP?}q_Hh*7ub|_^EQitRe zxZm2=@m*_rCPF?M9^b#Zf8xN0T@xXzn#Kd)FCX_^Svb6Dg?hl}-Q1o{%d_l1;MjZUJ(hR#UJ)G#MlF(pjG1!S&f?#30Y=aqLd;a zWFX|oC+@qNA&+QFNx%U=n}+yZ4K9!?HrqoIJEgIHgR-&-G;fSE)!W3DR@%mBjrNaJ z<)rBB5{IblBGQAbB8NzDKeNywB2#M@o>Ayr*A zmmtia;9?2{fdIc_%yAw!JpPLI9Nt+4L3;)w{X`@Po__$Rk~EIrLxPjw1o##M_Ty;3 z#!dFe&{_q-_fn4F`qVGLVQ?_1fO;^al(t`6;j*u$gB#L0BH7bFAqgIsknILRePfcH zt%H(4QwujhWoB;2?f3o=1%fz35QbF{oNn|%e-rS=&maih6SzYZH(buGz^5PN=s!&m zlv*OlB8)2}1aaY^<;E4VIgo`NSIlO{m9Sl6OWAbX@8yicShScjjuT2TDoQa*oSsKk z8U!Syi+#L_Z$yA+<*Gc}Bf-eO{aBQ*EbkU1^`-6J0-lZP~DRP06tP zN4l}itIZRBt6Ii)ts0p)^#0KJk(EOeM^7zoHB`Ew79&(InOAxI&{7DakHWueXivsv~SS4@jSw6lFpxdYxgSY??O zhG?gsRk%G-4LMY}QBn0&6hfA1VTg8Cpj+J7kl{kcF7TMi}FkwiX+nGhA(DXw4n;C`nHz0>q5Twl&h;teJ zOW-0wY60m2_#K=Fzor(D&!uW8XHzgp$BfyTR5it#AhUv?q&i8=VkJWmToM669FODq zYj6x4B}mj#kASCwK#~J^-k+$Y?Zfp%A!zsDqV8baY9CZs?Xs(>Pq4FlOdQxZDG%tI zkZ$iAm-u&&i~U-LBwG!QoGm$erf*__i%$X}NFl=;N#cpm(|Mrp4msSE1xy86xw6n% zhE_70AP_?sSL8A+ND-5ZmJLzZv4t!q62%43V~Zh335N!#5QU0#p~RN6$r!JYfIYB- zC^p#aXoJ=D4T%+!&#@-59(i&Mo_@-%5R+5p@Hn@W9IY-VJ=7W;qKYl{4-9oSk=1QB5!J0W_dvL%$?lH6);_G*f;$Fu z_Mtf?4mXiBHz3S)lx5d4iX5&WU9bj1x&$tQKQao)7t#yJzo$bGw7-IL=>-(bU{QVs zXVMBOKY`P!1(YAasZ=fHWUAKjJ8%O1Z<7ls$CC>jzXr#^(WC-L4A3b@aP80+NRGpa zTE~NsgAfGc59;280%}M?fzuv{6r5Dx6ofm6cO@2310l_h#6stQ^fLPP;#!t}O$Xnv zZ9urSdsO7xJu2MXIU@3D8x(EAxf5^fBoc(}j1++&Y$_yi1QguWMaCg4QhXW5 z9;sp%SI)J;ITP#_1ZMkV;^Rl*yU2hLe9$Gp$dGyVZ$sXdfA+gSL zPC~8wbIR&xOb}u!w+v-anb`r;y3-UB!WfBm8bTN=kcOau5XeBXN;91_L`$-wndxiF zA;`Y~S;|Op5Cu5IsLIHX(MIF>VO|+2DzDTbGPlG&5^V(j-94?*A-uHG{*JNEHms_} z_I6FHT`0I&*=%>iRBwO1tjgi4#^`V*Pv>wMCE6u?p5bC5q&(D4*F3BF4!a6EzbxD^P33n8q6fG?A#1vxy! zK?raFa##gPDx`)$qF}Vac#rW1br%NifjA$(17nc@%zmM~a`wmN5q>z@yEUnZ?wh4^ z*<4u7@-en>H`Vp^L0A-Ad`H4y-T|^;W(9(jacm&TMzA5a zoVy;PtdG<2KgD^IbxNaPEsoNDth9*M#8-${Csav*cvW(Z^n;W-*~-*<`Fm-Nt}8Oz zT$g8ex-HM`bzfF6&7RNJ7^EE6fKFpS zgTqr<%FOuxtBHhh#B^H%SqNr@DKe7K|0jP>8LK?Fi+5TYK=kzvap=c_81NV%LC6mw zM3lPRAyQTDa6hk{6p;@>(1z!ik?ugGFh~@dU+!=VNprKLf^@^wNV;C#YJat^!{JJO zr^BV%4$_|$&6JD!I?5j<7Rm*+p7dLG3Hf|xG2|$w{DSr@+MhE^C}+@~20vyLQBI*f zm09F?G6RBS6j4urG1C`*`*NE8av#3~3byt9idW!uGR_pJ(j44JQo*?dAx3%+PnzDyw)+5p6Nj zhUgRG6cYl0B8Wo>Gu=WWBvB#W7vP;WZGhH5j??PNu^2cxL_b|D}78g!&9gCe;$zkH!Rc3q{lK~;<5Qj()s~|`c zM_ips!F&7{%Eo_bEC|A~B?JLa1;I4&tRSB#4ZO9OF8&xN7}r3Q)flgQ2v#Xg{P&e+ z5f%wW@5NV$R>W6|mLpl-fh^0C>*Q}GH!3iL<@#n?tLu`C4#nck9=F%C2R#?%4|%<+ z8uebNp74A{JGFU1)ztR+olk;a8hdhN-q@3G=8jE%JGX!8@blG^yXKTnJ_C30{`;Z# zih6scrQShVQBP8u>mW)LY6QBLXdnN`4+gDUrxTB zS5CPGSx{b)ujH1KFF~3=AcJc?? z(Dwsdl8R}*zz0J3q!c-O0|-L*Od{kcbasOzifQOFT%{_-{lk*PV!9}ym?6YB8~OM` zFh9${B*_}3p7)W`z+VkMgfOch&ihIuA2*rsS72~Y zupFYigEDMcLZuXIAd;ntHPR)Cb&4g4_436K=JnKOw?*mgZm(u^xh>4^eWmPjt zS=B^RRy2|z4gp1Jw#q|Rnrf#p)=;o8NP#djRH2119rPlOI5qNN~TvOo}KpLJ%YQE>b28vfNf1a2dIQd<)!E87S9P zdh#{=VP654!6k_EC&amk{sqYMJ2($Y zhqiu~Q=Nm%?>h(CCtLfOCmOn$-&VHLkC)Xre_ddv9m_3u{3^Q)f|OE^WR*I70S;r| z)*-Z*;&s}eS>m)Wql6X$_CT0musgk&7KC;u&b0@oLJr7+DPEdC*oGM{Kd=QK3-U$l zlU(Ao33%h1j$X+{G*8@I?~ZSySOrNcX2|g@gGf?*D_(-W2tN}7KH%ZvJ1)Mc#Yrl0 zVFPAL8OtSI&!%UZSh^dkr{8N{?x5G)oMG=5Aj}-d@?7~;z_TYvT?zY8 zP#&XHdjz6E6eM~8c_JZB1h|KiExgD?xm#o+he4X#S~EFRW5O51OyrvyBd!`X66Zk3 zS2RY-WpGJtpj=ex0R&O$9DhguJoa4usxmm9%hOZN=IN}QLH{R+a~cBu0GUo{&D4{n zRkV|p&5RR`U94|A26@MOMg?E@jPQ}DUSYH|6Zw3>DpE9?g$$bpPf z>i*0!>b{IJT1aM@)1J&yS}^u+1wou$c;1PAV0x)@Kw2qnJMd2{b@l^W!4}Bkn_5cq z0h>}wAxNo{XG*EF2c&@@G&i)0lw!IZ;}RK=5P~2@L_nBS;*9YJ1Sw`f5UU)3$xJF? zx!^7@IzAHQjH`-hNo8zmayg5Dl4f9&@#SGsZl#O8rjBk`Qctrfs&}@@t#RIvZeo6( zXn-K)>`xPrAPMEuf*?)SAYDF!B!nQVP=bAc#mD#2Ux|VI3Z%-rD7%)&8->`#D|kD> zBz!BuELe*5l_dazh!=xJ@s;A&kS?z#R?8PA)W{Yj*DGE|vdm9ua+{ah>OL>M!+kDf zc_F9Ib58D%*K>Kpo1Q&EnmVY;rVa{lR5o>zmG$kQjf_6YN^=((*el!m9IP~VL!2%W zevbrkkT%T}h~ucl7(i)mbc8sLSV1SCU~v#_J=H3aep;S5lxZ>GF^ERuJcK||-~sxP zkSLxMs0BX3DTT~EI;JyDW_15okUW6m#=p`k!PTOo3D2| zuF_GzF0No4v$QaeHurJ9gfK@2$HiX^jEfJ0gZ-oY16{-Xef7PZy=C<-Au1z%PgWT< zIJ1lvlvVD$D+_XDm(g})mC*tq&i0HlXa9^cx*ufPnqKDYJA)6Ve>VYdNaG1SfO~4G zvm1m`pf86sRzZLmh>}a`!sJp0A1yDrgu%r-Hef**Cf>UwmeL^z!#N3pB$q*sGL|DD z2)?34PSUYRiRCQ&I3Fh& zSZm_-oR5@x4g}$@0w18vS_$4m`LzPPi&c6E!iOMy2m(1wqBj8q5x;>nS&XwLi@@OxYxXw*(a(^MY*?mq*o5yoVmuF9qb_mkm zNmX`qIiqz_wxQn&+PbL97SP;Dh~ubi#5v2$a_Sq}j`vKaPZX$gs_&tiU zrWI+^0$CuB1@aK$pv4Nhl^6)~7(^p^9)c)CE%|}ImJ+F}B}bIkQ0^gp!po~1??9F? zaJ$q(2?aO74Ty6cTm@GOD=3%2r2-52BKQMb!1ngvAkcZOner{7z-0o7pvGdLbaVtkpWqaJ}!hl?s`hb_&F zgDrjB1Kq>IeUN4E@RU4cWJ(b{{6rcIk%F3gxx38G%)r75#*SPAJs?|8+m4Is{DEI) zIc;l3In5Vr&M0^G0h@3Ys&_^?!!x6t?g3fcfh$mClriOKWocz}3BElq1|lFxEo1O; z{+)*pmvWQK7;M~J&q^T#DPu5_%3SElF}-$PlKWaO?*HL*X=t>&%K)G=0T>s(gn)UZ~io4FsP7`ZEP z9QQq>#|lCYTmk{61p!NuByS>7mOz#_aC`h>$g&9Il-D2(1QEXi79>_mUrwx&&QGe6 z&BM;%7qO*&Zep$cd91L{NvwB&F1hI$xh(GQ1NHU}XJtnxfFK=Rw3$9l+1X8>c{lyO zy~}9^XJsqIA!sHf>UL7L^f)S8dnpiwqU;#3S9T5BDZ2;ll^y*^on9mn5~rbq5?9ma z7+cxw7y}+dm}rRe5W+;6>nV{)ocpFaa)hytd{19P2?uvTn6B0_6w=%(tESwpi@RT&5cTDWxHo)Ij*~a!OuV-%6Rx*5Z_0F3ij8B%1?wzS~ z_JSOq5XB=yM|X!Tu0WAq&XA#%rkB$tY2^%YYB@uM8y^LL54iYtJSR=(!cNz@u<&yx z2JQ^Jqo~1ktfJCh6H55_RnLnC|_ID6jC9t#yey z?poaL_;G@Pw+8KMT#fo6F0fmL+aEv3sAR9qsb;;0kEX83t>!Gxtl+$pYUVCWH1VDa z0x=+naB;jz{5oz~Sp-R5Lw_L>UGb0s4GM!3CT&y$c(#&}ZU31ARK6rRkYYxCxR998+~n3R)7zArAQLgI$u2 zX$vu|f&i-^D7`*I3qjbQBpEnslZ+^_FpGu$YTQ!)VIpR*(7um$CB%6TtibbfTxR!9 zs)e@<7dyO_UCmpXTg!bjyNbIct&+bOcXz#xG=U((SCJ?Sv03t!1ha4f(qukPE53y7 zE%R`4aV}(;n^-M<9;oYL8Z#|eV|LoDvN#3ho1Jz-m_VdX zfZF6t;IA?{Zv%cfQ?jMB*2TA?o#oTqFYsv}6nJ-!^1OP-xt=|vJok=4fm>Y{M`38; zC<<$tvRpGmnqgo_AO_@M2s4cg0pO$0#XAmQ17^Cx#RV_`J>9^h0Ve=KAO{BMz$yr^ z1Gc~>73qN)tEdCOr#7Z&?7N=T-uV+^a7Uk6OUd^c$EKIK!F2HVL2qJ_aqL(1bJS588 zq)N#PnE84h1NmoHkX8)N+d7ySfAAmxMCnujIgsL6fM5L4{~q$3gg7U_x8OMV zrli{GSWy-AD~NLx9Dy`n6jV_UgF^+C)PrC@1lp&qpoM5GPJ7T|n>%ec1PanrP|@GXhFoOrLo6v)(k0bh9FeY>BZM@3RRxomZDMe3mu}?PrW@HdkYocc{ieHWi{SdR7`2(t{5yoK{87^DkOUh&^Ri}8ox zbwG?kUQINM782=^R3UmfqgpsWt5*0@MxAh8T8(gSN|pEpNHPZ{*K?TldNvb8Z^S_- zgN?ErSAv?WY?PJtw$^FiMhvo>Tb)rlaUg^kNCCv@R^X4{!%DZcFM=3Czy~~l-v`}< zEWLy*Y-LX`myji{rQ<-oRn4?tv4Vci(nLFJX>>YkZge_hZlwNXYM`AqHPU`CG&-HahjzZ#*HcgG>Zm7l zb&lVb*Et<8t8@Cgw8rUJX|2;&;AmN`(-8>s1vp$><#Z4nD5`SWUtCGsS6Jy3f)DlV zDXgLe7gRb2X)By}6;#r9q90gLMGMeY(zoNCKk!pmI&aOdfFKplzQ6};%CB(t2A)GfiV4epYF#tf;eBRy8;%t1*4s(1uyB9-^#5n)E=P z9#@Fs4IzBd_k=jENE8XA5aXQyK#*Q81mQps4g}#q4t8`;A1ey7Jm~3TMnay5-hSr2 z-d;v{PcP$cZyz(Pr{CpvcRwSvyWizzSD(v`u71Y#&VI(V&LQTN?qSB|-ciP-zH!FI zfpNwk;KINJz&(X{Rch zoljbtoW3(PJDo5#(Y`e_I~_MP(Y`h`Iv>;5J0I26JAYYTM>~R#?|cCcmo?B1me$h_ zl+@Aoq1{_r=NwX8OWOm2K~Qn6^RA*A$WiOO0|XS*K#&@`e?hggpSFs=75HkV@d2BF zH^lK&SJFKohr6nR?xwDwEAT7_GCWIE7KS*#!bOx@$q?pOy6`nsOrExy!7Zt0vh__& zmbs0=tmI;E%-Ri%v}RM!iRrWgH`y<+y`JK`tPNh`76M?sWXD4 zTKI2+rT7vR;G?|azmaU=FHW`y7Nt~(Uc=R>3vt~k!2<9y&Y;XstPsshsuaDLR3V<5 zSRsA^rPdq_*q_5Cch9CEMkI$3DWW&y*eo#N7_AWytqF3NaE#V~zTOJ@71QsGl{jt- zam;u&;JE_ZRWNoyDMgf1M4HHyJw0B^-rg-%ak~4w;<|ek5JV0^B+)&+qK7@b0tg~_ z(Az7B?CoPm00_c{Agnt*{e&Q_+r51*p%CR}Z@Rjm^U|#MTaJkem$h_Dw z!1$wc(B(qcu*+{fW32Q26Rcl{CRyi(r#NSaCOJP3O>)nG(|u#S)1AYdA6ojDr|LSL zPgb=$eOKA$bOO>GuWX?mw=_F_ZESTuW^AP&HMP;dG_*J$fi#CrP0ojn&Gdu%Cg%f& zCg**4w-@~oT_ZhshM@8W=Urv>^uV%u=N*tIptO#@y|j+uUs}uXE3Tz)Ev{wwLY&P7 zbqpVEEqxQ@@zz#5d*Tn?LtRaGS64AyRh1B=iXm53Im^^l5Twdkj8$-vs*)i9d{w0j z4{-A<8EjQ0i-kTDE9Z>-3ML)@&bgq@g;rG0q?R{1J6bxNC>0$PlBL6$RN6$h*VMA@ z@~T)ixs}|F*%s~w$g)1Gf=lozScmVPtj)A=KF%<6)_~PBV2YRb0a%HPBHn{2E6~21 zR>50N4A5r>5J|PVui^(bqAqkGxS_PSw zgg}R%l|ecJ1AboJL@YYe;xO2c?d;*jboNRgclUWfkWCM}d%dE1dtD)i>;2wdw}{?e z#l7Bsad=Ok=uU6HAgs5aAKKf;zlHW@Zy)zY?*R9DZy)b!UqAawUqACw?*RK!-vIL> z_@jT2b)kQd`5VMJ-#y4Y*EQ&J4$_G}Wp#)15pcMwoqnjYjefAQjd7r|#buwRjj`9< zN)G|SrWVF-$P)x{cIlhwf%<0p4qcOTfWC?0uWMv%!(J)BvIhEA;0rdF)-!xc>ge7@ z^$f3~I)-OaJ>8?Qmf;RuwY4q^O|^?mQ^Sy=m1wJ7#Q4J(VSkkX@Bw!QHr}%UGryX_ zzycpVAA7L!u+1dDibc(!}sf2|@@0UP;9iZ*rxGkmDt*AXVZQA;#R4YRU6p zPD=GNI)g>bViAH&^SPDjQVY_|2%@)aKyu*cU|JX=VWuS_#2|j3kY-kpe`z7ebn@VQ zjtL)AHQL7LEOw79wf51qEu@D{9Zpfr9rVby9?t#leo;hEpFF&~-!;6q&;3qs-=?tM zKJU=p0qKfs3|TnNJZt#5#H95o28e*R68fJapJ;FZOH^%=C)2}Cnro_j`{#*9V_$7ib=hCnjbpZ5jJ?%e^pNTfdT><-V>dqS76f*p zyvfBI;&=g1;0}@8%jy}fr40;4 zQ3FF()Zij5tY=6H>s`c}Iu{WZ>;#%xlvuS8q=vy!*SfIPH7+c5Et9FLbz!J#T=gLwtH}RdzN1{j4g%%B(8>dte2=f3h5(#C`|uvdn7!TbWh-r5Tm{ zH}QG7CAgk+G1}MhE%rsJRs2^|D}@Wwst7@Z3&8x;Dj@_BLJ;ALxC(V{N{#6G)EY4a zc}B+{RzZw^7laUl7>E2bL1xp$D$R@()-r1*U1o(aRoJ22Lb{+epq)+_{AZyIGgR8d zfmjfuudsQ9WQo>S*hT3rc2VVKyGWhc?!KYQA;MDU5RQ$KcWW9Q@6@$Ag|+pvP+swF zL5!Py1Mb%c1~y;oAMizj_+1(3_qo(R;QnX-fZ}4`pyERBp!E0tLGf?>17ZjwIM+WU z_yz4*$a4nb{4_AcJv}hQ{&8T4b*g`e{eAxs=Vady`$X>$>)W1T*74q9_BY^I?)^yc-1m?F!*$=-U#=m8Q__&0aREMez}?;0 z&kU;Vb=g_n?GgwA2&%f6{*|3B+kjtX7juiHo#|_7bMb*hKIV28Z&Ry_m$B8w6Y{w0 zTA6O;ElgLSC~J0+l{GV^rOix9NfT34+{hFbH82H$54iZ_RJ{FIB09wb`ZrDLfC)}`L(PK`8DkI;In+BM}9TuliX_VS|rIDECjAm z)pA#B>e(L_HnCQfwy@qWZDp;5I4cSoIV)6k{N?xz_B+`%{AKu1>04Pf{H0(CWLc6` zBUlV^tb*VJK(D4%O$!1RfcfC1^lI_ERHR2*jpPLk&Ywq%LHe_tAjawBFrdV;LJZ7_ zvWrNNS!NRBpHfVx$8s!jLS%m zOMU(FKl=tYK@h(SeSUN1aUjtKd3mw(F zz@YGZaB^T!aAI(X_wB$C@A%*__nX0C&auG}&Q}A&oTCH7>?3_6oG&2F;hqupp}sNh zL6m6wN1sUdP5i?xRF$w>p1JdXDXCfs(Q{RNQ|`*27>TD0;|D?`L*0t`8B-v!OHwv-irJ>&bz8Q z-tvMb&O5~|>}92G?6*o<*h@8y+$Fj7yf+}t;;dT!>kwrTzV!PlK3uvmqgK2iqek>H zF3_HzQ7d{WqeeV0qgFB(vsN#p*NW$WXLkmRNDyNDVKA}1LIy{!Tn>rAe3plAkNN- zf4Bxt{EtTf(q{W#|Hs3B@_*d?CjLj^H~J6xmVqZy-|h*VLm%aBY8>Qx*9~wy>-yQA zHT@iS$m3Sk%~n))vE&t9Oqr#VDY102B<2p5$k@penmSl~z%zER@I6AD0cm9sFw0xn zE~PDOdPxh*xwwT%15QQFENWpRn*zuMjck&(fo-pCWZMB-U;{R2n>e3q8#(JW4eU>~ z_3U-%f1+vNti@NT)@bUvAA!}Xdfux1dhQ2#^$?_%KO+eD-TXT4^87mfGJ?E%{#&^X z?4{^0QPm6H&^GfHmo)Phm9%jd6*O~S)iekf=G6-qWY-H`&a4&8$EW4y%`g`q0eS(< z0ncUDiJr{?`gDo)PdW7H6BrBxGlO^Q03K;FJD7he3L(e;Ee~2^EsdBgmNv@zAyR5IYy99YIB5nTASK43D zRoMTotFSv?X14nkoYPl3oV7HOe{Sf)L8)%mPwhS2(_I5nB!~wg2;|uE-N3Lv1PT0h zXebZ~;{WyF@MZ|&c@*+|IXL2WWN1YG#n6Zhg2)aIj))HojfnRRjfnORjS54+o}p2G z@X#nP2<#dh|=|n`q;vXUN#@_%-w9R zxr@z)G%RBWn+aSD?QFWfjqR*!W6{dnSk$sMmLvX`ol@M!BA2vsNX4xjdtg`G#<3}E zb5n(spN7vkIT3p7oF zm$faz`I=VIJZ-D!MOBMvZeEk{g`6hwoa{yj((sJVVEv0AgcMKH1mhCxtkz8V^|$ta zlj7-&*S`rv4D4qH`Eh7tPAjV~+%ZwoQRzV=oZz##m>#In=>Z>3~rNdbqAO0D~htHH(*q=swT3<>2 z!B|TsJ&|~f{3UiD{fESL^uI+4ARqoqARBxl zkn~Im#T^rTQS%s2&@jT|*A8=e)k9ovg#(=w?$* zom@v_2Zv(p;F1jO9Fo4BYhT{Zu`BQ3+LX3)HeUdc&iKAc&iHAcpntD@mChK^4=?G=dS?oYFqis)vf$x;B9rQV5zEw|E9WG zute3we*-L5H;NXingp-mlh+ILn?$du8bu56z4({WpP$z#nwQ%oelfREJQwZr`OT6! zsuuBc_@?~-KN93=njk%h1Th$9$}jZw*8Z$8)9FHtQT|<+e~w>f79UYwL4sIF5Ca}# z5i(kDwtc8KTLmHHxDR+V%j!Q_9i@FM1 z2x4~uDFZ?5&qIuJXo1~XNb@t&=8U0=blOlw`4Pv5PZ_GofOHb=cZM3r6Z#s*TehnSzB1K09!1K0X{vQRVybpLtg9v+ zGSpBHnj0MV*Y(i%bq=%k4h%~|`bXS?2S>K<9v_^UBII5aiIX)==r@90&ef5h|@bMWcN-9SOZVE%)!5082x{_(7XO((>f-( zPAy|RYQq@cv2KJ*sU6~zs)hv)6~jWiiebKO#W2stGRWU(9^`E>^$XUU`h}kv`vvO^ zxJgmp!&|HG;eV{_=B+`yTHh`BP}j|01>P^~=C3U6;=NbaC0J3~$zNXDDSW4-gTJh} zQ}9+%r*LUer{GPrOVBPx`+8A_Xi;IO@Kv-6!7Bxwq6L~xlvf?1moy#XdFpo2i|Tgq zTvZ1Wq+L8m)%FahhxJwyVhUAO;H(#A5d+xQMj5 zfcAH!#&3}0{B(K{g4jb4dqR$%AjWAhBM1qCAVI1~Cy*or#|<^)Z*UIf7*gabaMUVC z9r=j4mU0*eyAI)mWK7^1Hwhv;gk!Nz*0-Blg*pvFFzot*<*d=FiM z@rPT$(AX9vNWiw?v7HcP_m<(YeMpdln@7g?`HYV5@*WxYM}lne92xh89Gl!m$Glx3 zk79J(T{b%IDjgkHNPuW`LM9xYkP3#!rTn1@F?VoW!htyK-U$)2XF}}KJt<^#PYCH< z6CxV=PF+)cYWEWkrS}P&(*1-<>iUc2&@siaYnkBLHjeXcYRCB-YDRe*YQ_ZXt44*N zRgUo2RgCaIsTdNiwG4{Zn1@7bOhcm8#zEnSV3lz|_`acExKiIITtT4g6D~*lPI<3j zSy_+pt+F1`(()eRlCm!0lF}~W;*xIB>t$V{MI~LLSBtwKNVn(}vq}=qzBsDvk77q#B6unV79qt zO%IFBWu3+55?UmPElRA77a-2>fJl#DksRkxg8c%{;^$UDrW3^BM`MM_mBl8 z7U=}qZ>@qfWbqh_lhlrNAdRzV=jK~p_tzq#IV9|$owQ1?KZV7%Ln z=O7#_-ifm+f%;m<07Jdgc5{=HKg8Kq-|gbp)Wg}*GAQuv9h3WvjC*ey9pC0XI=<6u zbnJlV==c%$(ea~hBjfv#9zpVv@$C>~n{;G+i)47*2ZC%8j*WZp0dH)=l{+@!#zD&- zn@})ECloFt6EZr%;JA#|KOuF3G}N9+38iOJOolY1u1T>&*QCg>j`Up#}n3Pty7$Jjg$OO>L!G1YsQ6Zs>XyLfz?%`q7N%aMXM~M;`c2hqLt+Ezu8%-YD-EFD@Stzh2fST2$62ezmkm zw6LsKyr8UC^m0j$XnskLohO^pv{B~GlH1$ z-48RSZmsSACe5rIGqOyJff*|TeEMK^J;f>xku1}K#LVyr?cW61NC*-!Lpa*IAPgHQ zZzEwsjb>u}VM9QaS5`qF!ez9CAQw@h0lN$6{|?Th|0`MuVhcfRX9Tf>AoheHKY&x< zdvMZF;cx=&w-}=w2VX;yW5z1-SCHf=jsPDq)sn1&fP)a`07|d@U>}4DG1pV~Sn8?4 zAc(-+;Iz|NPYr}90Vu_`n;M<`jSWtI1m*_kE%>=Fq`^&!&YO&_G;d3*vu9NY)3a%a zojzE+zz+q!8 z=^#?&07@{(LD`2AECeF#G1n0ZLM75;7a-&agd_oIw?hbjNaBYxDqGP)4w^4oA4swZ zeQ)52E%+YTcJFRzptiGCp$MK2Hl+g)q^5~=o3D}QMxY>3E3MJwCYulDq5q(}niB*O4sC4)e{Ud0_e*THPn(qAcs{D5CnFCK%~kJLJ%Ac-VRCpfgjk4Qp^`ehc`nSA4syv zRPW@C_Yj2UVQQwio0_PuXcai8A~!ZW%k)h&NqM7_SYPiXDzBvpboDg8q0O0B+t1;4 z3=7yj!!lOixF>UH+>bFf5rhN@aUP%8PaB&&L>-$v>Nq}m1PQXAG(NeTG&T`vKQ`%a zH#X@9L3}qto(>(slK~r0c4_Dc28r zrrcI`Pr1I=HR-mZV@mOE$CPY&$E0i-$LVFSK z{{To38wi3i2(dso%~|a4`WZ81XCMvau>BERSxylN0#1VOu)uf%?Qx{YH+m!priYI~ z2qXykOWY)R1RO@190CWy0sL$qriS-oW-A1bn;XH~2yMx8pQjhCKX#(sL<{KL6 zTx_rB>KdHcx&|6c*Fa|)n;DFXP8WJ@ADhjpD3QMdLo}w z@kH@o1pjYmT>m4#XM_xd97L%#Ey*mz^RyKI4k66bcQXU|zo!dPc3CAc+hPSBd$25a zF_7hv$z&I8G}=BSN-T_5BGKN*bA-W&MMBd?VhnNzl7vBw&~l^AEpQWQaswbiFvV-c zAl+zl3Ge>|PX!?o1k4KZ3;Jil&w8`{8E{%>v4Bb`2tW|bU{zrTtBSH0gg~NTw7ZSflptLVWhZ8~0wKf>$P$2?SRe=$f>8ZX zl5NES6anl0dta~_V)#G;$l>G#APCI^&+fn~2+A%9;v_XTIY|snPGa;Sh!X^H;zJTH z-~hIvna+YNOhXfcfi3lPY_F%`*{QsVLDjd=9SvZR bF9!ZU+yv;L96J+*00000NkvXXu0mjf5|;Bq literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/close.png b/OnTopReplica/Assets/close.png new file mode 100644 index 0000000000000000000000000000000000000000..4b865011ef02c274466999fe81638d53abec200e GIT binary patch literal 33303 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�IXkWStqm=#9Nb>FG-#MJI{?U{p})_ZAaB-gR`O`=Q*$87f!&>o`~FaN^xX zzjbP+_*Sci-fNNPWuuPR)r9KwjUZ$$sLX=t^9JMSH+hcRI%8Dyb5mmoZn$im3S)Yi zPnl`wjfj@#G$=V4C4^7o3oI_VDGr^luLCb8-48gI(UX!FLEF(lf>z5X2+x}9<+L%+ zcL)2|E<{9eXNigGZ~1z^H8!d7cKmkNn#lBowb~h!Z8=Ilw)A*@^-H?Nw&gEX+S%&w z@efZRm8=J3n50p1L=eW|Uot6Q;qH61E0;bo$`F>sLe*ZAPaBzQpI9z`p9<3~QK

W6D@vsdF;on!L|>U z6bi=|u>SmmPq?MdP`dF47k7(w{e%@$D4r_kBiHjU-7-t>V+@K{z`m!!v$5*p@Ci1+ zyoUKr6%#|09RIg2dW{GpO(hL@y|U>yuA8c z&HlF%%6tZ{tGw|ZlaiiTmiC9h!z0Kqt1dbsay>o9Z!gBAo&KK0OC!FD;)`7*ZnlVk zPUJQM$X^72BhVd0DWCRjkZI%m`Ic+@yi@)V@;lX5JdgBVNz|WL8H3}K7H0)r zudL6^a*paN z-w4u~bGUB}he<_FxPn>hWbP<(l3tLjurir7Lw$T79$g;CSX;}!eae_TekxX)P^=b5 z{P3V@t~accQGz$nZ>Bc=Ht+B-o;}D6aWL+7Ju#eOT<4k%LNJHem<`5n#1Mq#8rC@r z>)S%%a#CQ~)WwH_y29m$|jqX ztfnH~FOMi<+D=+|6`1lu*;k@BOzz*l)-$z}w--CpWFS)sFM4$bGt|F_%Fqyz0Iq`R zysZz2!s%dv?o~an`f*uEY1dDaI)Z$o$H&r`*k9YW#K?FVlxy65iZLLtc!MzpZpOx@ z*6BLElM=qdlU)2dPP4_4pK0~{5ha1#n&_opXJ^^nb(M8=_Cs{_SLrYs(9%bNC@QEx z821&JIT6=auBjT9s_WS|*8j>#t4EWekOOs#ArgC(el9*XuZG3WI4 zk#6Yg{pqgB>uYSf?$7HEt{x8GIpViSN;I2qI4%kFTl?h)n!2aOq;O2w?(FR;vRq%q zi3L+DG6|||OimVHV$!we`iwhBrim)LN_P>E(VQ>na`}$LeFGnxy^N$(BYXcNPqt%` zbVDSj7-SO@>k7u*Q|6{-f)2iw#JQ%0+nb7tx{8#8fsAUSvQd_F8Y1vKY9J~M1UDEn zX|ab!Iyz=Dm3g(1WG4K= zhX{xIl_e6sJH>!o#_ny%c=}Ld4i89AHym>lUW~H`r3<&{OaAui1VNAYxH5D^I$xz9 zLpz3_XU61ZKN4FxCHfj7o1UOtUObFLHXI_ss*ZKW!3pk1Jr z@-8rU#g6szVa@F~uq}+&H1rqW%Be}y{AK^t)N3%?STYmX8S-xr0JLwQh56b{_AwO4 z&$rUV$t&*}`BCJdw{3*hF0Rh0{I|J0`af8Dl%%@-_+fEj>1iMQ7crFueRX>_5Q(Sm z=eCv*nc6bq&D_U88;##t^SOAQCNc=@%lvuy8l~SC^#YLL#$^w*P#`BW+1-un0UIx{ zf;^wlTVH-5a-r2vq=EojQ!PV{7%Yh#k58i97>grRAqazj=x$u0D<61s!ds~$#ff1G8bN7)w z7!nf0V+@xN!O77s+9q`}pU&4y=OZ`@2~i#z#sd3*6@S8ZPd1ZZV!Gddd@xSG=@?|D zWCSVaXnYp5=^(tcu@P}4Ccb;-Qm+IJH>{uIvsacmgeYeMmCXbo^+#i*F#{%K(I!q^ zVEE3@_lAo6!-tsf2rPh>f%@4cO`hf*q~z;eT#f=TAvcK25~*-_s>RO7IUs;j=dkHn zTR1>82fKFa?NcNP-uvPi!bo;GQ={PK za;=o|S6rAj7-mg#2~A~xt*@^b{aX0^B&ZmuM9=%;*#hBq2lmz%-CE3{6c^jdk-+CL zn>&ii=~@0^uv5CaVEh4;KzUQ}U1X1}TxS1s(aGS6gG;mufEmVnsG9vsqFg60Am69 z#Vri%{`%&8dhNIVw&GRQ^bWsjl9`WTUIfJjO%er$;FD3Xz=F3}YN3n|=ptidOqFPu z&y!EAVY&RXwKu+nP&uOZ#qAenV$6a*OAKzv3wL{#nl^*J9jvOD5*L`>!7I%MF+X+N z`!Zy4-a8d{Lq07?JYeZ?IYuMZX#Z7KzsI{%-E;^L`)~BoiVoh7c~cPT8uYW)pS+b} zKK$9>E*2Dbnmob`|B$Ny5UMU!^xTRsAENQf-?s-As7Og_*N>@4tyVG7sRVx?lv8B^ zhY-9Q)GOMq{qhANw|PRd+-LDnWTS)LJ`p?((@V*FIj*HE+x=;9@+khbTiCosO(U_7ggDqd?Dd2H8y7gdrMw!N@r8vx5WP-G^JdltZq^@@&3wQ`$`5yTwam*GzQ=Prx_ z=sI5r7Zk3Y&(n#Gid!ifHMEZ_Q%P0TV2ls?-p2=?_;S$K927kq|*pBobK^m5}ZA#+m^9Vn{sZXAk(jg^MSUS1X1AHfC|a-Nk||$&{ena!F_MG zF)iA(?JxV(=@!rQm034S`pa)GMHwxtiWcGBWABxedU~(9HQ^lGm_UrE=g#)$0S^N3 zr}M#rPb*5-tJ3zQN_JcgZU)qWYJN++3>GM318t6bO2x_fv7?^-`5?XKIielabolmV z8wc*j;SS*=5ebZcXXvXpj>g(1zKz-gs~3zp?h6(=>+st4KL-1c27{SGpL%&6YakrQ z!^OmeTOLB2W4S0MhzV})b_1+qXslD_kA+5LaDWg|fHf|Q1=}*VKj*8w3eBFwf~&Jv zO_BIQV!%2_asZLnx(iS8wlR?|&vo(uvUF>!pU1C8rAbVMb}d7mqgXE}PMI(~9xQ*8 z!vgC!a7Ml=YQDp60|dSihY!XC|+7d;3_Z)E^nMbhr{Jtthkq4z#pd`}=m3tbSREV7}r% zDbFTe| z31?vpgUw$9Xq~F7@{v)0dRLBna?tl5I*IDW8hLEa(v9iU|F6O*SWi|GpT-#4m+H)K`iB~xQsqWIfS9jdf0a}&d*ys?C187hQ+X| zh>SnzqTI6XIWulzZgMcb1}opX7SG+@)LqA7@#wGB9KKJ5?0sEpOJaqu^u-JF{i5mG zy~SqdHoEn|43sRjtvT_Pb;>PLwm;jF@c1#2;^cWgxT$EHKv3;Ze|hOs?j-X5!ha~D z=eYNsQ{Bnmsj1}p5M}cLQW}t zFr>hWtE4+a&tQ7WciIj*In38_fGUcCk!SKagZ${Vvnrx@L63CkI>7DOZR&aOY-uu+Ta; z=BMW;V0X{2rrJm)!|pFD(UDMR$7D+Q+A;gD;m-R|lJK6+{e#Q2zulF~){!jcvlLDP zeM!v!`5;pc))509v7(VC{6(yp|GW>Y4!P-q4j#4<)t-Zjx4y zjwa0(O|*%aPQE=wVE7+5=t9b0%C;)@+cp?iJR>0@3m+&YN zIpu6x+|BKEKiO0@L<{rIhxya6wt9%`p#Yw~|IHqYI;ff(BY}s0)d&-^Y-36JiffdRdnju*H~rpMa{+8Q)?2TG+^~IqUYa1WJ$yrh{Mxw z+&#~J{T}<$g$RcHP5SQ=g1+CN9m|#nn(8G5L!Nb4_RmB*$-qwvN_-W(F|Cn3S8Lq1 z_fYhrRjT8#dEZGpJfUQM|Dg`6;OpE)ghTSm&561WEV95vjxthkL&fv z9iQ-LkgIZpf#_Z)GW|ee!H4Bx0Q%R|)VFFb&MC;#pxQ_9i^Wdb@rhHS`=K|M2W9QM z&NUOx5s=ytf5%s))E-X?$XDd$*n$r5M>m!!dwPbs`(0=DrGD%EW9_EUbq157nFTu( zO&ORIoPawIRp~Jss958NwM8&Tu*(fv6(u!{hxkYR&dt$|iC2jT2#_c5-Z+l!eTN8w z{QUqBpaMhf9wt;-XR2#XnrPOrHJj=o?fzny4RuPNkQjqg7=4B%UFO}0+xTMg@`{XZ z5@E>`>qZ{Cz?Ky(yz+}Sdt@ZI?!jYHZywTTE^pp0IoR1ME!92>s%3<0BknlvhlUsY zkbUNc{rA_4xl;#pL`FulwkJ|m>Ulww zK^`WL30l9*y5xx95f5h4>ASVv8SBTojstWbMZN>7Np}IvP-0=cTgBUQqX={LKS*`G z^+g6B$ZQBPCNQ*6f4I2-_QvV^iGG=RfTyq%1W>({FBL59C~STyj8F3V?c#RtBewV$ zN=l}abF!fIru1k<2LAx>3xC*0$X}~~cEZQ-u8(BQWFMO~y>El`f&;nrkW8dD@r(?2 zs1Otbj0$jB8{n0`RN8Oxx(`45d2vy~&a^e}Qa?-&B~jvwnC@2Z2jRS1M+%iN+*PD*&>R$3MhOoXGu zMLXWC{QN1S8<0J_x`0e6rGrm>@p!QGKEHwXV$W%bqMI%}q`g$%dCqsHoO<&^G}#mh zW(0%OucwO#x*f;FTDsi9flj4ADkswPO3cfW^f+;K)a|n$*GHj{-pfBv126WP*0msk z7;p$9KBF7V_lh%9D?)O1!Xtfd*NQeZwKrMWe5OMr?-pcz0G0i6$)mwjnjvZr-Hk#$ z7!+G;+^gJ!Xzi`9U*^IW9=0tE=^-CL%oFwATrzkA9of;rnDy?FcXVQ&?B;|$i@!%GPr&6cYz_#$00`UVGYl;RNED@b2?WW*X3Ep zuKU5=s@tt{wpD?{&Tx|#f>%8ELvu@8AO1y0Nt_r-z!igtGaQ5cf7 z6M_c{q*DQcR3~@-HX9tmUm<^@08-x8jW->OUbw^32Aa}=MJ2H3EF-M4Qp+_5ZCE5{ z`#3=J>FJ~ydQp7;dzjD#rIrdn3S72aUg9DPS@)t9&u1j*KM;m}N&`%MAMV-|%(Qn* zCWLE)+8LvX4jdD9=qEu;iwl`W)(2b%IH06Lx8;D3lx8O+$UBb3`s@6{KNgq&b6=3u zZ6fK2-0?XW;C=q5geLH=q)sDS?1EBtG7{hij&hs-CQeU}X8g$AijiQPSME@uWJ#Y#EXUZ9FGV{r5`7Eb|Qab$I1-gwgI;-Ixjyt-ag2>nSlBH ze{LC{@Bs;9q!$G;HqP$aXPnC*w?14rNaOx8jErP!>mGDrNklQLHd}jNk$j4YuEjRa{-n$N6KGRZoqIkW&UbMCV zEkfEEAsVg~>5yK$T|Epq_YUSuUW;r2$WZ1BT`u*D@!@}mdumqk?0{2NTK?vije#Qc7h-wY%sf>xC<&BI#KOt_^!al*$Zu^Tu+j;#d~CGtamMAJd5%Gj)R{Ws(jJCzY}8F=CW6LJD;GL4O$&*5jC%BOkd_ZHl`M0_WP!(+>gVbDJZ~oexZ4Dq{@FM^Y z7I$aN?hcMtMJo6&-WlLsY@+HK)$idNe@msaX0b(&mX@*^BoFL;mXD#M$DZK8sc;m+ zU(iO;xF={UXJ?z=z(mEwlrNu;*v#kXIKv2+bw2h9ttBM@C6;T}({MBbnVaMbUBz zF*N$1+dT4?)aD^ZS2P_yU*-sS~ow``C8VNA+Fgh+v zC=FRS?IHs{q3&+O@XOxWzKy0vUooaDwv|Ob#`PzO1gGxt5J^qX-4Jko@+@s?q9Wrv zAu1Nhp9v%AZ}bgv9(k!63*PCZT{_cEyFpmFNiPX;P32oIXi(r zfXwW#vkoJ6#>j9T;#hSBE( zdsa~L!HC+fO=R7W^S)pw79Vdr_iTX3tfr(c_T9c&!_kLg+n@0C2`G}q2nS~JizNdi zL*!LK_v_>1bh@oAU$BMr%l_`;u?z2pXXacEx{G#=o=g#yrQK~J+qNGe7a%bx(Vl?V zUXkO?lf+@Nk1R>V6om-L7Bjr74#`bYRwtTnrpuHrZvCvnx}_Kf26INKc_~A7tP zb`P&tx z>FW%PSWr)ozKjs}>ganv6rMHe{FC$}z6d4d;7r`4I;IfWzbKB93@_k?H_VJ0{o@k7 zYjcWFfY|q$5nlXsKLq#n-FiYIcW`-eaiB)Y)BMK@C8A1=&aD!T>&tN-91QTRt~)0g zIM&E4D-$)y*D}y^$sKkqcx_$eoI8$p&!Xoi}23z}mX=jF9!zj-k{M1eT*SCl%fH?BB)i*%@?}ef#GS zPlf(-Xv*y=C2)v?!2uWyCXFX`6e!J%mbNmrX{?dx*PHHk%oI(q^1Stokmc_kU+8)@ zUL;_J_%aoJGAekDe}K3#DcrQ{D_V7pVP)-SIe6i`A1MNMf`3ude$Jwm_%BYIu~hY% zd7jDXBI;`^MSS`D$;cQ--XNs)u#ut&`S9R$yM|O&Kmwk4HchtQN&`-SmBsLv5*9Y@ zK4Q~))?8-->PJ{$3uQbkRh1j|ROs|@w6!&aC~duqPMk4OIirNDIkA**_GaQll_z|s z3({rMgmM?14ZpfdWBC5D(ulJ)w%sonc20}sN_SxJ-3 z3LoYdW&NB#taj{=63Jw?Ceffz6q2SCKTq=&LBxICOuZaKIpm-7{KVLa1cJ; z{QbK}$P7f#>bD*7ie@?-wRf- zF3O4P(LavhYiYq)azQh7zSq=NAzcx$mWl7Ht-UH?1d6IB#_Xr9H8-|78*d0gG!>P? zVJ^4mvV>KX2rp{7A9h;th??8Ruz!7BkI7&kp<%6#ZI6TwRUpSrM5ndOyVUv8Wq{i7w*tB>nt-Sw5EErQ_ZDzwqiY*)}U@m|0Zvz=o-guStLrLMyXSu)i|J1#kYVc#kV+!R|4Gz=epvcmYRc7Tdw-@897)k%JhrT(R)DL7t)<3KBt@ z3-y93Y?Gp+!Z?VnohkzxYS5BDBtA|szJDEmi^C0v1Bx=+pW9|8>Twpxx{%~hq1%e0 z>28IM|290Pv<1^0WEX30MNsox#`Kq=ARRmnHzGfN{6vCnm_@Ilpn`gY;iwpwbI!&p zCGltcn7rqhCl&IW6xTtq2${xc#?6~c?k`Hv|K5;|@vorc8~M03flA{xJQgihxFI4c zzsd7->e(JK?l40JIC9zdTG;&4>>oKuO`Oa`wR*XjrcjadDcfN{z=6ay7qk;~)z!73 z2F`%0#JhMm)r^|#{sdtM#F7VA=jj;k4!kvoUj;MPccqFmQ7g+Nd*Z-~`pa^OK3K{^ zgT{BQQnNN{ZBrWARmdI{{LZSa26igF@?QXfhpGEhHkk(`%dRai$R8KZw-S2T6)v@x zOl*~<)G7q~D=uDNp}^vtoZoAA?fs}aqq;zWAT!EGxKzV}NyF<4-@ev+X4Rcjr>&cm zHtos5JSkLJu`+Jjk!hh?`lbp&KMKviYaGCkA%KH$G9tBa)ru@kjwrE6COP*7APo)s zPA3ugIbz9q^o61h4vy^jrlm;n8piJ}T!SAqm!z{+MP}S{?Boh{$ZW_h_<~3Lf@Hwo z!ohTz#}|Vp0SH30)hNTuY0U29%MS77<$dYN@#AVOJ0frb5{P#X;2G)aRXLFv+*o-- z8%^Ua`3SI-lyH_^8Vnk=VyyVTRdD4_f99e&4`SEv+@Q?LD*x@YA2PU>wJDgdknqRf zg!rQHM`AIoq({|bQoA&^^Wt~mgd>axRKgpg?odXENM0UWs{r4@F$YS->2Jk@_OeXT z_^07n;6n%HeD(FBXdEo8Krzbb=yt2;>lN=%O-%z~g_4sg?g>9izS84j1 zQql@J@cLMe@bO*vK67rk?&681&S5f{mW^*>qX6^pHyv8v0E4`7Sqy2WE{&?`Plq#{ zhJ8jVZC~}UVW}uH;_}x)fi-@cS%GVQev8k%Nf;rMY-~yzULjYj%Qj#_np#1Jp{Rj=g4qWrnAQ-)_0 z^2QmK>ZRl&dYq~n0MVB$0L>>BnSMx2q9t~yXh9)=wHCnT2`@;76k=4xGA{VS=Lpcg zB~n^D>-(avIa3oN0s@Ce4Q^!*l0KZLw3|74@9Tl?rXp!?rwrz+IKjiCwl-u6SDegp znhc>{V2iA&+NJNdfx6~{dmtm}#(|n#9?2;05L*8v7ZadY;FV#6KPHxWXQ-a5lPgRE z9SG+C^@%ZD#TwV$Ee*S*bwbj}<2RQ7@iEDMBYv87`aLS_I&15^Reb2$hj;;juC z?5liq)R!?_00V>jGQz1zy1MGY+7Bd%-`2gx9Pu_GJQ(;wDqf~cBt(0<;>Z%%ve!zD z-m^}_P`yF3;b6mR32!a4;^D!MNtJgkf! zM8W4}Pw;;G(-U+~IS_OTghH!rZc+`704gd3AVRJX`@k~J&M2+k80g_{QsIV+PUyXGdtA{7TvNGU0)qp|6#GN%w^;a3&LkT|w-E%q08x8OuhVY0{v zl0n%@All2r>7NItB1T`qpX75Cz1)(I1&Sr%nk*_R14kK!?6@EjIf<{Ttm~5E@l)_d z(?~7G*)Txp#{{A*7SxLMY4qOdenjR}pMMPwqBlCiCTrV~g*uOd!k($5pce~X1&TeB zmWFf?ecNxC&qZ=6r4$q;xVecNlZfZQkx{^zbz z(vZA(eiIW$BBh(Q;`TX_^hvxWyB<|~_^19S9z_@nsy(MCZGI>DM7Prm&pfu+IOVVF z+RdI=kt%0jG`~HRdvm1(mXTbppwa4l1i`~n_-}fM9IU*Mf5cKU>)zAu1jC!Ndi(rM z`}_HG6aH#JVAN>%8^#e)xK#M_nPpF#l@xQnNzOHCQ@bc}ai)_q=5NDnQYqh?eIzLm%AB918U;g^t_^_m}UG^9zb3#5aZJ{L?2RO0n)z7B|)=NB=hU~S&Sn%fxC z)H5h&9WE7={`2Sh(Ms9pekP@$=Su9#8X{+_%h3{}t5CD?N8Gt;%k)XqsW%E7?MS=O; z$E37;Y7$2`E=I&b%Dyz?<(%)jV{O`$14&aO%I`on$MxB!$ntVX86mNm{*%EhC|YMT zM(d%YoheD^=O5aFDEFV92WX9o?00O-u1|I1GPrs4zDzGb)LgLatFG3DgWtRzo#hnH^QIuAis!K>W8yro zXLM+_8D;x@AsT#11*6G?<{JWm-e(AKe^SCu%|-pAd+ZrLCox#j3AhO$263pZGQ*em z9{9KN9ePJ3X@r1}TG)BeJBGPu|IT{X`R3va9ahD(%R67+B`;6`r0FF{aLmC1q>vNE zt&RtiJbG!s%`^%%k-d1}gq)#!;OiTq$IfV7!I@|(o84%&V&dE~w<>pX@qSAF{-F-X zApnPy8)QsH3KrsRDu8;UOFH+vOfv2jS1W zT)zU>e;4ReM84uIX>$gBY>*%j2thCXDIq4h7vgnKGL1g7i6-R-lXZncs;MkD_*ESB z=uQ)u2ts-nJ6%4=^{yR{1-7_vI+uYwoW;+YD4(lTSVk<9+zou5T#n0W7Lk@lf9+Yu zZ!`ND4&M2gD+C6m>2=P};y^rp6bE{eapDa<4OLEI6f=Qz42yfRueuD@C z-X1m^A)brdq~5+}0k73cM~aXT4}QX~|fOx#{=P2f9!{zCM| z$62S@Jx9x5#FG5YE01?Eu5OG4><`s!cT8XIc=$=YR3vv4Ob!8g#m=ZZ`87UColVeEcFJ*Ei#NfqEgU3q%(+rk`hGUIHgI zi;HH`TZfP)|5g)!(HG`*&y8?2%^#hXPm@Tx=0IWU*?|G4TbFmor<0Q}{r8XfewDRp zSGnI;a}2C8)~)fQLUv|x6}g4U^$+kh@b#QFHqQg^#XdfaO!V@#4Vyux?X~hK9%yzi zSH$OO+;}GnBZ+PWLHj{p>5$qkqNpe}w|^L#Ew#YYT16IW$)v8~^u!CvMG%tjbSb2M zjj*2_x*Hrsq<6k`O&z@7}}-c=M*4bg0)ugx^_x{KMB?L#*9zSjF+?ns+?G?N#Gk~CL+ZWQ_ZsLA_NO$8; zJd7XEjxyyTft!$naF4zCwrNr8aUa`a!?~%JYRx3<7;%2PzMdWkwXZV^R6317KHad! zO*g`AyJ)ddO{($EjM=g<92~BE^OWR3Kw@~rpWaT)q=E#hMR#&qfBm!S5?`p$EmRIl zD^2vaj`I4lt{q8j`Hd2Qr%^N9xr+3>ziCHFSu+AnJt1Jaw=#HwV;0(?Yqar^ZKT3a zgdIL9eYvuAcd-(0Z-5y{p++-6RTo=^i4WGVQz^f*Jp9Y%+mYfnB;4_!uIQ_Z43^CB zm*|E1@Z~AGcGQhVI8uV*L(34qO zSusa;%3eLs#Q848@c!zi_w$#I=9s94EUS%e?&l7|5Mo-Hp81xH6h&Ux7~;K-2@gBXcpjcoy42GxBRO^eudFz3K!~*l@k(ejKGYJ`opw zdVSw}@g7N1x4Q)W^=(_5<_na_(E5VYv9rdg*`u2W?|VQE7Kek!E-6#M1uwoFQg)=&LO$j}Qg}1WpFdy(nyx zcp-JV*ql(x7*9|4oi$1NAkkELQ{&K-ff6+kC4WbVN>^iDUI5>ZW6;zMUYK3`cNN%o zYZU)~%l_z}cH<&NS__NGp{1Gf`4f2S@Ai><&F%J;UR=gbK-P7l$y|>6jfQF5_XGHi`?PUq;~TLH@xAS1)@9eV2QG5i= zerJp)7s~+Cg}a5tfo7R8HQWQS0KIL@zM04|gaBWsYGn#kg&d#mxOk)K=;n$CRw11- zu`D*1=*nQd#0f-Ce$}-p4uj~aOw9fWx@aCkU#hXyl>f~rLd*HNg+ zg?G#I!h|XUxB#ETN^@c16NSEtl%ykZ+Ig^CR>N8;e0=CwCR59S=r>hRNiqT0J{ip0 z418EFk5T1r^}jlaW~-VOObYpT7tyKn*mr;K3*g!S8xtT+)>6`5f%=nV#q4@9GMw)K zx+c#|P-DwJ$wg9AUtXD+f;pBfTYe6aq^C;P2s~JZ5Jc-sBTs)NfBLYsfx22FmEuXg zG1Jht$KL=cOu0{F5#+i5Y_G2e*bdRYp2k`FB}F6e4t27r@02(GgljNaICw$S(iPMZ zW?Yg%(QE5$)G8_do$ScH0;M~`iGoOjd4Kje z-$gz?*xtU_Oj;1F$lFBWq-X-Z`!bi2k1Y+q#pUR*rl(sAsgwE4gU?Eu6fbD*@K7ea zz)s03eh4p6=y9RNREqA{J7oqP;y~A1bW!?a(x+SuD^-NI;`&^EI8vqtU+?3EUACB* zXo8oteBzsF#jk~bPpk7Pd4i)@m-p<1(RBsd##b*SBy_6@PT|STvc)TO=6XkPA@l$( zbBqh*vtZ!Cc{o0anXp@cK$YPWggTVqk+-;*zk^cv+}iJOt^T!P90DrX*)e_ zKR)O*50ND&&pk+XZt>XKZD>$Q)PAR*F6HSW8lF`fK=Yx>RV{1j4rvB;ZId8fzM*#D=urNavQs0U~Yjn z2(VCpbvs#OzrOJGE7ee;9nk=#vY_XwBlwy?qU9l=Fka2OeE1O--Z@m|kda+A{+#Lq z`=+3dN+El_cCKDWxZH;Ctq%!;@KwdsEJLc;DVgo+phZ-Y8AHS$odc|rM}Wy^Gre&j zCC<`^BUvpvXS_;Sq0fhwsBUJR%rLsgY2Am9;MJ8#p$LA&98psbmXb9am^?u3?1yi; zt|Gw{?)9p^SpYin@UY!ms!Uo`01RJq9ik7Ksw}B-$#rz;H1pW9H1bfC-Snf|52%vD z;s)gsb3VKUN^fEEYE7zxtfUpvu;W2}{_ZHt&ojLUZlsTN-;WRm8%c}}ZK8T$1TW>s z(7NkbD9fOInA``pu1yMsSbT_qpAt@IqjCA6L_{aX&qct10)$1H7~!XvZHmlbF=6}p zc_;nH{K%A~%eQuRJ5iaL+hv*>M1yK^M0<&f7lx&=wcK9cbz*>ff-1VJ-?@51h{92B zO^@C(wpGy+=V!^p=A>YS2@{?@W9=GNc>{a&bc_^E z!izDro@B5dU(VVH)2OW&L)N@Ot9R(?=JO*G0PI^_JZ`7P3)J?+ zjTr+={Um_8-pck=C$GEXmX>hhle1QmvrA7t`18J1MqZvQlIU!b=;uRL7(g+5@Tu?O z$@SvK20Ut=iSrYBdSjy`@O(&ookiEgQMwQEY2S$`k?fn%Rp;dMh{a-Q3!G2HMi5jj zhE#IrBC!~4YD@4)&A{&77pPqCuDdTS!Ey$0R9M*U*05tCjCiP#8%Ne)EcTLJxlfKs zDcQJ?AnB{_0!1H)Y*dW531c`6#DUJD%w`J#RL(t+v3&nfd1cd2T$};dr{(1zCoh@t zPn>3(>X-<^P!jl?{9^Va9SNyGOPh^>yMW_0>mzM_vzpvBVT-j*-}~@G7({Izj+HnM zb_Wn+c|($RUHCuuys5(F>J)vFdlvlTrJ-(3^AFp5>aQNCj|1%0P`kOK?bl3fs@BUN zBJAnKTex2veP+p^VHW{-o$GK~G^{60vZex~hrP}<%Dj}icE8k%4(*y7;^dOwQ;3b9 zcJO`s{weGc1>%;A0&yc28!@^ho`=l-S)TxNm`WkrRtJ9iJw!k>$Qf#j-0RiC4aUS( zabAhRm$0-eswq=KnMXV@N0c_`OsETU!x0E|);rKJVFu?q zFHuL~=-$e#kT>6fug!&H30y@!3NKv?IVc6y6&_ziz4q8193wPw`PphJ!XI(F%;Afz z<*#)m550M_2|>vp4wt|C2zC*}=1!BfP5}22H3Pf-fgjh71GPG2H#Z|ukvtCpU96Sw zg=?;bgm(DSYtF|6qb)t z0IR1s&{M0RLq4OxM;KHp&l$7}qLYOi(QTlgkPCY%jI(24M|!}HnXWX7g)(={Am?hh zQzX`vvy}1eY|Nes0^FJM2}t?brL+)>d`$+5q*{dGqjL+`x3$Fzzk=-N7@uiXqZ?1H z)i$k&Wt=fLPx#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$9Fmkdbk^le#!bwCy zR5(w4k!wg(VHn4!b7!dQgdfyx&JUic`#4QRQ=uT;R_Pe%Brj)pMa3y7PB-eapXx(l z5EgbrN${2=6=q?PC>7>hV%fsx+(kF%4nZGsdwR|ZqlQ7IU0vX%>Cdkeie%nudAV)9wG|v49pLQl2B*msUesz$e}-5U3ci!3 z?+46g2%^liwE@%E2($V5S9vo91@(4=Vb9Uh0?zh!aCLTq8^f$6C1&n;6cy#Fs2JKc znSjB0#%Sc^WwqL=j*UIRHJZ-LYg(_Y3~e?vfE$B6SmecBt*BHN-Fp3lAO>?{b2Bh? zbzswITq=?1$z5C=@|TuEK(B{DQ4#E9W`dte0dHa=EG8s)&x=H-4tphTem*0^=u1n3?U)$Y z=JUaeY$6|`qra69#F-;yrn*|-Pf8kP#Vy2*d__J*M#7Rn052)Za%e!1rUibfbZoz? z6Gc0UHslR5i_8cF;U{u=$A2Lx6DW_fU0ujJvWmhSNd{jNMEE)WPa}_!DI8D8<*mO% zSlK6)PIypqAZu7;WxJ8&wpJ`I8c9iMdrA&B-(`@ZS{@38p;25Lj);IEWRM{CZl$N|cy^hr|06EEXSa+z`X#IWJ?8*L zH4dXRi1Iz;4mPw%rMa#@fpib-^T&^x;42{&|4wwl?;9W0000004R= z004l4008;_004mL004C`008P>0026e000+nl3&F}00009a7bBm000XT000XT0n*)m z`~Uy|7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$BHmT?0B>(^dJxN4CR5(wKlUryL zK@^6MAigLHO1+@e78QI@48?#%u|5Q~6e&W5Dp)U7q0)#HLCH%%3Mz_tDJ?~amY^2t zOA+xwu@r(J+M19iy(F79mkr4V4K9ID2>kxLLJVyJS@;;{%sK!3XJ&SlEc?E`kS>P0 zNj({~T@}~zoT~GW4`j1{On~?h5Pl6U)Qs_Ga=9h}?rfpJ6)n&V1Rn#TJ|J@wjJ-4j zxL#LP$U7kSXTNMhcw#Gz5#e57#);6Ubzq^%)O!K*E>#rq4#^+HJixpQm}Bu==Rf9e zQ|ulPc?zVS8v@@e3UG%aVn$*+5N!jL7ILDDvuwvW zXe-!iWaN%4-tCZ4`vI|*xA0S6Xh%A*4LRkodGGEXiE1-;GnV$%qo7{I=O+?p(GFrf zsx>76+8I=RcH|a#NV*ID539`+&nLUhm^OO~+Dt3nIc2!wJD?p4ZH+J?W$f;`C2t>H z5C`psNOIts1UVn;JSIn~J!iv?VQV*OBpb+DvYqTA4J&Nd^oP}u^cS%>oLGX`a2Ego N002ovPDHLkV1g_eD)#^Y literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_ita.png b/OnTopReplica/Assets/flag_ita.png new file mode 100644 index 0000000000000000000000000000000000000000..6254b92e285af9d1c75c2dcf9fabad7d7475623c GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_usa.png b/OnTopReplica/Assets/flag_usa.png new file mode 100644 index 0000000000000000000000000000000000000000..aed8f11f9992b987e25e3344be224bfc6294d3c2 GIT binary patch literal 355 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon.ico b/OnTopReplica/Assets/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..791a5e2abbe1788c3b7920ec0c87ababd4691435 GIT binary patch literal 7358 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 QzVN^OFZTb>|Gz2lpGUyLN&o-= literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon.pdn b/OnTopReplica/Assets/icon.pdn new file mode 100644 index 0000000000000000000000000000000000000000..b6e0be2b3dcb0ad64f68710138b6e7903dbc4ad1 GIT binary patch literal 30322 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 N002ovPDHLkV1l0s81euB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/ok.png b/OnTopReplica/Assets/ok.png new file mode 100644 index 0000000000000000000000000000000000000000..487d69573f3a7fd957bccbf010b21c3195b03c25 GIT binary patch literal 2783 zcmV<53Ly1~P)3Pw|mA&DiMwzkzZCKA@Rm=IA6Dx#=s6eSuJ5mXSR3Pu=u@4a^^GBYrR zHuS21qKJZuiV8--NbuYHzXXoE#@%>!&iT%JGw=QP`)>K~e@Ed@uka}^FQ2EbuD()J zQ*(i`vhoZbk2gg@L17$#hr`3e-S_U@YwhgpEcxlDpQJl>?D+W=Ouziqq@<+r5{cvx z8NS%x-;ZB@`2`~*Bfkswj6|Thxw&5;5QLAR#sl2h|K##B5Z7ICPYL;$hx|^(08v74VPSB&oNZkCSrjEoGm7ex5_`hHSXRrNE=Sy6o&^IGVi^8zZ#w1%DbobmZX!2Zb?wY_9@g<5_O2K7IO>3b+!pj;q1Ic?Bn+ zuC8t{K0f}fF%jP0-fv&HaABBvpIjP);Bq$vl)J*W)EQnfd+;SE;3lT93e2%RVI@BI zdIO)hj>D&?$Kfx8*@QWxS63z41+jSY3$$0pas z&>?Z!w0?28B0fH;g#LkF(^6PixSH|vNX=cAt6&iymJ%Zz60d`9>NIT0T8NzXNQBoq zVMUxWzDiPpezG#YO;v_bnhG`(Owv{1l(P=kuV3dpW?&-DpFfX19xI?vLRZroU0S;= zK?!qD^U!mIR>_HVZumA+1;%Gp zusv55yYkeqCtnTD1-iJ})j3AYa(?mRMOgW-#nu#6Y^8UNa#XM`TN!$p%2>!(#BFNr ztVrc@xfv6nNS*HvQxqZb#p=BGp`D_Ja(UScmFywgj-3KE>@8Ap;UxJImZcNmDqVz*&bBdP_TIH?*Kj7%43_y5 zVOu^C$I2$aqI5j=$<(n^LLx+}FpXKpkq-?GfzF(@On^daYHADnvA6FQ76nbj@**Xy z$Wnzhe?KSU`P^Q)-iDkOXI$&K%!y-Qp0o4AEqp(03N>-6RufJ&ny{oTW{KvyUy;I9L=$!#qmN zqH^WR6|}UpfFEXw6T-=GYkUo7nqI@{#z}B)n1qvcnmAIcf&Enzur6jYZuQ;Z1kl!p ziHXT{PQcc!TODce;2w0|?7)|ilb~0s0)ui@7^F-AKfs0U+c9rh#b3H~iHi<(Q20gJ z;bh^P;5WYxe#`4{C!A@Xf>TYCVMl_F)@#C4JP`pxyRq=6rKR-}wF)OdM@MI&tE=k> zivSZ5UlxMD)Am|Zu8s{A6R;uaZFmO$$Pv<%!(G{_$wY)ExWgv@UAQ$*CE}@YBb=do z*XFn2)bu878{UAqd@^>&F2=q4eO#1TL<0i@lb=736nE{~RY?QGScRU-wZyXQ@mO1? zfsN&pus%);E_?@ergQmbTP-r#4~Md5!J*+@A|o`u3rB(j;bemrtm~)YfP5;pM1O>a z)>^Llur4STi=SCoSm^!RiKwTiXL#(`v1iOUSEWye;Cap-+Ho3KT|60v($`@S^B(p( zZox@+OPKRF!!+&Bu#iuORn-hwRnMgBOjy#r1>s=j``9UZ2PUBlAgK^>qFK$*WR1+s z%nBk`{?8*>$;`|wpXNbsa2VaI;^so=h0MnC^eNC6Ooc)IG#H+J2U`U1<2&gL?2^sG z?vh#9Q}O`^Q~Lf-;S8*a(!#;OEf5t8!Rm`etfHcVVQ~BQ?bVtwcmXotOluQH~=An!e_FPsje!Wo2_*pN%4$?xIoz**QEV1%%Q zVC3ZFfaVM~52B=`gk49-_A$2ge^&teaqir?iya&sdMqt15gi?kfq?<8aM*Or?wc<) zAX*dz$23b=#_xbd>^2;UF@;NlHKMXYP%JJ6tEJrBT+m3)`aNhYXa5yOJUu-t;oEjj>?6Z&U!X*fd14VJv|*X z>OHcxwLSiOd4H)G4GoRASFT(cZ)IgQ#8SeLoSe*tO0M~^rgZo2UGB>I0?TntO$}mW zV_|1!2R@$<8a|)-`T2E{oh@_b%;Eh{&!2x`)22--8#ZjvUb=K?fU&W04;dX{DT#}V z<22;*K=fC4R=M9?uZGCDzq z#Jak=z0@^-K79D_Ge$(-At)#aG*N>Z*|UQO4-S9x%{Tq4R;_9#@u9TV_&4$ww%i{U zLk4&RO~OY6J;DJJQ1I3Do*02wIiB-q<(~=MTwFcQSy;`Q4;kcDOq`dK9MK#Eb@-! z9YxbF%mn#UGzeM*LGvqhji4xy7HEs64N}{1`=?Fay7|!`ZBsZ-5hQX_J4(`|wrok) znLSb>1-f>E!T}1eu*2Qio!Qyh{bp7-(lzA#r-^D$MI~R7j|tYS7**qL+dh}g8W+S^ zT-DnNJ}0CVw++||KPyBhL^VDR98s3sHmBX`vOD)Rx7wYp4p*zKqdk&QR5{tvuEsOT zDQilKxozUOXLu~@80d}39F(CzDBc~4LCb?(Zq&>9@mC%kZ3|+9J1`U&bNINl(iCxx zB4bP%4ef*3-ouBov#pb(A!NoT9q~XA#szVb<9yz3j_Y!ffniYI7s^8a>oCF%r=ahN zW~IT@*a%L@dPajiV?EfM2xeO!N%RM%oox*>sewR>pGX|>A0Ydc19v>||LFm5 zlRuWkt&Msdp_%4j!=3U!_W;*3;`HQ5ylx7F#ysQRcyO}O6Zeb`Of)z+ZZg=LRbt(q z0Y{9>iv4|@e`s{3ug@3rb^E!{WYX8`>5hmqLH}Vc>zhi3y0{+4Xtu9E+UH9&&bB67 zNPh72kA<4M(=+|CSj_FVSsOaq8;Xgjp_t%0C>s7KN`r#GSj_8y43F@lq;|>bkf7ST zc$MF4Ehf0~{MNMB>dhq7Oj>YDLPkyViM`g5%v3^*3<$ZPJR?YMDU(Q;t3atQkW*A4 zxvHws?!dpBtC(tO;hQ7Pu6=FJCc)9#W<+D}DYH?IWRilUR>Ocv&(B7Zy-j-JHfIze z?H5!YH^Z)E?JAXzF;P)T$%+s)P?Vu+9d&Q1-a$C`+NTM&y`))KEqosB8p|m{NQi zHfrJ0X+DRR?FozERi(Csp@1=Wm-J`#$B6+}spvI*bHpn2EX&|Jg=$38KF7ZCB$zRQ zj}A+ToVkxz;v;E!R*VX1#w#ar6KSJY&Pb{OZi-?eUQ?>iKLlnkrFVYO;Y!4tg+c?$0*kN4Fcgdv|aEwdY8ssVTX89avSHzdOm{Qyx- zm9^q31s9Wr?g61X^eS=Oz0j!HE*uu8?EtJqspT-NV&%mqC z?f|kfV<&Vd8oT<82cgA&70AjAL>)yV6!aOpp~db2vNB^YbSRqO1Y7JwNbEpXW;7t* zfEWC~V*tTjn+zu)iUtG-NxUkj&B?H+6ysK%o-zw54x{_}WLUx+;)9r5mkdK%2|;EV zh6tO6*aq0hijuQ&ke6bGImJgrHAiExtCR_D;oU*g>(Du-79cgNs@YcP z)3in-f(g#skbzJ}53*kaQnou9fo+9qdKgGG2^!W$wjDY&rO^oURW&=HN7Qscqg)N5 z-wKsQHSB&MD2_2;RUCr>5%)l&TpUA#6{;@Y1uYcE0I@2Lk%EZ#K%-n7((h&q0o6n-#9E z{^dx`r3AOF(Po{+N21#n>g`EQNu!zI%y`JxH+f|6kiU`R^!K`@2tCsfsBBnO+1Lgj zo`_0Nq-%7pXyjrXdF@+@5H$^hbW4eJD@YOP)}l06Sg;4b4RIWNHUcB?e+Ekt(x#EM zT42dr)nY_&-Xfr3CIPe&Ay$@kOR$JAVqo={8h16VpCaja0>9On^>!cmSjWbBWrRGI znW!)g0a}Qnc6i=0G=VXBM*yRE&VUI-25K*P6p~&5SwSE)R)h=giAJQLp%pYCI4WtH z06u#F2+@QXxq*WHFjPswqrhh$140xaN^YP40a8gp7!@1@LKGlQZlC}mQb|Ds_$>O8 zC_vm0XCP#5pb1e@NmC5?Y#az`szWDZv7n=|)STvg1Ea(9&b+{cYmV@L6 zIA|Xhi+)LYju}`%6C9PM}78W$EdhaiO z+OA)sRkL2Yy=Fbv`Ofgd8SUdUiw(8Q-+uk#LbLR*{L9+h@~e6K)y|HS=T2(*!ui3BWKRA9JOx4i*!16qpul?aE?d_lc{nXRii|!@! z@=uPRzxshz|E4x_ZG-!j+?C#W?c&mjIgM^P_Uyu1>wo-3Sg+rOx%ajF+2bGoaPdNZ zA-w#2wf4K%E4fWt@6l`bFNQl$eso^zJf)rZd5aM`l7TtE28YrkA;{q1%8v1gu~ zt6i+pe*GvQ5N|_mPW$NX3v=4BPv39X@A}owH~#$kTiUh1Ju|}FK5etQUh2#kmRT2WL`C{*P zJaE5tgTe~ HDWM4fG=x-j literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_bottomright.png b/OnTopReplica/Assets/pos_bottomright.png new file mode 100644 index 0000000000000000000000000000000000000000..96ba61893ba568efaf9bb9835d5329dbfe26c4db GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9}FK5etQUh2#kmRT2WL`C{*P zJP?+)m}qA9|8i4PfPqKPizytJV&dcbn;er4A7t=i7GzLs>D>2Zg)bw}LIzJ)KbLh* G2~7YYM^pg- literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_null.png b/OnTopReplica/Assets/pos_null.png new file mode 100644 index 0000000000000000000000000000000000000000..ea301953f4a137a0c2a6c12010b7234431bd3a53 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9}FK5etQUh2#kmRT2WL`C{*P pJP?+)u(-uR0qGPfD8YB{i+h- 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_border16.png b/OnTopReplica/Assets/window_border16.png new file mode 100644 index 0000000000000000000000000000000000000000..b9bc0b092087debf2200041e8334bcf20f508a05 GIT binary patch literal 683 zcmV;c0#yBpP)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$9Fmkdbk^le#1xZ9f zR5(wqlig3!Q5=W4?z%Thpe!I0ejuVwNyCJkqnH_5G1pp+%qAiT=$tasD09wgX0Ekf z)+(*^&*>sm-gLwADUT2ij4HQC0cKulA#{1t_QuqH}~WIKyj?%1~AKXo@Cj9!}%Fmd4Saq#~Ta z986HwouV@G23zz!j*(9^jD6+godt}?dNTm6)sK59CBi9=h;Vr*PEkjk;-I+qq_JLl zOYPMU93B0PYy2DTyNeVxWC3(SZ8cm!ki-(2NAk{L@WnBQQdoLlb7=4#b;BR2zww2p zi3OVPeaCb>3!t}m(kLoeyF|Ecmcljx@Fytk+DLzq)AyG!x%x5{RsnT=ag5$s_O%Lt zcOFycdVOb>{+Wl%6lVkW*90gJ%%N?Gp%nmq`=9mCK3c}ym}Q_o7(mw=L+y!CaB)pP zy}|Db{Rc~&d;EivrbwoO!r~XCBVS_Y9*MlY1{7)oO3knNy+b)I(kdjk^Ao~A%$#(e RGs*w}002ovPDHLkV1h^TF@yjB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_multiple.pdn b/OnTopReplica/Assets/window_multiple.pdn new file mode 100644 index 0000000000000000000000000000000000000000..2641e329e05972bf982e65852fb0269808fce01c GIT binary patch literal 8806 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 BaXbJ3 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_multiple16.ico b/OnTopReplica/Assets/window_multiple16.ico new file mode 100644 index 0000000000000000000000000000000000000000..6c48346dd69e92f341301e5d260e9d4befbbe0db GIT binary patch literal 894 zcmZQzU<5(|0R|u`!H~hsz#zuJz@P!dKp_SNAO?x!0Y3I7DG_GAwyL&Tvep{1Hrn#G zx=MEXD)t6y4n`U-=DJ>vmdM&0GNWeKC(Ow6o0Z`;JKJw=LGb*Nhy@kVi)!MR)F&@( z$(-JhgRFjfY4VZUkW+b97YeN|S2$g5^t#y*baz73gXxKn=B7VhTySuDF|zu(Rq5C3 z{BLFI+|JavUuf{C+Ui-0^Q&Ipchf>Y&WroFG~>+7JY@9?YO`;)N8ipjxs|1LH(&2z zh56G)hnHQRZzczSm=pbBaoWZC#pZq%VHsf%T?^}SZuh3#sc^iVXK*J^_d%)2<2u{t z?QX9p_`jbS@qR(_jn$P6yPEpgX7MldJ&0G;%1e&W@& zrFnOY+OBm0)kkJDu4}Eo)e(EYCFFji@7;3SdnKk1DlDEfI=lco>Fu1jE31lt>RYaL z0M)n5+`g={L$KCnJN=WapMwKkyo zrp0H%>h{MKFHf&ny?T9J-^Q4xRbC}at&3M!SFUqu-0Ii1JEHYyTITKC#>=fh^<68^ z*|*+SFS(&za=Z6PXX?o~APP9*<#N!@>4<~RNw1J|A+eWZGj3$oU2X)b?^|=xzyGd& z#SP8U8;u8Q!w>prpG*O2@jK$-dc?u=n0xSusPG z|0$asr_TtQw=8nWnusMU!j>&cUNc)YQbi+LLpM&>Jk|oJzIoZjkV$vLCf{{vxocE? z+qC+weZwQq)~7*TucG_km(6(uRD%r4=bm+KzY#U{Zb<)KyXLz<^)?L;Tw0&{b-oDi zds{T?0kUEs+sHXg$|_F7DN)NgN!dP0+9DB%Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$9Fmkdbk^le$PDw;T zR5(v-E-A&++i@_60@MbAE zzsrOhloA(f)aW-H05#N)f~yXs_nDB`OCs@74N`utN7gkOs$W}B zcDoseIW3x5dIfO3(+qQ~8yadD#q=nOI_@FE=0l?C7Pg5kv5sPQhad9JyU4%5qH<^$ zReS|nCQK^;hrT#uvNEp=ty55#XOT(ILQ=;go}9rqh9IQ$-$=8Cuy{mlRL)y^f9_b#Df@X_3wlQx|h@hBR+NYLFuLiJtjGO$Re?<3nf ziM)0mMW=%}aCRP5t_Lvnb87)d9fQAXnz{vfb(fHF$SKHm-9k>yc_FXPC8&+PLUH3o zp{(h$P+{#8s8d(CH3pixc1sr3#>A_1O!W3#CORR9iIFIoSgDGMOWx0HP0eGz-BZ9w iWkpPZw*KtVMP)7Lx|dmGW$$x;v%hmD2?+@a&mmf2v4=&!Xr*87;w>@2>=UAo zK3rb$@5C#Z0Brt^H4(jq`}NR9C}}NGDwF|bLwW0n3ZNpW6e?d&v<2D@?SSePQ4`b( zbwIl}5OqPl&|YYGBhe_tzcVfY*!((Z1C$7*z;rs41?58dFue&Xfi^>xFue_`f$E?} zm~MgEpb$^cm-JF106PB22~i)5%W6{pc96>p*{~f6EMF&9syoM2dk~4 zW8%I_L&wIwgANP}I#akm7>@v6bfR#-!ZSmkSx)ta#{f5iw2qB?pfmR~D>y*(>Wu{8 z*6~r95+LQ{L^3JuRw8A7l0-STlPPp3nF>Ekp^`6BY4hDQs`xUEwtSsV+rP=6+IyMQ za6glpzssVw2idgqVGecvkVD;%a;fj9Jlgv>M8i)*H2QNsO*|{0{l6B{q34D3sy7nA zXJy&~q#{%X%xB+DqP$O&sQ~7SK2N1m1aQoM6*j-)UIx{Fn@LSD-wN{`-)GZqnD6>A zmwF%N(ZJ(88hR3 zYY?Cg<{R&4QOkoYYKQqoqD)(F0LMH&xXgV% zxYt`JDmvia+Bz;ehw;H>?%DjQ*+FnnG(P;e=A&>dh09|9j7wUI$W8@-PLDw&b=t1i!W^feC{$OfES%j z+Q8zVRk4Rp=|oeNm~%YT7G-C~b)75I& z=g1a|z3Av%f%$8%$}CR+rz;7da&e~7m4|=lL)eNa6oJB%RGXm+XbZFrs)lNzdZ-a< zf!d%BXcx2x>V|ru0ca2!hDM=rXcF2F9STQaFFHC`VgANHwg5PwL=6yf&0~%ze2(VK zSK)rEYkmi=b*}klTw68sow)CE&G+NF*EPQn*D+|qHGdG-!;t{oI)cu1n7{ciR?Tyc z4*zfWTM1(THeUc?8{(M9BB*jm%x}kijcdLE*Cy9|JFYt+G2esxKG*yZt|OZHDcrl} z)zL@*ZXH2~%|{R5f;TUKpu^?`9X4MH2|8?E&|&j}4x8T%F*;&i&|&j}4x2v!0Ub84 zjzj*m00{rJ~9{%w;{%z<8_l%Bk&*6=y1W1z$4)tMjyaNkR1a_ey4$Eh+M?p<`)ygD010BIemOl}?SdsAg{>qupC>u}#M zpfb62n0s{^nug8?5nwUXRw^^rw3W)_)?xE5_m25<(1joZ#ADjZRzU`q0Ucg_bt#Ad z%P?(C=%|Yba5;zo`m~L6W$Ng#c{LLW;BFA+U2K082@f*wF4Hz`qwO+%RwlO&bI<6g zE6}w_fEec!@pkhzU(qh8#R5}M%iVWD%0Vf(P8sfq3f>&Fq*Wz84kc3 zwZ)(#TLsHT&1oH}Ol}>Qdq#)NtD8XtSjquq3FxRB2=HzY0r+$k-~q)iI&5COA4GtF z4=A?E)X`DzA;1Sg1TgI~`E09CTRvU+JfN7StyCtrj)RVCK9~Tuv#owW@t$qo?{igf}jmWAd30000Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$9Fmkdbk^le#*hxe| zR5(w?)A>u&aTvhyZ$!UE1QGob5rL^KkJeDZo4wt&AyBuSi znXN-D^O!fNh#*lxh)8yrj zku^P@D6?94YI{?r4zJ^B@sdQjJ@c&C#)=l%X!Htu@CCW^P=eaC=Ra_Tc?PGKI;Pkv zVvMizb#m){jZ6hm6D{@>Q_4N*ky0;{UOi8ZQ!NBC^t|KF>|CvP zl3VW`O;ix=RFS*k)GfFCbU7iU%6z<-noo>)&6h})!5@&)^!)($(ekeCh^}L9i>>l3 z!m%x>mYAT4TqB`EXIogY+ei_4t7w%U3uEg(r!jPkmy%51C~WhOWBit%`?mu|ixs75 zh+nBHVj)K2vW6DnuSiACp|BE9YlOtB2fhsW1;A$mKaTTYnViwOax|x7ZQtLB$ufsH z8Uit@+#BISd_G8ke;^56FUe)ZAn==kuLHjHvcaDR{1o8FW<6OA&+S}4Vi>~rVur3+ zbXDm=)KVu3%y+B>3UFV@P4|1?KL>t4@E-zS3w$x~uLD0h`{`;-zGXesIE)|0bnP>U zQRzk}1r8LD>p;OboGZX5A|$@Iz<&n(Uf|ycz8d)D8IM=8fq$i-dxLHo#z~m6^&N^X zbHcG51>`vpsmO(ZzYKgg@TY-44txvnn}A;j{1V`23VJqKrV*Tm-8R2Qps=}TjECh&Oejj(fjAHeqH$3$ zH5HL)Y!pJjhQiNrw#er>i+w1f}J)#a72kQR|3fX#=GNdX)wWmXOC;zr7Qv#ZTuqbMGH> z_?&h2^Sjqxdwtj1q$s%hvGDqsFaPXe20)dCChWfmQrCuzCtTbw`iQCsH99F=GN*QWNCx8xI9l-UFwijiSz0#WjSRPnp{(< zJ-fkDR#+f1$};SA8B(@}Z>$t6${JNhc8<|jTEkVQX4=v-3Bs<*Od^a`c4ISNpIa`; z)$$v1L|QGGBP!N5h6GpMvbK; zsoB_EZY|C!;W*08^+oj+&AE2Iu7T~et8yhos@PVj&gV#z)Y+o4Bz`8T%1z294D}q2 zE}O`+Hs#yv3$&bSuB0w4w<)>A?nt+&a!NDmQHwP*rzE4yDj*F-qExm{q86a8s*Gx# zge$3VN^RNYjtX&&mC#iah4%6?v5{jl*)6G=B~p!{sxhyu!DvmX7pG_(Ir=JrzA3kf zUBfombYxDGHZ5J5&&T8J`ljSsS(>UOS>0$(<`Pno(5$c57h)aQmPQd@ZRA)D75ORY zB6by5R%uYOGj&L}3NBi|P-m-7u^ChXjwzE}p)eVXRjJMSdTz2V$(SrI(C4Ss+bUEV zhgIchA}a+7eNAm@v&2|gnNqJ!X;7t>aqA>Wsg4{@t)R9}$Iq0M%EZc)#?0d6+-5WB zaO9G;mFdQcwCeI2aYb5AL8>ZQAF% zE-7$uiHv+c;Y@8NODk%mO;WX)C~Hb4^cjS%oXa)Z(;U_10#2G$p(-j*vX+UpbyX$F z>>{F`E2&QtCJF0>jv^;%tEsK6vFj9Sr6JwGWtWpWnX@(p9cHQ7n37zbU!>>j6hwW2 zwNz}((~}xuWknSs$S1jl>}qSKNaUz(;Bw6kd}n2{y0A1)Tia-8l%%Ohwx-r>lNHpH zbyd~QG^rlrXet_vDyJyLPH1!~jfSFTvQe8R(xAPQYNbtTDj^z`IVwYnR-w>0WpYV; zmKl0+Q(7ITI!$0tC2AWqM5CUYTEjNgaPr9dvYOf^w$-XDwv;LM2Zq_QDMEJ${{jW^Nn_`FwZHf zV&^D05)qLh&}0ZXNy0p})+W;z)zx!~MUnW;Yk-XVmif?Al^!inK}RuoiG^#kz)i$eHp?`Qok*!v*Q|7Ck zWn_cem}Ru-^(!L~sHD_sv8oL}LZxm_#()19qLv^O>B@9&N+u^wot%*wg_ZrcWjc~d zn?Y@~#-NVqP;QP2X71=v(q3t^sLfKfRe?9dx|XpctO{+cN@p>V7PTreEG#nOXJNNo zk6VD#e1Xnl#a4-pO$}{fvyjy5)k-T$_Lj}1Cbd$h(CeDjs?CK8gStYYx2b;|fOo!X zaoVB{!!Z~OEf{ zn`4Ef0dK+_B_wS|Yb5d%OLWj`mY78gg+)Y!MMs5&-)LQ-!lITKEo!4hXVux&7+FZF z)Jy0;zrhjxWXjU|v9b7Y!dNUUZbAYd0BZ#nE0L%|ZzOK|$?*kGK`vF)ljdl-RAK~)h@&L#A$I%G~xF~#{>#mO+ z0-e>MFa_gBkP1st<|dPwG^x#2o!Sy(v6(drrFunh6gwENR))%hJCvDb%2Jb+592a&io;vrNC3&)fQjrch#vDipl z8}TrzgoOwBf=jGTSZqe(+K43F9*G_O|IY>NFRKl5Jqo0yY7~_eR?@uEAlF%zLf4v5 z)?CbTIKZzk$c;FSNKn{aW00fFQjU^~3sv9yf~{%Sw_?f#Thp&^ z#T*Q_a<6NR!k+Zsb7QPzOs!sRRLM+{_h0X|_&5Zi4hy@GG#eE9#VU6FV45RPAqqS0 zjfj9VUX(?tFeWd%LquDw_<*m!FZ_h_Qni6JI|X`D*{}g&pac+(zpM--mOS$aDu+d3 zn*3v?VMQYGX)n9J#NZr*Hoj745h#=mS~JR`suldhkZiwNS$oP<0TaXC94+(5O)>b5zZ7m%08*eW<3yDP-4r?2#U>MBy zAPf%`!ZGcGFpr?Zau^&0f-rnkScFMq2~Z^*!QhY(gc0Hf92HbfK2sAPnBBC&9mu2+p*o}!9i&ocK>$qtvYJ;i168})RGE^1^ ze<@_uDJ(_7+j^`@twHHQt-|Q&ejOVgz5$mosnE0JYhmHxm~I&Tx?5?mR*IX-kO;>w z<{;ivIHn&~^aeo_ zLBhNXAw7mltY0C4AC?@8$B_skVKN4hFc1F@5~f}VNr6hNS|sqpQeuJ4jFHx0tKlae zTMj>K@b2*wk1c?oHFy{JiN`y^Pk2x_RA8xb4J&yQu4#~1gEhrZ{Nuq7>JP4uDl9D$ z;aHL2=sHwbgSEj=eCXg&KZeA&5_BEF9ia_lZ!bM|FZw?9slu3BCoAAk+-pJk9=&%v+feW{NN10aqs~{Q+v8*sY751Jh+NDzure5 zg-)gt+~AW1*i;YXb~g2~{NZlGx91SRn{(j$9Rp|lE|@2oGpB)izzc2xz$8X`#3 za{zWSJcb6h%ltA!bu!c=!1LqkfBlA`3V_N3@Z-_nxjzT`&p^Kp^aAc4@129r-)*BR zreiMCQ32?F6TrT6)-48zLd(9yK<}DUiKhXr;Cd6>@u%h|Vf7@mPeSLKQ}hD?v@AT! zP~)S_9~pRYr_U_}*iP-82I(ZwnF#MyfcJO0-H!n5y95sf;A56cE(Tf%iOwFR6(t6$ zz{A`%2M^3a>G1%XlJ5n!7bm>-AcPXntKM_4>%l?b-afkRHIO5?)qNlAIe2K3E4zv5-uER8 zUV`I;KV#^#gZmH8EsS^XI}InvyP#A0*rnM4(sz0eE~0MtTkQ5*=1JFovbXmw7}mi& z1kSwOcI!0##=(`I@!2z%@}Ai;GeADNhWP=F?*8H>cRvyB=$|EjO}6#Qvw=h^(R&VV zy<&o^Q?~nN4_%2f!PLP%r=Q~5?(>XyzqJz$L^i_H6X^p7TMzcQUT1GXW;pyB!1>N7 zKlv7$o|+jjST7#y5B!#ar?AUSQRCWh=&-6^CeH~g8T+2Ggc0W5Cqeq*m(v47pT9(( z{dQ(xa6Pky*Ye?)6CItK{8WWijn?8$12i+E6IT`<@k1{1SwFxGw}+Voo)_8~K#Sg> z2vY#DkQjhmfCV2w%-V-OmxW^RH6ljd_AezOgXjfJIz#&*F^kvSHs_yQ_+nPL9ksvg zhwru_e*Q4q&>GH8XK5V*55o>3kRxYrC*FVip$h492Z#{&OuqP!F}*WOy#Lrnm4mYGRH z>jpZT7Vx@XeFwgE%xRva2eu(xA4LXcY2N6z1)BaL=_0S!15$d22_9q3yQYA-6W)It z?M5~H>#OvL`-9x~s7E}!jl(=2O$|}g^M3sC>@-oL_jvaVcdnhH@BNnEI81wK9;0m| zk3kDsBKN()*!jOf;B9K*ymmG0X^j}>-8Y*C-lrWh4_cl!FK2V7Ky%U_E4Z9!bSAYZryEpuI)Xs7=PpG$87 zkG*xaeRwaqb@=J4uTh7+yJp&F22jl0#~keKp6H;ko3Fpn@daHGaGe2BAnv@Z2c)9P zwijE4J+R_QUpI5{gNq$gRA3z*pz#fix{!W0>%~nAyG*Xnh!y8MZuz2bf&Li2zDVri zSuaXkUwo2ej-I(PfKKi0=TMl?_{oDTaJcSZiW6Fpw#r>7d?k3s<=Ydc2RyD1y|kM- z!}FY&rsG`xgTxhSosyUtI7|7w(C2geKO=TS%k)4y#}$7WJkN9u5DwTU_fu|vFMT1Q zpLc?wPri+m0qxd=mKDe_t_Kw8G8kd&>Df!f^qzO#=^p7I*Td%rTptnr+XB+o)5ik|$0_B*J%1oS+!io+#yd`c zrtgwx4h>A19q4_~)jH;(BHkJCO%D)zVE2Xim9E=5_csEOL|hplo`aYR@zD$8(ZjUF z&-)WuR(bAsWS`DYZSIthMa%&87obAqdu^hD$7`O+9cyL%bGZVQU7~aM^1`}5o)-b&8!S-qRV0&LQgT{3*V4DW&aVC3jzL}p>{L8SE2n9Y?*^BFKqWhgcpQfPOH&Qnu1hlaKg*Aa=m+$xm00 zcI;)Sg}4#u|LUb}XaR>SjCpK-jO#Y^w!Zk`%_t-tB`W725hVlPBI>piXo;hQ`!zOJ zslf|LO!PE-7}`?G*41c@)yPJOl}F(I#}?i_PVj^PZy@Bv|6tRb(H!0+>e~Ik@Vy}7 z5>V5`4(i#EsXEBK%JqFIJ=EHe9aAvaw+Tp_;awAPmtBzzZ)FI7ka`hm#Ce@faSrb4^*o23^3hEl^JqUHf6e{fXQ4rfqj!EXMcPAp z#=8Ccx}9#=g!Y#B{RqSij~_-W!qD@ctCa|N$~b!&sR<2p0Y6ORonC}F|2ZH>wl}xQ z0+2Y}AnuC>*g~F;R7aC&S(B9oNA@bTx&fA}uX>m=T`sIw5 zL&ZH1K_6gvd)`9<2RdG8Lnv#>r!0{S{ml~*znB^xKZ`D)c6!&dGxr}t{}&-c|FLbT z>+ZRQmt0@n))x1|TaKH?xIJS)9WgvkPFikx;^~yby#v0x{>0nCK%();>|j|BqlF8G z$6c?wY15wvshOc~p6~aje^fC*9!W@Eg)o$0c~(8a^_(3CWRvsptKeeS-OB8am%X!O z*&VyiEhJKLf1RLrc^*CcK6TzO-P{SV{`|T?`@Xhw^KfKV=1<@H2Y)|Vm%h|!u ze?i^HXbQ#aM1T6uQ*X(~q8EJWUT&D>JzK{%>L7F}FQ58rV#ptn*N|t9YU!hfbAb;S z=(?NxO1|%9M1=`2+QeiRyz`XL)wJmF_ZYROv4ii$diMwNj>B2QxdrMBywuKoCLc?9 z|6N%9TltqUKV|;x27)P?^ZHG*@~;Mo08}#TU4PmW7`Oy9J3yg- z2GM2Yw+!zMAdnKjXW#&um+A$V2;gIMh`$Jc`xSt@>0RG+U7o!%)N?yHFC6aj?SP}c z5ufWR2JS;w5J>;%Ip8CJry0nn;%+~!rFVTcBpq}uG^`wZ&fWJHt$5dr&;5T!4@(D6 zb*=e0fVjCeVT&LAY_Ol68JZje^XV0k)bgeLp7%~tqbI%wcPlzbp$S$~dsYv<#9KE= f&NqB=#~pg(RroLM#EDzwvkT~wRho4Rrpf;U^;a;g literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_switch.png b/OnTopReplica/Assets/window_switch.png new file mode 100644 index 0000000000000000000000000000000000000000..987ef8eea5050eb07f43ac3f3fa443d0359f85a6 GIT binary patch literal 456 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_up.png b/OnTopReplica/Assets/xiao_up.png new file mode 100644 index 0000000000000000000000000000000000000000..4a32677c764cb6b9dcb1259246837898a1b44880 GIT binary patch literal 744 zcmVP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;Zb?KzRCwB?lS@ccQ5eU6=gyrgI+i+!(lmmGkwlPU_CUhgxNXxyR}q4bUbL%4 zD``=?=&3?P`!?Z9U1+$deBgr=3pAly>7=*uG50lh?rCwI$#mHt4xICy@B5waaL!*y zDG@@DRYT8|2DAg0fpa_I_rM#VZ@jb4&E`re5xW5mJyY!=Mf5h+RB$XFrL-hST>A~5 zb%S>c-^lo~W4yDjZy%uk#pJbUq~O_=i#24zu#pBQ69Do;P!xtx8eR`CV5H3JlU?=C zbAZ#m(^^Oo&W+}i7{F#4q=eB49f0$v;s^l;!w?0Y4$hGAW!_jvt*ZcJ(r#Dd(HNV+ zFAHopC?05yGte4mbVA2=gS}0l@o0=p+U){R0E7@NRb?e4w!pGrY$hnqYM?dF*o=;4 zL1GK4%1RJIwB!IvNUaZRD#?_O?fCx`?}pfpPcr4BX(~!ctp`xE39ctGZ3j<6+ei?5 zc_ANwwh=1_QbP*18^%Yba{$ja=TfFwiw~CT?>pUcyxjbNreNA0zHNQUUBNU~`t`LW zg{s7L9c(8US!LI*>rkjl^tB|WvCLuVch{El$5@>0 z#!9UJ?I8Hdg_SpZ?v38!00000 + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + this.menuContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.windowsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.quitFullscreenModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); + this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this._thumbnail = new OnTopReplica.ThumbnailPanel(); + this.menuContext.SuspendLayout(); + this.menuWindows.SuspendLayout(); + this.SuspendLayout(); + // + // menuContext + // + this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.windowsToolStripMenuItem, + this.quitFullscreenModeToolStripMenuItem}); + this.menuContext.Name = "contextMenuStrip1"; + this.menuContext.Size = new System.Drawing.Size(186, 70); + // + // windowsToolStripMenuItem + // + this.windowsToolStripMenuItem.DropDown = this.menuWindows; + this.windowsToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_multiple16; + this.windowsToolStripMenuItem.Name = "windowsToolStripMenuItem"; + this.windowsToolStripMenuItem.Size = new System.Drawing.Size(185, 22); + this.windowsToolStripMenuItem.Text = Strings.MenuWindows; + this.windowsToolStripMenuItem.ToolTipText = Strings.MenuWindowsTT; + this.windowsToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Windows_opening); + // + // quitFullscreenModeToolStripMenuItem + // + this.quitFullscreenModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; + this.quitFullscreenModeToolStripMenuItem.Name = "quitFullscreenModeToolStripMenuItem"; + this.quitFullscreenModeToolStripMenuItem.Size = new System.Drawing.Size(185, 22); + this.quitFullscreenModeToolStripMenuItem.Text = Strings.MenuQuitFullscreen; + this.quitFullscreenModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Quit_click); + // + // menuWindows + // + this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.noneToolStripMenuItem}); + this.menuWindows.Name = "menuWindows"; + this.menuWindows.OwnerItem = this.windowsToolStripMenuItem; + this.menuWindows.Size = new System.Drawing.Size(153, 48); + // + // noneToolStripMenuItem + // + this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; + this.noneToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.noneToolStripMenuItem.Text = Strings.MenuWindowsNone; + // + // _thumbnail + // + this._thumbnail.BackColor = System.Drawing.SystemColors.Control; + this._thumbnail.ClickThrough = true; + this._thumbnail.Cursor = System.Windows.Forms.Cursors.Default; + this._thumbnail.Dock = System.Windows.Forms.DockStyle.Fill; + this._thumbnail.DrawMouseRegions = false; + this._thumbnail.FullscreenMode = false; + this._thumbnail.GlassMode = false; + this._thumbnail.Location = new System.Drawing.Point(0, 0); + this._thumbnail.Name = "_thumbnail"; + this._thumbnail.ShownRegion = new System.Drawing.Rectangle(0, 0, 0, 0); + this._thumbnail.ShowRegion = false; + this._thumbnail.Size = new System.Drawing.Size(284, 264); + this._thumbnail.TabIndex = 0; + // + // FullscreenForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Black; + this.ClientSize = new System.Drawing.Size(284, 264); + this.ContextMenuStrip = this.menuContext; + this.Controls.Add(this._thumbnail); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "FullscreenForm"; + this.ShowInTaskbar = false; + this.Text = "OnTopReplica Fullscreen"; + this.TopMost = true; + this.TransparencyKey = System.Drawing.Color.Black; + this.menuContext.ResumeLayout(false); + this.menuWindows.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private ThumbnailPanel _thumbnail; + private System.Windows.Forms.ContextMenuStrip menuContext; + private System.Windows.Forms.ToolStripMenuItem windowsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem quitFullscreenModeToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuWindows; + private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; + } +} \ No newline at end of file diff --git a/OnTopReplica/FullscreenForm.cs b/OnTopReplica/FullscreenForm.cs new file mode 100644 index 0000000..3e07844 --- /dev/null +++ b/OnTopReplica/FullscreenForm.cs @@ -0,0 +1,144 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + public partial class FullscreenForm : Form { + + public FullscreenForm() { + InitializeComponent(); + + _thumbnail.GlassMode = true; + + //Set native renderer on context menu + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(new Control[] { + menuContext, menuWindows + }); + } + + WindowHandle _lastHandle; + WindowManager _manager = new WindowManager(WindowManager.EnumerationMode.TaskWindows); + + public void DisplayFullscreen(Screen screen, WindowHandle window) { + _lastHandle = window; + + //Init thumbnail + _thumbnail.SetThumbnailHandle(window); + + //Form setup + this.Location = screen.WorkingArea.Location; + this.Size = screen.WorkingArea.Size; + } + + public void CloseFullscreen() { + this.Visible = false; + + _thumbnail.UnsetThumbnail(); + } + + public Rectangle ShownRegion { + get { + return _thumbnail.ShownRegion; + } + set { + _thumbnail.ShownRegion = value; + } + } + + public bool ShowRegion { + get { + return _thumbnail.ShowRegion; + } + set { + _thumbnail.ShowRegion = value; + } + } + + public event EventHandler CloseRequest; + + protected virtual void OnCloseRequest() { + if (CloseRequest != null) + CloseRequest(this, new CloseRequestEventArgs(_lastHandle)); + } + + protected override void OnDoubleClick(EventArgs e) { + OnCloseRequest(); + + base.OnDoubleClick(e); + } + + protected override void OnKeyUp(KeyEventArgs e) { + if (e.KeyCode == Keys.Escape) { + e.Handled = true; + + OnCloseRequest(); + } + + base.OnKeyUp(e); + } + + bool _clickThrough = false; + + public bool ClickThrough { + get { + return _clickThrough; + } + set { + _clickThrough = value; + + this.TransparencyKey = (value) ? Color.Black : Color.White; + this.Invalidate(); + } + } + + const int WM_NCHITTEST = 0x0084; + const int HTTRANSPARENT = -1; + + protected override void WndProc(ref Message m) { + if (_clickThrough && m.Msg == WM_NCHITTEST) { + m.Result = new IntPtr(HTTRANSPARENT); + return; + } + + base.WndProc(ref m); + } + + private void Menu_Quit_click(object sender, EventArgs e) { + OnCloseRequest(); + } + + private void Menu_Windows_opening(object sender, EventArgs e) { + _manager.Refresh(WindowManager.EnumerationMode.TaskWindows); + + WindowListHelper.PopulateMenu(_manager, menuWindows, _lastHandle, new EventHandler(Menu_Window_click)); + } + + void Menu_Window_click(object sender, EventArgs e) { + //Get clicked item and window index from tag + ToolStripItem tsi = (ToolStripItem)sender; + + //Handle -none- selection + if (tsi.Tag == null) { + OnCloseRequest(); + return; + } + + int index = (int)tsi.Tag; + + if (index >= _manager.Windows.Count) + return; + + var handle = _manager.Windows[index]; + + _thumbnail.SetThumbnailHandle(handle); + _lastHandle = handle; + } + + } + +} diff --git a/OnTopReplica/FullscreenForm.resx b/OnTopReplica/FullscreenForm.resx new file mode 100644 index 0000000..a24a56c --- /dev/null +++ b/OnTopReplica/FullscreenForm.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 142, 17 + + \ No newline at end of file diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs new file mode 100644 index 0000000..cec9c46 --- /dev/null +++ b/OnTopReplica/MainForm.Designer.cs @@ -0,0 +1,562 @@ +namespace OnTopReplica +{ + partial class MainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.menuContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.menuContextWindows = new System.Windows.Forms.ToolStripMenuItem(); + this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); + this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.switchToWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.selectRegionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.forwardClicksToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextOpacity = new System.Windows.Forms.ToolStripMenuItem(); + this.menuOpacity = new System.Windows.Forms.ContextMenuStrip(this.components); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripMenuItem(); + this.resizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuResize = new System.Windows.Forms.ContextMenuStrip(this.components); + this.doubleToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.fitToWindowToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.halfToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.quarterToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.fullscreenToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.clickThroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); + this.autofitOnResizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.dockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); + this.recallLastPositionAndSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.chromeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.reduceToIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.languageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuLanguages = new System.Windows.Forms.ContextMenuStrip(this.components); + this.englishToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.italianoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); + this.menuIconContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.resetWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContext.SuspendLayout(); + this.menuWindows.SuspendLayout(); + this.menuOpacity.SuspendLayout(); + this.menuResize.SuspendLayout(); + this.menuLanguages.SuspendLayout(); + this.menuIconContext.SuspendLayout(); + this.SuspendLayout(); + // + // menuContext + // + this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuContextWindows, + this.switchToWindowToolStripMenuItem, + this.selectRegionToolStripMenuItem, + this.forwardClicksToolStripMenuItem, + this.menuContextOpacity, + this.resizeToolStripMenuItem, + this.dockToolStripMenuItem, + this.chromeToolStripMenuItem, + this.reduceToIconToolStripMenuItem, + this.toolStripSeparator1, + this.languageToolStripMenuItem, + this.aboutToolStripMenuItem, + this.menuContextClose}); + this.menuContext.Name = "menuContext"; + this.menuContext.Size = new System.Drawing.Size(196, 298); + this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); + // + // menuContextWindows + // + this.menuContextWindows.DropDown = this.menuWindows; + this.menuContextWindows.Image = global::OnTopReplica.Properties.Resources.window_multiple16; + this.menuContextWindows.Name = "menuContextWindows"; + this.menuContextWindows.Size = new System.Drawing.Size(195, 24); + this.menuContextWindows.Text = global::OnTopReplica.Strings.MenuWindows; + this.menuContextWindows.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + this.menuContextWindows.DropDownOpening += new System.EventHandler(this.Menu_Windows_opening); + // + // menuWindows + // + this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.noneToolStripMenuItem}); + this.menuWindows.Name = "menuWindows"; + this.menuWindows.OwnerItem = this.menuContextWindows; + this.menuWindows.Size = new System.Drawing.Size(132, 28); + // + // noneToolStripMenuItem + // + this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; + this.noneToolStripMenuItem.Size = new System.Drawing.Size(131, 24); + this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; + // + // switchToWindowToolStripMenuItem + // + this.switchToWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_switch; + this.switchToWindowToolStripMenuItem.Name = "switchToWindowToolStripMenuItem"; + this.switchToWindowToolStripMenuItem.Size = new System.Drawing.Size(195, 24); + this.switchToWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSwitch; + this.switchToWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSwitchTT; + this.switchToWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_Switch_click); + // + // selectRegionToolStripMenuItem + // + this.selectRegionToolStripMenuItem.Enabled = false; + this.selectRegionToolStripMenuItem.Name = "selectRegionToolStripMenuItem"; + this.selectRegionToolStripMenuItem.Size = new System.Drawing.Size(195, 24); + this.selectRegionToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRegion; + this.selectRegionToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRegionTT; + this.selectRegionToolStripMenuItem.Click += new System.EventHandler(this.Menu_Region_click); + // + // forwardClicksToolStripMenuItem + // + this.forwardClicksToolStripMenuItem.Name = "forwardClicksToolStripMenuItem"; + this.forwardClicksToolStripMenuItem.Size = new System.Drawing.Size(195, 24); + this.forwardClicksToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickForwarding; + this.forwardClicksToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickForwardingTT; + this.forwardClicksToolStripMenuItem.Click += new System.EventHandler(this.Menu_Forward_click); + // + // menuContextOpacity + // + this.menuContextOpacity.DropDown = this.menuOpacity; + this.menuContextOpacity.Image = global::OnTopReplica.Properties.Resources.window_opacity16; + this.menuContextOpacity.Name = "menuContextOpacity"; + this.menuContextOpacity.Size = new System.Drawing.Size(195, 24); + this.menuContextOpacity.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // menuOpacity + // + this.menuOpacity.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripMenuItem1, + this.toolStripMenuItem2, + this.toolStripMenuItem3, + this.toolStripMenuItem4, + this.toolStripSeparator2, + this.toolStripMenuItem5}); + this.menuOpacity.Name = "menuOpacity"; + this.menuOpacity.OwnerItem = this.menuContextOpacity; + this.menuOpacity.ShowCheckMargin = true; + this.menuOpacity.ShowImageMargin = false; + this.menuOpacity.Size = new System.Drawing.Size(180, 130); + this.menuOpacity.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Opacity_opening); + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Checked = true; + this.toolStripMenuItem1.CheckState = System.Windows.Forms.CheckState.Checked; + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(179, 24); + this.toolStripMenuItem1.Tag = 255; + this.toolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuOp100; + this.toolStripMenuItem1.ToolTipText = global::OnTopReplica.Strings.MenuOp100TT; + this.toolStripMenuItem1.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem2 + // + this.toolStripMenuItem2.Name = "toolStripMenuItem2"; + this.toolStripMenuItem2.Size = new System.Drawing.Size(179, 24); + this.toolStripMenuItem2.Tag = 190; + this.toolStripMenuItem2.Text = global::OnTopReplica.Strings.MenuOp75; + this.toolStripMenuItem2.ToolTipText = global::OnTopReplica.Strings.MenuOp75TT; + this.toolStripMenuItem2.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem3 + // + this.toolStripMenuItem3.Name = "toolStripMenuItem3"; + this.toolStripMenuItem3.Size = new System.Drawing.Size(179, 24); + this.toolStripMenuItem3.Tag = 128; + this.toolStripMenuItem3.Text = global::OnTopReplica.Strings.MenuOp50; + this.toolStripMenuItem3.ToolTipText = global::OnTopReplica.Strings.MenuOp50TT; + this.toolStripMenuItem3.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem4 + // + this.toolStripMenuItem4.Name = "toolStripMenuItem4"; + this.toolStripMenuItem4.Size = new System.Drawing.Size(179, 24); + this.toolStripMenuItem4.Tag = 64; + this.toolStripMenuItem4.Text = global::OnTopReplica.Strings.MenuOp25; + this.toolStripMenuItem4.ToolTipText = global::OnTopReplica.Strings.MenuOp25TT; + this.toolStripMenuItem4.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(176, 6); + // + // toolStripMenuItem5 + // + this.toolStripMenuItem5.Checked = true; + this.toolStripMenuItem5.CheckState = System.Windows.Forms.CheckState.Checked; + this.toolStripMenuItem5.Name = "toolStripMenuItem5"; + this.toolStripMenuItem5.Size = new System.Drawing.Size(179, 24); + this.toolStripMenuItem5.Text = global::OnTopReplica.Strings.MenuGlass; + this.toolStripMenuItem5.ToolTipText = global::OnTopReplica.Strings.MenuGlassTT; + this.toolStripMenuItem5.Click += new System.EventHandler(this.Menu_Opacity_Glass_click); + // + // resizeToolStripMenuItem + // + this.resizeToolStripMenuItem.DropDown = this.menuResize; + this.resizeToolStripMenuItem.Enabled = false; + this.resizeToolStripMenuItem.Name = "resizeToolStripMenuItem"; + this.resizeToolStripMenuItem.Size = new System.Drawing.Size(195, 24); + this.resizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResize; + // + // menuResize + // + this.menuResize.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.doubleToolStripMenuItem1, + this.fitToWindowToolStripMenuItem1, + this.halfToolStripMenuItem1, + this.quarterToolStripMenuItem1, + this.toolStripSeparator3, + this.fullscreenToolStripMenuItem1, + this.clickThroughToolStripMenuItem, + this.toolStripSeparator5, + this.autofitOnResizeToolStripMenuItem}); + this.menuResize.Name = "menuResize"; + this.menuResize.OwnerItem = this.resizeToolStripMenuItem; + this.menuResize.Size = new System.Drawing.Size(192, 184); + this.menuResize.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Resize_opening); + // + // doubleToolStripMenuItem1 + // + this.doubleToolStripMenuItem1.Name = "doubleToolStripMenuItem1"; + this.doubleToolStripMenuItem1.Size = new System.Drawing.Size(191, 24); + this.doubleToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitDouble; + this.doubleToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Double); + // + // fitToWindowToolStripMenuItem1 + // + this.fitToWindowToolStripMenuItem1.Name = "fitToWindowToolStripMenuItem1"; + this.fitToWindowToolStripMenuItem1.Size = new System.Drawing.Size(191, 24); + this.fitToWindowToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitOriginal; + this.fitToWindowToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_FitToWindow); + // + // halfToolStripMenuItem1 + // + this.halfToolStripMenuItem1.Name = "halfToolStripMenuItem1"; + this.halfToolStripMenuItem1.Size = new System.Drawing.Size(191, 24); + this.halfToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitHalf; + this.halfToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Half); + // + // quarterToolStripMenuItem1 + // + this.quarterToolStripMenuItem1.Name = "quarterToolStripMenuItem1"; + this.quarterToolStripMenuItem1.Size = new System.Drawing.Size(191, 24); + this.quarterToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitQuarter; + this.quarterToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Quarter); + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(188, 6); + // + // fullscreenToolStripMenuItem1 + // + this.fullscreenToolStripMenuItem1.Name = "fullscreenToolStripMenuItem1"; + this.fullscreenToolStripMenuItem1.Size = new System.Drawing.Size(191, 24); + this.fullscreenToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitFullscreen; + this.fullscreenToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Fullscreen); + // + // clickThroughToolStripMenuItem + // + this.clickThroughToolStripMenuItem.Checked = true; + this.clickThroughToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; + this.clickThroughToolStripMenuItem.Name = "clickThroughToolStripMenuItem"; + this.clickThroughToolStripMenuItem.Size = new System.Drawing.Size(191, 24); + this.clickThroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResizeClickThrough; + this.clickThroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuResizeClickThroughTT; + this.clickThroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_Resize_ClickThrough); + // + // toolStripSeparator5 + // + this.toolStripSeparator5.Name = "toolStripSeparator5"; + this.toolStripSeparator5.Size = new System.Drawing.Size(188, 6); + // + // autofitOnResizeToolStripMenuItem + // + this.autofitOnResizeToolStripMenuItem.Name = "autofitOnResizeToolStripMenuItem"; + this.autofitOnResizeToolStripMenuItem.Size = new System.Drawing.Size(191, 24); + this.autofitOnResizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAutofit; + this.autofitOnResizeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAutofitTT; + this.autofitOnResizeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Resize_Autofit_click); + // + // dockToolStripMenuItem + // + this.dockToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.topLeftToolStripMenuItem, + this.topRightToolStripMenuItem, + this.bottomLeftToolStripMenuItem, + this.bottomRightToolStripMenuItem, + this.toolStripSeparator4, + this.recallLastPositionAndSizeToolStripMenuItem}); + this.dockToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_null; + this.dockToolStripMenuItem.Name = "dockToolStripMenuItem"; + this.dockToolStripMenuItem.Size = new System.Drawing.Size(195, 24); + this.dockToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosition; + this.dockToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuPositionTT; + // + // topLeftToolStripMenuItem + // + this.topLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topleft; + this.topLeftToolStripMenuItem.Name = "topLeftToolStripMenuItem"; + this.topLeftToolStripMenuItem.Size = new System.Drawing.Size(261, 24); + this.topLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopLeft; + this.topLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopLeft); + // + // topRightToolStripMenuItem + // + this.topRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topright; + this.topRightToolStripMenuItem.Name = "topRightToolStripMenuItem"; + this.topRightToolStripMenuItem.Size = new System.Drawing.Size(261, 24); + this.topRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopRight; + this.topRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopRight); + // + // bottomLeftToolStripMenuItem + // + this.bottomLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomleft; + this.bottomLeftToolStripMenuItem.Name = "bottomLeftToolStripMenuItem"; + this.bottomLeftToolStripMenuItem.Size = new System.Drawing.Size(261, 24); + this.bottomLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomLeft; + this.bottomLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomLeft); + // + // bottomRightToolStripMenuItem + // + this.bottomRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomright; + this.bottomRightToolStripMenuItem.Name = "bottomRightToolStripMenuItem"; + this.bottomRightToolStripMenuItem.Size = new System.Drawing.Size(261, 24); + this.bottomRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomRight; + this.bottomRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomRight); + // + // toolStripSeparator4 + // + this.toolStripSeparator4.Name = "toolStripSeparator4"; + this.toolStripSeparator4.Size = new System.Drawing.Size(258, 6); + // + // recallLastPositionAndSizeToolStripMenuItem + // + this.recallLastPositionAndSizeToolStripMenuItem.Name = "recallLastPositionAndSizeToolStripMenuItem"; + this.recallLastPositionAndSizeToolStripMenuItem.Size = new System.Drawing.Size(261, 24); + this.recallLastPositionAndSizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRecall; + this.recallLastPositionAndSizeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRecallTT; + this.recallLastPositionAndSizeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_Recall_click); + // + // chromeToolStripMenuItem + // + this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem"; + this.chromeToolStripMenuItem.Size = new System.Drawing.Size(195, 24); + this.chromeToolStripMenuItem.Text = "Chrome"; + this.chromeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Chrome_click); + // + // reduceToIconToolStripMenuItem + // + this.reduceToIconToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.reduce; + this.reduceToIconToolStripMenuItem.Name = "reduceToIconToolStripMenuItem"; + this.reduceToIconToolStripMenuItem.Size = new System.Drawing.Size(195, 24); + this.reduceToIconToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReduce; + this.reduceToIconToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuReduceTT; + this.reduceToIconToolStripMenuItem.Click += new System.EventHandler(this.Menu_Reduce_click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(192, 6); + // + // languageToolStripMenuItem + // + this.languageToolStripMenuItem.DropDown = this.menuLanguages; + this.languageToolStripMenuItem.Name = "languageToolStripMenuItem"; + this.languageToolStripMenuItem.Size = new System.Drawing.Size(195, 24); + this.languageToolStripMenuItem.Text = global::OnTopReplica.Strings.Language; + // + // menuLanguages + // + this.menuLanguages.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.englishToolStripMenuItem, + this.italianoToolStripMenuItem}); + this.menuLanguages.Name = "menuLanguages"; + this.menuLanguages.OwnerItem = this.languageToolStripMenuItem; + this.menuLanguages.Size = new System.Drawing.Size(129, 52); + // + // englishToolStripMenuItem + // + this.englishToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_usa; + this.englishToolStripMenuItem.Name = "englishToolStripMenuItem"; + this.englishToolStripMenuItem.Size = new System.Drawing.Size(128, 24); + this.englishToolStripMenuItem.Tag = "en-US"; + this.englishToolStripMenuItem.Text = "English"; + this.englishToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // italianoToolStripMenuItem + // + this.italianoToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_ita; + this.italianoToolStripMenuItem.Name = "italianoToolStripMenuItem"; + this.italianoToolStripMenuItem.Size = new System.Drawing.Size(128, 24); + this.italianoToolStripMenuItem.Tag = "it-IT"; + this.italianoToolStripMenuItem.Text = "Italiano"; + this.italianoToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(195, 24); + this.aboutToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAbout; + this.aboutToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAboutTT; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.Menu_About_click); + // + // menuContextClose + // + this.menuContextClose.Image = global::OnTopReplica.Properties.Resources.close_new; + this.menuContextClose.Name = "menuContextClose"; + this.menuContextClose.Size = new System.Drawing.Size(195, 24); + this.menuContextClose.Text = global::OnTopReplica.Strings.MenuClose; + this.menuContextClose.Click += new System.EventHandler(this.Menu_Close_click); + // + // menuIconContext + // + this.menuIconContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.openToolStripMenuItem, + this.resetWindowToolStripMenuItem, + this.exitToolStripMenuItem}); + this.menuIconContext.Name = "menuIconContext"; + this.menuIconContext.Size = new System.Drawing.Size(171, 76); + // + // openToolStripMenuItem + // + this.openToolStripMenuItem.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.openToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.icon; + this.openToolStripMenuItem.Name = "openToolStripMenuItem"; + this.openToolStripMenuItem.Size = new System.Drawing.Size(170, 24); + this.openToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpen; + this.openToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuOpenTT; + this.openToolStripMenuItem.Click += new System.EventHandler(this.IconContextOpen_click); + // + // resetWindowToolStripMenuItem + // + this.resetWindowToolStripMenuItem.Name = "resetWindowToolStripMenuItem"; + this.resetWindowToolStripMenuItem.Size = new System.Drawing.Size(170, 24); + this.resetWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReset; + this.resetWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuResetTT; + this.resetWindowToolStripMenuItem.Click += new System.EventHandler(this.IconContextReset_click); + // + // exitToolStripMenuItem + // + this.exitToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; + this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; + this.exitToolStripMenuItem.Size = new System.Drawing.Size(170, 24); + this.exitToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClose; + this.exitToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuCloseTT; + this.exitToolStripMenuItem.Click += new System.EventHandler(this.IconContextExit_click); + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.Control; + this.ClientSize = new System.Drawing.Size(352, 251); + this.ContextMenuStrip = this.menuContext; + this.ControlBox = false; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Margin = new System.Windows.Forms.Padding(4); + this.MinimumSize = new System.Drawing.Size(47, 45); + this.Name = "MainForm"; + this.ShowInTaskbar = false; + this.TopMost = true; + this.DoubleClick += new System.EventHandler(this.Form_doubleclick); + this.menuContext.ResumeLayout(false); + this.menuWindows.ResumeLayout(false); + this.menuOpacity.ResumeLayout(false); + this.menuResize.ResumeLayout(false); + this.menuLanguages.ResumeLayout(false); + this.menuIconContext.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ContextMenuStrip menuContext; + private System.Windows.Forms.ToolStripMenuItem menuContextWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextClose; + private System.Windows.Forms.ContextMenuStrip menuWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextOpacity; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.ContextMenuStrip menuOpacity; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem4; + private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem reduceToIconToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem selectRegionToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem resizeToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem5; + private System.Windows.Forms.ContextMenuStrip menuIconContext; + private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem resetWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem switchToWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem dockToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topRightToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomRightToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator4; + private System.Windows.Forms.ToolStripMenuItem recallLastPositionAndSizeToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuResize; + private System.Windows.Forms.ToolStripMenuItem doubleToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fitToWindowToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem halfToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem quarterToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fullscreenToolStripMenuItem1; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator5; + private System.Windows.Forms.ToolStripMenuItem autofitOnResizeToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripMenuItem clickThroughToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem forwardClicksToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem languageToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuLanguages; + private System.Windows.Forms.ToolStripMenuItem englishToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem italianoToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem chromeToolStripMenuItem; + } +} + diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs new file mode 100644 index 0000000..7223f6e --- /dev/null +++ b/OnTopReplica/MainForm.cs @@ -0,0 +1,783 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using VistaControls.Dwm; +using VistaControls.TaskDialog; + +namespace OnTopReplica +{ + public partial class MainForm : VistaControls.Dwm.Helpers.GlassForm + { + //Visualization status + byte _lastOpacity = 255; + bool _clickForwarding = false; + + //GUI + ThumbnailPanel _thumbnailPanel = null; + RegionBox _regionBox = null; + FullscreenForm _fullscreenForm; + + //Icon + NotifyIcon taskIcon = null; + + //Window manager + WindowManager _windowManager; + WindowHandle _lastWindowHandle = null; + + + public MainForm() { + //Wheel handler + //this.MouseWheel += new MouseEventHandler(Thumbnail_MouseWheel); + + InitializeComponent(); + + //Thumbnail panel + _thumbnailPanel = new ThumbnailPanel(Settings.Default.UseGlass); + _thumbnailPanel.RegionDrawn += new ThumbnailPanel.RegionDrawnHandler(Thumbnail_RegionDrawn); + _thumbnailPanel.CloneClick += new EventHandler(Thumbnail_CloneClick); + _thumbnailPanel.ClickThrough = !_clickForwarding; + _thumbnailPanel.Location = Point.Empty; + _thumbnailPanel.Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; + _thumbnailPanel.Size = ClientSize; + Controls.Add(_thumbnailPanel); + + //Region box + _regionBox = new RegionBox(); + _regionBox.RequestClosing += new EventHandler(RegionBox_RequestClosing); + _regionBox.RequestRegionReset += new EventHandler(RegionBox_RequestRegionReset); + _regionBox.RegionSet += new RegionBox.RegionSetHandler(RegionBox_RegionChanged); + _regionBox.Location = new Point(ClientSize.Width, 0); + _regionBox.Size = new Size(_regionBox.Width, ClientSize.Height); + _regionBox.Anchor = AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom; + _regionBox.Enabled = _regionBox.Visible = false; + Controls.Add(_regionBox); + + //Full screen form + _fullscreenForm = new FullscreenForm(); + _fullscreenForm.CloseRequest += new EventHandler(FullscreenForm_CloseRequest); + + //Set native renderer on context menues + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(new Control[] { + menuContext, menuWindows, menuOpacity, menuIconContext, menuResize, menuLanguages + }); + } + + void FullscreenForm_CloseRequest(object sender, CloseRequestEventArgs e) { + if (_isFullscreen) { + //Update handle to match the one selected in fullscreen mode + if (_lastWindowHandle != e.CurrentWindowHandle) { + _lastWindowHandle = e.CurrentWindowHandle; + _thumbnailPanel.SetThumbnailHandle(e.CurrentWindowHandle); + } + + ToggleFullscreen(); + } + } + + void Thumbnail_MouseWheel(object sender, MouseEventArgs e) { + /*int delta = (int)((double)e.Delta / (double)SystemInformation.MouseWheelScrollDelta) * SystemInformation.MouseWheelScrollLines; + + byte nuValue = (byte)Math.Max(0, Math.Min(255, _lastOpacity + delta)); + + _lastOpacity = nuValue; + + this.Opacity = (double)_lastOpacity / 255.0;*/ + + /* + * ALTERNATIVE "Zoom" MouseWheel + * + Rectangle original; + if (_thumbnailPanel.ShowRegion) + original = _thumbnailPanel.ShownRegion; + else + original = new Rectangle(Point.Empty, _thumbnailPanel.ThumbnailOriginalSize); + + Rectangle nuRegion = new Rectangle(original.Left + delta, original.Top + delta, original.Width - (delta * 2), original.Height - (delta * 2)); + + _thumbnailPanel.ShownRegion = nuRegion; + */ + } + + void RegionBox_RegionChanged(object sender, Rectangle region) { + _thumbnailPanel.ShownRegion = region; + } + + void RegionBox_RequestRegionReset(object sender, EventArgs e) { + _thumbnailPanel.ResetShownRegion(); + } + + void Thumbnail_RegionDrawn(object sender, Rectangle region) { + _regionBox.SetRegion(region); + } + + void Thumbnail_CloneClick(object sender, CloneClickEventArgs e) { + if (_clickForwarding) { + Win32Helper.InjectFakeMouseClick(_lastWindowHandle.Handle, e.ClientClickLocation, e.IsDoubleClick); + } + } + + void RegionBox_RequestClosing(object sender, EventArgs e) { + RegionBoxShowing = false; + } + + void Thumbnail_IdealSizeChange(object sender, Size e) { + ClientSize = e; + } + + #region Side Panels + + /*const int cRegionBoxWidth = 190; + const int cRegionWithPadding = cRegionBoxWidth + 5;*/ + const int cWindowBoundary = 10; + + bool _regionBoxShowing = false; + bool _regionBoxDidMoveForm = false; + Point _regionBoxPrevFormLocation; + + public bool RegionBoxShowing { + get { + return _regionBoxShowing; + } + set { + if (_regionBoxShowing != value) { + _regionBoxShowing = value; + + //Show box + _regionBox.Visible = value; + _regionBox.Enabled = value; + + //Disable dragging + HandleMouseMove = !value; + + //Enable region drawing on thumbnail + _thumbnailPanel.DrawMouseRegions = value; + + //Resize and move + ClientSize = new Size { + Width = ClientSize.Width + ((value) ? _regionBox.Width : -_regionBox.Width), + Height = Math.Max(ClientSize.Height, _regionBox.Height) + }; + _thumbnailPanel.Size = new Size { + Width = (value) ? (ClientSize.Width - _regionBox.Width) : ClientSize.Width, + Height = ClientSize.Height + }; + _regionBox.Location = new Point { + X = (value) ? (ClientSize.Width - _regionBox.Width) : ClientSize.Width, + Y = 0 + }; + + //Set new glass margins + this.GlassMargins = (value) ? + new Margins(ClientSize.Width - _regionBox.Width, 0, 0, 0) : + new Margins(-1); + + //Check form boundaries and move form if necessary + if (value) { + var screenCurr = Screen.FromControl(this); + int pRight = Location.X + Size.Width + cWindowBoundary; + if (pRight >= screenCurr.Bounds.Width) { + _regionBoxPrevFormLocation = Location; + _regionBoxDidMoveForm = true; + + Location = new Point(screenCurr.WorkingArea.Width - Size.Width - cWindowBoundary, Location.Y); + } + else + _regionBoxDidMoveForm = false; + } + else { + if (_regionBoxDidMoveForm) { + Location = _regionBoxPrevFormLocation; + _regionBoxDidMoveForm = false; + } + + //Resize automatically on region box closing + if (Settings.Default.AutoFitOnResize) + FitToThumbnail(); + } + } + } + } + + #endregion + + #region Event override + + protected override void OnClosing(CancelEventArgs e) { + //Destroy NotifyIcon + if (taskIcon != null) { + taskIcon.Visible = false; + taskIcon.Dispose(); + } + + //Store settings + if (Settings.Default.StoreWindowPosition) { + Settings.Default.WindowPositionStored = true; + Settings.Default.LastLocation = Location; + Settings.Default.LastSize = ClientSize; + } + else + Settings.Default.WindowPositionStored = false; + + base.OnClosing(e); + } + + protected override void OnResize(EventArgs e) { + if (RegionBoxShowing) { + this.GlassMargins = new Margins(ClientSize.Width - _regionBox.Width, 0, 0, 0); + } + + /*if (RegionBoxShowing) { + _thumbnailPanel.Size = new Size(ClientSize.Width - cRegionWithPadding, ClientSize.Height); + _regionBox.Size = new Size(cRegionBoxWidth, ClientSize.Height); + _regionBox.Location = new Point(ClientSize.Width - cRegionBoxWidth, 0); + + this.GlassMargins = new Margins(ClientSize.Width - cRegionBoxWidth + _regionBox.Padding.Left, _regionBox.Padding.Right, _regionBox.Padding.Top, _regionBox.Padding.Bottom); + } + else { + //Fill client with thumbnail + _thumbnailPanel.Size = ClientSize; + _regionBox.Location = new Point(ClientSize.Width, 0); + + this.GlassMargins = new Margins(-1); + }*/ + + base.OnResize(e); + } + + protected override void OnResizeEnd(EventArgs e) { + base.OnResizeEnd(e); + + if (Settings.Default.AutoFitOnResize && !RegionBoxShowing) + FitToThumbnail(); + } + + protected override void OnShown(EventArgs e) { + //Do some checks in order to verify the presence of desktop composition + if (!VistaControls.OsSupport.IsVistaOrBetter) { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); + + base.OnShown(e); + this.Close(); + + return; + } + if (!VistaControls.OsSupport.IsCompositionEnabled) { + VistaControls.TaskDialog.TaskDialog dlg = new VistaControls.TaskDialog.TaskDialog(Strings.ErrorDwmOff, Strings.ErrorGenericTitle, Strings.ErrorDwmOffContent); + dlg.ExpandedControlText = Strings.ErrorDetailsAero; + dlg.ExpandedInformation = Strings.ErrorDetailsAeroInfo; + dlg.CommonButtons = TaskDialogButton.Close; + dlg.CommonIcon = VistaControls.TaskDialog.TaskDialogIcon.Stop; + dlg.Show(); + + base.OnShown(e); + this.Close(); + + return; + } + + //Get a window manager + _windowManager = new WindowManager(); + + //Install NotifyIcon + taskIcon = new NotifyIcon(); + taskIcon.Text = Strings.ApplicationName; + taskIcon.Icon = Properties.Resources.window_multiple161; + taskIcon.Visible = true; + taskIcon.ContextMenuStrip = menuIconContext; + taskIcon.DoubleClick += new EventHandler(Icon_doubleclick); + + //Reload settings + if (Settings.Default.WindowPositionStored) { + Location = Settings.Default.LastLocation; + ClientSize = Settings.Default.LastSize; + } + + //Glassify window + this.GlassMargins = new VistaControls.Dwm.Margins(-1); + SetGlass(Settings.Default.UseGlass); + + base.OnShown(e); + } + + /*protected override void OnMouseDown(MouseEventArgs e) { + base.OnMouseDown(e); + }*/ + + #endregion + + #region Task Icon events + + void Icon_doubleclick(object sender, EventArgs e) { + if (_isFullscreen) + ToggleFullscreen(); + + //Ensure main form is shown + this.Show(); + this.Activate(); + + this.TopMost = true; + } + + private void IconContextOpen_click(object sender, EventArgs e) { + Icon_doubleclick(sender, e); + } + + private void IconContextReset_click(object sender, EventArgs e) { + var dlg = new TaskDialog(Strings.AskReset, Strings.AskResetTitle, Strings.AskResetContent); + dlg.UseCommandLinks = true; + dlg.CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, Strings.AskResetButtonOk), + new CustomButton(Result.Cancel, Strings.ButtonCancel) + }; + dlg.CommonIcon = TaskDialogIcon.Information; + + if (dlg.Show().CommonButton == Result.OK) { + //Reset display status + Icon_doubleclick(sender, e); + + //Reset form settings + ThumbnailUnset(); + RegionBoxShowing = false; + + Point nuLoc = Screen.PrimaryScreen.WorkingArea.Location; + nuLoc.Offset(40, 40); + + Location = nuLoc; + Size = MinimumSize; + + Show(); + } + } + + private void IconContextExit_click(object sender, EventArgs e) { + this.Close(); + } + + #endregion + + #region Menu Event Handling + + private void Menu_opening(object sender, CancelEventArgs e) { + //Cancel if currently "fullscreen" mode + if (_isFullscreen) { + e.Cancel = true; + return; + } + + //Close region box if opened + if (RegionBoxShowing) { + RegionBoxShowing = false; + e.Cancel = true; + return; + } + + selectRegionToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; + switchToWindowToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; + resizeToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; + chromeToolStripMenuItem.Checked = (FormBorderStyle == FormBorderStyle.SizableToolWindow); + + forwardClicksToolStripMenuItem.Checked = _clickForwarding; + } + + private void Menu_Close_click(object sender, EventArgs e) { + this.Close(); + } + + private void Menu_About_click(object sender, EventArgs e) { + this.Hide(); + + var box = new AboutForm(); + box.Location = RecenterLocation(this, box); + box.ShowDialog(); + + Location = RecenterLocation(box, this); + this.Show(); + + box.Dispose(); + } + + private void Menu_Language_click(object sender, EventArgs e) { + ToolStripItem tsi = (ToolStripItem)sender; + + string langCode = tsi.Tag as string; + + if (Program.ForceGlobalLanguageChange(langCode)) + this.Close(); + else + MessageBox.Show("Error"); + } + + private Point RecenterLocation(Control original, Control final) { + int origX = original.Location.X + original.Size.Width / 2; + int origY = original.Location.Y + original.Size.Height / 2; + + int finX = origX - final.Size.Width / 2; + int finY = origY - final.Size.Height / 2; + + //Check boundaries + var screen = Screen.FromControl(final); + if (finX < screen.WorkingArea.X) + finX = screen.WorkingArea.X; + if (finX + final.Size.Width > screen.WorkingArea.Width) + finX = screen.WorkingArea.Width - final.Size.Width; + if (finY < screen.WorkingArea.Y) + finY = screen.WorkingArea.Y; + if (finY + final.Size.Height > screen.WorkingArea.Height) + finY = screen.WorkingArea.Height - final.Size.Height; + + return new Point(finX, finY); + } + + void Menu_Windows_itemclick(object sender, EventArgs e) { + //Get clicked item and window index from tag + ToolStripItem tsi = (ToolStripItem)sender; + + //Handle special "none" window + if (tsi.Tag == null) { + ThumbnailUnset(); + return; + } + + int index = (int)tsi.Tag; + + if (_windowManager != null) { + ThumbnailSet(index); + } + } + + private void Menu_Switch_click(object sender, EventArgs e) { + if (_lastWindowHandle == null) + return; + + NativeMethods.SetForegroundWindow(_lastWindowHandle.Handle); + + this.Hide(); + } + + private void Menu_Forward_click(object sender, EventArgs e) { + if (Settings.Default.FirstTimeClickForwarding && !_clickForwarding) { + TaskDialog dlg = new TaskDialog(Strings.InfoClickForwarding, + Strings.InfoClickForwardingTitle, Strings.InfoClickForwardingContent); + dlg.CommonButtons = TaskDialogButton.Yes | TaskDialogButton.No; + + Results result = dlg.Show(this); + + if (result.CommonButton == Result.No) + return; + + Settings.Default.FirstTimeClickForwarding = false; + } + + _clickForwarding = !_clickForwarding; + _thumbnailPanel.ClickThrough = !_clickForwarding; + } + + private void Menu_Opacity_opening(object sender, CancelEventArgs e) { + ToolStripMenuItem[] items = { + toolStripMenuItem1, + toolStripMenuItem2, + toolStripMenuItem3, + toolStripMenuItem4 + }; + + foreach (ToolStripMenuItem i in items) { + if ((int)i.Tag == _lastOpacity) + i.Checked = true; + else + i.Checked = false; + } + + //Glass state + toolStripMenuItem5.Checked = Settings.Default.UseGlass; + } + + private void Menu_Opacity_click(object sender, EventArgs e) { + //Get clicked menu item + ToolStripMenuItem tsi = sender as ToolStripMenuItem; + + if (tsi != null) { + //Get opacity from the tag + int op = (int)tsi.Tag; + + //Store new opacity + _lastOpacity = (byte)op; + + //Set the window's opacity + this.Opacity = (double)op / 255.0; + } + } + + private void Menu_Opacity_Glass_click(object sender, EventArgs e) { + SetGlass(!Settings.Default.UseGlass); + } + + private void Menu_Region_click(object sender, EventArgs e) { + RegionBoxShowing = true; + } + + private void Menu_Resize_opening(object sender, CancelEventArgs e) { + if (!_thumbnailPanel.IsShowingThumbnail) + e.Cancel = true; + + autofitOnResizeToolStripMenuItem.Checked = Settings.Default.AutoFitOnResize; + recallLastPositionAndSizeToolStripMenuItem.Checked = Settings.Default.StoreWindowPosition; + clickThroughToolStripMenuItem.Checked = Settings.Default.ClickThrough; + } + + private void Menu_Resize_Double(object sender, EventArgs e) { + FitToThumbnail(2.0); + } + + private void Menu_Resize_FitToWindow(object sender, EventArgs e) { + FitToThumbnail(1.0); + } + + private void Menu_Resize_Half(object sender, EventArgs e) { + FitToThumbnail(0.5); + } + + private void Menu_Resize_Quarter(object sender, EventArgs e) { + FitToThumbnail(0.25); + } + + private void Menu_Resize_Fullscreen(object sender, EventArgs e) { + ToggleFullscreen(); + } + + private void Menu_Resize_ClickThrough(object sender, EventArgs e) { + Settings.Default.ClickThrough = !Settings.Default.ClickThrough; + } + + private void Menu_Resize_Autofit_click(object sender, EventArgs e) { + Settings.Default.AutoFitOnResize = !Settings.Default.AutoFitOnResize; + } + + private void Menu_Position_Recall_click(object sender, EventArgs e) { + Settings.Default.StoreWindowPosition = !Settings.Default.StoreWindowPosition; + } + + private void Menu_Position_TopLeft(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Left - SystemInformation.FrameBorderSize.Width, + screen.WorkingArea.Top - SystemInformation.FrameBorderSize.Height + ); + } + + private void Menu_Position_TopRight(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Width - Size.Width + SystemInformation.FrameBorderSize.Width, + screen.WorkingArea.Top - SystemInformation.FrameBorderSize.Height + ); + } + + private void Menu_Position_BottomLeft(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Left - SystemInformation.FrameBorderSize.Width, + screen.WorkingArea.Height - Size.Height + SystemInformation.FrameBorderSize.Height + ); + } + + private void Menu_Position_BottomRight(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Width - Size.Width + SystemInformation.FrameBorderSize.Width, + screen.WorkingArea.Height - Size.Height + SystemInformation.FrameBorderSize.Height + ); + } + + private void Menu_Reduce_click(object sender, EventArgs e) { + //Hide form + this.Hide(); + } + + private void Menu_Windows_opening(object sender, EventArgs e) { + //Refresh window list + _windowManager.Refresh(WindowManager.EnumerationMode.TaskWindows); + + WindowListHelper.PopulateMenu(_windowManager, menuWindows, _lastWindowHandle, new EventHandler(Menu_Windows_itemclick)); + } + + private void Menu_Chrome_click(object sender, EventArgs e) { + if (FormBorderStyle == FormBorderStyle.SizableToolWindow) + FormBorderStyle = FormBorderStyle.None; + else + FormBorderStyle = FormBorderStyle.SizableToolWindow; + Invalidate(); + } + + #endregion + + #region Event handling + + private void Form_doubleclick(object sender, EventArgs e) { + if(_thumbnailPanel.IsShowingThumbnail) + ToggleFullscreen(); + } + + #endregion + + #region Fullscreen + + bool _isFullscreen = false; + + private void ToggleFullscreen() { + if (_isFullscreen) { + _fullscreenForm.Visible = false; + + this.Visible = true; + } + else { + if (_lastWindowHandle == null) { + //Should not happen... if it does, do nothing + return; + } + + CheckFirstTimeClickThrough(); + + _fullscreenForm.DisplayFullscreen(Screen.FromControl(this), _lastWindowHandle); + _fullscreenForm.ShownRegion = _thumbnailPanel.ShownRegion; + _fullscreenForm.ShowRegion = _thumbnailPanel.ShowRegion; + _fullscreenForm.Opacity = this.Opacity; + + //Enable click through if it is enabled and opacity is less than 255 (opaque) + _fullscreenForm.ClickThrough = (Settings.Default.ClickThrough && _lastOpacity < 255); + + _fullscreenForm.Visible = true; + + this.Visible = false; + } + + _isFullscreen = !_isFullscreen; + } + + /// Check if the user uses click-through for the first time and asks confirmation. + private void CheckFirstTimeClickThrough() { + if (Settings.Default.FirstTimeClickThrough && _lastOpacity < 255) { + //Alert the user about click through + TaskDialog dlg = new TaskDialog(Strings.InfoClickThrough, Strings.InfoClickThroughTitle, Strings.InfoClickThroughInformation); + dlg.CommonIcon = TaskDialogIcon.Information; + dlg.ExpandedControlText = Strings.ErrorDetailButton; + dlg.ExpandedInformation = Strings.InfoClickThroughDetails; + dlg.UseCommandLinks = true; + dlg.CustomButtons = new CustomButton[] { + new CustomButton(Result.Yes, Strings.InfoClickThroughOk), + new CustomButton(Result.No, Strings.InfoClickThroughNo) + }; + + Settings.Default.ClickThrough = (dlg.Show(this).CommonButton == Result.Yes); + } + + Settings.Default.FirstTimeClickThrough = false; + } + + #endregion + + #region Thumbnail operation + + private void ThumbnailSet(int index) { + try { + _lastWindowHandle = _windowManager.Windows[index]; + + _thumbnailPanel.SetThumbnailHandle(_lastWindowHandle); + } + catch (Exception ex) { + ThumbnailError(ex, false, Strings.ErrorUnableToCreateThumbnail); + } + + if(Settings.Default.AutoFitOnResize) + FitToThumbnail(); + + _regionBox.Reset(); + + //GUI + selectRegionToolStripMenuItem.Enabled = true; + resizeToolStripMenuItem.Enabled = true; + } + + private void ThumbnailUnset(){ + _lastWindowHandle = null; + + _thumbnailPanel.UnsetThumbnail(); + _regionBox.Reset(); + } + + private void ThumbnailError(Exception ex, bool suppress, string title){ + if (!suppress) { + ShowErrorDialog(title, Strings.ErrorGenericThumbnailHandleError, ex.Message); + } + + ThumbnailUnset(); + } + + /// Automatically sizes the window in order to accomodate the thumbnail p times. + /// Scale of the thumbnail to consider. + private void FitToThumbnail(double p) { + try { + Size originalSize = _thumbnailPanel.ThumbnailOriginalSize; + + Size fittedSize = new Size((int)(originalSize.Width * p), (int)(originalSize.Height * p)); + + ClientSize = fittedSize; + } + catch (Exception ex) { + ThumbnailError(ex, false, Strings.ErrorUnableToFit); + } + } + + /// Automatically fits the window to the current thumbnail. + /// Only adjusts height and corrects the window's position. + private void FitToThumbnail() { + if (_thumbnailPanel.IsShowingThumbnail) { + var source = _thumbnailPanel.ThumbnailOriginalSize; + double ratio = (double)source.Width / (double)source.Height; + + int width = (RegionBoxShowing) ? (ClientSize.Width - _regionBox.Width) : ClientSize.Width; + //(RegionBoxShowing) ? ClientSize.Width - cRegionWithPadding : ClientSize.Width; + int newHeight = (int)(width / ratio); + int diffHeight = ClientSize.Height - newHeight; + ClientSize = new Size(ClientSize.Width, newHeight); + Location = new Point(Location.X, Location.Y + diffHeight / 2); + } + } + + #endregion + + #region GUI stuff + + /// Do whatever needed to set the "glass" effect to the desired state. + protected void SetGlass(bool b) { + this.GlassEnabled = b; + + _thumbnailPanel.GlassMode = b; + _regionBox.GlassMode = b; + + this.Invalidate(); + + //Store + Settings.Default.UseGlass = b; + } + + private void ShowErrorDialog(string mainInstruction, string explanation, string errorMessage) { + TaskDialog dlg = new TaskDialog(mainInstruction, Strings.ErrorGenericTitle, explanation); + dlg.CommonIcon = TaskDialogIcon.Stop; + dlg.IsExpanded = false; + if (!string.IsNullOrEmpty(errorMessage)) { + dlg.ExpandedInformation = Strings.ErrorGenericInfoText + errorMessage; + dlg.ExpandedControlText = Strings.ErrorGenericInfoButton; + } + dlg.Show(this.Handle); + } + + #endregion + + } +} diff --git a/OnTopReplica/MainForm.resx b/OnTopReplica/MainForm.resx new file mode 100644 index 0000000..7cd3861 --- /dev/null +++ b/OnTopReplica/MainForm.resx @@ -0,0 +1,266 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 142, 17 + + + 275, 17 + + + 547, 17 + + + 664, 17 + + + 399, 17 + + + + + AAABAAEAMDAAAAEAGACoHAAAFgAAACgAAAAwAAAAYAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABBdztCdjhDeDpCdzlCdjpDdzpFfD5EeTpGfDtFfDtFfjpJgjtHfjlHgTpIgjtNiDxKgzlKhDlKiDhO + iztNijpMjDpPjTtSkz1Vlz1YnD1bpD5dpz1hqT9lrEFkrT5oskJnsD1prT1orD1mqTlmpjlkpDdmozpj + nDVhmDRekzJekTJekDNjkjNeijFbiC1ahSxDeDlDdztDdztEdzpFejpEeDhEdzlEeDpGezhGfThGfDhH + fThHfjlIgjhIgzpKgzhJhDhKhjhLhzlNiTlLiDlPjTlVlz1VmDxYnTxdoT5gqD1iqj9jrkBlr0BnsEBp + rz1nrT1orTtmqzhlpzhopjpjoDVgmzNgmDNflTJejy9cjy5gkS9bii5ciC1chyxbhytCdjpDdzlDeDlG + eztDdjhDdzhDdzdEeDhHfDdFejZFezdGfTdJgzlIgDdIgTlKgzdLhDhKhjlLhjhMiTlQkDpSlDtXmDtY + nTtcozxepz1hqz1jrT1oskBorztpsDxnrjxorTtmqzplqTppqjxioDVfnDRfmDNflTJdkjBekjFcji9c + iy9biS1ciCxciCtgjS1DdjhEezpDeDhCdTdEdTZEdjVFeDVFeDVHdzREezZGfjdIfTZHfTdIgDdJgjdK + hDZKhDZKhDZMhzdTkztSlDpWmjtanjtcozxepz1gqD1kqzxorz1nsD5psDxorztlrTtmqzpmqDxkpTli + oDZgnTVelzNclTJdkjFilTNaji5biy5bii1bii1ciSxfjSxdiypGejpCdTZDdThFdTdGeDdFeDZEdzdG + eDZIejhLgTpIeztLfjdKgDlLgjlMhDpMhTlOhTpPjDtTkTtWlTxZmj5coT5gpT9ipz9kqD9prUForj5p + sEBpsEBpsT9prz9nrD9qrEJkozlloDlinThhmjdgmDZhlzRflDJbjzBcjTFejTBdjDBejC9eiyxejStf + kC1DdTdEdzhFdzlIeDpIeTtKejpKez5NfT1QgD9QgUBPgUBShD9RhUBSh0BTiEFVi0BdlUVak0JdmUNi + n0VlokVnpkZoqUVprERusEVusUVts0ZutEdvs0VvskZusEVvrkZrqEJppENnokJmnz9mnT1qnzxkmDpi + lDhikjZhkjVjkDVmlTZgjzFhjy9jki5ili1DdjdGeDpIeDtMeT1Pe0BRfkRWhkdWg0ZahklbiUtaiUxd + i0tcjExej0tglE1kmU5mnE9nn05ro05up09wq1Bzr1F2s1F1s053tFB2tlF3tlF4tlB2tlB4tlF2sU9z + rU5yqk1yqExwpUxwpUlypkluoUhsnEZsm0VrmkJql0Jtmz5pljtolzhplzZomjNspTJGeDpKeTpMej5S + e0FVgUdahkteiE5jjFNokFdpkllqk1tslltsmVxyoV5xol52pF12p196rWB7sGB+smGAtmCEumKCuWCD + umGCul+Du1+Du2CEvF+FvWGDuF+Dt16As11/sFyAsFyAr1t+rVp9qVt8qFp7pVd6plV5pVN2oU9zn0px + oUZunj9wojxwqThwrjZIdzpOeD5SfkJbhEpehU5ljFZskV1zl2R5nGp8oWx9oXCBpXCDq3KErXKGr3KJ + tHSLtnSLuHSNvXWPvnSRwHSRw3WSwnWSwXOSwXSSw3OSw3STw3ORwHKQv3KQvXGPu3GPunGQunKNt3GN + tXCMtG+NtG+MsmyMs2uGrWWErWGArFp+qlR7rEt5sEV3tj91vzxMdjtRfUFZgUlhhlFqjFp0lWR8nG+G + o3iPqoCUr4SWtYmZuImau4ubvoudwYyfw4ufxYyhx42jyo6jyoykyoylzI2lzI2ky4ukyo2kzYyjyouj + yoqjyYqjyIuixouixomix4uhxIqhwomhwoihwYeiwYeiwYedvoGZvH2UunSQuWyOumKGuleDv1CAykl6 + 2UFSfEFWfkVghE9qjVuIhYP89e3z9e/n9PDn9fDn9PHn9fHo9fHp9vLq9fHq9fHp9fDq9PDr9O/r9O/s + 9O7s9O3s8+3s8+vs8urs8unr8efr8Obs8Obt8OXu8eXv8OTw8eTz9OX4+Of8+ez9+ez++e3++en9+ej9 + +OX89+L89t/69OT57uKUzGaN01yF4lGB+EtQeT5bgUpliVZzkmONiIPk6efS8vSj6vCl6++n6++o7O6q + 7O6t7e6v7u6x7u6y7ey27uy47uy88Oy/8OvC8OrE8OjG8ObK8OTL8eDO8d7T8d7a8eDg8uLk8uTm8+Po + 9N/s+Nny+9L4/Nb7/NL8/M/8/Mr8/Mf8+8H8+bb89rD699f68eGe33aS62SL/Fp/+1BTe0Neg01ri1t6 + lWqWkYzc6+qj6u441d861t091ts/19lD2NhJ2dhO2tdR29VU29Jb3tFh4NFq5dJx6NF66tGK69WW69in + 7Nmu7dS27c+57ci07cOr7b6n7cC07rzH8bPO9KfV9pva85jp74vt64Hv6Hbx5nDy5Gbz4FT120r466r6 + 79qm9IGY/HGM+2R2qUtWe0NihFBvjV9/mG+dmZTd7Ouj6e031Nw61Ns91dlA1tdC19VG2dRL29NX4NZe + 5Nhl6Nlm69Vt8NJ289KB9tGR9tOd9dKr9NGy8sy78cnB9MS7872x8reu8bq187jF97XC76LD55LF33nS + 2mna1Vze0F3iz1jnzVLsy0bwxj/346b57tuo/YmZ/XmDoFt4lUpXfENkhFFyj2GFnnSjnpre7euh6Ooz + 09Y21tc52dc62NI81sxA1shE2MVQ3chZ5cth68tg7MRk67ts67d17bSI8LeT7rWh67Oj4qqo3KOo3Jmd + 2ouP2YCL2YGV24Cn34Kp13Wx1Hm0y2bCx1vKwUfUw0fbwUTgvkHluj7suzv236X57tyq75CUrXOHol95 + l05ZekRmhVJ4lWWIoHamop7e7eug5uYxzcw00M040sw50cc+1chC1sRI2MFS2L1b375k5r5l57Ro5Khs + 3aBx2pd63JN/24mD14CCzXSGym2Lzm+OymuPxGeVu2CWul6avF6dtFOptFizsky3ska+sDvItT3Stz/Z + tjvftDrntzr03qX479ynvIyYsXaHomB6mE9bfkRpiFN5lmSLo3mopKDe7Oqh4+E3y8U70Mc/0sY+zrxF + 0rtM1rlT2rVW1qte2qdo36Jz459z2ZFwzIJsv3F1wnJ3w3J+wmx8uV2Cs1CDsVGErE2EpUqGm0GKlz6R + ljualTekmz+snT2unjq0oDDAqDHJqzXPqjXTpjTaqjXu2KP37dyrwJCXrniJpGJ7mVBcgUVrjFR6mGaK + p3iopKDf7Oml49s+yblFz71J0LtIzLFO0K5T0KhZz6JbyZVix4xryYh1y4NzxHtwuW1sr150sFl0rVZ3 + qk92okN9njl+nzx+mTt8kTl8hS9/gSqFfyeLfyWRgSWZhSWehySmjiarkSm1li68ly7GmS7NnDDo0qH2 + 7NypvI6Xr3eKo2N7mFBehEVrj1V6nGaMp3mopKDf7Oen4NVDw6tJyK5Nx6pLwJ1OvJFRuYlWt4Fct31l + uXhsunR0uG5xsGNuplVsnkVxnT9wmj1wlDZuiy10hyN2gyF4fx95ex55dx17dR1/dR2Fdx6LeR+SfCCa + giKjiiKokCiwlCq0lS++ly/FmDHm0KD17NypvY6Yr3iKpGR7l09fiEVsk1R7nGWMqXiopKDf6uWn2s1C + spJItJNLso9MsIhMqHtNoW9PmWNVmV5enVpln1ZomktmlENljjdrjzFxjyhyiyJwhB5ufht0gBp6gRp8 + fhl7eRl4dBl5cRl8cRqBchuHdByOeR6XgB+fhyKjjSerkSqtlS60ljC5lzThz6T07N2pvY6Yr3iJo2N8 + l05hi0VulFR8n2SOrXmopKDf5+Km0ME9mnVAmnJClmxEk2VGjV1Ki1VQi05ZkUtlmEdsmkFtlTdsjS1q + hiNwhx5zhxp1hhlzghd0gBZ7gxV/gxaAfxV9eRV5chZ4bxZ6bhd+bxiEchmMdxuUfx2dhR+jiSKrkiWv + mCq0mi+2lzPezqP07N6pvo+Yr3iJo2J8l09ijkVul1N8omSMqneopKDf5uClyLY8il9Bjl5FjVpIjlZM + jE9RjUhZjEFijjltlDNzlCx0jyRxhh1wgRh1hRZ5hxV6iBR5hRN7hBKBhxKDhRKDgRJ+ehJ6cxN5bxN5 + bRR8bhWCcReLeBmUfxychB2hhh+oiyKvkiS0lim1li7czqL17d+pvY6Yr3aKo2N8l09ikEVtmFR8oGSM + qneopKDf5d6mxa8+g09EiU9LjUtQjEVXlT5bkzhklTJsjip3lCR9kx58jhl4hhV3gxJ8iRJ+ixKAjBF/ + iRGCiRCGihCGhg+EgQ+Aeg99dA97cRB6bhF9bxODcxWNexeVgRqbgxyegh2jhx+wliO7nSW/nSjgzp71 + 7d+qvYyYrnaJo2N7lk5ikEVtl1N7n2SMqXenpKDg5N2nwqlCgEJKikFUkj9YkDlflzNikixqkyVyix5+ + kRuDkhiDjRR9hhB9hw+DjQ+HkA+HkA+GjQ6IjQ2Kiw2HhgyDgAyAegx/dg19cg59bw9/cRCGdhOPfhaW + gRiZgRmafhqdfhymix+ylCK6mSTfzpz27t+qvYyZr3WKo2N8lk1ij0VtllN7nmOMqXenpKDg49upwqRG + fzZRkTdamDRelC9hkCdkiiBtjRx4iheFkhmJkxaHjhOAhg2DiQyLkg2Plg2PlQyKjwuNjwuNiwqJhQmE + fwmBegqAdgp/cwt+cQ2BdA6JexGRgBOVgBWVfReVehiXehmghh2rkiG3myTf0Jz47+CqvYyZr3WJomJ8 + lk9hj0RsllJ7nmOLqHenpKDg5NqrwqBLjS9UnS9boSxdjiVegB5kfhlvgxV8ihKJkxiMkhWJjROChgmH + jAmPlAqUmAqTlwqPkQmRkAmOigiKhQiEfgeAeQd/dgh9cwl9cgqCdgyKfQ+PfxGQfBKOdxSPdRWSdheX + eRmeiCCqkyPa0p338N+pvIyYrnaJomJ8lk1gjkNslFN6nGSMqXinpKDh5NmrwZ1LiChTlihZmCVciB5e + fBhlfBRwghF9iQ6JkRSMkBKIixCEhgaLjQeTlQeXmAiVlgeTkQeTkAeQigaKhAaEfQWBeQV+dQZ7cgd8 + cgiCeAuJfQ2LfA+KdxCIchGJcBOMchWSdheZhR+jjyLW0J328N+pvIuYrnWJomB8l01fjEJsk1F5m2OK + pHanpKDh49mrv5tJgiNQiSFXjx9agBlfehRmeRBxfw19hwuHjA6JjAyFhwqFhgWNjgWTkwWXlQaUkgWU + kQaUjwWQiAWJggWEfAR/eAR7cwV4cAV6cgeAeAmFeguFdw2CcQ6BbA+CaxGGbhSMchaUfxuahx/Sy5v0 + 7t+pvIuYrnWJo2B8l01hjEJpkVF4l2KKonWnpKDg4tiqvJlHbh1OeBxVfxpbfhZfeBJldg5wfQt8hAmE + iAmGhweCgwaFhQSPjgWVkwWYlAWTjgSUjgSSiwSOhgSIfwSCegR+dgR4cQR1bwR4cgV+dweAdwl9cQp6 + agx6Zw18Zw+AahKGbxSNdBeVfxzQx5n07+CpvIuZrnSKomB8l01diEJqjlB4lWGIoHSnpKDg4tiquphG + ahpOdRlVfRdbfRRedhBkdAxvegl7ggeDhQaEhASAgAOFhQSQjwWXkwWYkwWTjASTiwSQhwSMggSFfQSA + eAR7cwR1bwNzbgN2cgR5dAZ4cQh1aglyZApzYgx2Yw56ZxGBaxOIcRWRfBnOxZjz7uCqvIuZrnSJoV59 + lkxchEFpjFB3k2CIn3WnpKDf4tipuZdFaBdNcRVUehNaehFddA1icQpteAh5fwaAgwWBgQN+fgOFhASP + jQSVkQWUjgWQiQWQhwSOhASJfwSDegR9dQR4cANzbQNybQNzcAN0cAVxawZsYwhrXglsXQtwXw11Yw97 + aBKCbRSLdxjLwpfz7t+qvIuYrXOJoV58lkxcgj9oik93k2GInnSnpKDg49mpuJVFZRRMbRJUdhBZdw5c + cQtgbghsdQZ3fAV8fgR8fQN7ewOEgwSNigSSjQSPiASNhQSMggSKgASFewSAdwR7cgR2bgNxawNxbANw + bgNuawRpZAVlXQdkWQhmWQpqWwxvXg51ZBB8ahKEcBXIvpbx7uKqvIqYrXOLoV58lkxagkFoiE91kGCG + nXOnop7f4tipt5REYhFLaQ9Scg1XcwxbbwlfbAdpcgV0eQR3eQN3eAN3dwODgQOJhgSMhwSHgQSIgASH + fgOFfAOBdwN8cwN3bwNzbANvagNvawJsagJoZQNhXQRfVwVeVQdhVQhkVwppWwxvYA92ZhF+bBPGvZXw + 7eGqu4qarXOKoV58lUxYfD5oh010j12EmnCkoJvf4deptpNEYA9JZg1QbgtVcAlZbQddaQZocARxdgNz + dgNydAN0dQOCgQOIhQSJhASDfASDewOEfAOBeAN9dAN4bwN0bANvagNuaQNsaQJpZgJiXwNbVwNZUgRZ + UQVbUQdfUwlkVwtqXA1xYw94aRHDvJTw7OCnuYaYrHCJoFx8lUpcgD5kg0lyjFqBl2yfm5bd39WptZFD + Xg1IYgtPaglTbAhXagZcZwVmbgNucwJwcwJvcQJzcwKBfwOGgwSEfwR/eAR/dwOBeAN9dQN6cQN0bQNw + agNtaANraANpZgNkYQNcWQNXUgNUTwRVTgVWTgZaUAdfVAplWQxrXw5yZRDAupPw696ktYCWqWuInlh7 + lEdWeTlhgUduilZ8lGaZlZDc3dOntZFBXgxGYQpLZwlQaQdUaAVZZwRibQRqcwVrcgVqcAVvdAN7fgSA + gAR8ewR5dgR5dgR6dgR3cwRzbwRvbANraQNoZwNnZwNjZQNeXwNWVwNRUQNOTgNOTQRQTQVTTwdYUgle + VgtkXAxrYg69uJLv6t2dr3ePpGSDmlJ4kUJVeThef0Nqh1B3kV+RjIfk493U28qotZGptpCsuZCvuo+x + uY6zuY63vI26v4+7v4+6vo+9v43Bw47DxI7BwY7AwI7BwI7BwI6/vo69vY68u427uo25uo24uY23uI20 + tY2xso2vr42tro2tro6uro6vr4+ysI+0spC2s5G5tpHd28v38umVqWyJnlt9lUt0jT9TeDVbfj5lhEpw + jVaHgn308evo5uDe4dbh4tfj5Njj5djk5djk5djl5djm5tnm5tnm5tnm5tjn59fn59fn5tfn5dfn5djn + 5djm5dfm5Nfm5Nfl5Nfl5Nfl5Njl5Njk5Njk49jj49jj4tjj4tjj4tjj4tjk49nk4tnk4tfk4dbr6OH9 + 9u+KoF+AmFB3kENvijhReDJWezljhkRnh0rV1NSLhX+Qi4eYk4+emZWinpmloZymop2mop2mop2mop2m + op2mop2lop2lop2lop2loZ2loZ2loZ2loZ2loZ2loZ2loZ2loZ2lop2lop2mop2mop2mop2mop2mop2m + op2mop2mop2loJyhnZicmJOVkYyPioWSj4t/lU53kERxiTlqhTBOdi5WfTVXfzlehUJmi0lvklJ1m1h9 + p2GBrmaGuWqJxm6K1nCK6XKL6XOHyG+EnGmFnWqGnmiIoGqGn2mHoGqHoGmIommIo2qJpGqKpWmKpmqK + p2qMqGqMqWqMqWqNqWqNqWuMqGqOqGqOqGqOp2mNpmiMpGeLomSIoF+DnFh+l1B7k0l0jkBuijhrhTBm + gypLeCxPei9VfzVZhTheij1lkkNtn0tup05yslN1xVV411l27Fp47F9xplVyjVFxjlFzkFJzklN0klN1 + klJ2lFN2lVF2llJ2llJ3mVN4mlJ5m1J5nVF6nlN6n1N9nVN9n1R8n1R9nlN9n1J9nVJ9nFF8m1B8mU97 + l014lUd2kkRzj0BwjDpqhzRohS9mgChifiRKeClNfC1RgC5VhjBYjTVfmTphoT5jsEBnxURn2kVr70pn + 70tijUBhgT5igj5ihT5lhz5jhz9miEBmiD9oiz9ojD5njD9njD9pkEBqkT9rkz9slT9slkBul0BvlT9u + l0Bul0Bvlj9vlj9vlT5vkz5vkT1vkDtujjptjThrijVpiDFnhi5kgytkgidifyNefR9KeidNfihQhCtS + jCxWmTBYojNcsTVcxzZb5Tle8z1e8z9VeTBVeTBWeTBYejFYfTBafzFYgDFagDJbgDBchDBagzFchTJd + hzFeiTFgizFhjDBhjjFikDJkkTJkkDJkkTJlkjFlkDFkjzBljzBjji5miy5lii1miC5khyxjhCphgydh + giVffyRffx9gfR9dexxJfiZLgyZOiyhRlipSpCtStC5Wyy9V6TFW9zVU9TdMciZOcCVNciZOdSZQdyZR + eCZReSdReydTfCdUfCdVfydUfiZWgSZVgyZXhiZZhyZaiSdbiydcjSdejihgjihejihejihfjSdfjShf + jCdfiiVgiCVfhyRfhCNegyJdgSJcgCBdfx9bfh5bfhxcexpaeRlKhCVLjCVQliZRpSdPuCpR0CtS8SxV + +jBQ+jBGbR9JcB9JbyBJcR5KcSBMdSBNdiBOeSFOeiJPeiBQeiBRfSBRfh9TgCBTgiFVhSBWhiBYiCBX + iR9YjSBbjiFbjCFajSJajSFbjSBaiiBaiiBaiB9ahh5bhh1agx1bgx1bgRxagBtbfxpafhlafBhcehha + eBhNjyZNlyRRqChSuyhR1ytS+C1V/jFP/i5Gbh5Hbh9Jbx9KciBJcR9KdCBMdiBNdyBOeSBPeh9Peh9Q + eyBRfh9RfiBSgR9UgyFVhR9ViCBYiSFYjCBZjSFcjyBcjyBdjyJbkCFcjiBejCBbjCBbih9diB9bhh1a + hRxcgx1bghpbgRxbgBpafxlafBhbehdbehdOmiVPqSdQvilR2SxR/S1V/jFL1yxGbB9Hbh9Gbh9Mch9I + cB9JcB9Kcx9MdSBMdyBOeCBNeSBPeR9QeyBQfR9RfiBSgR5SgyBVhSBWiCBYiCBXix9ZjB5cjx9cjx9d + jyFajyBcjR9bjB5bjCBbih9chx5chh1bhRxchBtbgxtZgBtbgBpbfhlcexhaexhbehdPqidRwClR2ylR + /S5U/zFLwyhGbR9FbB9GbR9JcB9Jbh5LcR9KcR9Mcx5MdSBNdyBOeCBOeiFPeh9QfB9RfSBRfiBSgR5S + gyBUgx5Whx9YiR9Xix9ZjR5bjx9cjx9dkCFajyBbjh9cjR9bjCBbih9diB9dhh1chRxbhBtbgxxbgBpb + gBpbfRlcexhcexhcexgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + \ No newline at end of file diff --git a/OnTopReplica/NativeMethods.cs b/OnTopReplica/NativeMethods.cs new file mode 100644 index 0000000..36cbca1 --- /dev/null +++ b/OnTopReplica/NativeMethods.cs @@ -0,0 +1,303 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica +{ + static class NativeMethods + { + /// A native Rectangle Structure. + [StructLayout(LayoutKind.Sequential)] + public struct Rectangle + { + public Rectangle(int left, int top, int right, int bottom) { + Left = left; + Top = top; + Right = right; + Bottom = bottom; + } + + public Rectangle(System.Drawing.Rectangle rect) { + Left = rect.X; + Top = rect.Y; + Right = rect.Right; + Bottom = rect.Bottom; + } + + public int Left; + public int Top; + public int Right; + public int Bottom; + + public int Width { + get { + return Right - Left; + } + } + public int Height { + get { + return Bottom - Top; + } + } + + public System.Drawing.Rectangle ToRectangle() { + return new System.Drawing.Rectangle(Left, Top, Right - Left, Bottom - Top); + } + } + + [StructLayout(LayoutKind.Sequential)] + public struct Point { + public int X, Y; + + public Point(int x, int y) { + X = x; + Y = y; + } + + public Point(Point copy) { + X = copy.X; + Y = copy.Y; + } + + public static Point FromPoint(System.Drawing.Point point) { + return new Point(point.X, point.Y); + } + + public System.Drawing.Point ToPoint() { + return new System.Drawing.Point(X, Y); + } + + public override string ToString() { + return "{" + X + "," + Y + "}"; + } + } + + + [DllImport("user32.dll")] + public static extern IntPtr RealChildWindowFromPoint(IntPtr parent, Point point); + + [DllImport("user32.dll", CharSet=CharSet.Auto)] + static extern bool GetClientRect(IntPtr hWnd, out Rectangle lpRect); + + public static System.Drawing.Rectangle GetClient(IntPtr hWnd) { + Rectangle ret; + if (GetClientRect(hWnd, out ret)) + return ret.ToRectangle(); + else + throw new Exception("Failed to get Client Rectangle."); + } + + [DllImport("user32.dll")] + static extern bool GetWindowRect(IntPtr hWnd, out Rectangle lpRect); + + public static System.Drawing.Rectangle GetWindowBounds(IntPtr hWnd) { + Rectangle ret = new Rectangle(); + if (GetWindowRect(hWnd, out ret)) + return ret.ToRectangle(); + else + throw new Exception("Failed to get Window Bounds."); + } + + [return: MarshalAs(UnmanagedType.Bool)] + public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool IsWindowVisible(IntPtr hWnd); + + [DllImport("user32.dll")] + public static extern IntPtr GetDesktopWindow(); + + [DllImport("user32.dll")] + static extern bool ClientToScreen(IntPtr hwnd, ref Point point); + + public static Point ClientToScreen(IntPtr hwnd, Point clientPoint) { + Point localCopy = new Point(clientPoint); + + if (ClientToScreen(hwnd, ref localCopy)) + return localCopy; + else + return new Point(); + } + + [DllImport("user32.dll")] + static extern bool ScreenToClient(IntPtr hwnd, ref Point point); + + public static Point ScreenToClient(IntPtr hwnd, Point screenPoint) { + Point localCopy = new Point(screenPoint); + + if (ScreenToClient(hwnd, ref localCopy)) + return localCopy; + else + return new Point(); + } + + [DllImport("user32.dll", CharSet = CharSet.Auto)] + public static extern IntPtr GetParent(IntPtr hWnd); + + public enum GetAncestorMode : uint { + Parent = 1, + Root = 2, + RootOwner = 3 + } + + public enum GetWindowMode : uint { + GW_HWNDFIRST = 0, + GW_HWNDLAST = 1, + GW_HWNDNEXT = 2, + GW_HWNDPREV = 3, + GW_OWNER = 4, + GW_CHILD = 5, + GW_ENABLEDPOPUP = 6 + } + + [DllImport("user32.dll")] + public static extern IntPtr GetWindow(IntPtr hwnd, GetWindowMode mode); + + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + public static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + public static extern int GetWindowTextLength(IntPtr hWnd); + + + + + + public enum WindowLong { + WndProc = (-4), + HInstance = (-6), + HwndParent = (-8), + Style = (-16), + ExStyle = (-20), + UserData = (-21), + Id = (-12) + } + + public enum ClassLong { + Icon = -14, + IconSmall = -34 + } + + [Flags] + public enum WindowStyles : long { + None = 0, + Disabled = 0x8000000L, + Minimize = 0x20000000L, + MinimizeBox = 0x20000L, + Visible = 0x10000000L + } + + [Flags] + public enum WindowExStyles : long { + AppWindow = 0x40000, + Layered = 0x80000, + NoActivate = 0x8000000L, + ToolWindow = 0x80, + TopMost = 8, + Transparent = 0x20 + } + + public static IntPtr GetWindowLong(IntPtr hWnd, WindowLong i) { + if (IntPtr.Size == 8) { + return GetWindowLongPtr64(hWnd, (int)i); + } + else { + return new IntPtr(GetWindowLong32(hWnd, (int)i)); + } + } + + [DllImport("user32.dll", EntryPoint = "GetWindowLong")] + private static extern int GetWindowLong32(IntPtr hWnd, int nIndex); + + [DllImport("user32.dll", EntryPoint = "GetWindowLongPtr")] + private static extern IntPtr GetWindowLongPtr64(IntPtr hWnd, int nIndex); + + + public static IntPtr GetClassLongPtr(IntPtr hWnd, ClassLong i) { + if (IntPtr.Size == 8) { + return GetClassLong64(hWnd, (int)i); + } + return new IntPtr(GetClassLong32(hWnd, (int)i)); + } + + [DllImport("user32.dll", EntryPoint = "GetClassLongPtrW")] + private static extern IntPtr GetClassLong64(IntPtr hWnd, int nIndex); + + [DllImport("user32.dll", EntryPoint = "GetClassLongW")] + private static extern int GetClassLong32(IntPtr hWnd, int nIndex); + + + + + + [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)] + public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + [DllImport("user32.dll")] + public static extern IntPtr SendMessageTimeout(IntPtr hwnd, uint message, IntPtr wparam, IntPtr lparam, SendMessageTimeoutFlags flags, uint timeout, out IntPtr result); + + public const uint WM_GETICON = 0x7f; + + [Flags] + public enum SendMessageTimeoutFlags : uint { + AbortIfHung = 2, + Block = 1, + Normal = 0 + } + + + public const int HTTRANSPARENT = -1; + public const int WM_NCHITTEST = 0x84; + public const int WM_NCPAINT = 0x0085; + public const int WM_LBUTTONDOWN = 0x0201; + public const int WM_LBUTTONUP = 0x0202; + public const int WM_LBUTTONDBLCLK = 0x0203; + + public const int MK_LBUTTON = 0x0001; + + //public const int MN_GETHMENU = 0x01E1; + + public static IntPtr MakeLParam(int LoWord, int HiWord) { + return new IntPtr((HiWord << 16) | (LoWord & 0xffff)); + } + + [return: MarshalAs(UnmanagedType.Bool)] + [DllImport("user32.dll", SetLastError = false)] + public static extern bool PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + + [DllImport("user32.dll", SetLastError = false)] + public static extern bool SetForegroundWindow(IntPtr hwnd); + + + [DllImport("user32.dll")] + public static extern IntPtr GetMenu(IntPtr hwnd); + + + public static uint WTNCA_NODRAWCAPTION = 0x00000001; + public static uint WTNCA_NODRAWICON = 0x00000002; + public static uint WTNCA_NOSYSMENU = 0x00000004; + public static uint WTNCA_NOMIRRORHELP = 0x00000008; + + [StructLayout(LayoutKind.Sequential)] + public struct WTA_OPTIONS { + public uint Flags; + public uint Mask; + } + + public enum WindowThemeAttributeType { + WTA_NONCLIENT = 1, + }; + + [DllImport("UxTheme.dll")] + public static extern int SetWindowThemeAttribute(IntPtr hWnd, WindowThemeAttributeType wtype, ref WTA_OPTIONS attributes, uint size); + + } +} diff --git a/OnTopReplica/NativeToolStripRenderer.cs b/OnTopReplica/NativeToolStripRenderer.cs new file mode 100644 index 0000000..b4d94f3 --- /dev/null +++ b/OnTopReplica/NativeToolStripRenderer.cs @@ -0,0 +1,587 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Diagnostics.CodeAnalysis; +using System.Windows.Forms; +using System.Windows.Forms.VisualStyles; +using System.Runtime.InteropServices; + +namespace Asztal.Szótár { + public enum ToolbarTheme { + Toolbar, + MediaToolbar, + CommunicationsToolbar, + BrowserTabBar + } + + /// + /// Renders a toolstrip using the UxTheme API via VisualStyleRenderer. Visual styles must be supported for this to work; if you need to support other operating systems use + /// + class UXThemeToolStripRenderer : ToolStripSystemRenderer { + /// + /// It shouldn't be necessary to P/Invoke like this, however a bug in VisualStyleRenderer.GetMargins forces my hand. + /// + static internal class NativeMethods { + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct MARGINS { + public int cxLeftWidth; + public int cxRightWidth; + public int cyTopHeight; + public int cyBottomHeight; + } + + [DllImport("uxtheme", ExactSpelling = true)] + public extern static Int32 GetThemeMargins(IntPtr hTheme, IntPtr hdc, int iPartId, int iStateId, int iPropId, IntPtr rect, out MARGINS pMargins); + } + + //See http://msdn2.microsoft.com/en-us/library/bb773210.aspx - "Parts and States" + #region Parts and States + enum MenuParts : int { + MENU_MENUITEM_TMSCHEMA = 1, + MENU_MENUDROPDOWN_TMSCHEMA = 2, + MENU_MENUBARITEM_TMSCHEMA = 3, + MENU_MENUBARDROPDOWN_TMSCHEMA = 4, + MENU_CHEVRON_TMSCHEMA = 5, + MENU_SEPARATOR_TMSCHEMA = 6, + MENU_BARBACKGROUND = 7, + MENU_BARITEM = 8, + MENU_POPUPBACKGROUND = 9, + MENU_POPUPBORDERS = 10, + MENU_POPUPCHECK = 11, + MENU_POPUPCHECKBACKGROUND = 12, + MENU_POPUPGUTTER = 13, + MENU_POPUPITEM = 14, + MENU_POPUPSEPARATOR = 15, + MENU_POPUPSUBMENU = 16, + MENU_SYSTEMCLOSE = 17, + MENU_SYSTEMMAXIMIZE = 18, + MENU_SYSTEMMINIMIZE = 19, + MENU_SYSTEMRESTORE = 20 + } + + enum MenuBarStates : int { + MB_ACTIVE = 1, + MB_INACTIVE = 2 + } + + enum MenuBarItemStates : int { + MBI_NORMAL = 1, + MBI_HOT = 2, + MBI_PUSHED = 3, + MBI_DISABLED = 4, + MBI_DISABLEDHOT = 5, + MBI_DISABLEDPUSHED = 6 + } + + enum MenuPopupItemStates : int { + MPI_NORMAL = 1, + MPI_HOT = 2, + MPI_DISABLED = 3, + MPI_DISABLEDHOT = 4 + } + + enum MenuPopupCheckStates : int { + MC_CHECKMARKNORMAL = 1, + MC_CHECKMARKDISABLED = 2, + MC_BULLETNORMAL = 3, + MC_BULLETDISABLED = 4 + } + + enum MenuPopupCheckBackgroundStates : int { + MCB_DISABLED = 1, + MCB_NORMAL = 2, + MCB_BITMAP = 3 + } + + enum MenuPopupSubMenuStates : int { + MSM_NORMAL = 1, + MSM_DISABLED = 2 + } + + enum MarginTypes : int { + TMT_SIZINGMARGINS = 3601, + TMT_CONTENTMARGINS = 3602, + TMT_CAPTIONMARGINS = 3603 + } + + const int RP_BACKGROUND = 6; + #endregion + + #region Theme helpers + Padding GetThemeMargins(IDeviceContext dc, MarginTypes marginType) { + NativeMethods.MARGINS margins; + try { + IntPtr hDC = dc.GetHdc(); + if (0 == NativeMethods.GetThemeMargins(renderer.Handle, hDC, renderer.Part, renderer.State, (int)marginType, IntPtr.Zero, out margins)) + return new Padding(margins.cxLeftWidth, margins.cyTopHeight, margins.cxRightWidth, margins.cyBottomHeight); + return new Padding(-1); + } finally { + dc.ReleaseHdc(); + } + } + + private static int GetItemState(ToolStripItem item) { + bool pressed = item.Pressed; + bool hot = item.Selected; + + if (item.Owner.IsDropDown) { + if (item.Enabled) + return hot ? (int)MenuPopupItemStates.MPI_HOT : (int)MenuPopupItemStates.MPI_NORMAL; + return hot ? (int)MenuPopupItemStates.MPI_DISABLEDHOT : (int)MenuPopupItemStates.MPI_DISABLED; + } else { + if (pressed) + return item.Enabled ? (int)MenuBarItemStates.MBI_PUSHED : (int)MenuBarItemStates.MBI_DISABLEDPUSHED; + if (item.Enabled) + return hot ? (int)MenuBarItemStates.MBI_HOT : (int)MenuBarItemStates.MBI_NORMAL; + return hot ? (int)MenuBarItemStates.MBI_DISABLEDHOT : (int)MenuBarItemStates.MBI_DISABLED; + } + } + #endregion + + #region Theme subclasses + public ToolbarTheme Theme { + get; set; + } + + private string RebarClass { + get { + return SubclassPrefix + "Rebar"; + } + } + + private string ToolbarClass { + get { + return SubclassPrefix + "ToolBar"; + } + } + + private string MenuClass { + get { + return SubclassPrefix + "Menu"; + } + } + + private string SubclassPrefix { + get { + switch (Theme) { + case ToolbarTheme.MediaToolbar: return "Media::"; + case ToolbarTheme.CommunicationsToolbar: return "Communications::"; + case ToolbarTheme.BrowserTabBar: return "BrowserTabBar::"; + default: return string.Empty; + } + } + } + + private VisualStyleElement Subclass(VisualStyleElement element) { + return VisualStyleElement.CreateElement(SubclassPrefix + element.ClassName, + element.Part, element.State); + } + #endregion + + VisualStyleRenderer renderer; + + public UXThemeToolStripRenderer(ToolbarTheme theme) { + Theme = theme; + renderer = new VisualStyleRenderer(VisualStyleElement.Button.PushButton.Normal); + } + + #region Borders + protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPBORDERS, 0); + if (e.ToolStrip.IsDropDown) { + Region oldClip = e.Graphics.Clip; + + //Tool strip borders are rendered *after* the content, for some reason. + //So we have to exclude the inside of the popup otherwise we'll draw over it. + Rectangle insideRect = e.ToolStrip.ClientRectangle; + insideRect.Inflate(-1, -1); + e.Graphics.ExcludeClip(insideRect); + + renderer.DrawBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.AffectedBounds); + + //Restore the old clip in case the Graphics is used again (does that ever happen?) + e.Graphics.Clip = oldClip; + } + } + #endregion + + #region Backgrounds + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { + int partId = e.Item.Owner.IsDropDown ? (int)MenuParts.MENU_POPUPITEM : (int)MenuParts.MENU_BARITEM; + renderer.SetParameters(MenuClass, partId, GetItemState(e.Item)); + + Rectangle bgRect = e.Item.ContentRectangle; + + Padding content = GetThemeMargins(e.Graphics, MarginTypes.TMT_CONTENTMARGINS), + sizing = GetThemeMargins(e.Graphics, MarginTypes.TMT_SIZINGMARGINS), + caption = GetThemeMargins(e.Graphics, MarginTypes.TMT_CAPTIONMARGINS); + + if (!e.Item.Owner.IsDropDown) { + bgRect.Y = 0; + bgRect.Height = e.ToolStrip.Height; + bgRect.Inflate(-1, -1); //GetMargins here perhaps? + } + + renderer.DrawBackground(e.Graphics, bgRect, bgRect); + } + + protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e) { + //Draw the background using Rebar & RP_BACKGROUND (or, if that is not available, fall back to + //Rebar.Band.Normal) + if (VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement(RebarClass, RP_BACKGROUND, 0))) { + renderer.SetParameters(RebarClass, RP_BACKGROUND, 0); + } else { + renderer.SetParameters(RebarClass, 0, 0); + //renderer.SetParameters(VisualStyleElement.Taskbar.BackgroundBottom.Normal); + //renderer.SetParameters(Subclass(VisualStyleElement.Rebar.Band.Normal)); + } + + if (renderer.IsBackgroundPartiallyTransparent()) + renderer.DrawParentBackground(e.Graphics, e.ToolStripPanel.ClientRectangle, e.ToolStripPanel); + + renderer.DrawBackground(e.Graphics, e.ToolStripPanel.ClientRectangle); + + //Draw the etched edges of each row. + //renderer.SetParameters(Subclass(VisualStyleElement.Rebar.Band.Normal)); + //foreach (ToolStripPanelRow row in e.ToolStripPanel.Rows) { + // Rectangle rowBounds = row.Bounds; + // rowBounds.Offset(0, -1); + // renderer.DrawEdge(e.Graphics, rowBounds, Edges.Top, EdgeStyle.Etched, EdgeEffects.None); + //} + + e.Handled = true; + } + + //Render the background of an actual menu bar, dropdown menu or toolbar. + protected override void OnRenderToolStripBackground(System.Windows.Forms.ToolStripRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPBACKGROUND, 0); + } else { + //It's a MenuStrip or a ToolStrip. If it's contained inside a larger panel, it should have a + //transparent background, showing the panel's background. + + if (e.ToolStrip.Parent is ToolStripPanel) { + //The background should be transparent, because the ToolStripPanel's background will be visible. + //(Of course, we assume the ToolStripPanel is drawn using the same theme, but it's not my fault + //if someone does that.) + return; + } else { + //A lone toolbar/menubar should act like it's inside a toolbox, I guess. + //Maybe I should use the MenuClass in the case of a MenuStrip, although that would break + //the other themes... + if(VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement(RebarClass, RP_BACKGROUND, 0))) + renderer.SetParameters(RebarClass, RP_BACKGROUND, 0); + else + renderer.SetParameters(RebarClass, 0, 0); + } + } + + if (renderer.IsBackgroundPartiallyTransparent()) + renderer.DrawParentBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.ToolStrip); + + renderer.DrawBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.AffectedBounds); + } + + protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e) { + //e.Graphics.FillRectangle(Brushes.RosyBrown, e.ToolStripContentPanel.ClientRectangle); + //base.OnRenderToolStripContentPanelBackground(e); + } + + //Some sort of chevron thing? + //protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e) { + // base.OnRenderOverflowButtonBackground(e); + //} + #endregion + + #region Text + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { + int partId = e.Item.Owner.IsDropDown ? (int)MenuParts.MENU_POPUPITEM : (int)MenuParts.MENU_BARITEM; + renderer.SetParameters(MenuClass, partId, GetItemState(e.Item)); + Color color = renderer.GetColor(ColorProperty.TextColor); + + if(e.Item.Owner.IsDropDown || e.Item.Owner is MenuStrip) + e.TextColor = color; + + base.OnRenderItemText(e); + } + #endregion + + #region Glyphs + + //protected override void OnRenderGrip(ToolStripGripRenderEventArgs e) { + // if (e.GripStyle == ToolStripGripStyle.Visible) { + // renderer.SetParameters(VisualStyleElement.Rebar.Gripper.Normal); + // renderer.DrawBackground(e.Graphics, e.GripBounds, e.AffectedBounds); + // } + //} + + protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPGUTTER, 0); + Rectangle displayRect = e.ToolStrip.DisplayRectangle, + marginRect = new Rectangle(0, displayRect.Top, displayRect.Left, displayRect.Height); + //e.Graphics.DrawRectangle(Pens.Black, marginRect); + renderer.DrawBackground(e.Graphics, marginRect, marginRect); + } + } + + protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPSEPARATOR, 0); + Rectangle rect = new Rectangle(e.ToolStrip.DisplayRectangle.Left, 0, e.ToolStrip.DisplayRectangle.Width, e.Item.Height); + renderer.DrawBackground(e.Graphics, rect, rect); + } else { + base.OnRenderSeparator(e); + } + } + + protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { + ToolStripMenuItem item = e.Item as ToolStripMenuItem; + if (item != null) { + if (item.Checked) { + Rectangle rect = e.Item.ContentRectangle; + rect.Width = rect.Height; + + //Center the checkmark horizontally in the gutter (looks ugly, though) + //rect.X = (e.ToolStrip.DisplayRectangle.Left - rect.Width) / 2; + + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPCHECKBACKGROUND, e.Item.Enabled ? (int)MenuPopupCheckBackgroundStates.MCB_NORMAL : (int)MenuPopupCheckBackgroundStates.MCB_DISABLED); + renderer.DrawBackground(e.Graphics, rect); + + Padding margins = GetThemeMargins(e.Graphics, MarginTypes.TMT_SIZINGMARGINS); + + rect = new Rectangle(rect.X + margins.Left, rect.Y + margins.Top, + rect.Width - margins.Horizontal, + rect.Height - margins.Vertical); + + //I don't think ToolStrip even supports radio box items. So no need to render them. + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPCHECK, e.Item.Enabled ? (int)MenuPopupCheckStates.MC_CHECKMARKNORMAL : (int)MenuPopupCheckStates.MC_CHECKMARKDISABLED); + + renderer.DrawBackground(e.Graphics, rect); + } + } else { + base.OnRenderItemCheck(e); + } + } + + //This is broken for RTL + protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { + int stateId = e.Item.Enabled ? (int)MenuPopupSubMenuStates.MSM_NORMAL : (int)MenuPopupSubMenuStates.MSM_DISABLED; + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPSUBMENU, stateId); + renderer.DrawBackground(e.Graphics, e.ArrowRectangle); + } + + protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e) { + renderer.SetParameters(RebarClass, VisualStyleElement.Rebar.Chevron.Normal.Part, VisualStyleElement.Rebar.Chevron.Normal.State); + renderer.DrawBackground(e.Graphics, e.Item.ContentRectangle); + + //base.OnRenderOverflowButtonBackground(e); + } + #endregion + + public static bool IsSupported { + get { + if (!VisualStyleRenderer.IsSupported) + return false; + + return VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement("MENU", (int)MenuParts.MENU_BARBACKGROUND, (int)MenuBarStates.MB_ACTIVE)); + } + } + } + + /// + /// Renders a toolstrip using UXTheme if possible, and switches back to the default + /// ToolStripRenderer when UXTheme-based rendering is not available. + /// Designed for menu bars and context menus - it is not guaranteed to work with anything else. + /// + /// + /// NativeToolStripRenderer.SetToolStripRenderer(toolStrip1, toolStrip2, contextMenuStrip1); + /// + /// + /// toolStrip1.Renderer = new NativeToolStripRenderer(); + /// + public class NativeToolStripRenderer : ToolStripRenderer { + UXThemeToolStripRenderer nativeRenderer; + ToolStripRenderer defaultRenderer; + ToolStrip toolStrip; + + //NativeToolStripRenderer looks best with no padding - but keep the old padding in case the + //visual styles become unsupported again (e.g. user changes to windows classic skin) + Padding defaultPadding; + + #region Constructors + /// + /// Creates a NativeToolStripRenderer for a particular ToolStrip. NativeToolStripRenderer will subscribe to some events + /// of this ToolStrip. + /// + /// The toolstrip for this NativeToolStripRenderer. NativeToolStripRenderer will subscribe to some events + /// of this ToolStrip. + public NativeToolStripRenderer(ToolStrip toolStrip, ToolbarTheme theme) { + if (toolStrip == null) + throw new ArgumentNullException("toolStrip", "ToolStrip cannot be null."); + + Theme = theme; + + this.toolStrip = toolStrip; + defaultRenderer = toolStrip.Renderer; + + defaultPadding = toolStrip.Padding; + toolStrip.SystemColorsChanged += new EventHandler(toolStrip_SystemColorsChanged); + + //Can't initialize here - constructor throws if visual styles not enabled + //nativeRenderer = new NativeToolStripRenderer(); + } + + public NativeToolStripRenderer(ToolStripPanel panel, ToolbarTheme theme) { + if (panel == null) + throw new ArgumentNullException("panel", "Panel cannot be null."); + + Theme = theme; + + this.toolStrip = null; + defaultRenderer = panel.Renderer; + } + #endregion + + public ToolbarTheme Theme { get; set; } + + void toolStrip_SystemColorsChanged(object sender, EventArgs e) { + if (toolStrip == null) + return; + + if (UXThemeToolStripRenderer.IsSupported) + toolStrip.Padding = Padding.Empty; + else + toolStrip.Padding = defaultPadding; + } + + //This is indeed called every time a menu part is rendered, but I can't + //find a way of caching it that I can be sure has no race conditions. + //The check is no longer very costly, anyway. + protected ToolStripRenderer ActualRenderer { + get { + bool nativeSupported = UXThemeToolStripRenderer.IsSupported; + + if (nativeSupported) { + if (nativeRenderer == null) + nativeRenderer = new UXThemeToolStripRenderer(Theme); + return nativeRenderer; + } + + return defaultRenderer; + } + } + + #region InitializeXXX + protected override void Initialize(ToolStrip toolStrip) { + base.Initialize(toolStrip); + + toolStrip.Padding = Padding.Empty; + + if (/*!(toolStrip is MenuStrip) &&*/ toolStrip.Parent is ToolStripPanel) { + toolStrip.BackColor = Color.Transparent; + } + } + + protected override void InitializePanel(ToolStripPanel toolStripPanel) { + base.InitializePanel(toolStripPanel); + } + + protected override void InitializeItem(ToolStripItem item) { + base.InitializeItem(item); + } + #endregion + + #region SetToolStripRenderer + /// + /// Sets the renderer of each ToolStrip to a NativeToolStripRenderer. A convenience method. + /// + /// A parameter list of ToolStrips. + [SuppressMessage("Microsoft.Design", "CA1062")] //The parameter array is actually checked. + public static void SetToolStripRenderer(ToolbarTheme theme, params Control[] toolStrips) { + foreach (Control ts in toolStrips) { + if (ts == null) + throw new ArgumentNullException("toolStrips", "ToolStrips cannot contain a null reference."); + } + + foreach (Control ts in toolStrips) { + if (ts is ToolStrip) { + ToolStrip t = (ToolStrip)ts; + t.Renderer = new NativeToolStripRenderer(t, theme); + } else if (ts is ToolStripPanel) { + ToolStripPanel t = (ToolStripPanel)ts; + t.Renderer = new NativeToolStripRenderer(t, theme); + } else + throw new ArgumentException("Can't set the renderer for a " + ts.GetType().Name); + } + } + + public static void SetToolStripRenderer(params Control[] toolStrips) { + SetToolStripRenderer(ToolbarTheme.Toolbar, toolStrips); + } + #endregion + + #region Overridden Methods - Deferred to actual renderer + protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { + ActualRenderer.DrawArrow(e); + } + + protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawButtonBackground(e); + } + + protected override void OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawDropDownButtonBackground(e); + } + + protected override void OnRenderGrip(ToolStripGripRenderEventArgs e) { + ActualRenderer.DrawGrip(e); + } + + protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { + ActualRenderer.DrawImageMargin(e); + } + + protected override void OnRenderItemBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawItemBackground(e); + } + + protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { + ActualRenderer.DrawItemCheck(e); + } + + protected override void OnRenderItemImage(ToolStripItemImageRenderEventArgs e) { + ActualRenderer.DrawItemImage(e); + } + + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { + ActualRenderer.DrawItemText(e); + } + + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawMenuItemBackground(e); + } + + protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e) { + ActualRenderer.DrawSeparator(e); + } + + protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e) { + ActualRenderer.DrawToolStripBackground(e); + } + + protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { + ActualRenderer.DrawToolStripBorder(e); + } + + protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e) { + ActualRenderer.DrawToolStripContentPanelBackground(e); + } + + protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e) { + ActualRenderer.DrawToolStripPanelBackground(e); + } + #endregion + } +} diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj new file mode 100644 index 0000000..f7d9c4d --- /dev/null +++ b/OnTopReplica/OnTopReplica.csproj @@ -0,0 +1,276 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557} + WinExe + Properties + OnTopReplica + OnTopReplica + v2.0 + 512 + Assets\icon.ico + true + true + Internet + OnTopReplica.Program + + + Properties\OnTopReplica.exe.manifest + false + EF37CC602CF25CE1023AEAAF8B200801D77452D5 + OnTopReplica_TemporaryKey.pfx + true + + + publish\ + true + Web + true + Background + 1 + Weeks + true + false + true + http://www.klopfenstein.net/public/Uploads/ontopreplica/ + http://www.klopfenstein.net/public/Uploads/ontopreplica/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + en + OnTopReplica + Lorenz Cuno Klopfenstein + true + publish.htm + false + 3 + 2.6.0.%2a + false + true + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + false + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + false + + + + + + + + + + False + ..\..\..\Libraries\VistaControls\VistaControls\bin\Release\VistaControls.dll + + + + + Form + + + AboutForm.cs + + + Component + + + + + Strings.it.resx + True + True + + + Component + + + Form + + + FullscreenForm.cs + + + Form + + + MainForm.cs + + + + + + + AboutForm.cs + Designer + + + ResXFileCodeGenerator + Strings.it.Designer.cs + Designer + + + FullscreenForm.cs + + + MainForm.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + RegionBox.cs + Designer + + + ResXFileCodeGenerator + Strings.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + UserControl + + + RegionBox.cs + + + + + True + True + Strings.resx + + + Component + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + .NET Framework Client Profile + false + + + False + .NET Framework 2.0 %28x86%29 + true + + + False + .NET Framework 3.0 %28x86%29 + false + + + False + .NET Framework 3.5 + false + + + False + .NET Framework 3.5 SP1 + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.csproj.user b/OnTopReplica/OnTopReplica.csproj.user new file mode 100644 index 0000000..5f6ceb4 --- /dev/null +++ b/OnTopReplica/OnTopReplica.csproj.user @@ -0,0 +1,14 @@ + + + publish\ + http://www.klopfenstein.net/download.aspx%3ffile=ontopreplica%252fsetup.exe/|http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/|http://lorenz.klopfenstein.net/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&page=on_top_replica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&page=programming_on_top_replica + http://www.klopfenstein.net/lorenz/programming/ontopreplica/ + + + en-US + false + + + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica_TemporaryKey.pfx b/OnTopReplica/OnTopReplica_TemporaryKey.pfx new file mode 100644 index 0000000000000000000000000000000000000000..9e4ace042ca2c106b8d0444ff9b258596f9f98a1 GIT binary patch literal 1644 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs new file mode 100644 index 0000000..f844e20 --- /dev/null +++ b/OnTopReplica/Program.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using OnTopReplica.Properties; +using System.Threading; +using System.Globalization; + +namespace OnTopReplica +{ + static class Program { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() { + //Update settings if needed + if (Settings.Default.MustUpdate) { + Settings.Default.Upgrade(); + Settings.Default.MustUpdate = false; + } + + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + + do { + //Update language settings + Thread.CurrentThread.CurrentUICulture = _languageChangeCode; + Settings.Default.Language = _languageChangeCode; + _languageChangeCode = null; + + Application.Run(new MainForm()); + } + while(_languageChangeCode != null); + + //Persist settings + Settings.Default.Save(); + } + + static CultureInfo _languageChangeCode = Settings.Default.Language; + + /// + /// Forces a global language change. As soon as the main form is closed, the change is performed + /// and the form is reopened using the new language. + /// + public static bool ForceGlobalLanguageChange(string languageCode){ + if (string.IsNullOrEmpty(languageCode)) + return false; + + try { + _languageChangeCode = new CultureInfo(languageCode); + } + catch { + return false; + } + + return true; + } + } +} diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..3d76d1a --- /dev/null +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("OnTopReplica")] +[assembly: AssemblyDescription("Real-time, always on top thumbnail of a window of your choice.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Lorenz Cuno Klopfenstein")] +[assembly: AssemblyProduct("OnTopReplica")] +[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2007")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("015090d1-7559-4c59-b9d1-e7e066c4a948")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("2.6.0.1")] +[assembly: AssemblyFileVersion("2.6.0.1")] diff --git a/OnTopReplica/Properties/OnTopReplica.exe.manifest b/OnTopReplica/Properties/OnTopReplica.exe.manifest new file mode 100644 index 0000000..430fc54 --- /dev/null +++ b/OnTopReplica/Properties/OnTopReplica.exe.manifest @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs new file mode 100644 index 0000000..950cfdb --- /dev/null +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -0,0 +1,259 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.3053 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.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() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("OnTopReplica.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to <html> + /// <head> + /// <style type="text/css"> + ///body { + /// font-family: Segoe UI, Arial, sans-serif; + /// font-size: 0.8em; + /// margin: 0; padding: 0; + ///} + ///h1 { + /// font-size: 1.4em; + /// font-weight: bold; + /// + /// margin: 0 0 1em 0; + /// padding: 0; + ///} + ///p { + /// margin: 0.5em 0 0.5em 1em; + /// padding: 0; + ///} + ///a { + /// font-weight: bold; + /// color: blue; + ///} + ///a:hover { + /// color: red; + ///} + /// </style> + /// </head> + /// + /// <body> + /// + /// <h1>License</h1> + /// + /// <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms-rl.htm [rest of string was truncated]";. + /// + internal static string about { + get { + return ResourceManager.GetString("about", resourceCulture); + } + } + + internal static System.Drawing.Bitmap back { + get { + object obj = ResourceManager.GetObject("back", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap close_new { + get { + object obj = ResourceManager.GetObject("close_new", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap component { + get { + object obj = ResourceManager.GetObject("component", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_ita { + get { + object obj = ResourceManager.GetObject("flag_ita", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_usa { + get { + object obj = ResourceManager.GetObject("flag_usa", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap icon { + get { + object obj = ResourceManager.GetObject("icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap ok { + get { + object obj = ResourceManager.GetObject("ok", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_bottomleft { + get { + object obj = ResourceManager.GetObject("pos_bottomleft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_bottomright { + get { + object obj = ResourceManager.GetObject("pos_bottomright", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_null { + get { + object obj = ResourceManager.GetObject("pos_null", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_topleft { + get { + object obj = ResourceManager.GetObject("pos_topleft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_topright { + get { + object obj = ResourceManager.GetObject("pos_topright", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap reduce { + get { + object obj = ResourceManager.GetObject("reduce", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap thumbs_up { + get { + object obj = ResourceManager.GetObject("thumbs_up", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_border16 { + get { + object obj = ResourceManager.GetObject("window_border16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_multiple16 { + get { + object obj = ResourceManager.GetObject("window_multiple16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Icon window_multiple161 { + get { + object obj = ResourceManager.GetObject("window_multiple161", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + internal static System.Drawing.Bitmap window_opacity16 { + get { + object obj = ResourceManager.GetObject("window_opacity16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_switch { + get { + object obj = ResourceManager.GetObject("window_switch", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window16 { + get { + object obj = ResourceManager.GetObject("window16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_down { + get { + object obj = ResourceManager.GetObject("xiao_down", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_up { + get { + object obj = ResourceManager.GetObject("xiao_up", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx new file mode 100644 index 0000000..7ae6f82 --- /dev/null +++ b/OnTopReplica/Properties/Resources.resx @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Assets\icon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\component.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\thumbs_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_multiple16.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\back.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\reduce.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_opacity16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_switch.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\x-oblique.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_usa.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_border16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\about.html;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + + ..\Assets\ok.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_null.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_down.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_multiple16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_ita.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/OnTopReplica/Properties/Settings.Designer.cs b/OnTopReplica/Properties/Settings.Designer.cs new file mode 100644 index 0000000..aa1d904 --- /dev/null +++ b/OnTopReplica/Properties/Settings.Designer.cs @@ -0,0 +1,181 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.3053 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.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; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public global::OnTopReplica.StoredRegionArray SavedRegions { + get { + return ((global::OnTopReplica.StoredRegionArray)(this["SavedRegions"])); + } + set { + this["SavedRegions"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool UseGlass { + get { + return ((bool)(this["UseGlass"])); + } + set { + this["UseGlass"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool AutoFitOnResize { + get { + return ((bool)(this["AutoFitOnResize"])); + } + set { + this["AutoFitOnResize"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("255")] + public byte Opacity { + get { + return ((byte)(this["Opacity"])); + } + set { + this["Opacity"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0, 0")] + public global::System.Drawing.Point LastLocation { + get { + return ((global::System.Drawing.Point)(this["LastLocation"])); + } + set { + this["LastLocation"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0, 0")] + public global::System.Drawing.Size LastSize { + get { + return ((global::System.Drawing.Size)(this["LastSize"])); + } + set { + this["LastSize"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool WindowPositionStored { + get { + return ((bool)(this["WindowPositionStored"])); + } + set { + this["WindowPositionStored"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool StoreWindowPosition { + get { + return ((bool)(this["StoreWindowPosition"])); + } + set { + this["StoreWindowPosition"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("(Default)")] + public global::System.Globalization.CultureInfo Language { + get { + return ((global::System.Globalization.CultureInfo)(this["Language"])); + } + set { + this["Language"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool MustUpdate { + get { + return ((bool)(this["MustUpdate"])); + } + set { + this["MustUpdate"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool ClickThrough { + get { + return ((bool)(this["ClickThrough"])); + } + set { + this["ClickThrough"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool FirstTimeClickThrough { + get { + return ((bool)(this["FirstTimeClickThrough"])); + } + set { + this["FirstTimeClickThrough"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool FirstTimeClickForwarding { + get { + return ((bool)(this["FirstTimeClickForwarding"])); + } + set { + this["FirstTimeClickForwarding"] = value; + } + } + } +} diff --git a/OnTopReplica/Properties/Settings.settings b/OnTopReplica/Properties/Settings.settings new file mode 100644 index 0000000..daf191e --- /dev/null +++ b/OnTopReplica/Properties/Settings.settings @@ -0,0 +1,45 @@ + + + + + + + + + True + + + False + + + 255 + + + 0, 0 + + + 0, 0 + + + False + + + False + + + (Default) + + + True + + + True + + + True + + + True + + + \ No newline at end of file diff --git a/OnTopReplica/Properties/app.manifest b/OnTopReplica/Properties/app.manifest new file mode 100644 index 0000000..c29c96a --- /dev/null +++ b/OnTopReplica/Properties/app.manifest @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/RegionBox.Designer.cs b/OnTopReplica/RegionBox.Designer.cs new file mode 100644 index 0000000..6d71b9c --- /dev/null +++ b/OnTopReplica/RegionBox.Designer.cs @@ -0,0 +1,345 @@ +namespace OnTopReplica { + partial class RegionBox { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.panel1 = new System.Windows.Forms.Panel(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.numH = new System.Windows.Forms.NumericUpDown(); + this.numW = new System.Windows.Forms.NumericUpDown(); + this.numY = new System.Windows.Forms.NumericUpDown(); + this.numX = new System.Windows.Forms.NumericUpDown(); + this.buttonDone = new System.Windows.Forms.Button(); + this.buttonReset = new System.Windows.Forms.Button(); + this.label6 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.buttonDelete = new System.Windows.Forms.Button(); + this.buttonSave = new System.Windows.Forms.Button(); + this.comboBox1 = new VistaControls.ComboBox(); + this.textRegionName = new OnTopReplica.FocusedTextBox(); + this.panel1.SuspendLayout(); + this.groupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).BeginInit(); + this.SuspendLayout(); + // + // panel1 + // + this.panel1.BackColor = System.Drawing.SystemColors.Control; + this.panel1.Controls.Add(this.groupBox1); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.panel1.Name = "panel1"; + this.panel1.Padding = new System.Windows.Forms.Padding(5, 5, 5, 5); + this.panel1.Size = new System.Drawing.Size(233, 292); + this.panel1.TabIndex = 0; + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.textRegionName); + this.groupBox1.Controls.Add(this.numH); + this.groupBox1.Controls.Add(this.numW); + this.groupBox1.Controls.Add(this.numY); + this.groupBox1.Controls.Add(this.numX); + this.groupBox1.Controls.Add(this.buttonDone); + this.groupBox1.Controls.Add(this.buttonReset); + this.groupBox1.Controls.Add(this.label6); + this.groupBox1.Controls.Add(this.label7); + this.groupBox1.Controls.Add(this.label3); + this.groupBox1.Controls.Add(this.label2); + this.groupBox1.Controls.Add(this.label1); + this.groupBox1.Controls.Add(this.buttonDelete); + this.groupBox1.Controls.Add(this.buttonSave); + this.groupBox1.Controls.Add(this.comboBox1); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Location = new System.Drawing.Point(5, 5); + this.groupBox1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.groupBox1.Size = new System.Drawing.Size(223, 282); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Regions"; + // + // numH + // + this.numH.Enabled = false; + this.numH.Location = new System.Drawing.Point(145, 150); + this.numH.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.numH.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numH.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numH.Name = "numH"; + this.numH.Size = new System.Drawing.Size(57, 22); + this.numH.TabIndex = 7; + this.numH.ValueChanged += new System.EventHandler(this.RegionValueChanged); + // + // numW + // + this.numW.Enabled = false; + this.numW.Location = new System.Drawing.Point(145, 118); + this.numW.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.numW.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numW.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numW.Name = "numW"; + this.numW.Size = new System.Drawing.Size(57, 22); + this.numW.TabIndex = 6; + this.numW.ValueChanged += new System.EventHandler(this.RegionValueChanged); + // + // numY + // + this.numY.Enabled = false; + this.numY.Location = new System.Drawing.Point(31, 150); + this.numY.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.numY.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numY.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numY.Name = "numY"; + this.numY.Size = new System.Drawing.Size(57, 22); + this.numY.TabIndex = 5; + this.numY.ValueChanged += new System.EventHandler(this.RegionValueChanged); + // + // numX + // + this.numX.Enabled = false; + this.numX.Location = new System.Drawing.Point(31, 118); + this.numX.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.numX.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numX.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numX.Name = "numX"; + this.numX.Size = new System.Drawing.Size(57, 22); + this.numX.TabIndex = 4; + this.numX.ValueChanged += new System.EventHandler(this.RegionValueChanged); + // + // buttonDone + // + this.buttonDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDone.Location = new System.Drawing.Point(135, 246); + this.buttonDone.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.buttonDone.Name = "buttonDone"; + this.buttonDone.Size = new System.Drawing.Size(80, 28); + this.buttonDone.TabIndex = 9; + this.buttonDone.Text = global::OnTopReplica.Strings.RegionsDoneButton; + this.buttonDone.UseVisualStyleBackColor = true; + this.buttonDone.Click += new System.EventHandler(this.CloseClick); + // + // buttonReset + // + this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonReset.Location = new System.Drawing.Point(8, 246); + this.buttonReset.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.buttonReset.Name = "buttonReset"; + this.buttonReset.Size = new System.Drawing.Size(80, 28); + this.buttonReset.TabIndex = 8; + this.buttonReset.Text = global::OnTopReplica.Strings.RegionsResetButton; + this.buttonReset.UseVisualStyleBackColor = true; + this.buttonReset.Click += new System.EventHandler(this.ResetClick); + // + // label6 + // + this.label6.AutoSize = true; + this.label6.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label6.Location = new System.Drawing.Point(95, 153); + this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(49, 17); + this.label6.TabIndex = 9; + this.label6.Text = "Height"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label7.Location = new System.Drawing.Point(95, 121); + this.label7.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(44, 17); + this.label7.TabIndex = 8; + this.label7.Text = "Width"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label3.Location = new System.Drawing.Point(8, 153); + this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(17, 17); + this.label3.TabIndex = 5; + this.label3.Text = "Y"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label2.Location = new System.Drawing.Point(8, 121); + this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(17, 17); + this.label2.TabIndex = 4; + this.label2.Text = "X"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(8, 94); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(103, 17); + this.label1.TabIndex = 3; + this.label1.Text = "Current region:"; + // + // buttonDelete + // + this.buttonDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDelete.Enabled = false; + this.buttonDelete.Location = new System.Drawing.Point(135, 57); + this.buttonDelete.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.buttonDelete.Name = "buttonDelete"; + this.buttonDelete.Size = new System.Drawing.Size(80, 28); + this.buttonDelete.TabIndex = 3; + this.buttonDelete.Text = global::OnTopReplica.Strings.RegionsDeleteButton; + this.buttonDelete.UseVisualStyleBackColor = true; + this.buttonDelete.Click += new System.EventHandler(this.DeleteClick); + // + // buttonSave + // + this.buttonSave.Enabled = false; + this.buttonSave.Location = new System.Drawing.Point(8, 57); + this.buttonSave.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.buttonSave.Name = "buttonSave"; + this.buttonSave.Size = new System.Drawing.Size(80, 28); + this.buttonSave.TabIndex = 1; + this.buttonSave.Text = global::OnTopReplica.Strings.RegionsSaveButton; + this.buttonSave.UseVisualStyleBackColor = true; + this.buttonSave.Click += new System.EventHandler(this.SaveClick); + // + // comboBox1 + // + this.comboBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.comboBox1.CueBannerText = global::OnTopReplica.Strings.RegionsStoredRegions; + this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox1.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.comboBox1.FormattingEnabled = true; + this.comboBox1.Location = new System.Drawing.Point(8, 23); + this.comboBox1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.comboBox1.Name = "comboBox1"; + this.comboBox1.Size = new System.Drawing.Size(206, 24); + this.comboBox1.TabIndex = 0; + this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.RegionCombo_index); + // + // textRegionName + // + this.textRegionName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textRegionName.BackColor = System.Drawing.SystemColors.ActiveCaption; + this.textRegionName.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; + this.textRegionName.Location = new System.Drawing.Point(8, 59); + this.textRegionName.Margin = new System.Windows.Forms.Padding(4); + this.textRegionName.Name = "textRegionName"; + this.textRegionName.Size = new System.Drawing.Size(118, 22); + this.textRegionName.TabIndex = 2; + this.textRegionName.Visible = false; + this.textRegionName.Leave += new System.EventHandler(this.Save_lost); + this.textRegionName.ConfirmInput += new System.EventHandler(this.Save_confirm); + // + // RegionBox + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Black; + this.Controls.Add(this.panel1); + this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.MinimumSize = new System.Drawing.Size(213, 222); + this.Name = "RegionBox"; + this.Size = new System.Drawing.Size(233, 292); + this.panel1.ResumeLayout(false); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Button buttonDelete; + private System.Windows.Forms.Button buttonSave; + private VistaControls.ComboBox comboBox1; + private System.Windows.Forms.Button buttonDone; + private System.Windows.Forms.Button buttonReset; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.NumericUpDown numH; + private System.Windows.Forms.NumericUpDown numW; + private System.Windows.Forms.NumericUpDown numY; + private System.Windows.Forms.NumericUpDown numX; + private FocusedTextBox textRegionName; + } +} diff --git a/OnTopReplica/RegionBox.cs b/OnTopReplica/RegionBox.cs new file mode 100644 index 0000000..9a0dcd8 --- /dev/null +++ b/OnTopReplica/RegionBox.cs @@ -0,0 +1,178 @@ +using System; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica { + public partial class RegionBox : UserControl { + + public RegionBox() { + InitializeComponent(); + + //Copy settings into combo box + if (Settings.Default.SavedRegions != null) { + foreach (object o in Settings.Default.SavedRegions) { + comboBox1.Items.Add(o); + } + } + } + + void Default_SettingsLoaded(object sender, System.Configuration.SettingsLoadedEventArgs e) { + + } + + bool _glassMode = true; + + public bool GlassMode { + get { + return _glassMode; + } + set { + BackColor = (value) ? Color.Black : SystemColors.Control; + + _glassMode = value; + } + } + + public void SetRegion(Rectangle region) { + try { + _ignoreValueChanges = true; + + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = true; + + numX.Value = region.Left; + numY.Value = region.Top; + numW.Value = region.Width; + numH.Value = region.Height; + } + finally { + _ignoreValueChanges = false; + } + + OnRegionSet(region); + } + + public void Reset() { + try { + _ignoreValueChanges = true; + + numX.Value = numY.Value = numW.Value = numH.Value = 0; + + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = false; + + buttonSave.Enabled = false; + + comboBox1.SelectedIndex = -1; + } + finally { + _ignoreValueChanges = false; + } + } + + public event EventHandler RequestClosing; + + protected virtual void OnRequestClosing() { + if (RequestClosing != null) + RequestClosing(this, EventArgs.Empty); + } + + private void CloseClick(object sender, EventArgs e) { + OnRequestClosing(); + } + + public event EventHandler RequestRegionReset; + + protected virtual void OnRequestRegionReset() { + if (RequestRegionReset != null) + RequestRegionReset(this, EventArgs.Empty); + } + + private void ResetClick(object sender, EventArgs e) { + Reset(); + + OnRequestRegionReset(); + } + + private void DeleteClick(object sender, EventArgs e) { + Settings.Default.SavedRegions.RemoveAt(comboBox1.SelectedIndex); + comboBox1.Items.RemoveAt(comboBox1.SelectedIndex); + } + + private void SaveClick(object sender, EventArgs e) { + //Display textbox instead of button + buttonSave.Visible = false; + textRegionName.Visible = true; + textRegionName.Focus(); + } + + private void Save_confirm(object sender, EventArgs e) { + if (!string.IsNullOrEmpty(textRegionName.Text)) { + AddRegion(new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value), textRegionName.Text); + } + + //Hide textbox and show button again + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Visible = true; + buttonSave.Enabled = false; + } + + private void Save_lost(object sender, EventArgs e) { + //Reset textbox + textRegionName.Visible = false; + + buttonSave.Visible = true; + buttonSave.Focus(); + } + + private void AddRegion(Rectangle rectangle, string p) { + var region = new StoredRegion(rectangle, p); + + int index = comboBox1.Items.Add(region); + comboBox1.SelectedIndex = index; + + if (Settings.Default.SavedRegions == null) + Settings.Default.SavedRegions = new StoredRegionArray(); + Settings.Default.SavedRegions.Add(region); + } + + public delegate void RegionSetHandler(object sender, Rectangle region); + + public event RegionSetHandler RegionSet; + + protected virtual void OnRegionSet(Rectangle region){ + if (RegionSet != null) + RegionSet(this, region); + + buttonSave.Enabled = true; + } + + /// Used to signal to the value change handler that all events should be temporarily ignored. + /// Must be used if the RegionBox is updating the values of the NumericUpDown controls internally and the handler + /// should not raise any event. + bool _ignoreValueChanges = false; + + private void RegionValueChanged(object sender, EventArgs e) { + if (_ignoreValueChanges) + return; + + OnRegionSet(new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value)); + } + + private void RegionCombo_index(object sender, EventArgs e) { + buttonDelete.Enabled = (comboBox1.SelectedIndex >= 0); + + if (comboBox1.SelectedIndex >= 0) { + //Load region + var region = comboBox1.SelectedItem as StoredRegion; + + if (region == null) + return; + + SetRegion(region.Rect); + } + } + + } +} diff --git a/OnTopReplica/RegionBox.resx b/OnTopReplica/RegionBox.resx new file mode 100644 index 0000000..ff31a6d --- /dev/null +++ b/OnTopReplica/RegionBox.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/StoredRegion.cs b/OnTopReplica/StoredRegion.cs new file mode 100644 index 0000000..93a64fd --- /dev/null +++ b/OnTopReplica/StoredRegion.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.Drawing; + +namespace OnTopReplica { + + [Serializable] + public class StoredRegion : IXmlSerializable { + + public StoredRegion() { + } + + public StoredRegion(Rectangle r, string n) { + Rect = r; + Name = n; + } + + public Rectangle Rect { + get; + set; + } + + public string Name { + get; + set; + } + + public override string ToString() { + return Name; + } + + + #region IXmlSerializable Members + + public System.Xml.Schema.XmlSchema GetSchema() { + return null; + } + + public void ReadXml(System.Xml.XmlReader reader) { + if (reader.MoveToAttribute("name")) + Name = reader.Value; + else + throw new Exception(); + + reader.Read(); + + XmlSerializer x = new XmlSerializer(typeof(Rectangle)); + Rect = (Rectangle)x.Deserialize(reader); + } + + public void WriteXml(System.Xml.XmlWriter writer) { + writer.WriteAttributeString("name", Name); + + XmlSerializer x = new XmlSerializer(typeof(Rectangle)); + x.Serialize(writer, Rect); + } + + #endregion + } + +} diff --git a/OnTopReplica/StoredRegionArray.cs b/OnTopReplica/StoredRegionArray.cs new file mode 100644 index 0000000..ee4a74e --- /dev/null +++ b/OnTopReplica/StoredRegionArray.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Collections; +using System.Xml.Serialization; + +namespace OnTopReplica { + + public class StoredRegionArray : ArrayList, IXmlSerializable { + #region IXmlSerializable Members + + public System.Xml.Schema.XmlSchema GetSchema() { + return null; + } + + public void ReadXml(System.Xml.XmlReader reader) { + this.Clear(); + XmlSerializer x = new XmlSerializer(typeof(StoredRegion)); + while (reader.ReadToFollowing("StoredRegion")) { + object o = x.Deserialize(reader); + + if (o is StoredRegion) + this.Add(o); + } + } + + public void WriteXml(System.Xml.XmlWriter writer) { + XmlSerializer x = new XmlSerializer(typeof(StoredRegion)); + foreach (StoredRegion sr in this) { + x.Serialize(writer, sr); + } + } + + #endregion + } + +} diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs new file mode 100644 index 0000000..f8b442e --- /dev/null +++ b/OnTopReplica/Strings.Designer.cs @@ -0,0 +1,1048 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.3074 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Strings { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Strings() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("OnTopReplica.Strings", typeof(Strings).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to OnTopReplica. + /// + internal static string ApplicationName { + get { + return ResourceManager.GetString("ApplicationName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset window completely?. + /// + internal static string AskReset { + get { + return ResourceManager.GetString("AskReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to &Reset + ///All settings will be lost.. + /// + internal static string AskResetButtonOk { + get { + return ResourceManager.GetString("AskResetButtonOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary.. + /// + internal static string AskResetContent { + get { + return ResourceManager.GetString("AskResetContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset. + /// + internal static string AskResetTitle { + get { + return ResourceManager.GetString("AskResetTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Install OnTopReplica {0}?. + /// + internal static string AskUpdate { + get { + return ResourceManager.GetString("AskUpdate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cancel update + ///OnTopReplica will prompt you the next time it is started.. + /// + internal static string AskUpdateButtonCancel { + get { + return ResourceManager.GetString("AskUpdateButtonCancel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Proceed + ///Install OnTopReplica {0}.. + /// + internal static string AskUpdateButtonOk { + get { + return ResourceManager.GetString("AskUpdateButtonOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The new version will be automatically downloaded and installed.. + /// + internal static string AskUpdateContent { + get { + return ResourceManager.GetString("AskUpdateContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Installed version: {0} + ///Available version: {1} + ///Download size: {2} bytes. + /// + internal static string AskUpdateExpanded { + get { + return ResourceManager.GetString("AskUpdateExpanded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update available. + /// + internal static string AskUpdateTitle { + get { + return ResourceManager.GetString("AskUpdateTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to &Cancel. + /// + internal static string ButtonCancel { + get { + return ResourceManager.GetString("ButtonCancel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Created by: Lorenz Cuno Klopfenstein.. + /// + internal static string CreatedBy { + get { + return ResourceManager.GetString("CreatedBy", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Draw regions using mouse.. + /// + internal static string DrawRegions { + get { + return ResourceManager.GetString("DrawRegions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Details. + /// + internal static string ErrorDetailButton { + get { + return ResourceManager.GetString("ErrorDetailButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Details on Windows Aero. + /// + internal static string ErrorDetailsAero { + get { + return ResourceManager.GetString("ErrorDetailsAero", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Windows Aero is only available on Windows Vista Home Premium or higher.. + /// + internal static string ErrorDetailsAeroInfo { + get { + return ResourceManager.GetString("ErrorDetailsAeroInfo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 'Desktop Composition' is not enabled.. + /// + internal static string ErrorDwmOff { + get { + return ResourceManager.GetString("ErrorDwmOff", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + /// + ///To do so, right-click on the desktop and click on Personalize.. + /// + internal static string ErrorDwmOffContent { + get { + return ResourceManager.GetString("ErrorDwmOffContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error details. + /// + internal static string ErrorGenericInfoButton { + get { + return ResourceManager.GetString("ErrorGenericInfoButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error: . + /// + internal static string ErrorGenericInfoText { + get { + return ResourceManager.GetString("ErrorGenericInfoText", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to It appears that the selected window has been closed or is not valid anymore.. + /// + internal static string ErrorGenericThumbnailHandleError { + get { + return ResourceManager.GetString("ErrorGenericThumbnailHandleError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error. + /// + internal static string ErrorGenericTitle { + get { + return ResourceManager.GetString("ErrorGenericTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 'Desktop Composition' is not supported on your Operating System. + ///You must run this application on Windows Vista Home Premium or better.. + /// + internal static string ErrorNoDwm { + get { + return ResourceManager.GetString("ErrorNoDwm", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Desktop Composition unsupported. + /// + internal static string ErrorNoDwmTitle { + get { + return ResourceManager.GetString("ErrorNoDwmTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No thumbnail loaded.. + /// + internal static string ErrorNoThumbnail { + get { + return ResourceManager.GetString("ErrorNoThumbnail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to create thumbnail.. + /// + internal static string ErrorUnableToCreateThumbnail { + get { + return ResourceManager.GetString("ErrorUnableToCreateThumbnail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to fit window.. + /// + internal static string ErrorUnableToFit { + get { + return ResourceManager.GetString("ErrorUnableToFit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to check for updates.. + /// + internal static string ErrorUpdate { + get { + return ResourceManager.GetString("ErrorUpdate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://www.codeplex.com/ontopreplica">OnTopReplica's homepage</a>).. + /// + internal static string ErrorUpdateContent { + get { + return ResourceManager.GetString("ErrorUpdateContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Homepage: www.codeplex.com/ontopreplica.. + /// + internal static string Homepage { + get { + return ResourceManager.GetString("Homepage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Do you want to enable "click forwarding"?. + /// + internal static string InfoClickForwarding { + get { + return ResourceManager.GetString("InfoClickForwarding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to In this mode OnTopReplica will forward all left mouse clicks on it to the window that is being clones (this will allow you to do basic operations on the window without having to activate it). + /// + ///To exit this mode, right-click on OnTopReplica and disable "Click forwarding" from the menu.. + /// + internal static string InfoClickForwardingContent { + get { + return ResourceManager.GetString("InfoClickForwardingContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click forwarding. + /// + internal static string InfoClickForwardingTitle { + get { + return ResourceManager.GetString("InfoClickForwardingTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click-Through fullscreen mode?. + /// + internal static string InfoClickThrough { + get { + return ResourceManager.GetString("InfoClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent.. + /// + internal static string InfoClickThroughDetails { + get { + return ResourceManager.GetString("InfoClickThroughDetails", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + /// + ///To return to normal mode anytime, double click on the OnTopReplica icon in the tray area.. + /// + internal static string InfoClickThroughInformation { + get { + return ResourceManager.GetString("InfoClickThroughInformation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No, use standard fullscreen + ///You can enable click-through later. + /// + internal static string InfoClickThroughNo { + get { + return ResourceManager.GetString("InfoClickThroughNo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use Click-Through. + /// + internal static string InfoClickThroughOk { + get { + return ResourceManager.GetString("InfoClickThroughOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click-Through mode. + /// + internal static string InfoClickThroughTitle { + get { + return ResourceManager.GetString("InfoClickThroughTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica has been updated.. + /// + internal static string InfoUpdated { + get { + return ResourceManager.GetString("InfoUpdated", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to In order to use the updated version of OnTopReplica you'll have to restart the application.. + /// + internal static string InfoUpdatedContent { + get { + return ResourceManager.GetString("InfoUpdatedContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update successful. + /// + internal static string InfoUpdatedTitle { + get { + return ResourceManager.GetString("InfoUpdatedTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica is up to date.. + /// + internal static string InfoUpToDate { + get { + return ResourceManager.GetString("InfoUpToDate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No update available. + /// + internal static string InfoUpToDateTitle { + get { + return ResourceManager.GetString("InfoUpToDateTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Language. + /// + internal static string Language { + get { + return ResourceManager.GetString("Language", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to About.... + /// + internal static string MenuAbout { + get { + return ResourceManager.GetString("MenuAbout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hides the main window and displays the "about" box.. + /// + internal static string MenuAboutTT { + get { + return ResourceManager.GetString("MenuAboutTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Autofit on resize. + /// + internal static string MenuAutofit { + get { + return ResourceManager.GetString("MenuAutofit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatically fits the window to the thumbnail when you resize it.. + /// + internal static string MenuAutofitTT { + get { + return ResourceManager.GetString("MenuAutofitTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click forwarding. + /// + internal static string MenuClickForwarding { + get { + return ResourceManager.GetString("MenuClickForwarding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable "click forwarding" to the cloned window.. + /// + internal static string MenuClickForwardingTT { + get { + return ResourceManager.GetString("MenuClickForwardingTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Close. + /// + internal static string MenuClose { + get { + return ResourceManager.GetString("MenuClose", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Closes OnTopReplica.. + /// + internal static string MenuCloseTT { + get { + return ResourceManager.GetString("MenuCloseTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 2:1 Double. + /// + internal static string MenuFitDouble { + get { + return ResourceManager.GetString("MenuFitDouble", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fullscreen. + /// + internal static string MenuFitFullscreen { + get { + return ResourceManager.GetString("MenuFitFullscreen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:2 Half. + /// + internal static string MenuFitHalf { + get { + return ResourceManager.GetString("MenuFitHalf", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:1 Fit to window. + /// + internal static string MenuFitOriginal { + get { + return ResourceManager.GetString("MenuFitOriginal", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:4 Quarter. + /// + internal static string MenuFitQuarter { + get { + return ResourceManager.GetString("MenuFitQuarter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Glass. + /// + internal static string MenuGlass { + get { + return ResourceManager.GetString("MenuGlass", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles "glass mode" on and off.. + /// + internal static string MenuGlassTT { + get { + return ResourceManager.GetString("MenuGlassTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 100% (opaque). + /// + internal static string MenuOp100 { + get { + return ResourceManager.GetString("MenuOp100", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to be completely opaque.. + /// + internal static string MenuOp100TT { + get { + return ResourceManager.GetString("MenuOp100TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 25%. + /// + internal static string MenuOp25 { + get { + return ResourceManager.GetString("MenuOp25", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 25% opacity.. + /// + internal static string MenuOp25TT { + get { + return ResourceManager.GetString("MenuOp25TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 50%. + /// + internal static string MenuOp50 { + get { + return ResourceManager.GetString("MenuOp50", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 50% opacity.. + /// + internal static string MenuOp50TT { + get { + return ResourceManager.GetString("MenuOp50TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 75%. + /// + internal static string MenuOp75 { + get { + return ResourceManager.GetString("MenuOp75", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 75% opacity.. + /// + internal static string MenuOp75TT { + get { + return ResourceManager.GetString("MenuOp75TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Opacity. + /// + internal static string MenuOpacity { + get { + return ResourceManager.GetString("MenuOpacity", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open. + /// + internal static string MenuOpen { + get { + return ResourceManager.GetString("MenuOpen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Displays OnTopReplica.. + /// + internal static string MenuOpenTT { + get { + return ResourceManager.GetString("MenuOpenTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bottom Left. + /// + internal static string MenuPosBottomLeft { + get { + return ResourceManager.GetString("MenuPosBottomLeft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bottom Right. + /// + internal static string MenuPosBottomRight { + get { + return ResourceManager.GetString("MenuPosBottomRight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Position. + /// + internal static string MenuPosition { + get { + return ResourceManager.GetString("MenuPosition", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatically position OnTopReplica on the current screen.. + /// + internal static string MenuPositionTT { + get { + return ResourceManager.GetString("MenuPositionTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Top Left. + /// + internal static string MenuPosTopLeft { + get { + return ResourceManager.GetString("MenuPosTopLeft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Top Right. + /// + internal static string MenuPosTopRight { + get { + return ResourceManager.GetString("MenuPosTopRight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Quit fullscreen mode. + /// + internal static string MenuQuitFullscreen { + get { + return ResourceManager.GetString("MenuQuitFullscreen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Recall last position and size. + /// + internal static string MenuRecall { + get { + return ResourceManager.GetString("MenuRecall", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles whether OnTopReplica should store its last position and size and use them when it is restarted.. + /// + internal static string MenuRecallTT { + get { + return ResourceManager.GetString("MenuRecallTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reduce to icon. + /// + internal static string MenuReduce { + get { + return ResourceManager.GetString("MenuReduce", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reduces OnTopReplica to the icon in the tray.. + /// + internal static string MenuReduceTT { + get { + return ResourceManager.GetString("MenuReduceTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select region.... + /// + internal static string MenuRegion { + get { + return ResourceManager.GetString("MenuRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail.. + /// + internal static string MenuRegionTT { + get { + return ResourceManager.GetString("MenuRegionTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset window. + /// + internal static string MenuReset { + get { + return ResourceManager.GetString("MenuReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resets OnTopReplica settings and its main window.. + /// + internal static string MenuResetTT { + get { + return ResourceManager.GetString("MenuResetTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resize. + /// + internal static string MenuResize { + get { + return ResourceManager.GetString("MenuResize", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click-Through. + /// + internal static string MenuResizeClickThrough { + get { + return ResourceManager.GetString("MenuResizeClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to If the window is not completely opaque when turned to fullscreen mode, it will let all clicks "fall through" (like a transparent overlay).. + /// + internal static string MenuResizeClickThroughTT { + get { + return ResourceManager.GetString("MenuResizeClickThroughTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switch to window. + /// + internal static string MenuSwitch { + get { + return ResourceManager.GetString("MenuSwitch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switches to the source window and hides OnTopReplica.. + /// + internal static string MenuSwitchTT { + get { + return ResourceManager.GetString("MenuSwitchTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select window. + /// + internal static string MenuWindows { + get { + return ResourceManager.GetString("MenuWindows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to - none -. + /// + internal static string MenuWindowsNone { + get { + return ResourceManager.GetString("MenuWindowsNone", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Displays a list of window you can select as thumbnail source.. + /// + internal static string MenuWindowsTT { + get { + return ResourceManager.GetString("MenuWindowsTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Current region:. + /// + internal static string RegionsCurrentRegion { + get { + return ResourceManager.GetString("RegionsCurrentRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete. + /// + internal static string RegionsDeleteButton { + get { + return ResourceManager.GetString("RegionsDeleteButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Done. + /// + internal static string RegionsDoneButton { + get { + return ResourceManager.GetString("RegionsDoneButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Height. + /// + internal static string RegionsHeight { + get { + return ResourceManager.GetString("RegionsHeight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset. + /// + internal static string RegionsResetButton { + get { + return ResourceManager.GetString("RegionsResetButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Save. + /// + internal static string RegionsSaveButton { + get { + return ResourceManager.GetString("RegionsSaveButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stored regions. + /// + internal static string RegionsStoredRegions { + get { + return ResourceManager.GetString("RegionsStoredRegions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Regions. + /// + internal static string RegionsTitle { + get { + return ResourceManager.GetString("RegionsTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Width. + /// + internal static string RegionsWidth { + get { + return ResourceManager.GetString("RegionsWidth", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Right-click here to start.... + /// + internal static string RightClick { + get { + return ResourceManager.GetString("RightClick", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A lightweight, real-time, always on top thumbnail of a window of your choice.. + /// + internal static string Slogan { + get { + return ResourceManager.GetString("Slogan", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica automatically checks for updates. No information is logged at any point.. + /// + internal static string UpdateDisclaimer { + get { + return ResourceManager.GetString("UpdateDisclaimer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update now!. + /// + internal static string UpdateNow { + get { + return ResourceManager.GetString("UpdateNow", resourceCulture); + } + } + } +} diff --git a/OnTopReplica/Strings.it.Designer.cs b/OnTopReplica/Strings.it.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx new file mode 100644 index 0000000..893c453 --- /dev/null +++ b/OnTopReplica/Strings.it.resx @@ -0,0 +1,352 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OnTopReplica + + + Ripristinare completamente la finestra? + + + &Ripristina +Tutte le impostazioni saranno perse. + + + Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. + + + Ripristino + + + &Annulla + + + Creato da: Lorenz Cuno Klopfenstein. + + + Disegna una regione usando il mouse. + + + Dettagli su Windows Aero + + + Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. + + + Il servizio DWM non è attivo. + + + È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows. + +Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. + + + Dettagli errore + + + Errore: + + + Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. + + + Errore + + + La "composzione del desktop" non è supportata dal tuo sistema operativo. +È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. + + + DWM non supportato + + + Impossibile clonare la finestra. + + + Impossibile adattare la finestra. + + + Homepage: www.codeplex.com/ontopreplica. + + + A proposito di... + + + Nasconde la finestra principale e mostra una schermata di informazioni. + + + Adatta automaticamente + + + Adatta automaticamente la finestra al clone quando viene ridimensionata. + + + Chiudi + + + Chiude OnTopReplica. + + + 2:1 Doppio + + + Tutto schermo + + + 1:2 Metà + + + 1:1 Clone esatto + + + 1:4 Quarto + + + Effetto vetro + + + Abilita o disabilita l'effetto vetro. + + + 100% (opaco) + + + Imposta OnTopReplica come finestra completamente opaca. + + + 25% + + + Imposta l'opacità di OnTopReplica al 25%. + + + 50% + + + Imposta l'opacità di OnTopReplica al 50%. + + + 75% + + + Imposta l'opacità di OnTopReplica al 75%. + + + Opacità + + + Apri + + + Mostra OnTopReplica. + + + In basso a sinistra + + + In basso a destra + + + Posizione + + + Posiziona automaticamente OnTopReplica sul monitor corrente. + + + In alto a sinistra + + + In alto a destra + + + Ripristina posizione e grandezza + + + Imposta se OnTopReplica debba ripristinare posizione e grandezza in cui si trovava durante l'ultimo uso. + + + Riduci ad icona + + + Riduce OnTopReplica ad un'icona nella barra delle applicazioni. + + + Seleziona regione... + + + Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. + + + Reimposta finestra + + + Reimposta OnTopReplica e la sua finestra principale. + + + Ridimensionamento + + + Alla finestra originale + + + Mostra la finestra originale e nasconde OnTopReplica. + + + Seleziona finestra + + + - nessuna - + + + Mostra una lista di finestre che è possibile clonare. + + + Clic destro qui per iniziare... + + + Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta. + + + OnTopReplica controlla automaticamente se sono presenti aggiornamenti. + + + Aggiorna! + + + Installare OnTopReplica {0}? + + + Annulla aggiornamento +OnTopReplica si aggiornerà in un secondo momento. + + + Continua +Installa OnTopReplica {0}. + + + La nuova versione sarà scaricata ed installata automaticamente. + + + Versione installata: {0} +Versione disponibile: {1} +Grandezza: {2} bytes + + + Aggiornamento disponibile + + + Dettagli + + + Nessuna finestra clonata al momento. + + + Impossibile controllare gli aggiornamenti. + + + Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://www.codeplex.com/ontopreplica">la homepage del progetto</a>. + + + OnTopReplica è stato aggiornato. + + + Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. + + + Aggiornamento completato + + + OnTopReplica è aggiornato. + + + Nessun aggiornamento disponibile + + + Attivare la modalità Click-Through? + + + La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. + + + In questa modalità la finestra a tutto schermo si comporterà come una maschera semitrasparente che ti permette di cliccarle attraverso, sulle finestre sullo sfondo. + +Per tornare alla modalità normale in qualsiasi momento, fai doppio clic sull'icona nella barra delle applicazioni. + + + Modalità Click-Through + + + Click-Through + + + Se la finestra non è completamente opaca quando passa a tutto schermo, farà in modo che tutti i clic le passano attraverso (come una maschera semitrasparente). + + + No, tutto schermo normale +Puoi abilitare il Click-Through in futuro + + + Usa Click-Through + + + Inoltro dei clic + + + Attiva la modalità di "inoltro dei clic" alla finestra clonata. + + + Esci da tutto schermo + + + Lingua + + + Regioni + + + Salva + + + Cancella + + + Regione corrente: + + + Largh. + + + Altezz. + + + Reset + + + Chiudi + + + Regioni memorizzate + + + Attivare l'inoltro dei clic? + + + Inoltro dei clic + + + In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano). + +Per uscire da questa modalità, fai clic col destro su OnTopReplica e disabilita "Inoltro dei clic" dal menu. + + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx new file mode 100644 index 0000000..58979ef --- /dev/null +++ b/OnTopReplica/Strings.resx @@ -0,0 +1,457 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OnTopReplica + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + &Cancel + + + Created by: Lorenz Cuno Klopfenstein. + + + Draw regions using mouse. + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + 'Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + Unable to create thumbnail. + + + Unable to fit window. + + + Homepage: www.codeplex.com/ontopreplica. + + + About... + + + Hides the main window and displays the "about" box. + + + Autofit on resize + + + Automatically fits the window to the thumbnail when you resize it. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Glass + + + Toggles "glass mode" on and off. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Position + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Reduce to icon + + + Reduces OnTopReplica to the icon in the tray. + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + Right-click here to start... + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + OnTopReplica automatically checks for updates. No information is logged at any point. + + + Update now! + + + Install OnTopReplica {0}? + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Proceed +Install OnTopReplica {0}. + + + The new version will be automatically downloaded and installed. + + + Installed version: {0} +Available version: {1} +Download size: {2} bytes + + + Update available + + + Details + + + No thumbnail loaded. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://www.codeplex.com/ontopreplica">OnTopReplica's homepage</a>). + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Enable Click-Through fullscreen mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, double click on the OnTopReplica icon in the tray area. + + + Click-Through mode + + + Click-Through + + + If the window is not completely opaque when turned to fullscreen mode, it will let all clicks "fall through" (like a transparent overlay). + + + No, use standard fullscreen +You can enable click-through later + + + Use Click-Through + + + Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Quit fullscreen mode + + + Language + + + Regions + + + Save + + + Delete + + + Current region: + + + Width + + + Height + + + Reset + + + Done + + + Stored regions + + + Do you want to enable "click forwarding"? + + + Click forwarding + + + In this mode OnTopReplica will forward all left mouse clicks on it to the window that is being clones (this will allow you to do basic operations on the window without having to activate it). + +To exit this mode, right-click on OnTopReplica and disable "Click forwarding" from the menu. + + \ No newline at end of file diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs new file mode 100644 index 0000000..e2ae0dd --- /dev/null +++ b/OnTopReplica/ThumbnailPanel.cs @@ -0,0 +1,437 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using VistaControls.Dwm; +using VistaControls.ThemeText; +using System.Drawing; +using System.Windows.Forms.VisualStyles; + +namespace OnTopReplica { + + class ThumbnailPanel : Panel { + + //DWM Thumbnail stuff + Thumbnail _thumbnail = null; + bool _regionEnabled = false; + Rectangle _regionCurrent; + + //Labels + ClickThroughLabel _labelNoGlass; + ThemedLabel _labelGlass; + + public ThumbnailPanel() + : this(false) { + } + + /// Constructs a new ThumbnailPanel with a given glass mode value. + /// True if glass should be enabled. + public ThumbnailPanel(bool enableGlass) { + InitFormComponents(); + + GlassMode = enableGlass; + + UpdateRightClickLabels(); + } + + private void InitFormComponents() { + //Themed Label + _labelGlass = new ThemedLabel(); + _labelGlass.Dock = DockStyle.Fill; + _labelGlass.ForeColor = SystemColors.ControlText; + _labelGlass.Location = Point.Empty; + _labelGlass.Size = ClientSize; + _labelGlass.Name = "labelGlass"; + _labelGlass.Text = Strings.RightClick; + _labelGlass.TextAlign = HorizontalAlignment.Center; + _labelGlass.TextAlignVertical = VerticalAlignment.Center; + this.Controls.Add(_labelGlass); + + //Standard label + _labelNoGlass = new ClickThroughLabel(); + _labelNoGlass.Dock = DockStyle.Fill; + _labelNoGlass.BackColor = Color.Transparent; + _labelNoGlass.Location = Point.Empty; + _labelNoGlass.Size = ClientSize; + _labelNoGlass.Name = "labelNoGlass"; + _labelNoGlass.Text = Strings.RightClick; + _labelNoGlass.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.Controls.Add(_labelNoGlass); + } + + #region Settings + + bool _glassMode = true; + + public bool GlassMode { + get { + return _glassMode; + } + set { + _glassMode = value; + + //Set correct backcolor: black if glass is on + BackColor = (value || _fullscreenMode) ? Color.Black : SystemColors.Control; + + UpdateRightClickLabels(); + } + } + + bool _fullscreenMode = false; + + public bool FullscreenMode { + get { + return _fullscreenMode; + } + set { + _fullscreenMode = value; + + //Set correct backcolor: black if fullscreen is on + BackColor = (value || _glassMode) ? Color.Black : SystemColors.Control; + + UpdateRightClickLabels(); + } + } + + public Rectangle ShownRegion { + get { + return _regionCurrent; + } + set { + _regionEnabled = true; + _regionCurrent = value; + + UpdateThubmnail(); + } + } + + public bool ShowRegion { + get { + return _regionEnabled; + } + set { + _regionEnabled = value; + + UpdateThubmnail(); + } + } + + bool _drawMouseRegions = false; + + public bool DrawMouseRegions { + get { + return _drawMouseRegions; + } + set { + //Set mode and reset region + _drawMouseRegions = value; + _drawingRegion = false; + + //Cursor change + Cursor = (value) ? Cursors.Cross : Cursors.Default; + + UpdateThubmnail(); + } + } + + private byte ThumbnailOpacity { + get { + return (_drawMouseRegions) ? (byte)130 : (byte)255; + } + } + + bool _clickThrough = true; + + public bool ClickThrough { + get { + return _clickThrough; + } + set { + _clickThrough = value; + } + } + + #endregion + + public void ResetShownRegion() { + _regionEnabled = false; + + UpdateThubmnail(); + } + + public void SetThumbnailHandle(WindowHandle handle) { + if (_thumbnail != null && !_thumbnail.IsInvalid) + _thumbnail.Close(); + + //Get form and register thumbnail on it + Form owner = this.TopLevelControl as Form; + if(owner == null) + throw new Exception(); + + //Reset region + _regionEnabled = false; + + _thumbnail = DwmManager.Register(owner, handle.Handle); + + //Do empty thumbnail update to init DWM info (source size) + _thumbnail.Update(ClientRectangle, (byte)255, true, true); + + //Correct update + UpdateThubmnail(); + } + + public void UnsetThumbnail() { + if (_thumbnail != null && !_thumbnail.IsInvalid) + _thumbnail.Close(); + + _thumbnail = null; + + UpdateRightClickLabels(); + } + + public bool IsShowingThumbnail { + get { + return (_thumbnail != null && !_thumbnail.IsInvalid); + } + } + + int padWidth = 0; + int padHeight = 0; + Size thumbnailSize; + + /// Updates the thumbnail options and the right-click labels. + private void UpdateThubmnail() { + if (_thumbnail != null && !_thumbnail.IsInvalid){ + Size sourceSize = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; + + thumbnailSize = ComputeIdealSize(sourceSize, Size); + + padWidth = (Size.Width - thumbnailSize.Width) / 2; + padHeight = (Size.Height - thumbnailSize.Height) / 2; + + Rectangle target = new Rectangle(padWidth, padHeight, thumbnailSize.Width, thumbnailSize.Height); + Rectangle source = (_regionEnabled) ? _regionCurrent : new Rectangle(Point.Empty, _thumbnail.SourceSize); + + _thumbnail.Update(target, source, ThumbnailOpacity, true, true); + } + + UpdateRightClickLabels(); + } + + /// Computes ideal size given an original size and a target to fit. + /// Size of the original thumbnail. + /// Size of the client area to fit. + private Size ComputeIdealSize(Size sourceSize, Size clientSize) { + double sourceRatio = (double)sourceSize.Width / (double)sourceSize.Height; + double clientRatio = (double)clientSize.Width / (double)clientSize.Height; + + Size ret; + if(sourceRatio >= clientRatio) + ret = new Size(clientSize.Width, (int)((double)clientSize.Width / sourceRatio)); + else + ret = new Size((int)((double)clientSize.Height * sourceRatio), clientSize.Height); + + return ret; + } + + /// Updates the right-click labels. + /// If a thumbnail is shown no label will be visible. If no thumbnail is active, the correct label will be visible. + private void UpdateRightClickLabels(){ + if (_thumbnail != null && !_thumbnail.IsInvalid /*&& !_drawMouseRegions*/) { + //Thumbnail active and no region drawing + _labelGlass.Visible = false; + _labelNoGlass.Visible = false; + } + else { + //Update text (removed, can't draw regions behind non-transparent ThemedLabel control) + //_labelGlass.Text = _labelNoGlass.Text = (_drawMouseRegions) ? Strings.DrawRegions : Strings.RightClick; + + //Update visibility + _labelGlass.Visible = _glassMode; + _labelNoGlass.Visible = !_glassMode; + } + } + + #region Event handling + + protected override void OnResize(EventArgs eventargs) { + UpdateThubmnail(); + + base.OnResize(eventargs); + } + + protected override void WndProc(ref Message m) { + //Make transparent to hit-testing + if (m.Msg == NativeMethods.WM_NCHITTEST && !DrawMouseRegions && ClickThrough) { + m.Result = new IntPtr(NativeMethods.HTTRANSPARENT); + return; + } + + base.WndProc(ref m); + } + + protected override void OnMouseClick(MouseEventArgs e) { + if (!_clickThrough && e.Button == MouseButtons.Left) { + if(_thumbnail != null) + OnCloneClick(ScreenToThumbnail(e.Location), false); + } + + base.OnMouseClick(e); + } + + protected override void OnMouseDoubleClick(MouseEventArgs e) { + if (!_clickThrough && e.Button == MouseButtons.Left) { + if (_thumbnail != null) + OnCloneClick(ScreenToThumbnail(e.Location), true); + } + + base.OnMouseDoubleClick(e); + } + + protected override void OnMouseDown(MouseEventArgs e) { + if (_drawMouseRegions && e.Button == MouseButtons.Left) { + _drawingRegion = true; + _regionStartPoint = _regionLastPoint = e.Location; + + this.Invalidate(); + } + + base.OnMouseDown(e); + } + + protected override void OnMouseUp(MouseEventArgs e) { + if (_drawMouseRegions && e.Button == MouseButtons.Left) { + _drawingRegion = false; + + HandleRegionDrawn(_regionStartPoint, _regionLastPoint); + + this.Invalidate(); + } + + base.OnMouseUp(e); + } + + protected override void OnMouseLeave(EventArgs e) { + _drawingRegion = false; + + this.Invalidate(); + + base.OnMouseLeave(e); + } + + protected override void OnMouseMove(MouseEventArgs e) { + if (_drawingRegion && e.Button == MouseButtons.Left) { + _regionLastPoint = e.Location; + + this.Invalidate(); + } + + base.OnMouseMove(e); + } + + Pen penRed = new Pen(Color.FromArgb(255, Color.Red), 1.0f); + + protected override void OnPaint(PaintEventArgs e) { + if (_drawingRegion) { + int left = Math.Min(_regionStartPoint.X, _regionLastPoint.X); + int right = Math.Max(_regionStartPoint.X, _regionLastPoint.X); + int top = Math.Min(_regionStartPoint.Y, _regionLastPoint.Y); + int bottom = Math.Max(_regionStartPoint.Y, _regionLastPoint.Y); + + e.Graphics.DrawRectangle(penRed, left, top, right - left, bottom - top); + } + + base.OnPaint(e); + } + + #endregion + + bool _drawingRegion = false; + Point _regionStartPoint; + Point _regionLastPoint; + + public delegate void RegionDrawnHandler(object sender, Rectangle region); + + public event RegionDrawnHandler RegionDrawn; + + protected virtual void OnRegionDrawn(Rectangle region) { + if (RegionDrawn != null) + RegionDrawn(this, region); + } + + protected Point ScreenToThumbnail(Point position) { + //Compensate padding + position.X -= padWidth; + position.Y -= padHeight; + + PointF proportionalPosition = new PointF( + (float)position.X / thumbnailSize.Width, + (float)position.Y / thumbnailSize.Height + ); + + //Get real pixel region info + Size source = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; + Point offset = (_regionEnabled) ? _regionCurrent.Location : Point.Empty; + + return new Point( + (int)((proportionalPosition.X * source.Width) + offset.X), + (int)((proportionalPosition.Y * source.Height) + offset.Y) + ); + } + + protected void HandleRegionDrawn(Point start, Point end) { + int left = Math.Min(start.X, end.X); + int right = Math.Max(start.X, end.X); + int top = Math.Min(start.Y, end.Y); + int bottom = Math.Max(start.Y, end.Y); + + //Offset points of padding space around thumbnail + left -= padWidth; + right -= padWidth; + top -= padHeight; + bottom -= padHeight; + + //Get proportional region on thumbnail size + RectangleF region = new RectangleF( + (float)left / thumbnailSize.Width, + (float)top / thumbnailSize.Height, + (float)(right - left) / thumbnailSize.Width, + (float)(bottom - top) / thumbnailSize.Height + ); + + //Compute real pixel-region + Size source = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; + Point offset = (_regionEnabled) ? _regionCurrent.Location : Point.Empty; + + Rectangle regionPixel = new Rectangle( + (int)(region.Left * source.Width) + offset.X, + (int)(region.Top * source.Height) + offset.Y, + (int)(region.Width * source.Width), + (int)(region.Height * source.Height) + ); + + //Update region + ShownRegion = regionPixel; + + //Report to hooked event handlers that the current region has changed + OnRegionDrawn(regionPixel); + } + + public Size ThumbnailOriginalSize { + get { + if (_thumbnail != null && !_thumbnail.IsInvalid) + return (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; + else + throw new Exception(Strings.ErrorNoThumbnail); + } + } + + public event EventHandler CloneClick; + + protected virtual void OnCloneClick(Point location, bool doubleClick){ + if(CloneClick != null) + CloneClick(this, new CloneClickEventArgs(location, doubleClick)); + } + } + +} diff --git a/OnTopReplica/Win32Helper.cs b/OnTopReplica/Win32Helper.cs new file mode 100644 index 0000000..f0ffda2 --- /dev/null +++ b/OnTopReplica/Win32Helper.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + public static class Win32Helper { + + /// Inject a fake left mouse click on a target window, on a location expressed in client coordinates. + /// Target window to click on. + /// Location of the mouse click expressed in client coordiantes of the target window. + /// True if a double click should be injected. + public static void InjectFakeMouseClick(IntPtr window, Point clickLocation, bool doubleClick) { + NativeMethods.Point scrClickLocation = NativeMethods.ClientToScreen(window, + NativeMethods.Point.FromPoint(clickLocation)); + + //HACK (?) + //If target window has a Menu (which appears on the thumbnail) move the clicked location down + //in order to adjust (the menu isn't part of the window's client rect). + IntPtr hMenu = NativeMethods.GetMenu(window); + if (hMenu != IntPtr.Zero) + scrClickLocation.Y -= SystemInformation.MenuHeight; + + IntPtr hChild = GetRealChildControlFromPoint(window, scrClickLocation); + NativeMethods.Point clntClickLocation = NativeMethods.ScreenToClient(hChild, scrClickLocation); + + if (doubleClick) + InjectDoubleLeftMouseClick(hChild, clntClickLocation); + else + InjectLeftMouseClick(hChild, clntClickLocation); + } + + private static void InjectLeftMouseClick(IntPtr child, NativeMethods.Point clientLocation) { + IntPtr lParamClickLocation = NativeMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + NativeMethods.PostMessage(child, NativeMethods.WM_LBUTTONDOWN, + new IntPtr(NativeMethods.MK_LBUTTON), lParamClickLocation); + + NativeMethods.PostMessage(child, NativeMethods.WM_LBUTTONUP, + new IntPtr(NativeMethods.MK_LBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Left click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectDoubleLeftMouseClick(IntPtr child, NativeMethods.Point clientLocation) { + IntPtr lParamClickLocation = NativeMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + NativeMethods.PostMessage(child, NativeMethods.WM_LBUTTONDBLCLK, + new IntPtr(NativeMethods.MK_LBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Double left click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + /// Returns the child control of a window corresponding to a screen location. + /// Parent window to explore. + /// Child control location in screen coordinates. + private static IntPtr GetRealChildControlFromPoint(IntPtr parent, NativeMethods.Point scrClickLocation) { + IntPtr curr = parent, child = IntPtr.Zero; + do { + child = NativeMethods.RealChildWindowFromPoint(curr, NativeMethods.ScreenToClient(curr, scrClickLocation)); + + if (child == IntPtr.Zero || child == curr) + break; + + //Update for next loop + curr = child; + } + while (true); + + //Safety check, shouldn't happen + if (curr == IntPtr.Zero) + curr = parent; + + return curr; + } + + } +} diff --git a/OnTopReplica/WindowHandle.cs b/OnTopReplica/WindowHandle.cs new file mode 100644 index 0000000..94ce549 --- /dev/null +++ b/OnTopReplica/WindowHandle.cs @@ -0,0 +1,81 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; + +namespace OnTopReplica { + /// Helper class that keeps a window handle (HWND), the title of the window and can load its icon. + public class WindowHandle : System.Windows.Forms.IWin32Window { + IntPtr _handle; + string _title; + + public WindowHandle(IntPtr p, string title) { + _handle = p; + _title = title; + } + + public string Title { + get { + return _title; + } + } + + Icon _icon = null; + bool _iconFetched = false; + public Icon Icon { + get { + if (!_iconFetched) { + //Fetch icon from window + IntPtr hIcon; + + if (NativeMethods.SendMessageTimeout(_handle, NativeMethods.WM_GETICON, new IntPtr(2), new IntPtr(0), NativeMethods.SendMessageTimeoutFlags.AbortIfHung | NativeMethods.SendMessageTimeoutFlags.Block, 500, out hIcon) == IntPtr.Zero) + hIcon = IntPtr.Zero; + + if (hIcon.ToInt64() != 0) { + _icon = Icon.FromHandle(hIcon); + } + else { + //Fetch icon from window class + hIcon = (IntPtr)NativeMethods.GetClassLongPtr(_handle, NativeMethods.ClassLong.IconSmall); + + if (hIcon.ToInt64() != 0) { + _icon = Icon.FromHandle(hIcon); + } + } + } + + _iconFetched = true; + + return _icon; + } + } + + public override string ToString() { + return _title; + } + + public override bool Equals(object obj) { + if (ReferenceEquals(obj, this)) + return true; + + System.Windows.Forms.IWin32Window win = obj as System.Windows.Forms.IWin32Window; + + if (win == null) + return false; + + return (win.Handle == _handle); + } + + public override int GetHashCode() { + return _handle.GetHashCode(); + } + + #region IWin32Window Members + + public IntPtr Handle { + get { return _handle; } + } + + #endregion + } +} diff --git a/OnTopReplica/WindowListHelper.cs b/OnTopReplica/WindowListHelper.cs new file mode 100644 index 0000000..c5e8eda --- /dev/null +++ b/OnTopReplica/WindowListHelper.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + static class WindowListHelper { + + const int cMaxWindowTitleLength = 60; + + public static void PopulateMenu(WindowManager windowManager, ToolStrip menu, WindowHandle currentHandle, EventHandler clickHandler){ + //Clear + menu.Items.Clear(); + + //"None" selection + var nullTsi = new ToolStripMenuItem(Strings.MenuWindowsNone); + nullTsi.Tag = null; + nullTsi.Click += clickHandler; + nullTsi.Checked = (currentHandle == null); + menu.Items.Add(nullTsi); + + //Add an item for each window, the tag stores the window index + int i = 0; + foreach (WindowHandle h in windowManager.Windows) { + var tsi = new ToolStripMenuItem(); + if (h.Title.Length > cMaxWindowTitleLength) { + tsi.Text = h.Title.Substring(0, cMaxWindowTitleLength) + "..."; + tsi.ToolTipText = h.Title; + } + else + tsi.Text = h.Title; + tsi.Click += clickHandler; + tsi.Tag = i++; + if (h.Icon != null) { + tsi.Image = h.Icon.ToBitmap(); + } + tsi.Checked = h.Equals(currentHandle); + + menu.Items.Add(tsi); + } + } + + } +} diff --git a/OnTopReplica/WindowManager.cs b/OnTopReplica/WindowManager.cs new file mode 100644 index 0000000..692e5d6 --- /dev/null +++ b/OnTopReplica/WindowManager.cs @@ -0,0 +1,126 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica { + /// A helper class that allows you to easily build and keep a list of Windows (in the form of WindowHandle objects). + public class WindowManager { + IList _windows = null; + + public enum EnumerationMode { + /// All windows with 'Visible' flag. + AllVisible, + + /// All top level windows. + AllTopLevel, + + /// Windows of a task (like Alt+Tab). + TaskWindows + } + + public WindowManager() { + Refresh(EnumerationMode.AllTopLevel); + } + + public WindowManager(EnumerationMode mode) { + Refresh(mode); + } + + /// Refreshes the window list. + public void Refresh(EnumerationMode mode) { + _windows = new List(); + + NativeMethods.EnumWindowsProc proc = null; + switch (mode) { + case EnumerationMode.AllVisible: + proc = new NativeMethods.EnumWindowsProc(EnumWindowProcAll); + break; + + case EnumerationMode.AllTopLevel: + proc = new NativeMethods.EnumWindowsProc(EnumWindowProcTopLevel); + break; + + case EnumerationMode.TaskWindows: + proc = new NativeMethods.EnumWindowsProc(EnumWindowProcTask); + break; + } + + NativeMethods.EnumWindows(proc, IntPtr.Zero); + } + + + public IList Windows { + get { + return _windows; + } + } + + + + private bool EnumWindowProcAll(IntPtr hwnd, IntPtr lParam) { + if (NativeMethods.IsWindowVisible(hwnd)) { + _windows.Add(new WindowHandle(hwnd, GetWindowTitle(hwnd))); + } + return true; + } + + private bool EnumWindowProcTopLevel(IntPtr hwnd, IntPtr lParam) { + if (NativeMethods.IsWindowVisible(hwnd)) { + //Check if window has no parent + if ((long)NativeMethods.GetParent(hwnd) == 0 && NativeMethods.GetDesktopWindow() != hwnd) { + _windows.Add(new WindowHandle(hwnd, GetWindowTitle(hwnd))); + } + } + return true; + } + + private bool EnumWindowProcTask(IntPtr hwnd, IntPtr lParam) { + //Code taken from: http://www.thescarms.com/VBasic/alttab.aspx + + //Accept windows that + // - are visible + // - do not have a parent + // - have no owner and are not Tool windows OR + // - have an owner and are App windows + + //Reject empty titles + + string title = GetWindowTitle(hwnd); + if (string.IsNullOrEmpty(title)) + return true; + + if (NativeMethods.IsWindowVisible(hwnd)) { + if ((long)NativeMethods.GetParent(hwnd) == 0) { + bool hasOwner = (long)NativeMethods.GetWindow(hwnd, NativeMethods.GetWindowMode.GW_OWNER) != 0; + NativeMethods.WindowExStyles exStyle = (NativeMethods.WindowExStyles)NativeMethods.GetWindowLong(hwnd, NativeMethods.WindowLong.ExStyle); + + if (((exStyle & NativeMethods.WindowExStyles.ToolWindow) == 0 && !hasOwner) || + ((exStyle & NativeMethods.WindowExStyles.AppWindow) == NativeMethods.WindowExStyles.AppWindow && hasOwner)) { + //Accept + _windows.Add(new WindowHandle(hwnd, title)); + } + } + } + + return true; + } + + #region Auxiliary methods + + private string GetWindowTitle(IntPtr hwnd) { + int length = NativeMethods.GetWindowTextLength(hwnd); + + if (length > 0) { + StringBuilder sb = new StringBuilder(length + 1); + if (NativeMethods.GetWindowText(hwnd, sb, sb.Capacity) > 0) + return sb.ToString(); + else + return String.Empty; + } + else + return String.Empty; + } + + #endregion + } +} diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config new file mode 100644 index 0000000..326f4b4 --- /dev/null +++ b/OnTopReplica/app.config @@ -0,0 +1,48 @@ + + + + +
+ + + + + + True + + + False + + + 255 + + + 0, 0 + + + 0, 0 + + + False + + + False + + + (Default) + + + True + + + True + + + True + + + True + + + + From b091e7973c4b76d0cf4f98e8b10ce25cb7cabdfb Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sun, 17 May 2009 09:29:42 +0000 Subject: [PATCH 003/164] References to VistaControls fixed, libraries added. --- Lib/VistaControls.dll | Bin 0 -> 87040 bytes Lib/VistaControls.pdb | Bin 0 -> 200192 bytes Lib/VistaControls.xml | 739 +++++++++++++++++++++++++++++++ OnTopReplica/OnTopReplica.csproj | 2 +- 4 files changed, 740 insertions(+), 1 deletion(-) create mode 100644 Lib/VistaControls.dll create mode 100644 Lib/VistaControls.pdb create mode 100644 Lib/VistaControls.xml diff --git a/Lib/VistaControls.dll b/Lib/VistaControls.dll new file mode 100644 index 0000000000000000000000000000000000000000..c24dc76500f58d3ac4d8bebe03d8d5b9451d08ce GIT binary patch literal 87040 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

= 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

+d74uU#;&=w8lY zd!^fn;lDoHP1vbd3gc{>ep)EP3tuGTsM-YHkJabZT7=-ZR|Hf!KaFQc#cL%3Wv)m$ zHv?@9Eoi1Ahw*{{$dR0Ra0)Sz!{tS(niz{@t70~BW+R8u@bHlIxfSL!#E<+r6@vw^f!d*!Bf{b)De-5 zvosw>Csdt6HKA;E31%ZYIrM8e8b-1Z-x%Z|r?)po1YgMGzb~EvOYN+S;qVlc6?5fC zUXM#AMF=EbyAgrjif(9XZ=yEz%TE!it{_tjW=HDc-Bnf? zc4Ih*%?)l>alb0m=?~f+ZT)`8ykl?G?fX{Htw_fV;Owx)B1lDFT9fTq)vEIRtxK4@ybQPruJiz_G25dFM)l$MX0RvEUue7&a*hh z>g=#F@#XXj%Vl(eML|FImnCibmo4HBd+r_G*4#a&Qk(-iuW}s@;j}LO0?Kt8BhI6v z{|Pd+-Ada_YKpr&7PL?wZAS=qzSvTi*7sn2mRx^CsA)MIBFRuMH{XeR0f#5uD%b(w zQuK}5_D%k@ACo0;+p))msbsO*evB*E_G3Tx(?i>_75`moY3_Aadi1XUSbI^w@ISSw z{Gzc)=9UeXMBA~Sf~D*hFu#p0f$LFqZO49&h1r&oEG|ZYnC69&6drk_G-4>6{qj~V z$`**7BJ|`TN*3c~a-*)PZm`s~CK5;|Eq}%HIG@jj6xF1?k!mS2&IvLGVnkYzwntoZ z_x$#zK`UNJ&qf{o?PX$-p6hV7u2ki>mu^6(tJLgoFU=4tT&pIjJAQkqwm523da|qe zRjVq1-(GF0Nz*-@WexSFYE#kwyj4x-V1B$@s+1p} zg840Kkb_|1Z*7F(uw9e3T-kgEA^a;cdC2j%brwfOawp$noiJ zi_-OOKZmEg!x-UhdzGcmuOA$1@60RAPO$fW0n|Y1eNaB|PApku(z3v;FAM< zCi3H0p_FqGloAUNa1zM*31pq^FPEFsIqPi49F`ALkg=CqDxOARIUk)E z>%BS?WK_VEeC+~Wg@zndi@7i?aDD!pmhuOAE1JnJyf(Hb)Z@lV(pWNUxqJ0aOZC(- zpOnODj2D=1JFz${kEA%?oDdF~!~C^{^H-S=-QBe)=)<{*GzaIII6~pBmUg`O!eF?4 zGn-)HW)RN296M?4cVEf5aQofYV6utH)F_YmIy)C5!n?20|6`ip*?FE4!m&}%R=3|B zZ3+5Ux6lwGp@o}scVCI%vUAkdcFU5W4_T7~G9Y);lH-`8vZ>7s0SmT#)mb<}g2-ec z#}#MRQu`P7UC54M^5A;j$naolsEcY=K`WKU^Ro0IKeNw3r+&6>#fB6HE!AIJ4AyyU zY?!g5I%~pGdM4w|I%2!fQY-6wE>sTXey^S^gd7_W3Jus^Y2XKsKS*F?8?k{6MlIgDwR!yVE4E&_*idQPrDwIEwtnc|44gQf z@V5P6(p$0Z4WIe3a<&Xb-u-$WS)np&C5rE37|hiP-H*>I_nS{)>Rq~LCdQEVlgOL% z@7FX(99#YG(=~rkx-a819lqv+&w$6#-L-Nq{Xc)PitMNl_TW{=w z(;MjY$K%VrbC`|c6v+7(YT63pZs@LNfN|(|rl6ylgg#>izeCUxOp4b}`~LOUJRoku zAOAVOH;9eBTJxc?%1w{(@wI-?mISK7O{<}y*rQu2)zzW={v8eSp#e;gt zH-+V_g*;I+ml~P}7l^4>{A^Ore_PcU%t~!j=OL`4|EYCNDMno_)5tuHP%UJ8RSUv7 zIqpTSE6}54`mUZS^XJA>ujj~EHbD`^MlZl#Oh-KT11^fXN;&T zr2csJJs|NUO*qy%V{__*Hfr+z`|`A1>T(!ym5|R_)FX9lofv*o97=7KI;;;nzb5C` y<2DHsMT=3-nL42b)IbDn#aeY+V176h=fC&A12`5$4qLDL@14#6m%IO(8u&ljKxaJw literal 0 HcmV?d00001 diff --git a/Lib/VistaControls.pdb b/Lib/VistaControls.pdb new file mode 100644 index 0000000000000000000000000000000000000000..015f990c7b9b438c37f271c2535431a9b1824fde GIT binary patch literal 200192 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 + + + VistaControls + + + +

Common Task Dialog buttons. OK is the default button. + + + Class that aggregates the results of an "indirect" Task Dialog. + + + Results returned by Task Dialogs when closed by the user. + + + Represents a custom button shown on a Task Dialog. + + + Instantiates a new custom button with an ID and a text. + Unique ID that will be returned by the Task Dialog if the button is clicked. + Use values greater than 8 to prevent conflicts with common buttons. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + Instantiates a new custom button with an ID and a text. + Common ID that will be returned by the Task Dialog if the button is clicked. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + Unique ID that will be returned by the Task Dialog if the button is clicked. + + + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + + A Label containing some text that will be drawn with glowing border on top of the Glass Sheet effect. + + + + Size of the glow effect around the text. + + + Enables or disables the glow effect around the text. + + + Shadow type. + + + Gets or sets the horizontal text alignment setting. + + + Gets or sets the vertical text alignment setting. + + + Gets or sets whether the text will be laid out on a single line or on multiple lines. + + + Gets or sets whether the text lines over the label's border should be trimmed with an ellipsis. + + + Gets or sets whether the text should break only at the end of a word. + + + Gets or sets whether the text should be trimmed to the last word and an ellipse should be placed at the end of the line. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + Displays a dialog box that can contain text, icons, buttons, command links, radio buttons and/or a progress bar. + + + Displays a task dialog that has a message. + The text to display. + + + Displays a task dialog that has a message and a title. + The text to display. + The title bar caption of the dialog. + + + Displays a task dialog that has a message, a title and an instruction. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + + + Displays a task dialog that has a message, a title, an instruction and one or more buttons. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + + + Displays a task dialog that has a message, a title, an instruction, one or more buttons and an icon. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + The icon to display. + + + Initializes a new Task Dialog instance without text. + + + Initializes a new Task Dialog instance with text. + The main instruction to display. + + + Initializes a new Task Dialog instance with an instruction and a title. + The main instruction to display. + The title of the Task Dialog. + + + Initializes a new Task Dialog instance with an instruction, a title and some content text. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + + + Initializes a new Task Dialog instance with an instruction, a title, some content text and a specific button. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. + + + Initializes a new Task Dialog instance with an instruction, a title, some content text, a specific button and an icon. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. + The icon to display. + + + Injects a virtual button click. + Numeric id of the clicked button. + + + Injects a virtual radio button click. + Numeric id of the clicked radio button. + + + Injects a virtual checkbox click. + New state of the verification checkbox. + Sets whether the checkbox should have focus after state change. + + + Enables or disables a button of the dialog. + Id of the button whose state will be changed. + New state of the button. + + + Enables or disables a radio button of the dialog. + Id of the radio button whose state will be changed. + New state of the button. + + + Creates a new Task Dialog setup and replaces the existing one. Note that the window will not be + destroyed and that you should keep the existing TaskDialog reference (event handlers will still be + registered). The existing Task Dialog will simply reset and use the options of the new one. + An instance of Task Dialog, whose settings will be copied into the existing dialog. + You may safely destroy the nextDialog instance after use (do not register to events on it). + + + Adds or removes an UAC Shield icon from a button. + Id of the button. + Sets whether to display a Shield icon or not. + + + Sets whether the dialog's progress bar should be in standard or in marquee mode. + True if the progress bar should be displayed in marquee mode (no explicit progress). + + + Sets whether the dialog's progress bar should be in standard or in marquee mode and sets its marquee speed. + True if the progress bar should be displayed in marquee mode (no explicit progress). + Speed of the progress bar in marquee mode. + + + Common native callback for Task Dialogs. Will route events to the user event handler. + TODO: Currently unused, would need complex marshaling of data. + + + Prepares the internal configuration structure. + Allocates some unmanaged memory, must always be followed by a PostConfig() call. + + + Frees the unmanages memory allocated by PreConfig(). + + + Displays the task dialog without an explicit parent. + + + Displays the task dialog with an explicit parent window. + Handle to the dialog's parent window. + + + Displays the task dialog with an explicit parent form. + Instance of the dialog's parent form. + + + Is true if the task dialog is currently displayed. + + + Gets or sets the title of the dialog. + + + Gets or sets the icon of the dialog, from a set of common icons. + + + Gets or sets the icon of the dialog, from a custom Icon instance. + + + Gets or sets the dialog's buttons, from one or more common button types. + + + Gets or sets a set of custom buttons which will be displayed on the dialog. + These buttons can also be shown as Command Links optionally. + + + Gets or sets the integer identificator of the dialog's default button. + + + Gets or sets a set of custom buttons which will be displayed as radio buttons. + + + Gets or sets the identificator of the enabled radio button by default. + + + Gets or sets the text that will be shown next to a verification checkbox. + + + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, + when the dialog is in expanded mode. + + + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, + when the dialog is in collapsed mode. + + + Gets or sets the icon shown in the dialog's footer, from a set of common icons. + + + Gets or sets the icon shown in the dialog's footer, from a custom Icon instance. + + + Explicitly sets the desiderd width in pixels of the dialog. + Will be set automatically by the task dialog to an optimal size. + + + Gets or Sets the Main Instruction text of the TaskDialog. + Text written in blue and slightly bigger font in Windows Aero. + + + Gets or sets the Content text of the TaskDialog. + Text written with standard font, right below the Main instruction. + + + Gets or Sets the expanded information text, that will be optionally shown + by clicking on the Expand control. + + + Gets or Sets the Footer text. + + + Gets or sets the current Progress bar value. + + + Gets of sets the minimum value allowed by the Progress bar. + + + Gets or sets the maximum value allowed by the Progress bar. + + + Gets or sets the current Progress bar state. + Determines the bar's color and behavior. + + + Enables or disables Hyperlinks in the content (in the form of <A HREF="link">). + + + Gets or sets whether the dialog can be cancelled (ESC, ALT+F4 and X button) even if no Cancel button has been specified. + + + Gets or sets whether Command Link buttons should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). + + + Gets or sets whether Command Link buttons wihtout icon should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). + + + Gets or sets whether the ExpandedInformation should be shown in the Footer area (instead of under the Content text). + + + Gets or sets whether the ExpandedInformation is visible on dialog creation. + + + Gets or sets whether the Verification checkbox should be checked when the dialog is shown. + + + Gets or sets whether a progress bar should be displayed on the dialog. + + + Sets or gets whether the user specified callback (if any) should be called every 200ms. + + + Gets or sets whether the dialog should be positioned centered on the parent window. + + + Enables or disables right to left reading order. + + + Gets or sets whether there should be a selected radio button by default when the dialog is shown. + + + Gets or sets whether the dialog may be minimized or not. + + + Occurs when the Task Dialog is first created and before it is displayed (is sent after Construction event). + + + Occurs when the user clicks a button or a command link. By default the Dialog is closed after the notification. + + + Occurs when the user clicks on a Hyperlink in the Content text. + + + Occurs when a navigation event is raised. + + + Occurs approximately every 200ms if the Task Dialog callback timer is enabled. + + + Occurs when the Task Dialog is destroyed and the handle to the dialog is not valid anymore. + + + Occurs when the user selects a radio button. + + + Occurs when the Task Dialog is constructed and before it is displayed (is sent before Creation event). + + + Occurs when the user switches the state of the Verification Checkbox. + + + Occurs when the user presses F1 when the Task Dialog has focus. + + + Occurs when the user clicks on the expand button of the dialog, before the dialog is expanded. + + + Stores a Task Dialog message that will be sent to a dialog in order to update its state. + + + Simple int, int message. + + + Simple int, bool message. + + + Simple bool, bool message. + + + Simple bool, int message. + + + Simple int, long (hi word and lo word) message. + + + Text updating message. + The string will be marshaled: the Message must be correctly disposed after use. + + + Navigation message. + The config structure will be marshaled: must be correctly disposed after use. + + + Text values that can be updated. + + + Direct Task Dialog call. + + + Indirect Task Dialog call. Allows complex dialogs with interaction logic (via callback). + + + The Task Dialog config structure. + + + Flags used in TaskDialogConfig struct. + From CommCtrl.h. + + + Notifications returned by Task Dialogs to the callback. + From CommCtrl.h. + + + Messages that can be sent to Task Dialogs. + From CommCtrl.h. + + + Handle to a DWM Thumbnail. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Origin region from source window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Returns true if the handle is valid, false if the handle has been closed or hasn't been initialized. + + + Sets the thumbnail opacity value, from 0 to 255 (opaque). + + + Sets whether only the client area of the thumbnailed window should be shown or + the entire window area. + + + Area in the destination window on which the thumbnail should be drawn. + + + Region of the source window that should be drawn. + + + Sets whether the thumbnail should be drawn or not. + + + Gets the thumbnail's original size. + + + A standard WinForms text box presenting the common Vista "search" interface. + Reacts on user input by raising "SearchStarted" events. + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + Puts the focus on the text box and moves the caret to the end of the text, without selecting it. + + + Gets or sets the background Color of the button when the mouse hovers on it. + + + Gets or sets the ForeColor of the control when the search box is active. + + + Gets or sets the BackColor of the control when the search box is active. + + + Gets or sets the ForeColor of the control when the search box is inactive. + + + Gets or sets the BackColor of the control when the search box is inactive. + + + Temporary ForeColor property of the control. You should use InactiveForeColor and ActiveForeColor instead. + + + Temporary BackColor property of the control. You should use InactiveBackColor and ActiveBackColor instead. + + + Gets or sets the text that is shown on top of the text box when the user hasn't entered any text. + + + Gets or sets the font used in the search text box. + Equals to the Font property. + + + Gets or sets the font used to write the "inactivity label" on top of the control when the user hasn't entered any text. + + + Overall Font property of the control. Property changes are forwarded to the ActiveFont property. + + + Returns true if the user entered some text in the search textbox. + + + + Static class providing information about the current support for Vista-only features. + + + + Is true if the running operating system is Windows Vista or a more recent version. + + + Is true if the DWM composition engine is currently enabled. + + + Gets or sets the cue text that is displayed on the TextBox control. + + + Gets or sets whether the Cue text should be displyed even when the control has keybord focus. + If true, the Cue text will disappear as soon as the user starts typing. + + + Gets or sets the glass margins of the form. + + + Gets or sets whether mouse dragging should be handled automatically. + + + Gets or sets whether the extended glass margin is enabled or not. + + + Main DWM class, provides Thumbnail registration, glass sheet effect and blur behind. + + + Registers a thumbnail to be drawn on a Windows Form. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The Windows Form instance on which to draw the thumbnail. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Registers a thumbnail to be drawn on a window. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The handle (HWND) of the window on which the thumbnail will be drawn. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Unregisters the thumbnail handle. + The handle is unvalid after the call and should not be used again. + A handle to a registered thumbnail. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + + Enable the Aero "Blur Behind" effect on a specific region. Background of the region must be black. + + + Disables the Aero "Blur Behind" effect. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Disables the Aero "Glass Frame". + + + Disables the Aero "Glass Frame". + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Common Controls library version 6.0 not loaded. Must run on Vista and must provide a manifest.. + + + + + Looks up a localized string similar to Desktop composition is not enabled.. + + + + + Looks up a localized string similar to Desktop composition is not supported by operating system.. + + + + + Looks up a localized string similar to Unable to get thumbnail's original size.. + + + + + Looks up a localized string similar to Unable to update thumbnail properties.. + + + + + Looks up a localized string similar to Source and target windows cannot be the same.. + + + + + Looks up a localized string similar to Native call to {0} failed.. + + + + + Looks up a localized string similar to Failed to create TaskDialog.. + + + + Returns the active windows on the current thread. + + + + Adds a handler on the Form that enables the user to move the window around + by clicking on a glass margin (or the title bar, as usual). + + The form that will be controlled. + Margins of the glass sheet. + + Eventual UI elements on the glass sheet will prevent the handler from receiving events + (except the ThemeText control, which manually redirects mouse events to the form) + + + + + Adds a handler on the Form that automatically paints the glass background black + + The form that will be controlled. + Margins of the glass sheet. + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + Occurs when the split label is clicked. + + + Occurs when the split label is clicked, but before the associated + context menu is displayed by the control. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. Exposed for backward compatibility. + + + Provides data for the clicking of split buttons and the opening + of context menus. + + + Represents the bounding box of the clicked button. + A menu should be opened, with top-left coordinates in the left-bottom point of + the rectangle and with width equal (or greater) than the width of the rectangle. + + + Set to true if you want to prevent the menu from opening. + + + Margins structure for the Glass Sheet effect. + + + Sets the origin of the thumbnail and shows the thumbnail on the control. + The Form instance that will be thumbnailed. + True if the control should automatically update itself in case the thumbnailed + form changes size or is closed. + + + Forces and update of the thumbnail. + Use this method if you know that the thumbnailed window has been resized and the thumbnail control should react to these changes. + + + + Control style and notification constants + + + + Common Task Dialog icons. Determine the look of the main instruction. + + + diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index f7d9c4d..01a8e7d 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -84,7 +84,7 @@ False - ..\..\..\Libraries\VistaControls\VistaControls\bin\Release\VistaControls.dll + ..\Lib\VistaControls.dll From 958d3891d7b9f5df4804432885cbf9d9f6d89687 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 4 Nov 2009 16:18:46 +0000 Subject: [PATCH 004/164] Update to latest working version. --- OnTopReplica.sln | 2 +- OnTopReplica/AboutForm.Designer.cs | 396 ++++---- OnTopReplica/AboutForm.cs | 36 +- OnTopReplica/AboutForm.resx | 31 +- OnTopReplica/Assets/25.png | Bin 0 -> 639 bytes OnTopReplica/Assets/about.html | 3 +- OnTopReplica/FullscreenForm.Designer.cs | 162 ++-- OnTopReplica/FullscreenForm.cs | 48 +- OnTopReplica/FullscreenForm.resx | 128 +++ OnTopReplica/MainForm.cs | 95 +- OnTopReplica/OnTopReplica.csproj | 28 +- OnTopReplica/OnTopReplica.csproj.user | 4 +- OnTopReplica/OnTopReplica_TemporaryKey.pfx | Bin 1644 -> 1644 bytes .../OnTopReplica_TemporaryKey_old.pfx | Bin 1644 -> 0 bytes OnTopReplica/Program.cs | 17 +- OnTopReplica/Properties/AssemblyInfo.cs | 4 +- OnTopReplica/Properties/Resources.Designer.cs | 21 +- OnTopReplica/Properties/Resources.resx | 30 +- OnTopReplica/Properties/Settings.Designer.cs | 4 +- OnTopReplica/Properties/Settings.settings | 2 +- OnTopReplica/RegionBox.Designer.cs | 8 +- OnTopReplica/Strings.Designer.cs | 110 ++- OnTopReplica/Strings.it.resx | 855 +++++++++++------- OnTopReplica/Strings.resx | 76 +- OnTopReplica/ThumbnailPanel.cs | 30 +- OnTopReplica/app.config | 94 +- 26 files changed, 1438 insertions(+), 746 deletions(-) create mode 100644 OnTopReplica/Assets/25.png delete mode 100644 OnTopReplica/OnTopReplica_TemporaryKey_old.pfx diff --git a/OnTopReplica.sln b/OnTopReplica.sln index 4c95ee0..8b79da8 100644 --- a/OnTopReplica.sln +++ b/OnTopReplica.sln @@ -1,6 +1,6 @@  Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C# Express 2008 +# Visual Studio 10 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OnTopReplica", "OnTopReplica\OnTopReplica.csproj", "{E626BD6E-BF38-4EB7-A128-5CA6F40EF557}" EndProject Global diff --git a/OnTopReplica/AboutForm.Designer.cs b/OnTopReplica/AboutForm.Designer.cs index 5cb80d8..07f52dd 100644 --- a/OnTopReplica/AboutForm.Designer.cs +++ b/OnTopReplica/AboutForm.Designer.cs @@ -23,187 +23,209 @@ /// the contents of this method with the code editor. /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm)); - this.themedLabel1 = new VistaControls.ThemeText.ThemedLabel(); - this.themedLabel2 = new VistaControls.ThemeText.ThemedLabel(); - this.panel1 = new System.Windows.Forms.Panel(); - this.button3 = new System.Windows.Forms.Button(); - this.progressBar1 = new VistaControls.ProgressBar(); - this.button2 = new System.Windows.Forms.Button(); - this.button1 = new System.Windows.Forms.Button(); - this.label1 = new System.Windows.Forms.Label(); - this.linkLabel2 = new System.Windows.Forms.LinkLabel(); - this.linkLabel1 = new System.Windows.Forms.LinkLabel(); - this.label2 = new System.Windows.Forms.Label(); - this.webBrowser1 = new System.Windows.Forms.WebBrowser(); - this.panel1.SuspendLayout(); - this.SuspendLayout(); - // - // themedLabel1 - // - this.themedLabel1.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.themedLabel1.Location = new System.Drawing.Point(0, 0); - this.themedLabel1.Name = "themedLabel1"; - this.themedLabel1.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0); - this.themedLabel1.Size = new System.Drawing.Size(200, 40); - this.themedLabel1.TabIndex = 0; - this.themedLabel1.Text = Strings.ApplicationName; - // - // themedLabel2 - // - this.themedLabel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.themedLabel2.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.themedLabel2.GlowSize = 11; - this.themedLabel2.Location = new System.Drawing.Point(200, 0); - this.themedLabel2.Name = "themedLabel2"; - this.themedLabel2.Padding = new System.Windows.Forms.Padding(6, 0, 0, 0); - this.themedLabel2.Size = new System.Drawing.Size(177, 40); - this.themedLabel2.TabIndex = 1; - this.themedLabel2.Text = "v2"; - // - // panel1 - // - this.panel1.BackgroundImage = global::OnTopReplica.Properties.Resources.back; - this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.panel1.Controls.Add(this.button3); - this.panel1.Controls.Add(this.progressBar1); - this.panel1.Controls.Add(this.button2); - this.panel1.Controls.Add(this.button1); - this.panel1.Controls.Add(this.label1); - this.panel1.Controls.Add(this.linkLabel2); - this.panel1.Controls.Add(this.linkLabel1); - this.panel1.Controls.Add(this.label2); - this.panel1.Location = new System.Drawing.Point(0, 40); - this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(377, 105); - this.panel1.TabIndex = 10; - // - // button3 - // - this.button3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; - this.button3.Image = ((System.Drawing.Image)(resources.GetObject("button3.Image"))); - this.button3.Location = new System.Drawing.Point(313, 79); - this.button3.Name = "button3"; - this.button3.Size = new System.Drawing.Size(23, 23); - this.button3.TabIndex = 3; - this.button3.UseVisualStyleBackColor = true; - this.button3.Visible = false; - this.button3.Click += new System.EventHandler(this.Abort_click); - // - // progressBar1 - // - this.progressBar1.Location = new System.Drawing.Point(205, 79); - this.progressBar1.Name = "progressBar1"; - this.progressBar1.Size = new System.Drawing.Size(102, 23); - this.progressBar1.TabIndex = 3; - this.progressBar1.Visible = false; - // - // button2 - // - this.button2.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.button2.Image = global::OnTopReplica.Properties.Resources.component; - this.button2.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; - this.button2.Location = new System.Drawing.Point(205, 79); - this.button2.Name = "button2"; - this.button2.Size = new System.Drawing.Size(102, 23); - this.button2.TabIndex = 2; - this.button2.Text = Strings.UpdateNow; - this.button2.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; - this.button2.UseVisualStyleBackColor = true; - this.button2.Click += new System.EventHandler(this.Update_click); - // - // button1 - // - this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.button1.Image = global::OnTopReplica.Properties.Resources.xiao_down; - this.button1.Location = new System.Drawing.Point(351, 79); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(23, 23); - this.button1.TabIndex = 4; - this.button1.UseVisualStyleBackColor = true; - this.button1.Click += new System.EventHandler(this.Toggle_click); - // - // label1 - // - this.label1.BackColor = System.Drawing.Color.Transparent; - this.label1.Font = new System.Drawing.Font("Segoe UI", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label1.Location = new System.Drawing.Point(6, 75); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(199, 31); - this.label1.TabIndex = 13; - this.label1.Text = Strings.UpdateDisclaimer; - // - // linkLabel2 - // - this.linkLabel2.AutoSize = true; - this.linkLabel2.BackColor = System.Drawing.Color.Transparent; - this.linkLabel2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.linkLabel2.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; - this.linkLabel2.Location = new System.Drawing.Point(7, 58); - this.linkLabel2.Name = "linkLabel2"; - this.linkLabel2.Size = new System.Drawing.Size(252, 21); - this.linkLabel2.TabIndex = 1; - this.linkLabel2.TabStop = true; - this.linkLabel2.Text = Strings.Homepage; - this.linkLabel2.UseCompatibleTextRendering = true; - this.linkLabel2.VisitedLinkColor = System.Drawing.Color.Blue; - // - // linkLabel1 - // - this.linkLabel1.AutoSize = true; - this.linkLabel1.BackColor = System.Drawing.Color.Transparent; - this.linkLabel1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.linkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; - this.linkLabel1.LinkColor = System.Drawing.Color.Blue; - this.linkLabel1.Location = new System.Drawing.Point(7, 37); - this.linkLabel1.Name = "linkLabel1"; - this.linkLabel1.Size = new System.Drawing.Size(212, 21); - this.linkLabel1.TabIndex = 0; - this.linkLabel1.TabStop = true; - this.linkLabel1.Text = Strings.CreatedBy; - this.linkLabel1.UseCompatibleTextRendering = true; - this.linkLabel1.VisitedLinkColor = System.Drawing.Color.Blue; - // - // label2 - // - this.label2.BackColor = System.Drawing.Color.Transparent; - this.label2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label2.Location = new System.Drawing.Point(7, 4); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(287, 33); - this.label2.TabIndex = 10; - this.label2.Text = Strings.Slogan; - // - // webBrowser1 - // - this.webBrowser1.AllowWebBrowserDrop = false; - this.webBrowser1.Location = new System.Drawing.Point(0, 146); - this.webBrowser1.MinimumSize = new System.Drawing.Size(20, 20); - this.webBrowser1.Name = "webBrowser1"; - this.webBrowser1.ScriptErrorsSuppressed = true; - this.webBrowser1.Size = new System.Drawing.Size(377, 200); - this.webBrowser1.TabIndex = 14; - // - // AboutForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.ClientSize = new System.Drawing.Size(377, 145); - this.Controls.Add(this.webBrowser1); - this.Controls.Add(this.themedLabel2); - this.Controls.Add(this.themedLabel1); - this.Controls.Add(this.panel1); - this.DoubleBuffered = true; - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MaximizeBox = false; - this.Name = "AboutForm"; - this.Text = Strings.ApplicationName; - this.panel1.ResumeLayout(false); - this.panel1.PerformLayout(); - this.ResumeLayout(false); + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm)); + this.themedLabel1 = new VistaControls.ThemeText.ThemedLabel(); + this.themedLabel2 = new VistaControls.ThemeText.ThemedLabel(); + this.panel1 = new System.Windows.Forms.Panel(); + this.buttonReset = new System.Windows.Forms.Button(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonUpdate = new System.Windows.Forms.Button(); + this.buttonExpander = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.linkLabel2 = new System.Windows.Forms.LinkLabel(); + this.linkLabel1 = new System.Windows.Forms.LinkLabel(); + this.label2 = new System.Windows.Forms.Label(); + this.webBrowser = new System.Windows.Forms.WebBrowser(); + this.progressBar1 = new VistaControls.ProgressBar(); + this.toolTip = new System.Windows.Forms.ToolTip(this.components); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // themedLabel1 + // + this.themedLabel1.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.themedLabel1.Location = new System.Drawing.Point(0, 0); + this.themedLabel1.Name = "themedLabel1"; + this.themedLabel1.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0); + this.themedLabel1.Size = new System.Drawing.Size(200, 40); + this.themedLabel1.TabIndex = 0; + this.themedLabel1.Text = "OnTopReplica"; + // + // themedLabel2 + // + this.themedLabel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.themedLabel2.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.themedLabel2.GlowSize = 11; + this.themedLabel2.Location = new System.Drawing.Point(200, 0); + this.themedLabel2.Name = "themedLabel2"; + this.themedLabel2.Padding = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.themedLabel2.Size = new System.Drawing.Size(189, 40); + this.themedLabel2.TabIndex = 1; + this.themedLabel2.Text = "v2"; + // + // panel1 + // + this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panel1.BackgroundImage = global::OnTopReplica.Properties.Resources.back; + this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.panel1.Controls.Add(this.buttonReset); + this.panel1.Controls.Add(this.buttonCancel); + this.panel1.Controls.Add(this.progressBar1); + this.panel1.Controls.Add(this.buttonUpdate); + this.panel1.Controls.Add(this.buttonExpander); + this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.linkLabel2); + this.panel1.Controls.Add(this.linkLabel1); + this.panel1.Controls.Add(this.label2); + this.panel1.Location = new System.Drawing.Point(0, 40); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(388, 105); + this.panel1.TabIndex = 10; + // + // buttonReset + // + this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonReset.Image = global::OnTopReplica.Properties.Resources.refresh; + this.buttonReset.Location = new System.Drawing.Point(338, 79); + this.buttonReset.Name = "buttonReset"; + this.buttonReset.Size = new System.Drawing.Size(23, 23); + this.buttonReset.TabIndex = 14; + this.buttonReset.UseVisualStyleBackColor = true; + this.buttonReset.Click += new System.EventHandler(this.ResetClick); + // + // buttonCancel + // + this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonCancel.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; + this.buttonCancel.Image = ((System.Drawing.Image)(resources.GetObject("buttonCancel.Image"))); + this.buttonCancel.Location = new System.Drawing.Point(211, 79); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(23, 23); + this.buttonCancel.TabIndex = 3; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Visible = false; + this.buttonCancel.Click += new System.EventHandler(this.Abort_click); + // + // buttonUpdate + // + this.buttonUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonUpdate.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonUpdate.Image = global::OnTopReplica.Properties.Resources.component; + this.buttonUpdate.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonUpdate.Location = new System.Drawing.Point(235, 79); + this.buttonUpdate.Name = "buttonUpdate"; + this.buttonUpdate.Size = new System.Drawing.Size(102, 23); + this.buttonUpdate.TabIndex = 2; + this.buttonUpdate.Text = global::OnTopReplica.Strings.UpdateNow; + this.buttonUpdate.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonUpdate.UseVisualStyleBackColor = true; + this.buttonUpdate.Click += new System.EventHandler(this.Update_click); + // + // buttonExpander + // + this.buttonExpander.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonExpander.Image = global::OnTopReplica.Properties.Resources.xiao_down; + this.buttonExpander.Location = new System.Drawing.Point(362, 79); + this.buttonExpander.Name = "buttonExpander"; + this.buttonExpander.Size = new System.Drawing.Size(23, 23); + this.buttonExpander.TabIndex = 4; + this.buttonExpander.UseVisualStyleBackColor = true; + this.buttonExpander.Click += new System.EventHandler(this.Toggle_click); + // + // label1 + // + this.label1.BackColor = System.Drawing.Color.Transparent; + this.label1.Font = new System.Drawing.Font("Segoe UI", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(6, 75); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(199, 31); + this.label1.TabIndex = 13; + this.label1.Text = Strings.UpdateDisclaimer; + // + // linkLabel2 + // + this.linkLabel2.AutoSize = true; + this.linkLabel2.BackColor = System.Drawing.Color.Transparent; + this.linkLabel2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.linkLabel2.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabel2.Location = new System.Drawing.Point(7, 58); + this.linkLabel2.Name = "linkLabel2"; + this.linkLabel2.Size = new System.Drawing.Size(252, 21); + this.linkLabel2.TabIndex = 1; + this.linkLabel2.TabStop = true; + this.linkLabel2.Text = Strings.Homepage; + this.linkLabel2.UseCompatibleTextRendering = true; + this.linkLabel2.VisitedLinkColor = System.Drawing.Color.Blue; + // + // linkLabel1 + // + this.linkLabel1.AutoSize = true; + this.linkLabel1.BackColor = System.Drawing.Color.Transparent; + this.linkLabel1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.linkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabel1.LinkColor = System.Drawing.Color.Blue; + this.linkLabel1.Location = new System.Drawing.Point(7, 37); + this.linkLabel1.Name = "linkLabel1"; + this.linkLabel1.Size = new System.Drawing.Size(212, 21); + this.linkLabel1.TabIndex = 0; + this.linkLabel1.TabStop = true; + this.linkLabel1.Text = Strings.CreatedBy; + this.linkLabel1.UseCompatibleTextRendering = true; + this.linkLabel1.VisitedLinkColor = System.Drawing.Color.Blue; + // + // label2 + // + this.label2.BackColor = System.Drawing.Color.Transparent; + this.label2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label2.Location = new System.Drawing.Point(7, 4); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(287, 33); + this.label2.TabIndex = 10; + this.label2.Text = Strings.Slogan; + // + // webBrowser + // + this.webBrowser.AllowWebBrowserDrop = false; + this.webBrowser.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.webBrowser.Location = new System.Drawing.Point(0, 146); + this.webBrowser.MinimumSize = new System.Drawing.Size(20, 20); + this.webBrowser.Name = "webBrowser"; + this.webBrowser.ScriptErrorsSuppressed = true; + this.webBrowser.Size = new System.Drawing.Size(389, 200); + this.webBrowser.TabIndex = 14; + // + // progressBar1 + // + this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.progressBar1.Location = new System.Drawing.Point(235, 79); + this.progressBar1.Name = "progressBar1"; + this.progressBar1.Size = new System.Drawing.Size(102, 23); + this.progressBar1.TabIndex = 3; + this.progressBar1.Visible = false; + // + // AboutForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ClientSize = new System.Drawing.Size(389, 145); + this.Controls.Add(this.webBrowser); + this.Controls.Add(this.themedLabel2); + this.Controls.Add(this.themedLabel1); + this.Controls.Add(this.panel1); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.Name = "AboutForm"; + this.Text = "OnTopReplica"; + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.ResumeLayout(false); } @@ -212,14 +234,16 @@ private VistaControls.ThemeText.ThemedLabel themedLabel1; private VistaControls.ThemeText.ThemedLabel themedLabel2; private System.Windows.Forms.Panel panel1; - private System.Windows.Forms.Button button1; + private System.Windows.Forms.Button buttonExpander; private System.Windows.Forms.Label label1; private System.Windows.Forms.LinkLabel linkLabel2; private System.Windows.Forms.LinkLabel linkLabel1; private System.Windows.Forms.Label label2; - private System.Windows.Forms.Button button2; - private VistaControls.ProgressBar progressBar1; - private System.Windows.Forms.Button button3; - private System.Windows.Forms.WebBrowser webBrowser1; + private System.Windows.Forms.Button buttonUpdate; + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.WebBrowser webBrowser; + private System.Windows.Forms.Button buttonReset; + private VistaControls.ProgressBar progressBar1; + private System.Windows.Forms.ToolTip toolTip; } } \ No newline at end of file diff --git a/OnTopReplica/AboutForm.cs b/OnTopReplica/AboutForm.cs index af242b2..3ffa562 100644 --- a/OnTopReplica/AboutForm.cs +++ b/OnTopReplica/AboutForm.cs @@ -15,6 +15,12 @@ namespace OnTopReplica { public AboutForm() { InitializeComponent(); + //Tooltips + toolTip.SetToolTip(buttonCancel, Strings.AboutButtonCancelTT); + toolTip.SetToolTip(buttonExpander, Strings.AboutButtonExpanderTT); + toolTip.SetToolTip(buttonReset, Strings.AboutButtonResetTT); + toolTip.SetToolTip(buttonUpdate, Strings.AboutButtonUpdateTT); + //Add link areas (localized text) linkLabel1.LinkArea = new LinkArea(linkLabel1.Text.IndexOf("Lorenz Cuno Klopfenstein"), "Lorenz Cuno Klopfenstein".Length); int linkStart = linkLabel2.Text.IndexOf("www"); @@ -70,7 +76,7 @@ namespace OnTopReplica { IsExpanded = !IsExpanded; //Update icon - button1.Image = IsExpanded ? Resources.xiao_up : Resources.xiao_down; + buttonExpander.Image = IsExpanded ? Resources.xiao_up : Resources.xiao_down; } bool _isExpanded = false; @@ -79,16 +85,16 @@ namespace OnTopReplica { get { return _isExpanded; } set { if(_isExpanded != value) - Size = new Size(Size.Width, Size.Height + ((value) ? webBrowser1.Size.Height : -webBrowser1.Size.Height)); + Size = new Size(Size.Width, Size.Height + ((value) ? webBrowser.Size.Height : -webBrowser.Size.Height)); _isExpanded = value; if (value && _isFirstExpansion) { //Load text from resources - webBrowser1.DocumentText = Resources.about; + webBrowser.DocumentText = Strings.AboutDetails; //Register navigation events - webBrowser1.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating); + webBrowser.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating); _isFirstExpansion = false; } @@ -149,10 +155,10 @@ namespace OnTopReplica { deployment.CheckForUpdateCompleted += handlerProgressComplete; //Update GUI - button2.Visible = false; + buttonUpdate.Visible = false; progressBar1.Visible = true; progressBar1.Value = 0; - button3.Visible = true; + buttonCancel.Visible = true; _isChecking = true; @@ -172,10 +178,10 @@ namespace OnTopReplica { deployment.UpdateCompleted += handlerUpdateComplete; //Update GUI - button2.Visible = false; + buttonUpdate.Visible = false; progressBar1.Visible = true; progressBar1.Value = 0; - button3.Visible = true; + buttonCancel.Visible = true; _isUpdating = true; @@ -192,8 +198,8 @@ namespace OnTopReplica { void StopUpdate() { //Reset UI progressBar1.Visible = false; - button3.Visible = false; - button2.Visible = true; + buttonCancel.Visible = false; + buttonUpdate.Visible = true; try { ApplicationDeployment deployment = ApplicationDeployment.CurrentDeployment; @@ -311,5 +317,15 @@ namespace OnTopReplica { #endregion + private void ResetClick(object sender, EventArgs e) { + var dlg = new TaskDialog(Strings.AskSettingReset, Strings.AskSettingResetTitle, + Strings.AskSettingResetContent); + dlg.CommonButtons = TaskDialogButton.OK | TaskDialogButton.Cancel; + + if (dlg.Show(this).CommonButton == Result.OK) { + Settings.Default.Reset(); + } + } + } } diff --git a/OnTopReplica/AboutForm.resx b/OnTopReplica/AboutForm.resx index 2ade69f..03a1d9d 100644 --- a/OnTopReplica/AboutForm.resx +++ b/OnTopReplica/AboutForm.resx @@ -118,24 +118,27 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDgAA - Cw4BQL7hQQAAApBJREFUOE91kl1Ik1EYx62IIrwoojLwoiLLZAu6rBsLmRmV05uimB9NarMLv1bhykbN - NrXQmMpyYrNlNe2LZR+aHyRZDLGL3EpCYUquOWy8xJZhvuv997zvlm6mB/6873Oe8/ufc57nLItZMIbP - 7m6gqdoko2OYT1EcS58rJD/NaReuj4pdOil8z3RBgsZJIh4m9Xmbi+E2ZIP+7y5p4NIeButoA77YwLSV - 8ou/kga9xjxg4A5gb4K7MnNxE1d5GB4wAb0VwKAZTEsRvHXZQL8ReKQCHqrA9dTArUuPNhlVH3CyY70E - 3Q7Br7XACw3QXQl0XCOwBGhRgjPLwVkU4OwWjGjSPL2yHVnCdeiYXd7mAmDICvSQAQ/b1MDjc0Br4Txs - koF7ehFMowIOpdhdlRK/h/AVQpWFQlECdrpCe1kItpLpv515uLUEjDEXHxUiz4V9m6UEr50rKBlsIv0I - WAnkDVqjYbZBhmmTHJ/zxcHGI1sLCdwQCYdOYJQDbwxAW1HUzr/rj2H6phQz5jP4bjgJp1I8wbc40qDL - a1IC7xpC1Y449mz9cQH2Xz8ERi/BT7MCU4YsvgvjA/KkbYLJaGmyk3XagFflUfAfSz5mm/IQqE4X4Kmr - yZjSp4HtrMbIJYmn40RCDuHLBROXJhVsdw04vtd8wZ6owdTJMKk/ipkHxfDpUwXYbynA2GUJ3p9KshEW - R1ozdxVXWQrYlzpwnVVgbskxpBBNfjgt+uSpyMAv63kE7qsE+G3urucEiUkJ/z1rl+YgfBZVcEgh/qba - G5eZsXPdFqHAtbmY0GfycHsY5g0WH/05ife0++MllF0ffmixVLC6vuzEGxRvJ813YEmXmJhVkTkq2EqK - V5M2LmT+Ah3C3fcuAveKAAAAAElFTkSuQmCC + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDAAA + CwwBP0AiyAAAAolJREFUOE91k11IU2EcxkcRRXhRRGXgRUWWjS3osm4sZGZUftwUxfxoUptd+LUKLRuk + bWqlsSZrE5stq219Me1D84MkCxG7aK4iFKbkmsPkEC7DPHae/uds6jb1hQfO/7zv73nf9/mfIxJFja/n + 9phI4rnX9BxDuknSRK9dVHu0aZho1s7S4hGSJAR3+xuL4NVnger7y5p4yo+AHXAA35xgHCX84u+kfr8x + F+i7B/Q2wFuVsbSJpyIE95mBrkqg3wKmqRB+QxbQYwSeqIHHanCdtfBqUyNNhkoPutnhLoLuBuE35cBL + DdBRBbReI7AYaFKBsyjAWZXgeq0Y1KT4uuQ7M4Xr0DHb/Y35gMsGdJIBDztLgafnAXvBAmyWg3t+CUy9 + EgMqqbc6KW4v4St5Az7lbj9NoJeu0FIWhG1kOrczD9uLwRhz8Ekp8V3cvyWN4HXzgZLBZtKvgI1A3sAe + CbMmOabMCnzJk87WH91WQODGcDh4AqMCeKsHHIURO/+tO46pW2mYtpzFT/0puFXSUb7F4QbtfrMKeG8K + ph127Jm6EwI8ef0wGJ0Mvy1KjOsz+S6M9CnE2wWToZJEN+t2Aq8rIuB/1jzMNOQiUJMqwONXEzGuSwHb + VoPByzJf68n4bMJXCCYeTTLYjlpwfK/5wJ6VgjHIMaY7hulHRZjQJQvwpDUfw1dk+HBa7CQslrR2/iqe + siSwr7Tg2qrB3FHApZSMfTwj+eyrTMcf2wUEHqoF+F3O7hcESUnxi/8FzSFMWNWzLqX0h3pfbEb6rvVb + hYBv52BUl8HDLSGYN1h69GQnPCg/ECej2Q2hDy2GAjN0ZyXcoHoHaaEDy7qIRKvD5yiwVVSvIW2KZv4D + L3Lc9EIqZDQAAAAASUVORK5CYII= + + 17, 17 + AAABAAEAMDAAAAEAGACoHAAAFgAAACgAAAAwAAAAYAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA diff --git a/OnTopReplica/Assets/25.png b/OnTopReplica/Assets/25.png new file mode 100644 index 0000000000000000000000000000000000000000..e98a5dda4366693f7bae7194ede43e7da9befd9a GIT binary patch literal 639 zcmV-_0)YLAP)@Pd1f>O+aux zK?~z2D(hDve&Nl$xUO7raAe@weRt-adFFlRS?+K+z-P=vkLzF8=ROH>gSbLOkG^-r zE8-_YMJNdQ<;x4l3heiLh{xklsZ??%lj*_Z@d$3W8ypS?%U&**(dl#=olGXV-EQ|g z7!1n2UeD+Nolq{9b5^UhAc`WmTrSWHlcAr%Znq2T^;+=xe9&&UjRM>4RwCv=AOJR- z4Ui2+qY;e9W46ib^#UbPM-(SQ%we$$dTchE8)OxTMbk8>*Xv7c@oOv=;|REZqoS0g z19OZH@Z-wqbh1FF(}Bfe@svm;9_bs8ri4Nv8Smx9ddx8j;JKn^vza-&-7X}P$wz$y z#^h$R3537w?Yx6i_49SHSfm&CFCAPQS>AC(ESV-yDwXoI&SWyDje;QL5r-obMB)4r zU;F(&V~#{3fXBI`BG0jB(4I8lc|K3RY&Hu7oQjM&L)IQiS^O^27)z2Q34XsHEEWsY zYBgxJT8up$4nsPfX7?}{3_w-YA&&C$p(@^HyVus&6xB+%A_Q+*=z private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - this.menuContext = new System.Windows.Forms.ContextMenuStrip(this.components); - this.windowsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.quitFullscreenModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); - this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this._thumbnail = new OnTopReplica.ThumbnailPanel(); - this.menuContext.SuspendLayout(); - this.menuWindows.SuspendLayout(); - this.SuspendLayout(); - // - // menuContext - // - this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FullscreenForm)); + this.menuContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.windowsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); + this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.quitFullscreenModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this._thumbnail = new OnTopReplica.ThumbnailPanel(); + this.menuContext.SuspendLayout(); + this.menuWindows.SuspendLayout(); + this.SuspendLayout(); + // + // menuContext + // + this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.windowsToolStripMenuItem, this.quitFullscreenModeToolStripMenuItem}); - this.menuContext.Name = "contextMenuStrip1"; - this.menuContext.Size = new System.Drawing.Size(186, 70); - // - // windowsToolStripMenuItem - // - this.windowsToolStripMenuItem.DropDown = this.menuWindows; - this.windowsToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_multiple16; - this.windowsToolStripMenuItem.Name = "windowsToolStripMenuItem"; - this.windowsToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.windowsToolStripMenuItem.Text = Strings.MenuWindows; - this.windowsToolStripMenuItem.ToolTipText = Strings.MenuWindowsTT; - this.windowsToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Windows_opening); - // - // quitFullscreenModeToolStripMenuItem - // - this.quitFullscreenModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; - this.quitFullscreenModeToolStripMenuItem.Name = "quitFullscreenModeToolStripMenuItem"; - this.quitFullscreenModeToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.quitFullscreenModeToolStripMenuItem.Text = Strings.MenuQuitFullscreen; - this.quitFullscreenModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Quit_click); - // - // menuWindows - // - this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuContext.Name = "contextMenuStrip1"; + this.menuContext.Size = new System.Drawing.Size(186, 48); + // + // windowsToolStripMenuItem + // + this.windowsToolStripMenuItem.DropDown = this.menuWindows; + this.windowsToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_multiple16; + this.windowsToolStripMenuItem.Name = "windowsToolStripMenuItem"; + this.windowsToolStripMenuItem.Size = new System.Drawing.Size(185, 22); + this.windowsToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindows; + this.windowsToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + this.windowsToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Windows_opening); + // + // menuWindows + // + this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.noneToolStripMenuItem}); - this.menuWindows.Name = "menuWindows"; - this.menuWindows.OwnerItem = this.windowsToolStripMenuItem; - this.menuWindows.Size = new System.Drawing.Size(153, 48); - // - // noneToolStripMenuItem - // - this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; - this.noneToolStripMenuItem.Size = new System.Drawing.Size(152, 22); - this.noneToolStripMenuItem.Text = Strings.MenuWindowsNone; - // - // _thumbnail - // - this._thumbnail.BackColor = System.Drawing.SystemColors.Control; - this._thumbnail.ClickThrough = true; - this._thumbnail.Cursor = System.Windows.Forms.Cursors.Default; - this._thumbnail.Dock = System.Windows.Forms.DockStyle.Fill; - this._thumbnail.DrawMouseRegions = false; - this._thumbnail.FullscreenMode = false; - this._thumbnail.GlassMode = false; - this._thumbnail.Location = new System.Drawing.Point(0, 0); - this._thumbnail.Name = "_thumbnail"; - this._thumbnail.ShownRegion = new System.Drawing.Rectangle(0, 0, 0, 0); - this._thumbnail.ShowRegion = false; - this._thumbnail.Size = new System.Drawing.Size(284, 264); - this._thumbnail.TabIndex = 0; - // - // FullscreenForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.Black; - this.ClientSize = new System.Drawing.Size(284, 264); - this.ContextMenuStrip = this.menuContext; - this.Controls.Add(this._thumbnail); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; - this.Name = "FullscreenForm"; - this.ShowInTaskbar = false; - this.Text = "OnTopReplica Fullscreen"; - this.TopMost = true; - this.TransparencyKey = System.Drawing.Color.Black; - this.menuContext.ResumeLayout(false); - this.menuWindows.ResumeLayout(false); - this.ResumeLayout(false); + this.menuWindows.Name = "menuWindows"; + this.menuWindows.OwnerItem = this.windowsToolStripMenuItem; + this.menuWindows.Size = new System.Drawing.Size(118, 26); + // + // noneToolStripMenuItem + // + this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; + this.noneToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; + // + // quitFullscreenModeToolStripMenuItem + // + this.quitFullscreenModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; + this.quitFullscreenModeToolStripMenuItem.Name = "quitFullscreenModeToolStripMenuItem"; + this.quitFullscreenModeToolStripMenuItem.Size = new System.Drawing.Size(185, 22); + this.quitFullscreenModeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuQuitFullscreen; + this.quitFullscreenModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Quit_click); + // + // _thumbnail + // + this._thumbnail.BackColor = System.Drawing.SystemColors.Control; + this._thumbnail.ClickThrough = true; + this._thumbnail.Cursor = System.Windows.Forms.Cursors.Default; + this._thumbnail.Dock = System.Windows.Forms.DockStyle.Fill; + this._thumbnail.DrawMouseRegions = false; + this._thumbnail.FullscreenMode = false; + this._thumbnail.GlassMode = false; + this._thumbnail.Location = new System.Drawing.Point(0, 0); + this._thumbnail.Name = "_thumbnail"; + this._thumbnail.ShownRegion = new System.Drawing.Rectangle(0, 0, 0, 0); + this._thumbnail.ShowRegion = false; + this._thumbnail.Size = new System.Drawing.Size(284, 264); + this._thumbnail.TabIndex = 0; + // + // FullscreenForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Black; + this.ClientSize = new System.Drawing.Size(284, 264); + this.ContextMenuStrip = this.menuContext; + this.Controls.Add(this._thumbnail); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "FullscreenForm"; + this.Text = "OnTopReplica Fullscreen"; + this.TransparencyKey = System.Drawing.Color.Black; + this.menuContext.ResumeLayout(false); + this.menuWindows.ResumeLayout(false); + this.ResumeLayout(false); } diff --git a/OnTopReplica/FullscreenForm.cs b/OnTopReplica/FullscreenForm.cs index 3e07844..02fec99 100644 --- a/OnTopReplica/FullscreenForm.cs +++ b/OnTopReplica/FullscreenForm.cs @@ -19,8 +19,14 @@ namespace OnTopReplica { Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(new Control[] { menuContext, menuWindows }); + + _cursorTimer = new Timer(); + _cursorTimer.Interval = 1000; + _cursorTimer.Tick += new EventHandler(_cursorTimer_Tick); } + Timer _cursorTimer; + WindowHandle _lastHandle; WindowManager _manager = new WindowManager(WindowManager.EnumerationMode.TaskWindows); @@ -66,6 +72,43 @@ namespace OnTopReplica { CloseRequest(this, new CloseRequestEventArgs(_lastHandle)); } + protected override void OnActivated(EventArgs e) { + _cursorTimer.Start(); + + base.OnActivated(e); + } + + protected override void OnDeactivate(EventArgs e) { + Cursor.Show(); + _cursorTimer.Stop(); + + base.OnDeactivate(e); + } + + Point? _lastPos = null; + + protected override void OnMouseMove(MouseEventArgs e) { + if (_lastPos.HasValue) { + int distance = 0; + distance += Math.Abs(_lastPos.Value.X - e.X); + distance += Math.Abs(_lastPos.Value.Y - e.Y); + + if (distance > 8) { + Cursor.Show(); + _cursorTimer.Start(); + } + } + + _lastPos = e.Location; + + base.OnMouseMove(e); + } + + void _cursorTimer_Tick(object sender, EventArgs e) { + Cursor.Hide(); + _cursorTimer.Stop(); + } + protected override void OnDoubleClick(EventArgs e) { OnCloseRequest(); @@ -75,9 +118,12 @@ namespace OnTopReplica { protected override void OnKeyUp(KeyEventArgs e) { if (e.KeyCode == Keys.Escape) { e.Handled = true; - OnCloseRequest(); } + else if (e.KeyCode == Keys.Enter && e.Modifiers == Keys.Alt) { + e.Handled = true; + OnCloseRequest(); + } base.OnKeyUp(e); } diff --git a/OnTopReplica/FullscreenForm.resx b/OnTopReplica/FullscreenForm.resx index a24a56c..5715d1d 100644 --- a/OnTopReplica/FullscreenForm.resx +++ b/OnTopReplica/FullscreenForm.resx @@ -123,4 +123,132 @@ 142, 17 + + + + AAABAAEAMDAAAAEAGACoHAAAFgAAACgAAAAwAAAAYAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABBdztCdjhDeDpCdzlCdjpDdzpFfD5EeTpGfDtFfDtFfjpJgjtHfjlHgTpIgjtNiDxKgzlKhDlKiDhO + iztNijpMjDpPjTtSkz1Vlz1YnD1bpD5dpz1hqT9lrEFkrT5oskJnsD1prT1orD1mqTlmpjlkpDdmozpj + nDVhmDRekzJekTJekDNjkjNeijFbiC1ahSxDeDlDdztDdztEdzpFejpEeDhEdzlEeDpGezhGfThGfDhH + fThHfjlIgjhIgzpKgzhJhDhKhjhLhzlNiTlLiDlPjTlVlz1VmDxYnTxdoT5gqD1iqj9jrkBlr0BnsEBp + rz1nrT1orTtmqzhlpzhopjpjoDVgmzNgmDNflTJejy9cjy5gkS9bii5ciC1chyxbhytCdjpDdzlDeDlG + eztDdjhDdzhDdzdEeDhHfDdFejZFezdGfTdJgzlIgDdIgTlKgzdLhDhKhjlLhjhMiTlQkDpSlDtXmDtY + nTtcozxepz1hqz1jrT1oskBorztpsDxnrjxorTtmqzplqTppqjxioDVfnDRfmDNflTJdkjBekjFcji9c + iy9biS1ciCxciCtgjS1DdjhEezpDeDhCdTdEdTZEdjVFeDVFeDVHdzREezZGfjdIfTZHfTdIgDdJgjdK + hDZKhDZKhDZMhzdTkztSlDpWmjtanjtcozxepz1gqD1kqzxorz1nsD5psDxorztlrTtmqzpmqDxkpTli + oDZgnTVelzNclTJdkjFilTNaji5biy5bii1bii1ciSxfjSxdiypGejpCdTZDdThFdTdGeDdFeDZEdzdG + eDZIejhLgTpIeztLfjdKgDlLgjlMhDpMhTlOhTpPjDtTkTtWlTxZmj5coT5gpT9ipz9kqD9prUForj5p + sEBpsEBpsT9prz9nrD9qrEJkozlloDlinThhmjdgmDZhlzRflDJbjzBcjTFejTBdjDBejC9eiyxejStf + kC1DdTdEdzhFdzlIeDpIeTtKejpKez5NfT1QgD9QgUBPgUBShD9RhUBSh0BTiEFVi0BdlUVak0JdmUNi + n0VlokVnpkZoqUVprERusEVusUVts0ZutEdvs0VvskZusEVvrkZrqEJppENnokJmnz9mnT1qnzxkmDpi + lDhikjZhkjVjkDVmlTZgjzFhjy9jki5ili1DdjdGeDpIeDtMeT1Pe0BRfkRWhkdWg0ZahklbiUtaiUxd + i0tcjExej0tglE1kmU5mnE9nn05ro05up09wq1Bzr1F2s1F1s053tFB2tlF3tlF4tlB2tlB4tlF2sU9z + rU5yqk1yqExwpUxwpUlypkluoUhsnEZsm0VrmkJql0Jtmz5pljtolzhplzZomjNspTJGeDpKeTpMej5S + e0FVgUdahkteiE5jjFNokFdpkllqk1tslltsmVxyoV5xol52pF12p196rWB7sGB+smGAtmCEumKCuWCD + umGCul+Du1+Du2CEvF+FvWGDuF+Dt16As11/sFyAsFyAr1t+rVp9qVt8qFp7pVd6plV5pVN2oU9zn0px + oUZunj9wojxwqThwrjZIdzpOeD5SfkJbhEpehU5ljFZskV1zl2R5nGp8oWx9oXCBpXCDq3KErXKGr3KJ + tHSLtnSLuHSNvXWPvnSRwHSRw3WSwnWSwXOSwXSSw3OSw3STw3ORwHKQv3KQvXGPu3GPunGQunKNt3GN + tXCMtG+NtG+MsmyMs2uGrWWErWGArFp+qlR7rEt5sEV3tj91vzxMdjtRfUFZgUlhhlFqjFp0lWR8nG+G + o3iPqoCUr4SWtYmZuImau4ubvoudwYyfw4ufxYyhx42jyo6jyoykyoylzI2lzI2ky4ukyo2kzYyjyouj + yoqjyYqjyIuixouixomix4uhxIqhwomhwoihwYeiwYeiwYedvoGZvH2UunSQuWyOumKGuleDv1CAykl6 + 2UFSfEFWfkVghE9qjVuIhYP89e3z9e/n9PDn9fDn9PHn9fHo9fHp9vLq9fHq9fHp9fDq9PDr9O/r9O/s + 9O7s9O3s8+3s8+vs8urs8unr8efr8Obs8Obt8OXu8eXv8OTw8eTz9OX4+Of8+ez9+ez++e3++en9+ej9 + +OX89+L89t/69OT57uKUzGaN01yF4lGB+EtQeT5bgUpliVZzkmONiIPk6efS8vSj6vCl6++n6++o7O6q + 7O6t7e6v7u6x7u6y7ey27uy47uy88Oy/8OvC8OrE8OjG8ObK8OTL8eDO8d7T8d7a8eDg8uLk8uTm8+Po + 9N/s+Nny+9L4/Nb7/NL8/M/8/Mr8/Mf8+8H8+bb89rD699f68eGe33aS62SL/Fp/+1BTe0Neg01ri1t6 + lWqWkYzc6+qj6u441d861t091ts/19lD2NhJ2dhO2tdR29VU29Jb3tFh4NFq5dJx6NF66tGK69WW69in + 7Nmu7dS27c+57ci07cOr7b6n7cC07rzH8bPO9KfV9pva85jp74vt64Hv6Hbx5nDy5Gbz4FT120r466r6 + 79qm9IGY/HGM+2R2qUtWe0NihFBvjV9/mG+dmZTd7Ouj6e031Nw61Ns91dlA1tdC19VG2dRL29NX4NZe + 5Nhl6Nlm69Vt8NJ289KB9tGR9tOd9dKr9NGy8sy78cnB9MS7872x8reu8bq187jF97XC76LD55LF33nS + 2mna1Vze0F3iz1jnzVLsy0bwxj/346b57tuo/YmZ/XmDoFt4lUpXfENkhFFyj2GFnnSjnpre7euh6Ooz + 09Y21tc52dc62NI81sxA1shE2MVQ3chZ5cth68tg7MRk67ts67d17bSI8LeT7rWh67Oj4qqo3KOo3Jmd + 2ouP2YCL2YGV24Cn34Kp13Wx1Hm0y2bCx1vKwUfUw0fbwUTgvkHluj7suzv236X57tyq75CUrXOHol95 + l05ZekRmhVJ4lWWIoHamop7e7eug5uYxzcw00M040sw50cc+1chC1sRI2MFS2L1b375k5r5l57Ro5Khs + 3aBx2pd63JN/24mD14CCzXSGym2Lzm+OymuPxGeVu2CWul6avF6dtFOptFizsky3ska+sDvItT3Stz/Z + tjvftDrntzr03qX479ynvIyYsXaHomB6mE9bfkRpiFN5lmSLo3mopKDe7Oqh4+E3y8U70Mc/0sY+zrxF + 0rtM1rlT2rVW1qte2qdo36Jz459z2ZFwzIJsv3F1wnJ3w3J+wmx8uV2Cs1CDsVGErE2EpUqGm0GKlz6R + ljualTekmz+snT2unjq0oDDAqDHJqzXPqjXTpjTaqjXu2KP37dyrwJCXrniJpGJ7mVBcgUVrjFR6mGaK + p3iopKDf7Oml49s+yblFz71J0LtIzLFO0K5T0KhZz6JbyZVix4xryYh1y4NzxHtwuW1sr150sFl0rVZ3 + qk92okN9njl+nzx+mTt8kTl8hS9/gSqFfyeLfyWRgSWZhSWehySmjiarkSm1li68ly7GmS7NnDDo0qH2 + 7NypvI6Xr3eKo2N7mFBehEVrj1V6nGaMp3mopKDf7Oen4NVDw6tJyK5Nx6pLwJ1OvJFRuYlWt4Fct31l + uXhsunR0uG5xsGNuplVsnkVxnT9wmj1wlDZuiy10hyN2gyF4fx95ex55dx17dR1/dR2Fdx6LeR+SfCCa + giKjiiKokCiwlCq0lS++ly/FmDHm0KD17NypvY6Yr3iKpGR7l09fiEVsk1R7nGWMqXiopKDf6uWn2s1C + spJItJNLso9MsIhMqHtNoW9PmWNVmV5enVpln1ZomktmlENljjdrjzFxjyhyiyJwhB5ufht0gBp6gRp8 + fhl7eRl4dBl5cRl8cRqBchuHdByOeR6XgB+fhyKjjSerkSqtlS60ljC5lzThz6T07N2pvY6Yr3iJo2N8 + l05hi0VulFR8n2SOrXmopKDf5+Km0ME9mnVAmnJClmxEk2VGjV1Ki1VQi05ZkUtlmEdsmkFtlTdsjS1q + hiNwhx5zhxp1hhlzghd0gBZ7gxV/gxaAfxV9eRV5chZ4bxZ6bhd+bxiEchmMdxuUfx2dhR+jiSKrkiWv + mCq0mi+2lzPezqP07N6pvo+Yr3iJo2J8l09ijkVul1N8omSMqneopKDf5uClyLY8il9Bjl5FjVpIjlZM + jE9RjUhZjEFijjltlDNzlCx0jyRxhh1wgRh1hRZ5hxV6iBR5hRN7hBKBhxKDhRKDgRJ+ehJ6cxN5bxN5 + bRR8bhWCcReLeBmUfxychB2hhh+oiyKvkiS0lim1li7czqL17d+pvY6Yr3aKo2N8l09ikEVtmFR8oGSM + qneopKDf5d6mxa8+g09EiU9LjUtQjEVXlT5bkzhklTJsjip3lCR9kx58jhl4hhV3gxJ8iRJ+ixKAjBF/ + iRGCiRCGihCGhg+EgQ+Aeg99dA97cRB6bhF9bxODcxWNexeVgRqbgxyegh2jhx+wliO7nSW/nSjgzp71 + 7d+qvYyYrnaJo2N7lk5ikEVtl1N7n2SMqXenpKDg5N2nwqlCgEJKikFUkj9YkDlflzNikixqkyVyix5+ + kRuDkhiDjRR9hhB9hw+DjQ+HkA+HkA+GjQ6IjQ2Kiw2HhgyDgAyAegx/dg19cg59bw9/cRCGdhOPfhaW + gRiZgRmafhqdfhymix+ylCK6mSTfzpz27t+qvYyZr3WKo2N8lk1ij0VtllN7nmOMqXenpKDg49upwqRG + fzZRkTdamDRelC9hkCdkiiBtjRx4iheFkhmJkxaHjhOAhg2DiQyLkg2Plg2PlQyKjwuNjwuNiwqJhQmE + fwmBegqAdgp/cwt+cQ2BdA6JexGRgBOVgBWVfReVehiXehmghh2rkiG3myTf0Jz47+CqvYyZr3WJomJ8 + lk9hj0RsllJ7nmOLqHenpKDg5NqrwqBLjS9UnS9boSxdjiVegB5kfhlvgxV8ihKJkxiMkhWJjROChgmH + jAmPlAqUmAqTlwqPkQmRkAmOigiKhQiEfgeAeQd/dgh9cwl9cgqCdgyKfQ+PfxGQfBKOdxSPdRWSdheX + eRmeiCCqkyPa0p338N+pvIyYrnaJomJ8lk1gjkNslFN6nGSMqXinpKDh5NmrwZ1LiChTlihZmCVciB5e + fBhlfBRwghF9iQ6JkRSMkBKIixCEhgaLjQeTlQeXmAiVlgeTkQeTkAeQigaKhAaEfQWBeQV+dQZ7cgd8 + cgiCeAuJfQ2LfA+KdxCIchGJcBOMchWSdheZhR+jjyLW0J328N+pvIuYrnWJomB8l01fjEJsk1F5m2OK + pHanpKDh49mrv5tJgiNQiSFXjx9agBlfehRmeRBxfw19hwuHjA6JjAyFhwqFhgWNjgWTkwWXlQaUkgWU + kQaUjwWQiAWJggWEfAR/eAR7cwV4cAV6cgeAeAmFeguFdw2CcQ6BbA+CaxGGbhSMchaUfxuahx/Sy5v0 + 7t+pvIuYrnWJo2B8l01hjEJpkVF4l2KKonWnpKDg4tiqvJlHbh1OeBxVfxpbfhZfeBJldg5wfQt8hAmE + iAmGhweCgwaFhQSPjgWVkwWYlAWTjgSUjgSSiwSOhgSIfwSCegR+dgR4cQR1bwR4cgV+dweAdwl9cQp6 + agx6Zw18Zw+AahKGbxSNdBeVfxzQx5n07+CpvIuZrnSKomB8l01diEJqjlB4lWGIoHSnpKDg4tiquphG + ahpOdRlVfRdbfRRedhBkdAxvegl7ggeDhQaEhASAgAOFhQSQjwWXkwWYkwWTjASTiwSQhwSMggSFfQSA + eAR7cwR1bwNzbgN2cgR5dAZ4cQh1aglyZApzYgx2Yw56ZxGBaxOIcRWRfBnOxZjz7uCqvIuZrnSJoV59 + lkxchEFpjFB3k2CIn3WnpKDf4tipuZdFaBdNcRVUehNaehFddA1icQpteAh5fwaAgwWBgQN+fgOFhASP + jQSVkQWUjgWQiQWQhwSOhASJfwSDegR9dQR4cANzbQNybQNzcAN0cAVxawZsYwhrXglsXQtwXw11Yw97 + aBKCbRSLdxjLwpfz7t+qvIuYrXOJoV58lkxcgj9oik93k2GInnSnpKDg49mpuJVFZRRMbRJUdhBZdw5c + cQtgbghsdQZ3fAV8fgR8fQN7ewOEgwSNigSSjQSPiASNhQSMggSKgASFewSAdwR7cgR2bgNxawNxbANw + bgNuawRpZAVlXQdkWQhmWQpqWwxvXg51ZBB8ahKEcBXIvpbx7uKqvIqYrXOLoV58lkxagkFoiE91kGCG + nXOnop7f4tipt5REYhFLaQ9Scg1XcwxbbwlfbAdpcgV0eQR3eQN3eAN3dwODgQOJhgSMhwSHgQSIgASH + fgOFfAOBdwN8cwN3bwNzbANvagNvawJsagJoZQNhXQRfVwVeVQdhVQhkVwppWwxvYA92ZhF+bBPGvZXw + 7eGqu4qarXOKoV58lUxYfD5oh010j12EmnCkoJvf4deptpNEYA9JZg1QbgtVcAlZbQddaQZocARxdgNz + dgNydAN0dQOCgQOIhQSJhASDfASDewOEfAOBeAN9dAN4bwN0bANvagNuaQNsaQJpZgJiXwNbVwNZUgRZ + UQVbUQdfUwlkVwtqXA1xYw94aRHDvJTw7OCnuYaYrHCJoFx8lUpcgD5kg0lyjFqBl2yfm5bd39WptZFD + Xg1IYgtPaglTbAhXagZcZwVmbgNucwJwcwJvcQJzcwKBfwOGgwSEfwR/eAR/dwOBeAN9dQN6cQN0bQNw + agNtaANraANpZgNkYQNcWQNXUgNUTwRVTgVWTgZaUAdfVAplWQxrXw5yZRDAupPw696ktYCWqWuInlh7 + lEdWeTlhgUduilZ8lGaZlZDc3dOntZFBXgxGYQpLZwlQaQdUaAVZZwRibQRqcwVrcgVqcAVvdAN7fgSA + gAR8ewR5dgR5dgR6dgR3cwRzbwRvbANraQNoZwNnZwNjZQNeXwNWVwNRUQNOTgNOTQRQTQVTTwdYUgle + VgtkXAxrYg69uJLv6t2dr3ePpGSDmlJ4kUJVeThef0Nqh1B3kV+RjIfk493U28qotZGptpCsuZCvuo+x + uY6zuY63vI26v4+7v4+6vo+9v43Bw47DxI7BwY7AwI7BwI7BwI6/vo69vY68u427uo25uo24uY23uI20 + tY2xso2vr42tro2tro6uro6vr4+ysI+0spC2s5G5tpHd28v38umVqWyJnlt9lUt0jT9TeDVbfj5lhEpw + jVaHgn308evo5uDe4dbh4tfj5Njj5djk5djk5djl5djm5tnm5tnm5tnm5tjn59fn59fn5tfn5dfn5djn + 5djm5dfm5Nfm5Nfl5Nfl5Nfl5Njl5Njk5Njk49jj49jj4tjj4tjj4tjj4tjk49nk4tnk4tfk4dbr6OH9 + 9u+KoF+AmFB3kENvijhReDJWezljhkRnh0rV1NSLhX+Qi4eYk4+emZWinpmloZymop2mop2mop2mop2m + op2mop2lop2lop2lop2loZ2loZ2loZ2loZ2loZ2loZ2loZ2loZ2lop2lop2mop2mop2mop2mop2mop2m + op2mop2mop2loJyhnZicmJOVkYyPioWSj4t/lU53kERxiTlqhTBOdi5WfTVXfzlehUJmi0lvklJ1m1h9 + p2GBrmaGuWqJxm6K1nCK6XKL6XOHyG+EnGmFnWqGnmiIoGqGn2mHoGqHoGmIommIo2qJpGqKpWmKpmqK + p2qMqGqMqWqMqWqNqWqNqWuMqGqOqGqOqGqOp2mNpmiMpGeLomSIoF+DnFh+l1B7k0l0jkBuijhrhTBm + gypLeCxPei9VfzVZhTheij1lkkNtn0tup05yslN1xVV411l27Fp47F9xplVyjVFxjlFzkFJzklN0klN1 + klJ2lFN2lVF2llJ2llJ3mVN4mlJ5m1J5nVF6nlN6n1N9nVN9n1R8n1R9nlN9n1J9nVJ9nFF8m1B8mU97 + l014lUd2kkRzj0BwjDpqhzRohS9mgChifiRKeClNfC1RgC5VhjBYjTVfmTphoT5jsEBnxURn2kVr70pn + 70tijUBhgT5igj5ihT5lhz5jhz9miEBmiD9oiz9ojD5njD9njD9pkEBqkT9rkz9slT9slkBul0BvlT9u + l0Bul0Bvlj9vlj9vlT5vkz5vkT1vkDtujjptjThrijVpiDFnhi5kgytkgidifyNefR9KeidNfihQhCtS + jCxWmTBYojNcsTVcxzZb5Tle8z1e8z9VeTBVeTBWeTBYejFYfTBafzFYgDFagDJbgDBchDBagzFchTJd + hzFeiTFgizFhjDBhjjFikDJkkTJkkDJkkTJlkjFlkDFkjzBljzBjji5miy5lii1miC5khyxjhCphgydh + giVffyRffx9gfR9dexxJfiZLgyZOiyhRlipSpCtStC5Wyy9V6TFW9zVU9TdMciZOcCVNciZOdSZQdyZR + eCZReSdReydTfCdUfCdVfydUfiZWgSZVgyZXhiZZhyZaiSdbiydcjSdejihgjihejihejihfjSdfjShf + jCdfiiVgiCVfhyRfhCNegyJdgSJcgCBdfx9bfh5bfhxcexpaeRlKhCVLjCVQliZRpSdPuCpR0CtS8SxV + +jBQ+jBGbR9JcB9JbyBJcR5KcSBMdSBNdiBOeSFOeiJPeiBQeiBRfSBRfh9TgCBTgiFVhSBWhiBYiCBX + iR9YjSBbjiFbjCFajSJajSFbjSBaiiBaiiBaiB9ahh5bhh1agx1bgx1bgRxagBtbfxpafhlafBhcehha + eBhNjyZNlyRRqChSuyhR1ytS+C1V/jFP/i5Gbh5Hbh9Jbx9KciBJcR9KdCBMdiBNdyBOeSBPeh9Peh9Q + eyBRfh9RfiBSgR9UgyFVhR9ViCBYiSFYjCBZjSFcjyBcjyBdjyJbkCFcjiBejCBbjCBbih9diB9bhh1a + hRxcgx1bghpbgRxbgBpafxlafBhbehdbehdOmiVPqSdQvilR2SxR/S1V/jFL1yxGbB9Hbh9Gbh9Mch9I + cB9JcB9Kcx9MdSBMdyBOeCBNeSBPeR9QeyBQfR9RfiBSgR5SgyBVhSBWiCBYiCBXix9ZjB5cjx9cjx9d + jyFajyBcjR9bjB5bjCBbih9chx5chh1bhRxchBtbgxtZgBtbgBpbfhlcexhaexhbehdPqidRwClR2ylR + /S5U/zFLwyhGbR9FbB9GbR9JcB9Jbh5LcR9KcR9Mcx5MdSBNdyBOeCBOeiFPeh9QfB9RfSBRfiBSgR5S + gyBUgx5Whx9YiR9Xix9ZjR5bjx9cjx9dkCFajyBbjh9cjR9bjCBbih9diB9dhh1chRxbhBtbgxxbgBpb + gBpbfRlcexhcexhcexgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + \ No newline at end of file diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 7223f6e..5078f3a 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -26,6 +26,17 @@ namespace OnTopReplica WindowManager _windowManager; WindowHandle _lastWindowHandle = null; + //Override position and size on startup + bool _startOverride = false; + Point _startLocation; + Size _startSize; + + public MainForm(Point location, Size size) + : this() { + _startOverride = true; + _startLocation = location; + _startSize = size; + } public MainForm() { //Wheel handler @@ -128,8 +139,6 @@ namespace OnTopReplica #region Side Panels - /*const int cRegionBoxWidth = 190; - const int cRegionWithPadding = cRegionBoxWidth + 5;*/ const int cWindowBoundary = 10; bool _regionBoxShowing = false; @@ -209,6 +218,7 @@ namespace OnTopReplica if (taskIcon != null) { taskIcon.Visible = false; taskIcon.Dispose(); + taskIcon = null; } //Store settings @@ -254,15 +264,17 @@ namespace OnTopReplica } protected override void OnShown(EventArgs e) { + base.OnShown(e); + //Do some checks in order to verify the presence of desktop composition if (!VistaControls.OsSupport.IsVistaOrBetter) { MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); - base.OnShown(e); this.Close(); return; } + if (!VistaControls.OsSupport.IsCompositionEnabled) { VistaControls.TaskDialog.TaskDialog dlg = new VistaControls.TaskDialog.TaskDialog(Strings.ErrorDwmOff, Strings.ErrorGenericTitle, Strings.ErrorDwmOffContent); dlg.ExpandedControlText = Strings.ErrorDetailsAero; @@ -271,7 +283,6 @@ namespace OnTopReplica dlg.CommonIcon = VistaControls.TaskDialog.TaskDialogIcon.Stop; dlg.Show(); - base.OnShown(e); this.Close(); return; @@ -283,13 +294,17 @@ namespace OnTopReplica //Install NotifyIcon taskIcon = new NotifyIcon(); taskIcon.Text = Strings.ApplicationName; - taskIcon.Icon = Properties.Resources.window_multiple161; + taskIcon.Icon = Properties.Resources.main_icon; taskIcon.Visible = true; taskIcon.ContextMenuStrip = menuIconContext; taskIcon.DoubleClick += new EventHandler(Icon_doubleclick); - //Reload settings - if (Settings.Default.WindowPositionStored) { + //Reload position settings + if (_startOverride) { + Location = _startLocation; + Size = _startSize; + } + else if (Settings.Default.WindowPositionStored) { Location = Settings.Default.LastLocation; ClientSize = Settings.Default.LastSize; } @@ -297,13 +312,16 @@ namespace OnTopReplica //Glassify window this.GlassMargins = new VistaControls.Dwm.Margins(-1); SetGlass(Settings.Default.UseGlass); - - base.OnShown(e); } - /*protected override void OnMouseDown(MouseEventArgs e) { - base.OnMouseDown(e); - }*/ + protected override void OnKeyUp(KeyEventArgs e) { + if (e.KeyCode == Keys.Enter && e.Modifiers == Keys.Alt) { + e.Handled = true; + ToggleFullscreen(); + } + + base.OnKeyUp(e); + } #endregion @@ -562,8 +580,8 @@ namespace OnTopReplica var screen = Screen.FromControl(this); Location = new Point( - screen.WorkingArea.Left - SystemInformation.FrameBorderSize.Width, - screen.WorkingArea.Top - SystemInformation.FrameBorderSize.Height + screen.WorkingArea.Left - ChromeBorderHorizontal, + screen.WorkingArea.Top - ChromeBorderVertical ); } @@ -571,8 +589,8 @@ namespace OnTopReplica var screen = Screen.FromControl(this); Location = new Point( - screen.WorkingArea.Width - Size.Width + SystemInformation.FrameBorderSize.Width, - screen.WorkingArea.Top - SystemInformation.FrameBorderSize.Height + screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, + screen.WorkingArea.Top - ChromeBorderVertical ); } @@ -580,8 +598,8 @@ namespace OnTopReplica var screen = Screen.FromControl(this); Location = new Point( - screen.WorkingArea.Left - SystemInformation.FrameBorderSize.Width, - screen.WorkingArea.Height - Size.Height + SystemInformation.FrameBorderSize.Height + screen.WorkingArea.Left - ChromeBorderHorizontal, + screen.WorkingArea.Height - Size.Height + ChromeBorderVertical ); } @@ -589,11 +607,29 @@ namespace OnTopReplica var screen = Screen.FromControl(this); Location = new Point( - screen.WorkingArea.Width - Size.Width + SystemInformation.FrameBorderSize.Width, - screen.WorkingArea.Height - Size.Height + SystemInformation.FrameBorderSize.Height + screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, + screen.WorkingArea.Height - Size.Height + ChromeBorderVertical ); } + private int ChromeBorderVertical { + get { + if (FormBorderStyle == FormBorderStyle.SizableToolWindow) + return SystemInformation.FrameBorderSize.Height; + else + return 0; + } + } + + private int ChromeBorderHorizontal { + get { + if (FormBorderStyle == FormBorderStyle.SizableToolWindow) + return SystemInformation.FrameBorderSize.Width; + else + return 0; + } + } + private void Menu_Reduce_click(object sender, EventArgs e) { //Hide form this.Hide(); @@ -607,10 +643,21 @@ namespace OnTopReplica } private void Menu_Chrome_click(object sender, EventArgs e) { - if (FormBorderStyle == FormBorderStyle.SizableToolWindow) - FormBorderStyle = FormBorderStyle.None; - else - FormBorderStyle = FormBorderStyle.SizableToolWindow; + if (FormBorderStyle == FormBorderStyle.SizableToolWindow) { + FormBorderStyle = FormBorderStyle.None; + Location = new Point { + X = Location.X + SystemInformation.FrameBorderSize.Width, + Y = Location.Y + SystemInformation.FrameBorderSize.Height + }; + } + else { + FormBorderStyle = FormBorderStyle.SizableToolWindow; + Location = new Point { + X = Location.X - SystemInformation.FrameBorderSize.Width, + Y = Location.Y - SystemInformation.FrameBorderSize.Height + }; + } + Invalidate(); } diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 01a8e7d..11430a8 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -1,5 +1,5 @@  - + Debug AnyCPU @@ -21,11 +21,15 @@ Properties\OnTopReplica.exe.manifest false - EF37CC602CF25CE1023AEAAF8B200801D77452D5 + DB79D77572EF10838D6A2CECDDE738C6570E7995 OnTopReplica_TemporaryKey.pfx true + + + 3.5 + publish\ true Web @@ -45,8 +49,8 @@ true publish.htm false - 3 - 2.6.0.%2a + 2 + 2.7.2.%2a false true true @@ -250,6 +254,8 @@ + + @@ -262,8 +268,18 @@ - - + + + + False + + + + + Include + True + Satellite + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OnTopReplica + + + Ripristinare completamente la finestra? + + &Ripristina -Tutte le impostazioni saranno perse. - - - Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. - - - Ripristino - - - &Annulla - - - Creato da: Lorenz Cuno Klopfenstein. - - - Disegna una regione usando il mouse. - - - Dettagli su Windows Aero - - - Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. - - - Il servizio DWM non è attivo. - - +Tutte le impostazioni saranno perse. + + + Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. + + + Ripristino + + + &Annulla + + + Creato da: Lorenz Cuno Klopfenstein. + + + Disegna una regione usando il mouse. + + + Dettagli su Windows Aero + + + Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. + + + Il servizio DWM non è attivo. + + È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows. -Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. - - - Dettagli errore - - - Errore: - - - Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. - - - Errore - - +Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. + + + Dettagli errore + + + Errore: + + + Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. + + + Errore + + La "composzione del desktop" non è supportata dal tuo sistema operativo. -È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. - - - DWM non supportato - - - Impossibile clonare la finestra. - - - Impossibile adattare la finestra. - - - Homepage: www.codeplex.com/ontopreplica. - - - A proposito di... - - - Nasconde la finestra principale e mostra una schermata di informazioni. - - - Adatta automaticamente - - - Adatta automaticamente la finestra al clone quando viene ridimensionata. - - - Chiudi - - - Chiude OnTopReplica. - - - 2:1 Doppio - - - Tutto schermo - - - 1:2 Metà - - - 1:1 Clone esatto - - - 1:4 Quarto - - - Effetto vetro - - - Abilita o disabilita l'effetto vetro. - - - 100% (opaco) - - - Imposta OnTopReplica come finestra completamente opaca. - - - 25% - - - Imposta l'opacità di OnTopReplica al 25%. - - - 50% - - - Imposta l'opacità di OnTopReplica al 50%. - - - 75% - - - Imposta l'opacità di OnTopReplica al 75%. - - - Opacità - - - Apri - - - Mostra OnTopReplica. - - - In basso a sinistra - - - In basso a destra - - - Posizione - - - Posiziona automaticamente OnTopReplica sul monitor corrente. - - - In alto a sinistra - - - In alto a destra - - - Ripristina posizione e grandezza - - - Imposta se OnTopReplica debba ripristinare posizione e grandezza in cui si trovava durante l'ultimo uso. - - - Riduci ad icona - - - Riduce OnTopReplica ad un'icona nella barra delle applicazioni. - - - Seleziona regione... - - - Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. - - - Reimposta finestra - - - Reimposta OnTopReplica e la sua finestra principale. - - - Ridimensionamento - - - Alla finestra originale - - - Mostra la finestra originale e nasconde OnTopReplica. - - - Seleziona finestra - - - - nessuna - - - - Mostra una lista di finestre che è possibile clonare. - - - Clic destro qui per iniziare... - - - Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta. - - - OnTopReplica controlla automaticamente se sono presenti aggiornamenti. - - - Aggiorna! - - - Installare OnTopReplica {0}? - - +È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. + + + DWM non supportato + + + Impossibile clonare la finestra. + + + Impossibile adattare la finestra. + + + Homepage: www.codeplex.com/ontopreplica. + + + A proposito di... + + + Nasconde la finestra principale e mostra una schermata di informazioni. + + + Adatta automaticamente + + + Adatta automaticamente la finestra al clone quando viene ridimensionata. + + + Chiudi + + + Chiude OnTopReplica. + + + 2:1 Doppio + + + Tutto schermo + + + 1:2 Metà + + + 1:1 Clone esatto + + + 1:4 Quarto + + + Effetto vetro + + + Abilita o disabilita l'effetto vetro. + + + 100% (opaco) + + + Imposta OnTopReplica come finestra completamente opaca. + + + 25% + + + Imposta l'opacità di OnTopReplica al 25%. + + + 50% + + + Imposta l'opacità di OnTopReplica al 50%. + + + 75% + + + Imposta l'opacità di OnTopReplica al 75%. + + + Opacità + + + Apri + + + Mostra OnTopReplica. + + + In basso a sinistra + + + In basso a destra + + + Posizione + + + Posiziona automaticamente OnTopReplica sul monitor corrente. + + + In alto a sinistra + + + In alto a destra + + + Ripristina posizione e grandezza + + + Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinate i valori di grandezza e posizione della finestra alla chiusura. + + + Riduci ad icona + + + Riduce OnTopReplica ad un'icona nella barra delle applicazioni. + + + Seleziona regione... + + + Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. + + + Reimposta finestra + + + Reimposta OnTopReplica e la sua finestra principale. + + + Ridimensionamento + + + Alla finestra originale + + + Mostra la finestra originale e nasconde OnTopReplica. + + + Seleziona finestra + + + - nessuna - + + + Mostra una lista di finestre che è possibile clonare. + + + Clic destro qui per iniziare... + + + Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta. + + + OnTopReplica controlla automaticamente se sono presenti aggiornamenti. + + + Aggiorna! + + + Installare OnTopReplica {0}? + + Annulla aggiornamento -OnTopReplica si aggiornerà in un secondo momento. - - +OnTopReplica si aggiornerà in un secondo momento. + + Continua -Installa OnTopReplica {0}. - - - La nuova versione sarà scaricata ed installata automaticamente. - - +Installa OnTopReplica {0}. + + + La nuova versione sarà scaricata ed installata automaticamente. + + Versione installata: {0} Versione disponibile: {1} -Grandezza: {2} bytes - - - Aggiornamento disponibile - - - Dettagli - - - Nessuna finestra clonata al momento. - - - Impossibile controllare gli aggiornamenti. - - - Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://www.codeplex.com/ontopreplica">la homepage del progetto</a>. - - - OnTopReplica è stato aggiornato. - - - Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. - - - Aggiornamento completato - - - OnTopReplica è aggiornato. - - - Nessun aggiornamento disponibile - - - Attivare la modalità Click-Through? - - - La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. - - +Grandezza: {2} bytes + + + Aggiornamento disponibile + + + Dettagli + + + Nessuna finestra clonata al momento. + + + Impossibile controllare gli aggiornamenti. + + + Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://www.codeplex.com/ontopreplica">la homepage del progetto</a>. + + + OnTopReplica è stato aggiornato. + + + Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. + + + Aggiornamento completato + + + OnTopReplica è aggiornato. + + + Nessun aggiornamento disponibile + + + Attivare la modalità Click-Through? + + + La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. + + In questa modalità la finestra a tutto schermo si comporterà come una maschera semitrasparente che ti permette di cliccarle attraverso, sulle finestre sullo sfondo. -Per tornare alla modalità normale in qualsiasi momento, fai doppio clic sull'icona nella barra delle applicazioni. - - - Modalità Click-Through - - - Click-Through - - - Se la finestra non è completamente opaca quando passa a tutto schermo, farà in modo che tutti i clic le passano attraverso (come una maschera semitrasparente). - - +Per tornare alla modalità normale in qualsiasi momento, fai doppio clic sull'icona nella barra delle applicazioni. + + + Modalità Click-Through + + + Click-Through + + + Se la finestra non è completamente opaca quando passa a tutto schermo, farà in modo che tutti i clic le passano attraverso (come una maschera semitrasparente). + + No, tutto schermo normale -Puoi abilitare il Click-Through in futuro - - - Usa Click-Through - - - Inoltro dei clic - - - Attiva la modalità di "inoltro dei clic" alla finestra clonata. - - - Esci da tutto schermo - - - Lingua - - - Regioni - - - Salva - - - Cancella - - - Regione corrente: - - - Largh. - - - Altezz. - - - Reset - - - Chiudi - - - Regioni memorizzate - - - Attivare l'inoltro dei clic? - - - Inoltro dei clic - - +Puoi abilitare il Click-Through in futuro + + + Usa Click-Through + + + Inoltro dei clic + + + Attiva la modalità di "inoltro dei clic" alla finestra clonata. + + + Esci da tutto schermo + + + Lingua + + + Regioni + + + Salva + + + Cancella + + + Regione corrente: + + + Largh. + + + Altezz. + + + Reset + + + Chiudi + + + Regioni memorizzate + + + Attivare l'inoltro dei clic? + + + Inoltro dei clic + + In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano). -Per uscire da questa modalità, fai clic col destro su OnTopReplica e disabilita "Inoltro dei clic" dal menu. - +Per uscire da questa modalità, fai clic col destro su OnTopReplica e disabilita "Inoltro dei clic" dal menu. + + + Resettare impostazioni? + + + Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). + + + Reimposta + + + Annulla il processo di aggiornamento. + + + Mostra dettagli su OnTopReplica. + + + Resetta tutte le impostazioni di OnTopReplica. + + + Aggiorna OnTopReplica ora. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 0 0 1em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licenza d'utilizzo</h1> + + <p><b>OnTopReplica</b> è rilasciato sotto la licenza <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>Il codice sorgente originale del programma è disponibile sulla <a href="http://www.codeplex.com/ontopreplica">homepage del progetto su CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica è stato inspirato da <a href="http://insentient.net">Switcher</a> ed altre applicazioni basate su DWM.</p> + + <p>I controlli utente specifici per Windows Vista sono parte della libreria <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero</a> per .NET.</p> + + <p>Qualche riga di codice d'esempio presa da <a href="http://www.ookii.org">Ookii</a> su Channel9.</p> + + <p>La classe NativeToolstripRenderer è stata presa da <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Alcune delle icone sono state prese da <a href="http://www.vistaico.com">VistaICO.com</a> e dal set di icone Xiao.</p> + + </body> +</html> + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx index 58979ef..287ac21 100644 --- a/OnTopReplica/Strings.resx +++ b/OnTopReplica/Strings.resx @@ -450,8 +450,82 @@ You can enable click-through later Click forwarding - In this mode OnTopReplica will forward all left mouse clicks on it to the window that is being clones (this will allow you to do basic operations on the window without having to activate it). + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). To exit this mode, right-click on OnTopReplica and disable "Click forwarding" from the menu. + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 0 0 1em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>License</h1> + + <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>The original source code can be found on the <a href="http://www.codeplex.com/ontopreplica">project's homepage on CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica was inspired by <a href="http://insentient.net">Switcher</a> and other DWM based applications.</p> + + <p>All Vista controls are part of the <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero library</a> for .NET.</p> + + <p>Some example code taken from <a href="http://www.ookii.org">Ookii</a> on Channel9.</p> + + <p>NativeToolstripRenderer class taken from <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> + + </body> +</html> + \ No newline at end of file diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs index e2ae0dd..2f0b2f4 100644 --- a/OnTopReplica/ThumbnailPanel.cs +++ b/OnTopReplica/ThumbnailPanel.cs @@ -202,17 +202,24 @@ namespace OnTopReplica { /// Updates the thumbnail options and the right-click labels. private void UpdateThubmnail() { if (_thumbnail != null && !_thumbnail.IsInvalid){ - Size sourceSize = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; + try { + Size sourceSize = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; - thumbnailSize = ComputeIdealSize(sourceSize, Size); + thumbnailSize = ComputeIdealSize(sourceSize, Size); - padWidth = (Size.Width - thumbnailSize.Width) / 2; - padHeight = (Size.Height - thumbnailSize.Height) / 2; + padWidth = (Size.Width - thumbnailSize.Width) / 2; + padHeight = (Size.Height - thumbnailSize.Height) / 2; - Rectangle target = new Rectangle(padWidth, padHeight, thumbnailSize.Width, thumbnailSize.Height); - Rectangle source = (_regionEnabled) ? _regionCurrent : new Rectangle(Point.Empty, _thumbnail.SourceSize); + Rectangle target = new Rectangle(padWidth, padHeight, thumbnailSize.Width, thumbnailSize.Height); + Rectangle source = (_regionEnabled) ? _regionCurrent : new Rectangle(Point.Empty, _thumbnail.SourceSize); - _thumbnail.Update(target, source, ThumbnailOpacity, true, true); + _thumbnail.Update(target, source, ThumbnailOpacity, true, true); + } + catch { + //Any error updating the thumbnail forces to unset (handle may be not valid) + UnsetThumbnail(); + return; + } } UpdateRightClickLabels(); @@ -325,6 +332,11 @@ namespace OnTopReplica { this.Invalidate(); } + else if(_drawMouseRegions && !_drawingRegion){ + _regionLastPoint = e.Location; + + this.Invalidate(); + } base.OnMouseMove(e); } @@ -340,6 +352,10 @@ namespace OnTopReplica { e.Graphics.DrawRectangle(penRed, left, top, right - left, bottom - top); } + else if (_drawMouseRegions) { + e.Graphics.DrawLine(penRed, new Point(0, _regionLastPoint.Y), new Point(ClientSize.Width, _regionLastPoint.Y)); + e.Graphics.DrawLine(penRed, new Point(_regionLastPoint.X, 0), new Point(_regionLastPoint.X, ClientSize.Height)); + } base.OnPaint(e); } diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config index 326f4b4..b022521 100644 --- a/OnTopReplica/app.config +++ b/OnTopReplica/app.config @@ -1,48 +1,48 @@ - + - - -
- - - - - - True - - - False - - - 255 - - - 0, 0 - - - 0, 0 - - - False - - - False - - - (Default) - - - True - - - True - - - True - - - True - - - - + + +
+ + + + + + True + + + True + + + 255 + + + 0, 0 + + + 0, 0 + + + False + + + False + + + (Default) + + + True + + + True + + + True + + + True + + + + From 019541c3bcef4c5530284ca2d601f2ae2423bae2 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 4 Nov 2009 18:00:26 +0000 Subject: [PATCH 005/164] Improved resizing. --- OnTopReplica/AspectRatioForm.cs | 114 +++++++++++++++++++++++++++++++ OnTopReplica/MainForm.cs | 78 ++++++++++----------- OnTopReplica/NativeMethods.cs | 6 ++ OnTopReplica/OnTopReplica.csproj | 4 +- 4 files changed, 159 insertions(+), 43 deletions(-) create mode 100644 OnTopReplica/AspectRatioForm.cs diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs new file mode 100644 index 0000000..924ab16 --- /dev/null +++ b/OnTopReplica/AspectRatioForm.cs @@ -0,0 +1,114 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Runtime.InteropServices; +using VistaControls.Dwm.Helpers; +using System.Drawing; + +namespace OnTopReplica { + + /// + /// Form that automatically keeps a certain aspect ratio and resizes withour flickering. + /// + public class AspectRatioForm : GlassForm { + + public AspectRatioForm() { + AspectRatio = 1.0; + } + + bool _maintainAspectRatio = true; + public bool MaintainAspectRatio { + get { + return _maintainAspectRatio; + } + set { + _maintainAspectRatio = value; + + if (value) + RefreshAspectRatio(); + } + } + + double _aspectRatio = 1.0; + public double AspectRatio { + get { + return _aspectRatio; + } + set { + if (value <= 0.0 || Double.IsInfinity(value)) + return; + + _aspectRatio = value; + } + } + + /// + /// Forces the form to update its height based on the current aspect ratio setting. + /// + public void RefreshAspectRatio() { + this.Height = (int)(this.Width / AspectRatio); + } + + /// + /// Updates the aspect ratio of the form and refreshes it. + /// + public void SetAspectRatio(Size aspectRatioSource) { + AspectRatio = (aspectRatioSource.Width / (double)aspectRatioSource.Height); + RefreshAspectRatio(); + } + + /// + /// Override WM_SIZING message. + /// Taken from: http://www.vcskicks.com/maintain-aspect-ratio.php + /// + protected override void WndProc(ref Message m) { + if (MaintainAspectRatio && m.Msg == NativeMethods.WM_SIZING) { + var rc = (NativeMethods.Rectangle)Marshal.PtrToStructure(m.LParam, typeof(NativeMethods.Rectangle)); + int res = m.WParam.ToInt32(); + + if (res == NativeMethods.WMSZ_LEFT || res == NativeMethods.WMSZ_RIGHT) { + //Left or right resize -> adjust height (bottom) + int targetHeight = (int)(this.Width / AspectRatio); + int originalHeight = rc.Bottom - rc.Top; + int diffHeight = originalHeight - targetHeight; + + rc.Top += (diffHeight / 2); + rc.Bottom = rc.Top + targetHeight; + } + else if (res == NativeMethods.WMSZ_TOP || res == NativeMethods.WMSZ_BOTTOM) { + //Up or down resize -> adjust width (right) + int targetWidth = (int)(this.Height * AspectRatio); + int originalWidth = rc.Right - rc.Left; + int diffWidth = originalWidth - targetWidth; + + rc.Left += (diffWidth / 2); + rc.Right = rc.Left + targetWidth; + } + else if (res == NativeMethods.WMSZ_RIGHT + NativeMethods.WMSZ_BOTTOM) { + //Lower-right corner resize -> adjust height (could have been width) + rc.Bottom = rc.Top + (int)(this.Width / AspectRatio); + } + else if (res == NativeMethods.WMSZ_LEFT + NativeMethods.WMSZ_BOTTOM) { + //Lower-left corner resize -> adjust height (could have been width) + rc.Bottom = rc.Top + (int)(this.Width / AspectRatio); + } + else if (res == NativeMethods.WMSZ_LEFT + NativeMethods.WMSZ_TOP) { + //Upper-left corner -> adjust width (could have been height) + rc.Left = rc.Right - (int)(this.Height * AspectRatio); + } + else if (res == NativeMethods.WMSZ_RIGHT + NativeMethods.WMSZ_TOP) { + //Upper-right corner -> adjust width (could have been height) + rc.Right = rc.Left + (int)(this.Height * AspectRatio); + } + + Marshal.StructureToPtr(rc, m.LParam, true); + } + + base.WndProc(ref m); + } + + + } + +} diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 5078f3a..556204d 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -8,7 +8,7 @@ using VistaControls.TaskDialog; namespace OnTopReplica { - public partial class MainForm : VistaControls.Dwm.Helpers.GlassForm + public partial class MainForm : AspectRatioForm { //Visualization status byte _lastOpacity = 255; @@ -39,9 +39,6 @@ namespace OnTopReplica } public MainForm() { - //Wheel handler - //this.MouseWheel += new MouseEventHandler(Thumbnail_MouseWheel); - InitializeComponent(); //Thumbnail panel @@ -75,7 +72,9 @@ namespace OnTopReplica }); } - void FullscreenForm_CloseRequest(object sender, CloseRequestEventArgs e) { + #region Child forms & controls events + + void FullscreenForm_CloseRequest(object sender, CloseRequestEventArgs e) { if (_isFullscreen) { //Update handle to match the one selected in fullscreen mode if (_lastWindowHandle != e.CurrentWindowHandle) { @@ -87,30 +86,6 @@ namespace OnTopReplica } } - void Thumbnail_MouseWheel(object sender, MouseEventArgs e) { - /*int delta = (int)((double)e.Delta / (double)SystemInformation.MouseWheelScrollDelta) * SystemInformation.MouseWheelScrollLines; - - byte nuValue = (byte)Math.Max(0, Math.Min(255, _lastOpacity + delta)); - - _lastOpacity = nuValue; - - this.Opacity = (double)_lastOpacity / 255.0;*/ - - /* - * ALTERNATIVE "Zoom" MouseWheel - * - Rectangle original; - if (_thumbnailPanel.ShowRegion) - original = _thumbnailPanel.ShownRegion; - else - original = new Rectangle(Point.Empty, _thumbnailPanel.ThumbnailOriginalSize); - - Rectangle nuRegion = new Rectangle(original.Left + delta, original.Top + delta, original.Width - (delta * 2), original.Height - (delta * 2)); - - _thumbnailPanel.ShownRegion = nuRegion; - */ - } - void RegionBox_RegionChanged(object sender, Rectangle region) { _thumbnailPanel.ShownRegion = region; } @@ -135,11 +110,13 @@ namespace OnTopReplica void Thumbnail_IdealSizeChange(object sender, Size e) { ClientSize = e; - } + } - #region Side Panels + #endregion - const int cWindowBoundary = 10; + #region Side "Region box" events + + const int cWindowBoundary = 10; bool _regionBoxShowing = false; bool _regionBoxDidMoveForm = false; @@ -163,7 +140,10 @@ namespace OnTopReplica //Enable region drawing on thumbnail _thumbnailPanel.DrawMouseRegions = value; - //Resize and move + //Disable aspect ratio keeping + MaintainAspectRatio = !value; + + //Resize and move to fit region panel ClientSize = new Size { Width = ClientSize.Width + ((value) ? _regionBox.Width : -_regionBox.Width), Height = Math.Max(ClientSize.Height, _regionBox.Height) @@ -202,8 +182,8 @@ namespace OnTopReplica } //Resize automatically on region box closing - if (Settings.Default.AutoFitOnResize) - FitToThumbnail(); + /*if (Settings.Default.AutoFitOnResize) + FitToThumbnail();*/ } } } @@ -233,8 +213,18 @@ namespace OnTopReplica base.OnClosing(e); } - protected override void OnResize(EventArgs e) { + protected override void OnResizeBegin(EventArgs e) { + base.OnResizeBegin(e); + + //Update aspect ratio if needed + if (_thumbnailPanel.IsShowingThumbnail) { + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize); + } + } + + /*protected override void OnResize(EventArgs e) { if (RegionBoxShowing) { + //Adapt glass margins on region box this.GlassMargins = new Margins(ClientSize.Width - _regionBox.Width, 0, 0, 0); } @@ -252,16 +242,16 @@ namespace OnTopReplica this.GlassMargins = new Margins(-1); }*/ - + /* base.OnResize(e); - } + }*/ - protected override void OnResizeEnd(EventArgs e) { + /*protected override void OnResizeEnd(EventArgs e) { base.OnResizeEnd(e); if (Settings.Default.AutoFitOnResize && !RegionBoxShowing) FitToThumbnail(); - } + }*/ protected override void OnShown(EventArgs e) { base.OnShown(e); @@ -740,9 +730,10 @@ namespace OnTopReplica ThumbnailError(ex, false, Strings.ErrorUnableToCreateThumbnail); } - if(Settings.Default.AutoFitOnResize) - FitToThumbnail(); + //Set aspect ratio (this will resize the form) + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize); + //Reset regions _regionBox.Reset(); //GUI @@ -765,6 +756,7 @@ namespace OnTopReplica ThumbnailUnset(); } + /// Automatically sizes the window in order to accomodate the thumbnail p times. /// Scale of the thumbnail to consider. private void FitToThumbnail(double p) { @@ -780,6 +772,7 @@ namespace OnTopReplica } } + /* /// Automatically fits the window to the current thumbnail. /// Only adjusts height and corrects the window's position. private void FitToThumbnail() { @@ -795,6 +788,7 @@ namespace OnTopReplica Location = new Point(Location.X, Location.Y + diffHeight / 2); } } + * */ #endregion diff --git a/OnTopReplica/NativeMethods.cs b/OnTopReplica/NativeMethods.cs index 36cbca1..291b278 100644 --- a/OnTopReplica/NativeMethods.cs +++ b/OnTopReplica/NativeMethods.cs @@ -244,6 +244,12 @@ namespace OnTopReplica public static extern IntPtr SendMessageTimeout(IntPtr hwnd, uint message, IntPtr wparam, IntPtr lparam, SendMessageTimeoutFlags flags, uint timeout, out IntPtr result); public const uint WM_GETICON = 0x7f; + public const int WM_SIZING = 0x214; + + public const int WMSZ_LEFT = 1; + public const int WMSZ_RIGHT = 2; + public const int WMSZ_TOP = 3; + public const int WMSZ_BOTTOM = 6; [Flags] public enum SendMessageTimeoutFlags : uint { diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 11430a8..5f2a2b0 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -98,6 +98,9 @@ AboutForm.cs + + Form + Component @@ -255,7 +258,6 @@ - From 64ad34717e186ceabba012e108ceec5dfb353a8d Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 4 Nov 2009 18:50:05 +0000 Subject: [PATCH 006/164] Region selection improved (inside window selection menu). Version updated to 2.8.0. New Region icon added, strings updated. --- OnTopReplica/AspectRatioForm.cs | 11 +- OnTopReplica/Assets/regions.png | Bin 0 -> 296 bytes OnTopReplica/MainForm.Designer.cs | 882 +++++++++--------- OnTopReplica/MainForm.cs | 34 +- OnTopReplica/OnTopReplica.csproj | 7 +- OnTopReplica/Properties/AssemblyInfo.cs | 4 +- OnTopReplica/Properties/Resources.Designer.cs | 7 + OnTopReplica/Properties/Resources.resx | 3 + OnTopReplica/RegionBox.cs | 28 +- OnTopReplica/Strings.Designer.cs | 11 +- OnTopReplica/Strings.it.resx | 7 +- OnTopReplica/Strings.resx | 3 + OnTopReplica/WindowListHelper.cs | 55 +- 13 files changed, 571 insertions(+), 481 deletions(-) create mode 100644 OnTopReplica/Assets/regions.png diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs index 924ab16..d71c537 100644 --- a/OnTopReplica/AspectRatioForm.cs +++ b/OnTopReplica/AspectRatioForm.cs @@ -17,13 +17,13 @@ namespace OnTopReplica { AspectRatio = 1.0; } - bool _maintainAspectRatio = true; - public bool MaintainAspectRatio { + bool _keepAspectRatio = true; + public bool KeepAspectRatio { get { - return _maintainAspectRatio; + return _keepAspectRatio; } set { - _maintainAspectRatio = value; + _keepAspectRatio = value; if (value) RefreshAspectRatio(); @@ -54,6 +54,7 @@ namespace OnTopReplica { /// Updates the aspect ratio of the form and refreshes it. /// public void SetAspectRatio(Size aspectRatioSource) { + _keepAspectRatio = true; //set without updating AspectRatio = (aspectRatioSource.Width / (double)aspectRatioSource.Height); RefreshAspectRatio(); } @@ -63,7 +64,7 @@ namespace OnTopReplica { /// Taken from: http://www.vcskicks.com/maintain-aspect-ratio.php /// protected override void WndProc(ref Message m) { - if (MaintainAspectRatio && m.Msg == NativeMethods.WM_SIZING) { + if (KeepAspectRatio && m.Msg == NativeMethods.WM_SIZING) { var rc = (NativeMethods.Rectangle)Marshal.PtrToStructure(m.LParam, typeof(NativeMethods.Rectangle)); int res = m.WParam.ToInt32(); diff --git a/OnTopReplica/Assets/regions.png b/OnTopReplica/Assets/regions.png new file mode 100644 index 0000000000000000000000000000000000000000..b5be09ee2d28683d8b88f5fc91315520ed60fd25 GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLGcpTh?3y^w370~qEv=}#LT=BJwMkFg)(D3 z)4i^XPXd+9@^o(|LC)8IumM=*;A_ kY?eJ_(y-*g@em${tp58O7Cx@M26QEZr>mdKI;Vst00-D*CIA2c literal 0 HcmV?d00001 diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index cec9c46..da05b74 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -25,65 +25,65 @@ /// the contents of this method with the code editor. /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); - this.menuContext = new System.Windows.Forms.ContextMenuStrip(this.components); - this.menuContextWindows = new System.Windows.Forms.ToolStripMenuItem(); - this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); - this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.switchToWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.selectRegionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.forwardClicksToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.menuContextOpacity = new System.Windows.Forms.ToolStripMenuItem(); - this.menuOpacity = new System.Windows.Forms.ContextMenuStrip(this.components); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); - this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripMenuItem(); - this.resizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.menuResize = new System.Windows.Forms.ContextMenuStrip(this.components); - this.doubleToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.fitToWindowToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.halfToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.quarterToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); - this.fullscreenToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.clickThroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); - this.autofitOnResizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.dockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.topLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.topRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.bottomLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.bottomRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); - this.recallLastPositionAndSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.chromeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.reduceToIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.languageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.menuLanguages = new System.Windows.Forms.ContextMenuStrip(this.components); - this.englishToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.italianoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); - this.menuIconContext = new System.Windows.Forms.ContextMenuStrip(this.components); - this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.resetWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.menuContext.SuspendLayout(); - this.menuWindows.SuspendLayout(); - this.menuOpacity.SuspendLayout(); - this.menuResize.SuspendLayout(); - this.menuLanguages.SuspendLayout(); - this.menuIconContext.SuspendLayout(); - this.SuspendLayout(); - // - // menuContext - // - this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.menuContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.menuContextWindows = new System.Windows.Forms.ToolStripMenuItem(); + this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); + this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.switchToWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.selectRegionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.forwardClicksToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextOpacity = new System.Windows.Forms.ToolStripMenuItem(); + this.menuOpacity = new System.Windows.Forms.ContextMenuStrip(this.components); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripMenuItem(); + this.resizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuResize = new System.Windows.Forms.ContextMenuStrip(this.components); + this.doubleToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.fitToWindowToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.halfToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.quarterToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.fullscreenToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.clickThroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); + this.autofitOnResizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.dockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); + this.recallLastPositionAndSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.chromeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.reduceToIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.languageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuLanguages = new System.Windows.Forms.ContextMenuStrip(this.components); + this.englishToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.italianoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); + this.menuIconContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.resetWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContext.SuspendLayout(); + this.menuWindows.SuspendLayout(); + this.menuOpacity.SuspendLayout(); + this.menuResize.SuspendLayout(); + this.menuLanguages.SuspendLayout(); + this.menuIconContext.SuspendLayout(); + this.SuspendLayout(); + // + // menuContext + // + this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuContextWindows, this.switchToWindowToolStripMenuItem, this.selectRegionToolStripMenuItem, @@ -97,148 +97,149 @@ this.languageToolStripMenuItem, this.aboutToolStripMenuItem, this.menuContextClose}); - this.menuContext.Name = "menuContext"; - this.menuContext.Size = new System.Drawing.Size(196, 298); - this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); - // - // menuContextWindows - // - this.menuContextWindows.DropDown = this.menuWindows; - this.menuContextWindows.Image = global::OnTopReplica.Properties.Resources.window_multiple16; - this.menuContextWindows.Name = "menuContextWindows"; - this.menuContextWindows.Size = new System.Drawing.Size(195, 24); - this.menuContextWindows.Text = global::OnTopReplica.Strings.MenuWindows; - this.menuContextWindows.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; - this.menuContextWindows.DropDownOpening += new System.EventHandler(this.Menu_Windows_opening); - // - // menuWindows - // - this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuContext.Name = "menuContext"; + this.menuContext.Size = new System.Drawing.Size(169, 296); + this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); + // + // menuContextWindows + // + this.menuContextWindows.DropDown = this.menuWindows; + this.menuContextWindows.Image = global::OnTopReplica.Properties.Resources.window_multiple16; + this.menuContextWindows.Name = "menuContextWindows"; + this.menuContextWindows.Size = new System.Drawing.Size(168, 22); + this.menuContextWindows.Text = global::OnTopReplica.Strings.MenuWindows; + this.menuContextWindows.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + this.menuContextWindows.DropDownOpening += new System.EventHandler(this.Menu_Windows_opening); + // + // menuWindows + // + this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.noneToolStripMenuItem}); - this.menuWindows.Name = "menuWindows"; - this.menuWindows.OwnerItem = this.menuContextWindows; - this.menuWindows.Size = new System.Drawing.Size(132, 28); - // - // noneToolStripMenuItem - // - this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; - this.noneToolStripMenuItem.Size = new System.Drawing.Size(131, 24); - this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; - // - // switchToWindowToolStripMenuItem - // - this.switchToWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_switch; - this.switchToWindowToolStripMenuItem.Name = "switchToWindowToolStripMenuItem"; - this.switchToWindowToolStripMenuItem.Size = new System.Drawing.Size(195, 24); - this.switchToWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSwitch; - this.switchToWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSwitchTT; - this.switchToWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_Switch_click); - // - // selectRegionToolStripMenuItem - // - this.selectRegionToolStripMenuItem.Enabled = false; - this.selectRegionToolStripMenuItem.Name = "selectRegionToolStripMenuItem"; - this.selectRegionToolStripMenuItem.Size = new System.Drawing.Size(195, 24); - this.selectRegionToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRegion; - this.selectRegionToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRegionTT; - this.selectRegionToolStripMenuItem.Click += new System.EventHandler(this.Menu_Region_click); - // - // forwardClicksToolStripMenuItem - // - this.forwardClicksToolStripMenuItem.Name = "forwardClicksToolStripMenuItem"; - this.forwardClicksToolStripMenuItem.Size = new System.Drawing.Size(195, 24); - this.forwardClicksToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickForwarding; - this.forwardClicksToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickForwardingTT; - this.forwardClicksToolStripMenuItem.Click += new System.EventHandler(this.Menu_Forward_click); - // - // menuContextOpacity - // - this.menuContextOpacity.DropDown = this.menuOpacity; - this.menuContextOpacity.Image = global::OnTopReplica.Properties.Resources.window_opacity16; - this.menuContextOpacity.Name = "menuContextOpacity"; - this.menuContextOpacity.Size = new System.Drawing.Size(195, 24); - this.menuContextOpacity.Text = global::OnTopReplica.Strings.MenuOpacity; - // - // menuOpacity - // - this.menuOpacity.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuWindows.Name = "menuWindows"; + this.menuWindows.OwnerItem = this.menuContextWindows; + this.menuWindows.Size = new System.Drawing.Size(118, 26); + // + // noneToolStripMenuItem + // + this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; + this.noneToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; + // + // switchToWindowToolStripMenuItem + // + this.switchToWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_switch; + this.switchToWindowToolStripMenuItem.Name = "switchToWindowToolStripMenuItem"; + this.switchToWindowToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.switchToWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSwitch; + this.switchToWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSwitchTT; + this.switchToWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_Switch_click); + // + // selectRegionToolStripMenuItem + // + this.selectRegionToolStripMenuItem.Enabled = false; + this.selectRegionToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.regions; + this.selectRegionToolStripMenuItem.Name = "selectRegionToolStripMenuItem"; + this.selectRegionToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.selectRegionToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRegion; + this.selectRegionToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRegionTT; + this.selectRegionToolStripMenuItem.Click += new System.EventHandler(this.Menu_Region_click); + // + // forwardClicksToolStripMenuItem + // + this.forwardClicksToolStripMenuItem.Name = "forwardClicksToolStripMenuItem"; + this.forwardClicksToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.forwardClicksToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickForwarding; + this.forwardClicksToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickForwardingTT; + this.forwardClicksToolStripMenuItem.Click += new System.EventHandler(this.Menu_Forward_click); + // + // menuContextOpacity + // + this.menuContextOpacity.DropDown = this.menuOpacity; + this.menuContextOpacity.Image = global::OnTopReplica.Properties.Resources.window_opacity16; + this.menuContextOpacity.Name = "menuContextOpacity"; + this.menuContextOpacity.Size = new System.Drawing.Size(168, 22); + this.menuContextOpacity.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // menuOpacity + // + this.menuOpacity.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripMenuItem1, this.toolStripMenuItem2, this.toolStripMenuItem3, this.toolStripMenuItem4, this.toolStripSeparator2, this.toolStripMenuItem5}); - this.menuOpacity.Name = "menuOpacity"; - this.menuOpacity.OwnerItem = this.menuContextOpacity; - this.menuOpacity.ShowCheckMargin = true; - this.menuOpacity.ShowImageMargin = false; - this.menuOpacity.Size = new System.Drawing.Size(180, 130); - this.menuOpacity.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Opacity_opening); - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.Checked = true; - this.toolStripMenuItem1.CheckState = System.Windows.Forms.CheckState.Checked; - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(179, 24); - this.toolStripMenuItem1.Tag = 255; - this.toolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuOp100; - this.toolStripMenuItem1.ToolTipText = global::OnTopReplica.Strings.MenuOp100TT; - this.toolStripMenuItem1.Click += new System.EventHandler(this.Menu_Opacity_click); - // - // toolStripMenuItem2 - // - this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(179, 24); - this.toolStripMenuItem2.Tag = 190; - this.toolStripMenuItem2.Text = global::OnTopReplica.Strings.MenuOp75; - this.toolStripMenuItem2.ToolTipText = global::OnTopReplica.Strings.MenuOp75TT; - this.toolStripMenuItem2.Click += new System.EventHandler(this.Menu_Opacity_click); - // - // toolStripMenuItem3 - // - this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(179, 24); - this.toolStripMenuItem3.Tag = 128; - this.toolStripMenuItem3.Text = global::OnTopReplica.Strings.MenuOp50; - this.toolStripMenuItem3.ToolTipText = global::OnTopReplica.Strings.MenuOp50TT; - this.toolStripMenuItem3.Click += new System.EventHandler(this.Menu_Opacity_click); - // - // toolStripMenuItem4 - // - this.toolStripMenuItem4.Name = "toolStripMenuItem4"; - this.toolStripMenuItem4.Size = new System.Drawing.Size(179, 24); - this.toolStripMenuItem4.Tag = 64; - this.toolStripMenuItem4.Text = global::OnTopReplica.Strings.MenuOp25; - this.toolStripMenuItem4.ToolTipText = global::OnTopReplica.Strings.MenuOp25TT; - this.toolStripMenuItem4.Click += new System.EventHandler(this.Menu_Opacity_click); - // - // toolStripSeparator2 - // - this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(176, 6); - // - // toolStripMenuItem5 - // - this.toolStripMenuItem5.Checked = true; - this.toolStripMenuItem5.CheckState = System.Windows.Forms.CheckState.Checked; - this.toolStripMenuItem5.Name = "toolStripMenuItem5"; - this.toolStripMenuItem5.Size = new System.Drawing.Size(179, 24); - this.toolStripMenuItem5.Text = global::OnTopReplica.Strings.MenuGlass; - this.toolStripMenuItem5.ToolTipText = global::OnTopReplica.Strings.MenuGlassTT; - this.toolStripMenuItem5.Click += new System.EventHandler(this.Menu_Opacity_Glass_click); - // - // resizeToolStripMenuItem - // - this.resizeToolStripMenuItem.DropDown = this.menuResize; - this.resizeToolStripMenuItem.Enabled = false; - this.resizeToolStripMenuItem.Name = "resizeToolStripMenuItem"; - this.resizeToolStripMenuItem.Size = new System.Drawing.Size(195, 24); - this.resizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResize; - // - // menuResize - // - this.menuResize.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuOpacity.Name = "menuOpacity"; + this.menuOpacity.OwnerItem = this.menuContextOpacity; + this.menuOpacity.ShowCheckMargin = true; + this.menuOpacity.ShowImageMargin = false; + this.menuOpacity.Size = new System.Drawing.Size(154, 120); + this.menuOpacity.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Opacity_opening); + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Checked = true; + this.toolStripMenuItem1.CheckState = System.Windows.Forms.CheckState.Checked; + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem1.Tag = 255; + this.toolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuOp100; + this.toolStripMenuItem1.ToolTipText = global::OnTopReplica.Strings.MenuOp100TT; + this.toolStripMenuItem1.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem2 + // + this.toolStripMenuItem2.Name = "toolStripMenuItem2"; + this.toolStripMenuItem2.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem2.Tag = 190; + this.toolStripMenuItem2.Text = global::OnTopReplica.Strings.MenuOp75; + this.toolStripMenuItem2.ToolTipText = global::OnTopReplica.Strings.MenuOp75TT; + this.toolStripMenuItem2.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem3 + // + this.toolStripMenuItem3.Name = "toolStripMenuItem3"; + this.toolStripMenuItem3.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem3.Tag = 128; + this.toolStripMenuItem3.Text = global::OnTopReplica.Strings.MenuOp50; + this.toolStripMenuItem3.ToolTipText = global::OnTopReplica.Strings.MenuOp50TT; + this.toolStripMenuItem3.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem4 + // + this.toolStripMenuItem4.Name = "toolStripMenuItem4"; + this.toolStripMenuItem4.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem4.Tag = 64; + this.toolStripMenuItem4.Text = global::OnTopReplica.Strings.MenuOp25; + this.toolStripMenuItem4.ToolTipText = global::OnTopReplica.Strings.MenuOp25TT; + this.toolStripMenuItem4.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(150, 6); + // + // toolStripMenuItem5 + // + this.toolStripMenuItem5.Checked = true; + this.toolStripMenuItem5.CheckState = System.Windows.Forms.CheckState.Checked; + this.toolStripMenuItem5.Name = "toolStripMenuItem5"; + this.toolStripMenuItem5.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem5.Text = global::OnTopReplica.Strings.MenuGlass; + this.toolStripMenuItem5.ToolTipText = global::OnTopReplica.Strings.MenuGlassTT; + this.toolStripMenuItem5.Click += new System.EventHandler(this.Menu_Opacity_Glass_click); + // + // resizeToolStripMenuItem + // + this.resizeToolStripMenuItem.DropDown = this.menuResize; + this.resizeToolStripMenuItem.Enabled = false; + this.resizeToolStripMenuItem.Name = "resizeToolStripMenuItem"; + this.resizeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.resizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResize; + // + // menuResize + // + this.menuResize.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.doubleToolStripMenuItem1, this.fitToWindowToolStripMenuItem1, this.halfToolStripMenuItem1, @@ -248,264 +249,263 @@ this.clickThroughToolStripMenuItem, this.toolStripSeparator5, this.autofitOnResizeToolStripMenuItem}); - this.menuResize.Name = "menuResize"; - this.menuResize.OwnerItem = this.resizeToolStripMenuItem; - this.menuResize.Size = new System.Drawing.Size(192, 184); - this.menuResize.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Resize_opening); - // - // doubleToolStripMenuItem1 - // - this.doubleToolStripMenuItem1.Name = "doubleToolStripMenuItem1"; - this.doubleToolStripMenuItem1.Size = new System.Drawing.Size(191, 24); - this.doubleToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitDouble; - this.doubleToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Double); - // - // fitToWindowToolStripMenuItem1 - // - this.fitToWindowToolStripMenuItem1.Name = "fitToWindowToolStripMenuItem1"; - this.fitToWindowToolStripMenuItem1.Size = new System.Drawing.Size(191, 24); - this.fitToWindowToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitOriginal; - this.fitToWindowToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_FitToWindow); - // - // halfToolStripMenuItem1 - // - this.halfToolStripMenuItem1.Name = "halfToolStripMenuItem1"; - this.halfToolStripMenuItem1.Size = new System.Drawing.Size(191, 24); - this.halfToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitHalf; - this.halfToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Half); - // - // quarterToolStripMenuItem1 - // - this.quarterToolStripMenuItem1.Name = "quarterToolStripMenuItem1"; - this.quarterToolStripMenuItem1.Size = new System.Drawing.Size(191, 24); - this.quarterToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitQuarter; - this.quarterToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Quarter); - // - // toolStripSeparator3 - // - this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(188, 6); - // - // fullscreenToolStripMenuItem1 - // - this.fullscreenToolStripMenuItem1.Name = "fullscreenToolStripMenuItem1"; - this.fullscreenToolStripMenuItem1.Size = new System.Drawing.Size(191, 24); - this.fullscreenToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitFullscreen; - this.fullscreenToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Fullscreen); - // - // clickThroughToolStripMenuItem - // - this.clickThroughToolStripMenuItem.Checked = true; - this.clickThroughToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; - this.clickThroughToolStripMenuItem.Name = "clickThroughToolStripMenuItem"; - this.clickThroughToolStripMenuItem.Size = new System.Drawing.Size(191, 24); - this.clickThroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResizeClickThrough; - this.clickThroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuResizeClickThroughTT; - this.clickThroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_Resize_ClickThrough); - // - // toolStripSeparator5 - // - this.toolStripSeparator5.Name = "toolStripSeparator5"; - this.toolStripSeparator5.Size = new System.Drawing.Size(188, 6); - // - // autofitOnResizeToolStripMenuItem - // - this.autofitOnResizeToolStripMenuItem.Name = "autofitOnResizeToolStripMenuItem"; - this.autofitOnResizeToolStripMenuItem.Size = new System.Drawing.Size(191, 24); - this.autofitOnResizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAutofit; - this.autofitOnResizeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAutofitTT; - this.autofitOnResizeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Resize_Autofit_click); - // - // dockToolStripMenuItem - // - this.dockToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuResize.Name = "menuResize"; + this.menuResize.OwnerItem = this.resizeToolStripMenuItem; + this.menuResize.Size = new System.Drawing.Size(165, 170); + this.menuResize.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Resize_opening); + // + // doubleToolStripMenuItem1 + // + this.doubleToolStripMenuItem1.Name = "doubleToolStripMenuItem1"; + this.doubleToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.doubleToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitDouble; + this.doubleToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Double); + // + // fitToWindowToolStripMenuItem1 + // + this.fitToWindowToolStripMenuItem1.Name = "fitToWindowToolStripMenuItem1"; + this.fitToWindowToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.fitToWindowToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitOriginal; + this.fitToWindowToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_FitToWindow); + // + // halfToolStripMenuItem1 + // + this.halfToolStripMenuItem1.Name = "halfToolStripMenuItem1"; + this.halfToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.halfToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitHalf; + this.halfToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Half); + // + // quarterToolStripMenuItem1 + // + this.quarterToolStripMenuItem1.Name = "quarterToolStripMenuItem1"; + this.quarterToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.quarterToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitQuarter; + this.quarterToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Quarter); + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(161, 6); + // + // fullscreenToolStripMenuItem1 + // + this.fullscreenToolStripMenuItem1.Name = "fullscreenToolStripMenuItem1"; + this.fullscreenToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.fullscreenToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitFullscreen; + this.fullscreenToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Fullscreen); + // + // clickThroughToolStripMenuItem + // + this.clickThroughToolStripMenuItem.Checked = true; + this.clickThroughToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; + this.clickThroughToolStripMenuItem.Name = "clickThroughToolStripMenuItem"; + this.clickThroughToolStripMenuItem.Size = new System.Drawing.Size(164, 22); + this.clickThroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResizeClickThrough; + this.clickThroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuResizeClickThroughTT; + this.clickThroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_Resize_ClickThrough); + // + // toolStripSeparator5 + // + this.toolStripSeparator5.Name = "toolStripSeparator5"; + this.toolStripSeparator5.Size = new System.Drawing.Size(161, 6); + // + // autofitOnResizeToolStripMenuItem + // + this.autofitOnResizeToolStripMenuItem.Name = "autofitOnResizeToolStripMenuItem"; + this.autofitOnResizeToolStripMenuItem.Size = new System.Drawing.Size(164, 22); + this.autofitOnResizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAutofit; + this.autofitOnResizeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAutofitTT; + this.autofitOnResizeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Resize_Autofit_click); + // + // dockToolStripMenuItem + // + this.dockToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.topLeftToolStripMenuItem, this.topRightToolStripMenuItem, this.bottomLeftToolStripMenuItem, this.bottomRightToolStripMenuItem, this.toolStripSeparator4, this.recallLastPositionAndSizeToolStripMenuItem}); - this.dockToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_null; - this.dockToolStripMenuItem.Name = "dockToolStripMenuItem"; - this.dockToolStripMenuItem.Size = new System.Drawing.Size(195, 24); - this.dockToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosition; - this.dockToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuPositionTT; - // - // topLeftToolStripMenuItem - // - this.topLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topleft; - this.topLeftToolStripMenuItem.Name = "topLeftToolStripMenuItem"; - this.topLeftToolStripMenuItem.Size = new System.Drawing.Size(261, 24); - this.topLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopLeft; - this.topLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopLeft); - // - // topRightToolStripMenuItem - // - this.topRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topright; - this.topRightToolStripMenuItem.Name = "topRightToolStripMenuItem"; - this.topRightToolStripMenuItem.Size = new System.Drawing.Size(261, 24); - this.topRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopRight; - this.topRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopRight); - // - // bottomLeftToolStripMenuItem - // - this.bottomLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomleft; - this.bottomLeftToolStripMenuItem.Name = "bottomLeftToolStripMenuItem"; - this.bottomLeftToolStripMenuItem.Size = new System.Drawing.Size(261, 24); - this.bottomLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomLeft; - this.bottomLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomLeft); - // - // bottomRightToolStripMenuItem - // - this.bottomRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomright; - this.bottomRightToolStripMenuItem.Name = "bottomRightToolStripMenuItem"; - this.bottomRightToolStripMenuItem.Size = new System.Drawing.Size(261, 24); - this.bottomRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomRight; - this.bottomRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomRight); - // - // toolStripSeparator4 - // - this.toolStripSeparator4.Name = "toolStripSeparator4"; - this.toolStripSeparator4.Size = new System.Drawing.Size(258, 6); - // - // recallLastPositionAndSizeToolStripMenuItem - // - this.recallLastPositionAndSizeToolStripMenuItem.Name = "recallLastPositionAndSizeToolStripMenuItem"; - this.recallLastPositionAndSizeToolStripMenuItem.Size = new System.Drawing.Size(261, 24); - this.recallLastPositionAndSizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRecall; - this.recallLastPositionAndSizeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRecallTT; - this.recallLastPositionAndSizeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_Recall_click); - // - // chromeToolStripMenuItem - // - this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem"; - this.chromeToolStripMenuItem.Size = new System.Drawing.Size(195, 24); - this.chromeToolStripMenuItem.Text = "Chrome"; - this.chromeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Chrome_click); - // - // reduceToIconToolStripMenuItem - // - this.reduceToIconToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.reduce; - this.reduceToIconToolStripMenuItem.Name = "reduceToIconToolStripMenuItem"; - this.reduceToIconToolStripMenuItem.Size = new System.Drawing.Size(195, 24); - this.reduceToIconToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReduce; - this.reduceToIconToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuReduceTT; - this.reduceToIconToolStripMenuItem.Click += new System.EventHandler(this.Menu_Reduce_click); - // - // toolStripSeparator1 - // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(192, 6); - // - // languageToolStripMenuItem - // - this.languageToolStripMenuItem.DropDown = this.menuLanguages; - this.languageToolStripMenuItem.Name = "languageToolStripMenuItem"; - this.languageToolStripMenuItem.Size = new System.Drawing.Size(195, 24); - this.languageToolStripMenuItem.Text = global::OnTopReplica.Strings.Language; - // - // menuLanguages - // - this.menuLanguages.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.dockToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_null; + this.dockToolStripMenuItem.Name = "dockToolStripMenuItem"; + this.dockToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.dockToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosition; + this.dockToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuPositionTT; + // + // topLeftToolStripMenuItem + // + this.topLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topleft; + this.topLeftToolStripMenuItem.Name = "topLeftToolStripMenuItem"; + this.topLeftToolStripMenuItem.Size = new System.Drawing.Size(217, 22); + this.topLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopLeft; + this.topLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopLeft); + // + // topRightToolStripMenuItem + // + this.topRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topright; + this.topRightToolStripMenuItem.Name = "topRightToolStripMenuItem"; + this.topRightToolStripMenuItem.Size = new System.Drawing.Size(217, 22); + this.topRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopRight; + this.topRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopRight); + // + // bottomLeftToolStripMenuItem + // + this.bottomLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomleft; + this.bottomLeftToolStripMenuItem.Name = "bottomLeftToolStripMenuItem"; + this.bottomLeftToolStripMenuItem.Size = new System.Drawing.Size(217, 22); + this.bottomLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomLeft; + this.bottomLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomLeft); + // + // bottomRightToolStripMenuItem + // + this.bottomRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomright; + this.bottomRightToolStripMenuItem.Name = "bottomRightToolStripMenuItem"; + this.bottomRightToolStripMenuItem.Size = new System.Drawing.Size(217, 22); + this.bottomRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomRight; + this.bottomRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomRight); + // + // toolStripSeparator4 + // + this.toolStripSeparator4.Name = "toolStripSeparator4"; + this.toolStripSeparator4.Size = new System.Drawing.Size(214, 6); + // + // recallLastPositionAndSizeToolStripMenuItem + // + this.recallLastPositionAndSizeToolStripMenuItem.Name = "recallLastPositionAndSizeToolStripMenuItem"; + this.recallLastPositionAndSizeToolStripMenuItem.Size = new System.Drawing.Size(217, 22); + this.recallLastPositionAndSizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRecall; + this.recallLastPositionAndSizeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRecallTT; + this.recallLastPositionAndSizeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_Recall_click); + // + // chromeToolStripMenuItem + // + this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem"; + this.chromeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.chromeToolStripMenuItem.Text = "Chrome"; + this.chromeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Chrome_click); + // + // reduceToIconToolStripMenuItem + // + this.reduceToIconToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.reduce; + this.reduceToIconToolStripMenuItem.Name = "reduceToIconToolStripMenuItem"; + this.reduceToIconToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.reduceToIconToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReduce; + this.reduceToIconToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuReduceTT; + this.reduceToIconToolStripMenuItem.Click += new System.EventHandler(this.Menu_Reduce_click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(165, 6); + // + // languageToolStripMenuItem + // + this.languageToolStripMenuItem.DropDown = this.menuLanguages; + this.languageToolStripMenuItem.Name = "languageToolStripMenuItem"; + this.languageToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.languageToolStripMenuItem.Text = global::OnTopReplica.Strings.Language; + // + // menuLanguages + // + this.menuLanguages.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.englishToolStripMenuItem, this.italianoToolStripMenuItem}); - this.menuLanguages.Name = "menuLanguages"; - this.menuLanguages.OwnerItem = this.languageToolStripMenuItem; - this.menuLanguages.Size = new System.Drawing.Size(129, 52); - // - // englishToolStripMenuItem - // - this.englishToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_usa; - this.englishToolStripMenuItem.Name = "englishToolStripMenuItem"; - this.englishToolStripMenuItem.Size = new System.Drawing.Size(128, 24); - this.englishToolStripMenuItem.Tag = "en-US"; - this.englishToolStripMenuItem.Text = "English"; - this.englishToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); - // - // italianoToolStripMenuItem - // - this.italianoToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_ita; - this.italianoToolStripMenuItem.Name = "italianoToolStripMenuItem"; - this.italianoToolStripMenuItem.Size = new System.Drawing.Size(128, 24); - this.italianoToolStripMenuItem.Tag = "it-IT"; - this.italianoToolStripMenuItem.Text = "Italiano"; - this.italianoToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); - // - // aboutToolStripMenuItem - // - this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; - this.aboutToolStripMenuItem.Size = new System.Drawing.Size(195, 24); - this.aboutToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAbout; - this.aboutToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAboutTT; - this.aboutToolStripMenuItem.Click += new System.EventHandler(this.Menu_About_click); - // - // menuContextClose - // - this.menuContextClose.Image = global::OnTopReplica.Properties.Resources.close_new; - this.menuContextClose.Name = "menuContextClose"; - this.menuContextClose.Size = new System.Drawing.Size(195, 24); - this.menuContextClose.Text = global::OnTopReplica.Strings.MenuClose; - this.menuContextClose.Click += new System.EventHandler(this.Menu_Close_click); - // - // menuIconContext - // - this.menuIconContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuLanguages.Name = "menuLanguages"; + this.menuLanguages.OwnerItem = this.languageToolStripMenuItem; + this.menuLanguages.Size = new System.Drawing.Size(114, 48); + // + // englishToolStripMenuItem + // + this.englishToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_usa; + this.englishToolStripMenuItem.Name = "englishToolStripMenuItem"; + this.englishToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.englishToolStripMenuItem.Tag = "en-US"; + this.englishToolStripMenuItem.Text = "English"; + this.englishToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // italianoToolStripMenuItem + // + this.italianoToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_ita; + this.italianoToolStripMenuItem.Name = "italianoToolStripMenuItem"; + this.italianoToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.italianoToolStripMenuItem.Tag = "it-IT"; + this.italianoToolStripMenuItem.Text = "Italiano"; + this.italianoToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.aboutToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAbout; + this.aboutToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAboutTT; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.Menu_About_click); + // + // menuContextClose + // + this.menuContextClose.Image = global::OnTopReplica.Properties.Resources.close_new; + this.menuContextClose.Name = "menuContextClose"; + this.menuContextClose.Size = new System.Drawing.Size(168, 22); + this.menuContextClose.Text = global::OnTopReplica.Strings.MenuClose; + this.menuContextClose.Click += new System.EventHandler(this.Menu_Close_click); + // + // menuIconContext + // + this.menuIconContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.openToolStripMenuItem, this.resetWindowToolStripMenuItem, this.exitToolStripMenuItem}); - this.menuIconContext.Name = "menuIconContext"; - this.menuIconContext.Size = new System.Drawing.Size(171, 76); - // - // openToolStripMenuItem - // - this.openToolStripMenuItem.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.openToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.icon; - this.openToolStripMenuItem.Name = "openToolStripMenuItem"; - this.openToolStripMenuItem.Size = new System.Drawing.Size(170, 24); - this.openToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpen; - this.openToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuOpenTT; - this.openToolStripMenuItem.Click += new System.EventHandler(this.IconContextOpen_click); - // - // resetWindowToolStripMenuItem - // - this.resetWindowToolStripMenuItem.Name = "resetWindowToolStripMenuItem"; - this.resetWindowToolStripMenuItem.Size = new System.Drawing.Size(170, 24); - this.resetWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReset; - this.resetWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuResetTT; - this.resetWindowToolStripMenuItem.Click += new System.EventHandler(this.IconContextReset_click); - // - // exitToolStripMenuItem - // - this.exitToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; - this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; - this.exitToolStripMenuItem.Size = new System.Drawing.Size(170, 24); - this.exitToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClose; - this.exitToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuCloseTT; - this.exitToolStripMenuItem.Click += new System.EventHandler(this.IconContextExit_click); - // - // MainForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.SystemColors.Control; - this.ClientSize = new System.Drawing.Size(352, 251); - this.ContextMenuStrip = this.menuContext; - this.ControlBox = false; - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.Margin = new System.Windows.Forms.Padding(4); - this.MinimumSize = new System.Drawing.Size(47, 45); - this.Name = "MainForm"; - this.ShowInTaskbar = false; - this.TopMost = true; - this.DoubleClick += new System.EventHandler(this.Form_doubleclick); - this.menuContext.ResumeLayout(false); - this.menuWindows.ResumeLayout(false); - this.menuOpacity.ResumeLayout(false); - this.menuResize.ResumeLayout(false); - this.menuLanguages.ResumeLayout(false); - this.menuIconContext.ResumeLayout(false); - this.ResumeLayout(false); + this.menuIconContext.Name = "menuIconContext"; + this.menuIconContext.Size = new System.Drawing.Size(148, 70); + // + // openToolStripMenuItem + // + this.openToolStripMenuItem.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.openToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.icon; + this.openToolStripMenuItem.Name = "openToolStripMenuItem"; + this.openToolStripMenuItem.Size = new System.Drawing.Size(147, 22); + this.openToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpen; + this.openToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuOpenTT; + this.openToolStripMenuItem.Click += new System.EventHandler(this.IconContextOpen_click); + // + // resetWindowToolStripMenuItem + // + this.resetWindowToolStripMenuItem.Name = "resetWindowToolStripMenuItem"; + this.resetWindowToolStripMenuItem.Size = new System.Drawing.Size(147, 22); + this.resetWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReset; + this.resetWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuResetTT; + this.resetWindowToolStripMenuItem.Click += new System.EventHandler(this.IconContextReset_click); + // + // exitToolStripMenuItem + // + this.exitToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; + this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; + this.exitToolStripMenuItem.Size = new System.Drawing.Size(147, 22); + this.exitToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClose; + this.exitToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuCloseTT; + this.exitToolStripMenuItem.Click += new System.EventHandler(this.IconContextExit_click); + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.Control; + this.ClientSize = new System.Drawing.Size(264, 204); + this.ContextMenuStrip = this.menuContext; + this.ControlBox = false; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MinimumSize = new System.Drawing.Size(39, 40); + this.Name = "MainForm"; + this.ShowInTaskbar = false; + this.TopMost = true; + this.DoubleClick += new System.EventHandler(this.Form_doubleclick); + this.menuContext.ResumeLayout(false); + this.menuWindows.ResumeLayout(false); + this.menuOpacity.ResumeLayout(false); + this.menuResize.ResumeLayout(false); + this.menuLanguages.ResumeLayout(false); + this.menuIconContext.ResumeLayout(false); + this.ResumeLayout(false); } diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 556204d..8e775e4 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -140,13 +140,10 @@ namespace OnTopReplica //Enable region drawing on thumbnail _thumbnailPanel.DrawMouseRegions = value; - //Disable aspect ratio keeping - MaintainAspectRatio = !value; - //Resize and move to fit region panel ClientSize = new Size { Width = ClientSize.Width + ((value) ? _regionBox.Width : -_regionBox.Width), - Height = Math.Max(ClientSize.Height, _regionBox.Height) + Height = Math.Max(ClientSize.Height, _regionBox.ClientSize.Height) }; _thumbnailPanel.Size = new Size { Width = (value) ? (ClientSize.Width - _regionBox.Width) : ClientSize.Width, @@ -157,6 +154,9 @@ namespace OnTopReplica Y = 0 }; + //Disable aspect ratio keeping + KeepAspectRatio = !value; + //Set new glass margins this.GlassMargins = (value) ? new Margins(ClientSize.Width - _regionBox.Width, 0, 0, 0) : @@ -448,10 +448,10 @@ namespace OnTopReplica return; } - int index = (int)tsi.Tag; + var selectionData = (WindowListHelper.WindowSelectionData)tsi.Tag; if (_windowManager != null) { - ThumbnailSet(index); + ThumbnailSet(selectionData.Handle, selectionData.Region); } } @@ -720,32 +720,40 @@ namespace OnTopReplica #region Thumbnail operation - private void ThumbnailSet(int index) { + private void ThumbnailSet(WindowHandle handle, StoredRegion region) { try { - _lastWindowHandle = _windowManager.Windows[index]; + _lastWindowHandle = handle; - _thumbnailPanel.SetThumbnailHandle(_lastWindowHandle); + _thumbnailPanel.SetThumbnailHandle(handle); } catch (Exception ex) { ThumbnailError(ex, false, Strings.ErrorUnableToCreateThumbnail); } + //Update region to show + if (region == null) + _regionBox.Reset(); + else + _regionBox.SetRegion(region); + //Set aspect ratio (this will resize the form) SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize); - //Reset regions - _regionBox.Reset(); - //GUI selectRegionToolStripMenuItem.Enabled = true; resizeToolStripMenuItem.Enabled = true; } private void ThumbnailUnset(){ + //Unset handle _lastWindowHandle = null; - _thumbnailPanel.UnsetThumbnail(); + + //Reset regions _regionBox.Reset(); + + //Disable aspect ratio + KeepAspectRatio = false; } private void ThumbnailError(Exception ex, bool suppress, string title){ diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 5f2a2b0..42d0e6a 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -49,8 +49,8 @@ true publish.htm false - 2 - 2.7.2.%2a + 0 + 2.8.0.%2a false true true @@ -218,7 +218,7 @@ - + @@ -257,6 +257,7 @@ + diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs index cf487ff..364d0ef 100644 --- a/OnTopReplica/Properties/AssemblyInfo.cs +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.7.2.0")] -[assembly: AssemblyFileVersion("2.7.2.0")] +[assembly: AssemblyVersion("2.8.0.0")] +[assembly: AssemblyFileVersion("2.8.0.0")] diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs index faed55a..827df20 100644 --- a/OnTopReplica/Properties/Resources.Designer.cs +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -208,6 +208,13 @@ namespace OnTopReplica.Properties { } } + internal static System.Drawing.Bitmap regions { + get { + object obj = ResourceManager.GetObject("regions", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + internal static System.Drawing.Bitmap thumbs_up { get { object obj = ResourceManager.GetObject("thumbs_up", resourceCulture); diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx index 25ba02b..6e0e814 100644 --- a/OnTopReplica/Properties/Resources.resx +++ b/OnTopReplica/Properties/Resources.resx @@ -193,4 +193,7 @@ ..\Assets\icon.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Assets\regions.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/OnTopReplica/RegionBox.cs b/OnTopReplica/RegionBox.cs index 9a0dcd8..b10eefc 100644 --- a/OnTopReplica/RegionBox.cs +++ b/OnTopReplica/RegionBox.cs @@ -17,10 +17,6 @@ namespace OnTopReplica { } } - void Default_SettingsLoaded(object sender, System.Configuration.SettingsLoadedEventArgs e) { - - } - bool _glassMode = true; public bool GlassMode { @@ -34,6 +30,20 @@ namespace OnTopReplica { } } + public void SetRegion(StoredRegion region) { + if (region == null) { + Reset(); + return; + } + + SetRegion(region.Rect); + + //Select right combobox + if (comboBox1.Items.Contains(region)) { + comboBox1.SelectedItem = region; + } + } + public void SetRegion(Rectangle region) { try { _ignoreValueChanges = true; @@ -148,9 +158,13 @@ namespace OnTopReplica { buttonSave.Enabled = true; } - /// Used to signal to the value change handler that all events should be temporarily ignored. - /// Must be used if the RegionBox is updating the values of the NumericUpDown controls internally and the handler - /// should not raise any event. + /// + /// Used to signal to the value change handler that all events should be temporarily ignored. + /// + /// + /// Must be used if the RegionBox is updating the values of the NumericUpDown controls + /// internally and the handler should not raise any event. + /// bool _ignoreValueChanges = false; private void RegionValueChanged(object sender, EventArgs e) { diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs index d5d1751..9f01774 100644 --- a/OnTopReplica/Strings.Designer.cs +++ b/OnTopReplica/Strings.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.4918 +// Runtime Version:2.0.50727.4927 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -1034,6 +1034,15 @@ namespace OnTopReplica { } } + /// + /// Looks up a localized string similar to - whole -. + /// + internal static string MenuWindowsWholeRegion { + get { + return ResourceManager.GetString("MenuWindowsWholeRegion", resourceCulture); + } + } + /// /// Looks up a localized string similar to Current region:. /// diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx index 48b19e2..e6b1626 100644 --- a/OnTopReplica/Strings.it.resx +++ b/OnTopReplica/Strings.it.resx @@ -278,7 +278,7 @@ Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza.< Ripristina posizione e grandezza - Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinate i valori di grandezza e posizione della finestra alla chiusura. + Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. Riduci ad icona @@ -395,7 +395,7 @@ Per tornare alla modalità normale in qualsiasi momento, fai doppio clic sull'ic Click-Through - Se la finestra non è completamente opaca quando passa a tutto schermo, farà in modo che tutti i clic le passano attraverso (come una maschera semitrasparente). + Se la finestra non è completamente opaca quando passa a tutto schermo, i clic le passeranno attraverso (come una maschera semitrasparente). No, tutto schermo normale @@ -528,4 +528,7 @@ a:hover { </body> </html> + + - intera - + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx index 287ac21..11793c8 100644 --- a/OnTopReplica/Strings.resx +++ b/OnTopReplica/Strings.resx @@ -528,4 +528,7 @@ a:hover { </body> </html> + + - whole - + \ No newline at end of file diff --git a/OnTopReplica/WindowListHelper.cs b/OnTopReplica/WindowListHelper.cs index c5e8eda..e1306b4 100644 --- a/OnTopReplica/WindowListHelper.cs +++ b/OnTopReplica/WindowListHelper.cs @@ -2,13 +2,22 @@ using System.Collections.Generic; using System.Text; using System.Windows.Forms; +using OnTopReplica.Properties; namespace OnTopReplica { static class WindowListHelper { - const int cMaxWindowTitleLength = 60; + public class WindowSelectionData { + public WindowHandle Handle { get; set; } + public StoredRegion Region { get; set; } + } + + const int cMaxWindowTitleLength = 55; + + public static void PopulateMenu(WindowManager windowManager, ToolStrip menu, + WindowHandle currentHandle, EventHandler clickHandler) { + var regions = Settings.Default.SavedRegions; - public static void PopulateMenu(WindowManager windowManager, ToolStrip menu, WindowHandle currentHandle, EventHandler clickHandler){ //Clear menu.Items.Clear(); @@ -19,23 +28,55 @@ namespace OnTopReplica { nullTsi.Checked = (currentHandle == null); menu.Items.Add(nullTsi); - //Add an item for each window, the tag stores the window index - int i = 0; + //Add an item for each window foreach (WindowHandle h in windowManager.Windows) { var tsi = new ToolStripMenuItem(); - if (h.Title.Length > cMaxWindowTitleLength) { + + if (h.Title.Length > cMaxWindowTitleLength) { tsi.Text = h.Title.Substring(0, cMaxWindowTitleLength) + "..."; tsi.ToolTipText = h.Title; } else tsi.Text = h.Title; - tsi.Click += clickHandler; - tsi.Tag = i++; + + //tsi.Click += clickHandler; if (h.Icon != null) { tsi.Image = h.Icon.ToBitmap(); } tsi.Checked = h.Equals(currentHandle); + if (regions != null && regions.Count > 0) { + //Add subitem for no region + var nullRegionItem = new ToolStripMenuItem(Strings.MenuWindowsWholeRegion); + nullRegionItem.Tag = new WindowSelectionData { + Handle = h, + Region = null + }; + nullRegionItem.Image = Resources.regions; + nullRegionItem.Click += clickHandler; + + tsi.DropDownItems.Add(nullRegionItem); + + foreach (StoredRegion region in regions) { + var regionItem = new ToolStripMenuItem(region.Name); + regionItem.Tag = new WindowSelectionData { + Handle = h, + Region = region + }; + regionItem.Click += clickHandler; + + tsi.DropDownItems.Add(regionItem); + } + } + else { + //Add direct click if no stored regions + tsi.Tag = new WindowSelectionData { + Handle = h, + Region = null + }; + tsi.Click += clickHandler; + } + menu.Items.Add(tsi); } } From 636c2b69223d6be8b4ddac31963c1c0534782f02 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 4 Nov 2009 19:09:30 +0000 Subject: [PATCH 007/164] Removed "autofit on resize" option from menu. Finalizing for update on website. --- OnTopReplica/MainForm.Designer.cs | 25 +++---------------------- OnTopReplica/MainForm.cs | 6 +++--- OnTopReplica/OnTopReplica.csproj | 2 +- 3 files changed, 7 insertions(+), 26 deletions(-) diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index da05b74..d1a59ad 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -51,8 +51,6 @@ this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); this.fullscreenToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.clickThroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); - this.autofitOnResizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.dockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.topLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.topRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -246,12 +244,10 @@ this.quarterToolStripMenuItem1, this.toolStripSeparator3, this.fullscreenToolStripMenuItem1, - this.clickThroughToolStripMenuItem, - this.toolStripSeparator5, - this.autofitOnResizeToolStripMenuItem}); + this.clickThroughToolStripMenuItem}); this.menuResize.Name = "menuResize"; this.menuResize.OwnerItem = this.resizeToolStripMenuItem; - this.menuResize.Size = new System.Drawing.Size(165, 170); + this.menuResize.Size = new System.Drawing.Size(165, 164); this.menuResize.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Resize_opening); // // doubleToolStripMenuItem1 @@ -304,19 +300,6 @@ this.clickThroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuResizeClickThroughTT; this.clickThroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_Resize_ClickThrough); // - // toolStripSeparator5 - // - this.toolStripSeparator5.Name = "toolStripSeparator5"; - this.toolStripSeparator5.Size = new System.Drawing.Size(161, 6); - // - // autofitOnResizeToolStripMenuItem - // - this.autofitOnResizeToolStripMenuItem.Name = "autofitOnResizeToolStripMenuItem"; - this.autofitOnResizeToolStripMenuItem.Size = new System.Drawing.Size(164, 22); - this.autofitOnResizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAutofit; - this.autofitOnResizeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAutofitTT; - this.autofitOnResizeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Resize_Autofit_click); - // // dockToolStripMenuItem // this.dockToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -546,9 +529,7 @@ private System.Windows.Forms.ToolStripMenuItem fitToWindowToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem halfToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem quarterToolStripMenuItem1; - private System.Windows.Forms.ToolStripMenuItem fullscreenToolStripMenuItem1; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator5; - private System.Windows.Forms.ToolStripMenuItem autofitOnResizeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullscreenToolStripMenuItem1; private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; private System.Windows.Forms.ToolStripMenuItem clickThroughToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem forwardClicksToolStripMenuItem; diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 8e775e4..c72f073 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -529,7 +529,7 @@ namespace OnTopReplica if (!_thumbnailPanel.IsShowingThumbnail) e.Cancel = true; - autofitOnResizeToolStripMenuItem.Checked = Settings.Default.AutoFitOnResize; + //autofitOnResizeToolStripMenuItem.Checked = Settings.Default.AutoFitOnResize; recallLastPositionAndSizeToolStripMenuItem.Checked = Settings.Default.StoreWindowPosition; clickThroughToolStripMenuItem.Checked = Settings.Default.ClickThrough; } @@ -558,9 +558,9 @@ namespace OnTopReplica Settings.Default.ClickThrough = !Settings.Default.ClickThrough; } - private void Menu_Resize_Autofit_click(object sender, EventArgs e) { + /*private void Menu_Resize_Autofit_click(object sender, EventArgs e) { Settings.Default.AutoFitOnResize = !Settings.Default.AutoFitOnResize; - } + }*/ private void Menu_Position_Recall_click(object sender, EventArgs e) { Settings.Default.StoreWindowPosition = !Settings.Default.StoreWindowPosition; diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 42d0e6a..50b23f1 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -49,7 +49,7 @@ true publish.htm false - 0 + 2 2.8.0.%2a false true From 3a88173f529cfda03601caa3e659698341dc217d Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sun, 8 Nov 2009 16:08:01 +0000 Subject: [PATCH 008/164] Fullscreen mode fixes (correct window selection and restoring). Window selection menu improved (click on main window menuitem). --- OnTopReplica/AspectRatioForm.cs | 2 +- OnTopReplica/CloseRequestEventArgs.cs | 8 +- OnTopReplica/FullscreenForm.cs | 220 +++++++++++++----------- OnTopReplica/MainForm.cs | 15 +- OnTopReplica/OnTopReplica.csproj | 4 +- OnTopReplica/Properties/AssemblyInfo.cs | 4 +- OnTopReplica/WindowListHelper.cs | 26 +-- 7 files changed, 150 insertions(+), 129 deletions(-) diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs index d71c537..b5c0801 100644 --- a/OnTopReplica/AspectRatioForm.cs +++ b/OnTopReplica/AspectRatioForm.cs @@ -9,7 +9,7 @@ using System.Drawing; namespace OnTopReplica { /// - /// Form that automatically keeps a certain aspect ratio and resizes withour flickering. + /// Form that automatically keeps a certain aspect ratio and resizes without flickering. /// public class AspectRatioForm : GlassForm { diff --git a/OnTopReplica/CloseRequestEventArgs.cs b/OnTopReplica/CloseRequestEventArgs.cs index 3fb018c..c9d031e 100644 --- a/OnTopReplica/CloseRequestEventArgs.cs +++ b/OnTopReplica/CloseRequestEventArgs.cs @@ -1,15 +1,13 @@ using System; using System.Collections.Generic; using System.Text; +using System.Drawing; namespace OnTopReplica { public class CloseRequestEventArgs : EventArgs { - public CloseRequestEventArgs(WindowHandle lastHandle) { - CurrentWindowHandle = lastHandle; - } - - public WindowHandle CurrentWindowHandle { get; set; } + public WindowHandle LastWindowHandle { get; set; } + public Rectangle? LastRegion { get; set; } } } diff --git a/OnTopReplica/FullscreenForm.cs b/OnTopReplica/FullscreenForm.cs index 02fec99..2e451b8 100644 --- a/OnTopReplica/FullscreenForm.cs +++ b/OnTopReplica/FullscreenForm.cs @@ -5,74 +5,78 @@ using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; +using VistaControls.TaskDialog; namespace OnTopReplica { - public partial class FullscreenForm : Form { + public partial class FullscreenForm : Form { - public FullscreenForm() { - InitializeComponent(); + public FullscreenForm() { + InitializeComponent(); - _thumbnail.GlassMode = true; + _thumbnail.GlassMode = true; - //Set native renderer on context menu - Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(new Control[] { + //Set native renderer on context menu + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(new Control[] { menuContext, menuWindows }); - _cursorTimer = new Timer(); + /*_cursorTimer = new Timer(); _cursorTimer.Interval = 1000; - _cursorTimer.Tick += new EventHandler(_cursorTimer_Tick); - } + _cursorTimer.Tick += new EventHandler(_cursorTimer_Tick);*/ + } - Timer _cursorTimer; + //Timer _cursorTimer; - WindowHandle _lastHandle; - WindowManager _manager = new WindowManager(WindowManager.EnumerationMode.TaskWindows); + WindowHandle _lastHandle; + WindowManager _manager = new WindowManager(WindowManager.EnumerationMode.TaskWindows); - public void DisplayFullscreen(Screen screen, WindowHandle window) { - _lastHandle = window; + public void DisplayFullscreen(Screen screen, WindowHandle window) { + _lastHandle = window; - //Init thumbnail - _thumbnail.SetThumbnailHandle(window); + //Init thumbnail + _thumbnail.SetThumbnailHandle(window); - //Form setup - this.Location = screen.WorkingArea.Location; - this.Size = screen.WorkingArea.Size; - } + //Form setup + this.Location = screen.WorkingArea.Location; + this.Size = screen.WorkingArea.Size; + } - public void CloseFullscreen() { - this.Visible = false; + public void CloseFullscreen() { + this.Visible = false; - _thumbnail.UnsetThumbnail(); - } + _thumbnail.UnsetThumbnail(); + } - public Rectangle ShownRegion { - get { - return _thumbnail.ShownRegion; - } - set { - _thumbnail.ShownRegion = value; - } - } + public Rectangle ShownRegion { + get { + return _thumbnail.ShownRegion; + } + set { + _thumbnail.ShownRegion = value; + } + } - public bool ShowRegion { - get { - return _thumbnail.ShowRegion; - } - set { - _thumbnail.ShowRegion = value; - } - } + public bool ShowRegion { + get { + return _thumbnail.ShowRegion; + } + set { + _thumbnail.ShowRegion = value; + } + } - public event EventHandler CloseRequest; + public event EventHandler CloseRequest; - protected virtual void OnCloseRequest() { - if (CloseRequest != null) - CloseRequest(this, new CloseRequestEventArgs(_lastHandle)); - } + protected virtual void OnCloseRequest() { + if (CloseRequest != null) + CloseRequest(this, new CloseRequestEventArgs { + LastWindowHandle = _lastHandle, + LastRegion = (_thumbnail.ShowRegion) ? (Rectangle?)_thumbnail.ShownRegion : null + }); + } - protected override void OnActivated(EventArgs e) { + /*protected override void OnActivated(EventArgs e) { _cursorTimer.Start(); base.OnActivated(e); @@ -107,84 +111,94 @@ namespace OnTopReplica { void _cursorTimer_Tick(object sender, EventArgs e) { Cursor.Hide(); _cursorTimer.Stop(); + }*/ + + protected override void OnDoubleClick(EventArgs e) { + OnCloseRequest(); + + base.OnDoubleClick(e); } - protected override void OnDoubleClick(EventArgs e) { - OnCloseRequest(); - - base.OnDoubleClick(e); - } - - protected override void OnKeyUp(KeyEventArgs e) { - if (e.KeyCode == Keys.Escape) { - e.Handled = true; - OnCloseRequest(); - } + protected override void OnKeyUp(KeyEventArgs e) { + if (e.KeyCode == Keys.Escape) { + e.Handled = true; + OnCloseRequest(); + } else if (e.KeyCode == Keys.Enter && e.Modifiers == Keys.Alt) { e.Handled = true; OnCloseRequest(); } - base.OnKeyUp(e); - } + base.OnKeyUp(e); + } - bool _clickThrough = false; + bool _clickThrough = false; - public bool ClickThrough { - get { - return _clickThrough; - } - set { - _clickThrough = value; + public bool ClickThrough { + get { + return _clickThrough; + } + set { + _clickThrough = value; - this.TransparencyKey = (value) ? Color.Black : Color.White; - this.Invalidate(); - } - } + this.TransparencyKey = (value) ? Color.Black : Color.White; + this.Invalidate(); + } + } - const int WM_NCHITTEST = 0x0084; - const int HTTRANSPARENT = -1; + const int WM_NCHITTEST = 0x0084; + const int HTTRANSPARENT = -1; - protected override void WndProc(ref Message m) { - if (_clickThrough && m.Msg == WM_NCHITTEST) { - m.Result = new IntPtr(HTTRANSPARENT); - return; - } + protected override void WndProc(ref Message m) { + if (_clickThrough && m.Msg == WM_NCHITTEST) { + m.Result = new IntPtr(HTTRANSPARENT); + return; + } - base.WndProc(ref m); - } + base.WndProc(ref m); + } - private void Menu_Quit_click(object sender, EventArgs e) { - OnCloseRequest(); - } + private void Menu_Quit_click(object sender, EventArgs e) { + OnCloseRequest(); + } - private void Menu_Windows_opening(object sender, EventArgs e) { - _manager.Refresh(WindowManager.EnumerationMode.TaskWindows); + private void Menu_Windows_opening(object sender, EventArgs e) { + _manager.Refresh(WindowManager.EnumerationMode.TaskWindows); - WindowListHelper.PopulateMenu(_manager, menuWindows, _lastHandle, new EventHandler(Menu_Window_click)); - } + WindowListHelper.PopulateMenu(this, _manager, menuWindows, _lastHandle, new EventHandler(Menu_Window_click)); + } - void Menu_Window_click(object sender, EventArgs e) { - //Get clicked item and window index from tag - ToolStripItem tsi = (ToolStripItem)sender; + void Menu_Window_click(object sender, EventArgs e) { + //Ensure menu is closed + menuContext.Close(); - //Handle -none- selection - if (tsi.Tag == null) { - OnCloseRequest(); - return; - } + //Get clicked item and window index from tag + ToolStripItem tsi = (ToolStripItem)sender; - int index = (int)tsi.Tag; + var windowData = tsi.Tag as WindowListHelper.WindowSelectionData; - if (index >= _manager.Windows.Count) - return; + //Handle "-none-" window request + if (windowData == null) { + OnCloseRequest(); + return; + } - var handle = _manager.Windows[index]; + try { + _thumbnail.SetThumbnailHandle(windowData.Handle); + if (windowData.Region != null) { + _thumbnail.ShownRegion = windowData.Region.Rect; + _thumbnail.ShowRegion = true; + } + else { + _thumbnail.ShowRegion = false; + } + _lastHandle = windowData.Handle; + } + catch (Exception) { + OnCloseRequest(); + } + } - _thumbnail.SetThumbnailHandle(handle); - _lastHandle = handle; - } - - } + } } diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index c72f073..2af8efb 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -76,11 +76,11 @@ namespace OnTopReplica void FullscreenForm_CloseRequest(object sender, CloseRequestEventArgs e) { if (_isFullscreen) { - //Update handle to match the one selected in fullscreen mode - if (_lastWindowHandle != e.CurrentWindowHandle) { - _lastWindowHandle = e.CurrentWindowHandle; - _thumbnailPanel.SetThumbnailHandle(e.CurrentWindowHandle); - } + var regionContainer = (e.LastRegion != null) ? + new StoredRegion { Rect = e.LastRegion.Value } : null; + + //Update handle to match the one selected in fullscreen mode + ThumbnailSet(e.LastWindowHandle, regionContainer); ToggleFullscreen(); } @@ -439,6 +439,9 @@ namespace OnTopReplica } void Menu_Windows_itemclick(object sender, EventArgs e) { + //Insure the menu is closed + menuContext.Close(); + //Get clicked item and window index from tag ToolStripItem tsi = (ToolStripItem)sender; @@ -629,7 +632,7 @@ namespace OnTopReplica //Refresh window list _windowManager.Refresh(WindowManager.EnumerationMode.TaskWindows); - WindowListHelper.PopulateMenu(_windowManager, menuWindows, _lastWindowHandle, new EventHandler(Menu_Windows_itemclick)); + WindowListHelper.PopulateMenu(this, _windowManager, menuWindows, _lastWindowHandle, new EventHandler(Menu_Windows_itemclick)); } private void Menu_Chrome_click(object sender, EventArgs e) { diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 50b23f1..0be85c8 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -49,8 +49,8 @@ true publish.htm false - 2 - 2.8.0.%2a + 1 + 2.8.1.%2a false true true diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs index 364d0ef..fce3f03 100644 --- a/OnTopReplica/Properties/AssemblyInfo.cs +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.8.0.0")] -[assembly: AssemblyFileVersion("2.8.0.0")] +[assembly: AssemblyVersion("2.8.1.0")] +[assembly: AssemblyFileVersion("2.8.1.0")] diff --git a/OnTopReplica/WindowListHelper.cs b/OnTopReplica/WindowListHelper.cs index e1306b4..dbec10f 100644 --- a/OnTopReplica/WindowListHelper.cs +++ b/OnTopReplica/WindowListHelper.cs @@ -14,7 +14,7 @@ namespace OnTopReplica { const int cMaxWindowTitleLength = 55; - public static void PopulateMenu(WindowManager windowManager, ToolStrip menu, + public static void PopulateMenu(Form ownerForm, WindowManager windowManager, ToolStrip menu, WindowHandle currentHandle, EventHandler clickHandler) { var regions = Settings.Default.SavedRegions; @@ -30,8 +30,13 @@ namespace OnTopReplica { //Add an item for each window foreach (WindowHandle h in windowManager.Windows) { + //Skip if in the same process + if (h.Handle.Equals(ownerForm.Handle)) + continue; + var tsi = new ToolStripMenuItem(); + //Window title if (h.Title.Length > cMaxWindowTitleLength) { tsi.Text = h.Title.Substring(0, cMaxWindowTitleLength) + "..."; tsi.ToolTipText = h.Title; @@ -39,12 +44,21 @@ namespace OnTopReplica { else tsi.Text = h.Title; - //tsi.Click += clickHandler; + //Icon if (h.Icon != null) { tsi.Image = h.Icon.ToBitmap(); } + + //Check if this is the currently displayed window tsi.Checked = h.Equals(currentHandle); + //Add direct click if no stored regions + tsi.Tag = new WindowSelectionData { + Handle = h, + Region = null + }; + tsi.Click += clickHandler; + if (regions != null && regions.Count > 0) { //Add subitem for no region var nullRegionItem = new ToolStripMenuItem(Strings.MenuWindowsWholeRegion); @@ -68,14 +82,6 @@ namespace OnTopReplica { tsi.DropDownItems.Add(regionItem); } } - else { - //Add direct click if no stored regions - tsi.Tag = new WindowSelectionData { - Handle = h, - Region = null - }; - tsi.Click += clickHandler; - } menu.Items.Add(tsi); } From 4932c332f50e028643eec49904d7e10841334c92 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 26 Nov 2009 23:26:45 +0000 Subject: [PATCH 009/164] Improved keyboard handler. --- OnTopReplica/MainForm.cs | 71 +++++++++++++++++----------------------- 1 file changed, 30 insertions(+), 41 deletions(-) diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 2af8efb..d57197b 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -70,6 +70,10 @@ namespace OnTopReplica Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(new Control[] { menuContext, menuWindows, menuOpacity, menuIconContext, menuResize, menuLanguages }); + + //Hook keyboard handler + this.KeyUp += new KeyEventHandler(Common_Key); + this.KeyPreview = true; } #region Child forms & controls events @@ -222,37 +226,6 @@ namespace OnTopReplica } } - /*protected override void OnResize(EventArgs e) { - if (RegionBoxShowing) { - //Adapt glass margins on region box - this.GlassMargins = new Margins(ClientSize.Width - _regionBox.Width, 0, 0, 0); - } - - /*if (RegionBoxShowing) { - _thumbnailPanel.Size = new Size(ClientSize.Width - cRegionWithPadding, ClientSize.Height); - _regionBox.Size = new Size(cRegionBoxWidth, ClientSize.Height); - _regionBox.Location = new Point(ClientSize.Width - cRegionBoxWidth, 0); - - this.GlassMargins = new Margins(ClientSize.Width - cRegionBoxWidth + _regionBox.Padding.Left, _regionBox.Padding.Right, _regionBox.Padding.Top, _regionBox.Padding.Bottom); - } - else { - //Fill client with thumbnail - _thumbnailPanel.Size = ClientSize; - _regionBox.Location = new Point(ClientSize.Width, 0); - - this.GlassMargins = new Margins(-1); - }*/ - /* - base.OnResize(e); - }*/ - - /*protected override void OnResizeEnd(EventArgs e) { - base.OnResizeEnd(e); - - if (Settings.Default.AutoFitOnResize && !RegionBoxShowing) - FitToThumbnail(); - }*/ - protected override void OnShown(EventArgs e) { base.OnShown(e); @@ -304,15 +277,6 @@ namespace OnTopReplica SetGlass(Settings.Default.UseGlass); } - protected override void OnKeyUp(KeyEventArgs e) { - if (e.KeyCode == Keys.Enter && e.Modifiers == Keys.Alt) { - e.Handled = true; - ToggleFullscreen(); - } - - base.OnKeyUp(e); - } - #endregion #region Task Icon events @@ -663,6 +627,31 @@ namespace OnTopReplica ToggleFullscreen(); } + void Common_Key(object sender, KeyEventArgs e) { + if (e.Modifiers == Keys.Alt) { + if (e.KeyCode == Keys.Enter) { + e.Handled = true; + ToggleFullscreen(); + } + + else if (e.KeyCode == Keys.D1 || e.KeyCode == Keys.NumPad1) { + FitToThumbnail(0.25); + } + + else if (e.KeyCode == Keys.D2 || e.KeyCode == Keys.NumPad2) { + FitToThumbnail(0.5); + } + + else if (e.KeyCode == Keys.D3 || e.KeyCode == Keys.NumPad3 || e.KeyCode == Keys.D0 || e.KeyCode == Keys.NumPad0) { + FitToThumbnail(1.0); + } + + else if (e.KeyCode == Keys.D4 || e.KeyCode == Keys.NumPad4) { + FitToThumbnail(2.0); + } + } + } + #endregion #region Fullscreen @@ -776,7 +765,7 @@ namespace OnTopReplica Size fittedSize = new Size((int)(originalSize.Width * p), (int)(originalSize.Height * p)); - ClientSize = fittedSize; + this.ClientSize = fittedSize; } catch (Exception ex) { ThumbnailError(ex, false, Strings.ErrorUnableToFit); From 51d1f05e1cbf21f1822dfb65598d8d1085ef6277 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sun, 17 Jan 2010 12:35:08 +0000 Subject: [PATCH 010/164] Added "always on top" option to fullscreen mode. Localization fixes to fullscreen mode. --- OnTopReplica/FullscreenForm.Designer.cs | 15 ++++++++-- OnTopReplica/FullscreenForm.cs | 28 +++++++++++++++++-- OnTopReplica/OnTopReplica.csproj | 4 +-- OnTopReplica/Properties/AssemblyInfo.cs | 4 +-- .../Properties/OnTopReplica.exe.manifest | 8 ++++++ OnTopReplica/Properties/Settings.Designer.cs | 12 ++++++++ OnTopReplica/Properties/Settings.settings | 3 ++ OnTopReplica/Strings.Designer.cs | 18 ++++++++++++ OnTopReplica/Strings.it.resx | 6 ++++ OnTopReplica/Strings.resx | 6 ++++ OnTopReplica/app.config | 3 ++ 11 files changed, 99 insertions(+), 8 deletions(-) diff --git a/OnTopReplica/FullscreenForm.Designer.cs b/OnTopReplica/FullscreenForm.Designer.cs index ae37a66..5a90478 100644 --- a/OnTopReplica/FullscreenForm.Designer.cs +++ b/OnTopReplica/FullscreenForm.Designer.cs @@ -31,6 +31,7 @@ this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.quitFullscreenModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this._thumbnail = new OnTopReplica.ThumbnailPanel(); + this.alwaysOnTopToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuContext.SuspendLayout(); this.menuWindows.SuspendLayout(); this.SuspendLayout(); @@ -39,9 +40,11 @@ // this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.windowsToolStripMenuItem, + this.alwaysOnTopToolStripMenuItem, this.quitFullscreenModeToolStripMenuItem}); this.menuContext.Name = "contextMenuStrip1"; - this.menuContext.Size = new System.Drawing.Size(186, 48); + this.menuContext.Size = new System.Drawing.Size(186, 92); + this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); // // windowsToolStripMenuItem // @@ -91,6 +94,13 @@ this._thumbnail.Size = new System.Drawing.Size(284, 264); this._thumbnail.TabIndex = 0; // + // alwaysOnTopToolStripMenuItem + // + this.alwaysOnTopToolStripMenuItem.Name = "alwaysOnTopToolStripMenuItem"; + this.alwaysOnTopToolStripMenuItem.Size = new System.Drawing.Size(185, 22); + this.alwaysOnTopToolStripMenuItem.Text = Strings.FullscreenAlwaysOnTop; + this.alwaysOnTopToolStripMenuItem.Click += new System.EventHandler(this.Menu_AlwaysOnTop_click); + // // FullscreenForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -102,7 +112,7 @@ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "FullscreenForm"; - this.Text = "OnTopReplica Fullscreen"; + this.Text = Strings.FullscreenTitle; this.TransparencyKey = System.Drawing.Color.Black; this.menuContext.ResumeLayout(false); this.menuWindows.ResumeLayout(false); @@ -118,5 +128,6 @@ private System.Windows.Forms.ToolStripMenuItem quitFullscreenModeToolStripMenuItem; private System.Windows.Forms.ContextMenuStrip menuWindows; private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem alwaysOnTopToolStripMenuItem; } } \ No newline at end of file diff --git a/OnTopReplica/FullscreenForm.cs b/OnTopReplica/FullscreenForm.cs index 2e451b8..31360e9 100644 --- a/OnTopReplica/FullscreenForm.cs +++ b/OnTopReplica/FullscreenForm.cs @@ -6,6 +6,7 @@ using System.Drawing; using System.Text; using System.Windows.Forms; using VistaControls.TaskDialog; +using OnTopReplica.Properties; namespace OnTopReplica { @@ -15,6 +16,7 @@ namespace OnTopReplica { InitializeComponent(); _thumbnail.GlassMode = true; + this.TopMost = Settings.Default.FullscreenAlwaysOnTop; //Set native renderer on context menu Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(new Control[] { @@ -66,6 +68,8 @@ namespace OnTopReplica { } } + #region Event handling + public event EventHandler CloseRequest; protected virtual void OnCloseRequest() { @@ -132,6 +136,10 @@ namespace OnTopReplica { base.OnKeyUp(e); } + #endregion + + #region Click through + bool _clickThrough = false; public bool ClickThrough { @@ -158,8 +166,12 @@ namespace OnTopReplica { base.WndProc(ref m); } - private void Menu_Quit_click(object sender, EventArgs e) { - OnCloseRequest(); + #endregion + + #region Menus + + private void Menu_opening(object sender, CancelEventArgs e) { + alwaysOnTopToolStripMenuItem.Checked = Settings.Default.FullscreenAlwaysOnTop; } private void Menu_Windows_opening(object sender, EventArgs e) { @@ -199,6 +211,18 @@ namespace OnTopReplica { } } + private void Menu_AlwaysOnTop_click(object sender, EventArgs e) { + //Switch topmost behavior and store + this.TopMost = Settings.Default.FullscreenAlwaysOnTop + = !Settings.Default.FullscreenAlwaysOnTop; + } + + private void Menu_Quit_click(object sender, EventArgs e) { + OnCloseRequest(); + } + + #endregion + } } diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 0be85c8..231c035 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -49,8 +49,8 @@ true publish.htm false - 1 - 2.8.1.%2a + 2 + 2.8.2.%2a false true true diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs index fce3f03..8328d89 100644 --- a/OnTopReplica/Properties/AssemblyInfo.cs +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.8.1.0")] -[assembly: AssemblyFileVersion("2.8.1.0")] +[assembly: AssemblyVersion("2.8.2.0")] +[assembly: AssemblyFileVersion("2.8.2.0")] diff --git a/OnTopReplica/Properties/OnTopReplica.exe.manifest b/OnTopReplica/Properties/OnTopReplica.exe.manifest index 430fc54..733e21f 100644 --- a/OnTopReplica/Properties/OnTopReplica.exe.manifest +++ b/OnTopReplica/Properties/OnTopReplica.exe.manifest @@ -11,4 +11,12 @@ + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/Properties/Settings.Designer.cs b/OnTopReplica/Properties/Settings.Designer.cs index 82dc9c3..e7f49ff 100644 --- a/OnTopReplica/Properties/Settings.Designer.cs +++ b/OnTopReplica/Properties/Settings.Designer.cs @@ -177,5 +177,17 @@ namespace OnTopReplica.Properties { this["FirstTimeClickForwarding"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool FullscreenAlwaysOnTop { + get { + return ((bool)(this["FullscreenAlwaysOnTop"])); + } + set { + this["FullscreenAlwaysOnTop"] = value; + } + } } } diff --git a/OnTopReplica/Properties/Settings.settings b/OnTopReplica/Properties/Settings.settings index a4ec101..baa9cba 100644 --- a/OnTopReplica/Properties/Settings.settings +++ b/OnTopReplica/Properties/Settings.settings @@ -41,5 +41,8 @@ True + + False + \ No newline at end of file diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs index 9f01774..390311d 100644 --- a/OnTopReplica/Strings.Designer.cs +++ b/OnTopReplica/Strings.Designer.cs @@ -444,6 +444,24 @@ namespace OnTopReplica { } } + /// + /// Looks up a localized string similar to Keep always on top. + /// + internal static string FullscreenAlwaysOnTop { + get { + return ResourceManager.GetString("FullscreenAlwaysOnTop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica fullscreen. + /// + internal static string FullscreenTitle { + get { + return ResourceManager.GetString("FullscreenTitle", resourceCulture); + } + } + /// /// Looks up a localized string similar to Homepage: www.codeplex.com/ontopreplica.. /// diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx index e6b1626..d9793dd 100644 --- a/OnTopReplica/Strings.it.resx +++ b/OnTopReplica/Strings.it.resx @@ -531,4 +531,10 @@ a:hover { - intera - + + Mantieni in primo piano + + + OnTopReplica a pieno schermo + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx index 11793c8..077c8c4 100644 --- a/OnTopReplica/Strings.resx +++ b/OnTopReplica/Strings.resx @@ -531,4 +531,10 @@ a:hover { - whole - + + Keep always on top + + + OnTopReplica fullscreen + \ No newline at end of file diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config index b022521..6ff7602 100644 --- a/OnTopReplica/app.config +++ b/OnTopReplica/app.config @@ -43,6 +43,9 @@ True + + False + From 880b6154aff294a00a356668ce8b2539ea314a36 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 21 Jan 2010 00:14:30 +0000 Subject: [PATCH 011/164] Fullscreen mode refactored. Click through mode removed from standard form and added to fullscreen. --- OnTopReplica/FullscreenForm.Designer.cs | 111 ++++++++++++-- OnTopReplica/FullscreenForm.cs | 183 ++++++++++++++---------- OnTopReplica/FullscreenMode.cs | 11 ++ OnTopReplica/MainForm.Designer.cs | 30 ++-- OnTopReplica/MainForm.cs | 77 +++------- OnTopReplica/OnTopReplica.csproj | 5 +- OnTopReplica/Properties/AssemblyInfo.cs | 4 +- 7 files changed, 249 insertions(+), 172 deletions(-) create mode 100644 OnTopReplica/FullscreenMode.cs diff --git a/OnTopReplica/FullscreenForm.Designer.cs b/OnTopReplica/FullscreenForm.Designer.cs index 5a90478..977a044 100644 --- a/OnTopReplica/FullscreenForm.Designer.cs +++ b/OnTopReplica/FullscreenForm.Designer.cs @@ -29,9 +29,17 @@ this.windowsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.modeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuModeStandard = new System.Windows.Forms.ToolStripMenuItem(); + this.menuModeOnTop = new System.Windows.Forms.ToolStripMenuItem(); + this.menuModeClickThrough = new System.Windows.Forms.ToolStripMenuItem(); + this.opacityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuOpacity100 = new System.Windows.Forms.ToolStripMenuItem(); + this.menuOpacity75 = new System.Windows.Forms.ToolStripMenuItem(); + this.menuOpacity50 = new System.Windows.Forms.ToolStripMenuItem(); + this.menuOpacity25 = new System.Windows.Forms.ToolStripMenuItem(); this.quitFullscreenModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this._thumbnail = new OnTopReplica.ThumbnailPanel(); - this.alwaysOnTopToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuContext.SuspendLayout(); this.menuWindows.SuspendLayout(); this.SuspendLayout(); @@ -40,11 +48,11 @@ // this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.windowsToolStripMenuItem, - this.alwaysOnTopToolStripMenuItem, + this.modeToolStripMenuItem, + this.opacityToolStripMenuItem, this.quitFullscreenModeToolStripMenuItem}); this.menuContext.Name = "contextMenuStrip1"; - this.menuContext.Size = new System.Drawing.Size(186, 92); - this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); + this.menuContext.Size = new System.Drawing.Size(186, 114); // // windowsToolStripMenuItem // @@ -70,6 +78,79 @@ this.noneToolStripMenuItem.Size = new System.Drawing.Size(117, 22); this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; // + // modeToolStripMenuItem + // + this.modeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuModeStandard, + this.menuModeOnTop, + this.menuModeClickThrough}); + this.modeToolStripMenuItem.Name = "modeToolStripMenuItem"; + this.modeToolStripMenuItem.Size = new System.Drawing.Size(185, 22); + this.modeToolStripMenuItem.Text = "Mode"; + this.modeToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Mode_opening); + // + // menuModeStandard + // + this.menuModeStandard.Name = "menuModeStandard"; + this.menuModeStandard.Size = new System.Drawing.Size(152, 22); + this.menuModeStandard.Text = "Standard"; + this.menuModeStandard.Click += new System.EventHandler(this.Menu_Mode_standard); + // + // menuModeOnTop + // + this.menuModeOnTop.Name = "menuModeOnTop"; + this.menuModeOnTop.Size = new System.Drawing.Size(152, 22); + this.menuModeOnTop.Text = "Always on top"; + this.menuModeOnTop.Click += new System.EventHandler(this.Menu_Mode_ontop); + // + // menuModeClickThrough + // + this.menuModeClickThrough.Name = "menuModeClickThrough"; + this.menuModeClickThrough.Size = new System.Drawing.Size(152, 22); + this.menuModeClickThrough.Text = "Click through"; + this.menuModeClickThrough.Click += new System.EventHandler(this.Menu_Mode_clickthrough); + // + // opacityToolStripMenuItem + // + this.opacityToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuOpacity100, + this.menuOpacity75, + this.menuOpacity50, + this.menuOpacity25}); + this.opacityToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity16; + this.opacityToolStripMenuItem.Name = "opacityToolStripMenuItem"; + this.opacityToolStripMenuItem.Size = new System.Drawing.Size(185, 22); + this.opacityToolStripMenuItem.Text = "Opacity"; + this.opacityToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Opacity_opening); + // + // menuOpacity100 + // + this.menuOpacity100.Name = "menuOpacity100"; + this.menuOpacity100.Size = new System.Drawing.Size(153, 22); + this.menuOpacity100.Text = "100% (opaque)"; + this.menuOpacity100.Click += new System.EventHandler(this.Menu_Opacity_100); + // + // menuOpacity75 + // + this.menuOpacity75.Name = "menuOpacity75"; + this.menuOpacity75.Size = new System.Drawing.Size(153, 22); + this.menuOpacity75.Text = "75%"; + this.menuOpacity75.Click += new System.EventHandler(this.Menu_Opacity_75); + // + // menuOpacity50 + // + this.menuOpacity50.Name = "menuOpacity50"; + this.menuOpacity50.Size = new System.Drawing.Size(153, 22); + this.menuOpacity50.Text = "50%"; + this.menuOpacity50.Click += new System.EventHandler(this.Menu_Opacity_50); + // + // menuOpacity25 + // + this.menuOpacity25.Name = "menuOpacity25"; + this.menuOpacity25.Size = new System.Drawing.Size(153, 22); + this.menuOpacity25.Text = "25%"; + this.menuOpacity25.Click += new System.EventHandler(this.Menu_Opacity_25); + // // quitFullscreenModeToolStripMenuItem // this.quitFullscreenModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; @@ -94,13 +175,6 @@ this._thumbnail.Size = new System.Drawing.Size(284, 264); this._thumbnail.TabIndex = 0; // - // alwaysOnTopToolStripMenuItem - // - this.alwaysOnTopToolStripMenuItem.Name = "alwaysOnTopToolStripMenuItem"; - this.alwaysOnTopToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.alwaysOnTopToolStripMenuItem.Text = Strings.FullscreenAlwaysOnTop; - this.alwaysOnTopToolStripMenuItem.Click += new System.EventHandler(this.Menu_AlwaysOnTop_click); - // // FullscreenForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -112,8 +186,7 @@ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "FullscreenForm"; - this.Text = Strings.FullscreenTitle; - this.TransparencyKey = System.Drawing.Color.Black; + this.Text = "OnTopReplica fullscreen"; this.menuContext.ResumeLayout(false); this.menuWindows.ResumeLayout(false); this.ResumeLayout(false); @@ -127,7 +200,15 @@ private System.Windows.Forms.ToolStripMenuItem windowsToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem quitFullscreenModeToolStripMenuItem; private System.Windows.Forms.ContextMenuStrip menuWindows; - private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem alwaysOnTopToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem modeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem menuModeStandard; + private System.Windows.Forms.ToolStripMenuItem menuModeOnTop; + private System.Windows.Forms.ToolStripMenuItem menuModeClickThrough; + private System.Windows.Forms.ToolStripMenuItem opacityToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem menuOpacity100; + private System.Windows.Forms.ToolStripMenuItem menuOpacity75; + private System.Windows.Forms.ToolStripMenuItem menuOpacity50; + private System.Windows.Forms.ToolStripMenuItem menuOpacity25; } } \ No newline at end of file diff --git a/OnTopReplica/FullscreenForm.cs b/OnTopReplica/FullscreenForm.cs index 31360e9..ad23e57 100644 --- a/OnTopReplica/FullscreenForm.cs +++ b/OnTopReplica/FullscreenForm.cs @@ -10,26 +10,22 @@ using OnTopReplica.Properties; namespace OnTopReplica { - public partial class FullscreenForm : Form { + partial class FullscreenForm : Form { public FullscreenForm() { InitializeComponent(); _thumbnail.GlassMode = true; - this.TopMost = Settings.Default.FullscreenAlwaysOnTop; + + //Set mode + Mode = (Settings.Default.FullscreenAlwaysOnTop) ? FullscreenMode.AlwaysOnTop : FullscreenMode.Normal; //Set native renderer on context menu Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(new Control[] { menuContext, menuWindows }); - - /*_cursorTimer = new Timer(); - _cursorTimer.Interval = 1000; - _cursorTimer.Tick += new EventHandler(_cursorTimer_Tick);*/ } - //Timer _cursorTimer; - WindowHandle _lastHandle; WindowManager _manager = new WindowManager(WindowManager.EnumerationMode.TaskWindows); @@ -68,6 +64,12 @@ namespace OnTopReplica { } } + public WindowHandle LastWindowHandle { + get { + return _lastHandle; + } + } + #region Event handling public event EventHandler CloseRequest; @@ -80,43 +82,6 @@ namespace OnTopReplica { }); } - /*protected override void OnActivated(EventArgs e) { - _cursorTimer.Start(); - - base.OnActivated(e); - } - - protected override void OnDeactivate(EventArgs e) { - Cursor.Show(); - _cursorTimer.Stop(); - - base.OnDeactivate(e); - } - - Point? _lastPos = null; - - protected override void OnMouseMove(MouseEventArgs e) { - if (_lastPos.HasValue) { - int distance = 0; - distance += Math.Abs(_lastPos.Value.X - e.X); - distance += Math.Abs(_lastPos.Value.Y - e.Y); - - if (distance > 8) { - Cursor.Show(); - _cursorTimer.Start(); - } - } - - _lastPos = e.Location; - - base.OnMouseMove(e); - } - - void _cursorTimer_Tick(object sender, EventArgs e) { - Cursor.Hide(); - _cursorTimer.Stop(); - }*/ - protected override void OnDoubleClick(EventArgs e) { OnCloseRequest(); @@ -136,44 +101,49 @@ namespace OnTopReplica { base.OnKeyUp(e); } - #endregion + protected override void OnClosing(CancelEventArgs e) { + base.OnClosing(e); - #region Click through - - bool _clickThrough = false; - - public bool ClickThrough { - get { - return _clickThrough; - } - set { - _clickThrough = value; - - this.TransparencyKey = (value) ? Color.Black : Color.White; - this.Invalidate(); - } + //Never close + OnCloseRequest(); + e.Cancel = true; } - const int WM_NCHITTEST = 0x0084; - const int HTTRANSPARENT = -1; + protected override void OnActivated(EventArgs e) { + base.OnActivated(e); - protected override void WndProc(ref Message m) { - if (_clickThrough && m.Msg == WM_NCHITTEST) { - m.Result = new IntPtr(HTTRANSPARENT); - return; + //Disable "click through" on show: this prevents case in which the user + //cannot return to standard mode closing and re-opening the fullscreen mode + if (Mode == FullscreenMode.ClickThrough) + Mode = (Settings.Default.FullscreenAlwaysOnTop) ? FullscreenMode.AlwaysOnTop : FullscreenMode.Normal; + } + + #endregion + + #region Mode + + FullscreenMode _mode; + + public FullscreenMode Mode { + get { + return _mode; } + set { + _mode = value; + Settings.Default.FullscreenAlwaysOnTop = (value != FullscreenMode.Normal); - base.WndProc(ref m); + //Top most if always on top or click through + this.TopMost = (value != FullscreenMode.Normal); + this.TransparencyKey = (value == FullscreenMode.ClickThrough) ? Color.Black : Color.White; + + this.Invalidate(); + } } #endregion #region Menus - private void Menu_opening(object sender, CancelEventArgs e) { - alwaysOnTopToolStripMenuItem.Checked = Settings.Default.FullscreenAlwaysOnTop; - } - private void Menu_Windows_opening(object sender, EventArgs e) { _manager.Refresh(WindowManager.EnumerationMode.TaskWindows); @@ -211,10 +181,48 @@ namespace OnTopReplica { } } - private void Menu_AlwaysOnTop_click(object sender, EventArgs e) { - //Switch topmost behavior and store - this.TopMost = Settings.Default.FullscreenAlwaysOnTop - = !Settings.Default.FullscreenAlwaysOnTop; + private void Menu_Mode_opening(object sender, EventArgs e) { + menuModeStandard.Checked = (Mode == FullscreenMode.Normal); + menuModeOnTop.Checked = (Mode == FullscreenMode.AlwaysOnTop); + menuModeClickThrough.Checked = (Mode == FullscreenMode.ClickThrough); + } + + private void Menu_Mode_standard(object sender, EventArgs e) { + Mode = FullscreenMode.Normal; + } + + private void Menu_Mode_ontop(object sender, EventArgs e) { + Mode = FullscreenMode.AlwaysOnTop; + } + + private void Menu_Mode_clickthrough(object sender, EventArgs e) { + if (!CheckFirstTimeClickThrough()) + return; + + Mode = FullscreenMode.ClickThrough; + } + + private void Menu_Opacity_100(object sender, EventArgs e) { + this.Opacity = 1.0; + } + + private void Menu_Opacity_75(object sender, EventArgs e) { + this.Opacity = 0.75; + } + + private void Menu_Opacity_50(object sender, EventArgs e) { + this.Opacity = 0.5; + } + + private void Menu_Opacity_25(object sender, EventArgs e) { + this.Opacity = 0.25; + } + + private void Menu_Opacity_opening(object sender, EventArgs e) { + menuOpacity100.Checked = (Opacity == 1.0); + menuOpacity75.Checked = (Opacity == 0.75); + menuOpacity50.Checked = (Opacity == 0.5); + menuOpacity25.Checked = (Opacity == 0.25); } private void Menu_Quit_click(object sender, EventArgs e) { @@ -223,6 +231,31 @@ namespace OnTopReplica { #endregion + /// Check if the user uses click-through for the first time and asks confirmation. + /// Returns whether to switch to click through mode or not. + private bool CheckFirstTimeClickThrough() { + if (Settings.Default.FirstTimeClickThrough) { + //Alert the user about click through + TaskDialog dlg = new TaskDialog(Strings.InfoClickThrough, Strings.InfoClickThroughTitle, Strings.InfoClickThroughInformation); + dlg.CommonIcon = TaskDialogIcon.Information; + dlg.ExpandedControlText = Strings.ErrorDetailButton; + dlg.ExpandedInformation = Strings.InfoClickThroughDetails; + dlg.UseCommandLinks = true; + dlg.CustomButtons = new CustomButton[] { + new CustomButton(Result.Yes, Strings.InfoClickThroughOk), + new CustomButton(Result.No, Strings.InfoClickThroughNo) + }; + + var result = dlg.Show(this); + return result.CommonButton == Result.Yes; + + //Settings.Default.ClickThrough = (dlg.Show(this).CommonButton == Result.Yes); + } + + Settings.Default.FirstTimeClickThrough = false; + return true; + } + } } diff --git a/OnTopReplica/FullscreenMode.cs b/OnTopReplica/FullscreenMode.cs new file mode 100644 index 0000000..7f98b88 --- /dev/null +++ b/OnTopReplica/FullscreenMode.cs @@ -0,0 +1,11 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica { + enum FullscreenMode { + Normal, + AlwaysOnTop, + ClickThrough + } +} diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index d1a59ad..fdc274a 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -50,7 +50,6 @@ this.quarterToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); this.fullscreenToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.clickThroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.dockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.topLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.topRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -171,7 +170,7 @@ this.menuOpacity.OwnerItem = this.menuContextOpacity; this.menuOpacity.ShowCheckMargin = true; this.menuOpacity.ShowImageMargin = false; - this.menuOpacity.Size = new System.Drawing.Size(154, 120); + this.menuOpacity.Size = new System.Drawing.Size(154, 142); this.menuOpacity.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Opacity_opening); // // toolStripMenuItem1 @@ -180,7 +179,7 @@ this.toolStripMenuItem1.CheckState = System.Windows.Forms.CheckState.Checked; this.toolStripMenuItem1.Name = "toolStripMenuItem1"; this.toolStripMenuItem1.Size = new System.Drawing.Size(153, 22); - this.toolStripMenuItem1.Tag = 255; + this.toolStripMenuItem1.Tag = 1.0; this.toolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuOp100; this.toolStripMenuItem1.ToolTipText = global::OnTopReplica.Strings.MenuOp100TT; this.toolStripMenuItem1.Click += new System.EventHandler(this.Menu_Opacity_click); @@ -189,7 +188,7 @@ // this.toolStripMenuItem2.Name = "toolStripMenuItem2"; this.toolStripMenuItem2.Size = new System.Drawing.Size(153, 22); - this.toolStripMenuItem2.Tag = 190; + this.toolStripMenuItem2.Tag = 0.75; this.toolStripMenuItem2.Text = global::OnTopReplica.Strings.MenuOp75; this.toolStripMenuItem2.ToolTipText = global::OnTopReplica.Strings.MenuOp75TT; this.toolStripMenuItem2.Click += new System.EventHandler(this.Menu_Opacity_click); @@ -198,7 +197,7 @@ // this.toolStripMenuItem3.Name = "toolStripMenuItem3"; this.toolStripMenuItem3.Size = new System.Drawing.Size(153, 22); - this.toolStripMenuItem3.Tag = 128; + this.toolStripMenuItem3.Tag = 0.5; this.toolStripMenuItem3.Text = global::OnTopReplica.Strings.MenuOp50; this.toolStripMenuItem3.ToolTipText = global::OnTopReplica.Strings.MenuOp50TT; this.toolStripMenuItem3.Click += new System.EventHandler(this.Menu_Opacity_click); @@ -207,7 +206,7 @@ // this.toolStripMenuItem4.Name = "toolStripMenuItem4"; this.toolStripMenuItem4.Size = new System.Drawing.Size(153, 22); - this.toolStripMenuItem4.Tag = 64; + this.toolStripMenuItem4.Tag = 0.25; this.toolStripMenuItem4.Text = global::OnTopReplica.Strings.MenuOp25; this.toolStripMenuItem4.ToolTipText = global::OnTopReplica.Strings.MenuOp25TT; this.toolStripMenuItem4.Click += new System.EventHandler(this.Menu_Opacity_click); @@ -243,11 +242,9 @@ this.halfToolStripMenuItem1, this.quarterToolStripMenuItem1, this.toolStripSeparator3, - this.fullscreenToolStripMenuItem1, - this.clickThroughToolStripMenuItem}); + this.fullscreenToolStripMenuItem1}); this.menuResize.Name = "menuResize"; - this.menuResize.OwnerItem = this.resizeToolStripMenuItem; - this.menuResize.Size = new System.Drawing.Size(165, 164); + this.menuResize.Size = new System.Drawing.Size(165, 120); this.menuResize.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Resize_opening); // // doubleToolStripMenuItem1 @@ -290,16 +287,6 @@ this.fullscreenToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitFullscreen; this.fullscreenToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Fullscreen); // - // clickThroughToolStripMenuItem - // - this.clickThroughToolStripMenuItem.Checked = true; - this.clickThroughToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; - this.clickThroughToolStripMenuItem.Name = "clickThroughToolStripMenuItem"; - this.clickThroughToolStripMenuItem.Size = new System.Drawing.Size(164, 22); - this.clickThroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResizeClickThrough; - this.clickThroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuResizeClickThroughTT; - this.clickThroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_Resize_ClickThrough); - // // dockToolStripMenuItem // this.dockToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -530,8 +517,7 @@ private System.Windows.Forms.ToolStripMenuItem halfToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem quarterToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem fullscreenToolStripMenuItem1; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; - private System.Windows.Forms.ToolStripMenuItem clickThroughToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; private System.Windows.Forms.ToolStripMenuItem forwardClicksToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem languageToolStripMenuItem; private System.Windows.Forms.ContextMenuStrip menuLanguages; diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index d57197b..44b4584 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -11,7 +11,6 @@ namespace OnTopReplica public partial class MainForm : AspectRatioForm { //Visualization status - byte _lastOpacity = 255; bool _clickForwarding = false; //GUI @@ -80,13 +79,7 @@ namespace OnTopReplica void FullscreenForm_CloseRequest(object sender, CloseRequestEventArgs e) { if (_isFullscreen) { - var regionContainer = (e.LastRegion != null) ? - new StoredRegion { Rect = e.LastRegion.Value } : null; - - //Update handle to match the one selected in fullscreen mode - ThumbnailSet(e.LastWindowHandle, regionContainer); - - ToggleFullscreen(); + ToggleFullscreen(); } } @@ -320,6 +313,7 @@ namespace OnTopReplica Size = MinimumSize; Show(); + _fullscreenForm.Hide(); } } @@ -458,7 +452,7 @@ namespace OnTopReplica }; foreach (ToolStripMenuItem i in items) { - if ((int)i.Tag == _lastOpacity) + if ((double)i.Tag == this.Opacity) i.Checked = true; else i.Checked = false; @@ -474,13 +468,7 @@ namespace OnTopReplica if (tsi != null) { //Get opacity from the tag - int op = (int)tsi.Tag; - - //Store new opacity - _lastOpacity = (byte)op; - - //Set the window's opacity - this.Opacity = (double)op / 255.0; + this.Opacity = (double)tsi.Tag; } } @@ -496,9 +484,7 @@ namespace OnTopReplica if (!_thumbnailPanel.IsShowingThumbnail) e.Cancel = true; - //autofitOnResizeToolStripMenuItem.Checked = Settings.Default.AutoFitOnResize; recallLastPositionAndSizeToolStripMenuItem.Checked = Settings.Default.StoreWindowPosition; - clickThroughToolStripMenuItem.Checked = Settings.Default.ClickThrough; } private void Menu_Resize_Double(object sender, EventArgs e) { @@ -521,14 +507,6 @@ namespace OnTopReplica ToggleFullscreen(); } - private void Menu_Resize_ClickThrough(object sender, EventArgs e) { - Settings.Default.ClickThrough = !Settings.Default.ClickThrough; - } - - /*private void Menu_Resize_Autofit_click(object sender, EventArgs e) { - Settings.Default.AutoFitOnResize = !Settings.Default.AutoFitOnResize; - }*/ - private void Menu_Position_Recall_click(object sender, EventArgs e) { Settings.Default.StoreWindowPosition = !Settings.Default.StoreWindowPosition; } @@ -660,9 +638,22 @@ namespace OnTopReplica private void ToggleFullscreen() { if (_isFullscreen) { - _fullscreenForm.Visible = false; + //Update thumbnail + if (_fullscreenForm.LastWindowHandle != null) { + StoredRegion region = null; + if(_fullscreenForm.ShowRegion) + region = new StoredRegion { Rect = _fullscreenForm.ShownRegion }; - this.Visible = true; + ThumbnailSet(_fullscreenForm.LastWindowHandle, region); + } + else + ThumbnailUnset(); + + //Update properties + this.Opacity = _fullscreenForm.Opacity; + + _fullscreenForm.Hide(); + this.Show(); } else { if (_lastWindowHandle == null) { @@ -670,44 +661,18 @@ namespace OnTopReplica return; } - CheckFirstTimeClickThrough(); - _fullscreenForm.DisplayFullscreen(Screen.FromControl(this), _lastWindowHandle); _fullscreenForm.ShownRegion = _thumbnailPanel.ShownRegion; _fullscreenForm.ShowRegion = _thumbnailPanel.ShowRegion; _fullscreenForm.Opacity = this.Opacity; - //Enable click through if it is enabled and opacity is less than 255 (opaque) - _fullscreenForm.ClickThrough = (Settings.Default.ClickThrough && _lastOpacity < 255); - - _fullscreenForm.Visible = true; - - this.Visible = false; + _fullscreenForm.Show(); + this.Hide(); } _isFullscreen = !_isFullscreen; } - /// Check if the user uses click-through for the first time and asks confirmation. - private void CheckFirstTimeClickThrough() { - if (Settings.Default.FirstTimeClickThrough && _lastOpacity < 255) { - //Alert the user about click through - TaskDialog dlg = new TaskDialog(Strings.InfoClickThrough, Strings.InfoClickThroughTitle, Strings.InfoClickThroughInformation); - dlg.CommonIcon = TaskDialogIcon.Information; - dlg.ExpandedControlText = Strings.ErrorDetailButton; - dlg.ExpandedInformation = Strings.InfoClickThroughDetails; - dlg.UseCommandLinks = true; - dlg.CustomButtons = new CustomButton[] { - new CustomButton(Result.Yes, Strings.InfoClickThroughOk), - new CustomButton(Result.No, Strings.InfoClickThroughNo) - }; - - Settings.Default.ClickThrough = (dlg.Show(this).CommonButton == Result.Yes); - } - - Settings.Default.FirstTimeClickThrough = false; - } - #endregion #region Thumbnail operation diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 231c035..ac443cb 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -49,8 +49,8 @@ true publish.htm false - 2 - 2.8.2.%2a + 1 + 2.9.0.%2a false true true @@ -106,6 +106,7 @@ + Strings.it.resx True diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs index 8328d89..574aa9b 100644 --- a/OnTopReplica/Properties/AssemblyInfo.cs +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.8.2.0")] -[assembly: AssemblyFileVersion("2.8.2.0")] +[assembly: AssemblyVersion("2.9.0.0")] +[assembly: AssemblyFileVersion("2.9.0.0")] From 080f300ea6f716db1afaa180e49610628569c410 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 21 Jan 2010 19:17:39 +0000 Subject: [PATCH 012/164] Fullscreen form localization updated. --- OnTopReplica/FullscreenForm.Designer.cs | 25 +++++++---- OnTopReplica/Strings.Designer.cs | 60 +++++++++++++++++++++++-- OnTopReplica/Strings.it.resx | 24 ++++++++-- OnTopReplica/Strings.resx | 24 ++++++++-- 4 files changed, 115 insertions(+), 18 deletions(-) diff --git a/OnTopReplica/FullscreenForm.Designer.cs b/OnTopReplica/FullscreenForm.Designer.cs index 977a044..52aac43 100644 --- a/OnTopReplica/FullscreenForm.Designer.cs +++ b/OnTopReplica/FullscreenForm.Designer.cs @@ -86,28 +86,31 @@ this.menuModeClickThrough}); this.modeToolStripMenuItem.Name = "modeToolStripMenuItem"; this.modeToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.modeToolStripMenuItem.Text = "Mode"; + this.modeToolStripMenuItem.Text = Strings.FullscreenMode; this.modeToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Mode_opening); // // menuModeStandard // this.menuModeStandard.Name = "menuModeStandard"; this.menuModeStandard.Size = new System.Drawing.Size(152, 22); - this.menuModeStandard.Text = "Standard"; + this.menuModeStandard.Text = Strings.FullscreenModeNormal; + this.menuModeStandard.ToolTipText = Strings.FullscreenModeNormalTT; this.menuModeStandard.Click += new System.EventHandler(this.Menu_Mode_standard); // // menuModeOnTop // this.menuModeOnTop.Name = "menuModeOnTop"; this.menuModeOnTop.Size = new System.Drawing.Size(152, 22); - this.menuModeOnTop.Text = "Always on top"; + this.menuModeOnTop.Text = Strings.FullscreenModeAlwaysOnTop; + this.menuModeOnTop.ToolTipText = Strings.FullscreenModeAlwaysOnTopTT; this.menuModeOnTop.Click += new System.EventHandler(this.Menu_Mode_ontop); // // menuModeClickThrough // this.menuModeClickThrough.Name = "menuModeClickThrough"; this.menuModeClickThrough.Size = new System.Drawing.Size(152, 22); - this.menuModeClickThrough.Text = "Click through"; + this.menuModeClickThrough.Text = Strings.FullscreenModeClickThrough; + this.menuModeClickThrough.ToolTipText = Strings.FullscreenModeClickThroughTT; this.menuModeClickThrough.Click += new System.EventHandler(this.Menu_Mode_clickthrough); // // opacityToolStripMenuItem @@ -120,35 +123,39 @@ this.opacityToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity16; this.opacityToolStripMenuItem.Name = "opacityToolStripMenuItem"; this.opacityToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.opacityToolStripMenuItem.Text = "Opacity"; + this.opacityToolStripMenuItem.Text = Strings.MenuOpacity; this.opacityToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Opacity_opening); // // menuOpacity100 // this.menuOpacity100.Name = "menuOpacity100"; this.menuOpacity100.Size = new System.Drawing.Size(153, 22); - this.menuOpacity100.Text = "100% (opaque)"; + this.menuOpacity100.Text = Strings.MenuOp100; + this.menuOpacity100.ToolTipText = Strings.MenuOp100TT; this.menuOpacity100.Click += new System.EventHandler(this.Menu_Opacity_100); // // menuOpacity75 // this.menuOpacity75.Name = "menuOpacity75"; this.menuOpacity75.Size = new System.Drawing.Size(153, 22); - this.menuOpacity75.Text = "75%"; + this.menuOpacity75.Text = Strings.MenuOp75; + this.menuOpacity75.ToolTipText = Strings.MenuOp75TT; this.menuOpacity75.Click += new System.EventHandler(this.Menu_Opacity_75); // // menuOpacity50 // this.menuOpacity50.Name = "menuOpacity50"; this.menuOpacity50.Size = new System.Drawing.Size(153, 22); - this.menuOpacity50.Text = "50%"; + this.menuOpacity50.Text = Strings.MenuOp50; + this.menuOpacity50.ToolTipText = Strings.MenuOp50TT; this.menuOpacity50.Click += new System.EventHandler(this.Menu_Opacity_50); // // menuOpacity25 // this.menuOpacity25.Name = "menuOpacity25"; this.menuOpacity25.Size = new System.Drawing.Size(153, 22); - this.menuOpacity25.Text = "25%"; + this.menuOpacity25.Text = Strings.MenuOp25; + this.menuOpacity25.ToolTipText = Strings.MenuOp25TT; this.menuOpacity25.Click += new System.EventHandler(this.Menu_Opacity_25); // // quitFullscreenModeToolStripMenuItem diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs index 390311d..7c39bb5 100644 --- a/OnTopReplica/Strings.Designer.cs +++ b/OnTopReplica/Strings.Designer.cs @@ -445,11 +445,65 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Keep always on top. + /// Looks up a localized string similar to Mode. /// - internal static string FullscreenAlwaysOnTop { + internal static string FullscreenMode { get { - return ResourceManager.GetString("FullscreenAlwaysOnTop", resourceCulture); + return ResourceManager.GetString("FullscreenMode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Always on top. + /// + internal static string FullscreenModeAlwaysOnTop { + get { + return ResourceManager.GetString("FullscreenModeAlwaysOnTop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Forces OnTopReplica to stay always on top.. + /// + internal static string FullscreenModeAlwaysOnTopTT { + get { + return ResourceManager.GetString("FullscreenModeAlwaysOnTopTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click through. + /// + internal static string FullscreenModeClickThrough { + get { + return ResourceManager.GetString("FullscreenModeClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.. + /// + internal static string FullscreenModeClickThroughTT { + get { + return ResourceManager.GetString("FullscreenModeClickThroughTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Standard. + /// + internal static string FullscreenModeNormal { + get { + return ResourceManager.GetString("FullscreenModeNormal", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Behaves like an ordinary window. You can bring other windows above OnTopReplica.. + /// + internal static string FullscreenModeNormalTT { + get { + return ResourceManager.GetString("FullscreenModeNormalTT", resourceCulture); } } diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx index d9793dd..d187733 100644 --- a/OnTopReplica/Strings.it.resx +++ b/OnTopReplica/Strings.it.resx @@ -531,10 +531,28 @@ a:hover { - intera - - - Mantieni in primo piano - OnTopReplica a pieno schermo + + Modalità + + + Sempre in cima + + + OnTopReplica sarà sempre la finestra sopra a tutte le altre. + + + Click through + + + OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. + + + Normale + + + Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx index 077c8c4..2e7661e 100644 --- a/OnTopReplica/Strings.resx +++ b/OnTopReplica/Strings.resx @@ -531,10 +531,28 @@ a:hover { - whole - - - Keep always on top - OnTopReplica fullscreen + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + \ No newline at end of file From d43dda7aba7f680db56c5e0821baff6c558d245d Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 27 Jan 2010 22:16:41 +0100 Subject: [PATCH 013/164] First mercurial commit. Some updated in strings and localization. --- .hgignore | 3 +++ OnTopReplica/FullscreenForm.Designer.cs | 2 +- OnTopReplica/MainForm.Designer.cs | 3 ++- OnTopReplica/Strings.Designer.cs | 22 ++++++++++++++++++++-- OnTopReplica/Strings.it.resx | 6 ++++++ OnTopReplica/Strings.resx | 10 ++++++++-- 6 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 .hgignore diff --git a/.hgignore b/.hgignore new file mode 100644 index 0000000..616576d --- /dev/null +++ b/.hgignore @@ -0,0 +1,3 @@ +glob:OnTopReplica.suo +glob:bin/* +glob:obj/* diff --git a/OnTopReplica/FullscreenForm.Designer.cs b/OnTopReplica/FullscreenForm.Designer.cs index 52aac43..4e472dc 100644 --- a/OnTopReplica/FullscreenForm.Designer.cs +++ b/OnTopReplica/FullscreenForm.Designer.cs @@ -193,7 +193,7 @@ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "FullscreenForm"; - this.Text = "OnTopReplica fullscreen"; + this.Text = Strings.FullscreenTitle; this.menuContext.ResumeLayout(false); this.menuWindows.ResumeLayout(false); this.ResumeLayout(false); diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index fdc274a..96952e0 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -351,7 +351,8 @@ // this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem"; this.chromeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); - this.chromeToolStripMenuItem.Text = "Chrome"; + this.chromeToolStripMenuItem.Text = Strings.MenuChrome; + this.chromeToolStripMenuItem.ToolTipText = Strings.MenuChromeTT; this.chromeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Chrome_click); // // reduceToIconToolStripMenuItem diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs index 7c39bb5..260444d 100644 --- a/OnTopReplica/Strings.Designer.cs +++ b/OnTopReplica/Strings.Designer.cs @@ -701,6 +701,24 @@ namespace OnTopReplica { } } + /// + /// Looks up a localized string similar to Chrome. + /// + internal static string MenuChrome { + get { + return ResourceManager.GetString("MenuChrome", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles the display of the window chrome.. + /// + internal static string MenuChromeTT { + get { + return ResourceManager.GetString("MenuChromeTT", resourceCulture); + } + } + /// /// Looks up a localized string similar to Click forwarding. /// @@ -981,7 +999,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Reduce to icon. + /// Looks up a localized string similar to Minimize to tray. /// internal static string MenuReduce { get { @@ -990,7 +1008,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Reduces OnTopReplica to the icon in the tray.. + /// Looks up a localized string similar to Reduces OnTopReplica to an icon in the tray.. /// internal static string MenuReduceTT { get { diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx index d187733..41fa4bf 100644 --- a/OnTopReplica/Strings.it.resx +++ b/OnTopReplica/Strings.it.resx @@ -555,4 +555,10 @@ a:hover { Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. + + Bordo + + + Abilita o disabilita il bordo della finestra. + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx index 2e7661e..89f46d3 100644 --- a/OnTopReplica/Strings.resx +++ b/OnTopReplica/Strings.resx @@ -281,10 +281,10 @@ You must run this application on Windows Vista Home Premium or better. Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. - Reduce to icon + Minimize to tray - Reduces OnTopReplica to the icon in the tray. + Reduces OnTopReplica to an icon in the tray. Select region... @@ -555,4 +555,10 @@ a:hover { Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + Chrome + + + Toggles the display of the window chrome. + \ No newline at end of file From 95d4a9bd1d0897b8d8f84aefc61ae35bd9666ffa Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Fri, 5 Feb 2010 02:07:19 +0100 Subject: [PATCH 014/164] Fixed many resizing details. AspectRatioForm refreshes size correctly. ThumbnailPanel now takes all available space and trims on bottom if needed. --- .hgignore | 1 + OnTopReplica/AspectRatioForm.cs | 16 ++++++++-------- OnTopReplica/MainForm.Designer.cs | 11 ++++++----- OnTopReplica/MainForm.cs | 9 ++++----- OnTopReplica/OnTopReplica.csproj | 4 ++-- OnTopReplica/Properties/AssemblyInfo.cs | 4 ++-- OnTopReplica/ThumbnailPanel.cs | 16 +++++++++------- 7 files changed, 32 insertions(+), 29 deletions(-) diff --git a/.hgignore b/.hgignore index 616576d..b4fa552 100644 --- a/.hgignore +++ b/.hgignore @@ -1,3 +1,4 @@ glob:OnTopReplica.suo glob:bin/* glob:obj/* +glob:publish/* diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs index b5c0801..66bf5b1 100644 --- a/OnTopReplica/AspectRatioForm.cs +++ b/OnTopReplica/AspectRatioForm.cs @@ -47,7 +47,7 @@ namespace OnTopReplica { /// Forces the form to update its height based on the current aspect ratio setting. /// public void RefreshAspectRatio() { - this.Height = (int)(this.Width / AspectRatio); + ClientSize = new Size(ClientSize.Width, (int)(ClientSize.Width / AspectRatio)); } /// @@ -55,7 +55,7 @@ namespace OnTopReplica { /// public void SetAspectRatio(Size aspectRatioSource) { _keepAspectRatio = true; //set without updating - AspectRatio = (aspectRatioSource.Width / (double)aspectRatioSource.Height); + AspectRatio = ((double)aspectRatioSource.Width / (double)aspectRatioSource.Height); RefreshAspectRatio(); } @@ -70,7 +70,7 @@ namespace OnTopReplica { if (res == NativeMethods.WMSZ_LEFT || res == NativeMethods.WMSZ_RIGHT) { //Left or right resize -> adjust height (bottom) - int targetHeight = (int)(this.Width / AspectRatio); + int targetHeight = (int)Math.Ceiling(this.Width / AspectRatio); int originalHeight = rc.Bottom - rc.Top; int diffHeight = originalHeight - targetHeight; @@ -79,7 +79,7 @@ namespace OnTopReplica { } else if (res == NativeMethods.WMSZ_TOP || res == NativeMethods.WMSZ_BOTTOM) { //Up or down resize -> adjust width (right) - int targetWidth = (int)(this.Height * AspectRatio); + int targetWidth = (int)Math.Ceiling(this.Height * AspectRatio); int originalWidth = rc.Right - rc.Left; int diffWidth = originalWidth - targetWidth; @@ -88,19 +88,19 @@ namespace OnTopReplica { } else if (res == NativeMethods.WMSZ_RIGHT + NativeMethods.WMSZ_BOTTOM) { //Lower-right corner resize -> adjust height (could have been width) - rc.Bottom = rc.Top + (int)(this.Width / AspectRatio); + rc.Bottom = rc.Top + (int)Math.Ceiling(this.Width / AspectRatio); } else if (res == NativeMethods.WMSZ_LEFT + NativeMethods.WMSZ_BOTTOM) { //Lower-left corner resize -> adjust height (could have been width) - rc.Bottom = rc.Top + (int)(this.Width / AspectRatio); + rc.Bottom = rc.Top + (int)Math.Ceiling(this.Width / AspectRatio); } else if (res == NativeMethods.WMSZ_LEFT + NativeMethods.WMSZ_TOP) { //Upper-left corner -> adjust width (could have been height) - rc.Left = rc.Right - (int)(this.Height * AspectRatio); + rc.Left = rc.Right - (int)Math.Ceiling(this.Height * AspectRatio); } else if (res == NativeMethods.WMSZ_RIGHT + NativeMethods.WMSZ_TOP) { //Upper-right corner -> adjust width (could have been height) - rc.Right = rc.Left + (int)(this.Height * AspectRatio); + rc.Right = rc.Left + (int)Math.Ceiling(this.Height * AspectRatio); } Marshal.StructureToPtr(rc, m.LParam, true); diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 96952e0..67dfd5e 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -95,7 +95,7 @@ this.aboutToolStripMenuItem, this.menuContextClose}); this.menuContext.Name = "menuContext"; - this.menuContext.Size = new System.Drawing.Size(169, 296); + this.menuContext.Size = new System.Drawing.Size(169, 274); this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); // // menuContextWindows @@ -170,7 +170,7 @@ this.menuOpacity.OwnerItem = this.menuContextOpacity; this.menuOpacity.ShowCheckMargin = true; this.menuOpacity.ShowImageMargin = false; - this.menuOpacity.Size = new System.Drawing.Size(154, 142); + this.menuOpacity.Size = new System.Drawing.Size(154, 120); this.menuOpacity.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Opacity_opening); // // toolStripMenuItem1 @@ -244,6 +244,7 @@ this.toolStripSeparator3, this.fullscreenToolStripMenuItem1}); this.menuResize.Name = "menuResize"; + this.menuResize.OwnerItem = this.resizeToolStripMenuItem; this.menuResize.Size = new System.Drawing.Size(165, 120); this.menuResize.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Resize_opening); // @@ -351,8 +352,8 @@ // this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem"; this.chromeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); - this.chromeToolStripMenuItem.Text = Strings.MenuChrome; - this.chromeToolStripMenuItem.ToolTipText = Strings.MenuChromeTT; + this.chromeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuChrome; + this.chromeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuChromeTT; this.chromeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Chrome_click); // // reduceToIconToolStripMenuItem @@ -524,7 +525,7 @@ private System.Windows.Forms.ContextMenuStrip menuLanguages; private System.Windows.Forms.ToolStripMenuItem englishToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem italianoToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem chromeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem chromeToolStripMenuItem; } } diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 44b4584..8d6df36 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -105,10 +105,6 @@ namespace OnTopReplica RegionBoxShowing = false; } - void Thumbnail_IdealSizeChange(object sender, Size e) { - ClientSize = e; - } - #endregion #region Side "Region box" events @@ -225,7 +221,6 @@ namespace OnTopReplica //Do some checks in order to verify the presence of desktop composition if (!VistaControls.OsSupport.IsVistaOrBetter) { MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); - this.Close(); return; @@ -325,6 +320,10 @@ namespace OnTopReplica #region Menu Event Handling + private void Close_click(object sender, EventArgs e) { + this.Close(); + } + private void Menu_opening(object sender, CancelEventArgs e) { //Cancel if currently "fullscreen" mode if (_isFullscreen) { diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index ac443cb..c222060 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -49,8 +49,8 @@ true publish.htm false - 1 - 2.9.0.%2a + 2 + 2.9.1.%2a false true true diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs index 574aa9b..6886f8d 100644 --- a/OnTopReplica/Properties/AssemblyInfo.cs +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.9.0.0")] -[assembly: AssemblyFileVersion("2.9.0.0")] +[assembly: AssemblyVersion("2.9.1.0")] +[assembly: AssemblyFileVersion("2.9.1.0")] diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs index 2f0b2f4..70160e5 100644 --- a/OnTopReplica/ThumbnailPanel.cs +++ b/OnTopReplica/ThumbnailPanel.cs @@ -71,7 +71,7 @@ namespace OnTopReplica { _glassMode = value; //Set correct backcolor: black if glass is on - BackColor = (value || _fullscreenMode) ? Color.Black : SystemColors.Control; + BackColor = (value || _fullscreenMode) ? Color.Black : SystemColors.Control; UpdateRightClickLabels(); } @@ -136,7 +136,7 @@ namespace OnTopReplica { private byte ThumbnailOpacity { get { - return (_drawMouseRegions) ? (byte)130 : (byte)255; + return (_drawMouseRegions) ? (byte)130 : (byte)255; } } @@ -204,15 +204,17 @@ namespace OnTopReplica { if (_thumbnail != null && !_thumbnail.IsInvalid){ try { Size sourceSize = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; + thumbnailSize = new Size(Size.Width, Size.Height * 2); //ComputeIdealSize(sourceSize, Size); - thumbnailSize = ComputeIdealSize(sourceSize, Size); - - padWidth = (Size.Width - thumbnailSize.Width) / 2; + /*padWidth = (Size.Width - thumbnailSize.Width) / 2; padHeight = (Size.Height - thumbnailSize.Height) / 2; - Rectangle target = new Rectangle(padWidth, padHeight, thumbnailSize.Width, thumbnailSize.Height); + Rectangle target = new Rectangle(padWidth, padHeight, thumbnailSize.Width, thumbnailSize.Height);*/ + var target = new Rectangle(0, 0, thumbnailSize.Width, thumbnailSize.Height); Rectangle source = (_regionEnabled) ? _regionCurrent : new Rectangle(Point.Empty, _thumbnail.SourceSize); + //Console.WriteLine("Source " + sourceSize.ToString() + ", Target " + Size.ToString() + ", Fit " + thumbnailSize.ToString() + ", Padding " + padWidth + "," + padHeight); + _thumbnail.Update(target, source, ThumbnailOpacity, true, true); } catch { @@ -225,7 +227,7 @@ namespace OnTopReplica { UpdateRightClickLabels(); } - /// Computes ideal size given an original size and a target to fit. + /// Computes ideal thumbnail size given an original size and a target to fit. /// Size of the original thumbnail. /// Size of the client area to fit. private Size ComputeIdealSize(Size sourceSize, Size clientSize) { From 5c47783de191abd9566ad7b888bdf29c574f9787 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Fri, 5 Feb 2010 03:51:42 +0100 Subject: [PATCH 015/164] Bug fix to recent changes: region selection works and aspect ratio is maintained correctly. --- OnTopReplica/AspectRatioForm.cs | 43 +++++++----- OnTopReplica/MainForm.Designer.cs | 2 +- OnTopReplica/MainForm.cs | 110 +++++++++++++++--------------- OnTopReplica/OnTopReplica.csproj | 2 +- OnTopReplica/ThumbnailPanel.cs | 11 +-- 5 files changed, 88 insertions(+), 80 deletions(-) diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs index 66bf5b1..7643eab 100644 --- a/OnTopReplica/AspectRatioForm.cs +++ b/OnTopReplica/AspectRatioForm.cs @@ -43,15 +43,30 @@ namespace OnTopReplica { } } + Padding _extraPadding; + public Padding ExtraPadding { + get { + return _extraPadding; + } + set { + _extraPadding = value; + + if(KeepAspectRatio) + RefreshAspectRatio(); + } + } + /// /// Forces the form to update its height based on the current aspect ratio setting. /// public void RefreshAspectRatio() { - ClientSize = new Size(ClientSize.Width, (int)(ClientSize.Width / AspectRatio)); + Console.WriteLine("Refreshing, size " + ClientSize.ToString() + " padding " + ExtraPadding.ToString()); + ClientSize = new Size(ClientSize.Width, + (int)((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical); } /// - /// Updates the aspect ratio of the form and refreshes it. + /// Updates the aspect ratio of the form and forces a refresh. /// public void SetAspectRatio(Size aspectRatioSource) { _keepAspectRatio = true; //set without updating @@ -70,7 +85,7 @@ namespace OnTopReplica { if (res == NativeMethods.WMSZ_LEFT || res == NativeMethods.WMSZ_RIGHT) { //Left or right resize -> adjust height (bottom) - int targetHeight = (int)Math.Ceiling(this.Width / AspectRatio); + int targetHeight = (int)Math.Ceiling((Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical; int originalHeight = rc.Bottom - rc.Top; int diffHeight = originalHeight - targetHeight; @@ -79,28 +94,20 @@ namespace OnTopReplica { } else if (res == NativeMethods.WMSZ_TOP || res == NativeMethods.WMSZ_BOTTOM) { //Up or down resize -> adjust width (right) - int targetWidth = (int)Math.Ceiling(this.Height * AspectRatio); + int targetWidth = (int)Math.Ceiling((Height - ExtraPadding.Vertical) * AspectRatio) + ExtraPadding.Horizontal; int originalWidth = rc.Right - rc.Left; int diffWidth = originalWidth - targetWidth; rc.Left += (diffWidth / 2); rc.Right = rc.Left + targetWidth; } - else if (res == NativeMethods.WMSZ_RIGHT + NativeMethods.WMSZ_BOTTOM) { - //Lower-right corner resize -> adjust height (could have been width) - rc.Bottom = rc.Top + (int)Math.Ceiling(this.Width / AspectRatio); + else if (res == NativeMethods.WMSZ_RIGHT + NativeMethods.WMSZ_BOTTOM || res == NativeMethods.WMSZ_LEFT + NativeMethods.WMSZ_BOTTOM) { + //Lower-right/left corner resize -> adjust height (could have been width) + rc.Bottom = rc.Top + (int)Math.Ceiling((Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical; } - else if (res == NativeMethods.WMSZ_LEFT + NativeMethods.WMSZ_BOTTOM) { - //Lower-left corner resize -> adjust height (could have been width) - rc.Bottom = rc.Top + (int)Math.Ceiling(this.Width / AspectRatio); - } - else if (res == NativeMethods.WMSZ_LEFT + NativeMethods.WMSZ_TOP) { - //Upper-left corner -> adjust width (could have been height) - rc.Left = rc.Right - (int)Math.Ceiling(this.Height * AspectRatio); - } - else if (res == NativeMethods.WMSZ_RIGHT + NativeMethods.WMSZ_TOP) { - //Upper-right corner -> adjust width (could have been height) - rc.Right = rc.Left + (int)Math.Ceiling(this.Height * AspectRatio); + else if (res == NativeMethods.WMSZ_LEFT + NativeMethods.WMSZ_TOP || res == NativeMethods.WMSZ_RIGHT + NativeMethods.WMSZ_TOP) { + //Upper-left/right corner -> adjust width (could have been height) + rc.Top = rc.Bottom - (int)Math.Ceiling((Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical; } Marshal.StructureToPtr(rc, m.LParam, true); diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 67dfd5e..676d4da 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -466,7 +466,7 @@ this.ControlBox = false; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MinimumSize = new System.Drawing.Size(39, 40); + this.MinimumSize = new System.Drawing.Size(200, 205); this.Name = "MainForm"; this.ShowInTaskbar = false; this.TopMost = true; diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 8d6df36..4ac98e0 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -40,6 +40,8 @@ namespace OnTopReplica public MainForm() { InitializeComponent(); + KeepAspectRatio = false; + //Thumbnail panel _thumbnailPanel = new ThumbnailPanel(Settings.Default.UseGlass); _thumbnailPanel.RegionDrawn += new ThumbnailPanel.RegionDrawnHandler(Thumbnail_RegionDrawn); @@ -85,6 +87,7 @@ namespace OnTopReplica void RegionBox_RegionChanged(object sender, Rectangle region) { _thumbnailPanel.ShownRegion = region; + SetAspectRatio(region.Size); } void RegionBox_RequestRegionReset(object sender, EventArgs e) { @@ -120,65 +123,55 @@ namespace OnTopReplica return _regionBoxShowing; } set { - if (_regionBoxShowing != value) { - _regionBoxShowing = value; + if (_regionBoxShowing != value) { + //Show box + _regionBoxShowing = value; + _regionBox.Visible = value; + _regionBox.Enabled = value; - //Show box - _regionBox.Visible = value; - _regionBox.Enabled = value; + //Disable dragging + HandleMouseMove = !value; - //Disable dragging - HandleMouseMove = !value; + //Enable region drawing on thumbnail + _thumbnailPanel.DrawMouseRegions = value; - //Enable region drawing on thumbnail - _thumbnailPanel.DrawMouseRegions = value; + //Pad form and resize it + ClientSize = new Size { + Width = ClientSize.Width + ((value) ? _regionBox.Width : -_regionBox.Width), + Height = Math.Max(ClientSize.Height, _regionBox.ClientSize.Height) + }; + ExtraPadding = (value) ? new Padding(0, 0, _regionBox.Width, 0) : new Padding(0); - //Resize and move to fit region panel - ClientSize = new Size { - Width = ClientSize.Width + ((value) ? _regionBox.Width : -_regionBox.Width), - Height = Math.Max(ClientSize.Height, _regionBox.ClientSize.Height) - }; - _thumbnailPanel.Size = new Size { - Width = (value) ? (ClientSize.Width - _regionBox.Width) : ClientSize.Width, - Height = ClientSize.Height - }; - _regionBox.Location = new Point { - X = (value) ? (ClientSize.Width - _regionBox.Width) : ClientSize.Width, - Y = 0 - }; + //Resize and move panels + _thumbnailPanel.Size = new Size { + Width = (value) ? (ClientSize.Width - _regionBox.Width) : ClientSize.Width, + Height = ClientSize.Height + }; + _regionBox.Location = new Point { + X = (value) ? (ClientSize.Width - _regionBox.Width) : ClientSize.Width, + Y = 0 + }; - //Disable aspect ratio keeping - KeepAspectRatio = !value; + //Check form boundaries and move form if necessary + if (value) { + var screenCurr = Screen.FromControl(this); + int pRight = Location.X + Size.Width + cWindowBoundary; + if (pRight >= screenCurr.Bounds.Width) { + _regionBoxPrevFormLocation = Location; + _regionBoxDidMoveForm = true; - //Set new glass margins - this.GlassMargins = (value) ? - new Margins(ClientSize.Width - _regionBox.Width, 0, 0, 0) : - new Margins(-1); - - //Check form boundaries and move form if necessary - if (value) { - var screenCurr = Screen.FromControl(this); - int pRight = Location.X + Size.Width + cWindowBoundary; - if (pRight >= screenCurr.Bounds.Width) { - _regionBoxPrevFormLocation = Location; - _regionBoxDidMoveForm = true; - - Location = new Point(screenCurr.WorkingArea.Width - Size.Width - cWindowBoundary, Location.Y); - } - else - _regionBoxDidMoveForm = false; - } - else { - if (_regionBoxDidMoveForm) { - Location = _regionBoxPrevFormLocation; - _regionBoxDidMoveForm = false; - } - - //Resize automatically on region box closing - /*if (Settings.Default.AutoFitOnResize) - FitToThumbnail();*/ - } - } + Location = new Point(screenCurr.WorkingArea.Width - Size.Width - cWindowBoundary, Location.Y); + } + else + _regionBoxDidMoveForm = false; + } + else { + if (_regionBoxDidMoveForm) { + Location = _regionBoxPrevFormLocation; + _regionBoxDidMoveForm = false; + } + } + } } } @@ -210,9 +203,16 @@ namespace OnTopReplica base.OnResizeBegin(e); //Update aspect ratio if needed - if (_thumbnailPanel.IsShowingThumbnail) { + /*if (_thumbnailPanel.IsShowingThumbnail) { SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize); - } + }*/ + } + + protected override void OnResize(EventArgs e) { + base.OnResize(e); + this.GlassMargins = (_regionBoxShowing) ? + new Margins(ClientSize.Width - _regionBox.Width, 0, 0, 0) : + new Margins(-1); } protected override void OnShown(EventArgs e) { diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index c222060..441580d 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -49,7 +49,7 @@ true publish.htm false - 2 + 3 2.9.1.%2a false true diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs index 70160e5..f594e6a 100644 --- a/OnTopReplica/ThumbnailPanel.cs +++ b/OnTopReplica/ThumbnailPanel.cs @@ -204,13 +204,14 @@ namespace OnTopReplica { if (_thumbnail != null && !_thumbnail.IsInvalid){ try { Size sourceSize = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; - thumbnailSize = new Size(Size.Width, Size.Height * 2); //ComputeIdealSize(sourceSize, Size); + thumbnailSize = ComputeIdealSize(sourceSize, Size); + padHeight = (Size.Height - thumbnailSize.Height) / 2; /*padWidth = (Size.Width - thumbnailSize.Width) / 2; padHeight = (Size.Height - thumbnailSize.Height) / 2; Rectangle target = new Rectangle(padWidth, padHeight, thumbnailSize.Width, thumbnailSize.Height);*/ - var target = new Rectangle(0, 0, thumbnailSize.Width, thumbnailSize.Height); + var target = new Rectangle(0, padHeight, thumbnailSize.Width, thumbnailSize.Height); Rectangle source = (_regionEnabled) ? _regionCurrent : new Rectangle(Point.Empty, _thumbnail.SourceSize); //Console.WriteLine("Source " + sourceSize.ToString() + ", Target " + Size.ToString() + ", Fit " + thumbnailSize.ToString() + ", Padding " + padWidth + "," + padHeight); @@ -235,10 +236,10 @@ namespace OnTopReplica { double clientRatio = (double)clientSize.Width / (double)clientSize.Height; Size ret; - if(sourceRatio >= clientRatio) + //if(sourceRatio >= clientRatio) ret = new Size(clientSize.Width, (int)((double)clientSize.Width / sourceRatio)); - else - ret = new Size((int)((double)clientSize.Height * sourceRatio), clientSize.Height); + /*else + ret = new Size((int)((double)clientSize.Height * sourceRatio), clientSize.Height);*/ return ret; } From a649deb174f915ecc2abf389a169a7dad313146c Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 9 Feb 2010 00:35:28 +0100 Subject: [PATCH 016/164] Aspect ratio keeping improved. Weird bug on "region box" removed. --- OnTopReplica/AspectRatioForm.cs | 15 +++++- OnTopReplica/Assets/about.html | 51 ------------------- OnTopReplica/MainForm.Designer.cs | 2 +- OnTopReplica/MainForm.cs | 2 + OnTopReplica/OnTopReplica.csproj | 5 +- OnTopReplica/Properties/AssemblyInfo.cs | 4 +- OnTopReplica/Properties/Resources.Designer.cs | 43 ---------------- OnTopReplica/Properties/Resources.resx | 3 -- OnTopReplica/Strings.Designer.cs | 4 +- OnTopReplica/Strings.it.resx | 2 +- OnTopReplica/Strings.resx | 2 +- 11 files changed, 24 insertions(+), 109 deletions(-) delete mode 100644 OnTopReplica/Assets/about.html diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs index 7643eab..a937ab6 100644 --- a/OnTopReplica/AspectRatioForm.cs +++ b/OnTopReplica/AspectRatioForm.cs @@ -60,7 +60,6 @@ namespace OnTopReplica { /// Forces the form to update its height based on the current aspect ratio setting. /// public void RefreshAspectRatio() { - Console.WriteLine("Refreshing, size " + ClientSize.ToString() + " padding " + ExtraPadding.ToString()); ClientSize = new Size(ClientSize.Width, (int)((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical); } @@ -74,8 +73,20 @@ namespace OnTopReplica { RefreshAspectRatio(); } + protected override void OnResizeEnd(EventArgs e) { + base.OnResizeEnd(e); + + //Ensure that the ClientSize of the form is always respected (not ensured by the WM_SIZING message alone) + if (KeepAspectRatio) { + //Since WM_SIZING already fixes up the size almost correctly, + //simply set the height to the correct value + var newHeight = (int)((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio + ExtraPadding.Vertical); + ClientSize = new Size(ClientSize.Width, newHeight); + } + } + /// - /// Override WM_SIZING message. + /// Override WM_SIZING message to restrict resizing. /// Taken from: http://www.vcskicks.com/maintain-aspect-ratio.php /// protected override void WndProc(ref Message m) { diff --git a/OnTopReplica/Assets/about.html b/OnTopReplica/Assets/about.html deleted file mode 100644 index 1018d95..0000000 --- a/OnTopReplica/Assets/about.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - -

License

- -

OnTopReplica is licensed under the Microsoft Reciprocal License (Ms-RL).

-

The original source code can be found on the project's homepage on CodePlex.

- -

Credits

- -

OnTopReplica was inspired by Switcher and other DWM based applications.

- -

All Vista controls are part of the WindowsFormsAero library for .NET.

- -

Some example code taken from Ookii on Channel9.

- -

NativeToolstripRenderer class taken from asztal.net.

- -

Some icons from VistaICO.com and the Xiao icon set.

- - - \ No newline at end of file diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 676d4da..6e8981c 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -466,7 +466,7 @@ this.ControlBox = false; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MinimumSize = new System.Drawing.Size(200, 205); + this.MinimumSize = new System.Drawing.Size(200, 210); this.Name = "MainForm"; this.ShowInTaskbar = false; this.TopMost = true; diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 4ac98e0..45d1a5a 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -92,6 +92,7 @@ namespace OnTopReplica void RegionBox_RequestRegionReset(object sender, EventArgs e) { _thumbnailPanel.ResetShownRegion(); + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize); } void Thumbnail_RegionDrawn(object sender, Rectangle region) { @@ -151,6 +152,7 @@ namespace OnTopReplica X = (value) ? (ClientSize.Width - _regionBox.Width) : ClientSize.Width, Y = 0 }; + _regionBox.Size = new Size(_regionBox.Width, ClientSize.Height); //Check form boundaries and move form if necessary if (value) { diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 441580d..02aaa6e 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -49,8 +49,8 @@ true publish.htm false - 3 - 2.9.1.%2a + 2 + 2.9.2.%2a false true true @@ -254,7 +254,6 @@ - diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs index 6886f8d..59b1ff9 100644 --- a/OnTopReplica/Properties/AssemblyInfo.cs +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.9.1.0")] -[assembly: AssemblyFileVersion("2.9.1.0")] +[assembly: AssemblyVersion("2.9.2.0")] +[assembly: AssemblyFileVersion("2.9.2.0")] diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs index 827df20..a83560d 100644 --- a/OnTopReplica/Properties/Resources.Designer.cs +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -60,49 +60,6 @@ namespace OnTopReplica.Properties { } } - /// - /// Looks up a localized string similar to <html> - /// <head> - /// <style type="text/css"> - ///body { - /// font-family: Segoe UI, Arial, sans-serif; - /// font-size: 0.8em; - /// margin: 0; - /// padding: 0.75em; - ///} - ///h1 { - /// font-size: 1.4em; - /// font-weight: bold; - /// - /// margin: 0 0 1em 0; - /// padding: 0; - ///} - ///p { - /// margin: 0.5em 0 0.5em 1em; - /// padding: 0; - ///} - ///a { - /// font-weight: bold; - /// color: blue; - ///} - ///a:hover { - /// color: red; - ///} - /// </style> - /// </head> - /// - /// <body> - /// - /// <h1>License</h1> - /// - /// <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/m [rest of string was truncated]";. - /// - internal static string about { - get { - return ResourceManager.GetString("about", resourceCulture); - } - } - internal static System.Drawing.Bitmap back { get { object obj = ResourceManager.GetObject("back", resourceCulture); diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx index 6e0e814..be33031 100644 --- a/OnTopReplica/Properties/Resources.resx +++ b/OnTopReplica/Properties/Resources.resx @@ -169,9 +169,6 @@ ..\Assets\pos_topright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Assets\about.html;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 - ..\Assets\window_border16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs index 260444d..a1682a0 100644 --- a/OnTopReplica/Strings.Designer.cs +++ b/OnTopReplica/Strings.Designer.cs @@ -110,7 +110,7 @@ namespace OnTopReplica { /// font-size: 1.4em; /// font-weight: bold; /// - /// margin: 0 0 1em 0; + /// margin: 1em 0 0.4em 0; /// padding: 0; ///} ///p { @@ -131,7 +131,7 @@ namespace OnTopReplica { /// /// <h1>License</h1> /// - /// <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms- [rest of string was truncated]";. + /// <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses [rest of string was truncated]";. /// internal static string AboutDetails { get { diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx index 41fa4bf..a3dbe1f 100644 --- a/OnTopReplica/Strings.it.resx +++ b/OnTopReplica/Strings.it.resx @@ -489,7 +489,7 @@ h1 { font-size: 1.4em; font-weight: bold; - margin: 0 0 1em 0; + margin: 1em 0 0.4em 0; padding: 0; } p { diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx index 89f46d3..437be69 100644 --- a/OnTopReplica/Strings.resx +++ b/OnTopReplica/Strings.resx @@ -489,7 +489,7 @@ h1 { font-size: 1.4em; font-weight: bold; - margin: 0 0 1em 0; + margin: 1em 0 0.4em 0; padding: 0; } p { From ee7f86b70431a5bab6a2b35596a85bd5b300d4e9 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 31 Mar 2010 20:17:08 +0200 Subject: [PATCH 017/164] Added Czech translation. Some code refactoring. --- .hgignore | 1 + OnTopReplica/AspectRatioForm.cs | 39 +- OnTopReplica/Assets/flag_czech.png | Bin 0 -> 241 bytes OnTopReplica/MainForm.Designer.cs | 14 +- OnTopReplica/MainForm.cs | 3 +- OnTopReplica/OnTopReplica.csproj | 2 + OnTopReplica/Properties/Resources.Designer.cs | 7 + OnTopReplica/Properties/Resources.resx | 3 + OnTopReplica/Strings.cs.resx | 571 ++++++++++++++++++ OnTopReplica/ThumbnailPanel.cs | 15 +- 10 files changed, 638 insertions(+), 17 deletions(-) create mode 100644 OnTopReplica/Assets/flag_czech.png create mode 100644 OnTopReplica/Strings.cs.resx diff --git a/.hgignore b/.hgignore index b4fa552..9d26cd9 100644 --- a/.hgignore +++ b/.hgignore @@ -2,3 +2,4 @@ glob:OnTopReplica.suo glob:bin/* glob:obj/* glob:publish/* +glob:OnTopReplica/Assets/Thumbs.db diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs index a937ab6..e8a94ed 100644 --- a/OnTopReplica/AspectRatioForm.cs +++ b/OnTopReplica/AspectRatioForm.cs @@ -60,8 +60,14 @@ namespace OnTopReplica { /// Forces the form to update its height based on the current aspect ratio setting. /// public void RefreshAspectRatio() { - ClientSize = new Size(ClientSize.Width, - (int)((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical); + int newWidth = ClientSize.Width; + int newHeight = (int)((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical; + if (newHeight < FromSizeToClientSize(MinimumSize).Height) { + newHeight = FromSizeToClientSize(MinimumSize).Height; + newWidth = (int)((newHeight - ExtraPadding.Vertical) * AspectRatio) + ExtraPadding.Horizontal; + } + + ClientSize = new Size(newWidth, newHeight); } /// @@ -127,6 +133,35 @@ namespace OnTopReplica { base.WndProc(ref m); } + #region ClientSize/Size conversion + + //bool clientSizeConversionSet = false; + int clientSizeConversionWidth, clientSizeConversionHeight; + + public Size FromClientSizeToSize(Size clientSize) { + return new Size(clientSize.Width + clientSizeConversionWidth, clientSize.Height + clientSizeConversionHeight); + } + + public Size FromSizeToClientSize(Size size) { + return new Size(size.Width - clientSizeConversionWidth, size.Height - clientSizeConversionHeight); + } + + /*private void ClientSizeInit() { + if (clientSizeConversionSet) + return; + + clientSizeConversionWidth = this.Size.Width - this.ClientSize.Width; + clientSizeConversionHeight = this.ClientSize.Width - this.ClientSize.Height; + }*/ + + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + clientSizeConversionWidth = this.Size.Width - this.ClientSize.Width; + clientSizeConversionHeight = this.Size.Height - this.ClientSize.Height; + } + + #endregion } diff --git a/OnTopReplica/Assets/flag_czech.png b/OnTopReplica/Assets/flag_czech.png new file mode 100644 index 0000000000000000000000000000000000000000..8308ed84ed70128030d13e6315cf7864c24d4e18 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ#}*A-ZN!DMTwp+jv*HQ$q5p_8V)aiYp>eCn8LvE|M%Zso#F><2Y8gOitsQyu<72b z?8+$KAmz}N{Xy!3v)iZt@}8=DB$hL_m>hay$fFRZ+{XCko-E7U?z06Oxc_;1O3t2amNsq%TE^h%>gTe~DWM4f&;U;T literal 0 HcmV?d00001 diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 6e8981c..dd68455 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -64,6 +64,7 @@ this.menuLanguages = new System.Windows.Forms.ContextMenuStrip(this.components); this.englishToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.italianoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.cestinaToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); this.menuIconContext = new System.Windows.Forms.ContextMenuStrip(this.components); @@ -381,7 +382,8 @@ // this.menuLanguages.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.englishToolStripMenuItem, - this.italianoToolStripMenuItem}); + this.italianoToolStripMenuItem, + this.cestinaToolStripMenuItem}); this.menuLanguages.Name = "menuLanguages"; this.menuLanguages.OwnerItem = this.languageToolStripMenuItem; this.menuLanguages.Size = new System.Drawing.Size(114, 48); @@ -404,6 +406,15 @@ this.italianoToolStripMenuItem.Text = "Italiano"; this.italianoToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); // + // cestinaToolStripMenuItem + // + this.cestinaToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_czech; + this.cestinaToolStripMenuItem.Name = "cestinaToolStripMenuItem"; + this.cestinaToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.cestinaToolStripMenuItem.Tag = "cs-CZ"; + this.cestinaToolStripMenuItem.Text = "Čeština"; + this.cestinaToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // // aboutToolStripMenuItem // this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; @@ -525,6 +536,7 @@ private System.Windows.Forms.ContextMenuStrip menuLanguages; private System.Windows.Forms.ToolStripMenuItem englishToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem italianoToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem cestinaToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem chromeToolStripMenuItem; } } diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 45d1a5a..20c6cd0 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -398,7 +398,7 @@ namespace OnTopReplica } void Menu_Windows_itemclick(object sender, EventArgs e) { - //Insure the menu is closed + //Ensure the menu is closed menuContext.Close(); //Get clicked item and window index from tag @@ -411,7 +411,6 @@ namespace OnTopReplica } var selectionData = (WindowListHelper.WindowSelectionData)tsi.Tag; - if (_windowManager != null) { ThumbnailSet(selectionData.Handle, selectionData.Region); } diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 02aaa6e..8a06eec 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -135,6 +135,7 @@ AboutForm.cs Designer + ResXFileCodeGenerator Strings.it.Designer.cs @@ -256,6 +257,7 @@ + diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs index a83560d..ca81e04 100644 --- a/OnTopReplica/Properties/Resources.Designer.cs +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -81,6 +81,13 @@ namespace OnTopReplica.Properties { } } + internal static System.Drawing.Bitmap flag_czech { + get { + object obj = ResourceManager.GetObject("flag_czech", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + internal static System.Drawing.Bitmap flag_ita { get { object obj = ResourceManager.GetObject("flag_ita", resourceCulture); diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx index be33031..bb9011d 100644 --- a/OnTopReplica/Properties/Resources.resx +++ b/OnTopReplica/Properties/Resources.resx @@ -193,4 +193,7 @@ ..\Assets\regions.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Assets\flag_czech.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/OnTopReplica/Strings.cs.resx b/OnTopReplica/Strings.cs.resx new file mode 100644 index 0000000..fa6c98a --- /dev/null +++ b/OnTopReplica/Strings.cs.resx @@ -0,0 +1,571 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OnTopReplica + + + Resetovat nastavení okna? + + + &Resetovat +Všechna nastavení budou ztracena. + + + Operace "Resetovat okno" je vhodná k inicializaci všech nastavení pokud jste například ztratili kontrolu nad oknem nebo jej přesunuli mimo viditelnou plochu obrazovky. + + + Resetovat + + + &Storno + + + Autor: Lorenz Cuno Klopfenstein. + + + Označte výřez pomocí myši. + + + Podrobnosti k Windows Aero + + + Windows Aero je k dispozici pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce 'Desktop Composition' není povolena. + + + Pro pokračování je nutné povolit funkci "Desktop Composition" výběrem tématu 'Windows Aero' v nastavení vzhledu Windows. + +Uvedené lze provést například kliknutním pravým tlačítkem myši na plochu a zvolením akce "Přizpůsobit". + + + Podrobnosti k chybě + + + Chyba: + + + Zvolené okno bylo zavřeno nebo již není platné z jiných důvodů. + + + Chyba + + + Funkce 'Desktop Composition' není ve vašem systému podporována. +Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce Desktop Composition není podporována + + + Nelze vytvořit náhled. + + + Nelze vložit okno. + + + Domácí stránka: www.codeplex.com/ontopreplica. + + + O aplikaci... + + + Skryje hlavní okno a zobrazí informace "O aplikaci". + + + Přizpůsobit po změně velikosti + + + Automaticky přizpůsobuje rozměr okna velikosti náhledu při změně velikosti okna. + + + Zavřít + + + Ukončí aplikaci OnTopReplica. + + + 2:1 Dvojnásobná + + + Celá obrazovka + + + 1:2 Poloviční + + + 1:1 Jako zdroj + + + 1:4 Čtvrtinová + + + Glass efekt + + + Přepíná "glass efekt" okna. + + + 100% (neprůhledné) + + + Nastaví aplikaci OnTopReplica jako neprůhlednou. + + + 25% + + + Nastaví průhlednost na 25%. + + + 50% + + + Nastaví průhlednost na 50%. + + + 75% + + + Nastaví průhlednost na 75%. + + + Průhlednost + + + Otevřít + + + Zobrazí aplikaci OnTopReplica. + + + Dolní levý roh + + + Dolní pravý roh + + + Umístění + + + Automatická pozice aplikace OnTopReplica vzhledem k obrazovce. + + + Horní levý roh + + + Horní pravý rok + + + Ukládat pozici a velikost okna + + + Přepínač, který definuje, zda si má aplikace OnTopReplica ukládat poslední pozici a velikost okna a obnovovat tyto údaje po restartování aplikace. + + + Minimalizovat do traye + + + Minimalizuje aplikaci OnTopReplica jako ikonu v systémové oblasti. + + + Vybrat výřez... + + + Přepne do režimu "výřezu", který umožní zvolit pouze část okna jako náhled. + + + Resetovat nastavení okna + + + Resetuje nastavení a pozici okna aplikace OnTopReplica. + + + Velikost + + + Přepnout do okna + + + Přepne do zdrojového okna a skryje aplikaci OnTopReplica. + + + Vybrat okno + + + - žádné - + + + Zobrazí seznam oken, které je možné použít jako zdroj. + + + Začněte klepnutím sem pravým tlačítkem myši... + + + Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému. + + + Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. Během této operace nedochází k žádnému přenosu či ukládání uživatelských informací. + + + Zkontroluj aktualizace + + + Instalovat OnTopReplica {0}? + + + Zrušit aktualizaci +Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. + + + Pokračovat +Instalovat OnTopReplica {0}. + + + Nová verze bude automaticky stažena a nainstalována. + + + Nainstalovaná verze: {0} +Dostupná verze: {1} +Velikost pro stažení: {2} bajtů + + + Nové aktualizace jsou k dispozici + + + Podrobnosti + + + Náhled nebyl nahrán. + + + Kontrola aktualizací se nezdařila. + + + Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte <a href="http://www.codeplex.com/ontopreplica">domácí stránku aplikace OnTopReplica</a>). + + + Aplikace OnTopReplica byla aktualizována. + + + Pro použití aktualizací je potřeba aplikaci OnTopReplica restartovat. + + + Aktualizace proběhla úspěšně + + + OnTopReplica je aktuální. + + + Žádná aktualizace není k dispozici. + + + Povolit "Proklikávání" v celoobrazovkovém režimu? + + + "Proklikávání" funguje pouze pokud je povoleno v menu a okno má nastavenou průhlednost. + + + V tomto režimu se bude okno roztažené přes celou obrazovku chovat jako poloprůhledná vrstva, přes kterou bude možné "proklikávat" na podložená okna. + +K návratu do standardního režimu je možné přejít kdykoli dvojklikem na ikonu v oznamovací oblasti (traye). + + + Režim "Proklikávání" + + + Proklikávání + + + Pokud je v celoobrazovkovém režimu oknu nastavena průhlednost, budou jednotlivá kliknutí myší "propadat" do oken za ním. + + + Ne, použij standardní celoobrazovkový režim +Režim "Proklikávání" je možné zvolit později v menu + + + Používat "Proklikávání" + + + Přeposílání kliknutí + + + Zapne "přeposílání kliknutí" do zdrojového okna. + + + Opustit celoobrazovkový režim + + + Jazyk + + + Výřezy + + + Uložit + + + Smazat + + + Aktuální výřez: + + + Šířka + + + Výška + + + Reset + + + Hotovo + + + Uložené výřezy + + + Přejete si povolit "přeposílání kliknutí"? + + + Přeposílání kliknutí + + + V tomto režimu aplikace OnTopReplica přeposílá kliknutí levého tlačítka myši do zdrojového okna (je tedy možné provádět základní ovládání zdrojového okna bez nutnosti jej aktivovat). + +Ukončit režim "přeposíání kliknutí" je možné opětovným vyvolání položky v menu. + + + Resetovat nastavení? + + + Operace "Resetovat nastavení" smaže veškerá uživatelská nastavení aplikace OnTopReplica a vrátí nastavení do stejného stavu jako po instalaci (všechny uložené informace, jako například uložené výřezy oken, budou ztraceny). + + + Resetovat nastavení + + + Přerušit aktualizaci. + + + Zobrazit podrobnosti o aplikaci OnTopReplica. + + + Resetovat nastavení OnTopReplica. + + + Aktualizovat OnTopReplica. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licence</h1> + + <p><b>OnTopReplica</b> je šířena pod <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a> licencí.</p> + <p>Původní zdrojový kód je možné nalézt na <a href="http://www.codeplex.com/ontopreplica">domovské stránce projektu na serveru CodePlex</a>.</p> + + <h1>Autoři a zásluhy</h1> + + <p>Původní inspirací pro OnTopReplica byla aplikace <a href="http://insentient.net">Switcher</a> a další aplikace založeny na DWM.</p> + + <p>Všechny Vista ovládací prvky jsou součástí <a href="http://www.codeplex.com/windowsformsaero">knihovny WindowsFormsAero</a> pro .NET.</p> + + <p>Některé ukázkové kódy byly převzaty z <a href="http://www.ookii.org">Ookii</a> ze serveru Channel9.</p> + + <p>Třída NativeToolstripRenderer byla převzata z <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Některé ikony pocházejí z <a href="http://www.vistaico.com">VistaICO.com</a> a balíčku ikon Xiao.</p> + + </body> +</html> + + + - celé okno - + + + Aplikace OnTopReplica přes celou obrazovku + + + Režim + + + Vždy na vrchu + + + Nastaví aplikaci OnTopReplica, aby zůstávala vždy na vrchu. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Standardní + + + Aplikace OnTopReplica se bude chovat jako běžné okno. Jiná okna mohou překrýt okno aplikace. + + + Okraj + + + Přepínač, který definuje, zda má aplikace OnTopReplica viditelný okraj okna. + + \ No newline at end of file diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs index f594e6a..052775f 100644 --- a/OnTopReplica/ThumbnailPanel.cs +++ b/OnTopReplica/ThumbnailPanel.cs @@ -131,6 +131,7 @@ namespace OnTopReplica { Cursor = (value) ? Cursors.Cross : Cursors.Default; UpdateThubmnail(); + this.Invalidate(); } } @@ -207,15 +208,9 @@ namespace OnTopReplica { thumbnailSize = ComputeIdealSize(sourceSize, Size); padHeight = (Size.Height - thumbnailSize.Height) / 2; - /*padWidth = (Size.Width - thumbnailSize.Width) / 2; - padHeight = (Size.Height - thumbnailSize.Height) / 2; - - Rectangle target = new Rectangle(padWidth, padHeight, thumbnailSize.Width, thumbnailSize.Height);*/ var target = new Rectangle(0, padHeight, thumbnailSize.Width, thumbnailSize.Height); Rectangle source = (_regionEnabled) ? _regionCurrent : new Rectangle(Point.Empty, _thumbnail.SourceSize); - //Console.WriteLine("Source " + sourceSize.ToString() + ", Target " + Size.ToString() + ", Fit " + thumbnailSize.ToString() + ", Padding " + padWidth + "," + padHeight); - _thumbnail.Update(target, source, ThumbnailOpacity, true, true); } catch { @@ -235,11 +230,7 @@ namespace OnTopReplica { double sourceRatio = (double)sourceSize.Width / (double)sourceSize.Height; double clientRatio = (double)clientSize.Width / (double)clientSize.Height; - Size ret; - //if(sourceRatio >= clientRatio) - ret = new Size(clientSize.Width, (int)((double)clientSize.Width / sourceRatio)); - /*else - ret = new Size((int)((double)clientSize.Height * sourceRatio), clientSize.Height);*/ + Size ret = new Size(clientSize.Width, (int)((double)clientSize.Width / sourceRatio)); return ret; } @@ -247,7 +238,7 @@ namespace OnTopReplica { /// Updates the right-click labels. /// If a thumbnail is shown no label will be visible. If no thumbnail is active, the correct label will be visible. private void UpdateRightClickLabels(){ - if (_thumbnail != null && !_thumbnail.IsInvalid /*&& !_drawMouseRegions*/) { + if (_thumbnail != null && !_thumbnail.IsInvalid) { //Thumbnail active and no region drawing _labelGlass.Visible = false; _labelNoGlass.Visible = false; From 26741c7035853d8765abce54152cb467fc082228 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sat, 17 Apr 2010 23:22:58 +0200 Subject: [PATCH 018/164] Regions in alphabetic order. Some code reorganization. --- OnTopReplica/FullscreenForm.cs | 1 - OnTopReplica/OnTopReplica.csproj | 1 - OnTopReplica/WindowListHelper.cs | 69 +++++++++++++++++++++----------- OnTopReplica/WindowManager.cs | 19 ++++----- OnTopReplica/app.config | 2 +- 5 files changed, 56 insertions(+), 36 deletions(-) diff --git a/OnTopReplica/FullscreenForm.cs b/OnTopReplica/FullscreenForm.cs index ad23e57..a364524 100644 --- a/OnTopReplica/FullscreenForm.cs +++ b/OnTopReplica/FullscreenForm.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.ComponentModel; -using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 8a06eec..b89a210 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -81,7 +81,6 @@ - diff --git a/OnTopReplica/WindowListHelper.cs b/OnTopReplica/WindowListHelper.cs index dbec10f..bcd153b 100644 --- a/OnTopReplica/WindowListHelper.cs +++ b/OnTopReplica/WindowListHelper.cs @@ -16,7 +16,7 @@ namespace OnTopReplica { public static void PopulateMenu(Form ownerForm, WindowManager windowManager, ToolStrip menu, WindowHandle currentHandle, EventHandler clickHandler) { - var regions = Settings.Default.SavedRegions; + var regions = GetRegions(); //Clear menu.Items.Clear(); @@ -59,33 +59,54 @@ namespace OnTopReplica { }; tsi.Click += clickHandler; - if (regions != null && regions.Count > 0) { - //Add subitem for no region - var nullRegionItem = new ToolStripMenuItem(Strings.MenuWindowsWholeRegion); - nullRegionItem.Tag = new WindowSelectionData { - Handle = h, - Region = null - }; - nullRegionItem.Image = Resources.regions; - nullRegionItem.Click += clickHandler; - - tsi.DropDownItems.Add(nullRegionItem); - - foreach (StoredRegion region in regions) { - var regionItem = new ToolStripMenuItem(region.Name); - regionItem.Tag = new WindowSelectionData { - Handle = h, - Region = region - }; - regionItem.Click += clickHandler; - - tsi.DropDownItems.Add(regionItem); - } - } + PopulateRegions(tsi, h, clickHandler, regions); menu.Items.Add(tsi); } + } + private static void PopulateRegions(ToolStripMenuItem tsi, WindowHandle handle, + EventHandler clickHandler, IEnumerable regions) { + + if (regions != null) { + //Add subitem for no region + var nullRegionItem = new ToolStripMenuItem(Strings.MenuWindowsWholeRegion); + nullRegionItem.Tag = new WindowSelectionData { + Handle = handle, + Region = null + }; + nullRegionItem.Image = Resources.regions; + nullRegionItem.Click += clickHandler; + + tsi.DropDownItems.Add(nullRegionItem); + + foreach (StoredRegion region in regions) { + var regionItem = new ToolStripMenuItem(region.Name); + regionItem.Tag = new WindowSelectionData { + Handle = handle, + Region = region + }; + regionItem.Click += clickHandler; + + tsi.DropDownItems.Add(regionItem); + } + } + } + + private static IEnumerable GetRegions() { + if (Settings.Default.SavedRegions == null || Settings.Default.SavedRegions.Count == 0) + return null; + + StoredRegion[] regions = new StoredRegion[Settings.Default.SavedRegions.Count]; + Settings.Default.SavedRegions.CopyTo(regions); + + Array.Sort(regions, new Comparison((a, b) => { + return a.Name.CompareTo(b.Name); + })); + + return regions; + } + } } diff --git a/OnTopReplica/WindowManager.cs b/OnTopReplica/WindowManager.cs index 692e5d6..9170dfe 100644 --- a/OnTopReplica/WindowManager.cs +++ b/OnTopReplica/WindowManager.cs @@ -5,7 +5,7 @@ using System.Text; namespace OnTopReplica { /// A helper class that allows you to easily build and keep a list of Windows (in the form of WindowHandle objects). public class WindowManager { - IList _windows = null; + List _windows = null; public enum EnumerationMode { /// All windows with 'Visible' flag. @@ -28,7 +28,7 @@ namespace OnTopReplica { /// Refreshes the window list. public void Refresh(EnumerationMode mode) { - _windows = new List(); + _windows = new List(); NativeMethods.EnumWindowsProc proc = null; switch (mode) { @@ -49,9 +49,9 @@ namespace OnTopReplica { } - public IList Windows { + public IEnumerable Windows { get { - return _windows; + return _windows; } } @@ -59,7 +59,8 @@ namespace OnTopReplica { private bool EnumWindowProcAll(IntPtr hwnd, IntPtr lParam) { if (NativeMethods.IsWindowVisible(hwnd)) { - _windows.Add(new WindowHandle(hwnd, GetWindowTitle(hwnd))); + string title = GetWindowTitle(hwnd); + _windows.Add( new WindowHandle(hwnd, title)); } return true; } @@ -68,7 +69,8 @@ namespace OnTopReplica { if (NativeMethods.IsWindowVisible(hwnd)) { //Check if window has no parent if ((long)NativeMethods.GetParent(hwnd) == 0 && NativeMethods.GetDesktopWindow() != hwnd) { - _windows.Add(new WindowHandle(hwnd, GetWindowTitle(hwnd))); + string title = GetWindowTitle(hwnd); + _windows.Add( new WindowHandle(hwnd, title)); } } return true; @@ -94,9 +96,8 @@ namespace OnTopReplica { bool hasOwner = (long)NativeMethods.GetWindow(hwnd, NativeMethods.GetWindowMode.GW_OWNER) != 0; NativeMethods.WindowExStyles exStyle = (NativeMethods.WindowExStyles)NativeMethods.GetWindowLong(hwnd, NativeMethods.WindowLong.ExStyle); - if (((exStyle & NativeMethods.WindowExStyles.ToolWindow) == 0 && !hasOwner) || - ((exStyle & NativeMethods.WindowExStyles.AppWindow) == NativeMethods.WindowExStyles.AppWindow && hasOwner)) { - //Accept + if (((exStyle & NativeMethods.WindowExStyles.ToolWindow) == 0 && !hasOwner) || //unowned non-tool window + ((exStyle & NativeMethods.WindowExStyles.AppWindow) == NativeMethods.WindowExStyles.AppWindow && hasOwner)) { //owned application window _windows.Add(new WindowHandle(hwnd, title)); } } diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config index 6ff7602..bce8be6 100644 --- a/OnTopReplica/app.config +++ b/OnTopReplica/app.config @@ -48,4 +48,4 @@ - + From 8424f2f7fd6a6f4624eb836e29dafce8f478dd0a Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Mon, 10 May 2010 01:05:11 +0200 Subject: [PATCH 019/164] Updated to Visual Studio 2010. --- OnTopReplica.sln | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OnTopReplica.sln b/OnTopReplica.sln index 8b79da8..1c732a8 100644 --- a/OnTopReplica.sln +++ b/OnTopReplica.sln @@ -1,6 +1,6 @@  -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 10 +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C# Express 2010 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OnTopReplica", "OnTopReplica\OnTopReplica.csproj", "{E626BD6E-BF38-4EB7-A128-5CA6F40EF557}" EndProject Global From 812347fe8bc8a2a71e7793db97653570dbc37ab7 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Mon, 10 May 2010 01:27:07 +0200 Subject: [PATCH 020/164] Improved region drawing on thumbnail. Updated to version 2.9.3. --- OnTopReplica/OnTopReplica.csproj | 6 +-- OnTopReplica/Properties/AssemblyInfo.cs | 4 +- OnTopReplica/ThumbnailPanel.cs | 67 +++++++++++++++++++------ 3 files changed, 57 insertions(+), 20 deletions(-) diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index b89a210..419fc02 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -49,8 +49,8 @@ true publish.htm false - 2 - 2.9.2.%2a + 1 + 2.9.3.%2a false true true @@ -224,7 +224,7 @@ False - .NET Framework Client Profile + .NET Framework 3.5 SP1 Client Profile false diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs index 59b1ff9..883df01 100644 --- a/OnTopReplica/Properties/AssemblyInfo.cs +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.9.2.0")] -[assembly: AssemblyFileVersion("2.9.2.0")] +[assembly: AssemblyVersion("2.9.3.0")] +[assembly: AssemblyFileVersion("2.9.3.0")] diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs index 052775f..2953375 100644 --- a/OnTopReplica/ThumbnailPanel.cs +++ b/OnTopReplica/ThumbnailPanel.cs @@ -70,9 +70,7 @@ namespace OnTopReplica { set { _glassMode = value; - //Set correct backcolor: black if glass is on - BackColor = (value || _fullscreenMode) ? Color.Black : SystemColors.Control; - + UpdateBackColor(); UpdateRightClickLabels(); } } @@ -85,14 +83,14 @@ namespace OnTopReplica { } set { _fullscreenMode = value; - - //Set correct backcolor: black if fullscreen is on - BackColor = (value || _glassMode) ? Color.Black : SystemColors.Control; - + UpdateBackColor(); UpdateRightClickLabels(); } } + /// + /// Gets or sets the region that is currently shown on the thumbnail. When set, enabled region showing. + /// public Rectangle ShownRegion { get { return _regionCurrent; @@ -105,6 +103,9 @@ namespace OnTopReplica { } } + /// + /// Gets or sets whether the thumbnail is constrained to a region or not. + /// public bool ShowRegion { get { return _regionEnabled; @@ -118,6 +119,9 @@ namespace OnTopReplica { bool _drawMouseRegions = false; + /// + /// Gets or sets whether the thumbnail allows region drawing. + /// public bool DrawMouseRegions { get { return _drawMouseRegions; @@ -235,6 +239,13 @@ namespace OnTopReplica { return ret; } + /// + /// Updates the background color. + /// + private void UpdateBackColor() { + BackColor = (FullscreenMode || GlassMode) ? Color.Black : SystemColors.Control; + } + /// Updates the right-click labels. /// If a thumbnail is shown no label will be visible. If no thumbnail is active, the correct label will be visible. private void UpdateRightClickLabels(){ @@ -244,9 +255,6 @@ namespace OnTopReplica { _labelNoGlass.Visible = false; } else { - //Update text (removed, can't draw regions behind non-transparent ThemedLabel control) - //_labelGlass.Text = _labelNoGlass.Text = (_drawMouseRegions) ? Strings.DrawRegions : Strings.RightClick; - //Update visibility _labelGlass.Visible = _glassMode; _labelNoGlass.Visible = !_glassMode; @@ -272,6 +280,7 @@ namespace OnTopReplica { } protected override void OnMouseClick(MouseEventArgs e) { + //Raise clicking event to allow click forwarding if (!_clickThrough && e.Button == MouseButtons.Left) { if(_thumbnail != null) OnCloneClick(ScreenToThumbnail(e.Location), false); @@ -281,6 +290,7 @@ namespace OnTopReplica { } protected override void OnMouseDoubleClick(MouseEventArgs e) { + //Raise double clicking event to allow click forwarding if (!_clickThrough && e.Button == MouseButtons.Left) { if (_thumbnail != null) OnCloneClick(ScreenToThumbnail(e.Location), true); @@ -290,8 +300,10 @@ namespace OnTopReplica { } protected override void OnMouseDown(MouseEventArgs e) { - if (_drawMouseRegions && e.Button == MouseButtons.Left) { + if (DrawMouseRegions && e.Button == MouseButtons.Left) { + //Start new region drawing _drawingRegion = true; + _drawingSuspended = false; _regionStartPoint = _regionLastPoint = e.Location; this.Invalidate(); @@ -302,8 +314,9 @@ namespace OnTopReplica { protected override void OnMouseUp(MouseEventArgs e) { if (_drawMouseRegions && e.Button == MouseButtons.Left) { + //Region completed _drawingRegion = false; - + _drawingSuspended = false; HandleRegionDrawn(_regionStartPoint, _regionLastPoint); this.Invalidate(); @@ -313,20 +326,30 @@ namespace OnTopReplica { } protected override void OnMouseLeave(EventArgs e) { - _drawingRegion = false; + _drawingSuspended = true; this.Invalidate(); base.OnMouseLeave(e); } + protected override void OnMouseEnter(EventArgs e) { + _drawingSuspended = false; + + this.Invalidate(); + + base.OnMouseEnter(e); + } + protected override void OnMouseMove(MouseEventArgs e) { if (_drawingRegion && e.Button == MouseButtons.Left) { + //Continue drawing _regionLastPoint = e.Location; this.Invalidate(); } - else if(_drawMouseRegions && !_drawingRegion){ + else if(DrawMouseRegions && !_drawingRegion){ + //Keep track of region start point _regionLastPoint = e.Location; this.Invalidate(); @@ -339,6 +362,7 @@ namespace OnTopReplica { protected override void OnPaint(PaintEventArgs e) { if (_drawingRegion) { + //Is currently drawing, show rectangle int left = Math.Min(_regionStartPoint.X, _regionLastPoint.X); int right = Math.Max(_regionStartPoint.X, _regionLastPoint.X); int top = Math.Min(_regionStartPoint.Y, _regionLastPoint.Y); @@ -346,7 +370,8 @@ namespace OnTopReplica { e.Graphics.DrawRectangle(penRed, left, top, right - left, bottom - top); } - else if (_drawMouseRegions) { + else if (DrawMouseRegions && ! _drawingSuspended) { + //Show cursor coordinates e.Graphics.DrawLine(penRed, new Point(0, _regionLastPoint.Y), new Point(ClientSize.Width, _regionLastPoint.Y)); e.Graphics.DrawLine(penRed, new Point(_regionLastPoint.X, 0), new Point(_regionLastPoint.X, ClientSize.Height)); } @@ -356,7 +381,10 @@ namespace OnTopReplica { #endregion + //Set if currently drawing a window (first click/drag was initiated) bool _drawingRegion = false; + //Set if drawing was suspended because the mouse left the control + bool _drawingSuspended = false; Point _regionStartPoint; Point _regionLastPoint; @@ -390,11 +418,20 @@ namespace OnTopReplica { } protected void HandleRegionDrawn(Point start, Point end) { + if (thumbnailSize.Width == 0 || thumbnailSize.Height == 0) //causes DivBy0 + return; + int left = Math.Min(start.X, end.X); int right = Math.Max(start.X, end.X); int top = Math.Min(start.Y, end.Y); int bottom = Math.Max(start.Y, end.Y); + //Clip to boundaries + left = Math.Max(0, left); + right = Math.Min(thumbnailSize.Width, right); + top = Math.Max(0, top); + bottom = Math.Min(thumbnailSize.Height, bottom); + //Offset points of padding space around thumbnail left -= padWidth; right -= padWidth; From b459475cf02d5bad5cadc9e954d41840c8c511e5 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Mon, 10 May 2010 01:28:42 +0200 Subject: [PATCH 021/164] Included CS resource file in ClickOnce installer. --- OnTopReplica/OnTopReplica.csproj | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 419fc02..ad0686f 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -49,7 +49,7 @@ true publish.htm false - 1 + 2 2.9.3.%2a false true @@ -274,6 +274,16 @@ + + False + + + + + Include + True + Satellite + False From d389573363c884a7a25822758a3480a7407df525 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 26 May 2010 20:31:03 +0200 Subject: [PATCH 022/164] Fixed behavior of FocusedTextBox (special characters and bell). --- OnTopReplica/EnumerationExtensions.cs | 19 + OnTopReplica/FocusedTextBox.cs | 36 +- OnTopReplica/OnTopReplica.csproj | 1 + OnTopReplica/RegionBox.Designer.cs | 510 +++++++++++++------------- OnTopReplica/RegionBox.cs | 11 +- 5 files changed, 308 insertions(+), 269 deletions(-) create mode 100644 OnTopReplica/EnumerationExtensions.cs diff --git a/OnTopReplica/EnumerationExtensions.cs b/OnTopReplica/EnumerationExtensions.cs new file mode 100644 index 0000000..20c3478 --- /dev/null +++ b/OnTopReplica/EnumerationExtensions.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica { + + static class EnumerationExtensions { + + public static bool Contains(IEnumerable collection, T value){ + foreach (var v in collection) + if (v.Equals(value)) + return true; + + return false; + } + + } + +} diff --git a/OnTopReplica/FocusedTextBox.cs b/OnTopReplica/FocusedTextBox.cs index 35cc450..562eb25 100644 --- a/OnTopReplica/FocusedTextBox.cs +++ b/OnTopReplica/FocusedTextBox.cs @@ -19,18 +19,48 @@ namespace OnTopReplica { if (e.KeyCode == Keys.Return) { OnConfirmInput(); e.Handled = true; + e.SuppressKeyPress = true; } + else if (e.KeyCode == Keys.Escape) { + OnAbortInput(); + e.Handled = true; + e.SuppressKeyPress = true; + } - base.OnKeyUp(e); + Console.WriteLine("{0} ({1})", e.KeyCode, e.KeyValue); + + base.OnKeyUp(e); } + //List of characters to ignore on KeyPress events (because they generate bell rings) + char[] _ignoreChars = new char[] { + (char)27, (char)13 + }; + + protected override void OnKeyPress(KeyPressEventArgs e) { + if (EnumerationExtensions.Contains(_ignoreChars, e.KeyChar)) { + e.Handled = true; + } + + base.OnKeyPress(e); + } + public event EventHandler ConfirmInput; protected virtual void OnConfirmInput() { - if (ConfirmInput != null) - ConfirmInput(this, EventArgs.Empty); + var evt = ConfirmInput; + if (evt != null) + evt(this, EventArgs.Empty); } + public event EventHandler AbortInput; + + protected virtual void OnAbortInput() { + var evt = AbortInput; + if (evt != null) + evt(this, EventArgs.Empty); + } + } } diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index ad0686f..d9d1039 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -105,6 +105,7 @@ + Strings.it.resx diff --git a/OnTopReplica/RegionBox.Designer.cs b/OnTopReplica/RegionBox.Designer.cs index 3c4a3cf..9b1b22b 100644 --- a/OnTopReplica/RegionBox.Designer.cs +++ b/OnTopReplica/RegionBox.Designer.cs @@ -23,302 +23,284 @@ /// the contents of this method with the code editor. /// private void InitializeComponent() { - this.panel1 = new System.Windows.Forms.Panel(); - this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.numH = new System.Windows.Forms.NumericUpDown(); - this.numW = new System.Windows.Forms.NumericUpDown(); - this.numY = new System.Windows.Forms.NumericUpDown(); - this.numX = new System.Windows.Forms.NumericUpDown(); - this.buttonDone = new System.Windows.Forms.Button(); - this.buttonReset = new System.Windows.Forms.Button(); - this.label6 = new System.Windows.Forms.Label(); - this.label7 = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); - this.label1 = new System.Windows.Forms.Label(); - this.buttonDelete = new System.Windows.Forms.Button(); - this.buttonSave = new System.Windows.Forms.Button(); - this.comboBox1 = new VistaControls.ComboBox(); - this.textRegionName = new OnTopReplica.FocusedTextBox(); - this.panel1.SuspendLayout(); - this.groupBox1.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.numH)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.numW)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.numY)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.numX)).BeginInit(); - this.SuspendLayout(); - // - // panel1 - // - this.panel1.BackColor = System.Drawing.SystemColors.Control; - this.panel1.Controls.Add(this.groupBox1); - this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.panel1.Location = new System.Drawing.Point(0, 0); - this.panel1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.panel1.Name = "panel1"; - this.panel1.Padding = new System.Windows.Forms.Padding(5, 5, 5, 5); - this.panel1.Size = new System.Drawing.Size(233, 292); - this.panel1.TabIndex = 0; - // - // groupBox1 - // - this.groupBox1.Controls.Add(this.textRegionName); - this.groupBox1.Controls.Add(this.numH); - this.groupBox1.Controls.Add(this.numW); - this.groupBox1.Controls.Add(this.numY); - this.groupBox1.Controls.Add(this.numX); - this.groupBox1.Controls.Add(this.buttonDone); - this.groupBox1.Controls.Add(this.buttonReset); - this.groupBox1.Controls.Add(this.label6); - this.groupBox1.Controls.Add(this.label7); - this.groupBox1.Controls.Add(this.label3); - this.groupBox1.Controls.Add(this.label2); - this.groupBox1.Controls.Add(this.label1); - this.groupBox1.Controls.Add(this.buttonDelete); - this.groupBox1.Controls.Add(this.buttonSave); - this.groupBox1.Controls.Add(this.comboBox1); - this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; - this.groupBox1.Location = new System.Drawing.Point(5, 5); - this.groupBox1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.groupBox1.Name = "groupBox1"; - this.groupBox1.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.groupBox1.Size = new System.Drawing.Size(223, 282); - this.groupBox1.TabIndex = 0; - this.groupBox1.TabStop = false; - this.groupBox1.Text = Strings.RegionsTitle; - // - // numH - // - this.numH.Enabled = false; - this.numH.Location = new System.Drawing.Point(145, 150); - this.numH.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.numH.Maximum = new decimal(new int[] { + this.panel1 = new System.Windows.Forms.Panel(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.numH = new System.Windows.Forms.NumericUpDown(); + this.numW = new System.Windows.Forms.NumericUpDown(); + this.numY = new System.Windows.Forms.NumericUpDown(); + this.numX = new System.Windows.Forms.NumericUpDown(); + this.buttonDone = new System.Windows.Forms.Button(); + this.buttonReset = new System.Windows.Forms.Button(); + this.label6 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.buttonDelete = new System.Windows.Forms.Button(); + this.buttonSave = new System.Windows.Forms.Button(); + this.comboBox1 = new VistaControls.ComboBox(); + this.textRegionName = new OnTopReplica.FocusedTextBox(); + this.panel1.SuspendLayout(); + this.groupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).BeginInit(); + this.SuspendLayout(); + // + // panel1 + // + this.panel1.BackColor = System.Drawing.SystemColors.Control; + this.panel1.Controls.Add(this.groupBox1); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4); + this.panel1.Size = new System.Drawing.Size(175, 237); + this.panel1.TabIndex = 0; + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.textRegionName); + this.groupBox1.Controls.Add(this.numH); + this.groupBox1.Controls.Add(this.numW); + this.groupBox1.Controls.Add(this.numY); + this.groupBox1.Controls.Add(this.numX); + this.groupBox1.Controls.Add(this.buttonDone); + this.groupBox1.Controls.Add(this.buttonReset); + this.groupBox1.Controls.Add(this.label6); + this.groupBox1.Controls.Add(this.label7); + this.groupBox1.Controls.Add(this.label3); + this.groupBox1.Controls.Add(this.label2); + this.groupBox1.Controls.Add(this.label1); + this.groupBox1.Controls.Add(this.buttonDelete); + this.groupBox1.Controls.Add(this.buttonSave); + this.groupBox1.Controls.Add(this.comboBox1); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Location = new System.Drawing.Point(4, 4); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(167, 229); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Regions"; + // + // numH + // + this.numH.Enabled = false; + this.numH.Location = new System.Drawing.Point(109, 122); + this.numH.Maximum = new decimal(new int[] { 100000, 0, 0, 0}); - this.numH.Minimum = new decimal(new int[] { + this.numH.Minimum = new decimal(new int[] { 100000, 0, 0, -2147483648}); - this.numH.Name = "numH"; - this.numH.Size = new System.Drawing.Size(57, 22); - this.numH.TabIndex = 7; - this.numH.ValueChanged += new System.EventHandler(this.RegionValueChanged); - // - // numW - // - this.numW.Enabled = false; - this.numW.Location = new System.Drawing.Point(145, 118); - this.numW.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.numW.Maximum = new decimal(new int[] { + this.numH.Name = "numH"; + this.numH.Size = new System.Drawing.Size(43, 20); + this.numH.TabIndex = 7; + this.numH.ValueChanged += new System.EventHandler(this.RegionValueChanged); + // + // numW + // + this.numW.Enabled = false; + this.numW.Location = new System.Drawing.Point(109, 96); + this.numW.Maximum = new decimal(new int[] { 100000, 0, 0, 0}); - this.numW.Minimum = new decimal(new int[] { + this.numW.Minimum = new decimal(new int[] { 100000, 0, 0, -2147483648}); - this.numW.Name = "numW"; - this.numW.Size = new System.Drawing.Size(57, 22); - this.numW.TabIndex = 6; - this.numW.ValueChanged += new System.EventHandler(this.RegionValueChanged); - // - // numY - // - this.numY.Enabled = false; - this.numY.Location = new System.Drawing.Point(31, 150); - this.numY.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.numY.Maximum = new decimal(new int[] { + this.numW.Name = "numW"; + this.numW.Size = new System.Drawing.Size(43, 20); + this.numW.TabIndex = 6; + this.numW.ValueChanged += new System.EventHandler(this.RegionValueChanged); + // + // numY + // + this.numY.Enabled = false; + this.numY.Location = new System.Drawing.Point(23, 122); + this.numY.Maximum = new decimal(new int[] { 100000, 0, 0, 0}); - this.numY.Minimum = new decimal(new int[] { + this.numY.Minimum = new decimal(new int[] { 100000, 0, 0, -2147483648}); - this.numY.Name = "numY"; - this.numY.Size = new System.Drawing.Size(57, 22); - this.numY.TabIndex = 5; - this.numY.ValueChanged += new System.EventHandler(this.RegionValueChanged); - // - // numX - // - this.numX.Enabled = false; - this.numX.Location = new System.Drawing.Point(31, 118); - this.numX.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.numX.Maximum = new decimal(new int[] { + this.numY.Name = "numY"; + this.numY.Size = new System.Drawing.Size(43, 20); + this.numY.TabIndex = 5; + this.numY.ValueChanged += new System.EventHandler(this.RegionValueChanged); + // + // numX + // + this.numX.Enabled = false; + this.numX.Location = new System.Drawing.Point(23, 96); + this.numX.Maximum = new decimal(new int[] { 100000, 0, 0, 0}); - this.numX.Minimum = new decimal(new int[] { + this.numX.Minimum = new decimal(new int[] { 100000, 0, 0, -2147483648}); - this.numX.Name = "numX"; - this.numX.Size = new System.Drawing.Size(57, 22); - this.numX.TabIndex = 4; - this.numX.ValueChanged += new System.EventHandler(this.RegionValueChanged); - // - // buttonDone - // - this.buttonDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.buttonDone.Location = new System.Drawing.Point(135, 246); - this.buttonDone.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.buttonDone.Name = "buttonDone"; - this.buttonDone.Size = new System.Drawing.Size(80, 28); - this.buttonDone.TabIndex = 9; - this.buttonDone.Text = global::OnTopReplica.Strings.RegionsDoneButton; - this.buttonDone.UseVisualStyleBackColor = true; - this.buttonDone.Click += new System.EventHandler(this.CloseClick); - // - // buttonReset - // - this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonReset.Location = new System.Drawing.Point(8, 246); - this.buttonReset.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.buttonReset.Name = "buttonReset"; - this.buttonReset.Size = new System.Drawing.Size(80, 28); - this.buttonReset.TabIndex = 8; - this.buttonReset.Text = global::OnTopReplica.Strings.RegionsResetButton; - this.buttonReset.UseVisualStyleBackColor = true; - this.buttonReset.Click += new System.EventHandler(this.ResetClick); - // - // label6 - // - this.label6.AutoSize = true; - this.label6.ForeColor = System.Drawing.SystemColors.ControlDark; - this.label6.Location = new System.Drawing.Point(95, 153); - this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(49, 17); - this.label6.TabIndex = 9; - this.label6.Text = Strings.RegionsHeight; - // - // label7 - // - this.label7.AutoSize = true; - this.label7.ForeColor = System.Drawing.SystemColors.ControlDark; - this.label7.Location = new System.Drawing.Point(95, 121); - this.label7.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(44, 17); - this.label7.TabIndex = 8; - this.label7.Text = Strings.RegionsWidth; - // - // label3 - // - this.label3.AutoSize = true; - this.label3.ForeColor = System.Drawing.SystemColors.ControlDark; - this.label3.Location = new System.Drawing.Point(8, 153); - this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(17, 17); - this.label3.TabIndex = 5; - this.label3.Text = "Y"; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.ForeColor = System.Drawing.SystemColors.ControlDark; - this.label2.Location = new System.Drawing.Point(8, 121); - this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(17, 17); - this.label2.TabIndex = 4; - this.label2.Text = "X"; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label1.Location = new System.Drawing.Point(8, 94); - this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(103, 17); - this.label1.TabIndex = 3; - this.label1.Text = Strings.RegionsCurrentRegion; - // - // buttonDelete - // - this.buttonDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonDelete.Enabled = false; - this.buttonDelete.Location = new System.Drawing.Point(135, 57); - this.buttonDelete.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.buttonDelete.Name = "buttonDelete"; - this.buttonDelete.Size = new System.Drawing.Size(80, 28); - this.buttonDelete.TabIndex = 3; - this.buttonDelete.Text = global::OnTopReplica.Strings.RegionsDeleteButton; - this.buttonDelete.UseVisualStyleBackColor = true; - this.buttonDelete.Click += new System.EventHandler(this.DeleteClick); - // - // buttonSave - // - this.buttonSave.Enabled = false; - this.buttonSave.Location = new System.Drawing.Point(8, 57); - this.buttonSave.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.buttonSave.Name = "buttonSave"; - this.buttonSave.Size = new System.Drawing.Size(80, 28); - this.buttonSave.TabIndex = 1; - this.buttonSave.Text = global::OnTopReplica.Strings.RegionsSaveButton; - this.buttonSave.UseVisualStyleBackColor = true; - this.buttonSave.Click += new System.EventHandler(this.SaveClick); - // - // comboBox1 - // - this.comboBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.comboBox1.CueBannerText = global::OnTopReplica.Strings.RegionsStoredRegions; - this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.comboBox1.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.comboBox1.FormattingEnabled = true; - this.comboBox1.Location = new System.Drawing.Point(8, 23); - this.comboBox1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.comboBox1.Name = "comboBox1"; - this.comboBox1.Size = new System.Drawing.Size(206, 24); - this.comboBox1.TabIndex = 0; - this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.RegionCombo_index); - // - // textRegionName - // - this.textRegionName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.textRegionName.BackColor = System.Drawing.SystemColors.ActiveCaption; - this.textRegionName.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; - this.textRegionName.Location = new System.Drawing.Point(8, 59); - this.textRegionName.Margin = new System.Windows.Forms.Padding(4); - this.textRegionName.Name = "textRegionName"; - this.textRegionName.Size = new System.Drawing.Size(118, 22); - this.textRegionName.TabIndex = 2; - this.textRegionName.Visible = false; - this.textRegionName.Leave += new System.EventHandler(this.Save_lost); - this.textRegionName.ConfirmInput += new System.EventHandler(this.Save_confirm); - // - // RegionBox - // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.Black; - this.Controls.Add(this.panel1); - this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.MinimumSize = new System.Drawing.Size(213, 222); - this.Name = "RegionBox"; - this.Size = new System.Drawing.Size(233, 292); - this.panel1.ResumeLayout(false); - this.groupBox1.ResumeLayout(false); - this.groupBox1.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.numH)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.numW)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.numY)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.numX)).EndInit(); - this.ResumeLayout(false); + this.numX.Name = "numX"; + this.numX.Size = new System.Drawing.Size(43, 20); + this.numX.TabIndex = 4; + this.numX.ValueChanged += new System.EventHandler(this.RegionValueChanged); + // + // buttonDone + // + this.buttonDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDone.Location = new System.Drawing.Point(101, 200); + this.buttonDone.Name = "buttonDone"; + this.buttonDone.Size = new System.Drawing.Size(60, 23); + this.buttonDone.TabIndex = 9; + this.buttonDone.Text = global::OnTopReplica.Strings.RegionsDoneButton; + this.buttonDone.UseVisualStyleBackColor = true; + this.buttonDone.Click += new System.EventHandler(this.CloseClick); + // + // buttonReset + // + this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.buttonReset.Location = new System.Drawing.Point(6, 200); + this.buttonReset.Name = "buttonReset"; + this.buttonReset.Size = new System.Drawing.Size(60, 23); + this.buttonReset.TabIndex = 8; + this.buttonReset.Text = global::OnTopReplica.Strings.RegionsResetButton; + this.buttonReset.UseVisualStyleBackColor = true; + this.buttonReset.Click += new System.EventHandler(this.ResetClick); + // + // label6 + // + this.label6.AutoSize = true; + this.label6.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label6.Location = new System.Drawing.Point(71, 124); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(38, 13); + this.label6.TabIndex = 9; + this.label6.Text = "Height"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label7.Location = new System.Drawing.Point(71, 98); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(35, 13); + this.label7.TabIndex = 8; + this.label7.Text = "Width"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label3.Location = new System.Drawing.Point(6, 124); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(14, 13); + this.label3.TabIndex = 5; + this.label3.Text = "Y"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label2.Location = new System.Drawing.Point(6, 98); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(14, 13); + this.label2.TabIndex = 4; + this.label2.Text = "X"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(6, 76); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(76, 13); + this.label1.TabIndex = 3; + this.label1.Text = "Current region:"; + // + // buttonDelete + // + this.buttonDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDelete.Enabled = false; + this.buttonDelete.Location = new System.Drawing.Point(101, 46); + this.buttonDelete.Name = "buttonDelete"; + this.buttonDelete.Size = new System.Drawing.Size(60, 23); + this.buttonDelete.TabIndex = 3; + this.buttonDelete.Text = global::OnTopReplica.Strings.RegionsDeleteButton; + this.buttonDelete.UseVisualStyleBackColor = true; + this.buttonDelete.Click += new System.EventHandler(this.DeleteClick); + // + // buttonSave + // + this.buttonSave.Enabled = false; + this.buttonSave.Location = new System.Drawing.Point(6, 46); + this.buttonSave.Name = "buttonSave"; + this.buttonSave.Size = new System.Drawing.Size(60, 23); + this.buttonSave.TabIndex = 1; + this.buttonSave.Text = global::OnTopReplica.Strings.RegionsSaveButton; + this.buttonSave.UseVisualStyleBackColor = true; + this.buttonSave.Click += new System.EventHandler(this.SaveClick); + // + // comboBox1 + // + this.comboBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.comboBox1.CueBannerText = global::OnTopReplica.Strings.RegionsStoredRegions; + this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox1.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.comboBox1.FormattingEnabled = true; + this.comboBox1.Location = new System.Drawing.Point(6, 19); + this.comboBox1.Name = "comboBox1"; + this.comboBox1.Size = new System.Drawing.Size(156, 21); + this.comboBox1.TabIndex = 0; + this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.RegionCombo_index); + // + // textRegionName + // + this.textRegionName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textRegionName.BackColor = System.Drawing.SystemColors.ActiveCaption; + this.textRegionName.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; + this.textRegionName.Location = new System.Drawing.Point(6, 48); + this.textRegionName.Name = "textRegionName"; + this.textRegionName.Size = new System.Drawing.Size(90, 20); + this.textRegionName.TabIndex = 2; + this.textRegionName.Visible = false; + this.textRegionName.ConfirmInput += new System.EventHandler(this.Save_confirm); + this.textRegionName.AbortInput += new System.EventHandler(this.Save_lost); + this.textRegionName.Leave += new System.EventHandler(this.Save_lost); + // + // RegionBox + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.Black; + this.Controls.Add(this.panel1); + this.MinimumSize = new System.Drawing.Size(160, 180); + this.Name = "RegionBox"; + this.Size = new System.Drawing.Size(175, 237); + this.panel1.ResumeLayout(false); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).EndInit(); + this.ResumeLayout(false); } diff --git a/OnTopReplica/RegionBox.cs b/OnTopReplica/RegionBox.cs index b10eefc..092e566 100644 --- a/OnTopReplica/RegionBox.cs +++ b/OnTopReplica/RegionBox.cs @@ -104,8 +104,15 @@ namespace OnTopReplica { } private void DeleteClick(object sender, EventArgs e) { - Settings.Default.SavedRegions.RemoveAt(comboBox1.SelectedIndex); - comboBox1.Items.RemoveAt(comboBox1.SelectedIndex); + if (comboBox1.SelectedIndex < 0) + return; + + var origIndex = comboBox1.SelectedIndex; + Settings.Default.SavedRegions.RemoveAt(origIndex); + comboBox1.Items.RemoveAt(origIndex); + + if (comboBox1.Items.Count > 0) + comboBox1.SelectedIndex = 0; } private void SaveClick(object sender, EventArgs e) { From 04a1b6cfd0976680ebd1e307b89dae99580857a5 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Mon, 31 May 2010 15:53:30 +0200 Subject: [PATCH 023/164] Added global HotKey to hide/show OnTopReplica (Ctrl+Shift+O). --- OnTopReplica/HotKeyManager.cs | 90 ++++++++++++++++++++ OnTopReplica/MainForm.Designer.cs | 6 +- OnTopReplica/MainForm.cs | 106 +++++++++++++++--------- OnTopReplica/OnTopReplica.csproj | 5 +- OnTopReplica/Properties/AssemblyInfo.cs | 4 +- 5 files changed, 165 insertions(+), 46 deletions(-) create mode 100644 OnTopReplica/HotKeyManager.cs diff --git a/OnTopReplica/HotKeyManager.cs b/OnTopReplica/HotKeyManager.cs new file mode 100644 index 0000000..8f78112 --- /dev/null +++ b/OnTopReplica/HotKeyManager.cs @@ -0,0 +1,90 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Windows.Forms; + +namespace OnTopReplica { + + /// + /// HotKey registration helper. + /// + public class HotKeyManager : IDisposable { + + public HotKeyManager(Form form) { + Owner = form; + + } + + public Form Owner { get; private set; } + + [Flags] + public enum HotKeyModifiers : int { + Alt = 0x1, + Control = 0x2, + Shift = 0x4, + Windows = 0x8 + } + + const int WM_HOTKEY = 0x312; + + [DllImport("user32.dll")] + static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vlc); + + [DllImport("user32.dll")] + static extern bool UnregisterHotKey(IntPtr hWnd, int id); + + private delegate void FormDelegate(HotKeyModifiers mod, Keys key, HotKeyHandler handler); + + public void RegisterHotKey(HotKeyModifiers mod, Keys key, HotKeyHandler handler) { + Owner.Invoke(new FormDelegate(RegisterHotKeyCore), mod, key, handler); + } + + private void RegisterHotKeyCore(HotKeyModifiers mod, Keys keys, HotKeyHandler handler) { + var newKey = ++_lastUsedKey; + + if (!RegisterHotKey(Owner.Handle, newKey, (int)mod, (int)keys)) { + Console.Error.WriteLine("Failed to register {0} hot key.", newKey); + return; + } + + _handlers[newKey] = handler; + } + + public void ProcessHotKeys(Message msg) { + if (msg.Msg == WM_HOTKEY) { + int keyId = msg.WParam.ToInt32(); + if (!_handlers.ContainsKey(keyId)) + return; + _handlers[keyId].Invoke(); + } + } + + private delegate void VoidFormDelegate(); + + private void UnregisterHotKeysCore() { + foreach (var key in _handlers.Keys) { + if (!UnregisterHotKey(Owner.Handle, key)) + Console.Error.WriteLine("Failed to unregister {0} hot key.", key); + } + } + + #region IDisposable Members + + public void Dispose() { + if (Owner != null && Owner.IsHandleCreated) { + Owner.Invoke(new VoidFormDelegate(UnregisterHotKeysCore)); + } + } + + #endregion + + public delegate void HotKeyHandler(); + + private int _lastUsedKey = 0; + + Dictionary _handlers = new Dictionary(); + + } + +} diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index dd68455..7699e74 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -448,7 +448,7 @@ this.openToolStripMenuItem.Size = new System.Drawing.Size(147, 22); this.openToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpen; this.openToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuOpenTT; - this.openToolStripMenuItem.Click += new System.EventHandler(this.IconContextOpen_click); + this.openToolStripMenuItem.Click += new System.EventHandler(this.TaskIconOpen_click); // // resetWindowToolStripMenuItem // @@ -456,7 +456,7 @@ this.resetWindowToolStripMenuItem.Size = new System.Drawing.Size(147, 22); this.resetWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReset; this.resetWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuResetTT; - this.resetWindowToolStripMenuItem.Click += new System.EventHandler(this.IconContextReset_click); + this.resetWindowToolStripMenuItem.Click += new System.EventHandler(this.TaskIconReset_click); // // exitToolStripMenuItem // @@ -465,7 +465,7 @@ this.exitToolStripMenuItem.Size = new System.Drawing.Size(147, 22); this.exitToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClose; this.exitToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuCloseTT; - this.exitToolStripMenuItem.Click += new System.EventHandler(this.IconContextExit_click); + this.exitToolStripMenuItem.Click += new System.EventHandler(this.TaskIconExit_click); // // MainForm // diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 20c6cd0..b68580b 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -17,6 +17,7 @@ namespace OnTopReplica ThumbnailPanel _thumbnailPanel = null; RegionBox _regionBox = null; FullscreenForm _fullscreenForm; + HotKeyManager _hotKeyManager; //Icon NotifyIcon taskIcon = null; @@ -40,6 +41,7 @@ namespace OnTopReplica public MainForm() { InitializeComponent(); + this.SetStyle(ControlStyles.EnableNotifyMessage, true); KeepAspectRatio = false; //Thumbnail panel @@ -75,6 +77,11 @@ namespace OnTopReplica //Hook keyboard handler this.KeyUp += new KeyEventHandler(Common_Key); this.KeyPreview = true; + + //Add hotkeys + _hotKeyManager = new HotKeyManager(this); + _hotKeyManager.RegisterHotKey(HotKeyManager.HotKeyModifiers.Control | HotKeyManager.HotKeyModifiers.Shift, + Keys.O, new HotKeyManager.HotKeyHandler(HotKeyOpenHandler)); } #region Child forms & controls events @@ -181,33 +188,36 @@ namespace OnTopReplica #region Event override - protected override void OnClosing(CancelEventArgs e) { - //Destroy NotifyIcon - if (taskIcon != null) { - taskIcon.Visible = false; - taskIcon.Dispose(); - taskIcon = null; - } - - //Store settings - if (Settings.Default.StoreWindowPosition) { - Settings.Default.WindowPositionStored = true; - Settings.Default.LastLocation = Location; - Settings.Default.LastSize = ClientSize; - } - else - Settings.Default.WindowPositionStored = false; - - base.OnClosing(e); + protected override void OnNotifyMessage(Message m) { + if (_hotKeyManager != null) + _hotKeyManager.ProcessHotKeys(m); } - protected override void OnResizeBegin(EventArgs e) { - base.OnResizeBegin(e); + protected override void OnClosing(CancelEventArgs e) { + //Destroy NotifyIcon + if (taskIcon != null) { + taskIcon.Visible = false; + taskIcon.Dispose(); + taskIcon = null; + } - //Update aspect ratio if needed - /*if (_thumbnailPanel.IsShowingThumbnail) { - SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize); - }*/ + //Destroy hotkeys + { + var manager = _hotKeyManager; + _hotKeyManager = null; + manager.Dispose(); + } + + //Store settings + if (Settings.Default.StoreWindowPosition) { + Settings.Default.WindowPositionStored = true; + Settings.Default.LastLocation = Location; + Settings.Default.LastSize = ClientSize; + } + else + Settings.Default.WindowPositionStored = false; + + base.OnClosing(e); } protected override void OnResize(EventArgs e) { @@ -250,7 +260,7 @@ namespace OnTopReplica taskIcon.Icon = Properties.Resources.main_icon; taskIcon.Visible = true; taskIcon.ContextMenuStrip = menuIconContext; - taskIcon.DoubleClick += new EventHandler(Icon_doubleclick); + taskIcon.DoubleClick += new EventHandler(TaskIcon_doubleclick); //Reload position settings if (_startOverride) { @@ -271,22 +281,15 @@ namespace OnTopReplica #region Task Icon events - void Icon_doubleclick(object sender, EventArgs e) { - if (_isFullscreen) - ToggleFullscreen(); - - //Ensure main form is shown - this.Show(); - this.Activate(); - - this.TopMost = true; + void TaskIcon_doubleclick(object sender, EventArgs e) { + EnsureMainFormVisible(); } - private void IconContextOpen_click(object sender, EventArgs e) { - Icon_doubleclick(sender, e); + private void TaskIconOpen_click(object sender, EventArgs e) { + EnsureMainFormVisible(); } - private void IconContextReset_click(object sender, EventArgs e) { + private void TaskIconReset_click(object sender, EventArgs e) { var dlg = new TaskDialog(Strings.AskReset, Strings.AskResetTitle, Strings.AskResetContent); dlg.UseCommandLinks = true; dlg.CustomButtons = new CustomButton[] { @@ -297,7 +300,7 @@ namespace OnTopReplica if (dlg.Show().CommonButton == Result.OK) { //Reset display status - Icon_doubleclick(sender, e); + TaskIcon_doubleclick(sender, e); //Reset form settings ThumbnailUnset(); @@ -314,7 +317,7 @@ namespace OnTopReplica } } - private void IconContextExit_click(object sender, EventArgs e) { + private void TaskIconExit_click(object sender, EventArgs e) { this.Close(); } @@ -630,6 +633,18 @@ namespace OnTopReplica } } + void HotKeyOpenHandler() { + if (_isFullscreen) + ToggleFullscreen(); + + if (this.Visible) { + this.Hide(); + } + else { + EnsureMainFormVisible(); + } + } + #endregion #region Fullscreen @@ -783,6 +798,19 @@ namespace OnTopReplica dlg.Show(this.Handle); } + /// + /// Ensures that the main form is visible (either closing the fullscreen mode or reactivating from task icon). + /// + private void EnsureMainFormVisible() { + if (_isFullscreen) + ToggleFullscreen(); + + //Ensure main form is shown + this.Show(); + this.Activate(); + this.TopMost = true; + } + #endregion } diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index d9d1039..a19a8fd 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -49,8 +49,8 @@ true publish.htm false - 2 - 2.9.3.%2a + 0 + 2.9.4.%2a false true true @@ -107,6 +107,7 @@ + Strings.it.resx True diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs index 883df01..82310c8 100644 --- a/OnTopReplica/Properties/AssemblyInfo.cs +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.9.3.0")] -[assembly: AssemblyFileVersion("2.9.3.0")] +[assembly: AssemblyVersion("2.9.4.0")] +[assembly: AssemblyFileVersion("2.9.4.0")] From 291676c7f5130973513b01e30d4dc1d71e28b176 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sun, 6 Jun 2010 20:54:38 +0200 Subject: [PATCH 024/164] Strings comments added. --- OnTopReplica/OnTopReplica.csproj | 2 +- OnTopReplica/Strings.Designer.cs | 4 ++-- OnTopReplica/Strings.resx | 5 +++++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index a19a8fd..71e4565 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -49,7 +49,7 @@ true publish.htm false - 0 + 1 2.9.4.%2a false true diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs index a1682a0..2dbe313 100644 --- a/OnTopReplica/Strings.Designer.cs +++ b/OnTopReplica/Strings.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.4927 +// Runtime Version:4.0.30319.1 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -19,7 +19,7 @@ namespace OnTopReplica { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Strings { diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx index 437be69..b2d5202 100644 --- a/OnTopReplica/Strings.resx +++ b/OnTopReplica/Strings.resx @@ -330,6 +330,7 @@ You must run this application on Windows Vista Home Premium or better. Install OnTopReplica {0}? + {0} update version Cancel update @@ -338,6 +339,7 @@ OnTopReplica will prompt you the next time it is started. Proceed Install OnTopReplica {0}. + {0} update version The new version will be automatically downloaded and installed. @@ -346,6 +348,9 @@ Install OnTopReplica {0}. Installed version: {0} Available version: {1} Download size: {2} bytes + {0} installed version number +{1} online available version number +{2} update size Update available From 3e7c8a29dd8db63eec60fd955b531da198b6d163 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 9 Jun 2010 23:12:27 +0200 Subject: [PATCH 025/164] Added Danish language (credits to Allan Jensen). --- OnTopReplica/Assets/flag_danish.png | Bin 0 -> 347 bytes OnTopReplica/MainForm.Designer.cs | 63 +- OnTopReplica/OnTopReplica.csproj | 20 +- OnTopReplica/Properties/Resources.Designer.cs | 11 +- OnTopReplica/Properties/Resources.resx | 6 +- OnTopReplica/Strings.cs.Designer.cs | 0 OnTopReplica/Strings.da.Designer.cs | 0 OnTopReplica/Strings.da.resx | 551 ++++++++++++++++++ 8 files changed, 627 insertions(+), 24 deletions(-) create mode 100644 OnTopReplica/Assets/flag_danish.png create mode 100644 OnTopReplica/Strings.cs.Designer.cs create mode 100644 OnTopReplica/Strings.da.Designer.cs create mode 100644 OnTopReplica/Strings.da.resx diff --git a/OnTopReplica/Assets/flag_danish.png b/OnTopReplica/Assets/flag_danish.png new file mode 100644 index 0000000000000000000000000000000000000000..d39d4c1917c8e11a5b4a713cb900312b21c89195 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8oo45Zzdi4M2&;Pe<`LC`0f7R;$r%(UC zfB(O+@qb?4|NHj+KXBl`l+?R(mw*ON`7uKTXq{q7kY6y6ix)7=KX^eAs5sHn#WAGf z)|B(^d<_mf&VlD0UhFO3@n5qurG-WMNOaxN?gteI%RAPtO5OBCxrys2``Hik4jSof zy1TF_RAHyLcA2}Wk(EioB(EZ09%t>lvPyAN!Zie>ud;V8 + + True + True + Strings.cs.resx + + + True + True + Strings.da.resx + Strings.it.resx True @@ -136,7 +146,14 @@ AboutForm.cs Designer - + + ResXFileCodeGenerator + Strings.cs.Designer.cs + + + ResXFileCodeGenerator + Strings.da.Designer.cs + ResXFileCodeGenerator Strings.it.Designer.cs @@ -221,6 +238,7 @@ + diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs index ca81e04..a502df3 100644 --- a/OnTopReplica/Properties/Resources.Designer.cs +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.4927 +// Runtime Version:4.0.30319.1 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -19,7 +19,7 @@ namespace OnTopReplica.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Resources { @@ -88,6 +88,13 @@ namespace OnTopReplica.Properties { } } + internal static System.Drawing.Bitmap flag_danish { + get { + object obj = ResourceManager.GetObject("flag_danish", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + internal static System.Drawing.Bitmap flag_ita { get { object obj = ResourceManager.GetObject("flag_ita", resourceCulture); diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx index bb9011d..52e4f33 100644 --- a/OnTopReplica/Properties/Resources.resx +++ b/OnTopReplica/Properties/Resources.resx @@ -117,7 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + ..\Assets\ok.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -196,4 +196,8 @@ ..\Assets\flag_czech.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_danish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/OnTopReplica/Strings.cs.Designer.cs b/OnTopReplica/Strings.cs.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/OnTopReplica/Strings.da.Designer.cs b/OnTopReplica/Strings.da.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/OnTopReplica/Strings.da.resx b/OnTopReplica/Strings.da.resx new file mode 100644 index 0000000..ea4be4f --- /dev/null +++ b/OnTopReplica/Strings.da.resx @@ -0,0 +1,551 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OnTopReplica + + + - ingen - + + + Sæt OnTopReplica automatiskt på den aktuelle skærm. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licens</h1> + + <p><b>OnTopReplica</b> er licenseret under <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>Dem originale kildekode kan findes på <a href="http://www.codeplex.com/ontopreplica">projektets hjemmeside på CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica er inspireret af <a href="http://insentient.net">Switcher</a> og andre DWM baserede applikationer.</p> + + <p>Alle Vista funktioner er del af <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero biblioteket</a> for .NET.</p> + + <p>Lidt eksempel kode er taget fra <a href="http://www.ookii.org">Ookii</a> på Channel9.</p> + + <p>NativeToolstripRenderer class er taget fra <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Lidt ikoner fra <a href="http://www.vistaico.com">VistaICO.com</a> og Xiao ikon sættet.</p> + + </body> +</html> + + + Nederst højre + + + 1:1 Pas til vinduet + + + Installer OnTopReplica {0}? + + + &Annuller + + + 1:4 kvart + + + 100% (uigennemsigtig) + + + Krom + + + 50% + + + Klikke igennem + + + Annuller updateringen + + + Gennemklik + + + - hele - + + + 2:1 dobbelt + + + &NulstilAlle ændringer vil blive tabt. + + + Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes. + + + Vinduet du har valgt er lukket eller er ikke gyldigt mere. + + + Viser en liste af vinduer du kan bruge som miniature kilde. + + + Viser OnTopReplica. + + + OnTopReplica blev ikke installeret ved hjælp af 'ClickOnce'. Du bliver nødt til at opdatere manuelt (besøg <a href="http://www.codeplex.com/ontopreplica">OnTopReplica's hjemmeside</a>). + + + Opdater nu! + + + Vis detaljer om OnTopReplica. + + + Luk + + + Aktiver "click forwarding" til det klonede vindue + + + Ingen opdateringer er tilgængelige + + + Windows Aero er kun tilgængelig op Windows Vista Home Premium eller højere. + + + Altid øverst + + + Områder + + + Højde + + + Vælg område... + + + Vælg vindue + + + Slet + + + Genskab + + + Hvis denne funktion er aktiveret vil OnTopReplica vidersende alle venstr museklik til det klonede vindue (dette gør dig i stand til at udføre basis musefunktioner i det klonede vindue uden at skulle aktivere det).For at afslutte denne funktion skal du højreklikke på OnTopReplica og deaktivere "Click forwarding" i menuen. + + + Position + + + Gemte områder + + + Gem + + + I denne tilstand vil fuld skærm vinduet opføre sig som et delvist gennemsigtigt lag, hvilket gør dig i stand til at klikke på de underliggende vinduer.For at komme tilbage til normal tilstand, dobbeltklik på OnTopReplica ikonet i meddelelsesområdet på proceslinjen. + + + Lukker OnTopReplica. + + + Gendan sidste position og størrelse + + + Standard + + + Skjuler hoved vinduet og viser om boxen. + + + Bredde + + + Tilstande + + + Gennem klik tilstand + + + Højreklik her for at starte... + + + Nulstiller OnTopReplica indstillingerne og hoved vinduet. + + + Nulstil indstillinger? + + + Nulstil alle OnTopReplica indstillinger. + + + Nulstil vinduet helt? + + + Nulstil vinduet + + + Nulstil indstillingerne + + + Nulstil + + + Nulstil + + + Uigennemsigtighed + + + Autojuster når gendannes + + + For at benytte den opdaterede udgave af OnTopReplica skal du genstarte programmet. + + + Du skal aktiverere "Windows Aero" som tema i Windows.For at gøre dette skal du højreklikke på skrivebordet og vælge personlige indstillinger. + + + Click forwarding + + + Click forwarding + + + Skift til vindue + + + Skifter til kilde vinduet og gemmer OnTopReplica. + + + Skifter til "område tilstand", der tillader dig at vælge et begrænset område af kildens vindue som miniature. + + + Vælger om OnTopReplica skal gemme sidst brugte størrelse og position, til næste gang det starter op. + + + Vælger Chrome kanten rundt om vinduet til/fra + + + Vælger "glas tilstand" til/fra + + + Ønsker du at aktivere "click forwarding"? + + + Ønskes gennem klik i fuldskærms tilstand? + + + Brug gennem klik. + + + Hvis vinduet ikke er helt uigennemsigtigt når fuldskærm aktiveres, vil det lade alle klik "falde igennem"(lige som en gennemsigtigt film). + + + FortsætInstaller OnTopReplica + + + Detaljer om Windows Aero + + + Fejl detaljer. + + + Detaljer + + + Tegn områder med musen + + + åben + + + Kan bruges til at nulstille alle indstillinger hvis du mister kontrollen over vinduet eller hvis det er flyttet uden for skærmen. + + + Opdatering tilgængelig. + + + Dette nulstiller OnTopReplica til standard indstillingerne (alle gemte informationer, som gemte områder, vil blive slettet). + + + OnTopReplice er opdateret. + + + Om... + + + Den nye version vil automatiskt blive downloaded og installeret. + + + En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. + + + Kan ikke lave miniature + + + Skrivebords komposition ikke understøttet + + + Kunne ikke passes til vinduet. + + + Nej, brug standard fuldskærmDu kan aktivere gennem klik senere. + + + Sætter OnTopReplica til 50% uigennemsigtighed. + + + Sætter OnTopReplica til 75% uigennemsigtighed. + + + Sætter OnTopReplica til 25% uigennemsigtighed. + + + Får OnTopReplica til altid at være øverst. + + + Installeret version: {0}Tilgængelig version: {1}Download størrelse: {2} bytes + + + Sprog + + + Ingen miniature indlæst. + + + Minimere OnTopReplica til systembakken. + + + Kan ikke søge efter opdateringer. + + + Minimer til systembakken. + + + Færdig + + + Øverst højre + + + Sæt OnTopReplica til at være helt uigennemsigtig. + + + Øverst venstre + + + Glas + + + Windows Aero effekter er ikke slået til + + + Windows Aero effekter er ikke understøttet af dit styresystem.Dette program kræver Windows Vista Home Premium eller bedre. + + + Hjemmeside: www.codeplex.com/ontopreplica. + + + Nederst venstre + + + Passer automatisk vinduet til miniaturen når du gendanner det. + + + Fejl: + + + Fejl + + + Lavet af: Lorenz Cuno Klopfenstein. + + + Fuld skærm + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Opfører sig som et almindeligt vindue. Du kan trække andre viduer ind over OnTopReplica. + + + Afslut fuldskærm tilstand. + + + OnTopReplica fuld skærm + + + OnTopReplica er blevet opdateret. + + + Aktuelt område: + + + OnTopReplica checker automatiskt for opdateringer. Der bliver ikke registreret nogen data på noget tidspunkt. + + + Opdater OnTopReplica nu. + + + Opdatering fuldført + + + 1:2 halv + + + 25% + + + 75% + + + Gennem klik virker kun hvis det er blevet aktiveret i gendan undermenuen og hvis vinduet er delvist gennemsigtigt. + + \ No newline at end of file From 8fba47cbeb39029e98a6a21f9ecb3dbf3c1f9c7d Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sun, 20 Jun 2010 02:01:04 +0200 Subject: [PATCH 026/164] Added fatal exception handler with error dump on desktop. --- OnTopReplica/MainForm.cs | 9 +++++---- OnTopReplica/OnTopReplica.csproj | 14 +++++++++++-- OnTopReplica/Program.cs | 27 +++++++++++++++++++++++++ OnTopReplica/Properties/AssemblyInfo.cs | 4 ++-- 4 files changed, 46 insertions(+), 8 deletions(-) diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index b68580b..5bdb7d1 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -6,10 +6,10 @@ using OnTopReplica.Properties; using VistaControls.Dwm; using VistaControls.TaskDialog; -namespace OnTopReplica -{ - public partial class MainForm : AspectRatioForm - { +namespace OnTopReplica { + + public partial class MainForm : AspectRatioForm { + //Visualization status bool _clickForwarding = false; @@ -33,6 +33,7 @@ namespace OnTopReplica public MainForm(Point location, Size size) : this() { + _startOverride = true; _startLocation = location; _startSize = size; diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 89baf3e..716333b 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -49,8 +49,8 @@ true publish.htm false - 1 - 2.9.4.%2a + 2 + 2.9.5.%2a false true true @@ -304,6 +304,16 @@ True Satellite + + False + + + + + Include + True + Satellite + False diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs index cb70cd4..04760eb 100644 --- a/OnTopReplica/Program.cs +++ b/OnTopReplica/Program.cs @@ -5,6 +5,7 @@ using OnTopReplica.Properties; using System.Threading; using System.Globalization; using System.Drawing; +using System.IO; namespace OnTopReplica { @@ -14,6 +15,9 @@ namespace OnTopReplica /// [STAThread] static void Main() { + //Hook abort handler + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); + //Update settings if needed if (Settings.Default.MustUpdate) { Settings.Default.Upgrade(); @@ -70,5 +74,28 @@ namespace OnTopReplica return true; } + + static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { + string dump = string.Format("OnTopReplica-dump-{0}{1}{2}{3}{4}.txt", + DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, + DateTime.UtcNow.Hour, DateTime.UtcNow.Minute); + string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), dump); + + using (var s = new FileStream(path, FileMode.Create)) { + using (var sw = new StreamWriter(s)) { + sw.WriteLine("OnTopReplica Dump file"); + sw.WriteLine("This file has been created because OnTopReplica crashed."); + sw.WriteLine("Please send it to lck@klopfenstein.net to help fix the bug that caused the crash."); + sw.WriteLine(); + sw.WriteLine("Last exception:"); + sw.WriteLine(e.ExceptionObject.ToString()); + sw.WriteLine(); + sw.WriteLine("OS: {0}", Environment.OSVersion.ToString()); + sw.WriteLine(".NET: {0}", Environment.Version.ToString()); + sw.WriteLine("Aero DWM: {0}", VistaControls.OsSupport.IsCompositionEnabled); + } + } + } + } } diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs index 82310c8..4848486 100644 --- a/OnTopReplica/Properties/AssemblyInfo.cs +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.9.4.0")] -[assembly: AssemblyFileVersion("2.9.4.0")] +[assembly: AssemblyVersion("2.9.5.0")] +[assembly: AssemblyFileVersion("2.9.5.0")] From 11edb1ed58f048c667a6a4bc3ff2f9504041a19e Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sun, 20 Jun 2010 11:55:34 +0200 Subject: [PATCH 027/164] Fixed error reporting on wrong OS or disabled DWM. Removed TaskDialog for those errors (CommCtrl 6.0 not loaded before Form is shown, InitCommonControlsEx doesn't work, must fix somewhere). --- OnTopReplica/MainForm.cs | 36 ++++------------- OnTopReplica/OnTopReplica.csproj | 18 ++++++++- OnTopReplica/OnTopReplica.csproj.user | 6 ++- OnTopReplica/OnTopReplica.exe.manifest | 38 ++++++++++++++++++ OnTopReplica/Program.cs | 39 +++++++++++++++++-- .../Properties/OnTopReplica.exe.manifest | 22 ----------- 6 files changed, 103 insertions(+), 56 deletions(-) create mode 100644 OnTopReplica/OnTopReplica.exe.manifest delete mode 100644 OnTopReplica/Properties/OnTopReplica.exe.manifest diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 5bdb7d1..c7ef7f8 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -223,6 +223,7 @@ namespace OnTopReplica { protected override void OnResize(EventArgs e) { base.OnResize(e); + this.GlassMargins = (_regionBoxShowing) ? new Margins(ClientSize.Width - _regionBox.Width, 0, 0, 0) : new Margins(-1); @@ -231,39 +232,19 @@ namespace OnTopReplica { protected override void OnShown(EventArgs e) { base.OnShown(e); - //Do some checks in order to verify the presence of desktop composition - if (!VistaControls.OsSupport.IsVistaOrBetter) { - MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); - this.Close(); - - return; - } - - if (!VistaControls.OsSupport.IsCompositionEnabled) { - VistaControls.TaskDialog.TaskDialog dlg = new VistaControls.TaskDialog.TaskDialog(Strings.ErrorDwmOff, Strings.ErrorGenericTitle, Strings.ErrorDwmOffContent); - dlg.ExpandedControlText = Strings.ErrorDetailsAero; - dlg.ExpandedInformation = Strings.ErrorDetailsAeroInfo; - dlg.CommonButtons = TaskDialogButton.Close; - dlg.CommonIcon = VistaControls.TaskDialog.TaskDialogIcon.Stop; - dlg.Show(); - - this.Close(); - - return; - } - //Get a window manager _windowManager = new WindowManager(); //Install NotifyIcon - taskIcon = new NotifyIcon(); - taskIcon.Text = Strings.ApplicationName; - taskIcon.Icon = Properties.Resources.main_icon; - taskIcon.Visible = true; - taskIcon.ContextMenuStrip = menuIconContext; + taskIcon = new NotifyIcon { + Text = Strings.ApplicationName, + Icon = Properties.Resources.main_icon, + Visible = true, + ContextMenuStrip = menuIconContext + }; taskIcon.DoubleClick += new EventHandler(TaskIcon_doubleclick); - //Reload position settings + //Reload position settings if needed if (_startOverride) { Location = _startLocation; Size = _startSize; @@ -274,7 +255,6 @@ namespace OnTopReplica { } //Glassify window - this.GlassMargins = new VistaControls.Dwm.Margins(-1); SetGlass(Settings.Default.UseGlass); } diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 716333b..2f091a5 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -19,7 +19,6 @@ OnTopReplica.Program - Properties\OnTopReplica.exe.manifest false DB79D77572EF10838D6A2CECDDE738C6570E7995 OnTopReplica_TemporaryKey.pfx @@ -66,6 +65,7 @@ false + true pdbonly @@ -79,6 +79,13 @@ true false + + + + + + OnTopReplica.exe.manifest + @@ -105,6 +112,7 @@ + @@ -237,7 +245,9 @@ - + + Designer + @@ -326,6 +336,10 @@ + + + + + diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs index 04760eb..872215c 100644 --- a/OnTopReplica/Program.cs +++ b/OnTopReplica/Program.cs @@ -6,6 +6,7 @@ using System.Threading; using System.Globalization; using System.Drawing; using System.IO; +using VistaControls.TaskDialog; namespace OnTopReplica { @@ -18,15 +19,19 @@ namespace OnTopReplica //Hook abort handler AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + + //Check for DWM + if (!CanStart) + return; + //Update settings if needed if (Settings.Default.MustUpdate) { Settings.Default.Upgrade(); Settings.Default.MustUpdate = false; } - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); - bool reloadSettings = false; Point reloadLocation = new Point(); Size reloadSize = new Size(); @@ -55,6 +60,34 @@ namespace OnTopReplica Settings.Default.Save(); } + /// + /// Checks whether OnTopReplica can start or not. + /// + private static bool CanStart { + get { + //Do some checks in order to verify the presence of desktop composition + if (!VistaControls.OsSupport.IsVistaOrBetter) { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + if (!VistaControls.OsSupport.IsCompositionEnabled) { + MessageBox.Show(Strings.ErrorDwmOffContent, Strings.ErrorDwmOff, MessageBoxButtons.OK, MessageBoxIcon.Error); + /*var dlg = new TaskDialog(Strings.ErrorDwmOff, Strings.ErrorGenericTitle, Strings.ErrorDwmOffContent) { + ExpandedControlText = Strings.ErrorDetailsAero, + ExpandedInformation = Strings.ErrorDetailsAeroInfo, + CommonButtons = TaskDialogButton.Close, + CommonIcon = VistaControls.TaskDialog.TaskDialogIcon.Stop + }; + dlg.Show();*/ + + return false; + } + + return true; + } + } + static CultureInfo _languageChangeCode = Settings.Default.Language; /// diff --git a/OnTopReplica/Properties/OnTopReplica.exe.manifest b/OnTopReplica/Properties/OnTopReplica.exe.manifest deleted file mode 100644 index 733e21f..0000000 --- a/OnTopReplica/Properties/OnTopReplica.exe.manifest +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 964c2a000fec1c97a28177b46c4132108c1bab63 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 22 Jun 2010 13:05:30 +0200 Subject: [PATCH 028/164] Basic selective platform features. --- OnTopReplica/CommonControls.cs | 30 ++++++++ OnTopReplica/MainForm.Designer.cs | 12 ++-- OnTopReplica/MainForm.cs | 23 +++--- OnTopReplica/OnTopReplica.csproj | 5 ++ OnTopReplica/PlatformSupport.cs | 52 ++++++++++++++ OnTopReplica/Platforms/Other.cs | 14 ++++ OnTopReplica/Platforms/WindowsSeven.cs | 21 ++++++ OnTopReplica/Platforms/WindowsVista.cs | 18 +++++ OnTopReplica/Platforms/WindowsXp.cs | 15 ++++ OnTopReplica/Program.cs | 98 ++++++++++---------------- 10 files changed, 211 insertions(+), 77 deletions(-) create mode 100644 OnTopReplica/CommonControls.cs create mode 100644 OnTopReplica/PlatformSupport.cs create mode 100644 OnTopReplica/Platforms/Other.cs create mode 100644 OnTopReplica/Platforms/WindowsSeven.cs create mode 100644 OnTopReplica/Platforms/WindowsVista.cs create mode 100644 OnTopReplica/Platforms/WindowsXp.cs diff --git a/OnTopReplica/CommonControls.cs b/OnTopReplica/CommonControls.cs new file mode 100644 index 0000000..fa2af71 --- /dev/null +++ b/OnTopReplica/CommonControls.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica { + public static class CommonControls { + + [DllImport("comctl32.dll", EntryPoint = "InitCommonControlsEx", CallingConvention = CallingConvention.StdCall)] + static extern bool InitCommonControlsEx(ref INITCOMMONCONTROLSEX iccex); + + const int ICC_STANDARD_CLASSES = 0x00004000; + const int ICC_WIN95_CLASSES = 0x000000FF; + + public static bool InitStandard() { + INITCOMMONCONTROLSEX ex = new INITCOMMONCONTROLSEX(); + ex.dwSize = 8; + ex.dwICC = ICC_STANDARD_CLASSES | ICC_WIN95_CLASSES; + + return InitCommonControlsEx(ref ex); + } + + } + + struct INITCOMMONCONTROLSEX { + public int dwSize; + public int dwICC; + } + +} diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 0887e22..3ee672d 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -388,14 +388,15 @@ this.danskToolStripMenuItem1, this.italianoToolStripMenuItem}); this.menuLanguages.Name = "menuLanguages"; - this.menuLanguages.Size = new System.Drawing.Size(153, 114); + this.menuLanguages.OwnerItem = this.languageToolStripMenuItem; + this.menuLanguages.Size = new System.Drawing.Size(114, 92); this.menuLanguages.Text = "Dansk"; // // englishToolStripMenuItem // this.englishToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_usa; this.englishToolStripMenuItem.Name = "englishToolStripMenuItem"; - this.englishToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.englishToolStripMenuItem.Size = new System.Drawing.Size(113, 22); this.englishToolStripMenuItem.Tag = "en-US"; this.englishToolStripMenuItem.Text = "English"; this.englishToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); @@ -404,7 +405,7 @@ // this.cestinaToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_czech; this.cestinaToolStripMenuItem.Name = "cestinaToolStripMenuItem"; - this.cestinaToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.cestinaToolStripMenuItem.Size = new System.Drawing.Size(113, 22); this.cestinaToolStripMenuItem.Tag = "cs-CZ"; this.cestinaToolStripMenuItem.Text = "Čeština"; this.cestinaToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); @@ -413,7 +414,7 @@ // this.danskToolStripMenuItem1.Image = global::OnTopReplica.Properties.Resources.flag_danish; this.danskToolStripMenuItem1.Name = "danskToolStripMenuItem1"; - this.danskToolStripMenuItem1.Size = new System.Drawing.Size(152, 22); + this.danskToolStripMenuItem1.Size = new System.Drawing.Size(113, 22); this.danskToolStripMenuItem1.Tag = "da-DK"; this.danskToolStripMenuItem1.Text = "Dansk"; this.danskToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Language_click); @@ -422,7 +423,7 @@ // this.italianoToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_ita; this.italianoToolStripMenuItem.Name = "italianoToolStripMenuItem"; - this.italianoToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.italianoToolStripMenuItem.Size = new System.Drawing.Size(113, 22); this.italianoToolStripMenuItem.Tag = "it-IT"; this.italianoToolStripMenuItem.Text = "Italiano"; this.italianoToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); @@ -500,7 +501,6 @@ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MinimumSize = new System.Drawing.Size(200, 210); this.Name = "MainForm"; - this.ShowInTaskbar = false; this.TopMost = true; this.DoubleClick += new System.EventHandler(this.Form_doubleclick); this.menuContext.ResumeLayout(false); diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index c7ef7f8..fa943a6 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -70,7 +70,7 @@ namespace OnTopReplica { _fullscreenForm = new FullscreenForm(); _fullscreenForm.CloseRequest += new EventHandler(FullscreenForm_CloseRequest); - //Set native renderer on context menues + //Set native renderer on context menus Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(new Control[] { menuContext, menuWindows, menuOpacity, menuIconContext, menuResize, menuLanguages }); @@ -209,7 +209,7 @@ namespace OnTopReplica { manager.Dispose(); } - //Store settings + //Store position settings if (Settings.Default.StoreWindowPosition) { Settings.Default.WindowPositionStored = true; Settings.Default.LastLocation = Location; @@ -235,14 +235,17 @@ namespace OnTopReplica { //Get a window manager _windowManager = new WindowManager(); - //Install NotifyIcon - taskIcon = new NotifyIcon { - Text = Strings.ApplicationName, - Icon = Properties.Resources.main_icon, - Visible = true, - ContextMenuStrip = menuIconContext - }; - taskIcon.DoubleClick += new EventHandler(TaskIcon_doubleclick); + //Platform specific tray/taskbar + this.ShowInTaskbar = Program.Platform.ShowsInTaskBar; + if (Program.Platform.InstallTrayIcon) { + taskIcon = new NotifyIcon { + Text = Strings.ApplicationName, + Icon = Properties.Resources.main_icon, + Visible = true, + ContextMenuStrip = menuIconContext + }; + taskIcon.DoubleClick += new EventHandler(TaskIcon_doubleclick); + } //Reload position settings if needed if (_startOverride) { diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 2f091a5..de5953d 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -116,6 +116,11 @@ + + + + + True True diff --git a/OnTopReplica/PlatformSupport.cs b/OnTopReplica/PlatformSupport.cs new file mode 100644 index 0000000..c6539bc --- /dev/null +++ b/OnTopReplica/PlatformSupport.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Platforms; + +namespace OnTopReplica { + abstract class PlatformSupport { + + public static PlatformSupport Create() { + var os = Environment.OSVersion; + + if (os.Platform != PlatformID.Win32NT) + return new Other(); + + if (os.Version.Major == 6) { + if (os.Version.Minor >= 1) + return new WindowsSeven(); + else + return new WindowsVista(); + } + else { + //Generic NT + return new WindowsXp(); + } + } + + /// + /// Checks whether OnTopReplica is compatible with the platform. + /// + /// Returns false if OnTopReplica cannot run. + public abstract bool CheckCompatibility(); + + /// + /// Gets whether OnTopReplica should be displayed in the task bar. + /// + public virtual bool ShowsInTaskBar { + get { + return false; + } + } + + /// + /// Gets whether OnTopReplica should install a tray icon. + /// + public virtual bool InstallTrayIcon { + get { + return true; + } + } + + } +} diff --git a/OnTopReplica/Platforms/Other.cs b/OnTopReplica/Platforms/Other.cs new file mode 100644 index 0000000..e874026 --- /dev/null +++ b/OnTopReplica/Platforms/Other.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Platforms { + class Other : PlatformSupport { + + public override bool CheckCompatibility() { + //TODO: Err MSG + return false; + } + + } +} diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs new file mode 100644 index 0000000..8fc63a5 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Platforms { + class WindowsSeven : WindowsVista { + + public override bool InstallTrayIcon { + get { + return false; + } + } + + public override bool ShowsInTaskBar { + get { + return true; + } + } + + } +} diff --git a/OnTopReplica/Platforms/WindowsVista.cs b/OnTopReplica/Platforms/WindowsVista.cs new file mode 100644 index 0000000..1d79669 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsVista.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.Platforms { + class WindowsVista : PlatformSupport { + + public override bool CheckCompatibility() { + if (!VistaControls.OsSupport.IsCompositionEnabled) { + MessageBox.Show(Strings.ErrorDwmOffContent, Strings.ErrorDwmOff, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + return true; + } + + } +} diff --git a/OnTopReplica/Platforms/WindowsXp.cs b/OnTopReplica/Platforms/WindowsXp.cs new file mode 100644 index 0000000..88d3895 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsXp.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.Platforms { + class WindowsXp : PlatformSupport { + + public override bool CheckCompatibility() { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + } +} diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs index 872215c..9c8ea4f 100644 --- a/OnTopReplica/Program.cs +++ b/OnTopReplica/Program.cs @@ -8,9 +8,12 @@ using System.Drawing; using System.IO; using VistaControls.TaskDialog; -namespace OnTopReplica -{ +namespace OnTopReplica { + static class Program { + + public static PlatformSupport Platform { get; private set; } + /// /// The main entry point for the application. /// @@ -22,25 +25,26 @@ namespace OnTopReplica Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); - //Check for DWM - if (!CanStart) + //Initialize and check for platform support + Platform = PlatformSupport.Create(); + if (!Platform.CheckCompatibility()) return; - //Update settings if needed - if (Settings.Default.MustUpdate) { - Settings.Default.Upgrade(); - Settings.Default.MustUpdate = false; - } + //Update settings if needed + if (Settings.Default.MustUpdate) { + Settings.Default.Upgrade(); + Settings.Default.MustUpdate = false; + } bool reloadSettings = false; Point reloadLocation = new Point(); Size reloadSize = new Size(); - do { - //Update language settings - Thread.CurrentThread.CurrentUICulture = _languageChangeCode; - Settings.Default.Language = _languageChangeCode; - _languageChangeCode = null; + do { + //Update language settings + Thread.CurrentThread.CurrentUICulture = _languageChangeCode; + Settings.Default.Language = _languageChangeCode; + _languageChangeCode = null; Form form; if (reloadSettings) @@ -48,66 +52,38 @@ namespace OnTopReplica else form = new MainForm(); - Application.Run(form); + Application.Run(form); reloadSettings = true; reloadLocation = form.Location; reloadSize = form.Size; - } - while(_languageChangeCode != null); + } + while (_languageChangeCode != null); - //Persist settings - Settings.Default.Save(); + //Persist settings + Settings.Default.Save(); } + static CultureInfo _languageChangeCode = Settings.Default.Language; + /// - /// Checks whether OnTopReplica can start or not. + /// Forces a global language change. As soon as the main form is closed, the change is performed + /// and the form is reopened using the new language. /// - private static bool CanStart { - get { - //Do some checks in order to verify the presence of desktop composition - if (!VistaControls.OsSupport.IsVistaOrBetter) { - MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); - return false; - } + public static bool ForceGlobalLanguageChange(string languageCode) { + if (string.IsNullOrEmpty(languageCode)) + return false; - if (!VistaControls.OsSupport.IsCompositionEnabled) { - MessageBox.Show(Strings.ErrorDwmOffContent, Strings.ErrorDwmOff, MessageBoxButtons.OK, MessageBoxIcon.Error); - /*var dlg = new TaskDialog(Strings.ErrorDwmOff, Strings.ErrorGenericTitle, Strings.ErrorDwmOffContent) { - ExpandedControlText = Strings.ErrorDetailsAero, - ExpandedInformation = Strings.ErrorDetailsAeroInfo, - CommonButtons = TaskDialogButton.Close, - CommonIcon = VistaControls.TaskDialog.TaskDialogIcon.Stop - }; - dlg.Show();*/ - - return false; - } - - return true; + try { + _languageChangeCode = new CultureInfo(languageCode); } + catch { + return false; + } + + return true; } - static CultureInfo _languageChangeCode = Settings.Default.Language; - - /// - /// Forces a global language change. As soon as the main form is closed, the change is performed - /// and the form is reopened using the new language. - /// - public static bool ForceGlobalLanguageChange(string languageCode){ - if (string.IsNullOrEmpty(languageCode)) - return false; - - try { - _languageChangeCode = new CultureInfo(languageCode); - } - catch { - return false; - } - - return true; - } - static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { string dump = string.Format("OnTopReplica-dump-{0}{1}{2}{3}{4}.txt", DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, From 07b4db466606bf47e315ee5217a5f8327829bb25 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 23 Jun 2010 17:09:16 +0200 Subject: [PATCH 029/164] Added basic resizing with mouse wheel (bugged still). --- OnTopReplica/AspectRatioForm.cs | 26 ++++++++++++++++++-------- OnTopReplica/MainForm.cs | 6 ++++++ 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs index e8a94ed..bfd4c39 100644 --- a/OnTopReplica/AspectRatioForm.cs +++ b/OnTopReplica/AspectRatioForm.cs @@ -70,6 +70,24 @@ namespace OnTopReplica { ClientSize = new Size(newWidth, newHeight); } + public void AdjustSize(double delta) { + int newWidth = Math.Max((int)(ClientSize.Width + delta), MinimumSize.Width); + int newHeight = (int)((newWidth - ExtraPadding.Horizontal) / AspectRatio + ExtraPadding.Vertical); + + //Readjust if we go lower than minimal height + if (newHeight < MinimumSize.Height) { + newHeight = MinimumSize.Height; + newWidth = (int)((newHeight - ExtraPadding.Vertical) * AspectRatio + ExtraPadding.Horizontal); + } + + //Compute movement to re-center + int deltaX = newWidth - ClientSize.Width; + int deltaY = newHeight - ClientSize.Height; + + ClientSize = new Size(newWidth, newHeight); + Location = new Point(Location.X - (deltaX / 2), Location.Y - (deltaY / 2)); + } + /// /// Updates the aspect ratio of the form and forces a refresh. /// @@ -146,14 +164,6 @@ namespace OnTopReplica { return new Size(size.Width - clientSizeConversionWidth, size.Height - clientSizeConversionHeight); } - /*private void ClientSizeInit() { - if (clientSizeConversionSet) - return; - - clientSizeConversionWidth = this.Size.Width - this.ClientSize.Width; - clientSizeConversionHeight = this.ClientSize.Width - this.ClientSize.Height; - }*/ - protected override void OnShown(EventArgs e) { base.OnShown(e); diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index fa943a6..3b26e50 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -229,6 +229,12 @@ namespace OnTopReplica { new Margins(-1); } + protected override void OnMouseWheel(MouseEventArgs e) { + base.OnMouseWheel(e); + + AdjustSize(e.Delta); + } + protected override void OnShown(EventArgs e) { base.OnShown(e); From 95005969829a8f77e9d3d84275381f704515da43 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sun, 27 Jun 2010 01:53:07 +0200 Subject: [PATCH 030/164] Bug fix for 0x0 pixels region selection. --- OnTopReplica/ThumbnailPanel.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs index 2953375..9c73f0c 100644 --- a/OnTopReplica/ThumbnailPanel.cs +++ b/OnTopReplica/ThumbnailPanel.cs @@ -393,8 +393,13 @@ namespace OnTopReplica { public event RegionDrawnHandler RegionDrawn; protected virtual void OnRegionDrawn(Rectangle region) { - if (RegionDrawn != null) - RegionDrawn(this, region); + //Fix region if necessary (bug report by Gunter, via comment) + if (region.Width < 1) region.Width = 1; + if (region.Height < 1) region.Height = 1; + + var evt = RegionDrawn; + if (evt != null) + evt(this, region); } protected Point ScreenToThumbnail(Point position) { From ca8570bd769d44367e579521ffd36807104657d0 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Mon, 28 Jun 2010 19:58:38 +0200 Subject: [PATCH 031/164] Updated WindowsFormsAero library (from source). Removed title and icon from About form. Updated platform support, now sets Flip 3D policy (Vista) and Aero Peek exclusion (on Windows 7). Changed context menu in order to work with the improved GlassForm version. Fixed AspectRatioForm with code from Stanimir Stoyanov's blog. --- Lib/VistaControls.dll | Bin 87040 -> 95744 bytes Lib/VistaControls.pdb | Bin 200192 -> 214528 bytes Lib/VistaControls.xml | 900 ++++++++++++++++--------- OnTopReplica/AboutForm.Designer.cs | 30 +- OnTopReplica/AboutForm.cs | 12 +- OnTopReplica/AspectRatioForm.cs | 83 ++- OnTopReplica/MainForm.Designer.cs | 1 - OnTopReplica/MainForm.cs | 30 +- OnTopReplica/NativeMethods.cs | 30 +- OnTopReplica/OnTopReplica.csproj | 1 + OnTopReplica/PlatformSupport.cs | 8 + OnTopReplica/Platforms/WindowsSeven.cs | 9 + OnTopReplica/Platforms/WindowsVista.cs | 5 + OnTopReplica/RegionBox.cs | 5 +- OnTopReplica/ThumbnailPanel.cs | 16 +- OnTopReplica/VirtualKeyState.cs | 195 ++++++ 16 files changed, 898 insertions(+), 427 deletions(-) create mode 100644 OnTopReplica/VirtualKeyState.cs diff --git a/Lib/VistaControls.dll b/Lib/VistaControls.dll index c24dc76500f58d3ac4d8bebe03d8d5b9451d08ce..c59e052bb13f9d3966357c2cd7352dc7c09bb914 100644 GIT binary patch literal 95744 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 literal 87040 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

= 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

+d74uU#;&=w8lY zd!^fn;lDoHP1vbd3gc{>ep)EP3tuGTsM-YHkJabZT7=-ZR|Hf!KaFQc#cL%3Wv)m$ zHv?@9Eoi1Ahw*{{$dR0Ra0)Sz!{tS(niz{@t70~BW+R8u@bHlIxfSL!#E<+r6@vw^f!d*!Bf{b)De-5 zvosw>Csdt6HKA;E31%ZYIrM8e8b-1Z-x%Z|r?)po1YgMGzb~EvOYN+S;qVlc6?5fC zUXM#AMF=EbyAgrjif(9XZ=yEz%TE!it{_tjW=HDc-Bnf? zc4Ih*%?)l>alb0m=?~f+ZT)`8ykl?G?fX{Htw_fV;Owx)B1lDFT9fTq)vEIRtxK4@ybQPruJiz_G25dFM)l$MX0RvEUue7&a*hh z>g=#F@#XXj%Vl(eML|FImnCibmo4HBd+r_G*4#a&Qk(-iuW}s@;j}LO0?Kt8BhI6v z{|Pd+-Ada_YKpr&7PL?wZAS=qzSvTi*7sn2mRx^CsA)MIBFRuMH{XeR0f#5uD%b(w zQuK}5_D%k@ACo0;+p))msbsO*evB*E_G3Tx(?i>_75`moY3_Aadi1XUSbI^w@ISSw z{Gzc)=9UeXMBA~Sf~D*hFu#p0f$LFqZO49&h1r&oEG|ZYnC69&6drk_G-4>6{qj~V z$`**7BJ|`TN*3c~a-*)PZm`s~CK5;|Eq}%HIG@jj6xF1?k!mS2&IvLGVnkYzwntoZ z_x$#zK`UNJ&qf{o?PX$-p6hV7u2ki>mu^6(tJLgoFU=4tT&pIjJAQkqwm523da|qe zRjVq1-(GF0Nz*-@WexSFYE#kwyj4x-V1B$@s+1p} zg840Kkb_|1Z*7F(uw9e3T-kgEA^a;cdC2j%brwfOawp$noiJ zi_-OOKZmEg!x-UhdzGcmuOA$1@60RAPO$fW0n|Y1eNaB|PApku(z3v;FAM< zCi3H0p_FqGloAUNa1zM*31pq^FPEFsIqPi49F`ALkg=CqDxOARIUk)E z>%BS?WK_VEeC+~Wg@zndi@7i?aDD!pmhuOAE1JnJyf(Hb)Z@lV(pWNUxqJ0aOZC(- zpOnODj2D=1JFz${kEA%?oDdF~!~C^{^H-S=-QBe)=)<{*GzaIII6~pBmUg`O!eF?4 zGn-)HW)RN296M?4cVEf5aQofYV6utH)F_YmIy)C5!n?20|6`ip*?FE4!m&}%R=3|B zZ3+5Ux6lwGp@o}scVCI%vUAkdcFU5W4_T7~G9Y);lH-`8vZ>7s0SmT#)mb<}g2-ec z#}#MRQu`P7UC54M^5A;j$naolsEcY=K`WKU^Ro0IKeNw3r+&6>#fB6HE!AIJ4AyyU zY?!g5I%~pGdM4w|I%2!fQY-6wE>sTXey^S^gd7_W3Jus^Y2XKsKS*F?8?k{6MlIgDwR!yVE4E&_*idQPrDwIEwtnc|44gQf z@V5P6(p$0Z4WIe3a<&Xb-u-$WS)np&C5rE37|hiP-H*>I_nS{)>Rq~LCdQEVlgOL% z@7FX(99#YG(=~rkx-a819lqv+&w$6#-L-Nq{Xc)PitMNl_TW{=w z(;MjY$K%VrbC`|c6v+7(YT63pZs@LNfN|(|rl6ylgg#>izeCUxOp4b}`~LOUJRoku zAOAVOH;9eBTJxc?%1w{(@wI-?mISK7O{<}y*rQu2)zzW={v8eSp#e;gt zH-+V_g*;I+ml~P}7l^4>{A^Ore_PcU%t~!j=OL`4|EYCNDMno_)5tuHP%UJ8RSUv7 zIqpTSE6}54`mUZS^XJA>ujj~EHbD`^MlZl#Oh-KT11^fXN;&T zr2csJJs|NUO*qy%V{__*Hfr+z`|`A1>T(!ym5|R_)FX9lofv*o97=7KI;;;nzb5C` y<2DHsMT=3-nL42b)IbDn#aeY+V176h=fC&A12`5$4qLDL@14#6m%IO(8u&ljKxaJw diff --git a/Lib/VistaControls.pdb b/Lib/VistaControls.pdb index 015f990c7b9b438c37f271c2535431a9b1824fde..bbad1f60e549647d8b3286c1d3574a3391855505 100644 GIT binary patch literal 214528 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

Common Task Dialog buttons. OK is the default button. - - Class that aggregates the results of an "indirect" Task Dialog. - - - Results returned by Task Dialogs when closed by the user. - Represents a custom button shown on a Task Dialog. @@ -36,37 +30,132 @@ Text label shown on the button. If you enable Command Links, a newline here separates the upper from the lower string on the button. - + - A Label containing some text that will be drawn with glowing border on top of the Glass Sheet effect. + Adds a handler on the Form that enables the user to move the window around + by clicking on a glass margin (or the title bar, as usual). + + The form that will be controlled. + Margins of the glass sheet. + + Eventual UI elements on the glass sheet will prevent the handler from receiving events + (except the ThemeText control, which manually redirects mouse events to the form). + + + + + Adds a handler on the Form that automatically paints the glass background black + + The form that will be controlled. + Margins of the glass sheet. + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + Control style and notification constants - - Size of the glow effect around the text. + + Stores a Task Dialog message that will be sent to a dialog in order to update its state. - - Enables or disables the glow effect around the text. + + Simple int, int message. - - Shadow type. + + Simple int, bool message. - - Gets or sets the horizontal text alignment setting. + + Simple bool, bool message. - - Gets or sets the vertical text alignment setting. + + Simple bool, int message. - - Gets or sets whether the text will be laid out on a single line or on multiple lines. + + Simple int, long (hi word and lo word) message. - - Gets or sets whether the text lines over the label's border should be trimmed with an ellipsis. + + Text updating message. + The string will be marshaled: the Message must be correctly disposed after use. - - Gets or sets whether the text should break only at the end of a word. + + Navigation message. + The config structure will be marshaled: must be correctly disposed after use. - - Gets or sets whether the text should be trimmed to the last word and an ellipse should be placed at the end of the line. + + Text values that can be updated. + + + A standard WinForms text box presenting the common Vista "search" interface. + Reacts on user input by raising "SearchStarted" events. + + + Puts the focus on the text box and moves the caret to the end of the text, without selecting it. + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + Gets or sets the background Color of the button when the mouse hovers on it. + + + Gets or sets the ForeColor of the control when the search box is active. + + + Gets or sets the BackColor of the control when the search box is active. + + + Gets or sets the ForeColor of the control when the search box is inactive. + + + Gets or sets the BackColor of the control when the search box is inactive. + + + Temporary ForeColor property of the control. You should use InactiveForeColor and ActiveForeColor instead. + + + Temporary BackColor property of the control. You should use InactiveBackColor and ActiveBackColor instead. + + + Gets or sets the text that is shown on top of the text box when the user hasn't entered any text. + + + Gets or sets the font used in the search text box. + Equals to the Font property. + + + Gets or sets the font used to write the "inactivity label" on top of the control when the user hasn't entered any text. + + + Overall Font property of the control. Property changes are forwarded to the ActiveFont property. + + + Returns true if the user entered some text in the search textbox. @@ -87,36 +176,6 @@ Displays a dialog box that can contain text, icons, buttons, command links, radio buttons and/or a progress bar. - - Displays a task dialog that has a message. - The text to display. - - - Displays a task dialog that has a message and a title. - The text to display. - The title bar caption of the dialog. - - - Displays a task dialog that has a message, a title and an instruction. - The text to display. - The title bar caption of the dialog. - The instruction shown below the main text. - - - Displays a task dialog that has a message, a title, an instruction and one or more buttons. - The text to display. - The title bar caption of the dialog. - The instruction shown below the main text. - Value that specifies which button or buttons to display. - - - Displays a task dialog that has a message, a title, an instruction, one or more buttons and an icon. - The text to display. - The title bar caption of the dialog. - The instruction shown below the main text. - Value that specifies which button or buttons to display. - The icon to display. - Initializes a new Task Dialog instance without text. @@ -216,6 +275,36 @@ Displays the task dialog with an explicit parent form. Instance of the dialog's parent form. + + Displays a task dialog that has a message. + The text to display. + + + Displays a task dialog that has a message and a title. + The text to display. + The title bar caption of the dialog. + + + Displays a task dialog that has a message, a title and an instruction. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + + + Displays a task dialog that has a message, a title, an instruction and one or more buttons. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + + + Displays a task dialog that has a message, a title, an instruction, one or more buttons and an icon. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + The icon to display. + Is true if the task dialog is currently displayed. @@ -365,231 +454,41 @@ Occurs when the user clicks on the expand button of the dialog, before the dialog is expanded. - - Stores a Task Dialog message that will be sent to a dialog in order to update its state. + + Occurs when the split label is clicked. - - Simple int, int message. + + Occurs when the split label is clicked, but before the associated + context menu is displayed by the control. - - Simple int, bool message. + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. - - Simple bool, bool message. + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. Exposed for backward compatibility. - - Simple bool, int message. + + Provides data for the clicking of split buttons and the opening + of context menus. - - Simple int, long (hi word and lo word) message. + + Represents the bounding box of the clicked button. + A menu should be opened, with top-left coordinates in the left-bottom point of + the rectangle and with width equal (or greater) than the width of the rectangle. - - Text updating message. - The string will be marshaled: the Message must be correctly disposed after use. + + Set to true if you want to prevent the menu from opening. - - Navigation message. - The config structure will be marshaled: must be correctly disposed after use. + + Margins structure for the Glass Sheet effect. - - Text values that can be updated. - - - Direct Task Dialog call. - - - Indirect Task Dialog call. Allows complex dialogs with interaction logic (via callback). - - - The Task Dialog config structure. - - - Flags used in TaskDialogConfig struct. - From CommCtrl.h. - - - Notifications returned by Task Dialogs to the callback. - From CommCtrl.h. - - - Messages that can be sent to Task Dialogs. - From CommCtrl.h. - - - Handle to a DWM Thumbnail. - - - Updates the thumbnail's display settings. - Drawing region on destination window. - Origin region from source window. - Opacity. 0 is transparent, 255 opaque. - Visibility flag. - If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. - - - Updates the thumbnail's display settings. - Drawing region on destination window. - Opacity. 0 is transparent, 255 opaque. - Visibility flag. - If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. - - - Returns true if the handle is valid, false if the handle has been closed or hasn't been initialized. - - - Sets the thumbnail opacity value, from 0 to 255 (opaque). - - - Sets whether only the client area of the thumbnailed window should be shown or - the entire window area. - - - Area in the destination window on which the thumbnail should be drawn. - - - Region of the source window that should be drawn. - - - Sets whether the thumbnail should be drawn or not. - - - Gets the thumbnail's original size. - - - A standard WinForms text box presenting the common Vista "search" interface. - Reacts on user input by raising "SearchStarted" events. - - - - Clean up any resources being used. - - true if managed resources should be disposed; otherwise, false. - - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - - - - Puts the focus on the text box and moves the caret to the end of the text, without selecting it. - - - Gets or sets the background Color of the button when the mouse hovers on it. - - - Gets or sets the ForeColor of the control when the search box is active. - - - Gets or sets the BackColor of the control when the search box is active. - - - Gets or sets the ForeColor of the control when the search box is inactive. - - - Gets or sets the BackColor of the control when the search box is inactive. - - - Temporary ForeColor property of the control. You should use InactiveForeColor and ActiveForeColor instead. - - - Temporary BackColor property of the control. You should use InactiveBackColor and ActiveBackColor instead. - - - Gets or sets the text that is shown on top of the text box when the user hasn't entered any text. - - - Gets or sets the font used in the search text box. - Equals to the Font property. - - - Gets or sets the font used to write the "inactivity label" on top of the control when the user hasn't entered any text. - - - Overall Font property of the control. Property changes are forwarded to the ActiveFont property. - - - Returns true if the user entered some text in the search textbox. - - + - Static class providing information about the current support for Vista-only features. + Returns whether a point in client coordinates is outside the margins defined by this instance. - - - Is true if the running operating system is Windows Vista or a more recent version. - - - Is true if the DWM composition engine is currently enabled. - - - Gets or sets the cue text that is displayed on the TextBox control. - - - Gets or sets whether the Cue text should be displyed even when the control has keybord focus. - If true, the Cue text will disappear as soon as the user starts typing. - - - Gets or sets the glass margins of the form. - - - Gets or sets whether mouse dragging should be handled automatically. - - - Gets or sets whether the extended glass margin is enabled or not. - - - Main DWM class, provides Thumbnail registration, glass sheet effect and blur behind. - - - Registers a thumbnail to be drawn on a Windows Form. - The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). - The Windows Form instance on which to draw the thumbnail. - The handle (HWND) of the window that has to be drawn. - A Thumbnail instance, needed to unregister and to update properties. - - - Registers a thumbnail to be drawn on a window. - The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). - The handle (HWND) of the window on which the thumbnail will be drawn. - The handle (HWND) of the window that has to be drawn. - A Thumbnail instance, needed to unregister and to update properties. - - - Unregisters the thumbnail handle. - The handle is unvalid after the call and should not be used again. - A handle to a registered thumbnail. - - - Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. - - - Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. - - - - Enable the Aero "Blur Behind" effect on a specific region. Background of the region must be black. - - - Disables the Aero "Blur Behind" effect. - - - Extends the Aero "Glass Frame" into the client area. Background must be black. - - - Extends the Aero "Glass Frame" into the client area. Background must be black. - - - Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. - - - Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. - - - Disables the Aero "Glass Frame". - - - Disables the Aero "Glass Frame". + Point in client coordinates. @@ -647,75 +546,226 @@ Looks up a localized string similar to Failed to create TaskDialog.. - - Returns the active windows on the current thread. - - + - Adds a handler on the Form that enables the user to move the window around - by clicking on a glass margin (or the title bar, as usual). + A vertical panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. - The form that will be controlled. - Margins of the glass sheet. - Eventual UI elements on the glass sheet will prevent the handler from receiving events - (except the ThemeText control, which manually redirects mouse events to the form) + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. - + - Adds a handler on the Form that automatically paints the glass background black + Constructor - The form that will be controlled. - Margins of the glass sheet. - - - + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. - - - Handler will be kept alive by the event references on the form. - As soon as the form is disposed, the handler will be disposed as well. - - - - + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. - - - Handler will be kept alive by the event references on the form. - As soon as the form is disposed, the handler will be disposed as well. - - Occurs when the split label is clicked. + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + - - Occurs when the split label is clicked, but before the associated - context menu is displayed by the control. + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + - - Gets or sets the associated context menu that is displayed when the split - glyph of the button is clicked. + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + - - Gets or sets the associated context menu that is displayed when the split - glyph of the button is clicked. Exposed for backward compatibility. + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + - - Provides data for the clicking of split buttons and the opening - of context menus. + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + - - Represents the bounding box of the clicked button. - A menu should be opened, with top-left coordinates in the left-bottom point of - the rectangle and with width equal (or greater) than the width of the rectangle. + + + A Label containing some text that will be drawn with glowing border on top of the Glass Sheet effect. + - - Set to true if you want to prevent the menu from opening. + + Size of the glow effect around the text. - - Margins structure for the Glass Sheet effect. + + Enables or disables the glow effect around the text. + + + Shadow type. + + + Gets or sets the horizontal text alignment setting. + + + Gets or sets the vertical text alignment setting. + + + Gets or sets whether the text will be laid out on a single line or on multiple lines. + + + Gets or sets whether the text lines over the label's border should be trimmed with an ellipsis. + + + Gets or sets whether the text should break only at the end of a word. + + + Gets or sets whether the text should be trimmed to the last word and an ellipse should be placed at the end of the line. + + + Handle to a DWM Thumbnail. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Origin region from source window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Returns true if the handle is valid, false if the handle has been closed or hasn't been initialized. + + + Sets the thumbnail opacity value, from 0 to 255 (opaque). + + + Sets whether only the client area of the thumbnailed window should be shown or + the entire window area. + + + Area in the destination window on which the thumbnail should be drawn. + + + Region of the source window that should be drawn. + + + Sets whether the thumbnail should be drawn or not. + + + Gets the thumbnail's original size. + + + + Static class providing information about the current support for Vista-only features. + + + + + Gets whether the running operating system is Windows Vista or a more recent version. + + + + + Gets whether the running operating system is Windows Seven or a more recent version. + + + + Is true if the DWM composition engine is currently enabled. + + + + The labeled divider provides a Aero styled divider with an option caption, similiar to what is seen in the + Control Panel dialogs of Windows 7 and Vista. + + + + + Constructor + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + The position of the divider line. + + + The default value is the center position which is consistent on how this type of divider has been used throughout the Windows + 7 and Vista UI's. + + + + + The color of the divider line. + + + + + The text that should be used for the caption. If the caption is set to blank and the divider position is set to center then + a simple divider line will be drawn. + + + After a change is made to the text property we want to invalidate the control so it triggers a new paint message being sent. + + + + + The positions that the divider line can be drawn in + + + + + The divider will be centered after the text caption and will begin drawing after the string. This is the default behavior. + + + + + The divider will be drawn below the text caption. + + + + Gets or sets the cue text that is displayed on the TextBox control. + + + Gets or sets whether the Cue text should be displyed even when the control has keybord focus. + If true, the Cue text will disappear as soon as the user starts typing. Sets the origin of the thumbnail and shows the thumbnail on the control. @@ -727,13 +777,215 @@ Forces and update of the thumbnail. Use this method if you know that the thumbnailed window has been resized and the thumbnail control should react to these changes. - + + Gets or sets the glass margins of the form. + + + Gets or sets whether mouse dragging should be handled automatically. + + + Gets or sets whether the extended glass margin is enabled or not. + + - Control style and notification constants + Gets or sets whether the window title and icon should be hidden. + + Main DWM class, provides Thumbnail registration, glass sheet effect and blur behind. + + + Registers a thumbnail to be drawn on a Windows Form. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The Windows Form instance on which to draw the thumbnail. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Registers a thumbnail to be drawn on a window. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The handle (HWND) of the window on which the thumbnail will be drawn. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Unregisters the thumbnail handle. + The handle is unvalid after the call and should not be used again. + A handle to a registered thumbnail. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + + Enable the Aero "Blur Behind" effect on a specific region. Background of the region must be black. + + + Disables the Aero "Blur Behind" effect. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Disables the Aero "Glass Frame". + + + Disables the Aero "Glass Frame". + + + + Sets a window's Flip 3D policy. + + Form whose policy is to be set. + Desired Flip 3D policy. + Is ignored on OSs that do not support Aero. + + + + Disallows Aero Peek on a window (or allows it). + + Form whose Aero Peek preview should be disabled. + True if Aero Peek should be disabled for the window. + Is ignored on OSs that do not support Aero Peek. + + + + Sets a window's state in order to exclude (or include) it in Aero Peek. + + Form whose Aero Peek exclusion state is to be set. + Set to true to exlude the window from Aero Peek. + Is ignored on OSs that do not support Aero Peek. + Common Task Dialog icons. Determine the look of the main instruction. + + Returns the active windows on the current thread. + + + Class that aggregates the results of an "indirect" Task Dialog. + + + Results returned by Task Dialogs when closed by the user. + + + Direct Task Dialog call. + + + Indirect Task Dialog call. Allows complex dialogs with interaction logic (via callback). + + + The Task Dialog config structure. + + + Flags used in TaskDialogConfig struct. + From CommCtrl.h. + + + Notifications returned by Task Dialogs to the callback. + From CommCtrl.h. + + + Messages that can be sent to Task Dialogs. + From CommCtrl.h. + + + + A horizontal panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. + + + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. + + + + + Constructor + + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. + + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. + + + + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + + + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + + + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + + + + + Determines a window's Flip 3D policy. + + + + + Default Flip 3D behavior. + + + + + Excludes the window from Flip 3D and hides it behind the animation. + + + + + Excludes the window from Flip 3D and shows it above the animation. + + diff --git a/OnTopReplica/AboutForm.Designer.cs b/OnTopReplica/AboutForm.Designer.cs index 07f52dd..68d102b 100644 --- a/OnTopReplica/AboutForm.Designer.cs +++ b/OnTopReplica/AboutForm.Designer.cs @@ -30,6 +30,7 @@ this.panel1 = new System.Windows.Forms.Panel(); this.buttonReset = new System.Windows.Forms.Button(); this.buttonCancel = new System.Windows.Forms.Button(); + this.progressBar1 = new VistaControls.ProgressBar(); this.buttonUpdate = new System.Windows.Forms.Button(); this.buttonExpander = new System.Windows.Forms.Button(); this.label1 = new System.Windows.Forms.Label(); @@ -37,7 +38,6 @@ this.linkLabel1 = new System.Windows.Forms.LinkLabel(); this.label2 = new System.Windows.Forms.Label(); this.webBrowser = new System.Windows.Forms.WebBrowser(); - this.progressBar1 = new VistaControls.ProgressBar(); this.toolTip = new System.Windows.Forms.ToolTip(this.components); this.panel1.SuspendLayout(); this.SuspendLayout(); @@ -109,6 +109,15 @@ this.buttonCancel.Visible = false; this.buttonCancel.Click += new System.EventHandler(this.Abort_click); // + // progressBar1 + // + this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.progressBar1.Location = new System.Drawing.Point(235, 79); + this.progressBar1.Name = "progressBar1"; + this.progressBar1.Size = new System.Drawing.Size(102, 23); + this.progressBar1.TabIndex = 3; + this.progressBar1.Visible = false; + // // buttonUpdate // this.buttonUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); @@ -143,7 +152,8 @@ this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(199, 31); this.label1.TabIndex = 13; - this.label1.Text = Strings.UpdateDisclaimer; + this.label1.Text = "OnTopReplica automatically checks for updates. No information is logged at any po" + + "int."; // // linkLabel2 // @@ -156,7 +166,7 @@ this.linkLabel2.Size = new System.Drawing.Size(252, 21); this.linkLabel2.TabIndex = 1; this.linkLabel2.TabStop = true; - this.linkLabel2.Text = Strings.Homepage; + this.linkLabel2.Text = "Homepage: www.codeplex.com/ontopreplica."; this.linkLabel2.UseCompatibleTextRendering = true; this.linkLabel2.VisitedLinkColor = System.Drawing.Color.Blue; // @@ -172,7 +182,7 @@ this.linkLabel1.Size = new System.Drawing.Size(212, 21); this.linkLabel1.TabIndex = 0; this.linkLabel1.TabStop = true; - this.linkLabel1.Text = Strings.CreatedBy; + this.linkLabel1.Text = "Created by: Lorenz Cuno Klopfenstein."; this.linkLabel1.UseCompatibleTextRendering = true; this.linkLabel1.VisitedLinkColor = System.Drawing.Color.Blue; // @@ -184,7 +194,7 @@ this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(287, 33); this.label2.TabIndex = 10; - this.label2.Text = Strings.Slogan; + this.label2.Text = "A lightweight, real-time, always on top thumbnail of a window of your choice."; // // webBrowser // @@ -198,15 +208,6 @@ this.webBrowser.Size = new System.Drawing.Size(389, 200); this.webBrowser.TabIndex = 14; // - // progressBar1 - // - this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.progressBar1.Location = new System.Drawing.Point(235, 79); - this.progressBar1.Name = "progressBar1"; - this.progressBar1.Size = new System.Drawing.Size(102, 23); - this.progressBar1.TabIndex = 3; - this.progressBar1.Visible = false; - // // AboutForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -219,6 +220,7 @@ this.Controls.Add(this.panel1); this.DoubleBuffered = true; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; + this.HideTitle = true; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; this.Name = "AboutForm"; diff --git a/OnTopReplica/AboutForm.cs b/OnTopReplica/AboutForm.cs index 3ffa562..3984432 100644 --- a/OnTopReplica/AboutForm.cs +++ b/OnTopReplica/AboutForm.cs @@ -30,17 +30,7 @@ namespace OnTopReplica { GlassEnabled = true; GlassMargins = new VistaControls.Dwm.Margins(0, 0, themedLabel1.Size.Height, 0); - //Remove title and icon from title bar - // Code taken from: https://secure.codeproject.com/KB/vista/HideCaptionIcon.aspx - NativeMethods.WTA_OPTIONS ops = new NativeMethods.WTA_OPTIONS(); - ops.Flags = NativeMethods.WTNCA_NODRAWCAPTION | NativeMethods.WTNCA_NODRAWICON; - ops.Mask = NativeMethods.WTNCA_NODRAWCAPTION | NativeMethods.WTNCA_NODRAWICON; - NativeMethods.SetWindowThemeAttribute(this.Handle, - NativeMethods.WindowThemeAttributeType.WTA_NONCLIENT, - ref ops, - (uint)Marshal.SizeOf(typeof(NativeMethods.WTA_OPTIONS)) - ); - + //Update title themedLabel2.Text = "v" + Application.ProductVersion.Substring(0, 3); //Create event handlers diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs index bfd4c39..b16198f 100644 --- a/OnTopReplica/AspectRatioForm.cs +++ b/OnTopReplica/AspectRatioForm.cs @@ -5,6 +5,7 @@ using System.Windows.Forms; using System.Runtime.InteropServices; using VistaControls.Dwm.Helpers; using System.Drawing; +using System.ComponentModel; namespace OnTopReplica { @@ -13,11 +14,12 @@ namespace OnTopReplica { /// public class AspectRatioForm : GlassForm { - public AspectRatioForm() { - AspectRatio = 1.0; - } - bool _keepAspectRatio = true; + + /// + /// Gets or sets whether the form should keep its aspect ratio. + /// + [Description("Enables fixed aspect ratio for this form."), Category("Appearance"), DefaultValue(true)] public bool KeepAspectRatio { get { return _keepAspectRatio; @@ -31,6 +33,11 @@ namespace OnTopReplica { } double _aspectRatio = 1.0; + + /// + /// Gets or sets the form's aspect ratio that will be kept automatically when resizing. + /// + [Description("Determins this form's fixed aspect ratio."), Category("Appearance"), DefaultValue(1.0)] public double AspectRatio { get { return _aspectRatio; @@ -44,6 +51,12 @@ namespace OnTopReplica { } Padding _extraPadding; + + /// + /// Gets or sets some additional internal padding of the form that is ignored when keeping the aspect ratio. + /// + [Description("Sets some padding inside the form's client area that is ignored when keeping the aspect ratio."), + Category("Appearance")] public Padding ExtraPadding { get { return _extraPadding; @@ -97,13 +110,14 @@ namespace OnTopReplica { RefreshAspectRatio(); } + #region Event overriding + protected override void OnResizeEnd(EventArgs e) { base.OnResizeEnd(e); - //Ensure that the ClientSize of the form is always respected (not ensured by the WM_SIZING message alone) + //Ensure that the ClientSize of the form is always respected + //(not ensured by the WM_SIZING message alone because of rounding errors and the chrome space) if (KeepAspectRatio) { - //Since WM_SIZING already fixes up the size almost correctly, - //simply set the height to the correct value var newHeight = (int)((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio + ExtraPadding.Vertical); ClientSize = new Size(ClientSize.Width, newHeight); } @@ -112,37 +126,39 @@ namespace OnTopReplica { /// /// Override WM_SIZING message to restrict resizing. /// Taken from: http://www.vcskicks.com/maintain-aspect-ratio.php + /// Improved with code from: http://stoyanoff.info/blog/2010/06/27/resizing-forms-while-keeping-aspect-ratio/ /// protected override void WndProc(ref Message m) { if (KeepAspectRatio && m.Msg == NativeMethods.WM_SIZING) { var rc = (NativeMethods.Rectangle)Marshal.PtrToStructure(m.LParam, typeof(NativeMethods.Rectangle)); int res = m.WParam.ToInt32(); - if (res == NativeMethods.WMSZ_LEFT || res == NativeMethods.WMSZ_RIGHT) { - //Left or right resize -> adjust height (bottom) - int targetHeight = (int)Math.Ceiling((Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical; - int originalHeight = rc.Bottom - rc.Top; - int diffHeight = originalHeight - targetHeight; + int width = (rc.Right - rc.Left) - clientSizeConversionWidth - ExtraPadding.Horizontal; + int height = (rc.Bottom - rc.Top) - clientSizeConversionHeight - ExtraPadding.Vertical; - rc.Top += (diffHeight / 2); - rc.Bottom = rc.Top + targetHeight; + if (res == NativeMethods.WMSZ_LEFT || res == NativeMethods.WMSZ_RIGHT) { + //Left or right resize, adjust top and bottom + int targetHeight = (int)(width / AspectRatio); + int diffHeight = height - targetHeight; + + rc.Top += (int)(diffHeight / 2.0); + rc.Bottom = rc.Top + targetHeight + ExtraPadding.Vertical + clientSizeConversionHeight; } else if (res == NativeMethods.WMSZ_TOP || res == NativeMethods.WMSZ_BOTTOM) { - //Up or down resize -> adjust width (right) - int targetWidth = (int)Math.Ceiling((Height - ExtraPadding.Vertical) * AspectRatio) + ExtraPadding.Horizontal; - int originalWidth = rc.Right - rc.Left; - int diffWidth = originalWidth - targetWidth; + //Up or down resize, adjust left and right + int targetWidth = (int)(height * AspectRatio); + int diffWidth = width - targetWidth; - rc.Left += (diffWidth / 2); - rc.Right = rc.Left + targetWidth; + rc.Left += (int)(diffWidth / 2.0); + rc.Right = rc.Left + targetWidth + ExtraPadding.Horizontal + clientSizeConversionWidth; } else if (res == NativeMethods.WMSZ_RIGHT + NativeMethods.WMSZ_BOTTOM || res == NativeMethods.WMSZ_LEFT + NativeMethods.WMSZ_BOTTOM) { - //Lower-right/left corner resize -> adjust height (could have been width) - rc.Bottom = rc.Top + (int)Math.Ceiling((Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical; + //Lower corner resize, adjust bottom + rc.Bottom = rc.Top + (int)(width / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; } else if (res == NativeMethods.WMSZ_LEFT + NativeMethods.WMSZ_TOP || res == NativeMethods.WMSZ_RIGHT + NativeMethods.WMSZ_TOP) { - //Upper-left/right corner -> adjust width (could have been height) - rc.Top = rc.Bottom - (int)Math.Ceiling((Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical; + //Upper corner resize, adjust top + rc.Top = rc.Bottom - (int)(width / AspectRatio) - ExtraPadding.Vertical - clientSizeConversionHeight; } Marshal.StructureToPtr(rc, m.LParam, true); @@ -151,15 +167,26 @@ namespace OnTopReplica { base.WndProc(ref m); } - #region ClientSize/Size conversion + #endregion + + #region ClientSize/Size conversion helpers - //bool clientSizeConversionSet = false; int clientSizeConversionWidth, clientSizeConversionHeight; + /// + /// Converts a client size measurement to a window size measurement. + /// + /// Size of the window's client area. + /// Size of the whole window. public Size FromClientSizeToSize(Size clientSize) { return new Size(clientSize.Width + clientSizeConversionWidth, clientSize.Height + clientSizeConversionHeight); } + /// + /// Converts a window size measurement to a client size measurement. + /// + /// Size of the whole window. + /// Size of the window's client area. public Size FromSizeToClientSize(Size size) { return new Size(size.Width - clientSizeConversionWidth, size.Height - clientSizeConversionHeight); } @@ -167,8 +194,8 @@ namespace OnTopReplica { protected override void OnShown(EventArgs e) { base.OnShown(e); - clientSizeConversionWidth = this.Size.Width - this.ClientSize.Width; - clientSizeConversionHeight = this.Size.Height - this.ClientSize.Height; + clientSizeConversionWidth = Size.Width - ClientSize.Width; + clientSizeConversionHeight = Size.Height - ClientSize.Height; } #endregion diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 3ee672d..522ee61 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -495,7 +495,6 @@ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.SystemColors.Control; this.ClientSize = new System.Drawing.Size(264, 204); - this.ContextMenuStrip = this.menuContext; this.ControlBox = false; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 3b26e50..9379e1e 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -252,6 +252,7 @@ namespace OnTopReplica { }; taskIcon.DoubleClick += new EventHandler(TaskIcon_doubleclick); } + Program.Platform.InitForm(this); //Reload position settings if needed if (_startOverride) { @@ -267,6 +268,17 @@ namespace OnTopReplica { SetGlass(Settings.Default.UseGlass); } + protected override void WndProc(ref Message m) { + base.WndProc(ref m); + + //Open context menu if right button clicked on caption (i.e. all of the window area because of glass) + if (m.Msg == NativeMethods.WM_NCRBUTTONUP) { + if (m.WParam.ToInt32() == NativeMethods.HTCAPTION) { + menuContext.Show(MousePosition); + } + } + } + #endregion #region Task Icon events @@ -742,24 +754,6 @@ namespace OnTopReplica { } } - /* - /// Automatically fits the window to the current thumbnail. - /// Only adjusts height and corrects the window's position. - private void FitToThumbnail() { - if (_thumbnailPanel.IsShowingThumbnail) { - var source = _thumbnailPanel.ThumbnailOriginalSize; - double ratio = (double)source.Width / (double)source.Height; - - int width = (RegionBoxShowing) ? (ClientSize.Width - _regionBox.Width) : ClientSize.Width; - //(RegionBoxShowing) ? ClientSize.Width - cRegionWithPadding : ClientSize.Width; - int newHeight = (int)(width / ratio); - int diffHeight = ClientSize.Height - newHeight; - ClientSize = new Size(ClientSize.Width, newHeight); - Location = new Point(Location.X, Location.Y + diffHeight / 2); - } - } - * */ - #endregion #region GUI stuff diff --git a/OnTopReplica/NativeMethods.cs b/OnTopReplica/NativeMethods.cs index 291b278..d3e7a81 100644 --- a/OnTopReplica/NativeMethods.cs +++ b/OnTopReplica/NativeMethods.cs @@ -159,7 +159,6 @@ namespace OnTopReplica [DllImport("user32.dll")] public static extern IntPtr GetWindow(IntPtr hwnd, GetWindowMode mode); - [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] public static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount); @@ -260,16 +259,21 @@ namespace OnTopReplica public const int HTTRANSPARENT = -1; + public const int HTCLIENT = 1; + public const int HTCAPTION = 2; + public const int WM_NCHITTEST = 0x84; public const int WM_NCPAINT = 0x0085; public const int WM_LBUTTONDOWN = 0x0201; public const int WM_LBUTTONUP = 0x0202; public const int WM_LBUTTONDBLCLK = 0x0203; + public const int WM_NCLBUTTONUP = 0x00A2; + public const int WM_NCLBUTTONDOWN = 0x00A1; + public const int WM_NCLBUTTONDBLCLK = 0x00A3; + public const int WM_NCRBUTTONUP = 0x00A5; public const int MK_LBUTTON = 0x0001; - //public const int MN_GETHMENU = 0x01E1; - public static IntPtr MakeLParam(int LoWord, int HiWord) { return new IntPtr((HiWord << 16) | (LoWord & 0xffff)); } @@ -286,24 +290,8 @@ namespace OnTopReplica [DllImport("user32.dll")] public static extern IntPtr GetMenu(IntPtr hwnd); - - public static uint WTNCA_NODRAWCAPTION = 0x00000001; - public static uint WTNCA_NODRAWICON = 0x00000002; - public static uint WTNCA_NOSYSMENU = 0x00000004; - public static uint WTNCA_NOMIRRORHELP = 0x00000008; - - [StructLayout(LayoutKind.Sequential)] - public struct WTA_OPTIONS { - public uint Flags; - public uint Mask; - } - - public enum WindowThemeAttributeType { - WTA_NONCLIENT = 1, - }; - - [DllImport("UxTheme.dll")] - public static extern int SetWindowThemeAttribute(IntPtr hWnd, WindowThemeAttributeType wtype, ref WTA_OPTIONS attributes, uint size); + [DllImport("user32.dll")] + public static extern short GetKeyState(VirtualKeyState nVirtKey); } } diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index de5953d..9f64d30 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -223,6 +223,7 @@ Component + diff --git a/OnTopReplica/PlatformSupport.cs b/OnTopReplica/PlatformSupport.cs index c6539bc..8d81a57 100644 --- a/OnTopReplica/PlatformSupport.cs +++ b/OnTopReplica/PlatformSupport.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Text; using OnTopReplica.Platforms; +using System.Windows.Forms; namespace OnTopReplica { abstract class PlatformSupport { @@ -48,5 +49,12 @@ namespace OnTopReplica { } } + /// + /// Initialized a form. + /// + /// Form to initialize. + public virtual void InitForm(Form form) { + } + } } diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs index 8fc63a5..6dd1400 100644 --- a/OnTopReplica/Platforms/WindowsSeven.cs +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -1,6 +1,8 @@ using System; using System.Collections.Generic; using System.Text; +using VistaControls.Dwm; +using System.Windows.Forms; namespace OnTopReplica.Platforms { class WindowsSeven : WindowsVista { @@ -17,5 +19,12 @@ namespace OnTopReplica.Platforms { } } + public override void InitForm(Form form) { + base.InitForm(form); + + DwmManager.SetExludeFromPeek(form, true); + DwmManager.SetDisallowPeek(form, true); + } + } } diff --git a/OnTopReplica/Platforms/WindowsVista.cs b/OnTopReplica/Platforms/WindowsVista.cs index 1d79669..9bbd9bd 100644 --- a/OnTopReplica/Platforms/WindowsVista.cs +++ b/OnTopReplica/Platforms/WindowsVista.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Text; using System.Windows.Forms; +using VistaControls.Dwm; namespace OnTopReplica.Platforms { class WindowsVista : PlatformSupport { @@ -14,5 +15,9 @@ namespace OnTopReplica.Platforms { return true; } + public override void InitForm(Form form) { + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + } + } } diff --git a/OnTopReplica/RegionBox.cs b/OnTopReplica/RegionBox.cs index 092e566..d8c407d 100644 --- a/OnTopReplica/RegionBox.cs +++ b/OnTopReplica/RegionBox.cs @@ -159,8 +159,9 @@ namespace OnTopReplica { public event RegionSetHandler RegionSet; protected virtual void OnRegionSet(Rectangle region){ - if (RegionSet != null) - RegionSet(this, region); + var evt = RegionSet; + if (evt != null) + evt(this, region); buttonSave.Enabled = true; } diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs index 9c73f0c..32cd4a3 100644 --- a/OnTopReplica/ThumbnailPanel.cs +++ b/OnTopReplica/ThumbnailPanel.cs @@ -256,8 +256,8 @@ namespace OnTopReplica { } else { //Update visibility - _labelGlass.Visible = _glassMode; - _labelNoGlass.Visible = !_glassMode; + _labelGlass.Visible = _glassMode; + _labelNoGlass.Visible = !_glassMode; } } @@ -270,13 +270,13 @@ namespace OnTopReplica { } protected override void WndProc(ref Message m) { - //Make transparent to hit-testing - if (m.Msg == NativeMethods.WM_NCHITTEST && !DrawMouseRegions && ClickThrough) { - m.Result = new IntPtr(NativeMethods.HTTRANSPARENT); - return; - } + base.WndProc(ref m); - base.WndProc(ref m); + //Make transparent to hit-testing + if (m.Msg == NativeMethods.WM_NCHITTEST && m.Result.ToInt32() == 1 && + !DrawMouseRegions && ClickThrough) { + m.Result = new IntPtr(NativeMethods.HTTRANSPARENT); + } } protected override void OnMouseClick(MouseEventArgs e) { diff --git a/OnTopReplica/VirtualKeyState.cs b/OnTopReplica/VirtualKeyState.cs new file mode 100644 index 0000000..4275dd7 --- /dev/null +++ b/OnTopReplica/VirtualKeyState.cs @@ -0,0 +1,195 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica { + + enum VirtualKeyState : int { + VK_LBUTTON = 0x01, + VK_RBUTTON = 0x02, + VK_CANCEL = 0x03, + VK_MBUTTON = 0x04, + // + VK_XBUTTON1 = 0x05, + VK_XBUTTON2 = 0x06, + // + VK_BACK = 0x08, + VK_TAB = 0x09, + // + VK_CLEAR = 0x0C, + VK_RETURN = 0x0D, + // + VK_SHIFT = 0x10, + VK_CONTROL = 0x11, + VK_MENU = 0x12, + VK_PAUSE = 0x13, + VK_CAPITAL = 0x14, + // + VK_KANA = 0x15, + VK_HANGEUL = 0x15, /* old name - should be here for compatibility */ + VK_HANGUL = 0x15, + VK_JUNJA = 0x17, + VK_FINAL = 0x18, + VK_HANJA = 0x19, + VK_KANJI = 0x19, + // + VK_ESCAPE = 0x1B, + // + VK_CONVERT = 0x1C, + VK_NONCONVERT = 0x1D, + VK_ACCEPT = 0x1E, + VK_MODECHANGE = 0x1F, + // + VK_SPACE = 0x20, + VK_PRIOR = 0x21, + VK_NEXT = 0x22, + VK_END = 0x23, + VK_HOME = 0x24, + VK_LEFT = 0x25, + VK_UP = 0x26, + VK_RIGHT = 0x27, + VK_DOWN = 0x28, + VK_SELECT = 0x29, + VK_PRINT = 0x2A, + VK_EXECUTE = 0x2B, + VK_SNAPSHOT = 0x2C, + VK_INSERT = 0x2D, + VK_DELETE = 0x2E, + VK_HELP = 0x2F, + // + VK_LWIN = 0x5B, + VK_RWIN = 0x5C, + VK_APPS = 0x5D, + // + VK_SLEEP = 0x5F, + // + VK_NUMPAD0 = 0x60, + VK_NUMPAD1 = 0x61, + VK_NUMPAD2 = 0x62, + VK_NUMPAD3 = 0x63, + VK_NUMPAD4 = 0x64, + VK_NUMPAD5 = 0x65, + VK_NUMPAD6 = 0x66, + VK_NUMPAD7 = 0x67, + VK_NUMPAD8 = 0x68, + VK_NUMPAD9 = 0x69, + VK_MULTIPLY = 0x6A, + VK_ADD = 0x6B, + VK_SEPARATOR = 0x6C, + VK_SUBTRACT = 0x6D, + VK_DECIMAL = 0x6E, + VK_DIVIDE = 0x6F, + VK_F1 = 0x70, + VK_F2 = 0x71, + VK_F3 = 0x72, + VK_F4 = 0x73, + VK_F5 = 0x74, + VK_F6 = 0x75, + VK_F7 = 0x76, + VK_F8 = 0x77, + VK_F9 = 0x78, + VK_F10 = 0x79, + VK_F11 = 0x7A, + VK_F12 = 0x7B, + VK_F13 = 0x7C, + VK_F14 = 0x7D, + VK_F15 = 0x7E, + VK_F16 = 0x7F, + VK_F17 = 0x80, + VK_F18 = 0x81, + VK_F19 = 0x82, + VK_F20 = 0x83, + VK_F21 = 0x84, + VK_F22 = 0x85, + VK_F23 = 0x86, + VK_F24 = 0x87, + // + VK_NUMLOCK = 0x90, + VK_SCROLL = 0x91, + // + VK_OEM_NEC_EQUAL = 0x92, // '=' key on numpad + // + VK_OEM_FJ_JISHO = 0x92, // 'Dictionary' key + VK_OEM_FJ_MASSHOU = 0x93, // 'Unregister word' key + VK_OEM_FJ_TOUROKU = 0x94, // 'Register word' key + VK_OEM_FJ_LOYA = 0x95, // 'Left OYAYUBI' key + VK_OEM_FJ_ROYA = 0x96, // 'Right OYAYUBI' key + // + VK_LSHIFT = 0xA0, + VK_RSHIFT = 0xA1, + VK_LCONTROL = 0xA2, + VK_RCONTROL = 0xA3, + VK_LMENU = 0xA4, + VK_RMENU = 0xA5, + // + VK_BROWSER_BACK = 0xA6, + VK_BROWSER_FORWARD = 0xA7, + VK_BROWSER_REFRESH = 0xA8, + VK_BROWSER_STOP = 0xA9, + VK_BROWSER_SEARCH = 0xAA, + VK_BROWSER_FAVORITES = 0xAB, + VK_BROWSER_HOME = 0xAC, + // + VK_VOLUME_MUTE = 0xAD, + VK_VOLUME_DOWN = 0xAE, + VK_VOLUME_UP = 0xAF, + VK_MEDIA_NEXT_TRACK = 0xB0, + VK_MEDIA_PREV_TRACK = 0xB1, + VK_MEDIA_STOP = 0xB2, + VK_MEDIA_PLAY_PAUSE = 0xB3, + VK_LAUNCH_MAIL = 0xB4, + VK_LAUNCH_MEDIA_SELECT = 0xB5, + VK_LAUNCH_APP1 = 0xB6, + VK_LAUNCH_APP2 = 0xB7, + // + VK_OEM_1 = 0xBA, // ';:' for US + VK_OEM_PLUS = 0xBB, // '+' any country + VK_OEM_COMMA = 0xBC, // ',' any country + VK_OEM_MINUS = 0xBD, // '-' any country + VK_OEM_PERIOD = 0xBE, // '.' any country + VK_OEM_2 = 0xBF, // '/?' for US + VK_OEM_3 = 0xC0, // '`~' for US + // + VK_OEM_4 = 0xDB, // '[{' for US + VK_OEM_5 = 0xDC, // '\|' for US + VK_OEM_6 = 0xDD, // ']}' for US + VK_OEM_7 = 0xDE, // ''"' for US + VK_OEM_8 = 0xDF, + // + VK_OEM_AX = 0xE1, // 'AX' key on Japanese AX kbd + VK_OEM_102 = 0xE2, // "<>" or "\|" on RT 102-key kbd. + VK_ICO_HELP = 0xE3, // Help key on ICO + VK_ICO_00 = 0xE4, // 00 key on ICO + // + VK_PROCESSKEY = 0xE5, + // + VK_ICO_CLEAR = 0xE6, + // + VK_PACKET = 0xE7, + // + VK_OEM_RESET = 0xE9, + VK_OEM_JUMP = 0xEA, + VK_OEM_PA1 = 0xEB, + VK_OEM_PA2 = 0xEC, + VK_OEM_PA3 = 0xED, + VK_OEM_WSCTRL = 0xEE, + VK_OEM_CUSEL = 0xEF, + VK_OEM_ATTN = 0xF0, + VK_OEM_FINISH = 0xF1, + VK_OEM_COPY = 0xF2, + VK_OEM_AUTO = 0xF3, + VK_OEM_ENLW = 0xF4, + VK_OEM_BACKTAB = 0xF5, + // + VK_ATTN = 0xF6, + VK_CRSEL = 0xF7, + VK_EXSEL = 0xF8, + VK_EREOF = 0xF9, + VK_PLAY = 0xFA, + VK_ZOOM = 0xFB, + VK_NONAME = 0xFC, + VK_PA1 = 0xFD, + VK_OEM_CLEAR = 0xFE + } + +} From 64fad6e5293abf9f97c10938a95d77e16415e25c Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 29 Jun 2010 20:36:08 +0200 Subject: [PATCH 032/164] Refactored platform specific stuff (tray icon and other stuff). Added Window 7 Application ID. --- OnTopReplica/MainForm.Designer.cs | 50 +----- OnTopReplica/MainForm.cs | 203 +++++++++++-------------- OnTopReplica/MainForm.resx | 3 - OnTopReplica/OnTopReplica.csproj | 13 +- OnTopReplica/PlatformSupport.cs | 39 +++-- OnTopReplica/Platforms/WindowsSeven.cs | 27 ++-- OnTopReplica/Platforms/WindowsVista.cs | 70 ++++++++- OnTopReplica/Program.cs | 6 +- OnTopReplica/WindowsSevenMethods.cs | 20 +++ 9 files changed, 225 insertions(+), 206 deletions(-) create mode 100644 OnTopReplica/WindowsSevenMethods.cs diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 522ee61..b552fde 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -69,16 +69,11 @@ this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); this.danskToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.menuIconContext = new System.Windows.Forms.ContextMenuStrip(this.components); - this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.resetWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuContext.SuspendLayout(); this.menuWindows.SuspendLayout(); this.menuOpacity.SuspendLayout(); this.menuResize.SuspendLayout(); this.menuLanguages.SuspendLayout(); - this.menuIconContext.SuspendLayout(); this.SuspendLayout(); // // menuContext @@ -453,42 +448,6 @@ this.danskToolStripMenuItem.Text = "Dansk"; this.danskToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); // - // menuIconContext - // - this.menuIconContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.openToolStripMenuItem, - this.resetWindowToolStripMenuItem, - this.exitToolStripMenuItem}); - this.menuIconContext.Name = "menuIconContext"; - this.menuIconContext.Size = new System.Drawing.Size(148, 70); - // - // openToolStripMenuItem - // - this.openToolStripMenuItem.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.openToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.icon; - this.openToolStripMenuItem.Name = "openToolStripMenuItem"; - this.openToolStripMenuItem.Size = new System.Drawing.Size(147, 22); - this.openToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpen; - this.openToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuOpenTT; - this.openToolStripMenuItem.Click += new System.EventHandler(this.TaskIconOpen_click); - // - // resetWindowToolStripMenuItem - // - this.resetWindowToolStripMenuItem.Name = "resetWindowToolStripMenuItem"; - this.resetWindowToolStripMenuItem.Size = new System.Drawing.Size(147, 22); - this.resetWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReset; - this.resetWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuResetTT; - this.resetWindowToolStripMenuItem.Click += new System.EventHandler(this.TaskIconReset_click); - // - // exitToolStripMenuItem - // - this.exitToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; - this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; - this.exitToolStripMenuItem.Size = new System.Drawing.Size(147, 22); - this.exitToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClose; - this.exitToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuCloseTT; - this.exitToolStripMenuItem.Click += new System.EventHandler(this.TaskIconExit_click); - // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -507,7 +466,6 @@ this.menuOpacity.ResumeLayout(false); this.menuResize.ResumeLayout(false); this.menuLanguages.ResumeLayout(false); - this.menuIconContext.ResumeLayout(false); this.ResumeLayout(false); } @@ -530,12 +488,8 @@ private System.Windows.Forms.ToolStripMenuItem selectRegionToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem resizeToolStripMenuItem; private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; - private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem5; - private System.Windows.Forms.ContextMenuStrip menuIconContext; - private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem resetWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem5; + private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem switchToWindowToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem dockToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem topLeftToolStripMenuItem; diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 9379e1e..1824c4e 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -19,9 +19,6 @@ namespace OnTopReplica { FullscreenForm _fullscreenForm; HotKeyManager _hotKeyManager; - //Icon - NotifyIcon taskIcon = null; - //Window manager WindowManager _windowManager; WindowHandle _lastWindowHandle = null; @@ -42,28 +39,30 @@ namespace OnTopReplica { public MainForm() { InitializeComponent(); - this.SetStyle(ControlStyles.EnableNotifyMessage, true); KeepAspectRatio = false; //Thumbnail panel - _thumbnailPanel = new ThumbnailPanel(Settings.Default.UseGlass); - _thumbnailPanel.RegionDrawn += new ThumbnailPanel.RegionDrawnHandler(Thumbnail_RegionDrawn); - _thumbnailPanel.CloneClick += new EventHandler(Thumbnail_CloneClick); - _thumbnailPanel.ClickThrough = !_clickForwarding; - _thumbnailPanel.Location = Point.Empty; - _thumbnailPanel.Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; - _thumbnailPanel.Size = ClientSize; + _thumbnailPanel = new ThumbnailPanel(Settings.Default.UseGlass){ + ClickThrough = !_clickForwarding, + Location = Point.Empty, + Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right, + Size = ClientSize + }; + _thumbnailPanel.RegionDrawn += new ThumbnailPanel.RegionDrawnHandler(Thumbnail_RegionDrawn); + _thumbnailPanel.CloneClick += new EventHandler(Thumbnail_CloneClick); Controls.Add(_thumbnailPanel); //Region box - _regionBox = new RegionBox(); - _regionBox.RequestClosing += new EventHandler(RegionBox_RequestClosing); - _regionBox.RequestRegionReset += new EventHandler(RegionBox_RequestRegionReset); - _regionBox.RegionSet += new RegionBox.RegionSetHandler(RegionBox_RegionChanged); - _regionBox.Location = new Point(ClientSize.Width, 0); - _regionBox.Size = new Size(_regionBox.Width, ClientSize.Height); - _regionBox.Anchor = AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom; - _regionBox.Enabled = _regionBox.Visible = false; + _regionBox = new RegionBox { + Location = new Point(ClientSize.Width, 0), + Anchor = AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom, + Enabled = false, + Visible = false + }; + _regionBox.Size = new Size(_regionBox.Width, ClientSize.Height); + _regionBox.RequestClosing += new EventHandler(RegionBox_RequestClosing); + _regionBox.RequestRegionReset += new EventHandler(RegionBox_RequestRegionReset); + _regionBox.RegionSet += new RegionBox.RegionSetHandler(RegionBox_RegionChanged); Controls.Add(_regionBox); //Full screen form @@ -71,9 +70,9 @@ namespace OnTopReplica { _fullscreenForm.CloseRequest += new EventHandler(FullscreenForm_CloseRequest); //Set native renderer on context menus - Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(new Control[] { - menuContext, menuWindows, menuOpacity, menuIconContext, menuResize, menuLanguages - }); + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer( + menuContext, menuWindows, menuOpacity, menuResize, menuLanguages + ); //Hook keyboard handler this.KeyUp += new KeyEventHandler(Common_Key); @@ -189,25 +188,33 @@ namespace OnTopReplica { #region Event override - protected override void OnNotifyMessage(Message m) { - if (_hotKeyManager != null) - _hotKeyManager.ProcessHotKeys(m); + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + //Get a window manager + _windowManager = new WindowManager(); + + //Platform specific form initialization + Program.Platform.InitForm(this); + + //Reload position settings if needed + if (_startOverride) { + Location = _startLocation; + Size = _startSize; + } + else if (Settings.Default.WindowPositionStored) { + Location = Settings.Default.LastLocation; + ClientSize = Settings.Default.LastSize; + } + + //Glassify window + SetGlass(Settings.Default.UseGlass); } protected override void OnClosing(CancelEventArgs e) { - //Destroy NotifyIcon - if (taskIcon != null) { - taskIcon.Visible = false; - taskIcon.Dispose(); - taskIcon = null; - } - //Destroy hotkeys - { - var manager = _hotKeyManager; - _hotKeyManager = null; - manager.Dispose(); - } + _hotKeyManager.Dispose(); + _hotKeyManager = null; //Store position settings if (Settings.Default.StoreWindowPosition) { @@ -229,46 +236,20 @@ namespace OnTopReplica { new Margins(-1); } + protected override void OnActivated(EventArgs e) { + base.OnActivated(e); + } + protected override void OnMouseWheel(MouseEventArgs e) { base.OnMouseWheel(e); AdjustSize(e.Delta); } - protected override void OnShown(EventArgs e) { - base.OnShown(e); - - //Get a window manager - _windowManager = new WindowManager(); - - //Platform specific tray/taskbar - this.ShowInTaskbar = Program.Platform.ShowsInTaskBar; - if (Program.Platform.InstallTrayIcon) { - taskIcon = new NotifyIcon { - Text = Strings.ApplicationName, - Icon = Properties.Resources.main_icon, - Visible = true, - ContextMenuStrip = menuIconContext - }; - taskIcon.DoubleClick += new EventHandler(TaskIcon_doubleclick); - } - Program.Platform.InitForm(this); - - //Reload position settings if needed - if (_startOverride) { - Location = _startLocation; - Size = _startSize; - } - else if (Settings.Default.WindowPositionStored) { - Location = Settings.Default.LastLocation; - ClientSize = Settings.Default.LastSize; - } - - //Glassify window - SetGlass(Settings.Default.UseGlass); - } - protected override void WndProc(ref Message m) { + if (_hotKeyManager != null) + _hotKeyManager.ProcessHotKeys(m); + base.WndProc(ref m); //Open context menu if right button clicked on caption (i.e. all of the window area because of glass) @@ -281,50 +262,6 @@ namespace OnTopReplica { #endregion - #region Task Icon events - - void TaskIcon_doubleclick(object sender, EventArgs e) { - EnsureMainFormVisible(); - } - - private void TaskIconOpen_click(object sender, EventArgs e) { - EnsureMainFormVisible(); - } - - private void TaskIconReset_click(object sender, EventArgs e) { - var dlg = new TaskDialog(Strings.AskReset, Strings.AskResetTitle, Strings.AskResetContent); - dlg.UseCommandLinks = true; - dlg.CustomButtons = new CustomButton[] { - new CustomButton(Result.OK, Strings.AskResetButtonOk), - new CustomButton(Result.Cancel, Strings.ButtonCancel) - }; - dlg.CommonIcon = TaskDialogIcon.Information; - - if (dlg.Show().CommonButton == Result.OK) { - //Reset display status - TaskIcon_doubleclick(sender, e); - - //Reset form settings - ThumbnailUnset(); - RegionBoxShowing = false; - - Point nuLoc = Screen.PrimaryScreen.WorkingArea.Location; - nuLoc.Offset(40, 40); - - Location = nuLoc; - Size = MinimumSize; - - Show(); - _fullscreenForm.Hide(); - } - } - - private void TaskIconExit_click(object sender, EventArgs e) { - this.Close(); - } - - #endregion - #region Menu Event Handling private void Close_click(object sender, EventArgs e) { @@ -785,7 +722,7 @@ namespace OnTopReplica { /// /// Ensures that the main form is visible (either closing the fullscreen mode or reactivating from task icon). /// - private void EnsureMainFormVisible() { + public void EnsureMainFormVisible() { if (_isFullscreen) ToggleFullscreen(); @@ -795,6 +732,42 @@ namespace OnTopReplica { this.TopMost = true; } + /// + /// Opens a confirmation dialog to confirm whether to reset the main form or not. + /// + public void ResetMainFormWithConfirmation() { + var dlg = new TaskDialog(Strings.AskReset, Strings.AskResetTitle, Strings.AskResetContent); + dlg.UseCommandLinks = true; + dlg.CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, Strings.AskResetButtonOk), + new CustomButton(Result.Cancel, Strings.ButtonCancel) + }; + dlg.CommonIcon = TaskDialogIcon.Information; + + if (dlg.Show(this).CommonButton == Result.OK) { + ResetMainForm(); + } + } + + /// + /// Resets the main form to its initial state. + /// + public void ResetMainForm() { + //Reset form settings + ThumbnailUnset(); + RegionBoxShowing = false; + + //Reset location and size (edge of the screen, min size) + Point nuLoc = Screen.PrimaryScreen.WorkingArea.Location; + nuLoc.Offset(40, 40); + Location = nuLoc; + Size = MinimumSize; + + _fullscreenForm.Hide(); + this.Show(); + this.Activate(); + } + #endregion } diff --git a/OnTopReplica/MainForm.resx b/OnTopReplica/MainForm.resx index 7cd3861..81c9540 100644 --- a/OnTopReplica/MainForm.resx +++ b/OnTopReplica/MainForm.resx @@ -132,9 +132,6 @@ 664, 17 - - 399, 17 - diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 9f64d30..fcd15c7 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -112,6 +112,7 @@ + @@ -139,12 +140,12 @@ Component - + Form - - + + FullscreenForm.cs - + Form @@ -172,9 +173,9 @@ Strings.it.Designer.cs Designer - + FullscreenForm.cs - + MainForm.cs Designer diff --git a/OnTopReplica/PlatformSupport.cs b/OnTopReplica/PlatformSupport.cs index 8d81a57..9cafc93 100644 --- a/OnTopReplica/PlatformSupport.cs +++ b/OnTopReplica/PlatformSupport.cs @@ -5,7 +5,7 @@ using OnTopReplica.Platforms; using System.Windows.Forms; namespace OnTopReplica { - abstract class PlatformSupport { + abstract class PlatformSupport : IDisposable { public static PlatformSupport Create() { var os = Environment.OSVersion; @@ -32,29 +32,36 @@ namespace OnTopReplica { public abstract bool CheckCompatibility(); /// - /// Gets whether OnTopReplica should be displayed in the task bar. + /// Initialized the application. Called once in the app lifetime. /// - public virtual bool ShowsInTaskBar { - get { - return false; - } + public virtual void InitApp() { } - /// - /// Gets whether OnTopReplica should install a tray icon. - /// - public virtual bool InstallTrayIcon { - get { - return true; - } - } + protected MainForm Form { get; private set; } /// - /// Initialized a form. + /// Initializes a form. /// /// Form to initialize. - public virtual void InitForm(Form form) { + public virtual void InitForm(MainForm form) { + Form = form; } + public virtual void ShutdownApp() { + } + + #region IDisposable Members + + bool _isDisposed = false; + + public void Dispose() { + if (_isDisposed) + return; + + this.ShutdownApp(); + _isDisposed = true; + } + + #endregion } } diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs index 6dd1400..77b9113 100644 --- a/OnTopReplica/Platforms/WindowsSeven.cs +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -7,23 +7,20 @@ using System.Windows.Forms; namespace OnTopReplica.Platforms { class WindowsSeven : WindowsVista { - public override bool InstallTrayIcon { - get { - return false; - } - } - - public override bool ShowsInTaskBar { - get { - return true; - } - } - - public override void InitForm(Form form) { - base.InitForm(form); - + public override void InitForm(MainForm form) { DwmManager.SetExludeFromPeek(form, true); DwmManager.SetDisallowPeek(form, true); + + base.InitForm(form); + } + + public override void InitApp() { + //Set Application ID + WindowsSevenMethods.SetCurrentProcessExplicitAppUserModelID("OnTopReplica"); + } + + protected override void InitFormCore(MainForm form) { + //do nothing } } diff --git a/OnTopReplica/Platforms/WindowsVista.cs b/OnTopReplica/Platforms/WindowsVista.cs index 9bbd9bd..0ab143c 100644 --- a/OnTopReplica/Platforms/WindowsVista.cs +++ b/OnTopReplica/Platforms/WindowsVista.cs @@ -3,8 +3,11 @@ using System.Collections.Generic; using System.Text; using System.Windows.Forms; using VistaControls.Dwm; +using OnTopReplica.Properties; +using VistaControls.TaskDialog; namespace OnTopReplica.Platforms { + class WindowsVista : PlatformSupport { public override bool CheckCompatibility() { @@ -15,9 +18,74 @@ namespace OnTopReplica.Platforms { return true; } - public override void InitForm(Form form) { + public override void InitForm(MainForm form) { + base.InitForm(form); + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + + this.InitFormCore(form); } + protected virtual void InitFormCore(MainForm form){ + //Do not show in task bar, but display icon + form.ShowInTaskbar = false; + + //Install tray icon + _contextMenu = new ContextMenuStrip(); + _contextMenu.Items.AddRange(new ToolStripItem[] { + new ToolStripMenuItem(Strings.MenuOpen, Resources.icon, TaskIconOpen_click) { + ToolTipText = Strings.MenuOpenTT, + }, + new ToolStripMenuItem(Strings.MenuReset, null, TaskIconReset_click){ + ToolTipText = Strings.MenuResetTT + }, + new ToolStripMenuItem(Strings.MenuClose, Resources.close_new, TaskIconExit_click){ + ToolTipText = Strings.MenuCloseTT + } + }); + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(_contextMenu); + + _taskIcon = new NotifyIcon { + Text = Strings.ApplicationName, + Icon = Resources.main_icon, + Visible = true, + ContextMenuStrip = _contextMenu + }; + _taskIcon.DoubleClick += new EventHandler(TaskIcon_doubleclick); + } + + NotifyIcon _taskIcon; + ContextMenuStrip _contextMenu; + + public override void ShutdownApp() { + //Destroy NotifyIcon + if (_taskIcon != null) { + _taskIcon.Visible = false; + _taskIcon.Dispose(); + _taskIcon = null; + } + } + + #region Task Icon events + + void TaskIcon_doubleclick(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconOpen_click(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconReset_click(object sender, EventArgs e) { + Form.ResetMainFormWithConfirmation(); + } + + private void TaskIconExit_click(object sender, EventArgs e) { + Form.Close(); + } + + #endregion + } + } diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs index 9c8ea4f..23133bc 100644 --- a/OnTopReplica/Program.cs +++ b/OnTopReplica/Program.cs @@ -14,6 +14,8 @@ namespace OnTopReplica { public static PlatformSupport Platform { get; private set; } + static CultureInfo _languageChangeCode = Settings.Default.Language; + /// /// The main entry point for the application. /// @@ -29,6 +31,7 @@ namespace OnTopReplica { Platform = PlatformSupport.Create(); if (!Platform.CheckCompatibility()) return; + Platform.InitApp(); //Update settings if needed if (Settings.Default.MustUpdate) { @@ -64,8 +67,6 @@ namespace OnTopReplica { Settings.Default.Save(); } - static CultureInfo _languageChangeCode = Settings.Default.Language; - /// /// Forces a global language change. As soon as the main form is closed, the change is performed /// and the form is reopened using the new language. @@ -102,6 +103,7 @@ namespace OnTopReplica { sw.WriteLine("OS: {0}", Environment.OSVersion.ToString()); sw.WriteLine(".NET: {0}", Environment.Version.ToString()); sw.WriteLine("Aero DWM: {0}", VistaControls.OsSupport.IsCompositionEnabled); + sw.WriteLine("Launch command: {0}", Environment.CommandLine); } } } diff --git a/OnTopReplica/WindowsSevenMethods.cs b/OnTopReplica/WindowsSevenMethods.cs new file mode 100644 index 0000000..c84bbb5 --- /dev/null +++ b/OnTopReplica/WindowsSevenMethods.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica { + + static class WindowsSevenMethods { + + [DllImport("shell32.dll")] + internal static extern void SetCurrentProcessExplicitAppUserModelID( + [MarshalAs(UnmanagedType.LPWStr)] string AppID); + + [DllImport("shell32.dll")] + internal static extern void GetCurrentProcessExplicitAppUserModelID( + [Out(), MarshalAs(UnmanagedType.LPWStr)] out string AppID); + + } + +} From 12b80982fd697cb6a7b5f8fa08bf6925493f118a Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 30 Jun 2010 02:36:21 +0200 Subject: [PATCH 033/164] Large code refactoring. Removed features: glass cannot be disabled and form doesn't recall last position and size. Code simplified. Fullscreen mode doesn't require separate form. Fixed clicking with new GlassForm. Extended click forwarding to right clicks (needs send implementation). Improved Windows 7 support with platform specific hiding of main form. Working scaling of form via mouse wheel. --- OnTopReplica/AspectRatioForm.cs | 28 +- OnTopReplica/ClickThroughLabel.cs | 20 - OnTopReplica/CloneClickEventArgs.cs | 9 +- OnTopReplica/FocusedTextBox.cs | 2 +- OnTopReplica/FullscreenForm.Designer.cs | 221 --------- OnTopReplica/FullscreenForm.cs | 260 ----------- OnTopReplica/FullscreenForm.resx | 254 ---------- OnTopReplica/MainForm.Designer.cs | 65 +-- OnTopReplica/MainForm.cs | 400 +++++++--------- OnTopReplica/NativeMethods.cs | 4 + OnTopReplica/OnTopReplica.csproj | 12 - OnTopReplica/PlatformSupport.cs | 13 +- OnTopReplica/Platforms/WindowsSeven.cs | 4 + OnTopReplica/Program.cs | 15 +- OnTopReplica/Properties/Settings.Designer.cs | 64 +-- OnTopReplica/Properties/Settings.settings | 15 - OnTopReplica/ThumbnailPanel.cs | 459 ++++++++----------- OnTopReplica/WindowHandle.cs | 2 + OnTopReplica/WindowManager.cs | 11 +- OnTopReplica/app.config | 15 - 20 files changed, 440 insertions(+), 1433 deletions(-) delete mode 100644 OnTopReplica/ClickThroughLabel.cs delete mode 100644 OnTopReplica/FullscreenForm.Designer.cs delete mode 100644 OnTopReplica/FullscreenForm.cs delete mode 100644 OnTopReplica/FullscreenForm.resx diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs index b16198f..9e9cb02 100644 --- a/OnTopReplica/AspectRatioForm.cs +++ b/OnTopReplica/AspectRatioForm.cs @@ -83,21 +83,25 @@ namespace OnTopReplica { ClientSize = new Size(newWidth, newHeight); } - public void AdjustSize(double delta) { - int newWidth = Math.Max((int)(ClientSize.Width + delta), MinimumSize.Width); - int newHeight = (int)((newWidth - ExtraPadding.Horizontal) / AspectRatio + ExtraPadding.Vertical); + /// + /// Adjusts the size of the form by a pixel increment while keeping its aspect ratio. + /// + /// Change of size in pixels. + public void AdjustSize(int pixelOffset) { + Size origSize = Size; - //Readjust if we go lower than minimal height - if (newHeight < MinimumSize.Height) { - newHeight = MinimumSize.Height; - newWidth = (int)((newHeight - ExtraPadding.Vertical) * AspectRatio + ExtraPadding.Horizontal); - } + //Resize to new width (clamped to max allowed size and minimum form size) + int newWidth = Math.Max(Math.Min(origSize.Width + pixelOffset, + SystemInformation.MaxWindowTrackSize.Width), + MinimumSize.Width); - //Compute movement to re-center - int deltaX = newWidth - ClientSize.Width; - int deltaY = newHeight - ClientSize.Height; + //Determine new height while keeping aspect ratio + int newHeight = (int)((newWidth - ExtraPadding.Horizontal - clientSizeConversionWidth) / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; - ClientSize = new Size(newWidth, newHeight); + //Apply and move form to recenter + Size = new Size(newWidth, newHeight); + int deltaX = Size.Width - origSize.Width; + int deltaY = Size.Height - origSize.Height; Location = new Point(Location.X - (deltaX / 2), Location.Y - (deltaY / 2)); } diff --git a/OnTopReplica/ClickThroughLabel.cs b/OnTopReplica/ClickThroughLabel.cs deleted file mode 100644 index 389febf..0000000 --- a/OnTopReplica/ClickThroughLabel.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Windows.Forms; -using System.Runtime.InteropServices; - -namespace OnTopReplica { - class ClickThroughLabel : Label { - - protected override void WndProc(ref Message m) { - if (m.Msg == NativeMethods.WM_NCHITTEST) { - m.Result = new IntPtr(NativeMethods.HTTRANSPARENT); - return; - } - - base.WndProc(ref m); - } - - } -} diff --git a/OnTopReplica/CloneClickEventArgs.cs b/OnTopReplica/CloneClickEventArgs.cs index 5b618b9..95012a7 100644 --- a/OnTopReplica/CloneClickEventArgs.cs +++ b/OnTopReplica/CloneClickEventArgs.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Text; using System.Drawing; +using System.Windows.Forms; namespace OnTopReplica { public class CloneClickEventArgs : EventArgs { @@ -10,13 +11,17 @@ namespace OnTopReplica { public bool IsDoubleClick { get; set; } - public CloneClickEventArgs(Point location) { + public MouseButtons Buttons { get; set; } + + public CloneClickEventArgs(Point location, MouseButtons buttons) { ClientClickLocation = location; + Buttons = buttons; IsDoubleClick = false; } - public CloneClickEventArgs(Point location, bool doubleClick) { + public CloneClickEventArgs(Point location, MouseButtons buttons, bool doubleClick) { ClientClickLocation = location; + Buttons = buttons; IsDoubleClick = doubleClick; } diff --git a/OnTopReplica/FocusedTextBox.cs b/OnTopReplica/FocusedTextBox.cs index 562eb25..2525d9a 100644 --- a/OnTopReplica/FocusedTextBox.cs +++ b/OnTopReplica/FocusedTextBox.cs @@ -27,7 +27,7 @@ namespace OnTopReplica { e.SuppressKeyPress = true; } - Console.WriteLine("{0} ({1})", e.KeyCode, e.KeyValue); + //Console.WriteLine("{0} ({1})", e.KeyCode, e.KeyValue); base.OnKeyUp(e); } diff --git a/OnTopReplica/FullscreenForm.Designer.cs b/OnTopReplica/FullscreenForm.Designer.cs deleted file mode 100644 index 4e472dc..0000000 --- a/OnTopReplica/FullscreenForm.Designer.cs +++ /dev/null @@ -1,221 +0,0 @@ -namespace OnTopReplica { - partial class FullscreenForm { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) { - if (disposing && (components != null)) { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FullscreenForm)); - this.menuContext = new System.Windows.Forms.ContextMenuStrip(this.components); - this.windowsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); - this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.modeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.menuModeStandard = new System.Windows.Forms.ToolStripMenuItem(); - this.menuModeOnTop = new System.Windows.Forms.ToolStripMenuItem(); - this.menuModeClickThrough = new System.Windows.Forms.ToolStripMenuItem(); - this.opacityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.menuOpacity100 = new System.Windows.Forms.ToolStripMenuItem(); - this.menuOpacity75 = new System.Windows.Forms.ToolStripMenuItem(); - this.menuOpacity50 = new System.Windows.Forms.ToolStripMenuItem(); - this.menuOpacity25 = new System.Windows.Forms.ToolStripMenuItem(); - this.quitFullscreenModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this._thumbnail = new OnTopReplica.ThumbnailPanel(); - this.menuContext.SuspendLayout(); - this.menuWindows.SuspendLayout(); - this.SuspendLayout(); - // - // menuContext - // - this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.windowsToolStripMenuItem, - this.modeToolStripMenuItem, - this.opacityToolStripMenuItem, - this.quitFullscreenModeToolStripMenuItem}); - this.menuContext.Name = "contextMenuStrip1"; - this.menuContext.Size = new System.Drawing.Size(186, 114); - // - // windowsToolStripMenuItem - // - this.windowsToolStripMenuItem.DropDown = this.menuWindows; - this.windowsToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_multiple16; - this.windowsToolStripMenuItem.Name = "windowsToolStripMenuItem"; - this.windowsToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.windowsToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindows; - this.windowsToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; - this.windowsToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Windows_opening); - // - // menuWindows - // - this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.noneToolStripMenuItem}); - this.menuWindows.Name = "menuWindows"; - this.menuWindows.OwnerItem = this.windowsToolStripMenuItem; - this.menuWindows.Size = new System.Drawing.Size(118, 26); - // - // noneToolStripMenuItem - // - this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; - this.noneToolStripMenuItem.Size = new System.Drawing.Size(117, 22); - this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; - // - // modeToolStripMenuItem - // - this.modeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.menuModeStandard, - this.menuModeOnTop, - this.menuModeClickThrough}); - this.modeToolStripMenuItem.Name = "modeToolStripMenuItem"; - this.modeToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.modeToolStripMenuItem.Text = Strings.FullscreenMode; - this.modeToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Mode_opening); - // - // menuModeStandard - // - this.menuModeStandard.Name = "menuModeStandard"; - this.menuModeStandard.Size = new System.Drawing.Size(152, 22); - this.menuModeStandard.Text = Strings.FullscreenModeNormal; - this.menuModeStandard.ToolTipText = Strings.FullscreenModeNormalTT; - this.menuModeStandard.Click += new System.EventHandler(this.Menu_Mode_standard); - // - // menuModeOnTop - // - this.menuModeOnTop.Name = "menuModeOnTop"; - this.menuModeOnTop.Size = new System.Drawing.Size(152, 22); - this.menuModeOnTop.Text = Strings.FullscreenModeAlwaysOnTop; - this.menuModeOnTop.ToolTipText = Strings.FullscreenModeAlwaysOnTopTT; - this.menuModeOnTop.Click += new System.EventHandler(this.Menu_Mode_ontop); - // - // menuModeClickThrough - // - this.menuModeClickThrough.Name = "menuModeClickThrough"; - this.menuModeClickThrough.Size = new System.Drawing.Size(152, 22); - this.menuModeClickThrough.Text = Strings.FullscreenModeClickThrough; - this.menuModeClickThrough.ToolTipText = Strings.FullscreenModeClickThroughTT; - this.menuModeClickThrough.Click += new System.EventHandler(this.Menu_Mode_clickthrough); - // - // opacityToolStripMenuItem - // - this.opacityToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.menuOpacity100, - this.menuOpacity75, - this.menuOpacity50, - this.menuOpacity25}); - this.opacityToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity16; - this.opacityToolStripMenuItem.Name = "opacityToolStripMenuItem"; - this.opacityToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.opacityToolStripMenuItem.Text = Strings.MenuOpacity; - this.opacityToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Opacity_opening); - // - // menuOpacity100 - // - this.menuOpacity100.Name = "menuOpacity100"; - this.menuOpacity100.Size = new System.Drawing.Size(153, 22); - this.menuOpacity100.Text = Strings.MenuOp100; - this.menuOpacity100.ToolTipText = Strings.MenuOp100TT; - this.menuOpacity100.Click += new System.EventHandler(this.Menu_Opacity_100); - // - // menuOpacity75 - // - this.menuOpacity75.Name = "menuOpacity75"; - this.menuOpacity75.Size = new System.Drawing.Size(153, 22); - this.menuOpacity75.Text = Strings.MenuOp75; - this.menuOpacity75.ToolTipText = Strings.MenuOp75TT; - this.menuOpacity75.Click += new System.EventHandler(this.Menu_Opacity_75); - // - // menuOpacity50 - // - this.menuOpacity50.Name = "menuOpacity50"; - this.menuOpacity50.Size = new System.Drawing.Size(153, 22); - this.menuOpacity50.Text = Strings.MenuOp50; - this.menuOpacity50.ToolTipText = Strings.MenuOp50TT; - this.menuOpacity50.Click += new System.EventHandler(this.Menu_Opacity_50); - // - // menuOpacity25 - // - this.menuOpacity25.Name = "menuOpacity25"; - this.menuOpacity25.Size = new System.Drawing.Size(153, 22); - this.menuOpacity25.Text = Strings.MenuOp25; - this.menuOpacity25.ToolTipText = Strings.MenuOp25TT; - this.menuOpacity25.Click += new System.EventHandler(this.Menu_Opacity_25); - // - // quitFullscreenModeToolStripMenuItem - // - this.quitFullscreenModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; - this.quitFullscreenModeToolStripMenuItem.Name = "quitFullscreenModeToolStripMenuItem"; - this.quitFullscreenModeToolStripMenuItem.Size = new System.Drawing.Size(185, 22); - this.quitFullscreenModeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuQuitFullscreen; - this.quitFullscreenModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Quit_click); - // - // _thumbnail - // - this._thumbnail.BackColor = System.Drawing.SystemColors.Control; - this._thumbnail.ClickThrough = true; - this._thumbnail.Cursor = System.Windows.Forms.Cursors.Default; - this._thumbnail.Dock = System.Windows.Forms.DockStyle.Fill; - this._thumbnail.DrawMouseRegions = false; - this._thumbnail.FullscreenMode = false; - this._thumbnail.GlassMode = false; - this._thumbnail.Location = new System.Drawing.Point(0, 0); - this._thumbnail.Name = "_thumbnail"; - this._thumbnail.ShownRegion = new System.Drawing.Rectangle(0, 0, 0, 0); - this._thumbnail.ShowRegion = false; - this._thumbnail.Size = new System.Drawing.Size(284, 264); - this._thumbnail.TabIndex = 0; - // - // FullscreenForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.Black; - this.ClientSize = new System.Drawing.Size(284, 264); - this.ContextMenuStrip = this.menuContext; - this.Controls.Add(this._thumbnail); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.Name = "FullscreenForm"; - this.Text = Strings.FullscreenTitle; - this.menuContext.ResumeLayout(false); - this.menuWindows.ResumeLayout(false); - this.ResumeLayout(false); - - } - - #endregion - - private ThumbnailPanel _thumbnail; - private System.Windows.Forms.ContextMenuStrip menuContext; - private System.Windows.Forms.ToolStripMenuItem windowsToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem quitFullscreenModeToolStripMenuItem; - private System.Windows.Forms.ContextMenuStrip menuWindows; - private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem modeToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem menuModeStandard; - private System.Windows.Forms.ToolStripMenuItem menuModeOnTop; - private System.Windows.Forms.ToolStripMenuItem menuModeClickThrough; - private System.Windows.Forms.ToolStripMenuItem opacityToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem menuOpacity100; - private System.Windows.Forms.ToolStripMenuItem menuOpacity75; - private System.Windows.Forms.ToolStripMenuItem menuOpacity50; - private System.Windows.Forms.ToolStripMenuItem menuOpacity25; - } -} \ No newline at end of file diff --git a/OnTopReplica/FullscreenForm.cs b/OnTopReplica/FullscreenForm.cs deleted file mode 100644 index a364524..0000000 --- a/OnTopReplica/FullscreenForm.cs +++ /dev/null @@ -1,260 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Text; -using System.Windows.Forms; -using VistaControls.TaskDialog; -using OnTopReplica.Properties; - -namespace OnTopReplica { - - partial class FullscreenForm : Form { - - public FullscreenForm() { - InitializeComponent(); - - _thumbnail.GlassMode = true; - - //Set mode - Mode = (Settings.Default.FullscreenAlwaysOnTop) ? FullscreenMode.AlwaysOnTop : FullscreenMode.Normal; - - //Set native renderer on context menu - Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(new Control[] { - menuContext, menuWindows - }); - } - - WindowHandle _lastHandle; - WindowManager _manager = new WindowManager(WindowManager.EnumerationMode.TaskWindows); - - public void DisplayFullscreen(Screen screen, WindowHandle window) { - _lastHandle = window; - - //Init thumbnail - _thumbnail.SetThumbnailHandle(window); - - //Form setup - this.Location = screen.WorkingArea.Location; - this.Size = screen.WorkingArea.Size; - } - - public void CloseFullscreen() { - this.Visible = false; - - _thumbnail.UnsetThumbnail(); - } - - public Rectangle ShownRegion { - get { - return _thumbnail.ShownRegion; - } - set { - _thumbnail.ShownRegion = value; - } - } - - public bool ShowRegion { - get { - return _thumbnail.ShowRegion; - } - set { - _thumbnail.ShowRegion = value; - } - } - - public WindowHandle LastWindowHandle { - get { - return _lastHandle; - } - } - - #region Event handling - - public event EventHandler CloseRequest; - - protected virtual void OnCloseRequest() { - if (CloseRequest != null) - CloseRequest(this, new CloseRequestEventArgs { - LastWindowHandle = _lastHandle, - LastRegion = (_thumbnail.ShowRegion) ? (Rectangle?)_thumbnail.ShownRegion : null - }); - } - - protected override void OnDoubleClick(EventArgs e) { - OnCloseRequest(); - - base.OnDoubleClick(e); - } - - protected override void OnKeyUp(KeyEventArgs e) { - if (e.KeyCode == Keys.Escape) { - e.Handled = true; - OnCloseRequest(); - } - else if (e.KeyCode == Keys.Enter && e.Modifiers == Keys.Alt) { - e.Handled = true; - OnCloseRequest(); - } - - base.OnKeyUp(e); - } - - protected override void OnClosing(CancelEventArgs e) { - base.OnClosing(e); - - //Never close - OnCloseRequest(); - e.Cancel = true; - } - - protected override void OnActivated(EventArgs e) { - base.OnActivated(e); - - //Disable "click through" on show: this prevents case in which the user - //cannot return to standard mode closing and re-opening the fullscreen mode - if (Mode == FullscreenMode.ClickThrough) - Mode = (Settings.Default.FullscreenAlwaysOnTop) ? FullscreenMode.AlwaysOnTop : FullscreenMode.Normal; - } - - #endregion - - #region Mode - - FullscreenMode _mode; - - public FullscreenMode Mode { - get { - return _mode; - } - set { - _mode = value; - Settings.Default.FullscreenAlwaysOnTop = (value != FullscreenMode.Normal); - - //Top most if always on top or click through - this.TopMost = (value != FullscreenMode.Normal); - this.TransparencyKey = (value == FullscreenMode.ClickThrough) ? Color.Black : Color.White; - - this.Invalidate(); - } - } - - #endregion - - #region Menus - - private void Menu_Windows_opening(object sender, EventArgs e) { - _manager.Refresh(WindowManager.EnumerationMode.TaskWindows); - - WindowListHelper.PopulateMenu(this, _manager, menuWindows, _lastHandle, new EventHandler(Menu_Window_click)); - } - - void Menu_Window_click(object sender, EventArgs e) { - //Ensure menu is closed - menuContext.Close(); - - //Get clicked item and window index from tag - ToolStripItem tsi = (ToolStripItem)sender; - - var windowData = tsi.Tag as WindowListHelper.WindowSelectionData; - - //Handle "-none-" window request - if (windowData == null) { - OnCloseRequest(); - return; - } - - try { - _thumbnail.SetThumbnailHandle(windowData.Handle); - if (windowData.Region != null) { - _thumbnail.ShownRegion = windowData.Region.Rect; - _thumbnail.ShowRegion = true; - } - else { - _thumbnail.ShowRegion = false; - } - _lastHandle = windowData.Handle; - } - catch (Exception) { - OnCloseRequest(); - } - } - - private void Menu_Mode_opening(object sender, EventArgs e) { - menuModeStandard.Checked = (Mode == FullscreenMode.Normal); - menuModeOnTop.Checked = (Mode == FullscreenMode.AlwaysOnTop); - menuModeClickThrough.Checked = (Mode == FullscreenMode.ClickThrough); - } - - private void Menu_Mode_standard(object sender, EventArgs e) { - Mode = FullscreenMode.Normal; - } - - private void Menu_Mode_ontop(object sender, EventArgs e) { - Mode = FullscreenMode.AlwaysOnTop; - } - - private void Menu_Mode_clickthrough(object sender, EventArgs e) { - if (!CheckFirstTimeClickThrough()) - return; - - Mode = FullscreenMode.ClickThrough; - } - - private void Menu_Opacity_100(object sender, EventArgs e) { - this.Opacity = 1.0; - } - - private void Menu_Opacity_75(object sender, EventArgs e) { - this.Opacity = 0.75; - } - - private void Menu_Opacity_50(object sender, EventArgs e) { - this.Opacity = 0.5; - } - - private void Menu_Opacity_25(object sender, EventArgs e) { - this.Opacity = 0.25; - } - - private void Menu_Opacity_opening(object sender, EventArgs e) { - menuOpacity100.Checked = (Opacity == 1.0); - menuOpacity75.Checked = (Opacity == 0.75); - menuOpacity50.Checked = (Opacity == 0.5); - menuOpacity25.Checked = (Opacity == 0.25); - } - - private void Menu_Quit_click(object sender, EventArgs e) { - OnCloseRequest(); - } - - #endregion - - /// Check if the user uses click-through for the first time and asks confirmation. - /// Returns whether to switch to click through mode or not. - private bool CheckFirstTimeClickThrough() { - if (Settings.Default.FirstTimeClickThrough) { - //Alert the user about click through - TaskDialog dlg = new TaskDialog(Strings.InfoClickThrough, Strings.InfoClickThroughTitle, Strings.InfoClickThroughInformation); - dlg.CommonIcon = TaskDialogIcon.Information; - dlg.ExpandedControlText = Strings.ErrorDetailButton; - dlg.ExpandedInformation = Strings.InfoClickThroughDetails; - dlg.UseCommandLinks = true; - dlg.CustomButtons = new CustomButton[] { - new CustomButton(Result.Yes, Strings.InfoClickThroughOk), - new CustomButton(Result.No, Strings.InfoClickThroughNo) - }; - - var result = dlg.Show(this); - return result.CommonButton == Result.Yes; - - //Settings.Default.ClickThrough = (dlg.Show(this).CommonButton == Result.Yes); - } - - Settings.Default.FirstTimeClickThrough = false; - return true; - } - - } - -} diff --git a/OnTopReplica/FullscreenForm.resx b/OnTopReplica/FullscreenForm.resx deleted file mode 100644 index 5715d1d..0000000 --- a/OnTopReplica/FullscreenForm.resx +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 17, 17 - - - 142, 17 - - - - - AAABAAEAMDAAAAEAGACoHAAAFgAAACgAAAAwAAAAYAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AABBdztCdjhDeDpCdzlCdjpDdzpFfD5EeTpGfDtFfDtFfjpJgjtHfjlHgTpIgjtNiDxKgzlKhDlKiDhO - iztNijpMjDpPjTtSkz1Vlz1YnD1bpD5dpz1hqT9lrEFkrT5oskJnsD1prT1orD1mqTlmpjlkpDdmozpj - nDVhmDRekzJekTJekDNjkjNeijFbiC1ahSxDeDlDdztDdztEdzpFejpEeDhEdzlEeDpGezhGfThGfDhH - fThHfjlIgjhIgzpKgzhJhDhKhjhLhzlNiTlLiDlPjTlVlz1VmDxYnTxdoT5gqD1iqj9jrkBlr0BnsEBp - rz1nrT1orTtmqzhlpzhopjpjoDVgmzNgmDNflTJejy9cjy5gkS9bii5ciC1chyxbhytCdjpDdzlDeDlG - eztDdjhDdzhDdzdEeDhHfDdFejZFezdGfTdJgzlIgDdIgTlKgzdLhDhKhjlLhjhMiTlQkDpSlDtXmDtY - nTtcozxepz1hqz1jrT1oskBorztpsDxnrjxorTtmqzplqTppqjxioDVfnDRfmDNflTJdkjBekjFcji9c - iy9biS1ciCxciCtgjS1DdjhEezpDeDhCdTdEdTZEdjVFeDVFeDVHdzREezZGfjdIfTZHfTdIgDdJgjdK - hDZKhDZKhDZMhzdTkztSlDpWmjtanjtcozxepz1gqD1kqzxorz1nsD5psDxorztlrTtmqzpmqDxkpTli - oDZgnTVelzNclTJdkjFilTNaji5biy5bii1bii1ciSxfjSxdiypGejpCdTZDdThFdTdGeDdFeDZEdzdG - eDZIejhLgTpIeztLfjdKgDlLgjlMhDpMhTlOhTpPjDtTkTtWlTxZmj5coT5gpT9ipz9kqD9prUForj5p - sEBpsEBpsT9prz9nrD9qrEJkozlloDlinThhmjdgmDZhlzRflDJbjzBcjTFejTBdjDBejC9eiyxejStf - kC1DdTdEdzhFdzlIeDpIeTtKejpKez5NfT1QgD9QgUBPgUBShD9RhUBSh0BTiEFVi0BdlUVak0JdmUNi - n0VlokVnpkZoqUVprERusEVusUVts0ZutEdvs0VvskZusEVvrkZrqEJppENnokJmnz9mnT1qnzxkmDpi - lDhikjZhkjVjkDVmlTZgjzFhjy9jki5ili1DdjdGeDpIeDtMeT1Pe0BRfkRWhkdWg0ZahklbiUtaiUxd - i0tcjExej0tglE1kmU5mnE9nn05ro05up09wq1Bzr1F2s1F1s053tFB2tlF3tlF4tlB2tlB4tlF2sU9z - rU5yqk1yqExwpUxwpUlypkluoUhsnEZsm0VrmkJql0Jtmz5pljtolzhplzZomjNspTJGeDpKeTpMej5S - e0FVgUdahkteiE5jjFNokFdpkllqk1tslltsmVxyoV5xol52pF12p196rWB7sGB+smGAtmCEumKCuWCD - umGCul+Du1+Du2CEvF+FvWGDuF+Dt16As11/sFyAsFyAr1t+rVp9qVt8qFp7pVd6plV5pVN2oU9zn0px - oUZunj9wojxwqThwrjZIdzpOeD5SfkJbhEpehU5ljFZskV1zl2R5nGp8oWx9oXCBpXCDq3KErXKGr3KJ - tHSLtnSLuHSNvXWPvnSRwHSRw3WSwnWSwXOSwXSSw3OSw3STw3ORwHKQv3KQvXGPu3GPunGQunKNt3GN - tXCMtG+NtG+MsmyMs2uGrWWErWGArFp+qlR7rEt5sEV3tj91vzxMdjtRfUFZgUlhhlFqjFp0lWR8nG+G - o3iPqoCUr4SWtYmZuImau4ubvoudwYyfw4ufxYyhx42jyo6jyoykyoylzI2lzI2ky4ukyo2kzYyjyouj - yoqjyYqjyIuixouixomix4uhxIqhwomhwoihwYeiwYeiwYedvoGZvH2UunSQuWyOumKGuleDv1CAykl6 - 2UFSfEFWfkVghE9qjVuIhYP89e3z9e/n9PDn9fDn9PHn9fHo9fHp9vLq9fHq9fHp9fDq9PDr9O/r9O/s - 9O7s9O3s8+3s8+vs8urs8unr8efr8Obs8Obt8OXu8eXv8OTw8eTz9OX4+Of8+ez9+ez++e3++en9+ej9 - +OX89+L89t/69OT57uKUzGaN01yF4lGB+EtQeT5bgUpliVZzkmONiIPk6efS8vSj6vCl6++n6++o7O6q - 7O6t7e6v7u6x7u6y7ey27uy47uy88Oy/8OvC8OrE8OjG8ObK8OTL8eDO8d7T8d7a8eDg8uLk8uTm8+Po - 9N/s+Nny+9L4/Nb7/NL8/M/8/Mr8/Mf8+8H8+bb89rD699f68eGe33aS62SL/Fp/+1BTe0Neg01ri1t6 - lWqWkYzc6+qj6u441d861t091ts/19lD2NhJ2dhO2tdR29VU29Jb3tFh4NFq5dJx6NF66tGK69WW69in - 7Nmu7dS27c+57ci07cOr7b6n7cC07rzH8bPO9KfV9pva85jp74vt64Hv6Hbx5nDy5Gbz4FT120r466r6 - 79qm9IGY/HGM+2R2qUtWe0NihFBvjV9/mG+dmZTd7Ouj6e031Nw61Ns91dlA1tdC19VG2dRL29NX4NZe - 5Nhl6Nlm69Vt8NJ289KB9tGR9tOd9dKr9NGy8sy78cnB9MS7872x8reu8bq187jF97XC76LD55LF33nS - 2mna1Vze0F3iz1jnzVLsy0bwxj/346b57tuo/YmZ/XmDoFt4lUpXfENkhFFyj2GFnnSjnpre7euh6Ooz - 09Y21tc52dc62NI81sxA1shE2MVQ3chZ5cth68tg7MRk67ts67d17bSI8LeT7rWh67Oj4qqo3KOo3Jmd - 2ouP2YCL2YGV24Cn34Kp13Wx1Hm0y2bCx1vKwUfUw0fbwUTgvkHluj7suzv236X57tyq75CUrXOHol95 - l05ZekRmhVJ4lWWIoHamop7e7eug5uYxzcw00M040sw50cc+1chC1sRI2MFS2L1b375k5r5l57Ro5Khs - 3aBx2pd63JN/24mD14CCzXSGym2Lzm+OymuPxGeVu2CWul6avF6dtFOptFizsky3ska+sDvItT3Stz/Z - tjvftDrntzr03qX479ynvIyYsXaHomB6mE9bfkRpiFN5lmSLo3mopKDe7Oqh4+E3y8U70Mc/0sY+zrxF - 0rtM1rlT2rVW1qte2qdo36Jz459z2ZFwzIJsv3F1wnJ3w3J+wmx8uV2Cs1CDsVGErE2EpUqGm0GKlz6R - ljualTekmz+snT2unjq0oDDAqDHJqzXPqjXTpjTaqjXu2KP37dyrwJCXrniJpGJ7mVBcgUVrjFR6mGaK - p3iopKDf7Oml49s+yblFz71J0LtIzLFO0K5T0KhZz6JbyZVix4xryYh1y4NzxHtwuW1sr150sFl0rVZ3 - qk92okN9njl+nzx+mTt8kTl8hS9/gSqFfyeLfyWRgSWZhSWehySmjiarkSm1li68ly7GmS7NnDDo0qH2 - 7NypvI6Xr3eKo2N7mFBehEVrj1V6nGaMp3mopKDf7Oen4NVDw6tJyK5Nx6pLwJ1OvJFRuYlWt4Fct31l - uXhsunR0uG5xsGNuplVsnkVxnT9wmj1wlDZuiy10hyN2gyF4fx95ex55dx17dR1/dR2Fdx6LeR+SfCCa - giKjiiKokCiwlCq0lS++ly/FmDHm0KD17NypvY6Yr3iKpGR7l09fiEVsk1R7nGWMqXiopKDf6uWn2s1C - spJItJNLso9MsIhMqHtNoW9PmWNVmV5enVpln1ZomktmlENljjdrjzFxjyhyiyJwhB5ufht0gBp6gRp8 - fhl7eRl4dBl5cRl8cRqBchuHdByOeR6XgB+fhyKjjSerkSqtlS60ljC5lzThz6T07N2pvY6Yr3iJo2N8 - l05hi0VulFR8n2SOrXmopKDf5+Km0ME9mnVAmnJClmxEk2VGjV1Ki1VQi05ZkUtlmEdsmkFtlTdsjS1q - hiNwhx5zhxp1hhlzghd0gBZ7gxV/gxaAfxV9eRV5chZ4bxZ6bhd+bxiEchmMdxuUfx2dhR+jiSKrkiWv - mCq0mi+2lzPezqP07N6pvo+Yr3iJo2J8l09ijkVul1N8omSMqneopKDf5uClyLY8il9Bjl5FjVpIjlZM - jE9RjUhZjEFijjltlDNzlCx0jyRxhh1wgRh1hRZ5hxV6iBR5hRN7hBKBhxKDhRKDgRJ+ehJ6cxN5bxN5 - bRR8bhWCcReLeBmUfxychB2hhh+oiyKvkiS0lim1li7czqL17d+pvY6Yr3aKo2N8l09ikEVtmFR8oGSM - qneopKDf5d6mxa8+g09EiU9LjUtQjEVXlT5bkzhklTJsjip3lCR9kx58jhl4hhV3gxJ8iRJ+ixKAjBF/ - iRGCiRCGihCGhg+EgQ+Aeg99dA97cRB6bhF9bxODcxWNexeVgRqbgxyegh2jhx+wliO7nSW/nSjgzp71 - 7d+qvYyYrnaJo2N7lk5ikEVtl1N7n2SMqXenpKDg5N2nwqlCgEJKikFUkj9YkDlflzNikixqkyVyix5+ - kRuDkhiDjRR9hhB9hw+DjQ+HkA+HkA+GjQ6IjQ2Kiw2HhgyDgAyAegx/dg19cg59bw9/cRCGdhOPfhaW - gRiZgRmafhqdfhymix+ylCK6mSTfzpz27t+qvYyZr3WKo2N8lk1ij0VtllN7nmOMqXenpKDg49upwqRG - fzZRkTdamDRelC9hkCdkiiBtjRx4iheFkhmJkxaHjhOAhg2DiQyLkg2Plg2PlQyKjwuNjwuNiwqJhQmE - fwmBegqAdgp/cwt+cQ2BdA6JexGRgBOVgBWVfReVehiXehmghh2rkiG3myTf0Jz47+CqvYyZr3WJomJ8 - lk9hj0RsllJ7nmOLqHenpKDg5NqrwqBLjS9UnS9boSxdjiVegB5kfhlvgxV8ihKJkxiMkhWJjROChgmH - jAmPlAqUmAqTlwqPkQmRkAmOigiKhQiEfgeAeQd/dgh9cwl9cgqCdgyKfQ+PfxGQfBKOdxSPdRWSdheX - eRmeiCCqkyPa0p338N+pvIyYrnaJomJ8lk1gjkNslFN6nGSMqXinpKDh5NmrwZ1LiChTlihZmCVciB5e - fBhlfBRwghF9iQ6JkRSMkBKIixCEhgaLjQeTlQeXmAiVlgeTkQeTkAeQigaKhAaEfQWBeQV+dQZ7cgd8 - cgiCeAuJfQ2LfA+KdxCIchGJcBOMchWSdheZhR+jjyLW0J328N+pvIuYrnWJomB8l01fjEJsk1F5m2OK - pHanpKDh49mrv5tJgiNQiSFXjx9agBlfehRmeRBxfw19hwuHjA6JjAyFhwqFhgWNjgWTkwWXlQaUkgWU - kQaUjwWQiAWJggWEfAR/eAR7cwV4cAV6cgeAeAmFeguFdw2CcQ6BbA+CaxGGbhSMchaUfxuahx/Sy5v0 - 7t+pvIuYrnWJo2B8l01hjEJpkVF4l2KKonWnpKDg4tiqvJlHbh1OeBxVfxpbfhZfeBJldg5wfQt8hAmE - iAmGhweCgwaFhQSPjgWVkwWYlAWTjgSUjgSSiwSOhgSIfwSCegR+dgR4cQR1bwR4cgV+dweAdwl9cQp6 - agx6Zw18Zw+AahKGbxSNdBeVfxzQx5n07+CpvIuZrnSKomB8l01diEJqjlB4lWGIoHSnpKDg4tiquphG - ahpOdRlVfRdbfRRedhBkdAxvegl7ggeDhQaEhASAgAOFhQSQjwWXkwWYkwWTjASTiwSQhwSMggSFfQSA - eAR7cwR1bwNzbgN2cgR5dAZ4cQh1aglyZApzYgx2Yw56ZxGBaxOIcRWRfBnOxZjz7uCqvIuZrnSJoV59 - lkxchEFpjFB3k2CIn3WnpKDf4tipuZdFaBdNcRVUehNaehFddA1icQpteAh5fwaAgwWBgQN+fgOFhASP - jQSVkQWUjgWQiQWQhwSOhASJfwSDegR9dQR4cANzbQNybQNzcAN0cAVxawZsYwhrXglsXQtwXw11Yw97 - aBKCbRSLdxjLwpfz7t+qvIuYrXOJoV58lkxcgj9oik93k2GInnSnpKDg49mpuJVFZRRMbRJUdhBZdw5c - cQtgbghsdQZ3fAV8fgR8fQN7ewOEgwSNigSSjQSPiASNhQSMggSKgASFewSAdwR7cgR2bgNxawNxbANw - bgNuawRpZAVlXQdkWQhmWQpqWwxvXg51ZBB8ahKEcBXIvpbx7uKqvIqYrXOLoV58lkxagkFoiE91kGCG - nXOnop7f4tipt5REYhFLaQ9Scg1XcwxbbwlfbAdpcgV0eQR3eQN3eAN3dwODgQOJhgSMhwSHgQSIgASH - fgOFfAOBdwN8cwN3bwNzbANvagNvawJsagJoZQNhXQRfVwVeVQdhVQhkVwppWwxvYA92ZhF+bBPGvZXw - 7eGqu4qarXOKoV58lUxYfD5oh010j12EmnCkoJvf4deptpNEYA9JZg1QbgtVcAlZbQddaQZocARxdgNz - dgNydAN0dQOCgQOIhQSJhASDfASDewOEfAOBeAN9dAN4bwN0bANvagNuaQNsaQJpZgJiXwNbVwNZUgRZ - UQVbUQdfUwlkVwtqXA1xYw94aRHDvJTw7OCnuYaYrHCJoFx8lUpcgD5kg0lyjFqBl2yfm5bd39WptZFD - Xg1IYgtPaglTbAhXagZcZwVmbgNucwJwcwJvcQJzcwKBfwOGgwSEfwR/eAR/dwOBeAN9dQN6cQN0bQNw - agNtaANraANpZgNkYQNcWQNXUgNUTwRVTgVWTgZaUAdfVAplWQxrXw5yZRDAupPw696ktYCWqWuInlh7 - lEdWeTlhgUduilZ8lGaZlZDc3dOntZFBXgxGYQpLZwlQaQdUaAVZZwRibQRqcwVrcgVqcAVvdAN7fgSA - gAR8ewR5dgR5dgR6dgR3cwRzbwRvbANraQNoZwNnZwNjZQNeXwNWVwNRUQNOTgNOTQRQTQVTTwdYUgle - VgtkXAxrYg69uJLv6t2dr3ePpGSDmlJ4kUJVeThef0Nqh1B3kV+RjIfk493U28qotZGptpCsuZCvuo+x - uY6zuY63vI26v4+7v4+6vo+9v43Bw47DxI7BwY7AwI7BwI7BwI6/vo69vY68u427uo25uo24uY23uI20 - tY2xso2vr42tro2tro6uro6vr4+ysI+0spC2s5G5tpHd28v38umVqWyJnlt9lUt0jT9TeDVbfj5lhEpw - jVaHgn308evo5uDe4dbh4tfj5Njj5djk5djk5djl5djm5tnm5tnm5tnm5tjn59fn59fn5tfn5dfn5djn - 5djm5dfm5Nfm5Nfl5Nfl5Nfl5Njl5Njk5Njk49jj49jj4tjj4tjj4tjj4tjk49nk4tnk4tfk4dbr6OH9 - 9u+KoF+AmFB3kENvijhReDJWezljhkRnh0rV1NSLhX+Qi4eYk4+emZWinpmloZymop2mop2mop2mop2m - op2mop2lop2lop2lop2loZ2loZ2loZ2loZ2loZ2loZ2loZ2loZ2lop2lop2mop2mop2mop2mop2mop2m - op2mop2mop2loJyhnZicmJOVkYyPioWSj4t/lU53kERxiTlqhTBOdi5WfTVXfzlehUJmi0lvklJ1m1h9 - p2GBrmaGuWqJxm6K1nCK6XKL6XOHyG+EnGmFnWqGnmiIoGqGn2mHoGqHoGmIommIo2qJpGqKpWmKpmqK - p2qMqGqMqWqMqWqNqWqNqWuMqGqOqGqOqGqOp2mNpmiMpGeLomSIoF+DnFh+l1B7k0l0jkBuijhrhTBm - gypLeCxPei9VfzVZhTheij1lkkNtn0tup05yslN1xVV411l27Fp47F9xplVyjVFxjlFzkFJzklN0klN1 - klJ2lFN2lVF2llJ2llJ3mVN4mlJ5m1J5nVF6nlN6n1N9nVN9n1R8n1R9nlN9n1J9nVJ9nFF8m1B8mU97 - l014lUd2kkRzj0BwjDpqhzRohS9mgChifiRKeClNfC1RgC5VhjBYjTVfmTphoT5jsEBnxURn2kVr70pn - 70tijUBhgT5igj5ihT5lhz5jhz9miEBmiD9oiz9ojD5njD9njD9pkEBqkT9rkz9slT9slkBul0BvlT9u - l0Bul0Bvlj9vlj9vlT5vkz5vkT1vkDtujjptjThrijVpiDFnhi5kgytkgidifyNefR9KeidNfihQhCtS - jCxWmTBYojNcsTVcxzZb5Tle8z1e8z9VeTBVeTBWeTBYejFYfTBafzFYgDFagDJbgDBchDBagzFchTJd - hzFeiTFgizFhjDBhjjFikDJkkTJkkDJkkTJlkjFlkDFkjzBljzBjji5miy5lii1miC5khyxjhCphgydh - giVffyRffx9gfR9dexxJfiZLgyZOiyhRlipSpCtStC5Wyy9V6TFW9zVU9TdMciZOcCVNciZOdSZQdyZR - eCZReSdReydTfCdUfCdVfydUfiZWgSZVgyZXhiZZhyZaiSdbiydcjSdejihgjihejihejihfjSdfjShf - jCdfiiVgiCVfhyRfhCNegyJdgSJcgCBdfx9bfh5bfhxcexpaeRlKhCVLjCVQliZRpSdPuCpR0CtS8SxV - +jBQ+jBGbR9JcB9JbyBJcR5KcSBMdSBNdiBOeSFOeiJPeiBQeiBRfSBRfh9TgCBTgiFVhSBWhiBYiCBX - iR9YjSBbjiFbjCFajSJajSFbjSBaiiBaiiBaiB9ahh5bhh1agx1bgx1bgRxagBtbfxpafhlafBhcehha - eBhNjyZNlyRRqChSuyhR1ytS+C1V/jFP/i5Gbh5Hbh9Jbx9KciBJcR9KdCBMdiBNdyBOeSBPeh9Peh9Q - eyBRfh9RfiBSgR9UgyFVhR9ViCBYiSFYjCBZjSFcjyBcjyBdjyJbkCFcjiBejCBbjCBbih9diB9bhh1a - hRxcgx1bghpbgRxbgBpafxlafBhbehdbehdOmiVPqSdQvilR2SxR/S1V/jFL1yxGbB9Hbh9Gbh9Mch9I - cB9JcB9Kcx9MdSBMdyBOeCBNeSBPeR9QeyBQfR9RfiBSgR5SgyBVhSBWiCBYiCBXix9ZjB5cjx9cjx9d - jyFajyBcjR9bjB5bjCBbih9chx5chh1bhRxchBtbgxtZgBtbgBpbfhlcexhaexhbehdPqidRwClR2ylR - /S5U/zFLwyhGbR9FbB9GbR9JcB9Jbh5LcR9KcR9Mcx5MdSBNdyBOeCBOeiFPeh9QfB9RfSBRfiBSgR5S - gyBUgx5Whx9YiR9Xix9ZjR5bjx9cjx9dkCFajyBbjh9cjR9bjCBbih9diB9dhh1chRxbhBtbgxxbgBpb - gBpbfRlcexhcexhcexgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= - - - \ No newline at end of file diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index b552fde..85bda4d 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -40,8 +40,6 @@ this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); - this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripMenuItem(); this.resizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuResize = new System.Windows.Forms.ContextMenuStrip(this.components); this.doubleToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); @@ -55,8 +53,6 @@ this.topRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.bottomLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.bottomRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); - this.recallLastPositionAndSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.chromeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.reduceToIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); @@ -93,7 +89,7 @@ this.aboutToolStripMenuItem, this.menuContextClose}); this.menuContext.Name = "menuContext"; - this.menuContext.Size = new System.Drawing.Size(169, 274); + this.menuContext.Size = new System.Drawing.Size(169, 296); this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); // // menuContextWindows @@ -161,14 +157,12 @@ this.toolStripMenuItem1, this.toolStripMenuItem2, this.toolStripMenuItem3, - this.toolStripMenuItem4, - this.toolStripSeparator2, - this.toolStripMenuItem5}); + this.toolStripMenuItem4}); this.menuOpacity.Name = "menuOpacity"; this.menuOpacity.OwnerItem = this.menuContextOpacity; this.menuOpacity.ShowCheckMargin = true; this.menuOpacity.ShowImageMargin = false; - this.menuOpacity.Size = new System.Drawing.Size(154, 120); + this.menuOpacity.Size = new System.Drawing.Size(154, 114); this.menuOpacity.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Opacity_opening); // // toolStripMenuItem1 @@ -209,21 +203,6 @@ this.toolStripMenuItem4.ToolTipText = global::OnTopReplica.Strings.MenuOp25TT; this.toolStripMenuItem4.Click += new System.EventHandler(this.Menu_Opacity_click); // - // toolStripSeparator2 - // - this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(150, 6); - // - // toolStripMenuItem5 - // - this.toolStripMenuItem5.Checked = true; - this.toolStripMenuItem5.CheckState = System.Windows.Forms.CheckState.Checked; - this.toolStripMenuItem5.Name = "toolStripMenuItem5"; - this.toolStripMenuItem5.Size = new System.Drawing.Size(153, 22); - this.toolStripMenuItem5.Text = global::OnTopReplica.Strings.MenuGlass; - this.toolStripMenuItem5.ToolTipText = global::OnTopReplica.Strings.MenuGlassTT; - this.toolStripMenuItem5.Click += new System.EventHandler(this.Menu_Opacity_Glass_click); - // // resizeToolStripMenuItem // this.resizeToolStripMenuItem.DropDown = this.menuResize; @@ -292,9 +271,7 @@ this.topLeftToolStripMenuItem, this.topRightToolStripMenuItem, this.bottomLeftToolStripMenuItem, - this.bottomRightToolStripMenuItem, - this.toolStripSeparator4, - this.recallLastPositionAndSizeToolStripMenuItem}); + this.bottomRightToolStripMenuItem}); this.dockToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_null; this.dockToolStripMenuItem.Name = "dockToolStripMenuItem"; this.dockToolStripMenuItem.Size = new System.Drawing.Size(168, 22); @@ -305,7 +282,7 @@ // this.topLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topleft; this.topLeftToolStripMenuItem.Name = "topLeftToolStripMenuItem"; - this.topLeftToolStripMenuItem.Size = new System.Drawing.Size(217, 22); + this.topLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); this.topLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopLeft; this.topLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopLeft); // @@ -313,7 +290,7 @@ // this.topRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topright; this.topRightToolStripMenuItem.Name = "topRightToolStripMenuItem"; - this.topRightToolStripMenuItem.Size = new System.Drawing.Size(217, 22); + this.topRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); this.topRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopRight; this.topRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopRight); // @@ -321,7 +298,7 @@ // this.bottomLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomleft; this.bottomLeftToolStripMenuItem.Name = "bottomLeftToolStripMenuItem"; - this.bottomLeftToolStripMenuItem.Size = new System.Drawing.Size(217, 22); + this.bottomLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); this.bottomLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomLeft; this.bottomLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomLeft); // @@ -329,23 +306,10 @@ // this.bottomRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomright; this.bottomRightToolStripMenuItem.Name = "bottomRightToolStripMenuItem"; - this.bottomRightToolStripMenuItem.Size = new System.Drawing.Size(217, 22); + this.bottomRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); this.bottomRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomRight; this.bottomRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomRight); // - // toolStripSeparator4 - // - this.toolStripSeparator4.Name = "toolStripSeparator4"; - this.toolStripSeparator4.Size = new System.Drawing.Size(214, 6); - // - // recallLastPositionAndSizeToolStripMenuItem - // - this.recallLastPositionAndSizeToolStripMenuItem.Name = "recallLastPositionAndSizeToolStripMenuItem"; - this.recallLastPositionAndSizeToolStripMenuItem.Size = new System.Drawing.Size(217, 22); - this.recallLastPositionAndSizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRecall; - this.recallLastPositionAndSizeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRecallTT; - this.recallLastPositionAndSizeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_Recall_click); - // // chromeToolStripMenuItem // this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem"; @@ -453,14 +417,13 @@ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.SystemColors.Control; - this.ClientSize = new System.Drawing.Size(264, 204); + this.ClientSize = new System.Drawing.Size(264, 208); this.ControlBox = false; - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; this.MinimumSize = new System.Drawing.Size(200, 210); this.Name = "MainForm"; this.TopMost = true; - this.DoubleClick += new System.EventHandler(this.Form_doubleclick); this.menuContext.ResumeLayout(false); this.menuWindows.ResumeLayout(false); this.menuOpacity.ResumeLayout(false); @@ -486,18 +449,14 @@ private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem reduceToIconToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem selectRegionToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem resizeToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; - private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem5; + private System.Windows.Forms.ToolStripMenuItem resizeToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem switchToWindowToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem dockToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem topLeftToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem topRightToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem bottomLeftToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem bottomRightToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator4; - private System.Windows.Forms.ToolStripMenuItem recallLastPositionAndSizeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomRightToolStripMenuItem; private System.Windows.Forms.ContextMenuStrip menuResize; private System.Windows.Forms.ToolStripMenuItem doubleToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem fitToWindowToolStripMenuItem1; diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 1824c4e..77453ab 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -10,40 +10,21 @@ namespace OnTopReplica { public partial class MainForm : AspectRatioForm { - //Visualization status - bool _clickForwarding = false; - //GUI - ThumbnailPanel _thumbnailPanel = null; - RegionBox _regionBox = null; - FullscreenForm _fullscreenForm; + ThumbnailPanel _thumbnailPanel; + RegionBox _regionBox; HotKeyManager _hotKeyManager; //Window manager - WindowManager _windowManager; + WindowManager _windowManager = new WindowManager(); WindowHandle _lastWindowHandle = null; - //Override position and size on startup - bool _startOverride = false; - Point _startLocation; - Size _startSize; - - public MainForm(Point location, Size size) - : this() { - - _startOverride = true; - _startLocation = location; - _startSize = size; - } - public MainForm() { InitializeComponent(); - KeepAspectRatio = false; //Thumbnail panel - _thumbnailPanel = new ThumbnailPanel(Settings.Default.UseGlass){ - ClickThrough = !_clickForwarding, + _thumbnailPanel = new ThumbnailPanel { Location = Point.Empty, Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right, Size = ClientSize @@ -65,17 +46,13 @@ namespace OnTopReplica { _regionBox.RegionSet += new RegionBox.RegionSetHandler(RegionBox_RegionChanged); Controls.Add(_regionBox); - //Full screen form - _fullscreenForm = new FullscreenForm(); - _fullscreenForm.CloseRequest += new EventHandler(FullscreenForm_CloseRequest); - //Set native renderer on context menus Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer( menuContext, menuWindows, menuOpacity, menuResize, menuLanguages ); //Hook keyboard handler - this.KeyUp += new KeyEventHandler(Common_Key); + this.KeyUp += new KeyEventHandler(Form_KeyUp); this.KeyPreview = true; //Add hotkeys @@ -86,19 +63,13 @@ namespace OnTopReplica { #region Child forms & controls events - void FullscreenForm_CloseRequest(object sender, CloseRequestEventArgs e) { - if (_isFullscreen) { - ToggleFullscreen(); - } - } - void RegionBox_RegionChanged(object sender, Rectangle region) { - _thumbnailPanel.ShownRegion = region; + _thumbnailPanel.SelectedRegion = region; SetAspectRatio(region.Size); } void RegionBox_RequestRegionReset(object sender, EventArgs e) { - _thumbnailPanel.ResetShownRegion(); + _thumbnailPanel.ConstrainToRegion = false; SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize); } @@ -107,9 +78,8 @@ namespace OnTopReplica { } void Thumbnail_CloneClick(object sender, CloneClickEventArgs e) { - if (_clickForwarding) { - Win32Helper.InjectFakeMouseClick(_lastWindowHandle.Handle, e.ClientClickLocation, e.IsDoubleClick); - } + //TODO: handle other mouse buttons + Win32Helper.InjectFakeMouseClick(_lastWindowHandle.Handle, e.ClientClickLocation, e.IsDoubleClick); } void RegionBox_RequestClosing(object sender, EventArgs e) { @@ -137,9 +107,6 @@ namespace OnTopReplica { _regionBox.Visible = value; _regionBox.Enabled = value; - //Disable dragging - HandleMouseMove = !value; - //Enable region drawing on thumbnail _thumbnailPanel.DrawMouseRegions = value; @@ -161,7 +128,7 @@ namespace OnTopReplica { }; _regionBox.Size = new Size(_regionBox.Width, ClientSize.Height); - //Check form boundaries and move form if necessary + //Check form boundaries and move form if necessary (if it crosses the right screen border) if (value) { var screenCurr = Screen.FromControl(this); int pRight = Location.X + Size.Width + cWindowBoundary; @@ -191,24 +158,11 @@ namespace OnTopReplica { protected override void OnShown(EventArgs e) { base.OnShown(e); - //Get a window manager - _windowManager = new WindowManager(); - //Platform specific form initialization Program.Platform.InitForm(this); - //Reload position settings if needed - if (_startOverride) { - Location = _startLocation; - Size = _startSize; - } - else if (Settings.Default.WindowPositionStored) { - Location = Settings.Default.LastLocation; - ClientSize = Settings.Default.LastSize; - } - //Glassify window - SetGlass(Settings.Default.UseGlass); + GlassEnabled = true; } protected override void OnClosing(CancelEventArgs e) { @@ -216,15 +170,6 @@ namespace OnTopReplica { _hotKeyManager.Dispose(); _hotKeyManager = null; - //Store position settings - if (Settings.Default.StoreWindowPosition) { - Settings.Default.WindowPositionStored = true; - Settings.Default.LastLocation = Location; - Settings.Default.LastSize = ClientSize; - } - else - Settings.Default.WindowPositionStored = false; - base.OnClosing(e); } @@ -236,28 +181,50 @@ namespace OnTopReplica { new Margins(-1); } - protected override void OnActivated(EventArgs e) { - base.OnActivated(e); + protected override void OnDeactivate(EventArgs e) { + base.OnDeactivate(e); + + //HACK: sometimes, even if TopMost is true, the window loses its "always on top" status. + // This is an attempt of a fix that probably won't work... + if (!IsFullscreen) { //fullscreen mode doesn't use TopMost + TopMost = true; + } } protected override void OnMouseWheel(MouseEventArgs e) { base.OnMouseWheel(e); - AdjustSize(e.Delta); + int change = (int)(e.Delta / 6.0); //assumes a mouse wheel "tick" is in the 80-120 range + AdjustSize(change); } protected override void WndProc(ref Message m) { if (_hotKeyManager != null) _hotKeyManager.ProcessHotKeys(m); - base.WndProc(ref m); + switch(m.Msg){ + case NativeMethods.WM_NCRBUTTONUP: + //Open context menu if right button clicked on caption (i.e. all of the window area because of glass) + if (m.WParam.ToInt32() == NativeMethods.HTCAPTION) { + menuContext.Show(MousePosition); + + m.Result = IntPtr.Zero; + return; + } + break; - //Open context menu if right button clicked on caption (i.e. all of the window area because of glass) - if (m.Msg == NativeMethods.WM_NCRBUTTONUP) { - if (m.WParam.ToInt32() == NativeMethods.HTCAPTION) { - menuContext.Show(MousePosition); - } + case NativeMethods.WM_NCLBUTTONDBLCLK: + //Toggle fullscreen mode if double click on caption (whole glass area) + if (m.WParam.ToInt32() == NativeMethods.HTCAPTION) { + IsFullscreen = !IsFullscreen; + + m.Result = IntPtr.Zero; + return; + } + break; } + + base.WndProc(ref m); } #endregion @@ -269,8 +236,8 @@ namespace OnTopReplica { } private void Menu_opening(object sender, CancelEventArgs e) { - //Cancel if currently "fullscreen" mode - if (_isFullscreen) { + //Cancel if currently in "fullscreen" mode + if (IsFullscreen) { e.Cancel = true; return; } @@ -285,9 +252,8 @@ namespace OnTopReplica { selectRegionToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; switchToWindowToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; resizeToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; - chromeToolStripMenuItem.Checked = (FormBorderStyle == FormBorderStyle.SizableToolWindow); - - forwardClicksToolStripMenuItem.Checked = _clickForwarding; + chromeToolStripMenuItem.Checked = (FormBorderStyle == FormBorderStyle.Sizable); + forwardClicksToolStripMenuItem.Checked = _thumbnailPanel.ReportThumbnailClicks; } private void Menu_Close_click(object sender, EventArgs e) { @@ -297,14 +263,13 @@ namespace OnTopReplica { private void Menu_About_click(object sender, EventArgs e) { this.Hide(); - var box = new AboutForm(); - box.Location = RecenterLocation(this, box); - box.ShowDialog(); - - Location = RecenterLocation(box, this); + using (var box = new AboutForm()) { + box.Location = RecenterLocation(this, box); + box.ShowDialog(); + Location = RecenterLocation(box, this); + } + this.Show(); - - box.Dispose(); } private void Menu_Language_click(object sender, EventArgs e) { @@ -318,27 +283,6 @@ namespace OnTopReplica { MessageBox.Show("Error"); } - private Point RecenterLocation(Control original, Control final) { - int origX = original.Location.X + original.Size.Width / 2; - int origY = original.Location.Y + original.Size.Height / 2; - - int finX = origX - final.Size.Width / 2; - int finY = origY - final.Size.Height / 2; - - //Check boundaries - var screen = Screen.FromControl(final); - if (finX < screen.WorkingArea.X) - finX = screen.WorkingArea.X; - if (finX + final.Size.Width > screen.WorkingArea.Width) - finX = screen.WorkingArea.Width - final.Size.Width; - if (finY < screen.WorkingArea.Y) - finY = screen.WorkingArea.Y; - if (finY + final.Size.Height > screen.WorkingArea.Height) - finY = screen.WorkingArea.Height - final.Size.Height; - - return new Point(finX, finY); - } - void Menu_Windows_itemclick(object sender, EventArgs e) { //Ensure the menu is closed menuContext.Close(); @@ -362,27 +306,22 @@ namespace OnTopReplica { if (_lastWindowHandle == null) return; + Program.Platform.HideForm(this); NativeMethods.SetForegroundWindow(_lastWindowHandle.Handle); - - this.Hide(); } private void Menu_Forward_click(object sender, EventArgs e) { - if (Settings.Default.FirstTimeClickForwarding && !_clickForwarding) { - TaskDialog dlg = new TaskDialog(Strings.InfoClickForwarding, - Strings.InfoClickForwardingTitle, Strings.InfoClickForwardingContent); - dlg.CommonButtons = TaskDialogButton.Yes | TaskDialogButton.No; - - Results result = dlg.Show(this); - - if (result.CommonButton == Result.No) + if (Settings.Default.FirstTimeClickForwarding && !_thumbnailPanel.ReportThumbnailClicks) { + TaskDialog dlg = new TaskDialog(Strings.InfoClickForwarding, Strings.InfoClickForwardingTitle, Strings.InfoClickForwardingContent) { + CommonButtons = TaskDialogButton.Yes | TaskDialogButton.No + }; + if (dlg.Show(this).CommonButton == Result.No) return; Settings.Default.FirstTimeClickForwarding = false; } - _clickForwarding = !_clickForwarding; - _thumbnailPanel.ClickThrough = !_clickForwarding; + _thumbnailPanel.ReportThumbnailClicks = !_thumbnailPanel.ReportThumbnailClicks; } private void Menu_Opacity_opening(object sender, CancelEventArgs e) { @@ -399,9 +338,6 @@ namespace OnTopReplica { else i.Checked = false; } - - //Glass state - toolStripMenuItem5.Checked = Settings.Default.UseGlass; } private void Menu_Opacity_click(object sender, EventArgs e) { @@ -414,10 +350,6 @@ namespace OnTopReplica { } } - private void Menu_Opacity_Glass_click(object sender, EventArgs e) { - SetGlass(!Settings.Default.UseGlass); - } - private void Menu_Region_click(object sender, EventArgs e) { RegionBoxShowing = true; } @@ -425,8 +357,6 @@ namespace OnTopReplica { private void Menu_Resize_opening(object sender, CancelEventArgs e) { if (!_thumbnailPanel.IsShowingThumbnail) e.Cancel = true; - - recallLastPositionAndSizeToolStripMenuItem.Checked = Settings.Default.StoreWindowPosition; } private void Menu_Resize_Double(object sender, EventArgs e) { @@ -446,11 +376,7 @@ namespace OnTopReplica { } private void Menu_Resize_Fullscreen(object sender, EventArgs e) { - ToggleFullscreen(); - } - - private void Menu_Position_Recall_click(object sender, EventArgs e) { - Settings.Default.StoreWindowPosition = !Settings.Default.StoreWindowPosition; + IsFullscreen = true; } private void Menu_Position_TopLeft(object sender, EventArgs e) { @@ -489,27 +415,9 @@ namespace OnTopReplica { ); } - private int ChromeBorderVertical { - get { - if (FormBorderStyle == FormBorderStyle.SizableToolWindow) - return SystemInformation.FrameBorderSize.Height; - else - return 0; - } - } - - private int ChromeBorderHorizontal { - get { - if (FormBorderStyle == FormBorderStyle.SizableToolWindow) - return SystemInformation.FrameBorderSize.Width; - else - return 0; - } - } - private void Menu_Reduce_click(object sender, EventArgs e) { - //Hide form - this.Hide(); + //Hide form in a platform specific way + Program.Platform.HideForm(this); } private void Menu_Windows_opening(object sender, EventArgs e) { @@ -520,7 +428,7 @@ namespace OnTopReplica { } private void Menu_Chrome_click(object sender, EventArgs e) { - if (FormBorderStyle == FormBorderStyle.SizableToolWindow) { + if (FormBorderStyle == FormBorderStyle.Sizable) { FormBorderStyle = FormBorderStyle.None; Location = new Point { X = Location.X + SystemInformation.FrameBorderSize.Width, @@ -528,7 +436,7 @@ namespace OnTopReplica { }; } else { - FormBorderStyle = FormBorderStyle.SizableToolWindow; + FormBorderStyle = FormBorderStyle.Sizable; Location = new Point { X = Location.X - SystemInformation.FrameBorderSize.Width, Y = Location.Y - SystemInformation.FrameBorderSize.Height @@ -542,16 +450,12 @@ namespace OnTopReplica { #region Event handling - private void Form_doubleclick(object sender, EventArgs e) { - if(_thumbnailPanel.IsShowingThumbnail) - ToggleFullscreen(); - } - - void Common_Key(object sender, KeyEventArgs e) { + void Form_KeyUp(object sender, KeyEventArgs e) { + //ALT if (e.Modifiers == Keys.Alt) { if (e.KeyCode == Keys.Enter) { e.Handled = true; - ToggleFullscreen(); + IsFullscreen = !IsFullscreen; } else if (e.KeyCode == Keys.D1 || e.KeyCode == Keys.NumPad1) { @@ -570,14 +474,26 @@ namespace OnTopReplica { FitToThumbnail(2.0); } } + + //ESCAPE + else if (e.KeyCode == Keys.Escape) { + //Toggle fullscreen + if (IsFullscreen) { + IsFullscreen = false; + } + //Disable click forwarding + else if (_thumbnailPanel.ReportThumbnailClicks) { + _thumbnailPanel.ReportThumbnailClicks = false; + } + } } void HotKeyOpenHandler() { - if (_isFullscreen) - ToggleFullscreen(); + if (IsFullscreen) + IsFullscreen = false; - if (this.Visible) { - this.Hide(); + if (Visible && WindowState != FormWindowState.Minimized) { + Program.Platform.HideForm(this); } else { EnsureMainFormVisible(); @@ -588,44 +504,40 @@ namespace OnTopReplica { #region Fullscreen - bool _isFullscreen = false; - - private void ToggleFullscreen() { - if (_isFullscreen) { - //Update thumbnail - if (_fullscreenForm.LastWindowHandle != null) { - StoredRegion region = null; - if(_fullscreenForm.ShowRegion) - region = new StoredRegion { Rect = _fullscreenForm.ShownRegion }; + bool _isFullscreen = false; + Point _preFullscreenLocation; + Size _preFullscreenSize; - ThumbnailSet(_fullscreenForm.LastWindowHandle, region); + public bool IsFullscreen { + get { + return _isFullscreen; + } + set { + if (IsFullscreen == value) + return; + + RegionBoxShowing = false; //on switch, always hide region box + GlassEnabled = !value; + FormBorderStyle = (value) ? FormBorderStyle.None : FormBorderStyle.Sizable; + TopMost = !value; + + //Location and size + if (value) { + _preFullscreenLocation = Location; + _preFullscreenSize = Size; + + var currentScreen = Screen.FromControl(this); + Size = currentScreen.WorkingArea.Size; + Location = currentScreen.WorkingArea.Location; + } + else { + Location = _preFullscreenLocation; + Size = _preFullscreenSize; } - else - ThumbnailUnset(); - //Update properties - this.Opacity = _fullscreenForm.Opacity; - - _fullscreenForm.Hide(); - this.Show(); - } - else { - if (_lastWindowHandle == null) { - //Should not happen... if it does, do nothing - return; - } - - _fullscreenForm.DisplayFullscreen(Screen.FromControl(this), _lastWindowHandle); - _fullscreenForm.ShownRegion = _thumbnailPanel.ShownRegion; - _fullscreenForm.ShowRegion = _thumbnailPanel.ShowRegion; - _fullscreenForm.Opacity = this.Opacity; - - _fullscreenForm.Show(); - this.Hide(); - } - - _isFullscreen = !_isFullscreen; - } + _isFullscreen = value; + } + } #endregion @@ -649,10 +561,6 @@ namespace OnTopReplica { //Set aspect ratio (this will resize the form) SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize); - - //GUI - selectRegionToolStripMenuItem.Enabled = true; - resizeToolStripMenuItem.Enabled = true; } private void ThumbnailUnset(){ @@ -674,17 +582,14 @@ namespace OnTopReplica { ThumbnailUnset(); } - /// Automatically sizes the window in order to accomodate the thumbnail p times. /// Scale of the thumbnail to consider. private void FitToThumbnail(double p) { try { Size originalSize = _thumbnailPanel.ThumbnailOriginalSize; - Size fittedSize = new Size((int)(originalSize.Width * p), (int)(originalSize.Height * p)); - - this.ClientSize = fittedSize; + ClientSize = fittedSize; } catch (Exception ex) { ThumbnailError(ex, false, Strings.ErrorUnableToFit); @@ -695,41 +600,77 @@ namespace OnTopReplica { #region GUI stuff - /// Do whatever needed to set the "glass" effect to the desired state. - protected void SetGlass(bool b) { - this.GlassEnabled = b; - - _thumbnailPanel.GlassMode = b; - _regionBox.GlassMode = b; + private Point RecenterLocation(Control original, Control final) { + int origX = original.Location.X + original.Size.Width / 2; + int origY = original.Location.Y + original.Size.Height / 2; - this.Invalidate(); + int finX = origX - final.Size.Width / 2; + int finY = origY - final.Size.Height / 2; - //Store - Settings.Default.UseGlass = b; - } + //Check boundaries + var screen = Screen.FromControl(final); + if (finX < screen.WorkingArea.X) + finX = screen.WorkingArea.X; + if (finX + final.Size.Width > screen.WorkingArea.Width) + finX = screen.WorkingArea.Width - final.Size.Width; + if (finY < screen.WorkingArea.Y) + finY = screen.WorkingArea.Y; + if (finY + final.Size.Height > screen.WorkingArea.Height) + finY = screen.WorkingArea.Height - final.Size.Height; + return new Point(finX, finY); + } + + private int ChromeBorderVertical { + get { + if (FormBorderStyle == FormBorderStyle.Sizable) + return SystemInformation.FrameBorderSize.Height; + else + return 0; + } + } + + private int ChromeBorderHorizontal { + get { + if (FormBorderStyle == FormBorderStyle.Sizable) + return SystemInformation.FrameBorderSize.Width; + else + return 0; + } + } + + /// + /// Displays an error task dialog. + /// + /// Main instruction of the error dialog. + /// Detailed informations about the error. + /// Expanded error codes/messages. private void ShowErrorDialog(string mainInstruction, string explanation, string errorMessage) { - TaskDialog dlg = new TaskDialog(mainInstruction, Strings.ErrorGenericTitle, explanation); - dlg.CommonIcon = TaskDialogIcon.Stop; - dlg.IsExpanded = false; + TaskDialog dlg = new TaskDialog(mainInstruction, Strings.ErrorGenericTitle, explanation) { + CommonIcon = TaskDialogIcon.Stop, + IsExpanded = false + }; + if (!string.IsNullOrEmpty(errorMessage)) { dlg.ExpandedInformation = Strings.ErrorGenericInfoText + errorMessage; dlg.ExpandedControlText = Strings.ErrorGenericInfoButton; } - dlg.Show(this.Handle); + + dlg.Show(this); } /// /// Ensures that the main form is visible (either closing the fullscreen mode or reactivating from task icon). /// public void EnsureMainFormVisible() { - if (_isFullscreen) - ToggleFullscreen(); + if (IsFullscreen) + IsFullscreen = false; //Ensure main form is shown - this.Show(); - this.Activate(); - this.TopMost = true; + WindowState = FormWindowState.Normal; + Show(); + Activate(); + TopMost = true; } /// @@ -763,7 +704,6 @@ namespace OnTopReplica { Location = nuLoc; Size = MinimumSize; - _fullscreenForm.Hide(); this.Show(); this.Activate(); } diff --git a/OnTopReplica/NativeMethods.cs b/OnTopReplica/NativeMethods.cs index d3e7a81..b9c0e7d 100644 --- a/OnTopReplica/NativeMethods.cs +++ b/OnTopReplica/NativeMethods.cs @@ -274,6 +274,10 @@ namespace OnTopReplica public const int MK_LBUTTON = 0x0001; + public const int WM_SYSCOMMAND = 0x0112; + public const int SC_MAXIMIZE = 61458; + public const int SC_RESTORE = 61490; + public static IntPtr MakeLParam(int LoWord, int HiWord) { return new IntPtr((HiWord << 16) | (LoWord & 0xffff)); } diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index fcd15c7..f255d0d 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -107,9 +107,6 @@ Form - - Component - @@ -140,12 +137,6 @@ Component - - Form - - - FullscreenForm.cs - Form @@ -173,9 +164,6 @@ Strings.it.Designer.cs Designer - - FullscreenForm.cs - MainForm.cs Designer diff --git a/OnTopReplica/PlatformSupport.cs b/OnTopReplica/PlatformSupport.cs index 9cafc93..16729ae 100644 --- a/OnTopReplica/PlatformSupport.cs +++ b/OnTopReplica/PlatformSupport.cs @@ -32,11 +32,14 @@ namespace OnTopReplica { public abstract bool CheckCompatibility(); /// - /// Initialized the application. Called once in the app lifetime. + /// Initializes the application. Called once in the app lifetime. /// public virtual void InitApp() { } + /// + /// Gets the main OnTopReplica form. + /// protected MainForm Form { get; private set; } /// @@ -50,6 +53,14 @@ namespace OnTopReplica { public virtual void ShutdownApp() { } + /// + /// Hides a form in a way that it can be restored later by the user. + /// + /// Form to hide. + public virtual void HideForm(MainForm form) { + form.Hide(); + } + #region IDisposable Members bool _isDisposed = false; diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs index 77b9113..945e813 100644 --- a/OnTopReplica/Platforms/WindowsSeven.cs +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -23,5 +23,9 @@ namespace OnTopReplica.Platforms { //do nothing } + public override void HideForm(MainForm form) { + form.WindowState = FormWindowState.Minimized; + } + } } diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs index 23133bc..f03458a 100644 --- a/OnTopReplica/Program.cs +++ b/OnTopReplica/Program.cs @@ -39,7 +39,7 @@ namespace OnTopReplica { Settings.Default.MustUpdate = false; } - bool reloadSettings = false; + bool mustReloadForm = false; Point reloadLocation = new Point(); Size reloadSize = new Size(); @@ -49,15 +49,16 @@ namespace OnTopReplica { Settings.Default.Language = _languageChangeCode; _languageChangeCode = null; - Form form; - if (reloadSettings) - form = new MainForm(reloadLocation, reloadSize); - else - form = new MainForm(); + Form form = new MainForm(); + if (mustReloadForm) { + form.Location = reloadLocation; + form.Size = reloadSize; + } Application.Run(form); - reloadSettings = true; + //Enable reloading on next loop + mustReloadForm = true; reloadLocation = form.Location; reloadSize = form.Size; } diff --git a/OnTopReplica/Properties/Settings.Designer.cs b/OnTopReplica/Properties/Settings.Designer.cs index e7f49ff..120dafe 100644 --- a/OnTopReplica/Properties/Settings.Designer.cs +++ b/OnTopReplica/Properties/Settings.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.4927 +// Runtime Version:4.0.30319.1 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -12,7 +12,7 @@ namespace OnTopReplica.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); @@ -34,18 +34,6 @@ namespace OnTopReplica.Properties { } } - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("True")] - public bool UseGlass { - get { - return ((bool)(this["UseGlass"])); - } - set { - this["UseGlass"] = value; - } - } - [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("True")] @@ -70,54 +58,6 @@ namespace OnTopReplica.Properties { } } - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("0, 0")] - public global::System.Drawing.Point LastLocation { - get { - return ((global::System.Drawing.Point)(this["LastLocation"])); - } - set { - this["LastLocation"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("0, 0")] - public global::System.Drawing.Size LastSize { - get { - return ((global::System.Drawing.Size)(this["LastSize"])); - } - set { - this["LastSize"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("False")] - public bool WindowPositionStored { - get { - return ((bool)(this["WindowPositionStored"])); - } - set { - this["WindowPositionStored"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("False")] - public bool StoreWindowPosition { - get { - return ((bool)(this["StoreWindowPosition"])); - } - set { - this["StoreWindowPosition"] = value; - } - } - [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("(Default)")] diff --git a/OnTopReplica/Properties/Settings.settings b/OnTopReplica/Properties/Settings.settings index baa9cba..5b9036d 100644 --- a/OnTopReplica/Properties/Settings.settings +++ b/OnTopReplica/Properties/Settings.settings @@ -5,27 +5,12 @@ - - True - True 255 - - 0, 0 - - - 0, 0 - - - False - - - False - (Default) diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs index 32cd4a3..c5cdc69 100644 --- a/OnTopReplica/ThumbnailPanel.cs +++ b/OnTopReplica/ThumbnailPanel.cs @@ -13,106 +13,58 @@ namespace OnTopReplica { //DWM Thumbnail stuff Thumbnail _thumbnail = null; - bool _regionEnabled = false; Rectangle _regionCurrent; //Labels - ClickThroughLabel _labelNoGlass; ThemedLabel _labelGlass; - public ThumbnailPanel() - : this(false) { - } - - /// Constructs a new ThumbnailPanel with a given glass mode value. - /// True if glass should be enabled. - public ThumbnailPanel(bool enableGlass) { + public ThumbnailPanel() { InitFormComponents(); - - GlassMode = enableGlass; - - UpdateRightClickLabels(); } private void InitFormComponents() { + BackColor = Color.Black; + //Themed Label - _labelGlass = new ThemedLabel(); - _labelGlass.Dock = DockStyle.Fill; - _labelGlass.ForeColor = SystemColors.ControlText; - _labelGlass.Location = Point.Empty; - _labelGlass.Size = ClientSize; - _labelGlass.Name = "labelGlass"; - _labelGlass.Text = Strings.RightClick; - _labelGlass.TextAlign = HorizontalAlignment.Center; - _labelGlass.TextAlignVertical = VerticalAlignment.Center; + _labelGlass = new ThemedLabel { + Dock = DockStyle.Fill, + ForeColor = SystemColors.ControlText, + Location = Point.Empty, + Size = ClientSize, + Name = "labelGlass", + Text = Strings.RightClick, + TextAlign = HorizontalAlignment.Center, + TextAlignVertical = VerticalAlignment.Center + }; this.Controls.Add(_labelGlass); - - //Standard label - _labelNoGlass = new ClickThroughLabel(); - _labelNoGlass.Dock = DockStyle.Fill; - _labelNoGlass.BackColor = Color.Transparent; - _labelNoGlass.Location = Point.Empty; - _labelNoGlass.Size = ClientSize; - _labelNoGlass.Name = "labelNoGlass"; - _labelNoGlass.Text = Strings.RightClick; - _labelNoGlass.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.Controls.Add(_labelNoGlass); } - #region Settings - - bool _glassMode = true; - - public bool GlassMode { - get { - return _glassMode; - } - set { - _glassMode = value; - - UpdateBackColor(); - UpdateRightClickLabels(); - } - } - - bool _fullscreenMode = false; - - public bool FullscreenMode { - get { - return _fullscreenMode; - } - set { - _fullscreenMode = value; - UpdateBackColor(); - UpdateRightClickLabels(); - } - } + #region Properties and settings /// - /// Gets or sets the region that is currently shown on the thumbnail. When set, enabled region showing. + /// Gets or sets the region that is currently shown on the thumbnail. When set, also enabled region constrain. /// - public Rectangle ShownRegion { + public Rectangle SelectedRegion { get { return _regionCurrent; } set { - _regionEnabled = true; _regionCurrent = value; - - UpdateThubmnail(); + ConstrainToRegion = true; } } + bool _regionEnabled = false; + /// /// Gets or sets whether the thumbnail is constrained to a region or not. /// - public bool ShowRegion { + public bool ConstrainToRegion { get { return _regionEnabled; } set { _regionEnabled = value; - UpdateThubmnail(); } } @@ -120,7 +72,7 @@ namespace OnTopReplica { bool _drawMouseRegions = false; /// - /// Gets or sets whether the thumbnail allows region drawing. + /// Gets or sets whether the control is is "region drawing" mode and reports them via events. /// public bool DrawMouseRegions { get { @@ -134,36 +86,69 @@ namespace OnTopReplica { //Cursor change Cursor = (value) ? Cursors.Cross : Cursors.Default; + //Refresh gui UpdateThubmnail(); + _labelGlass.Visible = !value; this.Invalidate(); } } - private byte ThumbnailOpacity { + /// + /// Gets the target opacity of the thumbnail, depending on the control's state. + /// + protected byte ThumbnailOpacity { get { return (_drawMouseRegions) ? (byte)130 : (byte)255; } } - bool _clickThrough = true; + /// + /// Gets or sets whether the control should report clicks made on the cloned thumbnail. + /// + public bool ReportThumbnailClicks { + get; + set; + } - public bool ClickThrough { - get { - return _clickThrough; - } - set { - _clickThrough = value; - } - } + /// + /// Gets the thumbnail's original size. + /// + public Size ThumbnailOriginalSize { + get { + if (_thumbnail != null && !_thumbnail.IsInvalid) + return (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; + else + throw new Exception(Strings.ErrorNoThumbnail); + } + } #endregion - public void ResetShownRegion() { - _regionEnabled = false; + #region GUI event handling - UpdateThubmnail(); - } + protected override void OnResize(EventArgs eventargs) { + base.OnResize(eventargs); + UpdateThubmnail(); + } + protected override void WndProc(ref Message m) { + base.WndProc(ref m); + + //Make transparent to hit-testing if clicks must not be registered + if (m.Msg == NativeMethods.WM_NCHITTEST && m.Result.ToInt32() == NativeMethods.HTCLIENT && + !DrawMouseRegions && !ReportThumbnailClicks) { + m.Result = new IntPtr(NativeMethods.HTTRANSPARENT); + } + } + + #endregion + + #region Thumbnail interface + + /// + /// Creates a new thumbnail of a certain window. + /// + /// Handle of the window to clone. public void SetThumbnailHandle(WindowHandle handle) { if (_thumbnail != null && !_thumbnail.IsInvalid) _thumbnail.Close(); @@ -171,133 +156,129 @@ namespace OnTopReplica { //Get form and register thumbnail on it Form owner = this.TopLevelControl as Form; if(owner == null) - throw new Exception(); - - //Reset region - _regionEnabled = false; + throw new Exception("Internal error: ThumbnailPanel.TopLevelControl is not a Form."); _thumbnail = DwmManager.Register(owner, handle.Handle); - - //Do empty thumbnail update to init DWM info (source size) - _thumbnail.Update(ClientRectangle, (byte)255, true, true); - - //Correct update - UpdateThubmnail(); + ConstrainToRegion = false; //this also invokes a thumbnail update } + /// + /// Disposes current thumbnail and enters stand-by mode. + /// public void UnsetThumbnail() { if (_thumbnail != null && !_thumbnail.IsInvalid) _thumbnail.Close(); _thumbnail = null; - - UpdateRightClickLabels(); } + /// + /// Gets whether the control is currently displaying a thumbnail. + /// public bool IsShowingThumbnail { get { return (_thumbnail != null && !_thumbnail.IsInvalid); } } - int padWidth = 0; - int padHeight = 0; - Size thumbnailSize; + int _padWidth = 0; + int _padHeight = 0; + Size _thumbnailSize; - /// Updates the thumbnail options and the right-click labels. + /// + /// Updates the thumbnail options and the right-click label. + /// private void UpdateThubmnail() { if (_thumbnail != null && !_thumbnail.IsInvalid){ try { - Size sourceSize = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; - thumbnailSize = ComputeIdealSize(sourceSize, Size); - padHeight = (Size.Height - thumbnailSize.Height) / 2; + Size sourceSize = ThumbnailOriginalSize; + _thumbnailSize = ComputeIdealSize(sourceSize, Size); + _padHeight = (Size.Height - _thumbnailSize.Height) / 2; - var target = new Rectangle(0, padHeight, thumbnailSize.Width, thumbnailSize.Height); + var target = new Rectangle(0, _padHeight, _thumbnailSize.Width, _thumbnailSize.Height); Rectangle source = (_regionEnabled) ? _regionCurrent : new Rectangle(Point.Empty, _thumbnail.SourceSize); _thumbnail.Update(target, source, ThumbnailOpacity, true, true); } catch { - //Any error updating the thumbnail forces to unset (handle may be not valid) + //Any error updating the thumbnail forces to unset (handle may not be valid anymore) UnsetThumbnail(); return; } } - - UpdateRightClickLabels(); - } - - /// Computes ideal thumbnail size given an original size and a target to fit. - /// Size of the original thumbnail. - /// Size of the client area to fit. - private Size ComputeIdealSize(Size sourceSize, Size clientSize) { - double sourceRatio = (double)sourceSize.Width / (double)sourceSize.Height; - double clientRatio = (double)clientSize.Width / (double)clientSize.Height; - - Size ret = new Size(clientSize.Width, (int)((double)clientSize.Width / sourceRatio)); - - return ret; } /// - /// Updates the background color. + /// Computes ideal thumbnail size given an original size and a target to fit. /// - private void UpdateBackColor() { - BackColor = (FullscreenMode || GlassMode) ? Color.Black : SystemColors.Control; + /// Size of the original thumbnail. + /// Size of the client area to fit. + private Size ComputeIdealSize(Size sourceSize, Size clientSize) { + double sourceRatio = (double)sourceSize.Width / (double)sourceSize.Height; + double clientRatio = (double)clientSize.Width / (double)clientSize.Height; + + Size ret = new Size(clientSize.Width, (int)((double)clientSize.Width / sourceRatio)); + //TODO: enable width padding if width > height + + return ret; } - /// Updates the right-click labels. - /// If a thumbnail is shown no label will be visible. If no thumbnail is active, the correct label will be visible. - private void UpdateRightClickLabels(){ - if (_thumbnail != null && !_thumbnail.IsInvalid) { - //Thumbnail active and no region drawing - _labelGlass.Visible = false; - _labelNoGlass.Visible = false; - } - else { - //Update visibility - _labelGlass.Visible = _glassMode; - _labelNoGlass.Visible = !_glassMode; - } - } + #endregion - #region Event handling + #region Region drawing - protected override void OnResize(EventArgs eventargs) { - UpdateThubmnail(); + //Set if currently drawing a window (first click/drag was initiated) + bool _drawingRegion = false; + //Set if drawing was suspended because the mouse left the control + bool _drawingSuspended = false; + Point _regionStartPoint; + Point _regionLastPoint; - base.OnResize(eventargs); - } + public delegate void RegionDrawnHandler(object sender, Rectangle region); - protected override void WndProc(ref Message m) { - base.WndProc(ref m); + public event RegionDrawnHandler RegionDrawn; - //Make transparent to hit-testing - if (m.Msg == NativeMethods.WM_NCHITTEST && m.Result.ToInt32() == 1 && - !DrawMouseRegions && ClickThrough) { - m.Result = new IntPtr(NativeMethods.HTTRANSPARENT); - } - } + protected virtual void OnRegionDrawn(Rectangle region) { + //Fix region if necessary (bug report by Gunter, via comment) + if (region.Width < 1) region.Width = 1; + if (region.Height < 1) region.Height = 1; - protected override void OnMouseClick(MouseEventArgs e) { - //Raise clicking event to allow click forwarding - if (!_clickThrough && e.Button == MouseButtons.Left) { - if(_thumbnail != null) - OnCloneClick(ScreenToThumbnail(e.Location), false); - } + var evt = RegionDrawn; + if (evt != null) + evt(this, region); + } - base.OnMouseClick(e); - } + /// + /// Raises a RegionDrawn event, given a starting and an ending point of the drawn region. + /// + protected void RaiseRegionDrawn(Point start, Point end) { + if (_thumbnailSize.Width < 1 || _thumbnailSize.Height < 1) //causes DivBy0 + return; - protected override void OnMouseDoubleClick(MouseEventArgs e) { - //Raise double clicking event to allow click forwarding - if (!_clickThrough && e.Button == MouseButtons.Left) { - if (_thumbnail != null) - OnCloneClick(ScreenToThumbnail(e.Location), true); - } + //Compute bounds + int left = Math.Min(start.X, end.X); + int right = Math.Max(start.X, end.X); + int top = Math.Min(start.Y, end.Y); + int bottom = Math.Max(start.Y, end.Y); - base.OnMouseDoubleClick(e); - } + //Clip to boundaries + left = Math.Max(0, left); + right = Math.Min(_thumbnailSize.Width, right); + top = Math.Max(0, top); + bottom = Math.Min(_thumbnailSize.Height, bottom); + + //Compute region rectangle in thumbnail coordinates + var startPoint = ClientToThumbnail(new Point(left, top)); + var endPoint = ClientToThumbnail(new Point(right, bottom)); + var final = new Rectangle( + startPoint, + new Size(endPoint.X - startPoint.X, endPoint.Y - startPoint.Y) + ); + + //Update region + SelectedRegion = final; + OnRegionDrawn(final); + } protected override void OnMouseDown(MouseEventArgs e) { if (DrawMouseRegions && e.Button == MouseButtons.Left) { @@ -317,7 +298,7 @@ namespace OnTopReplica { //Region completed _drawingRegion = false; _drawingSuspended = false; - HandleRegionDrawn(_regionStartPoint, _regionLastPoint); + RaiseRegionDrawn(_regionStartPoint, _regionLastPoint); this.Invalidate(); } @@ -381,109 +362,69 @@ namespace OnTopReplica { #endregion - //Set if currently drawing a window (first click/drag was initiated) - bool _drawingRegion = false; - //Set if drawing was suspended because the mouse left the control - bool _drawingSuspended = false; - Point _regionStartPoint; - Point _regionLastPoint; + #region Thumbnail clone click - public delegate void RegionDrawnHandler(object sender, Rectangle region); + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); - public event RegionDrawnHandler RegionDrawn; - - protected virtual void OnRegionDrawn(Rectangle region) { - //Fix region if necessary (bug report by Gunter, via comment) - if (region.Width < 1) region.Width = 1; - if (region.Height < 1) region.Height = 1; - - var evt = RegionDrawn; - if (evt != null) - evt(this, region); - } - - protected Point ScreenToThumbnail(Point position) { - //Compensate padding - position.X -= padWidth; - position.Y -= padHeight; - - PointF proportionalPosition = new PointF( - (float)position.X / thumbnailSize.Width, - (float)position.Y / thumbnailSize.Height - ); - - //Get real pixel region info - Size source = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; - Point offset = (_regionEnabled) ? _regionCurrent.Location : Point.Empty; - - return new Point( - (int)((proportionalPosition.X * source.Width) + offset.X), - (int)((proportionalPosition.Y * source.Height) + offset.Y) - ); - } - - protected void HandleRegionDrawn(Point start, Point end) { - if (thumbnailSize.Width == 0 || thumbnailSize.Height == 0) //causes DivBy0 + if (_thumbnail == null) return; - int left = Math.Min(start.X, end.X); - int right = Math.Max(start.X, end.X); - int top = Math.Min(start.Y, end.Y); - int bottom = Math.Max(start.Y, end.Y); + //Raise clicking event to allow click forwarding + if (ReportThumbnailClicks) { + OnCloneClick(ClientToThumbnail(e.Location), e.Button, false); + } + } - //Clip to boundaries - left = Math.Max(0, left); - right = Math.Min(thumbnailSize.Width, right); - top = Math.Max(0, top); - bottom = Math.Min(thumbnailSize.Height, bottom); + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); - //Offset points of padding space around thumbnail - left -= padWidth; - right -= padWidth; - top -= padHeight; - bottom -= padHeight; + if (_thumbnail == null) + return; - //Get proportional region on thumbnail size - RectangleF region = new RectangleF( - (float)left / thumbnailSize.Width, - (float)top / thumbnailSize.Height, - (float)(right - left) / thumbnailSize.Width, - (float)(bottom - top) / thumbnailSize.Height - ); - - //Compute real pixel-region - Size source = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; - Point offset = (_regionEnabled) ? _regionCurrent.Location : Point.Empty; - - Rectangle regionPixel = new Rectangle( - (int)(region.Left * source.Width) + offset.X, - (int)(region.Top * source.Height) + offset.Y, - (int)(region.Width * source.Width), - (int)(region.Height * source.Height) - ); - - //Update region - ShownRegion = regionPixel; - - //Report to hooked event handlers that the current region has changed - OnRegionDrawn(regionPixel); - } - - public Size ThumbnailOriginalSize { - get { - if (_thumbnail != null && !_thumbnail.IsInvalid) - return (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; - else - throw new Exception(Strings.ErrorNoThumbnail); - } - } + //Raise double clicking event to allow click forwarding + if (ReportThumbnailClicks) { + OnCloneClick(ClientToThumbnail(e.Location), e.Button, true); + } + } + /// + /// Is raised when the thumbnail clone is clicked. + /// public event EventHandler CloneClick; - protected virtual void OnCloneClick(Point location, bool doubleClick){ - if(CloneClick != null) - CloneClick(this, new CloneClickEventArgs(location, doubleClick)); - } - } + protected virtual void OnCloneClick(Point location, MouseButtons buttons, bool doubleClick){ + var evt = CloneClick; + if(evt != null) + evt(this, new CloneClickEventArgs(location, buttons, doubleClick)); + } + + #endregion + + /// + /// Convert a point in client coordinates to a point expressed in terms of a cloned thumbnail window. + /// + /// Point in client coordinates. + protected Point ClientToThumbnail(Point position) { + //Compensate padding + position.X -= _padWidth; + position.Y -= _padHeight; + + PointF proportionalPosition = new PointF( + (float)position.X / _thumbnailSize.Width, + (float)position.Y / _thumbnailSize.Height + ); + + //Get real pixel region info + Size source = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; + Point offset = (_regionEnabled) ? _regionCurrent.Location : Point.Empty; + + return new Point( + (int)((proportionalPosition.X * source.Width) + offset.X), + (int)((proportionalPosition.Y * source.Height) + offset.Y) + ); + } + + } } diff --git a/OnTopReplica/WindowHandle.cs b/OnTopReplica/WindowHandle.cs index 94ce549..eb3ea7c 100644 --- a/OnTopReplica/WindowHandle.cs +++ b/OnTopReplica/WindowHandle.cs @@ -4,6 +4,7 @@ using System.Text; using System.Drawing; namespace OnTopReplica { + /// Helper class that keeps a window handle (HWND), the title of the window and can load its icon. public class WindowHandle : System.Windows.Forms.IWin32Window { IntPtr _handle; @@ -77,5 +78,6 @@ namespace OnTopReplica { } #endregion + } } diff --git a/OnTopReplica/WindowManager.cs b/OnTopReplica/WindowManager.cs index 9170dfe..ad48c3b 100644 --- a/OnTopReplica/WindowManager.cs +++ b/OnTopReplica/WindowManager.cs @@ -5,7 +5,8 @@ using System.Text; namespace OnTopReplica { /// A helper class that allows you to easily build and keep a list of Windows (in the form of WindowHandle objects). public class WindowManager { - List _windows = null; + + List _windows = new List(); public enum EnumerationMode { /// All windows with 'Visible' flag. @@ -18,14 +19,6 @@ namespace OnTopReplica { TaskWindows } - public WindowManager() { - Refresh(EnumerationMode.AllTopLevel); - } - - public WindowManager(EnumerationMode mode) { - Refresh(mode); - } - /// Refreshes the window list. public void Refresh(EnumerationMode mode) { _windows = new List(); diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config index bce8be6..89eb854 100644 --- a/OnTopReplica/app.config +++ b/OnTopReplica/app.config @@ -7,27 +7,12 @@ - - True - True 255 - - 0, 0 - - - 0, 0 - - - False - - - False - (Default) From 86cf05ae3d32f1a59c834cbcf8764b6638eb2593 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 30 Jun 2010 04:57:16 +0200 Subject: [PATCH 034/164] Working shell hook (via window) to receive active window handle. --- OnTopReplica/DualModeManager.cs | 62 +++++++++++++++++++++++++++++++ OnTopReplica/MainForm.Designer.cs | 42 +++++++++++++-------- OnTopReplica/MainForm.cs | 34 ++++++++++++++--- OnTopReplica/NativeHooks.cs | 37 ++++++++++++++++++ OnTopReplica/NativeMethods.cs | 11 ++++++ OnTopReplica/OnTopReplica.csproj | 24 ++++++++++++ 6 files changed, 188 insertions(+), 22 deletions(-) create mode 100644 OnTopReplica/DualModeManager.cs create mode 100644 OnTopReplica/NativeHooks.cs diff --git a/OnTopReplica/DualModeManager.cs b/OnTopReplica/DualModeManager.cs new file mode 100644 index 0000000..0e069e6 --- /dev/null +++ b/OnTopReplica/DualModeManager.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Diagnostics; +using System.Reflection; +using System.IO; +using System.Windows.Forms; + +namespace OnTopReplica { + + class DualModeManager : IDisposable { + + public DualModeManager(MainForm form) { + _form = form; + } + + MainForm _form; + bool _active = false; + + static uint _hookMsgId = NativeHooks.RegisterWindowMessage("SHELLHOOK"); + + public void EnableDualMode(IEnumerable handles) { + if (!NativeHooks.RegisterShellHookWindow(_form.Handle)) { + Console.WriteLine("Failed to register shell hook window."); + return; + } + + _active = true; + } + + public void ProcessHookMessages(Message msg) { + if (msg.Msg == _hookMsgId) { + int hookCode = msg.WParam.ToInt32(); + if (hookCode == NativeHooks.HSHELL_WINDOWACTIVATED || + hookCode == NativeHooks.HSHELL_RUDEAPPACTIVATED) { + IntPtr activeHandle = msg.LParam; + } + } + } + + public void Disable() { + if (!_active) + return; + + if (!NativeHooks.DeregisterShellHookWindow(_form.Handle)) + Console.WriteLine("Failed to deregister shell hook window."); + + _active = false; + } + + #region IDisposable Members + + public void Dispose() { + Disable(); + } + + #endregion + + } + +} diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 85bda4d..042e4d6 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -34,6 +34,7 @@ this.switchToWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.selectRegionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.forwardClicksToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.dualWindowModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuContextOpacity = new System.Windows.Forms.ToolStripMenuItem(); this.menuOpacity = new System.Windows.Forms.ContextMenuStrip(this.components); this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); @@ -79,6 +80,7 @@ this.switchToWindowToolStripMenuItem, this.selectRegionToolStripMenuItem, this.forwardClicksToolStripMenuItem, + this.dualWindowModeToolStripMenuItem, this.menuContextOpacity, this.resizeToolStripMenuItem, this.dockToolStripMenuItem, @@ -89,7 +91,7 @@ this.aboutToolStripMenuItem, this.menuContextClose}); this.menuContext.Name = "menuContext"; - this.menuContext.Size = new System.Drawing.Size(169, 296); + this.menuContext.Size = new System.Drawing.Size(178, 318); this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); // // menuContextWindows @@ -97,7 +99,7 @@ this.menuContextWindows.DropDown = this.menuWindows; this.menuContextWindows.Image = global::OnTopReplica.Properties.Resources.window_multiple16; this.menuContextWindows.Name = "menuContextWindows"; - this.menuContextWindows.Size = new System.Drawing.Size(168, 22); + this.menuContextWindows.Size = new System.Drawing.Size(177, 22); this.menuContextWindows.Text = global::OnTopReplica.Strings.MenuWindows; this.menuContextWindows.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; this.menuContextWindows.DropDownOpening += new System.EventHandler(this.Menu_Windows_opening); @@ -120,7 +122,7 @@ // this.switchToWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_switch; this.switchToWindowToolStripMenuItem.Name = "switchToWindowToolStripMenuItem"; - this.switchToWindowToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.switchToWindowToolStripMenuItem.Size = new System.Drawing.Size(177, 22); this.switchToWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSwitch; this.switchToWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSwitchTT; this.switchToWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_Switch_click); @@ -130,7 +132,7 @@ this.selectRegionToolStripMenuItem.Enabled = false; this.selectRegionToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.regions; this.selectRegionToolStripMenuItem.Name = "selectRegionToolStripMenuItem"; - this.selectRegionToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.selectRegionToolStripMenuItem.Size = new System.Drawing.Size(177, 22); this.selectRegionToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRegion; this.selectRegionToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRegionTT; this.selectRegionToolStripMenuItem.Click += new System.EventHandler(this.Menu_Region_click); @@ -138,17 +140,25 @@ // forwardClicksToolStripMenuItem // this.forwardClicksToolStripMenuItem.Name = "forwardClicksToolStripMenuItem"; - this.forwardClicksToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.forwardClicksToolStripMenuItem.Size = new System.Drawing.Size(177, 22); this.forwardClicksToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickForwarding; this.forwardClicksToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickForwardingTT; this.forwardClicksToolStripMenuItem.Click += new System.EventHandler(this.Menu_Forward_click); // + // dualWindowModeToolStripMenuItem + // + this.dualWindowModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_multiple16; + this.dualWindowModeToolStripMenuItem.Name = "dualWindowModeToolStripMenuItem"; + this.dualWindowModeToolStripMenuItem.Size = new System.Drawing.Size(177, 22); + this.dualWindowModeToolStripMenuItem.Text = "Dual window mode"; + this.dualWindowModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Dual_click); + // // menuContextOpacity // this.menuContextOpacity.DropDown = this.menuOpacity; this.menuContextOpacity.Image = global::OnTopReplica.Properties.Resources.window_opacity16; this.menuContextOpacity.Name = "menuContextOpacity"; - this.menuContextOpacity.Size = new System.Drawing.Size(168, 22); + this.menuContextOpacity.Size = new System.Drawing.Size(177, 22); this.menuContextOpacity.Text = global::OnTopReplica.Strings.MenuOpacity; // // menuOpacity @@ -159,10 +169,9 @@ this.toolStripMenuItem3, this.toolStripMenuItem4}); this.menuOpacity.Name = "menuOpacity"; - this.menuOpacity.OwnerItem = this.menuContextOpacity; this.menuOpacity.ShowCheckMargin = true; this.menuOpacity.ShowImageMargin = false; - this.menuOpacity.Size = new System.Drawing.Size(154, 114); + this.menuOpacity.Size = new System.Drawing.Size(154, 92); this.menuOpacity.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Opacity_opening); // // toolStripMenuItem1 @@ -208,7 +217,7 @@ this.resizeToolStripMenuItem.DropDown = this.menuResize; this.resizeToolStripMenuItem.Enabled = false; this.resizeToolStripMenuItem.Name = "resizeToolStripMenuItem"; - this.resizeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.resizeToolStripMenuItem.Size = new System.Drawing.Size(177, 22); this.resizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResize; // // menuResize @@ -274,7 +283,7 @@ this.bottomRightToolStripMenuItem}); this.dockToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_null; this.dockToolStripMenuItem.Name = "dockToolStripMenuItem"; - this.dockToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.dockToolStripMenuItem.Size = new System.Drawing.Size(177, 22); this.dockToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosition; this.dockToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuPositionTT; // @@ -313,7 +322,7 @@ // chromeToolStripMenuItem // this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem"; - this.chromeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.chromeToolStripMenuItem.Size = new System.Drawing.Size(177, 22); this.chromeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuChrome; this.chromeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuChromeTT; this.chromeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Chrome_click); @@ -322,7 +331,7 @@ // this.reduceToIconToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.reduce; this.reduceToIconToolStripMenuItem.Name = "reduceToIconToolStripMenuItem"; - this.reduceToIconToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.reduceToIconToolStripMenuItem.Size = new System.Drawing.Size(177, 22); this.reduceToIconToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReduce; this.reduceToIconToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuReduceTT; this.reduceToIconToolStripMenuItem.Click += new System.EventHandler(this.Menu_Reduce_click); @@ -330,13 +339,13 @@ // toolStripSeparator1 // this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(165, 6); + this.toolStripSeparator1.Size = new System.Drawing.Size(174, 6); // // languageToolStripMenuItem // this.languageToolStripMenuItem.DropDown = this.menuLanguages; this.languageToolStripMenuItem.Name = "languageToolStripMenuItem"; - this.languageToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.languageToolStripMenuItem.Size = new System.Drawing.Size(177, 22); this.languageToolStripMenuItem.Text = global::OnTopReplica.Strings.Language; // // menuLanguages @@ -390,7 +399,7 @@ // aboutToolStripMenuItem // this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; - this.aboutToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(177, 22); this.aboutToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAbout; this.aboutToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAboutTT; this.aboutToolStripMenuItem.Click += new System.EventHandler(this.Menu_About_click); @@ -399,7 +408,7 @@ // this.menuContextClose.Image = global::OnTopReplica.Properties.Resources.close_new; this.menuContextClose.Name = "menuContextClose"; - this.menuContextClose.Size = new System.Drawing.Size(168, 22); + this.menuContextClose.Size = new System.Drawing.Size(177, 22); this.menuContextClose.Text = global::OnTopReplica.Strings.MenuClose; this.menuContextClose.Click += new System.EventHandler(this.Menu_Close_click); // @@ -473,6 +482,7 @@ private System.Windows.Forms.ToolStripMenuItem danskToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem chromeToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem danskToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem dualWindowModeToolStripMenuItem; } } diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 77453ab..991cb29 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -19,6 +19,8 @@ namespace OnTopReplica { WindowManager _windowManager = new WindowManager(); WindowHandle _lastWindowHandle = null; + DualModeManager _dualModeManager; + public MainForm() { InitializeComponent(); KeepAspectRatio = false; @@ -59,6 +61,8 @@ namespace OnTopReplica { _hotKeyManager = new HotKeyManager(this); _hotKeyManager.RegisterHotKey(HotKeyManager.HotKeyModifiers.Control | HotKeyManager.HotKeyModifiers.Shift, Keys.O, new HotKeyManager.HotKeyHandler(HotKeyOpenHandler)); + + _dualModeManager = new DualModeManager(this); } #region Child forms & controls events @@ -170,6 +174,10 @@ namespace OnTopReplica { _hotKeyManager.Dispose(); _hotKeyManager = null; + //Destroy dual mode manager + _dualModeManager.Dispose(); + _dualModeManager = null; + base.OnClosing(e); } @@ -201,6 +209,8 @@ namespace OnTopReplica { protected override void WndProc(ref Message m) { if (_hotKeyManager != null) _hotKeyManager.ProcessHotKeys(m); + if (_dualModeManager != null) + _dualModeManager.ProcessHookMessages(m); switch(m.Msg){ case NativeMethods.WM_NCRBUTTONUP: @@ -292,13 +302,13 @@ namespace OnTopReplica { //Handle special "none" window if (tsi.Tag == null) { - ThumbnailUnset(); + UnsetThumbnail(); return; } var selectionData = (WindowListHelper.WindowSelectionData)tsi.Tag; if (_windowManager != null) { - ThumbnailSet(selectionData.Handle, selectionData.Region); + SetThumbnail(selectionData.Handle, selectionData.Region); } } @@ -310,6 +320,10 @@ namespace OnTopReplica { NativeMethods.SetForegroundWindow(_lastWindowHandle.Handle); } + private void Menu_Dual_click(object sender, EventArgs e) { + + } + private void Menu_Forward_click(object sender, EventArgs e) { if (Settings.Default.FirstTimeClickForwarding && !_thumbnailPanel.ReportThumbnailClicks) { TaskDialog dlg = new TaskDialog(Strings.InfoClickForwarding, Strings.InfoClickForwardingTitle, Strings.InfoClickForwardingContent) { @@ -543,7 +557,12 @@ namespace OnTopReplica { #region Thumbnail operation - private void ThumbnailSet(WindowHandle handle, StoredRegion region) { + /// + /// Sets a new thumbnail. + /// + /// Handle to the window to clone. + /// Region of the window to clone. + public void SetThumbnail(WindowHandle handle, StoredRegion region) { try { _lastWindowHandle = handle; @@ -563,7 +582,10 @@ namespace OnTopReplica { SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize); } - private void ThumbnailUnset(){ + /// + /// Disables the cloned thumbnail. + /// + public void UnsetThumbnail(){ //Unset handle _lastWindowHandle = null; _thumbnailPanel.UnsetThumbnail(); @@ -580,7 +602,7 @@ namespace OnTopReplica { ShowErrorDialog(title, Strings.ErrorGenericThumbnailHandleError, ex.Message); } - ThumbnailUnset(); + UnsetThumbnail(); } /// Automatically sizes the window in order to accomodate the thumbnail p times. @@ -695,7 +717,7 @@ namespace OnTopReplica { /// public void ResetMainForm() { //Reset form settings - ThumbnailUnset(); + UnsetThumbnail(); RegionBoxShowing = false; //Reset location and size (edge of the screen, min size) diff --git a/OnTopReplica/NativeHooks.cs b/OnTopReplica/NativeHooks.cs new file mode 100644 index 0000000..480a9d6 --- /dev/null +++ b/OnTopReplica/NativeHooks.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica { + + /// + /// Helpers for interop with native Windows hooks. + /// + static class NativeHooks { + + public const int HSHELL_WINDOWACTIVATED = 4; + public const int HSHELL_RUDEAPPACTIVATED = HSHELL_WINDOWACTIVATED | HSHELL_HIGHBIT; + const int HSHELL_HIGHBIT = 0x8000; + + /// + /// Registers the WM_ID for a window message. + /// + /// Name of the window message. + [DllImport("User32.dll")] + public static extern uint RegisterWindowMessage(string wndMessageName); + + /// + /// Registers a window as a shell hook window. + /// + [DllImport("User32.dll")] + public static extern bool RegisterShellHookWindow(IntPtr hwnd); + + /// + /// Deregisters a window as a shell hook window. + /// + [DllImport("User32.dll")] + public static extern bool DeregisterShellHookWindow(IntPtr hwnd); + + } +} diff --git a/OnTopReplica/NativeMethods.cs b/OnTopReplica/NativeMethods.cs index b9c0e7d..c2d2839 100644 --- a/OnTopReplica/NativeMethods.cs +++ b/OnTopReplica/NativeMethods.cs @@ -297,5 +297,16 @@ namespace OnTopReplica [DllImport("user32.dll")] public static extern short GetKeyState(VirtualKeyState nVirtKey); + [DllImport("kernel32.dll")] + static extern uint FormatMessage(uint dwFlags, IntPtr lpSource, + int dwMessageId, uint dwLanguageId, [Out] StringBuilder lpBuffer, + uint nSize, IntPtr Arguments); + + public static string GetLastErrorMessage(int msgCode) { + var sb = new StringBuilder(300); + FormatMessage((uint)(0x00001000), IntPtr.Zero, msgCode, 0, sb, 299, IntPtr.Zero); + return sb.ToString(); + } + } } diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index f255d0d..88d21b2 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -86,6 +86,28 @@ OnTopReplica.exe.manifest + + true + bin\x64\Debug\ + DEBUG;TRACE + full + x64 + prompt + false + false + false + + + true + bin\x64\Release\ + TRACE + true + pdbonly + x64 + prompt + false + false + @@ -109,6 +131,8 @@ + + From a7863b5c0ee7be1a3976077768a9bf25cae47f7e Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 30 Jun 2010 13:42:35 +0200 Subject: [PATCH 035/164] Refactored Hot Key processing and Dual Mode as extensible Message Pump Processors. --- OnTopReplica/HotKeyManager.cs | 90 ------------------- OnTopReplica/IMessagePumpProcessor.cs | 15 ++++ OnTopReplica/MainForm.cs | 28 +++--- OnTopReplica/MessagePumpManager.cs | 58 ++++++++++++ .../BaseMessagePumpProcessor.cs | 39 ++++++++ .../DualModeManager.cs | 46 +++++----- .../MessagePumpProcessors/HotKeyManager.cs | 48 ++++++++++ .../{NativeHooks.cs => Native/HookMethods.cs} | 4 +- OnTopReplica/Native/HotKeyMethods.cs | 32 +++++++ OnTopReplica/OnTopReplica.csproj | 10 ++- 10 files changed, 232 insertions(+), 138 deletions(-) delete mode 100644 OnTopReplica/HotKeyManager.cs create mode 100644 OnTopReplica/IMessagePumpProcessor.cs create mode 100644 OnTopReplica/MessagePumpManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs rename OnTopReplica/{ => MessagePumpProcessors}/DualModeManager.cs (53%) create mode 100644 OnTopReplica/MessagePumpProcessors/HotKeyManager.cs rename OnTopReplica/{NativeHooks.cs => Native/HookMethods.cs} (91%) create mode 100644 OnTopReplica/Native/HotKeyMethods.cs diff --git a/OnTopReplica/HotKeyManager.cs b/OnTopReplica/HotKeyManager.cs deleted file mode 100644 index 8f78112..0000000 --- a/OnTopReplica/HotKeyManager.cs +++ /dev/null @@ -1,90 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Runtime.InteropServices; -using System.Windows.Forms; - -namespace OnTopReplica { - - /// - /// HotKey registration helper. - /// - public class HotKeyManager : IDisposable { - - public HotKeyManager(Form form) { - Owner = form; - - } - - public Form Owner { get; private set; } - - [Flags] - public enum HotKeyModifiers : int { - Alt = 0x1, - Control = 0x2, - Shift = 0x4, - Windows = 0x8 - } - - const int WM_HOTKEY = 0x312; - - [DllImport("user32.dll")] - static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vlc); - - [DllImport("user32.dll")] - static extern bool UnregisterHotKey(IntPtr hWnd, int id); - - private delegate void FormDelegate(HotKeyModifiers mod, Keys key, HotKeyHandler handler); - - public void RegisterHotKey(HotKeyModifiers mod, Keys key, HotKeyHandler handler) { - Owner.Invoke(new FormDelegate(RegisterHotKeyCore), mod, key, handler); - } - - private void RegisterHotKeyCore(HotKeyModifiers mod, Keys keys, HotKeyHandler handler) { - var newKey = ++_lastUsedKey; - - if (!RegisterHotKey(Owner.Handle, newKey, (int)mod, (int)keys)) { - Console.Error.WriteLine("Failed to register {0} hot key.", newKey); - return; - } - - _handlers[newKey] = handler; - } - - public void ProcessHotKeys(Message msg) { - if (msg.Msg == WM_HOTKEY) { - int keyId = msg.WParam.ToInt32(); - if (!_handlers.ContainsKey(keyId)) - return; - _handlers[keyId].Invoke(); - } - } - - private delegate void VoidFormDelegate(); - - private void UnregisterHotKeysCore() { - foreach (var key in _handlers.Keys) { - if (!UnregisterHotKey(Owner.Handle, key)) - Console.Error.WriteLine("Failed to unregister {0} hot key.", key); - } - } - - #region IDisposable Members - - public void Dispose() { - if (Owner != null && Owner.IsHandleCreated) { - Owner.Invoke(new VoidFormDelegate(UnregisterHotKeysCore)); - } - } - - #endregion - - public delegate void HotKeyHandler(); - - private int _lastUsedKey = 0; - - Dictionary _handlers = new Dictionary(); - - } - -} diff --git a/OnTopReplica/IMessagePumpProcessor.cs b/OnTopReplica/IMessagePumpProcessor.cs new file mode 100644 index 0000000..7a1b8e2 --- /dev/null +++ b/OnTopReplica/IMessagePumpProcessor.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + interface IMessagePumpProcessor : IDisposable { + + void Initialize(MainForm form); + + void Process(Message msg); + + } +} diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 991cb29..e78323f 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -13,13 +13,13 @@ namespace OnTopReplica { //GUI ThumbnailPanel _thumbnailPanel; RegionBox _regionBox; - HotKeyManager _hotKeyManager; //Window manager WindowManager _windowManager = new WindowManager(); WindowHandle _lastWindowHandle = null; - DualModeManager _dualModeManager; + //Message pump extension + MessagePumpManager _msgPumpManager = new MessagePumpManager(); public MainForm() { InitializeComponent(); @@ -57,12 +57,13 @@ namespace OnTopReplica { this.KeyUp += new KeyEventHandler(Form_KeyUp); this.KeyPreview = true; - //Add hotkeys - _hotKeyManager = new HotKeyManager(this); - _hotKeyManager.RegisterHotKey(HotKeyManager.HotKeyModifiers.Control | HotKeyManager.HotKeyModifiers.Shift, - Keys.O, new HotKeyManager.HotKeyHandler(HotKeyOpenHandler)); + //Init message pump extensions + _msgPumpManager.Initialize(this); - _dualModeManager = new DualModeManager(this); + //Add hotkeys + var hotKeyMgr = _msgPumpManager.Get(); + hotKeyMgr.RegisterHotKey(Native.HotKeyModifiers.Control | Native.HotKeyModifiers.Shift, + Keys.O, new Native.HotKeyMethods.HotKeyHandler(HotKeyOpenHandler)); } #region Child forms & controls events @@ -170,13 +171,7 @@ namespace OnTopReplica { } protected override void OnClosing(CancelEventArgs e) { - //Destroy hotkeys - _hotKeyManager.Dispose(); - _hotKeyManager = null; - - //Destroy dual mode manager - _dualModeManager.Dispose(); - _dualModeManager = null; + _msgPumpManager.Dispose(); base.OnClosing(e); } @@ -207,10 +202,7 @@ namespace OnTopReplica { } protected override void WndProc(ref Message m) { - if (_hotKeyManager != null) - _hotKeyManager.ProcessHotKeys(m); - if (_dualModeManager != null) - _dualModeManager.ProcessHookMessages(m); + _msgPumpManager.PumpMessage(m); switch(m.Msg){ case NativeMethods.WM_NCRBUTTONUP: diff --git a/OnTopReplica/MessagePumpManager.cs b/OnTopReplica/MessagePumpManager.cs new file mode 100644 index 0000000..17f0e11 --- /dev/null +++ b/OnTopReplica/MessagePumpManager.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Reflection; +using System.Windows.Forms; + +namespace OnTopReplica { + class MessagePumpManager : IDisposable { + + Dictionary _processors = new Dictionary(); + + /// + /// Instantiates all message pump processors and registers them on the main form. + /// + /// + public void Initialize(MainForm form) { + foreach (var t in Assembly.GetExecutingAssembly().GetTypes()) { + if (typeof(IMessagePumpProcessor).IsAssignableFrom(t) && !t.IsAbstract) { + var instance = (IMessagePumpProcessor)Activator.CreateInstance(t); + instance.Initialize(form); + + _processors.Add(t, instance); + + Console.WriteLine("Registered message pump processor: {0}", t); + } + } + } + + /// + /// Run the registered message pump processors. + /// + /// Message to process. + public void PumpMessage(Message msg) { + foreach (var processor in _processors.Values) { + processor.Process(msg); + } + } + + /// + /// Get the instance of a registered message pump processor. + /// Throw if instance not found. + /// + public T Get() { + return (T)_processors[typeof(T)]; + } + + #region IDisposable Members + + public void Dispose() { + foreach (var processor in _processors.Values) { + processor.Dispose(); + } + _processors.Clear(); + } + + #endregion + } +} diff --git a/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs new file mode 100644 index 0000000..48cca17 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.MessagePumpProcessors { + abstract class BaseMessagePumpProcessor : IMessagePumpProcessor { + + protected MainForm Form { get; private set; } + + #region IMessagePumpProcessor Members + + public void Initialize(MainForm form) { + Form = form; + } + + public abstract void Process(Message msg); + + #endregion + + bool _isDisposed = false; + + protected abstract void Shutdown(); + + #region IDisposable Members + + public void Dispose() { + if (_isDisposed) + return; + + Shutdown(); + + _isDisposed = true; + } + + #endregion + + } +} diff --git a/OnTopReplica/DualModeManager.cs b/OnTopReplica/MessagePumpProcessors/DualModeManager.cs similarity index 53% rename from OnTopReplica/DualModeManager.cs rename to OnTopReplica/MessagePumpProcessors/DualModeManager.cs index 0e069e6..e33aa33 100644 --- a/OnTopReplica/DualModeManager.cs +++ b/OnTopReplica/MessagePumpProcessors/DualModeManager.cs @@ -6,22 +6,23 @@ using System.Diagnostics; using System.Reflection; using System.IO; using System.Windows.Forms; +using OnTopReplica.Native; -namespace OnTopReplica { +namespace OnTopReplica.MessagePumpProcessors { - class DualModeManager : IDisposable { + class DualModeManager : BaseMessagePumpProcessor { - public DualModeManager(MainForm form) { - _form = form; + public DualModeManager() { + _hookMsgId = HookMethods.RegisterWindowMessage("SHELLHOOK"); + if (_hookMsgId == 0) + Console.Error.WriteLine("Failed to register SHELLHOOK Windows message."); } - MainForm _form; + uint _hookMsgId; bool _active = false; - static uint _hookMsgId = NativeHooks.RegisterWindowMessage("SHELLHOOK"); - public void EnableDualMode(IEnumerable handles) { - if (!NativeHooks.RegisterShellHookWindow(_form.Handle)) { + if (!HookMethods.RegisterShellHookWindow(Form.Handle)) { Console.WriteLine("Failed to register shell hook window."); return; } @@ -29,34 +30,29 @@ namespace OnTopReplica { _active = true; } - public void ProcessHookMessages(Message msg) { - if (msg.Msg == _hookMsgId) { - int hookCode = msg.WParam.ToInt32(); - if (hookCode == NativeHooks.HSHELL_WINDOWACTIVATED || - hookCode == NativeHooks.HSHELL_RUDEAPPACTIVATED) { - IntPtr activeHandle = msg.LParam; - } - } - } - public void Disable() { if (!_active) return; - if (!NativeHooks.DeregisterShellHookWindow(_form.Handle)) + if (!HookMethods.DeregisterShellHookWindow(Form.Handle)) Console.WriteLine("Failed to deregister shell hook window."); _active = false; } - #region IDisposable Members - - public void Dispose() { - Disable(); + public override void Process(Message msg) { + if (msg.Msg == _hookMsgId) { + int hookCode = msg.WParam.ToInt32(); + if (hookCode == HookMethods.HSHELL_WINDOWACTIVATED || + hookCode == HookMethods.HSHELL_RUDEAPPACTIVATED) { + IntPtr activeHandle = msg.LParam; + } + } } - #endregion - + protected override void Shutdown() { + Disable(); + } } } diff --git a/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs new file mode 100644 index 0000000..2750a45 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// HotKey registration helper. + /// + class HotKeyManager : BaseMessagePumpProcessor { + + int _lastUsedKey = 0; + + Dictionary _handlers = new Dictionary(); + + public void RegisterHotKey(HotKeyModifiers mod, Keys keys, HotKeyMethods.HotKeyHandler handler) { + var newKey = ++_lastUsedKey; + + if (!HotKeyMethods.RegisterHotKey(Form.Handle, newKey, (int)mod, (int)keys)) { + Console.Error.WriteLine("Failed to register {0} hot key.", newKey); + return; + } + + _handlers[newKey] = handler; + } + + public override void Process(Message msg) { + if (msg.Msg == HotKeyMethods.WM_HOTKEY) { + int keyId = msg.WParam.ToInt32(); + if (!_handlers.ContainsKey(keyId)) + return; + + _handlers[keyId].Invoke(); + } + } + + protected override void Shutdown() { + foreach (var key in _handlers.Keys) { + if (!HotKeyMethods.UnregisterHotKey(Form.Handle, key)) { + Console.Error.WriteLine("Failed to unregister {0} hot key.", key); + } + } + } + } + +} diff --git a/OnTopReplica/NativeHooks.cs b/OnTopReplica/Native/HookMethods.cs similarity index 91% rename from OnTopReplica/NativeHooks.cs rename to OnTopReplica/Native/HookMethods.cs index 480a9d6..6677196 100644 --- a/OnTopReplica/NativeHooks.cs +++ b/OnTopReplica/Native/HookMethods.cs @@ -3,12 +3,12 @@ using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; -namespace OnTopReplica { +namespace OnTopReplica.Native { /// /// Helpers for interop with native Windows hooks. /// - static class NativeHooks { + static class HookMethods { public const int HSHELL_WINDOWACTIVATED = 4; public const int HSHELL_RUDEAPPACTIVATED = HSHELL_WINDOWACTIVATED | HSHELL_HIGHBIT; diff --git a/OnTopReplica/Native/HotKeyMethods.cs b/OnTopReplica/Native/HotKeyMethods.cs new file mode 100644 index 0000000..8aea7f1 --- /dev/null +++ b/OnTopReplica/Native/HotKeyMethods.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Windows.Forms; + +namespace OnTopReplica.Native { + + [Flags] + public enum HotKeyModifiers : int { + Alt = 0x1, + Control = 0x2, + Shift = 0x4, + Windows = 0x8 + } + + static class HotKeyMethods { + + public delegate void HotKeyHandler(); + + public const int WM_HOTKEY = 0x312; + + [DllImport("user32.dll")] + public static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vlc); + + [DllImport("user32.dll")] + public static extern bool UnregisterHotKey(IntPtr hWnd, int id); + + public delegate void FormDelegate(HotKeyModifiers mod, Keys key, HotKeyHandler handler); + + } +} diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 88d21b2..7e4cd7c 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -131,13 +131,17 @@ - - + + + + + + - + From 66023053c3ddf449a05ee89b4e3891588cce4ee9 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 30 Jun 2010 13:52:30 +0200 Subject: [PATCH 036/164] Removed wrapping panel in RegionBox. --- OnTopReplica/RegionBox.Designer.cs | 58 +++++++++++------------------- OnTopReplica/RegionBox.cs | 13 ------- 2 files changed, 21 insertions(+), 50 deletions(-) diff --git a/OnTopReplica/RegionBox.Designer.cs b/OnTopReplica/RegionBox.Designer.cs index 9b1b22b..0776b64 100644 --- a/OnTopReplica/RegionBox.Designer.cs +++ b/OnTopReplica/RegionBox.Designer.cs @@ -23,8 +23,8 @@ /// the contents of this method with the code editor. /// private void InitializeComponent() { - this.panel1 = new System.Windows.Forms.Panel(); this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.textRegionName = new OnTopReplica.FocusedTextBox(); this.numH = new System.Windows.Forms.NumericUpDown(); this.numW = new System.Windows.Forms.NumericUpDown(); this.numY = new System.Windows.Forms.NumericUpDown(); @@ -39,8 +39,6 @@ this.buttonDelete = new System.Windows.Forms.Button(); this.buttonSave = new System.Windows.Forms.Button(); this.comboBox1 = new VistaControls.ComboBox(); - this.textRegionName = new OnTopReplica.FocusedTextBox(); - this.panel1.SuspendLayout(); this.groupBox1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.numH)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numW)).BeginInit(); @@ -48,17 +46,6 @@ ((System.ComponentModel.ISupportInitialize)(this.numX)).BeginInit(); this.SuspendLayout(); // - // panel1 - // - this.panel1.BackColor = System.Drawing.SystemColors.Control; - this.panel1.Controls.Add(this.groupBox1); - this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.panel1.Location = new System.Drawing.Point(0, 0); - this.panel1.Name = "panel1"; - this.panel1.Padding = new System.Windows.Forms.Padding(4, 4, 4, 4); - this.panel1.Size = new System.Drawing.Size(175, 237); - this.panel1.TabIndex = 0; - // // groupBox1 // this.groupBox1.Controls.Add(this.textRegionName); @@ -84,6 +71,21 @@ this.groupBox1.TabStop = false; this.groupBox1.Text = "Regions"; // + // textRegionName + // + this.textRegionName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textRegionName.BackColor = System.Drawing.SystemColors.ActiveCaption; + this.textRegionName.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; + this.textRegionName.Location = new System.Drawing.Point(6, 48); + this.textRegionName.Name = "textRegionName"; + this.textRegionName.Size = new System.Drawing.Size(90, 20); + this.textRegionName.TabIndex = 2; + this.textRegionName.Visible = false; + this.textRegionName.ConfirmInput += new System.EventHandler(this.Save_confirm); + this.textRegionName.AbortInput += new System.EventHandler(this.Save_lost); + this.textRegionName.Leave += new System.EventHandler(this.Save_lost); + // // numH // this.numH.Enabled = false; @@ -186,7 +188,7 @@ // this.label6.AutoSize = true; this.label6.ForeColor = System.Drawing.SystemColors.ControlDark; - this.label6.Location = new System.Drawing.Point(71, 124); + this.label6.Location = new System.Drawing.Point(71, 125); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(38, 13); this.label6.TabIndex = 9; @@ -196,7 +198,7 @@ // this.label7.AutoSize = true; this.label7.ForeColor = System.Drawing.SystemColors.ControlDark; - this.label7.Location = new System.Drawing.Point(71, 98); + this.label7.Location = new System.Drawing.Point(71, 99); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(35, 13); this.label7.TabIndex = 8; @@ -206,7 +208,7 @@ // this.label3.AutoSize = true; this.label3.ForeColor = System.Drawing.SystemColors.ControlDark; - this.label3.Location = new System.Drawing.Point(6, 124); + this.label3.Location = new System.Drawing.Point(6, 125); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(14, 13); this.label3.TabIndex = 5; @@ -216,7 +218,7 @@ // this.label2.AutoSize = true; this.label2.ForeColor = System.Drawing.SystemColors.ControlDark; - this.label2.Location = new System.Drawing.Point(6, 98); + this.label2.Location = new System.Drawing.Point(6, 99); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(14, 13); this.label2.TabIndex = 4; @@ -269,31 +271,14 @@ this.comboBox1.TabIndex = 0; this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.RegionCombo_index); // - // textRegionName - // - this.textRegionName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.textRegionName.BackColor = System.Drawing.SystemColors.ActiveCaption; - this.textRegionName.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; - this.textRegionName.Location = new System.Drawing.Point(6, 48); - this.textRegionName.Name = "textRegionName"; - this.textRegionName.Size = new System.Drawing.Size(90, 20); - this.textRegionName.TabIndex = 2; - this.textRegionName.Visible = false; - this.textRegionName.ConfirmInput += new System.EventHandler(this.Save_confirm); - this.textRegionName.AbortInput += new System.EventHandler(this.Save_lost); - this.textRegionName.Leave += new System.EventHandler(this.Save_lost); - // // RegionBox // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.Black; - this.Controls.Add(this.panel1); + this.Controls.Add(this.groupBox1); this.MinimumSize = new System.Drawing.Size(160, 180); this.Name = "RegionBox"; this.Size = new System.Drawing.Size(175, 237); - this.panel1.ResumeLayout(false); this.groupBox1.ResumeLayout(false); this.groupBox1.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.numH)).EndInit(); @@ -306,7 +291,6 @@ #endregion - private System.Windows.Forms.Panel panel1; private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.Button buttonDelete; private System.Windows.Forms.Button buttonSave; diff --git a/OnTopReplica/RegionBox.cs b/OnTopReplica/RegionBox.cs index d8c407d..7059751 100644 --- a/OnTopReplica/RegionBox.cs +++ b/OnTopReplica/RegionBox.cs @@ -17,19 +17,6 @@ namespace OnTopReplica { } } - bool _glassMode = true; - - public bool GlassMode { - get { - return _glassMode; - } - set { - BackColor = (value) ? Color.Black : SystemColors.Control; - - _glassMode = value; - } - } - public void SetRegion(StoredRegion region) { if (region == null) { Reset(); From 78917c9c12d8470737acf1c26b07ab731610cb24 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 30 Jun 2010 22:02:04 +0200 Subject: [PATCH 037/164] Added modular Side Panel system. Refactored region selection box as Side Panel implementation. Added icons to region selection panel. --- OnTopReplica/Assets/xiao_add.png | Bin 0 -> 753 bytes OnTopReplica/Assets/xiao_delete.png | Bin 0 -> 715 bytes OnTopReplica/Assets/xiao_ok.png | Bin 0 -> 752 bytes OnTopReplica/FocusedTextBox.cs | 5 +- OnTopReplica/MainForm.Designer.cs | 3 +- OnTopReplica/MainForm.cs | 283 ++++++++++-------- OnTopReplica/OnTopReplica.csproj | 18 +- OnTopReplica/Properties/Resources.Designer.cs | 21 ++ OnTopReplica/Properties/Resources.resx | 123 ++++---- OnTopReplica/RegionBox.cs | 187 ------------ OnTopReplica/SidePanel.cs | 49 +++ .../RegionPanel.Designer.cs} | 99 +++--- OnTopReplica/SidePanels/RegionPanel.cs | 212 +++++++++++++ .../RegionPanel.resx} | 0 OnTopReplica/StoredRegionArray.cs | 4 +- OnTopReplica/StoredRegionComparer.cs | 28 ++ OnTopReplica/WindowListHelper.cs | 1 - 17 files changed, 612 insertions(+), 421 deletions(-) create mode 100644 OnTopReplica/Assets/xiao_add.png create mode 100644 OnTopReplica/Assets/xiao_delete.png create mode 100644 OnTopReplica/Assets/xiao_ok.png delete mode 100644 OnTopReplica/RegionBox.cs create mode 100644 OnTopReplica/SidePanel.cs rename OnTopReplica/{RegionBox.Designer.cs => SidePanels/RegionPanel.Designer.cs} (78%) create mode 100644 OnTopReplica/SidePanels/RegionPanel.cs rename OnTopReplica/{RegionBox.resx => SidePanels/RegionPanel.resx} (100%) create mode 100644 OnTopReplica/StoredRegionComparer.cs diff --git a/OnTopReplica/Assets/xiao_add.png b/OnTopReplica/Assets/xiao_add.png new file mode 100644 index 0000000000000000000000000000000000000000..36b1f0307023fbd081178e4701616f723bd1f404 GIT binary patch literal 753 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;cS%G+RCwB?lS@dHQ5c4wGymu~-o^{%9Z8G8RD>C{XwgncqBfG!#+_k7tEi1D zaZ|Jk3KBPMLc>iN25wqtl%OzpB|$;*j?;{D{m+^IpVLBTGNo1T?)}a=58wItUZJ%{ z2tit16HVDbFVG2GJ1&0%#(<&Gjs=yztF=a)1awU_^%}x>(^%a`ZACprrNsb*0zo!* z)>zz}!PfTu(T;_oGl09F8Xpw6J+In*olt0#Ac}xH&3WYjuvDtAq0)!U zi4chgkW!+gWVm&T;npdXlt?L$&T=9&RQj+~st>>c;1Hs_yrhPZ8NgH~^DBPlSNxg5 zroE|5LS}&Sk{TRBbRT^W5KiIEayf~{!=$hoZk^(!(tdEOha?t7?lOc^cryTiq-7yx z0vnru$&?8Uhk-(Y*2xSYnXs4Qu~A9nzFarpy4#sj#GToP8Cq?uaH%pkTO zA3q50;!5R_R0^d`lrl4q(mtsau2dce!Chke@p0gI4@yKu_q*optF`THT5CjAh!py- z_8kcFvx}&9*7JR1l97A!mHL<7aR3k`u(uo<@NZ31Zd{-^s|-Usv26?6wlK7l;;b^t zjSKjoe&imy2qjQ%EZg{G4F9L+Oj j0yqSsz}YnZkA4pT#uh|15Y85r00000NkvXXu0mjfEy_$d literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_delete.png b/OnTopReplica/Assets/xiao_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7e3c06c7072ab8bd2992ec1db3040dde5bb9ff GIT binary patch literal 715 zcmV;+0yO=JP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;QAtEWRCwB?lRr#TaS+Ep?@wES8fe1+O&LfK8xlI{8g*x!>LAes`A> z9LM3)^m+c07Z?Ms02iyicfd2?5un!sqjMjSsn?hwN=semVg$QSL$JN#RSsjy*PU4M zg$#jkH;MS`5#XK-AWPza?D1e{a$uW;Z@p*; zu%AqWVIl`Y$dWivH$=zKDVJ2ROqyt{vZf+RG9ImjW7&oaP<3-lEf%8ywyyDW{wn{H z*mM$8RnaVa*9D|=>Pjx1injXwl=E3|?8e!G$cZ*T`E-hOPF-=gFuA<5c(@(MYHkN# z3x;7}=;eAd4DhvJHMeuP9cOZRXVC>@AiJ4VW>V{G$Q?b%!4Qt*#j;E+%fykq$iWbD zM-Qp>H8zvVOa`)U3ma2|djEWU_Tgp2ccG--2%d`K>x>}F0^nd;0;Qb7_qVIO|MKJR z_-bNyV`@;Z+X7G=UrpSG#M3*MQrG)BTVq{;mL7oAQE_i;KmY3H%WwCAJ)r20<@h!B x&&R!hA7}-4qZ*J0e$^`1u2FCthyT&<0RU|@782+2Qd0l`002ovPDHLkV1n3wH?;r& literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_ok.png b/OnTopReplica/Assets/xiao_ok.png new file mode 100644 index 0000000000000000000000000000000000000000..fc5029a25f4417ad92afa7489f464874dc3318df GIT binary patch literal 752 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;c1c7*RCwB?lTAoeQ5c4wGk2VE(s3N6G)+pYjcFT2iI8xUB#|3YcWp$mz?IZO zSK_9YK}q7KU52X+0|{Dagx0{|UpUcV)RYchW}N?f?%cU8)Qh9bUicR0<@+Aa$2qSs zO%ovmN9vt#bN~ZDH*n+7{tV0lQ!|}w@~GD|O~i3P?|kEcB9xa67h1V^{xYTIUI3zM zgr9$Zu>N})!!!nGI@hL70eapwJaD@_&u=$(Ly19}1X(ly>^N~z3^9d;ud~F{`w!pT zU4LN#`rco6C_>ThwcaOPvX5rOG0B$zoQfM)%){H|R~V+@e0^tC+5oaLH&kEMj8+&Y zo>I{?4SAxz_?KDoeLyRWQ(x6gR_2BPYydVP`YOw6h-OqWGJ__yyjuO{XS!vP>6S&J z8I{Vi8f-%J9jpfkyJ#wK+DW8h1Vi7gYhS9aV>=XNx@FPw5~&!at_p-*G+6)uJ)1?- z(s|AOD{Xn_v0x91O+g~TG<9nQJ#B2Hl1Xwo7}@Hw296JpY;}>*HF8-PHw$PUh25xSHNuXW_T!0=iJQfAPl#F;B%FS0{2oSL%$3!~eU0o9M&@Z!LQE_DWd z?Enn=+R>y$mpTqyxD77>)z8A{_M`D41p*Tjn=VLbQG(G8e)-fVpTKKLdh5@*oN)!gMGHPz-ng*P)jN i_JIU&I*tFMe**wrqevEjZknS20000(Thumbnail_CloneClick); Controls.Add(_thumbnailPanel); - //Region box - _regionBox = new RegionBox { + //Side panel + _sidePanelContainer = new Panel { Location = new Point(ClientSize.Width, 0), Anchor = AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom, Enabled = false, - Visible = false + Visible = false, + Size = new Size(100, ClientSize.Height), + Padding = new Padding(4) }; - _regionBox.Size = new Size(_regionBox.Width, ClientSize.Height); - _regionBox.RequestClosing += new EventHandler(RegionBox_RequestClosing); - _regionBox.RequestRegionReset += new EventHandler(RegionBox_RequestRegionReset); - _regionBox.RegionSet += new RegionBox.RegionSetHandler(RegionBox_RegionChanged); - Controls.Add(_regionBox); + Controls.Add(_sidePanelContainer); //Set native renderer on context menus Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer( @@ -68,97 +66,123 @@ namespace OnTopReplica { #region Child forms & controls events - void RegionBox_RegionChanged(object sender, Rectangle region) { - _thumbnailPanel.SelectedRegion = region; - SetAspectRatio(region.Size); - } + EventHandler RequestClosingHandler; - void RegionBox_RequestRegionReset(object sender, EventArgs e) { - _thumbnailPanel.ConstrainToRegion = false; - SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize); - } + const int SidePanelMargin = 2; + const int ScreenBorderMargin = 10; - void Thumbnail_RegionDrawn(object sender, Rectangle region) { - _regionBox.SetRegion(region); - } + bool _sidePanelDidMoveForm = false; + Point _sidePanelPreviousFormLocation; + + /// + /// Opens a new side panel. + /// + /// The side panel to embed. + public void SetSidePanel(SidePanel panel) { + if (_currentSidePanel != null) + CloseSidePanel(); + + _currentSidePanel = panel; + _currentSidePanel.OnFirstShown(this); + + //Add and show + _sidePanelContainer.Controls.Add(panel); + _sidePanelContainer.Visible = _sidePanelContainer.Enabled = true; + panel.Show(); + + int intHorzMargin = panel.Margin.Horizontal + _sidePanelContainer.Padding.Horizontal; //internal margins for sidepanel + int intVertMargin = panel.Margin.Vertical + _sidePanelContainer.Padding.Vertical; + + //Resize container + _sidePanelContainer.ClientSize = new Size( + panel.Width + intHorzMargin, + ClientSize.Height + ); + + int rightHorzMargin = _sidePanelContainer.Width + SidePanelMargin; //horz margin between the two controls + + //Resize rest + ClientSize = new Size( + ClientSize.Width + rightHorzMargin, + ClientSize.Height + ); + ExtraPadding = new Padding(0, 0, rightHorzMargin, 0); + _thumbnailPanel.Size = new Size( + ClientSize.Width - rightHorzMargin, + ClientSize.Height + ); + _sidePanelContainer.Location = new Point( + ClientSize.Width - rightHorzMargin, + 0 + ); + MinimumSize = new Size( + 20 + panel.MinimumSize.Width + SidePanelMargin + intHorzMargin, + panel.MinimumSize.Height + intVertMargin + ); + + //Move window if needed + var screenCurr = Screen.FromControl(this); + int pRight = Location.X + Width + ScreenBorderMargin; + if (pRight >= screenCurr.Bounds.Width) { + _sidePanelPreviousFormLocation = Location; + _sidePanelDidMoveForm = true; + + Location = new Point(screenCurr.WorkingArea.Width - Width - ScreenBorderMargin, Location.Y); + } + else { + _sidePanelDidMoveForm = false; + } + + //Hook event listener + if (RequestClosingHandler == null) + RequestClosingHandler = new EventHandler(SidePanel_RequestClosing); + panel.RequestClosing += RequestClosingHandler; + } + + /// + /// Closes the current side panel. + /// + public void CloseSidePanel() { + if (_currentSidePanel == null) + return; + + //Unhook listener + _currentSidePanel.RequestClosing -= RequestClosingHandler; + + //Remove side panel + _currentSidePanel.OnClosing(this); + _sidePanelContainer.Controls.Clear(); + _sidePanelContainer.Visible = _sidePanelContainer.Enabled = false; + _currentSidePanel = null; + + //Resize + MinimumSize = new Size(20, 20); + ClientSize = new Size( + ClientSize.Width - _sidePanelContainer.Width - SidePanelMargin, + ClientSize.Height + ); + ExtraPadding = new Padding(0); + _thumbnailPanel.Size = ClientSize; + + //Move window back if needed + if (_sidePanelDidMoveForm) { + Location = _sidePanelPreviousFormLocation; + _sidePanelDidMoveForm = false; + } + } + + void SidePanel_RequestClosing(object sender, EventArgs e) { + CloseSidePanel(); + } void Thumbnail_CloneClick(object sender, CloneClickEventArgs e) { //TODO: handle other mouse buttons Win32Helper.InjectFakeMouseClick(_lastWindowHandle.Handle, e.ClientClickLocation, e.IsDoubleClick); } - void RegionBox_RequestClosing(object sender, EventArgs e) { - RegionBoxShowing = false; - } - #endregion - #region Side "Region box" events - - const int cWindowBoundary = 10; - - bool _regionBoxShowing = false; - bool _regionBoxDidMoveForm = false; - Point _regionBoxPrevFormLocation; - - public bool RegionBoxShowing { - get { - return _regionBoxShowing; - } - set { - if (_regionBoxShowing != value) { - //Show box - _regionBoxShowing = value; - _regionBox.Visible = value; - _regionBox.Enabled = value; - - //Enable region drawing on thumbnail - _thumbnailPanel.DrawMouseRegions = value; - - //Pad form and resize it - ClientSize = new Size { - Width = ClientSize.Width + ((value) ? _regionBox.Width : -_regionBox.Width), - Height = Math.Max(ClientSize.Height, _regionBox.ClientSize.Height) - }; - ExtraPadding = (value) ? new Padding(0, 0, _regionBox.Width, 0) : new Padding(0); - - //Resize and move panels - _thumbnailPanel.Size = new Size { - Width = (value) ? (ClientSize.Width - _regionBox.Width) : ClientSize.Width, - Height = ClientSize.Height - }; - _regionBox.Location = new Point { - X = (value) ? (ClientSize.Width - _regionBox.Width) : ClientSize.Width, - Y = 0 - }; - _regionBox.Size = new Size(_regionBox.Width, ClientSize.Height); - - //Check form boundaries and move form if necessary (if it crosses the right screen border) - if (value) { - var screenCurr = Screen.FromControl(this); - int pRight = Location.X + Size.Width + cWindowBoundary; - if (pRight >= screenCurr.Bounds.Width) { - _regionBoxPrevFormLocation = Location; - _regionBoxDidMoveForm = true; - - Location = new Point(screenCurr.WorkingArea.Width - Size.Width - cWindowBoundary, Location.Y); - } - else - _regionBoxDidMoveForm = false; - } - else { - if (_regionBoxDidMoveForm) { - Location = _regionBoxPrevFormLocation; - _regionBoxDidMoveForm = false; - } - } - } - } - } - - #endregion - - #region Event override + #region Event override protected override void OnShown(EventArgs e) { base.OnShown(e); @@ -179,8 +203,8 @@ namespace OnTopReplica { protected override void OnResize(EventArgs e) { base.OnResize(e); - this.GlassMargins = (_regionBoxShowing) ? - new Margins(ClientSize.Width - _regionBox.Width, 0, 0, 0) : + this.GlassMargins = (_currentSidePanel != null) ? + new Margins(ClientSize.Width - _sidePanelContainer.Width, 0, 0, 0) : new Margins(-1); } @@ -238,15 +262,8 @@ namespace OnTopReplica { } private void Menu_opening(object sender, CancelEventArgs e) { - //Cancel if currently in "fullscreen" mode - if (IsFullscreen) { - e.Cancel = true; - return; - } - - //Close region box if opened - if (RegionBoxShowing) { - RegionBoxShowing = false; + //Cancel if currently in "fullscreen" mode or a side panel is open + if (IsFullscreen || _currentSidePanel != null) { e.Cancel = true; return; } @@ -299,9 +316,7 @@ namespace OnTopReplica { } var selectionData = (WindowListHelper.WindowSelectionData)tsi.Tag; - if (_windowManager != null) { - SetThumbnail(selectionData.Handle, selectionData.Region); - } + SetThumbnail(selectionData.Handle, selectionData.Region); } private void Menu_Switch_click(object sender, EventArgs e) { @@ -357,7 +372,7 @@ namespace OnTopReplica { } private void Menu_Region_click(object sender, EventArgs e) { - RegionBoxShowing = true; + SetSidePanel(new OnTopReplica.SidePanels.RegionPanel()); } private void Menu_Resize_opening(object sender, CancelEventArgs e) { @@ -522,7 +537,7 @@ namespace OnTopReplica { if (IsFullscreen == value) return; - RegionBoxShowing = false; //on switch, always hide region box + CloseSidePanel(); //on switch, always hide side panels GlassEnabled = !value; FormBorderStyle = (value) ? FormBorderStyle.None : FormBorderStyle.Sizable; TopMost = !value; @@ -557,19 +572,16 @@ namespace OnTopReplica { public void SetThumbnail(WindowHandle handle, StoredRegion region) { try { _lastWindowHandle = handle; - _thumbnailPanel.SetThumbnailHandle(handle); + if (region != null) + _thumbnailPanel.SelectedRegion = region.Rect; + else + _thumbnailPanel.ConstrainToRegion = false; } catch (Exception ex) { ThumbnailError(ex, false, Strings.ErrorUnableToCreateThumbnail); } - //Update region to show - if (region == null) - _regionBox.Reset(); - else - _regionBox.SetRegion(region); - //Set aspect ratio (this will resize the form) SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize); } @@ -582,13 +594,44 @@ namespace OnTopReplica { _lastWindowHandle = null; _thumbnailPanel.UnsetThumbnail(); - //Reset regions - _regionBox.Reset(); - //Disable aspect ratio KeepAspectRatio = false; } + /// + /// Gets or sets the region displayed of the current thumbnail. + /// + public Rectangle? SelectedThumbnailRegion { + get { + if (!_thumbnailPanel.IsShowingThumbnail || !_thumbnailPanel.ConstrainToRegion) + return null; + + return _thumbnailPanel.SelectedRegion; + } + set { + if (!_thumbnailPanel.IsShowingThumbnail) + return; + + if (value.HasValue) { + _thumbnailPanel.SelectedRegion = value.Value; + SetAspectRatio(value.Value.Size); + } + else { + _thumbnailPanel.ConstrainToRegion = false; + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize); + } + } + } + + /// + /// Gets the form's thumbnail panel. + /// + public ThumbnailPanel ThumbnailPanel { + get { + return _thumbnailPanel; + } + } + private void ThumbnailError(Exception ex, bool suppress, string title){ if (!suppress) { ShowErrorDialog(title, Strings.ErrorGenericThumbnailHandleError, ex.Message); @@ -710,7 +753,7 @@ namespace OnTopReplica { public void ResetMainForm() { //Reset form settings UnsetThumbnail(); - RegionBoxShowing = false; + CloseSidePanel(); //Reset location and size (edge of the screen, min size) Point nuLoc = Screen.PrimaryScreen.WorkingArea.Location; diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 7e4cd7c..0906b05 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -110,6 +110,7 @@ + @@ -137,6 +138,10 @@ + + UserControl + + @@ -201,8 +206,8 @@ Resources.Designer.cs Designer - - RegionBox.cs + + RegionPanel.cs Designer @@ -224,11 +229,11 @@ Settings.settings True - + UserControl - - RegionBox.cs + + RegionPanel.cs @@ -268,6 +273,9 @@ + + + Designer diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs index a502df3..f159303 100644 --- a/OnTopReplica/Properties/Resources.Designer.cs +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -235,6 +235,20 @@ namespace OnTopReplica.Properties { } } + internal static System.Drawing.Bitmap xiao_add { + get { + object obj = ResourceManager.GetObject("xiao_add", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_delete { + get { + object obj = ResourceManager.GetObject("xiao_delete", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + internal static System.Drawing.Bitmap xiao_down { get { object obj = ResourceManager.GetObject("xiao_down", resourceCulture); @@ -242,6 +256,13 @@ namespace OnTopReplica.Properties { } } + internal static System.Drawing.Bitmap xiao_ok { + get { + object obj = ResourceManager.GetObject("xiao_ok", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + internal static System.Drawing.Bitmap xiao_up { get { object obj = ResourceManager.GetObject("xiao_up", resourceCulture); diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx index 52e4f33..c0124f7 100644 --- a/OnTopReplica/Properties/Resources.resx +++ b/OnTopReplica/Properties/Resources.resx @@ -118,86 +118,95 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Assets\ok.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Assets\icon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Assets\component.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Assets\flag_ita.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Assets\flag_usa.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Assets\thumbs_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Assets\window_multiple16.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Assets\back.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Assets\reduce.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Assets\pos_bottomleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Assets\window_opacity16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Assets\window16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Assets\pos_topleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Assets\window_switch.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Assets\xiao_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Assets\x-oblique.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Assets\pos_topright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Assets\window_border16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Assets\pos_null.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Assets\xiao_down.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Assets\25.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Assets\window_multiple16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Assets\pos_bottomright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Assets\25.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Assets\icon.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Assets\regions.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Assets\pos_null.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\thumbs_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\icon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\back.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\ok.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Assets\flag_czech.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - + + ..\Assets\pos_bottomright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_switch.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\icon.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Assets\flag_danish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Assets\reduce.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_ok.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_multiple16.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\component.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_down.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_border16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_usa.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + + ..\Assets\xiao_add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/OnTopReplica/RegionBox.cs b/OnTopReplica/RegionBox.cs deleted file mode 100644 index 7059751..0000000 --- a/OnTopReplica/RegionBox.cs +++ /dev/null @@ -1,187 +0,0 @@ -using System; -using System.Drawing; -using System.Windows.Forms; -using OnTopReplica.Properties; - -namespace OnTopReplica { - public partial class RegionBox : UserControl { - - public RegionBox() { - InitializeComponent(); - - //Copy settings into combo box - if (Settings.Default.SavedRegions != null) { - foreach (object o in Settings.Default.SavedRegions) { - comboBox1.Items.Add(o); - } - } - } - - public void SetRegion(StoredRegion region) { - if (region == null) { - Reset(); - return; - } - - SetRegion(region.Rect); - - //Select right combobox - if (comboBox1.Items.Contains(region)) { - comboBox1.SelectedItem = region; - } - } - - public void SetRegion(Rectangle region) { - try { - _ignoreValueChanges = true; - - numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = true; - - numX.Value = region.Left; - numY.Value = region.Top; - numW.Value = region.Width; - numH.Value = region.Height; - } - finally { - _ignoreValueChanges = false; - } - - OnRegionSet(region); - } - - public void Reset() { - try { - _ignoreValueChanges = true; - - numX.Value = numY.Value = numW.Value = numH.Value = 0; - - numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = false; - - buttonSave.Enabled = false; - - comboBox1.SelectedIndex = -1; - } - finally { - _ignoreValueChanges = false; - } - } - - public event EventHandler RequestClosing; - - protected virtual void OnRequestClosing() { - if (RequestClosing != null) - RequestClosing(this, EventArgs.Empty); - } - - private void CloseClick(object sender, EventArgs e) { - OnRequestClosing(); - } - - public event EventHandler RequestRegionReset; - - protected virtual void OnRequestRegionReset() { - if (RequestRegionReset != null) - RequestRegionReset(this, EventArgs.Empty); - } - - private void ResetClick(object sender, EventArgs e) { - Reset(); - - OnRequestRegionReset(); - } - - private void DeleteClick(object sender, EventArgs e) { - if (comboBox1.SelectedIndex < 0) - return; - - var origIndex = comboBox1.SelectedIndex; - Settings.Default.SavedRegions.RemoveAt(origIndex); - comboBox1.Items.RemoveAt(origIndex); - - if (comboBox1.Items.Count > 0) - comboBox1.SelectedIndex = 0; - } - - private void SaveClick(object sender, EventArgs e) { - //Display textbox instead of button - buttonSave.Visible = false; - textRegionName.Visible = true; - textRegionName.Focus(); - } - - private void Save_confirm(object sender, EventArgs e) { - if (!string.IsNullOrEmpty(textRegionName.Text)) { - AddRegion(new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value), textRegionName.Text); - } - - //Hide textbox and show button again - textRegionName.Visible = false; - textRegionName.Text = string.Empty; - - buttonSave.Visible = true; - buttonSave.Enabled = false; - } - - private void Save_lost(object sender, EventArgs e) { - //Reset textbox - textRegionName.Visible = false; - - buttonSave.Visible = true; - buttonSave.Focus(); - } - - private void AddRegion(Rectangle rectangle, string p) { - var region = new StoredRegion(rectangle, p); - - int index = comboBox1.Items.Add(region); - comboBox1.SelectedIndex = index; - - if (Settings.Default.SavedRegions == null) - Settings.Default.SavedRegions = new StoredRegionArray(); - Settings.Default.SavedRegions.Add(region); - } - - public delegate void RegionSetHandler(object sender, Rectangle region); - - public event RegionSetHandler RegionSet; - - protected virtual void OnRegionSet(Rectangle region){ - var evt = RegionSet; - if (evt != null) - evt(this, region); - - buttonSave.Enabled = true; - } - - /// - /// Used to signal to the value change handler that all events should be temporarily ignored. - /// - /// - /// Must be used if the RegionBox is updating the values of the NumericUpDown controls - /// internally and the handler should not raise any event. - /// - bool _ignoreValueChanges = false; - - private void RegionValueChanged(object sender, EventArgs e) { - if (_ignoreValueChanges) - return; - - OnRegionSet(new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value)); - } - - private void RegionCombo_index(object sender, EventArgs e) { - buttonDelete.Enabled = (comboBox1.SelectedIndex >= 0); - - if (comboBox1.SelectedIndex >= 0) { - //Load region - var region = comboBox1.SelectedItem as StoredRegion; - - if (region == null) - return; - - SetRegion(region.Rect); - } - } - - } -} diff --git a/OnTopReplica/SidePanel.cs b/OnTopReplica/SidePanel.cs new file mode 100644 index 0000000..d3928cb --- /dev/null +++ b/OnTopReplica/SidePanel.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + /// + /// Represents a side panel that can be embedded in OnTopReplica. + /// + class SidePanel : UserControl { + + public SidePanel() { + Dock = DockStyle.Fill; + } + + /// + /// Gets the panel's parent form. + /// + protected MainForm ParentForm { get; private set; } + + /// + /// Raised when the side panel requests to be closed. + /// + public event EventHandler RequestClosing; + + protected virtual void OnRequestClosing() { + var evt = RequestClosing; + if (evt != null) + evt(this, EventArgs.Empty); + } + + /// + /// Is called when the side panel is embedded and first shown. + /// + /// Parent form that is embedding the side panel. + public virtual void OnFirstShown(MainForm form) { + ParentForm = form; + } + + /// + /// Is called before removing the side panel. + /// + /// Parent form that is embedding the side panel. + public virtual void OnClosing(MainForm form) { + } + + } +} diff --git a/OnTopReplica/RegionBox.Designer.cs b/OnTopReplica/SidePanels/RegionPanel.Designer.cs similarity index 78% rename from OnTopReplica/RegionBox.Designer.cs rename to OnTopReplica/SidePanels/RegionPanel.Designer.cs index 0776b64..a803575 100644 --- a/OnTopReplica/RegionBox.Designer.cs +++ b/OnTopReplica/SidePanels/RegionPanel.Designer.cs @@ -1,5 +1,5 @@ -namespace OnTopReplica { - partial class RegionBox { +namespace OnTopReplica.SidePanels { + partial class RegionPanel { /// /// Required designer variable. /// @@ -38,7 +38,7 @@ this.label1 = new System.Windows.Forms.Label(); this.buttonDelete = new System.Windows.Forms.Button(); this.buttonSave = new System.Windows.Forms.Button(); - this.comboBox1 = new VistaControls.ComboBox(); + this.comboRegions = new VistaControls.ComboBox(); this.groupBox1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.numH)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numW)).BeginInit(); @@ -62,11 +62,11 @@ this.groupBox1.Controls.Add(this.label1); this.groupBox1.Controls.Add(this.buttonDelete); this.groupBox1.Controls.Add(this.buttonSave); - this.groupBox1.Controls.Add(this.comboBox1); + this.groupBox1.Controls.Add(this.comboRegions); this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; - this.groupBox1.Location = new System.Drawing.Point(4, 4); + this.groupBox1.Location = new System.Drawing.Point(0, 0); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(167, 229); + this.groupBox1.Size = new System.Drawing.Size(184, 189); this.groupBox1.TabIndex = 0; this.groupBox1.TabStop = false; this.groupBox1.Text = "Regions"; @@ -77,14 +77,13 @@ | System.Windows.Forms.AnchorStyles.Right))); this.textRegionName.BackColor = System.Drawing.SystemColors.ActiveCaption; this.textRegionName.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; - this.textRegionName.Location = new System.Drawing.Point(6, 48); + this.textRegionName.Location = new System.Drawing.Point(6, 46); this.textRegionName.Name = "textRegionName"; - this.textRegionName.Size = new System.Drawing.Size(90, 20); - this.textRegionName.TabIndex = 2; + this.textRegionName.Size = new System.Drawing.Size(119, 20); + this.textRegionName.TabIndex = 11; this.textRegionName.Visible = false; this.textRegionName.ConfirmInput += new System.EventHandler(this.Save_confirm); this.textRegionName.AbortInput += new System.EventHandler(this.Save_lost); - this.textRegionName.Leave += new System.EventHandler(this.Save_lost); // // numH // @@ -103,7 +102,7 @@ this.numH.Name = "numH"; this.numH.Size = new System.Drawing.Size(43, 20); this.numH.TabIndex = 7; - this.numH.ValueChanged += new System.EventHandler(this.RegionValueChanged); + this.numH.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); // // numW // @@ -122,7 +121,7 @@ this.numW.Name = "numW"; this.numW.Size = new System.Drawing.Size(43, 20); this.numW.TabIndex = 6; - this.numW.ValueChanged += new System.EventHandler(this.RegionValueChanged); + this.numW.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); // // numY // @@ -141,7 +140,7 @@ this.numY.Name = "numY"; this.numY.Size = new System.Drawing.Size(43, 20); this.numY.TabIndex = 5; - this.numY.ValueChanged += new System.EventHandler(this.RegionValueChanged); + this.numY.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); // // numX // @@ -160,29 +159,32 @@ this.numX.Name = "numX"; this.numX.Size = new System.Drawing.Size(43, 20); this.numX.TabIndex = 4; - this.numX.ValueChanged += new System.EventHandler(this.RegionValueChanged); + this.numX.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); // // buttonDone // - this.buttonDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.buttonDone.Location = new System.Drawing.Point(101, 200); + this.buttonDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDone.Image = global::OnTopReplica.Properties.Resources.xiao_ok; + this.buttonDone.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonDone.Location = new System.Drawing.Point(108, 158); this.buttonDone.Name = "buttonDone"; - this.buttonDone.Size = new System.Drawing.Size(60, 23); + this.buttonDone.Size = new System.Drawing.Size(70, 23); this.buttonDone.TabIndex = 9; this.buttonDone.Text = global::OnTopReplica.Strings.RegionsDoneButton; + this.buttonDone.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; this.buttonDone.UseVisualStyleBackColor = true; - this.buttonDone.Click += new System.EventHandler(this.CloseClick); + this.buttonDone.Click += new System.EventHandler(this.Close_click); // // buttonReset // - this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.buttonReset.Location = new System.Drawing.Point(6, 200); + this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonReset.Location = new System.Drawing.Point(32, 158); this.buttonReset.Name = "buttonReset"; - this.buttonReset.Size = new System.Drawing.Size(60, 23); + this.buttonReset.Size = new System.Drawing.Size(70, 23); this.buttonReset.TabIndex = 8; this.buttonReset.Text = global::OnTopReplica.Strings.RegionsResetButton; this.buttonReset.UseVisualStyleBackColor = true; - this.buttonReset.Click += new System.EventHandler(this.ResetClick); + this.buttonReset.Click += new System.EventHandler(this.Reset_click); // // label6 // @@ -238,47 +240,48 @@ // this.buttonDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.buttonDelete.Enabled = false; - this.buttonDelete.Location = new System.Drawing.Point(101, 46); + this.buttonDelete.Image = global::OnTopReplica.Properties.Resources.xiao_delete; + this.buttonDelete.Location = new System.Drawing.Point(155, 43); this.buttonDelete.Name = "buttonDelete"; - this.buttonDelete.Size = new System.Drawing.Size(60, 23); + this.buttonDelete.Size = new System.Drawing.Size(23, 23); this.buttonDelete.TabIndex = 3; - this.buttonDelete.Text = global::OnTopReplica.Strings.RegionsDeleteButton; this.buttonDelete.UseVisualStyleBackColor = true; - this.buttonDelete.Click += new System.EventHandler(this.DeleteClick); + this.buttonDelete.Click += new System.EventHandler(this.Delete_click); // // buttonSave // + this.buttonSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.buttonSave.Enabled = false; - this.buttonSave.Location = new System.Drawing.Point(6, 46); + this.buttonSave.Image = global::OnTopReplica.Properties.Resources.xiao_add; + this.buttonSave.Location = new System.Drawing.Point(131, 43); this.buttonSave.Name = "buttonSave"; - this.buttonSave.Size = new System.Drawing.Size(60, 23); + this.buttonSave.Size = new System.Drawing.Size(23, 23); this.buttonSave.TabIndex = 1; - this.buttonSave.Text = global::OnTopReplica.Strings.RegionsSaveButton; this.buttonSave.UseVisualStyleBackColor = true; - this.buttonSave.Click += new System.EventHandler(this.SaveClick); + this.buttonSave.Click += new System.EventHandler(this.Save_click); // - // comboBox1 + // comboRegions // - this.comboBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + this.comboRegions.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.comboBox1.CueBannerText = global::OnTopReplica.Strings.RegionsStoredRegions; - this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.comboBox1.FlatStyle = System.Windows.Forms.FlatStyle.System; - this.comboBox1.FormattingEnabled = true; - this.comboBox1.Location = new System.Drawing.Point(6, 19); - this.comboBox1.Name = "comboBox1"; - this.comboBox1.Size = new System.Drawing.Size(156, 21); - this.comboBox1.TabIndex = 0; - this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.RegionCombo_index); + this.comboRegions.CueBannerText = global::OnTopReplica.Strings.RegionsStoredRegions; + this.comboRegions.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboRegions.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.comboRegions.FormattingEnabled = true; + this.comboRegions.Location = new System.Drawing.Point(6, 19); + this.comboRegions.Name = "comboRegions"; + this.comboRegions.Size = new System.Drawing.Size(173, 21); + this.comboRegions.TabIndex = 0; + this.comboRegions.SelectedIndexChanged += new System.EventHandler(this.RegionCombo_index_change); // - // RegionBox + // RegionPanel // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.groupBox1); - this.MinimumSize = new System.Drawing.Size(160, 180); - this.Name = "RegionBox"; - this.Size = new System.Drawing.Size(175, 237); + this.MinimumSize = new System.Drawing.Size(184, 189); + this.Name = "RegionPanel"; + this.Size = new System.Drawing.Size(184, 189); this.groupBox1.ResumeLayout(false); this.groupBox1.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.numH)).EndInit(); @@ -294,7 +297,7 @@ private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.Button buttonDelete; private System.Windows.Forms.Button buttonSave; - private VistaControls.ComboBox comboBox1; + private VistaControls.ComboBox comboRegions; private System.Windows.Forms.Button buttonDone; private System.Windows.Forms.Button buttonReset; private System.Windows.Forms.Label label6; @@ -305,7 +308,7 @@ private System.Windows.Forms.NumericUpDown numH; private System.Windows.Forms.NumericUpDown numW; private System.Windows.Forms.NumericUpDown numY; - private System.Windows.Forms.NumericUpDown numX; - private FocusedTextBox textRegionName; + private System.Windows.Forms.NumericUpDown numX; + private FocusedTextBox textRegionName; } } diff --git a/OnTopReplica/SidePanels/RegionPanel.cs b/OnTopReplica/SidePanels/RegionPanel.cs new file mode 100644 index 0000000..0d0f5f1 --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.cs @@ -0,0 +1,212 @@ +using System; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica.SidePanels { + partial class RegionPanel : SidePanel { + + public RegionPanel() { + InitializeComponent(); + + //Copy settings into combo box + if (Settings.Default.SavedRegions != null) { + foreach (object o in Settings.Default.SavedRegions) { + comboRegions.Items.Add(o); + } + } + } + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + //Init shown region if needed + if (form.SelectedThumbnailRegion.HasValue) + SetRegion(form.SelectedThumbnailRegion.Value); + + form.ThumbnailPanel.DrawMouseRegions = true; + form.ThumbnailPanel.RegionDrawn += new ThumbnailPanel.RegionDrawnHandler(ThumbnailPanel_RegionDrawn); + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + form.ThumbnailPanel.DrawMouseRegions = false; + } + + void ThumbnailPanel_RegionDrawn(object sender, Rectangle region) { + SetRegion(region); + } + + #region Interface + + /// + /// Sets the current selected region to a specific instance of a stored region. + /// + /// A stored region instance or null to reset. + public void SetRegion(StoredRegion region) { + if (region == null) { + Reset(); + return; + } + + SetRegion(region.Rect); + + //Select right combobox + if (comboRegions.Items.Contains(region)) { + comboRegions.SelectedItem = region; + } + } + + /// + /// Sets the current selected region to a specific region rectangle. + /// + /// The region boundaries. + public void SetRegion(Rectangle region) { + try { + _ignoreValueChanges = true; + + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = true; + + numX.Value = region.Left; + numY.Value = region.Top; + numW.Value = region.Width; + numH.Value = region.Height; + } + finally { + _ignoreValueChanges = false; + } + + OnRegionSet(region); + } + + /// + /// Resets the selected region and disables the num spinners. + /// + public void Reset() { + try { + _ignoreValueChanges = true; + + numX.Value = numY.Value = numW.Value = numH.Value = 0; + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = false; + + buttonSave.Enabled = false; + + comboRegions.SelectedIndex = -1; + } + finally { + _ignoreValueChanges = false; + } + } + + #endregion + + /// + /// Adds a new stored region. + /// + /// Region bounds. + /// Name of the region. + private void AddRegion(Rectangle rectangle, string regionName) { + var region = new StoredRegion(rectangle, regionName); + + int index = comboRegions.Items.Add(region); + comboRegions.SelectedIndex = index; + + if (Settings.Default.SavedRegions == null) + Settings.Default.SavedRegions = new StoredRegionArray(); + Settings.Default.SavedRegions.Add(region); + } + + /// + /// Internal event raised when a change occurs in the selected region. + /// + /// Region bounds. + protected virtual void OnRegionSet(Rectangle regionBounds) { + //Forward region to thumbnail + ParentForm.SelectedThumbnailRegion = regionBounds; + + buttonSave.Enabled = true; + } + + #region GUI event handlers + + private void Close_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + private void Reset_click(object sender, EventArgs e) { + Reset(); + ParentForm.SelectedThumbnailRegion = null; + } + + private void Delete_click(object sender, EventArgs e) { + if (comboRegions.SelectedIndex < 0) + return; + + var origIndex = comboRegions.SelectedIndex; + Settings.Default.SavedRegions.RemoveAt(origIndex); + comboRegions.Items.RemoveAt(origIndex); + + if (comboRegions.Items.Count > 0) + comboRegions.SelectedIndex = 0; + } + + private void Save_click(object sender, EventArgs e) { + //Display textbox instead of button + buttonSave.Enabled = buttonDelete.Enabled = false; + textRegionName.Visible = true; + textRegionName.Focus(); + } + + private void Save_confirm(object sender, EventArgs e) { + if (!string.IsNullOrEmpty(textRegionName.Text)) { + AddRegion( + new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value), + textRegionName.Text + ); + } + + //Hide textbox and show button again + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Enabled = buttonDelete.Enabled = true; + } + + private void Save_lost(object sender, EventArgs e) { + //Reset textbox + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Enabled = buttonDelete.Enabled = true; + buttonSave.Focus(); + } + + // Used to signal to the value change handler that all events should be temporarily ignored. + bool _ignoreValueChanges = false; + + private void RegionValueSpinner_value_change(object sender, EventArgs e) { + if (_ignoreValueChanges) + return; + + OnRegionSet(new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value)); + } + + private void RegionCombo_index_change(object sender, EventArgs e) { + buttonDelete.Enabled = (comboRegions.SelectedIndex >= 0); + + if (comboRegions.SelectedIndex >= 0) { + //Load region + var region = comboRegions.SelectedItem as StoredRegion; + + if (region == null) + return; + + SetRegion(region.Rect); + } + } + + #endregion + + } +} diff --git a/OnTopReplica/RegionBox.resx b/OnTopReplica/SidePanels/RegionPanel.resx similarity index 100% rename from OnTopReplica/RegionBox.resx rename to OnTopReplica/SidePanels/RegionPanel.resx diff --git a/OnTopReplica/StoredRegionArray.cs b/OnTopReplica/StoredRegionArray.cs index ee4a74e..1a948c6 100644 --- a/OnTopReplica/StoredRegionArray.cs +++ b/OnTopReplica/StoredRegionArray.cs @@ -7,7 +7,8 @@ using System.Xml.Serialization; namespace OnTopReplica { public class StoredRegionArray : ArrayList, IXmlSerializable { - #region IXmlSerializable Members + + #region IXmlSerializable Members public System.Xml.Schema.XmlSchema GetSchema() { return null; @@ -32,6 +33,7 @@ namespace OnTopReplica { } #endregion + } } diff --git a/OnTopReplica/StoredRegionComparer.cs b/OnTopReplica/StoredRegionComparer.cs new file mode 100644 index 0000000..cfc9438 --- /dev/null +++ b/OnTopReplica/StoredRegionComparer.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Collections; + +namespace OnTopReplica { + + /// + /// Compares two StoredRegions based on their name. + /// + class StoredRegionComparer : IComparer { + + #region IComparer Members + + public int Compare(object x, object y) { + StoredRegion a = x as StoredRegion; + StoredRegion b = y as StoredRegion; + + if (a == null || b == null) + return -1; //this is wrong, but anyway + + return a.Name.CompareTo(b.Name); + } + + #endregion + + } +} diff --git a/OnTopReplica/WindowListHelper.cs b/OnTopReplica/WindowListHelper.cs index bcd153b..e61c757 100644 --- a/OnTopReplica/WindowListHelper.cs +++ b/OnTopReplica/WindowListHelper.cs @@ -78,7 +78,6 @@ namespace OnTopReplica { }; nullRegionItem.Image = Resources.regions; nullRegionItem.Click += clickHandler; - tsi.DropDownItems.Add(nullRegionItem); foreach (StoredRegion region in regions) { From bf91b420ab4777f38372c955b5dd2a75ad7ebf96 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 1 Jul 2010 01:19:31 +0200 Subject: [PATCH 038/164] Native code refactoring. Group switching completed and working. Fixed side panel opening. --- OnTopReplica/AspectRatioForm.cs | 17 +- OnTopReplica/MainForm.Designer.cs | 2 +- OnTopReplica/MainForm.cs | 376 ++++++++++-------- .../MessagePumpProcessors/DualModeManager.cs | 58 --- .../GroupSwitchManager.cs | 98 +++++ OnTopReplica/Native/ErrorMethods.cs | 37 ++ OnTopReplica/Native/MessagingMethods.cs | 62 +++ OnTopReplica/Native/Point.cs | 36 ++ OnTopReplica/Native/Rectangle.cs | 44 ++ OnTopReplica/Native/WindowManagerMethods.cs | 85 ++++ OnTopReplica/Native/WindowMethods.cs | 87 ++++ OnTopReplica/NativeMethods.cs | 312 --------------- OnTopReplica/OnTopReplica.csproj | 20 +- .../SidePanels/GroupSwitchPanel.Designer.cs | 129 ++++++ OnTopReplica/SidePanels/GroupSwitchPanel.cs | 72 ++++ OnTopReplica/SidePanels/GroupSwitchPanel.resx | 120 ++++++ OnTopReplica/ThumbnailPanel.cs | 6 +- OnTopReplica/VirtualKeyState.cs | 195 --------- OnTopReplica/Win32Helper.cs | 39 +- OnTopReplica/WindowHandle.cs | 6 +- OnTopReplica/WindowManager.cs | 33 +- 21 files changed, 1045 insertions(+), 789 deletions(-) delete mode 100644 OnTopReplica/MessagePumpProcessors/DualModeManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs create mode 100644 OnTopReplica/Native/ErrorMethods.cs create mode 100644 OnTopReplica/Native/MessagingMethods.cs create mode 100644 OnTopReplica/Native/Point.cs create mode 100644 OnTopReplica/Native/Rectangle.cs create mode 100644 OnTopReplica/Native/WindowManagerMethods.cs create mode 100644 OnTopReplica/Native/WindowMethods.cs delete mode 100644 OnTopReplica/NativeMethods.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.resx delete mode 100644 OnTopReplica/VirtualKeyState.cs diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs index 9e9cb02..7bffe8e 100644 --- a/OnTopReplica/AspectRatioForm.cs +++ b/OnTopReplica/AspectRatioForm.cs @@ -4,8 +4,9 @@ using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; using VistaControls.Dwm.Helpers; -using System.Drawing; using System.ComponentModel; +using OnTopReplica.Native; +using System.Drawing; namespace OnTopReplica { @@ -102,7 +103,7 @@ namespace OnTopReplica { Size = new Size(newWidth, newHeight); int deltaX = Size.Width - origSize.Width; int deltaY = Size.Height - origSize.Height; - Location = new Point(Location.X - (deltaX / 2), Location.Y - (deltaY / 2)); + Location = new System.Drawing.Point(Location.X - (deltaX / 2), Location.Y - (deltaY / 2)); } /// @@ -133,14 +134,14 @@ namespace OnTopReplica { /// Improved with code from: http://stoyanoff.info/blog/2010/06/27/resizing-forms-while-keeping-aspect-ratio/ /// protected override void WndProc(ref Message m) { - if (KeepAspectRatio && m.Msg == NativeMethods.WM_SIZING) { - var rc = (NativeMethods.Rectangle)Marshal.PtrToStructure(m.LParam, typeof(NativeMethods.Rectangle)); + if (KeepAspectRatio && m.Msg == MessagingMethods.WM_SIZING) { + var rc = (Native.NRectangle)Marshal.PtrToStructure(m.LParam, typeof(Native.NRectangle)); int res = m.WParam.ToInt32(); int width = (rc.Right - rc.Left) - clientSizeConversionWidth - ExtraPadding.Horizontal; int height = (rc.Bottom - rc.Top) - clientSizeConversionHeight - ExtraPadding.Vertical; - if (res == NativeMethods.WMSZ_LEFT || res == NativeMethods.WMSZ_RIGHT) { + if (res == MessagingMethods.WMSZ_LEFT || res == MessagingMethods.WMSZ_RIGHT) { //Left or right resize, adjust top and bottom int targetHeight = (int)(width / AspectRatio); int diffHeight = height - targetHeight; @@ -148,7 +149,7 @@ namespace OnTopReplica { rc.Top += (int)(diffHeight / 2.0); rc.Bottom = rc.Top + targetHeight + ExtraPadding.Vertical + clientSizeConversionHeight; } - else if (res == NativeMethods.WMSZ_TOP || res == NativeMethods.WMSZ_BOTTOM) { + else if (res == MessagingMethods.WMSZ_TOP || res == MessagingMethods.WMSZ_BOTTOM) { //Up or down resize, adjust left and right int targetWidth = (int)(height * AspectRatio); int diffWidth = width - targetWidth; @@ -156,11 +157,11 @@ namespace OnTopReplica { rc.Left += (int)(diffWidth / 2.0); rc.Right = rc.Left + targetWidth + ExtraPadding.Horizontal + clientSizeConversionWidth; } - else if (res == NativeMethods.WMSZ_RIGHT + NativeMethods.WMSZ_BOTTOM || res == NativeMethods.WMSZ_LEFT + NativeMethods.WMSZ_BOTTOM) { + else if (res == MessagingMethods.WMSZ_RIGHT + MessagingMethods.WMSZ_BOTTOM || res == MessagingMethods.WMSZ_LEFT + MessagingMethods.WMSZ_BOTTOM) { //Lower corner resize, adjust bottom rc.Bottom = rc.Top + (int)(width / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; } - else if (res == NativeMethods.WMSZ_LEFT + NativeMethods.WMSZ_TOP || res == NativeMethods.WMSZ_RIGHT + NativeMethods.WMSZ_TOP) { + else if (res == MessagingMethods.WMSZ_LEFT + MessagingMethods.WMSZ_TOP || res == MessagingMethods.WMSZ_RIGHT + MessagingMethods.WMSZ_TOP) { //Upper corner resize, adjust top rc.Top = rc.Bottom - (int)(width / AspectRatio) - ExtraPadding.Vertical - clientSizeConversionHeight; } diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index e62c904..759010c 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -151,7 +151,7 @@ this.dualWindowModeToolStripMenuItem.Name = "dualWindowModeToolStripMenuItem"; this.dualWindowModeToolStripMenuItem.Size = new System.Drawing.Size(177, 22); this.dualWindowModeToolStripMenuItem.Text = "Dual window mode"; - this.dualWindowModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Dual_click); + this.dualWindowModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Group_click); // // menuContextOpacity // diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 1d5d9f7..19c59dd 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -5,19 +5,21 @@ using System.Windows.Forms; using OnTopReplica.Properties; using VistaControls.Dwm; using VistaControls.TaskDialog; +using System.Collections.Generic; +using OnTopReplica.Native; namespace OnTopReplica { - + partial class MainForm : AspectRatioForm { - //GUI elements - ThumbnailPanel _thumbnailPanel; + //GUI elements + ThumbnailPanel _thumbnailPanel; SidePanel _currentSidePanel = null; Panel _sidePanelContainer; //Window manager WindowManager _windowManager = new WindowManager(); - WindowHandle _lastWindowHandle = null; + WindowHandle _lastWindowHandle = null; //Message pump extension MessagePumpManager _msgPumpManager = new MessagePumpManager(); @@ -26,16 +28,16 @@ namespace OnTopReplica { InitializeComponent(); KeepAspectRatio = false; - //Thumbnail panel - _thumbnailPanel = new ThumbnailPanel { - Location = Point.Empty, - Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right, - Size = ClientSize + //Thumbnail panel + _thumbnailPanel = new ThumbnailPanel { + Location = Point.Empty, + Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right, + Size = ClientSize }; _thumbnailPanel.CloneClick += new EventHandler(Thumbnail_CloneClick); - Controls.Add(_thumbnailPanel); + Controls.Add(_thumbnailPanel); - //Side panel + //Side panel _sidePanelContainer = new Panel { Location = new Point(ClientSize.Width, 0), Anchor = AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom, @@ -44,12 +46,12 @@ namespace OnTopReplica { Size = new Size(100, ClientSize.Height), Padding = new Padding(4) }; - Controls.Add(_sidePanelContainer); + Controls.Add(_sidePanelContainer); - //Set native renderer on context menus - Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer( - menuContext, menuWindows, menuOpacity, menuResize, menuLanguages - ); + //Set native renderer on context menus + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer( + menuContext, menuWindows, menuOpacity, menuResize, menuLanguages + ); //Hook keyboard handler this.KeyUp += new KeyEventHandler(Form_KeyUp); @@ -68,19 +70,20 @@ namespace OnTopReplica { EventHandler RequestClosingHandler; - const int SidePanelMargin = 2; + const int SidePanelMargin = 1; const int ScreenBorderMargin = 10; - bool _sidePanelDidMoveForm = false; - Point _sidePanelPreviousFormLocation; + bool _sidePanelDidMoveForm = false; + Point _sidePanelPreviousFormLocation; /// /// Opens a new side panel. /// /// The side panel to embed. public void SetSidePanel(SidePanel panel) { - if (_currentSidePanel != null) + if (_currentSidePanel != null) { CloseSidePanel(); + } _currentSidePanel = panel; _currentSidePanel.OnFirstShown(this); @@ -95,13 +98,17 @@ namespace OnTopReplica { //Resize container _sidePanelContainer.ClientSize = new Size( - panel.Width + intHorzMargin, + panel.MinimumSize.Width + intHorzMargin, ClientSize.Height ); int rightHorzMargin = _sidePanelContainer.Width + SidePanelMargin; //horz margin between the two controls //Resize rest + MinimumSize = new Size( + 20 + panel.MinimumSize.Width + SidePanelMargin + intHorzMargin, + panel.MinimumSize.Height + intVertMargin + ); ClientSize = new Size( ClientSize.Width + rightHorzMargin, ClientSize.Height @@ -115,10 +122,6 @@ namespace OnTopReplica { ClientSize.Width - rightHorzMargin, 0 ); - MinimumSize = new Size( - 20 + panel.MinimumSize.Width + SidePanelMargin + intHorzMargin, - panel.MinimumSize.Height + intVertMargin - ); //Move window if needed var screenCurr = Screen.FromControl(this); @@ -175,14 +178,14 @@ namespace OnTopReplica { CloseSidePanel(); } - void Thumbnail_CloneClick(object sender, CloneClickEventArgs e) { + void Thumbnail_CloneClick(object sender, CloneClickEventArgs e) { //TODO: handle other mouse buttons - Win32Helper.InjectFakeMouseClick(_lastWindowHandle.Handle, e.ClientClickLocation, e.IsDoubleClick); - } + Win32Helper.InjectFakeMouseClick(_lastWindowHandle.Handle, e.ClientClickLocation, e.IsDoubleClick); + } #endregion - #region Event override + #region Event override protected override void OnShown(EventArgs e) { base.OnShown(e); @@ -202,7 +205,7 @@ namespace OnTopReplica { protected override void OnResize(EventArgs e) { base.OnResize(e); - + this.GlassMargins = (_currentSidePanel != null) ? new Margins(ClientSize.Width - _sidePanelContainer.Width, 0, 0, 0) : new Margins(-1); @@ -228,22 +231,22 @@ namespace OnTopReplica { protected override void WndProc(ref Message m) { _msgPumpManager.PumpMessage(m); - switch(m.Msg){ - case NativeMethods.WM_NCRBUTTONUP: + switch (m.Msg) { + case MessagingMethods.WM_NCRBUTTONUP: //Open context menu if right button clicked on caption (i.e. all of the window area because of glass) - if (m.WParam.ToInt32() == NativeMethods.HTCAPTION) { + if (m.WParam.ToInt32() == MessagingMethods.HTCAPTION) { menuContext.Show(MousePosition); - + m.Result = IntPtr.Zero; return; } break; - case NativeMethods.WM_NCLBUTTONDBLCLK: + case MessagingMethods.WM_NCLBUTTONDBLCLK: //Toggle fullscreen mode if double click on caption (whole glass area) - if (m.WParam.ToInt32() == NativeMethods.HTCAPTION) { + if (m.WParam.ToInt32() == MessagingMethods.HTCAPTION) { IsFullscreen = !IsFullscreen; - + m.Result = IntPtr.Zero; return; } @@ -253,7 +256,7 @@ namespace OnTopReplica { base.WndProc(ref m); } - #endregion + #endregion #region Menu Event Handling @@ -261,46 +264,46 @@ namespace OnTopReplica { this.Close(); } - private void Menu_opening(object sender, CancelEventArgs e) { - //Cancel if currently in "fullscreen" mode or a side panel is open - if (IsFullscreen || _currentSidePanel != null) { - e.Cancel = true; - return; - } + private void Menu_opening(object sender, CancelEventArgs e) { + //Cancel if currently in "fullscreen" mode or a side panel is open + if (IsFullscreen || _currentSidePanel != null) { + e.Cancel = true; + return; + } - selectRegionToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; - switchToWindowToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; - resizeToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; - chromeToolStripMenuItem.Checked = (FormBorderStyle == FormBorderStyle.Sizable); - forwardClicksToolStripMenuItem.Checked = _thumbnailPanel.ReportThumbnailClicks; - } + selectRegionToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; + switchToWindowToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; + resizeToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; + chromeToolStripMenuItem.Checked = (FormBorderStyle == FormBorderStyle.Sizable); + forwardClicksToolStripMenuItem.Checked = _thumbnailPanel.ReportThumbnailClicks; + } private void Menu_Close_click(object sender, EventArgs e) { this.Close(); } private void Menu_About_click(object sender, EventArgs e) { - this.Hide(); + this.Hide(); using (var box = new AboutForm()) { box.Location = RecenterLocation(this, box); box.ShowDialog(); Location = RecenterLocation(box, this); } - - this.Show(); + + this.Show(); } - private void Menu_Language_click(object sender, EventArgs e) { - ToolStripItem tsi = (ToolStripItem)sender; + private void Menu_Language_click(object sender, EventArgs e) { + ToolStripItem tsi = (ToolStripItem)sender; - string langCode = tsi.Tag as string; + string langCode = tsi.Tag as string; - if (Program.ForceGlobalLanguageChange(langCode)) - this.Close(); - else - MessageBox.Show("Error"); - } + if (Program.ForceGlobalLanguageChange(langCode)) + this.Close(); + else + MessageBox.Show("Error"); + } void Menu_Windows_itemclick(object sender, EventArgs e) { //Ensure the menu is closed @@ -309,41 +312,41 @@ namespace OnTopReplica { //Get clicked item and window index from tag ToolStripItem tsi = (ToolStripItem)sender; - //Handle special "none" window - if (tsi.Tag == null) { - UnsetThumbnail(); - return; - } + //Handle special "none" window + if (tsi.Tag == null) { + UnsetThumbnail(); + return; + } var selectionData = (WindowListHelper.WindowSelectionData)tsi.Tag; SetThumbnail(selectionData.Handle, selectionData.Region); } - private void Menu_Switch_click(object sender, EventArgs e) { - if (_lastWindowHandle == null) - return; + private void Menu_Switch_click(object sender, EventArgs e) { + if (_lastWindowHandle == null) + return; Program.Platform.HideForm(this); - NativeMethods.SetForegroundWindow(_lastWindowHandle.Handle); - } - - private void Menu_Dual_click(object sender, EventArgs e) { - + Native.WindowManagerMethods.SetForegroundWindow(_lastWindowHandle.Handle); } - private void Menu_Forward_click(object sender, EventArgs e) { - if (Settings.Default.FirstTimeClickForwarding && !_thumbnailPanel.ReportThumbnailClicks) { + private void Menu_Group_click(object sender, EventArgs e) { + SetSidePanel(new SidePanels.GroupSwitchPanel()); + } + + private void Menu_Forward_click(object sender, EventArgs e) { + if (Settings.Default.FirstTimeClickForwarding && !_thumbnailPanel.ReportThumbnailClicks) { TaskDialog dlg = new TaskDialog(Strings.InfoClickForwarding, Strings.InfoClickForwardingTitle, Strings.InfoClickForwardingContent) { CommonButtons = TaskDialogButton.Yes | TaskDialogButton.No }; - if (dlg.Show(this).CommonButton == Result.No) - return; + if (dlg.Show(this).CommonButton == Result.No) + return; - Settings.Default.FirstTimeClickForwarding = false; - } + Settings.Default.FirstTimeClickForwarding = false; + } - _thumbnailPanel.ReportThumbnailClicks = !_thumbnailPanel.ReportThumbnailClicks; - } + _thumbnailPanel.ReportThumbnailClicks = !_thumbnailPanel.ReportThumbnailClicks; + } private void Menu_Opacity_opening(object sender, CancelEventArgs e) { ToolStripMenuItem[] items = { @@ -353,12 +356,12 @@ namespace OnTopReplica { toolStripMenuItem4 }; - foreach (ToolStripMenuItem i in items) { - if ((double)i.Tag == this.Opacity) - i.Checked = true; - else - i.Checked = false; - } + foreach (ToolStripMenuItem i in items) { + if ((double)i.Tag == this.Opacity) + i.Checked = true; + else + i.Checked = false; + } } private void Menu_Opacity_click(object sender, EventArgs e) { @@ -371,84 +374,84 @@ namespace OnTopReplica { } } - private void Menu_Region_click(object sender, EventArgs e) { + private void Menu_Region_click(object sender, EventArgs e) { SetSidePanel(new OnTopReplica.SidePanels.RegionPanel()); - } - - private void Menu_Resize_opening(object sender, CancelEventArgs e) { - if (!_thumbnailPanel.IsShowingThumbnail) - e.Cancel = true; - } + } - private void Menu_Resize_Double(object sender, EventArgs e) { - FitToThumbnail(2.0); - } + private void Menu_Resize_opening(object sender, CancelEventArgs e) { + if (!_thumbnailPanel.IsShowingThumbnail) + e.Cancel = true; + } - private void Menu_Resize_FitToWindow(object sender, EventArgs e) { - FitToThumbnail(1.0); - } + private void Menu_Resize_Double(object sender, EventArgs e) { + FitToThumbnail(2.0); + } - private void Menu_Resize_Half(object sender, EventArgs e) { - FitToThumbnail(0.5); - } + private void Menu_Resize_FitToWindow(object sender, EventArgs e) { + FitToThumbnail(1.0); + } - private void Menu_Resize_Quarter(object sender, EventArgs e) { - FitToThumbnail(0.25); - } + private void Menu_Resize_Half(object sender, EventArgs e) { + FitToThumbnail(0.5); + } - private void Menu_Resize_Fullscreen(object sender, EventArgs e) { + private void Menu_Resize_Quarter(object sender, EventArgs e) { + FitToThumbnail(0.25); + } + + private void Menu_Resize_Fullscreen(object sender, EventArgs e) { IsFullscreen = true; - } + } - private void Menu_Position_TopLeft(object sender, EventArgs e) { - var screen = Screen.FromControl(this); + private void Menu_Position_TopLeft(object sender, EventArgs e) { + var screen = Screen.FromControl(this); - Location = new Point( + Location = new Point( screen.WorkingArea.Left - ChromeBorderHorizontal, screen.WorkingArea.Top - ChromeBorderVertical - ); - } + ); + } - private void Menu_Position_TopRight(object sender, EventArgs e) { - var screen = Screen.FromControl(this); + private void Menu_Position_TopRight(object sender, EventArgs e) { + var screen = Screen.FromControl(this); - Location = new Point( + Location = new Point( screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, screen.WorkingArea.Top - ChromeBorderVertical - ); - } + ); + } - private void Menu_Position_BottomLeft(object sender, EventArgs e) { - var screen = Screen.FromControl(this); + private void Menu_Position_BottomLeft(object sender, EventArgs e) { + var screen = Screen.FromControl(this); - Location = new Point( + Location = new Point( screen.WorkingArea.Left - ChromeBorderHorizontal, screen.WorkingArea.Height - Size.Height + ChromeBorderVertical - ); - } + ); + } - private void Menu_Position_BottomRight(object sender, EventArgs e) { - var screen = Screen.FromControl(this); + private void Menu_Position_BottomRight(object sender, EventArgs e) { + var screen = Screen.FromControl(this); - Location = new Point( - screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, + Location = new Point( + screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, screen.WorkingArea.Height - Size.Height + ChromeBorderVertical - ); - } + ); + } private void Menu_Reduce_click(object sender, EventArgs e) { //Hide form in a platform specific way Program.Platform.HideForm(this); } - private void Menu_Windows_opening(object sender, EventArgs e) { - //Refresh window list - _windowManager.Refresh(WindowManager.EnumerationMode.TaskWindows); + private void Menu_Windows_opening(object sender, EventArgs e) { + //Refresh window list + _windowManager.Refresh(WindowManager.EnumerationMode.TaskWindows); - WindowListHelper.PopulateMenu(this, _windowManager, menuWindows, _lastWindowHandle, new EventHandler(Menu_Windows_itemclick)); - } + WindowListHelper.PopulateMenu(this, _windowManager, menuWindows, _lastWindowHandle, new EventHandler(Menu_Windows_itemclick)); + } - private void Menu_Chrome_click(object sender, EventArgs e) { + private void Menu_Chrome_click(object sender, EventArgs e) { if (FormBorderStyle == FormBorderStyle.Sizable) { FormBorderStyle = FormBorderStyle.None; Location = new Point { @@ -464,12 +467,12 @@ namespace OnTopReplica { }; } - Invalidate(); - } + Invalidate(); + } #endregion - #region Event handling + #region Event handling void Form_KeyUp(object sender, KeyEventArgs e) { //ALT @@ -521,9 +524,9 @@ namespace OnTopReplica { } } - #endregion + #endregion - #region Fullscreen + #region Fullscreen bool _isFullscreen = false; Point _preFullscreenLocation; @@ -560,9 +563,9 @@ namespace OnTopReplica { } } - #endregion + #endregion - #region Thumbnail operation + #region Thumbnail operation /// /// Sets a new thumbnail. @@ -571,8 +574,9 @@ namespace OnTopReplica { /// Region of the window to clone. public void SetThumbnail(WindowHandle handle, StoredRegion region) { try { - _lastWindowHandle = handle; - _thumbnailPanel.SetThumbnailHandle(handle); + _lastWindowHandle = handle; + _thumbnailPanel.SetThumbnailHandle(handle); + if (region != null) _thumbnailPanel.SelectedRegion = region.Rect; else @@ -586,13 +590,32 @@ namespace OnTopReplica { SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize); } + /// + /// Enables group mode on a list of window handles. + /// + /// List of window handles. + public void SetThumbnailGroup(IList handles) { + if (handles.Count == 0) + return; + + //At last one thumbnail + SetThumbnail(handles[0], null); + + //Handle if no real group + if (handles.Count == 1) + return; + + _lastWindowHandle = null; + _msgPumpManager.Get().EnableGroupMode(handles); + } + /// /// Disables the cloned thumbnail. /// - public void UnsetThumbnail(){ + public void UnsetThumbnail() { //Unset handle - _lastWindowHandle = null; - _thumbnailPanel.UnsetThumbnail(); + _lastWindowHandle = null; + _thumbnailPanel.UnsetThumbnail(); //Disable aspect ratio KeepAspectRatio = false; @@ -632,30 +655,39 @@ namespace OnTopReplica { } } - private void ThumbnailError(Exception ex, bool suppress, string title){ + /// + /// Gets the form's message pump manager. + /// + public MessagePumpManager MessagePumpManager { + get { + return _msgPumpManager; + } + } + + private void ThumbnailError(Exception ex, bool suppress, string title) { if (!suppress) { ShowErrorDialog(title, Strings.ErrorGenericThumbnailHandleError, ex.Message); } UnsetThumbnail(); } - - /// Automatically sizes the window in order to accomodate the thumbnail p times. - /// Scale of the thumbnail to consider. - private void FitToThumbnail(double p) { - try { - Size originalSize = _thumbnailPanel.ThumbnailOriginalSize; - Size fittedSize = new Size((int)(originalSize.Width * p), (int)(originalSize.Height * p)); - ClientSize = fittedSize; - } - catch (Exception ex) { - ThumbnailError(ex, false, Strings.ErrorUnableToFit); - } - } + + /// Automatically sizes the window in order to accomodate the thumbnail p times. + /// Scale of the thumbnail to consider. + private void FitToThumbnail(double p) { + try { + Size originalSize = _thumbnailPanel.ThumbnailOriginalSize; + Size fittedSize = new Size((int)(originalSize.Width * p), (int)(originalSize.Height * p)); + ClientSize = fittedSize; + } + catch (Exception ex) { + ThumbnailError(ex, false, Strings.ErrorUnableToFit); + } + } #endregion - #region GUI stuff + #region GUI stuff private Point RecenterLocation(Control original, Control final) { int origX = original.Location.X + original.Size.Width / 2; @@ -702,19 +734,19 @@ namespace OnTopReplica { /// Main instruction of the error dialog. /// Detailed informations about the error. /// Expanded error codes/messages. - private void ShowErrorDialog(string mainInstruction, string explanation, string errorMessage) { + private void ShowErrorDialog(string mainInstruction, string explanation, string errorMessage) { TaskDialog dlg = new TaskDialog(mainInstruction, Strings.ErrorGenericTitle, explanation) { CommonIcon = TaskDialogIcon.Stop, IsExpanded = false }; - if (!string.IsNullOrEmpty(errorMessage)) { - dlg.ExpandedInformation = Strings.ErrorGenericInfoText + errorMessage; - dlg.ExpandedControlText = Strings.ErrorGenericInfoButton; - } + if (!string.IsNullOrEmpty(errorMessage)) { + dlg.ExpandedInformation = Strings.ErrorGenericInfoText + errorMessage; + dlg.ExpandedControlText = Strings.ErrorGenericInfoButton; + } - dlg.Show(this); - } + dlg.Show(this); + } /// /// Ensures that the main form is visible (either closing the fullscreen mode or reactivating from task icon). @@ -765,7 +797,7 @@ namespace OnTopReplica { this.Activate(); } - #endregion + #endregion - } + } } diff --git a/OnTopReplica/MessagePumpProcessors/DualModeManager.cs b/OnTopReplica/MessagePumpProcessors/DualModeManager.cs deleted file mode 100644 index e33aa33..0000000 --- a/OnTopReplica/MessagePumpProcessors/DualModeManager.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Runtime.InteropServices; -using System.Diagnostics; -using System.Reflection; -using System.IO; -using System.Windows.Forms; -using OnTopReplica.Native; - -namespace OnTopReplica.MessagePumpProcessors { - - class DualModeManager : BaseMessagePumpProcessor { - - public DualModeManager() { - _hookMsgId = HookMethods.RegisterWindowMessage("SHELLHOOK"); - if (_hookMsgId == 0) - Console.Error.WriteLine("Failed to register SHELLHOOK Windows message."); - } - - uint _hookMsgId; - bool _active = false; - - public void EnableDualMode(IEnumerable handles) { - if (!HookMethods.RegisterShellHookWindow(Form.Handle)) { - Console.WriteLine("Failed to register shell hook window."); - return; - } - - _active = true; - } - - public void Disable() { - if (!_active) - return; - - if (!HookMethods.DeregisterShellHookWindow(Form.Handle)) - Console.WriteLine("Failed to deregister shell hook window."); - - _active = false; - } - - public override void Process(Message msg) { - if (msg.Msg == _hookMsgId) { - int hookCode = msg.WParam.ToInt32(); - if (hookCode == HookMethods.HSHELL_WINDOWACTIVATED || - hookCode == HookMethods.HSHELL_RUDEAPPACTIVATED) { - IntPtr activeHandle = msg.LParam; - } - } - } - - protected override void Shutdown() { - Disable(); - } - } - -} diff --git a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs new file mode 100644 index 0000000..d371f85 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs @@ -0,0 +1,98 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Diagnostics; +using System.Reflection; +using System.IO; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + class GroupSwitchManager : BaseMessagePumpProcessor { + + public GroupSwitchManager() { + _hookMsgId = HookMethods.RegisterWindowMessage("SHELLHOOK"); + if (_hookMsgId == 0) + Console.Error.WriteLine("Failed to register SHELLHOOK Windows message."); + } + + uint _hookMsgId; + bool _active = false; + IList _handles; + + public void EnableGroupMode(IList handles) { + //Enable new hook + if (!_active) { + if (!HookMethods.RegisterShellHookWindow(Form.Handle)) { + Console.WriteLine("Failed to register shell hook window."); + return; + } + } + + //Okey dokey, will now track handles + _handles = handles; + _active = true; + } + + public void Disable() { + if (!_active) + return; + + if (!HookMethods.DeregisterShellHookWindow(Form.Handle)) + Console.WriteLine("Failed to deregister shell hook window."); + + _active = false; + } + + public override void Process(Message msg) { + if (_active && msg.Msg == _hookMsgId) { + int hookCode = msg.WParam.ToInt32(); + if (hookCode == HookMethods.HSHELL_WINDOWACTIVATED || + hookCode == HookMethods.HSHELL_RUDEAPPACTIVATED) { + + IntPtr activeHandle = msg.LParam; + Console.WriteLine("New foreground: {0}", activeHandle); + HandleForegroundWindowChange(activeHandle); + } + } + } + + private void HandleForegroundWindowChange(IntPtr activeWindow) { + int iActive = -1; + for (int i = 0; i < _handles.Count; ++i) { + if (_handles[i].Handle == activeWindow) + iActive = i; + } + + if (iActive < 0) { + //new foreground window is not tracked + Console.WriteLine("Active window is not tracked."); + return; + } + + //Get new handle to clone + int iNewToClone = (iActive + 1) % _handles.Count; + + Console.WriteLine("Tracked as {0}. Switching to {1}.", iActive, iNewToClone); + + Form.SetThumbnail(_handles[iNewToClone], null); + } + + protected override void Shutdown() { + Disable(); + } + + /// + /// Gets whether the group switch manager ia active. + /// + public bool IsActive { + get { + return _active; + } + } + + } + +} diff --git a/OnTopReplica/Native/ErrorMethods.cs b/OnTopReplica/Native/ErrorMethods.cs new file mode 100644 index 0000000..f1863eb --- /dev/null +++ b/OnTopReplica/Native/ErrorMethods.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 error handling methods. + /// + static class ErrorMethods { + + [DllImport("kernel32.dll")] + static extern uint FormatMessage(uint dwFlags, IntPtr lpSource, + int dwMessageId, uint dwLanguageId, [Out] StringBuilder lpBuffer, + uint nSize, IntPtr Arguments); + + /// + /// Gets a string representation of a Win32 error code. + /// + /// ID of the Win32 error code. + /// String representation of the error. + public static string GetErrorMessage(int msgCode) { + var sb = new StringBuilder(300); + FormatMessage((uint)(0x00001000), IntPtr.Zero, msgCode, 0, sb, 299, IntPtr.Zero); + return sb.ToString(); + } + + /// + /// Gets a string representation of the last Win32 error on this thread. + /// + public static string GetLastErrorMessage() { + int errorCode = Marshal.GetLastWin32Error(); + return GetErrorMessage(errorCode); + } + + } +} diff --git a/OnTopReplica/Native/MessagingMethods.cs b/OnTopReplica/Native/MessagingMethods.cs new file mode 100644 index 0000000..ebce1d5 --- /dev/null +++ b/OnTopReplica/Native/MessagingMethods.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common methods for Win32 messaging. + /// + static class MessagingMethods { + + public const int WM_GETICON = 0x7f; + public const int WM_SIZING = 0x214; + + public const int WMSZ_LEFT = 1; + public const int WMSZ_RIGHT = 2; + public const int WMSZ_TOP = 3; + public const int WMSZ_BOTTOM = 6; + + [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)] + public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + [Flags] + public enum SendMessageTimeoutFlags : uint { + AbortIfHung = 2, + Block = 1, + Normal = 0 + } + + [DllImport("user32.dll")] + public static extern IntPtr SendMessageTimeout(IntPtr hwnd, uint message, IntPtr wparam, IntPtr lparam, SendMessageTimeoutFlags flags, uint timeout, out IntPtr result); + + [return: MarshalAs(UnmanagedType.Bool)] + [DllImport("user32.dll", SetLastError = false)] + public static extern bool PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + public const int HTTRANSPARENT = -1; + public const int HTCLIENT = 1; + public const int HTCAPTION = 2; + + public const int WM_NCHITTEST = 0x84; + public const int WM_NCPAINT = 0x0085; + public const int WM_LBUTTONDOWN = 0x0201; + public const int WM_LBUTTONUP = 0x0202; + public const int WM_LBUTTONDBLCLK = 0x0203; + public const int WM_NCLBUTTONUP = 0x00A2; + public const int WM_NCLBUTTONDOWN = 0x00A1; + public const int WM_NCLBUTTONDBLCLK = 0x00A3; + public const int WM_NCRBUTTONUP = 0x00A5; + + public const int MK_LBUTTON = 0x0001; + + public const int WM_SYSCOMMAND = 0x0112; + public const int SC_MAXIMIZE = 61458; + public const int SC_RESTORE = 61490; + + public static IntPtr MakeLParam(int LoWord, int HiWord) { + return new IntPtr((HiWord << 16) | (LoWord & 0xffff)); + } + + } +} diff --git a/OnTopReplica/Native/Point.cs b/OnTopReplica/Native/Point.cs new file mode 100644 index 0000000..c34db85 --- /dev/null +++ b/OnTopReplica/Native/Point.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Native Point structure. + /// + [StructLayout(LayoutKind.Sequential)] + public struct NPoint { + public int X, Y; + + public NPoint(int x, int y) { + X = x; + Y = y; + } + + public NPoint(NPoint copy) { + X = copy.X; + Y = copy.Y; + } + + public static NPoint FromPoint(System.Drawing.Point point) { + return new NPoint(point.X, point.Y); + } + + public System.Drawing.Point ToPoint() { + return new System.Drawing.Point(X, Y); + } + + public override string ToString() { + return "{" + X + "," + Y + "}"; + } + } +} diff --git a/OnTopReplica/Native/Rectangle.cs b/OnTopReplica/Native/Rectangle.cs new file mode 100644 index 0000000..c340e55 --- /dev/null +++ b/OnTopReplica/Native/Rectangle.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// A native Rectangle Structure. + [StructLayout(LayoutKind.Sequential)] + struct NRectangle { + public NRectangle(int left, int top, int right, int bottom) { + Left = left; + Top = top; + Right = right; + Bottom = bottom; + } + + public NRectangle(System.Drawing.Rectangle rect) { + Left = rect.X; + Top = rect.Y; + Right = rect.Right; + Bottom = rect.Bottom; + } + + public int Left; + public int Top; + public int Right; + public int Bottom; + + public int Width { + get { + return Right - Left; + } + } + public int Height { + get { + return Bottom - Top; + } + } + + public System.Drawing.Rectangle ToRectangle() { + return new System.Drawing.Rectangle(Left, Top, Right - Left, Bottom - Top); + } + } +} diff --git a/OnTopReplica/Native/WindowManagerMethods.cs b/OnTopReplica/Native/WindowManagerMethods.cs new file mode 100644 index 0000000..8978c6a --- /dev/null +++ b/OnTopReplica/Native/WindowManagerMethods.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 Window Manager native methods. + /// + static class WindowManagerMethods { + + [DllImport("user32.dll")] + public static extern IntPtr RealChildWindowFromPoint(IntPtr parent, NPoint point); + + [return: MarshalAs(UnmanagedType.Bool)] + public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool IsWindowVisible(IntPtr hWnd); + + [DllImport("user32.dll")] + public static extern IntPtr GetDesktopWindow(); + + [DllImport("user32.dll")] + static extern bool ClientToScreen(IntPtr hwnd, ref NPoint point); + + /// + /// Converts a point in client coordinates of a window to screen coordinates. + /// + /// Handle to the window of the original point. + /// Point expressed in client coordinates. + /// Point expressed in screen coordinates. + public static NPoint ClientToScreen(IntPtr hwnd, NPoint clientPoint) { + NPoint localCopy = new NPoint(clientPoint); + + if (ClientToScreen(hwnd, ref localCopy)) + return localCopy; + else + return new NPoint(); + } + + [DllImport("user32.dll")] + static extern bool ScreenToClient(IntPtr hwnd, ref NPoint point); + + /// + /// Converts a point in screen coordinates in client coordinates relative to a window. + /// + /// Handle of the window whose client coordinate system should be used. + /// Point expressed in screen coordinates. + /// Point expressed in client coordinates. + public static NPoint ScreenToClient(IntPtr hwnd, NPoint screenPoint) { + NPoint localCopy = new NPoint(screenPoint); + + if (ScreenToClient(hwnd, ref localCopy)) + return localCopy; + else + return new NPoint(); + } + + [DllImport("user32.dll", CharSet = CharSet.Auto)] + public static extern IntPtr GetParent(IntPtr hWnd); + + [DllImport("user32.dll", SetLastError = false)] + public static extern bool SetForegroundWindow(IntPtr hwnd); + + public enum GetWindowMode : uint { + GW_HWNDFIRST = 0, + GW_HWNDLAST = 1, + GW_HWNDNEXT = 2, + GW_HWNDPREV = 3, + GW_OWNER = 4, + GW_CHILD = 5, + GW_ENABLEDPOPUP = 6 + } + + [DllImport("user32.dll")] + public static extern IntPtr GetWindow(IntPtr hwnd, GetWindowMode mode); + + } +} diff --git a/OnTopReplica/Native/WindowMethods.cs b/OnTopReplica/Native/WindowMethods.cs new file mode 100644 index 0000000..7f65543 --- /dev/null +++ b/OnTopReplica/Native/WindowMethods.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 methods for operating on windows. + /// + static class WindowMethods { + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + public static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + public static extern int GetWindowTextLength(IntPtr hWnd); + + public enum WindowLong { + WndProc = (-4), + HInstance = (-6), + HwndParent = (-8), + Style = (-16), + ExStyle = (-20), + UserData = (-21), + Id = (-12) + } + + public enum ClassLong { + Icon = -14, + IconSmall = -34 + } + + [Flags] + public enum WindowStyles : long { + None = 0, + Disabled = 0x8000000L, + Minimize = 0x20000000L, + MinimizeBox = 0x20000L, + Visible = 0x10000000L + } + + [Flags] + public enum WindowExStyles : long { + AppWindow = 0x40000, + Layered = 0x80000, + NoActivate = 0x8000000L, + ToolWindow = 0x80, + TopMost = 8, + Transparent = 0x20 + } + + public static IntPtr GetWindowLong(IntPtr hWnd, WindowLong i) { + if (IntPtr.Size == 8) { + return GetWindowLongPtr64(hWnd, (int)i); + } + else { + return new IntPtr(GetWindowLong32(hWnd, (int)i)); + } + } + + [DllImport("user32.dll", EntryPoint = "GetWindowLong")] + static extern int GetWindowLong32(IntPtr hWnd, int nIndex); + + [DllImport("user32.dll", EntryPoint = "GetWindowLongPtr")] + static extern IntPtr GetWindowLongPtr64(IntPtr hWnd, int nIndex); + + public static IntPtr GetClassLongPtr(IntPtr hWnd, ClassLong i) { + if (IntPtr.Size == 8) { + return GetClassLong64(hWnd, (int)i); + } + else { + return new IntPtr(GetClassLong32(hWnd, (int)i)); + } + } + + [DllImport("user32.dll", EntryPoint = "GetClassLongPtrW")] + static extern IntPtr GetClassLong64(IntPtr hWnd, int nIndex); + + [DllImport("user32.dll", EntryPoint = "GetClassLongW")] + static extern int GetClassLong32(IntPtr hWnd, int nIndex); + + + [DllImport("user32.dll")] + public static extern IntPtr GetMenu(IntPtr hwnd); + + } +} diff --git a/OnTopReplica/NativeMethods.cs b/OnTopReplica/NativeMethods.cs deleted file mode 100644 index c2d2839..0000000 --- a/OnTopReplica/NativeMethods.cs +++ /dev/null @@ -1,312 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Runtime.InteropServices; - -namespace OnTopReplica -{ - static class NativeMethods - { - /// A native Rectangle Structure. - [StructLayout(LayoutKind.Sequential)] - public struct Rectangle - { - public Rectangle(int left, int top, int right, int bottom) { - Left = left; - Top = top; - Right = right; - Bottom = bottom; - } - - public Rectangle(System.Drawing.Rectangle rect) { - Left = rect.X; - Top = rect.Y; - Right = rect.Right; - Bottom = rect.Bottom; - } - - public int Left; - public int Top; - public int Right; - public int Bottom; - - public int Width { - get { - return Right - Left; - } - } - public int Height { - get { - return Bottom - Top; - } - } - - public System.Drawing.Rectangle ToRectangle() { - return new System.Drawing.Rectangle(Left, Top, Right - Left, Bottom - Top); - } - } - - [StructLayout(LayoutKind.Sequential)] - public struct Point { - public int X, Y; - - public Point(int x, int y) { - X = x; - Y = y; - } - - public Point(Point copy) { - X = copy.X; - Y = copy.Y; - } - - public static Point FromPoint(System.Drawing.Point point) { - return new Point(point.X, point.Y); - } - - public System.Drawing.Point ToPoint() { - return new System.Drawing.Point(X, Y); - } - - public override string ToString() { - return "{" + X + "," + Y + "}"; - } - } - - - [DllImport("user32.dll")] - public static extern IntPtr RealChildWindowFromPoint(IntPtr parent, Point point); - - [DllImport("user32.dll", CharSet=CharSet.Auto)] - static extern bool GetClientRect(IntPtr hWnd, out Rectangle lpRect); - - public static System.Drawing.Rectangle GetClient(IntPtr hWnd) { - Rectangle ret; - if (GetClientRect(hWnd, out ret)) - return ret.ToRectangle(); - else - throw new Exception("Failed to get Client Rectangle."); - } - - [DllImport("user32.dll")] - static extern bool GetWindowRect(IntPtr hWnd, out Rectangle lpRect); - - public static System.Drawing.Rectangle GetWindowBounds(IntPtr hWnd) { - Rectangle ret = new Rectangle(); - if (GetWindowRect(hWnd, out ret)) - return ret.ToRectangle(); - else - throw new Exception("Failed to get Window Bounds."); - } - - [return: MarshalAs(UnmanagedType.Bool)] - public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam); - - [DllImport("user32.dll")] - [return: MarshalAs(UnmanagedType.Bool)] - public static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam); - - [DllImport("user32.dll")] - [return: MarshalAs(UnmanagedType.Bool)] - public static extern bool IsWindowVisible(IntPtr hWnd); - - [DllImport("user32.dll")] - public static extern IntPtr GetDesktopWindow(); - - [DllImport("user32.dll")] - static extern bool ClientToScreen(IntPtr hwnd, ref Point point); - - public static Point ClientToScreen(IntPtr hwnd, Point clientPoint) { - Point localCopy = new Point(clientPoint); - - if (ClientToScreen(hwnd, ref localCopy)) - return localCopy; - else - return new Point(); - } - - [DllImport("user32.dll")] - static extern bool ScreenToClient(IntPtr hwnd, ref Point point); - - public static Point ScreenToClient(IntPtr hwnd, Point screenPoint) { - Point localCopy = new Point(screenPoint); - - if (ScreenToClient(hwnd, ref localCopy)) - return localCopy; - else - return new Point(); - } - - [DllImport("user32.dll", CharSet = CharSet.Auto)] - public static extern IntPtr GetParent(IntPtr hWnd); - - public enum GetAncestorMode : uint { - Parent = 1, - Root = 2, - RootOwner = 3 - } - - public enum GetWindowMode : uint { - GW_HWNDFIRST = 0, - GW_HWNDLAST = 1, - GW_HWNDNEXT = 2, - GW_HWNDPREV = 3, - GW_OWNER = 4, - GW_CHILD = 5, - GW_ENABLEDPOPUP = 6 - } - - [DllImport("user32.dll")] - public static extern IntPtr GetWindow(IntPtr hwnd, GetWindowMode mode); - - [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] - public static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount); - - [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] - public static extern int GetWindowTextLength(IntPtr hWnd); - - - - - - public enum WindowLong { - WndProc = (-4), - HInstance = (-6), - HwndParent = (-8), - Style = (-16), - ExStyle = (-20), - UserData = (-21), - Id = (-12) - } - - public enum ClassLong { - Icon = -14, - IconSmall = -34 - } - - [Flags] - public enum WindowStyles : long { - None = 0, - Disabled = 0x8000000L, - Minimize = 0x20000000L, - MinimizeBox = 0x20000L, - Visible = 0x10000000L - } - - [Flags] - public enum WindowExStyles : long { - AppWindow = 0x40000, - Layered = 0x80000, - NoActivate = 0x8000000L, - ToolWindow = 0x80, - TopMost = 8, - Transparent = 0x20 - } - - public static IntPtr GetWindowLong(IntPtr hWnd, WindowLong i) { - if (IntPtr.Size == 8) { - return GetWindowLongPtr64(hWnd, (int)i); - } - else { - return new IntPtr(GetWindowLong32(hWnd, (int)i)); - } - } - - [DllImport("user32.dll", EntryPoint = "GetWindowLong")] - private static extern int GetWindowLong32(IntPtr hWnd, int nIndex); - - [DllImport("user32.dll", EntryPoint = "GetWindowLongPtr")] - private static extern IntPtr GetWindowLongPtr64(IntPtr hWnd, int nIndex); - - - public static IntPtr GetClassLongPtr(IntPtr hWnd, ClassLong i) { - if (IntPtr.Size == 8) { - return GetClassLong64(hWnd, (int)i); - } - return new IntPtr(GetClassLong32(hWnd, (int)i)); - } - - [DllImport("user32.dll", EntryPoint = "GetClassLongPtrW")] - private static extern IntPtr GetClassLong64(IntPtr hWnd, int nIndex); - - [DllImport("user32.dll", EntryPoint = "GetClassLongW")] - private static extern int GetClassLong32(IntPtr hWnd, int nIndex); - - - - - - [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)] - public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); - - [DllImport("user32.dll")] - public static extern IntPtr SendMessageTimeout(IntPtr hwnd, uint message, IntPtr wparam, IntPtr lparam, SendMessageTimeoutFlags flags, uint timeout, out IntPtr result); - - public const uint WM_GETICON = 0x7f; - public const int WM_SIZING = 0x214; - - public const int WMSZ_LEFT = 1; - public const int WMSZ_RIGHT = 2; - public const int WMSZ_TOP = 3; - public const int WMSZ_BOTTOM = 6; - - [Flags] - public enum SendMessageTimeoutFlags : uint { - AbortIfHung = 2, - Block = 1, - Normal = 0 - } - - - public const int HTTRANSPARENT = -1; - public const int HTCLIENT = 1; - public const int HTCAPTION = 2; - - public const int WM_NCHITTEST = 0x84; - public const int WM_NCPAINT = 0x0085; - public const int WM_LBUTTONDOWN = 0x0201; - public const int WM_LBUTTONUP = 0x0202; - public const int WM_LBUTTONDBLCLK = 0x0203; - public const int WM_NCLBUTTONUP = 0x00A2; - public const int WM_NCLBUTTONDOWN = 0x00A1; - public const int WM_NCLBUTTONDBLCLK = 0x00A3; - public const int WM_NCRBUTTONUP = 0x00A5; - - public const int MK_LBUTTON = 0x0001; - - public const int WM_SYSCOMMAND = 0x0112; - public const int SC_MAXIMIZE = 61458; - public const int SC_RESTORE = 61490; - - public static IntPtr MakeLParam(int LoWord, int HiWord) { - return new IntPtr((HiWord << 16) | (LoWord & 0xffff)); - } - - [return: MarshalAs(UnmanagedType.Bool)] - [DllImport("user32.dll", SetLastError = false)] - public static extern bool PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); - - - [DllImport("user32.dll", SetLastError = false)] - public static extern bool SetForegroundWindow(IntPtr hwnd); - - - [DllImport("user32.dll")] - public static extern IntPtr GetMenu(IntPtr hwnd); - - [DllImport("user32.dll")] - public static extern short GetKeyState(VirtualKeyState nVirtKey); - - [DllImport("kernel32.dll")] - static extern uint FormatMessage(uint dwFlags, IntPtr lpSource, - int dwMessageId, uint dwLanguageId, [Out] StringBuilder lpBuffer, - uint nSize, IntPtr Arguments); - - public static string GetLastErrorMessage(int msgCode) { - var sb = new StringBuilder(300); - FormatMessage((uint)(0x00001000), IntPtr.Zero, msgCode, 0, sb, 299, IntPtr.Zero); - return sb.ToString(); - } - - } -} diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 0906b05..57c8052 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -133,14 +133,26 @@ - + + + + + + + UserControl + + UserControl + + + GroupSwitchPanel.cs + @@ -176,7 +188,6 @@ MainForm.cs - @@ -184,6 +195,10 @@ AboutForm.cs Designer + + GroupSwitchPanel.cs + Designer + ResXFileCodeGenerator Strings.cs.Designer.cs @@ -245,7 +260,6 @@ Component - diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs new file mode 100644 index 0000000..28a66f5 --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs @@ -0,0 +1,129 @@ +namespace OnTopReplica.SidePanels { + partial class GroupSwitchPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonEnable = new System.Windows.Forms.Button(); + this.listWindows = new System.Windows.Forms.ListView(); + this.colName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.labelStatus = new System.Windows.Forms.Label(); + this.groupBox1.SuspendLayout(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.labelStatus); + this.groupBox1.Controls.Add(this.buttonCancel); + this.groupBox1.Controls.Add(this.buttonEnable); + this.groupBox1.Controls.Add(this.listWindows); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(228, 296); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Group switch mode"; + // + // buttonCancel + // + this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonCancel.Location = new System.Drawing.Point(152, 267); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(70, 23); + this.buttonCancel.TabIndex = 2; + this.buttonCancel.Text = "Disable"; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(this.Cancel_click); + // + // buttonEnable + // + this.buttonEnable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonEnable.Image = global::OnTopReplica.Properties.Resources.xiao_ok; + this.buttonEnable.Location = new System.Drawing.Point(12, 267); + this.buttonEnable.Name = "buttonEnable"; + this.buttonEnable.Size = new System.Drawing.Size(134, 23); + this.buttonEnable.TabIndex = 1; + this.buttonEnable.Text = "Enable group mode"; + this.buttonEnable.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonEnable.UseVisualStyleBackColor = true; + this.buttonEnable.Click += new System.EventHandler(this.Enable_click); + // + // listWindows + // + this.listWindows.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.listWindows.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.colName}); + this.listWindows.FullRowSelect = true; + this.listWindows.GridLines = true; + this.listWindows.HideSelection = false; + this.listWindows.LabelWrap = false; + this.listWindows.Location = new System.Drawing.Point(6, 19); + this.listWindows.Name = "listWindows"; + this.listWindows.Size = new System.Drawing.Size(216, 225); + this.listWindows.TabIndex = 0; + this.listWindows.UseCompatibleStateImageBehavior = false; + this.listWindows.View = System.Windows.Forms.View.Details; + // + // colName + // + this.colName.Text = "Windows"; + this.colName.Width = 220; + // + // labelStatus + // + this.labelStatus.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelStatus.Location = new System.Drawing.Point(3, 247); + this.labelStatus.Name = "labelStatus"; + this.labelStatus.Size = new System.Drawing.Size(219, 17); + this.labelStatus.TabIndex = 3; + this.labelStatus.Text = "-"; + this.labelStatus.TextAlign = System.Drawing.ContentAlignment.BottomRight; + // + // GroupSwitchPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox1); + this.MinimumSize = new System.Drawing.Size(220, 220); + this.Name = "GroupSwitchPanel"; + this.Size = new System.Drawing.Size(228, 296); + this.groupBox1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Button buttonEnable; + private System.Windows.Forms.ListView listWindows; + private System.Windows.Forms.ColumnHeader colName; + private System.Windows.Forms.Label labelStatus; + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.cs new file mode 100644 index 0000000..752579f --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.cs @@ -0,0 +1,72 @@ +using System; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using System.Collections.Generic; +using OnTopReplica.MessagePumpProcessors; + +namespace OnTopReplica.SidePanels { + partial class GroupSwitchPanel : SidePanel { + + public GroupSwitchPanel() { + InitializeComponent(); + } + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + LoadWindowList(); + + labelStatus.Text = (ParentForm.MessagePumpManager.Get().IsActive) ? + "Group switching is active." : + "Select multiple windows to enable."; + } + + private void LoadWindowList() { + var manager = new WindowManager(); + manager.Refresh(WindowManager.EnumerationMode.TaskWindows); + + var imageList = new ImageList(); + foreach (var w in manager.Windows) { + var item = new ListViewItem(w.Title) { + Tag = w + }; + + if (w.Icon != null) { + imageList.Images.Add(w.Icon); + item.ImageIndex = imageList.Images.Count - 1; + } + + listWindows.Items.Add(item); + } + listWindows.SmallImageList = imageList; + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + if (_enableOnClose) { + List ret = new List(); + foreach (ListViewItem i in listWindows.SelectedItems) { + ret.Add((WindowHandle)i.Tag); + } + form.SetThumbnailGroup(ret); + } + else { + form.MessagePumpManager.Get().Disable(); + } + } + + bool _enableOnClose = false; + + private void Enable_click(object sender, EventArgs e) { + _enableOnClose = true; + OnRequestClosing(); + } + + private void Cancel_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.resx b/OnTopReplica/SidePanels/GroupSwitchPanel.resx new file mode 100644 index 0000000..ff31a6d --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs index c5cdc69..26aafc3 100644 --- a/OnTopReplica/ThumbnailPanel.cs +++ b/OnTopReplica/ThumbnailPanel.cs @@ -6,6 +6,7 @@ using VistaControls.Dwm; using VistaControls.ThemeText; using System.Drawing; using System.Windows.Forms.VisualStyles; +using OnTopReplica.Native; namespace OnTopReplica { @@ -135,9 +136,10 @@ namespace OnTopReplica { base.WndProc(ref m); //Make transparent to hit-testing if clicks must not be registered - if (m.Msg == NativeMethods.WM_NCHITTEST && m.Result.ToInt32() == NativeMethods.HTCLIENT && + if (m.Msg == MessagingMethods.WM_NCHITTEST && m.Result.ToInt32() == MessagingMethods.HTCLIENT && !DrawMouseRegions && !ReportThumbnailClicks) { - m.Result = new IntPtr(NativeMethods.HTTRANSPARENT); + + m.Result = new IntPtr(MessagingMethods.HTTRANSPARENT); } } diff --git a/OnTopReplica/VirtualKeyState.cs b/OnTopReplica/VirtualKeyState.cs deleted file mode 100644 index 4275dd7..0000000 --- a/OnTopReplica/VirtualKeyState.cs +++ /dev/null @@ -1,195 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OnTopReplica { - - enum VirtualKeyState : int { - VK_LBUTTON = 0x01, - VK_RBUTTON = 0x02, - VK_CANCEL = 0x03, - VK_MBUTTON = 0x04, - // - VK_XBUTTON1 = 0x05, - VK_XBUTTON2 = 0x06, - // - VK_BACK = 0x08, - VK_TAB = 0x09, - // - VK_CLEAR = 0x0C, - VK_RETURN = 0x0D, - // - VK_SHIFT = 0x10, - VK_CONTROL = 0x11, - VK_MENU = 0x12, - VK_PAUSE = 0x13, - VK_CAPITAL = 0x14, - // - VK_KANA = 0x15, - VK_HANGEUL = 0x15, /* old name - should be here for compatibility */ - VK_HANGUL = 0x15, - VK_JUNJA = 0x17, - VK_FINAL = 0x18, - VK_HANJA = 0x19, - VK_KANJI = 0x19, - // - VK_ESCAPE = 0x1B, - // - VK_CONVERT = 0x1C, - VK_NONCONVERT = 0x1D, - VK_ACCEPT = 0x1E, - VK_MODECHANGE = 0x1F, - // - VK_SPACE = 0x20, - VK_PRIOR = 0x21, - VK_NEXT = 0x22, - VK_END = 0x23, - VK_HOME = 0x24, - VK_LEFT = 0x25, - VK_UP = 0x26, - VK_RIGHT = 0x27, - VK_DOWN = 0x28, - VK_SELECT = 0x29, - VK_PRINT = 0x2A, - VK_EXECUTE = 0x2B, - VK_SNAPSHOT = 0x2C, - VK_INSERT = 0x2D, - VK_DELETE = 0x2E, - VK_HELP = 0x2F, - // - VK_LWIN = 0x5B, - VK_RWIN = 0x5C, - VK_APPS = 0x5D, - // - VK_SLEEP = 0x5F, - // - VK_NUMPAD0 = 0x60, - VK_NUMPAD1 = 0x61, - VK_NUMPAD2 = 0x62, - VK_NUMPAD3 = 0x63, - VK_NUMPAD4 = 0x64, - VK_NUMPAD5 = 0x65, - VK_NUMPAD6 = 0x66, - VK_NUMPAD7 = 0x67, - VK_NUMPAD8 = 0x68, - VK_NUMPAD9 = 0x69, - VK_MULTIPLY = 0x6A, - VK_ADD = 0x6B, - VK_SEPARATOR = 0x6C, - VK_SUBTRACT = 0x6D, - VK_DECIMAL = 0x6E, - VK_DIVIDE = 0x6F, - VK_F1 = 0x70, - VK_F2 = 0x71, - VK_F3 = 0x72, - VK_F4 = 0x73, - VK_F5 = 0x74, - VK_F6 = 0x75, - VK_F7 = 0x76, - VK_F8 = 0x77, - VK_F9 = 0x78, - VK_F10 = 0x79, - VK_F11 = 0x7A, - VK_F12 = 0x7B, - VK_F13 = 0x7C, - VK_F14 = 0x7D, - VK_F15 = 0x7E, - VK_F16 = 0x7F, - VK_F17 = 0x80, - VK_F18 = 0x81, - VK_F19 = 0x82, - VK_F20 = 0x83, - VK_F21 = 0x84, - VK_F22 = 0x85, - VK_F23 = 0x86, - VK_F24 = 0x87, - // - VK_NUMLOCK = 0x90, - VK_SCROLL = 0x91, - // - VK_OEM_NEC_EQUAL = 0x92, // '=' key on numpad - // - VK_OEM_FJ_JISHO = 0x92, // 'Dictionary' key - VK_OEM_FJ_MASSHOU = 0x93, // 'Unregister word' key - VK_OEM_FJ_TOUROKU = 0x94, // 'Register word' key - VK_OEM_FJ_LOYA = 0x95, // 'Left OYAYUBI' key - VK_OEM_FJ_ROYA = 0x96, // 'Right OYAYUBI' key - // - VK_LSHIFT = 0xA0, - VK_RSHIFT = 0xA1, - VK_LCONTROL = 0xA2, - VK_RCONTROL = 0xA3, - VK_LMENU = 0xA4, - VK_RMENU = 0xA5, - // - VK_BROWSER_BACK = 0xA6, - VK_BROWSER_FORWARD = 0xA7, - VK_BROWSER_REFRESH = 0xA8, - VK_BROWSER_STOP = 0xA9, - VK_BROWSER_SEARCH = 0xAA, - VK_BROWSER_FAVORITES = 0xAB, - VK_BROWSER_HOME = 0xAC, - // - VK_VOLUME_MUTE = 0xAD, - VK_VOLUME_DOWN = 0xAE, - VK_VOLUME_UP = 0xAF, - VK_MEDIA_NEXT_TRACK = 0xB0, - VK_MEDIA_PREV_TRACK = 0xB1, - VK_MEDIA_STOP = 0xB2, - VK_MEDIA_PLAY_PAUSE = 0xB3, - VK_LAUNCH_MAIL = 0xB4, - VK_LAUNCH_MEDIA_SELECT = 0xB5, - VK_LAUNCH_APP1 = 0xB6, - VK_LAUNCH_APP2 = 0xB7, - // - VK_OEM_1 = 0xBA, // ';:' for US - VK_OEM_PLUS = 0xBB, // '+' any country - VK_OEM_COMMA = 0xBC, // ',' any country - VK_OEM_MINUS = 0xBD, // '-' any country - VK_OEM_PERIOD = 0xBE, // '.' any country - VK_OEM_2 = 0xBF, // '/?' for US - VK_OEM_3 = 0xC0, // '`~' for US - // - VK_OEM_4 = 0xDB, // '[{' for US - VK_OEM_5 = 0xDC, // '\|' for US - VK_OEM_6 = 0xDD, // ']}' for US - VK_OEM_7 = 0xDE, // ''"' for US - VK_OEM_8 = 0xDF, - // - VK_OEM_AX = 0xE1, // 'AX' key on Japanese AX kbd - VK_OEM_102 = 0xE2, // "<>" or "\|" on RT 102-key kbd. - VK_ICO_HELP = 0xE3, // Help key on ICO - VK_ICO_00 = 0xE4, // 00 key on ICO - // - VK_PROCESSKEY = 0xE5, - // - VK_ICO_CLEAR = 0xE6, - // - VK_PACKET = 0xE7, - // - VK_OEM_RESET = 0xE9, - VK_OEM_JUMP = 0xEA, - VK_OEM_PA1 = 0xEB, - VK_OEM_PA2 = 0xEC, - VK_OEM_PA3 = 0xED, - VK_OEM_WSCTRL = 0xEE, - VK_OEM_CUSEL = 0xEF, - VK_OEM_ATTN = 0xF0, - VK_OEM_FINISH = 0xF1, - VK_OEM_COPY = 0xF2, - VK_OEM_AUTO = 0xF3, - VK_OEM_ENLW = 0xF4, - VK_OEM_BACKTAB = 0xF5, - // - VK_ATTN = 0xF6, - VK_CRSEL = 0xF7, - VK_EXSEL = 0xF8, - VK_EREOF = 0xF9, - VK_PLAY = 0xFA, - VK_ZOOM = 0xFB, - VK_NONAME = 0xFC, - VK_PA1 = 0xFD, - VK_OEM_CLEAR = 0xFE - } - -} diff --git a/OnTopReplica/Win32Helper.cs b/OnTopReplica/Win32Helper.cs index f0ffda2..a701f0f 100644 --- a/OnTopReplica/Win32Helper.cs +++ b/OnTopReplica/Win32Helper.cs @@ -1,8 +1,7 @@ using System; using System.Collections.Generic; using System.Text; -using System.Drawing; -using System.Windows.Forms; +using OnTopReplica.Native; namespace OnTopReplica { public static class Win32Helper { @@ -11,19 +10,18 @@ namespace OnTopReplica { /// Target window to click on. /// Location of the mouse click expressed in client coordiantes of the target window. /// True if a double click should be injected. - public static void InjectFakeMouseClick(IntPtr window, Point clickLocation, bool doubleClick) { - NativeMethods.Point scrClickLocation = NativeMethods.ClientToScreen(window, - NativeMethods.Point.FromPoint(clickLocation)); + public static void InjectFakeMouseClick(IntPtr window, System.Drawing.Point clickLocation, bool doubleClick) { + NPoint scrClickLocation = WindowManagerMethods.ClientToScreen(window, NPoint.FromPoint(clickLocation)); //HACK (?) //If target window has a Menu (which appears on the thumbnail) move the clicked location down //in order to adjust (the menu isn't part of the window's client rect). - IntPtr hMenu = NativeMethods.GetMenu(window); + IntPtr hMenu = WindowMethods.GetMenu(window); if (hMenu != IntPtr.Zero) - scrClickLocation.Y -= SystemInformation.MenuHeight; + scrClickLocation.Y -= System.Windows.Forms.SystemInformation.MenuHeight; IntPtr hChild = GetRealChildControlFromPoint(window, scrClickLocation); - NativeMethods.Point clntClickLocation = NativeMethods.ScreenToClient(hChild, scrClickLocation); + NPoint clntClickLocation = WindowManagerMethods.ScreenToClient(hChild, scrClickLocation); if (doubleClick) InjectDoubleLeftMouseClick(hChild, clntClickLocation); @@ -31,25 +29,25 @@ namespace OnTopReplica { InjectLeftMouseClick(hChild, clntClickLocation); } - private static void InjectLeftMouseClick(IntPtr child, NativeMethods.Point clientLocation) { - IntPtr lParamClickLocation = NativeMethods.MakeLParam(clientLocation.X, clientLocation.Y); + private static void InjectLeftMouseClick(IntPtr child, Native.NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); - NativeMethods.PostMessage(child, NativeMethods.WM_LBUTTONDOWN, - new IntPtr(NativeMethods.MK_LBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, MessagingMethods.WM_LBUTTONDOWN, + new IntPtr(MessagingMethods.MK_LBUTTON), lParamClickLocation); - NativeMethods.PostMessage(child, NativeMethods.WM_LBUTTONUP, - new IntPtr(NativeMethods.MK_LBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, MessagingMethods.WM_LBUTTONUP, + new IntPtr(MessagingMethods.MK_LBUTTON), lParamClickLocation); #if DEBUG Console.WriteLine("Left click on window #" + child.ToString() + " at " + clientLocation.ToString()); #endif } - private static void InjectDoubleLeftMouseClick(IntPtr child, NativeMethods.Point clientLocation) { - IntPtr lParamClickLocation = NativeMethods.MakeLParam(clientLocation.X, clientLocation.Y); + private static void InjectDoubleLeftMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); - NativeMethods.PostMessage(child, NativeMethods.WM_LBUTTONDBLCLK, - new IntPtr(NativeMethods.MK_LBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, MessagingMethods.WM_LBUTTONDBLCLK, + new IntPtr(MessagingMethods.MK_LBUTTON), lParamClickLocation); #if DEBUG Console.WriteLine("Double left click on window #" + child.ToString() + " at " + clientLocation.ToString()); @@ -59,10 +57,11 @@ namespace OnTopReplica { /// Returns the child control of a window corresponding to a screen location. /// Parent window to explore. /// Child control location in screen coordinates. - private static IntPtr GetRealChildControlFromPoint(IntPtr parent, NativeMethods.Point scrClickLocation) { + private static IntPtr GetRealChildControlFromPoint(IntPtr parent, NPoint scrClickLocation) { IntPtr curr = parent, child = IntPtr.Zero; do { - child = NativeMethods.RealChildWindowFromPoint(curr, NativeMethods.ScreenToClient(curr, scrClickLocation)); + child = WindowManagerMethods.RealChildWindowFromPoint(curr, + WindowManagerMethods.ScreenToClient(curr, scrClickLocation)); if (child == IntPtr.Zero || child == curr) break; diff --git a/OnTopReplica/WindowHandle.cs b/OnTopReplica/WindowHandle.cs index eb3ea7c..7fe6d3b 100644 --- a/OnTopReplica/WindowHandle.cs +++ b/OnTopReplica/WindowHandle.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Text; using System.Drawing; +using OnTopReplica.Native; namespace OnTopReplica { @@ -29,7 +30,8 @@ namespace OnTopReplica { //Fetch icon from window IntPtr hIcon; - if (NativeMethods.SendMessageTimeout(_handle, NativeMethods.WM_GETICON, new IntPtr(2), new IntPtr(0), NativeMethods.SendMessageTimeoutFlags.AbortIfHung | NativeMethods.SendMessageTimeoutFlags.Block, 500, out hIcon) == IntPtr.Zero) + if (MessagingMethods.SendMessageTimeout(_handle, MessagingMethods.WM_GETICON, new IntPtr(2), new IntPtr(0), + MessagingMethods.SendMessageTimeoutFlags.AbortIfHung | MessagingMethods.SendMessageTimeoutFlags.Block, 500, out hIcon) == IntPtr.Zero) hIcon = IntPtr.Zero; if (hIcon.ToInt64() != 0) { @@ -37,7 +39,7 @@ namespace OnTopReplica { } else { //Fetch icon from window class - hIcon = (IntPtr)NativeMethods.GetClassLongPtr(_handle, NativeMethods.ClassLong.IconSmall); + hIcon = (IntPtr)WindowMethods.GetClassLongPtr(_handle, WindowMethods.ClassLong.IconSmall); if (hIcon.ToInt64() != 0) { _icon = Icon.FromHandle(hIcon); diff --git a/OnTopReplica/WindowManager.cs b/OnTopReplica/WindowManager.cs index ad48c3b..d912c4e 100644 --- a/OnTopReplica/WindowManager.cs +++ b/OnTopReplica/WindowManager.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Text; +using OnTopReplica.Native; namespace OnTopReplica { /// A helper class that allows you to easily build and keep a list of Windows (in the form of WindowHandle objects). @@ -23,22 +24,22 @@ namespace OnTopReplica { public void Refresh(EnumerationMode mode) { _windows = new List(); - NativeMethods.EnumWindowsProc proc = null; + WindowManagerMethods.EnumWindowsProc proc = null; switch (mode) { case EnumerationMode.AllVisible: - proc = new NativeMethods.EnumWindowsProc(EnumWindowProcAll); + proc = new WindowManagerMethods.EnumWindowsProc(EnumWindowProcAll); break; case EnumerationMode.AllTopLevel: - proc = new NativeMethods.EnumWindowsProc(EnumWindowProcTopLevel); + proc = new WindowManagerMethods.EnumWindowsProc(EnumWindowProcTopLevel); break; case EnumerationMode.TaskWindows: - proc = new NativeMethods.EnumWindowsProc(EnumWindowProcTask); + proc = new WindowManagerMethods.EnumWindowsProc(EnumWindowProcTask); break; } - NativeMethods.EnumWindows(proc, IntPtr.Zero); + WindowManagerMethods.EnumWindows(proc, IntPtr.Zero); } @@ -51,7 +52,7 @@ namespace OnTopReplica { private bool EnumWindowProcAll(IntPtr hwnd, IntPtr lParam) { - if (NativeMethods.IsWindowVisible(hwnd)) { + if (WindowManagerMethods.IsWindowVisible(hwnd)) { string title = GetWindowTitle(hwnd); _windows.Add( new WindowHandle(hwnd, title)); } @@ -59,9 +60,9 @@ namespace OnTopReplica { } private bool EnumWindowProcTopLevel(IntPtr hwnd, IntPtr lParam) { - if (NativeMethods.IsWindowVisible(hwnd)) { + if (WindowManagerMethods.IsWindowVisible(hwnd)) { //Check if window has no parent - if ((long)NativeMethods.GetParent(hwnd) == 0 && NativeMethods.GetDesktopWindow() != hwnd) { + if ((long)WindowManagerMethods.GetParent(hwnd) == 0 && WindowManagerMethods.GetDesktopWindow() != hwnd) { string title = GetWindowTitle(hwnd); _windows.Add( new WindowHandle(hwnd, title)); } @@ -84,13 +85,13 @@ namespace OnTopReplica { if (string.IsNullOrEmpty(title)) return true; - if (NativeMethods.IsWindowVisible(hwnd)) { - if ((long)NativeMethods.GetParent(hwnd) == 0) { - bool hasOwner = (long)NativeMethods.GetWindow(hwnd, NativeMethods.GetWindowMode.GW_OWNER) != 0; - NativeMethods.WindowExStyles exStyle = (NativeMethods.WindowExStyles)NativeMethods.GetWindowLong(hwnd, NativeMethods.WindowLong.ExStyle); + if (WindowManagerMethods.IsWindowVisible(hwnd)) { + if ((long)WindowManagerMethods.GetParent(hwnd) == 0) { + bool hasOwner = (long)WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; + WindowMethods.WindowExStyles exStyle = (WindowMethods.WindowExStyles)WindowMethods.GetWindowLong(hwnd, WindowMethods.WindowLong.ExStyle); - if (((exStyle & NativeMethods.WindowExStyles.ToolWindow) == 0 && !hasOwner) || //unowned non-tool window - ((exStyle & NativeMethods.WindowExStyles.AppWindow) == NativeMethods.WindowExStyles.AppWindow && hasOwner)) { //owned application window + if (((exStyle & WindowMethods.WindowExStyles.ToolWindow) == 0 && !hasOwner) || //unowned non-tool window + ((exStyle & WindowMethods.WindowExStyles.AppWindow) == WindowMethods.WindowExStyles.AppWindow && hasOwner)) { //owned application window _windows.Add(new WindowHandle(hwnd, title)); } } @@ -102,11 +103,11 @@ namespace OnTopReplica { #region Auxiliary methods private string GetWindowTitle(IntPtr hwnd) { - int length = NativeMethods.GetWindowTextLength(hwnd); + int length = WindowMethods.GetWindowTextLength(hwnd); if (length > 0) { StringBuilder sb = new StringBuilder(length + 1); - if (NativeMethods.GetWindowText(hwnd, sb, sb.Capacity) > 0) + if (WindowMethods.GetWindowText(hwnd, sb, sb.Capacity) > 0) return sb.ToString(); else return String.Empty; From 41d4c479a0864501bbe08d44606ab19f09e0bc87 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 1 Jul 2010 01:19:38 +0200 Subject: [PATCH 039/164] Updated VistaControls library. --- Lib/VistaControls.dll | Bin 95744 -> 95744 bytes Lib/VistaControls.pdb | Bin 214528 -> 243200 bytes Lib/VistaControls.xml | 71 ++++++++++++++++++++++++++++++------------ 3 files changed, 51 insertions(+), 20 deletions(-) diff --git a/Lib/VistaControls.dll b/Lib/VistaControls.dll index c59e052bb13f9d3966357c2cd7352dc7c09bb914..2b197bd372971504c5976d1983ba21795541ac1d 100644 GIT binary patch delta 25362 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 diff --git a/Lib/VistaControls.pdb b/Lib/VistaControls.pdb index bbad1f60e549647d8b3286c1d3574a3391855505..3fb6e9f536b9812d966ba4ab23f3b6c654433455 100644 GIT binary patch delta 25078 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 delta 20605 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 diff --git a/Lib/VistaControls.xml b/Lib/VistaControls.xml index 77dad34..cf4c8fb 100644 --- a/Lib/VistaControls.xml +++ b/Lib/VistaControls.xml @@ -644,6 +644,26 @@ Gets or sets whether the text should be trimmed to the last word and an ellipse should be placed at the end of the line. + + + Determines a window's Flip 3D policy. + + + + + Default Flip 3D behavior. + + + + + Excludes the window from Flip 3D and hides it behind the animation. + + + + + Excludes the window from Flip 3D and shows it above the animation. + + Handle to a DWM Thumbnail. @@ -684,6 +704,37 @@ Gets the thumbnail's original size. + + + Applies a glow on the themed text. + + + + + Default glow size. + + + + + Glow size used commonly by Office 2007 in titles. + + + + + Precise glow effect. + + + + + Instantiates a new glow effect for themed text. + + Size of the glow effect. + + + + Gets or sets the size of the glow effect. + + Static class providing information about the current support for Vista-only features. @@ -967,25 +1018,5 @@ the glass surface of the form. - - - Determines a window's Flip 3D policy. - - - - - Default Flip 3D behavior. - - - - - Excludes the window from Flip 3D and hides it behind the animation. - - - - - Excludes the window from Flip 3D and shows it above the animation. - - From b1696f4dd8c508af9929bad7203e4c8529450cd0 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 1 Jul 2010 01:24:14 +0200 Subject: [PATCH 040/164] Refactored GetWindowText native API call. --- OnTopReplica/Native/WindowMethods.cs | 23 +++++++++++++++++++++-- OnTopReplica/WindowManager.cs | 23 +++-------------------- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/OnTopReplica/Native/WindowMethods.cs b/OnTopReplica/Native/WindowMethods.cs index 7f65543..3b12152 100644 --- a/OnTopReplica/Native/WindowMethods.cs +++ b/OnTopReplica/Native/WindowMethods.cs @@ -10,10 +10,29 @@ namespace OnTopReplica.Native { static class WindowMethods { [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] - public static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount); + static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount); [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] - public static extern int GetWindowTextLength(IntPtr hWnd); + static extern int GetWindowTextLength(IntPtr hWnd); + + /// + /// Gets a window's text via API call. + /// + /// Window handle. + /// Title of the window. + public static string GetWindowText(IntPtr hwnd) { + int length = GetWindowTextLength(hwnd); + + if (length > 0) { + StringBuilder sb = new StringBuilder(length + 1); + if (WindowMethods.GetWindowText(hwnd, sb, sb.Capacity) > 0) + return sb.ToString(); + else + return String.Empty; + } + else + return String.Empty; + } public enum WindowLong { WndProc = (-4), diff --git a/OnTopReplica/WindowManager.cs b/OnTopReplica/WindowManager.cs index d912c4e..0af3ba9 100644 --- a/OnTopReplica/WindowManager.cs +++ b/OnTopReplica/WindowManager.cs @@ -53,7 +53,7 @@ namespace OnTopReplica { private bool EnumWindowProcAll(IntPtr hwnd, IntPtr lParam) { if (WindowManagerMethods.IsWindowVisible(hwnd)) { - string title = GetWindowTitle(hwnd); + string title = WindowMethods.GetWindowText(hwnd); _windows.Add( new WindowHandle(hwnd, title)); } return true; @@ -63,7 +63,7 @@ namespace OnTopReplica { if (WindowManagerMethods.IsWindowVisible(hwnd)) { //Check if window has no parent if ((long)WindowManagerMethods.GetParent(hwnd) == 0 && WindowManagerMethods.GetDesktopWindow() != hwnd) { - string title = GetWindowTitle(hwnd); + string title = WindowMethods.GetWindowText(hwnd); _windows.Add( new WindowHandle(hwnd, title)); } } @@ -81,7 +81,7 @@ namespace OnTopReplica { //Reject empty titles - string title = GetWindowTitle(hwnd); + string title = WindowMethods.GetWindowText(hwnd); if (string.IsNullOrEmpty(title)) return true; @@ -100,22 +100,5 @@ namespace OnTopReplica { return true; } - #region Auxiliary methods - - private string GetWindowTitle(IntPtr hwnd) { - int length = WindowMethods.GetWindowTextLength(hwnd); - - if (length > 0) { - StringBuilder sb = new StringBuilder(length + 1); - if (WindowMethods.GetWindowText(hwnd, sb, sb.Capacity) > 0) - return sb.ToString(); - else - return String.Empty; - } - else - return String.Empty; - } - - #endregion } } From a097979ce33f28d569d117695419e5296317b920 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 1 Jul 2010 03:11:36 +0200 Subject: [PATCH 041/164] Added click-through to standard and fullscreen mode. Changed context menu (new advanced dropdown). Refactored MainForm class to reduce file sizes and facilitate navigation. --- OnTopReplica/AspectRatioForm.cs | 12 +- OnTopReplica/Assets/xiao_wrench.png | Bin 0 -> 459 bytes OnTopReplica/FullscreenMode.cs | 16 +- OnTopReplica/MainForm.Designer.cs | 126 +++- OnTopReplica/MainForm.cs | 548 +++--------------- OnTopReplica/MainForm.resx | 7 +- OnTopReplica/MainForm_ChildForms.cs | 126 ++++ OnTopReplica/MainForm_Gui.cs | 131 +++++ OnTopReplica/MainForm_MenuEvents.cs | 226 ++++++++ OnTopReplica/OnTopReplica.csproj | 11 + OnTopReplica/Properties/Resources.Designer.cs | 7 + OnTopReplica/Properties/Resources.resx | 5 +- OnTopReplica/Properties/Settings.Designer.cs | 24 + OnTopReplica/Properties/Settings.settings | 6 + OnTopReplica/ThumbnailPanel.cs | 3 + OnTopReplica/app.config | 6 + 16 files changed, 757 insertions(+), 497 deletions(-) create mode 100644 OnTopReplica/Assets/xiao_wrench.png create mode 100644 OnTopReplica/MainForm_ChildForms.cs create mode 100644 OnTopReplica/MainForm_Gui.cs create mode 100644 OnTopReplica/MainForm_MenuEvents.cs diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs index 7bffe8e..6905d60 100644 --- a/OnTopReplica/AspectRatioForm.cs +++ b/OnTopReplica/AspectRatioForm.cs @@ -107,12 +107,16 @@ namespace OnTopReplica { } /// - /// Updates the aspect ratio of the form and forces a refresh. + /// Updates the aspect ratio of the form and optionally forces a refresh. /// - public void SetAspectRatio(Size aspectRatioSource) { - _keepAspectRatio = true; //set without updating + /// Size from which aspect ratio should be computed. + /// True if the size of the form should be refreshed to match the new aspect ratio. + public void SetAspectRatio(Size aspectRatioSource, bool forceRefresh) { AspectRatio = ((double)aspectRatioSource.Width / (double)aspectRatioSource.Height); - RefreshAspectRatio(); + + if (forceRefresh) { + KeepAspectRatio = true; + } } #region Event overriding diff --git a/OnTopReplica/Assets/xiao_wrench.png b/OnTopReplica/Assets/xiao_wrench.png new file mode 100644 index 0000000000000000000000000000000000000000..b15bcf07d6c1d35394ada8d24d10b130c5034b16 GIT binary patch literal 459 zcmV;+0W|)JP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ-QAtEWRCwCFlD$d;K@^3*6*q-K0ycuMjg>xukCGyrI+&NyO4&w>nT5QEg`~9F zMl9?k44OdL*-7A7xU0qp{(+~t%(-_y?r>hsV!ms@Ll0Nrkv>2yk`)4^H`fO9Sf;OL^zwWO1K>GUS(=%SD$ zfNfyk7^AW*RTPEFvTPFB2eu`>JmE3Gq=Yc_@0XbacK{&-y!V6=yQuqYG{{pJ2 z!h26uRiFQZy%rqqz=AEVZr1@xlCWGZNs?q8;GZV>;F4Zr_@_w@2d@LpxqLJl^#I1> z@mqYgqB^eKy3TYn002ovPDHLkV1gvj B#S{Pl literal 0 HcmV?d00001 diff --git a/OnTopReplica/FullscreenMode.cs b/OnTopReplica/FullscreenMode.cs index 7f98b88..a6163de 100644 --- a/OnTopReplica/FullscreenMode.cs +++ b/OnTopReplica/FullscreenMode.cs @@ -3,9 +3,23 @@ using System.Collections.Generic; using System.Text; namespace OnTopReplica { - enum FullscreenMode { + + /// + /// Describes a fullscreen mode used by OnTopReplica. + /// + public enum FullscreenMode { + /// + /// Normal non-topmost fullscreen mode. + /// Normal, + /// + /// Topmost fullscreen mode. + /// AlwaysOnTop, + /// + /// Clickthrough overlay mode. + /// ClickThrough } + } diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 759010c..72855c1 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -33,7 +33,9 @@ this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.switchToWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.selectRegionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.advancedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.forwardClicksToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickthroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.dualWindowModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuContextOpacity = new System.Windows.Forms.ToolStripMenuItem(); this.menuOpacity = new System.Windows.Forms.ContextMenuStrip(this.components); @@ -65,12 +67,18 @@ this.italianoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); + this.fullSelectWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullOpacityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.danskToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFullscreenContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.enableClickthroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullExitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuContext.SuspendLayout(); this.menuWindows.SuspendLayout(); this.menuOpacity.SuspendLayout(); this.menuResize.SuspendLayout(); this.menuLanguages.SuspendLayout(); + this.menuFullscreenContext.SuspendLayout(); this.SuspendLayout(); // // menuContext @@ -79,8 +87,7 @@ this.menuContextWindows, this.switchToWindowToolStripMenuItem, this.selectRegionToolStripMenuItem, - this.forwardClicksToolStripMenuItem, - this.dualWindowModeToolStripMenuItem, + this.advancedToolStripMenuItem, this.menuContextOpacity, this.resizeToolStripMenuItem, this.dockToolStripMenuItem, @@ -91,7 +98,7 @@ this.aboutToolStripMenuItem, this.menuContextClose}); this.menuContext.Name = "menuContext"; - this.menuContext.Size = new System.Drawing.Size(178, 318); + this.menuContext.Size = new System.Drawing.Size(169, 274); this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); // // menuContextWindows @@ -99,30 +106,29 @@ this.menuContextWindows.DropDown = this.menuWindows; this.menuContextWindows.Image = global::OnTopReplica.Properties.Resources.window_multiple16; this.menuContextWindows.Name = "menuContextWindows"; - this.menuContextWindows.Size = new System.Drawing.Size(177, 22); + this.menuContextWindows.Size = new System.Drawing.Size(168, 22); this.menuContextWindows.Text = global::OnTopReplica.Strings.MenuWindows; this.menuContextWindows.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; - this.menuContextWindows.DropDownOpening += new System.EventHandler(this.Menu_Windows_opening); // // menuWindows // this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.noneToolStripMenuItem}); this.menuWindows.Name = "menuWindows"; - this.menuWindows.OwnerItem = this.menuContextWindows; - this.menuWindows.Size = new System.Drawing.Size(118, 26); + this.menuWindows.Size = new System.Drawing.Size(153, 48); + this.menuWindows.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Windows_opening); // // noneToolStripMenuItem // this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; - this.noneToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.noneToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; // // switchToWindowToolStripMenuItem // this.switchToWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_switch; this.switchToWindowToolStripMenuItem.Name = "switchToWindowToolStripMenuItem"; - this.switchToWindowToolStripMenuItem.Size = new System.Drawing.Size(177, 22); + this.switchToWindowToolStripMenuItem.Size = new System.Drawing.Size(168, 22); this.switchToWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSwitch; this.switchToWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSwitchTT; this.switchToWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_Switch_click); @@ -132,33 +138,50 @@ this.selectRegionToolStripMenuItem.Enabled = false; this.selectRegionToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.regions; this.selectRegionToolStripMenuItem.Name = "selectRegionToolStripMenuItem"; - this.selectRegionToolStripMenuItem.Size = new System.Drawing.Size(177, 22); + this.selectRegionToolStripMenuItem.Size = new System.Drawing.Size(168, 22); this.selectRegionToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRegion; this.selectRegionToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRegionTT; this.selectRegionToolStripMenuItem.Click += new System.EventHandler(this.Menu_Region_click); // + // advancedToolStripMenuItem + // + this.advancedToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.forwardClicksToolStripMenuItem, + this.clickthroughToolStripMenuItem, + this.dualWindowModeToolStripMenuItem}); + this.advancedToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_wrench; + this.advancedToolStripMenuItem.Name = "advancedToolStripMenuItem"; + this.advancedToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.advancedToolStripMenuItem.Text = "Advanced"; + // // forwardClicksToolStripMenuItem // this.forwardClicksToolStripMenuItem.Name = "forwardClicksToolStripMenuItem"; - this.forwardClicksToolStripMenuItem.Size = new System.Drawing.Size(177, 22); - this.forwardClicksToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickForwarding; + this.forwardClicksToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.forwardClicksToolStripMenuItem.Text = "Enable Click forwarding"; this.forwardClicksToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickForwardingTT; - this.forwardClicksToolStripMenuItem.Click += new System.EventHandler(this.Menu_Forward_click); + this.forwardClicksToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickForwarding_click); + // + // clickthroughToolStripMenuItem + // + this.clickthroughToolStripMenuItem.Name = "clickthroughToolStripMenuItem"; + this.clickthroughToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.clickthroughToolStripMenuItem.Text = "Enable Click-through"; + this.clickthroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); // // dualWindowModeToolStripMenuItem // - this.dualWindowModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_multiple16; this.dualWindowModeToolStripMenuItem.Name = "dualWindowModeToolStripMenuItem"; - this.dualWindowModeToolStripMenuItem.Size = new System.Drawing.Size(177, 22); - this.dualWindowModeToolStripMenuItem.Text = "Dual window mode"; - this.dualWindowModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Group_click); + this.dualWindowModeToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.dualWindowModeToolStripMenuItem.Text = "Group switch mode"; + this.dualWindowModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_GroupSwitchMode_click); // // menuContextOpacity // this.menuContextOpacity.DropDown = this.menuOpacity; this.menuContextOpacity.Image = global::OnTopReplica.Properties.Resources.window_opacity16; this.menuContextOpacity.Name = "menuContextOpacity"; - this.menuContextOpacity.Size = new System.Drawing.Size(177, 22); + this.menuContextOpacity.Size = new System.Drawing.Size(168, 22); this.menuContextOpacity.Text = global::OnTopReplica.Strings.MenuOpacity; // // menuOpacity @@ -169,7 +192,7 @@ this.toolStripMenuItem3, this.toolStripMenuItem4}); this.menuOpacity.Name = "menuOpacity"; - this.menuOpacity.OwnerItem = this.menuContextOpacity; + this.menuOpacity.OwnerItem = this.fullOpacityToolStripMenuItem; this.menuOpacity.ShowCheckMargin = true; this.menuOpacity.ShowImageMargin = false; this.menuOpacity.Size = new System.Drawing.Size(154, 92); @@ -218,7 +241,7 @@ this.resizeToolStripMenuItem.DropDown = this.menuResize; this.resizeToolStripMenuItem.Enabled = false; this.resizeToolStripMenuItem.Name = "resizeToolStripMenuItem"; - this.resizeToolStripMenuItem.Size = new System.Drawing.Size(177, 22); + this.resizeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); this.resizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResize; // // menuResize @@ -284,7 +307,7 @@ this.bottomRightToolStripMenuItem}); this.dockToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_null; this.dockToolStripMenuItem.Name = "dockToolStripMenuItem"; - this.dockToolStripMenuItem.Size = new System.Drawing.Size(177, 22); + this.dockToolStripMenuItem.Size = new System.Drawing.Size(168, 22); this.dockToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosition; this.dockToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuPositionTT; // @@ -323,7 +346,7 @@ // chromeToolStripMenuItem // this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem"; - this.chromeToolStripMenuItem.Size = new System.Drawing.Size(177, 22); + this.chromeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); this.chromeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuChrome; this.chromeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuChromeTT; this.chromeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Chrome_click); @@ -332,7 +355,7 @@ // this.reduceToIconToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.reduce; this.reduceToIconToolStripMenuItem.Name = "reduceToIconToolStripMenuItem"; - this.reduceToIconToolStripMenuItem.Size = new System.Drawing.Size(177, 22); + this.reduceToIconToolStripMenuItem.Size = new System.Drawing.Size(168, 22); this.reduceToIconToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReduce; this.reduceToIconToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuReduceTT; this.reduceToIconToolStripMenuItem.Click += new System.EventHandler(this.Menu_Reduce_click); @@ -340,13 +363,13 @@ // toolStripSeparator1 // this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(174, 6); + this.toolStripSeparator1.Size = new System.Drawing.Size(165, 6); // // languageToolStripMenuItem // this.languageToolStripMenuItem.DropDown = this.menuLanguages; this.languageToolStripMenuItem.Name = "languageToolStripMenuItem"; - this.languageToolStripMenuItem.Size = new System.Drawing.Size(177, 22); + this.languageToolStripMenuItem.Size = new System.Drawing.Size(168, 22); this.languageToolStripMenuItem.Text = global::OnTopReplica.Strings.Language; // // menuLanguages @@ -400,7 +423,7 @@ // aboutToolStripMenuItem // this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; - this.aboutToolStripMenuItem.Size = new System.Drawing.Size(177, 22); + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(168, 22); this.aboutToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAbout; this.aboutToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAboutTT; this.aboutToolStripMenuItem.Click += new System.EventHandler(this.Menu_About_click); @@ -409,10 +432,24 @@ // this.menuContextClose.Image = global::OnTopReplica.Properties.Resources.close_new; this.menuContextClose.Name = "menuContextClose"; - this.menuContextClose.Size = new System.Drawing.Size(177, 22); + this.menuContextClose.Size = new System.Drawing.Size(168, 22); this.menuContextClose.Text = global::OnTopReplica.Strings.MenuClose; this.menuContextClose.Click += new System.EventHandler(this.Menu_Close_click); // + // fullSelectWindowToolStripMenuItem + // + this.fullSelectWindowToolStripMenuItem.DropDown = this.menuWindows; + this.fullSelectWindowToolStripMenuItem.Name = "fullSelectWindowToolStripMenuItem"; + this.fullSelectWindowToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.fullSelectWindowToolStripMenuItem.Text = "Select window..."; + // + // fullOpacityToolStripMenuItem + // + this.fullOpacityToolStripMenuItem.DropDown = this.menuOpacity; + this.fullOpacityToolStripMenuItem.Name = "fullOpacityToolStripMenuItem"; + this.fullOpacityToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.fullOpacityToolStripMenuItem.Text = "Opacity"; + // // danskToolStripMenuItem // this.danskToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_danish; @@ -422,6 +459,31 @@ this.danskToolStripMenuItem.Text = "Dansk"; this.danskToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); // + // menuFullscreenContext + // + this.menuFullscreenContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fullSelectWindowToolStripMenuItem, + this.fullOpacityToolStripMenuItem, + this.enableClickthroughToolStripMenuItem, + this.fullExitToolStripMenuItem}); + this.menuFullscreenContext.Name = "menuFullscreenContext"; + this.menuFullscreenContext.Size = new System.Drawing.Size(187, 114); + // + // enableClickthroughToolStripMenuItem + // + this.enableClickthroughToolStripMenuItem.Name = "enableClickthroughToolStripMenuItem"; + this.enableClickthroughToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.enableClickthroughToolStripMenuItem.Text = "Enable Click-through"; + this.enableClickthroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // fullExitToolStripMenuItem + // + this.fullExitToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; + this.fullExitToolStripMenuItem.Name = "fullExitToolStripMenuItem"; + this.fullExitToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.fullExitToolStripMenuItem.Text = "Exit fullscreen mode"; + this.fullExitToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_ExitFullscreen_click); + // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -439,6 +501,7 @@ this.menuOpacity.ResumeLayout(false); this.menuResize.ResumeLayout(false); this.menuLanguages.ResumeLayout(false); + this.menuFullscreenContext.ResumeLayout(false); this.ResumeLayout(false); } @@ -474,7 +537,6 @@ private System.Windows.Forms.ToolStripMenuItem quarterToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem fullscreenToolStripMenuItem1; private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; - private System.Windows.Forms.ToolStripMenuItem forwardClicksToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem languageToolStripMenuItem; private System.Windows.Forms.ContextMenuStrip menuLanguages; private System.Windows.Forms.ToolStripMenuItem englishToolStripMenuItem; @@ -483,7 +545,15 @@ private System.Windows.Forms.ToolStripMenuItem danskToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem chromeToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem danskToolStripMenuItem1; + private System.Windows.Forms.ContextMenuStrip menuFullscreenContext; + private System.Windows.Forms.ToolStripMenuItem fullSelectWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullOpacityToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullExitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem advancedToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem forwardClicksToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickthroughToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem dualWindowModeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem enableClickthroughToolStripMenuItem; } } diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 19c59dd..55a1284 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -50,7 +50,7 @@ namespace OnTopReplica { //Set native renderer on context menus Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer( - menuContext, menuWindows, menuOpacity, menuResize, menuLanguages + menuContext, menuWindows, menuOpacity, menuResize, menuLanguages, menuFullscreenContext ); //Hook keyboard handler @@ -66,125 +66,6 @@ namespace OnTopReplica { Keys.O, new Native.HotKeyMethods.HotKeyHandler(HotKeyOpenHandler)); } - #region Child forms & controls events - - EventHandler RequestClosingHandler; - - const int SidePanelMargin = 1; - const int ScreenBorderMargin = 10; - - bool _sidePanelDidMoveForm = false; - Point _sidePanelPreviousFormLocation; - - /// - /// Opens a new side panel. - /// - /// The side panel to embed. - public void SetSidePanel(SidePanel panel) { - if (_currentSidePanel != null) { - CloseSidePanel(); - } - - _currentSidePanel = panel; - _currentSidePanel.OnFirstShown(this); - - //Add and show - _sidePanelContainer.Controls.Add(panel); - _sidePanelContainer.Visible = _sidePanelContainer.Enabled = true; - panel.Show(); - - int intHorzMargin = panel.Margin.Horizontal + _sidePanelContainer.Padding.Horizontal; //internal margins for sidepanel - int intVertMargin = panel.Margin.Vertical + _sidePanelContainer.Padding.Vertical; - - //Resize container - _sidePanelContainer.ClientSize = new Size( - panel.MinimumSize.Width + intHorzMargin, - ClientSize.Height - ); - - int rightHorzMargin = _sidePanelContainer.Width + SidePanelMargin; //horz margin between the two controls - - //Resize rest - MinimumSize = new Size( - 20 + panel.MinimumSize.Width + SidePanelMargin + intHorzMargin, - panel.MinimumSize.Height + intVertMargin - ); - ClientSize = new Size( - ClientSize.Width + rightHorzMargin, - ClientSize.Height - ); - ExtraPadding = new Padding(0, 0, rightHorzMargin, 0); - _thumbnailPanel.Size = new Size( - ClientSize.Width - rightHorzMargin, - ClientSize.Height - ); - _sidePanelContainer.Location = new Point( - ClientSize.Width - rightHorzMargin, - 0 - ); - - //Move window if needed - var screenCurr = Screen.FromControl(this); - int pRight = Location.X + Width + ScreenBorderMargin; - if (pRight >= screenCurr.Bounds.Width) { - _sidePanelPreviousFormLocation = Location; - _sidePanelDidMoveForm = true; - - Location = new Point(screenCurr.WorkingArea.Width - Width - ScreenBorderMargin, Location.Y); - } - else { - _sidePanelDidMoveForm = false; - } - - //Hook event listener - if (RequestClosingHandler == null) - RequestClosingHandler = new EventHandler(SidePanel_RequestClosing); - panel.RequestClosing += RequestClosingHandler; - } - - /// - /// Closes the current side panel. - /// - public void CloseSidePanel() { - if (_currentSidePanel == null) - return; - - //Unhook listener - _currentSidePanel.RequestClosing -= RequestClosingHandler; - - //Remove side panel - _currentSidePanel.OnClosing(this); - _sidePanelContainer.Controls.Clear(); - _sidePanelContainer.Visible = _sidePanelContainer.Enabled = false; - _currentSidePanel = null; - - //Resize - MinimumSize = new Size(20, 20); - ClientSize = new Size( - ClientSize.Width - _sidePanelContainer.Width - SidePanelMargin, - ClientSize.Height - ); - ExtraPadding = new Padding(0); - _thumbnailPanel.Size = ClientSize; - - //Move window back if needed - if (_sidePanelDidMoveForm) { - Location = _sidePanelPreviousFormLocation; - _sidePanelDidMoveForm = false; - } - } - - void SidePanel_RequestClosing(object sender, EventArgs e) { - CloseSidePanel(); - } - - void Thumbnail_CloneClick(object sender, CloneClickEventArgs e) { - //TODO: handle other mouse buttons - Win32Helper.InjectFakeMouseClick(_lastWindowHandle.Handle, e.ClientClickLocation, e.IsDoubleClick); - } - - #endregion - #region Event override protected override void OnShown(EventArgs e) { @@ -211,6 +92,15 @@ namespace OnTopReplica { new Margins(-1); } + protected override void OnActivated(EventArgs e) { + base.OnActivated(e); + + //Deactivate click-through if reactivated + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + } + protected override void OnDeactivate(EventArgs e) { base.OnDeactivate(e); @@ -228,6 +118,24 @@ namespace OnTopReplica { AdjustSize(change); } + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); + + //This is handled by the WM_NCLBUTTONDBLCLK msg handler usually (because the GlassForm translates + //clicks on client to clicks on caption). But if fullscreen mode disables GlassForm dragging, we need + //this auxiliary handler to switch mode. + IsFullscreen = !IsFullscreen; + } + + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); + + //Same story as above... + if (e.Button == System.Windows.Forms.MouseButtons.Right) { + OpenContextMenu(); + } + } + protected override void WndProc(ref Message m) { _msgPumpManager.PumpMessage(m); @@ -235,7 +143,7 @@ namespace OnTopReplica { case MessagingMethods.WM_NCRBUTTONUP: //Open context menu if right button clicked on caption (i.e. all of the window area because of glass) if (m.WParam.ToInt32() == MessagingMethods.HTCAPTION) { - menuContext.Show(MousePosition); + OpenContextMenu(); m.Result = IntPtr.Zero; return; @@ -251,6 +159,14 @@ namespace OnTopReplica { return; } break; + + case MessagingMethods.WM_NCHITTEST: + //Make transparent to hit-testing if in click through mode + if (ClickThroughEnabled) { + m.Result = (IntPtr)MessagingMethods.HTTRANSPARENT; + return; + } + break; } base.WndProc(ref m); @@ -258,221 +174,7 @@ namespace OnTopReplica { #endregion - #region Menu Event Handling - - private void Close_click(object sender, EventArgs e) { - this.Close(); - } - - private void Menu_opening(object sender, CancelEventArgs e) { - //Cancel if currently in "fullscreen" mode or a side panel is open - if (IsFullscreen || _currentSidePanel != null) { - e.Cancel = true; - return; - } - - selectRegionToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; - switchToWindowToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; - resizeToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; - chromeToolStripMenuItem.Checked = (FormBorderStyle == FormBorderStyle.Sizable); - forwardClicksToolStripMenuItem.Checked = _thumbnailPanel.ReportThumbnailClicks; - } - - private void Menu_Close_click(object sender, EventArgs e) { - this.Close(); - } - - private void Menu_About_click(object sender, EventArgs e) { - this.Hide(); - - using (var box = new AboutForm()) { - box.Location = RecenterLocation(this, box); - box.ShowDialog(); - Location = RecenterLocation(box, this); - } - - this.Show(); - } - - private void Menu_Language_click(object sender, EventArgs e) { - ToolStripItem tsi = (ToolStripItem)sender; - - string langCode = tsi.Tag as string; - - if (Program.ForceGlobalLanguageChange(langCode)) - this.Close(); - else - MessageBox.Show("Error"); - } - - void Menu_Windows_itemclick(object sender, EventArgs e) { - //Ensure the menu is closed - menuContext.Close(); - - //Get clicked item and window index from tag - ToolStripItem tsi = (ToolStripItem)sender; - - //Handle special "none" window - if (tsi.Tag == null) { - UnsetThumbnail(); - return; - } - - var selectionData = (WindowListHelper.WindowSelectionData)tsi.Tag; - SetThumbnail(selectionData.Handle, selectionData.Region); - } - - private void Menu_Switch_click(object sender, EventArgs e) { - if (_lastWindowHandle == null) - return; - - Program.Platform.HideForm(this); - Native.WindowManagerMethods.SetForegroundWindow(_lastWindowHandle.Handle); - } - - private void Menu_Group_click(object sender, EventArgs e) { - SetSidePanel(new SidePanels.GroupSwitchPanel()); - } - - private void Menu_Forward_click(object sender, EventArgs e) { - if (Settings.Default.FirstTimeClickForwarding && !_thumbnailPanel.ReportThumbnailClicks) { - TaskDialog dlg = new TaskDialog(Strings.InfoClickForwarding, Strings.InfoClickForwardingTitle, Strings.InfoClickForwardingContent) { - CommonButtons = TaskDialogButton.Yes | TaskDialogButton.No - }; - if (dlg.Show(this).CommonButton == Result.No) - return; - - Settings.Default.FirstTimeClickForwarding = false; - } - - _thumbnailPanel.ReportThumbnailClicks = !_thumbnailPanel.ReportThumbnailClicks; - } - - private void Menu_Opacity_opening(object sender, CancelEventArgs e) { - ToolStripMenuItem[] items = { - toolStripMenuItem1, - toolStripMenuItem2, - toolStripMenuItem3, - toolStripMenuItem4 - }; - - foreach (ToolStripMenuItem i in items) { - if ((double)i.Tag == this.Opacity) - i.Checked = true; - else - i.Checked = false; - } - } - - private void Menu_Opacity_click(object sender, EventArgs e) { - //Get clicked menu item - ToolStripMenuItem tsi = sender as ToolStripMenuItem; - - if (tsi != null) { - //Get opacity from the tag - this.Opacity = (double)tsi.Tag; - } - } - - private void Menu_Region_click(object sender, EventArgs e) { - SetSidePanel(new OnTopReplica.SidePanels.RegionPanel()); - } - - private void Menu_Resize_opening(object sender, CancelEventArgs e) { - if (!_thumbnailPanel.IsShowingThumbnail) - e.Cancel = true; - } - - private void Menu_Resize_Double(object sender, EventArgs e) { - FitToThumbnail(2.0); - } - - private void Menu_Resize_FitToWindow(object sender, EventArgs e) { - FitToThumbnail(1.0); - } - - private void Menu_Resize_Half(object sender, EventArgs e) { - FitToThumbnail(0.5); - } - - private void Menu_Resize_Quarter(object sender, EventArgs e) { - FitToThumbnail(0.25); - } - - private void Menu_Resize_Fullscreen(object sender, EventArgs e) { - IsFullscreen = true; - } - - private void Menu_Position_TopLeft(object sender, EventArgs e) { - var screen = Screen.FromControl(this); - - Location = new Point( - screen.WorkingArea.Left - ChromeBorderHorizontal, - screen.WorkingArea.Top - ChromeBorderVertical - ); - } - - private void Menu_Position_TopRight(object sender, EventArgs e) { - var screen = Screen.FromControl(this); - - Location = new Point( - screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, - screen.WorkingArea.Top - ChromeBorderVertical - ); - } - - private void Menu_Position_BottomLeft(object sender, EventArgs e) { - var screen = Screen.FromControl(this); - - Location = new Point( - screen.WorkingArea.Left - ChromeBorderHorizontal, - screen.WorkingArea.Height - Size.Height + ChromeBorderVertical - ); - } - - private void Menu_Position_BottomRight(object sender, EventArgs e) { - var screen = Screen.FromControl(this); - - Location = new Point( - screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, - screen.WorkingArea.Height - Size.Height + ChromeBorderVertical - ); - } - - private void Menu_Reduce_click(object sender, EventArgs e) { - //Hide form in a platform specific way - Program.Platform.HideForm(this); - } - - private void Menu_Windows_opening(object sender, EventArgs e) { - //Refresh window list - _windowManager.Refresh(WindowManager.EnumerationMode.TaskWindows); - - WindowListHelper.PopulateMenu(this, _windowManager, menuWindows, _lastWindowHandle, new EventHandler(Menu_Windows_itemclick)); - } - - private void Menu_Chrome_click(object sender, EventArgs e) { - if (FormBorderStyle == FormBorderStyle.Sizable) { - FormBorderStyle = FormBorderStyle.None; - Location = new Point { - X = Location.X + SystemInformation.FrameBorderSize.Width, - Y = Location.Y + SystemInformation.FrameBorderSize.Height - }; - } - else { - FormBorderStyle = FormBorderStyle.Sizable; - Location = new Point { - X = Location.X - SystemInformation.FrameBorderSize.Width, - Y = Location.Y - SystemInformation.FrameBorderSize.Height - }; - } - - Invalidate(); - } - - #endregion - - #region Event handling + #region Keyboard event handling void Form_KeyUp(object sender, KeyEventArgs e) { //ALT @@ -501,8 +203,14 @@ namespace OnTopReplica { //ESCAPE else if (e.KeyCode == Keys.Escape) { + Console.WriteLine("Received ESC"); + + //Disable click-through + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } //Toggle fullscreen - if (IsFullscreen) { + else if (IsFullscreen) { IsFullscreen = false; } //Disable click forwarding @@ -544,6 +252,7 @@ namespace OnTopReplica { GlassEnabled = !value; FormBorderStyle = (value) ? FormBorderStyle.None : FormBorderStyle.Sizable; TopMost = !value; + HandleMouseMove = !value; //Location and size if (value) { @@ -557,6 +266,7 @@ namespace OnTopReplica { else { Location = _preFullscreenLocation; Size = _preFullscreenSize; + RefreshAspectRatio(); } _isFullscreen = value; @@ -586,8 +296,8 @@ namespace OnTopReplica { ThumbnailError(ex, false, Strings.ErrorUnableToCreateThumbnail); } - //Set aspect ratio (this will resize the form) - SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize); + //Set aspect ratio (this will resize the form), do not refresh if in fullscreen + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize, !IsFullscreen); } /// @@ -637,33 +347,15 @@ namespace OnTopReplica { if (value.HasValue) { _thumbnailPanel.SelectedRegion = value.Value; - SetAspectRatio(value.Value.Size); + SetAspectRatio(value.Value.Size, true); } else { _thumbnailPanel.ConstrainToRegion = false; - SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize); + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize, true); } } } - /// - /// Gets the form's thumbnail panel. - /// - public ThumbnailPanel ThumbnailPanel { - get { - return _thumbnailPanel; - } - } - - /// - /// Gets the form's message pump manager. - /// - public MessagePumpManager MessagePumpManager { - get { - return _msgPumpManager; - } - } - private void ThumbnailError(Exception ex, bool suppress, string title) { if (!suppress) { ShowErrorDialog(title, Strings.ErrorGenericThumbnailHandleError, ex.Message); @@ -687,117 +379,51 @@ namespace OnTopReplica { #endregion - #region GUI stuff + #region Click-through - private Point RecenterLocation(Control original, Control final) { - int origX = original.Location.X + original.Size.Width / 2; - int origY = original.Location.Y + original.Size.Height / 2; + bool _clickThrough = false; - int finX = origX - final.Size.Width / 2; - int finY = origY - final.Size.Height / 2; - - //Check boundaries - var screen = Screen.FromControl(final); - if (finX < screen.WorkingArea.X) - finX = screen.WorkingArea.X; - if (finX + final.Size.Width > screen.WorkingArea.Width) - finX = screen.WorkingArea.Width - final.Size.Width; - if (finY < screen.WorkingArea.Y) - finY = screen.WorkingArea.Y; - if (finY + final.Size.Height > screen.WorkingArea.Height) - finY = screen.WorkingArea.Height - final.Size.Height; - - return new Point(finX, finY); - } - - private int ChromeBorderVertical { + public bool ClickThroughEnabled { get { - if (FormBorderStyle == FormBorderStyle.Sizable) - return SystemInformation.FrameBorderSize.Height; - else - return 0; + return _clickThrough; } - } + set { + //Adjust opacity if fully opaque + if (value && Opacity == 1.0) + Opacity = 0.75; - private int ChromeBorderHorizontal { - get { - if (FormBorderStyle == FormBorderStyle.Sizable) - return SystemInformation.FrameBorderSize.Width; - else - return 0; + //Enable transparency and force as top-most + TransparencyKey = (value) ? Color.Black : Color.Transparent; + if (value) + TopMost = true; + + _clickThrough = value; } } - /// - /// Displays an error task dialog. - /// - /// Main instruction of the error dialog. - /// Detailed informations about the error. - /// Expanded error codes/messages. - private void ShowErrorDialog(string mainInstruction, string explanation, string errorMessage) { - TaskDialog dlg = new TaskDialog(mainInstruction, Strings.ErrorGenericTitle, explanation) { - CommonIcon = TaskDialogIcon.Stop, - IsExpanded = false - }; - - if (!string.IsNullOrEmpty(errorMessage)) { - dlg.ExpandedInformation = Strings.ErrorGenericInfoText + errorMessage; - dlg.ExpandedControlText = Strings.ErrorGenericInfoButton; - } - - dlg.Show(this); - } - - /// - /// Ensures that the main form is visible (either closing the fullscreen mode or reactivating from task icon). - /// - public void EnsureMainFormVisible() { - if (IsFullscreen) - IsFullscreen = false; - - //Ensure main form is shown - WindowState = FormWindowState.Normal; - Show(); - Activate(); - TopMost = true; - } - - /// - /// Opens a confirmation dialog to confirm whether to reset the main form or not. - /// - public void ResetMainFormWithConfirmation() { - var dlg = new TaskDialog(Strings.AskReset, Strings.AskResetTitle, Strings.AskResetContent); - dlg.UseCommandLinks = true; - dlg.CustomButtons = new CustomButton[] { - new CustomButton(Result.OK, Strings.AskResetButtonOk), - new CustomButton(Result.Cancel, Strings.ButtonCancel) - }; - dlg.CommonIcon = TaskDialogIcon.Information; - - if (dlg.Show(this).CommonButton == Result.OK) { - ResetMainForm(); - } - } - - /// - /// Resets the main form to its initial state. - /// - public void ResetMainForm() { - //Reset form settings - UnsetThumbnail(); - CloseSidePanel(); - - //Reset location and size (edge of the screen, min size) - Point nuLoc = Screen.PrimaryScreen.WorkingArea.Location; - nuLoc.Offset(40, 40); - Location = nuLoc; - Size = MinimumSize; - - this.Show(); - this.Activate(); - } - #endregion + #region Accessors + + /// + /// Gets the form's thumbnail panel. + /// + public ThumbnailPanel ThumbnailPanel { + get { + return _thumbnailPanel; + } + } + + /// + /// Gets the form's message pump manager. + /// + public MessagePumpManager MessagePumpManager { + get { + return _msgPumpManager; + } + } + + #endregion + } } diff --git a/OnTopReplica/MainForm.resx b/OnTopReplica/MainForm.resx index 81c9540..a3589f5 100644 --- a/OnTopReplica/MainForm.resx +++ b/OnTopReplica/MainForm.resx @@ -127,10 +127,13 @@ 275, 17 - 547, 17 + 578, 17 - 664, 17 + 695, 17 + + + 399, 17 diff --git a/OnTopReplica/MainForm_ChildForms.cs b/OnTopReplica/MainForm_ChildForms.cs new file mode 100644 index 0000000..c5c3626 --- /dev/null +++ b/OnTopReplica/MainForm_ChildForms.cs @@ -0,0 +1,126 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Drawing; + +namespace OnTopReplica { + partial class MainForm { + + EventHandler RequestClosingHandler; + + const int SidePanelMargin = 1; + const int ScreenBorderMargin = 10; + + bool _sidePanelDidMoveForm = false; + Point _sidePanelPreviousFormLocation; + + /// + /// Opens a new side panel. + /// + /// The side panel to embed. + public void SetSidePanel(SidePanel panel) { + if (_currentSidePanel != null) { + CloseSidePanel(); + } + + _currentSidePanel = panel; + _currentSidePanel.OnFirstShown(this); + + //Add and show + _sidePanelContainer.Controls.Add(panel); + _sidePanelContainer.Visible = _sidePanelContainer.Enabled = true; + panel.Show(); + + int intHorzMargin = panel.Margin.Horizontal + _sidePanelContainer.Padding.Horizontal; //internal margins for sidepanel + int intVertMargin = panel.Margin.Vertical + _sidePanelContainer.Padding.Vertical; + + //Resize container + _sidePanelContainer.ClientSize = new Size( + panel.MinimumSize.Width + intHorzMargin, + ClientSize.Height + ); + + int rightHorzMargin = _sidePanelContainer.Width + SidePanelMargin; //horz margin between the two controls + + //Resize rest + MinimumSize = new Size( + 20 + panel.MinimumSize.Width + SidePanelMargin + intHorzMargin, + panel.MinimumSize.Height + intVertMargin + ); + ClientSize = new Size( + ClientSize.Width + rightHorzMargin, + ClientSize.Height + ); + ExtraPadding = new Padding(0, 0, rightHorzMargin, 0); + _thumbnailPanel.Size = new Size( + ClientSize.Width - rightHorzMargin, + ClientSize.Height + ); + _sidePanelContainer.Location = new Point( + ClientSize.Width - rightHorzMargin, + 0 + ); + + //Move window if needed + var screenCurr = Screen.FromControl(this); + int pRight = Location.X + Width + ScreenBorderMargin; + if (pRight >= screenCurr.Bounds.Width) { + _sidePanelPreviousFormLocation = Location; + _sidePanelDidMoveForm = true; + + Location = new Point(screenCurr.WorkingArea.Width - Width - ScreenBorderMargin, Location.Y); + } + else { + _sidePanelDidMoveForm = false; + } + + //Hook event listener + if (RequestClosingHandler == null) + RequestClosingHandler = new EventHandler(SidePanel_RequestClosing); + panel.RequestClosing += RequestClosingHandler; + } + + /// + /// Closes the current side panel. + /// + public void CloseSidePanel() { + if (_currentSidePanel == null) + return; + + //Unhook listener + _currentSidePanel.RequestClosing -= RequestClosingHandler; + + //Remove side panel + _currentSidePanel.OnClosing(this); + _sidePanelContainer.Controls.Clear(); + _sidePanelContainer.Visible = _sidePanelContainer.Enabled = false; + _currentSidePanel = null; + + //Resize + MinimumSize = new Size(20, 20); + ClientSize = new Size( + ClientSize.Width - _sidePanelContainer.Width - SidePanelMargin, + ClientSize.Height + ); + ExtraPadding = new Padding(0); + _thumbnailPanel.Size = ClientSize; + + //Move window back if needed + if (_sidePanelDidMoveForm) { + Location = _sidePanelPreviousFormLocation; + _sidePanelDidMoveForm = false; + } + } + + void SidePanel_RequestClosing(object sender, EventArgs e) { + CloseSidePanel(); + } + + void Thumbnail_CloneClick(object sender, CloneClickEventArgs e) { + //TODO: handle other mouse buttons + Win32Helper.InjectFakeMouseClick(_lastWindowHandle.Handle, e.ClientClickLocation, e.IsDoubleClick); + } + + } +} diff --git a/OnTopReplica/MainForm_Gui.cs b/OnTopReplica/MainForm_Gui.cs new file mode 100644 index 0000000..9cd969b --- /dev/null +++ b/OnTopReplica/MainForm_Gui.cs @@ -0,0 +1,131 @@ +using System.Drawing; +using System.Windows.Forms; +using VistaControls.TaskDialog; + +namespace OnTopReplica { + partial class MainForm { + + /// + /// Opens the context menu. + /// + public void OpenContextMenu() { + if (IsFullscreen) { + menuFullscreenContext.Show(MousePosition); + } + else { + menuContext.Show(MousePosition); + } + } + + private Point RecenterLocation(Control original, Control final) { + int origX = original.Location.X + original.Size.Width / 2; + int origY = original.Location.Y + original.Size.Height / 2; + + int finX = origX - final.Size.Width / 2; + int finY = origY - final.Size.Height / 2; + + //Check boundaries + var screen = Screen.FromControl(final); + if (finX < screen.WorkingArea.X) + finX = screen.WorkingArea.X; + if (finX + final.Size.Width > screen.WorkingArea.Width) + finX = screen.WorkingArea.Width - final.Size.Width; + if (finY < screen.WorkingArea.Y) + finY = screen.WorkingArea.Y; + if (finY + final.Size.Height > screen.WorkingArea.Height) + finY = screen.WorkingArea.Height - final.Size.Height; + + return new Point(finX, finY); + } + + private int ChromeBorderVertical { + get { + if (FormBorderStyle == FormBorderStyle.Sizable) + return SystemInformation.FrameBorderSize.Height; + else + return 0; + } + } + + private int ChromeBorderHorizontal { + get { + if (FormBorderStyle == FormBorderStyle.Sizable) + return SystemInformation.FrameBorderSize.Width; + else + return 0; + } + } + + /// + /// Displays an error task dialog. + /// + /// Main instruction of the error dialog. + /// Detailed informations about the error. + /// Expanded error codes/messages. + private void ShowErrorDialog(string mainInstruction, string explanation, string errorMessage) { + TaskDialog dlg = new TaskDialog(mainInstruction, Strings.ErrorGenericTitle, explanation) { + CommonIcon = TaskDialogIcon.Stop, + IsExpanded = false + }; + + if (!string.IsNullOrEmpty(errorMessage)) { + dlg.ExpandedInformation = Strings.ErrorGenericInfoText + errorMessage; + dlg.ExpandedControlText = Strings.ErrorGenericInfoButton; + } + + dlg.Show(this); + } + + /// + /// Ensures that the main form is visible (either closing the fullscreen mode or reactivating from task icon). + /// + public void EnsureMainFormVisible() { + //Reset special modes + IsFullscreen = false; + ClickThroughEnabled = false; + Opacity = 1.0; + + //Ensure main form is shown + WindowState = FormWindowState.Normal; + Show(); + Activate(); + TopMost = true; + } + + /// + /// Opens a confirmation dialog to confirm whether to reset the main form or not. + /// + public void ResetMainFormWithConfirmation() { + var dlg = new TaskDialog(Strings.AskReset, Strings.AskResetTitle, Strings.AskResetContent); + dlg.UseCommandLinks = true; + dlg.CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, Strings.AskResetButtonOk), + new CustomButton(Result.Cancel, Strings.ButtonCancel) + }; + dlg.CommonIcon = TaskDialogIcon.Information; + + if (dlg.Show(this).CommonButton == Result.OK) { + ResetMainForm(); + } + } + + /// + /// Resets the main form to its initial state. + /// + public void ResetMainForm() { + //Reset form settings + UnsetThumbnail(); + CloseSidePanel(); + + //Reset location and size (edge of the screen, min size) + Point nuLoc = Screen.PrimaryScreen.WorkingArea.Location; + nuLoc.Offset(40, 40); + Location = nuLoc; + Size = MinimumSize; + + this.Show(); + this.Activate(); + } + + } +} diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs new file mode 100644 index 0000000..15f7028 --- /dev/null +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -0,0 +1,226 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using VistaControls.TaskDialog; + +namespace OnTopReplica { + partial class MainForm { + + private void Menu_opening(object sender, CancelEventArgs e) { + //Cancel if currently in "fullscreen" mode or a side panel is open + if (IsFullscreen || _currentSidePanel != null) { + e.Cancel = true; + return; + } + + selectRegionToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; + switchToWindowToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; + resizeToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; + chromeToolStripMenuItem.Checked = (FormBorderStyle == FormBorderStyle.Sizable); + forwardClicksToolStripMenuItem.Checked = _thumbnailPanel.ReportThumbnailClicks; + } + + private void Menu_Windows_opening(object sender, CancelEventArgs e) { + _windowManager.Refresh(WindowManager.EnumerationMode.TaskWindows); + WindowListHelper.PopulateMenu(this, _windowManager, (ToolStrip)sender, + _lastWindowHandle, new EventHandler(Menu_Windows_itemclick)); + } + + void Menu_Windows_itemclick(object sender, EventArgs e) { + //Ensure the menu is closed + menuContext.Close(); + menuFullscreenContext.Close(); + + //Get clicked item and window index from tag + ToolStripItem tsi = (ToolStripItem)sender; + + //Handle special "none" window + if (tsi.Tag == null) { + UnsetThumbnail(); + return; + } + + var selectionData = (WindowListHelper.WindowSelectionData)tsi.Tag; + SetThumbnail(selectionData.Handle, selectionData.Region); + } + + private void Menu_Switch_click(object sender, EventArgs e) { + if (_lastWindowHandle == null) + return; + + Program.Platform.HideForm(this); + Native.WindowManagerMethods.SetForegroundWindow(_lastWindowHandle.Handle); + } + + private void Menu_GroupSwitchMode_click(object sender, EventArgs e) { + SetSidePanel(new SidePanels.GroupSwitchPanel()); + } + + private void Menu_ClickForwarding_click(object sender, EventArgs e) { + if (Settings.Default.FirstTimeClickForwarding && !_thumbnailPanel.ReportThumbnailClicks) { + TaskDialog dlg = new TaskDialog(Strings.InfoClickForwarding, Strings.InfoClickForwardingTitle, Strings.InfoClickForwardingContent) { + CommonButtons = TaskDialogButton.Yes | TaskDialogButton.No + }; + if (dlg.Show(this).CommonButton == Result.No) + return; + + Settings.Default.FirstTimeClickForwarding = false; + } + + _thumbnailPanel.ReportThumbnailClicks = !_thumbnailPanel.ReportThumbnailClicks; + } + + private void Menu_ClickThrough_click(object sender, EventArgs e) { + ClickThroughEnabled = true; + } + + private void Menu_Opacity_opening(object sender, CancelEventArgs e) { + ToolStripMenuItem[] items = { + toolStripMenuItem1, + toolStripMenuItem2, + toolStripMenuItem3, + toolStripMenuItem4 + }; + + foreach (ToolStripMenuItem i in items) { + if ((double)i.Tag == this.Opacity) + i.Checked = true; + else + i.Checked = false; + } + } + + private void Menu_Opacity_click(object sender, EventArgs e) { + //Get clicked menu item + ToolStripMenuItem tsi = sender as ToolStripMenuItem; + + if (tsi != null) { + //Get opacity from the tag + this.Opacity = (double)tsi.Tag; + } + } + + private void Menu_Region_click(object sender, EventArgs e) { + SetSidePanel(new OnTopReplica.SidePanels.RegionPanel()); + } + + private void Menu_Resize_opening(object sender, CancelEventArgs e) { + if (!_thumbnailPanel.IsShowingThumbnail) + e.Cancel = true; + } + + private void Menu_Resize_Double(object sender, EventArgs e) { + FitToThumbnail(2.0); + } + + private void Menu_Resize_FitToWindow(object sender, EventArgs e) { + FitToThumbnail(1.0); + } + + private void Menu_Resize_Half(object sender, EventArgs e) { + FitToThumbnail(0.5); + } + + private void Menu_Resize_Quarter(object sender, EventArgs e) { + FitToThumbnail(0.25); + } + + private void Menu_Resize_Fullscreen(object sender, EventArgs e) { + IsFullscreen = true; + } + + private void Menu_Position_TopLeft(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Left - ChromeBorderHorizontal, + screen.WorkingArea.Top - ChromeBorderVertical + ); + } + + private void Menu_Position_TopRight(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, + screen.WorkingArea.Top - ChromeBorderVertical + ); + } + + private void Menu_Position_BottomLeft(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Left - ChromeBorderHorizontal, + screen.WorkingArea.Height - Size.Height + ChromeBorderVertical + ); + } + + private void Menu_Position_BottomRight(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, + screen.WorkingArea.Height - Size.Height + ChromeBorderVertical + ); + } + + private void Menu_Reduce_click(object sender, EventArgs e) { + //Hide form in a platform specific way + Program.Platform.HideForm(this); + } + + private void Menu_Chrome_click(object sender, EventArgs e) { + if (FormBorderStyle == FormBorderStyle.Sizable) { + FormBorderStyle = FormBorderStyle.None; + Location = new Point { + X = Location.X + SystemInformation.FrameBorderSize.Width, + Y = Location.Y + SystemInformation.FrameBorderSize.Height + }; + } + else { + FormBorderStyle = FormBorderStyle.Sizable; + Location = new Point { + X = Location.X - SystemInformation.FrameBorderSize.Width, + Y = Location.Y - SystemInformation.FrameBorderSize.Height + }; + } + + Invalidate(); + } + + private void Menu_Language_click(object sender, EventArgs e) { + ToolStripItem tsi = (ToolStripItem)sender; + + string langCode = tsi.Tag as string; + + if (Program.ForceGlobalLanguageChange(langCode)) + this.Close(); + else + MessageBox.Show("Error"); + } + + private void Menu_About_click(object sender, EventArgs e) { + this.Hide(); + + using (var box = new AboutForm()) { + box.Location = RecenterLocation(this, box); + box.ShowDialog(); + Location = RecenterLocation(box, this); + } + + this.Show(); + } + + private void Menu_Close_click(object sender, EventArgs e) { + this.Close(); + } + + private void Menu_Fullscreen_ExitFullscreen_click(object sender, EventArgs e) { + IsFullscreen = false; + } + + } +} diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 57c8052..91df4f8 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -132,6 +132,15 @@ + + Form + + + Form + + + Form + @@ -287,6 +296,7 @@ + @@ -294,6 +304,7 @@ Designer + diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs index f159303..0a2f9e2 100644 --- a/OnTopReplica/Properties/Resources.Designer.cs +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -269,5 +269,12 @@ namespace OnTopReplica.Properties { return ((System.Drawing.Bitmap)(obj)); } } + + internal static System.Drawing.Bitmap xiao_wrench { + get { + object obj = ResourceManager.GetObject("xiao_wrench", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } } } diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx index c0124f7..41a7f83 100644 --- a/OnTopReplica/Properties/Resources.resx +++ b/OnTopReplica/Properties/Resources.resx @@ -202,11 +202,14 @@ ..\Assets\flag_usa.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Assets\xiao_add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Assets\xiao_delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_wrench.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/OnTopReplica/Properties/Settings.Designer.cs b/OnTopReplica/Properties/Settings.Designer.cs index 120dafe..34d376b 100644 --- a/OnTopReplica/Properties/Settings.Designer.cs +++ b/OnTopReplica/Properties/Settings.Designer.cs @@ -129,5 +129,29 @@ namespace OnTopReplica.Properties { this["FullscreenAlwaysOnTop"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string Setting { + get { + return ((string)(this["Setting"])); + } + set { + this["Setting"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string Setting1 { + get { + return ((string)(this["Setting1"])); + } + set { + this["Setting1"] = value; + } + } } } diff --git a/OnTopReplica/Properties/Settings.settings b/OnTopReplica/Properties/Settings.settings index 5b9036d..8aab035 100644 --- a/OnTopReplica/Properties/Settings.settings +++ b/OnTopReplica/Properties/Settings.settings @@ -29,5 +29,11 @@ False + + + + + + \ No newline at end of file diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs index 26aafc3..7d48dff 100644 --- a/OnTopReplica/ThumbnailPanel.cs +++ b/OnTopReplica/ThumbnailPanel.cs @@ -160,6 +160,8 @@ namespace OnTopReplica { if(owner == null) throw new Exception("Internal error: ThumbnailPanel.TopLevelControl is not a Form."); + _labelGlass.Visible = false; + _thumbnail = DwmManager.Register(owner, handle.Handle); ConstrainToRegion = false; //this also invokes a thumbnail update } @@ -172,6 +174,7 @@ namespace OnTopReplica { _thumbnail.Close(); _thumbnail = null; + _labelGlass.Visible = true; } /// diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config index 89eb854..f10287c 100644 --- a/OnTopReplica/app.config +++ b/OnTopReplica/app.config @@ -31,6 +31,12 @@ False + + + + + + From d9d31c3eed49546c9e12e6c6567efd19c9a7e02b Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 1 Jul 2010 03:15:50 +0200 Subject: [PATCH 042/164] Minor code reorganization. --- OnTopReplica/FullscreenMode.cs | 25 ------------------- OnTopReplica/{ => Native}/CommonControls.cs | 2 +- .../{ => Native}/WindowsSevenMethods.cs | 2 +- OnTopReplica/OnTopReplica.csproj | 5 ++-- OnTopReplica/Platforms/WindowsSeven.cs | 6 ++--- OnTopReplica/WindowListHelper.cs | 6 ++--- 6 files changed, 9 insertions(+), 37 deletions(-) delete mode 100644 OnTopReplica/FullscreenMode.cs rename OnTopReplica/{ => Native}/CommonControls.cs (92%) rename OnTopReplica/{ => Native}/WindowsSevenMethods.cs (90%) diff --git a/OnTopReplica/FullscreenMode.cs b/OnTopReplica/FullscreenMode.cs deleted file mode 100644 index a6163de..0000000 --- a/OnTopReplica/FullscreenMode.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OnTopReplica { - - /// - /// Describes a fullscreen mode used by OnTopReplica. - /// - public enum FullscreenMode { - /// - /// Normal non-topmost fullscreen mode. - /// - Normal, - /// - /// Topmost fullscreen mode. - /// - AlwaysOnTop, - /// - /// Clickthrough overlay mode. - /// - ClickThrough - } - -} diff --git a/OnTopReplica/CommonControls.cs b/OnTopReplica/Native/CommonControls.cs similarity index 92% rename from OnTopReplica/CommonControls.cs rename to OnTopReplica/Native/CommonControls.cs index fa2af71..bf2123c 100644 --- a/OnTopReplica/CommonControls.cs +++ b/OnTopReplica/Native/CommonControls.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; -namespace OnTopReplica { +namespace OnTopReplica.Native { public static class CommonControls { [DllImport("comctl32.dll", EntryPoint = "InitCommonControlsEx", CallingConvention = CallingConvention.StdCall)] diff --git a/OnTopReplica/WindowsSevenMethods.cs b/OnTopReplica/Native/WindowsSevenMethods.cs similarity index 90% rename from OnTopReplica/WindowsSevenMethods.cs rename to OnTopReplica/Native/WindowsSevenMethods.cs index c84bbb5..587bf95 100644 --- a/OnTopReplica/WindowsSevenMethods.cs +++ b/OnTopReplica/Native/WindowsSevenMethods.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; -namespace OnTopReplica { +namespace OnTopReplica.Native { static class WindowsSevenMethods { diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 91df4f8..495da4f 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -163,10 +163,9 @@ GroupSwitchPanel.cs - - + + - diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs index 945e813..a9e0a11 100644 --- a/OnTopReplica/Platforms/WindowsSeven.cs +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -1,8 +1,6 @@ -using System; -using System.Collections.Generic; -using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; using VistaControls.Dwm; -using System.Windows.Forms; namespace OnTopReplica.Platforms { class WindowsSeven : WindowsVista { diff --git a/OnTopReplica/WindowListHelper.cs b/OnTopReplica/WindowListHelper.cs index e61c757..88f7964 100644 --- a/OnTopReplica/WindowListHelper.cs +++ b/OnTopReplica/WindowListHelper.cs @@ -12,7 +12,7 @@ namespace OnTopReplica { public StoredRegion Region { get; set; } } - const int cMaxWindowTitleLength = 55; + const int MaxWindowTitleLength = 55; public static void PopulateMenu(Form ownerForm, WindowManager windowManager, ToolStrip menu, WindowHandle currentHandle, EventHandler clickHandler) { @@ -37,8 +37,8 @@ namespace OnTopReplica { var tsi = new ToolStripMenuItem(); //Window title - if (h.Title.Length > cMaxWindowTitleLength) { - tsi.Text = h.Title.Substring(0, cMaxWindowTitleLength) + "..."; + if (h.Title.Length > MaxWindowTitleLength) { + tsi.Text = h.Title.Substring(0, MaxWindowTitleLength) + "..."; tsi.ToolTipText = h.Title; } else From 06f2013f9e3110c0461a2459e32bd1ebf347ba7e Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 1 Jul 2010 03:58:52 +0200 Subject: [PATCH 043/164] Some localization strings added (EN, IT). Fixed .Designer files in order to load localized strings everywhere. --- OnTopReplica/MainForm.Designer.cs | 21 +- OnTopReplica/MainForm_MenuEvents.cs | 10 +- OnTopReplica/OnTopReplica.csproj | 16 +- OnTopReplica/Properties/AssemblyInfo.cs | 4 +- .../SidePanels/GroupSwitchPanel.Designer.cs | 10 +- OnTopReplica/SidePanels/GroupSwitchPanel.cs | 4 +- .../SidePanels/RegionPanel.Designer.cs | 8 +- OnTopReplica/Strings.Designer.cs | 211 ++-- OnTopReplica/Strings.cs.resx | 1027 ++++++++-------- OnTopReplica/Strings.da.resx | 900 +++++++------- OnTopReplica/Strings.it.resx | 1026 ++++++++-------- OnTopReplica/Strings.resx | 1029 ++++++++--------- 12 files changed, 1982 insertions(+), 2284 deletions(-) diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 72855c1..3f3feb0 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -152,13 +152,14 @@ this.advancedToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_wrench; this.advancedToolStripMenuItem.Name = "advancedToolStripMenuItem"; this.advancedToolStripMenuItem.Size = new System.Drawing.Size(168, 22); - this.advancedToolStripMenuItem.Text = "Advanced"; + this.advancedToolStripMenuItem.Text = Strings.MenuAdvanced; // // forwardClicksToolStripMenuItem // this.forwardClicksToolStripMenuItem.Name = "forwardClicksToolStripMenuItem"; this.forwardClicksToolStripMenuItem.Size = new System.Drawing.Size(199, 22); - this.forwardClicksToolStripMenuItem.Text = "Enable Click forwarding"; + this.forwardClicksToolStripMenuItem.Text = Strings.MenuClickForwarding; + this.forwardClicksToolStripMenuItem.ToolTipText = Strings.MenuClickForwardingTT; this.forwardClicksToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickForwardingTT; this.forwardClicksToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickForwarding_click); // @@ -166,14 +167,16 @@ // this.clickthroughToolStripMenuItem.Name = "clickthroughToolStripMenuItem"; this.clickthroughToolStripMenuItem.Size = new System.Drawing.Size(199, 22); - this.clickthroughToolStripMenuItem.Text = "Enable Click-through"; + this.clickthroughToolStripMenuItem.Text = Strings.MenuClickThrough; + this.clickthroughToolStripMenuItem.ToolTipText = Strings.MenuClickThroughTT; this.clickthroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); // // dualWindowModeToolStripMenuItem // this.dualWindowModeToolStripMenuItem.Name = "dualWindowModeToolStripMenuItem"; this.dualWindowModeToolStripMenuItem.Size = new System.Drawing.Size(199, 22); - this.dualWindowModeToolStripMenuItem.Text = "Group switch mode"; + this.dualWindowModeToolStripMenuItem.Text = Strings.MenuGroupSwitch; + this.dualWindowModeToolStripMenuItem.ToolTipText = Strings.MenuGroupSwitchTT; this.dualWindowModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_GroupSwitchMode_click); // // menuContextOpacity @@ -441,14 +444,15 @@ this.fullSelectWindowToolStripMenuItem.DropDown = this.menuWindows; this.fullSelectWindowToolStripMenuItem.Name = "fullSelectWindowToolStripMenuItem"; this.fullSelectWindowToolStripMenuItem.Size = new System.Drawing.Size(186, 22); - this.fullSelectWindowToolStripMenuItem.Text = "Select window..."; + this.fullSelectWindowToolStripMenuItem.Text = Strings.MenuWindows; + this.fullSelectWindowToolStripMenuItem.ToolTipText = Strings.MenuWindowsTT; // // fullOpacityToolStripMenuItem // this.fullOpacityToolStripMenuItem.DropDown = this.menuOpacity; this.fullOpacityToolStripMenuItem.Name = "fullOpacityToolStripMenuItem"; this.fullOpacityToolStripMenuItem.Size = new System.Drawing.Size(186, 22); - this.fullOpacityToolStripMenuItem.Text = "Opacity"; + this.fullOpacityToolStripMenuItem.Text = Strings.MenuOpacity; // // danskToolStripMenuItem // @@ -473,7 +477,8 @@ // this.enableClickthroughToolStripMenuItem.Name = "enableClickthroughToolStripMenuItem"; this.enableClickthroughToolStripMenuItem.Size = new System.Drawing.Size(186, 22); - this.enableClickthroughToolStripMenuItem.Text = "Enable Click-through"; + this.enableClickthroughToolStripMenuItem.Text = Strings.MenuClickThrough; + this.enableClickthroughToolStripMenuItem.ToolTipText = Strings.MenuClickThroughTT; this.enableClickthroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); // // fullExitToolStripMenuItem @@ -481,7 +486,7 @@ this.fullExitToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; this.fullExitToolStripMenuItem.Name = "fullExitToolStripMenuItem"; this.fullExitToolStripMenuItem.Size = new System.Drawing.Size(180, 22); - this.fullExitToolStripMenuItem.Text = "Exit fullscreen mode"; + this.fullExitToolStripMenuItem.Text = Strings.MenuQuitFullscreen; this.fullExitToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_ExitFullscreen_click); // // MainForm diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs index 15f7028..98f61a8 100644 --- a/OnTopReplica/MainForm_MenuEvents.cs +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -15,11 +15,15 @@ namespace OnTopReplica { return; } - selectRegionToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; - switchToWindowToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; - resizeToolStripMenuItem.Enabled = _thumbnailPanel.IsShowingThumbnail; + bool showing = _thumbnailPanel.IsShowingThumbnail; + + selectRegionToolStripMenuItem.Enabled = showing; + switchToWindowToolStripMenuItem.Enabled = showing; + resizeToolStripMenuItem.Enabled = showing; chromeToolStripMenuItem.Checked = (FormBorderStyle == FormBorderStyle.Sizable); forwardClicksToolStripMenuItem.Checked = _thumbnailPanel.ReportThumbnailClicks; + chromeToolStripMenuItem.Enabled = showing; + advancedToolStripMenuItem.Enabled = showing; } private void Menu_Windows_opening(object sender, CancelEventArgs e) { diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 495da4f..3445c0f 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -48,8 +48,8 @@ true publish.htm false - 2 - 2.9.5.%2a + 0 + 3.0.0.%2a false true true @@ -182,6 +182,11 @@ True Strings.da.resx + + True + True + Strings.resx + Strings.it.resx True @@ -234,9 +239,9 @@ Designer - ResXFileCodeGenerator Strings.Designer.cs Designer + ResXFileCodeGenerator True @@ -260,11 +265,6 @@ - - True - True - Strings.resx - Component diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs index 4848486..bb63a90 100644 --- a/OnTopReplica/Properties/AssemblyInfo.cs +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.9.5.0")] -[assembly: AssemblyFileVersion("2.9.5.0")] +[assembly: AssemblyVersion("3.0.0.0")] +[assembly: AssemblyFileVersion("3.0.0.0")] diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs index 28a66f5..248924d 100644 --- a/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs @@ -44,7 +44,7 @@ this.groupBox1.Size = new System.Drawing.Size(228, 296); this.groupBox1.TabIndex = 0; this.groupBox1.TabStop = false; - this.groupBox1.Text = "Group switch mode"; + this.groupBox1.Text = Strings.GroupSwitchModeTitle; // // buttonCancel // @@ -53,7 +53,7 @@ this.buttonCancel.Name = "buttonCancel"; this.buttonCancel.Size = new System.Drawing.Size(70, 23); this.buttonCancel.TabIndex = 2; - this.buttonCancel.Text = "Disable"; + this.buttonCancel.Text = Strings.GroupSwitchModeDisableButton; this.buttonCancel.UseVisualStyleBackColor = true; this.buttonCancel.Click += new System.EventHandler(this.Cancel_click); // @@ -65,7 +65,7 @@ this.buttonEnable.Name = "buttonEnable"; this.buttonEnable.Size = new System.Drawing.Size(134, 23); this.buttonEnable.TabIndex = 1; - this.buttonEnable.Text = "Enable group mode"; + this.buttonEnable.Text = Strings.GroupSwitchModeEnableButton; this.buttonEnable.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; this.buttonEnable.UseVisualStyleBackColor = true; this.buttonEnable.Click += new System.EventHandler(this.Enable_click); @@ -90,7 +90,7 @@ // // colName // - this.colName.Text = "Windows"; + this.colName.Text = Strings.GroupSwitchModeWindows; this.colName.Width = 220; // // labelStatus @@ -101,7 +101,7 @@ this.labelStatus.Name = "labelStatus"; this.labelStatus.Size = new System.Drawing.Size(219, 17); this.labelStatus.TabIndex = 3; - this.labelStatus.Text = "-"; + this.labelStatus.Text = ""; this.labelStatus.TextAlign = System.Drawing.ContentAlignment.BottomRight; // // GroupSwitchPanel diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.cs index 752579f..8dd02fe 100644 --- a/OnTopReplica/SidePanels/GroupSwitchPanel.cs +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.cs @@ -18,8 +18,8 @@ namespace OnTopReplica.SidePanels { LoadWindowList(); labelStatus.Text = (ParentForm.MessagePumpManager.Get().IsActive) ? - "Group switching is active." : - "Select multiple windows to enable."; + Strings.GroupSwitchModeStatusEnabled : + Strings.GroupSwitchModeStatusDisabled; } private void LoadWindowList() { diff --git a/OnTopReplica/SidePanels/RegionPanel.Designer.cs b/OnTopReplica/SidePanels/RegionPanel.Designer.cs index a803575..e39dab9 100644 --- a/OnTopReplica/SidePanels/RegionPanel.Designer.cs +++ b/OnTopReplica/SidePanels/RegionPanel.Designer.cs @@ -69,7 +69,7 @@ this.groupBox1.Size = new System.Drawing.Size(184, 189); this.groupBox1.TabIndex = 0; this.groupBox1.TabStop = false; - this.groupBox1.Text = "Regions"; + this.groupBox1.Text = Strings.RegionsTitle; // // textRegionName // @@ -194,7 +194,7 @@ this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(38, 13); this.label6.TabIndex = 9; - this.label6.Text = "Height"; + this.label6.Text = Strings.RegionsHeight; // // label7 // @@ -204,7 +204,7 @@ this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(35, 13); this.label7.TabIndex = 8; - this.label7.Text = "Width"; + this.label7.Text = Strings.RegionsWidth; // // label3 // @@ -234,7 +234,7 @@ this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(76, 13); this.label1.TabIndex = 3; - this.label1.Text = "Current region:"; + this.label1.Text = Strings.RegionsCurrentRegion; // // buttonDelete // diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs index 2dbe313..ebacaa0 100644 --- a/OnTopReplica/Strings.Designer.cs +++ b/OnTopReplica/Strings.Designer.cs @@ -97,41 +97,41 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to <html> - /// <head> - /// <style type="text/css"> - ///body { - /// font-family: Segoe UI, Arial, sans-serif; - /// font-size: 0.8em; - /// margin: 0; - ///padding: 0.75em; - ///} - ///h1 { - /// font-size: 1.4em; - /// font-weight: bold; - /// - /// margin: 1em 0 0.4em 0; - /// padding: 0; - ///} - ///p { - /// margin: 0.5em 0 0.5em 1em; - /// padding: 0; - ///} - ///a { - /// font-weight: bold; - /// color: blue; - ///} - ///a:hover { - /// color: red; - ///} - /// </style> - /// </head> - /// - /// <body> - /// - /// <h1>License</h1> - /// - /// <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses [rest of string was truncated]";. + /// Looks up a localized string similar to <html> + /// <head> + /// <style type="text/css"> + ///body { + /// font-family: Segoe UI, Arial, sans-serif; + /// font-size: 0.8em; + /// margin: 0; + ///padding: 0.75em; + ///} + ///h1 { + /// font-size: 1.4em; + /// font-weight: bold; + /// + /// margin: 1em 0 0.4em 0; + /// padding: 0; + ///} + ///p { + /// margin: 0.5em 0 0.5em 1em; + /// padding: 0; + ///} + ///a { + /// font-weight: bold; + /// color: blue; + ///} + ///a:hover { + /// color: red; + ///} + /// </style> + /// </head> + /// + /// <body> + /// + /// <h1>License</h1> + /// + /// <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal [rest of string was truncated]";. /// internal static string AboutDetails { get { @@ -436,7 +436,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://www.codeplex.com/ontopreplica">OnTopReplica's homepage</a>).. + /// Looks up a localized string similar to It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>).. /// internal static string ErrorUpdateContent { get { @@ -516,6 +516,60 @@ namespace OnTopReplica { } } + /// + /// Looks up a localized string similar to Disable. + /// + internal static string GroupSwitchModeDisableButton { + get { + return ResourceManager.GetString("GroupSwitchModeDisableButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Group mode. + /// + internal static string GroupSwitchModeEnableButton { + get { + return ResourceManager.GetString("GroupSwitchModeEnableButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select multiple windows to enable.. + /// + internal static string GroupSwitchModeStatusDisabled { + get { + return ResourceManager.GetString("GroupSwitchModeStatusDisabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group switch mode is enabled.. + /// + internal static string GroupSwitchModeStatusEnabled { + get { + return ResourceManager.GetString("GroupSwitchModeStatusEnabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group switch mode:. + /// + internal static string GroupSwitchModeTitle { + get { + return ResourceManager.GetString("GroupSwitchModeTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Windows. + /// + internal static string GroupSwitchModeWindows { + get { + return ResourceManager.GetString("GroupSwitchModeWindows", resourceCulture); + } + } + /// /// Looks up a localized string similar to Homepage: www.codeplex.com/ontopreplica.. /// @@ -537,7 +591,7 @@ namespace OnTopReplica { /// /// Looks up a localized string similar to If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). /// - ///To exit this mode, right-click on OnTopReplica and disable "Click forwarding" from the menu.. + ///To exit this mode, push ESC.. /// internal static string InfoClickForwardingContent { get { @@ -555,7 +609,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Enable Click-Through fullscreen mode?. + /// Looks up a localized string similar to Enable Click-Through mode?. /// internal static string InfoClickThrough { get { @@ -575,7 +629,7 @@ namespace OnTopReplica { /// /// Looks up a localized string similar to In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. /// - ///To return to normal mode anytime, double click on the OnTopReplica icon in the tray area.. + ///To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon).. /// internal static string InfoClickThroughInformation { get { @@ -584,7 +638,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to No, use standard fullscreen + /// Looks up a localized string similar to No, thank you. ///You can enable click-through later. /// internal static string InfoClickThroughNo { @@ -684,20 +738,11 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Autofit on resize. + /// Looks up a localized string similar to Advanced. /// - internal static string MenuAutofit { + internal static string MenuAdvanced { get { - return ResourceManager.GetString("MenuAutofit", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Automatically fits the window to the thumbnail when you resize it.. - /// - internal static string MenuAutofitTT { - get { - return ResourceManager.GetString("MenuAutofitTT", resourceCulture); + return ResourceManager.GetString("MenuAdvanced", resourceCulture); } } @@ -720,7 +765,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Click forwarding. + /// Looks up a localized string similar to Enable Click forwarding. /// internal static string MenuClickForwarding { get { @@ -737,6 +782,24 @@ namespace OnTopReplica { } } + /// + /// Looks up a localized string similar to Enable Click-Through. + /// + internal static string MenuClickThrough { + get { + return ResourceManager.GetString("MenuClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.. + /// + internal static string MenuClickThroughTT { + get { + return ResourceManager.GetString("MenuClickThroughTT", resourceCulture); + } + } + /// /// Looks up a localized string similar to Close. /// @@ -818,6 +881,24 @@ namespace OnTopReplica { } } + /// + /// Looks up a localized string similar to Group Switch mode. + /// + internal static string MenuGroupSwitch { + get { + return ResourceManager.GetString("MenuGroupSwitch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground.. + /// + internal static string MenuGroupSwitchTT { + get { + return ResourceManager.GetString("MenuGroupSwitchTT", resourceCulture); + } + } + /// /// Looks up a localized string similar to 100% (opaque). /// @@ -999,7 +1080,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Minimize to tray. + /// Looks up a localized string similar to Minimize. /// internal static string MenuReduce { get { @@ -1008,7 +1089,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Reduces OnTopReplica to an icon in the tray.. + /// Looks up a localized string similar to Minimizes OnTopReplica to the task bar (or the tray).. /// internal static string MenuReduceTT { get { @@ -1061,24 +1142,6 @@ namespace OnTopReplica { } } - /// - /// Looks up a localized string similar to Click-Through. - /// - internal static string MenuResizeClickThrough { - get { - return ResourceManager.GetString("MenuResizeClickThrough", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to If the window is not completely opaque when turned to fullscreen mode, it will let all clicks "fall through" (like a transparent overlay).. - /// - internal static string MenuResizeClickThroughTT { - get { - return ResourceManager.GetString("MenuResizeClickThroughTT", resourceCulture); - } - } - /// /// Looks up a localized string similar to Switch to window. /// @@ -1197,7 +1260,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Regions. + /// Looks up a localized string similar to Regions:. /// internal static string RegionsTitle { get { diff --git a/OnTopReplica/Strings.cs.resx b/OnTopReplica/Strings.cs.resx index fa6c98a..0b9ff9c 100644 --- a/OnTopReplica/Strings.cs.resx +++ b/OnTopReplica/Strings.cs.resx @@ -1,571 +1,458 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - OnTopReplica - - - Resetovat nastavení okna? - - - &Resetovat -Všechna nastavení budou ztracena. - - - Operace "Resetovat okno" je vhodná k inicializaci všech nastavení pokud jste například ztratili kontrolu nad oknem nebo jej přesunuli mimo viditelnou plochu obrazovky. - - - Resetovat - - - &Storno - - - Autor: Lorenz Cuno Klopfenstein. - - - Označte výřez pomocí myši. - - - Podrobnosti k Windows Aero - - - Windows Aero je k dispozici pouze na systémech Windows Vista Home Premium a vyšších. - - - Funkce 'Desktop Composition' není povolena. - - - Pro pokračování je nutné povolit funkci "Desktop Composition" výběrem tématu 'Windows Aero' v nastavení vzhledu Windows. - -Uvedené lze provést například kliknutním pravým tlačítkem myši na plochu a zvolením akce "Přizpůsobit". - - - Podrobnosti k chybě - - - Chyba: - - - Zvolené okno bylo zavřeno nebo již není platné z jiných důvodů. - - - Chyba - - - Funkce 'Desktop Composition' není ve vašem systému podporována. -Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premium a vyšších. - - - Funkce Desktop Composition není podporována - - - Nelze vytvořit náhled. - - - Nelze vložit okno. - - - Domácí stránka: www.codeplex.com/ontopreplica. - - - O aplikaci... - - - Skryje hlavní okno a zobrazí informace "O aplikaci". - - - Přizpůsobit po změně velikosti - - - Automaticky přizpůsobuje rozměr okna velikosti náhledu při změně velikosti okna. - - - Zavřít - - - Ukončí aplikaci OnTopReplica. - - - 2:1 Dvojnásobná - - - Celá obrazovka - - - 1:2 Poloviční - - - 1:1 Jako zdroj - - - 1:4 Čtvrtinová - - - Glass efekt - - - Přepíná "glass efekt" okna. - - - 100% (neprůhledné) - - - Nastaví aplikaci OnTopReplica jako neprůhlednou. - - - 25% - - - Nastaví průhlednost na 25%. - - - 50% - - - Nastaví průhlednost na 50%. - - - 75% - - - Nastaví průhlednost na 75%. - - - Průhlednost - - - Otevřít - - - Zobrazí aplikaci OnTopReplica. - - - Dolní levý roh - - - Dolní pravý roh - - - Umístění - - - Automatická pozice aplikace OnTopReplica vzhledem k obrazovce. - - - Horní levý roh - - - Horní pravý rok - - - Ukládat pozici a velikost okna - - - Přepínač, který definuje, zda si má aplikace OnTopReplica ukládat poslední pozici a velikost okna a obnovovat tyto údaje po restartování aplikace. - - - Minimalizovat do traye - - - Minimalizuje aplikaci OnTopReplica jako ikonu v systémové oblasti. - - - Vybrat výřez... - - - Přepne do režimu "výřezu", který umožní zvolit pouze část okna jako náhled. - - - Resetovat nastavení okna - - - Resetuje nastavení a pozici okna aplikace OnTopReplica. - - - Velikost - - - Přepnout do okna - - - Přepne do zdrojového okna a skryje aplikaci OnTopReplica. - - - Vybrat okno - - - - žádné - - - - Zobrazí seznam oken, které je možné použít jako zdroj. - - - Začněte klepnutím sem pravým tlačítkem myši... - - - Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému. - - - Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. Během této operace nedochází k žádnému přenosu či ukládání uživatelských informací. - - - Zkontroluj aktualizace - - - Instalovat OnTopReplica {0}? - - - Zrušit aktualizaci -Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. - - - Pokračovat -Instalovat OnTopReplica {0}. - - - Nová verze bude automaticky stažena a nainstalována. - - - Nainstalovaná verze: {0} -Dostupná verze: {1} -Velikost pro stažení: {2} bajtů - - - Nové aktualizace jsou k dispozici - - - Podrobnosti - - - Náhled nebyl nahrán. - - - Kontrola aktualizací se nezdařila. - - - Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte <a href="http://www.codeplex.com/ontopreplica">domácí stránku aplikace OnTopReplica</a>). - - - Aplikace OnTopReplica byla aktualizována. - - - Pro použití aktualizací je potřeba aplikaci OnTopReplica restartovat. - - - Aktualizace proběhla úspěšně - - - OnTopReplica je aktuální. - - - Žádná aktualizace není k dispozici. - - - Povolit "Proklikávání" v celoobrazovkovém režimu? - - - "Proklikávání" funguje pouze pokud je povoleno v menu a okno má nastavenou průhlednost. - - - V tomto režimu se bude okno roztažené přes celou obrazovku chovat jako poloprůhledná vrstva, přes kterou bude možné "proklikávat" na podložená okna. - -K návratu do standardního režimu je možné přejít kdykoli dvojklikem na ikonu v oznamovací oblasti (traye). - - - Režim "Proklikávání" - - - Proklikávání - - - Pokud je v celoobrazovkovém režimu oknu nastavena průhlednost, budou jednotlivá kliknutí myší "propadat" do oken za ním. - - - Ne, použij standardní celoobrazovkový režim -Režim "Proklikávání" je možné zvolit později v menu - - - Používat "Proklikávání" - - - Přeposílání kliknutí - - - Zapne "přeposílání kliknutí" do zdrojového okna. - - - Opustit celoobrazovkový režim - - - Jazyk - - - Výřezy - - - Uložit - - - Smazat - - - Aktuální výřez: - - - Šířka - - - Výška - - - Reset - - - Hotovo - - - Uložené výřezy - - - Přejete si povolit "přeposílání kliknutí"? - - - Přeposílání kliknutí - - - V tomto režimu aplikace OnTopReplica přeposílá kliknutí levého tlačítka myši do zdrojového okna (je tedy možné provádět základní ovládání zdrojového okna bez nutnosti jej aktivovat). - -Ukončit režim "přeposíání kliknutí" je možné opětovným vyvolání položky v menu. - - - Resetovat nastavení? - - - Operace "Resetovat nastavení" smaže veškerá uživatelská nastavení aplikace OnTopReplica a vrátí nastavení do stejného stavu jako po instalaci (všechny uložené informace, jako například uložené výřezy oken, budou ztraceny). - - - Resetovat nastavení - - - Přerušit aktualizaci. - - - Zobrazit podrobnosti o aplikaci OnTopReplica. - - - Resetovat nastavení OnTopReplica. - - - Aktualizovat OnTopReplica. - - - <html> - <head> - <style type="text/css"> -body { - font-family: Segoe UI, Arial, sans-serif; - font-size: 0.8em; - margin: 0; -padding: 0.75em; -} -h1 { - font-size: 1.4em; - font-weight: bold; - - margin: 1em 0 0.4em 0; - padding: 0; -} -p { - margin: 0.5em 0 0.5em 1em; - padding: 0; -} -a { - font-weight: bold; - color: blue; -} -a:hover { - color: red; -} - </style> - </head> - - <body> - - <h1>Licence</h1> - - <p><b>OnTopReplica</b> je šířena pod <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a> licencí.</p> - <p>Původní zdrojový kód je možné nalézt na <a href="http://www.codeplex.com/ontopreplica">domovské stránce projektu na serveru CodePlex</a>.</p> - - <h1>Autoři a zásluhy</h1> - - <p>Původní inspirací pro OnTopReplica byla aplikace <a href="http://insentient.net">Switcher</a> a další aplikace založeny na DWM.</p> - - <p>Všechny Vista ovládací prvky jsou součástí <a href="http://www.codeplex.com/windowsformsaero">knihovny WindowsFormsAero</a> pro .NET.</p> - - <p>Některé ukázkové kódy byly převzaty z <a href="http://www.ookii.org">Ookii</a> ze serveru Channel9.</p> - - <p>Třída NativeToolstripRenderer byla převzata z <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> - - <p>Některé ikony pocházejí z <a href="http://www.vistaico.com">VistaICO.com</a> a balíčku ikon Xiao.</p> - - </body> -</html> - - - - celé okno - - - - Aplikace OnTopReplica přes celou obrazovku - - - Režim - - - Vždy na vrchu - - - Nastaví aplikaci OnTopReplica, aby zůstávala vždy na vrchu. - - - Proklikávání - - - Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. - - - Standardní - - - Aplikace OnTopReplica se bude chovat jako běžné okno. Jiná okna mohou překrýt okno aplikace. - - - Okraj - - - Přepínač, který definuje, zda má aplikace OnTopReplica viditelný okraj okna. - + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OnTopReplica + + + Resetovat nastavení okna? + + + &Resetovat +Všechna nastavení budou ztracena. + + + Operace "Resetovat okno" je vhodná k inicializaci všech nastavení pokud jste například ztratili kontrolu nad oknem nebo jej přesunuli mimo viditelnou plochu obrazovky. + + + Resetovat + + + &Storno + + + Autor: Lorenz Cuno Klopfenstein. + + + Označte výřez pomocí myši. + + + Podrobnosti k Windows Aero + + + Windows Aero je k dispozici pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce 'Desktop Composition' není povolena. + + + Pro pokračování je nutné povolit funkci "Desktop Composition" výběrem tématu 'Windows Aero' v nastavení vzhledu Windows. + +Uvedené lze provést například kliknutním pravým tlačítkem myši na plochu a zvolením akce "Přizpůsobit". + + + Podrobnosti k chybě + + + Chyba: + + + Zvolené okno bylo zavřeno nebo již není platné z jiných důvodů. + + + Chyba + + + Funkce 'Desktop Composition' není ve vašem systému podporována. +Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce Desktop Composition není podporována + + + Nelze vytvořit náhled. + + + Nelze vložit okno. + + + Domácí stránka: www.codeplex.com/ontopreplica. + + + O aplikaci... + + + Skryje hlavní okno a zobrazí informace "O aplikaci". + + + Zavřít + + + Ukončí aplikaci OnTopReplica. + + + 2:1 Dvojnásobná + + + Celá obrazovka + + + 1:2 Poloviční + + + 1:1 Jako zdroj + + + 1:4 Čtvrtinová + + + Glass efekt + + + Přepíná "glass efekt" okna. + + + 100% (neprůhledné) + + + Nastaví aplikaci OnTopReplica jako neprůhlednou. + + + 25% + + + Nastaví průhlednost na 25%. + + + 50% + + + Nastaví průhlednost na 50%. + + + 75% + + + Nastaví průhlednost na 75%. + + + Průhlednost + + + Otevřít + + + Zobrazí aplikaci OnTopReplica. + + + Dolní levý roh + + + Dolní pravý roh + + + Umístění + + + Automatická pozice aplikace OnTopReplica vzhledem k obrazovce. + + + Horní levý roh + + + Horní pravý rok + + + Ukládat pozici a velikost okna + + + Přepínač, který definuje, zda si má aplikace OnTopReplica ukládat poslední pozici a velikost okna a obnovovat tyto údaje po restartování aplikace. + + + Minimalizovat do traye + + + Minimalizuje aplikaci OnTopReplica jako ikonu v systémové oblasti. + + + Vybrat výřez... + + + Přepne do režimu "výřezu", který umožní zvolit pouze část okna jako náhled. + + + Resetovat nastavení okna + + + Resetuje nastavení a pozici okna aplikace OnTopReplica. + + + Velikost + + + Přepnout do okna + + + Přepne do zdrojového okna a skryje aplikaci OnTopReplica. + + + Vybrat okno + + + - žádné - + + + Zobrazí seznam oken, které je možné použít jako zdroj. + + + Začněte klepnutím sem pravým tlačítkem myši... + + + Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému. + + + Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. Během této operace nedochází k žádnému přenosu či ukládání uživatelských informací. + + + Zkontroluj aktualizace + + + Instalovat OnTopReplica {0}? + {0} update version + + + Zrušit aktualizaci +Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. + + + Pokračovat +Instalovat OnTopReplica {0}. + {0} update version + + + Nová verze bude automaticky stažena a nainstalována. + + + Nainstalovaná verze: {0} +Dostupná verze: {1} +Velikost pro stažení: {2} bajtů + {0} installed version number +{1} online available version number +{2} update size + + + Nové aktualizace jsou k dispozici + + + Podrobnosti + + + Náhled nebyl nahrán. + + + Kontrola aktualizací se nezdařila. + + + Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte <a href="http://ontopreplica.codeplex.com">domácí stránku aplikace OnTopReplica</a>). + + + Aplikace OnTopReplica byla aktualizována. + + + Pro použití aktualizací je potřeba aplikaci OnTopReplica restartovat. + + + Aktualizace proběhla úspěšně + + + OnTopReplica je aktuální. + + + Žádná aktualizace není k dispozici. + + + Povolit "Proklikávání" v celoobrazovkovém režimu? + + + "Proklikávání" funguje pouze pokud je povoleno v menu a okno má nastavenou průhlednost. + + + V tomto režimu se bude okno roztažené přes celou obrazovku chovat jako poloprůhledná vrstva, přes kterou bude možné "proklikávat" na podložená okna. + +K návratu do standardního režimu je možné přejít kdykoli dvojklikem na ikonu v oznamovací oblasti (traye). + + + Režim "Proklikávání" + + + Ne. +Režim "Proklikávání" je možné zvolit později v menu + + + Používat "Proklikávání" + + + Přeposílání kliknutí + + + Zapne "přeposílání kliknutí" do zdrojového okna. + + + Opustit celoobrazovkový režim + + + Jazyk + + + Výřezy: + + + Uložit + + + Smazat + + + Aktuální výřez: + + + Šířka + + + Výška + + + Reset + + + Hotovo + + + Uložené výřezy + + + Přejete si povolit "přeposílání kliknutí"? + + + Přeposílání kliknutí + + + V tomto režimu aplikace OnTopReplica přeposílá kliknutí levého tlačítka myši do zdrojového okna (je tedy možné provádět základní ovládání zdrojového okna bez nutnosti jej aktivovat). + +Ukončit režim "přeposíání kliknutí" je možné opětovným vyvolání položky v menu. + + + Resetovat nastavení? + + + Operace "Resetovat nastavení" smaže veškerá uživatelská nastavení aplikace OnTopReplica a vrátí nastavení do stejného stavu jako po instalaci (všechny uložené informace, jako například uložené výřezy oken, budou ztraceny). + + + Resetovat nastavení + + + Přerušit aktualizaci. + + + Zobrazit podrobnosti o aplikaci OnTopReplica. + + + Resetovat nastavení OnTopReplica. + + + Aktualizovat OnTopReplica. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licence</h1> + + <p><b>OnTopReplica</b> je šířena pod <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a> licencí.</p> + <p>Původní zdrojový kód je možné nalézt na <a href="http://www.codeplex.com/ontopreplica">domovské stránce projektu na serveru CodePlex</a>.</p> + + <h1>Autoři a zásluhy</h1> + + <p>Původní inspirací pro OnTopReplica byla aplikace <a href="http://insentient.net">Switcher</a> a další aplikace založeny na DWM.</p> + + <p>Všechny Vista ovládací prvky jsou součástí <a href="http://www.codeplex.com/windowsformsaero">knihovny WindowsFormsAero</a> pro .NET.</p> + + <p>Některé ukázkové kódy byly převzaty z <a href="http://www.ookii.org">Ookii</a> ze serveru Channel9.</p> + + <p>Třída NativeToolstripRenderer byla převzata z <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Některé ikony pocházejí z <a href="http://www.vistaico.com">VistaICO.com</a> a balíčku ikon Xiao.</p> + + </body> +</html> + + + - celé okno - + + + Aplikace OnTopReplica přes celou obrazovku + + + Režim + + + Vždy na vrchu + + + Nastaví aplikaci OnTopReplica, aby zůstávala vždy na vrchu. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Standardní + + + Aplikace OnTopReplica se bude chovat jako běžné okno. Jiná okna mohou překrýt okno aplikace. + + + Okraj + + + Přepínač, který definuje, zda má aplikace OnTopReplica viditelný okraj okna. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + \ No newline at end of file diff --git a/OnTopReplica/Strings.da.resx b/OnTopReplica/Strings.da.resx index ea4be4f..d61ff01 100644 --- a/OnTopReplica/Strings.da.resx +++ b/OnTopReplica/Strings.da.resx @@ -1,132 +1,27 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - OnTopReplica - - - - ingen - - - - Sæt OnTopReplica automatiskt på den aktuelle skærm. - - + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OnTopReplica + + + - ingen - + + + Sæt OnTopReplica automatiskt på den aktuelle skærm. + + <html> <head> <style type="text/css"> @@ -177,375 +72,380 @@ a:hover { <p>Lidt ikoner fra <a href="http://www.vistaico.com">VistaICO.com</a> og Xiao ikon sættet.</p> </body> -</html> - - - Nederst højre - - - 1:1 Pas til vinduet - - - Installer OnTopReplica {0}? - - - &Annuller - - - 1:4 kvart - - - 100% (uigennemsigtig) - - - Krom - - - 50% - - - Klikke igennem - - - Annuller updateringen - - - Gennemklik - - - - hele - - - - 2:1 dobbelt - - - &NulstilAlle ændringer vil blive tabt. - - - Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes. - - - Vinduet du har valgt er lukket eller er ikke gyldigt mere. - - - Viser en liste af vinduer du kan bruge som miniature kilde. - - - Viser OnTopReplica. - - - OnTopReplica blev ikke installeret ved hjælp af 'ClickOnce'. Du bliver nødt til at opdatere manuelt (besøg <a href="http://www.codeplex.com/ontopreplica">OnTopReplica's hjemmeside</a>). - - - Opdater nu! - - - Vis detaljer om OnTopReplica. - - - Luk - - - Aktiver "click forwarding" til det klonede vindue - - - Ingen opdateringer er tilgængelige - - - Windows Aero er kun tilgængelig op Windows Vista Home Premium eller højere. - - - Altid øverst - - - Områder - - - Højde - - - Vælg område... - - - Vælg vindue - - - Slet - - - Genskab - - - Hvis denne funktion er aktiveret vil OnTopReplica vidersende alle venstr museklik til det klonede vindue (dette gør dig i stand til at udføre basis musefunktioner i det klonede vindue uden at skulle aktivere det).For at afslutte denne funktion skal du højreklikke på OnTopReplica og deaktivere "Click forwarding" i menuen. - - - Position - - - Gemte områder - - - Gem - - - I denne tilstand vil fuld skærm vinduet opføre sig som et delvist gennemsigtigt lag, hvilket gør dig i stand til at klikke på de underliggende vinduer.For at komme tilbage til normal tilstand, dobbeltklik på OnTopReplica ikonet i meddelelsesområdet på proceslinjen. - - - Lukker OnTopReplica. - - - Gendan sidste position og størrelse - - - Standard - - - Skjuler hoved vinduet og viser om boxen. - - - Bredde - - - Tilstande - - - Gennem klik tilstand - - - Højreklik her for at starte... - - - Nulstiller OnTopReplica indstillingerne og hoved vinduet. - - - Nulstil indstillinger? - - - Nulstil alle OnTopReplica indstillinger. - - - Nulstil vinduet helt? - - - Nulstil vinduet - - - Nulstil indstillingerne - - - Nulstil - - - Nulstil - - - Uigennemsigtighed - - - Autojuster når gendannes - - - For at benytte den opdaterede udgave af OnTopReplica skal du genstarte programmet. - - - Du skal aktiverere "Windows Aero" som tema i Windows.For at gøre dette skal du højreklikke på skrivebordet og vælge personlige indstillinger. - - - Click forwarding - - - Click forwarding - - - Skift til vindue - - - Skifter til kilde vinduet og gemmer OnTopReplica. - - - Skifter til "område tilstand", der tillader dig at vælge et begrænset område af kildens vindue som miniature. - - - Vælger om OnTopReplica skal gemme sidst brugte størrelse og position, til næste gang det starter op. - - - Vælger Chrome kanten rundt om vinduet til/fra - - - Vælger "glas tilstand" til/fra - - - Ønsker du at aktivere "click forwarding"? - - - Ønskes gennem klik i fuldskærms tilstand? - - - Brug gennem klik. - - - Hvis vinduet ikke er helt uigennemsigtigt når fuldskærm aktiveres, vil det lade alle klik "falde igennem"(lige som en gennemsigtigt film). - - - FortsætInstaller OnTopReplica - - - Detaljer om Windows Aero - - - Fejl detaljer. - - - Detaljer - - - Tegn områder med musen - - - åben - - - Kan bruges til at nulstille alle indstillinger hvis du mister kontrollen over vinduet eller hvis det er flyttet uden for skærmen. - - - Opdatering tilgængelig. - - - Dette nulstiller OnTopReplica til standard indstillingerne (alle gemte informationer, som gemte områder, vil blive slettet). - - - OnTopReplice er opdateret. - - - Om... - - - Den nye version vil automatiskt blive downloaded og installeret. - - - En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. - - - Kan ikke lave miniature - - - Skrivebords komposition ikke understøttet - - - Kunne ikke passes til vinduet. - - - Nej, brug standard fuldskærmDu kan aktivere gennem klik senere. - - - Sætter OnTopReplica til 50% uigennemsigtighed. - - - Sætter OnTopReplica til 75% uigennemsigtighed. - - - Sætter OnTopReplica til 25% uigennemsigtighed. - - - Får OnTopReplica til altid at være øverst. - - - Installeret version: {0}Tilgængelig version: {1}Download størrelse: {2} bytes - - - Sprog - - - Ingen miniature indlæst. - - - Minimere OnTopReplica til systembakken. - - - Kan ikke søge efter opdateringer. - - - Minimer til systembakken. - - - Færdig - - - Øverst højre - - - Sæt OnTopReplica til at være helt uigennemsigtig. - - - Øverst venstre - - - Glas - - - Windows Aero effekter er ikke slået til - - - Windows Aero effekter er ikke understøttet af dit styresystem.Dette program kræver Windows Vista Home Premium eller bedre. - - - Hjemmeside: www.codeplex.com/ontopreplica. - - - Nederst venstre - - - Passer automatisk vinduet til miniaturen når du gendanner det. - - - Fejl: - - - Fejl - - - Lavet af: Lorenz Cuno Klopfenstein. - - - Fuld skærm - - - OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. - - - Opfører sig som et almindeligt vindue. Du kan trække andre viduer ind over OnTopReplica. - - - Afslut fuldskærm tilstand. - - - OnTopReplica fuld skærm - - - OnTopReplica er blevet opdateret. - - - Aktuelt område: - - - OnTopReplica checker automatiskt for opdateringer. Der bliver ikke registreret nogen data på noget tidspunkt. - - - Opdater OnTopReplica nu. - - - Opdatering fuldført - - - 1:2 halv - - - 25% - - - 75% - - - Gennem klik virker kun hvis det er blevet aktiveret i gendan undermenuen og hvis vinduet er delvist gennemsigtigt. - +</html> + + + Nederst højre + + + 1:1 Pas til vinduet + + + Installer OnTopReplica {0}? + {0} update version + + + &Annuller + + + 1:4 kvart + + + 100% (uigennemsigtig) + + + Krom + + + 50% + + + Klikke igennem + + + Annuller updateringen + + + - hele - + + + 2:1 dobbelt + + + &NulstilAlle ændringer vil blive tabt. + + + Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes. + + + Vinduet du har valgt er lukket eller er ikke gyldigt mere. + + + Viser en liste af vinduer du kan bruge som miniature kilde. + + + Viser OnTopReplica. + + + OnTopReplica blev ikke installeret ved hjælp af 'ClickOnce'. Du bliver nødt til at opdatere manuelt (besøg <a href="http://ontopreplica.codeplex.com">OnTopReplica's hjemmeside</a>). + + + Opdater nu! + + + Vis detaljer om OnTopReplica. + + + Luk + + + Aktiver "click forwarding" til det klonede vindue + + + Ingen opdateringer er tilgængelige + + + Windows Aero er kun tilgængelig op Windows Vista Home Premium eller højere. + + + Altid øverst + + + Områder: + + + Højde + + + Vælg område... + + + Vælg vindue + + + Slet + + + Genskab + + + Hvis denne funktion er aktiveret vil OnTopReplica vidersende alle venstr museklik til det klonede vindue (dette gør dig i stand til at udføre basis musefunktioner i det klonede vindue uden at skulle aktivere det). + +For at afslutte denne funktion skal du højreklikke på OnTopReplica og deaktivere "Click forwarding" i menuen. + + + Position + + + Gemte områder + + + Gem + + + I denne tilstand vil fuld skærm vinduet opføre sig som et delvist gennemsigtigt lag, hvilket gør dig i stand til at klikke på de underliggende vinduer. + +For at komme tilbage til normal tilstand, dobbeltklik på OnTopReplica ikonet i meddelelsesområdet på proceslinjen. + + + Lukker OnTopReplica. + + + Gendan sidste position og størrelse + + + Standard + + + Skjuler hoved vinduet og viser om boxen. + + + Bredde + + + Tilstande + + + Gennem klik tilstand + + + Højreklik her for at starte... + + + Nulstiller OnTopReplica indstillingerne og hoved vinduet. + + + Nulstil indstillinger? + + + Nulstil alle OnTopReplica indstillinger. + + + Nulstil vinduet helt? + + + Nulstil vinduet + + + Nulstil indstillingerne + + + Nulstil + + + Nulstil + + + Uigennemsigtighed + + + For at benytte den opdaterede udgave af OnTopReplica skal du genstarte programmet. + + + Du skal aktiverere "Windows Aero" som tema i Windows.For at gøre dette skal du højreklikke på skrivebordet og vælge personlige indstillinger. + + + Click forwarding + + + Click forwarding + + + Skift til vindue + + + Skifter til kilde vinduet og gemmer OnTopReplica. + + + Skifter til "område tilstand", der tillader dig at vælge et begrænset område af kildens vindue som miniature. + + + Vælger om OnTopReplica skal gemme sidst brugte størrelse og position, til næste gang det starter op. + + + Vælger Chrome kanten rundt om vinduet til/fra + + + Vælger "glas tilstand" til/fra + + + Ønsker du at aktivere "click forwarding"? + + + Ønskes gennem klik i fuldskærms tilstand? + + + Brug gennem klik. + + + FortsætInstaller OnTopReplica + {0} update version + + + Detaljer om Windows Aero + + + Fejl detaljer. + + + Detaljer + + + Tegn områder med musen + + + åben + + + Kan bruges til at nulstille alle indstillinger hvis du mister kontrollen over vinduet eller hvis det er flyttet uden for skærmen. + + + Opdatering tilgængelig. + + + Dette nulstiller OnTopReplica til standard indstillingerne (alle gemte informationer, som gemte områder, vil blive slettet). + + + OnTopReplice er opdateret. + + + Om... + + + Den nye version vil automatiskt blive downloaded og installeret. + + + En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. + + + Kan ikke lave miniature. + + + Skrivebords komposition ikke understøttet + + + Kunne ikke passes til vinduet. + + + Nej. +Du kan aktivere gennem klik senere. + + + Sætter OnTopReplica til 50% uigennemsigtighed. + + + Sætter OnTopReplica til 75% uigennemsigtighed. + + + Sætter OnTopReplica til 25% uigennemsigtighed. + + + Får OnTopReplica til altid at være øverst. + + + Installeret version: {0}Tilgængelig version: {1}Download størrelse: {2} bytes + {0} installed version number +{1} online available version number +{2} update size + + + Sprog + + + Ingen miniature indlæst. + + + Minimere OnTopReplica til systembakken. + + + Kan ikke søge efter opdateringer. + + + Minimer til systembakken. + + + Færdig + + + Øverst højre + + + Sæt OnTopReplica til at være helt uigennemsigtig. + + + Øverst venstre + + + Glas + + + Windows Aero effekter er ikke slået til + + + Windows Aero effekter er ikke understøttet af dit styresystem. +Dette program kræver Windows Vista Home Premium eller bedre. + + + Hjemmeside: www.codeplex.com/ontopreplica. + + + Nederst venstre + + + Fejl: + + + Fejl + + + Lavet af: Lorenz Cuno Klopfenstein. + + + Fuld skærm + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Opfører sig som et almindeligt vindue. Du kan trække andre viduer ind over OnTopReplica. + + + Afslut fuldskærm tilstand. + + + OnTopReplica fuld skærm + + + OnTopReplica er blevet opdateret. + + + Aktuelt område: + + + OnTopReplica checker automatiskt for opdateringer. Der bliver ikke registreret nogen data på noget tidspunkt. + + + Opdater OnTopReplica nu. + + + Opdatering fuldført + + + 1:2 halv + + + 25% + + + 75% + + + Gennem klik virker kun hvis det er blevet aktiveret i gendan undermenuen og hvis vinduet er delvist gennemsigtigt. + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + \ No newline at end of file diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx index a3dbe1f..bcc713f 100644 --- a/OnTopReplica/Strings.it.resx +++ b/OnTopReplica/Strings.it.resx @@ -1,564 +1,486 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - OnTopReplica - - - Ripristinare completamente la finestra? - - + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OnTopReplica + + + Ripristinare completamente la finestra? + + &Ripristina -Tutte le impostazioni saranno perse. - - - Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. - - - Ripristino - - - &Annulla - - - Creato da: Lorenz Cuno Klopfenstein. - - - Disegna una regione usando il mouse. - - - Dettagli su Windows Aero - - - Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. - - - Il servizio DWM non è attivo. - - +Tutte le impostazioni saranno perse. + + + Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. + + + Ripristino + + + &Annulla + + + Creato da: Lorenz Cuno Klopfenstein. + + + Disegna una regione usando il mouse. + + + Dettagli su Windows Aero + + + Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. + + + Il servizio di Desktop Composition Aero non è attivo. + + È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows. -Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. - - - Dettagli errore - - - Errore: - - - Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. - - - Errore - - +Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. + + + Dettagli errore + + + Errore: + + + Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. + + + Errore + + La "composzione del desktop" non è supportata dal tuo sistema operativo. -È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. - - - DWM non supportato - - - Impossibile clonare la finestra. - - - Impossibile adattare la finestra. - - - Homepage: www.codeplex.com/ontopreplica. - - - A proposito di... - - - Nasconde la finestra principale e mostra una schermata di informazioni. - - - Adatta automaticamente - - - Adatta automaticamente la finestra al clone quando viene ridimensionata. - - - Chiudi - - - Chiude OnTopReplica. - - - 2:1 Doppio - - - Tutto schermo - - - 1:2 Metà - - - 1:1 Clone esatto - - - 1:4 Quarto - - - Effetto vetro - - - Abilita o disabilita l'effetto vetro. - - - 100% (opaco) - - - Imposta OnTopReplica come finestra completamente opaca. - - - 25% - - - Imposta l'opacità di OnTopReplica al 25%. - - - 50% - - - Imposta l'opacità di OnTopReplica al 50%. - - - 75% - - - Imposta l'opacità di OnTopReplica al 75%. - - - Opacità - - - Apri - - - Mostra OnTopReplica. - - - In basso a sinistra - - - In basso a destra - - - Posizione - - - Posiziona automaticamente OnTopReplica sul monitor corrente. - - - In alto a sinistra - - - In alto a destra - - - Ripristina posizione e grandezza - - - Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. - - - Riduci ad icona - - - Riduce OnTopReplica ad un'icona nella barra delle applicazioni. - - - Seleziona regione... - - - Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. - - - Reimposta finestra - - - Reimposta OnTopReplica e la sua finestra principale. - - - Ridimensionamento - - - Alla finestra originale - - - Mostra la finestra originale e nasconde OnTopReplica. - - - Seleziona finestra - - - - nessuna - - - - Mostra una lista di finestre che è possibile clonare. - - - Clic destro qui per iniziare... - - - Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta. - - - OnTopReplica controlla automaticamente se sono presenti aggiornamenti. - - - Aggiorna! - - - Installare OnTopReplica {0}? - - +È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. + + + Desktop Composition (DWM) non supportato + + + Impossibile clonare la finestra. + + + Impossibile adattare la finestra. + + + Sito internet: www.codeplex.com/ontopreplica. + + + A proposito di... + + + Nasconde la finestra principale e mostra una schermata di informazioni. + + + Seleziona più finestre per attivare. + + + Modalità Gruppo attivata. + + + Chiudi + + + Termina OnTopReplica. + + + 2:1 Doppio + + + Tutto schermo + + + 1:2 Metà + + + 1:1 Clone esatto + + + 1:4 Quarto + + + Effetto vetro + + + Abilita o disabilita l'effetto vetro. + + + 100% (opaco) + + + Imposta OnTopReplica come finestra completamente opaca. + + + 25% + + + Imposta l'opacità di OnTopReplica al 25%. + + + 50% + + + Imposta l'opacità di OnTopReplica al 50%. + + + 75% + + + Imposta l'opacità di OnTopReplica al 75%. + + + Opacità + + + Apri + + + Attiva la finestra di OnTopReplica. + + + In basso a sinistra + + + In basso a destra + + + Posizione + + + Posiziona automaticamente OnTopReplica sul monitor corrente. + + + In alto a sinistra + + + In alto a destra + + + Ripristina posizione e grandezza + + + Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. + + + Minimizza + + + Riduce OnTopReplica ad un'icona nella barra delle applicazioni. + + + Seleziona regione... + + + Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. + + + Reimposta finestra + + + Reimposta OnTopReplica e la sua finestra principale. + + + Ridimensionamento + + + Vai alla finestra originale + + + Mostra la finestra originale e nasconde OnTopReplica. + + + Seleziona finestra + + + - nessuna - + + + Mostra una lista di finestre che è possibile clonare. + + + Clic destro qui per iniziare... + + + Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta. + + + OnTopReplica controlla automaticamente se sono presenti aggiornamenti. + + + Aggiorna! + + + Installare OnTopReplica {0}? + {0} update version + + Annulla aggiornamento -OnTopReplica si aggiornerà in un secondo momento. - - +OnTopReplica si aggiornerà in un secondo momento. + + Continua -Installa OnTopReplica {0}. - - - La nuova versione sarà scaricata ed installata automaticamente. - - +Installa OnTopReplica {0}. + {0} update version + + + La nuova versione sarà scaricata ed installata automaticamente. + + Versione installata: {0} Versione disponibile: {1} -Grandezza: {2} bytes - - - Aggiornamento disponibile - - - Dettagli - - - Nessuna finestra clonata al momento. - - - Impossibile controllare gli aggiornamenti. - - - Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://www.codeplex.com/ontopreplica">la homepage del progetto</a>. - - - OnTopReplica è stato aggiornato. - - - Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. - - - Aggiornamento completato - - - OnTopReplica è aggiornato. - - - Nessun aggiornamento disponibile - - - Attivare la modalità Click-Through? - - - La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. - - - In questa modalità la finestra a tutto schermo si comporterà come una maschera semitrasparente che ti permette di cliccarle attraverso, sulle finestre sullo sfondo. +Grandezza: {2} bytes + {0} installed version number +{1} online available version number +{2} update size + + + Aggiornamento disponibile + + + Dettagli + + + Nessuna finestra clonata al momento. + + + Impossibile controllare gli aggiornamenti. + + + Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + OnTopReplica è stato aggiornato. + + + Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. + + + Aggiornamento completato + + + La versione più aggiornata è già installata. + + + Nessun aggiornamento disponibile + + + Attivare la modalità Click-Through? + + + La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. + + + In questa modalità la finestra clonata si comporterà come una maschera semitrasparente che permette di cliccare sulle finestre dietro di essa. -Per tornare alla modalità normale in qualsiasi momento, fai doppio clic sull'icona nella barra delle applicazioni. - - - Modalità Click-Through - - - Click-Through - - - Se la finestra non è completamente opaca quando passa a tutto schermo, i clic le passeranno attraverso (come una maschera semitrasparente). - - - No, tutto schermo normale -Puoi abilitare il Click-Through in futuro - - - Usa Click-Through - - - Inoltro dei clic - - - Attiva la modalità di "inoltro dei clic" alla finestra clonata. - - - Esci da tutto schermo - - - Lingua - - - Regioni - - - Salva - - - Cancella - - - Regione corrente: - - - Largh. - - - Altezz. - - - Reset - - - Chiudi - - - Regioni memorizzate - - - Attivare l'inoltro dei clic? - - - Inoltro dei clic - - +Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). + + + Modalità Click-Through + + + Finestre + Column Header of list, simply refers to available windows to be cloned + + + Modalità Gruppo di finestre: + + + No, grazie. +Puoi abilitare il Click-Through in futuro + + + Abilita Click-Through + + + Inoltro dei clic + + + Attiva la modalità di "inoltro dei clic" alla finestra clonata. + + + Esci da tutto schermo + + + Lingua + + + Regioni: + + + Salva + + + Cancella + + + Regione corrente: + + + Largh. + + + Altezz. + + + Reset + + + Chiudi + + + Regioni memorizzate + + + Attivare la modalità di inoltro dei clic? + + + Inoltro dei clic + + In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano). -Per uscire da questa modalità, fai clic col destro su OnTopReplica e disabilita "Inoltro dei clic" dal menu. - - - Resettare impostazioni? - - - Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). - - - Reimposta - - - Annulla il processo di aggiornamento. - - - Mostra dettagli su OnTopReplica. - - - Resetta tutte le impostazioni di OnTopReplica. - - - Aggiorna OnTopReplica ora. - - - <html> - <head> - <style type="text/css"> -body { - font-family: Segoe UI, Arial, sans-serif; - font-size: 0.8em; - margin: 0; -padding: 0.75em; -} -h1 { - font-size: 1.4em; - font-weight: bold; - - margin: 1em 0 0.4em 0; - padding: 0; -} -p { - margin: 0.5em 0 0.5em 1em; - padding: 0; -} -a { - font-weight: bold; - color: blue; -} -a:hover { - color: red; -} - </style> - </head> - - <body> - - <h1>Licenza d'utilizzo</h1> - - <p><b>OnTopReplica</b> è rilasciato sotto la licenza <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> - <p>Il codice sorgente originale del programma è disponibile sulla <a href="http://www.codeplex.com/ontopreplica">homepage del progetto su CodePlex</a>.</p> - - <h1>Credits</h1> - - <p>OnTopReplica è stato inspirato da <a href="http://insentient.net">Switcher</a> ed altre applicazioni basate su DWM.</p> - - <p>I controlli utente specifici per Windows Vista sono parte della libreria <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero</a> per .NET.</p> - - <p>Qualche riga di codice d'esempio presa da <a href="http://www.ookii.org">Ookii</a> su Channel9.</p> - - <p>La classe NativeToolstripRenderer è stata presa da <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> - - <p>Alcune delle icone sono state prese da <a href="http://www.vistaico.com">VistaICO.com</a> e dal set di icone Xiao.</p> - - </body> -</html> - - - - intera - - - - OnTopReplica a pieno schermo - - - Modalità - - - Sempre in cima - - - OnTopReplica sarà sempre la finestra sopra a tutte le altre. - - - Click through - - - OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. - - - Normale - - - Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. - - - Bordo - - - Abilita o disabilita il bordo della finestra. - +Per uscire da questa modalità, usa il tasto ESC. + + + Resettare impostazioni? + + + Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). + + + Reimposta + + + Annulla il processo di aggiornamento. + + + Mostra dettagli su OnTopReplica. + + + Resetta tutte le impostazioni di OnTopReplica. + + + Aggiorna OnTopReplica ora. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licenza d'utilizzo</h1> + + <p><b>OnTopReplica</b> è rilasciato sotto la licenza <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>Il codice sorgente originale del programma è disponibile sulla <a href="http://www.codeplex.com/ontopreplica">homepage del progetto su CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica è stato inspirato da <a href="http://insentient.net">Switcher</a> ed altre applicazioni basate su DWM.</p> + + <p>I controlli utente specifici per Windows Vista sono parte della libreria <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero</a> per .NET.</p> + + <p>Qualche riga di codice d'esempio presa da <a href="http://www.ookii.org">Ookii</a> su Channel9.</p> + + <p>La classe NativeToolstripRenderer è stata presa da <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Alcune delle icone sono state prese da <a href="http://www.vistaico.com">VistaICO.com</a> e dal set di icone Xiao.</p> + + </body> +</html> + + + - intera - + + + OnTopReplica a pieno schermo + + + Modalità + + + Sempre in cima + + + OnTopReplica sarà sempre la finestra sopra a tutte le altre. + + + Click through + + + OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. + + + Normale + + + Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. + + + Bordo + + + Abilita o disabilita il bordo della finestra. + + + Abilita Click-Through + + + OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa. + + + Modalità Gruppo di finestre + + + OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo. + + + Abilita modalità + + + Disattiva + + + Avanzate + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx index b2d5202..6ea6f10 100644 --- a/OnTopReplica/Strings.resx +++ b/OnTopReplica/Strings.resx @@ -1,569 +1,486 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - OnTopReplica - - - Reset window completely? - - + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + OnTopReplica + + + Reset window completely? + + &Reset -All settings will be lost. - - - Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. - - - Reset - - - &Cancel - - - Created by: Lorenz Cuno Klopfenstein. - - - Draw regions using mouse. - - - Details on Windows Aero - - - Windows Aero is only available on Windows Vista Home Premium or higher. - - - 'Desktop Composition' is not enabled. - - +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + &Cancel + + + Created by: Lorenz Cuno Klopfenstein. + + + Draw regions using mouse. + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. -To do so, right-click on the desktop and click on Personalize. - - - Error details - - - Error: - - - It appears that the selected window has been closed or is not valid anymore. - - - Error - - +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + 'Desktop Composition' is not supported on your Operating System. -You must run this application on Windows Vista Home Premium or better. - - - Desktop Composition unsupported - - - Unable to create thumbnail. - - - Unable to fit window. - - - Homepage: www.codeplex.com/ontopreplica. - - - About... - - - Hides the main window and displays the "about" box. - - - Autofit on resize - - - Automatically fits the window to the thumbnail when you resize it. - - - Close - - - Closes OnTopReplica. - - - 2:1 Double - - - Fullscreen - - - 1:2 Half - - - 1:1 Fit to window - - - 1:4 Quarter - - - Glass - - - Toggles "glass mode" on and off. - - - 100% (opaque) - - - Sets OnTopReplica to be completely opaque. - - - 25% - - - Sets OnTopReplica to 25% opacity. - - - 50% - - - Sets OnTopReplica to 50% opacity. - - - 75% - - - Sets OnTopReplica to 75% opacity. - - - Opacity - - - Open - - - Displays OnTopReplica. - - - Bottom Left - - - Bottom Right - - - Position - - - Automatically position OnTopReplica on the current screen. - - - Top Left - - - Top Right - - - Recall last position and size - - - Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. - - - Minimize to tray - - - Reduces OnTopReplica to an icon in the tray. - - - Select region... - - - Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. - - - Reset window - - - Resets OnTopReplica settings and its main window. - - - Resize - - - Switch to window - - - Switches to the source window and hides OnTopReplica. - - - Select window - - - - none - - - - Displays a list of window you can select as thumbnail source. - - - Right-click here to start... - - - A lightweight, real-time, always on top thumbnail of a window of your choice. - - - OnTopReplica automatically checks for updates. No information is logged at any point. - - - Update now! - - - Install OnTopReplica {0}? - {0} update version - - +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + Unable to create thumbnail. + + + Unable to fit window. + + + Homepage: www.codeplex.com/ontopreplica. + + + About... + + + Hides the main window and displays the "about" box. + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Glass + + + Toggles "glass mode" on and off. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Position + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + Right-click here to start... + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + OnTopReplica automatically checks for updates. No information is logged at any point. + + + Update now! + + + Install OnTopReplica {0}? + {0} update version + + Cancel update -OnTopReplica will prompt you the next time it is started. - - +OnTopReplica will prompt you the next time it is started. + + Proceed -Install OnTopReplica {0}. - {0} update version - - - The new version will be automatically downloaded and installed. - - +Install OnTopReplica {0}. + {0} update version + + + The new version will be automatically downloaded and installed. + + Installed version: {0} Available version: {1} -Download size: {2} bytes - {0} installed version number -{1} online available version number -{2} update size - - - Update available - - - Details - - - No thumbnail loaded. - - - Unable to check for updates. - - - It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://www.codeplex.com/ontopreplica">OnTopReplica's homepage</a>). - - - OnTopReplica has been updated. - - - In order to use the updated version of OnTopReplica you'll have to restart the application. - - - Update successful - - - OnTopReplica is up to date. - - - No update available - - - Enable Click-Through fullscreen mode? - - - Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. - - +Download size: {2} bytes + {0} installed version number +{1} online available version number +{2} update size + + + Update available + + + Details + + + No thumbnail loaded. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. -To return to normal mode anytime, double click on the OnTopReplica icon in the tray area. - - - Click-Through mode - - - Click-Through - - - If the window is not completely opaque when turned to fullscreen mode, it will let all clicks "fall through" (like a transparent overlay). - - - No, use standard fullscreen -You can enable click-through later - - - Use Click-Through - - - Click forwarding - - - Enable "click forwarding" to the cloned window. - - - Quit fullscreen mode - - - Language - - - Regions - - - Save - - - Delete - - - Current region: - - - Width - - - Height - - - Reset - - - Done - - - Stored regions - - - Do you want to enable "click forwarding"? - - - Click forwarding - - +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + Click-Through mode + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Group switch mode: + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Quit fullscreen mode + + + Language + + + Regions: + + + Save + + + Delete + + + Current region: + + + Width + + + Height + + + Reset + + + Done + + + Stored regions + + + Do you want to enable "click forwarding"? + + + Click forwarding + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). -To exit this mode, right-click on OnTopReplica and disable "Click forwarding" from the menu. - - - Reset settings? - - - This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). - - - Reset settings - - - Abort update process. - - - Show details about OnTopReplica. - - - Reset all OnTopReplica settings. - - - Update OnTopReplica now. - - - <html> - <head> - <style type="text/css"> -body { - font-family: Segoe UI, Arial, sans-serif; - font-size: 0.8em; - margin: 0; -padding: 0.75em; -} -h1 { - font-size: 1.4em; - font-weight: bold; - - margin: 1em 0 0.4em 0; - padding: 0; -} -p { - margin: 0.5em 0 0.5em 1em; - padding: 0; -} -a { - font-weight: bold; - color: blue; -} -a:hover { - color: red; -} - </style> - </head> - - <body> - - <h1>License</h1> - - <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> - <p>The original source code can be found on the <a href="http://www.codeplex.com/ontopreplica">project's homepage on CodePlex</a>.</p> - - <h1>Credits</h1> - - <p>OnTopReplica was inspired by <a href="http://insentient.net">Switcher</a> and other DWM based applications.</p> - - <p>All Vista controls are part of the <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero library</a> for .NET.</p> - - <p>Some example code taken from <a href="http://www.ookii.org">Ookii</a> on Channel9.</p> - - <p>NativeToolstripRenderer class taken from <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> - - <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> - - </body> -</html> - - - - whole - - - - OnTopReplica fullscreen - - - Mode - - - Always on top - - - Forces OnTopReplica to stay always on top. - - - Click through - - - OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. - - - Standard - - - Behaves like an ordinary window. You can bring other windows above OnTopReplica. - - - Chrome - - - Toggles the display of the window chrome. - +To exit this mode, push ESC. + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>License</h1> + + <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>The original source code can be found on the <a href="http://www.codeplex.com/ontopreplica">project's homepage on CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica was inspired by <a href="http://insentient.net">Switcher</a> and other DWM based applications.</p> + + <p>All Vista controls are part of the <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero library</a> for .NET.</p> + + <p>Some example code taken from <a href="http://www.ookii.org">Ookii</a> on Channel9.</p> + + <p>NativeToolstripRenderer class taken from <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> + + </body> +</html> + + + - whole - + + + OnTopReplica fullscreen + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + Chrome + + + Toggles the display of the window chrome. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + Enable Group mode + + + Disable + + + Advanced + \ No newline at end of file From 3924fa7d0b0fade2d1b7898e89c0d0e746bf89b9 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 1 Jul 2010 12:50:55 +0200 Subject: [PATCH 044/164] Debug messages now conditionally compiled only in debug builds. --- OnTopReplica/MainForm.cs | 5 ++++- OnTopReplica/MessagePumpManager.cs | 2 ++ .../MessagePumpProcessors/GroupSwitchManager.cs | 15 ++++++++++++--- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 55a1284..6a15563 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -203,7 +203,10 @@ namespace OnTopReplica { //ESCAPE else if (e.KeyCode == Keys.Escape) { - Console.WriteLine("Received ESC"); + +#if DEBUG + Console.WriteLine("Received ESCAPE"); +#endif //Disable click-through if (ClickThroughEnabled) { diff --git a/OnTopReplica/MessagePumpManager.cs b/OnTopReplica/MessagePumpManager.cs index 17f0e11..b0f07da 100644 --- a/OnTopReplica/MessagePumpManager.cs +++ b/OnTopReplica/MessagePumpManager.cs @@ -21,7 +21,9 @@ namespace OnTopReplica { _processors.Add(t, instance); +#if DEBUG Console.WriteLine("Registered message pump processor: {0}", t); +#endif } } } diff --git a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs index d371f85..22a40ca 100644 --- a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs +++ b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs @@ -26,7 +26,7 @@ namespace OnTopReplica.MessagePumpProcessors { //Enable new hook if (!_active) { if (!HookMethods.RegisterShellHookWindow(Form.Handle)) { - Console.WriteLine("Failed to register shell hook window."); + Console.Error.WriteLine("Failed to register shell hook window."); return; } } @@ -41,7 +41,7 @@ namespace OnTopReplica.MessagePumpProcessors { return; if (!HookMethods.DeregisterShellHookWindow(Form.Handle)) - Console.WriteLine("Failed to deregister shell hook window."); + Console.Error.WriteLine("Failed to deregister shell hook window."); _active = false; } @@ -53,7 +53,6 @@ namespace OnTopReplica.MessagePumpProcessors { hookCode == HookMethods.HSHELL_RUDEAPPACTIVATED) { IntPtr activeHandle = msg.LParam; - Console.WriteLine("New foreground: {0}", activeHandle); HandleForegroundWindowChange(activeHandle); } } @@ -66,17 +65,27 @@ namespace OnTopReplica.MessagePumpProcessors { iActive = i; } +#if DEBUG + Console.Write("New active window (h {0}). ", activeWindow); +#endif + if (iActive < 0) { +#if DEBUG //new foreground window is not tracked Console.WriteLine("Active window is not tracked."); +#endif return; } //Get new handle to clone int iNewToClone = (iActive + 1) % _handles.Count; +#if DEBUG Console.WriteLine("Tracked as {0}. Switching to {1}.", iActive, iNewToClone); +#endif + + //TODO: use real least-recently-used semantics Form.SetThumbnail(_handles[iNewToClone], null); } From 3673ba6a1712bd49555fa14c24fdfcee05e0481b Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 1 Jul 2010 13:05:27 +0200 Subject: [PATCH 045/164] Refactored native message codes in separate classes for nicer syntax. --- OnTopReplica/AspectRatioForm.cs | 10 +-- OnTopReplica/MainForm.Designer.cs | 92 ++++++++++++------------- OnTopReplica/MainForm.cs | 18 ++--- OnTopReplica/MainForm_MenuEvents.cs | 6 +- OnTopReplica/Native/HT.cs | 14 ++++ OnTopReplica/Native/MK.cs | 14 ++++ OnTopReplica/Native/MessagingMethods.cs | 28 -------- OnTopReplica/Native/WM.cs | 23 +++++++ OnTopReplica/Native/WMSZ.cs | 15 ++++ OnTopReplica/OnTopReplica.csproj | 4 ++ OnTopReplica/ThumbnailPanel.cs | 4 +- OnTopReplica/Win32Helper.cs | 12 ++-- OnTopReplica/WindowHandle.cs | 2 +- 13 files changed, 144 insertions(+), 98 deletions(-) create mode 100644 OnTopReplica/Native/HT.cs create mode 100644 OnTopReplica/Native/MK.cs create mode 100644 OnTopReplica/Native/WM.cs create mode 100644 OnTopReplica/Native/WMSZ.cs diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs index 6905d60..dec6cd8 100644 --- a/OnTopReplica/AspectRatioForm.cs +++ b/OnTopReplica/AspectRatioForm.cs @@ -138,14 +138,14 @@ namespace OnTopReplica { /// Improved with code from: http://stoyanoff.info/blog/2010/06/27/resizing-forms-while-keeping-aspect-ratio/ /// protected override void WndProc(ref Message m) { - if (KeepAspectRatio && m.Msg == MessagingMethods.WM_SIZING) { + if (KeepAspectRatio && m.Msg == WM.SIZING) { var rc = (Native.NRectangle)Marshal.PtrToStructure(m.LParam, typeof(Native.NRectangle)); int res = m.WParam.ToInt32(); int width = (rc.Right - rc.Left) - clientSizeConversionWidth - ExtraPadding.Horizontal; int height = (rc.Bottom - rc.Top) - clientSizeConversionHeight - ExtraPadding.Vertical; - if (res == MessagingMethods.WMSZ_LEFT || res == MessagingMethods.WMSZ_RIGHT) { + if (res == WMSZ.LEFT || res == WMSZ.RIGHT) { //Left or right resize, adjust top and bottom int targetHeight = (int)(width / AspectRatio); int diffHeight = height - targetHeight; @@ -153,7 +153,7 @@ namespace OnTopReplica { rc.Top += (int)(diffHeight / 2.0); rc.Bottom = rc.Top + targetHeight + ExtraPadding.Vertical + clientSizeConversionHeight; } - else if (res == MessagingMethods.WMSZ_TOP || res == MessagingMethods.WMSZ_BOTTOM) { + else if (res == WMSZ.TOP || res == WMSZ.BOTTOM) { //Up or down resize, adjust left and right int targetWidth = (int)(height * AspectRatio); int diffWidth = width - targetWidth; @@ -161,11 +161,11 @@ namespace OnTopReplica { rc.Left += (int)(diffWidth / 2.0); rc.Right = rc.Left + targetWidth + ExtraPadding.Horizontal + clientSizeConversionWidth; } - else if (res == MessagingMethods.WMSZ_RIGHT + MessagingMethods.WMSZ_BOTTOM || res == MessagingMethods.WMSZ_LEFT + MessagingMethods.WMSZ_BOTTOM) { + else if (res == WMSZ.RIGHT + WMSZ.BOTTOM || res == WMSZ.LEFT + WMSZ.BOTTOM) { //Lower corner resize, adjust bottom rc.Bottom = rc.Top + (int)(width / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; } - else if (res == MessagingMethods.WMSZ_LEFT + MessagingMethods.WMSZ_TOP || res == MessagingMethods.WMSZ_RIGHT + MessagingMethods.WMSZ_TOP) { + else if (res == WMSZ.LEFT + WMSZ.TOP || res == WMSZ.RIGHT + WMSZ.TOP) { //Upper corner resize, adjust top rc.Top = rc.Bottom - (int)(width / AspectRatio) - ExtraPadding.Vertical - clientSizeConversionHeight; } diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 3f3feb0..14f71d0 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -34,15 +34,16 @@ this.switchToWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.selectRegionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.advancedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.forwardClicksToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.clickthroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.dualWindowModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickForwardingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickThroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.groupSwitchModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuContextOpacity = new System.Windows.Forms.ToolStripMenuItem(); this.menuOpacity = new System.Windows.Forms.ContextMenuStrip(this.components); this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); + this.fullOpacityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.resizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuResize = new System.Windows.Forms.ContextMenuStrip(this.components); this.doubleToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); @@ -68,7 +69,6 @@ this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); this.fullSelectWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.fullOpacityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.danskToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuFullscreenContext = new System.Windows.Forms.ContextMenuStrip(this.components); this.enableClickthroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -98,7 +98,7 @@ this.aboutToolStripMenuItem, this.menuContextClose}); this.menuContext.Name = "menuContext"; - this.menuContext.Size = new System.Drawing.Size(169, 274); + this.menuContext.Size = new System.Drawing.Size(169, 296); this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); // // menuContextWindows @@ -115,13 +115,14 @@ this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.noneToolStripMenuItem}); this.menuWindows.Name = "menuWindows"; - this.menuWindows.Size = new System.Drawing.Size(153, 48); + this.menuWindows.OwnerItem = this.fullSelectWindowToolStripMenuItem; + this.menuWindows.Size = new System.Drawing.Size(118, 26); this.menuWindows.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Windows_opening); // // noneToolStripMenuItem // this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; - this.noneToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.noneToolStripMenuItem.Size = new System.Drawing.Size(117, 22); this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; // // switchToWindowToolStripMenuItem @@ -146,38 +147,37 @@ // advancedToolStripMenuItem // this.advancedToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.forwardClicksToolStripMenuItem, - this.clickthroughToolStripMenuItem, - this.dualWindowModeToolStripMenuItem}); + this.clickForwardingToolStripMenuItem, + this.clickThroughToolStripMenuItem, + this.groupSwitchModeToolStripMenuItem}); this.advancedToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_wrench; this.advancedToolStripMenuItem.Name = "advancedToolStripMenuItem"; this.advancedToolStripMenuItem.Size = new System.Drawing.Size(168, 22); - this.advancedToolStripMenuItem.Text = Strings.MenuAdvanced; + this.advancedToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAdvanced; // - // forwardClicksToolStripMenuItem + // clickForwardingToolStripMenuItem // - this.forwardClicksToolStripMenuItem.Name = "forwardClicksToolStripMenuItem"; - this.forwardClicksToolStripMenuItem.Size = new System.Drawing.Size(199, 22); - this.forwardClicksToolStripMenuItem.Text = Strings.MenuClickForwarding; - this.forwardClicksToolStripMenuItem.ToolTipText = Strings.MenuClickForwardingTT; - this.forwardClicksToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickForwardingTT; - this.forwardClicksToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickForwarding_click); + this.clickForwardingToolStripMenuItem.Name = "clickForwardingToolStripMenuItem"; + this.clickForwardingToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.clickForwardingToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickForwarding; + this.clickForwardingToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickForwardingTT; + this.clickForwardingToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickForwarding_click); // - // clickthroughToolStripMenuItem + // clickThroughToolStripMenuItem // - this.clickthroughToolStripMenuItem.Name = "clickthroughToolStripMenuItem"; - this.clickthroughToolStripMenuItem.Size = new System.Drawing.Size(199, 22); - this.clickthroughToolStripMenuItem.Text = Strings.MenuClickThrough; - this.clickthroughToolStripMenuItem.ToolTipText = Strings.MenuClickThroughTT; - this.clickthroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + this.clickThroughToolStripMenuItem.Name = "clickThroughToolStripMenuItem"; + this.clickThroughToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.clickThroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.clickThroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.clickThroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); // - // dualWindowModeToolStripMenuItem + // groupSwitchModeToolStripMenuItem // - this.dualWindowModeToolStripMenuItem.Name = "dualWindowModeToolStripMenuItem"; - this.dualWindowModeToolStripMenuItem.Size = new System.Drawing.Size(199, 22); - this.dualWindowModeToolStripMenuItem.Text = Strings.MenuGroupSwitch; - this.dualWindowModeToolStripMenuItem.ToolTipText = Strings.MenuGroupSwitchTT; - this.dualWindowModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_GroupSwitchMode_click); + this.groupSwitchModeToolStripMenuItem.Name = "groupSwitchModeToolStripMenuItem"; + this.groupSwitchModeToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.groupSwitchModeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuGroupSwitch; + this.groupSwitchModeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuGroupSwitchTT; + this.groupSwitchModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_GroupSwitchMode_click); // // menuContextOpacity // @@ -195,7 +195,7 @@ this.toolStripMenuItem3, this.toolStripMenuItem4}); this.menuOpacity.Name = "menuOpacity"; - this.menuOpacity.OwnerItem = this.fullOpacityToolStripMenuItem; + this.menuOpacity.OwnerItem = this.menuContextOpacity; this.menuOpacity.ShowCheckMargin = true; this.menuOpacity.ShowImageMargin = false; this.menuOpacity.Size = new System.Drawing.Size(154, 92); @@ -239,6 +239,13 @@ this.toolStripMenuItem4.ToolTipText = global::OnTopReplica.Strings.MenuOp25TT; this.toolStripMenuItem4.Click += new System.EventHandler(this.Menu_Opacity_click); // + // fullOpacityToolStripMenuItem + // + this.fullOpacityToolStripMenuItem.DropDown = this.menuOpacity; + this.fullOpacityToolStripMenuItem.Name = "fullOpacityToolStripMenuItem"; + this.fullOpacityToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.fullOpacityToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpacity; + // // resizeToolStripMenuItem // this.resizeToolStripMenuItem.DropDown = this.menuResize; @@ -444,15 +451,8 @@ this.fullSelectWindowToolStripMenuItem.DropDown = this.menuWindows; this.fullSelectWindowToolStripMenuItem.Name = "fullSelectWindowToolStripMenuItem"; this.fullSelectWindowToolStripMenuItem.Size = new System.Drawing.Size(186, 22); - this.fullSelectWindowToolStripMenuItem.Text = Strings.MenuWindows; - this.fullSelectWindowToolStripMenuItem.ToolTipText = Strings.MenuWindowsTT; - // - // fullOpacityToolStripMenuItem - // - this.fullOpacityToolStripMenuItem.DropDown = this.menuOpacity; - this.fullOpacityToolStripMenuItem.Name = "fullOpacityToolStripMenuItem"; - this.fullOpacityToolStripMenuItem.Size = new System.Drawing.Size(186, 22); - this.fullOpacityToolStripMenuItem.Text = Strings.MenuOpacity; + this.fullSelectWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindows; + this.fullSelectWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; // // danskToolStripMenuItem // @@ -477,8 +477,8 @@ // this.enableClickthroughToolStripMenuItem.Name = "enableClickthroughToolStripMenuItem"; this.enableClickthroughToolStripMenuItem.Size = new System.Drawing.Size(186, 22); - this.enableClickthroughToolStripMenuItem.Text = Strings.MenuClickThrough; - this.enableClickthroughToolStripMenuItem.ToolTipText = Strings.MenuClickThroughTT; + this.enableClickthroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.enableClickthroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; this.enableClickthroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); // // fullExitToolStripMenuItem @@ -486,7 +486,7 @@ this.fullExitToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; this.fullExitToolStripMenuItem.Name = "fullExitToolStripMenuItem"; this.fullExitToolStripMenuItem.Size = new System.Drawing.Size(180, 22); - this.fullExitToolStripMenuItem.Text = Strings.MenuQuitFullscreen; + this.fullExitToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuQuitFullscreen; this.fullExitToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_ExitFullscreen_click); // // MainForm @@ -555,9 +555,9 @@ private System.Windows.Forms.ToolStripMenuItem fullOpacityToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem fullExitToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem advancedToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem forwardClicksToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem clickthroughToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem dualWindowModeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickForwardingToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickThroughToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem groupSwitchModeToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem enableClickthroughToolStripMenuItem; } } diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 6a15563..4a987d7 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -114,8 +114,10 @@ namespace OnTopReplica { protected override void OnMouseWheel(MouseEventArgs e) { base.OnMouseWheel(e); - int change = (int)(e.Delta / 6.0); //assumes a mouse wheel "tick" is in the 80-120 range - AdjustSize(change); + if (!IsFullscreen) { + int change = (int)(e.Delta / 6.0); //assumes a mouse wheel "tick" is in the 80-120 range + AdjustSize(change); + } } protected override void OnMouseDoubleClick(MouseEventArgs e) { @@ -140,9 +142,9 @@ namespace OnTopReplica { _msgPumpManager.PumpMessage(m); switch (m.Msg) { - case MessagingMethods.WM_NCRBUTTONUP: + case WM.NCRBUTTONUP: //Open context menu if right button clicked on caption (i.e. all of the window area because of glass) - if (m.WParam.ToInt32() == MessagingMethods.HTCAPTION) { + if (m.WParam.ToInt32() == HT.CAPTION) { OpenContextMenu(); m.Result = IntPtr.Zero; @@ -150,9 +152,9 @@ namespace OnTopReplica { } break; - case MessagingMethods.WM_NCLBUTTONDBLCLK: + case WM.NCLBUTTONDBLCLK: //Toggle fullscreen mode if double click on caption (whole glass area) - if (m.WParam.ToInt32() == MessagingMethods.HTCAPTION) { + if (m.WParam.ToInt32() == HT.CAPTION) { IsFullscreen = !IsFullscreen; m.Result = IntPtr.Zero; @@ -160,10 +162,10 @@ namespace OnTopReplica { } break; - case MessagingMethods.WM_NCHITTEST: + case WM.NCHITTEST: //Make transparent to hit-testing if in click through mode if (ClickThroughEnabled) { - m.Result = (IntPtr)MessagingMethods.HTTRANSPARENT; + m.Result = (IntPtr)HT.TRANSPARENT; return; } break; diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs index 98f61a8..c385b65 100644 --- a/OnTopReplica/MainForm_MenuEvents.cs +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -21,9 +21,11 @@ namespace OnTopReplica { switchToWindowToolStripMenuItem.Enabled = showing; resizeToolStripMenuItem.Enabled = showing; chromeToolStripMenuItem.Checked = (FormBorderStyle == FormBorderStyle.Sizable); - forwardClicksToolStripMenuItem.Checked = _thumbnailPanel.ReportThumbnailClicks; + clickForwardingToolStripMenuItem.Checked = _thumbnailPanel.ReportThumbnailClicks; chromeToolStripMenuItem.Enabled = showing; - advancedToolStripMenuItem.Enabled = showing; + clickThroughToolStripMenuItem.Enabled = showing; + clickForwardingToolStripMenuItem.Enabled = showing; + } private void Menu_Windows_opening(object sender, CancelEventArgs e) { diff --git a/OnTopReplica/Native/HT.cs b/OnTopReplica/Native/HT.cs new file mode 100644 index 0000000..231e928 --- /dev/null +++ b/OnTopReplica/Native/HT.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Win32 Hit Testing codes. + /// + static class HT { + public const int TRANSPARENT = -1; + public const int CLIENT = 1; + public const int CAPTION = 2; + } +} diff --git a/OnTopReplica/Native/MK.cs b/OnTopReplica/Native/MK.cs new file mode 100644 index 0000000..90c7e90 --- /dev/null +++ b/OnTopReplica/Native/MK.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Mouse click codes. + /// + static class MK { + public const int LBUTTON = 0x0001; + public const int RBUTTON = 0x0002; + public const int MBUTTON = 0x0010; + } +} diff --git a/OnTopReplica/Native/MessagingMethods.cs b/OnTopReplica/Native/MessagingMethods.cs index ebce1d5..cabe03e 100644 --- a/OnTopReplica/Native/MessagingMethods.cs +++ b/OnTopReplica/Native/MessagingMethods.cs @@ -9,14 +9,6 @@ namespace OnTopReplica.Native { /// static class MessagingMethods { - public const int WM_GETICON = 0x7f; - public const int WM_SIZING = 0x214; - - public const int WMSZ_LEFT = 1; - public const int WMSZ_RIGHT = 2; - public const int WMSZ_TOP = 3; - public const int WMSZ_BOTTOM = 6; - [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)] public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); @@ -34,26 +26,6 @@ namespace OnTopReplica.Native { [DllImport("user32.dll", SetLastError = false)] public static extern bool PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); - public const int HTTRANSPARENT = -1; - public const int HTCLIENT = 1; - public const int HTCAPTION = 2; - - public const int WM_NCHITTEST = 0x84; - public const int WM_NCPAINT = 0x0085; - public const int WM_LBUTTONDOWN = 0x0201; - public const int WM_LBUTTONUP = 0x0202; - public const int WM_LBUTTONDBLCLK = 0x0203; - public const int WM_NCLBUTTONUP = 0x00A2; - public const int WM_NCLBUTTONDOWN = 0x00A1; - public const int WM_NCLBUTTONDBLCLK = 0x00A3; - public const int WM_NCRBUTTONUP = 0x00A5; - - public const int MK_LBUTTON = 0x0001; - - public const int WM_SYSCOMMAND = 0x0112; - public const int SC_MAXIMIZE = 61458; - public const int SC_RESTORE = 61490; - public static IntPtr MakeLParam(int LoWord, int HiWord) { return new IntPtr((HiWord << 16) | (LoWord & 0xffff)); } diff --git a/OnTopReplica/Native/WM.cs b/OnTopReplica/Native/WM.cs new file mode 100644 index 0000000..2930c7f --- /dev/null +++ b/OnTopReplica/Native/WM.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Windows Message codes. + /// + static class WM { + public const int GETICON = 0x7f; + public const int SIZING = 0x214; + public const int NCHITTEST = 0x84; + public const int NCPAINT = 0x0085; + public const int LBUTTONDOWN = 0x0201; + public const int LBUTTONUP = 0x0202; + public const int LBUTTONDBLCLK = 0x0203; + public const int NCLBUTTONUP = 0x00A2; + public const int NCLBUTTONDOWN = 0x00A1; + public const int NCLBUTTONDBLCLK = 0x00A3; + public const int NCRBUTTONUP = 0x00A5; + public const int SYSCOMMAND = 0x0112; + } +} diff --git a/OnTopReplica/Native/WMSZ.cs b/OnTopReplica/Native/WMSZ.cs new file mode 100644 index 0000000..2052280 --- /dev/null +++ b/OnTopReplica/Native/WMSZ.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Win32 sizing codes (used by WM_SIZING message). + /// + static class WMSZ { + public const int LEFT = 1; + public const int RIGHT = 2; + public const int TOP = 3; + public const int BOTTOM = 6; + } +} diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 3445c0f..e572deb 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -148,11 +148,15 @@ + + + + UserControl diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs index 7d48dff..c25f9a8 100644 --- a/OnTopReplica/ThumbnailPanel.cs +++ b/OnTopReplica/ThumbnailPanel.cs @@ -136,10 +136,10 @@ namespace OnTopReplica { base.WndProc(ref m); //Make transparent to hit-testing if clicks must not be registered - if (m.Msg == MessagingMethods.WM_NCHITTEST && m.Result.ToInt32() == MessagingMethods.HTCLIENT && + if (m.Msg == WM.NCHITTEST && m.Result.ToInt32() == HT.CLIENT && !DrawMouseRegions && !ReportThumbnailClicks) { - m.Result = new IntPtr(MessagingMethods.HTTRANSPARENT); + m.Result = new IntPtr(HT.TRANSPARENT); } } diff --git a/OnTopReplica/Win32Helper.cs b/OnTopReplica/Win32Helper.cs index a701f0f..25241eb 100644 --- a/OnTopReplica/Win32Helper.cs +++ b/OnTopReplica/Win32Helper.cs @@ -32,11 +32,11 @@ namespace OnTopReplica { private static void InjectLeftMouseClick(IntPtr child, Native.NPoint clientLocation) { IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); - MessagingMethods.PostMessage(child, MessagingMethods.WM_LBUTTONDOWN, - new IntPtr(MessagingMethods.MK_LBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.LBUTTONDOWN, + new IntPtr(MK.LBUTTON), lParamClickLocation); - MessagingMethods.PostMessage(child, MessagingMethods.WM_LBUTTONUP, - new IntPtr(MessagingMethods.MK_LBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.LBUTTONUP, + new IntPtr(MK.LBUTTON), lParamClickLocation); #if DEBUG Console.WriteLine("Left click on window #" + child.ToString() + " at " + clientLocation.ToString()); @@ -46,8 +46,8 @@ namespace OnTopReplica { private static void InjectDoubleLeftMouseClick(IntPtr child, NPoint clientLocation) { IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); - MessagingMethods.PostMessage(child, MessagingMethods.WM_LBUTTONDBLCLK, - new IntPtr(MessagingMethods.MK_LBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.LBUTTONDBLCLK, + new IntPtr(MK.LBUTTON), lParamClickLocation); #if DEBUG Console.WriteLine("Double left click on window #" + child.ToString() + " at " + clientLocation.ToString()); diff --git a/OnTopReplica/WindowHandle.cs b/OnTopReplica/WindowHandle.cs index 7fe6d3b..5cffbce 100644 --- a/OnTopReplica/WindowHandle.cs +++ b/OnTopReplica/WindowHandle.cs @@ -30,7 +30,7 @@ namespace OnTopReplica { //Fetch icon from window IntPtr hIcon; - if (MessagingMethods.SendMessageTimeout(_handle, MessagingMethods.WM_GETICON, new IntPtr(2), new IntPtr(0), + if (MessagingMethods.SendMessageTimeout(_handle, WM.GETICON, new IntPtr(2), new IntPtr(0), MessagingMethods.SendMessageTimeoutFlags.AbortIfHung | MessagingMethods.SendMessageTimeoutFlags.Block, 500, out hIcon) == IntPtr.Zero) hIcon = IntPtr.Zero; From ba1b2f9cb6d9a8ad0587c9d5d328d2d974f76109 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 1 Jul 2010 13:19:45 +0200 Subject: [PATCH 046/164] Added error message for Other platform (same as Win XP at the time). --- OnTopReplica/Platforms/Other.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/OnTopReplica/Platforms/Other.cs b/OnTopReplica/Platforms/Other.cs index e874026..f8dda6a 100644 --- a/OnTopReplica/Platforms/Other.cs +++ b/OnTopReplica/Platforms/Other.cs @@ -1,12 +1,14 @@ using System; using System.Collections.Generic; using System.Text; +using System.Windows.Forms; namespace OnTopReplica.Platforms { class Other : PlatformSupport { public override bool CheckCompatibility() { - //TODO: Err MSG + //TODO: better error message + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } From 94610f3bc5cfe9d7fec1b8566a10ddb533b99b5c Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 1 Jul 2010 13:20:21 +0200 Subject: [PATCH 047/164] Fixed thumbnail panel to pad and resize thumbnails with smaller aspect ratio than the form (vertical resize and horizontal padding). --- OnTopReplica/ThumbnailPanel.cs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs index c25f9a8..875441c 100644 --- a/OnTopReplica/ThumbnailPanel.cs +++ b/OnTopReplica/ThumbnailPanel.cs @@ -198,9 +198,11 @@ namespace OnTopReplica { try { Size sourceSize = ThumbnailOriginalSize; _thumbnailSize = ComputeIdealSize(sourceSize, Size); + + _padWidth = (Size.Width - _thumbnailSize.Width) / 2; _padHeight = (Size.Height - _thumbnailSize.Height) / 2; - var target = new Rectangle(0, _padHeight, _thumbnailSize.Width, _thumbnailSize.Height); + var target = new Rectangle(_padWidth, _padHeight, _thumbnailSize.Width, _thumbnailSize.Height); Rectangle source = (_regionEnabled) ? _regionCurrent : new Rectangle(Point.Empty, _thumbnail.SourceSize); _thumbnail.Update(target, source, ThumbnailOpacity, true, true); @@ -221,9 +223,14 @@ namespace OnTopReplica { private Size ComputeIdealSize(Size sourceSize, Size clientSize) { double sourceRatio = (double)sourceSize.Width / (double)sourceSize.Height; double clientRatio = (double)clientSize.Width / (double)clientSize.Height; - - Size ret = new Size(clientSize.Width, (int)((double)clientSize.Width / sourceRatio)); - //TODO: enable width padding if width > height + + Size ret; + if (sourceRatio >= clientRatio) { + ret = new Size(clientSize.Width, (int)((double)clientSize.Width / sourceRatio)); + } + else { + ret = new Size((int)((double)clientSize.Height * sourceRatio), clientSize.Height); + } return ret; } From 0f28a473280bf8cf6cc5f71c622e2c5ab6630d71 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 1 Jul 2010 13:46:01 +0200 Subject: [PATCH 048/164] Added right click forwarding. --- OnTopReplica/MainForm_ChildForms.cs | 3 +- OnTopReplica/Native/WM.cs | 3 ++ OnTopReplica/Win32Helper.cs | 58 +++++++++++++++++++++-------- 3 files changed, 47 insertions(+), 17 deletions(-) diff --git a/OnTopReplica/MainForm_ChildForms.cs b/OnTopReplica/MainForm_ChildForms.cs index c5c3626..86e0328 100644 --- a/OnTopReplica/MainForm_ChildForms.cs +++ b/OnTopReplica/MainForm_ChildForms.cs @@ -118,8 +118,7 @@ namespace OnTopReplica { } void Thumbnail_CloneClick(object sender, CloneClickEventArgs e) { - //TODO: handle other mouse buttons - Win32Helper.InjectFakeMouseClick(_lastWindowHandle.Handle, e.ClientClickLocation, e.IsDoubleClick); + Win32Helper.InjectFakeMouseClick(_lastWindowHandle.Handle, e); } } diff --git a/OnTopReplica/Native/WM.cs b/OnTopReplica/Native/WM.cs index 2930c7f..879ecbd 100644 --- a/OnTopReplica/Native/WM.cs +++ b/OnTopReplica/Native/WM.cs @@ -14,6 +14,9 @@ namespace OnTopReplica.Native { public const int LBUTTONDOWN = 0x0201; public const int LBUTTONUP = 0x0202; public const int LBUTTONDBLCLK = 0x0203; + public const int RBUTTONDOWN = 0x0204; + public const int RBUTTONUP = 0x0205; + public const int RBUTTONDBLCLK = 0x0206; public const int NCLBUTTONUP = 0x00A2; public const int NCLBUTTONDOWN = 0x00A1; public const int NCLBUTTONDBLCLK = 0x00A3; diff --git a/OnTopReplica/Win32Helper.cs b/OnTopReplica/Win32Helper.cs index 25241eb..a4a3e69 100644 --- a/OnTopReplica/Win32Helper.cs +++ b/OnTopReplica/Win32Helper.cs @@ -2,6 +2,8 @@ using System.Collections.Generic; using System.Text; using OnTopReplica.Native; +using System.Drawing; +using System.Windows.Forms; namespace OnTopReplica { public static class Win32Helper { @@ -10,50 +12,76 @@ namespace OnTopReplica { /// Target window to click on. /// Location of the mouse click expressed in client coordiantes of the target window. /// True if a double click should be injected. - public static void InjectFakeMouseClick(IntPtr window, System.Drawing.Point clickLocation, bool doubleClick) { - NPoint scrClickLocation = WindowManagerMethods.ClientToScreen(window, NPoint.FromPoint(clickLocation)); + public static void InjectFakeMouseClick(IntPtr window, CloneClickEventArgs clickArgs) { + NPoint clientClickLocation = NPoint.FromPoint(clickArgs.ClientClickLocation); + NPoint scrClickLocation = WindowManagerMethods.ClientToScreen(window, clientClickLocation); //HACK (?) //If target window has a Menu (which appears on the thumbnail) move the clicked location down //in order to adjust (the menu isn't part of the window's client rect). IntPtr hMenu = WindowMethods.GetMenu(window); if (hMenu != IntPtr.Zero) - scrClickLocation.Y -= System.Windows.Forms.SystemInformation.MenuHeight; + scrClickLocation.Y -= SystemInformation.MenuHeight; IntPtr hChild = GetRealChildControlFromPoint(window, scrClickLocation); NPoint clntClickLocation = WindowManagerMethods.ScreenToClient(hChild, scrClickLocation); - if (doubleClick) - InjectDoubleLeftMouseClick(hChild, clntClickLocation); - else - InjectLeftMouseClick(hChild, clntClickLocation); + if (clickArgs.Buttons == MouseButtons.Left) { + if(clickArgs.IsDoubleClick) + InjectDoubleLeftMouseClick(hChild, clntClickLocation); + else + InjectLeftMouseClick(hChild, clntClickLocation); + } + else if (clickArgs.Buttons == MouseButtons.Right) { + if(clickArgs.IsDoubleClick) + InjectDoubleRightMouseClick(hChild, clntClickLocation); + else + InjectRightMouseClick(hChild, clntClickLocation); + } } - private static void InjectLeftMouseClick(IntPtr child, Native.NPoint clientLocation) { + private static void InjectLeftMouseClick(IntPtr child, NPoint clientLocation) { IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); - MessagingMethods.PostMessage(child, WM.LBUTTONDOWN, - new IntPtr(MK.LBUTTON), lParamClickLocation); - - MessagingMethods.PostMessage(child, WM.LBUTTONUP, - new IntPtr(MK.LBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.LBUTTONDOWN, new IntPtr(MK.LBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.LBUTTONUP, new IntPtr(MK.LBUTTON), lParamClickLocation); #if DEBUG Console.WriteLine("Left click on window #" + child.ToString() + " at " + clientLocation.ToString()); #endif } + private static void InjectRightMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.RBUTTONDOWN, new IntPtr(MK.RBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.RBUTTONUP, new IntPtr(MK.RBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Right click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + private static void InjectDoubleLeftMouseClick(IntPtr child, NPoint clientLocation) { IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); - MessagingMethods.PostMessage(child, WM.LBUTTONDBLCLK, - new IntPtr(MK.LBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.LBUTTONDBLCLK, new IntPtr(MK.LBUTTON), lParamClickLocation); #if DEBUG Console.WriteLine("Double left click on window #" + child.ToString() + " at " + clientLocation.ToString()); #endif } + private static void InjectDoubleRightMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.RBUTTONDBLCLK, new IntPtr(MK.RBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Double right click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + /// Returns the child control of a window corresponding to a screen location. /// Parent window to explore. /// Child control location in screen coordinates. From bcdca91f27427554b0fb28ab0de98878ac91dc6b Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 1 Jul 2010 14:06:50 +0200 Subject: [PATCH 049/164] Added LRU (Least Recently Used) semantics to Group switch mode. --- .../GroupSwitchManager.cs | 82 +++++++++++++++---- 1 file changed, 67 insertions(+), 15 deletions(-) diff --git a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs index 22a40ca..edcccef 100644 --- a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs +++ b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs @@ -20,9 +20,16 @@ namespace OnTopReplica.MessagePumpProcessors { uint _hookMsgId; bool _active = false; - IList _handles; + List _lruHandles; + /// + /// Enables group switch mode. + /// + /// List of window handles to track. public void EnableGroupMode(IList handles) { + if (handles == null || handles.Count == 0) + return; + //Enable new hook if (!_active) { if (!HookMethods.RegisterShellHookWindow(Form.Handle)) { @@ -32,10 +39,28 @@ namespace OnTopReplica.MessagePumpProcessors { } //Okey dokey, will now track handles - _handles = handles; + TrackHandles(handles); _active = true; } + /// + /// Initializes the LRU sorted list of window handles. + /// + private void TrackHandles(IList handles) { + _lruHandles = new List(handles.Count); + var now = DateTime.Now; + + foreach(var h in handles){ + _lruHandles.Add(new WindowHandleWrapper { + WindowHandle = h, + LastTimeUsed = now + }); + } + } + + /// + /// Disables group switch mode. + /// public void Disable() { if (!_active) return; @@ -43,9 +68,13 @@ namespace OnTopReplica.MessagePumpProcessors { if (!HookMethods.DeregisterShellHookWindow(Form.Handle)) Console.Error.WriteLine("Failed to deregister shell hook window."); + _lruHandles = null; _active = false; } + /// + /// Processes the message pump. + /// public override void Process(Message msg) { if (_active && msg.Msg == _hookMsgId) { int hookCode = msg.WParam.ToInt32(); @@ -59,17 +88,18 @@ namespace OnTopReplica.MessagePumpProcessors { } private void HandleForegroundWindowChange(IntPtr activeWindow) { - int iActive = -1; - for (int i = 0; i < _handles.Count; ++i) { - if (_handles[i].Handle == activeWindow) - iActive = i; - } - #if DEBUG Console.Write("New active window (h {0}). ", activeWindow); #endif - if (iActive < 0) { + //Seek window in tracked handles + WindowHandleWrapper activated = null; + foreach (var i in _lruHandles) { + if (i.WindowHandle.Handle == activeWindow) + activated = i; + } + + if (activated == null) { #if DEBUG //new foreground window is not tracked Console.WriteLine("Active window is not tracked."); @@ -77,16 +107,18 @@ namespace OnTopReplica.MessagePumpProcessors { return; } - //Get new handle to clone - int iNewToClone = (iActive + 1) % _handles.Count; + //Update tracked handle + activated.LastTimeUsed = DateTime.Now; + _lruHandles.Sort(new LruDateTimeComparer()); + + //Get least recently used + var next = _lruHandles[0]; #if DEBUG - Console.WriteLine("Tracked as {0}. Switching to {1}.", iActive, iNewToClone); + Console.WriteLine("Tracked. Switching to {0} (last use: {1}).", next.WindowHandle.Title, next.LastTimeUsed); #endif - - //TODO: use real least-recently-used semantics - Form.SetThumbnail(_handles[iNewToClone], null); + Form.SetThumbnail(next.WindowHandle, null); } protected override void Shutdown() { @@ -102,6 +134,26 @@ namespace OnTopReplica.MessagePumpProcessors { } } + #region List sorting stuff + + class WindowHandleWrapper { + public WindowHandle WindowHandle { get; set; } + public DateTime LastTimeUsed { get; set; } + } + + class LruDateTimeComparer : IComparer { + + #region IComparer Members + + public int Compare(WindowHandleWrapper x, WindowHandleWrapper y) { + return x.LastTimeUsed.CompareTo(y.LastTimeUsed); + } + + #endregion + } + + #endregion + } } From 1448b3f3b19098e47a9ebe186303b179040aa2b5 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 1 Jul 2010 17:54:38 +0200 Subject: [PATCH 050/164] Main icon changed. Some other icons updated. Region side panel updated with better layout. --- OnTopReplica/AboutForm.Designer.cs | 2 +- OnTopReplica/AboutForm.resx | 304 +++++++++++------- OnTopReplica/Assets/close.png | Bin 33303 -> 0 bytes OnTopReplica/Assets/close16.png | Bin 872 -> 0 bytes OnTopReplica/Assets/desktop.png | Bin 0 -> 794 bytes OnTopReplica/Assets/empty-window.ico | Bin 0 -> 10806 bytes OnTopReplica/Assets/icon-new.ico | Bin 0 -> 10806 bytes OnTopReplica/Assets/list.png | Bin 0 -> 681 bytes OnTopReplica/Assets/newicon.png | Bin 0 -> 770 bytes OnTopReplica/Assets/ok.png | Bin 2783 -> 0 bytes OnTopReplica/Assets/regions_new.png | Bin 0 -> 207 bytes OnTopReplica/Assets/screenshot-icon.ico | Bin 0 -> 99678 bytes OnTopReplica/Assets/window_opacity_new.png | Bin 0 -> 810 bytes OnTopReplica/MainForm.Designer.cs | 40 +-- OnTopReplica/MainForm.cs | 2 + OnTopReplica/MainForm.resx | 304 +++++++++++------- OnTopReplica/OnTopReplica.csproj | 7 +- OnTopReplica/Properties/Resources.Designer.cs | 36 ++- OnTopReplica/Properties/Resources.resx | 34 +- .../SidePanels/RegionPanel.Designer.cs | 46 +-- 20 files changed, 460 insertions(+), 315 deletions(-) delete mode 100644 OnTopReplica/Assets/close.png delete mode 100644 OnTopReplica/Assets/close16.png create mode 100644 OnTopReplica/Assets/desktop.png create mode 100644 OnTopReplica/Assets/empty-window.ico create mode 100644 OnTopReplica/Assets/icon-new.ico create mode 100644 OnTopReplica/Assets/list.png create mode 100644 OnTopReplica/Assets/newicon.png delete mode 100644 OnTopReplica/Assets/ok.png create mode 100644 OnTopReplica/Assets/regions_new.png create mode 100644 OnTopReplica/Assets/screenshot-icon.ico create mode 100644 OnTopReplica/Assets/window_opacity_new.png diff --git a/OnTopReplica/AboutForm.Designer.cs b/OnTopReplica/AboutForm.Designer.cs index 68d102b..0a30d65 100644 --- a/OnTopReplica/AboutForm.Designer.cs +++ b/OnTopReplica/AboutForm.Designer.cs @@ -122,7 +122,7 @@ // this.buttonUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.buttonUpdate.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.buttonUpdate.Image = global::OnTopReplica.Properties.Resources.component; + this.buttonUpdate.Image = global::OnTopReplica.Properties.Resources.xiao_component; this.buttonUpdate.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; this.buttonUpdate.Location = new System.Drawing.Point(235, 79); this.buttonUpdate.Name = "buttonUpdate"; diff --git a/OnTopReplica/AboutForm.resx b/OnTopReplica/AboutForm.resx index 03a1d9d..86aa216 100644 --- a/OnTopReplica/AboutForm.resx +++ b/OnTopReplica/AboutForm.resx @@ -141,129 +141,187 @@ - AAABAAEAMDAAAAEAGACoHAAAFgAAACgAAAAwAAAAYAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AABBdztCdjhDeDpCdzlCdjpDdzpFfD5EeTpGfDtFfDtFfjpJgjtHfjlHgTpIgjtNiDxKgzlKhDlKiDhO - iztNijpMjDpPjTtSkz1Vlz1YnD1bpD5dpz1hqT9lrEFkrT5oskJnsD1prT1orD1mqTlmpjlkpDdmozpj - nDVhmDRekzJekTJekDNjkjNeijFbiC1ahSxDeDlDdztDdztEdzpFejpEeDhEdzlEeDpGezhGfThGfDhH - fThHfjlIgjhIgzpKgzhJhDhKhjhLhzlNiTlLiDlPjTlVlz1VmDxYnTxdoT5gqD1iqj9jrkBlr0BnsEBp - rz1nrT1orTtmqzhlpzhopjpjoDVgmzNgmDNflTJejy9cjy5gkS9bii5ciC1chyxbhytCdjpDdzlDeDlG - eztDdjhDdzhDdzdEeDhHfDdFejZFezdGfTdJgzlIgDdIgTlKgzdLhDhKhjlLhjhMiTlQkDpSlDtXmDtY - nTtcozxepz1hqz1jrT1oskBorztpsDxnrjxorTtmqzplqTppqjxioDVfnDRfmDNflTJdkjBekjFcji9c - iy9biS1ciCxciCtgjS1DdjhEezpDeDhCdTdEdTZEdjVFeDVFeDVHdzREezZGfjdIfTZHfTdIgDdJgjdK - hDZKhDZKhDZMhzdTkztSlDpWmjtanjtcozxepz1gqD1kqzxorz1nsD5psDxorztlrTtmqzpmqDxkpTli - oDZgnTVelzNclTJdkjFilTNaji5biy5bii1bii1ciSxfjSxdiypGejpCdTZDdThFdTdGeDdFeDZEdzdG - eDZIejhLgTpIeztLfjdKgDlLgjlMhDpMhTlOhTpPjDtTkTtWlTxZmj5coT5gpT9ipz9kqD9prUForj5p - sEBpsEBpsT9prz9nrD9qrEJkozlloDlinThhmjdgmDZhlzRflDJbjzBcjTFejTBdjDBejC9eiyxejStf - kC1DdTdEdzhFdzlIeDpIeTtKejpKez5NfT1QgD9QgUBPgUBShD9RhUBSh0BTiEFVi0BdlUVak0JdmUNi - n0VlokVnpkZoqUVprERusEVusUVts0ZutEdvs0VvskZusEVvrkZrqEJppENnokJmnz9mnT1qnzxkmDpi - lDhikjZhkjVjkDVmlTZgjzFhjy9jki5ili1DdjdGeDpIeDtMeT1Pe0BRfkRWhkdWg0ZahklbiUtaiUxd - i0tcjExej0tglE1kmU5mnE9nn05ro05up09wq1Bzr1F2s1F1s053tFB2tlF3tlF4tlB2tlB4tlF2sU9z - rU5yqk1yqExwpUxwpUlypkluoUhsnEZsm0VrmkJql0Jtmz5pljtolzhplzZomjNspTJGeDpKeTpMej5S - e0FVgUdahkteiE5jjFNokFdpkllqk1tslltsmVxyoV5xol52pF12p196rWB7sGB+smGAtmCEumKCuWCD - umGCul+Du1+Du2CEvF+FvWGDuF+Dt16As11/sFyAsFyAr1t+rVp9qVt8qFp7pVd6plV5pVN2oU9zn0px - oUZunj9wojxwqThwrjZIdzpOeD5SfkJbhEpehU5ljFZskV1zl2R5nGp8oWx9oXCBpXCDq3KErXKGr3KJ - tHSLtnSLuHSNvXWPvnSRwHSRw3WSwnWSwXOSwXSSw3OSw3STw3ORwHKQv3KQvXGPu3GPunGQunKNt3GN - tXCMtG+NtG+MsmyMs2uGrWWErWGArFp+qlR7rEt5sEV3tj91vzxMdjtRfUFZgUlhhlFqjFp0lWR8nG+G - o3iPqoCUr4SWtYmZuImau4ubvoudwYyfw4ufxYyhx42jyo6jyoykyoylzI2lzI2ky4ukyo2kzYyjyouj - yoqjyYqjyIuixouixomix4uhxIqhwomhwoihwYeiwYeiwYedvoGZvH2UunSQuWyOumKGuleDv1CAykl6 - 2UFSfEFWfkVghE9qjVuIhYP89e3z9e/n9PDn9fDn9PHn9fHo9fHp9vLq9fHq9fHp9fDq9PDr9O/r9O/s - 9O7s9O3s8+3s8+vs8urs8unr8efr8Obs8Obt8OXu8eXv8OTw8eTz9OX4+Of8+ez9+ez++e3++en9+ej9 - +OX89+L89t/69OT57uKUzGaN01yF4lGB+EtQeT5bgUpliVZzkmONiIPk6efS8vSj6vCl6++n6++o7O6q - 7O6t7e6v7u6x7u6y7ey27uy47uy88Oy/8OvC8OrE8OjG8ObK8OTL8eDO8d7T8d7a8eDg8uLk8uTm8+Po - 9N/s+Nny+9L4/Nb7/NL8/M/8/Mr8/Mf8+8H8+bb89rD699f68eGe33aS62SL/Fp/+1BTe0Neg01ri1t6 - lWqWkYzc6+qj6u441d861t091ts/19lD2NhJ2dhO2tdR29VU29Jb3tFh4NFq5dJx6NF66tGK69WW69in - 7Nmu7dS27c+57ci07cOr7b6n7cC07rzH8bPO9KfV9pva85jp74vt64Hv6Hbx5nDy5Gbz4FT120r466r6 - 79qm9IGY/HGM+2R2qUtWe0NihFBvjV9/mG+dmZTd7Ouj6e031Nw61Ns91dlA1tdC19VG2dRL29NX4NZe - 5Nhl6Nlm69Vt8NJ289KB9tGR9tOd9dKr9NGy8sy78cnB9MS7872x8reu8bq187jF97XC76LD55LF33nS - 2mna1Vze0F3iz1jnzVLsy0bwxj/346b57tuo/YmZ/XmDoFt4lUpXfENkhFFyj2GFnnSjnpre7euh6Ooz - 09Y21tc52dc62NI81sxA1shE2MVQ3chZ5cth68tg7MRk67ts67d17bSI8LeT7rWh67Oj4qqo3KOo3Jmd - 2ouP2YCL2YGV24Cn34Kp13Wx1Hm0y2bCx1vKwUfUw0fbwUTgvkHluj7suzv236X57tyq75CUrXOHol95 - l05ZekRmhVJ4lWWIoHamop7e7eug5uYxzcw00M040sw50cc+1chC1sRI2MFS2L1b375k5r5l57Ro5Khs - 3aBx2pd63JN/24mD14CCzXSGym2Lzm+OymuPxGeVu2CWul6avF6dtFOptFizsky3ska+sDvItT3Stz/Z - tjvftDrntzr03qX479ynvIyYsXaHomB6mE9bfkRpiFN5lmSLo3mopKDe7Oqh4+E3y8U70Mc/0sY+zrxF - 0rtM1rlT2rVW1qte2qdo36Jz459z2ZFwzIJsv3F1wnJ3w3J+wmx8uV2Cs1CDsVGErE2EpUqGm0GKlz6R - ljualTekmz+snT2unjq0oDDAqDHJqzXPqjXTpjTaqjXu2KP37dyrwJCXrniJpGJ7mVBcgUVrjFR6mGaK - p3iopKDf7Oml49s+yblFz71J0LtIzLFO0K5T0KhZz6JbyZVix4xryYh1y4NzxHtwuW1sr150sFl0rVZ3 - qk92okN9njl+nzx+mTt8kTl8hS9/gSqFfyeLfyWRgSWZhSWehySmjiarkSm1li68ly7GmS7NnDDo0qH2 - 7NypvI6Xr3eKo2N7mFBehEVrj1V6nGaMp3mopKDf7Oen4NVDw6tJyK5Nx6pLwJ1OvJFRuYlWt4Fct31l - uXhsunR0uG5xsGNuplVsnkVxnT9wmj1wlDZuiy10hyN2gyF4fx95ex55dx17dR1/dR2Fdx6LeR+SfCCa - giKjiiKokCiwlCq0lS++ly/FmDHm0KD17NypvY6Yr3iKpGR7l09fiEVsk1R7nGWMqXiopKDf6uWn2s1C - spJItJNLso9MsIhMqHtNoW9PmWNVmV5enVpln1ZomktmlENljjdrjzFxjyhyiyJwhB5ufht0gBp6gRp8 - fhl7eRl4dBl5cRl8cRqBchuHdByOeR6XgB+fhyKjjSerkSqtlS60ljC5lzThz6T07N2pvY6Yr3iJo2N8 - l05hi0VulFR8n2SOrXmopKDf5+Km0ME9mnVAmnJClmxEk2VGjV1Ki1VQi05ZkUtlmEdsmkFtlTdsjS1q - hiNwhx5zhxp1hhlzghd0gBZ7gxV/gxaAfxV9eRV5chZ4bxZ6bhd+bxiEchmMdxuUfx2dhR+jiSKrkiWv - mCq0mi+2lzPezqP07N6pvo+Yr3iJo2J8l09ijkVul1N8omSMqneopKDf5uClyLY8il9Bjl5FjVpIjlZM - jE9RjUhZjEFijjltlDNzlCx0jyRxhh1wgRh1hRZ5hxV6iBR5hRN7hBKBhxKDhRKDgRJ+ehJ6cxN5bxN5 - bRR8bhWCcReLeBmUfxychB2hhh+oiyKvkiS0lim1li7czqL17d+pvY6Yr3aKo2N8l09ikEVtmFR8oGSM - qneopKDf5d6mxa8+g09EiU9LjUtQjEVXlT5bkzhklTJsjip3lCR9kx58jhl4hhV3gxJ8iRJ+ixKAjBF/ - iRGCiRCGihCGhg+EgQ+Aeg99dA97cRB6bhF9bxODcxWNexeVgRqbgxyegh2jhx+wliO7nSW/nSjgzp71 - 7d+qvYyYrnaJo2N7lk5ikEVtl1N7n2SMqXenpKDg5N2nwqlCgEJKikFUkj9YkDlflzNikixqkyVyix5+ - kRuDkhiDjRR9hhB9hw+DjQ+HkA+HkA+GjQ6IjQ2Kiw2HhgyDgAyAegx/dg19cg59bw9/cRCGdhOPfhaW - gRiZgRmafhqdfhymix+ylCK6mSTfzpz27t+qvYyZr3WKo2N8lk1ij0VtllN7nmOMqXenpKDg49upwqRG - fzZRkTdamDRelC9hkCdkiiBtjRx4iheFkhmJkxaHjhOAhg2DiQyLkg2Plg2PlQyKjwuNjwuNiwqJhQmE - fwmBegqAdgp/cwt+cQ2BdA6JexGRgBOVgBWVfReVehiXehmghh2rkiG3myTf0Jz47+CqvYyZr3WJomJ8 - lk9hj0RsllJ7nmOLqHenpKDg5NqrwqBLjS9UnS9boSxdjiVegB5kfhlvgxV8ihKJkxiMkhWJjROChgmH - jAmPlAqUmAqTlwqPkQmRkAmOigiKhQiEfgeAeQd/dgh9cwl9cgqCdgyKfQ+PfxGQfBKOdxSPdRWSdheX - eRmeiCCqkyPa0p338N+pvIyYrnaJomJ8lk1gjkNslFN6nGSMqXinpKDh5NmrwZ1LiChTlihZmCVciB5e - fBhlfBRwghF9iQ6JkRSMkBKIixCEhgaLjQeTlQeXmAiVlgeTkQeTkAeQigaKhAaEfQWBeQV+dQZ7cgd8 - cgiCeAuJfQ2LfA+KdxCIchGJcBOMchWSdheZhR+jjyLW0J328N+pvIuYrnWJomB8l01fjEJsk1F5m2OK - pHanpKDh49mrv5tJgiNQiSFXjx9agBlfehRmeRBxfw19hwuHjA6JjAyFhwqFhgWNjgWTkwWXlQaUkgWU - kQaUjwWQiAWJggWEfAR/eAR7cwV4cAV6cgeAeAmFeguFdw2CcQ6BbA+CaxGGbhSMchaUfxuahx/Sy5v0 - 7t+pvIuYrnWJo2B8l01hjEJpkVF4l2KKonWnpKDg4tiqvJlHbh1OeBxVfxpbfhZfeBJldg5wfQt8hAmE - iAmGhweCgwaFhQSPjgWVkwWYlAWTjgSUjgSSiwSOhgSIfwSCegR+dgR4cQR1bwR4cgV+dweAdwl9cQp6 - agx6Zw18Zw+AahKGbxSNdBeVfxzQx5n07+CpvIuZrnSKomB8l01diEJqjlB4lWGIoHSnpKDg4tiquphG - ahpOdRlVfRdbfRRedhBkdAxvegl7ggeDhQaEhASAgAOFhQSQjwWXkwWYkwWTjASTiwSQhwSMggSFfQSA - eAR7cwR1bwNzbgN2cgR5dAZ4cQh1aglyZApzYgx2Yw56ZxGBaxOIcRWRfBnOxZjz7uCqvIuZrnSJoV59 - lkxchEFpjFB3k2CIn3WnpKDf4tipuZdFaBdNcRVUehNaehFddA1icQpteAh5fwaAgwWBgQN+fgOFhASP - jQSVkQWUjgWQiQWQhwSOhASJfwSDegR9dQR4cANzbQNybQNzcAN0cAVxawZsYwhrXglsXQtwXw11Yw97 - aBKCbRSLdxjLwpfz7t+qvIuYrXOJoV58lkxcgj9oik93k2GInnSnpKDg49mpuJVFZRRMbRJUdhBZdw5c - cQtgbghsdQZ3fAV8fgR8fQN7ewOEgwSNigSSjQSPiASNhQSMggSKgASFewSAdwR7cgR2bgNxawNxbANw - bgNuawRpZAVlXQdkWQhmWQpqWwxvXg51ZBB8ahKEcBXIvpbx7uKqvIqYrXOLoV58lkxagkFoiE91kGCG - nXOnop7f4tipt5REYhFLaQ9Scg1XcwxbbwlfbAdpcgV0eQR3eQN3eAN3dwODgQOJhgSMhwSHgQSIgASH - fgOFfAOBdwN8cwN3bwNzbANvagNvawJsagJoZQNhXQRfVwVeVQdhVQhkVwppWwxvYA92ZhF+bBPGvZXw - 7eGqu4qarXOKoV58lUxYfD5oh010j12EmnCkoJvf4deptpNEYA9JZg1QbgtVcAlZbQddaQZocARxdgNz - dgNydAN0dQOCgQOIhQSJhASDfASDewOEfAOBeAN9dAN4bwN0bANvagNuaQNsaQJpZgJiXwNbVwNZUgRZ - UQVbUQdfUwlkVwtqXA1xYw94aRHDvJTw7OCnuYaYrHCJoFx8lUpcgD5kg0lyjFqBl2yfm5bd39WptZFD - Xg1IYgtPaglTbAhXagZcZwVmbgNucwJwcwJvcQJzcwKBfwOGgwSEfwR/eAR/dwOBeAN9dQN6cQN0bQNw - agNtaANraANpZgNkYQNcWQNXUgNUTwRVTgVWTgZaUAdfVAplWQxrXw5yZRDAupPw696ktYCWqWuInlh7 - lEdWeTlhgUduilZ8lGaZlZDc3dOntZFBXgxGYQpLZwlQaQdUaAVZZwRibQRqcwVrcgVqcAVvdAN7fgSA - gAR8ewR5dgR5dgR6dgR3cwRzbwRvbANraQNoZwNnZwNjZQNeXwNWVwNRUQNOTgNOTQRQTQVTTwdYUgle - VgtkXAxrYg69uJLv6t2dr3ePpGSDmlJ4kUJVeThef0Nqh1B3kV+RjIfk493U28qotZGptpCsuZCvuo+x - uY6zuY63vI26v4+7v4+6vo+9v43Bw47DxI7BwY7AwI7BwI7BwI6/vo69vY68u427uo25uo24uY23uI20 - tY2xso2vr42tro2tro6uro6vr4+ysI+0spC2s5G5tpHd28v38umVqWyJnlt9lUt0jT9TeDVbfj5lhEpw - jVaHgn308evo5uDe4dbh4tfj5Njj5djk5djk5djl5djm5tnm5tnm5tnm5tjn59fn59fn5tfn5dfn5djn - 5djm5dfm5Nfm5Nfl5Nfl5Nfl5Njl5Njk5Njk49jj49jj4tjj4tjj4tjj4tjk49nk4tnk4tfk4dbr6OH9 - 9u+KoF+AmFB3kENvijhReDJWezljhkRnh0rV1NSLhX+Qi4eYk4+emZWinpmloZymop2mop2mop2mop2m - op2mop2lop2lop2lop2loZ2loZ2loZ2loZ2loZ2loZ2loZ2loZ2lop2lop2mop2mop2mop2mop2mop2m - op2mop2mop2loJyhnZicmJOVkYyPioWSj4t/lU53kERxiTlqhTBOdi5WfTVXfzlehUJmi0lvklJ1m1h9 - p2GBrmaGuWqJxm6K1nCK6XKL6XOHyG+EnGmFnWqGnmiIoGqGn2mHoGqHoGmIommIo2qJpGqKpWmKpmqK - p2qMqGqMqWqMqWqNqWqNqWuMqGqOqGqOqGqOp2mNpmiMpGeLomSIoF+DnFh+l1B7k0l0jkBuijhrhTBm - gypLeCxPei9VfzVZhTheij1lkkNtn0tup05yslN1xVV411l27Fp47F9xplVyjVFxjlFzkFJzklN0klN1 - klJ2lFN2lVF2llJ2llJ3mVN4mlJ5m1J5nVF6nlN6n1N9nVN9n1R8n1R9nlN9n1J9nVJ9nFF8m1B8mU97 - l014lUd2kkRzj0BwjDpqhzRohS9mgChifiRKeClNfC1RgC5VhjBYjTVfmTphoT5jsEBnxURn2kVr70pn - 70tijUBhgT5igj5ihT5lhz5jhz9miEBmiD9oiz9ojD5njD9njD9pkEBqkT9rkz9slT9slkBul0BvlT9u - l0Bul0Bvlj9vlj9vlT5vkz5vkT1vkDtujjptjThrijVpiDFnhi5kgytkgidifyNefR9KeidNfihQhCtS - jCxWmTBYojNcsTVcxzZb5Tle8z1e8z9VeTBVeTBWeTBYejFYfTBafzFYgDFagDJbgDBchDBagzFchTJd - hzFeiTFgizFhjDBhjjFikDJkkTJkkDJkkTJlkjFlkDFkjzBljzBjji5miy5lii1miC5khyxjhCphgydh - giVffyRffx9gfR9dexxJfiZLgyZOiyhRlipSpCtStC5Wyy9V6TFW9zVU9TdMciZOcCVNciZOdSZQdyZR - eCZReSdReydTfCdUfCdVfydUfiZWgSZVgyZXhiZZhyZaiSdbiydcjSdejihgjihejihejihfjSdfjShf - jCdfiiVgiCVfhyRfhCNegyJdgSJcgCBdfx9bfh5bfhxcexpaeRlKhCVLjCVQliZRpSdPuCpR0CtS8SxV - +jBQ+jBGbR9JcB9JbyBJcR5KcSBMdSBNdiBOeSFOeiJPeiBQeiBRfSBRfh9TgCBTgiFVhSBWhiBYiCBX - iR9YjSBbjiFbjCFajSJajSFbjSBaiiBaiiBaiB9ahh5bhh1agx1bgx1bgRxagBtbfxpafhlafBhcehha - eBhNjyZNlyRRqChSuyhR1ytS+C1V/jFP/i5Gbh5Hbh9Jbx9KciBJcR9KdCBMdiBNdyBOeSBPeh9Peh9Q - eyBRfh9RfiBSgR9UgyFVhR9ViCBYiSFYjCBZjSFcjyBcjyBdjyJbkCFcjiBejCBbjCBbih9diB9bhh1a - hRxcgx1bghpbgRxbgBpafxlafBhbehdbehdOmiVPqSdQvilR2SxR/S1V/jFL1yxGbB9Hbh9Gbh9Mch9I - cB9JcB9Kcx9MdSBMdyBOeCBNeSBPeR9QeyBQfR9RfiBSgR5SgyBVhSBWiCBYiCBXix9ZjB5cjx9cjx9d - jyFajyBcjR9bjB5bjCBbih9chx5chh1bhRxchBtbgxtZgBtbgBpbfhlcexhaexhbehdPqidRwClR2ylR - /S5U/zFLwyhGbR9FbB9GbR9JcB9Jbh5LcR9KcR9Mcx5MdSBNdyBOeCBOeiFPeh9QfB9RfSBRfiBSgR5S - gyBUgx5Whx9YiR9Xix9ZjR5bjx9cjx9dkCFajyBbjh9cjR9bjCBbih9diB9dhh1chRxbhBtbgxxbgBpb - gBpbfRlcexhcexhcexgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAABAAIAMDAAAAEAIACoJQAAJgAAABAQAAABACAAaAQAAM4lAAAoAAAAMAAAAGAAAAABACAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAAAAFwAAACAAAAAnAAAAKwAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAAKwAAACcAAAAfAAAAFwAAAA0AAAAGAAAABgAAAA4AAAAdAAAALQAAAD0AAABIAAAATgAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATgAAAEgAAAA9AAAALQAAABwAAAANAAAACwAAABkAAAAwAAAARwAA + AFsAAABpAAAAcAAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcAAAAGkAAABdAAAASAAAAC8AAAAYAAAAEQAA + ACQAAABBAAAAbAoKC6QYGBiyFhcXtBcXF7QXFxe0FxcXtBcXF7UXFxi0FxcYtBcYGLQXGBi0FxgYtBgY + GLQXGBi0FxcYtBcXF7QXFxe0FxcXtBcXF7QXFxe0FxcXtRcXF7UXFxe1FxcXtBcXF7QXFxe0FxcXtBYX + F7QWFhe0FhYXtBYWFrQWFhe0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe0GBgYtQEBAqYAAAB5AAAAXwAA + AEEAAAAkAAAAFwAAACwAAABdOTk3u46IgKWTjIKUkYiAk4yEepKHf3WQhHtyj4B5b45+eG2NfHVrjHly + Z4t5cmeLeXFni3huZot5b2aLe3JoioB3bIuDe3KMiH92jIyCeIyMhXqNjYZ7jo2HfI+Ph36PkId/j5GI + f4+SiX+PkomAj5OLgJCTjIKQk4yCkJSMgpCTi4GQj4h+joyEeo2LgniMjIN5jY+HfY6RiYCPkoqAjn55 + c7IXFxe1AAAAcQAAAFAAAAAuAAAAGwAAADAJCQmJkoyGrJ6ViXCypp2Fv7OskL2yq5G6r6ePt6yljbWr + o4yzqqGLsaefirClnYmupJ2JrqOdia6inYqvpJ2JsqafibSqo4m4raeKu7Gqiryyq4u8s6uLu7OsjLyz + rYy8s62MvbOujb20ro29ta6NvbWujry2ro67tq6OvLaujr23r468ta6OurOsjLiyq4u3sayLubOvjLu0 + so20ramGnpWNdJ+ViGxnZWG9AAAAiQAAAFYAAAAzAAAAHAAAADIREhKSqaGapbK4splz3ePrceDn8nPg + 5/N14OfzduDm83nh5fN84uXyf+Lk8oLj5PKF4+Lyh+Pi8onk4PKM5d/yj+Xf8pPm3/KX6ODynOni8qDq + 4/Kk7OLyqO7i863w4vKy8+Hytvbh87z44fPE+uHzzvvk89776vPs+/Pz+fv58//7/fP/+/7z//v98v/7 + 9/L8++3y9/vi8/b70fPz+b7u1da5u6mim3V/fHe1AAAAkQAAAFkAAAA2AAAAHQAAADMQEBCRsKiirMLO + ybBI3eT/PNnf/z3Z2v8+2df/P9nV/0HZ0/9G2tL/StvQ/0vbzv9O28v/UNzJ/1Pcx/9W3sX/WuHD/13k + wv9i6ML/aO/E/3D1x/99+s7/jP3W/53/4P+y/+r/xf/x/9r/+f/v//3/9//8//n//P/6//r/8v/r/+H/ + 3v+//dr/t/3Z/8L+zv/K/7H/1f2b/9r8jv/X/Yz/0Oa+1r2zsYJ+e3e4AAAAkQAAAFoAAAA3AAAAHQAA + ADMPDw+RtKumr8bSz7Y809n/L9DT/zLQ0f8zz8//NNDL/zfQyf860Mj/PNHF/z3Sw/9A1cH/RdnC/0re + xP9S5cj/W+zN/2by0/9x+Nj/e/3d/4L/4P+L/+T/mf/o/6n/6/+5/+z/xP/n/8f/2/+//8z/tPy//6X5 + tf+Z96//jPar/3j1rP9z97j/gvrD/4X9yf+Q/cv/qvu5/7jtkf+112f/z9mt2cW9u4iAfXm5AAAAkQAA + AFoAAAA3AAAAHQAAADMPDw+Rta6osMfT0Lc40tX/LM/Q/zHQz/8y0c7/NdTO/znXz/8/29H/ROHV/0zo + 2P9T7tz/WvTg/2D54v9l++H/avzf/27+3f90/9v/ev/a/4H/1/+K/tT/kPzL/5H4v/+N87D/he6f/4Dp + k/+B5o3/huWK/4/liP+W5of/muaG/5zihv+e2ob/pNeJ/6ncjP+s5pD/pO6U/5/wlv+h4oX/ytu32si/ + vYuCf3u6AAAAkQAAAFoAAAA2AAAAHQAAADMPDw+Rt6+qscnV0bk+2Nf/M9nV/zrd2P9A4tz/Rejf/0jq + 4P9J6tv/TOrW/07o0P9P5sn/UefD/1Xqwf9c8ML/ZPXC/2v3wP9v8rn/cOqv/27iof9r25X/a9mN/3TZ + jP9924v/gtuH/4fbgv+I2n7/itR6/4nNdP+HxW3/iL5o/4y4YP+St1X/k7ZL/5S1Tv+ZtlX/pL5d/67L + Yv+x123/0uC828rCwI2DgHy7AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RuLCss8rX07pG4dz/Od7W/zzb + 0f8/2s3/P9jI/0DUwv8/0Ln/Q9G2/0rXuP9S3rr/WuS9/1/kuf9f3rD/X9ai/1/Pl/9hzJD/Zc+M/2zT + if9x1oj/d9eE/37Vg/+D0X//fshz/3m+aP95uGP/e7Nf/3+wXP+FsFb/jLVR/4+8Uv+QwFv/k8Rk/5zF + Zf+hw2D/pMBY/6i7Uv+ps0D/0M+i3M3Hx5CEgX68AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RubKutMvW + 0rs/ysH/MsS3/zbDtP87x7b/Qc27/0bVwP9L2b//Ttq7/1HWs/9T0Kn/Vcqh/1jImv9dy5X/Y9CS/2nT + kP9u1Yz/cNOG/3DOfv9wx3X/cMJv/3vDcf+GxnH/gsFl/4G/Xv+Iv17/jMNc/5DHXP+QzGH/jM9u/4vL + c/+OwWz/j7lg/5GyVP+SqEn/lqJB/5icOv+WkSr/yMOb3NDMypGFgn+9AAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+RurOvtszW0bxCxbj/OMa2/0DNu/9F0r3/SdS9/0rSt/9LzKz/TMik/1HLoP9a0aH/Y9ih/2vc + nv9w3Jf/cdqP/3PXiP931YH/etV8/37Vdv+A1HD/hdNq/5XUbv+Z027/icll/4HGYv+Dx1z/hcJU/4K3 + VP99qVX/fJ1J/3yTPP97izT/fIYv/4CDK/+EgSj/iIAn/4uBJv+MfBr/xr2W3dPPzZOHhIG9AAAAkAAA + AFoAAAA2AAAAHQAAADIPDw+RvLWwts7Z071K0L7/Psq0/0LKr/9HzK3/T9Ox/1jdtv9f5bf/Y+q0/2rt + r/9y7Kn/eeqj/4Hmnf+C4pT/gNyK/3/Tfv99zHP/e8Rp/3e7Yf9ysl3/b69h/3e2cf9zuHD/aa9Z/3Gn + Qv94nDT/dI4v/3KGKv90gyb/doIk/3d/I/94fCH/enog/3x4IP+AeCD/g3kg/4d6Iv+Idhf/xLuW3tbR + 0JWHhIG+AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvLWxuM/Z075W173/Utq7/1riv/9h6cL/aOzC/23t + v/9s6bP/aeCl/2nVl/9pzIz/bcSB/3C8d/9ts23/Z6lj/2SiXf9hnVv/XZpb/1yZXP9cnFv/ZaVZ/3aw + U/94pjv/cY8n/2+EJP9sgCX/bH4k/3B+I/92gCL/en8f/3p7Hv95eB7/eXcd/3t1Hv9+dR7/gHYf/4R3 + H/+FchX/w7qW3tfT0peHhYK/AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvbazuNHb1b9k3r//WNez/1bP + qP9Tx5z/U7+U/1O5jv9Ss4T/UKp2/1Cha/9Tnmb/Wp5j/2ChZP9gn2L/XJld/1yYXP9cmFf/XphQ/2Sa + R/9nmDr/cJkv/32dKf92jyT/an0h/2p9If9ufyD/cn4e/3V+Hf98gB3/fX8c/3t6HP95dhz/eHQb/3lz + HP97cxz/fXQc/4J0Hf+CbxL/wrmV3tjU1JiIhoPAAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+Qvbe1udDY + 0sBPt5b/QauH/0Khff9CnXT/RZ1y/0iecP9Lnm3/S5pn/0yVYv9QlGD/WZlf/2KhXv9ln1n/YplS/2WZ + TP9nmEP/aJQ5/2aNLP9mhST/dI0i/3+WI/9yhx//aXkc/2x7G/9xfhr/dYEa/3qAGv+Agxr/f4AZ/3x7 + Gv95dhr/eHIZ/3hxGv95cRn/fHEa/4ByG/+AbBD/wbiU39nW1pqIhoPAAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+Qvrq2utDW0MFJo4D/P5xz/0KVbP9BkWb/RJJl/0eVZ/9LmGb/TZZh/0+TW/9UlFf/X5pU/2ui + U/9uoUz/bZtD/2+YO/9oji//ZIQl/2Z/IP9ugB3/e40e/32QHv9xgRv/a3kY/298F/90gRf/eYMY/36D + F/+Ehhj/g4IY/358GP96dhj/d3IY/3dwGP94bxj/em8Y/31wGf99ag7/wbiU4NzY15uJh4TBAAAAkAAA + AFoAAAA2AAAAHQAAADIPDw6Qv7q3u9DWz8FJnnT/QJdq/0KPZP9Di1//RYxd/0mQXP9Ok1r/UJNW/1OS + Uf9ak0z/aJxI/3ilRP96oT3/b5Qx/2yMKP9pgyH/a4Ac/219Gf9wfhj/eosa/3yOGv9xfxf/bnwW/3J/ + Ff96hBX/fYMW/4GFFv+Hhxb/hYMW/398Ff97dRb/eHIW/3dvFv93bhb/eG4W/3xuF/97aAz/wLiU4N3Z + 2JuJh4TBAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6Qv7u4u9DWz8JLmm3/QpRh/0SNWv9Fh1P/SYhR/0yL + T/9Rjk7/V5RK/12XRv9mmUD/dqI8/4GmNf93mCz/booj/3OKHv9yhBr/cH8V/257FP9ygBb/fY8Y/36P + GP9ygBT/cn4U/3iDFP+AiBT/foUT/4aIFP+IiBT/hYMU/398E/98dhP/eXMU/3hwFP93bRX/d20V/3tt + Ff94Zgr/wLeT4N3Z2p2KiIXBAAAAkAAAAFoAAAA2AAAAHQAAADIODg6QwLy5vNHWz8JOmGP/RpNW/0eK + UP9Igkj/SoJG/1CIQ/9blEL/ZJs+/2qfO/9zoTX/eJ0s/32aJP95kiD/doob/3uMGf92hRb/cYAU/258 + Ev92hRP/g5MV/4WSFf92gxL/eIMS/3+HEv+EjBL/gYcR/4mKEf+IiRL/hIMS/4B8EP98dxH/e3QS/3lx + E/93bhP/eG0T/3lsFP93ZQn/wLeT4d7a252KiIXCAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6QwLy5vNHW + zcNRlFj/SZJN/0yIR/9MgD//VYs8/2CXOv9lmDf/bqU1/3CgL/9tjiX/d5Eg/4OaHv9/khz/e4sX/4KN + Fv96hhT/dIAS/3N/Ef9/ixP/i5kU/4qVFP98hhH/fogR/4WNEf+GjRH/hYkO/4mLD/+IiA//hIEQ/398 + D/99eA//fXYQ/3xzEf96bxL/eW0S/3ptEv93Zgf/wLiS4d7a256LiIbCAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDg6QwLy6vNLVzcNUklD/S5BD/1OOP/9elTr/YZQ0/2WYMf9urC//apgn/2WCIP9wiR7/f5Uc/4qb + Gv+Fkhr/gIsV/4SNE/98hhL/eIEP/3mDEP+GkhL/kp4S/4uWEf+Aig//gosO/4qREP+IjQ//iYsN/4uM + Df+Ihgz/hIEO/4B7Df9/eA3/gXgP/4B1D/9+chD/fW4R/3xtEf95aAb/wbmS4d/c3J+LiYbCAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Rwby6vdLVzMRVkUf/WZ89/2WjOv9gjzD/ZKAu/2muLf9ljST/ZH0f/2uE + Hf93jRv/hZYY/4+bF/+Ikhr/gooS/4OMEP99hg7/eoIO/36HDv+NlxD/l6AQ/42VD/+FjQ3/h44N/4+U + D/+IjA7/jYwM/46KDP+JhAr/gn8M/396C/+BeAz/g3gN/4J1Df+Acw7/fm8P/31uD/98awT/wruS4d/c + 3J+LiYbDAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RwLy7vtPWzMRjo0L/YaY2/1+XMf9lri7/YqQp/1x+ + If9lgB7/aoIc/2+FGv99jRf/i5YV/5KaFv+JkBj/gogP/4OLDf9/hgz/fIML/4OKDP+Umw7/nKEP/42T + Df+Ijgz/jJEM/5CWDf+Liwz/kY4K/4+KC/+Jgwn/gn0K/4B5Cv+CeAv/g3gM/4N2Df+Acw3/f28N/35v + Df9+bgP/w72S4d7c3KCLiYbDAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Rwr27vdTYzMRfmTv/W6Ew/2a+ + M/9emCj/WHUf/197Hf9ogxv/bIIY/3KFF/+AjhT/jZcT/5KZFv+IjhX/gogM/4WJDP+AhQr/f4UJ/4iO + C/+ang3/naEN/42SC/+LkAv/kZUL/5KUC/+OjAn/lI8J/4+JCf+Jgwj/g30J/4F5CP+DeQj/g3gK/4J2 + C/9/cgz/fm8L/4BxDP+AcQL/xL6R4d/b3KCLiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Qwr28vtPU + y8Rgojn/YcEx/1uXKf9Zdx//W3gb/2F8Gf9rgxf/bYEV/3WFE/+DjhL/j5YP/5KXE/+HjBL/g4gK/4WJ + Cf+ChQj/gYYI/46SCP+eoQv/naAL/42RCf+OkQr/lpgK/5ORCf+Sjgj/lI8I/4+JCP+Jggf/g30G/4F6 + Bv+DeQf/gncJ/4F0Cv9+cQr/fW8J/4ByC/+BcwD/xL+R4t3a26GKiIXEAAAAjwAAAFoAAAA2AAAAHQAA + ADIPDw+Qwby8v9XczMVhuDf/VpEl/1qFIv9bfBz/XHcZ/2J7Fv9rgRT/b4AR/3eFEP+FjRD/jpUL/5GV + EP+GihD/g4YH/4WIB/+ChAf/hIYH/5SVB/+hogr/nJ0J/5GRB/+Tkgj/mZgJ/5KPCP+VkAf/lY8H/4+I + B/+Jggb/hH0F/4J6Bf+CeAb/gnYH/350CP97cAj/e3AI/4F0Cv+BdQD/xL+R4t3Y26KKiIXEAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Qwb69v9TWy8ZZhCz/Voof/1yJIP9cexn/XHYW/2N5FP9sfxH/bn8O/3mE + Df+EjQz/jZMI/5GUEP+FiQ3/hIUF/4aGBf+ChAb/hocF/5iYBv+jpAb/m5oH/5ORB/+WlQb/mZcH/5KP + Bf+XkQb/lY4F/46HBv+IgQX/hHwE/4N7BP+CeAX/f3UG/3xyBv96bwb/e3EG/4J2Cf+CdwD/xL+Q4tzZ + 26KKiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw769v9TVy8ZXgin/V4sc/1yKHv9behj/XXQV/2N3 + Ev9rfA//b30N/3mCDP+Eiwv/jJEI/5CSEv+Ehgz/g4QD/4WFBf+CgwX/iokF/5uaBv+jpAX/mJYF/5OQ + Bv+Ylgb/lpMG/5SPBf+YkQb/k4sG/42EBv+HfwT/hHwD/4N7BP+AeAX/fXQE/3pwBf93bgb/enEG/4B2 + CP+CdwD/xMCP49zZ26OKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw7++wNXVzMZYgCj/Voob/12K + G/9cehb/XXIT/2J1EP9rew7/bXwM/3iBC/+Eigr/io8H/46RE/+ChAn/gYID/4ODBf+Cggb/jYsF/52c + Bf+iogb/lZMF/5OQBv+YlQb/k48G/5WOBv+Xjwb/kIkG/4uCBv+FfQT/g3wD/4N6Bf9/dQX/enEE/3Vu + BP90bgX/eHEG/393CP+BeQD/xMGO49vZ26SKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6RxMC+wNXW + zMZZfib/V4kY/16KGf9behX/W3AS/2JzD/9peQz/bHoL/3eACf+DiQj/io0H/46QFf+Aggj/gIED/4GC + BP+BgQX/j40F/5+dBv+hngX/lI8G/5WQBv+YkwX/kosF/5aOBf+VjAb/j4YF/4iABf+EewP/g3sE/4J4 + Bf9+dAT/d3AE/3JtBP9ybQT/d3IF/3x3B/+AeQD/wb6N49vY26SJiIXGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QxMC/wNbWzMZZfCP/WIYV/16KGP9ceRT/XG8Q/2FxDf9odwz/bXgK/3Z/CP+Bhwj/iYsH/42O + Ff9+gAf/f4AE/3+AA/+CgQT/ko8G/6CeBv+emQb/kowH/5WPBv+VkAX/kYkG/5eMBv+TiQX/jYMF/4d+ + BP+DegP/g3kE/4B2BP98cgT/dW4E/3BrA/9xbQT/dXEF/3t4Bv97dwD/vbqN49za26WJiIXGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QxcG/wNbXzcdXeiH/V4QT/16JFv9deRL/W24N/19wDP9ndAv/bHYJ/3V9 + B/+Bhgf/iIkH/4yNFv98fgX/fn4D/35+A/+DgAT/lJEF/6GeBv+alAb/kYkH/5WOBf+SiwX/kIcH/5aK + Bv+QhQX/i4EF/4Z8BP+CeAX/gXYF/35zBP96cAT/c2wE/29qA/9xbQP/dHEE/3t6Bf9zcAD/uriN493a + 26WKiIXGAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6Qx8PBwdbXzcdWeB//V4IS/16IE/9ceRD/WmwN/15u + C/9lcgn/anUH/3V8B/+BhAb/hocG/4uLGP96ewX/fH0E/3x8A/+EgQT/lZMF/6GdBv+Vjwb/kIgF/5ON + Bf+PhwX/kYYG/5OHBf+MggX/ioAE/4R5BP+BdwX/gHUE/3xyBP92bgT/cGsE/29qA/9wbAP/c3ED/3l4 + Bf9taQD/ubWN493a26WKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8PCwdjYzsdWdR//VX8P/12G + Ef9cdw7/WWoN/15sCv9jcQj/anMG/3R7Bv9/gwX/hIUG/4mJGf94eAP/ensE/3p6BP+FggT/l5QE/56b + Bf+PigX/j4YG/5CJBf+MgwX/kYUG/5CDBf+KfwT/iH8D/4F3Bf+AdQT/fnME/3pwBP9zbAT/cGoD/29q + A/9vbAP/dHID/3RzBf9nYgD/trOM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8TDwdjY + zsdVch3/U3oN/1yEEP9cdg3/WWkL/11rCP9icAf/aXEG/3N5Bv9+gQT/goQH/4aHGf91dgL/eHgF/3l4 + BP+GgwP/mZQF/5uXBf+MhQX/jYYF/42FBP+JgAT/j4ME/4uABP+JfgT/hXsE/390BP9/dAT/fHIE/3du + BP9yawP/b2oD/29rA/9vbAP/c3MD/25tA/9hXQD/tLKM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QycXEwdnZz8dUbxv/UnYM/1uBDv9cdQv/WWkJ/1tpB/9gbgX/aHEF/3J3Bv97fgP/gIII/4SF + GP9ycwL/dnYF/3h3BP+IhAT/mJQF/5aSBP+IggX/ioMF/4iAA/+IfwT/jYEE/4d9BP+HfgT/gXgE/39z + BP99cgT/enAE/3RtBP9wagP/bmoD/25rA/9wbQP/cXED/2lnAv9cWAD/s7CL497a3KaKiIbGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QysfFwdna0MhTbRn/UXIL/1t+Df9bdAr/WGgI/1pnB/9fbAb/Zm8F/3F2 + BP95fAL/f4EK/4KCFv9wcQL/dXQE/3d2BP+JhQT/mJQF/5GMBf+GfwX/hn8E/4N7BP+IfgT/iX4E/4V7 + A/+GfAT/fXQE/31yBP97cQT/d24E/3FrA/9uaQL/bWoC/21qAv9xbwP/bWwD/2RiA/9XVAD/sa6L5N/b + 3KiKiIbHAAAAjwAAAFoAAAA2AAAAGwAAADEODg6PysfFwdjYzsZRaRb/TW0G/1d6Cf9YcQb/VGUE/1dk + BP9caAP/ZGwB/25zAP92eQD/fX8K/31+Ev9sbQD/cXAB/3Z1Af+IhQL/lZEC/4uEAf+BewL/f3gB/393 + Av+EewH/hHoB/4N4Af+CeAH/eG8B/3lvAv93bgH/cmsC/21oAP9rZwD/a2cA/2tpAP9ubQD/ZmUA/2Bd + AP9STgD/rquJ497b3KeKiIbHAAAAjQAAAFgAAAA1AAAAGAAAACwQDw+MysbEv9LRx71WbR3+U3AP/1x7 + EP9ddQ7/WmoN/11pDv9jbQz/anEK/3N4C/96fAr/gYMX/36BGv9wcQj/dXQL/3t7DP+Niw3/l5QN/4qE + Df+Efg3/f3kM/4N8DP+IgAv/hnwM/4h/DP+CeQz/fXQM/310DP95cwz/dW8L/3JtCv9xbQn/cW0K/3Jx + Cv9xcAr/aWgL/2RiCv9WUgf/qaaH2tjV1aGMiojGAAAAiQAAAFIAAAAwAAAAFAAAACQLCwuCv7y4v9XR + y6PMzcDB0tTGzNTWx87V1sfO1NXHztXVx87V1cfP1tbHztjXx87Y18fO2dfIztfWx8zV1MXL1dPDytXU + w8nX1cPJ2NbDydbUw8jW08PI1dPDydbTw8nX1MPJ1tPDytfUxMrW1MTK1tPDytbTxMvW08TL1tTFy9bT + xcvV0sPL1NHDzNPRwszS0cLM0c/CzNHOwszJx7vFxsK7sM3IxJmEgoDGAAAAewAAAEYAAAAoAAAADgAA + ABoAAABTaWhmx9jUzrLg3Nmr4t3br+Ld26/j3tuv497br+Pf26/i39uw4d/br+He26/h3duv4Nvart7a + 2Kzc2Nap29bTqNnV0qfY1NGn2NPRp9jV0abZ1NGm2tTRpdnV0abZ1NKn2dTTqNrW1Kjb1tSo29bUqdzW + 1and2Nap3dnWqd3X1qra1tSq2NTTrNfU0qzX09Ks19PSrNfT0q3W0c+r0MvHp766tr0xMTC4AAAAVwAA + ADUAAAAeAAAACQAAABIAAAAnAAAAZzMzMqtPTk20TEtKs0tLSrRMS0q0TEtKtExLSrRMS0q0S0tKtEtL + SrRLS0q0S0tKs0tKSbNKSUmzS0pIs0pKSbNKSkizSkpIs0pKSLNLSUizS0pJsktKSbJLSkmzS0pJs0tK + SbNLSkmzTEpJs0xKSbNMSkmzTEpJs0xKSbNLSkmzS0pJs0tKSbNLSkmzS0pJs0tJSbNLSkm0TUxLth4d + HaMAAABeAAAAOAAAACUAAAATAAAABQAAAAsAAAAWAAAAIQAAAC0AAAA3AAAAOgAAADoAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADoAAAA7AAAAOgAAADMAAAArAAAAIQAAABUAAAALAAAAAgAAAAQAAAAJAAAADgAAABMAAAAXAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGAAAABcAAAATAAAADgAAAAgAAAAEAAAAAAAAAAEAAAACAAAABAAA + AAcAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAkAAAAHAAAABAAAAAIAAAABAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBIAAAAAAAPIEKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ABEAAABAAAAAVwAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABXAAAATAAA + AB8EBAQ+VlRQlXNybqFqamaeZ2dinWZkYJxqaGOdcG5pnXFwa550cm2feXRxn350c597cW+efHVwnU1K + RZgAAQFUFw4NUI+5uMNY4+b0Xt7b9Gbh2PRv59bzf/La9JP84vSx/+r0z//p9Nv/4vTP/930yv/Z9N// + ufKnp5OvAwEEZRkPDk6Eu7nPLtvX/zrbz/9F4Mn/VOrF/2Xuvf9y667/guWe/4nciP+K1Hf/jM5v/5bO + b/+v2HT/paeTuwQCBmIZDxBPirmy0D/Wwf9Q273/W9yt/2vZm/9x0IT/csZw/33Eav99tlT/fqdG/4Cb + QP+FjjH/mZAz/6SfjL0FBQhjGBAST5G6rtFOyqT/VsCS/1mze/9mrGv/ZqFZ/2WXRP9zmDT/bYIh/3V9 + HP96eBn/d28X/4p7Jf+kno3ABQYJYxkTFlCOq5vTPpFi/0eLV/9WlE//b51B/26NKv9tgBn/d4YX/3N+ + Ff+ChhX/gH0W/3ZuFP+FdyH/pZ+OwQYGCWMZFBhQkKiR1EuNRv9dlDr/bZgu/4CWHv98iBT/eoUR/4SQ + Ev+CihD/iYoP/4F9D/97cQ//hHYc/6Wgj8MGBgljGBQZUJasidReozD/Y40i/3OHGP+MlRX/gYgO/4iP + Df+RmA3/jZEM/42JCv+Cewr/gXQK/4l6F/+noo/EBgYJYxgUGlCXroXVWI8f/2J4Ff97iBD/jZIO/4OF + CP+TlQf/mJkI/5WSCP+PiAb/g3oF/31yBf+KfhP/p6OOxQYGCWMZFhtQlaOB1VeCFf9idRD/eoQK/4qM + C/+CggT/mJYF/5iVBv+WkAX/jIQF/4J4BP92bgP/h4AR/6ajjcYGBgljGRYcUJaif9ZYgA//YHAM/3d/ + CP+Ghwv/gIAE/5mVBv+UjQb/kogG/4h9BP99cwT/cGsB/4B+D/+joYzGBgYKYxoXHVCWoH7XU3cG/1tq + Bf9yeAL/fX4I/317AP+TjgH/ioIB/4p+Af+AdQD/dWwA/21pAP90cgn/oJ2MyAcHCmQaGB1RoaiK1maC + HP9teh3/gYYb/4mKIf+Nixr/m5Yb/5KKG/+Uihv/i4Eb/4F7Gv9+exf/fHoi/6WilMcHBwpjBgYHMXp5 + dKCcnZG2mZiNtJqZjbWZl4yzmJaIsJiWiLCYlYiwmZaJsZmVirGYlYqylpSJs5mXjbRqaGadAQEBPQAA + AAUAAAAeAAAAKgAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAArAAAAIwAA + AAoAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxB \ No newline at end of file diff --git a/OnTopReplica/Assets/close.png b/OnTopReplica/Assets/close.png deleted file mode 100644 index 4b865011ef02c274466999fe81638d53abec200e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33303 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�IXkWStqm=#9Nb>FG-#MJI{?U{p})_ZAaB-gR`O`=Q*$87f!&>o`~FaN^xX zzjbP+_*Sci-fNNPWuuPR)r9KwjUZ$$sLX=t^9JMSH+hcRI%8Dyb5mmoZn$im3S)Yi zPnl`wjfj@#G$=V4C4^7o3oI_VDGr^luLCb8-48gI(UX!FLEF(lf>z5X2+x}9<+L%+ zcL)2|E<{9eXNigGZ~1z^H8!d7cKmkNn#lBowb~h!Z8=Ilw)A*@^-H?Nw&gEX+S%&w z@efZRm8=J3n50p1L=eW|Uot6Q;qH61E0;bo$`F>sLe*ZAPaBzQpI9z`p9<3~QK
W6D@vsdF;on!L|>U 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/empty-window.ico b/OnTopReplica/Assets/empty-window.ico new file mode 100644 index 0000000000000000000000000000000000000000..ca5edce1402e54eb04e80c5c2ca8916f7ccf019b GIT binary patch literal 10806 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

vF9gJ@Je|yRw3>4@pRamq~Dp4(LNsCb6l7h zFxvaNhK=nl!`NSOj9@<~LcbHR8(Zi-?bzqmVqdcv`#kx*DcXy|zJwn4;!U`(*6XtM zj+#2#MpqUmJu}!_!ajxt_svc5psmeq)~oT`DX9s26!tFMjWViKzhI7x21lGZu5#B<7XuwJcp5;yRJ8 zU1`>!YgM{NrRxkj7hKG_G!x+Ukk@USwOe{7agC6_K8VxYjO&+vIv;Z~b3d2v?b7^7 z*CGeF$Av!1-2d{r>~k)=W$N44hct6%=h-8=uGs3Q8HmoicrJY}%|qLm-Ec1?;`cb_ z`+B-2|KF=N>vUaC^E}PRm~AqHn9GLILq}Zp zzJ*_Y@By#7vcg?cRpG8Ct1Nd_R+KsMTSEuTo-+r2FX*U(Rg{&|YcBl$(DR#*f2}Df KNIv}U*na?MF7@;P literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon-new.ico b/OnTopReplica/Assets/icon-new.ico new file mode 100644 index 0000000000000000000000000000000000000000..f43bb1cda810cf60805870ab6cbc1430ac3ca4c2 GIT binary patch literal 10806 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 P00000NkvXXu0mjf+9*5T literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/newicon.png b/OnTopReplica/Assets/newicon.png new file mode 100644 index 0000000000000000000000000000000000000000..37017ad33c7c87a6c2f945feeef56ba0acf1fb3e GIT binary patch literal 770 zcmV+d1O5DoP)ox1a z7VLs78w-Twn-Av3{~$|-zu*G^SqOdx;hVJ}AMnBQ&Dz2Hn4Ot^S0z!i;tt))?&_@0 z$jFQ=0pMwOX>*$5zg>pb(cZZtgfGAO_PeJ?_wOyHF(!zJCQXxS-2F;O$=42AMKy`D zR{lCUIeq@q55Ky_t;0_jj~+h${`GI4OIIMx4-s66UL0h$2W;Exgl!8Q8bsbRO?dX? zs~6QTKY!+!K{wr2mfJJvxWn`*)C@j7;JKBhLr`boHsDuvaOCzlPd;FlB7vN zpZ73iWlX`OcGq#khQZAY>KlR_8=Sxf%LKyB5r%P=;OrcO=yL^3;u_a&b@}O%>cL@v zO@e0V5G}o#;lP@0MWz$du44L$=qAm}e*pyLG+?njLtWg$W;Wn5ZMZujHa#U|@IWvr zGG8`vfS*V;rE7rvs%_Gb-I|KA`&Eyt%HY&1E;>bOB2q^g%6+EdcO2nEO;$)dfGMhe zuy51XpWMWGQ{r@OaoM-H!`lC@6_*llwj40FYsAs#p@MTh3!r(*$bb&*^=Q7r-2;P< zWQOzTaoPsFZv;cCvAn8rwc>hXuv$|Iv!B(C8N!i=7G}_ezu<6>n7bM7?De>J`v9wW z1DAuxvMpGSpd0cLsNw4cikD4Fgy0}0N;%u?mtSn%7!ajoot3)sraag?L}`yn^cX$Q z+K3HXJK`;Fr`IoEY$%>}ZF6@18{?u-(`ige$IF;<)*bspTj zFHZE;tCNv)d6CsUpgp2}NK60YICDtw=RX1r0DQbuM9q8juK)l507*qoM6N<$g4OVC A-~a#s literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/ok.png b/OnTopReplica/Assets/ok.png deleted file mode 100644 index 487d69573f3a7fd957bccbf010b21c3195b03c25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2783 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 C9z^W` literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/screenshot-icon.ico b/OnTopReplica/Assets/screenshot-icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3251e44fcf9b29c72083eb6543466410d9926753 GIT binary patch literal 99678 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 FFaU5&7=Zu) literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_opacity_new.png b/OnTopReplica/Assets/window_opacity_new.png new file mode 100644 index 0000000000000000000000000000000000000000..1a334bd48d07cce2faf2b335f98b2f23cf54ef05 GIT binary patch literal 810 zcmV+_1J(SAP)q&OeQ!c z2xgEXqDX8I+hoVLuw@hY3qAl)g!mc+tfE>lc4I%Tq}aN?>mGjf^*3Lhe{z3Wa&3Uvq{&o7jz45gNr;$H zVAA{~(xS6A{eF45dHTb5zq!?&<@xHfho67@;^zk#``i}G)VU!|=pxQfB2WkbCO`-* ziMc|hxwONRM~~C^(~l=kZ;(SIT+=4Yen_?X)O97s3K4A=AjSX%SOOCSVyKbEv8R}G z)C#K;5kLcJ9DS;jPo?+K4r6pvil$crL5AE&`(kL7YRuFv77WhnnPjJ`G=q{mBPn|m zo3|0X3y@0?6vn}k*v43N&z?-~$e5nc*r>V1s9@seCeLnR^cG_0FxbupXOWF$HV)Vt zA#_%gkc{iuG>rjO8z{#Ls#Dd^mR+-C|r3WL`_aghP@^$K~3a~RXtk#hoA|xnQieSw+|Ew$8qB8 z(a@C_dL4xtS8A~k45wPQe%DOCo3U#DmY`HA@15HC#mBe#6%Ty1x3rxC-E(mGYbLzK zjyCJWIqa!s&uS`m&MSc^fgIaMo#hnH7d!so%+QB8r&ra}Rp|I{MoMi)>+2a^?=(Ib z-t9dbbE*>pb>&e%Eu%Lnto&<=kZIxObnj%M`*+W1S8vfad0K~F+d+=WFu*MM*(&tU zcxqLSMr!Jj`Sx`9)VSPn#XNdnR!i@aF)t@$Y;wjY13v3{Mu++N^UJL7LZ=HbD&AN0 oM^$g2zQfJ9zI)F9;f(+T0RHh6oC1-g0RR9107*qoM6N<$f^F}B7XSbN literal 0 HcmV?d00001 diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 14f71d0..887e35d 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -31,6 +31,7 @@ this.menuContextWindows = new System.Windows.Forms.ToolStripMenuItem(); this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullSelectWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.switchToWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.selectRegionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.advancedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -43,7 +44,6 @@ this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); - this.fullOpacityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.resizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuResize = new System.Windows.Forms.ContextMenuStrip(this.components); this.doubleToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); @@ -68,7 +68,7 @@ this.italianoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); - this.fullSelectWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullOpacityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.danskToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuFullscreenContext = new System.Windows.Forms.ContextMenuStrip(this.components); this.enableClickthroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -104,7 +104,7 @@ // menuContextWindows // this.menuContextWindows.DropDown = this.menuWindows; - this.menuContextWindows.Image = global::OnTopReplica.Properties.Resources.window_multiple16; + this.menuContextWindows.Image = global::OnTopReplica.Properties.Resources.list; this.menuContextWindows.Name = "menuContextWindows"; this.menuContextWindows.Size = new System.Drawing.Size(168, 22); this.menuContextWindows.Text = global::OnTopReplica.Strings.MenuWindows; @@ -115,7 +115,7 @@ this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.noneToolStripMenuItem}); this.menuWindows.Name = "menuWindows"; - this.menuWindows.OwnerItem = this.fullSelectWindowToolStripMenuItem; + this.menuWindows.OwnerItem = this.menuContextWindows; this.menuWindows.Size = new System.Drawing.Size(118, 26); this.menuWindows.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Windows_opening); // @@ -125,6 +125,15 @@ this.noneToolStripMenuItem.Size = new System.Drawing.Size(117, 22); this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; // + // fullSelectWindowToolStripMenuItem + // + this.fullSelectWindowToolStripMenuItem.DropDown = this.menuWindows; + this.fullSelectWindowToolStripMenuItem.Name = "fullSelectWindowToolStripMenuItem"; + this.fullSelectWindowToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.fullSelectWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindows; + this.fullSelectWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + this.fullSelectWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.list; + // // switchToWindowToolStripMenuItem // this.switchToWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_switch; @@ -182,7 +191,7 @@ // menuContextOpacity // this.menuContextOpacity.DropDown = this.menuOpacity; - this.menuContextOpacity.Image = global::OnTopReplica.Properties.Resources.window_opacity16; + this.menuContextOpacity.Image = global::OnTopReplica.Properties.Resources.window_opacity; this.menuContextOpacity.Name = "menuContextOpacity"; this.menuContextOpacity.Size = new System.Drawing.Size(168, 22); this.menuContextOpacity.Text = global::OnTopReplica.Strings.MenuOpacity; @@ -195,7 +204,7 @@ this.toolStripMenuItem3, this.toolStripMenuItem4}); this.menuOpacity.Name = "menuOpacity"; - this.menuOpacity.OwnerItem = this.menuContextOpacity; + this.menuOpacity.OwnerItem = this.fullOpacityToolStripMenuItem; this.menuOpacity.ShowCheckMargin = true; this.menuOpacity.ShowImageMargin = false; this.menuOpacity.Size = new System.Drawing.Size(154, 92); @@ -239,13 +248,6 @@ this.toolStripMenuItem4.ToolTipText = global::OnTopReplica.Strings.MenuOp25TT; this.toolStripMenuItem4.Click += new System.EventHandler(this.Menu_Opacity_click); // - // fullOpacityToolStripMenuItem - // - this.fullOpacityToolStripMenuItem.DropDown = this.menuOpacity; - this.fullOpacityToolStripMenuItem.Name = "fullOpacityToolStripMenuItem"; - this.fullOpacityToolStripMenuItem.Size = new System.Drawing.Size(186, 22); - this.fullOpacityToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpacity; - // // resizeToolStripMenuItem // this.resizeToolStripMenuItem.DropDown = this.menuResize; @@ -446,13 +448,13 @@ this.menuContextClose.Text = global::OnTopReplica.Strings.MenuClose; this.menuContextClose.Click += new System.EventHandler(this.Menu_Close_click); // - // fullSelectWindowToolStripMenuItem + // fullOpacityToolStripMenuItem // - this.fullSelectWindowToolStripMenuItem.DropDown = this.menuWindows; - this.fullSelectWindowToolStripMenuItem.Name = "fullSelectWindowToolStripMenuItem"; - this.fullSelectWindowToolStripMenuItem.Size = new System.Drawing.Size(186, 22); - this.fullSelectWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindows; - this.fullSelectWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + this.fullOpacityToolStripMenuItem.DropDown = this.menuOpacity; + this.fullOpacityToolStripMenuItem.Name = "fullOpacityToolStripMenuItem"; + this.fullOpacityToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.fullOpacityToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpacity; + this.fullOpacityToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; // // danskToolStripMenuItem // diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 4a987d7..e6da482 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -252,6 +252,8 @@ namespace OnTopReplica { set { if (IsFullscreen == value) return; + if (value && !_thumbnailPanel.IsShowingThumbnail) + return; CloseSidePanel(); //on switch, always hide side panels GlassEnabled = !value; diff --git a/OnTopReplica/MainForm.resx b/OnTopReplica/MainForm.resx index a3589f5..e1539d6 100644 --- a/OnTopReplica/MainForm.resx +++ b/OnTopReplica/MainForm.resx @@ -138,129 +138,187 @@ - AAABAAEAMDAAAAEAGACoHAAAFgAAACgAAAAwAAAAYAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AABBdztCdjhDeDpCdzlCdjpDdzpFfD5EeTpGfDtFfDtFfjpJgjtHfjlHgTpIgjtNiDxKgzlKhDlKiDhO - iztNijpMjDpPjTtSkz1Vlz1YnD1bpD5dpz1hqT9lrEFkrT5oskJnsD1prT1orD1mqTlmpjlkpDdmozpj - nDVhmDRekzJekTJekDNjkjNeijFbiC1ahSxDeDlDdztDdztEdzpFejpEeDhEdzlEeDpGezhGfThGfDhH - fThHfjlIgjhIgzpKgzhJhDhKhjhLhzlNiTlLiDlPjTlVlz1VmDxYnTxdoT5gqD1iqj9jrkBlr0BnsEBp - rz1nrT1orTtmqzhlpzhopjpjoDVgmzNgmDNflTJejy9cjy5gkS9bii5ciC1chyxbhytCdjpDdzlDeDlG - eztDdjhDdzhDdzdEeDhHfDdFejZFezdGfTdJgzlIgDdIgTlKgzdLhDhKhjlLhjhMiTlQkDpSlDtXmDtY - nTtcozxepz1hqz1jrT1oskBorztpsDxnrjxorTtmqzplqTppqjxioDVfnDRfmDNflTJdkjBekjFcji9c - iy9biS1ciCxciCtgjS1DdjhEezpDeDhCdTdEdTZEdjVFeDVFeDVHdzREezZGfjdIfTZHfTdIgDdJgjdK - hDZKhDZKhDZMhzdTkztSlDpWmjtanjtcozxepz1gqD1kqzxorz1nsD5psDxorztlrTtmqzpmqDxkpTli - oDZgnTVelzNclTJdkjFilTNaji5biy5bii1bii1ciSxfjSxdiypGejpCdTZDdThFdTdGeDdFeDZEdzdG - eDZIejhLgTpIeztLfjdKgDlLgjlMhDpMhTlOhTpPjDtTkTtWlTxZmj5coT5gpT9ipz9kqD9prUForj5p - sEBpsEBpsT9prz9nrD9qrEJkozlloDlinThhmjdgmDZhlzRflDJbjzBcjTFejTBdjDBejC9eiyxejStf - kC1DdTdEdzhFdzlIeDpIeTtKejpKez5NfT1QgD9QgUBPgUBShD9RhUBSh0BTiEFVi0BdlUVak0JdmUNi - n0VlokVnpkZoqUVprERusEVusUVts0ZutEdvs0VvskZusEVvrkZrqEJppENnokJmnz9mnT1qnzxkmDpi - lDhikjZhkjVjkDVmlTZgjzFhjy9jki5ili1DdjdGeDpIeDtMeT1Pe0BRfkRWhkdWg0ZahklbiUtaiUxd - i0tcjExej0tglE1kmU5mnE9nn05ro05up09wq1Bzr1F2s1F1s053tFB2tlF3tlF4tlB2tlB4tlF2sU9z - rU5yqk1yqExwpUxwpUlypkluoUhsnEZsm0VrmkJql0Jtmz5pljtolzhplzZomjNspTJGeDpKeTpMej5S - e0FVgUdahkteiE5jjFNokFdpkllqk1tslltsmVxyoV5xol52pF12p196rWB7sGB+smGAtmCEumKCuWCD - umGCul+Du1+Du2CEvF+FvWGDuF+Dt16As11/sFyAsFyAr1t+rVp9qVt8qFp7pVd6plV5pVN2oU9zn0px - oUZunj9wojxwqThwrjZIdzpOeD5SfkJbhEpehU5ljFZskV1zl2R5nGp8oWx9oXCBpXCDq3KErXKGr3KJ - tHSLtnSLuHSNvXWPvnSRwHSRw3WSwnWSwXOSwXSSw3OSw3STw3ORwHKQv3KQvXGPu3GPunGQunKNt3GN - tXCMtG+NtG+MsmyMs2uGrWWErWGArFp+qlR7rEt5sEV3tj91vzxMdjtRfUFZgUlhhlFqjFp0lWR8nG+G - o3iPqoCUr4SWtYmZuImau4ubvoudwYyfw4ufxYyhx42jyo6jyoykyoylzI2lzI2ky4ukyo2kzYyjyouj - yoqjyYqjyIuixouixomix4uhxIqhwomhwoihwYeiwYeiwYedvoGZvH2UunSQuWyOumKGuleDv1CAykl6 - 2UFSfEFWfkVghE9qjVuIhYP89e3z9e/n9PDn9fDn9PHn9fHo9fHp9vLq9fHq9fHp9fDq9PDr9O/r9O/s - 9O7s9O3s8+3s8+vs8urs8unr8efr8Obs8Obt8OXu8eXv8OTw8eTz9OX4+Of8+ez9+ez++e3++en9+ej9 - +OX89+L89t/69OT57uKUzGaN01yF4lGB+EtQeT5bgUpliVZzkmONiIPk6efS8vSj6vCl6++n6++o7O6q - 7O6t7e6v7u6x7u6y7ey27uy47uy88Oy/8OvC8OrE8OjG8ObK8OTL8eDO8d7T8d7a8eDg8uLk8uTm8+Po - 9N/s+Nny+9L4/Nb7/NL8/M/8/Mr8/Mf8+8H8+bb89rD699f68eGe33aS62SL/Fp/+1BTe0Neg01ri1t6 - lWqWkYzc6+qj6u441d861t091ts/19lD2NhJ2dhO2tdR29VU29Jb3tFh4NFq5dJx6NF66tGK69WW69in - 7Nmu7dS27c+57ci07cOr7b6n7cC07rzH8bPO9KfV9pva85jp74vt64Hv6Hbx5nDy5Gbz4FT120r466r6 - 79qm9IGY/HGM+2R2qUtWe0NihFBvjV9/mG+dmZTd7Ouj6e031Nw61Ns91dlA1tdC19VG2dRL29NX4NZe - 5Nhl6Nlm69Vt8NJ289KB9tGR9tOd9dKr9NGy8sy78cnB9MS7872x8reu8bq187jF97XC76LD55LF33nS - 2mna1Vze0F3iz1jnzVLsy0bwxj/346b57tuo/YmZ/XmDoFt4lUpXfENkhFFyj2GFnnSjnpre7euh6Ooz - 09Y21tc52dc62NI81sxA1shE2MVQ3chZ5cth68tg7MRk67ts67d17bSI8LeT7rWh67Oj4qqo3KOo3Jmd - 2ouP2YCL2YGV24Cn34Kp13Wx1Hm0y2bCx1vKwUfUw0fbwUTgvkHluj7suzv236X57tyq75CUrXOHol95 - l05ZekRmhVJ4lWWIoHamop7e7eug5uYxzcw00M040sw50cc+1chC1sRI2MFS2L1b375k5r5l57Ro5Khs - 3aBx2pd63JN/24mD14CCzXSGym2Lzm+OymuPxGeVu2CWul6avF6dtFOptFizsky3ska+sDvItT3Stz/Z - tjvftDrntzr03qX479ynvIyYsXaHomB6mE9bfkRpiFN5lmSLo3mopKDe7Oqh4+E3y8U70Mc/0sY+zrxF - 0rtM1rlT2rVW1qte2qdo36Jz459z2ZFwzIJsv3F1wnJ3w3J+wmx8uV2Cs1CDsVGErE2EpUqGm0GKlz6R - ljualTekmz+snT2unjq0oDDAqDHJqzXPqjXTpjTaqjXu2KP37dyrwJCXrniJpGJ7mVBcgUVrjFR6mGaK - p3iopKDf7Oml49s+yblFz71J0LtIzLFO0K5T0KhZz6JbyZVix4xryYh1y4NzxHtwuW1sr150sFl0rVZ3 - qk92okN9njl+nzx+mTt8kTl8hS9/gSqFfyeLfyWRgSWZhSWehySmjiarkSm1li68ly7GmS7NnDDo0qH2 - 7NypvI6Xr3eKo2N7mFBehEVrj1V6nGaMp3mopKDf7Oen4NVDw6tJyK5Nx6pLwJ1OvJFRuYlWt4Fct31l - uXhsunR0uG5xsGNuplVsnkVxnT9wmj1wlDZuiy10hyN2gyF4fx95ex55dx17dR1/dR2Fdx6LeR+SfCCa - giKjiiKokCiwlCq0lS++ly/FmDHm0KD17NypvY6Yr3iKpGR7l09fiEVsk1R7nGWMqXiopKDf6uWn2s1C - spJItJNLso9MsIhMqHtNoW9PmWNVmV5enVpln1ZomktmlENljjdrjzFxjyhyiyJwhB5ufht0gBp6gRp8 - fhl7eRl4dBl5cRl8cRqBchuHdByOeR6XgB+fhyKjjSerkSqtlS60ljC5lzThz6T07N2pvY6Yr3iJo2N8 - l05hi0VulFR8n2SOrXmopKDf5+Km0ME9mnVAmnJClmxEk2VGjV1Ki1VQi05ZkUtlmEdsmkFtlTdsjS1q - hiNwhx5zhxp1hhlzghd0gBZ7gxV/gxaAfxV9eRV5chZ4bxZ6bhd+bxiEchmMdxuUfx2dhR+jiSKrkiWv - mCq0mi+2lzPezqP07N6pvo+Yr3iJo2J8l09ijkVul1N8omSMqneopKDf5uClyLY8il9Bjl5FjVpIjlZM - jE9RjUhZjEFijjltlDNzlCx0jyRxhh1wgRh1hRZ5hxV6iBR5hRN7hBKBhxKDhRKDgRJ+ehJ6cxN5bxN5 - bRR8bhWCcReLeBmUfxychB2hhh+oiyKvkiS0lim1li7czqL17d+pvY6Yr3aKo2N8l09ikEVtmFR8oGSM - qneopKDf5d6mxa8+g09EiU9LjUtQjEVXlT5bkzhklTJsjip3lCR9kx58jhl4hhV3gxJ8iRJ+ixKAjBF/ - iRGCiRCGihCGhg+EgQ+Aeg99dA97cRB6bhF9bxODcxWNexeVgRqbgxyegh2jhx+wliO7nSW/nSjgzp71 - 7d+qvYyYrnaJo2N7lk5ikEVtl1N7n2SMqXenpKDg5N2nwqlCgEJKikFUkj9YkDlflzNikixqkyVyix5+ - kRuDkhiDjRR9hhB9hw+DjQ+HkA+HkA+GjQ6IjQ2Kiw2HhgyDgAyAegx/dg19cg59bw9/cRCGdhOPfhaW - gRiZgRmafhqdfhymix+ylCK6mSTfzpz27t+qvYyZr3WKo2N8lk1ij0VtllN7nmOMqXenpKDg49upwqRG - fzZRkTdamDRelC9hkCdkiiBtjRx4iheFkhmJkxaHjhOAhg2DiQyLkg2Plg2PlQyKjwuNjwuNiwqJhQmE - fwmBegqAdgp/cwt+cQ2BdA6JexGRgBOVgBWVfReVehiXehmghh2rkiG3myTf0Jz47+CqvYyZr3WJomJ8 - lk9hj0RsllJ7nmOLqHenpKDg5NqrwqBLjS9UnS9boSxdjiVegB5kfhlvgxV8ihKJkxiMkhWJjROChgmH - jAmPlAqUmAqTlwqPkQmRkAmOigiKhQiEfgeAeQd/dgh9cwl9cgqCdgyKfQ+PfxGQfBKOdxSPdRWSdheX - eRmeiCCqkyPa0p338N+pvIyYrnaJomJ8lk1gjkNslFN6nGSMqXinpKDh5NmrwZ1LiChTlihZmCVciB5e - fBhlfBRwghF9iQ6JkRSMkBKIixCEhgaLjQeTlQeXmAiVlgeTkQeTkAeQigaKhAaEfQWBeQV+dQZ7cgd8 - cgiCeAuJfQ2LfA+KdxCIchGJcBOMchWSdheZhR+jjyLW0J328N+pvIuYrnWJomB8l01fjEJsk1F5m2OK - pHanpKDh49mrv5tJgiNQiSFXjx9agBlfehRmeRBxfw19hwuHjA6JjAyFhwqFhgWNjgWTkwWXlQaUkgWU - kQaUjwWQiAWJggWEfAR/eAR7cwV4cAV6cgeAeAmFeguFdw2CcQ6BbA+CaxGGbhSMchaUfxuahx/Sy5v0 - 7t+pvIuYrnWJo2B8l01hjEJpkVF4l2KKonWnpKDg4tiqvJlHbh1OeBxVfxpbfhZfeBJldg5wfQt8hAmE - iAmGhweCgwaFhQSPjgWVkwWYlAWTjgSUjgSSiwSOhgSIfwSCegR+dgR4cQR1bwR4cgV+dweAdwl9cQp6 - agx6Zw18Zw+AahKGbxSNdBeVfxzQx5n07+CpvIuZrnSKomB8l01diEJqjlB4lWGIoHSnpKDg4tiquphG - ahpOdRlVfRdbfRRedhBkdAxvegl7ggeDhQaEhASAgAOFhQSQjwWXkwWYkwWTjASTiwSQhwSMggSFfQSA - eAR7cwR1bwNzbgN2cgR5dAZ4cQh1aglyZApzYgx2Yw56ZxGBaxOIcRWRfBnOxZjz7uCqvIuZrnSJoV59 - lkxchEFpjFB3k2CIn3WnpKDf4tipuZdFaBdNcRVUehNaehFddA1icQpteAh5fwaAgwWBgQN+fgOFhASP - jQSVkQWUjgWQiQWQhwSOhASJfwSDegR9dQR4cANzbQNybQNzcAN0cAVxawZsYwhrXglsXQtwXw11Yw97 - aBKCbRSLdxjLwpfz7t+qvIuYrXOJoV58lkxcgj9oik93k2GInnSnpKDg49mpuJVFZRRMbRJUdhBZdw5c - cQtgbghsdQZ3fAV8fgR8fQN7ewOEgwSNigSSjQSPiASNhQSMggSKgASFewSAdwR7cgR2bgNxawNxbANw - bgNuawRpZAVlXQdkWQhmWQpqWwxvXg51ZBB8ahKEcBXIvpbx7uKqvIqYrXOLoV58lkxagkFoiE91kGCG - nXOnop7f4tipt5REYhFLaQ9Scg1XcwxbbwlfbAdpcgV0eQR3eQN3eAN3dwODgQOJhgSMhwSHgQSIgASH - fgOFfAOBdwN8cwN3bwNzbANvagNvawJsagJoZQNhXQRfVwVeVQdhVQhkVwppWwxvYA92ZhF+bBPGvZXw - 7eGqu4qarXOKoV58lUxYfD5oh010j12EmnCkoJvf4deptpNEYA9JZg1QbgtVcAlZbQddaQZocARxdgNz - dgNydAN0dQOCgQOIhQSJhASDfASDewOEfAOBeAN9dAN4bwN0bANvagNuaQNsaQJpZgJiXwNbVwNZUgRZ - UQVbUQdfUwlkVwtqXA1xYw94aRHDvJTw7OCnuYaYrHCJoFx8lUpcgD5kg0lyjFqBl2yfm5bd39WptZFD - Xg1IYgtPaglTbAhXagZcZwVmbgNucwJwcwJvcQJzcwKBfwOGgwSEfwR/eAR/dwOBeAN9dQN6cQN0bQNw - agNtaANraANpZgNkYQNcWQNXUgNUTwRVTgVWTgZaUAdfVAplWQxrXw5yZRDAupPw696ktYCWqWuInlh7 - lEdWeTlhgUduilZ8lGaZlZDc3dOntZFBXgxGYQpLZwlQaQdUaAVZZwRibQRqcwVrcgVqcAVvdAN7fgSA - gAR8ewR5dgR5dgR6dgR3cwRzbwRvbANraQNoZwNnZwNjZQNeXwNWVwNRUQNOTgNOTQRQTQVTTwdYUgle - VgtkXAxrYg69uJLv6t2dr3ePpGSDmlJ4kUJVeThef0Nqh1B3kV+RjIfk493U28qotZGptpCsuZCvuo+x - uY6zuY63vI26v4+7v4+6vo+9v43Bw47DxI7BwY7AwI7BwI7BwI6/vo69vY68u427uo25uo24uY23uI20 - tY2xso2vr42tro2tro6uro6vr4+ysI+0spC2s5G5tpHd28v38umVqWyJnlt9lUt0jT9TeDVbfj5lhEpw - jVaHgn308evo5uDe4dbh4tfj5Njj5djk5djk5djl5djm5tnm5tnm5tnm5tjn59fn59fn5tfn5dfn5djn - 5djm5dfm5Nfm5Nfl5Nfl5Nfl5Njl5Njk5Njk49jj49jj4tjj4tjj4tjj4tjk49nk4tnk4tfk4dbr6OH9 - 9u+KoF+AmFB3kENvijhReDJWezljhkRnh0rV1NSLhX+Qi4eYk4+emZWinpmloZymop2mop2mop2mop2m - op2mop2lop2lop2lop2loZ2loZ2loZ2loZ2loZ2loZ2loZ2loZ2lop2lop2mop2mop2mop2mop2mop2m - op2mop2mop2loJyhnZicmJOVkYyPioWSj4t/lU53kERxiTlqhTBOdi5WfTVXfzlehUJmi0lvklJ1m1h9 - p2GBrmaGuWqJxm6K1nCK6XKL6XOHyG+EnGmFnWqGnmiIoGqGn2mHoGqHoGmIommIo2qJpGqKpWmKpmqK - p2qMqGqMqWqMqWqNqWqNqWuMqGqOqGqOqGqOp2mNpmiMpGeLomSIoF+DnFh+l1B7k0l0jkBuijhrhTBm - gypLeCxPei9VfzVZhTheij1lkkNtn0tup05yslN1xVV411l27Fp47F9xplVyjVFxjlFzkFJzklN0klN1 - klJ2lFN2lVF2llJ2llJ3mVN4mlJ5m1J5nVF6nlN6n1N9nVN9n1R8n1R9nlN9n1J9nVJ9nFF8m1B8mU97 - l014lUd2kkRzj0BwjDpqhzRohS9mgChifiRKeClNfC1RgC5VhjBYjTVfmTphoT5jsEBnxURn2kVr70pn - 70tijUBhgT5igj5ihT5lhz5jhz9miEBmiD9oiz9ojD5njD9njD9pkEBqkT9rkz9slT9slkBul0BvlT9u - l0Bul0Bvlj9vlj9vlT5vkz5vkT1vkDtujjptjThrijVpiDFnhi5kgytkgidifyNefR9KeidNfihQhCtS - jCxWmTBYojNcsTVcxzZb5Tle8z1e8z9VeTBVeTBWeTBYejFYfTBafzFYgDFagDJbgDBchDBagzFchTJd - hzFeiTFgizFhjDBhjjFikDJkkTJkkDJkkTJlkjFlkDFkjzBljzBjji5miy5lii1miC5khyxjhCphgydh - giVffyRffx9gfR9dexxJfiZLgyZOiyhRlipSpCtStC5Wyy9V6TFW9zVU9TdMciZOcCVNciZOdSZQdyZR - eCZReSdReydTfCdUfCdVfydUfiZWgSZVgyZXhiZZhyZaiSdbiydcjSdejihgjihejihejihfjSdfjShf - jCdfiiVgiCVfhyRfhCNegyJdgSJcgCBdfx9bfh5bfhxcexpaeRlKhCVLjCVQliZRpSdPuCpR0CtS8SxV - +jBQ+jBGbR9JcB9JbyBJcR5KcSBMdSBNdiBOeSFOeiJPeiBQeiBRfSBRfh9TgCBTgiFVhSBWhiBYiCBX - iR9YjSBbjiFbjCFajSJajSFbjSBaiiBaiiBaiB9ahh5bhh1agx1bgx1bgRxagBtbfxpafhlafBhcehha - eBhNjyZNlyRRqChSuyhR1ytS+C1V/jFP/i5Gbh5Hbh9Jbx9KciBJcR9KdCBMdiBNdyBOeSBPeh9Peh9Q - eyBRfh9RfiBSgR9UgyFVhR9ViCBYiSFYjCBZjSFcjyBcjyBdjyJbkCFcjiBejCBbjCBbih9diB9bhh1a - hRxcgx1bghpbgRxbgBpafxlafBhbehdbehdOmiVPqSdQvilR2SxR/S1V/jFL1yxGbB9Hbh9Gbh9Mch9I - cB9JcB9Kcx9MdSBMdyBOeCBNeSBPeR9QeyBQfR9RfiBSgR5SgyBVhSBWiCBYiCBXix9ZjB5cjx9cjx9d - jyFajyBcjR9bjB5bjCBbih9chx5chh1bhRxchBtbgxtZgBtbgBpbfhlcexhaexhbehdPqidRwClR2ylR - /S5U/zFLwyhGbR9FbB9GbR9JcB9Jbh5LcR9KcR9Mcx5MdSBNdyBOeCBOeiFPeh9QfB9RfSBRfiBSgR5S - gyBUgx5Whx9YiR9Xix9ZjR5bjx9cjx9dkCFajyBbjh9cjR9bjCBbih9diB9dhh1chRxbhBtbgxxbgBpb - gBpbfRlcexhcexhcexgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + AAABAAIAMDAAAAEAIACoJQAAJgAAABAQAAABACAAaAQAAM4lAAAoAAAAMAAAAGAAAAABACAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAAAAFwAAACAAAAAnAAAAKwAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAAKwAAACcAAAAfAAAAFwAAAA0AAAAGAAAABgAAAA4AAAAdAAAALQAAAD0AAABIAAAATgAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATgAAAEgAAAA9AAAALQAAABwAAAANAAAACwAAABkAAAAwAAAARwAA + AFsAAABpAAAAcAAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcAAAAGkAAABdAAAASAAAAC8AAAAYAAAAEQAA + ACQAAABBAAAAbAoKC6QYGBiyFhcXtBcXF7QXFxe0FxcXtBcXF7UXFxi0FxcYtBcYGLQXGBi0FxgYtBgY + GLQXGBi0FxcYtBcXF7QXFxe0FxcXtBcXF7QXFxe0FxcXtRcXF7UXFxe1FxcXtBcXF7QXFxe0FxcXtBYX + F7QWFhe0FhYXtBYWFrQWFhe0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe0GBgYtQEBAqYAAAB5AAAAXwAA + AEEAAAAkAAAAFwAAACwAAABdOTk3u46IgKWTjIKUkYiAk4yEepKHf3WQhHtyj4B5b45+eG2NfHVrjHly + Z4t5cmeLeXFni3huZot5b2aLe3JoioB3bIuDe3KMiH92jIyCeIyMhXqNjYZ7jo2HfI+Ph36PkId/j5GI + f4+SiX+PkomAj5OLgJCTjIKQk4yCkJSMgpCTi4GQj4h+joyEeo2LgniMjIN5jY+HfY6RiYCPkoqAjn55 + c7IXFxe1AAAAcQAAAFAAAAAuAAAAGwAAADAJCQmJkoyGrJ6ViXCypp2Fv7OskL2yq5G6r6ePt6yljbWr + o4yzqqGLsaefirClnYmupJ2JrqOdia6inYqvpJ2JsqafibSqo4m4raeKu7Gqiryyq4u8s6uLu7OsjLyz + rYy8s62MvbOujb20ro29ta6NvbWujry2ro67tq6OvLaujr23r468ta6OurOsjLiyq4u3sayLubOvjLu0 + so20ramGnpWNdJ+ViGxnZWG9AAAAiQAAAFYAAAAzAAAAHAAAADIREhKSqaGapbK4splz3ePrceDn8nPg + 5/N14OfzduDm83nh5fN84uXyf+Lk8oLj5PKF4+Lyh+Pi8onk4PKM5d/yj+Xf8pPm3/KX6ODynOni8qDq + 4/Kk7OLyqO7i863w4vKy8+Hytvbh87z44fPE+uHzzvvk89776vPs+/Pz+fv58//7/fP/+/7z//v98v/7 + 9/L8++3y9/vi8/b70fPz+b7u1da5u6mim3V/fHe1AAAAkQAAAFkAAAA2AAAAHQAAADMQEBCRsKiirMLO + ybBI3eT/PNnf/z3Z2v8+2df/P9nV/0HZ0/9G2tL/StvQ/0vbzv9O28v/UNzJ/1Pcx/9W3sX/WuHD/13k + wv9i6ML/aO/E/3D1x/99+s7/jP3W/53/4P+y/+r/xf/x/9r/+f/v//3/9//8//n//P/6//r/8v/r/+H/ + 3v+//dr/t/3Z/8L+zv/K/7H/1f2b/9r8jv/X/Yz/0Oa+1r2zsYJ+e3e4AAAAkQAAAFoAAAA3AAAAHQAA + ADMPDw+RtKumr8bSz7Y809n/L9DT/zLQ0f8zz8//NNDL/zfQyf860Mj/PNHF/z3Sw/9A1cH/RdnC/0re + xP9S5cj/W+zN/2by0/9x+Nj/e/3d/4L/4P+L/+T/mf/o/6n/6/+5/+z/xP/n/8f/2/+//8z/tPy//6X5 + tf+Z96//jPar/3j1rP9z97j/gvrD/4X9yf+Q/cv/qvu5/7jtkf+112f/z9mt2cW9u4iAfXm5AAAAkQAA + AFoAAAA3AAAAHQAAADMPDw+Rta6osMfT0Lc40tX/LM/Q/zHQz/8y0c7/NdTO/znXz/8/29H/ROHV/0zo + 2P9T7tz/WvTg/2D54v9l++H/avzf/27+3f90/9v/ev/a/4H/1/+K/tT/kPzL/5H4v/+N87D/he6f/4Dp + k/+B5o3/huWK/4/liP+W5of/muaG/5zihv+e2ob/pNeJ/6ncjP+s5pD/pO6U/5/wlv+h4oX/ytu32si/ + vYuCf3u6AAAAkQAAAFoAAAA2AAAAHQAAADMPDw+Rt6+qscnV0bk+2Nf/M9nV/zrd2P9A4tz/Rejf/0jq + 4P9J6tv/TOrW/07o0P9P5sn/UefD/1Xqwf9c8ML/ZPXC/2v3wP9v8rn/cOqv/27iof9r25X/a9mN/3TZ + jP9924v/gtuH/4fbgv+I2n7/itR6/4nNdP+HxW3/iL5o/4y4YP+St1X/k7ZL/5S1Tv+ZtlX/pL5d/67L + Yv+x123/0uC828rCwI2DgHy7AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RuLCss8rX07pG4dz/Od7W/zzb + 0f8/2s3/P9jI/0DUwv8/0Ln/Q9G2/0rXuP9S3rr/WuS9/1/kuf9f3rD/X9ai/1/Pl/9hzJD/Zc+M/2zT + if9x1oj/d9eE/37Vg/+D0X//fshz/3m+aP95uGP/e7Nf/3+wXP+FsFb/jLVR/4+8Uv+QwFv/k8Rk/5zF + Zf+hw2D/pMBY/6i7Uv+ps0D/0M+i3M3Hx5CEgX68AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RubKutMvW + 0rs/ysH/MsS3/zbDtP87x7b/Qc27/0bVwP9L2b//Ttq7/1HWs/9T0Kn/Vcqh/1jImv9dy5X/Y9CS/2nT + kP9u1Yz/cNOG/3DOfv9wx3X/cMJv/3vDcf+GxnH/gsFl/4G/Xv+Iv17/jMNc/5DHXP+QzGH/jM9u/4vL + c/+OwWz/j7lg/5GyVP+SqEn/lqJB/5icOv+WkSr/yMOb3NDMypGFgn+9AAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+RurOvtszW0bxCxbj/OMa2/0DNu/9F0r3/SdS9/0rSt/9LzKz/TMik/1HLoP9a0aH/Y9ih/2vc + nv9w3Jf/cdqP/3PXiP931YH/etV8/37Vdv+A1HD/hdNq/5XUbv+Z027/icll/4HGYv+Dx1z/hcJU/4K3 + VP99qVX/fJ1J/3yTPP97izT/fIYv/4CDK/+EgSj/iIAn/4uBJv+MfBr/xr2W3dPPzZOHhIG9AAAAkAAA + AFoAAAA2AAAAHQAAADIPDw+RvLWwts7Z071K0L7/Psq0/0LKr/9HzK3/T9Ox/1jdtv9f5bf/Y+q0/2rt + r/9y7Kn/eeqj/4Hmnf+C4pT/gNyK/3/Tfv99zHP/e8Rp/3e7Yf9ysl3/b69h/3e2cf9zuHD/aa9Z/3Gn + Qv94nDT/dI4v/3KGKv90gyb/doIk/3d/I/94fCH/enog/3x4IP+AeCD/g3kg/4d6Iv+Idhf/xLuW3tbR + 0JWHhIG+AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvLWxuM/Z075W173/Utq7/1riv/9h6cL/aOzC/23t + v/9s6bP/aeCl/2nVl/9pzIz/bcSB/3C8d/9ts23/Z6lj/2SiXf9hnVv/XZpb/1yZXP9cnFv/ZaVZ/3aw + U/94pjv/cY8n/2+EJP9sgCX/bH4k/3B+I/92gCL/en8f/3p7Hv95eB7/eXcd/3t1Hv9+dR7/gHYf/4R3 + H/+FchX/w7qW3tfT0peHhYK/AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvbazuNHb1b9k3r//WNez/1bP + qP9Tx5z/U7+U/1O5jv9Ss4T/UKp2/1Cha/9Tnmb/Wp5j/2ChZP9gn2L/XJld/1yYXP9cmFf/XphQ/2Sa + R/9nmDr/cJkv/32dKf92jyT/an0h/2p9If9ufyD/cn4e/3V+Hf98gB3/fX8c/3t6HP95dhz/eHQb/3lz + HP97cxz/fXQc/4J0Hf+CbxL/wrmV3tjU1JiIhoPAAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+Qvbe1udDY + 0sBPt5b/QauH/0Khff9CnXT/RZ1y/0iecP9Lnm3/S5pn/0yVYv9QlGD/WZlf/2KhXv9ln1n/YplS/2WZ + TP9nmEP/aJQ5/2aNLP9mhST/dI0i/3+WI/9yhx//aXkc/2x7G/9xfhr/dYEa/3qAGv+Agxr/f4AZ/3x7 + Gv95dhr/eHIZ/3hxGv95cRn/fHEa/4ByG/+AbBD/wbiU39nW1pqIhoPAAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+Qvrq2utDW0MFJo4D/P5xz/0KVbP9BkWb/RJJl/0eVZ/9LmGb/TZZh/0+TW/9UlFf/X5pU/2ui + U/9uoUz/bZtD/2+YO/9oji//ZIQl/2Z/IP9ugB3/e40e/32QHv9xgRv/a3kY/298F/90gRf/eYMY/36D + F/+Ehhj/g4IY/358GP96dhj/d3IY/3dwGP94bxj/em8Y/31wGf99ag7/wbiU4NzY15uJh4TBAAAAkAAA + AFoAAAA2AAAAHQAAADIPDw6Qv7q3u9DWz8FJnnT/QJdq/0KPZP9Di1//RYxd/0mQXP9Ok1r/UJNW/1OS + Uf9ak0z/aJxI/3ilRP96oT3/b5Qx/2yMKP9pgyH/a4Ac/219Gf9wfhj/eosa/3yOGv9xfxf/bnwW/3J/ + Ff96hBX/fYMW/4GFFv+Hhxb/hYMW/398Ff97dRb/eHIW/3dvFv93bhb/eG4W/3xuF/97aAz/wLiU4N3Z + 2JuJh4TBAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6Qv7u4u9DWz8JLmm3/QpRh/0SNWv9Fh1P/SYhR/0yL + T/9Rjk7/V5RK/12XRv9mmUD/dqI8/4GmNf93mCz/booj/3OKHv9yhBr/cH8V/257FP9ygBb/fY8Y/36P + GP9ygBT/cn4U/3iDFP+AiBT/foUT/4aIFP+IiBT/hYMU/398E/98dhP/eXMU/3hwFP93bRX/d20V/3tt + Ff94Zgr/wLeT4N3Z2p2KiIXBAAAAkAAAAFoAAAA2AAAAHQAAADIODg6QwLy5vNHWz8JOmGP/RpNW/0eK + UP9Igkj/SoJG/1CIQ/9blEL/ZJs+/2qfO/9zoTX/eJ0s/32aJP95kiD/doob/3uMGf92hRb/cYAU/258 + Ev92hRP/g5MV/4WSFf92gxL/eIMS/3+HEv+EjBL/gYcR/4mKEf+IiRL/hIMS/4B8EP98dxH/e3QS/3lx + E/93bhP/eG0T/3lsFP93ZQn/wLeT4d7a252KiIXCAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6QwLy5vNHW + zcNRlFj/SZJN/0yIR/9MgD//VYs8/2CXOv9lmDf/bqU1/3CgL/9tjiX/d5Eg/4OaHv9/khz/e4sX/4KN + Fv96hhT/dIAS/3N/Ef9/ixP/i5kU/4qVFP98hhH/fogR/4WNEf+GjRH/hYkO/4mLD/+IiA//hIEQ/398 + D/99eA//fXYQ/3xzEf96bxL/eW0S/3ptEv93Zgf/wLiS4d7a256LiIbCAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDg6QwLy6vNLVzcNUklD/S5BD/1OOP/9elTr/YZQ0/2WYMf9urC//apgn/2WCIP9wiR7/f5Uc/4qb + Gv+Fkhr/gIsV/4SNE/98hhL/eIEP/3mDEP+GkhL/kp4S/4uWEf+Aig//gosO/4qREP+IjQ//iYsN/4uM + Df+Ihgz/hIEO/4B7Df9/eA3/gXgP/4B1D/9+chD/fW4R/3xtEf95aAb/wbmS4d/c3J+LiYbCAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Rwby6vdLVzMRVkUf/WZ89/2WjOv9gjzD/ZKAu/2muLf9ljST/ZH0f/2uE + Hf93jRv/hZYY/4+bF/+Ikhr/gooS/4OMEP99hg7/eoIO/36HDv+NlxD/l6AQ/42VD/+FjQ3/h44N/4+U + D/+IjA7/jYwM/46KDP+JhAr/gn8M/396C/+BeAz/g3gN/4J1Df+Acw7/fm8P/31uD/98awT/wruS4d/c + 3J+LiYbDAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RwLy7vtPWzMRjo0L/YaY2/1+XMf9lri7/YqQp/1x+ + If9lgB7/aoIc/2+FGv99jRf/i5YV/5KaFv+JkBj/gogP/4OLDf9/hgz/fIML/4OKDP+Umw7/nKEP/42T + Df+Ijgz/jJEM/5CWDf+Liwz/kY4K/4+KC/+Jgwn/gn0K/4B5Cv+CeAv/g3gM/4N2Df+Acw3/f28N/35v + Df9+bgP/w72S4d7c3KCLiYbDAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Rwr27vdTYzMRfmTv/W6Ew/2a+ + M/9emCj/WHUf/197Hf9ogxv/bIIY/3KFF/+AjhT/jZcT/5KZFv+IjhX/gogM/4WJDP+AhQr/f4UJ/4iO + C/+ang3/naEN/42SC/+LkAv/kZUL/5KUC/+OjAn/lI8J/4+JCf+Jgwj/g30J/4F5CP+DeQj/g3gK/4J2 + C/9/cgz/fm8L/4BxDP+AcQL/xL6R4d/b3KCLiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Qwr28vtPU + y8Rgojn/YcEx/1uXKf9Zdx//W3gb/2F8Gf9rgxf/bYEV/3WFE/+DjhL/j5YP/5KXE/+HjBL/g4gK/4WJ + Cf+ChQj/gYYI/46SCP+eoQv/naAL/42RCf+OkQr/lpgK/5ORCf+Sjgj/lI8I/4+JCP+Jggf/g30G/4F6 + Bv+DeQf/gncJ/4F0Cv9+cQr/fW8J/4ByC/+BcwD/xL+R4t3a26GKiIXEAAAAjwAAAFoAAAA2AAAAHQAA + ADIPDw+Qwby8v9XczMVhuDf/VpEl/1qFIv9bfBz/XHcZ/2J7Fv9rgRT/b4AR/3eFEP+FjRD/jpUL/5GV + EP+GihD/g4YH/4WIB/+ChAf/hIYH/5SVB/+hogr/nJ0J/5GRB/+Tkgj/mZgJ/5KPCP+VkAf/lY8H/4+I + B/+Jggb/hH0F/4J6Bf+CeAb/gnYH/350CP97cAj/e3AI/4F0Cv+BdQD/xL+R4t3Y26KKiIXEAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Qwb69v9TWy8ZZhCz/Voof/1yJIP9cexn/XHYW/2N5FP9sfxH/bn8O/3mE + Df+EjQz/jZMI/5GUEP+FiQ3/hIUF/4aGBf+ChAb/hocF/5iYBv+jpAb/m5oH/5ORB/+WlQb/mZcH/5KP + Bf+XkQb/lY4F/46HBv+IgQX/hHwE/4N7BP+CeAX/f3UG/3xyBv96bwb/e3EG/4J2Cf+CdwD/xL+Q4tzZ + 26KKiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw769v9TVy8ZXgin/V4sc/1yKHv9behj/XXQV/2N3 + Ev9rfA//b30N/3mCDP+Eiwv/jJEI/5CSEv+Ehgz/g4QD/4WFBf+CgwX/iokF/5uaBv+jpAX/mJYF/5OQ + Bv+Ylgb/lpMG/5SPBf+YkQb/k4sG/42EBv+HfwT/hHwD/4N7BP+AeAX/fXQE/3pwBf93bgb/enEG/4B2 + CP+CdwD/xMCP49zZ26OKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw7++wNXVzMZYgCj/Voob/12K + G/9cehb/XXIT/2J1EP9rew7/bXwM/3iBC/+Eigr/io8H/46RE/+ChAn/gYID/4ODBf+Cggb/jYsF/52c + Bf+iogb/lZMF/5OQBv+YlQb/k48G/5WOBv+Xjwb/kIkG/4uCBv+FfQT/g3wD/4N6Bf9/dQX/enEE/3Vu + BP90bgX/eHEG/393CP+BeQD/xMGO49vZ26SKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6RxMC+wNXW + zMZZfib/V4kY/16KGf9behX/W3AS/2JzD/9peQz/bHoL/3eACf+DiQj/io0H/46QFf+Aggj/gIED/4GC + BP+BgQX/j40F/5+dBv+hngX/lI8G/5WQBv+YkwX/kosF/5aOBf+VjAb/j4YF/4iABf+EewP/g3sE/4J4 + Bf9+dAT/d3AE/3JtBP9ybQT/d3IF/3x3B/+AeQD/wb6N49vY26SJiIXGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QxMC/wNbWzMZZfCP/WIYV/16KGP9ceRT/XG8Q/2FxDf9odwz/bXgK/3Z/CP+Bhwj/iYsH/42O + Ff9+gAf/f4AE/3+AA/+CgQT/ko8G/6CeBv+emQb/kowH/5WPBv+VkAX/kYkG/5eMBv+TiQX/jYMF/4d+ + BP+DegP/g3kE/4B2BP98cgT/dW4E/3BrA/9xbQT/dXEF/3t4Bv97dwD/vbqN49za26WJiIXGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QxcG/wNbXzcdXeiH/V4QT/16JFv9deRL/W24N/19wDP9ndAv/bHYJ/3V9 + B/+Bhgf/iIkH/4yNFv98fgX/fn4D/35+A/+DgAT/lJEF/6GeBv+alAb/kYkH/5WOBf+SiwX/kIcH/5aK + Bv+QhQX/i4EF/4Z8BP+CeAX/gXYF/35zBP96cAT/c2wE/29qA/9xbQP/dHEE/3t6Bf9zcAD/uriN493a + 26WKiIXGAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6Qx8PBwdbXzcdWeB//V4IS/16IE/9ceRD/WmwN/15u + C/9lcgn/anUH/3V8B/+BhAb/hocG/4uLGP96ewX/fH0E/3x8A/+EgQT/lZMF/6GdBv+Vjwb/kIgF/5ON + Bf+PhwX/kYYG/5OHBf+MggX/ioAE/4R5BP+BdwX/gHUE/3xyBP92bgT/cGsE/29qA/9wbAP/c3ED/3l4 + Bf9taQD/ubWN493a26WKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8PCwdjYzsdWdR//VX8P/12G + Ef9cdw7/WWoN/15sCv9jcQj/anMG/3R7Bv9/gwX/hIUG/4mJGf94eAP/ensE/3p6BP+FggT/l5QE/56b + Bf+PigX/j4YG/5CJBf+MgwX/kYUG/5CDBf+KfwT/iH8D/4F3Bf+AdQT/fnME/3pwBP9zbAT/cGoD/29q + A/9vbAP/dHID/3RzBf9nYgD/trOM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8TDwdjY + zsdVch3/U3oN/1yEEP9cdg3/WWkL/11rCP9icAf/aXEG/3N5Bv9+gQT/goQH/4aHGf91dgL/eHgF/3l4 + BP+GgwP/mZQF/5uXBf+MhQX/jYYF/42FBP+JgAT/j4ME/4uABP+JfgT/hXsE/390BP9/dAT/fHIE/3du + BP9yawP/b2oD/29rA/9vbAP/c3MD/25tA/9hXQD/tLKM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QycXEwdnZz8dUbxv/UnYM/1uBDv9cdQv/WWkJ/1tpB/9gbgX/aHEF/3J3Bv97fgP/gIII/4SF + GP9ycwL/dnYF/3h3BP+IhAT/mJQF/5aSBP+IggX/ioMF/4iAA/+IfwT/jYEE/4d9BP+HfgT/gXgE/39z + BP99cgT/enAE/3RtBP9wagP/bmoD/25rA/9wbQP/cXED/2lnAv9cWAD/s7CL497a3KaKiIbGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QysfFwdna0MhTbRn/UXIL/1t+Df9bdAr/WGgI/1pnB/9fbAb/Zm8F/3F2 + BP95fAL/f4EK/4KCFv9wcQL/dXQE/3d2BP+JhQT/mJQF/5GMBf+GfwX/hn8E/4N7BP+IfgT/iX4E/4V7 + A/+GfAT/fXQE/31yBP97cQT/d24E/3FrA/9uaQL/bWoC/21qAv9xbwP/bWwD/2RiA/9XVAD/sa6L5N/b + 3KiKiIbHAAAAjwAAAFoAAAA2AAAAGwAAADEODg6PysfFwdjYzsZRaRb/TW0G/1d6Cf9YcQb/VGUE/1dk + BP9caAP/ZGwB/25zAP92eQD/fX8K/31+Ev9sbQD/cXAB/3Z1Af+IhQL/lZEC/4uEAf+BewL/f3gB/393 + Av+EewH/hHoB/4N4Af+CeAH/eG8B/3lvAv93bgH/cmsC/21oAP9rZwD/a2cA/2tpAP9ubQD/ZmUA/2Bd + AP9STgD/rquJ497b3KeKiIbHAAAAjQAAAFgAAAA1AAAAGAAAACwQDw+MysbEv9LRx71WbR3+U3AP/1x7 + EP9ddQ7/WmoN/11pDv9jbQz/anEK/3N4C/96fAr/gYMX/36BGv9wcQj/dXQL/3t7DP+Niw3/l5QN/4qE + Df+Efg3/f3kM/4N8DP+IgAv/hnwM/4h/DP+CeQz/fXQM/310DP95cwz/dW8L/3JtCv9xbQn/cW0K/3Jx + Cv9xcAr/aWgL/2RiCv9WUgf/qaaH2tjV1aGMiojGAAAAiQAAAFIAAAAwAAAAFAAAACQLCwuCv7y4v9XR + y6PMzcDB0tTGzNTWx87V1sfO1NXHztXVx87V1cfP1tbHztjXx87Y18fO2dfIztfWx8zV1MXL1dPDytXU + w8nX1cPJ2NbDydbUw8jW08PI1dPDydbTw8nX1MPJ1tPDytfUxMrW1MTK1tPDytbTxMvW08TL1tTFy9bT + xcvV0sPL1NHDzNPRwszS0cLM0c/CzNHOwszJx7vFxsK7sM3IxJmEgoDGAAAAewAAAEYAAAAoAAAADgAA + ABoAAABTaWhmx9jUzrLg3Nmr4t3br+Ld26/j3tuv497br+Pf26/i39uw4d/br+He26/h3duv4Nvart7a + 2Kzc2Nap29bTqNnV0qfY1NGn2NPRp9jV0abZ1NGm2tTRpdnV0abZ1NKn2dTTqNrW1Kjb1tSo29bUqdzW + 1and2Nap3dnWqd3X1qra1tSq2NTTrNfU0qzX09Ks19PSrNfT0q3W0c+r0MvHp766tr0xMTC4AAAAVwAA + ADUAAAAeAAAACQAAABIAAAAnAAAAZzMzMqtPTk20TEtKs0tLSrRMS0q0TEtKtExLSrRMS0q0S0tKtEtL + SrRLS0q0S0tKs0tKSbNKSUmzS0pIs0pKSbNKSkizSkpIs0pKSLNLSUizS0pJsktKSbJLSkmzS0pJs0tK + SbNLSkmzTEpJs0xKSbNMSkmzTEpJs0xKSbNLSkmzS0pJs0tKSbNLSkmzS0pJs0tJSbNLSkm0TUxLth4d + HaMAAABeAAAAOAAAACUAAAATAAAABQAAAAsAAAAWAAAAIQAAAC0AAAA3AAAAOgAAADoAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADoAAAA7AAAAOgAAADMAAAArAAAAIQAAABUAAAALAAAAAgAAAAQAAAAJAAAADgAAABMAAAAXAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGAAAABcAAAATAAAADgAAAAgAAAAEAAAAAAAAAAEAAAACAAAABAAA + AAcAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAkAAAAHAAAABAAAAAIAAAABAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBIAAAAAAAPIEKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ABEAAABAAAAAVwAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABXAAAATAAA + AB8EBAQ+VlRQlXNybqFqamaeZ2dinWZkYJxqaGOdcG5pnXFwa550cm2feXRxn350c597cW+efHVwnU1K + RZgAAQFUFw4NUI+5uMNY4+b0Xt7b9Gbh2PRv59bzf/La9JP84vSx/+r0z//p9Nv/4vTP/930yv/Z9N// + ufKnp5OvAwEEZRkPDk6Eu7nPLtvX/zrbz/9F4Mn/VOrF/2Xuvf9y667/guWe/4nciP+K1Hf/jM5v/5bO + b/+v2HT/paeTuwQCBmIZDxBPirmy0D/Wwf9Q273/W9yt/2vZm/9x0IT/csZw/33Eav99tlT/fqdG/4Cb + QP+FjjH/mZAz/6SfjL0FBQhjGBAST5G6rtFOyqT/VsCS/1mze/9mrGv/ZqFZ/2WXRP9zmDT/bYIh/3V9 + HP96eBn/d28X/4p7Jf+kno3ABQYJYxkTFlCOq5vTPpFi/0eLV/9WlE//b51B/26NKv9tgBn/d4YX/3N+ + Ff+ChhX/gH0W/3ZuFP+FdyH/pZ+OwQYGCWMZFBhQkKiR1EuNRv9dlDr/bZgu/4CWHv98iBT/eoUR/4SQ + Ev+CihD/iYoP/4F9D/97cQ//hHYc/6Wgj8MGBgljGBQZUJasidReozD/Y40i/3OHGP+MlRX/gYgO/4iP + Df+RmA3/jZEM/42JCv+Cewr/gXQK/4l6F/+noo/EBgYJYxgUGlCXroXVWI8f/2J4Ff97iBD/jZIO/4OF + CP+TlQf/mJkI/5WSCP+PiAb/g3oF/31yBf+KfhP/p6OOxQYGCWMZFhtQlaOB1VeCFf9idRD/eoQK/4qM + C/+CggT/mJYF/5iVBv+WkAX/jIQF/4J4BP92bgP/h4AR/6ajjcYGBgljGRYcUJaif9ZYgA//YHAM/3d/ + CP+Ghwv/gIAE/5mVBv+UjQb/kogG/4h9BP99cwT/cGsB/4B+D/+joYzGBgYKYxoXHVCWoH7XU3cG/1tq + Bf9yeAL/fX4I/317AP+TjgH/ioIB/4p+Af+AdQD/dWwA/21pAP90cgn/oJ2MyAcHCmQaGB1RoaiK1maC + HP9teh3/gYYb/4mKIf+Nixr/m5Yb/5KKG/+Uihv/i4Eb/4F7Gv9+exf/fHoi/6WilMcHBwpjBgYHMXp5 + dKCcnZG2mZiNtJqZjbWZl4yzmJaIsJiWiLCYlYiwmZaJsZmVirGYlYqylpSJs5mXjbRqaGadAQEBPQAA + AAUAAAAeAAAAKgAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAArAAAAIwAA + AAoAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxB \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index e572deb..161a93e 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -299,6 +299,7 @@ + @@ -307,7 +308,11 @@ Designer - + + + + + diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs index 0a2f9e2..91be802 100644 --- a/OnTopReplica/Properties/Resources.Designer.cs +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -74,9 +74,9 @@ namespace OnTopReplica.Properties { } } - internal static System.Drawing.Bitmap component { + internal static System.Drawing.Bitmap desktop { get { - object obj = ResourceManager.GetObject("component", resourceCulture); + object obj = ResourceManager.GetObject("desktop", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -116,6 +116,13 @@ namespace OnTopReplica.Properties { } } + internal static System.Drawing.Bitmap list { + get { + object obj = ResourceManager.GetObject("list", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + internal static System.Drawing.Icon main_icon { get { object obj = ResourceManager.GetObject("main_icon", resourceCulture); @@ -123,13 +130,6 @@ namespace OnTopReplica.Properties { } } - internal static System.Drawing.Bitmap ok { - get { - object obj = ResourceManager.GetObject("ok", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - internal static System.Drawing.Bitmap pos_bottomleft { get { object obj = ResourceManager.GetObject("pos_bottomleft", resourceCulture); @@ -186,6 +186,13 @@ namespace OnTopReplica.Properties { } } + internal static System.Drawing.Icon screenshot_icon { + get { + object obj = ResourceManager.GetObject("screenshot_icon", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + internal static System.Drawing.Bitmap thumbs_up { get { object obj = ResourceManager.GetObject("thumbs_up", resourceCulture); @@ -214,9 +221,9 @@ namespace OnTopReplica.Properties { } } - internal static System.Drawing.Bitmap window_opacity16 { + internal static System.Drawing.Bitmap window_opacity { get { - object obj = ResourceManager.GetObject("window_opacity16", resourceCulture); + object obj = ResourceManager.GetObject("window_opacity", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -242,6 +249,13 @@ namespace OnTopReplica.Properties { } } + internal static System.Drawing.Bitmap xiao_component { + get { + object obj = ResourceManager.GetObject("xiao_component", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + internal static System.Drawing.Bitmap xiao_delete { get { object obj = ResourceManager.GetObject("xiao_delete", resourceCulture); diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx index 41a7f83..17d5191 100644 --- a/OnTopReplica/Properties/Resources.resx +++ b/OnTopReplica/Properties/Resources.resx @@ -121,9 +121,6 @@ ..\Assets\flag_ita.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Assets\window_opacity16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Assets\x-oblique.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -136,9 +133,6 @@ ..\Assets\window_multiple16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Assets\regions.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Assets\pos_null.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -151,18 +145,12 @@ ..\Assets\pos_bottomleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Assets\icon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Assets\back.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Assets\xiao_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Assets\ok.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Assets\window16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -190,7 +178,7 @@ ..\Assets\window_multiple16.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - + ..\Assets\component.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -208,8 +196,26 @@ ..\Assets\xiao_delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Assets\xiao_wrench.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Assets\screenshot-icon.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\newicon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_opacity_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\desktop.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\regions_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + + ..\Assets\list.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/RegionPanel.Designer.cs b/OnTopReplica/SidePanels/RegionPanel.Designer.cs index e39dab9..a237f87 100644 --- a/OnTopReplica/SidePanels/RegionPanel.Designer.cs +++ b/OnTopReplica/SidePanels/RegionPanel.Designer.cs @@ -66,10 +66,10 @@ this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; this.groupBox1.Location = new System.Drawing.Point(0, 0); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(184, 189); + this.groupBox1.Size = new System.Drawing.Size(184, 170); this.groupBox1.TabIndex = 0; this.groupBox1.TabStop = false; - this.groupBox1.Text = Strings.RegionsTitle; + this.groupBox1.Text = "Regions:"; // // textRegionName // @@ -77,9 +77,9 @@ | System.Windows.Forms.AnchorStyles.Right))); this.textRegionName.BackColor = System.Drawing.SystemColors.ActiveCaption; this.textRegionName.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; - this.textRegionName.Location = new System.Drawing.Point(6, 46); + this.textRegionName.Location = new System.Drawing.Point(6, 44); this.textRegionName.Name = "textRegionName"; - this.textRegionName.Size = new System.Drawing.Size(119, 20); + this.textRegionName.Size = new System.Drawing.Size(174, 20); this.textRegionName.TabIndex = 11; this.textRegionName.Visible = false; this.textRegionName.ConfirmInput += new System.EventHandler(this.Save_confirm); @@ -88,7 +88,7 @@ // numH // this.numH.Enabled = false; - this.numH.Location = new System.Drawing.Point(109, 122); + this.numH.Location = new System.Drawing.Point(109, 93); this.numH.Maximum = new decimal(new int[] { 100000, 0, @@ -107,7 +107,7 @@ // numW // this.numW.Enabled = false; - this.numW.Location = new System.Drawing.Point(109, 96); + this.numW.Location = new System.Drawing.Point(109, 67); this.numW.Maximum = new decimal(new int[] { 100000, 0, @@ -126,7 +126,7 @@ // numY // this.numY.Enabled = false; - this.numY.Location = new System.Drawing.Point(23, 122); + this.numY.Location = new System.Drawing.Point(23, 93); this.numY.Maximum = new decimal(new int[] { 100000, 0, @@ -145,7 +145,7 @@ // numX // this.numX.Enabled = false; - this.numX.Location = new System.Drawing.Point(23, 96); + this.numX.Location = new System.Drawing.Point(23, 67); this.numX.Maximum = new decimal(new int[] { 100000, 0, @@ -166,7 +166,7 @@ this.buttonDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.buttonDone.Image = global::OnTopReplica.Properties.Resources.xiao_ok; this.buttonDone.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; - this.buttonDone.Location = new System.Drawing.Point(108, 158); + this.buttonDone.Location = new System.Drawing.Point(108, 129); this.buttonDone.Name = "buttonDone"; this.buttonDone.Size = new System.Drawing.Size(70, 23); this.buttonDone.TabIndex = 9; @@ -178,7 +178,7 @@ // buttonReset // this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonReset.Location = new System.Drawing.Point(32, 158); + this.buttonReset.Location = new System.Drawing.Point(32, 129); this.buttonReset.Name = "buttonReset"; this.buttonReset.Size = new System.Drawing.Size(70, 23); this.buttonReset.TabIndex = 8; @@ -190,27 +190,27 @@ // this.label6.AutoSize = true; this.label6.ForeColor = System.Drawing.SystemColors.ControlDark; - this.label6.Location = new System.Drawing.Point(71, 125); + this.label6.Location = new System.Drawing.Point(71, 96); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(38, 13); this.label6.TabIndex = 9; - this.label6.Text = Strings.RegionsHeight; + this.label6.Text = "Height"; // // label7 // this.label7.AutoSize = true; this.label7.ForeColor = System.Drawing.SystemColors.ControlDark; - this.label7.Location = new System.Drawing.Point(71, 99); + this.label7.Location = new System.Drawing.Point(71, 70); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(35, 13); this.label7.TabIndex = 8; - this.label7.Text = Strings.RegionsWidth; + this.label7.Text = "Width"; // // label3 // this.label3.AutoSize = true; this.label3.ForeColor = System.Drawing.SystemColors.ControlDark; - this.label3.Location = new System.Drawing.Point(6, 125); + this.label3.Location = new System.Drawing.Point(6, 96); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(14, 13); this.label3.TabIndex = 5; @@ -220,7 +220,7 @@ // this.label2.AutoSize = true; this.label2.ForeColor = System.Drawing.SystemColors.ControlDark; - this.label2.Location = new System.Drawing.Point(6, 99); + this.label2.Location = new System.Drawing.Point(6, 70); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(14, 13); this.label2.TabIndex = 4; @@ -230,18 +230,18 @@ // this.label1.AutoSize = true; this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label1.Location = new System.Drawing.Point(6, 76); + this.label1.Location = new System.Drawing.Point(6, 47); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(76, 13); this.label1.TabIndex = 3; - this.label1.Text = Strings.RegionsCurrentRegion; + this.label1.Text = "Current region:"; // // buttonDelete // this.buttonDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.buttonDelete.Enabled = false; this.buttonDelete.Image = global::OnTopReplica.Properties.Resources.xiao_delete; - this.buttonDelete.Location = new System.Drawing.Point(155, 43); + this.buttonDelete.Location = new System.Drawing.Point(157, 18); this.buttonDelete.Name = "buttonDelete"; this.buttonDelete.Size = new System.Drawing.Size(23, 23); this.buttonDelete.TabIndex = 3; @@ -253,7 +253,7 @@ this.buttonSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.buttonSave.Enabled = false; this.buttonSave.Image = global::OnTopReplica.Properties.Resources.xiao_add; - this.buttonSave.Location = new System.Drawing.Point(131, 43); + this.buttonSave.Location = new System.Drawing.Point(134, 18); this.buttonSave.Name = "buttonSave"; this.buttonSave.Size = new System.Drawing.Size(23, 23); this.buttonSave.TabIndex = 1; @@ -270,7 +270,7 @@ this.comboRegions.FormattingEnabled = true; this.comboRegions.Location = new System.Drawing.Point(6, 19); this.comboRegions.Name = "comboRegions"; - this.comboRegions.Size = new System.Drawing.Size(173, 21); + this.comboRegions.Size = new System.Drawing.Size(126, 21); this.comboRegions.TabIndex = 0; this.comboRegions.SelectedIndexChanged += new System.EventHandler(this.RegionCombo_index_change); // @@ -279,9 +279,9 @@ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.groupBox1); - this.MinimumSize = new System.Drawing.Size(184, 189); + this.MinimumSize = new System.Drawing.Size(184, 170); this.Name = "RegionPanel"; - this.Size = new System.Drawing.Size(184, 189); + this.Size = new System.Drawing.Size(184, 170); this.groupBox1.ResumeLayout(false); this.groupBox1.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.numH)).EndInit(); From a1d19a6acfe7c7fb0e2142d9e9e1b73475351e52 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 1 Jul 2010 17:57:34 +0200 Subject: [PATCH 051/164] Group switch panel uses 32bit icons. --- OnTopReplica/SidePanels/GroupSwitchPanel.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.cs index 8dd02fe..b763889 100644 --- a/OnTopReplica/SidePanels/GroupSwitchPanel.cs +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.cs @@ -27,6 +27,7 @@ namespace OnTopReplica.SidePanels { manager.Refresh(WindowManager.EnumerationMode.TaskWindows); var imageList = new ImageList(); + imageList.ColorDepth = ColorDepth.Depth32Bit; foreach (var w in manager.Windows) { var item = new ListViewItem(w.Title) { Tag = w From bfdfc2d371c4209db23ec4ba0b6aef5f9760f493 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 1 Jul 2010 17:57:48 +0200 Subject: [PATCH 052/164] Added original assets folder with original icons. --- OriginalAssets/New Icon.psd | Bin 0 -> 7684036 bytes OriginalAssets/Region.psd | Bin 0 -> 28644 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 OriginalAssets/New Icon.psd create mode 100644 OriginalAssets/Region.psd diff --git a/OriginalAssets/New Icon.psd b/OriginalAssets/New Icon.psd new file mode 100644 index 0000000000000000000000000000000000000000..42531a8c86ccea77d40c0a4cf7e40ec87d77bb82 GIT binary patch literal 7684036 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

1IDa;)N>c~UADlL!JKDiAkpnDQc@r#f6&$ z{Fk(bgX19ftT2Y4SEhe@L?YKy`9+tn;G(F6el2F`0PNOAt3(0 zzuq7UAZu%o5ec@>JA%C(p*!lbU`Tpg-!9fyxSm*CB z`hUP#@sHIf`lsqM^||@8Nl#$x!0{-3LjUOxSFc`^x8E2S0R9mNvNSkgzI`m8CAi=a ziUFnuwg+rG1GXrIw42%uPeBOj37B^7-<6y&o@6?PGz?Y?`Uz)>*deZ8KPR(*aQ@qD z-`~DXZJ)e@h@joOb|4ZIF5u{ibJv*cuU$QLZ2vAaMUu$mEo9P-2 z^{Vb2umrNd51wNwq& zcU6~5l2{G~K7kAQR^uE=cGlC3ACo48t~X1PHiUcQEEuOv88A%gmb4eC4k;PA1*{Ak z1jS3u$}7$WAD5JsUs_(q^pGG3;HuTh=~>v1 zC(B$AmzbQ&y#U6Hct!@IhL|EKe@O^ai6e~A&=o3PU!~$4@cQvt@d@TQ6+4O}_cRO= zJygu=vA~A-cVc2O_r%Uu^K8Kl3?U#R1n^))K_JBXe>F`_G2;B8`b7jl$Uh(dEqueUBtRVb zv+(5eHGgcz8?ydpKXsFd$eBIg+YfzY0EdEnyxm;A-Q3XvaazS=j(=Qv6OUNt0v``g zch08Ha+>Yx?umaH^dMYgeb6GFGcafX2RH-*#B%?Xzcc85BiHXMgYq{UmiuSkV!VHb z@%{zh>gWYco=|i5p5HY;Rx%)br2kaW1I%CQpXeW(SRmA6d!WMy4^-a^5&-qP$bqPR zOnZO@){=kPFM*)13f{r!5|p)e*G}dN?W%(e2r?rG?l2wsAiG0f-%TXK=g*M{%oU-X zJJ18~+ASo(9-IJb`}lo5r_Nu!dF$TwtLIPQ)7ym;U{m*|&0Dn1Bg7K0g>~WE#XbpL zaB~YnpyL<%9)I%XmtWlPzi@Qd=H@z(ESoR()ejs}#FQ`~h_~^?dxT#@6<| z2acQ~De&@%gYUOD)>f8}Wq^lz$B+;3$63&C75hZOegGVrn%Na^0RaB6Jv) z?Sy<^8bviZ0u^i{p#JN5t=DF7u~5|`p?R$(%t#Q848Y)}RO z1>grOSI7{7SJx z8ld@L1aC77K=%a&2~WU7AK*tMV2BDeM8Q}9LR6R?RG_C4PQX<`349GQ$e8P44Wj;T zp&QEI?-#nQf&2@9ucPQOLGtO=Gvj}sb#8H=PM$x}{rpw<`qA*+1b84yK|3n>wsyyK-Eu>}ZsMueZ_e$#extX4@b=w% z#=Fi=fftr{9jT9~{TcU3`rV26pSa(>`+AO_zk;Cn=CzBbPaMR24@R)dp{rY5Kb;#j zvj0%`biC*u+GNu%W`On|cW&Bo=tAG4k3aq5vyUDPUOu{aQ z2r8%m27U}Nz|&1kAW6PwFI~NOss|*X&QYp}@fny->bry^0J!+@065C%UrdRmBa#O=S+mJ z6LZi8hH~-wNkqjW3!$dBJhq;>X48BLhAL zA5rbh51$)@tp_52>0ZqnHCOm4f&X2F@RPdcwkS_|h}`(__viW#=pT0~e0_sM!y}3N z!`LIc>j-k|$kzDXAE|E*CJ#veyY>B2>Y6WaBID)lo;LmO_7Mm8^L&kAohA%@7^Q_UQUl?OL6cS3^+Ka)pX=Ml$4AIhEI0MfZ3 z5q`)ct~l~13p+K=(hipQnB#s=Ow_sdu{`TTAM2lJKehklV}$yG2+G+%@H)Z!?vF5R z^&c3eetYPaHX!3XX}?H+o?-RjMF-%622caz`+K<_OxUln^z)Um`t#yj`i=7+eK&4g zzXa>gQI7p`8Bp6hejj%~@!TIef9c8%@VFcDZzbB_p`+6%bq;)}4x5dgFE$Nr)>~(_ zZ)BL>vT1Yow!J4W-@Nzu+^ylOv5I~Mo zQaV%yzF7DYf#7<&i{O9+bfO6)M1Lg_I@!d5gGID&WJyRt6HFv9?|o`YdP{44c|PzU zhjbP$S+y=XeocB|MMGm_X>Rh0=rBM3_>{D~Vst@8*~xJWA_4-&idvV-Uc+QA7~dEa zJ!ta;a0*JRh;$xCY{*0>|>6zg$&>##A5J$4)c)}yW@4_NfBxmhO^$iRb_dRz2LAfdSFcogcDHw5(*Y@UgnDtW%ubkj8LTaWj&KQ^QrTHHTlOqUB>pNqElKVV3g`eroo zoZ-%;lHedlb!a(8cD9#@n5E^Nb)^mU#mmF#0PZfcmBev#L)p{E7e_>Jm|XGJ!=DS2 zFBut#b$)1liyq%}_u0K?ywD=S1*tdQ@;4s??}^}^*ZQN6Kl$XRKUF`oe5wCj|C#Aa z^@aYiE;!#43*A6c_q4mB+ZR+HmJg5)*-t;tzFtk-eU!R>-HzS7SL<`U11xZ>zxReL z=PdrcFR$5M#rwk<03-uizcaAj0LuQeCy$Hce(RQ<*!FfX!XG-!qTY9l$$#MHrPIfH z9N*t6ZhZb>Pv5w)t?mEqvg_=Su)VQcy4qV>JGSmPclFi>pQC7g zmp6)g2e!Y;R4pOCV_?P@<;ngPwr>osxvp&oP9OO;DV7~%z$)Q26oDjl$+MoYN=vYpk29?kyFp?WGkZdq@ty9C$%i~0vG9?b7Xv;gB_9UBAM3f8Lp^YMp}`^Ye9xUHXTt&M0#W1&tH=NH zMVuSPhl$!le=5`ZGfz>o$(Mg)ZZ{CQ@0GpW<`C>&IDGDaqrZLmM+$$kT;`CS-1su- z>Hp@k7ek%yZsX&nxleO*C3hFd&Bq%Y!p%EoeNlCDZBcbc@q$24cR!!mvz*ybT*mOO zd(#)C?uX{;5ghOi8wwR}51Ah6x*Y9g-~S$avcgt`3fm)EwA4UUTMo z^^y8~@|Tuhy#DjgKKu03pMLVm$3K;?o_%EgP`fuAr-z`&eET_ieQf(s z{QAx3*O}d~+cM5uZrMZU2|K6{+k(Uztl#vy0a1qhnWNyiZlbB;Mz zPG;Ei;|%D&pXA7Uk37)o;E^B>q&JeWqcR+@?oM}Pho7AbqQxU8(aY$`+^PyCv-pnZm6hmjr?62d>@aM7uoq3uCQafJq~GdTDAUtLh9R_yLfn*?!PYw=MRX;~N4RlT{IcAc0{u*q~TK~=*+n6)Q%?su_P(a@E* zu3o!JG%r7<4H#HnFS0>xa3bBJmj(aC@t(aq_8|P*&02rr+?AVX1@Aaszsm8A14MW; z8X()>{51?7H+?pRv*B+9v)_cd7op#dJ%`UlHm#tfy0)e`D=B_4lAGnL*JtJD+mZ0QMoX}x#JTD* zRyKHuexdnSC%#P3m<9BBGa%gyax}+);gQ`3F^7MD(PYekaVt5(!yF;*8^WB~KxCt* zuwm@S6Xa${`ta;VMnr^$N{P=UNXrs5fzh6&J;;w$p4nAOoRJ?{A934exzJHz0Ox4*OSi zad~4?=6v5kFK>_8vs{FBchx;cF$Ku`9ulTSYH~!+C~i^bzB1r{^=E_c4)++eB|zUy zVOnGHFxMivcM$!(=z`Jyuf8$@4UfA7HUd+>E6 zR-zWVe(@|PJrDQr*zeqbd?OJo$}IuQ{R>nz0_1@Db|bd=oS}o;H#;vqqUxkS^4s^=Z!H)IBHM! z_3YQOxTjkN7Fb%G0p+GrN3+QDZ*uXB4OS;)UruH!=YChNevi;`CNWUS-}~{o!2BKrR9{@H+Qzw z6r`+Px)4>(^7!@X`K^TRWhbu?m~G|i)ZF}8hD8W~4*VX{9^xNpo@*h=NQ;dTpYfeZ z-ukLX%8M?%n{mQR4)w~6kAe`yZly5xj0}sG;1FK93}T*Bd&?Fx<&(CxYzfi&fbydk z#6Z*IBAF)}X@n!1Js>=0c``dF_h1$7Ao)B2UcNypY;*|!8)wKzzWc{2-+G_9OCEWvn+|LaeD0C{iGq&f1^>DFh5Dub5BjgPe{}fg zfBG-~_{(2>`GxkG{;B?%>5&rQo>jmnOMxNjB}!9#Jp%*g8?xK;!h_wbn?EvS`~dvO zZLVLvd}_~v}x=11E+63 z{N%IGXkd@~FYkQ63lOlYlg+%o1~{&T<(@ZQ&itqbbNzVYJ~nP9YWvj5qX&0xYHcj9 zsDc(ND^(??QmstB*fMe}1buq(i=rtt4Xy3KXoUcBvTSEEY$NE&&6aFUsb}r>!!@n-la^4no@{ zqT?G{sg~=@CScUz5U)7%8T94pCp{l#PSm~Hd@V|k^+dfF86GZ=zEz+T0*M?3WdM}V zJ`cP{8ee#1U|^7J{A{|)%hm^Dnry)yL+(?9)kJ>8M%Jw4p!5EksLxsUYl<^#0N zFtd#L!9$Grnx96*ru>a*?*I26MD6ig;k^G11pHI4r}v+N!I`+Msq_3lr}AG4uJ;Jq z9VyO>pQ+6zf!JZC!>Cb<@~a^u+Rs1O*VU6qaIqo$ zwe^js=E2k3Uz3mtp@y1Xk#j4{yC8N7G# zUu^&RpZ-Y)zE_{Ck1QW*A83yxn9mjw9pXCUAs2hSeq)3bZa;cE?bfK<?{W@9yP#j3NS$An_1#$Ftunqo+5?`wb7!W=r(WwFy#4Ue2aoOzT)WhBkoTNS zzFj-O?Kvc+Z82>YX`Lav>FU&s*qv$JogHn+RSD6#e)q{IpMD1U@Z|RS{hM1M&r$2L zz{?}9Q{VECPic}Y9)|p;_AL+uq;>Dvx=|EO?A?Nzm8ddHxn8CyaWne-*I>s%>)V=< z%u{Ydxq7}WqqRa&r{zf4uAV!Z0iPQg?Uys{DR4P`H3mS=$hM#HN8WFF#d*KKl1#n7;p?q?XztJ5u-JjSyLvCm zD=N(9;1O(VDu%19yv)*?nsS5{MKQBIg7MYE+u=W&J;#Ha_kMPPL7|~4TnDBTs8iv(#t;o&GnjZzu`z{??1is?6y@JkL=x8;^l;ec1IX^UFuwfwLfKC z|6Kn<|A$e(`Y%SU|Ld-{a;wr}6DjZ7Uegt^jKl}XiPd|QmXMoe#tu4fFk;~VDysm*qU28Nq*fPbVuWQt6 ze^l4lzG=svLp?nQcW-HH#K=;ribomKGH7Tux!icqiGS3n5 zO^zwsoI9SuyYT;`?mghLzO%INnHew{>M2Ffvp^ za}9Wz;L|zroo-9(EgL|=dq_xBJgS~)GZ^X?SOl zFhvO31GM|t@Y?({FJc`bK}#RgbVoW*h8An;&JL0e2aT@gN@JgZ zT#i{hZujVUpDsPM-l6|xIDho#cjywyAus=Khu+}j>Eq|=<=4eG9O+hKI2kA*(M)PF zsZ+9M&7LuBR?d|7{Ji`0>DqQ8LzZxQ_5N4D`_yCM+RG*53fGH- zU88zcr<}{N(=%;z#;#FZqiRGu+x*Ja+PZ7EZb>nJsO~+xZ{D-qRd>w#W_7jT=JLgh z7tWvOxxkmim8<=Ac=2W7M&wpo>BfsoN?D(mSCpSXBFp{B1N;zp=K*lzka^HNVD7gR zsC{OEGabAtbUApSq{L2+?>oXGBB(!AiU&s|0cX#YA1}(^w&ladnBCQ@ZEMW6CSE&p zjj_VE(se>mig8N<{aDX zwsV<+a_25uy7uEww{QD&!@8x5(96!4nJZ+tY~g_Pbn7%3$A3*seh!9KT6LZWv!GcH_5 z;;4y=j!Cd{5>L$>kEjkpUlepi-N?+(PtnWqe2^7e40%}N#s!4Nq)lJ2l30-?x#=-M z<001r!sFx9Kl*U_tkj4}qeS=OAC;8S3i)5E$ZbV?7mCMD#l0rL7RW-!#XuH_#s=62 z+Jav4$4Dy*97)XzhJllVy14B_q^vvBq~og#aPfz$GbWi6TS3z?l?yosunEO7Y1*Zd zyCRky&aDMw#EXr<#%e!o7<)B)zgBo-YjPuxM$ooZ>w9)Zr-?Y zt-kiEY}r+%t0wW~Og0QY`*KaV3F&rN6~88wdSS7EvQqrAN8#PLQ&*t&Is<7M^a3;A z+-J#GylusMsNwteN%u})e#E7?+Qcy;vKX>WEnNvsdHh(0c`Rvr@DZ;YN1=fY;{I?<8 zY0P1?c{3|lcI)dmZT)-;?fHCsw5+t%R2RBzV6A3Yr@L#d3uKqdYLPuHXU=@S-mDoy z!NIE8Qf+BY=^3{4W?1Hk$dXc>p)%ct9+%`fmT3a&1ddr!tj)M)GJFXS5Bp9^J|F(%!J^`XqWKF*aVgQc2X*-dwOwBRtGYkc=m9}VMD_LL!;ub#RSUM+!pkr zF4g#MK|DwfQNd*8gMB_zR5fVn{K?PJnb`E^{`^WKn&Du~Sj$*7&KPTQ4aqXX82PIa z;({AAa1e|;`dCrJ_65jrYy$_WUalI>YH)K&$VVEF7Q6?BZyOFc#ec*<;?pp6%AMh< zBku6RT0EY0v2=Xa!9`+jjSfv6Y4;sEka^SI?D$yDJicpf_a|OWYH8aBso3xQWffak zw?Cg(YxqxUwnW=M?Pd}P(5;)#sPwd?xR}t%<0nlH2}i#?H8&?WcW!R#XfNMBeaO4y zJ|~Si);}+A+LoR!IA8kN2il~Q`KvHaUtZpTt;J4uRYREpDeio_+!0$T6L`gsm9Xn) zZF&+HvD;~GS6sYMQ**WU`t{r9T@$RE4?z2Ur+fF+J=gnpA>SOZzjRSFwC5q<_zG1` zFuj(-n%R#Shs~1Li$S|g+K6Rn)M@2epdC4U@ZkP^D&JCIP_@lGlh;O`JH?(qdhnpy zZyt2!Gt};`d-m?zcd+ExF;q0=Rdw|@Zr!?BUw5{mWZ$;U*x;bpanG+=yOw@^{f3SI zQ%=|}Xe-PaqMDT}SAV>_npKji`W;sVQW)Vb%jzw^8&a}=jroAqPSk6>rY5B~og-e&rpDDUF3M(9& z49l5s&`D=xO1({|kCxpy64)$h&Z*=H!jGv0XZTZlvWvi&PfJkoyd&92c#Y;fM*Q<4 zv5^pqm^g&>Q>V$_u2NcJua!Q5)?NMvh(9R)PN_-J;eizNiGd+8Nu+N=?a5L-S{!W& zS<`1tCyPHZIxN)NKOi_f3QmtNk%U!-ZCV&!T7-AHf`^7on9RqcB{f4+Zk(_&h{iX< z?BV3-NKQVtZYbXppe>2{W`HxGR}g3{(l_hDo zRC46-BAF4&4JF-x{(br&rDH57!^x#j-$4jzTgdxGO~;(xqleW`b^o8BU-B)*1S9)& zcZxYg_|u|hcWlK(H$&hJ{X5at)KrrW-a*EhCt9AYJk2AZx~7JbUw7TS zZQhZ`K&v}<@7}w2|Nev9w{P9PbLaML<5siVys59Jp}%qk`mToI{-m4eWlD;zh-J*8 zUy3fCGJoJ;QOU7W)O{WUCl2%b0+mm}-$%ix*c*F|BA0{v^Yhd}*8}?s^7dM`t8Jb; z^Y#@UJbVNrec7p+%eB{T+`fJ1I@`VrCkyj=1Q3$XkG0rnKK|qrD^CDpb=x(oS1ehK z&~D8KJRDZ7Tfe#Fh;^fI8Q7Kt7X6H`DDF<;Ezz&^w zJyidgV`3t_rF)mXT0~sh6pZ=_Sms%mg@ubShi3yzcCJ?9h=Zk*4+UAl{40DMnT_yt zyeCMUaY3BVaDtqt1+YzO#f*-IXCe;;8UV;abCfg6T6Fc}Jjluzj!S0vNSWUy_mU?8 zFh^J?{Qx2O^zz7S2C;2dJzwhEPaYFmfrHGZFK1S5ey&2)b^jy$lX~9YGqXGMFi;*& z@-X1Mm2T`iIunp1&jWWNB>r!CAb5Lp@8K~tc}8YpMA#&*3xq{RC1p&{nK^&n?955s zJ9`fzKa75%D>0V;J0A#c@))S%ki46C+ABm*BN`iKdgFvF-%OqeJSDhJr%wD)#sPUc z@Y<}fR3bXku&xi``iom z?PCfkDpIBGkDaJGUsHGU_T4*oZq!#-9L|%#tq<2Bp+iUqL$?~w{8~HV8FI|hc)#^h zZdsD4wQ${rEjtdBR#sQ33$Iih*}HA+>QzK*F5#TU!bS7v&B}FOuK(D=MHuWBnG4-$ z84%m4x#ohFi1?eQ`$+JN=}1RCVCwPF;4YV!b`A3K?)UA!f0u=L<8u5lV*w+QO`G4( z?9cL?@NXMVA|mTqO<2jrZ}4dFL@g`iJ1-5Kj&Ja_c9#?Kf?GK}Re_C-06Wm?rlV|5 zpqJNC^$jO1aw`4=;#r{XDEbh2;)FfzDEz?s0v?$wZdVbZ*WGw>8>)`^-gd`E_umGv z-Jr|(}a9K5(_RxKP;CkypG9gWT;4S7w2%d} zXQ7z|$=Oq7L1xcz(`Zh6n&Rf@&09HSFAV&;|4&PQMsBX0$}tlpKNnwYf}P54L1bfz z0?SZ$R*~8yn;CA>3osVMzDjNmJb-2g(;Xc|LUgndX>$334SXtuI_tHNu;@5)a~VN6 zq7~%N$S;`95SouDTmBo1rR>AriG4jFg6=*9Sxhu7zfkq#@YjY##X|M-C;;J(*NwJU zjbo5(8EcGjMmb}QF-KU2tM|;IFL0DnoUXD(Z#@XcU9Q>57M%^cT(@d7cmPK3z5|ie z$t*8<480}drn{Yn-onc>2ZrTZC98B6>3<^WgnI|TQozLkC!lJ4`?CPB>D$5EV?bnv z1p*TdV_R{$)X%6|pGs-y*ybH-iayQ$BrvZYR|lB^hE)Z`pp z`7>eOS)g0+o~bg6RB0VNFGe_3X{|8m;4Rc=ZpEKBtKBbNqJIa=_M7Nt*sD{lubWyq zr|9Ti*}Msr*MtuK#*OROZS_qA-PISE=9}o_@h7#B{newTWk}qh&?_qtx*jP!bl^Zi zzL96_G*j>9_BO@aT#KfbCF_=9VSgtnZ-NP+|j0kY0<)vbdN6<;Ho4{ z?lESZTP&c8h-ip2liegOlX{!xs_U`r-kTOc75Z0zY8l*fEpC zl2S&Fo){9Fl1Y1!934Di+)ge^IRxc>n0wD;@lAm25`2B$E8CHYO$2!4*IQXXZdf3v(2{?>2e(d6SJZsLkR#6i-}Ln znm$!Jv&dndU3?Jt^HU4_9bo2m4At1ylfjz>qSRtJRQVs*V!0P%9C;DhD56o!9|+g6 zraY}QE3lmM+CsP8z&2YH?qHdsY*3UrAXo82rA*;Zu%{4HeZd_MYmKn(4%M5ge|D|u z^&2;C-nzvrWN?<-#!cXS?Tzacz8_Cyp2H$IQBEJ%|OW6k)Z-zSe|!Z>#Utty;Zq&H7J1&p&*klDoI3jvgd* zo~fLQyTlpPszpuY?HRS{pwf*jh- zO}wlLyo<^l2Q{Z*OmU2g6hXW-j(B>8Y`FPkCpku8qt|XDEIyBbBq8D?1W$gQNRJ#k zc~UUpw&I#ePsFb>X57TdAu%b_X5yEak{C9gfS7z%i?EbaA0!Oy3&IF6`SKV4n1btj)%Z0nFT*8Z#EET>>cx zrj>-5k!n;=sB4-9_P*kfbJtB_Ta&?9Y@j1#VP7D|E()P4cXM) z4d#g+TgT7*8_rEe?Zy&~l%4akc8aw0)sNag`kVLEHs7}0yu0;ECi^EGl7kyRDXCMq zCO9Q4WnkA1J{*hcrh2$CK;Y5wW=GbOwOAjcueO{1B`D^|%k$e$W=Tu5WhlV44Fxb; zE8U5Kg3PKYZ$RWCUNll7sKu63Qj3Y5pbLL`*2cVSTr^0MYj%ZII5>qWtHX>&F}7n% zS9O+Jqt3a$wpP`<^08~z)C2Vpt{rC0jYeDNQ@BX@92cfo#l3Lh-04c`t_#&6OP;aU zRZq*d?MA*m&$3tTQM*lk)j3}dP4C&8zwgB93s%K+G^VLDKq9kw#}c5%T%Q~!E2|xib8eD(==PUnc@O?v+UU}oOw?&68|~LMJ8c; zTnmBi^PxCadTB~ zYIBK)ltCC|4pjY{h}j(Qs(vr@9|&Bb#|9uo73~@zWex$iVnkp7XOmm2BYo?M8D85zOJlD{7kOPm0GR%TZC@b>LJ`u6M9 ztDm&X{96Q{2KY4ku()Q_H;I81QJy5blJEW>PQ3pUk%&6j{16+aA^|6%EJ9MbNUg;J ziV*Gj!25&>Yhv`25C4d$+&E*^$b`eXXt`uuY@!Whb@j$IB|#C_?DghNHwY{MX{)ne z{bemGuiBe1-gocaVe{o6!TETdQR{N0=Hdl){udX{ov)@;U%pI}d`b=}Zr{FR=T2jn zWv7D3Hl(!fwd}F)w(T|dI2YstRWq+C*3j~*>Z{iuK2l%44nWVNLn}YURDGoIK;G`{ z+qQlxx8RYPy8%*WUokGL4SdtcGf6XnN`7Upf+w0<3&6}BX-x=MQy<(VwSP?m^_Jn=_hW)kD5;_MLI_IML) z+G&o_s6+!#iH#6(nmdHIc8>~5n+ku$whSp7wKf44YEtN&*I`f@P7x@r<`-nCL(ps2oIGmntLg)ArFDPaT zx#cP`#THM;ffuf|X%BdFVXE7==WYvce@6@=Bo!}zE0XFtRy&~rPfkzqPYQ+Ai%d+* z#=kQyJ7(a!?|S(3^7ZLGSfEOy?``d7(D(z_-lo=s{v}}LxbhM6kgX6I2-zy`QcGnc zjFD4^t4j|owbM!*i;z@5z&p!U$^@;jS!eaxmh+Zs`$dBgC$pyIWr1WJQ!5~?tFvBH zwa-wE8dueIXZmB~hPvr`OAI3Fng@L`LooKx8#iFD>aN{jgM@M9O7-dTB6iN`MGN*7 zclbW zucaEZu#)@kL^FOQ(<^!tMMQHOn&Xu#SFBjRhRaTyw-*$amV)iVeR;2JBo2c2uRv9X zxqFc~I2PHMWnJ-u%%MU41rpM^ITX*OD_5-{5OVGNOXkfI^s2emTst$YDR|9k#_BLv z5+7#f=BioEbCHi{XEPDf_WnS)yJdEd%a3zH(AP)iDX|mwXfH9~d97{@_wfKYO^D-mH_V3ew$fUrC2#&#ICPYjaJ!))l{IuyX(UR;eIuy9k zzyP@mE2dA@QV2zjFiR-w=pd3A{fTc1XzCw8N)!9$v19CGn~a|@Q39LP@Fucb;uM1# z(-dbHaFoibM!qhyZNEPK2E8|u>MOhF0aAk{s$C7R_cwYwrdcOHq$ZNVjwTeGx>Ha+ zQA7)5d3jz}?Hpa{*wNnM_kVMgO0GF36z>ily~m~}#Y99S5QvH<8FvQ%Z$}Sp|62R5 z1grNRBq#-@PZ5m#(8GprMTS*JA+`M{g;b%KbeuTV+RGxdur-RS1LB21Vtrh1j)h!; zR0gD!QGEavZ8yJ@lw*fG(*aV?vnaE~lU+^gdJY9Qb@9^Wt9A9LHvnsWoxqk{mTR>r zKoNl>_BO8Am|-n-RNZSPvT#qq>a`oU;G3`4-@AJYh}YHMr0U+eakb{$S?NfNG-}B^ z+QZ(Mrq^lDE;`@5X88qqbiUiRZQrq7?P$3laOdakqdTa)cz=It*oE64u*V!`gMA9EZH zw+FDr)v?%BM>DAT_62QNAJ3b&U=eF%O7Fad%&{MR^2tXZEEiLkpw>Fmn&T{mHOHLM zDvP`|ERnNW%tAM1WN=9}+n!~nwGf4egH&c;q_W*4pe==5CP#TS6Mo4R1>FOKLRLFe zSE;Z=mlr+t8_pzZyZSs!YrE|n#p3AQrm%_|9vQat9_5e)Wq-<9&Zt`ah$lznK?CO zjK>@AwDauNttVO-KNlHW{~8oqk5FTatcQOrYAvxOaLE!=2=m08ip+yGukBP5(SX1z z+wo|~CJ5CvEiv|r(_*r)oi-`9A_Q@UE8=2Owe>7ia;(2d$_wU`hQFrBhrIdGaUYb;CWa)H>DDYO)2q0!T4zECNjocSvDSUS9uu7)CTbP;j8s%3qO|}7l1Zdi z1R{ioN2qW!s+mLhMG1^!FJvaT%Y2*2m}_H*l{#xikB;LOa#q&VsadRhIDQmPm~vt= zLB?6QEn}#(Sf)ozj-9`9?b?Oeq5ko)lSU028`Tn@KHplKq?JE=K-!q;HXCF#c0cWhf`|@3?4p8EE>kZ*0{3zV5NqA!d!{M(bvwb zXLfV)V%RggI=bY44O%3g9oidO-0=qzl86iM*wEqo_6_a$@vcL0$pKSY(YCd|#SfOb z^3w1oF-LC_l*VdTy}_^Evf{pwtLA*Xt@xuIpTl)>T+&Z)S~yn1-{?gzYhvE>}EJZ7`o;HC4)eXOL*$V&se-G7o~ za%N+T&vS@di+-uMrbUj-Q5k+U$;{+i{){Z7e?-vj&~X^rJ!Oi{i-&;jrh&L@hZ@0s z`4zn&s+VcD_R3|4$ouM3NGY&=*{HEzu|ih0fS7_`riBLI59|+{-@kYJ7RILwvYUGK zguYpDxac4jN*Lum06Pyx+1zDrw`^0})viuEcS{ou=Ui~0=;)aXm#^Qt_u%23TlF<( zD^48W3r}^Z=twauWP5Sj1N-v0pSEQ)#}3x6Ub$RgD=`Y|R)56ZgB^SJwmL!@OWDzb z`$$1pExRN866eM6$%wekxdQ9fC_NS}S^mLlD6NmytXMo>$EVG~SM4IYZo##LBTjXO zLAK6%mi0om1Qui?q!Kh+Ad1X%L-w&Ex+LnDPFb=L6!eol-bIS75n)D|kuG$qVYUb} z+#OhJ4BHrT;Nxy6(M(g0xAy8JSUHm4x9T0(SZ}kj-DKyk-LB_ zl=!&p%jZ-@+X-3eI@+So?&wNHs^XwUy&$W9XvCpvfYheDDz2 z{s^Ykpq6+p@L>pwslIG=n~PDppR9qnS1K(t_qe2ECg04}t1BnWWSPrs+vT~RiV%TD zh33y6xLpuq6L941)iWeT9;^|FY01Y)&zzPpvPZX$?{xO+s)5_j4|@E+0^Abr10M#y zho2sDgbB6~!b;STF1~a?(wy&vq@o;`b0&Tpi}MQDLCemg;Of&s{Q| zT`sh6b7`!v)LgoV0Rt1Yb4_int)6lCvRPwZvQ=9zS!*O6<<}zYkQb@v_aA=o_1E8i z``uSxQmpUZyy04V1#g6^azAzQ80QEI4;h8{tM;SNro}e48QV?iv3I?&=g{F}73Z&9 zzp3uGzk9Rp^2NiPHZCADMGp+bC19^C7OU3Y-8(-g_i&YMrO2?{R&lUk?MH1t+mT;b zLjPTIXzynmxn|<9Q_4wW1X?gu0%2!o=@lw}yKLbE(Sia}a2fdpy@V z>&M*JxCkIxE8<2u60=|-iAIQ^voeioE}%J!yT(~;aHTd+ah2>t+|pPmSq_QbN;6gQ z*0`U**+Mavya8%+m=SJ7x{K^FIwqbW_$m4gmFNU)6U-USi7|;pIT0R{lr>$=jhQt) zo#O(5lO_g*$7jr#J$wF=B@1$rLx&6+Flch@jGU-QWEv?kApmefMA|I2yGdb_#*O4c z2-ygkQ!>ag5kSX_09!g}lo~++h^ur>2Hj2N(jjt>@Zey3U^rq8$5FD;@W>3ngp`wZ zgee+Cvk)3T0VWGhc?eo6Ag%>i0DLIRAtaatnIga%0^>YnuohvGaE9PoOjP7^Ymcv~ ztrk+5oSA{2yP;Jlcj=pXp_3M&<O7eMnuU2d$;wBS;gv0w`bBP5)hzFL3tF3OPm z6(^6vRxwcT+>5h1KaWGGhhHr^hnxXC z=x1Zvi{KjNb?z+Kuv`*NZBv|ikCiwCm1@VnY-B3zRSHD2=V9L?1eO`;77v8F8QH0E^k-p_2&AUw=Hlr{PmBo*3r2h^w&&@&^D$^< z#E?lebV68aT2M$*c5cqJjNoxY2aXI*BmZvpwB)eS!-l*!IWi?XCkL;k_#vaHX(?Csm9`? z7%>7Fq@zBM9{C=L2AzQJC;_#E66wBLZj19P5nf@Ia?n1ov&zR6&yWrqM(1KgDYYXr0-8{Mvib7->LwIY#FXCd8Gtv@9cWCR? zrAzl-T=@aF^dS0KW&QV{Yv}lfKOeYmvJgFd*eFtk>X1614w{F|!z~>Hw2mAkQCx;& zN60u^*s^EG!LOVU)*?zJC7J%(0KJAruj1_s=eZaH@r87wwh7J%ST9;?TP+jx729PF zja(9Z+p29K7%scE?)r@f55N5Ct1lltbiQ-@mi>l#-T7L5t*Uz&Q{|=e=gyodleJLM zp+f})vg(ENdJoj@*~^c-{QUa6bpW z5)qf0P0^n{GbI6fv0tyN@9N@~`W z%!H6}Lx+zg%5v_4c}&KE<2W>uLd0<-z6b=A+$V}=2##S6kBUGS2?Z7vZN|9L@rMIq zcSYoSNzI8FAcQZf6$hh1t;}JQi=I0{&W)y22JpAQ#)dLjyyhFT$A7QeC_-jdi7 zaWplaHk9q}pFI_q(p=dbeCO;I19MTEfC|Z6k`I1Xk!InzZI@Q&yS~*1!R(H9kT8eUopt6vR zlKj29wtx2dw(UE2@MAZ`*nvYwaV}lHb^GqUoAsBf%a0%2!%lhkwrz;1K{Y8xM|g4_ z5o3j97al0svwiF4OYh#umQ@H{k>GbB)aniWa3%24TM znl+tNVW?{vk=ZZNRWt7ziO3zrt|0D0BN}-|v>9%ONoVa85w3(V4s}Iy92#Oo0&6Uh zte0TM2H!o!jh z2{hn}NJ7T6nNyM?CXXCGW>QqfoJI5IPD=@&G;(-gNF$HM9Ctl`;%GKHx9HTd6OfkEzK-6y zqqUP&UVdg(TJZf&ch7D;Jv$D|2xA5!kTIU)jwy*D13R{Px0{!TUvEx%v;Ouoz&3Q% zzmIM!=>BtRwDlM#G>=+KexN|h`k4G}3bhSf{~F@}nE>Egk~xXx#MFdp`pj9{Y?^BW zTw`F;5=#+(;CDF13=OVrtdp(h?D&-}=$wr+O+~jM1sLs>6y18;H5;jd){E9lvUP?j zyUpNpVDQ#Yw|=^1>(vmO(8Rol!1WY$keGbrl!VE@(&7)WO7bVz_Sz-8HaO{4m>POe})QnmEj!?N(-UL z5LB{h<~7*{K^}p~L5M4uFkT-6(Oozh2_r^G+dXPD!Qd2a&U@*V^4K8 zeG#RWypNbHIZ)mAWuk&XxYjfIu!*IDi*uO~`Z<+tXMFzIgBvY}K8E>5H_tvn*@4V3 z;ZflUvB{~ilLvdXeYu@Sr>>kjG5Wal@b&g-Y{7p5@8@=8hbznQv=N5-m*88-F(Jkj zgS55CIQZ;sl|ysM-WhZw?;?2LuEm$;DHkd2&*5!3`wW=3 zI(=4}@VdI2H*Vb&SlWg%r_ z-hXh9g)tsRz3{57wO+H-KC7b@IMY;)0HYhp+qFwUi;3{^mw9F7XD-*@z6XhtDOvh#ND$%7?3qzc^-osd$d4!!|jzH{g2pKaRs5urp|cjWO;&fmLr z%SWuXmM(1o)aJq$$PiqzbjhLxh(B5_TSBs!0Gr|twY|g&s*M~MsITePTys`S#%G+u zxyZKgJs_C2PIaXf&&+%Rtf||XI2?eoV=?8fr5x02Bi4moaiTR=g*Rm>6c!c*3k9HA z-iEr04kH|J17#!54f>iW6Ep2)2b5zaQ#c#8Eh94>MM!HN3<FZ z#L{HrEMiPHRgA?kiP#>qlOrdO4G0K{O3WfjHZ?kM(q#DT*yOa7*pSI#k#ULK2+`#l zNQauiud!YxtwfG?OO=KN6G%gShrB3>!hsy`9ybn+*!W4xpG&)rLtgBs$U>P!GcMe= z^xqV3?SAMtkZqM*=pHy=AlJFaLWt3a_v!7pzpeHES`|VSbC${aCuw0Ev>*%f{|-Ex z-fca5`gQaiosb?76A>619hnf5lH}jd%fs{aP95I$_Vwzc`nvY<^O5u0Vzc~d!TxIz zEyWi4x*P{Fb(?yP;LCcrq1bxJdeB z#EBz^4;|Q-zi0P8Jj(luPoAm0arfZ^^qMv2%a0!1yJr_tO*;3jpYCSOwF})fFM{=h z=Hbrp==A1!A~D&pZZ)m;hE3ac@MW^c(pb;Qoh`Z&cXTB=d|=Ltyqi`%JBwgGxv{CZ{AFf4 zWo1H!)3vkBN@pTZaYqOOk`w5>6$M(+s9R$ZX~wu~8XERlxNvt?!J_5}wFYqqMBALg z!=8n=hyl-B_Dz?89yYy+2u@Iy8Og2nSLK4YY^pOE0%Glq?p-<8otB}4!D#)H)2E2$ zI+#{GRz46H3&O+0BS{?K$rBrIqWBt!mIRAkyj&FEfuvK$Bm$hrQe=>1e@oZ^<(vI< zu=MB5;UhAHmHsv=--=^>H#DWpx2aP zl#7i2rCED8F(YbS{&NgQ6Cmr;WYGKeEc3(%2{x19Ici1Ms z&2gQ#^hTOJv-K^u%Wp|WcjGpi4K&;7Hy`PbVJv13&7Xby7TadoW%KgxpZ3x1{w4qK z52(5EM(Wp&Q`t|%WUQ%bg$o!jv`04|)uXMik8kJplT!U7k@Lh5A(j$3(zo5)Z@o!u zSTDc65Z=AbUY4GAcF-0XMX(Tyt@xkyN?X3*W6$qdKs(Y(8oaGOWOD0d?jM=YU48vn z*^5k5;0?G-|1G$m7QRlgE-B&aEj>9M`B^a>U8t^>9kHynTs8fT8M*N|Cybir)g-f< z)c!wVTb*xpfkIr%viYVXR_w~N%W}I=_ z%S#T+p}sBBuxlL|>TPqo>kd?)d(?h)z;>|x{(`(c`w!&p*|Gie?Yr{}2q??jvl1in z5`esrkidEK=FTMn+`ddLHQ>HY*-S5NMK~zIMBM*b&20{#3Q@*u;>L1wp3H2ZdYic- z>NKVq)9q87Dcg+Nda~A#O?B0p61l>o1H*7VfY=!5u}HSj4B0B^Db-NP&>dlqY#NP9 zOmv#W`DVP3nL*diZ&-(oaICeZ;1es9EMidU=cCDv)QR7;+!5H~qIHNsW>$Q3Sa3*W zd`fmYq&b`CsOVT-gj=x&j|c;Nfl{?mzSuql=rpvge(P=YFIBD@&*d-c&(${jR`ppkc2>KPlfZk^POGBVI0M5*LV9an<`v7R{T3 zidxNaLwOAtt+TAN-5cvG3Trc$oS@lrbk4^NyoY+ZoNXofUZwv7w3mx?(MlG>R8kfD zk1;9|XMZ#fe?1Z_?$4=UhT>4#ptli<^Yz_w_B{)mLj+Nt5^ zRX{zRiRMy%Z~OSQ^$3cb5D^#=%`P!E<~=_MxelGW4(a9P)1!w^cZdE3d~(l1S5MRP zpZiHSO@>h9VnembtH`24x|PZjq?14Te#$f^wSPw6c;lF|)2axR42$ zgLP6##Wi72F|BmRwkqj{A*V0Dc~w(T%(?ZoS88g`UjSw-kinWhlJ!S{sjQCagt1Tn zQ*2LHuidK^ zt-Z`&1lfK4CbU<5UGv&~!hp|*H$+WaYtX4x}Kx(@=ef&;|t zmmZg3Fhre&#YOo$Hm_eJmI#(oD^}{#N%^!dF+B9eNjJ2D?aJwHe2G3^F(z#uq)MU}&Fh!&HccrsdR91?1b)7Wvw z_%@olCe>F2Ub1~ck2!==t4~?BBy2~kKj?rl{;F;+tdHscnn{WE^Z>e@^~y=R`Pm}> zq2u?R9wWePB&Pp^ruWI4|A$-NM#Q%5?%94&OvD7FtDzAI2|>esI=s`da|e$e{d_#T z_wer4Q{l(5cXy?`_xAp4Alq<^oa>)JRvj@8|58${4i&Oh!Xv?XsN!N6=o6z*-}eWl|$j zMF{fNg^L%@kzIQcxZb`0kRJED@4out;oY0pYOjg|*(i59Rc`Q@&=LDQ4Vuz*19}i! zZCvOi!!RNcPD+xPg{g+F_?l{5#;HsEWC(!MVr6Hy*X16qwybX58sHF$X zo@l5V_Odn<;`RlQ&u3CMSp$1@6$_zLS8(Z0NxfjI^H_S{2o6zVohk`%@zb`fN9QtSURu-8>siGQ}cnn=C zBowpK#yikc!U?~05!nWnRLn|Z?v;@fmDNw6DY{CEs9P1=rgP_1wbKPg(|4+CuGUH0 z`}H?}_nY5*`{l#Cw`K4>d9n=ekR;J_nTE%MFN>tcxmc$Mz=2UuA*pNY?%%(2Te7vk z_~OwQkM7^PcA~T}pQF;-j8Bct=GK=!mFv8hCCFSz`t9P^*z}6$a53ZP2LN>?TVY1l`9CgrGTWSE&b7=l za*Z7KnK_b6I%lpu#~Du9I$dR}EHkr#MC(6kD0SZ}Q>co!095A~iLPb>1(4PtcRBMQ z{{g7*CSnf?iQz-GsOA7kFa^Pzi~-Tm$#=R+V&G3yY4&vYtPC#0OV(Zd8}P;%nbYKM z9JF*gOQVda@xw=soDh;QZQ-(})MUPXOl&l3o;QFhY!H&@#+FwA859US<@-=!&TN5I zKns7G-iiD4@_rG~6=hSW(+Xq6b?45gp*#Pem$(g`t<+463x5Vt^u%FW_&-Gxd3SKY)2sc+ z#DIz60l~3Jkz@OH>(CAZuon$(NAy*`-rWZnJstZU)7!t72`n4;q*=UO0v0jZo# z|HdKFV2NuzXoy4uc}8=_QSIFqt)%0Ia}`moNG3Vt=zyzMWxP;H?uKlDDy6uhf(LstfQclRoud3PJHlo!)&Y^`IXQ7KO*3@3Rb^D7izkB?f@4o%! zTK&};IRS%v;*`j)`73)nlp?23%iY-u7Rwr4{QbIWqo2NY>&}BOSOMR>UVG^rpT`MF zNaFqb%pD!JeU5!$(-vL?sT($Yyy25ATeg0}P595Y@7i5RzaWX1sLah~R;VWE}TE_jT74H*sw~_-i2s9QTjwX78tgCrebXHm;$#9zMDr_)8 z)h2|m!o*l!h3%9T5K6nF%-c0|pDQ`=-L35j%*MG8_^qRE0BBw-%1(5`c#A_HN`%rUGOZ1VHQ%A;)UtIkVobmp|ecTL0MS@x8j>hT_}z>DvpT zWRLFNe!coqOM8&8r%P#9BIZe+M7?bLi%O~ET9bk^`qx-hdLgT^D)NiMCOGg|XHa6@ z*=QyS7CV(Q%NnpX6g{SmU>-7b1H4{<$nWL zM=Q;$N0e9R%$nEP&Pp8p?ML7I=I{RQH(z~m?^a#SxigiOLRv{yfQ4>b60}sM(`jBc zk!#Kj&60EJDumM|RnrE_i3Y12Z>khx(xRhfUKRUdAfeIG2^ksFa%N0P!u#85a!6b{*Py1! zGeVdrYqU!wiyDkhkuS*m_`5m98evFYyyz=h(*m=tktYnt87EDc#6<~TaTDT0VjoML z1+ZgB4@FM}_xs*x(r{SA5_%(INFXbSC6r3`k9*FLih@q1YkuD`LhLV z+i~H+F%c8P6C%g=?b^9xyN=$pzJq(U^X}EXYuDa=dTPMpe01`br_f)8SMDaBuj!9&+}Po6cHTrB1i5EI)Cy7`ITto}JsaK`eb@Y*6c+Hhio$nj5?}ezJMX zXP@mw;tZ8keBuO#e#G2I3JZ2_-L!Gz>XnP<$@n>MKFM>!1TS<$O|g8%GGpn>%W&~8 z;z{$2COSTrQW>v{w?!D{G>eq=OlLN)wv;z?5r!|urj(RAci!yjDdFQsjUE>i zpG7p@tHila=FW1~+?g2(JToE^%taowHG4;xlwQju(XTY_jxFx6P9E&=Z< zv;_~5uyA3RkV|sV=?&m4r`6@hgbCsvl$tAx8}SON!R8<}(9TVV<}}DM1Zo+x(arAR z=7`jgC=IiVTW6tEJ2ZyLu~AhWtew8^ETr)F9VMjsdtTUwwv(7n2tW;QD5GZ$S z@Zg`)GrAsy1s2af!ex!w zVzb1BqRLHE?i}*RT9ar6bcF?`@#J31Df>wgCmWTpz~n_XRJy~>%BHl=dcAdBt?Xki zUaTRS`2wh=-dT7d;0k}B`LDogocjd~EFs20%%Y1(PIQr#6=(Hl}s880fm1t)sQpAjmuM|)?V7T3gQaXqlN81x3T_xGC>Lm0iCEZ{Wv5nz}ZKPEdG_fnz#@Q< z7eTDdwNzedm;ajpYxeBz*WH`%YeINbP;gA7|EOMYU=mW*&8K&t9^HI;`S~;gR%<%` zOMo@cxCwhxUT!@_sAHKkt)!q9D)^YS1l*Qbk9>c);Yf3F*3bkWEh{@tJ!@XVKBKr) zLLw{KpIEAl3KvGoliKNr!57vEZIk_^wc=^zFB~m1#4K4F*HIDU)w@)E!G6gVs`jEp zMuJ_rz9s>6*b6AN5Xh&!|=g(H0#NbdNTIjN4#YY6g z$Br4tZSZ5pQL~tr(&klX&aqsrzjpury?e%kclZm>%OgbBUeP*Lg56_Bj~*`EhX!Kv zC;CR>M=jQG*u*ji??L{7qGEN_R??R1E{6~7-SPQnTQ;nHpPLC_kQ%#av4eD41kGeF zaz?nQRuCxpzOm5YcVg+aEVM#030R4-lBKJor0PVg>1MW>WkZ4tL;xkwB#)WAIN6{u zYU&NEq{^wdmr?d=aI%Tft~<7xB0xs}5d1XAjBpolK+uMYQ-}B{BBVr;;*1507R;NT8WS2A)Shxl7&~`XP%y@3 z&RLS1oe&lr7MDCdJ0+IAD-Vl=R{rMI9_dAfN>7wjQasS_-) zR5riL32}Vm_T4YP{_Z!wdHl`SH|j4zE1ftY1_i>V z=yq+#Y^6rAQDT7p!^d0X6_e@uk2g|IckUKhhjFBhm?5aWhYAnw+rxHeqYh`Lni`ATWHeo| z+*oEVe?_?8l^?8LBgYef?2t2xY;p8jm4VerX`KwvBjcG+XV06H zlg+K`ci@kr6H+p=Ii>`y6cwFKiey$&B;bopPRFrCMUHuyGpng`?^sMh5$yVTDzN{J zv_=p*Cl8aLrV@x17A_}`)MU#fHMs>`v8W-KS%(c7Vhl0{8v~4i&fF`JR1DMamF~XM zCVF{w?aEKuM1IBTU9$_P#O(ss_Kws?j6Gc%I)9G_qM^g%_K$U=E6wb`w7HLUliSet zabtt~ePcWOAGfz63jAq<`))73n@;V0Mnr{$$1sfg!X7b?cEB9p3+|{#A53`9dbw!& z=r0AO933&Qwv@yP{tK0uH`KEtR8VDNys-!SB@JmQC8W!6%&%q)FDxLK-sDe!bBR;ThDbMH&_*I3pv44>ueNb%K)TBq?4qKs-KcTkEC zA4Czj{WICoST}ln`uPq$l;Y))6GlZxZ6tjD)yz$OrZAJ&j2T2Wbm|Wu2`l`x8TL#!Eg7PU zN$wP0cTy`%fnrRILy;stTPaR>bHWW=JDO{SV%2Hm>}0gOL2?$k_ZR#+%M)Q-W%!GT zBrFbu0BYIZ@VPPeSWAL6Q^GXl&RGs2tqCzitwtqgbAD`Qd&u8-snO|K95_gc4hf1# z%Es82Et^&x0h!!HOb|+o?JSm}M9g^qom#3bx!ter%MpqZnBgx8Cb+mLacxw@p z-QNU@X7{$fUEgirm*b03Q4{-mdB9_J?$Du2x6a*r`g!~H9mLJk-WHvL?BeSq5$tAH zS4zI8UW-yJnKX?K|JkgmQCatr+~LK41~T;t04?it$cVtCP`u)nrGafIreK!5L1M#E zIXuFl0*a!hP!1Ecc33L~!7VePz3dk!PV(b~$dLG{Uj&Y_i+NUVulO}$!s?p3YiQ?h z-@@#Q|BVwt{QVbrC1Qqug-R6tM%7!Vg^xPJ=Uu#Vwf@%qFTVcGZ-4juzx(FlooiPv zRGus|=%=Zb$E`*~M&>PWE%P^BvI-792Q4QvhRxM1Nnwo*kbfS0Y#L{pA$J`SaMa zAQyCnB@zvxWwEhDdRQwy96mC~Rpf&7vG`=s44U$*Tw}U9%{EmO_i{JH$WUoUx-%@R zfK+>A9f@#>Xzt|*V3@0rJkj$qG6}MeBsSCCJcfLR)~2QIse}kwApH zhDXK3NH}Y_BvE0qi-x|D(kLO#*_r97Msh1GHkp$628I$+rq0YYr}mzbnFi5|-90ic zedgTsr0B4Sxb&%uW@o_;Nd-(n4Ga?FL@Yrpb26*O%+g*5xH)8l#wZsSrz0F}5Do2M7xB!gey)9l)0INmtVhqDkSQ!-Si^X`u+Hda zc)8Hkdf0^^>f|^yfXd#3ewM^F%A|+|g%u+AO|wGqKR+#(lIYgR3dzB)Ke0j$e+DP? zr1KM|UA%gl6Kdt#)6cVm@0gf~@SrihJ-T?=JG|bht4{}SHZeW=50vS$S5LW7j2O^| zZ~LzSsbsowgy))6FL!NRxvZ;+E_rZ72pX)V4M&+Yk9=R;aO98jpZ>8{ge9Z?lbiN( zS@YmQ`vJ>A?r9&94?2}H=9y*9z{UxLz49lYR2nC&T>Uany--nEb>ZR_WPZj&_Xpxt z#phslb%qRt-`u?tE8_G~9CNlY%Q91uP~pUFK5C~$*G?gB zpJ`v5w6mP>#Nuiv=&6-nvIv7i36lm^#6~PQc+pcF^lhLDZ$-f*yG_Uz6nDHRe~wjm795YJ_({vCBJ>9Q&0_lIDOY$9OTzi2wFJ8qqfu@3}qV;yhabo~edlcFT zE`8}3WdmElTL9G`|NPjo`X(=V$aq?Dzp-;+=`wJDtKO8_d%x+>1JcGy3I(}n0#g7g zoh)pS#34)FWcTtn2j>sny83nN~WlKwCBrS&klJlDCq@9-8 zsS;gMo2oMxaHr|@2UmQqOBkaR(El}5VQrv!&z?DTisRT7<)_b}4x|^a{_>mee)spk z|J`r@{6AtB;OQ&DfnHnL9%fN?76tH2h*i1V5fv!0%s5bq=! zefKoNV6)Njt0W)FZE7Yb1IbVhk50>7$Wfn&u;`?W?962N<%Gmo22VKNL?N(*UPeSE z;wdxA8L5 z?hbT&G(y+=uZ3<3`zQ zV&x{l6chtc$%2B?Hut$rFX?CzK!auH|~A$?QehkyWf2G%@?;xhq-VLrQvZwE^Yz} zaM6*{G9F3%(`?1&Q5$R%$vE&%uau!?!uWHkMrPmgJs^}!D_0oH%@sPTb-p>*oGm(FMR~SK13kxGZ&zpL%rs_jS$Aer zF|blADVRz~Cy=jKtla2x&Q40QCBGoVuxv+TpQ7StZ4>9J2UHbdi)YC*4b0*Pfa!dqkcV9IqE&X|&sLc~nw)SOu}Gh#x+Vp2Jrk;a+8bn>p)JWW;8oTl>KyKo{Q(@1lZ z?-yk={#s#(p}XnlxJ~E| zVi*l;>$sZ7{f|~U;8=!Y7NjVC&g#Pj$R^BUrxLvuL5fgjmN(bkH3j+@8<1xuHmclD z9{}Q9N6O$xO>Y97E3t8^sO4di$HVjNFOa}BGN+1Ol2n?KqrxkRu^ix^LS207hm&n6 zrn->_<~PVuCgL2^4XuWWnxYvKb4?BA8USZK|1W_5H7)HY zi~BdZ!&g;)@|ZemDW%0IY*IuiXA5PVz*AIgW7UJRh$g%h-?603p1DldPoI6-D78q} za>$U*1f6tq24J26?2X{WdA^9dx4d^nx!fT-d2;{0{JlH2ZT)l;az@;D+j!E+qwXN_ z705BRZzBY9y+pyW{*gX>Ni&ilB^_=RH@J=WEgz_5O=-y&EtGx1_LjVmWJOy$X1z z5)Pd^m5Eu-{pp(wD!VO{aY_c6SaOCVG9hcGGz4i`Ip{(NsU(V4Wwyuy>CkW~DM{Q} zXastqiFON%0^h0`+9pKIchqxgI=deUeH=+<`hfoC0CS)@h>^L!8@t*57+||MB~3o}qPdNATR$%#^cLv3z z1rO`zBlW$D#~W|F-O;Ouk7w`R-B}3vdi-z2xg$aXuwx^oa$dhtU$3q;W05MoyOuLl zx$2FPqk(^}NH*YlWqV{Ech?O$#m!E?iyY%8<^GqlL=qG`80*SP>ZH~d?Kh;eKPVUJ z)d44ob1_R>irf8Ex!_$&zAA5z#!5itc#l{Bj#Hb@oV!p{C%C_V|E`?UB>SZ|AegB{JJwcrr?|tU#{O)sa0t5&rPS(5k zUVE*z56c*E?$XV>xP4G5e|hKD<%_3Ju%SI@Bo=5icI~1l=j_~xd?b&oW~JXDA$fu4 z*Iqsyv;2t@de!jRd2aO9{E@5#)p`9LeR1r=c-?U7NKB5wYac&OZ^7xZZ9K}h662nh zmYRwMp0qi8yS1%&7Doj)Ca+w)z@8B}ed^>1<4cX5FnO9!J2i!*iqex&QB9k|Xg-OQ z8mnl}E3`Y~EegCdE||PI*x?Zj;#@EqsZ*ZTQ0l6g!uipcD8~_O8tErKr1vVr98Fb* zdRDCj>j;#4xV7p9@1^+|8(FAo(B08Cu=jQ>(TRLlZCe@BI~0?6sVjf67bxVe5%wZT z=b-l_s^GQ}C&*N+b=Axo+5o-CN8B_U#I;_yw2wX(z~3J{#LE=+tkkVcm$RsJMiL=$c`j2KQ(l714kUyE=73Yu04H z6cHZRC_Xl^Q36CZS6WJHFi~O0&h*PFyR#=qEcKD2_K84*441Fi*8;9`9?1J?Rb{~V zisvyx71eFSV(HtTf^O|Cl;Ch*SwX|75cQ6!-Mi~MVP0a6ykMk~DwYSWBLRo@@7d+e zbY)rF947fd)pssjmm|?dcE9{x!VO?YHt9J~{TU}Ni0|G7jG(>FU%0{=`0m|1x68_n zd;Sc4v>JJQc$!55Ss*5HV(+_{gt@5?VR>0Lf|@+iN>(|{e- z{{14Vv$^l$&b78HD$B?^4n0rhKFU~f^e{qZF@v=6I*aHf%huT*x&xCUNs*GN=#8O6 zFPG8e$Pqnrq;ZipGtbTq*{T4_b!&0zu4kdVB@O;UwD?xaJSvab(@V{ms`RO8V%a8J zlPq73pLgCunv8k2 zFGD+Iv&~w`=O!uu;y8&+%?w63VTd)+;3i$7eFqfr5-K9^V2bbRkBSn6OSuK8ONvfo zMg0E2fdhgWv88MNK>M;_inpYj!^|;IV&F&CCWmhD!2bOQeKdN^sE>vW?BBQVfDcEG z>pO7Bh~dLN7&wv?onb@m!9-p1f9gtj-Evic@pqj*h6V4!!$z;qYF}K7DUK?@fB)J~ z#}rD#eK&2|TJ1a5Av?Zw92sh$#!TvQoYOO>6KwPl98lmr2SLJswMw}a&eo?P(1ypd z)wDOzri!LrLJzg_8{aZtT|E!k%AAlVi`TDy(T13RuV}__#r*3G?kkF{G zy7e0);%L$&Haz;@3~cyo2VvB62alXMefE+$5atVHtVJLrxlVNM1SF6BIG$ldMil5|o(+Ppo3cL7bW!#BB;{emjr?%gKi0ucz$f&AQ@LPbAkSeccw z)WeI`GUXAl2hS(uIob9Olv*PFFg3(s-CfK2meDtc|z0-&=wj2rtdd&MF%5Q$yj}1;U*$7vn9*2O3bt3&Z>w zn<1|2m+XihYAU8*}Y4Ph7F=Z>V(#-U8_#rdi5h>BI-sojgL!g z(FDzi-Pn)k82&&%jU>OUn7j9tSB(}DDUN5T=GU%rwlkQRM&pdPFH}^7+p{tS;wfA} zUOKA%L_hBNzJ0g%dRbBjnxg(!QS?St&7f=IpcM)2ZP&?@cc4i`Ie{Ny?K1m}ix)4Elfcq$GG zo;i&oxpKF~V{$57pkJTzDBm>18jqLzj$!x+GTS?G?!PA zox=uAu>TS0ot^%?KzoOqrk>>igUEjR3yGz-Te4%Nd$u|mPP#x`nXh8oHq)N?9&eD4 zJiL^NYolcQA{_#V~^ae`LAGHUF(Ax;-Rod0u=um_c(lOHjPxS!#} ztRc@0A2)H#hrP*~9X@H|@c!NHk$$5_LQ&|87;0&SkGh2mY<*n>WR}n}O@n)Tc6?k% zYxCBxUv15u2H%>yRO6&1qHvnG5Zt}2xc%Zel2pRCMH54(C|K2T4?Vr_8ZZrecrkz% z7N*hN3M=H#JPIplXc~BtU;j|$MZ^8L&KK1D_UBS_Y{h(luM?k;)TBwm>+M={FQq|9 z-THNEYo%5njcNVpq?m*z%^JnVB>X!OuL^BWavPyoX$tF+j1DAMtK(qP)ziKg6e0Z)ksRfR;WK7{lO4215 z#ORh0^SV3B&UguYqsiJvU!0SdPkjd%hiNE0hn_{->26v8uk1(#OccJf$h&vAM0({j zqp87BEF#_k=1TLhjw?7I&h!X;8nJgg%uY$q3DocW$L}HQu3kQmLm2vC_Z}Y=fWVrE zkG0*61KQs4R2L_>!o;}mTG@i5%^&ZYC23*Mx@Am6ba>4gwQAQ0vFnx%kBtmtIBy)4)S^iO0&OKi2J89+ zG$UWdFDvLyUUBhd`}Xs#Xzlacix9M=@g5#Od6uMB55?WNnxMRN3Dn@DPaxG&KnCCQ zrk!Q~X7*=vo9Tz`Ovl}-*zkmN8`L6e5e`LuH z4|n|UApZi*JPZSR9K-ObfBA%z_}Y9)CndGPpZxWg_b@1*{p1k#CixQi67%zYsDHAZ z7<-Z=K|Otml@0MA0qns;b{vynTg!&0!eo`?AJKB9P zU(C0G8*9VSrvC6@Zu;hu?K-f9>n`MVDa1o%clBeA@1f7}D=0q# zYI&p>l{x&J;=FY6jVcb>M~!5R|7hgci4c)vM#H}k8;xmm^hX~IoJt2XZp_FLI6227 z%PRu>(7LdELxv0$=a2DG&Prtt_}X}+G3?yTWmEgL=PB(H#x&E+o+u_hsj(NF1Ok1c z-HA#zx5A0#(W2T#4xHOJwm$>9c=-PmhSYkwT8+AOYKO;# z*9&XhBq5?%tH!a3dUpLAfzD*jye(m^pcA4d?~(lW*L_Uw_@Y;ks^L zd+rJiGJU)R;)lVUb&zmpbk=4@-$OD8bHBO0vfCf@Kglarw10oP`>}xoG8;nSb@ZX4 zX>EBZsHHxRLX@P|bkrwY76u<#-prsZ-4$l8b)TPOT^>DEzfAtqxBT`ID= zy8LwpdX%e-^7roFy+h9Bh0`ZROh|;cD<9n{|L5d-vOSzpWL3a!Fv}wRq=q&Nxp_RP z%nZUafnVq3ZWC(Rt?{QErjZxO-a=NhW%I_3n>LAx&!lP51K>HHdXNAH`aC32(@D}0 zB%b2H!4UovsuS9&*+!!cvqC2Kp4P2mGtVj1NnYSyR%U22f5tQ9PZ(!#A2?q%s4E@gVVet99c;=9P{q({WtJk)jZCa1#$o)|SZHrf4#USi*&8EztzRznkPeK`Ec|0P(Eh!CMWZKs6HIg{LEd)X6yc#AD?0;akx~ zhiiMUYajN0gYMF-m<}H?ms76ZU}~-^xA66ATGCy-NW=UId_8}{7m_8_w_ArDe2)bU z_PdSB6$PD*UBt~}L1Voh3l8gdd*{o-j}hJQ0D|Q@eo!p{V$v)Y^J4R|sI`GCuQD_3 z^y=)j)C^=IP~-0@Zxf@ldKOHR`)ItK-DUUib2Zc_Pha@#=3Pj-uYO z&jy@1i_zt{3Cxuj#Xj+)C&NAu%X8;&2}lBE^>I?hzWpLWBcFYW#O^Ss7ZIBaojZ0q zd4UF}g*&ujaG6JgwbRb^=CF#~O<%9XUb=lJGeGfP9_D;K6?BW$+30N2t#p0F$}+;8 zo!OT8PodSmy{kBDJ;Pca(v6G&Gf?<`n+Iumo=da{8JpHEU&7_pnT-2|xH9c2L6av< zoHPj&n3z3#?9*|<(z>YTN;QiDk2b%Ew`a#?_FX|z!}U|J2=n$c)0dZwTX&xlfXi@t zsOX+O1UlK~G2k^10e5Ey=FEk)iXV};m+j&c-GYAeKwZK&9^=d z8a_g)WENRw&ZJk_L=asze*9cCM-#`59<_4*q~RZpo;p__A3tWq$21B2=`mwIhMZ)V zKNv9|^gzFU()8-pb%0bPmgwzbB=xbEYiYL#YQ`AfvX!TalT=cLAJE5PVTAAE_KB{P z;a@DqNH1%Nx&X0v&n9{Lex&5=>B7b58BsX|o}La*8h*#B{>lFW?4!aF?V|jP#@m(9 zq}6M`ZrUh5szIHaHEY$V7E&uTG(0LgJTkU%d=y96J8{j|q4 z0*AFshNLYg&LiH?K*Uf7*iwQ`ezfpBQ*U56B_r z@Sz+#!oJTfjNJ3?qIvk2e+*+Fh6@Yk+{QC!`*%N>GVlbmHHGSlFGP zy*+CSB>rl~`{GI zBUHJFJMyjH4OH;g0E@s}FNfXANxaHODE7U{rj=9{kQa1QG=f%i2G$)s?aMIHL(zBc zqTrBrZ9Q$Qwpds?x)|!M?pBYGUesWUy|U_2<47|D;F;i2(|$y@*(mp9XLZHD568}3y>9vJNr;VR=+{%HO_@5G5kR>uW5YNW*K#8_P9@&0^uwt|%G@Sj!LeU-(v z`;qxROwtNUFZJC% zB_WjYNpFqhmQU*5^@Jk-UG8JP^9y%)wpS+DM?Cx?;C}2Vz4h)~j*Ua%WzhBeQ{!p& zGdz?@XG;alB9h@5;kmePZ3p)s@TVj9-K_8&dY)$eE>QmlZ#M1zjq7L6fN|2rPGN#M zPLwt{cLOgvYLJf4OcTPnPdO`b_cI*e+TzO~r;rB`bpARUYm{`T{g474>JrC^PBS&dw%32~A1QBvk7<^5j0yFQ#K%sst!W+%;MW${KsvEP- zQvF6a@4OeJiT=YOGQgmshn~kb+8^M+vsv$yF*r90TNPy+m_O<6?naUV%zO|nJlDr9 zR$#%;aIS<+8hbv>vW_=?v!mV3uX_)>XVu=K2zvKHWB=~EdYAxtTxLUtz}}J2QkH$f zL{L3-;v{g+xf}PaQfn4ZA2)XDf)(?{T1=}vedf&R#Hx)SXXX}yg-4m?{Lmq&g-W5T z?F-?kXr+!-xh#RcuFcyxL|*~tEtuzt7;D;;D4!&|Ns!6Rqt~^}%_CQo73oBkQp^I& zxyUd$JP%X7*VJ|=99qwidZv@dD+Yodhy4ZMGvS94gNTXslcL)wDJCYNX<|%t zeB;EppM`PRUEDu(?=H32sNN-p6SHjP1#9A_xa^fpr6k2thOYA{?W}8+u3o=>^Cmu( zt77v+lWE5+R_xhnHaE5~hcSSN28yi$$bJ&Jmx;DKaIMb$t_3d?>#E) zlC2#*u!k)b12ID{(8+MJ0=8vm^XCI4O@qjG((SB3mGxX}Zvdw(4hIVDG#|BnuNP@O z_bpBmM|SuAmtTMV+r$%Il*f|Dqqn<@UyTi`)lf5Sx;{c8I_HF9bgST*(Ic@8f zEuM5M?dcY8S}CUZ&2q|UyQsg-XUgU?ZLf+AM{(l%TJpAU*VAs_ew;+m16-&f*PDk| z*#mp?31r#4QAZ$WPoFfw9^*Hb9^Dydjdvy}uE8FKy^VdmGp;mbm^8H`Mo63X4C}5z zg&#=vX2k5y`@v>O2Cj`s9IzMm_Vn@gmA{ko6{zdn%0TGm=~~Puyy;?hrf#?QP}-fg zPP^hv>;~oP-rLx1OSXYEXNcFWC@%}SK#Zk5-tqJ*fuV-AKfx(OER?Zq;zo@gr`vQh z@zcJr7@hFk*|TTOp1*X(a?W)uS-fz*J-76{S+luayI}r&ZUM}&rdDJunV{}v=upWB zAOvy0segY?%Q(n-9jkbgZCqhXr}+!m*KmL}HhXvF8fYrDVkzP*tNnqL9aRExngMhe zJGVet!$G?vtsQt*r!ELS3HuI!Kly(Ma95N~vP%qCBO5gX-F8fk=oQs)IsPMTJPS_Ld`JNV{cLXsV1fzwX^nd45

AM7cw}Vm*r95v-W}e1D>Lp^ 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 z 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≠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�V`B|kIT233tt(FYPW6MxG^SpYc?e| zG66PUCl$EXrq`rar&jUd%V92m)4UP2*Hdh)O8b_}u3;7dqwAI>mJ({|#FneN@FwEu zTqF8)#1L54z>#5e!_?i2mo^B2{Thtd?rjT?ePH+59Qfnm+4 z?mPBvLpSJVV!**CWhUz-LZJmF3`Y#gH_fL+dKO7>e;hL&z@dr(W7N6+;+$-KC4i^ zG-svXbIkIv{`q&s@7~eO1@B64%D=5kzN?I{U9$X6>&~+&(s?{RD2i$QQTsfQB|p^u z@p}$AUJBzGWf*`cS7i7ZH3yBJl7B`uy7SCeiLaDY`gh~S0mS{Y`6T@3lWq>!hw zeECWanXj^I5^G5$MhDI}8uTAt-vRAR@bERC8j?gAAufP7tK!+Q>7(?F>`UZ@*RlDXInUMr}@( z`rmTdZ|~I+%bon*ZgcAz$cbwC@)awV(V5sU8lXD*6u;y6iOfsPeLu_L-=OY+1aza$ zKMIfZ$VAv@!YFib@Mv~0$5#7dR?yq^$?r{XDp4HoqXne3Y^dV;OSCn6Z9jP*WFP}a z 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

;XMaosaM~`bxjd+P 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ΠQ-~}dX`k1A%&YurAb1EwE`%&S*JDAl$p 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÷MttoTwR3 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

%Z^O56B6=xTTVDkRQ4xM)0A{V~TR6d|rxJSFe; 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

}ZKpqDZ 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 z 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 {6qag=s!lBjo3IU&%NEQ1Gt(VM2z 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%0D#1$m#i+YWZ}QVMf4cwcAU{s)UQC7Te(7beK3ZQ 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]KwV0WMevj>yU~TC)z&RG@i^n>v;sUDa0i9K= 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 z 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

*fO}P9)lOt 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%0AM_q)Q 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%0A9M>dVa+?yL4qTw?w4`z1#<$z-p4h^U@#Nn2 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�_t1&+*KdDv{RXyb zdK&YD=W%{E$y4`06VBDn_uW%>Zrv&oOBQFpk=($-Y2^*)Ik#Jc16Bm1)Av3I2G@yx8XCqv{H>p zU6$->f!Dmbvu7m4M2=Nbjl&$A-flc*^vDtP@*3ds*W(gJ-v)CxZ@~hd5PD=s38TYU z#IiY)JfcYxB59|?1{wo!cMXzIv~XeII7(y=1kwFMF@6ouzK=etmuH{8Qnk%aMhDIm zNOpNg)j_onmZUPN=k43IlanH?J9p{Yy?4KUgNBBOj~Fp(Oyqh-t<)VG*YQ-EE&p!q z^6cd;Gks?^ZG1ToiO!u=JJsImU;%8Y@2Zt*X|9QpYz!P{^;X;{VSFcEgM^J?;^#^ zRw!SxL_x1SWt#S@-lcEZltR2FBJBT>aIz*)e;l!>L#5n?7U$)*Bx*ZLk$@FnA zke)Rfy1+R7JS(${7tivDU|`R% zvr2hMbs`@v!5Oh<-uaaCMfW_u{`}6(>&0OD% zzP9by&8_?NG?*r!KL}PA6HwNe^ZP92NaVsy5R5gjRnR$L9sRKZ5*3go2F*uN={PK9SJI4 zF@GCVUEtN2YEAJJS$0BV_SAPkBg~nswC%e7E*v?8`U269BZ=dPb)k8)XC%c=iQ)Kw zTo;kMA}ZV+I!kW#PEr%gQt|DnJSiCtj$S``23XdsGhE&)*zHxC4|7LSQUcYUyCoy- z;Nq}BgQQeT8iH21u>7{kb}j<uwSwA5&vlPKnuQHaj@lxxk=m?`kLUrH#Ay>e**N z7zFz8QR9+k&Re<$Cmoq=D*kKP@Ql($sPzVJ2-ifUYBTAAX=&PRM62pA{+|(D z7ey*(LTVADSQ8jms2qqyr4};tszfAIuFSZu^{GX?-z{8>HojQNg71`R-Lq5m?tQy8 zs#2*Mzayexeu3eglI$gFAo2!`I61n~H=Lp)KJXPQNJ$gtnz9$QD{MR=?w*(c45|qqw zjNFjyD%~4i{={jP(w}_(^*6H5&ie@q?F*-X_Q8Fwy@j;>Yw!CzrIcgJggPh6ms;)I z!H#;D8<-}=d%OP*fQygo+r-Ib%+Jn2w#DjOGi_987TiLWCwZV)ONMb% zalcN5U_--V#K{z{;G=lgx?c1ZzS;dz79giZv;*3l_VU7UD!Epq`dUa@iQd z#72)8p@zHR+;B#4M`*kmRdamQ#Ax!vJ|uQ>N{7zP?P1E8>m+O@)I@GE5~F)IB8cd4Tu&-!`bX?bTT`uj#h{2?b~(K z+O*LAgTjDvWORHo(%GfUmn@u5BQj+YTlb-Z`-k@G)|nx@OFjXxAX#z}D9Pym8ZlHywipt8~~Uc|?z zm@jR%PvHV3nhxyS(&|&aMU~QlA%P-)6{8B5zk+K~dl9e@g%VQlZKMVT{qiprU-5K) z|EBnYQ|YiNzu9T`WUEbgZM#IsDUuCz<|%c~M-J><-teZKMX+)Yy(4NF8?W*tzQii7~l&?fQqe z*{6#-{owu&-rqsLONr)a*pBVy#$N@ipvp&&!dQ)Vg7BkU8M!L<74w4EIVNtA!f_qw zAo)bLjNC&Sb>5etV!riu4;?JXVq2^yoXd7W%xe<}>N6$o%T>k-$Ld#{^CH!M>5{(- zSTS&A&-;~T+Cdq{tEHQ1Yr2snVly?}GYO7t8t)(?O^}v4rv%eZQ;m&SBgUBQh*INC z!Cs^zLPe_a??y?&7aGzj1c$JzcFoH*pJH5YAv|}&)L1m8k)ye7OEB0dhGx2I4)(&C zM*vNG~^f_-OuC75mZs=b5u+MU~- z8qTJ@1JgY=^|vXzZ7nZ1fw9?8v?(s#PXk_|%Yg5HapU7xbSYU-Wsqe4nRLuqm9zBr z`ZXag@P!!v2k;gTCI*lo{{Zq!*mu<+h^SHB8UZyzNJS_q=QxQJ^eb5cwOQe!#f$r4 zqW1P{9@?uz#~OXx*C<&!C?rr!D&V(fefY6D_3PHePhF4De@rfLWnAo(<~bB9xd!X^2gG}yNqU>ewGA(4%=q$ zaEG4aat2yX8d=C_V#IdtCff7R>9ZHET)TerCOHOn(23}~A<(n8;HuheZLA~zla%X_ z&}0}Vcf5b#*xAd(j@|g^BNphHqHvYxkCwdg%#fFdgypOV?Xeu=l1K$TCqtAu@QGRS z(Ka_^F9KZ`u(fR1E;q;;@|0cE(j^9LH&G?9-#Dh{X3sa~%FwFjn^I|$e@$`-T5)S3 zGGn`CiE1?AMZ81v+*aHRW@0r3*urtUv8*zqJSR+qvz}x`1&_z3EF>6|SiJPuI6-F4 z!Q8>KVzIE@DM@kBl*|zfvK-N-mmbAEpD|{P8Es9jE8DU71Y4=X-xE>GLNw;28j6RL zIfK36da_8DEtD9rsj<=HM-Lm+Um-kGeR9h}yBG5A0cL-R9K?LxQ(!9>wl%}uO`qh| zuqF0iAl$)fFY~c#Rjpk|CgR?qVIw0ZC(Kxn%WUb~Bo1%>h!9kC(nb9otU)U+jFwZ1)izLQiEH;e6hZ^bOX(fi|T9X>MMzXug_Hp zbbkW6FaHvBJ>-UlB>ti`sZzCi&6*t1rD?8OT~#hch*+6YrHMW$QM_p3Vkk!aiWM$Y zz^{IvKCN5!$ltelrSjD!_<%$ukoT_OwVvR&ZUe!u3k@6w(wbJ#_x~$uU+{O;+o;Vx z!mul-O$W20JxTu+N?Y8R`DB@6551>Ot4prS0q4%15`hS@es+s&JG_n_W#&Z(nt77j zJRdy;P5pj)4B`9ZIh3bXzql866QuHQnPJ#_fg*-PrW56=j;*&0kkkZYib6jCcZgz#PZ z;w`Ki^u@*;kV`U&csIZW80L{A2*3E-3ldER`rpc+@E=OFl;PIa6#e#{7cREKNyBluzs?Hr0b zmMoy?fSAdX1?BKqn!%F2`6^MNi3ePi<8an1S1ctIXhu^0sZ&S_4j&RWKss62sh;oZ z8=87iE!$_^924cQ3$2u06G14mZU?JV6=`?dwQbtGMca;DyY*yX9vC)aOcaqSD_7Dc z&zv@8!nlzmhxb?g@^L$}pCt54UFHY?{kBNYtWM632EXcuf&SR)>;}=zi?=sHtZHLX zY?WBBK`k9~GgEJ=JQ_&}Gi75dL70@w+u&D-6hYn|Gp9IPiiw&?-hRdz6!Mtzn@|1~l z$M#oS3+&jueFuWFG$!#=XSvbk#R4ru%C){eFFRsmd-f)SZn-+iRU6i$C8PMtVX6(g z_Z~cY8WZT{D_5>wy>#vj%ArxU_v{5=Wv*K{*UdS|aBwA=z^73Y|0 zB)smL|2vkCVqUOQHlvwsqpT?B1T|4jvZAd>Ydj6~1RqLp4C|-Knp{pwnJH+*)aiw? zWG3>ENorL7kt5g|q4;Lg6v+v_-26J8hXSMWBrCQI9XY)^@)A~GGiSaA^<15T0;DA& z7{N)oRb1(rkq{dbF?Q6jFlwWyx?iK1j+vub%(xB#FBsz-M>j`z7k^@QGJ&$yxps&4 zZQG#Hl*H}Uox370>CvlquReoDM#Uw~mM!^QykuiWL$&eWkinuDhYJ%+cTdIY${|mN zZmN5(ZarMx9sGg(v8SBm=%Pn!2Sr+hX!dAKTMf7!tu?qcGp&2+Mn--9t7p_T>ihy9 z{ao`_{|xCTe*)*{6W`8 zb{;7ep0!o>zldw8$JXz0EgL2yBl|a8|Bo0q=%vB-AqNUFE3N2(gVOSzIeUr7+iPG` z1fWMVUWw2fw#qufImyg-(V(0@ef9b+?poZt_xPFfdoOlPUw!`R?OWKeTXZ^&@Gsj8ykp9cK)_j@|JayY?u+d$SsUig?`1! zYDwdpQP_iokrgXgFD-U1F_yoD?>Y8riS~Lf>3^V`CK~gVn&yRIWEvGZPKjP*y63dS z1XfH&tipZ4qAA7z(7B=~xuUH}?lRF@;}yWRka52wUG*exM30X&iQ}tF^`@Rn`h9G? z9&<_J6WUqa8YEuh?T|0EWn>!feEEb4YLZ9vWY})!WDDBNA&!x0g=E_;8ggC15UkoN9^Qj2dn>v*@~w2CsqsGji`g z13J|j(f1$M?l)jBZiBsCm7sd{>(ykN>|eP;#fqdQlrc*cFI~ddr%18l#Zi>_6fW#j zvfQBF-MaSb)wYqBzl_x!?IfOsdwylP&Ph@?<)2oY2SCVQhq{~xe5-^TN3)KwP(CCE z4Rr*g2BL2_nrkPmxb4@>>w;(7*a-g|b7Rb!_N#e}wR-s0T#BGt5optAgh zwDy*187_No#t{*zUA$B*6ASkNdUB0>KC810*g$P{ZK14hG&VR9e^tUpkbay|n(Tg_ zP5h8(PH>mV_uoUqPh-xvq-MieyJO~~ zyYAhbUA#q1!mf$Ofbe4N+pE?k+q7!knk&|=+qUo2wR@j|;gOS*=gh}xI&Erngc@Uw zcIS3Tn1|M|N#v61C)d5)3!98W3uokKM9Ste+GQ__@zFpvT z=Wem0a@BV>$gcNXFP+g~>LPChDjk(g_pVb^L{*lBj z$Pm!Hihos+gcA!I7+9^Ezkl^WlKF!Js#f=}z+<3HNz5Kn@k_90E?&B1(L!bX@)s(a zx6+WF?R)g<(5qe9@_}S2peSR;u2q|jRIR|;4Y`0D!lt>V)|blNAi_<#&TUrD3c4rS zvKr5W#Fr_Gc1@Q_8_y9A3FgQ8!RRe&QXSG(H&^Wt`w8%ZMxEe6v?5+QLjk$8N_QQS zG^8JXdjR<9S)7u7=`y@B8ArmUi421~tZ8|966CC{GSu-vD)_ncS2$-61^(cNAHM(o z*|W#r-Y37G+t^&a(ewCkiY}E=2Zv-v1}%gW@^jJ%}NvB7VMeF zMp2c$5*rB1DS^9#Uro7zhrenuQ#o@wjt`xwz~rorT+-UV1$s#|VlRzXi z8Hhzf&YF1v?hf4D8v58mTw@F1=+t{{CINnT(by|6uco+YGGz5lkN+;eF}5cqOU>tz zWg>jH7Wga{YbeC{Btlmty|;T;Vop$dKv&DYIiH3%qqVNa-STp|&^MxzpxO=S^lR0Xv;~of{2!s7x-a_CL$Y7Cj^verI_;p2;}qb_ zQP{Vte-7mad!|op$OAwcx4A(5clGbz(2EfzIgqn`nJ?#2Kn!vJ%vbT z1;+M^b<}k+c(SWLca~ux!;Nq0I$Vo{e};gQ=dRxV^vSdDzyI#ZL)lkU!STNzzc?=MH2CYp7f;Mzuy`=4DrR~JTvw--}e(Jxd$7Nk* z^3_?JUu@!3C1kgWN~GMjogWB^$C3c1;>y))7bWcQXnL9ua;(PRr`Eec_DQM=g!xuu z3+5B}H(0pM(%#DfEf+g!@n^gAri;ikCpR|44kE(Q`QSw@csW0Nu8A$gn(0h&K%J`; zW4Z{*)U@36`FhpGTG~kP5*?YSMU7}zjEbiDjOGq(QHr!~ z*-Av6uR1m8Oi^cC@6?eVymxOFTAe$$Z{Hfzwaf$1;O*MCY1JHmNAqFB#nH(lCQgFD zM~{~4d=Bme6+-et#xXHX{UHqo3>+Y6ck9=Gfa>QW=hzad>OlPB{XI~$^EqY#M=yiR zf0q4(=}4!qMQs}OIU+Q>*B6g>BTU^QCp8+r(9#r9V?lf&GPB^=pTn`sa?HRx@-Nl< z>PW?_Rtq3TxMIaB2ufI!;S{M{xqPK6RVpATLw^FV?o*^_$R_Ss4UE!TZITW#Bzx?q|lC3(iT|8Lm-?w&VGCc z*jK5>Tc~!fsUY`jHf`Pc{$X_MtOn%xClmlZhAg#tkRWa2e0}Q6U3P}B#`Ag)84fre zAc|1IwMjXbCj_|*E8HNb$st{CEOW}yjRo!t7cId4C6&-1KUha2r8sAhdv-!V=_<&_0^tkCT-lU-A+$tuRhw|NN}P*gVD zF*!aFI{LT-pgfZ*ZY?anfb@ttWD&+sj2bs`C|>UFU9|GEjnUK5O?9c=l?Gl%HgNR5 zb7wRpD84wh*#*&e+xBfar9*CTUz8}rMnyzn8BdtXzRoq&7vLf_7x-cU)rQgjVgm24 z`l#sF2O%YXkcOGYS=VWfPfE<7+WLwR1Sg;I-hYs10sA`? zVS7cNVxO$c+H7n>j=h!y(ba35Ys;-(xpFODB027pdG`DTHu;?0ri0+f7YF@FLPbah z!7dd0bHv?BwA_S|IwWP78c%gzFF1CHW{g?f3mmg3TfY2P?qDelU5>X<>=aE(%1<*) z5d2mXK1D=hCL_3lY?Jk~mWxUM9R(9U(NhE^(Bk9a)}x%@(Tue4XIYW%lw?FE#`yf$ znWLn{O_!)4wXm${w?*fPVk<5-X3_*o^4Kxs#!r-{UAQ}&;)CV`$BNfgvV|M(h;&6* z;|fgRd4S$5K@=+~v)BpDtvHA4eG<7eHD=-jnsGc{ec_X!(@=5qUpwqs9bH0ocV)-b zy+{weLF>}FL#r0=HEYUUJI-N4koEBDJ7_ooXA>u=ae0Vik|@(~&I3@42fl-6WWWH8 zX^O55TnuE?>M(1tYlz}^4B-Rih@YkTcg}ceYTpL4kZ!Mm48M+MG`F2x+{D(a7)^f# z%8s|7Yy#z%{}z-BRSgIf`kS3L5eos;tNZ(#RjO64QXYC8|8?oIC53Y1nF9iM-ePgGqOFPuFqTXZC6 z#~rNF0;$bsGC2sqi(KNAHD&zCfBxrx{P_Lj2j5)B(|I^eOja^*zrS0KTuBU>Y|nH_ z2F)TSVY#)Dqusd%Q-g1sv%T-XCZ6GOWt*r_* zS4!SL>oaP#RB1^#oBO)`7WanMhB}hWS09V6N@snPGK2 zG(PJ21Z$$ZRAU|`pqkx!q-(S>MvbmIc3dQlcnqFxd(@W56>)OPEw04)*qG5H!--ny z!`hpily^u{Af=E>-Bxw1Bu#c#X!71Yx_0T<`n~2&8#QUtvN^#~X z1+2+}aDivcUN}vR!5&yd1_NBjAd`<3Ca{-76~E`^x|XcyoTMsRy(DwV(geQw7Kf&l zqpd79;G!AzU_;lWiP7vi#w@E|Hj6SUG8~%RuzrCPBD*^GtE)euBEy{dW8A2sGsUZB zX+8}JTD6~lr z;n@LiMmNpO%rULQ))7xB(JZQwbt-Xc88YaZjhqcwLG@ECu*7=_lH4&7nKd zmJ#DiiIvBM&k<>|rCuXUy8xGV`9sFhlr%In zshsX&|8}G-r|`~Px%t_b_aA+i_0v!Pnf2t`yPw^-Am=;w?GZ$iAovE+cBN)LO^t>c zC!4`$v^VELcLJ=zpliE6Nt?mHjy4@v#?BprYK+oA56ko#Yn9uIm5jk+qOQDw{rE=V z)TC8EDk6Z3w);dc$O&YVS4fowIbFE4_OBJBRBRJmJE+>+^w1br^x=Z;T&rlq9V>qY z+Ib|Ul;f52v=Gf9G8ZoHIA@anpKK+mWD5)R-{rjo@nKHYUASw?^H?j!OQ`LM6DA3? zfi(quJQC7~T#@qbBsSapfip5Y!rdOD>)S-y#EG1deZ3gNl@%RB1tx(=FTwOxE4c(B zHtU3VspoL;6U|A^7;@4?SRQ544ivJEZjBR5w6CCM2x4PM@s~%5bH?Q z$#a^XGGhiWHZ^`UaVIRdhxB4-wuy95jfSlqJX@FI-H2rgC75_1m*yKcZ{4mF^LFRX zJ$n!Erkj8zm=HBqj3_Mf&2Vd&6|RPQ3>k*#R1M8FWSAOi4RZ`v;jUrwP~f8>1iB2$ zHE@8EMm;oFUrn8}J@4vbIsdvHw>RalsNtS+C!~2ZqxlQ1RLizkye>Q;>gfp|Eo`&TSmrb5L^a+Ie$$-{mnN|q{F%%@1sf%mn5UVo-+n6;a#DlZ%lK0Z2qh^Sf1hMoZC(fLw zTPHQ;<4?GXc@6f7Cjm`64Zt3vju@HKA;*MOKY#Pi=l32xefFLD!Q=byzI*n}`lcYf z`ez^C`3Pb8<@2XcAuTsgRXvR*^rYPSIRQzJC5-g{&+b1%YL6XbBoa<=xmf z>GOF!1~_E9z-!^6h1jna==^aEUT;4Kv_IQOa-x$_3Ay6+9-UerYsI_sP>6jot^vwUxIPO(L+Kn9-u7;Q9 z!X`3Oxm-U=>?Xp~jfskq^pyBGQdvopDM}U$EIuSTi@V`r1N!x+$oFTm2AQ3#u6eri zOz0O%fQ#8QUo%8AZDo(%vwJV^frGPChzlz815LU zM!X#E7$KjPXM%@J@dM?Nz`l(q0x@kY)Lc9je)Em$#hObjC2c$;O|ga1{COi;sl9n5 zNH*eMc_cKi859suqi&-n^=k(aXj-mZMd-B3s8z`#FHyQo$>OA%7AacP$H%)U2}{0y zr3QBH(XDCAw)LBLt6wItZmkAdnktWkpqdyw1KFlaI75RvT6bPMP`T~yTigxahc*3&MN=dfDg)1LQcIcg3_%$wH zI4z9;`)}z6j{1s9hSk_f9s*}jx!(Hl<9qkNxqI*13P1h))BpG5cTXOC{l%v+>$J{9 zGeL^Uu>u|+2UvmWsiOoB8o2cvcfWb^9nXNL2<+~EdF$$hjP(6FvBlh-kCpaT@o*tr zp(cCiuHD#XY<1ET$TPs$?z2;BIWZE91Urdq*(g3vw%^_Yb5Wc=t)?b}VG>Mkm|m3+ctLS=0@i>ag%t8 z_lrgPmLi+AM_W|yt5>hWjsg6c;?cWuTSP5>zQ|Yz=tbq4;+$!avVd5)LU^<#{2FSNIW(OWtL zlr}25{A6MWwGUekjmT4H$+BgO=OKR;=6dWXmgr`9uHhqGqYICrpO4^%Jb$E}pi+QG z<-_kmzddx=aBO4-e_(QTmB~>F4TigjzWOhZ3OhBfi!9v)`Gy*`2#&e}+z-45o(m zuUb1(o3KG0ii%mI7Mp1JbT-psGm&0Ea+uJ$K9RjS>EnbYRA!Ir2l| zQjmWY|A4?6L4jiH1o&nA%2cdWu4M7zg?!7DE#XrL)vK>6;a9APU%?{9JRD{FqPXwU zu|u0yeVPYWt695Ib6Ms&NJuLt^*^L;BUa}P8rCJ8MHDo3>(+y~3o(ODniSM>frLfL z?{cjyXLYXE0hqLn+F4@Mt|M<=PyzDSYrls4-@vsSEwS^YnOPW^YF&)%!f};kFa>jA z=g2Fb0B_Kq58J1l88}5$*+=GWZ)SRMapttl@j~;N8AT+r0qo<>CeZB0r-<6Wd1C&Q z_dovj!_!9(?r}Q%mb%#v9nOVwXHOu-$zXyfr~xJbVvp`ZbnU0lUA^`BH;<9uuuX#q zxO5@&D1L6HdFJ$;oY}3!(Z9;E%-+3V)oJRHzO)rxO0f& z9>mgHN-fUo%9YIu!DY+IWxnFYsm&#Pixev4hvcoOPZ6Jj#eH(;F59A4*Nz>#v}@6_ zQ`seFpy;SW&bsN;KS&KVEEWrOSar*IE@OuQa$(?@*GVwj=8fhB%(5uo_W@~YtjD<+Bu8sS zYyKLouGNLnWv^bhQC}NLKhE*qE7v|Op#3o-I(sBH}{mPylRz;f=pVtPA!(0G+mGvsF@zju*u0riiJJwd2;r2N4zV+N_53N z2eQC6&d|0nBifqeY45^}sBCs&Hexk)*@%&JhQbAhHov;TjGGYdWm#rXF=MADPD|#< z-`u%+!;PA5-W-!iYBHPN!+W*ceO-4_F~koMso zXfG4e-0J$u9=EBw+OI7-Rd_ZhJliX3uBrXmqFKq#i6@rgWb0O>lu6=<@NIuoYyS(# znxasvZU(gt4nm$508dU(S&e|oRgk8ZtKiS6AMN2RS*D~fjdhX2#o@~f6)XaFy>gZ9 z(63|LR&Cn1ZPBK8gBs)}VE>e8WM9}d&TEo#SgUsZ2B=itMynO<{EJmKGy9|g-Sz_{ zo3GGe5^_R!eFh?%A(?X?h)tZb&8AJ}&KLGiyQL=8l);+C*ug5YZ_d1Q<;Lw#2uk?) zwp{B%x~5BYMuz>GCo{=GIqe3ztKK504C(6QCr`iop564f5ANS3VFBAV!WEe53lQzn zj2}I29`mPSQ+{QDKPvS6r(bFH>Nj71@$sE2m(JkaKCq8H7*V6UEbZrFN4?Y7;go$C zz%;h|!fRtwlnz+@pgU7x2#8!s-ATa&wbnMgUTSl$t=nGX*V>qC!+LX_w}gN$U%6)e zmR+p%j%1#*&K5m~poYdDE7?JqH43~&utCPEe6Re}Zmmt1#3PVvt`&Zbx3vy^R(O~i z?i%4GDGgGR73S~-YN0Q$3#Jp|CQU@WMokW-$(Dtg@Y#i1wPs`1S$x{PhYiD`JthMC zOIb~%>6RKyOAjqS1Ur2FFT_r+SkLje8ml1mtzjOrD`UlN4%EwSTc}P|mK7Xf$6c7! z5vbS@m-sU$5SR26tJy1r=vHF`Sz0zHf#jU0!Cnkv8bV!;hDe~0oYu)E0ZD=mWw{NJ z&Z7HgsmB4TYA!a~!B*`yHG=|ycr7l{*9@#ysba-)<;qv|uUerr+pv=U6VFM5dMv|Gv(p9tuK*9? zX(ZZH*~)9pseF|EhmCX&#Iuf=QcQESDPAH4MZ9&+Jgd$)PK!j%jegQN3d9fN?mqYf ze0p`E)W~IE>n#ywH*S8$IZh6QkehH-r-{SGv0i2rN4Lt$oDD(0cK*_bw?2^y`+e4b z{s&aL9fC%V%4eV4xy`~GgEtm&9xF0I^Ki-Vr>-AG=yIM=B{ZquK7NQL<&BHp;c1ts*?5quzfI9s3?GdT!n%-eieL!PHF*lCjnT zi{{#b>)4E~0@Lq+>ihnheciNP$_?j|7uSUqr+x zaNSeUq-rC{EG~!mEasws=u%^+L{FeY9!mId7$PwDVM7Ol9~bxbj1f|>)evj2Q)|P_ zAr-0SwB7LIGG$Zib^pyUkFG6>Eu5CFn$x`H-w824J$CZMal^y%|CO`!6ro=x7*b783Kl8oA zg|ZtW>oeqN(uBj5iIk2GH4o5PP4Jb?)}B*auNvA?2_P?t#dj(!bvXlT4~;Fz<4a^$fWQ7 z_8$n;zEjT%kcajSCH*rrs94a{>4K-ULWUZya}p7&@f14h2kfqib?w{7PoE0EcAk1J zu|*siA!3jNe7lTP@r7GE|1P!=Jle(6~lbVWY6*^4GvFr`&*X!QfeH}fw zi&NPsWOzYsFIjHTdwa-EY@x9zdpV@)^ApFt{F($eUfR)r%<^GL>oFpBw=!-PqB3}hEp8}nPJ9YN0^DKM1{FA zTAP&cmtkcFv#A1<<512Bnsa<-GigaE+f%33lvtPW!Kgy}FiW!y$5_&hg?A{)hx!2T z&>_GwJe+$#NL_gqcs!>x93rLV%>{@N?9hm#vKwg)x59bc5Y7Y-=G3Y*lkK+&jG?^s z_8T@#)Z_?RoWK~HDCPQfVuR5P5L2=hY#76IqwKm6M-*(E|KjSM07i0&MU^JST7p;D zga4ER;m$RJP_6`2uU0KEq;7+tK(2vQ0K?@fRIE~|LOEYwxNcV8g>j7e`4%ZiDiU@3 z-Mo%UT?Y1O*P(M`P6xN|-mxA30*f_#U!T z1Tg#E_U+&AI#7N;StsejQeEaM^_OVSIMw$hCj+iuI)6$|>p*)SlU|^_mXcq&a^uz~ zV3D?*^%Z^j)5p~9ho4Gce#5-#dGS0|J5vi{siIDY>$jJ{HyGak$;ST1`7aGJC9&M9&1(UWr&nDS&?PjD_yFJA5we>ZO^DzZe zV%M*yP>ZH)P43mJR;*aLdQI6?k|n%#*9Yi!M09%P`n9W<YJ*LA z*;X+ZA~)^;=?%IFO${1x&n3Ts8IOq09979Lld`9|5S6M#*E9oW+l(VeoD?(9*eT-G zg3X@HzB$HSHr&R9>?m@AM|*0rXgnAmYf+fx4Z)}$s8x&uLAhh1ImN*d0G5u)*wvB$JTk5bqgOKGa`f9zu)>Cnkgx zl(ILA>%k-p51^dO@GS{0Bdrn0#fJKZ>oleabnAFcC-LZ*JT(!)`rOiz`@;8`Jf2Qq zP-t(iaH2SsD}KHEgboIK>+=ae`}7E*5bB98;{QccdS; z#^sg;_^6TWxz(^-%>O7{9D~J8qWTj3f@+*%4aS|c=42Rya2JKz(cWyOT6(k~-w=PO z@t)D#X!e4+TQxEoXV*vHLT4)td3NxhA^YbXWankRCStTwW$p;5V0WS$%9*8AIX~cC zz8tW|2wIFQ0tBzXX%{VC!ndHx>sz5^|DLVebZpnWQIob^+Sg-YRlgp=hLVLEQcwzU zt&rLc@P$#N>ja0qK{l|bKL7pg`utarE!!#vYU=X~Ehcdt^~yYT7B}Uki`F?$&<(b2 zTz@52(E~`)h8VAkGRis=f;N@&jCCda&_2`ZPc;Mlcx}K zUcPbb?!EgDAG6Q~*5Cc0zR&k1(ZG`VaOLv(bLJU$sp{%@u4DW-x#e+kG84s|b;tDagsZIGM?sx0!Fexnno-)8iK*%+#ek2xCQfeqf&sXg7vx`0FhN z^pL&Lezi5LUaiiNrQrj!R=ix6TihVJLNi`3!09>HnByUL0;tgj(3WMD7j;dy;m;Fu zYfH$~sV`%_G;@prjP5(y3knRY)|4sP6ATdUq)eYRps)VK&)w z3I}~AL>bWzM62#nrXAy5viTZ6Atu(0&u?cbB_vLTpdO<}dC}C;c@G?5=$cGtJJ5Yl zSlD0_P`d$mbD)RB3;+M5y$5(zW!Cq7(g+9`1T-SOB?M9+mENWImO|)70YR$L1jGW; zyL1%`y-M%B3u4EP1&lf~&-ok@cFx&*zrX)|0yECc_kQzS-!(%(q=XsPy4U)*)!#07 zu>Ji#1N^;pPoOj_Z+359ZH95Ro>61Qa=P1(bv$k2^MOxd)U(_j;ZcUA8Z-!|yH6jw z2;=rZvE5HUHEaZ9hv2=@qsQ`RRc?%ltr({{1zjF;dH0!69Xxs3G1?Vz)RL>XL@1h% z%-(_Q2lS@^X~00TtxQ_`*}W^dyFarNI9Gg~#;!Jb-9>_Y(CF&xXq%30Z|Qn(UV za)}qMRKcl~P_}$UtR1DP;&Nq5M?4%6@p$>ii-r|{G`m-)R;@a;ZTe(#YWog#qZ3FA z#>~x=OgTS6IcvmD!|+w79*6zvh+hhf+yB4H**az&@gB}OVC}!Pk3fg_!@=`FWlrLEl$@$?=&b@77_Kfg&DS`h(ZA6_|g?BKp2 z#4UTnFnKa7`}Y++a_so23)esY`m3+M``*6g-cA8F`}V6ZKc(^xv)8%ygqm0(0+z|Bq8?3Fm&Y9sJl5t3Bcxn2i|MRKyx|R;awLQ zSgK{wde_j=u+WBvc256Sz6%ir{rd|Rp)Bs?+)36H-sk5+Cm=cDZ*-X6+X)kRvo_z4ySBjzDkqOJ?6P7(_e%>p7`AO zv15ikMO>ks9g@XE>U6cTWSMfZ!ZUjl=*`yb30Y9EXFC?#w%MbxZO6I4g2_8Mmswr0tIXkv#<&dzc#l6+Xo^||)qT`^*pl+( zetk1FQ&9&FMjk$bRE)REM3R9DQ+Ngsw|C#&B{Dit;Lgs{FvW)sU%2!E7OtBbk-sFl z@KTd2m(K85i;M;yXD{Xw?{QL&E`7w6AULgWb8_z7{_)l~Uw`)5r=N1?>l%*k(M4l%e?ySnLoqOP<@uTcNz-M(xQ4FLMO2U5mC?b&Eyq?acP%&29WUJ;j*d`?^ z_;7J>u4BEmPBBSb?0FNQ3m@11`=+y07LoiV`HRC;)$`}E zN>kLtE>YATKxj_;%;cWW3?2ADU1G}GK~!Q*zQ-CJDk<3*XMCtBOx3lPOm~#^EOlL= zGKGmAW<70QU4$8Z*7$ z<0oJe9XER9h~Yy9_0PtD**zma)5ptfQ#+0kZWWj`G96xP9`C-k(D7`4pD$8)Ge@IGke>e z%opGUW2pPaj|gH zMEh5-=2UPhy5-$+DZt;At5q+{{Vrv&L`Ig3z}i)|Vv*tzVKF^BckLkC%#$taHEPj3 zHMSNZ-~|P(bJ>_f>JYpH2u>kV+q~cZUeMej`rjAyaqki9&_4K4tf=Tr?x5qzQ1bw?Bfs1T5*~ISTgEFFEn^{kNrVegD$Di*|(m(ykj|C3D`Nj2XoVg{X37YzZxbeVmqnDef zTj_4)6|VOF`$t%Exwm%(YK(lgLkFm7j@ED8R#bT{BBU{I7=1U9-f!J|P}Po#@Xg{I zl%&XyBai8gb?f}dL_A#eB$;KZUscB-_Y|W9m5k zsW!ijJ){t18ngNv2uD}xt}b5_M;q~ko=?#s?g1<&^M zFrZ=pa1gTx1@4_BoUEuyk~fQwgqM!XH6~7L3?WRyg$W~e@L|GQ4_6Jq3Hcw?w)|lb zTh16CzD#~8mUN(Wq2uZhz-kUZlRz%(b-bJ;cHJiY_A7rSAJPnk^A}wjQ>c`G- zGat$BL**L!+C1TG+4|Ztp}yJ z2JmD4Izs?6G5 zzFfJ-A1hml6ehBlN=NdvKmJ&WQVi>5N)!z)9NVE6M(oyDY9I%?cCH&8Tc@^NH-sI# z&SQKL23|Wcr7n1QYJDd4+KEYt_sq7fcN|-G!As7;!8kN!Mn(2tzU0TPW8R}V2dx9Q z_H*2aa~}3y50kaKzmOhs9x?kYF(wq4LAXVO;UbfyG*I;Ru2Pbo>;N0zEv+}ly##nw zL+W|^$M0@_a{26u12SWod7DX`utn}|oWJ3DgPd|YG<8eNJ9-|mM zn9k~+s-&&TyL%a+W4M=V2;zdhVtVUP1dL8$} zbRI##1JTC&M7U|%U(2X(a~42mPimYBS7jp_llt7)wVlNnwdXr?Y;Jg2a{_V2)-2N1 z^oaAI+bm6`g&i?0whHP@XV!*DZq_Uu<@zw`>ev`Npar}470s~hf} z*?bHQj1pJD>ksOTC_G$nzbJ1kB!bXD_-G`?^Xbr&{PZNh!dZaQBp!7-3o^GE(}UZz z0xEY}TAUYfo4HNBs_RBxbIR{70v6(k$R@uFSnjQjO)U0St(+L_BDJg2o~h^iWHxs5lz*Pi6|E$O{-37vf30csBJO^)WsqBYq!%NT(8MPK5uc;lcsy+m zcM!&~+aDy!h~ zMu*X-96Bjx?6c3|u5NMao-d35s8T-0TyjNWs`puL6NC)Nx39d(Q`KT_==4B?I7igm zIUFSi_J!laR0!He=iN{Qr0>2f(^g(Vo#(Ifpby0iy6$0y^$h{(n9+4Rt1ZbpS6QpQ zD}1WT6+U+8DD2!zmy^=HXz7a8Yd5^RW#_)bM~@%H*lqHp^pdMntdr4G@=(3x5~}>e zz|H1OrTdoJORUABv=wh`%~8UNJKN$2h#vDmr6XYxXgy%-fg#XG4- z+@Na%?0!yGs4BkCgSxl-0=i{{Qrke`*@P$bPNT*LOA;z^Iyn8TS24!D`r7QdiTdrHU4+(~AJP=48aRY1jJ6 z7MUIE)v6I!8@{T9$xWe%Q;?t~Cf03~vc`3)epV@|$mexkEkQ`u5w;z_L#qJ#>grR8%KC=CDZTFJ8K&(*gt| z*|$sne2d5W^Uv^pV)?pHVh1Dq^6e{Z%6JDday+KHA~d73IviqxIH%7o{P3Xz@3RPR zwBPmP@wmG|x>2_52j}n%NRHx@#T(TpaZ1IoiM}V3#@f|}e7?I{s&5~n5*G|C1QMIO z*dfbdv;B*!ELpmA;o@a0*S+=jy971xo1Q*JJK86M*gJ2(xnAk0O!xEyo24D@TGSbA zmrW(ROE~JYz?~l=(#x9b!LM!O=};`9u4p?mO(9dsFQQbL=9p3@SLHchU{e;L_K$a( znglCT%}S+VW98JFjctqXK}Q<+2xsjWiU>R$3XEBvdZrer2^SO%I+#j8*!>i0?;#KO zC4?xGw-iEJGH>VUM~9D)xiV1MBZgz@=uKT`fR<+z(yQC2Z=d|WR+gI?mem`eyq|{Q zP@Z$KSK)fx`9Z+tcBW*XSggA_y&7V-PES{#kQSNw}De9)O?SXWY-2ki?d^M zFqj}Vi@O`|BzP3sXo{M0)|;IA=T})?(VEjB!nM6d*#E= zzP|O#@7_QD`2E*AKfs6GIC+9%;3Bn66K@Ggw_`x~+ldH-GDGw1!Zq0S6Y=_F$ z9T68q&B3yL_r?1qZBkBAmCCaf%;tG-!aXKv8~n^NwHc^U=NT^|6kAw1f9-8;(PKS& z!g-x-)kMxwZNcpk8gubo zXtOpUMozCH1Qumxl0ep5?=_EMVX9S=b~*{9PPWmmWO_2}bWbl&y3HHzQ2!x)vN2`$ za??pC`$%eYL&~EEmyu` zm8htgm>S#;q0FmR!jy$pyu2=llzOCO1*}>Tg-cdV%IevyYnSF7TeND^mV=^gIya1~ zl|ZgT?W80i`m{&@a<=KDlzN0Fr2({Y{fGOxgp-;QcjJ5yN<5bmcmLNV?mgkvF#e## zRou>gDbRcrdPUG9Q{obu@Q|NJQbKMLZx@f3-f{DOZ!IQRYdhQ&(yy(M-Qiod8jIKN z4p^ACZIi|E{I#3k|MKf^cXEFFJqLLFhi^Wxl0e_yXcclCm+=+`R_k+6q%-;)Qcpu_`06M|TlvS}}TeL3?u-(0d(tM{UX z+~1hbaL(vBf8o+q>o;(|`{+?Xz@vxv^80Ok&ygd9>0B?lrgC>#p@21W>EB?*I6=a4 zY0YKLq|kGTITa^nCi3ZIqs_cu>fXuh+T(o_IFlRTyR8WYcp5BNfXiYK2U?=qhnZs} z5@70qrliFP7ZkkvY$zP|NWPaALCN#)%}+vj4rq=N8~cazRM3Ed&fpSA&%nue!v_yB zFEDTMqYzbth72)?I$Q7XVUnl~8t6kB;-(kVD~+~AOF74|GmZbbcTjegA1EtC@hF9} znCDsAGgWqdaDnwhjh30wqbL7ydWLuHrt}qBgfdDql6v>;KX3>sFQdm#n2arK=F78R zo5!sp+&JsrCSNBIaQXHd>yQ9*&Ue~W*gHj3(24{Rsi#<{*^6}Co9w}ZTrd9v;U3;}_)vgIc zI@Ej7woTIFW4JgJS5Wm4Y~Lg-C8gF!P+qS=y;P@msKQzPW7WH)$o#J#_EXkL>qPEx z7d@JF!a8#AsCy(7*$UkC0r%iv=>`UA-{&QQsSE(qSrS&RU6w@b9fh zcc%MNVV<+;xSE01CtFiZ$SH3;9FzN8?gVS1cdU8j8P&~7s*fz+g-6Q;Df-#}^h3iL zY)vWyyqSUDG~`qDXj}@Ld<8QJGZ46A!_5o~>YhK!!~7txl|N8AvULs`Xb%Vz5;tV1 zHPGts4vI5^6(ule>j#fBo{r&94IPZm4d-=FjtGz@&IkZv-mkx%X=fE^XxZ!Q zFbTYarye9Fa`l?kt7roYxjZ_3>O?VbqlOQ~2pS?On?1xo^bybmqdiA_uJs>1&AmZ{ zH{gYFA@|L+(yNy(o}gD@J_+t2V2^g%TLdo~@*I4Qa|rD~-Ji4(v+De(+uUxd(Lixd zxs4&w>l+73iYYzjYQ7e(9iJ1IQ!6JH?@3J`n0s)|IG*L=gezeFtXaKMRpm1{(G{br zaiOSur7D%HMH7BrwNjbLCn}PITCPgD$jAznD_3wzR(mAkv2qm(l`a_)QnjTpk#6m| zXZU2>wokU{)ViUDg4%QmT->nWkr>K!Zma=$$O%c{c3cZ&R!AiQ-A?q@zQw#^l(u}D znh_ufaGS8DBr)=%)&pit;e3lWeZD3HCfWW6k^bjSam+gEKjb^;A|cnz@Q*I>#QjUX zqOnObzCzhb+^KqXb_eZw-*3W<15pqE-YL@e>;_$fnmc;@%%u-M|N6UM7!-cXx&71c zcfS4N#+B2@P8>(;hCb&o^E_<(l~1ACzvB?nufP6sM+VZHpMG@x^2Kv!5s6csoK68~ z5ZmtG8_E)}f4}d5v;8rg=Llc-96WXsDfv-|?_I3lTe$V>*+g%^#*K7_{@|?6Tjgau zKtzM@jA&#$-5A6m*TLr3vZ`x_C%@b@ia?w2EOZum7NdMwRDSU?IJkEON1_Qlx%Yi} zQk2ZRehtS|_(_GA>ue@6xaIbWaNzufG#DJB_qznw1jEq5k&EoS<~MD^dD+jBpZB6m zc!Tp|n2`AylC49+Ig|Vo$s;GKh0~ux<8{l39bGV;t<4@8oAOWnW;iAXRnMjN_<+Qf z&A=HSG!BsreS*F~fTCIQ?NOvVXre}rDg(9JfHfcw7M!IYYiN0@oHZPDpKdT_ERhh> zt`F#gl$D3Sr~!tj)l1>^>%ZkAcEj>wAXvN)HSGTnA-aKy9k;^>8>; zn?Tv#+5Ny2q=Owc3}*2;-DV-CeJ)$pLT7>QK|Q{h|4a0L%_{y6di`~fmRYa7JY(vl z=M`!p(B3a8+|xsc!g zE7>(tq-ZZ&wnCNa#5oY_RIW;uie<@ji!4|1@rNUehZL{gTmTm?`a5>hpKt&4{WsUIUO0W!IqV)Pu4ZuZ^py`j#MXuc z@B5%zKRQ2^hob*Rr@yaU#^pw&qbwu1){bgVAa3S;May`0x$G#4YOX*SBMP2yl2HI845x4b z3%G%V&fT4FlH6omfsEH3BtM`)?o4NzJ>4_IkJv`e6?+n44>W;$6Nq`x-6Mn7D-hLr zCTN6loar2JG4pEU-Zt+z9fJPA4>2e}DEk987Xnt^y%X8#3C92F29(+cQC&kZg-H5qU=3pRbc@_ zA{1^k`}`R7E{zCw&pd+=K;3mN)Tx7sjdh+3ZrQf&{Z3#v_j0PiX__lU(2NGWsq%K# z$uS<6913BifAv7)*$!2~Kh(QefUq;!=P=oVWu3Oc@0Wv5y)pg(L~ z*^1SwR%DYXRf@RfM+%n?e<->wQPk<_Jvz5<)3$y4mQCArYnvPcZwE=2SkMN-q2ft& zWcC9>MC>6n3uG}>=&fddpGuG{0?;Vr0jms3h1Br@)@cRqn$ z<@Du`zWD0LpKs^H6qA8wOGUG_Im2a#b5ONSbzPLKp{0DZ|@8 zAeiF+A2w?fO^%=)7fV)%I)KwR3g|$%og}OJm6*kqr__&Wo2kA}UsivR{odKKfCB8N zM+h^#KNzU$X#m}WK?R)dvX()nbq(#-)%|>SW10$vVz$agcarmNP9k|VqM5JrvtQUqts}-joaFNGN>iWc~3K| zmGz_tb0&ihqi6o zw{706W0xj1sss@INNynEYBM)cQs@J<5$L7S3exOko4Nm#!3)TtLi?LXm%>n+C^{gp z3*2N2aKvShQWYv;Zn9+xKSxNx$#5Q1u=Ya-{Z!^ZcLD!?XCH7O)E=bT;R5N~)eo-W zRylXZgu#H!V_Sp8ziGgM5N++w?vPz_t)i@VcT_M}ln!40fUJn`e!lZFU_XuE=8fxD zE^to;!^_D;d^5m=Sk%A#28a4z|N6JT{Qecs{U?N1@Z>9m;;ebhfd<|exCkie><$yk zxP1o)i$Nv*U=+^5;=K0z_HCyH=+3DGI`4Si_Uioi`g`;M_svJCd`*@N{Ohy^z`AP* za8T4Bsx9aNemM5%Mf2zJSBt-L#7-<;x?;^+?`{H%IIPEB$iLKk><-H%i(lz6xy*>~ zlrh23FYupZhYNiRLS%li;pkm3LA#*x@4b}&qGtv{%roRsMSWwc-=X&No}=!^SmW;@ zuETKsj6Nz_-5nB4B%<@Qhl58!q%zPBoDp}?;s_d)3MY)pAB$6DJmKk({D^X%g~m5s z1EHN_R{|dm$;}(z$I6CN@8k3)se!Lcv*Y*e&m^GSMeu+T$ksWcIO4J4#6nR~EC53O zwc(q0+%Zpl(Sq?GGmG3YVeAO#cck8tO27zMwv_!8A*B? zK7!i~Qx0(+tJS`h-I7c87Rf6=n#M0P9<(S=H9RVgi5=ppBEXmRS4 z@nfDD(!V#@B)_H52P?C<-g-cZ{)Vn7zz6d|39X*;q`O@`dg>wX3+d)!n+~7=!(Soa&r5izD|bHYS>+R?53lm1BNPP_27t=o6)P`5@*pu)?L zH<6fDFBRoo3h#4b9c}x3i|7eE>2D7z9A$qUuA^gJy=6k$Oi)IODqPnNoz(C&eo9@H z_*oVC-Bb2SM*QQ}DfdJeV>60%n+YG??O{U$9`NqB_6dQv_l2v}sr3WSp0en5j-5Dr z;qtW)35k$R^$faL(fo+<{5x%4d@mKB$E;t0;eI>ByV6^wmPItXZRfrtr!Rl{B}a;X zy5r=OLvHugXXG{FJ0ZaB_{l?uj+{Jy?W51X`|?1QejLpTE7~e-OnwZ{)4_GBZNX zfev!9h_4I3LAkHv**C%(_d&5cOM|I#(iInY<~!`^l@<^bF?-(PzaV)2Jc4B0IUzjtvmEe1KcjsfqrHEo zGvn{mt!cJAVH58@&rWY_ZGo*`sW4nQFoV4Vd|yH?uVK=*U}=Ts9;s=bomc#RAgUR- zAKhIrvpts*CfK9%pAEw2EefCQo-SeD_%P)<3}w-``cm$YbN;?}F`et3uE4WsT;?iv zsvVIl(p^E0TtDFXbb5#BS?|@0P(((0oA=r7UD|vX6;4(6=uUy(ukS8SSGSwn-O~dc zKHbhP)~8=zc7~^jj~Fw4x&sL6zEX1T98gmp?^kEN%DX;$HZ|{`?aoLcQgYUuxir}2 zfH1QABZyqOWd594>fo-!{}zG`)%8XqnF*b|j1 zmo8R9m0r7Jzn-1C_3GNSGjl~dt~s~s*tStzRGdb6jr4)7zL>;#xYc3*Qd5Ebiqx;C zoW|5N9aR5Y;we5aQIj@5++#?}TYA<}-Q^Up`gir9r@5)2V1sEX);U#t?rHZF1OOF( z@1%ReJ?=Z^9{uZ|irwK=*ORRozl5>Li0}u5lSKBCbE6olxvN*GR4iiqWQiqJ3jBY& zwJosFll+dP$JtSir*`uuE})P{qg<&ypkh0Ap9A&({OemkIXM-6x&7m}UtgzroI_r# z2&)t4FI~I-G5PF2+`jX}558NG)I1OU#~)piZSEA~0LD2r8F$|!V*TL}dFBPRk%Pe- zUwEei-mt#CH20qTgQ|hNThiK%nzx(dF=C6 zc$Zm=ttI}YIN6sHYD(?bm>XdG7cFM-T()xkI~%$9gdl0(z8%{(ajRv`YG%&WD_3&n zdqvQ4v^-(L{FW`vTk`h>ev)Q_^wvAG{k-$J&;Ty@p6A5}iEz`b>Hf)T0J$`PoN;=k zDQEaQQ_kkS=eXH3#5N+d4Sr_K7~g1l)!orLV(tOU<2r*H0BH`G)e-0ER|qvzxus)B zR6S-j4fnxAhT)Nw@f()h>X(}xs<*M9HNfA;2Ww7!N8j%N0DcAl;ORHw8=idwtpNwf z3Y(?FgVYr~eotZSO!j(V?JPH)*tQ;MU%Q)|guX6p(Op7m4c)stnL!!YZ_0r4q5K^( z6o7B?lxfpvzW5S8_c`1ZJ$K71#;v^s$+71jfbi-Xq4X!)zZ@ zy*jL5rHYlJQ1QjaRIkF<35ax~%a(b(ETVv_<(_y9l)pmxvX2xi5mBN{G@oAAElg+7px(drgA@0T+rWIz3D0ro*q@(&JMj1i)IUDtK#>?sc0+@6 zAMnDJYaiaY!G)x&m(a=odpGbfgBRVgi$F(Vd^>hA5hSvmZy~1*L!3tTeMiq+zJBv- z9{bybvvTP0(`%P6(h-gxIdSqVE$2Gd8ViJQ;` zGYhO*>BDN{E(?>De)+PzrGG3Spm{;4hJK^W_3@WH_m$9>UwUaKCORYNLz&AYV9hA> z0;C{;Q}!fR4PiV~pmukPUTI5|wch<_%9))T{tpt6=b5R%aCNN7W97Tkj|Jj4XIdn? z#eQc-g9tfqv=Z=x%-#-o5Lo*S>?gn<4G=X?LWC;a>StvaF^fB^bN~Lneqzxfb7KxUs9 zA6FyVXb6bGNUmM8dR1t`>M^vG8kNgcC|AC6boB~l$~+$VMCHn5A1(D*na7GeTqkot zuO1m0-8*n)vQ4`V?OL~N)45$*%~%dS7;{dY+6C+Y4I{N~S~Ag9*llYk@$LWIJ#-XV z6UF^G;$ORmn`)cxQBU3Dymiid#(P?#0_zyN!%5j|&pM10?lI3%=ZJMQ80cGkfqTRy zYK|M{M{=>}%6@MVOnGnbWBZAZ<#_V-4?p_k(@#J77>nI`9C`a3xPs!lbr5RT&TU)S z7AT==I|hJ%nh{E!9Kwn%<=aQuP` zFA9MdKZvH^dE3KK;o%IEsDW@ZOu!SWpIGa>s}TbsI`YU;i?r9X+`Ga;Szs@fiqN+J zk?$g#%jfRGxcLi~tX%u%=54tD&0W_`pa=XqtCpiTTCfn*a3#d|;-%b(TDD}-!f?$X z^Z6Ind>>>O0UCxk)INbL_a#@Z+*chlTv#vZWV&xUCtqGrH8@k9DXtkYoaf2N!F3Mu zk2lB1pnzCtOoZA&AaphmW~cafO&5ExZtyF!22y_j2Ii2bh-}r7Mlptb$r~K- zzDeZC7CS=2dLL4aIO(C;L3m91*QD@-c&Q9l)Q>PB?+h@`cD(d~F zK?nmBaDdi;M$nDdymOZ>`j*|@?)Feut~@EgkhpiR<2yUa6a8(#4C`i8Z~Rd z^OH#zSF1*qN-@O z|3f!$_BTFwh{MIF&Rpe`qulv~V|{lMd%%VBr?qDsCi(W-M<|PLe)X*h&$@Gme2#B! zeh#rfhV}V#?#Ut=J`Nv}+}U|QXb=014SQ&B^Ux67tu+BL)ti_sG}8!J;PTU3Z>TdM z9eBrRh}9?Fcms&xK|_%H7QMfJwRicyw*vpX>cX)3+sCrYk%)IU>cI3igv;yKt$LlU zcgZ?r?#v}VrNJ)^5e;E4u;%B%7kcJ7h=^Tw3seJe2ih!D{EkVoBx#!B_fh=zWOvft ziNOBjP0ke!K<7~1XRXmXs_by$g_wB33EDdhRiJBcnDyC2?v55m@X&Bj10x$o87!4R z;3HZAQECoz0$@Tv{t1dbua76wZ_t4NV^CbXIjJ_r?l*KuG3^*K*P9{3?iY@uAiZa| zE+j-2?%p$fCvgh35-`7M|w+kr6j z>`=nfS&DYr^-bgR6 zt{!!Xh6%$ON6rqe0bB*l0rLA44)|Kp&PZCT<41fPX!Y|@FvkT z{5zQe&5w2fyI)y?>G})+HxSMUJ@K?IHw^5X(JLdpr&s`9Z8U(0fdn8h>QhXf zE_UbOPF!iwxpMY%o11Q>SdLlXGcs`yV#t?};Ta|w_l4kT)2HW8)5woRit~1UuG{#g zxi1t$J`JKUb?P*J0Me<1iIb*ILqRlK(u_qQ2lM9Yy7LQD^sEarK%UHJ)J;!12P8YR zx4TFu93E&u9Xl$jmKVK~(=oVHM}$E|I_gflXoA+tsrF$D5@_Hy&*j1sut7twkpl3j z%WspEBaE)#G55xDbWH^w6AdsBkDn)j{Eezm1JPBZY9=Hm#8i!|Q7tNtS6H6jYRvzv z0Ts(TR=42ed+!?F8QJfw+syYw?tZ|xOLn_?19Pr1RGhPTi2}@Qa3F% z)w*b1@SgLYHEN&}O!CJZbj0pS_mq1&^a2-38KT`&VSx7<`T5uGanA|ou+2Mf5#S*w zKSTdsYo8+*Ki2uGlJ4?M6GDIEBW8avz8g2r2M)RF0vwOuZjQ5CyI~Om6~EKB%eS9l zf7cVcX$bod@Vb+|^VLm-%U`{G{@fL=J&{EB5Qo%1l-2hKF$=+WZvX7u4*3a2vE0WW zaY>F4J!uBSW{M3ojG%9k)d=T_^+m^Vkqf>C62WD%!wUdGlYgXL@+zB?YoY5x(H6@~1N4PqvT*f%)^m zgBIvf*RakAFHfJ%tnZRRZ;j03iI+=Ahnt=8Uj8lpKs|u!cSnW`U66#p4p{yueuv`M z`|gS?$fo=W&C#oVuOCBqmItnlkezH1{7yz;pf=C|mi%xAb!r?x)sre!9en2?Xd( zrow09+k3$w59YqJ=vLlav&6p@2 z_tca+aU^bGB#2L~QKbUb0$B{6DEU~qG9^kTwC>QO|A6$~nLVlfE?pVqTet4ev3--I znlXv>>n4ie3xn~8BZ#PzS}!fJc5=P?gz6y*NJIw2C1+ovaKcMkGbs0hKza#)`JP+J zx03Is*r{%vFa`pC8NNHssT*4F-|OE7D0Gg7n&;j*Lw4Rd_k0+3TF^KU#N)xo4j=yG zPgU>k4&f=sWfUbk0WyISK7jk@%$2LxZhZ3jO`-fB!}y;g81DeU{vPk{oE>)=y4{^V zN|Qx@S0#W#oQJ!2p*K2Al;)-DAKv&#umLgk*E#ff{(^nJBuCzFu;??@|8(nz+qZxI z;k$1t8rR?rPD)*1A~}BS7?NVyk@xA>17Fx#Q1jbDsL9Q_n;wQh*hcqZv^SJtK5IUi zmTwtn@Om%Yo)3nAOO8C&)@o~|9(-G28;gC5h}&SR_rnq@u6FKRR&^-DxfOAr&tJT9 z%^UB$r%TW~cM@Z;S?<6$-&l)WZN=-sz)?m9h+W9xXpB2Qf1b}g`O*hT2}m}*kp;2g z&$J6_-$U)&Z1kkwQv2>?Yobf-`>1`FcU@?q7Ih;K!XShf5T&s7OfI$WQ#Vk5keq-? zK$s$5Q~fvtP5iSwzIyd>0`TVNQt%XhZ!Gp8e$eJv^NFs4De&~k&&K2j4HysvW!nH{ zo?cF$a!mIM=X&N@P{z?CpFt@wKw&+y`m?-?afkUY!bY!En$ykHeEYBt+U9l1wWr(5 z!&>e3dOS1BkP!oi%7VZbB5^080h~FLKeAfiG#~Ac;U0xl2(SJN)+8IDr1f09Ai_zL zr%rwD`N>?wnfY>H*k6bniveKf^l1~uYXBHH0D)3ZHhZUYXs3>h@cuRg@3cqZ)6Vpv z&PEJurT{j2i~@mJ9v7-GQ1#v>CS6Z^{C}!>o_oFXNCCLs91~T&3SvJ}Z)0KcV`Cr; zYSyXSAgxZV8u8UDR~Jsbjk~ z9lCaEOaCCJBZZm|;;~K*N=c3Y)=N#~s9QaPtx*Xi`6ze}x&`vK6K>Qt=)!+2`#k1) zXu`T~VwfsFEsZRXv{34vA^(zf(RXY0n~&tzz#<9pnL4&;g$~JATb#y&z|E*q;mHdA(Q}c@w|Pm2)YE5 zw0n!!Kj`P5Dw@0xjD^=>7Q`BWK`4}9e;}A(56a}A9ozle!sr1UuW&X8bNI>67~pKO zwz^xw10%qO4S$$6;9ct&ub;cxzs9qc7QnfRyMJl{0DE)U$|>O}rcUUB*Ep9XdTSy6 zw&iQy-0;qp?Enb;DS-|&1FQ`}XoNP{SssL4fHvSR3I^%3=ig)Q51ylMF;1}I%O)Hu zH0vc<004sb?k3TWkfgxZ@UujmghpEFQ|5l1WS80v(&Y+a|bOTS9w6m;h)4 zxCc9_B?LS}!u*})_kDz3qZ_~@#M9|bA)gWvj#PjEdGW>R0=3z+6B8K!Yt(S6cOtAO zIzFX-9aaKt#Ibc7G)PO}@KjVxd~!-cwX)?g3RSIKvEmbtl_?+jNQLC|uHCW+_07r# zk?7e2O=ZXSZQ69~+`4geEdD{nx=sY(h9&g(=;|%bqn_W%ho0D1@Czy8#?uOh{B3TRr4p< zwCM%P&$cKj;mT|9I9RD_Ude@+(ifV1EFA zVFL4gJninnU<@tJ;xd?xk**;yS`4wh5X;-D6|2`17qWSqy)i^i#p3V2v*8VsaRCz` zXdo0#(IPg4P-uX8v>2BL;a96cS|ll9p;@oe9$ob4Zm!^QgOu#>f8|5IOU*0j{ZGp!l1jw|qr1ocB=xjg92w9J2Hg~96J1o(`4c?PS@p$h`fl&At|j8w{T8QGwd=1-M0xS%u84Q>YDfdAMVa#IVT8K_@BIoT&okwQ-%U;}^Z z3!antC!A9t1IP$`e00DFoYN6V`BjbAFA8&`H~hIXSnrq6v#xfav0M_vz4`A)Ds}73 zrRyJk`o-7Z5&!Yc=Vb9-IDP!+e{Klwd$pzhL1Ki|5FNmt_cm@u1gP7uxNxX`R*sV- zmYl^uq;r+VL~y#ud0N(Ga`QjGS)IuJ+lmPM?%S_!lKpp`US=BEF{3uzuK*&N0$a&; z7ofni*}uiz8fw}B(7`6Ah4(!2e?7Q7KED|Zix&=6Uc7@LFpB=if6=ou~K?-ia+`e9VMS=Y$EAyUcJg|i@ga%lSoIVyXKir<8L>M*P{)M3x;SrJc3N{Qz zY6vsmGg3=}$t@TuN#KC~nEv`?_UhKv=@8nn10*57f-YknCdfbFbn2V-yOn^&V6DLoW3;XXJ{V>_4eh3tQ0klx~Ig}Zb=q}IM&lUwJ!B;Jn zB!&y}6);_lDnSl7g9ZtMfD|)kydqDB`$`1=FB;tsVMWrqa`XfPVd{K*N}dh0|sQF$4*ZNwe8fQP1_EwlB+^DLO-OTe|*q6 zA{wUF7Mf5O{Sk0rnrub?b??YSa?DIozdoWM_CGiQ? zxf~XadmxL2393GKj&SU&&XvNKFLKFUZNq;YeSwiJy2rv9{|i5JAoc{vVH6?$jb?cBCi=wN_7;0{(0dzw??o6! zQ6UCA`|Jhl(JG@|bl;L@*?AMUGNgldt+mDy@_?U!NTH>FEVdSU=jIw4K?$~u*XAu+ zhPQCdhON64G;p4BNRP6zLK7CKaX#)EdUCQ=nNE=HM8@Q0>7YLkz@`1q74< z>>J%&hecXAlTu4TL272PJynzd-zq6O#p@EjTN5rYCmsM{IMGAM+nReo!yS!mN{ z&6~H#ZywyDF(D>}8q}|ku%DUTZss<18@mnN25vpKt}scv5#O%wQn))%&@rMxiX!o!Yk5&IwXiIwHF>f{{Uqdv@wJkgwrY~X+EJ@& zwfOo8wXifel@sD)@GcR90$G{Vrdvivw=6lfh7BFi56Guym$vPiH0jWxL0o(t_KFk? z3xU9aLdo35#b_9jmW-dbUQDCK375qwd0_V4KQoKpGl%|M( z$x89iSAvo;E_!G$-nu1)VbE?GD85v`V1s&Ox&$RB{-<7Joru&1!^sOZoC}vOU%jd% z0~Ut!MG78&wj3MS!vl%w9`PK8(4f^g`||F$8nVR?VM{*y83v{AIg2qR}wYKoCGN!FBG&~5%ABjb`k7OB%%uPI(srX}J<=^Wv&%$~Po z<@ycpRMiPHvewW)tY5ow#nL4*RIFaTcAZWMF`lf@%3{y;&2txc=H)}VtK)ch9HsbG zkI^*&x(pwgOW-y0=rj%r$UMGynAOE=I^zQOJ=9;kW2}+)*izJGtTA2=_{jO>8J<6k z!+b~+{HDXWL+rtRI*mJky#&sZTL69i2o(4_+uz$w_iHD~^7a0E7KVmip{B>&)2@OQ z(TEUwRUvv9MnmYs5PDU1?+mdQFzkqxkkWMQNPRjT0W7;JyuZhz5-nw9KrCjl&=@b% z=&@rbDBh{igy$xLKhQlnX#hUq9h(PP!JkZ8tkEVjSy>I_xRrc{nQ7!m9SxGGbMzS4 z6Z-3@;-isr!f{Rn`d|#Hz=!9@qvaI3nw8$YGg`pbt)IkD&{qFxW4AA@@uzcpee7a7 zAQG!~?E>_L+rn<1*P>{X#*G>^Y}nwx>>W;O-k*C%a`QxjNjTLPs}n%6HLHVP#>7Nb ztzI)Ordm{;My;DNJWz;nsm)rqXpk6}7GJ$uY;tO{4*FH)9B0)^Wy@7@qFm1KCN^l= zzB|1`XGaGQ=-)?wqP9;qYuUPKVy!xGnWlG;l7^BQGgDG9)g7Vx+Nm@RgIq#>{4aY) za-L?AG;dvpPU)n1KvA4DjMShic&xl1Fq~X60}A6wjvP}btrOt{0+|$2`>OpxIF2Nf zJK&sv6h#Rs{j_`Bf7Brw)jDvOR^cHURa1$}=)okhcOS6jrE8zu{0h;+ZJf_P6#wex zryr6^ZX8sI9`^bTVCn+{wRicLK{Sh)c?3#?umx$H4HUZ9*e=hWzhDwrU{Fe6hlCyZ zKzhgTfBgBEoL`)r#|b?rSM6gQR23~JW|9<+1)af6B=;u~?+RN1rb~T`twl&37I^1bui0P`9Nz?su#qE$ zzA|h6k`-l_zrN;8;>)*hq2X+L=dJbczHPRbHLnAK*h|6-q>OWHdc<9NgJ+J7sxjzQ zMiD3v&`#Qd(Kfk^A-U56h^IACo(b4K))h;X289HOp@Cymu4xVC+X4YWG;v15YYxi? zx46%6xE#_I)8P(8wg|U@2MYCq+c!+o#jGsHh<{l@GX9>KORKO1XlV67gOtSFEGj;$ zH+e%^SNa%&LxM&54$XLvpnz|Rt%KxbSyAp;FJjcPd*g$`=ZK>cigL_Y`oct<5N55& zo9N?uI9^Z5Gi1}IHQ?wN>3_zAxePC2)ZRvhr$Pqre^MllRLuJ;N$!e8Re8K2sEyIl;C{gEri$JVR? z%~>4`myTtV7npJnr{7`@H+T z`~LQR@xA*GA3uE-7WAv{NI7utl$Zbci_flJ2I(M6iQNQzbf3JAf=7@%+Pk%)6tsjL z_BPN6ngY@#MACkKJ+u)A4IB2Ut=U~jfJ=_siCPTrxG73=m)vJ_uDpn;HxpK|KwAxWIO?&j{Lw9?62#(Z&**!Y6 zYyV{XHuYnoVpAQ){(O}`NQ7vQBGjjLheXOf!gg}NBTWPFen_!j{d2)bo*~E^y5PiV6Fdg7!2WRN?D_NV zmB+4vaegRtz-$n5C*f;6s{Vi{0tw`yT%?A7qw=lytvwO%4e;i5GU%7hq zgAY{wAMiPS`|WqPej<<2zEk7&Pe0uH@rQ4}{`|%Vm$)gaL0~UL$9BXCyLB&RKMD!) zpql|T&HL|eG6xStNRXQFUfxFM9p`ObFv@+ip#Gsi?UgoqDBlWeDWPag0`3Cx59e8P zEkj(ouN5YR^>|hk@R;^G1tHh6r`v5wo7GOy(xXlK97OG zpPt+6US>X{LMSzkxG|$>pysutd4m4X&dYjHTF~P5Dt}M zs31KD+5t&67Co-4<}Y`{`7^$@JkY{W)_br<)7D0#L-e^F>hyf@7lS2>lRHL zH)Sc%Mqt;s>)B0%nl-l(I_X+TP&2xM)68yRxAZX&xJ`V`q-wU)Kph|x9C||DgP!26 zQv@}0TrC`uHKLs=LDi#uF;!~CCDg3js!h{+^_w)TpO%u=qxW#MY?as9|DM z<>&;brdunyM%4<{l!ZcKLYkm9KJ`6 z%3l<$KtiJPeuR10%}kHiX#e4(;pZ-V@bS&>e*D?VDQ3HazLYoJd*s}!-v3Bsr@3%>YJs#*s{ghoX;HKqxLyE`W_jp8(qjx zm-9y6^_Hf9)puX_t@vYEAS8)AG;4u1@9tcCUYKh5)mNQag<#v&1FCU>1DXDGdG%hK zziidob#J~4smdgvgM`Q-?`NlQc957A+>(aoQ~-lL*F*K^n;=yH2)@=R-~%won;{7_ zRYLXqpV!c9V{;O{>5h|qlG>*W2&nuUgF#>)P=-pFxCtHUg3S!Hfv3WSNXn?ByFTEN zB%*Mc06Np|Er^i2zkU1O=QN#6f3MthE5pxZZz&RiuD~U2w9pI=dh;0%pc}e*;4IzF z#oM+++rU1~CXk+~bpy8JaU79wocggn)j8M~03N^`vH(k;33(Q^gNbedDR9wv*+jy4 zSr1GjfUA{R!#}zZ-0Voq6tpqPHu(}RRJDKqLEJ>*_P7~o1`yAR1500g;2#nEDam>s z%#}l?YhVUvT#V^DlO|1k4rF)SXhM?)_cwS)mk#U4V^}XSsn~@&|E?Y z!ctq>Px_kJO?}PHju0RT5 zx_SNN)OyY8r#5QSxqXY2G^mT3Ne!CRO^At#ijFp$MAZsqtFTQ}j*8>zAZTRsZdrYC zw6oSZLyGs$?m?<+_cnDC67W1~0tiY3OmtEUrxoA>XdECwSqoALOHDJ?4uWVKhj+nZ zaDPTfxsgU^tDBn^Oi%F92fg)OVXXRjUU2+b%JHpfgSJ8YpoIj+a@t9bxf$+^3K~h6vJx3cSHK17qv!-Ql6)+nkpgqG zo!-G&ia+vY`B^Op8RL8W8EP2j=!rNBAO#i-8#W&a{bhxTL<*z-<`TsA1#AO`1Sb zP*8vhO&}{6C`41Z4Se-{S}+(RZWpu+AO>6%q$|a^(QdWg8mDBC`Y%0vS(rUtWAh_Q@-PpGHZB!daiHBeP)^GMPf)oa9`evHu~AD7vI8F+{v+jEBxzkcW&Lh!7A{tjU$)DRBL>~DqS|~UIFZ9#&?q>;Fo>$sTTQzVCt>vqEnqsM&DR8}1inW6B+WI1r=D#=5(ba} zW3(7I!g~^&Mh}7Yw3s^lOdpYam%gWWUxs<*u`x~vckJbBXSXfgrk#iYno1YcRvCsy z?I#(=fMD#GPNqWIm_H)PTFCA*aPZRuhCV%V3}Pq(;JIKtMt7Jef=N7Yjp4L2tfw<3 z6mEj*f3}$U8un8u^OBDZ55qypDq^dD4Dt=o?I_Oxe}ADXLH+ti1O!{zeKIq9!PWNW zJ`2gvf>RyoGO`lUj4B{TH&~HoNX#{1JT&WbR3d`N@(4VpA>)FHD+ ziei`O)40SG&aSDaDC5ClGa-Qu-3E*Wnr&E0+Dcme`b;F^EdTqq;?(ySv=vW^x2~J= zsG&R?YN!FLOkyKSg8{AY{oMV?x#4{1@+J4Wd(HX4x$0hVE<2Z8gcXh^m5a)S!p2F? zYq+`Rbmi&?)+Z72Q-NI`r-lu}VG-is9tn|s!U4Z@_n91c#uM*uYkw8AoSbGmb@me) z0TGUD7{C7h>us*6escNLu|xaz?BBOffJ`1P&$)C5GH#Fp1*!r48OU&@(V#`*J;%a<8(YIdt|30H{@y-r zMlemqXLMFZ$xYmGm}pPUB7!O0ER8KHMJqEei#v;b`u6FYnaQQ%&JsAf9gPH`eR;FV zkd4||7)JLDk{h|64uV1|Jk&|W^bF!$dSzq}g`gNr)YHW0x!c6GbY;#UvV2bXjCAMx zLD*r;d_s8bD5{iBMVF1Lqq8rGb!#T25A8QlU2hDIyitg?P@Z=0S-$~C-vK!5g_%-Mw9>+*>HI&G zy$5`j_4)t%5E23krT$w>Ykw`aRZ-axviDv*8Av^bQOT3G(+12r>dp zKbP-MdNjGB<6YY9t)&mA?->*u%TJG4SiIUx=EL9r3FNNj>m~N@z(B5F1^p^ezNp@t z&`}^!0z9BooR=Ku)j78YmFiRKqzgb%Uz>o6^$RemKGaYQ6-SRkL!KbqtXHHEXn z4vQQ-K%qN`Qhz_AfsSHG>7=4z*11!59s!kRL^PRJ_8r&(J9_-|g-iDyRDS=%_up1l zaJ!ZI*Au7~3?#L;CdB4|Y9X75`m~;)z<+>>0&C1|T%<6$NI{>&mKU~e!zPX$6q!UP z$%M8&f92{;(98YZi&6-2`3zeb4ldmTQ5zOzni6Q)Lf52;Qd-UUV#r?ezUO)dn6<{L zTB{cB@27yGmi+V!Kw)&5W6YJB7Oa@F<~~IgtPlts8dsVMEi#9b5{uqlxsJW&!}sx= zzrSwP3bq@a6?Ma}O6h|&%Qe%SQR~IfR0z3HzJ$qsgJg<>Lc&o9rM$U-7xWPk7KUqR z84d%;YdPFV?f3$v;27l|X)?Ol4y00!+7@PMYg0*Z)W#Ch@R{`ST+anjuBz7SlL;1 zh_eVmLacp=V2Pwzu$}d_5Ol4WI>=_WKanWbw$*Kt1ww`lrI@A)&h{khctF;59%LP`?_u0v~S1BmbQ-egI@g0UnqEK z{(9?XP5*}D>Lvf^l&(pUp`js>(Gj81sRbF)0bx;rZ9$SwA(Ab9`PJ4P{5!OH{q>jr z)~sdozx@8y)>;DfZ5J4yi#R-lp>5cpK?C|17UgzN&q|F4ON2WW_@Gp>eS5Hk9fu$I z2YU0(2m1L11pjYX;_$2XceCDT=m?M?oWB+5CD7sL%MZwq)(BVPSBD0Q%f==1f&xIS zvyWve0YKzUK*WMKsr*V;$B4_~FgY`7V;UVsS~+s;_%|odU$}7bqPpaLhQe7W)uZY& z50;DS{pK!nH}$l;tlbvf^v-S0t@tdqI~X_A)>k1okX8;+BhR_X`ww9}AxrMxA#Hk+ zb!Q)Ca2TYvZr!=lwavZ7gMk6UgqjI%S&{u#6hUE~LU6S{4byVyC&HYd#%^aUIrur2 zc9yfF$G$mn=K8IBl|MND`O`oC{=>KTZ(hB4?(~Uck~S5Uh=MwROl|i7JM4NqwbA{N z`vW)NfnyvN)gi>ly2rRGtW|mnS)sU4=~!+OB>C4<@K`7ZW{tO;bJYxwnX_?GnRA^u zsmPiNbg-mAjL!Vcw3&<~WXw0h2yfo>!TT&$Yt7Y-0gfdsI}3EzyzZYBr~!m#xi#p3 z7<>hxRUK2LQK4p>0y*T(EfI<__`wA^hW#`g$bd){H`Wg$Ot?tuR1xINl#w?24dw*iw_}5wMjQg}YRddohVIjy?9@qUd ztS$zerTfrx2S2k-oLHf#hB$xW;w5#t0WM6uoY0~;$IXKVn@gQtyXB0P_^}>ClC=AD z%YnVSwoBrKNcz4*v{_!feB%yPGWWSj0jqlc%rWX@_Uu3y0ZhbP@u>+P3&Hw{b4#`K z%45AypLl{Do52o=hP*)GtyIJ63FGi#Oq_VpPn@|V!-c}M+2n_BA3nHq_2T)Hd}p6y z$l}}E$AxRYJ8QeQJz>b#GB-J}U(i7VP+04&4PJV4S)L1YY%d(PO4eCPqDlT9kQ zWH4fY4B4h=GSD9^F3=xbc0)uFCIQ?)lC1$j>N09%n_|w8Vi_`8q&nlwc$FYMZNJid z2u9B2jw$%YGya^z#!$@0!KH~(Se~*;6UL4l(yv#~K?9Ik`;b1>moykK>hk>$b_>^` zYj*y@87^}`T^{ScWa9>!{kv#uJ8(KX}6cQtnmF!pYI7MzZjEl z&T$c#E)lCb=k&}^3J8pjXx}C@u~VE6>r9Jg&HV#>+r0Kl^VSqrzxLvbEd#}Z*|v2X zpQ!vHg9nZ((;nB6L;Lk9D9p{u$&77dYbK(@ioJp%gB?Ra!{0lYkG_6^3>mVHNKuXW zvq+=TP$50mXZW6FP!igtzW(PyY6Pl)f3T}qesyJClL^BLaD$dIQ}NR zq}%rE4H}!*HRyw)315c-tmv_D?_kZcCNEjpf)>!=@trcG7r-?6WnDU+1>Q zo}KJL@V~OHAR1k~cthNs4<9|cFO`-zZ``=V%<(ntHU|%iG{fFx+r_rjwpvN26;y~u zllt%1vLI_+>#X(0Y8gMwHP&h`ad@s+ZmuwwEAZr}U*gGI#+$|)F47_{bQE0NXfy_? z5#|ptrS6RBQ>Um&zon0L#=Lh{uEjgDanmNO;KH>qf4oa~yA)c97$a&hnDmrrg=|H} z)nMYloKp$v(2NhNZ?KND1LCWZ16#l!eGRKL=%ah64qCgh%?2IG;ied}_ zQrKXu?jAx^%FBJa&YyOrG>Vl)CAw*^aYK=KGmWHlMXzZ_#tW`BD~I6vkkMl)rJFKo zTp8u{kPy9Pkq`_NCyIcFZCG^V+bo?V_>q>Agvfo>~bgj*MTmzl4)yi1N& zJ{32+W%-=UQqicAp=B<2MH)|Ch;)lB1yjA=5 zufO%+Qjh_#*ZC6gy?NfWw=7Gu){*LG1qt#V$A>IYc}7#tr$kC7Eq=Crozzm3-Carp|^65 z-|Sh_r_y_k9fYR$sWWEJnZNkG_sQ{!C0#mrFrMQH(Z?UqX_!~EqB~n7h{evso9sTQ zxk}O_6R?T%UUKh}YZdMTVs*4N$|@C8h$Z(mh9O~$uygPZ4(&b`?7(WxhQn}Tju10B zHB!{*Yx3hi_85=e(ur4vYGa4hggzk0%G0NEj6C^~P_25K$@bRMKhyy;iadVlZjpF# zj@D#)WTmIOGEL?cJ(R$z8p+N?hjdFY2Rx4l3xy_)riaX2>Byw?hDfR^d!d|;d?YOz zt49tcMv8k}%dd9)OrHx7vIEfb)M;CHpWo7#2hcD+6c@`3A(jvZk31{KC8$9&@4q1g zV;g7(>+!g|pq?XLb*J7k#nqMXDMfnu%r3ves)lWa5edwcq<)c90yakHAz+uAD}ngL zxEQ=3-VvceJYMbExqPG=R{8(@z=_Cf_=6q7c(k)xc`1;B>BvEBep#6X8KG^cy_9c9zA15a82%bVz>c7L zK>$KvP|y?jU-Vh188MAkU=Qvjv|>Y@3N6AxO@7W(Kx(JC*WBgFgtCuLKtG`6uV730@gM)Hs`{35z7^N6 zTs(X7_))f;y&CY4kiZt5PXk!AP{WreQg3}|d|+*GK#NqN1QUFfH%Jk&niGEoSN{16 zTyf5KEL2o))h;$bfi>;%4Cs()F0qQw((BGFYx*m*W=@${UN&aT$T1UUP{Q}#1{qH{ z4I=JylD1O8BPD!lVLj}p5>t~#U5}X*Z1B;xjp*vFiSphh@WRHU!3AP!oTq zbEE=hs$|O_8}{NF6qy=w!SH#DWA+3|v~Oz`+#`ftG(2c;)9w z0L934$WvPA(9IfFt`qZ!%6!Z#JZbn01EK^7N&llPI3g3vV#Iqsbe98L(yP_UNOC7r zNddKLC8FJQvQjAB>()>Vs3O})dj-G#hb%69l^|boZg(mK(M*bP%S%U%7(Q^IYk)Pp zt_)NzCMtm!tACxon%QAO>0J*FL$2(i^7h6zr|;`(6^1@QAck412P#zedYVPe%4JZ= z7lp>uetO)p-Q*u6Y>#yPfH1s zDOWRannZ*L2L+3g+Clr%c!@_8)-Ur$Ft8J#FZz)GXxyS@Yby6%ZT9;=Hxq+M(;^(H zK0f|I;mMgr#hJ8;lg3R*>Q>OFXL?)&+f`IpOlnqq+ZIeFty=iU1mjb0-l}ce*PFfA zDj>wKeLyJbRX^Xr&b>yIjhixc#?0Bc8%u}vr}8YnAUi3*$6qK`F{62jm6S=tUj^VZ z@e2&`ma#>6)@o2kMk_%bJB?C-EzS0pXm<(Y76@b~@@2i#0Oa=*`B!h7YNe~oU*u!u z?+UP^_0AjWs=8ubRzOZQtBhiNQL+-rGIYlJzX1+#^MyL%IEvfk3-{;hi)K1=5354g z7rB<>U!P|6xX92TD-j&5uFR47Y*UsJSC2D8G z-Fx>PKKjksOV`+7Zo6)IL&YAW@pr#j3pY@t8gArNsKAZ&@pCXMxKH$i!`Ivm)|k6I zcEG9PihpH4b>1h=oV#=buiE#{pZ@jz_myHnxq0c_DORn62XqtBzI|$MBU@*Zol7tW z=7ycf{h`b=o|1oEZ?FehYc$rZrrjR|l7@e2?D$XA5fYYFXhGw*7wV&P^XAadCmm7( zI&4L=RZX)<&FqzU7(F^n9|-3lTwE7n1|h_RNcF}5T*SSdvw zvL?-Y!_LM^3#jz_Xj2NBjx_p6K32cC=NrIAjdlw3uoW@yAR{|RH`ER`aiNTaa&a;9 zsFAK=Zd=yT;3GL%+$betvC9uK;9o8Os z_`F2n)e3QUBduvSakBzI{IOioYCtZ2Ih}G}L7|isBf&`42qc+%Ol_Ual)4-qo@JGF5*s6Q33tL7N%WMg?W=B=0z&4o`^VE*#b)iHV6rNdZyvpPd9-f+;{x* zyoEsmuCmPTOlX+zFz#x3%1U%`__J|zOiXM{Tx?vTa7OHTM0$jR;(rwG4k6Hz3kF-0 z<*HXmEdV)#D`9M%?HjkD*Qd>EfBCPrt((6lC&G$eYlT%KBr&~Tk8UX`M(}gJmnuqHg`b-^kL)kbE8hg#%<{o1k{lZ&~ zPb;?@+g=jzVbj?I6MXvo%IKnT@JM44mqvcaCbowiO2T}4GLw?AQ>X8#hrfS>w)FQOfBX((${j9? zd~@vBk)xj-*u9g#!TPAthnqGb$v_J4;9%fR^V9lL0J3o-RUgR5A9?^lB<$8WWXuuJ zk&$POwH9i|9(}N?sO82|Yq46S-f_O|TCTike$4{I#XW_Ed z2*><|632i4{SE8Z$|=(&3l~7>vOS4%T#G9+TzW_ni~bBs!}tQ+(BUq|WH~x+fi|8K zDA<)Ps@!WFh1z9hA_p0zEK&4n8DpH-Q*8a%R!`(T^`baZYVB^?k7D!^qZ@8|4K+p& z!Zo?hpF4zw#pR8nFiON}{(xpl<6s|JiU%_dzmhK8DBhD~CYX52wK}PeUcBVfwogh; z$~-zY5XKY?V(w9lM6csT$wzD{F7DTV$cR#2l*`9WoJ8yQSRq@)u_ose2lXo{!ZqHj zE+~S9?T-R2BKYW3jeLZhMg!76WArt8<7w+7_sxr+xA&hOMS1yobP*L45)=gTs3&5} zv%2#gXH;}|rW#!d1a!vdD;!K7N0U1UvgYZ^agn(gyb|IVTToQE+S{rnZC#xDXoaA| z(+%^Y%_wXnLTQ++5mrz$0=wFB@9XOy92^=J$^+-;+YSn*#VddM{hwQKD)jZ{&9R|a z5ryH=sl~mErKdn!{nGP>jqaVsZPAYLA>rNnb&m3B{%VWXZQ2Ed1-E0G2$Yo-0f)mD)&;Ll(Zp2rztqgkDj6q=U?##`Hj@GYltQdUmUo zw=^xobmXh?rC8)|snin&G`1Jp)#3h!L<+)O|dG?4_}AG1m*80t-~H zME9gWOwAT(kRo|h&w;Ld$(*_sbN_~;YNHqt=0dbOa-Qcf4VC8yD5&6{UxSy~Fm z>M;b#aHOVt;D7^CxOiBjfkjRBoHP;I$5rlvqOnSiGAD@Q90R4R^`Y8b2|S^y93sY{ zuOC`{?fa#U5~H_$n7{;AtO94Dkxx=5AMyoCl+SWCs>lvUSCR=3nY%1bVNw2=z_&&IF+T8JM zm10dDJ!1HfK_G|l&Gj`gBfz1CdNHwpDm4RK{jC8;zsC~PEAc`}F38msOe1I$JuDFr z1`-51jP8|b8a%og9pRB>N$b|lO4jU9XV{ojEB$3`y7+Y2-54|CVxwZBB1r3npu~z6 zD|S-Y2!ilHh6=U<0T0@L>VyQFAx&x92@1mA8Vq=}Ya1Be?8X23ON+KGUT*g~tZlpY z?RsD_$t>(yklwj-m+n~^T@njMPa2vHiX^8dg(j60CxK0ETefK3Uh}q88N=SRXfCdk z0Nf&hfxbb$LCHN!r_Yz^_{}*pX3UyWHfF>i=-Zwdkx;eFBmV9H!yisW`8@;S0)zYi z4?0Bcf#bz|@8!#%4-Vm0s~`yb6FU~_(%(TQ%fF(+xS_7AYu42tWe2)sZ$8!qFF7@E z`m}Mz9zSg339Jjei}7XkQFWvWMfu60zaFMVgR3M!#+B|+<%rFI*;j2$RKM0R9gXu3^ESs`x^5yzLf4*|R@Qgw{*3(2zm3BM7d zmbf0MA>wiE-0>LsM-ZaURxL0mYxliI34x?N{N0QnpxV(dj`3yBQ)tR1BXPGpdi3Dl zt?P2i=)~6|EJFw3J`v_uw+%yje9YQY|C3EZuJTUGJscZqAY9xmKMo+mTw_AGSS#(h z!&qigS7;#;36blRwox8!=Ty5N%u^aNAwwFLjbpD_u<-2_t5&c7K(SW6APuQ& zKnKVbstn2Z)Ka&sOwcOR3^-eJa*ZB3tf{Uk^@Rmy+Td{4ShLI+Ye1s_2xWW}Ru+$m zeb2-mHS7qVCtj=p0u5R_Hl9X#^|*oAl@xC^Lj{nK3n*mqd_g^!Sx!a_xmwB#bOz}> z2u?=)Bp&^^XT*J$OcNgMInwqmm%RQ)@xNHngn!`PUZ%i-q;2eqfc!jd>7ZYEcoY1( zV>Bf2aU{n1F{6eL9W=0CAG23usM=bOJl`+F1&NzpOcnACQ&J{po%J#GLikzf9f0t$ zy{snRGT*k$6WyF$on6?ZKqzJ*1Z*quISPo9s7+7lQoFQdWwW5M$u#K zpl3>UNw1>ZZXLU2hhH_^h!s$A$GBzQv~F0}nJ6yVEQxig=3+f55tq$G46X>pF3cuM(*MWp)bEoo z)zQaCo_xX4gTp3V>|bTFKubAu{^F%;*RS6oV}FZb;LJ(S02CT zNA{!j?A*Cc1{c|S1Q|BV*W;?X<0I}L2_L(`qMeY~FJ3YM2(`)qKuAHDfn{DTu@*aJ zDR~Qcm@l>ydF8ieImKW$<;mpNxaU1?{J3#r%f^fzKN2fo7#g&5{UBxcxL(l_-b1UQ8p50iszCl;%TC$j_%=-f}1=5uC;vFssZoP2zY zv&1pX?g6r4f=xucpZ0s~8&X49r8!rHkqdz6ffAg97ek1S9GM$9aFix5!?b$v`d`%z zH(ISuqg`iljRYJLlj7p2&EPY^2*!zyI7_$|V0C&n1>LuMR+dmG1ulk$m$LJVdyD@J z$SCgJZ@{3Dqszy`u8tmCP7OJLS2kw&-~p;%U6FIle&q7>B7*JA-N)$rgjB!T+tr(f zk0LMIVXN{zKnU24tRFIsG-o#>6KqsPh@TiQ{F}54hzM)-678Wa+qG`? za`Sf0eL_M5f?~VW=X6R=8a@?#Hh;|RGkQ{4L2^oZYEn|C)WUul!ReI3_ww zwe)RGShp=F3w+3>Fq{bY5a{P0l|6daymyu@;liCQ{Dp#+S|gK5**B6V{aK~GnM{V>@5Q@01^Ua)4*-w_k>Nu9juU@oV-=> zBTIW!$r{#TLDg;Rmbz(N6(q2(R9&{+WR-rWsV&?4HtQpf^q6LDsEBaqx1iV4(!)k#X&b0QXB^i-3(R<44B&t_yG@Q zcys$-w$W6)Ywv->V1ZP3kitFw)zQzPEOv{+D@%oYs|TxsZAmpyVxBG%mYx&jN6(=G z%Q``ahh8USG}+sDpKc`(3HsD+X#r8+Hp7r|_x4Rzii_vZp7=_SBU_L}KKO7G)#i{D zTg0CNFsS!y*2_5rdH&sNUGSsw+}j(3vD~ptu{}7J*w4SFB;Mrt7lL7?bA}kvJtvcX z;bf6Hp?Nv6xv}HMPo6$&)|^#q)_u4MsQCad%KEi(3uXDci-^t0h%g&AqQUfOoK_~_ zH)FbMrWYL`V1P@OkO_|Q?g?&={iw0f2dY0S8wvs{1o@i+YLvN_j=keglV(CSyOs z9MyD8S^4;}rC3|An~fYXY;b>qE@bj4@hB=1f4f*{jh;pcc^*A0SiS3m6EaU1<0%tI z2-c50nH8KeC8RMWbTK*s2E>BRBrI-B31)mxvDL>XNTH}Sit>#MdD)5gEIQIS087if zAgU0RWr-a*CLBZ5UwAyRg3zQX7mHf7WY%XS@MYX@_J?j6}`Je=9kWxw|Lpo6}%+8y<4ZB?k->Xvc63Se+uMohWtfQm4$c)=oYa>RtoWKzHc^6&U=)iK2yVL(#4KX)HC zbw7x8xS4L~!*g-zij;8OsnGib+1Vpf$9F)kqQWVX!M7X2K9wsao0$mYSi7K# z+M}?pLo009;AU?y*Ex7|Bb?N%7LnG#k*c}McQ}5a52zD(nI~g`%{V$ah=y%cUc#x? z=NX?PxZInj^>LbysgL7Zh`{lMmd2vVbg!CoI^UuSjD(Og5<664m?!Ca#l zma@PoLLLDduy;`U!yE0yX4YfagnwnJ%pWNBV0p0LcUC-cf(vFmFT%0Ff=ub1>gd}> zDIQ3dW}18uT)2cQ9b0--r1R0+DGZ*Y8|jB^7ZW!czrW&>&W94tr7+ho~=nf2|7##tEWH;AKTu>c#;^WL%E5?YjqP=v* zSG*C;PcSXWC37KI<;tOz&=N+0SZ#P13j;fWSi$@m!-HP^{R_?g+rLJeA16wDh}=ha zE9%#$*f*D#`Y zZvcaN5Rbg++mIi(_v=1#?t%r&RxML2o`3h9`ESe|&%bz3-`;&+@c<_iD zc(DTU!g~cFLWD33m?1{6iKkWk7f%1mfGhs;nf?*4^iKW&EP&WA{JrFH4+&L4p1cnY zgDwy`_-T(BvMG*~+GoDe>Tesj)OCyJU7mXd(dTAi@Vs{Q$`vi8x-<=G zoT<(3AFuvO9jn5*;rOD4^}zAD`wQuw7!>kQ0dx#sRg%1NuOu2TAj*PhZ5d!ObJIR2l(*ljAgTuqa5GC(0^x z;7%uE>C?49Z0Y|50<7)s9gdx9a|2C8KrkMFvS`6;p4q&6a0Z=6Xh90`=wPrDNs5!Q6R^moDf0F_mDn5=*E~T7;Ld z9>~R$*>l{p=meWR3ulJ7J*JBXU3$PQb^$fP7;pR0jq%RX$}(qZt?`Rz-t{w&=*jXe zgn`6TtlmanJDTFb6KMM|^i$7NAg`<{k6D2I`$>)xiBC3h2m>sjR0T5?NU;xj6wZHl za_|Uw%WFTKyL9K(#JPF=T|EBM`%@=Fw1I5zZW)EWkt=(vd>@H~l;FzZ>F=dIT!V%T z8!ir4F|WcLl$CRf00N<`bo7W}TGNCw1d=3sQq%~QQ=H|}+k@C?*BnbAMPrmK1Znc{ zJ3H|WbR=BY8FGVJz)En%SkVTLytfqjL_|bNlUJ0(_QJ<csw(#KwKuAJjT8|+kh8Aaa&ClyWRc~>hvZ*u27N_U*%FXJO z*uDS2qAnd?504LM)gduHDxh5(-*7r|d;-HFqj}+#r(gaX;Oi3{Up8mSs`n^^d~fxt zdU&2Z_otl$TMFYJ|tTlG<4_y3&Sqw78D0w{Iz?F&#DNixHmht)@(CBZcmnFD@3Bq9DAkh z{KQFk&P&(CQU2{u|NQ$8kHiUf?lc!tJ{M~S__AkD&2Gmo&YqA;5xMfCkKB04@oIe_ z{D2D)lkN_U2L>kVH1d1}=(4CB%bOcy?hGc~o&L=2mM z9Y0~h#0lfZ${c`ZM@#66RqK&2`LFo2#38X%To(%%1aMuFa!$E$J1L@F|^g1}ke zDPudMw#bwKLJr3X@{lU!wU!bN5h^)?nk|$8+@d(bX##I7TQ|I%zB-~offrj9W5v4T zB86gP{Kh;WtRhWcnOT^$ISG;>7m#{MsFeM_1bcWtX~Cw|N6xPIroN8=JLeY2SE$m) za>IP`__8swGz_4=k0qhV%J&kI0h4OqhJD2F$r4d4Z+2$)KQJOyFrpHxx`pf1(b>__ zEs98@moOU%2{qA<7!~K>8}^_Vm^%ZYMQErIVp6a{&sT&M?iDG!M6BFECWjaEVzg`% z;qCtRLL0IrEnfZGU(qCeLJ(AX3>iH%zk6nn_B~NfdiEJLbN=|gbgSibOYfLEptN5~ zcwkhdU#ku=T|0)gZRyLs(jb2yzwjs+2A+N8_iCVK3<49f-<-E_&4%~h+wdMekxSm1 zHKn|4SpUJp^CJNS&YcCZFcbc-_Bumt!O9u60k{H}9Hv z7$feeyGDicj!|LUG;TD89mH*2afi6Z_3PKJGFN!Y9&u5fcVCcHy?Iu_HB_Az(yh-FkSnXke5bU7 zAxu`zL^qg%&uS_c19--pl$P;=Ibq_YnG05MqL~DntPN|{u4{mGe96N3Z!LWDO|{@9 z)`vGFeWFPPyOM*us?y9cng8050bZzbW1P|lg&mUwHH>jpkc>Z-iqpz&{ITi9T6Z|r z+)9^#x%$W=VGrm+>Ql(shi6jE4wMK=ah6pG-5@BE?aUHUQsq*=k?qW^mXnF%4KT8C zg=e_B%Rufe0Kr4mSsu%}a&O$pF+#7zB*})Ubi7RHg*209tE>c}8nHXzN5I3`Z@|Fb zB|Y-FzgjY&Pf>n;abMvRwKJ-3zX5}XjpVr5RI%Joo;sm)*q{M@dSnw))72e-oNN=t zUb2!DO9HQm-q4;sDDQxUM7X3Ek%+%LOJz3B#ql5(Fy3^}AuyO;g&7RjLn`b;Cue6l z=xlc6W@5Zyj}>5rmpyq@MLMGB3}hTpF|S2MCMLwikP_+GB_Z&&|9Y_%Hv(R7-l|pe zX6-|x<6=^Z$BZ3H0dQVV7}4hkj-5Sc+Q7balNDxl?^ZN;P=0b)aG(lJ3Xe-pV#sLk z=9@Fr!*d9|Ct@_}j_t&o7ux9<5Weexdm_DhLX{%S4Q1ns| zBqU58dfW`bMj*{R0wR13Ojbesph0*Tn1JU(oDH&NJbiNp;_YID(5$1Mu#0ewntya5 zM&LZvziI{jh9L$-;p>AN;0jm;k3lTY@blCfjA9Z|!JhoQzn^u-i!yL>W2!>kvF^I> zsk`cd`@Z{@x?PJWx2kWNx2)UN4cAR|-F?l{lL*evi=LXaw2kG)DaT1^{CNVHn9L>? zU}Ccq#AX2#>+?S$B0>QWc7wFMDJ+0Uh`^XE1E)@^y`InwhYp+j>VhZ-)js!LdHW@v zSUVfpqNKozP!rG7Whm7g+XY9&3V~Sx0@Jm{#So%C7E?JVVZjp?8%gSK^AaEVuH9-+ zD=|PEh5*&5a_0P191s;$a(v5OrEecSdUzWj7qw@CbabO{WjCs`WwZH-w|K~45WGKPrungwDOTzKLDuJp*YL6_ zv*yl!XBp*TAH1*DdB3-M&FYmaSFcg;HiV&?HAc_Ig7V8D7# zf*rDz^eiTmUXYj9vqbggHM=k?ub2o)iEjL3B`As#?c6HQPS7T_Ya1x+{(afkO%Sj8I_>B~)^hp4HF;YsR2%=E|qD}Gqf zb)q7xBNXLcDzbH0R2(MBsJNi;n5fY3_>}gq|E*aYKcCi|Q-8Ht3*XTAh>%VtBZm*{ zQ;=0C-*imLkg-!{%qSmH+_ShaHz%*h@Dcs9Vnf2?VLBo^rbM=B*%mRB44hv;NSG9P z$TcM&8ZrDL!UCfTM^AolEoU z+{G(5?mqh7`LF7#$KQYV=>DzC;-fky*V%UdM%a$sJH))qH9b%IT-&#iJb z_A&TDdJWvb6G5~@X^Y_=TU%hP6yjjzxjHX_>cc)N|7Yq}j z!dzIwMTV$Q59SLM<_Vh-%I!A##-KM%e{nbf2Yz4a&z$fT3JF92LeWVqeh01vk*Ih=HxG|hU`=lllQewG^FYG-1!UFB#lwQwj#TW z$Ai0f&3o2;>#kylG443;R?04eO6qy@8XSna;iW-CMiYM0x@q0;zD5vDFvB9&254NQ zZn2KFlR3-j|P_#?E5i3jx5`O92B0H_{OW^6tB)5H4} zH?CabhysRf@la@G2mGapMQu|U9N7!h+^<4F_C$I!DmVnpeL>9gl8c)Q+;_n=1C zuXC^e%{neJEn6zBKC;*7Sbc36*5XTein;KbnfWQ_aQcxVv0ngo1Qmk9|Xu;H>z zRq&%8LkDY@rO+VN{lsI5I|;fG%qVt(818&$E~^XJ;K-`6X%IFQ9zU+X3j@jtcP$?f z>wy1cy7(zxC3^6=in9{iLUst%A%S=dMEQAobI2lc)&r;@gPxg1b)aY>giea=)dSyz ztJqtoOy!DWU(bOQa*R?V8jeOmh8Zm@A3J8mFis%!XXYsCk(bko5Tg`pcG9Y(u-n^kH5IYxQY0m{*Dqp_}EmbOh%&$!_q%t^d4xX z>Ht+gGDAo$*eUds8x(ta5WY}9{NelWP%r81Id$T5uEp~3@6p4?p+kpl%)oI0X4Gu0 zzfBVy!f-G^JjdQ5=iDgcLGh%ki=HmKHbaAj6JA7C6!BH?iM72B7ZzypYJt;2))o+h z-H31K(BY$B9>;8jWt7Z`P0!rFgPM8+bhOU>?lgTrhYua#j)M#ulB(Bat~7l}Ifq!S zY$gPYwx9-jsuLTLoNLV>J6QN-8@&IB6<^ifk-T&nUQIP9+WM=v7m~s8OW%lmb0qWIr7< z*iCY%5Jf;S(ydHamYG)5%`;U9Qmaz~3V4_-WV+zRI?;{w(nOYENzuONhMjR#WoGB) z=VSvND)ae1Jqx%inw6b_)quPge4^O0O??na8i(bO3*XLf`oeo4lJpr!$=8U|$yn3p z&Tdj(HX6TGzkci`Ku<=x?ZD2?CJB#^)j4kqEjWTzg~G06I*X*8e+R)NUVw7rFw2@xt#}JzOxW2#H#a)w(+H zS-}D#DEvJ^L2f_-WMQ^|z6kJ?F^EjOr3V#;j|+9qpHpWY=giaQsm9QR7jQsdwP{d6 z2WE_Wpv8mAd**#+j=NrHA-8YcQa9bV&{}0Vsc_#hD;z+GdCmLEWm!+~UC}Sj>UyBAq!>OE*h427S z)qQo3V99w=WKm%b?3XeQJ<0n#!#kHrc9kQY23KdQA39gAJuYX>4d2>=gwQOWa;wv z*4ApUKnI7Jmg3;H4cxP5Vd@7rrvH3|$(rPW+#;n5C8s8^q&n zp2NhOkN29x}T8D}Ik;CPvc7$8cGUR@L^3Pz8#?wOfp4opMVuk}3@H+lL+}NHg)>my9i;VvkyQ2-8$^;_vQ#BH#V`_ACnowa{*2bb zXT&GPMg%o)`ig&4aBFg5vSj#%N5rJ|DV;KHWWR#^UW0}WWr3RX*3!3Uwi!K?pjzLe z9)rs!miNo-oZLA!EV@f}Rz_3=7mNb1UbpiNPwJ9PEeC^47_eZ5JrfZg8&x>&jaA$B z?@*uq9t`>DqZNzZoHHF#xOD7*&Y=-eA@Xda_5@cxs?Qi{a;Gm#Htx3opi3NWrUfj{$(Vj2esAlLggxY8Z+PU(Z_Zw=c=#>1+P?q0`p2(eI_}-RarMe60%c!(cHqfA zZROYvis0~c*#4{SUb;kQOB1j_`>>?mhY3I$N_XvrV^yCuJO~2qe>xW!pH^!SQJaa1 zLTze#bCVcD+&dcSu-G0{VJ4p z+>$(aVDDbwO=sYtUNw`V;5qd17C{gLf2VZ$sQ28pD~qwzSi<13Sj3lF44Fm$Ij(HD z3OY96D`u!!6b#O2%$Y~TS5|qJd2CA)>y9ZaD^;VP9W`mv^fwm1yJFRQtJj+AUs$(> zGziwdrOY5YD<)QNCXnefk%grLte%K5lP1YT!z2QhOfn`{PtwQ&mguzw8<)*_h=xl@ zOnOI$)Ed4ue<~`jTk6j_j>z&-ga%XW(2YIB#PUE8f~R8VfH$R!Sj>}hY~ILbHbK3m zio&*ZbX9^bDX^rNx~dbb`1*120xb!NG14DsF{W7EUY2-!=T2lVGO~e^49E&Xr$v2B z7*Dct3&^5N)GMEnq~uxFlw$6*GMNZR>djWds#1^#(C}OG@|qMB7WWx6YV3sR)8&7H z2@^(*9x-HK-`=$rFDRQlmD?m+FE}JmnN1L2vTN0sUqVZ=E728i#%eowm^O?&b85keId4uGmQy@HB<2xgrp#Zm^sRAy zTMQpOaB%m}ZlV21VwXTQ_e? z_^cYRk<6K>yVlqL1{)>w13c>QzBqD3++0F?QZ{(_C_falNS!0#&kH12&tAAzK^pY? z@4x%*+i!__fjT!YpFR0CT&h^d1aEd4u&CUQ<|L#DFFVW~;v+L4N!0ennp*{F#LuyV z4aE4g%I@0O?186*C4^(LVm`CBy$n0T@5X*cFY2z{3_3bT_T^W{j(>gX+@)K0?tlBk zKmYZwCY6sK+-JSHg3v2TS_Uos`*zz0BJ3$eYcrgC*{F-sF^qZR_gTGq4fkKQlbprI z#u+3TK^f=}X-J<%l?Df(pW;lD>C@zn?97>S2_sLRF>N~Dhsoo~idkblut2C$jfW2# zF{X?>#XF0au3Wu#9VhA}ui`DP5g|#`8+Apeabp(|-&g}Sp2?H>?@S#I!Y+`cv!Lw(V_U%6m^Xt%I zBSx3bUAk(1`S9T*n-3evrN@C2-yYw;d&iC`$uZ$6g(X=D!Tu3J?b-%}c6c>3wo_*= z-6uuIM8%jG>yT!3#l zI!!S9P)Gm*Z%D8oL^*HlI2Xen8(3&Me%i>;|dfA;eGDHrE6SfdSG+0 z>W+EW0Vj)k!$MGV*SzD9&+k?~Gz5(vdJDWT(_B-R-IuJ(jV@i3;0ikuLAJAJj1#qR zqm3jY-2C{ZaYP-pjwm)I6yVR*;ijJ-{rc1yq-HL*{P^SF|MAbCoIig1@W!=EXTL#a z#YCd^H#l$*mV=b*9yA*_c69g7YTHq=lT~M{=($ZaZ;ICyN7)`Rqe@$k%qMDlJw5oa zv_PGR;4AiXy&H+CWT)C??eGL+_7J^)UPK$dh9Dr9BS_P5B=6Lzrnd!AA3XS0F!x?X z#cjE+d*twe-Mb-tC9Z}I4sVIhz-+QUeTJy(#~*&Uj$wmEh~ngRVo{|;Y`N#MrAy!A z=c-m3?^Z3gXwvXr^p2dATKJZ8p|wEGuX@ut&#v4t<}i-Hry8@INIJ$;W0F|ORC%+h z)91XkgaF%mDo*7lgKS4DSFTvTWYJsm=gpZhO+0C2;Afgst6^ohc}a|A+O!E1ev-rr z8zz#a=}FI2H}9u4r!w zcWR$bFjaXNR^`WF4c;`&s@{mJQVWL0103Z@U6^h4X0YknKyn_?on%2sj4{z*Pm9JF z8WR^E7oQ}CaIe&qu3c%{O2z2P#oE;LEZT^RdU7T?}8i)L)62RYEDX z^A0LgVJMrG(7X8Bhm9FGY06Ytnnu8U2(yx#E#H|ijR%}B4Z$JqthaqzuYpA=iKLY zI(FK%_K!>L65plw#5ZP-A5>J>cf_#KW6Q@+e{041MKh;NAY@WJx?j(sQ{S96CM&gb zT54i!LRLvh7qO59`1`c?;bVAsWK4_%XBc&&qhcZhf@6}q=JXr$&W7C_UEF&R-Er6M zZ6B;${Pz4erlI$BNsbKiZQrVelzMPB>NT{X_He#PwEn*d2n=P&2@T~-#__$18$Z@! zO5=J}s4Jwgs7ZiEp#BIk>jq}niKKo|E?T#hImj7o$}R377dCh!L;wXv$gb7!m#xYQ zaZBheLg?ZuevcJyh1C@fhu=&pmOm8w4~;+`fZacW>IDi&1w4hJGuHV=NXV>M=XC!4 zc7?j>nD36nmD9L%(J8IRrz4ul>Z?OV@8zJb1(sqyE`g>U3^hyK;%64`ksE zA98c%!LgSR%dWbh3=rblsTgjI|At4>!>mmy?t|(;1AEmHjmEW2IGDQFQXp}(eyk~7 zzJw^qLhb@tyBdna&8CjUy??|y>Pe3F_}8yoKvchV?}6A+So$74;1IqO(txJ8>BKJFDO)(eHXZWV= zp0|VcHWpQprvrzk8IvUitHw7bA2MMgR{Hr17cGBp9fIN^&Nq&deF^nQ}FcpPb}|r;*0x$CKo}oY2KDTdqp$2_B(btC4j^Xwt?UUJnfl z(o#c`(O<66oBiay>gVWd^f7u>A@-7`1C}1!V-WRQX1*+16r-Xu>kG8`pb)`y6QhbO zUf_{<=&55jl4_$TELuW^*a@0CQPHj_;%gnP&UL$X0fy}LtoAE35vxjZp-?#aJ>(Fj z?%{#ARXu8o#4Tf$7==$LAN(Dl(z9oturpMap)U0uICR8F`=8 zVvZ%ZuQC(|I0b&B1k9}+H2(wmBqc;gihqp>fG0XW{`KaPi1Tmzx3-~S?OU|=1y54@ zO_)4>)R5jK6b}uaG_HKgg5|4L&7XpIro6QDEE8bnYaOSjG zvnO{>mVPqgzx?j7P`&8D!}xg%26dpQL*(IS#NiSlaG#jKG4DtdRmc%$02=OK07hy< zBvk)D0*>g&RZKDs+2O>754{{75n*tyLWNcf=!oSD1!xeMT=%U9PjQFw=aC?edgyvk58rLY zZFa1y?knac^J0xu0-bc6QV7qSx#PY0m5%Tq#r{UWhmgd^7fmQP6aiYBLK#xjLwY3|NE)|0XCXk0?jV@JiMi9r#rj^x>U&#O@o?7M~0OyE#)cmrw9KAb# zl@q)VAF=RNRtk4@<OUgCyYZuq8)X6V0B;o2 zkGa}<&s=4!lvT@IWW8g(Z7wnw3$>%(QUH#);fyye^7mC3*?yR5%y3S70xC$vUX}g6 zbkwNf!^cmWGJF1FJo)QB+6bhr7fng6{59P_65p0)X26EEN=zVx<18vGvL%_$O#%>TQejO*m?;frg%YRA1YfZ}c;I8#v(PW~Mkx zR8b}IJgdOXW@S+NV@hpUZf&(YHd@vyy4sn6a(L^GF9bua#CBDpN~*(kDR73j1Tmmu zM2&RB@_BN7H0rKhp>i^W3bL}F&l2&6%0O-~ASVMgj6JeXVNvNp@v$y5v+}%Hw*Ve7 z=E+$)cj2#r8d?T>l=SI8fT@Vu4>hnJ*CWK&Z|2vPP0F4248A+r+0e77LUp96ZuL{U zGxv1unwn~+8QtWKOh03oJ@80;M~^%4!bOGXa83mJbYkb&R)2h@c{>D|_CBGZ0Y2@5 z6Vkh8_bHn-YupG-zXL~+rT@+!3Xb)WfD)^;z0M+tNZB!Atm}s3;@c1abZ$rk9Yq z{Dt8RIf6LAnNUDpvV{3V8vO!zoabm=7U((oye4~u1roC75~6m6+*U9iI#8w51C#fa zkBmy^eS0Ts!ow)%9K`R>>4j_8u8R2uVal#m6^5E9j>uBHaTQMrM80%jyfw9p|H%;{ zlwZJjOMn-X%AwDWa@JScKQ58Oy$gG*zHf+0?au8B=T3bs{(SYBr>2ITdz@l?*~Rgi zPmS%~n&E*7Huso&^*FR`s~d!Ia5>Z3=72nw&+*6Y@YEufpbn?LckSN22e8?H;4|~E zmuy-`k6PcfJV8gu`Ae6s-^9B2-FNa&;{e{J)2CRq=rXZ+on5=Ovv6s9+@`v~%tlEV zd49|-UtIjMXUUrh+DLbhvC6>ZVls);fBT(x7A;!5c*zn2@2$Deddphi1aBM!10T;d z1Z!p*(;00ho8ST}_W0k98%tO7=+Wd{#*Q05YyP_{SG@QBMzx{NdI0DDtY0fZpm*OD z5qmBvLVLoQ;VrR1eGix{5Nf#Av*oiY8Gc0Bo@()P4JSjbjvqg690WC6SFMWC&{=F;CQTd`<%LFnN_uLMhpD3YaS==pY>ziAk3Pv;UEre4PzstK3lu>t%MB>z z8yt1cOrk(Mz>V0ocrK(~%=X71ZnM6aaqe2+k))99S}s-|vBR1a}G;v%7fBivDq!x#%N(uPEJE*!gPH~M1*I_15Y=FMWuNu20t73m2h6By7$ zi%$AHj;PZeIxwvW(;NZm%nszh@&f9Fn!zsFi$a`%8gT+lG%b2WfV5xZkT@5F^BEfh4%4e#X9zt@%e9#)Gl18&)=Nl z)Xgo@f9m0H@&4VpedEf-^NbnrKisfm0#bXu^mwvg9RPv0Q!LNG#p5rM zmTRB2*BhN%8{w2d5fJ2n_EFm%$c#4Sqt~m(a?(Z$iVna=i$~WyroL+MjWow!0el~t zk34`^Rq@j8o7b;iIsO$fX|c`h*(E&(+mO0H*zn;88|ft2LZj*y_5L$-5#WlGs32Vg zGVd6xjTOc+#bPD14sVO7C|a!N9>gpJt@$SC^F*VMFR`4NI(dcz1Qhp){3<2!@))dpBUimjil! zLds&XvLR?vUBMoc))G}_mD(35Jc#_dM##Mh6Mk7{A35Y}^{YV>cl37lqdb+x%AR|w zWXvcwWWUjxmQf(L=ztwKA1epOx!~y?ap8Yt;bIoz0au+oI|>4sNnXi(A}$*Up9FVY zeXVH;G@0@B5UGNC z0|`X-P%tYq)5w28NGG&)JueA2R7|}AXR&)j9;w`VnEY70uh<~zx#Z#gZX+<@nN+l#Pkb6491vOV3&a>LHT0K2# zCF*#H5yX|@Fe6+;P=Lj)JjNajdrrTKU@`WaK~L}S)RS)z_)?K|+3&)tLuKFkKBP{t z7;!@M>=R_aS2~X547RfeKjV-cHpG&1#ynYb%6VD*8?*N;mzAW978(mA`dm#?`LWD7Gnja0KL%;oh~Qg%*#D*c zXUrJlG^56VHg7ILzuK@-GSBPRar|Z_0@k8;-j?!20h_rJ7N8M+wuSWWno-9tK=~(M z5Xqb`DxqgttgKS(dt==qW{u%cC&xRjp)LT%gIZ%#1B}h!Jn8HFIkc#HR!hJLka1w5 zQ$@B7rwRd!CWIU~9abv=7H5Wlild84q27RLK_z)6!;3P|Nd1_};@}+>jaZH-Y{oYr zEFeingeycVUZ2hG&6sQ$o^o?C5v}B|pLleEjtuR`5$6m;jcipyB)gez@Zzw6VXe`G zk_V5mnT>-myGhqHE`73|X%v4eV3OFz79 z^q7eYR<2#Q`km<P?S^122mdzX2v?pvh6|PzR2KCFu^&5@RF5JJpUj(BK-HTDt zHn>EFg@?kr#HZztS@^-$U58+fcX11D>z0jcmoItet+%I7n?HMSZU(y(=l5c1Y7)mm zd_3F_HEz<_1jwjP4Rk4NYFf9h;B=kTv_?XtccTs#HXrg^h1CnC&5bLb)q1xw{7qIR zBLYYW#a!bnuwn*U!A}2*5C#>MB3*D^T*%@qJcDj_+CWj4 zbQ1QRFO4tVM;oJ{OaJNTAPN7aV&xFGEl|6fvGE)|cKn+YXUPOXGv9&EzHPl0^BFN7P9&-fgW?ai=Y9+%nqrIe{L&=9KC<-l6?vf4u~W*E&4!?O)PIW zSieMmx3<@nwaeV&rLzTx+6qU++=Ipisr=QkV<$mh#=o2QA5?w|t^80N!!o+WAtMjvONur&Yl)k|$5>Ro*ji*t zr!yCF1cHn=r1-sRW+h=qV}`6oYKl3PQnd+9q&8{%xUw+`QzZiQDxGe89>;IvNMjbOd zo6XG5&dmPb-FN?Q*`3T}N@DENrT1p;YMG$E6R%D3=VMAJt8_msLgQ6 zBC5o$2@{ZMhGQ;PDOM`_HE#uU$Ufi=_K{UpDqs6wM1GbDP{NJ!bHaN@=uK8?DurtC zNhw2zsZl>0J(h(!jW3uAM-$1G8E*6#en)DGiICkxCNK(R<-1sXfzD`GRC|Pw9V3jf zD`USSyEnBFgw*6`A@@Al7@|&K6i8^5$nMN`}ha;``sS~g@Scd$?K!!vUPfm zr+bheQt+@D*&FvaP#til=_LQj)*swcQ?age?HUf5PNn*FVIC}6F(OH7?DWuMn1-yKgd92Yb8swff$_hC?+!)my$)< z9z2-e($~pvGkRnB>D+L={zqGLcD`jYAa%XPl3at8`z`k!FI+!Z0ef<%4?hrth*p90 zrkw%IKnZfNgMan~L)q8XeXH4e&{K3E5QLFQFhrtHZcwRRBa*E@+lb`J)aAY+J|D+< z*M*;Gi0Mo?UKE7~(bv5APnR**5WbX2keUd}89(6A4kD3mssCF*l0|xJopl(o=lDx9 zb{#%kyPwuZW@RxkLx}2iVQlB%C4IB*=iB#s2U%+idS#vHrZEZC`4ZW1ugf>@yybrT zm5)C8(^s_4b4f?;459;3Ck+%`)SnglB`#zPM2DnKnyN@DrM;RPZH+v7x>)2gxAB4=87HV)ij(dqv0K@sW;Las_d5 z(b4q8F^_RuCJ?KSKlLhp=+Xd{7cDUnlqm50@FK4gewLJg-7q#G3B1wNCV@e06rMu6 z1;Q6F(#a~|a8xe{5!OT69|WWL1ImPES6b=2IH_L38H{)j_))S~D!mbELJtHZg59&{ z$bw!hl0$n4Cxg`R)j+6c{~4g70(<}Z-+$LXuwU=rz4}{vV}Jd-KlB+G6cIlqqo_1D zZRYI7b7#z6l9ipAvu^jHJrzZ$H>+1>FI%>JP4(8I`I9D3PaHcUdFc3A^U~tOLqh%g z^$!Xf^xE$SQw0NK3JCBU&`%33wr_c$UqEok*u|y0jy9aWfOgP`hR|5Mqhei2Nl{^T zL1Fs%gy?V<{sa7wsnlQ(Kjx#K44}piFX6zx{rl5*g)sn>Q&>4e@hpNPc?t&StJ&xN*LV*Z$3!i0u$%WnlWsQetFN8+ogmcTH;Y;DA$~zP#aCYm zqL4&VA4+o-F!io%-4x3*JVIR1kkpkHtZlCla&_A!TI)EBOr`?isO`LQ@fVk+Z(hz0 zGPFUSzCd}RC+g-6asD+@G^4;2^4Jo|Jno~V<`a$vR%R!mQFs%bvM%dfmigE)rRs$s z3A+&;Nsn}f(qW(K~=$?T)$#HkdbRRz0na|W`zxMY+$${8x-!5-tDX*#xT|Z-iS}-X4?M79u zHi&5Lw7rRi#;O*!=xup=jLW6dHd88T&2)3gzbsy|BqMu8!J18!-}AY*lewbRwq`5P zv>s>BYM^P2V#8(?dP19I3okN}k>#z+BA5mtPAbb|S*E!ZTv{Sio5eS`j&~dL1d_O_ z!?(8SNYYc{oDn`6myynzj;8;{^l~YEOxi+ZlAh83uDis-LPPlD z(CCjpQLEX1q<{C7SAO#wI(lD~`Ww`xKLRKc&>*Jaf*o~%>kWjli4j~DWnJ|+hk!Jg zd>BS)(U!V0{XwbZqiFZC1~~dR576YPFRHe{6zr>6q;gQuTnQ4-~rt^NJ`rjVttJ%FhDX0y6a&g(0d_st;Gmp+{z@s0Vwy5AENBQg3J(NNi_ ziDkM?yxFpZx~bmuppE9HU1uYKFLl)cP_?xF{PpT^2kQ0rHpOE;_TtPs z;w9}8>cpUvwpEcC4)egZn-pKXDbhaj{nyP89mjZsO`e3E$zd=Wuyw&5XtZrxYmKFY;%ZYzr3HU7ndYqL7*y({TU)%*ZNw$o^P2Na z!V%!lQZwV_1@q_5C7ra0_*QAfW(1_&yLW8eTves2dlKH-SiY{b7=E;7HN?wY{WCqg z!H;sq22Hg-SR|b_*}0m1X?i4b5(1K1Y(kG*X%^f0XO!!k$Vjp$GiDgmxo4yO&-Pop zY(md#qgjV(C_)<^E>C|OWC8~?Q<^0c8u(%&_nOg$yi_ z5QrT<+x+np<&YP5e5OpHNLvl_7@De5x{L9U`GgYe$OtzoxEDv5qro5q-EJ@hlB!Wr zVQ5{P1&NGD&H|}oBEbgI4pG5=A<Q#k#%kxXCYie@mPnTctILI1&ENEym_BWKL}C}L?^L2 zGSng70YsvhNxMc|PewRKIeE*J7pj7PENJ8(;4kS?JHsV+)`@P&k9xy%u={{4gY_Q; z1VU3%{ZYAzesJ=OUn0Bi>c<6T?IEH7LvU#@1_VB=c>t;vD|~>cFN-x%p87OvF}p9h zklsH8AtgJnTYoS6G}`E>?tkxn>A#WZ5n-1t8eSpmt9C{=2S2s}$OkF~M5+7U!jvAG zE!IQzEsn#^)tX=ji+$I7ih}?@#!=0vNGp!kx8N6Va(7HP6YUmlS1df$<^}OqtBdUy z+AschTSj88Lv50VJd`hzuf$h5B6RDf3{%uc;7zoe4AyJDEZLaa8XB1L8jKTyNNpN@ zsN`eO=5Bc5goX`FB zmgnWKEZ?+MPJq4mg^{pMyDVD7w-J`|k0}!my-^D+x_p;$1{Dz^Tbo z%(3n<|1fG;GT0O;7uLnLEg=wT5S4~u1tg($v2>!SXNZc7iwGx69~d0QWoM{Dcx1pI zUU}U=nARF3mp+3A_v3zFQ1s}Tx#iVm*>mMO(WL2f7v|*^ZmK^*<0VWSM6RV#nN&hn-Br-03 zwbbrM(^gnh~|BE{UCzW1aa;(l|p`IV0d-S_W51$9JLQq8^(WCwTu!GmYtSdahi5gGMwz7drgiRqJ% zFjZ4NZoKP_-RNByl5IKSggo(jJ61+vC|G3RAha&E%lEhmWqwoVe|642D|l1K-5@I< z+HE?1K?)2%VCNUWa z1lHH-SnMJ3G}i9JW`xKsYxMG7o3t7y}yG&M~!D$tj>Hvkq9A(InC&)AW* z=IiiAo+}pvv^ap4l2cE2FL^O-!Q44CLd?acU$S8nwOr<||Aw29L9hm{#34g5Pp{>L zRG%XeL8(xj)M}Nt_^F{?;991YC+Cg4?4mA}VGleon(x6YAk9V1qwiuTxiW80xNshP%G6GEP9Sa)b~S@LfV6k07nRq z`w%nCCI7*bCN}}7$S_uaLn32`41S|`KNyVvfZkjY=sW25eFq1IgvX`ilvbB#&z?S;E{xf; zX3tw#uyOB^16#|A^4F9W7vvWfuidnJcX{4|8B=FYpEPRhtjwQfFBlUOG$bl9h?V*P z67o_)h93#$0s0K$Uq{eq;J<}%fN0o^+?ul&E?>TYy_dw&i4%vmZzwG)T(f$`s-o4i z;v^(u`gt>a`3Ja#5-|nSVjR+)!gEceKPHw`_sYRGQRqi;VzXWju^YsYixi1TUHzxC$ z`M`W^I(rHHz=ybLEb`IEckRk^`}To)%LI53kDx(q&o^+_EP$s~LiA^Pvgem5m+aJ7 z!l5N$1L(oTbnOO5oxvZe2C;7RyvCLb37n4s15SC15xPm8dX7RZM|wzR{x}>*z9Uhl zwILgea5{Dnh}Ri1h>$uV-~;+_wt!{->C$}Oe>wGg^@u+!lNQW0|vj*r+;8r=-@to=re#( zrGJ0FpwRfybC#{DSerR_1}CED%wLj`mA7X7fg?xvR2HvYSF+QKzu)%*9=tWBRc zXTgj~qbJSJ%3S=j38~?sQE?H$5&pgV1v8}q7~0lp1JNrGFG-*IhealgSx~tB?{}I3k+AM*u33ImiR?g+*l#`b)q!R%sxq?p}0o z!i9|hNX1)5II(7TLnQw<>K2A@k65HMMp;R4*wEiKKdu3a3%3Wi5By! zk@!pe0zeb0H`83W@I-&C-u-Y%BPYH3+gH_Z)o&cHn7=V!k%~dVr763<#bQ+4p1PLG^7xlCK*03$(9j#{HM$NusAvYsB-=TU?00}Ro zXguo8ULqsORU-yCa#nZmI{u{Yd5NB4q7ND0AQ?SS&F%-@qG*4k9+=2U)`RXMag$r+ z^7=!jw;ze}0$T#A^mA>#YrbP*PBK9nxzl7}iZp>LY}wZ>t#M;cy5KthqvwUAcIqD0 z+v^-wC3Ud}`VMjumz&U`@N;(oteD(RiPGKH#JGkh8*`G3WOAkDSi9g74kRy;vN_zO zV`b`Cn}#cQgQvd0^i#nx=ux8#YUtT=rcuU3zQC>DO1b+dpCY57prP=8agQTy*e9-C zB4&2-gar2wYB5_G`3h*GBo zvJ{>KL>2NGyXgg-b}1O%_ntwBd{iZ7Sy z2BokAFeF-uZq{+0ysncGlM^d^-WQOVv@a59Ge;{JrQ#aP`KcJ1a_y^Ch@kP`GkT!jK^W zY~DodtPuPE!BjJ;S(_9ccNx*jQSA4mc6t_wf>jWC9Z?Jp+EO z;YmshbR!c`iK>K8OrO7K*Z*u3tVByG+{+!I~{G{jF*33Apt-Ob*1fsD7{aQs;%ka5*I>m$=rQ=@ST1ZuPqh$~Nelcwt6L-n$S zle`(YBq@6>7P;jk$gnw1v^Rv;HwaPEZyKA(!5y#TKZMh#p-UGqh~Kzz{l=T`efZfI zUw`}9`5k3Kt?#l_BY6f%I$4i?efTeW6dvq@(jMX~ObHa)ZSE4DWM|H7mSk))HUdH7 z0?_Vjqv#Pgq}x`>?%$PVE_dZnD@37?nPbYq*X7HzvH&5qq#F%o9Eg(2EtUSimPrDw zY-2^$HVO^xy`9{Rtk}3=1AIx-B{3;6wH2A#r}Tn-OEQ;FX!|4aM!KL&=8|?aBXhov z+s|S~n`_KzpJCyPG^UDT)Bysu+XytFGi)!)5s6k~WIF=0lGvHdYN@VN_G*|BC2(dX zxZ-IBgd!Pi^Lb$WRFHSDh^T@?f=>fQ(qM_!P}eYhn^`qK6JSj1lQ%r+;|CV<0-n|D$rX);V zSzTR{HD9)P6Q(c7$Sd5i{Xj!wV@-K+$%gW^D~s0@RqQ&jZ%1zCk|pWsbEnPDF3g=Z zHZ{>o?3oZB1qtgP5*gvwe-H-qH)M6j(rhsLwb-Et2Lum^PMwms`AE~1o7XO$qg3Mf z=@UnGRh6tRT(P=fMPccR*$F5_gZjPEmm_-qozUWM4R8;9!EZ1!HOW@~^a_ng{)q_- z3n>cfuJ>wMj|$WhHi5z&=z&rcA|soxrb!@@3Nroq?fgb7*tUnM0JlGSpQ!%4 zQbc=2fzmAE5Y~K|+N6}IPZ#F40sZ^+>%a%#%OEENXdtHTer{ADS^cX4FrfjcLIa%) zXZQMj-nUC1yxk;S{{lSicccoDv56*C^LBTH;dgAq(VaW)+n&78OZjQ{TW@h63L_Ar z?Vq7O51kLJZ(ZNCKd?ZZfB0G#05P@ki(dgt-#qvR`MSk?WVJYeAzyAd-jn16NAGcF zcfN)Gw4;%$TkSU`fZq=GDC*2GMnZrDb~?jglF0{suDm3-w`z~ z;<+>J0z6GN@H}^9OAR{`(J=@RK-Bf9r0zw^=?uK;TUL(xjyhc2d?Y|rX97mN2bFq* z)a>bF$LU0DJlRAe;#F*sa=Q99Z0KV^=t*mb+sy>}@%#7<2;A$N)zl&4MAF2oo32t7 zGF0o@C&%i3NQFc#vZ}tvpmJ0qs)kw$EkPhK$VGdqmF-$CIuQtz{Xz~ELpa{@KpxCO zS+8Vf=j3KCB|VugjqXb_W~VKq2c&f4mMzp6Z6kZH2~pK1Hf_>1v{tS2);J^~6Gx#{ z+*Jm-l`Gk{=`}w?n;Z4oT4GT9VZnx^%B*cRy7ink+(y?Qqj!Jq&c5Ee@9%mKU`QJ|Ilri+Faww4)QJ-&&04%XzhJ|z`cn;i zHc=s0%$T;mc=N&fLz`F2@^aa{*>loX6)c;@b%!Js(=9GGV(=Srv;=XGuTLN=wC6~K zrFyVmU`SZ}m_=p#PM(EZpFVXGB)ZVBj|G0gij|bL7gsDF9vdCvKX5>w*K8#6)Wen_ zk%!-4Gtet2G(1EFcNbQJ76mW`1PC0Nfj;st9uS}gyE(RLAy}K@K;=E?7|h7mPb>tQ ztKht5j+4YHA1lM4E3gL;CkzP}CEGU@>Pfs!;Q_N^T`|_EpX(LE&}8v~VNn9j5&MIK z^>UCTh@8mo+qVrAg8PVLTefC0oq~J6!wVkw1v=L2frWO7#rXdt<)hJF!dFyeKAG&c6 z^*Bu-EXW46f^(^hEaA?vzq|U+H{X1hHQ7BGC1u3Kjlk^n!FxJz0+Jm<>i)lu)t@>g z%d)zohxQY*hwX??y?4*fom;n7S4%Fn#|~ZhQ6sfLRhv|$*dP^4d_^Lp9Yc{qr*12; zO09Jc*_*AgU_uHMYQvn386)_5J9h2ae;8ZQcJgPN zrAM)HW7&G4I%~TYt;jDBgjvDn9*F6d&3#R2`N+!?j}qsy`5b~bTA@zsDPDm&b7svH zd!yaKYTJv{OunCOH!2!{kmS(R6m5IN?g;pdZ?oIZ03S7qt|5XVl*5mvU6C=35si?D zJs;8XoXn0t&WeQ;#p$}_AuerlbOky>-7=I#dqRNlX%h%R_euOa1XFPziHZ%L;J}NG zp(~AL7#zsi7B|eixN6bo3OI z>9Umzr%j$Vd)~A;3o}=)Eh#(7jgc+orR!K(Zmg`T*tqBLk)3NYGgmCn&PbcLq@cWT z_NbAgl4BEnqvPVk{Rz&yhj0uqoY@OhKwXwZhYI;U`g2fdO!Am<%c~EcdHcOv#||BD zx^Vg8>4xn^`8hfHYt|L6Tw9to3bk6MDA};XHyCahw)Eyq%v*sk@X1KplV1z)GdS&Q zFe@>VL2RHsylo2-%yA=dBOv*A(E_)8btU>3D41jEuPyYQ zJ`5|`iu43*RM^YmVMF+8g9b8F(MtWBSLF7M7?IR#-g>EK{t>~5!g{lx)%VBXxK^py z>C0a@XwV>pbipRL5<4?`8g*@>EZ7W4lx>adkYyY)xRTqPa?rcaU%}SBzXGg(mef9# zA;1lJ4z_B|HY~{_EQ|as=q+r*=nVB+on8k#w?OcoZ7@EeAh#2%=r?_$&M}IsYvP=7r>anR9;U zeI!rYc+xy&o>omA0GOjuos`3xEd4cfk?EJ(#=1HO%t%Sm5tt=5ZR@0i_q^A9p z^*V)6Zi+_5l~D~}KfQVxn*r9$_q6v4L`Jx$MBuYe`2;7d`u`z5O1kZjH?Wf>(b#bO z@PS(P?|b%$hO}?r?%mr7n^kS9tn9)40r4VjWwxrWQky#Q3k*{mTEQ_(_G~4NVx=)m zHvbkhM-{SlTcrxDRf=#4j_zC%{mTW(ycphKJUy3X=5n@ob;*W`P4uU!-7n*k#G!;e zoL6#|Z9rM^+BKAjAaP>@e}Pt5SQsWrX)sdSZAr2%qXQgMi+?Psl7-||=FXk1tBItO z-qg+{3Aka}o+$!T+bje9o2z`2jY(}#s7K>FT}l(A#iIrEl64pyhdZC5@~|Xhn3K6m z8m3*0Ydi#@?Yb(&_Qa*w0TN#(Fz8N-mW#TJ-f(H+v7U;DB0i(uDTUxxKC}$qq%vqFCr!UROUbA`siMpe;+c&N+E-A0tTvbuC z|7881_4!%cILuu#Kc~EE_2MZbhmRT_A0F{iY)oWmFgvqg%!g>rAvQ*tC`KVb#_tFD z1qO%4q>Np-e&31nZ@qP`cHgna^Ovt&+F!LQcUfj$QOTO(vVv)`LH`M&1cXG%mQp#H zuzUrhphw?hl$_VlzYHg`kn3#JlAq}&qav#=p-(cU@%E=$HWD&q*C$~06bwb|riEX; zkzkZN+7Y9o{!upmcq1a2a>XXWkL0fvf&d4B`bT_SVIee=NL3@YBWg)-X}!V7`}*r_ z-TGJ%Gk6pR0j*zwrR@JGhvCo4poqZa0HNeokDJvUWdZ$MB6Gj~Lv(sa)2g?5`vZ(> zy=~rl8Cw$B4(>w8=AW5O;7Lkc)i>^M)k6zHr5-qumHt)ZlBi7@##qlepFI7pwe`F2 zo<4o@1g<4!?yr46(;Cxe=;za-+*IpVnDWTc6nyW&Jr&M4eTjwZ288mFv=rzh?SwPN3o z1M*m>nyt~P6Pr4~s~>4aTY~*Uu+A}DsteX7KoWB2D~2ptJDSb^j7I-84I`g@@b;~1 z7tc2}V9~Axa(3<9v+uzEL-a;6Lhdv7I%?hfxaYT1nv5K_oDCka@fTF8Y}2gD$sI1U z#6;FMC~(AKEw?cW>=H+E{Zg5>+{kgVfqNMoLQTq8iWiBR`<1IpHdZsd?b>DTw6^yW zLA$bYQ`Lqt2DqZaf?sNjWd2H~Knam7&qm7Db+Osm_$4!;RZ7z;qPDmsy%#T{BT3Ek z294%-4s@2}`N1JIi;WyvH)N)na@)_GD#Es0%Xr4k-p-U8mor3Y!nzHol8u}ip^%!i zNoY9o66rQUBsOx9E}TAAgg!taySYHj+c;-Lhn8F8R*Z|I7>UrF!+7Nn84{5&d|}SoveNvF`E%yXp2@v| z#miO{SMQ-Xao1Lso*Tz?8W}rma@vO4rVAHuTs^mc|FILN&Yo?oUXzoVv2;~&e!;rp zw77sF$TiRq)89jgl!K_N^0T!cPM~+<6x(@?Qy9Jse-ozViN!!e8NAEnc)9~bkl$uQ zoJikZGVIxutn(-NTu9~8E*0o2rQwp0GehKznhJNYIThPRM~oLvdtP8XQRNhszcSz{ zoUUfvv&ilUbRkGxKp|aBeyX1*U}Z{#O^i!i{Bq#2G;}HjKQ?Sj*Q{AmbR=MAU@quD zj(RrWkqm)9U{7y5-*vKzvj;xHC2u*2=>9@mthI@og`AuN6PwP*h)cMTzWG+Q_~>z{ zMWHP@IJ0B&*7?v|7H3dkgI6^0BaeF$8x-ott*C6f*mmAq2eQ@KP)%22}%(-){&IGrv zQy43`y3_P&pYDM;uAPv4z)6|@*wo#t`&t_&ErcgkZ^61$L&phk7!@B;@6k~2){M*5 z=+Oi}v(9v7FUN_YYgh4_|M4CCq;Sl;pTjWaFZrnDoBQ`Zdgo0DJMeY%5C)|^dusO| zK6LbGT^$}Ku?^JjBN%7xR|g#X9eWh2xTU>I_Darv+sbTcl{>lY(}`hgE!x;jY~F3C zQ)-oSC0wZ4Oy(Sl*`Qa?W*W2bHqA0;Qpq-nB;2GHg1Ve0WjO5oUXFNh=GZZ+1A2u%H45zD zV21&C$$st!(8WOb9J*u=1aw8aVmnX!CHay!(T1j_W|XvT~=_{C<-oS%vGwDVZ~ksUQ`9LhKHX6KIG$4;Hxu`WBm zpfHa;#qyG>vZYfdPM$bnbYf&|($HR!VIqM=pyq_J%o4bw96^J{@BD-5$e*xi)z%}Y zFP!Hv)WHMCPhB{F@?ho4rAsrH7Z&9eZ^)ex860MVmYB5l_^08glU<>1Gui=99{$3t z1{`wt4*Q58eu%p`!bf^%p1RAYI*nuZl@k4~>k7 z;(29Y$M7M8dk?1cm{|ToqLW7%(YlO4whu`#S+*GP;M7!esEYf0UKwIy#3j$)9Fw@; zKz4Yq8*f`P!XTxT}t@dZnj9%?+t=~OCz=C0YP5Ihq>f>&b z9r^GB61g9#yQan~+wf$GkagQas#n)NuU)xf-sD=@CG&!llc>H_oao8{eLUoxI_*AV zHTj&Do}bq8|08=#_M;N-pfX6TMdB$qWEkYw`B7u%X_<^Uuw+0&T~o&r+L zfpUX@o=X|23{lT~R}a6YKaTIYgWwXd~U zsTphAwN~{Um7J(lR!+zAe*sMps+J*<%OUoqtBXp@N$Bp}wRivi-P^Zp*^aSEWU#WH z>(|Mcw?>1}iaeELE%#(DQJFr{y0k32vlIojN+vxVmAWDcg&ZWpPpQ$ULz|qa$;R9S z7TGR>87StqT0U9Ey!P>yrc?L_H~|6z$=UT0V3EAF-2y_U#9bNg3d7JOrlt@VD|u*D zq>HG773YfW3OwlluvxNMi7!g;5pk2zOlHYqvxK1eiU1`)cBQydE%=iH_Bv%K5$2N& zfhaB(QN0~!MNgB@7aPa_L6)N9a85?cVs2=195@j&L{?+eafikaoj5mZZO!ho{Kaz@ zq%U4HGc6-Gzi{0~{x>|hd&lO@D2tmmR#aB+JbL=%?sDuGMXRzGrLQR6w0`B%*;6Ns z8H#?Nlo%D<3j>iJhhR$BF#}+VsL`Sy4gLcoR#14{@W~lvyN_{c;_NB%{>SQ0op0Q| zVfE5^X;~{*7v`>BF%ceuR!t&*nq zVC)zgw&b_EWSRnRYR5ls23|cHgK=KCWh}xWlQ?`n$AoBps6O(% zONXTP3TRt5-6j~8ZsM1^$zy)i#JFT$p+oYrajE@+`@G|vDd&l7qX1_Sk+m7RphPU} zu3Y6K8TEX~25G(ALP;_j?={@hlN;KSra-c>Go|gi9yE||8fCi5JG|G3uKs*F)NLiG zSj>l5BgovUcmJKgs>uCBZtqdsbn7Y?%CKl2ts~<`%B}7=@;DS||Di)f=IT)4=}YP& z*;rVLOmyNAaA+^LRo$*9Iwvk}N13^v-lVndBtg__qo|F68>W|p>`05eO=yv z%gM^jTb{WTBW0$1%gV`HQL=H%&YipW?iZPyiLUx(1g(u5@N?TvZWxd#N;$;bmV0Ew zd}y1L7A9snt{w{fkW^W+WRab_wR9z|H4o-9=ee7^jp&;-17jt!l9WVBF|ByJTPK?K z_%_~Ps521ArSn>l=ixAOxG{{~91_nDFb7FVhu*|e**UuLt8u=z4o}Wcl=Lf ztYSb*9fm5d!}v%_GMhnt)KGI+kD>Yq5P&pv*s$U4_OK?-N-As>+y@Nm)UvF|2_O!h zzqkZ8au}deQW9e$Ls>P2OI2(CfXKwLv$BgfY*=5qaKZd}3l=S0oVGM~ZTZ&PBgYTz z*;=s?Oh+KB+FpCCq5jaeb!&>&uU@e%b45ux)7rcl(`QZ@Gb$BQmJ}V@D>$5}+>lVL z;o_moJ{;weIMVy3^+xws2~B=Df`O!h*GhixPvQ z!umaj9<3S=5{g1SktR2u%xNm98(shYvez5Tv?lyVI1hNjhsf4Vq$eZL9`giyP;@%6 z$5wWP9ii;_YnduQKCue$#6lqR9{z8zh~G~aixDMMsC|f_lOxm>_JTMnBgNPu4ojK2 ztympTlz;D-UKp5kOowHoRN(fp2KtD5pf^E(cYkw$)!(C^#Ata(^l!Fve+53=I1~7> zhcp|0zQd~o@xZ%{U0MT>>()Qer6hNWs8B-ken4nVltx;rYd6(*a)#NyZ%njGkvzRYB_oYjWdFsY*u3x@#gA)OtfBEgB zCvdl?&Ie!p>67>0x_RyV>H4FGYWM8sb&_JpLpTDC9ESEBbpSVLJUbk_+&cw?um)%w zcRQv4bCa{u&`UXMy;B#pS%gPe%Gr%c1=s^t2=FumIM^Ap@dr4Nr#*6)t5qHaXx(Op znf^ld%C+m)S8mDo>N9wQbrZ$)k?~~zW z05dbxLdmk(wUAxs$rL7wI+?=S=Ne33lK;moiAO+9qXl4+2;1aJCM(u+ZR4EdDXOJ` zq*FE;#wrewz%4lpa*`s+w$8ims1BqxblZL_PDxn=v06rZ5K|HJ7i&9%0)Q^EgNu%W zz(_6*i#IT20y=I$rX#ftv0M@CMaWKh#((%`f{}>-Db5oq2#G`VjL6jRDEhSdeUzQ( znxgtk)9@`6>YCSck{;83k`=49KmUFe1BCz`n*{))0X8Gt;?O45*!fZM|XfMsvtW+ z5AX6_=ime+Xv_%)bGRXomhBfnEb#l8OXeyJM4*m7wIB=N@!hFDwWMS~rmV3d4zvAZ&& zsc5h&u7|cy%2Go9_p{=C;v};hZUnihOX?+%gpBk@gl|g2|A3A}1qppif7!7~rJ5+& z@BI*j3_$4FomNbd?l%F5x79m8!o4ji`@3HuXahdafF7&m8Qnz zvLr%yg!4Sd9YiA{aExn>O&GIJsdIhLGRxscA~}Ks^ZbR&H$=t%viZ?>hTGNg_}lyU z?!I^D=Ebuojvv{-cdyhUF==t|?wF3Ms9nB0nYoDf?{@Dp?EuLR0AgDku53#qj{_0g zA(nvWrAS4_n$Ajo!5)f{?&bcws5XpAIm@%qugRO`u2==CtjHBQBYMu#%*^!p3(~Vo z%gU>_Lap}xLIV)1HSx$472(g8Hl$T6g#Lg)W*&)@90lZH3qbqvT$+(VN|*Q4V!I4U zY)KBlNMCK$!&eJ~mL9og+AXy$Q>6$A2(ldkh(6Bo7BJ)(r^Y(P6(GAbTKS(!lnr|j zxqt2|O6H#dOW!s#iPg$~zxep%6*Srl#hCN#zH!ntf;{~XeolPuJRN}4S;E|Jfb zLZ84$A3Q|EhJtRLf=>zyHL`P}R$D2CcriP%h%ZZj0H2o=()*g4 zK_Q687JYsx>85`x?)j+*`F(0?M1W?by0)&(WsF!@Ei; zGcR3}Pl{vX=8db@kdiG>kk4BS2`NCt%d6 z+kh)7uoox=YzP>kSi!1nFzTGn>=}(Qt4+?Y38CTbQw>7`FXj+MX3y@OlAxOi-5vp& zSm{47*z}L0Y6k|%A3?Tp_z(DULx#w9PS{njH;EBH{U_=!>pEsJ37-rxwDOGyR$9cv z4VlYgRGd53Om0o0NiW3#DeVOq=@Jtx4Z@K63H~_$27hFS_MY)h^IN`J;lY$`+;%dE z0Zn(DZ#wT7`kODe8Sj32@5?{C$*mcpPU~I2_1JP+kGni-VLoXAgK$N*SdXm7hSPZX zOPYe5Pk|w=`xqS^&)P-#dHPh6BUIX|&wV}<2lvP7!=Ad;pOmaP!f#WIhF*=vWP(ZR zx*J)T%@%ooZmC_8eOe3kZa60)LDm)Q-4|ZsT0LueIqLyII>SJv-!o1cjo2RR+v;?& zEfh%iCDpm~Xy(~a2Tc951}1(Rn>1|RlF!#xZB}bU+Aff(GcQ?9|8eTv`ODXCzWu(g zYjawb+0owmxaIRt-hK1h#WQCvLd8y>JbqXf{kwPX+-V)~+`o?~o41&>_qf3$SWzb* z5@}izBW|4+u@`Ix(zF7bEKY=|wHBvB+coD|(`~8RNV0iL)!yT0&(-hQQq5S0%VJGo)z;0W zSqtVZo;FE}xyOu%N=%6l_792jl7~_Sd!yA7vF8c50{Y4NiN`-EBrk;y^+2VmzQB|!N2E&q_>n`k`}XYdmYYSjYM)h0*GTO?w~pAdB4bW7VMr!; zBzNphjYp2kXYeGo!INC90*B;?h>Jy8J6OcgqUT5iUuxCV20Y3EkN#^M;@7~UOy8yH zi_+#TNL$piq^xpt&DJg3Hq#}!sX~=|62CP|z2v-zTK&^i$khcb&Jc}+fGt}lD>%Mm zT%&j?&0J`~nSdeS$mDyI0Zs-stlaj%hFsJ(-8s$F9k(JEIW!P)n_3oS;~b;a7;9|% zI4x6S>}FJh-w0pQKomy_QoQV}#DIr=JIo5v(Gq`02%&r2NQ`pPPO>50iLXiQJi&Hh zdsB{-2<7tCHg4dFI)UU~oyzr4eylx{CKSz*cv}i`5$$d&shgc$r^h5-#d=aOZN>g0 zkTz6qIa2C2W_T(BlHgNVU{GiTi|fewIqNr-tz5Qv%KT*+vnNfQl9Qd0Te9O2nojMm znl0OQY}&eg%ch#z6EuMw*s*CtSqVsAP+W6hcSY`!#k9hVnmA+bjIoK42?;TgAyg@K zmyHp_kc~rrLY_>&*O7TbBjZy?&C1!Zr{Tht>sQXs9N(Igs#gNM-il!j3^Nbbcc8&7?aWk6~G4wlAUi;EYaA?p^0l*+lCztM-Grg zm=+Tm&;jOzJq!0lEfeR3Im820Rrnr*Bqz60 zM+-(kk0{h{|1Ic=y((&-cZv|hRj~_FkA?M+qdYmy>R-(vBPZ0P{CYn zizhrIoo}!qQL1eK5>{j`F>NqPGZ&DoMYmS79kWC?YMbGlW&uU!befUqLTZ5tIjDqf zlVe6$j+~s4H5t`-3rpACBdFCL(K4?|L^Db+$(Rek9bJNCL~|}kG9VCoFWLSAStEK5 zmll7ZNBB;v9>hA53F$&`JlUD4R0Jbh;93QX5)wt9kV+%KBs?-|MpR4!cSXif9yxye zm|;nAP#xrpurNqf%BZRHmsVC+m*r=qEli(3W&Ffh3o}*~m2Ek|qG9jOs>;f$ni^d9 zJNF%{KY6@%OLntAR~hP@;nj%|P*c`5Ob<1eXZ+hz5i-#rWl7kaGmNrKBnZ11EDeO4M_hfwLMB z?F^*+EME%>#NVATGFlQ}l~Jv$_$8s9x^)u)kei#)QH)s<5z($j=i9!RgWe*q|BgY9 z-+AXlna19Hf-K~9hghn*@nfl8V<#pzjHJH^R8ddxRf8k0$L1r3ugB_%!>JxS9x2(v zKl~M<5g+vQsqGm0?mK%Dd-6o?9SXlupLu-x2@=sq4#|sTpT{o{8 zSDna1&I=tti*eRE)l+;yr1wD=jvZaG6KzCg8!dM0?7!6vxPTSOp%I*|x6p+6 z9>=xWV4d(}{VuT)U(uhLxXvkXgwgND|Gs+VB4Bm)91)V!xUD~sgKg+qt7Ek zAKZvdU$i(QbLE=i4HeZ}wpVYi*-}$oRas4+KPI6KT)!r+R)pVC_ZtCA-9(?}L|P_^ z+ok4`4)DZUsFrAq(Qh3ZVH{~rGW?RC?Np_ub8Wfi;Cp@!`kc58C8u1KIJ#()C(pabCuGLyW- za4lfM6qV|cB6}{RXo~_RH{8iW@;2GKKNC3!QAnk@Q$2;xBzOtls4!1z9cLudc@5M| z7&B^E3iiigEaIagBEuq*hmD?=mQ%EGb4ga(0vf?*O`SMnaduWl(bi*)NB3^2*~C9y z&6X`SSSgO3I(xjfYUBFS^&2WG*00;JwRZQqob=4B%!PAi&X_l2Txvq<_?aW9FiD^W zB}8m9(wQi$Yuzz~F;FIpfUx+KQIlpbtE{a*b@sy9#)czoF7_X4IJkXv`phX4C(NC{ zc=_s8vy-UrXB3kXG)#$XyzCX0;oly_%mm1^Lo`II*3o-E%NC4up9lcQ?;+nB+$I9E z*bsp|#W_h&<{~qst7y+UlrIF+3mIKBYS6~;XXX{O84RnDaf~mdy^wmc^5Ce6Wd8kh zZ+Tz`RLL0Fxq!2$H~`27D3)k4d2z?d7W|A5aghqaRdN46FvhqeO-5eQ6{2g6Zd$i~ zB2GoRd?Y1%7aqg$`iBqQEuNam7~qZNG?}Qpg}ER>Ti^P~2L7?rY&F}g)}HVe;W|=q zPs&SuVtxFA?e+OUT8Sj7?~v;yVoU^Kq%6dV1ntD)L(l9v<8&wCICoAoX?4lqr&RrS z8dtc+h`8g@xZ-BNE>+l^dp+qPR7JuZs>wRzB@r}a>!wpp#5ZpJ2WyE-3`l2Aqx4Y6 zc>47DOIL5aP5k~o$=CKLPjDqQfBB~mxk*bA$hBUwVd{>@Jw}Th} zi<#q<&6N;q`QKqb%vhGSG&4IlZ`Im$Rhzf&+RgRZZNJ#MrAmkkUHsxc)J7kKXBnKt zZfMsPvGIbZh|v7}B#4bJGC-+C#zJF((%m3-Bu#fYPIu^ymt!iSG&CK>=ABgRcs0RB z73AizE(vl7gTaU+IaqGT^CIR$nM7Qqbj-5sg2nU7sBHZv!X5Q2mZ?9^iu@%+L$qOg zdW!Ef{UqvniWv$dF;K8os(UD02jv-5N%#(=>6wD{Cn27f$(T4anjw^4Pm)^M)MSDh zDAuvD)bJz@9X)AYHm2u-JlZ^F&R;Nl#c5RypUhy#zqG5!Q zt>aR5@av&TqbE*Yu%hB<(|NMn4M+AIIIwSj-HGE{i7ifx-W6E=X#C5bpB9Iq#t>C+Oa;PXv;!ek4C|Al$K69bQLSu zNB?$z1KHaV)Gl0x{vs*&l};7}G#~^kKs$gU>JD^8k5`@`p$h2E7v@g`vibSZzeZ$V zVrvE`TWpG>b)o0_vYbc>#a1M$PLPi%&yXhJLzLrD)5#yl9U|=H`FMmb!(!?C;pn#f zit|mU{{G&ZZbXxg+rAuN<>ma(U#Vs<(BzR440!@;d4zjMG#FUQBh%KGAO1I6nn5_$ z9_Ob|K@&*J7k@&Mp#X&J*j*Ot7RNx`cJC0AP}>bBJ9H=gjHW&T%c%0beTM|<+3s+P zQ+Rkd3~~XSfyqd63oy|gLk;A<&|NxEV<yXoByVHM)2O&FlaB z>ZQx#?7~WT{J6-*m#$pDbLaiLpMTl>u!V))qem?=!F~Gidz4haD3!El&zz!yvF^Bp z=?^NninokIdpo{oEHVgLTTQ-M9QiPT6>F0SGgg^M#csx-wsma`LtK2_k!^*y6qrB^pt6!N2)2PNoTpnA^SB$G+k1ItW_C_GCc^m(S%j=yvyKGQ7Bqw% zkQTydY}AFZP|hfA`r>C6JCF7>t8BH*V`+wj!>q+(9+a{nh9N-3T4XFX(ku*w=3Lof z(Oo?Yg2E_dO?%XNbx6{##sqVGD>i15VBA=A>0{0Y!FsC`PE0s4ZaqmwA^`}TAU4u4 z@k2m~Gj#6Milvkz!5i^6MJj?~ducB-Q&Hz?i}|M&o}x%yP(hnwAiS7~FD6J*gTW+< z;AqMSN~(RQ=(@8}BUS3ylmwo22vThFxanyt3X9ejW-pjIZBE+!*<3u#%FWF$uHIjN ztaeK!v~E4?s?9Y!56FG7!#gTU*Orv7D_ystno{uX8&_s$uUJZt!TkAiW(`jjKXqa( zCy-L&z%i*d@`{g(BJ~Cppp3o`s%v=6h)FZ%WUbrNbb$)0Q+0=TA39unxUpgH`us)H z#!Z|$dr3zA`kXOgVPeS>Z9)WO1XFNBv|gErJc5}`y0O64&v-zK}eX60)smEQiiSZp#I1-CV5$#)qs3Lp)^^6c81tHcsA-FicC!IkPcjkf+s>& zoPs5P(Rlv~OC(OAYsTL8(Z%(*T#$%gNyC|}kkDRe6JlkBYfz30by{}NT8u}sDsSUG zDejiYs&ZaSzcQL2wa7H2p~cjkg>xH%F6^Qhe*h7_b#D?^AyUez zlMT#IR(%g~!O;r#LKl~o&y@>S8lmQ|77+f%u6dCtn*?6kB6 zOVZP(jFMInWSqDte9sY7#fp+m$81cDiVUETEh>sCSzs+XfiJscMfuLU>$h)SIC=cw zZfbuI)-}}DEMGWl(&%wB7iSfe6wFEr43tVl=@ntQ4u7HMOhCgS`=8)$QWu5=C_>+% z#JDHfQM=n!6d8N+u-SxQx8RC_bRsw-W}NoG7uhsvTd~-O#F7(e+XY=>F7%V-pUJ^7 z)=NP)ve`=}(SE2%8-RVLzbu@(Go-NylWo^vzc&5pW&COjXxD(oR23v2_S|6zx&(Fr zf^LCA@W@7)=C>Yq#-kke-utgm2KGXaj~wmkrmKT6BH!i*)Ri$N0Y7iO#50G$d6k}3 z`g1;fp5y{&P+$zF8$||H#%VqA(PPlVcDCbP9y=dBW?E8@e*DdtVt%o%ZvXy+$LdZtojnhMxxwF4@34G3?>nAX zpY-_j-k%@f25j$O>D1oq(@#Ep|D9VmuE>`}A3R2N^%3i^37v7&nn*B2ve-7cfgK86 zfgFpAWw!hxu~Mr-v1@W8z_hP7O1(vY1#%?j&XlxTqNNgYf2OCU{{nb&%v@gQ^gQ6|Bt5$;qWY2(xll_OgscY2xTxl$p1BO-WgWs`~qC@$+l+(K8cb3~n8@x<`S| zYuN|PmJ8w#Gqnvn_WRJBmPID`1NLZxj+3ToTZ=*I#TTe1IVZO>DTzB-ubN0@(KkKX zWKwbsH*M?@k6@C6Dcs}~hrHkmui?d$N!<){MzP*b^3{1ObQiJJsN|RJn!ear=}(k> zlRVynK&6&S&@r2PMCd|!Po?Et!74zQhTPmtISCp1++Oc)(j)RS78;|eYwY{>m zsHB{J)|x#B_iigJT$R5(YguM`dfMFSQzuW2h)aej5zohgOLuCRgDbCZM8?EQ!-bTh zCdHEhkBUo~Fm-lTDFo@(n>WrL=kpxdwd;7(k(%? z|4cf`%n*o?N#TzM8^#|24UIOPLhnQWPRoxDqHDEfkk#L_U;n`+k1!i?1Kxoar>yVEunA+o4AW3a>Y5&+oo-KWSl$WVHCmQN%CqnV)v~_^y;7 z;^{MW8NP@r;_lP3?Nzeq1REST+{h~qnpl~Qt|GBqXeP>Fowl=4&c; zuL_}o&A>+v?%lO>+g1rb94EX`t7|Z}Z98~SS7V3^wR+R0jT^)d@+aJYod8K7q!HDmRFbbWFK8C~=R^s79s=ai{8n z)>JMHCa_F?F)lJTWz59sGiS}6J#DfaME!Tv+|=Y`(R5K`Cr+PF8UM!Oyd`s|Oq(@h z@|e`5^o(UWh3hue)F0tIvML|2VSQQU*6lSFyRZbaOs?9zaa~!32(X)L4{R%2Q?O=L z4x-f3Woala(wwo4jwzQXaB*2JIk`>PSEv-X>*rn&rJ=X#9p$DD&!}@+8QFcMiDsp#C%3I$Pp}u>C_3;GZ9^^zywqy5U;QN7Jew*J^Gm>*J&pX;4mTL6mAQGBjAl}4t54P znPNn7wH?HgNw=*shQBkw>F*5WQ4W&nMfi^-7Q_dP)XML$g1V5rU=;KF;bX2tO@H%{ zGeA6l$n{`Ckgyw}g63~pU=N?Cj*Nii{Uc}sP<#uM4##Z z<6|$GZ8Q-yR37{@lvi;1OKRmkVH-UB`oVwU>NR~8kP!Q)191916N}%|N6lZ{efO=K zvb{NXssrv-oQML z9Bi!O=)|twd#bdkQBeuWC|=D9MqbZWu;rDwKsKQOoVj>(DJ{)(NIW3jSmIbDApwsC z%o}RHW1jum&$BNVaMnNp7uFm)cl~zV(F1$-NN(iV(fylNEt)lD%-HF3=ALgRAA4Sg(@{(=ifDzyfpS<*Kl+p;qx+#J4GxCW^@LaYR_iuwee2 zxeGJ$3f5I_=IQ23ZxiGAh7IMSER>Z}D?_5OOTjAC2qHk4o>UxD%D2oja~YC?yvSQi z+84`P%&m(|o^m9G`8?P>+~3EXd9-aOnaRt$=cLK{!4^YD+k|KGQZGdeW2|wC2b;CX zaC^C`Z|z|w!p9Nm40novsp}Tx&LlO8so(NU z`$|s?q(4c;_DDz>Id%fqf@e;fI(eddq$esu*l_OW@uZJrmZveeWL@Tx1+!+%m^Ew0 zteLZB%}HCbvZQ9;q1qjrwa~JD!v+AhhF9CV6G!)L-Na9pS8Uq2p?dG}gF82@Va)m| zpt(FJd(oWPQ^yZaKnu6SMN!hXW`uy(#A^Z3f6*d{N^@-T<+@-1u|jaa^n zt#ul_yvtXSN8Jd%hpu1*H1i(y^APhiW9%@5nqSf1E;-LXdH(pGLOMi1{M!eZ zGl4~Ghhw|B)wRW}aqH#+quSVP zF~FPpSvJ>+ZJl|{-mDpIdXFjPbS}-z+j)ph?Upckki{MMt z#hYO)N$oBX*rKk!xwUKamgoL>_@(D}Z|fk9y|KBYrG*v!`Q44R<)x+UGzfD4I*a`} za(VC)LZU(lJ(x3BEI7b{jOVjP3=Pk$?ADzBHTT(hz5#(@t2bs;bRGEP8*jaFV0-7z zJv;Zj_=o-5YqB=1TN|-#bzD+Xc17GWwfNyVQ>W07<%-D^VFi^W*r6a1@E%@rrnl6x z$i3vioVan&OxPp!LxW4+Jo%0ew0yp*rFfngVOY^4nm3c#bu0FG_TO^lwYc+%5b$SSA{`S^(UgNmb za`#c^J3Vihb`w4fyC_wx*K34Ov|bmyqx!>emg1MS8^vzNBD9o-Y){;eye&?Yx88c^ z-J@hAolqzLj^F{zC}%HF&fVYKz4t(Vt7HRwcI_HR!Y`aXWA5?UD;G-+9FV&xJAa1z zWAAeqb?MB+cyB{!DY27ki$@oqP%a>d^61bbcYmAFVWNxjXx7-AH{GvLxxdTK$;}fvQ)(KSZzQxOCXsEFh#U%^M58om9oya33IWh6S}2*q zD=W;hpG%J}$j_0YMh8Vvr}9rHF?n04yK%{7xG8UB3;MH27L3F}lWt5uBe-O|$@=Y} zxD|)qWC<4;lwQVH3@O0-Ap%&xLm&WP7_puZNP^aq|NQUB*gfCGgxjOVQ4UB&kuzuu zFJPToDEZq?|6dCQAX-b=uq7Lb6SEuR@b0f#$$rhbwy@B!&>*I8D=cc+im15M+?u-D z%AyQL>{Tn*tc#9Zos^nOSAPDbz1!RCs%!A#*5e^;-@2pg`9HpPaPRItq$e~rNy=@< zjsq_}-&S5)URhC`m&F!C)^^m&mEl1!5=6|A9gcaAGiQUv{LoM_&qcua6yV#Og#qC! zqLXs#JNcE7-R|DHg#*RAUp%n2GIQhFh_IzA*2N@bdMPVdlQYrK6kX4eLwm3q_@?8`kxQQC(wFyF#McN2Ye}dt#Jhlm}!p zP8uhSJ|=H` zwmP?Vmsns&Voe%4-qGpOdTM8z3GVLE!Y8vubOfrwsF%KN!|vV8-g@#zq6FW^O0Dv+ zA0!W@rXm}NjY~@1NJ76zlWMuFCLu)3;a$`>))7W-YOdnzz(7f&k*kB4c9X6O-b(W50~E9wdN}Jw$CQzhAD7j7j88t12qUOp1?7Oj@-( zeA&v#n2p&*^&Q)vJ8%d^fLT4UuDXt$nQ!yj?%%a#Q+opwcWZkG-?e}5=K89t(u#_* zqWnAvi_Ci+JB%fA##qy={5%Q7eK2mabkOlU$G$y*Mb~*=cj;%`)b>Mb|vTF|BXvBY3Mc zgf61U=`#k<^Wb&I)ko5&kDz{J9t5i4(@gyKI?5MIfe}{qd zbCmoX=4%cnPNJ@*rYB&|pq4FaTE0{hhwEW`sHD4X>OSJ}u6APF50ZTcMnSMb|b{}&drGE7}4oI}u!N_D~e)Uf)*nEuu{Fjw1%zU`*rI{}6 zVB$uxOh}?SO!gRMEWglu)~o;hwb$Q7T6p~QnF|-mHRBfRSNvY@I{6Ez?_WOuIg8s~JqsFyW`W|XKRIbiS1Gqb$J(5|wl(q*%9l2hQvHf)T`$}Os_ zr$M8%77z0`#H`Rx{7`k0CNn32n-Ag==2t*u?0T|LlQD*_iB8Ne;k3>R`}SrR))N$9fw|d?X`n@u)l4G=h(G-du?ID+VG$ye&MSlH>PJrbH8lv zv`Ld^z`5(f*HF5sB>A;x&61?9VKR8j0PQUd7G>)-m5gREXnM9MB14)pWA~#&qqgkN zQtkFyJOhlIM%=5*lokx?&1XGR+avnmdM(&D|Af{h^W&8B6j_|5RdWIsc_O5iZs@}& zWBtO2YIo>vI`m)a&!Ez>Lu(jJyaj+_=j33ZCyOwR8Y|Po=jH6*NjVB8AlcyLazX2h10J4jm+bhYw^pyGLo6pDt?Zdiyr*Nf3pffdWS= zS!q{-2{~>x8%;_>-$PYxlsly}mq3l9#j)6{jl9Ps=Z4`M+B=hEuAJN~z*%_OY?bbl znv|4+jVIZi`nM$&wN&}0O;Y16P12xi(BJ68%Tna3^bt7$PmS9qaKb8vLYHku+(-i) z8v@E=<=m;wfRopyg?{1z?_~&=pb7!W?ys~~D6E#<%Ut1BnB46G^A_0*h&Q$UEH%z< zjreUo^$utCu$W-x*>M!6IJ5;BLu>=79Ta3N=?)OV+$jHm;85x}Jp*=sW6auBYQ>`~ zp|@C~mj;IrhP-NBTvBv?X=P<`X8gLC*rep74Qp3KtX`jxnp0Z4b;r)_0Nf2#Wkq@U z6%Fmpo44-+syxVYvZ;~1ngsWj_HEA{=xV8{q(v8$=YFG9I5vC3z;H9)@)2G?L6=YD35(x+grAhk+y69-c7k_8&`)0 z1_np2T$PxY8a_K<4jHK9#+d?GNp~h+f(X<39P3%M(7oVM{p-&ZE4P-pOp%f#xbI=1 zy!CfVxjUX2nBl2Ot`RhKyV|7}Thp8z#j)&SpX8jZp>B6F2XNiq~&IThhPF>ennV!c7)qB{PF7`q~Tc`gg z+L<#lgkShXPLhil&(6zoVijQazH=MDpaetQyRRO2$?C1}E)gT)blpciL%TG-b$xAi zn_pQs%+Jj0*2e;f8@w8FZd7!D1m&D|Bm8A{=0hD946Rqo^HBGq!{g(yAzS!s{gk&w zdAszf2lEw-1I*)0>+IYv&5LO>(qXJfZ@uYyOTFXqE)Cs$+kAJFJWd!RK42!l(f!T0 zPSg5lSMQx$*RNhUbretK>#rX^jF9Hw!2?iRdw1_d*(-DUUjE**+l{an6$}cPe%-{C zUbm6-wkiTZRg2MV;D=U?R)e8|G-0|Z`%0r~C;>v3elcKLu|eX4gb5S34wS|eona-p z5=UiZ@n3$u9yE!>YHCoeKN6{(z~R(+jVO7`lUC ziSaS(*`n8Sk~n;YS~GI>s#R-ON5!S(msZt`FV0Knhd0J1Zj3^Dzb+;tyRf2Z6LIq$ zwc_<`C@QV0Yi?<2+qP%_O9%Ju+|myCUC%_`(6)`Zj?Ok!@vHKZ;(~nGg2KX_#ORQK zz=&l5i~KPv_$`<>f1wr42EM zff>0lG8XH9o38!`&YNH8yt`u<5nn(2ir5R~@ZFw0qOKL?zCH>p^$pKOfo~UWts+uk zC~b34w@>D#)#_}K2r9GDXmB88F>AX;#!`-urP5LLr^W4HVpj!@eCTY#6Nsxz7oO@L zHm94_Ypk4RE(5z+>4T&N(hCbvz9)cOKNmmE93vB@zVKXp z7EW8(E{VQ##p}>zR=xuJasjCGN=9syi!&SI5`gUkh+au7=1w?kN@s1YT%#*3tf;80 zZsJDiUjCoh3sc<=h}HmzwsqU~ZJn*$6&GnAgtZ8KFf&I;pl86M1-v<&V?iWKiv=2= z?*{6ZgQ3r`U@u;{aPgAh@CaTPlqv`Rc=**9cB6i&1vTCC+?J}$bt}Vy{QQDfE{{o1 zi&~14an7?64K+m+`BOlv2)d=liMv#@MhN{)?y$rPsQDfO&^-+N&InJW9ZD1`l-4aU z`HWGta0YvE2^6!2zioMaFV6(qx1ed1w?ym;D2`HX zVxK%9lR3g5^-ZU~V0UjrwDVLsax}i@FL!SPOl{z-$2oqg9MiQxg-njr9Zqqez?J|D9^u(4H8i%g zcXW1bQC%Z8w>39Fgw@r#Yllm26ZLHt4r5ZMd%JSjVxWZ zW@T!2ls_B!Gu)h{6;JiSMhsRawqVL_vf|{3^l+XKNfz-GGLZkN2&EMqVD_`T3|hEm z$rTj2#WsSMfx4&CWj^oKjhU7#4V>!krslh8(9+Zg%`!SDm)HWE>Y}#EuO&oVj($5p z*!r2xJ#qg~+83PXFM+1rWyv<>TNhn+)3Y;BDB*5ispK>+3$8fu?Q8&N%>|+o$s`&8BhiK0N)LA-4 z>e2E(yP}s#IJP#vP}5ZOJm+k?qFugF)S9Mt1d84qF&Rg3#Mgp@AAH>MeL~1C94t!~ z0AFoP%Z7l@%1BP&T#1m=k&*aSBEq>Z8@hH~Y)W=vd1YB~er9s~#tl~VXcXcrmMx2k zjZ4fZD6ikUtFxu9xTC(g}*Km zH9tX6*m0xCK?)3t2=|-s7vR5CQYn35z!;c$X%>=M&*A7NV8XBg`vnAruUr$GRo=db z!!R%I+tyAbXIKSjU4IY zcu_8VaP{MBf}ni?d!!Bd=6%wrc|uBmUv(zc~bZ5qavh{pPAv&K_M?W&PtYqRI@tju9j(pelZ6AIgQw0WjyBT7@5 zk|SgvG)t1UP0MyOm_I?KmMs)%IQW%0ZG@(=8O2Gz0MDA`B{CIr#v{_RwUA8EF-+^jLD$ig&Q`O$MX5el zG(L}NHhnI+Ulg?jrH)ZgQ>1ic-H$=W_!@m#7HE6U7J0ZV*8LPTbGjC<7}G${WVxn4 z_f6^pJM$99zZgCQJHzlHSeaNz*_`G3K+83vM#|4g>5@R!+I=RRHqH8c56zsA!L#a= zw*Y8o2hI&YD`wZzr`U+k{9Nzcml1({#Uw6+`27b`+r)14TRrN5f)sQ0SS;N3vdvYV zTf@J`-1^mx8$EPv5v3`*wsloqk+X(^%40;)g94Z91x1tc7BQ(VZ@M;27uAXlgx-9_ ze2t^fubC7$$5VChHjlXI;KPqdk`L#@-t~C<9h0kv_(k5ajtoP!@)qm11hyWx-u~Bj zI62QUaqY`ncYFH#d5-Sg#T3_l^RrJb6AdC4#$G={7%LumrttmhMRmY>!9k6y=SMuJ zmE+K3AZo1KiaFVY7&A9PjkP;yv}P0ME$H7SXqucYbg*u#8fUe=X7~Tef~^ZY2hn$C zKc{i%-s$P=$3S3@rex%nRMs(WwjmuC+p22yY;Ghl;t`t~8wx9YRJbwGq@iDd9ZOF` zw1R*AWzKC&r zu8X6n=KLN4!Jw`={A~Ho(xwg_N$7{K9pD^fjVU~2IZ^Lirv}DOO^S_=W4)l>rE9NP zzI^4%6|3ml86{<4|xdR)vJxacK;p%B}P7A^@1 zz!e65#?lQNMlcY?&OEN>|CU-u1{+M?;hLzJn)V&fzp!ub?oDlt)pFKo=hmj8_|+jx znL(J=*C*yi`f_Pz<{Yt*dP%kqEVWenOfM9wQuNb)DupihcO+MXjaqM`{?ql2OI_PV?Kj}Ru66@ew*{_lT{PLrv9q7`1Z_4i zc%PTXZk+h3WPZUpU81jlar2fS=lAaSsNO-<={;AU#n;XI);$+fI`A4hx5urodjZYW zmkua!^_l1O&+M|t({7i%1?<-gyrxdtf;Ho4w-ozZ)GVcr8k|z^r)yQ#4?)n&kznWSO#wVL2* zjz*)w+1N+Oj;g&|Gq`6L4er=EMz)nN2$(C&BOkx0DtIVgR_C0YRAP?P{wg&kAt^bH zoYCC8!m{cHPCbzi)781Dt<|gM>SivN;idjD zub(BjLY?|4xl>2qJAU%a1&PSHjWrB>tyj^|t^39US0AaMe2t_EC*gj#IcE$PE){M| zQcbGdaowKR?K3m{X3zKV3|TT@0I88&@vemUc@tB?DF61|ht)NPF`FkO~i<#1$D+f43Os&B1Z8iU3^02W|xek1wW+!+V6;b9RgSFT>4nzwz=zWqBnG0gv*wGFME+qN}kN3RI>UodyR zU)b`fr2Hj|W=)&SVQ`t9F=@_}gLy(+>w_#fVU-v}n9paanZx*Ej$P~A3!liUE}@}% z?4I!GxUopR$LeaQ=`##yefV4-s-EP(XGpWsOSW`sG^qC1b;0WiU6^fI+d;}HZqcVv z=sX7?Y%JuxVCQP$9eza09YctW>1Ukh-j@MhzNJZTM5y+-Zli1bm`#dz%U~~HJ45~t z&tJTB?eiPb^zKo`56m7<=3IBLK{dPkRiER5>Y-`(eHQ@Stu-w-tj`_vY4bBtwpiCZ zuU^snx2|V8_rM1xdUeiJotOA?>$K~ne9Js;9&;X-+$+ZQ*Xh=}gCl37bIT>m!$4~U zU5SzNE!P|75lxG~3%q{R{r)4`$9eH%33s@6uh(ro?0RtL^G_~+aQ@8MQ|gtUzD&3S zrtJeSz5uXxh;Q&!4!wB4co2x(+HGmQskU!!k^8#>ut9Y*k`vz4g zx+!9t;Fiz5(Gn^HQqE_!mNQT*ZNHbXq8IU+B4Sg8d80H74mLvuf`%g!h3E3ss__Me zl(;QET`Yw6BZ3Me?ZExDkRGlUPa*~rtJSi|1Qw0re9r5or-{A}X)LblH7l2at*u?R zZauJgc3DMLWm#TYVrbYh%52q|@D(f9My-q9_z&s%Rn4u9Ri&An*8tNv8m_ypxpT*^9bFxDEah_YfxlVIiwe@>~n69h&WATE1C|c(-TN4Q43Rt$#)X=FvCZm zK|$`K$N|SnjyTYoGm_O_*8XY4kB>FSj2Jsku1j(_z?|SAVOVm7S5|h3p7CNE(2d_m zz9Mgk?)Nh83o<9HxO90z?{*vK;sPyUXy7aaBoYFq?pOwCF=HHjTd2-}w zj>gHMZV|g^dhG7qk;0Y9S*Ct2p{QO5tGY@3yZVf~4zPCfuDUe>clV7OU)}iP3+dzX z0+^q8eth+c$qQfrt-JoD_RX`d)4K9c_R!Zccpnvs3#km`QAyqR(XFNC9a^C3@%kII z^TR`BPk7b)qZrSRGqGRz@Cx{UclWn0>mLSs?|yUR)5{mnoqG9Ya;tErNadqwd0wtJ z$@iHr;SGOD(WPdnUB`6c`8 zn~9a%D($D{%@SG5%>pjnO0{R&)&67t!!9nZs;#3@vvqcK5DKdWGxZPEi8D+u;i}MG zFp{BOR&f2HvOMf!XAa0Eo(_e%&||hgY>)uw0ifWMaEhTgm#{iJ&%su;$vu90W)MF=9n7HooC{&TeQ}jw%~s%2w8=otjWPKyg@u~GI3Or$ zV{&$WA%~^7-7C`fEJ8h#lM-Vi*Q{Q%YSr?HnE2$3+`^Kw>hi)Y=z}CYCCkIZL&I0D zUcGKZQf9$Fz-yDS4buhEkV$A?X?azB+vaUMkPz|&LV7o<`q7v=H+61>_-|Z|bw5)t{ZoFfd~T z+LZC*IGL&aUBkv<)tm(GM)3l&ySZWFtyg{-)9rHRGsP@LtqXg+F%CUCpDFFJ#<;;= zK2*>{-TXfk^c_u)O8}kS%lpqhEJqq4k1>{fs6HBT>Ds3{q~)%`WNrbqDY|)IuW`@h z>s}yPx7D}SEpc#*TMX9wbL$JQ&#qtp)b)wFW_~P0nTu+skF(&5gw1t^ubs2bxNJ)a z)-kG?Djurl+f;Jj>moL{-tdyO8|R3wIZHLWLFQac-@RiVQeu*%-B{UP($2r-%b!T=@^P{nu(S5c&ca z>$U0Mv&1fKN|*5K0BgxlP^~Os)lT8}T~$?(^^t+aZDh7GNsUQMGqFaf8rxSe|wJXE{DVq$-5*ogx zv!ey_8}f_NRi*!f>Mcm$uqGrdj5H_zMWLZo-l9dmU}D5A`1$j787KOwT=$~KM0y$! zwjydnY*J2n%a)y6xJy)9$>q%QpVqW(t}k33!n3t#k$+fl`1;g@FcNz0Xf~4U@rQ_o zi*&ac4peAr76va0ws)3;XgrT+@LvPE*;}_%Z6C@sv3__%h0#yPkDM@ZG8eTO*P*a0ov$NPWvDE=snuJ|A3Uqh{rH<9!}}?t{xL(_f9C z8Q+%c(CAEo&3erN%dq-Qc536kUB{4NHgtB&frrGD;{9Tn6z(UVD2DL?=rHT5OUST` z6fPfVR?g}YKI;-CjfT;j?>pbJ5S%M`?%PKmkg=vwa}Am~-|R<>Vls9=M9p&G`Rs)Y zyePlAiZdG+ABPCPy$AQ5ce=m4e(lovGbi4Ci(uJTUw#>D2vzHG;01L+?Wb@7$*dP# z&*RYEXFYEcv}Q4R+aYVFCbx~vN^@Rz%o-P;nZ32Zv>unXUZL%CV=ZeLD?TNK#Zz*TBzCXGbtH>?8 zfR_u8jW#9F9iWy7JFQTS0*)ac$F1qx<7Wl@g9g9JSJeqgV8*Ls)AN{eB?W@}AL1@m zX}?Lum>Rbc2Aj_t0lM>RDL<|&r^fPa;k8AmvNCdgd}3xHHm>R_D{ol7xLTj#&)7eB8p9t^;O>89N4(L+B*lLk^|eoG(&&JhQuPW6RI(2$~i z&V>Dmsf*gYY+Z7JiqnU6LGxKixIv32RM@+{6twkbH`Db4aI@h^%ebTSy6cGZ%^phH zQ?Tx1at%xadnZqw#=d#wlh1B``=HllxRmt^SD*8no1b3&=)xHgzSlT_DxU8H2Z%re z`qFUNi{=4qKQtF47ZttNV-KGM`j&NC-&WpgbcqFw!qzLb(AmOwX&Ai8sFP3?j9^gP zX1x@piBtPOmNk7jOCWIv+wrJu_D(j=gtW|DxfR%nes$YlZSCyT!*(mu3^e2jDXO_# zA(Xbt{~1~pP;ddlrKmLT1t4zH=25Bwio11<+k}^c5t}9r46fqjT32tJLsMTea`(pc z5tk-0Nqy)`RYX4@RC%x~NO)`F6&SH`eG#03JsWmdLRIjJ{7N7GLz{vCWU&Uy(sGMS zO8~+%Q^oJXo{z^=r9BSWwJvJ?`VB-(NC;eKZB0cX5TMyyS@tcnJ2I`#5$x=>vsPcaT zg3C^jIEQ6x*DMbW3JM7i4+$V{Ehv=ZrvXH``O7*$EQBFtt`%sD|9&2RPuwc8i5W$W zTXyf<$}d??(sWIEQ%6T#er!0;+Yjc?SrFhK5u3PX;f(2nO_{t^9b`y}TN29t47d6i zvP~MU=Ui^TODw!B&g9C`hvj_DpB6d=&H=y)s7%I-{u|7jIu+8&8vh9E^CZx;$#Qyh zHvcwHdO3HoSpI$B>ohOkH^rN3p8yUn(J9i^tqD9BlLy;1^R|t-u|#+CVNC26y_!tk zV~nRIRzX|DFWc?Z_Ld zvNMrG6TAQ}2KBy;63Q~57j9!iKWnx`r(qe>7LwkG;SyLD8q6DD1xk2|T<5bej5tNX zNvFpO>i5^8JVgbzz&{{l#rkAgGUQxQer|SZYFfHG!;1_FW{Y1SDg_~nOUy2=!V}Y2 zTbQ52a-9$h9kwD=g^bz|o5;gaQPo&iQ;ruq*E1(8U8VjwgT#fhDyH$x-0f+m`YZY0 zZ*mQ)axNDlSZl1qMni|MsuuBibyZn$R#FuEIs%&INYwz~iE}}VhDb%Q0N85{_<^7q z^Ei_siK)JRKVkw{wsKu;Qf6^o*DjRnHI=ILZ!2r+D%(3-i=f5$)4`K3S{k%2Wg~fr zny_}sHPl%gjhSZWEzGp$47Y(Wy=jk_ExWT&Xee6%#HY!bPM!Jw-LCyWur+P!dO-C$ z;LE%PL1&U5m?EL?LaUMZt`n;uALp~S&-9X9MPq`SC&LqjO{3+se0sXp!{`n#H4a?n z)L-h(ZdbhkX#c+IrJ`l0KKJKUZ=C6~iSpCm*S*&n#&`2PzOK{W1iGI=4`=&C$ve}A zGIf5`7hm4^s{3oCt1>xr!LtWkZCH}sSoR!x> za?|jd0<00!{Jwcq9k)*YuQQV3aP<=u^EXl5^&74M*MRZh-nU#8y>j_O@|WIwTk@A= z6tG?%DIv-S4j^aSzyAeuzlEsHI-p)0!RT*0P25_*YHXJY-?OW;Q!xq{9nN-}9&<9) zi(^#L`cYt@+8$V|TOsOVvibd)#?@r>q!ujN>%&&go|C)bYvuRtc7X`YP9X(mlapm zwQ~+*D*-tA2nH6q+D2J?Hg~i%kRVw?|K|bFF8MM@xb+t^OquR2UEgqKq%QT(94>kq9g!%2JCcVQ}vyL?+-0X}O4PG>3d)k>uA@%p94;b z8O##;9MXN@tS6Wp%9Yb%{#2(%aqZ#q)oY)83VhCs@a=7*PZ_G8Nx<;buYr=+;DOcK zujc}V8qTd_BL3_dxMY5$pMi_t>PLXlRtDHB(6%-^81e;KX&ZI3EqGUA6~k0<nJbII9%E?V@3K1k zHaj~MOM%s5wD#&f-(Ch}B(SPEn8`R`RrPA1&dyad@}0Tz3YhR}qfoZUG@q&UE$J!A z-bsYLWT>pi^NPyr(S2=`U}n-?+MAjry{Wny%uepvRa91zqi)-*#6PZ$sg~BT<6Yw! zK=R5gV5J%9+=fY#o!`YX@PHb0>yQ^jF>7tg{I(Xw7$S&SSxX~VATv}g1`1#8o{xG;?jz$@}is!_7OdXWa1S~OfVBYladkm{5mBqGq1S1wyCPJ zxF9DxH<#>+WI(#8b?YL@NR3OVVqih@THjFfX738(X0mr;(SA)$Kp=;8-6~L z8b@?v(Bpxj%hyK7C1)VC+t$_5)|#1-ol9PA{g$rAtTjRWL-Wzh5%;noF=_$m+7vm( z0z^meN6|86ip>3LHm9DbNq&fLJv`L^Mdr#+{;vIh$EHn_!JS=yB9Uvb-yYb^SP*=q zjwe#a=J-()CXO8>(*(Mkz)uxj%;|vRrPLtMC3dH*Q@2 z_%aauxluZdH(LN=w>x+s{MoYRlpBP{-s* z{*smT_iW270K}){mDM)3Y$78a<>#hWj4PYk8ft;3RgFh=jf-EG0AQkN7p<#Y zO0a^ApnnSqCeVQ^aVWu;2%N{Aw?&9zmIMca%P$QMTM-$TQAqa{L%Y5gp6AY;kjLhp zoRXT63CRWskY5N)$)BLUx}+#4le$me5DhLL866wTXj53-$S6}&R+yWWnUf7EN9tU3 zUQQN2(17udKRy|hm2~;iikiCWI<|p!(7xKLlKi|PpuMsR;;s01XD3FjT)r|;#{T61 z^g*E#MG@p19Klsx-zDLpIyZ_jAW*C0#NAHo*XghROM^pwmaSO3J~k!4Qg!|cCroX1 zMnZCad1Y;DS3_1*;KJFn=gpis-`6*EUB;?;Iuq5H=_8rvVkz-C+Qef{5#e9tKuvo(BEx|J%cWH$|QPC3^z_ ztsj1P^<$ywx^Ib4maa?F)$f4#Uj!_0^Emtv$-FVZclV2Q{=oxNZwcC!&comUB~+if z|NLS2;NL$C&Z8!yf%&HME$5#-3No$y-NlbSfRelZ#f`7Oao#5)-EF$utN?eug_yf` z_0mTpC4NSvp|pjKDL~HxAb8pT z%pkxJ&4&ouGjj?n>f1UxnSGJQ0tYrqE)oW81^`v{C_sbE0TtzPh=pAMh)`l7-K+wz z_-S@>5>F&FYCc}h zg^1t%{zh`!{DUIaZiveha)OG5I}@}%S1@~49HxNBQwXd|%gQUMsIFzFZ-i#&Cm@T% za~rW7C5>3jGpKwVEHLMJIV#JCIU<>9AbSD-SXD!-q-wOZ@D{TDLsBA0!1>bN-qKLZ z8c+gTSHTceCP_M}i7{(eaOx=}lmpx0A;5rP@(jSdhXoVpyp%LK73dMLR92eBNQHbY zGOw(~-i!*N;g7E*doCfX9PNGQrq;%qs`Ql1g7Vsy&Ze@Ym8j@(uFaO4DzO_wXHOHl z-F^l8BaS$`#e4RsnJhA{nQhBA`rpc5HRpv;d5Ue z9L)v+|I$oAPBYU1z8TUW^*uNqi@(wdtS3&uuAK*i{|uOrmEdd1X+|CoG-$y2`8??9 z>+5GSF#B9uUW;lToKRAmnF_u#feFc)0U|W78CQ(U&JTp5fOQlRE%ZFypN+tJ_j4)z z_e{R#ddGqdM8kjDI$^!9-uv0n_l_Prbq1^wckPXv-`u)w47l7l*(~?4f&LyY&5pWo z?(~VH@4fZb>#x5i$0T1dUlq@s7jMB!J&XhDMU4UIX0*UL8WU;r=AOh`D(0JHQq!p)Yh6c-u!pZKu|n*&ziH6fPo5b0g!<^N;3S5 z%MCh!&u+waedulk4irPHsmTD*-t=%s#RLrO2Mo0I3Sg}?Spm?+he~>su|)Y}W(yFm zY=m}=_%TVV#iN$3h>T6mEh*;_Dwo=IQ}mv+^!^MVu#H^!_XgGUOZ2XlPy`~sNsNt& zS_NJgwVpwspuDl8b8~B>Fb1hsh7VProR(cs@=LIf4%zf6d3oQesQDU#)SCnpY=G;} zEhtf?9=KjA{+}||4{9D^Zs^kRWy>Q%0t1#TTL${SBw#6|AEG)z1EKDgE(tJw9gE!d zVFzCy)`Gy0@Z~G5sDE7_pI+LyrK__8Nq$j5I#(u(xzLiEu!8L7Sz;IoJGJ4e4j{epa!Q}Q@mu> z=MfkZ#}VU9DjbYF;jS|XTAug-Y|jSxg)ERqVw5}yLLkm2n+7!C*-_%86GG57x^tcZ zECOU=`Xg*6{Q3xX#*P{D^waJ!98co2G1eU88tY(K=mQMk#Tn-u&qgrLImUQu@ELgW z_t#}H&^(~51J1Lu8aPgpJ8`-n?X43ZyEe&b%Ab-y$+xBGzx!~X?LG6D+b zHLf^6#Lq+Zqc|1Gh}d|&xe_h;EkjsyO&|NqS~4p6f5U;TvG#~a;H6udTu z%jI^P17MS*KE8VCgR`fPlPkk<=~rL=gQQtluMCsIKXj;{#%~@Jdf&ZY{BA<+%MCR< zUdBcFt4{H*tIZyp=>Mw28(L};bAVRHX~i8cfPM$edb19Gp3C+oec!b}R?eqM6O@2Ngtn#@?2bIk{50|}*GEULTDxZLdVF%FtoWp>*HjC12m+X@(!Dd~ z*B#kJ9zB0%3DK%FtGp|#VFA^qM_~VJd2!$YrR}S-e-d|l#)efKUEw7N=j44v=o0Au z2+4P3YgrbAIB@CGKnP8LFTRJo3h9lSoZ7-w^m zv-0!G8XGE-qCz-AJ#+f3`HL2Xt&fXdICDA$`OLG70D=l4bv2~;8QZN{57GFU_t_OR zaVYNr$x%H535aE##5ckJ98+XnM|sbX!1qlUCS;zx2a*{@Diju01o8~`{G>@DtOYwT z$9qnIFqrhi$;<{b^~%Ae7j8B2@AlS@5~$=PZvh1vD_lYqj_n&`JncDl+&H(4{(8`0 z3J_dyd^ecj&>S%M0BC}M^8fA$-~k{7N>G8n_y}m%?3q6NvErXIFM3_TAWm4+N!N)V zo)?elr`JFGQlDA6r|$dUf`=|dfGfBl65IjJ5?IUu+CL|Lcq9XIg9XXJEf)xZNzkP6 zsqu;Pit{5-f%C*^$V+e>$^HB0d*4c)h2&5jb)9fadNV;ee8>T|^X`j}est~H#~mQ=G2nvGyH3`p!FCnP&!o1yF~2_;67EGWmZe&;#vr?Uq|A z3Ne67Ljv*u*h*UyoxK}afcj?w7|`gShycVUBOfLK7D^Za00G4ez}#N~23W#f27M)( zFbn$#J=1_j1apSV48YE;GM*N2fGGEj+@kWTit2{ej;<{Pm~Pp|-KGxWSfn&+1q=im zsMaPqKtM(SA>q?S0Aw=)R)#GQuwyNRBfzD@WMHIfDSo0uPX*qbg^0&7XFm!OZXwCB zy^(-|JP4+K4rD5T83^eQQp^Qb;Lk~B#`GE-x?){oRuRPrDj=sIRqi7M$YA~9O#<1> z%96M3C&eX<3JpSOHrH1ofR`UOvwuxyN8HBP_=ME-oT5s^#`WA`Kn7629|J=#V?=3X zBl6l!K3h9s0FgSGl|QYjuBpWx%-QUYj`~`WM-&$F5UBFsl$93cWh6v}2ZSwK78Z;o zAdE49OVgpDzykWTi{CTcQrRw6=$U; zCS>F0tF9}GTN$)y-W-O4*^B&w*CnkFV;Y}57f-uP0-R#k1uxeZOu5W3)12cbQf?Nr z01JSKf297WICSbG2NmG%CD7G&wGK=sRR(|nL!Cf^^7YALs-1(>}ywK+Z!Xp8xSVw7ge7{qpA551bxYLAbz7Vi$E6WXW{6#?|t_y99KAC zUGgXpW5*M9QGM{}CCQWrpZG%D`)K~||Dw0Ahg6QccfR@h%g?V}x%A=j!Q`960vW28 zdik&pIgtGg2u8?Uz;)HV4nEW#&MdJWxOf^Q@WMt5vEDEvxOf^s3?T-F%r_5lXF#8I zXkb53b$tMaCg&8b@}8lDszQ@F!IT$4-+Gq0z#?+elCBP^N7+)k-f2?dD(%0e$0yNW z34~~B-6VwB7F7D!5C<{VhKp>7>VF&~Hy00I`0sOR!mjnebA!#;H1tEYS$wNNe3_d==G9cjO z{dG)oUUl=Pj@EhzO@eTf3QLh7R%NUWlXzN8wDT7)T^Sd@Y@V7$oFt0?Ck_QKWJ>VD zYlo26ivw!N15L@u5Q80Ia|{3`$bgSb0D=x;m7U_FSwOzSAiIV{=qb2rrhpcp<#kRq zY2YR^y&HfJ6#>G0f&D~C*gpYFyao__*ck+xoZTm~1vwTyY}ynd48aOD_UOs8;1)bU zC<35BVF-mP7qfB8K)p_hcSw}BAd2nQV$BO<+% z?o;MTzJB7bPo6k&{Qcvn&VKOGm8+kAdY#}(IRJAH%|KtT8c;6F&1X>wyQ~3=^4Rq zW8?#{)_M6V=O1*>r@m0)We__J@t%`kz-_1MdhqiOjJBK6F18K>K?Fjy35v&rIg~D3 z$^*d?A(!Ln*E|WrEU-KY|h z@P(7g#288|FG!THH(1`X3v>DW7b?_mUE_ysozI#G|G4O&qU|X0xuY$WK|hcLG{Em z2S)f{lADX_q8Fm}r#q$$fFaRX8WJtoMQKtng715g3W8Ue|m#{EFQ43h@G zLy!n|3B7zUP{>d)7IaYhzd!*XgQNKvgak%E`TOsyU#t56WD<}myO-r(qksST957h- zcd2_xyR=RZ7h2%_1?t}O6i3{TTPI8!@`CO#sAfx7Qf6R-0G#^%0kF;tJ9Yg1_m6@Z zT1S7N4SDB3_}~(2%jbXdpmzYkkiRXr3vFW$C*pDCo<9EWTW=nI?X?H5SUdvikbVXZ zT08~f=dlnC>gj-m!M?pNY@$o+2L~f+nGE!$)eg6Q2CNou{RG(1A)p~5BFq7-41E=3 z-j%T|6uHVwsr^Fz0!RiW|1Hx_$;Zm^K}4+8gl3LcI#j$n*DD86u}U7rJfD(PR8`l| zAfkC5fOc<^bXuC-HEy5-Jr`&p5mH(?G9eF&n0~EXsro;weaHhmd-iA8ML`jTJRn;m zc4#ngZM0&{Xm$nh+^;m2{a9#u46ZBJCu9~^aZ9eQx?B}|;H@bfR>bOFlB@DOd2V1r zkt|HdJj-&>(za&@d5{A7QK#~o+OUCm9HKc1^s8^#EW-R2to8h0es+dD4VZN*s!7M$ zxqIi%Et}g~{xT>Xd z3ruGjM_H4TQmSg3T1uirmp(gx;et8O&Y2&ubVcljkXh4c#Dvv8EB7@Z4o1$LrHfx~ zDnHvZOB}kMbZclsQ4Asc@0&JE5BH+!(TIVUd=r*n{4h-tfFT-_hYuEbKgl@~H;uJG zKM&$27|F&ko?Su93*2M8Q5K95L~xwRbl^F8{CL;6pZ)fCzklM%r$&$F)6-+eO_(Up z#`GC|&j^eu6U%Tc1``=Bw616z`+~d_>O@Z(T8ZS7hHwd@`f^ESVdU+>AeIP0Xb&elnqIgu(h#2bd@ybwe z7c;>_;@~w+czvdV;i4*lSkzC0f!t8w#i56y_eVW)!}+cx?GdPX=bLYC-7>$H`%)+l zzC?ulnL>W7J~plymyJv2$A}Owo8m0`Q2UC`;VROGK+d?IHi0r+f;Jqr-oqG(5&=EJ zF}5H05tH}L^TI`z3hUA%m#=;DIe`Ptd%b;bmolvp1AX_L-+cYW^{eX2kKTG4-QrsW zSpzbP%J3ELP!)ZB z3ki4L(zR{pp1pf^?cCA@pi037_0=J__(;(4I4IYbZr<#uzchiP(YkN$aq(- z`s?szD^`#%zjDo5LE@^K@j@WaK@I@PX_mo}5>yr|J6;jfGC@UK`?cBA!qe(91NgPQ^N-AN$1x0n7f!nfk_j3~G z4bs?P@jv5Fu5*$5kf*%L`Fw#Oey?LYuEOzZPmo{ z#cxc>$jU1&YpBm%ALcuI?wn_)O`SQ{H*8H(O2qVub2Sf$5Mbs24}{$2F`m6I4g*0Q zXX?<)nWSNH?NQt9`+yaQ)|6VFHoafd4!0#76TA_Pun++J1RfF+KtLjASd)iM5#PZq zW9BFp6ip#OE>0Nt^ixk7qphc0qdlK|;`iq79KUxzrAB-6sEiw@#u^iR01J>SjYFDj zjphC$DgsZw>EcV{NprM%%JJl1eidYE5I#?T`4?XXK@NK175ntdpr|zaWpHqYk!Ak$ zD57)m9({91^vBNo=nB9O*b|gxdg&*E$-w|l;4k+Np#29h38VXSI$<5a8J&{RW%4Ru zO#15or#IoaangPhi1*c(bsiD<0Y0Q#-|#B*7^d~trW^U;gWKQS`0|U-j~#pOU5Vd1 zf-(5ui!baK0+L+6!(;_8P*?~4^hHp+Ja$4sj@(W3o*b_M1MD)zF|@_ayP!6kvQ0EG z;L9)}(gP&OJPdde_%N$E^~|Ht&v_~bFr-=1!*gKqD5#-c5qLkrCiH>;k|6H_ zhT&uzT;#$t_F)kw8H1yPxz3EX){}d`u{Y+2>(`Nn884zY^0%ZVuXm45SyhElam--?ewI zT#y^|30rlZL}IJfpKii|*}+ty6&INEMU_~pDt=v*n<6J~2<8osSRN4`3d0yGgruMB z6LMT5FgOs{QJB;vo-n9#am$m}!CdmFe;~UEQwaFu+NkJ+%+klfb2=N#ax+uoHzuWJ z79bC+OkES~ixvQZ@w4;&m&d0^`_7okUwD7#&Y$O;`DahVGdvAYlsb27id(KwOzEBM zX0zbyJQq9zQ?U&REg)c^3>p(0%m*SGvc?V*{Q!1ErVM!}cv+Y}B$|hM_ZmNL%+sd4 z4Nr>Z2>0SR_gIT3z&(avV2t&&HCl}kc!G(6hroJLJ@H>W1*hz%01)9XJOmcyu2?rr zo`U{!J$!cX5IE2L+7=odKh9=>{P@ykW`&PGg=-L%FG@tlN8gO5$(0x&0BwnUfwf$JhBg^OZ< zw9bi5$#shGpA+V>JMSAuQ7InN@S~mx?o z1P;P^`vff;!Lcnv@n*elHHZ#5Z-<(T1sH-OI% zWIQN9rI;r#!RnN@_Y6+jD=*e|loE#fX3k8Dy=!jZP^rf?Tnxso^02JRrSF zoW6tHLs}Y0r3MUKsp3hr(mW|D2#3Ki5QBF>4&4|VO>F#qadP+F5hH#iYpr**yag)q zp(qCI7|zZ_!$WvRu3a-`-TIB>av{;{*uHDmb}YXl5hl7o&Q$YTD3X7DPL7zL!8dUc z){&|w=jq#8h$~U$PZ#9t-(hYxCp!4?;$l(CI1DVs?Sz?)P7I8jhkg5eldQYAMfiNTKu2?<*U!YFxv zOHmb(_`w0XVCo(?0o(v3G8_b00(7dM9K7{f1P`H>SpK8<;b54{6>Ha^lgucp{+CTC z5-JM-8RO!U({s4xTamRcG+^NzD2F+-=lg}ON=^)X=2^yrXJ^fRRv}Dq{=3=0$%#4g z?Md%q3y^WZnA*c;(aT#vSwk;i7+?_4)i2s%Py`SJ`uBsekLc>3Wc!v8F3u3kf$SFA zgeWba8n>uybF|4+AYXGl;eJ|;cJMB^pK?Fh|Ag^->j{gw;rfTyWhKyyfMG8Mb{iiY z0Gt2_dMyw&fhH69)@cC;O}-@op1o%W-AVE@&Zu+0lBmAZmoE`%2Y)Aw0+8LMufHZ~ z`>xY@$00D7!(wSdt(f`C<5k`zH7y$1x~-vs>Xt>Lo_sxMqGr z(c?(6SO?4xN&NZHq>x>Zo8o$Qopu3Xn8)uRLL%)8hmvvJJY~w-q8t9defZHwSFe6@ z?K+mD?whwHc?`Of)FJsju?yTnb$I22bAmX$^9~-SH(!5U9T`U1zxwJQ)hp)97HEQX zh!x;P2mXTZD(9y-8vCEgv+u8~?%3pOTfxz>@JSg(4?A(H) zJQ6m`xGlxAv;(7LOI0Oxi(nWb1g#%?B@cl}6RI29w{G9MsTD*)e&77IRsIhPOUN~{ zpNAdWHn*FtK6D$34( z?E=jx&PhoWH*{uEb#rY&-10!KTFyXi`0T>KRj~=HXHS_uZ>p~GxkQuBmM-rcTmbG& zcS_hEOifNP?QHf=m;iOk>-X009KTghsNeVf?%!8? zHzT_S0RBJJx=DX`oa&|0`_9T|)W*8f8Kep9HqVR@K{3g@moKX;USEE7>$Y-^V6WF% zUWN-9F_J!PeH0kZgMKOb0n6|fkr6^eGI@K=9!_2jPW#5!#uo->EA28T2uOOnl(=mF zFaoZNba_ghkb^T6_DLstLyU+-d_gVhLU+imoQtRpFFy3arAt?@5D5I)=jux@Zr9&Z z-*~}ZJTQCz(NY6O?}IycZhZOqbrJ+G3B&N7+|qar0^#MC4pHxaG+#CkeM_mE2Z$CS zeOK4H^mw(?V+W(YD2;8wk)q1o9cH@;YhXtXxEqJ`#d4_5_8b~=(W*@DQ%aQ+1EdFg zu1HhkDtkEdIfY4AMq`wz(*GqZA7Tx#efy5xd!K_k?4qr;F*s1{T6c%A*uFt4)PR-C zKaVmwLw9v72iZTQ$x>><8PMC)(&+Te_ePSbd%Kn7N^sHFdjSctA8;4LTw_IfV*XK4 zqY(TjVG+VHkd{?g)x2rc-hD4}M_@NTypGnU=H^z_=po^G(?RhyPARXA$b2hM10#Rf zzGv6AE+Dt^nu=1KMVT3F^I!tJ3WSCe?z4UW3;Ukq)H?-VO1K|?=JH=uK!mhy*|B&3 zL5_p&*xJ$B(%RO+AG986LB~%zI26*=+16T%0#MSnUOm!?!DJuYwZP# zSFGQ4z-#rq$vi=Z4rMPmV8}O<=gu29;KNV2jwM$%1`i%EKn*bmOL_l3?j>B)LL#RK z|AnA)7U))O9JIXufcma$JIdk?(>GK-uiu8Z}WBan%k?dyz=tP3izv6DDxwRR(L=Zd+2p# zYakB+%mi8`+%fTM<$zO8C<+4c6e+FSX@duBz9?^jy)*(Bx}BHQFC>McExy#Lq^ztI zQ9+rb)Qvv>+6{HH3pHN`e}fcHU~hI&P=oDuJ7Pn-JOm8q1Aw>2WA=p)6v1G&yRs`3 z=P{3fE5r$D!;x{>ls3OYGX8YR9~GY#|AHawjY1v*JP4@!7jQ*OD!AThly?zp@m22c z+;q9sXf*vtBQYqb88`x9@JE1cKxuUM#?|`TbLU9rJwvE|wxB;H`DwXNzK7J%NH7r_ zO1M779;J~AcL@t6Tb~7@!>K3`>hEX^MPA^qju?#jlCCe}BDszulf6OK00N^Oc4qr0 zy05qDp5BD&W1e5ff(=zLE|4$yu~~^*RJ})Io3Vx~ZTZ!GVFt=aWnU0dtv#1^y%CE%vDE0?Op&n{*5->_xZ0iWaHu`2$B=wN@&cd?z{wvIpB zO7;PVxOHB*ml0PZ~WER&VV1@jL@Yj8V zU;wAA5g4N<f2e1h4~>@%Das=zO%FgeVF1q(Gn26@21U(vNve$>v-Remk7a9AIDo= zd%gDBtFQ79uxap{|MeH(ud6vS0qF&Fw=Y`ar{I@-dIi3mYXIka&Q|FafO+v}T2NeC zTrB6Q&z&Pw42zNFqOIg;!2nul4PXInb{Pd= z{%lWp1l$qdvC;6Shk$+#;qzh=K z?KhHnrI<;siNuV>_rzt4J25IUDvAjdzK>|J5C;tbvA(p$WCHR$P=0oXebbwePyIYl z2ip$V_8Z{Vvd^~P+-2^x1DYo^18R#{ju8}bir%)qb%UKqFhgTmo(R8MLGQnm?2%1d zvDx?^4+#wm2_bNR2K-28p%Qr%@E|bvSazG+-5}Pbf9?eQ5g9)#`U8;?kzp^r#=7p# z9znd!%`2T3b}UO}ERZM?oQVjJxo*2i?+zjVemlqAeg3=!3zxt(tX#K2)XskXu?cCJ zS?Q@szf4Mqjtu95FOQ|5;{o0<4x|C>VbQUFEPCR@hYk}6a6FLHRs3<;5}=MgER%v9 z^+Hzwfrt75JAXh(L|lAqbfkbCl?8)4UIeIr#Dm8;10Nn69TgtJ^F-4c2lnovA@Dt_ z{CoQOpc)`kjQ(HZ251Lfl`Y7sMYARey*B~X0HgjSa`K{kr1~<8|{DYW!=K zUaGGfi$J;OA?rx>v6v3cH#)NbGUs0`x#W--5@f~-nK2Iob+IQNpUVV&UE>fud%`<+x=Dl|1Gn8^ z5x^tBbO3)CfL5&~v^D?lz<*CeUrvH(@IwHarLMI9WQkreYhCKUCmuuhg<%B# zhQmSD2))Ro2X`8;iEMz(A&%*hWYq2Ci4#8teP<&eGrt98A?v?yRRjv`t7EnRz5er6 zP<_sk-)TB}fDc)WN2HK3@H-d-9&Zz759DtYj^A`fk8CtIyb3u+0Xxp%TALNK8nKi;ZAyM`At^NbDgGaPrEFED^6GaycL%C@eBMI)WpZAGYb@L;da z>sBmXw8+zg{~0#y+_lzYEJEcW{XZQtaKPXZQ#}_ge82DepKw}(4FX<-{@P)norWv~ z;RK#`1t6d2fE>28ebmZwPj>p!AiSp)g~A0QJ0`f0AS2lUFgwVl4ILUni_pT;z(gp_ zQvo#*yMZ^mN<+Z--v@0F8f0X`ulMdGZ;W2X>udr3Xud2Di5@R^s0s95kp7~t14_ce z14w6o!zA##i$U3VyP?90UO-;9(n@B8CT4`DBGCXSIdF$wNKXtj2?ggHL}Sd9;JoC+ zeR<{ssm9JnM2qu5p&JZ&Fev;1(xgKe^t=HY?>!*SliVM?e|A|7x;jj=jgKwuAk=QN z$&jGhB(2c#NRdk*(qc&sHnrqec#1f!7V zzrw=P`KR)7bF;J6$?hp-*JSX=EBAk3g$4-L-8gfpSYxfT?MGRpxT8fw37uWhFl1#;77$tY?@Yb>(AmzJ?6V+*+X zptukN!=fL_-DQ@yy zNbC_sG7DR|FsAh*{K?sQ9x=St(Vn0=DkeHEk**;mknBK*?_g0lam9l_-flLQd-w4` zi;N=MDd@QOp*@?0uk`q;Z{PPm8Zd-NvoGX%@X<$NJT?#;+ngq3Q5-pc$W0FqZCceM zssTtt=jiY$&4N4xBr8-%gb#HbiM0HBYyh#?gk(4PE@wG-GFY@gSaJgp0ljW}rRQtC zL;&>08@+prf~c>!7eDMQN~QM!zN6pwkuF?-;9O%|7ji3UBj3R|*oOXt4it5vAlrPdNv>;}Bc%FUWzpy00;li~e`T$65>b{|x07J%aGP=-bSkQM;|bBmY_ zfjY;rS@c<&oYtbJW<$$$g(ye{g8v=FuL#7|P4kwz-Cbsp`(isJ=|GvkRoD(&nyvR6 zuQk+OkrAfoyzl{l{M1QDE(bfa%uGv$O8@WhR+@zk4qx0!HhQ zFb3fO;oi;tKb0MynD4+6GC{HUtu;58Ydh;rpB^Km*gpp1fSQlg>KEV$my5E0?OYES zt|d#CGUzW}x_sp-we|(3jBUF}G>V8xNKH#h=Cny-B7qA@Nh-yXs$#oEhld6Q!a{l* zhh4n+EBy+VE(Co}TtZ?}ay+*vj|C9Cc9g&LU|}UUZ$p&BMJwip<1z6`De+M(`u(I2 z*t1959(L_MKzg7*okA3xAtnRwBYr*z7`S`u<#kX@6Tw96v;Ft>?aMDPSqD6(TCzyE5SR%$IaTx%g@uUgx{1P^bT$pBF&^^)s+>ijHM=S9`u;8xS*y*DsnrfrB5~=Rf$XG1KNR zo;tMe+wXqZUygJ>1@{2*g9Y2q2&gr-|71l1||HGUfZyGtB#! zD`59-HZ~a#I$;EW)c*+uyp8M*I}ToZyT*9Cn+SXm0e08}_{f#7l69W|T=x0qJ>xEl zKdI!R@3|@AqxNfdJ@uQl&MIy=J%zZPzEi!4J5^;a<(C~5W~Euxlj_Z5<|+fe4EZ;1 zs9W7p^H9Pcz%aC%JrtMpnx8b@Vx3=Ij_5}s2#Q21C;2^b)m%vDphz#{|+A*gg`5^(x=uEj9u32u1F&afp;5(er3tPPX|sA^!Ez zTuBz))GWS$HTKnAA?g4p4F3{y=`+Osvn1mflz$-GgkUqIyTt11QJDvY+SikIo{iW> z$rF{u+G-I1h=UiHlT+vv0-LKXQpDH%7hgcD&hA`v`?&Slr}N2Xj5xl>VAkU@vre8m zou7Y-JeB0+#Q3-*=uMa8Br~*IFi#Y|vwwg(?s6jy#mk0KBXFb1XAKbtpI-b{14|7Ow4kvd3GMhLq@W{fR z7_qS;+mXfn_z74CA@Sr#i4UNlj~-==Bm;enG1~DB&gZYb88wd7QC9V{X3h0nxpAl3 z)rmB+<^Mv8xyQUkn4Y)ol1<*102PBS`kb$)xX+*V#Ydmw492^!hIRXFa7Pbs3}_qJ z%3_arzX28sxTU|6BoPkshzj?+^}316n4HF=v_9#lt^C68y^m*y93hDo)eZYwx-^TP zAHcWv>hhZA>i?kr)BLX%di5T(>00&s76-iEX{aowg%!FU4;?0ZDbUVsyQKXAP6+^E z61NsLoUeRp_d6%kIubl$_Bc}uuvO6$zFKLKZ=3$8?UJL^6-zuC6hz z{HCtqW)oKc*o)Jaw>vqy_I6#lMdKr?Q=qNi>W|utX0yWqXx+nwZ` zu5rVD-F}_!@SJc0oVgs3^TIFyjptbNqFmzK#CdJKR}YPjPsz+dwTx_;BM9k6 zl1lEJL<=4-e=`D*;3Hrpe@QX{SEv)yvUBsYvoj&?;$x8tsgMt0)AeqBRMfLESNtvu-$`OckQOFwEH}xB4U#yi7D>jp~Ht|z(Cl40KHvLT9U|! zkO1Gq4F25W+3~`jy$E;t0C zb7AXbTpu@vI*wvjjp~HHf23r68@1MID8@=2 zSjFGs8l}FTv@hE$6y;jgs4He2M+NA{J5#Q2HZ>_`?t5(ITUuLr;5f{mC~@;Vd2;9W z&Fi%_6_=&!xKM-<5zB9WzH!RPGjq)o%{gYaH03JQl4606QY3>3Ij`bc!r|p;!nNNw z$jQq|ef4IBn0%vBm`t+Xn7)tnDnDbp&!t zdn{SZNnCO@al-f>H3R++1a}AwcW^LjblPHy(% z^Urhnk&RpTZCNsX1Oz*I9iQ|c_}Ld@XD*&U>Z5)GJ|8w@(5HB5?U;H^F7!~SHN0Io zrahn&hcY<^g6*I49DjyxBzWxSKA;nqgZA%Q;C$FsHM13dSxXAL~k{(?5;qo3E zo<@5wgmrJIHw{tOW4aN+jpJ4OD-Bg7VO*A%PRYD%Eg{&K(p^t~jY#(C#C(zI`a%Qi zYbS>Wk5-5!7Kmew6^Iu)ckLY;cj?HBWWqK9xU}MCiKSF{ESD0{ZZB44-AXTCMq*oC zQ)ATifNQ_U=Dk_CHL5tmcB;2(xA4|zmyb-F3D{g|(%Hhd2*BkOfQ8^+O|ntJ%|<(I zIdMPNG{lkQ;NPtz?2C3>i|9*`;(QBlRbk;$k5Or<7S7#XYu1?!&q+Vt*hp#+h5P;k z^{7*e&2A_*Z-!yopKE^d@LuDMhWhd{Dcr`nP6bGC3=nRfG;^CzFnDL0=_V)jq$gJi zCfK$yVhg%u`;GvImrEcJm%ML(3b#z#rjLV`oTVFtyCUI7M73PhWD#$}aYOOmVcTZi zs#k83@uRbS%#FX@Km~Vt?ismPO2Eg;)kNk?JH7s=d-orrLl0paC6d#iz@y6lSvps3 zV-*%ln}XTDNphgMy|dVLx5(OEDmpd1H=@@~n^3KygWU#hypM)N#$@Fc6qoWh=h0Sh z>O^J+B|I%7`@~7^hsMQ3>(ydJ1cuqr5Ec6SNRGcJBxRl~C@N;pa^dW$oXoToDm`;I zN2pn^`FMK?zi{|DF9bv3aY?D^8EHvz(F7rf_6Z3-epJdeoEl{rA}u_c)*mAg4=wV& z2>#hkFE1YCfS~Zmh;W(FeSBE%YrlRc+=~9%h|5SkP2I{HgtlUkIPQK44Zg^!r?a%EWVt@G>oV;@XN7L;e!mE8~`|RkdPAYT-rn2xde7dydg+F}cgF|+9qY{A z8trx99JcH!Bd*tF-^Y84*3~H5bW?D6tefsIR}4TwR#9TX*h0c*smHVV=z6Xl!*kXV>mPaU;dm?l9dzAB#6W zwoAzu>_0H?ce=}sAT;*3?cC)vZrK37dCh*+D*n4_o@C|U0X-=~`00SVyd0IP%291z zQME4+55R`K@y;Du_iI;gA_de|I|mg0uh82)dHnFhE zo?_m*-Aco5XUQhl?z;*x#ZC-&YY&OKShE%r`}%e3H`rG6fUpu}IW|^`rHVA-dqhWu zhWPt~E|R_V#HmC zPo3nimPIvJX=Zx2jHJX^j+%srV;>AzJAngNWk2@{DOkh`MGHcQNiliE5|ADsDR~E9@pcM(IqCQrl%yw zM+f@*dV}P>^Z~-5heSkB%A=yAg9H7@AnE3{Yac^Aj{w7`hnRKtZCU0%W9A%p@qMvRBEj#=&q(OOXy1SE@KF;yJf{us_x=YT z=p}l85zBnYFiyKJ1>I$!R@ilW%B~UjEobigf2?!k>k%Y3PT!ub9U#NpE57Ffbqir=PWyQk=PK_g@LB}%9Se0do@MA zp@9SPxNb#fD_9peGm4wc#S~b1``>_$%uaS_`qbC|2<7UsSz)JlccQ$v#D(3wb?f%+ zT8uLi9mX*6_;G7X8xIxs`SNhFx1;cHzRO&GwXUYRgz8>YR9N^ute56++0 z{We&~1)`HP#8I+IZLn{`R0CVqL%gOt_Z;#I3=I!YQK>x=WAAi(`WU^s{`?Kfn>;$@_zw3ZO8s=S}!rbw3 z*H8NQmq<;nd3+z`+CC=&yLaK-Xw$#58-sF_&K>;>hIroE-g2XYze!=Is0-Ky^ptZ9 zv~P76#XS2lzM%QduCKg`=e}3(-s)BJHPy@6@G{X>(fB^?>7}nPXU26V?`RcmrIyj- zoCnkrZzIWDO}unxkEh;NBqSXBGTjr%-b@u+i}XHSck=AT5#PuIz>X_bU3OO2U$aKz zGKLV`oXDZJ-@mWJy2;Ay4hzTK4kqSygGt?V7|H@k=VFlQFETn;BK+vUs@^{kqEy*_B(n3IE^H3LDpAzG$?gq`3*pUQ#Ha~uNx9P@Zu9BX~&&x@JJjX|%kAthIpGF3UFtEqP#E2~eROiN%a z;2|MmJLLD9-`cig?;-C%9u)DZ8JWomk=(HN_3=NlcN?3xt&r>if#GljQ7qQ{{dlUO z8)lEjtl*30F48>o^MiZ0tyw&el$<%@>6<&3cWRbpnlb(VvQCo(4b1=3#)xY2TnV1#4jKaOC2A2EuKey)f6oT-!1+DzO`D!LBcS+Q{5tVt6l z_gc0DE#0p5izbfwnw8nGp`X0};gGM#%viR1V*d|5dH?Oc`hF&I8K!ugHJ_q!r?aQ~ zzfbMwl*gyGPfWOXIom-u|8bKz=j7$wjWevbX`#KG+5q(LpoBpY^VVB$5}wmn7&&Wi zo&++%ziAcR_p-jmOOLZZhHjl`jr!#;W7~SZm0rA^MgUApzc083-FA&;C#qGc!`Ux` zY?Gyx^v%C1FNL71tgfxUDRumzRe(exmzx->-9@(J%JGaS)PT0|+(OjZO&5Nc9h%w3 zr*@n*Ph1{R(!1cWCqP5sE#jCTfVZWBZ~Y_iZiA9jwO#5Y-|OmC$Mv7<^8Vlf$$zMG zSnM&f+t`vjS{_UO-mP0THF*09_b$-VEQ-nH?J5xW^Y!)VDD8Ti<{aKh*%4qnVa>;_yRAEITz1`IO_`#j)wUxw*6`nqso0DOrbds^$5vihj za&Ryr0`@H>E$d`{;rXKRJfZ9A>#kIjuZ(t}s3`wbZcchqEWo4v<{S7OI~EcScb;?l zJhvGu%F@$#Eu46K7Z{m!&jncwe;&x0G24c zA1co0npuB4bZ_n~&{D8P*J_C14Y6A*Zyjh_Da*V-Qk7d}#brWeN`EOz7drE*nk!t~ zyb8}HhL^{xr4w5!Fl;h+JK)=((c5ee(-8cc$X=+~o!ezZx6`K!7uN!q^*K)Sf%Trj z2o8>Q4353QUWe=Tidkb;TdJVYYa|HAei`>`h1lW#RHTJ@Q&(JT>*`d!D}}|ljsu6T z;VybMo)Hr4+X9(ynhXcO)|waHqc`5DudS{uFLzdLrH}Km9M3mTS#;U9P^`@?$@1NxLQ|HT6FI8X>0%tDahIq1p6xH@1tY*?y2e7Cr=ZS zh|}m&(U}vOaqJyn%|!-_G47qiEVum;uyC^nvslOD2KgqU zb__6nc>In91_g(OaMyxaye9{@7jkP`kc-oP=1k)Hrv93>*X%j7W=y9_&z?DB8eRI# z8Kh~mQG1@IeIlzfrgVgD6DEuw52P8!e@}7#=9|%DCo+i7nmuzaQ9g4PufaEepo}J?0LUmv0>MqElX#N`J4sWaNaHxV=fZCWeKK(HC;j?qNRx*-&`qjy ze`CNMUVot;vnG?)`-#|HwV$QsZ3hXK6yG-~#Ln%v#<6^ctfiNYQY>gLrpd0vpjIh) zu_eXMmRe|UP-`n{(harsoHlz(gI(CF_uJ6r5NDEw&oKlOowVx4Te&<1{Sq(N6n z+>24J%G@}7Q&EA9q(b!;kNK0^6vj6CWMMg{M<5ZJZr;33?X0ROFD)rVc1II@B8?0#c3m+d zsxzW=XlKN;6!P@!(}fo=lvUOn*Lu=|TsqHyarUgFer9HQGHY8)s7C6qD<(O%oVa|PKj#S)fa|NbqnmMQY ztQpf#or2aWYVt23(?r6;WDP=@p~py+B~ddkjiYg<2S=zfXU^OOt2WcBd+pn{X6a)0 z*>ma2JzrYAb^o4q?vq9h{j49MO~D#s{h$f%8#T(?&RcgHp>NyzxZx>#`)%%B@v-gAhS$OA z>()1#7?45cE4Ekv=jd!>Pfg4t>nsCoTEM35yaYqZV%V7w)7*hh*-^8-Dt{UiL%>_P zs{ZFHN-S8VwnBMHgLM@H30*0jGAHXOoy@y-P-##?EkZpx&E@hbB@T!hI;R>t*&{nS zv?4ZRpLN5$Zpi3+)mE=+9Y9mATicx$a~XHB$jZR$geGfh5tm3U0c)#jZZ zccnL$v)V$lt9DmfbVL0DnHg5Hdv}`}uU$oqQhAw*YFz3pyZ7_wS?Qf-`emP6lYf~@==EdrpUoXWoCAOQY__mfZ4o- z;QEccWT`~~wQt96zSG>*le~z%k{io^>&bB3u6F%yCsL2#$hf5B^t9vz+TyU(wDinV z=gX?DHQup4R!?4PymkGW{4MD6ivVQ-roa@yJR z#pQBGfCm#KSV?iOl46!x47AzlP|*B3`GwI5shR0nC(oQCTKopK`>R(f%ky$lWr@X% z8Xj_tnOFJtV-Fn?mUSW*D}H)1$De)Cl=$r5yL<0`Z~n|t(PBT##)=vpL7t@KN{}ln z6gu62GYjM3_En3Y(Le;9fK$zAXQ%wU$DEl{h3S&&N$s2^$u<1=Gc&kJLG_fTSdDcV z$DKWM%)c?%j{N#-ydWc|NbQtzJ8Rbb6`S`Q4m?gC#F~Zf9lhUgRM4M(*H_7+!NrIl$Dm2 zRN%Ih^|P&7RlHDHRa0AcOV-eUMW8~ji;hgO3vw|ipL_yrOqyY;EA>rx!EN}z9_v$6 za$Le01u0(eYwZoL^>xry23;@|6&6q&;pKnAtF!kNyjtqHN_UN|^(~{xa+_`Tee*$A za%V*D(yUs4FC#YJnD0+LC2o%V$HrUm>fp8HQYlv`WrQ=iU}ecyr=+4=TD@?L!EI9f}B_q>W=t{u_G=8nMzg$^K-Wdu=p`FDXn8!~(5?+DJeh2XyB4%ifAgoUawCSAX7hdP zhfN^4)2c4qEJ4;?0C&<|Vkbmp*slBGW4h1nuE2 zlQ1RVT-p^`CSmg>_|s6P4s!71Y;1XL!kYgV^y?E6l|0csse4YNp_Z6e;HdHAXX$|iXD?W*us@K*)EA;+W@Zm62vyR zWda@S+sz%u9%HYlKe{lUiWS4y>&gmP?R49;R zk1*#Ep||&W_T0RI@$_sVoN;W)3S0-pDn6F$Sd77ok&U1nUg>-Eind(Cal}B zK;j%?;*!!bRo0t8JtH|LEC|up(Zl<9ZaZ@HI7~SDko1fb!bVfOMP5Qob1*415O6u*=}>hU!vyz%$+FN`Lm`^Wxq6S zif(=#<4rEtnd4-QWR7G~mFo>t=g;?Wr*ob$&3*aS{eHorh|M;x^rSDIHp6qproBgA zqO#AOFyiyia9E+}8aQOy+(j!r$A0?G$NdKm9`@CUZ)}4*Ytl(ydUCeJu*XQhY(I!x zrquVE`nJdkC+U0pa;~Azt+&80bE>YgZ(^eo>%bG}{48f}izVv=rm35W7jTGAwGLa;~l-3zqs*?Q;#FT3lmS@=I z=W95sbc5RMKF&4+ThOa^x$NGH3_bfNH8ynRvb@TVv*=$!aoD>%!!^q1_O-zh~BZ>$o8^u2$@HnAO z1Rkr{mskU3pDHN2$p0c_(OhqAy46r!#s#i(+_t30&Bk$(yfh(R&e#(vL3^E%g);0C z#g--e^{ecLsZ+5Tq=AH$+Xf8hXs(Uj=sx_Gc&>A327&C zPNb*7d?!YS9rGbBIRMHlf_XeKIw}{BmL z-3uh+oMQQNrAc?o)~ezP6piJ!(k8voB?U#258<5}Bm;%_cq?F?bebTn6J}=}C)(k$ zK*A-=F{bAZ3$!Ra9Q4UxmRC!OytR~IZjh?W$HGUcGCPYP2%(y;)pTGtxWcR+x>-4b z2vzJtgNja5NG93402zmch8gezU5mrkYI3}tql}M8N5n>joZ~iHO_s72r**1Mdn9Y@ z)wUW=venqGV5Mph4X0U;1p|~K?7C^*ex7x*ta!*nlJib>J;ai`+=F`F-u}pXk0`|Y zI(7Ny@G`W-^oFwP;TBuoDWqDitaX*vVOw$>*(Q*6WT-R?K`B(&_@{A6Mr4Z?ao9Q% zQ3RdJ+XSD6W`*r~mIb5x1f_-)+1)k-7f3ca&1S<<ausA)Gu_aIvf!9t(e2U1bTPZML{MnW+h)_y~n%Q!#&x6Ys@YgdtfByU0f+4goL!!b0_ix{{deOYuv!~AHB-FuxWB<5u$;>gFUm7ytGxAIaeKFE~<%Z>> z`n@~ggO5oz9XV#qAUsmUp4kSOy66I28FE|tyR!As7O7876k3QdMW^*G4Tb!YrLFaY z24q>bcN@5bL^|607M+p?f~85O5VPVDn)uBo8Fgu(b<^Bi##~-6{}6C-68){PrQC8K zMZc8`C#C?`smkE3o&Bw32aAtcoR1P^BA?lLPs^-9>!|4h8zojlb*o1sp{9tRSge2_ zI}io1K-U%MI!v2_PqzIzRDs`hNj5V7Mxg#wbRQi+Wq(80tynC%LUG70InVHX9;i}3si)d_ zINy`^Nm8a`Fhl#WbXtoL^ta*y^!h?UsE3 zp^;&M=&M#P@R)_@YQgFq-T~fSmb*_LHR7u;)X*0O4;ei4%TdcWt(p1R#~+eB-htJ@ zLQV~C1FPmBu9|TN83SW$e@+}BuwbX7#2)ci!Adv?I~~P&qmE+BPKPQh6Rvd3uUlUS zu&)8o9|5UsWdAmp+6rVN3-d&G+)-y?s|+o&5J9zF3oXRa$Yz$qrWR+l{g#~~Ahc9V z7Ax42vSj(mm3n9nY)`@-v*a;s()=>Bnjpv`@7p^|{eu`1_84)6h$)d`w3!{&Cjv^z zB35_0=o84dZna{2G8<&gW2?1MW99WjbrzGjtkQ2b@4kY5^Fy7|CKB#(O~&wdSbT|o1K%F&n;*EkZw8vjz0eEGXPn9N+MX~ z^eU3g?vP`l;gQj?@fbLM0dJgz(*X(8SxR)>b)KLP)WhF0&@&QLT`olzo}C4^gjG|@ zw6IlX*z$=Yoc#0US8m+8_vm30+6)dooyG@|ngUumDR`XNQOa_1_R0K{XU-QF zpF@L%&zavP2B*>y&a@wgp-N88&N^}NLgAS_2I8ccFk;2LeS}ty;jxhzC$>j_zk^&a zTgvI8MZ7@lJU3o)^uUczJUD$|g6)3>*K<87qbz+yYB2-J)TC*sCiF5EN||LWMOTe! z8~tx%5lPON?LLn$U&t-hg{!viJrY1Hn!oQxB8B8TEM2-{(*eJOTmE7CL@p3~HGJ3? zLxy}lV#I`*>o&~$;-f)BKI%Vc=r9f@j~qPM7~(RRI3dBZ1sEH=+OR!!cB(B5pltao zP_FAMr^^M#<~z<6EmgOVZjs+$S=O?; zJ#Oj<+t#;t^!*(tk!+q;Vp!C07Nr!cAQ^Twltp6ET1-xVF^4~S$>%cg>L~9LcBK{1 zR93JO=2cV8O2(`;>Wr&hwXXm+*8+f=g+De)6Lf%GDY*h%$X&vNfN_i1nur#a`vEu` zWJB9}llptr&S_FE7XK)08Dkr}6Is~NBIAt$x<+dc!7Yyk`Cc^UpjP}-X4`Y9g&1iY zNEnbcCZ?#1-6=_hbj+MBR0Xc$Ytr4aI_Z*&p2Em5(q-^tI~#A0YlE3J!fnB}Ad62LaV0j6Gu zjvOM6)VpVROhQUl?wPX}QIlVy0;+;9B;ABzJ2xjAFj6f8Q7_Oydwcs3F-*7^d~Qgn zL>Cdkm6&tlWd7Mpm#-i~h0V7aUGal8hG9H!M6lF;!F& zC08(kG&NnnR$Fr!yrQMbOpXpm-{|M>A4Kq963>Bi6!em!f>SveX=%8V2^9=ehu=El z3!YI+LsI7#oGZvh7L}GtryAf#@)-}2B>Ls}=;+AEkN`rt*R5ExaPgAm%g8cW$oV4E z^JfBCcXv-XC2HrqMO-je9{(_J0qilS3Z~CyH7oP%3>423Nez~_0$3`rG3K9S{WEIJ zgh`OcfOY}-M;s1ZzH!fC|De!geqM*TPqawQ>*l#^)h0A4J6HbexY2T)aQJ6m4j%mF zs4+8_Zd*RC|A&JIfBY1+LnJ+fxz{$(xvLeKvmzhR6~4+q^z1Cbf8H%irwqX?`Cm}X z4Rprb2IGFHVAk5F>8&Q|j-^u;oc6Z%LfcH~{okS0X)9*uahhlh%C5nn>kRpq_-{At zx96n*(?%gK#v;N8z{1nKa z5G?B%7h@HoMmmo(_WVwQ5aR^#AQ@)5fttcdw8cXn$5^6mp|%h)7T(JeFGk$#De|We<7B5`9NYAA**g^!)oT*_d zyfOCTapN!{>0Qs5F$Oq&Zp^5W-;fQ7_eigYX?XT zsjWb?bpTET(IJ!aO`FU#`)3pFpJSBV&Ax={k>L#=)t6c-k|!#v2%R)udp8NC{MvVB zS@t3)s;rlrsH`{#3Hp#g4^2KHnfR7`lKVCCI?Y?I*>tRX^3BtB>Z>~2N`*yep&f-C zEilGXkgl?&Fvyo>f!pET%#x zt%uepOt??PItYFZM^|EgK(a!K%oyr0?Z}a}lTf1iTpv9YW=fVoy5!n#a;&F;KKTdm z+AcnVM#pV8EmO2TP>=Z?nxEB8GS34kw6Ml9=c2dzrIgv*6qAPf+AE}el+tvvfSY7XP)MN67+VOjy22hm%?RUNiay@dob*)TnS@PN0UuYUlXEdq&LVUxIcZh!PI zR_LdzwKZCSQIK~slM7_Xn6)h-Lg=bQvG``?Es*U4E&0NM-T4YxNhb0MI?qT1HX$GI~H0N*cKY|yHFviy7QHXIqx^@Z6SeCDpF-R zq9MWDSOy3Lm^i^PPK_5j>RG9-h@NK5rMMab+XXAQ(Hj&K9e(Wa?(LhQw@_BBS-1LmviO@alXEO8GI~A~=SBdQ<8u6_vrZ@(0lhUCe^^Z$+%F zpvAf9p&zEca?92L%}$wxlZ}#57cnC^CdXQ8YB4cYFqeX0XQkzH>64wfEfEjyvt^gj zxK&h?mPwWm({3kGO}$9NTy^D2UETE?jbg!to+4rwFbSTdZ3Rzm1{x_aiXPZ**zAzX zT;iZtc9vRwbO-R-t^r*-0=yMStAtZIijx3FTugBA^Pi9T#n*WLfzuaN8Z|5gQwf)wXvIbZbFT(WR;y z9(t^gb5D@qDO?!jQA~u`eI-)&z=3`HIBtRLSh!jr>5UDa_k4YPpqL|KsCj2Eme<|7 zZ+*-C2F`Ubajv>9Ta0Zi^lI;Adx|{+29V>R8m7Hkl4t zxtkuwtj@FN%ypkJ-I!)hb!C866V(Kl@swDLMl7V%sQ(Z$iu+ztqZcn(GH2fMP5T3g z6NwA6ea@3 z!Gk~hY#6eO!Gj(E*Oq~KMq{{~BaDry)(S2JYJeS?fDZZ!}@+5eCZon)TJD zr~K2mh4p_9Rb4^>DWz2dR-h`(le0aOTrGCC6x-JG=2P|wjU!5_Z#k&%ft9SS(o(b+ zENr{7me6W@qufp8jn(wZ)!nNYaBFmqox1jH6QGrdYzeBa>p*CGt7`e5;Zw1Ubp@aD zo|gEwao2I*^1x`;N4DDC?D80Zv8H%yX)&5gf^Hw&ZM;#7sG_Wl3*04c6a|2KuB%M4 z1vkPJ9+Q?B>9=>=`ZY`D%$l=c*~Z=bj|Tc| z^PD>7YvT*^^S}G@>#xU6p0(!S&V_Hj^YJJBIac`;r)rp+#;I*c3w+a4qzdokOxO6c z<<9qtE4S$0d-q-Yw^8;o#8OrnRdrLWwH2CTdZXbr+aH~SYg290mEvlrCC^%k8W*{I zlRjB3ZXOAYb2@m~%yyV*+0Z)AJ&V7-&?;Bobeqf}Xg+3F+u;dtE_qs6^89H#3nB&6 z47A@>Mv23RpJ7XDEAMz;@~g6nD!h7EuQicmBdOI~uVUpxjEQeQ^x%86w2&ogNJwl_N?K-4-YEes7lDe+!rzGekSvd^bmFFBqPZJ` zP7tb9#PbAY9`1gC!!DeL#Ny`I`TX8}hmH_F6G$JOnv+*hf35M}!^g&xzkkdq@!-J~ zG{r?{@^}QWfrX}x7TIwE2^T3kHlSzz>HM=7Dr&Faxci9Hy^roMyaX%7t`}cGYEo=; zc-YaSLT80XrDWz67GJKe5z_h2wVJZ?vXwoNl}YL4!IO}jd-~j^(h3PzsE1x=ZpK)E zfSDCfY%)9CQ+y){^2la8Z_7^fkrV9S?FIN0)K%a*FejwSylz+IwQC>FIIb7oIr z-#QxwqtlTGL5$H}xMITasI->x?Gx0bSFrDlA2)jJ@q a4PszsTlFz< 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

RR%yPFZkxqf#z~RSo4q85*qbM| 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�*0sE0Q(wBacK7yS>oY}9hb{I{ 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%0A?q9J}m3CzCjHH-w)u%r+&I zWV3D2m}m90cl5V4w1%mlYbXu>z(TVr3(fykW6k*s)P=(6!TJfKH-CY710J#;razKA zk~!bSSw4@|WxdK^X!}a6>9cd^KRG^yrDkhmyf*SM&{_PF4w1gDZqyOAlY3({xA*pn zplcD-QT7UlI`LoxbqEaSP{-1JQBY?DR0i>KK<5zY?@EF$-tn2N%ukV!`bf|@sCLF` zha4KFxo0gV4mRXsHPYkd3mrFYWx*iVxd3wQEsdBqM2iJEGq@Hp%<>AII0QRZ5_64% zH_x9vad=|55Bf9yh}-qUwI6NTw0ZNA3*8?Pp%n6ZO{@5=#V=Pe6xMPVtm^QByeU_Wr%jaTn z$7&C~UuPD%T@~out|u>al7)hQ^`52NuGoMS=YDNI0(EzMYJ4fMv+%5OuvoI{VOK#K zZ!j2&Cf?vliyMQ$t~D8xZM$5#t3}rj?08r#4|jh#i#u^g92y-Hml~)WQ31wdF{9wH z6GiG8a)y_QJBJ$Ct|;i9UWY_b6st$SE!XMALCHkRJi;pkJ)a%Ub$vwify zau?2*JIQr$3hWwMx(NoeVHd9r`tq=2w+YXM1BHWKM`t&=O~7uH-4WK@o5g71A+X~Q zXi)D&AE4w_i@ql`|6;F+T)^vc>Kzk{eM~GK4Lj|ZMJjh~H>NL~JU%`)Km_!oKxcmB z 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

!VQ%wZ?v24;i5v2p?|gq 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

PE+HVZ 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

  • Rb8~ZMvQ3+eG*FiBPO?_ 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%0DSl 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

    Ztaier6&9*-Z7bv$sswyy}Kg;kQ0 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 A{r~^~ delta 438 zcmZo$&blo`g@J*Qfr-Ju07NS=tWafOP-9?V5D + /// Gets the form's window list drop down menu. + ///

    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%0D`Fa52e9ZMY`Z%lU9Bc7S)%Sjii&lr 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 literal 0 HcmV?d00001 diff --git a/OriginalAssets/Region.psd b/OriginalAssets/Region.psd new file mode 100644 index 0000000000000000000000000000000000000000..274214ea0f93b51d75583d48f132bcd50cb0307a GIT binary patch literal 28644 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 VPC~<6PwFqpIZL~uB9ya+{{=fcRD1vc literal 0 HcmV?d00001 From 2d3366a33897937b4e32c211b264e775a798563f Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 1 Jul 2010 23:05:44 +0200 Subject: [PATCH 053/164] Added some experimental stuff for Windows 7 (nothing works). Refactored the notification icon as separate class, added window selection to context menu. --- OnTopReplica/Assets/icon-new.ico | Bin 10806 -> 86918 bytes OnTopReplica/MainForm.Designer.cs | 25 +++--- OnTopReplica/MainForm.cs | 20 ++++- OnTopReplica/MainForm_Gui.cs | 6 +- OnTopReplica/MainForm_MenuEvents.cs | 7 +- OnTopReplica/Native/ITaskBarList.cs | 45 ++++++++++ OnTopReplica/Native/WindowMethods.cs | 40 ++++++--- OnTopReplica/NotificationIcon.cs | 84 ++++++++++++++++++ OnTopReplica/OnTopReplica.csproj | 9 +- OnTopReplica/Platforms/WindowsSeven.cs | 20 +++-- OnTopReplica/Platforms/WindowsVista.cs | 67 +++----------- OnTopReplica/Properties/Resources.Designer.cs | 28 ++---- OnTopReplica/Properties/Resources.resx | 14 +-- OnTopReplica/WindowHandle.cs | 2 +- OriginalAssets/New Icon.psd | Bin 7684036 -> 0 bytes OriginalAssets/Region.psd | Bin 28644 -> 0 bytes .../Assets => OriginalAssets}/icon.pdn | Bin 17 files changed, 235 insertions(+), 132 deletions(-) create mode 100644 OnTopReplica/Native/ITaskBarList.cs create mode 100644 OnTopReplica/NotificationIcon.cs delete mode 100644 OriginalAssets/New Icon.psd delete mode 100644 OriginalAssets/Region.psd rename {OnTopReplica/Assets => OriginalAssets}/icon.pdn (100%) diff --git a/OnTopReplica/Assets/icon-new.ico b/OnTopReplica/Assets/icon-new.ico index f43bb1cda810cf60805870ab6cbc1430ac3ca4c2..18362992f3fec1ff3742fd8b63d393500a8b5cc2 100644 GIT binary patch literal 86918 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

  • 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

    + public ContextMenuStrip MenuWindows { + get { + return menuWindows; + } + } + #endregion } diff --git a/OnTopReplica/MainForm_Gui.cs b/OnTopReplica/MainForm_Gui.cs index 9cd969b..3c257b2 100644 --- a/OnTopReplica/MainForm_Gui.cs +++ b/OnTopReplica/MainForm_Gui.cs @@ -40,7 +40,7 @@ namespace OnTopReplica { private int ChromeBorderVertical { get { - if (FormBorderStyle == FormBorderStyle.Sizable) + if (FormBorderStyle == _defaultBorderStyle) return SystemInformation.FrameBorderSize.Height; else return 0; @@ -49,7 +49,7 @@ namespace OnTopReplica { private int ChromeBorderHorizontal { get { - if (FormBorderStyle == FormBorderStyle.Sizable) + if (FormBorderStyle == _defaultBorderStyle) return SystemInformation.FrameBorderSize.Width; else return 0; @@ -121,7 +121,7 @@ namespace OnTopReplica { Point nuLoc = Screen.PrimaryScreen.WorkingArea.Location; nuLoc.Offset(40, 40); Location = nuLoc; - Size = MinimumSize; + Size = new Size(240, 220); this.Show(); this.Activate(); diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs index c385b65..361558e 100644 --- a/OnTopReplica/MainForm_MenuEvents.cs +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -20,7 +20,7 @@ namespace OnTopReplica { selectRegionToolStripMenuItem.Enabled = showing; switchToWindowToolStripMenuItem.Enabled = showing; resizeToolStripMenuItem.Enabled = showing; - chromeToolStripMenuItem.Checked = (FormBorderStyle == FormBorderStyle.Sizable); + chromeToolStripMenuItem.Checked = (FormBorderStyle == _defaultBorderStyle); clickForwardingToolStripMenuItem.Checked = _thumbnailPanel.ReportThumbnailClicks; chromeToolStripMenuItem.Enabled = showing; clickThroughToolStripMenuItem.Enabled = showing; @@ -38,6 +38,7 @@ namespace OnTopReplica { //Ensure the menu is closed menuContext.Close(); menuFullscreenContext.Close(); + menuWindows.Close(); //Get clicked item and window index from tag ToolStripItem tsi = (ToolStripItem)sender; @@ -179,7 +180,7 @@ namespace OnTopReplica { } private void Menu_Chrome_click(object sender, EventArgs e) { - if (FormBorderStyle == FormBorderStyle.Sizable) { + if (FormBorderStyle == _defaultBorderStyle) { FormBorderStyle = FormBorderStyle.None; Location = new Point { X = Location.X + SystemInformation.FrameBorderSize.Width, @@ -187,7 +188,7 @@ namespace OnTopReplica { }; } else { - FormBorderStyle = FormBorderStyle.Sizable; + FormBorderStyle = _defaultBorderStyle; Location = new Point { X = Location.X - SystemInformation.FrameBorderSize.Width, Y = Location.Y - SystemInformation.FrameBorderSize.Height diff --git a/OnTopReplica/Native/ITaskBarList.cs b/OnTopReplica/Native/ITaskBarList.cs new file mode 100644 index 0000000..e4a53bb --- /dev/null +++ b/OnTopReplica/Native/ITaskBarList.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + [ComImport, + Guid("56fdf342-fd6d-11d0-958a-006097c9a090"), + InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] + public interface ITaskbarList { + /// + /// Initializes the taskbar list object. This method must be called before any other ITaskbarList methods can be called. + /// + void HrInit(); + + /// + /// Adds an item to the taskbar. + /// + /// A handle to the window to be added to the taskbar. + void AddTab([In] IntPtr hWnd); + + /// + /// Deletes an item from the taskbar. + /// + /// A handle to the window to be deleted from the taskbar. + void DeleteTab([In] IntPtr hWnd); + + /// + /// Activates an item on the taskbar. The window is not actually activated; the window's item on the taskbar is merely displayed as active. + /// + /// A handle to the window on the taskbar to be displayed as active. + void ActivateTab([In] IntPtr hWnd); + + /// + /// Marks a taskbar item as active but does not visually activate it. + /// + /// A handle to the window to be marked as active. + void SetActiveAlt([In] IntPtr hWnd); + } + + [ComImport] + [Guid("56fdf344-fd6d-11d0-958a-006097c9a090")] + public class CoTaskbarList { + } +} diff --git a/OnTopReplica/Native/WindowMethods.cs b/OnTopReplica/Native/WindowMethods.cs index 3b12152..5154209 100644 --- a/OnTopReplica/Native/WindowMethods.cs +++ b/OnTopReplica/Native/WindowMethods.cs @@ -70,20 +70,43 @@ namespace OnTopReplica.Native { public static IntPtr GetWindowLong(IntPtr hWnd, WindowLong i) { if (IntPtr.Size == 8) { - return GetWindowLongPtr64(hWnd, (int)i); + return GetWindowLongPtr64(hWnd, i); } else { - return new IntPtr(GetWindowLong32(hWnd, (int)i)); + return new IntPtr(GetWindowLong32(hWnd, i)); } } [DllImport("user32.dll", EntryPoint = "GetWindowLong")] - static extern int GetWindowLong32(IntPtr hWnd, int nIndex); + static extern int GetWindowLong32(IntPtr hWnd, WindowLong nIndex); [DllImport("user32.dll", EntryPoint = "GetWindowLongPtr")] - static extern IntPtr GetWindowLongPtr64(IntPtr hWnd, int nIndex); + static extern IntPtr GetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex); - public static IntPtr GetClassLongPtr(IntPtr hWnd, ClassLong i) { + public static IntPtr SetWindowLong(IntPtr hWnd, WindowLong i, IntPtr dwNewLong) { + if (IntPtr.Size == 8) { + return SetWindowLongPtr64(hWnd, i, dwNewLong); + } + else { + return new IntPtr(SetWindowLong32(hWnd, i, dwNewLong.ToInt32())); + } + } + + [DllImport("user32.dll", EntryPoint = "SetWindowLong")] + static extern int SetWindowLong32(IntPtr hWnd, WindowLong nIndex, int dwNewLong); + + [DllImport("user32.dll", EntryPoint = "SetWindowLongPtr")] + static extern IntPtr SetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex, IntPtr dwNewLong); + + #region Class styles + + [DllImport("user32.dll", EntryPoint = "GetClassLongPtrW")] + static extern IntPtr GetClassLong64(IntPtr hWnd, int nIndex); + + [DllImport("user32.dll", EntryPoint = "GetClassLongW")] + static extern int GetClassLong32(IntPtr hWnd, int nIndex); + + public static IntPtr GetClassLong(IntPtr hWnd, ClassLong i) { if (IntPtr.Size == 8) { return GetClassLong64(hWnd, (int)i); } @@ -92,12 +115,7 @@ namespace OnTopReplica.Native { } } - [DllImport("user32.dll", EntryPoint = "GetClassLongPtrW")] - static extern IntPtr GetClassLong64(IntPtr hWnd, int nIndex); - - [DllImport("user32.dll", EntryPoint = "GetClassLongW")] - static extern int GetClassLong32(IntPtr hWnd, int nIndex); - + #endregion [DllImport("user32.dll")] public static extern IntPtr GetMenu(IntPtr hwnd); diff --git a/OnTopReplica/NotificationIcon.cs b/OnTopReplica/NotificationIcon.cs new file mode 100644 index 0000000..ff35701 --- /dev/null +++ b/OnTopReplica/NotificationIcon.cs @@ -0,0 +1,84 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica { + /// + /// Notification icon that installs itself in the "tray" and manipulates the OnTopReplica main form. + /// + class NotificationIcon : IDisposable { + + public NotificationIcon(MainForm form) { + Form = form; + Install(); + } + + public MainForm Form { get; private set; } + + NotifyIcon _taskIcon; + ContextMenuStrip _contextMenu; + + private void Install() { + _contextMenu = new ContextMenuStrip(); + _contextMenu.Items.AddRange(new ToolStripItem[] { + new ToolStripMenuItem(Strings.MenuOpen, Resources.icon, TaskIconOpen_click) { + ToolTipText = Strings.MenuOpenTT, + }, + new ToolStripMenuItem(Strings.MenuWindows, Resources.window16){ + DropDown = Form.MenuWindows, + ToolTipText = Strings.MenuWindowsTT + }, + new ToolStripMenuItem(Strings.MenuReset, null, TaskIconReset_click){ + ToolTipText = Strings.MenuResetTT + }, + new ToolStripMenuItem(Strings.MenuClose, Resources.close_new, TaskIconExit_click){ + ToolTipText = Strings.MenuCloseTT + } + }); + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(_contextMenu); + + _taskIcon = new NotifyIcon { + Text = Strings.ApplicationName, + Icon = Resources.icon_new, + Visible = true, + ContextMenuStrip = _contextMenu + }; + _taskIcon.DoubleClick += new EventHandler(TaskIcon_doubleclick); + } + + #region IDisposable Members + + public void Dispose() { + //Destroy NotifyIcon + if (_taskIcon != null) { + _taskIcon.Visible = false; + _taskIcon.Dispose(); + _taskIcon = null; + } + } + + #endregion + + #region Task Icon events + + void TaskIcon_doubleclick(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconOpen_click(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconReset_click(object sender, EventArgs e) { + Form.ResetMainFormWithConfirmation(); + } + + private void TaskIconExit_click(object sender, EventArgs e) { + Form.Close(); + } + + #endregion + } +} diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 161a93e..feb2094 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -12,7 +12,7 @@ OnTopReplica v2.0 512 - Assets\icon.ico + Assets\icon-new.ico true true Internet @@ -149,6 +149,7 @@ + @@ -157,6 +158,7 @@ + UserControl @@ -292,9 +294,6 @@ - - - @@ -312,6 +311,7 @@ + @@ -358,7 +358,6 @@ - diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs index a9e0a11..4cfebdd 100644 --- a/OnTopReplica/Platforms/WindowsSeven.cs +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -1,4 +1,5 @@ -using System.Windows.Forms; +using System; +using System.Windows.Forms; using OnTopReplica.Native; using VistaControls.Dwm; @@ -6,10 +7,19 @@ namespace OnTopReplica.Platforms { class WindowsSeven : WindowsVista { public override void InitForm(MainForm form) { + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); DwmManager.SetExludeFromPeek(form, true); DwmManager.SetDisallowPeek(form, true); - - base.InitForm(form); + + //This hides the app from ALT+TAB, but when minimized the window is shrunk on the bottom, right above the task bar (ugly) + /*Native.WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle, + (IntPtr)WindowMethods.WindowExStyles.ToolWindow);*/ + + //This adds the task bar item, but hiding/showing again adds it back to alt+tab + /*var list = (ITaskbarList)new CoTaskbarList(); + list.HrInit(); + list.AddTab(form.Handle); + list.ActivateTab(form.Handle); */ } public override void InitApp() { @@ -17,10 +27,6 @@ namespace OnTopReplica.Platforms { WindowsSevenMethods.SetCurrentProcessExplicitAppUserModelID("OnTopReplica"); } - protected override void InitFormCore(MainForm form) { - //do nothing - } - public override void HideForm(MainForm form) { form.WindowState = FormWindowState.Minimized; } diff --git a/OnTopReplica/Platforms/WindowsVista.cs b/OnTopReplica/Platforms/WindowsVista.cs index 0ab143c..d31b4f9 100644 --- a/OnTopReplica/Platforms/WindowsVista.cs +++ b/OnTopReplica/Platforms/WindowsVista.cs @@ -18,74 +18,27 @@ namespace OnTopReplica.Platforms { return true; } + NotificationIcon _icon; + public override void InitForm(MainForm form) { - base.InitForm(form); - DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); - - this.InitFormCore(form); - } - - protected virtual void InitFormCore(MainForm form){ - //Do not show in task bar, but display icon + + //Do not show in task bar, but display notify icon + //NOTE: this effectively makes Windows ignore the Flip 3D policy set above (on Windows 7) + // weird... form.ShowInTaskbar = false; //Install tray icon - _contextMenu = new ContextMenuStrip(); - _contextMenu.Items.AddRange(new ToolStripItem[] { - new ToolStripMenuItem(Strings.MenuOpen, Resources.icon, TaskIconOpen_click) { - ToolTipText = Strings.MenuOpenTT, - }, - new ToolStripMenuItem(Strings.MenuReset, null, TaskIconReset_click){ - ToolTipText = Strings.MenuResetTT - }, - new ToolStripMenuItem(Strings.MenuClose, Resources.close_new, TaskIconExit_click){ - ToolTipText = Strings.MenuCloseTT - } - }); - Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(_contextMenu); - - _taskIcon = new NotifyIcon { - Text = Strings.ApplicationName, - Icon = Resources.main_icon, - Visible = true, - ContextMenuStrip = _contextMenu - }; - _taskIcon.DoubleClick += new EventHandler(TaskIcon_doubleclick); + _icon = new NotificationIcon(form); } - NotifyIcon _taskIcon; - ContextMenuStrip _contextMenu; - public override void ShutdownApp() { - //Destroy NotifyIcon - if (_taskIcon != null) { - _taskIcon.Visible = false; - _taskIcon.Dispose(); - _taskIcon = null; + if (_icon != null) { + _icon.Dispose(); + _icon = null; } } - #region Task Icon events - - void TaskIcon_doubleclick(object sender, EventArgs e) { - Form.EnsureMainFormVisible(); - } - - private void TaskIconOpen_click(object sender, EventArgs e) { - Form.EnsureMainFormVisible(); - } - - private void TaskIconReset_click(object sender, EventArgs e) { - Form.ResetMainFormWithConfirmation(); - } - - private void TaskIconExit_click(object sender, EventArgs e) { - Form.Close(); - } - - #endregion - } } diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs index 91be802..aa53f2c 100644 --- a/OnTopReplica/Properties/Resources.Designer.cs +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -116,6 +116,13 @@ namespace OnTopReplica.Properties { } } + internal static System.Drawing.Icon icon_new { + get { + object obj = ResourceManager.GetObject("icon_new", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + internal static System.Drawing.Bitmap list { get { object obj = ResourceManager.GetObject("list", resourceCulture); @@ -123,13 +130,6 @@ namespace OnTopReplica.Properties { } } - internal static System.Drawing.Icon main_icon { - get { - object obj = ResourceManager.GetObject("main_icon", resourceCulture); - return ((System.Drawing.Icon)(obj)); - } - } - internal static System.Drawing.Bitmap pos_bottomleft { get { object obj = ResourceManager.GetObject("pos_bottomleft", resourceCulture); @@ -186,13 +186,6 @@ namespace OnTopReplica.Properties { } } - internal static System.Drawing.Icon screenshot_icon { - get { - object obj = ResourceManager.GetObject("screenshot_icon", resourceCulture); - return ((System.Drawing.Icon)(obj)); - } - } - internal static System.Drawing.Bitmap thumbs_up { get { object obj = ResourceManager.GetObject("thumbs_up", resourceCulture); @@ -214,13 +207,6 @@ namespace OnTopReplica.Properties { } } - internal static System.Drawing.Icon window_multiple161 { - get { - object obj = ResourceManager.GetObject("window_multiple161", resourceCulture); - return ((System.Drawing.Icon)(obj)); - } - } - internal static System.Drawing.Bitmap window_opacity { get { object obj = ResourceManager.GetObject("window_opacity", resourceCulture); diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx index 17d5191..5f64b69 100644 --- a/OnTopReplica/Properties/Resources.resx +++ b/OnTopReplica/Properties/Resources.resx @@ -163,9 +163,6 @@ ..\Assets\window_switch.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Assets\icon.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Assets\flag_danish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -175,9 +172,6 @@ ..\Assets\xiao_ok.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Assets\window_multiple16.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Assets\component.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -199,9 +193,6 @@ ..\Assets\xiao_wrench.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Assets\screenshot-icon.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Assets\newicon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -214,8 +205,11 @@ ..\Assets\regions_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Assets\list.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\icon-new.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/OnTopReplica/WindowHandle.cs b/OnTopReplica/WindowHandle.cs index 5cffbce..61eaf2f 100644 --- a/OnTopReplica/WindowHandle.cs +++ b/OnTopReplica/WindowHandle.cs @@ -39,7 +39,7 @@ namespace OnTopReplica { } else { //Fetch icon from window class - hIcon = (IntPtr)WindowMethods.GetClassLongPtr(_handle, WindowMethods.ClassLong.IconSmall); + hIcon = (IntPtr)WindowMethods.GetClassLong(_handle, WindowMethods.ClassLong.IconSmall); if (hIcon.ToInt64() != 0) { _icon = Icon.FromHandle(hIcon); diff --git a/OriginalAssets/New Icon.psd b/OriginalAssets/New Icon.psd deleted file mode 100644 index 42531a8c86ccea77d40c0a4cf7e40ec87d77bb82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7684036 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

    1IDa;)N>c~UADlL!JKDiAkpnDQc@r#f6&$ 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

    ;XMaosaM~`bxjd+P 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ΠQ-~}dX`k1A%&YurAb1EwE`%&S*JDAl$p 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÷MttoTwR3 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

    %Z^O56B6=xTTVDkRQ4xM)0A{V~TR6d|rxJSFe; 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

    }ZKpqDZ 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 z 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 {6qag=s!lBjo3IU&%NEQ1Gt(VM2z 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%0D#1$m#i+YWZ}QVMf4cwcAU{s)UQC7Te(7beK3ZQ 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]KwV0WMevj>yU~TC)z&RG@i^n>v;sUDa0i9K= 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 z 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

    *fO}P9)lOt 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%0AM_q)Q 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%0A9M>dVa+?yL4qTw?w4`z1#<$z-p4h^U@#Nn2 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�_t1&+*KdDv{RXyb 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 a4PszsTlFz< z0Wh*U)f0FCAcQ*zCXg#1y;}L&{{*GZt<7IXsUB*{wENTG%01b0@()^Fa7BBdjkOG~ ziho$TWp;kd=N-zZGL2u_ap&i@l3$m@8_QH%i*cZVC>q(nkcQP(24Ic$?h;S&=#h;h zbX=TlR!(%%@Tx}JU&Cj;twEu8GCS}Irf=Ken#_l$m9Sf+PF9NQFWOqH5ANP+XsBaQ zEvJ}Dr)xj288z@pug|b50M#1fZvomFfbtJq(e}2+$*d|(th}rt@|lIzjy=>2>x{OD zVx*#f&U%EV7WI3i$a}zIXoQM#L_Uwy2Z>Nz9HEb=P8YE8Bt4IYZ_a8+36c(MBo>y2}SxZiz(fm9YbM7M# zX<(g7b``K>zzuVR{2$RJ#SsyioW%1WBa?WmnmXb{?>&6TG~0M{RxvFv&2dg@3dNN9 z6bg%x+Mi1-v;pdY!diib~+GoJ`A!!@>Jva^= zWDK@Q;Kg4BWYe3Nainm*33t@HK?I4fG`(v3Q7B5{+|zPN5=D`0UPSAFeNM{cS*u(` zmcp5DJ*}@J=Tk5Xg-K!p)#?b_S-pZS5^*BGR)ev_9H4)%4%LK)pcrKdo-75Rw2d~j z62HU!Qd(YCp&dL|u86zsCaRi;nC!#}@I;Cv#F0|+5o0M{9qe?VQW#$n;H{Pi3T=~} zO39QeJkm|HOB{ZFS}i3?)~qvX%^Jqjdc3YT+HN*CDm4GLdx|;KeCXWTP@)k`=sDE! zTgj!7xL9Vjy6P%cthn$m=m`|cmtu*3j<+OHIRh(X63sM`H7NuM0!mwg%%T!N=Nb|g zW{a>!x5EXaNsR5mszjiRB_=Kbl_E!BW6U@+;a_F3D7z8ul@Zc41u<_nGbl%S=~)c7Rvh8!~1vmiwTQ+_Vg(#G=+;io8yw8;pfL4rU)!QnTQ6@Uf?26)7=Mh zTKnOhrmI)b{$J>UL6#>&B6hvVNF)toV&h{IQ?kjUDzAkCY`j@hap@d8Xfh_#czi@h zC#6Cw6`Z?RR#h*TeVQ=C7Lr(%l`21rIO=3xzL40|?Mwv5!2yT%@7OH&n7Kl+PE7i? z6>626E}w3T7s2@`_nvHQwB?nZjrO==qLYDivYO^b#hj?&X-+W4+b6s_Ug+S7(^$}O zfngyB*lC^DZsD8^4&cZD4mhq`xpcvN&t)suZuL4IdSJ8XwDF_A`r@ZwfA#f96vUrT z^w{CEed_z~en!wU1F2NZ;h(GFU4{`7%ckZbY?9$r6Ayp~HYH*1)9=?z>)XzXY4kDB zK>*9%9gZC6Bdry7Y7J5O169#PyxMR@Ty#zNa&YHpvR6`_n}{~&#`3wQLKF_#%PQVh zj+)ZDT2BK?;AuN$&9}+NrvR%akL&=IM5%&5Cwu{_rh|n>vIA2GD^&zcx>DLW%^>h> z(-Qy7V%BlsPE}PuCt^mEMPgpJ%G_zF29xzFv!TVA*$z9T#OZ1UTAXNv+P(j66ALWi zgrteBv-8rBthLpd*VOfv8?DTqs>yZ-5Z^aRfCSu6%vLfiY$ml5a)|E%OZ4P-luPW| zC?CWLT6zgG5+buujN3%-XD)585a1Ppj}2_-<^yI+vK)oJrDEPPZhi|)shoAqz*5|Ct=C&1ZCjZw zsjhcAs-;yu>i$^vq_QaGTZyp3u>ZV`s*D==wvZ=y43HL{hYI5%!c+E;t7%CTfO zJEcfOHnt^N<64s*C)$#gKAK`lGcr|%YdUlh7&FtJOHH9cu(2f)gr&KP2K9ywDo@UK?Z5}|$jCLs|d^HIrjvr^)s zh;|}fIs3$=(#!O!v?Kp~{VMq}#RaENX2bC&r)B1zKFe8of;LKv3i2`%BEZI$wQGzm z&u%8E4uh^-Zvc_R*sSObWy^-e^!V4gFg_k=2eltg7e&cwLv4i4h_;nEQrcAKENPDI zLs`UO4kH9#J9QRtQhxSbSh~qX2`YuT{aauu?JK~ffz`95 zvo=b7#KS7!Y(hn6tu7Gv>SYcU>jg^_4mebU!u}AgWTk;^V0cnzTcnZIOHo=`X=166 z0#VyZTb}ilHP4pcdWwIau(txr<}+r2<6G92W|ki}_+6xaN`7NUdrOPVapR|;rCN4F zFjHJ|sl2RQ*dP;YjjH$+V`ceeVS{emB-U6i3b)8wrI~KFo9rrOzanc(BuMB7DV^pM zi3e*YEaK5)D4~ZBMbP^|hc?~5-H1<)fMuzm^_Xa`I$>%dYpwZO8#IssP!%MQg|@bx zwiX7c<<-_US&_<4$Kbn(asmMb(=6rW{_Un3q&X5SOlym>Hb384Me}HDouP{@yw^di znm@52YG6N_sFDyQrP@<$NwySed^?Hwz(`kVKSLr+6*JS!dM-OBmrgc2 z3p$t$iZjPi#dL!kqV$nwXoT3IlO)W|^nZr3NkY0084T!|%mW`E_V)1)3}uMRJ6lp- zS=Vr@>2?!^j7nC6iIo&3i8CkkESx?zD3B{>hrzn97x`r(l8;ZzI$cy&d*k-QC#wBt z&5v-_)RYmvM$&2~*~hVFqM5)e*-Yt$y*>LxKH>;2z}~#U78K2Kad9?Z2DoELmPpGy zk(Xc9aj90~C{Q+C$jIQYndy?nQ|_P6u&Sx3C@VRipOX@C+rRB(&7!I;+trT#+VAsn+^rcG5-o|}fA0Rx;wC+i)HImw)CPBJEH z)CyuTtpeH^a~CgN!hUsuC-dgYtp|?=L?$Fhb4`86ru8cqdwRIf+p+tAe`w&IrS4O) zzfPPm=J_!rkrxf0vSjzs-BSrn{Rl167c{dSpzUaB2it}^YpH;CptF>=ecRPq-{XuJ zf_&>+O?~KQ-=eEUSVZ}BB9*<0E~KwF30hxZLjyU1}`4aroPo7TJY@Rv?55x81bp;58lW(k?ib%OcKs zl=KMdDgwegoIB7!#ilAiZD?iklu$$^Yf_vwN?2QQt>0oj3S=F3)LnJYu$qr~2G}~w z@>L!U4&E3Jv;F4}?&Gq#QD0w$ixrnmF>z}ArA4n#NFqA@9D~qA^MvFunOQ3HeugcR zVw%;CJIi z){|7%2vjc--g2%$taIpvshv4Fd8f}^EGerLvHp$gb+zTJNaZAJMkd@V0F-T1@ugBQ zel{;NDLTaGz%EFbWy>}LL{P|~RPHJ}Om~ZinrC`AX1n4icT9DgHhspF zDfY?Tks~lZPMSPnf@l)@jv3AEaE^g;QD_q9Mdq%eBVJ13T(D&Iwgbmm+YqFDWZ(An ztB@Ib%wMwd2m$V)`r!1iOTJiqoDpF} zy2S1BSgnHgqs0xh;|n6ip4Y}EIcVWBPYM8q_V0GlKTeX z>NS<+mo5~Z&CkoiP97V};)SDKzP^WPe7%(SAJ8(8PKNO;A?3tryl$j7-@kuH1ijY? zjwmf*Eh%AU$ZY*!nF5Y4j3(hFH5--g#geMJ8%+!X*Xv0~J704CR1T8DWQOcS7_A({ z4P{kam$`qhiG+ya3ndrN5`_%WCD1J@W|dn}Mb2pvf3nP^sNkbsdv|PDyK2SCtq{$d zHmqGE4Y2G{WRtQKd6DvTEHLLhHy3X?QD_Jhqy@H3H?f~~2fUzn^3-u`Jk=O;^e<2p zjo>wU;*^>6%No6ll;^*!*mA%pG!gnK$os&a%_~+c!|}Rc#d;rZ5e9Dbm`$Th+dFB} zixbBT95j5=cE892<34=*{UKkE9tCXs&prn)Rao4GMU5}^|4K?DU9nc*m+M{zhR!{<5Q`~H9XJ(#3YQ{U%4DUN8Y3{~Iy_TFo+wf0N@O$fUr zZPaHYm+}dKp@SZGKf&h{?q+9`tHD+8xUF2v-= zgbbp=rO_?13IS`8tJo@R0JwdC(xw&eFQ&ed+7DDJ3#HWySb2__ayaZ?aK7dj;zl*C5-4cNW(Sk(O?yUiQ(#BM*+N|Z zZjRHZAu}M-;pmBT4J}TglpC4&PO|T3`&g8lb%;dq-MGb26xoS`5)c(d$9Ur&<k-Cb};u(0PUjumAeLUxOAAC@T^$6OqP>XxMMqYTV1uBb&zed#*yq|S3^ z!PDvTQev4%vv?*azmQm^>N??x#1+?q1+a$VjW_&AW>!{Cbv1$qWGA9?uI516KFWEb z#DcTp@vOGVM}BabG_XG4(Yz|uv;$y+W~dqegfD#Bw8<33Pb3D3`YAoE%%04lA5r?G zl9HSxW^nzk9`y_f;SzU+nHHdcxYE#_}W#${Eg;)ws85X z)p+W+t(`Z8B06Raw>v-l!K6_y4<9vkQ(FAoU;gShFTBoezftdwc>B%auXFSR2B?QI z)Pw6(z0&upIqf5q5Jx{=cK?=JT`!=M|GD!yn4o7GXko2q2=f1_qI@DR5Y$O2^?69m zz-c}1dO|%e=dm69>Yu}*FU$L@C4Hl33u;?~OtOkkwh4ZK?A@Z7j zPJS-mdnl*0xnE#XN~y%8F^2Y!sOqG-3*y6IPv!SWv6EFw9VY-9P=2*Z{QhNH*q*zd zE~Bplig)F9uD+w$oA}*iaiYHlyZae?z@2n<U>3U5F93`6Mj}(0Wx3S#oZzs z%|`$py(?dL@6r|DA%CTdXPtV1lL}5l-YKS{nM8k(MVn9aZgYn34^bxyKc59g8e71~ z44FGb_#n3W5VXB}tz9NeR1yjaR^p37Xv;3;fKD4MmTENVD&@&N>=_Z%l~uxiNRnk|TwK$exxGM8*Y zWcLAh$R42hIZNEdZfHYSkyX%8D7_btU@_}_dPDr%lZR81^A22I7qw;EVcR;D{^kpJ9);S5t$f8mxqqP%l|A~_N}o_a~711t?Y0IiN&kr z%YrBWix6ZcBce@C!w?LX>9Vn8N@JS|Q$v&4i*gq4*`5bd_K2cDe35KXekz1)I?5Xn z8So$MWL%vqC_a7~B^~nPCRV9+ry)#pG7qLnimjyPCqVKR<+{+ zv2{l{;DuE7>sd!&oN{SBi|Xo|gpzd`UmD!asmijW2ptMof)th$toZCK@Eez0!Ot)BC9ZHQ`F?$-9@Wzj!WKJ0W$UC5LUQBZM#Noeu>Gk373i5== zG0+pDwXYw0wzxmJMC*OYfnL^r$y|&7)gNQe0rqTP`SX=MnHynQVOpPNdVI`!)Otcc zCMe{4w6b#N#(B<(+Rh2%N)y_DvWk-yl7CX}Jnj;X^_WFFrH(t`SKTyNR+L?Y1FR86Mxbo&P7}2)SEoH} zNe1<>;&$Iem43~y>#D*&COFil1R4~!5|AS8=XnR)O8cTiT2L2q1KCzW+fYu)*O!ur ziA>9Rjc%>Gzlr?C#C*0i)=_mtTVseS#pXwRvFIRby?8+HmlId~TljD&=%eu@e1Un< zhFBFl*+7#@rVe@bN|GRYAE+9(9F#sk0;*GWn!WE)@i0TdAYI>s-D>}V+`^*L<0np@ zhL;utOmz*MXK@~3nQ}lqesi=+7!V&DLs)}~d?6|_lI1@EeK@vL($aH_%PKA~XG<#7 z^=nrywl|)wJyu$fBO@O-;<#tGVIx&3d=p2ZcI-KrQ(9Hq_@4wMQ}^o6o+#sW!cre| zcN&8BOjfAOh2<5^Oa@noEWU8QU1EICqNyv$m%)z{RU(^i{b5TpHna+US$LuSk({I2 zz|DF>m%=xqYGCqPA{$8WSFz_e^HcS)-zT5mKa(VEF_eg2M}6clB6U4!kQ|}=;C*|d z=wHdw9cK>3{%=wf-Wxsf!>OOnp7q)Mg^L20g2BZr)~t`+k(Qa8e`r^9IK1tmxoXY> zi$m6L+MbcVEo}bu$=syWV+P1!n@2{D9XDl7QpAjR-Xv4(jd!qM%WcZH-jebs7_`8k zdQFTb`uBY=4<ZFFsVOlct%!|QUf*2jnm){3`#?aO5Mld zn9s+o$Gu?j{{o4$oYpaa6eP5haH?No(JHX=T=`aR0}KR&A#Z#K)zJYeEyGSYr~qE@ zXcq}i1(i^VU!c-a+IQ4j;$K>BpeKeVp(5GxPd2PR zHp}rQ^1;XjDm-3Q-`3H2>2OiJFmJ>@`V zZpn!=tsVIBhF$J#Z#q+TyfBYoUa~fKsHA_{zB4U7yZBi7shawR7M4q0c(l1Z$2l5$ z1X-=(EIEPI`kZR`9|)gnDvuX(P$qRJHz=4)qapylz1Ba3W0vdgV-@Msw0akypZn~= zIpmiR0tOW$Ow8X(!nMI9E^3MOlarA4hr7zyOmqt&?o9RL2*k7v)C zJAZKy)a-)!3xZZ`h}*h5qqsCTeP=A&$e@Lv&-`>&@S3pAX$8g6A@e?-1Tp(QccP^P z{@~qFGedW7o$>3RzX&2nk9vC~Tgee`50|~hYqX-4*-Z*06_E7%-Andw{a^AKs=q+w z&%cgH84T4|5GkG!sfqNZJ|sSBkl5&Ka8nVT*u2bELn@+41mi~%`+Q@e^O#GpNayKa zfMXzHp{4C(YShI6g%F8FMZWvTgGD=5QgYObLzx$V986WELyk(}Jcj5>#<8*?{3tcF zqN37^hwOebde5C}f}p#2>FPj<<3)?3)G%-=a~1gD|_B zhFHttsq;ge?M+P*>~Qw1T-FK@-lU$i?_qUkYjK82)R?bm_L!3Cpxcu(&nn9Xs@$L; zHXDWAex2snt2p7H!D;VqnHTl$VYH`vQ}>Ysl8z3K40*lpe_?lK1%X?VUA+kIL~)m! zBQjMA>;7HbRa1$>x5#S4cuF=Qh2^f)=I9v6QglAMQx9YomYz7<RUaEH~?^3#s2gtcS-jMp95dxflaxFMf>I_> z_5^+flv!2kca*&eJ#mSB)FB%b>d?^QqS6wei+#9uX#0hZD_ys4_jKR&UeW;uoj?=K zoMCo|K)8hX+yGLdzKIZSw$6*%4tf<}(#I0^M*wywK?%ra)#afQ^>-U>4>EyXaeP?_ z6Zjg6LFIN=mxR5azv=94(ai&(2pb*{zDe3zK_PUF4}==%8HGTG*{dJ0_uFa1QYBn^ zkIaZnk_XZ_2cuIhbgzoKsP{fdc(j-`4jsx6E3rO2C^IWNH$R_$^dw511m!(m`+sYcqsT za!1CDrd*Cz@7>Sc#VK&7^A-dKFH=h&TQY0*{1qFM_hueDQI?y!6$|##papYh&&I>G zAt~c%(Sg}h-k%H&OETxgv7_F3>#c|0`#5=j-29iH``OQ4e)s(equzb{ZTl_VuLYoc z?MI(}+4_CJ?`U2Hf4=xH@b^pdM*awYQYf_#e=w$Qh#N{J!=wA(86XV;^}l^tEdLmT zu1YDB2wG)>(T~9X<$uwDJO%|-@KRa9AfPPd&m0|8 zN-afSnty)*5M;VJPRXo#pspTTk)7n_>$fcLWoa;3aY#hHusQ?S+h0>x21;?f^mQPb z%6L&3Kf0;Iy@$x=7(k$(3udj23Zta0O0+0bRSYnju6yJ4U>tJev z08*bFikjyXTAr^0Qjs2{4%3A~etD)5d6+$9P7d+ddoYbiA|A0GJGRleV$+J!G4CWGx?u~EoGc}g|44`* zqhx08@spw>Cy9?tv`a+Qo+>NB?R6k^Yr^JD>p7Up@iM~diP0tanmdM>HI2^8*REf? z!Ee9lY^tlBSe!#zU)s(jxk)NV#*=pAt1hmnX}xfT`T9a@!?~KO6P!}Z=HgO8abXd? zYdya9_6{UMFuo1NBn>QR$r80xuXuFk ztOctgckIupswmvIHFo2gWx;{Sb>_}rxoTr-QPIIIpL{rB@<$(hD4`{S$u}Q*Z_%N& z6%&8)%b!2<@_QeSeS5^$F{xkmm^Fs=dw(!#zvuvx5}f(xA*p|&`XOniM`3VabI=1k zX8oJ>BkSJg^Q|Ab4XtEo1lWx`x z=Cf6|I9gSkZdYvz6_3s5H^@v!I_l$KCA+#;vHeg~T;2WMTkadzDVCSHU2?Ibqn!v6 z3dXrJwHTy1KgAOAv|TlT2uajpj#3MbM;pB>mJwQ2!J)LNdbdLyn0x(Fk$B6&7Z26a zk$(4}J~C8tX+>$eZ=d9W$$w?1XZsJxr-k?7%pW=I+yGA^o(?XRymnOOu(dzhwslML zw%z*>gBO;G36iC&Op^6yPL&tK$L`-v(+Dd>p25bA>s8nzkzkl3!CVN>KUUSyeuY8$ z_RTBjTWTu`vks-DY}1APvwDwG}L(| z=ylF=z7j#>l}Ov(bfPEg6u_#~SdM54^5nWc^OeS%FIS^0Uc8$7xT?L3?2)?55= z2`}6RJno%WZ{F&Yz<68Icob8d_6~++W!*0w>D6I`A7iKjdX1d3b+)zIEviYP=;fq@ zM`Z32G=%4+w@Edt7Tu^?2DP@eVa*iasdmxo*bJ55;I=S9R7_dIPa62$)neX4@~Zp3 z*L?@O(hZ6S?JDGNdn+|SELC*mjGzGq)X zUNKP}E$zsFFLib}o7sUJE6OGPYS&IW+Jsof$&IWt$PfvSjE;^?+O_Xc{;|{bEf+3c zC63_A#pW|rrFrRyZIa_hZwQZw1eeLA$`bRDnOjG(yvhOfHZf;m`jCr991djdg5{&~ zR4uy>jtx6oI5%8@!nai9w^`f?-@SbcMQ~F@7@!MXyEeqPTvW^djt*58{A9_}n9i87 zn35>*mW+uX%SK;+tf%RZ^duAOK6>DLqmjmVCwS4QsxdE*XTF;xVmUIT$9?q440eb7 zbyqH15;%X(%#he^J5w@>kF(s52nky7`Lr3cXDwX4F*1HvMowzf%HT;K09UE4A50uK zl0cAQJJXZq4uAF4mtTARt&wBd`m2#LBq|iEdbsqbS^|8?7qDK|FG}E+1C^@vo1S0l zU-bAc3KI10WWA4)9ITm;9+({KX~&NhsJqFA!+P=y)WPP+un6WJbw7sRN(Ms^S6#_Y zD0P|?gM;xz`ftSua{-CP5mQL zO4=@dbU;U_bjKlvo&%nPI=u%Rstkvzfqa5Q$P19CL9ehtvaN*kDg3))hQ@;Y{6b85 zkaH(bG4VIIUl2adX47AxP^IkYKASEP+SJWz;;N9QjCYbBa6SOt2~cV#@Lf)s z+2`zft3iO~ZBeZQ4NR2NAOEFIE9%!Fql~Yq*r|aHx`+$#0H2uoW1^DHXM6ADc_eNkewmbO`M7e2|MK7iSSJevZ5uEP4dq!658o&tqi}5}c`hUO7(NZ>C5ec> z)O7ZA1-RrEXA<|rV>rI!|P}S7du{WT?X2rr;W8QoJt!y!_VNzkl=15hF*B89(kVk%bSJ6^4jtB!N;Eh}Q2k91MVa(QS&F zCKQ0H){;{Q^Lj2Zc5|%n3OXg$oO6^T(XJgi%2oCHp=;g z{*qQgNh@`VV(p8P=E`y(p{z-xnd!=))#Q0`9(L1YS_h?hveVTe2NngNL7~5x(PjcD zikp`o?*J@@Lf>b9Q4@oLftnDog$Oc>g(KBRzf*QxR{Q1UCr_b8tvOTINW$IK>)m}^ z9i!c}9h^534CubWy(|w=y4YRHn5ozsa$KO>eU_&Woy+F*&dZ78+KJM{>1RJD`fBQZA0!Wo& zrrW_<-<$mSZbAWY-eamlyM}?#oZ~xtuIXH3qd5RpAh}hteb`Qy38xtrrq=)S#t0mb z3G{<0`?y|IQH>Jt!sRPnmoKz7RUR+SD5;aXRh?iCpMCoK?#C1zb`WuU)y& zTw8UVWjv{nhbX&4S^r~%DnC`**rM8h)l^qa*kqn~{nImY^NV-|qVblqp4dK1iV7&W zbiG^R$R~)PkcLsvLcrDv@k#~ZxR40RIkW9qdiDSzTlAc7h=p+)NB-mh;N-~!yWai4 zZ_(DB-mox9^WrTw`G z06t&3HZm?bw={2CNYKKWW5-OIF?a5)X_MX^KK$KD%aVqrt^44$H%5+lMmo^-g8O+V_;URx&P5i4*Wp-tf9&!_ zS3OR{C}m5~B`xFQmY9Z#!g0!>5+pLtT35Bp7lgwa!ihwN^yPBc6^u|Wk;RAw%3w@d zM`#t_XMQiNrJ|AK34(NC9W6|V5zTzL{u8OU$!rEI$i01PHPNmKb0gt86=-Bm4lO@{ zt{d$(P(nd-;$c*UsGzE<&eYY*Te|ZawkWxY;8hNqMxS`QM|1s}wIFp(^$w)O+__`j zw%qo$?k-FdE_DT*VcZ{h)9t>2Q+NQ!=P?W09PMMjPl@8c=ykAB(6&O;ZL9Ax7+QUO zV$$G8n$bIVWbK8R`3igdim8}6ukI&uKA5k zId~|isJvQ2(YyFJx!QW}RJr_9$(mu;?p?bNXXmhosFJ|P_I9M+#d${#k#4gyIf(*9 zgStQC2=$C(ocxBC_O@2B3ge){P@J+u@T_A0CMG&MLXd>;Y&C*twMZ@0eCmacz(KNu zUog-9JirWQvtTYEN3`#g?(lcuX(~7QW-lU|am8vZ7pqr?tl@Ljy2!+X={YB=j~>{v zWz(u9i{{SxeBtLyqT=IH@=lZ;h*&&t?zHjaK3%wC#iCEgzWwUU6M_$xKNLRo^>?5? zWp(%=&i;u$`csY4@A}%o+cJc`X}zU}-+2SwHFe5&$V+5qa>mvPid;W$z_8TIdc8+l z!JmjZ32}?;2n0D#x}RX3$C)2t$q~1putwT))>Vt;zM7NL3|tL9l{GRmmqbU2u9Lyb z@RaNbAVz$4LZ3|uL|KL1;056#^+ZfdA}WK#2OnZkzo#g(%CIlt0~T`MmYkPz!b$nQ zhcGG4F_x2^;<*>T8v$ns2J+*Aeav} zbgIwlwYo_(ziC~!F8h28CLHRvzU8=sJca$b0LEc@I)9dWHWY?osMO3kp(YT-4&5JX{=HZ@{w={i>Nu7g z8Ye`d!gQ3Kot4FQ6Q8d*3H9DVTudjd32u^|-46&um1vkOR3uV=k(HyLp^q|AY$|g= z0^VLbP6M8Qj*Cx7+`u`j*u>THWAQ*BTe4{Mhf-xHi_3sz7R4*Tj z-ua&Y2w=^AXx2Zj2KrNd^w`})L>#!r}m zFwI;Z5I2Nv_6T~EdiNG{m19KDJ8Fb}+j`4-qnDPi=l60K+WM{gMW^UBDMSs=TmNM} z+x?9GS+68l{M3?w;vb7j69_#6d^8S zNg0x8nPXCdoKl9&qKyJ%SPb8%VHgYG>?uQ5o_xv%?8{;#C5af&(%Yu^NYi$&5b@*j zUSeusNVpgWs46tAxH@&e?7F2O@l~Zx|NSY>T2PnXovF%ZdZVe_gsz+!*<|7G`0f+>Y_wwIsm%oC@Td*qe%QTEY zbD%N#l09>M&^1=YSGW|%>im-9A}jPu`m%M!a_P$qZtUqe#nq;p9E}Q+1cKy@uJu%L zj|h*^pmJXMMM7V&&w!c9v2$QZGic|iLZe{rGi04cr!mIc{+6Qb+T->XT(fS(KjN3iSf7!>n3cL~hfIB}Y(X;-v89iFP=cOEZM(TI$5q+S@e%l(M`I#Ewc-tB-b|7i< z6lzTIzLO90Tjz_Mx01p{duPE3_WhT_#pfWM)RNmcKXE@Tx-Ym1;V9%2`w#2eMhjF) zE{rcw*j*!96U&q-RM0gI_~-;(d{vs@CefF`TDTad{s>tVDOqx{Q!9ppE?{JkgcJD$ zVT|eg8B$NsLtAp(n6kyon-V79d+3GiGPA4`;}OCxlShN>S)KkyH5$hg71XLqlgC+A zNvcfkz_U;Sb@thBoT)v7B(u5Q=^{erPEVh=8i+{O*XOZ>vAAyEpw8T}dk2td3Wgjk zwaxXLDHN9IQXqR7N#)kb8@^}*MqrE^^-c7`@lZaP!?y5z(xKSv;@&)?70 zt7et}4Z_H)I>%XaQ3R4gal^na^%nUT=HrreFJaiju7{;o1+n-p!e9Ye#6En`pNhtMZWmM*n}y`V`gas=8zV@Y{gD623m>NI(bIG=wu3wy!LPv{)o z@VKb;>!9n`u3Eh|dfWbttTWBExqDL*)~zN=7%j+x)v<~3drzLLI+zr;GVqfRrx+A1 znl)wo`{So4lpGHJ#>*qdjvYUhvPa6=lu7STWS1uDXfI&0NAwu`283{+vS3u;ZyAwALE;@;o7Y#&{i{s}aUj{n9 zQ;sG;LU;(F*WI%GqSF&ck3y-dD;@mYXH-=c(#!bs|34O4YzEF_P9`WRV&bmzeF@ae z_vl4>fRv&epJcNxicqZIbERLJXrF(-FIaC5q?fpYtEzJ5$(nRv8e8427*nv3r*PVxnp&^d#r8^ zE|4#S6J(Pts#;o9vxAr?zXnl2(!)9G)LFQ4HdZKek#;(cdP~hLh|)^Rjg>WwG=!X- z-0YmpERp!;<*DKacqR)9%!5YZv3HW2zhz)zTx?XNih4Fi%1cr*iG&B!v$FEx={Q|_ z*~RnT+17Zrrlcs3%fqQDFbX`(k&(MnQ}+`rmP-m*ecR}1J)zWH2bS#j>+G}(Gds>F7Tv0LR9m5Ni5+=hf@hwTnotyVp} zA#zhp!gh!bNxd(lyT+G5LSd$z_P4}H2!+2rIl-9URuR0rLZqUmIM;-=M$=gyoqZPm)axs%6@p7806@p??$f6r z{kO(x)2>;g^?Pd69W(nV(4pS3-lo8ieq@=&u-A8@jVVaII5QNlVUv;n^|rPMqf@Whi(KJnONPdsI{SgkI(3wjSKXMjr`-Q1sr3cvs? zy(YR+0T~_}Y%#KAar_}rARYuBe;Fp-)EO;;MX5FBdn{pCR(+og6Oal0DQJHkB;>K! z4Z8IK@;zDFx^F?5d%Y~DkYLcn^~mnlpEA>r6AuhRucyb|YxVKxuIa7^kT+6Rn0Y!c zwza8Ne~O4|@@s66Abn7H7Brfjl1b`3I*`|GF?@-m5G{#pma>PT`^A5flM7M^6w47g z1(T1;cvD{R`-OE&Ce#|GP@LGWx{N-j@%WzD(97DB+x4yvrg zWX~gm{1PdNf)pL8H{JIYsC+wQ-P-jVqGJ*X20U;mJFg%wKQBKQhVk1Zh#lA~=}SA< zCPhc^z^_~y9ITf4Ev1y$feu&$L5gFMy+F-Z^Il!FaNfMRpD$dzWZ8<9p&K!p1N4m> z;25G3ckC;wZLT?%nVKAj-+S@Gg@H>}tV-OvGrO`fFD-WCs-VwjO`pDcRp4in$Bmgd zZGLQ4M)-{JdiaCyjGH=Z?q{=RaR}za3FCViYE;8VH zLaFPiGv^FoL{cFvLVrzhaiLFOVpU24v#Nqy;us4^A$jO4#e{(uE7su_XKHX_a!VTH$6I2e3{ zgr?gPUcjx~9;NE|r6Q&nTY1>GT2OSB2VOzWxLm;za~Wl!)6s6X-Pel9LSl7+imnGG zXB>pAz*9?d8sG)i$R8cx#4Z31x%V@l6i7%(c2?FAmF1T$>u3%H>-6W?xRUH6yAxTj z$_fQ0ERn?NeI`<%=xBwE;kR$QZ(QNFZWYmXvYX-6j|g@P|4|9wBaa0=I(q%6cm zZ``mxOs#t`6mm@*ora_iRzVu9=*4Q`|3|LDg1|+ALCZqI(L=1?6vN4G6ji8sH*VgR zx+m*&bAA5d-3bJZELK7Pv~+cNR9x!rLuKWeTVuHSx$yJ3vu1^b&YM2^?U9paM&y)l zo%Yh3!`^*w+(#cX5q*qJd(wv!C-l&A_0n?b(LL|k0LC%O_BC6>ePEHhfgbj&wmAZ- zf9IC)S>Xg;@|`jga$5adKc}9R3Fc1~6%pXNo(y>E>8GE1^2w)u3{ISUwY%jD)L`eN zxbW31V-4FNcsD_dvl^KLy^o6{3f_udP;!^R9(>OgUR;)rGUsvU(FT|{c(=b)L~vO9 z3P*ntfsLcvlCOTRHP0V6k>pu~ujZ-r-5!K%lZ{lZFmU#1yGCx6aZRO0)qd-Yco^#& zTvyDB6tkq=6aa z>{(gioH9)oEQO>Q(QKhigglfvEFUQ%{6_%!7}CHafMSD%0w^OR8_RwMfjFMMD&>Ep z7T*Htl!D!gLE&g6%Sf?*6O?(rv4%OqD9}^)sN}(0llWu%HnsJeJ5o|loZ^JRMU=AK zuLP8V(E*Q290G99c_Ykm~EHf%#gSU5uo^NA?hB}JaU@_xv^L+GFj==l&fBr&=~ zMA%_^oetHj{8ubT)2f%K;DH!Hf`ZhdH|V+ogBC+5uUWfdb;yROxP&;=N6{O@H$)}w z+@E=ry9ycmcEpCQBA*~ActvPbd~#ZP!SVc*=54A z@2!{J0E1is*k;+;Xh2~<%U1MR2r~}f$~7+{c_7QA!*WqX98apJ^b>wh{n*95E7y59 zwnC@V-R3gDa5uuBnG3k?FMwbf7}%%oo+eDW(rfC4#%KB81A_EhLPi4z-wbcQ_pNMv zteNSx2M?~waWYEK+ zSwOeYrqSUAusVULBMVaw$dbrL+&gK^V3)~69UV-+1rt^vQ~Lny8mu%`#t)IZ9yqWM z4VfNW$N8o@k$!(mIAKw+5!lS{C@h6QY(z})u$cD|qn02zMIFGHvU@jf z%eWYGb%;Bij-6_UP9B8phm0&c+Fq~1{nv+vs<7`Nep|kL1#;9CE0Dv+C6Qd`vsI(P zWwYduS{HlSwyE&TF&Hqz#hAR39j8yfigXnMi%`|o;StQ{oA9WRf)@@Uv0+of_C0&E zs_Lpr^7d?t+puEsf<=Lgmr0`I!Hm-5IlE%k1}&WT`GUa3feV)femZr+nD=L`OG#Zj z;oY}J1WcOx$t>>0BS{}PnM0T#S`+N?BK@(F%&DxH`lUPv6CeB02)Loi$KkJg%-& z^i=@lUWX+?jjEcrIvaBN8XzWIXPNVuB+5zfi!pipg+kIM%TM0NroS@Z`_?$Vl}`Tv zZ#ps7K?GTlY(->_;09)_(sR=yQj}X zd&QwGQjcl5__AoZz5*L)EXmO6HZ2!%0(Xa6y%MCudXx+ROv{?+D!+@=8nI4&UoKXf zyf`@SI@U3@wfqy9J3W0BmBXR%CIxvV{v&9$CKz=jEVnH z`o2ATh_TswAUz|yiZrMetS4=)O-Rm8o?zN3%$3_zh~BnuCkjfsDQ>VcaU45&wxN}G zgLG!?4Rs{)^TvM^WBq13J0F`%t> zk}df<#4PK0N34qZSECva4`06yWB&SeYu7Aa26C3IkOC0~{Y8P;x+4X88czxTM&IBp z7OfZlD+B`QTi35qtM$r}20F+CxXcl}bWPa$kk#SQ@$u17F$w&Zunn7&_v}wEZfH7@ zo4q3;Y8^@83j>2zZH(QKdf>>>;}U$_|m(~^bLCygKb(fov6QL{!)82e5D zxcO|>$5W@ODP+m9yzDgrau#vO8tC*f&D*eC`dxdZ^{zF735EJ%_s7;CCj~z0RX2Q> zv|Y4Z1i-m}Epk$s;`MVdUbI|hikC_LKTP=B(=214iv1sZoX8BnCx6Tu;i~J3`>Oj& z17DW!>oUOc4J>SFr0u!~92T8EVI%<-fJcI6WQsSr;IccpPwsX~*!IaU(PM}&fg%*p2VV7||iLnAq4P>8QD!j6(N$}KU24EegDf5VcK&-=M`cyanOq{x- z;!uS|Q+ASJqE@~h@a4jtIV1mY{8LK!2EVW7fqL#LIWM8uVce(s$f)8L4w;xZTae`y z4q3{PZ8>cZ^Nfr*HVqy4(;nqy+cQ|mXM_k)YNTomkraHliDOk=T8<1jb*pY3EK-~^ zXW#<#xgi8#8Kl)n($q=2d?*Mj6{7a=Va&qnfZzT!ScWv)_%H0#f0hMI`e9_y2M>^x zkyl!N`b=F*o0Gehf`*DRjPSYqmK`=@#}64nlC~!ENN4609XnCmK-M?0SIE{nT0j<( zGq`9%;gWx}Z3lHLtLQ{6dbKNzMO~NL>#C0xi3eg|nmO5wP?avwD8sEpy~UBFs7z|p zkcfMZMnVDpCTVNp76`D7VIixQ2M37&V37*^PVl@%fplWQLGu&Bn& zcvS;A`!%_>;Rb5NL%rxicw@hypXcQHp8y#R9D+6=_N02k@9Cdd*Q^_ST{mAh+}9ee zyZIIQvbwCRR4uuQ*a{n9RySWltxq1~s-AnSGLN-Kw8^IeQ#0hn;)i+6v2Rnmew$dv4#p;X2t_NA%bi$1MJ#tZs z<@|a^dfKk!EwM4u_ptz7L+7WK>EKrvEnT~IE z$kKF*`jD#{sN<{;6e&{r1IrwuqLBGUB%swhijL0!OXQ+npPeqvpZkk*V#G#ZHZN%7w(Vw+c0~tSDu^R}uq!+EGmcKZVX8 z*m1*L%1(JtnOwV}p*zZc2h)?Q#8t?TU+i^cqXRVA>F~+-_dNI}R?4^80dg=6P}k6N zlreZe_B*6uAW9IoF?$`TKX{D_zmulQDqa9K4v24`;}#D7d*_8qM%``PxOd5^arE_2 zvivDXNZVMN0yWWLTOup45wKazPDNV$zjC?p@6jXB7y>B97Nnz{oy283+uGQFHd3%? z2KC7YMGC<6Gf6efL64Jdv+_hgkUsQKI+;(0IGmOZOonnU^jKLH;ehpxs`dGXbA-9E z{>;frr;(GO83OWma$G8P&pzmfqT-U{E`UlV!TyuPt)vmB?$6-nOioUI zULN5b^tUvv+mhm0I7KHVMs12t*t#`gOMEQFXvNxy&B-a5rIi<2PM5$-Zwg$vD0s!X zh`7zk2KfhXzBFPI$rs#A{ZxH2P=wqcsmT^8 zYz9ZnQfjj1i(EFELN91iV})w)qQz0Pg9;u_ahA<|isRvJ3v_94Wto<+U*d*T6gJMZ zhx{l%`wb1^^NQMan-;O>Sq@!rZN_*Xe(K8uc0b+lgnDcsbJbH%3&`9+%yrv&$9>x+ z5OeEW58|8wRQ;~7ezwOCUWJ8TEjrc)P2X-oqUG$kOlTTj2Gnxs4luZr()DK=;>s`+C>$()?^TLXR&89%w;u1axesD4p!LHQ5GH z1I6DEV{f)1^af?XqgM?;;JjR|P|NLQ51JDb5|AAfykzOpPgbuD3EvdIbr*#Dkt~RM zWCXk)_U}WLLx&i#DJFK)rp+LSmN7muJY+R};r4xbC+k|ymFMi+7Po%U!o@2>!Xx9i z?1T@YFmvFEL2V7H(9o63mn@t$Wy)mov?qT!;aFljWq0ml;Z6<5LW%QI^?-B4C59<5S?nL?xY`{sJ`WrC!;F{z=HF=kIXe zyZ395asOBV6Y%(BOjLpxw}s@`%@jaU>i=@zbltSvy->XaP;ya*{CQSLV?bAIu?5ks zc8hB6Y3eca!B>jWX%~(MDiG|1quP*cW*?+a4-$E2tu#6UA_xonq_D#Fap%2qR3cX^ z{%kptpkG!hJ^(rB8>I|ElJSZ3R7#MM8AvJWIf31RGDtGM0T7XZLUdP|naccQ7)NZA zUvrD%=qO6Gi>gyy3XsdD9J9D{*Xuy!CW6r`Oimv3qpXPTl_7)(HbskJ3gzg-81imj zqf}FeI1kg-D%|%OU_?eA)tG^=1h;)5IlK8po?$W^a0EetD)>%O0X-i7DQ3W^tVTIR z#&$J(`aC(Z2GR~Z4ZD}RcW*jmAFAg9qA@B?)z-H_YGcCf>>w(osto+3Q_qA6$YK$T zkmkfARcGp*NM~iLfSbMTej0I?IB%6Ymq+}up38YuaHp?SNJmiBgckvXRM1}TE z%8rUwQC7GEr>wnBuhy#^E2%qtd8j?!rGre)N}yiw;G&?VYu0UyCQWki7dq*753dm8I$1qe52(&0ny1<(l>38|}?HdT`{%MVMDZ z?683KjAKEwFvCr{|D)+sKX`NG`=5|LzgQ}b`gnlU8o>*tHR2Kyp&9aLVbS=VeM}}itwvwqB(%kS%qej#GToFqzaqf- zgGP;ZP1K|ktFCCY=q98IM^dMJJG_QWm8 z$vbHPak5ia5DjhFvG)if)U%~|`;w!=!$Ov=41wAsb14!%(f``GZgKE(l+kz;)`qTK z9XNfQxV5KzG=Ahe6J{(xoU=#)3jC_m2Y`wxy;J3EJ;qgj$?k`Sfr&X|Z&Ogbrl44+ zcwo^17#_-qfQAeWVoqo|PH$2~ zypQ_>3^xbvVC615T@9DrozBkgi*|?iyvM0&uX>tQlZTlF|8rv>h_L?zB6=$a$l2sx zh8Zs`x4=WtQR`twS3)kc9nx|k@N0;`w<;nv;SxlO<{MtV_!PcCw4SWUmta$ErwjP5LaWTfw}sD(V*I`z!Deemekg+___7IrZfsLJG9fLN(MQgsww! zgOS_N`Q_yvqb2YZKLQlW#Sw-`vkU<$K23=SlZJ~42mK9^V26jWJT=aoj7(MjBaCFE z7I5zec~7Sa%d0GBw2?!#EGg54@6IbKr}VURUcHXc^wxK;U2JVAFFnGg%I!N@VhTBM zU~iiAHTI4H$jy@NB*zwIAc41MvmLD?$@7c2Ym$eoP`yrtszp`Vc2UE60 zuU|`l7Pc`mazki{c)8cWqb&+v$#<((E}?x}^zrC7-g^7JiIYDVJ#xzI#mkm0Uig`! zozhU#5|61SSyOFFhT}tfI_B=FzOuoLVy1pYyCuz*lnp()&oo$mZyQ~W4LtN)-N3`~ zItOb}q1gb0V?k0e?$wRo;KTV77y(9_DYouXki>L%TI*K|}?LoYgBCCrc%57wr98LI(J&B;N6kJB>yo4u)z#q#Hu z=&fq_FYpB2WlV8Ya`;x>_{Z4_9hH$^_%$fxl4z+K9QC?hpB+MrB?qNB)Zi&cGk45W zdVhtS%Op3q3=OM&;(y?OXWK z0cbp1ZIZ8yT?{Gb;lpzA{1_(+&R@CJ+c)gC`?||nf4U+si^D!hVC;;C*&eY8<;9Mj z6sa2!NfHuxi=AlGOz9ZS0b3R61t5$feChSwK*SN^MW#thwMwnFmIIL$4yhtR)8z!E zP|$&kWI9>1#zgq6439}7aUnht#{*;>uIzL(FYP4>p}4dpFDrG|)`X~yVH?6WY>e2z zdCPTSp=;%?$kJ7z;oRn0vvT>epg9xYeC74mM~oRi=Do4A7cF14YQ>WIMB`CG?xk{B z)1{*#pNnRT{)#^XkW7bVLy+nBlHN1stJZfjkE^oybL8mrKRqGl zq-&GJXhDjY-Pqp*P*K>A@+>#`H@CFdZH{*3q}}2Zw`Paul2@e5SM<$6lCjm*rLKGv zqsp~wfJHJT`|#pGob`GvuluW02>@cr>K)>_d)MqvF^=9cx;63I@Q$%tb=wdT=}1zL zO9}djk;?fit*bFVzeM8%x@j-mL19z656{~g{U>Xz=q~)&0PVE;ldnC z{gy0M!8&LlVw%N^?Z5#+2rSk7cNVSQ6rYrsylbBvuG+(SFZQw`70rho!-JQ;cTWnI z?fA_x3D~yT1mQp(wWs{{MK?u-C;JP{itDEV|2~FPnqSJ_#=n>3PA|gh`~buK@!!U&YN6Pa-{&IQNo zT0A_{Qa1;aQ0Qa^80|BEOC}xX*g&-OWTz^t zDlrJ5f<5sF2O6+bml*lI9CX9~a!oGX5m!@F$#1rgeIHvuZdP{Ykt11|M@q}es%jb~ z_3fsdue>z4zNYeMQNAQPWDGb&W~w($?F&eQMixc0fs7}~Z_Ag6Q5yy`F02bhnns0@ zR;&le=rui3X@HC)#8ezOFilhDSf!WhV6d`?#izY^T;S4WbW_V$tXUCGNLI}DgZl_z z-pQ6`PYU$ik%A&Q;Ch7n1P2cuKCmZg^X4r{ah!tQupXSO2wu59IwW*`*qT+V$wpl? zd+hIi{nGQ#KL6s&Z%+wYzJ9~%#fuiqb<9z-?OBeGz0(~Z_u;2j0vt2L+?(a)&^ZS^ zKJfN)V0xU@zv1-lIb~?+9pOtC=&v)#IMqF@d<`+`mlBmDdV(GkLVgc1DAll_HOR#q z`ZE25IlY9sS-=8(S}+DQh|<|DNdx$3a7&B+1}mC%IzT!unMn}ih?xfMi!e-tdz3Rf zlyRR!=5)F2=)1ydCU#-8V5*ov6n-^H+TnNf|6G1m`Y9%n@?Nt@k$bG@6U_PsJl6T6 z%9P4yH`{bke$3+R=DCvE;eU}+QkUG~r|fcH9SZr&A&zcNPxX5HWPc*M<{l{Elk829 z+88l_-D`7=Lw9+udRQshomPj9nnuIr5mHspfL0&Cj-NFs2IsT?$azq>;L~z)r%|ph zUAcbas$4*BZKy|4CXG@_E}G5!2a9;lj~+WwRohOi{#A7?pzF%TwsV;Kzr`hS8m%m3 z&yvu1kSUuNze-gpe!F+6oqERrVRD%%7`1hrit;1GG(v}a*1JQjwbr_xP|Xu;t+rO$ zD{Wr(HnPbV&`B;^vV3J&WCYh-_8v%sY$7iwHYO61DdoVCY{UlXMDu5eDKwktxAgrf zSTW<{P%>}agprz@92NH6b;Q#w{$%9KFTL^~Pe1)%FO8c;meaDJ`JWM=@tNXD)w71+ zu$(npLWE~|X6hOCrw&+KU&CY@>Pdo32gr;er@-0H8`f5T!9n>vEwcLf($8-~)$sIt zeeZn3;KE7KG4*R=UXyoz&+o+LFX4why#3X$C1lO|mHLGimy7wde(ru2{iUx8{M5~5 zZ%ma>I-kJpFNehbdrxzv*HzSAY&Ob{>+JjFcwtU1PqUI$2xrnzynO9xR!M`AKgP$$#j2>m z#P>?lgl9dEbN?gFtJ(KR%gwQsHjJucsap2T(v_>jL)NX^ylr3le$kmFZ;6RQD7j_l zUS?x1U!?5ae;C?0KR4${CidnOJSnkJn>WWJ#^3E-_dQYDuUs_!otIyH>1RKA=B3ed zmeKYv=g`W`nf7Pm8}>7|TsX!nKlSi@%R_DY7~aTwnmu)}Ty`Pd!pmUnkmuR#A$+uv zgYnoN?J&A72i=Ru49X5BWG`tiG9%0LE6*`;fv@RTnU>9SYyv!amV3=}tmtCoIhG}! z@AEG{$8BGGj+^8}QguDvMw4&ts<}oPcH=*hXV)YwNqPk@Vz%49S8$n7rasz~m#`f0 zWLa?C9LeTq@_P_xsbkzQGp}G>=H}(=U(r88^9uCT`H?=(+t=dl>k!(9*QHH+F<2rp zIj?THtShL`E@N+pB-I>Hu{&guFo;cDci&yx+l_nW0ICq{u1T!8W3!6Xx9pqh#$a+Z zF+Q=_XP0t*a61xuI&;AA4`BFNt%dL zv4diwqmgjH<81JRTkBn6z5&&}%0t(!*Lv2B#m5n{ZewIz=*DPL$x>6IW8!$_5&{vu zSx#3I2c4K85fy1^s7!M3Vijhm?}1DugBsQTzI`zmxniPu0fz?7oH+80SAOw}-@P|; zsfawdj5lxYXJVhypKHDb&6~dfe~6mr{anpepV_`=lwQGWUbzFII^~SCbP3#yo@h_- z_1AvmcqkP$52K+strE%h11Z)^B@Et8KmMU=d)ycAZac9$9%*dwteI9#whe z>i&=-^TPePjVQ72IbOHV;RJa`vLU|y!gbR)FtN6}TDarY>~5@X;E<)cA;bjAV>D1o zY7M!2!q)J(x=)ciOHKrTNZ%lL+sn-3$RjBas{44)*B;bf9$nl}e0q4jdd(eZv0BlG zp25Tc=6A0k8dNK&-qT- zpxwTG3+^B51&7#KY>9O6^l8%6nJDu)WDH?nQ`gvj>FUiJw|aYSUA@?Pj@1|U*l~0d z_K>ZQ49PfhBquvBKYza@X8AaluRgunNF*HWs%(bE+Z){Lt*~Cx`dX{3)t)eMTX;fv zc2|XNfK?BTj7x%#PeEpgd1_1IX7XbR^V*Y4u2yU!ns~WK!1K%YSCoXZS zc+!bG$=ybe(B@(=bn?Kuxf<~0<0=dzkJDKPlsgZsZ)JtU&rP_=*B)4TXnk2h5a;s1 za(#_oaq{au;_|NWt(}aCugv`Xq$nsD8|xKGR1i0OijKjba6xHr<;m4;$ehj-XwYe2 zk}NEqS9xwPTNnF$kvwb@oOb&|Z5FK` zr}Y6j8XmiOGq2mos3;rW+}h;cXodIi)atdgxpWA2h#mURYgVsEa6k{SWoxoLuW{sO zap-urQMF?GCZ#88Q$#59+`y2v;Stda?StMnXnQJ|kE8)U!q(XMLXu)agXhnjKINm? z!E4u%E3#@8Dst@JdWjCUgH)i#VCM*w_$$8!JiKbY-#mHg&e5~opC6&rH<+0Gr3yC;OH+uLpXtX9SxjTHPDGdF|o%Y^v5PHV?1kCA@bp z_3`l9JiHDbUYmy(e<}}e?;k$APv3iZ-R-!Ec+c`B-?h8i+^xb7y1ClMu-1P)ksyJy z_8B)1vOK_IPnC>s{*atgd1!rm9=>z)9lwUj=Bp2{)gM;nb7T7+VlH@BNa{xwk1qls z^8mw~@bLb@1Ka||)~k zg_7r&Yuyc)?`rLu`_4j@u(rC;DMzNh(P@r5RN*dyq&SY!!1wq{F6%e5DBSt^a^nzV z5xE~y7`0hPX?f>vvLf9P*2X@=(3$Qw)Lv_^8ym7Vf&kLk*u*V# zu{%@J;$q^+(cZpei&2m!C(9wy=m_pzuUxrWET!@B35oIt5Be^1v4#{xiE!MtH8NzG zykeJxMudljt~a7k9$+ns>tG!?2!z7r^)>WojJPa=FEYM zpF4S)c_kCkhf7YL=Q<}VAAQDq)*)e{kPv1CL;O$#lNFbN$X=^jyM( zb7i2RqKyLllGS;mzwK4$d8B!3!&_ffUBlSw$lTW5Cjw7qH+eC8$br&qLdBUN>m6|- zJix&vlzKM=1l>IL_us+jOjFD$g^L$ywmY;q5wOWo8Cr3hb`66Lcey${aMUys#e;xA z^xPE#$_cI2W&e}xCputhebEJEnaw_rGwEiuy>dlfZyg{{Gc0qge+=*BI7h5!vmND* zwxX=aUY=wX%A^)*uknO<*ZwLDD<*6E9XpY2B0bxd938cJ%eLLS$RXrc2&Um8M2uWM zke-#j=890!F0ZDog+eB_Ejm3DE33-;*8bG(aZz0QTjj9n+#6QrTAr4_#Gdy-)zG*>tWajSv!T%pPw_hc{p=;g82lWZCZ$9UQDJI2YU zZI(2Wf##(f?vXC|9gH}LV)WZKQW&v%8qxvsj3=0{9`^o*bU;ETRI^v820Q{hzc279 zWP|j*|JP4&!xi6$b6xh;Q?d!sF>BfJh!Ulj~?Mc!Vcei zg#E5|scSsJSJ=g#XRL!m=Fba(tj-T&M@ay?y7cfB$;Cig3fz2Nxo2{{&&d82eL2tb^@oM6yLOHBNm~=Alq*lwFy5Ww zwM_iZiLx?XHV9jDL2j-(@~!>{nJZmidyxHkkX6D!^I}Ft{Kb>(j_RTJz0SMX6Y5>} zFX7Q~ay@+~IT;f2w>5zXr{rCGNLJ#K=I))_2y;q~4M(!57JWA`c=_@*@&rq8Gik6P z>+xYG@7%d(uR8D$nHWy*yyq@)Z*Jyh6dzdDzB~ zwj`bKT$?ZbnZwr?^W8wnFPmvY{5n4N?dj#y%S##Z7vdKhji;G+vhS0p*}R#@NO+P) z3Mnf`JyI+$B7+oR*S)7%u2J$X{=GI&bN}s--wF-vc>%)VFF(y44eT55y_4xH+GvfN zcpv-j!Aj`GIg9>+H*g(azF;NHB202n4^DO;E{S(GZ(6Io;RGrb`JR?oXfXbecP@`F zO|fiEYAj|p=^sd(kWa1yu;{0ofP!se(|{xq11NiPX?(3ts>KD%<;Lx1UAf&7v2PJAd{uRNHv6g{e2-MDj8U(?t1jqaPnZd^wm zcu8U`#O2I!kba#3|9B_N1rNJq5NmUmWh&k8ATyXs^V_>erP#Y{vLftcov0HGZ@Wb$ zc|<{&VDl8(F)G0?K2F8jh(j#s1im)v*a4d(Bf?eKgIqL@iHl2SVZJRcHePLgB!QzG zXrXpa}OrWTMAQVtl6h$hPuz*^tX3h0|-~Ekm zu2q1dZJ*mu_gV!dlt_*FhVhPfyptZAfLqIWrX1tBNHyFI{mmemeGMFh58f~&?PJDa zC_VwzZO_6!Jvl8-wJUvy>F#>|x(CH7=cOfm>o~V)vs_# zy(`wCdDu+6LyF4RKAfRe$kDv9^iU*O1UY8!Neib$+|-@!j)HGwR^;sxF`*fj77 zLZ&9_KR_nJ6{uR)me1p|`WyFc9s+c8s!#zC2^3vel7xL8i_Yewqm9y3vNnar7*{)Y z+9m@od}q%55|f4#$2ntjs2o$3(z1hIBL=%6B_wcU*1)J_WB!lBF<2NasKd!LIVon4 zDCNKy2gpmKkxleDD9AY(yqJqJcG2$_=mzMs3z6-y*^WyVk`6psKqH#JDb9ltM2&M^ z0?TG?nr!`>aTA}I@(RYPZzFMMnF%=-b@lQqmcG1j?yPCErm>&IdXjzQkIdI(hCg(u zaM-{90B$J_9WiPw#;I)g3Wo{uJBQLVM+S+!eu?6>hw^@}p53}3Bk$TJqJY(S3>@+! zk+dF>s$E;l*nz55WI{_M;~tk`^MKrMyl7mAv=2$|XYUX0lUO5y0poP&Jpq`scLxZY zQZQf{`mszSPu6A;X&a<}9FcJiODzkn@V%&6u86t260@Lkj8Ag05+Xsz(9R(NVDo{H`MW)1&dNua*V*68{vH*tvB&9P7 zoAaF#IIWcgbs+W%rG7xiXh;WHOL0S7v{5ZN`qfb&8gF7+L-M}9i% zGG-RJO+15nq8ppX*%Uh>q&CGwain2>km;Z3*Ea*dRd~L`5;b6eC23q`X=iOSs5A|7 z^sFyTJy=_@3KXYw0ID^hT+md56)&#l0_Itt*iqea6wKb1*XTCr*$gwW)XgwlH^!O> z3RGGw6{&t1h;4BnG>`142-%Aa%b^YqLKPeUqz5!dfG{X7=NJ#ZJZiMQ!fbTAXSq0v zB5)=@-64ZriFTC0v+a`?hJG1`Nd-p0sjR6G>EW3r2EGr^Bi_;Bpby;w=kX-G6^R(( zc!t1fzYCLv&`@bv#p`9@;<2J4gmR9gCdkNkw~qV}Aga=5s;k_&0>7_qPuP>n=T~S= z@c8kvven7~s&)qL-JwVwTl=8G!<0 z*?H4Q`2}18nLIgqLi#rINI0P`ExSZ+BdHDxhG99tH1_hRXUv$z7v#j{8*k*Xf@3$j zb-(itKs-jWn`U+}O@5wFQW9unMpn;3l1kHw!-8|wSSv&0Z~G?t&?p%tbH6WOI!lt1 zhsnC1)W$)RB9n6?l$WMW*vdg)nN}g`TRQ`KWx%ARyo~p3&SOypCRikOThJ)xRl&0A z7TTm*WgF@H0yHLBt4{vUW+ZE z9U;nY1U(dv><@okrCF!Pq560qB1=(~(!A>(AvV)i&{yG|swAmX=+ZF=}@@)<{*%*^-$UKWd9TDFWhNH@N4(Y$%jKR=sgM_Lx-1xqeljI|ld zkJAZe_9&QjI1l28OO1Hy1 zkn|mUZJ5kcS8nnuL=G@(J4GHfA1YIMO4T{0d z@oA0h)T+USK*T6kVex+^j}{9Caps17qK;$B132=c@7Y%_K9!r_SeNPYw*)W@1H8kz zcqf9Qc1Mz5aMW}gi(dT9ex49DDsiLvN|S!#p>J?hK%NDaxyWd=ZFLbQQ~UwIp?m}m zP~NK5IhvFfpwbZ=@fbT{K&56^?o<(TB?K-tY&Z&&yO>d>z#~>mu~*F5vtgPG!D*KY z&pJL$Vo&{!(|#gIPog2_zzk!m5^f{z;l#|BS4up*g=2;2R~S95U90=rW)(MfIA{eR zUkhL5_{DPPK?#>n*JHAaAtdZM1V`~kvy;y{f@Egq|L{Kj%kh$V70JoM7X?SUn`f6S zUG@qD61pwfyB#Kle|z!N6g$Ad}#0WP0g zuw>b5tC_BTg2%gr%y6V$Q1c4FocFvstf`Y8pU8nTOeLf(a0<4gM~j>qYMJ}nA(_F* zSo&-I&=;E0`Ok41AQ#<4%mE@tz)S6MIj_^C{6uijFkj&`Itg z&8Kp$O^WEK)+W4@^PRT?%4~epr3}lz67`QG*pmTAo3&hd<4xD3SwI<`V-=l zP?Abv4WvZw*vDwr0TU%giYN|t9{cD1%?!KT4;FMmO_SyGesZ~Nb z(|krc|3u4Dn-iNh+6{JHVlDgYY~^xTtmbX|78f-c^K+}kXZB#JRhzyTPa#@!qUW6G z`EX7+H;E#>=Gi)P=D)Cni<)-H|G_MD9&TNVoU}fRb%+|b)_Iux;@m~~`E&tArJ$+> z!1Tmmf?VlU1ZGCtG0{jj%8jri^BCLTNNYWE^dpZxF>MC4Dc7f2p2x#-)hg6q&{r$o zeT8m{sTK#qrjyAhqqTj66>|VOYzUVx`}HMo4h@DxgBhLnMVm6f^@H_uT3v~n{FwbVgG_~sK*wU(LK9UMYG?e!$wDZ4IQn!g zP@NKdRg?m#jGR<#N^Z_16%gm!Os1NZrnEcDHa&XQpb%;oCd9~J2+-)+|H*N>7jSWW4I^NTffmfmA#?%V z&LR-HVD7Usrak@C)6;!4jS*@|!z6b9UNlmR6!KRblNswqyHSN~AdMJ3+Kf$%8|#K# zKXk;1Q5b|wd}8YKXJ*gE;~qDxm8L`xU4Fs%q zxEq$I#GeIgy#ai3K!1q^Nn_kB}j*x`#vGrV~?v zY{o~{6wSG>Iqy)Sx3}s&x>YoN3{^`HbZMyWV81ANm`KWi$&XCSikbXt`d{w#t^_td z(nzy&bVV^cpZgfaACM1dacW;EuSNlCFUa(t+eggZ<6oWxWyC5flvlY_gsioC4dIuR z1=14oGc8!yow`F1YXIX#47-EhIqLMu->eeF=q(|%fH6mCiT`8%yA$gxrYZ#{L|L0&rb%;TQt22erq41$$ zSQj3kx>|b@Tv^~ZAs29w^%~a`FmqSkLcj2m})JU!8Hqi8(D z4f`w6cq9}m7eSt$i9`_H05?zA=ktG{SE0K&l*N~u{`9n|PfcPFi-C?eilb1VQYaWY zc!>YVRXNT!Qp)D>F&q%~&F%+LEzsLjEf}f=+rhMFAKQmwjyJXg-+oId1FkiGqNC!4 z;fD{%E=D)lPSNGt`!o0D-+Ry9cS{ifWAF7>*?0`R5eoWuT|M=p!5d&ldD#YG!_@We zx|EtMge|G7+<&ILe|7Tc&x5=x;oG{uMr{(|HpV(R9)2maH~lj~PUQ>4WxyEhOz|#P z15KgA-POL*2)+kyj7B`TJ+x`RvX#hBLR%#;yefTuo@4@N9FjtZ)FrT?;R+o1)@9VK z7XaL45>d@Lu+4K&Qw!?oim;k%yA&3c$0gR{zkmNPseVOaaK=Mg<38u>31Cp-dMKkRW7qQ}?*H{)o9e`C!Uq z_T@PDF@8J*!$_fdIPDl^uN1I!WJBEGyg`Ep3(6M-XtV$hFuRVfgZ4rregtvF&t%0R z39P`Zs=_pv{8a_8pFVktAZAnx@4NrL`|iC*JEG=q(q)-Ds;PZ#qr6)iDQ4di@O}n3 zJ1Ml-N-(^f2eOSXdw3w*|4g3;az#>Aa7<|)qA#LhizP4@NARjrgV})Mqq=?qHonu9 z`^~;8DrBOo>f}8a#cFmL5ECFHAZAPbP3%t5yP*UiVh1}iFbgb(`Ti}*wx#NkfHXil zp!V>?sj?J12th@taRezsCA1duxV_7tAXP%H(Kzi8yq5~-!^G)h8W_04zhY|v<*amD ztV*9@k*(UW$%Y3Za0Ses^ST(%(h6Y1PLX0VmJ!z}e%0lfh$zjt6=#7HR5Zuj;ma!U z*<^SCF}sI~X;(gr+j=6m%Uqk;+s885ahoYhHXzx;hJ(|*I>}2(f;{$B@nL3}=11@j zFNTZ57sD46qhZ5dfTNvjG|^h%=3f3BW%A6KbZ}E)!tls2Peo7q6`RK>Js_sc1T!&w zl%>w6-BSz=p7=i>*Y+ii-JpSkkzWr*;X0bWZv4bYCr`zZ3G?<>-defZuC0shjO+!M zF0op*e(^;+rLNA!Kd#zC6l^fYj?SReqDl^da9k8;mzp&^B_?Z2QvfC!^J4(ayBq^! zBc^!CITpt{=!F_zZ)E*s=;AaG$iMI2d+*8kCQeRFsXH9=Dbpy9$>JDNKv|JlMTay3 z*md5JZeXuZT?f-}O?dUGtNhJ(ZV4ohZqhei-+rK=cTzgrX|#2)LOW2)o+?!w&g?%2 zB@2vzaKS!$a{-Oo17dbJ<%P}_qT{OcS}r~!MLgk&2EUB66G^{cTm!A=pey2_sxOer zA@yKJ>_VBI1y$A2g($_Kx>A2Ep_PgP9I>8^>I4b*FODG?s5o-8veKXNOq-f&KuBHT zL3$pd6d6<-0kIagfy%>}vl6+OdNrZkYfqm(b&4on`OBDoz$YDu>OXQ%hCP3LKiQs> zg2jER0~;8seQ>3>dtT>V%ltZ}g&d1F4csecxm)U9HZQrw;SxZ)NFW8Ei=b@h0n+Ey z?){2jh{%w|0|o*!XAoqknWv+vRg>Hk?s4tWxCsFCvG7qh4Uj(RCS3_cCrV32O{}7M zj2ZPCoGFKo8b4vulhdDhZq7n(QNOcdWwhcqa*|;i0Yd;i0aGSVdSc?lh($6(jV&3W zz&RuwD2hR|0dZcM?mJlSi}z&F9hb%WQD6Jk`YT8m&^^+ggFqD+Va9O zogn_!AB)xaAg#LKLSRZ~1uOxjGnI;)rqEZv)wZfWmXygP{To`V??+S9tiqTWm5(9We#}h_CxA%5cHkb%n}FTjL^B+P z^~ir8F?{IYfdht)#N3;C=_3=FxjsE()&gB3<8BLrL5$H?y!$F1E{k7;EzV;f%+4~C zMS@XJjLyeHsEpb;P$^`_WvprDJnfav zF|n7zWjqzojblpJ+gzhFgv)}PZ@J~>n?a?|{oxH&*W2r=Rl0)96X3Esi_0B{%M~t< zsAD5se1*?FlB|S#ignmX z-Vu@y?q-isDD@cC1gpR|cA6nDR^6MT6U*g$V(08xn2Itv|;8wWp?wf zdpndB@#}^at#BFed@)?)g)4MmWQE}bmF7KhH=XTWZ`Y1f^!5$iK9k}br?T({Dj9QJvr;S z=jR~5dJzQ`Oc)9knf7D0`tnPQ7Ct}wnOV%nurZM&n-MK;j^VIys1R!ViKUekKpqSM zFCdx?rVgmae62FPb_g=Cw9Hi7N&sMxt(w{rHJ#;WUE}-qz_EzRTRW!mQ3%f3UP zDw51t6f-$CAxS-Iv0QKzrED5toNcXj^{o+`Tg|Z6Th|vbndPAHkpjOXV@v9K`vnmS zc6a?<_?Iw)(46)Itc?>JL?OIa=ua{-g$Uk>C{Z;W3ttUiQO1ubP>~M208KEbYN44g z6&89c691fFuAPG&&&*(knI1iz2B(HCaR07SlpjTpYH}Kl=awk$ZPBPAd5lO{#qDd& z8^-7$;=s&+g8u#b4;W|${rk`%!-kKVIBDuk&R8$Rs&~`IO`A5q&sGe5*Xs+t-8{_1 z<5CNb8552Ohih>b=`}A*62#f|lEDa}mLJ6{TpBkJYpDRVLm>D@z&F;eaMa360@Pup zx!S7%ESAJeNIAX7X!cCL^V<{Ezy(WFF zy(V>a`9BQaf&(QbrKOr#IWlh{DG?dx>wWXPo|9j_GR3EIZ0AtBnk89CTC*HI*bBx{B zYU#2;^Z9B)V3yt>em@UrU+zXO)V!BLn*FYTgK<<0QnVf>u9p>+N)1CjiyUIN`|=8n zDzO#o+0YX;(0VG4-ne`k4iWMv0 zdw(rL@l~r_p=%#Vczxt60l(6!tRLQQxp-<2XR3`Y<2)U z)i9?K6tGj*IuGpdcqL=g`B#M5C~T z&{=wtT`=khP^Y{f9w^_pL%f0ZZK)nAc@=1i#=wlKLLpbPII+kF6+->%ApC&GDE}<} zCqCp_{`CsIR#gJ32g+N1mktBb3YPJ2)K_5W=8l{_>W*E;S}j!qUItawa({LVBP<1M z$|kAg@ED9NZqYV_w1@VD}6g7>A_ptk;R$dJXO2IB0jM3s;rwI%?szl*y8A9sTCY`LO_&- zyCSw?P%}lyyo`RGlV(ro=By}yr1zzDi#7DLy?ez!?J%#Q6@kFTpPk-ng6s`*SYHI ztFF5G+CTqXXqEv@Q=V;gN=q}! z6FM)1r6#PkG~uuqsx_wF6^jRxco9x{A* zW>h+>b*aT<57#xnb0^dUFi}hhI%XAuKKW}^C1@SCQtKaO8!Q7R4UNCnwC%m-9tl=8 zvbFal?j|zYI}*2hOy=EoJD4;IkGE8FCpmzWvNr@ClQj(-g=^Jc-CxodVKQ^IyDIPM zKYtIAm25;4CSzwl@s`YeYJ;UO979(3@T(}R@vHzVhr~XZ0^+5_GEh}S${nx*m4ML5 zFhC`(BBa=aSZJf(t@HvQqIF3VA1$0NAXn+C<248M@-b3BXT{Nf?t=LEzY!m?9?F#N=6d_aWz5XgvwifyH4IxsCfm+lmD`Z8xn96fk@Rh~#Eco1P`;{Uk zUXo}Fiz z;o{+9pNVFg>4rASC@?-1H&O-@m+;Z#1Zny0*l=7pI+pFZq1OYNQNu@#8Z#O_{-cj` z-)Q#S`3o1*)^qUUwKoZh6q_szEW?kRm6xegpW+_nWQhJpAB7;8z^*klr|DOSSie_~ z9?%6^#zugJ_OFNQRnVt*pWa$F=^k|px~kQ8o$@+s``Wd4?SgEMKIiGDc|IkirZqvnoyWy+DFt8PvE?p`s`HPDDEO-!_ZP5(u$6ED~&b5+qb ziicNUb8Scsm8?u2FGfqE5vI@AyffH5jEj};QOXZyyA~pptthIXAMqRwK`}Uhde8?$ zk1u{y?p3Yeuy_Y;ROQ|(VNeLX0EO@fLRU%cv{l(&?NXTmaWG1JB=iZfxz|DF#{5ju zunTi^AsGDj+waT?d%6gf;JH*P*y5d~Pmh6kb}sdUdq2h;iu~C|sAA8JBZ}i`3SFS?bEkUzrOwY*`9eldiIQZm|hu(&!AI{_fRAYw=-?U#%GsDnj6o=qo_ht zWpbzkc@fBS%En+$auo;e6abZr(~VMon&gRiKTS%*cDi_$^k>+mtE;XuSG#MRUOx@E zit-AMH4^jS|4K8MOvRH*AM)s$33-=^e63U zcj^jk+38oj5|siNFVg+RcCX!&_!{zvMt*yd+7-pVi0M!vHiw%Ce`})mA(2+Q6(W(G zuMFL5k(cr3OaE!m?pLyLFEu}eJJ6HUXY^b&%grS0J#DAe@lt$LQA7jQ|Hb(QHF=H51jx*!`NRvW+H+ay9QRAUCr%s!*VE&6s@GC?+#rEi0yS)A~ z+&^V1x?mn#*uO&e^5i6%?y;jr3>}2-1W^k&s0GW!;6Y3>ySbiq`}7^4MrX(nG4bg> zSqEGaaH74R2N_mHZJR{vEC@{tgY<;qyk3o!e9@WebzdC*{EzPS`*nX40Uv{qzy}ah zjnaN158l7}mg zlpiiXtdUIlp=|UkEr9ecFAvIVJRVPY@>2w8SXx|yd>a19Z|M~)TAOqpu& z>s2NWdZ%o@1SZ}{@T~DCpH2Wl_1^YyP+?0GB^uKfC)6%OUh3Q%Bli$%7eMJM!_iPsuUhk0*iK-`%!GZ+sNsV-Og?rjUv88eS%|aq(7}Td=XH0z3j6lyPnW_n zJ}gjm->gYLjWL9!e=qE)_M}||?GurC@jHn}>ePP#(03%U%b#YF=6+ocboZHi9Jx2n zzk;8;o&0-y`nD?1_Sl;;)PAXkwWCNuk8z~&F|hF3Yp%KW&wrNrP5C#)Y*pe_F5^7C zS9kFL@^ZGnEvK6F z+`Weo;EG2+@$^2XB9nww!Ouf48v@C)aX2iY?)x72)E6T!CGDO(X-<=1&$x4$l-dxw z5WG%g1v|}EI%lgW1sSAgEJrHp$I%dj6V-x-`DWtCVa&@9Cd$;S@5%pq_pV(yT6}q# zmw-S-(k`11qIgQaPGEGaQRpiH$54C?<;SvUY4{R!ni_s$h>zRun~P@F$chEiY;9+SW~IA3wl3=9XMa;6au`b4rW z>7k*Hrs1w*K>oFz>vrncu|xZI?b?!oUE7EO4}>FZxdx6g-58O5W0`2K;#2lb{LM2n z#=}m+=Gd{Mn#RN4Oxr=}r!@S7$R_~)r@8uk+4r*nC@MRJGh<=-At*bB($FIkM0<@s zYW<7A7Z2}JiebLh06K!7mOBI@eI9TMb}<0S=)}Kd_H#cMfb{`jCEVeO6N-Kwf>oKc zlpA!y(Rl#ok(1M|028X8Zt$u|5=j zW_-L_Y{zHD)gv1#CyyQo?M-nv!~x2G8#<(4zy1RU4Wm+Iq%)4O<8?o4(L>SzNkbMs4@%9!CD%|qjLk?~7uUI< z6Ug-2AR6buhu1RU1Vx2K^0IGK7in2* zgBC$d9L-iFA5 zNHrpciC8{Y$^MI4lZloDuhMM6SWD`c_qCKK+SB@Gt z?vY2a#^ItU2SJ{D-YvNj2a?y{6hXKOFUYrKl3FxF8=6xlGoN%%T!DUrs|ceJ(rd%r zc;}lumWLT`!&egryC=GVw`5nZYiqC4&ysj8qeAKA$4oXRNws&U&%u$0w;{#PhiU^S^q3-;c<652Q7$b!3uae&-rl*)YO9OoWT+A zR~)&a+fbX!qLEj{+x@@XSB%Q?>#y12*nvAV%?465f7iW0tTgyKAL3%wuzg1w`2xt6 zS6>yt(ku|0W&W}{;41Rf9?Kf`S@(0mHO!32;Jpz;BI<=j(nw%8rf9^N@sCfQI&Hen zru_m>$2Z}h`S-6{HD?Y4w|l05LhmU?;AYb0Fwu{UQilSxY`;YRehm1qN??@@fe-Q? z4sGC%0J!2zD_#XwkIbq`G=d)A+eUP@DSv~h#&de^?hMdULN&6Sspat!H~U^9CYOT- z!40BPf{U?5LkqSDT-WBXmE`D*jzD`ePG}WHFa{yV%a8Ft(JDTMnZt(BNT#9`UQN>n zpBzb*1TYo-WeiDta{6n;GniCR|%$9!IGftM6KvIlBnx`tjag!I^XJ8 zpQ&INS?192y5hn;Y*uo6U8z&6^PlEH=4sRspi7q=!mHAmbp%Kv?Av*4rH8MFuPJaD z>2~O9CE`VH$iX8sU%p7sJ?DD~;+8k?I3Kmfn{g54eyE~NdbR~|- zm=!Rlpo|+jeB?+s;0ius*D>Yk>CZmT2-&=ARupg_{Z*vHzhPx<_A@io%E};tDF-SF z+E~62+=^Ul;q^4r;O5j$G#W>LW*phHE9!8K>b(fddrZB*0b01unG+sdICh$}t9BZhg@z@b zs!R@AF68qp_}FB9uq9h9NfZyW`&J(*7&_WqWd>2~ILD;H1?EJWSC~z~2D{#@EsTd1 zc14|77x-ofxRS3LX>MLoQC6sPC=0PUsFRIb5n)UG90mu|yeIM#;p3u5%y^uyMu!N% z?O2#$t$2?oLyn*h0}cfgQv;a7y1~&<+x>UFI6psZ93ETKX3lt4S0fSEa6rf_!T-b0 za5;uDb@Jn^HNY!V)k*y|6f$Hm130}8WT}jCS|2gSVfPeWg66iUXDPihbOolB?we%% zq*l|2*nu)ESq(us^Bt%GbwY%14=MMl12dW0=8zDDeC!B8PkW0##CbzaFy=#+ z4|P6V30G<|nT$EG0MGrO;`XPwa=m2WGS1s#)XS zPrSF9m0YASA?QjjkFn*+kfnwZZNVaFF@_Jpyoe=SGt12M(4ymv$&ZL#f^d8|As?;{ zl`20R6%KHN5(5XoPEd#crAN;`eFh9fmpydo6O&-y*aqW*&xJX5wDn3zNKpe7KHW#43jE5X54`bS+$Az+Ra-PTxp%t--v?-#;ew@GmfHX6d{xK8< z;fk};2_83{)yUsuau&YU>=vPPoWACSK&t8rBl4U`Awe z^&KG9Vy^cO3`*ErkYrGYfPok5v>z0}`bw!H>6KkwAR+0y;akA%m2kOv zE%R#LE6b_C>`O(yyCj}j#tjjBwB{Kz%X_s@+$SevnEeRKYCJATj4{;4AmbYlFs=^< zn1R|nx!2oK_U_%kXWzaGL4C)vg82B8PtBN(Qcy0Li!sW4dFfJ)pe^={?{m-1nlbGu zG**vu{MjF59z!%6%6^vjQR^S}412_oi(5+OS{-m);l(DFFY`57WnraxqFGa&G*cI8 zAFT0|T6WYAv1aeeNvh55u^&|$3DpH+>V_o77;(H4$gXjJhE$^fqq?sJ9Cs+ZUvEsU z<(zwe06I&0tf3aOM>Cqc3UKjqfT|=ySQc)Akd&|5VdNcMEW@%&)pl{+#jo?;7Fob$ z)1knY8$V=28%xT?(&8f%S6H@m1 z`f4BVJ#A=@8ty;d%ckF`5sdr?Fu9kYq<#Aiox61J(YsgQzGzd1 z4x5Z6>uh}fUeiA8nsw`z<1w^&@j}>*=P=X8im$GAy zEw57t&bLys%}97R{SA&G>>%LC|`6Dh4Y=zliaEaChiu3+|4<_ne8_ z2!XayaBIjbrrHAE9#qSiQnlK3s@DvI1sa0C&}#nWuRjS##llO%5ia9Mfv0&>nnPRw zNFtjSul@m0X4ws2_WLx83s?vX2W zy=yr5q*fb9ui1%2+O?p2*Y4d=+5Nirqmw32o&Kz*v@gH*#)?&|Ux9r2-(SK7>ji{+ zvu8`=G7;gPq$#!FB+ExWD{B#o5>Mc4tMKUB$ZN&5ENs=XCCF60he0aQG6p9dh2Otc zKasBOA!38HbR(%wSW5+uP8O*b;_+JZXZM%FzkQR%*%;9*k zLf=suSCx9SsL7*6vGeFr{z35(&xD8y2@e;8KdsXd_JqPx+EgFDSO!pqr~F)@WoXG) z2$cx#i-kQQ3Dhwg+Z#!0%FA#ikBB6#)Na-Tina2W!Ti_mPWxrQSYHh$CEwFmSMc?r z*VhoI(`Sqla4K$BHSo7=p(+6*jgGX58f9FR%p}n#Q}CrhpBh(K5suj%cIB6smG0la zXU|t(acAxeyYsT#IyJXdIKldnx>mPI9)D}i`}O2-!mcT7TMZMiJlGKXN@Dr4Y8fmkNPjmxv95s8o@FJGtB?Zle%DGCnqMcFKs4aiSlSPfdX(GgRs$(b|zT} z2?r6t@ZF33d1x*A4;nIT#FVL1FN5#xd#IMn4v$l;63?w-}N^y(#uKc9)A|b^r!IWNXd?qP`i#qhj(3oIrSEQ4{_zH_P&QXJXMO#p48VF zOwy9vmGi7e>0`(;3ECm@%H+KD+=4s%QYd6;v^ zlH@u1+g`o0E1Pi zkzTG_QJ2mg+P7)ls+AT&O*bsgkTz-HmFhqX+tRg4v}jHD(Jl+D`vtLlKzF~9#E!-m zeLeYC5~m`qe%^i8UD*aiL;eiRTtpKhWqmf@(c4OAm$|_Ey{m=W3CwW< zZ&>@oU`N1%A~8qOERmc$oH;`KQITRC1hGLAL9+Cm+7BUDDaQv@gM>K#sp`CV%ul_? z#gWOCv(0!@^zn0 z=AVIbv*&Ee0Xq{#B;1g*fTu{hFVJf!v$}J?#Z(HHv*W1iVvuR4<13a`?9L+1613N0 zk$GyKMQGDRb=`km^ZwekY|<0kV&(B0Z@kHY9E5Jj-Clte3mB~$z{Y;(%OQt)E(&nC zLiiAe#B(|f;XfGSm@fpqBVh8U0Xl6qWZ39&6DB-9>8YvH={@GooyQ{7oH@_a=guNfS5|I5~TN-hKDqFD;W=+{E8h-Ko>%qo`l)Aqi$Ct8@7c{A^^A zFVk1+K>rHy*02BIAy_z%edLkHI6@5NGG*%1{v7x-&(3~sv0d`37s=@0a27Wori}N- zBzD9vyaIl}fDRoP;CEzB8bc2SXB*o(-70DxwJ?5tIImfA>NnT4&cn@`HEGhgvEjtM z_&XHtG#N^)?(Y1%{&we`61ls(VxtC)A>?`+G|FzfQ`$w8brJZp{(^(h=l*K0&opq? z=QX(TMxpPdjw<~q`og1i{2=Hs_$y|RujL_}#b|x$HCQ341z#)?mcp*=2LNQ9(gP59 zdH^bPp>nD$W-}hBu@%P!Quo!_9eT%w1Y@1#4jDuWe(@r*-5qbwvCb*zBK~AKl#j83 zDlCf*`io{ETHPMeR>JAnw=*RxmiU{nlgHCn52T>Zm-7}Cm;R=elF@1d)9UAlJbL18yw_z2t{xwb&Kn{O7N+QT&8 zK7XaCJv4RLJZYc(iN_;kolwKJdmbm7yhON-)+)p11_lK>n3#v(cPrB}(E@BSa{yUV zr`x*=sMqdVRFEr6R++fI^LBmXgM8g{@kNbY% z*lFkpBb|~TYx(%5<>14~qvgIPS6v<_(PFk3usDFV+oaHf!7U+1-(P<01>_e5HGZ$= z5FCl*s)c0^T z$B;pdgmUbl|0u4KadR*%IXLVW_7$dxU45yzdLuIL-K#g!BF5@H>h|mv!pYa_0Q~(s5QNfayZJKICFw6KzX-qN+O78w<>amXGT6>1e4`M2C8$;H z#-Ul;W*C8}!V~Del{d}af?}-74%m`NSW+-N0nW`Wi*-yw>%pf8a zY$)bVix)P>8J!-eyWh{Zz?kLy`DKb;pZE=k%|txzdLchw%cW0BwN++?eW!p%RLPRA zzyk~mjwP6Hu!eI{=yEYhH#x>yU{t+{+4rgs=;h$`ux%}DLGW*a{`J_qOT(<*$ z569fQcaI+3h-95RlRGKf+O};)i^^!8I2N=daWc zJ}k)bKMy)pP?v^XSYDh9YnOuEm*-(uuKHJ9D;k5aKX`o7l&7A0=9%ZzKg{E( z9oN90nwm9E81#F*5c~GcL9Y|aOC-PTe8g*MnX%@15W==SoY&-`>>6w=JTH3ifd^<& zG1Kw|TWqPNW>m}GQn+Pe3}z`1uEqH)MZ%tKSf@e51`QfEyrEn@0irgngvGDHj`11K zkx6MTUQ4ZHxkMa?!Xs#gP*l_{_1{yX2?c+t7FOB2@k=+Qr6@ZTHSoa#i#X9DzOY1} zc>8((ent!yj?Ge8!R^Ae)h(8l;(?M99A2`sFrSB!lPE9yp%=}k;;EY0{k9k(nnImI zoX(D8&_(_w=O#aQ#7pz}6#_2H3R|~w`0BH5+`Rn^D`s+|-IgLndxu3lm_aZ!i~Y*& zD3m$UZep+EFE8C6rE2806QkTuF}DAVaclP0g8iz9Uo7XxeRhB0A=z{t!!!mva4~*? z=oeoN8f2Zt6lGL|LU)Kshprx-JYkMrfddz=31uu57Z>l`X*rk9TF+-}S8zn{!}=^& zXt|7vkf3T;C04$R)amU!+F$#+t|V|+<|Pbd7DmY0%>pye&UIdlqKvJ%uA3I&8H1m} zWb=e)^B#*(6T{|Z%fJveFF7#mSJ@ZO?OvD~cf+Po2=0u&vMcLgE$g*vshr!aWlOq- ze{I#54IKjM(BUI6mBIUa+O+92X3q3U{Mlz_JoV(2RD+mvV2nijJBp!+KS$dKFQYEZ zc-!Q)_EA*LZu5d>57TVe2NMsd7Q`SXf@ewHAMftqg`AyZRQpO$?JXW~u}*+CBkKp( zApT5vL!!a;=DK|0*fexE{$oJ)XNZAvP@2i=kSa^1NFt9DQz_X!ien7(egM}tk7EO9 zL#AVbaJ7f9$=P#=+7l-O+58WKmqWJ#FIx`V@^wHl;_@7}%pSP7wqR!;ZZm{l|BI+F z4dK^)RkVG_4v$@+syM7;HhLHUF0OT7a9Zip%RkxTpMuY~eg3649>=`ytGr#i_gL01 zxmTxN|5!eHc|@Y(4^bv?64XT;{6LueJqV}pnb8rtKOIA3AWa##W<*o$lp1<$ivsXV9 zF~djGO;d+XpYaT`QI00ea!>wlGFxkpJtl)02FD{QRtNO!*PF4Qe>zZrG9CuO5Yx@` zn?Bs6iG8S!qVN5H84TM8(!Oi9_k>xxhVzC#_{QR5vCvR8zUK4-cwZERH`TkLp`!2& zH#XE_+D$)%aCqDv{fTe(m}jp`^FVk6sZp`b9kONjLb<6xAdqj)Q-b=u+m$G3!=Lv8karj1tq4#htd}plzaMu8s8vd;0cRX+s9dQd*!y-}3cGdf)~$E1jJU@ZuGMc^v~1m` zL&r{?J9X~bjj3~QfIHN3x-&Di;HjrMi)g1_#^EodfTKoYL1+C++d$K;uuIo2U9dEe zkfsBpWiO}!wapR_H!+m2uCZ>&aIeD;P~;R7PwaFaLH$wOeG9J<)S|ngc2}HUsfu3Q zHOK?52Dp}cS>L8w8;t;w%t;jvUKrz{q$WqAz6wdy^GZuf(xm;$19HWxgA=y0e%jZo z<(Md^d{iyURReVA`)x^v@=@mQsS9u#b3K$6bnm{u%Hh-ZPrCmJu(0Z+Y~_}%`6AjD zeHypMj=Q#8`TX?9BdYUp)$Q{57C2+u&+YOe=lb}j5PmxN06T(@aev*C0qqnN+Y>tk zaJWlf%+O}BL3xNVa^>Z$pRqddx!o85tEsvIki_d1u0y!RetE1A zu0HmO0yJVzYrHtE2=Amv9vL@gv>lNc4pL1|f-wqv9XrA~&Z89Gs70cAvj}V^8bgYk zCRGI0;QsJlQAREsRyAf(O&ew@A{7FH>baW=Z@l4#8|58mZvH+l3#1La7@6G8fJF3@ z6qU1VbgQ%knQ^V^hrkMzKZ?yV@i}Y?@f&b2E7)-3Cd18i}y^ zoWB0k4BHfWBu;KFf1K2{{%cBamUj!;~cNOlYTHTLvVx5vwiuQ^l5VC|%2uiMoBu<~z{Ki!$ zqokYcBoZV2*VyQHA>Ld{_u9*p0#Uhs-@ZM}jd*~z)ceF6#;}FH-mK9<5WBKK#w>43 zc_=BqHs5lw(k`$Vae2N{ywc2Q`cDE8nlhOMqU%*f*B|wy*XkB^#UZN)yFk6_&|vlI zrEv;zuI;bewPm!|689^mYS7L_|3gCTO3@J@O}c z$qko&Vi0UQ?Y|BncZ=Kq_U+oXZXNp&i7yYDr#;IQ-kbH+@{0V#?F3EZjWr5xY1HUe z$V-VF2%Ef8Hv|m-@^8N7M)_>sQch&7Jhnq8F{F{#>!>}P=i3L*C+RcPju4K_?RL;u zk)TVXGUG9bOEC!>oKkC=k}6uIa@Kf%klITPzdnwm8PYoh_60R5!o!0Ks%oP6ClWo# zQf_aY-cPFaq2)=cZY0=ocJ8y}*61@_Ew{IHEG(^G%IY;9BEf`B45Yfbm>YpD)AW$0Hbh|g`|2Unkakk ze?x*hb`(0aA-Ea!??hs7okt4@6E2Qtg7@X?NRc$iY zpnVFYXE<=wZ;a#4N^3-1RANU_BY0iZI-%W%_bx@{KnEgqYd~01Rr)=smSutZ<6u>b zvmLPN_}nMN!7T!--IDm^V~aWPxet?@lfv2-vo*~*S?WpJD2mlMoNkZkxIpJt?%?Ru z{fFTP$+gKfzkH9e^SX8GH>}^VY18J-AD}<{(30xS7W?TRKI5wWm)mK%gxKA?_w3!d z(|_2102=NPlOD~jj^rPQ#?PD%St!sD+>gYWggbj##3cpHX3iv&$1SU!IOJ)20QCnk zzV0?UC-1<8;F0>X0JPHlugoK&Ms!RV8ws#WbAWXKmP4`tmYxZ~()a&tz+#H2niKyG ze{l=Y()V|!|L-7KKQ=?WQ$Kb#T?#vO)*#V#y1X;Fy z2Ce|TfLFWamjG{puQKCB5!{O8<#M1>JC16RBmyfg-0Ob{g+UI-zU9A=$STc2xxk_owZy5arYkqvoBFSlt0GzO8VCi*d+M~e1d07(V5=r57cAUPVxD9?m}|JCRf2*|6$jJo{~hR6feJGxm6WX1EmihQD zFY3Vs2+(k~?1rv$YcKPF=G@1R09r>p{`r8GfKmQ2w$+vGh2%~hVn+pP)u_Ge=(+~o z@Z0X@n*Be`n>B0Eq7AQBEnBy2Lp{-^LziBCJne-q;uDi5KRNa3sWMcW^cdDQqu34{ zUT?@??Qv;01|Rv388Gef>{pP}3<>OgbXA06f-r+~1RVa|5Tfx!;+2!{2DgQ`xZ4YF zYt-nrJMJ)CsH2JUi+NHjRvyJc76_wRq-=1keu}L5mgQU|9pSMQsvxVa;|fSvew0S~ zNS-g>;ia@>dGbAlD%@6Ft{#+_mce#Vd}d#f|7H~zGo6H6MeM`7%7YRjwCuBq)J_J) z+DsOpRZ#4&PB?&9~Sb|rh zUCP)f$keb7?d(~{mITWc20kGPj}T?bS(k`UIWd0qBm!3y%&vcvD)@^pwu!u@d}lIo z0eAbp-}*8u^I*R0+ZI2jfQhRHVp0VMoE>BBi|qxmxC_Gd-HVacJ%ft8+9NcPf9f)k#d!j574ux;2T*^2P$ z*GgT}|K7Z1tM(nbP!soKEHOmq9LJB>dJgLnZ2Yk8#o8)fIJ{{+5kk0KomMTIH-Gry zhcLRqZA2nC7M|G{WCg;bI#!7oKVfx}$-(2gyFoSshQfw$S~uPp$;|r}ZRfb#YO$bFgEPA4Y~ zat$J>BFxDB1*!~BHY6@=g9kLM7^;+lv*)n5H;9b?4xG(4?Xi~jcOKWV>z zyY{a!1=R`$yVtTALlO1HUaR;E%|nLN8aD=1ob}#U_vvZ zxqK}lqUHd^%+R#sDj4&MfU!3&{9bTQ6PzOtV8NHD$~Ux-B+52?$g#z$^T<7LntsqS zN6mOq6rJ4pVC;KA=-F&A=DyetdN?8WGeR-+LTW3W+vem4hWHzNtoTb82VhT%gh2Xc zK2CoG;5M60ioSf@7y(j)A91)6psom4+IQ@`=@r-<0$ZAW?6xRV*V_$>zizYnPyiQg zp(&gDJQ8z@;XGm(h~IoXmI=ZMP0ZYZ!V>1eSg2K8d6>T}DXC5-;c&T0=7(ot2G|;g zW`;q8-j5M~%g~qN+r!UY^efR4ScXGPocPYGU`ovXU&}Uh*RJdsO~k}zt#ymVU1@RU z(bY$95G6YlXfmyH6N2%fkULpokq^Ou_XWo=%{?FZIE?&drk$3NLmvD64g-nk@rb20 zLhxADC2Pa5ycGXV7;YYKN+cRT2o{^0w*-CHZ$=1)}Box6f!q|E~u77rUXe1y6| zzvTgnN7>Q8mt&ryGWz*momd*m^?)sG%kbf-3822;4}d+CeRTn#&25;~|E-46uzA4X z0Hv1D-I2KS4s=n_5GXyh!RQrI8qC`x0YYQ;u~CNx$1FeQ1mY1xS%KX73$qxwBj(rq%+;)@X^V%OH*W?`Tl}_VtJZB9qiGV+qh~J(A%s;s_z!HsQ5++1!02q;*jV=5 zuOB=GAT@3C+O+1&c{N}&t?v?XYawcA?_8tct{Mon7@#VM5j_78o~FXXkfn>{Q3EtJ zX8^9gGKfQJ4w@%`W_1phKGrxmv(&x zSW0S76XPVra$5?i_gIU~VpFXeNUFu=mgFadQg9hB1+@){4c)T!4UI`D{p$cRPm6l7;_H-S@Hh%no1s}!+L{z=DI;|hc1&x@>*7+a(1rZ202D_ND zl$Gt`oUYc7G}7hZk|^Gsxm3|RwX<9UGhtsTVE1DwJD3H2@mHsoEUE;ty$)+1EK+99 zz@6Sq(~Skelj};4nTawp@Kx=&Xbi!0jI1*7wHTfp_EQiITX85cYdKJ_>BEu}JoL~5 zg4Y8qXYl^(#w|QxJ9Oxd5J$rZ%=gCO<;Rz|BkjP%fPS`b5qxhivAto}uv6q~+Zdn` zQ8KzcdcYv=iYr@tTONFaR?oaFM)LV1G-a}}kcq&dvxHBQdxcgbLv>}y=`A=_+Ryc4 z2u{Ve^3nk#N3axm2Irufb#Jn`XfMp?0TQG42GuW>TcgTSx-XWpN&LaV3?E_MSmQ-z z5N}1saP_vz68y0}B;AVoF->Si!2(%D)cP`x<=!kaPB3df0JR&LW_=h?!&ZHm{0LHE z%SmPr21hZsIocGlU`7qorDRv8DMQ%~}fvOf`(7EFMhXmH%XgM%8t0a;Fo zj<^(HlWM`*CEEzD(%D-e>x)o+?3(;mqlyO~e2D)svS{1_#I|bPrj6gaY@1JTWoQu$ z2}e>{3@sYWctW{9M5lwEhEt-EALM!w*ger*?#}2AWHernXznE0vmuhW^_Cw;tYict zcZ@^@7=+p58St7*_uBJG9z2g&x+pIokc`0XPiHY3?o+xK-&M_!Hk|`3;{3R~N|cw; zYnOQC7I@}=v|~QF3a#0Dbr+%ab01(edLXuO8(C0QEei9sG2EOcyq*-Z1p|gyl{o|j zfr2aSfa+DB{t2yab+jsy2_qaoCM$38B9GcP({C{+CBWw4S)fut!8YT88v$H~SHL!) z;|3dsqFt*1OTj)Nh7knYi(L(jF-+X7- zhc^s+WxH$mi&g!4B#yK|mKrzpuioMBl!%1m$IHq}OR4ww3A#kw?Rq}p%y@V<@~2qG z`9=NdRvBE0&KIzDseL)Z(HSerh4MDdF=vjtHF!qe&Q4V;*o`Jf3bzxCW(zW00Jo|O zs0K!Y+uAYPdGeqZxh(^DGt&~67X}TknM2aAt++zn?|ksV=z*|tVJtwj_gsGO0}nNB z(yWA@sq^)$vBVuhtoORwB=wj5Oz9ZHakQE^$p|#>z`we_RHNX^OPz@k`m@Pd8 zA8;YzMTk|I`u9NlC8B`OV6Z-gr}`LPYqO9VZUQzRrhF;D$R4bo{ytVW5K`kJU`6yc zzRAc-aGH99*XvgPo!}O}h|n4bSeh3V2SV*Cp*2etfY=P&uKKVd-5lEV;fEhtNH87{ zBCXI$1GbZDR_t!A5S%i$f=ZtbHBtGkISE>Er12s42UxY~`u>*98Lm8wCg5+Vl)tyV z-bxGI;zzOb-=@SyfSTQb7fy4wlgsl|6gKvPp{qI{t?r zj?lMISl(|N7y6m-1E{ti`Y(6gecywPA8yvX2``0P)VdG|oT(}7BZXuC>LGRFSlcJW zlE$=kE!daJVwKgqJ7EFns&Lr7mqPZ=ygP1}6yaF$(H+_hpce4%;EcY-48SM5w_D1LLc=wMA2gcW|U5h&d;oQ*csn*f> znfsxhZVo=Rs4uikA?Z$>-uRoO)=C`AhIC5}ZBCd|>_a5AY*>vA7;eI63q=`MW3NLE zQf+Grs7x$D-r11FuL2yMu&PV_3O&1b6UNyZ$HQ-+jqOoQ{OMTl^ zofA=R7e4z8J6bdCjD!wGyQvWwz)W_&;C2)3V~I!6KA7<#$0Y4wNbwT3L}7vLv=@#M{Gl5fhYuz1cemE@L%2paBN@BxN}j3~dZOC3!zD!% z!!DVwSUhPLsQ0Ixk~%mCBxse?mU~lI*+FZieg&dYM%!(ngNJ% zMVenxbHM0P@{duC?mY8V;wvSU{<-nuah{y=ue1W@cAjHF%pxF5evV8GsF_cHx%Cqs z8h8!9)4m$#7^A)DiLtbI=bx8wgUiws*;-(Ydp{2r)~+d2k6=GTu_Bp11+0N7M?i^sh6gB zM^CItO5_|{yOcvV#be^k?{tD7CD%qC6Wq=)1^wn5^`D|z@NU%RWU2ovm;Lr`9kJZO z-|gq_!+LU}TDNZf`n7Z>_T74@j^4uWIDSNyCzidO;qY%z`+x*=qs~7dD(!WXs*c7h zPfz{915&_nk1Nvuj3=Z~9R_;0-g+Aw+$?i9O*CsR6WI(|%C#zN-KH&%O4tRN2>VPJ zg$@h`Wd?F=wKrx3JzcN-p7f>?#qoSJfwYzlRa}3Gwq~#G2hRr?$iPwgS>TZ>2s~>1 z3TA@kY~JwKcs}P~f=A9NM>J{ZyfP#YB?P7=7~N#{RL4&TDZ~1wBg0hO`pQ3kGUBjt za8A^Loh@6?1&Q|i`MQ0p zPP|d%TZjw~kosO8AASW(x^JuVr660wzk8iqpRXb;L+xk$A1>Gu=*i(f5(yqpkKMyL zgMIu}+0pm-z77MQ~UHTGURyc$&#;$&$op0yS8Dr$8nk_TSa+Vljr&dhp zjU6{*q*@AUQ;WF9a8x)FuJP|BmKN%UO=HuN<+`TP!^!(}VeQusJoI2wvIA{#%X?`y z?qkW$-W~8575(k5yYIR0{s$fm8~>uc)X|+;xDqMZyHAE|npj|BNS=q$pdDQ3Cz<_i zpG5CowkJAMS{d7l@(@-tJX(B&%dEN|B*~qqU0<#lxbLK=77e~+a4!C_@q3)UTuX9O z4VR!jX0P+ACZ&daRZ%=UijNFA%8S#!AaguFOy_)lp${p}#M4O#aq2!1IHh4p#Pf5O zFGZJffc>XZ!?%d1jVF>vM@}7neH|)i2dX^Hbhv{NNqE1b@(bqNF*&~V7co<=fgMcp z2h4alj=t&K#`r-=ewYD`&^;f78^ZNT9V%Gu=q6!8R_LP?#N-h6&BZnQi$O2@6{D9~ zGNO3LS`9}(Js|ES%X`S+L|G;E8dm_{@b0*}Yb`!SpYh!bH`sYh3g3GDb#{%Z(`dR^ z!VoFVn6>#t?F|`dp$ruw`Hp5kpa|2fNVGd^0=omAl~@`^Tq!k(s}e|7@qn_&634}A zejA;LPP)@1m{dCA+^ilBOWH}2V}4yDx;=g_PJE|qa=5~j=fS#D`O0k$8%-(FT$v$& z<*^39imWVKVZaz-VW~-hiUP~(y6h@%rf=V@Tl-Yl#lefRRdO#le1J2)o3SuP28DGn z!$NYJr*f=O_=J5d@PqqM)1rUmsZh7w#I!QR|EMYDR%7!}y(Wzxez z9k#345NOSgwe+(sT73V(P-PWA9LU>H_LE=AnKzeNqQ6l5{YL{&8NPSfo*Q)IB3N99 zTbSrO_Z}n(=(|d`f!2)cDt4(Zel8?3+0S!PQpH!&nA>+bNLYA;Fr>NkL$Twmgs0*= zw~;th)eBSvU-wZVgFtEp3qM5pzu}^%LYlu#;o6X4JS>ZUDrBF^72(=**jizhWqrhR zAh#L5?~6iTfAcIXc1t3j3AdEzglFR1E7%~t7A~*S$K{2uEL+9_IC2X=&G^Rx`G@)# z$VZ<;Xz=siUCH!6v06Hob&2)sqV)wEcse#~?$d z_?xllcx-7t!&K6Kbl8-0IOpi)$G`oKdv~c6L#op@nK)NvtJyEeP<+vy@PydkVAO*b zBQq&IC7wDxOr?MuH{VshJH-LsKS~vKuol>jO^P8|LnfdDwp;6OktTq@Q|^PR_+ldb z?&WV&d%gDBtNbUwOxQ3>+>5~r5_EAn+&f2Po-M#FXQnqC%Mnv%a^{HwHm)A!0ST$N z98&gqfy}k#Sm(*9(B8S>(QfYS2n?I zm+(mO;T_&lj#ZZO*an9(OBz-N@m?f*m~s^+6|Ub>fw_aGHok*pI*H_g^5PQEoFO}C zq91VC*cF%WO_3AgIe;<+WdT)KuEwIiQa8@CLXE|8ocrE=67ED0Y=K#Cj6Xg3%3H+Nb{y^ zSAJuE8T=~t>yJXEGof{HpQqTR1G$;vHusz~HUe0D$z(UjOCd&MltzLIVFDy!*bZ$R z#)uIJP%fQwL?jS^8!2VJ>qwZRCCoG0$%RSu6r8R6;cQ|g@idN?+}F^#3oz>3xxA9Y z{{k1UoI0xnuOe`k^u^r)7vn>QJ zWM%*uv-=TniS2v1`_sF2@7_b!u^X^%+rDl4_8mKSg<_?>W@qv)WL9D4;N(N3ypxo6 zl5EeFlb^-=z?D~FE~J8a=71M6DiMvb1S5(0TH$2C5#uJJwIOML zeg{3GI>fH5?w-DZfqPhX-1+Do+T!ndrf=ZhJ$KU97*&`II~piIFT8jjjmeYAoEF|e z3KfBEOHw0`=GK_OK_4y-32me?)f6YJ1Q#TB{o0s7Qm7 zbX!c*Nc!?+96TKA?9fCNL?fMw4psgHRTfl@K0(zmh_WXmKW#ci2X{}-B9A44X2Kn; zM{Ltf%;&Y;5*B$#K#qU5n5{PPKEQ&F?5<(;G<)N`$DwSyvH+Fxc{w?E3#s;;U8zs( zCO3b_F0g0zCht3NAUvqnMuMA$iMYzn1Po(RnJ=@ep&y>HVXF2b)&oY*1)}+1CSB_<3A*}ufA$t zV<(Vq2V>G5dwZCI%pFKGpjA5Rw!VHE?(xtZj`F1e5!$pVg6qKC3+|4ovjJu1<^&+o zBX4|ryWcT}u;q%eZZ7W*UH7c{wrTt;AduF?EE~pBZU_~b?Min(j=oNx4JSq@j)35_ zR>4cN8oJQl3A9Gg(pag`_`JC|R+)D35+rwJ_-f`ArNZcU4Y?Vm zUT5{C8S+O?!P3=`+0@+8)!TpX?%?G29^Thtz^E6XE_`6aFpF@ku~A%7@85qHugR@` zGnn)?wh4PHxH+YdZm6>IQWffD9Vy|>SPLt{($w+`m6xudW}bt{&I3CfvZhuLL}I^i z-c*DVU^p|Jdy4a+CI$LEUhsFReG4U3LbH9|PH%G;LJWG3+Ej#aaU{ae=Ad0cm8MT*hcbeP!*D`J*Jg zkKm|hl9;mpRtEIU1uzrni8u#s6a+?V9`|w zRL;vG@B}O@0z_c3fF(Sm)2Ep0pHAqo$5QDFH1La#kq0fi95$Zd1;0{pxWy~>wtyEo zn6`UG@dS!&u>nntKfq4X&Imj^)PDJti6Njt1xJ-o<7QyA;CKL=Q7od*nRBD1UWLyu zkm2?psSQ2c;o8ozwMp0LBm+bU}nJ4_-#b#>{;SQH@RF zxCizN-s2oD&Z&EcZJJv#I_D{U=rI?Cm1-AB(-dJPqx}4ZOP9eW9sJi#9g*J`d@V$fN^-2{WXBVxbY$1af(ohMdO5}s9)>84!K zmhe8i2eFdk*U}zExvds)nvB?7lRZYrrd?^4jmdwz(AgR1+1dUqf0lLZ!4aFV2QRP& z?k&A=COUhhYPh@KP_Y$uj&&qc5It2P>Hk2CRzJf9}=-bs(IkGk9i@rnE%f zz{+4v4Q)ZSbEQBtA+B5MDhCb}IJfU0Gnq^PA%O5pw2-5X79Sg!IW-X@BccMpfF=%Q zP*h1o+RbfV)zda1VQ`ZNHcTOXa#Upr6+*~HZ_@}L4T&M9}A z`iL;h{#b%A%%MQ?wT7UYADzO$4r7H{VJoxc297fo6M#u&rS?9h#LH=OzT(Va( z9cG9ktFu==fAw13^~UC|-oD!`Rj^}x|NZ#T(C8?Om?0vyHtx}1KRH#FphaSV+>Eu)6Sm6g}BAlVN z=fHt|tOCWh(;;r1P+YVb8_lLo1#n52XBlx~paCzzs$^0^y=CE2S$~BY`DXmt7O%R; z;t!a4Gs2Dc@4?I97k%|TU&6bt&B~9VWyAp^>;oJ+HJy;JusZ}QO8vYwAdSFx+CTt! z##hG}C~D-$%$@T~)M)w$&Q^&F%1a!F3xWaNNh`7?Xwg87FHt>aIz~T&m5}dfZ=|9B zz*0tXC*h6&rgOL>f=k>zJJ4$jnjbeMvy1?L@GsLEBjjBminRn!BSi@|*J77P@zshi zSWz37eWLURdv#LeEn}ofCKpHC$xKGqk<5iP>goag_q9+-yg~@!MKt2j;;b>+|0&_# z$OY=Q6_3aR;N)cH{uu~qJ0+w&5K1-=ZV(=xLWvNf7tk}b*%sO25UlW)*C2-XLO8{4 z9do*NG!>N+hq=HZg~c*A^hqe$u0M(Eo1u(9FqbW*x?+aoti|($4SErfVV@ww zzTyAg|0f%z_R@)v;`^(yUywTSS}JC+*IY_u{HO7kKSC&9_g?f8%?J>YTJS}eM6YEa zXSdYk-eb+3#CJyO{nRq9wdf6d9y`d`KH7NK9zZCD$z{;z_fD3Dl65YT4pV#0TROa! zQT5Q2Jz+cH-p!a)$Wm76p}_Tvi~TP`0Cy})4IBQdi!ny!X7;&MRgde z8(FwKKkva;JUemV&BIN^Iydp$WHg4Y0Ut3ctOzf4oABzt>x^?0%iv}qgj zvSivTFi2ul9RP~SG#nb-RFsxcpO^|$87eCRSA2NEoOfR22pX&&(S4MUyT)80eUjBU zd5;fM^)UIT4%+Qph1?Bw!Yxd(g}SP6u)qT!#J?AY{L9-Mcdzv^kJ8(~9Cjlr?D+fq z+kg=RM#g&(&49!y2x^W`(j;Z?-5Y4Y<7j2%pj@5yP@076Q>PwDIX|0Ha;~flMWHfQ z8c+-lmU$Pfe#P^dWu+1eOH0cFm5U`)$}e25ZEWf685n#xG~$J32zSiqywS(+-+$-M zt=_JV_U5LZUiUv24&>AlG&ts&+9bf<4@FJ7e6h0PLtKRTP=P9aIb2J}k>;8)lzek6 zVCH4^PT&@@YnN^!+c04wG(w~sWRGD|lLL2T8)pJQh-PubB12p70dvgtF#&`#J+_=+ zj<>`f9M$^9zaJf)U!qZWBAL!8q)~T17TJ+M0UtdejJnUhhJmg@bO1&XMLd3`7hR6YHj{ z>4i+>J8lORAkAS!0vdxJ)o>tUv?;hQ-xRsL+HBKY(>4XoNiAT-TqpS)!&v{dIQ_aB zkXVhUU_3`A^c=FjV*nUagG%pC{wbvxgB!OITy86Z#O#KNdr;2wuu}Od)bC`LVh>hs zO5z1tDI-4x8i7nuu+)jjE#tcjgAJmCbPHJAcY_1Z`~e3cP$?07(cm zVi9Cij6pQ+GaJnY1{a&qSSi3Fa7C|0LqU;o;E`}`c?oxnw<;OY+-Fx}iaP$`hr84E z?A^D2{{h{&X3aAr{#=I`o-HY> zgld}GZ{8lb_cmMEAGmtVgK08DW;&xILy!6UTMlW2;^hWyN9(xsnJZT*YWWb=xN``cbC0b{t0wl9e-1%ek&bnPIZ78BYvU+-Oz)7<-6IB|LUIF}48^ne z(P{g=wl4!B;@umO*@a2Hj862_tr>2X!jmQN@6mAnEOP5}jE;vo*MaL7_KgB%Kq zVrpVsk*0qk`l!q0ZJO(41hMLLbvRX3l|YH^h51KCd3jkGVpgdw8wGF5voKX@j=MRb0`%j;=X-4b$#bf38YEew?$^ec%dVpCn$^1By`0$ zIoz%H@;t_Zrof^NnGJ!%S%kI_#M#XuFT`U)R4h+z0lC`(#Io2Av=f^5a;>LxUKKvL{bT#= z;m;pDeE8_`ljq9LU#hCEzSh{%($#(I&fqxAhHRDrW-S`yG@vc=-;cT^fv~y;!p8V- zE&~Cl#$bN_5MfeBz!jS}D&sQH4W%6(93v~-97;NfFFcjI)UF6%+tN8_ytufK^;{?` zKN(}re-n^>R8aN?QtsWoO@r^}4S!MXvC55M4c@9#j+Zkd!eic*XPo(qSx!PfFjvxC zZkIwmYNkklZfHybtv6?Ng5bYXUVBeKIC&C)D)>K!-~wkB;ULNzE1MQfYl zfQ>o)2CravgWWjH#{eS#0*3i^tyyOfXStc@#VL^lNItvyi3Y)xC){o~rxY=HjpPTr z6aN^@7wnj%cqA@YfpYuk4i9fXh3dq;oH>3NlLM}RQGTWvh9b@cJ|G(_l_UutRz5Vb z3gjH_^jU@&JIH5GJb&hF>7}c6O>N9v-+gfZ{r5k3JmLi`C`=xEbpP(Ho*S)A^|hR` zS*;!aBy4xpSr}{2^9QErtT+$$_~Y49b1oS>1-ovJ)wFAh=!U?~WNL?sTEb7C_ysM! z6StgAVN@Wpe&7Q7wN(tIMT_uC6N$|Y<{&JH)KnH~jPrZ@MjGel5He=|De3j!VpIFI z|10D;mo%wha_<#S-1ZapjK3d$$@@@4t-GA zfB%#4rb>{FNDU}W$7J}eyPG=kCP$0hHvMCO4u5}-z3KN^Incy6a?bi_3hoFHL9S^E z=O{opf?PYK6Ea%?a-1*t5y*9=MI+LXUd_@{r3k;nPoYiylF(;wWOh5x0;p4`RTgV(%|!YhVUk?3-}aJq^laHRutY8R315ceE#!3zG`a%nMJQ8 zT?Hr#chbtH%P)%%CZ(?WDx6jRA;Qf0z*UYynYolfXU4KZO>HP3yJj1;OP;iSX?!FCNrOk4CvC+LQK-~b|?d^~%(k^q_W8297A*Ys&v$&=uZEQEIo$p&#cn z;VSamNPo~Z9ik>=X~M653BOKHU;n`EF-&u5DjR!flqmb8y9sHs_lz;BjDa$d+k~iU z(=jCelk$!$ollKp4T@_Qf>KnMnm*XF-}a`6;|xjbp<^}Lv$j!~>p6akNEOjHOPCCr z@vG`2sW#Q7A~IBq7Is-0hZ{f;I)zmxS=clsI-EEGH#`TXKCFvf8?FsW_mhVXtht&I zU)SY;pjLszTu!=z<&4SEWo=`cnoQL2tCwXsaBY{kh>Iemo)pkhnTK4s5LBi!##fqP z$kV3RM|l<@t(%%Z#S_b~YE_4F4TTuH;WUtjXOx;uD=txAF9AC`C>e&}5;nV2qh%MW zOHBO&+$M^n0*_8Eo^SJ1M|$}q(AKajOg_fB@_CNb@m($5ij7v0~>-E@e}uuq}~NP1Dvw#4dXu^bEDe0n$OgVRHt3ieI&Mhwl| zz8-_xWF_@^34b2G_7tuC!26!}FA&?UOtM~Cf5MXy;zr=u@0-_qS=H(BZgi4TF$F3^ z^3bI(;89x2T?)O>eRXto!*RBcSyX>`D@83^&=VrAgFu=(DOjb{v_EsRu!x!<^%>XUDri*9HpE$RAXwAnpb)B(;s=KOi@j8vx7QB0#||`fd!f z+!-4&=1E4Df7dPgFr3$*1GwB~1MrI~O`MeVEYMtg#M=*mTzGA)ZoGt??50n0zDNZj zrhrm2hM*W_&4*P}E<;X&hL_mk05-{RBP({z)MlmbBnp#j zJ}i!|X`MJp$&^o5w;?VkOkSAp<&A>HA#{~EAM@6EGJQTxdwHBfpRCC49Kor} z^)E8o>V^WFCT`rcsi=6{ww=2eOrvAk9WU(Kci_m0Go|ONYOc3;+z5g&G$sgqKlJ`o z+eshXe|w;(t^Ue|k`o8_?qLkT9Du*BGd)~36{$4PrE-OwB^@H#%sQYS0=w{52fm#{ z+#qy22&pZ(S#6*S-@q>%!7n#taHY|eT}6$_?zh1=ghY=3>0Ts3BAnQ11^^P&@lUbW zLnq7oiBWGn(o24%^>4uU-9M-*v; zKIAK7g$4AqZBUnM(OO?{Ituk{VkE5M)YXmSKvT&m7}n#VG(#&>&r>R$5k8UV%MS z|BcU;oF$^!gXwI!&j-bIJ_RK`nuw>h*>UP_dboPS+@N=Lx*O zbsHetvD55+28yE!Ez*aId80GT-rMXI`!J?{CU3JX^0&wh=j#IBXg2>(OlOOV)C6wa zxM|~t!c9dRi;8#b+OzM_v9sqc)wbTah5SDX&9Msj=OVdx?%ul5)=*P*slJYz+oj5i z3J!JF8I|Tt`e_uK<0nu0Ou#5GwHpkhvF<2{NzK;_Ka;@4*7ycn1ZnfurxtLrP=Z;G zzsBa6)v27pvwXR)eGCUMA9jn)Fw^Z+^G3RY4=5~wRbuMp|04ccT(-NXq4h1-urckT zVS5@{BmGIYn0B%J*e_t+9PH!B8%(TTH^VN7jNOLL6iI+&?vo-PcE;P&MRi~*ycMl| zo8B>iCs8As{yOP`9c)>U@zk||PrA1u!afE8mFUY?+r>DG=b>!Gz-I?s^oYO{b`EKn z#ROS==mbg?jse0xD;n)>ch%-`_70MU*vVN*>B?9opf3Y2&t7vK8I%#FJJz#o;n2hh zcp(wy5<+wmin;1tM#!%nf~gXPqJWkHg04V8BzYM6DVz`lHevBh;K!(Daa6^;*a;uD zD%FW)_TuxnKcT=Vd!eDBIdbgPnd($Wkfth`2L_I{=tWo~_f$5DuXxc+G?O)Or>SwU z39j+oSupqwH%kel**W{R7 zuAW@8_92fjniWt(O1X^W5yx7a12AZ5;HW2g7U3*S=SLP5p}1_$;5`9qM*uT%d_|$% zoL=OP)8*$N7IM=tvW&OcXD+2`*4tz^`^9kB7VYGj4XGOo3pZ1tCT%XJOobk8QOZ_0 zEZqL=&b>#DoGz=XY3%5``*3J1G~tLH`t0NQgLm)rbv8HDH#gN^tG-lO4xmche(b4q zx5vam1xFpAjsU5BK+5%OK+4?#98(pB#lC(d0jtn%^b7nv^{fodSaPztNd5eA;I385 zt#aB3h6{g=nVm6SLf33u%S1FUy#8Hk9TIP?KS2-i{1_4P7g7RzWu$wVR` z)2Xn@m!>a2Ucl)A=pPuh6UcHSV76CLJGw3P<&-`W8gEBG38Mj3hQs4}B5j_h=uylW z$*^QN-T~6s>0C7>NNXH%>IdRsqZ}2=wJ{jcfS%`A&F%C!ecv=Hm|r=7 zXn_GqIAX12I;w!C%wzQi(`!va3dtCsnh^!e#?zDvRfbr)@hy~=l~Ey~+Y_MymtXrR_>JaV{K7?twXj3NdqmmSDE(|u=f(aWE z-+4XPu3-5W^FQI zDE=BZWRo6AooMIS*|Aw>re#%Jr*d;#ozC~>WbS_h;HJ<`aiL>sFn2_?B8}V^G<0@zIj3Q|+Ou8y2u+;R zJwFOWiw*Y4zC}~2vjx(!xpOs8X~t?Zs0Jwj>v5K+YQ+M$dd^VG5b!#&oZ2c><{$PB zb7gXZqtG1bs)no6-Siq$H2eo1uU?6k*-ZuIBh@1gB1s&nbPIa#Lre;pNc&EsbYz&A z1yHJ94JcNh*Z0x*0NDob`n78=7xW1%t)2{6vbF&%fu{3Aq#ZuQlJ@~N4Qc<8=;ac` zD-slISyhk`Dw8%cakB|fJ^*kg&s#qXe?1LKv&H~O0}qbmdJeev97}41AV8UoW3Z_F z6gJOhr*U9BO6oZY%le zc}mUAg%qC#rkRs88(f+wObW2ltgzW&?hPUbkN_Hn8+%m}8s5H$p#Ho>{2vpK*3 zlHAq`3vr&OR7_+==5KUqozAD&E#Z{p`))?traiq4ATdjDGi)tdsXC1_q{bf7YC8pD zBpr%i(JT-3TgDpS))ud`7DABMgGPJpk!EX9SQ-cG>9h2Y>Y(& zZ0f2%IVlq1QspK_l3GrZmVq6e`cfq;ip;BV?!kMdwv3^f<3A?ZRcIqHp2wbutxm1E zN{7bA1c{JZVfdWp0@tpwmv^m(=!B{&Ikw8maCM*8^RV*~VBnsl$ZrbFgXsTzb$hpf zi~;m6yDiF0boX&YkAnDmACHl_^XZf1F$pG)1BjGEA2mK;hHpN%MpUV3l{$uzP^CSDi;UCCPfE7S-1Vzv_L(bE!qiU;O+3Dzl=+y2y|~?OcEv{*zH>+di$KwTe*D zjpk@npa_u>>hv~)f|TPc*{ZpPs(&-=3A@K`gk8xXE_80&VOM!(@r5*KU06ezfP<0< zJ|BZ#*9$6mnSm#4Dj=}k;je|R>l$47Dy2jN zZ-LR4nz9d|J9|FPT3rN01=sN$RJRcj!>Z>mUtvafHCl`1sC7;@!3kT=sNjOBNIriK zdwrHO)JKh;3uJJEI8cZQb|*xqkljy$A^i3s4BeHk?(PW;&AJi6kn8?2#V447)zr_y zZ0r4X5EJh)uFDJ8|HZoX(Xs05*XOQX4=4-rsSY;~=m-r&pE22~Kr9=3VJhKufNh;w zo4PKS&%<%la511~*RcM?+vGK?1;cFC2eXye6~UG+%SonBAei%+-1X}V3N~#j-nM(+ zkt4?$+}(ROK0FqT*}u5a(Tap}q3rmPLk@tD?Z!<-TX*i*y?ftYm-)`Xd#7~JltRKP z)bn|}u)J+fV#Fx)ag*}%K;JqB{_t9Sjh`FsXlY5GGh$u-i#t+-Kw@9pi%$X1{?bIi z6X>1*&-`%Y-wwQiG*zJk17l3F|2XiJ-<26rOHU6_;zI8TQ7pARXxcLcryD&tfiJp9 z+CU#O1qxBw;}c1$AsHaDn&2|=S_hl6bTm8A?UL{)2!0%YY}&JL5)C4H#KyMI^kziW zE4e!@Lk@V_$IVb#s-nPGHFZ=DEmcwO8L!Y#-Y z{f&V%b^~Fqj2to8x^?R#z#(U%H++_J;MYa)%3HrSmy&W_ZqDk}IXu?nJe#{}^{Q2? zSFc>f|5mPAwPK|M5}rh02E6blBC^|6f?U80|6ZeJ)42B&Ovq0c@N-#cS%#Rw0zSXi zu1_g|`plM3iO_Z*JbLRHx+Pe zP;Xj{5{md^b|>xK$Fk2(4dy3_Ba6UcJ}I#N=8+=R2_jnF=5ve6_PGmaDiHERo8_s? zbl|vvv2ut`dS;7X!+|H!FgK!!a?~n`-)E{vU&M^xhNBy=YKc+c1Swq zALTp}D^kT%l!$Ke5Ws*wj*s(t`bmt}BrHy;IoPg|nr(kp*%Yo76tzgD$5%|jCsKQX zYLL&tQ`&psuqsDZJz88*Gbq)PR?=0SU{Kx@i(dpmve`CKMS|USj+Q0w4XYSW$28CB zo%#VhH!HBs&$rTV(uz`9@=efrx`kSvN%K9*Pm0#W0Fd%lWo|m`4BWw>X&7u&e$2z# ziO!YPsJj6DU4|?u8j_7+?LynEO{k*Rr$lWRAah&9;dQS$Y_*NgqgJabmCXyd=!&lf@b+p92kh|wE4-`7YA=i?( zad-KL*)ae(B&}sF3sbp6YtdM^)Qv9nb#8rqE!W(djBMbvb{&EV1!=f8mF!iWV4uZF z_8@XSu*=C_wMx8}yn5wIWw_WCDa%)Yw&hcnEnmK3*)o9-7_tSQymG~g(4EGVwshID z$yfq0y`kKq8we;$nxqL0Qq@+dth{SX?9%5oKi4_>o9 zlXmaezU2w>ibjefF&FHqR$u$*DcsrRmSKTIopctL!*8egQ++0JQdrDyQaRZAmmlKp zRsR*8l=|Rh&gc2Q_tK*T<_K_laqtgo%>I#^Q-lr{f)e)QKL$62>%k_1o8iDQ$2eYl z2-rT=CaMzGL0k+I&|a7VP-dF0QBhCN1gC;HcxuBd0-0$EnxV@sVG;hqMFIjqUjk%< zof^j}h+as421OOWOLU?*4>qllZZeKCm53@loj=CS?YSGsU}BgOL_mvk069xy8mu`& zW5@tD8+`_IY|ps%4WG%iR4rTbxv`yO=*;n2%us`TQ^w}XBDQta-uEVh&wGp zhcM=qjxbO#7*Z^g**gwlF;1k=@hEWJ1zV9+MiZD!2C*ssk9_@k;HI1j{P2KSUY7E* zb7xN@j-PTKVO+Y0K^kSHyL3zuyEBDpTZ%Wccc>w*16tn4ffjOI$6OgV>VOskv>20w zxONmN`~T;iP@{6Em2tx4@}8kvx?35w3RDXu38O2X-yvJ z0G}9$a%ft%%m+cSrNhhoCCQxY6f7~|D+E(88z`e{<2_-_hXIEWSiRgkYkgY4KUtrj z??`g>>g+XZ*J;FF^o4y#aiLUSZyy-E|G^NOohBHGzk8>Uz?w zty^g0Hsq~a4*|oqE08VGWe_m+={$zt+x;D05!O+`N=`Mr5P=C;wu#2{_i|G9b9yfX4r?;kuFDPJ0L5DULS z1k~3DU;KkM?&fgcWaPu!ccmUO3g`x5T1oEi?~01KICM6MfuEAGB^87rn8ZT@s8GK)-a5}`W zW2W2~?WKVlc+WIF)7&DAL1cZ7C(&5lM8Zw^?l(Vj(?8qF)bNIBPIX?%K{oq2JXpuN zyBR`=SrYi5ns`7fY|Nnba;l{ErT)_Cg_kZ9cT(RVu2bJeaY-pjncCutU?vqAe8R!a zBmKk$IG6aU9+@3@8z6&?GItBcNDf)g95`vfAs7}s%#Y_KgcII_4RS?c z-m3U&HA>oLG;2oOwd|@%N~MSJhLA=5xHdrX2(t~9U1oMvKBAR4S_2Ka6V?h|AZx|) za9QSZP6`HI%WzyM`_*86%3QK^$PcltUF;T2sJ?iiOp9tv8nzS`Zro5nWw>oCstzDqo4p1mUA8RbE(F9Pv2|Sn zWW}V3|3X;efjlF;6{~|_^=Flq~ zO8XDgjz5;6D@;Jl`=$Fj7&5ax2%Hhjl zjJyFPNNP&koau^6>czg0wk=JE_;h0Iinl%B)8_hElMnIOmMMC&t{YAa1u24=$Ella z*wpyW^Ka`jr9LW6z&$fOR+pk7oqv@9+GQ;N0+|#|H&$2A$8VR+?ZdQXwlp=?F+eCU zXGr&CvF%i zXL!+dnL>m=|G;yI?v;>z_U02GT9pz`6gaCLm8w`vfi z^Nlo)*0-aZV@YORu=Xopc=>Y5)YWU(Zz|fhWAF9W)-Dnd-+7nC><=D&@czy28%*jh zpJybnf7kYH#Vb}UU%3jXuFv1Nc{7uSrAsMe*JLBEM*nvBieyPp2B8US+;X_}(Ac^h zL)=@jCBb5%2dEZ(#XZdiZP72}{$*ySy2&^Z1aDfz6GG5`NAE`GHv9{0ls^S;FMHn` zafo~LE$`dx2T(V9Xp^xohhIr1SzW1uF-V6nrTzhe76wFXe-v*{N`$zYThT&LKq9;e zH>Tx3TyG+MP~wAYxH>x3u4#CO_97II_ShR!y7?+*-icuv1)>98h_~609njhq1Cyrj zY0xRNfFw}Bk=fMNaf9hy|IG~O*Bzue4!HNJ{<5H}W+^V{Ez&UCBCrh-f97AqIe9Hp zu&D*r9o(vfQW=wQq*!q4wM%dj@31=eg);a28=3G+gBV1YMD9O)=xQFyH-;p zHJ>66XOSrxenM;pEz+>!hD!x{i&q(kIN>ds9?s!Sm^&AqwT!=6d^<(#)2Z+z$10vY zb(;CQm@kWk1hl2K}u9aa`!JTpFfqv-Yp($E17Eav?XaLl9AawqiMg!O~^RMH@>AR$34&L_E-O zcn)8XzyiB4dH#YqGTSH5ou{g64#=Bp<|WPNl@SORaxKp{3u3&bSX&~#i-eN|^s=3b z2?HkdN)>qA0RZYUyYl~8vobq}`Zj-KdF93GhL*10JMTQyao58{jo$0;Y^l5CTDILg zq}Hs?25SYIpJHiaaDcDz~PlFe)lL@iNQc!vB#vQ7LEKRfqM|>%YWR;yne<3g$N2@)C6NZ*wC#Gp zFJ!MxfdDn|28;T*qspskP8D%G1q7qlI*^jYBdrsE*>gg7qxRt_4bN(g?ey7m$d$&~ zOhzkku`n%&onwrr$SF>}RAPudAG*)@i~#VIaWX3=We}N+KoXuH=kusNV#Im}G7cU( za_j^E4J$u?zU<8DDm8OczqV*Q541&Cio~LZ9Zwb*m`q z1XA?Nc+OxpKm>ZE1^~$CoDd1x)}VEue{c~a_hVy0Lo~T~4w3bdN%(h`KCyb`G6K|> zAcG*4=#r%>Q%DW5&~x26)zPZ-983EX%!$zu0nK?rAzaD(=zeq4=go&A7x59k-qB%* zq0ufMQg28d>iom5OQiji*tuNwX}Bz0=d)|WM}$>)O0C!bJayWvd5c!8$=km7*tv^! z4Q;+Z=6l}AZ*#frw;Gmv2}B>K?iN?7&u68nQ?8XN@0yRR8{kL zVwnlyDeCi>*!cjIt%7ClB|(ER?ly>*Gsv)-VW-*Y{xlu6V8N%I?)D6(#opq~gWr3< zv&bvv*Eq(01~vYpgiQOx@cSIH^Zhg(3-ax6$G@W-#P~M{Uwr>-=BxH=NniQWU|$9V zc9&(<{-8G*tp1Bg1wV=d>FuHDQ;Hhh6E7+74nPfCpAqPw+5ssw&{(wc!;K)M==Ie5 z!Cq_xe87%?K>8`wu060GcZplzl+T88RWqCDeE3n60x|WJ9k%;<5wD*8X0LlTosQ0@ zz%mdWygowor66sXJ-FtwzTS5(=M;_Kbk3Vs4Q;x8x#aq5*BBI#BCEt+aLS&Y7JG<3 zv$e_0=ggH%G!N$|L7`zkfyLH`e=)(1?+;-Yu^z%+Fw3Ah1hZpYjV1z~h;OFh9&xP0}xjm0|;965ceY>>M2VLblu0}j_><>#H- z1K2m~uAD!6{Lt?0#qx#8sH*WJkv{r%XsYOvPDYJMSg9rHu*Y1qNQd>no{2^ZoI z=PGTx_|Lj0YLVxjOo+fdh5+M-*{u>b@My(Tkn_NYZRsbsKNO-_RLGke++sP zb{JUi*kX|zsK8}{rXOS+hSwQW;?B<`@nO&geJ=P?S8tMa1T`D8-u z%wdSDz4Jahf6)ShM~NO?keydhwBz9M zlB@MCH*Vg(^KM}O)7Yc;Zgw@*UaUBCy1KgRLg}fa`}b@uT%WUg`Es3-lEd_I#fqh9 zMvE4qfvy}`Mb)s@m8mL*Bi~8_h!!|*%NS~W4^}ac zj0P&i&Uj~kd#76oApfT&g$uu%)6II)JK7N@B)n@=6{SKh%CPMPkrOgZ5A5g+&~%$R zwObCB-tnUrZD*>JM>Q%S@i*%IAga`kZc0^iJ5#Prv7mFAB_N15ECIphplKpZtDl5X z{eZchF@VvHTD5fq=HuinmUo~ncnmeA`FW9IN2mO4EmW$)(lwGd;sRlDr`d*IT}@Cdk~j{3Ye*b@7~g#AVh~saM@U@j5H50|kY{RP3cmIKQGyUH0)v ze!P;QXJiy!$@&i^YFIX;0yVO-Ty!|RsDu`6Lt+^8Pa*(*oz{JJyD_bJZK zMNye;e?@vdYTvG%yZ7xUAK~~(idFCkIm*6)wUHWi%a)>`7~gXNYpW_yo${cIi{f-G z1*wWt#L>Yu{gj>FT0lqVn98`0Ya2GCSEN`4j(`zo2~bpNnvuO)E#ZpgPVi)~3>fFn zo9Da4MAY{MfN`!*@)g(P%+VPbi+O9cDZ_gPMifKF=IY-_h$>g-(Kiad^MEsrqDs{m zhp*ekkHBBjG6*wV!iV{XNLT^CcCo)ujVMn^)0wt#@iMd;GEc##9-Or@CpT}ymYw^L zpFMx2uDPWvuzz7jKX~_UADgh3F7n^-YUR0;hxctS%FkW1VmUK(rV#vsX>`3ymn^1S zU&&u4M}M!6Frvl|`~c8p<8F{R9e3?W#Kf$v2Gx*5uSq5@NDrD=H#_&9B)dopYW{1w=O16$L3 znK1>pA)eSaO_ZY2Cf2)oE0nt0*MsMbE>qEVYLQF{5n@?huIhv%iT6B!{0kfaj6D(kc{Gntm zsAAaVZLvW${|vDtJMaeYJ9YXD%IWD-Od|I0*{Q`kbkU3g@)8SRJ&6pT2(+Ad_8{VC zJOMO`ekhKsCL|g^>Q0UNhSvlrpP(%#%S{=UE?R^JgK)o88NOgb>L$`4gs1dHj2yGM z@Z5r@oe`TJ%n;5zFovZ+YWeh-xnOc3ofBV&&Oz%Z29!X9&auc7xKxR1IN>x>@!rtV z_-vc=pR-pjU$S8C%xQ1D{yQes`T6VCG0dkAU9@06|9jc6_y$Gw>nR zB@huFs8r-H^$HmdYWyx9pqAEZzxMAtmSNZ@u3^bZ$+EN%}vUe@Okw z%P;>}vvlSV@ox`))BDEgi$s6DnDo^z$NP{dx!loFq@n0)=VGVCQ<(?dF=TTuibc3C z<&vp4Kx=MlX}>`U33Ob10-y-opj$(1Bts5Xog(X)(?W0Gxp(hv zAWE!0fWTgm#-i;5Do3|eA%d2+8MS&|jl%Q{JQr4nS5w`(xKbGunDV^bC?L=|r~z+l zWNAsHI$X*WtFgU&p8C<2+EW=oLBXcPcu!JVgO*>FdQ2r-okj{D(*(wPfYZAWR4T85 za#Keh>%9t(QC~%Xpex(3^ASCIyjhgV4vBW!ge+;6{^l{$y=E~Y@STRS5)Mf zO=I+ppW9TpantU-2gtKKbM{<`I>W<<_U_rSt$4E*={6+eXGUq47$e1fgTP5eD!V4L zw)m=kKpD@8ui;Klsl_-D3J9ceXzY!-Iiv@SdZaPnnzd>rFhmMnvJ^zZdS-s=0-8FB zF!LqCi1(DR9gW5kdc<_86ceXSpFU$6ucl3(W~Q4Nv6xY}m5z__=GXeeZtYTYLZhyYCL(xz*P~PRmu2l}k&{ zo;iX2dgrz+6!H1%bKIW<5g8Y?q+~aL|F9y}`cNX&$Q@NN_90H)FkZq;$gL>~zI5#O z8?}Wazwv$-|CRR(@8>>FGy7AE$2$H4`OMfsXzZq2$e|&|Xq;RClL(aB;Tm@e1v7fZD^H=3 z#65Q9vZ~ArmErj`8NJS&v4=B`9A&h?8La+kTbV*W50NX$aH?r|)~)49Y9;;wY!bgx zsdzAsRgOTZ)T1(lQMy1v=8uu#cr?>RXDe>pkPc*{^SI!=G!2=Hi^I*PaN;Jp`Xe<| z`kq;rxmH}co2t~Dwr9-QtP{r%`o>oN^QKrROSD$S4|bxS68rUC3!kxXfGZE#YzVGZrmb zwqo^~+_h}mxlWYlWs4^^BV6@A0L?`U=FMTAFn#*e8PjLYnZIz!>fHRot-E(0sJq_O z-aT;d!6S}gu7&KD*>-cZ_6^8T+^IGc9UU}uGKP5a9IDQO_qdjB2>5MY& z-5r2B{}@p+5Qh$vT3Y?K$<3`@y(}8^XpY$IGsqU{y`TnBFa%c8dk}oYWkTWOKDe?s zRRv}H`(QA}imthl%!n`O&gvlC<{moN+xMcWrN?6YhcJxf7>;^@CSPzv0*Xj#Vicl& zB2JlLFic6{P#b&d+G=%77jMESU$4G_BDz!caAIyju8|5$`KSqBBS%$b@(wur)@6(iKik54D@n!EK zRjb=zzd$$mNAYNhcwlb`G@3mbm_4>@E8T2i@wE6)ikNlDUq-6^hK+^1-QX5KlZr9O zut}rH5}5Mj>C$u9)Q%oHh*JcfEXZeb?w{w!1QwYYuF1q49nA?pz!U1N`b)XXvUAq1 zWrVm=&C_BH-h4z6^@FY_d;&%R@@X(mO+`1HI@P>orUvjMU7`byPe`7S zCtjqY6DyGk98>23uuyz`|E3}DzRsCklOeFi2iU5 zwFG{LaYVYI1=NUB!66awEj5c%7bWDT`3g{%SwSstRJ{8PG3XP=2N$fn3zl?>zmEUX z`_-dgvl{X9)Yo2p^_5pX5tv@jVDF@!J_dVg5s@rISHODcmGWDwh>f@RgC@p+>f@9Z z);Vn2kD$sosT* zaW-e&VD$?)rJLM7MW>3_x@)pfONX&_Q<(hK*YiGV6JP6V-l*IUXw9(XPL}31ojFL# zi#7t`Qugwk^SaS(Iq)oeE%Hx|PF^WH7ov%B!fe@i-k&W`$9jgjvod7Q&jrCWTBejT zC1f>SufKMc`0&b$dc;K~Ph7(62Hb})4#C1vmKMM-iy`trq{K@YDqOep&TSyo1xvV{ zKT^Ip0CwB95y6*XKPaR|WmyQL*Z;^0-p0*ax9>P|{Pa2c*phQ+wRpN`*S0NelyBOw zF^^`mAa8B1q0Gf5#wxBMZyK+FXkudqTYYTmu@~T$l~m(8HABK;uK0s1Hg|js>E*;$ z`-z%&c+D8yXKYmf-^yZYvY%bE93Oz7EKoC7UltX+kLGx@z3JXG?=5dCuX)eGcBVJm z&P!v&2p^j{W3$t!VkwXzPHI;JLe1O&ZVnds3(dTV(I`@nMa>bdIw6QMS~ddOTgqeF zST(Z|%I7A}o|BMo&3tcOe2!W8zb;w2Vs%bI;nqEePM$vZ?!$+V+^HgCL-BXtzCF-- zo&R3dRh8@&9y`2$uM3@04U(sITl{pC`?{&gaHnx-^3oN{BzsYEEXb6gOR2wnIUiYJ z7Nt{PELx1_s^tj{PZ#=&5ui|nr3-U^(~r#Skdv+BGvd>{fAU^O=J^@%O0UIVbyJX+ zT@uW9y_ZJ5X}*>G&2M~N$eq~L-3JK{4A6a=t`XOL{vmK(p(%vYS-SQQpC`EOXvIha z&4xf%PU{!YTh(^5fzr^OK`X^*u6!y)6p;jW>U2qo z1ftWY*s^e&0y1K1?>3pHH6S;}Y#J6~9diGbSap6LrjoH0V~Ot6W{)@liEefElr`BJ zTgtejiWol}6N1>1F)BZ<%Xyy!R+YS7qR(U$G6K?4)N*=2&2^!CKve7F=2100Cu#1y z01$`s)8@^e%L6q?!Dc-dh|irj#|>K4!b%67W#$Cnm-qFUxx+&0+)po9xMcY%xV5mD zLZs)`?ROqL9yVitHZuH(BTjGi_H?v1)?U4MzVytgW5*83$GUx+DN1K0S@$v>K!P!T zH4edb38*f2=Jaeae};qVvSo-z;Bt|x7-sXk<5zkbrEY);em{cK--A>Mvafot#D5l- zQ{boGPq5Mbn5pGU-uFho89u=(C8%6CckWWs(kk9i9|+g}F}Q}Ue+KvA)PYZ7X3?R> z@EVV3%RL0Nf6Bj{%k7pFDDDGy-ln`o1?m@O4aA$NDU2l4PL8mm;*Iqhu$zRvRXpGJ zDKM{w7AW@hxWmO%WlM>D3bf|he=o{Y%gNnFkHsk9m^b27QLASC5%p%FwK@$*{sKAB z+1O~7eiY~k&1R*O;bIkf9YQhd)Wp=G*2Os@&acx_eLAA80zShFG^Q1-C0$V)dpT7O zx{9#eX+mYDJgI_LVFguk$zMD4vU4b2y-<0%x)yi2oV@&gU9OPe7NhJzhA6OZLbbXa zT#>8CuSmFk#I?X!5H_b$IrZk)vCt)>*~9jbC4|uIPA2_Rf>I3H^`KozyAhamZkqN6 zKZlCDVe_`#`wz#bkBWK~|#o}*_j*3`Fk_4VBfhyF|ufA`(@-hF5A?YA4R)n2JAJ9F~z{+(Od z|H!kOQ>6*4m(5r9A_{34fpahd=1xM)TC#ZI{MoZ+PMap&qkpMVfNVV(5$BG~M;)85 z?%o$M)9Z_TIY_oXWY+EX2GMsoT1ucpCZz5u=n|`!MId1+di+!lClNQ`?<})5@t6>gB=pE{9d&WjPOgO+gWeaUPU#G6bxfN;t;R zqxQIs&JWQkjr+~6WNNpN72&X$z(GW(7%B8_n#q>L3$hxlTUU_JMt%Oq!s0F4ckRQx zca~F$C!RZV`q+_u&~R~ahOoMM%eEcS(ug8hoF9gz4+mSe1=snx$id8MfG_e>Jh$Ji zWCTD~)0#>6OjpQ#rw-W59#+-7BDVYs5meW%TcZ}3c_^)(YT700ed&Q|PeI1<~b!32Dn;85^-Oh%2oM1WDwB4#4k{kAvug$7bj=kB1)v*!MeHWZyeqdhGCCDFvHZ(%v$Kj1Y=v8H87^Scj38`Wc+M z^YbFSt^lvsYokhrPn^{3D#i3BX+WbP(0rWwTV%BaTndN)H3+Dn5b`+A{U3)gz|x`vf4g;oXa zDSQJr@%*$luXvVz9(%K^qm{jmmbMRpt1(LeKW5gtZWb|&Sh<_s9Q)bO5D2-P!4kjL zUo+7;>iB2ZjULmR)YDD0fHW*ItsB)i{R!MU-;m!JGV5{6TeY0@fZl}rJmADEG~jcH zz~QM(t%Q`8bH=W@l0k8;hg6QR^Jp%HrDEUbh12sFs#qAlbg_z)tTkN4!qNO(RGh%L zeEUYel&IiKIQBHI@%chmBkKq`jI*IIs`^-(l(M4sr|;Y2&dM^|C+Z{zKqs55r=wR2 z!w(UQ3(W$yRKa$w$$fz(#{3P0FdaB_>{JN{FR)x$R&wgt5zG!0f%v(Z!)^`TTA*Dw zDc9{2yAGEa8hB#OCu5c-7JzEO3Lg=2F;u)NRcpp8DIB5TiMiR?Fe{$gMf7vjiU>+$ z4ypbuZwADw)^@zTof?8oCacp>u4bm9RdIPw51He5d{jP$7{nU@MkF1PBVYrAGCPP( zV_fHHlAnO?^rRU)m4-qwy+!O|6W>``6S9~4@_?}}Ukk&>XUHx=5k9ui%=}L%#z<<5 zZ~?P?Mz2v?dA06(&&`3m_uhHu{^;n?V-8_{=WRBEx$}4Z4bdlLH10BLUhjm`0)$ zFR4hb_}tsFu+CAU_PTZEZiLtn64oBEsMu{gwx%K+_w@$@Q*Pfy3x0q^>ft4 zK$eoJsGXy18#veF5He9MIx;y^N*1s!e~L4g^b2ZRG6r}q+U0(F4<<*hWNwa=urbbr zf9@9YW$~#eTb=!A_bYMZam6o3Pt?WTc2`&vIE0c1fNs^?u7{#yny0jYADy&3Mo-t6#1-t}qulX5xZ9_j!Pfz0SSjcrV=TrLs3T)tYWOO(UF( zgl`)TH1in8vN$OouKY{jeDPA`Op=YlS)SbAx2-kGrMe7@OP{{zraf>kJul@l!EYyx zvN;kbo)H9(8-hbs2_T6*zs--3zs$;F}h7Lh&R%yWR-w;wXrfL z(4tL^X##{fHccdqWr9y9vF5z&IcK0_?b6l9vif0km*~uO>;qDW_f5d87gfs$&0yIT5yUXqY}0B2_s&!;io^W8(A~{0{+n+H^gIzK}2He^X;`2AC1T zw}AAFw3#Af-3}6D9-kh9W;$qR#b0cur_GwP0M8&RHS@o)Yv2AOC(f3hudZw6T*JHX z_;~0+GEQEGvjaD8{>}CJy6P)vSZ7WiWw^b2m#ojYEHPtfZ)e4Fsae_%kS%gPy}7bf zy+z*a_$<`8geP){WoSw6FzuT(yb+RrO^qD2yfE$HkA>vXAA~7p zx^ug~2l)O=Fir-=(xFh7!B#|!n*MOa41vLXMivUqVL34N)6N%(v~$mkRwu1c!CuwG{QIAp@Mu z+B%BocKT#<3v~;JZZi?3*dZeH#%eyO)rLv^_12Eg=b&?BX&jB(Wgg#FQ5J#E5f~VZ zZR1D-`cz#;WCE}5FlJoR&F3Vd7S{HI>@{&S#P-jI4SUrrpk0X^gcsPSF4dG4+XQHZ zg^z@^w>qIv9znA=Ri{een@HR4IM`4yYpWi8n7qY@pf*ZqOon#D{G>eeW|eSR%IqlE zSiEKL{=>&h$}UtsbB=1_^zp-tn;Z|Dt+v>0=tmG<%X~9wJ@l=Z8MV1iW>(ew6nF() z70GsGifZPu)tNN5Yh35+@j(b0rP-<%W{ArUwX??Cg()hVG1c)RKK0?<1Q$O6FqzxX zXMCD{D`hIaiV+?n=)t%N^r9Ni$k3=qa0S>j#|g^iJyqTo1jnX@Z>7D-?CH%n&09%R z`G~O0e3Yk(aZ7OI?7ovXV{p39Ex|6D#AYaSqXl#4%;t%w{^_(?v*#^bvTXHQtiQYW z*EY3u^xS^u{l{aBjlQ5V`n`8Z=s@4XTF_o{n(V(r`**VrgI{c2j#={@lVYqHd5oO6 zgDzi=(+iIYo-8-7e!6H_0Oq%FFlPPp4H0tuciwN~zwz9bi_@-t0*rqc|H;V9 z_9yn`q#ystF|wvTl6Sj$IHdm0&7MC7Wete1K4?S)j5*>=#bCe|+|2>uoXpk5$jCAA$hAM0IDGXA|JQCbB35Ug{93nf^>(&guOA&}V9dJ& z?$oe^QY!~xLsmm`JLx_=k+#xMzqC_Lrwe{!60drsz6^8BwJ=GlQa?fLTTCg%Bm~1*P6NK z=h zO+hSgY&}tPgmRd5!P+c!!Ay^s4;5}{WN{yVaUXe;LuTHjR2Q%vlsWZ+ zM|<>`-VC%cJ&RkbNnWxL1sjf^Zr}Rs)ETqpE?B&D<(jqmn+l81R9v`H#~B0f#D`62 z!%@Vm2M_Mu8vw%HH_EX{onn@>dpj1X4S6i{Ww7I&yPiB0P2N)Z8z~Or5AZw9;Wzq` zK7wBg>IlKV8lMumruPSw);}42Is8fT%Rm0nAZ08z!Nl_BolpnW+;Blw6xG@q)#he2 z-IaJH2zR!|0q|s3D-VDa1rm(9()-gr?6%w;eD}S(*q`2}f)?}2XAep>H@Y(n^O}C! zlcxH+y=|-`1pmV@E5~DC@t59AyK(0pMKdw6Ev-$E`b2s~?g_eEv~%}p9&CzVmu@xU zT!xAeVQWkST?+1An(ZkAy||P~J0tX}(Vck##^Gxx4b_aw0#!GRKf>0JpKbGBh}q%P z*|v6x*F7Cg4fq=yv=GxwB0^2w^%hr<<9Ve1R=&b@?gFlJ6}CmHf+?HZf;2)^yu|qz zmHl6qMeps(1C4}rY9bZ53pKY?;?G^+)b9qIo);194fkp<2i5{>qsX#jO8D;xEZZt?^q#K zVQsS~sLjpE&do(-$@?@TlS3!YUAUwlru5A5BPWg?*kg7*yIVcBw!@W;E)V;dL}gyLIacZ&R83j=j9O#$noyGbgzq^nrrV`? zg?rxg-iXR+@#ye03d^X(25jQy=J9l*c!s3fa6B0LLj)o!JA@b#KGB*dB{W zmlF`fH`Nu>So0L2T556n^bBh5Y17^kKbzMlzxmb-G46^rIiL=Eg=ArYnq)pZb;``S z3zuc*?bv_p-1+L7>wk0m-krh0_wK*{@coBzUU4j4U+)d-zs74dm)RXIJ9vraf+yprWD{OOXH`S`qo>{i2O#vh^)T~ zdpGgl#bx#XwVMG;f_5{d_)kWE6#h8*M?d_5P(9K$g_;!ESned*^FNO2PDja|tq%!5 zah@slyPEy#lsH9J%8uc6Oh7ooqsW%|J%f;yl^FiAZsTBmJArDYoVZaE@p&WdG2Jy1 zxc+Qp$#T+~kWH$Ov~9idwLks@)1%H-!GW0!Y?;emeGXD)Ip&6xHdwi*s~vE@h)KqEN%`ztRDcQ4;f#GLw(v|?!4dI-Z=gkjRu$P?` zaCPD`eu2y&WLT84uC<*EIAQ;;l&8|YOd+Q_Ni#*u63L}FWs=EfA?!GH?n3tU{Gt-8 zbY5{@&XvqFr%V`D`jI0%CXce;`1nZN_MovJ9K@ zRolC)-5~~w#xjFkIAl8_r>XkY{P@l4W!7CY{>|!@49PsV7HhI<*NU(s16T2#6A=_1 z!5`;Eu8N3=jO73BAI;y7)O{)QkJ&42Txa^c7-F;?vv3RG(hROYx5MT{u3CqERTaGN z+bVeDmYsQ&9vOZ#bPrrf(vI7eH*b=qZ88nb zExqFz=>ilOM!=^LtEe*|!@~Wr#l|-Qs73Il#d}PP(Ks+wyE=P-9x{T;g%AGksojaL zcNp!Y-FWz*znd}dTb^X|9Gh4?J;-*;_stg;&*uXz)VK%qV0Q2wH0O9ns7vMEyJtU| zeC#}$#sp3BrJs|@-h0-dZ(y3Lqr3a-bT6xQlv&-vZ~kWn=V8Vl1P2__r-Yz{kA1jjRBI!uyb}+OE!{o(x$2el_&4Q!~vS<%wYsgQUTEg4(qT zJViFFFcPf7?+TaJdtFo4EZ(TCuC|JB*-)NkEzs47Cq+H6bQirt@#nEyi<{ERY?aQ@ zKO)76W)U>fZ0KaU)8lO;>X=2o%GE5L?!I)1>%juINT2ncQtgUZvNC+>)?uz0qz<}| zaOyl&u9OwTqL`i4O8$ug_c#=A_R_T*dHg&p%3v}tY8({QEpan@-2VN9I`gr>t45IV z&Fb|S&v_7^(w{JC^2ki(##6aOqlEJC;xX7xx{1)=?%T0L)hexbjX@!3jv3m8o_0dr=itE#$E3v13hS3nkpyzLC;dy%x zqyYk6zQ*QMRoB$q?wfGNoL7I#1N{8iGv2z^#;RK-h1ai~I|-1*Nx;*HSkn)ok|A3y zQLb42Xz!U%2~X|AQ@;=~u+MVhMCkWKXs`#GFHMNbcojsb{wIM5P&sPJsY~4k!+~Aii zgVlDX9#>WF-MiM5ZrN2YYpBMO*968T3Jn&DFk2uls3{bbv-lug=M}8%Et@Ski>EaY zu?GvwLI`xqcTy!9aMS|I z^1&oI2YmYnQwfH~VeZ|Ja6peF-{V|mbahgL46o$unU%ywcjVaBoPttBn(vpD&}!jvG9LR@y6_aC@19NZ;YF*a-IZy$#T;-8OjD>d008h+rz)Jh=12SFK*R zE;?$XZq#XbC9=t|&r*6g$S(Ol`u)AB`wyib1*f`vEw`xb=Iy7?h%+1aP5i_7=VsS2|?iTW0DZ*dhCw{nU9vc$iBHc?Ty9yBkDtDpOM?16W~yEBkZn zc$2SjK8j;J23X%Ie4$HXb6INts4&qovD0!=gmUp$`~bRz5w@d;8`yLL!i1Yh6TU+Q z-cih$iWA(4=g+PV(O;;75vCToQVuu#UA?0K!{iZnVwHfk>uBNPm-3@S4EHL7j#DxX zwFR}L`yn&)@>Nd!d7)Sz4+yfq40^UCP&w=Kc#|ZYZf`@f#oNi1WUeJE4Z=LR93!y{ zXHeOy${RPV>z`c9MzF}A6oXkQ;8P>N${F`wS#d#Lt{i!p7a(`f2cBbRwa-q+lXvpu z@#8w#7%GN0J^c{5o0OypcD439DQ;=HW^-ZAFg-@1L7CafL45Vta>5{_AeeT~zC$O@ zUAzk33=)@jT}U$;XTIQAXZfF^)PGl(FOsGSXWB(>pPl&T>&o=)nq!_Lym_KVV`uQ) zj;)(xq9ITNHawRBi06#=a8>);ot4*dl-e9#!^CHvRKY}YA*?dxX)y;Or$F&kD#EMM}) zmtTCbXpu3-o1g}s>7==dBtYzr$1br|b!2V+WD`os9r3#olT%X;k|tbOT6wn?l4Ef2 z!M&j;PaZMh_0zoTS)V?Z%1@#p|O8W^V`fU0XG(3SP z-7+=mAi8k+=c-D(x}+Y`NC(o@#&rax4^pl3np!)12VjpL5AoCC8MT_Ym~KKJJoSj0 zC^~o04Xgndwn!jTxuWQ&pgz3Gb9%R?vBM0!@+h}8)(d5p4niMGaWdvwcYN@+^3viv zw^XqP(E7eAo4?F-T-VgWTZ&zxud}&9XtHjMP_h+HL9pz2)(t0@JFVvZ#1l|#QLzCf z&&w<_IlbjDKWwevFDpUd4`y7>8OCP*LlJg2*50kG04=sFLT+l`g%ReT4W$QAx#pND z?z|so=iJEW<8Ctk3wy(?OU3h($i@bH0aQc4hKiNQh|_2uxv%ON4kuU{E$Aus`;-K$ zT%gp!6lj|im8`^!{8b%cMqcqFy@KePcv0fww{At+m$dKT@pD&lOW7LA5bIveJbm&A z3A6muZWcTa1FWLnB)z1bqzTs45G`Y@q(oaY)r}{3c}RV`=1MB1ibX4hvB23r6Ac3R zill}ktY;!S0@x|rwUkk!noP%5dn1Qen>CHU!bZ9(1UxuG#TiD(iDI6WiK#!QI{iGW z7BOH>SOE9z0#|C#T@e_@dm6BeXs{Kgdikeu+fc*v!YFM`$!>*XDvx}J>37wtopIZ@ zY>ZkJv22MBBS>GxE=$?qpkqa!O>QFpz^2WcHplS9+A$xgdgI~}5|R`5UbuWQ>+1E~ z!rRq#&28P?{ZF3Q!+(Q#sUJ@~a3hibHFqngnB5EKPoF-2p68a|u%kz{OB_6Cx@Drh zYkGXF5tI4ApzMuWUhQ>3Yu7Mr2tM{MA6{mv_jeV{0}BoGdll@3a6tvpIlYJd6SMnU zgZu9an01vASOJ_WVcpyNz6N3F9^tl!+r7^x^bO(l2YIRLon?du@qzRXRqTshhD#p0H_!^bTSL{-16W)2@Xm!iz(VlzoJ780YqG0g5O4;{9Z;Y^AkfRsjsE4FGpq90q zj;e}Rc~(#Twbhg2ZJ2sh$*Nf23VS6h9jHuL(26jg*=Z}o!>CZ|nFGs#%Q46WtysRo zS{Af)8O4l6ZmC9PZZC&9OPyszQS(VYP(kaX!ueR0w$@o`H`td$qc#ddrY~(^XqCxu zGyP-@m~J%E3>NUXS=%(}^Nlguzr|VcXDcICt&Jk-B6?)`f}WF zIUhY6etf^br>z-Sxx5ID2#+9G!=+2-DQmcR6KlVp;KQV8Qi<-2#if8a5(^_UvqX>} z<_rr4GhWKHEI+~*Uq8sEoFD((lE~_(h7Y2cX94)gS;H%cX5x>_8PJDq_Um$X@h21d zseKmY3gN}j1I0}!1O{cY5jVQi^t)X=YHYWxw!@E1`aNz0>eB-eo7-B2svlRB}ij4aRc3OZ#&YtQ}1 z_R~;6KCt9E97EoE8TpJAw<^Sd!FB^s6n#S*FEZw8uHb4>M%eTN-BIT$C&Ho;_4!~s zDR?)LE*t(QFBfl5ZZP|3fj7@vD9w~z$^>nyIDmvuyU1VY6u+l;HZNDeZ$U9&a#ek6 zhut-=oo5+W!_Cq%NEjevtI#QUFCT?*PPUTLPID=QH}^a`41r6bxCin|ZdKPIS84qY z0v^@!m9uU%6W3vFlWCz!b`JmUkhG~~YzS^Gdk$bXF!T_VuaoNR|0hHmdy`T9FfxLU z#K+0h8nrQ6VyA68;uBNTPh89`yM59*nt4n6}uIizm86%CV1 zO}}M>=IM17>LSx0G|-mmn_2O&-@4=D^QqFdBc6Ywux*~`@!v1(Rdz&(!Je#eFZ-=3 zl=R#cpgCH-x_Y0N`}tb|Oa04yOD!(&IZK?S)>rzYMOg$M@-28m@=s{n1Q$x+|o7`l|!A+8tb>;Gf3#2oj4mibc zTbh#^ih$BIR^#g35-hgct>-Cf$bFx^f1;#4J%e0TpTk;vpWz<-mPOXzDLoZ4FHa@! zatq&g2qEIf{Ad_ctw*mlx~z$=f5-Dou}SzzIrq60%`WVgw6}Af=$WD6rz7Txe)9N{ z{a~K)-0S5=pw$ItrSkUjOwZOwcX#QDhh1v-Be=4mi){ENe$)aDEcm$oqsHcro<4%2 zIE>2SDh5}rjY3}=>#FYnVrc@e8Ro`>c4g=GEOKTfB~~r^Dn4T8ZEWv*@Ob3;^Jhan z&9&5dePcuQZJtW0CH+-F)wQ)AjQW0(N)2J8qMo?>7qS&m%OwCww*h<6ob-1!-Y&h7 zi^vKPskq242xgZpvWkP)kiEqrus&tjkeo7fm7MQ1)_Ud!w9tBq0g^v0=7k5As;U7P z>*;8?U4940DC+6*w`X^G)(K&_e2HBc0iH>R!aj8T)3iewM~D_~<0q=?8{4}9X+~bY8XX%Qebd5} zc;{wWkx7)zx@3NPQOKM)mVOwxV(;EF{Q4f_L=9?b_7~iRz|lJ-{MrB)&E7#TQC5hg zS*vHPiVP2@r>#(+MpzIqfgJ{Du+omu6cgtA%K5_Ksv%)F=DeEoxwXLgOh2}CYK`x$ z1=eRssz1kn_!+nDe?IXu`=`#&0{`XzQf~m-lJ0`hnAL%@?38-ycdfzGZW;p);oolz z-md9lRrxUMVdxMZM3uJPg?Z5GeADp`ZX%N29t~-5=bg8QfXc8u0HOJN8Qo3(F*m04 zQ9V?KrUdS((Fs@$raFRPYunfqK1Pj!IIE2b9t4f>xSmdaeF@e#nv90#mfvp)E_oa* zUdLzRGTys&r>3#3lP>jajOZ_V1QZE152i!eUGv>6qQO# z2rMhLOZ>*W{~wv-EAQ69X!Z2)2HepFqddqaaO#}v*}MhW*K>IeWXeB{aDb8A+5dNG z9M(K~{OHNkmvV|K?#eyc0kClUCSPK_#%c%H;~+Wk3LiL_=Ioyd!le`Rf4UvSIXnMe zypZ8rh<4)9TNky7j&R`U`KyKHcagr-+$zexeBpG)p+oqb;&$%=>a|m5??V_&LWkrb z6h0k+H5{;< zP5s*8xA1e?IL_cN(X)S@s4BM~09!|nNB9}!QkNr4F_BnXXRf#2lb}vk?*l(0QI4|R@j}rIbe%-vjVloztIh} znM2~GAWyHVMI$&oLT13YcfuHA!99`ipwbi*0S|$L8+nbCHOZ%BMZrEn>H@PD$3FN) z&{n>AV-yn8)vKLt@A0d!DLOi8{ThBk5fOjb4I%|0f*JlB+JWcWn}O5LsL!4Yx_IhUMx+TAAm@q~ zoo--13NdTE)g7V{q0jE+`1b(x*1K=b6$}}sADDLVc0}Oj6^8*VO7z1zUGJ5t2uyw8 zffk7ey=_f$Bs4NV1UA5PVK;6VtQlvYXGEw5p95B#1gcgoez)TG-Rg#xu6x7JU%h$t z>|R$hn7X$*SS+(8Q=}og7R!NDB_>JdmWA}{eW>AF{hwQZEcGhGn#!_bKZ`ra zTp=v8f+3~7rtHykda)#WZ%vq~U>aHx3`lk%$pSa*obS>^ib^Z)fZ%lCnQo}QRh~ys z@}J$fuE9SWt>`sI1A@xW0=(jq<7H2^4t#PrjX3gS7p@SuQ&w5q&;m49b+@9VfZ&}A zr%xU~rXhe=CN)?CI@aNRzLe2@J~%C*a7+Ruar5J3*I`IV{`Nrf=C=G#e5tKjy>?x6 z%;wFpiD@S>CnVQcaOLXp

    RR%yPFZkxqf#z~RSo4q85*qbM| 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�*0sE0Q(wBacK7yS>oY}9hb{I{ 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%0A?q9J}m3CzCjHH-w)u%r+&I zWV3D2m}m90cl5V4w1%mlYbXu>z(TVr3(fykW6k*s)P=(6!TJfKH-CY710J#;razKA zk~!bSSw4@|WxdK^X!}a6>9cd^KRG^yrDkhmyf*SM&{_PF4w1gDZqyOAlY3({xA*pn zplcD-QT7UlI`LoxbqEaSP{-1JQBY?DR0i>KK<5zY?@EF$-tn2N%ukV!`bf|@sCLF` zha4KFxo0gV4mRXsHPYkd3mrFYWx*iVxd3wQEsdBqM2iJEGq@Hp%<>AII0QRZ5_64% zH_x9vad=|55Bf9yh}-qUwI6NTw0ZNA3*8?Pp%n6ZO{@5=#V=Pe6xMPVtm^QByeU_Wr%jaTn z$7&C~UuPD%T@~out|u>al7)hQ^`52NuGoMS=YDNI0(EzMYJ4fMv+%5OuvoI{VOK#K zZ!j2&Cf?vliyMQ$t~D8xZM$5#t3}rj?08r#4|jh#i#u^g92y-Hml~)WQ31wdF{9wH z6GiG8a)y_QJBJ$Ct|;i9UWY_b6st$SE!XMALCHkRJi;pkJ)a%Ub$vwify zau?2*JIQr$3hWwMx(NoeVHd9r`tq=2w+YXM1BHWKM`t&=O~7uH-4WK@o5g71A+X~Q zXi)D&AE4w_i@ql`|6;F+T)^vc>Kzk{eM~GK4Lj|ZMJjh~H>NL~JU%`)Km_!oKxcmB z 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

    !VQ%wZ?v24;i5v2p?|gq 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

    PE+HVZ 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

  • Rb8~ZMvQ3+eG*FiBPO?_ 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%0DSl zmBj@iLZRv_b10cTr5XCq)PJOK3)yfE`j`^lw!J(yfy7)$Hi#W1RB0S_5MpM#@Fh`l zS2otIwMqdor=l{7Dxj1*_3N$NbP6pM#X;tk+ADEKwn+v|$`Q-ZxAK2QGDRlh9iw_V zmqTJ+-@mwP)vu1Xc_vCMnJ-o;s>K0=&jOROq}zInLq317cifU39urdTZ!GEwe#)st zqjeG}rMtU4+5z|sv@0(lvURENP)1!6v=wxLH&X!o>=`D_Gf)&9G zrW^fiwos_7?w#K?FAi4=$yhuY#jgt7Qu4*6Mv}x~pqxsh426R3j2HSiB1jX96RG^t z*8WwE2GV-%@;7%^CtHhi*;FCT5yAb3L3<<|OGTn!7QUi8wG zp4DTP&Na+$BY#c+ejo5{ybQdCL}OS8llfaC47QXg+hqSwkLu7--9>Jqs2!8_=d|G6WI%` zSYM<>;g;2RDtNyrA!{#E- z8~;T?5(Lp*o|_|^*gQDBtWi!{CYs}c(rKYlW@h-JdM#9w(i-W|Fe4f_baW^_U`lYa z!@9n?=3`FyKS5*(JJG~kd1d{ydUJEWJ)e$8Bcaf2A`R+iO@CThvcx0X66<)k1y-Zm-JrMYBbTqo8}4AZfr!ih{k<@r8Bad|3`TKKMjszy?{C} zL(HBS8zW**Oil-)sUn%gSsh`eezm2Q^DD*01yP+lw+nw>z>&LzNu@{LF+N|@pO+j4Ax8U36bJ{duJT_k1#b|Z{pR7_zeH@y z9M$p(sKJj`6Ndf}ZSYd4%wr*0q?!-SbE4Q|vz!ob-?JeUly1aj<7;t4(RWMTe zSQM2eKe#knF%zXVE@*e>JzTLCs1KMmtzKdVyt24*SIbH*CAMaG*s!nN(vr;mDF1Ee z+`<iI^~K@FvSv#>=@Ru*^RTBnk0L zVhtdf351BU$+?w->TRQOxVu_PhNs5;h!>oWMEG8k3q3ptc!N+-W2vJ=??fUR3QSE0 zqjQU!dmr33XsT#kUvz6b<&0umBI-n*gt5>I=Q!BiShp9Bk*X2|Cx9{GKPfkUWrHzwXQ)Zvq(fWLTxtxh|oCE_Qyce8o{Rs(S zeB2XlZ@D+ZFTa+@-T<{qj+IgK9D6~l_eZI_=+VGfMvN*+Pj){*td(XWOImf0V&D0 zoDzUlg2f+*(VX$*nuIi3B&x5Fhn}Av5!fVG;YSoS^Ld>&Aeqraa?3L}P7IxMz-GGu zKUcAIWbJgbOi`9OO%)}`oEVftC1y*}a)`uz z=v!{_y2N#0j)G3^@3J_CNM0$D7MBmM?&{Z<``gR#gko679t6oDc~!-2rm_}j7ZshKZR`IY_ZU9(laX*;dz_TuvV9L--bVm1_;+qdI>_+3TP zI;8+==tXZ*hf6m(z)`1=*)IY3DK`&HO$fryyN|#A!@vFaSHaBu_VFE;(|ujnj^^k* z&S6f5J5%8iYfr@0AET1bJ^C+FQh~rhnR5yan#@==-M&qiMjPrKs9FlX`0>wN(qb8sT`07Gj1)!q zMXZ7(17F8CJ~^6D3Va7C12vsSKl?%9$E*p0Jqx&WO#@E8=FE~v)9nUCzbo^!x#pB` zy<|MHI?Q@kxq|Fp1?DYMj$8Vic;&kr@HJ_G8u3G#7X_FFW7^=ngrZA_+5UlZJP0z6 zKBYZhL-}AF?8&09(eH6MJZv*k@*aDmDn;t1U%V&y(1>ChFVmUb!k5Ai+ikEKEN$!& zyBe4KO9j3{cr7XK{vMPXEI^2bP!H+2(R_*ad<#DM&*naomqEN(*MS_Z8EmxJeU2}0 z*(z4uT`yxvpt6GBX^u}Y!t&C%xKmZqqussdZXo0J6X$G}E6i;2N^zHW&TI0T!hlM2bjKjXo4@#E7OpKqWo@B)xrH!vnldz0enZF1$x{@8r7ftswpc2ay5w08Sn##;GPE!ja-r*7E zD}pGDU9`e5$tMmW)C)ObAO+NrvVu;a1pw<)wdvYa8&JA|N09WXsqZ0)yv0wQhdSY= z__Ti75?TyY3bp(yo(_0anMj2wY#t;$w2|op-Re1Mk?(||@Moo3nHe{MrC6~UrHmOr z^p+Yo)(km6%F>0+o;m`n;K|?}kC3T;HiRh6&F1TuUOzFoOWI3kX~(&gCyGehmRZVe zlkgICxiLd_q+WAh+S`Z*4TLSc_D0ElS08GV+tzvbqn!PSHtXw1JTS<-c(Qn>&y-ad zvf_}WD@E5fR(MZLl#fwR#9~MCRUA*&uFbcU;kNlx_JQ|cvr>fC*JY+qg?dyHG-Clb zrsL~&H zw7F1FU?U!u%`>eyi`;A8siK#b0ewNZ`m??u70S*hKY_NEd^sw*4E z=QrrU$GdAP`%sVNq46@xc*)LCek;7&s!$!RIO$|@LMQ`F{Z6&0*@zFD$?;dO-;Pay z?uqG0W?|=~+G*aLY!qWb1mZw23?QF@YLKQ76?12wC*x9&O;?(7r~9V9q?9x>Lr9%p zKdra!t}(&3Z!eE`*30=6MW$%HO^_C(+p-9vSDi*r2}ue^?Sxz!PQq%xI3Iz+&tc2r z@fX*NQ*6aUPjDrXHef=@%iX;Yv`?g^A$SR#~X8Ez9RNMo`#Rhw*2)n^W;9q4j9 zuu72aa0@SR9_)|{3)c>KCeR{S$qwm4n)`SX&}9x5AJ?iS>22^+A>LCpeX&yW-ZW?z z=Y_lOZhO}HV`GegG%F;b&9t;uLFbjyUB%lMI2L7n^y^5#S$(QRQ^C25w#+0FX!8{V zf7}jJ9~+H3@9gPC^%}>9^4%+mQv}|w7%@L2wv16(#JTx>`AF#1Tw8kb^Dh)onFl~G z4S~xN#(xLC{`WLMMg&hV_Sj9^>&)CDjLL7}kIoo2QmLXEA@CXPWE;#ffi0h~JQ~VO zBLJ!tGv9Ed@TxFKf6wo5WyrIfDceuwPZoq_Gg55*Es@{%%)=A_itX z?yiouX>dlhDX51@WZBG8lDH%TiOuq+=;-0Gvv?G6BVg&dl>R|y0u_^NDok1_5vWjE zKd803_l?V=&Bb|soeYSQoCVx+FVh9UGJ(*$Q3Ia2j`5> zz&nLE5Ph6SRzM0N39%^&bjHc?$7uQF|AvID{0@FhPa5Ehg{R)W`u5eENvwubp+shp zOp=3OXD*W<1q{#nA@V0G94QVfAaSXOBGZ9Th?FqoMgLxn;IU{R9L+5q-+Q$?y2BcG zcPEEiOQku}a_x+G0Pb#V*FXzciS8<%Do1pq?;%rjI-q)4b2)#zu`f7VLcv%h0AZL8 z5RXCe?6IZuA~bF!+;^^i1NU+i^9HD-gMgY*OD-vtEOIYGs)qn&O$3V7_fG_5 z@GeP8v++*ZvN{LNxz@VrKdi$oZtfpZzFVoE;nrX5IJ!tzP8<({x>j1|crS zx%@nVQawVhrMiDTFn^D1MsEXMz_w5UXL2KI>ONCZ{QWCUn2ORxkgY9ST*(VVDl;7% zdMABk4&KT87iTnS5`Q-~H;}@V4YzlP_WZi}9zlBhkyLHX4pJY1wmbKLjisXW1aTJ% ztb%Hmk>a$;Uew!HC!3W#DdvxGZSvC-n7G~`dYmcew98F1MULt&IXM<|KeEZXvqP42 zhTX{HXu7htw0rA%Lw8l|kp+go&2=rDB3uD&MP~tB|MEw4a%hxBX&Eo2s1gg{a82^P z{#4dYJufV69q3KH++VS{?CW2O%nU3+cBV|3RyYRZDq9jXMikHlC$fPrlQXlqmBZ_X+c;gHiw0+?1;wAltT+t2?F0t{fZPf$(RlomV3?SVL26py4<<6@ zwWI4gE_d%m_x5-V0kSx!vhm--H`oK`L$mgv?ge`z#UJo*@)gyPXJ*K>-@JbN*7@qm z*KcN`@xs<6HIQMqb-9nQUw(kLXVB(Y@Zn79#u#ryG1B1fB_B({1O9I0B@#dowysQG z=axg%b$a*~dK+f<`X1lIliWxL!T&tO2g76@ce9T;b)wN`j9N8VCjmeJP#u{hNHcVO z*-{#{UqeRhVkiZzyBhE8ZD{*V2P)120=ysnCrXlm`FpIlr%;f&LDBvqstn`tJ9UyQbN& z8rBBU_VS}XDFtWv{L6TneLV(Z%7bJu&*2GMAdhxe=8JevI2X3~d5X0gn+J!~oc8wj zn24kKQ3rB~XvLBZWw8P-2Z#8wBC__kNK678yaRJTE6gvkEs^mY=R1{jOoe4aa<0hs zN_1$EWJO&uj^gK#6v@`AF6*c=?TRx%M;4Tws6T8c7)MmQ@_R7|WVDhW>k@HsYb+P4 znj!#4qS!=fxoLN=&-Pb~tkir&Sj+58S1;g<2|4FBd z1S*MIi3Irr9k%r5uOHW1_szStg*nVs**uR@oMG5P3D2799yxm+pCaAk%JehCDyz!6 zp^ThDj#5Mgq}l)1Z@MJ}invn_;-Gl*`V~fwKqQf$KfR(ew7OXa{F73{<(5qF^aAjC zf+&=LgnWAJ&ByQFzJ2rd_3O8j(;OJMP9m|~(h(=%FP!$>O|9NK-^`mCMY>ufn##zU z%n5}Z#SOj)&mvfx6dsG9GodieHuRLjD%8}72A=} zH0CU-^J-9zPd7doiw2?SwV*U_D7%9GbbFGZKgFMxth*DqMxg}W%q`!m&G@H>Xv8jV zPH(0Y=#Z}S5hT^eHrC*oNf|I&4-w!UA;01@f3S%8M1W@S@04)Va17Nw5$$0?mItk; zRahSvPSv|+t{K$c!^MeZgcCryIykplw7+@om{>lqf=3pFFew6v+e);kinI7=8&6fJ?ig_|4! z8x*i8Y*EhQsKJ4wZfecufE|eA%UMb7R^pis2E;QR4D!sspMvAh`P((Fn~mzh7B-Hj z<$0(zj*cRM+UN7ayVOH^Lrt`1i~tD$T-`KVw`cp?UgjscLWR`GSP#T#NrPm;GNgn0ImwL@Ar1sy<>x$f zWhI~*^(p!He&ssP*|tRkQnOw=-6|);WGvWAOZm!tF{>{2_p!6_q{%Q$&(nCOwl(NA zN#mtcwPP<#GZv`_(=&2H|8`;wh+*m)e@AY>agbX+s@*%@?RGXeH4~bg3eq`|0y3n( z?#!@wJA5Pb->`~MSbjG)HlZgQMjZ%-v4`eQuc^YcZ>of(`t?C2Q!HeY397L*`5|ycM*Q6&0E2*T1V2`0Z%3B>!Z-ZFnMi8x(}~&Q#tB1b+l|`EMj<+r zPjOs@WEp#(yeo%7!*pIcr)U{A-oiNpKY>Ve6OWPHm4&Dp_n6~@6VA}@A<%V63jSB1 z-;i%)MFnhHB`vKtdQcqTJ@2&fW`V;LDLRD7{T{t0dDkt^N2O+@8YcUy$8DFc`hBTv4{c}`F3F>Xr@{8NyESa~6b2Ef%fWY70$?!&I|*pKk-hqJv^i$K9bVL$?cKFXK3Bj} zLqaVZn#X(q0xu6#(Vnm^RzUK?4xR%2#vBAVzhn@RVOBHu*<_*PL0cmc14^F>e@tQ* z3IQSE93x{W7!J;mWWF~AEuW5NN(+ZovM{H4_p`mt1x^46Q&Bh9bP7%>*hoq0eO`r% zmMBa9nO+)WIceK0@+FsaJX2cP(DaPf_0cwc#nEUoN3&oW)ndM)_IXb$QH?7U3NmE* z-VG^wxF2;KG|7?sA=wC0{~89HQpF{|gX-~dA_C8hL` z)Jc0>F#E@n@!;3p5Pkbb39dN}4iWZI{g4p^R8f65Fv8=6#k}R*`W8{+3DxnLNN#lx zW$T&K++HoCYDB_3!4V}Les?48GI;s`rzF#`1pk-~uaAEsiBFZYAZHk<3rAakqs)#2 z>Ge7eoWCFg&ZP4rDu9*`A*ewGoEax@i#mWdC~KNZX*>&+IFz}dT9CdGlIW0>W-sN| z2E&#SrpObd2`E$W$P_S+vX|7`c6Z!;@4!Xl^SdN9C?7bY3ba=;+xaI8 zy*9e|yCs-|rIep~8+C4Ecy^zAUGOf%AMtvzsSJY}-OYEpCM5^Fvk@sAd=>@eCopESu>=EgTxnf=t4vHB#)#=R!98sbPs4 z8U{1?z0EBKXF3)A$}s^j4+efkAi0PYj$DhxHVo7FFZJ*S5^}WZ9({0);l{8Uk9n?4xm$~NP1sGFLppa453yvhf zXe{FhqBozCHJCgH(@xJV?_D&yUiEmRoS{{b#g|1*3X|t!$PAk@dQm(=3`d{m;Rs!B ztgh>nI@7-jgP3A;7Jz5V6yCi4_SH9EfA!7lv5DE-#s!ltoZHj2T$r;0e@R?jj%q^G z^AboyL{lf=O}mqQ$m0Jc5S)!n5xN8Em0hcU6KJS`SNGS783a*ve`RAa+D&*CjKY&> z$ph#H(fpy&ZHTlcX4NipCy!JVX5GJo;SPRC++HX znFbR2r#TNW>)^+UVe@fQR1cH@BnK1mG%XwyEbL?@wpKK$i3aMU(U;ZDEO_GK_qkAX$x z0$hx$t4c@iT}*y1;E)G&H>lYm3A%e8@b?G#_e$zy0&dm28oIWIF3AK4d2N@zXNqp_ zEwypAG2isOrGCr@?c@pF{!XJ^e`<9B7=hzn6YV?q7)zK~PHn)YDxhPaV}jtVXo7ME z)^GTGWHi@{$NRBTWh6ZcyDP#fc8uU=^pFN=vf|J~Ehp@Mdh%vVm8x-b{oul~uBhuJ>u}n7SxQ26Y2obJ|td_bUQr zP1Kp8w5S-?95?a_QU-aC2ndn4OB1M4jw)JB)qFacaiznZ^<_O7kLR@?`zF3}w-Pu))A(FZ{Ox%Y|I_{xZWTf4qe z6`-xWUoLc=3zPu`dx(MV*1v0=7C2-13Z_QxO&@JXo;vQk)Ba8sDETDd1@Vp&{04K$ zNlA}r<$S2uqZRg?t>Oedrz^3{uiO(k<)&juiM#j6`tfN!!MX+t?nRGqg8!0W%;@r+ z<8#E(+7(B^>G9F=8ciK^l5Ej(wz0KMF@TWY;Sg|`il{`urli29fUJym;##Vyeoje1 zW93LRmdcA;%p$m{A0KS0+mj>sV;uv;OOkSp##Cyqu-=`&B>!(RyIlvLzAcqd2L>u& ziiR@H#_6WoiD51;a!{&TvtD>0n#%sXynaSIJ6(IY&G{WrBsF>A4j{$gg_1D`)E90M zSw&5>g3V=mih?1q=WgPk5)rweIWus=+|_GW>q~`XJe4abinmkZ&_r^@aH`3wJVkF* zotB*|EE#P8PVI(%Z^|F6esbdNt8c#g!yo?pAHR9^j@-Stc3NlOOJjGv7!OWP;nzX2 z6HSi&1DY9%naT^{aEPcJ;7}WXI}tz=jK%^)$i%|&T^*YEtX(_zI=AP0>kB1opXOma zjx#)(lY&$~;Css+uuc;tVZ9C=ZY31fRn*r4f^PCX6bqiYXbGUFa5?!22~==u{N3w` zcgU60HNF{-FYMoNS$>GtxGCE%E)pPcNDIek3qk3dRMj5#&PRJjz8u1MFTC4VCu*ceNS|>+b4| z@+A8Q>NW2X=fFKsmQ>j7^5aB(gFQgkeTwAkV9=aE$39x_W3mOG1nkY*jv=yJb6E-0t2zMU#rXdW@knT25Y`1ML7E|B+H;7*hB0}BT@Bqd4=O-V+nNr} zpYRRFi{f;*d41J$6oKmD{?3}Fja5c;bZGi6v&go$wzT27#W-u(2VepI7$98fWa^wJ zWEQY4cka`|TpFTWBJ47e;Pj@^xj9^($CpR5nF;>+0!l3h#{9kZfNO&p2@F(U&1ag% zc~@Z3jJ$QJ6xR7nm&)7+d`>ozibH?LCpiLUqD?J7nrqqk^n2Vfn zhxvM7RzjiVEnny}TO9eP({qnOLAg!`)P)xLC$e)adXuo`*RLtJkH7imtFK*QlHYlxW(dFxApZ=3-wuPw1IPEf)1WQ!F3&^;JEcx? zAr0_yxUv37XqeYn4Kxw=t@p-z{rp>=!kf2~q4>sOo&3Lcaj;sZG=ulv4Zp|Rz$?ee zp!Z6-7pt~ObRP4WpM*V{32;cby(2+}038Y5UmOWC3j9F*=QwCjw8xv1or&6{Y(LIq zhr>Y!M8}R1G5`(m)+@{)FxzN)l31+)ske3#qeH4&X*-E%jed8K5lhM!W z9M{la7d^nAO87t(pb7il;V}Il_}H`&7LP1@^9C>qxHrAME*meKT^uu)K=wu?k~>+X#qbx5gO3lffAW?kv)zi1seo%+4I;)$D|Q?(!Jh! z@Tj0-zOR}5wpd_Z_KG&NUa)xQs(Nv8dvkfR&l)@KMF+yBb}@1YY;NE0yr5cOX9Kd~ z)~36mo;4Zy=w8!nt>9b!sgfCFzzQ|)bRx~T5e|^^>sF_A&fug9Gbkhi7PT~jC9c*^ zUYS=@Imv*TV|kyRsW@0@Q<9w?^rcNc)W*Ysi(?UJ1zBiD;z36(_ z_=x{#qbvp+);uT3Q|wE73#ieO&dZBD_4PM@`qS5cdOJBW9Zt>f-f}HJcWNg)3#BEtD0XnU*^|pfeYD#IeIxSR6fvwaL)`1sgJ7d4e@w6 z#+2Vvo9EzfGIt)89;zy)Z6Z`4;LZM0rE@xCb`?$U?;BUU3v-k&g?8$bbDWesQqIP{ zVnZ>5>coJl3EkXN(q3r-Flf45B#;FI+%uPQESAYH?Lr^C;o4y(HXVp%+{i~(J3w4w9`Sw<^zZ6?Vd2qz$kH*$drqZ=y49tU=5H{?M89;2GyC90br7 zF(ZmGT=Hu7a1T+U7e~!{kRT)`4mYX7x+v>Xr%)3xm23414LGh*1j5^E_@_Oc)BsiCv9~-^Fd(qauYYy3!;6F1$zmyYYs5bY)>dgIN8;zT)QAc8im{^5 zQb;^Q1aHmc-ek?w$@!;l^JEjbu(Y*aDNt2T(`7*lUo3Vj_v%qo6CP>E1~2WlZnKnURar#o(D+L;-OBn!)1d!u(ak*h1QG1Ke0 z^4-XbSxtGNo=B<@w|><2>@CPwX})7Jf*by&9-O>RQ3(oeoFp~CvU%04|rnY9nAoL!V?L=lli5+laBYacDzu^(v=Vj(SC#9DH3xFFY?T= ziXzyW_o*`@gKrB4-yzDohyuRKFQxzV!4_N`N4E;T$AOx0}Z;q?>p^QYDXcZ<8D;4|umK!NankCRdS?0u88Fp9qC!d;&@d9K1rF#du~7 z?(KI?IZ*p7Xs>#g-K#+YJj-?lr5gCEA)}&xjPyq`0C5C(_b=5B?>KS_Xmkz3ZE*h+ z$sPB_-ECbJg9bH0bcgPs;`<_UfpAZFSAwiR0j{zDIsi5{Hw**tWzGVX4nzUe&11JR z=<5jZZNyRvd-Op1p!_eLq83(vpluao_Xh|2yXQb-U6N<)B@Uqy4vc!2tiS*!UNW%DjFk29PET<3@IuB zXhbHECZxsBlu&E|8=EIg>iXq0^coD(%^HrRD?7)x4QN!WdbGYW59g5l@sOxU!Qk{z zg#;eR-(A^FDH43C28IXEzp7`5+?v;Z^PHtiC|KPPRHbHFg&G?K} z0kGkrR_OTQ-r)fJPc4nq*_|AL8Sq-5C}!r?kJ?@DGp;gqEUvLSAeT*Wz7S=@VRU&O zffwzve&aj96X^x`HgLhWzy=Oi16`OT)lPiG@d|5Ua=OKR{X)b-_w@)ob)Wlr-R8gyt*G`y@f2S3y7xebh%@ zE-)^`8UYS>w^k|zXRbdF?kR|I!oz?VgPH#wum>GQDh|8M0cK}4b%E;L&E*-rJ1q1; zAs|s_1-*)d1p7X4-rmL2wDTD9581cTpbZMUaK?n4_^z zaf0gJheEqgbLqZQnSCl0`I3g7;`$j&*qdiKVbIUEc%;QwxW>48}V@u#dPWV3h z0%_0J^Z+1L`}fQPBzMi*w`0?>^6r_#M9`aqwFI5;YN;nz2uBlX=G&;|@PhM=pNBo` z&~YY5W{BJ2>2XZCxy6H)ROuIttk@|gu?NbS<3{>Js11YaCvrJ*`WV<&i|VkcN12EL z)FlIw|B~c4H3v2BrkJY=!utTfBu z5dELHhdV3fxkO-$ql{S@DLSW-SCt|`x;;XCU&sj#pmF$aAIyK?UIl)6dQPbb2=PYg z^_^*|0b}mO055eDoP&4^_M8CY&V&R(-3C!$`VwN_;xy^K z^5c2t>);3I@Jh)HfM-H>fW7BZ{-_14X_1d(BN*MqpRjOJ1U*lOU7mp!aV897uc0R4 zt$)0=dsMw`*Uxtr@&#=vfk2e=SraHJ1e)|GGr#|!vTEmL&8c6qGFO*2UGaVrrme9; z`lj>=s{_+5pMQcKHUaDd0XO(7vgs+xdQ9oKu4y3P)#2uHKATKtw6MS)VJ=7ikOh41 zm1%OC{?AYqF8^n!U4{v;>jsBa$mTyW?C{UXTC>GU^^VclNAt-bCca7Jt6-4ABvJWP z)0sl;@GXFIBljAxNJ=}vVE+p?GRAyLiNu$IlykrCDsvlhYBx z>}*iloRoFd0-VT8of{k)<0{c{0J-5OWc|6d!_}j%YSfPR;oVLlnn}#^#A%)l@kl5Q zLO3W`D$kI;hXmf-|3dgB;ZTJPg?R8T!;b|?=4>RHl*3oQQ1n(ELSn+y*qcAS8AFpG zzn@Jn9^Br0&+ZNv(&Y1)Ff>0hIw(SdIX~H90%$xAW`^FkSfP81n8}|tGV)va1XI#LC=uBTREr-b)oULA@Kg_GGqn3ED zQ$XmKe?D}k2hROgwBq;J3vzJ9=M0^ z9kHffGbek0onr@bF4e;C)Vs}Y%WLDXVxoo%OgujNfGrEbh~Itacv$-wB#Cj_^>>FU z1?Yl#Hf)0TCbR0$MMV&Ve=bY5FE|~>bC4zUx0^s%fxDNy3*=sT1ndwaK^k*SN{aM8 z%Mc6^@U`a<=K3dL0A0QfB z7A(**_}^n#^vxvM0onpwOfBa0VWP860h@<`kp&K*2^wQxQq`lkClsEJFCEre9jAJ@ zl8taaKow+9m_3E=d&;QUcSl`n_9tTMz$qA{#E-)N_RTAz|Eq6bzZw4a?NoeTgPFY# z?=Q9%a|!MT6swB{-7qPt?!|xRcNzy~;*n`Gg}1N2oe0O{5tRPvP-^+2>3w*0y0cu$ zCSy4aL4Y@`6kUBj#Cnu>H_=S`gQ7LMUCne=5~d+hd$K3K?d$v49catu1$HvO;5(dV za43~B$G`sOo3H-(2dqqA{qdWz$lUz(4Q}A)EL2@7!n0&4gm#2E@JMgW{iI{h4fN9w zOnTo^Tvvi_NxGVQoGCGV@&5-okIxbPI1Ju7+w3^7guca~L2KBZ9=gRL&g5(hAlV}BvAY5uHA#zUHM z2MHw&kjCe3Az%^TunQc%uoB?mp#q)2V+-3u1$;zs2#;5))LP#_|2LL3*Ebz;=1ne1#tVe^oX_F2$KNzy8F`n z`Fwkr0s!M{sm4>&moeC>ywL1fpj^VxlYrEI8cCH{uf4f-cHMTn*L$n0Y_yvvrLdiG zsvDBzw@VK`fFuhk$-@WL#n;Y5PkEdza{W3@0$uGF6NmXn2#=8kiS0=IQL5|Hp;#tY zUOlMNPmfQa$_VPB=4(NEnpSz};3sj@jFzI>uRc?JWx!=rsB7J^t$J zKYaDgx9`TM!s(@>t8S}yyirOpWF20>tu&KSA5N&lC}j!R4uW=@E?}kSkr#;IQ^fao zufO@`)msSkSAYD|#B98@apijNw{OmOD=89tdhC=dL?P^M@W1J#8OJ{`&II>YW3RsY zx39h(LtK#THY2 z^ZF};1P!N$9I+Q8mRREr+)gG7yq}d`0@S&^$NmTi;#wn1LrpE5Yqf0#8e5+o!Cn$ zqI={M2u2YCR$wFqOMpP}m)zsK<=qd1`R07L^shgP(A zE=hVMX#M#oIH6)l1^EzV02=fD@4vua2XU&W_u8%%yyi6lklxe&6_m&vYh1rZPxqgp zUz74CF1X;*^Zmai1Ir)&&0k`M-hdtQcr}R*Tk?J55UfEV%o_g-)c_Ut@=Yn=YSkJJC((uqK*ebpa6g)Jwo^y|M_R|bbSeeI9l)j>tACG35y4RI)C>^-=|3+v=EU)IBGStC%5575aw-k z%|^Xv_yP1|0J(BOHN*lDQ4jnl7^?nf_*IMN7LO9eh(G(Ye?zq&>E!e}{?qUL!SB+2 z+P8lX(`)|$TgLus_MdQKyLN*(ZBx= zayK=tQ}+L@-`w`=zxHo``5RwnAAa>)zmA4I@`3;71y!#6Ejc*jiVjCpQlm+ns{SE) zJaQaa)jtqj?ywPf9yI{92%%^2chMUB?O*@p4{yIbbMyAszxl0ieUmc!|8s|Y?3gn5 z-~SIt`{)ls?eX33GCD~>L;EGV>idJ=`3+PL|L)g*^;_Tg@S9)1J@ae7{;NpOzwzzg z{GC7jiyu}#`4r+GI)#5W{}2D~U;h=Zb^Z&9cLL33vq9+Mw8!Ab@ixd8T{L??8F5%z*qu>AbuR*i?jc?7A zGs#pYH+<_izw_rG|06oFcPRhk&fokc+=<2A1b$FPQQ;4TPPvH7I)-z7g>pFgg8Z&5 zq5^b4#0vgYJejz?UAzb{^ttgJDtBc`@7Q3Km_Y?|1kyy6>XDDkZJmJ!g z@e@o9{x$nP{~O!}Kp^BucF)jl0AWwRGISGiT{6HHVcZK~F*uy0P#|DQxO%tcr=Kp$ zKZo1=c`_D3h(NYq3K1%Ts48}(@lT%<*8=zpPzVqvs6PN_3ame*!s36XNn$!X{Pd@H z{|A|FRw0$k+Ev2BkI}zRrUqn1ME@8uhe3?2w*Cx*th0B?lIY1fnYq9&lmH_ zNWf!#exUp6<;&N)djt$WMyV}EhSs$}< z8?!S9cQTj$-pxJCJMU*c=H;%P97ZnY{FZe}KC zluVLQ8kBmK9;H|AX9IjtF)J3ysyGz8g1?3TGchx_RISX$?M!?L=HYJoqHT7od7yuA zQ0?cvN}tj%87p|N^h$jSKA+T$w@#@;xvq35*ObfB73qEaAoL@>r@XIRp1Z;?v-k1w zMde-TymU@E%g*rA3=gGrTsozkP>!?1{E+-M9_GW+A^I3k#+%9;%4^a=dXwJ3uWwi0 zqTiF=mfn%xsT{%6aUA~={~AvSo($=XbXGa1oR==rSH;)AtXySR_*MBDzN72-o(J&# z4zNLPlue4U-E1Xq2%C5=R`89T(btqlDlXc16QeOqn zD#zQ;_w_qG!B`?!93B}P$*1CB&vsK^=e6sdef?%;X|tO8d#_)+s$MYwE%8WRk?3dX zWdaLAV-e3IekKP48hEAvh5p{h{45|xS%imqaAz2Fq|&*3X{cNtE*J8tL^K3=41k2= z*~hETNpS{oQg|vNN#$MKeZ_i9YyiAK!+Cy;xln?o5$^TIc(re z9pHV+pfVs?Duap%kNY4!@?d5Vybvp0N+*7bYsyvSdgUs9qAU35+T3-#c&;k%OL!S5 z?cnG(I+@Kxza672TV_pN{tW|HyRXt!F-7MsmtQg&B% z&F+@=&hAn6DF^sIwqHJ=yso^-53<)5UuSQqh$ZUV3qV(;H~|h8Km|KyII12~5k=Hf zM2dlMJ&r%8U(XV<^h1gt7PuPlZLsU}9SoEh@E{rJmEZrP0X%GYigykS8cim<+ZTyt z3gzL^;aoBaT&#oL9o>BcgLtZ*v0IG&*TKt`D_4mZ@UL{xD^uyGPo?%7@M)N_#e^S@ znOiK&m@)Va;(6o&7Gxnqn7COC|3V}hOQv%9;?T&*@bFM6pG`!=p@83qpkweTE}a^O zWS49YG6Q0~ibo-CoD1SBF%YBTtEhfMkOi3E0B+iRAjWDoSB;20M#)-11j2u2JPTk@ z8m#n-_|h$PA+B^Gtl~X>rcQj^ZRla$c%VAL5%HtFKERIQJ$8v*G+e;LdJYdWMTe8h z2^Fj?;H3*{j;aXnhC>R4`!}UGl-Chm=-0O@6m#AJJBOts^!JD!>7;ZDPZOw-K#g)i z#FZ-&$W=Nyo+`Nu-%&T1G2(kRay+oIMX|QqtQM;sAye5^d3AP|v}bm=vRBz}*vs~P zx?g!sdBbpk9b80&sUpI#x8@O7*kR=m$k4Nois(YzFp+=oZ65(Q#|Y)hX^=zl<$`ii z&plTuz985kU&uZ5?I6VW8~W7V=ll8xkbnHacsgGgDyE`QzvFpRU&qz!T|K=*>Y<0Wvh%!@E zyhJ7AEQJ&b>U~lV-Ut$aArcURi+GAC6(O`ph`t=*1(;k$YPdv?opOP_%Mo7i3OtL) z^|%NUl!ySw{GnPRVu!fE1Zn4WBqBluuX-dRWC$c8gc;-mk%}ZjWqE)RiBGzsT>rF# zcXI7}11NYk8&wlG&m-L;yjZL@ya4WDBJEWH$-;i=HC0E%fO3Vs&M75PX2cgnDRO8Y zJk$TFNBMDnta_Y^6m}Hf%3(l6u;AMPCdjmSyQo}Z@3YJES17dbZsd<{)-z9ed;m|! zfT3UQd%k~Q(BklhBdJVbXtBEdyQGJG*=Pj3#7C4HfmWfg%eY$_ieGOeCM0uS1C)Pg8~DUDHevWSF(3KUP_QW;Bi3IYfV@SqGR zc*vlmk;vvWG|EH8TrwVw_>pe#@|S_dKiCwjWYIH?_@ZdaD@IE42-$dF8L0FjUh0qf#~=Y5Xbg1W<$Tu>lY5r}X+q$}r&BSKkszg<=HWP`18~r1B;)fRu8$@{V31f}P6p zf|a7tCFwm$Z(2b7+-kPa)4yAJRl$j7DW~k?2p95x1!XeV0|tA8 z!UaPrV@E(JY7yxj85mHoKvqFLqMd0FBnShlS-~^XocKN{nW9*~B46bQ608^509A-Q zfT&Fc9G*yyx1Yy1V|N8YiAJy z>v1YR=xDRN_&|btmr^I*P&w;4MdSb(73NP+J>zjQ8%(P4c@ubbdJr*kB`Q`^sZii4 zhq;de#()JWVw-ueAEk$$Pw3-?xEEJ;Gyh7OrDMiEws!-{CYn3T4IT0_YHuV7xpI)QV z8JEtxJ|vF-0~B;_!dC+*TY~|g2hm5ha-zYCs#K7Hf(FPDcG3Wz1u8vyh>r?>)z3Ki ziEu^(_4qTS5(JVmr13`hx4m{TK@mkp-&cBq$kysQeGv2_jRCa)l z2g?qTjKIlfYgEe5^dc7DSudU$gglDGs8F@igDO;MSNrZ=yIy^D*RI{luGYPKcB{J# z_y`2;lJ`(>0Xciv?#iBp{T$@*0|p_Zu!G70Sqn3-%Wv|xs&C_aJ`84YFqTn~5LN04 zj-P7Vsgoy9oYK$9GLn!i0GH@@PRXYgJQ)0vOmO2U*naieH5_5CT_qCaKGGj1>Xo$`7bQzo2p&s`$wf~&#Ri0+n3QDEod`kc49e%>(ea7Nv5_GvSz;{I z5~MN%mUH3+?6aO)5tCvSx)x11t^L6{htKDo0r(rwUuSG{aiQ_iAEz4 z{1T>khsTJ6Ti z2oMztx%AO>nU1*>)vw5xrS};ilmQ_}MFR*=%cuBB`2@pzMg;+a0kRbUoYM~2RB|3h zfI2Lpun^(vkaR>GlW@q!-##wmsb;4T=1$%{1z`tAZTSp8J136XB3$746^CscNfl&O zP6sEvSm=x)ix5VYo)*C9yuIP6OojZ*sB}6VNQe!i@}*dmPUgTeuVFd9gyq&CvDP>) zcP!&F91M6ps)Jiw{>5Usr+x39J-c`B*|S&K)4G4(UUiQFAK`4jN8ZO#hC^XSz^v?h ztYAq=R}YqS*5{{M&zy!R%1(2{M!cd>GLU>F;rBRRPvXRSK}M}e$yZqxE5*T|^>LiT z+WPwY2L}3aqT~H{1`sQ)P#8mrY_U8#UM^(fftOs?0UYTD2CO!_ov7>*SYE@4t{tJb zqXXfW2}MDBl}g<*UZbp^j&~F*Nfca4%5H!bAjyalrW99WFU1q-3@JtwEQ!ioCW(wp zbvX1MFEXsi%Xgp((UE^CTH;g64jCC(_O|0J=<#^HJ_$7*>NrS9q5!BJCq;bT846RR z42Qyz5W=O$?SPJCor8E;`;=6=Rm`#pQXbX(6f3E`&|@X!p!$45t8!lqlxrw74ivfYMvD_u?cDVMyzUlK8tP5N8n` z>G`~i_z3mktbC52pCh@Gp4a#2nI**n1vBEKuIS*P{>V7F@qn~A+`(WxBY-Ss6M>i9 zHUhH089*+^b_&_MP#QsnI6hhyJch%hKQ@rY7nW!YgT{czgK%&C@ngd%{R_hIAji>z zzh*ed@DYQiM#Upt_Q)t8s}Qsp$@Zv0WO4YYp5%DFZ9`l_??10&rMoR{fEL}g@0 zJE9mWzK-iu3CZ-T$Kj-{r?ic8`K3rSImjW0$M$#fcV zad>oWY`B=urDKsGRgjBroNegt#(77VKxG`T>8_5HG}$KO>?6C|>2Ag4c6%f*3F;I) zg~V37^bt|GEf5R>Kb(%Y2Ll1W+ika@PULj$XRUow9BWM#qdW*z7gZOo@OlvyMTIDJ z&(Z-`#QrMXSkdJSRn7F#W%+%MW34QzMoB2Ach4byi7OR7B8s9P#}j0=3KTKr(A-$HesmqYzV)X#ry?mkNoX*a?-Mj?p$t<6wLx62>Vb znn>U_uuv-NG-l!vWKmMu=xEY-AbId$zfEEe3_6ucwoP} z&#)giiFlK7tY!xx%Is(RD*G262g!HtkB{t3%W1q6?~9Jqra*V>C@;iaJN3Xw@4p-d!AM~3bvUywwpDAS{l!W|a{wUY5Dhg^(fv=$(7tu*%rf1SOCYh=2E zJOmx^UVwb7&HzbAYCMNB-R<;0UeUM_XcTJC@c8%xG!7DtgN>t+M+^}Ccyy;m<8Y0} za3Fv~NmFrj6OOop`xl5~+b%j#@7}$DD=i5<7Rny+M$wVZ)9Bc0d+p%C0|yQsR8c$D zZa1{fEvgzJJ05|A3jIl_S9-^m0_mD$$b}Ov$B(H;aqo4UpO`yI2QcmEMbQxlFjS2= z=pk^Sdr2I)SWmlthK4dlx8LHfXrK)OB*hC=go+(TtHT?JC3E>X+T(qdV^!x62yQ}N%FvxD zh@74pA1UUjf5%4$WnJc`tS#df1hJ1UFsOwGS|J^%nOE}ANm@JZNN$5mb+)?PH31YH$B1r$^qTV~OaK~*;Eu8;su z8YG2Fs+5rt=)DZV8;OUmL(b!@dv;DFDp}|occ6dZ;^Xk_q1i+2Zy!2z`0$}abbvlQ z`_3%xCM)8|OwXH)>nXYmp*o-86VbC)J2K<8sA|d0?UR6uBZVw*w@`W;CSZ6`+!SE!_5KCg%-ut00)^$0EZULP2d_C;m{6( z2$w~K8^-xK{G!te;QE^v;UH(%BHU;xpH9WX{-#7Y7urJV2M%ow9R>iWqVO|p0@py` z1}%24Kbp{iOGRFE*^K?o1&)ruBO^$u01kJ@k$}GmDRm3A#WJ&@&Xh`NmUa9DDV2J2 zHWO;2D!4(j-2>b*6yHj@bo52H%|y8261gcA98bSUxDAg?0XNag5*4_)v_^%7Rd8Ey z8DdjW0oGN&Q8m{wr`2zpur=nmpbmV+Z1eb{alzV9J`;PHc4wJX^}Wa(Qx~k&%|H!ILuFiv|*4ohU>L# zG9GFQX+DpuPSWN<8Utx`4zF&K)Z*{;tqD8&yoi3ouv|Zj@wl8|v6d)$MR#iXusl3D z2@$!J%c6}qNP;dpQmW#@3*F=5u7NttX-wswd`8`(l3&8#rhd{nA*oT{ItwYd*lnS1 zCxLc0FiX7~J?O{74^1E4>At6#-GOp;SLkR&47>8l)fVcR zUZ9?7+$2zQo;IW+>&++7z%bFIJp*^pN{P$zcPfV~kk9DCRrC(y8KTBLYRkiHCAAOH zz^bmCwO@Gm-Sg+)eHZ;Km}a;rqw{hO;+fv>O+#>y(6n|@x4Hn}HBdJx?W74IwmvHWZ;YLJ0ky3+N}V7a_Wh+C-?1C^TTQI^Cfq zgkn2^kddO0)$VXvEd%|Hi9#O89G`QLl(hM zR)nD(F=RFN4j7GA8!mR7top8L}%sb^cyV>7tqNNIzxGZj;U|JWU^QZ9b<#gc@Yha zB703tV%BQ7RKyiDE@*1#V5-WsiV7N`$A@vU9W;R=ADq97=N z-~%Zf%{6AL9W|+Oura|0T{VKBA&nsT5#UalhN$ix!d8P2jeobgR)Y|=F0f66>ZyJ- zgu;m>g#67!sH7n@GE{0jLR;JzilNEQI!|GuPjI7zp~|j>B`t_rucZBw)^-K`M}Cc3 z^ySwLZ>n#!zWJ7Jk)@d+k@JM`6*wXvB`XAWyyY16Tb*1GJy@DRp+%xvAC@*}e)lv# zqn=aWrA8hx^@29a<+2c_bTFnmr%&zd7=S$FjihM8cVe`dioFnWTTKI9-LOZpx^S&( z@9XKpi!5!rX3Y7(|soRK#mDH=8Im0f7L9 zD+TD>7~ma8p9+vd~o6BYDt616r#3gTw;9#QcC`U9FCq#i+( zaGh9v+M^g134dvcQkJ`#P>&MnQqlo3Ih0G zRQ0rGA%Vd_aj8N>)9e^Jl<=!^Y5_tNKihid?0s^SHpHw+Qregs3=&|Kzz5_(a!=o3 zwqQ~}7)wHtLVU`lUWkP}*1_JM?jEBB{tPZ>e{Xk(3NLFi8>4|ZvZkdu+~xYygTu*- z{%vI409z7$=1)m+Slf|WjvO~KIsw6asFcHyzF&paSQU*(!a&E4X=gDM4Y5*~MZhZu z4iTF81ewaM+u6Y}N2a+}bSkyudY7EfF(OFzIEwL(aGPj1k-r*d^D9PJuJwPvk8JD6 zs+*Lknu#2|#&qAVC3Q`+jzH7UHBFi#ce{Jilq@En*-1s0rX*;F{GIP>?(XPVf*r&W zcJxnAtG4*w>szX^>JTdrTohkz7c+9@IB8)Hh6n ztFVMz5~9{EN6h>zFp4JgC16y}rM^lS86Ut1Hh4c?Ek|F4k|{VsX45#Lrr_wRID$i7 zpq*^HH#u7Ccm$5HULs1u6S}W+=@(;RaD=AGrEt{O-Ff}mKd%-eme{FL1TRlSqsj6R z`8Ee|c~@^ZQXztG4`B3jwG_>F!_i0gu-Q0)r~>DYb&=3;$!l{4q6xUPf}ni*g?QKt zg5U+BC$s?&^pC6MhbLZyU11i+Z~~yIN$jA=C1Upjgz5E1X0yt&T=r98%(?}G>J~9o zr)4rz9hq#tdmGuFbgu(^6jT_GpU2hyr=~_=qLqvX1Ir`O;{tS76hm8F=#Keu{qQVc1BKe#(zD^IPb9-_}D z=#+of3Vh-MpW#C0g#=V??7X=beENI3)YZbXfID4+hr$nJg~@5aQ^E!uNQcYQ7a3AM zBL2WZV_E!>!(>*khA`J_w-P|J<~m{zZP`#U53u$nH2h73O~&IF(d&huub5!N0)DU% zXMAk9kOeBb98c0nVniCd7v!1uc&nw}bKBtrq8dsPf+_Dq`$t&SnH%^Qj( zHHNapkb}IxdW>c;&2edyq17<-9DL$DxZx-akB*L& zv(Kb)kzZp-b#HA(7#b-w2q6~SiuUZ)5JZL}Vv*ZsJyd5={X^4pXfN^vBMBUuKu~U{ zAjsI)-92b_!U^Bq5QMfbmDFtJE7Ri*LkLkQ6!g05XGpV0+KfS~ia{XA9f&0I8bQy3 zASWyZdjvtu)0iOi8G>?{Nov5M3`>$jTYRe^NV7fKBxrR6nLtoDE(jXVKbwv}0fOM} z+&F^#n98oV64LC9)-6HGo;lbUu~+ZOLmy!eDyc!*YD>1%ZB|o-st_3D<7A?PJ*e2X zRi({ZXij;sMF_uxxhQRY0u-Q&v=deAtd6kyD9V^Y~nNR7%*a9R=dk6kBkrJ zp3SGi9tR91dj?H*NI>mo6Ba0UcVWkhEN)Y29jY+tzfS^Mv~QzD25vWvrD+;aYcv*D z6Nb2wTu5_VW$@H5&`oN2WNLb5dU|3ET4IWp$;B#IH ze?!rgAX=`qeE3a?C|Fg4wB^I%ZWYT=;a~(Yh;}fyVe`Bh7xh1a7x*mgj1iqdm2UDc zV%=@nszd7|7W%~U0hB%pCi!X4AZ?A2#r`ZZ?I!ncb_Uzbgd#`6+nr-`NBI#=ud6^1 z!rmAd7tLzMMUa2A#p`7Et?j1OHweO{L@WfM7Au&xQ!9|})DBB2#Y8(`W$KOc7`&>l z6&~s9l#~LIlGjKvH;a_4M#{_*DQF#R2q_%t$-7BP6JrWB z^goN3qLGq8Olb@$?ICPN6C6rL@lBOqmm#<-*4uf##bn~qcRgCQNhTl&WNQcjJ%Z2 zWQdWe=^J1K>-E40c6EkB3#%w%06W;+r#(D`X);G0BxeAQ7iU3e}iFz zD}VFu(hR74L~GJmav4L@hPLRCw!mW42U?0|P%IyZ3lMgh!zTK)baqbo4YLdUBDToF zPll1Bb4OL^2h_l!jaZT8(hs0F>>#}X#?Zki)J~f5I&*<<_Iz=G{ zU7mp!zwQ$KPuf~k^!zdO)X2j52P=57XcE097Fp~shfB23R}_DRW|4LMMq7@qM5$}* zX&4}&N5Y1kuJ&1rzO2$g>)K|GWB>#K1udasWpTF*n`^04>u-Tj)T4B_VyB#XeW63^ zvY}ltceS;=aEiVQhiLgMe4d54LbGm_W8Z_EGK zcKw94$mI6p*MOSTfx>7+Q-I>>=Lsm7u}q;cd17=VhutjbD}LPaX+=E2;+}Z2t+aev z=x#%`h+h6ppjKXxbM%8hg9cK+@J*bY9D5l?(?KsSF>8E5u43MXoTfFNaBnr5&!!WP z%hR0|#3tNdIqP9*zT42XxXIDVIoe^dn$55)*EyORd%2uXfFs;gG?AlGic8azB|z;obZsWN6&6hp33QfxT1r3H+EjZY43vj|O;K z9r8zw#7cWUn!iDFaz+}Q)lkmPFhi_yx(=%qf18%^%Vi{WvULG!{ zA_3B|2M4iu!-eiU>`y?;X&0tQv1PnN+g&y*Bqq#9-M@TH%vo{oHlN>*fh_X!siIkj zr8SWW`_!|jlHkHJIdfwMD_{XoDi)1ISg` zKA{3_Nebc(e+84LFs#;eC7R%B#|1kkxLkIIst7~y)cb-T5*uKJo6ns-Cj5M~z8zWU zWavJEv;@CtNIOv9;Glt-HaJW#H}YYZpwzM@o;*LipFyCklOF^4QP(E^gpygrA5_)D#Wdm%oS^FFXR89>J0-pnBquiYa#D2h#SM@?!u$YJL33h&_vIk-LJ4Y(cOy zQcOpKxFe~TokaxMEdewKekOAfI{D)8$oK?hu8FY{>gbiDgN+Ce$z2*eKCF?h51x4> zuSK!o7bWx>!XqQ_aARGeXCCNO*8-gYj1Pv!5q3sOgpO?$=xn2s=RtJT)K|$>737Rf zpb=<#0^MTdJ{JkEtmgR~au9c*SJxGGWStyN2l+K5XCCCR`p8j4!ZN(ICPlM9hD&{o zo=hy{wwdY;JlFu`-%5c;_+Q?unHN)N5Xu#32Mbyaaef~vt(+d1VLmGAp!36xuv1^k zGQiby5ot@Mqx%}tqaa~1qXFKebrsEe!MqmHXNez}(Zl|7HT-axWo)S#sNM$SU%HUY>N#S$M1 zK%+ye2WXiC?;`-ZF+Djk+;D(U_|ypy9qOxOeYp+*f=kS!0g`r+eUH3b*{kgNXkVo! z`-tUY${R9bPgOT^Cb5SdtLRb>M4hGGR)!Pm$<`Cck7=95=1y>IuF{%VFjWMVVF4{L z9G1Zg)W!mJLG$X-Hks@8&E|?l+_aj^Hao6bh4=0>PFx~+8TSvW&*6AeW|=YiIv9L3z$F?L+Rtkx`yn{g3vdJcBl_*ZBs z(szhmL{rgw&;Z_J@7IibmYx@F%RIg-8P?cxKlvyzBP2PY`)EtkH1nbbG+b@<1p+?L zdZftz#3-87DJpDIbnn&urK3nMgqjnJhDYF=iscp~l*Aevivm7xov~<&Zxorr%yN>k_}L&*4_o7B)9yOjoe ze06ffag)JCR#UMLbThBjQymGGFaTt=xqRV7PG>3GM3&0KTfKJu*_-K?%jL#?B2ag+B-{Y>Y*iRem_vLF{>s+ zh~#hAynfW9>XFu?$H+*SCenoWjPUe97YjOAuq=!nr+yYR7M+C84D^mWVmgh?h1pdo zBA8KA;4s6xs>@t|v=J!s{lS%u`3~A*nQ4cWc4}EHn46Ae^5u!?=f;N%shA)4_*klC zwyDl%G4Vy)ow{fh1`Tkb??sc9;32dmEHRtGuG(7d4yP_IEw_M9DOoasX36csexW=z zF~z2zqrxelNhKi&g@d8RFb`EBD#?D$%3T5WEr3WrlP#3k|plEgMT=GMNP z0*Q%7?g~ffb{B@!Z1_$-cFZ~|=p@4R!k{KF!EHy(+RecONY|9$0fapUy`<$}&6(I~ zfIsP+>%g+EtLXKCuB7#X(EIAruo}9A@aXg7KY)@%*3jr9IzoyP#?+1py@{Tg)5_^P zP?qNK{K#U4P`M<%2c7Dk4Ri-OnS>2AzQ2C#GN7&WTK|w+!l)h;Bs`AXZ}3UGHVQ)H zPYxkI@@yHcAmlg(Q85%!8^;h$64lEPb)=Dr=1(>mT6q`>QWzqJMi7PqE?YCg(7&pM zA(Tp3XizQ{vguS5cWVu0s1*z`drLiWNX7L&lx{He$tFYfFa&Fd@u}xvCX|i`&>Pa& zRF$F2HTsIEr76Zk(bfVHYNZt>GcvOK zmz>Hl9-Gb$jS)h{rXd8QAq^qg2{t~4vwuF5CWO==s+s$$p?U$@MiXat`+r+`B}9u~ zacHAjXcM267So=9z-RKg$x+}F^w=92fut`d$FQ@EDJ6$r+fgkS`@LMCxS zmy9Z+-H7an*>(A$Qjuc($O3@~YuBw7yUS0;dgIeCPmGqbsj$xhQ|JMsmHeKex0na| zdwSF^?2YKs=FBu%Me9APVy_jmvgN%;%j6-g_lRY9wwmKvmU$(eN+sdJn5BKYnh1&U z*K$4w=a6Uw$27tVLn7!ynhQV>60P}~sgY!-{u>#}iMX&0Qy-Gvp+ucZG+F{XtSWku zsxkB<;o3F`k8vyy!@`wW$Hz2%X1-&>D%(M*F@1CTczf$8N0r)OTN~OgvO#}-bR0NjI!IuCn~2Zr)ST=!w6G<@zpfNQA&E5LG)1cn*FHHM}21XmdQfmV_q=YZGzL-FFFZ79ERTesTs3wZI~ zHO0#bzp9Wg98JatOSIOYJ_D3VWxq> zCJ?q1z;wbUX#{g@L?aAN{zBn;`~pl2ygY(1EIPxkJm+Fv^?jSp7n~mu!`6(i5Dt(O z!J^(s$lB-ntuF~*xcRdRzU+;TU=Q#GR~#Dg6?|b2z>4{zVJh}Hd_e}}-`JIvqF zrt4s%gy}i?k-`_*DYc$COGkLZ#jqv*Cv7cXA8aPi{8CF+){3i*rN zd}O^7Na@oyqe&K8$1Y?m>zu^^f0<{jHnRoo<;hHObn>f{~p1XfM(BukM1#&SwlO{>{NQ4_=RUgzE0wo z(kbbWp(J{vWbu4R!d(eV;ylc&zsH=R?BhZ1~KYeQ>Bj)sm z66pdVHZfAlCqiDWCc_vzvXI?6*eJwGq*P2$zJ&Bf1M7*Otr{>E-l{GCTLEA5NS3UB zou^6-uW-!cviE*-YJ=kyPZ3_zI$n0GX>ibFvwN@z*3lrmc&?4`8mG4PXRs1(h&-Lq za}1$%wFQ|P*475DfG}BLb2pb(LB*R`>-vh#I8eyWAK8@m}g}P(qLqR>cEBoEE@N@%#IuRjSQH>Qv(dQ zk^szyZVCWqwRy02)?sTXVB-R?iIFnhL^cdCpLb<|!EpyMY`p`<+)w+1=r;-Z`V(Wh z4Nh1rDMHx&gju~H%-K-FusBMbCP#*~yY47#gBp+{gR~KI1vyfTrfnR?!jWLl@Nkjs z=DXxqmEFoNX^*t`FZc6(Y_IMxeo$T-5|o7?#>6tasxYmlo-XPJBad;W8&7HWQ?yZy zouv2GB{_^ih~Y@@JtEgspDdw9YnF&laqCO@_HseAJn-lURY_Ra< zWHg>B5aWbhv>3ls;N`BFPf5b7L~C?Y0^Hf^4Te~(J!<##bp1*xwZZU;rk3zZ$NWzW zFYJ?g0(d#>b>YQ(TGk(44tG!Aw>BbP^7b#*PQkMQMg@di~G26`M_mTwf3UlhHxM(GEW4q7-gj$j2jG9yiJV32_aAR8OUs@a{i z+;ezBBMj?epA2E>ny!m5-oFimAxo|k#Bey~7_(}32W+OVPi6fZ4l&sGA&S)y^TAlO z@ra52u>!H1GuY2A5L;|=2n((TFe<~=8DP$U&GIXg87~3GUR8G0G_a5MOG5e5R?H}e z6ih+#BUNGGO|4*PG&+q|FTLexx&8%%btqq28`#{E-bMNtG#Dr?+B#z8qIAh{RlU-B z_1g8?Qn!1ySx{PF$VA%8tX+s+$cseO*ehdGlOs^QLSB!ED6zzN47*`vH0SW>V^KVypnq&wEC%(9N86}9j3y%C<~8e-&|F5^mjvw#KZY45@NMq@G9L% z@Hw3}&%Z5Y-RmAcFZ@e~MiKa?P^PCNUa!+^G}`P<2z%^Yb4G{Kd`1GlO$6+^SzcCaSHC)}0VrfXAca!GbhA>Ro2=w4r`RI&G4cRngiQGNwM9N)hvh6Z}I>W}H&S@K% zzFi7z0P37*%gB^QUKyL58XYcXqoB@WG{RrLk)@uReI61>X<`y0?#*e;C=C@0+2q2i z>%7lpP78MUdEg9I7j)e%U7c)0P{*U3qMgs>v<-fJrr`56F3&1wwafJeA2F=pF1Ey7 zDI4?qu+tkGy&KIPMZ0mq9nHppyIg9u++p_Q^J1OGoxb#vP8YEEU0J|e?Ad_i+3mkP znGH6u!fPsdMLpt`a&etJYvai)6a{&=W@gY$i?i($B2QbHSr>V%XRA2b z`GSzwit16Vn)h%Eki1`JT=e=)QH?tjh&G2_0;e&yn-) z>tVwUD$6ScCC{=?;hGCpiz8!G)9iLT-E?6-C4*i!lzIAH7qz4bM>CoBCZd;Z4t;Di z;Rts#Sl(l-Ga^C0lf~{u{69M8FqBS436ZMSIhW*#R%%=dZ4JV-(>3e-*jaHfE4RpS zz=s5hW=NXxRQlR_`}+EEll8Z~e?@zzaBr$=Q=VAANb{a|MQa&){qGwHmxPf^0NG6&sm?mgOX ziRn>N>#i@^n?WpSyhFu<@ue#L;XuAi(= zz?>bU)5$_Oupt2Rh2c3>5)o_!RT~W2tR_<<0aJ6^2`_46qX2gE#^gBRr2;QQ;{%wO zxqC2xshAirtdK7i=GC99KfdBv+GFpZm`)YKzV*)6qNB}2cx8dtIOd;9xkM<4ZRZWe zYcU7AgJPL_jo9s{h%R{PXOl^ms5Urs)#f>uC&!;4Im#2H?u=4MmdKqQ=!wJ{b;ri7Ut)jVZk5^Gt9xR34d}5>abvoJP+XxYBRu82dpTEg;A(zFTrukJ?^;(}`Jco5Q!MN@`X|P+`M7_*bA^iD4zS=drGYh8 zE~FwMuie~0u$25S6!Q5TDy~9l2yGv?Z+~#>=G26+HDF0filRfZA#jO`9xlb$QS4a` zmt-W?XDj%N!% zI%Ui{I+ahxlYUurvPrw8Juo!G9H+7miy!y1gZwr2I?TwYGLCk}h!9=F;OG7y9O_cMQNZ9YNm@HO@(}lv!VK*De?x3?v zjB<2$FZ3udrKgROv(zE>g-veY?Z*X<(N3OkqcbJIL(zY0dUCi_$iw%4F|NeOz)V~6 z2op0OT)v=(!PDOjSAXb0ZP+1-9VNj9(bPt&m^NXI#gKuTyFZJ;Q!U0L?P4vv&*fsy zR@`D#oFC!B3H^M+~j-oa@#07Esq70fxnyU2xvNzPyDEZD*HYA$J}N zH<1ddb?tj6KRP)}5B<5y`HGm`q`pE~`1nhrHBEvHsR(PiIZfgkKu4iyNyFps!Vl$9 zymO*QZ->thZ{4uhYWiR*T}&ooD?x~3D0umTi1mXI8aAE)LQmhCnZyp8d^(j(s10R^ zho1>xgxKwJIh`)o3K(KNi%*;(?ng@_ES7GKr}FW5WF-U{K#;m@#mHI_1kJ(i2?pco z!Y`E&gC;Q)5{>xLTic8nw3A}c_~b1V@waED2%t>5u>i5iv*7?{(B1Bp@k1*h)ivOU z`u(4BTkJE#$zmcEeSCss#Ggg&9tZ8&Yf2BC`G_7I{E41eG|(h^c;WdX=(&m73G|Gh zha!W0#*Yd=bBOdSOkmONk#GR?z{?8#-LA*YU)u5`QWKtR2E(f2&@%y8qK2kRh(GD@ z47w?6#f#x(Jh!y4m6JihRV3R+rG_@PmgmI%D{x4;~L-1gGD6}Qm2Q&&EHTEo4N#dMF>^L2cA3YX6KLI}2TKt6ZkwbunhhCFCtXDw;lwyQgJp886TBJ`iR)y8p{j-ds`$;OWA}_FfTZz^b zPu*ZQpT3P_`otIpE7D0QG;uiwCy5ADYz#;!zF9Af?Spr*p;3+~Q6)+lNRFVx?mlHl z7JXA&A{c>XE(7T&G^B`T;#ub>n11BgjHu#Q*@jjkbPdqJqSU7u*-O2W(0W)eRyp=+ zep+HnI+@(}*F57W{xE1Z*olczMj6dd@@2?rqV-8RFKbVQu(_W*H7mT;WExZyZ?jN^ zDrYO?;{`Qn0V9eWqmQZ>RcyO*`SSbkU%vbaTA*mdBfBPvy_=BBX|1G?==6zGJi-i( zP_hLU{hCHZE1V&IN#Pyoe8lIrntfBl@Ow$dg6p0&o3M&|fHh;2SmULw_gK4uDIT3Q z7N4)5HJXWS7HhO%eciH_Oosv8Se;p{(i1IITJ*P6vzo7kUC zaqXGgw`fe8SW6+WF)G393~Z3B$)CjCguq4(Q5Y3luYoNQ_lG=#j^T-N79wsmIJ;X} ziv&vZ5 z<0YsqiD+P*b7mEWa=EV+1!p6rv^WzE4mPD!ZDBE!{I2{aLlOLV1B(~76>_eoF9yr=!GhBCl+3}I#dI}f7ls=Q_a8VOA)~M)JFcb0cm{tjYHll$wxJ5&Dz{!9H z3>$bd&>E=fO`x+)4Qo8PJrr~fcy5mtQ!LRErE|gh=gs9u6X@3p<%#K=xIf7x!e}lw z8k-W@aMdSxgR{hKlxs6nkSwz4MbS^SI@+*dp&7JktyJrgwok%ef$yZ#8oD(?y)KD( zXd}QT9OnqOalkhEL|`M=ask`4fUPPTtLlf1hP#@>n$}Xa9$ACp5l94GPFL*auz)QV zqE!rR7jh}$o4l9rVY@5)+V|25$$k5 ze$+Q7_A3x^$aiYi!ChM*gxeRbTb;gWGV_a6&)u3HD`%5YbdOS!#RU;+B%2i*KcKbs zwDA`GYXc*x;4-M=dcgtLDKpW&Keoi z3L>aYPT#!s0fL%94U$Nsf|_tbL}9n^h?vHE)ZY0=#xzDT4b8FZA*O}UIPUaLO_Z>9 zGnq)mH#}+Ha6F}vHZwk)$LT}w{G4jW1YbG(EsO*z5qA2g3JwW4$ zRY+$wyM1<;qdS&5^4anGg)?~lYMp6taj$A0ooP9ZhBbb+_53;PI;20QK}BuvB&?xG z!6Dy$F`|emx{Hz!%&HhuWS#0YcqgN0jfNEE!P-8<3JmDETXm|AZFZ**E;p|fM#f=^ zKUT=3BLTO|Y_>a{9yF|ZT~4h1M*3Ll=@OrZdZ?J?W4v)|6@6jMK~og1Zm*a5TLMc$ z7AE!~Ww9mQ>~0C#S>dZNW)%e)g)jnZLUhTd)np5Vp{Ojz{H5p|HcCQ2BIirka%nje zBZ+zwoA#;csvWIv`k*4Y_p_iOq|)L^^74oIKK(s8NrQ|}W4w_@&FrwHhm_`m4Vdc( zWRr=-o0RlrVZkrKf*+HLkkRngC*!AO*i_IqXf&E|f5Ha0P%2e>wqX@P$F*yEN3Fh- zQhtwLVldLDy_Cwi)_2dJQ_mX2L?bXg6hnO@tJ5=g&PwMh!d|TcjZJ~Z zCh1mQFbV6xqzPnCvG<@~89>(^rW_@+aJ+L%zS>SoJVvlG+YuY}I&EW^X3u7F82XQ{ zoJK+9l8pOAY2>htbJTbo29Gz!irGxld3+2`tGMD?)UUYKA~t$qUGWMQ zj>BGhyp+vE0iy*y=S|Ahiv@A2g|+JpO=1#?!==)rQN;DuDibv=;c25i(KMLpFswLH zKcy#X{K5vF?x&;3I?dF%bjUe2UXExaCSxnj)QcbyC7`%$eZnMiC#pto2-gz1@|Yko zmyHHJ?xvE+OWVuC3bl;AQpD8 z>oz22Vgb+0L^+zwX5sPxYl9UZU?@KuuoG;}V1&&zZY~6jHz$U2*;vTqwl*^?@>2Uy zc}&2_KG=SH>hod52`0SSzz9FkC`Xp&zB++?sRpFUIEZd^vD;U=l$QXbeLUh!D^m?q;Cgy1Y>t`oJkb8jufqdSN@x2#TM9^tXcG_q1# zd6aH-mtZV46-Jt8Tm_8xLZgU{>o_#V;+9--CZ0)AuEyTVzeTR*yZCN{-jJ;9Q}$yG zzf8KKb-DDYZ~ByKmh-yk__Nd1WojdXNg6*XYf9re zxOBa{Tx%q|dG)&5Nh+fPCu!0KvD4FvZJA<{Rl$A+?onOb*>1IAubn@Jx^ZX}jmhwk z$tR+IA9lkz9Ax6)si}=pFE!>d<40x%pXW3BqPAD_Vd^4IELb&G7LgEz;)fs7j!(?{ z!+NhJNm~KLj4S>n!dHd1tz#mVWJb9Di>ogv394LTn-K=JE$vEH+Kg@dtGzMhz{WM|Fy; z4YGBtH!p6Xyr}kX16W=NEe7IN z5nu)V*iorhU2r8Kum&0#wqJ(^8rvc){e z+GqtANB028iX>l56(9r?S;Z9A;tBNqCla4(3wFrlG>CP?>5J%xn>{;QdwQ^b0j_VDM6F-}X+saFsC#>5T)?FoQO1U->oL=?JzlhWqNA3lucpMA(hQ#zKAIf0hKLV zDX|`y;`VJdrqBp7`EaJ}t77V3FEKTW`+YEliH3Vj!L_DwQ0ZGQSH~1?*w>CJv+q~1 zWuuVAJi}u#WdKv^I%BFGC6yMZa>HX2HKsxVm+fAha@mc8tB6xeOpV;f6t&JFtw;JetvZ7tDI>};zN9Y zMB0;`6{J0m)U|~yX#S^cd6aM>$H2sLoM?@@X|V5;`t#l^wHP%rIx#gvZXmbtb;fb= z4G#v`9id>MOMXHH^|9RTR7Z+|3(6s$9fW z10vMJkrG$Vj}B3|uzpyG($@^GCgEWZG?o&ogP#YLg!;TmmAU1E>4~92DxU;Zj{}uf zm9Hg-)enfwSd{Wt;ALQl~fVs`J=hQ-QemopvIL* zfj6c#uCf5D(OjXVT3xszIbqGX8vK>f@xoAMNaLyqu9Us^3scHL<(@PpT+@gu_Li*4 zQrcRS<6Ljzr}<8HPD}(Ylcvb2t9rKO4794&b7#dkp*9`bdiKm|^^`$0W-)5aIz#G| zKKvQ zq7ae7y}hO zT3TP2wx@Etwx<&AZ>np-Ex9FZyR5kG;D9n`hh3Rz4nAolTcKF!lQH-?+uKeiH@$s* zSpN*~KKwx&O?>wC_b;Hd)U+oT_k65N9iG&Xaa9(53?B!KzN7Ws!2H zJ-Xy2_fjMki^RjBbZ%&5B%jI+VXi4h*VJE1Aj_lofb=#VNItxkDz%%7x1L&#qrj{o zIP!2Ct-NeBjx>h69&lWUel;15BqG6dsXPp;zg+1{Oe5~RbsF;sk6vfP!($ufooX~r zkBw4rgq{yyNX&vXfJTNTzO+BHu`sIe4L7U{7?tSru|znM0*x3I!wR=TDThYQLQA7! zBTP=$OR7%hp^P9^PhfRTEYesO3u=)MyMtvjiF|2f>;?`H zBZQ={q2W;=$;;aa$s0G-+fUt`(TL2XwS@|e;89=k*;pQFDc1aY;xQfzMN{GE2+ZG- z*<3zfC^jxc%BXtRO^A%=YCK}HA>wm2GF=zd5-LK#oCmSMp?B^n}WH5OP7NiN- zG+uB#Ba#N%j_c*M{=g~*v3>IYBV!*LPI z8)#=`18~$An>G+f>SMxf(!)~rn#9M2D39+*#C-X0XHw~8JarF8U4PuuzIV@_-Mjbf z*$W$2bje{a65eL_%W$B>oryjO%HEd6+J^gl=r9ag6-yXMvQnTq@-sg>ts;fDoWn8( zMmpr8J{F3^eukgEi?LA5+T-8IXYjYr$!OG4E=XckfDG$0Ec?Vo9Pd;6)xlPi85xDC)Cx43=b*el6giH3%6Oo(vk$0|;v&FLe((Thd#128{Z62>er zY{Tc8wJeQ?Ld9I_mBStd-GwgJ5>K)e%kV7AF-?Ii^IV#8vkF7`!xdi)o&cla)C2#=(OcSn_BUm$owb&{4-+TuD?&exw0W;ZOJfv-hUYaa~uo zX96GyO*G5aR8`MadgU&6Mg0?9wj@%6U1e+L1aPKEO5#jn1`;{XbKaZ>%m7Kr`m z7j(q?@*@1DBlMvijd;(rA4I?TU5Ey z2%jmZjn+DpjpY;-%xhL4RI+ROtO$QIuU&=K-BtMhpdiQ+<^$(a=Bs_bB*9| zu;C?9k3TPAcU(3G*%yxN_JRlw5j*^f%O5s4j08O{%TN5T}sT^L7U`}Xp3b`^*xstGq0C} zcxpRO=6zU$p8gT7pxwm`7fU*VAwitFiVtKbYC%b5q12 z?uPV;wZz;NFSw)ojuDM!8{MN(VnoGB~G=RcAm?OVTTlSViczT

    &E~>OfCXKPY|mh^2Gum^m%ON23NyM>;+o%nnkP<7#uBT zGr}Idl0iCci9uyu2EPG=*lYy=aI| z=3QG089a%g(DI61P)KuVktS0(#VJgXNk6cXLV5wL-~zlpg^!I~fZLVV#ww*t+UVQGjk zBVqx(VMQ!s$%f+41Apaq*lZ4Wz%}H#mCi~r9JJvm`n?!lOYpn%QTVDNyme>sl^@Hc zo5GhSJQ%Ue5`)b zLv#~(QCPLMQ_7c{$`|1kM?k85q@m@j5`Tf;Adrd)y2eKHWVi-h8t7Ws0$uR&Q}?!+ z;-#TDlL2A9;-z7wj;XP9{gu~A#mnh;IED(jKpa<9Toa-z=tAOz`s&>44?7(38iwMf zA0j{g4mcj&fhhPI&2zpSjppkm@RiQMYk=#4;42;pVswP+m%1s!7)Ea)94~B=FGR?K zu=V(w$KgmXXN@};4Yq9FbIZOz}Xc0+6YZr^_ zP~x74BAlUAU*I){=h{RZtCtySe34ixXTarbblqaHmpEK7&ZF%b$5WQbBPY7pR_MZt)=knSqA1p< zO9x%7v2=;9%i(s}hR5>}Zx|`s!SH73A_vk==(q%3S?Kdrx|%@O3-m0IUZTs0BM<1C zrps8%x=Fa;Q=+D8-O>fcr_pfj=WUn6h2+IA3PFs=u;4S8wOA}&yqy;(qk6D(KzWmI zNmzEf_2l+AM9LZJ7rvcw2OT>^ z>2ejgAqIlX!fEXcmbPB_6Q*|YjDpSHkixE1 zu8C|pu~I?d?m2mIVL%_;GtfUUH1Z0yV_5J3!$vY1^5A`Opy%eT-u?lsK^`3F?Y=3# zE?msHId@C0DPaBjKn0VfY}lCB6$7-Z{Bmkig=6li7+_1LFa%Vc=qMH_n>-$axz49} zRridzhC!9X#^F=ku$$4d@<)1TiQ6u_2S;2YM>_cDxEewQaRq zt=h0Q2%%}<%c0UB?W>i0WTA##`4ao5W$0k?W%OUz62a4T$RSsA%8~j{%BzeqUHw9Z zi(;6BK8Mu^d`uVCcCn-tpMSmc9-je{yVOpsQRvjW?j5J`+!B_ss^`jZF(Rl=tWUr% zh)*Csd1?C2Fjz#z!=j@ioFNFB287HvUtb8p@0JkMue2>k zkTlutL(paI8JUg8dWQF+I@n^{0)y=89{va_s^Fi_vyV;NfFO!F)}k}tvrcQjXEq-7B$BZ><|pvsF)f3y z;Qop$MkbHiw1UAQn*8tUsVjttD#I`ZL6}ZRapP724Ch>OeU4+A%V@>p&SsC}>a}*- zACGW0ei-A03j2+erXR+O7{Z<@&BVhlDG`f3))>A_cadl^Eim-jkZ2}aLT$Khu)jVO zJ|j+JO!SP6GpdE~B_*Xe!{t`@srAH=9Gv_k%ZUcFi0;(wo2`ZH+8)|!gExs9ho+0{f_A?7jiFv6(LOSAcRUev z#}jz)daOybIKANrHY-s^Y{a)z4u>fNrN6f>B)%+2%u*h$L1HGEkb*#w)fdGoP;7PD zw}7I4y`7f+U|m`5UeKFWa!qKQCRpTv>VM%;hfS58s zv|AU?Wpi7-IK<#LDK$$RA{r)@kXR6dkoDz|26yYgA+?A#4oS1wP7dv6+i&vm`#J3R z2@Tc$^rt^jf2!~`6btx>?W?bvUXu^V*te>_Zm5VN>rW_%_*fBxw#fUdE@_C+0}=Np z!ZFliM$iJjg?r{$XUnm!%966kQ--j!!cY&@BSJYul-vpRWXBn@aGgGlvCbvou)^m_ zxpa87a$UUz#~UO=hJjm(z+)Il)hJPJpk>JXvIS$DVF@_qa>=L{d3l39w5qzFnLBu0 z#0C`Y%D3EZCWJPwfZdwwW)Bn(tHE|Waz~<3yxU^hwnIuJlF39uQWGXgi~l*$%;K;f z!$U4*cH<#e3c)Af^U|0Z^Qf-9ZkNmHbh-W?4B9R!iY15aCYcawV?cd2}ST91>}BvL5HfSpErS2vfROJ2hC6j+cb^KV6US;e~rgq2CL)TvAM4Q zhHsNk$ym=SpOxt*PRlDOs2JnE3jI6qMH!?ps$5~DB^F8_>5H;(+u^?uMta*K8s=WDp_9N;jJh8X2z#r`(c&5H>7Wc_^o(f;WLv z%kbo#Oe)})5-=xhhEo#)#I=oas^Qtiv@PE^bUj6{;HkZ>8yE_<)8<_eL z<|8m2XxPdBmmE{N98FG&)beB^9HP{6EbZkbbph=pZrC{a{{ts~6)@gge(L+_>F^H# zm^s%fr8La(3@$}9Y(BWN^0>Kv3YBiU*ty>riiZcVB~HC zO-<&LVNU{+ZBZ%4$xJ-FaLyeRS0*~!P5-!|KGcME`rGZjFpbz<0iS1;o7X(AYf z*TLs82T?k=c3TpQL`1aUTBo~=%c{65neb-~!Rd{=E9r}j7N^JZQUqr^ZcC5OC=>nX zMye-W`IPNt)NEVEXwdC47{xBh23_i(!qF}m)h70hk78M1G7=62;Qr@>nYh)jfRyg} z1SwksQf>lT15z3pe#Yf+*lm^(FbW}KD>r(vm4s%SC?R zLef7oJ(`Wiypj}&(oHGFlKLamQT8+a=WJtjl#EZ?&!|6O)KN(=+S3EaTEiH9dXZ5) zRz8i4Rsm^HTN6>Lm?D;NbseP@J8TU^X`WahYQ+TVRuL5oPDBFX`iL^@P;C;TL%*6W zWS5C+$(U)`A9_>95Lg;dvAQwY1_{)$z zsG@?%gFmt$%!BShg|Sh@<@g;|GoHu0VVy+ypm}hBqN}y5@Z@u|A-0BKkXY@89T9(! zM%RjT8a43O~tY`$+uwQ9yCWu zGx&oI>qGYj-D24Kfzamp5jZ2f6@@pPDDDW$zLej!sQahD%>RGCe zq9Q`+#O;R$jFB|hDf7W%_2k^C(&@Rg>Us5od>%jc)32edmg#3kVxwG}CZj1&nt=>h0g zcYi~1o0on-+0=rzu|h73bh7%=hLIP#bZ-?la*l5gY*Fv9Yb+OvhinOWsbCH=V8aOZ z?uLyt9%LjSq%+za*i`8SvAU#&TRvBJ+!)_@xK-XXw11{1^S0oAJ_u#3?_t3B7s}bWgFqOZJ?1ysVcoJwv&uQRzzqeCKIslh2K54aF{ypJ4}rY zn_H`IBCBI#^-W}SZ1pG=wE6tb;rw_i7zul#SWFN_ach;}z?GoU?Be1E0h=o^L|ZZz za@&cvTYU|tO^^S87LQ<{k7$GSHb$)*!<+P`JGW)9nOqtsXWB*(tFSfJF!+u%>E^Qb zeeAUH`y7_(u_O`{g7H)`u0=66gtuwzC*9Sk*$6c$ogW*`CgWj`-9k2rzW&A*wiiTT zzCdkabhLo&=37Cn>{_a7CRf$5$Bvhhp{;Rdf}K&jv@y;oHcb z0E;4q>S+zglGH{6vXFebA*}kqh*bB@YuB#Bb+}S*EBELaS|;6%e(KiVzP`0I zHy`HS1F*SGMRP%4)Ff3uyhuVi3ZMY288>Q>`bX+Y# zS=-AKNiSVmFjO{*@YAmA&=d6=rt9hrN?LlZzM+FkMi%>?WUO zXXr7agmLlG@!xX$rwpM@K7(&Rd+!|Vgb>_lSh)B zWJ9;=c`@MeL_NXonXwEKWMVN)PsE~FbM#2uajh5c4?^YLncVpz@l)^xcygB6ytRU-p_|hPEuF98`alm1|A`gV+J!wAKY0jnrTQGM z_)0{a&fpzv@$qA6IHjgM`r!)PY7eM8?`R#y6Dks%lG)-|KAVjBk?Dl6h2F-OxEEt_ zS`$NqpTG^SJ<KjKMVa>ZkfA+QWgPG^Dy*9)f|O-{qK|O2mTRh=e8dkBnS}w{JW5>M&%nd%O@C zGX+8}?sq%Pgj`?aTeuhxZKiw$LT+*biaOr5?nCY?AjcjRIWV_1joW?tC6Gd>j^0u@J17xgRU0xwnOV29#cI_&|#61xxY!!y+}#n0=j7q9WA}0 zDfZ=suFShQibs8Tp`(Kpk#Ky|#@47aCNaf*wdvF$rrqsx{ALWk9nV_SvDfw2lvfw< z5yQc+nOLQnx{ae;lWRS6_^@^a^KQ%3I%A;tuncRQdQ|R$F$?=OYL>X=N*$DR z*xA0hw(rKxo40y;y1OB$VY!AF6Yiij8?Z0-L$4by4gJ{Wbb4@`NG9{6xwJ%9)sf{S z4&J&6i`>=uYcMR{sNB>c{!vch|JfscHX;43u*R(;)6uo{uQ0ow&KJjP%I8|qDpepL9URNkVT8a-ak%Fs6JGpV(H}pilsZITSfkY2Bud9YDbD6R)^#M}JDySzxI;#i z`zd80bcxcvCypQQ>N?&?OcTD~$aTk59+)CZ^hv?g$}z>Nb1J5Iyslw7Fl45BG}NGC zI>s@bo+?mM+)l?-Lz*kyXjWtTEjAmO&di_H&inzz^baT7Pc)d)y|IYLdObePvd^Y7 zcmVc48O0Qoy6MJ4ltQ!)fzp8wsCtefK@@D@DudDT$<|XRPiV*g$j^Ijldt!AAC~Oao1;_7OeT%r+rcLVQM=uZ z`%waj(z{C7=dy4_`v=V z9f;z<|EfWZF8E%Eo6Wrw`-!ipXf+&W?dXCr9s2!?C}kz666rJjCrx>JkY z=5nuq6`qPF!b-^?I~-PsMh}G5$gFERtS?3|^^{H(Qpr>*xfZS1R|d(H436@F(-l5NtVea}za-PS{OBkW>ZYcrMG!p3pNu*x6nhySM%9OpJ~>D; z!(!12#6s@AK$>Du4nR2cATET5)N!99q*6mn<(@~~+D^y7Fro;53r$#vr82Dq?jeh# ze05P5{gMVxATKZAqmE+9H+;g5DAPJ-Xv8#IjLwwvsZ%;U1#_#PC=g8*3>oX^%M{Fg zw)NcEGumm>8JX`eE}fV=K`-RA)fmIaSj{4zlRsu~4c%K@&VpsdTq_mwGe(?y<(lJh zM8#?rghbj&BgVkA7fWmWulRz4L(|y;EEyTxHp8J9GAgAweSkL<>x*|ajy9XqQ18(6Tdw)1_mutpb=4iJBmjA zBMl{Xi^Y-C7=&p9G-jwc+K2jj8eAM>e+3$m7RqUatR#ZrIgMOZst1mgrf709>mE|Y z>RTI;7SA_lYzvGY-=J$clMTla>XSyVvtDVOdt+&TT4PUY`Owxd9I;uQPCqbA6NYj4 zRp1@!L4s@}&*<38gdwuHizteCDg^7`mbslUyBJ;g5;}YHWRB;yLJpO2Fh0tuZfWtsEf!y~Z40}Nz%thP+(l`!Vuox)u zmy}an7@wS;nVl68n=lJTLNFI$cNGT_zK%^7LdrhW+Yvgd}FNmD;t z|DvLvs((5B*8kUT`wX1b{s@-6?kpNVLa(Pe!OPQJa(+BvlHJ+f4{ccc&O#0!_`BrM-CrW4ym|Lt6hl0 zSRpjhCXfo(&e&%ymq;$VUb#u*&I+I1m51j>{&ot||a50A$GNh z*@rpW#KKLN@Zzgz?IG*nZk186$CBP#e@S}i-y;Tl-9l+y; zO617t%>}R58vnP6Y#wU>Vvjv|7CTiuXotMwh5fEZRlI#GD;}Hu-VE~O?gQ^nn6@!3 zf=9~%OpgFwhl`e5*)1d57E7M+NQwl*rk1?k;ps1?;eA4^S2RiyC3H$WmL+ds*kZ>m zIl{?9R%Pt?1D@(ox$p{I63pc`1Y0X-b}coVgnsu@QGr2}cVVDH;j7;csXb zcT-44zn?qeOkd>A*zdey?sQi>6+NqUtK^aY22aQ!Z@!7-J$=Lauf?f+JR6l*%#_fi zj>oj%z0eQv9A2nQ=^O_y8uC~NS?_brxLn+xr5yD8!84)6{lC1&`=1y;#6D*lb49Vk z#Uezuh4soEHk!EGTu6`D8g_r=21OBbsD37Y+MIIt^o{W6#qnG`9l>(&=MtnoKc>|E zZT}#rj+T%DfJ8J#)b;f?4D0HAO&oPwZ)abm;6` zt90dMp1~$U*ZX;PBAde-+XJ9eUsGQtPayrl-p~&+2zdH|@tU1)dsCTtaHH-tO50b6Od`dG_Ria+FI z)uyA`vDTwU4l@$($Z3ebIZ`I^?zjmvJ*_8Bo+7UxB&9RL`Ad#8_DRh%h!mKWLLTcy zG9WklVRYAAvZy2a@Q)CP=no(mC|fKbViYl)cJn|VX03*X%_CN8e_zk78_IPW0v5(L zC}La^l>6p-#m~hs0$jDVBS-{GlgZmw^|vF583WTxA&4y13M+?}Gi6y$&%#0|X-Pf( zGOUA$2b-ChouTA(AW6PfWT%T&;o?P(M|?L|SR4h1G+8FN4nGI~r# z?xGUXgJ1LS!_R37O@!=+?@OW|WWc>xO+tf?Y|u0$o3WC4QS^hA62XaBE8PdZvj^ha zb(sr(G<)4aHbKl?U&Yk52$`gS9Y~}qyo4}j-&*c>8wSF^35J6nUnCmr zDNbaHX@5SEMB$9mdx$uzrC2p?ipu}6IfAS2GIF`@4uX9Fp8rGyQ>JIr2-b5i62W*+ zo|!fXMsV>%2o{TTHcK#Vcp|&k;NVbw2_}tO1V=TE;6ONtc(Sm6s5q9&r~KIj3Q+wB z)|F0J!FU1Oa0|hB0oFfQRe}+_qN6|9 zX>9~DA7L%4A?&k{48mL1lr{ngW2y5rC1D^uKA%f*)Axhh2yv}?IKXA7o3#c)=C6p< zK2UHA8#1AFs8jn;Mf-r_i^KtT8M!N;(&mgtHxDoP0+c=-2ts3|=I0H#>WDW0A+Q7iypvZRxYfcADR>0uuK z407z20H)M8HvGqWbq*AC$HfO8{?;sj760=A6ybm`me0eO9*JU{7B9thMOgo!vU?Cl z)N!U*L<~$*5!N#=62g-;go}hQx!E6#FsWlZ4q@nt)Bsovh2*z-6R)n+tu)>97<+y&La#BBa@3edt@-CSkF7Xw6d@#I% znPwX6*1C1}MWjFqbUk#Q*3cjyG%c=P= zxC%WN+JjfD!{HWp>TK2FIV{1}&A)?-b4ki27bk|XA?6B~rb^MHc)~}h=H(JsbAOMy zaLUm%vP0qb1d%t}XySt6UTKURX>iC>S3aYUSSF1nIrt(VTvNrgxQ?tX`Aq4w*p5RI z@7&or+JI|@vlLezz!6e_dYr(!peKKS*JKCEzSr%cn~NbpwudaNbrWv=JE zu|PZ=_KbXv?k=t+_F+yui&U6YHjAXK6ib>UE#4A~Y?9IUYg?Ii0;4}f6e<`EEN9ei z9`46%S~D3X2f#)drPqXwGir=S)|XNJM$5J{8VO1;2-&|tG%pz4LyY3LzMgH{BBOhF zB5?(Q#3E#4+si03|Ahs+5yKHtMUmKmcLsCg3B@sw>0Mm5@Wy~LDiDP!>!D>-gJNac zFru{5nkI$nNhqT#dW~PMaJVSQ!sie1CL{n&q_c&w0ta-&+~42m5~^p~vxqqu8`ox@1)q4v z#bOFt6#I~49wQ)LWuu3@qup-9?cefc{f_usZ3qtMQLoySmaFjftv=!9#q%Bc*mXVO zzc2U`w-ru_!J{51|t=?%w$g(}|tgR6XlSr+%~L#&wM+6kSCPZ6=+O{esR2 z)_yu1+0Sz+kt*-)q0;%$PO6=_K3J>>EP@L#TO2Q98!cV| zMg|5NTRW@i_6$GU*)(oQfRh3#hG>mPW7ijHfq@Jy7<&6BfU^5mE$L*f!yT~$$<7iJ}G+j&Wz5ifWACb-Kd;0rr zAAI=H4usPe3<)^X1gE9pa8}YUWT@{%t{d1KAA>UhY{Jy_kitoE9yDUPk=uLK+3ujY zggUZW?QX*eDrZv%o2Khcr8A^^b@vP2pd(#i1@rE?qcOki5w=Ka-p7IYGx(t3E# zy{=$-oxN6q^%eHlH}<~$)?07B`PN(7qWQJ98j`)kxb0Pc?`2GqLx(>4=+L3Vq>L(u%f(t{vHxuSx9;P#-<@IkutmPU{1UeVZhxmrpEMm1^p9C zk~sP`_rEd}SIXqVogU6Xq<<73@flsIg0T|WFJr_+t`%Eue=T|Ntq@5udSV!4Y2r?7 z2FG)$2XpRR9@Xrv=tUPseru*=P+9zYLes=lIaJW!UKS2k858U>J=|Yq*HrHB#i@?} zK)r`f_eDJ(N-0gXU=gyVH+MtUvT&%P>2;={dI~D%P zgOwIiXPJNUX@*_4)F#+fNVw!<)x)|^_q-Aar#wlY$2XqK!oZVEVc!L96i6i!bZ1W` zSz<4SjU}8x;!xifEZNa&!?4uNF9<9{E3h13P33YA=aS7lSK|_n6meTx$)$K?qC5OX zx!enfxZPe4GD(()j?c&58&Br5fp8)u1)T9o>74i{yho%j|fjkWV7U2ZoS3<7l*$z)?G7dQ=)KpphEMM$u>*VU{0bV`?CPkYS=R z6$`jP;4&JAh{jttn}H+zq=-wJoIq=v0*<_kT*9#|y2=gX*nua1hocTa@}~T%!duFQ z0vXVJFNLDPg4gZ5lZ_RMNG+uQQO^3h^-+Hf$M%6u)JUkA*oS(EPx?L5MaKl!2Tt#X zaj6L^{fKUKZ<}jhz-IT*zpgC1TGqSR`ghUk49}!Kc?ub1^ zi@DXp$tOlpIEACG(QrOX3qd2UFUDj3T%KxX5`x;=aLPX^VQL@Sd=98@$cAjGzHQ9u zV_JWuU|D&;<~CN3%pZG(_Vyr5lM*#i03lhLu$iaj82+ZE6GaiyC9U-lj!kyB<HsF*p{ok5QZ@8R!B^?>e@7Yo8tU$nTT|&F1H9qZ z{OYO#x2A$24h+@vodIR+^HDxV$mUtd#I(1E%a!uS_;!(#z$Hudih5P%k|jAb6)x&R zHpTWH26tu||8lBLwUhf*aR{Lm%M$#$=lfyYaZ-}cW$m7v8p9KhgoGx%lc!rSkR<8p zHhTQ2Vxv5ZZ3M{bFBld~k%CS@R=KZeCj%LX#M1_lUPtqR9K#+90+QOpwSeR!9NPvY zw`Oh=kbZ|{XnLXm4Sj1sY5-DO1X2T#+Myi{B=*HD0XaOhtU}_JbL&<^DQ!5{!j_Z%MR=+s%GVZC@Kv*s;jr!$#Z!P z3;Pz2>Q9<>R6`*iHYaZv5~)-=k=PoDIzXh1CpxNYW9~Z?#2-`lh-iisR-fbnqR+Vk z#HFiD13^TLaTX&h0C9c=h!ucX-4+me&)9qrUkqdWC=6VK*0GsFJc}bbfj8|GCMHr( zB_#>(-H+5WvR}{vZF;ZPHL?#i+^0=PzS@b`7!IO07)c5cVH0wghiiwl-8xL~HQl#v zRc@>Vajrhq5D8mBKYK2kkoNDa- z#bD7p?7BT(l#n2R@TD!WX!w5?%OdPMhxHxIBIeCFi`nFTEZV>#>EexK5wV|XAuFzC zkt;ge#-iTcP8Q1R&4khWmk4mf0qq!eeUTeYrVymW3u6+KIv90)CC;*1uX zns;ttG+;!8UBvHNUKnj=f)V$Zh80F6ALlY@AtbJbk%bYgxV6Wd5{)H+)c z3R>Y}qY)6=wWKw6wR9e5U8}W5b_APz4k=t^G?s^-E}eng^$EMEqpvom#NqK%uFcov z#n!%ln&*bZ$S6r=q-0aA;`!R<^!h`Q1eWBEW|Pr?+c`2kI50FcVzoPMRsc|9cP&Tt~ECJx9R8G!MVr_0TlY8!ndxIjgxGVJn|lL0iK-5?CF0o zjH5Z?we%Ke(^)AiVd^1UzV$TL$Bi7(j@J3Qz$lE4IKz!o8qqkPeZ383 zkx+aYCfKr6pOsC7IIldJg^KV^$J1>yOPAhucej z_#6aoQ0Q$Gg|*1b*;x$47W26}7Q{WU*zzImx>Q7RG=6K;!v*-pG`=>x*=?d0`7=C4 z!-R|uF&e{q4OGL&6T-i@Vu;ynu>-?UoWHYh46Su7hKu)Sr2b7zv1xs_9fPlN$2+KgT{+X=e@gg;%(~2ubZm^`-{@ zq9HKyU_%8{TFg3U`+K{?>9E@H5RHfxthpG^p+I7HxVaxbM%r@N()i(;ODE7{EVCDg_8ecnYQdfG43+(B50((?@Fu<=mH^8#pI8Qw)qcq2`v zWWh!r$fvSd9>zAM#l%T?7kSzwM8zv5o-wI%iBaJapn8k8C$V0N*kokWgwSZXXdz3g z7>*%2F+q)4YsiQf%IEcu**V$RBF+#t$7q*X$+crVIS?Pn3=sT?lN^o6E4-dqDe|Q7ScBx zO-~5PeNmS!H#(XK{-hdvg=`~{#4yU&8&9* zpzHW?oaV=liIIdIcbI#Fp*W$LPfKAwe2uAuVQf>aJDPOinVGqbl8FmXv7U!H!dd`l z{SI?11H`(-mGx5o1WC}1J<9!|Ai#9FzL?5H!Z^yac?drbKFYTSrq*fd(vE+xYv+RL z!8JUQ2ACNs9B^4Ig91!@eZkc8`v}bGnL7j~rmgD%v(PU!R>J~~ST~@T?6fdLjTR z9=;Ko^hvv7dxZjX@FL_yF^$Gk`LRMa5v8GREN#YNZ?Q1P({}P!_F~=vDw065~27v*3sx=|SD=|IF zpnIwTIczN1!PK@;H))=m2Ej=AM7kvWmTHVLR}3d6vi*=M>C-X#AgCpIsSHhC zG)B@shnG?&NzJ@>t)_iK&%`H;2CQ+q^BqN4R|W+X$(fYXdlM}wKAVWCQZI{vFtW7a zof03*7m*_Uaq0Zr$3kwF&&wovemZxh3@NqDx9QNVc9~CV(<)ZXXx)>_IW z_O>o6o9WkA^_{$ zow$1K*lyBTT=hab;W{O79Ut9;u+N9#O5_wXNg2fOoZLJ-*E6q*Es{**v4fb7YA;)sWIkVJirz!kMj~ z(2wuMiN9l70ok&;5%32hu_O}Ma>>|+P?fjT1^`st{->tU2H4ZxN#)$@C4JLKflEF(@QC-z{} zFCjgc(~80AeA7AQ&FcM}GH|MM&-)Ume_BPj4Cp&V` z3K2*jMUKP+uU9l{PFWioEF|K3CC3_HS^pEZl9q0$s-mtcJZs}y_)7jieyu89D4qYm z;V3a(sP(9&EB7{grP?2MheFQmuV)Zy5RlSE3TDIANo(A(&ky|_dZ${=smtd_>z*x+ z=2LO3?Rj`ftplgD6nau{Iz8Eu=S!v5=ah_2#3^ekr+?^ery2X3D>(fIoYL?{`66-p zJ90kNgVR3?yCV^2_TR>&XfO~@j}>XCyrGyPK=t_U#MF;mj)z|Tw^mN|+&;QYO$bb3 zrx%!FGv9jUlqS?GeEn22%PGf{8r9|H^lPj|S&pfGp49`>A4FWSm@EIAq7)4XOp}PL zHX$G8!PhAHrz*06X+zH(B?P~rzo|h_ZGG$QpQ%4*Z|e|M*+1$qkFw>0>WBJAjHh!{ zj#7up@Mubpr_W#ty%X{)L-Zm^sUPpZc;UkN^A|2$yn5xz<;z#D)FK|Csp5%ReB>6%)}G!z zt-qtsJUl!!G(5aOiX*(F#>6=^^n3Qdr=ba}jkZsTDqF~=;@IWmr0oA8tgWDpBNk+N z^z>9nW92_DX0HcmK{zJh2N)cttJGF|i^B!U)z|6|P&{S`VH^=qNd{9a|G>4DuQ*rp zDh%Y$p)DB4X5QO)$C{mKABWVNPH9qGEELq#p~>2*c?9AQ0D=6qMU?-Z_5ui}ID z8lYd}UPO*5_}&V1TH!P0IhhcCp^dg}7SiXiIso4%{G<#Y zMS3P5X@{^%dw$f*9ktIku2{72=L+p4XY}OCmm|>ByV8r#36`a^o>ruPXxB|QRD4Br zxLIm*b?PPgGm%Tv@ySJe882R>A$J&C@O8aNb(&pN&(qrT(kG=))hjZbsn|GlL+(aO zC)}>WpGp$9;ZC)xHsMZ1Ca4#QqLe3!KVFmyUPtffcru>Cz->Ou7oKDBWVRKfbS%>f z+klo>NOBL$6N~;UtI*G-P&1a$*BtH5Ab+MA?p$-g~IH6Na)M%8>V zk7aKp`WnuSr)V_^LUy)~{8Y|icTA2+ctp-2rZAa8@DpC=vQKAn2+E=raBEh5`JnPd zHauQDy-OJc0Hh^snptF@zdR$VrwQ=ifgN}6#5g5KVMt`79S>eY#6$K*dY-Ba>tXG- z2GT!|mWTDWqPy2_m~L)U)&F5S>##?r3$b`QnWaGo!9M*4z#kgo#J@w|zF7910)2Fb z=|n8(qAg3j*Vmlw){%yjKQ&GI-<{k0u!D}sN9@uDd;LcupSg5*ixW1>hP6BjZ}vOH z0}SrA+tcv;7b)qm<)*Um#HRCT^%Kj`N3hic$;V*ilUVkh9xSbuGWk*D_{M_nMfROe z904OkgAFeGQ`2uZJjuH7`<+NRq7!*JZ|_yT)V5~%%! z+;aY@^G`iU=#dXTS^O_{K8yU*^4n$nYp(XD;eVI#M~*g@FEyz6dp&N*Jq^WQM1pQN z{z1v_{1@bIi`EB{55Mtdg&B1Tf90q8PuM@mKb2oELEabWv$srdYj3r_{j;ANJFR}M z|6}E!^k0amS^d3svAWk-OaMi`f{fU2x;kp=e&qxu&(>sp(@_m+5J&D4_GOBGI95KY z9@~5L7;FJuC)n|JT4Z$wE3DKr3hdGBjQp{BzN4n-!@&z}nKXRmrlGa>(FP@E?ie;h zjW?Tzsisw|$WO4N!*wbS+5TT^LZ-umsl6ETxX}iJZV%RFV8fMp1g7d|t*GvOWR~vf z=_N6_(x>+;Q1Rsfd64AfWnSqu)qAnxYPot}U`WHNX7^#oRep2~jScVW_hQW&R%YPI zr7e!9{i?{GpG0y%qVk%_>y*GS7%W z#)TKRb0d2fLHI!>^uu6a=$|KY*xQoJ<#Xu-0usp1M<4KimQs^y>d6Gu(`-O_=M6xq z^#rx^J54-skm@eYIlrQcx@qVn znGsdAxscWx0@D}BrTrv zYFu4>pTF;TB(R+4i6+$UA{#W) zBcQ}fA#YO&otVU{;+?y9K`8CySdUP~d(n*%+Tn7$U69o3#b`%wUtce+=B7$2{2@)E z)aA_I8A~BnIfpM#24i|pOgpMOG^g%bQA=y27WrB?udkW4bexm=`Q3dp7~fx))VL|e zq8iPgF4a(`TcDHfMVW_hCO=X!iX^1*)A=GM;%ob-ZElAPA#bI}p~(E3?*x8vyy&1hXJXtl4s zpF}rn+atyv`o*Gd( z+HwSvsd`L3D)XO*G*$Sbkw2lG&`!-m6Qx{M%!7Zbe6}QoQtlS=Ic|xF2RyqB>O%_G zK^Za%WN4u9HQF?%X8#d(DTJbl+-Me~MZ_Z}@COHn%ob$lI&GGbVQhiZx)+f13Y#v; zpTi}X@L^?!z^ach%kr2Aq2e*6lVav4xi4vQc&}FRA=dDGBnRLMG)TIe|uIe z;u1A7j5QW|R6zo+9FdU}p+|pj+=uukF0O_`{Uo<8<>_MW6n>qE5>~K?9s9VD7E$)V zv5edZ;bZQA&_w;GQ?|+@7>?zUx#Yl>VF@P3vC>0qDc5*N1h#CIjnD{TAT~aID^yW+ zQ0Sr}`b2?C8D8ca>NU!cV3#OF_ugmfr`W=EVGd?wBU1uj7)0yh=a)aD&|Cyg-IS5N zAsfNDhA|nRPK4%iiJG=@sSdJYC?t)F|Ku>t+aVpF6g{pd_V>mnrzdmqR7^@FQ<*{m zSsdACGP#@xl*nXAAFVsACSVA=eP?@LqNRw$MtAm+4)8kl?ghg_Rrm+f6k3QXr9G)hzN}CL|wOEBy z7_7o(5%KvQj>fY(dmDxI&TUE`=d7apjBFCtZ!wo=Y8I>-tO2Gz4X~P)!TK$tk4z1Q z^;=$4_glvQd8&}Z>ZHW_n5qZm1NG|w&=uerbb}=ox%gY}05Hp>8GX<)p*vm-<+=eqcgV*_IkYtKn za$;0saSSYP0#OBs>VYO8s)+s+i0Ug4Re4MtRr?)T4pQOIPIDU{G;5^ev3x>EIx zI+oD=$Bt4|Ip#+6X$UXRD3t4of*o+v0Ll(oMjVqvqQRI>X z&i!}qP%=4wQMjVw@hG42+~5r=Rx6?Z31^8GT!+q*6&Ztz<&)-ER~As*psr)0b3;W` z9W)KGL2bZ+3|MdPsieKaER!gZG+n=17!Eld++Y_!& z&Ek~Cou6qYrkGi_%`d}Lv;TmiA;WRODHh>`+-@5iZs0**C=#c)Z$C|((yk_i$w;l6 z?x;eN{e!qarza#j5dK&J)}`v8pDl0qzCp-%uE!D*?117)l?IS-G`#u zTx4~OW-qm-0$D$h%~NRwvSE)v79;kJ5vOX%qO_7aMaW{@V3WxHUX0;CSemMDX@%*L zdek23QI|?9GRw9D*Ian9)i>ZWg{G>%p@=`fRS_W) z@R*7nWXe12J^g+5f&O9JM~4m_){e9tMV|RrkW`VrkFc|+I*;KS2wAPGozl)voVZU= z)sWH){R$lebXWBlnt>z8j964t+fSW7edg?0nMX#j3$QbOjEK$8*d-NVvih}(NQvOG zDkZ=|R2|RcFD^a4+gy+yBYn#uniE~ ztRv=u{$8!eL<_u-g`f_UAh0fzSD^zU1{Yzn%rHp`d9{t?RW03$hM48m0xRm|Elp_| zJ%_|dT3mAbj(%q!tuDbkSQ=}{qAL|vsHib=m!PZVFHw3}5&64NSm8H~DltVu`b12{ zm5l#0xKELn;3*lo5act}tR_6}D;7v~X4yIi$0^U{<*5*gA+qx3z-SQE%j%WIObCi< zpg=u#qkI!#=iLC8J8anioVCNe{;oh-sj0QR{z6lQ1r=H=?-WX(%zes4#>7=DF}qZv z2nhTpDD^_44Fw&{lVX|bh|L3%Bd#@US5FFCkc4H$dGOZyi|eFH4wabL*0$=!i>)AFn?xf z2E37IB`r(!^u3tS>eld# zXo88~cqeOQ@MgUC`$?hCy;2rUW?mL>)SEB5Kad?QH%4}Q)93V zWV87!k`J>K*0tyUj^T;n))$JUa%oCXkwRgg&uKAZ5Ub(b?*IHQxSb?!Y3uINbHXm+ z7BOl)^Za??n}%|Wh`B%{$`XGaOZ(ixVaKm05h;O!Tg(-KE)RdYpIod*dopS+Hbn=) zZiRzYusDsR*1#WNYFH?i^^VwcbhHD|H3Bl|w2)s367wNzim}M*P=1A1#F5s;AxS^YH*+m|nxH zl-^1nDsNFOEZe!Jf1%%f>h|>bSh0{vArTLvZgdW|Sg4s%NV^hCsFISvpSfMO!e1m{ zqUEkqA@j--mw{oX#pofIfW_)H6%oLyM|JDYHi|`>$9tlV9OROr^WxuqkWvL8TK6Ez z1?$u*LL|o%89fI7PuOX73}c%vlQ8=~coqO`h_@*8x5DLf8SfQs1O5Gd^SyYkfM3h*Kc=U~Am#5mmiNF< zGKkrV^(!;HLk+0S-;0E?nH#0K0P8wlthDcNURIhdc5a|ZB~k_Su*rDH=eA;jd}BHd zjx%2(_ng3aW@>B{IJ4yLs?5Xfpc$=3vvF>PpPj|_xPv3<&spKwA~nw09L9w5^c?-2 zs)2d;9~02NP&_GsPQ^q1Mgpzp+Qqs#0rZ`j>0Jvn_0G)(`Y!-O24ifg)85tIX?^#- z_l3=Pg&GYbF>JynjKQ@YJ9xFQ^yPi()|oA>xT* z99D_X_?OX^&XSs^cp~YG#^7kkeyJJBQlQ+ zVK;Wuw;hD6Q7hDq(l&!k@ALiOd}U!t*k z_L+RC1XFT}C*aE0WrRJDObvy+mn-G81Q2Fq`t;*p75~~4^-#vAUg1Fx4C%Kt>2s|&S)Z!?e?v>KQjIWz)gl6a_O|1QqzkP^&_#bV@Kl>`+LCtd+#w= z?CZ@wf+HHwzO=}`$A;yLjbvXdv~3uD9*nyt`YcivP;UTznjmcw`g}tr-oy2tjib-7 zm$V`1M*|+$uV(WIFs(ECCZMk^mi;zDpS`cGMShiP{?Sd;d<|y+c9YVaNn>h0WbI%) zMcfy8&G*>w;@C*;S$+>18r1yTckg_D_YMM0VR}rjS@Vss-8I11a2^o&rr^VCzJ_9G zY7Y1s2L4O~w3W^T@O9Xjs_WK!4Us>lhCu&H#NF_ugeio#G@D2x{I!k)|Lw_5P2 z+*3-GXm(oOeNW>9Rcq9H9cy`YJg{#DeCm!UvZ_JgTWk=(gRx{hN#G;1Du98i!GYmM zHai^r@rnJ&Nd@?@_KyR6bUTX3sN${8e*kPep|3)|H4(#vRTcjXXZu5H{XD)8cJVg8 z#le0A0I%~!bPMqMYd2eNE$ZU;bvW0xt2#Oy>UYZ2-+a1Oe}h4*O?5Y~M4ay87sXg2 zU&v(0K3zZB#pK{J+IesD;Tp7?FhAJZxhdF@(}v!@p|E>6>^Zo^2zIaCJT%xi*sD1` z--Z{TiTy|zxcfOSt=P6mtS6VVevdcxt64`&Z?H~1?D{Re0@ml7!8#KSJzqUH-`$RO z{#N%xSjVP|%U{)*_3y{RA-i{WHWvuzFrS5?<~$qKi`30;xsyjL^9ya+9TuI;ho+BK zkzVc6kGJ7+dTbNzjH!!te%q*;4vRIy31Z0@vfZFzCkbLyHwYnSCq|831XD{X9f)Eg@}4>*I^-x3UEVMfkil&fx> z(%xf#w8(%GprjB_Y8o)vOyiUiYz%?gffxg?IB0XWbAco6^CUdA~kD{rZMk z=c|zF%ev1e{U%+A`ZmP6`VZ<)l-KlE8D_^2nfUsb6z}mCdm9q`+w5md1be^*&VEt5 zltPAi@BONvoR@WWSU*AOi-n<0%{ ziOFHKDToPdjf6>OkHXQNP?Ls!&T*cj*yLClPH-hofgUK*rf%F;Um@{^Hb3}yWum($g2GOdWitT-~gZn19l7D5*B z`D1Wp(=I-QMT;BfK!yJdLR=@65r%Ng>ekBky=!}~T)lej+SRKIR|w$p70FA|g~-GhD=#SqnL(Vrq@b*FHD(-vSHM|3U6=S7d;w|M5Ic)-;+UC5`i zi81Uup>cD(DvgdJL?z!w63bU`U2E4~`u zG`0Ki{S$77rsm-rXQ}VS{C4N;L>`;QG3AlVvFx7J#aCY5I2?FT<4}Q;t?kOP%fa;o zBC)7MT|*YVvEPYSp`qaN!iz9lydvzTuAvH@8jtb!fy+1jc2}tOV#O>)EUn!+$e0(a zOW$Ci8=alXCX%U9oL*Z&w+eKtyBXbZG%8_kIS+J0epdt0ounkYJGXD6XTbWz-Gy$2 zo>$yEPnM$MVK*7u+>9U~TcV*ikzu3}*q4V8&VG{uRLJf5`3sb#5$$ zs3jhjkS0&|ruo(1VY{2(VA$X{6Ad+%U)mVT`NhUi{C?S8{2Dp9s|qmbW=-ce^zZ3n zD*q6E<=5m_<%4r?C|v4oee3O?X+JmB#9re)qw=oKZKm{^p?}y;Y0gKEESGwX=nv?; ztV{egyw#-jacNi$oGbp(g9^EX5e}|-aB`#x&4v%u?&(~_WWW+eja9ryNMXLF+ z4c*sQLb?Z>-wtMn5^euI5BE^5vV|01c`?daM107`t~~NlBPRulZ~1BodmE6kOfk<$ z!X}NJzsEuARm~>obg?ap3=Hb00~4K4_iG1{`d#kD%z zIy6Y<%bK-S!!w+zzOcrmD4bcI;GM}l#eLx#K*7x4)mF3uVGe69BSnIqZGaV79EG(y z0m}QT?0~|mqutS|6Ih$pZ_o)a3iGO4AMj!vX6r=MpSU}bO{Bpp^=TP2R8N1`2ZW>P z9B%NLL=>!An_O6Fo6g#-GO$|R0j!#aHFGPB8*8KbHE&w$iRureL@b^N1Pe3c>3F&@ zF@~O$eMc%?utG?&MbDm1L_=OYiw!od1z>kNkO@Od!J1_i<`Ied03Ej9?d$>Ov3b3X zb_lJ_s&WHQx;MV9Ygv_|aVZeR1bYgbjA&_V8Y98qmDL>p>m=Dt*H8m6X-%o0I|5eS z+%o(?SV@Fc>I!QNju2ns*HgtLUU@L7g)7!~uyW}t7!j2<8QYG^N+|(r!%6_}1Xvf$ z+DI!Z>w^j_EiA1kt9tDDNId3G{rhAgDdk4T>0*_92&=S5gaR()gS0M>VO`$6#Z+aL z4|tMkoV`nrTns|1ju{CEtq4_SN035s4ASUv8gei`KEO%a3S%w92n9*7M_Z0?BW=qu z`eB{qs#Qs2Mb-s=qT~1pPwJ=GX@-<#c1AuYpU3vrOX_81nIBZhd5VxfZMt1?sICsD z%jI^vTu#LFx@rd0zrgcsB$mwNM+->y2c{keG}d7=%(TqD$7(ST;Xxhg4iH%@Tyv~R ztTN+`@b&xoRoD zLujp#L+z?f*b4|&IE;H~>y5&_FbrZUE>(OhFPyWyxXxiCUa4C~6b1b(<=R*e>Ak`+ zi?4{tOJ?}Im9Yj8K4AzR*5`HH!r-9%Na#mD7L3 z)*BrGTBgk7k7ziSOy@YF@h}j@5Klu8)hGUpn+~y0j9Unb$dTP`h!UPlh_YMrK$Knp z>Wk=0xK0IqmYLacD5?|{WFX24EyaTNL=u`3wS)Ux5p^f7?^TK5v8=3 z{{`}Wo|rnS;mwhb`fyZ2#ylPM@$mo8-kSzTd7WFMErAeVY))ch5`Rv7j&E{&5+`vS zJH`Wpr0!PFYRxm?F&+Th@f7As^E|Y=)#`5bta)Od1O{y9e0Bfay64ZWO5Lj5;*aa9 zPJN2|k~DhVdiQ(Rv)^tF81R5v79y205Nrf)KWp!2uV+1L)z{6eQbglop1OCA?)oHD zDYRJP01vnG`{Z0_xk$%w!`=L*54VJ3H$A+qzS&J5+WU>~c}iFO+It?e)qRoZEq{$q z{^<}Mm+$yLhH%4=y>~nJ`wu(pZ4EWnzJ8yadg}!J!a5;PL9e7Bv#-0RF2Ah&5iw9! zyVL7NQQBHjl-TEr9i3E^WbZgP4X70O0mk~YfsX6F2M>7%%ydM4a4!6sBxTiPtn)-o z%Dv~`=By^~vD+*S)&BlIc)U1JfSn1vCb6T1ABcBRNwP`>V#Rq`wzWggz{|3szM2*W z=vgFIER%2aIjYLFeuz!*E`qTi_eJo7K0$hcHF}|kZgEzU{f&HDhV0+;tR#uYH#;r= z`x~5;QOPQ=%P+W0RrpZx5yN#(?Is^I@%PYQZsRrdQ}j1Y)x&)~Fg(OS6gI1P3?YKf z*GcmgSEqQ_oR;*~eyEa?k8qDWZd95}%F%4HeRFeOu0dr|uZbr+@|EE@>4M{=&3279 znhU!wqe@g>mw)5xQ-NOexW(tLE+4kGwKY|p?Ca_T--#SrdZ9<_5(22mT~w71S69uh zN{obO9+-1lm6HE{s!Ae~VpWN2{En!~sJ@g}Dd`1bmg)6idY|#Ae1A&G6PRXEFsO#7S?2-weGKep^C}neZOD1c*pPCxc!F^b#jW z%qDi)N%9GaC)AIJ$kcTVf>AE-gh{W6>-%3}`_hcJ4*sPbkTx|m)Kr%t75UI%WXr5TOaodo+SC0WPI}kPjU?F z?8L5fs{oLeGcItL1k4hR!V;iGfDa64P8uCq!?y4g@fo(r#sT3*se#o)x7rY{XSEW@ zPKv>Umo1C~h)N8Vje+hI4j__^Xi55*@Rk-n5Z))PC;kV@GxWy^(3}!BM-=bz^f>Os z8|DNj9y(CM&4 zq=)DEO8oc34|wr1SICJZKJcOVIhXUUs9k5gYgh6wlMmBxSiCbOqzkWj+5XAzuXtNJ znk$9}f&o{@-CVpsq=UEBih~zXyEaQ>Lv3{#JGe3~2k&wi%7JC->qqe-`At4~i448* z(K}mGy3ndu#L9yBy;ZN&`cOmd$gtn*w0Afl;YZ(aHy*t+tJjI@ZLF;+k7xA~9n}}B zUT6jR!~e$BD-Y~r`jUlKy|OzT%}23BvYVDqW;PGwac&$QwlpG%sI?2XEVRAf zTkW@MV(-QBedPS54SXt}YD)~w@GyUTf!%8c5j{g<27?rah2LOXXA zhuA@M4mfwm_gsJK%8$VKKG_~_sc(kQsml#5kKF|k(Oq1<&24s6Z>P)N*3?v2TM^Id zrM6dgy1>bc{UC>(L4HcsgxB*8vt_9Zt$ZOM!{PhAmT%jsfxZs6&1SJXeRp^HTIQvE zCGRqNwPCD4MlD}gzO#j@3$1*~rSp3&-{yw)^ZniJRKD%sqxoE(;8Np>=iN< zu{<_Vy_2~~dHMNp3LrV_WXv-lJVVDSY>`S+_%U|9r%qg8b!DS$q$#fQTH>R+m)Y(9qZvQ?$-xelZ?rq}XsXkKh$NkGLVs z^asf+mV#mXDYY9dxZN(xUMv_9ShRrl`Qw{O1yiIuoF z5kYk0yUBkgMhK6=O8|BNSOg^ZSm7h6Sa)6pr_S~y?%IuC!G&2-LYUll8MMO^!W`k! zK!>&b!rK)MYoiYpuf4IIvO@;^3E&QQ1=RBu#IS{k2;L11F0`-6h&u$IgEIPf!|;lo zvJ?OTP6RM6E)c-~QoqN4q`Th@*9)f$?>Hz4y@`;#!k(cs5wx!W0$6Y-V^<0Gv7Sz% zfakWN6{R%RkV+JrS?T0LsA#zP&r?P7YQD=VnxEhCt?1f=UB`NQL56-$6;0Kgw3*Im zl(hJLl=P2hAJPb7>Fh+daZ`P51v?C4I9`Xeh{-33>1H3&0n*OmkcP)04r#cSEUH6V zgoQW~N#a}5<<))1d%DQS8x!WQJ*4I3nYn5@CQFy1l1njpW^`1~f6Fnmnp>a`qtItm zb8~%NWn8P7?CB#@wah#ZBQvVIhlh-yl)Jmgs}qAKP9QIeegmFRC}z2o$^V}1Brp7# zy+-JEI*r3^L&tl4m?NWzp$q?-PGfG17+zW^UkQs{6!JvtUEf0?&+MI{CUZJa$Vlj> zLN1GI?~FpG&@;Jn7Ck@k`MbLz=E0FXH~^n|)Unu+L;}b~QN|2qjK-Ot$Z;s+1FoTw zUJp1^H)U6PeP7owhvx7Bc+ciiI*PX-;B3nlar5_5#j9sD7ts5Va`}M{TT638oU2%Y zWqfKdrtA2JUSAil<00tMATGxU)xj1`A&bZk82h(qE57fuxY=Sw_`4H^TrHRkRmJrz=GKR^su-h@U{`P7;Ls2o zT-MV~7M_c!iYHOU=qln@#brbN-8~+(6|k$H@8ek7yb?9c3mLIZ3!#!*t?=5LpGuDA zH%*<#lb(lsK_cYv)EgRvmpv6SqRAFXUlHN

    Ztaier6&9*-Z7bv$sswyy}Kg;kQ0 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

    @@ -328,7 +327,7 @@ namespace OnTopReplica { if (handles.Count == 1) return; - _lastWindowHandle = null; + CurrentThumbnailWindowHandle = null; _msgPumpManager.Get().EnableGroupMode(handles); } @@ -337,7 +336,7 @@ namespace OnTopReplica { /// public void UnsetThumbnail() { //Unset handle - _lastWindowHandle = null; + CurrentThumbnailWindowHandle = null; _thumbnailPanel.UnsetThumbnail(); //Disable aspect ratio @@ -446,6 +445,14 @@ namespace OnTopReplica { } } + /// + /// Retrieves the window handle of the currently cloned thumbnail. + /// + public WindowHandle CurrentThumbnailWindowHandle { + get; + private set; + } + #endregion } diff --git a/OnTopReplica/MainForm_ChildForms.cs b/OnTopReplica/MainForm_ChildForms.cs index 86e0328..524e6a7 100644 --- a/OnTopReplica/MainForm_ChildForms.cs +++ b/OnTopReplica/MainForm_ChildForms.cs @@ -118,7 +118,7 @@ namespace OnTopReplica { } void Thumbnail_CloneClick(object sender, CloneClickEventArgs e) { - Win32Helper.InjectFakeMouseClick(_lastWindowHandle.Handle, e); + Win32Helper.InjectFakeMouseClick(CurrentThumbnailWindowHandle.Handle, e); } } diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs index 361558e..6a0feb6 100644 --- a/OnTopReplica/MainForm_MenuEvents.cs +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -31,7 +31,7 @@ namespace OnTopReplica { private void Menu_Windows_opening(object sender, CancelEventArgs e) { _windowManager.Refresh(WindowManager.EnumerationMode.TaskWindows); WindowListHelper.PopulateMenu(this, _windowManager, (ToolStrip)sender, - _lastWindowHandle, new EventHandler(Menu_Windows_itemclick)); + CurrentThumbnailWindowHandle, new EventHandler(Menu_Windows_itemclick)); } void Menu_Windows_itemclick(object sender, EventArgs e) { @@ -54,11 +54,11 @@ namespace OnTopReplica { } private void Menu_Switch_click(object sender, EventArgs e) { - if (_lastWindowHandle == null) + if (CurrentThumbnailWindowHandle == null) return; Program.Platform.HideForm(this); - Native.WindowManagerMethods.SetForegroundWindow(_lastWindowHandle.Handle); + Native.WindowManagerMethods.SetForegroundWindow(CurrentThumbnailWindowHandle.Handle); } private void Menu_GroupSwitchMode_click(object sender, EventArgs e) { diff --git a/OnTopReplica/MessagePumpManager.cs b/OnTopReplica/MessagePumpManager.cs index b0f07da..4e4abfa 100644 --- a/OnTopReplica/MessagePumpManager.cs +++ b/OnTopReplica/MessagePumpManager.cs @@ -3,17 +3,22 @@ using System.Collections.Generic; using System.Text; using System.Reflection; using System.Windows.Forms; +using OnTopReplica.Native; namespace OnTopReplica { class MessagePumpManager : IDisposable { Dictionary _processors = new Dictionary(); + public MainForm Form { get; private set; } + /// /// Instantiates all message pump processors and registers them on the main form. /// /// public void Initialize(MainForm form) { + Form = form; + foreach (var t in Assembly.GetExecutingAssembly().GetTypes()) { if (typeof(IMessagePumpProcessor).IsAssignableFrom(t) && !t.IsAbstract) { var instance = (IMessagePumpProcessor)Activator.CreateInstance(t); @@ -26,6 +31,11 @@ namespace OnTopReplica { #endif } } + + //Register window shell hook + if (!HookMethods.RegisterShellHookWindow(form.Handle)) { + Console.Error.WriteLine("Failed to register shell hook window."); + } } /// @@ -49,6 +59,10 @@ namespace OnTopReplica { #region IDisposable Members public void Dispose() { + if (!HookMethods.DeregisterShellHookWindow(Form.Handle)) { + Console.Error.WriteLine("Failed to deregister sheel hook window."); + } + foreach (var processor in _processors.Values) { processor.Dispose(); } diff --git a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs index edcccef..3bcbc45 100644 --- a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs +++ b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs @@ -12,13 +12,6 @@ namespace OnTopReplica.MessagePumpProcessors { class GroupSwitchManager : BaseMessagePumpProcessor { - public GroupSwitchManager() { - _hookMsgId = HookMethods.RegisterWindowMessage("SHELLHOOK"); - if (_hookMsgId == 0) - Console.Error.WriteLine("Failed to register SHELLHOOK Windows message."); - } - - uint _hookMsgId; bool _active = false; List _lruHandles; @@ -30,14 +23,6 @@ namespace OnTopReplica.MessagePumpProcessors { if (handles == null || handles.Count == 0) return; - //Enable new hook - if (!_active) { - if (!HookMethods.RegisterShellHookWindow(Form.Handle)) { - Console.Error.WriteLine("Failed to register shell hook window."); - return; - } - } - //Okey dokey, will now track handles TrackHandles(handles); _active = true; @@ -65,9 +50,6 @@ namespace OnTopReplica.MessagePumpProcessors { if (!_active) return; - if (!HookMethods.DeregisterShellHookWindow(Form.Handle)) - Console.Error.WriteLine("Failed to deregister shell hook window."); - _lruHandles = null; _active = false; } @@ -76,7 +58,7 @@ namespace OnTopReplica.MessagePumpProcessors { /// Processes the message pump. /// public override void Process(Message msg) { - if (_active && msg.Msg == _hookMsgId) { + if (_active && msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { int hookCode = msg.WParam.ToInt32(); if (hookCode == HookMethods.HSHELL_WINDOWACTIVATED || hookCode == HookMethods.HSHELL_RUDEAPPACTIVATED) { diff --git a/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs new file mode 100644 index 0000000..846ff69 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// Listens for shell events and closes the thumbnail if a cloned window is destroyed. + /// + class WindowKeeper : BaseMessagePumpProcessor { + + public override void Process(Message msg) { + if (Form.CurrentThumbnailWindowHandle != null && + msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + if (hookCode == HookMethods.HSHELL_WINDOWDESTROYED) { + //Check whether the destroyed window is the one we were cloning + IntPtr destroyedHandle = msg.LParam; + if (destroyedHandle == Form.CurrentThumbnailWindowHandle.Handle) { + //Disable group switch mode, since a window of the group has been destroyed + Form.MessagePumpManager.Get().Disable(); + + //Disable cloning + Form.UnsetThumbnail(); + } + } + } + } + + protected override void Shutdown() { + + } + } + +} diff --git a/OnTopReplica/Native/HookMethods.cs b/OnTopReplica/Native/HookMethods.cs index 6677196..3b6f7fc 100644 --- a/OnTopReplica/Native/HookMethods.cs +++ b/OnTopReplica/Native/HookMethods.cs @@ -10,16 +10,29 @@ namespace OnTopReplica.Native { ///

    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%0D`Fa52e9ZMY`Z%lU9Bc7S)%Sjii&lr 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 diff --git a/OriginalAssets/Region.psd b/OriginalAssets/Region.psd deleted file mode 100644 index 274214ea0f93b51d75583d48f132bcd50cb0307a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28644 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 VPC~<6PwFqpIZL~uB9ya+{{=fcRD1vc diff --git a/OnTopReplica/Assets/icon.pdn b/OriginalAssets/icon.pdn similarity index 100% rename from OnTopReplica/Assets/icon.pdn rename to OriginalAssets/icon.pdn From 8973532765a50c5a426f254292530bea0ce8d199 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 1 Jul 2010 23:06:09 +0200 Subject: [PATCH 054/164] Ignoring PSD Photoshop files. --- .hgignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgignore b/.hgignore index 9d26cd9..1d2d424 100644 --- a/.hgignore +++ b/.hgignore @@ -3,3 +3,4 @@ glob:bin/* glob:obj/* glob:publish/* glob:OnTopReplica/Assets/Thumbs.db +glob:*.psd From 1ae9effa6feea6f95bfcabce31ecc200aac3b4d9 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 1 Jul 2010 23:33:29 +0200 Subject: [PATCH 055/164] Refactored HookMethods: OnTopReplica always hooks to shell events. Added WindowKeeper that keeps track of cloned windows and checks whether they are destroyed. --- OnTopReplica/MainForm.cs | 21 +++++++---- OnTopReplica/MainForm_ChildForms.cs | 2 +- OnTopReplica/MainForm_MenuEvents.cs | 6 +-- OnTopReplica/MessagePumpManager.cs | 14 +++++++ .../GroupSwitchManager.cs | 20 +--------- .../MessagePumpProcessors/WindowKeeper.cs | 37 +++++++++++++++++++ OnTopReplica/Native/HookMethods.cs | 15 +++++++- OnTopReplica/OnTopReplica.csproj | 10 ++--- OnTopReplica/OnTopReplica.exe.manifest | 2 +- 9 files changed, 90 insertions(+), 37 deletions(-) create mode 100644 OnTopReplica/MessagePumpProcessors/WindowKeeper.cs diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index f392373..6235b72 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -19,7 +19,6 @@ namespace OnTopReplica { //Window manager WindowManager _windowManager = new WindowManager(); - WindowHandle _lastWindowHandle = null; //Message pump extension MessagePumpManager _msgPumpManager = new MessagePumpManager(); @@ -297,20 +296,20 @@ namespace OnTopReplica { /// Region of the window to clone. public void SetThumbnail(WindowHandle handle, StoredRegion region) { try { - _lastWindowHandle = handle; + CurrentThumbnailWindowHandle = handle; _thumbnailPanel.SetThumbnailHandle(handle); if (region != null) _thumbnailPanel.SelectedRegion = region.Rect; else _thumbnailPanel.ConstrainToRegion = false; + + //Set aspect ratio (this will resize the form), do not refresh if in fullscreen + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize, !IsFullscreen); } catch (Exception ex) { ThumbnailError(ex, false, Strings.ErrorUnableToCreateThumbnail); } - - //Set aspect ratio (this will resize the form), do not refresh if in fullscreen - SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize, !IsFullscreen); } ///

  • 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

    AM7cw}Vm*r95v-W}e1D>Lp^ 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 z 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≠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�V`B|kIT233tt(FYPW6MxG^SpYc?e| zG66PUCl$EXrq`rar&jUd%V92m)4UP2*Hdh)O8b_}u3;7dqwAI>mJ({|#FneN@FwEu zTqF8)#1L54z>#5e!_?i2mo^B2{Thtd?rjT?ePH+59Qfnm+4 z?mPBvLpSJVV!**CWhUz-LZJmF3`Y#gH_fL+dKO7>e;hL&z@dr(W7N6+;+$-KC4i^ zG-svXbIkIv{`q&s@7~eO1@B64%D=5kzN?I{U9$X6>&~+&(s?{RD2i$QQTsfQB|p^u z@p}$AUJBzGWf*`cS7i7ZH3yBJl7B`uy7SCeiLaDY`gh~S0mS{Y`6T@3lWq>!hw zeECWanXj^I5^G5$MhDI}8uTAt-vRAR@bERC8j?gAAufP7tK!+Q>7(?F>`UZ@*RlDXInUMr}@( z`rmTdZ|~I+%bon*ZgcAz$cbwC@)awV(V5sU8lXD*6u;y6iOfsPeLu_L-=OY+1aza$ zKMIfZ$VAv@!YFib@Mv~0$5#7dR?yq^$?r{XDp4HoqXne3Y^dV;OSCn6Z9jP*WFP}a z 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

    static class HookMethods { + static HookMethods() { + WM_SHELLHOOKMESSAGE = RegisterWindowMessage("SHELLHOOK"); + if (WM_SHELLHOOKMESSAGE == 0) + Console.Error.WriteLine("Failed to register SHELLHOOK Windows message."); + } + + public static int WM_SHELLHOOKMESSAGE { + get; + private set; + } + public const int HSHELL_WINDOWACTIVATED = 4; public const int HSHELL_RUDEAPPACTIVATED = HSHELL_WINDOWACTIVATED | HSHELL_HIGHBIT; const int HSHELL_HIGHBIT = 0x8000; + public const int HSHELL_WINDOWDESTROYED = 2; + public const int HSHELL_WINDOWCREATED = 1; /// /// Registers the WM_ID for a window message. /// /// Name of the window message. [DllImport("User32.dll")] - public static extern uint RegisterWindowMessage(string wndMessageName); + public static extern int RegisterWindowMessage(string wndMessageName); /// /// Registers a window as a shell hook window. diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index feb2094..f1a9371 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -13,7 +13,7 @@ v2.0 512 Assets\icon-new.ico - true + false true Internet OnTopReplica.Program @@ -31,7 +31,7 @@ publish\ true - Web + Disk true Background 1 @@ -39,16 +39,15 @@ true false true - http://www.klopfenstein.net/public/Uploads/ontopreplica/ http://www.klopfenstein.net/public/Uploads/ontopreplica/ http://www.klopfenstein.net/lorenz.aspx/ontopreplica en OnTopReplica Lorenz Cuno Klopfenstein - true publish.htm false - 0 + true + 1 3.0.0.%2a false true @@ -145,6 +144,7 @@ + diff --git a/OnTopReplica/OnTopReplica.exe.manifest b/OnTopReplica/OnTopReplica.exe.manifest index 38c7a87..d7a6e03 100644 --- a/OnTopReplica/OnTopReplica.exe.manifest +++ b/OnTopReplica/OnTopReplica.exe.manifest @@ -20,7 +20,7 @@ - + Lightweight clone of a window. - - Lightweight clone of a window. - - + + + + + + + + + + + + + + Lightweight clone of a window. + + + + + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica_TemporaryKey.pfx b/OnTopReplica/OnTopReplica_TemporaryKey.pfx deleted file mode 100644 index b8aa234db7fda659e77d440d9b902438b99df88c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1644 zcmY*Yc{r3?96sOp%w#OdlE!T;4@#tFm|+$T=E|cKlclL^xude($~KcwLyaZ0SfiK{ zQ;4KglPot{NJ)!O%9`a;lj+JbuDG9`d+X^r&wI}A_rCA%Jm-(|5(MZ#6eLFwpbgOq zCW(%T)5;JAx*$Mn!UFU%gjOa9cMfPK40;2=dU1|4k`jA=Cu{N=y)-DhVsm z*#Bwdaus;VdXJWuU9-<&6bkbk7NFAF25g?H2A|lJ_<1Yqri-p~!#|mQy+L<18oX<{ zbanBhmfmYdQva|bT+v1kzE|ZHCCMo(>R1;vbUQ+k(Ns`~7OGjNpQ#!i!pA^Nb8tvTSJRd#%7?;y6oony%JG!hq&Ckh=+reP42BqZ#WnAhGon6FT zC;K{Od1Onc**cvXAv5#~f0)+7E?QX1imdv$*XIe|8gf4y+fA+Vo>v)SwQVeQ?C17? zFP0a=^jgyFE)1BqcW9B@duu)Gr_PxT))1BM2EII@Ir4k8CQbcbR}sPEx3_ts8+3zu zag`CGLVde2e+l*{!(d=cRQVTUmE+TifGSj*=78tKKneJ>7uHP{L1D zj9(1nCHCL(b`d%>eDN6KzunKre1!uenx`){x@ejzz2;nM)avQE!_m+oKk~%o<_1gE zG^b@=V(QwE^scx8>vn&oQu!T*ox$4WPNpQI$!8p_a*5BqWC<#}=H>W7t1{LUOnQ_5 z>AKm#tmi{TXSZnAo@i)Zq1jTs&o;wj!z#8vr7=0*uQ z#G@|=>fgV)f+i6S!w>*~;Q52pAUf-80fzt+P=N!W04oIM2+V*5AS0axQjq`w*dwYL z;-VlvCQ{jhjfhGHmWX>%CnHWKviJmVw1O!bf+2y`GKk31aRysK5ZDdEK?vX?@CQ7g z2i%Z-kqHI?NcSsJM}bg;3qksD;EU9O-=_2c>zgkE>Gl9W5RN3#<@@U~Xe6Ar2xX0e z0CJFjD9}%FMK8wHpK`e%p7+&YF|J1hs3rJ}b2M*u$&pRO;`;M}3&K^}d_DaZPQ@Ed zPR&R&Yw%>XkyX?1;UssMvbJ-acf)2&W}UI42~%QcOG35zU9#RFo;XjOp+{y46X3cB zwCLM*m%?pgsV=vcDxZ858}eG+88>Ff#hCmHMGJ$ABb~lN3yG=YPD{4uikuKV=R5=6SQH$ zRr^Gtp)kb<*Li&)`ih%|-1$^S_|09@lLGn8;f<}No3SGSa|!m8NEoM-Pnt=1Z1|3I zsFm3}_OdR|scSncY6Z!gJ8H0xnsJKLUC{Wqv3y||Z4~F88f5P3AgbDm+i&$gE&TR6 zsiQt-<((^)d0H<9g&})dcy6k=5ap?72^^naQjSzM-EWtji&HO>oYA6`$|R}uyBx~C z)$uA#6FiWXD|^F_JQI3$qVH3U@8t+c$MM+#< z<0b#;iX$m#{;DN*`r-W;!&ZLr_R(tUlD<;O2e_?dx-fw=Ik&PYlkK~6rT @@ -104,5 +104,6 @@ namespace OnTopReplica { } #endregion + } } diff --git a/OnTopReplica/Platforms/WindowsVista.cs b/OnTopReplica/Platforms/WindowsVista.cs index f5d277e..d8d1b60 100644 --- a/OnTopReplica/Platforms/WindowsVista.cs +++ b/OnTopReplica/Platforms/WindowsVista.cs @@ -25,6 +25,7 @@ namespace OnTopReplica.Platforms { //Do not show in task bar, but display notify icon //NOTE: this effectively makes Windows ignore the Flip 3D policy set above (on Windows 7) + //NOTE: this also makes HotKey registration critically fail on Windows 7 form.ShowInTaskbar = false; //Install tray icon diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs index f03458a..7a2e645 100644 --- a/OnTopReplica/Program.cs +++ b/OnTopReplica/Program.cs @@ -7,6 +7,7 @@ using System.Globalization; using System.Drawing; using System.IO; using VistaControls.TaskDialog; +using OnTopReplica.Update; namespace OnTopReplica { @@ -16,6 +17,10 @@ namespace OnTopReplica { static CultureInfo _languageChangeCode = Settings.Default.Language; + static UpdateManager _updateManager; + + static MainForm _mainForm; + /// /// The main entry point for the application. /// @@ -24,20 +29,25 @@ namespace OnTopReplica { //Hook abort handler AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); - //Initialize and check for platform support Platform = PlatformSupport.Create(); if (!Platform.CheckCompatibility()) return; Platform.InitApp(); + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + //Update settings if needed if (Settings.Default.MustUpdate) { Settings.Default.Upgrade(); Settings.Default.MustUpdate = false; } + + //Start update request + _updateManager = new UpdateManager(); + _updateManager.UpdateCheckCompleted += new EventHandler(UpdateCheckCompleted); + _updateManager.CheckForUpdate(); bool mustReloadForm = false; Point reloadLocation = new Point(); @@ -49,18 +59,18 @@ namespace OnTopReplica { Settings.Default.Language = _languageChangeCode; _languageChangeCode = null; - Form form = new MainForm(); + _mainForm = new MainForm(); if (mustReloadForm) { - form.Location = reloadLocation; - form.Size = reloadSize; + _mainForm.Location = reloadLocation; + _mainForm.Size = reloadSize; } - Application.Run(form); + Application.Run(_mainForm); //Enable reloading on next loop mustReloadForm = true; - reloadLocation = form.Location; - reloadSize = form.Size; + reloadLocation = _mainForm.Location; + reloadSize = _mainForm.Size; } while (_languageChangeCode != null); @@ -68,6 +78,22 @@ namespace OnTopReplica { Settings.Default.Save(); } + delegate void GuiAction(); + + static void UpdateCheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + //Budy waiting for form (ugly) + while (_mainForm == null || !_mainForm.IsHandleCreated) ; + + _mainForm.Invoke(new GuiAction(() => { + if (e.Success) { + _updateManager.HandleUpdateCheck(_mainForm, e.Information, false); + } + else { + Console.Error.WriteLine("Failed to check for updates: {0}", e.Error); + } + })); + } + /// /// Forces a global language change. As soon as the main form is closed, the change is performed /// and the form is reopened using the new language. diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs index bb63a90..7a7740f 100644 --- a/OnTopReplica/Properties/AssemblyInfo.cs +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -10,7 +10,8 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Lorenz Cuno Klopfenstein")] [assembly: AssemblyProduct("OnTopReplica")] -[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2007")] +[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2010")] +//[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2007")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -32,5 +33,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.0.0.0")] -[assembly: AssemblyFileVersion("3.0.0.0")] +[assembly: AssemblyVersion("3.0.2.0")] +[assembly: AssemblyFileVersion("3.0.2.0")] diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs index ce7f535..827c274 100644 --- a/OnTopReplica/Strings.Designer.cs +++ b/OnTopReplica/Strings.Designer.cs @@ -213,7 +213,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Install OnTopReplica {0}?. + /// Looks up a localized string similar to Download OnTopReplica {0}?. /// internal static string AskUpdate { get { @@ -232,7 +232,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Proceed + /// Looks up a localized string similar to Download ///Install OnTopReplica {0}.. /// internal static string AskUpdateButtonOk { @@ -242,7 +242,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to The new version will be automatically downloaded and installed.. + /// Looks up a localized string similar to The new version can be downloaded and installed from the official website.. /// internal static string AskUpdateContent { get { @@ -252,8 +252,7 @@ namespace OnTopReplica { /// /// Looks up a localized string similar to Installed version: {0} - ///Available version: {1} - ///Download size: {2} bytes. + ///Available version: {1}. /// internal static string AskUpdateExpanded { get { @@ -325,7 +324,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to 'Desktop Composition' is not enabled.. + /// Looks up a localized string similar to Desktop Composition' is not enabled.. /// internal static string ErrorDwmOff { get { @@ -381,7 +380,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to 'Desktop Composition' is not supported on your Operating System. + /// Looks up a localized string similar to Desktop Composition' is not supported on your Operating System. ///You must run this application on Windows Vista Home Premium or better.. /// internal static string ErrorNoDwm { @@ -426,25 +425,6 @@ namespace OnTopReplica { } } - /// - /// Looks up a localized string similar to OnTopReplica cannot run on your platform. - ///The application is compatible with Windows Vista and 7.. - /// - internal static string ErrorUnsupportedPlatform { - get { - return ResourceManager.GetString("ErrorUnsupportedPlatform", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Unsupported Platform. - /// - internal static string ErrorUnsupportedPlatformTitle { - get { - return ResourceManager.GetString("ErrorUnsupportedPlatformTitle", resourceCulture); - } - } - /// /// Looks up a localized string similar to Unable to check for updates.. /// @@ -463,6 +443,15 @@ namespace OnTopReplica { } } + /// + /// Looks up a localized string similar to OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down.. + /// + internal static string ErrorUpdateContentGeneric { + get { + return ResourceManager.GetString("ErrorUpdateContentGeneric", resourceCulture); + } + } + /// /// Looks up a localized string similar to Mode. /// diff --git a/OnTopReplica/Strings.cs.Designer.cs b/OnTopReplica/Strings.cs.Designer.cs deleted file mode 100644 index e69de29..0000000 diff --git a/OnTopReplica/Strings.cs.resx b/OnTopReplica/Strings.cs.resx index 3ca95a1..0d381ff 100644 --- a/OnTopReplica/Strings.cs.resx +++ b/OnTopReplica/Strings.cs.resx @@ -12,6 +12,71 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Přerušit aktualizaci. + + + Zobrazit podrobnosti o aplikaci OnTopReplica. + + + Resetovat nastavení OnTopReplica. + + + Aktualizovat OnTopReplica. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licence</h1> + + <p><b>OnTopReplica</b> je šířena pod <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a> licencí.</p> + <p>Původní zdrojový kód je možné nalézt na <a href="http://www.codeplex.com/ontopreplica">domovské stránce projektu na serveru CodePlex</a>.</p> + + <h1>Autoři a zásluhy</h1> + + <p>Původní inspirací pro OnTopReplica byla aplikace <a href="http://insentient.net">Switcher</a> a další aplikace založeny na DWM.</p> + + <p>Všechny Vista ovládací prvky jsou součástí <a href="http://www.codeplex.com/windowsformsaero">knihovny WindowsFormsAero</a> pro .NET.</p> + + <p>Některé ukázkové kódy byly převzaty z <a href="http://www.ookii.org">Ookii</a> ze serveru Channel9.</p> + + <p>Třída NativeToolstripRenderer byla převzata z <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Některé ikony pocházejí z <a href="http://www.vistaico.com">VistaICO.com</a> a balíčku ikon Xiao.</p> + + </body> +</html> + OnTopReplica @@ -28,6 +93,40 @@ Všechna nastavení budou ztracena. Resetovat + + Resetovat nastavení? + + + Operace "Resetovat nastavení" smaže veškerá uživatelská nastavení aplikace OnTopReplica a vrátí nastavení do stejného stavu jako po instalaci (všechny uložené informace, jako například uložené výřezy oken, budou ztraceny). + + + Resetovat nastavení + + + Instalovat OnTopReplica {0}? + {0} update version + + + Zrušit aktualizaci +Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. + + + Pokračovat +Instalovat OnTopReplica {0}. + {0} update version + + + Nová verze bude automaticky stažena a nainstalována. + + + Nainstalovaná verze: {0} +Dostupná verze: {1} + {0} installed version number +{1} online available version number + + + Nové aktualizace jsou k dispozici + &Storno @@ -37,6 +136,9 @@ Všechna nastavení budou ztracena. Označte výřez pomocí myši. + + Podrobnosti + Podrobnosti k Windows Aero @@ -70,21 +172,122 @@ Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premi Funkce Desktop Composition není podporována + + Náhled nebyl nahrán. + Nelze vytvořit náhled. Nelze vložit okno. + + Kontrola aktualizací se nezdařila. + + + Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte <a href="http://ontopreplica.codeplex.com">domácí stránku aplikace OnTopReplica</a>). + + + Režim + + + Vždy na vrchu + + + Nastaví aplikaci OnTopReplica, aby zůstávala vždy na vrchu. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Standardní + + + Aplikace OnTopReplica se bude chovat jako běžné okno. Jiná okna mohou překrýt okno aplikace. + + + Aplikace OnTopReplica přes celou obrazovku + Domácí stránka: www.codeplex.com/ontopreplica. + + Přejete si povolit "přeposílání kliknutí"? + + + V tomto režimu aplikace OnTopReplica přeposílá kliknutí levého tlačítka myši do zdrojového okna (je tedy možné provádět základní ovládání zdrojového okna bez nutnosti jej aktivovat). + +Ukončit režim "přeposíání kliknutí" je možné opětovným vyvolání položky v menu. + + + Přeposílání kliknutí + + + Povolit "Proklikávání" v celoobrazovkovém režimu? + + + "Proklikávání" funguje pouze pokud je povoleno v menu a okno má nastavenou průhlednost. + + + V tomto režimu se bude okno roztažené přes celou obrazovku chovat jako poloprůhledná vrstva, přes kterou bude možné "proklikávat" na podložená okna. + +K návratu do standardního režimu je možné přejít kdykoli dvojklikem na ikonu v oznamovací oblasti (traye). + + + Ne. +Režim "Proklikávání" je možné zvolit později v menu + + + Používat "Proklikávání" + + + Režim "Proklikávání" + + + Aplikace OnTopReplica byla aktualizována. + + + Pro použití aktualizací je potřeba aplikaci OnTopReplica restartovat. + + + Aktualizace proběhla úspěšně + + + OnTopReplica je aktuální. + + + Žádná aktualizace není k dispozici. + + + Jazyk + O aplikaci... Skryje hlavní okno a zobrazí informace "O aplikaci". + + Okraj + + + Přepínač, který definuje, zda má aplikace OnTopReplica viditelný okraj okna. + + + Přeposílání kliknutí + + + Zapne "přeposílání kliknutí" do zdrojového okna. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + Zavřít @@ -163,6 +366,9 @@ Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premi Horní pravý rok + + Opustit celoobrazovkový režim + Ukládat pozici a velikost okna @@ -205,6 +411,36 @@ Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premi Zobrazí seznam oken, které je možné použít jako zdroj. + + - celé okno - + + + Aktuální výřez: + + + Smazat + + + Hotovo + + + Výška + + + Reset + + + Uložit + + + Uložené výřezy + + + Výřezy: + + + Šířka + Začněte klepnutím sem pravým tlačítkem myši... @@ -217,237 +453,4 @@ Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premi Zkontroluj aktualizace - - Instalovat OnTopReplica {0}? - - - Zrušit aktualizaci -Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. - - - Pokračovat -Instalovat OnTopReplica {0}. - - - Nová verze bude automaticky stažena a nainstalována. - - - Nainstalovaná verze: {0} -Dostupná verze: {1} -Velikost pro stažení: {2} bajtů - - - Nové aktualizace jsou k dispozici - - - Podrobnosti - - - Náhled nebyl nahrán. - - - Kontrola aktualizací se nezdařila. - - - Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte <a href="http://ontopreplica.codeplex.com">domácí stránku aplikace OnTopReplica</a>). - - - Aplikace OnTopReplica byla aktualizována. - - - Pro použití aktualizací je potřeba aplikaci OnTopReplica restartovat. - - - Aktualizace proběhla úspěšně - - - OnTopReplica je aktuální. - - - Žádná aktualizace není k dispozici. - - - Povolit "Proklikávání" v celoobrazovkovém režimu? - - - "Proklikávání" funguje pouze pokud je povoleno v menu a okno má nastavenou průhlednost. - - - V tomto režimu se bude okno roztažené přes celou obrazovku chovat jako poloprůhledná vrstva, přes kterou bude možné "proklikávat" na podložená okna. - -K návratu do standardního režimu je možné přejít kdykoli dvojklikem na ikonu v oznamovací oblasti (traye). - - - Režim "Proklikávání" - - - Ne. -Režim "Proklikávání" je možné zvolit později v menu - - - Používat "Proklikávání" - - - Přeposílání kliknutí - - - Zapne "přeposílání kliknutí" do zdrojového okna. - - - Opustit celoobrazovkový režim - - - Jazyk - - - Výřezy: - - - Uložit - - - Smazat - - - Aktuální výřez: - - - Šířka - - - Výška - - - Reset - - - Hotovo - - - Uložené výřezy - - - Přejete si povolit "přeposílání kliknutí"? - - - Přeposílání kliknutí - - - V tomto režimu aplikace OnTopReplica přeposílá kliknutí levého tlačítka myši do zdrojového okna (je tedy možné provádět základní ovládání zdrojového okna bez nutnosti jej aktivovat). - -Ukončit režim "přeposíání kliknutí" je možné opětovným vyvolání položky v menu. - - - Resetovat nastavení? - - - Operace "Resetovat nastavení" smaže veškerá uživatelská nastavení aplikace OnTopReplica a vrátí nastavení do stejného stavu jako po instalaci (všechny uložené informace, jako například uložené výřezy oken, budou ztraceny). - - - Resetovat nastavení - - - Přerušit aktualizaci. - - - Zobrazit podrobnosti o aplikaci OnTopReplica. - - - Resetovat nastavení OnTopReplica. - - - Aktualizovat OnTopReplica. - - - <html> - <head> - <style type="text/css"> -body { - font-family: Segoe UI, Arial, sans-serif; - font-size: 0.8em; - margin: 0; -padding: 0.75em; -} -h1 { - font-size: 1.4em; - font-weight: bold; - - margin: 1em 0 0.4em 0; - padding: 0; -} -p { - margin: 0.5em 0 0.5em 1em; - padding: 0; -} -a { - font-weight: bold; - color: blue; -} -a:hover { - color: red; -} - </style> - </head> - - <body> - - <h1>Licence</h1> - - <p><b>OnTopReplica</b> je šířena pod <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a> licencí.</p> - <p>Původní zdrojový kód je možné nalézt na <a href="http://www.codeplex.com/ontopreplica">domovské stránce projektu na serveru CodePlex</a>.</p> - - <h1>Autoři a zásluhy</h1> - - <p>Původní inspirací pro OnTopReplica byla aplikace <a href="http://insentient.net">Switcher</a> a další aplikace založeny na DWM.</p> - - <p>Všechny Vista ovládací prvky jsou součástí <a href="http://www.codeplex.com/windowsformsaero">knihovny WindowsFormsAero</a> pro .NET.</p> - - <p>Některé ukázkové kódy byly převzaty z <a href="http://www.ookii.org">Ookii</a> ze serveru Channel9.</p> - - <p>Třída NativeToolstripRenderer byla převzata z <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> - - <p>Některé ikony pocházejí z <a href="http://www.vistaico.com">VistaICO.com</a> a balíčku ikon Xiao.</p> - - </body> -</html> - - - - celé okno - - - - Aplikace OnTopReplica přes celou obrazovku - - - Režim - - - Vždy na vrchu - - - Nastaví aplikaci OnTopReplica, aby zůstávala vždy na vrchu. - - - Proklikávání - - - Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. - - - Standardní - - - Aplikace OnTopReplica se bude chovat jako běžné okno. Jiná okna mohou překrýt okno aplikace. - - - Okraj - - - Přepínač, který definuje, zda má aplikace OnTopReplica viditelný okraj okna. - - - Proklikávání - - - Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. - \ No newline at end of file diff --git a/OnTopReplica/Strings.da.Designer.cs b/OnTopReplica/Strings.da.Designer.cs deleted file mode 100644 index e69de29..0000000 diff --git a/OnTopReplica/Strings.da.resx b/OnTopReplica/Strings.da.resx index 7f0dc1c..41d3c80 100644 --- a/OnTopReplica/Strings.da.resx +++ b/OnTopReplica/Strings.da.resx @@ -12,14 +12,17 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - OnTopReplica + + Annuller updateringen - - - ingen - + + Vis detaljer om OnTopReplica. - - Sæt OnTopReplica automatiskt på den aktuelle skærm. + + Nulstil alle OnTopReplica indstillinger. + + + Opdater OnTopReplica nu. <html> @@ -74,368 +77,205 @@ a:hover { </body> </html> - - Nederst højre + + OnTopReplica - - 1:1 Pas til vinduet - - - Installer OnTopReplica {0}? - - - &Annuller - - - 1:4 kvart - - - 100% (uigennemsigtig) - - - Krom - - - 50% - - - Klikke igennem - - - Annuller updateringen - - - - hele - - - - 2:1 dobbelt + + Nulstil vinduet helt? &NulstilAlle ændringer vil blive tabt. + + Kan bruges til at nulstille alle indstillinger hvis du mister kontrollen over vinduet eller hvis det er flyttet uden for skærmen. + + + Nulstil + + + Nulstil indstillinger? + + + Dette nulstiller OnTopReplica til standard indstillingerne (alle gemte informationer, som gemte områder, vil blive slettet). + + + Nulstil indstillingerne + + + Installer OnTopReplica {0}? + {0} update version + Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes. - - Vinduet du har valgt er lukket eller er ikke gyldigt mere. + + FortsætInstaller OnTopReplica + {0} update version - - Viser en liste af vinduer du kan bruge som miniature kilde. + + Den nye version vil automatiskt blive downloaded og installeret. - - Viser OnTopReplica. + + Installeret version: {0} +Tilgængelig version: {1} + {0} installed version number +{1} online available version number - - OnTopReplica blev ikke installeret ved hjælp af 'ClickOnce'. Du bliver nødt til at opdatere manuelt (besøg <a href="http://ontopreplica.codeplex.com">OnTopReplica's hjemmeside</a>). + + Opdatering tilgængelig. - - Opdater nu! + + &Annuller - - Vis detaljer om OnTopReplica. + + Lavet af: Lorenz Cuno Klopfenstein. - - Luk + + Tegn områder med musen - - Aktiver "click forwarding" til det klonede vindue + + Detaljer - - Ingen opdateringer er tilgængelige + + Detaljer om Windows Aero Windows Aero er kun tilgængelig op Windows Vista Home Premium eller højere. + + Windows Aero effekter er ikke slået til + + + Du skal aktiverere "Windows Aero" som tema i Windows.For at gøre dette skal du højreklikke på skrivebordet og vælge personlige indstillinger. + + + Fejl detaljer. + + + Fejl: + + + Vinduet du har valgt er lukket eller er ikke gyldigt mere. + + + Fejl + + + Windows Aero effekter er ikke understøttet af dit styresystem. +Dette program kræver Windows Vista Home Premium eller bedre. + + + Skrivebords komposition ikke understøttet + + + Ingen miniature indlæst. + + + Kan ikke lave miniature. + + + Kunne ikke passes til vinduet. + + + Kan ikke søge efter opdateringer. + + + OnTopReplica blev ikke installeret ved hjælp af 'ClickOnce'. Du bliver nødt til at opdatere manuelt (besøg <a href="http://ontopreplica.codeplex.com">OnTopReplica's hjemmeside</a>). + + + Tilstande + Altid øverst - - Områder: + + Får OnTopReplica til altid at være øverst. - - Højde + + Klikke igennem - - Vælg område... + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. - - Vælg vindue + + Standard - - Slet + + Opfører sig som et almindeligt vindue. Du kan trække andre viduer ind over OnTopReplica. - - Genskab + + OnTopReplica fuld skærm + + + Hjemmeside: www.codeplex.com/ontopreplica. + + + Ønsker du at aktivere "click forwarding"? Hvis denne funktion er aktiveret vil OnTopReplica vidersende alle venstr museklik til det klonede vindue (dette gør dig i stand til at udføre basis musefunktioner i det klonede vindue uden at skulle aktivere det). For at afslutte denne funktion skal du højreklikke på OnTopReplica og deaktivere "Click forwarding" i menuen. - - Position + + Click forwarding - - Gemte områder + + Ønskes gennem klik i fuldskærms tilstand? - - Gem + + Gennem klik virker kun hvis det er blevet aktiveret i gendan undermenuen og hvis vinduet er delvist gennemsigtigt. I denne tilstand vil fuld skærm vinduet opføre sig som et delvist gennemsigtigt lag, hvilket gør dig i stand til at klikke på de underliggende vinduer. For at komme tilbage til normal tilstand, dobbeltklik på OnTopReplica ikonet i meddelelsesområdet på proceslinjen. - - Lukker OnTopReplica. - - - Gendan sidste position og størrelse - - - Standard - - - Skjuler hoved vinduet og viser om boxen. - - - Bredde - - - Tilstande - - - Gennem klik tilstand - - - Højreklik her for at starte... - - - Nulstiller OnTopReplica indstillingerne og hoved vinduet. - - - Nulstil indstillinger? - - - Nulstil alle OnTopReplica indstillinger. - - - Nulstil vinduet helt? - - - Nulstil vinduet - - - Nulstil indstillingerne - - - Nulstil - - - Nulstil - - - Uigennemsigtighed - - - For at benytte den opdaterede udgave af OnTopReplica skal du genstarte programmet. - - - Du skal aktiverere "Windows Aero" som tema i Windows.For at gøre dette skal du højreklikke på skrivebordet og vælge personlige indstillinger. - - - Click forwarding - - - Click forwarding - - - Skift til vindue - - - Skifter til kilde vinduet og gemmer OnTopReplica. - - - Skifter til "område tilstand", der tillader dig at vælge et begrænset område af kildens vindue som miniature. - - - Vælger om OnTopReplica skal gemme sidst brugte størrelse og position, til næste gang det starter op. - - - Vælger Chrome kanten rundt om vinduet til/fra - - - Vælger "glas tilstand" til/fra - - - Ønsker du at aktivere "click forwarding"? - - - Ønskes gennem klik i fuldskærms tilstand? - - - Brug gennem klik. - - - FortsætInstaller OnTopReplica - - - Detaljer om Windows Aero - - - Fejl detaljer. - - - Detaljer - - - Tegn områder med musen - - - åben - - - Kan bruges til at nulstille alle indstillinger hvis du mister kontrollen over vinduet eller hvis det er flyttet uden for skærmen. - - - Opdatering tilgængelig. - - - Dette nulstiller OnTopReplica til standard indstillingerne (alle gemte informationer, som gemte områder, vil blive slettet). - - - OnTopReplice er opdateret. - - - Om... - - - Den nye version vil automatiskt blive downloaded og installeret. - - - En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. - - - Kan ikke lave miniature. - - - Skrivebords komposition ikke understøttet - - - Kunne ikke passes til vinduet. - Nej. Du kan aktivere gennem klik senere. - - Sætter OnTopReplica til 50% uigennemsigtighed. + + Brug gennem klik. - - Sætter OnTopReplica til 75% uigennemsigtighed. - - - Sætter OnTopReplica til 25% uigennemsigtighed. - - - Får OnTopReplica til altid at være øverst. - - - Installeret version: {0}Tilgængelig version: {1}Download størrelse: {2} bytes - - - Sprog - - - Ingen miniature indlæst. - - - Minimere OnTopReplica til systembakken. - - - Kan ikke søge efter opdateringer. - - - Minimer til systembakken. - - - Færdig - - - Øverst højre - - - Sæt OnTopReplica til at være helt uigennemsigtig. - - - Øverst venstre - - - Glas - - - Windows Aero effekter er ikke slået til - - - Windows Aero effekter er ikke understøttet af dit styresystem. -Dette program kræver Windows Vista Home Premium eller bedre. - - - Hjemmeside: www.codeplex.com/ontopreplica. - - - Nederst venstre - - - Fejl: - - - Fejl - - - Lavet af: Lorenz Cuno Klopfenstein. - - - Fuld skærm - - - OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. - - - Opfører sig som et almindeligt vindue. Du kan trække andre viduer ind over OnTopReplica. - - - Afslut fuldskærm tilstand. - - - OnTopReplica fuld skærm + + Gennem klik tilstand OnTopReplica er blevet opdateret. - - Aktuelt område: - - - OnTopReplica checker automatiskt for opdateringer. Der bliver ikke registreret nogen data på noget tidspunkt. - - - Opdater OnTopReplica nu. + + For at benytte den opdaterede udgave af OnTopReplica skal du genstarte programmet. Opdatering fuldført - - 1:2 halv + + OnTopReplice er opdateret. - - 25% + + Ingen opdateringer er tilgængelige - - 75% + + Sprog - - Gennem klik virker kun hvis det er blevet aktiveret i gendan undermenuen og hvis vinduet er delvist gennemsigtigt. + + Om... + + + Skjuler hoved vinduet og viser om boxen. + + + Krom + + + Vælger Chrome kanten rundt om vinduet til/fra + + + Click forwarding + + + Aktiver "click forwarding" til det klonede vindue Klikke igennem @@ -443,4 +283,169 @@ Dette program kræver Windows Vista Home Premium eller bedre. OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + Luk + + + Lukker OnTopReplica. + + + 2:1 dobbelt + + + Fuld skærm + + + 1:2 halv + + + 1:1 Pas til vinduet + + + 1:4 kvart + + + Glas + + + Vælger "glas tilstand" til/fra + + + 100% (uigennemsigtig) + + + Sæt OnTopReplica til at være helt uigennemsigtig. + + + 25% + + + Sætter OnTopReplica til 25% uigennemsigtighed. + + + 50% + + + Sætter OnTopReplica til 50% uigennemsigtighed. + + + 75% + + + Sætter OnTopReplica til 75% uigennemsigtighed. + + + Uigennemsigtighed + + + åben + + + Viser OnTopReplica. + + + Nederst venstre + + + Nederst højre + + + Position + + + Sæt OnTopReplica automatiskt på den aktuelle skærm. + + + Øverst venstre + + + Øverst højre + + + Afslut fuldskærm tilstand. + + + Gendan sidste position og størrelse + + + Vælger om OnTopReplica skal gemme sidst brugte størrelse og position, til næste gang det starter op. + + + Minimer til systembakken. + + + Minimere OnTopReplica til systembakken. + + + Vælg område... + + + Skifter til "område tilstand", der tillader dig at vælge et begrænset område af kildens vindue som miniature. + + + Nulstil vinduet + + + Nulstiller OnTopReplica indstillingerne og hoved vinduet. + + + Genskab + + + Skift til vindue + + + Skifter til kilde vinduet og gemmer OnTopReplica. + + + Vælg vindue + + + - ingen - + + + Viser en liste af vinduer du kan bruge som miniature kilde. + + + - hele - + + + Aktuelt område: + + + Slet + + + Færdig + + + Højde + + + Nulstil + + + Gem + + + Gemte områder + + + Områder: + + + Bredde + + + Højreklik her for at starte... + + + En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. + + + OnTopReplica checker automatiskt for opdateringer. Der bliver ikke registreret nogen data på noget tidspunkt. + + + Opdater nu! + \ No newline at end of file diff --git a/OnTopReplica/Strings.de.resx b/OnTopReplica/Strings.de.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.de.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.es.resx b/OnTopReplica/Strings.es.resx new file mode 100644 index 0000000..03bcda0 --- /dev/null +++ b/OnTopReplica/Strings.es.resx @@ -0,0 +1,90 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancelar actualización + + + Mostrar detalles acerca de OnTopReplica + + + Reiniciar la configuración de OnTopReplica + + + Actualizar OnTopReplica ahora + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licencia</h1> + + <p><b>OnTopReplica</b> cuenta con licencia <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>El código fuente original se encuentra en <a href="http://www.codeplex.com/ontopreplica">la página inicial del proyecto en CodePlex</a>.</p> + + <h1>Créditos</h1> + + <p><a href="http://insentient.net">Switcher</a> y otros programas basados en DWM inspiraron OnTopReplica.</p> + + <p>All Vista controls are part of the <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero library</a> for .NET.</p> + + <p>Some example code taken from <a href="http://www.ookii.org">Ookii</a> on Channel9.</p> + + <p>NativeToolstripRenderer class taken from <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> + + </body> +</html> + + + OnTopReplica + + + ¿Reiniciar la ventana? + + + &Reiniciar +Todas las configuraciones se perderán. + + \ No newline at end of file diff --git a/OnTopReplica/Strings.fi.resx b/OnTopReplica/Strings.fi.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.fi.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.it.Designer.cs b/OnTopReplica/Strings.it.Designer.cs deleted file mode 100644 index e69de29..0000000 diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx index f827218..f8090e3 100644 --- a/OnTopReplica/Strings.it.resx +++ b/OnTopReplica/Strings.it.resx @@ -12,352 +12,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - OnTopReplica - - - Ripristinare completamente la finestra? - - - &Ripristina -Tutte le impostazioni saranno perse. - - - Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. - - - Ripristino - - - &Annulla - - - Creato da: Lorenz Cuno Klopfenstein. - - - Disegna una regione usando il mouse. - - - Dettagli su Windows Aero - - - Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. - - - Il servizio di Desktop Composition Aero non è attivo. - - - È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows. - -Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. - - - Dettagli errore - - - Errore: - - - Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. - - - Errore - - - La "composzione del desktop" non è supportata dal tuo sistema operativo. -È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. - - - Desktop Composition (DWM) non supportato - - - Impossibile clonare la finestra. - - - Impossibile adattare la finestra. - - - Sito internet: www.codeplex.com/ontopreplica. - - - A proposito di... - - - Nasconde la finestra principale e mostra una schermata di informazioni. - - - Seleziona più finestre per attivare. - - - Modalità Gruppo attivata. - - - Chiudi - - - Termina OnTopReplica. - - - 2:1 Doppio - - - Tutto schermo - - - 1:2 Metà - - - 1:1 Clone esatto - - - 1:4 Quarto - - - Effetto vetro - - - Abilita o disabilita l'effetto vetro. - - - 100% (opaco) - - - Imposta OnTopReplica come finestra completamente opaca. - - - 25% - - - Imposta l'opacità di OnTopReplica al 25%. - - - 50% - - - Imposta l'opacità di OnTopReplica al 50%. - - - 75% - - - Imposta l'opacità di OnTopReplica al 75%. - - - Opacità - - - Apri - - - Attiva la finestra di OnTopReplica. - - - In basso a sinistra - - - In basso a destra - - - Posizione - - - Posiziona automaticamente OnTopReplica sul monitor corrente. - - - In alto a sinistra - - - In alto a destra - - - Ripristina posizione e grandezza - - - Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. - - - Minimizza - - - Riduce OnTopReplica ad un'icona nella barra delle applicazioni. - - - Seleziona regione... - - - Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. - - - Reimposta finestra - - - Reimposta OnTopReplica e la sua finestra principale. - - - Ridimensionamento - - - Vai alla finestra originale - - - Mostra la finestra originale e nasconde OnTopReplica. - - - Seleziona finestra - - - - nessuna - - - - Mostra una lista di finestre che è possibile clonare. - - - Clic destro qui per iniziare... - - - Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta. - - - OnTopReplica controlla automaticamente se sono presenti aggiornamenti. - - - Aggiorna! - - - Installare OnTopReplica {0}? - - - Annulla aggiornamento -OnTopReplica si aggiornerà in un secondo momento. - - - Continua -Installa OnTopReplica {0}. - - - La nuova versione sarà scaricata ed installata automaticamente. - - - Versione installata: {0} -Versione disponibile: {1} -Grandezza: {2} bytes - - - Aggiornamento disponibile - - - Dettagli - - - Nessuna finestra clonata al momento. - - - Impossibile controllare gli aggiornamenti. - - - Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. - - - OnTopReplica è stato aggiornato. - - - Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. - - - Aggiornamento completato - - - La versione più aggiornata è già installata. - - - Nessun aggiornamento disponibile - - - Attivare la modalità Click-Through? - - - La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. - - - In questa modalità la finestra clonata si comporterà come una maschera semitrasparente che permette di cliccare sulle finestre dietro di essa. - -Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). - - - Modalità Click-Through - - - Finestre - - - Modalità Gruppo di finestre: - - - No, grazie. -Puoi abilitare il Click-Through in futuro - - - Abilita Click-Through - - - Inoltro dei clic - - - Attiva la modalità di "inoltro dei clic" alla finestra clonata. - - - Esci da tutto schermo - - - Lingua - - - Regioni: - - - Salva - - - Cancella - - - Regione corrente: - - - Largh. - - - Altezz. - - - Reset - - - Chiudi - - - Regioni memorizzate - - - Attivare la modalità di inoltro dei clic? - - - Inoltro dei clic - - - In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano). - -Per uscire da questa modalità, usa il tasto ESC. - - - Resettare impostazioni? - - - Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). - - - Reimposta - Annulla il processo di aggiornamento. @@ -423,11 +77,118 @@ a:hover { </body> </html> - - - intera - + + OnTopReplica - - OnTopReplica a pieno schermo + + Ripristinare completamente la finestra? + + + &Ripristina +Tutte le impostazioni saranno perse. + + + Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. + + + Ripristino + + + Resettare impostazioni? + + + Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). + + + Reimposta + + + Scaricare OnTopReplica {0}? + {0} update version + + + Annulla aggiornamento +OnTopReplica si aggiornerà in un secondo momento. + + + Continua +Scarica OnTopReplica {0}. + {0} update version + + + Sarà possibile scaricare la nuova versione ed installarla. + + + Versione installata: {0} +Versione disponibile: {1} + {0} installed version number +{1} online available version number + + + Aggiornamento disponibile + + + &Annulla + + + Creato da: Lorenz Cuno Klopfenstein. + + + Disegna una regione usando il mouse. + + + Dettagli + + + Dettagli su Windows Aero + + + Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. + + + Il servizio di Desktop Composition Aero non è attivo. + + + È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows. + +Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. + + + Dettagli errore + + + Errore: + + + Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. + + + Errore + + + La "composzione del desktop" non è supportata dal tuo sistema operativo. +È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. + + + Desktop Composition (DWM) non supportato + + + Nessuna finestra clonata al momento. + + + Impossibile clonare la finestra. + + + Impossibile adattare la finestra. + + + Impossibile controllare gli aggiornamenti. + + + Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + Non è stato possibile controllare se esiste una versione più aggiornata di OnTopReplica. Verificare di essere connessi ad Internet. Se la connessione è attiva, è possibile che il sito ufficiale sia temporaneamente offline. Modalità @@ -450,31 +211,277 @@ a:hover { Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. + + OnTopReplica a pieno schermo + + + Disattiva + + + Abilita modalità + + + Seleziona più finestre per attivare. + + + Modalità Gruppo attivata. + + + Modalità Gruppo di finestre: + + + Finestre + Column Header of list, simply refers to available windows to be cloned + + + Sito internet: www.codeplex.com/ontopreplica. + + + Attivare la modalità di inoltro dei clic? + + + In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano). + +Per uscire da questa modalità, usa il tasto ESC. + + + Inoltro dei clic + + + Attivare la modalità Click-Through? + + + La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. + + + In questa modalità la finestra clonata si comporterà come una maschera semitrasparente che permette di cliccare sulle finestre dietro di essa. + +Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). + + + No, grazie. +Puoi abilitare il Click-Through in futuro + + + Abilita Click-Through + + + Modalità Click-Through + + + OnTopReplica è stato aggiornato. + + + Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. + + + Aggiornamento completato + + + La versione più aggiornata è già installata. + + + Nessun aggiornamento disponibile + + + Lingua + + + A proposito di... + + + Nasconde la finestra principale e mostra una schermata di informazioni. + + + Avanzate + Bordo Abilita o disabilita il bordo della finestra. + + Inoltro dei clic + + + Attiva la modalità di "inoltro dei clic" alla finestra clonata. + Abilita Click-Through OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa. + + Chiudi + + + Termina OnTopReplica. + + + 2:1 Doppio + + + Tutto schermo + + + 1:2 Metà + + + 1:1 Clone esatto + + + 1:4 Quarto + + + Effetto vetro + + + Abilita o disabilita l'effetto vetro. + Modalità Gruppo di finestre OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo. - - Abilita modalità + + 100% (opaco) - - Disattiva + + Imposta OnTopReplica come finestra completamente opaca. - - Avanzate + + 25% + + + Imposta l'opacità di OnTopReplica al 25%. + + + 50% + + + Imposta l'opacità di OnTopReplica al 50%. + + + 75% + + + Imposta l'opacità di OnTopReplica al 75%. + + + Opacità + + + Apri + + + Attiva la finestra di OnTopReplica. + + + In basso a sinistra + + + In basso a destra + + + Posizione + + + Posiziona automaticamente OnTopReplica sul monitor corrente. + + + In alto a sinistra + + + In alto a destra + + + Esci da tutto schermo + + + Ripristina posizione e grandezza + + + Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. + + + Minimizza + + + Riduce OnTopReplica ad un'icona nella barra delle applicazioni. + + + Seleziona regione... + + + Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. + + + Reimposta finestra + + + Reimposta OnTopReplica e la sua finestra principale. + + + Ridimensionamento + + + Vai alla finestra originale + + + Mostra la finestra originale e nasconde OnTopReplica. + + + Seleziona finestra + + + - nessuna - + + + Mostra una lista di finestre che è possibile clonare. + + + - intera - + + + Regione corrente: + + + Cancella + + + Chiudi + + + Altezz. + + + Reset + + + Salva + + + Regioni memorizzate + + + Regioni: + + + Largh. + + + Clic destro qui per iniziare... + + + Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta. + + + OnTopReplica controlla automaticamente se sono presenti aggiornamenti. + + + Aggiorna! \ No newline at end of file diff --git a/OnTopReplica/Strings.no.resx b/OnTopReplica/Strings.no.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.no.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.pt.resx b/OnTopReplica/Strings.pt.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.pt.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx index f0d5c5a..670c5a7 100644 --- a/OnTopReplica/Strings.resx +++ b/OnTopReplica/Strings.resx @@ -12,352 +12,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - OnTopReplica - - - Reset window completely? - - - &Reset -All settings will be lost. - - - Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. - - - Reset - - - &Cancel - - - Created by: Lorenz Cuno Klopfenstein. - - - Draw regions using mouse. - - - Details on Windows Aero - - - Windows Aero is only available on Windows Vista Home Premium or higher. - - - 'Desktop Composition' is not enabled. - - - You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. - -To do so, right-click on the desktop and click on Personalize. - - - Error details - - - Error: - - - It appears that the selected window has been closed or is not valid anymore. - - - Error - - - 'Desktop Composition' is not supported on your Operating System. -You must run this application on Windows Vista Home Premium or better. - - - Desktop Composition unsupported - - - Unable to create thumbnail. - - - Unable to fit window. - - - Homepage: www.codeplex.com/ontopreplica. - - - About... - - - Hides the main window and displays the "about" box. - - - Select multiple windows to enable. - - - Group switch mode is enabled. - - - Close - - - Closes OnTopReplica. - - - 2:1 Double - - - Fullscreen - - - 1:2 Half - - - 1:1 Fit to window - - - 1:4 Quarter - - - Glass - - - Toggles "glass mode" on and off. - - - 100% (opaque) - - - Sets OnTopReplica to be completely opaque. - - - 25% - - - Sets OnTopReplica to 25% opacity. - - - 50% - - - Sets OnTopReplica to 50% opacity. - - - 75% - - - Sets OnTopReplica to 75% opacity. - - - Opacity - - - Open - - - Displays OnTopReplica. - - - Bottom Left - - - Bottom Right - - - Position - - - Automatically position OnTopReplica on the current screen. - - - Top Left - - - Top Right - - - Recall last position and size - - - Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. - - - Minimize - - - Minimizes OnTopReplica to the task bar (or the tray). - - - Select region... - - - Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. - - - Reset window - - - Resets OnTopReplica settings and its main window. - - - Resize - - - Switch to window - - - Switches to the source window and hides OnTopReplica. - - - Select window - - - - none - - - - Displays a list of window you can select as thumbnail source. - - - Right-click here to start... - - - A lightweight, real-time, always on top thumbnail of a window of your choice. - - - OnTopReplica automatically checks for updates. No information is logged at any point. - - - Update now! - - - Install OnTopReplica {0}? - - - Cancel update -OnTopReplica will prompt you the next time it is started. - - - Proceed -Install OnTopReplica {0}. - - - The new version will be automatically downloaded and installed. - - - Installed version: {0} -Available version: {1} -Download size: {2} bytes - - - Update available - - - Details - - - No thumbnail loaded. - - - Unable to check for updates. - - - It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). - - - OnTopReplica has been updated. - - - In order to use the updated version of OnTopReplica you'll have to restart the application. - - - Update successful - - - OnTopReplica is up to date. - - - No update available - - - Enable Click-Through mode? - - - Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. - - - In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. - -To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). - - - Click-Through mode - - - Windows - - - Group switch mode: - - - No, thank you. -You can enable click-through later - - - Use Click-Through - - - Enable Click forwarding - - - Enable "click forwarding" to the cloned window. - - - Quit fullscreen mode - - - Language - - - Regions: - - - Save - - - Delete - - - Current region: - - - Width - - - Height - - - Reset - - - Done - - - Stored regions - - - Do you want to enable "click forwarding"? - - - Click forwarding - - - If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). - -To exit this mode, push ESC. - - - Reset settings? - - - This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). - - - Reset settings - Abort update process. @@ -423,11 +77,118 @@ a:hover { </body> </html> - - - whole - + + OnTopReplica - - OnTopReplica fullscreen + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + Download OnTopReplica {0}? + {0} update version + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + {0} update version + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + {0} installed version number +{1} online available version number + + + Update available + + + &Cancel + + + Created by: Lorenz Cuno Klopfenstein. + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail. + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. Mode @@ -450,31 +211,277 @@ a:hover { Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + Chrome Toggles the display of the window chrome. + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + Enable Click-Through OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Glass + + + Toggles "glass mode" on and off. + Group Switch mode OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. - - Enable Group mode + + 100% (opaque) - - Disable + + Sets OnTopReplica to be completely opaque. - - Advanced + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Position + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + OnTopReplica automatically checks for updates. No information is logged at any point. + + + Update now! \ No newline at end of file diff --git a/OnTopReplica/Strings.ru.resx b/OnTopReplica/Strings.ru.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.ru.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs b/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs new file mode 100644 index 0000000..6482835 --- /dev/null +++ b/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Update { + class UpdateCheckCompletedEventArgs : EventArgs { + + public UpdateInformation Information { get; set; } + + public bool Success { get; set; } + + public Exception Error { get; set; } + + } +} diff --git a/OnTopReplica/Update/UpdateInformation.cs b/OnTopReplica/Update/UpdateInformation.cs new file mode 100644 index 0000000..f605223 --- /dev/null +++ b/OnTopReplica/Update/UpdateInformation.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.IO; +using System.Xml; + +namespace OnTopReplica.Update { + + /// + /// Contains information about the latest OnTopReplica update available. + /// + public class UpdateInformation { + + Version _latestVersion; + + /// + /// Gets the latest available version of the software. + /// + [XmlIgnore] + public Version LatestVersion { + get { + return _latestVersion; + } + set { + _latestVersion = value; + } + } + + [XmlElement("latestVersion")] + public string LatestVersionInternal { + get { + return _latestVersion.ToString(); + } + set { + _latestVersion = new Version(value); + } + } + + /// + /// Indicates when the latest version was released. + /// + [XmlElement("latestVersionRelease")] + public DateTime LatestVersionRelease { get; set; } + + /// + /// Gets the URL of the page that allows the user to download the updated installer. + /// + [XmlElement("downloadPage")] + public string DownloadPage { get; set; } + + /// + /// Deserializes an UpdateInformation object from a stream. + /// + public static UpdateInformation Deserialize(Stream source) { + var serializer = new XmlSerializer(typeof(UpdateInformation)); + var info = serializer.Deserialize(source) as UpdateInformation; + return info; + } + + public static string Serialize(UpdateInformation information) { + var serializer = new XmlSerializer(typeof(UpdateInformation)); + var sb = new StringBuilder(); + using(var writer = new StringWriter(sb)){ + serializer.Serialize(writer, information); + } + return sb.ToString(); + } + + } + +} diff --git a/OnTopReplica/Update/UpdateManager.cs b/OnTopReplica/Update/UpdateManager.cs new file mode 100644 index 0000000..b114b83 --- /dev/null +++ b/OnTopReplica/Update/UpdateManager.cs @@ -0,0 +1,109 @@ +using System; +using System.Collections.Generic; +using System.Net; +using System.Text; +using System.Net.Cache; +using System.IO; +using System.Reflection; +using VistaControls.TaskDialog; +using System.Diagnostics; +using System.Windows.Forms; + +namespace OnTopReplica.Update { + + class UpdateManager { + + const string UpdateManifestUrl = "http://www.klopfenstein.net/public/Uploads/ontopreplica/update.xml"; + + public void CheckForUpdate() { + //Build web request + var request = (HttpWebRequest)HttpWebRequest.Create(UpdateManifestUrl); + request.AllowAutoRedirect = true; + request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; + request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache); + + //Begin async request... + request.BeginGetResponse(new AsyncCallback(EndCheckForUpdate), request); + } + + private void EndCheckForUpdate(IAsyncResult result) { + HttpWebRequest request = (HttpWebRequest)result.AsyncState; + + try { + var response = request.EndGetResponse(result); + var info = UpdateInformation.Deserialize(response.GetResponseStream()); + + OnUpdateCheckSuccess(info); + } + catch (Exception ex) { + OnUpdateCheckError(ex); + return; + } + } + + public event EventHandler UpdateCheckCompleted; + + protected virtual void OnUpdateCheckError(Exception ex) { + var evt = UpdateCheckCompleted; + if (evt != null) { + evt(this, new UpdateCheckCompletedEventArgs { + Success = false, + Error = ex + }); + } + } + + protected virtual void OnUpdateCheckSuccess(UpdateInformation information) { + var evt = UpdateCheckCompleted; + if (evt != null) { + evt(this, new UpdateCheckCompletedEventArgs { + Success = true, + Information = information + }); + } + } + + /// + /// Handles the results of an update check. Must be called from main GUI thread. + /// + /// The retrieved update information. + /// Determines if the lack of updated should be notified to the user. + public void HandleUpdateCheck(Form parent, UpdateInformation information, bool verbose) { + if (information == null) + return; + + var currentVersion = Assembly.GetExecutingAssembly().GetName().Version; + + if (information.LatestVersion > currentVersion) { + //New version found + var dlg = new TaskDialog( + string.Format(Strings.AskUpdate, information.LatestVersion), + Strings.AskUpdateTitle, + Strings.AskUpdateContent) { + CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, string.Format(Strings.AskUpdateButtonOk, information.LatestVersion)), + new CustomButton(Result.Cancel, Strings.AskUpdateButtonCancel) + }, + UseCommandLinks = true, + CommonIcon = TaskDialogIcon.Information, + ExpandedInformation = string.Format(Strings.AskUpdateExpanded, currentVersion, information.LatestVersion) + }; + + if (dlg.Show(parent).CommonButton == Result.OK) { + Process.Start(information.DownloadPage); + } + } + else if(verbose) { + //No updates, but need to inform the user + var dlg = new TaskDialog(Strings.InfoUpToDate, Strings.InfoUpToDateTitle) { + CommonButtons = TaskDialogButton.OK, + CommonIcon = TaskDialogIcon.Information, + Footer = information.LatestVersion.ToString() + }; + dlg.Show(); + } + } + + } + +} diff --git a/OriginalAssets/new-icon.png b/OriginalAssets/new-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dfa49b4adc68f0c842a47a16314c16e20c554aa5 GIT binary patch literal 24269 zcmW(+RX~+Z*PRn|cM69_x}~HgUP7e1OFBeA6b{`;NQa1&bW3wUQW|NMZcw`G_xmqq z=4LJ?p1s#zYdsUCsiB02O^pozz*A9H(E2wb|JN|l|MlObEQbIv`=FvAtK+-yryZ-w zMPHXye9Oe?>(;N$U;bmw>ThP1di{Ba2)60m3J7fwBCvMqBIXHJ;1|{=5=~ zK2Piq8fJ4(K3d;?&Y3CinD>(W8aQVCtIhBFTxY5DBvGHvUwicVy#jsh(#F}YwNL!) z*x6OF+tP!vH_>LwY%V6aU1(+%kn~B}I>*Y@m%cdt^QHaj`_p*7dB2UTHQ>QhW0te* zUjFXyuw!26m~;hp?t-!R6KEpoOHW?0AEKpU4HYNOC9J zBzq_Xa$9Jgmn;?+WpCGeGQS~3q6#dv${0JvckrGXrS$6}bb?O)t+O>um!9>FT7S=g zO~g&Zdyi^tQ~|mQA?w%5s;@h9c^GtVMb--+NR$JL!eiG>^vO^Dm3+pWYbi3(<_I{5?4? zo4p|~nyT_Mll05KdWbNMy_2%s@|P`}-8)*^cp^DrU(vuiGI<$<(c$%0i1wE{?^ES| z6>+^-07X#l5Ft@{C^7yC-5h$>!033K?ex!UsadWqJE_L5{(f6{ZocyNuU$u3RTyEu zJi}5eP2zP6xbK3y4qGVOa_QEB^^aP%q>TxpA|`4Z1?(`+>}$vFbk+3)!QH4* ze9y?t1P1+EUnzBxgY1U*`_D0rTP7b~k2JjLycUkJ7x!_pIPfyROIHiXJ*i%Ax;Xaa zsoG#o^AOZqDt{oC*JWHe&C^YzJas!za~llcKp#cAiHshJA(nc~xU z^>sDU`2le=`Oxrw>$3w0QXkBD#e^J=N~W;{$$k&H%rhU>LRdcwRbr&}^n1_E>OVr; zdca}%EiL@L@uNS-`F>`cozveP8w28!qQ@8>=~*WAQszjPyl{iTOVd``rHl6&mQM&R zj_bHocl>fE4PyJ&j;3^en%wW(|MvY^@%0wZvG@C+d52>0KHi^B!f*Fg-Gl@2WWG_{{rj~{rXv~3$n8;n_c7s>mL8l5=aA47 zJ}xGwt55B6ya(;~`QdoY&q)dN%VURKgL9CJn|`?s}=cMSMg9`BXTomCp0)e~ zpXPLDh8D8kQTU_H7Zrh-oI(VaXA`Z*Qxi%Fx9v%_T&m=XsPNs=I!jmYa#h93v0%Q{ zAJNQpgx^+r`#+atYq$+_C~Df$zt=upB=`C=drbM19+JB$J!EtCyl-uAyL&{?en&P? zH2XH3{7ZUW>|NUs`-7xEvMv$J~+^yi``ri%l zbl!RbFoU8>0l$U8_L|dIT`*n=EGQniNqU|J(Tn~tY%bf(pV4WpS-GA6L*sg*f6)5Z z={@aB5<2DAq8Yf_x+S?(9-9E))JgtSUvGQ9Cp;| zvzY@vVpkd+@x_I}%7e zy-P*yu#rrdy^VXN(egUWFVpMSR$ma#_}vrfQ{$y_8i}Qy%JNfm`C3f>_AIxyzvNIE zMR2)KO;%lwQ5Fo4nHu*~)SxX0xDUQ9zM!&tSAq9urs!m=(Jf&9;BGg?{N1*D-P7qL zU3tU+P1E~%hNznF+Wp(7BzZ#H)76egOfS>3H9E+4EO!Pzr*GDdx{d76$GeVO?C0hP zhcF8h@bVCXaLM__s1NL?TyPQf7HzQJ&;m)Ri)+EW?B#*ThFD^QSU-FfRPweCwjqRd zH1kGl-CDp=*s$;wo}G{%?c>ufc8F7#!jW8xj0wZJs;9OrGQ9?ukqdh3oiyNxQ6iA> zik!6oo5~_X8F?dh`{|vq+b9<|ua7@78YVjDSnJV3+GB9v!U)k*+o1qJ@9?P?8Gz3o zWS1g8T7p;p9~su%9N#!Po;>rCXlz^eIcT~qBY4CpHNGBm=3UHzAjd*tu>s$f0D_~B zcE?%V4#CM$p9jaTl=@GN;#e04QAr%ACGIkk47irhrkL?p*}II-I46B^O5bS|GD-74 z6d>7Z-1hL+GT|Bkh|?r1z8|sbzw}^)?M|nU>(XUEPmnXT*$@v=9wX!OrLV-<>SdO} zF2Qrl_@Lwcj)ypW$Em1Cr*jJnAfV3+fU4jjIT9@4C6qFQ>PxrsKF_*`&z)ZEqa!=L z8edy~85ltZ0nK$caQFBcNUMyo;8AHL? zTx|-^WQIJBeH;xw6~JHGf*#dF*^}fN7i|dB!`(^mHK3sf#FrRMhNhB7hL)+#h+V^4 zQC-em(ec48EL1aiO*mlrkqtQ=6nj>ZkW{hy_2#drO^!xuoQn zw+u3rq2~cIg)6tG3qkJ#E*p*UvEb&1zy7YbIZb>y~t3%CnF zV1%|e`b(%VQo0x`&ejNwTXCi6FQevYueT%UBfSD0YknH;zV?SB|K((<2RN{hLRQV) zn=%8K#V1wZFjFj|@!X}^{bsa+_X-o1Hvxb$)PT=A35Y3MC{jEpM#`dU*v2Sw^Z|lX zjqM3BCyIlpXWdvF;Kpl?`wy)1w-$+H&g=cyXTh?#ff>5J!2B=MO6IBZ%U}6UjsjGn z3KoZ5#3&nX?;%|ZS^)u=BkLRV&n0;!<9pB~oem5c3{0)-AO$rq^M*4oh&%{_qLOV< zB>mJf-_CviRWdiVT~4u1B~he&2~dNh=F%XYazLn>@Kc`tih`ggR|lnKpZE%OfsK@d zzU2j%T%g+0(Qz~Xk3?g~`sdEu?5d}pB@@m#z(mmMX;$5w09Weq2i7-o(zcBGs<*=F zHe?k5N?^+yGp39Uf+v*N)$_mvTie#y+wLx?9jr;U*V4q`=Vfe?&|Z zr~)`)psR?%tE3v{O?qP}!cJq~pRAa%`+0`%#laap)wN6L{SK+>;T>YF@ z9iO-~^0CJ1oo{ZF8dsF?UmR@+6oz;W#e@P@YP&pZ#%B@UMI{g=CHx6&UGTD6#?B^*okqXdrr?^!Dz`EvBLa#-f1jM` zsi*(SjO1*spBasn3G%F$Y5#b+CN+fvsr>+WmlN_SLX|YJ3YnLkK!5OtoJ~SdGPb!T z4y=ZtWih1lWK0z#+_TYDYbAo`bl?Pz42LeuK~buK`d~bmDpJ-ZX=g_B2%ik>u@uUh zZ(vkA-^k;wmmlQ3`AKUGA$(v&vtkVyCi{S~4o5!DoZ1>5P7kpkOFyz0aO|xfLl_ml zeuhVgFhmnV1Bn_oG0fj4YiquFi2ZHWm&%vQ)F}vAJ4ihdj2K9Pt$*J&RF}aU?@7=l z=1O%pBa~{S?ZMa77I;i6YtS3Is^v&p1M9>FnlGLItF=}xjJk%4UOw9ryZl5zjKNn- zPM$^zhKBw@LyPh2Dhe>l!$X4Mpy9G0`c$6Q;-_lhL3>)jpSe$O%BHP;A7r_Al(^b& zW!iG0CfB!A%mBh3M+UMiS5FqgHT-c90RTbn!X>RrA^k!D+1smOJ+E|8l!Xi}FjL%K zS(WSnGIX&ZyCGDA--N#f90vW{L$!)`2bRh}-iKb{He1vWqk zBhWaGFldx>=vHaFe_;%+^?u-_RBXO31IuWHWlE%4|A>E+3L0Duy5mo9JL47%OMn{~ zp^hJvV5mMkIP%{o)*cHE&#WW%xF?5XO5FNaF;H;%CF^5;R%SGTbJ+T-2Z5_zxg&)Y zlt>jc?m$?nr*Oxd7&gX_u}deGe3Bnuq9&n4SGiG1u|Z54S;1;UcmScz=Y|Ow4@uN$ zA*lGizACOdcD!#Rc|p&D`r*JGU&@x5_A@3i8n2Z*fxHU?{xeXWp67`B%_(+nXsg?) z8a?~^QQL8-*55M33%MaJPVz0%n70WAx7;JDysVEfq%c7Ow!uDE0{pTc$XwK^PhQeI zah<~jzm9niEC3RQz()`x$m_T_mP*LMon&T-$sOB+c*<}i| zEw9dqi7XJE`I8>D7#)?YHfa4aFhaK{S%nz+yKx!f8{0X%SMGl|ndCvKpnhwq)bPVs z%I00K0K zmSWQ}WD>2;LekwE=M{8-URJdW+d2l`E>pnnH~?R(n*TdQgFo7O5MQBwo(m+0@grSVNCky{4pdxOX3I{F<#wQkXM- zD#-~Glns@*l#R@R0iKI8<`)T2=gKekqKsw&2e*6X?WcdOG4@7YYC-CcU1Ic{O%-hW z{+fRlE6(MHh*aq;G3BEt_2XuK?!&~?4UtVCR=4}p%q=*|pPuHj=uCbC^Rn{G0DMH! zGV9;jO%BlvAixTAF|0FsQ!?duD|HL)}^7;4RXb@~w}wc59S zgPfOo6RSm5FMY8HH##(7wDUviM9drs+TM>1w9|)iL0g3BH!+MbnOY*sg@>#IX=?kc z9bM2A1gia?LdHu-uzn4IrVaCl?}ZnViX0X#Bfz}?YJncza#DNUFMdVBdp*luhR;eT zA=&dYRm|g_@3Z|)=ciGG2W1VK?3VA$rn;Ss`0d2s+Am!qGXsV%12KgE#cPl4Ph2`# zehNG*csm_YSCB6pcA+=fJNrx$3F9>z{x6CY8w9J)_@52%-_s@wtw5ag0ud3VB6Hmq zJPaC-tf813`JdSv>#)_>l32r^Bdqge7i3tvq^l2}1pIOMuu)9ji)#`HvNI##CF(AV z0PHWk-s@z+Kb%W^rz|0SZNSGAMt?_^nt@KFNPm%qrZM{4oK-&N+O5c|J%Jh}XG8n+K_$UqdXo-kS zh)ll|QK~~$dR?E*)?G}V2vfxw8+?{6^}!dfiADVjWF%Xdg46i$q!j> z47@0VBSX%}A;@0mGQB1fv3mRog=9BOIF-qUpSxQ$OF~Gy1Sf4I1_fs`gNJ)re75ow zRCo-DK6Xh8bK@Q($%#$lMaXeC20XS~ee1kPuB;9dx^qdH9Ltom9c_{4%lL zS0PkHO-a=JUjG*brmhMEWHC?)0-A!;4523edo5sjeC1mjA&~k_E{!5rMy5Tu!I5h= z=-uVr*iO?dT>HKJEB(y147uUoVTa>WXNXmS9yTOs8Vfz4K)wT06(P*9LNf0s7Ky;5 zP!eRh=ea`HDAZ?mH78rz&+7NjfoAKmvN9h#o-goS>Geu4eyFK;mla=+vI_Z@d`wqt z*vrSCqY`K?OZyGGv&3(gN%8SgVN*y&fX-peUyj>z425w(W+P0z>~>BZ@Do}h;;WoNj= zrOvA%#A@r69qkwk*wbT+!|+Y?VeYN#4H zCwt3AOmP_G+)Rk4V`W=mba~i6i$+^RC}-Dkh-oy)kHnrcDa)uR7^64HwD;iT`bCCV zf#6w@?kYl-r>U!J`i_iGeVg5IC8K5W!lFVs z5%se|*DXsTX`~Ow=$e6iHxWkU`n%M+??pQej}%tpiGe3nX1&)~U*Qk-3nm1TItZI@ zm#|itAvheY$j-HJ;&yhQTL~llqKBvEsWtCLipn-6NU6lS*z!0?q%LuZ` zfHOI8zNvW#VMcvcqORCUwHfTjRhZ(SfMW7mXr#(WC59%nvHN&YpS%ynD4|NvBE(Mh z1$v(>e`o>#4fnOmTJ$k%we67Sun@?sW{Mz@nQ5|!6Yv@p2_FcBBbgC<(Bx%{M~J$j zAKX3O2v0vQ4on+f41k!3^<7gCRKi7eQ)3oX60;46QB-qzC&a#t)vmiR?R-_A`oIKTW`=-DixQ;j>%R-L(o6w*NyTScV*nS z>aG=%%6Y6BYba%HsF1EI1k~)m6;}PEgAs0hl}T2B#h%-&pr=B``#Ff~JOnwVWe{WfR{C5zsWtI&yi{Qs;x8 zi*JQAo}}*S5q+dFd>%5a6($Oop1&7k$?Q)=c2FBe@Pr559(?v z{SVnY%bw|>hKGx|DPZ7X_J;Rv(?c1_iV?&G1Dt(WC$lCfT8m{5qEcOeNR1hbdF5Dk z?wX_BEy}Mjn5VFlFZcE1b6~K4v9tY@4k(^na#~F>d8@+YmLa$T<@Mw$;Vdekj z^Qm+sIV64iwaQFXR+NrjD=>II5|bZC$X>dRTMj`!mSX$su_rIX&TWmOiwdn5D$DMR z7UK|$B1$&8G(GRQIs>S|uxA1=7;tS{N&TH>zB${4E$Vr6lx!~@=YTMT81pRpE&jWQ zy9@K{inRy>v}&|*(%&OJl$?RIj6u2FFnmwgrQ>t2Vd=Sb2E1r5s3WU<(w8y{kYLch zdH*B*Z+=RvBxS~x*;r3H*YwE0h+8m5{@KaA1k{-S|Z3Cnn`Jv@Yb<<)HGNfm=YCI#AKuXqp!d$cNoQr5xS{@cW9&Zf@)}%jKX9G4J;e! zX(wpUiAn2v5mHDncEoX8UzymmH=`qhMG9=cF-D;Q24RUFv^k@J+I|QMKCJ_E6yBOu z(C9pbDF->;5X zNunhB_(O;+U!8CDGGut31hbg%2570z9|zlwF<0w-@b>$oyCY9$p-F@Y?P7+RA12ue zE0u||tiFEZm!S)8@D2X!n|$c9-$IvZA3c{gFXP`mV@i?Vs!`s=obKt0j$C6T!FV~J z9k#}#j^0oxMj?~1(NZga?pDOrng4Ls((`sofoKHZb5TbioD<=mh+e>~MZF5$Z?h`S zfFigd;|xIZL2(uAF+%W(fJRQUst&5C;tEJGuknXLWF1`g-TbChJ z&Xy6e5lb7R9EJ>Y!Zg(S%6!tO z_I2j1Q+lxX5gH#wq|hFEhFrma`xXXzyP-5%wPL~SepiPM;s<)VBK{S8jh2in@F6){ zcb*iP(xmL`tYgjObd2|TX>FnTm?^)_3YoR=djd*DwKx$xzrInb0>po8Yy;>fJ;!Xq zGQ<|`0ARVV?wgM2$uk2FKu9k z`GDzIVS$M|f4Hb-jj2~qr2Vy77e9E5wtlrHYNXxmdWY%AraJ(+kwOQBGD9j`U4DbZ z?Wi9<4TfmWR^YZL@E%pTB>Bk>0mcdKac5x~Jy@aT9FL<;h!qB5R!r(Q@v75#gN%p2 zBOLNxB#(=#P;Ei~$&XpvwCdDz+U=D+kIJDa$IU8n!)Qo9jAz3!nhd3@CT!>@)Wy}< zI>ZW1{HsDLBT~#EBrNZsLPILe#h#e(BuVUpeza`NBI_p(u{7#X6iqg7 z(DL0H1Yv^UXac$4iaigq%zT*tn@o;TRkcAoZBbRt+4$#aUH_bkg3;=M`XUjxh5C*B zoUM`jse{1fN&hig7P4_0fXGV2$kKC=n&A67gKnW)OODj;nf*Q;mr|)t`L?7dZkGdX z*LicfJ$rG(N}XVA1U++Gr2T9v`okM9#Tq-B7*6jvF;gA& zIss$G16TjHW{us!WW#$e9`0Xrdqx2*U(_M-(4RVf%{^+ZVtnvs8DAQ zp4=5U(Z|pQnHRbYvFqNo@~M?mf5Q@v7RnKyk1(n>?EEYP!WTNbBWR^4vgLU62utLZ z)u-Ls&%6tuNy#TMLow_)2s|0k^mk*g0E!9v$Nov_WPDyLsit0Tg7h7yxo!te>8;%U zdnOWAN7=TizfoNGmS{G8p;GP)BjN?`1cxH}&KC;%RUFgfUIk+!GOlq^5MQGm6LoPr z2QW$ql7z|!lzkQW9X^SepNX@o)`j#?=_HR?3T*p@M_bnCU?qLOW~A3l;$y~Pn`OqO zXO0(cN$SP6NUW62S4&nh<>4{^TqdQ%!c_lZOPBN0FiCahtmdBzW_@IDYSw&rm z6V+`df7Gl)kxezQUS-9E?T41#YQC40n8uNU2h>Rz%d6ckxGJbbpEu?)0he~-n}ct& z*g<(?=AgU}zRNISzT_?MY5N#1l+h*a6c!oTgsizDTF83OlvlcuTK9lTU$Tz2 z82Y~~MUqV*W4BDKysSQ3NrFKL-u@?w>f@&PBkFdJNB#pOOF& z#2^6ay$*1Zb#Ub7X^}dOJH0XCr*4nRQUkJdt>(rEqtP0bXsAR0t^{^fEMFilZBv5x2 zb|4)vo(TJvHkiA=Mkyu)>jF$@u@OnS<-P*^8KHG~N@dXF<=UEO;Kc*_v1&G@H56?QN{yvI9 zOOSsQc|Z2;t%AlLbT^5*k4F+W_6LXMAcYJrJ+Vw}$ZjE-MX01p(b#Jh8-fVynL_8; z5OW(AAU7Zkzw|}z))Yj}7UrugKW3SGyfCKTXT(DIy}q5etHpo@5iD9=+8}{dZd`1` zGliR8Ue35V{Za24o7(u0v6vVUd7T7va5N|pI=1~{@FIRw2X8|7?THJJd1F;m7i)m> zjJR*UD)O#}#^;E7vDF6K+ljce`%0)Fp9dV)x_v}&ff);E?fJ?orgcue*0W2e|GKVT46;OdimOEXsWV2!^YC#&Bwj0 z^;dmV^3Bs71MV|DtAEkHJ;BE1p}F`E&M+E6BU+gz7QD?|BpwhxbBAOtQ$<+(q3wO< z=R^1A*yE7Z#^yiQM``*sV(g{=JiPV442Yn2XPAz@bLezYPBM}Z0SJQ)a}?ztTb&-X zw~6!y3g~s^?3<)xd7HOcfUe?-Kp_?1< zCxZaOgh@oipZvLvtu{bU_7+ShHZrnrO#YD3(>+2GfjZrs6T4pYO@?XZ?)6P@$ zBrrc1hVKD%!o6>Dwtl;xaq@QVYt=~s(STj;Kd-Id3>9T$;HaRr-MIza)V^!Cro~xS zEh1Y{%1~KB50^+s7i)RDFsJG%cx^WpdqCHPxtjYViKHa!gUpsc=O1g)?~m^x=fKl5 z@;^|lLZ}9hn^*p*ssiQ0yD1N3@!`AN)P>iLR-|j22w?WV4-FT?2aJ&ypW_KXni@@& zE(r*kT*7vVAHkc4lqM@eNDNGLB99rLpqyT)IP83P79|_^<)l(JE7V$HIxcg>Dktt9 zcMzyI7ikGjJlXoA;TSBj$t;7qCmJNL|EaM1t6Du zWIwS-xUrxk-MOPB$ zIrZPJ zvA~l)zY|=@O6bW`sd_2ev`xl5_(_dp1vA=7yg3dVaG90}5~<4+FY%hx(Ta!==cY)t z81m;$pMrBtk?-q-_@oo1=)hCleC7ac>65}rn;i(rS{BsAV}G1g@T^F%jGZK<8A*+c zZEH~?fX%%cI{xz2R5&+&dGwohEmv96mJdI%6P{spK#Ogx$mzH-2?rAFghAr1=7yCS>H$e5w-OynVGXI$#p4DnvEO z{N6%jV|4|d_*2Z*G41P)cM|%NiO67-Ns?gw5JrqAjT8Cv9u9=|7(<#r343)(UX7EA zot{JY+=Cg3){Z<+=j$J%-#9pIWmbrKf^j}?0+eIz!baSJWdh3<3kYDD-x z!NK{(+8bHD!shoj#P)KS6aBrmjHB`+$Z3@@G@B4CDqy67y%Ou=CS*UZKP-=h~>*d2YVZkYVNi3mLUt-swSc$Bby#`$Yu%lpm7rxXE+gr`CSbV&BmtlW= zcN+qk@li8pETJBXgMuK*?QK`30Wv6wP;8 zH*G5h$7qjjRx5%3{E6~sER}y$apAC$-8-2wu(aW3R9TZF<=i#QEpM1W)6VD`#*rwW z7NPmYj^pO|iRd3kI`N9%?{2d2Te-w)BI^&$s(#Sp`p+KBzZ)WJ<@HfjjWIW215=nF z>#Laz@$$RCtBxUp99AqO>OXZoUX#vWMiG%3=-udv3yvONbt7#FlF}W>0)H{TlnH*T z^sV4q4b>keFAoNLPDpY_Z{j&lLK{#{i@m|_ovdJauck)wlp42yNo9a7)OV&wO{Bec zykvqxQuCHvSe>|HFBfWM-F5Jhhs#qoQi0v&Ql})=={nyF_nP7l#kIm#%c{)-U5BFI&N-T@AhyA z8P}WMvc1uFYj{rJ6`MXHtBj=GSu#Ks z6%i~uH{U%V1@&v?F%@?*%FS8N=1r)j&qaSf75v+X?Ij=oni9GY7L`P>XSwFK4_P~< zO)8HG{ej_|L%37AAu|#nW;;5}^dAk;y>5OckcbO*WRZP@m$W2ZW*-S2W6e6Ue!dUr zS+$0M4klHWDbB8prgUX>m1PsznH9^AOd~X!KYyeXVoj0Jd7{ZH5}wHF!Ca>|ha0tX# zLp(PU8>P_YSe^KqV{G~+)nTE*Fy-w^zCl@-BQZ^6{RxIBMDMlz{I>X%S(xJ&(U(eN zH#F=2N(Yx~;fa+3wq=!uICWt&2YAA)a zZHh#uf7k8z{LeR}qlh~{r#<-BL%+i!B?Ok2SxJ=Mmhno_hDR=Gst{YT%)j?WnFG*? zP1aDoMOUQJSUxCGQ8>10I3!28g2+PnvqA!!so;B)N(iG%fkl~(W}&=a3>@eUPho>} zI20g)3ZOGM0OJEpXhBerh6>PMP5JvsyI;#N6%FF{CLt7(@YG5XH47x{9G>^l)oxrN z4m8|@tbIM*(aW2vh}cXlgoLsI7zRt%~aUpM)U(VDk2ymC_|{s*ID{=*Ov3|#wpFEO!G1Wl5zFB+Sj=reIsm>gXtu~EA#_G-`Lk}C|&0e zKihpP?r>h}XX}H{En76p6t4PAxI=T~y1 z@h{TWXzHE+=%Qr>RkVndQbayh?p|2j?5$xRRE?vQFXQ=j0qrYgEMp@^K|(-D0$#(w zzh53y{Gq&}ua8fQDM6M!CfFLgyXg!V`>Qm%?=Gq0*~3vjw6G<{WHXv zS^_^2RQm1JmqqOUFgRbge5^_GL$k4Qu;~%!YnDOz(GEL0Rja7Pg)mV&wihMGwhg3C z3}w@e^`&np+5HUJgOfxk7{jLv-djL38Ci8eUL^HgQ#DipP4r~xz&8e(C)hb<`j;33 zK~}vr!&y1kZU#i3F<1BMq5OIv_iN^zP8Uo)klpPz%YyE-3XpRaTLo#9yzt=dV5!aG_ zGMZuuJvyt^vZ)RPPd3(!dk`eLLnIH zt25;UMBU{vKhtyA;)mOHI0Fwe)OuVhVNm?CYA+jV;f#Woa`{dKo~G(zmy*RiYxDA64>Z6-OEGxvLy~(fHXXP02XqUT;P_Cf&uL zXD7BqSRP3H?GKsll^gJ_Ey(y#pOQSopTuBdO~80zjqpgegNoq3m4ivpB{*7OB$l76 z>A%a3IDO@!hDB`jLt(<;{HYy3j)v^kU;=}r$`n*v(@|KEB35(*viJqN`q_@}4ng(t z*K%BRKNpS-?^YvY%X?O5X$ntJ#ys9y>+q})NjmF$()%;;-r@sGza<(MHwn1DTU4Jl zxjN?jm+>$#fxQ%#AmRU%)xmD@aP>lM3zo@K?N_ z9B|1mm_;fR)TGj6Nc5yA0;dW>+p$4{?9Pf)eNd>Y_vfgLU*AWS7UsHA9}UShYWKDY zUQs{KLy!5+l{dNWRn&r4agK|dr8N(bC7P<{ZFgJviYlJjsnUj!q2G&0;QmK<4-5I@ zqr(i%kDra0;C`L+pn3JOJ3tRY7+}!s40ZfP6OUL-iujQlY~)@mFR90?_imq(bdA{= zbFF9o^Y0!_F2;@ZPl0)_35rRI91!XuX()<>XhXK-gDDv25R&--ye&aAnk<0L;@22pV9b>leMfr;CjV>jKd^ENARk9JCsFyQl?zZUlBbP z2$aJ}WPHcH@3V}JZ>h67$4E_h&6ReB21ml+ND})raeIm18~9$xy(%+$unz3|i zNHqF`w2em3t4$_htcIV(t}OQdjN8`Owbpch_7~mu#O|=F`MxIf5SKgRBuuI!eDU;* zm+H{Tv8VyhQhoJ>3O=lCWd;Ym0whi%w?LZ9_OHTevHt`-G$^o@1$2P zy_aDr^c%lu9I(MxT?`XPv#$4c-KJvKo1$1e>4T**qi!cxZ?!NQWWOzrJTW_oK7*hF zps3Gm(i4tPqF}?$zn|GH+yA}Ucv_rB@K1hmMz2v4A`?cc*w;A6?Rs(!5=mxs_w+Y6 zO0KO_@32CXIerY}2(EH{7y8Y?%Zz-pk;mbAm8%vbV7nF-2}$I;N*>&rAn4E$%Mc(^ntnWXrE;fd@cN!GIU zYYhGBC(rB&ugYKKv*k`%9p`|amp`2Uepoe0EC~J)kPDWR)@!bMd&3HCNihiCl;E{_ zj*-EUVZ2f=f#m7jmrmz~T^qDv=bvK!UFUAu*UPzA8{guDK9LnG#F{pw5C5tS7|ltb zD#sKd@ZvXQ{No-bt|~%R;rvT9Lv)1z)3cz~#f#6s{57eiYIpQ2<#uJdQ>K9mSBR5M zOtV^u$CorZh1MWgo<4-{DMRVrq5!UZ(W{zs+UZ$RX`QYyrLQnFNmEgY` z-y2G&>5VM@rqJb=kMbKVAMjG4Cc3y%s9l5>A)$Ll4CMCW!AD&r+-@?~&HwHc69{=; z8_1RM@~^svi4i=?u2x}x^psEjo2=cnyybcg$%HVlAg;2@6xvqSGKQyV)xSTRq~*XF z%vU_8Zp?OO_@i5=)>t(5>Idd;t>%t z$@ZuG5~0NvH`adQ4S))gWfH2IbMHRqe;=0sTKAr3!ubBtm@^7?JQ!#k%YEX*bvKaf zaj#itS==Pr#Sav2YZnV|_(vw$lXVda`sw>fy`i>@b@fs@gA28S^L{AmxY)`qz`REU0mbn{LMZUY?_5G(51x`3l{ruVJyx91! zdQD6r*x#{L$~;^6(C8IZL7$Ns*AQpK1;-Mf|8G2EM2Pd|_LK3GzWOJL5L6G0G{mwG zsjRJnP*)&3*@Yvu$aem{hntL#zf$7y^J?CmkJOR>@Mff9Ol`bxe*|X0B!*G`14|Xc zoP$lEJRtOc0b(AV;iStjqrt=^Jvs)cVaS+ka2uB({#9%X-ZTuY8%=tq^wJB_Yf`C~ z)?=*ub0vXg?;znkxwjQ_uhjoeUFpIRB6Sj#l~sTBi?7}9!2y;Q&nzu1D*�<&}G` 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 Date: Thu, 9 Sep 2010 00:53:01 +0200 Subject: [PATCH 063/164] Updates and fixes to start up and updating process. *Should* fix some of the crashes hopefully... Updated installer with more uninstallation infos. --- Installer/script.nsi | 13 ++++++-- Installer/update.xml | 6 ++++ OnTopReplica/AboutForm.Designer.cs | 1 + OnTopReplica/AboutForm.cs | 1 - OnTopReplica/EnumerationExtensions.cs | 3 ++ OnTopReplica/MainForm.cs | 18 +++++++++++ OnTopReplica/Program.cs | 21 ------------- OnTopReplica/Properties/AssemblyInfo.cs | 4 +-- OnTopReplica/Update/UpdateManager.cs | 41 ++++++++++++------------- 9 files changed, 59 insertions(+), 49 deletions(-) create mode 100644 Installer/update.xml diff --git a/Installer/script.nsi b/Installer/script.nsi index dce754e..2a5aa56 100644 --- a/Installer/script.nsi +++ b/Installer/script.nsi @@ -14,6 +14,7 @@ RequestExecutionLevel user !define START_LINK_RUN "$STARTMENU\Programs\OnTopReplica\OnTopReplica.lnk" !define START_LINK_UNINSTALLER "$STARTMENU\Programs\OnTopReplica\Uninstall OnTopReplica.lnk" !define UNINSTALLER_NAME "OnTopReplica-Uninstall.exe" +!define WEBSITE_LINK "http://www.klopfenstein.net/lorenz.aspx/ontopreplica" # GRAPHICS !define MUI_ICON "..\OnTopReplica\Assets\icon-new.ico" @@ -51,12 +52,18 @@ RequestExecutionLevel user Function RegisterApplication ;Register uninstaller into Add/Remove panel (for local user only) WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayName" "OnTopReplica" - WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayIcon" "$INSTDIR\${UNINSTALLER_NAME}" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayIcon" "$\"$INSTDIR\OnTopReplica.exe$\"" WriteRegStr HKCU "${REG_UNINSTALL}" "Publisher" "Lorenz Cuno Klopfenstein" - WriteRegStr HKCU "${REG_UNINSTALL}" "InstallSource" "$EXEDIR\" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayVersion" "3.1.0.0" + WriteRegDWord HKCU "${REG_UNINSTALL}" "EstimatedSize" 800 ;KB + WriteRegStr HKCU "${REG_UNINSTALL}" "HelpLink" "${WEBSITE_LINK}" + WriteRegStr HKCU "${REG_UNINSTALL}" "URLInfoAbout" "${WEBSITE_LINK}" + WriteRegStr HKCU "${REG_UNINSTALL}" "InstallLocation" "$\"$INSTDIR$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "InstallSource" "$\"$EXEDIR$\"" WriteRegDWord HKCU "${REG_UNINSTALL}" "NoModify" 1 WriteRegDWord HKCU "${REG_UNINSTALL}" "NoRepair" 1 - WriteRegStr HKCU "${REG_UNINSTALL}" "UninstallString" "$INSTDIR\${UNINSTALLER_NAME}" + WriteRegStr HKCU "${REG_UNINSTALL}" "UninstallString" "$\"$INSTDIR\${UNINSTALLER_NAME}$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "Comments" "Uninstalls OnTopReplica." ;Links SetShellVarContext current diff --git a/Installer/update.xml b/Installer/update.xml new file mode 100644 index 0000000..dd2bd9d --- /dev/null +++ b/Installer/update.xml @@ -0,0 +1,6 @@ + + + 3.1.0.0 + 2010-09-09T00:00:00Z + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + \ No newline at end of file diff --git a/OnTopReplica/AboutForm.Designer.cs b/OnTopReplica/AboutForm.Designer.cs index ce5ffd9..5c3fb42 100644 --- a/OnTopReplica/AboutForm.Designer.cs +++ b/OnTopReplica/AboutForm.Designer.cs @@ -100,6 +100,7 @@ this.progressBar1.Location = new System.Drawing.Point(235, 79); this.progressBar1.Name = "progressBar1"; this.progressBar1.Size = new System.Drawing.Size(102, 23); + this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee; this.progressBar1.TabIndex = 3; this.progressBar1.Visible = false; // diff --git a/OnTopReplica/AboutForm.cs b/OnTopReplica/AboutForm.cs index f5c2490..9121ad0 100644 --- a/OnTopReplica/AboutForm.cs +++ b/OnTopReplica/AboutForm.cs @@ -127,7 +127,6 @@ namespace OnTopReplica { //Update GUI buttonUpdate.Visible = false; progressBar1.Visible = true; - progressBar1.Value = 50; _updateManager.CheckForUpdate(); } diff --git a/OnTopReplica/EnumerationExtensions.cs b/OnTopReplica/EnumerationExtensions.cs index 20c3478..a7cc169 100644 --- a/OnTopReplica/EnumerationExtensions.cs +++ b/OnTopReplica/EnumerationExtensions.cs @@ -4,6 +4,9 @@ using System.Text; namespace OnTopReplica { + /// + /// Poor man's LINQ. + /// static class EnumerationExtensions { public static bool Contains(IEnumerable collection, T value){ diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index b17df10..ddaa736 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -21,6 +21,7 @@ namespace OnTopReplica { //Managers WindowManager _windowManager = new WindowManager(); MessagePumpManager _msgPumpManager = new MessagePumpManager(); + UpdateManager _updateManager = new UpdateManager(); FormBorderStyle _defaultBorderStyle; @@ -72,6 +73,19 @@ namespace OnTopReplica { this.KeyPreview = true; } + delegate void GuiAction(); + + void UpdateManager_CheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + this.Invoke(new GuiAction(() => { + if (e.Success) { + _updateManager.HandleUpdateCheck(this, e.Information, false); + } + else { + Console.WriteLine("Failed to check for updates: {0}", e.Error); + } + })); + } + #region Event override protected override CreateParams CreateParams { @@ -92,6 +106,10 @@ namespace OnTopReplica { //Glassify window GlassEnabled = true; + + //Check for updates + _updateManager.UpdateCheckCompleted += new EventHandler(UpdateManager_CheckCompleted); + _updateManager.CheckForUpdate(); } protected override void OnClosing(CancelEventArgs e) { diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs index 7a2e645..86abd11 100644 --- a/OnTopReplica/Program.cs +++ b/OnTopReplica/Program.cs @@ -44,11 +44,6 @@ namespace OnTopReplica { Settings.Default.MustUpdate = false; } - //Start update request - _updateManager = new UpdateManager(); - _updateManager.UpdateCheckCompleted += new EventHandler(UpdateCheckCompleted); - _updateManager.CheckForUpdate(); - bool mustReloadForm = false; Point reloadLocation = new Point(); Size reloadSize = new Size(); @@ -78,22 +73,6 @@ namespace OnTopReplica { Settings.Default.Save(); } - delegate void GuiAction(); - - static void UpdateCheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { - //Budy waiting for form (ugly) - while (_mainForm == null || !_mainForm.IsHandleCreated) ; - - _mainForm.Invoke(new GuiAction(() => { - if (e.Success) { - _updateManager.HandleUpdateCheck(_mainForm, e.Information, false); - } - else { - Console.Error.WriteLine("Failed to check for updates: {0}", e.Error); - } - })); - } - /// /// Forces a global language change. As soon as the main form is closed, the change is performed /// and the form is reopened using the new language. diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs index 7a7740f..46e3969 100644 --- a/OnTopReplica/Properties/AssemblyInfo.cs +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -33,5 +33,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.0.2.0")] -[assembly: AssemblyFileVersion("3.0.2.0")] +[assembly: AssemblyVersion("3.1.0.0")] +[assembly: AssemblyFileVersion("3.1.0.0")] diff --git a/OnTopReplica/Update/UpdateManager.cs b/OnTopReplica/Update/UpdateManager.cs index b114b83..bb2a5b5 100644 --- a/OnTopReplica/Update/UpdateManager.cs +++ b/OnTopReplica/Update/UpdateManager.cs @@ -8,6 +8,7 @@ using System.Reflection; using VistaControls.TaskDialog; using System.Diagnostics; using System.Windows.Forms; +using System.Threading; namespace OnTopReplica.Update { @@ -16,29 +17,25 @@ namespace OnTopReplica.Update { const string UpdateManifestUrl = "http://www.klopfenstein.net/public/Uploads/ontopreplica/update.xml"; public void CheckForUpdate() { - //Build web request - var request = (HttpWebRequest)HttpWebRequest.Create(UpdateManifestUrl); - request.AllowAutoRedirect = true; - request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; - request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache); + ThreadPool.QueueUserWorkItem(new WaitCallback(o => { + //Build web request + var request = (HttpWebRequest)HttpWebRequest.Create(UpdateManifestUrl); + request.AllowAutoRedirect = true; + request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; + request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache); - //Begin async request... - request.BeginGetResponse(new AsyncCallback(EndCheckForUpdate), request); - } + try { + //Begin request + var response = request.GetResponse(); + var info = UpdateInformation.Deserialize(response.GetResponseStream()); - private void EndCheckForUpdate(IAsyncResult result) { - HttpWebRequest request = (HttpWebRequest)result.AsyncState; - - try { - var response = request.EndGetResponse(result); - var info = UpdateInformation.Deserialize(response.GetResponseStream()); - - OnUpdateCheckSuccess(info); - } - catch (Exception ex) { - OnUpdateCheckError(ex); - return; - } + OnUpdateCheckSuccess(info); + } + catch (Exception ex) { + OnUpdateCheckError(ex); + return; + } + })); } public event EventHandler UpdateCheckCompleted; @@ -67,7 +64,7 @@ namespace OnTopReplica.Update { /// Handles the results of an update check. Must be called from main GUI thread. /// /// The retrieved update information. - /// Determines if the lack of updated should be notified to the user. + /// Determines if the lack of updates should be notified to the user. public void HandleUpdateCheck(Form parent, UpdateInformation information, bool verbose) { if (information == null) return; From 042649a1b229a3d57ab1832eeb3a518d0bf9c649 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Fri, 17 Sep 2010 19:43:25 +0200 Subject: [PATCH 064/164] Fixed bug received via mail (Form.Invoke method called before the window handle is created). --- OnTopReplica/MainForm.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index ddaa736..79c9af4 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -106,6 +106,10 @@ namespace OnTopReplica { //Glassify window GlassEnabled = true; + } + + protected override void OnHandleCreated(EventArgs e) { + base.OnHandleCreated(e); //Check for updates _updateManager.UpdateCheckCompleted += new EventHandler(UpdateManager_CheckCompleted); From 1c209b46a5a6e0f6c250d7f9185d1eb8a8bbfd8a Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sun, 19 Sep 2010 23:47:47 +0200 Subject: [PATCH 065/164] Added program version to crash dump. --- .hgignore | 7 + Installer/header.bmp | Bin 0 -> 25818 bytes Installer/script.nsi | 112 ++ Installer/update.xml | 6 + Lib/VistaControls.dll | Bin 0 -> 95744 bytes Lib/VistaControls.pdb | Bin 0 -> 243200 bytes Lib/VistaControls.xml | 1022 +++++++++++++ OnTopReplica.sln | 20 + OnTopReplica/AboutForm.Designer.cs | 236 +++ OnTopReplica/AboutForm.cs | 153 ++ OnTopReplica/AboutForm.resx | 309 ++++ OnTopReplica/AspectRatioForm.cs | 214 +++ OnTopReplica/Assets/25.png | Bin 0 -> 639 bytes OnTopReplica/Assets/arrow_down.png | Bin 0 -> 218 bytes OnTopReplica/Assets/arrow_up.png | Bin 0 -> 209 bytes OnTopReplica/Assets/back.png | Bin 0 -> 150765 bytes OnTopReplica/Assets/clickforwarding.png | Bin 0 -> 951 bytes OnTopReplica/Assets/component.png | Bin 0 -> 731 bytes OnTopReplica/Assets/desktop.png | Bin 0 -> 794 bytes OnTopReplica/Assets/empty-window.ico | Bin 0 -> 10806 bytes OnTopReplica/Assets/flag_czech.png | Bin 0 -> 241 bytes OnTopReplica/Assets/flag_danish.png | Bin 0 -> 347 bytes OnTopReplica/Assets/flag_ita.png | Bin 0 -> 209 bytes OnTopReplica/Assets/flag_usa.png | Bin 0 -> 355 bytes OnTopReplica/Assets/flags.pdn | Bin 0 -> 5422 bytes OnTopReplica/Assets/fullscreen.png | Bin 0 -> 396 bytes OnTopReplica/Assets/groupmode.png | Bin 0 -> 837 bytes OnTopReplica/Assets/icon-new-red.ico | Bin 0 -> 86918 bytes OnTopReplica/Assets/icon-new.ico | Bin 0 -> 86918 bytes OnTopReplica/Assets/icon.ico | Bin 0 -> 7358 bytes OnTopReplica/Assets/icon.png | Bin 0 -> 7335 bytes OnTopReplica/Assets/list.png | Bin 0 -> 681 bytes OnTopReplica/Assets/newicon.png | Bin 0 -> 770 bytes OnTopReplica/Assets/pos_bottomleft.pdn | Bin 0 -> 6696 bytes OnTopReplica/Assets/pos_bottomleft.png | Bin 0 -> 267 bytes OnTopReplica/Assets/pos_bottomright.png | Bin 0 -> 267 bytes OnTopReplica/Assets/pos_null.png | Bin 0 -> 250 bytes OnTopReplica/Assets/pos_topleft.png | Bin 0 -> 280 bytes OnTopReplica/Assets/pos_topright.png | Bin 0 -> 278 bytes OnTopReplica/Assets/reduce.png | Bin 0 -> 259 bytes OnTopReplica/Assets/regions.png | Bin 0 -> 296 bytes OnTopReplica/Assets/regions_new.png | Bin 0 -> 207 bytes OnTopReplica/Assets/screenshot-icon.ico | Bin 0 -> 99678 bytes OnTopReplica/Assets/thumbs_up.png | Bin 0 -> 2318 bytes OnTopReplica/Assets/window16.png | Bin 0 -> 862 bytes OnTopReplica/Assets/window_border16.png | Bin 0 -> 683 bytes OnTopReplica/Assets/window_multiple.pdn | Bin 0 -> 8806 bytes OnTopReplica/Assets/window_multiple16.ico | Bin 0 -> 894 bytes OnTopReplica/Assets/window_multiple16.png | Bin 0 -> 1012 bytes OnTopReplica/Assets/window_multiple48.png | Bin 0 -> 1736 bytes OnTopReplica/Assets/window_opacity16.png | Bin 0 -> 894 bytes OnTopReplica/Assets/window_opacity_new.png | Bin 0 -> 810 bytes OnTopReplica/Assets/window_switch.pdn | Bin 0 -> 10464 bytes OnTopReplica/Assets/window_switch.png | Bin 0 -> 456 bytes OnTopReplica/Assets/windows.png | Bin 0 -> 28010 bytes OnTopReplica/Assets/x-oblique.png | Bin 0 -> 3459 bytes OnTopReplica/Assets/xiao_add.png | Bin 0 -> 753 bytes OnTopReplica/Assets/xiao_arrow.png | Bin 0 -> 437 bytes OnTopReplica/Assets/xiao_delete.png | Bin 0 -> 715 bytes OnTopReplica/Assets/xiao_down.png | Bin 0 -> 761 bytes OnTopReplica/Assets/xiao_help.png | Bin 0 -> 752 bytes OnTopReplica/Assets/xiao_ok.png | Bin 0 -> 752 bytes OnTopReplica/Assets/xiao_up.png | Bin 0 -> 744 bytes OnTopReplica/Assets/xiao_wrench.png | Bin 0 -> 459 bytes OnTopReplica/CloneClickEventArgs.cs | 29 + OnTopReplica/CloseRequestEventArgs.cs | 13 + OnTopReplica/EnumerationExtensions.cs | 22 + OnTopReplica/FocusedTextBox.cs | 69 + OnTopReplica/IMessagePumpProcessor.cs | 15 + OnTopReplica/MainForm.Designer.cs | 573 +++++++ OnTopReplica/MainForm.cs | 537 +++++++ OnTopReplica/MainForm.resx | 324 ++++ OnTopReplica/MainForm_ChildForms.cs | 105 ++ OnTopReplica/MainForm_Gui.cs | 128 ++ OnTopReplica/MainForm_MenuEvents.cs | 234 +++ OnTopReplica/MessagePumpManager.cs | 85 ++ .../BaseMessagePumpProcessor.cs | 39 + .../GroupSwitchManager.cs | 143 ++ .../MessagePumpProcessors/HotKeyManager.cs | 50 + .../MessagePumpProcessors/TitleSetter.cs | 41 + .../MessagePumpProcessors/WindowKeeper.cs | 39 + OnTopReplica/Native/CommonControls.cs | 30 + OnTopReplica/Native/ErrorMethods.cs | 37 + OnTopReplica/Native/HT.cs | 14 + OnTopReplica/Native/HookMethods.cs | 50 + OnTopReplica/Native/HotKeyMethods.cs | 32 + OnTopReplica/Native/ITaskBarList.cs | 45 + OnTopReplica/Native/MK.cs | 14 + OnTopReplica/Native/MessagingMethods.cs | 34 + OnTopReplica/Native/Point.cs | 36 + OnTopReplica/Native/Rectangle.cs | 51 + OnTopReplica/Native/WM.cs | 28 + OnTopReplica/Native/WMSZ.cs | 15 + OnTopReplica/Native/WindowManagerMethods.cs | 88 ++ OnTopReplica/Native/WindowMethods.cs | 127 ++ OnTopReplica/Native/WindowsSevenMethods.cs | 20 + OnTopReplica/NativeToolStripRenderer.cs | 587 ++++++++ OnTopReplica/NotificationIcon.cs | 84 ++ OnTopReplica/OnTopReplica.csproj | 424 ++++++ OnTopReplica/OnTopReplica.csproj.user | 18 + OnTopReplica/OnTopReplica.exe.manifest | 22 + OnTopReplica/PlatformSupport.cs | 109 ++ OnTopReplica/Platforms/Other.cs | 16 + OnTopReplica/Platforms/WindowsSeven.cs | 50 + OnTopReplica/Platforms/WindowsVista.cs | 44 + OnTopReplica/Platforms/WindowsXp.cs | 15 + OnTopReplica/Program.cs | 120 ++ OnTopReplica/Properties/AssemblyInfo.cs | 37 + OnTopReplica/Properties/Resources.Designer.cs | 315 ++++ OnTopReplica/Properties/Resources.resx | 230 +++ OnTopReplica/Properties/Settings.Designer.cs | 157 ++ OnTopReplica/Properties/Settings.settings | 39 + OnTopReplica/Properties/app.manifest | 26 + OnTopReplica/SidePanel.cs | 49 + .../SidePanels/GroupSwitchPanel.Designer.cs | 129 ++ OnTopReplica/SidePanels/GroupSwitchPanel.cs | 73 + OnTopReplica/SidePanels/GroupSwitchPanel.resx | 120 ++ .../SidePanels/RegionPanel.Designer.cs | 314 ++++ OnTopReplica/SidePanels/RegionPanel.cs | 217 +++ OnTopReplica/SidePanels/RegionPanel.resx | 120 ++ OnTopReplica/StoredRegion.cs | 63 + OnTopReplica/StoredRegionArray.cs | 39 + OnTopReplica/StoredRegionComparer.cs | 28 + OnTopReplica/Strings.Designer.cs | 1324 +++++++++++++++++ OnTopReplica/Strings.cs.resx | 456 ++++++ OnTopReplica/Strings.da.resx | 451 ++++++ OnTopReplica/Strings.de.resx | 15 + OnTopReplica/Strings.es.resx | 90 ++ OnTopReplica/Strings.fi.resx | 15 + OnTopReplica/Strings.it.resx | 487 ++++++ OnTopReplica/Strings.no.resx | 15 + OnTopReplica/Strings.pt.resx | 15 + OnTopReplica/Strings.resx | 487 ++++++ OnTopReplica/Strings.ru.resx | 15 + OnTopReplica/ThumbnailPanel.cs | 446 ++++++ .../Update/UpdateCheckCompletedEventArgs.cs | 15 + OnTopReplica/Update/UpdateInformation.cs | 72 + OnTopReplica/Update/UpdateManager.cs | 106 ++ OnTopReplica/Win32Helper.cs | 122 ++ OnTopReplica/WindowHandle.cs | 85 ++ OnTopReplica/WindowListHelper.cs | 111 ++ OnTopReplica/WindowManager.cs | 104 ++ OnTopReplica/app.config | 42 + OriginalAssets/icon.pdn | Bin 0 -> 30322 bytes OriginalAssets/new-icon.png | Bin 0 -> 24269 bytes 145 files changed, 13064 insertions(+) create mode 100644 .hgignore create mode 100644 Installer/header.bmp create mode 100644 Installer/script.nsi create mode 100644 Installer/update.xml create mode 100644 Lib/VistaControls.dll create mode 100644 Lib/VistaControls.pdb create mode 100644 Lib/VistaControls.xml create mode 100644 OnTopReplica.sln create mode 100644 OnTopReplica/AboutForm.Designer.cs create mode 100644 OnTopReplica/AboutForm.cs create mode 100644 OnTopReplica/AboutForm.resx create mode 100644 OnTopReplica/AspectRatioForm.cs create mode 100644 OnTopReplica/Assets/25.png create mode 100644 OnTopReplica/Assets/arrow_down.png create mode 100644 OnTopReplica/Assets/arrow_up.png create mode 100644 OnTopReplica/Assets/back.png create mode 100644 OnTopReplica/Assets/clickforwarding.png create mode 100644 OnTopReplica/Assets/component.png create mode 100644 OnTopReplica/Assets/desktop.png create mode 100644 OnTopReplica/Assets/empty-window.ico create mode 100644 OnTopReplica/Assets/flag_czech.png create mode 100644 OnTopReplica/Assets/flag_danish.png create mode 100644 OnTopReplica/Assets/flag_ita.png create mode 100644 OnTopReplica/Assets/flag_usa.png create mode 100644 OnTopReplica/Assets/flags.pdn create mode 100644 OnTopReplica/Assets/fullscreen.png create mode 100644 OnTopReplica/Assets/groupmode.png create mode 100644 OnTopReplica/Assets/icon-new-red.ico create mode 100644 OnTopReplica/Assets/icon-new.ico create mode 100644 OnTopReplica/Assets/icon.ico create mode 100644 OnTopReplica/Assets/icon.png create mode 100644 OnTopReplica/Assets/list.png create mode 100644 OnTopReplica/Assets/newicon.png create mode 100644 OnTopReplica/Assets/pos_bottomleft.pdn create mode 100644 OnTopReplica/Assets/pos_bottomleft.png create mode 100644 OnTopReplica/Assets/pos_bottomright.png create mode 100644 OnTopReplica/Assets/pos_null.png create mode 100644 OnTopReplica/Assets/pos_topleft.png create mode 100644 OnTopReplica/Assets/pos_topright.png create mode 100644 OnTopReplica/Assets/reduce.png create mode 100644 OnTopReplica/Assets/regions.png create mode 100644 OnTopReplica/Assets/regions_new.png create mode 100644 OnTopReplica/Assets/screenshot-icon.ico create mode 100644 OnTopReplica/Assets/thumbs_up.png create mode 100644 OnTopReplica/Assets/window16.png create mode 100644 OnTopReplica/Assets/window_border16.png create mode 100644 OnTopReplica/Assets/window_multiple.pdn create mode 100644 OnTopReplica/Assets/window_multiple16.ico create mode 100644 OnTopReplica/Assets/window_multiple16.png create mode 100644 OnTopReplica/Assets/window_multiple48.png create mode 100644 OnTopReplica/Assets/window_opacity16.png create mode 100644 OnTopReplica/Assets/window_opacity_new.png create mode 100644 OnTopReplica/Assets/window_switch.pdn create mode 100644 OnTopReplica/Assets/window_switch.png create mode 100644 OnTopReplica/Assets/windows.png create mode 100644 OnTopReplica/Assets/x-oblique.png create mode 100644 OnTopReplica/Assets/xiao_add.png create mode 100644 OnTopReplica/Assets/xiao_arrow.png create mode 100644 OnTopReplica/Assets/xiao_delete.png create mode 100644 OnTopReplica/Assets/xiao_down.png create mode 100644 OnTopReplica/Assets/xiao_help.png create mode 100644 OnTopReplica/Assets/xiao_ok.png create mode 100644 OnTopReplica/Assets/xiao_up.png create mode 100644 OnTopReplica/Assets/xiao_wrench.png create mode 100644 OnTopReplica/CloneClickEventArgs.cs create mode 100644 OnTopReplica/CloseRequestEventArgs.cs create mode 100644 OnTopReplica/EnumerationExtensions.cs create mode 100644 OnTopReplica/FocusedTextBox.cs create mode 100644 OnTopReplica/IMessagePumpProcessor.cs create mode 100644 OnTopReplica/MainForm.Designer.cs create mode 100644 OnTopReplica/MainForm.cs create mode 100644 OnTopReplica/MainForm.resx create mode 100644 OnTopReplica/MainForm_ChildForms.cs create mode 100644 OnTopReplica/MainForm_Gui.cs create mode 100644 OnTopReplica/MainForm_MenuEvents.cs create mode 100644 OnTopReplica/MessagePumpManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs create mode 100644 OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/HotKeyManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/TitleSetter.cs create mode 100644 OnTopReplica/MessagePumpProcessors/WindowKeeper.cs create mode 100644 OnTopReplica/Native/CommonControls.cs create mode 100644 OnTopReplica/Native/ErrorMethods.cs create mode 100644 OnTopReplica/Native/HT.cs create mode 100644 OnTopReplica/Native/HookMethods.cs create mode 100644 OnTopReplica/Native/HotKeyMethods.cs create mode 100644 OnTopReplica/Native/ITaskBarList.cs create mode 100644 OnTopReplica/Native/MK.cs create mode 100644 OnTopReplica/Native/MessagingMethods.cs create mode 100644 OnTopReplica/Native/Point.cs create mode 100644 OnTopReplica/Native/Rectangle.cs create mode 100644 OnTopReplica/Native/WM.cs create mode 100644 OnTopReplica/Native/WMSZ.cs create mode 100644 OnTopReplica/Native/WindowManagerMethods.cs create mode 100644 OnTopReplica/Native/WindowMethods.cs create mode 100644 OnTopReplica/Native/WindowsSevenMethods.cs create mode 100644 OnTopReplica/NativeToolStripRenderer.cs create mode 100644 OnTopReplica/NotificationIcon.cs create mode 100644 OnTopReplica/OnTopReplica.csproj create mode 100644 OnTopReplica/OnTopReplica.csproj.user create mode 100644 OnTopReplica/OnTopReplica.exe.manifest create mode 100644 OnTopReplica/PlatformSupport.cs create mode 100644 OnTopReplica/Platforms/Other.cs create mode 100644 OnTopReplica/Platforms/WindowsSeven.cs create mode 100644 OnTopReplica/Platforms/WindowsVista.cs create mode 100644 OnTopReplica/Platforms/WindowsXp.cs create mode 100644 OnTopReplica/Program.cs create mode 100644 OnTopReplica/Properties/AssemblyInfo.cs create mode 100644 OnTopReplica/Properties/Resources.Designer.cs create mode 100644 OnTopReplica/Properties/Resources.resx create mode 100644 OnTopReplica/Properties/Settings.Designer.cs create mode 100644 OnTopReplica/Properties/Settings.settings create mode 100644 OnTopReplica/Properties/app.manifest create mode 100644 OnTopReplica/SidePanel.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.resx create mode 100644 OnTopReplica/SidePanels/RegionPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/RegionPanel.cs create mode 100644 OnTopReplica/SidePanels/RegionPanel.resx create mode 100644 OnTopReplica/StoredRegion.cs create mode 100644 OnTopReplica/StoredRegionArray.cs create mode 100644 OnTopReplica/StoredRegionComparer.cs create mode 100644 OnTopReplica/Strings.Designer.cs create mode 100644 OnTopReplica/Strings.cs.resx create mode 100644 OnTopReplica/Strings.da.resx create mode 100644 OnTopReplica/Strings.de.resx create mode 100644 OnTopReplica/Strings.es.resx create mode 100644 OnTopReplica/Strings.fi.resx create mode 100644 OnTopReplica/Strings.it.resx create mode 100644 OnTopReplica/Strings.no.resx create mode 100644 OnTopReplica/Strings.pt.resx create mode 100644 OnTopReplica/Strings.resx create mode 100644 OnTopReplica/Strings.ru.resx create mode 100644 OnTopReplica/ThumbnailPanel.cs create mode 100644 OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs create mode 100644 OnTopReplica/Update/UpdateInformation.cs create mode 100644 OnTopReplica/Update/UpdateManager.cs create mode 100644 OnTopReplica/Win32Helper.cs create mode 100644 OnTopReplica/WindowHandle.cs create mode 100644 OnTopReplica/WindowListHelper.cs create mode 100644 OnTopReplica/WindowManager.cs create mode 100644 OnTopReplica/app.config create mode 100644 OriginalAssets/icon.pdn create mode 100644 OriginalAssets/new-icon.png diff --git a/.hgignore b/.hgignore new file mode 100644 index 0000000..104a7be --- /dev/null +++ b/.hgignore @@ -0,0 +1,7 @@ +glob:OnTopReplica.suo +glob:bin/* +glob:obj/* +glob:publish/* +glob:OnTopReplica/Assets/Thumbs.db +glob:*.psd +glob:Installer/OnTopReplica-Setup.exe diff --git a/Installer/header.bmp b/Installer/header.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7326b9c94076c8120ed837e0ccc93af0066fe9d5 GIT binary patch literal 25818 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 KA>PL3{`nV$p^qy7 literal 0 HcmV?d00001 diff --git a/Installer/script.nsi b/Installer/script.nsi new file mode 100644 index 0000000..2a5aa56 --- /dev/null +++ b/Installer/script.nsi @@ -0,0 +1,112 @@ +# INCLUDES +!include MUI2.nsh ;Modern interface +!include LogicLib.nsh ;nsDialogs + +# INIT +Name "OnTopReplica" +InstallDir "$LOCALAPPDATA\OnTopReplica" +OutFile "OnTopReplica-Setup.exe" +RequestExecutionLevel user + +# REFS +!define REG_UNINSTALL "Software\Microsoft\Windows\CurrentVersion\Uninstall\OnTopReplica" +!define START_LINK_DIR "$STARTMENU\Programs\OnTopReplica" +!define START_LINK_RUN "$STARTMENU\Programs\OnTopReplica\OnTopReplica.lnk" +!define START_LINK_UNINSTALLER "$STARTMENU\Programs\OnTopReplica\Uninstall OnTopReplica.lnk" +!define UNINSTALLER_NAME "OnTopReplica-Uninstall.exe" +!define WEBSITE_LINK "http://www.klopfenstein.net/lorenz.aspx/ontopreplica" + +# GRAPHICS +!define MUI_ICON "..\OnTopReplica\Assets\icon-new.ico" +!define MUI_UNICON "..\OnTopReplica\Assets\icon-new-red.ico" +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_RIGHT +!define MUI_HEADERIMAGE_BITMAP "header.bmp" +!define MUI_HEADERIMAGE_UNBITMAP "header.bmp" +#!define MUI_WELCOMEFINISHPAGE_BITMAP "banner.bmp" +#!define MUI_UNWELCOMEFINISHPAGE_BITMAP "banner.bmp" + +# TEXT AND SETTINGS +!define MUI_PAGE_HEADER_TEXT "OnTopReplica" + +!define MUI_FINISHPAGE_RUN "$INSTDIR\OnTopReplica.exe" +;!define MUI_FINISHPAGE_RUN_TEXT "Run OnTopReplica now." + +;Do not skip to finish automatially +!define MUI_FINISHPAGE_NOAUTOCLOSE +!define MUI_UNFINISHPAGE_NOAUTOCLOSE + +# PAGE DEFINITIONS +!insertmacro MUI_PAGE_WELCOME +;!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +# LANGUAGES +!insertmacro MUI_LANGUAGE "English" + +# CALLBACKS +Function RegisterApplication + ;Register uninstaller into Add/Remove panel (for local user only) + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayName" "OnTopReplica" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayIcon" "$\"$INSTDIR\OnTopReplica.exe$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "Publisher" "Lorenz Cuno Klopfenstein" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayVersion" "3.1.0.0" + WriteRegDWord HKCU "${REG_UNINSTALL}" "EstimatedSize" 800 ;KB + WriteRegStr HKCU "${REG_UNINSTALL}" "HelpLink" "${WEBSITE_LINK}" + WriteRegStr HKCU "${REG_UNINSTALL}" "URLInfoAbout" "${WEBSITE_LINK}" + WriteRegStr HKCU "${REG_UNINSTALL}" "InstallLocation" "$\"$INSTDIR$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "InstallSource" "$\"$EXEDIR$\"" + WriteRegDWord HKCU "${REG_UNINSTALL}" "NoModify" 1 + WriteRegDWord HKCU "${REG_UNINSTALL}" "NoRepair" 1 + WriteRegStr HKCU "${REG_UNINSTALL}" "UninstallString" "$\"$INSTDIR\${UNINSTALLER_NAME}$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "Comments" "Uninstalls OnTopReplica." + + ;Links + SetShellVarContext current + CreateDirectory "${START_LINK_DIR}" + CreateShortCut "${START_LINK_RUN}" "$INSTDIR\OnTopReplica.exe" + CreateShortCut "${START_LINK_UNINSTALLER}" "$INSTDIR\${UNINSTALLER_NAME}" +FunctionEnd + +Function un.DeregisterApplication + ;Deregister uninstaller from Add/Remove panel + DeleteRegKey HKCU "${REG_UNINSTALL}" + + ;Start menu links + SetShellVarContext current + RMDir /r "${START_LINK_DIR}" +FunctionEnd + +# INSTALL SECTIONS +Section "!OnTopReplica" OnTopReplica + SectionIn RO + + SetOutPath $INSTDIR + SetOverwrite on + File "..\OnTopReplica\bin\Release\OnTopReplica.exe" + File "..\OnTopReplica\bin\Release\VistaControls.dll" + + ;Install localization files + SetOutPath "$INSTDIR\it" + File "..\OnTopReplica\bin\Release\it\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\cs" + File "..\OnTopReplica\bin\Release\cs\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\da" + File "..\OnTopReplica\bin\Release\da\OnTopReplica.resources.dll" + + ;Uninstaller + WriteUninstaller "$INSTDIR\${UNINSTALLER_NAME}" + Call RegisterApplication +SectionEnd + +Section "Uninstall" + ;Remove whole directory (no data is stored there anyway) + RMDir /r "$INSTDIR" + + ;Remove uninstaller + Call un.DeregisterApplication +SectionEnd diff --git a/Installer/update.xml b/Installer/update.xml new file mode 100644 index 0000000..dd2bd9d --- /dev/null +++ b/Installer/update.xml @@ -0,0 +1,6 @@ + + + 3.1.0.0 + 2010-09-09T00:00:00Z + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + \ No newline at end of file diff --git a/Lib/VistaControls.dll b/Lib/VistaControls.dll new file mode 100644 index 0000000000000000000000000000000000000000..2b197bd372971504c5976d1983ba21795541ac1d GIT binary patch literal 95744 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 N9o)_wbscR&005)FFoOU9 literal 0 HcmV?d00001 diff --git a/Lib/VistaControls.pdb b/Lib/VistaControls.pdb new file mode 100644 index 0000000000000000000000000000000000000000..3fb6e9f536b9812d966ba4ab23f3b6c654433455 GIT binary patch literal 243200 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�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 HPl5jhB3wyQ literal 0 HcmV?d00001 diff --git a/Lib/VistaControls.xml b/Lib/VistaControls.xml new file mode 100644 index 0000000..cf4c8fb --- /dev/null +++ b/Lib/VistaControls.xml @@ -0,0 +1,1022 @@ + + + + VistaControls + + + + Common Task Dialog buttons. OK is the default button. + + + Represents a custom button shown on a Task Dialog. + + + Instantiates a new custom button with an ID and a text. + Unique ID that will be returned by the Task Dialog if the button is clicked. + Use values greater than 8 to prevent conflicts with common buttons. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + Instantiates a new custom button with an ID and a text. + Common ID that will be returned by the Task Dialog if the button is clicked. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + Unique ID that will be returned by the Task Dialog if the button is clicked. + + + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + + Adds a handler on the Form that enables the user to move the window around + by clicking on a glass margin (or the title bar, as usual). + + The form that will be controlled. + Margins of the glass sheet. + + Eventual UI elements on the glass sheet will prevent the handler from receiving events + (except the ThemeText control, which manually redirects mouse events to the form). + + + + + Adds a handler on the Form that automatically paints the glass background black + + The form that will be controlled. + Margins of the glass sheet. + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + Control style and notification constants + + + + Stores a Task Dialog message that will be sent to a dialog in order to update its state. + + + Simple int, int message. + + + Simple int, bool message. + + + Simple bool, bool message. + + + Simple bool, int message. + + + Simple int, long (hi word and lo word) message. + + + Text updating message. + The string will be marshaled: the Message must be correctly disposed after use. + + + Navigation message. + The config structure will be marshaled: must be correctly disposed after use. + + + Text values that can be updated. + + + A standard WinForms text box presenting the common Vista "search" interface. + Reacts on user input by raising "SearchStarted" events. + + + Puts the focus on the text box and moves the caret to the end of the text, without selecting it. + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + Gets or sets the background Color of the button when the mouse hovers on it. + + + Gets or sets the ForeColor of the control when the search box is active. + + + Gets or sets the BackColor of the control when the search box is active. + + + Gets or sets the ForeColor of the control when the search box is inactive. + + + Gets or sets the BackColor of the control when the search box is inactive. + + + Temporary ForeColor property of the control. You should use InactiveForeColor and ActiveForeColor instead. + + + Temporary BackColor property of the control. You should use InactiveBackColor and ActiveBackColor instead. + + + Gets or sets the text that is shown on top of the text box when the user hasn't entered any text. + + + Gets or sets the font used in the search text box. + Equals to the Font property. + + + Gets or sets the font used to write the "inactivity label" on top of the control when the user hasn't entered any text. + + + Overall Font property of the control. Property changes are forwarded to the ActiveFont property. + + + Returns true if the user entered some text in the search textbox. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + Displays a dialog box that can contain text, icons, buttons, command links, radio buttons and/or a progress bar. + + + Initializes a new Task Dialog instance without text. + + + Initializes a new Task Dialog instance with text. + The main instruction to display. + + + Initializes a new Task Dialog instance with an instruction and a title. + The main instruction to display. + The title of the Task Dialog. + + + Initializes a new Task Dialog instance with an instruction, a title and some content text. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + + + Initializes a new Task Dialog instance with an instruction, a title, some content text and a specific button. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. + + + Initializes a new Task Dialog instance with an instruction, a title, some content text, a specific button and an icon. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. + The icon to display. + + + Injects a virtual button click. + Numeric id of the clicked button. + + + Injects a virtual radio button click. + Numeric id of the clicked radio button. + + + Injects a virtual checkbox click. + New state of the verification checkbox. + Sets whether the checkbox should have focus after state change. + + + Enables or disables a button of the dialog. + Id of the button whose state will be changed. + New state of the button. + + + Enables or disables a radio button of the dialog. + Id of the radio button whose state will be changed. + New state of the button. + + + Creates a new Task Dialog setup and replaces the existing one. Note that the window will not be + destroyed and that you should keep the existing TaskDialog reference (event handlers will still be + registered). The existing Task Dialog will simply reset and use the options of the new one. + An instance of Task Dialog, whose settings will be copied into the existing dialog. + You may safely destroy the nextDialog instance after use (do not register to events on it). + + + Adds or removes an UAC Shield icon from a button. + Id of the button. + Sets whether to display a Shield icon or not. + + + Sets whether the dialog's progress bar should be in standard or in marquee mode. + True if the progress bar should be displayed in marquee mode (no explicit progress). + + + Sets whether the dialog's progress bar should be in standard or in marquee mode and sets its marquee speed. + True if the progress bar should be displayed in marquee mode (no explicit progress). + Speed of the progress bar in marquee mode. + + + Common native callback for Task Dialogs. Will route events to the user event handler. + TODO: Currently unused, would need complex marshaling of data. + + + Prepares the internal configuration structure. + Allocates some unmanaged memory, must always be followed by a PostConfig() call. + + + Frees the unmanages memory allocated by PreConfig(). + + + Displays the task dialog without an explicit parent. + + + Displays the task dialog with an explicit parent window. + Handle to the dialog's parent window. + + + Displays the task dialog with an explicit parent form. + Instance of the dialog's parent form. + + + Displays a task dialog that has a message. + The text to display. + + + Displays a task dialog that has a message and a title. + The text to display. + The title bar caption of the dialog. + + + Displays a task dialog that has a message, a title and an instruction. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + + + Displays a task dialog that has a message, a title, an instruction and one or more buttons. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + + + Displays a task dialog that has a message, a title, an instruction, one or more buttons and an icon. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + The icon to display. + + + Is true if the task dialog is currently displayed. + + + Gets or sets the title of the dialog. + + + Gets or sets the icon of the dialog, from a set of common icons. + + + Gets or sets the icon of the dialog, from a custom Icon instance. + + + Gets or sets the dialog's buttons, from one or more common button types. + + + Gets or sets a set of custom buttons which will be displayed on the dialog. + These buttons can also be shown as Command Links optionally. + + + Gets or sets the integer identificator of the dialog's default button. + + + Gets or sets a set of custom buttons which will be displayed as radio buttons. + + + Gets or sets the identificator of the enabled radio button by default. + + + Gets or sets the text that will be shown next to a verification checkbox. + + + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, + when the dialog is in expanded mode. + + + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, + when the dialog is in collapsed mode. + + + Gets or sets the icon shown in the dialog's footer, from a set of common icons. + + + Gets or sets the icon shown in the dialog's footer, from a custom Icon instance. + + + Explicitly sets the desiderd width in pixels of the dialog. + Will be set automatically by the task dialog to an optimal size. + + + Gets or Sets the Main Instruction text of the TaskDialog. + Text written in blue and slightly bigger font in Windows Aero. + + + Gets or sets the Content text of the TaskDialog. + Text written with standard font, right below the Main instruction. + + + Gets or Sets the expanded information text, that will be optionally shown + by clicking on the Expand control. + + + Gets or Sets the Footer text. + + + Gets or sets the current Progress bar value. + + + Gets of sets the minimum value allowed by the Progress bar. + + + Gets or sets the maximum value allowed by the Progress bar. + + + Gets or sets the current Progress bar state. + Determines the bar's color and behavior. + + + Enables or disables Hyperlinks in the content (in the form of <A HREF="link">). + + + Gets or sets whether the dialog can be cancelled (ESC, ALT+F4 and X button) even if no Cancel button has been specified. + + + Gets or sets whether Command Link buttons should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). + + + Gets or sets whether Command Link buttons wihtout icon should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). + + + Gets or sets whether the ExpandedInformation should be shown in the Footer area (instead of under the Content text). + + + Gets or sets whether the ExpandedInformation is visible on dialog creation. + + + Gets or sets whether the Verification checkbox should be checked when the dialog is shown. + + + Gets or sets whether a progress bar should be displayed on the dialog. + + + Sets or gets whether the user specified callback (if any) should be called every 200ms. + + + Gets or sets whether the dialog should be positioned centered on the parent window. + + + Enables or disables right to left reading order. + + + Gets or sets whether there should be a selected radio button by default when the dialog is shown. + + + Gets or sets whether the dialog may be minimized or not. + + + Occurs when the Task Dialog is first created and before it is displayed (is sent after Construction event). + + + Occurs when the user clicks a button or a command link. By default the Dialog is closed after the notification. + + + Occurs when the user clicks on a Hyperlink in the Content text. + + + Occurs when a navigation event is raised. + + + Occurs approximately every 200ms if the Task Dialog callback timer is enabled. + + + Occurs when the Task Dialog is destroyed and the handle to the dialog is not valid anymore. + + + Occurs when the user selects a radio button. + + + Occurs when the Task Dialog is constructed and before it is displayed (is sent before Creation event). + + + Occurs when the user switches the state of the Verification Checkbox. + + + Occurs when the user presses F1 when the Task Dialog has focus. + + + Occurs when the user clicks on the expand button of the dialog, before the dialog is expanded. + + + Occurs when the split label is clicked. + + + Occurs when the split label is clicked, but before the associated + context menu is displayed by the control. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. Exposed for backward compatibility. + + + Provides data for the clicking of split buttons and the opening + of context menus. + + + Represents the bounding box of the clicked button. + A menu should be opened, with top-left coordinates in the left-bottom point of + the rectangle and with width equal (or greater) than the width of the rectangle. + + + Set to true if you want to prevent the menu from opening. + + + Margins structure for the Glass Sheet effect. + + + + Returns whether a point in client coordinates is outside the margins defined by this instance. + + Point in client coordinates. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Common Controls library version 6.0 not loaded. Must run on Vista and must provide a manifest.. + + + + + Looks up a localized string similar to Desktop composition is not enabled.. + + + + + Looks up a localized string similar to Desktop composition is not supported by operating system.. + + + + + Looks up a localized string similar to Unable to get thumbnail's original size.. + + + + + Looks up a localized string similar to Unable to update thumbnail properties.. + + + + + Looks up a localized string similar to Source and target windows cannot be the same.. + + + + + Looks up a localized string similar to Native call to {0} failed.. + + + + + Looks up a localized string similar to Failed to create TaskDialog.. + + + + + A vertical panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. + + + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. + + + + + Constructor + + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. + + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. + + + + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + + + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + + + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + + + + + A Label containing some text that will be drawn with glowing border on top of the Glass Sheet effect. + + + + Size of the glow effect around the text. + + + Enables or disables the glow effect around the text. + + + Shadow type. + + + Gets or sets the horizontal text alignment setting. + + + Gets or sets the vertical text alignment setting. + + + Gets or sets whether the text will be laid out on a single line or on multiple lines. + + + Gets or sets whether the text lines over the label's border should be trimmed with an ellipsis. + + + Gets or sets whether the text should break only at the end of a word. + + + Gets or sets whether the text should be trimmed to the last word and an ellipse should be placed at the end of the line. + + + + Determines a window's Flip 3D policy. + + + + + Default Flip 3D behavior. + + + + + Excludes the window from Flip 3D and hides it behind the animation. + + + + + Excludes the window from Flip 3D and shows it above the animation. + + + + Handle to a DWM Thumbnail. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Origin region from source window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Returns true if the handle is valid, false if the handle has been closed or hasn't been initialized. + + + Sets the thumbnail opacity value, from 0 to 255 (opaque). + + + Sets whether only the client area of the thumbnailed window should be shown or + the entire window area. + + + Area in the destination window on which the thumbnail should be drawn. + + + Region of the source window that should be drawn. + + + Sets whether the thumbnail should be drawn or not. + + + Gets the thumbnail's original size. + + + + Applies a glow on the themed text. + + + + + Default glow size. + + + + + Glow size used commonly by Office 2007 in titles. + + + + + Precise glow effect. + + + + + Instantiates a new glow effect for themed text. + + Size of the glow effect. + + + + Gets or sets the size of the glow effect. + + + + + Static class providing information about the current support for Vista-only features. + + + + + Gets whether the running operating system is Windows Vista or a more recent version. + + + + + Gets whether the running operating system is Windows Seven or a more recent version. + + + + Is true if the DWM composition engine is currently enabled. + + + + The labeled divider provides a Aero styled divider with an option caption, similiar to what is seen in the + Control Panel dialogs of Windows 7 and Vista. + + + + + Constructor + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + The position of the divider line. + + + The default value is the center position which is consistent on how this type of divider has been used throughout the Windows + 7 and Vista UI's. + + + + + The color of the divider line. + + + + + The text that should be used for the caption. If the caption is set to blank and the divider position is set to center then + a simple divider line will be drawn. + + + After a change is made to the text property we want to invalidate the control so it triggers a new paint message being sent. + + + + + The positions that the divider line can be drawn in + + + + + The divider will be centered after the text caption and will begin drawing after the string. This is the default behavior. + + + + + The divider will be drawn below the text caption. + + + + Gets or sets the cue text that is displayed on the TextBox control. + + + Gets or sets whether the Cue text should be displyed even when the control has keybord focus. + If true, the Cue text will disappear as soon as the user starts typing. + + + Sets the origin of the thumbnail and shows the thumbnail on the control. + The Form instance that will be thumbnailed. + True if the control should automatically update itself in case the thumbnailed + form changes size or is closed. + + + Forces and update of the thumbnail. + Use this method if you know that the thumbnailed window has been resized and the thumbnail control should react to these changes. + + + Gets or sets the glass margins of the form. + + + Gets or sets whether mouse dragging should be handled automatically. + + + Gets or sets whether the extended glass margin is enabled or not. + + + + Gets or sets whether the window title and icon should be hidden. + + + + Main DWM class, provides Thumbnail registration, glass sheet effect and blur behind. + + + Registers a thumbnail to be drawn on a Windows Form. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The Windows Form instance on which to draw the thumbnail. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Registers a thumbnail to be drawn on a window. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The handle (HWND) of the window on which the thumbnail will be drawn. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Unregisters the thumbnail handle. + The handle is unvalid after the call and should not be used again. + A handle to a registered thumbnail. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + + Enable the Aero "Blur Behind" effect on a specific region. Background of the region must be black. + + + Disables the Aero "Blur Behind" effect. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Disables the Aero "Glass Frame". + + + Disables the Aero "Glass Frame". + + + + Sets a window's Flip 3D policy. + + Form whose policy is to be set. + Desired Flip 3D policy. + Is ignored on OSs that do not support Aero. + + + + Disallows Aero Peek on a window (or allows it). + + Form whose Aero Peek preview should be disabled. + True if Aero Peek should be disabled for the window. + Is ignored on OSs that do not support Aero Peek. + + + + Sets a window's state in order to exclude (or include) it in Aero Peek. + + Form whose Aero Peek exclusion state is to be set. + Set to true to exlude the window from Aero Peek. + Is ignored on OSs that do not support Aero Peek. + + + Common Task Dialog icons. Determine the look of the main instruction. + + + Returns the active windows on the current thread. + + + Class that aggregates the results of an "indirect" Task Dialog. + + + Results returned by Task Dialogs when closed by the user. + + + Direct Task Dialog call. + + + Indirect Task Dialog call. Allows complex dialogs with interaction logic (via callback). + + + The Task Dialog config structure. + + + Flags used in TaskDialogConfig struct. + From CommCtrl.h. + + + Notifications returned by Task Dialogs to the callback. + From CommCtrl.h. + + + Messages that can be sent to Task Dialogs. + From CommCtrl.h. + + + + A horizontal panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. + + + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. + + + + + Constructor + + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. + + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. + + + + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + + + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + + + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + + + + diff --git a/OnTopReplica.sln b/OnTopReplica.sln new file mode 100644 index 0000000..1c732a8 --- /dev/null +++ b/OnTopReplica.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C# Express 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OnTopReplica", "OnTopReplica\OnTopReplica.csproj", "{E626BD6E-BF38-4EB7-A128-5CA6F40EF557}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/OnTopReplica/AboutForm.Designer.cs b/OnTopReplica/AboutForm.Designer.cs new file mode 100644 index 0000000..5c3fb42 --- /dev/null +++ b/OnTopReplica/AboutForm.Designer.cs @@ -0,0 +1,236 @@ +namespace OnTopReplica { + partial class AboutForm { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm)); + this.themedLabel1 = new VistaControls.ThemeText.ThemedLabel(); + this.themedLabel2 = new VistaControls.ThemeText.ThemedLabel(); + this.panel1 = new System.Windows.Forms.Panel(); + this.buttonReset = new System.Windows.Forms.Button(); + this.progressBar1 = new VistaControls.ProgressBar(); + this.buttonUpdate = new System.Windows.Forms.Button(); + this.buttonExpander = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.linkLabel2 = new System.Windows.Forms.LinkLabel(); + this.linkLabel1 = new System.Windows.Forms.LinkLabel(); + this.label2 = new System.Windows.Forms.Label(); + this.webBrowser = new System.Windows.Forms.WebBrowser(); + this.toolTip = new System.Windows.Forms.ToolTip(this.components); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // themedLabel1 + // + this.themedLabel1.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.themedLabel1.Location = new System.Drawing.Point(0, 0); + this.themedLabel1.Name = "themedLabel1"; + this.themedLabel1.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0); + this.themedLabel1.Size = new System.Drawing.Size(200, 40); + this.themedLabel1.TabIndex = 0; + this.themedLabel1.Text = "OnTopReplica"; + // + // themedLabel2 + // + this.themedLabel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.themedLabel2.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.themedLabel2.GlowSize = 11; + this.themedLabel2.Location = new System.Drawing.Point(200, 0); + this.themedLabel2.Name = "themedLabel2"; + this.themedLabel2.Padding = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.themedLabel2.Size = new System.Drawing.Size(189, 40); + this.themedLabel2.TabIndex = 1; + this.themedLabel2.Text = "v2"; + // + // panel1 + // + this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panel1.BackgroundImage = global::OnTopReplica.Properties.Resources.back; + this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.panel1.Controls.Add(this.buttonReset); + this.panel1.Controls.Add(this.progressBar1); + this.panel1.Controls.Add(this.buttonUpdate); + this.panel1.Controls.Add(this.buttonExpander); + this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.linkLabel2); + this.panel1.Controls.Add(this.linkLabel1); + this.panel1.Controls.Add(this.label2); + this.panel1.Location = new System.Drawing.Point(0, 40); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(388, 105); + this.panel1.TabIndex = 10; + // + // buttonReset + // + this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonReset.Image = global::OnTopReplica.Properties.Resources.refresh; + this.buttonReset.Location = new System.Drawing.Point(338, 79); + this.buttonReset.Name = "buttonReset"; + this.buttonReset.Size = new System.Drawing.Size(23, 23); + this.buttonReset.TabIndex = 14; + this.buttonReset.UseVisualStyleBackColor = true; + this.buttonReset.Click += new System.EventHandler(this.ResetClick); + // + // progressBar1 + // + this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.progressBar1.Location = new System.Drawing.Point(235, 79); + this.progressBar1.Name = "progressBar1"; + this.progressBar1.Size = new System.Drawing.Size(102, 23); + this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee; + this.progressBar1.TabIndex = 3; + this.progressBar1.Visible = false; + // + // buttonUpdate + // + this.buttonUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonUpdate.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonUpdate.Image = global::OnTopReplica.Properties.Resources.xiao_component; + this.buttonUpdate.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonUpdate.Location = new System.Drawing.Point(235, 79); + this.buttonUpdate.Name = "buttonUpdate"; + this.buttonUpdate.Size = new System.Drawing.Size(102, 23); + this.buttonUpdate.TabIndex = 2; + this.buttonUpdate.Text = global::OnTopReplica.Strings.UpdateNow; + this.buttonUpdate.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonUpdate.UseVisualStyleBackColor = true; + this.buttonUpdate.Click += new System.EventHandler(this.Update_click); + // + // buttonExpander + // + this.buttonExpander.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonExpander.Image = global::OnTopReplica.Properties.Resources.xiao_down; + this.buttonExpander.Location = new System.Drawing.Point(362, 79); + this.buttonExpander.Name = "buttonExpander"; + this.buttonExpander.Size = new System.Drawing.Size(23, 23); + this.buttonExpander.TabIndex = 4; + this.buttonExpander.UseVisualStyleBackColor = true; + this.buttonExpander.Click += new System.EventHandler(this.Toggle_click); + // + // label1 + // + this.label1.BackColor = System.Drawing.Color.Transparent; + this.label1.Font = new System.Drawing.Font("Segoe UI", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(6, 75); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(199, 31); + this.label1.TabIndex = 13; + this.label1.Text = "OnTopReplica automatically checks for updates. No information is logged at any po" + + "int."; + // + // linkLabel2 + // + this.linkLabel2.AutoSize = true; + this.linkLabel2.BackColor = System.Drawing.Color.Transparent; + this.linkLabel2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.linkLabel2.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabel2.Location = new System.Drawing.Point(7, 58); + this.linkLabel2.Name = "linkLabel2"; + this.linkLabel2.Size = new System.Drawing.Size(252, 21); + this.linkLabel2.TabIndex = 1; + this.linkLabel2.TabStop = true; + this.linkLabel2.Text = "Homepage: www.codeplex.com/ontopreplica."; + this.linkLabel2.UseCompatibleTextRendering = true; + this.linkLabel2.VisitedLinkColor = System.Drawing.Color.Blue; + // + // linkLabel1 + // + this.linkLabel1.AutoSize = true; + this.linkLabel1.BackColor = System.Drawing.Color.Transparent; + this.linkLabel1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.linkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabel1.LinkColor = System.Drawing.Color.Blue; + this.linkLabel1.Location = new System.Drawing.Point(7, 37); + this.linkLabel1.Name = "linkLabel1"; + this.linkLabel1.Size = new System.Drawing.Size(212, 21); + this.linkLabel1.TabIndex = 0; + this.linkLabel1.TabStop = true; + this.linkLabel1.Text = "Created by: Lorenz Cuno Klopfenstein."; + this.linkLabel1.UseCompatibleTextRendering = true; + this.linkLabel1.VisitedLinkColor = System.Drawing.Color.Blue; + // + // label2 + // + this.label2.BackColor = System.Drawing.Color.Transparent; + this.label2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label2.Location = new System.Drawing.Point(7, 4); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(287, 33); + this.label2.TabIndex = 10; + this.label2.Text = "A lightweight, real-time, always on top thumbnail of a window of your choice."; + // + // webBrowser + // + this.webBrowser.AllowWebBrowserDrop = false; + this.webBrowser.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.webBrowser.Location = new System.Drawing.Point(0, 146); + this.webBrowser.MinimumSize = new System.Drawing.Size(20, 20); + this.webBrowser.Name = "webBrowser"; + this.webBrowser.ScriptErrorsSuppressed = true; + this.webBrowser.Size = new System.Drawing.Size(389, 200); + this.webBrowser.TabIndex = 14; + // + // AboutForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ClientSize = new System.Drawing.Size(389, 145); + this.Controls.Add(this.webBrowser); + this.Controls.Add(this.themedLabel2); + this.Controls.Add(this.themedLabel1); + this.Controls.Add(this.panel1); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; + this.HideTitle = true; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.Name = "AboutForm"; + this.Text = "OnTopReplica"; + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private VistaControls.ThemeText.ThemedLabel themedLabel1; + private VistaControls.ThemeText.ThemedLabel themedLabel2; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Button buttonExpander; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.LinkLabel linkLabel2; + private System.Windows.Forms.LinkLabel linkLabel1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button buttonUpdate; + private System.Windows.Forms.WebBrowser webBrowser; + private System.Windows.Forms.Button buttonReset; + private VistaControls.ProgressBar progressBar1; + private System.Windows.Forms.ToolTip toolTip; + } +} \ No newline at end of file diff --git a/OnTopReplica/AboutForm.cs b/OnTopReplica/AboutForm.cs new file mode 100644 index 0000000..9121ad0 --- /dev/null +++ b/OnTopReplica/AboutForm.cs @@ -0,0 +1,153 @@ +using System.Diagnostics; +using System.Windows.Forms; +using VistaControls.Dwm.Helpers; +using System.Drawing; +using System.Runtime.InteropServices; +using OnTopReplica.Properties; +using System.Deployment.Application; +using System; +using VistaControls.TaskDialog; +using System.ComponentModel; +using OnTopReplica.Update; + +namespace OnTopReplica { + public partial class AboutForm : GlassForm { + + public AboutForm() { + InitializeComponent(); + + //Tooltips + toolTip.SetToolTip(buttonExpander, Strings.AboutButtonExpanderTT); + toolTip.SetToolTip(buttonReset, Strings.AboutButtonResetTT); + toolTip.SetToolTip(buttonUpdate, Strings.AboutButtonUpdateTT); + + //Add link areas (localized text) + linkLabel1.LinkArea = new LinkArea(linkLabel1.Text.IndexOf("Lorenz Cuno Klopfenstein"), "Lorenz Cuno Klopfenstein".Length); + int linkStart = linkLabel2.Text.IndexOf("www"); + linkLabel2.LinkArea = new LinkArea(linkStart, linkLabel2.Text.Length - linkStart - 1); + + //Glassify + GlassEnabled = true; + GlassMargins = new VistaControls.Dwm.Margins(0, 0, themedLabel1.Size.Height, 0); + + //Update title + themedLabel2.Text = "v" + Application.ProductVersion.Substring(0, 3); + + //Add update event handling + _updateManager.UpdateCheckCompleted += new EventHandler(UpdateManager_UpdateCheckCompleted); + } + + protected override void OnKeyUp(KeyEventArgs e) { + if (e.KeyCode == Keys.Escape) + this.Close(); + + base.OnKeyUp(e); + } + + private void Lck_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://lorenz.klopfenstein.net"); + } + + private void Homepage_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://www.codeplex.com/ontopreplica"); + } + + private void ShowGenericError(string title, string mainContent, Exception ex) { + TaskDialog.Show(mainContent, title, ex.Message, TaskDialogButton.Close, TaskDialogIcon.Stop); + } + + #region Bottom toggler + + private void Toggle_click(object sender, System.EventArgs e) { + IsExpanded = !IsExpanded; + + //Update icon + buttonExpander.Image = IsExpanded ? Resources.xiao_up : Resources.xiao_down; + } + + bool _isExpanded = false; + bool _isFirstExpansion = true; + public bool IsExpanded { + get { return _isExpanded; } + set { + if(_isExpanded != value) + Size = new Size(Size.Width, Size.Height + ((value) ? webBrowser.Size.Height : -webBrowser.Size.Height)); + + _isExpanded = value; + + if (value && _isFirstExpansion) { + //Load text from resources + webBrowser.DocumentText = Strings.AboutDetails; + + //Register navigation events + webBrowser.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating); + + _isFirstExpansion = false; + } + } + } + + void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) { + if (e.Url != null && e.Url.IsAbsoluteUri) { + Process.Start(e.Url.ToString()); + e.Cancel = true; + } + } + + #endregion + + #region Updating + + UpdateManager _updateManager = new UpdateManager(); + + private void Update_click(object sender, System.EventArgs e) { + CheckForUpdate(); + } + + delegate void GuiAction(); + + void UpdateManager_UpdateCheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + Invoke(new GuiAction(() => { + if (e.Success) { + _updateManager.HandleUpdateCheck(this, e.Information, true); + } + else { + var dlg = new TaskDialog(Strings.ErrorUpdate, Strings.ErrorUpdate, Strings.ErrorUpdateContentGeneric) { + CommonIcon = TaskDialogIcon.Stop, + CommonButtons = TaskDialogButton.OK + }; + dlg.Show(this); + } + + UpdateStopped(); + })); + } + + public void CheckForUpdate() { + //Update GUI + buttonUpdate.Visible = false; + progressBar1.Visible = true; + + _updateManager.CheckForUpdate(); + } + + void UpdateStopped() { + //Reset UI + progressBar1.Visible = false; + buttonUpdate.Visible = true; + } + + #endregion + + private void ResetClick(object sender, EventArgs e) { + var dlg = new TaskDialog(Strings.AskSettingReset, Strings.AskSettingResetTitle, + Strings.AskSettingResetContent); + dlg.CommonButtons = TaskDialogButton.OK | TaskDialogButton.Cancel; + + if (dlg.Show(this).CommonButton == Result.OK) { + Settings.Default.Reset(); + } + } + + } +} diff --git a/OnTopReplica/AboutForm.resx b/OnTopReplica/AboutForm.resx new file mode 100644 index 0000000..4d116c2 --- /dev/null +++ b/OnTopReplica/AboutForm.resx @@ -0,0 +1,309 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + AAABAAIAMDAAAAEAIACoJQAAJgAAABAQAAABACAAaAQAAM4lAAAoAAAAMAAAAGAAAAABACAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAAAAFwAAACAAAAAnAAAAKwAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAAKwAAACcAAAAfAAAAFwAAAA0AAAAGAAAABgAAAA4AAAAdAAAALQAAAD0AAABIAAAATgAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATgAAAEgAAAA9AAAALQAAABwAAAANAAAACwAAABkAAAAwAAAARwAA + AFsAAABpAAAAcAAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcAAAAGkAAABdAAAASAAAAC8AAAAYAAAAEQAA + ACQAAABBAAAAbAoKC6QYGBiyFhcXtBcXF7QXFxe0FxcXtBcXF7UXFxi0FxcYtBcYGLQXGBi0FxgYtBgY + GLQXGBi0FxcYtBcXF7QXFxe0FxcXtBcXF7QXFxe0FxcXtRcXF7UXFxe1FxcXtBcXF7QXFxe0FxcXtBYX + F7QWFhe0FhYXtBYWFrQWFhe0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe0GBgYtQEBAqYAAAB5AAAAXwAA + AEEAAAAkAAAAFwAAACwAAABdOTk3u46IgKWTjIKUkYiAk4yEepKHf3WQhHtyj4B5b45+eG2NfHVrjHly + Z4t5cmeLeXFni3huZot5b2aLe3JoioB3bIuDe3KMiH92jIyCeIyMhXqNjYZ7jo2HfI+Ph36PkId/j5GI + f4+SiX+PkomAj5OLgJCTjIKQk4yCkJSMgpCTi4GQj4h+joyEeo2LgniMjIN5jY+HfY6RiYCPkoqAjn55 + c7IXFxe1AAAAcQAAAFAAAAAuAAAAGwAAADAJCQmJkoyGrJ6ViXCypp2Fv7OskL2yq5G6r6ePt6yljbWr + o4yzqqGLsaefirClnYmupJ2JrqOdia6inYqvpJ2JsqafibSqo4m4raeKu7Gqiryyq4u8s6uLu7OsjLyz + rYy8s62MvbOujb20ro29ta6NvbWujry2ro67tq6OvLaujr23r468ta6OurOsjLiyq4u3sayLubOvjLu0 + so20ramGnpWNdJ+ViGxnZWG9AAAAiQAAAFYAAAAzAAAAHAAAADIREhKSqaGapbK4splz3ePrceDn8nPg + 5/N14OfzduDm83nh5fN84uXyf+Lk8oLj5PKF4+Lyh+Pi8onk4PKM5d/yj+Xf8pPm3/KX6ODynOni8qDq + 4/Kk7OLyqO7i863w4vKy8+Hytvbh87z44fPE+uHzzvvk89776vPs+/Pz+fv58//7/fP/+/7z//v98v/7 + 9/L8++3y9/vi8/b70fPz+b7u1da5u6mim3V/fHe1AAAAkQAAAFkAAAA2AAAAHQAAADMQEBCRsKiirMLO + ybBI3eT/PNnf/z3Z2v8+2df/P9nV/0HZ0/9G2tL/StvQ/0vbzv9O28v/UNzJ/1Pcx/9W3sX/WuHD/13k + wv9i6ML/aO/E/3D1x/99+s7/jP3W/53/4P+y/+r/xf/x/9r/+f/v//3/9//8//n//P/6//r/8v/r/+H/ + 3v+//dr/t/3Z/8L+zv/K/7H/1f2b/9r8jv/X/Yz/0Oa+1r2zsYJ+e3e4AAAAkQAAAFoAAAA3AAAAHQAA + ADMPDw+RtKumr8bSz7Y809n/L9DT/zLQ0f8zz8//NNDL/zfQyf860Mj/PNHF/z3Sw/9A1cH/RdnC/0re + xP9S5cj/W+zN/2by0/9x+Nj/e/3d/4L/4P+L/+T/mf/o/6n/6/+5/+z/xP/n/8f/2/+//8z/tPy//6X5 + tf+Z96//jPar/3j1rP9z97j/gvrD/4X9yf+Q/cv/qvu5/7jtkf+112f/z9mt2cW9u4iAfXm5AAAAkQAA + AFoAAAA3AAAAHQAAADMPDw+Rta6osMfT0Lc40tX/LM/Q/zHQz/8y0c7/NdTO/znXz/8/29H/ROHV/0zo + 2P9T7tz/WvTg/2D54v9l++H/avzf/27+3f90/9v/ev/a/4H/1/+K/tT/kPzL/5H4v/+N87D/he6f/4Dp + k/+B5o3/huWK/4/liP+W5of/muaG/5zihv+e2ob/pNeJ/6ncjP+s5pD/pO6U/5/wlv+h4oX/ytu32si/ + vYuCf3u6AAAAkQAAAFoAAAA2AAAAHQAAADMPDw+Rt6+qscnV0bk+2Nf/M9nV/zrd2P9A4tz/Rejf/0jq + 4P9J6tv/TOrW/07o0P9P5sn/UefD/1Xqwf9c8ML/ZPXC/2v3wP9v8rn/cOqv/27iof9r25X/a9mN/3TZ + jP9924v/gtuH/4fbgv+I2n7/itR6/4nNdP+HxW3/iL5o/4y4YP+St1X/k7ZL/5S1Tv+ZtlX/pL5d/67L + Yv+x123/0uC828rCwI2DgHy7AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RuLCss8rX07pG4dz/Od7W/zzb + 0f8/2s3/P9jI/0DUwv8/0Ln/Q9G2/0rXuP9S3rr/WuS9/1/kuf9f3rD/X9ai/1/Pl/9hzJD/Zc+M/2zT + if9x1oj/d9eE/37Vg/+D0X//fshz/3m+aP95uGP/e7Nf/3+wXP+FsFb/jLVR/4+8Uv+QwFv/k8Rk/5zF + Zf+hw2D/pMBY/6i7Uv+ps0D/0M+i3M3Hx5CEgX68AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RubKutMvW + 0rs/ysH/MsS3/zbDtP87x7b/Qc27/0bVwP9L2b//Ttq7/1HWs/9T0Kn/Vcqh/1jImv9dy5X/Y9CS/2nT + kP9u1Yz/cNOG/3DOfv9wx3X/cMJv/3vDcf+GxnH/gsFl/4G/Xv+Iv17/jMNc/5DHXP+QzGH/jM9u/4vL + c/+OwWz/j7lg/5GyVP+SqEn/lqJB/5icOv+WkSr/yMOb3NDMypGFgn+9AAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+RurOvtszW0bxCxbj/OMa2/0DNu/9F0r3/SdS9/0rSt/9LzKz/TMik/1HLoP9a0aH/Y9ih/2vc + nv9w3Jf/cdqP/3PXiP931YH/etV8/37Vdv+A1HD/hdNq/5XUbv+Z027/icll/4HGYv+Dx1z/hcJU/4K3 + VP99qVX/fJ1J/3yTPP97izT/fIYv/4CDK/+EgSj/iIAn/4uBJv+MfBr/xr2W3dPPzZOHhIG9AAAAkAAA + AFoAAAA2AAAAHQAAADIPDw+RvLWwts7Z071K0L7/Psq0/0LKr/9HzK3/T9Ox/1jdtv9f5bf/Y+q0/2rt + r/9y7Kn/eeqj/4Hmnf+C4pT/gNyK/3/Tfv99zHP/e8Rp/3e7Yf9ysl3/b69h/3e2cf9zuHD/aa9Z/3Gn + Qv94nDT/dI4v/3KGKv90gyb/doIk/3d/I/94fCH/enog/3x4IP+AeCD/g3kg/4d6Iv+Idhf/xLuW3tbR + 0JWHhIG+AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvLWxuM/Z075W173/Utq7/1riv/9h6cL/aOzC/23t + v/9s6bP/aeCl/2nVl/9pzIz/bcSB/3C8d/9ts23/Z6lj/2SiXf9hnVv/XZpb/1yZXP9cnFv/ZaVZ/3aw + U/94pjv/cY8n/2+EJP9sgCX/bH4k/3B+I/92gCL/en8f/3p7Hv95eB7/eXcd/3t1Hv9+dR7/gHYf/4R3 + H/+FchX/w7qW3tfT0peHhYK/AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvbazuNHb1b9k3r//WNez/1bP + qP9Tx5z/U7+U/1O5jv9Ss4T/UKp2/1Cha/9Tnmb/Wp5j/2ChZP9gn2L/XJld/1yYXP9cmFf/XphQ/2Sa + R/9nmDr/cJkv/32dKf92jyT/an0h/2p9If9ufyD/cn4e/3V+Hf98gB3/fX8c/3t6HP95dhz/eHQb/3lz + HP97cxz/fXQc/4J0Hf+CbxL/wrmV3tjU1JiIhoPAAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+Qvbe1udDY + 0sBPt5b/QauH/0Khff9CnXT/RZ1y/0iecP9Lnm3/S5pn/0yVYv9QlGD/WZlf/2KhXv9ln1n/YplS/2WZ + TP9nmEP/aJQ5/2aNLP9mhST/dI0i/3+WI/9yhx//aXkc/2x7G/9xfhr/dYEa/3qAGv+Agxr/f4AZ/3x7 + Gv95dhr/eHIZ/3hxGv95cRn/fHEa/4ByG/+AbBD/wbiU39nW1pqIhoPAAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+Qvrq2utDW0MFJo4D/P5xz/0KVbP9BkWb/RJJl/0eVZ/9LmGb/TZZh/0+TW/9UlFf/X5pU/2ui + U/9uoUz/bZtD/2+YO/9oji//ZIQl/2Z/IP9ugB3/e40e/32QHv9xgRv/a3kY/298F/90gRf/eYMY/36D + F/+Ehhj/g4IY/358GP96dhj/d3IY/3dwGP94bxj/em8Y/31wGf99ag7/wbiU4NzY15uJh4TBAAAAkAAA + AFoAAAA2AAAAHQAAADIPDw6Qv7q3u9DWz8FJnnT/QJdq/0KPZP9Di1//RYxd/0mQXP9Ok1r/UJNW/1OS + Uf9ak0z/aJxI/3ilRP96oT3/b5Qx/2yMKP9pgyH/a4Ac/219Gf9wfhj/eosa/3yOGv9xfxf/bnwW/3J/ + Ff96hBX/fYMW/4GFFv+Hhxb/hYMW/398Ff97dRb/eHIW/3dvFv93bhb/eG4W/3xuF/97aAz/wLiU4N3Z + 2JuJh4TBAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6Qv7u4u9DWz8JLmm3/QpRh/0SNWv9Fh1P/SYhR/0yL + T/9Rjk7/V5RK/12XRv9mmUD/dqI8/4GmNf93mCz/booj/3OKHv9yhBr/cH8V/257FP9ygBb/fY8Y/36P + GP9ygBT/cn4U/3iDFP+AiBT/foUT/4aIFP+IiBT/hYMU/398E/98dhP/eXMU/3hwFP93bRX/d20V/3tt + Ff94Zgr/wLeT4N3Z2p2KiIXBAAAAkAAAAFoAAAA2AAAAHQAAADIODg6QwLy5vNHWz8JOmGP/RpNW/0eK + UP9Igkj/SoJG/1CIQ/9blEL/ZJs+/2qfO/9zoTX/eJ0s/32aJP95kiD/doob/3uMGf92hRb/cYAU/258 + Ev92hRP/g5MV/4WSFf92gxL/eIMS/3+HEv+EjBL/gYcR/4mKEf+IiRL/hIMS/4B8EP98dxH/e3QS/3lx + E/93bhP/eG0T/3lsFP93ZQn/wLeT4d7a252KiIXCAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6QwLy5vNHW + zcNRlFj/SZJN/0yIR/9MgD//VYs8/2CXOv9lmDf/bqU1/3CgL/9tjiX/d5Eg/4OaHv9/khz/e4sX/4KN + Fv96hhT/dIAS/3N/Ef9/ixP/i5kU/4qVFP98hhH/fogR/4WNEf+GjRH/hYkO/4mLD/+IiA//hIEQ/398 + D/99eA//fXYQ/3xzEf96bxL/eW0S/3ptEv93Zgf/wLiS4d7a256LiIbCAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDg6QwLy6vNLVzcNUklD/S5BD/1OOP/9elTr/YZQ0/2WYMf9urC//apgn/2WCIP9wiR7/f5Uc/4qb + Gv+Fkhr/gIsV/4SNE/98hhL/eIEP/3mDEP+GkhL/kp4S/4uWEf+Aig//gosO/4qREP+IjQ//iYsN/4uM + Df+Ihgz/hIEO/4B7Df9/eA3/gXgP/4B1D/9+chD/fW4R/3xtEf95aAb/wbmS4d/c3J+LiYbCAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Rwby6vdLVzMRVkUf/WZ89/2WjOv9gjzD/ZKAu/2muLf9ljST/ZH0f/2uE + Hf93jRv/hZYY/4+bF/+Ikhr/gooS/4OMEP99hg7/eoIO/36HDv+NlxD/l6AQ/42VD/+FjQ3/h44N/4+U + D/+IjA7/jYwM/46KDP+JhAr/gn8M/396C/+BeAz/g3gN/4J1Df+Acw7/fm8P/31uD/98awT/wruS4d/c + 3J+LiYbDAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RwLy7vtPWzMRjo0L/YaY2/1+XMf9lri7/YqQp/1x+ + If9lgB7/aoIc/2+FGv99jRf/i5YV/5KaFv+JkBj/gogP/4OLDf9/hgz/fIML/4OKDP+Umw7/nKEP/42T + Df+Ijgz/jJEM/5CWDf+Liwz/kY4K/4+KC/+Jgwn/gn0K/4B5Cv+CeAv/g3gM/4N2Df+Acw3/f28N/35v + Df9+bgP/w72S4d7c3KCLiYbDAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Rwr27vdTYzMRfmTv/W6Ew/2a+ + M/9emCj/WHUf/197Hf9ogxv/bIIY/3KFF/+AjhT/jZcT/5KZFv+IjhX/gogM/4WJDP+AhQr/f4UJ/4iO + C/+ang3/naEN/42SC/+LkAv/kZUL/5KUC/+OjAn/lI8J/4+JCf+Jgwj/g30J/4F5CP+DeQj/g3gK/4J2 + C/9/cgz/fm8L/4BxDP+AcQL/xL6R4d/b3KCLiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Qwr28vtPU + y8Rgojn/YcEx/1uXKf9Zdx//W3gb/2F8Gf9rgxf/bYEV/3WFE/+DjhL/j5YP/5KXE/+HjBL/g4gK/4WJ + Cf+ChQj/gYYI/46SCP+eoQv/naAL/42RCf+OkQr/lpgK/5ORCf+Sjgj/lI8I/4+JCP+Jggf/g30G/4F6 + Bv+DeQf/gncJ/4F0Cv9+cQr/fW8J/4ByC/+BcwD/xL+R4t3a26GKiIXEAAAAjwAAAFoAAAA2AAAAHQAA + ADIPDw+Qwby8v9XczMVhuDf/VpEl/1qFIv9bfBz/XHcZ/2J7Fv9rgRT/b4AR/3eFEP+FjRD/jpUL/5GV + EP+GihD/g4YH/4WIB/+ChAf/hIYH/5SVB/+hogr/nJ0J/5GRB/+Tkgj/mZgJ/5KPCP+VkAf/lY8H/4+I + B/+Jggb/hH0F/4J6Bf+CeAb/gnYH/350CP97cAj/e3AI/4F0Cv+BdQD/xL+R4t3Y26KKiIXEAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Qwb69v9TWy8ZZhCz/Voof/1yJIP9cexn/XHYW/2N5FP9sfxH/bn8O/3mE + Df+EjQz/jZMI/5GUEP+FiQ3/hIUF/4aGBf+ChAb/hocF/5iYBv+jpAb/m5oH/5ORB/+WlQb/mZcH/5KP + Bf+XkQb/lY4F/46HBv+IgQX/hHwE/4N7BP+CeAX/f3UG/3xyBv96bwb/e3EG/4J2Cf+CdwD/xL+Q4tzZ + 26KKiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw769v9TVy8ZXgin/V4sc/1yKHv9behj/XXQV/2N3 + Ev9rfA//b30N/3mCDP+Eiwv/jJEI/5CSEv+Ehgz/g4QD/4WFBf+CgwX/iokF/5uaBv+jpAX/mJYF/5OQ + Bv+Ylgb/lpMG/5SPBf+YkQb/k4sG/42EBv+HfwT/hHwD/4N7BP+AeAX/fXQE/3pwBf93bgb/enEG/4B2 + CP+CdwD/xMCP49zZ26OKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw7++wNXVzMZYgCj/Voob/12K + G/9cehb/XXIT/2J1EP9rew7/bXwM/3iBC/+Eigr/io8H/46RE/+ChAn/gYID/4ODBf+Cggb/jYsF/52c + Bf+iogb/lZMF/5OQBv+YlQb/k48G/5WOBv+Xjwb/kIkG/4uCBv+FfQT/g3wD/4N6Bf9/dQX/enEE/3Vu + BP90bgX/eHEG/393CP+BeQD/xMGO49vZ26SKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6RxMC+wNXW + zMZZfib/V4kY/16KGf9behX/W3AS/2JzD/9peQz/bHoL/3eACf+DiQj/io0H/46QFf+Aggj/gIED/4GC + BP+BgQX/j40F/5+dBv+hngX/lI8G/5WQBv+YkwX/kosF/5aOBf+VjAb/j4YF/4iABf+EewP/g3sE/4J4 + Bf9+dAT/d3AE/3JtBP9ybQT/d3IF/3x3B/+AeQD/wb6N49vY26SJiIXGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QxMC/wNbWzMZZfCP/WIYV/16KGP9ceRT/XG8Q/2FxDf9odwz/bXgK/3Z/CP+Bhwj/iYsH/42O + Ff9+gAf/f4AE/3+AA/+CgQT/ko8G/6CeBv+emQb/kowH/5WPBv+VkAX/kYkG/5eMBv+TiQX/jYMF/4d+ + BP+DegP/g3kE/4B2BP98cgT/dW4E/3BrA/9xbQT/dXEF/3t4Bv97dwD/vbqN49za26WJiIXGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QxcG/wNbXzcdXeiH/V4QT/16JFv9deRL/W24N/19wDP9ndAv/bHYJ/3V9 + B/+Bhgf/iIkH/4yNFv98fgX/fn4D/35+A/+DgAT/lJEF/6GeBv+alAb/kYkH/5WOBf+SiwX/kIcH/5aK + Bv+QhQX/i4EF/4Z8BP+CeAX/gXYF/35zBP96cAT/c2wE/29qA/9xbQP/dHEE/3t6Bf9zcAD/uriN493a + 26WKiIXGAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6Qx8PBwdbXzcdWeB//V4IS/16IE/9ceRD/WmwN/15u + C/9lcgn/anUH/3V8B/+BhAb/hocG/4uLGP96ewX/fH0E/3x8A/+EgQT/lZMF/6GdBv+Vjwb/kIgF/5ON + Bf+PhwX/kYYG/5OHBf+MggX/ioAE/4R5BP+BdwX/gHUE/3xyBP92bgT/cGsE/29qA/9wbAP/c3ED/3l4 + Bf9taQD/ubWN493a26WKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8PCwdjYzsdWdR//VX8P/12G + Ef9cdw7/WWoN/15sCv9jcQj/anMG/3R7Bv9/gwX/hIUG/4mJGf94eAP/ensE/3p6BP+FggT/l5QE/56b + Bf+PigX/j4YG/5CJBf+MgwX/kYUG/5CDBf+KfwT/iH8D/4F3Bf+AdQT/fnME/3pwBP9zbAT/cGoD/29q + A/9vbAP/dHID/3RzBf9nYgD/trOM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8TDwdjY + zsdVch3/U3oN/1yEEP9cdg3/WWkL/11rCP9icAf/aXEG/3N5Bv9+gQT/goQH/4aHGf91dgL/eHgF/3l4 + BP+GgwP/mZQF/5uXBf+MhQX/jYYF/42FBP+JgAT/j4ME/4uABP+JfgT/hXsE/390BP9/dAT/fHIE/3du + BP9yawP/b2oD/29rA/9vbAP/c3MD/25tA/9hXQD/tLKM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QycXEwdnZz8dUbxv/UnYM/1uBDv9cdQv/WWkJ/1tpB/9gbgX/aHEF/3J3Bv97fgP/gIII/4SF + GP9ycwL/dnYF/3h3BP+IhAT/mJQF/5aSBP+IggX/ioMF/4iAA/+IfwT/jYEE/4d9BP+HfgT/gXgE/39z + BP99cgT/enAE/3RtBP9wagP/bmoD/25rA/9wbQP/cXED/2lnAv9cWAD/s7CL497a3KaKiIbGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QysfFwdna0MhTbRn/UXIL/1t+Df9bdAr/WGgI/1pnB/9fbAb/Zm8F/3F2 + BP95fAL/f4EK/4KCFv9wcQL/dXQE/3d2BP+JhQT/mJQF/5GMBf+GfwX/hn8E/4N7BP+IfgT/iX4E/4V7 + A/+GfAT/fXQE/31yBP97cQT/d24E/3FrA/9uaQL/bWoC/21qAv9xbwP/bWwD/2RiA/9XVAD/sa6L5N/b + 3KiKiIbHAAAAjwAAAFoAAAA2AAAAGwAAADEODg6PysfFwdjYzsZRaRb/TW0G/1d6Cf9YcQb/VGUE/1dk + BP9caAP/ZGwB/25zAP92eQD/fX8K/31+Ev9sbQD/cXAB/3Z1Af+IhQL/lZEC/4uEAf+BewL/f3gB/393 + Av+EewH/hHoB/4N4Af+CeAH/eG8B/3lvAv93bgH/cmsC/21oAP9rZwD/a2cA/2tpAP9ubQD/ZmUA/2Bd + AP9STgD/rquJ497b3KeKiIbHAAAAjQAAAFgAAAA1AAAAGAAAACwQDw+MysbEv9LRx71WbR3+U3AP/1x7 + EP9ddQ7/WmoN/11pDv9jbQz/anEK/3N4C/96fAr/gYMX/36BGv9wcQj/dXQL/3t7DP+Niw3/l5QN/4qE + Df+Efg3/f3kM/4N8DP+IgAv/hnwM/4h/DP+CeQz/fXQM/310DP95cwz/dW8L/3JtCv9xbQn/cW0K/3Jx + Cv9xcAr/aWgL/2RiCv9WUgf/qaaH2tjV1aGMiojGAAAAiQAAAFIAAAAwAAAAFAAAACQLCwuCv7y4v9XR + y6PMzcDB0tTGzNTWx87V1sfO1NXHztXVx87V1cfP1tbHztjXx87Y18fO2dfIztfWx8zV1MXL1dPDytXU + w8nX1cPJ2NbDydbUw8jW08PI1dPDydbTw8nX1MPJ1tPDytfUxMrW1MTK1tPDytbTxMvW08TL1tTFy9bT + xcvV0sPL1NHDzNPRwszS0cLM0c/CzNHOwszJx7vFxsK7sM3IxJmEgoDGAAAAewAAAEYAAAAoAAAADgAA + ABoAAABTaWhmx9jUzrLg3Nmr4t3br+Ld26/j3tuv497br+Pf26/i39uw4d/br+He26/h3duv4Nvart7a + 2Kzc2Nap29bTqNnV0qfY1NGn2NPRp9jV0abZ1NGm2tTRpdnV0abZ1NKn2dTTqNrW1Kjb1tSo29bUqdzW + 1and2Nap3dnWqd3X1qra1tSq2NTTrNfU0qzX09Ks19PSrNfT0q3W0c+r0MvHp766tr0xMTC4AAAAVwAA + ADUAAAAeAAAACQAAABIAAAAnAAAAZzMzMqtPTk20TEtKs0tLSrRMS0q0TEtKtExLSrRMS0q0S0tKtEtL + SrRLS0q0S0tKs0tKSbNKSUmzS0pIs0pKSbNKSkizSkpIs0pKSLNLSUizS0pJsktKSbJLSkmzS0pJs0tK + SbNLSkmzTEpJs0xKSbNMSkmzTEpJs0xKSbNLSkmzS0pJs0tKSbNLSkmzS0pJs0tJSbNLSkm0TUxLth4d + HaMAAABeAAAAOAAAACUAAAATAAAABQAAAAsAAAAWAAAAIQAAAC0AAAA3AAAAOgAAADoAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADoAAAA7AAAAOgAAADMAAAArAAAAIQAAABUAAAALAAAAAgAAAAQAAAAJAAAADgAAABMAAAAXAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGAAAABcAAAATAAAADgAAAAgAAAAEAAAAAAAAAAEAAAACAAAABAAA + AAcAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAkAAAAHAAAABAAAAAIAAAABAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBIAAAAAAAPIEKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ABEAAABAAAAAVwAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABXAAAATAAA + AB8EBAQ+VlRQlXNybqFqamaeZ2dinWZkYJxqaGOdcG5pnXFwa550cm2feXRxn350c597cW+efHVwnU1K + RZgAAQFUFw4NUI+5uMNY4+b0Xt7b9Gbh2PRv59bzf/La9JP84vSx/+r0z//p9Nv/4vTP/930yv/Z9N// + ufKnp5OvAwEEZRkPDk6Eu7nPLtvX/zrbz/9F4Mn/VOrF/2Xuvf9y667/guWe/4nciP+K1Hf/jM5v/5bO + b/+v2HT/paeTuwQCBmIZDxBPirmy0D/Wwf9Q273/W9yt/2vZm/9x0IT/csZw/33Eav99tlT/fqdG/4Cb + QP+FjjH/mZAz/6SfjL0FBQhjGBAST5G6rtFOyqT/VsCS/1mze/9mrGv/ZqFZ/2WXRP9zmDT/bYIh/3V9 + HP96eBn/d28X/4p7Jf+kno3ABQYJYxkTFlCOq5vTPpFi/0eLV/9WlE//b51B/26NKv9tgBn/d4YX/3N+ + Ff+ChhX/gH0W/3ZuFP+FdyH/pZ+OwQYGCWMZFBhQkKiR1EuNRv9dlDr/bZgu/4CWHv98iBT/eoUR/4SQ + Ev+CihD/iYoP/4F9D/97cQ//hHYc/6Wgj8MGBgljGBQZUJasidReozD/Y40i/3OHGP+MlRX/gYgO/4iP + Df+RmA3/jZEM/42JCv+Cewr/gXQK/4l6F/+noo/EBgYJYxgUGlCXroXVWI8f/2J4Ff97iBD/jZIO/4OF + CP+TlQf/mJkI/5WSCP+PiAb/g3oF/31yBf+KfhP/p6OOxQYGCWMZFhtQlaOB1VeCFf9idRD/eoQK/4qM + C/+CggT/mJYF/5iVBv+WkAX/jIQF/4J4BP92bgP/h4AR/6ajjcYGBgljGRYcUJaif9ZYgA//YHAM/3d/ + CP+Ghwv/gIAE/5mVBv+UjQb/kogG/4h9BP99cwT/cGsB/4B+D/+joYzGBgYKYxoXHVCWoH7XU3cG/1tq + Bf9yeAL/fX4I/317AP+TjgH/ioIB/4p+Af+AdQD/dWwA/21pAP90cgn/oJ2MyAcHCmQaGB1RoaiK1maC + HP9teh3/gYYb/4mKIf+Nixr/m5Yb/5KKG/+Uihv/i4Eb/4F7Gv9+exf/fHoi/6WilMcHBwpjBgYHMXp5 + dKCcnZG2mZiNtJqZjbWZl4yzmJaIsJiWiLCYlYiwmZaJsZmVirGYlYqylpSJs5mXjbRqaGadAQEBPQAA + AAUAAAAeAAAAKgAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAArAAAAIwAA + AAoAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxB + + + \ No newline at end of file diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs new file mode 100644 index 0000000..4e96ab7 --- /dev/null +++ b/OnTopReplica/AspectRatioForm.cs @@ -0,0 +1,214 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Runtime.InteropServices; +using VistaControls.Dwm.Helpers; +using System.ComponentModel; +using OnTopReplica.Native; +using System.Drawing; + +namespace OnTopReplica { + + /// + /// Form that automatically keeps a certain aspect ratio and resizes without flickering. + /// + public class AspectRatioForm : GlassForm { + + bool _keepAspectRatio = true; + + /// + /// Gets or sets whether the form should keep its aspect ratio. + /// + [Description("Enables fixed aspect ratio for this form."), Category("Appearance"), DefaultValue(true)] + public bool KeepAspectRatio { + get { + return _keepAspectRatio; + } + set { + _keepAspectRatio = value; + + if (value) + RefreshAspectRatio(); + } + } + + double _aspectRatio = 1.0; + + /// + /// Gets or sets the form's aspect ratio that will be kept automatically when resizing. + /// + [Description("Determines this form's fixed aspect ratio."), Category("Appearance"), DefaultValue(1.0)] + public double AspectRatio { + get { + return _aspectRatio; + } + set { + if (value <= 0.0 || Double.IsInfinity(value)) + return; + + _aspectRatio = value; + } + } + + Padding _extraPadding; + + /// + /// Gets or sets some additional internal padding of the form that is ignored when keeping the aspect ratio. + /// + [Description("Sets some padding inside the form's client area that is ignored when keeping the aspect ratio."), + Category("Appearance")] + public Padding ExtraPadding { + get { + return _extraPadding; + } + set { + _extraPadding = value; + + if(KeepAspectRatio) + RefreshAspectRatio(); + } + } + + /// + /// Forces the form to update its height based on the current aspect ratio setting. + /// + public void RefreshAspectRatio() { + int newWidth = ClientSize.Width; + int newHeight = (int)((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical; + if (newHeight < FromSizeToClientSize(MinimumSize).Height) { + newHeight = FromSizeToClientSize(MinimumSize).Height; + newWidth = (int)((newHeight - ExtraPadding.Vertical) * AspectRatio) + ExtraPadding.Horizontal; + } + + ClientSize = new Size(newWidth, newHeight); + } + + /// + /// Adjusts the size of the form by a pixel increment while keeping its aspect ratio. + /// + /// Change of size in pixels. + public void AdjustSize(int pixelOffset) { + Size origSize = Size; + + //Resize to new width (clamped to max allowed size and minimum form size) + int newWidth = Math.Max(Math.Min(origSize.Width + pixelOffset, + SystemInformation.MaxWindowTrackSize.Width), + MinimumSize.Width); + + //Determine new height while keeping aspect ratio + int newHeight = (int)((newWidth - ExtraPadding.Horizontal - clientSizeConversionWidth) / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; + + //Apply and move form to recenter + Size = new Size(newWidth, newHeight); + int deltaX = Size.Width - origSize.Width; + int deltaY = Size.Height - origSize.Height; + Location = new System.Drawing.Point(Location.X - (deltaX / 2), Location.Y - (deltaY / 2)); + } + + /// + /// Updates the aspect ratio of the form and optionally forces a refresh. + /// + /// Size from which aspect ratio should be computed. + /// True if the size of the form should be refreshed to match the new aspect ratio. + public void SetAspectRatio(Size aspectRatioSource, bool forceRefresh) { + AspectRatio = ((double)aspectRatioSource.Width / (double)aspectRatioSource.Height); + + if (forceRefresh) { + KeepAspectRatio = true; + } + } + + #region Event overriding + + protected override void OnResizeEnd(EventArgs e) { + base.OnResizeEnd(e); + + //Ensure that the ClientSize of the form is always respected + //(not ensured by the WM_SIZING message alone because of rounding errors and the chrome space) + if (KeepAspectRatio) { + var newHeight = (int)Math.Round(((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical); + ClientSize = new Size(ClientSize.Width, newHeight); + } + } + + /// + /// Override WM_SIZING message to restrict resizing. + /// Taken from: http://www.vcskicks.com/maintain-aspect-ratio.php + /// Improved with code from: http://stoyanoff.info/blog/2010/06/27/resizing-forms-while-keeping-aspect-ratio/ + /// + protected override void WndProc(ref Message m) { + if (KeepAspectRatio && m.Msg == WM.SIZING) { + var rc = (Native.NRectangle)Marshal.PtrToStructure(m.LParam, typeof(Native.NRectangle)); + int res = m.WParam.ToInt32(); + + int width = (rc.Right - rc.Left) - clientSizeConversionWidth - ExtraPadding.Horizontal; + int height = (rc.Bottom - rc.Top) - clientSizeConversionHeight - ExtraPadding.Vertical; + + if (res == WMSZ.LEFT || res == WMSZ.RIGHT) { + //Left or right resize, adjust top and bottom + int targetHeight = (int)(width / AspectRatio); + int diffHeight = height - targetHeight; + + rc.Top += (int)(diffHeight / 2.0); + rc.Bottom = rc.Top + targetHeight + ExtraPadding.Vertical + clientSizeConversionHeight; + } + else if (res == WMSZ.TOP || res == WMSZ.BOTTOM) { + //Up or down resize, adjust left and right + int targetWidth = (int)(height * AspectRatio); + int diffWidth = width - targetWidth; + + rc.Left += (int)(diffWidth / 2.0); + rc.Right = rc.Left + targetWidth + ExtraPadding.Horizontal + clientSizeConversionWidth; + } + else if (res == WMSZ.RIGHT + WMSZ.BOTTOM || res == WMSZ.LEFT + WMSZ.BOTTOM) { + //Lower corner resize, adjust bottom + rc.Bottom = rc.Top + (int)(width / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; + } + else if (res == WMSZ.LEFT + WMSZ.TOP || res == WMSZ.RIGHT + WMSZ.TOP) { + //Upper corner resize, adjust top + rc.Top = rc.Bottom - (int)(width / AspectRatio) - ExtraPadding.Vertical - clientSizeConversionHeight; + } + + Marshal.StructureToPtr(rc, m.LParam, false); + } + + base.WndProc(ref m); + } + + #endregion + + #region ClientSize/Size conversion helpers + + int clientSizeConversionWidth, clientSizeConversionHeight; + + /// + /// Converts a client size measurement to a window size measurement. + /// + /// Size of the window's client area. + /// Size of the whole window. + public Size FromClientSizeToSize(Size clientSize) { + return new Size(clientSize.Width + clientSizeConversionWidth, clientSize.Height + clientSizeConversionHeight); + } + + /// + /// Converts a window size measurement to a client size measurement. + /// + /// Size of the whole window. + /// Size of the window's client area. + public Size FromSizeToClientSize(Size size) { + return new Size(size.Width - clientSizeConversionWidth, size.Height - clientSizeConversionHeight); + } + + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + clientSizeConversionWidth = Size.Width - ClientSize.Width; + clientSizeConversionHeight = Size.Height - ClientSize.Height; + } + + #endregion + + } + +} diff --git a/OnTopReplica/Assets/25.png b/OnTopReplica/Assets/25.png new file mode 100644 index 0000000000000000000000000000000000000000..e98a5dda4366693f7bae7194ede43e7da9befd9a GIT binary patch literal 639 zcmV-_0)YLAP)@Pd1f>O+aux zK?~z2D(hDve&Nl$xUO7raAe@weRt-adFFlRS?+K+z-P=vkLzF8=ROH>gSbLOkG^-r zE8-_YMJNdQ<;x4l3heiLh{xklsZ??%lj*_Z@d$3W8ypS?%U&**(dl#=olGXV-EQ|g z7!1n2UeD+Nolq{9b5^UhAc`WmTrSWHlcAr%Znq2T^;+=xe9&&UjRM>4RwCv=AOJR- z4Ui2+qY;e9W46ib^#UbPM-(SQ%we$$dTchE8)OxTMbk8>*Xv7c@oOv=;|REZqoS0g z19OZH@Z-wqbh1FF(}Bfe@svm;9_bs8ri4Nv8Smx9ddx8j;JKn^vza-&-7X}P$wz$y z#^h$R3537w?Yx6i_49SHSfm&CFCAPQS>AC(ESV-yDwXoI&SWyDje;QL5r-obMB)4r zU;F(&V~#{3fXBI`BG0jB(4I8lc|K3RY&Hu7oQjM&L)IQiS^O^27)z2Q34XsHEEWsY zYBgxJT8up$4nsPfX7?}{3_w-YA&&C$p(@^HyVus&6xB+%A_Q+*=z757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVN2)+ICY~;iAsWHS2@*yR>@O^BF=$KY z$YeMf>@Ivlq-NVg-t-))&Mt|RUYE=U%|ovWC;3Q79A#KJTkBeuNQ*O2KZB>MpUXO@ GgeCw)7e2)R literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/arrow_up.png b/OnTopReplica/Assets/arrow_up.png new file mode 100644 index 0000000000000000000000000000000000000000..b34489e747f6c4d65d4f2bb82693fe6535d8e783 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@q#X;^)4C~IxyaaMs(j9#r85lP9 zbN@+X1@aY=J%W507^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVN2)+I+MX_sAsWHS2@;zg*ss)M&umCs x^hGIK!AseUx5D(%<%VG8zb1mBUSC347&NW5uD!bX|2|L~gQu&X%Q~loCIAd3JJA3D literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/back.png b/OnTopReplica/Assets/back.png new file mode 100644 index 0000000000000000000000000000000000000000..d5cfc9f16a5141391fbb6051cc6382cd52c23a28 GIT binary patch literal 150765 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�l==v9-BOCPv*ENV#bGR0oHk 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 bF9!ZU+yv;L96J+*00000NkvXXu0mjf5|;Bq literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/clickforwarding.png b/OnTopReplica/Assets/clickforwarding.png new file mode 100644 index 0000000000000000000000000000000000000000..66d9bc80fde385d142fef3f29cf7817a404de259 GIT binary patch literal 951 zcmV;o14#UdP)_ROnYA*=AP;U%I zAV$MaO@wM&G*l%a)Lpi_-A=nZ+nG7Xvs1))LN`Z-e+eAi-xY0r<+Y2;S2bje z$w{xK>$7@5x0s@kUoT%y_8#f^n1w@C_2I_l(eB@VSYcnE!H3&kz>b~-%$sTVsBe-t zqi4hwe7bulcJ`kDDHPxr9DD9xd%ov@V7lDStpj-g~ zalaUKRk#pUOLPPq=fhX6;X>jlPJDX`e}3MNX|sUNz3q7J!F6Er8mblqlUd02e*_48 z_AJ7w34|;I{Vi>HIQ|A$nd(}09PX}1)6e620e!7A~y&-82i1?Kpxv1)(sDsA>*pPY-SghP1JJ zqpQchJ3H9)=zHrLKHK-MVI!Y%;ABhwf|ABtzc0uCmRh}O^OG-+j9wZ3W9(8wZVde` ZzyLCuV;%72pw9pR002ovPDHLkV1jSLx#s`? literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/component.png b/OnTopReplica/Assets/component.png new file mode 100644 index 0000000000000000000000000000000000000000..c1796148e6e9d38079060282af20f44099970f5a GIT binary patch literal 731 zcmV<10wn#3P)004R= z004l4008;_004mL004C`008P>0026e000+nl3&F}00009a7bBm000XT000XT0n*)m z`~Uy|7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$BHmT?0B>(^dJxN4CR5(wKlUryL zK@^6MAigLHO1+@e78QI@48?#%u|5Q~6e&W5Dp)U7q0)#HLCH%%3Mz_tDJ?~amY^2t zOA+xwu@r(J+M19iy(F79mkr4V4K9ID2>kxLLJVyJS@;;{%sK!3XJ&SlEc?E`kS>P0 zNj({~T@}~zoT~GW4`j1{On~?h5Pl6U)Qs_Ga=9h}?rfpJ6)n&V1Rn#TJ|J@wjJ-4j zxL#LP$U7kSXTNMhcw#Gz5#e57#);6Ubzq^%)O!K*E>#rq4#^+HJixpQm}Bu==Rf9e zQ|ulPc?zVS8v@@e3UG%aVn$*+5N!jL7ILDDvuwvW zXe-!iWaN%4-tCZ4`vI|*xA0S6Xh%A*4LRkodGGEXiE1-;GnV$%qo7{I=O+?p(GFrf zsx>76+8I=RcH|a#NV*ID539`+&nLUhm^OO~+Dt3nIc2!wJD?p4ZH+J?W$f;`C2t>H z5C`psNOIts1UVn;JSIn~J!iv?VQV*OBpb+DvYqTA4J&Nd^oP}u^cS%>oLGX`a2Ego N002ovPDHLkV1g_eD)#^Y literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/desktop.png b/OnTopReplica/Assets/desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..1f6a7f4bb706a4d9e2b81257c1dca8fc045f8f9d GIT binary patch literal 794 zcmV+#1LgdQP)ezU0v0~n=;2C zMiWEah^V-7;Rm=ET)A=Qr}z#2f`~gmKnMt~qM$}GniyhYhUc5Qy9Q6^C8E_7UDR;u zo}ol^|9KFRgj5l`fRF-O2M7@`vJO531n1zYihuU11gZjg>>y#GM3$ol5HSJbdJ4F+ zta0;F0v9BVF$muAOnLGzivq$~%(h~zt#1*a*?`m$B6dZ9(s|sw-olf+(+H74;RJc959_ z-R=>J5iMiMXHA^-(rwd*Mx^$uu(&YQz}roY7heox%&ZP-e_2jR4N|IVR1C$^BbHQg!~3s4(ad7ZPj+zo z>I%At)mT8XF`93Mv=u{F)0GDVbL46X)N^E`6D+N)V(s$)J6+4m0v0cyN28hZu%=U* z0gGV+$3jCqdif?S=@Fyc!9}C7;WNyXBdl)~*f<_S^X1j{cZUQkHMS2bSVq(rBM8g2 zkFVG4Zeyr?HIK)05{J{*(0ca<3vrBB->l;OaK4? literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/empty-window.ico b/OnTopReplica/Assets/empty-window.ico new file mode 100644 index 0000000000000000000000000000000000000000..ca5edce1402e54eb04e80c5c2ca8916f7ccf019b GIT binary patch literal 10806 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

    vF9gJ@Je|yRw3>4@pRamq~Dp4(LNsCb6l7h zFxvaNhK=nl!`NSOj9@<~LcbHR8(Zi-?bzqmVqdcv`#kx*DcXy|zJwn4;!U`(*6XtM zj+#2#MpqUmJu}!_!ajxt_svc5psmeq)~oT`DX9s26!tFMjWViKzhI7x21lGZu5#B<7XuwJcp5;yRJ8 zU1`>!YgM{NrRxkj7hKG_G!x+Ukk@USwOe{7agC6_K8VxYjO&+vIv;Z~b3d2v?b7^7 z*CGeF$Av!1-2d{r>~k)=W$N44hct6%=h-8=uGs3Q8HmoicrJY}%|qLm-Ec1?;`cb_ z`+B-2|KF=N>vUaC^E}PRm~AqHn9GLILq}Zp zzJ*_Y@By#7vcg?cRpG8Ct1Nd_R+KsMTSEuTo-+r2FX*U(Rg{&|YcBl$(DR#*f2}Df KNIv}U*na?MF7@;P literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_czech.png b/OnTopReplica/Assets/flag_czech.png new file mode 100644 index 0000000000000000000000000000000000000000..8308ed84ed70128030d13e6315cf7864c24d4e18 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ#}*A-ZN!DMTwp+jv*HQ$q5p_8V)aiYp>eCn8LvE|M%Zso#F><2Y8gOitsQyu<72b z?8+$KAmz}N{Xy!3v)iZt@}8=DB$hL_m>hay$fFRZ+{XCko-E7U?z06Oxc_;1O3t2amNsq%TE^h%>gTe~DWM4f&;U;T literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_danish.png b/OnTopReplica/Assets/flag_danish.png new file mode 100644 index 0000000000000000000000000000000000000000..d39d4c1917c8e11a5b4a713cb900312b21c89195 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8oo45Zzdi4M2&;Pe<`LC`0f7R;$r%(UC zfB(O+@qb?4|NHj+KXBl`l+?R(mw*ON`7uKTXq{q7kY6y6ix)7=KX^eAs5sHn#WAGf z)|B(^d<_mf&VlD0UhFO3@n5qurG-WMNOaxN?gteI%RAPtO5OBCxrys2``Hik4jSof zy1TF_RAHyLcA2}Wk(EioB(EZ09%t>lvPyAN!Zie>ud;V8 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_usa.png b/OnTopReplica/Assets/flag_usa.png new file mode 100644 index 0000000000000000000000000000000000000000..aed8f11f9992b987e25e3344be224bfc6294d3c2 GIT binary patch literal 355 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/fullscreen.png b/OnTopReplica/Assets/fullscreen.png new file mode 100644 index 0000000000000000000000000000000000000000..b1f8a2b0282f2dd25a2fb69f343d0696a2db3241 GIT binary patch literal 396 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon-new.ico b/OnTopReplica/Assets/icon-new.ico new file mode 100644 index 0000000000000000000000000000000000000000..18362992f3fec1ff3742fd8b63d393500a8b5cc2 GIT binary patch literal 86918 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 A{r~^~ literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon.ico b/OnTopReplica/Assets/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..791a5e2abbe1788c3b7920ec0c87ababd4691435 GIT binary patch literal 7358 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 QzVN^OFZTb>|Gz2lpGUyLN&o-= literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon.png b/OnTopReplica/Assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d87244edd38607b98111a0e4759f8eddeae7ba71 GIT binary patch literal 7335 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 N002ovPDHLkV1l0s81euB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/list.png b/OnTopReplica/Assets/list.png new file mode 100644 index 0000000000000000000000000000000000000000..33b1ff0345e156591927d0d05e1ecfd9f064a89c GIT binary patch literal 681 zcmV;a0#^NrP)A}HuaqOhR5=&~SiQC$Qz3cHA?yv$u#j9hbRHa8V# zuG)sEJK9d`>});Xe6fR9df>;ty*qo}=Y7t5gudvFJ1xd$XHimFY%&z;KlAK1+rlO8 zEw*}H)-LzsjDd}A7z-{u*8^JX36l%T5~oJj%;w-t2zG{ zxYQVY+I#tAPAM+y?+?t~qxzN2W+3FhJwIFCWqDGPrdTrZ)#L2)hp`8I1h`?p=)OAI z1p_dG9CG+vabVP?4B5m4%g8CF7#lpOg+V9Ho1(=z3RF5{T*k9n6BwKbE&k2QbJezd zbav)P+~ultJVu=lZE!4;3odZ0BG4E3J>qelp7PjRq;z?fZ{PbZ?SYy$A82lC_ZIQA z>&+`cs-Fk7APq+Oee|7ocJil$oQm9yc=$y3)y@tl8~7L*9~=G9eT|*s0$yMR{M~p- zA+}Sfdw7Uo5xf(JV~Mx5Ly`JVgMk;R`ACTzI5aLVXwLgI=MWF}p8x{@XDi290elMa P00000NkvXXu0mjf+9*5T literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/newicon.png b/OnTopReplica/Assets/newicon.png new file mode 100644 index 0000000000000000000000000000000000000000..37017ad33c7c87a6c2f945feeef56ba0acf1fb3e GIT binary patch literal 770 zcmV+d1O5DoP)ox1a z7VLs78w-Twn-Av3{~$|-zu*G^SqOdx;hVJ}AMnBQ&Dz2Hn4Ot^S0z!i;tt))?&_@0 z$jFQ=0pMwOX>*$5zg>pb(cZZtgfGAO_PeJ?_wOyHF(!zJCQXxS-2F;O$=42AMKy`D zR{lCUIeq@q55Ky_t;0_jj~+h${`GI4OIIMx4-s66UL0h$2W;Exgl!8Q8bsbRO?dX? zs~6QTKY!+!K{wr2mfJJvxWn`*)C@j7;JKBhLr`boHsDuvaOCzlPd;FlB7vN zpZ73iWlX`OcGq#khQZAY>KlR_8=Sxf%LKyB5r%P=;OrcO=yL^3;u_a&b@}O%>cL@v zO@e0V5G}o#;lP@0MWz$du44L$=qAm}e*pyLG+?njLtWg$W;Wn5ZMZujHa#U|@IWvr zGG8`vfS*V;rE7rvs%_Gb-I|KA`&Eyt%HY&1E;>bOB2q^g%6+EdcO2nEO;$)dfGMhe zuy51XpWMWGQ{r@OaoM-H!`lC@6_*llwj40FYsAs#p@MTh3!r(*$bb&*^=Q7r-2;P< zWQOzTaoPsFZv;cCvAn8rwc>hXuv$|Iv!B(C8N!i=7G}_ezu<6>n7bM7?De>J`v9wW z1DAuxvMpGSpd0cLsNw4cikD4Fgy0}0N;%u?mtSn%7!ajoot3)sraag?L}`yn^cX$Q z+K3HXJK`;Fr`IoEY$%>}ZF6@18{?u-(`ige$IF;<)*bspTj zFHZE;tCNv)d6CsUpgp2}NK60YICDtw=RX1r0DQbuM9q8juK)l507*qoM6N<$g4OVC A-~a#s literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_bottomleft.pdn b/OnTopReplica/Assets/pos_bottomleft.pdn new file mode 100644 index 0000000000000000000000000000000000000000..6658542355e57545d1b138be337b56d0ed15ad29 GIT binary patch literal 6696 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 HDWM4fG=x-j literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_bottomright.png b/OnTopReplica/Assets/pos_bottomright.png new file mode 100644 index 0000000000000000000000000000000000000000..96ba61893ba568efaf9bb9835d5329dbfe26c4db GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9}FK5etQUh2#kmRT2WL`C{*P zJP?+)m}qA9|8i4PfPqKPizytJV&dcbn;er4A7t=i7GzLs>D>2Zg)bw}LIzJ)KbLh* G2~7YYM^pg- literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_null.png b/OnTopReplica/Assets/pos_null.png new file mode 100644 index 0000000000000000000000000000000000000000..ea301953f4a137a0c2a6c12010b7234431bd3a53 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9}FK5etQUh2#kmRT2WL`C{*P pJP?+)u(-uR0qGPfD8YB{i+h- z5t8O(YhV(5lAgjN(|LC)8IumM=*;A_ kY?eJ_(y-*g@em${tp58O7Cx@M26QEZr>mdKI;Vst00-D*CIA2c literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/regions_new.png b/OnTopReplica/Assets/regions_new.png new file mode 100644 index 0000000000000000000000000000000000000000..25947b96dedbc6263707383ff7bb5ce7bf0e4a4d GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X3O!vMLn>}1r6eRgU`i5Hc$TKXTf_RuT%k=ypuYW)iH6!V z{o@=eCXGL21lSoqDl6r(NA6b9{kM0%%TlySL|m!d9m;Y>lp_f zt|QkMBz|b~s4cKvoaoSMu)snySk*Xi%3MY!9)_5W`rqzs3j7VUoWax8&t;ucLK6V& C9z^W` literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/screenshot-icon.ico b/OnTopReplica/Assets/screenshot-icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3251e44fcf9b29c72083eb6543466410d9926753 GIT binary patch literal 99678 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
    w$YD8-Q{R!9jryL4g5{Kz1u|y=6WF!x~3Q FFaU5&7=Zu) literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/thumbs_up.png b/OnTopReplica/Assets/thumbs_up.png new file mode 100644 index 0000000000000000000000000000000000000000..e77b7f130babaf80c65481efc1d008884e60ac86 GIT binary patch literal 2318 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_border16.png b/OnTopReplica/Assets/window_border16.png new file mode 100644 index 0000000000000000000000000000000000000000..b9bc0b092087debf2200041e8334bcf20f508a05 GIT binary patch literal 683 zcmV;c0#yBpP)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$9Fmkdbk^le#1xZ9f zR5(wqlig3!Q5=W4?z%Thpe!I0ejuVwNyCJkqnH_5G1pp+%qAiT=$tasD09wgX0Ekf z)+(*^&*>sm-gLwADUT2ij4HQC0cKulA#{1t_QuqH}~WIKyj?%1~AKXo@Cj9!}%Fmd4Saq#~Ta z986HwouV@G23zz!j*(9^jD6+godt}?dNTm6)sK59CBi9=h;Vr*PEkjk;-I+qq_JLl zOYPMU93B0PYy2DTyNeVxWC3(SZ8cm!ki-(2NAk{L@WnBQQdoLlb7=4#b;BR2zww2p zi3OVPeaCb>3!t}m(kLoeyF|Ecmcljx@Fytk+DLzq)AyG!x%x5{RsnT=ag5$s_O%Lt zcOFycdVOb>{+Wl%6lVkW*90gJ%%N?Gp%nmq`=9mCK3c}ym}Q_o7(mw=L+y!CaB)pP zy}|Db{Rc~&d;EivrbwoO!r~XCBVS_Y9*MlY1{7)oO3knNy+b)I(kdjk^Ao~A%$#(e RGs*w}002ovPDHLkV1h^TF@yjB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_multiple.pdn b/OnTopReplica/Assets/window_multiple.pdn new file mode 100644 index 0000000000000000000000000000000000000000..2641e329e05972bf982e65852fb0269808fce01c GIT binary patch literal 8806 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 BaXbJ3 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_multiple16.ico b/OnTopReplica/Assets/window_multiple16.ico new file mode 100644 index 0000000000000000000000000000000000000000..6c48346dd69e92f341301e5d260e9d4befbbe0db GIT binary patch literal 894 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_switch.pdn b/OnTopReplica/Assets/window_switch.pdn new file mode 100644 index 0000000000000000000000000000000000000000..72bcc91da1b19273df35affdb8d985bfa6af0bc2 GIT binary patch literal 10464 zcmch5dt6&pwm%Hd*wRvawOUkaeNSw81ae?n8k0asfDqm<$B7{?0!dEDlK|yZ?X=@) zMaQw;8Kz}?_Vc@5%g>+w1f}J)#a72kQR|3fX#=GNdX)wWmXOC;zr7Qv#ZTuqbMGH> z_?&h2^Sjqxdwtj1q$s%hvGDqsFaPXe20)dCChWfmQrCuzCtTbw`iQCsH99F=GN*QWNCx8xI9l-UFwijiSz0#WjSRPnp{(< zJ-fkDR#+f1$};SA8B(@}Z>$t6${JNhc8<|jTEkVQX4=v-3Bs<*Od^a`c4ISNpIa`; z)$$v1L|QGGBP!N5h6GpMvbK; zsoB_EZY|C!;W*08^+oj+&AE2Iu7T~et8yhos@PVj&gV#z)Y+o4Bz`8T%1z294D}q2 zE}O`+Hs#yv3$&bSuB0w4w<)>A?nt+&a!NDmQHwP*rzE4yDj*F-qExm{q86a8s*Gx# zge$3VN^RNYjtX&&mC#iah4%6?v5{jl*)6G=B~p!{sxhyu!DvmX7pG_(Ir=JrzA3kf zUBfombYxDGHZ5J5&&T8J`ljSsS(>UOS>0$(<`Pno(5$c57h)aQmPQd@ZRA)D75ORY zB6by5R%uYOGj&L}3NBi|P-m-7u^ChXjwzE}p)eVXRjJMSdTz2V$(SrI(C4Ss+bUEV zhgIchA}a+7eNAm@v&2|gnNqJ!X;7t>aqA>Wsg4{@t)R9}$Iq0M%EZc)#?0d6+-5WB zaO9G;mFdQcwCeI2aYb5AL8>ZQAF% zE-7$uiHv+c;Y@8NODk%mO;WX)C~Hb4^cjS%oXa)Z(;U_10#2G$p(-j*vX+UpbyX$F z>>{F`E2&QtCJF0>jv^;%tEsK6vFj9Sr6JwGWtWpWnX@(p9cHQ7n37zbU!>>j6hwW2 zwNz}((~}xuWknSs$S1jl>}qSKNaUz(;Bw6kd}n2{y0A1)Tia-8l%%Ohwx-r>lNHpH zbyd~QG^rlrXet_vDyJyLPH1!~jfSFTvQe8R(xAPQYNbtTDj^z`IVwYnR-w>0WpYV; zmKl0+Q(7ITI!$0tC2AWqM5CUYTEjNgaPr9dvYOf^w$-XDwv;LM2Zq_QDMEJ${{jW^Nn_`FwZHf zV&^D05)qLh&}0ZXNy0p})+W;z)zx!~MUnW;Yk-XVmif?Al^!inK}RuoiG^#kz)i$eHp?`Qok*!v*Q|7Ck zWn_cem}Ru-^(!L~sHD_sv8oL}LZxm_#()19qLv^O>B@9&N+u^wot%*wg_ZrcWjc~d zn?Y@~#-NVqP;QP2X71=v(q3t^sLfKfRe?9dx|XpctO{+cN@p>V7PTreEG#nOXJNNo zk6VD#e1Xnl#a4-pO$}{fvyjy5)k-T$_Lj}1Cbd$h(CeDjs?CK8gStYYx2b;|fOo!X zaoVB{!!Z~OEf{ zn`4Ef0dK+_B_wS|Yb5d%OLWj`mY78gg+)Y!MMs5&-)LQ-!lITKEo!4hXVux&7+FZF z)Jy0;zrhjxWXjU|v9b7Y!dNUUZbAYd0BZ#nE0L%|ZzOK|$?*kGK`vF)ljdl-RAK~)h@&L#A$I%G~xF~#{>#mO+ z0-e>MFa_gBkP1st<|dPwG^x#2o!Sy(v6(drrFunh6gwENR))%hJCvDb%2Jb+592a&io;vrNC3&)fQjrch#vDipl z8}TrzgoOwBf=jGTSZqe(+K43F9*G_O|IY>NFRKl5Jqo0yY7~_eR?@uEAlF%zLf4v5 z)?CbTIKZzk$c;FSNKn{aW00fFQjU^~3sv9yf~{%Sw_?f#Thp&^ z#T*Q_a<6NR!k+Zsb7QPzOs!sRRLM+{_h0X|_&5Zi4hy@GG#eE9#VU6FV45RPAqqS0 zjfj9VUX(?tFeWd%LquDw_<*m!FZ_h_Qni6JI|X`D*{}g&pac+(zpM--mOS$aDu+d3 zn*3v?VMQYGX)n9J#NZr*Hoj745h#=mS~JR`suldhkZiwNS$oP<0TaXC94+(5O)>b5zZ7m%08*eW<3yDP-4r?2#U>MBy zAPf%`!ZGcGFpr?Zau^&0f-rnkScFMq2~Z^*!QhY(gc0Hf92HbfK2sAPnBBC&9mu2+p*o}!9i&ocK>$qtvYJ;i168})RGE^1^ ze<@_uDJ(_7+j^`@twHHQt-|Q&ejOVgz5$mosnE0JYhmHxm~I&Tx?5?mR*IX-kO;>w z<{;ivIHn&~^aeo_ zLBhNXAw7mltY0C4AC?@8$B_skVKN4hFc1F@5~f}VNr6hNS|sqpQeuJ4jFHx0tKlae zTMj>K@b2*wk1c?oHFy{JiN`y^Pk2x_RA8xb4J&yQu4#~1gEhrZ{Nuq7>JP4uDl9D$ z;aHL2=sHwbgSEj=eCXg&KZeA&5_BEF9ia_lZ!bM|FZw?9slu3BCoAAk+-pJk9=&%v+feW{NN10aqs~{Q+v8*sY751Jh+NDzure5 zg-)gt+~AW1*i;YXb~g2~{NZlGx91SRn{(j$9Rp|lE|@2oGpB)izzc2xz$8X`#3 za{zWSJcb6h%ltA!bu!c=!1LqkfBlA`3V_N3@Z-_nxjzT`&p^Kp^aAc4@129r-)*BR zreiMCQ32?F6TrT6)-48zLd(9yK<}DUiKhXr;Cd6>@u%h|Vf7@mPeSLKQ}hD?v@AT! zP~)S_9~pRYr_U_}*iP-82I(ZwnF#MyfcJO0-H!n5y95sf;A56cE(Tf%iOwFR6(t6$ zz{A`%2M^3a>G1%XlJ5n!7bm>-AcPXntKM_4>%l?b-afkRHIO5?)qNlAIe2K3E4zv5-uER8 zUV`I;KV#^#gZmH8EsS^XI}InvyP#A0*rnM4(sz0eE~0MtTkQ5*=1JFovbXmw7}mi& z1kSwOcI!0##=(`I@!2z%@}Ai;GeADNhWP=F?*8H>cRvyB=$|EjO}6#Qvw=h^(R&VV zy<&o^Q?~nN4_%2f!PLP%r=Q~5?(>XyzqJz$L^i_H6X^p7TMzcQUT1GXW;pyB!1>N7 zKlv7$o|+jjST7#y5B!#ar?AUSQRCWh=&-6^CeH~g8T+2Ggc0W5Cqeq*m(v47pT9(( z{dQ(xa6Pky*Ye?)6CItK{8WWijn?8$12i+E6IT`<@k1{1SwFxGw}+Voo)_8~K#Sg> z2vY#DkQjhmfCV2w%-V-OmxW^RH6ljd_AezOgXjfJIz#&*F^kvSHs_yQ_+nPL9ksvg zhwru_e*Q4q&>GH8XK5V*55o>3kRxYrC*FVip$h492Z#{&OuqP!F}*WOy#Lrnm4mYGRH z>jpZT7Vx@XeFwgE%xRva2eu(xA4LXcY2N6z1)BaL=_0S!15$d22_9q3yQYA-6W)It z?M5~H>#OvL`-9x~s7E}!jl(=2O$|}g^M3sC>@-oL_jvaVcdnhH@BNnEI81wK9;0m| zk3kDsBKN()*!jOf;B9K*ymmG0X^j}>-8Y*C-lrWh4_cl!FK2V7Ky%U_E4Z9!bSAYZryEpuI)Xs7=PpG$87 zkG*xaeRwaqb@=J4uTh7+yJp&F22jl0#~keKp6H;ko3Fpn@daHGaGe2BAnv@Z2c)9P zwijE4J+R_QUpI5{gNq$gRA3z*pz#fix{!W0>%~nAyG*Xnh!y8MZuz2bf&Li2zDVri zSuaXkUwo2ej-I(PfKKi0=TMl?_{oDTaJcSZiW6Fpw#r>7d?k3s<=Ydc2RyD1y|kM- z!}FY&rsG`xgTxhSosyUtI7|7w(C2geKO=TS%k)4y#}$7WJkN9u5DwTU_fu|vFMT1Q zpLc?wPri+m0qxd=mKDe_t_Kw8G8kd&>Df!f^qzO#=^p7I*Td%rTptnr+XB+o)5ik|$0_B*J%1oS+!io+#yd`c zrtgwx4h>A19q4_~)jH;(BHkJCO%D)zVE2Xim9E=5_csEOL|hplo`aYR@zD$8(ZjUF z&-)WuR(bAsWS`DYZSIthMa%&87obAqdu^hD$7`O+9cyL%bGZVQU7~aM^1`}5o)-b&8!S-qRV0&LQgT{3*V4DW&aVC3jzL}p>{L8SE2n9Y?*^BFKqWhgcpQfPOH&Qnu1hlaKg*Aa=m+$xm00 zcI;)Sg}4#u|LUb}XaR>SjCpK-jO#Y^w!Zk`%_t-tB`W725hVlPBI>piXo;hQ`!zOJ zslf|LO!PE-7}`?G*41c@)yPJOl}F(I#}?i_PVj^PZy@Bv|6tRb(H!0+>e~Ik@Vy}7 z5>V5`4(i#EsXEBK%JqFIJ=EHe9aAvaw+Tp_;awAPmtBzzZ)FI7ka`hm#Ce@faSrb4^*o23^3hEl^JqUHf6e{fXQ4rfqj!EXMcPAp z#=8Ccx}9#=g!Y#B{RqSij~_-W!qD@ctCa|N$~b!&sR<2p0Y6ORonC}F|2ZH>wl}xQ z0+2Y}AnuC>*g~F;R7aC&S(B9oNA@bTx&fA}uX>m=T`sIw5 zL&ZH1K_6gvd)`9<2RdG8Lnv#>r!0{S{ml~*znB^xKZ`D)c6!&dGxr}t{}&-c|FLbT z>+ZRQmt0@n))x1|TaKH?xIJS)9WgvkPFikx;^~yby#v0x{>0nCK%();>|j|BqlF8G z$6c?wY15wvshOc~p6~aje^fC*9!W@Eg)o$0c~(8a^_(3CWRvsptKeeS-OB8am%X!O z*&VyiEhJKLf1RLrc^*CcK6TzO-P{SV{`|T?`@Xhw^KfKV=1<@H2Y)|Vm%h|!u ze?i^HXbQ#aM1T6uQ*X(~q8EJWUT&D>JzK{%>L7F}FQ58rV#ptn*N|t9YU!hfbAb;S z=(?NxO1|%9M1=`2+QeiRyz`XL)wJmF_ZYROv4ii$diMwNj>B2QxdrMBywuKoCLc?9 z|6N%9TltqUKV|;x27)P?^ZHG*@~;Mo08}#TU4PmW7`Oy9J3yg- z2GM2Yw+!zMAdnKjXW#&um+A$V2;gIMh`$Jc`xSt@>0RG+U7o!%)N?yHFC6aj?SP}c z5ufWR2JS;w5J>;%Ip8CJry0nn;%+~!rFVTcBpq}uG^`wZ&fWJHt$5dr&;5T!4@(D6 zb*=e0fVjCeVT&LAY_Ol68JZje^XV0k)bgeLp7%~tqbI%wcPlzbp$S$~dsYv<#9KE= f&NqB=#~pg(RroLM#EDzwvkT~wRho4Rrpf;U^;a;g literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_switch.png b/OnTopReplica/Assets/window_switch.png new file mode 100644 index 0000000000000000000000000000000000000000..987ef8eea5050eb07f43ac3f3fa443d0359f85a6 GIT binary patch literal 456 zcmV;(0XP1MP)L@?7krY0000j3d}GchM&TU4`Kv@IN>RHch;R@sca-{oQ5F2$Xc9I&giuiCNC+b z@zBG?f8UqUg67v#pYpwT4SX;C4|T=t=12XP58ms$&U=sRYZ!rB^8V~QNPho0_S*0N zx1YHjBc~dcfzGU*2zaL@@Q4T?wc-pa-1HK}XyiCvksEpR9!55v9m*HPv)mS3tj0+J zsBAd!s-(twY=w$jyv84X75tMxA)1pdpS<9r7c;stJrhrC@S3z}!PDhr1Js9Y5 zM^Bb}m!+gZ7R!VOAO{xTAwUfCmSn)$#+&F#varFbIe^y8*`?x=<>ejxw{DS98b+C6 zV_lrMq=c(qXNNquQixFpHVZyFuG!hMJ9~Ne3e9!#Xd7AYZsjxHB@Knf)bBOOZmr1N zzbCJ6>i2Fx-#@Z3b>7>bZ+*8gho5`=eh>WiWBzP@w2bz7XGvs>`kmr=XIEyWh|A1^^)8?o$&X1dI7X3`d_2xjT9At#EQ^bvr-^WBfI8P1OS%IBVH zh5S*v21_Jz`KtECWj*aRA(q@)dRBxUsE2^a! zJ!sclzfl4Rr`xP_k~&LRsKEjGkv7MLn%37|;>6Kr1`CQi&C38xHB+mS6{1UrKXzr_ z83mZ7Tk1PREIl&mwrT0XpYEfZa~0CeqPEb$FH9foo^H<2=@R+vFYcPsNF+Zdz-SLNBh3Ja zzu1+P!zWy#`9>UI*u-GOa>~dFnnhA^q^>|8cR7J(T$`+%KGlyukTa>tOnGuFb^p(ZJ&%d8s5Jz)?nAO<8)!y6P zr#q!}WSWqT9vPGJ6eHS`N&`G-@=Eb}#5B~}-JhGUUE|I71(VOR4Q-#Ui2*2LE3g%@ z)n1zLYIe;F&>gyKT!~8iv#(R<^MJ|EpA+WxN|3N_*@xq1v`R6Ztgp>>X_7P?d^1-L zSsq-KWl+4}izxa~c$XPIl$=%5)B%1*9yD|B5NAM3uCNoq6h*BCcoK@)4Pfue@(=|(=8(j z@p4zP;uRx`U=_95ZJkX3?HIATJ)c)aj#&>2Wg_W@#F`kco?4W&P<0-ztS!LO)52>n z{R{C^2x(+Dn1xote_Zs$+FeTnI7pAaalD->+jN|hB^Hy)&hhnk#!JaxRq5-<%T+p0 zI2r+tv&27tFGzw9A;jYq89B^8KcrTsy_LO4WC{|7IsgOqNMg6>dcK{hzUx*E`P~FM zZ!zWE+bDW5Lw4ck=NF333f-Im2m%+NjgZMqhA9S++|+iH0{_3LPFC4Z%&%eaJF*i< zgyKx6PN3Eb&wnfE^TszpiI>5@ zW?`s4uPvFNBmeCfAmf>G*r*ACm8AmS0N|BEgy@mJk1_AYg72mxSQoQ`N{&pYrzF zc=Gwo*4R#UX_3u?xM}$)npbr2CoyMl53aIb1XUieGLkq89IVX@@hH$;wcB_Uwpn1#RC^0`CC!~q(1-<4T??v3ct3LS%T^jmg3HemwJ_0=S_Cb z3b8&TlaxOywFHxfqDB`a1V%>!Hx(8BL`PA+vwYRa)hUu5@gwfBkAc;&1n+*r-jjH5 z+Lsc>tHOaZH#l^P!g#2Ugj-z&{fYU{fv#MKpP}=%JRI=iSoZ5py?xej}jZ7#wHh_+gmk+w@7)AaV zGWhi)`(VXGn0N>s!vt4wK|%78u*`nMrY`sMS6P1vK|<#Q>_0?+BkRl?lmbOfnT4k=uD5HK5yoOb-0cD< z-H%4rpAz**7oV&5Km2ycq4HF*UPr$1ZNFH=5~+>APw5!k+j1)_<|YL}2@^Zq(gUjO zw=NnqQz9lni9gHKJl-fw4nBaus>17}1d?DgQaQZ=XJ$ma{3I)GT^<&Ra{!9VI<-+0J9KqUFeCt6CLnR_3UbqM$_q79-Kay1%aD z_QY&WE27?Q7#ji8Fykjpc1k_EBLXX0&v2fQ4y=5S@Hz?(Bp;K+~0M36_8A? zQK+7;UFb6g!$QNHPy9T{+K89rP|k2hW1JNOy-KxNz--Xbmnl)olxRSDZD0^Pr!m%o zWHuT5TY{Gm@{4utx`v2=2oSq+D5m*#PlNlt);DQ zTQz#ZV_Q>%pgs|yB*<0c?IhtiI>N1N8yg`dJ&-SiJuiPl^HI{4$-l=R*4!NQXO0O&?0$3StxqEazWdY6t&_%ykM$?vahs&!W!vvimSd_NnD1SyZ z)Zrz0?5j@biAbmc9@PQ4iIUj`AwqTiCgn3vG6?2g+oY9RTLcmMa%Z#lbcoXf{h4s& zb*k589sR(qg+$+R8Ul$>dlEgc+$aiAKMwx;Dv7K(G?B$k!JiXWQ0^b6!{+ zC{7l%DvcJt9$JNfQqlg>EV ztJx2b2wyP<%pLV3Ru+phykT~M(uAk4|d&FueBqJ|t z@1nzJK~%f+?^vfn0)MWEcC%xm1ob~xi@)n)!2O={M%rd7L%bW=C3-@mHT)}AXd=m% z3(ONjdz`?^;I@$aiS1>|6{MHvm5KmM3D&DHSX>k<@asy6&^ z`;!GI`U{+v2`NRtn{L5Z5Cr$Khw1VO6wQ)x9@zd&j6WLJ0)7Q2fq1(0bw^``iu&eZ zzO6#ZWsuRvG_n1)1V%qO`((yYC9@*Ke6oGJpc*qOdws_85)FZz3O3)gC#1ZK+cU45#{dM8O;@|vcI&a!OFG^9tD&25>O zsxUb3y=Q1uwE{p&eK;&ao(D8e#k1M7#jK>EmU}qTDf3?cFYGme&A%7BhV7-CQ%kpp zc)rDj1De!*5-3Oe4?UbTH zRRjOn$~P4}zD*e7W-ConBGj}iMut<|Rya;Y-N(5|H_)9f1Avprv^%A?o;t|`Bye_l zgwo+^nym$$&weGa-jxaXt;X|HNkB#SPi~h~`FuEUhP*^n+WFS7z8FVZNRyPBQoD{8p>P)7L~ubOlsx0f*Ollj z^4G|Sgs<7AAOi@(4w%RxvdKIDFT$%>Ds#*I&X>jfxK5rn{YlUlWRV1Ab3B_Pj(3NL z8GauhuSWuVcm)nIZH&RFD$#0iB^DfN*zwZPq=kh;`YP=xfH;K|ND%S8l>qK6-(fvZ zegwIQW^K76X1!^7*ip^KdCq-uDB4f(+psSv)b=dmHTP2CbIyMQTbYY4MN(oDyt3W3 zsN6GULE1VPA$a;1YW|RXBPatXz&zk^wU&b9cm3c@bvr?y`Z26x)#yi!6!p~$fk5f_ z4*CW>u4wz>nb1tLhsh=3!b4JtKX#0M&-(o(gTMLFDzbdS*hT!=5oO&2em7^SgE=>; z9#cSWTRE3bWeFKSc(#|(oh}&A`0f3LCOlaz8vmoBIuq|E7>(cd@pS|D!E|{M!ku;h zPe_qAib+*LCySVWC0ohkeeHV?)i6y4W1kF8Q>l`0r(?sh7~K;Oo$YX(D6498=>uWK z!XeSk$9R5XmtMW4{PsScXrW=n{a}K-d@fyNB2X&i-*f?8+8(TYFLUZHniujF#O9A7 zw-UHK9=F%SF2VM)ZD$o4sw%F+f6Uj>14h@oXZ*<&s_ zD9AnrCX2K0)P1H)V*Kdc6o}sZBTE(5_KzkOim46$RBJsJw7y-Q$f&*S)%OBW^`?D- z7cj%P?bFctNFYR6n$U_8k&li+N7nVwoX^junI>zV(-TYeAAjujr7PQu>wvePkA|Q) zCR;!>Tmn*A3D@P~;R(t_G&+R~J)8PZIXZYN7{hFMw5!%eXoi|3XAq(ofv;gcE;x!T zG)1_3)%BAOj~x#nAG;2L!wzigtkZ@|6w0au?0q$&1eKbApHtoT`ER*QLLbrEr$Q-= zdvH>4INxcCZP0S>rRax{{objH0e0m$7 z7VUSCiA9OcH_LN4lZ$#q)r$zAbRD%}R#er$?{cGRUsbQCif9M{No&)rFnI~&^3rxh zuW&F+fpSn2_toh$d}XltQ{2#j1LX**ALHN7pGfF8KI)X8!A{9%Z1@UxzD$dNeY_OM zWPJvGABB?GIKXZ=Xjtk30RGR37SUDKiqlPs^k*5(S_W@Jaba6*T)01+={^(kkULn0 zk)(GLlt;)%*!#&}^*FaF(cs!z1^N`u$6#bo2J^g6tGKzZ(IE>wRPQNdK6bVryI#ud zR5e|0J;jc&Rk0t+wbxkNZM*~KM=KTq+qul0Vm%q{zO(t1B`I z3FPWYpJ!VbTO1*;`W6Gnwzy`n?J<|-KL?Ol=j9hC2yBfKAls*ZAHhQNjTo>Ab?s)- z@FpPEm1#bUK;PGn4?N0`+$eHB$eE zJrqx65U49;GcxPX4`*ew;B0y(Ymm^raxXti1(?gz@wi# zgzZHGFEZbx^Bcc09TXfE9&{d*)p2*Z?=2Y;8X!vRfMt#Mp@IEb4Pk*a_#by51on}f6#kExm+o+-(1(}>@-we zjZ)pa3;r$?mxB$S(fP%lVuB5*^=EjFSH+ORptfw1M`-B1VJ?A^KCqqYYzBSr12y(7+YPA9# zWe5CRfr8x|S5jIqzzw$#7dQGZf0K@c)o{eF%kyQ_MS4VS+c7X~Pwzr=d|vA0Z*#=@ z1~*~0ruRd#N%6b^fHgw7f_PSvyTq6X0(4Pmi?s?5H~8@-2Owz-vwevUoN+?4X2jsy z(dRt9gr6aF*^iW7*nO}PGM;@d#}`C8LcNx|qxl4O42p?yYnu`2uMq-AMRC{-dg58x zH(;AZ6qYyA(!=fWFkw&qR?N%zs~-nNF{>*2j(zA!S1#UO41Wd_c0J4waD>(FCI zQ1%QCKI~y6jwp}WnB&s@ zBipETon{H+rMp%A^1(SybD$7{7`HW7WY5<5MCKGOmu5ZeO1592@WQ#3_rSauE1yJk z1g0!rmQ@By`O>O6%WZRL9vqLscFrwaTSy;FuDj3i*}aS}W+DfY;R*234n2);t_Cvls1B}D;%nuWr9oa_@09{ zEAw|ym;3>wBR}#?D#fU8m(FkFM5RB!c$F^Z2Wr;tzw(AbR>ZKud+vDpc?dRcFeSh0 zd1)A~56O-!5}edPv7y0EHA5Je@CA?)4Df@zU-;d?b=m#+O3z}aGr3s!>V!3g1n^cl z!nj`HZ6hb`h)T^X=hg|(bLuWNGjsN00FmfZ2eeMK;!DQN>W1Z+K3JWMpx)+tV4 z)j>qXgSf(1lSnZrM2&Ljpi}R{=$~{#?Th(dRJ;3Cgyi$P(~svyP*9Wpd+4yjVb$}D zg?8ZIah(F^QH*q$j~|NC8|+zFVr!MW7qYL+QnG2zV_O3n+BF3nn~m+;+VJXuy~!5$ z)$aY)B;LK>Quv`%jDMmT&D)^ZNQ*Xbu5o_j$PYd z?T-&!21geaOMq%}Bd=DIgzVo={SBmp(GSjrJ1>qoOX3eRKaydj7_5+vwN|tu4c{FQ zN9VP^$bM(}^0}rnm1@E~e*cilyGCN;o1lqU&yhia0qT`IU@;cQ{e!v6b;fi~(%q<# z1}ia#2l?Xb$|7rql;EZj^KIa)!|?QX2$%(v_XR_9_lId}8_ zDFv_;eQ3tL*Xq*EPG@85;B{H`OQa-%6FusAc$#P zS)8GPGLM%OWmYc|#O)3t;S%YYfN;ROEcWba+HG4fm@(K^O8Y;g~gqej-HdyKnT%_!_^lGk%EfGDqRTmm+VK>V67BKQO!W&@IRw}=6v+iEfY@< zCJ}|7aj_r25C<8BGLlhXJVKc!zT5^)Cj3Kbfe@C4=SzrcB3o$J4~4VTjJG(Kwys$! z)=EKY!c&+h^USjcFiygv4b}d)H1Y*#LYgYud=j}2t!6Cpv~bU zFJ1q3r$S%R`L{>~gGsQv+Kqpid06%;mN&df7NR#{k*mP#h6^db1J;%!mJ*B{_9_&C zN7#aG3#DRd)sV#)96lzEup55z1z)3=X!e2FeM}@2Xpk54A5|(5&iJbgfa%IprJw#- z!f{FhXUc3oFE1xiL~x&^)AD6jjDL(JY9iC8* zG~E^sgbrL>a4`4$u+%rZBV0$ru_eaODm|2#UZjbC&;l8(U%k<85}X*P#=L^0SbCo2!Lh_>CX6VHs$s=MpNg zxbTQ_{dEB0y>WYDuD|qOw*W7{$3QzY)O(uLV4=*@o8DjyMxiKE3O>v6ctZ!HzbG;a zAUkCf8lbLP7agA7tt4lGS)C#Be-x43M_~V>bIY|Ek`YCjI9DpW@i^TPCYH4nAhj2F z+GYgd1k1NG4G_unFmnF2`2#v29Lt+!njZ0G14I1WDGe059QfCELGP$utCF7Jo&rKHJ>^FvHkkWn24 zCi&{_lXIc!6FECrq$O{`&i2GioTjWV8?Qtt*}b?)7rs&-ebcKG821CPzR7xINzcM> zV`ge=Sr2LbOGur}R!X%(MBf1x;sF(^#P%c~WyZ6G3`Vd*1?iAN5gJ;Vovht<`Zp)< z#Rx*aDp%kvL`A2d@^LcKckgG)?*FI`9dX3c^Zv)HB1xYfsnmp&_Df|=0FS8X9x!*; zbXpO0`ZK9}Hxi581hKGjSqAaEKQ6Obc`6!DAOGI*TFu;lUm>hu;-HF1CTr=EG--k! z;>v14>(@c19brb5Pj#eE|K@Y&N?k@t*iE(yjxU2jk?wkc7 zr_Y{NlHOk)|1sda_K7Z?+Sm*Fsm|?`?0Zqu3EywG(NxEu?E}LILi8fO8#`=@#E(ju z3Qqc8JFtQqvuD%P*(Jb1d&@N~=m?Z5zbMeA2On|4>RzN2XfHMx9UD|uswtMB@4T2u zrrGrwaQR&k`$3PNoFDmY$wGO^WK43nA${EEEN`d$4E@0g3?eL8*|&!iVgSD?)htgc z&Q?jo4M3iMiuQkEo1!C4N1S+VAB=W06vul$ZiiN#2mfwJh^t(0LsJFH$^T8xEK2tZ zgCKY)S#!^v$W2kEP_0SNapt`GV- zGYJEdSRS(d4=%^6npJRVn#r*v970VMPq4M)y{j`SggMcY_2|E14rA9fz)eMe7Y|$z zxlZC8yc+1_AEs^p2YobtGGqM=KJ|-)(fl_>PLg~a-T^*CNio@IGcAE*cw6z${;>8* zuR}?6gFW5VUfRLu4{e0Sorh+A1iIM}svcx9XS`w8w`TbV#pJ{ed}UC(qvUm`a{TYX zekh$(L`V#xOo-`}I{j((E$u15dJI+O;{a>f-|2gpHB3t%CII{LuWh=o{t0hgwB7#b zngN4kKQBkicE|GB@>zX&J1AGgISWIeCBtwwGi51A>aK!&w^6&}^SkC0kWU!rXYmN)^ zu^Q%0PqT#nekzBY=NC(Qhr9hy8PBAr>_3o)25h5V%?M->tpu`u5gknT)Cx!(`K7^U zA!4HK;LrCB<7=g$y=ge>NM#AKam2(#sxuGFhNlGay?o>A<<9%4V~LeMT*G%ICg9t6 z%`r;mG+8y;zh7^eJtRw%YQ;}&>L?J@vUbFmL57VtSG>@BBkH@bO;e=!sE0KeZ5b~< z6~elM*cThde2@eD2sfx$3+i-j$bq>CVfkj8${N zHhb;iLlu+U;AZ{LiuArO=RQ8Ew5@4zl=($XrBn!_Cj4KdzPBt%Mj9VB?wJNNGhRU< zTSylrIuAQ_ZeMKOKJIx+wgosTXWsB!$|c?|waYYi|1~vhX$k$@DInW&Qc`ceMM}6c zt+v=cVM=Y0B~LBowp4Z#<#L256; zrNE%FZo52(|Cu$UX?JkRH<$2_IfgCE(Ytiory&z-`ga;vvN{NhL;0^y@D)Z(-WFvH zoi~genS>Gxhjx=#PUw8Jco`gko&Zk3=75z{SLLj+K$+fiw-iHAuzYtOV&nHzO$Yhf zHDg!e8qDw}^SAm)Zswqmz&YLlFO_27BL`Psx{8#2o6Y8kd*NnvMt@jRIGTvLORI*+ z8VbHdg(-<-wUaOjieCZo-n05)!+66tis}P*A_N=z$Gc5tbD%1Q??BBZzy&YX6osjO zvlQ%U_~%KM$M)Cfo!m9{wj~Q)tiSa5IBSMmw(UC;0fGBJG6sK&<%GKd4|493ac_Oj zNF9Wf<=!nRa1$)wXRI7@1J#i7R8KWAFVscUMR?gm%Z%;h<<2O7E*0-WgZq*r_>OMuKLU=9 zJV|fk+%0t9)O2Uo5nKbb2qOFb-rOj+HlFQ{$djy5ujrbJ=#WkO3rHex7bNDQfuW-WI=7s6@VBnxk2w+xlJ!$u9e!AX?3^odgZ5`iZTz zBEm#Y>ZyDHN<)q^Rc71@Uo2cO3MdFAn_~>>xYB1Rh^S+~;E%}q$ML}vj<@6*_V%@*-NdG^@DbJ~?a2l&o$ri6r|AXxmU#rQUwX)KnVd_q? z_{Ed``VE9Xw*q;NlH+R4#sL8;T3n<^{Vg=3J0yPG#+W=pB>jZOqPHfP;f9a~@c6Hg zE_RT}7#%!k`TEN9!M{l!J#wiRb|FPW27D8{sxLo>7e6@QcS?A$8~D}>O`rGk#~be- zzxX$3+D^}&MGZ-ec?|)ydy2UWFg)9H=5^QMn~%a+b#14=@e6`oj#LN^_;Xk>(lQek z7M7lS6Fh#H$V{PxV)ST`iZ1`I&|hF_pW`wCB(fPVX@bzgZrxe^w z@E2whoJzd^^g>Ny@3e2L=ebe*n|BpVA1@39%wDi}rZC@UH#Y$v6!6e67+PmlXIj^z z<#Aum2=eh!7P7wm)4603w~%*@eZbGwAC8$F-n(VYfZioUy_A^^#KU=!b%`@k87J#6 zzD*d@tR`ajJa}4%e`VYKW7s@@;P)iJ*BWPo4NVbEy;(i>Gf5od7lbB1U^o-s9#}0M z(%cF?VIoHFY=4=dA67+TZ61p$knD;cL63Tm5xNkJOggVsUs>lXs&te1k9R2qU%unS0KeD&~L94QYFUM$Iuz{M0-~6_Y*qO z->N~8wHLvM)7bFK;vcL8X>PeSgG4Lh;rMjJtz2^bKXQd=G92?|bWx*nO8O#3Qsk=P zFg;}Ut;ax#D18&dvH-5sZI-Ps^gK>5daxL>7K)G%z+1+wYa$y+q~5(!%o5^*&W$HY zzH5<9dWtPrlG5#K|6`c>YHllGBEEv9tDvU1nbGZEjq(3WZGYLqs0_tP?DaGvu%wGL zlJ-}>j4dl1l&a0s0iG0ZVp?=4Qoacj)WEcKJ2;=}6v~8$=GEUV48DXot)x@eqgvy}*`QV<4 zc9M>fM4P7q?N;nqey2vx@6rN3y`{5Vrl8yd9jknIL^tqRu`YPeMdYK(5XfdJI-FN%Be%*|%r> zXU(;<7jdKZ?9NLkcW29;<(sj#1?DO|<-NwS@Ps{MrrvI24xxyds1d9Di4pVTcngYfWdV;<4lFPhu14N(xu{)j%4!tCO;K zwbh;-KADy%XSu``cN@9)@vr6Ud+&`pX;udhD^gBM%pf+4fcejafy(srkprzSPj`eJ zoUYrCn0C%Yt<+zJarpU_v8{Mf6_bnPZ~UaTyc>?8bh%&^<~~~sfH7TfZj8XuKb8j{ zEReBv821hjJ7Vjukp?}SIu%LEqJ@t!HS2|xuedkB+JqdoL{M4Sbje^(;2?5XRn}=r>j|(#Y|L z)P1l+>RK2yWN?{Wc4**u`ix>~n(!&xn|A4(8ksbG>U;8i{M6vYz%j0g721wY2c3C; zUGWVy6{7qdT2xU|H-i*I5obrBRJ8Gr`u>Dbr}U=3V1pt+Z69~77!zHgFeup;f+eNAO^{}Ir6J80dVZuYAg&8H54s{cm9 ziVOBEs6{7z5p<%9bvfpA86x2CLSMRrfRVyI72pClPxlt}!|5Y`@uiQFU$Oo4C7cvNlRSb{m7#r8N@mulixKSgt@pRP)vpMjP zG~l^sU(x9ebOBgoGuWAV3Q16F?-+CmK+RKs5)ON(f)9JFl{RocGvoY8d5#Pfq-`5_ zSFzhJ_zC?(g_$=3uE}1H5?DCV1eVXFc_f)Fj`mp2#leZ6p2i-s>0DD&h6JmYETjcs z0cwJVxl>eQc=2v^Um)?qAtn{T&0>6~ydBiZ1VEc38(EU*+HGrAcOCyv+2)G3n;Xe0 zY>7)S>F)`9rP=b*^0S&Mbcf&O%#ygOtisXt5*Q&b{4+*D<^n|4a@01u^H#w^QgC1k zFXeG9VbsQ(@ThJ0K$A?7XP&LiLbc zrq93`5c|_V3$B_DHqyjAbzMrn{hkD5QDkqtzcdn8T)>I$jG>GB3yo5SFFq$K|A`nP ztah2TWsGu_pKTJ>d({~KsqV>~rvnh#K`Rl z)8nyq(3lCDy$<^-@TDWaRMv08@@U5qvl+$;SZ3aiq=YhnTNDZV;1$#x z&+k5|>8PDXdQCz;j{QgOCX(*UwIEn4h_lvpOp;f?B(FyKbpLe4s#q08g1)`GOPLHe zl=zhKh<_)bbg>(KgIV(kQS#7uJhKncO znnZcC&IDbWA(hyOVg%_lBI8+YgKfwg5Gl_n5E)j+>bfU>v)LwB)_qDP%}Mx3`HGY6 z%Yp~hJT|Q;q3D<z4O0dI4X*bJ8N z8+%3POkq-}Yyr7_^8wCPRrx@^9iTvC-2p(3x%*aib64M)BbMM|tgWE%+3C9#PI`3* z_@3=fA=mQP}z-%@wV+D;{N4dDl^a zeH>;ZN4Rnin)@^&OxN*AQFtg7ibP;CQwx;oFxvXU$bO73!{JYbFOASqZwX-S#Bu<3 z{ZCOa3D1wg3NyFt+Wm$!I(s*G&RNtDzeAM;6~yZssB*m4N}0F&5MS)H=w?6= zD2jQfQh>j`0j(Ko{P1`g^3TxtXAP$3eStlOl?Q;T>B z#A~@7`o{_@{!I*FPYs_-22eK4koU8=-Z zJi4Ow?9U40G&46dvaJwvqJMh5(RCgP;P`UqLPsWfECt{HVblXeV)ojOGMDhBI|Nkm zVvvJg+%#;mmd{n+&+o~g8yPO*ks_e@xzBXc$=;r>_r#bgF8ZG=qxgb@L;J_zj?|VF zY0De;$-hyBHZb^WWA`p!lhi4zV%_-OC6cBJEu7OjKGDfy1XlV=_^%|3)%O-?XDPpi zX4Cf(*_VHY)oQ~w z9rt8BULqlQ$}*9muu)SNpi6S$h`N$N$Xv1tEK`jSD=i9%#2Wjw9Dtbzc7yxflH#n> zWVG0`Yfy(fh}0@7@yLu9%x8ysX!pXqu-XW1Q;2{Ygra3vATdL6k4`J0#Vfuf3}QMu z5Oo|PvnU2I>zLEO&L>IV&pE6&Ut68* z+nbHJ?;VVeYWYEb%}s~tx@Qa|bMVcMWKeZ~O}@RIrzd323-J1>fJ6pY-AZ@kA3tO% zaE4^B;_dFWTNOtKAENg1_)3qNw*<4XtYenfpLIu_LhV)FNlyw=~cI#LM$ zzA4CQPCLsqj1*6tCs^KDH``QOQ;G0YrC4r1q5mi3Lt=EbPumduy6E(G8+FY8EJB4D ztl}gJwvEXAi_=AF%nhpX41(wP&rYfrFJ057Ii?|kDN>Tp%@?=$O+Z4W-m%MT>7Iet zX6mFhZIvert%$l(-{#j03J~Yw1{J7$W%D(1?T9Jn zd9wV7sOynqJ?N}>JJIAO=vY*C4{_B7&+oMzF7_tN%!}x-P3`-M41O>rE%ojVuFMwq zMZQbEu~I_W27#bRL0FQlufnzs z9?yV|saXpqJe?5A!4TO3X)iayz0t&S)94KwQg_jXb1+KlrdnxYTJ9|p% zr^zAqv(0hekH;6GDHZ?BP;LEA<+#*MQbF&MtF+jhZ&PbS3lmZ(Bhu-h zY4JTYN}5Kv)!)!DLgTzo2rndFmzT~K#fQSpu73++ZC(b+3e(b;;St=1 zz}eG9h2hMhRmL{}7t7=O7=`Fwhze%6MPIBRJEoYdBz%f&B4F!Uw*1>xDg$NH^aTYC z+->l}^F>;HIvwSJ3voVuWKqO~XM~Clft9U%3y8rTELD`%)B92qQO_iTnFwn%CE>P@ z_XzGZeh3RHEv-K9!+%Iof8{wzgn13&ux43|_vUA^Uo&3rlMW9^|DrKx{u=0@f;b&z zJ6)xI$JB+7et?%AbR~A%VDD(4+132|Jm*!NcKUIQdahzsXbJ&15nf8CVSJq| z5$M993os|Sn-2PlBLk=6x^rPWO$#z#ppX4{D;W$ZKefD#8-<*FEK2kwW0SbMLLENF$1N2R3$AL_PYvwoI|% zv{6H5-=(;)n#aX$)a27QI-jWI2pRldGUJ7GwgmwA5$qQsLE9pXM4Ijox6od1!*jg! zA}*>89~H4%|FO@z!A8DqYDEAVM0%}aMO#U%-&Od`MZcdrAKs}&42Z1bv!KM zBB0EmRgZdMJR#zguJWN9ailDu*pV+NXm1Fe%MpoO! zC+GdK3w~c*ZGcGEovAXQNE`H(vW4JNZ{ItXD?0N+p=@4o7Rfo4CD_69>-qdCd6=)% zg6IRmoArP1GhWi~i`^C(KjAgihm@rY(1$i#W!f+k2NlGaPg@&-eW{NE(Z9I0K{PyA zs!gYQ&=Y{l(f4eRr>piX_yPNgp;=tlN`>Z6gn9)~3TXa8$};RvA3&!}?g*w<^f$4@ zq-X88^w+B#u)w^G(fo*ecoM zd?T~4geq@b5d%rMW#Vm<8X>`DWPNhye~Z}Md@cOM{?n;Sm1_C^8yts$Xc*1H=0^0N z|1P`=g-@4p)VbxPEZLPahS}|^L zBPasG1kEYkB%evVtC|R`fZg?3e$}E&y-Q%=Ym8|w*M3?f4EhteweC&1-ep0;e|8Cs z65dY*o^;RM*_@#sm^=wJC--pY8=?9YqV!3n;=l3d*|y@JG46WM-!!C+Su*4fqbt0V zpEk_4r2p-}3^B>AE_SmN>HV3FN-Y-b_!4dN6IZ_N!+&)rsLW~OyN5l={~0q5?2SpGEdj~nAyT{2;`{g@O{yl=OFB&y*HsAP!E@pIkQq@Ct8Md?_EL&Y$ilau2^r%B zK&j*!l9UQBzKel9-dm1J_T@pepV8JxLry1h@V{Gu(_gV5B^6i|(jUdtE@lgloNOa) zPz?cg$hO8$RinFkaa7X{e4r@Iw+AarCSj5AuJ4&vKeenuGgGh{p0f3~`{`e^kDr_M z*?R+kTudJ1n6RLLaxV44QbG?(u#m_IDIPxywX*7O+1IzWG@4@D@k#G5ziVUnM1Q&F zfBKRQ0-r;obek_6{wk&!t{ap#bGqooi>B}9-l!oo@RM=dQ^RRke)K-pH3Ak@)rY8x zhxPF+T)hbw^9Nn5pD9cMI#Yb+HWYc0$um7@1;$g^ey+7fxDft@UoFJCYdTws+*8L4)8`4RXF;QqnUu+3v!-~ zr}T^squb3;{H}$v`71^EswRBs7Tl;dRLQP%=hlAo zoD@;k;BECC-@MIl$+C?+7P2jTI*|qK+f~dDP1n9LC)$T0&z5&p92&}NC*Jbdyxm^V z`w)*Lg6+8Tu1*z8KA-F^%WcKo+fBTU}B^BmyR z1^EA`YR4Xk{tS~DJ3|cq47Vk+9HS@de0l_C!e}OqZ9wU{DTn$mb{e(_Je@kH_hsJY zA#8q$!r*>sMA)^Pgx)(yM*-=*N`QbOh$tY^J5r?!(n~^DKw_b&R7C}) z_YMgiQF?Eo7lA;i0a6a%_n-COo||(qYi6yvm|1)Fv!6ZhyZ5u5*WNh2>`rysT!^nm zVC9WTp*akWig7|rl=++V)z7=qQVgK@JJ5yvqYM%ugN}XXT%+H>AE>ux1FVS~zZ~;- zh~2l`^l90D{-S*NUGk^GFA1i1^|`TWO21xv6_kUbRZqthh7iN*%}CP^Pw&ADWAlqD zBqMNHZ>A&old~fmBNz6%63KSvp+jy=(UBE4NI9frm=vCm7(NWaOgaP$6t7`ki*dN(%cw7*-N~fF!rzi5v)vSD2A%Fd_O)fN zd~zJBmGGafwRCDLGtys=B`zP|&)tDaEm`V{tg|ZHqRoOf-#JD-jLt#-t+OY4m7r}n zTH~rMFyG0Y3U)AmbVYjC+7qq4XqD@1;_!bn?*7)K5etfXSFn_Drv60ws|WLj+I?J; z-E{dOwm{fPY zXE42{0H3oNw|~xnxt1uvCQ)_Ln=r-Ks<~^axb4$IZugDJ>BRfr@%}+HXX>-U-#nR& z@tHL=c|nZ)L1_aS4nc`LI;e1?0exvG|StRu=G10_9rZChtc*KO~<2 zd-02ExDolKYg>6GM&$Cj`5H)pa$53LhDcz1Wc$|{kwIP&xJBsK+X|J8E+H`#Rc9!_ zOTVSbQi4|QlFW(2Z-$Jp?x&5SKE~~51dIME46LRB#Jvpn1E^(6X&Xo7W`_3V;}cJs zrT6g+4@Ig$-&DoGMd6w4*SxftN*-~il#*<1>|Z4bAHz4s-&0HSBEiQ00a@9$3R}<* zVqNHm8@WaWl!Vtqq1+?a)xbyZ$w!)Xh-=0ImcfVm?I&YK&*-K9f^V=yYO8cZ19<__ zSNJ8I0%*KxPqk(ceZAyw?rv&v>y{6gjMs}*qBy3R8p~AL{qLSLAIzX@w`wSoLm(Dq z6Ino^Am=sgj;5kIq^yO|3g#@ZvX05Ss=}XYq?4zbf*7GAGM=i*D0H$@sc6{wcnIbYgVz`E_f&9Y2Bd>#oyX zsL{JSZ;d+E9}qr>8{D*eNLKSdp(fe5kx`*PFp@FBxc)5jPF38mWUacNKT&^9+B;65 zq6-sVPb>6Xl$4iTF8zd`$!=9iJCL8aW!vmB>JpZMct;weJK^hF&A>2bf3*d{$J9TL zbxoezkuMbgm4~DS0X#&7m0snF&+w-cEVRn*|8vV)Y=dtTKi)E9)Bc$*9HcAw5uvqc zHX~|o{GZ%XaISxBx=xYbUtCKZFfBItR~JQ3nH``?130pPuH`}5v*3?U(h#x`#7@V{ zFsY{Y%Jd`|>n{WUbrz4PY`_iq9_Et{j>@y^Ra+4Lfvc&$#Qz$|@eT>LoY_1e;}{@> z6;yC^4x(SL1oqES3ZdT_VP7cjI^8n`Q$ISo{!#j$obnc{u3VfpoWg|C)ywY_3%K|f zrD^u(%fF8fqO^zx&rORFqM5Rc3^%?PQSWRrk!{K})Ao}Ccd|w=-zq~P9rqxt%L*5^ zV)1_=H>=$!)Y{%Ap(*QTiQ@N7fE$&c2r1RpV^5`;-@RdT{2%eascULm2Tu3CitkxKo?6`@M8Ow^|cVO+hDFExnKhd9k>bT*m13cFE$Ae6p(^zzwh zK%(;xbJB>Wwe3)=K4s%4is&9bqT^Kb58}N7{-3Gh&o_?9gul&sQgeq=#*(xDFrr+i zh!uF^2ZJxRm@20XUA@t`SkH&w$|T(Azn^y};wIvN)0iP9R-L5w^rdd>BDI2a3eeR} zb{nHb{l$A<;)ki*%i;n`D6^lafI+>F){ZJ(v4w%4hk(Ug}EkqVL`EueEQ> z8i%kcQy-rSi8owF*zXly`<#n$7(g9^0Oo`iXDj4OAInc13?z0@Xq?PLpVhp*6ztw< zw|w&?kdsC7QQ5T-6!0po60?uZ+3y`q1#*$%DGTVnWejqpzx6B;^IpD58Sc(G{9DW_ zac~P@4Crw1`k-*>&4+kVGMq{NMYP=`jH810m^y6+qCKqd{qFq-f-}-LfitTICa-Yg zBvjyk0W)PE_Ft#K>k!Ribf3gLhfP;A=n$Qg$u_-{SaUC21)_Kz0JkoL`JeCw^Oi+F z=t3UM9M8W7ei4u_3MRGwU!KXFa7nROK%3n+7I)Rp9i_ZB!MRE6XBVm0o+uvVL&+$+ zr<&%LPV_$goO-cjC1`ij3D#BvT^mcn&{McTz6%dLkIh7uWSwB9g6y17OG~?M5bJ7r zzv$vBC*-G5q&)%$%xPISMQT(1tpD6e&KFzo@`4p1R1^&Aj8mt8LKlS~BEZ~4fY9(2 z!wLX!_Rp_?*m@{U=@%w0vJD{3GyR&g=!+Z{Yk$VritapR{t?AuJJ;wzB9oQ~U zeTj2UetX=97MZm@EM4i)!Iv&Be2im!{T;;6QqZ2=1=D{H$zcBb<7hf%&y(zKN?1r7 z!Tm+=C%a&kabmTaV9AV$G);xds_38T_r+&_uY>H^G|A`#Zo_EsJGze|ppE6}LE60@ z{)bO;^F`M;Lg-cRM3bERwZaMuEe`*%L}1tZ`1@*%An>C6XdbxjQr}R(>ks3B3$1~# z8kU-0Pou(VWZI6*a`N_8m#aEpaebO;Jx9r&WG#2=Lz>nq9iewplfS-@Im1%aoI(0e zP@aQNqSdc=k}nT<`CVFM4f%Iy$r0rw{Z0~@wG$k-aqB-3CCA{(@meqok3J5@uEj&t)~LYX#qL3 zvJG1uhk31a4PY|E@i+copT&?^R!hEN@ZurHz`DYPAo1LS%|3%Jb?m92UH)6;L5>&y zf|eCS;mdIQwjkm(bVuLYjzrHuwbtKbz!Et34T%<|&=N(6tXHa&ldijm<`MA#EWxpsw z(cydt5kyFW9t~GTU%)Y+j3TKmWE^_*AZJXr?U7`5(=quvh5W`pipmUDM8M=sBkwVX z6NgUo1F9y<8a&VIY|Y8#`GkIw)`alyCBHhVi*9Z>Cb|EWp!5$gQyK3iHd(KKEYB-i zO1aBZqg>^}m0yuJJ^D_K;`n0bl-n5h1BwsaOt`&&<@w?FzU{UX{b2n81wH;rNMUhn z#sy4J-7}5|QbVY-^MG(-FF=(>=aDp$>R8^n9_Gj6%WqWLlPC8r4$G!dNUx+V?3<1& z6-`Dc-MPywJ@cmw{I%x>Ru^!?WC)TbZ}<$ zBH}XTHG%H^rbo;xHc}scPQKVNr8ahvbDlfATmA6ol#AXEl+lOta$a5{s20X&*0lPS zQ~=5WpmZR4zswN6GPKy@?*Z^!))MfnYzTp6*@sifv>paUUiC(mo=dOr6M8FFKJZ6T zqrx{H^W>ISE|peU`&Io@^TvM>Sm&`mVNd(~qd`E&0xRO56_G(DSnnV!VXiTSfD-! zNOSBmlhs4c<6G*#O@{PLL$*S$z+Yd=6V16G6firx;kG zoW3HNDmxnB4cE9t;d)gtM_|3}GwGEMf>AUb++nsWtAikKXzrC$p{zRlQgw$%c~_}< zlJoOEyWMzf@LAP({Y(*kifc+DdqE=L*0q`%nNyX(!X33v=a95RuMXTDTaB3>=oN&Z zAelvDtEP(hV5IT7>*`!P&2h}9h^uFe@M}mt=9$_jTF$VIje$)M+Fv;?{a88n@L$jU zKYiPr`Q_DYyz_t)Tw&j<40n3)H0QfH_4uD*8rJ}r#)?_`-}^DPNv|}-+<4r%NGw`8 zhXP${HOn(y-YB2eI(`8(mkZ{;+MUq=&i|dtU)-v+M6YgdQ#xGDO&|8IP@!{3h#OF> zO69Z~4x{3L9Jt^r+LGYO&v%XprGR%_g7_lVT=()(edRVzbv50Xj6O`;Ry1{m27$?T z*6x{ml~#=<>@yixV;+;D);wbxeAquUGIbb=?t8I?W+GsS1mfy%0u9!{LfW~>a(QpB z)q?Nqmr`~fL1%k&m*0DZpLNZ8LBt8g+CPBdCdNUz0KN}H9!<7D_0Z3caG)O%NAXMP zD+8>3s7&Xs^D1c@GREZZPq})4yMMXTxBybYA?Jsueo-_kzNnrCR6CrAMO}f)9Txj6 z+D|odaw=W~)c3A2ed#Yjq#r6f64vn*uhf1twAIe?PnUTFSb}A=S@b-Ec_AV(96}q#*o&| z0ndb*V>Wb7-in}KBn7`_6w67Bfk*lNv#o;rEqWdtQXW8CR8FUlLmvm+o}zpa`8Rud zR8q#tz3Bcp_MD=b{_*q|B=tGEUaO(AvG8hAzfrK0jx5;i3t&k}h)Kka|~m*Kib zS*g*Ns!^$ak;$+bTrj9|sC_A5*wNJMu6ZGc8yi-Kqpt9ft|a>~viwkj$cPWvyWZw4 zS{2FphFD(4YHH6a9yZa{H~BnXdh`r`cV|M*YtuMYkv+-zx7}$u%ukDgO}Ll#6JP8r zJDz$R4+650P>>4jwuo%9)(*dqjjX%dGK1W=QNavdGu9A>EB}&)zh^1-Fymkev4XiX zHBVpSleBgm=#5781MU(&qdue#qS3X|J6&v+U`Rwu9V zH>ID0%dJ`)I-*F)i3PK%PtDrI&@5BHCd1zZ(=4=xvACDeq04!qH}vv*&aV@d>;{Gx z^*fb7r<#5LE$=rB`HP)N?B}EE%}Hlf?E7`(DJAh|%p-dw5iK^Yr)Qe>Rx%g~NOOw8 zph%@Px*%+iad1&k^59NmA$^J9vUeQ|ixF z#CPRqQC@d=TW|0@6$wrjpnf|yT#t_-8FP^yG2Zj(uF~o2WSD~{>?^O7y9HrIg2cf8 z52m;)3?4vsXv9mJE&`-GB!SHbt7?FeEBFXi)XSNU04lisQcr_J7@b~`yXpZYckOn) z%>rb8IV^+(zUNoj-V8ru>RjcjY@Cbhmj!Rse@mMz-)q5)$LYJxf?Jm4C;v$ksH~KA?NgY;s5kuu)l6^+`2zK zJV-lr*F2~{3Wbake?Dj1;4^+_`+yLe{Qdpb{c*~p?{dV1bD*lyW)}bPVg5z1%{9fX zMb>q;9n;b0sUz^?PZu=QdIrK%0`+Dgn3aHh;@*qL0?z94`$XutZpaLAJ%mt_ z_`_5OL_&)Kk^WaxJ_}6|uht3$7c`$^Sl|v_^}GJfbB>e168agnqzJF&CN!UBh(Co& zJq>QhfTs2Aukh5+%HxVn@@bj)69!h^6QwMCQ z+{+9~{gWWMyB*2*HZyzW^Z|zjsi{}&Gtk-wxxjI`C`sI!-KzsgykdX2^ZK*$0LjMl zfamszJInhGe#?YWsx%`*|LUgHE+zkK&IoAIshM@G+3~NoUOB|_gczciAsttw(a>X7 zU%LxgX*($ORSLO?Un?07J&j2~MYH8!bW5jICgtN#SPFbO27@WGeJKWmIZ}eJuVWTB zxLUy1DR1zLEsxiO7VN4X9F~$<9`ob}3mQnO%xm8vNAoZB4GhTnwnnj}kj=mI5kJHY zz;`6?$vaQQ6iLyrH?QB|q5Zh>`Om9cH{|2W)TPV5E~wsCe5*5RhJ-vmu+>_=I@p89 zB}R}(H?}+H=jN>9_DHk$$+I_@9iSJtKYsxG(}(U4$)!yre(hG?0VAg?B1xfV?>b_N z@~#*)&-b2&5-@|IXiStX*yF|V8*eGI)~);tkg9xXu-mY6NfBm7nSJX;V$ z&tmX)ok;B@Je~h;uHAwfDSC}IWJo!5&n3aP2ASU;Ky$EwTAiEaOgrFrYFS*yosiD= z$eW=-ne~ziw|S#%RD#xK$&NYiwBCT=iVL@q>4H`ehU?0F6=o;r@m$s|WCkJrtLZ%h z{-r8gO{(o&@{aRv{MwbJU;RvJgFo0H$A_1&y^8`ClVwJD1fMOBIJq}<*X3W{&w=0t zLtQG6uGWQixv_>|+c{JhoVc!cSOPibUpdIhU)_ZsMPM5UO9!hcoP}n5K4D;Y2I6nI z2Uz^QGR3sgGkwjA1}&kxeZEvWe1cU8j!*Zh<9rut)o-kWuxbVGN<54 za`JecCecoHi#^S|{_Q*0a9cfzOvtitc^%=`kxINch@vO1?(!0@h&v_NgENP&q`bwx zp|q~i0rn6-2PDfP_5KfJ+jvQV!IejG%)B>XYs80ZWQecWuD~ZdnjbO1nPzBMX&e9V z=a6`tyo$bVsJe$H+o`l(&{PkLrBNTvWqVnIb$sZKi4lcz@e^JI2qU$Y*sX z>;HC2qaa&T;cY&p5Mr2|j9x$wlL`P;>LiW30X;(i4Zv5IO8N~wtG}Hs{itdeS6|Mr z5T;f_7gx4hyYS;u^|jpxI3!J|=K)>hN(BzoemFRd@gq)pVWEU=wpPrP&&zCQ+otGO zaOkC`X2iZSVJBsH8BRD9UkE6Y@t`R1(e|O)+be|L|5Q2a`ywEiT=i<1y3a42`~8Z2 zIir?&s8qh(N=7y9ccG;pn1!oyZR%oV8y2T}`l?G=v zHZ3h<%;F4+=+4;VRp_U&M0@OQP2xZw%$H&-#CMHlcz>0JKm4o1!x|uunc?lD`$epu;&CD($+YS~GUKMSx z@~;NrfD*93yPoPn+Q`c!kLG!g`i9Zm+%Ii3k^6s1a082dF>!Vy)iE}HF+YG>_(SJ& z0N6drvX;hMg}!8xOG|A=s4=x5Q19*c1i=Um3ux8__%-)&Snh5H{Zfae6~v$EF$N&W_lS#g+h|eAgt0I*ry?~TgXJu;)hrn$@<+$tTAJ!9$Fka9v1poV>+%C6qr>1)aK1p#O z=2fHCpF5t*H;>=jQ;at-(oCu8;cMQfE-GQEEqU5F{a*MSo!Tn2in zM{n>oPu?uH0WQjMg>a}sbV6zqTTo6xwMY&W0Wh`CW;BjPs}D`vGEu<=P+5r++f?_2a9FU9dkk@B~$2qyY ztEZ5wdy2j(Zs*K%aT16ndnmyngue9x=zq`m_GPs8L64`MXh6;Mp?h%!_fz!Xs7?Zb&(P5DMLM51c3{AB)anpgH?-c5*#CfbKst0#d{LIO(03n zs&0d$r29?X+v!V@!z@deFHSv!(l!Dpbm+?4@lrf??P=&HBcKfaW~JrVrW49J1B+4H z=2%}Mpw_Yg$zH35TqQ91u5b}Xvmo&fSKFML0Xvj$0uggSi4zHGuOyo-Ft#iL64TWq z*x1@aQUI){^JoFuwWXn}++XaUR;>QMqy%S`ubf(ROhZKw`7|D*5B5F!C+-DLm}vQ# z4Y~=7CR=yBkCIX8V81u=Sv!%?})pIm&13Z^q=J(=Z7*AWOQ?N_v!Wq=_vPp1V4PVImN?jn?>4IKJr9%M@()Mt0~| zjaVC&CC&N15JP_C!BP}GG?MUS&;Aa~2K{wbb>xz=wuT}6tgjNfOU~DUx3kq$Mc})x z8bdwT7~r#jTjzcr`Ylf9)&>;{*t2S=vP zJ3L4by{r?QWDi@B+|8f+v-9~Qt$@$BpMNG&XoCoBUOodfHzx_-U#X>2q_}YzJ979l zklIh8TcautItf5s}81{?{5hbzR&D6)1nn za5Ue(GaRv~k$8{9liRThHa{CPZ&NVq0Psob&2*;A~ zXTFdvWRB$K0WGARFj&3Hrk36{83K)ZKqO5|mh?)Q3aWc{hiYyEzUGk!imbUrq*-tx@uEi#YT#mgqe>aS9#KQ_dwISg#&hJL>cw?8Y;nSv`d)JR9zhwbo4O>t#%-+29Q zE8y-B@zNo#<7-Cuw)}Dqj?f6bB2fJ04VD~BHHrfH&^#h-2Elk?HY4U*V1UDv_U*3$ z0bZ&XUy@y7WCnF=&tBEGE1}{I+9hbp9x2NOMpJDOX2R5k=g-|A z+p}mEMTQR?^~>O2Zn*b(?-Z_W!|N)ZriIuS)vNFqikFnA^n*DMu2$FLq9Zm&&uiXQ z8TU!FJ!yM#WwvxTT%_T7#Rt6nM;+P6<0}hCDMS|IIZ*(Tp}pb$?7TRM{)WrbybNV+ z=E)Ge81QLy&98PE*>~*(1CjVd7U9PR@#!Xpf&xs+>EohXHu#+Kp7(seotuK>>#E=-wGfuv@+vSTq{nD5l}2b)mDIT!45(pz+vq3MG@ z;I;j@@{#+qu4p}WgJNM1`GnP40qp??R;uLpHz!Ws!#!hCPyB!P^OIhnBnxwWB-V#f zE(5DZkwa45o=?gvEj3YKwlCFKy z8?vRmdBhx?NuR%YAZv|go>BBCVJQy^t5o_3+2rJddEO7u`y}0##CYNtnSqQA<`vRmRPMVKDKihp zrY5;$21) z6B_YPHXpLv$V*bbC3l6fZt|MK5rapA6t(fnGRO=sm5-&5y#~eJO}!SIf_hxUL@Gae z^CfSBY}aA0La?a;XFjE4mDjMWYZ6=HXQ$o5;W)(~W#y6gdlQ!v|3v@y_x4L=RWSu4 zhEES$IkQ;SE6PzYoR`tYpS#Ms)yB*St%V$19LV`zJ4|5!#r*~>L`<32sGnclA`^N3;)W~ z^1@RUM^J9Wh0UCf8fIEh-}%D*DO~&!UFcSE10iVSmsq|P!58n7++(Pj^;f(0x1i0o zE>lMIgzulh@4sEM9p9^ftQ`Dg)AilEtdew%I5K`(Dgu>pza91M zXChf?G`e*+xp39eN|BoXjr_l>-Hek5cRc);jCSbVp0lQn$7kIOa5}LQx*G_l<6ax6+{!MpWth7Mzvk~Xg($SrN7^L|lw-$BWI40b0 z$J$p_2njL1ORTefcn65k6|`1o+K?bim-)-Y^zI+9BukX#ll(icHpvW=B@;!?+j4%) zjcp{=8?j-y^afm8m5BS)znr(h&&muPLE;aoSmKCFWS^a zJ8%7wycH|PG5q_ktD)p&(O$l4pOsDqISr|!n^PGb`)H&YZKvoUg_GUGR{+~gp}(XP ze$4zut&hIQ%dXyz92SGJeH{!)NIua$uAkgAWkK&KmrUnAAlhr3J)VS>$cz-_;SF`( zWvUE)e!fcm3Obz0v5luhJ&}1hC)@;oJdU|IE zBiIqAKbT?!)pl~q7bYIQZqmcZkFWYGa4XB<`|nM9SsX7<1W5SDI>rb8s)g| zRt!?rdfkz96uNoIov98O7uq!8krRP3LauKwX8~A#aSTiQB`Pu7004&%004{+008|`004nN004b?008NW002DY000@xb3BE2000U( zX+uL$P-t&-Z*ypGa3D!TLm+T+Z)Rz1WdHz3$DNjUR8-d%htIutdZEoQ0#b(FyTAa_ zdy`&8VVD_UC<6{NG_fI~0ue<-nj%P0#DLLIBvwSR5EN9f2P6n6F&ITuEN@2Ei>|D^ z_ww@lRz|vC zuzLs)$;-`!o*{AqUjza0dRV*yaMRE;fKCVhpQKsoe1Yhg01=zBIT!&C1$=TK@rP|Ibo3vKKm@PqnO#LJhq6%Ij6Hz*<$V$@wQAMN5qJ)hzm2h zoGcOF60t^#FqJFfH{#e-4l@G)6iI9sa9D{VHW4w29}?su;^hF~NC{tY+*d5%WDCTX za!E_i;d2ub1#}&jF5T4HnnCyEWTkKf0>c0%E1Ah>(_PY1)0w;+02c53Su*0<(nUqK zG_|(0G&D0Z{i;y^b@OjZ+}lNZ8Th$p5Uu}MTtq^NHl*T1?CO*}7&0ztZsv2j*bmJyf3G7=Z`5B*PvzoDiKdLpOAxi2$L0#SX*@cY z_n(^h55xYX#km%V()bZjV~l{*bt*u9?FT3d5g^g~#a;iSZ@&02Abxq_DwB(I|L-^b zXThc7C4-yrInE_0gw7K3GZ**7&k~>k0Z0NWkO#^@9q0fwx1%qj zZ=)yBuQ3=54Wo^*!gyjLF-e%Um=erBOdIALW)L%unZshS@>qSW9o8Sq#0s#5*edK% z>{;v(b^`kbN5rY%%y90wC>#%$kE_5P!JWYk;U;klcqzOl-UjcFXXA75rT9jCH~u<) z0>40zCTJ7v2qAyk54cquI@7b&LHdZ`+zlTss6bJ7%PQ)z$cROu4wBhpu-r)01) zS~6}jY?%U?gEALn#wiFzo#H}aQ8rT=DHkadR18&{>P1bW7E`~Y4p3)hWn`DhhRJ5j z*2tcg9i<^OEt(fCg;q*CP8+7ZTcWhYX$fb^_9d-LhL+6BEtPYWVlfKTBusSTASKKb%HuWJzl+By+?gkLq)?+BTu761 zjmyXF)a;mc^>(B7bo*HQ1NNg1st!zt28YLv>W*y3CdWx9U8f|cqfXDAO`Q48?auQq zHZJR2&bcD49Ip>EY~kKEPV6Wm+eXFV)D)_R=tM0@&p?(!V*Qu1PXHG9o^ zTY0bZ?)4%01p8F`JoeS|<@=<@RE7GY07EYX@lwd>4oW|Yi!o+Su@M`;WuSK z8LKk71XR(_RKHM1xJ5XYX`fk>`6eqY>qNG6HZQwBM=xi4&Sb88?zd}EYguc1@>KIS z<&CX#T35dwS|7K*XM_5Nf(;WJJvJWRMA($P>8E^?{IdL4o5MGE7bq2MEEwP7v8AO@ zqL5!WvekBL-8R%V?zVyL=G&{be=K4bT`e{#t|)$A!YaA?jp;X)-+bB;zhj`(vULAW z%ue3U;av{94wp%n<(7@__S@Z2PA@Mif3+uO&y|X06?J#oSi8M;ejj_^(0<4Lt#wLu#dYrva1Y$6_o(k^&}yhSh&h;f@JVA>W8b%o zZ=0JGnu?n~9O4}sJsfnnx7n(>`H13?(iXTy*fM=I`sj`CT)*pTHEgYKqqP+u1IL8N zo_-(u{qS+0<2@%BCt82d{Gqm;(q7a7b>wu+b|!X?c13m#p7cK1({0<`{-e>4hfb-U zsyQuty7Ua;Ou?B?XLHZaol8GAb3Wnxcu!2v{R_`T4=x`(GvqLI{-*2AOSimk zUAw*F_TX^n@STz9kDQ z$NC=!KfXWC8h`dn#xL(D3Z9UkR7|Q&Hcy#Notk!^zVUSB(}`#4&lYA1f0h2V_PNgU zAAWQEt$#LRcH#y9#i!p(Udq2b^lI6wp1FXzN3T;~FU%Lck$-deE#qz9yYP3D3t8{6 z?<+s(e(3(_^YOu_)K8!O1p}D#{JO;G(*OVf32;bRa{vGf5&!@T5&_cPe*6Fc02p*d zSaefwW^{L9a%BKeVQFr3E>1;MAa*k@Gd8K`;w1n80+2~WK~y+Tb&_33lTjGQt%xGL zD55g(q9V&=3%aZu3z->})0?80A5Chr3%^$3%0|sLwa}Q#a$>V(HSLRKADSN|Sq!m@ z+)6@WO0GFyziE7rU(AK?{l8>`=4{3=PZj^Fow_WZlI~!B%@=PPf;98 zpDQFk&1n~|kBVJ7DSXd#L4w9fA|597d7F#jHe`eT?=ETJ(jEruXam03z_gX}i@%Zv zy~aFX;0|DKg1a(vaT8a07#=VIy%oTq8B9wNymi??zY%z(0v@Ws_0+(vOOG}gRUdG& zW4#334#BUrzzYq~T?uqtBd`Q$QGzqe!C4gG>=uk@(mcJg9a+M4=$KvJ<^o{I3iOZx z58Kqh<8wf3;XG`TfqQxpOrru0rPy7S62FJ=6+)GTLQw*Cx(iI0>gxJi)g((xA(0QUdQ9Le-8q_H6xe0rp=%1V%5xPqPA3 zhAh4d;{)=fZGy>YX|j`b+JIN(QScv2K4zQp5U5TU;Hj(0n9`?#?X1SgC5flwL_!YX z%LNmcCKYUV4LH8ne8HZm!PLnxsXvOD2gUH|Qw7*>DZtoe3ErPdvJn(?yCg&ZSJn;1c^xr|2=D$<{*3)Rd7fl{-)X+ zmzlA1-4>z1wYiwkXYz1+80HNYAN@Ir_q6-tC6rwserT~&u)4nN#2XZEC(U(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;cS%G+RCwB?lS@dHQ5c4wGymu~-o^{%9Z8G8RD>C{XwgncqBfG!#+_k7tEi1D zaZ|Jk3KBPMLc>iN25wqtl%OzpB|$;*j?;{D{m+^IpVLBTGNo1T?)}a=58wItUZJ%{ z2tit16HVDbFVG2GJ1&0%#(<&Gjs=yztF=a)1awU_^%}x>(^%a`ZACprrNsb*0zo!* z)>zz}!PfTu(T;_oGl09F8Xpw6J+In*olt0#Ac}xH&3WYjuvDtAq0)!U zi4chgkW!+gWVm&T;npdXlt?L$&T=9&RQj+~st>>c;1Hs_yrhPZ8NgH~^DBPlSNxg5 zroE|5LS}&Sk{TRBbRT^W5KiIEayf~{!=$hoZk^(!(tdEOha?t7?lOc^cryTiq-7yx z0vnru$&?8Uhk-(Y*2xSYnXs4Qu~A9nzFarpy4#sj#GToP8Cq?uaH%pkTO zA3q50;!5R_R0^d`lrl4q(mtsau2dce!Chke@p0gI4@yKu_q*optF`THT5CjAh!py- z_8kcFvx}&9*7JR1l97A!mHL<7aR3k`u(uo<@NZ31Zd{-^s|-Usv26?6wlK7l;;b^t zjSKjoe&imy2qjQ%EZg{G4F9L+Oj j0yqSsz}YnZkA4pT#uh|15Y85r00000NkvXXu0mjfEy_$d literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_arrow.png b/OnTopReplica/Assets/xiao_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..ca39d4820e0858e3519c1d6e238b171950cc53a3 GIT binary patch literal 437 zcmV;m0ZRUfP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ-J4r-ARCwCNlQB;MK@^0)6*0;shK|yNYW)TL0b*-nVPiCE2Uaw8R(3R2Xon_- zA7Eo;q_ELgs12MnL}P;_gg`j%IL))r(}ZK8pzt-jJDHulc{{5_glTGqDQh;^D5XXc zQpM^qkQstcZg+GR01;uFja0EJ&mvO(5V`b39z`TotV(ciq6OdSoNb-j)H_gV!HZ+C zFsA+OgLTbo7h*s}3<3tP?5}ESO;}ol{DnrrTyIBGqwoqxnQ{yva#hQzdThSar`fhhQ0rbd8SfKAh*YQFET?gt5vEcY_9HKYy zar*AafqH}J_#go!<54_+ek3s&pCI72o29}H8>T0{w!b;UxC&CJl(K*XU>P)eK;viq fO|Sa*-}p5E1l@+qVnZ^Q00000NkvXXu0mjfU7@ez literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_delete.png b/OnTopReplica/Assets/xiao_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7e3c06c7072ab8bd2992ec1db3040dde5bb9ff GIT binary patch literal 715 zcmV;+0yO=JP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;QAtEWRCwB?lRr#TaS+Ep?@wES8fe1+O&LfK8xlI{8g*x!>LAes`A> z9LM3)^m+c07Z?Ms02iyicfd2?5un!sqjMjSsn?hwN=semVg$QSL$JN#RSsjy*PU4M zg$#jkH;MS`5#XK-AWPza?D1e{a$uW;Z@p*; zu%AqWVIl`Y$dWivH$=zKDVJ2ROqyt{vZf+RG9ImjW7&oaP<3-lEf%8ywyyDW{wn{H z*mM$8RnaVa*9D|=>Pjx1injXwl=E3|?8e!G$cZ*T`E-hOPF-=gFuA<5c(@(MYHkN# z3x;7}=;eAd4DhvJHMeuP9cOZRXVC>@AiJ4VW>V{G$Q?b%!4Qt*#j;E+%fykq$iWbD zM-Qp>H8zvVOa`)U3ma2|djEWU_Tgp2ccG--2%d`K>x>}F0^nd;0;Qb7_qVIO|MKJR z_-bNyV`@;Z+X7G=UrpSG#M3*MQrG)BTVq{;mL7oAQE_i;KmY3H%WwCAJ)r20<@h!B x&&R!hA7}-4qZ*J0e$^`1u2FCthyT&<0RU|@782+2Qd0l`002ovPDHLkV1n3wH?;r& literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_down.png b/OnTopReplica/Assets/xiao_down.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf7a5d1c0ad4f723223346040b778b0a4a73fd7 GIT binary patch literal 761 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;e@R3^RCwB?lTAoeQ5c4wd*{xGKVXhhG)$nNHVApxN-S)y+eD68$d%o{G z=ToGVT$udIAw+;d;5u;mfcpr%2A%^>>EM^4b~KJ+Fr+Gz$;27X#-lXU1!VRY$#1%m z{IIe$R`li2ff2wz17G^Lqt#X816L9h!;o`fFBj}pgrTi9%DJW}FK1RJje@DEiuw#d zEu|d}g~kWE6BtF<%0o^-dR8YrtCJG}XB1(eJ3%-U8b2sCFetjtt*(|Bzk#0uEC*~C zQhjk!eQ|6z;C>4D4Rp1{D7wzAvVo!~y-g?U$mBr?uO|sOdgs})}bg$Z@C9* zNb3woH1_v=JPE5C+kvtp4#2{S4nS*D49|gBy@ndnI*&Bb@g$~Y0NtXd?ih9NOjMZ8rTgviD2e(C6h%WyQ1CEJi?@s0>@I$Kyg4>JdVXTw zIr0iXVRLNw;U>J&Z#=qN+t`+@K6R!Uppenma~n%D-(Ng<3akT#l1Mo|jdQ~t5ugUB r1u73{0px%`rJGCBs7NXKAN(BvYQHHQ=RzG>00000NkvXXu0mjfkH<^r literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_help.png b/OnTopReplica/Assets/xiao_help.png new file mode 100644 index 0000000000000000000000000000000000000000..df861f96e0c4f211756f6aa44252f0e35fad1739 GIT binary patch literal 752 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;c1c7*RCwB?lf6$9aTv!xcfGbi5keuD;E~uwkr0h-2u5QZp5K7pe`CZpackz08Kmz*7l@8ulLg4IrNRP`bP+yO#CIhuBhS9 zYdVN1LAu0Y7i&*QV99CW(Uh3P327 z;Bkq9ar@duRAAqNFHxl;weBvNIyd-%7axC+vmNikV9=BRa+W#VeLlcG@FxR~4UvAi z0`PDZj4VjiaP@2p^UK@Az%vOz5QM%!a|7`M$XI#7y~VP4ECjld_v2XzG&k@`i1n2K zqD$&@dnERfHd&`E+}Pg9J0Tg}umQ-L(9$R&x}?sECYo6XO*bk4N6XL(DM&66-E?E) zSS3JK*H+S+7Q}{(X>;6eL=H;+36F@TXR-CnMhT#)yR%ASFIZb$Px8>fE@aU=lb@r{ zR|SA5Ky6JGN+N}(?#=>;0PEu;lhIg$CT|X(3oOgRFf1bdGLe26!?3U{3!e*`yg8z= z1nc7?ljR;{;z@OLX>`sbJ?d#Yg(5n{(-yrm`M*%(5oz|hk?SPpRu$CErBO2RWC_qU zwP;3%LSxpQDX(T;z8{qRv^RPY1PR9hfh?+~^I>_1-^<^g#wLcwx~3M*iYWl;*u>D| z7`#(%J-J(dx+Cm6*?I;b9apwe+bi?G-aL2?Yys(_NI1TY(V>tBs0HeQ>OwdJq=3WX i%f)RJ9LM2*?B4+H@(<#P|3};a0000%t*xm literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_ok.png b/OnTopReplica/Assets/xiao_ok.png new file mode 100644 index 0000000000000000000000000000000000000000..fc5029a25f4417ad92afa7489f464874dc3318df GIT binary patch literal 752 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;c1c7*RCwB?lTAoeQ5c4wGk2VE(s3N6G)+pYjcFT2iI8xUB#|3YcWp$mz?IZO zSK_9YK}q7KU52X+0|{Dagx0{|UpUcV)RYchW}N?f?%cU8)Qh9bUicR0<@+Aa$2qSs zO%ovmN9vt#bN~ZDH*n+7{tV0lQ!|}w@~GD|O~i3P?|kEcB9xa67h1V^{xYTIUI3zM zgr9$Zu>N})!!!nGI@hL70eapwJaD@_&u=$(Ly19}1X(ly>^N~z3^9d;ud~F{`w!pT zU4LN#`rco6C_>ThwcaOPvX5rOG0B$zoQfM)%){H|R~V+@e0^tC+5oaLH&kEMj8+&Y zo>I{?4SAxz_?KDoeLyRWQ(x6gR_2BPYydVP`YOw6h-OqWGJ__yyjuO{XS!vP>6S&J z8I{Vi8f-%J9jpfkyJ#wK+DW8h1Vi7gYhS9aV>=XNx@FPw5~&!at_p-*G+6)uJ)1?- z(s|AOD{Xn_v0x91O+g~TG<9nQJ#B2Hl1Xwo7}@Hw296JpY;}>*HF8-PHw$PUh25xSHNuXW_T!0=iJQfAPl#F;B%FS0{2oSL%$3!~eU0o9M&@Z!LQE_DWd z?Enn=+R>y$mpTqyxD77>)z8A{_M`D41p*Tjn=VLbQG(G8e)-fVpTKKLdh5@*oN)!gMGHPz-ng*P)jN i_JIU&I*tFMe**wrqevEjZknS20000P)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;Zb?KzRCwB?lS@ccQ5eU6=gyrgI+i+!(lmmGkwlPU_CUhgxNXxyR}q4bUbL%4 zD``=?=&3?P`!?Z9U1+$deBgr=3pAly>7=*uG50lh?rCwI$#mHt4xICy@B5waaL!*y zDG@@DRYT8|2DAg0fpa_I_rM#VZ@jb4&E`re5xW5mJyY!=Mf5h+RB$XFrL-hST>A~5 zb%S>c-^lo~W4yDjZy%uk#pJbUq~O_=i#24zu#pBQ69Do;P!xtx8eR`CV5H3JlU?=C zbAZ#m(^^Oo&W+}i7{F#4q=eB49f0$v;s^l;!w?0Y4$hGAW!_jvt*ZcJ(r#Dd(HNV+ zFAHopC?05yGte4mbVA2=gS}0l@o0=p+U){R0E7@NRb?e4w!pGrY$hnqYM?dF*o=;4 zL1GK4%1RJIwB!IvNUaZRD#?_O?fCx`?}pfpPcr4BX(~!ctp`xE39ctGZ3j<6+ei?5 zc_ANwwh=1_QbP*18^%Yba{$ja=TfFwiw~CT?>pUcyxjbNreNA0zHNQUUBNU~`t`LW zg{s7L9c(8US!LI*>rkjl^tB|WvCLuVch{El$5@>0 z#!9UJ?I8Hdg_SpZ?v38!00000(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ-QAtEWRCwCFlD$d;K@^3*6*q-K0ycuMjg>xukCGyrI+&NyO4&w>nT5QEg`~9F zMl9?k44OdL*-7A7xU0qp{(+~t%(-_y?r>hsV!ms@Ll0Nrkv>2yk`)4^H`fO9Sf;OL^zwWO1K>GUS(=%SD$ zfNfyk7^AW*RTPEFvTPFB2eu`>JmE3Gq=Yc_@0XbacK{&-y!V6=yQuqYG{{pJ2 z!h26uRiFQZy%rqqz=AEVZr1@xlCWGZNs?q8;GZV>;F4Zr_@_w@2d@LpxqLJl^#I1> z@mqYgqB^eKy3TYn002ovPDHLkV1gvj B#S{Pl literal 0 HcmV?d00001 diff --git a/OnTopReplica/CloneClickEventArgs.cs b/OnTopReplica/CloneClickEventArgs.cs new file mode 100644 index 0000000..95012a7 --- /dev/null +++ b/OnTopReplica/CloneClickEventArgs.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + public class CloneClickEventArgs : EventArgs { + + public Point ClientClickLocation { get; set; } + + public bool IsDoubleClick { get; set; } + + public MouseButtons Buttons { get; set; } + + public CloneClickEventArgs(Point location, MouseButtons buttons) { + ClientClickLocation = location; + Buttons = buttons; + IsDoubleClick = false; + } + + public CloneClickEventArgs(Point location, MouseButtons buttons, bool doubleClick) { + ClientClickLocation = location; + Buttons = buttons; + IsDoubleClick = doubleClick; + } + + } +} diff --git a/OnTopReplica/CloseRequestEventArgs.cs b/OnTopReplica/CloseRequestEventArgs.cs new file mode 100644 index 0000000..c9d031e --- /dev/null +++ b/OnTopReplica/CloseRequestEventArgs.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; + +namespace OnTopReplica { + public class CloseRequestEventArgs : EventArgs { + + public WindowHandle LastWindowHandle { get; set; } + public Rectangle? LastRegion { get; set; } + + } +} diff --git a/OnTopReplica/EnumerationExtensions.cs b/OnTopReplica/EnumerationExtensions.cs new file mode 100644 index 0000000..a7cc169 --- /dev/null +++ b/OnTopReplica/EnumerationExtensions.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica { + + /// + /// Poor man's LINQ. + /// + static class EnumerationExtensions { + + public static bool Contains(IEnumerable collection, T value){ + foreach (var v in collection) + if (v.Equals(value)) + return true; + + return false; + } + + } + +} diff --git a/OnTopReplica/FocusedTextBox.cs b/OnTopReplica/FocusedTextBox.cs new file mode 100644 index 0000000..ac34c2d --- /dev/null +++ b/OnTopReplica/FocusedTextBox.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.Text; +using VistaControls; +using System.Windows.Forms; + +namespace OnTopReplica { + + class FocusedTextBox : System.Windows.Forms.TextBox { + + protected override bool IsInputChar(char charCode) { + if (charCode == '\n' || charCode == '\r') + return true; + + return base.IsInputChar(charCode); + } + + protected override void OnKeyUp(KeyEventArgs e) { + if (e.KeyCode == Keys.Return) { + if(!string.IsNullOrEmpty(Text)) + OnConfirmInput(); + + e.Handled = true; + e.SuppressKeyPress = true; + } + else if (e.KeyCode == Keys.Escape) { + OnAbortInput(); + + e.Handled = true; + e.SuppressKeyPress = true; + } + + //Console.WriteLine("{0} ({1})", e.KeyCode, e.KeyValue); + + base.OnKeyUp(e); + } + + //List of characters to ignore on KeyPress events (because they generate bell rings) + char[] _ignoreChars = new char[] { + (char)27, (char)13 + }; + + protected override void OnKeyPress(KeyPressEventArgs e) { + if (EnumerationExtensions.Contains(_ignoreChars, e.KeyChar)) { + e.Handled = true; + } + + base.OnKeyPress(e); + } + + public event EventHandler ConfirmInput; + + protected virtual void OnConfirmInput() { + var evt = ConfirmInput; + if (evt != null) + evt(this, EventArgs.Empty); + } + + public event EventHandler AbortInput; + + protected virtual void OnAbortInput() { + var evt = AbortInput; + if (evt != null) + evt(this, EventArgs.Empty); + } + + } + +} diff --git a/OnTopReplica/IMessagePumpProcessor.cs b/OnTopReplica/IMessagePumpProcessor.cs new file mode 100644 index 0000000..824b9e5 --- /dev/null +++ b/OnTopReplica/IMessagePumpProcessor.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + interface IMessagePumpProcessor : IDisposable { + + void Initialize(MainForm form); + + bool Process(ref Message msg); + + } +} diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs new file mode 100644 index 0000000..880e5af --- /dev/null +++ b/OnTopReplica/MainForm.Designer.cs @@ -0,0 +1,573 @@ +namespace OnTopReplica +{ + partial class MainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.menuContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.menuContextWindows = new System.Windows.Forms.ToolStripMenuItem(); + this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); + this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullSelectWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.switchToWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.selectRegionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.advancedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickForwardingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickThroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.groupSwitchModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextOpacity = new System.Windows.Forms.ToolStripMenuItem(); + this.menuOpacity = new System.Windows.Forms.ContextMenuStrip(this.components); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); + this.resizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuResize = new System.Windows.Forms.ContextMenuStrip(this.components); + this.doubleToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.fitToWindowToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.halfToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.quarterToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.fullscreenToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.dockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.chromeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.reduceToIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.languageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuLanguages = new System.Windows.Forms.ContextMenuStrip(this.components); + this.englishToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.cestinaToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.danskToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.italianoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); + this.fullOpacityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.danskToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFullscreenContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.enableClickthroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullExitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContext.SuspendLayout(); + this.menuWindows.SuspendLayout(); + this.menuOpacity.SuspendLayout(); + this.menuResize.SuspendLayout(); + this.menuLanguages.SuspendLayout(); + this.menuFullscreenContext.SuspendLayout(); + this.SuspendLayout(); + // + // menuContext + // + this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuContextWindows, + this.switchToWindowToolStripMenuItem, + this.selectRegionToolStripMenuItem, + this.advancedToolStripMenuItem, + this.menuContextOpacity, + this.resizeToolStripMenuItem, + this.dockToolStripMenuItem, + this.chromeToolStripMenuItem, + this.reduceToIconToolStripMenuItem, + this.toolStripSeparator1, + this.languageToolStripMenuItem, + this.aboutToolStripMenuItem, + this.menuContextClose}); + this.menuContext.Name = "menuContext"; + this.menuContext.Size = new System.Drawing.Size(169, 296); + this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); + // + // menuContextWindows + // + this.menuContextWindows.DropDown = this.menuWindows; + this.menuContextWindows.Image = global::OnTopReplica.Properties.Resources.list; + this.menuContextWindows.Name = "menuContextWindows"; + this.menuContextWindows.Size = new System.Drawing.Size(168, 22); + this.menuContextWindows.Text = global::OnTopReplica.Strings.MenuWindows; + this.menuContextWindows.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // + // menuWindows + // + this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.noneToolStripMenuItem}); + this.menuWindows.Name = "menuWindows"; + this.menuWindows.Size = new System.Drawing.Size(118, 26); + this.menuWindows.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Windows_opening); + // + // noneToolStripMenuItem + // + this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; + this.noneToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; + // + // fullSelectWindowToolStripMenuItem + // + this.fullSelectWindowToolStripMenuItem.DropDown = this.menuWindows; + this.fullSelectWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.list; + this.fullSelectWindowToolStripMenuItem.Name = "fullSelectWindowToolStripMenuItem"; + this.fullSelectWindowToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullSelectWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindows; + this.fullSelectWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // + // switchToWindowToolStripMenuItem + // + this.switchToWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_arrow; + this.switchToWindowToolStripMenuItem.Name = "switchToWindowToolStripMenuItem"; + this.switchToWindowToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.switchToWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSwitch; + this.switchToWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSwitchTT; + this.switchToWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_Switch_click); + // + // selectRegionToolStripMenuItem + // + this.selectRegionToolStripMenuItem.Enabled = false; + this.selectRegionToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.regions; + this.selectRegionToolStripMenuItem.Name = "selectRegionToolStripMenuItem"; + this.selectRegionToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.selectRegionToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRegion; + this.selectRegionToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRegionTT; + this.selectRegionToolStripMenuItem.Click += new System.EventHandler(this.Menu_Region_click); + // + // advancedToolStripMenuItem + // + this.advancedToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.clickForwardingToolStripMenuItem, + this.clickThroughToolStripMenuItem, + this.groupSwitchModeToolStripMenuItem}); + this.advancedToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_wrench; + this.advancedToolStripMenuItem.Name = "advancedToolStripMenuItem"; + this.advancedToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.advancedToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAdvanced; + // + // clickForwardingToolStripMenuItem + // + this.clickForwardingToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; + this.clickForwardingToolStripMenuItem.Name = "clickForwardingToolStripMenuItem"; + this.clickForwardingToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.clickForwardingToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickForwarding; + this.clickForwardingToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickForwardingTT; + this.clickForwardingToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickForwarding_click); + // + // clickThroughToolStripMenuItem + // + this.clickThroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.clickThroughToolStripMenuItem.Name = "clickThroughToolStripMenuItem"; + this.clickThroughToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.clickThroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.clickThroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.clickThroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // groupSwitchModeToolStripMenuItem + // + this.groupSwitchModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.groupmode; + this.groupSwitchModeToolStripMenuItem.Name = "groupSwitchModeToolStripMenuItem"; + this.groupSwitchModeToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.groupSwitchModeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuGroupSwitch; + this.groupSwitchModeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuGroupSwitchTT; + this.groupSwitchModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_GroupSwitchMode_click); + // + // menuContextOpacity + // + this.menuContextOpacity.DropDown = this.menuOpacity; + this.menuContextOpacity.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.menuContextOpacity.Name = "menuContextOpacity"; + this.menuContextOpacity.Size = new System.Drawing.Size(168, 22); + this.menuContextOpacity.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // menuOpacity + // + this.menuOpacity.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripMenuItem1, + this.toolStripMenuItem2, + this.toolStripMenuItem3, + this.toolStripMenuItem4}); + this.menuOpacity.Name = "menuOpacity"; + this.menuOpacity.ShowCheckMargin = true; + this.menuOpacity.ShowImageMargin = false; + this.menuOpacity.Size = new System.Drawing.Size(154, 92); + this.menuOpacity.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Opacity_opening); + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Checked = true; + this.toolStripMenuItem1.CheckState = System.Windows.Forms.CheckState.Checked; + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem1.Tag = 1D; + this.toolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuOp100; + this.toolStripMenuItem1.ToolTipText = global::OnTopReplica.Strings.MenuOp100TT; + this.toolStripMenuItem1.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem2 + // + this.toolStripMenuItem2.Name = "toolStripMenuItem2"; + this.toolStripMenuItem2.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem2.Tag = 0.75D; + this.toolStripMenuItem2.Text = global::OnTopReplica.Strings.MenuOp75; + this.toolStripMenuItem2.ToolTipText = global::OnTopReplica.Strings.MenuOp75TT; + this.toolStripMenuItem2.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem3 + // + this.toolStripMenuItem3.Name = "toolStripMenuItem3"; + this.toolStripMenuItem3.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem3.Tag = 0.5D; + this.toolStripMenuItem3.Text = global::OnTopReplica.Strings.MenuOp50; + this.toolStripMenuItem3.ToolTipText = global::OnTopReplica.Strings.MenuOp50TT; + this.toolStripMenuItem3.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem4 + // + this.toolStripMenuItem4.Name = "toolStripMenuItem4"; + this.toolStripMenuItem4.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem4.Tag = 0.25D; + this.toolStripMenuItem4.Text = global::OnTopReplica.Strings.MenuOp25; + this.toolStripMenuItem4.ToolTipText = global::OnTopReplica.Strings.MenuOp25TT; + this.toolStripMenuItem4.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // resizeToolStripMenuItem + // + this.resizeToolStripMenuItem.DropDown = this.menuResize; + this.resizeToolStripMenuItem.Enabled = false; + this.resizeToolStripMenuItem.Name = "resizeToolStripMenuItem"; + this.resizeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.resizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResize; + // + // menuResize + // + this.menuResize.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.doubleToolStripMenuItem1, + this.fitToWindowToolStripMenuItem1, + this.halfToolStripMenuItem1, + this.quarterToolStripMenuItem1, + this.toolStripSeparator3, + this.fullscreenToolStripMenuItem1}); + this.menuResize.Name = "menuResize"; + this.menuResize.OwnerItem = this.resizeToolStripMenuItem; + this.menuResize.Size = new System.Drawing.Size(165, 120); + this.menuResize.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Resize_opening); + // + // doubleToolStripMenuItem1 + // + this.doubleToolStripMenuItem1.Name = "doubleToolStripMenuItem1"; + this.doubleToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.doubleToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitDouble; + this.doubleToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Double); + // + // fitToWindowToolStripMenuItem1 + // + this.fitToWindowToolStripMenuItem1.Name = "fitToWindowToolStripMenuItem1"; + this.fitToWindowToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.fitToWindowToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitOriginal; + this.fitToWindowToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_FitToWindow); + // + // halfToolStripMenuItem1 + // + this.halfToolStripMenuItem1.Name = "halfToolStripMenuItem1"; + this.halfToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.halfToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitHalf; + this.halfToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Half); + // + // quarterToolStripMenuItem1 + // + this.quarterToolStripMenuItem1.Name = "quarterToolStripMenuItem1"; + this.quarterToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.quarterToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitQuarter; + this.quarterToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Quarter); + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(161, 6); + // + // fullscreenToolStripMenuItem1 + // + this.fullscreenToolStripMenuItem1.Image = global::OnTopReplica.Properties.Resources.fullscreen; + this.fullscreenToolStripMenuItem1.Name = "fullscreenToolStripMenuItem1"; + this.fullscreenToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.fullscreenToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitFullscreen; + this.fullscreenToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Fullscreen); + // + // dockToolStripMenuItem + // + this.dockToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.topLeftToolStripMenuItem, + this.topRightToolStripMenuItem, + this.bottomLeftToolStripMenuItem, + this.bottomRightToolStripMenuItem}); + this.dockToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_null; + this.dockToolStripMenuItem.Name = "dockToolStripMenuItem"; + this.dockToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.dockToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosition; + this.dockToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuPositionTT; + // + // topLeftToolStripMenuItem + // + this.topLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topleft; + this.topLeftToolStripMenuItem.Name = "topLeftToolStripMenuItem"; + this.topLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopLeft; + this.topLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopLeft); + // + // topRightToolStripMenuItem + // + this.topRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topright; + this.topRightToolStripMenuItem.Name = "topRightToolStripMenuItem"; + this.topRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopRight; + this.topRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopRight); + // + // bottomLeftToolStripMenuItem + // + this.bottomLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomleft; + this.bottomLeftToolStripMenuItem.Name = "bottomLeftToolStripMenuItem"; + this.bottomLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomLeft; + this.bottomLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomLeft); + // + // bottomRightToolStripMenuItem + // + this.bottomRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomright; + this.bottomRightToolStripMenuItem.Name = "bottomRightToolStripMenuItem"; + this.bottomRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomRight; + this.bottomRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomRight); + // + // chromeToolStripMenuItem + // + this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem"; + this.chromeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.chromeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuChrome; + this.chromeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuChromeTT; + this.chromeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Chrome_click); + // + // reduceToIconToolStripMenuItem + // + this.reduceToIconToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.reduce; + this.reduceToIconToolStripMenuItem.Name = "reduceToIconToolStripMenuItem"; + this.reduceToIconToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.reduceToIconToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReduce; + this.reduceToIconToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuReduceTT; + this.reduceToIconToolStripMenuItem.Click += new System.EventHandler(this.Menu_Reduce_click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(165, 6); + // + // languageToolStripMenuItem + // + this.languageToolStripMenuItem.DropDown = this.menuLanguages; + this.languageToolStripMenuItem.Name = "languageToolStripMenuItem"; + this.languageToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.languageToolStripMenuItem.Text = global::OnTopReplica.Strings.Language; + // + // menuLanguages + // + this.menuLanguages.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.englishToolStripMenuItem, + this.cestinaToolStripMenuItem, + this.danskToolStripMenuItem1, + this.italianoToolStripMenuItem}); + this.menuLanguages.Name = "menuLanguages"; + this.menuLanguages.OwnerItem = this.languageToolStripMenuItem; + this.menuLanguages.Size = new System.Drawing.Size(114, 92); + this.menuLanguages.Text = "Dansk"; + // + // englishToolStripMenuItem + // + this.englishToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_usa; + this.englishToolStripMenuItem.Name = "englishToolStripMenuItem"; + this.englishToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.englishToolStripMenuItem.Tag = "en-US"; + this.englishToolStripMenuItem.Text = "English"; + this.englishToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // cestinaToolStripMenuItem + // + this.cestinaToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_czech; + this.cestinaToolStripMenuItem.Name = "cestinaToolStripMenuItem"; + this.cestinaToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.cestinaToolStripMenuItem.Tag = "cs-CZ"; + this.cestinaToolStripMenuItem.Text = "Čeština"; + this.cestinaToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // danskToolStripMenuItem1 + // + this.danskToolStripMenuItem1.Image = global::OnTopReplica.Properties.Resources.flag_danish; + this.danskToolStripMenuItem1.Name = "danskToolStripMenuItem1"; + this.danskToolStripMenuItem1.Size = new System.Drawing.Size(113, 22); + this.danskToolStripMenuItem1.Tag = "da-DK"; + this.danskToolStripMenuItem1.Text = "Dansk"; + this.danskToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Language_click); + // + // italianoToolStripMenuItem + // + this.italianoToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_ita; + this.italianoToolStripMenuItem.Name = "italianoToolStripMenuItem"; + this.italianoToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.italianoToolStripMenuItem.Tag = "it-IT"; + this.italianoToolStripMenuItem.Text = "Italiano"; + this.italianoToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_help; + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.aboutToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAbout; + this.aboutToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAboutTT; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.Menu_About_click); + // + // menuContextClose + // + this.menuContextClose.Image = global::OnTopReplica.Properties.Resources.close_new; + this.menuContextClose.Name = "menuContextClose"; + this.menuContextClose.Size = new System.Drawing.Size(168, 22); + this.menuContextClose.Text = global::OnTopReplica.Strings.MenuClose; + this.menuContextClose.Click += new System.EventHandler(this.Menu_Close_click); + // + // fullOpacityToolStripMenuItem + // + this.fullOpacityToolStripMenuItem.DropDown = this.menuOpacity; + this.fullOpacityToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.fullOpacityToolStripMenuItem.Name = "fullOpacityToolStripMenuItem"; + this.fullOpacityToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullOpacityToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // danskToolStripMenuItem + // + this.danskToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_danish; + this.danskToolStripMenuItem.Name = "danskToolStripMenuItem"; + this.danskToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.danskToolStripMenuItem.Tag = "da-DA"; + this.danskToolStripMenuItem.Text = "Dansk"; + this.danskToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // menuFullscreenContext + // + this.menuFullscreenContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fullSelectWindowToolStripMenuItem, + this.fullOpacityToolStripMenuItem, + this.enableClickthroughToolStripMenuItem, + this.fullExitToolStripMenuItem}); + this.menuFullscreenContext.Name = "menuFullscreenContext"; + this.menuFullscreenContext.Size = new System.Drawing.Size(190, 92); + // + // enableClickthroughToolStripMenuItem + // + this.enableClickthroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; + this.enableClickthroughToolStripMenuItem.Name = "enableClickthroughToolStripMenuItem"; + this.enableClickthroughToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.enableClickthroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.enableClickthroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.enableClickthroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // fullExitToolStripMenuItem + // + this.fullExitToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; + this.fullExitToolStripMenuItem.Name = "fullExitToolStripMenuItem"; + this.fullExitToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullExitToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuQuitFullscreen; + this.fullExitToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_ExitFullscreen_click); + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.Control; + this.ClientSize = new System.Drawing.Size(264, 204); + this.ControlBox = false; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.MinimumSize = new System.Drawing.Size(20, 34); + this.Name = "MainForm"; + this.Text = "OnTopReplica"; + this.TopMost = true; + this.menuContext.ResumeLayout(false); + this.menuWindows.ResumeLayout(false); + this.menuOpacity.ResumeLayout(false); + this.menuResize.ResumeLayout(false); + this.menuLanguages.ResumeLayout(false); + this.menuFullscreenContext.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ContextMenuStrip menuContext; + private System.Windows.Forms.ToolStripMenuItem menuContextWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextClose; + private System.Windows.Forms.ContextMenuStrip menuWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextOpacity; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.ContextMenuStrip menuOpacity; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem4; + private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem reduceToIconToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem selectRegionToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem resizeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem switchToWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem dockToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topRightToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomRightToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuResize; + private System.Windows.Forms.ToolStripMenuItem doubleToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fitToWindowToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem halfToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem quarterToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fullscreenToolStripMenuItem1; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripMenuItem languageToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuLanguages; + private System.Windows.Forms.ToolStripMenuItem englishToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem italianoToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem cestinaToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem danskToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem chromeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem danskToolStripMenuItem1; + private System.Windows.Forms.ContextMenuStrip menuFullscreenContext; + private System.Windows.Forms.ToolStripMenuItem fullSelectWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullOpacityToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullExitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem advancedToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickForwardingToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickThroughToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem groupSwitchModeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem enableClickthroughToolStripMenuItem; + } +} + diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs new file mode 100644 index 0000000..79c9af4 --- /dev/null +++ b/OnTopReplica/MainForm.cs @@ -0,0 +1,537 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using VistaControls.Dwm; +using VistaControls.TaskDialog; +using System.Collections.Generic; +using OnTopReplica.Native; +using OnTopReplica.Update; + +namespace OnTopReplica { + + partial class MainForm : AspectRatioForm { + + //GUI elements + ThumbnailPanel _thumbnailPanel; + SidePanel _currentSidePanel = null; + Panel _sidePanelContainer; + + //Managers + WindowManager _windowManager = new WindowManager(); + MessagePumpManager _msgPumpManager = new MessagePumpManager(); + UpdateManager _updateManager = new UpdateManager(); + + FormBorderStyle _defaultBorderStyle; + + public MainForm() { + InitializeComponent(); + KeepAspectRatio = false; + + //Store default values + _defaultBorderStyle = FormBorderStyle; + _nonClickThroughKey = TransparencyKey; + + //Thumbnail panel + _thumbnailPanel = new ThumbnailPanel { + Location = Point.Empty, + Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right, + Size = ClientSize + }; + _thumbnailPanel.CloneClick += new EventHandler(Thumbnail_CloneClick); + Controls.Add(_thumbnailPanel); + + //Side panel + _sidePanelContainer = new Panel { + Location = new Point(ClientSize.Width, 0), + Anchor = AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom, + Enabled = false, + Visible = false, + Size = new Size(100, ClientSize.Height), + Padding = new Padding(4) + }; + Controls.Add(_sidePanelContainer); + + //Set native renderer on context menus + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer( + menuContext, menuWindows, menuOpacity, menuResize, menuLanguages, menuFullscreenContext + ); + + //Init message pump extensions + _msgPumpManager.Initialize(this); + + //Add hotkeys + var hotKeyMgr = _msgPumpManager.Get(); + hotKeyMgr.RegisterHotKey(Native.HotKeyModifiers.Control | Native.HotKeyModifiers.Shift, + Keys.O, new Native.HotKeyMethods.HotKeyHandler(HotKeyOpenHandler)); + hotKeyMgr.RegisterHotKey(Native.HotKeyModifiers.Control | Native.HotKeyModifiers.Shift, + Keys.C, new Native.HotKeyMethods.HotKeyHandler(HotKeyCloneHandler)); + + //Hook keyboard handler + this.KeyUp += new KeyEventHandler(Form_KeyUp); + this.KeyPreview = true; + } + + delegate void GuiAction(); + + void UpdateManager_CheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + this.Invoke(new GuiAction(() => { + if (e.Success) { + _updateManager.HandleUpdateCheck(this, e.Information, false); + } + else { + Console.WriteLine("Failed to check for updates: {0}", e.Error); + } + })); + } + + #region Event override + + protected override CreateParams CreateParams { + get { + //Needed to hide caption, while keeping window title in task bar + var parms = base.CreateParams; + parms.Style &= ~0x00C00000; //WS_CAPTION + parms.Style &= 0x00040000; //WS_SIZEBOX + return parms; + } + } + + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + //Platform specific form initialization + Program.Platform.InitForm(this); + + //Glassify window + GlassEnabled = true; + } + + protected override void OnHandleCreated(EventArgs e) { + base.OnHandleCreated(e); + + //Check for updates + _updateManager.UpdateCheckCompleted += new EventHandler(UpdateManager_CheckCompleted); + _updateManager.CheckForUpdate(); + } + + protected override void OnClosing(CancelEventArgs e) { + _msgPumpManager.Dispose(); + + base.OnClosing(e); + } + + protected override void OnResize(EventArgs e) { + base.OnResize(e); + + this.GlassMargins = (_currentSidePanel != null) ? + new Margins(ClientSize.Width - _sidePanelContainer.Width, 0, 0, 0) : + new Margins(-1); + } + + protected override void OnActivated(EventArgs e) { + base.OnActivated(e); + + //Deactivate click-through if reactivated + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + + Program.Platform.RestoreForm(this); + } + + protected override void OnDeactivate(EventArgs e) { + base.OnDeactivate(e); + + //HACK: sometimes, even if TopMost is true, the window loses its "always on top" status. + // This is an attempt of a fix that probably won't work... + if (!IsFullscreen) { //fullscreen mode doesn't use TopMost + TopMost = false; + TopMost = true; + } + } + + protected override void OnMouseWheel(MouseEventArgs e) { + base.OnMouseWheel(e); + + if (!IsFullscreen) { + int change = (int)(e.Delta / 6.0); //assumes a mouse wheel "tick" is in the 80-120 range + AdjustSize(change); + } + } + + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); + + //This is handled by the WM_NCLBUTTONDBLCLK msg handler usually (because the GlassForm translates + //clicks on client to clicks on caption). But if fullscreen mode disables GlassForm dragging, we need + //this auxiliary handler to switch mode. + IsFullscreen = !IsFullscreen; + } + + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); + + //Same story as above (OnMouseDoubleClick) + if (e.Button == System.Windows.Forms.MouseButtons.Right) { + OpenContextMenu(); + } + } + + protected override void WndProc(ref Message m) { + if (_msgPumpManager != null) { + if (_msgPumpManager.PumpMessage(ref m)) { + return; + } + } + + switch (m.Msg) { + case WM.NCRBUTTONUP: + //Open context menu if right button clicked on caption (i.e. all of the window area because of glass) + if (m.WParam.ToInt32() == HT.CAPTION) { + OpenContextMenu(); + + m.Result = IntPtr.Zero; + return; + } + break; + + case WM.NCLBUTTONDBLCLK: + //Toggle fullscreen mode if double click on caption (whole glass area) + if (m.WParam.ToInt32() == HT.CAPTION) { + IsFullscreen = !IsFullscreen; + + m.Result = IntPtr.Zero; + return; + } + break; + + case WM.NCHITTEST: + //Make transparent to hit-testing if in click through mode + if (ClickThroughEnabled) { + m.Result = (IntPtr)HT.TRANSPARENT; + return; + } + break; + } + + base.WndProc(ref m); + } + + #endregion + + const string Title = "OnTopReplica"; + + #region Keyboard event handling + + void Form_KeyUp(object sender, KeyEventArgs e) { + //ALT + if (e.Modifiers == Keys.Alt) { + if (e.KeyCode == Keys.Enter) { + e.Handled = true; + IsFullscreen = !IsFullscreen; + } + + else if (e.KeyCode == Keys.D1 || e.KeyCode == Keys.NumPad1) { + FitToThumbnail(0.25); + } + + else if (e.KeyCode == Keys.D2 || e.KeyCode == Keys.NumPad2) { + FitToThumbnail(0.5); + } + + else if (e.KeyCode == Keys.D3 || e.KeyCode == Keys.NumPad3 || e.KeyCode == Keys.D0 || e.KeyCode == Keys.NumPad0) { + FitToThumbnail(1.0); + } + + else if (e.KeyCode == Keys.D4 || e.KeyCode == Keys.NumPad4) { + FitToThumbnail(2.0); + } + } + + //ESCAPE + else if (e.KeyCode == Keys.Escape) { + +#if DEBUG + Console.WriteLine("Received ESCAPE"); +#endif + + //Disable click-through + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + //Toggle fullscreen + else if (IsFullscreen) { + IsFullscreen = false; + } + //Disable click forwarding + else if (_thumbnailPanel.ReportThumbnailClicks) { + _thumbnailPanel.ReportThumbnailClicks = false; + } + } + } + + void HotKeyOpenHandler() { + if (IsFullscreen) + IsFullscreen = false; + + if (!Program.Platform.IsHidden(this)) { + Program.Platform.HideForm(this); + } + else { + EnsureMainFormVisible(); + } + } + + void HotKeyCloneHandler() { + var handle = Win32Helper.GetCurrentForegroundWindow(); + if (handle.Handle == this.Handle) + return; + + SetThumbnail(handle, null); + } + + #endregion + + #region Fullscreen + + bool _isFullscreen = false; + Point _preFullscreenLocation; + Size _preFullscreenSize; + + public bool IsFullscreen { + get { + return _isFullscreen; + } + set { + if (IsFullscreen == value) + return; + if (value && !_thumbnailPanel.IsShowingThumbnail) + return; + + CloseSidePanel(); //on switch, always hide side panels + GlassEnabled = !value; + FormBorderStyle = (value) ? FormBorderStyle.None : _defaultBorderStyle; + TopMost = !value; + HandleMouseMove = !value; + + //Location and size + if (value) { + _preFullscreenLocation = Location; + _preFullscreenSize = Size; + + var currentScreen = Screen.FromControl(this); + Size = currentScreen.WorkingArea.Size; + Location = currentScreen.WorkingArea.Location; + } + else { + Location = _preFullscreenLocation; + Size = _preFullscreenSize; + RefreshAspectRatio(); + } + + _isFullscreen = value; + + Program.Platform.OnFormStateChange(this); + } + } + + #endregion + + #region Thumbnail operation + + /// + /// Sets a new thumbnail. + /// + /// Handle to the window to clone. + /// Region of the window to clone. + public void SetThumbnail(WindowHandle handle, StoredRegion region) { + try { + CurrentThumbnailWindowHandle = handle; + _thumbnailPanel.SetThumbnailHandle(handle); + + if (region != null) + _thumbnailPanel.SelectedRegion = region.Rect; + else + _thumbnailPanel.ConstrainToRegion = false; + + //Set aspect ratio (this will resize the form), do not refresh if in fullscreen + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize, !IsFullscreen); + } + catch (Exception ex) { + ThumbnailError(ex, false, Strings.ErrorUnableToCreateThumbnail); + } + } + + /// + /// Enables group mode on a list of window handles. + /// + /// List of window handles. + public void SetThumbnailGroup(IList handles) { + if (handles.Count == 0) + return; + + //At last one thumbnail + SetThumbnail(handles[0], null); + + //Handle if no real group + if (handles.Count == 1) + return; + + CurrentThumbnailWindowHandle = null; + _msgPumpManager.Get().EnableGroupMode(handles); + } + + /// + /// Disables the cloned thumbnail. + /// + public void UnsetThumbnail() { + //Unset handle + CurrentThumbnailWindowHandle = null; + _thumbnailPanel.UnsetThumbnail(); + + //Disable aspect ratio + KeepAspectRatio = false; + } + + /// + /// Gets or sets the region displayed of the current thumbnail. + /// + public Rectangle? SelectedThumbnailRegion { + get { + if (!_thumbnailPanel.IsShowingThumbnail || !_thumbnailPanel.ConstrainToRegion) + return null; + + return _thumbnailPanel.SelectedRegion; + } + set { + if (!_thumbnailPanel.IsShowingThumbnail) + return; + + if (value.HasValue) { + _thumbnailPanel.SelectedRegion = value.Value; + SetAspectRatio(value.Value.Size, true); + } + else { + _thumbnailPanel.ConstrainToRegion = false; + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize, true); + } + + FixPositionAndSize(); + } + } + + const int FixMargin = 10; + + /// + /// Fixes the form's position and size, ensuring it is fully displayed in the current screen. + /// + private void FixPositionAndSize() { + var screen = Screen.FromControl(this); + + if (Width > screen.WorkingArea.Width) { + Width = screen.WorkingArea.Width - FixMargin; + } + if (Height > screen.WorkingArea.Height) { + Height = screen.WorkingArea.Height - FixMargin; + } + if (Location.X + Width > screen.WorkingArea.Right) { + Location = new Point(screen.WorkingArea.Right - Width - FixMargin, Location.Y); + } + if (Location.Y + Height > screen.WorkingArea.Bottom) { + Location = new Point(Location.X, screen.WorkingArea.Bottom - Height - FixMargin); + } + } + + private void ThumbnailError(Exception ex, bool suppress, string title) { + if (!suppress) { + ShowErrorDialog(title, Strings.ErrorGenericThumbnailHandleError, ex.Message); + } + + UnsetThumbnail(); + } + + /// Automatically sizes the window in order to accomodate the thumbnail p times. + /// Scale of the thumbnail to consider. + private void FitToThumbnail(double p) { + try { + Size originalSize = _thumbnailPanel.ThumbnailOriginalSize; + Size fittedSize = new Size((int)(originalSize.Width * p), (int)(originalSize.Height * p)); + ClientSize = fittedSize; + } + catch (Exception ex) { + ThumbnailError(ex, false, Strings.ErrorUnableToFit); + } + } + + #endregion + + #region Click-through + + bool _clickThrough = false; + Color _nonClickThroughKey; + + public bool ClickThroughEnabled { + get { + return _clickThrough; + } + set { + //Adjust opacity if fully opaque + if (value && Opacity == 1.0) + Opacity = 0.75; + if (!value) + Opacity = 1.0; + + //Enable transparency and force as top-most + TransparencyKey = (value) ? Color.Black : _nonClickThroughKey; + if (value) + TopMost = true; + + _clickThrough = value; + } + } + + #endregion + + #region Accessors + + /// + /// Gets the form's thumbnail panel. + /// + public ThumbnailPanel ThumbnailPanel { + get { + return _thumbnailPanel; + } + } + + /// + /// Gets the form's message pump manager. + /// + public MessagePumpManager MessagePumpManager { + get { + return _msgPumpManager; + } + } + + /// + /// Gets the form's window list drop down menu. + /// + public ContextMenuStrip MenuWindows { + get { + return menuWindows; + } + } + + /// + /// Retrieves the window handle of the currently cloned thumbnail. + /// + public WindowHandle CurrentThumbnailWindowHandle { + get; + private set; + } + + #endregion + + } +} diff --git a/OnTopReplica/MainForm.resx b/OnTopReplica/MainForm.resx new file mode 100644 index 0000000..e1539d6 --- /dev/null +++ b/OnTopReplica/MainForm.resx @@ -0,0 +1,324 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 142, 17 + + + 275, 17 + + + 578, 17 + + + 695, 17 + + + 399, 17 + + + + + AAABAAIAMDAAAAEAIACoJQAAJgAAABAQAAABACAAaAQAAM4lAAAoAAAAMAAAAGAAAAABACAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAAAAFwAAACAAAAAnAAAAKwAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAAKwAAACcAAAAfAAAAFwAAAA0AAAAGAAAABgAAAA4AAAAdAAAALQAAAD0AAABIAAAATgAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATgAAAEgAAAA9AAAALQAAABwAAAANAAAACwAAABkAAAAwAAAARwAA + AFsAAABpAAAAcAAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcAAAAGkAAABdAAAASAAAAC8AAAAYAAAAEQAA + ACQAAABBAAAAbAoKC6QYGBiyFhcXtBcXF7QXFxe0FxcXtBcXF7UXFxi0FxcYtBcYGLQXGBi0FxgYtBgY + GLQXGBi0FxcYtBcXF7QXFxe0FxcXtBcXF7QXFxe0FxcXtRcXF7UXFxe1FxcXtBcXF7QXFxe0FxcXtBYX + F7QWFhe0FhYXtBYWFrQWFhe0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe0GBgYtQEBAqYAAAB5AAAAXwAA + AEEAAAAkAAAAFwAAACwAAABdOTk3u46IgKWTjIKUkYiAk4yEepKHf3WQhHtyj4B5b45+eG2NfHVrjHly + Z4t5cmeLeXFni3huZot5b2aLe3JoioB3bIuDe3KMiH92jIyCeIyMhXqNjYZ7jo2HfI+Ph36PkId/j5GI + f4+SiX+PkomAj5OLgJCTjIKQk4yCkJSMgpCTi4GQj4h+joyEeo2LgniMjIN5jY+HfY6RiYCPkoqAjn55 + c7IXFxe1AAAAcQAAAFAAAAAuAAAAGwAAADAJCQmJkoyGrJ6ViXCypp2Fv7OskL2yq5G6r6ePt6yljbWr + o4yzqqGLsaefirClnYmupJ2JrqOdia6inYqvpJ2JsqafibSqo4m4raeKu7Gqiryyq4u8s6uLu7OsjLyz + rYy8s62MvbOujb20ro29ta6NvbWujry2ro67tq6OvLaujr23r468ta6OurOsjLiyq4u3sayLubOvjLu0 + so20ramGnpWNdJ+ViGxnZWG9AAAAiQAAAFYAAAAzAAAAHAAAADIREhKSqaGapbK4splz3ePrceDn8nPg + 5/N14OfzduDm83nh5fN84uXyf+Lk8oLj5PKF4+Lyh+Pi8onk4PKM5d/yj+Xf8pPm3/KX6ODynOni8qDq + 4/Kk7OLyqO7i863w4vKy8+Hytvbh87z44fPE+uHzzvvk89776vPs+/Pz+fv58//7/fP/+/7z//v98v/7 + 9/L8++3y9/vi8/b70fPz+b7u1da5u6mim3V/fHe1AAAAkQAAAFkAAAA2AAAAHQAAADMQEBCRsKiirMLO + ybBI3eT/PNnf/z3Z2v8+2df/P9nV/0HZ0/9G2tL/StvQ/0vbzv9O28v/UNzJ/1Pcx/9W3sX/WuHD/13k + wv9i6ML/aO/E/3D1x/99+s7/jP3W/53/4P+y/+r/xf/x/9r/+f/v//3/9//8//n//P/6//r/8v/r/+H/ + 3v+//dr/t/3Z/8L+zv/K/7H/1f2b/9r8jv/X/Yz/0Oa+1r2zsYJ+e3e4AAAAkQAAAFoAAAA3AAAAHQAA + ADMPDw+RtKumr8bSz7Y809n/L9DT/zLQ0f8zz8//NNDL/zfQyf860Mj/PNHF/z3Sw/9A1cH/RdnC/0re + xP9S5cj/W+zN/2by0/9x+Nj/e/3d/4L/4P+L/+T/mf/o/6n/6/+5/+z/xP/n/8f/2/+//8z/tPy//6X5 + tf+Z96//jPar/3j1rP9z97j/gvrD/4X9yf+Q/cv/qvu5/7jtkf+112f/z9mt2cW9u4iAfXm5AAAAkQAA + AFoAAAA3AAAAHQAAADMPDw+Rta6osMfT0Lc40tX/LM/Q/zHQz/8y0c7/NdTO/znXz/8/29H/ROHV/0zo + 2P9T7tz/WvTg/2D54v9l++H/avzf/27+3f90/9v/ev/a/4H/1/+K/tT/kPzL/5H4v/+N87D/he6f/4Dp + k/+B5o3/huWK/4/liP+W5of/muaG/5zihv+e2ob/pNeJ/6ncjP+s5pD/pO6U/5/wlv+h4oX/ytu32si/ + vYuCf3u6AAAAkQAAAFoAAAA2AAAAHQAAADMPDw+Rt6+qscnV0bk+2Nf/M9nV/zrd2P9A4tz/Rejf/0jq + 4P9J6tv/TOrW/07o0P9P5sn/UefD/1Xqwf9c8ML/ZPXC/2v3wP9v8rn/cOqv/27iof9r25X/a9mN/3TZ + jP9924v/gtuH/4fbgv+I2n7/itR6/4nNdP+HxW3/iL5o/4y4YP+St1X/k7ZL/5S1Tv+ZtlX/pL5d/67L + Yv+x123/0uC828rCwI2DgHy7AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RuLCss8rX07pG4dz/Od7W/zzb + 0f8/2s3/P9jI/0DUwv8/0Ln/Q9G2/0rXuP9S3rr/WuS9/1/kuf9f3rD/X9ai/1/Pl/9hzJD/Zc+M/2zT + if9x1oj/d9eE/37Vg/+D0X//fshz/3m+aP95uGP/e7Nf/3+wXP+FsFb/jLVR/4+8Uv+QwFv/k8Rk/5zF + Zf+hw2D/pMBY/6i7Uv+ps0D/0M+i3M3Hx5CEgX68AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RubKutMvW + 0rs/ysH/MsS3/zbDtP87x7b/Qc27/0bVwP9L2b//Ttq7/1HWs/9T0Kn/Vcqh/1jImv9dy5X/Y9CS/2nT + kP9u1Yz/cNOG/3DOfv9wx3X/cMJv/3vDcf+GxnH/gsFl/4G/Xv+Iv17/jMNc/5DHXP+QzGH/jM9u/4vL + c/+OwWz/j7lg/5GyVP+SqEn/lqJB/5icOv+WkSr/yMOb3NDMypGFgn+9AAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+RurOvtszW0bxCxbj/OMa2/0DNu/9F0r3/SdS9/0rSt/9LzKz/TMik/1HLoP9a0aH/Y9ih/2vc + nv9w3Jf/cdqP/3PXiP931YH/etV8/37Vdv+A1HD/hdNq/5XUbv+Z027/icll/4HGYv+Dx1z/hcJU/4K3 + VP99qVX/fJ1J/3yTPP97izT/fIYv/4CDK/+EgSj/iIAn/4uBJv+MfBr/xr2W3dPPzZOHhIG9AAAAkAAA + AFoAAAA2AAAAHQAAADIPDw+RvLWwts7Z071K0L7/Psq0/0LKr/9HzK3/T9Ox/1jdtv9f5bf/Y+q0/2rt + r/9y7Kn/eeqj/4Hmnf+C4pT/gNyK/3/Tfv99zHP/e8Rp/3e7Yf9ysl3/b69h/3e2cf9zuHD/aa9Z/3Gn + Qv94nDT/dI4v/3KGKv90gyb/doIk/3d/I/94fCH/enog/3x4IP+AeCD/g3kg/4d6Iv+Idhf/xLuW3tbR + 0JWHhIG+AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvLWxuM/Z075W173/Utq7/1riv/9h6cL/aOzC/23t + v/9s6bP/aeCl/2nVl/9pzIz/bcSB/3C8d/9ts23/Z6lj/2SiXf9hnVv/XZpb/1yZXP9cnFv/ZaVZ/3aw + U/94pjv/cY8n/2+EJP9sgCX/bH4k/3B+I/92gCL/en8f/3p7Hv95eB7/eXcd/3t1Hv9+dR7/gHYf/4R3 + H/+FchX/w7qW3tfT0peHhYK/AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvbazuNHb1b9k3r//WNez/1bP + qP9Tx5z/U7+U/1O5jv9Ss4T/UKp2/1Cha/9Tnmb/Wp5j/2ChZP9gn2L/XJld/1yYXP9cmFf/XphQ/2Sa + R/9nmDr/cJkv/32dKf92jyT/an0h/2p9If9ufyD/cn4e/3V+Hf98gB3/fX8c/3t6HP95dhz/eHQb/3lz + HP97cxz/fXQc/4J0Hf+CbxL/wrmV3tjU1JiIhoPAAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+Qvbe1udDY + 0sBPt5b/QauH/0Khff9CnXT/RZ1y/0iecP9Lnm3/S5pn/0yVYv9QlGD/WZlf/2KhXv9ln1n/YplS/2WZ + TP9nmEP/aJQ5/2aNLP9mhST/dI0i/3+WI/9yhx//aXkc/2x7G/9xfhr/dYEa/3qAGv+Agxr/f4AZ/3x7 + Gv95dhr/eHIZ/3hxGv95cRn/fHEa/4ByG/+AbBD/wbiU39nW1pqIhoPAAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+Qvrq2utDW0MFJo4D/P5xz/0KVbP9BkWb/RJJl/0eVZ/9LmGb/TZZh/0+TW/9UlFf/X5pU/2ui + U/9uoUz/bZtD/2+YO/9oji//ZIQl/2Z/IP9ugB3/e40e/32QHv9xgRv/a3kY/298F/90gRf/eYMY/36D + F/+Ehhj/g4IY/358GP96dhj/d3IY/3dwGP94bxj/em8Y/31wGf99ag7/wbiU4NzY15uJh4TBAAAAkAAA + AFoAAAA2AAAAHQAAADIPDw6Qv7q3u9DWz8FJnnT/QJdq/0KPZP9Di1//RYxd/0mQXP9Ok1r/UJNW/1OS + Uf9ak0z/aJxI/3ilRP96oT3/b5Qx/2yMKP9pgyH/a4Ac/219Gf9wfhj/eosa/3yOGv9xfxf/bnwW/3J/ + Ff96hBX/fYMW/4GFFv+Hhxb/hYMW/398Ff97dRb/eHIW/3dvFv93bhb/eG4W/3xuF/97aAz/wLiU4N3Z + 2JuJh4TBAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6Qv7u4u9DWz8JLmm3/QpRh/0SNWv9Fh1P/SYhR/0yL + T/9Rjk7/V5RK/12XRv9mmUD/dqI8/4GmNf93mCz/booj/3OKHv9yhBr/cH8V/257FP9ygBb/fY8Y/36P + GP9ygBT/cn4U/3iDFP+AiBT/foUT/4aIFP+IiBT/hYMU/398E/98dhP/eXMU/3hwFP93bRX/d20V/3tt + Ff94Zgr/wLeT4N3Z2p2KiIXBAAAAkAAAAFoAAAA2AAAAHQAAADIODg6QwLy5vNHWz8JOmGP/RpNW/0eK + UP9Igkj/SoJG/1CIQ/9blEL/ZJs+/2qfO/9zoTX/eJ0s/32aJP95kiD/doob/3uMGf92hRb/cYAU/258 + Ev92hRP/g5MV/4WSFf92gxL/eIMS/3+HEv+EjBL/gYcR/4mKEf+IiRL/hIMS/4B8EP98dxH/e3QS/3lx + E/93bhP/eG0T/3lsFP93ZQn/wLeT4d7a252KiIXCAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6QwLy5vNHW + zcNRlFj/SZJN/0yIR/9MgD//VYs8/2CXOv9lmDf/bqU1/3CgL/9tjiX/d5Eg/4OaHv9/khz/e4sX/4KN + Fv96hhT/dIAS/3N/Ef9/ixP/i5kU/4qVFP98hhH/fogR/4WNEf+GjRH/hYkO/4mLD/+IiA//hIEQ/398 + D/99eA//fXYQ/3xzEf96bxL/eW0S/3ptEv93Zgf/wLiS4d7a256LiIbCAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDg6QwLy6vNLVzcNUklD/S5BD/1OOP/9elTr/YZQ0/2WYMf9urC//apgn/2WCIP9wiR7/f5Uc/4qb + Gv+Fkhr/gIsV/4SNE/98hhL/eIEP/3mDEP+GkhL/kp4S/4uWEf+Aig//gosO/4qREP+IjQ//iYsN/4uM + Df+Ihgz/hIEO/4B7Df9/eA3/gXgP/4B1D/9+chD/fW4R/3xtEf95aAb/wbmS4d/c3J+LiYbCAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Rwby6vdLVzMRVkUf/WZ89/2WjOv9gjzD/ZKAu/2muLf9ljST/ZH0f/2uE + Hf93jRv/hZYY/4+bF/+Ikhr/gooS/4OMEP99hg7/eoIO/36HDv+NlxD/l6AQ/42VD/+FjQ3/h44N/4+U + D/+IjA7/jYwM/46KDP+JhAr/gn8M/396C/+BeAz/g3gN/4J1Df+Acw7/fm8P/31uD/98awT/wruS4d/c + 3J+LiYbDAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RwLy7vtPWzMRjo0L/YaY2/1+XMf9lri7/YqQp/1x+ + If9lgB7/aoIc/2+FGv99jRf/i5YV/5KaFv+JkBj/gogP/4OLDf9/hgz/fIML/4OKDP+Umw7/nKEP/42T + Df+Ijgz/jJEM/5CWDf+Liwz/kY4K/4+KC/+Jgwn/gn0K/4B5Cv+CeAv/g3gM/4N2Df+Acw3/f28N/35v + Df9+bgP/w72S4d7c3KCLiYbDAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Rwr27vdTYzMRfmTv/W6Ew/2a+ + M/9emCj/WHUf/197Hf9ogxv/bIIY/3KFF/+AjhT/jZcT/5KZFv+IjhX/gogM/4WJDP+AhQr/f4UJ/4iO + C/+ang3/naEN/42SC/+LkAv/kZUL/5KUC/+OjAn/lI8J/4+JCf+Jgwj/g30J/4F5CP+DeQj/g3gK/4J2 + C/9/cgz/fm8L/4BxDP+AcQL/xL6R4d/b3KCLiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Qwr28vtPU + y8Rgojn/YcEx/1uXKf9Zdx//W3gb/2F8Gf9rgxf/bYEV/3WFE/+DjhL/j5YP/5KXE/+HjBL/g4gK/4WJ + Cf+ChQj/gYYI/46SCP+eoQv/naAL/42RCf+OkQr/lpgK/5ORCf+Sjgj/lI8I/4+JCP+Jggf/g30G/4F6 + Bv+DeQf/gncJ/4F0Cv9+cQr/fW8J/4ByC/+BcwD/xL+R4t3a26GKiIXEAAAAjwAAAFoAAAA2AAAAHQAA + ADIPDw+Qwby8v9XczMVhuDf/VpEl/1qFIv9bfBz/XHcZ/2J7Fv9rgRT/b4AR/3eFEP+FjRD/jpUL/5GV + EP+GihD/g4YH/4WIB/+ChAf/hIYH/5SVB/+hogr/nJ0J/5GRB/+Tkgj/mZgJ/5KPCP+VkAf/lY8H/4+I + B/+Jggb/hH0F/4J6Bf+CeAb/gnYH/350CP97cAj/e3AI/4F0Cv+BdQD/xL+R4t3Y26KKiIXEAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Qwb69v9TWy8ZZhCz/Voof/1yJIP9cexn/XHYW/2N5FP9sfxH/bn8O/3mE + Df+EjQz/jZMI/5GUEP+FiQ3/hIUF/4aGBf+ChAb/hocF/5iYBv+jpAb/m5oH/5ORB/+WlQb/mZcH/5KP + Bf+XkQb/lY4F/46HBv+IgQX/hHwE/4N7BP+CeAX/f3UG/3xyBv96bwb/e3EG/4J2Cf+CdwD/xL+Q4tzZ + 26KKiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw769v9TVy8ZXgin/V4sc/1yKHv9behj/XXQV/2N3 + Ev9rfA//b30N/3mCDP+Eiwv/jJEI/5CSEv+Ehgz/g4QD/4WFBf+CgwX/iokF/5uaBv+jpAX/mJYF/5OQ + Bv+Ylgb/lpMG/5SPBf+YkQb/k4sG/42EBv+HfwT/hHwD/4N7BP+AeAX/fXQE/3pwBf93bgb/enEG/4B2 + CP+CdwD/xMCP49zZ26OKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw7++wNXVzMZYgCj/Voob/12K + G/9cehb/XXIT/2J1EP9rew7/bXwM/3iBC/+Eigr/io8H/46RE/+ChAn/gYID/4ODBf+Cggb/jYsF/52c + Bf+iogb/lZMF/5OQBv+YlQb/k48G/5WOBv+Xjwb/kIkG/4uCBv+FfQT/g3wD/4N6Bf9/dQX/enEE/3Vu + BP90bgX/eHEG/393CP+BeQD/xMGO49vZ26SKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6RxMC+wNXW + zMZZfib/V4kY/16KGf9behX/W3AS/2JzD/9peQz/bHoL/3eACf+DiQj/io0H/46QFf+Aggj/gIED/4GC + BP+BgQX/j40F/5+dBv+hngX/lI8G/5WQBv+YkwX/kosF/5aOBf+VjAb/j4YF/4iABf+EewP/g3sE/4J4 + Bf9+dAT/d3AE/3JtBP9ybQT/d3IF/3x3B/+AeQD/wb6N49vY26SJiIXGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QxMC/wNbWzMZZfCP/WIYV/16KGP9ceRT/XG8Q/2FxDf9odwz/bXgK/3Z/CP+Bhwj/iYsH/42O + Ff9+gAf/f4AE/3+AA/+CgQT/ko8G/6CeBv+emQb/kowH/5WPBv+VkAX/kYkG/5eMBv+TiQX/jYMF/4d+ + BP+DegP/g3kE/4B2BP98cgT/dW4E/3BrA/9xbQT/dXEF/3t4Bv97dwD/vbqN49za26WJiIXGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QxcG/wNbXzcdXeiH/V4QT/16JFv9deRL/W24N/19wDP9ndAv/bHYJ/3V9 + B/+Bhgf/iIkH/4yNFv98fgX/fn4D/35+A/+DgAT/lJEF/6GeBv+alAb/kYkH/5WOBf+SiwX/kIcH/5aK + Bv+QhQX/i4EF/4Z8BP+CeAX/gXYF/35zBP96cAT/c2wE/29qA/9xbQP/dHEE/3t6Bf9zcAD/uriN493a + 26WKiIXGAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6Qx8PBwdbXzcdWeB//V4IS/16IE/9ceRD/WmwN/15u + C/9lcgn/anUH/3V8B/+BhAb/hocG/4uLGP96ewX/fH0E/3x8A/+EgQT/lZMF/6GdBv+Vjwb/kIgF/5ON + Bf+PhwX/kYYG/5OHBf+MggX/ioAE/4R5BP+BdwX/gHUE/3xyBP92bgT/cGsE/29qA/9wbAP/c3ED/3l4 + Bf9taQD/ubWN493a26WKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8PCwdjYzsdWdR//VX8P/12G + Ef9cdw7/WWoN/15sCv9jcQj/anMG/3R7Bv9/gwX/hIUG/4mJGf94eAP/ensE/3p6BP+FggT/l5QE/56b + Bf+PigX/j4YG/5CJBf+MgwX/kYUG/5CDBf+KfwT/iH8D/4F3Bf+AdQT/fnME/3pwBP9zbAT/cGoD/29q + A/9vbAP/dHID/3RzBf9nYgD/trOM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8TDwdjY + zsdVch3/U3oN/1yEEP9cdg3/WWkL/11rCP9icAf/aXEG/3N5Bv9+gQT/goQH/4aHGf91dgL/eHgF/3l4 + BP+GgwP/mZQF/5uXBf+MhQX/jYYF/42FBP+JgAT/j4ME/4uABP+JfgT/hXsE/390BP9/dAT/fHIE/3du + BP9yawP/b2oD/29rA/9vbAP/c3MD/25tA/9hXQD/tLKM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QycXEwdnZz8dUbxv/UnYM/1uBDv9cdQv/WWkJ/1tpB/9gbgX/aHEF/3J3Bv97fgP/gIII/4SF + GP9ycwL/dnYF/3h3BP+IhAT/mJQF/5aSBP+IggX/ioMF/4iAA/+IfwT/jYEE/4d9BP+HfgT/gXgE/39z + BP99cgT/enAE/3RtBP9wagP/bmoD/25rA/9wbQP/cXED/2lnAv9cWAD/s7CL497a3KaKiIbGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QysfFwdna0MhTbRn/UXIL/1t+Df9bdAr/WGgI/1pnB/9fbAb/Zm8F/3F2 + BP95fAL/f4EK/4KCFv9wcQL/dXQE/3d2BP+JhQT/mJQF/5GMBf+GfwX/hn8E/4N7BP+IfgT/iX4E/4V7 + A/+GfAT/fXQE/31yBP97cQT/d24E/3FrA/9uaQL/bWoC/21qAv9xbwP/bWwD/2RiA/9XVAD/sa6L5N/b + 3KiKiIbHAAAAjwAAAFoAAAA2AAAAGwAAADEODg6PysfFwdjYzsZRaRb/TW0G/1d6Cf9YcQb/VGUE/1dk + BP9caAP/ZGwB/25zAP92eQD/fX8K/31+Ev9sbQD/cXAB/3Z1Af+IhQL/lZEC/4uEAf+BewL/f3gB/393 + Av+EewH/hHoB/4N4Af+CeAH/eG8B/3lvAv93bgH/cmsC/21oAP9rZwD/a2cA/2tpAP9ubQD/ZmUA/2Bd + AP9STgD/rquJ497b3KeKiIbHAAAAjQAAAFgAAAA1AAAAGAAAACwQDw+MysbEv9LRx71WbR3+U3AP/1x7 + EP9ddQ7/WmoN/11pDv9jbQz/anEK/3N4C/96fAr/gYMX/36BGv9wcQj/dXQL/3t7DP+Niw3/l5QN/4qE + Df+Efg3/f3kM/4N8DP+IgAv/hnwM/4h/DP+CeQz/fXQM/310DP95cwz/dW8L/3JtCv9xbQn/cW0K/3Jx + Cv9xcAr/aWgL/2RiCv9WUgf/qaaH2tjV1aGMiojGAAAAiQAAAFIAAAAwAAAAFAAAACQLCwuCv7y4v9XR + y6PMzcDB0tTGzNTWx87V1sfO1NXHztXVx87V1cfP1tbHztjXx87Y18fO2dfIztfWx8zV1MXL1dPDytXU + w8nX1cPJ2NbDydbUw8jW08PI1dPDydbTw8nX1MPJ1tPDytfUxMrW1MTK1tPDytbTxMvW08TL1tTFy9bT + xcvV0sPL1NHDzNPRwszS0cLM0c/CzNHOwszJx7vFxsK7sM3IxJmEgoDGAAAAewAAAEYAAAAoAAAADgAA + ABoAAABTaWhmx9jUzrLg3Nmr4t3br+Ld26/j3tuv497br+Pf26/i39uw4d/br+He26/h3duv4Nvart7a + 2Kzc2Nap29bTqNnV0qfY1NGn2NPRp9jV0abZ1NGm2tTRpdnV0abZ1NKn2dTTqNrW1Kjb1tSo29bUqdzW + 1and2Nap3dnWqd3X1qra1tSq2NTTrNfU0qzX09Ks19PSrNfT0q3W0c+r0MvHp766tr0xMTC4AAAAVwAA + ADUAAAAeAAAACQAAABIAAAAnAAAAZzMzMqtPTk20TEtKs0tLSrRMS0q0TEtKtExLSrRMS0q0S0tKtEtL + SrRLS0q0S0tKs0tKSbNKSUmzS0pIs0pKSbNKSkizSkpIs0pKSLNLSUizS0pJsktKSbJLSkmzS0pJs0tK + SbNLSkmzTEpJs0xKSbNMSkmzTEpJs0xKSbNLSkmzS0pJs0tKSbNLSkmzS0pJs0tJSbNLSkm0TUxLth4d + HaMAAABeAAAAOAAAACUAAAATAAAABQAAAAsAAAAWAAAAIQAAAC0AAAA3AAAAOgAAADoAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADoAAAA7AAAAOgAAADMAAAArAAAAIQAAABUAAAALAAAAAgAAAAQAAAAJAAAADgAAABMAAAAXAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGAAAABcAAAATAAAADgAAAAgAAAAEAAAAAAAAAAEAAAACAAAABAAA + AAcAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAkAAAAHAAAABAAAAAIAAAABAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBIAAAAAAAPIEKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ABEAAABAAAAAVwAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABXAAAATAAA + AB8EBAQ+VlRQlXNybqFqamaeZ2dinWZkYJxqaGOdcG5pnXFwa550cm2feXRxn350c597cW+efHVwnU1K + RZgAAQFUFw4NUI+5uMNY4+b0Xt7b9Gbh2PRv59bzf/La9JP84vSx/+r0z//p9Nv/4vTP/930yv/Z9N// + ufKnp5OvAwEEZRkPDk6Eu7nPLtvX/zrbz/9F4Mn/VOrF/2Xuvf9y667/guWe/4nciP+K1Hf/jM5v/5bO + b/+v2HT/paeTuwQCBmIZDxBPirmy0D/Wwf9Q273/W9yt/2vZm/9x0IT/csZw/33Eav99tlT/fqdG/4Cb + QP+FjjH/mZAz/6SfjL0FBQhjGBAST5G6rtFOyqT/VsCS/1mze/9mrGv/ZqFZ/2WXRP9zmDT/bYIh/3V9 + HP96eBn/d28X/4p7Jf+kno3ABQYJYxkTFlCOq5vTPpFi/0eLV/9WlE//b51B/26NKv9tgBn/d4YX/3N+ + Ff+ChhX/gH0W/3ZuFP+FdyH/pZ+OwQYGCWMZFBhQkKiR1EuNRv9dlDr/bZgu/4CWHv98iBT/eoUR/4SQ + Ev+CihD/iYoP/4F9D/97cQ//hHYc/6Wgj8MGBgljGBQZUJasidReozD/Y40i/3OHGP+MlRX/gYgO/4iP + Df+RmA3/jZEM/42JCv+Cewr/gXQK/4l6F/+noo/EBgYJYxgUGlCXroXVWI8f/2J4Ff97iBD/jZIO/4OF + CP+TlQf/mJkI/5WSCP+PiAb/g3oF/31yBf+KfhP/p6OOxQYGCWMZFhtQlaOB1VeCFf9idRD/eoQK/4qM + C/+CggT/mJYF/5iVBv+WkAX/jIQF/4J4BP92bgP/h4AR/6ajjcYGBgljGRYcUJaif9ZYgA//YHAM/3d/ + CP+Ghwv/gIAE/5mVBv+UjQb/kogG/4h9BP99cwT/cGsB/4B+D/+joYzGBgYKYxoXHVCWoH7XU3cG/1tq + Bf9yeAL/fX4I/317AP+TjgH/ioIB/4p+Af+AdQD/dWwA/21pAP90cgn/oJ2MyAcHCmQaGB1RoaiK1maC + HP9teh3/gYYb/4mKIf+Nixr/m5Yb/5KKG/+Uihv/i4Eb/4F7Gv9+exf/fHoi/6WilMcHBwpjBgYHMXp5 + dKCcnZG2mZiNtJqZjbWZl4yzmJaIsJiWiLCYlYiwmZaJsZmVirGYlYqylpSJs5mXjbRqaGadAQEBPQAA + AAUAAAAeAAAAKgAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAArAAAAIwAA + AAoAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxB + + + \ No newline at end of file diff --git a/OnTopReplica/MainForm_ChildForms.cs b/OnTopReplica/MainForm_ChildForms.cs new file mode 100644 index 0000000..0e43ad9 --- /dev/null +++ b/OnTopReplica/MainForm_ChildForms.cs @@ -0,0 +1,105 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Drawing; + +namespace OnTopReplica { + partial class MainForm { + + EventHandler RequestClosingHandler; + + const int SidePanelMargin = 1; + + /// + /// Opens a new side panel. + /// + /// The side panel to embed. + public void SetSidePanel(SidePanel panel) { + if (_currentSidePanel != null) { + CloseSidePanel(); + } + + _currentSidePanel = panel; + _currentSidePanel.OnFirstShown(this); + + //Add and show + _sidePanelContainer.Controls.Add(panel); + _sidePanelContainer.Visible = _sidePanelContainer.Enabled = true; + panel.Show(); + + int intHorzMargin = panel.Margin.Horizontal + _sidePanelContainer.Padding.Horizontal; //internal margins for sidepanel + int intVertMargin = panel.Margin.Vertical + _sidePanelContainer.Padding.Vertical; + + //Resize container + _sidePanelContainer.ClientSize = new Size( + panel.MinimumSize.Width + intHorzMargin, + ClientSize.Height + ); + + int rightHorzMargin = _sidePanelContainer.Width + SidePanelMargin; //horz margin between the two controls + + //Resize rest + MinimumSize = new Size( + 20 + panel.MinimumSize.Width + SidePanelMargin + intHorzMargin, + panel.MinimumSize.Height + intVertMargin + ); + ClientSize = new Size( + ClientSize.Width + rightHorzMargin, + ClientSize.Height + ); + ExtraPadding = new Padding(0, 0, rightHorzMargin, 0); + _thumbnailPanel.Size = new Size( + ClientSize.Width - rightHorzMargin, + ClientSize.Height + ); + _sidePanelContainer.Location = new Point( + ClientSize.Width - rightHorzMargin, + 0 + ); + + //Move window if needed + FixPositionAndSize(); + + //Hook event listener + if (RequestClosingHandler == null) + RequestClosingHandler = new EventHandler(SidePanel_RequestClosing); + panel.RequestClosing += RequestClosingHandler; + } + + /// + /// Closes the current side panel. + /// + public void CloseSidePanel() { + if (_currentSidePanel == null) + return; + + //Unhook listener + _currentSidePanel.RequestClosing -= RequestClosingHandler; + + //Remove side panel + _currentSidePanel.OnClosing(this); + _sidePanelContainer.Controls.Clear(); + _sidePanelContainer.Visible = _sidePanelContainer.Enabled = false; + _currentSidePanel = null; + + //Resize + MinimumSize = new Size(20, 20); + ClientSize = new Size( + ClientSize.Width - _sidePanelContainer.Width - SidePanelMargin, + ClientSize.Height + ); + ExtraPadding = new Padding(0); + _thumbnailPanel.Size = ClientSize; + } + + void SidePanel_RequestClosing(object sender, EventArgs e) { + CloseSidePanel(); + } + + void Thumbnail_CloneClick(object sender, CloneClickEventArgs e) { + Win32Helper.InjectFakeMouseClick(CurrentThumbnailWindowHandle.Handle, e); + } + + } +} diff --git a/OnTopReplica/MainForm_Gui.cs b/OnTopReplica/MainForm_Gui.cs new file mode 100644 index 0000000..b460479 --- /dev/null +++ b/OnTopReplica/MainForm_Gui.cs @@ -0,0 +1,128 @@ +using System.Drawing; +using System.Windows.Forms; +using VistaControls.TaskDialog; + +namespace OnTopReplica { + partial class MainForm { + + /// + /// Opens the context menu. + /// + public void OpenContextMenu() { + if (IsFullscreen) { + menuFullscreenContext.Show(MousePosition); + } + else { + menuContext.Show(MousePosition); + } + } + + private Point RecenterLocation(Control original, Control final) { + int origX = original.Location.X + original.Size.Width / 2; + int origY = original.Location.Y + original.Size.Height / 2; + + int finX = origX - final.Size.Width / 2; + int finY = origY - final.Size.Height / 2; + + //Check boundaries + var screen = Screen.FromControl(final); + if (finX < screen.WorkingArea.X) + finX = screen.WorkingArea.X; + if (finX + final.Size.Width > screen.WorkingArea.Width) + finX = screen.WorkingArea.Width - final.Size.Width; + if (finY < screen.WorkingArea.Y) + finY = screen.WorkingArea.Y; + if (finY + final.Size.Height > screen.WorkingArea.Height) + finY = screen.WorkingArea.Height - final.Size.Height; + + return new Point(finX, finY); + } + + private int ChromeBorderVertical { + get { + if (FormBorderStyle == _defaultBorderStyle) + return SystemInformation.FrameBorderSize.Height; + else + return 0; + } + } + + private int ChromeBorderHorizontal { + get { + if (FormBorderStyle == _defaultBorderStyle) + return SystemInformation.FrameBorderSize.Width; + else + return 0; + } + } + + /// + /// Displays an error task dialog. + /// + /// Main instruction of the error dialog. + /// Detailed informations about the error. + /// Expanded error codes/messages. + private void ShowErrorDialog(string mainInstruction, string explanation, string errorMessage) { + TaskDialog dlg = new TaskDialog(mainInstruction, Strings.ErrorGenericTitle, explanation) { + CommonIcon = TaskDialogIcon.Stop, + IsExpanded = false + }; + + if (!string.IsNullOrEmpty(errorMessage)) { + dlg.ExpandedInformation = Strings.ErrorGenericInfoText + errorMessage; + dlg.ExpandedControlText = Strings.ErrorGenericInfoButton; + } + + dlg.Show(this); + } + + /// + /// Ensures that the main form is visible (either closing the fullscreen mode or reactivating from task icon). + /// + public void EnsureMainFormVisible() { + //Reset special modes + IsFullscreen = false; + ClickThroughEnabled = false; + Opacity = 1.0; + + //Restore main form in platform with dependent method + Program.Platform.RestoreForm(this); + } + + /// + /// Opens a confirmation dialog to confirm whether to reset the main form or not. + /// + public void ResetMainFormWithConfirmation() { + var dlg = new TaskDialog(Strings.AskReset, Strings.AskResetTitle, Strings.AskResetContent); + dlg.UseCommandLinks = true; + dlg.CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, Strings.AskResetButtonOk), + new CustomButton(Result.Cancel, Strings.ButtonCancel) + }; + dlg.CommonIcon = TaskDialogIcon.Information; + + if (dlg.Show(this).CommonButton == Result.OK) { + ResetMainForm(); + } + } + + /// + /// Resets the main form to its initial state. + /// + public void ResetMainForm() { + //Reset form settings + UnsetThumbnail(); + CloseSidePanel(); + + //Reset location and size (edge of the screen, min size) + Point nuLoc = Screen.PrimaryScreen.WorkingArea.Location; + nuLoc.Offset(40, 40); + Location = nuLoc; + Size = new Size(240, 220); + + this.Show(); + this.Activate(); + } + + } +} diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs new file mode 100644 index 0000000..c0fa130 --- /dev/null +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -0,0 +1,234 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using VistaControls.TaskDialog; + +namespace OnTopReplica { + partial class MainForm { + + private void Menu_opening(object sender, CancelEventArgs e) { + //Cancel if currently in "fullscreen" mode or a side panel is open + if (IsFullscreen || _currentSidePanel != null) { + e.Cancel = true; + return; + } + + bool showing = _thumbnailPanel.IsShowingThumbnail; + + selectRegionToolStripMenuItem.Enabled = showing; + switchToWindowToolStripMenuItem.Enabled = showing; + resizeToolStripMenuItem.Enabled = showing; + chromeToolStripMenuItem.Checked = (FormBorderStyle == _defaultBorderStyle); + clickForwardingToolStripMenuItem.Checked = _thumbnailPanel.ReportThumbnailClicks; + chromeToolStripMenuItem.Enabled = showing; + clickThroughToolStripMenuItem.Enabled = showing; + clickForwardingToolStripMenuItem.Enabled = showing; + + } + + private void Menu_Windows_opening(object sender, CancelEventArgs e) { + _windowManager.Refresh(WindowManager.EnumerationMode.TaskWindows); + WindowListHelper.PopulateMenu(this, _windowManager, (ToolStrip)sender, + CurrentThumbnailWindowHandle, new EventHandler(Menu_Windows_itemclick)); + } + + void Menu_Windows_itemclick(object sender, EventArgs e) { + //Ensure the menu is closed + menuContext.Close(); + menuFullscreenContext.Close(); + menuWindows.Close(); + + //Get clicked item and window index from tag + ToolStripItem tsi = (ToolStripItem)sender; + + //Handle special "none" window + if (tsi.Tag == null) { + UnsetThumbnail(); + return; + } + + var selectionData = (WindowListHelper.WindowSelectionData)tsi.Tag; + SetThumbnail(selectionData.Handle, selectionData.Region); + } + + private void Menu_Switch_click(object sender, EventArgs e) { + if (CurrentThumbnailWindowHandle == null) + return; + + Program.Platform.HideForm(this); + Native.WindowManagerMethods.SetForegroundWindow(CurrentThumbnailWindowHandle.Handle); + } + + private void Menu_GroupSwitchMode_click(object sender, EventArgs e) { + SetSidePanel(new SidePanels.GroupSwitchPanel()); + } + + private void Menu_ClickForwarding_click(object sender, EventArgs e) { + if (Settings.Default.FirstTimeClickForwarding && !_thumbnailPanel.ReportThumbnailClicks) { + TaskDialog dlg = new TaskDialog(Strings.InfoClickForwarding, Strings.InfoClickForwardingTitle, Strings.InfoClickForwardingContent) { + CommonButtons = TaskDialogButton.Yes | TaskDialogButton.No + }; + if (dlg.Show(this).CommonButton == Result.No) + return; + + Settings.Default.FirstTimeClickForwarding = false; + } + + _thumbnailPanel.ReportThumbnailClicks = !_thumbnailPanel.ReportThumbnailClicks; + } + + private void Menu_ClickThrough_click(object sender, EventArgs e) { + ClickThroughEnabled = true; + } + + private void Menu_Opacity_opening(object sender, CancelEventArgs e) { + ToolStripMenuItem[] items = { + toolStripMenuItem1, + toolStripMenuItem2, + toolStripMenuItem3, + toolStripMenuItem4 + }; + + foreach (ToolStripMenuItem i in items) { + if ((double)i.Tag == this.Opacity) + i.Checked = true; + else + i.Checked = false; + } + } + + private void Menu_Opacity_click(object sender, EventArgs e) { + //Get clicked menu item + ToolStripMenuItem tsi = sender as ToolStripMenuItem; + + if (tsi != null) { + //Get opacity from the tag + this.Opacity = (double)tsi.Tag; + } + } + + private void Menu_Region_click(object sender, EventArgs e) { + SetSidePanel(new OnTopReplica.SidePanels.RegionPanel()); + } + + private void Menu_Resize_opening(object sender, CancelEventArgs e) { + if (!_thumbnailPanel.IsShowingThumbnail) + e.Cancel = true; + } + + private void Menu_Resize_Double(object sender, EventArgs e) { + FitToThumbnail(2.0); + } + + private void Menu_Resize_FitToWindow(object sender, EventArgs e) { + FitToThumbnail(1.0); + } + + private void Menu_Resize_Half(object sender, EventArgs e) { + FitToThumbnail(0.5); + } + + private void Menu_Resize_Quarter(object sender, EventArgs e) { + FitToThumbnail(0.25); + } + + private void Menu_Resize_Fullscreen(object sender, EventArgs e) { + IsFullscreen = true; + } + + private void Menu_Position_TopLeft(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Left - ChromeBorderHorizontal, + screen.WorkingArea.Top - ChromeBorderVertical + ); + } + + private void Menu_Position_TopRight(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, + screen.WorkingArea.Top - ChromeBorderVertical + ); + } + + private void Menu_Position_BottomLeft(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Left - ChromeBorderHorizontal, + screen.WorkingArea.Height - Size.Height + ChromeBorderVertical + ); + } + + private void Menu_Position_BottomRight(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, + screen.WorkingArea.Height - Size.Height + ChromeBorderVertical + ); + } + + private void Menu_Reduce_click(object sender, EventArgs e) { + //Hide form in a platform specific way + Program.Platform.HideForm(this); + } + + private void Menu_Chrome_click(object sender, EventArgs e) { + if (FormBorderStyle == _defaultBorderStyle) { + FormBorderStyle = FormBorderStyle.None; + Location = new Point { + X = Location.X + SystemInformation.FrameBorderSize.Width, + Y = Location.Y + SystemInformation.FrameBorderSize.Height + }; + } + else { + FormBorderStyle = _defaultBorderStyle; + Location = new Point { + X = Location.X - SystemInformation.FrameBorderSize.Width, + Y = Location.Y - SystemInformation.FrameBorderSize.Height + }; + } + + Program.Platform.OnFormStateChange(this); + Invalidate(); + } + + private void Menu_Language_click(object sender, EventArgs e) { + ToolStripItem tsi = (ToolStripItem)sender; + + string langCode = tsi.Tag as string; + + if (Program.ForceGlobalLanguageChange(langCode)) + this.Close(); + else + MessageBox.Show("Error"); + } + + private void Menu_About_click(object sender, EventArgs e) { + this.Hide(); + + using (var box = new AboutForm()) { + box.Location = RecenterLocation(this, box); + box.ShowDialog(); + Location = RecenterLocation(box, this); + } + + this.Show(); + } + + private void Menu_Close_click(object sender, EventArgs e) { + this.Close(); + } + + private void Menu_Fullscreen_ExitFullscreen_click(object sender, EventArgs e) { + IsFullscreen = false; + } + + } +} diff --git a/OnTopReplica/MessagePumpManager.cs b/OnTopReplica/MessagePumpManager.cs new file mode 100644 index 0000000..1ab23b7 --- /dev/null +++ b/OnTopReplica/MessagePumpManager.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Reflection; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica { + class MessagePumpManager : IDisposable { + + Dictionary _processors = new Dictionary(); + + public MainForm Form { get; private set; } + + /// + /// Instantiates all message pump processors and registers them on the main form. + /// + /// + public void Initialize(MainForm form) { + Form = form; + + //Register window shell hook + if (!HookMethods.RegisterShellHookWindow(form.Handle)) { + Console.Error.WriteLine("Failed to register shell hook window."); + } + else { +#if DEBUG + Console.WriteLine("Shell hook window registered successfully."); +#endif + } + + foreach (var t in Assembly.GetExecutingAssembly().GetTypes()) { + if (typeof(IMessagePumpProcessor).IsAssignableFrom(t) && !t.IsAbstract) { + var instance = (IMessagePumpProcessor)Activator.CreateInstance(t); + instance.Initialize(form); + + _processors[t] = instance; + +#if DEBUG + Console.WriteLine("Registered message pump processor: {0}", t); +#endif + } + } + } + + /// + /// Run the registered message pump processors. + /// + /// Message to process. + /// True if the message has been handled internally. + public bool PumpMessage(ref Message msg) { + foreach (var processor in _processors.Values) { + if (processor.Process(ref msg)) + return true; + } + + return false; + } + + /// + /// Get the instance of a registered message pump processor. + /// Throws if instance not found. + /// + public T Get() { + return (T)_processors[typeof(T)]; + } + + #region IDisposable Members + + public void Dispose() { + if (!HookMethods.DeregisterShellHookWindow(Form.Handle)) { + Console.Error.WriteLine("Failed to deregister shell hook window."); + } + + foreach (var processor in _processors.Values) { + processor.Dispose(); + } + _processors.Clear(); + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs new file mode 100644 index 0000000..b5f13d7 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.MessagePumpProcessors { + abstract class BaseMessagePumpProcessor : IMessagePumpProcessor { + + protected MainForm Form { get; private set; } + + #region IMessagePumpProcessor Members + + public void Initialize(MainForm form) { + Form = form; + } + + public abstract bool Process(ref Message msg); + + #endregion + + bool _isDisposed = false; + + protected abstract void Shutdown(); + + #region IDisposable Members + + public void Dispose() { + if (_isDisposed) + return; + + Shutdown(); + + _isDisposed = true; + } + + #endregion + + } +} diff --git a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs new file mode 100644 index 0000000..2bfd3e9 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs @@ -0,0 +1,143 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Diagnostics; +using System.Reflection; +using System.IO; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + class GroupSwitchManager : BaseMessagePumpProcessor { + + bool _active = false; + List _lruHandles; + + /// + /// Enables group switch mode. + /// + /// List of window handles to track. + public void EnableGroupMode(IList handles) { + if (handles == null || handles.Count == 0) + return; + + //Okey dokey, will now track handles + TrackHandles(handles); + _active = true; + } + + /// + /// Initializes the LRU sorted list of window handles. + /// + private void TrackHandles(IList handles) { + _lruHandles = new List(handles.Count); + var now = DateTime.Now; + + foreach(var h in handles){ + _lruHandles.Add(new WindowHandleWrapper { + WindowHandle = h, + LastTimeUsed = now + }); + } + } + + /// + /// Disables group switch mode. + /// + public void Disable() { + if (!_active) + return; + + _lruHandles = null; + _active = false; + } + + /// + /// Processes the message pump. + /// + public override bool Process(ref Message msg) { + if (_active && msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + if (hookCode == HookMethods.HSHELL_WINDOWACTIVATED || + hookCode == HookMethods.HSHELL_RUDEAPPACTIVATED) { + + IntPtr activeHandle = msg.LParam; + HandleForegroundWindowChange(activeHandle); + } + } + + return false; + } + + private void HandleForegroundWindowChange(IntPtr activeWindow) { +#if DEBUG + Console.Write("New active window (h {0}). ", activeWindow); +#endif + + //Seek window in tracked handles + WindowHandleWrapper activated = null; + foreach (var i in _lruHandles) { + if (i.WindowHandle.Handle == activeWindow) + activated = i; + } + + if (activated == null) { +#if DEBUG + //new foreground window is not tracked + Console.WriteLine("Active window is not tracked."); +#endif + return; + } + + //Update tracked handle + activated.LastTimeUsed = DateTime.Now; + _lruHandles.Sort(new LruDateTimeComparer()); + + //Get least recently used + var next = _lruHandles[0]; + +#if DEBUG + Console.WriteLine("Tracked. Switching to {0} (last use: {1}).", next.WindowHandle.Title, next.LastTimeUsed); +#endif + + Form.SetThumbnail(next.WindowHandle, null); + } + + protected override void Shutdown() { + Disable(); + } + + /// + /// Gets whether the group switch manager ia active. + /// + public bool IsActive { + get { + return _active; + } + } + + #region List sorting stuff + + class WindowHandleWrapper { + public WindowHandle WindowHandle { get; set; } + public DateTime LastTimeUsed { get; set; } + } + + class LruDateTimeComparer : IComparer { + + #region IComparer Members + + public int Compare(WindowHandleWrapper x, WindowHandleWrapper y) { + return x.LastTimeUsed.CompareTo(y.LastTimeUsed); + } + + #endregion + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs new file mode 100644 index 0000000..0acbe33 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// HotKey registration helper. + /// + class HotKeyManager : BaseMessagePumpProcessor { + + int _lastUsedKey = 0; + + Dictionary _handlers = new Dictionary(); + + public void RegisterHotKey(HotKeyModifiers mod, Keys keys, HotKeyMethods.HotKeyHandler handler) { + var newKey = ++_lastUsedKey; + + if (!HotKeyMethods.RegisterHotKey(Form.Handle, newKey, (int)mod, (int)keys)) { + Console.Error.WriteLine("Failed to register {0} hot key.", newKey); + return; + } + + _handlers[newKey] = handler; + } + + public override bool Process(ref Message msg) { + if (msg.Msg == HotKeyMethods.WM_HOTKEY) { + int keyId = msg.WParam.ToInt32(); + if (!_handlers.ContainsKey(keyId)) + return false; + + _handlers[keyId].Invoke(); + } + + return false; + } + + protected override void Shutdown() { + foreach (var key in _handlers.Keys) { + if (!HotKeyMethods.UnregisterHotKey(Form.Handle, key)) { + Console.Error.WriteLine("Failed to unregister {0} hot key.", key); + } + } + } + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/TitleSetter.cs b/OnTopReplica/MessagePumpProcessors/TitleSetter.cs new file mode 100644 index 0000000..23433bd --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/TitleSetter.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; +using System.Runtime.InteropServices; + +namespace OnTopReplica.MessagePumpProcessors { + class TitleSetter : BaseMessagePumpProcessor { + + const string Title = "OnTopReplica"; + + public override bool Process(ref Message msg) { + switch (msg.Msg) { + case WM.GETTEXT: { + Console.WriteLine("GetText"); + int maxLen = msg.WParam.ToInt32(); + byte[] strBytes = Encoding.UTF8.GetBytes(Title); + byte[] termBytes = new byte[strBytes.Length + 1]; + strBytes.CopyTo(termBytes, 0); + termBytes[strBytes.Length] = 0; + + Marshal.Copy(termBytes, 0, msg.LParam, Math.Min(maxLen, Title.Length + 1)); + } + goto case WM.GETTEXTLENGTH; + + case WM.GETTEXTLENGTH: + Console.WriteLine("GetTextLength"); + msg.Result = (IntPtr)Title.Length; + return true; + } + + return false; + } + + protected override void Shutdown() { + + } + + } +} diff --git a/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs new file mode 100644 index 0000000..4877931 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// Listens for shell events and closes the thumbnail if a cloned window is destroyed. + /// + class WindowKeeper : BaseMessagePumpProcessor { + + public override bool Process(ref Message msg) { + if (Form.CurrentThumbnailWindowHandle != null && + msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + if (hookCode == HookMethods.HSHELL_WINDOWDESTROYED) { + //Check whether the destroyed window is the one we were cloning + IntPtr destroyedHandle = msg.LParam; + if (destroyedHandle == Form.CurrentThumbnailWindowHandle.Handle) { + //Disable group switch mode, since a window of the group has been destroyed + Form.MessagePumpManager.Get().Disable(); + + //Disable cloning + Form.UnsetThumbnail(); + } + } + } + + return false; + } + + protected override void Shutdown() { + + } + } + +} diff --git a/OnTopReplica/Native/CommonControls.cs b/OnTopReplica/Native/CommonControls.cs new file mode 100644 index 0000000..bf2123c --- /dev/null +++ b/OnTopReplica/Native/CommonControls.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + public static class CommonControls { + + [DllImport("comctl32.dll", EntryPoint = "InitCommonControlsEx", CallingConvention = CallingConvention.StdCall)] + static extern bool InitCommonControlsEx(ref INITCOMMONCONTROLSEX iccex); + + const int ICC_STANDARD_CLASSES = 0x00004000; + const int ICC_WIN95_CLASSES = 0x000000FF; + + public static bool InitStandard() { + INITCOMMONCONTROLSEX ex = new INITCOMMONCONTROLSEX(); + ex.dwSize = 8; + ex.dwICC = ICC_STANDARD_CLASSES | ICC_WIN95_CLASSES; + + return InitCommonControlsEx(ref ex); + } + + } + + struct INITCOMMONCONTROLSEX { + public int dwSize; + public int dwICC; + } + +} diff --git a/OnTopReplica/Native/ErrorMethods.cs b/OnTopReplica/Native/ErrorMethods.cs new file mode 100644 index 0000000..f1863eb --- /dev/null +++ b/OnTopReplica/Native/ErrorMethods.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 error handling methods. + /// + static class ErrorMethods { + + [DllImport("kernel32.dll")] + static extern uint FormatMessage(uint dwFlags, IntPtr lpSource, + int dwMessageId, uint dwLanguageId, [Out] StringBuilder lpBuffer, + uint nSize, IntPtr Arguments); + + /// + /// Gets a string representation of a Win32 error code. + /// + /// ID of the Win32 error code. + /// String representation of the error. + public static string GetErrorMessage(int msgCode) { + var sb = new StringBuilder(300); + FormatMessage((uint)(0x00001000), IntPtr.Zero, msgCode, 0, sb, 299, IntPtr.Zero); + return sb.ToString(); + } + + /// + /// Gets a string representation of the last Win32 error on this thread. + /// + public static string GetLastErrorMessage() { + int errorCode = Marshal.GetLastWin32Error(); + return GetErrorMessage(errorCode); + } + + } +} diff --git a/OnTopReplica/Native/HT.cs b/OnTopReplica/Native/HT.cs new file mode 100644 index 0000000..231e928 --- /dev/null +++ b/OnTopReplica/Native/HT.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Win32 Hit Testing codes. + /// + static class HT { + public const int TRANSPARENT = -1; + public const int CLIENT = 1; + public const int CAPTION = 2; + } +} diff --git a/OnTopReplica/Native/HookMethods.cs b/OnTopReplica/Native/HookMethods.cs new file mode 100644 index 0000000..3b6f7fc --- /dev/null +++ b/OnTopReplica/Native/HookMethods.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + + /// + /// Helpers for interop with native Windows hooks. + /// + static class HookMethods { + + static HookMethods() { + WM_SHELLHOOKMESSAGE = RegisterWindowMessage("SHELLHOOK"); + if (WM_SHELLHOOKMESSAGE == 0) + Console.Error.WriteLine("Failed to register SHELLHOOK Windows message."); + } + + public static int WM_SHELLHOOKMESSAGE { + get; + private set; + } + + public const int HSHELL_WINDOWACTIVATED = 4; + public const int HSHELL_RUDEAPPACTIVATED = HSHELL_WINDOWACTIVATED | HSHELL_HIGHBIT; + const int HSHELL_HIGHBIT = 0x8000; + public const int HSHELL_WINDOWDESTROYED = 2; + public const int HSHELL_WINDOWCREATED = 1; + + /// + /// Registers the WM_ID for a window message. + /// + /// Name of the window message. + [DllImport("User32.dll")] + public static extern int RegisterWindowMessage(string wndMessageName); + + /// + /// Registers a window as a shell hook window. + /// + [DllImport("User32.dll")] + public static extern bool RegisterShellHookWindow(IntPtr hwnd); + + /// + /// Deregisters a window as a shell hook window. + /// + [DllImport("User32.dll")] + public static extern bool DeregisterShellHookWindow(IntPtr hwnd); + + } +} diff --git a/OnTopReplica/Native/HotKeyMethods.cs b/OnTopReplica/Native/HotKeyMethods.cs new file mode 100644 index 0000000..8aea7f1 --- /dev/null +++ b/OnTopReplica/Native/HotKeyMethods.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Windows.Forms; + +namespace OnTopReplica.Native { + + [Flags] + public enum HotKeyModifiers : int { + Alt = 0x1, + Control = 0x2, + Shift = 0x4, + Windows = 0x8 + } + + static class HotKeyMethods { + + public delegate void HotKeyHandler(); + + public const int WM_HOTKEY = 0x312; + + [DllImport("user32.dll")] + public static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vlc); + + [DllImport("user32.dll")] + public static extern bool UnregisterHotKey(IntPtr hWnd, int id); + + public delegate void FormDelegate(HotKeyModifiers mod, Keys key, HotKeyHandler handler); + + } +} diff --git a/OnTopReplica/Native/ITaskBarList.cs b/OnTopReplica/Native/ITaskBarList.cs new file mode 100644 index 0000000..e4a53bb --- /dev/null +++ b/OnTopReplica/Native/ITaskBarList.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + [ComImport, + Guid("56fdf342-fd6d-11d0-958a-006097c9a090"), + InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] + public interface ITaskbarList { + /// + /// Initializes the taskbar list object. This method must be called before any other ITaskbarList methods can be called. + /// + void HrInit(); + + /// + /// Adds an item to the taskbar. + /// + /// A handle to the window to be added to the taskbar. + void AddTab([In] IntPtr hWnd); + + /// + /// Deletes an item from the taskbar. + /// + /// A handle to the window to be deleted from the taskbar. + void DeleteTab([In] IntPtr hWnd); + + /// + /// Activates an item on the taskbar. The window is not actually activated; the window's item on the taskbar is merely displayed as active. + /// + /// A handle to the window on the taskbar to be displayed as active. + void ActivateTab([In] IntPtr hWnd); + + /// + /// Marks a taskbar item as active but does not visually activate it. + /// + /// A handle to the window to be marked as active. + void SetActiveAlt([In] IntPtr hWnd); + } + + [ComImport] + [Guid("56fdf344-fd6d-11d0-958a-006097c9a090")] + public class CoTaskbarList { + } +} diff --git a/OnTopReplica/Native/MK.cs b/OnTopReplica/Native/MK.cs new file mode 100644 index 0000000..90c7e90 --- /dev/null +++ b/OnTopReplica/Native/MK.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Mouse click codes. + /// + static class MK { + public const int LBUTTON = 0x0001; + public const int RBUTTON = 0x0002; + public const int MBUTTON = 0x0010; + } +} diff --git a/OnTopReplica/Native/MessagingMethods.cs b/OnTopReplica/Native/MessagingMethods.cs new file mode 100644 index 0000000..cabe03e --- /dev/null +++ b/OnTopReplica/Native/MessagingMethods.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common methods for Win32 messaging. + /// + static class MessagingMethods { + + [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)] + public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + [Flags] + public enum SendMessageTimeoutFlags : uint { + AbortIfHung = 2, + Block = 1, + Normal = 0 + } + + [DllImport("user32.dll")] + public static extern IntPtr SendMessageTimeout(IntPtr hwnd, uint message, IntPtr wparam, IntPtr lparam, SendMessageTimeoutFlags flags, uint timeout, out IntPtr result); + + [return: MarshalAs(UnmanagedType.Bool)] + [DllImport("user32.dll", SetLastError = false)] + public static extern bool PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + public static IntPtr MakeLParam(int LoWord, int HiWord) { + return new IntPtr((HiWord << 16) | (LoWord & 0xffff)); + } + + } +} diff --git a/OnTopReplica/Native/Point.cs b/OnTopReplica/Native/Point.cs new file mode 100644 index 0000000..c34db85 --- /dev/null +++ b/OnTopReplica/Native/Point.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Native Point structure. + /// + [StructLayout(LayoutKind.Sequential)] + public struct NPoint { + public int X, Y; + + public NPoint(int x, int y) { + X = x; + Y = y; + } + + public NPoint(NPoint copy) { + X = copy.X; + Y = copy.Y; + } + + public static NPoint FromPoint(System.Drawing.Point point) { + return new NPoint(point.X, point.Y); + } + + public System.Drawing.Point ToPoint() { + return new System.Drawing.Point(X, Y); + } + + public override string ToString() { + return "{" + X + "," + Y + "}"; + } + } +} diff --git a/OnTopReplica/Native/Rectangle.cs b/OnTopReplica/Native/Rectangle.cs new file mode 100644 index 0000000..4934198 --- /dev/null +++ b/OnTopReplica/Native/Rectangle.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// A native Rectangle Structure. + [StructLayout(LayoutKind.Sequential)] + struct NRectangle { + public NRectangle(int left, int top, int right, int bottom) { + Left = left; + Top = top; + Right = right; + Bottom = bottom; + } + + public NRectangle(System.Drawing.Rectangle rect) { + Left = rect.X; + Top = rect.Y; + Right = rect.Right; + Bottom = rect.Bottom; + } + + public int Left; + public int Top; + public int Right; + public int Bottom; + + public int Width { + get { + return Right - Left; + } + } + public int Height { + get { + return Bottom - Top; + } + } + + public System.Drawing.Rectangle ToRectangle() { + return new System.Drawing.Rectangle(Left, Top, Right - Left, Bottom - Top); + } + + public System.Drawing.Size Size { + get { + return new System.Drawing.Size(Width, Height); + } + } + + } +} diff --git a/OnTopReplica/Native/WM.cs b/OnTopReplica/Native/WM.cs new file mode 100644 index 0000000..eddcd01 --- /dev/null +++ b/OnTopReplica/Native/WM.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Windows Message codes. + /// + static class WM { + public const int GETICON = 0x7f; + public const int SIZING = 0x214; + public const int NCHITTEST = 0x84; + public const int NCPAINT = 0x0085; + public const int LBUTTONDOWN = 0x0201; + public const int LBUTTONUP = 0x0202; + public const int LBUTTONDBLCLK = 0x0203; + public const int RBUTTONDOWN = 0x0204; + public const int RBUTTONUP = 0x0205; + public const int RBUTTONDBLCLK = 0x0206; + public const int NCLBUTTONUP = 0x00A2; + public const int NCLBUTTONDOWN = 0x00A1; + public const int NCLBUTTONDBLCLK = 0x00A3; + public const int NCRBUTTONUP = 0x00A5; + public const int SYSCOMMAND = 0x0112; + public const int GETTEXT = 0x000D; + public const int GETTEXTLENGTH = 0x000E; + } +} diff --git a/OnTopReplica/Native/WMSZ.cs b/OnTopReplica/Native/WMSZ.cs new file mode 100644 index 0000000..2052280 --- /dev/null +++ b/OnTopReplica/Native/WMSZ.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Win32 sizing codes (used by WM_SIZING message). + /// + static class WMSZ { + public const int LEFT = 1; + public const int RIGHT = 2; + public const int TOP = 3; + public const int BOTTOM = 6; + } +} diff --git a/OnTopReplica/Native/WindowManagerMethods.cs b/OnTopReplica/Native/WindowManagerMethods.cs new file mode 100644 index 0000000..967f2a6 --- /dev/null +++ b/OnTopReplica/Native/WindowManagerMethods.cs @@ -0,0 +1,88 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 Window Manager native methods. + /// + static class WindowManagerMethods { + + [DllImport("user32.dll")] + public static extern IntPtr GetForegroundWindow(); + + [DllImport("user32.dll")] + public static extern IntPtr RealChildWindowFromPoint(IntPtr parent, NPoint point); + + [return: MarshalAs(UnmanagedType.Bool)] + public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool IsWindowVisible(IntPtr hWnd); + + [DllImport("user32.dll")] + public static extern IntPtr GetDesktopWindow(); + + [DllImport("user32.dll")] + static extern bool ClientToScreen(IntPtr hwnd, ref NPoint point); + + /// + /// Converts a point in client coordinates of a window to screen coordinates. + /// + /// Handle to the window of the original point. + /// Point expressed in client coordinates. + /// Point expressed in screen coordinates. + public static NPoint ClientToScreen(IntPtr hwnd, NPoint clientPoint) { + NPoint localCopy = new NPoint(clientPoint); + + if (ClientToScreen(hwnd, ref localCopy)) + return localCopy; + else + return new NPoint(); + } + + [DllImport("user32.dll")] + static extern bool ScreenToClient(IntPtr hwnd, ref NPoint point); + + /// + /// Converts a point in screen coordinates in client coordinates relative to a window. + /// + /// Handle of the window whose client coordinate system should be used. + /// Point expressed in screen coordinates. + /// Point expressed in client coordinates. + public static NPoint ScreenToClient(IntPtr hwnd, NPoint screenPoint) { + NPoint localCopy = new NPoint(screenPoint); + + if (ScreenToClient(hwnd, ref localCopy)) + return localCopy; + else + return new NPoint(); + } + + [DllImport("user32.dll", CharSet = CharSet.Auto)] + public static extern IntPtr GetParent(IntPtr hWnd); + + [DllImport("user32.dll", SetLastError = false)] + public static extern bool SetForegroundWindow(IntPtr hwnd); + + public enum GetWindowMode : uint { + GW_HWNDFIRST = 0, + GW_HWNDLAST = 1, + GW_HWNDNEXT = 2, + GW_HWNDPREV = 3, + GW_OWNER = 4, + GW_CHILD = 5, + GW_ENABLEDPOPUP = 6 + } + + [DllImport("user32.dll")] + public static extern IntPtr GetWindow(IntPtr hwnd, GetWindowMode mode); + + } +} diff --git a/OnTopReplica/Native/WindowMethods.cs b/OnTopReplica/Native/WindowMethods.cs new file mode 100644 index 0000000..7a34af6 --- /dev/null +++ b/OnTopReplica/Native/WindowMethods.cs @@ -0,0 +1,127 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 methods for operating on windows. + /// + static class WindowMethods { + + [DllImport("user32.dll", SetLastError = true)] + public static extern bool GetClientRect(IntPtr handle, out NRectangle rect); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern int GetWindowTextLength(IntPtr hWnd); + + /// + /// Gets a window's text via API call. + /// + /// Window handle. + /// Title of the window. + public static string GetWindowText(IntPtr hwnd) { + int length = GetWindowTextLength(hwnd); + + if (length > 0) { + StringBuilder sb = new StringBuilder(length + 1); + if (WindowMethods.GetWindowText(hwnd, sb, sb.Capacity) > 0) + return sb.ToString(); + else + return String.Empty; + } + else + return String.Empty; + } + + public enum WindowLong { + WndProc = (-4), + HInstance = (-6), + HwndParent = (-8), + Style = (-16), + ExStyle = (-20), + UserData = (-21), + Id = (-12) + } + + public enum ClassLong { + Icon = -14, + IconSmall = -34 + } + + [Flags] + public enum WindowStyles : long { + None = 0, + Disabled = 0x8000000L, + Minimize = 0x20000000L, + MinimizeBox = 0x20000L, + Visible = 0x10000000L + } + + [Flags] + public enum WindowExStyles : long { + AppWindow = 0x40000, + Layered = 0x80000, + NoActivate = 0x8000000L, + ToolWindow = 0x80, + TopMost = 8, + Transparent = 0x20 + } + + public static IntPtr GetWindowLong(IntPtr hWnd, WindowLong i) { + if (IntPtr.Size == 8) { + return GetWindowLongPtr64(hWnd, i); + } + else { + return new IntPtr(GetWindowLong32(hWnd, i)); + } + } + + [DllImport("user32.dll", EntryPoint = "GetWindowLong")] + static extern int GetWindowLong32(IntPtr hWnd, WindowLong nIndex); + + [DllImport("user32.dll", EntryPoint = "GetWindowLongPtr")] + static extern IntPtr GetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex); + + public static IntPtr SetWindowLong(IntPtr hWnd, WindowLong i, IntPtr dwNewLong) { + if (IntPtr.Size == 8) { + return SetWindowLongPtr64(hWnd, i, dwNewLong); + } + else { + return new IntPtr(SetWindowLong32(hWnd, i, dwNewLong.ToInt32())); + } + } + + [DllImport("user32.dll", EntryPoint = "SetWindowLong")] + static extern int SetWindowLong32(IntPtr hWnd, WindowLong nIndex, int dwNewLong); + + [DllImport("user32.dll", EntryPoint = "SetWindowLongPtr")] + static extern IntPtr SetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex, IntPtr dwNewLong); + + #region Class styles + + [DllImport("user32.dll", EntryPoint = "GetClassLongPtrW")] + static extern IntPtr GetClassLong64(IntPtr hWnd, int nIndex); + + [DllImport("user32.dll", EntryPoint = "GetClassLongW")] + static extern int GetClassLong32(IntPtr hWnd, int nIndex); + + public static IntPtr GetClassLong(IntPtr hWnd, ClassLong i) { + if (IntPtr.Size == 8) { + return GetClassLong64(hWnd, (int)i); + } + else { + return new IntPtr(GetClassLong32(hWnd, (int)i)); + } + } + + #endregion + + [DllImport("user32.dll")] + public static extern IntPtr GetMenu(IntPtr hwnd); + + } +} diff --git a/OnTopReplica/Native/WindowsSevenMethods.cs b/OnTopReplica/Native/WindowsSevenMethods.cs new file mode 100644 index 0000000..587bf95 --- /dev/null +++ b/OnTopReplica/Native/WindowsSevenMethods.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + + static class WindowsSevenMethods { + + [DllImport("shell32.dll")] + internal static extern void SetCurrentProcessExplicitAppUserModelID( + [MarshalAs(UnmanagedType.LPWStr)] string AppID); + + [DllImport("shell32.dll")] + internal static extern void GetCurrentProcessExplicitAppUserModelID( + [Out(), MarshalAs(UnmanagedType.LPWStr)] out string AppID); + + } + +} diff --git a/OnTopReplica/NativeToolStripRenderer.cs b/OnTopReplica/NativeToolStripRenderer.cs new file mode 100644 index 0000000..b4d94f3 --- /dev/null +++ b/OnTopReplica/NativeToolStripRenderer.cs @@ -0,0 +1,587 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Diagnostics.CodeAnalysis; +using System.Windows.Forms; +using System.Windows.Forms.VisualStyles; +using System.Runtime.InteropServices; + +namespace Asztal.Szótár { + public enum ToolbarTheme { + Toolbar, + MediaToolbar, + CommunicationsToolbar, + BrowserTabBar + } + + /// + /// Renders a toolstrip using the UxTheme API via VisualStyleRenderer. Visual styles must be supported for this to work; if you need to support other operating systems use + /// + class UXThemeToolStripRenderer : ToolStripSystemRenderer { + /// + /// It shouldn't be necessary to P/Invoke like this, however a bug in VisualStyleRenderer.GetMargins forces my hand. + /// + static internal class NativeMethods { + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct MARGINS { + public int cxLeftWidth; + public int cxRightWidth; + public int cyTopHeight; + public int cyBottomHeight; + } + + [DllImport("uxtheme", ExactSpelling = true)] + public extern static Int32 GetThemeMargins(IntPtr hTheme, IntPtr hdc, int iPartId, int iStateId, int iPropId, IntPtr rect, out MARGINS pMargins); + } + + //See http://msdn2.microsoft.com/en-us/library/bb773210.aspx - "Parts and States" + #region Parts and States + enum MenuParts : int { + MENU_MENUITEM_TMSCHEMA = 1, + MENU_MENUDROPDOWN_TMSCHEMA = 2, + MENU_MENUBARITEM_TMSCHEMA = 3, + MENU_MENUBARDROPDOWN_TMSCHEMA = 4, + MENU_CHEVRON_TMSCHEMA = 5, + MENU_SEPARATOR_TMSCHEMA = 6, + MENU_BARBACKGROUND = 7, + MENU_BARITEM = 8, + MENU_POPUPBACKGROUND = 9, + MENU_POPUPBORDERS = 10, + MENU_POPUPCHECK = 11, + MENU_POPUPCHECKBACKGROUND = 12, + MENU_POPUPGUTTER = 13, + MENU_POPUPITEM = 14, + MENU_POPUPSEPARATOR = 15, + MENU_POPUPSUBMENU = 16, + MENU_SYSTEMCLOSE = 17, + MENU_SYSTEMMAXIMIZE = 18, + MENU_SYSTEMMINIMIZE = 19, + MENU_SYSTEMRESTORE = 20 + } + + enum MenuBarStates : int { + MB_ACTIVE = 1, + MB_INACTIVE = 2 + } + + enum MenuBarItemStates : int { + MBI_NORMAL = 1, + MBI_HOT = 2, + MBI_PUSHED = 3, + MBI_DISABLED = 4, + MBI_DISABLEDHOT = 5, + MBI_DISABLEDPUSHED = 6 + } + + enum MenuPopupItemStates : int { + MPI_NORMAL = 1, + MPI_HOT = 2, + MPI_DISABLED = 3, + MPI_DISABLEDHOT = 4 + } + + enum MenuPopupCheckStates : int { + MC_CHECKMARKNORMAL = 1, + MC_CHECKMARKDISABLED = 2, + MC_BULLETNORMAL = 3, + MC_BULLETDISABLED = 4 + } + + enum MenuPopupCheckBackgroundStates : int { + MCB_DISABLED = 1, + MCB_NORMAL = 2, + MCB_BITMAP = 3 + } + + enum MenuPopupSubMenuStates : int { + MSM_NORMAL = 1, + MSM_DISABLED = 2 + } + + enum MarginTypes : int { + TMT_SIZINGMARGINS = 3601, + TMT_CONTENTMARGINS = 3602, + TMT_CAPTIONMARGINS = 3603 + } + + const int RP_BACKGROUND = 6; + #endregion + + #region Theme helpers + Padding GetThemeMargins(IDeviceContext dc, MarginTypes marginType) { + NativeMethods.MARGINS margins; + try { + IntPtr hDC = dc.GetHdc(); + if (0 == NativeMethods.GetThemeMargins(renderer.Handle, hDC, renderer.Part, renderer.State, (int)marginType, IntPtr.Zero, out margins)) + return new Padding(margins.cxLeftWidth, margins.cyTopHeight, margins.cxRightWidth, margins.cyBottomHeight); + return new Padding(-1); + } finally { + dc.ReleaseHdc(); + } + } + + private static int GetItemState(ToolStripItem item) { + bool pressed = item.Pressed; + bool hot = item.Selected; + + if (item.Owner.IsDropDown) { + if (item.Enabled) + return hot ? (int)MenuPopupItemStates.MPI_HOT : (int)MenuPopupItemStates.MPI_NORMAL; + return hot ? (int)MenuPopupItemStates.MPI_DISABLEDHOT : (int)MenuPopupItemStates.MPI_DISABLED; + } else { + if (pressed) + return item.Enabled ? (int)MenuBarItemStates.MBI_PUSHED : (int)MenuBarItemStates.MBI_DISABLEDPUSHED; + if (item.Enabled) + return hot ? (int)MenuBarItemStates.MBI_HOT : (int)MenuBarItemStates.MBI_NORMAL; + return hot ? (int)MenuBarItemStates.MBI_DISABLEDHOT : (int)MenuBarItemStates.MBI_DISABLED; + } + } + #endregion + + #region Theme subclasses + public ToolbarTheme Theme { + get; set; + } + + private string RebarClass { + get { + return SubclassPrefix + "Rebar"; + } + } + + private string ToolbarClass { + get { + return SubclassPrefix + "ToolBar"; + } + } + + private string MenuClass { + get { + return SubclassPrefix + "Menu"; + } + } + + private string SubclassPrefix { + get { + switch (Theme) { + case ToolbarTheme.MediaToolbar: return "Media::"; + case ToolbarTheme.CommunicationsToolbar: return "Communications::"; + case ToolbarTheme.BrowserTabBar: return "BrowserTabBar::"; + default: return string.Empty; + } + } + } + + private VisualStyleElement Subclass(VisualStyleElement element) { + return VisualStyleElement.CreateElement(SubclassPrefix + element.ClassName, + element.Part, element.State); + } + #endregion + + VisualStyleRenderer renderer; + + public UXThemeToolStripRenderer(ToolbarTheme theme) { + Theme = theme; + renderer = new VisualStyleRenderer(VisualStyleElement.Button.PushButton.Normal); + } + + #region Borders + protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPBORDERS, 0); + if (e.ToolStrip.IsDropDown) { + Region oldClip = e.Graphics.Clip; + + //Tool strip borders are rendered *after* the content, for some reason. + //So we have to exclude the inside of the popup otherwise we'll draw over it. + Rectangle insideRect = e.ToolStrip.ClientRectangle; + insideRect.Inflate(-1, -1); + e.Graphics.ExcludeClip(insideRect); + + renderer.DrawBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.AffectedBounds); + + //Restore the old clip in case the Graphics is used again (does that ever happen?) + e.Graphics.Clip = oldClip; + } + } + #endregion + + #region Backgrounds + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { + int partId = e.Item.Owner.IsDropDown ? (int)MenuParts.MENU_POPUPITEM : (int)MenuParts.MENU_BARITEM; + renderer.SetParameters(MenuClass, partId, GetItemState(e.Item)); + + Rectangle bgRect = e.Item.ContentRectangle; + + Padding content = GetThemeMargins(e.Graphics, MarginTypes.TMT_CONTENTMARGINS), + sizing = GetThemeMargins(e.Graphics, MarginTypes.TMT_SIZINGMARGINS), + caption = GetThemeMargins(e.Graphics, MarginTypes.TMT_CAPTIONMARGINS); + + if (!e.Item.Owner.IsDropDown) { + bgRect.Y = 0; + bgRect.Height = e.ToolStrip.Height; + bgRect.Inflate(-1, -1); //GetMargins here perhaps? + } + + renderer.DrawBackground(e.Graphics, bgRect, bgRect); + } + + protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e) { + //Draw the background using Rebar & RP_BACKGROUND (or, if that is not available, fall back to + //Rebar.Band.Normal) + if (VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement(RebarClass, RP_BACKGROUND, 0))) { + renderer.SetParameters(RebarClass, RP_BACKGROUND, 0); + } else { + renderer.SetParameters(RebarClass, 0, 0); + //renderer.SetParameters(VisualStyleElement.Taskbar.BackgroundBottom.Normal); + //renderer.SetParameters(Subclass(VisualStyleElement.Rebar.Band.Normal)); + } + + if (renderer.IsBackgroundPartiallyTransparent()) + renderer.DrawParentBackground(e.Graphics, e.ToolStripPanel.ClientRectangle, e.ToolStripPanel); + + renderer.DrawBackground(e.Graphics, e.ToolStripPanel.ClientRectangle); + + //Draw the etched edges of each row. + //renderer.SetParameters(Subclass(VisualStyleElement.Rebar.Band.Normal)); + //foreach (ToolStripPanelRow row in e.ToolStripPanel.Rows) { + // Rectangle rowBounds = row.Bounds; + // rowBounds.Offset(0, -1); + // renderer.DrawEdge(e.Graphics, rowBounds, Edges.Top, EdgeStyle.Etched, EdgeEffects.None); + //} + + e.Handled = true; + } + + //Render the background of an actual menu bar, dropdown menu or toolbar. + protected override void OnRenderToolStripBackground(System.Windows.Forms.ToolStripRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPBACKGROUND, 0); + } else { + //It's a MenuStrip or a ToolStrip. If it's contained inside a larger panel, it should have a + //transparent background, showing the panel's background. + + if (e.ToolStrip.Parent is ToolStripPanel) { + //The background should be transparent, because the ToolStripPanel's background will be visible. + //(Of course, we assume the ToolStripPanel is drawn using the same theme, but it's not my fault + //if someone does that.) + return; + } else { + //A lone toolbar/menubar should act like it's inside a toolbox, I guess. + //Maybe I should use the MenuClass in the case of a MenuStrip, although that would break + //the other themes... + if(VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement(RebarClass, RP_BACKGROUND, 0))) + renderer.SetParameters(RebarClass, RP_BACKGROUND, 0); + else + renderer.SetParameters(RebarClass, 0, 0); + } + } + + if (renderer.IsBackgroundPartiallyTransparent()) + renderer.DrawParentBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.ToolStrip); + + renderer.DrawBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.AffectedBounds); + } + + protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e) { + //e.Graphics.FillRectangle(Brushes.RosyBrown, e.ToolStripContentPanel.ClientRectangle); + //base.OnRenderToolStripContentPanelBackground(e); + } + + //Some sort of chevron thing? + //protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e) { + // base.OnRenderOverflowButtonBackground(e); + //} + #endregion + + #region Text + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { + int partId = e.Item.Owner.IsDropDown ? (int)MenuParts.MENU_POPUPITEM : (int)MenuParts.MENU_BARITEM; + renderer.SetParameters(MenuClass, partId, GetItemState(e.Item)); + Color color = renderer.GetColor(ColorProperty.TextColor); + + if(e.Item.Owner.IsDropDown || e.Item.Owner is MenuStrip) + e.TextColor = color; + + base.OnRenderItemText(e); + } + #endregion + + #region Glyphs + + //protected override void OnRenderGrip(ToolStripGripRenderEventArgs e) { + // if (e.GripStyle == ToolStripGripStyle.Visible) { + // renderer.SetParameters(VisualStyleElement.Rebar.Gripper.Normal); + // renderer.DrawBackground(e.Graphics, e.GripBounds, e.AffectedBounds); + // } + //} + + protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPGUTTER, 0); + Rectangle displayRect = e.ToolStrip.DisplayRectangle, + marginRect = new Rectangle(0, displayRect.Top, displayRect.Left, displayRect.Height); + //e.Graphics.DrawRectangle(Pens.Black, marginRect); + renderer.DrawBackground(e.Graphics, marginRect, marginRect); + } + } + + protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPSEPARATOR, 0); + Rectangle rect = new Rectangle(e.ToolStrip.DisplayRectangle.Left, 0, e.ToolStrip.DisplayRectangle.Width, e.Item.Height); + renderer.DrawBackground(e.Graphics, rect, rect); + } else { + base.OnRenderSeparator(e); + } + } + + protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { + ToolStripMenuItem item = e.Item as ToolStripMenuItem; + if (item != null) { + if (item.Checked) { + Rectangle rect = e.Item.ContentRectangle; + rect.Width = rect.Height; + + //Center the checkmark horizontally in the gutter (looks ugly, though) + //rect.X = (e.ToolStrip.DisplayRectangle.Left - rect.Width) / 2; + + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPCHECKBACKGROUND, e.Item.Enabled ? (int)MenuPopupCheckBackgroundStates.MCB_NORMAL : (int)MenuPopupCheckBackgroundStates.MCB_DISABLED); + renderer.DrawBackground(e.Graphics, rect); + + Padding margins = GetThemeMargins(e.Graphics, MarginTypes.TMT_SIZINGMARGINS); + + rect = new Rectangle(rect.X + margins.Left, rect.Y + margins.Top, + rect.Width - margins.Horizontal, + rect.Height - margins.Vertical); + + //I don't think ToolStrip even supports radio box items. So no need to render them. + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPCHECK, e.Item.Enabled ? (int)MenuPopupCheckStates.MC_CHECKMARKNORMAL : (int)MenuPopupCheckStates.MC_CHECKMARKDISABLED); + + renderer.DrawBackground(e.Graphics, rect); + } + } else { + base.OnRenderItemCheck(e); + } + } + + //This is broken for RTL + protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { + int stateId = e.Item.Enabled ? (int)MenuPopupSubMenuStates.MSM_NORMAL : (int)MenuPopupSubMenuStates.MSM_DISABLED; + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPSUBMENU, stateId); + renderer.DrawBackground(e.Graphics, e.ArrowRectangle); + } + + protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e) { + renderer.SetParameters(RebarClass, VisualStyleElement.Rebar.Chevron.Normal.Part, VisualStyleElement.Rebar.Chevron.Normal.State); + renderer.DrawBackground(e.Graphics, e.Item.ContentRectangle); + + //base.OnRenderOverflowButtonBackground(e); + } + #endregion + + public static bool IsSupported { + get { + if (!VisualStyleRenderer.IsSupported) + return false; + + return VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement("MENU", (int)MenuParts.MENU_BARBACKGROUND, (int)MenuBarStates.MB_ACTIVE)); + } + } + } + + /// + /// Renders a toolstrip using UXTheme if possible, and switches back to the default + /// ToolStripRenderer when UXTheme-based rendering is not available. + /// Designed for menu bars and context menus - it is not guaranteed to work with anything else. + /// + /// + /// NativeToolStripRenderer.SetToolStripRenderer(toolStrip1, toolStrip2, contextMenuStrip1); + /// + /// + /// toolStrip1.Renderer = new NativeToolStripRenderer(); + /// + public class NativeToolStripRenderer : ToolStripRenderer { + UXThemeToolStripRenderer nativeRenderer; + ToolStripRenderer defaultRenderer; + ToolStrip toolStrip; + + //NativeToolStripRenderer looks best with no padding - but keep the old padding in case the + //visual styles become unsupported again (e.g. user changes to windows classic skin) + Padding defaultPadding; + + #region Constructors + /// + /// Creates a NativeToolStripRenderer for a particular ToolStrip. NativeToolStripRenderer will subscribe to some events + /// of this ToolStrip. + /// + /// The toolstrip for this NativeToolStripRenderer. NativeToolStripRenderer will subscribe to some events + /// of this ToolStrip. + public NativeToolStripRenderer(ToolStrip toolStrip, ToolbarTheme theme) { + if (toolStrip == null) + throw new ArgumentNullException("toolStrip", "ToolStrip cannot be null."); + + Theme = theme; + + this.toolStrip = toolStrip; + defaultRenderer = toolStrip.Renderer; + + defaultPadding = toolStrip.Padding; + toolStrip.SystemColorsChanged += new EventHandler(toolStrip_SystemColorsChanged); + + //Can't initialize here - constructor throws if visual styles not enabled + //nativeRenderer = new NativeToolStripRenderer(); + } + + public NativeToolStripRenderer(ToolStripPanel panel, ToolbarTheme theme) { + if (panel == null) + throw new ArgumentNullException("panel", "Panel cannot be null."); + + Theme = theme; + + this.toolStrip = null; + defaultRenderer = panel.Renderer; + } + #endregion + + public ToolbarTheme Theme { get; set; } + + void toolStrip_SystemColorsChanged(object sender, EventArgs e) { + if (toolStrip == null) + return; + + if (UXThemeToolStripRenderer.IsSupported) + toolStrip.Padding = Padding.Empty; + else + toolStrip.Padding = defaultPadding; + } + + //This is indeed called every time a menu part is rendered, but I can't + //find a way of caching it that I can be sure has no race conditions. + //The check is no longer very costly, anyway. + protected ToolStripRenderer ActualRenderer { + get { + bool nativeSupported = UXThemeToolStripRenderer.IsSupported; + + if (nativeSupported) { + if (nativeRenderer == null) + nativeRenderer = new UXThemeToolStripRenderer(Theme); + return nativeRenderer; + } + + return defaultRenderer; + } + } + + #region InitializeXXX + protected override void Initialize(ToolStrip toolStrip) { + base.Initialize(toolStrip); + + toolStrip.Padding = Padding.Empty; + + if (/*!(toolStrip is MenuStrip) &&*/ toolStrip.Parent is ToolStripPanel) { + toolStrip.BackColor = Color.Transparent; + } + } + + protected override void InitializePanel(ToolStripPanel toolStripPanel) { + base.InitializePanel(toolStripPanel); + } + + protected override void InitializeItem(ToolStripItem item) { + base.InitializeItem(item); + } + #endregion + + #region SetToolStripRenderer + /// + /// Sets the renderer of each ToolStrip to a NativeToolStripRenderer. A convenience method. + /// + /// A parameter list of ToolStrips. + [SuppressMessage("Microsoft.Design", "CA1062")] //The parameter array is actually checked. + public static void SetToolStripRenderer(ToolbarTheme theme, params Control[] toolStrips) { + foreach (Control ts in toolStrips) { + if (ts == null) + throw new ArgumentNullException("toolStrips", "ToolStrips cannot contain a null reference."); + } + + foreach (Control ts in toolStrips) { + if (ts is ToolStrip) { + ToolStrip t = (ToolStrip)ts; + t.Renderer = new NativeToolStripRenderer(t, theme); + } else if (ts is ToolStripPanel) { + ToolStripPanel t = (ToolStripPanel)ts; + t.Renderer = new NativeToolStripRenderer(t, theme); + } else + throw new ArgumentException("Can't set the renderer for a " + ts.GetType().Name); + } + } + + public static void SetToolStripRenderer(params Control[] toolStrips) { + SetToolStripRenderer(ToolbarTheme.Toolbar, toolStrips); + } + #endregion + + #region Overridden Methods - Deferred to actual renderer + protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { + ActualRenderer.DrawArrow(e); + } + + protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawButtonBackground(e); + } + + protected override void OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawDropDownButtonBackground(e); + } + + protected override void OnRenderGrip(ToolStripGripRenderEventArgs e) { + ActualRenderer.DrawGrip(e); + } + + protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { + ActualRenderer.DrawImageMargin(e); + } + + protected override void OnRenderItemBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawItemBackground(e); + } + + protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { + ActualRenderer.DrawItemCheck(e); + } + + protected override void OnRenderItemImage(ToolStripItemImageRenderEventArgs e) { + ActualRenderer.DrawItemImage(e); + } + + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { + ActualRenderer.DrawItemText(e); + } + + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawMenuItemBackground(e); + } + + protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e) { + ActualRenderer.DrawSeparator(e); + } + + protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e) { + ActualRenderer.DrawToolStripBackground(e); + } + + protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { + ActualRenderer.DrawToolStripBorder(e); + } + + protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e) { + ActualRenderer.DrawToolStripContentPanelBackground(e); + } + + protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e) { + ActualRenderer.DrawToolStripPanelBackground(e); + } + #endregion + } +} diff --git a/OnTopReplica/NotificationIcon.cs b/OnTopReplica/NotificationIcon.cs new file mode 100644 index 0000000..ebdce67 --- /dev/null +++ b/OnTopReplica/NotificationIcon.cs @@ -0,0 +1,84 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica { + /// + /// Notification icon that installs itself in the "tray" and manipulates the OnTopReplica main form. + /// + class NotificationIcon : IDisposable { + + public NotificationIcon(MainForm form) { + Form = form; + Install(); + } + + public MainForm Form { get; private set; } + + NotifyIcon _taskIcon; + ContextMenuStrip _contextMenu; + + private void Install() { + _contextMenu = new ContextMenuStrip(); + _contextMenu.Items.AddRange(new ToolStripItem[] { + new ToolStripMenuItem(Strings.MenuOpen, Resources.icon, TaskIconOpen_click) { + ToolTipText = Strings.MenuOpenTT, + }, + new ToolStripMenuItem(Strings.MenuWindows, Resources.list){ + DropDown = Form.MenuWindows, + ToolTipText = Strings.MenuWindowsTT + }, + new ToolStripMenuItem(Strings.MenuReset, null, TaskIconReset_click){ + ToolTipText = Strings.MenuResetTT + }, + new ToolStripMenuItem(Strings.MenuClose, Resources.close_new, TaskIconExit_click){ + ToolTipText = Strings.MenuCloseTT + } + }); + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(_contextMenu); + + _taskIcon = new NotifyIcon { + Text = Strings.ApplicationName, + Icon = Resources.icon_new, + Visible = true, + ContextMenuStrip = _contextMenu + }; + _taskIcon.DoubleClick += new EventHandler(TaskIcon_doubleclick); + } + + #region IDisposable Members + + public void Dispose() { + //Destroy NotifyIcon + if (_taskIcon != null) { + _taskIcon.Visible = false; + _taskIcon.Dispose(); + _taskIcon = null; + } + } + + #endregion + + #region Task Icon events + + void TaskIcon_doubleclick(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconOpen_click(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconReset_click(object sender, EventArgs e) { + Form.ResetMainFormWithConfirmation(); + } + + private void TaskIconExit_click(object sender, EventArgs e) { + Form.Close(); + } + + #endregion + } +} diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj new file mode 100644 index 0000000..6820fe6 --- /dev/null +++ b/OnTopReplica/OnTopReplica.csproj @@ -0,0 +1,424 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557} + WinExe + Properties + OnTopReplica + OnTopReplica + v2.0 + 512 + Assets\icon-new.ico + false + false + Internet + OnTopReplica.Program + + + false + A305A505E19CF40E069521C80C13AB3C900EDB7C + OnTopReplica_1_TemporaryKey.pfx + false + + + + + 3.5 + + publish\ + true + Disk + true + Background + 1 + Weeks + true + false + true + http://www.klopfenstein.net/public/Uploads/ontopreplica/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + en + OnTopReplica + Lorenz Cuno Klopfenstein + true + publish.htm + false + 0 + 3.0.2.%2a + false + true + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + false + true + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + false + + + + + + + + + OnTopReplica.exe.manifest + + + + + + + + + + False + ..\Lib\VistaControls.dll + + + + + Form + + + AboutForm.cs + + + Form + + + + + Form + + + Form + + + Form + + + + + + + + + + + + + + + + + + + + + + + UserControl + + + UserControl + + + GroupSwitchPanel.cs + + + + + + + + + + + + + True + True + Strings.resx + + + Component + + + Form + + + MainForm.cs + + + + + + AboutForm.cs + Designer + + + GroupSwitchPanel.cs + Designer + + + ResXFileCodeGenerator + Strings.cs.Designer.cs + + + ResXFileCodeGenerator + Strings.da.Designer.cs + + + ResXFileCodeGenerator + Strings.it.Designer.cs + Designer + + + MainForm.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + RegionPanel.cs + Designer + + + Strings.Designer.cs + Designer + ResXFileCodeGenerator + + + True + Resources.resx + True + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + UserControl + + + RegionPanel.cs + + + + + Component + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 2.0 %28x86%29 + true + + + False + .NET Framework 3.0 %28x86%29 + false + + + False + .NET Framework 3.5 + false + + + False + .NET Framework 3.5 SP1 + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Include + True + Satellite + + + False + + + + + Include + True + Satellite + + + False + + + + + Include + True + Satellite + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.csproj.user b/OnTopReplica/OnTopReplica.csproj.user new file mode 100644 index 0000000..00156d0 --- /dev/null +++ b/OnTopReplica/OnTopReplica.csproj.user @@ -0,0 +1,18 @@ + + + + publish\ + http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/download.aspx%3ffile=ontopreplica%252fsetup.exe/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/|http://lorenz.klopfenstein.net/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&page=on_top_replica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&page=programming_on_top_replica + http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/ + + + en-US + false + + + + + false + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.exe.manifest b/OnTopReplica/OnTopReplica.exe.manifest new file mode 100644 index 0000000..b9febc2 --- /dev/null +++ b/OnTopReplica/OnTopReplica.exe.manifest @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + Lightweight clone of a window. + + + + + + \ No newline at end of file diff --git a/OnTopReplica/PlatformSupport.cs b/OnTopReplica/PlatformSupport.cs new file mode 100644 index 0000000..8f7d816 --- /dev/null +++ b/OnTopReplica/PlatformSupport.cs @@ -0,0 +1,109 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Platforms; +using System.Windows.Forms; + +namespace OnTopReplica { + abstract class PlatformSupport : IDisposable { + + public static PlatformSupport Create() { + var os = Environment.OSVersion; + + if (os.Platform != PlatformID.Win32NT) + return new Other(); + + if (os.Version.Major == 6) { + if (os.Version.Minor >= 1) + return new WindowsSeven(); + else + return new WindowsVista(); + } + else if (os.Version.Major > 6) { + //Ensures forward compatibility + return new WindowsSeven(); + } + else { + //Generic NT + return new WindowsXp(); + } + } + + /// + /// Checks whether OnTopReplica is compatible with the platform. + /// + /// Returns false if OnTopReplica cannot run. + public abstract bool CheckCompatibility(); + + /// + /// Initializes the application. Called once in the app lifetime. + /// + public virtual void InitApp() { + } + + /// + /// Gets the main OnTopReplica form. + /// + protected MainForm Form { get; private set; } + + /// + /// Initializes a form. Called once in the form lifetime. + /// + /// Form to initialize. + public virtual void InitForm(MainForm form) { + Form = form; + } + + /// + /// Prepares the app for shutdown. Called once before the program terminates. + /// + public virtual void ShutdownApp() { + } + + /// + /// Hides the main form in a way that it can be restored later by the user. + /// + /// Form to hide. + public virtual void HideForm(MainForm form) { + form.Hide(); + } + + /// + /// Gets whether the form is currently hidden or not. + /// + public virtual bool IsHidden(MainForm form) { + return !form.Visible; + } + + /// + /// Restores the main form to its default state after is has been hidden. + /// Can be called whether the form is hidden or not. + /// + /// Form to restore. + public virtual void RestoreForm(MainForm form) { + form.Show(); + } + + /// + /// Called when the form changes its state, without calling into or . + /// Enables inheritors to update the form's state on each state change. + /// + public virtual void OnFormStateChange(MainForm form) { + } + + #region IDisposable Members + + bool _isDisposed = false; + + public void Dispose() { + if (_isDisposed) + return; + + this.ShutdownApp(); + _isDisposed = true; + } + + #endregion + + } +} diff --git a/OnTopReplica/Platforms/Other.cs b/OnTopReplica/Platforms/Other.cs new file mode 100644 index 0000000..abd253d --- /dev/null +++ b/OnTopReplica/Platforms/Other.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.Platforms { + class Other : PlatformSupport { + + public override bool CheckCompatibility() { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, + MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + } +} diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs new file mode 100644 index 0000000..ad0bf87 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -0,0 +1,50 @@ +using System; +using System.Windows.Forms; +using OnTopReplica.Native; +using VistaControls.Dwm; + +namespace OnTopReplica.Platforms { + class WindowsSeven : WindowsVista { + + public override void InitForm(MainForm form) { + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + DwmManager.SetExludeFromPeek(form, true); + DwmManager.SetDisallowPeek(form, true); + + SetWindowStyle(form); + } + + public override void InitApp() { + //Set Application ID + WindowsSevenMethods.SetCurrentProcessExplicitAppUserModelID("OnTopReplica"); + } + + public override void HideForm(MainForm form) { + form.Opacity = 0; + } + + public override bool IsHidden(MainForm form) { + return (form.Opacity == 0.0); + } + + public override void RestoreForm(MainForm form) { + if (form.Opacity == 0.0) + form.Opacity = 1.0; + form.Show(); + SetWindowStyle(form); + } + + public override void OnFormStateChange(MainForm form) { + SetWindowStyle(form); + } + + private void SetWindowStyle(MainForm form) { + //This hides the app from ALT+TAB + //Note that when minimized, it will be shown as an (ugly) minimized tool window + Native.WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle, + (IntPtr)WindowMethods.WindowExStyles.ToolWindow); + } + + + } +} diff --git a/OnTopReplica/Platforms/WindowsVista.cs b/OnTopReplica/Platforms/WindowsVista.cs new file mode 100644 index 0000000..d8d1b60 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsVista.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using VistaControls.Dwm; +using OnTopReplica.Properties; +using VistaControls.TaskDialog; + +namespace OnTopReplica.Platforms { + + class WindowsVista : PlatformSupport { + + public override bool CheckCompatibility() { + if (!VistaControls.OsSupport.IsCompositionEnabled) { + MessageBox.Show(Strings.ErrorDwmOffContent, Strings.ErrorDwmOff, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + return true; + } + + NotificationIcon _icon; + + public override void InitForm(MainForm form) { + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + + //Do not show in task bar, but display notify icon + //NOTE: this effectively makes Windows ignore the Flip 3D policy set above (on Windows 7) + //NOTE: this also makes HotKey registration critically fail on Windows 7 + form.ShowInTaskbar = false; + + //Install tray icon + _icon = new NotificationIcon(form); + } + + public override void ShutdownApp() { + if (_icon != null) { + _icon.Dispose(); + _icon = null; + } + } + + } + +} diff --git a/OnTopReplica/Platforms/WindowsXp.cs b/OnTopReplica/Platforms/WindowsXp.cs new file mode 100644 index 0000000..88d3895 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsXp.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.Platforms { + class WindowsXp : PlatformSupport { + + public override bool CheckCompatibility() { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + } +} diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs new file mode 100644 index 0000000..d4c5c2c --- /dev/null +++ b/OnTopReplica/Program.cs @@ -0,0 +1,120 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using OnTopReplica.Properties; +using System.Threading; +using System.Globalization; +using System.Drawing; +using System.IO; +using VistaControls.TaskDialog; +using OnTopReplica.Update; +using System.Reflection; + +namespace OnTopReplica { + + static class Program { + + public static PlatformSupport Platform { get; private set; } + + static CultureInfo _languageChangeCode = Settings.Default.Language; + + static UpdateManager _updateManager; + + static MainForm _mainForm; + + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() { + //Hook abort handler + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); + + //Initialize and check for platform support + Platform = PlatformSupport.Create(); + if (!Platform.CheckCompatibility()) + return; + Platform.InitApp(); + + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + + //Update settings if needed + if (Settings.Default.MustUpdate) { + Settings.Default.Upgrade(); + Settings.Default.MustUpdate = false; + } + + bool mustReloadForm = false; + Point reloadLocation = new Point(); + Size reloadSize = new Size(); + + do { + //Update language settings + Thread.CurrentThread.CurrentUICulture = _languageChangeCode; + Settings.Default.Language = _languageChangeCode; + _languageChangeCode = null; + + _mainForm = new MainForm(); + if (mustReloadForm) { + _mainForm.Location = reloadLocation; + _mainForm.Size = reloadSize; + } + + Application.Run(_mainForm); + + //Enable reloading on next loop + mustReloadForm = true; + reloadLocation = _mainForm.Location; + reloadSize = _mainForm.Size; + } + while (_languageChangeCode != null); + + //Persist settings + Settings.Default.Save(); + } + + /// + /// Forces a global language change. As soon as the main form is closed, the change is performed + /// and the form is reopened using the new language. + /// + public static bool ForceGlobalLanguageChange(string languageCode) { + if (string.IsNullOrEmpty(languageCode)) + return false; + + try { + _languageChangeCode = new CultureInfo(languageCode); + } + catch { + return false; + } + + return true; + } + + static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { + string dump = string.Format("OnTopReplica-dump-{0}{1}{2}{3}{4}.txt", + DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, + DateTime.UtcNow.Hour, DateTime.UtcNow.Minute); + string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), dump); + + using (var s = new FileStream(path, FileMode.Create)) { + using (var sw = new StreamWriter(s)) { + sw.WriteLine("OnTopReplica Dump file"); + sw.WriteLine("This file has been created because OnTopReplica crashed."); + sw.WriteLine("Please send it to lck@klopfenstein.net to help fix the bug that caused the crash."); + sw.WriteLine(); + sw.WriteLine("Last exception:"); + sw.WriteLine(e.ExceptionObject.ToString()); + sw.WriteLine(); + sw.WriteLine("OnTopReplica v. {0}", Assembly.GetEntryAssembly().GetName().Version); + sw.WriteLine("OS: {0}", Environment.OSVersion.ToString()); + sw.WriteLine(".NET: {0}", Environment.Version.ToString()); + sw.WriteLine("Aero DWM: {0}", VistaControls.OsSupport.IsCompositionEnabled); + sw.WriteLine("Launch command: {0}", Environment.CommandLine); + } + } + } + + } +} diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..46e3969 --- /dev/null +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -0,0 +1,37 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("OnTopReplica")] +[assembly: AssemblyDescription("Real-time, always on top thumbnail of a window of your choice.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Lorenz Cuno Klopfenstein")] +[assembly: AssemblyProduct("OnTopReplica")] +[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2010")] +//[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2007")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("015090d1-7559-4c59-b9d1-e7e066c4a948")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("3.1.0.0")] +[assembly: AssemblyFileVersion("3.1.0.0")] diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs new file mode 100644 index 0000000..ee6767b --- /dev/null +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -0,0 +1,315 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.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() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("OnTopReplica.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + internal static System.Drawing.Bitmap back { + get { + object obj = ResourceManager.GetObject("back", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap clickforwarding { + get { + object obj = ResourceManager.GetObject("clickforwarding", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap close_new { + get { + object obj = ResourceManager.GetObject("close_new", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap desktop { + get { + object obj = ResourceManager.GetObject("desktop", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_czech { + get { + object obj = ResourceManager.GetObject("flag_czech", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_danish { + get { + object obj = ResourceManager.GetObject("flag_danish", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_ita { + get { + object obj = ResourceManager.GetObject("flag_ita", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_usa { + get { + object obj = ResourceManager.GetObject("flag_usa", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap fullscreen { + get { + object obj = ResourceManager.GetObject("fullscreen", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap groupmode { + get { + object obj = ResourceManager.GetObject("groupmode", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap icon { + get { + object obj = ResourceManager.GetObject("icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Icon icon_new { + get { + object obj = ResourceManager.GetObject("icon_new", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + internal static System.Drawing.Bitmap list { + get { + object obj = ResourceManager.GetObject("list", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_bottomleft { + get { + object obj = ResourceManager.GetObject("pos_bottomleft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_bottomright { + get { + object obj = ResourceManager.GetObject("pos_bottomright", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_null { + get { + object obj = ResourceManager.GetObject("pos_null", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_topleft { + get { + object obj = ResourceManager.GetObject("pos_topleft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_topright { + get { + object obj = ResourceManager.GetObject("pos_topright", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap reduce { + get { + object obj = ResourceManager.GetObject("reduce", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap refresh { + get { + object obj = ResourceManager.GetObject("refresh", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap regions { + get { + object obj = ResourceManager.GetObject("regions", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap thumbs_up { + get { + object obj = ResourceManager.GetObject("thumbs_up", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_border16 { + get { + object obj = ResourceManager.GetObject("window_border16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_multiple16 { + get { + object obj = ResourceManager.GetObject("window_multiple16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_opacity { + get { + object obj = ResourceManager.GetObject("window_opacity", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_switch { + get { + object obj = ResourceManager.GetObject("window_switch", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window16 { + get { + object obj = ResourceManager.GetObject("window16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_add { + get { + object obj = ResourceManager.GetObject("xiao_add", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_arrow { + get { + object obj = ResourceManager.GetObject("xiao_arrow", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_component { + get { + object obj = ResourceManager.GetObject("xiao_component", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_delete { + get { + object obj = ResourceManager.GetObject("xiao_delete", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_down { + get { + object obj = ResourceManager.GetObject("xiao_down", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_help { + get { + object obj = ResourceManager.GetObject("xiao_help", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_ok { + get { + object obj = ResourceManager.GetObject("xiao_ok", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_up { + get { + object obj = ResourceManager.GetObject("xiao_up", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_wrench { + get { + object obj = ResourceManager.GetObject("xiao_wrench", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx new file mode 100644 index 0000000..b84794e --- /dev/null +++ b/OnTopReplica/Properties/Resources.resx @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Assets\flag_ita.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\x-oblique.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\component.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\25.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_multiple16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\regions_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_null.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_opacity_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\thumbs_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\clickforwarding.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\newicon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_help.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\back.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_czech.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_switch.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\desktop.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_danish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\reduce.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_ok.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_wrench.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\list.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\icon-new.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\fullscreen.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_down.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_border16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_usa.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + + ..\Assets\groupmode.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/OnTopReplica/Properties/Settings.Designer.cs b/OnTopReplica/Properties/Settings.Designer.cs new file mode 100644 index 0000000..34d376b --- /dev/null +++ b/OnTopReplica/Properties/Settings.Designer.cs @@ -0,0 +1,157 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.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; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public global::OnTopReplica.StoredRegionArray SavedRegions { + get { + return ((global::OnTopReplica.StoredRegionArray)(this["SavedRegions"])); + } + set { + this["SavedRegions"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool AutoFitOnResize { + get { + return ((bool)(this["AutoFitOnResize"])); + } + set { + this["AutoFitOnResize"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("255")] + public byte Opacity { + get { + return ((byte)(this["Opacity"])); + } + set { + this["Opacity"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("(Default)")] + public global::System.Globalization.CultureInfo Language { + get { + return ((global::System.Globalization.CultureInfo)(this["Language"])); + } + set { + this["Language"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool MustUpdate { + get { + return ((bool)(this["MustUpdate"])); + } + set { + this["MustUpdate"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool ClickThrough { + get { + return ((bool)(this["ClickThrough"])); + } + set { + this["ClickThrough"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool FirstTimeClickThrough { + get { + return ((bool)(this["FirstTimeClickThrough"])); + } + set { + this["FirstTimeClickThrough"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool FirstTimeClickForwarding { + get { + return ((bool)(this["FirstTimeClickForwarding"])); + } + set { + this["FirstTimeClickForwarding"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool FullscreenAlwaysOnTop { + get { + return ((bool)(this["FullscreenAlwaysOnTop"])); + } + set { + this["FullscreenAlwaysOnTop"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string Setting { + get { + return ((string)(this["Setting"])); + } + set { + this["Setting"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string Setting1 { + get { + return ((string)(this["Setting1"])); + } + set { + this["Setting1"] = value; + } + } + } +} diff --git a/OnTopReplica/Properties/Settings.settings b/OnTopReplica/Properties/Settings.settings new file mode 100644 index 0000000..8aab035 --- /dev/null +++ b/OnTopReplica/Properties/Settings.settings @@ -0,0 +1,39 @@ + + + + + + + + + True + + + 255 + + + (Default) + + + True + + + True + + + True + + + True + + + False + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/Properties/app.manifest b/OnTopReplica/Properties/app.manifest new file mode 100644 index 0000000..c29c96a --- /dev/null +++ b/OnTopReplica/Properties/app.manifest @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/SidePanel.cs b/OnTopReplica/SidePanel.cs new file mode 100644 index 0000000..d3928cb --- /dev/null +++ b/OnTopReplica/SidePanel.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + /// + /// Represents a side panel that can be embedded in OnTopReplica. + /// + class SidePanel : UserControl { + + public SidePanel() { + Dock = DockStyle.Fill; + } + + /// + /// Gets the panel's parent form. + /// + protected MainForm ParentForm { get; private set; } + + /// + /// Raised when the side panel requests to be closed. + /// + public event EventHandler RequestClosing; + + protected virtual void OnRequestClosing() { + var evt = RequestClosing; + if (evt != null) + evt(this, EventArgs.Empty); + } + + /// + /// Is called when the side panel is embedded and first shown. + /// + /// Parent form that is embedding the side panel. + public virtual void OnFirstShown(MainForm form) { + ParentForm = form; + } + + /// + /// Is called before removing the side panel. + /// + /// Parent form that is embedding the side panel. + public virtual void OnClosing(MainForm form) { + } + + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs new file mode 100644 index 0000000..248924d --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs @@ -0,0 +1,129 @@ +namespace OnTopReplica.SidePanels { + partial class GroupSwitchPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonEnable = new System.Windows.Forms.Button(); + this.listWindows = new System.Windows.Forms.ListView(); + this.colName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.labelStatus = new System.Windows.Forms.Label(); + this.groupBox1.SuspendLayout(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.labelStatus); + this.groupBox1.Controls.Add(this.buttonCancel); + this.groupBox1.Controls.Add(this.buttonEnable); + this.groupBox1.Controls.Add(this.listWindows); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(228, 296); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = Strings.GroupSwitchModeTitle; + // + // buttonCancel + // + this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonCancel.Location = new System.Drawing.Point(152, 267); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(70, 23); + this.buttonCancel.TabIndex = 2; + this.buttonCancel.Text = Strings.GroupSwitchModeDisableButton; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(this.Cancel_click); + // + // buttonEnable + // + this.buttonEnable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonEnable.Image = global::OnTopReplica.Properties.Resources.xiao_ok; + this.buttonEnable.Location = new System.Drawing.Point(12, 267); + this.buttonEnable.Name = "buttonEnable"; + this.buttonEnable.Size = new System.Drawing.Size(134, 23); + this.buttonEnable.TabIndex = 1; + this.buttonEnable.Text = Strings.GroupSwitchModeEnableButton; + this.buttonEnable.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonEnable.UseVisualStyleBackColor = true; + this.buttonEnable.Click += new System.EventHandler(this.Enable_click); + // + // listWindows + // + this.listWindows.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.listWindows.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.colName}); + this.listWindows.FullRowSelect = true; + this.listWindows.GridLines = true; + this.listWindows.HideSelection = false; + this.listWindows.LabelWrap = false; + this.listWindows.Location = new System.Drawing.Point(6, 19); + this.listWindows.Name = "listWindows"; + this.listWindows.Size = new System.Drawing.Size(216, 225); + this.listWindows.TabIndex = 0; + this.listWindows.UseCompatibleStateImageBehavior = false; + this.listWindows.View = System.Windows.Forms.View.Details; + // + // colName + // + this.colName.Text = Strings.GroupSwitchModeWindows; + this.colName.Width = 220; + // + // labelStatus + // + this.labelStatus.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelStatus.Location = new System.Drawing.Point(3, 247); + this.labelStatus.Name = "labelStatus"; + this.labelStatus.Size = new System.Drawing.Size(219, 17); + this.labelStatus.TabIndex = 3; + this.labelStatus.Text = ""; + this.labelStatus.TextAlign = System.Drawing.ContentAlignment.BottomRight; + // + // GroupSwitchPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox1); + this.MinimumSize = new System.Drawing.Size(220, 220); + this.Name = "GroupSwitchPanel"; + this.Size = new System.Drawing.Size(228, 296); + this.groupBox1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Button buttonEnable; + private System.Windows.Forms.ListView listWindows; + private System.Windows.Forms.ColumnHeader colName; + private System.Windows.Forms.Label labelStatus; + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.cs new file mode 100644 index 0000000..b763889 --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.cs @@ -0,0 +1,73 @@ +using System; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using System.Collections.Generic; +using OnTopReplica.MessagePumpProcessors; + +namespace OnTopReplica.SidePanels { + partial class GroupSwitchPanel : SidePanel { + + public GroupSwitchPanel() { + InitializeComponent(); + } + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + LoadWindowList(); + + labelStatus.Text = (ParentForm.MessagePumpManager.Get().IsActive) ? + Strings.GroupSwitchModeStatusEnabled : + Strings.GroupSwitchModeStatusDisabled; + } + + private void LoadWindowList() { + var manager = new WindowManager(); + manager.Refresh(WindowManager.EnumerationMode.TaskWindows); + + var imageList = new ImageList(); + imageList.ColorDepth = ColorDepth.Depth32Bit; + foreach (var w in manager.Windows) { + var item = new ListViewItem(w.Title) { + Tag = w + }; + + if (w.Icon != null) { + imageList.Images.Add(w.Icon); + item.ImageIndex = imageList.Images.Count - 1; + } + + listWindows.Items.Add(item); + } + listWindows.SmallImageList = imageList; + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + if (_enableOnClose) { + List ret = new List(); + foreach (ListViewItem i in listWindows.SelectedItems) { + ret.Add((WindowHandle)i.Tag); + } + form.SetThumbnailGroup(ret); + } + else { + form.MessagePumpManager.Get().Disable(); + } + } + + bool _enableOnClose = false; + + private void Enable_click(object sender, EventArgs e) { + _enableOnClose = true; + OnRequestClosing(); + } + + private void Cancel_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.resx b/OnTopReplica/SidePanels/GroupSwitchPanel.resx new file mode 100644 index 0000000..ff31a6d --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/RegionPanel.Designer.cs b/OnTopReplica/SidePanels/RegionPanel.Designer.cs new file mode 100644 index 0000000..a237f87 --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.Designer.cs @@ -0,0 +1,314 @@ +namespace OnTopReplica.SidePanels { + partial class RegionPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.textRegionName = new OnTopReplica.FocusedTextBox(); + this.numH = new System.Windows.Forms.NumericUpDown(); + this.numW = new System.Windows.Forms.NumericUpDown(); + this.numY = new System.Windows.Forms.NumericUpDown(); + this.numX = new System.Windows.Forms.NumericUpDown(); + this.buttonDone = new System.Windows.Forms.Button(); + this.buttonReset = new System.Windows.Forms.Button(); + this.label6 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.buttonDelete = new System.Windows.Forms.Button(); + this.buttonSave = new System.Windows.Forms.Button(); + this.comboRegions = new VistaControls.ComboBox(); + this.groupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).BeginInit(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.textRegionName); + this.groupBox1.Controls.Add(this.numH); + this.groupBox1.Controls.Add(this.numW); + this.groupBox1.Controls.Add(this.numY); + this.groupBox1.Controls.Add(this.numX); + this.groupBox1.Controls.Add(this.buttonDone); + this.groupBox1.Controls.Add(this.buttonReset); + this.groupBox1.Controls.Add(this.label6); + this.groupBox1.Controls.Add(this.label7); + this.groupBox1.Controls.Add(this.label3); + this.groupBox1.Controls.Add(this.label2); + this.groupBox1.Controls.Add(this.label1); + this.groupBox1.Controls.Add(this.buttonDelete); + this.groupBox1.Controls.Add(this.buttonSave); + this.groupBox1.Controls.Add(this.comboRegions); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(184, 170); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Regions:"; + // + // textRegionName + // + this.textRegionName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textRegionName.BackColor = System.Drawing.SystemColors.ActiveCaption; + this.textRegionName.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; + this.textRegionName.Location = new System.Drawing.Point(6, 44); + this.textRegionName.Name = "textRegionName"; + this.textRegionName.Size = new System.Drawing.Size(174, 20); + this.textRegionName.TabIndex = 11; + this.textRegionName.Visible = false; + this.textRegionName.ConfirmInput += new System.EventHandler(this.Save_confirm); + this.textRegionName.AbortInput += new System.EventHandler(this.Save_lost); + // + // numH + // + this.numH.Enabled = false; + this.numH.Location = new System.Drawing.Point(109, 93); + this.numH.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numH.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numH.Name = "numH"; + this.numH.Size = new System.Drawing.Size(43, 20); + this.numH.TabIndex = 7; + this.numH.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numW + // + this.numW.Enabled = false; + this.numW.Location = new System.Drawing.Point(109, 67); + this.numW.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numW.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numW.Name = "numW"; + this.numW.Size = new System.Drawing.Size(43, 20); + this.numW.TabIndex = 6; + this.numW.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numY + // + this.numY.Enabled = false; + this.numY.Location = new System.Drawing.Point(23, 93); + this.numY.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numY.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numY.Name = "numY"; + this.numY.Size = new System.Drawing.Size(43, 20); + this.numY.TabIndex = 5; + this.numY.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numX + // + this.numX.Enabled = false; + this.numX.Location = new System.Drawing.Point(23, 67); + this.numX.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numX.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numX.Name = "numX"; + this.numX.Size = new System.Drawing.Size(43, 20); + this.numX.TabIndex = 4; + this.numX.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // buttonDone + // + this.buttonDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDone.Image = global::OnTopReplica.Properties.Resources.xiao_ok; + this.buttonDone.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonDone.Location = new System.Drawing.Point(108, 129); + this.buttonDone.Name = "buttonDone"; + this.buttonDone.Size = new System.Drawing.Size(70, 23); + this.buttonDone.TabIndex = 9; + this.buttonDone.Text = global::OnTopReplica.Strings.RegionsDoneButton; + this.buttonDone.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonDone.UseVisualStyleBackColor = true; + this.buttonDone.Click += new System.EventHandler(this.Close_click); + // + // buttonReset + // + this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonReset.Location = new System.Drawing.Point(32, 129); + this.buttonReset.Name = "buttonReset"; + this.buttonReset.Size = new System.Drawing.Size(70, 23); + this.buttonReset.TabIndex = 8; + this.buttonReset.Text = global::OnTopReplica.Strings.RegionsResetButton; + this.buttonReset.UseVisualStyleBackColor = true; + this.buttonReset.Click += new System.EventHandler(this.Reset_click); + // + // label6 + // + this.label6.AutoSize = true; + this.label6.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label6.Location = new System.Drawing.Point(71, 96); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(38, 13); + this.label6.TabIndex = 9; + this.label6.Text = "Height"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label7.Location = new System.Drawing.Point(71, 70); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(35, 13); + this.label7.TabIndex = 8; + this.label7.Text = "Width"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label3.Location = new System.Drawing.Point(6, 96); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(14, 13); + this.label3.TabIndex = 5; + this.label3.Text = "Y"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label2.Location = new System.Drawing.Point(6, 70); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(14, 13); + this.label2.TabIndex = 4; + this.label2.Text = "X"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(6, 47); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(76, 13); + this.label1.TabIndex = 3; + this.label1.Text = "Current region:"; + // + // buttonDelete + // + this.buttonDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDelete.Enabled = false; + this.buttonDelete.Image = global::OnTopReplica.Properties.Resources.xiao_delete; + this.buttonDelete.Location = new System.Drawing.Point(157, 18); + this.buttonDelete.Name = "buttonDelete"; + this.buttonDelete.Size = new System.Drawing.Size(23, 23); + this.buttonDelete.TabIndex = 3; + this.buttonDelete.UseVisualStyleBackColor = true; + this.buttonDelete.Click += new System.EventHandler(this.Delete_click); + // + // buttonSave + // + this.buttonSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonSave.Enabled = false; + this.buttonSave.Image = global::OnTopReplica.Properties.Resources.xiao_add; + this.buttonSave.Location = new System.Drawing.Point(134, 18); + this.buttonSave.Name = "buttonSave"; + this.buttonSave.Size = new System.Drawing.Size(23, 23); + this.buttonSave.TabIndex = 1; + this.buttonSave.UseVisualStyleBackColor = true; + this.buttonSave.Click += new System.EventHandler(this.Save_click); + // + // comboRegions + // + this.comboRegions.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.comboRegions.CueBannerText = global::OnTopReplica.Strings.RegionsStoredRegions; + this.comboRegions.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboRegions.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.comboRegions.FormattingEnabled = true; + this.comboRegions.Location = new System.Drawing.Point(6, 19); + this.comboRegions.Name = "comboRegions"; + this.comboRegions.Size = new System.Drawing.Size(126, 21); + this.comboRegions.TabIndex = 0; + this.comboRegions.SelectedIndexChanged += new System.EventHandler(this.RegionCombo_index_change); + // + // RegionPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox1); + this.MinimumSize = new System.Drawing.Size(184, 170); + this.Name = "RegionPanel"; + this.Size = new System.Drawing.Size(184, 170); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Button buttonDelete; + private System.Windows.Forms.Button buttonSave; + private VistaControls.ComboBox comboRegions; + private System.Windows.Forms.Button buttonDone; + private System.Windows.Forms.Button buttonReset; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.NumericUpDown numH; + private System.Windows.Forms.NumericUpDown numW; + private System.Windows.Forms.NumericUpDown numY; + private System.Windows.Forms.NumericUpDown numX; + private FocusedTextBox textRegionName; + } +} diff --git a/OnTopReplica/SidePanels/RegionPanel.cs b/OnTopReplica/SidePanels/RegionPanel.cs new file mode 100644 index 0000000..871a2a1 --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.cs @@ -0,0 +1,217 @@ +using System; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica.SidePanels { + partial class RegionPanel : SidePanel { + + public RegionPanel() { + InitializeComponent(); + + //Copy settings into combo box + if (Settings.Default.SavedRegions != null) { + foreach (object o in Settings.Default.SavedRegions) { + comboRegions.Items.Add(o); + } + } + + _regionDrawnHandler = new ThumbnailPanel.RegionDrawnHandler(ThumbnailPanel_RegionDrawn); + } + + ThumbnailPanel.RegionDrawnHandler _regionDrawnHandler; + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + //Init shown region if needed + if (form.SelectedThumbnailRegion.HasValue) + SetRegion(form.SelectedThumbnailRegion.Value); + + form.ThumbnailPanel.DrawMouseRegions = true; + form.ThumbnailPanel.RegionDrawn += _regionDrawnHandler; + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + form.ThumbnailPanel.DrawMouseRegions = false; + form.ThumbnailPanel.RegionDrawn -= _regionDrawnHandler; + } + + void ThumbnailPanel_RegionDrawn(object sender, Rectangle region) { + SetRegion(region); + } + + #region Interface + + /// + /// Sets the current selected region to a specific instance of a stored region. + /// + /// A stored region instance or null to reset. + public void SetRegion(StoredRegion region) { + if (region == null) { + Reset(); + return; + } + + SetRegion(region.Rect); + + //Select right combobox + if (comboRegions.Items.Contains(region)) { + comboRegions.SelectedItem = region; + } + } + + /// + /// Sets the current selected region to a specific region rectangle. + /// + /// The region boundaries. + public void SetRegion(Rectangle region) { + try { + _ignoreValueChanges = true; + + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = true; + + numX.Value = region.Left; + numY.Value = region.Top; + numW.Value = region.Width; + numH.Value = region.Height; + } + finally { + _ignoreValueChanges = false; + } + + OnRegionSet(region); + } + + /// + /// Resets the selected region and disables the num spinners. + /// + public void Reset() { + try { + _ignoreValueChanges = true; + + numX.Value = numY.Value = numW.Value = numH.Value = 0; + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = false; + + buttonSave.Enabled = false; + + comboRegions.SelectedIndex = -1; + } + finally { + _ignoreValueChanges = false; + } + } + + #endregion + + /// + /// Adds a new stored region. + /// + /// Region bounds. + /// Name of the region. + private void AddRegion(Rectangle rectangle, string regionName) { + var region = new StoredRegion(rectangle, regionName); + + int index = comboRegions.Items.Add(region); + comboRegions.SelectedIndex = index; + + if (Settings.Default.SavedRegions == null) + Settings.Default.SavedRegions = new StoredRegionArray(); + Settings.Default.SavedRegions.Add(region); + } + + /// + /// Internal event raised when a change occurs in the selected region. + /// + /// Region bounds. + protected virtual void OnRegionSet(Rectangle regionBounds) { + //Forward region to thumbnail + ParentForm.SelectedThumbnailRegion = regionBounds; + + buttonSave.Enabled = true; + } + + #region GUI event handlers + + private void Close_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + private void Reset_click(object sender, EventArgs e) { + Reset(); + ParentForm.SelectedThumbnailRegion = null; + } + + private void Delete_click(object sender, EventArgs e) { + if (comboRegions.SelectedIndex < 0) + return; + + var origIndex = comboRegions.SelectedIndex; + Settings.Default.SavedRegions.RemoveAt(origIndex); + comboRegions.Items.RemoveAt(origIndex); + + if (comboRegions.Items.Count > 0) + comboRegions.SelectedIndex = 0; + } + + private void Save_click(object sender, EventArgs e) { + //Display textbox instead of button + buttonSave.Enabled = buttonDelete.Enabled = false; + textRegionName.Visible = true; + textRegionName.Focus(); + } + + private void Save_confirm(object sender, EventArgs e) { + if (!string.IsNullOrEmpty(textRegionName.Text)) { + AddRegion( + new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value), + textRegionName.Text + ); + } + + //Hide textbox and show button again + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Enabled = buttonDelete.Enabled = true; + } + + private void Save_lost(object sender, EventArgs e) { + //Reset textbox + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Enabled = buttonDelete.Enabled = true; + buttonSave.Focus(); + } + + // Used to signal to the value change handler that all events should be temporarily ignored. + bool _ignoreValueChanges = false; + + private void RegionValueSpinner_value_change(object sender, EventArgs e) { + if (_ignoreValueChanges) + return; + + OnRegionSet(new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value)); + } + + private void RegionCombo_index_change(object sender, EventArgs e) { + buttonDelete.Enabled = (comboRegions.SelectedIndex >= 0); + + if (comboRegions.SelectedIndex >= 0) { + //Load region + var region = comboRegions.SelectedItem as StoredRegion; + + if (region == null) + return; + + SetRegion(region.Rect); + } + } + + #endregion + + } +} diff --git a/OnTopReplica/SidePanels/RegionPanel.resx b/OnTopReplica/SidePanels/RegionPanel.resx new file mode 100644 index 0000000..ff31a6d --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/StoredRegion.cs b/OnTopReplica/StoredRegion.cs new file mode 100644 index 0000000..93a64fd --- /dev/null +++ b/OnTopReplica/StoredRegion.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.Drawing; + +namespace OnTopReplica { + + [Serializable] + public class StoredRegion : IXmlSerializable { + + public StoredRegion() { + } + + public StoredRegion(Rectangle r, string n) { + Rect = r; + Name = n; + } + + public Rectangle Rect { + get; + set; + } + + public string Name { + get; + set; + } + + public override string ToString() { + return Name; + } + + + #region IXmlSerializable Members + + public System.Xml.Schema.XmlSchema GetSchema() { + return null; + } + + public void ReadXml(System.Xml.XmlReader reader) { + if (reader.MoveToAttribute("name")) + Name = reader.Value; + else + throw new Exception(); + + reader.Read(); + + XmlSerializer x = new XmlSerializer(typeof(Rectangle)); + Rect = (Rectangle)x.Deserialize(reader); + } + + public void WriteXml(System.Xml.XmlWriter writer) { + writer.WriteAttributeString("name", Name); + + XmlSerializer x = new XmlSerializer(typeof(Rectangle)); + x.Serialize(writer, Rect); + } + + #endregion + } + +} diff --git a/OnTopReplica/StoredRegionArray.cs b/OnTopReplica/StoredRegionArray.cs new file mode 100644 index 0000000..1a948c6 --- /dev/null +++ b/OnTopReplica/StoredRegionArray.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Collections; +using System.Xml.Serialization; + +namespace OnTopReplica { + + public class StoredRegionArray : ArrayList, IXmlSerializable { + + #region IXmlSerializable Members + + public System.Xml.Schema.XmlSchema GetSchema() { + return null; + } + + public void ReadXml(System.Xml.XmlReader reader) { + this.Clear(); + XmlSerializer x = new XmlSerializer(typeof(StoredRegion)); + while (reader.ReadToFollowing("StoredRegion")) { + object o = x.Deserialize(reader); + + if (o is StoredRegion) + this.Add(o); + } + } + + public void WriteXml(System.Xml.XmlWriter writer) { + XmlSerializer x = new XmlSerializer(typeof(StoredRegion)); + foreach (StoredRegion sr in this) { + x.Serialize(writer, sr); + } + } + + #endregion + + } + +} diff --git a/OnTopReplica/StoredRegionComparer.cs b/OnTopReplica/StoredRegionComparer.cs new file mode 100644 index 0000000..cfc9438 --- /dev/null +++ b/OnTopReplica/StoredRegionComparer.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Collections; + +namespace OnTopReplica { + + /// + /// Compares two StoredRegions based on their name. + /// + class StoredRegionComparer : IComparer { + + #region IComparer Members + + public int Compare(object x, object y) { + StoredRegion a = x as StoredRegion; + StoredRegion b = y as StoredRegion; + + if (a == null || b == null) + return -1; //this is wrong, but anyway + + return a.Name.CompareTo(b.Name); + } + + #endregion + + } +} diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs new file mode 100644 index 0000000..827c274 --- /dev/null +++ b/OnTopReplica/Strings.Designer.cs @@ -0,0 +1,1324 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Strings { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Strings() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("OnTopReplica.Strings", typeof(Strings).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Abort update process.. + /// + internal static string AboutButtonCancelTT { + get { + return ResourceManager.GetString("AboutButtonCancelTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show details about OnTopReplica.. + /// + internal static string AboutButtonExpanderTT { + get { + return ResourceManager.GetString("AboutButtonExpanderTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset all OnTopReplica settings.. + /// + internal static string AboutButtonResetTT { + get { + return ResourceManager.GetString("AboutButtonResetTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update OnTopReplica now.. + /// + internal static string AboutButtonUpdateTT { + get { + return ResourceManager.GetString("AboutButtonUpdateTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to <html> + /// <head> + /// <style type="text/css"> + ///body { + /// font-family: Segoe UI, Arial, sans-serif; + /// font-size: 0.8em; + /// margin: 0; + ///padding: 0.75em; + ///} + ///h1 { + /// font-size: 1.4em; + /// font-weight: bold; + /// + /// margin: 1em 0 0.4em 0; + /// padding: 0; + ///} + ///p { + /// margin: 0.5em 0 0.5em 1em; + /// padding: 0; + ///} + ///a { + /// font-weight: bold; + /// color: blue; + ///} + ///a:hover { + /// color: red; + ///} + /// </style> + /// </head> + /// + /// <body> + /// + /// <h1>License</h1> + /// + /// <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal [rest of string was truncated]";. + /// + internal static string AboutDetails { + get { + return ResourceManager.GetString("AboutDetails", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica. + /// + internal static string ApplicationName { + get { + return ResourceManager.GetString("ApplicationName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset window completely?. + /// + internal static string AskReset { + get { + return ResourceManager.GetString("AskReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to &Reset + ///All settings will be lost.. + /// + internal static string AskResetButtonOk { + get { + return ResourceManager.GetString("AskResetButtonOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary.. + /// + internal static string AskResetContent { + get { + return ResourceManager.GetString("AskResetContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset. + /// + internal static string AskResetTitle { + get { + return ResourceManager.GetString("AskResetTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset settings?. + /// + internal static string AskSettingReset { + get { + return ResourceManager.GetString("AskSettingReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost).. + /// + internal static string AskSettingResetContent { + get { + return ResourceManager.GetString("AskSettingResetContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset settings. + /// + internal static string AskSettingResetTitle { + get { + return ResourceManager.GetString("AskSettingResetTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Download OnTopReplica {0}?. + /// + internal static string AskUpdate { + get { + return ResourceManager.GetString("AskUpdate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cancel update + ///OnTopReplica will prompt you the next time it is started.. + /// + internal static string AskUpdateButtonCancel { + get { + return ResourceManager.GetString("AskUpdateButtonCancel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Download + ///Install OnTopReplica {0}.. + /// + internal static string AskUpdateButtonOk { + get { + return ResourceManager.GetString("AskUpdateButtonOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The new version can be downloaded and installed from the official website.. + /// + internal static string AskUpdateContent { + get { + return ResourceManager.GetString("AskUpdateContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Installed version: {0} + ///Available version: {1}. + /// + internal static string AskUpdateExpanded { + get { + return ResourceManager.GetString("AskUpdateExpanded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update available. + /// + internal static string AskUpdateTitle { + get { + return ResourceManager.GetString("AskUpdateTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to &Cancel. + /// + internal static string ButtonCancel { + get { + return ResourceManager.GetString("ButtonCancel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Created by: Lorenz Cuno Klopfenstein.. + /// + internal static string CreatedBy { + get { + return ResourceManager.GetString("CreatedBy", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Draw regions using mouse.. + /// + internal static string DrawRegions { + get { + return ResourceManager.GetString("DrawRegions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Details. + /// + internal static string ErrorDetailButton { + get { + return ResourceManager.GetString("ErrorDetailButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Details on Windows Aero. + /// + internal static string ErrorDetailsAero { + get { + return ResourceManager.GetString("ErrorDetailsAero", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Windows Aero is only available on Windows Vista Home Premium or higher.. + /// + internal static string ErrorDetailsAeroInfo { + get { + return ResourceManager.GetString("ErrorDetailsAeroInfo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Desktop Composition' is not enabled.. + /// + internal static string ErrorDwmOff { + get { + return ResourceManager.GetString("ErrorDwmOff", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + /// + ///To do so, right-click on the desktop and click on Personalize.. + /// + internal static string ErrorDwmOffContent { + get { + return ResourceManager.GetString("ErrorDwmOffContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error details. + /// + internal static string ErrorGenericInfoButton { + get { + return ResourceManager.GetString("ErrorGenericInfoButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error: . + /// + internal static string ErrorGenericInfoText { + get { + return ResourceManager.GetString("ErrorGenericInfoText", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to It appears that the selected window has been closed or is not valid anymore.. + /// + internal static string ErrorGenericThumbnailHandleError { + get { + return ResourceManager.GetString("ErrorGenericThumbnailHandleError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error. + /// + internal static string ErrorGenericTitle { + get { + return ResourceManager.GetString("ErrorGenericTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Desktop Composition' is not supported on your Operating System. + ///You must run this application on Windows Vista Home Premium or better.. + /// + internal static string ErrorNoDwm { + get { + return ResourceManager.GetString("ErrorNoDwm", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Desktop Composition unsupported. + /// + internal static string ErrorNoDwmTitle { + get { + return ResourceManager.GetString("ErrorNoDwmTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No thumbnail loaded.. + /// + internal static string ErrorNoThumbnail { + get { + return ResourceManager.GetString("ErrorNoThumbnail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to create thumbnail.. + /// + internal static string ErrorUnableToCreateThumbnail { + get { + return ResourceManager.GetString("ErrorUnableToCreateThumbnail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to fit window.. + /// + internal static string ErrorUnableToFit { + get { + return ResourceManager.GetString("ErrorUnableToFit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to check for updates.. + /// + internal static string ErrorUpdate { + get { + return ResourceManager.GetString("ErrorUpdate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>).. + /// + internal static string ErrorUpdateContent { + get { + return ResourceManager.GetString("ErrorUpdateContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down.. + /// + internal static string ErrorUpdateContentGeneric { + get { + return ResourceManager.GetString("ErrorUpdateContentGeneric", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Mode. + /// + internal static string FullscreenMode { + get { + return ResourceManager.GetString("FullscreenMode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Always on top. + /// + internal static string FullscreenModeAlwaysOnTop { + get { + return ResourceManager.GetString("FullscreenModeAlwaysOnTop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Forces OnTopReplica to stay always on top.. + /// + internal static string FullscreenModeAlwaysOnTopTT { + get { + return ResourceManager.GetString("FullscreenModeAlwaysOnTopTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click through. + /// + internal static string FullscreenModeClickThrough { + get { + return ResourceManager.GetString("FullscreenModeClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.. + /// + internal static string FullscreenModeClickThroughTT { + get { + return ResourceManager.GetString("FullscreenModeClickThroughTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Standard. + /// + internal static string FullscreenModeNormal { + get { + return ResourceManager.GetString("FullscreenModeNormal", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Behaves like an ordinary window. You can bring other windows above OnTopReplica.. + /// + internal static string FullscreenModeNormalTT { + get { + return ResourceManager.GetString("FullscreenModeNormalTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica fullscreen. + /// + internal static string FullscreenTitle { + get { + return ResourceManager.GetString("FullscreenTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disable. + /// + internal static string GroupSwitchModeDisableButton { + get { + return ResourceManager.GetString("GroupSwitchModeDisableButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Group mode. + /// + internal static string GroupSwitchModeEnableButton { + get { + return ResourceManager.GetString("GroupSwitchModeEnableButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select multiple windows to enable.. + /// + internal static string GroupSwitchModeStatusDisabled { + get { + return ResourceManager.GetString("GroupSwitchModeStatusDisabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group switch mode is enabled.. + /// + internal static string GroupSwitchModeStatusEnabled { + get { + return ResourceManager.GetString("GroupSwitchModeStatusEnabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group switch mode:. + /// + internal static string GroupSwitchModeTitle { + get { + return ResourceManager.GetString("GroupSwitchModeTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Windows. + /// + internal static string GroupSwitchModeWindows { + get { + return ResourceManager.GetString("GroupSwitchModeWindows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Homepage: www.codeplex.com/ontopreplica.. + /// + internal static string Homepage { + get { + return ResourceManager.GetString("Homepage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Do you want to enable "click forwarding"?. + /// + internal static string InfoClickForwarding { + get { + return ResourceManager.GetString("InfoClickForwarding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + /// + ///To exit this mode, push ESC.. + /// + internal static string InfoClickForwardingContent { + get { + return ResourceManager.GetString("InfoClickForwardingContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click forwarding. + /// + internal static string InfoClickForwardingTitle { + get { + return ResourceManager.GetString("InfoClickForwardingTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click-Through mode?. + /// + internal static string InfoClickThrough { + get { + return ResourceManager.GetString("InfoClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent.. + /// + internal static string InfoClickThroughDetails { + get { + return ResourceManager.GetString("InfoClickThroughDetails", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + /// + ///To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon).. + /// + internal static string InfoClickThroughInformation { + get { + return ResourceManager.GetString("InfoClickThroughInformation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No, thank you. + ///You can enable click-through later. + /// + internal static string InfoClickThroughNo { + get { + return ResourceManager.GetString("InfoClickThroughNo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use Click-Through. + /// + internal static string InfoClickThroughOk { + get { + return ResourceManager.GetString("InfoClickThroughOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click-Through mode. + /// + internal static string InfoClickThroughTitle { + get { + return ResourceManager.GetString("InfoClickThroughTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica has been updated.. + /// + internal static string InfoUpdated { + get { + return ResourceManager.GetString("InfoUpdated", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to In order to use the updated version of OnTopReplica you'll have to restart the application.. + /// + internal static string InfoUpdatedContent { + get { + return ResourceManager.GetString("InfoUpdatedContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update successful. + /// + internal static string InfoUpdatedTitle { + get { + return ResourceManager.GetString("InfoUpdatedTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica is up to date.. + /// + internal static string InfoUpToDate { + get { + return ResourceManager.GetString("InfoUpToDate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No update available. + /// + internal static string InfoUpToDateTitle { + get { + return ResourceManager.GetString("InfoUpToDateTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Language. + /// + internal static string Language { + get { + return ResourceManager.GetString("Language", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to About.... + /// + internal static string MenuAbout { + get { + return ResourceManager.GetString("MenuAbout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hides the main window and displays the "about" box.. + /// + internal static string MenuAboutTT { + get { + return ResourceManager.GetString("MenuAboutTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Advanced. + /// + internal static string MenuAdvanced { + get { + return ResourceManager.GetString("MenuAdvanced", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chrome. + /// + internal static string MenuChrome { + get { + return ResourceManager.GetString("MenuChrome", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles the display of the window chrome.. + /// + internal static string MenuChromeTT { + get { + return ResourceManager.GetString("MenuChromeTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click forwarding. + /// + internal static string MenuClickForwarding { + get { + return ResourceManager.GetString("MenuClickForwarding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable "click forwarding" to the cloned window.. + /// + internal static string MenuClickForwardingTT { + get { + return ResourceManager.GetString("MenuClickForwardingTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click-Through. + /// + internal static string MenuClickThrough { + get { + return ResourceManager.GetString("MenuClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.. + /// + internal static string MenuClickThroughTT { + get { + return ResourceManager.GetString("MenuClickThroughTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Close. + /// + internal static string MenuClose { + get { + return ResourceManager.GetString("MenuClose", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Closes OnTopReplica.. + /// + internal static string MenuCloseTT { + get { + return ResourceManager.GetString("MenuCloseTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 2:1 Double. + /// + internal static string MenuFitDouble { + get { + return ResourceManager.GetString("MenuFitDouble", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fullscreen. + /// + internal static string MenuFitFullscreen { + get { + return ResourceManager.GetString("MenuFitFullscreen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:2 Half. + /// + internal static string MenuFitHalf { + get { + return ResourceManager.GetString("MenuFitHalf", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:1 Fit to window. + /// + internal static string MenuFitOriginal { + get { + return ResourceManager.GetString("MenuFitOriginal", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:4 Quarter. + /// + internal static string MenuFitQuarter { + get { + return ResourceManager.GetString("MenuFitQuarter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Glass. + /// + internal static string MenuGlass { + get { + return ResourceManager.GetString("MenuGlass", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles "glass mode" on and off.. + /// + internal static string MenuGlassTT { + get { + return ResourceManager.GetString("MenuGlassTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group Switch mode. + /// + internal static string MenuGroupSwitch { + get { + return ResourceManager.GetString("MenuGroupSwitch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground.. + /// + internal static string MenuGroupSwitchTT { + get { + return ResourceManager.GetString("MenuGroupSwitchTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 100% (opaque). + /// + internal static string MenuOp100 { + get { + return ResourceManager.GetString("MenuOp100", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to be completely opaque.. + /// + internal static string MenuOp100TT { + get { + return ResourceManager.GetString("MenuOp100TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 25%. + /// + internal static string MenuOp25 { + get { + return ResourceManager.GetString("MenuOp25", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 25% opacity.. + /// + internal static string MenuOp25TT { + get { + return ResourceManager.GetString("MenuOp25TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 50%. + /// + internal static string MenuOp50 { + get { + return ResourceManager.GetString("MenuOp50", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 50% opacity.. + /// + internal static string MenuOp50TT { + get { + return ResourceManager.GetString("MenuOp50TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 75%. + /// + internal static string MenuOp75 { + get { + return ResourceManager.GetString("MenuOp75", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 75% opacity.. + /// + internal static string MenuOp75TT { + get { + return ResourceManager.GetString("MenuOp75TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Opacity. + /// + internal static string MenuOpacity { + get { + return ResourceManager.GetString("MenuOpacity", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open. + /// + internal static string MenuOpen { + get { + return ResourceManager.GetString("MenuOpen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Displays OnTopReplica.. + /// + internal static string MenuOpenTT { + get { + return ResourceManager.GetString("MenuOpenTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bottom Left. + /// + internal static string MenuPosBottomLeft { + get { + return ResourceManager.GetString("MenuPosBottomLeft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bottom Right. + /// + internal static string MenuPosBottomRight { + get { + return ResourceManager.GetString("MenuPosBottomRight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Position. + /// + internal static string MenuPosition { + get { + return ResourceManager.GetString("MenuPosition", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatically position OnTopReplica on the current screen.. + /// + internal static string MenuPositionTT { + get { + return ResourceManager.GetString("MenuPositionTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Top Left. + /// + internal static string MenuPosTopLeft { + get { + return ResourceManager.GetString("MenuPosTopLeft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Top Right. + /// + internal static string MenuPosTopRight { + get { + return ResourceManager.GetString("MenuPosTopRight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Quit fullscreen mode. + /// + internal static string MenuQuitFullscreen { + get { + return ResourceManager.GetString("MenuQuitFullscreen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Recall last position and size. + /// + internal static string MenuRecall { + get { + return ResourceManager.GetString("MenuRecall", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles whether OnTopReplica should store its last position and size and use them when it is restarted.. + /// + internal static string MenuRecallTT { + get { + return ResourceManager.GetString("MenuRecallTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimize. + /// + internal static string MenuReduce { + get { + return ResourceManager.GetString("MenuReduce", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimizes OnTopReplica to the task bar (or the tray).. + /// + internal static string MenuReduceTT { + get { + return ResourceManager.GetString("MenuReduceTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select region.... + /// + internal static string MenuRegion { + get { + return ResourceManager.GetString("MenuRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail.. + /// + internal static string MenuRegionTT { + get { + return ResourceManager.GetString("MenuRegionTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset window. + /// + internal static string MenuReset { + get { + return ResourceManager.GetString("MenuReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resets OnTopReplica settings and its main window.. + /// + internal static string MenuResetTT { + get { + return ResourceManager.GetString("MenuResetTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resize. + /// + internal static string MenuResize { + get { + return ResourceManager.GetString("MenuResize", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switch to window. + /// + internal static string MenuSwitch { + get { + return ResourceManager.GetString("MenuSwitch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switches to the source window and hides OnTopReplica.. + /// + internal static string MenuSwitchTT { + get { + return ResourceManager.GetString("MenuSwitchTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select window. + /// + internal static string MenuWindows { + get { + return ResourceManager.GetString("MenuWindows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to - none -. + /// + internal static string MenuWindowsNone { + get { + return ResourceManager.GetString("MenuWindowsNone", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Displays a list of window you can select as thumbnail source.. + /// + internal static string MenuWindowsTT { + get { + return ResourceManager.GetString("MenuWindowsTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to - whole -. + /// + internal static string MenuWindowsWholeRegion { + get { + return ResourceManager.GetString("MenuWindowsWholeRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Current region:. + /// + internal static string RegionsCurrentRegion { + get { + return ResourceManager.GetString("RegionsCurrentRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete. + /// + internal static string RegionsDeleteButton { + get { + return ResourceManager.GetString("RegionsDeleteButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Done. + /// + internal static string RegionsDoneButton { + get { + return ResourceManager.GetString("RegionsDoneButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Height. + /// + internal static string RegionsHeight { + get { + return ResourceManager.GetString("RegionsHeight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset. + /// + internal static string RegionsResetButton { + get { + return ResourceManager.GetString("RegionsResetButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Save. + /// + internal static string RegionsSaveButton { + get { + return ResourceManager.GetString("RegionsSaveButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stored regions. + /// + internal static string RegionsStoredRegions { + get { + return ResourceManager.GetString("RegionsStoredRegions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Regions:. + /// + internal static string RegionsTitle { + get { + return ResourceManager.GetString("RegionsTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Width. + /// + internal static string RegionsWidth { + get { + return ResourceManager.GetString("RegionsWidth", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Right-click here to start.... + /// + internal static string RightClick { + get { + return ResourceManager.GetString("RightClick", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A lightweight, real-time, always on top thumbnail of a window of your choice.. + /// + internal static string Slogan { + get { + return ResourceManager.GetString("Slogan", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica automatically checks for updates. No information is logged at any point.. + /// + internal static string UpdateDisclaimer { + get { + return ResourceManager.GetString("UpdateDisclaimer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update now!. + /// + internal static string UpdateNow { + get { + return ResourceManager.GetString("UpdateNow", resourceCulture); + } + } + } +} diff --git a/OnTopReplica/Strings.cs.resx b/OnTopReplica/Strings.cs.resx new file mode 100644 index 0000000..0d381ff --- /dev/null +++ b/OnTopReplica/Strings.cs.resx @@ -0,0 +1,456 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Přerušit aktualizaci. + + + Zobrazit podrobnosti o aplikaci OnTopReplica. + + + Resetovat nastavení OnTopReplica. + + + Aktualizovat OnTopReplica. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licence</h1> + + <p><b>OnTopReplica</b> je šířena pod <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a> licencí.</p> + <p>Původní zdrojový kód je možné nalézt na <a href="http://www.codeplex.com/ontopreplica">domovské stránce projektu na serveru CodePlex</a>.</p> + + <h1>Autoři a zásluhy</h1> + + <p>Původní inspirací pro OnTopReplica byla aplikace <a href="http://insentient.net">Switcher</a> a další aplikace založeny na DWM.</p> + + <p>Všechny Vista ovládací prvky jsou součástí <a href="http://www.codeplex.com/windowsformsaero">knihovny WindowsFormsAero</a> pro .NET.</p> + + <p>Některé ukázkové kódy byly převzaty z <a href="http://www.ookii.org">Ookii</a> ze serveru Channel9.</p> + + <p>Třída NativeToolstripRenderer byla převzata z <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Některé ikony pocházejí z <a href="http://www.vistaico.com">VistaICO.com</a> a balíčku ikon Xiao.</p> + + </body> +</html> + + + OnTopReplica + + + Resetovat nastavení okna? + + + &Resetovat +Všechna nastavení budou ztracena. + + + Operace "Resetovat okno" je vhodná k inicializaci všech nastavení pokud jste například ztratili kontrolu nad oknem nebo jej přesunuli mimo viditelnou plochu obrazovky. + + + Resetovat + + + Resetovat nastavení? + + + Operace "Resetovat nastavení" smaže veškerá uživatelská nastavení aplikace OnTopReplica a vrátí nastavení do stejného stavu jako po instalaci (všechny uložené informace, jako například uložené výřezy oken, budou ztraceny). + + + Resetovat nastavení + + + Instalovat OnTopReplica {0}? + {0} update version + + + Zrušit aktualizaci +Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. + + + Pokračovat +Instalovat OnTopReplica {0}. + {0} update version + + + Nová verze bude automaticky stažena a nainstalována. + + + Nainstalovaná verze: {0} +Dostupná verze: {1} + {0} installed version number +{1} online available version number + + + Nové aktualizace jsou k dispozici + + + &Storno + + + Autor: Lorenz Cuno Klopfenstein. + + + Označte výřez pomocí myši. + + + Podrobnosti + + + Podrobnosti k Windows Aero + + + Windows Aero je k dispozici pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce 'Desktop Composition' není povolena. + + + Pro pokračování je nutné povolit funkci "Desktop Composition" výběrem tématu 'Windows Aero' v nastavení vzhledu Windows. + +Uvedené lze provést například kliknutním pravým tlačítkem myši na plochu a zvolením akce "Přizpůsobit". + + + Podrobnosti k chybě + + + Chyba: + + + Zvolené okno bylo zavřeno nebo již není platné z jiných důvodů. + + + Chyba + + + Funkce 'Desktop Composition' není ve vašem systému podporována. +Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce Desktop Composition není podporována + + + Náhled nebyl nahrán. + + + Nelze vytvořit náhled. + + + Nelze vložit okno. + + + Kontrola aktualizací se nezdařila. + + + Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte <a href="http://ontopreplica.codeplex.com">domácí stránku aplikace OnTopReplica</a>). + + + Režim + + + Vždy na vrchu + + + Nastaví aplikaci OnTopReplica, aby zůstávala vždy na vrchu. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Standardní + + + Aplikace OnTopReplica se bude chovat jako běžné okno. Jiná okna mohou překrýt okno aplikace. + + + Aplikace OnTopReplica přes celou obrazovku + + + Domácí stránka: www.codeplex.com/ontopreplica. + + + Přejete si povolit "přeposílání kliknutí"? + + + V tomto režimu aplikace OnTopReplica přeposílá kliknutí levého tlačítka myši do zdrojového okna (je tedy možné provádět základní ovládání zdrojového okna bez nutnosti jej aktivovat). + +Ukončit režim "přeposíání kliknutí" je možné opětovným vyvolání položky v menu. + + + Přeposílání kliknutí + + + Povolit "Proklikávání" v celoobrazovkovém režimu? + + + "Proklikávání" funguje pouze pokud je povoleno v menu a okno má nastavenou průhlednost. + + + V tomto režimu se bude okno roztažené přes celou obrazovku chovat jako poloprůhledná vrstva, přes kterou bude možné "proklikávat" na podložená okna. + +K návratu do standardního režimu je možné přejít kdykoli dvojklikem na ikonu v oznamovací oblasti (traye). + + + Ne. +Režim "Proklikávání" je možné zvolit později v menu + + + Používat "Proklikávání" + + + Režim "Proklikávání" + + + Aplikace OnTopReplica byla aktualizována. + + + Pro použití aktualizací je potřeba aplikaci OnTopReplica restartovat. + + + Aktualizace proběhla úspěšně + + + OnTopReplica je aktuální. + + + Žádná aktualizace není k dispozici. + + + Jazyk + + + O aplikaci... + + + Skryje hlavní okno a zobrazí informace "O aplikaci". + + + Okraj + + + Přepínač, který definuje, zda má aplikace OnTopReplica viditelný okraj okna. + + + Přeposílání kliknutí + + + Zapne "přeposílání kliknutí" do zdrojového okna. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Zavřít + + + Ukončí aplikaci OnTopReplica. + + + 2:1 Dvojnásobná + + + Celá obrazovka + + + 1:2 Poloviční + + + 1:1 Jako zdroj + + + 1:4 Čtvrtinová + + + Glass efekt + + + Přepíná "glass efekt" okna. + + + 100% (neprůhledné) + + + Nastaví aplikaci OnTopReplica jako neprůhlednou. + + + 25% + + + Nastaví průhlednost na 25%. + + + 50% + + + Nastaví průhlednost na 50%. + + + 75% + + + Nastaví průhlednost na 75%. + + + Průhlednost + + + Otevřít + + + Zobrazí aplikaci OnTopReplica. + + + Dolní levý roh + + + Dolní pravý roh + + + Umístění + + + Automatická pozice aplikace OnTopReplica vzhledem k obrazovce. + + + Horní levý roh + + + Horní pravý rok + + + Opustit celoobrazovkový režim + + + Ukládat pozici a velikost okna + + + Přepínač, který definuje, zda si má aplikace OnTopReplica ukládat poslední pozici a velikost okna a obnovovat tyto údaje po restartování aplikace. + + + Minimalizovat do traye + + + Minimalizuje aplikaci OnTopReplica jako ikonu v systémové oblasti. + + + Vybrat výřez... + + + Přepne do režimu "výřezu", který umožní zvolit pouze část okna jako náhled. + + + Resetovat nastavení okna + + + Resetuje nastavení a pozici okna aplikace OnTopReplica. + + + Velikost + + + Přepnout do okna + + + Přepne do zdrojového okna a skryje aplikaci OnTopReplica. + + + Vybrat okno + + + - žádné - + + + Zobrazí seznam oken, které je možné použít jako zdroj. + + + - celé okno - + + + Aktuální výřez: + + + Smazat + + + Hotovo + + + Výška + + + Reset + + + Uložit + + + Uložené výřezy + + + Výřezy: + + + Šířka + + + Začněte klepnutím sem pravým tlačítkem myši... + + + Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému. + + + Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. Během této operace nedochází k žádnému přenosu či ukládání uživatelských informací. + + + Zkontroluj aktualizace + + \ No newline at end of file diff --git a/OnTopReplica/Strings.da.resx b/OnTopReplica/Strings.da.resx new file mode 100644 index 0000000..41d3c80 --- /dev/null +++ b/OnTopReplica/Strings.da.resx @@ -0,0 +1,451 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Annuller updateringen + + + Vis detaljer om OnTopReplica. + + + Nulstil alle OnTopReplica indstillinger. + + + Opdater OnTopReplica nu. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licens</h1> + + <p><b>OnTopReplica</b> er licenseret under <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>Dem originale kildekode kan findes på <a href="http://www.codeplex.com/ontopreplica">projektets hjemmeside på CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica er inspireret af <a href="http://insentient.net">Switcher</a> og andre DWM baserede applikationer.</p> + + <p>Alle Vista funktioner er del af <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero biblioteket</a> for .NET.</p> + + <p>Lidt eksempel kode er taget fra <a href="http://www.ookii.org">Ookii</a> på Channel9.</p> + + <p>NativeToolstripRenderer class er taget fra <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Lidt ikoner fra <a href="http://www.vistaico.com">VistaICO.com</a> og Xiao ikon sættet.</p> + + </body> +</html> + + + OnTopReplica + + + Nulstil vinduet helt? + + + &NulstilAlle ændringer vil blive tabt. + + + Kan bruges til at nulstille alle indstillinger hvis du mister kontrollen over vinduet eller hvis det er flyttet uden for skærmen. + + + Nulstil + + + Nulstil indstillinger? + + + Dette nulstiller OnTopReplica til standard indstillingerne (alle gemte informationer, som gemte områder, vil blive slettet). + + + Nulstil indstillingerne + + + Installer OnTopReplica {0}? + {0} update version + + + Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes. + + + FortsætInstaller OnTopReplica + {0} update version + + + Den nye version vil automatiskt blive downloaded og installeret. + + + Installeret version: {0} +Tilgængelig version: {1} + {0} installed version number +{1} online available version number + + + Opdatering tilgængelig. + + + &Annuller + + + Lavet af: Lorenz Cuno Klopfenstein. + + + Tegn områder med musen + + + Detaljer + + + Detaljer om Windows Aero + + + Windows Aero er kun tilgængelig op Windows Vista Home Premium eller højere. + + + Windows Aero effekter er ikke slået til + + + Du skal aktiverere "Windows Aero" som tema i Windows.For at gøre dette skal du højreklikke på skrivebordet og vælge personlige indstillinger. + + + Fejl detaljer. + + + Fejl: + + + Vinduet du har valgt er lukket eller er ikke gyldigt mere. + + + Fejl + + + Windows Aero effekter er ikke understøttet af dit styresystem. +Dette program kræver Windows Vista Home Premium eller bedre. + + + Skrivebords komposition ikke understøttet + + + Ingen miniature indlæst. + + + Kan ikke lave miniature. + + + Kunne ikke passes til vinduet. + + + Kan ikke søge efter opdateringer. + + + OnTopReplica blev ikke installeret ved hjælp af 'ClickOnce'. Du bliver nødt til at opdatere manuelt (besøg <a href="http://ontopreplica.codeplex.com">OnTopReplica's hjemmeside</a>). + + + Tilstande + + + Altid øverst + + + Får OnTopReplica til altid at være øverst. + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Standard + + + Opfører sig som et almindeligt vindue. Du kan trække andre viduer ind over OnTopReplica. + + + OnTopReplica fuld skærm + + + Hjemmeside: www.codeplex.com/ontopreplica. + + + Ønsker du at aktivere "click forwarding"? + + + Hvis denne funktion er aktiveret vil OnTopReplica vidersende alle venstr museklik til det klonede vindue (dette gør dig i stand til at udføre basis musefunktioner i det klonede vindue uden at skulle aktivere det). + +For at afslutte denne funktion skal du højreklikke på OnTopReplica og deaktivere "Click forwarding" i menuen. + + + Click forwarding + + + Ønskes gennem klik i fuldskærms tilstand? + + + Gennem klik virker kun hvis det er blevet aktiveret i gendan undermenuen og hvis vinduet er delvist gennemsigtigt. + + + I denne tilstand vil fuld skærm vinduet opføre sig som et delvist gennemsigtigt lag, hvilket gør dig i stand til at klikke på de underliggende vinduer. + +For at komme tilbage til normal tilstand, dobbeltklik på OnTopReplica ikonet i meddelelsesområdet på proceslinjen. + + + Nej. +Du kan aktivere gennem klik senere. + + + Brug gennem klik. + + + Gennem klik tilstand + + + OnTopReplica er blevet opdateret. + + + For at benytte den opdaterede udgave af OnTopReplica skal du genstarte programmet. + + + Opdatering fuldført + + + OnTopReplice er opdateret. + + + Ingen opdateringer er tilgængelige + + + Sprog + + + Om... + + + Skjuler hoved vinduet og viser om boxen. + + + Krom + + + Vælger Chrome kanten rundt om vinduet til/fra + + + Click forwarding + + + Aktiver "click forwarding" til det klonede vindue + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Luk + + + Lukker OnTopReplica. + + + 2:1 dobbelt + + + Fuld skærm + + + 1:2 halv + + + 1:1 Pas til vinduet + + + 1:4 kvart + + + Glas + + + Vælger "glas tilstand" til/fra + + + 100% (uigennemsigtig) + + + Sæt OnTopReplica til at være helt uigennemsigtig. + + + 25% + + + Sætter OnTopReplica til 25% uigennemsigtighed. + + + 50% + + + Sætter OnTopReplica til 50% uigennemsigtighed. + + + 75% + + + Sætter OnTopReplica til 75% uigennemsigtighed. + + + Uigennemsigtighed + + + åben + + + Viser OnTopReplica. + + + Nederst venstre + + + Nederst højre + + + Position + + + Sæt OnTopReplica automatiskt på den aktuelle skærm. + + + Øverst venstre + + + Øverst højre + + + Afslut fuldskærm tilstand. + + + Gendan sidste position og størrelse + + + Vælger om OnTopReplica skal gemme sidst brugte størrelse og position, til næste gang det starter op. + + + Minimer til systembakken. + + + Minimere OnTopReplica til systembakken. + + + Vælg område... + + + Skifter til "område tilstand", der tillader dig at vælge et begrænset område af kildens vindue som miniature. + + + Nulstil vinduet + + + Nulstiller OnTopReplica indstillingerne og hoved vinduet. + + + Genskab + + + Skift til vindue + + + Skifter til kilde vinduet og gemmer OnTopReplica. + + + Vælg vindue + + + - ingen - + + + Viser en liste af vinduer du kan bruge som miniature kilde. + + + - hele - + + + Aktuelt område: + + + Slet + + + Færdig + + + Højde + + + Nulstil + + + Gem + + + Gemte områder + + + Områder: + + + Bredde + + + Højreklik her for at starte... + + + En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. + + + OnTopReplica checker automatiskt for opdateringer. Der bliver ikke registreret nogen data på noget tidspunkt. + + + Opdater nu! + + \ No newline at end of file diff --git a/OnTopReplica/Strings.de.resx b/OnTopReplica/Strings.de.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.de.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.es.resx b/OnTopReplica/Strings.es.resx new file mode 100644 index 0000000..03bcda0 --- /dev/null +++ b/OnTopReplica/Strings.es.resx @@ -0,0 +1,90 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancelar actualización + + + Mostrar detalles acerca de OnTopReplica + + + Reiniciar la configuración de OnTopReplica + + + Actualizar OnTopReplica ahora + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licencia</h1> + + <p><b>OnTopReplica</b> cuenta con licencia <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>El código fuente original se encuentra en <a href="http://www.codeplex.com/ontopreplica">la página inicial del proyecto en CodePlex</a>.</p> + + <h1>Créditos</h1> + + <p><a href="http://insentient.net">Switcher</a> y otros programas basados en DWM inspiraron OnTopReplica.</p> + + <p>All Vista controls are part of the <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero library</a> for .NET.</p> + + <p>Some example code taken from <a href="http://www.ookii.org">Ookii</a> on Channel9.</p> + + <p>NativeToolstripRenderer class taken from <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> + + </body> +</html> + + + OnTopReplica + + + ¿Reiniciar la ventana? + + + &Reiniciar +Todas las configuraciones se perderán. + + \ No newline at end of file diff --git a/OnTopReplica/Strings.fi.resx b/OnTopReplica/Strings.fi.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.fi.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx new file mode 100644 index 0000000..f8090e3 --- /dev/null +++ b/OnTopReplica/Strings.it.resx @@ -0,0 +1,487 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Annulla il processo di aggiornamento. + + + Mostra dettagli su OnTopReplica. + + + Resetta tutte le impostazioni di OnTopReplica. + + + Aggiorna OnTopReplica ora. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licenza d'utilizzo</h1> + + <p><b>OnTopReplica</b> è rilasciato sotto la licenza <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>Il codice sorgente originale del programma è disponibile sulla <a href="http://www.codeplex.com/ontopreplica">homepage del progetto su CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica è stato inspirato da <a href="http://insentient.net">Switcher</a> ed altre applicazioni basate su DWM.</p> + + <p>I controlli utente specifici per Windows Vista sono parte della libreria <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero</a> per .NET.</p> + + <p>Qualche riga di codice d'esempio presa da <a href="http://www.ookii.org">Ookii</a> su Channel9.</p> + + <p>La classe NativeToolstripRenderer è stata presa da <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Alcune delle icone sono state prese da <a href="http://www.vistaico.com">VistaICO.com</a> e dal set di icone Xiao.</p> + + </body> +</html> + + + OnTopReplica + + + Ripristinare completamente la finestra? + + + &Ripristina +Tutte le impostazioni saranno perse. + + + Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. + + + Ripristino + + + Resettare impostazioni? + + + Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). + + + Reimposta + + + Scaricare OnTopReplica {0}? + {0} update version + + + Annulla aggiornamento +OnTopReplica si aggiornerà in un secondo momento. + + + Continua +Scarica OnTopReplica {0}. + {0} update version + + + Sarà possibile scaricare la nuova versione ed installarla. + + + Versione installata: {0} +Versione disponibile: {1} + {0} installed version number +{1} online available version number + + + Aggiornamento disponibile + + + &Annulla + + + Creato da: Lorenz Cuno Klopfenstein. + + + Disegna una regione usando il mouse. + + + Dettagli + + + Dettagli su Windows Aero + + + Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. + + + Il servizio di Desktop Composition Aero non è attivo. + + + È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows. + +Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. + + + Dettagli errore + + + Errore: + + + Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. + + + Errore + + + La "composzione del desktop" non è supportata dal tuo sistema operativo. +È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. + + + Desktop Composition (DWM) non supportato + + + Nessuna finestra clonata al momento. + + + Impossibile clonare la finestra. + + + Impossibile adattare la finestra. + + + Impossibile controllare gli aggiornamenti. + + + Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + Non è stato possibile controllare se esiste una versione più aggiornata di OnTopReplica. Verificare di essere connessi ad Internet. Se la connessione è attiva, è possibile che il sito ufficiale sia temporaneamente offline. + + + Modalità + + + Sempre in cima + + + OnTopReplica sarà sempre la finestra sopra a tutte le altre. + + + Click through + + + OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. + + + Normale + + + Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. + + + OnTopReplica a pieno schermo + + + Disattiva + + + Abilita modalità + + + Seleziona più finestre per attivare. + + + Modalità Gruppo attivata. + + + Modalità Gruppo di finestre: + + + Finestre + Column Header of list, simply refers to available windows to be cloned + + + Sito internet: www.codeplex.com/ontopreplica. + + + Attivare la modalità di inoltro dei clic? + + + In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano). + +Per uscire da questa modalità, usa il tasto ESC. + + + Inoltro dei clic + + + Attivare la modalità Click-Through? + + + La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. + + + In questa modalità la finestra clonata si comporterà come una maschera semitrasparente che permette di cliccare sulle finestre dietro di essa. + +Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). + + + No, grazie. +Puoi abilitare il Click-Through in futuro + + + Abilita Click-Through + + + Modalità Click-Through + + + OnTopReplica è stato aggiornato. + + + Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. + + + Aggiornamento completato + + + La versione più aggiornata è già installata. + + + Nessun aggiornamento disponibile + + + Lingua + + + A proposito di... + + + Nasconde la finestra principale e mostra una schermata di informazioni. + + + Avanzate + + + Bordo + + + Abilita o disabilita il bordo della finestra. + + + Inoltro dei clic + + + Attiva la modalità di "inoltro dei clic" alla finestra clonata. + + + Abilita Click-Through + + + OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa. + + + Chiudi + + + Termina OnTopReplica. + + + 2:1 Doppio + + + Tutto schermo + + + 1:2 Metà + + + 1:1 Clone esatto + + + 1:4 Quarto + + + Effetto vetro + + + Abilita o disabilita l'effetto vetro. + + + Modalità Gruppo di finestre + + + OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo. + + + 100% (opaco) + + + Imposta OnTopReplica come finestra completamente opaca. + + + 25% + + + Imposta l'opacità di OnTopReplica al 25%. + + + 50% + + + Imposta l'opacità di OnTopReplica al 50%. + + + 75% + + + Imposta l'opacità di OnTopReplica al 75%. + + + Opacità + + + Apri + + + Attiva la finestra di OnTopReplica. + + + In basso a sinistra + + + In basso a destra + + + Posizione + + + Posiziona automaticamente OnTopReplica sul monitor corrente. + + + In alto a sinistra + + + In alto a destra + + + Esci da tutto schermo + + + Ripristina posizione e grandezza + + + Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. + + + Minimizza + + + Riduce OnTopReplica ad un'icona nella barra delle applicazioni. + + + Seleziona regione... + + + Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. + + + Reimposta finestra + + + Reimposta OnTopReplica e la sua finestra principale. + + + Ridimensionamento + + + Vai alla finestra originale + + + Mostra la finestra originale e nasconde OnTopReplica. + + + Seleziona finestra + + + - nessuna - + + + Mostra una lista di finestre che è possibile clonare. + + + - intera - + + + Regione corrente: + + + Cancella + + + Chiudi + + + Altezz. + + + Reset + + + Salva + + + Regioni memorizzate + + + Regioni: + + + Largh. + + + Clic destro qui per iniziare... + + + Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta. + + + OnTopReplica controlla automaticamente se sono presenti aggiornamenti. + + + Aggiorna! + + \ No newline at end of file diff --git a/OnTopReplica/Strings.no.resx b/OnTopReplica/Strings.no.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.no.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.pt.resx b/OnTopReplica/Strings.pt.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.pt.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx new file mode 100644 index 0000000..670c5a7 --- /dev/null +++ b/OnTopReplica/Strings.resx @@ -0,0 +1,487 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>License</h1> + + <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>The original source code can be found on the <a href="http://www.codeplex.com/ontopreplica">project's homepage on CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica was inspired by <a href="http://insentient.net">Switcher</a> and other DWM based applications.</p> + + <p>All Vista controls are part of the <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero library</a> for .NET.</p> + + <p>Some example code taken from <a href="http://www.ookii.org">Ookii</a> on Channel9.</p> + + <p>NativeToolstripRenderer class taken from <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> + + </body> +</html> + + + OnTopReplica + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + Download OnTopReplica {0}? + {0} update version + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + {0} update version + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + {0} installed version number +{1} online available version number + + + Update available + + + &Cancel + + + Created by: Lorenz Cuno Klopfenstein. + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail. + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Chrome + + + Toggles the display of the window chrome. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Glass + + + Toggles "glass mode" on and off. + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Position + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + OnTopReplica automatically checks for updates. No information is logged at any point. + + + Update now! + + \ No newline at end of file diff --git a/OnTopReplica/Strings.ru.resx b/OnTopReplica/Strings.ru.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.ru.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs new file mode 100644 index 0000000..ab2fa23 --- /dev/null +++ b/OnTopReplica/ThumbnailPanel.cs @@ -0,0 +1,446 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using VistaControls.Dwm; +using VistaControls.ThemeText; +using System.Drawing; +using System.Windows.Forms.VisualStyles; +using OnTopReplica.Native; + +namespace OnTopReplica { + + class ThumbnailPanel : Panel { + + //DWM Thumbnail stuff + Thumbnail _thumbnail = null; + Rectangle _regionCurrent; + + //Labels + ThemedLabel _labelGlass; + + public ThumbnailPanel() { + InitFormComponents(); + } + + private void InitFormComponents() { + BackColor = Color.Black; + + //Themed Label + _labelGlass = new ThemedLabel { + Dock = DockStyle.Fill, + ForeColor = SystemColors.ControlText, + Location = Point.Empty, + Size = ClientSize, + Name = "labelGlass", + Text = Strings.RightClick, + TextAlign = HorizontalAlignment.Center, + TextAlignVertical = VerticalAlignment.Center + }; + this.Controls.Add(_labelGlass); + } + + #region Properties and settings + + /// + /// Gets or sets the region that is currently shown on the thumbnail. When set, also enabled region constrain. + /// + public Rectangle SelectedRegion { + get { + return _regionCurrent; + } + set { + _regionCurrent = value; + ConstrainToRegion = true; + } + } + + bool _regionEnabled = false; + + /// + /// Gets or sets whether the thumbnail is constrained to a region or not. + /// + public bool ConstrainToRegion { + get { + return _regionEnabled; + } + set { + _regionEnabled = value; + UpdateThubmnail(); + } + } + + bool _drawMouseRegions = false; + + /// + /// Gets or sets whether the control is is "region drawing" mode and reports them via events. + /// + public bool DrawMouseRegions { + get { + return _drawMouseRegions; + } + set { + //Set mode and reset region + _drawMouseRegions = value; + _drawingRegion = false; + + //Cursor change + Cursor = (value) ? Cursors.Cross : Cursors.Default; + + //Refresh gui + UpdateThubmnail(); + _labelGlass.Visible = !value; + this.Invalidate(); + } + } + + /// + /// Gets the target opacity of the thumbnail, depending on the control's state. + /// + protected byte ThumbnailOpacity { + get { + return (_drawMouseRegions) ? (byte)130 : (byte)255; + } + } + + /// + /// Gets or sets whether the control should report clicks made on the cloned thumbnail. + /// + public bool ReportThumbnailClicks { + get; + set; + } + + /// + /// Gets the thumbnail's original size. + /// + public Size ThumbnailOriginalSize { + get { + if (_thumbnail != null && !_thumbnail.IsInvalid) { + if (_regionEnabled) + return _regionCurrent.Size; + + return _thumbnail.SourceSize; + } + else + throw new Exception(Strings.ErrorNoThumbnail); + } + } + + #endregion + + #region GUI event handling + + protected override void OnResize(EventArgs eventargs) { + base.OnResize(eventargs); + UpdateThubmnail(); + } + + protected override void WndProc(ref Message m) { + base.WndProc(ref m); + + //Make transparent to hit-testing if clicks must not be registered + if (m.Msg == WM.NCHITTEST && m.Result.ToInt32() == HT.CLIENT && + !DrawMouseRegions && !ReportThumbnailClicks) { + + m.Result = new IntPtr(HT.TRANSPARENT); + } + } + + #endregion + + #region Thumbnail interface + + /// + /// Creates a new thumbnail of a certain window. + /// + /// Handle of the window to clone. + public void SetThumbnailHandle(WindowHandle handle) { + if (_thumbnail != null && !_thumbnail.IsInvalid) + _thumbnail.Close(); + + //Get form and register thumbnail on it + Form owner = this.TopLevelControl as Form; + if(owner == null) + throw new Exception("Internal error: ThumbnailPanel.TopLevelControl is not a Form."); + + _labelGlass.Visible = false; + + _thumbnail = DwmManager.Register(owner, handle.Handle); + ConstrainToRegion = false; //this also invokes a thumbnail update + } + + /// + /// Disposes current thumbnail and enters stand-by mode. + /// + public void UnsetThumbnail() { + if (_thumbnail != null && !_thumbnail.IsInvalid) + _thumbnail.Close(); + + _thumbnail = null; + _labelGlass.Visible = true; + } + + /// + /// Gets whether the control is currently displaying a thumbnail. + /// + public bool IsShowingThumbnail { + get { + return (_thumbnail != null && !_thumbnail.IsInvalid); + } + } + + int _padWidth = 0; + int _padHeight = 0; + Size _thumbnailSize; + + /// + /// Updates the thumbnail options and the right-click label. + /// + private void UpdateThubmnail() { + if (_thumbnail != null && !_thumbnail.IsInvalid){ + try { + Size sourceSize = ThumbnailOriginalSize; + _thumbnailSize = ComputeIdealSize(sourceSize, Size); + + _padWidth = (Size.Width - _thumbnailSize.Width) / 2; + _padHeight = (Size.Height - _thumbnailSize.Height) / 2; + + var target = new Rectangle(_padWidth, _padHeight, _thumbnailSize.Width, _thumbnailSize.Height); + Rectangle source = (_regionEnabled) ? _regionCurrent : new Rectangle(Point.Empty, _thumbnail.SourceSize); + + _thumbnail.Update(target, source, ThumbnailOpacity, true, true); + } + catch { + //Any error updating the thumbnail forces to unset (handle may not be valid anymore) + UnsetThumbnail(); + return; + } + } + } + + /// + /// Computes ideal thumbnail size given an original size and a target to fit. + /// + /// Size of the original thumbnail. + /// Size of the client area to fit. + private Size ComputeIdealSize(Size sourceSize, Size clientSize) { + double sourceRatio = (double)sourceSize.Width / (double)sourceSize.Height; + double clientRatio = (double)clientSize.Width / (double)clientSize.Height; + + Size ret; + if (sourceRatio >= clientRatio) { + ret = new Size(clientSize.Width, (int)((double)clientSize.Width / sourceRatio)); + } + else { + ret = new Size((int)((double)clientSize.Height * sourceRatio), clientSize.Height); + } + + return ret; + } + + #endregion + + #region Region drawing + + //Set if currently drawing a window (first click/drag was initiated) + bool _drawingRegion = false; + //Set if drawing was suspended because the mouse left the control + bool _drawingSuspended = false; + Point _regionStartPoint; + Point _regionLastPoint; + + public delegate void RegionDrawnHandler(object sender, Rectangle region); + + public event RegionDrawnHandler RegionDrawn; + + protected virtual void OnRegionDrawn(Rectangle region) { + //Fix region if necessary (bug report by Gunter, via comment) + if (region.Width < 1) region.Width = 1; + if (region.Height < 1) region.Height = 1; + + var evt = RegionDrawn; + if (evt != null) + evt(this, region); + } + + /// + /// Raises a RegionDrawn event, given a starting and an ending point of the drawn region. + /// + protected void RaiseRegionDrawn(Point start, Point end) { + if (_thumbnailSize.Width < 1 || _thumbnailSize.Height < 1) //causes DivBy0 + return; + + //Compute bounds + int left = Math.Min(start.X, end.X); + int right = Math.Max(start.X, end.X); + int top = Math.Min(start.Y, end.Y); + int bottom = Math.Max(start.Y, end.Y); + + //Clip to boundaries + left = Math.Max(0, left); + right = Math.Min(_thumbnailSize.Width, right); + top = Math.Max(0, top); + bottom = Math.Min(_thumbnailSize.Height, bottom); + + //Compute region rectangle in thumbnail coordinates + var startPoint = ClientToThumbnail(new Point(left, top)); + var endPoint = ClientToThumbnail(new Point(right, bottom)); + var final = new Rectangle( + startPoint, + new Size(endPoint.X - startPoint.X, endPoint.Y - startPoint.Y) + ); + + //Update region + SelectedRegion = final; + OnRegionDrawn(final); + } + + protected override void OnMouseDown(MouseEventArgs e) { + if (DrawMouseRegions && e.Button == MouseButtons.Left) { + //Start new region drawing + _drawingRegion = true; + _drawingSuspended = false; + _regionStartPoint = _regionLastPoint = e.Location; + + this.Invalidate(); + } + + base.OnMouseDown(e); + } + + protected override void OnMouseUp(MouseEventArgs e) { + if (_drawMouseRegions && e.Button == MouseButtons.Left) { + //Region completed + _drawingRegion = false; + _drawingSuspended = false; + RaiseRegionDrawn(_regionStartPoint, _regionLastPoint); + + this.Invalidate(); + } + + base.OnMouseUp(e); + } + + protected override void OnMouseLeave(EventArgs e) { + _drawingSuspended = true; + + this.Invalidate(); + + base.OnMouseLeave(e); + } + + protected override void OnMouseEnter(EventArgs e) { + _drawingSuspended = false; + + this.Invalidate(); + + base.OnMouseEnter(e); + } + + protected override void OnMouseMove(MouseEventArgs e) { + if (_drawingRegion && e.Button == MouseButtons.Left) { + //Continue drawing + _regionLastPoint = e.Location; + + this.Invalidate(); + } + else if(DrawMouseRegions && !_drawingRegion){ + //Keep track of region start point + _regionLastPoint = e.Location; + + this.Invalidate(); + } + + base.OnMouseMove(e); + } + + Pen penRed = new Pen(Color.FromArgb(255, Color.Red), 1.0f); + + protected override void OnPaint(PaintEventArgs e) { + if (_drawingRegion) { + //Is currently drawing, show rectangle + int left = Math.Min(_regionStartPoint.X, _regionLastPoint.X); + int right = Math.Max(_regionStartPoint.X, _regionLastPoint.X); + int top = Math.Min(_regionStartPoint.Y, _regionLastPoint.Y); + int bottom = Math.Max(_regionStartPoint.Y, _regionLastPoint.Y); + + e.Graphics.DrawRectangle(penRed, left, top, right - left, bottom - top); + } + else if (DrawMouseRegions && ! _drawingSuspended) { + //Show cursor coordinates + e.Graphics.DrawLine(penRed, new Point(0, _regionLastPoint.Y), new Point(ClientSize.Width, _regionLastPoint.Y)); + e.Graphics.DrawLine(penRed, new Point(_regionLastPoint.X, 0), new Point(_regionLastPoint.X, ClientSize.Height)); + } + + base.OnPaint(e); + } + + #endregion + + #region Thumbnail clone click + + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); + + if (_thumbnail == null) + return; + + //Raise clicking event to allow click forwarding + if (ReportThumbnailClicks) { + OnCloneClick(ClientToThumbnail(e.Location), e.Button, false); + } + } + + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); + + if (_thumbnail == null) + return; + + //Raise double clicking event to allow click forwarding + if (ReportThumbnailClicks) { + OnCloneClick(ClientToThumbnail(e.Location), e.Button, true); + } + } + + /// + /// Is raised when the thumbnail clone is clicked. + /// + public event EventHandler CloneClick; + + protected virtual void OnCloneClick(Point location, MouseButtons buttons, bool doubleClick){ + var evt = CloneClick; + if(evt != null) + evt(this, new CloneClickEventArgs(location, buttons, doubleClick)); + } + + #endregion + + /// + /// Convert a point in client coordinates to a point expressed in terms of a cloned thumbnail window. + /// + /// Point in client coordinates. + protected Point ClientToThumbnail(Point position) { + //Compensate padding + position.X -= _padWidth; + position.Y -= _padHeight; + + PointF proportionalPosition = new PointF( + (float)position.X / _thumbnailSize.Width, + (float)position.Y / _thumbnailSize.Height + ); + + //Get real pixel region info + Size source = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; + Point offset = (_regionEnabled) ? _regionCurrent.Location : Point.Empty; + + return new Point( + (int)((proportionalPosition.X * source.Width) + offset.X), + (int)((proportionalPosition.Y * source.Height) + offset.Y) + ); + } + + } + +} diff --git a/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs b/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs new file mode 100644 index 0000000..6482835 --- /dev/null +++ b/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Update { + class UpdateCheckCompletedEventArgs : EventArgs { + + public UpdateInformation Information { get; set; } + + public bool Success { get; set; } + + public Exception Error { get; set; } + + } +} diff --git a/OnTopReplica/Update/UpdateInformation.cs b/OnTopReplica/Update/UpdateInformation.cs new file mode 100644 index 0000000..f605223 --- /dev/null +++ b/OnTopReplica/Update/UpdateInformation.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.IO; +using System.Xml; + +namespace OnTopReplica.Update { + + /// + /// Contains information about the latest OnTopReplica update available. + /// + public class UpdateInformation { + + Version _latestVersion; + + /// + /// Gets the latest available version of the software. + /// + [XmlIgnore] + public Version LatestVersion { + get { + return _latestVersion; + } + set { + _latestVersion = value; + } + } + + [XmlElement("latestVersion")] + public string LatestVersionInternal { + get { + return _latestVersion.ToString(); + } + set { + _latestVersion = new Version(value); + } + } + + /// + /// Indicates when the latest version was released. + /// + [XmlElement("latestVersionRelease")] + public DateTime LatestVersionRelease { get; set; } + + /// + /// Gets the URL of the page that allows the user to download the updated installer. + /// + [XmlElement("downloadPage")] + public string DownloadPage { get; set; } + + /// + /// Deserializes an UpdateInformation object from a stream. + /// + public static UpdateInformation Deserialize(Stream source) { + var serializer = new XmlSerializer(typeof(UpdateInformation)); + var info = serializer.Deserialize(source) as UpdateInformation; + return info; + } + + public static string Serialize(UpdateInformation information) { + var serializer = new XmlSerializer(typeof(UpdateInformation)); + var sb = new StringBuilder(); + using(var writer = new StringWriter(sb)){ + serializer.Serialize(writer, information); + } + return sb.ToString(); + } + + } + +} diff --git a/OnTopReplica/Update/UpdateManager.cs b/OnTopReplica/Update/UpdateManager.cs new file mode 100644 index 0000000..bb2a5b5 --- /dev/null +++ b/OnTopReplica/Update/UpdateManager.cs @@ -0,0 +1,106 @@ +using System; +using System.Collections.Generic; +using System.Net; +using System.Text; +using System.Net.Cache; +using System.IO; +using System.Reflection; +using VistaControls.TaskDialog; +using System.Diagnostics; +using System.Windows.Forms; +using System.Threading; + +namespace OnTopReplica.Update { + + class UpdateManager { + + const string UpdateManifestUrl = "http://www.klopfenstein.net/public/Uploads/ontopreplica/update.xml"; + + public void CheckForUpdate() { + ThreadPool.QueueUserWorkItem(new WaitCallback(o => { + //Build web request + var request = (HttpWebRequest)HttpWebRequest.Create(UpdateManifestUrl); + request.AllowAutoRedirect = true; + request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; + request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache); + + try { + //Begin request + var response = request.GetResponse(); + var info = UpdateInformation.Deserialize(response.GetResponseStream()); + + OnUpdateCheckSuccess(info); + } + catch (Exception ex) { + OnUpdateCheckError(ex); + return; + } + })); + } + + public event EventHandler UpdateCheckCompleted; + + protected virtual void OnUpdateCheckError(Exception ex) { + var evt = UpdateCheckCompleted; + if (evt != null) { + evt(this, new UpdateCheckCompletedEventArgs { + Success = false, + Error = ex + }); + } + } + + protected virtual void OnUpdateCheckSuccess(UpdateInformation information) { + var evt = UpdateCheckCompleted; + if (evt != null) { + evt(this, new UpdateCheckCompletedEventArgs { + Success = true, + Information = information + }); + } + } + + /// + /// Handles the results of an update check. Must be called from main GUI thread. + /// + /// The retrieved update information. + /// Determines if the lack of updates should be notified to the user. + public void HandleUpdateCheck(Form parent, UpdateInformation information, bool verbose) { + if (information == null) + return; + + var currentVersion = Assembly.GetExecutingAssembly().GetName().Version; + + if (information.LatestVersion > currentVersion) { + //New version found + var dlg = new TaskDialog( + string.Format(Strings.AskUpdate, information.LatestVersion), + Strings.AskUpdateTitle, + Strings.AskUpdateContent) { + CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, string.Format(Strings.AskUpdateButtonOk, information.LatestVersion)), + new CustomButton(Result.Cancel, Strings.AskUpdateButtonCancel) + }, + UseCommandLinks = true, + CommonIcon = TaskDialogIcon.Information, + ExpandedInformation = string.Format(Strings.AskUpdateExpanded, currentVersion, information.LatestVersion) + }; + + if (dlg.Show(parent).CommonButton == Result.OK) { + Process.Start(information.DownloadPage); + } + } + else if(verbose) { + //No updates, but need to inform the user + var dlg = new TaskDialog(Strings.InfoUpToDate, Strings.InfoUpToDateTitle) { + CommonButtons = TaskDialogButton.OK, + CommonIcon = TaskDialogIcon.Information, + Footer = information.LatestVersion.ToString() + }; + dlg.Show(); + } + } + + } + +} diff --git a/OnTopReplica/Win32Helper.cs b/OnTopReplica/Win32Helper.cs new file mode 100644 index 0000000..49709ab --- /dev/null +++ b/OnTopReplica/Win32Helper.cs @@ -0,0 +1,122 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + public static class Win32Helper { + + /// Inject a fake left mouse click on a target window, on a location expressed in client coordinates. + /// Target window to click on. + /// Location of the mouse click expressed in client coordiantes of the target window. + /// True if a double click should be injected. + public static void InjectFakeMouseClick(IntPtr window, CloneClickEventArgs clickArgs) { + NPoint clientClickLocation = NPoint.FromPoint(clickArgs.ClientClickLocation); + NPoint scrClickLocation = WindowManagerMethods.ClientToScreen(window, clientClickLocation); + + //HACK (?) + //If target window has a Menu (which appears on the thumbnail) move the clicked location down + //in order to adjust (the menu isn't part of the window's client rect). + IntPtr hMenu = WindowMethods.GetMenu(window); + if (hMenu != IntPtr.Zero) + scrClickLocation.Y -= SystemInformation.MenuHeight; + + IntPtr hChild = GetRealChildControlFromPoint(window, scrClickLocation); + NPoint clntClickLocation = WindowManagerMethods.ScreenToClient(hChild, scrClickLocation); + + if (clickArgs.Buttons == MouseButtons.Left) { + if(clickArgs.IsDoubleClick) + InjectDoubleLeftMouseClick(hChild, clntClickLocation); + else + InjectLeftMouseClick(hChild, clntClickLocation); + } + else if (clickArgs.Buttons == MouseButtons.Right) { + if(clickArgs.IsDoubleClick) + InjectDoubleRightMouseClick(hChild, clntClickLocation); + else + InjectRightMouseClick(hChild, clntClickLocation); + } + } + + private static void InjectLeftMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.LBUTTONDOWN, new IntPtr(MK.LBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.LBUTTONUP, new IntPtr(MK.LBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Left click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectRightMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.RBUTTONDOWN, new IntPtr(MK.RBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.RBUTTONUP, new IntPtr(MK.RBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Right click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectDoubleLeftMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.LBUTTONDBLCLK, new IntPtr(MK.LBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Double left click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectDoubleRightMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.RBUTTONDBLCLK, new IntPtr(MK.RBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Double right click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + /// Returns the child control of a window corresponding to a screen location. + /// Parent window to explore. + /// Child control location in screen coordinates. + private static IntPtr GetRealChildControlFromPoint(IntPtr parent, NPoint scrClickLocation) { + IntPtr curr = parent, child = IntPtr.Zero; + do { + child = WindowManagerMethods.RealChildWindowFromPoint(curr, + WindowManagerMethods.ScreenToClient(curr, scrClickLocation)); + + if (child == IntPtr.Zero || child == curr) + break; + + //Update for next loop + curr = child; + } + while (true); + + //Safety check, shouldn't happen + if (curr == IntPtr.Zero) + curr = parent; + + return curr; + } + + /// + /// Gets a handle to the window that currently is in the foreground. + /// + /// May return null if call fails or no valid window selected. + public static WindowHandle GetCurrentForegroundWindow() { + IntPtr handle = WindowManagerMethods.GetForegroundWindow(); + if (handle == IntPtr.Zero) + return null; + + return new WindowHandle(handle, string.Empty); + } + + } +} diff --git a/OnTopReplica/WindowHandle.cs b/OnTopReplica/WindowHandle.cs new file mode 100644 index 0000000..61eaf2f --- /dev/null +++ b/OnTopReplica/WindowHandle.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using OnTopReplica.Native; + +namespace OnTopReplica { + + /// Helper class that keeps a window handle (HWND), the title of the window and can load its icon. + public class WindowHandle : System.Windows.Forms.IWin32Window { + IntPtr _handle; + string _title; + + public WindowHandle(IntPtr p, string title) { + _handle = p; + _title = title; + } + + public string Title { + get { + return _title; + } + } + + Icon _icon = null; + bool _iconFetched = false; + public Icon Icon { + get { + if (!_iconFetched) { + //Fetch icon from window + IntPtr hIcon; + + if (MessagingMethods.SendMessageTimeout(_handle, WM.GETICON, new IntPtr(2), new IntPtr(0), + MessagingMethods.SendMessageTimeoutFlags.AbortIfHung | MessagingMethods.SendMessageTimeoutFlags.Block, 500, out hIcon) == IntPtr.Zero) + hIcon = IntPtr.Zero; + + if (hIcon.ToInt64() != 0) { + _icon = Icon.FromHandle(hIcon); + } + else { + //Fetch icon from window class + hIcon = (IntPtr)WindowMethods.GetClassLong(_handle, WindowMethods.ClassLong.IconSmall); + + if (hIcon.ToInt64() != 0) { + _icon = Icon.FromHandle(hIcon); + } + } + } + + _iconFetched = true; + + return _icon; + } + } + + public override string ToString() { + return _title; + } + + public override bool Equals(object obj) { + if (ReferenceEquals(obj, this)) + return true; + + System.Windows.Forms.IWin32Window win = obj as System.Windows.Forms.IWin32Window; + + if (win == null) + return false; + + return (win.Handle == _handle); + } + + public override int GetHashCode() { + return _handle.GetHashCode(); + } + + #region IWin32Window Members + + public IntPtr Handle { + get { return _handle; } + } + + #endregion + + } +} diff --git a/OnTopReplica/WindowListHelper.cs b/OnTopReplica/WindowListHelper.cs new file mode 100644 index 0000000..88f7964 --- /dev/null +++ b/OnTopReplica/WindowListHelper.cs @@ -0,0 +1,111 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica { + static class WindowListHelper { + + public class WindowSelectionData { + public WindowHandle Handle { get; set; } + public StoredRegion Region { get; set; } + } + + const int MaxWindowTitleLength = 55; + + public static void PopulateMenu(Form ownerForm, WindowManager windowManager, ToolStrip menu, + WindowHandle currentHandle, EventHandler clickHandler) { + var regions = GetRegions(); + + //Clear + menu.Items.Clear(); + + //"None" selection + var nullTsi = new ToolStripMenuItem(Strings.MenuWindowsNone); + nullTsi.Tag = null; + nullTsi.Click += clickHandler; + nullTsi.Checked = (currentHandle == null); + menu.Items.Add(nullTsi); + + //Add an item for each window + foreach (WindowHandle h in windowManager.Windows) { + //Skip if in the same process + if (h.Handle.Equals(ownerForm.Handle)) + continue; + + var tsi = new ToolStripMenuItem(); + + //Window title + if (h.Title.Length > MaxWindowTitleLength) { + tsi.Text = h.Title.Substring(0, MaxWindowTitleLength) + "..."; + tsi.ToolTipText = h.Title; + } + else + tsi.Text = h.Title; + + //Icon + if (h.Icon != null) { + tsi.Image = h.Icon.ToBitmap(); + } + + //Check if this is the currently displayed window + tsi.Checked = h.Equals(currentHandle); + + //Add direct click if no stored regions + tsi.Tag = new WindowSelectionData { + Handle = h, + Region = null + }; + tsi.Click += clickHandler; + + PopulateRegions(tsi, h, clickHandler, regions); + + menu.Items.Add(tsi); + } + + } + + private static void PopulateRegions(ToolStripMenuItem tsi, WindowHandle handle, + EventHandler clickHandler, IEnumerable regions) { + + if (regions != null) { + //Add subitem for no region + var nullRegionItem = new ToolStripMenuItem(Strings.MenuWindowsWholeRegion); + nullRegionItem.Tag = new WindowSelectionData { + Handle = handle, + Region = null + }; + nullRegionItem.Image = Resources.regions; + nullRegionItem.Click += clickHandler; + tsi.DropDownItems.Add(nullRegionItem); + + foreach (StoredRegion region in regions) { + var regionItem = new ToolStripMenuItem(region.Name); + regionItem.Tag = new WindowSelectionData { + Handle = handle, + Region = region + }; + regionItem.Click += clickHandler; + + tsi.DropDownItems.Add(regionItem); + } + } + } + + private static IEnumerable GetRegions() { + if (Settings.Default.SavedRegions == null || Settings.Default.SavedRegions.Count == 0) + return null; + + StoredRegion[] regions = new StoredRegion[Settings.Default.SavedRegions.Count]; + Settings.Default.SavedRegions.CopyTo(regions); + + Array.Sort(regions, new Comparison((a, b) => { + return a.Name.CompareTo(b.Name); + })); + + return regions; + } + + } +} diff --git a/OnTopReplica/WindowManager.cs b/OnTopReplica/WindowManager.cs new file mode 100644 index 0000000..0af3ba9 --- /dev/null +++ b/OnTopReplica/WindowManager.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica { + /// A helper class that allows you to easily build and keep a list of Windows (in the form of WindowHandle objects). + public class WindowManager { + + List _windows = new List(); + + public enum EnumerationMode { + /// All windows with 'Visible' flag. + AllVisible, + + /// All top level windows. + AllTopLevel, + + /// Windows of a task (like Alt+Tab). + TaskWindows + } + + /// Refreshes the window list. + public void Refresh(EnumerationMode mode) { + _windows = new List(); + + WindowManagerMethods.EnumWindowsProc proc = null; + switch (mode) { + case EnumerationMode.AllVisible: + proc = new WindowManagerMethods.EnumWindowsProc(EnumWindowProcAll); + break; + + case EnumerationMode.AllTopLevel: + proc = new WindowManagerMethods.EnumWindowsProc(EnumWindowProcTopLevel); + break; + + case EnumerationMode.TaskWindows: + proc = new WindowManagerMethods.EnumWindowsProc(EnumWindowProcTask); + break; + } + + WindowManagerMethods.EnumWindows(proc, IntPtr.Zero); + } + + + public IEnumerable Windows { + get { + return _windows; + } + } + + + + private bool EnumWindowProcAll(IntPtr hwnd, IntPtr lParam) { + if (WindowManagerMethods.IsWindowVisible(hwnd)) { + string title = WindowMethods.GetWindowText(hwnd); + _windows.Add( new WindowHandle(hwnd, title)); + } + return true; + } + + private bool EnumWindowProcTopLevel(IntPtr hwnd, IntPtr lParam) { + if (WindowManagerMethods.IsWindowVisible(hwnd)) { + //Check if window has no parent + if ((long)WindowManagerMethods.GetParent(hwnd) == 0 && WindowManagerMethods.GetDesktopWindow() != hwnd) { + string title = WindowMethods.GetWindowText(hwnd); + _windows.Add( new WindowHandle(hwnd, title)); + } + } + return true; + } + + private bool EnumWindowProcTask(IntPtr hwnd, IntPtr lParam) { + //Code taken from: http://www.thescarms.com/VBasic/alttab.aspx + + //Accept windows that + // - are visible + // - do not have a parent + // - have no owner and are not Tool windows OR + // - have an owner and are App windows + + //Reject empty titles + + string title = WindowMethods.GetWindowText(hwnd); + if (string.IsNullOrEmpty(title)) + return true; + + if (WindowManagerMethods.IsWindowVisible(hwnd)) { + if ((long)WindowManagerMethods.GetParent(hwnd) == 0) { + bool hasOwner = (long)WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; + WindowMethods.WindowExStyles exStyle = (WindowMethods.WindowExStyles)WindowMethods.GetWindowLong(hwnd, WindowMethods.WindowLong.ExStyle); + + if (((exStyle & WindowMethods.WindowExStyles.ToolWindow) == 0 && !hasOwner) || //unowned non-tool window + ((exStyle & WindowMethods.WindowExStyles.AppWindow) == WindowMethods.WindowExStyles.AppWindow && hasOwner)) { //owned application window + _windows.Add(new WindowHandle(hwnd, title)); + } + } + } + + return true; + } + + } +} diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config new file mode 100644 index 0000000..f10287c --- /dev/null +++ b/OnTopReplica/app.config @@ -0,0 +1,42 @@ + + + + +
    + + + + + + True + + + 255 + + + (Default) + + + True + + + True + + + True + + + True + + + False + + + + + + + + + + diff --git a/OriginalAssets/icon.pdn b/OriginalAssets/icon.pdn new file mode 100644 index 0000000000000000000000000000000000000000..b6e0be2b3dcb0ad64f68710138b6e7903dbc4ad1 GIT binary patch literal 30322 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�<&}G` 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 Date: Sun, 19 Sep 2010 23:48:30 +0200 Subject: [PATCH 066/164] Small performance improvement on form resizing. --- OnTopReplica/MainForm.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 79c9af4..4f9a079 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -122,12 +122,14 @@ namespace OnTopReplica { base.OnClosing(e); } + Margins fullMargins = new Margins(-1); + protected override void OnResize(EventArgs e) { base.OnResize(e); this.GlassMargins = (_currentSidePanel != null) ? new Margins(ClientSize.Width - _sidePanelContainer.Width, 0, 0, 0) : - new Margins(-1); + fullMargins; } protected override void OnActivated(EventArgs e) { From b45066f0d5391c6d402ccd241614c340d02515be Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 23 Sep 2010 23:23:20 +0200 Subject: [PATCH 067/164] Fixed: window is now visible in ALT+TAB when in fullscreen mode (on Windows 7). --- .hgignore | 7 + Installer/header.bmp | Bin 0 -> 25818 bytes Installer/script.nsi | 112 ++ Installer/update.xml | 6 + Lib/VistaControls.dll | Bin 0 -> 95744 bytes Lib/VistaControls.pdb | Bin 0 -> 243200 bytes Lib/VistaControls.xml | 1022 +++++++++++++ OnTopReplica.sln | 20 + OnTopReplica/AboutForm.Designer.cs | 236 +++ OnTopReplica/AboutForm.cs | 153 ++ OnTopReplica/AboutForm.resx | 309 ++++ OnTopReplica/AspectRatioForm.cs | 214 +++ OnTopReplica/Assets/25.png | Bin 0 -> 639 bytes OnTopReplica/Assets/arrow_down.png | Bin 0 -> 218 bytes OnTopReplica/Assets/arrow_up.png | Bin 0 -> 209 bytes OnTopReplica/Assets/back.png | Bin 0 -> 150765 bytes OnTopReplica/Assets/clickforwarding.png | Bin 0 -> 951 bytes OnTopReplica/Assets/component.png | Bin 0 -> 731 bytes OnTopReplica/Assets/desktop.png | Bin 0 -> 794 bytes OnTopReplica/Assets/empty-window.ico | Bin 0 -> 10806 bytes OnTopReplica/Assets/flag_czech.png | Bin 0 -> 241 bytes OnTopReplica/Assets/flag_danish.png | Bin 0 -> 347 bytes OnTopReplica/Assets/flag_ita.png | Bin 0 -> 209 bytes OnTopReplica/Assets/flag_usa.png | Bin 0 -> 355 bytes OnTopReplica/Assets/flags.pdn | Bin 0 -> 5422 bytes OnTopReplica/Assets/fullscreen.png | Bin 0 -> 396 bytes OnTopReplica/Assets/groupmode.png | Bin 0 -> 837 bytes OnTopReplica/Assets/icon-new-red.ico | Bin 0 -> 86918 bytes OnTopReplica/Assets/icon-new.ico | Bin 0 -> 86918 bytes OnTopReplica/Assets/icon.ico | Bin 0 -> 7358 bytes OnTopReplica/Assets/icon.png | Bin 0 -> 7335 bytes OnTopReplica/Assets/list.png | Bin 0 -> 681 bytes OnTopReplica/Assets/newicon.png | Bin 0 -> 770 bytes OnTopReplica/Assets/pos_bottomleft.pdn | Bin 0 -> 6696 bytes OnTopReplica/Assets/pos_bottomleft.png | Bin 0 -> 267 bytes OnTopReplica/Assets/pos_bottomright.png | Bin 0 -> 267 bytes OnTopReplica/Assets/pos_null.png | Bin 0 -> 250 bytes OnTopReplica/Assets/pos_topleft.png | Bin 0 -> 280 bytes OnTopReplica/Assets/pos_topright.png | Bin 0 -> 278 bytes OnTopReplica/Assets/reduce.png | Bin 0 -> 259 bytes OnTopReplica/Assets/regions.png | Bin 0 -> 296 bytes OnTopReplica/Assets/regions_new.png | Bin 0 -> 207 bytes OnTopReplica/Assets/screenshot-icon.ico | Bin 0 -> 99678 bytes OnTopReplica/Assets/thumbs_up.png | Bin 0 -> 2318 bytes OnTopReplica/Assets/window16.png | Bin 0 -> 862 bytes OnTopReplica/Assets/window_border16.png | Bin 0 -> 683 bytes OnTopReplica/Assets/window_multiple.pdn | Bin 0 -> 8806 bytes OnTopReplica/Assets/window_multiple16.ico | Bin 0 -> 894 bytes OnTopReplica/Assets/window_multiple16.png | Bin 0 -> 1012 bytes OnTopReplica/Assets/window_multiple48.png | Bin 0 -> 1736 bytes OnTopReplica/Assets/window_opacity16.png | Bin 0 -> 894 bytes OnTopReplica/Assets/window_opacity_new.png | Bin 0 -> 810 bytes OnTopReplica/Assets/window_switch.pdn | Bin 0 -> 10464 bytes OnTopReplica/Assets/window_switch.png | Bin 0 -> 456 bytes OnTopReplica/Assets/windows.png | Bin 0 -> 28010 bytes OnTopReplica/Assets/x-oblique.png | Bin 0 -> 3459 bytes OnTopReplica/Assets/xiao_add.png | Bin 0 -> 753 bytes OnTopReplica/Assets/xiao_arrow.png | Bin 0 -> 437 bytes OnTopReplica/Assets/xiao_delete.png | Bin 0 -> 715 bytes OnTopReplica/Assets/xiao_down.png | Bin 0 -> 761 bytes OnTopReplica/Assets/xiao_help.png | Bin 0 -> 752 bytes OnTopReplica/Assets/xiao_ok.png | Bin 0 -> 752 bytes OnTopReplica/Assets/xiao_up.png | Bin 0 -> 744 bytes OnTopReplica/Assets/xiao_wrench.png | Bin 0 -> 459 bytes OnTopReplica/CloneClickEventArgs.cs | 29 + OnTopReplica/CloseRequestEventArgs.cs | 13 + OnTopReplica/EnumerationExtensions.cs | 22 + OnTopReplica/FocusedTextBox.cs | 69 + OnTopReplica/IMessagePumpProcessor.cs | 15 + OnTopReplica/MainForm.Designer.cs | 573 +++++++ OnTopReplica/MainForm.cs | 537 +++++++ OnTopReplica/MainForm.resx | 324 ++++ OnTopReplica/MainForm_ChildForms.cs | 105 ++ OnTopReplica/MainForm_Gui.cs | 128 ++ OnTopReplica/MainForm_MenuEvents.cs | 234 +++ OnTopReplica/MessagePumpManager.cs | 85 ++ .../BaseMessagePumpProcessor.cs | 39 + .../GroupSwitchManager.cs | 143 ++ .../MessagePumpProcessors/HotKeyManager.cs | 50 + .../MessagePumpProcessors/TitleSetter.cs | 41 + .../MessagePumpProcessors/WindowKeeper.cs | 39 + OnTopReplica/Native/CommonControls.cs | 30 + OnTopReplica/Native/ErrorMethods.cs | 37 + OnTopReplica/Native/HT.cs | 14 + OnTopReplica/Native/HookMethods.cs | 50 + OnTopReplica/Native/HotKeyMethods.cs | 32 + OnTopReplica/Native/ITaskBarList.cs | 45 + OnTopReplica/Native/MK.cs | 14 + OnTopReplica/Native/MessagingMethods.cs | 34 + OnTopReplica/Native/Point.cs | 36 + OnTopReplica/Native/Rectangle.cs | 51 + OnTopReplica/Native/WM.cs | 28 + OnTopReplica/Native/WMSZ.cs | 15 + OnTopReplica/Native/WindowManagerMethods.cs | 88 ++ OnTopReplica/Native/WindowMethods.cs | 127 ++ OnTopReplica/Native/WindowsSevenMethods.cs | 20 + OnTopReplica/NativeToolStripRenderer.cs | 587 ++++++++ OnTopReplica/NotificationIcon.cs | 84 ++ OnTopReplica/OnTopReplica.csproj | 424 ++++++ OnTopReplica/OnTopReplica.csproj.user | 18 + OnTopReplica/OnTopReplica.exe.manifest | 22 + OnTopReplica/PlatformSupport.cs | 109 ++ OnTopReplica/Platforms/Other.cs | 16 + OnTopReplica/Platforms/WindowsSeven.cs | 52 + OnTopReplica/Platforms/WindowsVista.cs | 44 + OnTopReplica/Platforms/WindowsXp.cs | 15 + OnTopReplica/Program.cs | 120 ++ OnTopReplica/Properties/AssemblyInfo.cs | 37 + OnTopReplica/Properties/Resources.Designer.cs | 315 ++++ OnTopReplica/Properties/Resources.resx | 230 +++ OnTopReplica/Properties/Settings.Designer.cs | 157 ++ OnTopReplica/Properties/Settings.settings | 39 + OnTopReplica/Properties/app.manifest | 26 + OnTopReplica/SidePanel.cs | 49 + .../SidePanels/GroupSwitchPanel.Designer.cs | 129 ++ OnTopReplica/SidePanels/GroupSwitchPanel.cs | 73 + OnTopReplica/SidePanels/GroupSwitchPanel.resx | 120 ++ .../SidePanels/RegionPanel.Designer.cs | 314 ++++ OnTopReplica/SidePanels/RegionPanel.cs | 217 +++ OnTopReplica/SidePanels/RegionPanel.resx | 120 ++ OnTopReplica/StoredRegion.cs | 63 + OnTopReplica/StoredRegionArray.cs | 39 + OnTopReplica/StoredRegionComparer.cs | 28 + OnTopReplica/Strings.Designer.cs | 1324 +++++++++++++++++ OnTopReplica/Strings.cs.resx | 456 ++++++ OnTopReplica/Strings.da.resx | 451 ++++++ OnTopReplica/Strings.de.resx | 15 + OnTopReplica/Strings.es.resx | 90 ++ OnTopReplica/Strings.fi.resx | 15 + OnTopReplica/Strings.it.resx | 487 ++++++ OnTopReplica/Strings.no.resx | 15 + OnTopReplica/Strings.pt.resx | 15 + OnTopReplica/Strings.resx | 487 ++++++ OnTopReplica/Strings.ru.resx | 15 + OnTopReplica/ThumbnailPanel.cs | 446 ++++++ .../Update/UpdateCheckCompletedEventArgs.cs | 15 + OnTopReplica/Update/UpdateInformation.cs | 72 + OnTopReplica/Update/UpdateManager.cs | 106 ++ OnTopReplica/Win32Helper.cs | 122 ++ OnTopReplica/WindowHandle.cs | 85 ++ OnTopReplica/WindowListHelper.cs | 111 ++ OnTopReplica/WindowManager.cs | 104 ++ OnTopReplica/app.config | 42 + OriginalAssets/icon.pdn | Bin 0 -> 30322 bytes OriginalAssets/new-icon.png | Bin 0 -> 24269 bytes 145 files changed, 13066 insertions(+) create mode 100644 .hgignore create mode 100644 Installer/header.bmp create mode 100644 Installer/script.nsi create mode 100644 Installer/update.xml create mode 100644 Lib/VistaControls.dll create mode 100644 Lib/VistaControls.pdb create mode 100644 Lib/VistaControls.xml create mode 100644 OnTopReplica.sln create mode 100644 OnTopReplica/AboutForm.Designer.cs create mode 100644 OnTopReplica/AboutForm.cs create mode 100644 OnTopReplica/AboutForm.resx create mode 100644 OnTopReplica/AspectRatioForm.cs create mode 100644 OnTopReplica/Assets/25.png create mode 100644 OnTopReplica/Assets/arrow_down.png create mode 100644 OnTopReplica/Assets/arrow_up.png create mode 100644 OnTopReplica/Assets/back.png create mode 100644 OnTopReplica/Assets/clickforwarding.png create mode 100644 OnTopReplica/Assets/component.png create mode 100644 OnTopReplica/Assets/desktop.png create mode 100644 OnTopReplica/Assets/empty-window.ico create mode 100644 OnTopReplica/Assets/flag_czech.png create mode 100644 OnTopReplica/Assets/flag_danish.png create mode 100644 OnTopReplica/Assets/flag_ita.png create mode 100644 OnTopReplica/Assets/flag_usa.png create mode 100644 OnTopReplica/Assets/flags.pdn create mode 100644 OnTopReplica/Assets/fullscreen.png create mode 100644 OnTopReplica/Assets/groupmode.png create mode 100644 OnTopReplica/Assets/icon-new-red.ico create mode 100644 OnTopReplica/Assets/icon-new.ico create mode 100644 OnTopReplica/Assets/icon.ico create mode 100644 OnTopReplica/Assets/icon.png create mode 100644 OnTopReplica/Assets/list.png create mode 100644 OnTopReplica/Assets/newicon.png create mode 100644 OnTopReplica/Assets/pos_bottomleft.pdn create mode 100644 OnTopReplica/Assets/pos_bottomleft.png create mode 100644 OnTopReplica/Assets/pos_bottomright.png create mode 100644 OnTopReplica/Assets/pos_null.png create mode 100644 OnTopReplica/Assets/pos_topleft.png create mode 100644 OnTopReplica/Assets/pos_topright.png create mode 100644 OnTopReplica/Assets/reduce.png create mode 100644 OnTopReplica/Assets/regions.png create mode 100644 OnTopReplica/Assets/regions_new.png create mode 100644 OnTopReplica/Assets/screenshot-icon.ico create mode 100644 OnTopReplica/Assets/thumbs_up.png create mode 100644 OnTopReplica/Assets/window16.png create mode 100644 OnTopReplica/Assets/window_border16.png create mode 100644 OnTopReplica/Assets/window_multiple.pdn create mode 100644 OnTopReplica/Assets/window_multiple16.ico create mode 100644 OnTopReplica/Assets/window_multiple16.png create mode 100644 OnTopReplica/Assets/window_multiple48.png create mode 100644 OnTopReplica/Assets/window_opacity16.png create mode 100644 OnTopReplica/Assets/window_opacity_new.png create mode 100644 OnTopReplica/Assets/window_switch.pdn create mode 100644 OnTopReplica/Assets/window_switch.png create mode 100644 OnTopReplica/Assets/windows.png create mode 100644 OnTopReplica/Assets/x-oblique.png create mode 100644 OnTopReplica/Assets/xiao_add.png create mode 100644 OnTopReplica/Assets/xiao_arrow.png create mode 100644 OnTopReplica/Assets/xiao_delete.png create mode 100644 OnTopReplica/Assets/xiao_down.png create mode 100644 OnTopReplica/Assets/xiao_help.png create mode 100644 OnTopReplica/Assets/xiao_ok.png create mode 100644 OnTopReplica/Assets/xiao_up.png create mode 100644 OnTopReplica/Assets/xiao_wrench.png create mode 100644 OnTopReplica/CloneClickEventArgs.cs create mode 100644 OnTopReplica/CloseRequestEventArgs.cs create mode 100644 OnTopReplica/EnumerationExtensions.cs create mode 100644 OnTopReplica/FocusedTextBox.cs create mode 100644 OnTopReplica/IMessagePumpProcessor.cs create mode 100644 OnTopReplica/MainForm.Designer.cs create mode 100644 OnTopReplica/MainForm.cs create mode 100644 OnTopReplica/MainForm.resx create mode 100644 OnTopReplica/MainForm_ChildForms.cs create mode 100644 OnTopReplica/MainForm_Gui.cs create mode 100644 OnTopReplica/MainForm_MenuEvents.cs create mode 100644 OnTopReplica/MessagePumpManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs create mode 100644 OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/HotKeyManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/TitleSetter.cs create mode 100644 OnTopReplica/MessagePumpProcessors/WindowKeeper.cs create mode 100644 OnTopReplica/Native/CommonControls.cs create mode 100644 OnTopReplica/Native/ErrorMethods.cs create mode 100644 OnTopReplica/Native/HT.cs create mode 100644 OnTopReplica/Native/HookMethods.cs create mode 100644 OnTopReplica/Native/HotKeyMethods.cs create mode 100644 OnTopReplica/Native/ITaskBarList.cs create mode 100644 OnTopReplica/Native/MK.cs create mode 100644 OnTopReplica/Native/MessagingMethods.cs create mode 100644 OnTopReplica/Native/Point.cs create mode 100644 OnTopReplica/Native/Rectangle.cs create mode 100644 OnTopReplica/Native/WM.cs create mode 100644 OnTopReplica/Native/WMSZ.cs create mode 100644 OnTopReplica/Native/WindowManagerMethods.cs create mode 100644 OnTopReplica/Native/WindowMethods.cs create mode 100644 OnTopReplica/Native/WindowsSevenMethods.cs create mode 100644 OnTopReplica/NativeToolStripRenderer.cs create mode 100644 OnTopReplica/NotificationIcon.cs create mode 100644 OnTopReplica/OnTopReplica.csproj create mode 100644 OnTopReplica/OnTopReplica.csproj.user create mode 100644 OnTopReplica/OnTopReplica.exe.manifest create mode 100644 OnTopReplica/PlatformSupport.cs create mode 100644 OnTopReplica/Platforms/Other.cs create mode 100644 OnTopReplica/Platforms/WindowsSeven.cs create mode 100644 OnTopReplica/Platforms/WindowsVista.cs create mode 100644 OnTopReplica/Platforms/WindowsXp.cs create mode 100644 OnTopReplica/Program.cs create mode 100644 OnTopReplica/Properties/AssemblyInfo.cs create mode 100644 OnTopReplica/Properties/Resources.Designer.cs create mode 100644 OnTopReplica/Properties/Resources.resx create mode 100644 OnTopReplica/Properties/Settings.Designer.cs create mode 100644 OnTopReplica/Properties/Settings.settings create mode 100644 OnTopReplica/Properties/app.manifest create mode 100644 OnTopReplica/SidePanel.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.resx create mode 100644 OnTopReplica/SidePanels/RegionPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/RegionPanel.cs create mode 100644 OnTopReplica/SidePanels/RegionPanel.resx create mode 100644 OnTopReplica/StoredRegion.cs create mode 100644 OnTopReplica/StoredRegionArray.cs create mode 100644 OnTopReplica/StoredRegionComparer.cs create mode 100644 OnTopReplica/Strings.Designer.cs create mode 100644 OnTopReplica/Strings.cs.resx create mode 100644 OnTopReplica/Strings.da.resx create mode 100644 OnTopReplica/Strings.de.resx create mode 100644 OnTopReplica/Strings.es.resx create mode 100644 OnTopReplica/Strings.fi.resx create mode 100644 OnTopReplica/Strings.it.resx create mode 100644 OnTopReplica/Strings.no.resx create mode 100644 OnTopReplica/Strings.pt.resx create mode 100644 OnTopReplica/Strings.resx create mode 100644 OnTopReplica/Strings.ru.resx create mode 100644 OnTopReplica/ThumbnailPanel.cs create mode 100644 OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs create mode 100644 OnTopReplica/Update/UpdateInformation.cs create mode 100644 OnTopReplica/Update/UpdateManager.cs create mode 100644 OnTopReplica/Win32Helper.cs create mode 100644 OnTopReplica/WindowHandle.cs create mode 100644 OnTopReplica/WindowListHelper.cs create mode 100644 OnTopReplica/WindowManager.cs create mode 100644 OnTopReplica/app.config create mode 100644 OriginalAssets/icon.pdn create mode 100644 OriginalAssets/new-icon.png diff --git a/.hgignore b/.hgignore new file mode 100644 index 0000000..104a7be --- /dev/null +++ b/.hgignore @@ -0,0 +1,7 @@ +glob:OnTopReplica.suo +glob:bin/* +glob:obj/* +glob:publish/* +glob:OnTopReplica/Assets/Thumbs.db +glob:*.psd +glob:Installer/OnTopReplica-Setup.exe diff --git a/Installer/header.bmp b/Installer/header.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7326b9c94076c8120ed837e0ccc93af0066fe9d5 GIT binary patch literal 25818 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 KA>PL3{`nV$p^qy7 literal 0 HcmV?d00001 diff --git a/Installer/script.nsi b/Installer/script.nsi new file mode 100644 index 0000000..2a5aa56 --- /dev/null +++ b/Installer/script.nsi @@ -0,0 +1,112 @@ +# INCLUDES +!include MUI2.nsh ;Modern interface +!include LogicLib.nsh ;nsDialogs + +# INIT +Name "OnTopReplica" +InstallDir "$LOCALAPPDATA\OnTopReplica" +OutFile "OnTopReplica-Setup.exe" +RequestExecutionLevel user + +# REFS +!define REG_UNINSTALL "Software\Microsoft\Windows\CurrentVersion\Uninstall\OnTopReplica" +!define START_LINK_DIR "$STARTMENU\Programs\OnTopReplica" +!define START_LINK_RUN "$STARTMENU\Programs\OnTopReplica\OnTopReplica.lnk" +!define START_LINK_UNINSTALLER "$STARTMENU\Programs\OnTopReplica\Uninstall OnTopReplica.lnk" +!define UNINSTALLER_NAME "OnTopReplica-Uninstall.exe" +!define WEBSITE_LINK "http://www.klopfenstein.net/lorenz.aspx/ontopreplica" + +# GRAPHICS +!define MUI_ICON "..\OnTopReplica\Assets\icon-new.ico" +!define MUI_UNICON "..\OnTopReplica\Assets\icon-new-red.ico" +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_RIGHT +!define MUI_HEADERIMAGE_BITMAP "header.bmp" +!define MUI_HEADERIMAGE_UNBITMAP "header.bmp" +#!define MUI_WELCOMEFINISHPAGE_BITMAP "banner.bmp" +#!define MUI_UNWELCOMEFINISHPAGE_BITMAP "banner.bmp" + +# TEXT AND SETTINGS +!define MUI_PAGE_HEADER_TEXT "OnTopReplica" + +!define MUI_FINISHPAGE_RUN "$INSTDIR\OnTopReplica.exe" +;!define MUI_FINISHPAGE_RUN_TEXT "Run OnTopReplica now." + +;Do not skip to finish automatially +!define MUI_FINISHPAGE_NOAUTOCLOSE +!define MUI_UNFINISHPAGE_NOAUTOCLOSE + +# PAGE DEFINITIONS +!insertmacro MUI_PAGE_WELCOME +;!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +# LANGUAGES +!insertmacro MUI_LANGUAGE "English" + +# CALLBACKS +Function RegisterApplication + ;Register uninstaller into Add/Remove panel (for local user only) + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayName" "OnTopReplica" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayIcon" "$\"$INSTDIR\OnTopReplica.exe$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "Publisher" "Lorenz Cuno Klopfenstein" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayVersion" "3.1.0.0" + WriteRegDWord HKCU "${REG_UNINSTALL}" "EstimatedSize" 800 ;KB + WriteRegStr HKCU "${REG_UNINSTALL}" "HelpLink" "${WEBSITE_LINK}" + WriteRegStr HKCU "${REG_UNINSTALL}" "URLInfoAbout" "${WEBSITE_LINK}" + WriteRegStr HKCU "${REG_UNINSTALL}" "InstallLocation" "$\"$INSTDIR$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "InstallSource" "$\"$EXEDIR$\"" + WriteRegDWord HKCU "${REG_UNINSTALL}" "NoModify" 1 + WriteRegDWord HKCU "${REG_UNINSTALL}" "NoRepair" 1 + WriteRegStr HKCU "${REG_UNINSTALL}" "UninstallString" "$\"$INSTDIR\${UNINSTALLER_NAME}$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "Comments" "Uninstalls OnTopReplica." + + ;Links + SetShellVarContext current + CreateDirectory "${START_LINK_DIR}" + CreateShortCut "${START_LINK_RUN}" "$INSTDIR\OnTopReplica.exe" + CreateShortCut "${START_LINK_UNINSTALLER}" "$INSTDIR\${UNINSTALLER_NAME}" +FunctionEnd + +Function un.DeregisterApplication + ;Deregister uninstaller from Add/Remove panel + DeleteRegKey HKCU "${REG_UNINSTALL}" + + ;Start menu links + SetShellVarContext current + RMDir /r "${START_LINK_DIR}" +FunctionEnd + +# INSTALL SECTIONS +Section "!OnTopReplica" OnTopReplica + SectionIn RO + + SetOutPath $INSTDIR + SetOverwrite on + File "..\OnTopReplica\bin\Release\OnTopReplica.exe" + File "..\OnTopReplica\bin\Release\VistaControls.dll" + + ;Install localization files + SetOutPath "$INSTDIR\it" + File "..\OnTopReplica\bin\Release\it\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\cs" + File "..\OnTopReplica\bin\Release\cs\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\da" + File "..\OnTopReplica\bin\Release\da\OnTopReplica.resources.dll" + + ;Uninstaller + WriteUninstaller "$INSTDIR\${UNINSTALLER_NAME}" + Call RegisterApplication +SectionEnd + +Section "Uninstall" + ;Remove whole directory (no data is stored there anyway) + RMDir /r "$INSTDIR" + + ;Remove uninstaller + Call un.DeregisterApplication +SectionEnd diff --git a/Installer/update.xml b/Installer/update.xml new file mode 100644 index 0000000..dd2bd9d --- /dev/null +++ b/Installer/update.xml @@ -0,0 +1,6 @@ + + + 3.1.0.0 + 2010-09-09T00:00:00Z + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + \ No newline at end of file diff --git a/Lib/VistaControls.dll b/Lib/VistaControls.dll new file mode 100644 index 0000000000000000000000000000000000000000..2b197bd372971504c5976d1983ba21795541ac1d GIT binary patch literal 95744 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 N9o)_wbscR&005)FFoOU9 literal 0 HcmV?d00001 diff --git a/Lib/VistaControls.pdb b/Lib/VistaControls.pdb new file mode 100644 index 0000000000000000000000000000000000000000..3fb6e9f536b9812d966ba4ab23f3b6c654433455 GIT binary patch literal 243200 zcmeF44V+a~x&P0RGb17>qo}Be0}P0Y2#A7;GQ2v-tIY7CqRcRJfRQsV%^VPn^r)zm zrdU{5WOVbEsdXt$sZ6Q7NvTCeMP)Z{Sy9)_ykt~f{eORJ?X}N7hYilm+0$QY)@Oe6 zoOAYC>shbQde*b|UeC<>+Lor)rlsl9NoP+w^UTtjl~YT{3?DI~SC5k>SH=j3nZMZ2 z;(YF|A7Zf|>vLE5=V*Z!pLy%8x4Okvo7#Mx&t2hPsRg#3I+mVK#4@JR7qw?h|0^}q zKW$x){PxJWMnJ5$2S_sZ)>{c^w+#Qf!asEjG%Z`ykZf(OS(Y4L+ZsE&wWap#rS+*~ z>)EvzELz!`Y-wGTs$H?DuBmoqL$Wd5x~RFO>6&CMAFi!$tZTZqb!k&eLu*a4rD@Ts z`qp$!ZBt{qr76|As5M#BQoB5zT%BIhv^v_XTav9!D_d%l6sEp5y^^oP>yoYY%Nmm{ z(K4!SYFN?~dGXUVtt;y4Yf`j)_G7dKZ*5N1r1sJ@Z*OEoiF+uc%O@?VQxQ2y(?gkV1XrxuL=B9%L+5MPySN!Qobq?&6Qlc{zO zt%GKro$%&UU8-hD)GX|xkh>Cf&O(u`jFVnXG+nA@O=pNN$zZ_Z)ZElsFJbA6v1q%< z6E4k7h?i({Ru$6AS2iqZtf}whaiuk-wk27Uj#$6hzsr}Uny&4P{%&e*UD@2+)Dm$Y zFn$_p8tYQ^jVq$<+;mGaxvD;SZN$0y3WAjv>eq-lWc9M-Ds)}coc1rL2bFn7#wF|O z>Q~jH+C*IX&d{_y3E-*v={2c{CsB?Z(3pw3Rm8y4j210R)wG)JO0*3x7Pg&GV3#-5 zMLcGdJz%P`MT>aM7*!J0lGzSe^ByO zszy ztR>&A&_2X@g5UQIw!PVRk=<(#<=Xf8{Rdzd_#q&P8KGh&wiLmiITXo^dX1D##Jv}M z1bh^11|I|Wfscbvflq^|`v1NaANkrZr*AvD^#AIATeW%X3r~{wQ(!yz8u&W+26!6$ zC-^3K2J8UmP~OqtTyP#317wpvA6x(~1ml42PFxJegK{td(A2RO&Oc}K z1+n!ze?Em#fKfa}1!!CLSha6PyIWWbH!CU7%Y2W|nkg4@7) z@Lupfa67mIydT^N?gAUY-QWY@gJ2`L2SnBX1CKiP?x|0F{IT)xS^v<*WBR`FFnNC# zd=C5v&^Z4*_yTwYJPN)D9s`eqZQx7b%it^E3Gh|$BzOvJ2VVnU2j2isgZ~8I1kZpS z;9KC^;92k-cpiKQd>8Bl-vi$VKLESH55bSXkHK#66Yx{;Gw=fVIruN|3-BWNZ}3a- zEASHdHTVtqE!YEo2YwI!2fPga0A2xq1h0ZWf!DzQg1z9+;C1j9un+td{0;mayaE0X zyb0a{u{eL=FwhMoKoKYghlB3m2+#u@33`HF;3#l3=nYE1G2mFx2OI~Y>i;#DPK!VK z-d*PndwuzeFCAOIZy0%>1%`vO!3Z!Ci~{F?(coNg9vB10g7bk^+6%!ra1po|j0ckK z6Tn0;2}}l4z*KMvr~uQzrC>Uk0cL_(U^bWoE(3ExC8z@PzE5Mat5x5Fm z4HkoHPy?2LT2Kd)U>R5nmV6d51M9(i!TZ4N;12M9a3{D6YyfwIjo=>eA@E@kRsa9^ z`svFWj~IRUZyv3@b=~Ujng(6r5NLs@`hRWHPaaP_a`)1ozps8z&4q)`JOrxVRYY1~ z6i9SuT`I9Um%GQav%l3_7jpejK`+XB6gV3622`od`tmu%9SzO}=YcU`EI1!r04@aM zz(wFZ0q-BlI{wJKnq0G|GTT^@44+Gm)v>7vzPy_dh4xv1fwe)0xb|# z|36>#~RLI|QoURYY1Ks{ZfxoueK&_PaCYU-_Fbins{eo9_|;R+eZJeTzcOUu;s5bJ zWqRzfD;xqX5LN&GY2Ki@qkDe+@Nakf^3ONC*sRA`y22sQ0#Wt!y&BUM4uKYks{gM# z_rev2Kk|X9J3m_V?Xu6!)#K7#;SgwnsQQ2ODU;WpvToh|Q-6K$xE~+&_1g}Cs&^HU z7Kp0I#QI3q;lbKYr}1OFr1|%6lr$`oM?l z2A!5V1ghRuL|P!K{{LS2=ihVr5ud;3jEaWJKaGAR(bc$zMhisM|J$~8d(ZaCw?1*& zg4Xfhxa!Y35~C{|0xb|#|L33obO=>C=pR8IEATk^!0~>y zChP3!<^>jd2345v9amalAyZ`KPChNLRFgUO@e&$v zz%pigx4@!B)|Y_+I5X?ipuo}vhF-u^LV;~pY1|`JacJvA>mH%NLgpSCS$N;h^?fYN zaXuC%2Yf6PSla9f{GlEk3T)d+a@!D1vj#mt6j-Xj*vx*6U|t7?XZB+Rv%6A0BqE#Q zc^)YWY)eVUnOQd!1&&5Z#(-0c0?SsVgQ_*L7tQuOSxhvZEbO-^I@~`A+n%GlzpIP_ zYmlA$Q=EScPnxz4?-U{6pI;y9hNHmRpu7ZqZxlFI@;rGIShiW#eaE!Mv|Z-SNx}t| z&^y{U*Cj}S<(%*Nftcg`KonTU{rpN4SibC>GoR{aIA;RwfU5FQc+-e?JQc9 zqXa}av+B%BePG8I1(rVB+D^jFw%#r}QN-=%Pouy(XaxbN3eJg!FY6)@(OOXe+Jnp8 z7jY4+%%0SkGke;sst5|}2@K!OM+7Zf74+>9lhpLotElJzJrhg z3v0xLTvJeF)POpD%z7V*tmJOqU4qMzPMmbP9!&}?{p{AttQ(U8n>oiNN`d7<1jrA{ z49^crfhA+g2feBkShgx$sYGO(2zq5Hv{b%^o1H-s$f2;g6M?kMZnhRpkz1Duo?Dj! zJ3719T9o50rogr}noF{7a@Ivmf#uxa=S+bml)Q{)b1mWMc~>m3Ox}uU&6AbRPfdX> z=dFu*&Tk4VDLTg@e|6NsGnRV$CK_O|>fRCU8OPDjCjF69@+jHiV5%y6?cYiH% zI#H!@G1Q4#QN9nO0^2&UK4m`!92XThHUjHZ_G2LX=t_^-$T>rbuFP19U8V(=G-tD& z<1o0u(&n1p?cO^Q`RmQXxl<-ZxXp7ep9*Zv3g6FDR5qay&r!E~cW8fl1YVSSaJF_| ze0G5IPQ-@+2!^>F_Wdz%9fuiz7wkA3zZ0Bm{_@Gz$B2AqT&#PXd0{9|Dz3?UTJbj= zihNBmK1slbj=`5mH~8~J%ZJGCCGZD+8vzg9H`RIEE?h?$zYivp{vNQL1IZr;!7z-x zbdI-t|2)Q9G6~9j#*z5(;NbH4;JtkQHsv{$db;p%PyBk2Pcd~`2EJ2-Um?o2mo}Jo zl8c3pljHC^bUbH*a{&6M$g3OlDbSv9(_#23pw1qvDJb{}QiLmOR6o5;t;I? zxVR0cJzSxRK?a=BSJNlm6rWptzd5imPkExRMtx z?v5>2m^PCfQCwXM#+6KTaqs=?!*i9dWToQjS}?BUii`We_+PwVaV2-6>i@gn_|W3J zKJ!%h##2Y%`t-b`%S;)V!@)90*10mQ{L7r_DuZO8;_6y3uH>JKd)i$;oTa#ui;Amj z!MKv^F7DP}bz7sjlKYCQYr(jZ*DmfGWxq3hLARN>x)zKp8SCPH;q>!QRlbtF%2(Hd zaV0BV+~VfjO#4cfDz2^t<7%C9aX&Kbp3f;?tzU|(Yr(i$6I|RI223`6thGXMbuAcI zve3nSb*L?bh8;@Uq-<9JZ-(IXaKj-<8GgJnx z*D8b7>|hzRzPj>OTsUo~;%ePhTwM#s)w=59K6!oJV#U>ZtGK!rjH@-z#T`1d;Tgr% zny9$C7L2QP+QohFw$c@ftM%KI7aEMKwaLZ(&b}}GKykHZDXy*s<7)kKalgMa-CuFF zt|_jr1>;ILadG!lpEy);9|MZ3Yr(kE16<#S-=0UeuF>#Snt35`@j#DJ^u-^HbHulE5r9*dhZ^ULHd=-pliYMYMpm+ zXYRRXkm73nS6p2S#+A#l;=`;LK|kS9*-%>RK?abRie_ z$=@G4L2;!cDXy*sGR#q~va!qSG*)V)kQ!0h0Sv=LZ4!Z$5JQkET5__=v;4^3bEzx;8U5+4?F%mNI>ee;-t6 zLbq7ru&KuHCEZi3JYM713b1svbo99K2&Zq z5X~PK!((S4{j9G%(OUiU!Wah5U&`&CE;gaLIkiR}fxDHw%ysz+R9ttxf2`ExGs?P{ z;z}Ymsj_TD*$4vPGzN#iU75)<5x3)Z1PR=@ts?!;%I&yCbuob{Z^pB}u!Nd%%W`AJ z?a5Hpo46T1%bRhgn`RN7uo8^W1T%#hV&=pKuG>1q{klih|M~tO6L`}~;7KdNyiMSV zs~GQBGw^a%%uJqzm#bpDUd_e3)n3Y^xuw0m0_vdgXj~4J+)IJ3(0MHoRsZMvf9#Q! z?|9J8%6jv}MI-m&W;WF&>D;h6KQIu#GFiK_r9Qo8_?%=*Lw#$j77?{ZFi-EX^x@{Y zbgm8b<|p#q%u~g;cj4#MwA3`1^qOz&S!-B!jA!x#$&@Y3XN5T))#r0rk1nDR=BMGc z>82KW3xAvSEg%<0d+XT+p4{rKLJ+iGxo{qF-jB{X?acKvSgj&ydA%& z`aj?Q;{n(2gVgU;uYPP*{BQyF`?Ray>_%(FtxVUnq}x_M`N?&1HorZqtpeeDeiu{x z`xSpRpWmdK#@Zx03@!S0?HR`JVz2*pdHl%U5BL%+{(bT`ss6M)C)U)ih@_r^?$zqFUM=U$IByz?=I$p!D5hw)v?^1Y8 zcf8bp1@@ccwaMcZtk-mS&2_xgZw2yl>wb6aTlw{x0k10@ui&`!Hq&iw$Ef;0-~ZQs z`}UA^*tO+LA@!R@{Zikeiy}lW&R|I@?pGCoIM)SD}K0kDPRG)Uvui&_F_1Wq13F`6l;Pc;( zkNT+qK5jgedy7hNJj{pBD~=EKiK_n(7_`s2ZS4x_#yDb==(^UK;v^5<8n zHz0!Th|Qq*D92Cj7y&=mZ|gmN*kJsCFYe-#9ly$C+KQ=;)yv7KVKRacCR<|u=A5a<>?<8*@On3YHV5=}?ZB$Y9|9<|z<|dc&@Xm6h^s?h_>v|NN zFB9Fq*DL+$f%d4TJ^mDEkEy(^-nyVZy}W59Q%nbFkhG3sEQ9IrXYSSH?3j!gdx^Z)fk9xrjO zqh7Vydd+NF*_xb@tXY-pV7**ll^tvA71X22v$!S8Yf`Gdc7{;ThHZ&-ee; z7X8nyQ+vF6V(alkJ@qU`e=_qdSWmAP+f&E&NFje#l`zFc6DVA^d`arx2dyp3n;NOu;jq$1|$_Kal^g26(Q`Aj(7Uawf}1VKmIcdEB0J>c;Twr>-BHyng-V2XBVJUQNF z-o26_Z^mfxrnlqm3EE)2qw4>B|6kJY7FSt;8{`*yPnSuaZ=-c`eVnIk1=nB{$KuCb zT_@MK@{*;N4|Bh66K%5(D87pmc8{SW_J7HueEYwf<6FIQmU=c`l?Sz__<2{(X^r)1 z&c>;~4tpoBh3XcF;5QLk4EfgpPq? zVLD?f^o`Eia?uIUe{tkLM^lwm}kI3kG8J^?HbcdodXO4zeLyw2nKu>|zLWe@p zMKWWdlqEA8$~vCu#vRrKcL5TyGr`&5T#sG=9STapNnoG{#Zw$XpHKGaSrD&Bc9cVBh{Ww-Zm;%=+UJ!GDn1q#TsjO3eWkJuS-8D{S1D&0ruWQ_s02MVS` z9+`Bay<%rE*3LHR^bCZ(rxK5>|MUHS-2hL?rwo5u{%(S*?TTXk{d%i@_TER_x7pDR zF{ZBx?jdY<_lYZhqCJ?W1HEykF=Fk-;cfVnJRa8G8_wgW9uLuc9@cgn z&f}LR{;7UH)p&L8L)jF9uv3pao?U9%!B)^rvHkes`ue0kNxZY)Ir9} zQKab+;AicL@z~L}$T{uY+v8UP)gJR0!|w#zxo=K8TU%k=*GGf%udm@Zz#pI1-WM*r zPb98nzNloxpqQPv8lTpFmu;6IkNzh9Si?hct?ezmJcEcERsZMv|Ehqu0_&^k>+_+g zLa~dX$3V-WlJgUwS|5ve62z{Pef;&In(Nk<758mn#r%doV8RsAN>*F~<@u*r1#~F% zQs`Ldbm$}~&u_xxH1bE=GV@|E{IcuNYT~RmwxoD$4WAV>K2zos`U&a9cP?}wv=YjF z``CQwZ0G`LHFP2LUC=9_%JWL7UH2!!SCBq2#-siGdTKqkwyb#UbUrHt$NFOOQT?i+ zs$Y%CcO?0o;OC+Cwsxtw|2#v2-;}q)a?(iN)k8IYS3tEcN7euN{=Zg|{~+>T1-0vb zPs;0bpuT>&RlX`?&j_D)Ye=thzZEA zVQod>>(ecy(HOW5sxi0TpKm2=?_yNUt{A43#YV7_=11^ULI` zyfoj2oBX2c|0ix=vE{b$vuA&6*B7SV@!*Z9>TFhko2w7NTXX6&P|52Dq5Yu`LpA0< z2R$FU6>7^jfHDpQL&52O-IbrU)5Ohlf_&wAcHi>|=_Owtg`NogBD56x7*zY8ZBXgn zMa&Yb9}e;Jmd;>pGU4m_S4gXNeZu5%TuwS`R|!w|l$UP1Nq1~cI%^vVPxlQk-P0!B zF*)h1eIqN^gSyQ##FwnyVbYzFlg`>Fvizdz|9t;nufbpQatj5~eDKUAlqIXP|G+Ef z524zx|HzbAb84_(W{q{bkGFD7V<0B|6k10%;U5vf*`X4Iv@HIsP^u^hc1Nv8G1SNaQfj2=rPbMp(jEYK~IHV4NXw` z1U0t%^4U zltyv&S(K;H=|!7Pdw=QIN;k`+;;r>vdWP~p7if*12{Z;zG-Gfteask*={;Zty+5RY zY>2Ic-VdGtJHZ~%o!?8!yu~u&-ec|4B}e~2F8I!K+j)o1P_C!!3$s?=*=V@ z1}1|PSO>O%ZD1F88FW8_b^_x-6-a?~U<=p=UIhC*=OB7 zrgh8{g}#=U|0CkD;=Ti{jU=XLJM1}d{zKxrul^!2=a5$ETwHfwogvIJV?(W%O66{w zP4^S?HDu1F3`*n5xz{Tv!`=@gi8CTtPIsm$&q1e??Xw~0^NXtg^ZkE0d%ol6?D^f* zNrW|)nE&Tczv-@iJVW7C3k|JXiR9TXp!hD1d;jJ{zx@k)|0chTl8XwZ=D+LVJ5xGTRvD@vU(NzPlmB6oy+LJjNQx; ztUD2`m$h32%RHL68uRBuwLg&FQ$m?b(71Y` z-6@X^z>b0JJ{^&5)=h}ffs|Id&*{)|DEbhqx4jQB2|9=G=suatpi`lB&`Y39BkkGD zzI_%{ZPg2H@VMA2AiC0{?z^QbR|T;Bj!wyEg#-|91?fPV>(X^3M~rR*y~^-W-h<#Z z!1Rsu1C}#$)(FJdF`pyxi(nt<%jR~@+Ip}BYy*0(Y!7Hph^qhd{eMOE{@=mY zh#(K|eZk=#9Yr7Kyd#vq9(81W(fG{2|L2|yVSj5vt0m??wy)xg272qu>_*Q|#)P^$ zUL&}M?$Y71aw{d`q1kL2d%-9alz|4+lZg2b7_hCDtN7R zN%onygT7x(8ztg)ZFcSM?(x>Czy#*8A1a#lH4IH)DrXmLfY^JugtN$wRJgV+yxZh#c^X7 z7Jj=en7Me)1P(-2hV9kCTp67Xw%RMB#*ho+C}U!9Kv$fbY^+PR@C2Z|w6sqL%jdVp z<0rZA!bR{q((%)CtP$|jTD2PdVSv>gv=&Cy|M~vEda;uCij{-0{@Nz~DPUz{T+c_C zpmwgdAK7JFJzx^F55G-;j)ZEh=9*cnSvSqI1TD}@`Caen_hN*Ua7Vucn?MP(ri7GE z*U2zYtlW$HGP6Hv)BLWW^;u<*jiMh^HVW}v2!*d%x3NnY8^ybzvQgXy)%txOR5prF zK^H^62(5-b2d#nbf-Zsn3R(;O8?+937`&5EP3Wc2q0nVe_9U_8(DBfE=zQok(5s;< zpbb#kFr)npQ$O>5Xd_g%o+hYlJ&2sl6Hv;Uc@|1LWxfxky=g1yffxITs{ixPf9hp) zni23h$?u1C)ZNOyxGzK5lAAFJiLIr4>WBA0(d}b5K!-px{GA2835w{C-3+}L`pO^Q z%+P1CTlr33#po02Hwx?aMfCp|_H1L&twsVXZF(X3+?bG{u<|7C%OXv~3ZSr&yi}HZ zpwclv1V!$~HbGB=egtaIh>(7IA^gtw^Dg7Ml@;!v&Zf@$i`LSRjh^qhd z&wrBL>KxcTP;O;r@O|*0-iAKVrn5nU?}X1?*_h_}vf=p6K%;1`Ot!45uT8d^bsv`W zINjlersgzv5$w7d{C(WT%N8%L=b5Y-O|>urO#X@e^g+qE5x~|vZrVUm zgMB)XA&hP!oAHgk=#XB>s=a)d{MQ**3i{kk|7-!B8KUa{{PUkW(#P%9$!#BC**`4z z{1>;5moo+xG;duP50h0B0_!*%gNCL?`@%Jm+M}0`B`=j(eJ*)&g~>P0j@O2uJUN#6 zTg=aWpuM2SLHW#>wQ@y!^&^lzS($RKFHgo1&z3p-d5Tj>dkk?(p^}@7FXYQP@HorJ zJ~y^>=A1%ru#Iu`T!i!gK<7UhhF$;Ou`LkQ{6FctU)*ua&4Y)|npbk-H&5AdU)VFZ zZIR&z+wTw2xga?%Cx@HEsrAhKaPRzQHMEK6ojsLvHpp-iudGR#6XH>ZIwo(5_mely z2C&DIH_Sgj+>0Ln@54QLW9`d&OG%zP%sx!_bshyu z^1Cf#Th2$Z`}6#I^-hopVWTDH|3|4ix8-7{YvwiA$zX2wzZB#J77!EHyYAY3aG>15 z@+sY3(yb#MNn!&6>6Cvk-SSB(Ts%%}S=qYWuXpfzEtebTT7!k^?egC36?o^5H*sQUlNFZD0IZ^(zQ=sUUbnwOs)H~?KfwlPo#zDnQm z$3w7PWy?|f1+UjPE^Shpw$wqk24}NzW5U@R7HZKY{KyjXpXXtUd!wY8F(HHD?8b`8 zldN52H;q|F8pU^UG%l14dcRkGGat`$=Y8qAbo9LIV{{#z)7YvYf$Qw?y!VxrR^`a1 zWxr-j3-lTnI6i@QMLNRA$wtl{l5ZiFzbByd6TH#8BGKBeMbLhPh#|c_6nJ9?BMk*XYe_tGU8f&AZ~O6zM6LI zs}F>MvDi%s#))`WgJ(S6TGJK8%LoGKnefn%C5qW6&|K!(%+b)O`afU)8vwtFPJzyW%6>B!%5Ry=q0^yt&{~!`y zoFVk-B5*D!2WN0q{X7U<08Rp@fa45JV99gOgKZ|BU8mx*KbdeO|2KG_uYiZzPPRVH zAKCg;H`)4F-qiNS7F7e)SX%;}4XuSzK4a@^fF}8_IxK@GC?hKf(6d6NU=TPS=(#4n zKcr`nhJoWu|Gq&wyB5X$b?jJvdle`&#%vjzpekbvlySx#OZ&X?Dkyy&LndX)p{t>^ zvF@p7bWZbjD)`{W&rf);@3Zm4_`N-Wv1R61H|S@dTu{I3sT1!z!OP&CcK-X$yYGH- zA!X}2|2=#DJGN}&bAs{d2l=-c$~TRTCqMYyg=#bT!BAXX3&xdS3>WviZ!JwJ?sE(V z#nrW7+^+NAX%xac>HK%~@#Tl_KGO6tYo_|`C1|kUjo)qHG)y)?K=P6wu3wWohC6s{%Bmk4ZgeL9JSdn zZyxJfu#e?~$Hkrd>dSSCtMhx+zPc8S+jaiCX2yKA#k7QO3JYO{Z)^WXFBKmSh|;5H&3t2ignsWh=dE(D9}jT;ySwi8k#u{o&pL4ayDi^Hc&oo&qa;<}SEd}{_mNm$&A3Is z-)|pzGHFlY_k*4PZtD>J`S1DmpD53NZ>3&gV1IKt{hUb=j$F4+ZkDcT9o}I(pN7(C)&!8RaW#Y{51YS|i|9tyT(8hJJehTZ? z;C-TZ-udt0G6h?Z33^w+g>zYtI(GiM<-u4pa>3ot?(J>PgX7{n;uLcJyDRIgDfW}2 z?)QAk5G=N5j&P+V*}!S#IY-X7ZQO^~?^UmU#|M~R0KdY|e-GzZjb5t|Pr{&nDl1!981-{l^ac ze+B=4|LpdkYajUG&$QR>vj2qp|8pX~%l>0qg8S0GZL72V|3zv4(LTrNhaEZpUHfFW zFW%`524^qP*RQefuyzzhv_6bvlTf-lfa1FAL7l%N`~QyZ+4TIU)qUtXe;@sivi}_1 z&rz;U=AMU${`~h`K5jgeA4TU7WEXK^K5Y~{|2^3Md%Q^8llFsb6Td3=_PBZdzlB(e z>#i5t|6zMUjfpP%PxifpsO>*`w_zPn7{W6Jx_`{w^Gqoe-QL{4=h+o=#>v^xx%@6# z3B~?p&hr$N9?5<;v&5rO+JAa`R<_g0+l6YzadhXu=guEDPoqEoJ(rKO_jJzr@8P`i z&wtnack+UF+)U838ZO8NVb7W6mjj%Upgi^grE_tEvY^ZUL&LPo|6gw3x&G-4`%i*C zPsGFdWkT#tUG|^1xfc=Ap6_J)PfYKYcG%}&?znOFd_n?&py#GsC`XP&7xeBr#dcefloV!rUaXMz6z!g+O$ z|G#ivo#X#6mzP`jJJ0`LIKS1}6cB>@#+me44V`FIM6DUlC#7D#B5p_S`?&GgIsX50 z>*jdUN;|6e$t=>7kN^LZ!Pf6UEW<2I^2{4Y$Nyh$z1-Z4 z-v3`NAJ=}J`&m=&NY_|Aq5h?eXmE7($oB^A&VLPxq^7sa+oM zIcS}VbwrPF>qh7K|I4kTquInD75jzW9Q|r6c|5 z>iK90&jxr#pQTXN$-4HJZ5!MB)Fhh`TmLoR=nF zfJMB2s=W2SfqiZ@ZqB~uCv%^7ky!w&PXU<(%emjDTXPejx(_@NdKz>RbQBaDVTR`^ z^?s;%C$<851>Y})>Upyn&=t_x&}*S{pf^M3LN`L$<8}G}qa7M)2kGFVQTzXM&%Wxp z&k;aj6@0XA&?gx^-+_*wNpOlu5u?DpH$9Hu?Q^nOe?!4MZt(KRczN7p@+c*btly|A#CG~NE!SXJQNMY9Hp2K^CMaqVO; z9nU72P{e=MdK1PHUuy~HlN-NE7ekNXdpT5cVgfY5orW&|f41%2Gfu%dx0p7PepL+} z3av417LEVEl*y}aOnngaCs+-i5oXUHkGU}*olpI(&_p_olV+&aj~1wOg;uD_+U5U` zMj!;+?49WU4|#6hiMIBgxW9G>$KNODQ?2iuwUp7m?|!Jxrjeg3rw>;1dok~kNEhIp zEfa!ue}FWS16}_A-dXnQ&V*{Oej#)^bT(9b_A8+?q06ANpw~mS zhrb7^J^aH^)`>3vf1E`APWS(}6G6WR^h}`RfpV}Aq`@8F0k9ps0QQ1DD0joa3{VHw zfz99vunX)3JrVrFz`vURKiwbIdMbIjwcM_S=kQs9DG@6(pUl~P?K=Pcrc-TR%s~@^ zdkW3BUYt(Hek>;0e2o@eLNn+|x>7I}%m8&@E!YSi22TUJ)PMiy1tlbKwuB$>M^XG{ zsrVD}-v8LdPm1fVxA!^kVEmkOn#ogb*`D(o)V|VL^4|q=cI$Pf0$JMxQDY;in|z>| zO9yzi{YB#Goqp|ATwHhd3Qg_3nZP~NcKiRc_tn+Ds;eufJNv=eQ(zmz?`!dhU^zSF z|IgZx^ZC`O;Rt;!G5^nj-x$YF&w53`&)M_C{Qr%HpY!d<{eyp?|G(TeabGdnKB?SJG&nlAr;^JoXz?=Od{trtNNy`AR&Zxnea;({GJI)h#^#=Ymc z-JA30D;{vayZ3)sQ~ZGarr7$6QpDW%KlkyI;=1d>cYZqZ{%6?xe+OG5f;>FGfByjg zf3{6&-kj&5*x#DaYKi%e&8tBFf0mc}K>g?BQ>iDPEA3y5QVT=C27#y0!^WBvBm zFyBAlNb7%3*@s?dfawe@4WrQOC_TEaVuoHHZLe$WgUdV=sudJtJbzt8;DW#%`GZ zKjhB;C;xxB{p@tGF#mt@$5*)jzufuk_=WlZ!%iN7|G!**(j8UGtsI0>g{9DVtJu-VUyH7W6mu59JPD<4$8`Bfg>6ZE>E7Q2(V-2xq zgLEe^<>S&8sv8E+1bk=t|I5_}C1XeU^^VT}A9_+|82Pd`XA-e$|GrBVzopREw2zz0 zXUTHuP1tcwV4q?3aRZ^cPd6AU-SJs^9r6EX`&@0KGON$k54Ih`&uu-H z_SU-E2dev~+$+uSnfcN-|9`g3(fj{^gdsNw0Ytb{+l7$k5Hu7pb%4sP4Bw zjD8LYq%*#Q&0a{?v-#<0&RRS~Wp(!h>FlKO=YP2}Auu-mAlt#F;ko_qWc(XmTz5S< z|HJn3ZIR&z+wZ?~{Qu?3eD`k19<22f0|$Ze;)sTOTBh*wx4Vr znbXa0zkcM(o7{2a`e3^nkDxWrg&ewaI?x8j*0sWKEI zKg0b0@r+b)HP8lq3d)h?x zwd;`GJ8tnh_bk`JQ2FK?A0dx0|9|(x!|s1zsJZO5d(i)%yYA#rkw1_9b*r8J|E#QW zZ6N)>0$4pL+~3HFu><>UIFSE8s}Hoz|DRo(<7S8}9_KmY*tIh5``A62-?jq<_LYWDIdlNuCqn7|cf9{U zyH35c{r}muD0=^YbLk)XVO#)RLw{Wby$&iNsoz(4ziTh?o>=V0hoCod{TtAmpwB>W zhJFWnEA)rZ+n{zFAyGJ4+>WQSp!HxhdLbi{&?~0*N$l=?fboHN8P{(FCHy`FI>@(k zXna~fu5o`IK`r&4sd-<_j=kHViP(UgbXNYy;b%iI-3H=I_qp4o8<>;M%ImoC-74`G zOvk?1*kjncW)iW5Iq9rijmI=M^3!R*e-yv-94+b2%t>cuWjMdivi~suDTn$-^Zr_3 z-|^Z@8GD0Isj!4SC6-o0`f*_dr~u1B2IxG9tzZXu5xfEVkY*T|461?7)7$_a08fBj zz~oC~_5s5{IZ#L(VX5Sn3;&0#{~|XW%$g+Da=%50!Jy6iv9ib<7a#=p})oBbzDe`mb-c1`Iu*8Ugw$Az|q zwjvbp=$ZBU+lpK=`cK0?AORJ(T9wt#NzuDh`gC3wo&z0XiZyfe7TDZBb;J}aO%`gV2M;We))V@7gb&r1z}%HFOq z!skqaGRdcJ5vhu}+v@Tj!S$=Xyu;R{GSVt<>TB|F>8kl{g_jPoU_wyO8%lhA*R$pl z+pMygQs^)!Fl~7j^lZK-uo~)}UiGDWzTsg$E2y1a;C+qaUyKaM+-a@z>s!+`vs)%6 z(`oCY-q`~g117DDAKd4(cTc0WmhRnePvgp3s*8k~mYDzY#g`bBQ`XAls$^rZtZkE- zb|0m>2iJz4Dinb=-wzKF=dxU$ZSw!;(r8bjs?c|=h6)Gw|L4-lW}?{HbRF~mmxvGU zp|R%b`Wl}Ze=*yKaepkRjD3MZKU6^Z*;d>Xux%dq`yx1>hs5lBJ`JjQB7I{3RAY1y zRAW>&amJ@PV|+NYggcVQp^uc1qv-LR1aKVQzK>&8iKphKZHKtu7s0v76v=caj-E+S z-7bV`o*}cy+nrx<5i&ylz>kL>8w<*c{t^-d)py%5Jo^szg1&V82(S>Sjtaqc`2hL% zpmkp3cge?3n6*3ZKU>?4-!%6XHWF8P+ym8k`Vh1Tj(R^{Wlt)GvID*5U)SL%dQ#G@~ZY^8bj3& zufWT$GtuyJO)^3sOU(aQ;jz{6nBB*mzhHk3*mRa$8U0g-=E<3be11)2JnzXmR%e5b~_H;*l>D#sU|Gp7)#9m*WlOP z$Qr&bZno^28q+OJsm1w~Eu^j+Jl?^!{a<*Wb2z zv-~RSugi91M|e4XqFDS%bnu`|}IV6dKlh35^9r|LPoxu&*0joGVX{pfhz?=cD1?{DzB z)$vmO3gqS5vab{yLa<(chu23OFV)Lmh$f`!mo+vZeG2NoJ3OAj`n>^9tKU!<)h{BR z&JNRM|M|z*f6nvPWHYGP?DRlsHmc6tq;7rlP@mti{E}wLOeGapd%jn(Sv`y$NqM+* z+RtcgqTdJiGrn(ZUDt35yFQZNbzP>gupc!|{TzOG`=V@mYzj-4GD7V&)h&3f zHr=8vjNz-M2wtm8wx;VF&3b0?)lwh4-rBUXrIyyvy;F(u;I+Ed_IGbT?zIKaSRrlH zc4K>B2c_+%lkWRoo2%?v@`Cxah&{h)A1bs>_S^fgPIqv!V}mwBghiH^|8X)cXM>d6 z=T>FWI;Th~?@N?*5$ToI#aCbH`k8)Tb4D2lO4`)6%xx>Ly`SdFtNjek7qk0{xW6CK zxG|jtr5VkBW*t&9LE ze`Whm5qIab=Ts=-4xrjzdsM5Fhu<^N{Xz{TwuPAl7BFX@(w^7q+2MQ8i-<4TFdnKs zXt|d@n1}k;>dtYUA83NoRNIf{`~l6W*`$??YYtTQ#<@_&VQd~$@`r;cZo@_ z{e5nmS$#G<55$YfW0{x7a+8N_ciB8D$lL0v+2=zgM^rwA6{P77rEN_)nAB#jAXhR8 zG~Oblo6hiZ^-_CS9W-lq2)0KH>C^|UCVekIo!ZOlk=b;TD}8~2Y_;yZDV5FYf8q7M zfw*eB41a378=*R5EZ;t2^|^3<>q*mtx@k;{pVi00`Mr<0;&;2p?+(N7`2F}B{?;qwsnJCZmLLwiC$2bE6vAJ9?IFF;w!Vvj&|Z?h=YGiJw^ zo+T*r$H{UAh1D10Mt2~IY>Kf(8Z3mzNZ%X!I8^(wFF^-DzX}}$eG1CFj%|lB$6{ZH zGR9*+gtkC`1ic=*8~Q2ePoNJ#Ux4m_{v7%<=r5rE1O0F4n^4_r&_eiYz8?$yJ#-k9 zIGHKXSD>}fKSJLF{S)+l=xfj?pnIV&K>rM79~b)z^mr!DJ}B=|#Qp}={coMOnqUn| z7<=CwzU%z0^TBCgC|JR7n&Y#f6TlEwevM!~*D;RYM}g7c(_GWNl}|x+)`2AUB7>%eBP z4eSIj1D%gv3dVvtU^!S1wt($mH%O3AKQIndfo8BCJPe)&FM|Y?9R?$jM=s8A?VTk_F3pD zP|c^IP|YX3i&a89^Gb4Gc81**KCfGTgzp={m@ zV_GMieQqzG6_n0}b?oz|4D*bKCS-Yv)m$SzX=USC?#1P(QeED{-14;DPKhlEL<7y6NY{l#8e%uO!i-mkgo>+bo!L`21RaSD|IZ+D+3 z|GrS?$&BLt#*AyHr@eNnc8vt(8HwV14$w~0AvOTTcX4DhQ1Y__d*>F66lBxJJ-*#D ztACWnm2H?e26`xSFZ3tEpIzDJHMY23Y|of>eB6DOogN>u^~0&~dCT#c(pbYymWipA zJSecdzOjy28Z#qEw;3p%i|g6~d1cx}87^7Ue)~aw8O!bDM@nTwDP_E9yf>ah%2-I7 zyyWpaKg%vQ0DjXB!cT27nRHu$(z&>u)h6pT;R({;To_0hZ*pavT;H1CaVn$Eh^r#4 z(z&>uRmOc@8G~|Y5M_MCmC^RwC8?U$)~PKu4eXKIIA`qooIg&MOF1KSx5WG}gWvW} z;t~k2EX4r ze%=@hc3>g%F6_Mz*23byb`rl$G87Py-F`S7e#PaUT$$F$BH37z3RJKo^>cRHp5DN8 zdkHZ;1AgZ^ewFUM{Hdw>=5y-iG^Ofm*R*xag!iG&fL93e_x1S*wxU}po^hrfdzc-2i|MSC4Jql>2XsYz8YQE>HOv7 zhsc)goO4<1I~aQ2z67|vfXDP zZo5uq-*?gQapk_6_|ml(Lsjk?sLG8>kx{v8p(=MBRC9PKRDH7ynp^H`ymAlCDYy98 zH8Ae4qZ$L%Kw$;>h(GZR|3;|zH$la}87lrQP_;oTG?%a1t2BqF;@R~tJ7$Az^=|U$ zNu0GNud#kxDV<%%!rz<75MO1#(WE;&C!Jl7!foQW5Wj?Ux0-b2IqB@W5?;>t5ntuJ z-J~0nlg_RW;r#CM_-!!h#^uJ_^;m-V7ZM{TMXcXI0FryL0lkviY5F|0%(~3jS!lLR7Sbk{nY{OMP4jc8CIMkR7(ruJfNHQBYyb~~r@>3$4bTrm!)Q3geR?V`mFf zKPiyCA7o>=cY;^15c{9vy6c7R{X1_j-(~-at4B3n^6Wot8UOiqrVUzn2$BUZ%wU`x zF)=XyE0XogmbdS@qkKO5JU)^&F3g0_3678IQve_L{8pVe&xScB&{^;q;`mfGK zwMDBNm4^atY}OETV$$dySN2(VJAT4>NN*1Euwx*c$7qiS?XVvY+oy4r!-QZx&L_U^ zxk(O6=FVa5P>^o;0uA^o=+1)I4~zygKpj{MHiE5S2Y3m*0s7L&r_;dFF)lYb3V%mlW22Zj8XFp`=vkRQ(6gaO@KjVU?m9>>mcHWp=tIX4fuMFAL3>XIl+~=) z&Q@7r3ZMJ@>CY+GST_)Z-V_5B`fd zGaNtZ2Qycu()FqO#$;P{gm7NiGfhzaUHApODjhG??I64oBy#J&>;Ir!{}y@O-J$-s zwy0qLkAs)ZD?7&}dL=Uy80)702YdZL#Ps`_2krAk^mj8j(EXjUUSDY6<-!frsV9TY zT$<3_oLbY?KCrfnwWMcx@b}?wo~gXT>%{Ohb>eol8PkmCjGi}3$QsUn%?q`QEl*tc z#7qdb3u4IF77#xfs;YZynFMbvyJsrgT-bA@P1_r?eE|2a!OMVGs7zg*yjDIX*cQY) z*#F8$Avl(9q^@VWwhGbz6xUtv4E?W?w}om__1D>_Fzr2o&ba?88;J`yQRj2=>fAPY zV8@5rOyk4ND|i1l$m3?>jEjJW`cU)7_Cfd_A9;SGWD(mh^;UIcrALhgIX zwq4)wbB;*`bPC_+K(&4^glhdpjGO0&mO)v^GfmJ-q3fa3q4z*Zlld4_ z_Ob_|bD?@ZM(-~t^i%_-)Oi@iu~M$e&N$eNqGBU2^qgK+C#&LmAKFUwA7f(YK4Wqh zd8;lPplZ^)p{%1Z%8_AdFz*{4PRii?FN<@5;B|rdtUc*6!-ubV^Z!LJuDjkD^WT`# zo0<^=tLkexU^e)UVE#LQVfT(T58E#<_P_V*=CXSakYVG8qiLgC^4h39@*;oV&--d7 z1oemB@c1{!L;Ayv;3gNRbM0eoXt>Vu(KGGc`;IrN16RZ!NBl%W=#uk^re!m*xw7P*A|bTTZhE( zMEDi40Gg?6`OR9HN_B{jt5kjn9}vLu{`;);jpxoB}y(cBylD;qeI zhU*HNx6=I-usz*e6g%9HYv*-V?+nJhAP{#PY2WGgpBEU&dqK}q#w8dBsz3^?16#m0 zunW8ldNR<6iK!O7H10z6!21>-O9p`#)FXL=R zdcI1*6O!ihEyQ_-AJncfyM|Qqmb4MLZPWX5dAW5&{yh~m7xdBTw!8Er!S#_o%hqA- z8+^&r|L^ePy6c7N|5^*MY8-qmpwm_6KESI6b`(Az;Ox^b`wxx7qT~YS=oil}^~MzX zmfFybi=JknW#^RAyulc>`)s~w4B9iFdBwA)LHdQ(edVzOlmQnvI2PKwXA8#9f8N(U zbBLPZPnBl)ws)T=*`adhj~h21-C0i$5yyo%ZD;KT{4%?-vN=_s=7@ya6?|1Yut$sS z21?`NN&iu^Vtet*o2&omy2=uEeI&o@y2f|d^-=up+9P`%duUT@JM=319I^UYZRnmO z-l{?o##mzh^Zrk6*ELD0JE%*+`ca#}HYhmAk+yeu1Knkn_n}KXk=a^V_E~!rx zPWO0gO_e@%CY1Hmtf?jFsK>>=0kpoC`8w6KQk$Q*<;c+`#*$w8fYb4;{L1Qshmp5r zkHUq-RUVXuG^hLegRajnwLGM!D`;Li9dELUztk_!iqZqeooV7$`EfG`i96rKUFgTX z=OA$xo4AYpxDOsA?s5~i+K>CxLE^s4#GU8Il`f~gQ#(ioI+@4(GQsIr`tob${C~K6 zNtd|iOlLG{)8}OWHsUFbix-sr9XSW=ANd@JTl-QP41{3a_fYre0(GCH2hLUXIq4R~ zZJQ2e_pNG2$vY>zY+GgbmXh((aTQ=`?h7-o&3mxyDKhpP$+NHlpXcXc%NCx;R4;c^enV)rkv-p#IG|f{{(^!{E>R5=GO{
    _Yz#1LdU|vbb;vXy+!-!0qz`{JG^nBI=R3erTAgK1lnX`P3?+h zEln#~6l>}mIW>go(XR2Kc6Q@KZ)ayVXl~n@Km- zq|^L&`hOjt6@vPIcgF2>XE*D>{eNUi&b=_{i3&j;N5JFq4)L(}m>mx{w`_UC@5c_K z?phzTzoQ?iyXJ+?hR`|p_E{9xj+iY^cpkK~$pih&M^raau-a%*UB@+)ON zjRrG7HBeu>G4`sb9jQDnJVm>G?pSY($u7#dtK14*T3_p(ua>M`(f0Gla`%Dmy@I-9 zto(N}P~}!Q+!FKuI?9nU`)9ry{Xh3P3AYAp_0qYx!FeB?!)>`|6O5m)|Et~Fb3aGA zfyQ{gp6}{h=gsfnczic?w)P4Vs_i@UY>1WnYCo0P>D4?>V?uD9SxX#i+u%}VG7UTP z5K4R27stoVWxZ#oP-_0$fA4{hwT1A#19RE&&^#*xwy(2#n5yRVsea4}_l$w&Qp@aA*7Vi8o)_YGXbLM!mp_xlYW~*LpYum$1Skq%_Kc#Ux z_D(S&Xbo~<2yyKGhhMCWO{G`1Fk0H)k72yVc`_i_pZWG5WLrVJW_i8?wtKwX-b!U3 zO1e|-H@)6yXL+PPwl&GWwK?>)S7x;#MXf7NPQje&7S-T@@D=N+kI-beSO~cJYS!AM|iuw z?djPgg1payx83(1QRy4b4ZBwm6nsE&^3-VmN= z!}E7Ro>euiD<<4M8K4fV1DnBiup1fNHP~YzEuGZtw=s`n`p$bbse+ zD7JZ14`&Z&9Q*6{Qm$)VSHA>*Z>?=fCefC3P2)azt*(Blk{SEDmX+YO6lQO&>222q z?0KB5(K)&R&yAZ9lxgf0i>tl5#Fpx`>6uL{Ta)vofV4+`=JVRE3KAZ$#Qdj$iW7Wt z`%vCtGa+c}P(GjJS97V${$twbpUM8?=I#uy?-_rwKBr+n2UTD#aAT&JYgMKN>=~Yl zTaFAk0Xl)lW$uJt!uNZitPz<{L#IQFxX0l9@*Iw2JX|9=U?*|BONp-=@qNHBFay+q z4A=y=f#mA;>ft=IK(^O=bIcsaqka1$m6kg+hgn+=Wi+zH)u&W)mEa3KKL3R{_vFNmm-6<1+lisL?s~9If;OB&Z9XP1<8{c}IytOA-zwYpR(ed-^R~SFH$96tIg7rHBey=!ws$T_VnVJTx53ApT*I1H`o~-@~{=SCqDx;=I@b}tO zJ+}^x>BqDq)o!DFvA)Xk+p^S~=p*3c!ck=UtZPeb>fUY2HuA~sGbg9r{)Q#h4@bl2 z?~adom(W@us+MzqlvrxxGRn6RD4mPz+IYC%cbrp`w)d6W-X8YZ9oHV((^mt#9>>kv z%vV}BtGAs@clYEwbHtph-3NLi-_dO{rO@M{r$N!_GTl(dx^YLm8&~ywNG~h{?wv)c z8+JX++72`>+&&VO3B50S_O@Ni!tbXICa$^=zUF=!It6LC`S;?jybtF$+v9hc$8WAlTgId4h@Jk$PR@DSPJYX1-f_6z)H}g*?P_C6wEUu~ks* z8)RoV8~Sdjc&~*{g}w(m6Pn@gO6ZMH$`QK>N?h-}Aw5$s|9~2kS3$>uF&@1HD!+l_ z{C24(os|V~{~3$moVcC5rQ6>D9RSri;Dexd^8Iw^2B^wlUKg_eCz;f0*6>yLej96`yf^K%Ijmq1TM2W1vN`W0Ac&Lw_Wg4o(3lc#sc)?DH$trd_jk+n^lMTB*8T2xa{@&q`V! z1KB*P`Q7$;{2gWg341R*%{>z7Om6=&qKLv17zcj1jyON0@ilhMeL&CYXudtt8%LE+iy$T|Cv9xr)NBwpf%csyJ&}dT|3BrFs*f3 z<0?+3s8jpB%{wdP=iXmbd#b#S*NYx6$pjZR5a&_HYi=@?tZ7YJ(|cjO)=4lE*mL;d zZg_pe@zQt=_$gFBzeM@wkWOh_Jhyil;I9F^bI@YXp=Rkb&GS#GvaY9`Zvdrr@jIie?taOOnurA18(jDxWi36+n=fk5$yq0I!9&DUUfHQ0 z21@VJbVhky+uor`O9+;CBjv3OmbcP4wF?&2=mI+1TzjXIy#@6PT#D>fxv#t4)p6pW1 zK3}>c-K}%%;J+Njy#fpY^VlahvW8n5L^W}&+{~Vd8|1@2-S8k&3V(dK6Bu4 zQ79iPtHSwQ?(w<8KFgr$ zpL(eJX9biwZ_bHU|1|JD+dn${JC~1iK`S%D-}y+Bz6WtuLXU%93oW9ri+MuA+2S7H zcRRP^zD&?qmX4@!D`~VRxDBd((EFfj^V=~$YhK*V_luw(fL;pyAapKtBlJq>J;|ub?hJ&3pUG<9 zd7y5&_kRylsm#98e&9dmo#Iy$xw?D4uF7R(iuF^~+X&s{_dI z&jB@uyB^g4kB^m=%&T03x1fgMlbTW~d5UYkCz%)P*#xY+Kc_+eUOecGH(mzyb;*{>^qN%CkJw(_L4B<>uKsJg zsf6^eCFcJs;*4cHo1rqNB{{V|g|7>bWjzOU5u{7>p@0>nS6Ua}-LES3>%af~Dy7d} zx9u~brKLtP#Mz#L*LBaNehF@>;ViyY@RdKE3y6P(S5DcM)Ly}K$Y2xyIWCkFpQ#tS z+KYb%@m2L;{HBy%cQ)O`fU9k(Z#GlGj5)Pg+uPdOC0tuOn}zgi1%F`h`C8ig9@o}9 z+n!8YV?zEMZi~&r^{G4iVX)z5|M9#-@uwUg_EsxXb?(?j`yvX_I>OVxZzf?u=wXTZ zzXqPqI-W*PW}jUwkCec-xt_L z0k(o2;6<}&~I4-}-ox$qQm`Z->*)5xY&052!&UiNs=Pkz`AuQJDLcB3`r*>hCt6iMrr*2--_ z>0Dg5zok$8Wua9oJaO8--q>dZT${W`+6wR^CW>sz2|hdhZx5dpj<&@7hj+0)Xk6v% ze_Q#<#ntto{?`%vZ&1gZyOOu48pGlD3L>eUCwYN5H zCQIGyr5)-Q%`N4lpt)!ti&P)ab0|F5Yni(Ah6mSMXA;DyT0l|O_FeoG# z=fE78iNg%c3OfR;WXp1eh*kZ4?kdPKyO|jJ!Z_O`oi!HX=VoO?licitv zE#7OM{yuB3wa(e+%nQmudvE*XeV%pJdG}sxfA`7Tt<**{%$t*B4__4 z59J!EEd0tkLn}fd{YCTtT_)@P|55h;+@JN8vY%S_^pTE&vRG^tM(VL&q`zFACB$hy zm%c#qEH3Y74TCN>ca1{kxn5yh*!7>Y%^i!=;m;4_yut>RUqOd(q4Mgu^#iiT=oj{_ z{I&~-F~{295(j`Y|1bZ>1;FtBY>#1x4fc!jFF)!Sd_0qL+A`wTo4O_Kyb02_mp`|Z zJ~Q`RU=i(HhU>(E_8!)Y!n$)M_ssP|A4D04KBzA_(3km`o>eRR>W1a|qb6juJ(L7{ z&uthKHp(9^$GOIE2s7Z&jsgyKJuB-g(r+owoCqg>E^ZSt+9s0M>m7%%LVBo&0SEJ* z1zVo`hV^>srxa(d;amkT#L;!pv!{ph3OMvz0f%{Iz>$7U(j$G9;9SHL57`GO=PQ-c zbNjqc(xYwT>^Q7d1sv(iq+g@I3;8DVNx}IvT+_2S%D3xMK3-@;M%zb;%t6B?BXK}B1@{B{yE|zmxKLw4>VXi|?+e`l2M$-RE zT;%eynnPHEITtRNx5EXq0Zx8~XF9jS7jVBAz7Ve1_ZYU+Mfry4v;usIr?#d1+0WAC zDEn}w2}kjX50yGC|hCb{W*7N8bq<`=^<8f?)T#|o&Eka=C46~~;j$e>zXMs0&-qyL;4963j zA?3D!iXh|D2L96p<@*2Q{FiH}vhXYOMx85iTh#yWFj@DH`~P??KesYIx1%{j1xecH z6U!H@?}H(EbuN9r6se@ExX<_ee%ShBSx55g4@u`g(cpuZ%*_(cIX!`}j2A@DWqscw zc6X46wS0B&=jR^B_branj{RaBQ7#jrTpVY0bT@W#@|Yesc250>uLn3@o3(?u4n7Co z0LPO$cmeQyO~&`5#_9Xn`pS9m{0Qi38FO^~kNm4vlC zZVSdrGFA~i(h%}uJe;m0tXng#2|*lyZ(B^y zWzVNC=#9OX`gSIJKg(<>^*VR`4e6>QlY^Jow(~gS&F9{3+x8ecE5@o!u-iw$`n+RF+RhWp>&IrpiqrK5Sj!zt(k1KYEoem)7lMyDIa+*sf~bOtz~d4NrJ%R|P}sSu%#$Q;~lMIZ2b&k>vGL z%w9;7%V`H!VncnOa)S-(E|37J$p#Xf z7_U|ilCp~Zx|W^$oXqpx_s%p+gt_8%!v*B~52$RRC>CUzsfJ$8UDH~-SEX0$^WADP zqXvD^b$OpVGCt0g!E*fNd2loGW00T6{fid9$O}#^zigGtZ$W+(^40hsi{zz@V)>Qa zOZYD!UyZx~|5GH7bAde354J?wi_?c&d(eGOo`+s{D{QS}6yf@{kbp1qwT_~54_b)h zVMyd%M(U2}k{7vryL0Z{4O3^|-YD)8&kq+zeKziK^l`^Ji=)&bzt~q+{uz&>jB_r) zdW_@!-(3HZ^hx*N>vpyDPtvYv!db~&nrfDLQFsp#zc4S6HAY$clz9qskF3;D=@0wT z{|=z%9KgPx0cZ?J)j^Y>s$BmlIBFA1nAPYd`P^jxrxA|aPlpeIljUK4G!u?rSfjiP zK8yQK_-%0Avn$_|XoeO-^Pm|y%q$f}?OsW+fv91B=qp2`)wN2&ypyn)qlUdNl2+Pk zcqjdH@XvD(W!J!$!oLCk0{lDhyWzhEZ-W00d>Q-)@a6Cy!kgi*z*oS30$&M#3*G{M zAO1ynf8ufvdcM{7Z1@pS}#2^8)mpb9wK)n5N<;Q(!D%a4jW0U+P?gnabMhs zXSnbWW&a?2I48Rhs%iRn{d{|!x-ug_%Cq382;bj1DNy<3GV{joEk9WM1+*T+9a zeVd$1XEpw6E0V{myU`uQbAxw~tATW#H+ek#ePksbzZZ1If_F)7ym&$)#6=rSZKI*? zfnJ7AK&AAdBcKV;VrVtA3EBqjhmJs}p;B~x{8vpKk?T=q;rHhlC;s50*1ySqXI!QK z5WS<2$h!aej{oBETJaii(%A6B?iV_jwd0FOkF3}fkMlf_Hd!8x33B@L6%-Z@v^?s? zvwO*7?Xz@$zzM^^2IsCUGGDoX7>rHB^~oGUIBTQ)yB82+k6}!WFuqDUPFz5YVOn7F z&F$RvH892wx^U&;`{3v25Lib8;|<>fE_TH) z>{eP} z0ba?aRwpEVGD_zZDv|3=+8k?}VZ~{C608cx3Tun!hvoD5VKOk|iqrL*U|r`}lCBx+ zR`ZpfO!Mq^Ing70EJSpAlSaqgY`Ae6e+%4N$CWf*KwO_IoK8sZPH-1GuB3NnM+YyU z^eTOh(_|SMr|&6nKIb@+zVpEGd^}<}aryl=I2#;C(!*OOD?9ln^|W+nLq`|y7j-ZU zJiqcg+xk!FY9xLC4!8#@B<6+n^=Z=k#2L~%x3zsix_xCvbk3)~*2$oft1|rR&okie zaNMHwUMSqXh8veJ^MUdg9Ji=^=cdGzIO?bLNYq*DdG)NV zwf!EMGoMfXE$$y+n5*Qk?}2%fV@m#AAWZ*m#9_mX)42!C&p4*klc{ZO9rx*n4W_5t zmuK4A&a3Zo?1lk7)BAm}Z*^=*?*+#8@_iuzn|WM$gJVm&7j^KLP0Yt|ti&w~AsV@tYccX_INRlbhpR@s_TzM;%Mjd7fB4K3iu!K%A~0 zfc5K+rRh44@9-7Qj~w^k|NDQ1xNe{1`+su9>D^Cy|1eIk)S+l>DDu5&ua0@dFyr!k z9?U;=Os}^W0MqkV?5$jJI{z5V!;UHCs(s#czU8xw9d(Vod)6sBy-BO%9x&WEt$zaU zQOA|EUO-&84fR7L=7s5f0o=D7SJLZ~3(gk{UomRz&?PtYdXr|y-f!4(nqLI_J;#2=JVh8d^#Pr`mD^?qh}jlL1^{R@?dZzb(fIG=?CA|z9r)8MQwXWg?zH{4m|K3ztcGCk+Sgn|AF<0W63)(@};)9tatFiMm|+1)2i@%p^;U7E=*s^Ymzxem2eR+PJ zvi!1cBfuR5>vC*NsCNrnSFOcbXS6j>Z);tCPj4~3O}AYhU{W#WAuz`lV@77gfqRoy z$32#S`#-_0E5ogX`tlV9(6r^!_=x3msScyc)MIly{v%RZ7 zzK%I+gqEeWA-`S$Z@uH)p1!wrW$)KuJYA0&PMn8-0nXnz4)$tcOKYaBIhT#+)h_y9 zp{a@Icz+4r+YugL;#spcBWEA^>S^!t(%WKqX$V;MKjy9@VE&(f2Tae`tye14zlO%H z|Nj}x%jtK6lPnZ;wEGy9v@Q>}awGZEg0ASftgLJGAqa-sW)ln7wZxY0M{f*z*CY2m z!|?U4ydL|)I#+f{Y-GL5^_op@5Pg@#P4tAHN$rt`~@&V^2^KTkgbmR#}N>>bj2($gyQPyBmh^BrSKRe&gXzwTeac>e-oY%`2_ z%yrWE>j$31kg53hll1yjm&p~X!wrRm1H{w+U=r|9fK zNAfQn>BytwB%R*2F|QNo`CTl7{7l3G32|ma>aS|zri?g0WiF+F1=PU+LVRg{{zOWj*-w- z8;I8^^hC$ye6K6Rj$Cw`+g92WDDCSup?4CJ_Et%sE^S!aoA6jKZf~Mf4VLJPjdY}a zC+U3n_NL#u^>W3Qrz(hu?hz}=?Jc8Cr{0I;qDu|$L|~4y3`2OkP~X|6+YRsA(YF9{&iu{Xlh&~3R>o|TxtDk4 z;i}+Q;v(0XFlP|9q-`c#Fe%S~IU7zo!#>|aY&knvuqB`K_=KO*{beO7sT*?jg(O~b zoe94I9KoLt7yN~ANi$^<@E5`BxTjtf<$;|2kdH_FJ*dsd>prxS-2OC~!$=(EI#XPz zvmq{DfJ)^Dl5U(yc`5N{o7sl_)sigSDc~_0zpAHgRR+2M( zCAcx%57*ZTdn9%K9qvR{_pT-HxBU}j2Xm^C$Vz_czOxdsBjGCLcZ&Ug5m~9PKV&;3 zb}97|_f>G#8?%F`XG1x`Le5T)-+e2&RO9LUAmVr)4A}Z^uwd)Huw?B2Y1n^m*neTz ze;Kep0rm{A>b-2kaYi>DK*P$=H8u*hdZf?+yD{4toLE;|j2KA67E< zn*m$j*OqkaUaDm5e=_V7hW*cmeKLn#54P;J&Zk@VOeJH#8?ZIqQm$XK@{#hC>msNo z{0n2GEZ*|%rm)oazXN7RkF@HZrDVK+E5g%#MkT3A!-(-pu;o&RFEX263LnHy_u{1v%{d(Y)@K10r?eHo%{cVap=-E%fuYnID2M5uo4#)a`7E3i8 zD|#Dm9LoJ5tjwU)^#yf8_s!(@(Z}s@9N`V-Y*)!MDSO@TQWE+GZkg+=9g+VxAS*UN zxafR=H#|g7?2PVNNyeBEgkoyE!XO7~JEV@x#+;l=6DeGthQGlTpWa(Siu7LqY; zH4Nc{LuusCztuel$>-nB3G!NYQs%m6poBW3SDaUKk?oJO@WGUK6TPjMxjz3-##j*K z^JV@!4A`X4O2SxZ7{ZJ5N}stWV{qmS^7%5?XXVKlOAJGJaoyGD-N_hV2=brHmB-Pu zq~mVG5I#8dIo^v}n#(JF#+;1N9OSj0OL^!s;pB8=3`6)}+C~d!Mtgba^W0>NF9!KL za_P|Lu*n$r7>4k{jO^~@%`eB$XQ{~;e8Up?ecK^EwG%E;;kS(=O$q&*Vx{G?Q?}wuJYr!jQa;LOCP`+k#g>BTrTveX{^Pm!HpkDD<@1K#EKILt=jCtM(`ioO?*1Lysnnt6~Y)ZoO8wq6; zFocUR*8ZPB=4g4YaweVknkA^=E zzYhK+{CfCz;p5;hz;A^A7(N01kMN1`6YxoJ))P~c;f!5VpM=ZzVs3#mc1ul%kA=^G zPlC^c&xYR$za4%XoIWY_SvdAHH3u&5tn%)4_DgWyN6WI#A?FxmzXj)g>n!a)#W{Fc z+C}OP_-^eBxCZY~x}Khd!U;U>m7CTw-6ypKz@q9a4un;WB>ig5Lzc7d{7mA6#tRI=Gbo zdieeDFT;Nc&iUQhUxD8b{~h?x!KIwP3V#LuHTXZkH^QZSAB4+#-8bOF;e1mudma2C zIOE9F&%+s4rM?Nj3;r#5JA5;IJ^T^)!|-2(WB*cH;7`M)t^W@E+uYNhg8K>M|7!m4 z!G8t+GSa>kJ{10|aO!SqJG>VD>+pK`Z@`zqpM*EVCHxie-{O9ox$iLkyXL`gVcrxCh||8gGYb^N~rlJ}@5 zKr$bZ_ufZC;y=|$?3IL79k|F3qJFVPOODI8Tfc$yr&Coav4UdXu7Skf38s9fZ5s5& zNdBADzFUx=WbzUZ!M_Fi93<<3+E2fXggz52$vsc}C~o_MW-7IhbV{H92k_x=$w$^< zQ_pfQ;{CXd(jy*(HpYtWp*XV<05$i*^N zQle7Nq*sz>Zgsizi;vAiI!8ihUg#in0xBglE1^kH z6SNN62JMB8LZ_k1PvQ?XLF=Gx&|c^@=oB=Jg`FCx5o&`rLp!0v&)C8@A9)@;6 z`=KMy38<9HI}ECU>Y=63YG@O*71{$Ggk*m4C~$*9Uw0k0LDyVmO!9*p)iw;{zg&Hw z>hLeLqtK5$f$jk6xY+7b_(?naJ*muG(k{l(fa;*d&^l-{v=iD79f3|l6*R6&XcE)_ zwLn>D8?+ZX0-b~^ZbJ^51T{b{P!@U&T16u*0q=@&%IDJ_E1yAr z%6(tsB_vqxpSVi-71t^+8>0LW85R7E&;5knziHvUiSZEsTRx(Ed!_kXczws}{ZED~ zUu$wp47cPObzk*yE)y*^Ow=PlH;`84Yo2>iC=YPoa;&VH9Lt;aG`V{VO@cnqK z9fgZ3n7h^zw^JTB*#piu^1|1v=ce1)PTVPivbSU#yas*Ib$M|=%KaGJE8!)Uzn7;f zdFm9N83r!@`G)0c;gY5g{~TQR6HESyj_(UNXz3`I0PVULnURKXXRNk$ukFl;_qptQ zD#n^34U{V`&-=g{>sVnQJFf_w2bS+$JZe}Y6f*p-18ag~N%>6WIEi~R3p44?R9&0bI5x=*UR(6Il6y>FI8O-^gq{BkW4+ywoS&6HCt2$wbJ7rkwtu(#lY*X(nI+CzpOWKD zx1Nr~`r3_307Eg^0WwxoO;Pzu8$}Szm?#`_P@Wy1^3*=+`YVce6syN zfK(;q{;~a!&vGh0d$YG^ImKZXpAU7e{f%Tt8C2ZgxUJY_d2s_Wemz58Z1lX4@=y3i zz(Dj^PiOW{T{2m>6|{q#J?qUk0;DV?onCi_C6p;^W#!+ChIREH4AwB1hbINe$3xHkU z1LtA}BB6RM%ye7vgubv5`TdZ{yUdl=7gASqb*Gi6wQyj7dFy+7DIFf(2b3_p`=Q5V_ymOpVjE7u9l!f2D;QY4ZNZwrl zoHoOW%ZT;%a-I7DOTHOQuhR1lK{P_zXOyHW`7f7bqjj@kf2QQ;Ci?J8;g`WBK1`Le z^o^`>$@oW}`;3L;Jj)w$W1%Me)$W!A8_aDO!w9BamFP;?SHqb)hz-bI0hje12^$+1 z#zrIIgIJ4{b=aZIWaJu()*zlANE*a;sGZG^d!$W!zOk%=zJB|#4R^JbB@%wPBo0mb zmz7P8lZ=rV^9mZey6;lLo65b!Z5sR<`1IgkNnEZbPS-)QMm!Q4ksDu0{M2qH$4}O) zWc^Rl(gdmP%b#^F)xh(t0a=MJb}7qHIjm`Y48Dka$-6t?} zuI2X~_Qh=-B-c{H5!}1rQZ{$P1t$%^3NB?N=~}`47Nv?e3`uZhgC4asQmw0aox;$%v zQ+HF@a4&26T1G>uyYVhN4j9a`-_&n+bYYbu+{c50o{*~8HX%n|{^q0PO-D^A_&(=tX z!WFlN`QROQJRQ%bn>+4n|*rOmOn8djXP1z`QNV@cW;wwxE1=VSkVJ=4WL!t$Rw zRz6+xR;&OR@efsQK~C*ge`^o2?&8-7>T@%VC~gn3CMIqF03@>RAGiIuo&RT=|GO>h zw!Dbz5$*K9-1^UNdf7_-38%4r$a+(v>-17T#NK(n$y%;l)yl$e6*A8_jtZbV_J>?P|B(NbLHTIMQd@LhSYF2REnvAuDGR@tq4KGYMc(&jZtZE3zEk== zwJW+8K|lm{iu~b{K2!2l=7s~{GB=byROg1WS5v+lo1Yg}SF z*JS-%u*bl~ERPGiVa+cq`CrSu%-6=l$rpL~!gUftv8eHa4^>CT5&45!6!`=p;uj!tn!a3wdWVEd$&(}UnI5PZX>=))ex5EX8 z@nFGxP3DQ@RhS>jd~GTBGG>%{-nq=zwB01!E;nH`1G3bWz zT9~i3hx`0|Eq?c?26?UL$@8^Nbg4`1e96z(PH|rWowPnh>UMuJuM(OBH9##;7J3ZY z1s#BnLZ_jDWbi0x7Sse~p~s+I(AnPK_OY1TqdAuX%q3~|tCT-J##m?Z!;a=I31cvo zIC#x#pB0uJ>oc4U-?3gshdvgVfPm<^Y&;f-zthF{rP}yR6Q^2tjk`6|p6P5|o{HxQ zjhS^abSZGNZ+g+Ts|PJwxW0?$vEz!@|6{-6@y4~HcSmbicX~Ppv3GW~b&YFm$*jr< z*0_1ALu3Rq$R&k84&}8RtI)l^EknVc>pVoefr=jU5VxmCE#IZB`c+51PxO3Ww7Qv7 zdqUQHs4<=O&0hYFGpmn=9+&@AaOxdL`Uoq4^TCn6R<0Ol8aNALoS75_GQGj^`Yipq zT+){Pnhs8r<4FJ7kZx}7#rKgt?;LBBVZ~{x2WzEcN#0!`EPrkgW3kVpd~J+1vqKKN z;bU#*mxoPa0J!2jwX+*w?f(fV4v?sTrWZo~RpMUC6W9B_9z?!0z(0dWK* z73_R$%R0k}+r?aPe&9ILE@a(e;rU}7OGp#%Oq9RqSkf-e6U+PfMk}y5UGu>DbI0;@ zo#%Rt!szTEKr8wiquJ6+d8-PrZeE3NLb%m1m2~N zC-qYCtS9PS`}XuLy;ysoIDL13H{9{^>AN6!FB@Lm?(PI{q~qn&muq>wv0t9PDgAq< zZ!vh|950`~3xfBw;l=4&0^StIll0BImycMa*E`_(q;G^w`nlrr`y6=F9Z%AC0r4I- zyf}TI2XDUPN&2RBbT(%?FGziPKOucf!CUNjlD-Ro=i}QJ%g8u=yx!twIy3q4+M z%FeM48&+I)UjS>BW98Gdkim5TN8L+b-aAq z&I`};vQi%0aK-6MgSXl7Bz-cco7&d8vb}dU)3F{ltT=7U!1|73N!rd6%g665mi0*2 za0Q}5 z-k8B!U*fWB0q-vyPttY)@Vwj}GrTx`t>7JVJW1c3^as;AGwFMJmo~>Lm4$7tIBj19 z>z^D;(srI$o{!yz6{m~yG0NX_EKgTdaJ}gZ9Pd~{+SGk&$)C4;M$>`{{FdkK-;`tmpc9W#PAjINp>Lo~VApOL#d!P=Y0YDl;0H&es9KM%Va&=Gl; z@n@<$pF3kdO7Kbkl8>IxN&e%_UzTE%{BJaWS<+1Mmv$xLmz}|XqWPDf!T%=n|Hv8q zZ^r$@mv> zhD#U6vQU<1s$maO6`ZP&E#;}JykA~?_NF|W)n^tZDSwtBWhKwdC48! z<$ZKHKh@7ekudamL`kl{i^HG{Ll~4*cKBjIY2VrbYvyn^>D$P5%4Z2wuN!l_5I{9ZnH2xYhm!{ zk93bH2t(qm>-NcUo{vtyl%6{xWuoiu`EwD(zDXEzEigRc{n%f270<3Et>UkHD3dYn z4DxzLf?(+0$7GDfh9SHkHEa}nb{%6o6;I9~kbIL%YzF2gTz3U|J&#Z@bj>*#;|qo% zydO1h9D4!;L&{9ojFaC-)S$#@SM-q#K98v$>4kNTwh=92M#sR&Q^ zy(Qy4YIxr^yziU=PxrGW<2@1ZbWgqHr>;dN0q^5I(x>Z-$#}mN@bYb3 z*9MdEo-(}OHoX5H@Cw_wl%KBmCFAW5c=`0{T3s^U_Y7~3;e9{g^-Q0xza``SQNUAs zAo;0lXUTZa8{Quq-k$`#p7uxA!;igKfR`^nUGquC`+LJXW_UjdcsH9BIUvyn08Smc=55pboSqVJJp6NPAGG1SF z`Z3~md#&pf$#@qdEB2E;tO0L8!0VYlU4KZ%8yfKP^;6dllJPDxykUknJmB@LpSm89 zj8_%#M�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 HPl5jhB3wyQ literal 0 HcmV?d00001 diff --git a/Lib/VistaControls.xml b/Lib/VistaControls.xml new file mode 100644 index 0000000..cf4c8fb --- /dev/null +++ b/Lib/VistaControls.xml @@ -0,0 +1,1022 @@ + + + + VistaControls + + + + Common Task Dialog buttons. OK is the default button. + + + Represents a custom button shown on a Task Dialog. + + + Instantiates a new custom button with an ID and a text. + Unique ID that will be returned by the Task Dialog if the button is clicked. + Use values greater than 8 to prevent conflicts with common buttons. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + Instantiates a new custom button with an ID and a text. + Common ID that will be returned by the Task Dialog if the button is clicked. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + Unique ID that will be returned by the Task Dialog if the button is clicked. + + + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + + Adds a handler on the Form that enables the user to move the window around + by clicking on a glass margin (or the title bar, as usual). + + The form that will be controlled. + Margins of the glass sheet. + + Eventual UI elements on the glass sheet will prevent the handler from receiving events + (except the ThemeText control, which manually redirects mouse events to the form). + + + + + Adds a handler on the Form that automatically paints the glass background black + + The form that will be controlled. + Margins of the glass sheet. + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + Control style and notification constants + + + + Stores a Task Dialog message that will be sent to a dialog in order to update its state. + + + Simple int, int message. + + + Simple int, bool message. + + + Simple bool, bool message. + + + Simple bool, int message. + + + Simple int, long (hi word and lo word) message. + + + Text updating message. + The string will be marshaled: the Message must be correctly disposed after use. + + + Navigation message. + The config structure will be marshaled: must be correctly disposed after use. + + + Text values that can be updated. + + + A standard WinForms text box presenting the common Vista "search" interface. + Reacts on user input by raising "SearchStarted" events. + + + Puts the focus on the text box and moves the caret to the end of the text, without selecting it. + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + Gets or sets the background Color of the button when the mouse hovers on it. + + + Gets or sets the ForeColor of the control when the search box is active. + + + Gets or sets the BackColor of the control when the search box is active. + + + Gets or sets the ForeColor of the control when the search box is inactive. + + + Gets or sets the BackColor of the control when the search box is inactive. + + + Temporary ForeColor property of the control. You should use InactiveForeColor and ActiveForeColor instead. + + + Temporary BackColor property of the control. You should use InactiveBackColor and ActiveBackColor instead. + + + Gets or sets the text that is shown on top of the text box when the user hasn't entered any text. + + + Gets or sets the font used in the search text box. + Equals to the Font property. + + + Gets or sets the font used to write the "inactivity label" on top of the control when the user hasn't entered any text. + + + Overall Font property of the control. Property changes are forwarded to the ActiveFont property. + + + Returns true if the user entered some text in the search textbox. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + Displays a dialog box that can contain text, icons, buttons, command links, radio buttons and/or a progress bar. + + + Initializes a new Task Dialog instance without text. + + + Initializes a new Task Dialog instance with text. + The main instruction to display. + + + Initializes a new Task Dialog instance with an instruction and a title. + The main instruction to display. + The title of the Task Dialog. + + + Initializes a new Task Dialog instance with an instruction, a title and some content text. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + + + Initializes a new Task Dialog instance with an instruction, a title, some content text and a specific button. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. + + + Initializes a new Task Dialog instance with an instruction, a title, some content text, a specific button and an icon. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. + The icon to display. + + + Injects a virtual button click. + Numeric id of the clicked button. + + + Injects a virtual radio button click. + Numeric id of the clicked radio button. + + + Injects a virtual checkbox click. + New state of the verification checkbox. + Sets whether the checkbox should have focus after state change. + + + Enables or disables a button of the dialog. + Id of the button whose state will be changed. + New state of the button. + + + Enables or disables a radio button of the dialog. + Id of the radio button whose state will be changed. + New state of the button. + + + Creates a new Task Dialog setup and replaces the existing one. Note that the window will not be + destroyed and that you should keep the existing TaskDialog reference (event handlers will still be + registered). The existing Task Dialog will simply reset and use the options of the new one. + An instance of Task Dialog, whose settings will be copied into the existing dialog. + You may safely destroy the nextDialog instance after use (do not register to events on it). + + + Adds or removes an UAC Shield icon from a button. + Id of the button. + Sets whether to display a Shield icon or not. + + + Sets whether the dialog's progress bar should be in standard or in marquee mode. + True if the progress bar should be displayed in marquee mode (no explicit progress). + + + Sets whether the dialog's progress bar should be in standard or in marquee mode and sets its marquee speed. + True if the progress bar should be displayed in marquee mode (no explicit progress). + Speed of the progress bar in marquee mode. + + + Common native callback for Task Dialogs. Will route events to the user event handler. + TODO: Currently unused, would need complex marshaling of data. + + + Prepares the internal configuration structure. + Allocates some unmanaged memory, must always be followed by a PostConfig() call. + + + Frees the unmanages memory allocated by PreConfig(). + + + Displays the task dialog without an explicit parent. + + + Displays the task dialog with an explicit parent window. + Handle to the dialog's parent window. + + + Displays the task dialog with an explicit parent form. + Instance of the dialog's parent form. + + + Displays a task dialog that has a message. + The text to display. + + + Displays a task dialog that has a message and a title. + The text to display. + The title bar caption of the dialog. + + + Displays a task dialog that has a message, a title and an instruction. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + + + Displays a task dialog that has a message, a title, an instruction and one or more buttons. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + + + Displays a task dialog that has a message, a title, an instruction, one or more buttons and an icon. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + The icon to display. + + + Is true if the task dialog is currently displayed. + + + Gets or sets the title of the dialog. + + + Gets or sets the icon of the dialog, from a set of common icons. + + + Gets or sets the icon of the dialog, from a custom Icon instance. + + + Gets or sets the dialog's buttons, from one or more common button types. + + + Gets or sets a set of custom buttons which will be displayed on the dialog. + These buttons can also be shown as Command Links optionally. + + + Gets or sets the integer identificator of the dialog's default button. + + + Gets or sets a set of custom buttons which will be displayed as radio buttons. + + + Gets or sets the identificator of the enabled radio button by default. + + + Gets or sets the text that will be shown next to a verification checkbox. + + + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, + when the dialog is in expanded mode. + + + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, + when the dialog is in collapsed mode. + + + Gets or sets the icon shown in the dialog's footer, from a set of common icons. + + + Gets or sets the icon shown in the dialog's footer, from a custom Icon instance. + + + Explicitly sets the desiderd width in pixels of the dialog. + Will be set automatically by the task dialog to an optimal size. + + + Gets or Sets the Main Instruction text of the TaskDialog. + Text written in blue and slightly bigger font in Windows Aero. + + + Gets or sets the Content text of the TaskDialog. + Text written with standard font, right below the Main instruction. + + + Gets or Sets the expanded information text, that will be optionally shown + by clicking on the Expand control. + + + Gets or Sets the Footer text. + + + Gets or sets the current Progress bar value. + + + Gets of sets the minimum value allowed by the Progress bar. + + + Gets or sets the maximum value allowed by the Progress bar. + + + Gets or sets the current Progress bar state. + Determines the bar's color and behavior. + + + Enables or disables Hyperlinks in the content (in the form of <A HREF="link">). + + + Gets or sets whether the dialog can be cancelled (ESC, ALT+F4 and X button) even if no Cancel button has been specified. + + + Gets or sets whether Command Link buttons should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). + + + Gets or sets whether Command Link buttons wihtout icon should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). + + + Gets or sets whether the ExpandedInformation should be shown in the Footer area (instead of under the Content text). + + + Gets or sets whether the ExpandedInformation is visible on dialog creation. + + + Gets or sets whether the Verification checkbox should be checked when the dialog is shown. + + + Gets or sets whether a progress bar should be displayed on the dialog. + + + Sets or gets whether the user specified callback (if any) should be called every 200ms. + + + Gets or sets whether the dialog should be positioned centered on the parent window. + + + Enables or disables right to left reading order. + + + Gets or sets whether there should be a selected radio button by default when the dialog is shown. + + + Gets or sets whether the dialog may be minimized or not. + + + Occurs when the Task Dialog is first created and before it is displayed (is sent after Construction event). + + + Occurs when the user clicks a button or a command link. By default the Dialog is closed after the notification. + + + Occurs when the user clicks on a Hyperlink in the Content text. + + + Occurs when a navigation event is raised. + + + Occurs approximately every 200ms if the Task Dialog callback timer is enabled. + + + Occurs when the Task Dialog is destroyed and the handle to the dialog is not valid anymore. + + + Occurs when the user selects a radio button. + + + Occurs when the Task Dialog is constructed and before it is displayed (is sent before Creation event). + + + Occurs when the user switches the state of the Verification Checkbox. + + + Occurs when the user presses F1 when the Task Dialog has focus. + + + Occurs when the user clicks on the expand button of the dialog, before the dialog is expanded. + + + Occurs when the split label is clicked. + + + Occurs when the split label is clicked, but before the associated + context menu is displayed by the control. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. Exposed for backward compatibility. + + + Provides data for the clicking of split buttons and the opening + of context menus. + + + Represents the bounding box of the clicked button. + A menu should be opened, with top-left coordinates in the left-bottom point of + the rectangle and with width equal (or greater) than the width of the rectangle. + + + Set to true if you want to prevent the menu from opening. + + + Margins structure for the Glass Sheet effect. + + + + Returns whether a point in client coordinates is outside the margins defined by this instance. + + Point in client coordinates. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Common Controls library version 6.0 not loaded. Must run on Vista and must provide a manifest.. + + + + + Looks up a localized string similar to Desktop composition is not enabled.. + + + + + Looks up a localized string similar to Desktop composition is not supported by operating system.. + + + + + Looks up a localized string similar to Unable to get thumbnail's original size.. + + + + + Looks up a localized string similar to Unable to update thumbnail properties.. + + + + + Looks up a localized string similar to Source and target windows cannot be the same.. + + + + + Looks up a localized string similar to Native call to {0} failed.. + + + + + Looks up a localized string similar to Failed to create TaskDialog.. + + + + + A vertical panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. + + + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. + + + + + Constructor + + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. + + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. + + + + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + + + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + + + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + + + + + A Label containing some text that will be drawn with glowing border on top of the Glass Sheet effect. + + + + Size of the glow effect around the text. + + + Enables or disables the glow effect around the text. + + + Shadow type. + + + Gets or sets the horizontal text alignment setting. + + + Gets or sets the vertical text alignment setting. + + + Gets or sets whether the text will be laid out on a single line or on multiple lines. + + + Gets or sets whether the text lines over the label's border should be trimmed with an ellipsis. + + + Gets or sets whether the text should break only at the end of a word. + + + Gets or sets whether the text should be trimmed to the last word and an ellipse should be placed at the end of the line. + + + + Determines a window's Flip 3D policy. + + + + + Default Flip 3D behavior. + + + + + Excludes the window from Flip 3D and hides it behind the animation. + + + + + Excludes the window from Flip 3D and shows it above the animation. + + + + Handle to a DWM Thumbnail. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Origin region from source window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Returns true if the handle is valid, false if the handle has been closed or hasn't been initialized. + + + Sets the thumbnail opacity value, from 0 to 255 (opaque). + + + Sets whether only the client area of the thumbnailed window should be shown or + the entire window area. + + + Area in the destination window on which the thumbnail should be drawn. + + + Region of the source window that should be drawn. + + + Sets whether the thumbnail should be drawn or not. + + + Gets the thumbnail's original size. + + + + Applies a glow on the themed text. + + + + + Default glow size. + + + + + Glow size used commonly by Office 2007 in titles. + + + + + Precise glow effect. + + + + + Instantiates a new glow effect for themed text. + + Size of the glow effect. + + + + Gets or sets the size of the glow effect. + + + + + Static class providing information about the current support for Vista-only features. + + + + + Gets whether the running operating system is Windows Vista or a more recent version. + + + + + Gets whether the running operating system is Windows Seven or a more recent version. + + + + Is true if the DWM composition engine is currently enabled. + + + + The labeled divider provides a Aero styled divider with an option caption, similiar to what is seen in the + Control Panel dialogs of Windows 7 and Vista. + + + + + Constructor + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + The position of the divider line. + + + The default value is the center position which is consistent on how this type of divider has been used throughout the Windows + 7 and Vista UI's. + + + + + The color of the divider line. + + + + + The text that should be used for the caption. If the caption is set to blank and the divider position is set to center then + a simple divider line will be drawn. + + + After a change is made to the text property we want to invalidate the control so it triggers a new paint message being sent. + + + + + The positions that the divider line can be drawn in + + + + + The divider will be centered after the text caption and will begin drawing after the string. This is the default behavior. + + + + + The divider will be drawn below the text caption. + + + + Gets or sets the cue text that is displayed on the TextBox control. + + + Gets or sets whether the Cue text should be displyed even when the control has keybord focus. + If true, the Cue text will disappear as soon as the user starts typing. + + + Sets the origin of the thumbnail and shows the thumbnail on the control. + The Form instance that will be thumbnailed. + True if the control should automatically update itself in case the thumbnailed + form changes size or is closed. + + + Forces and update of the thumbnail. + Use this method if you know that the thumbnailed window has been resized and the thumbnail control should react to these changes. + + + Gets or sets the glass margins of the form. + + + Gets or sets whether mouse dragging should be handled automatically. + + + Gets or sets whether the extended glass margin is enabled or not. + + + + Gets or sets whether the window title and icon should be hidden. + + + + Main DWM class, provides Thumbnail registration, glass sheet effect and blur behind. + + + Registers a thumbnail to be drawn on a Windows Form. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The Windows Form instance on which to draw the thumbnail. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Registers a thumbnail to be drawn on a window. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The handle (HWND) of the window on which the thumbnail will be drawn. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Unregisters the thumbnail handle. + The handle is unvalid after the call and should not be used again. + A handle to a registered thumbnail. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + + Enable the Aero "Blur Behind" effect on a specific region. Background of the region must be black. + + + Disables the Aero "Blur Behind" effect. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Disables the Aero "Glass Frame". + + + Disables the Aero "Glass Frame". + + + + Sets a window's Flip 3D policy. + + Form whose policy is to be set. + Desired Flip 3D policy. + Is ignored on OSs that do not support Aero. + + + + Disallows Aero Peek on a window (or allows it). + + Form whose Aero Peek preview should be disabled. + True if Aero Peek should be disabled for the window. + Is ignored on OSs that do not support Aero Peek. + + + + Sets a window's state in order to exclude (or include) it in Aero Peek. + + Form whose Aero Peek exclusion state is to be set. + Set to true to exlude the window from Aero Peek. + Is ignored on OSs that do not support Aero Peek. + + + Common Task Dialog icons. Determine the look of the main instruction. + + + Returns the active windows on the current thread. + + + Class that aggregates the results of an "indirect" Task Dialog. + + + Results returned by Task Dialogs when closed by the user. + + + Direct Task Dialog call. + + + Indirect Task Dialog call. Allows complex dialogs with interaction logic (via callback). + + + The Task Dialog config structure. + + + Flags used in TaskDialogConfig struct. + From CommCtrl.h. + + + Notifications returned by Task Dialogs to the callback. + From CommCtrl.h. + + + Messages that can be sent to Task Dialogs. + From CommCtrl.h. + + + + A horizontal panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. + + + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. + + + + + Constructor + + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. + + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. + + + + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + + + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + + + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + + + + diff --git a/OnTopReplica.sln b/OnTopReplica.sln new file mode 100644 index 0000000..1c732a8 --- /dev/null +++ b/OnTopReplica.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C# Express 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OnTopReplica", "OnTopReplica\OnTopReplica.csproj", "{E626BD6E-BF38-4EB7-A128-5CA6F40EF557}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/OnTopReplica/AboutForm.Designer.cs b/OnTopReplica/AboutForm.Designer.cs new file mode 100644 index 0000000..5c3fb42 --- /dev/null +++ b/OnTopReplica/AboutForm.Designer.cs @@ -0,0 +1,236 @@ +namespace OnTopReplica { + partial class AboutForm { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm)); + this.themedLabel1 = new VistaControls.ThemeText.ThemedLabel(); + this.themedLabel2 = new VistaControls.ThemeText.ThemedLabel(); + this.panel1 = new System.Windows.Forms.Panel(); + this.buttonReset = new System.Windows.Forms.Button(); + this.progressBar1 = new VistaControls.ProgressBar(); + this.buttonUpdate = new System.Windows.Forms.Button(); + this.buttonExpander = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.linkLabel2 = new System.Windows.Forms.LinkLabel(); + this.linkLabel1 = new System.Windows.Forms.LinkLabel(); + this.label2 = new System.Windows.Forms.Label(); + this.webBrowser = new System.Windows.Forms.WebBrowser(); + this.toolTip = new System.Windows.Forms.ToolTip(this.components); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // themedLabel1 + // + this.themedLabel1.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.themedLabel1.Location = new System.Drawing.Point(0, 0); + this.themedLabel1.Name = "themedLabel1"; + this.themedLabel1.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0); + this.themedLabel1.Size = new System.Drawing.Size(200, 40); + this.themedLabel1.TabIndex = 0; + this.themedLabel1.Text = "OnTopReplica"; + // + // themedLabel2 + // + this.themedLabel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.themedLabel2.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.themedLabel2.GlowSize = 11; + this.themedLabel2.Location = new System.Drawing.Point(200, 0); + this.themedLabel2.Name = "themedLabel2"; + this.themedLabel2.Padding = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.themedLabel2.Size = new System.Drawing.Size(189, 40); + this.themedLabel2.TabIndex = 1; + this.themedLabel2.Text = "v2"; + // + // panel1 + // + this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panel1.BackgroundImage = global::OnTopReplica.Properties.Resources.back; + this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.panel1.Controls.Add(this.buttonReset); + this.panel1.Controls.Add(this.progressBar1); + this.panel1.Controls.Add(this.buttonUpdate); + this.panel1.Controls.Add(this.buttonExpander); + this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.linkLabel2); + this.panel1.Controls.Add(this.linkLabel1); + this.panel1.Controls.Add(this.label2); + this.panel1.Location = new System.Drawing.Point(0, 40); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(388, 105); + this.panel1.TabIndex = 10; + // + // buttonReset + // + this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonReset.Image = global::OnTopReplica.Properties.Resources.refresh; + this.buttonReset.Location = new System.Drawing.Point(338, 79); + this.buttonReset.Name = "buttonReset"; + this.buttonReset.Size = new System.Drawing.Size(23, 23); + this.buttonReset.TabIndex = 14; + this.buttonReset.UseVisualStyleBackColor = true; + this.buttonReset.Click += new System.EventHandler(this.ResetClick); + // + // progressBar1 + // + this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.progressBar1.Location = new System.Drawing.Point(235, 79); + this.progressBar1.Name = "progressBar1"; + this.progressBar1.Size = new System.Drawing.Size(102, 23); + this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee; + this.progressBar1.TabIndex = 3; + this.progressBar1.Visible = false; + // + // buttonUpdate + // + this.buttonUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonUpdate.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonUpdate.Image = global::OnTopReplica.Properties.Resources.xiao_component; + this.buttonUpdate.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonUpdate.Location = new System.Drawing.Point(235, 79); + this.buttonUpdate.Name = "buttonUpdate"; + this.buttonUpdate.Size = new System.Drawing.Size(102, 23); + this.buttonUpdate.TabIndex = 2; + this.buttonUpdate.Text = global::OnTopReplica.Strings.UpdateNow; + this.buttonUpdate.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonUpdate.UseVisualStyleBackColor = true; + this.buttonUpdate.Click += new System.EventHandler(this.Update_click); + // + // buttonExpander + // + this.buttonExpander.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonExpander.Image = global::OnTopReplica.Properties.Resources.xiao_down; + this.buttonExpander.Location = new System.Drawing.Point(362, 79); + this.buttonExpander.Name = "buttonExpander"; + this.buttonExpander.Size = new System.Drawing.Size(23, 23); + this.buttonExpander.TabIndex = 4; + this.buttonExpander.UseVisualStyleBackColor = true; + this.buttonExpander.Click += new System.EventHandler(this.Toggle_click); + // + // label1 + // + this.label1.BackColor = System.Drawing.Color.Transparent; + this.label1.Font = new System.Drawing.Font("Segoe UI", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(6, 75); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(199, 31); + this.label1.TabIndex = 13; + this.label1.Text = "OnTopReplica automatically checks for updates. No information is logged at any po" + + "int."; + // + // linkLabel2 + // + this.linkLabel2.AutoSize = true; + this.linkLabel2.BackColor = System.Drawing.Color.Transparent; + this.linkLabel2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.linkLabel2.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabel2.Location = new System.Drawing.Point(7, 58); + this.linkLabel2.Name = "linkLabel2"; + this.linkLabel2.Size = new System.Drawing.Size(252, 21); + this.linkLabel2.TabIndex = 1; + this.linkLabel2.TabStop = true; + this.linkLabel2.Text = "Homepage: www.codeplex.com/ontopreplica."; + this.linkLabel2.UseCompatibleTextRendering = true; + this.linkLabel2.VisitedLinkColor = System.Drawing.Color.Blue; + // + // linkLabel1 + // + this.linkLabel1.AutoSize = true; + this.linkLabel1.BackColor = System.Drawing.Color.Transparent; + this.linkLabel1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.linkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabel1.LinkColor = System.Drawing.Color.Blue; + this.linkLabel1.Location = new System.Drawing.Point(7, 37); + this.linkLabel1.Name = "linkLabel1"; + this.linkLabel1.Size = new System.Drawing.Size(212, 21); + this.linkLabel1.TabIndex = 0; + this.linkLabel1.TabStop = true; + this.linkLabel1.Text = "Created by: Lorenz Cuno Klopfenstein."; + this.linkLabel1.UseCompatibleTextRendering = true; + this.linkLabel1.VisitedLinkColor = System.Drawing.Color.Blue; + // + // label2 + // + this.label2.BackColor = System.Drawing.Color.Transparent; + this.label2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label2.Location = new System.Drawing.Point(7, 4); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(287, 33); + this.label2.TabIndex = 10; + this.label2.Text = "A lightweight, real-time, always on top thumbnail of a window of your choice."; + // + // webBrowser + // + this.webBrowser.AllowWebBrowserDrop = false; + this.webBrowser.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.webBrowser.Location = new System.Drawing.Point(0, 146); + this.webBrowser.MinimumSize = new System.Drawing.Size(20, 20); + this.webBrowser.Name = "webBrowser"; + this.webBrowser.ScriptErrorsSuppressed = true; + this.webBrowser.Size = new System.Drawing.Size(389, 200); + this.webBrowser.TabIndex = 14; + // + // AboutForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ClientSize = new System.Drawing.Size(389, 145); + this.Controls.Add(this.webBrowser); + this.Controls.Add(this.themedLabel2); + this.Controls.Add(this.themedLabel1); + this.Controls.Add(this.panel1); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; + this.HideTitle = true; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.Name = "AboutForm"; + this.Text = "OnTopReplica"; + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private VistaControls.ThemeText.ThemedLabel themedLabel1; + private VistaControls.ThemeText.ThemedLabel themedLabel2; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Button buttonExpander; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.LinkLabel linkLabel2; + private System.Windows.Forms.LinkLabel linkLabel1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button buttonUpdate; + private System.Windows.Forms.WebBrowser webBrowser; + private System.Windows.Forms.Button buttonReset; + private VistaControls.ProgressBar progressBar1; + private System.Windows.Forms.ToolTip toolTip; + } +} \ No newline at end of file diff --git a/OnTopReplica/AboutForm.cs b/OnTopReplica/AboutForm.cs new file mode 100644 index 0000000..9121ad0 --- /dev/null +++ b/OnTopReplica/AboutForm.cs @@ -0,0 +1,153 @@ +using System.Diagnostics; +using System.Windows.Forms; +using VistaControls.Dwm.Helpers; +using System.Drawing; +using System.Runtime.InteropServices; +using OnTopReplica.Properties; +using System.Deployment.Application; +using System; +using VistaControls.TaskDialog; +using System.ComponentModel; +using OnTopReplica.Update; + +namespace OnTopReplica { + public partial class AboutForm : GlassForm { + + public AboutForm() { + InitializeComponent(); + + //Tooltips + toolTip.SetToolTip(buttonExpander, Strings.AboutButtonExpanderTT); + toolTip.SetToolTip(buttonReset, Strings.AboutButtonResetTT); + toolTip.SetToolTip(buttonUpdate, Strings.AboutButtonUpdateTT); + + //Add link areas (localized text) + linkLabel1.LinkArea = new LinkArea(linkLabel1.Text.IndexOf("Lorenz Cuno Klopfenstein"), "Lorenz Cuno Klopfenstein".Length); + int linkStart = linkLabel2.Text.IndexOf("www"); + linkLabel2.LinkArea = new LinkArea(linkStart, linkLabel2.Text.Length - linkStart - 1); + + //Glassify + GlassEnabled = true; + GlassMargins = new VistaControls.Dwm.Margins(0, 0, themedLabel1.Size.Height, 0); + + //Update title + themedLabel2.Text = "v" + Application.ProductVersion.Substring(0, 3); + + //Add update event handling + _updateManager.UpdateCheckCompleted += new EventHandler(UpdateManager_UpdateCheckCompleted); + } + + protected override void OnKeyUp(KeyEventArgs e) { + if (e.KeyCode == Keys.Escape) + this.Close(); + + base.OnKeyUp(e); + } + + private void Lck_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://lorenz.klopfenstein.net"); + } + + private void Homepage_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://www.codeplex.com/ontopreplica"); + } + + private void ShowGenericError(string title, string mainContent, Exception ex) { + TaskDialog.Show(mainContent, title, ex.Message, TaskDialogButton.Close, TaskDialogIcon.Stop); + } + + #region Bottom toggler + + private void Toggle_click(object sender, System.EventArgs e) { + IsExpanded = !IsExpanded; + + //Update icon + buttonExpander.Image = IsExpanded ? Resources.xiao_up : Resources.xiao_down; + } + + bool _isExpanded = false; + bool _isFirstExpansion = true; + public bool IsExpanded { + get { return _isExpanded; } + set { + if(_isExpanded != value) + Size = new Size(Size.Width, Size.Height + ((value) ? webBrowser.Size.Height : -webBrowser.Size.Height)); + + _isExpanded = value; + + if (value && _isFirstExpansion) { + //Load text from resources + webBrowser.DocumentText = Strings.AboutDetails; + + //Register navigation events + webBrowser.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating); + + _isFirstExpansion = false; + } + } + } + + void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) { + if (e.Url != null && e.Url.IsAbsoluteUri) { + Process.Start(e.Url.ToString()); + e.Cancel = true; + } + } + + #endregion + + #region Updating + + UpdateManager _updateManager = new UpdateManager(); + + private void Update_click(object sender, System.EventArgs e) { + CheckForUpdate(); + } + + delegate void GuiAction(); + + void UpdateManager_UpdateCheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + Invoke(new GuiAction(() => { + if (e.Success) { + _updateManager.HandleUpdateCheck(this, e.Information, true); + } + else { + var dlg = new TaskDialog(Strings.ErrorUpdate, Strings.ErrorUpdate, Strings.ErrorUpdateContentGeneric) { + CommonIcon = TaskDialogIcon.Stop, + CommonButtons = TaskDialogButton.OK + }; + dlg.Show(this); + } + + UpdateStopped(); + })); + } + + public void CheckForUpdate() { + //Update GUI + buttonUpdate.Visible = false; + progressBar1.Visible = true; + + _updateManager.CheckForUpdate(); + } + + void UpdateStopped() { + //Reset UI + progressBar1.Visible = false; + buttonUpdate.Visible = true; + } + + #endregion + + private void ResetClick(object sender, EventArgs e) { + var dlg = new TaskDialog(Strings.AskSettingReset, Strings.AskSettingResetTitle, + Strings.AskSettingResetContent); + dlg.CommonButtons = TaskDialogButton.OK | TaskDialogButton.Cancel; + + if (dlg.Show(this).CommonButton == Result.OK) { + Settings.Default.Reset(); + } + } + + } +} diff --git a/OnTopReplica/AboutForm.resx b/OnTopReplica/AboutForm.resx new file mode 100644 index 0000000..4d116c2 --- /dev/null +++ b/OnTopReplica/AboutForm.resx @@ -0,0 +1,309 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + AAABAAIAMDAAAAEAIACoJQAAJgAAABAQAAABACAAaAQAAM4lAAAoAAAAMAAAAGAAAAABACAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAAAAFwAAACAAAAAnAAAAKwAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAAKwAAACcAAAAfAAAAFwAAAA0AAAAGAAAABgAAAA4AAAAdAAAALQAAAD0AAABIAAAATgAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATgAAAEgAAAA9AAAALQAAABwAAAANAAAACwAAABkAAAAwAAAARwAA + AFsAAABpAAAAcAAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcAAAAGkAAABdAAAASAAAAC8AAAAYAAAAEQAA + ACQAAABBAAAAbAoKC6QYGBiyFhcXtBcXF7QXFxe0FxcXtBcXF7UXFxi0FxcYtBcYGLQXGBi0FxgYtBgY + GLQXGBi0FxcYtBcXF7QXFxe0FxcXtBcXF7QXFxe0FxcXtRcXF7UXFxe1FxcXtBcXF7QXFxe0FxcXtBYX + F7QWFhe0FhYXtBYWFrQWFhe0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe0GBgYtQEBAqYAAAB5AAAAXwAA + AEEAAAAkAAAAFwAAACwAAABdOTk3u46IgKWTjIKUkYiAk4yEepKHf3WQhHtyj4B5b45+eG2NfHVrjHly + Z4t5cmeLeXFni3huZot5b2aLe3JoioB3bIuDe3KMiH92jIyCeIyMhXqNjYZ7jo2HfI+Ph36PkId/j5GI + f4+SiX+PkomAj5OLgJCTjIKQk4yCkJSMgpCTi4GQj4h+joyEeo2LgniMjIN5jY+HfY6RiYCPkoqAjn55 + c7IXFxe1AAAAcQAAAFAAAAAuAAAAGwAAADAJCQmJkoyGrJ6ViXCypp2Fv7OskL2yq5G6r6ePt6yljbWr + o4yzqqGLsaefirClnYmupJ2JrqOdia6inYqvpJ2JsqafibSqo4m4raeKu7Gqiryyq4u8s6uLu7OsjLyz + rYy8s62MvbOujb20ro29ta6NvbWujry2ro67tq6OvLaujr23r468ta6OurOsjLiyq4u3sayLubOvjLu0 + so20ramGnpWNdJ+ViGxnZWG9AAAAiQAAAFYAAAAzAAAAHAAAADIREhKSqaGapbK4splz3ePrceDn8nPg + 5/N14OfzduDm83nh5fN84uXyf+Lk8oLj5PKF4+Lyh+Pi8onk4PKM5d/yj+Xf8pPm3/KX6ODynOni8qDq + 4/Kk7OLyqO7i863w4vKy8+Hytvbh87z44fPE+uHzzvvk89776vPs+/Pz+fv58//7/fP/+/7z//v98v/7 + 9/L8++3y9/vi8/b70fPz+b7u1da5u6mim3V/fHe1AAAAkQAAAFkAAAA2AAAAHQAAADMQEBCRsKiirMLO + ybBI3eT/PNnf/z3Z2v8+2df/P9nV/0HZ0/9G2tL/StvQ/0vbzv9O28v/UNzJ/1Pcx/9W3sX/WuHD/13k + wv9i6ML/aO/E/3D1x/99+s7/jP3W/53/4P+y/+r/xf/x/9r/+f/v//3/9//8//n//P/6//r/8v/r/+H/ + 3v+//dr/t/3Z/8L+zv/K/7H/1f2b/9r8jv/X/Yz/0Oa+1r2zsYJ+e3e4AAAAkQAAAFoAAAA3AAAAHQAA + ADMPDw+RtKumr8bSz7Y809n/L9DT/zLQ0f8zz8//NNDL/zfQyf860Mj/PNHF/z3Sw/9A1cH/RdnC/0re + xP9S5cj/W+zN/2by0/9x+Nj/e/3d/4L/4P+L/+T/mf/o/6n/6/+5/+z/xP/n/8f/2/+//8z/tPy//6X5 + tf+Z96//jPar/3j1rP9z97j/gvrD/4X9yf+Q/cv/qvu5/7jtkf+112f/z9mt2cW9u4iAfXm5AAAAkQAA + AFoAAAA3AAAAHQAAADMPDw+Rta6osMfT0Lc40tX/LM/Q/zHQz/8y0c7/NdTO/znXz/8/29H/ROHV/0zo + 2P9T7tz/WvTg/2D54v9l++H/avzf/27+3f90/9v/ev/a/4H/1/+K/tT/kPzL/5H4v/+N87D/he6f/4Dp + k/+B5o3/huWK/4/liP+W5of/muaG/5zihv+e2ob/pNeJ/6ncjP+s5pD/pO6U/5/wlv+h4oX/ytu32si/ + vYuCf3u6AAAAkQAAAFoAAAA2AAAAHQAAADMPDw+Rt6+qscnV0bk+2Nf/M9nV/zrd2P9A4tz/Rejf/0jq + 4P9J6tv/TOrW/07o0P9P5sn/UefD/1Xqwf9c8ML/ZPXC/2v3wP9v8rn/cOqv/27iof9r25X/a9mN/3TZ + jP9924v/gtuH/4fbgv+I2n7/itR6/4nNdP+HxW3/iL5o/4y4YP+St1X/k7ZL/5S1Tv+ZtlX/pL5d/67L + Yv+x123/0uC828rCwI2DgHy7AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RuLCss8rX07pG4dz/Od7W/zzb + 0f8/2s3/P9jI/0DUwv8/0Ln/Q9G2/0rXuP9S3rr/WuS9/1/kuf9f3rD/X9ai/1/Pl/9hzJD/Zc+M/2zT + if9x1oj/d9eE/37Vg/+D0X//fshz/3m+aP95uGP/e7Nf/3+wXP+FsFb/jLVR/4+8Uv+QwFv/k8Rk/5zF + Zf+hw2D/pMBY/6i7Uv+ps0D/0M+i3M3Hx5CEgX68AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RubKutMvW + 0rs/ysH/MsS3/zbDtP87x7b/Qc27/0bVwP9L2b//Ttq7/1HWs/9T0Kn/Vcqh/1jImv9dy5X/Y9CS/2nT + kP9u1Yz/cNOG/3DOfv9wx3X/cMJv/3vDcf+GxnH/gsFl/4G/Xv+Iv17/jMNc/5DHXP+QzGH/jM9u/4vL + c/+OwWz/j7lg/5GyVP+SqEn/lqJB/5icOv+WkSr/yMOb3NDMypGFgn+9AAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+RurOvtszW0bxCxbj/OMa2/0DNu/9F0r3/SdS9/0rSt/9LzKz/TMik/1HLoP9a0aH/Y9ih/2vc + nv9w3Jf/cdqP/3PXiP931YH/etV8/37Vdv+A1HD/hdNq/5XUbv+Z027/icll/4HGYv+Dx1z/hcJU/4K3 + VP99qVX/fJ1J/3yTPP97izT/fIYv/4CDK/+EgSj/iIAn/4uBJv+MfBr/xr2W3dPPzZOHhIG9AAAAkAAA + AFoAAAA2AAAAHQAAADIPDw+RvLWwts7Z071K0L7/Psq0/0LKr/9HzK3/T9Ox/1jdtv9f5bf/Y+q0/2rt + r/9y7Kn/eeqj/4Hmnf+C4pT/gNyK/3/Tfv99zHP/e8Rp/3e7Yf9ysl3/b69h/3e2cf9zuHD/aa9Z/3Gn + Qv94nDT/dI4v/3KGKv90gyb/doIk/3d/I/94fCH/enog/3x4IP+AeCD/g3kg/4d6Iv+Idhf/xLuW3tbR + 0JWHhIG+AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvLWxuM/Z075W173/Utq7/1riv/9h6cL/aOzC/23t + v/9s6bP/aeCl/2nVl/9pzIz/bcSB/3C8d/9ts23/Z6lj/2SiXf9hnVv/XZpb/1yZXP9cnFv/ZaVZ/3aw + U/94pjv/cY8n/2+EJP9sgCX/bH4k/3B+I/92gCL/en8f/3p7Hv95eB7/eXcd/3t1Hv9+dR7/gHYf/4R3 + H/+FchX/w7qW3tfT0peHhYK/AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvbazuNHb1b9k3r//WNez/1bP + qP9Tx5z/U7+U/1O5jv9Ss4T/UKp2/1Cha/9Tnmb/Wp5j/2ChZP9gn2L/XJld/1yYXP9cmFf/XphQ/2Sa + R/9nmDr/cJkv/32dKf92jyT/an0h/2p9If9ufyD/cn4e/3V+Hf98gB3/fX8c/3t6HP95dhz/eHQb/3lz + HP97cxz/fXQc/4J0Hf+CbxL/wrmV3tjU1JiIhoPAAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+Qvbe1udDY + 0sBPt5b/QauH/0Khff9CnXT/RZ1y/0iecP9Lnm3/S5pn/0yVYv9QlGD/WZlf/2KhXv9ln1n/YplS/2WZ + TP9nmEP/aJQ5/2aNLP9mhST/dI0i/3+WI/9yhx//aXkc/2x7G/9xfhr/dYEa/3qAGv+Agxr/f4AZ/3x7 + Gv95dhr/eHIZ/3hxGv95cRn/fHEa/4ByG/+AbBD/wbiU39nW1pqIhoPAAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+Qvrq2utDW0MFJo4D/P5xz/0KVbP9BkWb/RJJl/0eVZ/9LmGb/TZZh/0+TW/9UlFf/X5pU/2ui + U/9uoUz/bZtD/2+YO/9oji//ZIQl/2Z/IP9ugB3/e40e/32QHv9xgRv/a3kY/298F/90gRf/eYMY/36D + F/+Ehhj/g4IY/358GP96dhj/d3IY/3dwGP94bxj/em8Y/31wGf99ag7/wbiU4NzY15uJh4TBAAAAkAAA + AFoAAAA2AAAAHQAAADIPDw6Qv7q3u9DWz8FJnnT/QJdq/0KPZP9Di1//RYxd/0mQXP9Ok1r/UJNW/1OS + Uf9ak0z/aJxI/3ilRP96oT3/b5Qx/2yMKP9pgyH/a4Ac/219Gf9wfhj/eosa/3yOGv9xfxf/bnwW/3J/ + Ff96hBX/fYMW/4GFFv+Hhxb/hYMW/398Ff97dRb/eHIW/3dvFv93bhb/eG4W/3xuF/97aAz/wLiU4N3Z + 2JuJh4TBAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6Qv7u4u9DWz8JLmm3/QpRh/0SNWv9Fh1P/SYhR/0yL + T/9Rjk7/V5RK/12XRv9mmUD/dqI8/4GmNf93mCz/booj/3OKHv9yhBr/cH8V/257FP9ygBb/fY8Y/36P + GP9ygBT/cn4U/3iDFP+AiBT/foUT/4aIFP+IiBT/hYMU/398E/98dhP/eXMU/3hwFP93bRX/d20V/3tt + Ff94Zgr/wLeT4N3Z2p2KiIXBAAAAkAAAAFoAAAA2AAAAHQAAADIODg6QwLy5vNHWz8JOmGP/RpNW/0eK + UP9Igkj/SoJG/1CIQ/9blEL/ZJs+/2qfO/9zoTX/eJ0s/32aJP95kiD/doob/3uMGf92hRb/cYAU/258 + Ev92hRP/g5MV/4WSFf92gxL/eIMS/3+HEv+EjBL/gYcR/4mKEf+IiRL/hIMS/4B8EP98dxH/e3QS/3lx + E/93bhP/eG0T/3lsFP93ZQn/wLeT4d7a252KiIXCAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6QwLy5vNHW + zcNRlFj/SZJN/0yIR/9MgD//VYs8/2CXOv9lmDf/bqU1/3CgL/9tjiX/d5Eg/4OaHv9/khz/e4sX/4KN + Fv96hhT/dIAS/3N/Ef9/ixP/i5kU/4qVFP98hhH/fogR/4WNEf+GjRH/hYkO/4mLD/+IiA//hIEQ/398 + D/99eA//fXYQ/3xzEf96bxL/eW0S/3ptEv93Zgf/wLiS4d7a256LiIbCAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDg6QwLy6vNLVzcNUklD/S5BD/1OOP/9elTr/YZQ0/2WYMf9urC//apgn/2WCIP9wiR7/f5Uc/4qb + Gv+Fkhr/gIsV/4SNE/98hhL/eIEP/3mDEP+GkhL/kp4S/4uWEf+Aig//gosO/4qREP+IjQ//iYsN/4uM + Df+Ihgz/hIEO/4B7Df9/eA3/gXgP/4B1D/9+chD/fW4R/3xtEf95aAb/wbmS4d/c3J+LiYbCAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Rwby6vdLVzMRVkUf/WZ89/2WjOv9gjzD/ZKAu/2muLf9ljST/ZH0f/2uE + Hf93jRv/hZYY/4+bF/+Ikhr/gooS/4OMEP99hg7/eoIO/36HDv+NlxD/l6AQ/42VD/+FjQ3/h44N/4+U + D/+IjA7/jYwM/46KDP+JhAr/gn8M/396C/+BeAz/g3gN/4J1Df+Acw7/fm8P/31uD/98awT/wruS4d/c + 3J+LiYbDAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RwLy7vtPWzMRjo0L/YaY2/1+XMf9lri7/YqQp/1x+ + If9lgB7/aoIc/2+FGv99jRf/i5YV/5KaFv+JkBj/gogP/4OLDf9/hgz/fIML/4OKDP+Umw7/nKEP/42T + Df+Ijgz/jJEM/5CWDf+Liwz/kY4K/4+KC/+Jgwn/gn0K/4B5Cv+CeAv/g3gM/4N2Df+Acw3/f28N/35v + Df9+bgP/w72S4d7c3KCLiYbDAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Rwr27vdTYzMRfmTv/W6Ew/2a+ + M/9emCj/WHUf/197Hf9ogxv/bIIY/3KFF/+AjhT/jZcT/5KZFv+IjhX/gogM/4WJDP+AhQr/f4UJ/4iO + C/+ang3/naEN/42SC/+LkAv/kZUL/5KUC/+OjAn/lI8J/4+JCf+Jgwj/g30J/4F5CP+DeQj/g3gK/4J2 + C/9/cgz/fm8L/4BxDP+AcQL/xL6R4d/b3KCLiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Qwr28vtPU + y8Rgojn/YcEx/1uXKf9Zdx//W3gb/2F8Gf9rgxf/bYEV/3WFE/+DjhL/j5YP/5KXE/+HjBL/g4gK/4WJ + Cf+ChQj/gYYI/46SCP+eoQv/naAL/42RCf+OkQr/lpgK/5ORCf+Sjgj/lI8I/4+JCP+Jggf/g30G/4F6 + Bv+DeQf/gncJ/4F0Cv9+cQr/fW8J/4ByC/+BcwD/xL+R4t3a26GKiIXEAAAAjwAAAFoAAAA2AAAAHQAA + ADIPDw+Qwby8v9XczMVhuDf/VpEl/1qFIv9bfBz/XHcZ/2J7Fv9rgRT/b4AR/3eFEP+FjRD/jpUL/5GV + EP+GihD/g4YH/4WIB/+ChAf/hIYH/5SVB/+hogr/nJ0J/5GRB/+Tkgj/mZgJ/5KPCP+VkAf/lY8H/4+I + B/+Jggb/hH0F/4J6Bf+CeAb/gnYH/350CP97cAj/e3AI/4F0Cv+BdQD/xL+R4t3Y26KKiIXEAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Qwb69v9TWy8ZZhCz/Voof/1yJIP9cexn/XHYW/2N5FP9sfxH/bn8O/3mE + Df+EjQz/jZMI/5GUEP+FiQ3/hIUF/4aGBf+ChAb/hocF/5iYBv+jpAb/m5oH/5ORB/+WlQb/mZcH/5KP + Bf+XkQb/lY4F/46HBv+IgQX/hHwE/4N7BP+CeAX/f3UG/3xyBv96bwb/e3EG/4J2Cf+CdwD/xL+Q4tzZ + 26KKiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw769v9TVy8ZXgin/V4sc/1yKHv9behj/XXQV/2N3 + Ev9rfA//b30N/3mCDP+Eiwv/jJEI/5CSEv+Ehgz/g4QD/4WFBf+CgwX/iokF/5uaBv+jpAX/mJYF/5OQ + Bv+Ylgb/lpMG/5SPBf+YkQb/k4sG/42EBv+HfwT/hHwD/4N7BP+AeAX/fXQE/3pwBf93bgb/enEG/4B2 + CP+CdwD/xMCP49zZ26OKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw7++wNXVzMZYgCj/Voob/12K + G/9cehb/XXIT/2J1EP9rew7/bXwM/3iBC/+Eigr/io8H/46RE/+ChAn/gYID/4ODBf+Cggb/jYsF/52c + Bf+iogb/lZMF/5OQBv+YlQb/k48G/5WOBv+Xjwb/kIkG/4uCBv+FfQT/g3wD/4N6Bf9/dQX/enEE/3Vu + BP90bgX/eHEG/393CP+BeQD/xMGO49vZ26SKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6RxMC+wNXW + zMZZfib/V4kY/16KGf9behX/W3AS/2JzD/9peQz/bHoL/3eACf+DiQj/io0H/46QFf+Aggj/gIED/4GC + BP+BgQX/j40F/5+dBv+hngX/lI8G/5WQBv+YkwX/kosF/5aOBf+VjAb/j4YF/4iABf+EewP/g3sE/4J4 + Bf9+dAT/d3AE/3JtBP9ybQT/d3IF/3x3B/+AeQD/wb6N49vY26SJiIXGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QxMC/wNbWzMZZfCP/WIYV/16KGP9ceRT/XG8Q/2FxDf9odwz/bXgK/3Z/CP+Bhwj/iYsH/42O + Ff9+gAf/f4AE/3+AA/+CgQT/ko8G/6CeBv+emQb/kowH/5WPBv+VkAX/kYkG/5eMBv+TiQX/jYMF/4d+ + BP+DegP/g3kE/4B2BP98cgT/dW4E/3BrA/9xbQT/dXEF/3t4Bv97dwD/vbqN49za26WJiIXGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QxcG/wNbXzcdXeiH/V4QT/16JFv9deRL/W24N/19wDP9ndAv/bHYJ/3V9 + B/+Bhgf/iIkH/4yNFv98fgX/fn4D/35+A/+DgAT/lJEF/6GeBv+alAb/kYkH/5WOBf+SiwX/kIcH/5aK + Bv+QhQX/i4EF/4Z8BP+CeAX/gXYF/35zBP96cAT/c2wE/29qA/9xbQP/dHEE/3t6Bf9zcAD/uriN493a + 26WKiIXGAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6Qx8PBwdbXzcdWeB//V4IS/16IE/9ceRD/WmwN/15u + C/9lcgn/anUH/3V8B/+BhAb/hocG/4uLGP96ewX/fH0E/3x8A/+EgQT/lZMF/6GdBv+Vjwb/kIgF/5ON + Bf+PhwX/kYYG/5OHBf+MggX/ioAE/4R5BP+BdwX/gHUE/3xyBP92bgT/cGsE/29qA/9wbAP/c3ED/3l4 + Bf9taQD/ubWN493a26WKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8PCwdjYzsdWdR//VX8P/12G + Ef9cdw7/WWoN/15sCv9jcQj/anMG/3R7Bv9/gwX/hIUG/4mJGf94eAP/ensE/3p6BP+FggT/l5QE/56b + Bf+PigX/j4YG/5CJBf+MgwX/kYUG/5CDBf+KfwT/iH8D/4F3Bf+AdQT/fnME/3pwBP9zbAT/cGoD/29q + A/9vbAP/dHID/3RzBf9nYgD/trOM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8TDwdjY + zsdVch3/U3oN/1yEEP9cdg3/WWkL/11rCP9icAf/aXEG/3N5Bv9+gQT/goQH/4aHGf91dgL/eHgF/3l4 + BP+GgwP/mZQF/5uXBf+MhQX/jYYF/42FBP+JgAT/j4ME/4uABP+JfgT/hXsE/390BP9/dAT/fHIE/3du + BP9yawP/b2oD/29rA/9vbAP/c3MD/25tA/9hXQD/tLKM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QycXEwdnZz8dUbxv/UnYM/1uBDv9cdQv/WWkJ/1tpB/9gbgX/aHEF/3J3Bv97fgP/gIII/4SF + GP9ycwL/dnYF/3h3BP+IhAT/mJQF/5aSBP+IggX/ioMF/4iAA/+IfwT/jYEE/4d9BP+HfgT/gXgE/39z + BP99cgT/enAE/3RtBP9wagP/bmoD/25rA/9wbQP/cXED/2lnAv9cWAD/s7CL497a3KaKiIbGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QysfFwdna0MhTbRn/UXIL/1t+Df9bdAr/WGgI/1pnB/9fbAb/Zm8F/3F2 + BP95fAL/f4EK/4KCFv9wcQL/dXQE/3d2BP+JhQT/mJQF/5GMBf+GfwX/hn8E/4N7BP+IfgT/iX4E/4V7 + A/+GfAT/fXQE/31yBP97cQT/d24E/3FrA/9uaQL/bWoC/21qAv9xbwP/bWwD/2RiA/9XVAD/sa6L5N/b + 3KiKiIbHAAAAjwAAAFoAAAA2AAAAGwAAADEODg6PysfFwdjYzsZRaRb/TW0G/1d6Cf9YcQb/VGUE/1dk + BP9caAP/ZGwB/25zAP92eQD/fX8K/31+Ev9sbQD/cXAB/3Z1Af+IhQL/lZEC/4uEAf+BewL/f3gB/393 + Av+EewH/hHoB/4N4Af+CeAH/eG8B/3lvAv93bgH/cmsC/21oAP9rZwD/a2cA/2tpAP9ubQD/ZmUA/2Bd + AP9STgD/rquJ497b3KeKiIbHAAAAjQAAAFgAAAA1AAAAGAAAACwQDw+MysbEv9LRx71WbR3+U3AP/1x7 + EP9ddQ7/WmoN/11pDv9jbQz/anEK/3N4C/96fAr/gYMX/36BGv9wcQj/dXQL/3t7DP+Niw3/l5QN/4qE + Df+Efg3/f3kM/4N8DP+IgAv/hnwM/4h/DP+CeQz/fXQM/310DP95cwz/dW8L/3JtCv9xbQn/cW0K/3Jx + Cv9xcAr/aWgL/2RiCv9WUgf/qaaH2tjV1aGMiojGAAAAiQAAAFIAAAAwAAAAFAAAACQLCwuCv7y4v9XR + y6PMzcDB0tTGzNTWx87V1sfO1NXHztXVx87V1cfP1tbHztjXx87Y18fO2dfIztfWx8zV1MXL1dPDytXU + w8nX1cPJ2NbDydbUw8jW08PI1dPDydbTw8nX1MPJ1tPDytfUxMrW1MTK1tPDytbTxMvW08TL1tTFy9bT + xcvV0sPL1NHDzNPRwszS0cLM0c/CzNHOwszJx7vFxsK7sM3IxJmEgoDGAAAAewAAAEYAAAAoAAAADgAA + ABoAAABTaWhmx9jUzrLg3Nmr4t3br+Ld26/j3tuv497br+Pf26/i39uw4d/br+He26/h3duv4Nvart7a + 2Kzc2Nap29bTqNnV0qfY1NGn2NPRp9jV0abZ1NGm2tTRpdnV0abZ1NKn2dTTqNrW1Kjb1tSo29bUqdzW + 1and2Nap3dnWqd3X1qra1tSq2NTTrNfU0qzX09Ks19PSrNfT0q3W0c+r0MvHp766tr0xMTC4AAAAVwAA + ADUAAAAeAAAACQAAABIAAAAnAAAAZzMzMqtPTk20TEtKs0tLSrRMS0q0TEtKtExLSrRMS0q0S0tKtEtL + SrRLS0q0S0tKs0tKSbNKSUmzS0pIs0pKSbNKSkizSkpIs0pKSLNLSUizS0pJsktKSbJLSkmzS0pJs0tK + SbNLSkmzTEpJs0xKSbNMSkmzTEpJs0xKSbNLSkmzS0pJs0tKSbNLSkmzS0pJs0tJSbNLSkm0TUxLth4d + HaMAAABeAAAAOAAAACUAAAATAAAABQAAAAsAAAAWAAAAIQAAAC0AAAA3AAAAOgAAADoAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADoAAAA7AAAAOgAAADMAAAArAAAAIQAAABUAAAALAAAAAgAAAAQAAAAJAAAADgAAABMAAAAXAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGAAAABcAAAATAAAADgAAAAgAAAAEAAAAAAAAAAEAAAACAAAABAAA + AAcAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAkAAAAHAAAABAAAAAIAAAABAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBIAAAAAAAPIEKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ABEAAABAAAAAVwAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABXAAAATAAA + AB8EBAQ+VlRQlXNybqFqamaeZ2dinWZkYJxqaGOdcG5pnXFwa550cm2feXRxn350c597cW+efHVwnU1K + RZgAAQFUFw4NUI+5uMNY4+b0Xt7b9Gbh2PRv59bzf/La9JP84vSx/+r0z//p9Nv/4vTP/930yv/Z9N// + ufKnp5OvAwEEZRkPDk6Eu7nPLtvX/zrbz/9F4Mn/VOrF/2Xuvf9y667/guWe/4nciP+K1Hf/jM5v/5bO + b/+v2HT/paeTuwQCBmIZDxBPirmy0D/Wwf9Q273/W9yt/2vZm/9x0IT/csZw/33Eav99tlT/fqdG/4Cb + QP+FjjH/mZAz/6SfjL0FBQhjGBAST5G6rtFOyqT/VsCS/1mze/9mrGv/ZqFZ/2WXRP9zmDT/bYIh/3V9 + HP96eBn/d28X/4p7Jf+kno3ABQYJYxkTFlCOq5vTPpFi/0eLV/9WlE//b51B/26NKv9tgBn/d4YX/3N+ + Ff+ChhX/gH0W/3ZuFP+FdyH/pZ+OwQYGCWMZFBhQkKiR1EuNRv9dlDr/bZgu/4CWHv98iBT/eoUR/4SQ + Ev+CihD/iYoP/4F9D/97cQ//hHYc/6Wgj8MGBgljGBQZUJasidReozD/Y40i/3OHGP+MlRX/gYgO/4iP + Df+RmA3/jZEM/42JCv+Cewr/gXQK/4l6F/+noo/EBgYJYxgUGlCXroXVWI8f/2J4Ff97iBD/jZIO/4OF + CP+TlQf/mJkI/5WSCP+PiAb/g3oF/31yBf+KfhP/p6OOxQYGCWMZFhtQlaOB1VeCFf9idRD/eoQK/4qM + C/+CggT/mJYF/5iVBv+WkAX/jIQF/4J4BP92bgP/h4AR/6ajjcYGBgljGRYcUJaif9ZYgA//YHAM/3d/ + CP+Ghwv/gIAE/5mVBv+UjQb/kogG/4h9BP99cwT/cGsB/4B+D/+joYzGBgYKYxoXHVCWoH7XU3cG/1tq + Bf9yeAL/fX4I/317AP+TjgH/ioIB/4p+Af+AdQD/dWwA/21pAP90cgn/oJ2MyAcHCmQaGB1RoaiK1maC + HP9teh3/gYYb/4mKIf+Nixr/m5Yb/5KKG/+Uihv/i4Eb/4F7Gv9+exf/fHoi/6WilMcHBwpjBgYHMXp5 + dKCcnZG2mZiNtJqZjbWZl4yzmJaIsJiWiLCYlYiwmZaJsZmVirGYlYqylpSJs5mXjbRqaGadAQEBPQAA + AAUAAAAeAAAAKgAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAArAAAAIwAA + AAoAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxB + + + \ No newline at end of file diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs new file mode 100644 index 0000000..4e96ab7 --- /dev/null +++ b/OnTopReplica/AspectRatioForm.cs @@ -0,0 +1,214 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Runtime.InteropServices; +using VistaControls.Dwm.Helpers; +using System.ComponentModel; +using OnTopReplica.Native; +using System.Drawing; + +namespace OnTopReplica { + + /// + /// Form that automatically keeps a certain aspect ratio and resizes without flickering. + /// + public class AspectRatioForm : GlassForm { + + bool _keepAspectRatio = true; + + /// + /// Gets or sets whether the form should keep its aspect ratio. + /// + [Description("Enables fixed aspect ratio for this form."), Category("Appearance"), DefaultValue(true)] + public bool KeepAspectRatio { + get { + return _keepAspectRatio; + } + set { + _keepAspectRatio = value; + + if (value) + RefreshAspectRatio(); + } + } + + double _aspectRatio = 1.0; + + /// + /// Gets or sets the form's aspect ratio that will be kept automatically when resizing. + /// + [Description("Determines this form's fixed aspect ratio."), Category("Appearance"), DefaultValue(1.0)] + public double AspectRatio { + get { + return _aspectRatio; + } + set { + if (value <= 0.0 || Double.IsInfinity(value)) + return; + + _aspectRatio = value; + } + } + + Padding _extraPadding; + + /// + /// Gets or sets some additional internal padding of the form that is ignored when keeping the aspect ratio. + /// + [Description("Sets some padding inside the form's client area that is ignored when keeping the aspect ratio."), + Category("Appearance")] + public Padding ExtraPadding { + get { + return _extraPadding; + } + set { + _extraPadding = value; + + if(KeepAspectRatio) + RefreshAspectRatio(); + } + } + + /// + /// Forces the form to update its height based on the current aspect ratio setting. + /// + public void RefreshAspectRatio() { + int newWidth = ClientSize.Width; + int newHeight = (int)((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical; + if (newHeight < FromSizeToClientSize(MinimumSize).Height) { + newHeight = FromSizeToClientSize(MinimumSize).Height; + newWidth = (int)((newHeight - ExtraPadding.Vertical) * AspectRatio) + ExtraPadding.Horizontal; + } + + ClientSize = new Size(newWidth, newHeight); + } + + /// + /// Adjusts the size of the form by a pixel increment while keeping its aspect ratio. + /// + /// Change of size in pixels. + public void AdjustSize(int pixelOffset) { + Size origSize = Size; + + //Resize to new width (clamped to max allowed size and minimum form size) + int newWidth = Math.Max(Math.Min(origSize.Width + pixelOffset, + SystemInformation.MaxWindowTrackSize.Width), + MinimumSize.Width); + + //Determine new height while keeping aspect ratio + int newHeight = (int)((newWidth - ExtraPadding.Horizontal - clientSizeConversionWidth) / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; + + //Apply and move form to recenter + Size = new Size(newWidth, newHeight); + int deltaX = Size.Width - origSize.Width; + int deltaY = Size.Height - origSize.Height; + Location = new System.Drawing.Point(Location.X - (deltaX / 2), Location.Y - (deltaY / 2)); + } + + /// + /// Updates the aspect ratio of the form and optionally forces a refresh. + /// + /// Size from which aspect ratio should be computed. + /// True if the size of the form should be refreshed to match the new aspect ratio. + public void SetAspectRatio(Size aspectRatioSource, bool forceRefresh) { + AspectRatio = ((double)aspectRatioSource.Width / (double)aspectRatioSource.Height); + + if (forceRefresh) { + KeepAspectRatio = true; + } + } + + #region Event overriding + + protected override void OnResizeEnd(EventArgs e) { + base.OnResizeEnd(e); + + //Ensure that the ClientSize of the form is always respected + //(not ensured by the WM_SIZING message alone because of rounding errors and the chrome space) + if (KeepAspectRatio) { + var newHeight = (int)Math.Round(((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical); + ClientSize = new Size(ClientSize.Width, newHeight); + } + } + + /// + /// Override WM_SIZING message to restrict resizing. + /// Taken from: http://www.vcskicks.com/maintain-aspect-ratio.php + /// Improved with code from: http://stoyanoff.info/blog/2010/06/27/resizing-forms-while-keeping-aspect-ratio/ + /// + protected override void WndProc(ref Message m) { + if (KeepAspectRatio && m.Msg == WM.SIZING) { + var rc = (Native.NRectangle)Marshal.PtrToStructure(m.LParam, typeof(Native.NRectangle)); + int res = m.WParam.ToInt32(); + + int width = (rc.Right - rc.Left) - clientSizeConversionWidth - ExtraPadding.Horizontal; + int height = (rc.Bottom - rc.Top) - clientSizeConversionHeight - ExtraPadding.Vertical; + + if (res == WMSZ.LEFT || res == WMSZ.RIGHT) { + //Left or right resize, adjust top and bottom + int targetHeight = (int)(width / AspectRatio); + int diffHeight = height - targetHeight; + + rc.Top += (int)(diffHeight / 2.0); + rc.Bottom = rc.Top + targetHeight + ExtraPadding.Vertical + clientSizeConversionHeight; + } + else if (res == WMSZ.TOP || res == WMSZ.BOTTOM) { + //Up or down resize, adjust left and right + int targetWidth = (int)(height * AspectRatio); + int diffWidth = width - targetWidth; + + rc.Left += (int)(diffWidth / 2.0); + rc.Right = rc.Left + targetWidth + ExtraPadding.Horizontal + clientSizeConversionWidth; + } + else if (res == WMSZ.RIGHT + WMSZ.BOTTOM || res == WMSZ.LEFT + WMSZ.BOTTOM) { + //Lower corner resize, adjust bottom + rc.Bottom = rc.Top + (int)(width / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; + } + else if (res == WMSZ.LEFT + WMSZ.TOP || res == WMSZ.RIGHT + WMSZ.TOP) { + //Upper corner resize, adjust top + rc.Top = rc.Bottom - (int)(width / AspectRatio) - ExtraPadding.Vertical - clientSizeConversionHeight; + } + + Marshal.StructureToPtr(rc, m.LParam, false); + } + + base.WndProc(ref m); + } + + #endregion + + #region ClientSize/Size conversion helpers + + int clientSizeConversionWidth, clientSizeConversionHeight; + + /// + /// Converts a client size measurement to a window size measurement. + /// + /// Size of the window's client area. + /// Size of the whole window. + public Size FromClientSizeToSize(Size clientSize) { + return new Size(clientSize.Width + clientSizeConversionWidth, clientSize.Height + clientSizeConversionHeight); + } + + /// + /// Converts a window size measurement to a client size measurement. + /// + /// Size of the whole window. + /// Size of the window's client area. + public Size FromSizeToClientSize(Size size) { + return new Size(size.Width - clientSizeConversionWidth, size.Height - clientSizeConversionHeight); + } + + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + clientSizeConversionWidth = Size.Width - ClientSize.Width; + clientSizeConversionHeight = Size.Height - ClientSize.Height; + } + + #endregion + + } + +} diff --git a/OnTopReplica/Assets/25.png b/OnTopReplica/Assets/25.png new file mode 100644 index 0000000000000000000000000000000000000000..e98a5dda4366693f7bae7194ede43e7da9befd9a GIT binary patch literal 639 zcmV-_0)YLAP)@Pd1f>O+aux zK?~z2D(hDve&Nl$xUO7raAe@weRt-adFFlRS?+K+z-P=vkLzF8=ROH>gSbLOkG^-r zE8-_YMJNdQ<;x4l3heiLh{xklsZ??%lj*_Z@d$3W8ypS?%U&**(dl#=olGXV-EQ|g z7!1n2UeD+Nolq{9b5^UhAc`WmTrSWHlcAr%Znq2T^;+=xe9&&UjRM>4RwCv=AOJR- z4Ui2+qY;e9W46ib^#UbPM-(SQ%we$$dTchE8)OxTMbk8>*Xv7c@oOv=;|REZqoS0g z19OZH@Z-wqbh1FF(}Bfe@svm;9_bs8ri4Nv8Smx9ddx8j;JKn^vza-&-7X}P$wz$y z#^h$R3537w?Yx6i_49SHSfm&CFCAPQS>AC(ESV-yDwXoI&SWyDje;QL5r-obMB)4r zU;F(&V~#{3fXBI`BG0jB(4I8lc|K3RY&Hu7oQjM&L)IQiS^O^27)z2Q34XsHEEWsY zYBgxJT8up$4nsPfX7?}{3_w-YA&&C$p(@^HyVus&6xB+%A_Q+*=z757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVN2)+ICY~;iAsWHS2@*yR>@O^BF=$KY z$YeMf>@Ivlq-NVg-t-))&Mt|RUYE=U%|ovWC;3Q79A#KJTkBeuNQ*O2KZB>MpUXO@ GgeCw)7e2)R literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/arrow_up.png b/OnTopReplica/Assets/arrow_up.png new file mode 100644 index 0000000000000000000000000000000000000000..b34489e747f6c4d65d4f2bb82693fe6535d8e783 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@q#X;^)4C~IxyaaMs(j9#r85lP9 zbN@+X1@aY=J%W507^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVN2)+I+MX_sAsWHS2@;zg*ss)M&umCs x^hGIK!AseUx5D(%<%VG8zb1mBUSC347&NW5uD!bX|2|L~gQu&X%Q~loCIAd3JJA3D literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/back.png b/OnTopReplica/Assets/back.png new file mode 100644 index 0000000000000000000000000000000000000000..d5cfc9f16a5141391fbb6051cc6382cd52c23a28 GIT binary patch literal 150765 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�l==v9-BOCPv*ENV#bGR0oHk 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 bF9!ZU+yv;L96J+*00000NkvXXu0mjf5|;Bq literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/clickforwarding.png b/OnTopReplica/Assets/clickforwarding.png new file mode 100644 index 0000000000000000000000000000000000000000..66d9bc80fde385d142fef3f29cf7817a404de259 GIT binary patch literal 951 zcmV;o14#UdP)_ROnYA*=AP;U%I zAV$MaO@wM&G*l%a)Lpi_-A=nZ+nG7Xvs1))LN`Z-e+eAi-xY0r<+Y2;S2bje z$w{xK>$7@5x0s@kUoT%y_8#f^n1w@C_2I_l(eB@VSYcnE!H3&kz>b~-%$sTVsBe-t zqi4hwe7bulcJ`kDDHPxr9DD9xd%ov@V7lDStpj-g~ zalaUKRk#pUOLPPq=fhX6;X>jlPJDX`e}3MNX|sUNz3q7J!F6Er8mblqlUd02e*_48 z_AJ7w34|;I{Vi>HIQ|A$nd(}09PX}1)6e620e!7A~y&-82i1?Kpxv1)(sDsA>*pPY-SghP1JJ zqpQchJ3H9)=zHrLKHK-MVI!Y%;ABhwf|ABtzc0uCmRh}O^OG-+j9wZ3W9(8wZVde` ZzyLCuV;%72pw9pR002ovPDHLkV1jSLx#s`? literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/component.png b/OnTopReplica/Assets/component.png new file mode 100644 index 0000000000000000000000000000000000000000..c1796148e6e9d38079060282af20f44099970f5a GIT binary patch literal 731 zcmV<10wn#3P)004R= z004l4008;_004mL004C`008P>0026e000+nl3&F}00009a7bBm000XT000XT0n*)m z`~Uy|7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$BHmT?0B>(^dJxN4CR5(wKlUryL zK@^6MAigLHO1+@e78QI@48?#%u|5Q~6e&W5Dp)U7q0)#HLCH%%3Mz_tDJ?~amY^2t zOA+xwu@r(J+M19iy(F79mkr4V4K9ID2>kxLLJVyJS@;;{%sK!3XJ&SlEc?E`kS>P0 zNj({~T@}~zoT~GW4`j1{On~?h5Pl6U)Qs_Ga=9h}?rfpJ6)n&V1Rn#TJ|J@wjJ-4j zxL#LP$U7kSXTNMhcw#Gz5#e57#);6Ubzq^%)O!K*E>#rq4#^+HJixpQm}Bu==Rf9e zQ|ulPc?zVS8v@@e3UG%aVn$*+5N!jL7ILDDvuwvW zXe-!iWaN%4-tCZ4`vI|*xA0S6Xh%A*4LRkodGGEXiE1-;GnV$%qo7{I=O+?p(GFrf zsx>76+8I=RcH|a#NV*ID539`+&nLUhm^OO~+Dt3nIc2!wJD?p4ZH+J?W$f;`C2t>H z5C`psNOIts1UVn;JSIn~J!iv?VQV*OBpb+DvYqTA4J&Nd^oP}u^cS%>oLGX`a2Ego N002ovPDHLkV1g_eD)#^Y literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/desktop.png b/OnTopReplica/Assets/desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..1f6a7f4bb706a4d9e2b81257c1dca8fc045f8f9d GIT binary patch literal 794 zcmV+#1LgdQP)ezU0v0~n=;2C zMiWEah^V-7;Rm=ET)A=Qr}z#2f`~gmKnMt~qM$}GniyhYhUc5Qy9Q6^C8E_7UDR;u zo}ol^|9KFRgj5l`fRF-O2M7@`vJO531n1zYihuU11gZjg>>y#GM3$ol5HSJbdJ4F+ zta0;F0v9BVF$muAOnLGzivq$~%(h~zt#1*a*?`m$B6dZ9(s|sw-olf+(+H74;RJc959_ z-R=>J5iMiMXHA^-(rwd*Mx^$uu(&YQz}roY7heox%&ZP-e_2jR4N|IVR1C$^BbHQg!~3s4(ad7ZPj+zo z>I%At)mT8XF`93Mv=u{F)0GDVbL46X)N^E`6D+N)V(s$)J6+4m0v0cyN28hZu%=U* z0gGV+$3jCqdif?S=@Fyc!9}C7;WNyXBdl)~*f<_S^X1j{cZUQkHMS2bSVq(rBM8g2 zkFVG4Zeyr?HIK)05{J{*(0ca<3vrBB->l;OaK4? literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/empty-window.ico b/OnTopReplica/Assets/empty-window.ico new file mode 100644 index 0000000000000000000000000000000000000000..ca5edce1402e54eb04e80c5c2ca8916f7ccf019b GIT binary patch literal 10806 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

    vF9gJ@Je|yRw3>4@pRamq~Dp4(LNsCb6l7h zFxvaNhK=nl!`NSOj9@<~LcbHR8(Zi-?bzqmVqdcv`#kx*DcXy|zJwn4;!U`(*6XtM zj+#2#MpqUmJu}!_!ajxt_svc5psmeq)~oT`DX9s26!tFMjWViKzhI7x21lGZu5#B<7XuwJcp5;yRJ8 zU1`>!YgM{NrRxkj7hKG_G!x+Ukk@USwOe{7agC6_K8VxYjO&+vIv;Z~b3d2v?b7^7 z*CGeF$Av!1-2d{r>~k)=W$N44hct6%=h-8=uGs3Q8HmoicrJY}%|qLm-Ec1?;`cb_ z`+B-2|KF=N>vUaC^E}PRm~AqHn9GLILq}Zp zzJ*_Y@By#7vcg?cRpG8Ct1Nd_R+KsMTSEuTo-+r2FX*U(Rg{&|YcBl$(DR#*f2}Df KNIv}U*na?MF7@;P literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_czech.png b/OnTopReplica/Assets/flag_czech.png new file mode 100644 index 0000000000000000000000000000000000000000..8308ed84ed70128030d13e6315cf7864c24d4e18 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ#}*A-ZN!DMTwp+jv*HQ$q5p_8V)aiYp>eCn8LvE|M%Zso#F><2Y8gOitsQyu<72b z?8+$KAmz}N{Xy!3v)iZt@}8=DB$hL_m>hay$fFRZ+{XCko-E7U?z06Oxc_;1O3t2amNsq%TE^h%>gTe~DWM4f&;U;T literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_danish.png b/OnTopReplica/Assets/flag_danish.png new file mode 100644 index 0000000000000000000000000000000000000000..d39d4c1917c8e11a5b4a713cb900312b21c89195 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8oo45Zzdi4M2&;Pe<`LC`0f7R;$r%(UC zfB(O+@qb?4|NHj+KXBl`l+?R(mw*ON`7uKTXq{q7kY6y6ix)7=KX^eAs5sHn#WAGf z)|B(^d<_mf&VlD0UhFO3@n5qurG-WMNOaxN?gteI%RAPtO5OBCxrys2``Hik4jSof zy1TF_RAHyLcA2}Wk(EioB(EZ09%t>lvPyAN!Zie>ud;V8 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_usa.png b/OnTopReplica/Assets/flag_usa.png new file mode 100644 index 0000000000000000000000000000000000000000..aed8f11f9992b987e25e3344be224bfc6294d3c2 GIT binary patch literal 355 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/fullscreen.png b/OnTopReplica/Assets/fullscreen.png new file mode 100644 index 0000000000000000000000000000000000000000..b1f8a2b0282f2dd25a2fb69f343d0696a2db3241 GIT binary patch literal 396 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon-new.ico b/OnTopReplica/Assets/icon-new.ico new file mode 100644 index 0000000000000000000000000000000000000000..18362992f3fec1ff3742fd8b63d393500a8b5cc2 GIT binary patch literal 86918 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 A{r~^~ literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon.ico b/OnTopReplica/Assets/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..791a5e2abbe1788c3b7920ec0c87ababd4691435 GIT binary patch literal 7358 zcmeI1cTkgQzp(u_LB!q_R|&c*uB!;TQi2p|(jjz`kWfMkf%M*c?+F2<_ab1y0(M;C|E506>E zx_VaI+F7$!&YCrA3-AC=&B_8E_VfSSZ7p zc+g0Z-#(u2J|Q$hh6D9VIlK4g`eB#u8u_|bc1{$yROEmkZ*!_F8>~7-ib2qL>YGFns%X7 zo(RQuxO7_x!#9NP2M`LFu%Mv~pHRAQC<7YK_6g_ugmZlMaeV-v2$4^O7#bz^iIn(6 z$$X;azOhQ*XoYXQ))z2IDc_S`y(hCiAgj$krz0@8J1DOwsNi5wQICHCAk*cS-|3Ur z>QmSP&8^#=wSQMu`7X3|CrZBqsdvvZ?m(#Ak&5j|`8I_7yO}1wfK@o#F9Zlh2k-{0 z_Hn$!SYBal?{Kbnq}Vq?;2k0KjS_oD+kJeaWj--V-vk3R(c+g@?w4Nehiu$~0?Ksy z=K=zUg9>~6iVp56=-x9U1I=rP7Io~&soRaN`W`(alWFomnLLrY9Z2;KgmODlu??yC zE=#)|a0q2XLl{26RPRu#S14_F7{ks!`uCx1uW+7s1lMaH*BkJO6nRHUyuJ`4_f9hV zC0d}Vm45J=e`J6-n9epw}!Kz!Bnphs!tfzJDlMi#_$TI0|#CaET3p#&#?WXdEQY1 z-)NCBrv1qz?{}VOj}@4*WSWzz$D1dp}?Y^z=8vT z*aN|sM&G`L#fa<6RL_h`#bgx&+G^+ahsGBqA3%?^}$8%p~f+ORzY$U^rC zqx(iMpb<>JC>At|9T3a)PY?tq2!rB2yIkjPV z4PgZ>;f3vCMF&Dl4~CT<3M)AhUfR14eqsyG}j zi$o}+;mVjybu>~FgVIN5Sz<92arss81+{U-jd7)|@r2FmzVg;kf-_#g)NWTX4z#fTA+LLYq&K z&8x6-7p{3HAQQ!e#;^hs*?Uuj`{1%@lp-!ylT>I(D>7wZ%?Ml>0#|_~)uV_FC|Xk{ ztrgAc%3>eP;vLQw9LtjQ=ZN~U#QoW#ezf=`K$hebT6#KLd;%>#juITnl7NF^xy6LL6=@(7oRdwT4RpU>p#w+TE z9|4pNm(}$@sOm2$>n|wk&&wNTs6HdCIK{Q}Qw)7LU4M?OKTUi#L2xyaHMBR8vp1C& zmL-YDY7q*l`1AYmckkc4n4Wy`e)7fi)Qk61FW*nS`tbJk`ze4|?yXj{iKfd_Xz z{;yB3{{Hmx?~l(u|MBGWhv7e`M?OtFvHYB`{T(TN0uz3WPGANggi(3QRI({os}PU8 zdU5mZbmQyE=FvB;qi@>ACOXC@y2dAZCMFI|OdK8`J2o+PVq)ynEWf0%sv zrJTWut?w zV?*8Jw~mef+Bbfscl=`K_?g!6bG;L%E>9h~KHYlz!~VPP%3r-vkB7#nSTHST@uKJ?Z- z|Jy@BcLst7Zif%uioW-I+M_$Dk-@x|L;0h(OD1p9-rW>__|5p?_v-gIJEwm;{PyRQ zQ$L-b{^8`i(}&(3@1E*E`tHP~KaO5_({S;H>C!Os=G~&Zw~-HTWIp*d{lzbdW7onb ze+>NNY0IaHdu@L!EBktfUR2nA)BY~0h+0q(HV@>75@zMI1uXp`^$Lr33@6Z5r z@aCR7KL_2p5;}M(;lY)RXVfEhiB8$C`P?^R45H%}a`A3f6eq@(SAW83|T z>bq+FkU%{owB8f64vX3csE2Mbd#~kRxQw`Ze&4N&`|h0&eRO8;v;KgwlYSqDn?Ft5 z?|5Udbdlu^Xr?VLgB6-DO=MW}6m_(gh8n=9?)h`iUw;1n#xFiMfA;%N(PPbnS{h<>5Su9m2;<8@by^*&j`3d4#u$*l5x zRVxGV86JDp{PbSHPkmv(o{qe6GUDe$aW}e?ZnS0m+JN}UnsZrG{F8!uO-%lQP3SAZ z^`IyRGbmlD^p1F1LkPFVmsh)oSK-Go`f{W@_`C9X-`Jwt+-dyw zXqo#doBNLy?!Q!dyu4ZeVeEeUDV?o{u4>F>mnWbkVa56sR#m>H)!t`#>_zLN+aVV_ zBd>JFUharKR~>iC2{6^h- zz~{8CyoaG`!mw@eXhj&#oXoDu)3nd@dHt;Q?k~ZIO%c83=)?M$gNm3oc5FR9z9KiJ z0)?uE=hdbbRz~MrLh^Lp#d=SoehW#xfgo`y<$X;NtYHb)aCpvarZa=$%p^K?-FwSC`fT4n{^?_ zD|Z~T?Rt2|exRl3Q z$|5gg;+HW?mUBv1h={Ay3}*{}ZIxtQy$sT(-q2&(*jr}bNcXQdydNK)=|cndkKM-* zR#KkKsr$FjvxhC0dIH4pq00DZZFGVrEX^8#F#BMvJ8`=&=C5v^;K zLk^aGbFzBV+3GEiuGauQ9j7(r-85ic?6Nq!k1dH^i_x^xTbt@0jXY?*&>k!Zj#BMS zHU*{|e9^XDIi_t`^Cptog=hR)Y+5bWF6YV?bLES~+C_4M9hr8aLc2hvULcpv7YpVK zSo8U`1zgfXE`AZ8xL8J8rsu6J6RxfhI#=@6RP)xhs3C_f8~Q6Y4qvbOFk$zp=%L#C zl*Q)g!%E7M*fqKT_&mMWexWIx?*%h@!-1bjmL1s!H;l@)M7x%uS|v3(E6pqAx@7{{ z0?KCQGOJ*PmAlHy zT5V%F*U8p(n${oRzj63R)yFrFzW68`ayVu2+4@jiSt8)0Zu`>bZs&!%Xzh;V>K%ys zZJD}FD1i%x=ZqJx;HZ`=&8s!06-w;I;TszF)+`U=-$K-H3@c9hP z%kC4Kr3=AXl2}#1ycoc|9*+!lp0AEpY)LBHl2N`1sc=DYR_Ae+6GTh6%7sefa*biB zLcLfbo2}M5nyrqu@;TNrN3+q#Y<$R%Qd8x7XH_ja>&hV`==-V z?bB%Y$<_oH8DR`tj;eub-_K75J5E*XD_s}ISewFMgW#=1GnVGj781DgI1(p`!bv7~ z6p3d`rC`0z!D@CWw>X$}V2ciHQiF9eu!0X3vA{eUm_Y1;J!6E^6sSLkdOIc;*uf1`(V*1S^pif0NMK#kWQxS~SB`~bniaN?aKK5Oc5P$$5gWkag_?R8c8n9UnHpsym5m?Fv3+!PHfh0n1z0P!mr)78QZ`sX2eV0FS}BNF z3?kw{gi=sxF}MihkeBI*$(WO$F&B%Nk4G(}Vit3-OC^LASI(48O+4v1r2>4^Gd^(9 z-a7+p*)tN&y-XWn(FosKOSg5W)96-6q&yu zp>$pf!6~D}F|%lPApuOJfyguvi2|ZfK_VeYAq6WXU@-?Q266#13=o$BV&FlP8JW@| z5U%K}qWrIN&>%z_C?gS^0dqjW9MMTmn6!CVEA;V~<+2`xAoo(5d%Jj_^?kiQLaxD23R>S=VzqcMW z?nTWH&z>7y;FM70m|W<0b|Jy#UuwT!2wSJv3bB%2IjEAOqv}Q4NND4$#^gx z2P!TC6&8RB3P8DeAQT#ung)WwKyh)PxL9yPtV2?~V|t(PIlnk(;pr2mH?JR5 z_t5oC7;$AH!x)^x^g;1Mu<``D5pC4SN1i^ob?<81QDgft!+}0SPrv?9pYBMX?)WKf z|5^RXv-(`#>(;h#e?LDeJ zbXeQdqwVSj&~WoEA@z@xur}2GJ(%^h`B;J%r-Ji~F%@%g& z%lfd&A4^qt2&z{k^((Uc3SLrGB(28EY6=x~SXph6ybdd`D^fHRDH^fLCakKtNY#Q> zwPH1GSWUYft({`vsqPD{McS4^O;dro0i&oxi>uOkwgk30lA;SLRrwT4J@Um{qZ!-c zSvykryECLdD3yPnDWs$}y0kTpbU2B6DTOhRK^ucJ#?Zu;6p|K3)WOJxM6xM~VoIW# z5^0tsniWPXO9Y@-Brz%znfnu&)i72~600_eTb;zM1-_Xlb8CQuL~eB=w+hDDpTMbz zXWL>K)_pWnC|Msw&_J>B?+c|n@&#LRcpIY_-^Oyb!vyXrGLLlaZgd4SyFMWIU{JxO z(1N>R#c!et-bCkUgR+GIIii3ZX+WMlAXgrkuL#Ol1Qx0T3pD`+nm~XeLlD*&SZof& zSp#upL8Z1JyfqM5?FVIncB}z-a{%7xk2m<0>YycBpJLVSB86vx%pD{C4kL2Q;eUhT zLZVo1vAit_lJ62V+fpk$(i?Um5A8-?_Ch@KMZNP!y$eiXdH|#{J0A#u-!om{ z2^Z`{2t1Gy54hM9DczYV_e3c@v(%p18joz9XO3Yf#<&wRv*wvR^9-ICy+@wjBUk61 zuXfKP@W8~X%C0nz_ZrP$uX#PetACkp|WU|*r@-|0{H^-^Bz{<8JHhq`a>z;aT zN6IVD)IWA7zxR$IZH^;siUn5c<^=j?7-KVx=>}uFC2`!6Ic_O@w`AVtRN>|n@#Zwy z<_!5}xY7-wc0+32P`WKyx-Gy8fY!R9wOh~{H?(R~mSPiHz7Z|?1|{B*Dcpb*xMuPp z2%Zaqw-(7>17|u%Nj61mHYJp8hBdpzpV$h!@m=E7wv<0T68`iEFM&i7Adz_2NTN#= z(KUwZ8cTDHW3G>5ZHQ;NCa_##Tvr$mk|c0V60J{>x~9rp(-p31N=Ula6`@;?(5#1R zH^8;)5n5NcY6b-aE^|T1*1^T=5CFopaKYCI{u(&X8O~XaWUYoXR>$f$$J#c++O{N~ z+yWc;F7e~`lz(}~|I0nR)MZ~OAOnda0X~o@ifatbHI@$exW=;}010fn42kDHy{k_kvdnD#uWjef@CTnb|2|lB;X@j11KQ`Yv6pl z4}!G{Ag*##e7jr1nQvi3+hBj&WugbRh2tQAOn50Ih6ITK5)mL#WC+kF2Jm6H#sW%A zyH5i5i;qj9*wx+#@B#X$AsHGMq#gp0sb3EV#Iz8E#^s9-QtpD3twR7llCKfsuQPx? z0^nPyGm^a;&bBMXceugMeG9wyE$naiNDSG08K*x}lJ QzVN^OFZTb>|Gz2lpGUyLN&o-= literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon.png b/OnTopReplica/Assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d87244edd38607b98111a0e4759f8eddeae7ba71 GIT binary patch literal 7335 zcmV;Y99ZLtP)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$9Fmkdbk^lf40ZBwb zRA@tens<0qRkw#DN$6cru>hh7pHfvI1ri8^7SbV*UPwZEZ z{DShl{C{TnLi;n%3_2OSU?dggL#K|veWCr2<-R-%e~aV~L@&tul=m1s>tyguN|eu{ z7sQNbf6H~{?Nahgp8x0H@H#t2wAk~XLk^5O@5t!C9U1>@0i({^FeGdyLn3C0q>P!z zkf_>g>7`&smSW^?Zi311#Xp!bM`>BHq-wiqRhJ8YTd5mWbiS@>%Qk zFTjujPXTZj05{%Hd+=(u)U(_>05aToCAGu&c7WkIa~ZC+;hic6Myzq<-97fachZqj z51knI=K_%!6)q6c@*Fm=Q1+gmiKa` z4``*;YhC!DVG$FydNA?02d3BDnexaBOVK!$c%)qdm%NB^X^R*yE*+n_i1($1#)*r^ zNz9IymU}-}%6w187kV*Xlyy&#ZL`To3{vzQTTUxsJ<@^*%|fQZt3cs<1vga0JWWpt`7V=^5XmnSVQE;g(6 z#$uH(Q@1Q;#wSa#zOaP3_d~I{zl5neKP<9*vB;J(SCk)sW&UEO%F8SjX@aoO24SgP z(ypl`!C01tU|AlDWn~yst3=fiQjcse+v`=4?Xr+-7UhvlDUHOuBoedY2uyV0OehLv zd_gc{@|N(P+Mf~G{=AjpClFp3j7qX$tiRfVFebr{3282vW-P=i*NZvgKBuxs7A=j(w<(RlO<9EO%_HK|LZZ$T z5p%1E*jpMRKg%b0Sq>rfxdbiGBV=U(!7G$ft}ALNAf!>Wx{%;CMTD#sHHn(FgtYu4 z9ic6{j%&@u?Fw!xCTOjWC9AdgH)!yd?_IP^jYD-hbIMbgS{#Q-Q3T_1LwQ#nh{5~P z5lvHEn31=bx%o@@{`=EpWEQ@@Jxnq_E9E6FX=qtTaPSDC?#l0-}kqXi-ag9%B_SV*s)n-hSGE{e45 zeC|Aa%$4gmIrHOX&i?cx=dS+Dxoe89KG!wQU%&pZ&Po03jT;@hF1mI@p6k%rYjW@E zKe{IMYw~^nNWSl9Me^N0{coL@>*s&ED(}B4c3kDhn|HYX+u!1mA{=TmnJy3}MUfbo z$fz9h7e0Md_}+oVa+2TfaOZtfdn7<%QT(reUdz!@yLA#91<` zxJXuiPmH3Z6%(RGVt8DP7%9eOWn+|E zfKg5%MyYBHQ$(pb9T0H>5t$@jP#_df2z+oDofHUfKk;K_r%RZ(gibI5pe zrsoSpuG|-h*i?a#=fVV9AUcJLLc%1Jf-v&*#dx7NT^4xJb%8J4#rU4?!P0<{^b1Vj z#jtcL4}QvzcOOu+e;u(K>+o7t#5@JSGTQ_Dq9An zpGV(>`Seb7rAM>}T_b$x93O^ps>F7>7?mbUk@#0j=oINN(v@LUpcijQJzHQhi=2#o!M>EancS66?!y9SE!A@uf&q_2NG{X;sIH^IB0|M5rFs=9RP|4s`s|=a*#CxqiuOHc|QG;-RKqP zN%v?!x+aCwIYWi9I#XI+S~opiLPw0$=`ofu+qk#_Ws}&E(8r-owjK#9pN?6?iaQ^2XS$cRqZ)MMs zOiB_O{Xz!Ga(O_qH+@xs^vZ~)M}8W;wfXea7ScUmjL%a5bOKOL=SuNHSp}U-C6x4{ z0`W|?GCFk(vBu&BV+o}$G0Aijuk=XHrB`Auy`!_~6P884&};@oW7?NMd z(i5j7ggOA?H`U~WJtGSw(W!D~c#SKA3nT+d z^lv$)rFQ*%My+yZc(G(dnO>68`7=-* zN&li$UMZIsm1%iVS4g+KY`Td@x>xAwUQTgiTeO4p)dy5<(qC0!s@nRHFa zpj&Jj-D4zd5~S7B#PAF~{ZmUAkXX#XczwI^gH+X$PcP@K@^#dox*z~g(255V!~=c` zfYOPr^?o>4g?9iv_rOINMpqwgVPeKiCY3t!VT~JODnvQ_%P?`RLMBYtyjJAi#VfTVcN z)#3QB_%FaE@j%PbCaf~8m{v3w%d+{HmMr3fYHvoB`7yjagu$8^UMo%Kl`=I0bZYwM zrO`+FMIWj6DamhFZ(Sa}bOrR%6wxzJ`b(yop2?Z?5)bs2*6$OUM&IZRUQCd9PuKHG zRuzM?YI!xiPV(M**@jumu!?QGUAvEEU$;sh`0ZbS#f{R5{{fg^BLFK?NnEG&fo3jW zYi08%Yq3{bU|%=`8wn+At%Ia|3o$8o=lx2_Q;WlRyCRXn(D`WMOw zqDiNpHj{pZ8T2j8rf*Rmeey(EIrI^LKC-mv8=XSG2pK8`VqmPAms51SnpMf`>ZQDq zy<9qOBX3o0VR-$1M%Eu@`PWxyz58oBfD%HBr4!p#$y&&|Sn)uFWIz7}xN^OfU7xMN zyJ#|A#nW)pS>sYX8++|MX6qc8CYw{H@^>FpgfprlmbYac^+sN_v|to3<;F8GU&Vj| zF)mj{|C|*1=V#Gh=8XQb+~}X2&Wo{%;qpwlih&WSyey;7pd^h9mleE`vy35ms~Dzf z=Iyf0{HJOMW2$!2@bwSv0L2HT4{TNdim+EkA#05<^D6{Ea#PjD;&u=Gbfc9cC)W~R zH-(tGsf1No5l}t@Pu)xwXy#(4aloe3m02|bOsflHQe`-!bz!`fC!v)e#jE+T49bh= z&skjdo1}!3rPatCm!ekDDY;!%mV?-Ql1Z^&0M?P%2yYfDBEU5 z`HtD>x7kpzWgaQb^N3t!%i>ylylNNVR_}$&3fTat3u1ajAd`w^i$ovFNPV=lU<`wE zqIfMmLUz>RBs`L31WT2XC51t8G5|!Ycr`ke*J84GJuaWYs$zy@Rx>Prh3peG@^0yR z##C-(oOs~F>bR2qh+mN6{5j$uWOj4Wy9-HI)Yt=z%b z>O+jL`Gl1xuk%A&M+hkZ{xa#>%dUlib(RP7wE|Eh6PfH9C;+zv;Ns6~*!#H!2fwjq z|H(OQ{c<*&PTJ9Y(wT;DT&eur9qn;H3O)}-eIlNek7Ehn8->^AFkH99;j%Ff`*n#- zZ%DvYwoN9lNXNW39n;cO*%nFV-K-4R#mi-QhKAu;r3{w|>+SsIyi>fE|0u05aX+T| z0Ap%DW!$o_Sas^A0Q^R=%may=tK0j4LyZ8;kTs68Y#RAjsZcd46InC2+b;9t&#U<4 z#3YWNH0RS(mK^xng8iqg*?VRlJ1;o1{)`Jv7rba_4PwR5v6P;VCHu=Lq7R1=b2Ofq zV~KOk@X|NZ2ZCp@w|yC29<&r!K@X z#~)vPj3hL<)Gcpp2e^H66=%NtfU{>Na`wC_r_P!2<(bKRc4jJ{oSVUCmmD~8&6N{( zeEGP|hy8c_*?lLB9e3l|{h)xI_sZFRXBF#yYNYXpW@<&63-x54*OPT#L*~UwvRj*o zKih)p`>h0?*n#`;qs%(;1+$KQ&x|7%nRe(37W=MYzQ2t%t-tZZy+0_quOu`Tcng4C zwMqbFQ_CU84{u#0ku@1q)YfyS?GkryHS)vvleqZ38Rt(=5s;~zK5NDI=V$WWMH|js zSt$EEUYx%f!09`IoO%$>sYeNX`&$;@{Z`7UU+eky@p``eWgDMA+|S34k8tqOes=$| zm3n8+XIEBaQ3wWNq%%X38!s)9U%skPC<);r=`|}en z3P9oC&8Ysa#eJn(a$?z)n4aQ{t!!btYeEUBOqN}+DsJETfqSRJfj-i+qk+sOh{#JM|FoNsI5`@5U? z=I$;&yStZTcXx2;?s`7D+r)u;JJ|m4I8BegX6bLIsd;n(&HY^ivsy{?cO8k|4VhDhKAu0fI|m0E=alR$ZXu#;vP7 z{^b-81mgakHKHc&wKa>@aqsR%?%mrg+DhBqZM5CnCE7#Vg9F@oaG2W2HyIl`{y(Q1w=Kf>Z_7mNE+{Rr+kJ`8+ zy8TO=?54GGm$KTxj;~BR^H>G~< z_rLk+$x~Vd;OgT)C8_^|z%MKC_)dr8Pr2Cqo`r$AoOMl;W1%@&t~loT$_7^m{*`e= zE=wh;F^|l3dU7^bP`I;-!acQU_Sc~~v=r@;dNjvYp#5Y8y5p-T{-P0WyH=z7a!tE5 zC!{W)wO_49Bln6Fecp)XGts9F6pA#*8z}mC6@^DvQ6S1cqNt%=S%>OLJ5Vc=Wd&h- zOYqxQ%))(nI2=|p=Zj3HotII_EO9m#lJ{DrJIMyGJ9e_g?xGFAvsALQ>R3XSsR&z@ zO4O<}qSj;)vtCWi#vEcc=MlG~khonM;`V5WKd2+_ke;}YN{K%vI$B2Tkuu^$vB#to z#U3jsM()QPE+P7$XuqE5eR^W{Nqx7DsGT|@cW6aA!nSD%-L55IV;;WpKDP~-%wLy| z&4v`Lx2Uk(mB{47@dA)E6EoFZERw|&DNeFax&RwFWV0*q!dbhRg(X3_mIdQ3Ie@!l zZXUH^vLg_KS3@+OtL4C>DFL62$@pwZ!FO9aKD#odrE>7un~m>2HQxKO@!qeNv0v&3 za_~Kvi}xNiUc1$JZqLMHONJ;D_syBOZA{0#B@MUcR2HsDk)??ogsf3vzbb*bD`J_s zDjLh>5ln7~!lXr(Dx0D(n3OOb1;RXOHd9pdn3`hG3^`?-B`1qB)h^5t7@I=(*9f>&Zl2aRL zF^64ABBh>${Z_fZF&5i(G0bZgt%+ieqO~#1UKPR2Wnow^4a2G~6szhGES84L%pHtL zbr2J)gZV%fkngVv6M*>Xm?X}?G|^f>W@E0JjhP($S)|NmN}4T}nGQ_NQe=;1juTUJ z9hsW%#IyourfL>oUFnHcxf|1KJ+WTlhjl{$GuO(wT1yZ!HUx{iWr4R<4B8&ftQ}I{ z9w{?!Wc&4*n1HkfA4 z#WdRnvz&RD=FY<`*A8>7J?5p(Os;gnqRv$g2tBY|L%AweV%iat!7#YDM3DP6$Q1R`w~lQN~0J)?MlpG9U4{W!6-Rbepf=;z%0Q^ z!e=_B0$`pZEiOPN@_CZTBuNZU6@X;%NQx+JCZ_5+?Et1(0->IZNsf3WPs%(g3&kTP z4wx$tH48DXU-Vyy^}bBmD95qe#BecQftb8$i9iIkLzuM$FnL`t69nSJW!`*H<1G;4 z0f87_=EYd~Il@?t2cxAwj*>m9_e7(0K5{~%7%s*tGLx_|6Jr&_O_jQoCJK}oZj!2$ zvoKAcg-N!Am3lTN?ErJccnPa~1;7?l*$gw)*)yej0h4P)0%5Vrv)v1p>-?CyNgy@{ zNGL54j|2-;2ZV`0m^6t;)&>d0Vm??Zo{&&dAjZm|F-Cq{F}Bo)F^U(&_)+qMkoWTC zw-V-w)1=j{#8~k{qLfNqU@TIlQ>$iRE{2;c^>k~@C2SM`v#eQCpUva~F<2l>C6r7G z=3*{CS1>EGmGfK)Ck3M1sU2j>GJ#kvC;m;IShn~wZ9@PS8~w2oZ%k1@q>oJ55QJ%q zgwk3`O;`J4))>fyWs7A`O8P>%gjA^)AC!os^NyFZ?9m0{3HdR|{{T7tg)mdFFa!Vq N002ovPDHLkV1l0s81euB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/list.png b/OnTopReplica/Assets/list.png new file mode 100644 index 0000000000000000000000000000000000000000..33b1ff0345e156591927d0d05e1ecfd9f064a89c GIT binary patch literal 681 zcmV;a0#^NrP)A}HuaqOhR5=&~SiQC$Qz3cHA?yv$u#j9hbRHa8V# zuG)sEJK9d`>});Xe6fR9df>;ty*qo}=Y7t5gudvFJ1xd$XHimFY%&z;KlAK1+rlO8 zEw*}H)-LzsjDd}A7z-{u*8^JX36l%T5~oJj%;w-t2zG{ zxYQVY+I#tAPAM+y?+?t~qxzN2W+3FhJwIFCWqDGPrdTrZ)#L2)hp`8I1h`?p=)OAI z1p_dG9CG+vabVP?4B5m4%g8CF7#lpOg+V9Ho1(=z3RF5{T*k9n6BwKbE&k2QbJezd zbav)P+~ultJVu=lZE!4;3odZ0BG4E3J>qelp7PjRq;z?fZ{PbZ?SYy$A82lC_ZIQA z>&+`cs-Fk7APq+Oee|7ocJil$oQm9yc=$y3)y@tl8~7L*9~=G9eT|*s0$yMR{M~p- zA+}Sfdw7Uo5xf(JV~Mx5Ly`JVgMk;R`ACTzI5aLVXwLgI=MWF}p8x{@XDi290elMa P00000NkvXXu0mjf+9*5T literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/newicon.png b/OnTopReplica/Assets/newicon.png new file mode 100644 index 0000000000000000000000000000000000000000..37017ad33c7c87a6c2f945feeef56ba0acf1fb3e GIT binary patch literal 770 zcmV+d1O5DoP)ox1a z7VLs78w-Twn-Av3{~$|-zu*G^SqOdx;hVJ}AMnBQ&Dz2Hn4Ot^S0z!i;tt))?&_@0 z$jFQ=0pMwOX>*$5zg>pb(cZZtgfGAO_PeJ?_wOyHF(!zJCQXxS-2F;O$=42AMKy`D zR{lCUIeq@q55Ky_t;0_jj~+h${`GI4OIIMx4-s66UL0h$2W;Exgl!8Q8bsbRO?dX? zs~6QTKY!+!K{wr2mfJJvxWn`*)C@j7;JKBhLr`boHsDuvaOCzlPd;FlB7vN zpZ73iWlX`OcGq#khQZAY>KlR_8=Sxf%LKyB5r%P=;OrcO=yL^3;u_a&b@}O%>cL@v zO@e0V5G}o#;lP@0MWz$du44L$=qAm}e*pyLG+?njLtWg$W;Wn5ZMZujHa#U|@IWvr zGG8`vfS*V;rE7rvs%_Gb-I|KA`&Eyt%HY&1E;>bOB2q^g%6+EdcO2nEO;$)dfGMhe zuy51XpWMWGQ{r@OaoM-H!`lC@6_*llwj40FYsAs#p@MTh3!r(*$bb&*^=Q7r-2;P< zWQOzTaoPsFZv;cCvAn8rwc>hXuv$|Iv!B(C8N!i=7G}_ezu<6>n7bM7?De>J`v9wW z1DAuxvMpGSpd0cLsNw4cikD4Fgy0}0N;%u?mtSn%7!ajoot3)sraag?L}`yn^cX$Q z+K3HXJK`;Fr`IoEY$%>}ZF6@18{?u-(`ige$IF;<)*bspTj zFHZE;tCNv)d6CsUpgp2}NK60YICDtw=RX1r0DQbuM9q8juK)l507*qoM6N<$g4OVC A-~a#s literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_bottomleft.pdn b/OnTopReplica/Assets/pos_bottomleft.pdn new file mode 100644 index 0000000000000000000000000000000000000000..6658542355e57545d1b138be337b56d0ed15ad29 GIT binary patch literal 6696 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 HDWM4fG=x-j literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_bottomright.png b/OnTopReplica/Assets/pos_bottomright.png new file mode 100644 index 0000000000000000000000000000000000000000..96ba61893ba568efaf9bb9835d5329dbfe26c4db GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9}FK5etQUh2#kmRT2WL`C{*P zJP?+)m}qA9|8i4PfPqKPizytJV&dcbn;er4A7t=i7GzLs>D>2Zg)bw}LIzJ)KbLh* G2~7YYM^pg- literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_null.png b/OnTopReplica/Assets/pos_null.png new file mode 100644 index 0000000000000000000000000000000000000000..ea301953f4a137a0c2a6c12010b7234431bd3a53 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9}FK5etQUh2#kmRT2WL`C{*P pJP?+)u(-uR0qGPfD8YB{i+h- z5t8O(YhV(5lAgjN(|LC)8IumM=*;A_ kY?eJ_(y-*g@em${tp58O7Cx@M26QEZr>mdKI;Vst00-D*CIA2c literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/regions_new.png b/OnTopReplica/Assets/regions_new.png new file mode 100644 index 0000000000000000000000000000000000000000..25947b96dedbc6263707383ff7bb5ce7bf0e4a4d GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X3O!vMLn>}1r6eRgU`i5Hc$TKXTf_RuT%k=ypuYW)iH6!V z{o@=eCXGL21lSoqDl6r(NA6b9{kM0%%TlySL|m!d9m;Y>lp_f zt|QkMBz|b~s4cKvoaoSMu)snySk*Xi%3MY!9)_5W`rqzs3j7VUoWax8&t;ucLK6V& C9z^W` literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/screenshot-icon.ico b/OnTopReplica/Assets/screenshot-icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3251e44fcf9b29c72083eb6543466410d9926753 GIT binary patch literal 99678 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
    w$YD8-Q{R!9jryL4g5{Kz1u|y=6WF!x~3Q FFaU5&7=Zu) literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/thumbs_up.png b/OnTopReplica/Assets/thumbs_up.png new file mode 100644 index 0000000000000000000000000000000000000000..e77b7f130babaf80c65481efc1d008884e60ac86 GIT binary patch literal 2318 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_border16.png b/OnTopReplica/Assets/window_border16.png new file mode 100644 index 0000000000000000000000000000000000000000..b9bc0b092087debf2200041e8334bcf20f508a05 GIT binary patch literal 683 zcmV;c0#yBpP)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$9Fmkdbk^le#1xZ9f zR5(wqlig3!Q5=W4?z%Thpe!I0ejuVwNyCJkqnH_5G1pp+%qAiT=$tasD09wgX0Ekf z)+(*^&*>sm-gLwADUT2ij4HQC0cKulA#{1t_QuqH}~WIKyj?%1~AKXo@Cj9!}%Fmd4Saq#~Ta z986HwouV@G23zz!j*(9^jD6+godt}?dNTm6)sK59CBi9=h;Vr*PEkjk;-I+qq_JLl zOYPMU93B0PYy2DTyNeVxWC3(SZ8cm!ki-(2NAk{L@WnBQQdoLlb7=4#b;BR2zww2p zi3OVPeaCb>3!t}m(kLoeyF|Ecmcljx@Fytk+DLzq)AyG!x%x5{RsnT=ag5$s_O%Lt zcOFycdVOb>{+Wl%6lVkW*90gJ%%N?Gp%nmq`=9mCK3c}ym}Q_o7(mw=L+y!CaB)pP zy}|Db{Rc~&d;EivrbwoO!r~XCBVS_Y9*MlY1{7)oO3knNy+b)I(kdjk^Ao~A%$#(e RGs*w}002ovPDHLkV1h^TF@yjB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_multiple.pdn b/OnTopReplica/Assets/window_multiple.pdn new file mode 100644 index 0000000000000000000000000000000000000000..2641e329e05972bf982e65852fb0269808fce01c GIT binary patch literal 8806 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 BaXbJ3 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_multiple16.ico b/OnTopReplica/Assets/window_multiple16.ico new file mode 100644 index 0000000000000000000000000000000000000000..6c48346dd69e92f341301e5d260e9d4befbbe0db GIT binary patch literal 894 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_switch.pdn b/OnTopReplica/Assets/window_switch.pdn new file mode 100644 index 0000000000000000000000000000000000000000..72bcc91da1b19273df35affdb8d985bfa6af0bc2 GIT binary patch literal 10464 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_switch.png b/OnTopReplica/Assets/window_switch.png new file mode 100644 index 0000000000000000000000000000000000000000..987ef8eea5050eb07f43ac3f3fa443d0359f85a6 GIT binary patch literal 456 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_arrow.png b/OnTopReplica/Assets/xiao_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..ca39d4820e0858e3519c1d6e238b171950cc53a3 GIT binary patch literal 437 zcmV;m0ZRUfP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ-J4r-ARCwCNlQB;MK@^0)6*0;shK|yNYW)TL0b*-nVPiCE2Uaw8R(3R2Xon_- zA7Eo;q_ELgs12MnL}P;_gg`j%IL))r(}ZK8pzt-jJDHulc{{5_glTGqDQh;^D5XXc zQpM^qkQstcZg+GR01;uFja0EJ&mvO(5V`b39z`TotV(ciq6OdSoNb-j)H_gV!HZ+C zFsA+OgLTbo7h*s}3<3tP?5}ESO;}ol{DnrrTyIBGqwoqxnQ{yva#hQzdThSar`fhhQ0rbd8SfKAh*YQFET?gt5vEcY_9HKYy zar*AafqH}J_#go!<54_+ek3s&pCI72o29}H8>T0{w!b;UxC&CJl(K*XU>P)eK;viq fO|Sa*-}p5E1l@+qVnZ^Q00000NkvXXu0mjfU7@ez literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_delete.png b/OnTopReplica/Assets/xiao_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7e3c06c7072ab8bd2992ec1db3040dde5bb9ff GIT binary patch literal 715 zcmV;+0yO=JP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;QAtEWRCwB?lRr#TaS+Ep?@wES8fe1+O&LfK8xlI{8g*x!>LAes`A> z9LM3)^m+c07Z?Ms02iyicfd2?5un!sqjMjSsn?hwN=semVg$QSL$JN#RSsjy*PU4M zg$#jkH;MS`5#XK-AWPza?D1e{a$uW;Z@p*; zu%AqWVIl`Y$dWivH$=zKDVJ2ROqyt{vZf+RG9ImjW7&oaP<3-lEf%8ywyyDW{wn{H z*mM$8RnaVa*9D|=>Pjx1injXwl=E3|?8e!G$cZ*T`E-hOPF-=gFuA<5c(@(MYHkN# z3x;7}=;eAd4DhvJHMeuP9cOZRXVC>@AiJ4VW>V{G$Q?b%!4Qt*#j;E+%fykq$iWbD zM-Qp>H8zvVOa`)U3ma2|djEWU_Tgp2ccG--2%d`K>x>}F0^nd;0;Qb7_qVIO|MKJR z_-bNyV`@;Z+X7G=UrpSG#M3*MQrG)BTVq{;mL7oAQE_i;KmY3H%WwCAJ)r20<@h!B x&&R!hA7}-4qZ*J0e$^`1u2FCthyT&<0RU|@782+2Qd0l`002ovPDHLkV1n3wH?;r& literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_down.png b/OnTopReplica/Assets/xiao_down.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf7a5d1c0ad4f723223346040b778b0a4a73fd7 GIT binary patch literal 761 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;e@R3^RCwB?lTAoeQ5c4wd*{xGKVXhhG)$nNHVApxN-S)y+eD68$d%o{G z=ToGVT$udIAw+;d;5u;mfcpr%2A%^>>EM^4b~KJ+Fr+Gz$;27X#-lXU1!VRY$#1%m z{IIe$R`li2ff2wz17G^Lqt#X816L9h!;o`fFBj}pgrTi9%DJW}FK1RJje@DEiuw#d zEu|d}g~kWE6BtF<%0o^-dR8YrtCJG}XB1(eJ3%-U8b2sCFetjtt*(|Bzk#0uEC*~C zQhjk!eQ|6z;C>4D4Rp1{D7wzAvVo!~y-g?U$mBr?uO|sOdgs})}bg$Z@C9* zNb3woH1_v=JPE5C+kvtp4#2{S4nS*D49|gBy@ndnI*&Bb@g$~Y0NtXd?ih9NOjMZ8rTgviD2e(C6h%WyQ1CEJi?@s0>@I$Kyg4>JdVXTw zIr0iXVRLNw;U>J&Z#=qN+t`+@K6R!Uppenma~n%D-(Ng<3akT#l1Mo|jdQ~t5ugUB r1u73{0px%`rJGCBs7NXKAN(BvYQHHQ=RzG>00000NkvXXu0mjfkH<^r literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_help.png b/OnTopReplica/Assets/xiao_help.png new file mode 100644 index 0000000000000000000000000000000000000000..df861f96e0c4f211756f6aa44252f0e35fad1739 GIT binary patch literal 752 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;c1c7*RCwB?lf6$9aTv!xcfGbi5keuD;E~uwkr0h-2u5QZp5K7pe`CZpackz08Kmz*7l@8ulLg4IrNRP`bP+yO#CIhuBhS9 zYdVN1LAu0Y7i&*QV99CW(Uh3P327 z;Bkq9ar@duRAAqNFHxl;weBvNIyd-%7axC+vmNikV9=BRa+W#VeLlcG@FxR~4UvAi z0`PDZj4VjiaP@2p^UK@Az%vOz5QM%!a|7`M$XI#7y~VP4ECjld_v2XzG&k@`i1n2K zqD$&@dnERfHd&`E+}Pg9J0Tg}umQ-L(9$R&x}?sECYo6XO*bk4N6XL(DM&66-E?E) zSS3JK*H+S+7Q}{(X>;6eL=H;+36F@TXR-CnMhT#)yR%ASFIZb$Px8>fE@aU=lb@r{ zR|SA5Ky6JGN+N}(?#=>;0PEu;lhIg$CT|X(3oOgRFf1bdGLe26!?3U{3!e*`yg8z= z1nc7?ljR;{;z@OLX>`sbJ?d#Yg(5n{(-yrm`M*%(5oz|hk?SPpRu$CErBO2RWC_qU zwP;3%LSxpQDX(T;z8{qRv^RPY1PR9hfh?+~^I>_1-^<^g#wLcwx~3M*iYWl;*u>D| z7`#(%J-J(dx+Cm6*?I;b9apwe+bi?G-aL2?Yys(_NI1TY(V>tBs0HeQ>OwdJq=3WX i%f)RJ9LM2*?B4+H@(<#P|3};a0000%t*xm literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_ok.png b/OnTopReplica/Assets/xiao_ok.png new file mode 100644 index 0000000000000000000000000000000000000000..fc5029a25f4417ad92afa7489f464874dc3318df GIT binary patch literal 752 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;c1c7*RCwB?lTAoeQ5c4wGk2VE(s3N6G)+pYjcFT2iI8xUB#|3YcWp$mz?IZO zSK_9YK}q7KU52X+0|{Dagx0{|UpUcV)RYchW}N?f?%cU8)Qh9bUicR0<@+Aa$2qSs zO%ovmN9vt#bN~ZDH*n+7{tV0lQ!|}w@~GD|O~i3P?|kEcB9xa67h1V^{xYTIUI3zM zgr9$Zu>N})!!!nGI@hL70eapwJaD@_&u=$(Ly19}1X(ly>^N~z3^9d;ud~F{`w!pT zU4LN#`rco6C_>ThwcaOPvX5rOG0B$zoQfM)%){H|R~V+@e0^tC+5oaLH&kEMj8+&Y zo>I{?4SAxz_?KDoeLyRWQ(x6gR_2BPYydVP`YOw6h-OqWGJ__yyjuO{XS!vP>6S&J z8I{Vi8f-%J9jpfkyJ#wK+DW8h1Vi7gYhS9aV>=XNx@FPw5~&!at_p-*G+6)uJ)1?- z(s|AOD{Xn_v0x91O+g~TG<9nQJ#B2Hl1Xwo7}@Hw296JpY;}>*HF8-PHw$PUh25xSHNuXW_T!0=iJQfAPl#F;B%FS0{2oSL%$3!~eU0o9M&@Z!LQE_DWd z?Enn=+R>y$mpTqyxD77>)z8A{_M`D41p*Tjn=VLbQG(G8e)-fVpTKKLdh5@*oN)!gMGHPz-ng*P)jN i_JIU&I*tFMe**wrqevEjZknS20000P)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;Zb?KzRCwB?lS@ccQ5eU6=gyrgI+i+!(lmmGkwlPU_CUhgxNXxyR}q4bUbL%4 zD``=?=&3?P`!?Z9U1+$deBgr=3pAly>7=*uG50lh?rCwI$#mHt4xICy@B5waaL!*y zDG@@DRYT8|2DAg0fpa_I_rM#VZ@jb4&E`re5xW5mJyY!=Mf5h+RB$XFrL-hST>A~5 zb%S>c-^lo~W4yDjZy%uk#pJbUq~O_=i#24zu#pBQ69Do;P!xtx8eR`CV5H3JlU?=C zbAZ#m(^^Oo&W+}i7{F#4q=eB49f0$v;s^l;!w?0Y4$hGAW!_jvt*ZcJ(r#Dd(HNV+ zFAHopC?05yGte4mbVA2=gS}0l@o0=p+U){R0E7@NRb?e4w!pGrY$hnqYM?dF*o=;4 zL1GK4%1RJIwB!IvNUaZRD#?_O?fCx`?}pfpPcr4BX(~!ctp`xE39ctGZ3j<6+ei?5 zc_ANwwh=1_QbP*18^%Yba{$ja=TfFwiw~CT?>pUcyxjbNreNA0zHNQUUBNU~`t`LW zg{s7L9c(8US!LI*>rkjl^tB|WvCLuVch{El$5@>0 z#!9UJ?I8Hdg_SpZ?v38!00000(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ-QAtEWRCwCFlD$d;K@^3*6*q-K0ycuMjg>xukCGyrI+&NyO4&w>nT5QEg`~9F zMl9?k44OdL*-7A7xU0qp{(+~t%(-_y?r>hsV!ms@Ll0Nrkv>2yk`)4^H`fO9Sf;OL^zwWO1K>GUS(=%SD$ zfNfyk7^AW*RTPEFvTPFB2eu`>JmE3Gq=Yc_@0XbacK{&-y!V6=yQuqYG{{pJ2 z!h26uRiFQZy%rqqz=AEVZr1@xlCWGZNs?q8;GZV>;F4Zr_@_w@2d@LpxqLJl^#I1> z@mqYgqB^eKy3TYn002ovPDHLkV1gvj B#S{Pl literal 0 HcmV?d00001 diff --git a/OnTopReplica/CloneClickEventArgs.cs b/OnTopReplica/CloneClickEventArgs.cs new file mode 100644 index 0000000..95012a7 --- /dev/null +++ b/OnTopReplica/CloneClickEventArgs.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + public class CloneClickEventArgs : EventArgs { + + public Point ClientClickLocation { get; set; } + + public bool IsDoubleClick { get; set; } + + public MouseButtons Buttons { get; set; } + + public CloneClickEventArgs(Point location, MouseButtons buttons) { + ClientClickLocation = location; + Buttons = buttons; + IsDoubleClick = false; + } + + public CloneClickEventArgs(Point location, MouseButtons buttons, bool doubleClick) { + ClientClickLocation = location; + Buttons = buttons; + IsDoubleClick = doubleClick; + } + + } +} diff --git a/OnTopReplica/CloseRequestEventArgs.cs b/OnTopReplica/CloseRequestEventArgs.cs new file mode 100644 index 0000000..c9d031e --- /dev/null +++ b/OnTopReplica/CloseRequestEventArgs.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; + +namespace OnTopReplica { + public class CloseRequestEventArgs : EventArgs { + + public WindowHandle LastWindowHandle { get; set; } + public Rectangle? LastRegion { get; set; } + + } +} diff --git a/OnTopReplica/EnumerationExtensions.cs b/OnTopReplica/EnumerationExtensions.cs new file mode 100644 index 0000000..a7cc169 --- /dev/null +++ b/OnTopReplica/EnumerationExtensions.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica { + + /// + /// Poor man's LINQ. + /// + static class EnumerationExtensions { + + public static bool Contains(IEnumerable collection, T value){ + foreach (var v in collection) + if (v.Equals(value)) + return true; + + return false; + } + + } + +} diff --git a/OnTopReplica/FocusedTextBox.cs b/OnTopReplica/FocusedTextBox.cs new file mode 100644 index 0000000..ac34c2d --- /dev/null +++ b/OnTopReplica/FocusedTextBox.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.Text; +using VistaControls; +using System.Windows.Forms; + +namespace OnTopReplica { + + class FocusedTextBox : System.Windows.Forms.TextBox { + + protected override bool IsInputChar(char charCode) { + if (charCode == '\n' || charCode == '\r') + return true; + + return base.IsInputChar(charCode); + } + + protected override void OnKeyUp(KeyEventArgs e) { + if (e.KeyCode == Keys.Return) { + if(!string.IsNullOrEmpty(Text)) + OnConfirmInput(); + + e.Handled = true; + e.SuppressKeyPress = true; + } + else if (e.KeyCode == Keys.Escape) { + OnAbortInput(); + + e.Handled = true; + e.SuppressKeyPress = true; + } + + //Console.WriteLine("{0} ({1})", e.KeyCode, e.KeyValue); + + base.OnKeyUp(e); + } + + //List of characters to ignore on KeyPress events (because they generate bell rings) + char[] _ignoreChars = new char[] { + (char)27, (char)13 + }; + + protected override void OnKeyPress(KeyPressEventArgs e) { + if (EnumerationExtensions.Contains(_ignoreChars, e.KeyChar)) { + e.Handled = true; + } + + base.OnKeyPress(e); + } + + public event EventHandler ConfirmInput; + + protected virtual void OnConfirmInput() { + var evt = ConfirmInput; + if (evt != null) + evt(this, EventArgs.Empty); + } + + public event EventHandler AbortInput; + + protected virtual void OnAbortInput() { + var evt = AbortInput; + if (evt != null) + evt(this, EventArgs.Empty); + } + + } + +} diff --git a/OnTopReplica/IMessagePumpProcessor.cs b/OnTopReplica/IMessagePumpProcessor.cs new file mode 100644 index 0000000..824b9e5 --- /dev/null +++ b/OnTopReplica/IMessagePumpProcessor.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + interface IMessagePumpProcessor : IDisposable { + + void Initialize(MainForm form); + + bool Process(ref Message msg); + + } +} diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs new file mode 100644 index 0000000..880e5af --- /dev/null +++ b/OnTopReplica/MainForm.Designer.cs @@ -0,0 +1,573 @@ +namespace OnTopReplica +{ + partial class MainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.menuContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.menuContextWindows = new System.Windows.Forms.ToolStripMenuItem(); + this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); + this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullSelectWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.switchToWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.selectRegionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.advancedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickForwardingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickThroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.groupSwitchModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextOpacity = new System.Windows.Forms.ToolStripMenuItem(); + this.menuOpacity = new System.Windows.Forms.ContextMenuStrip(this.components); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); + this.resizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuResize = new System.Windows.Forms.ContextMenuStrip(this.components); + this.doubleToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.fitToWindowToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.halfToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.quarterToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.fullscreenToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.dockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.chromeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.reduceToIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.languageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuLanguages = new System.Windows.Forms.ContextMenuStrip(this.components); + this.englishToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.cestinaToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.danskToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.italianoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); + this.fullOpacityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.danskToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFullscreenContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.enableClickthroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullExitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContext.SuspendLayout(); + this.menuWindows.SuspendLayout(); + this.menuOpacity.SuspendLayout(); + this.menuResize.SuspendLayout(); + this.menuLanguages.SuspendLayout(); + this.menuFullscreenContext.SuspendLayout(); + this.SuspendLayout(); + // + // menuContext + // + this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuContextWindows, + this.switchToWindowToolStripMenuItem, + this.selectRegionToolStripMenuItem, + this.advancedToolStripMenuItem, + this.menuContextOpacity, + this.resizeToolStripMenuItem, + this.dockToolStripMenuItem, + this.chromeToolStripMenuItem, + this.reduceToIconToolStripMenuItem, + this.toolStripSeparator1, + this.languageToolStripMenuItem, + this.aboutToolStripMenuItem, + this.menuContextClose}); + this.menuContext.Name = "menuContext"; + this.menuContext.Size = new System.Drawing.Size(169, 296); + this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); + // + // menuContextWindows + // + this.menuContextWindows.DropDown = this.menuWindows; + this.menuContextWindows.Image = global::OnTopReplica.Properties.Resources.list; + this.menuContextWindows.Name = "menuContextWindows"; + this.menuContextWindows.Size = new System.Drawing.Size(168, 22); + this.menuContextWindows.Text = global::OnTopReplica.Strings.MenuWindows; + this.menuContextWindows.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // + // menuWindows + // + this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.noneToolStripMenuItem}); + this.menuWindows.Name = "menuWindows"; + this.menuWindows.Size = new System.Drawing.Size(118, 26); + this.menuWindows.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Windows_opening); + // + // noneToolStripMenuItem + // + this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; + this.noneToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; + // + // fullSelectWindowToolStripMenuItem + // + this.fullSelectWindowToolStripMenuItem.DropDown = this.menuWindows; + this.fullSelectWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.list; + this.fullSelectWindowToolStripMenuItem.Name = "fullSelectWindowToolStripMenuItem"; + this.fullSelectWindowToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullSelectWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindows; + this.fullSelectWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // + // switchToWindowToolStripMenuItem + // + this.switchToWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_arrow; + this.switchToWindowToolStripMenuItem.Name = "switchToWindowToolStripMenuItem"; + this.switchToWindowToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.switchToWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSwitch; + this.switchToWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSwitchTT; + this.switchToWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_Switch_click); + // + // selectRegionToolStripMenuItem + // + this.selectRegionToolStripMenuItem.Enabled = false; + this.selectRegionToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.regions; + this.selectRegionToolStripMenuItem.Name = "selectRegionToolStripMenuItem"; + this.selectRegionToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.selectRegionToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRegion; + this.selectRegionToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRegionTT; + this.selectRegionToolStripMenuItem.Click += new System.EventHandler(this.Menu_Region_click); + // + // advancedToolStripMenuItem + // + this.advancedToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.clickForwardingToolStripMenuItem, + this.clickThroughToolStripMenuItem, + this.groupSwitchModeToolStripMenuItem}); + this.advancedToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_wrench; + this.advancedToolStripMenuItem.Name = "advancedToolStripMenuItem"; + this.advancedToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.advancedToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAdvanced; + // + // clickForwardingToolStripMenuItem + // + this.clickForwardingToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; + this.clickForwardingToolStripMenuItem.Name = "clickForwardingToolStripMenuItem"; + this.clickForwardingToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.clickForwardingToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickForwarding; + this.clickForwardingToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickForwardingTT; + this.clickForwardingToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickForwarding_click); + // + // clickThroughToolStripMenuItem + // + this.clickThroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.clickThroughToolStripMenuItem.Name = "clickThroughToolStripMenuItem"; + this.clickThroughToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.clickThroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.clickThroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.clickThroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // groupSwitchModeToolStripMenuItem + // + this.groupSwitchModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.groupmode; + this.groupSwitchModeToolStripMenuItem.Name = "groupSwitchModeToolStripMenuItem"; + this.groupSwitchModeToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.groupSwitchModeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuGroupSwitch; + this.groupSwitchModeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuGroupSwitchTT; + this.groupSwitchModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_GroupSwitchMode_click); + // + // menuContextOpacity + // + this.menuContextOpacity.DropDown = this.menuOpacity; + this.menuContextOpacity.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.menuContextOpacity.Name = "menuContextOpacity"; + this.menuContextOpacity.Size = new System.Drawing.Size(168, 22); + this.menuContextOpacity.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // menuOpacity + // + this.menuOpacity.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripMenuItem1, + this.toolStripMenuItem2, + this.toolStripMenuItem3, + this.toolStripMenuItem4}); + this.menuOpacity.Name = "menuOpacity"; + this.menuOpacity.ShowCheckMargin = true; + this.menuOpacity.ShowImageMargin = false; + this.menuOpacity.Size = new System.Drawing.Size(154, 92); + this.menuOpacity.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Opacity_opening); + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Checked = true; + this.toolStripMenuItem1.CheckState = System.Windows.Forms.CheckState.Checked; + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem1.Tag = 1D; + this.toolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuOp100; + this.toolStripMenuItem1.ToolTipText = global::OnTopReplica.Strings.MenuOp100TT; + this.toolStripMenuItem1.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem2 + // + this.toolStripMenuItem2.Name = "toolStripMenuItem2"; + this.toolStripMenuItem2.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem2.Tag = 0.75D; + this.toolStripMenuItem2.Text = global::OnTopReplica.Strings.MenuOp75; + this.toolStripMenuItem2.ToolTipText = global::OnTopReplica.Strings.MenuOp75TT; + this.toolStripMenuItem2.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem3 + // + this.toolStripMenuItem3.Name = "toolStripMenuItem3"; + this.toolStripMenuItem3.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem3.Tag = 0.5D; + this.toolStripMenuItem3.Text = global::OnTopReplica.Strings.MenuOp50; + this.toolStripMenuItem3.ToolTipText = global::OnTopReplica.Strings.MenuOp50TT; + this.toolStripMenuItem3.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem4 + // + this.toolStripMenuItem4.Name = "toolStripMenuItem4"; + this.toolStripMenuItem4.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem4.Tag = 0.25D; + this.toolStripMenuItem4.Text = global::OnTopReplica.Strings.MenuOp25; + this.toolStripMenuItem4.ToolTipText = global::OnTopReplica.Strings.MenuOp25TT; + this.toolStripMenuItem4.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // resizeToolStripMenuItem + // + this.resizeToolStripMenuItem.DropDown = this.menuResize; + this.resizeToolStripMenuItem.Enabled = false; + this.resizeToolStripMenuItem.Name = "resizeToolStripMenuItem"; + this.resizeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.resizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResize; + // + // menuResize + // + this.menuResize.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.doubleToolStripMenuItem1, + this.fitToWindowToolStripMenuItem1, + this.halfToolStripMenuItem1, + this.quarterToolStripMenuItem1, + this.toolStripSeparator3, + this.fullscreenToolStripMenuItem1}); + this.menuResize.Name = "menuResize"; + this.menuResize.OwnerItem = this.resizeToolStripMenuItem; + this.menuResize.Size = new System.Drawing.Size(165, 120); + this.menuResize.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Resize_opening); + // + // doubleToolStripMenuItem1 + // + this.doubleToolStripMenuItem1.Name = "doubleToolStripMenuItem1"; + this.doubleToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.doubleToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitDouble; + this.doubleToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Double); + // + // fitToWindowToolStripMenuItem1 + // + this.fitToWindowToolStripMenuItem1.Name = "fitToWindowToolStripMenuItem1"; + this.fitToWindowToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.fitToWindowToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitOriginal; + this.fitToWindowToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_FitToWindow); + // + // halfToolStripMenuItem1 + // + this.halfToolStripMenuItem1.Name = "halfToolStripMenuItem1"; + this.halfToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.halfToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitHalf; + this.halfToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Half); + // + // quarterToolStripMenuItem1 + // + this.quarterToolStripMenuItem1.Name = "quarterToolStripMenuItem1"; + this.quarterToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.quarterToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitQuarter; + this.quarterToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Quarter); + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(161, 6); + // + // fullscreenToolStripMenuItem1 + // + this.fullscreenToolStripMenuItem1.Image = global::OnTopReplica.Properties.Resources.fullscreen; + this.fullscreenToolStripMenuItem1.Name = "fullscreenToolStripMenuItem1"; + this.fullscreenToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.fullscreenToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitFullscreen; + this.fullscreenToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Fullscreen); + // + // dockToolStripMenuItem + // + this.dockToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.topLeftToolStripMenuItem, + this.topRightToolStripMenuItem, + this.bottomLeftToolStripMenuItem, + this.bottomRightToolStripMenuItem}); + this.dockToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_null; + this.dockToolStripMenuItem.Name = "dockToolStripMenuItem"; + this.dockToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.dockToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosition; + this.dockToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuPositionTT; + // + // topLeftToolStripMenuItem + // + this.topLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topleft; + this.topLeftToolStripMenuItem.Name = "topLeftToolStripMenuItem"; + this.topLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopLeft; + this.topLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopLeft); + // + // topRightToolStripMenuItem + // + this.topRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topright; + this.topRightToolStripMenuItem.Name = "topRightToolStripMenuItem"; + this.topRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopRight; + this.topRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopRight); + // + // bottomLeftToolStripMenuItem + // + this.bottomLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomleft; + this.bottomLeftToolStripMenuItem.Name = "bottomLeftToolStripMenuItem"; + this.bottomLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomLeft; + this.bottomLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomLeft); + // + // bottomRightToolStripMenuItem + // + this.bottomRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomright; + this.bottomRightToolStripMenuItem.Name = "bottomRightToolStripMenuItem"; + this.bottomRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomRight; + this.bottomRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomRight); + // + // chromeToolStripMenuItem + // + this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem"; + this.chromeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.chromeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuChrome; + this.chromeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuChromeTT; + this.chromeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Chrome_click); + // + // reduceToIconToolStripMenuItem + // + this.reduceToIconToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.reduce; + this.reduceToIconToolStripMenuItem.Name = "reduceToIconToolStripMenuItem"; + this.reduceToIconToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.reduceToIconToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReduce; + this.reduceToIconToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuReduceTT; + this.reduceToIconToolStripMenuItem.Click += new System.EventHandler(this.Menu_Reduce_click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(165, 6); + // + // languageToolStripMenuItem + // + this.languageToolStripMenuItem.DropDown = this.menuLanguages; + this.languageToolStripMenuItem.Name = "languageToolStripMenuItem"; + this.languageToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.languageToolStripMenuItem.Text = global::OnTopReplica.Strings.Language; + // + // menuLanguages + // + this.menuLanguages.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.englishToolStripMenuItem, + this.cestinaToolStripMenuItem, + this.danskToolStripMenuItem1, + this.italianoToolStripMenuItem}); + this.menuLanguages.Name = "menuLanguages"; + this.menuLanguages.OwnerItem = this.languageToolStripMenuItem; + this.menuLanguages.Size = new System.Drawing.Size(114, 92); + this.menuLanguages.Text = "Dansk"; + // + // englishToolStripMenuItem + // + this.englishToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_usa; + this.englishToolStripMenuItem.Name = "englishToolStripMenuItem"; + this.englishToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.englishToolStripMenuItem.Tag = "en-US"; + this.englishToolStripMenuItem.Text = "English"; + this.englishToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // cestinaToolStripMenuItem + // + this.cestinaToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_czech; + this.cestinaToolStripMenuItem.Name = "cestinaToolStripMenuItem"; + this.cestinaToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.cestinaToolStripMenuItem.Tag = "cs-CZ"; + this.cestinaToolStripMenuItem.Text = "Čeština"; + this.cestinaToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // danskToolStripMenuItem1 + // + this.danskToolStripMenuItem1.Image = global::OnTopReplica.Properties.Resources.flag_danish; + this.danskToolStripMenuItem1.Name = "danskToolStripMenuItem1"; + this.danskToolStripMenuItem1.Size = new System.Drawing.Size(113, 22); + this.danskToolStripMenuItem1.Tag = "da-DK"; + this.danskToolStripMenuItem1.Text = "Dansk"; + this.danskToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Language_click); + // + // italianoToolStripMenuItem + // + this.italianoToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_ita; + this.italianoToolStripMenuItem.Name = "italianoToolStripMenuItem"; + this.italianoToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.italianoToolStripMenuItem.Tag = "it-IT"; + this.italianoToolStripMenuItem.Text = "Italiano"; + this.italianoToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_help; + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.aboutToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAbout; + this.aboutToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAboutTT; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.Menu_About_click); + // + // menuContextClose + // + this.menuContextClose.Image = global::OnTopReplica.Properties.Resources.close_new; + this.menuContextClose.Name = "menuContextClose"; + this.menuContextClose.Size = new System.Drawing.Size(168, 22); + this.menuContextClose.Text = global::OnTopReplica.Strings.MenuClose; + this.menuContextClose.Click += new System.EventHandler(this.Menu_Close_click); + // + // fullOpacityToolStripMenuItem + // + this.fullOpacityToolStripMenuItem.DropDown = this.menuOpacity; + this.fullOpacityToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.fullOpacityToolStripMenuItem.Name = "fullOpacityToolStripMenuItem"; + this.fullOpacityToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullOpacityToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // danskToolStripMenuItem + // + this.danskToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_danish; + this.danskToolStripMenuItem.Name = "danskToolStripMenuItem"; + this.danskToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.danskToolStripMenuItem.Tag = "da-DA"; + this.danskToolStripMenuItem.Text = "Dansk"; + this.danskToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // menuFullscreenContext + // + this.menuFullscreenContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fullSelectWindowToolStripMenuItem, + this.fullOpacityToolStripMenuItem, + this.enableClickthroughToolStripMenuItem, + this.fullExitToolStripMenuItem}); + this.menuFullscreenContext.Name = "menuFullscreenContext"; + this.menuFullscreenContext.Size = new System.Drawing.Size(190, 92); + // + // enableClickthroughToolStripMenuItem + // + this.enableClickthroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; + this.enableClickthroughToolStripMenuItem.Name = "enableClickthroughToolStripMenuItem"; + this.enableClickthroughToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.enableClickthroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.enableClickthroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.enableClickthroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // fullExitToolStripMenuItem + // + this.fullExitToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; + this.fullExitToolStripMenuItem.Name = "fullExitToolStripMenuItem"; + this.fullExitToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullExitToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuQuitFullscreen; + this.fullExitToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_ExitFullscreen_click); + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.Control; + this.ClientSize = new System.Drawing.Size(264, 204); + this.ControlBox = false; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.MinimumSize = new System.Drawing.Size(20, 34); + this.Name = "MainForm"; + this.Text = "OnTopReplica"; + this.TopMost = true; + this.menuContext.ResumeLayout(false); + this.menuWindows.ResumeLayout(false); + this.menuOpacity.ResumeLayout(false); + this.menuResize.ResumeLayout(false); + this.menuLanguages.ResumeLayout(false); + this.menuFullscreenContext.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ContextMenuStrip menuContext; + private System.Windows.Forms.ToolStripMenuItem menuContextWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextClose; + private System.Windows.Forms.ContextMenuStrip menuWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextOpacity; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.ContextMenuStrip menuOpacity; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem4; + private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem reduceToIconToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem selectRegionToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem resizeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem switchToWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem dockToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topRightToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomRightToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuResize; + private System.Windows.Forms.ToolStripMenuItem doubleToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fitToWindowToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem halfToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem quarterToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fullscreenToolStripMenuItem1; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripMenuItem languageToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuLanguages; + private System.Windows.Forms.ToolStripMenuItem englishToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem italianoToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem cestinaToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem danskToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem chromeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem danskToolStripMenuItem1; + private System.Windows.Forms.ContextMenuStrip menuFullscreenContext; + private System.Windows.Forms.ToolStripMenuItem fullSelectWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullOpacityToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullExitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem advancedToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickForwardingToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickThroughToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem groupSwitchModeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem enableClickthroughToolStripMenuItem; + } +} + diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs new file mode 100644 index 0000000..79c9af4 --- /dev/null +++ b/OnTopReplica/MainForm.cs @@ -0,0 +1,537 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using VistaControls.Dwm; +using VistaControls.TaskDialog; +using System.Collections.Generic; +using OnTopReplica.Native; +using OnTopReplica.Update; + +namespace OnTopReplica { + + partial class MainForm : AspectRatioForm { + + //GUI elements + ThumbnailPanel _thumbnailPanel; + SidePanel _currentSidePanel = null; + Panel _sidePanelContainer; + + //Managers + WindowManager _windowManager = new WindowManager(); + MessagePumpManager _msgPumpManager = new MessagePumpManager(); + UpdateManager _updateManager = new UpdateManager(); + + FormBorderStyle _defaultBorderStyle; + + public MainForm() { + InitializeComponent(); + KeepAspectRatio = false; + + //Store default values + _defaultBorderStyle = FormBorderStyle; + _nonClickThroughKey = TransparencyKey; + + //Thumbnail panel + _thumbnailPanel = new ThumbnailPanel { + Location = Point.Empty, + Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right, + Size = ClientSize + }; + _thumbnailPanel.CloneClick += new EventHandler(Thumbnail_CloneClick); + Controls.Add(_thumbnailPanel); + + //Side panel + _sidePanelContainer = new Panel { + Location = new Point(ClientSize.Width, 0), + Anchor = AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom, + Enabled = false, + Visible = false, + Size = new Size(100, ClientSize.Height), + Padding = new Padding(4) + }; + Controls.Add(_sidePanelContainer); + + //Set native renderer on context menus + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer( + menuContext, menuWindows, menuOpacity, menuResize, menuLanguages, menuFullscreenContext + ); + + //Init message pump extensions + _msgPumpManager.Initialize(this); + + //Add hotkeys + var hotKeyMgr = _msgPumpManager.Get(); + hotKeyMgr.RegisterHotKey(Native.HotKeyModifiers.Control | Native.HotKeyModifiers.Shift, + Keys.O, new Native.HotKeyMethods.HotKeyHandler(HotKeyOpenHandler)); + hotKeyMgr.RegisterHotKey(Native.HotKeyModifiers.Control | Native.HotKeyModifiers.Shift, + Keys.C, new Native.HotKeyMethods.HotKeyHandler(HotKeyCloneHandler)); + + //Hook keyboard handler + this.KeyUp += new KeyEventHandler(Form_KeyUp); + this.KeyPreview = true; + } + + delegate void GuiAction(); + + void UpdateManager_CheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + this.Invoke(new GuiAction(() => { + if (e.Success) { + _updateManager.HandleUpdateCheck(this, e.Information, false); + } + else { + Console.WriteLine("Failed to check for updates: {0}", e.Error); + } + })); + } + + #region Event override + + protected override CreateParams CreateParams { + get { + //Needed to hide caption, while keeping window title in task bar + var parms = base.CreateParams; + parms.Style &= ~0x00C00000; //WS_CAPTION + parms.Style &= 0x00040000; //WS_SIZEBOX + return parms; + } + } + + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + //Platform specific form initialization + Program.Platform.InitForm(this); + + //Glassify window + GlassEnabled = true; + } + + protected override void OnHandleCreated(EventArgs e) { + base.OnHandleCreated(e); + + //Check for updates + _updateManager.UpdateCheckCompleted += new EventHandler(UpdateManager_CheckCompleted); + _updateManager.CheckForUpdate(); + } + + protected override void OnClosing(CancelEventArgs e) { + _msgPumpManager.Dispose(); + + base.OnClosing(e); + } + + protected override void OnResize(EventArgs e) { + base.OnResize(e); + + this.GlassMargins = (_currentSidePanel != null) ? + new Margins(ClientSize.Width - _sidePanelContainer.Width, 0, 0, 0) : + new Margins(-1); + } + + protected override void OnActivated(EventArgs e) { + base.OnActivated(e); + + //Deactivate click-through if reactivated + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + + Program.Platform.RestoreForm(this); + } + + protected override void OnDeactivate(EventArgs e) { + base.OnDeactivate(e); + + //HACK: sometimes, even if TopMost is true, the window loses its "always on top" status. + // This is an attempt of a fix that probably won't work... + if (!IsFullscreen) { //fullscreen mode doesn't use TopMost + TopMost = false; + TopMost = true; + } + } + + protected override void OnMouseWheel(MouseEventArgs e) { + base.OnMouseWheel(e); + + if (!IsFullscreen) { + int change = (int)(e.Delta / 6.0); //assumes a mouse wheel "tick" is in the 80-120 range + AdjustSize(change); + } + } + + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); + + //This is handled by the WM_NCLBUTTONDBLCLK msg handler usually (because the GlassForm translates + //clicks on client to clicks on caption). But if fullscreen mode disables GlassForm dragging, we need + //this auxiliary handler to switch mode. + IsFullscreen = !IsFullscreen; + } + + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); + + //Same story as above (OnMouseDoubleClick) + if (e.Button == System.Windows.Forms.MouseButtons.Right) { + OpenContextMenu(); + } + } + + protected override void WndProc(ref Message m) { + if (_msgPumpManager != null) { + if (_msgPumpManager.PumpMessage(ref m)) { + return; + } + } + + switch (m.Msg) { + case WM.NCRBUTTONUP: + //Open context menu if right button clicked on caption (i.e. all of the window area because of glass) + if (m.WParam.ToInt32() == HT.CAPTION) { + OpenContextMenu(); + + m.Result = IntPtr.Zero; + return; + } + break; + + case WM.NCLBUTTONDBLCLK: + //Toggle fullscreen mode if double click on caption (whole glass area) + if (m.WParam.ToInt32() == HT.CAPTION) { + IsFullscreen = !IsFullscreen; + + m.Result = IntPtr.Zero; + return; + } + break; + + case WM.NCHITTEST: + //Make transparent to hit-testing if in click through mode + if (ClickThroughEnabled) { + m.Result = (IntPtr)HT.TRANSPARENT; + return; + } + break; + } + + base.WndProc(ref m); + } + + #endregion + + const string Title = "OnTopReplica"; + + #region Keyboard event handling + + void Form_KeyUp(object sender, KeyEventArgs e) { + //ALT + if (e.Modifiers == Keys.Alt) { + if (e.KeyCode == Keys.Enter) { + e.Handled = true; + IsFullscreen = !IsFullscreen; + } + + else if (e.KeyCode == Keys.D1 || e.KeyCode == Keys.NumPad1) { + FitToThumbnail(0.25); + } + + else if (e.KeyCode == Keys.D2 || e.KeyCode == Keys.NumPad2) { + FitToThumbnail(0.5); + } + + else if (e.KeyCode == Keys.D3 || e.KeyCode == Keys.NumPad3 || e.KeyCode == Keys.D0 || e.KeyCode == Keys.NumPad0) { + FitToThumbnail(1.0); + } + + else if (e.KeyCode == Keys.D4 || e.KeyCode == Keys.NumPad4) { + FitToThumbnail(2.0); + } + } + + //ESCAPE + else if (e.KeyCode == Keys.Escape) { + +#if DEBUG + Console.WriteLine("Received ESCAPE"); +#endif + + //Disable click-through + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + //Toggle fullscreen + else if (IsFullscreen) { + IsFullscreen = false; + } + //Disable click forwarding + else if (_thumbnailPanel.ReportThumbnailClicks) { + _thumbnailPanel.ReportThumbnailClicks = false; + } + } + } + + void HotKeyOpenHandler() { + if (IsFullscreen) + IsFullscreen = false; + + if (!Program.Platform.IsHidden(this)) { + Program.Platform.HideForm(this); + } + else { + EnsureMainFormVisible(); + } + } + + void HotKeyCloneHandler() { + var handle = Win32Helper.GetCurrentForegroundWindow(); + if (handle.Handle == this.Handle) + return; + + SetThumbnail(handle, null); + } + + #endregion + + #region Fullscreen + + bool _isFullscreen = false; + Point _preFullscreenLocation; + Size _preFullscreenSize; + + public bool IsFullscreen { + get { + return _isFullscreen; + } + set { + if (IsFullscreen == value) + return; + if (value && !_thumbnailPanel.IsShowingThumbnail) + return; + + CloseSidePanel(); //on switch, always hide side panels + GlassEnabled = !value; + FormBorderStyle = (value) ? FormBorderStyle.None : _defaultBorderStyle; + TopMost = !value; + HandleMouseMove = !value; + + //Location and size + if (value) { + _preFullscreenLocation = Location; + _preFullscreenSize = Size; + + var currentScreen = Screen.FromControl(this); + Size = currentScreen.WorkingArea.Size; + Location = currentScreen.WorkingArea.Location; + } + else { + Location = _preFullscreenLocation; + Size = _preFullscreenSize; + RefreshAspectRatio(); + } + + _isFullscreen = value; + + Program.Platform.OnFormStateChange(this); + } + } + + #endregion + + #region Thumbnail operation + + /// + /// Sets a new thumbnail. + /// + /// Handle to the window to clone. + /// Region of the window to clone. + public void SetThumbnail(WindowHandle handle, StoredRegion region) { + try { + CurrentThumbnailWindowHandle = handle; + _thumbnailPanel.SetThumbnailHandle(handle); + + if (region != null) + _thumbnailPanel.SelectedRegion = region.Rect; + else + _thumbnailPanel.ConstrainToRegion = false; + + //Set aspect ratio (this will resize the form), do not refresh if in fullscreen + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize, !IsFullscreen); + } + catch (Exception ex) { + ThumbnailError(ex, false, Strings.ErrorUnableToCreateThumbnail); + } + } + + /// + /// Enables group mode on a list of window handles. + /// + /// List of window handles. + public void SetThumbnailGroup(IList handles) { + if (handles.Count == 0) + return; + + //At last one thumbnail + SetThumbnail(handles[0], null); + + //Handle if no real group + if (handles.Count == 1) + return; + + CurrentThumbnailWindowHandle = null; + _msgPumpManager.Get().EnableGroupMode(handles); + } + + /// + /// Disables the cloned thumbnail. + /// + public void UnsetThumbnail() { + //Unset handle + CurrentThumbnailWindowHandle = null; + _thumbnailPanel.UnsetThumbnail(); + + //Disable aspect ratio + KeepAspectRatio = false; + } + + /// + /// Gets or sets the region displayed of the current thumbnail. + /// + public Rectangle? SelectedThumbnailRegion { + get { + if (!_thumbnailPanel.IsShowingThumbnail || !_thumbnailPanel.ConstrainToRegion) + return null; + + return _thumbnailPanel.SelectedRegion; + } + set { + if (!_thumbnailPanel.IsShowingThumbnail) + return; + + if (value.HasValue) { + _thumbnailPanel.SelectedRegion = value.Value; + SetAspectRatio(value.Value.Size, true); + } + else { + _thumbnailPanel.ConstrainToRegion = false; + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize, true); + } + + FixPositionAndSize(); + } + } + + const int FixMargin = 10; + + /// + /// Fixes the form's position and size, ensuring it is fully displayed in the current screen. + /// + private void FixPositionAndSize() { + var screen = Screen.FromControl(this); + + if (Width > screen.WorkingArea.Width) { + Width = screen.WorkingArea.Width - FixMargin; + } + if (Height > screen.WorkingArea.Height) { + Height = screen.WorkingArea.Height - FixMargin; + } + if (Location.X + Width > screen.WorkingArea.Right) { + Location = new Point(screen.WorkingArea.Right - Width - FixMargin, Location.Y); + } + if (Location.Y + Height > screen.WorkingArea.Bottom) { + Location = new Point(Location.X, screen.WorkingArea.Bottom - Height - FixMargin); + } + } + + private void ThumbnailError(Exception ex, bool suppress, string title) { + if (!suppress) { + ShowErrorDialog(title, Strings.ErrorGenericThumbnailHandleError, ex.Message); + } + + UnsetThumbnail(); + } + + /// Automatically sizes the window in order to accomodate the thumbnail p times. + /// Scale of the thumbnail to consider. + private void FitToThumbnail(double p) { + try { + Size originalSize = _thumbnailPanel.ThumbnailOriginalSize; + Size fittedSize = new Size((int)(originalSize.Width * p), (int)(originalSize.Height * p)); + ClientSize = fittedSize; + } + catch (Exception ex) { + ThumbnailError(ex, false, Strings.ErrorUnableToFit); + } + } + + #endregion + + #region Click-through + + bool _clickThrough = false; + Color _nonClickThroughKey; + + public bool ClickThroughEnabled { + get { + return _clickThrough; + } + set { + //Adjust opacity if fully opaque + if (value && Opacity == 1.0) + Opacity = 0.75; + if (!value) + Opacity = 1.0; + + //Enable transparency and force as top-most + TransparencyKey = (value) ? Color.Black : _nonClickThroughKey; + if (value) + TopMost = true; + + _clickThrough = value; + } + } + + #endregion + + #region Accessors + + /// + /// Gets the form's thumbnail panel. + /// + public ThumbnailPanel ThumbnailPanel { + get { + return _thumbnailPanel; + } + } + + /// + /// Gets the form's message pump manager. + /// + public MessagePumpManager MessagePumpManager { + get { + return _msgPumpManager; + } + } + + /// + /// Gets the form's window list drop down menu. + /// + public ContextMenuStrip MenuWindows { + get { + return menuWindows; + } + } + + /// + /// Retrieves the window handle of the currently cloned thumbnail. + /// + public WindowHandle CurrentThumbnailWindowHandle { + get; + private set; + } + + #endregion + + } +} diff --git a/OnTopReplica/MainForm.resx b/OnTopReplica/MainForm.resx new file mode 100644 index 0000000..e1539d6 --- /dev/null +++ b/OnTopReplica/MainForm.resx @@ -0,0 +1,324 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 142, 17 + + + 275, 17 + + + 578, 17 + + + 695, 17 + + + 399, 17 + + + + + AAABAAIAMDAAAAEAIACoJQAAJgAAABAQAAABACAAaAQAAM4lAAAoAAAAMAAAAGAAAAABACAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAAAAFwAAACAAAAAnAAAAKwAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAAKwAAACcAAAAfAAAAFwAAAA0AAAAGAAAABgAAAA4AAAAdAAAALQAAAD0AAABIAAAATgAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATgAAAEgAAAA9AAAALQAAABwAAAANAAAACwAAABkAAAAwAAAARwAA + AFsAAABpAAAAcAAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcAAAAGkAAABdAAAASAAAAC8AAAAYAAAAEQAA + ACQAAABBAAAAbAoKC6QYGBiyFhcXtBcXF7QXFxe0FxcXtBcXF7UXFxi0FxcYtBcYGLQXGBi0FxgYtBgY + GLQXGBi0FxcYtBcXF7QXFxe0FxcXtBcXF7QXFxe0FxcXtRcXF7UXFxe1FxcXtBcXF7QXFxe0FxcXtBYX + F7QWFhe0FhYXtBYWFrQWFhe0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe0GBgYtQEBAqYAAAB5AAAAXwAA + AEEAAAAkAAAAFwAAACwAAABdOTk3u46IgKWTjIKUkYiAk4yEepKHf3WQhHtyj4B5b45+eG2NfHVrjHly + Z4t5cmeLeXFni3huZot5b2aLe3JoioB3bIuDe3KMiH92jIyCeIyMhXqNjYZ7jo2HfI+Ph36PkId/j5GI + f4+SiX+PkomAj5OLgJCTjIKQk4yCkJSMgpCTi4GQj4h+joyEeo2LgniMjIN5jY+HfY6RiYCPkoqAjn55 + c7IXFxe1AAAAcQAAAFAAAAAuAAAAGwAAADAJCQmJkoyGrJ6ViXCypp2Fv7OskL2yq5G6r6ePt6yljbWr + o4yzqqGLsaefirClnYmupJ2JrqOdia6inYqvpJ2JsqafibSqo4m4raeKu7Gqiryyq4u8s6uLu7OsjLyz + rYy8s62MvbOujb20ro29ta6NvbWujry2ro67tq6OvLaujr23r468ta6OurOsjLiyq4u3sayLubOvjLu0 + so20ramGnpWNdJ+ViGxnZWG9AAAAiQAAAFYAAAAzAAAAHAAAADIREhKSqaGapbK4splz3ePrceDn8nPg + 5/N14OfzduDm83nh5fN84uXyf+Lk8oLj5PKF4+Lyh+Pi8onk4PKM5d/yj+Xf8pPm3/KX6ODynOni8qDq + 4/Kk7OLyqO7i863w4vKy8+Hytvbh87z44fPE+uHzzvvk89776vPs+/Pz+fv58//7/fP/+/7z//v98v/7 + 9/L8++3y9/vi8/b70fPz+b7u1da5u6mim3V/fHe1AAAAkQAAAFkAAAA2AAAAHQAAADMQEBCRsKiirMLO + ybBI3eT/PNnf/z3Z2v8+2df/P9nV/0HZ0/9G2tL/StvQ/0vbzv9O28v/UNzJ/1Pcx/9W3sX/WuHD/13k + wv9i6ML/aO/E/3D1x/99+s7/jP3W/53/4P+y/+r/xf/x/9r/+f/v//3/9//8//n//P/6//r/8v/r/+H/ + 3v+//dr/t/3Z/8L+zv/K/7H/1f2b/9r8jv/X/Yz/0Oa+1r2zsYJ+e3e4AAAAkQAAAFoAAAA3AAAAHQAA + ADMPDw+RtKumr8bSz7Y809n/L9DT/zLQ0f8zz8//NNDL/zfQyf860Mj/PNHF/z3Sw/9A1cH/RdnC/0re + xP9S5cj/W+zN/2by0/9x+Nj/e/3d/4L/4P+L/+T/mf/o/6n/6/+5/+z/xP/n/8f/2/+//8z/tPy//6X5 + tf+Z96//jPar/3j1rP9z97j/gvrD/4X9yf+Q/cv/qvu5/7jtkf+112f/z9mt2cW9u4iAfXm5AAAAkQAA + AFoAAAA3AAAAHQAAADMPDw+Rta6osMfT0Lc40tX/LM/Q/zHQz/8y0c7/NdTO/znXz/8/29H/ROHV/0zo + 2P9T7tz/WvTg/2D54v9l++H/avzf/27+3f90/9v/ev/a/4H/1/+K/tT/kPzL/5H4v/+N87D/he6f/4Dp + k/+B5o3/huWK/4/liP+W5of/muaG/5zihv+e2ob/pNeJ/6ncjP+s5pD/pO6U/5/wlv+h4oX/ytu32si/ + vYuCf3u6AAAAkQAAAFoAAAA2AAAAHQAAADMPDw+Rt6+qscnV0bk+2Nf/M9nV/zrd2P9A4tz/Rejf/0jq + 4P9J6tv/TOrW/07o0P9P5sn/UefD/1Xqwf9c8ML/ZPXC/2v3wP9v8rn/cOqv/27iof9r25X/a9mN/3TZ + jP9924v/gtuH/4fbgv+I2n7/itR6/4nNdP+HxW3/iL5o/4y4YP+St1X/k7ZL/5S1Tv+ZtlX/pL5d/67L + Yv+x123/0uC828rCwI2DgHy7AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RuLCss8rX07pG4dz/Od7W/zzb + 0f8/2s3/P9jI/0DUwv8/0Ln/Q9G2/0rXuP9S3rr/WuS9/1/kuf9f3rD/X9ai/1/Pl/9hzJD/Zc+M/2zT + if9x1oj/d9eE/37Vg/+D0X//fshz/3m+aP95uGP/e7Nf/3+wXP+FsFb/jLVR/4+8Uv+QwFv/k8Rk/5zF + Zf+hw2D/pMBY/6i7Uv+ps0D/0M+i3M3Hx5CEgX68AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RubKutMvW + 0rs/ysH/MsS3/zbDtP87x7b/Qc27/0bVwP9L2b//Ttq7/1HWs/9T0Kn/Vcqh/1jImv9dy5X/Y9CS/2nT + kP9u1Yz/cNOG/3DOfv9wx3X/cMJv/3vDcf+GxnH/gsFl/4G/Xv+Iv17/jMNc/5DHXP+QzGH/jM9u/4vL + c/+OwWz/j7lg/5GyVP+SqEn/lqJB/5icOv+WkSr/yMOb3NDMypGFgn+9AAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+RurOvtszW0bxCxbj/OMa2/0DNu/9F0r3/SdS9/0rSt/9LzKz/TMik/1HLoP9a0aH/Y9ih/2vc + nv9w3Jf/cdqP/3PXiP931YH/etV8/37Vdv+A1HD/hdNq/5XUbv+Z027/icll/4HGYv+Dx1z/hcJU/4K3 + VP99qVX/fJ1J/3yTPP97izT/fIYv/4CDK/+EgSj/iIAn/4uBJv+MfBr/xr2W3dPPzZOHhIG9AAAAkAAA + AFoAAAA2AAAAHQAAADIPDw+RvLWwts7Z071K0L7/Psq0/0LKr/9HzK3/T9Ox/1jdtv9f5bf/Y+q0/2rt + r/9y7Kn/eeqj/4Hmnf+C4pT/gNyK/3/Tfv99zHP/e8Rp/3e7Yf9ysl3/b69h/3e2cf9zuHD/aa9Z/3Gn + Qv94nDT/dI4v/3KGKv90gyb/doIk/3d/I/94fCH/enog/3x4IP+AeCD/g3kg/4d6Iv+Idhf/xLuW3tbR + 0JWHhIG+AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvLWxuM/Z075W173/Utq7/1riv/9h6cL/aOzC/23t + v/9s6bP/aeCl/2nVl/9pzIz/bcSB/3C8d/9ts23/Z6lj/2SiXf9hnVv/XZpb/1yZXP9cnFv/ZaVZ/3aw + U/94pjv/cY8n/2+EJP9sgCX/bH4k/3B+I/92gCL/en8f/3p7Hv95eB7/eXcd/3t1Hv9+dR7/gHYf/4R3 + H/+FchX/w7qW3tfT0peHhYK/AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvbazuNHb1b9k3r//WNez/1bP + qP9Tx5z/U7+U/1O5jv9Ss4T/UKp2/1Cha/9Tnmb/Wp5j/2ChZP9gn2L/XJld/1yYXP9cmFf/XphQ/2Sa + R/9nmDr/cJkv/32dKf92jyT/an0h/2p9If9ufyD/cn4e/3V+Hf98gB3/fX8c/3t6HP95dhz/eHQb/3lz + HP97cxz/fXQc/4J0Hf+CbxL/wrmV3tjU1JiIhoPAAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+Qvbe1udDY + 0sBPt5b/QauH/0Khff9CnXT/RZ1y/0iecP9Lnm3/S5pn/0yVYv9QlGD/WZlf/2KhXv9ln1n/YplS/2WZ + TP9nmEP/aJQ5/2aNLP9mhST/dI0i/3+WI/9yhx//aXkc/2x7G/9xfhr/dYEa/3qAGv+Agxr/f4AZ/3x7 + Gv95dhr/eHIZ/3hxGv95cRn/fHEa/4ByG/+AbBD/wbiU39nW1pqIhoPAAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+Qvrq2utDW0MFJo4D/P5xz/0KVbP9BkWb/RJJl/0eVZ/9LmGb/TZZh/0+TW/9UlFf/X5pU/2ui + U/9uoUz/bZtD/2+YO/9oji//ZIQl/2Z/IP9ugB3/e40e/32QHv9xgRv/a3kY/298F/90gRf/eYMY/36D + F/+Ehhj/g4IY/358GP96dhj/d3IY/3dwGP94bxj/em8Y/31wGf99ag7/wbiU4NzY15uJh4TBAAAAkAAA + AFoAAAA2AAAAHQAAADIPDw6Qv7q3u9DWz8FJnnT/QJdq/0KPZP9Di1//RYxd/0mQXP9Ok1r/UJNW/1OS + Uf9ak0z/aJxI/3ilRP96oT3/b5Qx/2yMKP9pgyH/a4Ac/219Gf9wfhj/eosa/3yOGv9xfxf/bnwW/3J/ + Ff96hBX/fYMW/4GFFv+Hhxb/hYMW/398Ff97dRb/eHIW/3dvFv93bhb/eG4W/3xuF/97aAz/wLiU4N3Z + 2JuJh4TBAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6Qv7u4u9DWz8JLmm3/QpRh/0SNWv9Fh1P/SYhR/0yL + T/9Rjk7/V5RK/12XRv9mmUD/dqI8/4GmNf93mCz/booj/3OKHv9yhBr/cH8V/257FP9ygBb/fY8Y/36P + GP9ygBT/cn4U/3iDFP+AiBT/foUT/4aIFP+IiBT/hYMU/398E/98dhP/eXMU/3hwFP93bRX/d20V/3tt + Ff94Zgr/wLeT4N3Z2p2KiIXBAAAAkAAAAFoAAAA2AAAAHQAAADIODg6QwLy5vNHWz8JOmGP/RpNW/0eK + UP9Igkj/SoJG/1CIQ/9blEL/ZJs+/2qfO/9zoTX/eJ0s/32aJP95kiD/doob/3uMGf92hRb/cYAU/258 + Ev92hRP/g5MV/4WSFf92gxL/eIMS/3+HEv+EjBL/gYcR/4mKEf+IiRL/hIMS/4B8EP98dxH/e3QS/3lx + E/93bhP/eG0T/3lsFP93ZQn/wLeT4d7a252KiIXCAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6QwLy5vNHW + zcNRlFj/SZJN/0yIR/9MgD//VYs8/2CXOv9lmDf/bqU1/3CgL/9tjiX/d5Eg/4OaHv9/khz/e4sX/4KN + Fv96hhT/dIAS/3N/Ef9/ixP/i5kU/4qVFP98hhH/fogR/4WNEf+GjRH/hYkO/4mLD/+IiA//hIEQ/398 + D/99eA//fXYQ/3xzEf96bxL/eW0S/3ptEv93Zgf/wLiS4d7a256LiIbCAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDg6QwLy6vNLVzcNUklD/S5BD/1OOP/9elTr/YZQ0/2WYMf9urC//apgn/2WCIP9wiR7/f5Uc/4qb + Gv+Fkhr/gIsV/4SNE/98hhL/eIEP/3mDEP+GkhL/kp4S/4uWEf+Aig//gosO/4qREP+IjQ//iYsN/4uM + Df+Ihgz/hIEO/4B7Df9/eA3/gXgP/4B1D/9+chD/fW4R/3xtEf95aAb/wbmS4d/c3J+LiYbCAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Rwby6vdLVzMRVkUf/WZ89/2WjOv9gjzD/ZKAu/2muLf9ljST/ZH0f/2uE + Hf93jRv/hZYY/4+bF/+Ikhr/gooS/4OMEP99hg7/eoIO/36HDv+NlxD/l6AQ/42VD/+FjQ3/h44N/4+U + D/+IjA7/jYwM/46KDP+JhAr/gn8M/396C/+BeAz/g3gN/4J1Df+Acw7/fm8P/31uD/98awT/wruS4d/c + 3J+LiYbDAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RwLy7vtPWzMRjo0L/YaY2/1+XMf9lri7/YqQp/1x+ + If9lgB7/aoIc/2+FGv99jRf/i5YV/5KaFv+JkBj/gogP/4OLDf9/hgz/fIML/4OKDP+Umw7/nKEP/42T + Df+Ijgz/jJEM/5CWDf+Liwz/kY4K/4+KC/+Jgwn/gn0K/4B5Cv+CeAv/g3gM/4N2Df+Acw3/f28N/35v + Df9+bgP/w72S4d7c3KCLiYbDAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Rwr27vdTYzMRfmTv/W6Ew/2a+ + M/9emCj/WHUf/197Hf9ogxv/bIIY/3KFF/+AjhT/jZcT/5KZFv+IjhX/gogM/4WJDP+AhQr/f4UJ/4iO + C/+ang3/naEN/42SC/+LkAv/kZUL/5KUC/+OjAn/lI8J/4+JCf+Jgwj/g30J/4F5CP+DeQj/g3gK/4J2 + C/9/cgz/fm8L/4BxDP+AcQL/xL6R4d/b3KCLiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Qwr28vtPU + y8Rgojn/YcEx/1uXKf9Zdx//W3gb/2F8Gf9rgxf/bYEV/3WFE/+DjhL/j5YP/5KXE/+HjBL/g4gK/4WJ + Cf+ChQj/gYYI/46SCP+eoQv/naAL/42RCf+OkQr/lpgK/5ORCf+Sjgj/lI8I/4+JCP+Jggf/g30G/4F6 + Bv+DeQf/gncJ/4F0Cv9+cQr/fW8J/4ByC/+BcwD/xL+R4t3a26GKiIXEAAAAjwAAAFoAAAA2AAAAHQAA + ADIPDw+Qwby8v9XczMVhuDf/VpEl/1qFIv9bfBz/XHcZ/2J7Fv9rgRT/b4AR/3eFEP+FjRD/jpUL/5GV + EP+GihD/g4YH/4WIB/+ChAf/hIYH/5SVB/+hogr/nJ0J/5GRB/+Tkgj/mZgJ/5KPCP+VkAf/lY8H/4+I + B/+Jggb/hH0F/4J6Bf+CeAb/gnYH/350CP97cAj/e3AI/4F0Cv+BdQD/xL+R4t3Y26KKiIXEAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Qwb69v9TWy8ZZhCz/Voof/1yJIP9cexn/XHYW/2N5FP9sfxH/bn8O/3mE + Df+EjQz/jZMI/5GUEP+FiQ3/hIUF/4aGBf+ChAb/hocF/5iYBv+jpAb/m5oH/5ORB/+WlQb/mZcH/5KP + Bf+XkQb/lY4F/46HBv+IgQX/hHwE/4N7BP+CeAX/f3UG/3xyBv96bwb/e3EG/4J2Cf+CdwD/xL+Q4tzZ + 26KKiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw769v9TVy8ZXgin/V4sc/1yKHv9behj/XXQV/2N3 + Ev9rfA//b30N/3mCDP+Eiwv/jJEI/5CSEv+Ehgz/g4QD/4WFBf+CgwX/iokF/5uaBv+jpAX/mJYF/5OQ + Bv+Ylgb/lpMG/5SPBf+YkQb/k4sG/42EBv+HfwT/hHwD/4N7BP+AeAX/fXQE/3pwBf93bgb/enEG/4B2 + CP+CdwD/xMCP49zZ26OKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw7++wNXVzMZYgCj/Voob/12K + G/9cehb/XXIT/2J1EP9rew7/bXwM/3iBC/+Eigr/io8H/46RE/+ChAn/gYID/4ODBf+Cggb/jYsF/52c + Bf+iogb/lZMF/5OQBv+YlQb/k48G/5WOBv+Xjwb/kIkG/4uCBv+FfQT/g3wD/4N6Bf9/dQX/enEE/3Vu + BP90bgX/eHEG/393CP+BeQD/xMGO49vZ26SKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6RxMC+wNXW + zMZZfib/V4kY/16KGf9behX/W3AS/2JzD/9peQz/bHoL/3eACf+DiQj/io0H/46QFf+Aggj/gIED/4GC + BP+BgQX/j40F/5+dBv+hngX/lI8G/5WQBv+YkwX/kosF/5aOBf+VjAb/j4YF/4iABf+EewP/g3sE/4J4 + Bf9+dAT/d3AE/3JtBP9ybQT/d3IF/3x3B/+AeQD/wb6N49vY26SJiIXGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QxMC/wNbWzMZZfCP/WIYV/16KGP9ceRT/XG8Q/2FxDf9odwz/bXgK/3Z/CP+Bhwj/iYsH/42O + Ff9+gAf/f4AE/3+AA/+CgQT/ko8G/6CeBv+emQb/kowH/5WPBv+VkAX/kYkG/5eMBv+TiQX/jYMF/4d+ + BP+DegP/g3kE/4B2BP98cgT/dW4E/3BrA/9xbQT/dXEF/3t4Bv97dwD/vbqN49za26WJiIXGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QxcG/wNbXzcdXeiH/V4QT/16JFv9deRL/W24N/19wDP9ndAv/bHYJ/3V9 + B/+Bhgf/iIkH/4yNFv98fgX/fn4D/35+A/+DgAT/lJEF/6GeBv+alAb/kYkH/5WOBf+SiwX/kIcH/5aK + Bv+QhQX/i4EF/4Z8BP+CeAX/gXYF/35zBP96cAT/c2wE/29qA/9xbQP/dHEE/3t6Bf9zcAD/uriN493a + 26WKiIXGAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6Qx8PBwdbXzcdWeB//V4IS/16IE/9ceRD/WmwN/15u + C/9lcgn/anUH/3V8B/+BhAb/hocG/4uLGP96ewX/fH0E/3x8A/+EgQT/lZMF/6GdBv+Vjwb/kIgF/5ON + Bf+PhwX/kYYG/5OHBf+MggX/ioAE/4R5BP+BdwX/gHUE/3xyBP92bgT/cGsE/29qA/9wbAP/c3ED/3l4 + Bf9taQD/ubWN493a26WKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8PCwdjYzsdWdR//VX8P/12G + Ef9cdw7/WWoN/15sCv9jcQj/anMG/3R7Bv9/gwX/hIUG/4mJGf94eAP/ensE/3p6BP+FggT/l5QE/56b + Bf+PigX/j4YG/5CJBf+MgwX/kYUG/5CDBf+KfwT/iH8D/4F3Bf+AdQT/fnME/3pwBP9zbAT/cGoD/29q + A/9vbAP/dHID/3RzBf9nYgD/trOM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8TDwdjY + zsdVch3/U3oN/1yEEP9cdg3/WWkL/11rCP9icAf/aXEG/3N5Bv9+gQT/goQH/4aHGf91dgL/eHgF/3l4 + BP+GgwP/mZQF/5uXBf+MhQX/jYYF/42FBP+JgAT/j4ME/4uABP+JfgT/hXsE/390BP9/dAT/fHIE/3du + BP9yawP/b2oD/29rA/9vbAP/c3MD/25tA/9hXQD/tLKM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QycXEwdnZz8dUbxv/UnYM/1uBDv9cdQv/WWkJ/1tpB/9gbgX/aHEF/3J3Bv97fgP/gIII/4SF + GP9ycwL/dnYF/3h3BP+IhAT/mJQF/5aSBP+IggX/ioMF/4iAA/+IfwT/jYEE/4d9BP+HfgT/gXgE/39z + BP99cgT/enAE/3RtBP9wagP/bmoD/25rA/9wbQP/cXED/2lnAv9cWAD/s7CL497a3KaKiIbGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QysfFwdna0MhTbRn/UXIL/1t+Df9bdAr/WGgI/1pnB/9fbAb/Zm8F/3F2 + BP95fAL/f4EK/4KCFv9wcQL/dXQE/3d2BP+JhQT/mJQF/5GMBf+GfwX/hn8E/4N7BP+IfgT/iX4E/4V7 + A/+GfAT/fXQE/31yBP97cQT/d24E/3FrA/9uaQL/bWoC/21qAv9xbwP/bWwD/2RiA/9XVAD/sa6L5N/b + 3KiKiIbHAAAAjwAAAFoAAAA2AAAAGwAAADEODg6PysfFwdjYzsZRaRb/TW0G/1d6Cf9YcQb/VGUE/1dk + BP9caAP/ZGwB/25zAP92eQD/fX8K/31+Ev9sbQD/cXAB/3Z1Af+IhQL/lZEC/4uEAf+BewL/f3gB/393 + Av+EewH/hHoB/4N4Af+CeAH/eG8B/3lvAv93bgH/cmsC/21oAP9rZwD/a2cA/2tpAP9ubQD/ZmUA/2Bd + AP9STgD/rquJ497b3KeKiIbHAAAAjQAAAFgAAAA1AAAAGAAAACwQDw+MysbEv9LRx71WbR3+U3AP/1x7 + EP9ddQ7/WmoN/11pDv9jbQz/anEK/3N4C/96fAr/gYMX/36BGv9wcQj/dXQL/3t7DP+Niw3/l5QN/4qE + Df+Efg3/f3kM/4N8DP+IgAv/hnwM/4h/DP+CeQz/fXQM/310DP95cwz/dW8L/3JtCv9xbQn/cW0K/3Jx + Cv9xcAr/aWgL/2RiCv9WUgf/qaaH2tjV1aGMiojGAAAAiQAAAFIAAAAwAAAAFAAAACQLCwuCv7y4v9XR + y6PMzcDB0tTGzNTWx87V1sfO1NXHztXVx87V1cfP1tbHztjXx87Y18fO2dfIztfWx8zV1MXL1dPDytXU + w8nX1cPJ2NbDydbUw8jW08PI1dPDydbTw8nX1MPJ1tPDytfUxMrW1MTK1tPDytbTxMvW08TL1tTFy9bT + xcvV0sPL1NHDzNPRwszS0cLM0c/CzNHOwszJx7vFxsK7sM3IxJmEgoDGAAAAewAAAEYAAAAoAAAADgAA + ABoAAABTaWhmx9jUzrLg3Nmr4t3br+Ld26/j3tuv497br+Pf26/i39uw4d/br+He26/h3duv4Nvart7a + 2Kzc2Nap29bTqNnV0qfY1NGn2NPRp9jV0abZ1NGm2tTRpdnV0abZ1NKn2dTTqNrW1Kjb1tSo29bUqdzW + 1and2Nap3dnWqd3X1qra1tSq2NTTrNfU0qzX09Ks19PSrNfT0q3W0c+r0MvHp766tr0xMTC4AAAAVwAA + ADUAAAAeAAAACQAAABIAAAAnAAAAZzMzMqtPTk20TEtKs0tLSrRMS0q0TEtKtExLSrRMS0q0S0tKtEtL + SrRLS0q0S0tKs0tKSbNKSUmzS0pIs0pKSbNKSkizSkpIs0pKSLNLSUizS0pJsktKSbJLSkmzS0pJs0tK + SbNLSkmzTEpJs0xKSbNMSkmzTEpJs0xKSbNLSkmzS0pJs0tKSbNLSkmzS0pJs0tJSbNLSkm0TUxLth4d + HaMAAABeAAAAOAAAACUAAAATAAAABQAAAAsAAAAWAAAAIQAAAC0AAAA3AAAAOgAAADoAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADoAAAA7AAAAOgAAADMAAAArAAAAIQAAABUAAAALAAAAAgAAAAQAAAAJAAAADgAAABMAAAAXAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGAAAABcAAAATAAAADgAAAAgAAAAEAAAAAAAAAAEAAAACAAAABAAA + AAcAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAkAAAAHAAAABAAAAAIAAAABAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBIAAAAAAAPIEKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ABEAAABAAAAAVwAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABXAAAATAAA + AB8EBAQ+VlRQlXNybqFqamaeZ2dinWZkYJxqaGOdcG5pnXFwa550cm2feXRxn350c597cW+efHVwnU1K + RZgAAQFUFw4NUI+5uMNY4+b0Xt7b9Gbh2PRv59bzf/La9JP84vSx/+r0z//p9Nv/4vTP/930yv/Z9N// + ufKnp5OvAwEEZRkPDk6Eu7nPLtvX/zrbz/9F4Mn/VOrF/2Xuvf9y667/guWe/4nciP+K1Hf/jM5v/5bO + b/+v2HT/paeTuwQCBmIZDxBPirmy0D/Wwf9Q273/W9yt/2vZm/9x0IT/csZw/33Eav99tlT/fqdG/4Cb + QP+FjjH/mZAz/6SfjL0FBQhjGBAST5G6rtFOyqT/VsCS/1mze/9mrGv/ZqFZ/2WXRP9zmDT/bYIh/3V9 + HP96eBn/d28X/4p7Jf+kno3ABQYJYxkTFlCOq5vTPpFi/0eLV/9WlE//b51B/26NKv9tgBn/d4YX/3N+ + Ff+ChhX/gH0W/3ZuFP+FdyH/pZ+OwQYGCWMZFBhQkKiR1EuNRv9dlDr/bZgu/4CWHv98iBT/eoUR/4SQ + Ev+CihD/iYoP/4F9D/97cQ//hHYc/6Wgj8MGBgljGBQZUJasidReozD/Y40i/3OHGP+MlRX/gYgO/4iP + Df+RmA3/jZEM/42JCv+Cewr/gXQK/4l6F/+noo/EBgYJYxgUGlCXroXVWI8f/2J4Ff97iBD/jZIO/4OF + CP+TlQf/mJkI/5WSCP+PiAb/g3oF/31yBf+KfhP/p6OOxQYGCWMZFhtQlaOB1VeCFf9idRD/eoQK/4qM + C/+CggT/mJYF/5iVBv+WkAX/jIQF/4J4BP92bgP/h4AR/6ajjcYGBgljGRYcUJaif9ZYgA//YHAM/3d/ + CP+Ghwv/gIAE/5mVBv+UjQb/kogG/4h9BP99cwT/cGsB/4B+D/+joYzGBgYKYxoXHVCWoH7XU3cG/1tq + Bf9yeAL/fX4I/317AP+TjgH/ioIB/4p+Af+AdQD/dWwA/21pAP90cgn/oJ2MyAcHCmQaGB1RoaiK1maC + HP9teh3/gYYb/4mKIf+Nixr/m5Yb/5KKG/+Uihv/i4Eb/4F7Gv9+exf/fHoi/6WilMcHBwpjBgYHMXp5 + dKCcnZG2mZiNtJqZjbWZl4yzmJaIsJiWiLCYlYiwmZaJsZmVirGYlYqylpSJs5mXjbRqaGadAQEBPQAA + AAUAAAAeAAAAKgAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAArAAAAIwAA + AAoAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxB + + + \ No newline at end of file diff --git a/OnTopReplica/MainForm_ChildForms.cs b/OnTopReplica/MainForm_ChildForms.cs new file mode 100644 index 0000000..0e43ad9 --- /dev/null +++ b/OnTopReplica/MainForm_ChildForms.cs @@ -0,0 +1,105 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Drawing; + +namespace OnTopReplica { + partial class MainForm { + + EventHandler RequestClosingHandler; + + const int SidePanelMargin = 1; + + /// + /// Opens a new side panel. + /// + /// The side panel to embed. + public void SetSidePanel(SidePanel panel) { + if (_currentSidePanel != null) { + CloseSidePanel(); + } + + _currentSidePanel = panel; + _currentSidePanel.OnFirstShown(this); + + //Add and show + _sidePanelContainer.Controls.Add(panel); + _sidePanelContainer.Visible = _sidePanelContainer.Enabled = true; + panel.Show(); + + int intHorzMargin = panel.Margin.Horizontal + _sidePanelContainer.Padding.Horizontal; //internal margins for sidepanel + int intVertMargin = panel.Margin.Vertical + _sidePanelContainer.Padding.Vertical; + + //Resize container + _sidePanelContainer.ClientSize = new Size( + panel.MinimumSize.Width + intHorzMargin, + ClientSize.Height + ); + + int rightHorzMargin = _sidePanelContainer.Width + SidePanelMargin; //horz margin between the two controls + + //Resize rest + MinimumSize = new Size( + 20 + panel.MinimumSize.Width + SidePanelMargin + intHorzMargin, + panel.MinimumSize.Height + intVertMargin + ); + ClientSize = new Size( + ClientSize.Width + rightHorzMargin, + ClientSize.Height + ); + ExtraPadding = new Padding(0, 0, rightHorzMargin, 0); + _thumbnailPanel.Size = new Size( + ClientSize.Width - rightHorzMargin, + ClientSize.Height + ); + _sidePanelContainer.Location = new Point( + ClientSize.Width - rightHorzMargin, + 0 + ); + + //Move window if needed + FixPositionAndSize(); + + //Hook event listener + if (RequestClosingHandler == null) + RequestClosingHandler = new EventHandler(SidePanel_RequestClosing); + panel.RequestClosing += RequestClosingHandler; + } + + /// + /// Closes the current side panel. + /// + public void CloseSidePanel() { + if (_currentSidePanel == null) + return; + + //Unhook listener + _currentSidePanel.RequestClosing -= RequestClosingHandler; + + //Remove side panel + _currentSidePanel.OnClosing(this); + _sidePanelContainer.Controls.Clear(); + _sidePanelContainer.Visible = _sidePanelContainer.Enabled = false; + _currentSidePanel = null; + + //Resize + MinimumSize = new Size(20, 20); + ClientSize = new Size( + ClientSize.Width - _sidePanelContainer.Width - SidePanelMargin, + ClientSize.Height + ); + ExtraPadding = new Padding(0); + _thumbnailPanel.Size = ClientSize; + } + + void SidePanel_RequestClosing(object sender, EventArgs e) { + CloseSidePanel(); + } + + void Thumbnail_CloneClick(object sender, CloneClickEventArgs e) { + Win32Helper.InjectFakeMouseClick(CurrentThumbnailWindowHandle.Handle, e); + } + + } +} diff --git a/OnTopReplica/MainForm_Gui.cs b/OnTopReplica/MainForm_Gui.cs new file mode 100644 index 0000000..b460479 --- /dev/null +++ b/OnTopReplica/MainForm_Gui.cs @@ -0,0 +1,128 @@ +using System.Drawing; +using System.Windows.Forms; +using VistaControls.TaskDialog; + +namespace OnTopReplica { + partial class MainForm { + + /// + /// Opens the context menu. + /// + public void OpenContextMenu() { + if (IsFullscreen) { + menuFullscreenContext.Show(MousePosition); + } + else { + menuContext.Show(MousePosition); + } + } + + private Point RecenterLocation(Control original, Control final) { + int origX = original.Location.X + original.Size.Width / 2; + int origY = original.Location.Y + original.Size.Height / 2; + + int finX = origX - final.Size.Width / 2; + int finY = origY - final.Size.Height / 2; + + //Check boundaries + var screen = Screen.FromControl(final); + if (finX < screen.WorkingArea.X) + finX = screen.WorkingArea.X; + if (finX + final.Size.Width > screen.WorkingArea.Width) + finX = screen.WorkingArea.Width - final.Size.Width; + if (finY < screen.WorkingArea.Y) + finY = screen.WorkingArea.Y; + if (finY + final.Size.Height > screen.WorkingArea.Height) + finY = screen.WorkingArea.Height - final.Size.Height; + + return new Point(finX, finY); + } + + private int ChromeBorderVertical { + get { + if (FormBorderStyle == _defaultBorderStyle) + return SystemInformation.FrameBorderSize.Height; + else + return 0; + } + } + + private int ChromeBorderHorizontal { + get { + if (FormBorderStyle == _defaultBorderStyle) + return SystemInformation.FrameBorderSize.Width; + else + return 0; + } + } + + /// + /// Displays an error task dialog. + /// + /// Main instruction of the error dialog. + /// Detailed informations about the error. + /// Expanded error codes/messages. + private void ShowErrorDialog(string mainInstruction, string explanation, string errorMessage) { + TaskDialog dlg = new TaskDialog(mainInstruction, Strings.ErrorGenericTitle, explanation) { + CommonIcon = TaskDialogIcon.Stop, + IsExpanded = false + }; + + if (!string.IsNullOrEmpty(errorMessage)) { + dlg.ExpandedInformation = Strings.ErrorGenericInfoText + errorMessage; + dlg.ExpandedControlText = Strings.ErrorGenericInfoButton; + } + + dlg.Show(this); + } + + /// + /// Ensures that the main form is visible (either closing the fullscreen mode or reactivating from task icon). + /// + public void EnsureMainFormVisible() { + //Reset special modes + IsFullscreen = false; + ClickThroughEnabled = false; + Opacity = 1.0; + + //Restore main form in platform with dependent method + Program.Platform.RestoreForm(this); + } + + /// + /// Opens a confirmation dialog to confirm whether to reset the main form or not. + /// + public void ResetMainFormWithConfirmation() { + var dlg = new TaskDialog(Strings.AskReset, Strings.AskResetTitle, Strings.AskResetContent); + dlg.UseCommandLinks = true; + dlg.CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, Strings.AskResetButtonOk), + new CustomButton(Result.Cancel, Strings.ButtonCancel) + }; + dlg.CommonIcon = TaskDialogIcon.Information; + + if (dlg.Show(this).CommonButton == Result.OK) { + ResetMainForm(); + } + } + + /// + /// Resets the main form to its initial state. + /// + public void ResetMainForm() { + //Reset form settings + UnsetThumbnail(); + CloseSidePanel(); + + //Reset location and size (edge of the screen, min size) + Point nuLoc = Screen.PrimaryScreen.WorkingArea.Location; + nuLoc.Offset(40, 40); + Location = nuLoc; + Size = new Size(240, 220); + + this.Show(); + this.Activate(); + } + + } +} diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs new file mode 100644 index 0000000..c0fa130 --- /dev/null +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -0,0 +1,234 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using VistaControls.TaskDialog; + +namespace OnTopReplica { + partial class MainForm { + + private void Menu_opening(object sender, CancelEventArgs e) { + //Cancel if currently in "fullscreen" mode or a side panel is open + if (IsFullscreen || _currentSidePanel != null) { + e.Cancel = true; + return; + } + + bool showing = _thumbnailPanel.IsShowingThumbnail; + + selectRegionToolStripMenuItem.Enabled = showing; + switchToWindowToolStripMenuItem.Enabled = showing; + resizeToolStripMenuItem.Enabled = showing; + chromeToolStripMenuItem.Checked = (FormBorderStyle == _defaultBorderStyle); + clickForwardingToolStripMenuItem.Checked = _thumbnailPanel.ReportThumbnailClicks; + chromeToolStripMenuItem.Enabled = showing; + clickThroughToolStripMenuItem.Enabled = showing; + clickForwardingToolStripMenuItem.Enabled = showing; + + } + + private void Menu_Windows_opening(object sender, CancelEventArgs e) { + _windowManager.Refresh(WindowManager.EnumerationMode.TaskWindows); + WindowListHelper.PopulateMenu(this, _windowManager, (ToolStrip)sender, + CurrentThumbnailWindowHandle, new EventHandler(Menu_Windows_itemclick)); + } + + void Menu_Windows_itemclick(object sender, EventArgs e) { + //Ensure the menu is closed + menuContext.Close(); + menuFullscreenContext.Close(); + menuWindows.Close(); + + //Get clicked item and window index from tag + ToolStripItem tsi = (ToolStripItem)sender; + + //Handle special "none" window + if (tsi.Tag == null) { + UnsetThumbnail(); + return; + } + + var selectionData = (WindowListHelper.WindowSelectionData)tsi.Tag; + SetThumbnail(selectionData.Handle, selectionData.Region); + } + + private void Menu_Switch_click(object sender, EventArgs e) { + if (CurrentThumbnailWindowHandle == null) + return; + + Program.Platform.HideForm(this); + Native.WindowManagerMethods.SetForegroundWindow(CurrentThumbnailWindowHandle.Handle); + } + + private void Menu_GroupSwitchMode_click(object sender, EventArgs e) { + SetSidePanel(new SidePanels.GroupSwitchPanel()); + } + + private void Menu_ClickForwarding_click(object sender, EventArgs e) { + if (Settings.Default.FirstTimeClickForwarding && !_thumbnailPanel.ReportThumbnailClicks) { + TaskDialog dlg = new TaskDialog(Strings.InfoClickForwarding, Strings.InfoClickForwardingTitle, Strings.InfoClickForwardingContent) { + CommonButtons = TaskDialogButton.Yes | TaskDialogButton.No + }; + if (dlg.Show(this).CommonButton == Result.No) + return; + + Settings.Default.FirstTimeClickForwarding = false; + } + + _thumbnailPanel.ReportThumbnailClicks = !_thumbnailPanel.ReportThumbnailClicks; + } + + private void Menu_ClickThrough_click(object sender, EventArgs e) { + ClickThroughEnabled = true; + } + + private void Menu_Opacity_opening(object sender, CancelEventArgs e) { + ToolStripMenuItem[] items = { + toolStripMenuItem1, + toolStripMenuItem2, + toolStripMenuItem3, + toolStripMenuItem4 + }; + + foreach (ToolStripMenuItem i in items) { + if ((double)i.Tag == this.Opacity) + i.Checked = true; + else + i.Checked = false; + } + } + + private void Menu_Opacity_click(object sender, EventArgs e) { + //Get clicked menu item + ToolStripMenuItem tsi = sender as ToolStripMenuItem; + + if (tsi != null) { + //Get opacity from the tag + this.Opacity = (double)tsi.Tag; + } + } + + private void Menu_Region_click(object sender, EventArgs e) { + SetSidePanel(new OnTopReplica.SidePanels.RegionPanel()); + } + + private void Menu_Resize_opening(object sender, CancelEventArgs e) { + if (!_thumbnailPanel.IsShowingThumbnail) + e.Cancel = true; + } + + private void Menu_Resize_Double(object sender, EventArgs e) { + FitToThumbnail(2.0); + } + + private void Menu_Resize_FitToWindow(object sender, EventArgs e) { + FitToThumbnail(1.0); + } + + private void Menu_Resize_Half(object sender, EventArgs e) { + FitToThumbnail(0.5); + } + + private void Menu_Resize_Quarter(object sender, EventArgs e) { + FitToThumbnail(0.25); + } + + private void Menu_Resize_Fullscreen(object sender, EventArgs e) { + IsFullscreen = true; + } + + private void Menu_Position_TopLeft(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Left - ChromeBorderHorizontal, + screen.WorkingArea.Top - ChromeBorderVertical + ); + } + + private void Menu_Position_TopRight(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, + screen.WorkingArea.Top - ChromeBorderVertical + ); + } + + private void Menu_Position_BottomLeft(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Left - ChromeBorderHorizontal, + screen.WorkingArea.Height - Size.Height + ChromeBorderVertical + ); + } + + private void Menu_Position_BottomRight(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, + screen.WorkingArea.Height - Size.Height + ChromeBorderVertical + ); + } + + private void Menu_Reduce_click(object sender, EventArgs e) { + //Hide form in a platform specific way + Program.Platform.HideForm(this); + } + + private void Menu_Chrome_click(object sender, EventArgs e) { + if (FormBorderStyle == _defaultBorderStyle) { + FormBorderStyle = FormBorderStyle.None; + Location = new Point { + X = Location.X + SystemInformation.FrameBorderSize.Width, + Y = Location.Y + SystemInformation.FrameBorderSize.Height + }; + } + else { + FormBorderStyle = _defaultBorderStyle; + Location = new Point { + X = Location.X - SystemInformation.FrameBorderSize.Width, + Y = Location.Y - SystemInformation.FrameBorderSize.Height + }; + } + + Program.Platform.OnFormStateChange(this); + Invalidate(); + } + + private void Menu_Language_click(object sender, EventArgs e) { + ToolStripItem tsi = (ToolStripItem)sender; + + string langCode = tsi.Tag as string; + + if (Program.ForceGlobalLanguageChange(langCode)) + this.Close(); + else + MessageBox.Show("Error"); + } + + private void Menu_About_click(object sender, EventArgs e) { + this.Hide(); + + using (var box = new AboutForm()) { + box.Location = RecenterLocation(this, box); + box.ShowDialog(); + Location = RecenterLocation(box, this); + } + + this.Show(); + } + + private void Menu_Close_click(object sender, EventArgs e) { + this.Close(); + } + + private void Menu_Fullscreen_ExitFullscreen_click(object sender, EventArgs e) { + IsFullscreen = false; + } + + } +} diff --git a/OnTopReplica/MessagePumpManager.cs b/OnTopReplica/MessagePumpManager.cs new file mode 100644 index 0000000..1ab23b7 --- /dev/null +++ b/OnTopReplica/MessagePumpManager.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Reflection; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica { + class MessagePumpManager : IDisposable { + + Dictionary _processors = new Dictionary(); + + public MainForm Form { get; private set; } + + /// + /// Instantiates all message pump processors and registers them on the main form. + /// + /// + public void Initialize(MainForm form) { + Form = form; + + //Register window shell hook + if (!HookMethods.RegisterShellHookWindow(form.Handle)) { + Console.Error.WriteLine("Failed to register shell hook window."); + } + else { +#if DEBUG + Console.WriteLine("Shell hook window registered successfully."); +#endif + } + + foreach (var t in Assembly.GetExecutingAssembly().GetTypes()) { + if (typeof(IMessagePumpProcessor).IsAssignableFrom(t) && !t.IsAbstract) { + var instance = (IMessagePumpProcessor)Activator.CreateInstance(t); + instance.Initialize(form); + + _processors[t] = instance; + +#if DEBUG + Console.WriteLine("Registered message pump processor: {0}", t); +#endif + } + } + } + + /// + /// Run the registered message pump processors. + /// + /// Message to process. + /// True if the message has been handled internally. + public bool PumpMessage(ref Message msg) { + foreach (var processor in _processors.Values) { + if (processor.Process(ref msg)) + return true; + } + + return false; + } + + /// + /// Get the instance of a registered message pump processor. + /// Throws if instance not found. + /// + public T Get() { + return (T)_processors[typeof(T)]; + } + + #region IDisposable Members + + public void Dispose() { + if (!HookMethods.DeregisterShellHookWindow(Form.Handle)) { + Console.Error.WriteLine("Failed to deregister shell hook window."); + } + + foreach (var processor in _processors.Values) { + processor.Dispose(); + } + _processors.Clear(); + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs new file mode 100644 index 0000000..b5f13d7 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.MessagePumpProcessors { + abstract class BaseMessagePumpProcessor : IMessagePumpProcessor { + + protected MainForm Form { get; private set; } + + #region IMessagePumpProcessor Members + + public void Initialize(MainForm form) { + Form = form; + } + + public abstract bool Process(ref Message msg); + + #endregion + + bool _isDisposed = false; + + protected abstract void Shutdown(); + + #region IDisposable Members + + public void Dispose() { + if (_isDisposed) + return; + + Shutdown(); + + _isDisposed = true; + } + + #endregion + + } +} diff --git a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs new file mode 100644 index 0000000..2bfd3e9 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs @@ -0,0 +1,143 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Diagnostics; +using System.Reflection; +using System.IO; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + class GroupSwitchManager : BaseMessagePumpProcessor { + + bool _active = false; + List _lruHandles; + + /// + /// Enables group switch mode. + /// + /// List of window handles to track. + public void EnableGroupMode(IList handles) { + if (handles == null || handles.Count == 0) + return; + + //Okey dokey, will now track handles + TrackHandles(handles); + _active = true; + } + + /// + /// Initializes the LRU sorted list of window handles. + /// + private void TrackHandles(IList handles) { + _lruHandles = new List(handles.Count); + var now = DateTime.Now; + + foreach(var h in handles){ + _lruHandles.Add(new WindowHandleWrapper { + WindowHandle = h, + LastTimeUsed = now + }); + } + } + + /// + /// Disables group switch mode. + /// + public void Disable() { + if (!_active) + return; + + _lruHandles = null; + _active = false; + } + + /// + /// Processes the message pump. + /// + public override bool Process(ref Message msg) { + if (_active && msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + if (hookCode == HookMethods.HSHELL_WINDOWACTIVATED || + hookCode == HookMethods.HSHELL_RUDEAPPACTIVATED) { + + IntPtr activeHandle = msg.LParam; + HandleForegroundWindowChange(activeHandle); + } + } + + return false; + } + + private void HandleForegroundWindowChange(IntPtr activeWindow) { +#if DEBUG + Console.Write("New active window (h {0}). ", activeWindow); +#endif + + //Seek window in tracked handles + WindowHandleWrapper activated = null; + foreach (var i in _lruHandles) { + if (i.WindowHandle.Handle == activeWindow) + activated = i; + } + + if (activated == null) { +#if DEBUG + //new foreground window is not tracked + Console.WriteLine("Active window is not tracked."); +#endif + return; + } + + //Update tracked handle + activated.LastTimeUsed = DateTime.Now; + _lruHandles.Sort(new LruDateTimeComparer()); + + //Get least recently used + var next = _lruHandles[0]; + +#if DEBUG + Console.WriteLine("Tracked. Switching to {0} (last use: {1}).", next.WindowHandle.Title, next.LastTimeUsed); +#endif + + Form.SetThumbnail(next.WindowHandle, null); + } + + protected override void Shutdown() { + Disable(); + } + + /// + /// Gets whether the group switch manager ia active. + /// + public bool IsActive { + get { + return _active; + } + } + + #region List sorting stuff + + class WindowHandleWrapper { + public WindowHandle WindowHandle { get; set; } + public DateTime LastTimeUsed { get; set; } + } + + class LruDateTimeComparer : IComparer { + + #region IComparer Members + + public int Compare(WindowHandleWrapper x, WindowHandleWrapper y) { + return x.LastTimeUsed.CompareTo(y.LastTimeUsed); + } + + #endregion + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs new file mode 100644 index 0000000..0acbe33 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// HotKey registration helper. + /// + class HotKeyManager : BaseMessagePumpProcessor { + + int _lastUsedKey = 0; + + Dictionary _handlers = new Dictionary(); + + public void RegisterHotKey(HotKeyModifiers mod, Keys keys, HotKeyMethods.HotKeyHandler handler) { + var newKey = ++_lastUsedKey; + + if (!HotKeyMethods.RegisterHotKey(Form.Handle, newKey, (int)mod, (int)keys)) { + Console.Error.WriteLine("Failed to register {0} hot key.", newKey); + return; + } + + _handlers[newKey] = handler; + } + + public override bool Process(ref Message msg) { + if (msg.Msg == HotKeyMethods.WM_HOTKEY) { + int keyId = msg.WParam.ToInt32(); + if (!_handlers.ContainsKey(keyId)) + return false; + + _handlers[keyId].Invoke(); + } + + return false; + } + + protected override void Shutdown() { + foreach (var key in _handlers.Keys) { + if (!HotKeyMethods.UnregisterHotKey(Form.Handle, key)) { + Console.Error.WriteLine("Failed to unregister {0} hot key.", key); + } + } + } + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/TitleSetter.cs b/OnTopReplica/MessagePumpProcessors/TitleSetter.cs new file mode 100644 index 0000000..23433bd --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/TitleSetter.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; +using System.Runtime.InteropServices; + +namespace OnTopReplica.MessagePumpProcessors { + class TitleSetter : BaseMessagePumpProcessor { + + const string Title = "OnTopReplica"; + + public override bool Process(ref Message msg) { + switch (msg.Msg) { + case WM.GETTEXT: { + Console.WriteLine("GetText"); + int maxLen = msg.WParam.ToInt32(); + byte[] strBytes = Encoding.UTF8.GetBytes(Title); + byte[] termBytes = new byte[strBytes.Length + 1]; + strBytes.CopyTo(termBytes, 0); + termBytes[strBytes.Length] = 0; + + Marshal.Copy(termBytes, 0, msg.LParam, Math.Min(maxLen, Title.Length + 1)); + } + goto case WM.GETTEXTLENGTH; + + case WM.GETTEXTLENGTH: + Console.WriteLine("GetTextLength"); + msg.Result = (IntPtr)Title.Length; + return true; + } + + return false; + } + + protected override void Shutdown() { + + } + + } +} diff --git a/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs new file mode 100644 index 0000000..4877931 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// Listens for shell events and closes the thumbnail if a cloned window is destroyed. + /// + class WindowKeeper : BaseMessagePumpProcessor { + + public override bool Process(ref Message msg) { + if (Form.CurrentThumbnailWindowHandle != null && + msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + if (hookCode == HookMethods.HSHELL_WINDOWDESTROYED) { + //Check whether the destroyed window is the one we were cloning + IntPtr destroyedHandle = msg.LParam; + if (destroyedHandle == Form.CurrentThumbnailWindowHandle.Handle) { + //Disable group switch mode, since a window of the group has been destroyed + Form.MessagePumpManager.Get().Disable(); + + //Disable cloning + Form.UnsetThumbnail(); + } + } + } + + return false; + } + + protected override void Shutdown() { + + } + } + +} diff --git a/OnTopReplica/Native/CommonControls.cs b/OnTopReplica/Native/CommonControls.cs new file mode 100644 index 0000000..bf2123c --- /dev/null +++ b/OnTopReplica/Native/CommonControls.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + public static class CommonControls { + + [DllImport("comctl32.dll", EntryPoint = "InitCommonControlsEx", CallingConvention = CallingConvention.StdCall)] + static extern bool InitCommonControlsEx(ref INITCOMMONCONTROLSEX iccex); + + const int ICC_STANDARD_CLASSES = 0x00004000; + const int ICC_WIN95_CLASSES = 0x000000FF; + + public static bool InitStandard() { + INITCOMMONCONTROLSEX ex = new INITCOMMONCONTROLSEX(); + ex.dwSize = 8; + ex.dwICC = ICC_STANDARD_CLASSES | ICC_WIN95_CLASSES; + + return InitCommonControlsEx(ref ex); + } + + } + + struct INITCOMMONCONTROLSEX { + public int dwSize; + public int dwICC; + } + +} diff --git a/OnTopReplica/Native/ErrorMethods.cs b/OnTopReplica/Native/ErrorMethods.cs new file mode 100644 index 0000000..f1863eb --- /dev/null +++ b/OnTopReplica/Native/ErrorMethods.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 error handling methods. + /// + static class ErrorMethods { + + [DllImport("kernel32.dll")] + static extern uint FormatMessage(uint dwFlags, IntPtr lpSource, + int dwMessageId, uint dwLanguageId, [Out] StringBuilder lpBuffer, + uint nSize, IntPtr Arguments); + + /// + /// Gets a string representation of a Win32 error code. + /// + /// ID of the Win32 error code. + /// String representation of the error. + public static string GetErrorMessage(int msgCode) { + var sb = new StringBuilder(300); + FormatMessage((uint)(0x00001000), IntPtr.Zero, msgCode, 0, sb, 299, IntPtr.Zero); + return sb.ToString(); + } + + /// + /// Gets a string representation of the last Win32 error on this thread. + /// + public static string GetLastErrorMessage() { + int errorCode = Marshal.GetLastWin32Error(); + return GetErrorMessage(errorCode); + } + + } +} diff --git a/OnTopReplica/Native/HT.cs b/OnTopReplica/Native/HT.cs new file mode 100644 index 0000000..231e928 --- /dev/null +++ b/OnTopReplica/Native/HT.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Win32 Hit Testing codes. + /// + static class HT { + public const int TRANSPARENT = -1; + public const int CLIENT = 1; + public const int CAPTION = 2; + } +} diff --git a/OnTopReplica/Native/HookMethods.cs b/OnTopReplica/Native/HookMethods.cs new file mode 100644 index 0000000..3b6f7fc --- /dev/null +++ b/OnTopReplica/Native/HookMethods.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + + /// + /// Helpers for interop with native Windows hooks. + /// + static class HookMethods { + + static HookMethods() { + WM_SHELLHOOKMESSAGE = RegisterWindowMessage("SHELLHOOK"); + if (WM_SHELLHOOKMESSAGE == 0) + Console.Error.WriteLine("Failed to register SHELLHOOK Windows message."); + } + + public static int WM_SHELLHOOKMESSAGE { + get; + private set; + } + + public const int HSHELL_WINDOWACTIVATED = 4; + public const int HSHELL_RUDEAPPACTIVATED = HSHELL_WINDOWACTIVATED | HSHELL_HIGHBIT; + const int HSHELL_HIGHBIT = 0x8000; + public const int HSHELL_WINDOWDESTROYED = 2; + public const int HSHELL_WINDOWCREATED = 1; + + /// + /// Registers the WM_ID for a window message. + /// + /// Name of the window message. + [DllImport("User32.dll")] + public static extern int RegisterWindowMessage(string wndMessageName); + + /// + /// Registers a window as a shell hook window. + /// + [DllImport("User32.dll")] + public static extern bool RegisterShellHookWindow(IntPtr hwnd); + + /// + /// Deregisters a window as a shell hook window. + /// + [DllImport("User32.dll")] + public static extern bool DeregisterShellHookWindow(IntPtr hwnd); + + } +} diff --git a/OnTopReplica/Native/HotKeyMethods.cs b/OnTopReplica/Native/HotKeyMethods.cs new file mode 100644 index 0000000..8aea7f1 --- /dev/null +++ b/OnTopReplica/Native/HotKeyMethods.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Windows.Forms; + +namespace OnTopReplica.Native { + + [Flags] + public enum HotKeyModifiers : int { + Alt = 0x1, + Control = 0x2, + Shift = 0x4, + Windows = 0x8 + } + + static class HotKeyMethods { + + public delegate void HotKeyHandler(); + + public const int WM_HOTKEY = 0x312; + + [DllImport("user32.dll")] + public static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vlc); + + [DllImport("user32.dll")] + public static extern bool UnregisterHotKey(IntPtr hWnd, int id); + + public delegate void FormDelegate(HotKeyModifiers mod, Keys key, HotKeyHandler handler); + + } +} diff --git a/OnTopReplica/Native/ITaskBarList.cs b/OnTopReplica/Native/ITaskBarList.cs new file mode 100644 index 0000000..e4a53bb --- /dev/null +++ b/OnTopReplica/Native/ITaskBarList.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + [ComImport, + Guid("56fdf342-fd6d-11d0-958a-006097c9a090"), + InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] + public interface ITaskbarList { + /// + /// Initializes the taskbar list object. This method must be called before any other ITaskbarList methods can be called. + /// + void HrInit(); + + /// + /// Adds an item to the taskbar. + /// + /// A handle to the window to be added to the taskbar. + void AddTab([In] IntPtr hWnd); + + /// + /// Deletes an item from the taskbar. + /// + /// A handle to the window to be deleted from the taskbar. + void DeleteTab([In] IntPtr hWnd); + + /// + /// Activates an item on the taskbar. The window is not actually activated; the window's item on the taskbar is merely displayed as active. + /// + /// A handle to the window on the taskbar to be displayed as active. + void ActivateTab([In] IntPtr hWnd); + + /// + /// Marks a taskbar item as active but does not visually activate it. + /// + /// A handle to the window to be marked as active. + void SetActiveAlt([In] IntPtr hWnd); + } + + [ComImport] + [Guid("56fdf344-fd6d-11d0-958a-006097c9a090")] + public class CoTaskbarList { + } +} diff --git a/OnTopReplica/Native/MK.cs b/OnTopReplica/Native/MK.cs new file mode 100644 index 0000000..90c7e90 --- /dev/null +++ b/OnTopReplica/Native/MK.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Mouse click codes. + /// + static class MK { + public const int LBUTTON = 0x0001; + public const int RBUTTON = 0x0002; + public const int MBUTTON = 0x0010; + } +} diff --git a/OnTopReplica/Native/MessagingMethods.cs b/OnTopReplica/Native/MessagingMethods.cs new file mode 100644 index 0000000..cabe03e --- /dev/null +++ b/OnTopReplica/Native/MessagingMethods.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common methods for Win32 messaging. + /// + static class MessagingMethods { + + [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)] + public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + [Flags] + public enum SendMessageTimeoutFlags : uint { + AbortIfHung = 2, + Block = 1, + Normal = 0 + } + + [DllImport("user32.dll")] + public static extern IntPtr SendMessageTimeout(IntPtr hwnd, uint message, IntPtr wparam, IntPtr lparam, SendMessageTimeoutFlags flags, uint timeout, out IntPtr result); + + [return: MarshalAs(UnmanagedType.Bool)] + [DllImport("user32.dll", SetLastError = false)] + public static extern bool PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + public static IntPtr MakeLParam(int LoWord, int HiWord) { + return new IntPtr((HiWord << 16) | (LoWord & 0xffff)); + } + + } +} diff --git a/OnTopReplica/Native/Point.cs b/OnTopReplica/Native/Point.cs new file mode 100644 index 0000000..c34db85 --- /dev/null +++ b/OnTopReplica/Native/Point.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Native Point structure. + /// + [StructLayout(LayoutKind.Sequential)] + public struct NPoint { + public int X, Y; + + public NPoint(int x, int y) { + X = x; + Y = y; + } + + public NPoint(NPoint copy) { + X = copy.X; + Y = copy.Y; + } + + public static NPoint FromPoint(System.Drawing.Point point) { + return new NPoint(point.X, point.Y); + } + + public System.Drawing.Point ToPoint() { + return new System.Drawing.Point(X, Y); + } + + public override string ToString() { + return "{" + X + "," + Y + "}"; + } + } +} diff --git a/OnTopReplica/Native/Rectangle.cs b/OnTopReplica/Native/Rectangle.cs new file mode 100644 index 0000000..4934198 --- /dev/null +++ b/OnTopReplica/Native/Rectangle.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// A native Rectangle Structure. + [StructLayout(LayoutKind.Sequential)] + struct NRectangle { + public NRectangle(int left, int top, int right, int bottom) { + Left = left; + Top = top; + Right = right; + Bottom = bottom; + } + + public NRectangle(System.Drawing.Rectangle rect) { + Left = rect.X; + Top = rect.Y; + Right = rect.Right; + Bottom = rect.Bottom; + } + + public int Left; + public int Top; + public int Right; + public int Bottom; + + public int Width { + get { + return Right - Left; + } + } + public int Height { + get { + return Bottom - Top; + } + } + + public System.Drawing.Rectangle ToRectangle() { + return new System.Drawing.Rectangle(Left, Top, Right - Left, Bottom - Top); + } + + public System.Drawing.Size Size { + get { + return new System.Drawing.Size(Width, Height); + } + } + + } +} diff --git a/OnTopReplica/Native/WM.cs b/OnTopReplica/Native/WM.cs new file mode 100644 index 0000000..eddcd01 --- /dev/null +++ b/OnTopReplica/Native/WM.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Windows Message codes. + /// + static class WM { + public const int GETICON = 0x7f; + public const int SIZING = 0x214; + public const int NCHITTEST = 0x84; + public const int NCPAINT = 0x0085; + public const int LBUTTONDOWN = 0x0201; + public const int LBUTTONUP = 0x0202; + public const int LBUTTONDBLCLK = 0x0203; + public const int RBUTTONDOWN = 0x0204; + public const int RBUTTONUP = 0x0205; + public const int RBUTTONDBLCLK = 0x0206; + public const int NCLBUTTONUP = 0x00A2; + public const int NCLBUTTONDOWN = 0x00A1; + public const int NCLBUTTONDBLCLK = 0x00A3; + public const int NCRBUTTONUP = 0x00A5; + public const int SYSCOMMAND = 0x0112; + public const int GETTEXT = 0x000D; + public const int GETTEXTLENGTH = 0x000E; + } +} diff --git a/OnTopReplica/Native/WMSZ.cs b/OnTopReplica/Native/WMSZ.cs new file mode 100644 index 0000000..2052280 --- /dev/null +++ b/OnTopReplica/Native/WMSZ.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Win32 sizing codes (used by WM_SIZING message). + /// + static class WMSZ { + public const int LEFT = 1; + public const int RIGHT = 2; + public const int TOP = 3; + public const int BOTTOM = 6; + } +} diff --git a/OnTopReplica/Native/WindowManagerMethods.cs b/OnTopReplica/Native/WindowManagerMethods.cs new file mode 100644 index 0000000..967f2a6 --- /dev/null +++ b/OnTopReplica/Native/WindowManagerMethods.cs @@ -0,0 +1,88 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 Window Manager native methods. + /// + static class WindowManagerMethods { + + [DllImport("user32.dll")] + public static extern IntPtr GetForegroundWindow(); + + [DllImport("user32.dll")] + public static extern IntPtr RealChildWindowFromPoint(IntPtr parent, NPoint point); + + [return: MarshalAs(UnmanagedType.Bool)] + public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool IsWindowVisible(IntPtr hWnd); + + [DllImport("user32.dll")] + public static extern IntPtr GetDesktopWindow(); + + [DllImport("user32.dll")] + static extern bool ClientToScreen(IntPtr hwnd, ref NPoint point); + + /// + /// Converts a point in client coordinates of a window to screen coordinates. + /// + /// Handle to the window of the original point. + /// Point expressed in client coordinates. + /// Point expressed in screen coordinates. + public static NPoint ClientToScreen(IntPtr hwnd, NPoint clientPoint) { + NPoint localCopy = new NPoint(clientPoint); + + if (ClientToScreen(hwnd, ref localCopy)) + return localCopy; + else + return new NPoint(); + } + + [DllImport("user32.dll")] + static extern bool ScreenToClient(IntPtr hwnd, ref NPoint point); + + /// + /// Converts a point in screen coordinates in client coordinates relative to a window. + /// + /// Handle of the window whose client coordinate system should be used. + /// Point expressed in screen coordinates. + /// Point expressed in client coordinates. + public static NPoint ScreenToClient(IntPtr hwnd, NPoint screenPoint) { + NPoint localCopy = new NPoint(screenPoint); + + if (ScreenToClient(hwnd, ref localCopy)) + return localCopy; + else + return new NPoint(); + } + + [DllImport("user32.dll", CharSet = CharSet.Auto)] + public static extern IntPtr GetParent(IntPtr hWnd); + + [DllImport("user32.dll", SetLastError = false)] + public static extern bool SetForegroundWindow(IntPtr hwnd); + + public enum GetWindowMode : uint { + GW_HWNDFIRST = 0, + GW_HWNDLAST = 1, + GW_HWNDNEXT = 2, + GW_HWNDPREV = 3, + GW_OWNER = 4, + GW_CHILD = 5, + GW_ENABLEDPOPUP = 6 + } + + [DllImport("user32.dll")] + public static extern IntPtr GetWindow(IntPtr hwnd, GetWindowMode mode); + + } +} diff --git a/OnTopReplica/Native/WindowMethods.cs b/OnTopReplica/Native/WindowMethods.cs new file mode 100644 index 0000000..7a34af6 --- /dev/null +++ b/OnTopReplica/Native/WindowMethods.cs @@ -0,0 +1,127 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 methods for operating on windows. + /// + static class WindowMethods { + + [DllImport("user32.dll", SetLastError = true)] + public static extern bool GetClientRect(IntPtr handle, out NRectangle rect); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern int GetWindowTextLength(IntPtr hWnd); + + /// + /// Gets a window's text via API call. + /// + /// Window handle. + /// Title of the window. + public static string GetWindowText(IntPtr hwnd) { + int length = GetWindowTextLength(hwnd); + + if (length > 0) { + StringBuilder sb = new StringBuilder(length + 1); + if (WindowMethods.GetWindowText(hwnd, sb, sb.Capacity) > 0) + return sb.ToString(); + else + return String.Empty; + } + else + return String.Empty; + } + + public enum WindowLong { + WndProc = (-4), + HInstance = (-6), + HwndParent = (-8), + Style = (-16), + ExStyle = (-20), + UserData = (-21), + Id = (-12) + } + + public enum ClassLong { + Icon = -14, + IconSmall = -34 + } + + [Flags] + public enum WindowStyles : long { + None = 0, + Disabled = 0x8000000L, + Minimize = 0x20000000L, + MinimizeBox = 0x20000L, + Visible = 0x10000000L + } + + [Flags] + public enum WindowExStyles : long { + AppWindow = 0x40000, + Layered = 0x80000, + NoActivate = 0x8000000L, + ToolWindow = 0x80, + TopMost = 8, + Transparent = 0x20 + } + + public static IntPtr GetWindowLong(IntPtr hWnd, WindowLong i) { + if (IntPtr.Size == 8) { + return GetWindowLongPtr64(hWnd, i); + } + else { + return new IntPtr(GetWindowLong32(hWnd, i)); + } + } + + [DllImport("user32.dll", EntryPoint = "GetWindowLong")] + static extern int GetWindowLong32(IntPtr hWnd, WindowLong nIndex); + + [DllImport("user32.dll", EntryPoint = "GetWindowLongPtr")] + static extern IntPtr GetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex); + + public static IntPtr SetWindowLong(IntPtr hWnd, WindowLong i, IntPtr dwNewLong) { + if (IntPtr.Size == 8) { + return SetWindowLongPtr64(hWnd, i, dwNewLong); + } + else { + return new IntPtr(SetWindowLong32(hWnd, i, dwNewLong.ToInt32())); + } + } + + [DllImport("user32.dll", EntryPoint = "SetWindowLong")] + static extern int SetWindowLong32(IntPtr hWnd, WindowLong nIndex, int dwNewLong); + + [DllImport("user32.dll", EntryPoint = "SetWindowLongPtr")] + static extern IntPtr SetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex, IntPtr dwNewLong); + + #region Class styles + + [DllImport("user32.dll", EntryPoint = "GetClassLongPtrW")] + static extern IntPtr GetClassLong64(IntPtr hWnd, int nIndex); + + [DllImport("user32.dll", EntryPoint = "GetClassLongW")] + static extern int GetClassLong32(IntPtr hWnd, int nIndex); + + public static IntPtr GetClassLong(IntPtr hWnd, ClassLong i) { + if (IntPtr.Size == 8) { + return GetClassLong64(hWnd, (int)i); + } + else { + return new IntPtr(GetClassLong32(hWnd, (int)i)); + } + } + + #endregion + + [DllImport("user32.dll")] + public static extern IntPtr GetMenu(IntPtr hwnd); + + } +} diff --git a/OnTopReplica/Native/WindowsSevenMethods.cs b/OnTopReplica/Native/WindowsSevenMethods.cs new file mode 100644 index 0000000..587bf95 --- /dev/null +++ b/OnTopReplica/Native/WindowsSevenMethods.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + + static class WindowsSevenMethods { + + [DllImport("shell32.dll")] + internal static extern void SetCurrentProcessExplicitAppUserModelID( + [MarshalAs(UnmanagedType.LPWStr)] string AppID); + + [DllImport("shell32.dll")] + internal static extern void GetCurrentProcessExplicitAppUserModelID( + [Out(), MarshalAs(UnmanagedType.LPWStr)] out string AppID); + + } + +} diff --git a/OnTopReplica/NativeToolStripRenderer.cs b/OnTopReplica/NativeToolStripRenderer.cs new file mode 100644 index 0000000..b4d94f3 --- /dev/null +++ b/OnTopReplica/NativeToolStripRenderer.cs @@ -0,0 +1,587 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Diagnostics.CodeAnalysis; +using System.Windows.Forms; +using System.Windows.Forms.VisualStyles; +using System.Runtime.InteropServices; + +namespace Asztal.Szótár { + public enum ToolbarTheme { + Toolbar, + MediaToolbar, + CommunicationsToolbar, + BrowserTabBar + } + + /// + /// Renders a toolstrip using the UxTheme API via VisualStyleRenderer. Visual styles must be supported for this to work; if you need to support other operating systems use + /// + class UXThemeToolStripRenderer : ToolStripSystemRenderer { + /// + /// It shouldn't be necessary to P/Invoke like this, however a bug in VisualStyleRenderer.GetMargins forces my hand. + /// + static internal class NativeMethods { + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct MARGINS { + public int cxLeftWidth; + public int cxRightWidth; + public int cyTopHeight; + public int cyBottomHeight; + } + + [DllImport("uxtheme", ExactSpelling = true)] + public extern static Int32 GetThemeMargins(IntPtr hTheme, IntPtr hdc, int iPartId, int iStateId, int iPropId, IntPtr rect, out MARGINS pMargins); + } + + //See http://msdn2.microsoft.com/en-us/library/bb773210.aspx - "Parts and States" + #region Parts and States + enum MenuParts : int { + MENU_MENUITEM_TMSCHEMA = 1, + MENU_MENUDROPDOWN_TMSCHEMA = 2, + MENU_MENUBARITEM_TMSCHEMA = 3, + MENU_MENUBARDROPDOWN_TMSCHEMA = 4, + MENU_CHEVRON_TMSCHEMA = 5, + MENU_SEPARATOR_TMSCHEMA = 6, + MENU_BARBACKGROUND = 7, + MENU_BARITEM = 8, + MENU_POPUPBACKGROUND = 9, + MENU_POPUPBORDERS = 10, + MENU_POPUPCHECK = 11, + MENU_POPUPCHECKBACKGROUND = 12, + MENU_POPUPGUTTER = 13, + MENU_POPUPITEM = 14, + MENU_POPUPSEPARATOR = 15, + MENU_POPUPSUBMENU = 16, + MENU_SYSTEMCLOSE = 17, + MENU_SYSTEMMAXIMIZE = 18, + MENU_SYSTEMMINIMIZE = 19, + MENU_SYSTEMRESTORE = 20 + } + + enum MenuBarStates : int { + MB_ACTIVE = 1, + MB_INACTIVE = 2 + } + + enum MenuBarItemStates : int { + MBI_NORMAL = 1, + MBI_HOT = 2, + MBI_PUSHED = 3, + MBI_DISABLED = 4, + MBI_DISABLEDHOT = 5, + MBI_DISABLEDPUSHED = 6 + } + + enum MenuPopupItemStates : int { + MPI_NORMAL = 1, + MPI_HOT = 2, + MPI_DISABLED = 3, + MPI_DISABLEDHOT = 4 + } + + enum MenuPopupCheckStates : int { + MC_CHECKMARKNORMAL = 1, + MC_CHECKMARKDISABLED = 2, + MC_BULLETNORMAL = 3, + MC_BULLETDISABLED = 4 + } + + enum MenuPopupCheckBackgroundStates : int { + MCB_DISABLED = 1, + MCB_NORMAL = 2, + MCB_BITMAP = 3 + } + + enum MenuPopupSubMenuStates : int { + MSM_NORMAL = 1, + MSM_DISABLED = 2 + } + + enum MarginTypes : int { + TMT_SIZINGMARGINS = 3601, + TMT_CONTENTMARGINS = 3602, + TMT_CAPTIONMARGINS = 3603 + } + + const int RP_BACKGROUND = 6; + #endregion + + #region Theme helpers + Padding GetThemeMargins(IDeviceContext dc, MarginTypes marginType) { + NativeMethods.MARGINS margins; + try { + IntPtr hDC = dc.GetHdc(); + if (0 == NativeMethods.GetThemeMargins(renderer.Handle, hDC, renderer.Part, renderer.State, (int)marginType, IntPtr.Zero, out margins)) + return new Padding(margins.cxLeftWidth, margins.cyTopHeight, margins.cxRightWidth, margins.cyBottomHeight); + return new Padding(-1); + } finally { + dc.ReleaseHdc(); + } + } + + private static int GetItemState(ToolStripItem item) { + bool pressed = item.Pressed; + bool hot = item.Selected; + + if (item.Owner.IsDropDown) { + if (item.Enabled) + return hot ? (int)MenuPopupItemStates.MPI_HOT : (int)MenuPopupItemStates.MPI_NORMAL; + return hot ? (int)MenuPopupItemStates.MPI_DISABLEDHOT : (int)MenuPopupItemStates.MPI_DISABLED; + } else { + if (pressed) + return item.Enabled ? (int)MenuBarItemStates.MBI_PUSHED : (int)MenuBarItemStates.MBI_DISABLEDPUSHED; + if (item.Enabled) + return hot ? (int)MenuBarItemStates.MBI_HOT : (int)MenuBarItemStates.MBI_NORMAL; + return hot ? (int)MenuBarItemStates.MBI_DISABLEDHOT : (int)MenuBarItemStates.MBI_DISABLED; + } + } + #endregion + + #region Theme subclasses + public ToolbarTheme Theme { + get; set; + } + + private string RebarClass { + get { + return SubclassPrefix + "Rebar"; + } + } + + private string ToolbarClass { + get { + return SubclassPrefix + "ToolBar"; + } + } + + private string MenuClass { + get { + return SubclassPrefix + "Menu"; + } + } + + private string SubclassPrefix { + get { + switch (Theme) { + case ToolbarTheme.MediaToolbar: return "Media::"; + case ToolbarTheme.CommunicationsToolbar: return "Communications::"; + case ToolbarTheme.BrowserTabBar: return "BrowserTabBar::"; + default: return string.Empty; + } + } + } + + private VisualStyleElement Subclass(VisualStyleElement element) { + return VisualStyleElement.CreateElement(SubclassPrefix + element.ClassName, + element.Part, element.State); + } + #endregion + + VisualStyleRenderer renderer; + + public UXThemeToolStripRenderer(ToolbarTheme theme) { + Theme = theme; + renderer = new VisualStyleRenderer(VisualStyleElement.Button.PushButton.Normal); + } + + #region Borders + protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPBORDERS, 0); + if (e.ToolStrip.IsDropDown) { + Region oldClip = e.Graphics.Clip; + + //Tool strip borders are rendered *after* the content, for some reason. + //So we have to exclude the inside of the popup otherwise we'll draw over it. + Rectangle insideRect = e.ToolStrip.ClientRectangle; + insideRect.Inflate(-1, -1); + e.Graphics.ExcludeClip(insideRect); + + renderer.DrawBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.AffectedBounds); + + //Restore the old clip in case the Graphics is used again (does that ever happen?) + e.Graphics.Clip = oldClip; + } + } + #endregion + + #region Backgrounds + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { + int partId = e.Item.Owner.IsDropDown ? (int)MenuParts.MENU_POPUPITEM : (int)MenuParts.MENU_BARITEM; + renderer.SetParameters(MenuClass, partId, GetItemState(e.Item)); + + Rectangle bgRect = e.Item.ContentRectangle; + + Padding content = GetThemeMargins(e.Graphics, MarginTypes.TMT_CONTENTMARGINS), + sizing = GetThemeMargins(e.Graphics, MarginTypes.TMT_SIZINGMARGINS), + caption = GetThemeMargins(e.Graphics, MarginTypes.TMT_CAPTIONMARGINS); + + if (!e.Item.Owner.IsDropDown) { + bgRect.Y = 0; + bgRect.Height = e.ToolStrip.Height; + bgRect.Inflate(-1, -1); //GetMargins here perhaps? + } + + renderer.DrawBackground(e.Graphics, bgRect, bgRect); + } + + protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e) { + //Draw the background using Rebar & RP_BACKGROUND (or, if that is not available, fall back to + //Rebar.Band.Normal) + if (VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement(RebarClass, RP_BACKGROUND, 0))) { + renderer.SetParameters(RebarClass, RP_BACKGROUND, 0); + } else { + renderer.SetParameters(RebarClass, 0, 0); + //renderer.SetParameters(VisualStyleElement.Taskbar.BackgroundBottom.Normal); + //renderer.SetParameters(Subclass(VisualStyleElement.Rebar.Band.Normal)); + } + + if (renderer.IsBackgroundPartiallyTransparent()) + renderer.DrawParentBackground(e.Graphics, e.ToolStripPanel.ClientRectangle, e.ToolStripPanel); + + renderer.DrawBackground(e.Graphics, e.ToolStripPanel.ClientRectangle); + + //Draw the etched edges of each row. + //renderer.SetParameters(Subclass(VisualStyleElement.Rebar.Band.Normal)); + //foreach (ToolStripPanelRow row in e.ToolStripPanel.Rows) { + // Rectangle rowBounds = row.Bounds; + // rowBounds.Offset(0, -1); + // renderer.DrawEdge(e.Graphics, rowBounds, Edges.Top, EdgeStyle.Etched, EdgeEffects.None); + //} + + e.Handled = true; + } + + //Render the background of an actual menu bar, dropdown menu or toolbar. + protected override void OnRenderToolStripBackground(System.Windows.Forms.ToolStripRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPBACKGROUND, 0); + } else { + //It's a MenuStrip or a ToolStrip. If it's contained inside a larger panel, it should have a + //transparent background, showing the panel's background. + + if (e.ToolStrip.Parent is ToolStripPanel) { + //The background should be transparent, because the ToolStripPanel's background will be visible. + //(Of course, we assume the ToolStripPanel is drawn using the same theme, but it's not my fault + //if someone does that.) + return; + } else { + //A lone toolbar/menubar should act like it's inside a toolbox, I guess. + //Maybe I should use the MenuClass in the case of a MenuStrip, although that would break + //the other themes... + if(VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement(RebarClass, RP_BACKGROUND, 0))) + renderer.SetParameters(RebarClass, RP_BACKGROUND, 0); + else + renderer.SetParameters(RebarClass, 0, 0); + } + } + + if (renderer.IsBackgroundPartiallyTransparent()) + renderer.DrawParentBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.ToolStrip); + + renderer.DrawBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.AffectedBounds); + } + + protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e) { + //e.Graphics.FillRectangle(Brushes.RosyBrown, e.ToolStripContentPanel.ClientRectangle); + //base.OnRenderToolStripContentPanelBackground(e); + } + + //Some sort of chevron thing? + //protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e) { + // base.OnRenderOverflowButtonBackground(e); + //} + #endregion + + #region Text + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { + int partId = e.Item.Owner.IsDropDown ? (int)MenuParts.MENU_POPUPITEM : (int)MenuParts.MENU_BARITEM; + renderer.SetParameters(MenuClass, partId, GetItemState(e.Item)); + Color color = renderer.GetColor(ColorProperty.TextColor); + + if(e.Item.Owner.IsDropDown || e.Item.Owner is MenuStrip) + e.TextColor = color; + + base.OnRenderItemText(e); + } + #endregion + + #region Glyphs + + //protected override void OnRenderGrip(ToolStripGripRenderEventArgs e) { + // if (e.GripStyle == ToolStripGripStyle.Visible) { + // renderer.SetParameters(VisualStyleElement.Rebar.Gripper.Normal); + // renderer.DrawBackground(e.Graphics, e.GripBounds, e.AffectedBounds); + // } + //} + + protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPGUTTER, 0); + Rectangle displayRect = e.ToolStrip.DisplayRectangle, + marginRect = new Rectangle(0, displayRect.Top, displayRect.Left, displayRect.Height); + //e.Graphics.DrawRectangle(Pens.Black, marginRect); + renderer.DrawBackground(e.Graphics, marginRect, marginRect); + } + } + + protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPSEPARATOR, 0); + Rectangle rect = new Rectangle(e.ToolStrip.DisplayRectangle.Left, 0, e.ToolStrip.DisplayRectangle.Width, e.Item.Height); + renderer.DrawBackground(e.Graphics, rect, rect); + } else { + base.OnRenderSeparator(e); + } + } + + protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { + ToolStripMenuItem item = e.Item as ToolStripMenuItem; + if (item != null) { + if (item.Checked) { + Rectangle rect = e.Item.ContentRectangle; + rect.Width = rect.Height; + + //Center the checkmark horizontally in the gutter (looks ugly, though) + //rect.X = (e.ToolStrip.DisplayRectangle.Left - rect.Width) / 2; + + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPCHECKBACKGROUND, e.Item.Enabled ? (int)MenuPopupCheckBackgroundStates.MCB_NORMAL : (int)MenuPopupCheckBackgroundStates.MCB_DISABLED); + renderer.DrawBackground(e.Graphics, rect); + + Padding margins = GetThemeMargins(e.Graphics, MarginTypes.TMT_SIZINGMARGINS); + + rect = new Rectangle(rect.X + margins.Left, rect.Y + margins.Top, + rect.Width - margins.Horizontal, + rect.Height - margins.Vertical); + + //I don't think ToolStrip even supports radio box items. So no need to render them. + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPCHECK, e.Item.Enabled ? (int)MenuPopupCheckStates.MC_CHECKMARKNORMAL : (int)MenuPopupCheckStates.MC_CHECKMARKDISABLED); + + renderer.DrawBackground(e.Graphics, rect); + } + } else { + base.OnRenderItemCheck(e); + } + } + + //This is broken for RTL + protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { + int stateId = e.Item.Enabled ? (int)MenuPopupSubMenuStates.MSM_NORMAL : (int)MenuPopupSubMenuStates.MSM_DISABLED; + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPSUBMENU, stateId); + renderer.DrawBackground(e.Graphics, e.ArrowRectangle); + } + + protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e) { + renderer.SetParameters(RebarClass, VisualStyleElement.Rebar.Chevron.Normal.Part, VisualStyleElement.Rebar.Chevron.Normal.State); + renderer.DrawBackground(e.Graphics, e.Item.ContentRectangle); + + //base.OnRenderOverflowButtonBackground(e); + } + #endregion + + public static bool IsSupported { + get { + if (!VisualStyleRenderer.IsSupported) + return false; + + return VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement("MENU", (int)MenuParts.MENU_BARBACKGROUND, (int)MenuBarStates.MB_ACTIVE)); + } + } + } + + /// + /// Renders a toolstrip using UXTheme if possible, and switches back to the default + /// ToolStripRenderer when UXTheme-based rendering is not available. + /// Designed for menu bars and context menus - it is not guaranteed to work with anything else. + /// + /// + /// NativeToolStripRenderer.SetToolStripRenderer(toolStrip1, toolStrip2, contextMenuStrip1); + /// + /// + /// toolStrip1.Renderer = new NativeToolStripRenderer(); + /// + public class NativeToolStripRenderer : ToolStripRenderer { + UXThemeToolStripRenderer nativeRenderer; + ToolStripRenderer defaultRenderer; + ToolStrip toolStrip; + + //NativeToolStripRenderer looks best with no padding - but keep the old padding in case the + //visual styles become unsupported again (e.g. user changes to windows classic skin) + Padding defaultPadding; + + #region Constructors + /// + /// Creates a NativeToolStripRenderer for a particular ToolStrip. NativeToolStripRenderer will subscribe to some events + /// of this ToolStrip. + /// + /// The toolstrip for this NativeToolStripRenderer. NativeToolStripRenderer will subscribe to some events + /// of this ToolStrip. + public NativeToolStripRenderer(ToolStrip toolStrip, ToolbarTheme theme) { + if (toolStrip == null) + throw new ArgumentNullException("toolStrip", "ToolStrip cannot be null."); + + Theme = theme; + + this.toolStrip = toolStrip; + defaultRenderer = toolStrip.Renderer; + + defaultPadding = toolStrip.Padding; + toolStrip.SystemColorsChanged += new EventHandler(toolStrip_SystemColorsChanged); + + //Can't initialize here - constructor throws if visual styles not enabled + //nativeRenderer = new NativeToolStripRenderer(); + } + + public NativeToolStripRenderer(ToolStripPanel panel, ToolbarTheme theme) { + if (panel == null) + throw new ArgumentNullException("panel", "Panel cannot be null."); + + Theme = theme; + + this.toolStrip = null; + defaultRenderer = panel.Renderer; + } + #endregion + + public ToolbarTheme Theme { get; set; } + + void toolStrip_SystemColorsChanged(object sender, EventArgs e) { + if (toolStrip == null) + return; + + if (UXThemeToolStripRenderer.IsSupported) + toolStrip.Padding = Padding.Empty; + else + toolStrip.Padding = defaultPadding; + } + + //This is indeed called every time a menu part is rendered, but I can't + //find a way of caching it that I can be sure has no race conditions. + //The check is no longer very costly, anyway. + protected ToolStripRenderer ActualRenderer { + get { + bool nativeSupported = UXThemeToolStripRenderer.IsSupported; + + if (nativeSupported) { + if (nativeRenderer == null) + nativeRenderer = new UXThemeToolStripRenderer(Theme); + return nativeRenderer; + } + + return defaultRenderer; + } + } + + #region InitializeXXX + protected override void Initialize(ToolStrip toolStrip) { + base.Initialize(toolStrip); + + toolStrip.Padding = Padding.Empty; + + if (/*!(toolStrip is MenuStrip) &&*/ toolStrip.Parent is ToolStripPanel) { + toolStrip.BackColor = Color.Transparent; + } + } + + protected override void InitializePanel(ToolStripPanel toolStripPanel) { + base.InitializePanel(toolStripPanel); + } + + protected override void InitializeItem(ToolStripItem item) { + base.InitializeItem(item); + } + #endregion + + #region SetToolStripRenderer + /// + /// Sets the renderer of each ToolStrip to a NativeToolStripRenderer. A convenience method. + /// + /// A parameter list of ToolStrips. + [SuppressMessage("Microsoft.Design", "CA1062")] //The parameter array is actually checked. + public static void SetToolStripRenderer(ToolbarTheme theme, params Control[] toolStrips) { + foreach (Control ts in toolStrips) { + if (ts == null) + throw new ArgumentNullException("toolStrips", "ToolStrips cannot contain a null reference."); + } + + foreach (Control ts in toolStrips) { + if (ts is ToolStrip) { + ToolStrip t = (ToolStrip)ts; + t.Renderer = new NativeToolStripRenderer(t, theme); + } else if (ts is ToolStripPanel) { + ToolStripPanel t = (ToolStripPanel)ts; + t.Renderer = new NativeToolStripRenderer(t, theme); + } else + throw new ArgumentException("Can't set the renderer for a " + ts.GetType().Name); + } + } + + public static void SetToolStripRenderer(params Control[] toolStrips) { + SetToolStripRenderer(ToolbarTheme.Toolbar, toolStrips); + } + #endregion + + #region Overridden Methods - Deferred to actual renderer + protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { + ActualRenderer.DrawArrow(e); + } + + protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawButtonBackground(e); + } + + protected override void OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawDropDownButtonBackground(e); + } + + protected override void OnRenderGrip(ToolStripGripRenderEventArgs e) { + ActualRenderer.DrawGrip(e); + } + + protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { + ActualRenderer.DrawImageMargin(e); + } + + protected override void OnRenderItemBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawItemBackground(e); + } + + protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { + ActualRenderer.DrawItemCheck(e); + } + + protected override void OnRenderItemImage(ToolStripItemImageRenderEventArgs e) { + ActualRenderer.DrawItemImage(e); + } + + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { + ActualRenderer.DrawItemText(e); + } + + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawMenuItemBackground(e); + } + + protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e) { + ActualRenderer.DrawSeparator(e); + } + + protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e) { + ActualRenderer.DrawToolStripBackground(e); + } + + protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { + ActualRenderer.DrawToolStripBorder(e); + } + + protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e) { + ActualRenderer.DrawToolStripContentPanelBackground(e); + } + + protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e) { + ActualRenderer.DrawToolStripPanelBackground(e); + } + #endregion + } +} diff --git a/OnTopReplica/NotificationIcon.cs b/OnTopReplica/NotificationIcon.cs new file mode 100644 index 0000000..ebdce67 --- /dev/null +++ b/OnTopReplica/NotificationIcon.cs @@ -0,0 +1,84 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica { + /// + /// Notification icon that installs itself in the "tray" and manipulates the OnTopReplica main form. + /// + class NotificationIcon : IDisposable { + + public NotificationIcon(MainForm form) { + Form = form; + Install(); + } + + public MainForm Form { get; private set; } + + NotifyIcon _taskIcon; + ContextMenuStrip _contextMenu; + + private void Install() { + _contextMenu = new ContextMenuStrip(); + _contextMenu.Items.AddRange(new ToolStripItem[] { + new ToolStripMenuItem(Strings.MenuOpen, Resources.icon, TaskIconOpen_click) { + ToolTipText = Strings.MenuOpenTT, + }, + new ToolStripMenuItem(Strings.MenuWindows, Resources.list){ + DropDown = Form.MenuWindows, + ToolTipText = Strings.MenuWindowsTT + }, + new ToolStripMenuItem(Strings.MenuReset, null, TaskIconReset_click){ + ToolTipText = Strings.MenuResetTT + }, + new ToolStripMenuItem(Strings.MenuClose, Resources.close_new, TaskIconExit_click){ + ToolTipText = Strings.MenuCloseTT + } + }); + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(_contextMenu); + + _taskIcon = new NotifyIcon { + Text = Strings.ApplicationName, + Icon = Resources.icon_new, + Visible = true, + ContextMenuStrip = _contextMenu + }; + _taskIcon.DoubleClick += new EventHandler(TaskIcon_doubleclick); + } + + #region IDisposable Members + + public void Dispose() { + //Destroy NotifyIcon + if (_taskIcon != null) { + _taskIcon.Visible = false; + _taskIcon.Dispose(); + _taskIcon = null; + } + } + + #endregion + + #region Task Icon events + + void TaskIcon_doubleclick(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconOpen_click(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconReset_click(object sender, EventArgs e) { + Form.ResetMainFormWithConfirmation(); + } + + private void TaskIconExit_click(object sender, EventArgs e) { + Form.Close(); + } + + #endregion + } +} diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj new file mode 100644 index 0000000..6820fe6 --- /dev/null +++ b/OnTopReplica/OnTopReplica.csproj @@ -0,0 +1,424 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557} + WinExe + Properties + OnTopReplica + OnTopReplica + v2.0 + 512 + Assets\icon-new.ico + false + false + Internet + OnTopReplica.Program + + + false + A305A505E19CF40E069521C80C13AB3C900EDB7C + OnTopReplica_1_TemporaryKey.pfx + false + + + + + 3.5 + + publish\ + true + Disk + true + Background + 1 + Weeks + true + false + true + http://www.klopfenstein.net/public/Uploads/ontopreplica/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + en + OnTopReplica + Lorenz Cuno Klopfenstein + true + publish.htm + false + 0 + 3.0.2.%2a + false + true + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + false + true + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + false + + + + + + + + + OnTopReplica.exe.manifest + + + + + + + + + + False + ..\Lib\VistaControls.dll + + + + + Form + + + AboutForm.cs + + + Form + + + + + Form + + + Form + + + Form + + + + + + + + + + + + + + + + + + + + + + + UserControl + + + UserControl + + + GroupSwitchPanel.cs + + + + + + + + + + + + + True + True + Strings.resx + + + Component + + + Form + + + MainForm.cs + + + + + + AboutForm.cs + Designer + + + GroupSwitchPanel.cs + Designer + + + ResXFileCodeGenerator + Strings.cs.Designer.cs + + + ResXFileCodeGenerator + Strings.da.Designer.cs + + + ResXFileCodeGenerator + Strings.it.Designer.cs + Designer + + + MainForm.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + RegionPanel.cs + Designer + + + Strings.Designer.cs + Designer + ResXFileCodeGenerator + + + True + Resources.resx + True + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + UserControl + + + RegionPanel.cs + + + + + Component + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 2.0 %28x86%29 + true + + + False + .NET Framework 3.0 %28x86%29 + false + + + False + .NET Framework 3.5 + false + + + False + .NET Framework 3.5 SP1 + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Include + True + Satellite + + + False + + + + + Include + True + Satellite + + + False + + + + + Include + True + Satellite + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.csproj.user b/OnTopReplica/OnTopReplica.csproj.user new file mode 100644 index 0000000..00156d0 --- /dev/null +++ b/OnTopReplica/OnTopReplica.csproj.user @@ -0,0 +1,18 @@ + + + + publish\ + http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/download.aspx%3ffile=ontopreplica%252fsetup.exe/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/|http://lorenz.klopfenstein.net/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&page=on_top_replica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&page=programming_on_top_replica + http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/ + + + en-US + false + + + + + false + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.exe.manifest b/OnTopReplica/OnTopReplica.exe.manifest new file mode 100644 index 0000000..b9febc2 --- /dev/null +++ b/OnTopReplica/OnTopReplica.exe.manifest @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + Lightweight clone of a window. + + + + + + \ No newline at end of file diff --git a/OnTopReplica/PlatformSupport.cs b/OnTopReplica/PlatformSupport.cs new file mode 100644 index 0000000..8f7d816 --- /dev/null +++ b/OnTopReplica/PlatformSupport.cs @@ -0,0 +1,109 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Platforms; +using System.Windows.Forms; + +namespace OnTopReplica { + abstract class PlatformSupport : IDisposable { + + public static PlatformSupport Create() { + var os = Environment.OSVersion; + + if (os.Platform != PlatformID.Win32NT) + return new Other(); + + if (os.Version.Major == 6) { + if (os.Version.Minor >= 1) + return new WindowsSeven(); + else + return new WindowsVista(); + } + else if (os.Version.Major > 6) { + //Ensures forward compatibility + return new WindowsSeven(); + } + else { + //Generic NT + return new WindowsXp(); + } + } + + /// + /// Checks whether OnTopReplica is compatible with the platform. + /// + /// Returns false if OnTopReplica cannot run. + public abstract bool CheckCompatibility(); + + /// + /// Initializes the application. Called once in the app lifetime. + /// + public virtual void InitApp() { + } + + /// + /// Gets the main OnTopReplica form. + /// + protected MainForm Form { get; private set; } + + /// + /// Initializes a form. Called once in the form lifetime. + /// + /// Form to initialize. + public virtual void InitForm(MainForm form) { + Form = form; + } + + /// + /// Prepares the app for shutdown. Called once before the program terminates. + /// + public virtual void ShutdownApp() { + } + + /// + /// Hides the main form in a way that it can be restored later by the user. + /// + /// Form to hide. + public virtual void HideForm(MainForm form) { + form.Hide(); + } + + /// + /// Gets whether the form is currently hidden or not. + /// + public virtual bool IsHidden(MainForm form) { + return !form.Visible; + } + + /// + /// Restores the main form to its default state after is has been hidden. + /// Can be called whether the form is hidden or not. + /// + /// Form to restore. + public virtual void RestoreForm(MainForm form) { + form.Show(); + } + + /// + /// Called when the form changes its state, without calling into or . + /// Enables inheritors to update the form's state on each state change. + /// + public virtual void OnFormStateChange(MainForm form) { + } + + #region IDisposable Members + + bool _isDisposed = false; + + public void Dispose() { + if (_isDisposed) + return; + + this.ShutdownApp(); + _isDisposed = true; + } + + #endregion + + } +} diff --git a/OnTopReplica/Platforms/Other.cs b/OnTopReplica/Platforms/Other.cs new file mode 100644 index 0000000..abd253d --- /dev/null +++ b/OnTopReplica/Platforms/Other.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.Platforms { + class Other : PlatformSupport { + + public override bool CheckCompatibility() { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, + MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + } +} diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs new file mode 100644 index 0000000..b1d1db0 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -0,0 +1,52 @@ +using System; +using System.Windows.Forms; +using OnTopReplica.Native; +using VistaControls.Dwm; + +namespace OnTopReplica.Platforms { + class WindowsSeven : WindowsVista { + + public override void InitForm(MainForm form) { + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + DwmManager.SetExludeFromPeek(form, true); + DwmManager.SetDisallowPeek(form, true); + + SetWindowStyle(form); + } + + public override void InitApp() { + //Set Application ID + WindowsSevenMethods.SetCurrentProcessExplicitAppUserModelID("OnTopReplica"); + } + + public override void HideForm(MainForm form) { + form.Opacity = 0; + } + + public override bool IsHidden(MainForm form) { + return (form.Opacity == 0.0); + } + + public override void RestoreForm(MainForm form) { + if (form.Opacity == 0.0) + form.Opacity = 1.0; + form.Show(); + SetWindowStyle(form); + } + + public override void OnFormStateChange(MainForm form) { + SetWindowStyle(form); + } + + private void SetWindowStyle(MainForm form) { + if (!form.IsFullscreen) { + //This hides the app from ALT+TAB + //Note that when minimized, it will be shown as an (ugly) minimized tool window + Native.WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle, + (IntPtr)WindowMethods.WindowExStyles.ToolWindow); + } + } + + + } +} diff --git a/OnTopReplica/Platforms/WindowsVista.cs b/OnTopReplica/Platforms/WindowsVista.cs new file mode 100644 index 0000000..d8d1b60 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsVista.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using VistaControls.Dwm; +using OnTopReplica.Properties; +using VistaControls.TaskDialog; + +namespace OnTopReplica.Platforms { + + class WindowsVista : PlatformSupport { + + public override bool CheckCompatibility() { + if (!VistaControls.OsSupport.IsCompositionEnabled) { + MessageBox.Show(Strings.ErrorDwmOffContent, Strings.ErrorDwmOff, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + return true; + } + + NotificationIcon _icon; + + public override void InitForm(MainForm form) { + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + + //Do not show in task bar, but display notify icon + //NOTE: this effectively makes Windows ignore the Flip 3D policy set above (on Windows 7) + //NOTE: this also makes HotKey registration critically fail on Windows 7 + form.ShowInTaskbar = false; + + //Install tray icon + _icon = new NotificationIcon(form); + } + + public override void ShutdownApp() { + if (_icon != null) { + _icon.Dispose(); + _icon = null; + } + } + + } + +} diff --git a/OnTopReplica/Platforms/WindowsXp.cs b/OnTopReplica/Platforms/WindowsXp.cs new file mode 100644 index 0000000..88d3895 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsXp.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.Platforms { + class WindowsXp : PlatformSupport { + + public override bool CheckCompatibility() { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + } +} diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs new file mode 100644 index 0000000..d4c5c2c --- /dev/null +++ b/OnTopReplica/Program.cs @@ -0,0 +1,120 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using OnTopReplica.Properties; +using System.Threading; +using System.Globalization; +using System.Drawing; +using System.IO; +using VistaControls.TaskDialog; +using OnTopReplica.Update; +using System.Reflection; + +namespace OnTopReplica { + + static class Program { + + public static PlatformSupport Platform { get; private set; } + + static CultureInfo _languageChangeCode = Settings.Default.Language; + + static UpdateManager _updateManager; + + static MainForm _mainForm; + + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() { + //Hook abort handler + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); + + //Initialize and check for platform support + Platform = PlatformSupport.Create(); + if (!Platform.CheckCompatibility()) + return; + Platform.InitApp(); + + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + + //Update settings if needed + if (Settings.Default.MustUpdate) { + Settings.Default.Upgrade(); + Settings.Default.MustUpdate = false; + } + + bool mustReloadForm = false; + Point reloadLocation = new Point(); + Size reloadSize = new Size(); + + do { + //Update language settings + Thread.CurrentThread.CurrentUICulture = _languageChangeCode; + Settings.Default.Language = _languageChangeCode; + _languageChangeCode = null; + + _mainForm = new MainForm(); + if (mustReloadForm) { + _mainForm.Location = reloadLocation; + _mainForm.Size = reloadSize; + } + + Application.Run(_mainForm); + + //Enable reloading on next loop + mustReloadForm = true; + reloadLocation = _mainForm.Location; + reloadSize = _mainForm.Size; + } + while (_languageChangeCode != null); + + //Persist settings + Settings.Default.Save(); + } + + /// + /// Forces a global language change. As soon as the main form is closed, the change is performed + /// and the form is reopened using the new language. + /// + public static bool ForceGlobalLanguageChange(string languageCode) { + if (string.IsNullOrEmpty(languageCode)) + return false; + + try { + _languageChangeCode = new CultureInfo(languageCode); + } + catch { + return false; + } + + return true; + } + + static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { + string dump = string.Format("OnTopReplica-dump-{0}{1}{2}{3}{4}.txt", + DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, + DateTime.UtcNow.Hour, DateTime.UtcNow.Minute); + string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), dump); + + using (var s = new FileStream(path, FileMode.Create)) { + using (var sw = new StreamWriter(s)) { + sw.WriteLine("OnTopReplica Dump file"); + sw.WriteLine("This file has been created because OnTopReplica crashed."); + sw.WriteLine("Please send it to lck@klopfenstein.net to help fix the bug that caused the crash."); + sw.WriteLine(); + sw.WriteLine("Last exception:"); + sw.WriteLine(e.ExceptionObject.ToString()); + sw.WriteLine(); + sw.WriteLine("OnTopReplica v. {0}", Assembly.GetEntryAssembly().GetName().Version); + sw.WriteLine("OS: {0}", Environment.OSVersion.ToString()); + sw.WriteLine(".NET: {0}", Environment.Version.ToString()); + sw.WriteLine("Aero DWM: {0}", VistaControls.OsSupport.IsCompositionEnabled); + sw.WriteLine("Launch command: {0}", Environment.CommandLine); + } + } + } + + } +} diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..46e3969 --- /dev/null +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -0,0 +1,37 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("OnTopReplica")] +[assembly: AssemblyDescription("Real-time, always on top thumbnail of a window of your choice.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Lorenz Cuno Klopfenstein")] +[assembly: AssemblyProduct("OnTopReplica")] +[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2010")] +//[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2007")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("015090d1-7559-4c59-b9d1-e7e066c4a948")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("3.1.0.0")] +[assembly: AssemblyFileVersion("3.1.0.0")] diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs new file mode 100644 index 0000000..ee6767b --- /dev/null +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -0,0 +1,315 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.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() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("OnTopReplica.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + internal static System.Drawing.Bitmap back { + get { + object obj = ResourceManager.GetObject("back", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap clickforwarding { + get { + object obj = ResourceManager.GetObject("clickforwarding", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap close_new { + get { + object obj = ResourceManager.GetObject("close_new", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap desktop { + get { + object obj = ResourceManager.GetObject("desktop", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_czech { + get { + object obj = ResourceManager.GetObject("flag_czech", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_danish { + get { + object obj = ResourceManager.GetObject("flag_danish", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_ita { + get { + object obj = ResourceManager.GetObject("flag_ita", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_usa { + get { + object obj = ResourceManager.GetObject("flag_usa", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap fullscreen { + get { + object obj = ResourceManager.GetObject("fullscreen", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap groupmode { + get { + object obj = ResourceManager.GetObject("groupmode", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap icon { + get { + object obj = ResourceManager.GetObject("icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Icon icon_new { + get { + object obj = ResourceManager.GetObject("icon_new", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + internal static System.Drawing.Bitmap list { + get { + object obj = ResourceManager.GetObject("list", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_bottomleft { + get { + object obj = ResourceManager.GetObject("pos_bottomleft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_bottomright { + get { + object obj = ResourceManager.GetObject("pos_bottomright", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_null { + get { + object obj = ResourceManager.GetObject("pos_null", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_topleft { + get { + object obj = ResourceManager.GetObject("pos_topleft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_topright { + get { + object obj = ResourceManager.GetObject("pos_topright", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap reduce { + get { + object obj = ResourceManager.GetObject("reduce", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap refresh { + get { + object obj = ResourceManager.GetObject("refresh", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap regions { + get { + object obj = ResourceManager.GetObject("regions", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap thumbs_up { + get { + object obj = ResourceManager.GetObject("thumbs_up", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_border16 { + get { + object obj = ResourceManager.GetObject("window_border16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_multiple16 { + get { + object obj = ResourceManager.GetObject("window_multiple16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_opacity { + get { + object obj = ResourceManager.GetObject("window_opacity", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_switch { + get { + object obj = ResourceManager.GetObject("window_switch", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window16 { + get { + object obj = ResourceManager.GetObject("window16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_add { + get { + object obj = ResourceManager.GetObject("xiao_add", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_arrow { + get { + object obj = ResourceManager.GetObject("xiao_arrow", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_component { + get { + object obj = ResourceManager.GetObject("xiao_component", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_delete { + get { + object obj = ResourceManager.GetObject("xiao_delete", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_down { + get { + object obj = ResourceManager.GetObject("xiao_down", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_help { + get { + object obj = ResourceManager.GetObject("xiao_help", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_ok { + get { + object obj = ResourceManager.GetObject("xiao_ok", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_up { + get { + object obj = ResourceManager.GetObject("xiao_up", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_wrench { + get { + object obj = ResourceManager.GetObject("xiao_wrench", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx new file mode 100644 index 0000000..b84794e --- /dev/null +++ b/OnTopReplica/Properties/Resources.resx @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Assets\flag_ita.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\x-oblique.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\component.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\25.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_multiple16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\regions_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_null.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_opacity_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\thumbs_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\clickforwarding.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\newicon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_help.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\back.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_czech.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_switch.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\desktop.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_danish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\reduce.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_ok.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_wrench.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\list.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\icon-new.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\fullscreen.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_down.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_border16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_usa.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + + ..\Assets\groupmode.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/OnTopReplica/Properties/Settings.Designer.cs b/OnTopReplica/Properties/Settings.Designer.cs new file mode 100644 index 0000000..34d376b --- /dev/null +++ b/OnTopReplica/Properties/Settings.Designer.cs @@ -0,0 +1,157 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.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; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public global::OnTopReplica.StoredRegionArray SavedRegions { + get { + return ((global::OnTopReplica.StoredRegionArray)(this["SavedRegions"])); + } + set { + this["SavedRegions"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool AutoFitOnResize { + get { + return ((bool)(this["AutoFitOnResize"])); + } + set { + this["AutoFitOnResize"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("255")] + public byte Opacity { + get { + return ((byte)(this["Opacity"])); + } + set { + this["Opacity"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("(Default)")] + public global::System.Globalization.CultureInfo Language { + get { + return ((global::System.Globalization.CultureInfo)(this["Language"])); + } + set { + this["Language"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool MustUpdate { + get { + return ((bool)(this["MustUpdate"])); + } + set { + this["MustUpdate"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool ClickThrough { + get { + return ((bool)(this["ClickThrough"])); + } + set { + this["ClickThrough"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool FirstTimeClickThrough { + get { + return ((bool)(this["FirstTimeClickThrough"])); + } + set { + this["FirstTimeClickThrough"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool FirstTimeClickForwarding { + get { + return ((bool)(this["FirstTimeClickForwarding"])); + } + set { + this["FirstTimeClickForwarding"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool FullscreenAlwaysOnTop { + get { + return ((bool)(this["FullscreenAlwaysOnTop"])); + } + set { + this["FullscreenAlwaysOnTop"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string Setting { + get { + return ((string)(this["Setting"])); + } + set { + this["Setting"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string Setting1 { + get { + return ((string)(this["Setting1"])); + } + set { + this["Setting1"] = value; + } + } + } +} diff --git a/OnTopReplica/Properties/Settings.settings b/OnTopReplica/Properties/Settings.settings new file mode 100644 index 0000000..8aab035 --- /dev/null +++ b/OnTopReplica/Properties/Settings.settings @@ -0,0 +1,39 @@ + + + + + + + + + True + + + 255 + + + (Default) + + + True + + + True + + + True + + + True + + + False + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/Properties/app.manifest b/OnTopReplica/Properties/app.manifest new file mode 100644 index 0000000..c29c96a --- /dev/null +++ b/OnTopReplica/Properties/app.manifest @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/SidePanel.cs b/OnTopReplica/SidePanel.cs new file mode 100644 index 0000000..d3928cb --- /dev/null +++ b/OnTopReplica/SidePanel.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + /// + /// Represents a side panel that can be embedded in OnTopReplica. + /// + class SidePanel : UserControl { + + public SidePanel() { + Dock = DockStyle.Fill; + } + + /// + /// Gets the panel's parent form. + /// + protected MainForm ParentForm { get; private set; } + + /// + /// Raised when the side panel requests to be closed. + /// + public event EventHandler RequestClosing; + + protected virtual void OnRequestClosing() { + var evt = RequestClosing; + if (evt != null) + evt(this, EventArgs.Empty); + } + + /// + /// Is called when the side panel is embedded and first shown. + /// + /// Parent form that is embedding the side panel. + public virtual void OnFirstShown(MainForm form) { + ParentForm = form; + } + + /// + /// Is called before removing the side panel. + /// + /// Parent form that is embedding the side panel. + public virtual void OnClosing(MainForm form) { + } + + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs new file mode 100644 index 0000000..248924d --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs @@ -0,0 +1,129 @@ +namespace OnTopReplica.SidePanels { + partial class GroupSwitchPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonEnable = new System.Windows.Forms.Button(); + this.listWindows = new System.Windows.Forms.ListView(); + this.colName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.labelStatus = new System.Windows.Forms.Label(); + this.groupBox1.SuspendLayout(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.labelStatus); + this.groupBox1.Controls.Add(this.buttonCancel); + this.groupBox1.Controls.Add(this.buttonEnable); + this.groupBox1.Controls.Add(this.listWindows); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(228, 296); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = Strings.GroupSwitchModeTitle; + // + // buttonCancel + // + this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonCancel.Location = new System.Drawing.Point(152, 267); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(70, 23); + this.buttonCancel.TabIndex = 2; + this.buttonCancel.Text = Strings.GroupSwitchModeDisableButton; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(this.Cancel_click); + // + // buttonEnable + // + this.buttonEnable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonEnable.Image = global::OnTopReplica.Properties.Resources.xiao_ok; + this.buttonEnable.Location = new System.Drawing.Point(12, 267); + this.buttonEnable.Name = "buttonEnable"; + this.buttonEnable.Size = new System.Drawing.Size(134, 23); + this.buttonEnable.TabIndex = 1; + this.buttonEnable.Text = Strings.GroupSwitchModeEnableButton; + this.buttonEnable.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonEnable.UseVisualStyleBackColor = true; + this.buttonEnable.Click += new System.EventHandler(this.Enable_click); + // + // listWindows + // + this.listWindows.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.listWindows.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.colName}); + this.listWindows.FullRowSelect = true; + this.listWindows.GridLines = true; + this.listWindows.HideSelection = false; + this.listWindows.LabelWrap = false; + this.listWindows.Location = new System.Drawing.Point(6, 19); + this.listWindows.Name = "listWindows"; + this.listWindows.Size = new System.Drawing.Size(216, 225); + this.listWindows.TabIndex = 0; + this.listWindows.UseCompatibleStateImageBehavior = false; + this.listWindows.View = System.Windows.Forms.View.Details; + // + // colName + // + this.colName.Text = Strings.GroupSwitchModeWindows; + this.colName.Width = 220; + // + // labelStatus + // + this.labelStatus.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelStatus.Location = new System.Drawing.Point(3, 247); + this.labelStatus.Name = "labelStatus"; + this.labelStatus.Size = new System.Drawing.Size(219, 17); + this.labelStatus.TabIndex = 3; + this.labelStatus.Text = ""; + this.labelStatus.TextAlign = System.Drawing.ContentAlignment.BottomRight; + // + // GroupSwitchPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox1); + this.MinimumSize = new System.Drawing.Size(220, 220); + this.Name = "GroupSwitchPanel"; + this.Size = new System.Drawing.Size(228, 296); + this.groupBox1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Button buttonEnable; + private System.Windows.Forms.ListView listWindows; + private System.Windows.Forms.ColumnHeader colName; + private System.Windows.Forms.Label labelStatus; + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.cs new file mode 100644 index 0000000..b763889 --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.cs @@ -0,0 +1,73 @@ +using System; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using System.Collections.Generic; +using OnTopReplica.MessagePumpProcessors; + +namespace OnTopReplica.SidePanels { + partial class GroupSwitchPanel : SidePanel { + + public GroupSwitchPanel() { + InitializeComponent(); + } + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + LoadWindowList(); + + labelStatus.Text = (ParentForm.MessagePumpManager.Get().IsActive) ? + Strings.GroupSwitchModeStatusEnabled : + Strings.GroupSwitchModeStatusDisabled; + } + + private void LoadWindowList() { + var manager = new WindowManager(); + manager.Refresh(WindowManager.EnumerationMode.TaskWindows); + + var imageList = new ImageList(); + imageList.ColorDepth = ColorDepth.Depth32Bit; + foreach (var w in manager.Windows) { + var item = new ListViewItem(w.Title) { + Tag = w + }; + + if (w.Icon != null) { + imageList.Images.Add(w.Icon); + item.ImageIndex = imageList.Images.Count - 1; + } + + listWindows.Items.Add(item); + } + listWindows.SmallImageList = imageList; + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + if (_enableOnClose) { + List ret = new List(); + foreach (ListViewItem i in listWindows.SelectedItems) { + ret.Add((WindowHandle)i.Tag); + } + form.SetThumbnailGroup(ret); + } + else { + form.MessagePumpManager.Get().Disable(); + } + } + + bool _enableOnClose = false; + + private void Enable_click(object sender, EventArgs e) { + _enableOnClose = true; + OnRequestClosing(); + } + + private void Cancel_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.resx b/OnTopReplica/SidePanels/GroupSwitchPanel.resx new file mode 100644 index 0000000..ff31a6d --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/RegionPanel.Designer.cs b/OnTopReplica/SidePanels/RegionPanel.Designer.cs new file mode 100644 index 0000000..a237f87 --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.Designer.cs @@ -0,0 +1,314 @@ +namespace OnTopReplica.SidePanels { + partial class RegionPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.textRegionName = new OnTopReplica.FocusedTextBox(); + this.numH = new System.Windows.Forms.NumericUpDown(); + this.numW = new System.Windows.Forms.NumericUpDown(); + this.numY = new System.Windows.Forms.NumericUpDown(); + this.numX = new System.Windows.Forms.NumericUpDown(); + this.buttonDone = new System.Windows.Forms.Button(); + this.buttonReset = new System.Windows.Forms.Button(); + this.label6 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.buttonDelete = new System.Windows.Forms.Button(); + this.buttonSave = new System.Windows.Forms.Button(); + this.comboRegions = new VistaControls.ComboBox(); + this.groupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).BeginInit(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.textRegionName); + this.groupBox1.Controls.Add(this.numH); + this.groupBox1.Controls.Add(this.numW); + this.groupBox1.Controls.Add(this.numY); + this.groupBox1.Controls.Add(this.numX); + this.groupBox1.Controls.Add(this.buttonDone); + this.groupBox1.Controls.Add(this.buttonReset); + this.groupBox1.Controls.Add(this.label6); + this.groupBox1.Controls.Add(this.label7); + this.groupBox1.Controls.Add(this.label3); + this.groupBox1.Controls.Add(this.label2); + this.groupBox1.Controls.Add(this.label1); + this.groupBox1.Controls.Add(this.buttonDelete); + this.groupBox1.Controls.Add(this.buttonSave); + this.groupBox1.Controls.Add(this.comboRegions); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(184, 170); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Regions:"; + // + // textRegionName + // + this.textRegionName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textRegionName.BackColor = System.Drawing.SystemColors.ActiveCaption; + this.textRegionName.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; + this.textRegionName.Location = new System.Drawing.Point(6, 44); + this.textRegionName.Name = "textRegionName"; + this.textRegionName.Size = new System.Drawing.Size(174, 20); + this.textRegionName.TabIndex = 11; + this.textRegionName.Visible = false; + this.textRegionName.ConfirmInput += new System.EventHandler(this.Save_confirm); + this.textRegionName.AbortInput += new System.EventHandler(this.Save_lost); + // + // numH + // + this.numH.Enabled = false; + this.numH.Location = new System.Drawing.Point(109, 93); + this.numH.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numH.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numH.Name = "numH"; + this.numH.Size = new System.Drawing.Size(43, 20); + this.numH.TabIndex = 7; + this.numH.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numW + // + this.numW.Enabled = false; + this.numW.Location = new System.Drawing.Point(109, 67); + this.numW.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numW.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numW.Name = "numW"; + this.numW.Size = new System.Drawing.Size(43, 20); + this.numW.TabIndex = 6; + this.numW.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numY + // + this.numY.Enabled = false; + this.numY.Location = new System.Drawing.Point(23, 93); + this.numY.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numY.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numY.Name = "numY"; + this.numY.Size = new System.Drawing.Size(43, 20); + this.numY.TabIndex = 5; + this.numY.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numX + // + this.numX.Enabled = false; + this.numX.Location = new System.Drawing.Point(23, 67); + this.numX.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numX.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numX.Name = "numX"; + this.numX.Size = new System.Drawing.Size(43, 20); + this.numX.TabIndex = 4; + this.numX.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // buttonDone + // + this.buttonDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDone.Image = global::OnTopReplica.Properties.Resources.xiao_ok; + this.buttonDone.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonDone.Location = new System.Drawing.Point(108, 129); + this.buttonDone.Name = "buttonDone"; + this.buttonDone.Size = new System.Drawing.Size(70, 23); + this.buttonDone.TabIndex = 9; + this.buttonDone.Text = global::OnTopReplica.Strings.RegionsDoneButton; + this.buttonDone.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonDone.UseVisualStyleBackColor = true; + this.buttonDone.Click += new System.EventHandler(this.Close_click); + // + // buttonReset + // + this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonReset.Location = new System.Drawing.Point(32, 129); + this.buttonReset.Name = "buttonReset"; + this.buttonReset.Size = new System.Drawing.Size(70, 23); + this.buttonReset.TabIndex = 8; + this.buttonReset.Text = global::OnTopReplica.Strings.RegionsResetButton; + this.buttonReset.UseVisualStyleBackColor = true; + this.buttonReset.Click += new System.EventHandler(this.Reset_click); + // + // label6 + // + this.label6.AutoSize = true; + this.label6.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label6.Location = new System.Drawing.Point(71, 96); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(38, 13); + this.label6.TabIndex = 9; + this.label6.Text = "Height"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label7.Location = new System.Drawing.Point(71, 70); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(35, 13); + this.label7.TabIndex = 8; + this.label7.Text = "Width"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label3.Location = new System.Drawing.Point(6, 96); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(14, 13); + this.label3.TabIndex = 5; + this.label3.Text = "Y"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label2.Location = new System.Drawing.Point(6, 70); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(14, 13); + this.label2.TabIndex = 4; + this.label2.Text = "X"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(6, 47); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(76, 13); + this.label1.TabIndex = 3; + this.label1.Text = "Current region:"; + // + // buttonDelete + // + this.buttonDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDelete.Enabled = false; + this.buttonDelete.Image = global::OnTopReplica.Properties.Resources.xiao_delete; + this.buttonDelete.Location = new System.Drawing.Point(157, 18); + this.buttonDelete.Name = "buttonDelete"; + this.buttonDelete.Size = new System.Drawing.Size(23, 23); + this.buttonDelete.TabIndex = 3; + this.buttonDelete.UseVisualStyleBackColor = true; + this.buttonDelete.Click += new System.EventHandler(this.Delete_click); + // + // buttonSave + // + this.buttonSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonSave.Enabled = false; + this.buttonSave.Image = global::OnTopReplica.Properties.Resources.xiao_add; + this.buttonSave.Location = new System.Drawing.Point(134, 18); + this.buttonSave.Name = "buttonSave"; + this.buttonSave.Size = new System.Drawing.Size(23, 23); + this.buttonSave.TabIndex = 1; + this.buttonSave.UseVisualStyleBackColor = true; + this.buttonSave.Click += new System.EventHandler(this.Save_click); + // + // comboRegions + // + this.comboRegions.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.comboRegions.CueBannerText = global::OnTopReplica.Strings.RegionsStoredRegions; + this.comboRegions.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboRegions.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.comboRegions.FormattingEnabled = true; + this.comboRegions.Location = new System.Drawing.Point(6, 19); + this.comboRegions.Name = "comboRegions"; + this.comboRegions.Size = new System.Drawing.Size(126, 21); + this.comboRegions.TabIndex = 0; + this.comboRegions.SelectedIndexChanged += new System.EventHandler(this.RegionCombo_index_change); + // + // RegionPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox1); + this.MinimumSize = new System.Drawing.Size(184, 170); + this.Name = "RegionPanel"; + this.Size = new System.Drawing.Size(184, 170); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Button buttonDelete; + private System.Windows.Forms.Button buttonSave; + private VistaControls.ComboBox comboRegions; + private System.Windows.Forms.Button buttonDone; + private System.Windows.Forms.Button buttonReset; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.NumericUpDown numH; + private System.Windows.Forms.NumericUpDown numW; + private System.Windows.Forms.NumericUpDown numY; + private System.Windows.Forms.NumericUpDown numX; + private FocusedTextBox textRegionName; + } +} diff --git a/OnTopReplica/SidePanels/RegionPanel.cs b/OnTopReplica/SidePanels/RegionPanel.cs new file mode 100644 index 0000000..871a2a1 --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.cs @@ -0,0 +1,217 @@ +using System; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica.SidePanels { + partial class RegionPanel : SidePanel { + + public RegionPanel() { + InitializeComponent(); + + //Copy settings into combo box + if (Settings.Default.SavedRegions != null) { + foreach (object o in Settings.Default.SavedRegions) { + comboRegions.Items.Add(o); + } + } + + _regionDrawnHandler = new ThumbnailPanel.RegionDrawnHandler(ThumbnailPanel_RegionDrawn); + } + + ThumbnailPanel.RegionDrawnHandler _regionDrawnHandler; + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + //Init shown region if needed + if (form.SelectedThumbnailRegion.HasValue) + SetRegion(form.SelectedThumbnailRegion.Value); + + form.ThumbnailPanel.DrawMouseRegions = true; + form.ThumbnailPanel.RegionDrawn += _regionDrawnHandler; + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + form.ThumbnailPanel.DrawMouseRegions = false; + form.ThumbnailPanel.RegionDrawn -= _regionDrawnHandler; + } + + void ThumbnailPanel_RegionDrawn(object sender, Rectangle region) { + SetRegion(region); + } + + #region Interface + + /// + /// Sets the current selected region to a specific instance of a stored region. + /// + /// A stored region instance or null to reset. + public void SetRegion(StoredRegion region) { + if (region == null) { + Reset(); + return; + } + + SetRegion(region.Rect); + + //Select right combobox + if (comboRegions.Items.Contains(region)) { + comboRegions.SelectedItem = region; + } + } + + /// + /// Sets the current selected region to a specific region rectangle. + /// + /// The region boundaries. + public void SetRegion(Rectangle region) { + try { + _ignoreValueChanges = true; + + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = true; + + numX.Value = region.Left; + numY.Value = region.Top; + numW.Value = region.Width; + numH.Value = region.Height; + } + finally { + _ignoreValueChanges = false; + } + + OnRegionSet(region); + } + + /// + /// Resets the selected region and disables the num spinners. + /// + public void Reset() { + try { + _ignoreValueChanges = true; + + numX.Value = numY.Value = numW.Value = numH.Value = 0; + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = false; + + buttonSave.Enabled = false; + + comboRegions.SelectedIndex = -1; + } + finally { + _ignoreValueChanges = false; + } + } + + #endregion + + /// + /// Adds a new stored region. + /// + /// Region bounds. + /// Name of the region. + private void AddRegion(Rectangle rectangle, string regionName) { + var region = new StoredRegion(rectangle, regionName); + + int index = comboRegions.Items.Add(region); + comboRegions.SelectedIndex = index; + + if (Settings.Default.SavedRegions == null) + Settings.Default.SavedRegions = new StoredRegionArray(); + Settings.Default.SavedRegions.Add(region); + } + + /// + /// Internal event raised when a change occurs in the selected region. + /// + /// Region bounds. + protected virtual void OnRegionSet(Rectangle regionBounds) { + //Forward region to thumbnail + ParentForm.SelectedThumbnailRegion = regionBounds; + + buttonSave.Enabled = true; + } + + #region GUI event handlers + + private void Close_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + private void Reset_click(object sender, EventArgs e) { + Reset(); + ParentForm.SelectedThumbnailRegion = null; + } + + private void Delete_click(object sender, EventArgs e) { + if (comboRegions.SelectedIndex < 0) + return; + + var origIndex = comboRegions.SelectedIndex; + Settings.Default.SavedRegions.RemoveAt(origIndex); + comboRegions.Items.RemoveAt(origIndex); + + if (comboRegions.Items.Count > 0) + comboRegions.SelectedIndex = 0; + } + + private void Save_click(object sender, EventArgs e) { + //Display textbox instead of button + buttonSave.Enabled = buttonDelete.Enabled = false; + textRegionName.Visible = true; + textRegionName.Focus(); + } + + private void Save_confirm(object sender, EventArgs e) { + if (!string.IsNullOrEmpty(textRegionName.Text)) { + AddRegion( + new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value), + textRegionName.Text + ); + } + + //Hide textbox and show button again + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Enabled = buttonDelete.Enabled = true; + } + + private void Save_lost(object sender, EventArgs e) { + //Reset textbox + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Enabled = buttonDelete.Enabled = true; + buttonSave.Focus(); + } + + // Used to signal to the value change handler that all events should be temporarily ignored. + bool _ignoreValueChanges = false; + + private void RegionValueSpinner_value_change(object sender, EventArgs e) { + if (_ignoreValueChanges) + return; + + OnRegionSet(new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value)); + } + + private void RegionCombo_index_change(object sender, EventArgs e) { + buttonDelete.Enabled = (comboRegions.SelectedIndex >= 0); + + if (comboRegions.SelectedIndex >= 0) { + //Load region + var region = comboRegions.SelectedItem as StoredRegion; + + if (region == null) + return; + + SetRegion(region.Rect); + } + } + + #endregion + + } +} diff --git a/OnTopReplica/SidePanels/RegionPanel.resx b/OnTopReplica/SidePanels/RegionPanel.resx new file mode 100644 index 0000000..ff31a6d --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/StoredRegion.cs b/OnTopReplica/StoredRegion.cs new file mode 100644 index 0000000..93a64fd --- /dev/null +++ b/OnTopReplica/StoredRegion.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.Drawing; + +namespace OnTopReplica { + + [Serializable] + public class StoredRegion : IXmlSerializable { + + public StoredRegion() { + } + + public StoredRegion(Rectangle r, string n) { + Rect = r; + Name = n; + } + + public Rectangle Rect { + get; + set; + } + + public string Name { + get; + set; + } + + public override string ToString() { + return Name; + } + + + #region IXmlSerializable Members + + public System.Xml.Schema.XmlSchema GetSchema() { + return null; + } + + public void ReadXml(System.Xml.XmlReader reader) { + if (reader.MoveToAttribute("name")) + Name = reader.Value; + else + throw new Exception(); + + reader.Read(); + + XmlSerializer x = new XmlSerializer(typeof(Rectangle)); + Rect = (Rectangle)x.Deserialize(reader); + } + + public void WriteXml(System.Xml.XmlWriter writer) { + writer.WriteAttributeString("name", Name); + + XmlSerializer x = new XmlSerializer(typeof(Rectangle)); + x.Serialize(writer, Rect); + } + + #endregion + } + +} diff --git a/OnTopReplica/StoredRegionArray.cs b/OnTopReplica/StoredRegionArray.cs new file mode 100644 index 0000000..1a948c6 --- /dev/null +++ b/OnTopReplica/StoredRegionArray.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Collections; +using System.Xml.Serialization; + +namespace OnTopReplica { + + public class StoredRegionArray : ArrayList, IXmlSerializable { + + #region IXmlSerializable Members + + public System.Xml.Schema.XmlSchema GetSchema() { + return null; + } + + public void ReadXml(System.Xml.XmlReader reader) { + this.Clear(); + XmlSerializer x = new XmlSerializer(typeof(StoredRegion)); + while (reader.ReadToFollowing("StoredRegion")) { + object o = x.Deserialize(reader); + + if (o is StoredRegion) + this.Add(o); + } + } + + public void WriteXml(System.Xml.XmlWriter writer) { + XmlSerializer x = new XmlSerializer(typeof(StoredRegion)); + foreach (StoredRegion sr in this) { + x.Serialize(writer, sr); + } + } + + #endregion + + } + +} diff --git a/OnTopReplica/StoredRegionComparer.cs b/OnTopReplica/StoredRegionComparer.cs new file mode 100644 index 0000000..cfc9438 --- /dev/null +++ b/OnTopReplica/StoredRegionComparer.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Collections; + +namespace OnTopReplica { + + /// + /// Compares two StoredRegions based on their name. + /// + class StoredRegionComparer : IComparer { + + #region IComparer Members + + public int Compare(object x, object y) { + StoredRegion a = x as StoredRegion; + StoredRegion b = y as StoredRegion; + + if (a == null || b == null) + return -1; //this is wrong, but anyway + + return a.Name.CompareTo(b.Name); + } + + #endregion + + } +} diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs new file mode 100644 index 0000000..827c274 --- /dev/null +++ b/OnTopReplica/Strings.Designer.cs @@ -0,0 +1,1324 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Strings { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Strings() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("OnTopReplica.Strings", typeof(Strings).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Abort update process.. + /// + internal static string AboutButtonCancelTT { + get { + return ResourceManager.GetString("AboutButtonCancelTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show details about OnTopReplica.. + /// + internal static string AboutButtonExpanderTT { + get { + return ResourceManager.GetString("AboutButtonExpanderTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset all OnTopReplica settings.. + /// + internal static string AboutButtonResetTT { + get { + return ResourceManager.GetString("AboutButtonResetTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update OnTopReplica now.. + /// + internal static string AboutButtonUpdateTT { + get { + return ResourceManager.GetString("AboutButtonUpdateTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to <html> + /// <head> + /// <style type="text/css"> + ///body { + /// font-family: Segoe UI, Arial, sans-serif; + /// font-size: 0.8em; + /// margin: 0; + ///padding: 0.75em; + ///} + ///h1 { + /// font-size: 1.4em; + /// font-weight: bold; + /// + /// margin: 1em 0 0.4em 0; + /// padding: 0; + ///} + ///p { + /// margin: 0.5em 0 0.5em 1em; + /// padding: 0; + ///} + ///a { + /// font-weight: bold; + /// color: blue; + ///} + ///a:hover { + /// color: red; + ///} + /// </style> + /// </head> + /// + /// <body> + /// + /// <h1>License</h1> + /// + /// <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal [rest of string was truncated]";. + /// + internal static string AboutDetails { + get { + return ResourceManager.GetString("AboutDetails", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica. + /// + internal static string ApplicationName { + get { + return ResourceManager.GetString("ApplicationName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset window completely?. + /// + internal static string AskReset { + get { + return ResourceManager.GetString("AskReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to &Reset + ///All settings will be lost.. + /// + internal static string AskResetButtonOk { + get { + return ResourceManager.GetString("AskResetButtonOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary.. + /// + internal static string AskResetContent { + get { + return ResourceManager.GetString("AskResetContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset. + /// + internal static string AskResetTitle { + get { + return ResourceManager.GetString("AskResetTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset settings?. + /// + internal static string AskSettingReset { + get { + return ResourceManager.GetString("AskSettingReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost).. + /// + internal static string AskSettingResetContent { + get { + return ResourceManager.GetString("AskSettingResetContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset settings. + /// + internal static string AskSettingResetTitle { + get { + return ResourceManager.GetString("AskSettingResetTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Download OnTopReplica {0}?. + /// + internal static string AskUpdate { + get { + return ResourceManager.GetString("AskUpdate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cancel update + ///OnTopReplica will prompt you the next time it is started.. + /// + internal static string AskUpdateButtonCancel { + get { + return ResourceManager.GetString("AskUpdateButtonCancel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Download + ///Install OnTopReplica {0}.. + /// + internal static string AskUpdateButtonOk { + get { + return ResourceManager.GetString("AskUpdateButtonOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The new version can be downloaded and installed from the official website.. + /// + internal static string AskUpdateContent { + get { + return ResourceManager.GetString("AskUpdateContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Installed version: {0} + ///Available version: {1}. + /// + internal static string AskUpdateExpanded { + get { + return ResourceManager.GetString("AskUpdateExpanded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update available. + /// + internal static string AskUpdateTitle { + get { + return ResourceManager.GetString("AskUpdateTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to &Cancel. + /// + internal static string ButtonCancel { + get { + return ResourceManager.GetString("ButtonCancel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Created by: Lorenz Cuno Klopfenstein.. + /// + internal static string CreatedBy { + get { + return ResourceManager.GetString("CreatedBy", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Draw regions using mouse.. + /// + internal static string DrawRegions { + get { + return ResourceManager.GetString("DrawRegions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Details. + /// + internal static string ErrorDetailButton { + get { + return ResourceManager.GetString("ErrorDetailButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Details on Windows Aero. + /// + internal static string ErrorDetailsAero { + get { + return ResourceManager.GetString("ErrorDetailsAero", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Windows Aero is only available on Windows Vista Home Premium or higher.. + /// + internal static string ErrorDetailsAeroInfo { + get { + return ResourceManager.GetString("ErrorDetailsAeroInfo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Desktop Composition' is not enabled.. + /// + internal static string ErrorDwmOff { + get { + return ResourceManager.GetString("ErrorDwmOff", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + /// + ///To do so, right-click on the desktop and click on Personalize.. + /// + internal static string ErrorDwmOffContent { + get { + return ResourceManager.GetString("ErrorDwmOffContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error details. + /// + internal static string ErrorGenericInfoButton { + get { + return ResourceManager.GetString("ErrorGenericInfoButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error: . + /// + internal static string ErrorGenericInfoText { + get { + return ResourceManager.GetString("ErrorGenericInfoText", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to It appears that the selected window has been closed or is not valid anymore.. + /// + internal static string ErrorGenericThumbnailHandleError { + get { + return ResourceManager.GetString("ErrorGenericThumbnailHandleError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error. + /// + internal static string ErrorGenericTitle { + get { + return ResourceManager.GetString("ErrorGenericTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Desktop Composition' is not supported on your Operating System. + ///You must run this application on Windows Vista Home Premium or better.. + /// + internal static string ErrorNoDwm { + get { + return ResourceManager.GetString("ErrorNoDwm", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Desktop Composition unsupported. + /// + internal static string ErrorNoDwmTitle { + get { + return ResourceManager.GetString("ErrorNoDwmTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No thumbnail loaded.. + /// + internal static string ErrorNoThumbnail { + get { + return ResourceManager.GetString("ErrorNoThumbnail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to create thumbnail.. + /// + internal static string ErrorUnableToCreateThumbnail { + get { + return ResourceManager.GetString("ErrorUnableToCreateThumbnail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to fit window.. + /// + internal static string ErrorUnableToFit { + get { + return ResourceManager.GetString("ErrorUnableToFit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to check for updates.. + /// + internal static string ErrorUpdate { + get { + return ResourceManager.GetString("ErrorUpdate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>).. + /// + internal static string ErrorUpdateContent { + get { + return ResourceManager.GetString("ErrorUpdateContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down.. + /// + internal static string ErrorUpdateContentGeneric { + get { + return ResourceManager.GetString("ErrorUpdateContentGeneric", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Mode. + /// + internal static string FullscreenMode { + get { + return ResourceManager.GetString("FullscreenMode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Always on top. + /// + internal static string FullscreenModeAlwaysOnTop { + get { + return ResourceManager.GetString("FullscreenModeAlwaysOnTop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Forces OnTopReplica to stay always on top.. + /// + internal static string FullscreenModeAlwaysOnTopTT { + get { + return ResourceManager.GetString("FullscreenModeAlwaysOnTopTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click through. + /// + internal static string FullscreenModeClickThrough { + get { + return ResourceManager.GetString("FullscreenModeClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.. + /// + internal static string FullscreenModeClickThroughTT { + get { + return ResourceManager.GetString("FullscreenModeClickThroughTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Standard. + /// + internal static string FullscreenModeNormal { + get { + return ResourceManager.GetString("FullscreenModeNormal", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Behaves like an ordinary window. You can bring other windows above OnTopReplica.. + /// + internal static string FullscreenModeNormalTT { + get { + return ResourceManager.GetString("FullscreenModeNormalTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica fullscreen. + /// + internal static string FullscreenTitle { + get { + return ResourceManager.GetString("FullscreenTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disable. + /// + internal static string GroupSwitchModeDisableButton { + get { + return ResourceManager.GetString("GroupSwitchModeDisableButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Group mode. + /// + internal static string GroupSwitchModeEnableButton { + get { + return ResourceManager.GetString("GroupSwitchModeEnableButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select multiple windows to enable.. + /// + internal static string GroupSwitchModeStatusDisabled { + get { + return ResourceManager.GetString("GroupSwitchModeStatusDisabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group switch mode is enabled.. + /// + internal static string GroupSwitchModeStatusEnabled { + get { + return ResourceManager.GetString("GroupSwitchModeStatusEnabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group switch mode:. + /// + internal static string GroupSwitchModeTitle { + get { + return ResourceManager.GetString("GroupSwitchModeTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Windows. + /// + internal static string GroupSwitchModeWindows { + get { + return ResourceManager.GetString("GroupSwitchModeWindows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Homepage: www.codeplex.com/ontopreplica.. + /// + internal static string Homepage { + get { + return ResourceManager.GetString("Homepage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Do you want to enable "click forwarding"?. + /// + internal static string InfoClickForwarding { + get { + return ResourceManager.GetString("InfoClickForwarding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + /// + ///To exit this mode, push ESC.. + /// + internal static string InfoClickForwardingContent { + get { + return ResourceManager.GetString("InfoClickForwardingContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click forwarding. + /// + internal static string InfoClickForwardingTitle { + get { + return ResourceManager.GetString("InfoClickForwardingTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click-Through mode?. + /// + internal static string InfoClickThrough { + get { + return ResourceManager.GetString("InfoClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent.. + /// + internal static string InfoClickThroughDetails { + get { + return ResourceManager.GetString("InfoClickThroughDetails", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + /// + ///To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon).. + /// + internal static string InfoClickThroughInformation { + get { + return ResourceManager.GetString("InfoClickThroughInformation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No, thank you. + ///You can enable click-through later. + /// + internal static string InfoClickThroughNo { + get { + return ResourceManager.GetString("InfoClickThroughNo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use Click-Through. + /// + internal static string InfoClickThroughOk { + get { + return ResourceManager.GetString("InfoClickThroughOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click-Through mode. + /// + internal static string InfoClickThroughTitle { + get { + return ResourceManager.GetString("InfoClickThroughTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica has been updated.. + /// + internal static string InfoUpdated { + get { + return ResourceManager.GetString("InfoUpdated", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to In order to use the updated version of OnTopReplica you'll have to restart the application.. + /// + internal static string InfoUpdatedContent { + get { + return ResourceManager.GetString("InfoUpdatedContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update successful. + /// + internal static string InfoUpdatedTitle { + get { + return ResourceManager.GetString("InfoUpdatedTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica is up to date.. + /// + internal static string InfoUpToDate { + get { + return ResourceManager.GetString("InfoUpToDate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No update available. + /// + internal static string InfoUpToDateTitle { + get { + return ResourceManager.GetString("InfoUpToDateTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Language. + /// + internal static string Language { + get { + return ResourceManager.GetString("Language", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to About.... + /// + internal static string MenuAbout { + get { + return ResourceManager.GetString("MenuAbout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hides the main window and displays the "about" box.. + /// + internal static string MenuAboutTT { + get { + return ResourceManager.GetString("MenuAboutTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Advanced. + /// + internal static string MenuAdvanced { + get { + return ResourceManager.GetString("MenuAdvanced", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chrome. + /// + internal static string MenuChrome { + get { + return ResourceManager.GetString("MenuChrome", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles the display of the window chrome.. + /// + internal static string MenuChromeTT { + get { + return ResourceManager.GetString("MenuChromeTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click forwarding. + /// + internal static string MenuClickForwarding { + get { + return ResourceManager.GetString("MenuClickForwarding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable "click forwarding" to the cloned window.. + /// + internal static string MenuClickForwardingTT { + get { + return ResourceManager.GetString("MenuClickForwardingTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click-Through. + /// + internal static string MenuClickThrough { + get { + return ResourceManager.GetString("MenuClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.. + /// + internal static string MenuClickThroughTT { + get { + return ResourceManager.GetString("MenuClickThroughTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Close. + /// + internal static string MenuClose { + get { + return ResourceManager.GetString("MenuClose", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Closes OnTopReplica.. + /// + internal static string MenuCloseTT { + get { + return ResourceManager.GetString("MenuCloseTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 2:1 Double. + /// + internal static string MenuFitDouble { + get { + return ResourceManager.GetString("MenuFitDouble", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fullscreen. + /// + internal static string MenuFitFullscreen { + get { + return ResourceManager.GetString("MenuFitFullscreen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:2 Half. + /// + internal static string MenuFitHalf { + get { + return ResourceManager.GetString("MenuFitHalf", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:1 Fit to window. + /// + internal static string MenuFitOriginal { + get { + return ResourceManager.GetString("MenuFitOriginal", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:4 Quarter. + /// + internal static string MenuFitQuarter { + get { + return ResourceManager.GetString("MenuFitQuarter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Glass. + /// + internal static string MenuGlass { + get { + return ResourceManager.GetString("MenuGlass", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles "glass mode" on and off.. + /// + internal static string MenuGlassTT { + get { + return ResourceManager.GetString("MenuGlassTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group Switch mode. + /// + internal static string MenuGroupSwitch { + get { + return ResourceManager.GetString("MenuGroupSwitch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground.. + /// + internal static string MenuGroupSwitchTT { + get { + return ResourceManager.GetString("MenuGroupSwitchTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 100% (opaque). + /// + internal static string MenuOp100 { + get { + return ResourceManager.GetString("MenuOp100", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to be completely opaque.. + /// + internal static string MenuOp100TT { + get { + return ResourceManager.GetString("MenuOp100TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 25%. + /// + internal static string MenuOp25 { + get { + return ResourceManager.GetString("MenuOp25", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 25% opacity.. + /// + internal static string MenuOp25TT { + get { + return ResourceManager.GetString("MenuOp25TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 50%. + /// + internal static string MenuOp50 { + get { + return ResourceManager.GetString("MenuOp50", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 50% opacity.. + /// + internal static string MenuOp50TT { + get { + return ResourceManager.GetString("MenuOp50TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 75%. + /// + internal static string MenuOp75 { + get { + return ResourceManager.GetString("MenuOp75", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 75% opacity.. + /// + internal static string MenuOp75TT { + get { + return ResourceManager.GetString("MenuOp75TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Opacity. + /// + internal static string MenuOpacity { + get { + return ResourceManager.GetString("MenuOpacity", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open. + /// + internal static string MenuOpen { + get { + return ResourceManager.GetString("MenuOpen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Displays OnTopReplica.. + /// + internal static string MenuOpenTT { + get { + return ResourceManager.GetString("MenuOpenTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bottom Left. + /// + internal static string MenuPosBottomLeft { + get { + return ResourceManager.GetString("MenuPosBottomLeft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bottom Right. + /// + internal static string MenuPosBottomRight { + get { + return ResourceManager.GetString("MenuPosBottomRight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Position. + /// + internal static string MenuPosition { + get { + return ResourceManager.GetString("MenuPosition", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatically position OnTopReplica on the current screen.. + /// + internal static string MenuPositionTT { + get { + return ResourceManager.GetString("MenuPositionTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Top Left. + /// + internal static string MenuPosTopLeft { + get { + return ResourceManager.GetString("MenuPosTopLeft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Top Right. + /// + internal static string MenuPosTopRight { + get { + return ResourceManager.GetString("MenuPosTopRight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Quit fullscreen mode. + /// + internal static string MenuQuitFullscreen { + get { + return ResourceManager.GetString("MenuQuitFullscreen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Recall last position and size. + /// + internal static string MenuRecall { + get { + return ResourceManager.GetString("MenuRecall", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles whether OnTopReplica should store its last position and size and use them when it is restarted.. + /// + internal static string MenuRecallTT { + get { + return ResourceManager.GetString("MenuRecallTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimize. + /// + internal static string MenuReduce { + get { + return ResourceManager.GetString("MenuReduce", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimizes OnTopReplica to the task bar (or the tray).. + /// + internal static string MenuReduceTT { + get { + return ResourceManager.GetString("MenuReduceTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select region.... + /// + internal static string MenuRegion { + get { + return ResourceManager.GetString("MenuRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail.. + /// + internal static string MenuRegionTT { + get { + return ResourceManager.GetString("MenuRegionTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset window. + /// + internal static string MenuReset { + get { + return ResourceManager.GetString("MenuReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resets OnTopReplica settings and its main window.. + /// + internal static string MenuResetTT { + get { + return ResourceManager.GetString("MenuResetTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resize. + /// + internal static string MenuResize { + get { + return ResourceManager.GetString("MenuResize", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switch to window. + /// + internal static string MenuSwitch { + get { + return ResourceManager.GetString("MenuSwitch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switches to the source window and hides OnTopReplica.. + /// + internal static string MenuSwitchTT { + get { + return ResourceManager.GetString("MenuSwitchTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select window. + /// + internal static string MenuWindows { + get { + return ResourceManager.GetString("MenuWindows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to - none -. + /// + internal static string MenuWindowsNone { + get { + return ResourceManager.GetString("MenuWindowsNone", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Displays a list of window you can select as thumbnail source.. + /// + internal static string MenuWindowsTT { + get { + return ResourceManager.GetString("MenuWindowsTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to - whole -. + /// + internal static string MenuWindowsWholeRegion { + get { + return ResourceManager.GetString("MenuWindowsWholeRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Current region:. + /// + internal static string RegionsCurrentRegion { + get { + return ResourceManager.GetString("RegionsCurrentRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete. + /// + internal static string RegionsDeleteButton { + get { + return ResourceManager.GetString("RegionsDeleteButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Done. + /// + internal static string RegionsDoneButton { + get { + return ResourceManager.GetString("RegionsDoneButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Height. + /// + internal static string RegionsHeight { + get { + return ResourceManager.GetString("RegionsHeight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset. + /// + internal static string RegionsResetButton { + get { + return ResourceManager.GetString("RegionsResetButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Save. + /// + internal static string RegionsSaveButton { + get { + return ResourceManager.GetString("RegionsSaveButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stored regions. + /// + internal static string RegionsStoredRegions { + get { + return ResourceManager.GetString("RegionsStoredRegions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Regions:. + /// + internal static string RegionsTitle { + get { + return ResourceManager.GetString("RegionsTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Width. + /// + internal static string RegionsWidth { + get { + return ResourceManager.GetString("RegionsWidth", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Right-click here to start.... + /// + internal static string RightClick { + get { + return ResourceManager.GetString("RightClick", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A lightweight, real-time, always on top thumbnail of a window of your choice.. + /// + internal static string Slogan { + get { + return ResourceManager.GetString("Slogan", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica automatically checks for updates. No information is logged at any point.. + /// + internal static string UpdateDisclaimer { + get { + return ResourceManager.GetString("UpdateDisclaimer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update now!. + /// + internal static string UpdateNow { + get { + return ResourceManager.GetString("UpdateNow", resourceCulture); + } + } + } +} diff --git a/OnTopReplica/Strings.cs.resx b/OnTopReplica/Strings.cs.resx new file mode 100644 index 0000000..0d381ff --- /dev/null +++ b/OnTopReplica/Strings.cs.resx @@ -0,0 +1,456 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Přerušit aktualizaci. + + + Zobrazit podrobnosti o aplikaci OnTopReplica. + + + Resetovat nastavení OnTopReplica. + + + Aktualizovat OnTopReplica. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licence</h1> + + <p><b>OnTopReplica</b> je šířena pod <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a> licencí.</p> + <p>Původní zdrojový kód je možné nalézt na <a href="http://www.codeplex.com/ontopreplica">domovské stránce projektu na serveru CodePlex</a>.</p> + + <h1>Autoři a zásluhy</h1> + + <p>Původní inspirací pro OnTopReplica byla aplikace <a href="http://insentient.net">Switcher</a> a další aplikace založeny na DWM.</p> + + <p>Všechny Vista ovládací prvky jsou součástí <a href="http://www.codeplex.com/windowsformsaero">knihovny WindowsFormsAero</a> pro .NET.</p> + + <p>Některé ukázkové kódy byly převzaty z <a href="http://www.ookii.org">Ookii</a> ze serveru Channel9.</p> + + <p>Třída NativeToolstripRenderer byla převzata z <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Některé ikony pocházejí z <a href="http://www.vistaico.com">VistaICO.com</a> a balíčku ikon Xiao.</p> + + </body> +</html> + + + OnTopReplica + + + Resetovat nastavení okna? + + + &Resetovat +Všechna nastavení budou ztracena. + + + Operace "Resetovat okno" je vhodná k inicializaci všech nastavení pokud jste například ztratili kontrolu nad oknem nebo jej přesunuli mimo viditelnou plochu obrazovky. + + + Resetovat + + + Resetovat nastavení? + + + Operace "Resetovat nastavení" smaže veškerá uživatelská nastavení aplikace OnTopReplica a vrátí nastavení do stejného stavu jako po instalaci (všechny uložené informace, jako například uložené výřezy oken, budou ztraceny). + + + Resetovat nastavení + + + Instalovat OnTopReplica {0}? + {0} update version + + + Zrušit aktualizaci +Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. + + + Pokračovat +Instalovat OnTopReplica {0}. + {0} update version + + + Nová verze bude automaticky stažena a nainstalována. + + + Nainstalovaná verze: {0} +Dostupná verze: {1} + {0} installed version number +{1} online available version number + + + Nové aktualizace jsou k dispozici + + + &Storno + + + Autor: Lorenz Cuno Klopfenstein. + + + Označte výřez pomocí myši. + + + Podrobnosti + + + Podrobnosti k Windows Aero + + + Windows Aero je k dispozici pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce 'Desktop Composition' není povolena. + + + Pro pokračování je nutné povolit funkci "Desktop Composition" výběrem tématu 'Windows Aero' v nastavení vzhledu Windows. + +Uvedené lze provést například kliknutním pravým tlačítkem myši na plochu a zvolením akce "Přizpůsobit". + + + Podrobnosti k chybě + + + Chyba: + + + Zvolené okno bylo zavřeno nebo již není platné z jiných důvodů. + + + Chyba + + + Funkce 'Desktop Composition' není ve vašem systému podporována. +Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce Desktop Composition není podporována + + + Náhled nebyl nahrán. + + + Nelze vytvořit náhled. + + + Nelze vložit okno. + + + Kontrola aktualizací se nezdařila. + + + Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte <a href="http://ontopreplica.codeplex.com">domácí stránku aplikace OnTopReplica</a>). + + + Režim + + + Vždy na vrchu + + + Nastaví aplikaci OnTopReplica, aby zůstávala vždy na vrchu. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Standardní + + + Aplikace OnTopReplica se bude chovat jako běžné okno. Jiná okna mohou překrýt okno aplikace. + + + Aplikace OnTopReplica přes celou obrazovku + + + Domácí stránka: www.codeplex.com/ontopreplica. + + + Přejete si povolit "přeposílání kliknutí"? + + + V tomto režimu aplikace OnTopReplica přeposílá kliknutí levého tlačítka myši do zdrojového okna (je tedy možné provádět základní ovládání zdrojového okna bez nutnosti jej aktivovat). + +Ukončit režim "přeposíání kliknutí" je možné opětovným vyvolání položky v menu. + + + Přeposílání kliknutí + + + Povolit "Proklikávání" v celoobrazovkovém režimu? + + + "Proklikávání" funguje pouze pokud je povoleno v menu a okno má nastavenou průhlednost. + + + V tomto režimu se bude okno roztažené přes celou obrazovku chovat jako poloprůhledná vrstva, přes kterou bude možné "proklikávat" na podložená okna. + +K návratu do standardního režimu je možné přejít kdykoli dvojklikem na ikonu v oznamovací oblasti (traye). + + + Ne. +Režim "Proklikávání" je možné zvolit později v menu + + + Používat "Proklikávání" + + + Režim "Proklikávání" + + + Aplikace OnTopReplica byla aktualizována. + + + Pro použití aktualizací je potřeba aplikaci OnTopReplica restartovat. + + + Aktualizace proběhla úspěšně + + + OnTopReplica je aktuální. + + + Žádná aktualizace není k dispozici. + + + Jazyk + + + O aplikaci... + + + Skryje hlavní okno a zobrazí informace "O aplikaci". + + + Okraj + + + Přepínač, který definuje, zda má aplikace OnTopReplica viditelný okraj okna. + + + Přeposílání kliknutí + + + Zapne "přeposílání kliknutí" do zdrojového okna. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Zavřít + + + Ukončí aplikaci OnTopReplica. + + + 2:1 Dvojnásobná + + + Celá obrazovka + + + 1:2 Poloviční + + + 1:1 Jako zdroj + + + 1:4 Čtvrtinová + + + Glass efekt + + + Přepíná "glass efekt" okna. + + + 100% (neprůhledné) + + + Nastaví aplikaci OnTopReplica jako neprůhlednou. + + + 25% + + + Nastaví průhlednost na 25%. + + + 50% + + + Nastaví průhlednost na 50%. + + + 75% + + + Nastaví průhlednost na 75%. + + + Průhlednost + + + Otevřít + + + Zobrazí aplikaci OnTopReplica. + + + Dolní levý roh + + + Dolní pravý roh + + + Umístění + + + Automatická pozice aplikace OnTopReplica vzhledem k obrazovce. + + + Horní levý roh + + + Horní pravý rok + + + Opustit celoobrazovkový režim + + + Ukládat pozici a velikost okna + + + Přepínač, který definuje, zda si má aplikace OnTopReplica ukládat poslední pozici a velikost okna a obnovovat tyto údaje po restartování aplikace. + + + Minimalizovat do traye + + + Minimalizuje aplikaci OnTopReplica jako ikonu v systémové oblasti. + + + Vybrat výřez... + + + Přepne do režimu "výřezu", který umožní zvolit pouze část okna jako náhled. + + + Resetovat nastavení okna + + + Resetuje nastavení a pozici okna aplikace OnTopReplica. + + + Velikost + + + Přepnout do okna + + + Přepne do zdrojového okna a skryje aplikaci OnTopReplica. + + + Vybrat okno + + + - žádné - + + + Zobrazí seznam oken, které je možné použít jako zdroj. + + + - celé okno - + + + Aktuální výřez: + + + Smazat + + + Hotovo + + + Výška + + + Reset + + + Uložit + + + Uložené výřezy + + + Výřezy: + + + Šířka + + + Začněte klepnutím sem pravým tlačítkem myši... + + + Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému. + + + Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. Během této operace nedochází k žádnému přenosu či ukládání uživatelských informací. + + + Zkontroluj aktualizace + + \ No newline at end of file diff --git a/OnTopReplica/Strings.da.resx b/OnTopReplica/Strings.da.resx new file mode 100644 index 0000000..41d3c80 --- /dev/null +++ b/OnTopReplica/Strings.da.resx @@ -0,0 +1,451 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Annuller updateringen + + + Vis detaljer om OnTopReplica. + + + Nulstil alle OnTopReplica indstillinger. + + + Opdater OnTopReplica nu. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licens</h1> + + <p><b>OnTopReplica</b> er licenseret under <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>Dem originale kildekode kan findes på <a href="http://www.codeplex.com/ontopreplica">projektets hjemmeside på CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica er inspireret af <a href="http://insentient.net">Switcher</a> og andre DWM baserede applikationer.</p> + + <p>Alle Vista funktioner er del af <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero biblioteket</a> for .NET.</p> + + <p>Lidt eksempel kode er taget fra <a href="http://www.ookii.org">Ookii</a> på Channel9.</p> + + <p>NativeToolstripRenderer class er taget fra <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Lidt ikoner fra <a href="http://www.vistaico.com">VistaICO.com</a> og Xiao ikon sættet.</p> + + </body> +</html> + + + OnTopReplica + + + Nulstil vinduet helt? + + + &NulstilAlle ændringer vil blive tabt. + + + Kan bruges til at nulstille alle indstillinger hvis du mister kontrollen over vinduet eller hvis det er flyttet uden for skærmen. + + + Nulstil + + + Nulstil indstillinger? + + + Dette nulstiller OnTopReplica til standard indstillingerne (alle gemte informationer, som gemte områder, vil blive slettet). + + + Nulstil indstillingerne + + + Installer OnTopReplica {0}? + {0} update version + + + Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes. + + + FortsætInstaller OnTopReplica + {0} update version + + + Den nye version vil automatiskt blive downloaded og installeret. + + + Installeret version: {0} +Tilgængelig version: {1} + {0} installed version number +{1} online available version number + + + Opdatering tilgængelig. + + + &Annuller + + + Lavet af: Lorenz Cuno Klopfenstein. + + + Tegn områder med musen + + + Detaljer + + + Detaljer om Windows Aero + + + Windows Aero er kun tilgængelig op Windows Vista Home Premium eller højere. + + + Windows Aero effekter er ikke slået til + + + Du skal aktiverere "Windows Aero" som tema i Windows.For at gøre dette skal du højreklikke på skrivebordet og vælge personlige indstillinger. + + + Fejl detaljer. + + + Fejl: + + + Vinduet du har valgt er lukket eller er ikke gyldigt mere. + + + Fejl + + + Windows Aero effekter er ikke understøttet af dit styresystem. +Dette program kræver Windows Vista Home Premium eller bedre. + + + Skrivebords komposition ikke understøttet + + + Ingen miniature indlæst. + + + Kan ikke lave miniature. + + + Kunne ikke passes til vinduet. + + + Kan ikke søge efter opdateringer. + + + OnTopReplica blev ikke installeret ved hjælp af 'ClickOnce'. Du bliver nødt til at opdatere manuelt (besøg <a href="http://ontopreplica.codeplex.com">OnTopReplica's hjemmeside</a>). + + + Tilstande + + + Altid øverst + + + Får OnTopReplica til altid at være øverst. + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Standard + + + Opfører sig som et almindeligt vindue. Du kan trække andre viduer ind over OnTopReplica. + + + OnTopReplica fuld skærm + + + Hjemmeside: www.codeplex.com/ontopreplica. + + + Ønsker du at aktivere "click forwarding"? + + + Hvis denne funktion er aktiveret vil OnTopReplica vidersende alle venstr museklik til det klonede vindue (dette gør dig i stand til at udføre basis musefunktioner i det klonede vindue uden at skulle aktivere det). + +For at afslutte denne funktion skal du højreklikke på OnTopReplica og deaktivere "Click forwarding" i menuen. + + + Click forwarding + + + Ønskes gennem klik i fuldskærms tilstand? + + + Gennem klik virker kun hvis det er blevet aktiveret i gendan undermenuen og hvis vinduet er delvist gennemsigtigt. + + + I denne tilstand vil fuld skærm vinduet opføre sig som et delvist gennemsigtigt lag, hvilket gør dig i stand til at klikke på de underliggende vinduer. + +For at komme tilbage til normal tilstand, dobbeltklik på OnTopReplica ikonet i meddelelsesområdet på proceslinjen. + + + Nej. +Du kan aktivere gennem klik senere. + + + Brug gennem klik. + + + Gennem klik tilstand + + + OnTopReplica er blevet opdateret. + + + For at benytte den opdaterede udgave af OnTopReplica skal du genstarte programmet. + + + Opdatering fuldført + + + OnTopReplice er opdateret. + + + Ingen opdateringer er tilgængelige + + + Sprog + + + Om... + + + Skjuler hoved vinduet og viser om boxen. + + + Krom + + + Vælger Chrome kanten rundt om vinduet til/fra + + + Click forwarding + + + Aktiver "click forwarding" til det klonede vindue + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Luk + + + Lukker OnTopReplica. + + + 2:1 dobbelt + + + Fuld skærm + + + 1:2 halv + + + 1:1 Pas til vinduet + + + 1:4 kvart + + + Glas + + + Vælger "glas tilstand" til/fra + + + 100% (uigennemsigtig) + + + Sæt OnTopReplica til at være helt uigennemsigtig. + + + 25% + + + Sætter OnTopReplica til 25% uigennemsigtighed. + + + 50% + + + Sætter OnTopReplica til 50% uigennemsigtighed. + + + 75% + + + Sætter OnTopReplica til 75% uigennemsigtighed. + + + Uigennemsigtighed + + + åben + + + Viser OnTopReplica. + + + Nederst venstre + + + Nederst højre + + + Position + + + Sæt OnTopReplica automatiskt på den aktuelle skærm. + + + Øverst venstre + + + Øverst højre + + + Afslut fuldskærm tilstand. + + + Gendan sidste position og størrelse + + + Vælger om OnTopReplica skal gemme sidst brugte størrelse og position, til næste gang det starter op. + + + Minimer til systembakken. + + + Minimere OnTopReplica til systembakken. + + + Vælg område... + + + Skifter til "område tilstand", der tillader dig at vælge et begrænset område af kildens vindue som miniature. + + + Nulstil vinduet + + + Nulstiller OnTopReplica indstillingerne og hoved vinduet. + + + Genskab + + + Skift til vindue + + + Skifter til kilde vinduet og gemmer OnTopReplica. + + + Vælg vindue + + + - ingen - + + + Viser en liste af vinduer du kan bruge som miniature kilde. + + + - hele - + + + Aktuelt område: + + + Slet + + + Færdig + + + Højde + + + Nulstil + + + Gem + + + Gemte områder + + + Områder: + + + Bredde + + + Højreklik her for at starte... + + + En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. + + + OnTopReplica checker automatiskt for opdateringer. Der bliver ikke registreret nogen data på noget tidspunkt. + + + Opdater nu! + + \ No newline at end of file diff --git a/OnTopReplica/Strings.de.resx b/OnTopReplica/Strings.de.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.de.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.es.resx b/OnTopReplica/Strings.es.resx new file mode 100644 index 0000000..03bcda0 --- /dev/null +++ b/OnTopReplica/Strings.es.resx @@ -0,0 +1,90 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancelar actualización + + + Mostrar detalles acerca de OnTopReplica + + + Reiniciar la configuración de OnTopReplica + + + Actualizar OnTopReplica ahora + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licencia</h1> + + <p><b>OnTopReplica</b> cuenta con licencia <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>El código fuente original se encuentra en <a href="http://www.codeplex.com/ontopreplica">la página inicial del proyecto en CodePlex</a>.</p> + + <h1>Créditos</h1> + + <p><a href="http://insentient.net">Switcher</a> y otros programas basados en DWM inspiraron OnTopReplica.</p> + + <p>All Vista controls are part of the <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero library</a> for .NET.</p> + + <p>Some example code taken from <a href="http://www.ookii.org">Ookii</a> on Channel9.</p> + + <p>NativeToolstripRenderer class taken from <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> + + </body> +</html> + + + OnTopReplica + + + ¿Reiniciar la ventana? + + + &Reiniciar +Todas las configuraciones se perderán. + + \ No newline at end of file diff --git a/OnTopReplica/Strings.fi.resx b/OnTopReplica/Strings.fi.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.fi.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx new file mode 100644 index 0000000..f8090e3 --- /dev/null +++ b/OnTopReplica/Strings.it.resx @@ -0,0 +1,487 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Annulla il processo di aggiornamento. + + + Mostra dettagli su OnTopReplica. + + + Resetta tutte le impostazioni di OnTopReplica. + + + Aggiorna OnTopReplica ora. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licenza d'utilizzo</h1> + + <p><b>OnTopReplica</b> è rilasciato sotto la licenza <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>Il codice sorgente originale del programma è disponibile sulla <a href="http://www.codeplex.com/ontopreplica">homepage del progetto su CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica è stato inspirato da <a href="http://insentient.net">Switcher</a> ed altre applicazioni basate su DWM.</p> + + <p>I controlli utente specifici per Windows Vista sono parte della libreria <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero</a> per .NET.</p> + + <p>Qualche riga di codice d'esempio presa da <a href="http://www.ookii.org">Ookii</a> su Channel9.</p> + + <p>La classe NativeToolstripRenderer è stata presa da <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Alcune delle icone sono state prese da <a href="http://www.vistaico.com">VistaICO.com</a> e dal set di icone Xiao.</p> + + </body> +</html> + + + OnTopReplica + + + Ripristinare completamente la finestra? + + + &Ripristina +Tutte le impostazioni saranno perse. + + + Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. + + + Ripristino + + + Resettare impostazioni? + + + Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). + + + Reimposta + + + Scaricare OnTopReplica {0}? + {0} update version + + + Annulla aggiornamento +OnTopReplica si aggiornerà in un secondo momento. + + + Continua +Scarica OnTopReplica {0}. + {0} update version + + + Sarà possibile scaricare la nuova versione ed installarla. + + + Versione installata: {0} +Versione disponibile: {1} + {0} installed version number +{1} online available version number + + + Aggiornamento disponibile + + + &Annulla + + + Creato da: Lorenz Cuno Klopfenstein. + + + Disegna una regione usando il mouse. + + + Dettagli + + + Dettagli su Windows Aero + + + Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. + + + Il servizio di Desktop Composition Aero non è attivo. + + + È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows. + +Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. + + + Dettagli errore + + + Errore: + + + Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. + + + Errore + + + La "composzione del desktop" non è supportata dal tuo sistema operativo. +È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. + + + Desktop Composition (DWM) non supportato + + + Nessuna finestra clonata al momento. + + + Impossibile clonare la finestra. + + + Impossibile adattare la finestra. + + + Impossibile controllare gli aggiornamenti. + + + Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + Non è stato possibile controllare se esiste una versione più aggiornata di OnTopReplica. Verificare di essere connessi ad Internet. Se la connessione è attiva, è possibile che il sito ufficiale sia temporaneamente offline. + + + Modalità + + + Sempre in cima + + + OnTopReplica sarà sempre la finestra sopra a tutte le altre. + + + Click through + + + OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. + + + Normale + + + Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. + + + OnTopReplica a pieno schermo + + + Disattiva + + + Abilita modalità + + + Seleziona più finestre per attivare. + + + Modalità Gruppo attivata. + + + Modalità Gruppo di finestre: + + + Finestre + Column Header of list, simply refers to available windows to be cloned + + + Sito internet: www.codeplex.com/ontopreplica. + + + Attivare la modalità di inoltro dei clic? + + + In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano). + +Per uscire da questa modalità, usa il tasto ESC. + + + Inoltro dei clic + + + Attivare la modalità Click-Through? + + + La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. + + + In questa modalità la finestra clonata si comporterà come una maschera semitrasparente che permette di cliccare sulle finestre dietro di essa. + +Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). + + + No, grazie. +Puoi abilitare il Click-Through in futuro + + + Abilita Click-Through + + + Modalità Click-Through + + + OnTopReplica è stato aggiornato. + + + Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. + + + Aggiornamento completato + + + La versione più aggiornata è già installata. + + + Nessun aggiornamento disponibile + + + Lingua + + + A proposito di... + + + Nasconde la finestra principale e mostra una schermata di informazioni. + + + Avanzate + + + Bordo + + + Abilita o disabilita il bordo della finestra. + + + Inoltro dei clic + + + Attiva la modalità di "inoltro dei clic" alla finestra clonata. + + + Abilita Click-Through + + + OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa. + + + Chiudi + + + Termina OnTopReplica. + + + 2:1 Doppio + + + Tutto schermo + + + 1:2 Metà + + + 1:1 Clone esatto + + + 1:4 Quarto + + + Effetto vetro + + + Abilita o disabilita l'effetto vetro. + + + Modalità Gruppo di finestre + + + OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo. + + + 100% (opaco) + + + Imposta OnTopReplica come finestra completamente opaca. + + + 25% + + + Imposta l'opacità di OnTopReplica al 25%. + + + 50% + + + Imposta l'opacità di OnTopReplica al 50%. + + + 75% + + + Imposta l'opacità di OnTopReplica al 75%. + + + Opacità + + + Apri + + + Attiva la finestra di OnTopReplica. + + + In basso a sinistra + + + In basso a destra + + + Posizione + + + Posiziona automaticamente OnTopReplica sul monitor corrente. + + + In alto a sinistra + + + In alto a destra + + + Esci da tutto schermo + + + Ripristina posizione e grandezza + + + Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. + + + Minimizza + + + Riduce OnTopReplica ad un'icona nella barra delle applicazioni. + + + Seleziona regione... + + + Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. + + + Reimposta finestra + + + Reimposta OnTopReplica e la sua finestra principale. + + + Ridimensionamento + + + Vai alla finestra originale + + + Mostra la finestra originale e nasconde OnTopReplica. + + + Seleziona finestra + + + - nessuna - + + + Mostra una lista di finestre che è possibile clonare. + + + - intera - + + + Regione corrente: + + + Cancella + + + Chiudi + + + Altezz. + + + Reset + + + Salva + + + Regioni memorizzate + + + Regioni: + + + Largh. + + + Clic destro qui per iniziare... + + + Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta. + + + OnTopReplica controlla automaticamente se sono presenti aggiornamenti. + + + Aggiorna! + + \ No newline at end of file diff --git a/OnTopReplica/Strings.no.resx b/OnTopReplica/Strings.no.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.no.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.pt.resx b/OnTopReplica/Strings.pt.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.pt.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx new file mode 100644 index 0000000..670c5a7 --- /dev/null +++ b/OnTopReplica/Strings.resx @@ -0,0 +1,487 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>License</h1> + + <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>The original source code can be found on the <a href="http://www.codeplex.com/ontopreplica">project's homepage on CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica was inspired by <a href="http://insentient.net">Switcher</a> and other DWM based applications.</p> + + <p>All Vista controls are part of the <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero library</a> for .NET.</p> + + <p>Some example code taken from <a href="http://www.ookii.org">Ookii</a> on Channel9.</p> + + <p>NativeToolstripRenderer class taken from <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> + + </body> +</html> + + + OnTopReplica + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + Download OnTopReplica {0}? + {0} update version + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + {0} update version + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + {0} installed version number +{1} online available version number + + + Update available + + + &Cancel + + + Created by: Lorenz Cuno Klopfenstein. + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail. + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Chrome + + + Toggles the display of the window chrome. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Glass + + + Toggles "glass mode" on and off. + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Position + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + OnTopReplica automatically checks for updates. No information is logged at any point. + + + Update now! + + \ No newline at end of file diff --git a/OnTopReplica/Strings.ru.resx b/OnTopReplica/Strings.ru.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.ru.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs new file mode 100644 index 0000000..ab2fa23 --- /dev/null +++ b/OnTopReplica/ThumbnailPanel.cs @@ -0,0 +1,446 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using VistaControls.Dwm; +using VistaControls.ThemeText; +using System.Drawing; +using System.Windows.Forms.VisualStyles; +using OnTopReplica.Native; + +namespace OnTopReplica { + + class ThumbnailPanel : Panel { + + //DWM Thumbnail stuff + Thumbnail _thumbnail = null; + Rectangle _regionCurrent; + + //Labels + ThemedLabel _labelGlass; + + public ThumbnailPanel() { + InitFormComponents(); + } + + private void InitFormComponents() { + BackColor = Color.Black; + + //Themed Label + _labelGlass = new ThemedLabel { + Dock = DockStyle.Fill, + ForeColor = SystemColors.ControlText, + Location = Point.Empty, + Size = ClientSize, + Name = "labelGlass", + Text = Strings.RightClick, + TextAlign = HorizontalAlignment.Center, + TextAlignVertical = VerticalAlignment.Center + }; + this.Controls.Add(_labelGlass); + } + + #region Properties and settings + + /// + /// Gets or sets the region that is currently shown on the thumbnail. When set, also enabled region constrain. + /// + public Rectangle SelectedRegion { + get { + return _regionCurrent; + } + set { + _regionCurrent = value; + ConstrainToRegion = true; + } + } + + bool _regionEnabled = false; + + /// + /// Gets or sets whether the thumbnail is constrained to a region or not. + /// + public bool ConstrainToRegion { + get { + return _regionEnabled; + } + set { + _regionEnabled = value; + UpdateThubmnail(); + } + } + + bool _drawMouseRegions = false; + + /// + /// Gets or sets whether the control is is "region drawing" mode and reports them via events. + /// + public bool DrawMouseRegions { + get { + return _drawMouseRegions; + } + set { + //Set mode and reset region + _drawMouseRegions = value; + _drawingRegion = false; + + //Cursor change + Cursor = (value) ? Cursors.Cross : Cursors.Default; + + //Refresh gui + UpdateThubmnail(); + _labelGlass.Visible = !value; + this.Invalidate(); + } + } + + /// + /// Gets the target opacity of the thumbnail, depending on the control's state. + /// + protected byte ThumbnailOpacity { + get { + return (_drawMouseRegions) ? (byte)130 : (byte)255; + } + } + + /// + /// Gets or sets whether the control should report clicks made on the cloned thumbnail. + /// + public bool ReportThumbnailClicks { + get; + set; + } + + /// + /// Gets the thumbnail's original size. + /// + public Size ThumbnailOriginalSize { + get { + if (_thumbnail != null && !_thumbnail.IsInvalid) { + if (_regionEnabled) + return _regionCurrent.Size; + + return _thumbnail.SourceSize; + } + else + throw new Exception(Strings.ErrorNoThumbnail); + } + } + + #endregion + + #region GUI event handling + + protected override void OnResize(EventArgs eventargs) { + base.OnResize(eventargs); + UpdateThubmnail(); + } + + protected override void WndProc(ref Message m) { + base.WndProc(ref m); + + //Make transparent to hit-testing if clicks must not be registered + if (m.Msg == WM.NCHITTEST && m.Result.ToInt32() == HT.CLIENT && + !DrawMouseRegions && !ReportThumbnailClicks) { + + m.Result = new IntPtr(HT.TRANSPARENT); + } + } + + #endregion + + #region Thumbnail interface + + /// + /// Creates a new thumbnail of a certain window. + /// + /// Handle of the window to clone. + public void SetThumbnailHandle(WindowHandle handle) { + if (_thumbnail != null && !_thumbnail.IsInvalid) + _thumbnail.Close(); + + //Get form and register thumbnail on it + Form owner = this.TopLevelControl as Form; + if(owner == null) + throw new Exception("Internal error: ThumbnailPanel.TopLevelControl is not a Form."); + + _labelGlass.Visible = false; + + _thumbnail = DwmManager.Register(owner, handle.Handle); + ConstrainToRegion = false; //this also invokes a thumbnail update + } + + /// + /// Disposes current thumbnail and enters stand-by mode. + /// + public void UnsetThumbnail() { + if (_thumbnail != null && !_thumbnail.IsInvalid) + _thumbnail.Close(); + + _thumbnail = null; + _labelGlass.Visible = true; + } + + /// + /// Gets whether the control is currently displaying a thumbnail. + /// + public bool IsShowingThumbnail { + get { + return (_thumbnail != null && !_thumbnail.IsInvalid); + } + } + + int _padWidth = 0; + int _padHeight = 0; + Size _thumbnailSize; + + /// + /// Updates the thumbnail options and the right-click label. + /// + private void UpdateThubmnail() { + if (_thumbnail != null && !_thumbnail.IsInvalid){ + try { + Size sourceSize = ThumbnailOriginalSize; + _thumbnailSize = ComputeIdealSize(sourceSize, Size); + + _padWidth = (Size.Width - _thumbnailSize.Width) / 2; + _padHeight = (Size.Height - _thumbnailSize.Height) / 2; + + var target = new Rectangle(_padWidth, _padHeight, _thumbnailSize.Width, _thumbnailSize.Height); + Rectangle source = (_regionEnabled) ? _regionCurrent : new Rectangle(Point.Empty, _thumbnail.SourceSize); + + _thumbnail.Update(target, source, ThumbnailOpacity, true, true); + } + catch { + //Any error updating the thumbnail forces to unset (handle may not be valid anymore) + UnsetThumbnail(); + return; + } + } + } + + /// + /// Computes ideal thumbnail size given an original size and a target to fit. + /// + /// Size of the original thumbnail. + /// Size of the client area to fit. + private Size ComputeIdealSize(Size sourceSize, Size clientSize) { + double sourceRatio = (double)sourceSize.Width / (double)sourceSize.Height; + double clientRatio = (double)clientSize.Width / (double)clientSize.Height; + + Size ret; + if (sourceRatio >= clientRatio) { + ret = new Size(clientSize.Width, (int)((double)clientSize.Width / sourceRatio)); + } + else { + ret = new Size((int)((double)clientSize.Height * sourceRatio), clientSize.Height); + } + + return ret; + } + + #endregion + + #region Region drawing + + //Set if currently drawing a window (first click/drag was initiated) + bool _drawingRegion = false; + //Set if drawing was suspended because the mouse left the control + bool _drawingSuspended = false; + Point _regionStartPoint; + Point _regionLastPoint; + + public delegate void RegionDrawnHandler(object sender, Rectangle region); + + public event RegionDrawnHandler RegionDrawn; + + protected virtual void OnRegionDrawn(Rectangle region) { + //Fix region if necessary (bug report by Gunter, via comment) + if (region.Width < 1) region.Width = 1; + if (region.Height < 1) region.Height = 1; + + var evt = RegionDrawn; + if (evt != null) + evt(this, region); + } + + /// + /// Raises a RegionDrawn event, given a starting and an ending point of the drawn region. + /// + protected void RaiseRegionDrawn(Point start, Point end) { + if (_thumbnailSize.Width < 1 || _thumbnailSize.Height < 1) //causes DivBy0 + return; + + //Compute bounds + int left = Math.Min(start.X, end.X); + int right = Math.Max(start.X, end.X); + int top = Math.Min(start.Y, end.Y); + int bottom = Math.Max(start.Y, end.Y); + + //Clip to boundaries + left = Math.Max(0, left); + right = Math.Min(_thumbnailSize.Width, right); + top = Math.Max(0, top); + bottom = Math.Min(_thumbnailSize.Height, bottom); + + //Compute region rectangle in thumbnail coordinates + var startPoint = ClientToThumbnail(new Point(left, top)); + var endPoint = ClientToThumbnail(new Point(right, bottom)); + var final = new Rectangle( + startPoint, + new Size(endPoint.X - startPoint.X, endPoint.Y - startPoint.Y) + ); + + //Update region + SelectedRegion = final; + OnRegionDrawn(final); + } + + protected override void OnMouseDown(MouseEventArgs e) { + if (DrawMouseRegions && e.Button == MouseButtons.Left) { + //Start new region drawing + _drawingRegion = true; + _drawingSuspended = false; + _regionStartPoint = _regionLastPoint = e.Location; + + this.Invalidate(); + } + + base.OnMouseDown(e); + } + + protected override void OnMouseUp(MouseEventArgs e) { + if (_drawMouseRegions && e.Button == MouseButtons.Left) { + //Region completed + _drawingRegion = false; + _drawingSuspended = false; + RaiseRegionDrawn(_regionStartPoint, _regionLastPoint); + + this.Invalidate(); + } + + base.OnMouseUp(e); + } + + protected override void OnMouseLeave(EventArgs e) { + _drawingSuspended = true; + + this.Invalidate(); + + base.OnMouseLeave(e); + } + + protected override void OnMouseEnter(EventArgs e) { + _drawingSuspended = false; + + this.Invalidate(); + + base.OnMouseEnter(e); + } + + protected override void OnMouseMove(MouseEventArgs e) { + if (_drawingRegion && e.Button == MouseButtons.Left) { + //Continue drawing + _regionLastPoint = e.Location; + + this.Invalidate(); + } + else if(DrawMouseRegions && !_drawingRegion){ + //Keep track of region start point + _regionLastPoint = e.Location; + + this.Invalidate(); + } + + base.OnMouseMove(e); + } + + Pen penRed = new Pen(Color.FromArgb(255, Color.Red), 1.0f); + + protected override void OnPaint(PaintEventArgs e) { + if (_drawingRegion) { + //Is currently drawing, show rectangle + int left = Math.Min(_regionStartPoint.X, _regionLastPoint.X); + int right = Math.Max(_regionStartPoint.X, _regionLastPoint.X); + int top = Math.Min(_regionStartPoint.Y, _regionLastPoint.Y); + int bottom = Math.Max(_regionStartPoint.Y, _regionLastPoint.Y); + + e.Graphics.DrawRectangle(penRed, left, top, right - left, bottom - top); + } + else if (DrawMouseRegions && ! _drawingSuspended) { + //Show cursor coordinates + e.Graphics.DrawLine(penRed, new Point(0, _regionLastPoint.Y), new Point(ClientSize.Width, _regionLastPoint.Y)); + e.Graphics.DrawLine(penRed, new Point(_regionLastPoint.X, 0), new Point(_regionLastPoint.X, ClientSize.Height)); + } + + base.OnPaint(e); + } + + #endregion + + #region Thumbnail clone click + + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); + + if (_thumbnail == null) + return; + + //Raise clicking event to allow click forwarding + if (ReportThumbnailClicks) { + OnCloneClick(ClientToThumbnail(e.Location), e.Button, false); + } + } + + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); + + if (_thumbnail == null) + return; + + //Raise double clicking event to allow click forwarding + if (ReportThumbnailClicks) { + OnCloneClick(ClientToThumbnail(e.Location), e.Button, true); + } + } + + /// + /// Is raised when the thumbnail clone is clicked. + /// + public event EventHandler CloneClick; + + protected virtual void OnCloneClick(Point location, MouseButtons buttons, bool doubleClick){ + var evt = CloneClick; + if(evt != null) + evt(this, new CloneClickEventArgs(location, buttons, doubleClick)); + } + + #endregion + + /// + /// Convert a point in client coordinates to a point expressed in terms of a cloned thumbnail window. + /// + /// Point in client coordinates. + protected Point ClientToThumbnail(Point position) { + //Compensate padding + position.X -= _padWidth; + position.Y -= _padHeight; + + PointF proportionalPosition = new PointF( + (float)position.X / _thumbnailSize.Width, + (float)position.Y / _thumbnailSize.Height + ); + + //Get real pixel region info + Size source = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; + Point offset = (_regionEnabled) ? _regionCurrent.Location : Point.Empty; + + return new Point( + (int)((proportionalPosition.X * source.Width) + offset.X), + (int)((proportionalPosition.Y * source.Height) + offset.Y) + ); + } + + } + +} diff --git a/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs b/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs new file mode 100644 index 0000000..6482835 --- /dev/null +++ b/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Update { + class UpdateCheckCompletedEventArgs : EventArgs { + + public UpdateInformation Information { get; set; } + + public bool Success { get; set; } + + public Exception Error { get; set; } + + } +} diff --git a/OnTopReplica/Update/UpdateInformation.cs b/OnTopReplica/Update/UpdateInformation.cs new file mode 100644 index 0000000..f605223 --- /dev/null +++ b/OnTopReplica/Update/UpdateInformation.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.IO; +using System.Xml; + +namespace OnTopReplica.Update { + + /// + /// Contains information about the latest OnTopReplica update available. + /// + public class UpdateInformation { + + Version _latestVersion; + + /// + /// Gets the latest available version of the software. + /// + [XmlIgnore] + public Version LatestVersion { + get { + return _latestVersion; + } + set { + _latestVersion = value; + } + } + + [XmlElement("latestVersion")] + public string LatestVersionInternal { + get { + return _latestVersion.ToString(); + } + set { + _latestVersion = new Version(value); + } + } + + /// + /// Indicates when the latest version was released. + /// + [XmlElement("latestVersionRelease")] + public DateTime LatestVersionRelease { get; set; } + + /// + /// Gets the URL of the page that allows the user to download the updated installer. + /// + [XmlElement("downloadPage")] + public string DownloadPage { get; set; } + + /// + /// Deserializes an UpdateInformation object from a stream. + /// + public static UpdateInformation Deserialize(Stream source) { + var serializer = new XmlSerializer(typeof(UpdateInformation)); + var info = serializer.Deserialize(source) as UpdateInformation; + return info; + } + + public static string Serialize(UpdateInformation information) { + var serializer = new XmlSerializer(typeof(UpdateInformation)); + var sb = new StringBuilder(); + using(var writer = new StringWriter(sb)){ + serializer.Serialize(writer, information); + } + return sb.ToString(); + } + + } + +} diff --git a/OnTopReplica/Update/UpdateManager.cs b/OnTopReplica/Update/UpdateManager.cs new file mode 100644 index 0000000..bb2a5b5 --- /dev/null +++ b/OnTopReplica/Update/UpdateManager.cs @@ -0,0 +1,106 @@ +using System; +using System.Collections.Generic; +using System.Net; +using System.Text; +using System.Net.Cache; +using System.IO; +using System.Reflection; +using VistaControls.TaskDialog; +using System.Diagnostics; +using System.Windows.Forms; +using System.Threading; + +namespace OnTopReplica.Update { + + class UpdateManager { + + const string UpdateManifestUrl = "http://www.klopfenstein.net/public/Uploads/ontopreplica/update.xml"; + + public void CheckForUpdate() { + ThreadPool.QueueUserWorkItem(new WaitCallback(o => { + //Build web request + var request = (HttpWebRequest)HttpWebRequest.Create(UpdateManifestUrl); + request.AllowAutoRedirect = true; + request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; + request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache); + + try { + //Begin request + var response = request.GetResponse(); + var info = UpdateInformation.Deserialize(response.GetResponseStream()); + + OnUpdateCheckSuccess(info); + } + catch (Exception ex) { + OnUpdateCheckError(ex); + return; + } + })); + } + + public event EventHandler UpdateCheckCompleted; + + protected virtual void OnUpdateCheckError(Exception ex) { + var evt = UpdateCheckCompleted; + if (evt != null) { + evt(this, new UpdateCheckCompletedEventArgs { + Success = false, + Error = ex + }); + } + } + + protected virtual void OnUpdateCheckSuccess(UpdateInformation information) { + var evt = UpdateCheckCompleted; + if (evt != null) { + evt(this, new UpdateCheckCompletedEventArgs { + Success = true, + Information = information + }); + } + } + + /// + /// Handles the results of an update check. Must be called from main GUI thread. + /// + /// The retrieved update information. + /// Determines if the lack of updates should be notified to the user. + public void HandleUpdateCheck(Form parent, UpdateInformation information, bool verbose) { + if (information == null) + return; + + var currentVersion = Assembly.GetExecutingAssembly().GetName().Version; + + if (information.LatestVersion > currentVersion) { + //New version found + var dlg = new TaskDialog( + string.Format(Strings.AskUpdate, information.LatestVersion), + Strings.AskUpdateTitle, + Strings.AskUpdateContent) { + CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, string.Format(Strings.AskUpdateButtonOk, information.LatestVersion)), + new CustomButton(Result.Cancel, Strings.AskUpdateButtonCancel) + }, + UseCommandLinks = true, + CommonIcon = TaskDialogIcon.Information, + ExpandedInformation = string.Format(Strings.AskUpdateExpanded, currentVersion, information.LatestVersion) + }; + + if (dlg.Show(parent).CommonButton == Result.OK) { + Process.Start(information.DownloadPage); + } + } + else if(verbose) { + //No updates, but need to inform the user + var dlg = new TaskDialog(Strings.InfoUpToDate, Strings.InfoUpToDateTitle) { + CommonButtons = TaskDialogButton.OK, + CommonIcon = TaskDialogIcon.Information, + Footer = information.LatestVersion.ToString() + }; + dlg.Show(); + } + } + + } + +} diff --git a/OnTopReplica/Win32Helper.cs b/OnTopReplica/Win32Helper.cs new file mode 100644 index 0000000..49709ab --- /dev/null +++ b/OnTopReplica/Win32Helper.cs @@ -0,0 +1,122 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + public static class Win32Helper { + + /// Inject a fake left mouse click on a target window, on a location expressed in client coordinates. + /// Target window to click on. + /// Location of the mouse click expressed in client coordiantes of the target window. + /// True if a double click should be injected. + public static void InjectFakeMouseClick(IntPtr window, CloneClickEventArgs clickArgs) { + NPoint clientClickLocation = NPoint.FromPoint(clickArgs.ClientClickLocation); + NPoint scrClickLocation = WindowManagerMethods.ClientToScreen(window, clientClickLocation); + + //HACK (?) + //If target window has a Menu (which appears on the thumbnail) move the clicked location down + //in order to adjust (the menu isn't part of the window's client rect). + IntPtr hMenu = WindowMethods.GetMenu(window); + if (hMenu != IntPtr.Zero) + scrClickLocation.Y -= SystemInformation.MenuHeight; + + IntPtr hChild = GetRealChildControlFromPoint(window, scrClickLocation); + NPoint clntClickLocation = WindowManagerMethods.ScreenToClient(hChild, scrClickLocation); + + if (clickArgs.Buttons == MouseButtons.Left) { + if(clickArgs.IsDoubleClick) + InjectDoubleLeftMouseClick(hChild, clntClickLocation); + else + InjectLeftMouseClick(hChild, clntClickLocation); + } + else if (clickArgs.Buttons == MouseButtons.Right) { + if(clickArgs.IsDoubleClick) + InjectDoubleRightMouseClick(hChild, clntClickLocation); + else + InjectRightMouseClick(hChild, clntClickLocation); + } + } + + private static void InjectLeftMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.LBUTTONDOWN, new IntPtr(MK.LBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.LBUTTONUP, new IntPtr(MK.LBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Left click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectRightMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.RBUTTONDOWN, new IntPtr(MK.RBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.RBUTTONUP, new IntPtr(MK.RBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Right click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectDoubleLeftMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.LBUTTONDBLCLK, new IntPtr(MK.LBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Double left click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectDoubleRightMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.RBUTTONDBLCLK, new IntPtr(MK.RBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Double right click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + /// Returns the child control of a window corresponding to a screen location. + /// Parent window to explore. + /// Child control location in screen coordinates. + private static IntPtr GetRealChildControlFromPoint(IntPtr parent, NPoint scrClickLocation) { + IntPtr curr = parent, child = IntPtr.Zero; + do { + child = WindowManagerMethods.RealChildWindowFromPoint(curr, + WindowManagerMethods.ScreenToClient(curr, scrClickLocation)); + + if (child == IntPtr.Zero || child == curr) + break; + + //Update for next loop + curr = child; + } + while (true); + + //Safety check, shouldn't happen + if (curr == IntPtr.Zero) + curr = parent; + + return curr; + } + + /// + /// Gets a handle to the window that currently is in the foreground. + /// + /// May return null if call fails or no valid window selected. + public static WindowHandle GetCurrentForegroundWindow() { + IntPtr handle = WindowManagerMethods.GetForegroundWindow(); + if (handle == IntPtr.Zero) + return null; + + return new WindowHandle(handle, string.Empty); + } + + } +} diff --git a/OnTopReplica/WindowHandle.cs b/OnTopReplica/WindowHandle.cs new file mode 100644 index 0000000..61eaf2f --- /dev/null +++ b/OnTopReplica/WindowHandle.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using OnTopReplica.Native; + +namespace OnTopReplica { + + /// Helper class that keeps a window handle (HWND), the title of the window and can load its icon. + public class WindowHandle : System.Windows.Forms.IWin32Window { + IntPtr _handle; + string _title; + + public WindowHandle(IntPtr p, string title) { + _handle = p; + _title = title; + } + + public string Title { + get { + return _title; + } + } + + Icon _icon = null; + bool _iconFetched = false; + public Icon Icon { + get { + if (!_iconFetched) { + //Fetch icon from window + IntPtr hIcon; + + if (MessagingMethods.SendMessageTimeout(_handle, WM.GETICON, new IntPtr(2), new IntPtr(0), + MessagingMethods.SendMessageTimeoutFlags.AbortIfHung | MessagingMethods.SendMessageTimeoutFlags.Block, 500, out hIcon) == IntPtr.Zero) + hIcon = IntPtr.Zero; + + if (hIcon.ToInt64() != 0) { + _icon = Icon.FromHandle(hIcon); + } + else { + //Fetch icon from window class + hIcon = (IntPtr)WindowMethods.GetClassLong(_handle, WindowMethods.ClassLong.IconSmall); + + if (hIcon.ToInt64() != 0) { + _icon = Icon.FromHandle(hIcon); + } + } + } + + _iconFetched = true; + + return _icon; + } + } + + public override string ToString() { + return _title; + } + + public override bool Equals(object obj) { + if (ReferenceEquals(obj, this)) + return true; + + System.Windows.Forms.IWin32Window win = obj as System.Windows.Forms.IWin32Window; + + if (win == null) + return false; + + return (win.Handle == _handle); + } + + public override int GetHashCode() { + return _handle.GetHashCode(); + } + + #region IWin32Window Members + + public IntPtr Handle { + get { return _handle; } + } + + #endregion + + } +} diff --git a/OnTopReplica/WindowListHelper.cs b/OnTopReplica/WindowListHelper.cs new file mode 100644 index 0000000..88f7964 --- /dev/null +++ b/OnTopReplica/WindowListHelper.cs @@ -0,0 +1,111 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica { + static class WindowListHelper { + + public class WindowSelectionData { + public WindowHandle Handle { get; set; } + public StoredRegion Region { get; set; } + } + + const int MaxWindowTitleLength = 55; + + public static void PopulateMenu(Form ownerForm, WindowManager windowManager, ToolStrip menu, + WindowHandle currentHandle, EventHandler clickHandler) { + var regions = GetRegions(); + + //Clear + menu.Items.Clear(); + + //"None" selection + var nullTsi = new ToolStripMenuItem(Strings.MenuWindowsNone); + nullTsi.Tag = null; + nullTsi.Click += clickHandler; + nullTsi.Checked = (currentHandle == null); + menu.Items.Add(nullTsi); + + //Add an item for each window + foreach (WindowHandle h in windowManager.Windows) { + //Skip if in the same process + if (h.Handle.Equals(ownerForm.Handle)) + continue; + + var tsi = new ToolStripMenuItem(); + + //Window title + if (h.Title.Length > MaxWindowTitleLength) { + tsi.Text = h.Title.Substring(0, MaxWindowTitleLength) + "..."; + tsi.ToolTipText = h.Title; + } + else + tsi.Text = h.Title; + + //Icon + if (h.Icon != null) { + tsi.Image = h.Icon.ToBitmap(); + } + + //Check if this is the currently displayed window + tsi.Checked = h.Equals(currentHandle); + + //Add direct click if no stored regions + tsi.Tag = new WindowSelectionData { + Handle = h, + Region = null + }; + tsi.Click += clickHandler; + + PopulateRegions(tsi, h, clickHandler, regions); + + menu.Items.Add(tsi); + } + + } + + private static void PopulateRegions(ToolStripMenuItem tsi, WindowHandle handle, + EventHandler clickHandler, IEnumerable regions) { + + if (regions != null) { + //Add subitem for no region + var nullRegionItem = new ToolStripMenuItem(Strings.MenuWindowsWholeRegion); + nullRegionItem.Tag = new WindowSelectionData { + Handle = handle, + Region = null + }; + nullRegionItem.Image = Resources.regions; + nullRegionItem.Click += clickHandler; + tsi.DropDownItems.Add(nullRegionItem); + + foreach (StoredRegion region in regions) { + var regionItem = new ToolStripMenuItem(region.Name); + regionItem.Tag = new WindowSelectionData { + Handle = handle, + Region = region + }; + regionItem.Click += clickHandler; + + tsi.DropDownItems.Add(regionItem); + } + } + } + + private static IEnumerable GetRegions() { + if (Settings.Default.SavedRegions == null || Settings.Default.SavedRegions.Count == 0) + return null; + + StoredRegion[] regions = new StoredRegion[Settings.Default.SavedRegions.Count]; + Settings.Default.SavedRegions.CopyTo(regions); + + Array.Sort(regions, new Comparison((a, b) => { + return a.Name.CompareTo(b.Name); + })); + + return regions; + } + + } +} diff --git a/OnTopReplica/WindowManager.cs b/OnTopReplica/WindowManager.cs new file mode 100644 index 0000000..0af3ba9 --- /dev/null +++ b/OnTopReplica/WindowManager.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica { + /// A helper class that allows you to easily build and keep a list of Windows (in the form of WindowHandle objects). + public class WindowManager { + + List _windows = new List(); + + public enum EnumerationMode { + /// All windows with 'Visible' flag. + AllVisible, + + /// All top level windows. + AllTopLevel, + + /// Windows of a task (like Alt+Tab). + TaskWindows + } + + /// Refreshes the window list. + public void Refresh(EnumerationMode mode) { + _windows = new List(); + + WindowManagerMethods.EnumWindowsProc proc = null; + switch (mode) { + case EnumerationMode.AllVisible: + proc = new WindowManagerMethods.EnumWindowsProc(EnumWindowProcAll); + break; + + case EnumerationMode.AllTopLevel: + proc = new WindowManagerMethods.EnumWindowsProc(EnumWindowProcTopLevel); + break; + + case EnumerationMode.TaskWindows: + proc = new WindowManagerMethods.EnumWindowsProc(EnumWindowProcTask); + break; + } + + WindowManagerMethods.EnumWindows(proc, IntPtr.Zero); + } + + + public IEnumerable Windows { + get { + return _windows; + } + } + + + + private bool EnumWindowProcAll(IntPtr hwnd, IntPtr lParam) { + if (WindowManagerMethods.IsWindowVisible(hwnd)) { + string title = WindowMethods.GetWindowText(hwnd); + _windows.Add( new WindowHandle(hwnd, title)); + } + return true; + } + + private bool EnumWindowProcTopLevel(IntPtr hwnd, IntPtr lParam) { + if (WindowManagerMethods.IsWindowVisible(hwnd)) { + //Check if window has no parent + if ((long)WindowManagerMethods.GetParent(hwnd) == 0 && WindowManagerMethods.GetDesktopWindow() != hwnd) { + string title = WindowMethods.GetWindowText(hwnd); + _windows.Add( new WindowHandle(hwnd, title)); + } + } + return true; + } + + private bool EnumWindowProcTask(IntPtr hwnd, IntPtr lParam) { + //Code taken from: http://www.thescarms.com/VBasic/alttab.aspx + + //Accept windows that + // - are visible + // - do not have a parent + // - have no owner and are not Tool windows OR + // - have an owner and are App windows + + //Reject empty titles + + string title = WindowMethods.GetWindowText(hwnd); + if (string.IsNullOrEmpty(title)) + return true; + + if (WindowManagerMethods.IsWindowVisible(hwnd)) { + if ((long)WindowManagerMethods.GetParent(hwnd) == 0) { + bool hasOwner = (long)WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; + WindowMethods.WindowExStyles exStyle = (WindowMethods.WindowExStyles)WindowMethods.GetWindowLong(hwnd, WindowMethods.WindowLong.ExStyle); + + if (((exStyle & WindowMethods.WindowExStyles.ToolWindow) == 0 && !hasOwner) || //unowned non-tool window + ((exStyle & WindowMethods.WindowExStyles.AppWindow) == WindowMethods.WindowExStyles.AppWindow && hasOwner)) { //owned application window + _windows.Add(new WindowHandle(hwnd, title)); + } + } + } + + return true; + } + + } +} diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config new file mode 100644 index 0000000..f10287c --- /dev/null +++ b/OnTopReplica/app.config @@ -0,0 +1,42 @@ + + + + +
    + + + + + + True + + + 255 + + + (Default) + + + True + + + True + + + True + + + True + + + False + + + + + + + + + + diff --git a/OriginalAssets/icon.pdn b/OriginalAssets/icon.pdn new file mode 100644 index 0000000000000000000000000000000000000000..b6e0be2b3dcb0ad64f68710138b6e7903dbc4ad1 GIT binary patch literal 30322 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�<&}G` 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 Date: Sat, 25 Sep 2010 17:15:54 +0200 Subject: [PATCH 068/164] Mergedown with version update (3.1.1.0). --- OnTopReplica/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs index 46e3969..5fd4749 100644 --- a/OnTopReplica/Properties/AssemblyInfo.cs +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -33,5 +33,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.1.0.0")] -[assembly: AssemblyFileVersion("3.1.0.0")] +[assembly: AssemblyVersion("3.1.1.0")] +[assembly: AssemblyFileVersion("3.1.1.0")] From 8ed4926ce22becf1a1b0c483c0b046dc8b67d461 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Mon, 27 Sep 2010 10:07:48 +0200 Subject: [PATCH 069/164] Some code cleanup and new input status methods. --- .hgignore | 2 +- OnTopReplica/MainForm.cs | 9 +- OnTopReplica/Native/InputMethods.cs | 25 ++++ OnTopReplica/Native/VirtualKeyState.cs | 193 +++++++++++++++++++++++++ OnTopReplica/OnTopReplica.csproj | 2 + OnTopReplica/ThumbnailPanel.cs | 13 +- 6 files changed, 233 insertions(+), 11 deletions(-) create mode 100644 OnTopReplica/Native/InputMethods.cs create mode 100644 OnTopReplica/Native/VirtualKeyState.cs diff --git a/.hgignore b/.hgignore index 104a7be..a80c023 100644 --- a/.hgignore +++ b/.hgignore @@ -2,6 +2,6 @@ glob:OnTopReplica.suo glob:bin/* glob:obj/* glob:publish/* -glob:OnTopReplica/Assets/Thumbs.db +glob:*Thumbs.db glob:*.psd glob:Installer/OnTopReplica-Setup.exe diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 4f9a079..f0dd4c3 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -68,8 +68,7 @@ namespace OnTopReplica { hotKeyMgr.RegisterHotKey(Native.HotKeyModifiers.Control | Native.HotKeyModifiers.Shift, Keys.C, new Native.HotKeyMethods.HotKeyHandler(HotKeyCloneHandler)); - //Hook keyboard handler - this.KeyUp += new KeyEventHandler(Form_KeyUp); + //Set to Key event preview this.KeyPreview = true; } @@ -211,7 +210,7 @@ namespace OnTopReplica { case WM.NCHITTEST: //Make transparent to hit-testing if in click through mode - if (ClickThroughEnabled) { + if (ClickThroughEnabled && (ModifierKeys & Keys.Alt) != Keys.Alt) { m.Result = (IntPtr)HT.TRANSPARENT; return; } @@ -227,7 +226,9 @@ namespace OnTopReplica { #region Keyboard event handling - void Form_KeyUp(object sender, KeyEventArgs e) { + protected override void OnKeyUp(KeyEventArgs e) { + base.OnKeyUp(e); + //ALT if (e.Modifiers == Keys.Alt) { if (e.KeyCode == Keys.Enter) { diff --git a/OnTopReplica/Native/InputMethods.cs b/OnTopReplica/Native/InputMethods.cs new file mode 100644 index 0000000..fe8233e --- /dev/null +++ b/OnTopReplica/Native/InputMethods.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + static class InputMethods { + + [DllImport("user32.dll")] + static extern short GetKeyState(VirtualKeyState nVirtKey); + + const int KeyToggled = 0x1; + + const int KeyPressed = 0x8000; + + public static bool IsKeyPressed(VirtualKeyState virtKey) { + return (GetKeyState(virtKey) & KeyPressed) != 0; + } + + public static bool IsKeyToggled(VirtualKeyState virtKey) { + return (GetKeyState(virtKey) & KeyToggled) != 0; + } + + } +} diff --git a/OnTopReplica/Native/VirtualKeyState.cs b/OnTopReplica/Native/VirtualKeyState.cs new file mode 100644 index 0000000..91e94a0 --- /dev/null +++ b/OnTopReplica/Native/VirtualKeyState.cs @@ -0,0 +1,193 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + enum VirtualKeyState : int { + VK_LBUTTON = 0x01, + VK_RBUTTON = 0x02, + VK_CANCEL = 0x03, + VK_MBUTTON = 0x04, + // + VK_XBUTTON1 = 0x05, + VK_XBUTTON2 = 0x06, + // + VK_BACK = 0x08, + VK_TAB = 0x09, + // + VK_CLEAR = 0x0C, + VK_RETURN = 0x0D, + // + VK_SHIFT = 0x10, + VK_CONTROL = 0x11, + VK_MENU = 0x12, + VK_PAUSE = 0x13, + VK_CAPITAL = 0x14, + // + VK_KANA = 0x15, + VK_HANGEUL = 0x15, /* old name - should be here for compatibility */ + VK_HANGUL = 0x15, + VK_JUNJA = 0x17, + VK_FINAL = 0x18, + VK_HANJA = 0x19, + VK_KANJI = 0x19, + // + VK_ESCAPE = 0x1B, + // + VK_CONVERT = 0x1C, + VK_NONCONVERT = 0x1D, + VK_ACCEPT = 0x1E, + VK_MODECHANGE = 0x1F, + // + VK_SPACE = 0x20, + VK_PRIOR = 0x21, + VK_NEXT = 0x22, + VK_END = 0x23, + VK_HOME = 0x24, + VK_LEFT = 0x25, + VK_UP = 0x26, + VK_RIGHT = 0x27, + VK_DOWN = 0x28, + VK_SELECT = 0x29, + VK_PRINT = 0x2A, + VK_EXECUTE = 0x2B, + VK_SNAPSHOT = 0x2C, + VK_INSERT = 0x2D, + VK_DELETE = 0x2E, + VK_HELP = 0x2F, + // + VK_LWIN = 0x5B, + VK_RWIN = 0x5C, + VK_APPS = 0x5D, + // + VK_SLEEP = 0x5F, + // + VK_NUMPAD0 = 0x60, + VK_NUMPAD1 = 0x61, + VK_NUMPAD2 = 0x62, + VK_NUMPAD3 = 0x63, + VK_NUMPAD4 = 0x64, + VK_NUMPAD5 = 0x65, + VK_NUMPAD6 = 0x66, + VK_NUMPAD7 = 0x67, + VK_NUMPAD8 = 0x68, + VK_NUMPAD9 = 0x69, + VK_MULTIPLY = 0x6A, + VK_ADD = 0x6B, + VK_SEPARATOR = 0x6C, + VK_SUBTRACT = 0x6D, + VK_DECIMAL = 0x6E, + VK_DIVIDE = 0x6F, + VK_F1 = 0x70, + VK_F2 = 0x71, + VK_F3 = 0x72, + VK_F4 = 0x73, + VK_F5 = 0x74, + VK_F6 = 0x75, + VK_F7 = 0x76, + VK_F8 = 0x77, + VK_F9 = 0x78, + VK_F10 = 0x79, + VK_F11 = 0x7A, + VK_F12 = 0x7B, + VK_F13 = 0x7C, + VK_F14 = 0x7D, + VK_F15 = 0x7E, + VK_F16 = 0x7F, + VK_F17 = 0x80, + VK_F18 = 0x81, + VK_F19 = 0x82, + VK_F20 = 0x83, + VK_F21 = 0x84, + VK_F22 = 0x85, + VK_F23 = 0x86, + VK_F24 = 0x87, + // + VK_NUMLOCK = 0x90, + VK_SCROLL = 0x91, + // + VK_OEM_NEC_EQUAL = 0x92, // '=' key on numpad + // + VK_OEM_FJ_JISHO = 0x92, // 'Dictionary' key + VK_OEM_FJ_MASSHOU = 0x93, // 'Unregister word' key + VK_OEM_FJ_TOUROKU = 0x94, // 'Register word' key + VK_OEM_FJ_LOYA = 0x95, // 'Left OYAYUBI' key + VK_OEM_FJ_ROYA = 0x96, // 'Right OYAYUBI' key + // + VK_LSHIFT = 0xA0, + VK_RSHIFT = 0xA1, + VK_LCONTROL = 0xA2, + VK_RCONTROL = 0xA3, + VK_LMENU = 0xA4, + VK_RMENU = 0xA5, + // + VK_BROWSER_BACK = 0xA6, + VK_BROWSER_FORWARD = 0xA7, + VK_BROWSER_REFRESH = 0xA8, + VK_BROWSER_STOP = 0xA9, + VK_BROWSER_SEARCH = 0xAA, + VK_BROWSER_FAVORITES = 0xAB, + VK_BROWSER_HOME = 0xAC, + // + VK_VOLUME_MUTE = 0xAD, + VK_VOLUME_DOWN = 0xAE, + VK_VOLUME_UP = 0xAF, + VK_MEDIA_NEXT_TRACK = 0xB0, + VK_MEDIA_PREV_TRACK = 0xB1, + VK_MEDIA_STOP = 0xB2, + VK_MEDIA_PLAY_PAUSE = 0xB3, + VK_LAUNCH_MAIL = 0xB4, + VK_LAUNCH_MEDIA_SELECT = 0xB5, + VK_LAUNCH_APP1 = 0xB6, + VK_LAUNCH_APP2 = 0xB7, + // + VK_OEM_1 = 0xBA, // ';:' for US + VK_OEM_PLUS = 0xBB, // '+' any country + VK_OEM_COMMA = 0xBC, // ',' any country + VK_OEM_MINUS = 0xBD, // '-' any country + VK_OEM_PERIOD = 0xBE, // '.' any country + VK_OEM_2 = 0xBF, // '/?' for US + VK_OEM_3 = 0xC0, // '`~' for US + // + VK_OEM_4 = 0xDB, // '[{' for US + VK_OEM_5 = 0xDC, // '\|' for US + VK_OEM_6 = 0xDD, // ']}' for US + VK_OEM_7 = 0xDE, // ''"' for US + VK_OEM_8 = 0xDF, + // + VK_OEM_AX = 0xE1, // 'AX' key on Japanese AX kbd + VK_OEM_102 = 0xE2, // "<>" or "\|" on RT 102-key kbd. + VK_ICO_HELP = 0xE3, // Help key on ICO + VK_ICO_00 = 0xE4, // 00 key on ICO + // + VK_PROCESSKEY = 0xE5, + // + VK_ICO_CLEAR = 0xE6, + // + VK_PACKET = 0xE7, + // + VK_OEM_RESET = 0xE9, + VK_OEM_JUMP = 0xEA, + VK_OEM_PA1 = 0xEB, + VK_OEM_PA2 = 0xEC, + VK_OEM_PA3 = 0xED, + VK_OEM_WSCTRL = 0xEE, + VK_OEM_CUSEL = 0xEF, + VK_OEM_ATTN = 0xF0, + VK_OEM_FINISH = 0xF1, + VK_OEM_COPY = 0xF2, + VK_OEM_AUTO = 0xF3, + VK_OEM_ENLW = 0xF4, + VK_OEM_BACKTAB = 0xF5, + // + VK_ATTN = 0xF6, + VK_CRSEL = 0xF7, + VK_EXSEL = 0xF8, + VK_EREOF = 0xF9, + VK_PLAY = 0xFA, + VK_ZOOM = 0xFB, + VK_NONAME = 0xFC, + VK_PA1 = 0xFD, + VK_OEM_CLEAR = 0xFE + } +} diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 6820fe6..a051510 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -131,10 +131,12 @@ + + diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs index ab2fa23..44d3979 100644 --- a/OnTopReplica/ThumbnailPanel.cs +++ b/OnTopReplica/ThumbnailPanel.cs @@ -139,11 +139,12 @@ namespace OnTopReplica { protected override void WndProc(ref Message m) { base.WndProc(ref m); - //Make transparent to hit-testing if clicks must not be registered - if (m.Msg == WM.NCHITTEST && m.Result.ToInt32() == HT.CLIENT && - !DrawMouseRegions && !ReportThumbnailClicks) { - - m.Result = new IntPtr(HT.TRANSPARENT); + //Check whether this is a hit-test on "client" surface + if (m.Msg == WM.NCHITTEST && m.Result.ToInt32() == HT.CLIENT) { + //Check whether clicks must be reported + if(!DrawMouseRegions && !ReportThumbnailClicks /*&& !InputMethods.IsKeyPressed(VirtualKeyState.VK_SHIFT)*/){ + m.Result = new IntPtr(HT.TRANSPARENT); + } } } @@ -310,7 +311,7 @@ namespace OnTopReplica { } protected override void OnMouseUp(MouseEventArgs e) { - if (_drawMouseRegions && e.Button == MouseButtons.Left) { + if (DrawMouseRegions && e.Button == MouseButtons.Left) { //Region completed _drawingRegion = false; _drawingSuspended = false; From dcc218366f170203348246ccdfa33dcc1e9e20cf Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 5 Oct 2010 21:54:02 +0200 Subject: [PATCH 070/164] Fullscreen mode bugfix (now correctly keeps original size and original chrome status). --- .hgignore | 7 + Installer/header.bmp | Bin 0 -> 25818 bytes Installer/script.nsi | 112 ++ Installer/update.xml | 6 + Lib/VistaControls.dll | Bin 0 -> 95744 bytes Lib/VistaControls.pdb | Bin 0 -> 243200 bytes Lib/VistaControls.xml | 1022 +++++++++++++ OnTopReplica.sln | 20 + OnTopReplica/AboutForm.Designer.cs | 236 +++ OnTopReplica/AboutForm.cs | 153 ++ OnTopReplica/AboutForm.resx | 309 ++++ OnTopReplica/AspectRatioForm.cs | 214 +++ OnTopReplica/Assets/25.png | Bin 0 -> 639 bytes OnTopReplica/Assets/arrow_down.png | Bin 0 -> 218 bytes OnTopReplica/Assets/arrow_up.png | Bin 0 -> 209 bytes OnTopReplica/Assets/back.png | Bin 0 -> 150765 bytes OnTopReplica/Assets/clickforwarding.png | Bin 0 -> 951 bytes OnTopReplica/Assets/component.png | Bin 0 -> 731 bytes OnTopReplica/Assets/desktop.png | Bin 0 -> 794 bytes OnTopReplica/Assets/empty-window.ico | Bin 0 -> 10806 bytes OnTopReplica/Assets/flag_czech.png | Bin 0 -> 241 bytes OnTopReplica/Assets/flag_danish.png | Bin 0 -> 347 bytes OnTopReplica/Assets/flag_ita.png | Bin 0 -> 209 bytes OnTopReplica/Assets/flag_usa.png | Bin 0 -> 355 bytes OnTopReplica/Assets/flags.pdn | Bin 0 -> 5422 bytes OnTopReplica/Assets/fullscreen.png | Bin 0 -> 396 bytes OnTopReplica/Assets/groupmode.png | Bin 0 -> 837 bytes OnTopReplica/Assets/icon-new-red.ico | Bin 0 -> 86918 bytes OnTopReplica/Assets/icon-new.ico | Bin 0 -> 86918 bytes OnTopReplica/Assets/icon.ico | Bin 0 -> 7358 bytes OnTopReplica/Assets/icon.png | Bin 0 -> 7335 bytes OnTopReplica/Assets/list.png | Bin 0 -> 681 bytes OnTopReplica/Assets/newicon.png | Bin 0 -> 770 bytes OnTopReplica/Assets/pos_bottomleft.pdn | Bin 0 -> 6696 bytes OnTopReplica/Assets/pos_bottomleft.png | Bin 0 -> 267 bytes OnTopReplica/Assets/pos_bottomright.png | Bin 0 -> 267 bytes OnTopReplica/Assets/pos_null.png | Bin 0 -> 250 bytes OnTopReplica/Assets/pos_topleft.png | Bin 0 -> 280 bytes OnTopReplica/Assets/pos_topright.png | Bin 0 -> 278 bytes OnTopReplica/Assets/reduce.png | Bin 0 -> 259 bytes OnTopReplica/Assets/regions.png | Bin 0 -> 296 bytes OnTopReplica/Assets/regions_new.png | Bin 0 -> 207 bytes OnTopReplica/Assets/screenshot-icon.ico | Bin 0 -> 99678 bytes OnTopReplica/Assets/thumbs_up.png | Bin 0 -> 2318 bytes OnTopReplica/Assets/window16.png | Bin 0 -> 862 bytes OnTopReplica/Assets/window_border16.png | Bin 0 -> 683 bytes OnTopReplica/Assets/window_multiple.pdn | Bin 0 -> 8806 bytes OnTopReplica/Assets/window_multiple16.ico | Bin 0 -> 894 bytes OnTopReplica/Assets/window_multiple16.png | Bin 0 -> 1012 bytes OnTopReplica/Assets/window_multiple48.png | Bin 0 -> 1736 bytes OnTopReplica/Assets/window_opacity16.png | Bin 0 -> 894 bytes OnTopReplica/Assets/window_opacity_new.png | Bin 0 -> 810 bytes OnTopReplica/Assets/window_switch.pdn | Bin 0 -> 10464 bytes OnTopReplica/Assets/window_switch.png | Bin 0 -> 456 bytes OnTopReplica/Assets/windows.png | Bin 0 -> 28010 bytes OnTopReplica/Assets/x-oblique.png | Bin 0 -> 3459 bytes OnTopReplica/Assets/xiao_add.png | Bin 0 -> 753 bytes OnTopReplica/Assets/xiao_arrow.png | Bin 0 -> 437 bytes OnTopReplica/Assets/xiao_delete.png | Bin 0 -> 715 bytes OnTopReplica/Assets/xiao_down.png | Bin 0 -> 761 bytes OnTopReplica/Assets/xiao_help.png | Bin 0 -> 752 bytes OnTopReplica/Assets/xiao_ok.png | Bin 0 -> 752 bytes OnTopReplica/Assets/xiao_up.png | Bin 0 -> 744 bytes OnTopReplica/Assets/xiao_wrench.png | Bin 0 -> 459 bytes OnTopReplica/CloneClickEventArgs.cs | 29 + OnTopReplica/CloseRequestEventArgs.cs | 13 + OnTopReplica/EnumerationExtensions.cs | 22 + OnTopReplica/FocusedTextBox.cs | 69 + OnTopReplica/IMessagePumpProcessor.cs | 15 + OnTopReplica/MainForm.Designer.cs | 573 +++++++ OnTopReplica/MainForm.cs | 544 +++++++ OnTopReplica/MainForm.resx | 324 ++++ OnTopReplica/MainForm_ChildForms.cs | 105 ++ OnTopReplica/MainForm_Gui.cs | 128 ++ OnTopReplica/MainForm_MenuEvents.cs | 234 +++ OnTopReplica/MessagePumpManager.cs | 85 ++ .../BaseMessagePumpProcessor.cs | 39 + .../GroupSwitchManager.cs | 143 ++ .../MessagePumpProcessors/HotKeyManager.cs | 50 + .../MessagePumpProcessors/TitleSetter.cs | 41 + .../MessagePumpProcessors/WindowKeeper.cs | 39 + OnTopReplica/Native/CommonControls.cs | 30 + OnTopReplica/Native/ErrorMethods.cs | 37 + OnTopReplica/Native/HT.cs | 14 + OnTopReplica/Native/HookMethods.cs | 50 + OnTopReplica/Native/HotKeyMethods.cs | 32 + OnTopReplica/Native/ITaskBarList.cs | 45 + OnTopReplica/Native/MK.cs | 14 + OnTopReplica/Native/MessagingMethods.cs | 34 + OnTopReplica/Native/Point.cs | 36 + OnTopReplica/Native/Rectangle.cs | 51 + OnTopReplica/Native/WM.cs | 28 + OnTopReplica/Native/WMSZ.cs | 15 + OnTopReplica/Native/WindowManagerMethods.cs | 88 ++ OnTopReplica/Native/WindowMethods.cs | 127 ++ OnTopReplica/Native/WindowsSevenMethods.cs | 20 + OnTopReplica/NativeToolStripRenderer.cs | 587 ++++++++ OnTopReplica/NotificationIcon.cs | 84 ++ OnTopReplica/OnTopReplica.csproj | 424 ++++++ OnTopReplica/OnTopReplica.csproj.user | 18 + OnTopReplica/OnTopReplica.exe.manifest | 22 + OnTopReplica/PlatformSupport.cs | 109 ++ OnTopReplica/Platforms/Other.cs | 16 + OnTopReplica/Platforms/WindowsSeven.cs | 52 + OnTopReplica/Platforms/WindowsVista.cs | 44 + OnTopReplica/Platforms/WindowsXp.cs | 15 + OnTopReplica/Program.cs | 120 ++ OnTopReplica/Properties/AssemblyInfo.cs | 37 + OnTopReplica/Properties/Resources.Designer.cs | 315 ++++ OnTopReplica/Properties/Resources.resx | 230 +++ OnTopReplica/Properties/Settings.Designer.cs | 157 ++ OnTopReplica/Properties/Settings.settings | 39 + OnTopReplica/Properties/app.manifest | 26 + OnTopReplica/SidePanel.cs | 49 + .../SidePanels/GroupSwitchPanel.Designer.cs | 129 ++ OnTopReplica/SidePanels/GroupSwitchPanel.cs | 73 + OnTopReplica/SidePanels/GroupSwitchPanel.resx | 120 ++ .../SidePanels/RegionPanel.Designer.cs | 314 ++++ OnTopReplica/SidePanels/RegionPanel.cs | 217 +++ OnTopReplica/SidePanels/RegionPanel.resx | 120 ++ OnTopReplica/StoredRegion.cs | 63 + OnTopReplica/StoredRegionArray.cs | 39 + OnTopReplica/StoredRegionComparer.cs | 28 + OnTopReplica/Strings.Designer.cs | 1324 +++++++++++++++++ OnTopReplica/Strings.cs.resx | 456 ++++++ OnTopReplica/Strings.da.resx | 451 ++++++ OnTopReplica/Strings.de.resx | 15 + OnTopReplica/Strings.es.resx | 90 ++ OnTopReplica/Strings.fi.resx | 15 + OnTopReplica/Strings.it.resx | 487 ++++++ OnTopReplica/Strings.no.resx | 15 + OnTopReplica/Strings.pt.resx | 15 + OnTopReplica/Strings.resx | 487 ++++++ OnTopReplica/Strings.ru.resx | 15 + OnTopReplica/ThumbnailPanel.cs | 446 ++++++ .../Update/UpdateCheckCompletedEventArgs.cs | 15 + OnTopReplica/Update/UpdateInformation.cs | 72 + OnTopReplica/Update/UpdateManager.cs | 106 ++ OnTopReplica/Win32Helper.cs | 122 ++ OnTopReplica/WindowHandle.cs | 85 ++ OnTopReplica/WindowListHelper.cs | 111 ++ OnTopReplica/WindowManager.cs | 104 ++ OnTopReplica/app.config | 42 + OriginalAssets/icon.pdn | Bin 0 -> 30322 bytes OriginalAssets/new-icon.png | Bin 0 -> 24269 bytes 145 files changed, 13073 insertions(+) create mode 100644 .hgignore create mode 100644 Installer/header.bmp create mode 100644 Installer/script.nsi create mode 100644 Installer/update.xml create mode 100644 Lib/VistaControls.dll create mode 100644 Lib/VistaControls.pdb create mode 100644 Lib/VistaControls.xml create mode 100644 OnTopReplica.sln create mode 100644 OnTopReplica/AboutForm.Designer.cs create mode 100644 OnTopReplica/AboutForm.cs create mode 100644 OnTopReplica/AboutForm.resx create mode 100644 OnTopReplica/AspectRatioForm.cs create mode 100644 OnTopReplica/Assets/25.png create mode 100644 OnTopReplica/Assets/arrow_down.png create mode 100644 OnTopReplica/Assets/arrow_up.png create mode 100644 OnTopReplica/Assets/back.png create mode 100644 OnTopReplica/Assets/clickforwarding.png create mode 100644 OnTopReplica/Assets/component.png create mode 100644 OnTopReplica/Assets/desktop.png create mode 100644 OnTopReplica/Assets/empty-window.ico create mode 100644 OnTopReplica/Assets/flag_czech.png create mode 100644 OnTopReplica/Assets/flag_danish.png create mode 100644 OnTopReplica/Assets/flag_ita.png create mode 100644 OnTopReplica/Assets/flag_usa.png create mode 100644 OnTopReplica/Assets/flags.pdn create mode 100644 OnTopReplica/Assets/fullscreen.png create mode 100644 OnTopReplica/Assets/groupmode.png create mode 100644 OnTopReplica/Assets/icon-new-red.ico create mode 100644 OnTopReplica/Assets/icon-new.ico create mode 100644 OnTopReplica/Assets/icon.ico create mode 100644 OnTopReplica/Assets/icon.png create mode 100644 OnTopReplica/Assets/list.png create mode 100644 OnTopReplica/Assets/newicon.png create mode 100644 OnTopReplica/Assets/pos_bottomleft.pdn create mode 100644 OnTopReplica/Assets/pos_bottomleft.png create mode 100644 OnTopReplica/Assets/pos_bottomright.png create mode 100644 OnTopReplica/Assets/pos_null.png create mode 100644 OnTopReplica/Assets/pos_topleft.png create mode 100644 OnTopReplica/Assets/pos_topright.png create mode 100644 OnTopReplica/Assets/reduce.png create mode 100644 OnTopReplica/Assets/regions.png create mode 100644 OnTopReplica/Assets/regions_new.png create mode 100644 OnTopReplica/Assets/screenshot-icon.ico create mode 100644 OnTopReplica/Assets/thumbs_up.png create mode 100644 OnTopReplica/Assets/window16.png create mode 100644 OnTopReplica/Assets/window_border16.png create mode 100644 OnTopReplica/Assets/window_multiple.pdn create mode 100644 OnTopReplica/Assets/window_multiple16.ico create mode 100644 OnTopReplica/Assets/window_multiple16.png create mode 100644 OnTopReplica/Assets/window_multiple48.png create mode 100644 OnTopReplica/Assets/window_opacity16.png create mode 100644 OnTopReplica/Assets/window_opacity_new.png create mode 100644 OnTopReplica/Assets/window_switch.pdn create mode 100644 OnTopReplica/Assets/window_switch.png create mode 100644 OnTopReplica/Assets/windows.png create mode 100644 OnTopReplica/Assets/x-oblique.png create mode 100644 OnTopReplica/Assets/xiao_add.png create mode 100644 OnTopReplica/Assets/xiao_arrow.png create mode 100644 OnTopReplica/Assets/xiao_delete.png create mode 100644 OnTopReplica/Assets/xiao_down.png create mode 100644 OnTopReplica/Assets/xiao_help.png create mode 100644 OnTopReplica/Assets/xiao_ok.png create mode 100644 OnTopReplica/Assets/xiao_up.png create mode 100644 OnTopReplica/Assets/xiao_wrench.png create mode 100644 OnTopReplica/CloneClickEventArgs.cs create mode 100644 OnTopReplica/CloseRequestEventArgs.cs create mode 100644 OnTopReplica/EnumerationExtensions.cs create mode 100644 OnTopReplica/FocusedTextBox.cs create mode 100644 OnTopReplica/IMessagePumpProcessor.cs create mode 100644 OnTopReplica/MainForm.Designer.cs create mode 100644 OnTopReplica/MainForm.cs create mode 100644 OnTopReplica/MainForm.resx create mode 100644 OnTopReplica/MainForm_ChildForms.cs create mode 100644 OnTopReplica/MainForm_Gui.cs create mode 100644 OnTopReplica/MainForm_MenuEvents.cs create mode 100644 OnTopReplica/MessagePumpManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs create mode 100644 OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/HotKeyManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/TitleSetter.cs create mode 100644 OnTopReplica/MessagePumpProcessors/WindowKeeper.cs create mode 100644 OnTopReplica/Native/CommonControls.cs create mode 100644 OnTopReplica/Native/ErrorMethods.cs create mode 100644 OnTopReplica/Native/HT.cs create mode 100644 OnTopReplica/Native/HookMethods.cs create mode 100644 OnTopReplica/Native/HotKeyMethods.cs create mode 100644 OnTopReplica/Native/ITaskBarList.cs create mode 100644 OnTopReplica/Native/MK.cs create mode 100644 OnTopReplica/Native/MessagingMethods.cs create mode 100644 OnTopReplica/Native/Point.cs create mode 100644 OnTopReplica/Native/Rectangle.cs create mode 100644 OnTopReplica/Native/WM.cs create mode 100644 OnTopReplica/Native/WMSZ.cs create mode 100644 OnTopReplica/Native/WindowManagerMethods.cs create mode 100644 OnTopReplica/Native/WindowMethods.cs create mode 100644 OnTopReplica/Native/WindowsSevenMethods.cs create mode 100644 OnTopReplica/NativeToolStripRenderer.cs create mode 100644 OnTopReplica/NotificationIcon.cs create mode 100644 OnTopReplica/OnTopReplica.csproj create mode 100644 OnTopReplica/OnTopReplica.csproj.user create mode 100644 OnTopReplica/OnTopReplica.exe.manifest create mode 100644 OnTopReplica/PlatformSupport.cs create mode 100644 OnTopReplica/Platforms/Other.cs create mode 100644 OnTopReplica/Platforms/WindowsSeven.cs create mode 100644 OnTopReplica/Platforms/WindowsVista.cs create mode 100644 OnTopReplica/Platforms/WindowsXp.cs create mode 100644 OnTopReplica/Program.cs create mode 100644 OnTopReplica/Properties/AssemblyInfo.cs create mode 100644 OnTopReplica/Properties/Resources.Designer.cs create mode 100644 OnTopReplica/Properties/Resources.resx create mode 100644 OnTopReplica/Properties/Settings.Designer.cs create mode 100644 OnTopReplica/Properties/Settings.settings create mode 100644 OnTopReplica/Properties/app.manifest create mode 100644 OnTopReplica/SidePanel.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.resx create mode 100644 OnTopReplica/SidePanels/RegionPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/RegionPanel.cs create mode 100644 OnTopReplica/SidePanels/RegionPanel.resx create mode 100644 OnTopReplica/StoredRegion.cs create mode 100644 OnTopReplica/StoredRegionArray.cs create mode 100644 OnTopReplica/StoredRegionComparer.cs create mode 100644 OnTopReplica/Strings.Designer.cs create mode 100644 OnTopReplica/Strings.cs.resx create mode 100644 OnTopReplica/Strings.da.resx create mode 100644 OnTopReplica/Strings.de.resx create mode 100644 OnTopReplica/Strings.es.resx create mode 100644 OnTopReplica/Strings.fi.resx create mode 100644 OnTopReplica/Strings.it.resx create mode 100644 OnTopReplica/Strings.no.resx create mode 100644 OnTopReplica/Strings.pt.resx create mode 100644 OnTopReplica/Strings.resx create mode 100644 OnTopReplica/Strings.ru.resx create mode 100644 OnTopReplica/ThumbnailPanel.cs create mode 100644 OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs create mode 100644 OnTopReplica/Update/UpdateInformation.cs create mode 100644 OnTopReplica/Update/UpdateManager.cs create mode 100644 OnTopReplica/Win32Helper.cs create mode 100644 OnTopReplica/WindowHandle.cs create mode 100644 OnTopReplica/WindowListHelper.cs create mode 100644 OnTopReplica/WindowManager.cs create mode 100644 OnTopReplica/app.config create mode 100644 OriginalAssets/icon.pdn create mode 100644 OriginalAssets/new-icon.png diff --git a/.hgignore b/.hgignore new file mode 100644 index 0000000..104a7be --- /dev/null +++ b/.hgignore @@ -0,0 +1,7 @@ +glob:OnTopReplica.suo +glob:bin/* +glob:obj/* +glob:publish/* +glob:OnTopReplica/Assets/Thumbs.db +glob:*.psd +glob:Installer/OnTopReplica-Setup.exe diff --git a/Installer/header.bmp b/Installer/header.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7326b9c94076c8120ed837e0ccc93af0066fe9d5 GIT binary patch literal 25818 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 KA>PL3{`nV$p^qy7 literal 0 HcmV?d00001 diff --git a/Installer/script.nsi b/Installer/script.nsi new file mode 100644 index 0000000..2a5aa56 --- /dev/null +++ b/Installer/script.nsi @@ -0,0 +1,112 @@ +# INCLUDES +!include MUI2.nsh ;Modern interface +!include LogicLib.nsh ;nsDialogs + +# INIT +Name "OnTopReplica" +InstallDir "$LOCALAPPDATA\OnTopReplica" +OutFile "OnTopReplica-Setup.exe" +RequestExecutionLevel user + +# REFS +!define REG_UNINSTALL "Software\Microsoft\Windows\CurrentVersion\Uninstall\OnTopReplica" +!define START_LINK_DIR "$STARTMENU\Programs\OnTopReplica" +!define START_LINK_RUN "$STARTMENU\Programs\OnTopReplica\OnTopReplica.lnk" +!define START_LINK_UNINSTALLER "$STARTMENU\Programs\OnTopReplica\Uninstall OnTopReplica.lnk" +!define UNINSTALLER_NAME "OnTopReplica-Uninstall.exe" +!define WEBSITE_LINK "http://www.klopfenstein.net/lorenz.aspx/ontopreplica" + +# GRAPHICS +!define MUI_ICON "..\OnTopReplica\Assets\icon-new.ico" +!define MUI_UNICON "..\OnTopReplica\Assets\icon-new-red.ico" +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_RIGHT +!define MUI_HEADERIMAGE_BITMAP "header.bmp" +!define MUI_HEADERIMAGE_UNBITMAP "header.bmp" +#!define MUI_WELCOMEFINISHPAGE_BITMAP "banner.bmp" +#!define MUI_UNWELCOMEFINISHPAGE_BITMAP "banner.bmp" + +# TEXT AND SETTINGS +!define MUI_PAGE_HEADER_TEXT "OnTopReplica" + +!define MUI_FINISHPAGE_RUN "$INSTDIR\OnTopReplica.exe" +;!define MUI_FINISHPAGE_RUN_TEXT "Run OnTopReplica now." + +;Do not skip to finish automatially +!define MUI_FINISHPAGE_NOAUTOCLOSE +!define MUI_UNFINISHPAGE_NOAUTOCLOSE + +# PAGE DEFINITIONS +!insertmacro MUI_PAGE_WELCOME +;!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +# LANGUAGES +!insertmacro MUI_LANGUAGE "English" + +# CALLBACKS +Function RegisterApplication + ;Register uninstaller into Add/Remove panel (for local user only) + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayName" "OnTopReplica" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayIcon" "$\"$INSTDIR\OnTopReplica.exe$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "Publisher" "Lorenz Cuno Klopfenstein" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayVersion" "3.1.0.0" + WriteRegDWord HKCU "${REG_UNINSTALL}" "EstimatedSize" 800 ;KB + WriteRegStr HKCU "${REG_UNINSTALL}" "HelpLink" "${WEBSITE_LINK}" + WriteRegStr HKCU "${REG_UNINSTALL}" "URLInfoAbout" "${WEBSITE_LINK}" + WriteRegStr HKCU "${REG_UNINSTALL}" "InstallLocation" "$\"$INSTDIR$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "InstallSource" "$\"$EXEDIR$\"" + WriteRegDWord HKCU "${REG_UNINSTALL}" "NoModify" 1 + WriteRegDWord HKCU "${REG_UNINSTALL}" "NoRepair" 1 + WriteRegStr HKCU "${REG_UNINSTALL}" "UninstallString" "$\"$INSTDIR\${UNINSTALLER_NAME}$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "Comments" "Uninstalls OnTopReplica." + + ;Links + SetShellVarContext current + CreateDirectory "${START_LINK_DIR}" + CreateShortCut "${START_LINK_RUN}" "$INSTDIR\OnTopReplica.exe" + CreateShortCut "${START_LINK_UNINSTALLER}" "$INSTDIR\${UNINSTALLER_NAME}" +FunctionEnd + +Function un.DeregisterApplication + ;Deregister uninstaller from Add/Remove panel + DeleteRegKey HKCU "${REG_UNINSTALL}" + + ;Start menu links + SetShellVarContext current + RMDir /r "${START_LINK_DIR}" +FunctionEnd + +# INSTALL SECTIONS +Section "!OnTopReplica" OnTopReplica + SectionIn RO + + SetOutPath $INSTDIR + SetOverwrite on + File "..\OnTopReplica\bin\Release\OnTopReplica.exe" + File "..\OnTopReplica\bin\Release\VistaControls.dll" + + ;Install localization files + SetOutPath "$INSTDIR\it" + File "..\OnTopReplica\bin\Release\it\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\cs" + File "..\OnTopReplica\bin\Release\cs\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\da" + File "..\OnTopReplica\bin\Release\da\OnTopReplica.resources.dll" + + ;Uninstaller + WriteUninstaller "$INSTDIR\${UNINSTALLER_NAME}" + Call RegisterApplication +SectionEnd + +Section "Uninstall" + ;Remove whole directory (no data is stored there anyway) + RMDir /r "$INSTDIR" + + ;Remove uninstaller + Call un.DeregisterApplication +SectionEnd diff --git a/Installer/update.xml b/Installer/update.xml new file mode 100644 index 0000000..dd2bd9d --- /dev/null +++ b/Installer/update.xml @@ -0,0 +1,6 @@ + + + 3.1.0.0 + 2010-09-09T00:00:00Z + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + \ No newline at end of file diff --git a/Lib/VistaControls.dll b/Lib/VistaControls.dll new file mode 100644 index 0000000000000000000000000000000000000000..2b197bd372971504c5976d1983ba21795541ac1d GIT binary patch literal 95744 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 N9o)_wbscR&005)FFoOU9 literal 0 HcmV?d00001 diff --git a/Lib/VistaControls.pdb b/Lib/VistaControls.pdb new file mode 100644 index 0000000000000000000000000000000000000000..3fb6e9f536b9812d966ba4ab23f3b6c654433455 GIT binary patch literal 243200 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�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 HPl5jhB3wyQ literal 0 HcmV?d00001 diff --git a/Lib/VistaControls.xml b/Lib/VistaControls.xml new file mode 100644 index 0000000..cf4c8fb --- /dev/null +++ b/Lib/VistaControls.xml @@ -0,0 +1,1022 @@ + + + + VistaControls + + + + Common Task Dialog buttons. OK is the default button. + + + Represents a custom button shown on a Task Dialog. + + + Instantiates a new custom button with an ID and a text. + Unique ID that will be returned by the Task Dialog if the button is clicked. + Use values greater than 8 to prevent conflicts with common buttons. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + Instantiates a new custom button with an ID and a text. + Common ID that will be returned by the Task Dialog if the button is clicked. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + Unique ID that will be returned by the Task Dialog if the button is clicked. + + + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + + Adds a handler on the Form that enables the user to move the window around + by clicking on a glass margin (or the title bar, as usual). + + The form that will be controlled. + Margins of the glass sheet. + + Eventual UI elements on the glass sheet will prevent the handler from receiving events + (except the ThemeText control, which manually redirects mouse events to the form). + + + + + Adds a handler on the Form that automatically paints the glass background black + + The form that will be controlled. + Margins of the glass sheet. + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + Control style and notification constants + + + + Stores a Task Dialog message that will be sent to a dialog in order to update its state. + + + Simple int, int message. + + + Simple int, bool message. + + + Simple bool, bool message. + + + Simple bool, int message. + + + Simple int, long (hi word and lo word) message. + + + Text updating message. + The string will be marshaled: the Message must be correctly disposed after use. + + + Navigation message. + The config structure will be marshaled: must be correctly disposed after use. + + + Text values that can be updated. + + + A standard WinForms text box presenting the common Vista "search" interface. + Reacts on user input by raising "SearchStarted" events. + + + Puts the focus on the text box and moves the caret to the end of the text, without selecting it. + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + Gets or sets the background Color of the button when the mouse hovers on it. + + + Gets or sets the ForeColor of the control when the search box is active. + + + Gets or sets the BackColor of the control when the search box is active. + + + Gets or sets the ForeColor of the control when the search box is inactive. + + + Gets or sets the BackColor of the control when the search box is inactive. + + + Temporary ForeColor property of the control. You should use InactiveForeColor and ActiveForeColor instead. + + + Temporary BackColor property of the control. You should use InactiveBackColor and ActiveBackColor instead. + + + Gets or sets the text that is shown on top of the text box when the user hasn't entered any text. + + + Gets or sets the font used in the search text box. + Equals to the Font property. + + + Gets or sets the font used to write the "inactivity label" on top of the control when the user hasn't entered any text. + + + Overall Font property of the control. Property changes are forwarded to the ActiveFont property. + + + Returns true if the user entered some text in the search textbox. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + Displays a dialog box that can contain text, icons, buttons, command links, radio buttons and/or a progress bar. + + + Initializes a new Task Dialog instance without text. + + + Initializes a new Task Dialog instance with text. + The main instruction to display. + + + Initializes a new Task Dialog instance with an instruction and a title. + The main instruction to display. + The title of the Task Dialog. + + + Initializes a new Task Dialog instance with an instruction, a title and some content text. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + + + Initializes a new Task Dialog instance with an instruction, a title, some content text and a specific button. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. + + + Initializes a new Task Dialog instance with an instruction, a title, some content text, a specific button and an icon. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. + The icon to display. + + + Injects a virtual button click. + Numeric id of the clicked button. + + + Injects a virtual radio button click. + Numeric id of the clicked radio button. + + + Injects a virtual checkbox click. + New state of the verification checkbox. + Sets whether the checkbox should have focus after state change. + + + Enables or disables a button of the dialog. + Id of the button whose state will be changed. + New state of the button. + + + Enables or disables a radio button of the dialog. + Id of the radio button whose state will be changed. + New state of the button. + + + Creates a new Task Dialog setup and replaces the existing one. Note that the window will not be + destroyed and that you should keep the existing TaskDialog reference (event handlers will still be + registered). The existing Task Dialog will simply reset and use the options of the new one. + An instance of Task Dialog, whose settings will be copied into the existing dialog. + You may safely destroy the nextDialog instance after use (do not register to events on it). + + + Adds or removes an UAC Shield icon from a button. + Id of the button. + Sets whether to display a Shield icon or not. + + + Sets whether the dialog's progress bar should be in standard or in marquee mode. + True if the progress bar should be displayed in marquee mode (no explicit progress). + + + Sets whether the dialog's progress bar should be in standard or in marquee mode and sets its marquee speed. + True if the progress bar should be displayed in marquee mode (no explicit progress). + Speed of the progress bar in marquee mode. + + + Common native callback for Task Dialogs. Will route events to the user event handler. + TODO: Currently unused, would need complex marshaling of data. + + + Prepares the internal configuration structure. + Allocates some unmanaged memory, must always be followed by a PostConfig() call. + + + Frees the unmanages memory allocated by PreConfig(). + + + Displays the task dialog without an explicit parent. + + + Displays the task dialog with an explicit parent window. + Handle to the dialog's parent window. + + + Displays the task dialog with an explicit parent form. + Instance of the dialog's parent form. + + + Displays a task dialog that has a message. + The text to display. + + + Displays a task dialog that has a message and a title. + The text to display. + The title bar caption of the dialog. + + + Displays a task dialog that has a message, a title and an instruction. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + + + Displays a task dialog that has a message, a title, an instruction and one or more buttons. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + + + Displays a task dialog that has a message, a title, an instruction, one or more buttons and an icon. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + The icon to display. + + + Is true if the task dialog is currently displayed. + + + Gets or sets the title of the dialog. + + + Gets or sets the icon of the dialog, from a set of common icons. + + + Gets or sets the icon of the dialog, from a custom Icon instance. + + + Gets or sets the dialog's buttons, from one or more common button types. + + + Gets or sets a set of custom buttons which will be displayed on the dialog. + These buttons can also be shown as Command Links optionally. + + + Gets or sets the integer identificator of the dialog's default button. + + + Gets or sets a set of custom buttons which will be displayed as radio buttons. + + + Gets or sets the identificator of the enabled radio button by default. + + + Gets or sets the text that will be shown next to a verification checkbox. + + + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, + when the dialog is in expanded mode. + + + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, + when the dialog is in collapsed mode. + + + Gets or sets the icon shown in the dialog's footer, from a set of common icons. + + + Gets or sets the icon shown in the dialog's footer, from a custom Icon instance. + + + Explicitly sets the desiderd width in pixels of the dialog. + Will be set automatically by the task dialog to an optimal size. + + + Gets or Sets the Main Instruction text of the TaskDialog. + Text written in blue and slightly bigger font in Windows Aero. + + + Gets or sets the Content text of the TaskDialog. + Text written with standard font, right below the Main instruction. + + + Gets or Sets the expanded information text, that will be optionally shown + by clicking on the Expand control. + + + Gets or Sets the Footer text. + + + Gets or sets the current Progress bar value. + + + Gets of sets the minimum value allowed by the Progress bar. + + + Gets or sets the maximum value allowed by the Progress bar. + + + Gets or sets the current Progress bar state. + Determines the bar's color and behavior. + + + Enables or disables Hyperlinks in the content (in the form of <A HREF="link">). + + + Gets or sets whether the dialog can be cancelled (ESC, ALT+F4 and X button) even if no Cancel button has been specified. + + + Gets or sets whether Command Link buttons should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). + + + Gets or sets whether Command Link buttons wihtout icon should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). + + + Gets or sets whether the ExpandedInformation should be shown in the Footer area (instead of under the Content text). + + + Gets or sets whether the ExpandedInformation is visible on dialog creation. + + + Gets or sets whether the Verification checkbox should be checked when the dialog is shown. + + + Gets or sets whether a progress bar should be displayed on the dialog. + + + Sets or gets whether the user specified callback (if any) should be called every 200ms. + + + Gets or sets whether the dialog should be positioned centered on the parent window. + + + Enables or disables right to left reading order. + + + Gets or sets whether there should be a selected radio button by default when the dialog is shown. + + + Gets or sets whether the dialog may be minimized or not. + + + Occurs when the Task Dialog is first created and before it is displayed (is sent after Construction event). + + + Occurs when the user clicks a button or a command link. By default the Dialog is closed after the notification. + + + Occurs when the user clicks on a Hyperlink in the Content text. + + + Occurs when a navigation event is raised. + + + Occurs approximately every 200ms if the Task Dialog callback timer is enabled. + + + Occurs when the Task Dialog is destroyed and the handle to the dialog is not valid anymore. + + + Occurs when the user selects a radio button. + + + Occurs when the Task Dialog is constructed and before it is displayed (is sent before Creation event). + + + Occurs when the user switches the state of the Verification Checkbox. + + + Occurs when the user presses F1 when the Task Dialog has focus. + + + Occurs when the user clicks on the expand button of the dialog, before the dialog is expanded. + + + Occurs when the split label is clicked. + + + Occurs when the split label is clicked, but before the associated + context menu is displayed by the control. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. Exposed for backward compatibility. + + + Provides data for the clicking of split buttons and the opening + of context menus. + + + Represents the bounding box of the clicked button. + A menu should be opened, with top-left coordinates in the left-bottom point of + the rectangle and with width equal (or greater) than the width of the rectangle. + + + Set to true if you want to prevent the menu from opening. + + + Margins structure for the Glass Sheet effect. + + + + Returns whether a point in client coordinates is outside the margins defined by this instance. + + Point in client coordinates. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Common Controls library version 6.0 not loaded. Must run on Vista and must provide a manifest.. + + + + + Looks up a localized string similar to Desktop composition is not enabled.. + + + + + Looks up a localized string similar to Desktop composition is not supported by operating system.. + + + + + Looks up a localized string similar to Unable to get thumbnail's original size.. + + + + + Looks up a localized string similar to Unable to update thumbnail properties.. + + + + + Looks up a localized string similar to Source and target windows cannot be the same.. + + + + + Looks up a localized string similar to Native call to {0} failed.. + + + + + Looks up a localized string similar to Failed to create TaskDialog.. + + + + + A vertical panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. + + + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. + + + + + Constructor + + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. + + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. + + + + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + + + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + + + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + + + + + A Label containing some text that will be drawn with glowing border on top of the Glass Sheet effect. + + + + Size of the glow effect around the text. + + + Enables or disables the glow effect around the text. + + + Shadow type. + + + Gets or sets the horizontal text alignment setting. + + + Gets or sets the vertical text alignment setting. + + + Gets or sets whether the text will be laid out on a single line or on multiple lines. + + + Gets or sets whether the text lines over the label's border should be trimmed with an ellipsis. + + + Gets or sets whether the text should break only at the end of a word. + + + Gets or sets whether the text should be trimmed to the last word and an ellipse should be placed at the end of the line. + + + + Determines a window's Flip 3D policy. + + + + + Default Flip 3D behavior. + + + + + Excludes the window from Flip 3D and hides it behind the animation. + + + + + Excludes the window from Flip 3D and shows it above the animation. + + + + Handle to a DWM Thumbnail. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Origin region from source window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Returns true if the handle is valid, false if the handle has been closed or hasn't been initialized. + + + Sets the thumbnail opacity value, from 0 to 255 (opaque). + + + Sets whether only the client area of the thumbnailed window should be shown or + the entire window area. + + + Area in the destination window on which the thumbnail should be drawn. + + + Region of the source window that should be drawn. + + + Sets whether the thumbnail should be drawn or not. + + + Gets the thumbnail's original size. + + + + Applies a glow on the themed text. + + + + + Default glow size. + + + + + Glow size used commonly by Office 2007 in titles. + + + + + Precise glow effect. + + + + + Instantiates a new glow effect for themed text. + + Size of the glow effect. + + + + Gets or sets the size of the glow effect. + + + + + Static class providing information about the current support for Vista-only features. + + + + + Gets whether the running operating system is Windows Vista or a more recent version. + + + + + Gets whether the running operating system is Windows Seven or a more recent version. + + + + Is true if the DWM composition engine is currently enabled. + + + + The labeled divider provides a Aero styled divider with an option caption, similiar to what is seen in the + Control Panel dialogs of Windows 7 and Vista. + + + + + Constructor + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + The position of the divider line. + + + The default value is the center position which is consistent on how this type of divider has been used throughout the Windows + 7 and Vista UI's. + + + + + The color of the divider line. + + + + + The text that should be used for the caption. If the caption is set to blank and the divider position is set to center then + a simple divider line will be drawn. + + + After a change is made to the text property we want to invalidate the control so it triggers a new paint message being sent. + + + + + The positions that the divider line can be drawn in + + + + + The divider will be centered after the text caption and will begin drawing after the string. This is the default behavior. + + + + + The divider will be drawn below the text caption. + + + + Gets or sets the cue text that is displayed on the TextBox control. + + + Gets or sets whether the Cue text should be displyed even when the control has keybord focus. + If true, the Cue text will disappear as soon as the user starts typing. + + + Sets the origin of the thumbnail and shows the thumbnail on the control. + The Form instance that will be thumbnailed. + True if the control should automatically update itself in case the thumbnailed + form changes size or is closed. + + + Forces and update of the thumbnail. + Use this method if you know that the thumbnailed window has been resized and the thumbnail control should react to these changes. + + + Gets or sets the glass margins of the form. + + + Gets or sets whether mouse dragging should be handled automatically. + + + Gets or sets whether the extended glass margin is enabled or not. + + + + Gets or sets whether the window title and icon should be hidden. + + + + Main DWM class, provides Thumbnail registration, glass sheet effect and blur behind. + + + Registers a thumbnail to be drawn on a Windows Form. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The Windows Form instance on which to draw the thumbnail. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Registers a thumbnail to be drawn on a window. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The handle (HWND) of the window on which the thumbnail will be drawn. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Unregisters the thumbnail handle. + The handle is unvalid after the call and should not be used again. + A handle to a registered thumbnail. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + + Enable the Aero "Blur Behind" effect on a specific region. Background of the region must be black. + + + Disables the Aero "Blur Behind" effect. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Disables the Aero "Glass Frame". + + + Disables the Aero "Glass Frame". + + + + Sets a window's Flip 3D policy. + + Form whose policy is to be set. + Desired Flip 3D policy. + Is ignored on OSs that do not support Aero. + + + + Disallows Aero Peek on a window (or allows it). + + Form whose Aero Peek preview should be disabled. + True if Aero Peek should be disabled for the window. + Is ignored on OSs that do not support Aero Peek. + + + + Sets a window's state in order to exclude (or include) it in Aero Peek. + + Form whose Aero Peek exclusion state is to be set. + Set to true to exlude the window from Aero Peek. + Is ignored on OSs that do not support Aero Peek. + + + Common Task Dialog icons. Determine the look of the main instruction. + + + Returns the active windows on the current thread. + + + Class that aggregates the results of an "indirect" Task Dialog. + + + Results returned by Task Dialogs when closed by the user. + + + Direct Task Dialog call. + + + Indirect Task Dialog call. Allows complex dialogs with interaction logic (via callback). + + + The Task Dialog config structure. + + + Flags used in TaskDialogConfig struct. + From CommCtrl.h. + + + Notifications returned by Task Dialogs to the callback. + From CommCtrl.h. + + + Messages that can be sent to Task Dialogs. + From CommCtrl.h. + + + + A horizontal panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. + + + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. + + + + + Constructor + + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. + + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. + + + + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + + + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + + + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + + + + diff --git a/OnTopReplica.sln b/OnTopReplica.sln new file mode 100644 index 0000000..1c732a8 --- /dev/null +++ b/OnTopReplica.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C# Express 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OnTopReplica", "OnTopReplica\OnTopReplica.csproj", "{E626BD6E-BF38-4EB7-A128-5CA6F40EF557}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/OnTopReplica/AboutForm.Designer.cs b/OnTopReplica/AboutForm.Designer.cs new file mode 100644 index 0000000..5c3fb42 --- /dev/null +++ b/OnTopReplica/AboutForm.Designer.cs @@ -0,0 +1,236 @@ +namespace OnTopReplica { + partial class AboutForm { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm)); + this.themedLabel1 = new VistaControls.ThemeText.ThemedLabel(); + this.themedLabel2 = new VistaControls.ThemeText.ThemedLabel(); + this.panel1 = new System.Windows.Forms.Panel(); + this.buttonReset = new System.Windows.Forms.Button(); + this.progressBar1 = new VistaControls.ProgressBar(); + this.buttonUpdate = new System.Windows.Forms.Button(); + this.buttonExpander = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.linkLabel2 = new System.Windows.Forms.LinkLabel(); + this.linkLabel1 = new System.Windows.Forms.LinkLabel(); + this.label2 = new System.Windows.Forms.Label(); + this.webBrowser = new System.Windows.Forms.WebBrowser(); + this.toolTip = new System.Windows.Forms.ToolTip(this.components); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // themedLabel1 + // + this.themedLabel1.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.themedLabel1.Location = new System.Drawing.Point(0, 0); + this.themedLabel1.Name = "themedLabel1"; + this.themedLabel1.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0); + this.themedLabel1.Size = new System.Drawing.Size(200, 40); + this.themedLabel1.TabIndex = 0; + this.themedLabel1.Text = "OnTopReplica"; + // + // themedLabel2 + // + this.themedLabel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.themedLabel2.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.themedLabel2.GlowSize = 11; + this.themedLabel2.Location = new System.Drawing.Point(200, 0); + this.themedLabel2.Name = "themedLabel2"; + this.themedLabel2.Padding = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.themedLabel2.Size = new System.Drawing.Size(189, 40); + this.themedLabel2.TabIndex = 1; + this.themedLabel2.Text = "v2"; + // + // panel1 + // + this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panel1.BackgroundImage = global::OnTopReplica.Properties.Resources.back; + this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.panel1.Controls.Add(this.buttonReset); + this.panel1.Controls.Add(this.progressBar1); + this.panel1.Controls.Add(this.buttonUpdate); + this.panel1.Controls.Add(this.buttonExpander); + this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.linkLabel2); + this.panel1.Controls.Add(this.linkLabel1); + this.panel1.Controls.Add(this.label2); + this.panel1.Location = new System.Drawing.Point(0, 40); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(388, 105); + this.panel1.TabIndex = 10; + // + // buttonReset + // + this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonReset.Image = global::OnTopReplica.Properties.Resources.refresh; + this.buttonReset.Location = new System.Drawing.Point(338, 79); + this.buttonReset.Name = "buttonReset"; + this.buttonReset.Size = new System.Drawing.Size(23, 23); + this.buttonReset.TabIndex = 14; + this.buttonReset.UseVisualStyleBackColor = true; + this.buttonReset.Click += new System.EventHandler(this.ResetClick); + // + // progressBar1 + // + this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.progressBar1.Location = new System.Drawing.Point(235, 79); + this.progressBar1.Name = "progressBar1"; + this.progressBar1.Size = new System.Drawing.Size(102, 23); + this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee; + this.progressBar1.TabIndex = 3; + this.progressBar1.Visible = false; + // + // buttonUpdate + // + this.buttonUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonUpdate.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonUpdate.Image = global::OnTopReplica.Properties.Resources.xiao_component; + this.buttonUpdate.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonUpdate.Location = new System.Drawing.Point(235, 79); + this.buttonUpdate.Name = "buttonUpdate"; + this.buttonUpdate.Size = new System.Drawing.Size(102, 23); + this.buttonUpdate.TabIndex = 2; + this.buttonUpdate.Text = global::OnTopReplica.Strings.UpdateNow; + this.buttonUpdate.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonUpdate.UseVisualStyleBackColor = true; + this.buttonUpdate.Click += new System.EventHandler(this.Update_click); + // + // buttonExpander + // + this.buttonExpander.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonExpander.Image = global::OnTopReplica.Properties.Resources.xiao_down; + this.buttonExpander.Location = new System.Drawing.Point(362, 79); + this.buttonExpander.Name = "buttonExpander"; + this.buttonExpander.Size = new System.Drawing.Size(23, 23); + this.buttonExpander.TabIndex = 4; + this.buttonExpander.UseVisualStyleBackColor = true; + this.buttonExpander.Click += new System.EventHandler(this.Toggle_click); + // + // label1 + // + this.label1.BackColor = System.Drawing.Color.Transparent; + this.label1.Font = new System.Drawing.Font("Segoe UI", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(6, 75); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(199, 31); + this.label1.TabIndex = 13; + this.label1.Text = "OnTopReplica automatically checks for updates. No information is logged at any po" + + "int."; + // + // linkLabel2 + // + this.linkLabel2.AutoSize = true; + this.linkLabel2.BackColor = System.Drawing.Color.Transparent; + this.linkLabel2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.linkLabel2.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabel2.Location = new System.Drawing.Point(7, 58); + this.linkLabel2.Name = "linkLabel2"; + this.linkLabel2.Size = new System.Drawing.Size(252, 21); + this.linkLabel2.TabIndex = 1; + this.linkLabel2.TabStop = true; + this.linkLabel2.Text = "Homepage: www.codeplex.com/ontopreplica."; + this.linkLabel2.UseCompatibleTextRendering = true; + this.linkLabel2.VisitedLinkColor = System.Drawing.Color.Blue; + // + // linkLabel1 + // + this.linkLabel1.AutoSize = true; + this.linkLabel1.BackColor = System.Drawing.Color.Transparent; + this.linkLabel1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.linkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabel1.LinkColor = System.Drawing.Color.Blue; + this.linkLabel1.Location = new System.Drawing.Point(7, 37); + this.linkLabel1.Name = "linkLabel1"; + this.linkLabel1.Size = new System.Drawing.Size(212, 21); + this.linkLabel1.TabIndex = 0; + this.linkLabel1.TabStop = true; + this.linkLabel1.Text = "Created by: Lorenz Cuno Klopfenstein."; + this.linkLabel1.UseCompatibleTextRendering = true; + this.linkLabel1.VisitedLinkColor = System.Drawing.Color.Blue; + // + // label2 + // + this.label2.BackColor = System.Drawing.Color.Transparent; + this.label2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label2.Location = new System.Drawing.Point(7, 4); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(287, 33); + this.label2.TabIndex = 10; + this.label2.Text = "A lightweight, real-time, always on top thumbnail of a window of your choice."; + // + // webBrowser + // + this.webBrowser.AllowWebBrowserDrop = false; + this.webBrowser.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.webBrowser.Location = new System.Drawing.Point(0, 146); + this.webBrowser.MinimumSize = new System.Drawing.Size(20, 20); + this.webBrowser.Name = "webBrowser"; + this.webBrowser.ScriptErrorsSuppressed = true; + this.webBrowser.Size = new System.Drawing.Size(389, 200); + this.webBrowser.TabIndex = 14; + // + // AboutForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ClientSize = new System.Drawing.Size(389, 145); + this.Controls.Add(this.webBrowser); + this.Controls.Add(this.themedLabel2); + this.Controls.Add(this.themedLabel1); + this.Controls.Add(this.panel1); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; + this.HideTitle = true; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.Name = "AboutForm"; + this.Text = "OnTopReplica"; + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private VistaControls.ThemeText.ThemedLabel themedLabel1; + private VistaControls.ThemeText.ThemedLabel themedLabel2; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Button buttonExpander; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.LinkLabel linkLabel2; + private System.Windows.Forms.LinkLabel linkLabel1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button buttonUpdate; + private System.Windows.Forms.WebBrowser webBrowser; + private System.Windows.Forms.Button buttonReset; + private VistaControls.ProgressBar progressBar1; + private System.Windows.Forms.ToolTip toolTip; + } +} \ No newline at end of file diff --git a/OnTopReplica/AboutForm.cs b/OnTopReplica/AboutForm.cs new file mode 100644 index 0000000..9121ad0 --- /dev/null +++ b/OnTopReplica/AboutForm.cs @@ -0,0 +1,153 @@ +using System.Diagnostics; +using System.Windows.Forms; +using VistaControls.Dwm.Helpers; +using System.Drawing; +using System.Runtime.InteropServices; +using OnTopReplica.Properties; +using System.Deployment.Application; +using System; +using VistaControls.TaskDialog; +using System.ComponentModel; +using OnTopReplica.Update; + +namespace OnTopReplica { + public partial class AboutForm : GlassForm { + + public AboutForm() { + InitializeComponent(); + + //Tooltips + toolTip.SetToolTip(buttonExpander, Strings.AboutButtonExpanderTT); + toolTip.SetToolTip(buttonReset, Strings.AboutButtonResetTT); + toolTip.SetToolTip(buttonUpdate, Strings.AboutButtonUpdateTT); + + //Add link areas (localized text) + linkLabel1.LinkArea = new LinkArea(linkLabel1.Text.IndexOf("Lorenz Cuno Klopfenstein"), "Lorenz Cuno Klopfenstein".Length); + int linkStart = linkLabel2.Text.IndexOf("www"); + linkLabel2.LinkArea = new LinkArea(linkStart, linkLabel2.Text.Length - linkStart - 1); + + //Glassify + GlassEnabled = true; + GlassMargins = new VistaControls.Dwm.Margins(0, 0, themedLabel1.Size.Height, 0); + + //Update title + themedLabel2.Text = "v" + Application.ProductVersion.Substring(0, 3); + + //Add update event handling + _updateManager.UpdateCheckCompleted += new EventHandler(UpdateManager_UpdateCheckCompleted); + } + + protected override void OnKeyUp(KeyEventArgs e) { + if (e.KeyCode == Keys.Escape) + this.Close(); + + base.OnKeyUp(e); + } + + private void Lck_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://lorenz.klopfenstein.net"); + } + + private void Homepage_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://www.codeplex.com/ontopreplica"); + } + + private void ShowGenericError(string title, string mainContent, Exception ex) { + TaskDialog.Show(mainContent, title, ex.Message, TaskDialogButton.Close, TaskDialogIcon.Stop); + } + + #region Bottom toggler + + private void Toggle_click(object sender, System.EventArgs e) { + IsExpanded = !IsExpanded; + + //Update icon + buttonExpander.Image = IsExpanded ? Resources.xiao_up : Resources.xiao_down; + } + + bool _isExpanded = false; + bool _isFirstExpansion = true; + public bool IsExpanded { + get { return _isExpanded; } + set { + if(_isExpanded != value) + Size = new Size(Size.Width, Size.Height + ((value) ? webBrowser.Size.Height : -webBrowser.Size.Height)); + + _isExpanded = value; + + if (value && _isFirstExpansion) { + //Load text from resources + webBrowser.DocumentText = Strings.AboutDetails; + + //Register navigation events + webBrowser.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating); + + _isFirstExpansion = false; + } + } + } + + void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) { + if (e.Url != null && e.Url.IsAbsoluteUri) { + Process.Start(e.Url.ToString()); + e.Cancel = true; + } + } + + #endregion + + #region Updating + + UpdateManager _updateManager = new UpdateManager(); + + private void Update_click(object sender, System.EventArgs e) { + CheckForUpdate(); + } + + delegate void GuiAction(); + + void UpdateManager_UpdateCheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + Invoke(new GuiAction(() => { + if (e.Success) { + _updateManager.HandleUpdateCheck(this, e.Information, true); + } + else { + var dlg = new TaskDialog(Strings.ErrorUpdate, Strings.ErrorUpdate, Strings.ErrorUpdateContentGeneric) { + CommonIcon = TaskDialogIcon.Stop, + CommonButtons = TaskDialogButton.OK + }; + dlg.Show(this); + } + + UpdateStopped(); + })); + } + + public void CheckForUpdate() { + //Update GUI + buttonUpdate.Visible = false; + progressBar1.Visible = true; + + _updateManager.CheckForUpdate(); + } + + void UpdateStopped() { + //Reset UI + progressBar1.Visible = false; + buttonUpdate.Visible = true; + } + + #endregion + + private void ResetClick(object sender, EventArgs e) { + var dlg = new TaskDialog(Strings.AskSettingReset, Strings.AskSettingResetTitle, + Strings.AskSettingResetContent); + dlg.CommonButtons = TaskDialogButton.OK | TaskDialogButton.Cancel; + + if (dlg.Show(this).CommonButton == Result.OK) { + Settings.Default.Reset(); + } + } + + } +} diff --git a/OnTopReplica/AboutForm.resx b/OnTopReplica/AboutForm.resx new file mode 100644 index 0000000..4d116c2 --- /dev/null +++ b/OnTopReplica/AboutForm.resx @@ -0,0 +1,309 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + AAABAAIAMDAAAAEAIACoJQAAJgAAABAQAAABACAAaAQAAM4lAAAoAAAAMAAAAGAAAAABACAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAAAAFwAAACAAAAAnAAAAKwAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAAKwAAACcAAAAfAAAAFwAAAA0AAAAGAAAABgAAAA4AAAAdAAAALQAAAD0AAABIAAAATgAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATgAAAEgAAAA9AAAALQAAABwAAAANAAAACwAAABkAAAAwAAAARwAA + AFsAAABpAAAAcAAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcAAAAGkAAABdAAAASAAAAC8AAAAYAAAAEQAA + ACQAAABBAAAAbAoKC6QYGBiyFhcXtBcXF7QXFxe0FxcXtBcXF7UXFxi0FxcYtBcYGLQXGBi0FxgYtBgY + GLQXGBi0FxcYtBcXF7QXFxe0FxcXtBcXF7QXFxe0FxcXtRcXF7UXFxe1FxcXtBcXF7QXFxe0FxcXtBYX + F7QWFhe0FhYXtBYWFrQWFhe0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe0GBgYtQEBAqYAAAB5AAAAXwAA + AEEAAAAkAAAAFwAAACwAAABdOTk3u46IgKWTjIKUkYiAk4yEepKHf3WQhHtyj4B5b45+eG2NfHVrjHly + Z4t5cmeLeXFni3huZot5b2aLe3JoioB3bIuDe3KMiH92jIyCeIyMhXqNjYZ7jo2HfI+Ph36PkId/j5GI + f4+SiX+PkomAj5OLgJCTjIKQk4yCkJSMgpCTi4GQj4h+joyEeo2LgniMjIN5jY+HfY6RiYCPkoqAjn55 + c7IXFxe1AAAAcQAAAFAAAAAuAAAAGwAAADAJCQmJkoyGrJ6ViXCypp2Fv7OskL2yq5G6r6ePt6yljbWr + o4yzqqGLsaefirClnYmupJ2JrqOdia6inYqvpJ2JsqafibSqo4m4raeKu7Gqiryyq4u8s6uLu7OsjLyz + rYy8s62MvbOujb20ro29ta6NvbWujry2ro67tq6OvLaujr23r468ta6OurOsjLiyq4u3sayLubOvjLu0 + so20ramGnpWNdJ+ViGxnZWG9AAAAiQAAAFYAAAAzAAAAHAAAADIREhKSqaGapbK4splz3ePrceDn8nPg + 5/N14OfzduDm83nh5fN84uXyf+Lk8oLj5PKF4+Lyh+Pi8onk4PKM5d/yj+Xf8pPm3/KX6ODynOni8qDq + 4/Kk7OLyqO7i863w4vKy8+Hytvbh87z44fPE+uHzzvvk89776vPs+/Pz+fv58//7/fP/+/7z//v98v/7 + 9/L8++3y9/vi8/b70fPz+b7u1da5u6mim3V/fHe1AAAAkQAAAFkAAAA2AAAAHQAAADMQEBCRsKiirMLO + ybBI3eT/PNnf/z3Z2v8+2df/P9nV/0HZ0/9G2tL/StvQ/0vbzv9O28v/UNzJ/1Pcx/9W3sX/WuHD/13k + wv9i6ML/aO/E/3D1x/99+s7/jP3W/53/4P+y/+r/xf/x/9r/+f/v//3/9//8//n//P/6//r/8v/r/+H/ + 3v+//dr/t/3Z/8L+zv/K/7H/1f2b/9r8jv/X/Yz/0Oa+1r2zsYJ+e3e4AAAAkQAAAFoAAAA3AAAAHQAA + ADMPDw+RtKumr8bSz7Y809n/L9DT/zLQ0f8zz8//NNDL/zfQyf860Mj/PNHF/z3Sw/9A1cH/RdnC/0re + xP9S5cj/W+zN/2by0/9x+Nj/e/3d/4L/4P+L/+T/mf/o/6n/6/+5/+z/xP/n/8f/2/+//8z/tPy//6X5 + tf+Z96//jPar/3j1rP9z97j/gvrD/4X9yf+Q/cv/qvu5/7jtkf+112f/z9mt2cW9u4iAfXm5AAAAkQAA + AFoAAAA3AAAAHQAAADMPDw+Rta6osMfT0Lc40tX/LM/Q/zHQz/8y0c7/NdTO/znXz/8/29H/ROHV/0zo + 2P9T7tz/WvTg/2D54v9l++H/avzf/27+3f90/9v/ev/a/4H/1/+K/tT/kPzL/5H4v/+N87D/he6f/4Dp + k/+B5o3/huWK/4/liP+W5of/muaG/5zihv+e2ob/pNeJ/6ncjP+s5pD/pO6U/5/wlv+h4oX/ytu32si/ + vYuCf3u6AAAAkQAAAFoAAAA2AAAAHQAAADMPDw+Rt6+qscnV0bk+2Nf/M9nV/zrd2P9A4tz/Rejf/0jq + 4P9J6tv/TOrW/07o0P9P5sn/UefD/1Xqwf9c8ML/ZPXC/2v3wP9v8rn/cOqv/27iof9r25X/a9mN/3TZ + jP9924v/gtuH/4fbgv+I2n7/itR6/4nNdP+HxW3/iL5o/4y4YP+St1X/k7ZL/5S1Tv+ZtlX/pL5d/67L + Yv+x123/0uC828rCwI2DgHy7AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RuLCss8rX07pG4dz/Od7W/zzb + 0f8/2s3/P9jI/0DUwv8/0Ln/Q9G2/0rXuP9S3rr/WuS9/1/kuf9f3rD/X9ai/1/Pl/9hzJD/Zc+M/2zT + if9x1oj/d9eE/37Vg/+D0X//fshz/3m+aP95uGP/e7Nf/3+wXP+FsFb/jLVR/4+8Uv+QwFv/k8Rk/5zF + Zf+hw2D/pMBY/6i7Uv+ps0D/0M+i3M3Hx5CEgX68AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RubKutMvW + 0rs/ysH/MsS3/zbDtP87x7b/Qc27/0bVwP9L2b//Ttq7/1HWs/9T0Kn/Vcqh/1jImv9dy5X/Y9CS/2nT + kP9u1Yz/cNOG/3DOfv9wx3X/cMJv/3vDcf+GxnH/gsFl/4G/Xv+Iv17/jMNc/5DHXP+QzGH/jM9u/4vL + c/+OwWz/j7lg/5GyVP+SqEn/lqJB/5icOv+WkSr/yMOb3NDMypGFgn+9AAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+RurOvtszW0bxCxbj/OMa2/0DNu/9F0r3/SdS9/0rSt/9LzKz/TMik/1HLoP9a0aH/Y9ih/2vc + nv9w3Jf/cdqP/3PXiP931YH/etV8/37Vdv+A1HD/hdNq/5XUbv+Z027/icll/4HGYv+Dx1z/hcJU/4K3 + VP99qVX/fJ1J/3yTPP97izT/fIYv/4CDK/+EgSj/iIAn/4uBJv+MfBr/xr2W3dPPzZOHhIG9AAAAkAAA + AFoAAAA2AAAAHQAAADIPDw+RvLWwts7Z071K0L7/Psq0/0LKr/9HzK3/T9Ox/1jdtv9f5bf/Y+q0/2rt + r/9y7Kn/eeqj/4Hmnf+C4pT/gNyK/3/Tfv99zHP/e8Rp/3e7Yf9ysl3/b69h/3e2cf9zuHD/aa9Z/3Gn + Qv94nDT/dI4v/3KGKv90gyb/doIk/3d/I/94fCH/enog/3x4IP+AeCD/g3kg/4d6Iv+Idhf/xLuW3tbR + 0JWHhIG+AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvLWxuM/Z075W173/Utq7/1riv/9h6cL/aOzC/23t + v/9s6bP/aeCl/2nVl/9pzIz/bcSB/3C8d/9ts23/Z6lj/2SiXf9hnVv/XZpb/1yZXP9cnFv/ZaVZ/3aw + U/94pjv/cY8n/2+EJP9sgCX/bH4k/3B+I/92gCL/en8f/3p7Hv95eB7/eXcd/3t1Hv9+dR7/gHYf/4R3 + H/+FchX/w7qW3tfT0peHhYK/AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvbazuNHb1b9k3r//WNez/1bP + qP9Tx5z/U7+U/1O5jv9Ss4T/UKp2/1Cha/9Tnmb/Wp5j/2ChZP9gn2L/XJld/1yYXP9cmFf/XphQ/2Sa + R/9nmDr/cJkv/32dKf92jyT/an0h/2p9If9ufyD/cn4e/3V+Hf98gB3/fX8c/3t6HP95dhz/eHQb/3lz + HP97cxz/fXQc/4J0Hf+CbxL/wrmV3tjU1JiIhoPAAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+Qvbe1udDY + 0sBPt5b/QauH/0Khff9CnXT/RZ1y/0iecP9Lnm3/S5pn/0yVYv9QlGD/WZlf/2KhXv9ln1n/YplS/2WZ + TP9nmEP/aJQ5/2aNLP9mhST/dI0i/3+WI/9yhx//aXkc/2x7G/9xfhr/dYEa/3qAGv+Agxr/f4AZ/3x7 + Gv95dhr/eHIZ/3hxGv95cRn/fHEa/4ByG/+AbBD/wbiU39nW1pqIhoPAAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+Qvrq2utDW0MFJo4D/P5xz/0KVbP9BkWb/RJJl/0eVZ/9LmGb/TZZh/0+TW/9UlFf/X5pU/2ui + U/9uoUz/bZtD/2+YO/9oji//ZIQl/2Z/IP9ugB3/e40e/32QHv9xgRv/a3kY/298F/90gRf/eYMY/36D + F/+Ehhj/g4IY/358GP96dhj/d3IY/3dwGP94bxj/em8Y/31wGf99ag7/wbiU4NzY15uJh4TBAAAAkAAA + AFoAAAA2AAAAHQAAADIPDw6Qv7q3u9DWz8FJnnT/QJdq/0KPZP9Di1//RYxd/0mQXP9Ok1r/UJNW/1OS + Uf9ak0z/aJxI/3ilRP96oT3/b5Qx/2yMKP9pgyH/a4Ac/219Gf9wfhj/eosa/3yOGv9xfxf/bnwW/3J/ + Ff96hBX/fYMW/4GFFv+Hhxb/hYMW/398Ff97dRb/eHIW/3dvFv93bhb/eG4W/3xuF/97aAz/wLiU4N3Z + 2JuJh4TBAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6Qv7u4u9DWz8JLmm3/QpRh/0SNWv9Fh1P/SYhR/0yL + T/9Rjk7/V5RK/12XRv9mmUD/dqI8/4GmNf93mCz/booj/3OKHv9yhBr/cH8V/257FP9ygBb/fY8Y/36P + GP9ygBT/cn4U/3iDFP+AiBT/foUT/4aIFP+IiBT/hYMU/398E/98dhP/eXMU/3hwFP93bRX/d20V/3tt + Ff94Zgr/wLeT4N3Z2p2KiIXBAAAAkAAAAFoAAAA2AAAAHQAAADIODg6QwLy5vNHWz8JOmGP/RpNW/0eK + UP9Igkj/SoJG/1CIQ/9blEL/ZJs+/2qfO/9zoTX/eJ0s/32aJP95kiD/doob/3uMGf92hRb/cYAU/258 + Ev92hRP/g5MV/4WSFf92gxL/eIMS/3+HEv+EjBL/gYcR/4mKEf+IiRL/hIMS/4B8EP98dxH/e3QS/3lx + E/93bhP/eG0T/3lsFP93ZQn/wLeT4d7a252KiIXCAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6QwLy5vNHW + zcNRlFj/SZJN/0yIR/9MgD//VYs8/2CXOv9lmDf/bqU1/3CgL/9tjiX/d5Eg/4OaHv9/khz/e4sX/4KN + Fv96hhT/dIAS/3N/Ef9/ixP/i5kU/4qVFP98hhH/fogR/4WNEf+GjRH/hYkO/4mLD/+IiA//hIEQ/398 + D/99eA//fXYQ/3xzEf96bxL/eW0S/3ptEv93Zgf/wLiS4d7a256LiIbCAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDg6QwLy6vNLVzcNUklD/S5BD/1OOP/9elTr/YZQ0/2WYMf9urC//apgn/2WCIP9wiR7/f5Uc/4qb + Gv+Fkhr/gIsV/4SNE/98hhL/eIEP/3mDEP+GkhL/kp4S/4uWEf+Aig//gosO/4qREP+IjQ//iYsN/4uM + Df+Ihgz/hIEO/4B7Df9/eA3/gXgP/4B1D/9+chD/fW4R/3xtEf95aAb/wbmS4d/c3J+LiYbCAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Rwby6vdLVzMRVkUf/WZ89/2WjOv9gjzD/ZKAu/2muLf9ljST/ZH0f/2uE + Hf93jRv/hZYY/4+bF/+Ikhr/gooS/4OMEP99hg7/eoIO/36HDv+NlxD/l6AQ/42VD/+FjQ3/h44N/4+U + D/+IjA7/jYwM/46KDP+JhAr/gn8M/396C/+BeAz/g3gN/4J1Df+Acw7/fm8P/31uD/98awT/wruS4d/c + 3J+LiYbDAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RwLy7vtPWzMRjo0L/YaY2/1+XMf9lri7/YqQp/1x+ + If9lgB7/aoIc/2+FGv99jRf/i5YV/5KaFv+JkBj/gogP/4OLDf9/hgz/fIML/4OKDP+Umw7/nKEP/42T + Df+Ijgz/jJEM/5CWDf+Liwz/kY4K/4+KC/+Jgwn/gn0K/4B5Cv+CeAv/g3gM/4N2Df+Acw3/f28N/35v + Df9+bgP/w72S4d7c3KCLiYbDAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Rwr27vdTYzMRfmTv/W6Ew/2a+ + M/9emCj/WHUf/197Hf9ogxv/bIIY/3KFF/+AjhT/jZcT/5KZFv+IjhX/gogM/4WJDP+AhQr/f4UJ/4iO + C/+ang3/naEN/42SC/+LkAv/kZUL/5KUC/+OjAn/lI8J/4+JCf+Jgwj/g30J/4F5CP+DeQj/g3gK/4J2 + C/9/cgz/fm8L/4BxDP+AcQL/xL6R4d/b3KCLiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Qwr28vtPU + y8Rgojn/YcEx/1uXKf9Zdx//W3gb/2F8Gf9rgxf/bYEV/3WFE/+DjhL/j5YP/5KXE/+HjBL/g4gK/4WJ + Cf+ChQj/gYYI/46SCP+eoQv/naAL/42RCf+OkQr/lpgK/5ORCf+Sjgj/lI8I/4+JCP+Jggf/g30G/4F6 + Bv+DeQf/gncJ/4F0Cv9+cQr/fW8J/4ByC/+BcwD/xL+R4t3a26GKiIXEAAAAjwAAAFoAAAA2AAAAHQAA + ADIPDw+Qwby8v9XczMVhuDf/VpEl/1qFIv9bfBz/XHcZ/2J7Fv9rgRT/b4AR/3eFEP+FjRD/jpUL/5GV + EP+GihD/g4YH/4WIB/+ChAf/hIYH/5SVB/+hogr/nJ0J/5GRB/+Tkgj/mZgJ/5KPCP+VkAf/lY8H/4+I + B/+Jggb/hH0F/4J6Bf+CeAb/gnYH/350CP97cAj/e3AI/4F0Cv+BdQD/xL+R4t3Y26KKiIXEAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Qwb69v9TWy8ZZhCz/Voof/1yJIP9cexn/XHYW/2N5FP9sfxH/bn8O/3mE + Df+EjQz/jZMI/5GUEP+FiQ3/hIUF/4aGBf+ChAb/hocF/5iYBv+jpAb/m5oH/5ORB/+WlQb/mZcH/5KP + Bf+XkQb/lY4F/46HBv+IgQX/hHwE/4N7BP+CeAX/f3UG/3xyBv96bwb/e3EG/4J2Cf+CdwD/xL+Q4tzZ + 26KKiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw769v9TVy8ZXgin/V4sc/1yKHv9behj/XXQV/2N3 + Ev9rfA//b30N/3mCDP+Eiwv/jJEI/5CSEv+Ehgz/g4QD/4WFBf+CgwX/iokF/5uaBv+jpAX/mJYF/5OQ + Bv+Ylgb/lpMG/5SPBf+YkQb/k4sG/42EBv+HfwT/hHwD/4N7BP+AeAX/fXQE/3pwBf93bgb/enEG/4B2 + CP+CdwD/xMCP49zZ26OKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw7++wNXVzMZYgCj/Voob/12K + G/9cehb/XXIT/2J1EP9rew7/bXwM/3iBC/+Eigr/io8H/46RE/+ChAn/gYID/4ODBf+Cggb/jYsF/52c + Bf+iogb/lZMF/5OQBv+YlQb/k48G/5WOBv+Xjwb/kIkG/4uCBv+FfQT/g3wD/4N6Bf9/dQX/enEE/3Vu + BP90bgX/eHEG/393CP+BeQD/xMGO49vZ26SKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6RxMC+wNXW + zMZZfib/V4kY/16KGf9behX/W3AS/2JzD/9peQz/bHoL/3eACf+DiQj/io0H/46QFf+Aggj/gIED/4GC + BP+BgQX/j40F/5+dBv+hngX/lI8G/5WQBv+YkwX/kosF/5aOBf+VjAb/j4YF/4iABf+EewP/g3sE/4J4 + Bf9+dAT/d3AE/3JtBP9ybQT/d3IF/3x3B/+AeQD/wb6N49vY26SJiIXGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QxMC/wNbWzMZZfCP/WIYV/16KGP9ceRT/XG8Q/2FxDf9odwz/bXgK/3Z/CP+Bhwj/iYsH/42O + Ff9+gAf/f4AE/3+AA/+CgQT/ko8G/6CeBv+emQb/kowH/5WPBv+VkAX/kYkG/5eMBv+TiQX/jYMF/4d+ + BP+DegP/g3kE/4B2BP98cgT/dW4E/3BrA/9xbQT/dXEF/3t4Bv97dwD/vbqN49za26WJiIXGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QxcG/wNbXzcdXeiH/V4QT/16JFv9deRL/W24N/19wDP9ndAv/bHYJ/3V9 + B/+Bhgf/iIkH/4yNFv98fgX/fn4D/35+A/+DgAT/lJEF/6GeBv+alAb/kYkH/5WOBf+SiwX/kIcH/5aK + Bv+QhQX/i4EF/4Z8BP+CeAX/gXYF/35zBP96cAT/c2wE/29qA/9xbQP/dHEE/3t6Bf9zcAD/uriN493a + 26WKiIXGAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6Qx8PBwdbXzcdWeB//V4IS/16IE/9ceRD/WmwN/15u + C/9lcgn/anUH/3V8B/+BhAb/hocG/4uLGP96ewX/fH0E/3x8A/+EgQT/lZMF/6GdBv+Vjwb/kIgF/5ON + Bf+PhwX/kYYG/5OHBf+MggX/ioAE/4R5BP+BdwX/gHUE/3xyBP92bgT/cGsE/29qA/9wbAP/c3ED/3l4 + Bf9taQD/ubWN493a26WKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8PCwdjYzsdWdR//VX8P/12G + Ef9cdw7/WWoN/15sCv9jcQj/anMG/3R7Bv9/gwX/hIUG/4mJGf94eAP/ensE/3p6BP+FggT/l5QE/56b + Bf+PigX/j4YG/5CJBf+MgwX/kYUG/5CDBf+KfwT/iH8D/4F3Bf+AdQT/fnME/3pwBP9zbAT/cGoD/29q + A/9vbAP/dHID/3RzBf9nYgD/trOM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8TDwdjY + zsdVch3/U3oN/1yEEP9cdg3/WWkL/11rCP9icAf/aXEG/3N5Bv9+gQT/goQH/4aHGf91dgL/eHgF/3l4 + BP+GgwP/mZQF/5uXBf+MhQX/jYYF/42FBP+JgAT/j4ME/4uABP+JfgT/hXsE/390BP9/dAT/fHIE/3du + BP9yawP/b2oD/29rA/9vbAP/c3MD/25tA/9hXQD/tLKM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QycXEwdnZz8dUbxv/UnYM/1uBDv9cdQv/WWkJ/1tpB/9gbgX/aHEF/3J3Bv97fgP/gIII/4SF + GP9ycwL/dnYF/3h3BP+IhAT/mJQF/5aSBP+IggX/ioMF/4iAA/+IfwT/jYEE/4d9BP+HfgT/gXgE/39z + BP99cgT/enAE/3RtBP9wagP/bmoD/25rA/9wbQP/cXED/2lnAv9cWAD/s7CL497a3KaKiIbGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QysfFwdna0MhTbRn/UXIL/1t+Df9bdAr/WGgI/1pnB/9fbAb/Zm8F/3F2 + BP95fAL/f4EK/4KCFv9wcQL/dXQE/3d2BP+JhQT/mJQF/5GMBf+GfwX/hn8E/4N7BP+IfgT/iX4E/4V7 + A/+GfAT/fXQE/31yBP97cQT/d24E/3FrA/9uaQL/bWoC/21qAv9xbwP/bWwD/2RiA/9XVAD/sa6L5N/b + 3KiKiIbHAAAAjwAAAFoAAAA2AAAAGwAAADEODg6PysfFwdjYzsZRaRb/TW0G/1d6Cf9YcQb/VGUE/1dk + BP9caAP/ZGwB/25zAP92eQD/fX8K/31+Ev9sbQD/cXAB/3Z1Af+IhQL/lZEC/4uEAf+BewL/f3gB/393 + Av+EewH/hHoB/4N4Af+CeAH/eG8B/3lvAv93bgH/cmsC/21oAP9rZwD/a2cA/2tpAP9ubQD/ZmUA/2Bd + AP9STgD/rquJ497b3KeKiIbHAAAAjQAAAFgAAAA1AAAAGAAAACwQDw+MysbEv9LRx71WbR3+U3AP/1x7 + EP9ddQ7/WmoN/11pDv9jbQz/anEK/3N4C/96fAr/gYMX/36BGv9wcQj/dXQL/3t7DP+Niw3/l5QN/4qE + Df+Efg3/f3kM/4N8DP+IgAv/hnwM/4h/DP+CeQz/fXQM/310DP95cwz/dW8L/3JtCv9xbQn/cW0K/3Jx + Cv9xcAr/aWgL/2RiCv9WUgf/qaaH2tjV1aGMiojGAAAAiQAAAFIAAAAwAAAAFAAAACQLCwuCv7y4v9XR + y6PMzcDB0tTGzNTWx87V1sfO1NXHztXVx87V1cfP1tbHztjXx87Y18fO2dfIztfWx8zV1MXL1dPDytXU + w8nX1cPJ2NbDydbUw8jW08PI1dPDydbTw8nX1MPJ1tPDytfUxMrW1MTK1tPDytbTxMvW08TL1tTFy9bT + xcvV0sPL1NHDzNPRwszS0cLM0c/CzNHOwszJx7vFxsK7sM3IxJmEgoDGAAAAewAAAEYAAAAoAAAADgAA + ABoAAABTaWhmx9jUzrLg3Nmr4t3br+Ld26/j3tuv497br+Pf26/i39uw4d/br+He26/h3duv4Nvart7a + 2Kzc2Nap29bTqNnV0qfY1NGn2NPRp9jV0abZ1NGm2tTRpdnV0abZ1NKn2dTTqNrW1Kjb1tSo29bUqdzW + 1and2Nap3dnWqd3X1qra1tSq2NTTrNfU0qzX09Ks19PSrNfT0q3W0c+r0MvHp766tr0xMTC4AAAAVwAA + ADUAAAAeAAAACQAAABIAAAAnAAAAZzMzMqtPTk20TEtKs0tLSrRMS0q0TEtKtExLSrRMS0q0S0tKtEtL + SrRLS0q0S0tKs0tKSbNKSUmzS0pIs0pKSbNKSkizSkpIs0pKSLNLSUizS0pJsktKSbJLSkmzS0pJs0tK + SbNLSkmzTEpJs0xKSbNMSkmzTEpJs0xKSbNLSkmzS0pJs0tKSbNLSkmzS0pJs0tJSbNLSkm0TUxLth4d + HaMAAABeAAAAOAAAACUAAAATAAAABQAAAAsAAAAWAAAAIQAAAC0AAAA3AAAAOgAAADoAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADoAAAA7AAAAOgAAADMAAAArAAAAIQAAABUAAAALAAAAAgAAAAQAAAAJAAAADgAAABMAAAAXAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGAAAABcAAAATAAAADgAAAAgAAAAEAAAAAAAAAAEAAAACAAAABAAA + AAcAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAkAAAAHAAAABAAAAAIAAAABAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBIAAAAAAAPIEKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ABEAAABAAAAAVwAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABXAAAATAAA + AB8EBAQ+VlRQlXNybqFqamaeZ2dinWZkYJxqaGOdcG5pnXFwa550cm2feXRxn350c597cW+efHVwnU1K + RZgAAQFUFw4NUI+5uMNY4+b0Xt7b9Gbh2PRv59bzf/La9JP84vSx/+r0z//p9Nv/4vTP/930yv/Z9N// + ufKnp5OvAwEEZRkPDk6Eu7nPLtvX/zrbz/9F4Mn/VOrF/2Xuvf9y667/guWe/4nciP+K1Hf/jM5v/5bO + b/+v2HT/paeTuwQCBmIZDxBPirmy0D/Wwf9Q273/W9yt/2vZm/9x0IT/csZw/33Eav99tlT/fqdG/4Cb + QP+FjjH/mZAz/6SfjL0FBQhjGBAST5G6rtFOyqT/VsCS/1mze/9mrGv/ZqFZ/2WXRP9zmDT/bYIh/3V9 + HP96eBn/d28X/4p7Jf+kno3ABQYJYxkTFlCOq5vTPpFi/0eLV/9WlE//b51B/26NKv9tgBn/d4YX/3N+ + Ff+ChhX/gH0W/3ZuFP+FdyH/pZ+OwQYGCWMZFBhQkKiR1EuNRv9dlDr/bZgu/4CWHv98iBT/eoUR/4SQ + Ev+CihD/iYoP/4F9D/97cQ//hHYc/6Wgj8MGBgljGBQZUJasidReozD/Y40i/3OHGP+MlRX/gYgO/4iP + Df+RmA3/jZEM/42JCv+Cewr/gXQK/4l6F/+noo/EBgYJYxgUGlCXroXVWI8f/2J4Ff97iBD/jZIO/4OF + CP+TlQf/mJkI/5WSCP+PiAb/g3oF/31yBf+KfhP/p6OOxQYGCWMZFhtQlaOB1VeCFf9idRD/eoQK/4qM + C/+CggT/mJYF/5iVBv+WkAX/jIQF/4J4BP92bgP/h4AR/6ajjcYGBgljGRYcUJaif9ZYgA//YHAM/3d/ + CP+Ghwv/gIAE/5mVBv+UjQb/kogG/4h9BP99cwT/cGsB/4B+D/+joYzGBgYKYxoXHVCWoH7XU3cG/1tq + Bf9yeAL/fX4I/317AP+TjgH/ioIB/4p+Af+AdQD/dWwA/21pAP90cgn/oJ2MyAcHCmQaGB1RoaiK1maC + HP9teh3/gYYb/4mKIf+Nixr/m5Yb/5KKG/+Uihv/i4Eb/4F7Gv9+exf/fHoi/6WilMcHBwpjBgYHMXp5 + dKCcnZG2mZiNtJqZjbWZl4yzmJaIsJiWiLCYlYiwmZaJsZmVirGYlYqylpSJs5mXjbRqaGadAQEBPQAA + AAUAAAAeAAAAKgAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAArAAAAIwAA + AAoAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxB + + + \ No newline at end of file diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs new file mode 100644 index 0000000..4e96ab7 --- /dev/null +++ b/OnTopReplica/AspectRatioForm.cs @@ -0,0 +1,214 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Runtime.InteropServices; +using VistaControls.Dwm.Helpers; +using System.ComponentModel; +using OnTopReplica.Native; +using System.Drawing; + +namespace OnTopReplica { + + /// + /// Form that automatically keeps a certain aspect ratio and resizes without flickering. + /// + public class AspectRatioForm : GlassForm { + + bool _keepAspectRatio = true; + + /// + /// Gets or sets whether the form should keep its aspect ratio. + /// + [Description("Enables fixed aspect ratio for this form."), Category("Appearance"), DefaultValue(true)] + public bool KeepAspectRatio { + get { + return _keepAspectRatio; + } + set { + _keepAspectRatio = value; + + if (value) + RefreshAspectRatio(); + } + } + + double _aspectRatio = 1.0; + + /// + /// Gets or sets the form's aspect ratio that will be kept automatically when resizing. + /// + [Description("Determines this form's fixed aspect ratio."), Category("Appearance"), DefaultValue(1.0)] + public double AspectRatio { + get { + return _aspectRatio; + } + set { + if (value <= 0.0 || Double.IsInfinity(value)) + return; + + _aspectRatio = value; + } + } + + Padding _extraPadding; + + /// + /// Gets or sets some additional internal padding of the form that is ignored when keeping the aspect ratio. + /// + [Description("Sets some padding inside the form's client area that is ignored when keeping the aspect ratio."), + Category("Appearance")] + public Padding ExtraPadding { + get { + return _extraPadding; + } + set { + _extraPadding = value; + + if(KeepAspectRatio) + RefreshAspectRatio(); + } + } + + /// + /// Forces the form to update its height based on the current aspect ratio setting. + /// + public void RefreshAspectRatio() { + int newWidth = ClientSize.Width; + int newHeight = (int)((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical; + if (newHeight < FromSizeToClientSize(MinimumSize).Height) { + newHeight = FromSizeToClientSize(MinimumSize).Height; + newWidth = (int)((newHeight - ExtraPadding.Vertical) * AspectRatio) + ExtraPadding.Horizontal; + } + + ClientSize = new Size(newWidth, newHeight); + } + + /// + /// Adjusts the size of the form by a pixel increment while keeping its aspect ratio. + /// + /// Change of size in pixels. + public void AdjustSize(int pixelOffset) { + Size origSize = Size; + + //Resize to new width (clamped to max allowed size and minimum form size) + int newWidth = Math.Max(Math.Min(origSize.Width + pixelOffset, + SystemInformation.MaxWindowTrackSize.Width), + MinimumSize.Width); + + //Determine new height while keeping aspect ratio + int newHeight = (int)((newWidth - ExtraPadding.Horizontal - clientSizeConversionWidth) / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; + + //Apply and move form to recenter + Size = new Size(newWidth, newHeight); + int deltaX = Size.Width - origSize.Width; + int deltaY = Size.Height - origSize.Height; + Location = new System.Drawing.Point(Location.X - (deltaX / 2), Location.Y - (deltaY / 2)); + } + + /// + /// Updates the aspect ratio of the form and optionally forces a refresh. + /// + /// Size from which aspect ratio should be computed. + /// True if the size of the form should be refreshed to match the new aspect ratio. + public void SetAspectRatio(Size aspectRatioSource, bool forceRefresh) { + AspectRatio = ((double)aspectRatioSource.Width / (double)aspectRatioSource.Height); + + if (forceRefresh) { + KeepAspectRatio = true; + } + } + + #region Event overriding + + protected override void OnResizeEnd(EventArgs e) { + base.OnResizeEnd(e); + + //Ensure that the ClientSize of the form is always respected + //(not ensured by the WM_SIZING message alone because of rounding errors and the chrome space) + if (KeepAspectRatio) { + var newHeight = (int)Math.Round(((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical); + ClientSize = new Size(ClientSize.Width, newHeight); + } + } + + /// + /// Override WM_SIZING message to restrict resizing. + /// Taken from: http://www.vcskicks.com/maintain-aspect-ratio.php + /// Improved with code from: http://stoyanoff.info/blog/2010/06/27/resizing-forms-while-keeping-aspect-ratio/ + /// + protected override void WndProc(ref Message m) { + if (KeepAspectRatio && m.Msg == WM.SIZING) { + var rc = (Native.NRectangle)Marshal.PtrToStructure(m.LParam, typeof(Native.NRectangle)); + int res = m.WParam.ToInt32(); + + int width = (rc.Right - rc.Left) - clientSizeConversionWidth - ExtraPadding.Horizontal; + int height = (rc.Bottom - rc.Top) - clientSizeConversionHeight - ExtraPadding.Vertical; + + if (res == WMSZ.LEFT || res == WMSZ.RIGHT) { + //Left or right resize, adjust top and bottom + int targetHeight = (int)(width / AspectRatio); + int diffHeight = height - targetHeight; + + rc.Top += (int)(diffHeight / 2.0); + rc.Bottom = rc.Top + targetHeight + ExtraPadding.Vertical + clientSizeConversionHeight; + } + else if (res == WMSZ.TOP || res == WMSZ.BOTTOM) { + //Up or down resize, adjust left and right + int targetWidth = (int)(height * AspectRatio); + int diffWidth = width - targetWidth; + + rc.Left += (int)(diffWidth / 2.0); + rc.Right = rc.Left + targetWidth + ExtraPadding.Horizontal + clientSizeConversionWidth; + } + else if (res == WMSZ.RIGHT + WMSZ.BOTTOM || res == WMSZ.LEFT + WMSZ.BOTTOM) { + //Lower corner resize, adjust bottom + rc.Bottom = rc.Top + (int)(width / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; + } + else if (res == WMSZ.LEFT + WMSZ.TOP || res == WMSZ.RIGHT + WMSZ.TOP) { + //Upper corner resize, adjust top + rc.Top = rc.Bottom - (int)(width / AspectRatio) - ExtraPadding.Vertical - clientSizeConversionHeight; + } + + Marshal.StructureToPtr(rc, m.LParam, false); + } + + base.WndProc(ref m); + } + + #endregion + + #region ClientSize/Size conversion helpers + + int clientSizeConversionWidth, clientSizeConversionHeight; + + /// + /// Converts a client size measurement to a window size measurement. + /// + /// Size of the window's client area. + /// Size of the whole window. + public Size FromClientSizeToSize(Size clientSize) { + return new Size(clientSize.Width + clientSizeConversionWidth, clientSize.Height + clientSizeConversionHeight); + } + + /// + /// Converts a window size measurement to a client size measurement. + /// + /// Size of the whole window. + /// Size of the window's client area. + public Size FromSizeToClientSize(Size size) { + return new Size(size.Width - clientSizeConversionWidth, size.Height - clientSizeConversionHeight); + } + + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + clientSizeConversionWidth = Size.Width - ClientSize.Width; + clientSizeConversionHeight = Size.Height - ClientSize.Height; + } + + #endregion + + } + +} diff --git a/OnTopReplica/Assets/25.png b/OnTopReplica/Assets/25.png new file mode 100644 index 0000000000000000000000000000000000000000..e98a5dda4366693f7bae7194ede43e7da9befd9a GIT binary patch literal 639 zcmV-_0)YLAP)@Pd1f>O+aux zK?~z2D(hDve&Nl$xUO7raAe@weRt-adFFlRS?+K+z-P=vkLzF8=ROH>gSbLOkG^-r zE8-_YMJNdQ<;x4l3heiLh{xklsZ??%lj*_Z@d$3W8ypS?%U&**(dl#=olGXV-EQ|g z7!1n2UeD+Nolq{9b5^UhAc`WmTrSWHlcAr%Znq2T^;+=xe9&&UjRM>4RwCv=AOJR- z4Ui2+qY;e9W46ib^#UbPM-(SQ%we$$dTchE8)OxTMbk8>*Xv7c@oOv=;|REZqoS0g z19OZH@Z-wqbh1FF(}Bfe@svm;9_bs8ri4Nv8Smx9ddx8j;JKn^vza-&-7X}P$wz$y z#^h$R3537w?Yx6i_49SHSfm&CFCAPQS>AC(ESV-yDwXoI&SWyDje;QL5r-obMB)4r zU;F(&V~#{3fXBI`BG0jB(4I8lc|K3RY&Hu7oQjM&L)IQiS^O^27)z2Q34XsHEEWsY zYBgxJT8up$4nsPfX7?}{3_w-YA&&C$p(@^HyVus&6xB+%A_Q+*=z757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVN2)+ICY~;iAsWHS2@*yR>@O^BF=$KY z$YeMf>@Ivlq-NVg-t-))&Mt|RUYE=U%|ovWC;3Q79A#KJTkBeuNQ*O2KZB>MpUXO@ GgeCw)7e2)R literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/arrow_up.png b/OnTopReplica/Assets/arrow_up.png new file mode 100644 index 0000000000000000000000000000000000000000..b34489e747f6c4d65d4f2bb82693fe6535d8e783 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@q#X;^)4C~IxyaaMs(j9#r85lP9 zbN@+X1@aY=J%W507^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVN2)+I+MX_sAsWHS2@;zg*ss)M&umCs x^hGIK!AseUx5D(%<%VG8zb1mBUSC347&NW5uD!bX|2|L~gQu&X%Q~loCIAd3JJA3D literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/back.png b/OnTopReplica/Assets/back.png new file mode 100644 index 0000000000000000000000000000000000000000..d5cfc9f16a5141391fbb6051cc6382cd52c23a28 GIT binary patch literal 150765 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�l==v9-BOCPv*ENV#bGR0oHk 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 bF9!ZU+yv;L96J+*00000NkvXXu0mjf5|;Bq literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/clickforwarding.png b/OnTopReplica/Assets/clickforwarding.png new file mode 100644 index 0000000000000000000000000000000000000000..66d9bc80fde385d142fef3f29cf7817a404de259 GIT binary patch literal 951 zcmV;o14#UdP)_ROnYA*=AP;U%I zAV$MaO@wM&G*l%a)Lpi_-A=nZ+nG7Xvs1))LN`Z-e+eAi-xY0r<+Y2;S2bje z$w{xK>$7@5x0s@kUoT%y_8#f^n1w@C_2I_l(eB@VSYcnE!H3&kz>b~-%$sTVsBe-t zqi4hwe7bulcJ`kDDHPxr9DD9xd%ov@V7lDStpj-g~ zalaUKRk#pUOLPPq=fhX6;X>jlPJDX`e}3MNX|sUNz3q7J!F6Er8mblqlUd02e*_48 z_AJ7w34|;I{Vi>HIQ|A$nd(}09PX}1)6e620e!7A~y&-82i1?Kpxv1)(sDsA>*pPY-SghP1JJ zqpQchJ3H9)=zHrLKHK-MVI!Y%;ABhwf|ABtzc0uCmRh}O^OG-+j9wZ3W9(8wZVde` ZzyLCuV;%72pw9pR002ovPDHLkV1jSLx#s`? literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/component.png b/OnTopReplica/Assets/component.png new file mode 100644 index 0000000000000000000000000000000000000000..c1796148e6e9d38079060282af20f44099970f5a GIT binary patch literal 731 zcmV<10wn#3P)004R= z004l4008;_004mL004C`008P>0026e000+nl3&F}00009a7bBm000XT000XT0n*)m z`~Uy|7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$BHmT?0B>(^dJxN4CR5(wKlUryL zK@^6MAigLHO1+@e78QI@48?#%u|5Q~6e&W5Dp)U7q0)#HLCH%%3Mz_tDJ?~amY^2t zOA+xwu@r(J+M19iy(F79mkr4V4K9ID2>kxLLJVyJS@;;{%sK!3XJ&SlEc?E`kS>P0 zNj({~T@}~zoT~GW4`j1{On~?h5Pl6U)Qs_Ga=9h}?rfpJ6)n&V1Rn#TJ|J@wjJ-4j zxL#LP$U7kSXTNMhcw#Gz5#e57#);6Ubzq^%)O!K*E>#rq4#^+HJixpQm}Bu==Rf9e zQ|ulPc?zVS8v@@e3UG%aVn$*+5N!jL7ILDDvuwvW zXe-!iWaN%4-tCZ4`vI|*xA0S6Xh%A*4LRkodGGEXiE1-;GnV$%qo7{I=O+?p(GFrf zsx>76+8I=RcH|a#NV*ID539`+&nLUhm^OO~+Dt3nIc2!wJD?p4ZH+J?W$f;`C2t>H z5C`psNOIts1UVn;JSIn~J!iv?VQV*OBpb+DvYqTA4J&Nd^oP}u^cS%>oLGX`a2Ego N002ovPDHLkV1g_eD)#^Y literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/desktop.png b/OnTopReplica/Assets/desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..1f6a7f4bb706a4d9e2b81257c1dca8fc045f8f9d GIT binary patch literal 794 zcmV+#1LgdQP)ezU0v0~n=;2C zMiWEah^V-7;Rm=ET)A=Qr}z#2f`~gmKnMt~qM$}GniyhYhUc5Qy9Q6^C8E_7UDR;u zo}ol^|9KFRgj5l`fRF-O2M7@`vJO531n1zYihuU11gZjg>>y#GM3$ol5HSJbdJ4F+ zta0;F0v9BVF$muAOnLGzivq$~%(h~zt#1*a*?`m$B6dZ9(s|sw-olf+(+H74;RJc959_ z-R=>J5iMiMXHA^-(rwd*Mx^$uu(&YQz}roY7heox%&ZP-e_2jR4N|IVR1C$^BbHQg!~3s4(ad7ZPj+zo z>I%At)mT8XF`93Mv=u{F)0GDVbL46X)N^E`6D+N)V(s$)J6+4m0v0cyN28hZu%=U* z0gGV+$3jCqdif?S=@Fyc!9}C7;WNyXBdl)~*f<_S^X1j{cZUQkHMS2bSVq(rBM8g2 zkFVG4Zeyr?HIK)05{J{*(0ca<3vrBB->l;OaK4? literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/empty-window.ico b/OnTopReplica/Assets/empty-window.ico new file mode 100644 index 0000000000000000000000000000000000000000..ca5edce1402e54eb04e80c5c2ca8916f7ccf019b GIT binary patch literal 10806 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

    vF9gJ@Je|yRw3>4@pRamq~Dp4(LNsCb6l7h zFxvaNhK=nl!`NSOj9@<~LcbHR8(Zi-?bzqmVqdcv`#kx*DcXy|zJwn4;!U`(*6XtM zj+#2#MpqUmJu}!_!ajxt_svc5psmeq)~oT`DX9s26!tFMjWViKzhI7x21lGZu5#B<7XuwJcp5;yRJ8 zU1`>!YgM{NrRxkj7hKG_G!x+Ukk@USwOe{7agC6_K8VxYjO&+vIv;Z~b3d2v?b7^7 z*CGeF$Av!1-2d{r>~k)=W$N44hct6%=h-8=uGs3Q8HmoicrJY}%|qLm-Ec1?;`cb_ z`+B-2|KF=N>vUaC^E}PRm~AqHn9GLILq}Zp zzJ*_Y@By#7vcg?cRpG8Ct1Nd_R+KsMTSEuTo-+r2FX*U(Rg{&|YcBl$(DR#*f2}Df KNIv}U*na?MF7@;P literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_czech.png b/OnTopReplica/Assets/flag_czech.png new file mode 100644 index 0000000000000000000000000000000000000000..8308ed84ed70128030d13e6315cf7864c24d4e18 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ#}*A-ZN!DMTwp+jv*HQ$q5p_8V)aiYp>eCn8LvE|M%Zso#F><2Y8gOitsQyu<72b z?8+$KAmz}N{Xy!3v)iZt@}8=DB$hL_m>hay$fFRZ+{XCko-E7U?z06Oxc_;1O3t2amNsq%TE^h%>gTe~DWM4f&;U;T literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_danish.png b/OnTopReplica/Assets/flag_danish.png new file mode 100644 index 0000000000000000000000000000000000000000..d39d4c1917c8e11a5b4a713cb900312b21c89195 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8oo45Zzdi4M2&;Pe<`LC`0f7R;$r%(UC zfB(O+@qb?4|NHj+KXBl`l+?R(mw*ON`7uKTXq{q7kY6y6ix)7=KX^eAs5sHn#WAGf z)|B(^d<_mf&VlD0UhFO3@n5qurG-WMNOaxN?gteI%RAPtO5OBCxrys2``Hik4jSof zy1TF_RAHyLcA2}Wk(EioB(EZ09%t>lvPyAN!Zie>ud;V8 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_usa.png b/OnTopReplica/Assets/flag_usa.png new file mode 100644 index 0000000000000000000000000000000000000000..aed8f11f9992b987e25e3344be224bfc6294d3c2 GIT binary patch literal 355 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/fullscreen.png b/OnTopReplica/Assets/fullscreen.png new file mode 100644 index 0000000000000000000000000000000000000000..b1f8a2b0282f2dd25a2fb69f343d0696a2db3241 GIT binary patch literal 396 zcmV;70dxL|P)Cn<9;_B-BAVI{xK#(RKoLwAUqCu)PaIeu(9K{43{1FKuM3&F*i7#IBv*~!cm%RWtf}f)Iw*n&D1bQ_gE%Ou zVzOZ0Ajf5rIOyjLQs9-zC*Xn4Gr6abh%D%T7HPr{Gx{dzSlXA49@X6!JwT~`w_|1* q6~AeLckV&W(!qe6XxiagfB^tGtU|Dbl;C>+0000w5bQ*_&$4rmFhfbI!d*06f8AK`dbWzoi7Z;0gKGp1k_;Cm$^xePdKt zjRO&}V^=dbv#UZ$?V3?DF*`C^)4k2jozFkJ@s%0%hbyD?w@zQXzj2&$A1)rkng9hE zP-h-UvV($I1};-H@*UgHapla}U&AlIIA){*PxFL!lRfYxK;t}ETO*hHq^$@QrM1+~ zQXxt3PF7$}2gs|6gqaL8gA_OnJv4=f+V`M?5T+=heA}u9DhF|eQ(1*|ZR9)vjCPQp zO>0ewGpiVtr{Fv-u^RcQZXJUH5h-`yohq!e#lR!f>z{VlGlR z6%4T!&BJ;={^Xq(1cab2G1}cjK5i^mFN%~=d=b^%@lM&XE5Nn49I1%?S>i404*gRXY( zy?zM)rU7;)8s6_QR-V6tLA-!f?qM-r2KmyewweU&zt#osOZ!BpC?N4s@KXE?hkFX$ zA5UWZu#a6oMOI9ZZT|(DSS+nBz{p5A3G&hXzuWFMErk&s?5mPT-ac-A)5U{79s~!T*mvTiwr;g@H2k9y@3m#UUsf&=YXAJ*O`9%-CFs}9j)^urSVfo z$v8!{SJ3L4$FVbC;rhncc)WcZPm^udp~eNMsWeZMG3NZm4=-I=US5jxJZtKv;g(q& zL)Ka-MWmG6Q=YsCnN&F^L%g-MS>5{n=B;*~dxCYrg227Rb4~sf0llRY!v-pBCn{m*zDzvF&ZUp(j4?(4pvWtA$w zsq$tOPtPiht*X3V?Kf3sSE*8^eS6dG$akt#*~NXWTA6Rxt5T)QC%>uEsFCURw(3=? z_8LaY9N*z=aRYS@bOEH*Rxa;jV5Ef=UPoHm%Y>~c~GH-?2p!d)R=tJ}|YG)Q!Tt#KM z{jc$V=3IQjIadzKqb+(Dsqd*hs4b}95-|)rsKuzhZLtCMd1bGDuePC&tIw<5=A_57FqSI&W+`|e0ND34A^eeffsX@HDk_-#{0^<|Ca>f04< zK>c3XYkaVL-xo4IsQxk zE9XGZ{X{eYjYVUS`l9-#`l;H1#%uLqt<5x^s}0mc%KS~FzOU>xHfYVDey{8`)^|nv zKFWO*8jqB<8=8WqqZw!>nq?mK_+R>;IR|>~RnyR95)D}jdfk=I~BeK|l#sRJ8 zH4iBJ8c6Ly?^F9|gVgW4pngd0NqyZ3>1Qb0d1xV8jNH*uw9Gu}@xSyxa}M;}FG0#- zKAMBnC)GdI4#ptO4ZV=sKwH!bH9^*>I#S=)dQWryTj)d78TCcVUSo^CpZfO#q-H1 zGmQmm1EbLZr1@Ou2Cb3$du?Q8K33oV0IBcmbJcE?{UW5?ccY`|IEqB4Q4~6ZqW`7; zm2;ryUKuEhFcgTkA&m>mk=npiq`5$2d2iGKsh>AT>iafG=ZEj0Pf&L>6lt9|52?SO zuU)%#ww;|_shgYIADo<>i&f6%(Q@0>&DFS1?^o$sAFr1^d`y2EGw9C#o&<4S63RC30>lZmNmClk}sBCn*SMO?m>dg4+_%85%i zQjTBvA~`(vdUE*LD~aJT*OJ0MznXX~`f@_pnZ(4fsDy;DD2}5p#)n14#UDLoQs~L^ zafXhcjSW2>^EVXBeI^}dv?w%!`%cEi9X@#h>3A_d^i)E^5kBV#pLvAu5E`45bR-7x zosPsNCm%VVk`l`C(YPBaN8*wV9c2uAr5h>7cg|7-EwW1NR$mv5&X zMPVHOmt=fKO6t+eH&c&ZN<}FtN8|W@G1rszJ6d#v`&6O&o%v2jd7Zw-_)PuWYw79X zS6~nlcJ$`V*|STk*QoJ3m>ol(A+66eeosZ3%QdI>MD5VqNNd1GNNvFq`v-BXIb+># z-*_WsvAg?EDe39ayN^e#p1E$rOec5u87@ng&v09|e7e)J<4Vye|(%{L{+y+mX=GxEI&8454t4lwOsJFeNbB}TMPCdqqcj}IMjJJ2} zYB%1o^GG{~_CrQEbQm$}KWh~Cp>`uis3x{&)Y~0Kj+)qUjNQae$kn@^6ZBHpzL#%1O@4SGu_} za_-zXcdqt}-Cf4b=W`ba={hn}d$-?rsy2i~Dldt%pMwCa2#y;^poAL#67^INrMo9`-* zZN4j4ZS!5R%G+nfs?FXjR(g5s@p5-hujTHWy_PNU{FU@RFV9z6yvcLfVo&q!&0b5F zZ1G;Y%*SWx@~uA0_-@PA?C@K*#@BDzT3^5A>;3(gZwv@nzG-iuq0Re(R%}6^1u`NX z(Mm&mgI4+M4_?LJVTiwJl~3@2ztZ-QL#up3LjIF{Lqk{l9!4Rd9;%)HKs?W52ih4L z>ajgIWVH{Ur=PWr&+^_Myn=JL!VBs5pa zYz`n+`yW3W%WHi3 zZibFB9y=T3dptU32cNlv&)*SoE_MgGVaKWXc#Hfv_Tzi{k%LUS6u*<(uNBX+S!WXx zc2!g~xBsRtC-{?Z44q~Co4S(de>M?aP4wqIEYC6CPe1RJeka7a)9<(=@_d}0Thn)q zzqC`ohkiEad6zzibG!ZMnP~6*$0Izkr8R0dYj*j&FY@x52Op2UK|znIRjZZ`!vM4q zEksk$SfsVR)&LssHTO3|TKj2E(0QLeN9`poBQx`fS76|3_4Qq$p`M3MMs7cybamIo z^wj;=v+jr8%y}5`W$vS>^t>n0>3KQPU*_eU(c8BXi)GC<__Kk=$0D zyqW#guNA?45jV0jQN}CX%(@?8Qs&84={b*7ksPCkX6f8nvLBwlW7fTF z9;=``Sy`v>(bMSEovg1=RwT!fX_=Wio@7*6j*Z9kxp%X^I*lT~%(!>_R{EXLtI1yk zoll705f&Z2H6T2EJ&aZn3zn|j=DXlg-tSVatgW8Fa3AtSi_ugx9%+8>hO`D${+8Om zJ;$0Gv`$caxt)=f^$qcD-Oj_In+``sZT~#+>fW^Q3klib318+$UB91y_U5C4bGM!p zp1=Kd!MRj)6Wz)+$+*vSd_FC=;C$MX{Bx;>3eMktl7E5Q7Z@*o`FgzgWe&H|ot(Uj zX*v1v>F91we!@M~ll+7Xi@2SUlYjL-%E&25%2Yimxc&fr^`!8|Lz8Z1KPkNV$Sgg6 zY*x;b!rMNQd{y$~$A=|PiXWHc z7C%HfJ}Jrl@prHF!_$)7AHFNeEh;R@EiB^kKa}SF@Kb4S$!k3+F5x{;N$F3&8cUy) z=>4d)R3GQ{yzaXnOP>6$uq6Ad{G!Y+pA_Cnx}TR!&3)i#bc|2H(XjQK$r)>R_$|)) zU0%ACm9_FefV75Rf;6XVFK;l?JpU1Dh}8eJ7SMTNAEf-XW=wmK_0>22N5ee#MMQWL zGxuE2$~aQ!w)dBk?w?6kNWu8MXrC0=2TFm%0m+{jEcs3cCEw+cB%DOz@3idLaD7o=!ioJkulN|EO!De_8?;w{&t zc?esXQAK8i(|#|^7zm4^3=bH#5_kY zL}Fix#Qldz{9i;8{~~`$5&28H$jfZTJP|44{!)&giTs(T|9Ahr^A9<1~1_nYK+K=K?9B1Y#!lIN<7k4xT^aLJ!~!Wi?W=y-zLrzC&I zX>>;NXGOz2R`TbalY&JT&5DQ%8_UL^W?>$@8sp-ALQi`cpv*wB=RRt^3R-XK*qp677+0ONkqy2 zE|T_Vku2E5<3EZJPx}uZ5=`SC{(HgeUI6%o>4`d&@peUJB6-EUWr0XKHk6cwiQVBV zTo;K*5(!6PiHui8LKDzMp7&Kwd}8XYkcgOAU;iUv>!}NueVw0ww*r5i11v=|P(}V) z@Bcmj*L;!oK>44D@TRufb%lB8!@{R=dD9R6DX+(8lGo42Q0{>3k~46JNd39&mzVOa_@(^$=}UQ@_fmd&^iql$GcsRF;tf9b5?|pIUnPvMbVy|1!I!cp z_@(SdI}f0cml6>6LQWhkm;2$*B>Q3B^;;SD!nLm4cRXSv^Me&%=YM129}LHe{Iw6L zy*>5+U-Q>Fp(XxX_~#!w6}2^zdj5J^+KDH{-(M+Q7*?*aTw{3QnB7JU&l|a0a)p5q$yOIC*slGW8yvbt|ZpGjsnFSEQEeI&EzHnVmx zqTYUJmt^+!HwoLwRP|TwH)-G@$s8Pv4oTLKqb3atm+X-zBzyEJLpfv4GDcx1*u*$& zVfEFnU*~Iht#PcP{%Hk_X>XuNU%cQMo*u`){b!q$NMgiw%D=Y3)z) z;IlYRF?Rc$f7L;^5k~~cbONQAwTas zbUMmwJ3R{cXH*t{>WXd5P50hPPd^3!m#mLG3}t?@Rt$Z##uzg`UMCst z*P69S(mQN4shy{!ck(i+^A^eIwhir&j2?cH(Q7Amvir4qV;8-HB&#pBfU*Z1mF%I% zi7zLJ9}$u}3@)Xaai&OQwP92e;Bp>@MtL-c3z5yUy_nh2~s-l3n_QHB`>CB;Mvp z{;>a<6a_z%tV3mTDxgr-dS;9J)^u6&S(?n-m?}^5Uh~ISz5T&O@oTg^SzfHY z4)dGnhFKi1Ng=5RVNUFSdGTjz z{6EXfNSNcxKL^3wAKt#?>}@aQ8=n{QWE&iO%H{6%Qb~jF4WA-OLRYsINW4$J#NeM% zpXJJN6z-EJ$9)UrxPP&nAYPw3P%bec&*WTinOr(tLXIz%baG5)Y>7N(eo+upF29d? zCf`LqlicIwl6|aPGO6+I67TPk=O1#cx*S+6J2&RY{N*V!V@-nc&v=mY_$>Z^Kzo7# z$HLd(|Nou%|9AO6!2hZJcfddBc1A|j)3QILWIOD6mihi_Q_R=c-+rT+JHC#;XLbIJ z7_b%o-X`{)eHncvyPKbheGh8Gp45cBnFsV{9@r;T^81Iv{J0d2J|o5BW2D3-hWs5z z{ys0y=Euv6#a9fyoS!H!=UziFpL<(g&iWF;c^2_}7O{O6@q9M1d>;9G0h|{T!`;zJ z;<<9C-j@Irj6zEof06&dpP#|_=dCa0kHqXEa`e-U&*XO-%kbS&d4Lap=~*PHn+qjn zbAeplm?u{@rrdL_fH#M$WN<@tINyfyA@^fJ7ROr%3^uArbsf@ z7fRZ?d`VrKCpXsQ%GI^mlHido7Z~H#XG`qHY&i$-3%+@B4&LYB{W)x+V1CNCL{4}Y z%3;rZ3Eq$^0ldy{b*5~G@0Mlh;<+?UJQk(O$_1&iXil=snw2cm=O&5E>?E;Ab~6&i zp4*d_Cd+(s`*Lh+)Aj<{u&GEq`EJ|R70F&~DRM9N5K<~J!KL!_+oBBk$0&c+S+)fp zk62IqzhBSV=>Pq*@&DW7=VJZNT}j-Zc0cnB{(m#ac|ZJ>{bphSalZW)Yye+Zy<+YQ zZ+bp`=<5wQKpa0TC1b*+WL%h(jgOS_38&zAR>~csrF`7y=)9Cs%ax6}ETtnZlj9S4 z{uhYe&G=-LB1QH$5c7J6TZnm{19N-qpmdVC&YwpezXZSbfcFM+_-1M=uRlonTJkQ8 zf4`_izMWenxpNET(ZYOrFh5T+m>b?%oGWQdawKJ0wj`4;l2&BN<<(ho5pEaOWE#xR z!{HqMecrE7VttDlOXPD{pCR@~c;(As?BW2=-wo%TE7HXW&YPE{%0^gwEJ&7BXxY3Z zai5zg3uY(CjF|~CWmbYXps{ljWDNI>p^q_sMuJS79w!r~#>x0;u`+Q^oVd9s%8YfX zGJi{!Ebz*eMeFlq&BlD$x06_Nv{;@N6lwgAp+9qwb+2vvPDE_Tt3>|nt?)aSc=Z7O zAFcee9fIJ`{Erx)-N_pt-wJC#$)koZ7!*W*H;6jzpp-JlFJmrWJ}v@9!uAAgPe{qo z6H+uVg8nf5+X0c1KajrOkZ5YXGt~4d=5`~a=?^g9A9D#M&>x6ru9t|uphtWQ?)Ryu zA5-W5j=X@+uV8M!lA3zecT%>ZP)Zj4AVsi#N<8>_W}ZBpnIm7#&XK!wvgOXaY)PG; zB{$|}$`>epZo0(JPnSyz(+%bcu#AUy!uEW*4DZXkiX@I6(YftKathYR@$0a4S#oey zy7(_m6+g7iJw?11r^qHaZ-Db^IIozUDDLoGI3r%>qd9P$IxS9I87Iz)6T6x5GHhzR z44)D&V<*8JO`H-Zjx!LCJ1>e8m&NhovM6307RQS73SPS|QJmJNh}-6LneLe`t9N9{ zH%|+d|2g;{V$E}V(80$99_4=G`@j&MLl3_%wR|6XeB}AOe)M?yhMLqrOtJ@uG0#6{5_A2mVJFaO z=KRd_4V`DMe}(ydGV}U0m_KALrE|Mn=1%nS7U$99`5M-_^a3AC?$jK~As0NDk|kLv zV|u2f&&-tDD1|!Vi<#+ibyk|h(<{0(CrvId$dF6;`;|30^2KKb@&%k#Nie@eY>(cO zCnt&bM?Es+;PNyHg!OJ%Z(o!w+t4OhuZ8n!IIluW;k=mqwE+K}JtbCVOp29hlVZfx zHC7zCZHG?}qple?8SXCeV&@z$6P)1f25VmHN*tKHAW^0+O*H&oecx?qlDMu)6vvgs z3uNz+AQRTa%P0@tXH%R!ep+}R{;}EvX3cm9{n}0Ve`Y1c{{q&c{VygZ1>b=`^S@g~ z(@s1q>b9FTpI|BMvtROikkflm&ynM^yD^{Zp>w*uhP19X#GEd>-$8mm^mqD)n016+ z&oQ%3NG5S1b7-VwGS|xJ7q)$$lFQ=xg^yR33kNfBqMek`BWE?002OS_AILd{k?9!lG%mc9(BEGq_?NXJ?Z1n zzsX>Jm)>)aq%o?}v4xC&2TU4pNHPW-mUQa=^ufm^V@M=^Pj7#0Jj}`cZmCi_{Y#WC zMN__{=bs`u&bK7n>4s!FU6*u+FC^V58Kp>?Yl@`0-jLKusd59(*C(e)68+%BX{mB; zcDmev_YHWbtt*h*)OIQ8`kH)+rw)(B_s>v&pCo4=U!5k$m^&U>lPdce16G*1FG!Nj z_~knMdnLS=;oD2mBACy|ujim?uy%98&yll3j5s*Q$aojHKq>A%`W%JxL~D3*)c}yH&|DYGsm) zARY`}ksyOs#T)*gmGkI4{6kN%ujSzBsLJNQo8ICf;y?WVn3^>y^jUhlEt1}On^`*~ z?bGd&+QnB=x^F|ilG-$WZc4J z8BIPINgXh3VT=r193_3`hf9wIq0(hxh;(rek;nN3nGbVw&nKm&h3Z}=dVrhp{|A*7 z|MC9-dJ7>Y|1U|+a6R}e`QuHJ{Hd2Dcl%6|yLd}V*X_s$?tYTmZI`6>@|V;;yCtRf zZb|MF0P}qYd+p)o(#tQfi-kFB@eY^p_bb$O7bV;7f@F+2FKKq?B#rq%>ezFVYJUM; zl$7yt=#nH)L_9x*d1305n?{V!pq{%&J#gPWU+%NUbC+81_R>80VhQs$cwdC~S!%me z_}NJ_^CQIC!{qUUFy4pH1)x0~??T?#!xp5q+}b(Ra;z;bpOzqtCMCc>QD(a)$V|6H zneLV((7P4f;tZZUPwj85=2q&i;WZX+_>4P1t$NrYi zOO*x80jEzVzfYy^C#Kj0zRMac2hE^-<9k+S@L*Ep5(wg8{Q942Deie=19^)YPm(s z+u(g}ak`v=`DuJi*{i>Y!ra6?MfOs^?INH1q3y8Vflc_5f4At|4LV z#mlT|G2-MBA!8lFWTa!T40Q;UK@I`ZZ=%2Sa`2O0E`HJtb#?QT&Z;SX(s7!fbeQ2U zpTPg)*#Yti{6CtH76-|POAY=H9zMy9OS+wQ1poJ^U+eX>@VmyN+ZmsHJ>)L@ z3(Nj^J9SdIy*YNLSs!N423&JF&KeOR=|dyn zebU5S#}TI`W#nl|9&tvJ$EZHX=i|xk*Cf;JhU9RL^X5O6eCF&=7Zu3wmK4ZW@J{DE z-(HYy%;9t%cZFI$9$$~8Cl-UE=(j|o6DS;}p~Tz}_y!X5_mXdS;(xoalkL3DhZ;YiSX7~w4 zayzl!#QUhEvYwmD+)kCodT!dtNVu!u4gb_J=Olf6f@C?ud(v(8_hhrD;|Y6wzF}Y2 zQ^|vUHock$^lH-S)!Zhw-#|%lyXKxHSJ7o^xr@uPBo>_^#-5@da~vJx_$d9>Q0l#q zRe99(`4Y0aP!6mrlKp7k%0k&i&hX)WZyxtT9=!KL=8KbEQe?t}L>V)d+&&>rmXY^; zr~|i8Pn1o>|2cf;iKD2+$3)9W`v@5}Axs9150Soh!P0X~pmZHYoF48koksaf`;mU~ z@fctEa5Rj^z?boZG2YVF&RgCe=Oyn=@RE1!(L^tK$HiOTo#Z2J+|Xnnd1tDxw3+EA zZLk9!-(46WZ!Zp%w-*G+lY&C!f04caVY&x|eto6#=RNmaOim6p@h?fsoO=9Ode_~O zH7Eqehl%e;jCp(}Yj#FWKQL5M2OXAV9#3XXCv{kuq+=85Bf}Bw>G5lh&zL~Yr!LOr z92ZQ^T+Jt$wl8t{+v96`xE+f%06>huG~dmQp=~}rzswJk^-wQ&^3CsarDLF zHs{g1$(M`t#xK&FJI@+TEQB^edQze#CydCC1?Q2T@{S!Ew?W<>ix^uw zcuH$0FOyunv{gtdV#<#yRT3A?F`TskE zKi4A>|6{5D({ksXd8TvuENXb8o~Oo7<#uwv{gTvwAIyU#g}ncod!(cj*E7e*OAd3p zd}{TgX?LY~MwS#$&1QawX6CYg=XWN}DZuB6^ThgGV*L|*^CABFfO%Uc3^TVB%YB&M z+gfU@!==-AzeWH3Iz5{NdN#4F!=0gjcbpzwF!Q=?^OD7r`T8<=E^vyLnf6iQ1~->6 z5#lr|LR>kX?ieMjV7+r$tQ=brFR^ptMq<b$?&^cp!{bL(CfLBkvExw}-m2y;fR}MR0%1 zZmqPM!06~{NNwOPSL|Stw;_uSw3*>6Z_mR9U~l1{ga31lmh#u@E-IV<-gvH`V~qj+ ze@M%mdFok8*S(U`KS)yg9x%A4u%4qnuSy>rK@aDwWDzrSCSGNq7Cro_?6+i%u55O; zl+mXvrA{hkZ%*l~Z_#&BGMk?5f@1o%CGx}aQYrE%mG9P<$x~0ndh6G|W%Ag+Odi1b z4xDeoIdN;Q#L^RwTAwaQsIdaw6J*D{IPs*$@^Fim6|PaT&>>Rh*+X>q(i@O zX*VQPKB33?@xTD&Cm*u^`GY>*@)3KTKj`Nr?+<`;e>e|BgS@28U^G+(^AVmV<|E)c z3eKqIC=Y2lh7mPa_Sk{)Z{_6qN-gnywE;tuv4iP8(t5V9yfw>LT4Mum&G(ll-xYqv ze(y`kchZlYO}x4X{#z^4|FNk+=6^@;J1(;y}~+7%*r&0Vt#&%-ss`Q39=8?yXMA--|QIiniehVr1PBa7L{Mq9JG) zzKg%V1^bpN{Jz!b4RANHZ!ywCT3`c~vE?}I0JX5^ISxG6nb)Yy{9D1l)eIkLrTpiZ z__vzxXT*Q}{}S;({G9s#xmfRlq9Tp||9t(Io&7!6(C*W{zjw2;&cpx9ocWiZWe=vF z*Zp_&Z3^hc6}lj|YsB*F#P$?=v^Uvm$UVn0IFWC1Y zhQt1y-uSrk=5}k2TlX*(Oeim4xx`zZqjw3wy??w&Jb5f#4M>3v){pWI=+WQdu zLW0MJ%f7K;vdfO#%=~%##8B};TkzTKOy%1wdJ;v`_Vh1hz!9+#AZwmkB1L2De80@L}n^Nyv_!~Ab zW&`X^{F^CnGjod#D0_>V!oR6K!Umc;@t(?FHN{JsPxm%tiUB?r{+E?MxjK;b+U@xN z!^(>P%KvI|%F+Aq|DmkpPUiB&=gG{Q5=Wna^)ZPXdPHLIndm_WBx=w>iR3tHNEqW` ziJ~_Ui5*1noCxOs5yQg_{>Mg#OUURjIlw&X0Q~*zLd0imux!Ogw~Y;w?MO#oSZ;R= zk!|E_Zx!q}qqW5SRoKKb3v;+H;JNeQK9l#EIx3j>9wcL7Ig0%W1NsC>uinAZ74{vv z2g-+?>7jh;Bk!><@tq#9?iWb@4v}}TleY)bSHbsN_3}1&H}8orb|-IR1FEKdOlpqb zHzoHsRsMRcBK9lu=FIJzz+csrIM9?F&=mensQns`fHVHD+?!ZbfxX(mU-8EVnz{16 zNclH2^Vc}gY?hDq{~zY$ zeK0>LF#``u)W8E0IdH#3um>cZ<1o&5*ns^K#$#dh1Ve`&M297eK2X?*FxfvMRDwo@ z%6|CoW!yP3Sp4C>13&fU`Y_+ofwB#Gj|&oSxNd^+X8e5Cd2^?|E5z-{9lbTytV)Lkn24zvp+lHVq#Jd zdq8}N|LXt$eEt70`}>PY*Y;mcdCfn5&dKKytmj7#*e4MvoNIW(@SjkQLl}em?U7*i z1qBZbel2RPJ>=d!BST*C_a6~t+};EKop9fVeCVNV85<~`^vXApx3zxTK;7{yMr#gg)$(_>~Fe;(R>C)|~Nkc2XZ z^oRR^y|CXaf&Bwyw~BKa1P_1C?am>AvKRl_hYk1-4U|2@Ifj=XG1?cu-!?i(w&3%g z^vpNHf87M+5F{S(UxuH%Ggn^-bDhu6&^a4&9UUs;ct1PdcQ~Ijfc)MU_PxmQ-BG8W z0rDX+{(bf+w&@7-&M;SX^CFj1PxtnwZu61m1L&g+4nTp@axlI>&{vvqJ-hN&?u}H$ zfkt{8-)}$-U`t)l5cZ7+z?z;GYksbJdrST`H z97wwPnt$|+6VHRY`bh}u`k~5yzya9rgZo~CyFdN00NC%quY5V5y9WixUTnZ`2sS~# zG?2NM#(MR4U;Nh__R4(|+&3T(*2q?~F1iB#?pn)fjK|k!j1QA(pKlu+fnuv`P*s^ zfPF*ifQI)PapP2E68<&Go)lQk8%5_5G{? zR~mn=|M_0|zxMyq^eFfT5mVLYL*O6GTserGzZd2P_knOHhWf)_ZDBh$;Dh||dtdl} zHax)Kz76)C`23bJ#ChdDE|y% zH|4uF=Q}nV;7d)1?=r`4M9pW|fU@WL>i0Ix18u4Q)%P0>g!51s4}r1S_bu#|zezl< zzHi7=8YqAKzaeve3x6GLN3MLuUv1#8_^S;#RImYJz$^aKytMxV|9r#$FW*Sn&l+&0 z@+YSR|26-U@Yh&>Ktee0!T5g=b`U_!-%c#`?dvB#jNbT_A=bmZVZLRkzieUj#`ial z2#}5Vycg_Ooz@?g~8tX_jcr91xK zh0pHD^@AU>_war8B)-Rfgf_~)tCzG?_Hb|31NNHFVb~ZSHiQp1fxp2V{!OskrhIR` zuMzQG**7HSD|_{OOWbe3>ufdV4^sBtVvGMbP#eJaZAbbL$MJpEb{pDpJeKzw&-2Fe z9BjaLEbnW_`w;_d%|5TAt;PVjt87&;x2WL+6aPlUfJQE868tBdY@i{zfcnqG|9)nK z!9O9vudtHhzxscCV$wnQpLmdybBX+aH*!Yg^Fa3d2IF@Idwf3--}mDjD)-Nj7jbkG zzY*Xy#7{g~3*CS=vJSp(gukq2Eqpz`z1HmW9n%+))<{Ufe3X$$-JxCWsOYQ^>EEql->LCs;_43-w| z21~dq&&K$F6Jou=e-P|ZW8zjLYQKiO#+K*V5CaUK=e7-MKwhxH_ZtjW_CC@8|5x@Z zTh{xOzYY9t@qcBnYDgWR>{a#Y0X4w?P2zj7?qdUcpnW zf35Mh;y+vP`HgU2Z`PW@KH@RNS3HLM$?6ekH2m@H6=VI0^RKzjgZC_A!ZhSc9-c@o zKAQI)Okb`)alQ}idkuj*eTQzSGkt`1uy4y=vv-klZ>{R(%eh+Pfo_v>@(^Ezd3h<=X^Qs1|s-nSV9TX@@G z12))#4e{TWHGbvaV6?B;D1WmJG#tm{)B!eQJf%K0pbh+OS?_JYx}UQDoBS*Izb*V# zY6rH=18m{0QX8;U|2M^dSw?6*_jZ{hq|xUc5?tbqNB;l8qr^RgH%8|^3VXt4_ZbMbW(_dvMg@6-oQ%-zRg zPos(JgZhO?A9}Jq2ZTv?_;(ww>?5VqP}byl{Qchk(uR0%%;9_C_x#30i{A7^dy~Jr zUZk@M(XdxtwzMJhJ1gOE&gwVeJKA1n)i{iSMCkW>>FU; z%Dz7F-e%fDLm&8)`rcf6MqP2KtIB%4n%pn%cMAOLylc)_`@O4Ktfm*^2X>Wc| zpAhM({rP_M=Z6sMN3!RFeS;qj2sia<;nfEI%Kj~wH^*;VvOe3a5B`k*Him6OeAS58 z79Uog^m42%{F&p~@|uSDzVdINcEI;B`14$~k@|2~89opD`s92Qdq1hq{+?I-i3JTt zavR@QS#p34@xMOt-@;$nTd_W1Jp%U1-y8$#Qv=vg|663q{S|%RhB}}Db3uy@RN()J z`ahBDGb8mH&Hd%Uzw+1L{<)u(eW|p(?C!xi;m^I`za93U;rE;ITTf#4dUF0U zeBK?uSU@c_m)_SrxX)!iGy_|h!Ct7zJU*3t;7p!yVs79-{1^-KQN(%GV3_x&N86pA zU01Fb>pTGNTr1daAZv1c>Ca*t@8J9I4hUo|#^3Pw<}hyxf34k&c&_yuYxK6{cjaH7 z*l+l=Ii?$No%-HJ<2?RviyhnYU2L!eTmBwf>VF&RMH}NeUSf?MSyS(+>NDrF=KI@F z&sY%ytoeJauyt#V1#q_}wpov2BnH%{{xdY%#J?Unz=|ADk3AsunFm-?16t7!wALDc zy&uZHzF8JKu=st&(XatxfaU_T|3Atr_%@N>l8n4^BPE#qT0712|4QLc{6A#jUsCqd z-2?F7NW4|e4XAaSGB;$l0qdSH<~26t{s#1Y8Za-_(U!43c439>SYta@ z#0abY-UfFa>+$`Sy$!XD75=Z>>k<3wVdqxFHkI= zzaB9_WlbDVTd?rArY2B3FmBTes!uLZsSQ|D2U_C4!Jj&S_;2BVO8JxjcU2aD>c2v2 zibLf8hzE~z;!DeazPER7_;U}={W^Sp9p`H;xqBtGy*uY*K7aEJ&c_t?KTSeT_>2Sf zvb`Z6c>Bvp=IO(U?}K2j>fH^W?~c#o_nmu%NtZs+(yn_XH9fx0{$lm>*6?qI-?xT+ zt3km=uTFhl`D+euOgvFFVlHpX9=rzle|@z97^)3exVg81ce_bA{L%yp^Y_ss!QSHH+{I9B~>`@)o zfz(saP5hbv zCzAh9lm8E%OH8a({_6kK|H}VzN%>FrcFhfYzLdWCYUc7DuwO;beyP@S34BsA#zxV55V&1b0^LNyl+nsx}->PezeAI#(}TTk z)bww$Hrt9heoNT5AXhYpe+#%ZRqoX9%HI~2jo{KqeG?uw^k$U5C5Bs(11!?{TYb3J zXTDdT*wui2oI2W!2$A~3@qc2xO8xz>*c0!qsB`L5x2Wn4@|8OLy>-d`b+P@ra90`p ziU0LrZ-wt$_}7JhUHGdF)TIun$2>q)SM7nlzpB4w18N5r8?Yh&EBn8}|C)tAzcXFA z{J%&JNlJl#cDBLaZ&BFu#q`PC>E|qmy=oEsXX6`goO|{839uiHpN*mxAA%1L!oT}> zXD(+bSh{s)U;L*C_8q%N$fsQrr2VHc^zH)a-O#V4es4{VX{kA$T%qh+(hF$D8f`Pi z7Vt9s9ggbr4PbAG-bL60n!Bx7r?H}jGx%#<=P?_;s|`6zecqZi1Z!%U24g}E z{ubs|tOKa(^0(GgALlhzaJL#6AXeB}9elnP{OgS1Ib&Y)uS5J-DSvC~zq<5+>#z=_ z@xLzfKV@%7xmU0OD~^@Fl{pS*ET~5ws7L=-{oW#jKQX|D*l*3=psx#z_+e+d7wl6zYhhCZK79$d`1Sc?BIL9@vPQ>p))xqm$Ib`-VKFno6a`$Uy_ zKh&!$HJvi==r0{Q1xUNjq0*^yoV4$lBp-DQH}&c1&$p&`YxHmo{s9Jm_4#H)gQW@U zh&r~wPnCZ|KF<~|4XE3dzjCclOg8*meHdS_i!IjUJJn-8sCm5}^`SN2wE^E-+1IDP zsAB{6@mukCXpYyqPPy0RGYsMD%HNvT)Z??2zs7v^f8}3?x=(FDxz}PIP>1+mhZs<#@D z|3k$8-Id9o_#dM2pKHtw{+s89KA*-poQMC<#SdqbJ0~-5b|4>*r*;|%_o2jkjq!cD zhDzTqA<_$f?+o{L?GQfR{?jPw+A&!=wM&rqIhthufIS-gwJyiUjU2ArRm1@uje1V~nmBHa z?_04RU7z(RL;U_|J?>ZTb;xgZls(K%!k_tjmA%@)EB~jzQJc@MP5f6Is7?H@$iEiz zAdCOkrUs}<4yZ-^uY(;JBiH-XtDw3Qu#fTB#6-k(02c1`*av1g)=_OheP8+0|9x!K z|NN#r_1_`(>-p3FdBpEO{?qlp)_=e`$H?y>+ufo=<}FG?>p|?lcuS_w$#D zu+khqggSmek1&IMw@yLwDSW$h@RLteo!NiWAyImDOp^~jh&0yXTXljx+;yF%1#5QA zy3@bIhME)mn=vnI!d`+##Qa9&>4vNuH)GwXC2Io)cg^+c^Z36?=VltKHHOzCf7gL~ zMX7IFVK?gM*1VsU#{4nxXWy9~tFK$Q*P%X8_H~FAbzxj@B>ef@dh{qY-`Ar4tEK!o zR_@B*!oHRrkKzBd*$1H9HU6vbtCYK{Hgmz+<9KZRYa3AZ7XHfI!o41S-&eOeR_<0@ z8(_utLCXK@Z}K(&M^UFA;l#Ms6^7hPfNH*+k}M zW7#V|v{yJWKU{i#N?q3>KsvSO+L(4+1Eph!2z>_^m*L zJ!^H%$@?v|e@ic~Idik7%<~NX_Z_l_+2Bv?w^DJR!I=85F8RL> z@!yczf#w3@g5l%DEcJb5ZZ(?t&)RZ5-rwL4Z)L9jUWeFHTWtW_sz=PRVy(I&e}g^0 zZC;agtD1KHQUe>P$#tDI$NA#x@Mk}WvahAS&wk)qT=!Fx8lV>3m3>9kVQt95zoHG) z#ST;ke`Sx~D|fYlx~}a1`BweE;2PKGMX^qEi2r|N7yh498TU&Q<`g!zA@*8l4N z%cq7sAI)$3Irj0BiR`a(g!{O@Q8JwCWcqdum+r9tRC#~Q^>3eWT~vFnU2n(lpLEEU zZXd_WI~{dhR=Kl2$6lNkjLp^esr#D3zZt(DVe03=pE|z@aav=)vbSM9usLhO%KugW zMd#sgGJI9*HLc6ZPj$)vulOr_wFe$omUZb{)EgN}PBwA3W)-CIf3L>|2OwKoaAHT23nnrE=0Fw^1h+#P1FMTbx)V2IeSx9f7h`oHyL_J11uzcul{nHr+~|Dqp@ zpHvS2oFXIsr=^{Qe**k7mP`tMKAb&t<9pJ(>m4EE`^L!VJ~1-5M}*<`n&UtG*hfC< z!1c`Ssr}lg$*}gB(zY%0_YU}c#|rH6d1H;1Jvq(0!=JuPV{*Utb97y%5%onQ&U-`H zG$8L=^SklQ+2i>ZYe$wk&6tP3%G1PPWlWq`{rFt4r49H$PSuQpJJxsI~0i4D|*e+|9OeubL$yrv?5`hUvb z;`=r5dzJdWMap08pq2yQ&%&Qk{l7N+Yf}dpHeikcMl67TJ+2L`=feDk>x2J_e@bdd zG`|5+sr>ovha0!?|D2r5#Q%&1lR}>lA-0c#_o$xHG6D_m#x)f9edl&u8}~8SzP9JL zD%x>PbjKX&_i?hk{UQ6W+IvXrcCcqJmim3mitNq&8?z^`A!~TXx(q(phPQt?`4T4|BS49rC5?2hsBO#~#uO zwf=ueql3w@B>({u;}brTTmwt~aQyHJ?4PAJt}FuRdRsUS@5i zqao_PI^=x||C-c$hVR3@`uG5;fs}uZ33}UKs$mze_+tY#$p1Bn|JC7N9sX(qHK_S& zvM;2Ty-9l8;{QfoAO_TAE};Hji`Z|G+Cy#44`%$;4M_S%fTToAo*#J+wV-*O6) zChQlfPK;MSH|F5#r?9O>{ipZWRQ@opPRv*7?Ha@eBc|iSwcuZyny>Z*__L=}$5*^7 zaIXpb+Wa3y7XG!U{guDgc{P;39o+dYY6BJdS0ndp{x@O({HtfQ5(8&Kkl@({qa*lf5y=|cMX%{H{I|fO=j;z~sppV~?-#F}+FQYr8%X=TN zF57Ooy!A2Hx_-#D6Zn5ia({~s?7JlPH)WpJgqp80IiMk9LyZC5ShItF1A4j!fBJLE zU*~By#9od4*6@GZnR<|#+rnSxVLAubu_pPTIyRxa4LeZ(*JHhpn!Xml&!9P6dDme- zv5vL*-Hw{f0rfGp0Uc|QBb2?~u0igvN!+Q)=ht9wQVo8`L)jb5*|SzdHL(K!aXdcO zSE|wft4{y7I{d4#|6AEtV;=B|KXKp{e{z7v01JQRZU}!@_UiYB?_2n5>~|sdx%$f2 z-xulpKk3c`qy9JIKm2nm#s4k*(@p%#$p4ckhCgrL#z(pn>-*sI{W^uqur5h5ty__d zXrCnSeZ-#Ib}L`8Z~hV2x}c_?;Q!QqP2t~=7@*88>}|;dwz}R*{I8Gy>)K3xI9QXD zZK%1e;IBDb=U*EC8&Gpqqn_7zuRdRsd4CP{eK@PC!M!?jz*pkF8pMbiyq^)r$@v!l zuk8qb>cJY+g(~%NgEKY1j>^5}_+avO5V!eU{J%Q(r`)SkhZ>^(ug;#9YOps%{jdD1 zvG%RZRaIFJuc|h{KCr4tN9Auw*{kRW8r*ecpI{9Y>qF}MMlGPR0o8S6ev9wdapC$u z)BMkf|5w!i<1g)I{#QBtb8?EVq}({n|NU}``Y%EGyV-|4Z}*P3bb)^_;=Ns$44KiR zNcy*rk#|32&-I5~Gxs669^NWtuWCXZXhQsNto(`p7XA(Je;fEW=*hYa{B>Pc`?IDV zjcLxU+;#3{;jim2%2xBd!Jp^Xpbn^xJyhhcc3{|o+5|TB%9r__o|^m?b!~f91a(>v zuZ25)Z&7uP1M2%`{x$6IbB+11uS)%)+^bTD8l&EZzmfmd2H;=wSNq`SpS1Cj-tE|n z-z{5abT5$JA4d@L*>~NRHM{qz?LQ*U6Z@N?CdB?G?bySLEi`Ele`3CE1vOyaXROn+ zRUc!`r|e(x=l8sn{~PRssL20K>Ojo{zvi#8Kx2P(^1k|i4OEr95VlUqN?7MEunl1d_YD<0h0oTH5%>Rge>+1Vv{emoRUK<`4Qh4fohp5f!Jk@BnOEcb zlxp@t#<9)=suCNjYWpqKm_@eT+u&+ulK>2I^uQk8&t%s_$#OsK(smO>Ckny}mc8_m%&f zT%V{mP<0}9LH_?O@&8SF0M#b=@m%;b_cQoY0~&EaxmWQ0iZ)Q4+^_7FwZUJxSCG~L z8XJ_q=6-{{J^Ux???1p_<3GR8ul(8n9Z+fcpZYHW{`|I-@=qu!|Ka`?m!ju`--(yD zZTKyecliyZ_xOzz^ftEe*8A+cZp*b6#Q(<3`_%UvF*anh#Re?=EjizcHNU!@b#D$a z4I8M)-{`#(m$hcA&OE^2PrQALYr{0|Yg{+-yT*9-V7vi)L*)93{M9brr1pCg#&43# z-^A~$+nc2RuWVnj*LZHR1$uB|Mw@4je6d+*-B~i9&7cjxqki~d>^%je=FjD^AF(vG5pQ! zZQ*a|6ZSJP2dv+T7=Z6v!`|S}ntvT`*JZz+sc%m|hkC9y^;j*qD}R;pua8f*guf-P zS5x0sTd?ql{TqLWzsB!3xt2`%SEKH$#=O6VlbOH9f0czlV>Rl1wGAWo>;3S56aW7; z|2LTjya|7e{mTDMe$UgwU)lfGBIW@97yVY}0_HgI2K`{Qfj4zj{_F>|aDO!#_rafD zvGUixQOyaa*l+O9$N%&5zu^CXgugldSK|Cn`J3W@4)MSA{wO=Y=S`Y2zk7>)I`D7Z z2KFlWw`hz1f57}6|2JYj|4)!@TexEj4cf01n~v~j&ClZZby)|hL;SCe4b-Lvs6+jy zz5CkK>beG_^D(W>lzmm|vH!2V_kgdm%GUowdL@LCgkA)t_a;RF8z5FtL=Z$2#3-VG zgD8rOh|)qJfT2V}q=SS&FajYE0wE9x(GZQ%h%yuLGN=PGD#N|||9$p3Z#ZPonYn-F z&U}6!@$>keoc8YXK6{nD)_&Kjf!?i$zV+ihe&qB5(DjmefBXR}``80LR}SWfeH~xI zpL2kd+CIRgiw`^h)>;_LaM_oe%-+++9sS%>;P zu-N#r4)DePTm3Kof#o0lFYbNt0R-_b_}~ZVC_UiFzaKGQ>3x5=_G4e5zgzY-AN<)b z5-8iC^`V>pP`B<6re^S`<@`(jud)4it^Y0m#D90Q{yRS4uDG9~YfUx{8*v|XBkX;{ zSX2KxaQ$Weqw)X5dt?hZZwXpYK=xhoA3+R2{JZ7={4)o_xJNIHy*bL!g(^<#=HITx z@!7?{^tbr0ORUB6kN@Y#UPE8>zvW)~AN~c0e_z&rzW9E=*nU5JKgoXp_Yi9i1W+F? zfVjW77vEO?-8w*g`{VQb4@6(!16cm?2Yt~$;$PfbcM9PR7G z1$~kKK;+pEpHH0o5c?JX`rGm^zJc_==7KNlK5;L7A?|&|J+fbsf62b||CRFZ^8NkD z{aD^*|J{)OFXx|_pf~#g{J0;)*B-_DFY~W?Aiu%kzcTk0mGgh{i+!^H)ag(S@VINY z{`=%K-)ZHa8nagZ@8}2r(GyJF`s8vNy5zq><2WP!>)b%y4D5e&OYslyEhm^7$i7e& z{U3o3P=z%>ct`d&G6zD1u7G{{;$L~%5Y_;S)hk}7Ibhe}b}i0+AZ)+*_aUF}Pt65i z>TdW-$HTvLfc!q`1Piw=@F#z3eLwl|*na7LEC1Ap^t%`NhF>f1?m1xR194{Qet&&N z^8x;?otLe5%f6%g9oz3u{>PuVuOR*JL+rJhChyQ+e z#{N`8{5N#*U-vrX9{XPx`(LXG`Fs5TC}Mq*|LU#K`_ld5A4ISo3}?TWbiUR5>;Vev zGR1^)Z(ay-fKc}61+jNS{3~8(bpUZ7#bpA3_>acV690bG+!6mitOIsIz1{_z_$2Lg#PS^mGW{O>z* z+}i(@8?HV7?`Zw!@Za~YIX_j0|JwD*O->-U$%lt<$ z7pf2ks@#6E3B?Bp#SU1Y14590@gIy1P~Jwde20I_%D}zx9+#HkKb=)zk=WA`26DD z@%JqM?l~a-CI5fJJ@de~&m`l28*@OqU;MLfusI~`iRGWQChLF6e>wkF{;yU1$0h&p ze`JHh|Lu3qamjz9%ly}E#9pn&+=Fo)`>~1tTK=11``z+it<88-1^KUn4Y2&9140G& z90-y8bDwP>IRNErt^5-MvNpiYe;_$N<^HO(&)SQ+i{jr0AHc_he@FIpESG=9Y|!C; z^5xw8`w{b%AK=Nmryn4n&&s~^g7x{CBiQuKF5yDz=&d+TJ&vyZ3TyB~{xKVA>e9ANL5%^#ybLWnEa93yc?%l{WH{#mOf!T-W* zrvHnJztNfk`QJc~5o`ag{MQ<9>cW5R2JF{s#J!iS0WAOM|48Bj<@_W6Ra=cW5kUNh zx0__bI!rcU==~7Zf|>&%_yWP`fM9&UKz7WKXG1v;{M`4;9-0}_K`XK`@_2<-&Xfa{)zeNxhwd0ulfDq-ydJZS8?Bp zvi}SG%kQ^9_Qk);_y1e|eS3|+!v2eYYXfe>4`3gO_7B+HqVfy(+Wo)M|5^C|m-#<^ z`m<}2|407WQ=CX`(G4GeUb_3jkLQlxcGs+*B5IB|HQ~P|F`(MWe>DDIP5FP=|0uWo zTmGBN??d*j{Es)4+f6W`_<*6}A3q=jT@cJMm^DBUHbC+p$QmG!HK5Jsz`5jK@!Meh z_-2o2|J_XZNA?A`4`Ah=`_Al<=Nv!Kmpq~DyJ9$YttbAq_80$>ad=l;-^#XZIr6UO z1v@vaZ|Cy;{qQ{m=>T82xBL(0wFj@F`xWESnoqtSx?etkUF(Z`^tfc-o1<*MmH(SB z`+Pn(kLS0!=74O2Umq9zZ-sy6fcBDzf9)|+K9TyL75R^6{eLa_UwJV9*hXrMU*;eE zAKi%DUIX^Mm(6kw#`Nm`{$k-tNX>j!?|4txP1a@vf6pUdcYrB zA-gW$-}0|qk9ZoE!#hXIzkU9)?$`RxzAoRN+_V3~F4^}d4&^EPR`0uI-{D-m zJFqrDdLO$l{w??T`@XkMa_Rn_Lr zi~n!|`M3NN2MU9K@os_c555upsml?74zT=lzi@zC{*}|0?)S$Q=>9s%zt;GbsJZS< zJwD5`bbuQ^a4%RtfHk4kev)sk&MBLlYbBQeh~VPi~oSZ#E+>p?LWk&_sjjhK^}g;_!sB+XFmAqI{I>y-7oj~CHIc((({?Y&9zZz@*s>FT6o4fcAYk};e2PFR?tN}vXGY3FWhe?+IK<0qt z-ya_!03X1U|3Kn*vf~l#tCjpq<|Y4rz2ILypa=h+j};Sg*8cv~{r4Y2++X}l_Bo1Q z?c>q<-I)XB{ClqJWZ%*Ef%u++??W#B9ohF~4W@OUl5eoxdomb?sfF!UvmIh{^8o6`r`i7m==QM5AfWl(*OTr{;4gzksbq<|6A{z z`E%vyaVD~%i~lJ2k7oTBi5`fQ{%8Fs{;Od7!o0_WyW63Tw4h^QS)cq4Ye4ZIi4W-TUmgEHqUjW5e}btj-W~q&0YdNr#D6e; zUzP|HVHtUoQXRSa#hF*E-In|E*m>H#qt|fb&ZC`(1^5yXMy%zy|nmufKG^ zK5GDL^RfLk$OTtpE>yjq zJsnMm?>4*4e@L?!s{=yCKiqrrAAtM^bVmQn{u2WXfPZIShqzaMUooEA=;7-hj|6P0jOG-}DS8OG<#pM54`R{WV{71rn zJs1Cx#QbUy1Fm)*Ho7r;_!`51W8}XnzJ4?0za`uY=z>sufZ(>SIS|M^5CZTA1G>UL z@*hCmy#Qjnl7HoR#l3XD_;1KMtI^_Re)9i3cz5)_AAOj7sXL{dfR%sN{x6@`2E)IOYghm{IdIgZrOKneWm|r*8JtSS5xvlvj6D* zuoiINJjR6ZIHb)u6GR*^2tUx_-@gODuZ!g0( z=lqfVfZpSb?`8h?|4aDC|C9V5E&OPc{QtlFc%h*8fayO6!GG2I<4rZzfK}NC;_zRk z341v33B#@@#*h6E!TyIf8*74_1LQxDHGudJARZJ5|NhtkzmCj-&hSsK1wZ0I{)*qQ zuG9V=@$Tex+dam;;KaPWkOQCYd=CCC-{M`qAbh9nZDvJ!=D!Tt1=V zf`V+nn}5r_^Z|RfEgbpR9Pr@2+}CF=$_^;!BfsDJdh++&DAxh*^}gl4A9I#9-_>+~ zx!>=|zr%kI>3aQEu9IHtHV(NThmMS4&X1M+mmvTDGXB~7xeER_e@cx(@!#uC_>UfC zBH+I&Yk(^79f97L?yqtkd-&x0ll#%yKeQ=&U);ACYl5%^;y=L6zdv)pUpk;8NBH+A z7U;)50AJ+ahnj6pY*%wYbD`Zx_W!b{#*2C4bE8`(>~)bH(DiY_8~yL=!N0h-I)L@R z`~V-~$X52nFFHW_+ebctz+=T$Z7f%EjlH*Ej`(1E#J#oqaId4~Uw%KeJ<9o(y?1QB zTkpHLM@PZGjrZ7mpWEMa*8V-l+1QWgJh1kkx$fJ8Im3MLy%ElZo-zF1vB=A4t^Yju z-+yiOzgzxwZ<#0mfl;GOl?LNX6?}m3dhm@62qza@g?O;^e>ky!@gFR`5C1`K{)1Y@ zm>_&W$-gK60bTG16$7N^zP0J>?X~<9>(gEj<#OAPBKJd`{Ytz~{JZoa+*`ZongiA* zz`q~)5%Dbf4}1XskM+LKVE9*FM{+OSFYYDl93B1@$MeCLE9YN)YYsRzUvmP!Eu7~R z>(jd4;oZ^sdQMP|$GzTHtY0?Y+I_A09PZsmaqsP(2X;;1Ui*172YldN@a-nv#~R8U+p-QS};k8FMgyYKLA*L!g9{4F~#-`_%yui$^Qm3^OX zF8(>9*UjE7bB^@g&lKk)a`Qne_|0n;bk;r|F3C9Lh#s>^J?Eeb?-ty^W2jIUF`+`DQ&$mba2W!u#e7|n!LXM8kmw)8= zNY?-7eh|C%*M1J=bZkyn>ppxr$G%(Hhhy=~W3A=Ht6=wW@Vs5;x%s#Lp7_^(eusZ@ zyo%>~&H>qf%RhUzw5QMd{fhNT?$P@;-YeOcoJ;OKIKSetbb;iaIpEzT#&~y={JZ4d zugfUpf0Xg=I?~#IH~(9AXa6hsKkC8%g@T^_r~Tvy|6v~dS0)Z1?xp)B|KdLg{)1%y zn~gSsz#sktTa88jv0dl@KYRf{Y=LhFbO8EaK7g-$Kw`V%--nv5l6^1qK^4|>?MA{K zYd!gXzBh8++;&lVz=72TivKvVp9=g-&)a+Ru<_Q;yScagyZ3CC>v!>wj<~|+E4ELL z$KhY`KIL+(o=4uryCAu@`#BxGFaF)!OZR)jzjse$U2yo9Eko=2(UpN2K|CWFBzxem>DShtZU-Q6A z{d(Z0-J`KKzH5Cy4V!Ix?6l7HV$@Yxx;cI00=0J(Sg z*Sf#WBk-?z(N%u1i+_iE=}0~H?k+ux{FD2$v48j8J{$j&9dLM;k1rcM+cF{P{`w|JlfYD*3;6E6D%bUS3|)!Fcc(7zAzy-9Rf4 z32K8Tpe?uw=snMXL&Sf-A@`F+@6XNh|9-xB;lm#NrvB_#W0;Ho1~JS5;ymzgWgq^7 zi3tQXA;x2DP@+Jmgx%c3|9@o3YusNoZ`0dPl znFD^Ti{%Fj4*%8$2aHclSLS+M8qfRIWxjT)hs@l5lQOr>^1-2OlM|M)+}|Bdk50#xL`C(jK8PlIy)@&7h|`i14cpnKn`KYLdn zW-8Zn$$v;a@;vx}()&V1{;lp8|M&p10f8-D{QF@Ce9;4b9bG!Wk$-RYf;zHqn?}wFtaqjSMbAgxn*FD*)$)Ni&RhPk!eRYcA zS^g#C!1{x3*;iiI?&pzS;5F^vw6-6@AgB?$E7DfMK+259#19yTT%X(z~gJ+Suhfa z+uMNnZwWm4Z^Pd`!2KWwSpIX47bG41koYhAKmPLLxnte?P5sGR@?USX31tl!Qg6Ho z!3PMjHsCVr8GqRU`2cSIeenZ*u>s=W2Oq$PIH0fOpEaOM{xuJ# z7%!f?;h{OE$%E|sy%8PnmVY070P%0-MC&B{L2q&-vj6_n=JY4Vulqjj{txWGYrPMz z+?OZr9sb3=FMFwcwXaefyZ3Hd?&a&t9`L-K8_Ms?CRiK6XOzox^Ixv>H4of+zkF|> zd#zut_htJf^A2SD9XpTAYYymd%e~v@_r>Rz>`U)^w}tz*LoEL%J}v#2+??+J+{*qh z_`kybJN%D>&qsl{y%lr?lK<+UCb$l?2C@tHfU&^EKl-2AavM0u2i*Ug+oS)~AHAc7 zA@lIxU@Rc7M=m&+T#%Lh>xktxA+FaL-QEOQzy31+{#pmLbj<;Wf1eJQ`S;cuK^I_AVuKnG%U)=lBt4|Q` z+COW#ch+$5Z1-+Dyvr6i+-sfh*aqf`&Er*&`SSdp*7}akcewYo`&Z##KAzV2-tuku zUDoGA_j^nCWA}YKx^%xcHs6tb@AiYuN5v%{eO&Ts279#L+nJS>4F8_~{~~yN6-b|t z0QZ7EpfhL&#D6W&2uL4jUfc!7fE?NX?4$YbsJ9^XAJfi$eg z^(6nTvHf+}OKIg_`a&||=HDKP2fBQK%lvEammvPF4Uq5W*7-V$dwUP2?!RF#oudP6 zEZ@D4&*pTf(Pm@%;@pW1$me&a(=I=xlT34igbJji%e z9cH|$4F{u*7yE&{s*f{Xk#5xH@7kk`SKX0-_X!O^BXAv`X~Odkn(@BYd`DY8(~i$G z7rfB%<>2qe)Vm1jjV@rWc(vvIZFzq?&;fKD>q2K;CJMVz)AaOw3+=)i0GJ?H>0J#NQ!YQyysS`RT^&AH|+K+F3%-oxL*0F!g9 zAUnVCqtwitoV7bLGj;#JBme6E5DQ)eqrqSxZe`=!f$KpPPy^I+|E=e>J{S%TSow#4 z=D;d!!1@!VrK!92<>tJ9PYn&OUAN&3=yi%TAYNfqfpweZ21qoIYK)SK#?_oIZV;=dJ|bVV~3c zcx_)r@Vs*_ozFR^p0nWf{hr|S`z;u!#_E9gYutKowkOKU%CfHtemC!Tkj=HvI!P?% zv(nGg>Cd`V+~fDJM)p^3-MMoa@t;N1gDRl^OA#Et4z!kk7|5=RTj}`bpaBR2vH|h| z8vxk=#|PXzZv6N^oG2;T^1=S>x3v#2J3l{JeMS`z04dZ2+jgSl(=^_*;~&LGuJ^uA zKY{nlKl5pY&+BjZbJQKt_oq>Rbi2;SaVy7EKEG9CaN$JC@e@T`+<1@Yt^l^{y?+KC z-^KUy-4@Qd{^qE0T!|A!j8WrsgR$Djt}#3BP33dKHokw`(Za%QM?Z4Id0beyo##EV z?Px*4wnO>(DcJi>^yOMFxfl1_GBT{}!)My)8HMsUoO2*ul7acf{rw8(c&!pB?0;U zlKneDFCf|1x=;STWIhN;2gnBK?}k9SK{{Z#w~zPQfrAEJVDC@<7iFh6>^hjUc*owX zMd^F97Sn5L$*!D(Z}Z&S_Nd3s-+J!Xa3CjvTIC75vcUn~>j}@#<>V}(r}1L^+C|Ji zA)bE33%Bpd6c(iJ$(&EWv)I(k%vklk+OjKS-jh3q7}+*D^BZTI}ZN z3Fmzr^_}XYwl!n7zTbj#={)ltY|qS$+n%|n0y5__t~lOXj_q0d7HrSj>q2Jc0zS8p zu`YzOcu%~yBR!tpEqZRz)xf%Lkz%_R@7v=dIFAPlcx~aaq7&~@2lmj|r((_r1qbhg zzn6g4eDeAG0NMREKr$|WPck0}qyyv!YAxvL2WZZW1nawY?fU0er%(Tq`-}_D{pH6G z&;I$`hiA_L=cvaH^xReO{e=r3e*eRTtG@O(?{~iI+@JNm1-yRT;@r7>{yu)@yYG*m z`TqNSj>pb?|D78=wtwrnU%_|ZALV^V&z}3UkmrW`?{i1>eLUyJIgY;s=RKastG)Nn z8nX+3b|0O;-ADZ%_j~wV-~AE_c+C@fUxBU%{r-;6iJkZPO}%bD2VeVv^uFhM|3?0n z-q)J10g$ZA?)wAH0qFo|Eg(D47<2&xz@y*|Uq9cBrcIlD)240PQ>|LHcA<5vQ?0Hw zDt@=~H^(c^?fzTOReZjDd>)^z_?+{(|D0nR`#b(OgNX)qo<4<>*~;D!G~{I0^e^!NV@&^4_1 z+y2q(Dh|ZCxOo%|1_OYj^R=dz&6iBq2au91|Z%g^U~>& zAOcA4LxA+YH}Cc(p2!~PbD9VG9@!4f1?dGrb3$m~ z@z{Cpx8vpO^M7$I98M(bl3B^SWLW%3p2fX*7srC+Ui?>_0~K|F`~qh#Xw9Ixr1{{? z3C#hItF z{dNU@y8^#mf#0scZ&%>AEAao=6_{4x_nfTow}M7(!K0v(R|Ee4i~r;^%D>b4LTmg6 z;0DkFwEPc(#-nj5-lB18E#&y68oOd7tw2xE7u*f*`457|qj70`8mD4y&U#L$m z7z)OM@!+}tAZR=q*CRl`qYY4ONHM6!pf`9rI5_CtsHmvasL06e96ga16{Y8ZUUQ)L z*!TX;`<>77xhMzDbFO3g=bXv3HfsJ6p ztVI5PCpG1*)oI(`TAQ9WYyHj-W^KyYHG5OW?%5l6?ws>p#x6H@&gC)KE!aIbo3*z_ zdv9F(Z|3R!^r@Q7Ud7p4cYZKu>(2DK8`8GFF*h-B;+rcHpMLa-(HV^QE$|>vUPE%w zzG_6of`oPJR;Q(=C!Cu2?wQliC!ae#@!j*MUs!X#Y!aBV;e6T48_%73^}TbaUfXi+ z)EnDfc=LmEWpgslmCf68u54k}xzkGyo;$rP=iHfhkBko~PO#pjIq{%2!;{2ya38uQ=a+cU=esnnRCGcK7+ zJ1&`Tvy9oBV$9NaFPXWkE}7Yhm(0FBWkp*vKA1k~<*Dh6SL4^-u`Zx|{A<&;Z7Dc# zY)5g=-jn`z7+wp}tOS6?(I6Mi&b z&ADLyH2H%0apHM%arzJD(i`W^rTIL+;i6d@ch-!VT4XkVP+Yt#d*7QczB=uLUmE|q zw6v7Moa65o(Q~$-rEB~J?Wdc}PpBXddB;#kyv(7S(3+9K|AI%@}LRdW`>y z`Li*7$JV0U!VijXe#;bhe8ZG>i#4Zu#hcT&FE?lUtpaP!nL9U|)Ayv9vb%Sf)AwbV zGlLG9?}vV9EmnC-8Xn2li7 zE5+vRmkQ0?iFxMLr?brqV>8W&5$R^oqv@vqurzb`$Tai7lWAu7#7y(pi+Sdmmx|2p zeJ4vYa}UmC{JR+ce4zPLVf<;^igG{NdGhwfj6KejbYEzSZ(a-%OySLMn}VAYO~Eaz zOc8UY^!^XbsUiE#sS&xRbi@%;G(6Abk2q>_9?LUXPvo1-rwdKS^F?O+3q>a7l_Ild zT7g;cT#k92u}&V9ZpMvBHIENXF%LeJV(xo5%?uotVICfqX~sOBZ61%wHY3JmnTN(_ zn)@g0G`+^Bn&e#tpB>E0o&U;=8M}XJ{9AT@u)XNWiCwuj%{JK`W|*wbZs@?DpNdQgDJjyiz&J<%@hnuH@Oe&FgXwHHhIGjnY_mfOwLn^$TCk4&oraKqeHXIh@m+qhTr?zGx=r~T)gm1mKpi@PBZAS zRMYpdb*A^2WYcZTa?^bDVzX>V&S%^Q8prshKPz7U_R>F$e@D@gqTSiI%riM%=b1dN zeZg&srm%0aDd@Mx%g^@YtX~sQtV3rxeH5fc-o#{uvou1r_+mU)pZMc87 z1--1B4w+$Y7%|gaKZ+hQU`cw;=hPZoIDO{KUmQPsGIxA(tT?0K&P0=Y(_)j`=N*%G z#~M?3cZw+;vd@$a&o^gAm6)?JUz=~9KWjdpa>f)Oiw9pnWp=(=V%EP}Xcj-8XJ$T? zZC)I?(@cCM)x0z^#mpO@1_$Zpg@;qj9eviA4(Nb3^dD?~E90a7P-E^HY|K4ijp*Ib zfd0%426B98nyEjOKDduj10O7TKfCmJQQ;!Szvq{(|JICM>5P9*(Sz@q;`_ImQ$t<) z{Opq-nX}J)YEH+Lnv-KoO~KeAllf$x*)lHMtb8uR#66R0em`oRnes@onLI4fy!dc} zd5L}mFFm~6OnP{Y88I-$^tfe>xuIvQX-xg}Ce%)8OrM17sE5^vdmZaD_PX4sR&T&$ zQ&+g3$AhPu`a|gBH)4jV0Tyk~D*dqN#1h7z`Ag&9#`r%yUXoe*c!nu@=mV2K_6N5qF938SJ>NS&I$pFdx!)4A{HAyl-+Q5%-#gCCxi!wj(koSCe}i7P zuQK+@)Utkt+DA_eOg0Y;NHVuGr+f6_df!OT?oKmI1N!jRrRPfBKJ;*;-*Rp0u0=Ec zXlgD+QF|$h@kcT5qq*-fir%Bq)HI5QgJ?L2hJ)z)zytIFd5HQyfbpN?Uesl;zcp*$ z)vkZ#@bLNRnR|A9$oLcctuTwxJ+u47ni;puG1KYsGL2q8uh4_{MaDj!T1}(q+cvQ8 za&s&4-LqekX~*wv)}21{^b4;;-{_k3jL=wXGyYn)#F{8-21PP=BAGiiZk=Hw8G95p z9wP1db>#JXs3*htBf0*Oj9-Xm?4b`%F$=e5p5#8~zccORZV>p9ERrpHkv*S$J5uXT*( z8VJ?(9OJLfwXe?oi`DoI)u}~No$*)a{?}^Mma4`as?PYUbN!w1*MNiIfs@U`RE@u6 z#V=j|u&^+$f9CE2#y{)s1oH~><#}rCkEWN*NNTGMq2~4=epBC@mYbWqC7Mn>l1xkN z@pZiuOoLu=rp`^XOwHc(c|pHutkt;w)$n0!@R{oLYp+WGrmD=Ls$7q%^lhoiZ-}^y z+Q8IeuSUI%aAY8Y@mFOIRb%`XT>t8f-97#<-Q&;t<@uAj``EFf{Zp_d&-aTnk8zHH z@I9c%9Mk8<#imD>1kUz1b#93>(Qp+>PqFI!&Z>+*f_@{_ z=`B;eUxKMdkLjxP8K}Z*5xggY-b0n?I}%PE!EovcR^j?<{Nd>TDtA-!@?L(&ee}6u z{8iCI0myP(N~Xr2ICIXNUmX9=%sso0~DY2A9G zY1$#dH0(It)MLKXK|j^%zueSP|8r!-URRBi>nudv7H1*`Br;xlqxG3(D)XKy^h*w> z{%M%N_(PdP;fy~F9U6uVRH2V}_&|=>un6?0;LrFMre=M~eP!>s#~%v^p8lKlA9iN# z&0zf5kJ6iYV2?y|TlZwf9cwzaNirQ;Z8nYD%`x@q?^?GDHT!$g6AC{s>TbqQ|L&^H zwQ#O&WqQ0;W{#`Zd&HfKO_h6+On6`F`@uyR{ocZn`^xnD(%3_&(Hcz6rciWf2-iRK zKKeut1P}1}LGbYa^(KKYza?&K`S|x=ZT`sr;rj16a;zwOVDDseJM*MV+r_3U<8IR| z*)(XyxI3T^SsT>uhK!zpe7XB(62RsTjL@ zmRII88hbDt+woH`CYXKz!N_kg_mhXZ#~;S{!ye!_4WgC^^C@nN9sf$MzsCQI*FW!A zaduy9=FM%BOuvqqre)IvQ?Jz|Q@1Vlumd^|{TS698D)M|@6Y(LwKW*O#vMveg%I?L z`YdX^VfbZX^uyM;L(sp$*u7w`e-QN(g6NMFM8DlYYU2el{y=IWs0X!vgY8An917vO zhwvMG=uscHHCyvva)_%lF*;OGXBiWyrU%t?&*?lT3sJ! z8a1N_ZVT)>zag^C6jOuoM|459=wqe19?ZP1f=!F)=jvslo(Ae+Wsf``Oik(_{GNS{U8r(3;L^sC{(XXj`JNmQZ6I2Faj9+tI{nx8tk2P;pi@m(hHhNcm zwbVydebR03boI@~M^ddN+e1q|Gm&4XzM8GG#5mOhRlQIBZLfQN1Nz8|-xj+i`>W!T zUmm~w2j)-ak>f=No43FRp!a0GCa&?T*SPx2tEar}D~>G+K^JOXL~uPrsR5uq681OX z&#R}D|9z?rOig&Mx$Xa|zR%1x)r+uwp7EcY`u^qh-&6;JdLgR$^O>)0X(N_0jKKf7>tB-5)oMeyGm))dx2K8K{OH33AuL zcX}JDx0QO@dG@hY&tlutP~%p=In^&3}jVK3xk?xyTh zpOzHA`zzy*+mpS2udaU+bY;zY_ygC^GBuiE2dU{BPCaki*OA{4L@$>>jUPXt26Yz$ z)sqK*QoVWf8&sP|JvmjE)sC6@ZtL^Xlfm{_Rew$DF5CLrs<(sww>5ZFdqX``sM%ma z&4vK@@WRiYyCKVt|Bbh19lYB0m;YnOUr==Lx|aBf)U1zU{-{^AdQ_@Mnfek2(~m~I zXw-+$j$bn9?la}1Bfr7+m7|}G?J1GO`Y_Z5 zarJPZ?k&Cjyr^$6Z(WAw&+5NB{^LbC4UySu^{`QlzbfOmwf5Ct#obd${nP@ij%0pO z-_}n(^QfO``=qEw8nyA%4@Z4&Z4VrGuT%9qvg23XQ;nasx~+qv+E^MpbEmw9t?E?L zkHD`FcvwJEQGp{>IoG< zZzwx{$t!v$nsGR_{q6Xv?`_Ago?g1{s@<*etG=gdwX0W)#;*E})a&$Tb_ zw`A*VGX7rF_n_v=+;y(;zcK6Tv5$&#>NTgoT|H{wUxzQ#%r$;n<6d=b z>1*MSZ*O~#llXsxdMXeDAILpq$6uSCf}wTkC*BA>&-hhmS~Z4kZP9kF@vDBE^iDMT!&^1O z)i;Fk+d6=%3GA*5CHrb?x^lg3y;tVEtpSM6u|3-=&U@AC67(BXtBE>IUesfoos@d2 zxU~3Jum6GE+#Og}yg0-#q_tKA&RoA@Xy6ds(TDixrdR5XnSJs?$)f!TbA+Oeh8Gp(j@ZZ)k ze{w45Pvwu=G5=%j_&+K>7^(5n2Q;WIcCZm+yNv1M z{Y>4iO4K&01P7In=}Pz%mFVdyyHx28{733BRf4BVtWzrSdo6CK4jALEq$B-~Y;7IY z#}TNB>~$marju#_QBSDV{pPL2&6+=J-Q%Cjm>&Y2fO3#6(LZzc=N`(;Ia-iWug$ps z31{3@ZkS>!Bg^VjRk;oI%&12eO#Pt{>Q4m|JB#AFDt;3P&mq(d3Z;fn82YsGpvA03 zX7Lz5TI&-0$`G!3=paC?GObfWStnZX8$xbF#%`r9CbfftsS^}T51(N82<}dQ1Zp`4 zbQo-AE?xI2@t>qO=gg7*RQ~IJ&=zRVePi->(^=w$$~%x>bmYMCqQeJ{73J<1ju-2AXn%guA)e3W=-@Dq59__| zqdwWr-asN~ai z)c#oO!pCc=0kYM3z@%oQTKLelZxPjL;5F_05 zAvMj3bvmG)$%&1sQ^EDk;2vD%zXk)%9oeowV zjKe`!&;;my0PP3We(*@p5NL0K@_OC=L3HPR|4L{a`hFdi@6|pIjk5;OxV8Vp7l;SV zCH*Gln`H7o1 z&rMjnZuX+pYi2D>PJU})auP^>YstEGxGbAyv8M*4%?5MUrlrjlR&V3DEp6WV?dh=_ zKiC<|UYl6<-0=Fg*&EZh&t0FM_E!A5buT_Ldh{mF`!bO3tcQ;?iM={W#jkHFI{o;H zznpq<%ytm_gpyrR?dYpvBxfazvSZ! z7vBBy!jGw6U%0sU?1f8(f4Oj}?5`It@!!Qu=E6meKcBsHq4dj37jlX&{bk4DOXs)m z$zS)%%o!^q^&BY1Y3&MVigg>x{g^emX>;cJV4@j;t|HXcl)9Wvpzs$MFK8v5tg+yaA z*t0Ta<{7hNPf_NZv9o3G-T*f_=YKDA_txSkSDYzmI>i)qeuF&*^UO(d7-e_7YtG!e z#he?QX?`4@%YKd%?B)2P1^H?X2aA1vy}79h{+Cb1#I1kI z?HbQ{SKBZ{|IdW2QfmY4>f+9G7LD8k}Zs zxpkxIM((du-&oU<*k@zng$?f}@BZL4(_lC;*T-j>wOM%w-(J2{^S}J}yU(9~^7R8} zOYYfWN{8;_I_H=Y_KO@HnQyj_$}+2-+G*xLm11U$T0=fP(dMJa5(9kru4L1_PqMkb z`%H4@$7&L#~MmGbLE}ul540--oMt!nP&a|yqu-Wmu>buzpnqToc$l>`RkEa3owYv1YsLk51 zHfyKatUYS7ey-Wyl{2n2h}XzhMva)R^XINeT(PC%`PoCXGwp?xZ{ykDF^8P`Y;wc1 z$pcI$u0M(R)ad&Y&3*lnO%L|mwCXm;G$P(!>qdST@m}R7qsU)Jl3R)*Cm2QUOS#`D zVzp8H{wVTY%K26wHqD-YS>m#kis#SF$=}=Fc8@hL6R)2{?0W*SnK9%R29Xz4 zPPD`A$Yxank>_Ix$q(A^yyo@%?)qG7E z!QQ)Sy~$P5chu$p8MpG65pYn2c)QJ8k|(Ri7{cIz^B-A}l$cua{QGlrGUBIh{B|Vg zzmvRVk52KXLx*J3jJ#fhuCv(Fu$X-T@veLxF}iT_ml0h1Y6F&=aB`H&8&n||qx@ZE za;KG94_D^*hu`PU*>Ubr*ZK3_NqT2n#q;mW*}v!a6H~suy~A?TrTuc#zGbp$+&b3O zC9YqK{Bv~w1XGiFsNbj@To}1H<=?8@OD>2#FX7}>EBB8jmm;`wZ%*E=@`H?pd|@zh zxIQcY7tcTGnbdE)w^(C3wOV5uv|t{0BwkEjO*ysd5MpyS|Dqg>lRHxGi#2@^YkDDo$LseO98FAG zp}n5v`bYAAAopNq%;PEF)v7bo)NanaZN+?TPu{p2c}sX!j!k)GKYqL7YyRXq{RbtP zK;=`2iv*H`D39YShDrQhv3uoB0?0Q6aDKo0XPC8n^N%6_I{)jy+CQEDU|vq;CqXZy3; z^AiWW66r;>w428#Kw}9vr_Dyp1)4+L^a?QN3*d@Vt&58s2$C|q}4lfb^iDN_WZf~ zhKx-3E;t&!aXm30df*1PA+D`H_sE((KQVZ3^($4s3haRGQOfmJAJX!Eqr_0l?11jFW`h%SOl}YdX&G`@KAK5o#)Z*^~YM?Xd#~DIQF;H>oj>JFFHM;hpjNitj zb$;TwuH1z?=I_LCo%pR{i0+()6LVG!ZuJM*$FFw&qXkFzJ@{DscfK`RieKuwqj#Oyr4w^ijeOP7UcDphIP#}h%@y{XQ>6!atTYeEfu;+2(%3#*>I`pNlqQ+$$mB=g_KBC&Io$bos`Yj_dw zRz6QPzZH9|q}ZcsdfV6|F~`otd+EQx`3qJiuXN5Y|F;(Y_jCOIj3J}r{uI`5f~nq$ zJPmctBRY{Eqi0=ZY+p$^eTP3T%@ht5m1G_|QIdK16aN0BRL}1_TwF>?ZlL!T zm1N}<7VppbsCfV3!s6@$`GtFr6cufFeb!sMIPX}{0)&9(EnBya{oRx)Tc%8XdGq8c zFM=r^cyaTj$-mn)aq^^%95+muG;#feNfW@t^%Ez*uuhNlyuf?x(e?O+jl2dXZW4HI z)7Ww2Qle|se3NtPw`={UIG5JHb%Elhir@V+&|c+#=KWe8SU z|CP{rbUwvu{;mHMr_hDah5tKo3dNViS3A(-8bNd51`rNvfc_z2VQ++nhsOqoh0b%p zbMplK9b)16ICNep&pFWhSWoEhSl0RT_)f(%nuF`xbm%Z^_S*@|7p+WMG576+WwRE> zC%h3Gx8(QpVwb!g7q?_){K6%%%a^?!pS1GrxD|;B@hg*-#;-_Px;QC$+1qPYFI%>8 z?XpE{RwXP>UYYRrn&ic=#>OtL->{)#34K7D2Sz;_SG+X+NZGKZKa@U}_(SRFRX>zI zv;KVPv+tchIqCiLWv}cze|Bd6`E&8b=P$1P!w;9T{`7+>{`m)U+Whd>@68YYebVr^ zIsZ|<`C-%Ei|4lQ$y?j4XZNLicYo0O;jxb|DxH;jvas~Q_NbSwAWJB$m_Z9 zVW;_V)KS*PrN&G)ABX>)khITJVYtl61W zn9-wG59j+^4T~AG_~hK3CyU$8bghBeV}7##CUa`gPILN^!=~(skJ;yZ(i|OEVlpNb zn~hTo&HQI`&C6r5%vjdB!$z>y9Sz2D-@)V@lb&6$r)RI8%Nct=&}w+hm?g!ryS~h6 z`=-h7v&{Dl5yK-W_nai5?)fo2Cv-f{6=YN>><^2zB zG`9|Ak0X8MTg5Ck?;XhBciU~ZD3)Qre?-jaw@)rR{8iCy>)2PGVNN~9dj0WF%^~*g zZ)JVHd_ty~IXcx$8NSg>M`!5!58QU!t?#(MzvY;5Pc6+}wEqvWo#&c2@OfXyr+?}0IHPs$ z0QUNKV$Ip8E4f|PUD`hz%~AViqp;0UXUx_LxSoKRGog|KJ^W+~)E9W0&nr z$ok{UtZ$xToj8*HlJ~POy30+8rYZZ3wO2HfF;{0#ZVl~i<#9ExO;!BPYS`BZ)-!hh zC+n%|tY`WDoGZWo$z_|CW&UwE-*Y=_)Ehe{n&zF@E5^M=HE(sTog(jWqtY;$d z;k9O}%)Xe)Y`QG4GiKQx{3U-|uG$BkLO zaBgl{m+RM<`pw8ew`2XxTDK~kR>R*7VINo!Yuu2#5-hYP(7v@Gt$D~pYpjQU7uw@w z*A=Yyw5G8>y?Wu`-vqK}PkXR}1~PvR6dbAe{ja~3_H_h4Y-9`e$FwJh$)1>C_9MxE zwflHjJ82J+^`GTKSMb?wk0kt+0OnIlc0t~i-#>Q6^f%MK4vS)5DF4ddp`b3T540xL z+JJpFc8?Z>Qj2YXWCa4QmhWDX=|u*ni@Wyrr-f<@;AT*Js@Lr&mm$mG*T|6njLQ zPcR{E=tiPZ8 zj(<9F+FL1K`_>>I+!WuQ{INgl3++t|qX(Jwt=Ze5^^DdL{tx2c%CD7AEq|K6aQ6Gv z?}s(TmOVK~`}gl#KK|z>JexT6&CTC)MNb6O~xERboC` zpA}BMSS#7SHTbNyw~gbkk{{>$^Z9UJQ0)Qab_nr_huAB{T#S%U%J?JL{}v&i^rq4OvvqGyZvX!MG=9bY zqseQ|%{^YYKP$K3FwN>~T;{i7g^7=tu z&)J=mcWBR{yj*h22h;au?WWH0e7;+8_CV17y2jT%)1pQ5=fL>OXg0oC)28E_HM`;2 zW=(;Po@m>if+n1Y^xvyaT;jE(V9}gEIOR_&MDa~g8K=$#EO0xDH zE7_l#Rj}!y;lt%OJgD!RJ12HS+1(3Faog8id4XG&a zw2S6@?vee2@(*h-nm>U(Yq(8y%lD_Bo%EdS_+Ze3@7sLxzGWASv9t1@PWE4K${ygJ z%SQ|By<8>ZPnztPOU(xI2C?Jv%u8c(%u|nLo5#j*|KZa)X2GhWGS)eg8;!5W{CRQj z6+QIs#r&JNpYYC2rucz9+=EwO@}4cWar))lyEgB+TzjA3gZHJIy9aJI{n*3WW5{B2 z!_YbA>E-EPPnkMpwex*(aq%f9pU${gG$@_>Cl8v#kLH=pRRXfVq@b|caD7Tugkf2D!y-mna;jt-On|Y zeem6h_g>$1rm0I@H5y+fnqGW0SyM-&FLcjS6>RLvZ(BKh z&0k-@){f`?nMb&fp?mKnd>-z5=uS*labaSj@*{LljP8ZeeK5NJCFITtW>oyf|9Wlu ztLw|ZFD`!D%rVJ-y^lEOO`Q{5J_Fwst$nn_b*mD8s!Hrt{(|n2kgbugPz5_1aMvU= za)JH64dvgrAb$Ik52gIIQwx`mPzxU+5*uFqPWIFDeU-^iROX&A-M0`zzd3ua0=_{g z_a}IhuNV=xS>xO2eBZqJ@o7WvO8;ve_B}?iU%y%p*8SXjqWc{J*pnZ`y<2t*=H=EpDI(e;-2OQH0IwlYvVUBEJ!{5VnX`qi3?N8CM?bP z0ATM@ja7myCtb^k}8_YMH{$#Mi9eitV*L-NpWS)>+$;G%Tv~AQ2a|H< z2b2HbKU^p=KU`q_{X?$#VdoxmZo%?3TYUX0JyE$wSZm(|g$ z4Oyecu3WP(I4EFLWUcD=CdRER9F4DkJNLe|zLEQvIIr%@iy%H9!F@|sKO=ip(0$?D zvss6n@BEc(_UrS}e16_r8w-23Nj8mIYVFGT2B1S(???|zA4>-YvrjWvc_Vz*s7Gg+ z*mu@s>+?1F{LI%kpQzt3)3uo8VL!`UA@XKC`m;6Q)Q&*$Gr`q;lV z_d(EO-CKDL_V#;mzqE~Ile4PC-c&E{Rq^87+S?w)e$%;2lMZqI#~J^9vlgr?s!L9+ zF8k4Ivz~1@h;`%x+($ctd-aCLnc5@cP3=ecn>DUt0gbp>or6-gh0qXWfL}`QPLJ1JiCUU;qFB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon-new.ico b/OnTopReplica/Assets/icon-new.ico new file mode 100644 index 0000000000000000000000000000000000000000..18362992f3fec1ff3742fd8b63d393500a8b5cc2 GIT binary patch literal 86918 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 A{r~^~ literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon.ico b/OnTopReplica/Assets/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..791a5e2abbe1788c3b7920ec0c87ababd4691435 GIT binary patch literal 7358 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 QzVN^OFZTb>|Gz2lpGUyLN&o-= literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon.png b/OnTopReplica/Assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d87244edd38607b98111a0e4759f8eddeae7ba71 GIT binary patch literal 7335 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 N002ovPDHLkV1l0s81euB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/list.png b/OnTopReplica/Assets/list.png new file mode 100644 index 0000000000000000000000000000000000000000..33b1ff0345e156591927d0d05e1ecfd9f064a89c GIT binary patch literal 681 zcmV;a0#^NrP)A}HuaqOhR5=&~SiQC$Qz3cHA?yv$u#j9hbRHa8V# zuG)sEJK9d`>});Xe6fR9df>;ty*qo}=Y7t5gudvFJ1xd$XHimFY%&z;KlAK1+rlO8 zEw*}H)-LzsjDd}A7z-{u*8^JX36l%T5~oJj%;w-t2zG{ zxYQVY+I#tAPAM+y?+?t~qxzN2W+3FhJwIFCWqDGPrdTrZ)#L2)hp`8I1h`?p=)OAI z1p_dG9CG+vabVP?4B5m4%g8CF7#lpOg+V9Ho1(=z3RF5{T*k9n6BwKbE&k2QbJezd zbav)P+~ultJVu=lZE!4;3odZ0BG4E3J>qelp7PjRq;z?fZ{PbZ?SYy$A82lC_ZIQA z>&+`cs-Fk7APq+Oee|7ocJil$oQm9yc=$y3)y@tl8~7L*9~=G9eT|*s0$yMR{M~p- zA+}Sfdw7Uo5xf(JV~Mx5Ly`JVgMk;R`ACTzI5aLVXwLgI=MWF}p8x{@XDi290elMa P00000NkvXXu0mjf+9*5T literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/newicon.png b/OnTopReplica/Assets/newicon.png new file mode 100644 index 0000000000000000000000000000000000000000..37017ad33c7c87a6c2f945feeef56ba0acf1fb3e GIT binary patch literal 770 zcmV+d1O5DoP)ox1a z7VLs78w-Twn-Av3{~$|-zu*G^SqOdx;hVJ}AMnBQ&Dz2Hn4Ot^S0z!i;tt))?&_@0 z$jFQ=0pMwOX>*$5zg>pb(cZZtgfGAO_PeJ?_wOyHF(!zJCQXxS-2F;O$=42AMKy`D zR{lCUIeq@q55Ky_t;0_jj~+h${`GI4OIIMx4-s66UL0h$2W;Exgl!8Q8bsbRO?dX? zs~6QTKY!+!K{wr2mfJJvxWn`*)C@j7;JKBhLr`boHsDuvaOCzlPd;FlB7vN zpZ73iWlX`OcGq#khQZAY>KlR_8=Sxf%LKyB5r%P=;OrcO=yL^3;u_a&b@}O%>cL@v zO@e0V5G}o#;lP@0MWz$du44L$=qAm}e*pyLG+?njLtWg$W;Wn5ZMZujHa#U|@IWvr zGG8`vfS*V;rE7rvs%_Gb-I|KA`&Eyt%HY&1E;>bOB2q^g%6+EdcO2nEO;$)dfGMhe zuy51XpWMWGQ{r@OaoM-H!`lC@6_*llwj40FYsAs#p@MTh3!r(*$bb&*^=Q7r-2;P< zWQOzTaoPsFZv;cCvAn8rwc>hXuv$|Iv!B(C8N!i=7G}_ezu<6>n7bM7?De>J`v9wW z1DAuxvMpGSpd0cLsNw4cikD4Fgy0}0N;%u?mtSn%7!ajoot3)sraag?L}`yn^cX$Q z+K3HXJK`;Fr`IoEY$%>}ZF6@18{?u-(`ige$IF;<)*bspTj zFHZE;tCNv)d6CsUpgp2}NK60YICDtw=RX1r0DQbuM9q8juK)l507*qoM6N<$g4OVC A-~a#s literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_bottomleft.pdn b/OnTopReplica/Assets/pos_bottomleft.pdn new file mode 100644 index 0000000000000000000000000000000000000000..6658542355e57545d1b138be337b56d0ed15ad29 GIT binary patch literal 6696 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 HDWM4fG=x-j literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_bottomright.png b/OnTopReplica/Assets/pos_bottomright.png new file mode 100644 index 0000000000000000000000000000000000000000..96ba61893ba568efaf9bb9835d5329dbfe26c4db GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9}FK5etQUh2#kmRT2WL`C{*P zJP?+)m}qA9|8i4PfPqKPizytJV&dcbn;er4A7t=i7GzLs>D>2Zg)bw}LIzJ)KbLh* G2~7YYM^pg- literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_null.png b/OnTopReplica/Assets/pos_null.png new file mode 100644 index 0000000000000000000000000000000000000000..ea301953f4a137a0c2a6c12010b7234431bd3a53 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9}FK5etQUh2#kmRT2WL`C{*P pJP?+)u(-uR0qGPfD8YB{i+h- z5t8O(YhV(5lAgjN(|LC)8IumM=*;A_ kY?eJ_(y-*g@em${tp58O7Cx@M26QEZr>mdKI;Vst00-D*CIA2c literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/regions_new.png b/OnTopReplica/Assets/regions_new.png new file mode 100644 index 0000000000000000000000000000000000000000..25947b96dedbc6263707383ff7bb5ce7bf0e4a4d GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X3O!vMLn>}1r6eRgU`i5Hc$TKXTf_RuT%k=ypuYW)iH6!V z{o@=eCXGL21lSoqDl6r(NA6b9{kM0%%TlySL|m!d9m;Y>lp_f zt|QkMBz|b~s4cKvoaoSMu)snySk*Xi%3MY!9)_5W`rqzs3j7VUoWax8&t;ucLK6V& C9z^W` literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/screenshot-icon.ico b/OnTopReplica/Assets/screenshot-icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3251e44fcf9b29c72083eb6543466410d9926753 GIT binary patch literal 99678 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
    w$YD8-Q{R!9jryL4g5{Kz1u|y=6WF!x~3Q FFaU5&7=Zu) literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/thumbs_up.png b/OnTopReplica/Assets/thumbs_up.png new file mode 100644 index 0000000000000000000000000000000000000000..e77b7f130babaf80c65481efc1d008884e60ac86 GIT binary patch literal 2318 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_border16.png b/OnTopReplica/Assets/window_border16.png new file mode 100644 index 0000000000000000000000000000000000000000..b9bc0b092087debf2200041e8334bcf20f508a05 GIT binary patch literal 683 zcmV;c0#yBpP)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$9Fmkdbk^le#1xZ9f zR5(wqlig3!Q5=W4?z%Thpe!I0ejuVwNyCJkqnH_5G1pp+%qAiT=$tasD09wgX0Ekf z)+(*^&*>sm-gLwADUT2ij4HQC0cKulA#{1t_QuqH}~WIKyj?%1~AKXo@Cj9!}%Fmd4Saq#~Ta z986HwouV@G23zz!j*(9^jD6+godt}?dNTm6)sK59CBi9=h;Vr*PEkjk;-I+qq_JLl zOYPMU93B0PYy2DTyNeVxWC3(SZ8cm!ki-(2NAk{L@WnBQQdoLlb7=4#b;BR2zww2p zi3OVPeaCb>3!t}m(kLoeyF|Ecmcljx@Fytk+DLzq)AyG!x%x5{RsnT=ag5$s_O%Lt zcOFycdVOb>{+Wl%6lVkW*90gJ%%N?Gp%nmq`=9mCK3c}ym}Q_o7(mw=L+y!CaB)pP zy}|Db{Rc~&d;EivrbwoO!r~XCBVS_Y9*MlY1{7)oO3knNy+b)I(kdjk^Ao~A%$#(e RGs*w}002ovPDHLkV1h^TF@yjB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_multiple.pdn b/OnTopReplica/Assets/window_multiple.pdn new file mode 100644 index 0000000000000000000000000000000000000000..2641e329e05972bf982e65852fb0269808fce01c GIT binary patch literal 8806 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 BaXbJ3 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_multiple16.ico b/OnTopReplica/Assets/window_multiple16.ico new file mode 100644 index 0000000000000000000000000000000000000000..6c48346dd69e92f341301e5d260e9d4befbbe0db GIT binary patch literal 894 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_switch.pdn b/OnTopReplica/Assets/window_switch.pdn new file mode 100644 index 0000000000000000000000000000000000000000..72bcc91da1b19273df35affdb8d985bfa6af0bc2 GIT binary patch literal 10464 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_switch.png b/OnTopReplica/Assets/window_switch.png new file mode 100644 index 0000000000000000000000000000000000000000..987ef8eea5050eb07f43ac3f3fa443d0359f85a6 GIT binary patch literal 456 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_arrow.png b/OnTopReplica/Assets/xiao_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..ca39d4820e0858e3519c1d6e238b171950cc53a3 GIT binary patch literal 437 zcmV;m0ZRUfP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ-J4r-ARCwCNlQB;MK@^0)6*0;shK|yNYW)TL0b*-nVPiCE2Uaw8R(3R2Xon_- zA7Eo;q_ELgs12MnL}P;_gg`j%IL))r(}ZK8pzt-jJDHulc{{5_glTGqDQh;^D5XXc zQpM^qkQstcZg+GR01;uFja0EJ&mvO(5V`b39z`TotV(ciq6OdSoNb-j)H_gV!HZ+C zFsA+OgLTbo7h*s}3<3tP?5}ESO;}ol{DnrrTyIBGqwoqxnQ{yva#hQzdThSar`fhhQ0rbd8SfKAh*YQFET?gt5vEcY_9HKYy zar*AafqH}J_#go!<54_+ek3s&pCI72o29}H8>T0{w!b;UxC&CJl(K*XU>P)eK;viq fO|Sa*-}p5E1l@+qVnZ^Q00000NkvXXu0mjfU7@ez literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_delete.png b/OnTopReplica/Assets/xiao_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7e3c06c7072ab8bd2992ec1db3040dde5bb9ff GIT binary patch literal 715 zcmV;+0yO=JP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;QAtEWRCwB?lRr#TaS+Ep?@wES8fe1+O&LfK8xlI{8g*x!>LAes`A> z9LM3)^m+c07Z?Ms02iyicfd2?5un!sqjMjSsn?hwN=semVg$QSL$JN#RSsjy*PU4M zg$#jkH;MS`5#XK-AWPza?D1e{a$uW;Z@p*; zu%AqWVIl`Y$dWivH$=zKDVJ2ROqyt{vZf+RG9ImjW7&oaP<3-lEf%8ywyyDW{wn{H z*mM$8RnaVa*9D|=>Pjx1injXwl=E3|?8e!G$cZ*T`E-hOPF-=gFuA<5c(@(MYHkN# z3x;7}=;eAd4DhvJHMeuP9cOZRXVC>@AiJ4VW>V{G$Q?b%!4Qt*#j;E+%fykq$iWbD zM-Qp>H8zvVOa`)U3ma2|djEWU_Tgp2ccG--2%d`K>x>}F0^nd;0;Qb7_qVIO|MKJR z_-bNyV`@;Z+X7G=UrpSG#M3*MQrG)BTVq{;mL7oAQE_i;KmY3H%WwCAJ)r20<@h!B x&&R!hA7}-4qZ*J0e$^`1u2FCthyT&<0RU|@782+2Qd0l`002ovPDHLkV1n3wH?;r& literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_down.png b/OnTopReplica/Assets/xiao_down.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf7a5d1c0ad4f723223346040b778b0a4a73fd7 GIT binary patch literal 761 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;e@R3^RCwB?lTAoeQ5c4wd*{xGKVXhhG)$nNHVApxN-S)y+eD68$d%o{G z=ToGVT$udIAw+;d;5u;mfcpr%2A%^>>EM^4b~KJ+Fr+Gz$;27X#-lXU1!VRY$#1%m z{IIe$R`li2ff2wz17G^Lqt#X816L9h!;o`fFBj}pgrTi9%DJW}FK1RJje@DEiuw#d zEu|d}g~kWE6BtF<%0o^-dR8YrtCJG}XB1(eJ3%-U8b2sCFetjtt*(|Bzk#0uEC*~C zQhjk!eQ|6z;C>4D4Rp1{D7wzAvVo!~y-g?U$mBr?uO|sOdgs})}bg$Z@C9* zNb3woH1_v=JPE5C+kvtp4#2{S4nS*D49|gBy@ndnI*&Bb@g$~Y0NtXd?ih9NOjMZ8rTgviD2e(C6h%WyQ1CEJi?@s0>@I$Kyg4>JdVXTw zIr0iXVRLNw;U>J&Z#=qN+t`+@K6R!Uppenma~n%D-(Ng<3akT#l1Mo|jdQ~t5ugUB r1u73{0px%`rJGCBs7NXKAN(BvYQHHQ=RzG>00000NkvXXu0mjfkH<^r literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_help.png b/OnTopReplica/Assets/xiao_help.png new file mode 100644 index 0000000000000000000000000000000000000000..df861f96e0c4f211756f6aa44252f0e35fad1739 GIT binary patch literal 752 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;c1c7*RCwB?lf6$9aTv!xcfGbi5keuD;E~uwkr0h-2u5QZp5K7pe`CZpackz08Kmz*7l@8ulLg4IrNRP`bP+yO#CIhuBhS9 zYdVN1LAu0Y7i&*QV99CW(Uh3P327 z;Bkq9ar@duRAAqNFHxl;weBvNIyd-%7axC+vmNikV9=BRa+W#VeLlcG@FxR~4UvAi z0`PDZj4VjiaP@2p^UK@Az%vOz5QM%!a|7`M$XI#7y~VP4ECjld_v2XzG&k@`i1n2K zqD$&@dnERfHd&`E+}Pg9J0Tg}umQ-L(9$R&x}?sECYo6XO*bk4N6XL(DM&66-E?E) zSS3JK*H+S+7Q}{(X>;6eL=H;+36F@TXR-CnMhT#)yR%ASFIZb$Px8>fE@aU=lb@r{ zR|SA5Ky6JGN+N}(?#=>;0PEu;lhIg$CT|X(3oOgRFf1bdGLe26!?3U{3!e*`yg8z= z1nc7?ljR;{;z@OLX>`sbJ?d#Yg(5n{(-yrm`M*%(5oz|hk?SPpRu$CErBO2RWC_qU zwP;3%LSxpQDX(T;z8{qRv^RPY1PR9hfh?+~^I>_1-^<^g#wLcwx~3M*iYWl;*u>D| z7`#(%J-J(dx+Cm6*?I;b9apwe+bi?G-aL2?Yys(_NI1TY(V>tBs0HeQ>OwdJq=3WX i%f)RJ9LM2*?B4+H@(<#P|3};a0000%t*xm literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_ok.png b/OnTopReplica/Assets/xiao_ok.png new file mode 100644 index 0000000000000000000000000000000000000000..fc5029a25f4417ad92afa7489f464874dc3318df GIT binary patch literal 752 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;c1c7*RCwB?lTAoeQ5c4wGk2VE(s3N6G)+pYjcFT2iI8xUB#|3YcWp$mz?IZO zSK_9YK}q7KU52X+0|{Dagx0{|UpUcV)RYchW}N?f?%cU8)Qh9bUicR0<@+Aa$2qSs zO%ovmN9vt#bN~ZDH*n+7{tV0lQ!|}w@~GD|O~i3P?|kEcB9xa67h1V^{xYTIUI3zM zgr9$Zu>N})!!!nGI@hL70eapwJaD@_&u=$(Ly19}1X(ly>^N~z3^9d;ud~F{`w!pT zU4LN#`rco6C_>ThwcaOPvX5rOG0B$zoQfM)%){H|R~V+@e0^tC+5oaLH&kEMj8+&Y zo>I{?4SAxz_?KDoeLyRWQ(x6gR_2BPYydVP`YOw6h-OqWGJ__yyjuO{XS!vP>6S&J z8I{Vi8f-%J9jpfkyJ#wK+DW8h1Vi7gYhS9aV>=XNx@FPw5~&!at_p-*G+6)uJ)1?- z(s|AOD{Xn_v0x91O+g~TG<9nQJ#B2Hl1Xwo7}@Hw296JpY;}>*HF8-PHw$PUh25xSHNuXW_T!0=iJQfAPl#F;B%FS0{2oSL%$3!~eU0o9M&@Z!LQE_DWd z?Enn=+R>y$mpTqyxD77>)z8A{_M`D41p*Tjn=VLbQG(G8e)-fVpTKKLdh5@*oN)!gMGHPz-ng*P)jN i_JIU&I*tFMe**wrqevEjZknS20000P)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;Zb?KzRCwB?lS@ccQ5eU6=gyrgI+i+!(lmmGkwlPU_CUhgxNXxyR}q4bUbL%4 zD``=?=&3?P`!?Z9U1+$deBgr=3pAly>7=*uG50lh?rCwI$#mHt4xICy@B5waaL!*y zDG@@DRYT8|2DAg0fpa_I_rM#VZ@jb4&E`re5xW5mJyY!=Mf5h+RB$XFrL-hST>A~5 zb%S>c-^lo~W4yDjZy%uk#pJbUq~O_=i#24zu#pBQ69Do;P!xtx8eR`CV5H3JlU?=C zbAZ#m(^^Oo&W+}i7{F#4q=eB49f0$v;s^l;!w?0Y4$hGAW!_jvt*ZcJ(r#Dd(HNV+ zFAHopC?05yGte4mbVA2=gS}0l@o0=p+U){R0E7@NRb?e4w!pGrY$hnqYM?dF*o=;4 zL1GK4%1RJIwB!IvNUaZRD#?_O?fCx`?}pfpPcr4BX(~!ctp`xE39ctGZ3j<6+ei?5 zc_ANwwh=1_QbP*18^%Yba{$ja=TfFwiw~CT?>pUcyxjbNreNA0zHNQUUBNU~`t`LW zg{s7L9c(8US!LI*>rkjl^tB|WvCLuVch{El$5@>0 z#!9UJ?I8Hdg_SpZ?v38!00000(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ-QAtEWRCwCFlD$d;K@^3*6*q-K0ycuMjg>xukCGyrI+&NyO4&w>nT5QEg`~9F zMl9?k44OdL*-7A7xU0qp{(+~t%(-_y?r>hsV!ms@Ll0Nrkv>2yk`)4^H`fO9Sf;OL^zwWO1K>GUS(=%SD$ zfNfyk7^AW*RTPEFvTPFB2eu`>JmE3Gq=Yc_@0XbacK{&-y!V6=yQuqYG{{pJ2 z!h26uRiFQZy%rqqz=AEVZr1@xlCWGZNs?q8;GZV>;F4Zr_@_w@2d@LpxqLJl^#I1> z@mqYgqB^eKy3TYn002ovPDHLkV1gvj B#S{Pl literal 0 HcmV?d00001 diff --git a/OnTopReplica/CloneClickEventArgs.cs b/OnTopReplica/CloneClickEventArgs.cs new file mode 100644 index 0000000..95012a7 --- /dev/null +++ b/OnTopReplica/CloneClickEventArgs.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + public class CloneClickEventArgs : EventArgs { + + public Point ClientClickLocation { get; set; } + + public bool IsDoubleClick { get; set; } + + public MouseButtons Buttons { get; set; } + + public CloneClickEventArgs(Point location, MouseButtons buttons) { + ClientClickLocation = location; + Buttons = buttons; + IsDoubleClick = false; + } + + public CloneClickEventArgs(Point location, MouseButtons buttons, bool doubleClick) { + ClientClickLocation = location; + Buttons = buttons; + IsDoubleClick = doubleClick; + } + + } +} diff --git a/OnTopReplica/CloseRequestEventArgs.cs b/OnTopReplica/CloseRequestEventArgs.cs new file mode 100644 index 0000000..c9d031e --- /dev/null +++ b/OnTopReplica/CloseRequestEventArgs.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; + +namespace OnTopReplica { + public class CloseRequestEventArgs : EventArgs { + + public WindowHandle LastWindowHandle { get; set; } + public Rectangle? LastRegion { get; set; } + + } +} diff --git a/OnTopReplica/EnumerationExtensions.cs b/OnTopReplica/EnumerationExtensions.cs new file mode 100644 index 0000000..a7cc169 --- /dev/null +++ b/OnTopReplica/EnumerationExtensions.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica { + + /// + /// Poor man's LINQ. + /// + static class EnumerationExtensions { + + public static bool Contains(IEnumerable collection, T value){ + foreach (var v in collection) + if (v.Equals(value)) + return true; + + return false; + } + + } + +} diff --git a/OnTopReplica/FocusedTextBox.cs b/OnTopReplica/FocusedTextBox.cs new file mode 100644 index 0000000..ac34c2d --- /dev/null +++ b/OnTopReplica/FocusedTextBox.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.Text; +using VistaControls; +using System.Windows.Forms; + +namespace OnTopReplica { + + class FocusedTextBox : System.Windows.Forms.TextBox { + + protected override bool IsInputChar(char charCode) { + if (charCode == '\n' || charCode == '\r') + return true; + + return base.IsInputChar(charCode); + } + + protected override void OnKeyUp(KeyEventArgs e) { + if (e.KeyCode == Keys.Return) { + if(!string.IsNullOrEmpty(Text)) + OnConfirmInput(); + + e.Handled = true; + e.SuppressKeyPress = true; + } + else if (e.KeyCode == Keys.Escape) { + OnAbortInput(); + + e.Handled = true; + e.SuppressKeyPress = true; + } + + //Console.WriteLine("{0} ({1})", e.KeyCode, e.KeyValue); + + base.OnKeyUp(e); + } + + //List of characters to ignore on KeyPress events (because they generate bell rings) + char[] _ignoreChars = new char[] { + (char)27, (char)13 + }; + + protected override void OnKeyPress(KeyPressEventArgs e) { + if (EnumerationExtensions.Contains(_ignoreChars, e.KeyChar)) { + e.Handled = true; + } + + base.OnKeyPress(e); + } + + public event EventHandler ConfirmInput; + + protected virtual void OnConfirmInput() { + var evt = ConfirmInput; + if (evt != null) + evt(this, EventArgs.Empty); + } + + public event EventHandler AbortInput; + + protected virtual void OnAbortInput() { + var evt = AbortInput; + if (evt != null) + evt(this, EventArgs.Empty); + } + + } + +} diff --git a/OnTopReplica/IMessagePumpProcessor.cs b/OnTopReplica/IMessagePumpProcessor.cs new file mode 100644 index 0000000..824b9e5 --- /dev/null +++ b/OnTopReplica/IMessagePumpProcessor.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + interface IMessagePumpProcessor : IDisposable { + + void Initialize(MainForm form); + + bool Process(ref Message msg); + + } +} diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs new file mode 100644 index 0000000..880e5af --- /dev/null +++ b/OnTopReplica/MainForm.Designer.cs @@ -0,0 +1,573 @@ +namespace OnTopReplica +{ + partial class MainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.menuContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.menuContextWindows = new System.Windows.Forms.ToolStripMenuItem(); + this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); + this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullSelectWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.switchToWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.selectRegionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.advancedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickForwardingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickThroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.groupSwitchModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextOpacity = new System.Windows.Forms.ToolStripMenuItem(); + this.menuOpacity = new System.Windows.Forms.ContextMenuStrip(this.components); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); + this.resizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuResize = new System.Windows.Forms.ContextMenuStrip(this.components); + this.doubleToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.fitToWindowToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.halfToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.quarterToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.fullscreenToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.dockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.chromeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.reduceToIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.languageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuLanguages = new System.Windows.Forms.ContextMenuStrip(this.components); + this.englishToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.cestinaToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.danskToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.italianoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); + this.fullOpacityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.danskToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFullscreenContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.enableClickthroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullExitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContext.SuspendLayout(); + this.menuWindows.SuspendLayout(); + this.menuOpacity.SuspendLayout(); + this.menuResize.SuspendLayout(); + this.menuLanguages.SuspendLayout(); + this.menuFullscreenContext.SuspendLayout(); + this.SuspendLayout(); + // + // menuContext + // + this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuContextWindows, + this.switchToWindowToolStripMenuItem, + this.selectRegionToolStripMenuItem, + this.advancedToolStripMenuItem, + this.menuContextOpacity, + this.resizeToolStripMenuItem, + this.dockToolStripMenuItem, + this.chromeToolStripMenuItem, + this.reduceToIconToolStripMenuItem, + this.toolStripSeparator1, + this.languageToolStripMenuItem, + this.aboutToolStripMenuItem, + this.menuContextClose}); + this.menuContext.Name = "menuContext"; + this.menuContext.Size = new System.Drawing.Size(169, 296); + this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); + // + // menuContextWindows + // + this.menuContextWindows.DropDown = this.menuWindows; + this.menuContextWindows.Image = global::OnTopReplica.Properties.Resources.list; + this.menuContextWindows.Name = "menuContextWindows"; + this.menuContextWindows.Size = new System.Drawing.Size(168, 22); + this.menuContextWindows.Text = global::OnTopReplica.Strings.MenuWindows; + this.menuContextWindows.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // + // menuWindows + // + this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.noneToolStripMenuItem}); + this.menuWindows.Name = "menuWindows"; + this.menuWindows.Size = new System.Drawing.Size(118, 26); + this.menuWindows.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Windows_opening); + // + // noneToolStripMenuItem + // + this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; + this.noneToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; + // + // fullSelectWindowToolStripMenuItem + // + this.fullSelectWindowToolStripMenuItem.DropDown = this.menuWindows; + this.fullSelectWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.list; + this.fullSelectWindowToolStripMenuItem.Name = "fullSelectWindowToolStripMenuItem"; + this.fullSelectWindowToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullSelectWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindows; + this.fullSelectWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // + // switchToWindowToolStripMenuItem + // + this.switchToWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_arrow; + this.switchToWindowToolStripMenuItem.Name = "switchToWindowToolStripMenuItem"; + this.switchToWindowToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.switchToWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSwitch; + this.switchToWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSwitchTT; + this.switchToWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_Switch_click); + // + // selectRegionToolStripMenuItem + // + this.selectRegionToolStripMenuItem.Enabled = false; + this.selectRegionToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.regions; + this.selectRegionToolStripMenuItem.Name = "selectRegionToolStripMenuItem"; + this.selectRegionToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.selectRegionToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRegion; + this.selectRegionToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRegionTT; + this.selectRegionToolStripMenuItem.Click += new System.EventHandler(this.Menu_Region_click); + // + // advancedToolStripMenuItem + // + this.advancedToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.clickForwardingToolStripMenuItem, + this.clickThroughToolStripMenuItem, + this.groupSwitchModeToolStripMenuItem}); + this.advancedToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_wrench; + this.advancedToolStripMenuItem.Name = "advancedToolStripMenuItem"; + this.advancedToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.advancedToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAdvanced; + // + // clickForwardingToolStripMenuItem + // + this.clickForwardingToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; + this.clickForwardingToolStripMenuItem.Name = "clickForwardingToolStripMenuItem"; + this.clickForwardingToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.clickForwardingToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickForwarding; + this.clickForwardingToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickForwardingTT; + this.clickForwardingToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickForwarding_click); + // + // clickThroughToolStripMenuItem + // + this.clickThroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.clickThroughToolStripMenuItem.Name = "clickThroughToolStripMenuItem"; + this.clickThroughToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.clickThroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.clickThroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.clickThroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // groupSwitchModeToolStripMenuItem + // + this.groupSwitchModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.groupmode; + this.groupSwitchModeToolStripMenuItem.Name = "groupSwitchModeToolStripMenuItem"; + this.groupSwitchModeToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.groupSwitchModeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuGroupSwitch; + this.groupSwitchModeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuGroupSwitchTT; + this.groupSwitchModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_GroupSwitchMode_click); + // + // menuContextOpacity + // + this.menuContextOpacity.DropDown = this.menuOpacity; + this.menuContextOpacity.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.menuContextOpacity.Name = "menuContextOpacity"; + this.menuContextOpacity.Size = new System.Drawing.Size(168, 22); + this.menuContextOpacity.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // menuOpacity + // + this.menuOpacity.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripMenuItem1, + this.toolStripMenuItem2, + this.toolStripMenuItem3, + this.toolStripMenuItem4}); + this.menuOpacity.Name = "menuOpacity"; + this.menuOpacity.ShowCheckMargin = true; + this.menuOpacity.ShowImageMargin = false; + this.menuOpacity.Size = new System.Drawing.Size(154, 92); + this.menuOpacity.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Opacity_opening); + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Checked = true; + this.toolStripMenuItem1.CheckState = System.Windows.Forms.CheckState.Checked; + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem1.Tag = 1D; + this.toolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuOp100; + this.toolStripMenuItem1.ToolTipText = global::OnTopReplica.Strings.MenuOp100TT; + this.toolStripMenuItem1.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem2 + // + this.toolStripMenuItem2.Name = "toolStripMenuItem2"; + this.toolStripMenuItem2.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem2.Tag = 0.75D; + this.toolStripMenuItem2.Text = global::OnTopReplica.Strings.MenuOp75; + this.toolStripMenuItem2.ToolTipText = global::OnTopReplica.Strings.MenuOp75TT; + this.toolStripMenuItem2.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem3 + // + this.toolStripMenuItem3.Name = "toolStripMenuItem3"; + this.toolStripMenuItem3.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem3.Tag = 0.5D; + this.toolStripMenuItem3.Text = global::OnTopReplica.Strings.MenuOp50; + this.toolStripMenuItem3.ToolTipText = global::OnTopReplica.Strings.MenuOp50TT; + this.toolStripMenuItem3.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem4 + // + this.toolStripMenuItem4.Name = "toolStripMenuItem4"; + this.toolStripMenuItem4.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem4.Tag = 0.25D; + this.toolStripMenuItem4.Text = global::OnTopReplica.Strings.MenuOp25; + this.toolStripMenuItem4.ToolTipText = global::OnTopReplica.Strings.MenuOp25TT; + this.toolStripMenuItem4.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // resizeToolStripMenuItem + // + this.resizeToolStripMenuItem.DropDown = this.menuResize; + this.resizeToolStripMenuItem.Enabled = false; + this.resizeToolStripMenuItem.Name = "resizeToolStripMenuItem"; + this.resizeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.resizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResize; + // + // menuResize + // + this.menuResize.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.doubleToolStripMenuItem1, + this.fitToWindowToolStripMenuItem1, + this.halfToolStripMenuItem1, + this.quarterToolStripMenuItem1, + this.toolStripSeparator3, + this.fullscreenToolStripMenuItem1}); + this.menuResize.Name = "menuResize"; + this.menuResize.OwnerItem = this.resizeToolStripMenuItem; + this.menuResize.Size = new System.Drawing.Size(165, 120); + this.menuResize.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Resize_opening); + // + // doubleToolStripMenuItem1 + // + this.doubleToolStripMenuItem1.Name = "doubleToolStripMenuItem1"; + this.doubleToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.doubleToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitDouble; + this.doubleToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Double); + // + // fitToWindowToolStripMenuItem1 + // + this.fitToWindowToolStripMenuItem1.Name = "fitToWindowToolStripMenuItem1"; + this.fitToWindowToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.fitToWindowToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitOriginal; + this.fitToWindowToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_FitToWindow); + // + // halfToolStripMenuItem1 + // + this.halfToolStripMenuItem1.Name = "halfToolStripMenuItem1"; + this.halfToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.halfToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitHalf; + this.halfToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Half); + // + // quarterToolStripMenuItem1 + // + this.quarterToolStripMenuItem1.Name = "quarterToolStripMenuItem1"; + this.quarterToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.quarterToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitQuarter; + this.quarterToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Quarter); + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(161, 6); + // + // fullscreenToolStripMenuItem1 + // + this.fullscreenToolStripMenuItem1.Image = global::OnTopReplica.Properties.Resources.fullscreen; + this.fullscreenToolStripMenuItem1.Name = "fullscreenToolStripMenuItem1"; + this.fullscreenToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.fullscreenToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitFullscreen; + this.fullscreenToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Fullscreen); + // + // dockToolStripMenuItem + // + this.dockToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.topLeftToolStripMenuItem, + this.topRightToolStripMenuItem, + this.bottomLeftToolStripMenuItem, + this.bottomRightToolStripMenuItem}); + this.dockToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_null; + this.dockToolStripMenuItem.Name = "dockToolStripMenuItem"; + this.dockToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.dockToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosition; + this.dockToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuPositionTT; + // + // topLeftToolStripMenuItem + // + this.topLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topleft; + this.topLeftToolStripMenuItem.Name = "topLeftToolStripMenuItem"; + this.topLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopLeft; + this.topLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopLeft); + // + // topRightToolStripMenuItem + // + this.topRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topright; + this.topRightToolStripMenuItem.Name = "topRightToolStripMenuItem"; + this.topRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopRight; + this.topRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopRight); + // + // bottomLeftToolStripMenuItem + // + this.bottomLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomleft; + this.bottomLeftToolStripMenuItem.Name = "bottomLeftToolStripMenuItem"; + this.bottomLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomLeft; + this.bottomLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomLeft); + // + // bottomRightToolStripMenuItem + // + this.bottomRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomright; + this.bottomRightToolStripMenuItem.Name = "bottomRightToolStripMenuItem"; + this.bottomRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomRight; + this.bottomRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomRight); + // + // chromeToolStripMenuItem + // + this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem"; + this.chromeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.chromeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuChrome; + this.chromeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuChromeTT; + this.chromeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Chrome_click); + // + // reduceToIconToolStripMenuItem + // + this.reduceToIconToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.reduce; + this.reduceToIconToolStripMenuItem.Name = "reduceToIconToolStripMenuItem"; + this.reduceToIconToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.reduceToIconToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReduce; + this.reduceToIconToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuReduceTT; + this.reduceToIconToolStripMenuItem.Click += new System.EventHandler(this.Menu_Reduce_click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(165, 6); + // + // languageToolStripMenuItem + // + this.languageToolStripMenuItem.DropDown = this.menuLanguages; + this.languageToolStripMenuItem.Name = "languageToolStripMenuItem"; + this.languageToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.languageToolStripMenuItem.Text = global::OnTopReplica.Strings.Language; + // + // menuLanguages + // + this.menuLanguages.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.englishToolStripMenuItem, + this.cestinaToolStripMenuItem, + this.danskToolStripMenuItem1, + this.italianoToolStripMenuItem}); + this.menuLanguages.Name = "menuLanguages"; + this.menuLanguages.OwnerItem = this.languageToolStripMenuItem; + this.menuLanguages.Size = new System.Drawing.Size(114, 92); + this.menuLanguages.Text = "Dansk"; + // + // englishToolStripMenuItem + // + this.englishToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_usa; + this.englishToolStripMenuItem.Name = "englishToolStripMenuItem"; + this.englishToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.englishToolStripMenuItem.Tag = "en-US"; + this.englishToolStripMenuItem.Text = "English"; + this.englishToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // cestinaToolStripMenuItem + // + this.cestinaToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_czech; + this.cestinaToolStripMenuItem.Name = "cestinaToolStripMenuItem"; + this.cestinaToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.cestinaToolStripMenuItem.Tag = "cs-CZ"; + this.cestinaToolStripMenuItem.Text = "Čeština"; + this.cestinaToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // danskToolStripMenuItem1 + // + this.danskToolStripMenuItem1.Image = global::OnTopReplica.Properties.Resources.flag_danish; + this.danskToolStripMenuItem1.Name = "danskToolStripMenuItem1"; + this.danskToolStripMenuItem1.Size = new System.Drawing.Size(113, 22); + this.danskToolStripMenuItem1.Tag = "da-DK"; + this.danskToolStripMenuItem1.Text = "Dansk"; + this.danskToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Language_click); + // + // italianoToolStripMenuItem + // + this.italianoToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_ita; + this.italianoToolStripMenuItem.Name = "italianoToolStripMenuItem"; + this.italianoToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.italianoToolStripMenuItem.Tag = "it-IT"; + this.italianoToolStripMenuItem.Text = "Italiano"; + this.italianoToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_help; + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.aboutToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAbout; + this.aboutToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAboutTT; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.Menu_About_click); + // + // menuContextClose + // + this.menuContextClose.Image = global::OnTopReplica.Properties.Resources.close_new; + this.menuContextClose.Name = "menuContextClose"; + this.menuContextClose.Size = new System.Drawing.Size(168, 22); + this.menuContextClose.Text = global::OnTopReplica.Strings.MenuClose; + this.menuContextClose.Click += new System.EventHandler(this.Menu_Close_click); + // + // fullOpacityToolStripMenuItem + // + this.fullOpacityToolStripMenuItem.DropDown = this.menuOpacity; + this.fullOpacityToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.fullOpacityToolStripMenuItem.Name = "fullOpacityToolStripMenuItem"; + this.fullOpacityToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullOpacityToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // danskToolStripMenuItem + // + this.danskToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_danish; + this.danskToolStripMenuItem.Name = "danskToolStripMenuItem"; + this.danskToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.danskToolStripMenuItem.Tag = "da-DA"; + this.danskToolStripMenuItem.Text = "Dansk"; + this.danskToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // menuFullscreenContext + // + this.menuFullscreenContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fullSelectWindowToolStripMenuItem, + this.fullOpacityToolStripMenuItem, + this.enableClickthroughToolStripMenuItem, + this.fullExitToolStripMenuItem}); + this.menuFullscreenContext.Name = "menuFullscreenContext"; + this.menuFullscreenContext.Size = new System.Drawing.Size(190, 92); + // + // enableClickthroughToolStripMenuItem + // + this.enableClickthroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; + this.enableClickthroughToolStripMenuItem.Name = "enableClickthroughToolStripMenuItem"; + this.enableClickthroughToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.enableClickthroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.enableClickthroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.enableClickthroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // fullExitToolStripMenuItem + // + this.fullExitToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; + this.fullExitToolStripMenuItem.Name = "fullExitToolStripMenuItem"; + this.fullExitToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullExitToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuQuitFullscreen; + this.fullExitToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_ExitFullscreen_click); + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.Control; + this.ClientSize = new System.Drawing.Size(264, 204); + this.ControlBox = false; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.MinimumSize = new System.Drawing.Size(20, 34); + this.Name = "MainForm"; + this.Text = "OnTopReplica"; + this.TopMost = true; + this.menuContext.ResumeLayout(false); + this.menuWindows.ResumeLayout(false); + this.menuOpacity.ResumeLayout(false); + this.menuResize.ResumeLayout(false); + this.menuLanguages.ResumeLayout(false); + this.menuFullscreenContext.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ContextMenuStrip menuContext; + private System.Windows.Forms.ToolStripMenuItem menuContextWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextClose; + private System.Windows.Forms.ContextMenuStrip menuWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextOpacity; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.ContextMenuStrip menuOpacity; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem4; + private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem reduceToIconToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem selectRegionToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem resizeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem switchToWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem dockToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topRightToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomRightToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuResize; + private System.Windows.Forms.ToolStripMenuItem doubleToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fitToWindowToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem halfToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem quarterToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fullscreenToolStripMenuItem1; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripMenuItem languageToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuLanguages; + private System.Windows.Forms.ToolStripMenuItem englishToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem italianoToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem cestinaToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem danskToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem chromeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem danskToolStripMenuItem1; + private System.Windows.Forms.ContextMenuStrip menuFullscreenContext; + private System.Windows.Forms.ToolStripMenuItem fullSelectWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullOpacityToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullExitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem advancedToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickForwardingToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickThroughToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem groupSwitchModeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem enableClickthroughToolStripMenuItem; + } +} + diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs new file mode 100644 index 0000000..38930cc --- /dev/null +++ b/OnTopReplica/MainForm.cs @@ -0,0 +1,544 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using VistaControls.Dwm; +using VistaControls.TaskDialog; +using System.Collections.Generic; +using OnTopReplica.Native; +using OnTopReplica.Update; + +namespace OnTopReplica { + + partial class MainForm : AspectRatioForm { + + //GUI elements + ThumbnailPanel _thumbnailPanel; + SidePanel _currentSidePanel = null; + Panel _sidePanelContainer; + + //Managers + WindowManager _windowManager = new WindowManager(); + MessagePumpManager _msgPumpManager = new MessagePumpManager(); + UpdateManager _updateManager = new UpdateManager(); + + FormBorderStyle _defaultBorderStyle; + + public MainForm() { + InitializeComponent(); + KeepAspectRatio = false; + + //Store default values + _defaultBorderStyle = FormBorderStyle; + _nonClickThroughKey = TransparencyKey; + + //Thumbnail panel + _thumbnailPanel = new ThumbnailPanel { + Location = Point.Empty, + Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right, + Size = ClientSize + }; + _thumbnailPanel.CloneClick += new EventHandler(Thumbnail_CloneClick); + Controls.Add(_thumbnailPanel); + + //Side panel + _sidePanelContainer = new Panel { + Location = new Point(ClientSize.Width, 0), + Anchor = AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom, + Enabled = false, + Visible = false, + Size = new Size(100, ClientSize.Height), + Padding = new Padding(4) + }; + Controls.Add(_sidePanelContainer); + + //Set native renderer on context menus + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer( + menuContext, menuWindows, menuOpacity, menuResize, menuLanguages, menuFullscreenContext + ); + + //Init message pump extensions + _msgPumpManager.Initialize(this); + + //Add hotkeys + var hotKeyMgr = _msgPumpManager.Get(); + hotKeyMgr.RegisterHotKey(Native.HotKeyModifiers.Control | Native.HotKeyModifiers.Shift, + Keys.O, new Native.HotKeyMethods.HotKeyHandler(HotKeyOpenHandler)); + hotKeyMgr.RegisterHotKey(Native.HotKeyModifiers.Control | Native.HotKeyModifiers.Shift, + Keys.C, new Native.HotKeyMethods.HotKeyHandler(HotKeyCloneHandler)); + + //Hook keyboard handler + this.KeyUp += new KeyEventHandler(Form_KeyUp); + this.KeyPreview = true; + } + + delegate void GuiAction(); + + void UpdateManager_CheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + this.Invoke(new GuiAction(() => { + if (e.Success) { + _updateManager.HandleUpdateCheck(this, e.Information, false); + } + else { + Console.WriteLine("Failed to check for updates: {0}", e.Error); + } + })); + } + + #region Event override + + protected override CreateParams CreateParams { + get { + //Needed to hide caption, while keeping window title in task bar + var parms = base.CreateParams; + parms.Style &= ~0x00C00000; //WS_CAPTION + parms.Style &= 0x00040000; //WS_SIZEBOX + return parms; + } + } + + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + //Platform specific form initialization + Program.Platform.InitForm(this); + + //Glassify window + GlassEnabled = true; + } + + protected override void OnHandleCreated(EventArgs e) { + base.OnHandleCreated(e); + + //Check for updates + _updateManager.UpdateCheckCompleted += new EventHandler(UpdateManager_CheckCompleted); + _updateManager.CheckForUpdate(); + } + + protected override void OnClosing(CancelEventArgs e) { + _msgPumpManager.Dispose(); + + base.OnClosing(e); + } + + Margins fullMargins = new Margins(-1); + + protected override void OnResize(EventArgs e) { + base.OnResize(e); + + this.GlassMargins = (_currentSidePanel != null) ? + new Margins(ClientSize.Width - _sidePanelContainer.Width, 0, 0, 0) : + fullMargins; + } + + protected override void OnActivated(EventArgs e) { + base.OnActivated(e); + + //Deactivate click-through if reactivated + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + + Program.Platform.RestoreForm(this); + } + + protected override void OnDeactivate(EventArgs e) { + base.OnDeactivate(e); + + //HACK: sometimes, even if TopMost is true, the window loses its "always on top" status. + // This is an attempt of a fix that probably won't work... + if (!IsFullscreen) { //fullscreen mode doesn't use TopMost + TopMost = false; + TopMost = true; + } + } + + protected override void OnMouseWheel(MouseEventArgs e) { + base.OnMouseWheel(e); + + if (!IsFullscreen) { + int change = (int)(e.Delta / 6.0); //assumes a mouse wheel "tick" is in the 80-120 range + AdjustSize(change); + } + } + + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); + + //This is handled by the WM_NCLBUTTONDBLCLK msg handler usually (because the GlassForm translates + //clicks on client to clicks on caption). But if fullscreen mode disables GlassForm dragging, we need + //this auxiliary handler to switch mode. + IsFullscreen = !IsFullscreen; + } + + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); + + //Same story as above (OnMouseDoubleClick) + if (e.Button == System.Windows.Forms.MouseButtons.Right) { + OpenContextMenu(); + } + } + + protected override void WndProc(ref Message m) { + if (_msgPumpManager != null) { + if (_msgPumpManager.PumpMessage(ref m)) { + return; + } + } + + switch (m.Msg) { + case WM.NCRBUTTONUP: + //Open context menu if right button clicked on caption (i.e. all of the window area because of glass) + if (m.WParam.ToInt32() == HT.CAPTION) { + OpenContextMenu(); + + m.Result = IntPtr.Zero; + return; + } + break; + + case WM.NCLBUTTONDBLCLK: + //Toggle fullscreen mode if double click on caption (whole glass area) + if (m.WParam.ToInt32() == HT.CAPTION) { + IsFullscreen = !IsFullscreen; + + m.Result = IntPtr.Zero; + return; + } + break; + + case WM.NCHITTEST: + //Make transparent to hit-testing if in click through mode + if (ClickThroughEnabled) { + m.Result = (IntPtr)HT.TRANSPARENT; + return; + } + break; + } + + base.WndProc(ref m); + } + + #endregion + + const string Title = "OnTopReplica"; + + #region Keyboard event handling + + void Form_KeyUp(object sender, KeyEventArgs e) { + //ALT + if (e.Modifiers == Keys.Alt) { + if (e.KeyCode == Keys.Enter) { + e.Handled = true; + IsFullscreen = !IsFullscreen; + } + + else if (e.KeyCode == Keys.D1 || e.KeyCode == Keys.NumPad1) { + FitToThumbnail(0.25); + } + + else if (e.KeyCode == Keys.D2 || e.KeyCode == Keys.NumPad2) { + FitToThumbnail(0.5); + } + + else if (e.KeyCode == Keys.D3 || e.KeyCode == Keys.NumPad3 || e.KeyCode == Keys.D0 || e.KeyCode == Keys.NumPad0) { + FitToThumbnail(1.0); + } + + else if (e.KeyCode == Keys.D4 || e.KeyCode == Keys.NumPad4) { + FitToThumbnail(2.0); + } + } + + //ESCAPE + else if (e.KeyCode == Keys.Escape) { + +#if DEBUG + Console.WriteLine("Received ESCAPE"); +#endif + + //Disable click-through + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + //Toggle fullscreen + else if (IsFullscreen) { + IsFullscreen = false; + } + //Disable click forwarding + else if (_thumbnailPanel.ReportThumbnailClicks) { + _thumbnailPanel.ReportThumbnailClicks = false; + } + } + } + + void HotKeyOpenHandler() { + if (IsFullscreen) + IsFullscreen = false; + + if (!Program.Platform.IsHidden(this)) { + Program.Platform.HideForm(this); + } + else { + EnsureMainFormVisible(); + } + } + + void HotKeyCloneHandler() { + var handle = Win32Helper.GetCurrentForegroundWindow(); + if (handle.Handle == this.Handle) + return; + + SetThumbnail(handle, null); + } + + #endregion + + #region Fullscreen + + bool _isFullscreen = false; + Point _preFullscreenLocation; + Size _preFullscreenSize; + FormBorderStyle _preFullscreenBorderStyle; + + public bool IsFullscreen { + get { + return _isFullscreen; + } + set { + if (IsFullscreen == value) + return; + if (value && !_thumbnailPanel.IsShowingThumbnail) + return; + + CloseSidePanel(); //on switch, always hide side panels + + //Location and size + if (value) { + _preFullscreenLocation = Location; + _preFullscreenSize = ClientSize; + _preFullscreenBorderStyle = FormBorderStyle; + + var currentScreen = Screen.FromControl(this); + FormBorderStyle = FormBorderStyle.None; + Size = currentScreen.WorkingArea.Size; + Location = currentScreen.WorkingArea.Location; + } + else { + FormBorderStyle = _preFullscreenBorderStyle; + Location = _preFullscreenLocation; + ClientSize = _preFullscreenSize; + RefreshAspectRatio(); + } + + //Common + GlassEnabled = !value; + TopMost = !value; + HandleMouseMove = !value; + + _isFullscreen = value; + + Program.Platform.OnFormStateChange(this); + } + } + + #endregion + + #region Thumbnail operation + + /// + /// Sets a new thumbnail. + /// + /// Handle to the window to clone. + /// Region of the window to clone. + public void SetThumbnail(WindowHandle handle, StoredRegion region) { + try { + CurrentThumbnailWindowHandle = handle; + _thumbnailPanel.SetThumbnailHandle(handle); + + if (region != null) + _thumbnailPanel.SelectedRegion = region.Rect; + else + _thumbnailPanel.ConstrainToRegion = false; + + //Set aspect ratio (this will resize the form), do not refresh if in fullscreen + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize, !IsFullscreen); + } + catch (Exception ex) { + ThumbnailError(ex, false, Strings.ErrorUnableToCreateThumbnail); + } + } + + /// + /// Enables group mode on a list of window handles. + /// + /// List of window handles. + public void SetThumbnailGroup(IList handles) { + if (handles.Count == 0) + return; + + //At last one thumbnail + SetThumbnail(handles[0], null); + + //Handle if no real group + if (handles.Count == 1) + return; + + CurrentThumbnailWindowHandle = null; + _msgPumpManager.Get().EnableGroupMode(handles); + } + + /// + /// Disables the cloned thumbnail. + /// + public void UnsetThumbnail() { + //Unset handle + CurrentThumbnailWindowHandle = null; + _thumbnailPanel.UnsetThumbnail(); + + //Disable aspect ratio + KeepAspectRatio = false; + } + + /// + /// Gets or sets the region displayed of the current thumbnail. + /// + public Rectangle? SelectedThumbnailRegion { + get { + if (!_thumbnailPanel.IsShowingThumbnail || !_thumbnailPanel.ConstrainToRegion) + return null; + + return _thumbnailPanel.SelectedRegion; + } + set { + if (!_thumbnailPanel.IsShowingThumbnail) + return; + + if (value.HasValue) { + _thumbnailPanel.SelectedRegion = value.Value; + SetAspectRatio(value.Value.Size, true); + } + else { + _thumbnailPanel.ConstrainToRegion = false; + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize, true); + } + + FixPositionAndSize(); + } + } + + const int FixMargin = 10; + + /// + /// Fixes the form's position and size, ensuring it is fully displayed in the current screen. + /// + private void FixPositionAndSize() { + var screen = Screen.FromControl(this); + + if (Width > screen.WorkingArea.Width) { + Width = screen.WorkingArea.Width - FixMargin; + } + if (Height > screen.WorkingArea.Height) { + Height = screen.WorkingArea.Height - FixMargin; + } + if (Location.X + Width > screen.WorkingArea.Right) { + Location = new Point(screen.WorkingArea.Right - Width - FixMargin, Location.Y); + } + if (Location.Y + Height > screen.WorkingArea.Bottom) { + Location = new Point(Location.X, screen.WorkingArea.Bottom - Height - FixMargin); + } + } + + private void ThumbnailError(Exception ex, bool suppress, string title) { + if (!suppress) { + ShowErrorDialog(title, Strings.ErrorGenericThumbnailHandleError, ex.Message); + } + + UnsetThumbnail(); + } + + /// Automatically sizes the window in order to accomodate the thumbnail p times. + /// Scale of the thumbnail to consider. + private void FitToThumbnail(double p) { + try { + Size originalSize = _thumbnailPanel.ThumbnailOriginalSize; + Size fittedSize = new Size((int)(originalSize.Width * p), (int)(originalSize.Height * p)); + ClientSize = fittedSize; + } + catch (Exception ex) { + ThumbnailError(ex, false, Strings.ErrorUnableToFit); + } + } + + #endregion + + #region Click-through + + bool _clickThrough = false; + Color _nonClickThroughKey; + + public bool ClickThroughEnabled { + get { + return _clickThrough; + } + set { + //Adjust opacity if fully opaque + if (value && Opacity == 1.0) + Opacity = 0.75; + if (!value) + Opacity = 1.0; + + //Enable transparency and force as top-most + TransparencyKey = (value) ? Color.Black : _nonClickThroughKey; + if (value) + TopMost = true; + + _clickThrough = value; + } + } + + #endregion + + #region Accessors + + /// + /// Gets the form's thumbnail panel. + /// + public ThumbnailPanel ThumbnailPanel { + get { + return _thumbnailPanel; + } + } + + /// + /// Gets the form's message pump manager. + /// + public MessagePumpManager MessagePumpManager { + get { + return _msgPumpManager; + } + } + + /// + /// Gets the form's window list drop down menu. + /// + public ContextMenuStrip MenuWindows { + get { + return menuWindows; + } + } + + /// + /// Retrieves the window handle of the currently cloned thumbnail. + /// + public WindowHandle CurrentThumbnailWindowHandle { + get; + private set; + } + + #endregion + + } +} diff --git a/OnTopReplica/MainForm.resx b/OnTopReplica/MainForm.resx new file mode 100644 index 0000000..e1539d6 --- /dev/null +++ b/OnTopReplica/MainForm.resx @@ -0,0 +1,324 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 142, 17 + + + 275, 17 + + + 578, 17 + + + 695, 17 + + + 399, 17 + + + + + AAABAAIAMDAAAAEAIACoJQAAJgAAABAQAAABACAAaAQAAM4lAAAoAAAAMAAAAGAAAAABACAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAAAAFwAAACAAAAAnAAAAKwAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAAKwAAACcAAAAfAAAAFwAAAA0AAAAGAAAABgAAAA4AAAAdAAAALQAAAD0AAABIAAAATgAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATgAAAEgAAAA9AAAALQAAABwAAAANAAAACwAAABkAAAAwAAAARwAA + AFsAAABpAAAAcAAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcAAAAGkAAABdAAAASAAAAC8AAAAYAAAAEQAA + ACQAAABBAAAAbAoKC6QYGBiyFhcXtBcXF7QXFxe0FxcXtBcXF7UXFxi0FxcYtBcYGLQXGBi0FxgYtBgY + GLQXGBi0FxcYtBcXF7QXFxe0FxcXtBcXF7QXFxe0FxcXtRcXF7UXFxe1FxcXtBcXF7QXFxe0FxcXtBYX + F7QWFhe0FhYXtBYWFrQWFhe0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe0GBgYtQEBAqYAAAB5AAAAXwAA + AEEAAAAkAAAAFwAAACwAAABdOTk3u46IgKWTjIKUkYiAk4yEepKHf3WQhHtyj4B5b45+eG2NfHVrjHly + Z4t5cmeLeXFni3huZot5b2aLe3JoioB3bIuDe3KMiH92jIyCeIyMhXqNjYZ7jo2HfI+Ph36PkId/j5GI + f4+SiX+PkomAj5OLgJCTjIKQk4yCkJSMgpCTi4GQj4h+joyEeo2LgniMjIN5jY+HfY6RiYCPkoqAjn55 + c7IXFxe1AAAAcQAAAFAAAAAuAAAAGwAAADAJCQmJkoyGrJ6ViXCypp2Fv7OskL2yq5G6r6ePt6yljbWr + o4yzqqGLsaefirClnYmupJ2JrqOdia6inYqvpJ2JsqafibSqo4m4raeKu7Gqiryyq4u8s6uLu7OsjLyz + rYy8s62MvbOujb20ro29ta6NvbWujry2ro67tq6OvLaujr23r468ta6OurOsjLiyq4u3sayLubOvjLu0 + so20ramGnpWNdJ+ViGxnZWG9AAAAiQAAAFYAAAAzAAAAHAAAADIREhKSqaGapbK4splz3ePrceDn8nPg + 5/N14OfzduDm83nh5fN84uXyf+Lk8oLj5PKF4+Lyh+Pi8onk4PKM5d/yj+Xf8pPm3/KX6ODynOni8qDq + 4/Kk7OLyqO7i863w4vKy8+Hytvbh87z44fPE+uHzzvvk89776vPs+/Pz+fv58//7/fP/+/7z//v98v/7 + 9/L8++3y9/vi8/b70fPz+b7u1da5u6mim3V/fHe1AAAAkQAAAFkAAAA2AAAAHQAAADMQEBCRsKiirMLO + ybBI3eT/PNnf/z3Z2v8+2df/P9nV/0HZ0/9G2tL/StvQ/0vbzv9O28v/UNzJ/1Pcx/9W3sX/WuHD/13k + wv9i6ML/aO/E/3D1x/99+s7/jP3W/53/4P+y/+r/xf/x/9r/+f/v//3/9//8//n//P/6//r/8v/r/+H/ + 3v+//dr/t/3Z/8L+zv/K/7H/1f2b/9r8jv/X/Yz/0Oa+1r2zsYJ+e3e4AAAAkQAAAFoAAAA3AAAAHQAA + ADMPDw+RtKumr8bSz7Y809n/L9DT/zLQ0f8zz8//NNDL/zfQyf860Mj/PNHF/z3Sw/9A1cH/RdnC/0re + xP9S5cj/W+zN/2by0/9x+Nj/e/3d/4L/4P+L/+T/mf/o/6n/6/+5/+z/xP/n/8f/2/+//8z/tPy//6X5 + tf+Z96//jPar/3j1rP9z97j/gvrD/4X9yf+Q/cv/qvu5/7jtkf+112f/z9mt2cW9u4iAfXm5AAAAkQAA + AFoAAAA3AAAAHQAAADMPDw+Rta6osMfT0Lc40tX/LM/Q/zHQz/8y0c7/NdTO/znXz/8/29H/ROHV/0zo + 2P9T7tz/WvTg/2D54v9l++H/avzf/27+3f90/9v/ev/a/4H/1/+K/tT/kPzL/5H4v/+N87D/he6f/4Dp + k/+B5o3/huWK/4/liP+W5of/muaG/5zihv+e2ob/pNeJ/6ncjP+s5pD/pO6U/5/wlv+h4oX/ytu32si/ + vYuCf3u6AAAAkQAAAFoAAAA2AAAAHQAAADMPDw+Rt6+qscnV0bk+2Nf/M9nV/zrd2P9A4tz/Rejf/0jq + 4P9J6tv/TOrW/07o0P9P5sn/UefD/1Xqwf9c8ML/ZPXC/2v3wP9v8rn/cOqv/27iof9r25X/a9mN/3TZ + jP9924v/gtuH/4fbgv+I2n7/itR6/4nNdP+HxW3/iL5o/4y4YP+St1X/k7ZL/5S1Tv+ZtlX/pL5d/67L + Yv+x123/0uC828rCwI2DgHy7AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RuLCss8rX07pG4dz/Od7W/zzb + 0f8/2s3/P9jI/0DUwv8/0Ln/Q9G2/0rXuP9S3rr/WuS9/1/kuf9f3rD/X9ai/1/Pl/9hzJD/Zc+M/2zT + if9x1oj/d9eE/37Vg/+D0X//fshz/3m+aP95uGP/e7Nf/3+wXP+FsFb/jLVR/4+8Uv+QwFv/k8Rk/5zF + Zf+hw2D/pMBY/6i7Uv+ps0D/0M+i3M3Hx5CEgX68AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RubKutMvW + 0rs/ysH/MsS3/zbDtP87x7b/Qc27/0bVwP9L2b//Ttq7/1HWs/9T0Kn/Vcqh/1jImv9dy5X/Y9CS/2nT + kP9u1Yz/cNOG/3DOfv9wx3X/cMJv/3vDcf+GxnH/gsFl/4G/Xv+Iv17/jMNc/5DHXP+QzGH/jM9u/4vL + c/+OwWz/j7lg/5GyVP+SqEn/lqJB/5icOv+WkSr/yMOb3NDMypGFgn+9AAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+RurOvtszW0bxCxbj/OMa2/0DNu/9F0r3/SdS9/0rSt/9LzKz/TMik/1HLoP9a0aH/Y9ih/2vc + nv9w3Jf/cdqP/3PXiP931YH/etV8/37Vdv+A1HD/hdNq/5XUbv+Z027/icll/4HGYv+Dx1z/hcJU/4K3 + VP99qVX/fJ1J/3yTPP97izT/fIYv/4CDK/+EgSj/iIAn/4uBJv+MfBr/xr2W3dPPzZOHhIG9AAAAkAAA + AFoAAAA2AAAAHQAAADIPDw+RvLWwts7Z071K0L7/Psq0/0LKr/9HzK3/T9Ox/1jdtv9f5bf/Y+q0/2rt + r/9y7Kn/eeqj/4Hmnf+C4pT/gNyK/3/Tfv99zHP/e8Rp/3e7Yf9ysl3/b69h/3e2cf9zuHD/aa9Z/3Gn + Qv94nDT/dI4v/3KGKv90gyb/doIk/3d/I/94fCH/enog/3x4IP+AeCD/g3kg/4d6Iv+Idhf/xLuW3tbR + 0JWHhIG+AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvLWxuM/Z075W173/Utq7/1riv/9h6cL/aOzC/23t + v/9s6bP/aeCl/2nVl/9pzIz/bcSB/3C8d/9ts23/Z6lj/2SiXf9hnVv/XZpb/1yZXP9cnFv/ZaVZ/3aw + U/94pjv/cY8n/2+EJP9sgCX/bH4k/3B+I/92gCL/en8f/3p7Hv95eB7/eXcd/3t1Hv9+dR7/gHYf/4R3 + H/+FchX/w7qW3tfT0peHhYK/AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvbazuNHb1b9k3r//WNez/1bP + qP9Tx5z/U7+U/1O5jv9Ss4T/UKp2/1Cha/9Tnmb/Wp5j/2ChZP9gn2L/XJld/1yYXP9cmFf/XphQ/2Sa + R/9nmDr/cJkv/32dKf92jyT/an0h/2p9If9ufyD/cn4e/3V+Hf98gB3/fX8c/3t6HP95dhz/eHQb/3lz + HP97cxz/fXQc/4J0Hf+CbxL/wrmV3tjU1JiIhoPAAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+Qvbe1udDY + 0sBPt5b/QauH/0Khff9CnXT/RZ1y/0iecP9Lnm3/S5pn/0yVYv9QlGD/WZlf/2KhXv9ln1n/YplS/2WZ + TP9nmEP/aJQ5/2aNLP9mhST/dI0i/3+WI/9yhx//aXkc/2x7G/9xfhr/dYEa/3qAGv+Agxr/f4AZ/3x7 + Gv95dhr/eHIZ/3hxGv95cRn/fHEa/4ByG/+AbBD/wbiU39nW1pqIhoPAAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+Qvrq2utDW0MFJo4D/P5xz/0KVbP9BkWb/RJJl/0eVZ/9LmGb/TZZh/0+TW/9UlFf/X5pU/2ui + U/9uoUz/bZtD/2+YO/9oji//ZIQl/2Z/IP9ugB3/e40e/32QHv9xgRv/a3kY/298F/90gRf/eYMY/36D + F/+Ehhj/g4IY/358GP96dhj/d3IY/3dwGP94bxj/em8Y/31wGf99ag7/wbiU4NzY15uJh4TBAAAAkAAA + AFoAAAA2AAAAHQAAADIPDw6Qv7q3u9DWz8FJnnT/QJdq/0KPZP9Di1//RYxd/0mQXP9Ok1r/UJNW/1OS + Uf9ak0z/aJxI/3ilRP96oT3/b5Qx/2yMKP9pgyH/a4Ac/219Gf9wfhj/eosa/3yOGv9xfxf/bnwW/3J/ + Ff96hBX/fYMW/4GFFv+Hhxb/hYMW/398Ff97dRb/eHIW/3dvFv93bhb/eG4W/3xuF/97aAz/wLiU4N3Z + 2JuJh4TBAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6Qv7u4u9DWz8JLmm3/QpRh/0SNWv9Fh1P/SYhR/0yL + T/9Rjk7/V5RK/12XRv9mmUD/dqI8/4GmNf93mCz/booj/3OKHv9yhBr/cH8V/257FP9ygBb/fY8Y/36P + GP9ygBT/cn4U/3iDFP+AiBT/foUT/4aIFP+IiBT/hYMU/398E/98dhP/eXMU/3hwFP93bRX/d20V/3tt + Ff94Zgr/wLeT4N3Z2p2KiIXBAAAAkAAAAFoAAAA2AAAAHQAAADIODg6QwLy5vNHWz8JOmGP/RpNW/0eK + UP9Igkj/SoJG/1CIQ/9blEL/ZJs+/2qfO/9zoTX/eJ0s/32aJP95kiD/doob/3uMGf92hRb/cYAU/258 + Ev92hRP/g5MV/4WSFf92gxL/eIMS/3+HEv+EjBL/gYcR/4mKEf+IiRL/hIMS/4B8EP98dxH/e3QS/3lx + E/93bhP/eG0T/3lsFP93ZQn/wLeT4d7a252KiIXCAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6QwLy5vNHW + zcNRlFj/SZJN/0yIR/9MgD//VYs8/2CXOv9lmDf/bqU1/3CgL/9tjiX/d5Eg/4OaHv9/khz/e4sX/4KN + Fv96hhT/dIAS/3N/Ef9/ixP/i5kU/4qVFP98hhH/fogR/4WNEf+GjRH/hYkO/4mLD/+IiA//hIEQ/398 + D/99eA//fXYQ/3xzEf96bxL/eW0S/3ptEv93Zgf/wLiS4d7a256LiIbCAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDg6QwLy6vNLVzcNUklD/S5BD/1OOP/9elTr/YZQ0/2WYMf9urC//apgn/2WCIP9wiR7/f5Uc/4qb + Gv+Fkhr/gIsV/4SNE/98hhL/eIEP/3mDEP+GkhL/kp4S/4uWEf+Aig//gosO/4qREP+IjQ//iYsN/4uM + Df+Ihgz/hIEO/4B7Df9/eA3/gXgP/4B1D/9+chD/fW4R/3xtEf95aAb/wbmS4d/c3J+LiYbCAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Rwby6vdLVzMRVkUf/WZ89/2WjOv9gjzD/ZKAu/2muLf9ljST/ZH0f/2uE + Hf93jRv/hZYY/4+bF/+Ikhr/gooS/4OMEP99hg7/eoIO/36HDv+NlxD/l6AQ/42VD/+FjQ3/h44N/4+U + D/+IjA7/jYwM/46KDP+JhAr/gn8M/396C/+BeAz/g3gN/4J1Df+Acw7/fm8P/31uD/98awT/wruS4d/c + 3J+LiYbDAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RwLy7vtPWzMRjo0L/YaY2/1+XMf9lri7/YqQp/1x+ + If9lgB7/aoIc/2+FGv99jRf/i5YV/5KaFv+JkBj/gogP/4OLDf9/hgz/fIML/4OKDP+Umw7/nKEP/42T + Df+Ijgz/jJEM/5CWDf+Liwz/kY4K/4+KC/+Jgwn/gn0K/4B5Cv+CeAv/g3gM/4N2Df+Acw3/f28N/35v + Df9+bgP/w72S4d7c3KCLiYbDAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Rwr27vdTYzMRfmTv/W6Ew/2a+ + M/9emCj/WHUf/197Hf9ogxv/bIIY/3KFF/+AjhT/jZcT/5KZFv+IjhX/gogM/4WJDP+AhQr/f4UJ/4iO + C/+ang3/naEN/42SC/+LkAv/kZUL/5KUC/+OjAn/lI8J/4+JCf+Jgwj/g30J/4F5CP+DeQj/g3gK/4J2 + C/9/cgz/fm8L/4BxDP+AcQL/xL6R4d/b3KCLiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Qwr28vtPU + y8Rgojn/YcEx/1uXKf9Zdx//W3gb/2F8Gf9rgxf/bYEV/3WFE/+DjhL/j5YP/5KXE/+HjBL/g4gK/4WJ + Cf+ChQj/gYYI/46SCP+eoQv/naAL/42RCf+OkQr/lpgK/5ORCf+Sjgj/lI8I/4+JCP+Jggf/g30G/4F6 + Bv+DeQf/gncJ/4F0Cv9+cQr/fW8J/4ByC/+BcwD/xL+R4t3a26GKiIXEAAAAjwAAAFoAAAA2AAAAHQAA + ADIPDw+Qwby8v9XczMVhuDf/VpEl/1qFIv9bfBz/XHcZ/2J7Fv9rgRT/b4AR/3eFEP+FjRD/jpUL/5GV + EP+GihD/g4YH/4WIB/+ChAf/hIYH/5SVB/+hogr/nJ0J/5GRB/+Tkgj/mZgJ/5KPCP+VkAf/lY8H/4+I + B/+Jggb/hH0F/4J6Bf+CeAb/gnYH/350CP97cAj/e3AI/4F0Cv+BdQD/xL+R4t3Y26KKiIXEAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Qwb69v9TWy8ZZhCz/Voof/1yJIP9cexn/XHYW/2N5FP9sfxH/bn8O/3mE + Df+EjQz/jZMI/5GUEP+FiQ3/hIUF/4aGBf+ChAb/hocF/5iYBv+jpAb/m5oH/5ORB/+WlQb/mZcH/5KP + Bf+XkQb/lY4F/46HBv+IgQX/hHwE/4N7BP+CeAX/f3UG/3xyBv96bwb/e3EG/4J2Cf+CdwD/xL+Q4tzZ + 26KKiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw769v9TVy8ZXgin/V4sc/1yKHv9behj/XXQV/2N3 + Ev9rfA//b30N/3mCDP+Eiwv/jJEI/5CSEv+Ehgz/g4QD/4WFBf+CgwX/iokF/5uaBv+jpAX/mJYF/5OQ + Bv+Ylgb/lpMG/5SPBf+YkQb/k4sG/42EBv+HfwT/hHwD/4N7BP+AeAX/fXQE/3pwBf93bgb/enEG/4B2 + CP+CdwD/xMCP49zZ26OKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw7++wNXVzMZYgCj/Voob/12K + G/9cehb/XXIT/2J1EP9rew7/bXwM/3iBC/+Eigr/io8H/46RE/+ChAn/gYID/4ODBf+Cggb/jYsF/52c + Bf+iogb/lZMF/5OQBv+YlQb/k48G/5WOBv+Xjwb/kIkG/4uCBv+FfQT/g3wD/4N6Bf9/dQX/enEE/3Vu + BP90bgX/eHEG/393CP+BeQD/xMGO49vZ26SKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6RxMC+wNXW + zMZZfib/V4kY/16KGf9behX/W3AS/2JzD/9peQz/bHoL/3eACf+DiQj/io0H/46QFf+Aggj/gIED/4GC + BP+BgQX/j40F/5+dBv+hngX/lI8G/5WQBv+YkwX/kosF/5aOBf+VjAb/j4YF/4iABf+EewP/g3sE/4J4 + Bf9+dAT/d3AE/3JtBP9ybQT/d3IF/3x3B/+AeQD/wb6N49vY26SJiIXGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QxMC/wNbWzMZZfCP/WIYV/16KGP9ceRT/XG8Q/2FxDf9odwz/bXgK/3Z/CP+Bhwj/iYsH/42O + Ff9+gAf/f4AE/3+AA/+CgQT/ko8G/6CeBv+emQb/kowH/5WPBv+VkAX/kYkG/5eMBv+TiQX/jYMF/4d+ + BP+DegP/g3kE/4B2BP98cgT/dW4E/3BrA/9xbQT/dXEF/3t4Bv97dwD/vbqN49za26WJiIXGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QxcG/wNbXzcdXeiH/V4QT/16JFv9deRL/W24N/19wDP9ndAv/bHYJ/3V9 + B/+Bhgf/iIkH/4yNFv98fgX/fn4D/35+A/+DgAT/lJEF/6GeBv+alAb/kYkH/5WOBf+SiwX/kIcH/5aK + Bv+QhQX/i4EF/4Z8BP+CeAX/gXYF/35zBP96cAT/c2wE/29qA/9xbQP/dHEE/3t6Bf9zcAD/uriN493a + 26WKiIXGAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6Qx8PBwdbXzcdWeB//V4IS/16IE/9ceRD/WmwN/15u + C/9lcgn/anUH/3V8B/+BhAb/hocG/4uLGP96ewX/fH0E/3x8A/+EgQT/lZMF/6GdBv+Vjwb/kIgF/5ON + Bf+PhwX/kYYG/5OHBf+MggX/ioAE/4R5BP+BdwX/gHUE/3xyBP92bgT/cGsE/29qA/9wbAP/c3ED/3l4 + Bf9taQD/ubWN493a26WKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8PCwdjYzsdWdR//VX8P/12G + Ef9cdw7/WWoN/15sCv9jcQj/anMG/3R7Bv9/gwX/hIUG/4mJGf94eAP/ensE/3p6BP+FggT/l5QE/56b + Bf+PigX/j4YG/5CJBf+MgwX/kYUG/5CDBf+KfwT/iH8D/4F3Bf+AdQT/fnME/3pwBP9zbAT/cGoD/29q + A/9vbAP/dHID/3RzBf9nYgD/trOM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8TDwdjY + zsdVch3/U3oN/1yEEP9cdg3/WWkL/11rCP9icAf/aXEG/3N5Bv9+gQT/goQH/4aHGf91dgL/eHgF/3l4 + BP+GgwP/mZQF/5uXBf+MhQX/jYYF/42FBP+JgAT/j4ME/4uABP+JfgT/hXsE/390BP9/dAT/fHIE/3du + BP9yawP/b2oD/29rA/9vbAP/c3MD/25tA/9hXQD/tLKM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QycXEwdnZz8dUbxv/UnYM/1uBDv9cdQv/WWkJ/1tpB/9gbgX/aHEF/3J3Bv97fgP/gIII/4SF + GP9ycwL/dnYF/3h3BP+IhAT/mJQF/5aSBP+IggX/ioMF/4iAA/+IfwT/jYEE/4d9BP+HfgT/gXgE/39z + BP99cgT/enAE/3RtBP9wagP/bmoD/25rA/9wbQP/cXED/2lnAv9cWAD/s7CL497a3KaKiIbGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QysfFwdna0MhTbRn/UXIL/1t+Df9bdAr/WGgI/1pnB/9fbAb/Zm8F/3F2 + BP95fAL/f4EK/4KCFv9wcQL/dXQE/3d2BP+JhQT/mJQF/5GMBf+GfwX/hn8E/4N7BP+IfgT/iX4E/4V7 + A/+GfAT/fXQE/31yBP97cQT/d24E/3FrA/9uaQL/bWoC/21qAv9xbwP/bWwD/2RiA/9XVAD/sa6L5N/b + 3KiKiIbHAAAAjwAAAFoAAAA2AAAAGwAAADEODg6PysfFwdjYzsZRaRb/TW0G/1d6Cf9YcQb/VGUE/1dk + BP9caAP/ZGwB/25zAP92eQD/fX8K/31+Ev9sbQD/cXAB/3Z1Af+IhQL/lZEC/4uEAf+BewL/f3gB/393 + Av+EewH/hHoB/4N4Af+CeAH/eG8B/3lvAv93bgH/cmsC/21oAP9rZwD/a2cA/2tpAP9ubQD/ZmUA/2Bd + AP9STgD/rquJ497b3KeKiIbHAAAAjQAAAFgAAAA1AAAAGAAAACwQDw+MysbEv9LRx71WbR3+U3AP/1x7 + EP9ddQ7/WmoN/11pDv9jbQz/anEK/3N4C/96fAr/gYMX/36BGv9wcQj/dXQL/3t7DP+Niw3/l5QN/4qE + Df+Efg3/f3kM/4N8DP+IgAv/hnwM/4h/DP+CeQz/fXQM/310DP95cwz/dW8L/3JtCv9xbQn/cW0K/3Jx + Cv9xcAr/aWgL/2RiCv9WUgf/qaaH2tjV1aGMiojGAAAAiQAAAFIAAAAwAAAAFAAAACQLCwuCv7y4v9XR + y6PMzcDB0tTGzNTWx87V1sfO1NXHztXVx87V1cfP1tbHztjXx87Y18fO2dfIztfWx8zV1MXL1dPDytXU + w8nX1cPJ2NbDydbUw8jW08PI1dPDydbTw8nX1MPJ1tPDytfUxMrW1MTK1tPDytbTxMvW08TL1tTFy9bT + xcvV0sPL1NHDzNPRwszS0cLM0c/CzNHOwszJx7vFxsK7sM3IxJmEgoDGAAAAewAAAEYAAAAoAAAADgAA + ABoAAABTaWhmx9jUzrLg3Nmr4t3br+Ld26/j3tuv497br+Pf26/i39uw4d/br+He26/h3duv4Nvart7a + 2Kzc2Nap29bTqNnV0qfY1NGn2NPRp9jV0abZ1NGm2tTRpdnV0abZ1NKn2dTTqNrW1Kjb1tSo29bUqdzW + 1and2Nap3dnWqd3X1qra1tSq2NTTrNfU0qzX09Ks19PSrNfT0q3W0c+r0MvHp766tr0xMTC4AAAAVwAA + ADUAAAAeAAAACQAAABIAAAAnAAAAZzMzMqtPTk20TEtKs0tLSrRMS0q0TEtKtExLSrRMS0q0S0tKtEtL + SrRLS0q0S0tKs0tKSbNKSUmzS0pIs0pKSbNKSkizSkpIs0pKSLNLSUizS0pJsktKSbJLSkmzS0pJs0tK + SbNLSkmzTEpJs0xKSbNMSkmzTEpJs0xKSbNLSkmzS0pJs0tKSbNLSkmzS0pJs0tJSbNLSkm0TUxLth4d + HaMAAABeAAAAOAAAACUAAAATAAAABQAAAAsAAAAWAAAAIQAAAC0AAAA3AAAAOgAAADoAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADoAAAA7AAAAOgAAADMAAAArAAAAIQAAABUAAAALAAAAAgAAAAQAAAAJAAAADgAAABMAAAAXAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGAAAABcAAAATAAAADgAAAAgAAAAEAAAAAAAAAAEAAAACAAAABAAA + AAcAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAkAAAAHAAAABAAAAAIAAAABAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBIAAAAAAAPIEKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ABEAAABAAAAAVwAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABXAAAATAAA + AB8EBAQ+VlRQlXNybqFqamaeZ2dinWZkYJxqaGOdcG5pnXFwa550cm2feXRxn350c597cW+efHVwnU1K + RZgAAQFUFw4NUI+5uMNY4+b0Xt7b9Gbh2PRv59bzf/La9JP84vSx/+r0z//p9Nv/4vTP/930yv/Z9N// + ufKnp5OvAwEEZRkPDk6Eu7nPLtvX/zrbz/9F4Mn/VOrF/2Xuvf9y667/guWe/4nciP+K1Hf/jM5v/5bO + b/+v2HT/paeTuwQCBmIZDxBPirmy0D/Wwf9Q273/W9yt/2vZm/9x0IT/csZw/33Eav99tlT/fqdG/4Cb + QP+FjjH/mZAz/6SfjL0FBQhjGBAST5G6rtFOyqT/VsCS/1mze/9mrGv/ZqFZ/2WXRP9zmDT/bYIh/3V9 + HP96eBn/d28X/4p7Jf+kno3ABQYJYxkTFlCOq5vTPpFi/0eLV/9WlE//b51B/26NKv9tgBn/d4YX/3N+ + Ff+ChhX/gH0W/3ZuFP+FdyH/pZ+OwQYGCWMZFBhQkKiR1EuNRv9dlDr/bZgu/4CWHv98iBT/eoUR/4SQ + Ev+CihD/iYoP/4F9D/97cQ//hHYc/6Wgj8MGBgljGBQZUJasidReozD/Y40i/3OHGP+MlRX/gYgO/4iP + Df+RmA3/jZEM/42JCv+Cewr/gXQK/4l6F/+noo/EBgYJYxgUGlCXroXVWI8f/2J4Ff97iBD/jZIO/4OF + CP+TlQf/mJkI/5WSCP+PiAb/g3oF/31yBf+KfhP/p6OOxQYGCWMZFhtQlaOB1VeCFf9idRD/eoQK/4qM + C/+CggT/mJYF/5iVBv+WkAX/jIQF/4J4BP92bgP/h4AR/6ajjcYGBgljGRYcUJaif9ZYgA//YHAM/3d/ + CP+Ghwv/gIAE/5mVBv+UjQb/kogG/4h9BP99cwT/cGsB/4B+D/+joYzGBgYKYxoXHVCWoH7XU3cG/1tq + Bf9yeAL/fX4I/317AP+TjgH/ioIB/4p+Af+AdQD/dWwA/21pAP90cgn/oJ2MyAcHCmQaGB1RoaiK1maC + HP9teh3/gYYb/4mKIf+Nixr/m5Yb/5KKG/+Uihv/i4Eb/4F7Gv9+exf/fHoi/6WilMcHBwpjBgYHMXp5 + dKCcnZG2mZiNtJqZjbWZl4yzmJaIsJiWiLCYlYiwmZaJsZmVirGYlYqylpSJs5mXjbRqaGadAQEBPQAA + AAUAAAAeAAAAKgAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAArAAAAIwAA + AAoAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxB + + + \ No newline at end of file diff --git a/OnTopReplica/MainForm_ChildForms.cs b/OnTopReplica/MainForm_ChildForms.cs new file mode 100644 index 0000000..0e43ad9 --- /dev/null +++ b/OnTopReplica/MainForm_ChildForms.cs @@ -0,0 +1,105 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Drawing; + +namespace OnTopReplica { + partial class MainForm { + + EventHandler RequestClosingHandler; + + const int SidePanelMargin = 1; + + /// + /// Opens a new side panel. + /// + /// The side panel to embed. + public void SetSidePanel(SidePanel panel) { + if (_currentSidePanel != null) { + CloseSidePanel(); + } + + _currentSidePanel = panel; + _currentSidePanel.OnFirstShown(this); + + //Add and show + _sidePanelContainer.Controls.Add(panel); + _sidePanelContainer.Visible = _sidePanelContainer.Enabled = true; + panel.Show(); + + int intHorzMargin = panel.Margin.Horizontal + _sidePanelContainer.Padding.Horizontal; //internal margins for sidepanel + int intVertMargin = panel.Margin.Vertical + _sidePanelContainer.Padding.Vertical; + + //Resize container + _sidePanelContainer.ClientSize = new Size( + panel.MinimumSize.Width + intHorzMargin, + ClientSize.Height + ); + + int rightHorzMargin = _sidePanelContainer.Width + SidePanelMargin; //horz margin between the two controls + + //Resize rest + MinimumSize = new Size( + 20 + panel.MinimumSize.Width + SidePanelMargin + intHorzMargin, + panel.MinimumSize.Height + intVertMargin + ); + ClientSize = new Size( + ClientSize.Width + rightHorzMargin, + ClientSize.Height + ); + ExtraPadding = new Padding(0, 0, rightHorzMargin, 0); + _thumbnailPanel.Size = new Size( + ClientSize.Width - rightHorzMargin, + ClientSize.Height + ); + _sidePanelContainer.Location = new Point( + ClientSize.Width - rightHorzMargin, + 0 + ); + + //Move window if needed + FixPositionAndSize(); + + //Hook event listener + if (RequestClosingHandler == null) + RequestClosingHandler = new EventHandler(SidePanel_RequestClosing); + panel.RequestClosing += RequestClosingHandler; + } + + /// + /// Closes the current side panel. + /// + public void CloseSidePanel() { + if (_currentSidePanel == null) + return; + + //Unhook listener + _currentSidePanel.RequestClosing -= RequestClosingHandler; + + //Remove side panel + _currentSidePanel.OnClosing(this); + _sidePanelContainer.Controls.Clear(); + _sidePanelContainer.Visible = _sidePanelContainer.Enabled = false; + _currentSidePanel = null; + + //Resize + MinimumSize = new Size(20, 20); + ClientSize = new Size( + ClientSize.Width - _sidePanelContainer.Width - SidePanelMargin, + ClientSize.Height + ); + ExtraPadding = new Padding(0); + _thumbnailPanel.Size = ClientSize; + } + + void SidePanel_RequestClosing(object sender, EventArgs e) { + CloseSidePanel(); + } + + void Thumbnail_CloneClick(object sender, CloneClickEventArgs e) { + Win32Helper.InjectFakeMouseClick(CurrentThumbnailWindowHandle.Handle, e); + } + + } +} diff --git a/OnTopReplica/MainForm_Gui.cs b/OnTopReplica/MainForm_Gui.cs new file mode 100644 index 0000000..b460479 --- /dev/null +++ b/OnTopReplica/MainForm_Gui.cs @@ -0,0 +1,128 @@ +using System.Drawing; +using System.Windows.Forms; +using VistaControls.TaskDialog; + +namespace OnTopReplica { + partial class MainForm { + + /// + /// Opens the context menu. + /// + public void OpenContextMenu() { + if (IsFullscreen) { + menuFullscreenContext.Show(MousePosition); + } + else { + menuContext.Show(MousePosition); + } + } + + private Point RecenterLocation(Control original, Control final) { + int origX = original.Location.X + original.Size.Width / 2; + int origY = original.Location.Y + original.Size.Height / 2; + + int finX = origX - final.Size.Width / 2; + int finY = origY - final.Size.Height / 2; + + //Check boundaries + var screen = Screen.FromControl(final); + if (finX < screen.WorkingArea.X) + finX = screen.WorkingArea.X; + if (finX + final.Size.Width > screen.WorkingArea.Width) + finX = screen.WorkingArea.Width - final.Size.Width; + if (finY < screen.WorkingArea.Y) + finY = screen.WorkingArea.Y; + if (finY + final.Size.Height > screen.WorkingArea.Height) + finY = screen.WorkingArea.Height - final.Size.Height; + + return new Point(finX, finY); + } + + private int ChromeBorderVertical { + get { + if (FormBorderStyle == _defaultBorderStyle) + return SystemInformation.FrameBorderSize.Height; + else + return 0; + } + } + + private int ChromeBorderHorizontal { + get { + if (FormBorderStyle == _defaultBorderStyle) + return SystemInformation.FrameBorderSize.Width; + else + return 0; + } + } + + /// + /// Displays an error task dialog. + /// + /// Main instruction of the error dialog. + /// Detailed informations about the error. + /// Expanded error codes/messages. + private void ShowErrorDialog(string mainInstruction, string explanation, string errorMessage) { + TaskDialog dlg = new TaskDialog(mainInstruction, Strings.ErrorGenericTitle, explanation) { + CommonIcon = TaskDialogIcon.Stop, + IsExpanded = false + }; + + if (!string.IsNullOrEmpty(errorMessage)) { + dlg.ExpandedInformation = Strings.ErrorGenericInfoText + errorMessage; + dlg.ExpandedControlText = Strings.ErrorGenericInfoButton; + } + + dlg.Show(this); + } + + /// + /// Ensures that the main form is visible (either closing the fullscreen mode or reactivating from task icon). + /// + public void EnsureMainFormVisible() { + //Reset special modes + IsFullscreen = false; + ClickThroughEnabled = false; + Opacity = 1.0; + + //Restore main form in platform with dependent method + Program.Platform.RestoreForm(this); + } + + /// + /// Opens a confirmation dialog to confirm whether to reset the main form or not. + /// + public void ResetMainFormWithConfirmation() { + var dlg = new TaskDialog(Strings.AskReset, Strings.AskResetTitle, Strings.AskResetContent); + dlg.UseCommandLinks = true; + dlg.CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, Strings.AskResetButtonOk), + new CustomButton(Result.Cancel, Strings.ButtonCancel) + }; + dlg.CommonIcon = TaskDialogIcon.Information; + + if (dlg.Show(this).CommonButton == Result.OK) { + ResetMainForm(); + } + } + + /// + /// Resets the main form to its initial state. + /// + public void ResetMainForm() { + //Reset form settings + UnsetThumbnail(); + CloseSidePanel(); + + //Reset location and size (edge of the screen, min size) + Point nuLoc = Screen.PrimaryScreen.WorkingArea.Location; + nuLoc.Offset(40, 40); + Location = nuLoc; + Size = new Size(240, 220); + + this.Show(); + this.Activate(); + } + + } +} diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs new file mode 100644 index 0000000..c0fa130 --- /dev/null +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -0,0 +1,234 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using VistaControls.TaskDialog; + +namespace OnTopReplica { + partial class MainForm { + + private void Menu_opening(object sender, CancelEventArgs e) { + //Cancel if currently in "fullscreen" mode or a side panel is open + if (IsFullscreen || _currentSidePanel != null) { + e.Cancel = true; + return; + } + + bool showing = _thumbnailPanel.IsShowingThumbnail; + + selectRegionToolStripMenuItem.Enabled = showing; + switchToWindowToolStripMenuItem.Enabled = showing; + resizeToolStripMenuItem.Enabled = showing; + chromeToolStripMenuItem.Checked = (FormBorderStyle == _defaultBorderStyle); + clickForwardingToolStripMenuItem.Checked = _thumbnailPanel.ReportThumbnailClicks; + chromeToolStripMenuItem.Enabled = showing; + clickThroughToolStripMenuItem.Enabled = showing; + clickForwardingToolStripMenuItem.Enabled = showing; + + } + + private void Menu_Windows_opening(object sender, CancelEventArgs e) { + _windowManager.Refresh(WindowManager.EnumerationMode.TaskWindows); + WindowListHelper.PopulateMenu(this, _windowManager, (ToolStrip)sender, + CurrentThumbnailWindowHandle, new EventHandler(Menu_Windows_itemclick)); + } + + void Menu_Windows_itemclick(object sender, EventArgs e) { + //Ensure the menu is closed + menuContext.Close(); + menuFullscreenContext.Close(); + menuWindows.Close(); + + //Get clicked item and window index from tag + ToolStripItem tsi = (ToolStripItem)sender; + + //Handle special "none" window + if (tsi.Tag == null) { + UnsetThumbnail(); + return; + } + + var selectionData = (WindowListHelper.WindowSelectionData)tsi.Tag; + SetThumbnail(selectionData.Handle, selectionData.Region); + } + + private void Menu_Switch_click(object sender, EventArgs e) { + if (CurrentThumbnailWindowHandle == null) + return; + + Program.Platform.HideForm(this); + Native.WindowManagerMethods.SetForegroundWindow(CurrentThumbnailWindowHandle.Handle); + } + + private void Menu_GroupSwitchMode_click(object sender, EventArgs e) { + SetSidePanel(new SidePanels.GroupSwitchPanel()); + } + + private void Menu_ClickForwarding_click(object sender, EventArgs e) { + if (Settings.Default.FirstTimeClickForwarding && !_thumbnailPanel.ReportThumbnailClicks) { + TaskDialog dlg = new TaskDialog(Strings.InfoClickForwarding, Strings.InfoClickForwardingTitle, Strings.InfoClickForwardingContent) { + CommonButtons = TaskDialogButton.Yes | TaskDialogButton.No + }; + if (dlg.Show(this).CommonButton == Result.No) + return; + + Settings.Default.FirstTimeClickForwarding = false; + } + + _thumbnailPanel.ReportThumbnailClicks = !_thumbnailPanel.ReportThumbnailClicks; + } + + private void Menu_ClickThrough_click(object sender, EventArgs e) { + ClickThroughEnabled = true; + } + + private void Menu_Opacity_opening(object sender, CancelEventArgs e) { + ToolStripMenuItem[] items = { + toolStripMenuItem1, + toolStripMenuItem2, + toolStripMenuItem3, + toolStripMenuItem4 + }; + + foreach (ToolStripMenuItem i in items) { + if ((double)i.Tag == this.Opacity) + i.Checked = true; + else + i.Checked = false; + } + } + + private void Menu_Opacity_click(object sender, EventArgs e) { + //Get clicked menu item + ToolStripMenuItem tsi = sender as ToolStripMenuItem; + + if (tsi != null) { + //Get opacity from the tag + this.Opacity = (double)tsi.Tag; + } + } + + private void Menu_Region_click(object sender, EventArgs e) { + SetSidePanel(new OnTopReplica.SidePanels.RegionPanel()); + } + + private void Menu_Resize_opening(object sender, CancelEventArgs e) { + if (!_thumbnailPanel.IsShowingThumbnail) + e.Cancel = true; + } + + private void Menu_Resize_Double(object sender, EventArgs e) { + FitToThumbnail(2.0); + } + + private void Menu_Resize_FitToWindow(object sender, EventArgs e) { + FitToThumbnail(1.0); + } + + private void Menu_Resize_Half(object sender, EventArgs e) { + FitToThumbnail(0.5); + } + + private void Menu_Resize_Quarter(object sender, EventArgs e) { + FitToThumbnail(0.25); + } + + private void Menu_Resize_Fullscreen(object sender, EventArgs e) { + IsFullscreen = true; + } + + private void Menu_Position_TopLeft(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Left - ChromeBorderHorizontal, + screen.WorkingArea.Top - ChromeBorderVertical + ); + } + + private void Menu_Position_TopRight(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, + screen.WorkingArea.Top - ChromeBorderVertical + ); + } + + private void Menu_Position_BottomLeft(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Left - ChromeBorderHorizontal, + screen.WorkingArea.Height - Size.Height + ChromeBorderVertical + ); + } + + private void Menu_Position_BottomRight(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, + screen.WorkingArea.Height - Size.Height + ChromeBorderVertical + ); + } + + private void Menu_Reduce_click(object sender, EventArgs e) { + //Hide form in a platform specific way + Program.Platform.HideForm(this); + } + + private void Menu_Chrome_click(object sender, EventArgs e) { + if (FormBorderStyle == _defaultBorderStyle) { + FormBorderStyle = FormBorderStyle.None; + Location = new Point { + X = Location.X + SystemInformation.FrameBorderSize.Width, + Y = Location.Y + SystemInformation.FrameBorderSize.Height + }; + } + else { + FormBorderStyle = _defaultBorderStyle; + Location = new Point { + X = Location.X - SystemInformation.FrameBorderSize.Width, + Y = Location.Y - SystemInformation.FrameBorderSize.Height + }; + } + + Program.Platform.OnFormStateChange(this); + Invalidate(); + } + + private void Menu_Language_click(object sender, EventArgs e) { + ToolStripItem tsi = (ToolStripItem)sender; + + string langCode = tsi.Tag as string; + + if (Program.ForceGlobalLanguageChange(langCode)) + this.Close(); + else + MessageBox.Show("Error"); + } + + private void Menu_About_click(object sender, EventArgs e) { + this.Hide(); + + using (var box = new AboutForm()) { + box.Location = RecenterLocation(this, box); + box.ShowDialog(); + Location = RecenterLocation(box, this); + } + + this.Show(); + } + + private void Menu_Close_click(object sender, EventArgs e) { + this.Close(); + } + + private void Menu_Fullscreen_ExitFullscreen_click(object sender, EventArgs e) { + IsFullscreen = false; + } + + } +} diff --git a/OnTopReplica/MessagePumpManager.cs b/OnTopReplica/MessagePumpManager.cs new file mode 100644 index 0000000..1ab23b7 --- /dev/null +++ b/OnTopReplica/MessagePumpManager.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Reflection; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica { + class MessagePumpManager : IDisposable { + + Dictionary _processors = new Dictionary(); + + public MainForm Form { get; private set; } + + /// + /// Instantiates all message pump processors and registers them on the main form. + /// + /// + public void Initialize(MainForm form) { + Form = form; + + //Register window shell hook + if (!HookMethods.RegisterShellHookWindow(form.Handle)) { + Console.Error.WriteLine("Failed to register shell hook window."); + } + else { +#if DEBUG + Console.WriteLine("Shell hook window registered successfully."); +#endif + } + + foreach (var t in Assembly.GetExecutingAssembly().GetTypes()) { + if (typeof(IMessagePumpProcessor).IsAssignableFrom(t) && !t.IsAbstract) { + var instance = (IMessagePumpProcessor)Activator.CreateInstance(t); + instance.Initialize(form); + + _processors[t] = instance; + +#if DEBUG + Console.WriteLine("Registered message pump processor: {0}", t); +#endif + } + } + } + + /// + /// Run the registered message pump processors. + /// + /// Message to process. + /// True if the message has been handled internally. + public bool PumpMessage(ref Message msg) { + foreach (var processor in _processors.Values) { + if (processor.Process(ref msg)) + return true; + } + + return false; + } + + /// + /// Get the instance of a registered message pump processor. + /// Throws if instance not found. + /// + public T Get() { + return (T)_processors[typeof(T)]; + } + + #region IDisposable Members + + public void Dispose() { + if (!HookMethods.DeregisterShellHookWindow(Form.Handle)) { + Console.Error.WriteLine("Failed to deregister shell hook window."); + } + + foreach (var processor in _processors.Values) { + processor.Dispose(); + } + _processors.Clear(); + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs new file mode 100644 index 0000000..b5f13d7 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.MessagePumpProcessors { + abstract class BaseMessagePumpProcessor : IMessagePumpProcessor { + + protected MainForm Form { get; private set; } + + #region IMessagePumpProcessor Members + + public void Initialize(MainForm form) { + Form = form; + } + + public abstract bool Process(ref Message msg); + + #endregion + + bool _isDisposed = false; + + protected abstract void Shutdown(); + + #region IDisposable Members + + public void Dispose() { + if (_isDisposed) + return; + + Shutdown(); + + _isDisposed = true; + } + + #endregion + + } +} diff --git a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs new file mode 100644 index 0000000..2bfd3e9 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs @@ -0,0 +1,143 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Diagnostics; +using System.Reflection; +using System.IO; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + class GroupSwitchManager : BaseMessagePumpProcessor { + + bool _active = false; + List _lruHandles; + + /// + /// Enables group switch mode. + /// + /// List of window handles to track. + public void EnableGroupMode(IList handles) { + if (handles == null || handles.Count == 0) + return; + + //Okey dokey, will now track handles + TrackHandles(handles); + _active = true; + } + + /// + /// Initializes the LRU sorted list of window handles. + /// + private void TrackHandles(IList handles) { + _lruHandles = new List(handles.Count); + var now = DateTime.Now; + + foreach(var h in handles){ + _lruHandles.Add(new WindowHandleWrapper { + WindowHandle = h, + LastTimeUsed = now + }); + } + } + + /// + /// Disables group switch mode. + /// + public void Disable() { + if (!_active) + return; + + _lruHandles = null; + _active = false; + } + + /// + /// Processes the message pump. + /// + public override bool Process(ref Message msg) { + if (_active && msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + if (hookCode == HookMethods.HSHELL_WINDOWACTIVATED || + hookCode == HookMethods.HSHELL_RUDEAPPACTIVATED) { + + IntPtr activeHandle = msg.LParam; + HandleForegroundWindowChange(activeHandle); + } + } + + return false; + } + + private void HandleForegroundWindowChange(IntPtr activeWindow) { +#if DEBUG + Console.Write("New active window (h {0}). ", activeWindow); +#endif + + //Seek window in tracked handles + WindowHandleWrapper activated = null; + foreach (var i in _lruHandles) { + if (i.WindowHandle.Handle == activeWindow) + activated = i; + } + + if (activated == null) { +#if DEBUG + //new foreground window is not tracked + Console.WriteLine("Active window is not tracked."); +#endif + return; + } + + //Update tracked handle + activated.LastTimeUsed = DateTime.Now; + _lruHandles.Sort(new LruDateTimeComparer()); + + //Get least recently used + var next = _lruHandles[0]; + +#if DEBUG + Console.WriteLine("Tracked. Switching to {0} (last use: {1}).", next.WindowHandle.Title, next.LastTimeUsed); +#endif + + Form.SetThumbnail(next.WindowHandle, null); + } + + protected override void Shutdown() { + Disable(); + } + + /// + /// Gets whether the group switch manager ia active. + /// + public bool IsActive { + get { + return _active; + } + } + + #region List sorting stuff + + class WindowHandleWrapper { + public WindowHandle WindowHandle { get; set; } + public DateTime LastTimeUsed { get; set; } + } + + class LruDateTimeComparer : IComparer { + + #region IComparer Members + + public int Compare(WindowHandleWrapper x, WindowHandleWrapper y) { + return x.LastTimeUsed.CompareTo(y.LastTimeUsed); + } + + #endregion + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs new file mode 100644 index 0000000..0acbe33 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// HotKey registration helper. + /// + class HotKeyManager : BaseMessagePumpProcessor { + + int _lastUsedKey = 0; + + Dictionary _handlers = new Dictionary(); + + public void RegisterHotKey(HotKeyModifiers mod, Keys keys, HotKeyMethods.HotKeyHandler handler) { + var newKey = ++_lastUsedKey; + + if (!HotKeyMethods.RegisterHotKey(Form.Handle, newKey, (int)mod, (int)keys)) { + Console.Error.WriteLine("Failed to register {0} hot key.", newKey); + return; + } + + _handlers[newKey] = handler; + } + + public override bool Process(ref Message msg) { + if (msg.Msg == HotKeyMethods.WM_HOTKEY) { + int keyId = msg.WParam.ToInt32(); + if (!_handlers.ContainsKey(keyId)) + return false; + + _handlers[keyId].Invoke(); + } + + return false; + } + + protected override void Shutdown() { + foreach (var key in _handlers.Keys) { + if (!HotKeyMethods.UnregisterHotKey(Form.Handle, key)) { + Console.Error.WriteLine("Failed to unregister {0} hot key.", key); + } + } + } + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/TitleSetter.cs b/OnTopReplica/MessagePumpProcessors/TitleSetter.cs new file mode 100644 index 0000000..23433bd --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/TitleSetter.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; +using System.Runtime.InteropServices; + +namespace OnTopReplica.MessagePumpProcessors { + class TitleSetter : BaseMessagePumpProcessor { + + const string Title = "OnTopReplica"; + + public override bool Process(ref Message msg) { + switch (msg.Msg) { + case WM.GETTEXT: { + Console.WriteLine("GetText"); + int maxLen = msg.WParam.ToInt32(); + byte[] strBytes = Encoding.UTF8.GetBytes(Title); + byte[] termBytes = new byte[strBytes.Length + 1]; + strBytes.CopyTo(termBytes, 0); + termBytes[strBytes.Length] = 0; + + Marshal.Copy(termBytes, 0, msg.LParam, Math.Min(maxLen, Title.Length + 1)); + } + goto case WM.GETTEXTLENGTH; + + case WM.GETTEXTLENGTH: + Console.WriteLine("GetTextLength"); + msg.Result = (IntPtr)Title.Length; + return true; + } + + return false; + } + + protected override void Shutdown() { + + } + + } +} diff --git a/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs new file mode 100644 index 0000000..4877931 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// Listens for shell events and closes the thumbnail if a cloned window is destroyed. + /// + class WindowKeeper : BaseMessagePumpProcessor { + + public override bool Process(ref Message msg) { + if (Form.CurrentThumbnailWindowHandle != null && + msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + if (hookCode == HookMethods.HSHELL_WINDOWDESTROYED) { + //Check whether the destroyed window is the one we were cloning + IntPtr destroyedHandle = msg.LParam; + if (destroyedHandle == Form.CurrentThumbnailWindowHandle.Handle) { + //Disable group switch mode, since a window of the group has been destroyed + Form.MessagePumpManager.Get().Disable(); + + //Disable cloning + Form.UnsetThumbnail(); + } + } + } + + return false; + } + + protected override void Shutdown() { + + } + } + +} diff --git a/OnTopReplica/Native/CommonControls.cs b/OnTopReplica/Native/CommonControls.cs new file mode 100644 index 0000000..bf2123c --- /dev/null +++ b/OnTopReplica/Native/CommonControls.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + public static class CommonControls { + + [DllImport("comctl32.dll", EntryPoint = "InitCommonControlsEx", CallingConvention = CallingConvention.StdCall)] + static extern bool InitCommonControlsEx(ref INITCOMMONCONTROLSEX iccex); + + const int ICC_STANDARD_CLASSES = 0x00004000; + const int ICC_WIN95_CLASSES = 0x000000FF; + + public static bool InitStandard() { + INITCOMMONCONTROLSEX ex = new INITCOMMONCONTROLSEX(); + ex.dwSize = 8; + ex.dwICC = ICC_STANDARD_CLASSES | ICC_WIN95_CLASSES; + + return InitCommonControlsEx(ref ex); + } + + } + + struct INITCOMMONCONTROLSEX { + public int dwSize; + public int dwICC; + } + +} diff --git a/OnTopReplica/Native/ErrorMethods.cs b/OnTopReplica/Native/ErrorMethods.cs new file mode 100644 index 0000000..f1863eb --- /dev/null +++ b/OnTopReplica/Native/ErrorMethods.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 error handling methods. + /// + static class ErrorMethods { + + [DllImport("kernel32.dll")] + static extern uint FormatMessage(uint dwFlags, IntPtr lpSource, + int dwMessageId, uint dwLanguageId, [Out] StringBuilder lpBuffer, + uint nSize, IntPtr Arguments); + + /// + /// Gets a string representation of a Win32 error code. + /// + /// ID of the Win32 error code. + /// String representation of the error. + public static string GetErrorMessage(int msgCode) { + var sb = new StringBuilder(300); + FormatMessage((uint)(0x00001000), IntPtr.Zero, msgCode, 0, sb, 299, IntPtr.Zero); + return sb.ToString(); + } + + /// + /// Gets a string representation of the last Win32 error on this thread. + /// + public static string GetLastErrorMessage() { + int errorCode = Marshal.GetLastWin32Error(); + return GetErrorMessage(errorCode); + } + + } +} diff --git a/OnTopReplica/Native/HT.cs b/OnTopReplica/Native/HT.cs new file mode 100644 index 0000000..231e928 --- /dev/null +++ b/OnTopReplica/Native/HT.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Win32 Hit Testing codes. + /// + static class HT { + public const int TRANSPARENT = -1; + public const int CLIENT = 1; + public const int CAPTION = 2; + } +} diff --git a/OnTopReplica/Native/HookMethods.cs b/OnTopReplica/Native/HookMethods.cs new file mode 100644 index 0000000..3b6f7fc --- /dev/null +++ b/OnTopReplica/Native/HookMethods.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + + /// + /// Helpers for interop with native Windows hooks. + /// + static class HookMethods { + + static HookMethods() { + WM_SHELLHOOKMESSAGE = RegisterWindowMessage("SHELLHOOK"); + if (WM_SHELLHOOKMESSAGE == 0) + Console.Error.WriteLine("Failed to register SHELLHOOK Windows message."); + } + + public static int WM_SHELLHOOKMESSAGE { + get; + private set; + } + + public const int HSHELL_WINDOWACTIVATED = 4; + public const int HSHELL_RUDEAPPACTIVATED = HSHELL_WINDOWACTIVATED | HSHELL_HIGHBIT; + const int HSHELL_HIGHBIT = 0x8000; + public const int HSHELL_WINDOWDESTROYED = 2; + public const int HSHELL_WINDOWCREATED = 1; + + /// + /// Registers the WM_ID for a window message. + /// + /// Name of the window message. + [DllImport("User32.dll")] + public static extern int RegisterWindowMessage(string wndMessageName); + + /// + /// Registers a window as a shell hook window. + /// + [DllImport("User32.dll")] + public static extern bool RegisterShellHookWindow(IntPtr hwnd); + + /// + /// Deregisters a window as a shell hook window. + /// + [DllImport("User32.dll")] + public static extern bool DeregisterShellHookWindow(IntPtr hwnd); + + } +} diff --git a/OnTopReplica/Native/HotKeyMethods.cs b/OnTopReplica/Native/HotKeyMethods.cs new file mode 100644 index 0000000..8aea7f1 --- /dev/null +++ b/OnTopReplica/Native/HotKeyMethods.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Windows.Forms; + +namespace OnTopReplica.Native { + + [Flags] + public enum HotKeyModifiers : int { + Alt = 0x1, + Control = 0x2, + Shift = 0x4, + Windows = 0x8 + } + + static class HotKeyMethods { + + public delegate void HotKeyHandler(); + + public const int WM_HOTKEY = 0x312; + + [DllImport("user32.dll")] + public static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vlc); + + [DllImport("user32.dll")] + public static extern bool UnregisterHotKey(IntPtr hWnd, int id); + + public delegate void FormDelegate(HotKeyModifiers mod, Keys key, HotKeyHandler handler); + + } +} diff --git a/OnTopReplica/Native/ITaskBarList.cs b/OnTopReplica/Native/ITaskBarList.cs new file mode 100644 index 0000000..e4a53bb --- /dev/null +++ b/OnTopReplica/Native/ITaskBarList.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + [ComImport, + Guid("56fdf342-fd6d-11d0-958a-006097c9a090"), + InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] + public interface ITaskbarList { + /// + /// Initializes the taskbar list object. This method must be called before any other ITaskbarList methods can be called. + /// + void HrInit(); + + /// + /// Adds an item to the taskbar. + /// + /// A handle to the window to be added to the taskbar. + void AddTab([In] IntPtr hWnd); + + /// + /// Deletes an item from the taskbar. + /// + /// A handle to the window to be deleted from the taskbar. + void DeleteTab([In] IntPtr hWnd); + + /// + /// Activates an item on the taskbar. The window is not actually activated; the window's item on the taskbar is merely displayed as active. + /// + /// A handle to the window on the taskbar to be displayed as active. + void ActivateTab([In] IntPtr hWnd); + + /// + /// Marks a taskbar item as active but does not visually activate it. + /// + /// A handle to the window to be marked as active. + void SetActiveAlt([In] IntPtr hWnd); + } + + [ComImport] + [Guid("56fdf344-fd6d-11d0-958a-006097c9a090")] + public class CoTaskbarList { + } +} diff --git a/OnTopReplica/Native/MK.cs b/OnTopReplica/Native/MK.cs new file mode 100644 index 0000000..90c7e90 --- /dev/null +++ b/OnTopReplica/Native/MK.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Mouse click codes. + /// + static class MK { + public const int LBUTTON = 0x0001; + public const int RBUTTON = 0x0002; + public const int MBUTTON = 0x0010; + } +} diff --git a/OnTopReplica/Native/MessagingMethods.cs b/OnTopReplica/Native/MessagingMethods.cs new file mode 100644 index 0000000..cabe03e --- /dev/null +++ b/OnTopReplica/Native/MessagingMethods.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common methods for Win32 messaging. + /// + static class MessagingMethods { + + [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)] + public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + [Flags] + public enum SendMessageTimeoutFlags : uint { + AbortIfHung = 2, + Block = 1, + Normal = 0 + } + + [DllImport("user32.dll")] + public static extern IntPtr SendMessageTimeout(IntPtr hwnd, uint message, IntPtr wparam, IntPtr lparam, SendMessageTimeoutFlags flags, uint timeout, out IntPtr result); + + [return: MarshalAs(UnmanagedType.Bool)] + [DllImport("user32.dll", SetLastError = false)] + public static extern bool PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + public static IntPtr MakeLParam(int LoWord, int HiWord) { + return new IntPtr((HiWord << 16) | (LoWord & 0xffff)); + } + + } +} diff --git a/OnTopReplica/Native/Point.cs b/OnTopReplica/Native/Point.cs new file mode 100644 index 0000000..c34db85 --- /dev/null +++ b/OnTopReplica/Native/Point.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Native Point structure. + /// + [StructLayout(LayoutKind.Sequential)] + public struct NPoint { + public int X, Y; + + public NPoint(int x, int y) { + X = x; + Y = y; + } + + public NPoint(NPoint copy) { + X = copy.X; + Y = copy.Y; + } + + public static NPoint FromPoint(System.Drawing.Point point) { + return new NPoint(point.X, point.Y); + } + + public System.Drawing.Point ToPoint() { + return new System.Drawing.Point(X, Y); + } + + public override string ToString() { + return "{" + X + "," + Y + "}"; + } + } +} diff --git a/OnTopReplica/Native/Rectangle.cs b/OnTopReplica/Native/Rectangle.cs new file mode 100644 index 0000000..4934198 --- /dev/null +++ b/OnTopReplica/Native/Rectangle.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// A native Rectangle Structure. + [StructLayout(LayoutKind.Sequential)] + struct NRectangle { + public NRectangle(int left, int top, int right, int bottom) { + Left = left; + Top = top; + Right = right; + Bottom = bottom; + } + + public NRectangle(System.Drawing.Rectangle rect) { + Left = rect.X; + Top = rect.Y; + Right = rect.Right; + Bottom = rect.Bottom; + } + + public int Left; + public int Top; + public int Right; + public int Bottom; + + public int Width { + get { + return Right - Left; + } + } + public int Height { + get { + return Bottom - Top; + } + } + + public System.Drawing.Rectangle ToRectangle() { + return new System.Drawing.Rectangle(Left, Top, Right - Left, Bottom - Top); + } + + public System.Drawing.Size Size { + get { + return new System.Drawing.Size(Width, Height); + } + } + + } +} diff --git a/OnTopReplica/Native/WM.cs b/OnTopReplica/Native/WM.cs new file mode 100644 index 0000000..eddcd01 --- /dev/null +++ b/OnTopReplica/Native/WM.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Windows Message codes. + /// + static class WM { + public const int GETICON = 0x7f; + public const int SIZING = 0x214; + public const int NCHITTEST = 0x84; + public const int NCPAINT = 0x0085; + public const int LBUTTONDOWN = 0x0201; + public const int LBUTTONUP = 0x0202; + public const int LBUTTONDBLCLK = 0x0203; + public const int RBUTTONDOWN = 0x0204; + public const int RBUTTONUP = 0x0205; + public const int RBUTTONDBLCLK = 0x0206; + public const int NCLBUTTONUP = 0x00A2; + public const int NCLBUTTONDOWN = 0x00A1; + public const int NCLBUTTONDBLCLK = 0x00A3; + public const int NCRBUTTONUP = 0x00A5; + public const int SYSCOMMAND = 0x0112; + public const int GETTEXT = 0x000D; + public const int GETTEXTLENGTH = 0x000E; + } +} diff --git a/OnTopReplica/Native/WMSZ.cs b/OnTopReplica/Native/WMSZ.cs new file mode 100644 index 0000000..2052280 --- /dev/null +++ b/OnTopReplica/Native/WMSZ.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Win32 sizing codes (used by WM_SIZING message). + /// + static class WMSZ { + public const int LEFT = 1; + public const int RIGHT = 2; + public const int TOP = 3; + public const int BOTTOM = 6; + } +} diff --git a/OnTopReplica/Native/WindowManagerMethods.cs b/OnTopReplica/Native/WindowManagerMethods.cs new file mode 100644 index 0000000..967f2a6 --- /dev/null +++ b/OnTopReplica/Native/WindowManagerMethods.cs @@ -0,0 +1,88 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 Window Manager native methods. + /// + static class WindowManagerMethods { + + [DllImport("user32.dll")] + public static extern IntPtr GetForegroundWindow(); + + [DllImport("user32.dll")] + public static extern IntPtr RealChildWindowFromPoint(IntPtr parent, NPoint point); + + [return: MarshalAs(UnmanagedType.Bool)] + public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool IsWindowVisible(IntPtr hWnd); + + [DllImport("user32.dll")] + public static extern IntPtr GetDesktopWindow(); + + [DllImport("user32.dll")] + static extern bool ClientToScreen(IntPtr hwnd, ref NPoint point); + + /// + /// Converts a point in client coordinates of a window to screen coordinates. + /// + /// Handle to the window of the original point. + /// Point expressed in client coordinates. + /// Point expressed in screen coordinates. + public static NPoint ClientToScreen(IntPtr hwnd, NPoint clientPoint) { + NPoint localCopy = new NPoint(clientPoint); + + if (ClientToScreen(hwnd, ref localCopy)) + return localCopy; + else + return new NPoint(); + } + + [DllImport("user32.dll")] + static extern bool ScreenToClient(IntPtr hwnd, ref NPoint point); + + /// + /// Converts a point in screen coordinates in client coordinates relative to a window. + /// + /// Handle of the window whose client coordinate system should be used. + /// Point expressed in screen coordinates. + /// Point expressed in client coordinates. + public static NPoint ScreenToClient(IntPtr hwnd, NPoint screenPoint) { + NPoint localCopy = new NPoint(screenPoint); + + if (ScreenToClient(hwnd, ref localCopy)) + return localCopy; + else + return new NPoint(); + } + + [DllImport("user32.dll", CharSet = CharSet.Auto)] + public static extern IntPtr GetParent(IntPtr hWnd); + + [DllImport("user32.dll", SetLastError = false)] + public static extern bool SetForegroundWindow(IntPtr hwnd); + + public enum GetWindowMode : uint { + GW_HWNDFIRST = 0, + GW_HWNDLAST = 1, + GW_HWNDNEXT = 2, + GW_HWNDPREV = 3, + GW_OWNER = 4, + GW_CHILD = 5, + GW_ENABLEDPOPUP = 6 + } + + [DllImport("user32.dll")] + public static extern IntPtr GetWindow(IntPtr hwnd, GetWindowMode mode); + + } +} diff --git a/OnTopReplica/Native/WindowMethods.cs b/OnTopReplica/Native/WindowMethods.cs new file mode 100644 index 0000000..7a34af6 --- /dev/null +++ b/OnTopReplica/Native/WindowMethods.cs @@ -0,0 +1,127 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 methods for operating on windows. + /// + static class WindowMethods { + + [DllImport("user32.dll", SetLastError = true)] + public static extern bool GetClientRect(IntPtr handle, out NRectangle rect); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern int GetWindowTextLength(IntPtr hWnd); + + /// + /// Gets a window's text via API call. + /// + /// Window handle. + /// Title of the window. + public static string GetWindowText(IntPtr hwnd) { + int length = GetWindowTextLength(hwnd); + + if (length > 0) { + StringBuilder sb = new StringBuilder(length + 1); + if (WindowMethods.GetWindowText(hwnd, sb, sb.Capacity) > 0) + return sb.ToString(); + else + return String.Empty; + } + else + return String.Empty; + } + + public enum WindowLong { + WndProc = (-4), + HInstance = (-6), + HwndParent = (-8), + Style = (-16), + ExStyle = (-20), + UserData = (-21), + Id = (-12) + } + + public enum ClassLong { + Icon = -14, + IconSmall = -34 + } + + [Flags] + public enum WindowStyles : long { + None = 0, + Disabled = 0x8000000L, + Minimize = 0x20000000L, + MinimizeBox = 0x20000L, + Visible = 0x10000000L + } + + [Flags] + public enum WindowExStyles : long { + AppWindow = 0x40000, + Layered = 0x80000, + NoActivate = 0x8000000L, + ToolWindow = 0x80, + TopMost = 8, + Transparent = 0x20 + } + + public static IntPtr GetWindowLong(IntPtr hWnd, WindowLong i) { + if (IntPtr.Size == 8) { + return GetWindowLongPtr64(hWnd, i); + } + else { + return new IntPtr(GetWindowLong32(hWnd, i)); + } + } + + [DllImport("user32.dll", EntryPoint = "GetWindowLong")] + static extern int GetWindowLong32(IntPtr hWnd, WindowLong nIndex); + + [DllImport("user32.dll", EntryPoint = "GetWindowLongPtr")] + static extern IntPtr GetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex); + + public static IntPtr SetWindowLong(IntPtr hWnd, WindowLong i, IntPtr dwNewLong) { + if (IntPtr.Size == 8) { + return SetWindowLongPtr64(hWnd, i, dwNewLong); + } + else { + return new IntPtr(SetWindowLong32(hWnd, i, dwNewLong.ToInt32())); + } + } + + [DllImport("user32.dll", EntryPoint = "SetWindowLong")] + static extern int SetWindowLong32(IntPtr hWnd, WindowLong nIndex, int dwNewLong); + + [DllImport("user32.dll", EntryPoint = "SetWindowLongPtr")] + static extern IntPtr SetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex, IntPtr dwNewLong); + + #region Class styles + + [DllImport("user32.dll", EntryPoint = "GetClassLongPtrW")] + static extern IntPtr GetClassLong64(IntPtr hWnd, int nIndex); + + [DllImport("user32.dll", EntryPoint = "GetClassLongW")] + static extern int GetClassLong32(IntPtr hWnd, int nIndex); + + public static IntPtr GetClassLong(IntPtr hWnd, ClassLong i) { + if (IntPtr.Size == 8) { + return GetClassLong64(hWnd, (int)i); + } + else { + return new IntPtr(GetClassLong32(hWnd, (int)i)); + } + } + + #endregion + + [DllImport("user32.dll")] + public static extern IntPtr GetMenu(IntPtr hwnd); + + } +} diff --git a/OnTopReplica/Native/WindowsSevenMethods.cs b/OnTopReplica/Native/WindowsSevenMethods.cs new file mode 100644 index 0000000..587bf95 --- /dev/null +++ b/OnTopReplica/Native/WindowsSevenMethods.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + + static class WindowsSevenMethods { + + [DllImport("shell32.dll")] + internal static extern void SetCurrentProcessExplicitAppUserModelID( + [MarshalAs(UnmanagedType.LPWStr)] string AppID); + + [DllImport("shell32.dll")] + internal static extern void GetCurrentProcessExplicitAppUserModelID( + [Out(), MarshalAs(UnmanagedType.LPWStr)] out string AppID); + + } + +} diff --git a/OnTopReplica/NativeToolStripRenderer.cs b/OnTopReplica/NativeToolStripRenderer.cs new file mode 100644 index 0000000..b4d94f3 --- /dev/null +++ b/OnTopReplica/NativeToolStripRenderer.cs @@ -0,0 +1,587 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Diagnostics.CodeAnalysis; +using System.Windows.Forms; +using System.Windows.Forms.VisualStyles; +using System.Runtime.InteropServices; + +namespace Asztal.Szótár { + public enum ToolbarTheme { + Toolbar, + MediaToolbar, + CommunicationsToolbar, + BrowserTabBar + } + + /// + /// Renders a toolstrip using the UxTheme API via VisualStyleRenderer. Visual styles must be supported for this to work; if you need to support other operating systems use + /// + class UXThemeToolStripRenderer : ToolStripSystemRenderer { + /// + /// It shouldn't be necessary to P/Invoke like this, however a bug in VisualStyleRenderer.GetMargins forces my hand. + /// + static internal class NativeMethods { + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct MARGINS { + public int cxLeftWidth; + public int cxRightWidth; + public int cyTopHeight; + public int cyBottomHeight; + } + + [DllImport("uxtheme", ExactSpelling = true)] + public extern static Int32 GetThemeMargins(IntPtr hTheme, IntPtr hdc, int iPartId, int iStateId, int iPropId, IntPtr rect, out MARGINS pMargins); + } + + //See http://msdn2.microsoft.com/en-us/library/bb773210.aspx - "Parts and States" + #region Parts and States + enum MenuParts : int { + MENU_MENUITEM_TMSCHEMA = 1, + MENU_MENUDROPDOWN_TMSCHEMA = 2, + MENU_MENUBARITEM_TMSCHEMA = 3, + MENU_MENUBARDROPDOWN_TMSCHEMA = 4, + MENU_CHEVRON_TMSCHEMA = 5, + MENU_SEPARATOR_TMSCHEMA = 6, + MENU_BARBACKGROUND = 7, + MENU_BARITEM = 8, + MENU_POPUPBACKGROUND = 9, + MENU_POPUPBORDERS = 10, + MENU_POPUPCHECK = 11, + MENU_POPUPCHECKBACKGROUND = 12, + MENU_POPUPGUTTER = 13, + MENU_POPUPITEM = 14, + MENU_POPUPSEPARATOR = 15, + MENU_POPUPSUBMENU = 16, + MENU_SYSTEMCLOSE = 17, + MENU_SYSTEMMAXIMIZE = 18, + MENU_SYSTEMMINIMIZE = 19, + MENU_SYSTEMRESTORE = 20 + } + + enum MenuBarStates : int { + MB_ACTIVE = 1, + MB_INACTIVE = 2 + } + + enum MenuBarItemStates : int { + MBI_NORMAL = 1, + MBI_HOT = 2, + MBI_PUSHED = 3, + MBI_DISABLED = 4, + MBI_DISABLEDHOT = 5, + MBI_DISABLEDPUSHED = 6 + } + + enum MenuPopupItemStates : int { + MPI_NORMAL = 1, + MPI_HOT = 2, + MPI_DISABLED = 3, + MPI_DISABLEDHOT = 4 + } + + enum MenuPopupCheckStates : int { + MC_CHECKMARKNORMAL = 1, + MC_CHECKMARKDISABLED = 2, + MC_BULLETNORMAL = 3, + MC_BULLETDISABLED = 4 + } + + enum MenuPopupCheckBackgroundStates : int { + MCB_DISABLED = 1, + MCB_NORMAL = 2, + MCB_BITMAP = 3 + } + + enum MenuPopupSubMenuStates : int { + MSM_NORMAL = 1, + MSM_DISABLED = 2 + } + + enum MarginTypes : int { + TMT_SIZINGMARGINS = 3601, + TMT_CONTENTMARGINS = 3602, + TMT_CAPTIONMARGINS = 3603 + } + + const int RP_BACKGROUND = 6; + #endregion + + #region Theme helpers + Padding GetThemeMargins(IDeviceContext dc, MarginTypes marginType) { + NativeMethods.MARGINS margins; + try { + IntPtr hDC = dc.GetHdc(); + if (0 == NativeMethods.GetThemeMargins(renderer.Handle, hDC, renderer.Part, renderer.State, (int)marginType, IntPtr.Zero, out margins)) + return new Padding(margins.cxLeftWidth, margins.cyTopHeight, margins.cxRightWidth, margins.cyBottomHeight); + return new Padding(-1); + } finally { + dc.ReleaseHdc(); + } + } + + private static int GetItemState(ToolStripItem item) { + bool pressed = item.Pressed; + bool hot = item.Selected; + + if (item.Owner.IsDropDown) { + if (item.Enabled) + return hot ? (int)MenuPopupItemStates.MPI_HOT : (int)MenuPopupItemStates.MPI_NORMAL; + return hot ? (int)MenuPopupItemStates.MPI_DISABLEDHOT : (int)MenuPopupItemStates.MPI_DISABLED; + } else { + if (pressed) + return item.Enabled ? (int)MenuBarItemStates.MBI_PUSHED : (int)MenuBarItemStates.MBI_DISABLEDPUSHED; + if (item.Enabled) + return hot ? (int)MenuBarItemStates.MBI_HOT : (int)MenuBarItemStates.MBI_NORMAL; + return hot ? (int)MenuBarItemStates.MBI_DISABLEDHOT : (int)MenuBarItemStates.MBI_DISABLED; + } + } + #endregion + + #region Theme subclasses + public ToolbarTheme Theme { + get; set; + } + + private string RebarClass { + get { + return SubclassPrefix + "Rebar"; + } + } + + private string ToolbarClass { + get { + return SubclassPrefix + "ToolBar"; + } + } + + private string MenuClass { + get { + return SubclassPrefix + "Menu"; + } + } + + private string SubclassPrefix { + get { + switch (Theme) { + case ToolbarTheme.MediaToolbar: return "Media::"; + case ToolbarTheme.CommunicationsToolbar: return "Communications::"; + case ToolbarTheme.BrowserTabBar: return "BrowserTabBar::"; + default: return string.Empty; + } + } + } + + private VisualStyleElement Subclass(VisualStyleElement element) { + return VisualStyleElement.CreateElement(SubclassPrefix + element.ClassName, + element.Part, element.State); + } + #endregion + + VisualStyleRenderer renderer; + + public UXThemeToolStripRenderer(ToolbarTheme theme) { + Theme = theme; + renderer = new VisualStyleRenderer(VisualStyleElement.Button.PushButton.Normal); + } + + #region Borders + protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPBORDERS, 0); + if (e.ToolStrip.IsDropDown) { + Region oldClip = e.Graphics.Clip; + + //Tool strip borders are rendered *after* the content, for some reason. + //So we have to exclude the inside of the popup otherwise we'll draw over it. + Rectangle insideRect = e.ToolStrip.ClientRectangle; + insideRect.Inflate(-1, -1); + e.Graphics.ExcludeClip(insideRect); + + renderer.DrawBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.AffectedBounds); + + //Restore the old clip in case the Graphics is used again (does that ever happen?) + e.Graphics.Clip = oldClip; + } + } + #endregion + + #region Backgrounds + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { + int partId = e.Item.Owner.IsDropDown ? (int)MenuParts.MENU_POPUPITEM : (int)MenuParts.MENU_BARITEM; + renderer.SetParameters(MenuClass, partId, GetItemState(e.Item)); + + Rectangle bgRect = e.Item.ContentRectangle; + + Padding content = GetThemeMargins(e.Graphics, MarginTypes.TMT_CONTENTMARGINS), + sizing = GetThemeMargins(e.Graphics, MarginTypes.TMT_SIZINGMARGINS), + caption = GetThemeMargins(e.Graphics, MarginTypes.TMT_CAPTIONMARGINS); + + if (!e.Item.Owner.IsDropDown) { + bgRect.Y = 0; + bgRect.Height = e.ToolStrip.Height; + bgRect.Inflate(-1, -1); //GetMargins here perhaps? + } + + renderer.DrawBackground(e.Graphics, bgRect, bgRect); + } + + protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e) { + //Draw the background using Rebar & RP_BACKGROUND (or, if that is not available, fall back to + //Rebar.Band.Normal) + if (VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement(RebarClass, RP_BACKGROUND, 0))) { + renderer.SetParameters(RebarClass, RP_BACKGROUND, 0); + } else { + renderer.SetParameters(RebarClass, 0, 0); + //renderer.SetParameters(VisualStyleElement.Taskbar.BackgroundBottom.Normal); + //renderer.SetParameters(Subclass(VisualStyleElement.Rebar.Band.Normal)); + } + + if (renderer.IsBackgroundPartiallyTransparent()) + renderer.DrawParentBackground(e.Graphics, e.ToolStripPanel.ClientRectangle, e.ToolStripPanel); + + renderer.DrawBackground(e.Graphics, e.ToolStripPanel.ClientRectangle); + + //Draw the etched edges of each row. + //renderer.SetParameters(Subclass(VisualStyleElement.Rebar.Band.Normal)); + //foreach (ToolStripPanelRow row in e.ToolStripPanel.Rows) { + // Rectangle rowBounds = row.Bounds; + // rowBounds.Offset(0, -1); + // renderer.DrawEdge(e.Graphics, rowBounds, Edges.Top, EdgeStyle.Etched, EdgeEffects.None); + //} + + e.Handled = true; + } + + //Render the background of an actual menu bar, dropdown menu or toolbar. + protected override void OnRenderToolStripBackground(System.Windows.Forms.ToolStripRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPBACKGROUND, 0); + } else { + //It's a MenuStrip or a ToolStrip. If it's contained inside a larger panel, it should have a + //transparent background, showing the panel's background. + + if (e.ToolStrip.Parent is ToolStripPanel) { + //The background should be transparent, because the ToolStripPanel's background will be visible. + //(Of course, we assume the ToolStripPanel is drawn using the same theme, but it's not my fault + //if someone does that.) + return; + } else { + //A lone toolbar/menubar should act like it's inside a toolbox, I guess. + //Maybe I should use the MenuClass in the case of a MenuStrip, although that would break + //the other themes... + if(VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement(RebarClass, RP_BACKGROUND, 0))) + renderer.SetParameters(RebarClass, RP_BACKGROUND, 0); + else + renderer.SetParameters(RebarClass, 0, 0); + } + } + + if (renderer.IsBackgroundPartiallyTransparent()) + renderer.DrawParentBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.ToolStrip); + + renderer.DrawBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.AffectedBounds); + } + + protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e) { + //e.Graphics.FillRectangle(Brushes.RosyBrown, e.ToolStripContentPanel.ClientRectangle); + //base.OnRenderToolStripContentPanelBackground(e); + } + + //Some sort of chevron thing? + //protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e) { + // base.OnRenderOverflowButtonBackground(e); + //} + #endregion + + #region Text + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { + int partId = e.Item.Owner.IsDropDown ? (int)MenuParts.MENU_POPUPITEM : (int)MenuParts.MENU_BARITEM; + renderer.SetParameters(MenuClass, partId, GetItemState(e.Item)); + Color color = renderer.GetColor(ColorProperty.TextColor); + + if(e.Item.Owner.IsDropDown || e.Item.Owner is MenuStrip) + e.TextColor = color; + + base.OnRenderItemText(e); + } + #endregion + + #region Glyphs + + //protected override void OnRenderGrip(ToolStripGripRenderEventArgs e) { + // if (e.GripStyle == ToolStripGripStyle.Visible) { + // renderer.SetParameters(VisualStyleElement.Rebar.Gripper.Normal); + // renderer.DrawBackground(e.Graphics, e.GripBounds, e.AffectedBounds); + // } + //} + + protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPGUTTER, 0); + Rectangle displayRect = e.ToolStrip.DisplayRectangle, + marginRect = new Rectangle(0, displayRect.Top, displayRect.Left, displayRect.Height); + //e.Graphics.DrawRectangle(Pens.Black, marginRect); + renderer.DrawBackground(e.Graphics, marginRect, marginRect); + } + } + + protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPSEPARATOR, 0); + Rectangle rect = new Rectangle(e.ToolStrip.DisplayRectangle.Left, 0, e.ToolStrip.DisplayRectangle.Width, e.Item.Height); + renderer.DrawBackground(e.Graphics, rect, rect); + } else { + base.OnRenderSeparator(e); + } + } + + protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { + ToolStripMenuItem item = e.Item as ToolStripMenuItem; + if (item != null) { + if (item.Checked) { + Rectangle rect = e.Item.ContentRectangle; + rect.Width = rect.Height; + + //Center the checkmark horizontally in the gutter (looks ugly, though) + //rect.X = (e.ToolStrip.DisplayRectangle.Left - rect.Width) / 2; + + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPCHECKBACKGROUND, e.Item.Enabled ? (int)MenuPopupCheckBackgroundStates.MCB_NORMAL : (int)MenuPopupCheckBackgroundStates.MCB_DISABLED); + renderer.DrawBackground(e.Graphics, rect); + + Padding margins = GetThemeMargins(e.Graphics, MarginTypes.TMT_SIZINGMARGINS); + + rect = new Rectangle(rect.X + margins.Left, rect.Y + margins.Top, + rect.Width - margins.Horizontal, + rect.Height - margins.Vertical); + + //I don't think ToolStrip even supports radio box items. So no need to render them. + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPCHECK, e.Item.Enabled ? (int)MenuPopupCheckStates.MC_CHECKMARKNORMAL : (int)MenuPopupCheckStates.MC_CHECKMARKDISABLED); + + renderer.DrawBackground(e.Graphics, rect); + } + } else { + base.OnRenderItemCheck(e); + } + } + + //This is broken for RTL + protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { + int stateId = e.Item.Enabled ? (int)MenuPopupSubMenuStates.MSM_NORMAL : (int)MenuPopupSubMenuStates.MSM_DISABLED; + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPSUBMENU, stateId); + renderer.DrawBackground(e.Graphics, e.ArrowRectangle); + } + + protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e) { + renderer.SetParameters(RebarClass, VisualStyleElement.Rebar.Chevron.Normal.Part, VisualStyleElement.Rebar.Chevron.Normal.State); + renderer.DrawBackground(e.Graphics, e.Item.ContentRectangle); + + //base.OnRenderOverflowButtonBackground(e); + } + #endregion + + public static bool IsSupported { + get { + if (!VisualStyleRenderer.IsSupported) + return false; + + return VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement("MENU", (int)MenuParts.MENU_BARBACKGROUND, (int)MenuBarStates.MB_ACTIVE)); + } + } + } + + /// + /// Renders a toolstrip using UXTheme if possible, and switches back to the default + /// ToolStripRenderer when UXTheme-based rendering is not available. + /// Designed for menu bars and context menus - it is not guaranteed to work with anything else. + /// + /// + /// NativeToolStripRenderer.SetToolStripRenderer(toolStrip1, toolStrip2, contextMenuStrip1); + /// + /// + /// toolStrip1.Renderer = new NativeToolStripRenderer(); + /// + public class NativeToolStripRenderer : ToolStripRenderer { + UXThemeToolStripRenderer nativeRenderer; + ToolStripRenderer defaultRenderer; + ToolStrip toolStrip; + + //NativeToolStripRenderer looks best with no padding - but keep the old padding in case the + //visual styles become unsupported again (e.g. user changes to windows classic skin) + Padding defaultPadding; + + #region Constructors + /// + /// Creates a NativeToolStripRenderer for a particular ToolStrip. NativeToolStripRenderer will subscribe to some events + /// of this ToolStrip. + /// + /// The toolstrip for this NativeToolStripRenderer. NativeToolStripRenderer will subscribe to some events + /// of this ToolStrip. + public NativeToolStripRenderer(ToolStrip toolStrip, ToolbarTheme theme) { + if (toolStrip == null) + throw new ArgumentNullException("toolStrip", "ToolStrip cannot be null."); + + Theme = theme; + + this.toolStrip = toolStrip; + defaultRenderer = toolStrip.Renderer; + + defaultPadding = toolStrip.Padding; + toolStrip.SystemColorsChanged += new EventHandler(toolStrip_SystemColorsChanged); + + //Can't initialize here - constructor throws if visual styles not enabled + //nativeRenderer = new NativeToolStripRenderer(); + } + + public NativeToolStripRenderer(ToolStripPanel panel, ToolbarTheme theme) { + if (panel == null) + throw new ArgumentNullException("panel", "Panel cannot be null."); + + Theme = theme; + + this.toolStrip = null; + defaultRenderer = panel.Renderer; + } + #endregion + + public ToolbarTheme Theme { get; set; } + + void toolStrip_SystemColorsChanged(object sender, EventArgs e) { + if (toolStrip == null) + return; + + if (UXThemeToolStripRenderer.IsSupported) + toolStrip.Padding = Padding.Empty; + else + toolStrip.Padding = defaultPadding; + } + + //This is indeed called every time a menu part is rendered, but I can't + //find a way of caching it that I can be sure has no race conditions. + //The check is no longer very costly, anyway. + protected ToolStripRenderer ActualRenderer { + get { + bool nativeSupported = UXThemeToolStripRenderer.IsSupported; + + if (nativeSupported) { + if (nativeRenderer == null) + nativeRenderer = new UXThemeToolStripRenderer(Theme); + return nativeRenderer; + } + + return defaultRenderer; + } + } + + #region InitializeXXX + protected override void Initialize(ToolStrip toolStrip) { + base.Initialize(toolStrip); + + toolStrip.Padding = Padding.Empty; + + if (/*!(toolStrip is MenuStrip) &&*/ toolStrip.Parent is ToolStripPanel) { + toolStrip.BackColor = Color.Transparent; + } + } + + protected override void InitializePanel(ToolStripPanel toolStripPanel) { + base.InitializePanel(toolStripPanel); + } + + protected override void InitializeItem(ToolStripItem item) { + base.InitializeItem(item); + } + #endregion + + #region SetToolStripRenderer + /// + /// Sets the renderer of each ToolStrip to a NativeToolStripRenderer. A convenience method. + /// + /// A parameter list of ToolStrips. + [SuppressMessage("Microsoft.Design", "CA1062")] //The parameter array is actually checked. + public static void SetToolStripRenderer(ToolbarTheme theme, params Control[] toolStrips) { + foreach (Control ts in toolStrips) { + if (ts == null) + throw new ArgumentNullException("toolStrips", "ToolStrips cannot contain a null reference."); + } + + foreach (Control ts in toolStrips) { + if (ts is ToolStrip) { + ToolStrip t = (ToolStrip)ts; + t.Renderer = new NativeToolStripRenderer(t, theme); + } else if (ts is ToolStripPanel) { + ToolStripPanel t = (ToolStripPanel)ts; + t.Renderer = new NativeToolStripRenderer(t, theme); + } else + throw new ArgumentException("Can't set the renderer for a " + ts.GetType().Name); + } + } + + public static void SetToolStripRenderer(params Control[] toolStrips) { + SetToolStripRenderer(ToolbarTheme.Toolbar, toolStrips); + } + #endregion + + #region Overridden Methods - Deferred to actual renderer + protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { + ActualRenderer.DrawArrow(e); + } + + protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawButtonBackground(e); + } + + protected override void OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawDropDownButtonBackground(e); + } + + protected override void OnRenderGrip(ToolStripGripRenderEventArgs e) { + ActualRenderer.DrawGrip(e); + } + + protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { + ActualRenderer.DrawImageMargin(e); + } + + protected override void OnRenderItemBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawItemBackground(e); + } + + protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { + ActualRenderer.DrawItemCheck(e); + } + + protected override void OnRenderItemImage(ToolStripItemImageRenderEventArgs e) { + ActualRenderer.DrawItemImage(e); + } + + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { + ActualRenderer.DrawItemText(e); + } + + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawMenuItemBackground(e); + } + + protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e) { + ActualRenderer.DrawSeparator(e); + } + + protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e) { + ActualRenderer.DrawToolStripBackground(e); + } + + protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { + ActualRenderer.DrawToolStripBorder(e); + } + + protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e) { + ActualRenderer.DrawToolStripContentPanelBackground(e); + } + + protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e) { + ActualRenderer.DrawToolStripPanelBackground(e); + } + #endregion + } +} diff --git a/OnTopReplica/NotificationIcon.cs b/OnTopReplica/NotificationIcon.cs new file mode 100644 index 0000000..ebdce67 --- /dev/null +++ b/OnTopReplica/NotificationIcon.cs @@ -0,0 +1,84 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica { + /// + /// Notification icon that installs itself in the "tray" and manipulates the OnTopReplica main form. + /// + class NotificationIcon : IDisposable { + + public NotificationIcon(MainForm form) { + Form = form; + Install(); + } + + public MainForm Form { get; private set; } + + NotifyIcon _taskIcon; + ContextMenuStrip _contextMenu; + + private void Install() { + _contextMenu = new ContextMenuStrip(); + _contextMenu.Items.AddRange(new ToolStripItem[] { + new ToolStripMenuItem(Strings.MenuOpen, Resources.icon, TaskIconOpen_click) { + ToolTipText = Strings.MenuOpenTT, + }, + new ToolStripMenuItem(Strings.MenuWindows, Resources.list){ + DropDown = Form.MenuWindows, + ToolTipText = Strings.MenuWindowsTT + }, + new ToolStripMenuItem(Strings.MenuReset, null, TaskIconReset_click){ + ToolTipText = Strings.MenuResetTT + }, + new ToolStripMenuItem(Strings.MenuClose, Resources.close_new, TaskIconExit_click){ + ToolTipText = Strings.MenuCloseTT + } + }); + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(_contextMenu); + + _taskIcon = new NotifyIcon { + Text = Strings.ApplicationName, + Icon = Resources.icon_new, + Visible = true, + ContextMenuStrip = _contextMenu + }; + _taskIcon.DoubleClick += new EventHandler(TaskIcon_doubleclick); + } + + #region IDisposable Members + + public void Dispose() { + //Destroy NotifyIcon + if (_taskIcon != null) { + _taskIcon.Visible = false; + _taskIcon.Dispose(); + _taskIcon = null; + } + } + + #endregion + + #region Task Icon events + + void TaskIcon_doubleclick(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconOpen_click(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconReset_click(object sender, EventArgs e) { + Form.ResetMainFormWithConfirmation(); + } + + private void TaskIconExit_click(object sender, EventArgs e) { + Form.Close(); + } + + #endregion + } +} diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj new file mode 100644 index 0000000..6820fe6 --- /dev/null +++ b/OnTopReplica/OnTopReplica.csproj @@ -0,0 +1,424 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557} + WinExe + Properties + OnTopReplica + OnTopReplica + v2.0 + 512 + Assets\icon-new.ico + false + false + Internet + OnTopReplica.Program + + + false + A305A505E19CF40E069521C80C13AB3C900EDB7C + OnTopReplica_1_TemporaryKey.pfx + false + + + + + 3.5 + + publish\ + true + Disk + true + Background + 1 + Weeks + true + false + true + http://www.klopfenstein.net/public/Uploads/ontopreplica/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + en + OnTopReplica + Lorenz Cuno Klopfenstein + true + publish.htm + false + 0 + 3.0.2.%2a + false + true + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + false + true + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + false + + + + + + + + + OnTopReplica.exe.manifest + + + + + + + + + + False + ..\Lib\VistaControls.dll + + + + + Form + + + AboutForm.cs + + + Form + + + + + Form + + + Form + + + Form + + + + + + + + + + + + + + + + + + + + + + + UserControl + + + UserControl + + + GroupSwitchPanel.cs + + + + + + + + + + + + + True + True + Strings.resx + + + Component + + + Form + + + MainForm.cs + + + + + + AboutForm.cs + Designer + + + GroupSwitchPanel.cs + Designer + + + ResXFileCodeGenerator + Strings.cs.Designer.cs + + + ResXFileCodeGenerator + Strings.da.Designer.cs + + + ResXFileCodeGenerator + Strings.it.Designer.cs + Designer + + + MainForm.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + RegionPanel.cs + Designer + + + Strings.Designer.cs + Designer + ResXFileCodeGenerator + + + True + Resources.resx + True + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + UserControl + + + RegionPanel.cs + + + + + Component + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 2.0 %28x86%29 + true + + + False + .NET Framework 3.0 %28x86%29 + false + + + False + .NET Framework 3.5 + false + + + False + .NET Framework 3.5 SP1 + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Include + True + Satellite + + + False + + + + + Include + True + Satellite + + + False + + + + + Include + True + Satellite + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.csproj.user b/OnTopReplica/OnTopReplica.csproj.user new file mode 100644 index 0000000..00156d0 --- /dev/null +++ b/OnTopReplica/OnTopReplica.csproj.user @@ -0,0 +1,18 @@ + + + + publish\ + http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/download.aspx%3ffile=ontopreplica%252fsetup.exe/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/|http://lorenz.klopfenstein.net/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&page=on_top_replica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&page=programming_on_top_replica + http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/ + + + en-US + false + + + + + false + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.exe.manifest b/OnTopReplica/OnTopReplica.exe.manifest new file mode 100644 index 0000000..b9febc2 --- /dev/null +++ b/OnTopReplica/OnTopReplica.exe.manifest @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + Lightweight clone of a window. + + + + + + \ No newline at end of file diff --git a/OnTopReplica/PlatformSupport.cs b/OnTopReplica/PlatformSupport.cs new file mode 100644 index 0000000..8f7d816 --- /dev/null +++ b/OnTopReplica/PlatformSupport.cs @@ -0,0 +1,109 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Platforms; +using System.Windows.Forms; + +namespace OnTopReplica { + abstract class PlatformSupport : IDisposable { + + public static PlatformSupport Create() { + var os = Environment.OSVersion; + + if (os.Platform != PlatformID.Win32NT) + return new Other(); + + if (os.Version.Major == 6) { + if (os.Version.Minor >= 1) + return new WindowsSeven(); + else + return new WindowsVista(); + } + else if (os.Version.Major > 6) { + //Ensures forward compatibility + return new WindowsSeven(); + } + else { + //Generic NT + return new WindowsXp(); + } + } + + /// + /// Checks whether OnTopReplica is compatible with the platform. + /// + /// Returns false if OnTopReplica cannot run. + public abstract bool CheckCompatibility(); + + /// + /// Initializes the application. Called once in the app lifetime. + /// + public virtual void InitApp() { + } + + /// + /// Gets the main OnTopReplica form. + /// + protected MainForm Form { get; private set; } + + /// + /// Initializes a form. Called once in the form lifetime. + /// + /// Form to initialize. + public virtual void InitForm(MainForm form) { + Form = form; + } + + /// + /// Prepares the app for shutdown. Called once before the program terminates. + /// + public virtual void ShutdownApp() { + } + + /// + /// Hides the main form in a way that it can be restored later by the user. + /// + /// Form to hide. + public virtual void HideForm(MainForm form) { + form.Hide(); + } + + /// + /// Gets whether the form is currently hidden or not. + /// + public virtual bool IsHidden(MainForm form) { + return !form.Visible; + } + + /// + /// Restores the main form to its default state after is has been hidden. + /// Can be called whether the form is hidden or not. + /// + /// Form to restore. + public virtual void RestoreForm(MainForm form) { + form.Show(); + } + + /// + /// Called when the form changes its state, without calling into or . + /// Enables inheritors to update the form's state on each state change. + /// + public virtual void OnFormStateChange(MainForm form) { + } + + #region IDisposable Members + + bool _isDisposed = false; + + public void Dispose() { + if (_isDisposed) + return; + + this.ShutdownApp(); + _isDisposed = true; + } + + #endregion + + } +} diff --git a/OnTopReplica/Platforms/Other.cs b/OnTopReplica/Platforms/Other.cs new file mode 100644 index 0000000..abd253d --- /dev/null +++ b/OnTopReplica/Platforms/Other.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.Platforms { + class Other : PlatformSupport { + + public override bool CheckCompatibility() { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, + MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + } +} diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs new file mode 100644 index 0000000..b1d1db0 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -0,0 +1,52 @@ +using System; +using System.Windows.Forms; +using OnTopReplica.Native; +using VistaControls.Dwm; + +namespace OnTopReplica.Platforms { + class WindowsSeven : WindowsVista { + + public override void InitForm(MainForm form) { + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + DwmManager.SetExludeFromPeek(form, true); + DwmManager.SetDisallowPeek(form, true); + + SetWindowStyle(form); + } + + public override void InitApp() { + //Set Application ID + WindowsSevenMethods.SetCurrentProcessExplicitAppUserModelID("OnTopReplica"); + } + + public override void HideForm(MainForm form) { + form.Opacity = 0; + } + + public override bool IsHidden(MainForm form) { + return (form.Opacity == 0.0); + } + + public override void RestoreForm(MainForm form) { + if (form.Opacity == 0.0) + form.Opacity = 1.0; + form.Show(); + SetWindowStyle(form); + } + + public override void OnFormStateChange(MainForm form) { + SetWindowStyle(form); + } + + private void SetWindowStyle(MainForm form) { + if (!form.IsFullscreen) { + //This hides the app from ALT+TAB + //Note that when minimized, it will be shown as an (ugly) minimized tool window + Native.WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle, + (IntPtr)WindowMethods.WindowExStyles.ToolWindow); + } + } + + + } +} diff --git a/OnTopReplica/Platforms/WindowsVista.cs b/OnTopReplica/Platforms/WindowsVista.cs new file mode 100644 index 0000000..d8d1b60 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsVista.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using VistaControls.Dwm; +using OnTopReplica.Properties; +using VistaControls.TaskDialog; + +namespace OnTopReplica.Platforms { + + class WindowsVista : PlatformSupport { + + public override bool CheckCompatibility() { + if (!VistaControls.OsSupport.IsCompositionEnabled) { + MessageBox.Show(Strings.ErrorDwmOffContent, Strings.ErrorDwmOff, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + return true; + } + + NotificationIcon _icon; + + public override void InitForm(MainForm form) { + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + + //Do not show in task bar, but display notify icon + //NOTE: this effectively makes Windows ignore the Flip 3D policy set above (on Windows 7) + //NOTE: this also makes HotKey registration critically fail on Windows 7 + form.ShowInTaskbar = false; + + //Install tray icon + _icon = new NotificationIcon(form); + } + + public override void ShutdownApp() { + if (_icon != null) { + _icon.Dispose(); + _icon = null; + } + } + + } + +} diff --git a/OnTopReplica/Platforms/WindowsXp.cs b/OnTopReplica/Platforms/WindowsXp.cs new file mode 100644 index 0000000..88d3895 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsXp.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.Platforms { + class WindowsXp : PlatformSupport { + + public override bool CheckCompatibility() { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + } +} diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs new file mode 100644 index 0000000..d4c5c2c --- /dev/null +++ b/OnTopReplica/Program.cs @@ -0,0 +1,120 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using OnTopReplica.Properties; +using System.Threading; +using System.Globalization; +using System.Drawing; +using System.IO; +using VistaControls.TaskDialog; +using OnTopReplica.Update; +using System.Reflection; + +namespace OnTopReplica { + + static class Program { + + public static PlatformSupport Platform { get; private set; } + + static CultureInfo _languageChangeCode = Settings.Default.Language; + + static UpdateManager _updateManager; + + static MainForm _mainForm; + + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() { + //Hook abort handler + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); + + //Initialize and check for platform support + Platform = PlatformSupport.Create(); + if (!Platform.CheckCompatibility()) + return; + Platform.InitApp(); + + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + + //Update settings if needed + if (Settings.Default.MustUpdate) { + Settings.Default.Upgrade(); + Settings.Default.MustUpdate = false; + } + + bool mustReloadForm = false; + Point reloadLocation = new Point(); + Size reloadSize = new Size(); + + do { + //Update language settings + Thread.CurrentThread.CurrentUICulture = _languageChangeCode; + Settings.Default.Language = _languageChangeCode; + _languageChangeCode = null; + + _mainForm = new MainForm(); + if (mustReloadForm) { + _mainForm.Location = reloadLocation; + _mainForm.Size = reloadSize; + } + + Application.Run(_mainForm); + + //Enable reloading on next loop + mustReloadForm = true; + reloadLocation = _mainForm.Location; + reloadSize = _mainForm.Size; + } + while (_languageChangeCode != null); + + //Persist settings + Settings.Default.Save(); + } + + /// + /// Forces a global language change. As soon as the main form is closed, the change is performed + /// and the form is reopened using the new language. + /// + public static bool ForceGlobalLanguageChange(string languageCode) { + if (string.IsNullOrEmpty(languageCode)) + return false; + + try { + _languageChangeCode = new CultureInfo(languageCode); + } + catch { + return false; + } + + return true; + } + + static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { + string dump = string.Format("OnTopReplica-dump-{0}{1}{2}{3}{4}.txt", + DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, + DateTime.UtcNow.Hour, DateTime.UtcNow.Minute); + string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), dump); + + using (var s = new FileStream(path, FileMode.Create)) { + using (var sw = new StreamWriter(s)) { + sw.WriteLine("OnTopReplica Dump file"); + sw.WriteLine("This file has been created because OnTopReplica crashed."); + sw.WriteLine("Please send it to lck@klopfenstein.net to help fix the bug that caused the crash."); + sw.WriteLine(); + sw.WriteLine("Last exception:"); + sw.WriteLine(e.ExceptionObject.ToString()); + sw.WriteLine(); + sw.WriteLine("OnTopReplica v. {0}", Assembly.GetEntryAssembly().GetName().Version); + sw.WriteLine("OS: {0}", Environment.OSVersion.ToString()); + sw.WriteLine(".NET: {0}", Environment.Version.ToString()); + sw.WriteLine("Aero DWM: {0}", VistaControls.OsSupport.IsCompositionEnabled); + sw.WriteLine("Launch command: {0}", Environment.CommandLine); + } + } + } + + } +} diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..5fd4749 --- /dev/null +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -0,0 +1,37 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("OnTopReplica")] +[assembly: AssemblyDescription("Real-time, always on top thumbnail of a window of your choice.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Lorenz Cuno Klopfenstein")] +[assembly: AssemblyProduct("OnTopReplica")] +[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2010")] +//[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2007")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("015090d1-7559-4c59-b9d1-e7e066c4a948")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("3.1.1.0")] +[assembly: AssemblyFileVersion("3.1.1.0")] diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs new file mode 100644 index 0000000..ee6767b --- /dev/null +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -0,0 +1,315 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.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() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("OnTopReplica.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + internal static System.Drawing.Bitmap back { + get { + object obj = ResourceManager.GetObject("back", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap clickforwarding { + get { + object obj = ResourceManager.GetObject("clickforwarding", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap close_new { + get { + object obj = ResourceManager.GetObject("close_new", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap desktop { + get { + object obj = ResourceManager.GetObject("desktop", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_czech { + get { + object obj = ResourceManager.GetObject("flag_czech", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_danish { + get { + object obj = ResourceManager.GetObject("flag_danish", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_ita { + get { + object obj = ResourceManager.GetObject("flag_ita", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_usa { + get { + object obj = ResourceManager.GetObject("flag_usa", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap fullscreen { + get { + object obj = ResourceManager.GetObject("fullscreen", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap groupmode { + get { + object obj = ResourceManager.GetObject("groupmode", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap icon { + get { + object obj = ResourceManager.GetObject("icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Icon icon_new { + get { + object obj = ResourceManager.GetObject("icon_new", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + internal static System.Drawing.Bitmap list { + get { + object obj = ResourceManager.GetObject("list", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_bottomleft { + get { + object obj = ResourceManager.GetObject("pos_bottomleft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_bottomright { + get { + object obj = ResourceManager.GetObject("pos_bottomright", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_null { + get { + object obj = ResourceManager.GetObject("pos_null", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_topleft { + get { + object obj = ResourceManager.GetObject("pos_topleft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_topright { + get { + object obj = ResourceManager.GetObject("pos_topright", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap reduce { + get { + object obj = ResourceManager.GetObject("reduce", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap refresh { + get { + object obj = ResourceManager.GetObject("refresh", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap regions { + get { + object obj = ResourceManager.GetObject("regions", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap thumbs_up { + get { + object obj = ResourceManager.GetObject("thumbs_up", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_border16 { + get { + object obj = ResourceManager.GetObject("window_border16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_multiple16 { + get { + object obj = ResourceManager.GetObject("window_multiple16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_opacity { + get { + object obj = ResourceManager.GetObject("window_opacity", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_switch { + get { + object obj = ResourceManager.GetObject("window_switch", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window16 { + get { + object obj = ResourceManager.GetObject("window16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_add { + get { + object obj = ResourceManager.GetObject("xiao_add", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_arrow { + get { + object obj = ResourceManager.GetObject("xiao_arrow", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_component { + get { + object obj = ResourceManager.GetObject("xiao_component", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_delete { + get { + object obj = ResourceManager.GetObject("xiao_delete", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_down { + get { + object obj = ResourceManager.GetObject("xiao_down", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_help { + get { + object obj = ResourceManager.GetObject("xiao_help", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_ok { + get { + object obj = ResourceManager.GetObject("xiao_ok", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_up { + get { + object obj = ResourceManager.GetObject("xiao_up", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_wrench { + get { + object obj = ResourceManager.GetObject("xiao_wrench", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx new file mode 100644 index 0000000..b84794e --- /dev/null +++ b/OnTopReplica/Properties/Resources.resx @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Assets\flag_ita.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\x-oblique.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\component.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\25.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_multiple16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\regions_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_null.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_opacity_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\thumbs_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\clickforwarding.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\newicon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_help.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\back.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_czech.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_switch.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\desktop.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_danish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\reduce.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_ok.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_wrench.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\list.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\icon-new.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\fullscreen.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_down.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_border16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_usa.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + + ..\Assets\groupmode.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/OnTopReplica/Properties/Settings.Designer.cs b/OnTopReplica/Properties/Settings.Designer.cs new file mode 100644 index 0000000..34d376b --- /dev/null +++ b/OnTopReplica/Properties/Settings.Designer.cs @@ -0,0 +1,157 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.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; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public global::OnTopReplica.StoredRegionArray SavedRegions { + get { + return ((global::OnTopReplica.StoredRegionArray)(this["SavedRegions"])); + } + set { + this["SavedRegions"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool AutoFitOnResize { + get { + return ((bool)(this["AutoFitOnResize"])); + } + set { + this["AutoFitOnResize"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("255")] + public byte Opacity { + get { + return ((byte)(this["Opacity"])); + } + set { + this["Opacity"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("(Default)")] + public global::System.Globalization.CultureInfo Language { + get { + return ((global::System.Globalization.CultureInfo)(this["Language"])); + } + set { + this["Language"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool MustUpdate { + get { + return ((bool)(this["MustUpdate"])); + } + set { + this["MustUpdate"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool ClickThrough { + get { + return ((bool)(this["ClickThrough"])); + } + set { + this["ClickThrough"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool FirstTimeClickThrough { + get { + return ((bool)(this["FirstTimeClickThrough"])); + } + set { + this["FirstTimeClickThrough"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool FirstTimeClickForwarding { + get { + return ((bool)(this["FirstTimeClickForwarding"])); + } + set { + this["FirstTimeClickForwarding"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool FullscreenAlwaysOnTop { + get { + return ((bool)(this["FullscreenAlwaysOnTop"])); + } + set { + this["FullscreenAlwaysOnTop"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string Setting { + get { + return ((string)(this["Setting"])); + } + set { + this["Setting"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string Setting1 { + get { + return ((string)(this["Setting1"])); + } + set { + this["Setting1"] = value; + } + } + } +} diff --git a/OnTopReplica/Properties/Settings.settings b/OnTopReplica/Properties/Settings.settings new file mode 100644 index 0000000..8aab035 --- /dev/null +++ b/OnTopReplica/Properties/Settings.settings @@ -0,0 +1,39 @@ + + + + + + + + + True + + + 255 + + + (Default) + + + True + + + True + + + True + + + True + + + False + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/Properties/app.manifest b/OnTopReplica/Properties/app.manifest new file mode 100644 index 0000000..c29c96a --- /dev/null +++ b/OnTopReplica/Properties/app.manifest @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/SidePanel.cs b/OnTopReplica/SidePanel.cs new file mode 100644 index 0000000..d3928cb --- /dev/null +++ b/OnTopReplica/SidePanel.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + /// + /// Represents a side panel that can be embedded in OnTopReplica. + /// + class SidePanel : UserControl { + + public SidePanel() { + Dock = DockStyle.Fill; + } + + /// + /// Gets the panel's parent form. + /// + protected MainForm ParentForm { get; private set; } + + /// + /// Raised when the side panel requests to be closed. + /// + public event EventHandler RequestClosing; + + protected virtual void OnRequestClosing() { + var evt = RequestClosing; + if (evt != null) + evt(this, EventArgs.Empty); + } + + /// + /// Is called when the side panel is embedded and first shown. + /// + /// Parent form that is embedding the side panel. + public virtual void OnFirstShown(MainForm form) { + ParentForm = form; + } + + /// + /// Is called before removing the side panel. + /// + /// Parent form that is embedding the side panel. + public virtual void OnClosing(MainForm form) { + } + + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs new file mode 100644 index 0000000..248924d --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs @@ -0,0 +1,129 @@ +namespace OnTopReplica.SidePanels { + partial class GroupSwitchPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonEnable = new System.Windows.Forms.Button(); + this.listWindows = new System.Windows.Forms.ListView(); + this.colName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.labelStatus = new System.Windows.Forms.Label(); + this.groupBox1.SuspendLayout(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.labelStatus); + this.groupBox1.Controls.Add(this.buttonCancel); + this.groupBox1.Controls.Add(this.buttonEnable); + this.groupBox1.Controls.Add(this.listWindows); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(228, 296); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = Strings.GroupSwitchModeTitle; + // + // buttonCancel + // + this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonCancel.Location = new System.Drawing.Point(152, 267); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(70, 23); + this.buttonCancel.TabIndex = 2; + this.buttonCancel.Text = Strings.GroupSwitchModeDisableButton; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(this.Cancel_click); + // + // buttonEnable + // + this.buttonEnable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonEnable.Image = global::OnTopReplica.Properties.Resources.xiao_ok; + this.buttonEnable.Location = new System.Drawing.Point(12, 267); + this.buttonEnable.Name = "buttonEnable"; + this.buttonEnable.Size = new System.Drawing.Size(134, 23); + this.buttonEnable.TabIndex = 1; + this.buttonEnable.Text = Strings.GroupSwitchModeEnableButton; + this.buttonEnable.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonEnable.UseVisualStyleBackColor = true; + this.buttonEnable.Click += new System.EventHandler(this.Enable_click); + // + // listWindows + // + this.listWindows.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.listWindows.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.colName}); + this.listWindows.FullRowSelect = true; + this.listWindows.GridLines = true; + this.listWindows.HideSelection = false; + this.listWindows.LabelWrap = false; + this.listWindows.Location = new System.Drawing.Point(6, 19); + this.listWindows.Name = "listWindows"; + this.listWindows.Size = new System.Drawing.Size(216, 225); + this.listWindows.TabIndex = 0; + this.listWindows.UseCompatibleStateImageBehavior = false; + this.listWindows.View = System.Windows.Forms.View.Details; + // + // colName + // + this.colName.Text = Strings.GroupSwitchModeWindows; + this.colName.Width = 220; + // + // labelStatus + // + this.labelStatus.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelStatus.Location = new System.Drawing.Point(3, 247); + this.labelStatus.Name = "labelStatus"; + this.labelStatus.Size = new System.Drawing.Size(219, 17); + this.labelStatus.TabIndex = 3; + this.labelStatus.Text = ""; + this.labelStatus.TextAlign = System.Drawing.ContentAlignment.BottomRight; + // + // GroupSwitchPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox1); + this.MinimumSize = new System.Drawing.Size(220, 220); + this.Name = "GroupSwitchPanel"; + this.Size = new System.Drawing.Size(228, 296); + this.groupBox1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Button buttonEnable; + private System.Windows.Forms.ListView listWindows; + private System.Windows.Forms.ColumnHeader colName; + private System.Windows.Forms.Label labelStatus; + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.cs new file mode 100644 index 0000000..b763889 --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.cs @@ -0,0 +1,73 @@ +using System; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using System.Collections.Generic; +using OnTopReplica.MessagePumpProcessors; + +namespace OnTopReplica.SidePanels { + partial class GroupSwitchPanel : SidePanel { + + public GroupSwitchPanel() { + InitializeComponent(); + } + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + LoadWindowList(); + + labelStatus.Text = (ParentForm.MessagePumpManager.Get().IsActive) ? + Strings.GroupSwitchModeStatusEnabled : + Strings.GroupSwitchModeStatusDisabled; + } + + private void LoadWindowList() { + var manager = new WindowManager(); + manager.Refresh(WindowManager.EnumerationMode.TaskWindows); + + var imageList = new ImageList(); + imageList.ColorDepth = ColorDepth.Depth32Bit; + foreach (var w in manager.Windows) { + var item = new ListViewItem(w.Title) { + Tag = w + }; + + if (w.Icon != null) { + imageList.Images.Add(w.Icon); + item.ImageIndex = imageList.Images.Count - 1; + } + + listWindows.Items.Add(item); + } + listWindows.SmallImageList = imageList; + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + if (_enableOnClose) { + List ret = new List(); + foreach (ListViewItem i in listWindows.SelectedItems) { + ret.Add((WindowHandle)i.Tag); + } + form.SetThumbnailGroup(ret); + } + else { + form.MessagePumpManager.Get().Disable(); + } + } + + bool _enableOnClose = false; + + private void Enable_click(object sender, EventArgs e) { + _enableOnClose = true; + OnRequestClosing(); + } + + private void Cancel_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.resx b/OnTopReplica/SidePanels/GroupSwitchPanel.resx new file mode 100644 index 0000000..ff31a6d --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/RegionPanel.Designer.cs b/OnTopReplica/SidePanels/RegionPanel.Designer.cs new file mode 100644 index 0000000..a237f87 --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.Designer.cs @@ -0,0 +1,314 @@ +namespace OnTopReplica.SidePanels { + partial class RegionPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.textRegionName = new OnTopReplica.FocusedTextBox(); + this.numH = new System.Windows.Forms.NumericUpDown(); + this.numW = new System.Windows.Forms.NumericUpDown(); + this.numY = new System.Windows.Forms.NumericUpDown(); + this.numX = new System.Windows.Forms.NumericUpDown(); + this.buttonDone = new System.Windows.Forms.Button(); + this.buttonReset = new System.Windows.Forms.Button(); + this.label6 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.buttonDelete = new System.Windows.Forms.Button(); + this.buttonSave = new System.Windows.Forms.Button(); + this.comboRegions = new VistaControls.ComboBox(); + this.groupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).BeginInit(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.textRegionName); + this.groupBox1.Controls.Add(this.numH); + this.groupBox1.Controls.Add(this.numW); + this.groupBox1.Controls.Add(this.numY); + this.groupBox1.Controls.Add(this.numX); + this.groupBox1.Controls.Add(this.buttonDone); + this.groupBox1.Controls.Add(this.buttonReset); + this.groupBox1.Controls.Add(this.label6); + this.groupBox1.Controls.Add(this.label7); + this.groupBox1.Controls.Add(this.label3); + this.groupBox1.Controls.Add(this.label2); + this.groupBox1.Controls.Add(this.label1); + this.groupBox1.Controls.Add(this.buttonDelete); + this.groupBox1.Controls.Add(this.buttonSave); + this.groupBox1.Controls.Add(this.comboRegions); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(184, 170); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Regions:"; + // + // textRegionName + // + this.textRegionName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textRegionName.BackColor = System.Drawing.SystemColors.ActiveCaption; + this.textRegionName.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; + this.textRegionName.Location = new System.Drawing.Point(6, 44); + this.textRegionName.Name = "textRegionName"; + this.textRegionName.Size = new System.Drawing.Size(174, 20); + this.textRegionName.TabIndex = 11; + this.textRegionName.Visible = false; + this.textRegionName.ConfirmInput += new System.EventHandler(this.Save_confirm); + this.textRegionName.AbortInput += new System.EventHandler(this.Save_lost); + // + // numH + // + this.numH.Enabled = false; + this.numH.Location = new System.Drawing.Point(109, 93); + this.numH.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numH.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numH.Name = "numH"; + this.numH.Size = new System.Drawing.Size(43, 20); + this.numH.TabIndex = 7; + this.numH.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numW + // + this.numW.Enabled = false; + this.numW.Location = new System.Drawing.Point(109, 67); + this.numW.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numW.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numW.Name = "numW"; + this.numW.Size = new System.Drawing.Size(43, 20); + this.numW.TabIndex = 6; + this.numW.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numY + // + this.numY.Enabled = false; + this.numY.Location = new System.Drawing.Point(23, 93); + this.numY.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numY.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numY.Name = "numY"; + this.numY.Size = new System.Drawing.Size(43, 20); + this.numY.TabIndex = 5; + this.numY.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numX + // + this.numX.Enabled = false; + this.numX.Location = new System.Drawing.Point(23, 67); + this.numX.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numX.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numX.Name = "numX"; + this.numX.Size = new System.Drawing.Size(43, 20); + this.numX.TabIndex = 4; + this.numX.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // buttonDone + // + this.buttonDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDone.Image = global::OnTopReplica.Properties.Resources.xiao_ok; + this.buttonDone.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonDone.Location = new System.Drawing.Point(108, 129); + this.buttonDone.Name = "buttonDone"; + this.buttonDone.Size = new System.Drawing.Size(70, 23); + this.buttonDone.TabIndex = 9; + this.buttonDone.Text = global::OnTopReplica.Strings.RegionsDoneButton; + this.buttonDone.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonDone.UseVisualStyleBackColor = true; + this.buttonDone.Click += new System.EventHandler(this.Close_click); + // + // buttonReset + // + this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonReset.Location = new System.Drawing.Point(32, 129); + this.buttonReset.Name = "buttonReset"; + this.buttonReset.Size = new System.Drawing.Size(70, 23); + this.buttonReset.TabIndex = 8; + this.buttonReset.Text = global::OnTopReplica.Strings.RegionsResetButton; + this.buttonReset.UseVisualStyleBackColor = true; + this.buttonReset.Click += new System.EventHandler(this.Reset_click); + // + // label6 + // + this.label6.AutoSize = true; + this.label6.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label6.Location = new System.Drawing.Point(71, 96); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(38, 13); + this.label6.TabIndex = 9; + this.label6.Text = "Height"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label7.Location = new System.Drawing.Point(71, 70); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(35, 13); + this.label7.TabIndex = 8; + this.label7.Text = "Width"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label3.Location = new System.Drawing.Point(6, 96); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(14, 13); + this.label3.TabIndex = 5; + this.label3.Text = "Y"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label2.Location = new System.Drawing.Point(6, 70); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(14, 13); + this.label2.TabIndex = 4; + this.label2.Text = "X"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(6, 47); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(76, 13); + this.label1.TabIndex = 3; + this.label1.Text = "Current region:"; + // + // buttonDelete + // + this.buttonDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDelete.Enabled = false; + this.buttonDelete.Image = global::OnTopReplica.Properties.Resources.xiao_delete; + this.buttonDelete.Location = new System.Drawing.Point(157, 18); + this.buttonDelete.Name = "buttonDelete"; + this.buttonDelete.Size = new System.Drawing.Size(23, 23); + this.buttonDelete.TabIndex = 3; + this.buttonDelete.UseVisualStyleBackColor = true; + this.buttonDelete.Click += new System.EventHandler(this.Delete_click); + // + // buttonSave + // + this.buttonSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonSave.Enabled = false; + this.buttonSave.Image = global::OnTopReplica.Properties.Resources.xiao_add; + this.buttonSave.Location = new System.Drawing.Point(134, 18); + this.buttonSave.Name = "buttonSave"; + this.buttonSave.Size = new System.Drawing.Size(23, 23); + this.buttonSave.TabIndex = 1; + this.buttonSave.UseVisualStyleBackColor = true; + this.buttonSave.Click += new System.EventHandler(this.Save_click); + // + // comboRegions + // + this.comboRegions.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.comboRegions.CueBannerText = global::OnTopReplica.Strings.RegionsStoredRegions; + this.comboRegions.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboRegions.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.comboRegions.FormattingEnabled = true; + this.comboRegions.Location = new System.Drawing.Point(6, 19); + this.comboRegions.Name = "comboRegions"; + this.comboRegions.Size = new System.Drawing.Size(126, 21); + this.comboRegions.TabIndex = 0; + this.comboRegions.SelectedIndexChanged += new System.EventHandler(this.RegionCombo_index_change); + // + // RegionPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox1); + this.MinimumSize = new System.Drawing.Size(184, 170); + this.Name = "RegionPanel"; + this.Size = new System.Drawing.Size(184, 170); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Button buttonDelete; + private System.Windows.Forms.Button buttonSave; + private VistaControls.ComboBox comboRegions; + private System.Windows.Forms.Button buttonDone; + private System.Windows.Forms.Button buttonReset; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.NumericUpDown numH; + private System.Windows.Forms.NumericUpDown numW; + private System.Windows.Forms.NumericUpDown numY; + private System.Windows.Forms.NumericUpDown numX; + private FocusedTextBox textRegionName; + } +} diff --git a/OnTopReplica/SidePanels/RegionPanel.cs b/OnTopReplica/SidePanels/RegionPanel.cs new file mode 100644 index 0000000..871a2a1 --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.cs @@ -0,0 +1,217 @@ +using System; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica.SidePanels { + partial class RegionPanel : SidePanel { + + public RegionPanel() { + InitializeComponent(); + + //Copy settings into combo box + if (Settings.Default.SavedRegions != null) { + foreach (object o in Settings.Default.SavedRegions) { + comboRegions.Items.Add(o); + } + } + + _regionDrawnHandler = new ThumbnailPanel.RegionDrawnHandler(ThumbnailPanel_RegionDrawn); + } + + ThumbnailPanel.RegionDrawnHandler _regionDrawnHandler; + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + //Init shown region if needed + if (form.SelectedThumbnailRegion.HasValue) + SetRegion(form.SelectedThumbnailRegion.Value); + + form.ThumbnailPanel.DrawMouseRegions = true; + form.ThumbnailPanel.RegionDrawn += _regionDrawnHandler; + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + form.ThumbnailPanel.DrawMouseRegions = false; + form.ThumbnailPanel.RegionDrawn -= _regionDrawnHandler; + } + + void ThumbnailPanel_RegionDrawn(object sender, Rectangle region) { + SetRegion(region); + } + + #region Interface + + /// + /// Sets the current selected region to a specific instance of a stored region. + /// + /// A stored region instance or null to reset. + public void SetRegion(StoredRegion region) { + if (region == null) { + Reset(); + return; + } + + SetRegion(region.Rect); + + //Select right combobox + if (comboRegions.Items.Contains(region)) { + comboRegions.SelectedItem = region; + } + } + + /// + /// Sets the current selected region to a specific region rectangle. + /// + /// The region boundaries. + public void SetRegion(Rectangle region) { + try { + _ignoreValueChanges = true; + + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = true; + + numX.Value = region.Left; + numY.Value = region.Top; + numW.Value = region.Width; + numH.Value = region.Height; + } + finally { + _ignoreValueChanges = false; + } + + OnRegionSet(region); + } + + /// + /// Resets the selected region and disables the num spinners. + /// + public void Reset() { + try { + _ignoreValueChanges = true; + + numX.Value = numY.Value = numW.Value = numH.Value = 0; + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = false; + + buttonSave.Enabled = false; + + comboRegions.SelectedIndex = -1; + } + finally { + _ignoreValueChanges = false; + } + } + + #endregion + + /// + /// Adds a new stored region. + /// + /// Region bounds. + /// Name of the region. + private void AddRegion(Rectangle rectangle, string regionName) { + var region = new StoredRegion(rectangle, regionName); + + int index = comboRegions.Items.Add(region); + comboRegions.SelectedIndex = index; + + if (Settings.Default.SavedRegions == null) + Settings.Default.SavedRegions = new StoredRegionArray(); + Settings.Default.SavedRegions.Add(region); + } + + /// + /// Internal event raised when a change occurs in the selected region. + /// + /// Region bounds. + protected virtual void OnRegionSet(Rectangle regionBounds) { + //Forward region to thumbnail + ParentForm.SelectedThumbnailRegion = regionBounds; + + buttonSave.Enabled = true; + } + + #region GUI event handlers + + private void Close_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + private void Reset_click(object sender, EventArgs e) { + Reset(); + ParentForm.SelectedThumbnailRegion = null; + } + + private void Delete_click(object sender, EventArgs e) { + if (comboRegions.SelectedIndex < 0) + return; + + var origIndex = comboRegions.SelectedIndex; + Settings.Default.SavedRegions.RemoveAt(origIndex); + comboRegions.Items.RemoveAt(origIndex); + + if (comboRegions.Items.Count > 0) + comboRegions.SelectedIndex = 0; + } + + private void Save_click(object sender, EventArgs e) { + //Display textbox instead of button + buttonSave.Enabled = buttonDelete.Enabled = false; + textRegionName.Visible = true; + textRegionName.Focus(); + } + + private void Save_confirm(object sender, EventArgs e) { + if (!string.IsNullOrEmpty(textRegionName.Text)) { + AddRegion( + new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value), + textRegionName.Text + ); + } + + //Hide textbox and show button again + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Enabled = buttonDelete.Enabled = true; + } + + private void Save_lost(object sender, EventArgs e) { + //Reset textbox + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Enabled = buttonDelete.Enabled = true; + buttonSave.Focus(); + } + + // Used to signal to the value change handler that all events should be temporarily ignored. + bool _ignoreValueChanges = false; + + private void RegionValueSpinner_value_change(object sender, EventArgs e) { + if (_ignoreValueChanges) + return; + + OnRegionSet(new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value)); + } + + private void RegionCombo_index_change(object sender, EventArgs e) { + buttonDelete.Enabled = (comboRegions.SelectedIndex >= 0); + + if (comboRegions.SelectedIndex >= 0) { + //Load region + var region = comboRegions.SelectedItem as StoredRegion; + + if (region == null) + return; + + SetRegion(region.Rect); + } + } + + #endregion + + } +} diff --git a/OnTopReplica/SidePanels/RegionPanel.resx b/OnTopReplica/SidePanels/RegionPanel.resx new file mode 100644 index 0000000..ff31a6d --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/StoredRegion.cs b/OnTopReplica/StoredRegion.cs new file mode 100644 index 0000000..93a64fd --- /dev/null +++ b/OnTopReplica/StoredRegion.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.Drawing; + +namespace OnTopReplica { + + [Serializable] + public class StoredRegion : IXmlSerializable { + + public StoredRegion() { + } + + public StoredRegion(Rectangle r, string n) { + Rect = r; + Name = n; + } + + public Rectangle Rect { + get; + set; + } + + public string Name { + get; + set; + } + + public override string ToString() { + return Name; + } + + + #region IXmlSerializable Members + + public System.Xml.Schema.XmlSchema GetSchema() { + return null; + } + + public void ReadXml(System.Xml.XmlReader reader) { + if (reader.MoveToAttribute("name")) + Name = reader.Value; + else + throw new Exception(); + + reader.Read(); + + XmlSerializer x = new XmlSerializer(typeof(Rectangle)); + Rect = (Rectangle)x.Deserialize(reader); + } + + public void WriteXml(System.Xml.XmlWriter writer) { + writer.WriteAttributeString("name", Name); + + XmlSerializer x = new XmlSerializer(typeof(Rectangle)); + x.Serialize(writer, Rect); + } + + #endregion + } + +} diff --git a/OnTopReplica/StoredRegionArray.cs b/OnTopReplica/StoredRegionArray.cs new file mode 100644 index 0000000..1a948c6 --- /dev/null +++ b/OnTopReplica/StoredRegionArray.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Collections; +using System.Xml.Serialization; + +namespace OnTopReplica { + + public class StoredRegionArray : ArrayList, IXmlSerializable { + + #region IXmlSerializable Members + + public System.Xml.Schema.XmlSchema GetSchema() { + return null; + } + + public void ReadXml(System.Xml.XmlReader reader) { + this.Clear(); + XmlSerializer x = new XmlSerializer(typeof(StoredRegion)); + while (reader.ReadToFollowing("StoredRegion")) { + object o = x.Deserialize(reader); + + if (o is StoredRegion) + this.Add(o); + } + } + + public void WriteXml(System.Xml.XmlWriter writer) { + XmlSerializer x = new XmlSerializer(typeof(StoredRegion)); + foreach (StoredRegion sr in this) { + x.Serialize(writer, sr); + } + } + + #endregion + + } + +} diff --git a/OnTopReplica/StoredRegionComparer.cs b/OnTopReplica/StoredRegionComparer.cs new file mode 100644 index 0000000..cfc9438 --- /dev/null +++ b/OnTopReplica/StoredRegionComparer.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Collections; + +namespace OnTopReplica { + + /// + /// Compares two StoredRegions based on their name. + /// + class StoredRegionComparer : IComparer { + + #region IComparer Members + + public int Compare(object x, object y) { + StoredRegion a = x as StoredRegion; + StoredRegion b = y as StoredRegion; + + if (a == null || b == null) + return -1; //this is wrong, but anyway + + return a.Name.CompareTo(b.Name); + } + + #endregion + + } +} diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs new file mode 100644 index 0000000..827c274 --- /dev/null +++ b/OnTopReplica/Strings.Designer.cs @@ -0,0 +1,1324 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Strings { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Strings() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("OnTopReplica.Strings", typeof(Strings).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Abort update process.. + /// + internal static string AboutButtonCancelTT { + get { + return ResourceManager.GetString("AboutButtonCancelTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show details about OnTopReplica.. + /// + internal static string AboutButtonExpanderTT { + get { + return ResourceManager.GetString("AboutButtonExpanderTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset all OnTopReplica settings.. + /// + internal static string AboutButtonResetTT { + get { + return ResourceManager.GetString("AboutButtonResetTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update OnTopReplica now.. + /// + internal static string AboutButtonUpdateTT { + get { + return ResourceManager.GetString("AboutButtonUpdateTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to <html> + /// <head> + /// <style type="text/css"> + ///body { + /// font-family: Segoe UI, Arial, sans-serif; + /// font-size: 0.8em; + /// margin: 0; + ///padding: 0.75em; + ///} + ///h1 { + /// font-size: 1.4em; + /// font-weight: bold; + /// + /// margin: 1em 0 0.4em 0; + /// padding: 0; + ///} + ///p { + /// margin: 0.5em 0 0.5em 1em; + /// padding: 0; + ///} + ///a { + /// font-weight: bold; + /// color: blue; + ///} + ///a:hover { + /// color: red; + ///} + /// </style> + /// </head> + /// + /// <body> + /// + /// <h1>License</h1> + /// + /// <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal [rest of string was truncated]";. + /// + internal static string AboutDetails { + get { + return ResourceManager.GetString("AboutDetails", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica. + /// + internal static string ApplicationName { + get { + return ResourceManager.GetString("ApplicationName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset window completely?. + /// + internal static string AskReset { + get { + return ResourceManager.GetString("AskReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to &Reset + ///All settings will be lost.. + /// + internal static string AskResetButtonOk { + get { + return ResourceManager.GetString("AskResetButtonOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary.. + /// + internal static string AskResetContent { + get { + return ResourceManager.GetString("AskResetContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset. + /// + internal static string AskResetTitle { + get { + return ResourceManager.GetString("AskResetTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset settings?. + /// + internal static string AskSettingReset { + get { + return ResourceManager.GetString("AskSettingReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost).. + /// + internal static string AskSettingResetContent { + get { + return ResourceManager.GetString("AskSettingResetContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset settings. + /// + internal static string AskSettingResetTitle { + get { + return ResourceManager.GetString("AskSettingResetTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Download OnTopReplica {0}?. + /// + internal static string AskUpdate { + get { + return ResourceManager.GetString("AskUpdate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cancel update + ///OnTopReplica will prompt you the next time it is started.. + /// + internal static string AskUpdateButtonCancel { + get { + return ResourceManager.GetString("AskUpdateButtonCancel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Download + ///Install OnTopReplica {0}.. + /// + internal static string AskUpdateButtonOk { + get { + return ResourceManager.GetString("AskUpdateButtonOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The new version can be downloaded and installed from the official website.. + /// + internal static string AskUpdateContent { + get { + return ResourceManager.GetString("AskUpdateContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Installed version: {0} + ///Available version: {1}. + /// + internal static string AskUpdateExpanded { + get { + return ResourceManager.GetString("AskUpdateExpanded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update available. + /// + internal static string AskUpdateTitle { + get { + return ResourceManager.GetString("AskUpdateTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to &Cancel. + /// + internal static string ButtonCancel { + get { + return ResourceManager.GetString("ButtonCancel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Created by: Lorenz Cuno Klopfenstein.. + /// + internal static string CreatedBy { + get { + return ResourceManager.GetString("CreatedBy", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Draw regions using mouse.. + /// + internal static string DrawRegions { + get { + return ResourceManager.GetString("DrawRegions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Details. + /// + internal static string ErrorDetailButton { + get { + return ResourceManager.GetString("ErrorDetailButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Details on Windows Aero. + /// + internal static string ErrorDetailsAero { + get { + return ResourceManager.GetString("ErrorDetailsAero", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Windows Aero is only available on Windows Vista Home Premium or higher.. + /// + internal static string ErrorDetailsAeroInfo { + get { + return ResourceManager.GetString("ErrorDetailsAeroInfo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Desktop Composition' is not enabled.. + /// + internal static string ErrorDwmOff { + get { + return ResourceManager.GetString("ErrorDwmOff", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + /// + ///To do so, right-click on the desktop and click on Personalize.. + /// + internal static string ErrorDwmOffContent { + get { + return ResourceManager.GetString("ErrorDwmOffContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error details. + /// + internal static string ErrorGenericInfoButton { + get { + return ResourceManager.GetString("ErrorGenericInfoButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error: . + /// + internal static string ErrorGenericInfoText { + get { + return ResourceManager.GetString("ErrorGenericInfoText", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to It appears that the selected window has been closed or is not valid anymore.. + /// + internal static string ErrorGenericThumbnailHandleError { + get { + return ResourceManager.GetString("ErrorGenericThumbnailHandleError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error. + /// + internal static string ErrorGenericTitle { + get { + return ResourceManager.GetString("ErrorGenericTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Desktop Composition' is not supported on your Operating System. + ///You must run this application on Windows Vista Home Premium or better.. + /// + internal static string ErrorNoDwm { + get { + return ResourceManager.GetString("ErrorNoDwm", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Desktop Composition unsupported. + /// + internal static string ErrorNoDwmTitle { + get { + return ResourceManager.GetString("ErrorNoDwmTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No thumbnail loaded.. + /// + internal static string ErrorNoThumbnail { + get { + return ResourceManager.GetString("ErrorNoThumbnail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to create thumbnail.. + /// + internal static string ErrorUnableToCreateThumbnail { + get { + return ResourceManager.GetString("ErrorUnableToCreateThumbnail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to fit window.. + /// + internal static string ErrorUnableToFit { + get { + return ResourceManager.GetString("ErrorUnableToFit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to check for updates.. + /// + internal static string ErrorUpdate { + get { + return ResourceManager.GetString("ErrorUpdate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>).. + /// + internal static string ErrorUpdateContent { + get { + return ResourceManager.GetString("ErrorUpdateContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down.. + /// + internal static string ErrorUpdateContentGeneric { + get { + return ResourceManager.GetString("ErrorUpdateContentGeneric", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Mode. + /// + internal static string FullscreenMode { + get { + return ResourceManager.GetString("FullscreenMode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Always on top. + /// + internal static string FullscreenModeAlwaysOnTop { + get { + return ResourceManager.GetString("FullscreenModeAlwaysOnTop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Forces OnTopReplica to stay always on top.. + /// + internal static string FullscreenModeAlwaysOnTopTT { + get { + return ResourceManager.GetString("FullscreenModeAlwaysOnTopTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click through. + /// + internal static string FullscreenModeClickThrough { + get { + return ResourceManager.GetString("FullscreenModeClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.. + /// + internal static string FullscreenModeClickThroughTT { + get { + return ResourceManager.GetString("FullscreenModeClickThroughTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Standard. + /// + internal static string FullscreenModeNormal { + get { + return ResourceManager.GetString("FullscreenModeNormal", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Behaves like an ordinary window. You can bring other windows above OnTopReplica.. + /// + internal static string FullscreenModeNormalTT { + get { + return ResourceManager.GetString("FullscreenModeNormalTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica fullscreen. + /// + internal static string FullscreenTitle { + get { + return ResourceManager.GetString("FullscreenTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disable. + /// + internal static string GroupSwitchModeDisableButton { + get { + return ResourceManager.GetString("GroupSwitchModeDisableButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Group mode. + /// + internal static string GroupSwitchModeEnableButton { + get { + return ResourceManager.GetString("GroupSwitchModeEnableButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select multiple windows to enable.. + /// + internal static string GroupSwitchModeStatusDisabled { + get { + return ResourceManager.GetString("GroupSwitchModeStatusDisabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group switch mode is enabled.. + /// + internal static string GroupSwitchModeStatusEnabled { + get { + return ResourceManager.GetString("GroupSwitchModeStatusEnabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group switch mode:. + /// + internal static string GroupSwitchModeTitle { + get { + return ResourceManager.GetString("GroupSwitchModeTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Windows. + /// + internal static string GroupSwitchModeWindows { + get { + return ResourceManager.GetString("GroupSwitchModeWindows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Homepage: www.codeplex.com/ontopreplica.. + /// + internal static string Homepage { + get { + return ResourceManager.GetString("Homepage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Do you want to enable "click forwarding"?. + /// + internal static string InfoClickForwarding { + get { + return ResourceManager.GetString("InfoClickForwarding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + /// + ///To exit this mode, push ESC.. + /// + internal static string InfoClickForwardingContent { + get { + return ResourceManager.GetString("InfoClickForwardingContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click forwarding. + /// + internal static string InfoClickForwardingTitle { + get { + return ResourceManager.GetString("InfoClickForwardingTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click-Through mode?. + /// + internal static string InfoClickThrough { + get { + return ResourceManager.GetString("InfoClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent.. + /// + internal static string InfoClickThroughDetails { + get { + return ResourceManager.GetString("InfoClickThroughDetails", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + /// + ///To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon).. + /// + internal static string InfoClickThroughInformation { + get { + return ResourceManager.GetString("InfoClickThroughInformation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No, thank you. + ///You can enable click-through later. + /// + internal static string InfoClickThroughNo { + get { + return ResourceManager.GetString("InfoClickThroughNo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use Click-Through. + /// + internal static string InfoClickThroughOk { + get { + return ResourceManager.GetString("InfoClickThroughOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click-Through mode. + /// + internal static string InfoClickThroughTitle { + get { + return ResourceManager.GetString("InfoClickThroughTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica has been updated.. + /// + internal static string InfoUpdated { + get { + return ResourceManager.GetString("InfoUpdated", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to In order to use the updated version of OnTopReplica you'll have to restart the application.. + /// + internal static string InfoUpdatedContent { + get { + return ResourceManager.GetString("InfoUpdatedContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update successful. + /// + internal static string InfoUpdatedTitle { + get { + return ResourceManager.GetString("InfoUpdatedTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica is up to date.. + /// + internal static string InfoUpToDate { + get { + return ResourceManager.GetString("InfoUpToDate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No update available. + /// + internal static string InfoUpToDateTitle { + get { + return ResourceManager.GetString("InfoUpToDateTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Language. + /// + internal static string Language { + get { + return ResourceManager.GetString("Language", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to About.... + /// + internal static string MenuAbout { + get { + return ResourceManager.GetString("MenuAbout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hides the main window and displays the "about" box.. + /// + internal static string MenuAboutTT { + get { + return ResourceManager.GetString("MenuAboutTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Advanced. + /// + internal static string MenuAdvanced { + get { + return ResourceManager.GetString("MenuAdvanced", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chrome. + /// + internal static string MenuChrome { + get { + return ResourceManager.GetString("MenuChrome", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles the display of the window chrome.. + /// + internal static string MenuChromeTT { + get { + return ResourceManager.GetString("MenuChromeTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click forwarding. + /// + internal static string MenuClickForwarding { + get { + return ResourceManager.GetString("MenuClickForwarding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable "click forwarding" to the cloned window.. + /// + internal static string MenuClickForwardingTT { + get { + return ResourceManager.GetString("MenuClickForwardingTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click-Through. + /// + internal static string MenuClickThrough { + get { + return ResourceManager.GetString("MenuClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.. + /// + internal static string MenuClickThroughTT { + get { + return ResourceManager.GetString("MenuClickThroughTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Close. + /// + internal static string MenuClose { + get { + return ResourceManager.GetString("MenuClose", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Closes OnTopReplica.. + /// + internal static string MenuCloseTT { + get { + return ResourceManager.GetString("MenuCloseTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 2:1 Double. + /// + internal static string MenuFitDouble { + get { + return ResourceManager.GetString("MenuFitDouble", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fullscreen. + /// + internal static string MenuFitFullscreen { + get { + return ResourceManager.GetString("MenuFitFullscreen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:2 Half. + /// + internal static string MenuFitHalf { + get { + return ResourceManager.GetString("MenuFitHalf", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:1 Fit to window. + /// + internal static string MenuFitOriginal { + get { + return ResourceManager.GetString("MenuFitOriginal", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:4 Quarter. + /// + internal static string MenuFitQuarter { + get { + return ResourceManager.GetString("MenuFitQuarter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Glass. + /// + internal static string MenuGlass { + get { + return ResourceManager.GetString("MenuGlass", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles "glass mode" on and off.. + /// + internal static string MenuGlassTT { + get { + return ResourceManager.GetString("MenuGlassTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group Switch mode. + /// + internal static string MenuGroupSwitch { + get { + return ResourceManager.GetString("MenuGroupSwitch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground.. + /// + internal static string MenuGroupSwitchTT { + get { + return ResourceManager.GetString("MenuGroupSwitchTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 100% (opaque). + /// + internal static string MenuOp100 { + get { + return ResourceManager.GetString("MenuOp100", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to be completely opaque.. + /// + internal static string MenuOp100TT { + get { + return ResourceManager.GetString("MenuOp100TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 25%. + /// + internal static string MenuOp25 { + get { + return ResourceManager.GetString("MenuOp25", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 25% opacity.. + /// + internal static string MenuOp25TT { + get { + return ResourceManager.GetString("MenuOp25TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 50%. + /// + internal static string MenuOp50 { + get { + return ResourceManager.GetString("MenuOp50", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 50% opacity.. + /// + internal static string MenuOp50TT { + get { + return ResourceManager.GetString("MenuOp50TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 75%. + /// + internal static string MenuOp75 { + get { + return ResourceManager.GetString("MenuOp75", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 75% opacity.. + /// + internal static string MenuOp75TT { + get { + return ResourceManager.GetString("MenuOp75TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Opacity. + /// + internal static string MenuOpacity { + get { + return ResourceManager.GetString("MenuOpacity", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open. + /// + internal static string MenuOpen { + get { + return ResourceManager.GetString("MenuOpen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Displays OnTopReplica.. + /// + internal static string MenuOpenTT { + get { + return ResourceManager.GetString("MenuOpenTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bottom Left. + /// + internal static string MenuPosBottomLeft { + get { + return ResourceManager.GetString("MenuPosBottomLeft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bottom Right. + /// + internal static string MenuPosBottomRight { + get { + return ResourceManager.GetString("MenuPosBottomRight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Position. + /// + internal static string MenuPosition { + get { + return ResourceManager.GetString("MenuPosition", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatically position OnTopReplica on the current screen.. + /// + internal static string MenuPositionTT { + get { + return ResourceManager.GetString("MenuPositionTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Top Left. + /// + internal static string MenuPosTopLeft { + get { + return ResourceManager.GetString("MenuPosTopLeft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Top Right. + /// + internal static string MenuPosTopRight { + get { + return ResourceManager.GetString("MenuPosTopRight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Quit fullscreen mode. + /// + internal static string MenuQuitFullscreen { + get { + return ResourceManager.GetString("MenuQuitFullscreen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Recall last position and size. + /// + internal static string MenuRecall { + get { + return ResourceManager.GetString("MenuRecall", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles whether OnTopReplica should store its last position and size and use them when it is restarted.. + /// + internal static string MenuRecallTT { + get { + return ResourceManager.GetString("MenuRecallTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimize. + /// + internal static string MenuReduce { + get { + return ResourceManager.GetString("MenuReduce", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimizes OnTopReplica to the task bar (or the tray).. + /// + internal static string MenuReduceTT { + get { + return ResourceManager.GetString("MenuReduceTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select region.... + /// + internal static string MenuRegion { + get { + return ResourceManager.GetString("MenuRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail.. + /// + internal static string MenuRegionTT { + get { + return ResourceManager.GetString("MenuRegionTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset window. + /// + internal static string MenuReset { + get { + return ResourceManager.GetString("MenuReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resets OnTopReplica settings and its main window.. + /// + internal static string MenuResetTT { + get { + return ResourceManager.GetString("MenuResetTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resize. + /// + internal static string MenuResize { + get { + return ResourceManager.GetString("MenuResize", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switch to window. + /// + internal static string MenuSwitch { + get { + return ResourceManager.GetString("MenuSwitch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switches to the source window and hides OnTopReplica.. + /// + internal static string MenuSwitchTT { + get { + return ResourceManager.GetString("MenuSwitchTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select window. + /// + internal static string MenuWindows { + get { + return ResourceManager.GetString("MenuWindows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to - none -. + /// + internal static string MenuWindowsNone { + get { + return ResourceManager.GetString("MenuWindowsNone", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Displays a list of window you can select as thumbnail source.. + /// + internal static string MenuWindowsTT { + get { + return ResourceManager.GetString("MenuWindowsTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to - whole -. + /// + internal static string MenuWindowsWholeRegion { + get { + return ResourceManager.GetString("MenuWindowsWholeRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Current region:. + /// + internal static string RegionsCurrentRegion { + get { + return ResourceManager.GetString("RegionsCurrentRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete. + /// + internal static string RegionsDeleteButton { + get { + return ResourceManager.GetString("RegionsDeleteButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Done. + /// + internal static string RegionsDoneButton { + get { + return ResourceManager.GetString("RegionsDoneButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Height. + /// + internal static string RegionsHeight { + get { + return ResourceManager.GetString("RegionsHeight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset. + /// + internal static string RegionsResetButton { + get { + return ResourceManager.GetString("RegionsResetButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Save. + /// + internal static string RegionsSaveButton { + get { + return ResourceManager.GetString("RegionsSaveButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stored regions. + /// + internal static string RegionsStoredRegions { + get { + return ResourceManager.GetString("RegionsStoredRegions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Regions:. + /// + internal static string RegionsTitle { + get { + return ResourceManager.GetString("RegionsTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Width. + /// + internal static string RegionsWidth { + get { + return ResourceManager.GetString("RegionsWidth", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Right-click here to start.... + /// + internal static string RightClick { + get { + return ResourceManager.GetString("RightClick", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A lightweight, real-time, always on top thumbnail of a window of your choice.. + /// + internal static string Slogan { + get { + return ResourceManager.GetString("Slogan", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica automatically checks for updates. No information is logged at any point.. + /// + internal static string UpdateDisclaimer { + get { + return ResourceManager.GetString("UpdateDisclaimer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update now!. + /// + internal static string UpdateNow { + get { + return ResourceManager.GetString("UpdateNow", resourceCulture); + } + } + } +} diff --git a/OnTopReplica/Strings.cs.resx b/OnTopReplica/Strings.cs.resx new file mode 100644 index 0000000..0d381ff --- /dev/null +++ b/OnTopReplica/Strings.cs.resx @@ -0,0 +1,456 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Přerušit aktualizaci. + + + Zobrazit podrobnosti o aplikaci OnTopReplica. + + + Resetovat nastavení OnTopReplica. + + + Aktualizovat OnTopReplica. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licence</h1> + + <p><b>OnTopReplica</b> je šířena pod <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a> licencí.</p> + <p>Původní zdrojový kód je možné nalézt na <a href="http://www.codeplex.com/ontopreplica">domovské stránce projektu na serveru CodePlex</a>.</p> + + <h1>Autoři a zásluhy</h1> + + <p>Původní inspirací pro OnTopReplica byla aplikace <a href="http://insentient.net">Switcher</a> a další aplikace založeny na DWM.</p> + + <p>Všechny Vista ovládací prvky jsou součástí <a href="http://www.codeplex.com/windowsformsaero">knihovny WindowsFormsAero</a> pro .NET.</p> + + <p>Některé ukázkové kódy byly převzaty z <a href="http://www.ookii.org">Ookii</a> ze serveru Channel9.</p> + + <p>Třída NativeToolstripRenderer byla převzata z <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Některé ikony pocházejí z <a href="http://www.vistaico.com">VistaICO.com</a> a balíčku ikon Xiao.</p> + + </body> +</html> + + + OnTopReplica + + + Resetovat nastavení okna? + + + &Resetovat +Všechna nastavení budou ztracena. + + + Operace "Resetovat okno" je vhodná k inicializaci všech nastavení pokud jste například ztratili kontrolu nad oknem nebo jej přesunuli mimo viditelnou plochu obrazovky. + + + Resetovat + + + Resetovat nastavení? + + + Operace "Resetovat nastavení" smaže veškerá uživatelská nastavení aplikace OnTopReplica a vrátí nastavení do stejného stavu jako po instalaci (všechny uložené informace, jako například uložené výřezy oken, budou ztraceny). + + + Resetovat nastavení + + + Instalovat OnTopReplica {0}? + {0} update version + + + Zrušit aktualizaci +Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. + + + Pokračovat +Instalovat OnTopReplica {0}. + {0} update version + + + Nová verze bude automaticky stažena a nainstalována. + + + Nainstalovaná verze: {0} +Dostupná verze: {1} + {0} installed version number +{1} online available version number + + + Nové aktualizace jsou k dispozici + + + &Storno + + + Autor: Lorenz Cuno Klopfenstein. + + + Označte výřez pomocí myši. + + + Podrobnosti + + + Podrobnosti k Windows Aero + + + Windows Aero je k dispozici pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce 'Desktop Composition' není povolena. + + + Pro pokračování je nutné povolit funkci "Desktop Composition" výběrem tématu 'Windows Aero' v nastavení vzhledu Windows. + +Uvedené lze provést například kliknutním pravým tlačítkem myši na plochu a zvolením akce "Přizpůsobit". + + + Podrobnosti k chybě + + + Chyba: + + + Zvolené okno bylo zavřeno nebo již není platné z jiných důvodů. + + + Chyba + + + Funkce 'Desktop Composition' není ve vašem systému podporována. +Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce Desktop Composition není podporována + + + Náhled nebyl nahrán. + + + Nelze vytvořit náhled. + + + Nelze vložit okno. + + + Kontrola aktualizací se nezdařila. + + + Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte <a href="http://ontopreplica.codeplex.com">domácí stránku aplikace OnTopReplica</a>). + + + Režim + + + Vždy na vrchu + + + Nastaví aplikaci OnTopReplica, aby zůstávala vždy na vrchu. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Standardní + + + Aplikace OnTopReplica se bude chovat jako běžné okno. Jiná okna mohou překrýt okno aplikace. + + + Aplikace OnTopReplica přes celou obrazovku + + + Domácí stránka: www.codeplex.com/ontopreplica. + + + Přejete si povolit "přeposílání kliknutí"? + + + V tomto režimu aplikace OnTopReplica přeposílá kliknutí levého tlačítka myši do zdrojového okna (je tedy možné provádět základní ovládání zdrojového okna bez nutnosti jej aktivovat). + +Ukončit režim "přeposíání kliknutí" je možné opětovným vyvolání položky v menu. + + + Přeposílání kliknutí + + + Povolit "Proklikávání" v celoobrazovkovém režimu? + + + "Proklikávání" funguje pouze pokud je povoleno v menu a okno má nastavenou průhlednost. + + + V tomto režimu se bude okno roztažené přes celou obrazovku chovat jako poloprůhledná vrstva, přes kterou bude možné "proklikávat" na podložená okna. + +K návratu do standardního režimu je možné přejít kdykoli dvojklikem na ikonu v oznamovací oblasti (traye). + + + Ne. +Režim "Proklikávání" je možné zvolit později v menu + + + Používat "Proklikávání" + + + Režim "Proklikávání" + + + Aplikace OnTopReplica byla aktualizována. + + + Pro použití aktualizací je potřeba aplikaci OnTopReplica restartovat. + + + Aktualizace proběhla úspěšně + + + OnTopReplica je aktuální. + + + Žádná aktualizace není k dispozici. + + + Jazyk + + + O aplikaci... + + + Skryje hlavní okno a zobrazí informace "O aplikaci". + + + Okraj + + + Přepínač, který definuje, zda má aplikace OnTopReplica viditelný okraj okna. + + + Přeposílání kliknutí + + + Zapne "přeposílání kliknutí" do zdrojového okna. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Zavřít + + + Ukončí aplikaci OnTopReplica. + + + 2:1 Dvojnásobná + + + Celá obrazovka + + + 1:2 Poloviční + + + 1:1 Jako zdroj + + + 1:4 Čtvrtinová + + + Glass efekt + + + Přepíná "glass efekt" okna. + + + 100% (neprůhledné) + + + Nastaví aplikaci OnTopReplica jako neprůhlednou. + + + 25% + + + Nastaví průhlednost na 25%. + + + 50% + + + Nastaví průhlednost na 50%. + + + 75% + + + Nastaví průhlednost na 75%. + + + Průhlednost + + + Otevřít + + + Zobrazí aplikaci OnTopReplica. + + + Dolní levý roh + + + Dolní pravý roh + + + Umístění + + + Automatická pozice aplikace OnTopReplica vzhledem k obrazovce. + + + Horní levý roh + + + Horní pravý rok + + + Opustit celoobrazovkový režim + + + Ukládat pozici a velikost okna + + + Přepínač, který definuje, zda si má aplikace OnTopReplica ukládat poslední pozici a velikost okna a obnovovat tyto údaje po restartování aplikace. + + + Minimalizovat do traye + + + Minimalizuje aplikaci OnTopReplica jako ikonu v systémové oblasti. + + + Vybrat výřez... + + + Přepne do režimu "výřezu", který umožní zvolit pouze část okna jako náhled. + + + Resetovat nastavení okna + + + Resetuje nastavení a pozici okna aplikace OnTopReplica. + + + Velikost + + + Přepnout do okna + + + Přepne do zdrojového okna a skryje aplikaci OnTopReplica. + + + Vybrat okno + + + - žádné - + + + Zobrazí seznam oken, které je možné použít jako zdroj. + + + - celé okno - + + + Aktuální výřez: + + + Smazat + + + Hotovo + + + Výška + + + Reset + + + Uložit + + + Uložené výřezy + + + Výřezy: + + + Šířka + + + Začněte klepnutím sem pravým tlačítkem myši... + + + Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému. + + + Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. Během této operace nedochází k žádnému přenosu či ukládání uživatelských informací. + + + Zkontroluj aktualizace + + \ No newline at end of file diff --git a/OnTopReplica/Strings.da.resx b/OnTopReplica/Strings.da.resx new file mode 100644 index 0000000..41d3c80 --- /dev/null +++ b/OnTopReplica/Strings.da.resx @@ -0,0 +1,451 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Annuller updateringen + + + Vis detaljer om OnTopReplica. + + + Nulstil alle OnTopReplica indstillinger. + + + Opdater OnTopReplica nu. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licens</h1> + + <p><b>OnTopReplica</b> er licenseret under <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>Dem originale kildekode kan findes på <a href="http://www.codeplex.com/ontopreplica">projektets hjemmeside på CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica er inspireret af <a href="http://insentient.net">Switcher</a> og andre DWM baserede applikationer.</p> + + <p>Alle Vista funktioner er del af <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero biblioteket</a> for .NET.</p> + + <p>Lidt eksempel kode er taget fra <a href="http://www.ookii.org">Ookii</a> på Channel9.</p> + + <p>NativeToolstripRenderer class er taget fra <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Lidt ikoner fra <a href="http://www.vistaico.com">VistaICO.com</a> og Xiao ikon sættet.</p> + + </body> +</html> + + + OnTopReplica + + + Nulstil vinduet helt? + + + &NulstilAlle ændringer vil blive tabt. + + + Kan bruges til at nulstille alle indstillinger hvis du mister kontrollen over vinduet eller hvis det er flyttet uden for skærmen. + + + Nulstil + + + Nulstil indstillinger? + + + Dette nulstiller OnTopReplica til standard indstillingerne (alle gemte informationer, som gemte områder, vil blive slettet). + + + Nulstil indstillingerne + + + Installer OnTopReplica {0}? + {0} update version + + + Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes. + + + FortsætInstaller OnTopReplica + {0} update version + + + Den nye version vil automatiskt blive downloaded og installeret. + + + Installeret version: {0} +Tilgængelig version: {1} + {0} installed version number +{1} online available version number + + + Opdatering tilgængelig. + + + &Annuller + + + Lavet af: Lorenz Cuno Klopfenstein. + + + Tegn områder med musen + + + Detaljer + + + Detaljer om Windows Aero + + + Windows Aero er kun tilgængelig op Windows Vista Home Premium eller højere. + + + Windows Aero effekter er ikke slået til + + + Du skal aktiverere "Windows Aero" som tema i Windows.For at gøre dette skal du højreklikke på skrivebordet og vælge personlige indstillinger. + + + Fejl detaljer. + + + Fejl: + + + Vinduet du har valgt er lukket eller er ikke gyldigt mere. + + + Fejl + + + Windows Aero effekter er ikke understøttet af dit styresystem. +Dette program kræver Windows Vista Home Premium eller bedre. + + + Skrivebords komposition ikke understøttet + + + Ingen miniature indlæst. + + + Kan ikke lave miniature. + + + Kunne ikke passes til vinduet. + + + Kan ikke søge efter opdateringer. + + + OnTopReplica blev ikke installeret ved hjælp af 'ClickOnce'. Du bliver nødt til at opdatere manuelt (besøg <a href="http://ontopreplica.codeplex.com">OnTopReplica's hjemmeside</a>). + + + Tilstande + + + Altid øverst + + + Får OnTopReplica til altid at være øverst. + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Standard + + + Opfører sig som et almindeligt vindue. Du kan trække andre viduer ind over OnTopReplica. + + + OnTopReplica fuld skærm + + + Hjemmeside: www.codeplex.com/ontopreplica. + + + Ønsker du at aktivere "click forwarding"? + + + Hvis denne funktion er aktiveret vil OnTopReplica vidersende alle venstr museklik til det klonede vindue (dette gør dig i stand til at udføre basis musefunktioner i det klonede vindue uden at skulle aktivere det). + +For at afslutte denne funktion skal du højreklikke på OnTopReplica og deaktivere "Click forwarding" i menuen. + + + Click forwarding + + + Ønskes gennem klik i fuldskærms tilstand? + + + Gennem klik virker kun hvis det er blevet aktiveret i gendan undermenuen og hvis vinduet er delvist gennemsigtigt. + + + I denne tilstand vil fuld skærm vinduet opføre sig som et delvist gennemsigtigt lag, hvilket gør dig i stand til at klikke på de underliggende vinduer. + +For at komme tilbage til normal tilstand, dobbeltklik på OnTopReplica ikonet i meddelelsesområdet på proceslinjen. + + + Nej. +Du kan aktivere gennem klik senere. + + + Brug gennem klik. + + + Gennem klik tilstand + + + OnTopReplica er blevet opdateret. + + + For at benytte den opdaterede udgave af OnTopReplica skal du genstarte programmet. + + + Opdatering fuldført + + + OnTopReplice er opdateret. + + + Ingen opdateringer er tilgængelige + + + Sprog + + + Om... + + + Skjuler hoved vinduet og viser om boxen. + + + Krom + + + Vælger Chrome kanten rundt om vinduet til/fra + + + Click forwarding + + + Aktiver "click forwarding" til det klonede vindue + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Luk + + + Lukker OnTopReplica. + + + 2:1 dobbelt + + + Fuld skærm + + + 1:2 halv + + + 1:1 Pas til vinduet + + + 1:4 kvart + + + Glas + + + Vælger "glas tilstand" til/fra + + + 100% (uigennemsigtig) + + + Sæt OnTopReplica til at være helt uigennemsigtig. + + + 25% + + + Sætter OnTopReplica til 25% uigennemsigtighed. + + + 50% + + + Sætter OnTopReplica til 50% uigennemsigtighed. + + + 75% + + + Sætter OnTopReplica til 75% uigennemsigtighed. + + + Uigennemsigtighed + + + åben + + + Viser OnTopReplica. + + + Nederst venstre + + + Nederst højre + + + Position + + + Sæt OnTopReplica automatiskt på den aktuelle skærm. + + + Øverst venstre + + + Øverst højre + + + Afslut fuldskærm tilstand. + + + Gendan sidste position og størrelse + + + Vælger om OnTopReplica skal gemme sidst brugte størrelse og position, til næste gang det starter op. + + + Minimer til systembakken. + + + Minimere OnTopReplica til systembakken. + + + Vælg område... + + + Skifter til "område tilstand", der tillader dig at vælge et begrænset område af kildens vindue som miniature. + + + Nulstil vinduet + + + Nulstiller OnTopReplica indstillingerne og hoved vinduet. + + + Genskab + + + Skift til vindue + + + Skifter til kilde vinduet og gemmer OnTopReplica. + + + Vælg vindue + + + - ingen - + + + Viser en liste af vinduer du kan bruge som miniature kilde. + + + - hele - + + + Aktuelt område: + + + Slet + + + Færdig + + + Højde + + + Nulstil + + + Gem + + + Gemte områder + + + Områder: + + + Bredde + + + Højreklik her for at starte... + + + En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. + + + OnTopReplica checker automatiskt for opdateringer. Der bliver ikke registreret nogen data på noget tidspunkt. + + + Opdater nu! + + \ No newline at end of file diff --git a/OnTopReplica/Strings.de.resx b/OnTopReplica/Strings.de.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.de.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.es.resx b/OnTopReplica/Strings.es.resx new file mode 100644 index 0000000..03bcda0 --- /dev/null +++ b/OnTopReplica/Strings.es.resx @@ -0,0 +1,90 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancelar actualización + + + Mostrar detalles acerca de OnTopReplica + + + Reiniciar la configuración de OnTopReplica + + + Actualizar OnTopReplica ahora + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licencia</h1> + + <p><b>OnTopReplica</b> cuenta con licencia <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>El código fuente original se encuentra en <a href="http://www.codeplex.com/ontopreplica">la página inicial del proyecto en CodePlex</a>.</p> + + <h1>Créditos</h1> + + <p><a href="http://insentient.net">Switcher</a> y otros programas basados en DWM inspiraron OnTopReplica.</p> + + <p>All Vista controls are part of the <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero library</a> for .NET.</p> + + <p>Some example code taken from <a href="http://www.ookii.org">Ookii</a> on Channel9.</p> + + <p>NativeToolstripRenderer class taken from <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> + + </body> +</html> + + + OnTopReplica + + + ¿Reiniciar la ventana? + + + &Reiniciar +Todas las configuraciones se perderán. + + \ No newline at end of file diff --git a/OnTopReplica/Strings.fi.resx b/OnTopReplica/Strings.fi.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.fi.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx new file mode 100644 index 0000000..f8090e3 --- /dev/null +++ b/OnTopReplica/Strings.it.resx @@ -0,0 +1,487 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Annulla il processo di aggiornamento. + + + Mostra dettagli su OnTopReplica. + + + Resetta tutte le impostazioni di OnTopReplica. + + + Aggiorna OnTopReplica ora. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licenza d'utilizzo</h1> + + <p><b>OnTopReplica</b> è rilasciato sotto la licenza <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>Il codice sorgente originale del programma è disponibile sulla <a href="http://www.codeplex.com/ontopreplica">homepage del progetto su CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica è stato inspirato da <a href="http://insentient.net">Switcher</a> ed altre applicazioni basate su DWM.</p> + + <p>I controlli utente specifici per Windows Vista sono parte della libreria <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero</a> per .NET.</p> + + <p>Qualche riga di codice d'esempio presa da <a href="http://www.ookii.org">Ookii</a> su Channel9.</p> + + <p>La classe NativeToolstripRenderer è stata presa da <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Alcune delle icone sono state prese da <a href="http://www.vistaico.com">VistaICO.com</a> e dal set di icone Xiao.</p> + + </body> +</html> + + + OnTopReplica + + + Ripristinare completamente la finestra? + + + &Ripristina +Tutte le impostazioni saranno perse. + + + Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. + + + Ripristino + + + Resettare impostazioni? + + + Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). + + + Reimposta + + + Scaricare OnTopReplica {0}? + {0} update version + + + Annulla aggiornamento +OnTopReplica si aggiornerà in un secondo momento. + + + Continua +Scarica OnTopReplica {0}. + {0} update version + + + Sarà possibile scaricare la nuova versione ed installarla. + + + Versione installata: {0} +Versione disponibile: {1} + {0} installed version number +{1} online available version number + + + Aggiornamento disponibile + + + &Annulla + + + Creato da: Lorenz Cuno Klopfenstein. + + + Disegna una regione usando il mouse. + + + Dettagli + + + Dettagli su Windows Aero + + + Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. + + + Il servizio di Desktop Composition Aero non è attivo. + + + È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows. + +Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. + + + Dettagli errore + + + Errore: + + + Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. + + + Errore + + + La "composzione del desktop" non è supportata dal tuo sistema operativo. +È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. + + + Desktop Composition (DWM) non supportato + + + Nessuna finestra clonata al momento. + + + Impossibile clonare la finestra. + + + Impossibile adattare la finestra. + + + Impossibile controllare gli aggiornamenti. + + + Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + Non è stato possibile controllare se esiste una versione più aggiornata di OnTopReplica. Verificare di essere connessi ad Internet. Se la connessione è attiva, è possibile che il sito ufficiale sia temporaneamente offline. + + + Modalità + + + Sempre in cima + + + OnTopReplica sarà sempre la finestra sopra a tutte le altre. + + + Click through + + + OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. + + + Normale + + + Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. + + + OnTopReplica a pieno schermo + + + Disattiva + + + Abilita modalità + + + Seleziona più finestre per attivare. + + + Modalità Gruppo attivata. + + + Modalità Gruppo di finestre: + + + Finestre + Column Header of list, simply refers to available windows to be cloned + + + Sito internet: www.codeplex.com/ontopreplica. + + + Attivare la modalità di inoltro dei clic? + + + In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano). + +Per uscire da questa modalità, usa il tasto ESC. + + + Inoltro dei clic + + + Attivare la modalità Click-Through? + + + La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. + + + In questa modalità la finestra clonata si comporterà come una maschera semitrasparente che permette di cliccare sulle finestre dietro di essa. + +Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). + + + No, grazie. +Puoi abilitare il Click-Through in futuro + + + Abilita Click-Through + + + Modalità Click-Through + + + OnTopReplica è stato aggiornato. + + + Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. + + + Aggiornamento completato + + + La versione più aggiornata è già installata. + + + Nessun aggiornamento disponibile + + + Lingua + + + A proposito di... + + + Nasconde la finestra principale e mostra una schermata di informazioni. + + + Avanzate + + + Bordo + + + Abilita o disabilita il bordo della finestra. + + + Inoltro dei clic + + + Attiva la modalità di "inoltro dei clic" alla finestra clonata. + + + Abilita Click-Through + + + OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa. + + + Chiudi + + + Termina OnTopReplica. + + + 2:1 Doppio + + + Tutto schermo + + + 1:2 Metà + + + 1:1 Clone esatto + + + 1:4 Quarto + + + Effetto vetro + + + Abilita o disabilita l'effetto vetro. + + + Modalità Gruppo di finestre + + + OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo. + + + 100% (opaco) + + + Imposta OnTopReplica come finestra completamente opaca. + + + 25% + + + Imposta l'opacità di OnTopReplica al 25%. + + + 50% + + + Imposta l'opacità di OnTopReplica al 50%. + + + 75% + + + Imposta l'opacità di OnTopReplica al 75%. + + + Opacità + + + Apri + + + Attiva la finestra di OnTopReplica. + + + In basso a sinistra + + + In basso a destra + + + Posizione + + + Posiziona automaticamente OnTopReplica sul monitor corrente. + + + In alto a sinistra + + + In alto a destra + + + Esci da tutto schermo + + + Ripristina posizione e grandezza + + + Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. + + + Minimizza + + + Riduce OnTopReplica ad un'icona nella barra delle applicazioni. + + + Seleziona regione... + + + Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. + + + Reimposta finestra + + + Reimposta OnTopReplica e la sua finestra principale. + + + Ridimensionamento + + + Vai alla finestra originale + + + Mostra la finestra originale e nasconde OnTopReplica. + + + Seleziona finestra + + + - nessuna - + + + Mostra una lista di finestre che è possibile clonare. + + + - intera - + + + Regione corrente: + + + Cancella + + + Chiudi + + + Altezz. + + + Reset + + + Salva + + + Regioni memorizzate + + + Regioni: + + + Largh. + + + Clic destro qui per iniziare... + + + Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta. + + + OnTopReplica controlla automaticamente se sono presenti aggiornamenti. + + + Aggiorna! + + \ No newline at end of file diff --git a/OnTopReplica/Strings.no.resx b/OnTopReplica/Strings.no.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.no.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.pt.resx b/OnTopReplica/Strings.pt.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.pt.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx new file mode 100644 index 0000000..670c5a7 --- /dev/null +++ b/OnTopReplica/Strings.resx @@ -0,0 +1,487 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>License</h1> + + <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>The original source code can be found on the <a href="http://www.codeplex.com/ontopreplica">project's homepage on CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica was inspired by <a href="http://insentient.net">Switcher</a> and other DWM based applications.</p> + + <p>All Vista controls are part of the <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero library</a> for .NET.</p> + + <p>Some example code taken from <a href="http://www.ookii.org">Ookii</a> on Channel9.</p> + + <p>NativeToolstripRenderer class taken from <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> + + </body> +</html> + + + OnTopReplica + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + Download OnTopReplica {0}? + {0} update version + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + {0} update version + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + {0} installed version number +{1} online available version number + + + Update available + + + &Cancel + + + Created by: Lorenz Cuno Klopfenstein. + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail. + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Chrome + + + Toggles the display of the window chrome. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Glass + + + Toggles "glass mode" on and off. + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Position + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + OnTopReplica automatically checks for updates. No information is logged at any point. + + + Update now! + + \ No newline at end of file diff --git a/OnTopReplica/Strings.ru.resx b/OnTopReplica/Strings.ru.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.ru.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs new file mode 100644 index 0000000..ab2fa23 --- /dev/null +++ b/OnTopReplica/ThumbnailPanel.cs @@ -0,0 +1,446 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using VistaControls.Dwm; +using VistaControls.ThemeText; +using System.Drawing; +using System.Windows.Forms.VisualStyles; +using OnTopReplica.Native; + +namespace OnTopReplica { + + class ThumbnailPanel : Panel { + + //DWM Thumbnail stuff + Thumbnail _thumbnail = null; + Rectangle _regionCurrent; + + //Labels + ThemedLabel _labelGlass; + + public ThumbnailPanel() { + InitFormComponents(); + } + + private void InitFormComponents() { + BackColor = Color.Black; + + //Themed Label + _labelGlass = new ThemedLabel { + Dock = DockStyle.Fill, + ForeColor = SystemColors.ControlText, + Location = Point.Empty, + Size = ClientSize, + Name = "labelGlass", + Text = Strings.RightClick, + TextAlign = HorizontalAlignment.Center, + TextAlignVertical = VerticalAlignment.Center + }; + this.Controls.Add(_labelGlass); + } + + #region Properties and settings + + /// + /// Gets or sets the region that is currently shown on the thumbnail. When set, also enabled region constrain. + /// + public Rectangle SelectedRegion { + get { + return _regionCurrent; + } + set { + _regionCurrent = value; + ConstrainToRegion = true; + } + } + + bool _regionEnabled = false; + + /// + /// Gets or sets whether the thumbnail is constrained to a region or not. + /// + public bool ConstrainToRegion { + get { + return _regionEnabled; + } + set { + _regionEnabled = value; + UpdateThubmnail(); + } + } + + bool _drawMouseRegions = false; + + /// + /// Gets or sets whether the control is is "region drawing" mode and reports them via events. + /// + public bool DrawMouseRegions { + get { + return _drawMouseRegions; + } + set { + //Set mode and reset region + _drawMouseRegions = value; + _drawingRegion = false; + + //Cursor change + Cursor = (value) ? Cursors.Cross : Cursors.Default; + + //Refresh gui + UpdateThubmnail(); + _labelGlass.Visible = !value; + this.Invalidate(); + } + } + + /// + /// Gets the target opacity of the thumbnail, depending on the control's state. + /// + protected byte ThumbnailOpacity { + get { + return (_drawMouseRegions) ? (byte)130 : (byte)255; + } + } + + /// + /// Gets or sets whether the control should report clicks made on the cloned thumbnail. + /// + public bool ReportThumbnailClicks { + get; + set; + } + + /// + /// Gets the thumbnail's original size. + /// + public Size ThumbnailOriginalSize { + get { + if (_thumbnail != null && !_thumbnail.IsInvalid) { + if (_regionEnabled) + return _regionCurrent.Size; + + return _thumbnail.SourceSize; + } + else + throw new Exception(Strings.ErrorNoThumbnail); + } + } + + #endregion + + #region GUI event handling + + protected override void OnResize(EventArgs eventargs) { + base.OnResize(eventargs); + UpdateThubmnail(); + } + + protected override void WndProc(ref Message m) { + base.WndProc(ref m); + + //Make transparent to hit-testing if clicks must not be registered + if (m.Msg == WM.NCHITTEST && m.Result.ToInt32() == HT.CLIENT && + !DrawMouseRegions && !ReportThumbnailClicks) { + + m.Result = new IntPtr(HT.TRANSPARENT); + } + } + + #endregion + + #region Thumbnail interface + + /// + /// Creates a new thumbnail of a certain window. + /// + /// Handle of the window to clone. + public void SetThumbnailHandle(WindowHandle handle) { + if (_thumbnail != null && !_thumbnail.IsInvalid) + _thumbnail.Close(); + + //Get form and register thumbnail on it + Form owner = this.TopLevelControl as Form; + if(owner == null) + throw new Exception("Internal error: ThumbnailPanel.TopLevelControl is not a Form."); + + _labelGlass.Visible = false; + + _thumbnail = DwmManager.Register(owner, handle.Handle); + ConstrainToRegion = false; //this also invokes a thumbnail update + } + + /// + /// Disposes current thumbnail and enters stand-by mode. + /// + public void UnsetThumbnail() { + if (_thumbnail != null && !_thumbnail.IsInvalid) + _thumbnail.Close(); + + _thumbnail = null; + _labelGlass.Visible = true; + } + + /// + /// Gets whether the control is currently displaying a thumbnail. + /// + public bool IsShowingThumbnail { + get { + return (_thumbnail != null && !_thumbnail.IsInvalid); + } + } + + int _padWidth = 0; + int _padHeight = 0; + Size _thumbnailSize; + + /// + /// Updates the thumbnail options and the right-click label. + /// + private void UpdateThubmnail() { + if (_thumbnail != null && !_thumbnail.IsInvalid){ + try { + Size sourceSize = ThumbnailOriginalSize; + _thumbnailSize = ComputeIdealSize(sourceSize, Size); + + _padWidth = (Size.Width - _thumbnailSize.Width) / 2; + _padHeight = (Size.Height - _thumbnailSize.Height) / 2; + + var target = new Rectangle(_padWidth, _padHeight, _thumbnailSize.Width, _thumbnailSize.Height); + Rectangle source = (_regionEnabled) ? _regionCurrent : new Rectangle(Point.Empty, _thumbnail.SourceSize); + + _thumbnail.Update(target, source, ThumbnailOpacity, true, true); + } + catch { + //Any error updating the thumbnail forces to unset (handle may not be valid anymore) + UnsetThumbnail(); + return; + } + } + } + + /// + /// Computes ideal thumbnail size given an original size and a target to fit. + /// + /// Size of the original thumbnail. + /// Size of the client area to fit. + private Size ComputeIdealSize(Size sourceSize, Size clientSize) { + double sourceRatio = (double)sourceSize.Width / (double)sourceSize.Height; + double clientRatio = (double)clientSize.Width / (double)clientSize.Height; + + Size ret; + if (sourceRatio >= clientRatio) { + ret = new Size(clientSize.Width, (int)((double)clientSize.Width / sourceRatio)); + } + else { + ret = new Size((int)((double)clientSize.Height * sourceRatio), clientSize.Height); + } + + return ret; + } + + #endregion + + #region Region drawing + + //Set if currently drawing a window (first click/drag was initiated) + bool _drawingRegion = false; + //Set if drawing was suspended because the mouse left the control + bool _drawingSuspended = false; + Point _regionStartPoint; + Point _regionLastPoint; + + public delegate void RegionDrawnHandler(object sender, Rectangle region); + + public event RegionDrawnHandler RegionDrawn; + + protected virtual void OnRegionDrawn(Rectangle region) { + //Fix region if necessary (bug report by Gunter, via comment) + if (region.Width < 1) region.Width = 1; + if (region.Height < 1) region.Height = 1; + + var evt = RegionDrawn; + if (evt != null) + evt(this, region); + } + + /// + /// Raises a RegionDrawn event, given a starting and an ending point of the drawn region. + /// + protected void RaiseRegionDrawn(Point start, Point end) { + if (_thumbnailSize.Width < 1 || _thumbnailSize.Height < 1) //causes DivBy0 + return; + + //Compute bounds + int left = Math.Min(start.X, end.X); + int right = Math.Max(start.X, end.X); + int top = Math.Min(start.Y, end.Y); + int bottom = Math.Max(start.Y, end.Y); + + //Clip to boundaries + left = Math.Max(0, left); + right = Math.Min(_thumbnailSize.Width, right); + top = Math.Max(0, top); + bottom = Math.Min(_thumbnailSize.Height, bottom); + + //Compute region rectangle in thumbnail coordinates + var startPoint = ClientToThumbnail(new Point(left, top)); + var endPoint = ClientToThumbnail(new Point(right, bottom)); + var final = new Rectangle( + startPoint, + new Size(endPoint.X - startPoint.X, endPoint.Y - startPoint.Y) + ); + + //Update region + SelectedRegion = final; + OnRegionDrawn(final); + } + + protected override void OnMouseDown(MouseEventArgs e) { + if (DrawMouseRegions && e.Button == MouseButtons.Left) { + //Start new region drawing + _drawingRegion = true; + _drawingSuspended = false; + _regionStartPoint = _regionLastPoint = e.Location; + + this.Invalidate(); + } + + base.OnMouseDown(e); + } + + protected override void OnMouseUp(MouseEventArgs e) { + if (_drawMouseRegions && e.Button == MouseButtons.Left) { + //Region completed + _drawingRegion = false; + _drawingSuspended = false; + RaiseRegionDrawn(_regionStartPoint, _regionLastPoint); + + this.Invalidate(); + } + + base.OnMouseUp(e); + } + + protected override void OnMouseLeave(EventArgs e) { + _drawingSuspended = true; + + this.Invalidate(); + + base.OnMouseLeave(e); + } + + protected override void OnMouseEnter(EventArgs e) { + _drawingSuspended = false; + + this.Invalidate(); + + base.OnMouseEnter(e); + } + + protected override void OnMouseMove(MouseEventArgs e) { + if (_drawingRegion && e.Button == MouseButtons.Left) { + //Continue drawing + _regionLastPoint = e.Location; + + this.Invalidate(); + } + else if(DrawMouseRegions && !_drawingRegion){ + //Keep track of region start point + _regionLastPoint = e.Location; + + this.Invalidate(); + } + + base.OnMouseMove(e); + } + + Pen penRed = new Pen(Color.FromArgb(255, Color.Red), 1.0f); + + protected override void OnPaint(PaintEventArgs e) { + if (_drawingRegion) { + //Is currently drawing, show rectangle + int left = Math.Min(_regionStartPoint.X, _regionLastPoint.X); + int right = Math.Max(_regionStartPoint.X, _regionLastPoint.X); + int top = Math.Min(_regionStartPoint.Y, _regionLastPoint.Y); + int bottom = Math.Max(_regionStartPoint.Y, _regionLastPoint.Y); + + e.Graphics.DrawRectangle(penRed, left, top, right - left, bottom - top); + } + else if (DrawMouseRegions && ! _drawingSuspended) { + //Show cursor coordinates + e.Graphics.DrawLine(penRed, new Point(0, _regionLastPoint.Y), new Point(ClientSize.Width, _regionLastPoint.Y)); + e.Graphics.DrawLine(penRed, new Point(_regionLastPoint.X, 0), new Point(_regionLastPoint.X, ClientSize.Height)); + } + + base.OnPaint(e); + } + + #endregion + + #region Thumbnail clone click + + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); + + if (_thumbnail == null) + return; + + //Raise clicking event to allow click forwarding + if (ReportThumbnailClicks) { + OnCloneClick(ClientToThumbnail(e.Location), e.Button, false); + } + } + + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); + + if (_thumbnail == null) + return; + + //Raise double clicking event to allow click forwarding + if (ReportThumbnailClicks) { + OnCloneClick(ClientToThumbnail(e.Location), e.Button, true); + } + } + + /// + /// Is raised when the thumbnail clone is clicked. + /// + public event EventHandler CloneClick; + + protected virtual void OnCloneClick(Point location, MouseButtons buttons, bool doubleClick){ + var evt = CloneClick; + if(evt != null) + evt(this, new CloneClickEventArgs(location, buttons, doubleClick)); + } + + #endregion + + /// + /// Convert a point in client coordinates to a point expressed in terms of a cloned thumbnail window. + /// + /// Point in client coordinates. + protected Point ClientToThumbnail(Point position) { + //Compensate padding + position.X -= _padWidth; + position.Y -= _padHeight; + + PointF proportionalPosition = new PointF( + (float)position.X / _thumbnailSize.Width, + (float)position.Y / _thumbnailSize.Height + ); + + //Get real pixel region info + Size source = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; + Point offset = (_regionEnabled) ? _regionCurrent.Location : Point.Empty; + + return new Point( + (int)((proportionalPosition.X * source.Width) + offset.X), + (int)((proportionalPosition.Y * source.Height) + offset.Y) + ); + } + + } + +} diff --git a/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs b/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs new file mode 100644 index 0000000..6482835 --- /dev/null +++ b/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Update { + class UpdateCheckCompletedEventArgs : EventArgs { + + public UpdateInformation Information { get; set; } + + public bool Success { get; set; } + + public Exception Error { get; set; } + + } +} diff --git a/OnTopReplica/Update/UpdateInformation.cs b/OnTopReplica/Update/UpdateInformation.cs new file mode 100644 index 0000000..f605223 --- /dev/null +++ b/OnTopReplica/Update/UpdateInformation.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.IO; +using System.Xml; + +namespace OnTopReplica.Update { + + /// + /// Contains information about the latest OnTopReplica update available. + /// + public class UpdateInformation { + + Version _latestVersion; + + /// + /// Gets the latest available version of the software. + /// + [XmlIgnore] + public Version LatestVersion { + get { + return _latestVersion; + } + set { + _latestVersion = value; + } + } + + [XmlElement("latestVersion")] + public string LatestVersionInternal { + get { + return _latestVersion.ToString(); + } + set { + _latestVersion = new Version(value); + } + } + + /// + /// Indicates when the latest version was released. + /// + [XmlElement("latestVersionRelease")] + public DateTime LatestVersionRelease { get; set; } + + /// + /// Gets the URL of the page that allows the user to download the updated installer. + /// + [XmlElement("downloadPage")] + public string DownloadPage { get; set; } + + /// + /// Deserializes an UpdateInformation object from a stream. + /// + public static UpdateInformation Deserialize(Stream source) { + var serializer = new XmlSerializer(typeof(UpdateInformation)); + var info = serializer.Deserialize(source) as UpdateInformation; + return info; + } + + public static string Serialize(UpdateInformation information) { + var serializer = new XmlSerializer(typeof(UpdateInformation)); + var sb = new StringBuilder(); + using(var writer = new StringWriter(sb)){ + serializer.Serialize(writer, information); + } + return sb.ToString(); + } + + } + +} diff --git a/OnTopReplica/Update/UpdateManager.cs b/OnTopReplica/Update/UpdateManager.cs new file mode 100644 index 0000000..bb2a5b5 --- /dev/null +++ b/OnTopReplica/Update/UpdateManager.cs @@ -0,0 +1,106 @@ +using System; +using System.Collections.Generic; +using System.Net; +using System.Text; +using System.Net.Cache; +using System.IO; +using System.Reflection; +using VistaControls.TaskDialog; +using System.Diagnostics; +using System.Windows.Forms; +using System.Threading; + +namespace OnTopReplica.Update { + + class UpdateManager { + + const string UpdateManifestUrl = "http://www.klopfenstein.net/public/Uploads/ontopreplica/update.xml"; + + public void CheckForUpdate() { + ThreadPool.QueueUserWorkItem(new WaitCallback(o => { + //Build web request + var request = (HttpWebRequest)HttpWebRequest.Create(UpdateManifestUrl); + request.AllowAutoRedirect = true; + request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; + request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache); + + try { + //Begin request + var response = request.GetResponse(); + var info = UpdateInformation.Deserialize(response.GetResponseStream()); + + OnUpdateCheckSuccess(info); + } + catch (Exception ex) { + OnUpdateCheckError(ex); + return; + } + })); + } + + public event EventHandler UpdateCheckCompleted; + + protected virtual void OnUpdateCheckError(Exception ex) { + var evt = UpdateCheckCompleted; + if (evt != null) { + evt(this, new UpdateCheckCompletedEventArgs { + Success = false, + Error = ex + }); + } + } + + protected virtual void OnUpdateCheckSuccess(UpdateInformation information) { + var evt = UpdateCheckCompleted; + if (evt != null) { + evt(this, new UpdateCheckCompletedEventArgs { + Success = true, + Information = information + }); + } + } + + /// + /// Handles the results of an update check. Must be called from main GUI thread. + /// + /// The retrieved update information. + /// Determines if the lack of updates should be notified to the user. + public void HandleUpdateCheck(Form parent, UpdateInformation information, bool verbose) { + if (information == null) + return; + + var currentVersion = Assembly.GetExecutingAssembly().GetName().Version; + + if (information.LatestVersion > currentVersion) { + //New version found + var dlg = new TaskDialog( + string.Format(Strings.AskUpdate, information.LatestVersion), + Strings.AskUpdateTitle, + Strings.AskUpdateContent) { + CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, string.Format(Strings.AskUpdateButtonOk, information.LatestVersion)), + new CustomButton(Result.Cancel, Strings.AskUpdateButtonCancel) + }, + UseCommandLinks = true, + CommonIcon = TaskDialogIcon.Information, + ExpandedInformation = string.Format(Strings.AskUpdateExpanded, currentVersion, information.LatestVersion) + }; + + if (dlg.Show(parent).CommonButton == Result.OK) { + Process.Start(information.DownloadPage); + } + } + else if(verbose) { + //No updates, but need to inform the user + var dlg = new TaskDialog(Strings.InfoUpToDate, Strings.InfoUpToDateTitle) { + CommonButtons = TaskDialogButton.OK, + CommonIcon = TaskDialogIcon.Information, + Footer = information.LatestVersion.ToString() + }; + dlg.Show(); + } + } + + } + +} diff --git a/OnTopReplica/Win32Helper.cs b/OnTopReplica/Win32Helper.cs new file mode 100644 index 0000000..49709ab --- /dev/null +++ b/OnTopReplica/Win32Helper.cs @@ -0,0 +1,122 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + public static class Win32Helper { + + /// Inject a fake left mouse click on a target window, on a location expressed in client coordinates. + /// Target window to click on. + /// Location of the mouse click expressed in client coordiantes of the target window. + /// True if a double click should be injected. + public static void InjectFakeMouseClick(IntPtr window, CloneClickEventArgs clickArgs) { + NPoint clientClickLocation = NPoint.FromPoint(clickArgs.ClientClickLocation); + NPoint scrClickLocation = WindowManagerMethods.ClientToScreen(window, clientClickLocation); + + //HACK (?) + //If target window has a Menu (which appears on the thumbnail) move the clicked location down + //in order to adjust (the menu isn't part of the window's client rect). + IntPtr hMenu = WindowMethods.GetMenu(window); + if (hMenu != IntPtr.Zero) + scrClickLocation.Y -= SystemInformation.MenuHeight; + + IntPtr hChild = GetRealChildControlFromPoint(window, scrClickLocation); + NPoint clntClickLocation = WindowManagerMethods.ScreenToClient(hChild, scrClickLocation); + + if (clickArgs.Buttons == MouseButtons.Left) { + if(clickArgs.IsDoubleClick) + InjectDoubleLeftMouseClick(hChild, clntClickLocation); + else + InjectLeftMouseClick(hChild, clntClickLocation); + } + else if (clickArgs.Buttons == MouseButtons.Right) { + if(clickArgs.IsDoubleClick) + InjectDoubleRightMouseClick(hChild, clntClickLocation); + else + InjectRightMouseClick(hChild, clntClickLocation); + } + } + + private static void InjectLeftMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.LBUTTONDOWN, new IntPtr(MK.LBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.LBUTTONUP, new IntPtr(MK.LBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Left click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectRightMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.RBUTTONDOWN, new IntPtr(MK.RBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.RBUTTONUP, new IntPtr(MK.RBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Right click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectDoubleLeftMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.LBUTTONDBLCLK, new IntPtr(MK.LBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Double left click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectDoubleRightMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.RBUTTONDBLCLK, new IntPtr(MK.RBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Double right click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + /// Returns the child control of a window corresponding to a screen location. + /// Parent window to explore. + /// Child control location in screen coordinates. + private static IntPtr GetRealChildControlFromPoint(IntPtr parent, NPoint scrClickLocation) { + IntPtr curr = parent, child = IntPtr.Zero; + do { + child = WindowManagerMethods.RealChildWindowFromPoint(curr, + WindowManagerMethods.ScreenToClient(curr, scrClickLocation)); + + if (child == IntPtr.Zero || child == curr) + break; + + //Update for next loop + curr = child; + } + while (true); + + //Safety check, shouldn't happen + if (curr == IntPtr.Zero) + curr = parent; + + return curr; + } + + /// + /// Gets a handle to the window that currently is in the foreground. + /// + /// May return null if call fails or no valid window selected. + public static WindowHandle GetCurrentForegroundWindow() { + IntPtr handle = WindowManagerMethods.GetForegroundWindow(); + if (handle == IntPtr.Zero) + return null; + + return new WindowHandle(handle, string.Empty); + } + + } +} diff --git a/OnTopReplica/WindowHandle.cs b/OnTopReplica/WindowHandle.cs new file mode 100644 index 0000000..61eaf2f --- /dev/null +++ b/OnTopReplica/WindowHandle.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using OnTopReplica.Native; + +namespace OnTopReplica { + + /// Helper class that keeps a window handle (HWND), the title of the window and can load its icon. + public class WindowHandle : System.Windows.Forms.IWin32Window { + IntPtr _handle; + string _title; + + public WindowHandle(IntPtr p, string title) { + _handle = p; + _title = title; + } + + public string Title { + get { + return _title; + } + } + + Icon _icon = null; + bool _iconFetched = false; + public Icon Icon { + get { + if (!_iconFetched) { + //Fetch icon from window + IntPtr hIcon; + + if (MessagingMethods.SendMessageTimeout(_handle, WM.GETICON, new IntPtr(2), new IntPtr(0), + MessagingMethods.SendMessageTimeoutFlags.AbortIfHung | MessagingMethods.SendMessageTimeoutFlags.Block, 500, out hIcon) == IntPtr.Zero) + hIcon = IntPtr.Zero; + + if (hIcon.ToInt64() != 0) { + _icon = Icon.FromHandle(hIcon); + } + else { + //Fetch icon from window class + hIcon = (IntPtr)WindowMethods.GetClassLong(_handle, WindowMethods.ClassLong.IconSmall); + + if (hIcon.ToInt64() != 0) { + _icon = Icon.FromHandle(hIcon); + } + } + } + + _iconFetched = true; + + return _icon; + } + } + + public override string ToString() { + return _title; + } + + public override bool Equals(object obj) { + if (ReferenceEquals(obj, this)) + return true; + + System.Windows.Forms.IWin32Window win = obj as System.Windows.Forms.IWin32Window; + + if (win == null) + return false; + + return (win.Handle == _handle); + } + + public override int GetHashCode() { + return _handle.GetHashCode(); + } + + #region IWin32Window Members + + public IntPtr Handle { + get { return _handle; } + } + + #endregion + + } +} diff --git a/OnTopReplica/WindowListHelper.cs b/OnTopReplica/WindowListHelper.cs new file mode 100644 index 0000000..88f7964 --- /dev/null +++ b/OnTopReplica/WindowListHelper.cs @@ -0,0 +1,111 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica { + static class WindowListHelper { + + public class WindowSelectionData { + public WindowHandle Handle { get; set; } + public StoredRegion Region { get; set; } + } + + const int MaxWindowTitleLength = 55; + + public static void PopulateMenu(Form ownerForm, WindowManager windowManager, ToolStrip menu, + WindowHandle currentHandle, EventHandler clickHandler) { + var regions = GetRegions(); + + //Clear + menu.Items.Clear(); + + //"None" selection + var nullTsi = new ToolStripMenuItem(Strings.MenuWindowsNone); + nullTsi.Tag = null; + nullTsi.Click += clickHandler; + nullTsi.Checked = (currentHandle == null); + menu.Items.Add(nullTsi); + + //Add an item for each window + foreach (WindowHandle h in windowManager.Windows) { + //Skip if in the same process + if (h.Handle.Equals(ownerForm.Handle)) + continue; + + var tsi = new ToolStripMenuItem(); + + //Window title + if (h.Title.Length > MaxWindowTitleLength) { + tsi.Text = h.Title.Substring(0, MaxWindowTitleLength) + "..."; + tsi.ToolTipText = h.Title; + } + else + tsi.Text = h.Title; + + //Icon + if (h.Icon != null) { + tsi.Image = h.Icon.ToBitmap(); + } + + //Check if this is the currently displayed window + tsi.Checked = h.Equals(currentHandle); + + //Add direct click if no stored regions + tsi.Tag = new WindowSelectionData { + Handle = h, + Region = null + }; + tsi.Click += clickHandler; + + PopulateRegions(tsi, h, clickHandler, regions); + + menu.Items.Add(tsi); + } + + } + + private static void PopulateRegions(ToolStripMenuItem tsi, WindowHandle handle, + EventHandler clickHandler, IEnumerable regions) { + + if (regions != null) { + //Add subitem for no region + var nullRegionItem = new ToolStripMenuItem(Strings.MenuWindowsWholeRegion); + nullRegionItem.Tag = new WindowSelectionData { + Handle = handle, + Region = null + }; + nullRegionItem.Image = Resources.regions; + nullRegionItem.Click += clickHandler; + tsi.DropDownItems.Add(nullRegionItem); + + foreach (StoredRegion region in regions) { + var regionItem = new ToolStripMenuItem(region.Name); + regionItem.Tag = new WindowSelectionData { + Handle = handle, + Region = region + }; + regionItem.Click += clickHandler; + + tsi.DropDownItems.Add(regionItem); + } + } + } + + private static IEnumerable GetRegions() { + if (Settings.Default.SavedRegions == null || Settings.Default.SavedRegions.Count == 0) + return null; + + StoredRegion[] regions = new StoredRegion[Settings.Default.SavedRegions.Count]; + Settings.Default.SavedRegions.CopyTo(regions); + + Array.Sort(regions, new Comparison((a, b) => { + return a.Name.CompareTo(b.Name); + })); + + return regions; + } + + } +} diff --git a/OnTopReplica/WindowManager.cs b/OnTopReplica/WindowManager.cs new file mode 100644 index 0000000..0af3ba9 --- /dev/null +++ b/OnTopReplica/WindowManager.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica { + /// A helper class that allows you to easily build and keep a list of Windows (in the form of WindowHandle objects). + public class WindowManager { + + List _windows = new List(); + + public enum EnumerationMode { + /// All windows with 'Visible' flag. + AllVisible, + + /// All top level windows. + AllTopLevel, + + /// Windows of a task (like Alt+Tab). + TaskWindows + } + + /// Refreshes the window list. + public void Refresh(EnumerationMode mode) { + _windows = new List(); + + WindowManagerMethods.EnumWindowsProc proc = null; + switch (mode) { + case EnumerationMode.AllVisible: + proc = new WindowManagerMethods.EnumWindowsProc(EnumWindowProcAll); + break; + + case EnumerationMode.AllTopLevel: + proc = new WindowManagerMethods.EnumWindowsProc(EnumWindowProcTopLevel); + break; + + case EnumerationMode.TaskWindows: + proc = new WindowManagerMethods.EnumWindowsProc(EnumWindowProcTask); + break; + } + + WindowManagerMethods.EnumWindows(proc, IntPtr.Zero); + } + + + public IEnumerable Windows { + get { + return _windows; + } + } + + + + private bool EnumWindowProcAll(IntPtr hwnd, IntPtr lParam) { + if (WindowManagerMethods.IsWindowVisible(hwnd)) { + string title = WindowMethods.GetWindowText(hwnd); + _windows.Add( new WindowHandle(hwnd, title)); + } + return true; + } + + private bool EnumWindowProcTopLevel(IntPtr hwnd, IntPtr lParam) { + if (WindowManagerMethods.IsWindowVisible(hwnd)) { + //Check if window has no parent + if ((long)WindowManagerMethods.GetParent(hwnd) == 0 && WindowManagerMethods.GetDesktopWindow() != hwnd) { + string title = WindowMethods.GetWindowText(hwnd); + _windows.Add( new WindowHandle(hwnd, title)); + } + } + return true; + } + + private bool EnumWindowProcTask(IntPtr hwnd, IntPtr lParam) { + //Code taken from: http://www.thescarms.com/VBasic/alttab.aspx + + //Accept windows that + // - are visible + // - do not have a parent + // - have no owner and are not Tool windows OR + // - have an owner and are App windows + + //Reject empty titles + + string title = WindowMethods.GetWindowText(hwnd); + if (string.IsNullOrEmpty(title)) + return true; + + if (WindowManagerMethods.IsWindowVisible(hwnd)) { + if ((long)WindowManagerMethods.GetParent(hwnd) == 0) { + bool hasOwner = (long)WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; + WindowMethods.WindowExStyles exStyle = (WindowMethods.WindowExStyles)WindowMethods.GetWindowLong(hwnd, WindowMethods.WindowLong.ExStyle); + + if (((exStyle & WindowMethods.WindowExStyles.ToolWindow) == 0 && !hasOwner) || //unowned non-tool window + ((exStyle & WindowMethods.WindowExStyles.AppWindow) == WindowMethods.WindowExStyles.AppWindow && hasOwner)) { //owned application window + _windows.Add(new WindowHandle(hwnd, title)); + } + } + } + + return true; + } + + } +} diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config new file mode 100644 index 0000000..f10287c --- /dev/null +++ b/OnTopReplica/app.config @@ -0,0 +1,42 @@ + + + + +
    + + + + + + True + + + 255 + + + (Default) + + + True + + + True + + + True + + + True + + + False + + + + + + + + + + diff --git a/OriginalAssets/icon.pdn b/OriginalAssets/icon.pdn new file mode 100644 index 0000000000000000000000000000000000000000..b6e0be2b3dcb0ad64f68710138b6e7903dbc4ad1 GIT binary patch literal 30322 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�<&}G` zTn7N`KXCp7kDU06R5(KNzw|VE$tY3v@6_?5uIS3@FKQNi$UqL8M1+z#Tk#JB5?Jz) z&-}tq?jsic*qH@V0iDj`3Xy;xeD3u>dexpQ>QCAV0053Ybo}E}Q_bnwty{Kk-*(~l zBWK=ooV*Fmtis;N zq0fNPQh0Iq=6O`<4^*iV4kf_8Y^3c~1=vCb*kT)I3+IZ^@h{r6wlPYyIEG(Zs9*wQWKh@jfA5L+?X$-MoW zc+a47k>T5@*G!{XGcg)A#+Kvu981vE%l;DHmL+EWFD+$b_6dLkaJ*d|LJ;Lf^&!U+ zV2aW);UH1UF5%&jz%fcCMlg{EmQXotiR8jpAf*}vw&@6sC}{v{scB(+{KyPRUMQP0FHmG-68;No7uW^_QDhgtWdjT+cL+t-=6hLc46^^g!X;t2@<#!mFyAQMgy6Ci4hn82W0$6GPc z#HDMQ@If+gsF&|0X@oO|Ai$l(9W$*h1jA>B%mpU8i3RrnLYzR{#$v7}5=tiUj^H62 z!9r;m*`rY6?P&SxlA&p4ebe+k({Kah>WS$SP|o;`W+~Z1>Zi`F@lpQ9{(=NnNy-4z zhNY?kY~^uC^|lotNH?`yD}V(MCCQYQMPX-@G9kpPhfn}8dh`sDz=ckC39jH5J#Re$ z@Ze(~gBdtGyLH>nxeK=+eB|v{b$WZ7j&x>B;=W0%xlR*UQ=d8j3K7rxnM5}9_z>Ab zUOZco_Wk1><~WilZC=p0DJDSF>RPqK6D<4n!IwW#k)Ea!Jp_r%GVuY3X)TSUz%khO z@5S-MBN$5(2bZ4fHmpV)L}jcekl|D3sw3nmAg!%G9Gm`N#DGc1DfcMeV21?gAxR&y z6i9LmvL=DOZt@YSsgdKF2bM&cCduSNRE-AAaNT*}0LCbHa0-CnUkFvxrN2QkosAfRZ}rH&t=U@&_)g9api2k;)|;^$`jU;PHT z4wTUrFktIQ$&R(T1J0F2l4S&+0K&g;?_#B~J36 z&h3zW)MOWLMzaD}HIh-K>%BUnbiad~)kVa91s{{?Nm8L6O-!4>FikdW6BSU2CD1zt z!WiTgY6s>nGMvZ4NjRH|>m#IdTE?AIbiZOR4Y0C6Fg1=MtYHDsPae(a??>Khq7q4FK-%otGDW)CQK^eCF zC2PiuI}~o)OvEvGLcMNH1J(dkMiVL{<{u2703^c-k+tE-vq#Wts+s8f5K9m?pPSG% zJC?pb&AMz{!D3$cL&|jn8E;{W!A8D+WOp09(^U4-)65!GoJ})=?%v$hh~X zY$oL;i#cp1$NmlOX^iY8`hMQM9pK) zuVbO4n%b6WG7F@H*QQtU+?qdm%`5IthXQ~Fv{x@&cg!1_?S^T# zNL?WFhZ{iUrbkj?027Z_hz^AJN)RO{Kea*kTNxPLU^#BoWy@IfDngeLdebD7kxbdd$#mr61IijiUcj~BpN>Yy zSOqLBF46q=e&mJE0|3@X0vvqcp+9T4+XR3uvycGY(K`qLdz(IQN+{N7Kj7ffbi&Fx zG^;zRu^&H@?br(cyb)w)ModLGlA0tTh;Z^G#>fYx_w}JFhTshVM8?%e6E@{S@~zeq zc(EL~763p&00|&K{T~4$Y6uZTfH#8(#(<8+4b8TB>eLwn;#t${PdV>^L6eKx2)m#N z@Z`HB)hsIg|6cML6C9j&=1r?c(tv=_qR-ZBje}b@L^nCF!Wn5NV41rJmx;9~R?_4+ zSAwIfl8ud){QqIkjrXO?y+=zEL!9&*{rEJ0tH4M#cI}d>wNdfbkHvmyCjmw2YKxJSbLDvBBtFed& zsl)WHkc#905aB%g_t!n|zR60DB>-4px3|)J*$+K` zeE@L(zWuun92N<%WBaz*9dj4$NRoG5W6YsuTx-*hL28#4P&n~k0nH2wP1{Pm`0F`V zkBbj`DyUa1%fqUXFmM`dTq9XRh#%C5^fhSWz#$sw_6=_#t<+&ECgzZk(IfdNfXKLE zg*0rC!AgVr$fQ|QroDxb4`}Oc64i80SR0(^s#XI6L!^VSPw_;32bd6vJ81S&=0Z;> z*(5vHaCELfkQg;5iKH~lBbxR}EL_Ri#MFo|*5H-oYDqKWd^_*Vu4HD6#~GEU-+tP*98E3_wU+wl*JiukaR+N4IijP^jvwguIF5?`0cg+wQ98-t$EVecH11S<17a3MI;gs$ z)Fw`?nm;NXq(nPnPhx|tfqEUPf=o9QjO55MB-TwzbA`;bJ}qH*13A2#1u~_38%WKl zNQX?!Fdq20&Ab5xqufgnRYOh#P{?tZ00O|zNE z#wMW&Oe`cqWG2ex>po$DFK!+!NHujS0mlMLB^4dLj?s7nK9jo3%`8dDU)Zwy+r6dU zu`_4q&zxRZSnRG0dbhmz1+TvD>Z{u80)YFEJou*@rrT57Nd@ejyJY9E_cj8+eNAs0 ztoeOWyr>yGRytY14IE>#Xb@|$9Fc=pP<#f=pxHjBiK3-4qSa71hj?;iTNzOqwji9W z-vJV*?a~0aI?i7wJDxycQLs{{bHq%j`su`UvN4%rV-o9`>~5+eHC4w9J7mBEa+%O9 z0MgnbHQkYPh!_-Nh48h(^G62%WSDSr2>{`P=vFh9YaN1`$btnDaZ<{N$m;|(keoD- z@n)Ejb{O-y`1_m9Dbt+ZU~1E};F=Men^W}OS)vCsbUi@s37Z;Hi z&H%XP>U99X{rh&^cjTcz+0brI@0gq2wqyGxI|s{exh^3IU~NM}tWLytr6nUhmA2?% zdlRp{?IYd%$imo!_9J)gm!zeS<$UBye^8(DZYfv^-&n#QHteOeCnJEaHY2lI)uE_BXHyGWFB5 zXr}Ym>P>DvZ@E*7)Gaa~CS&$Vq)95(%ZUxU%JO}hl_n^_4WN!`ti}p#nA2?N z^)%`2Hph$`(m;cC%Ub9XT zVBgMfAAI0XH%v`U?VKYCu;Up!``tHRHyPhg0BCBHOUr%o^3X>?RAe?Q^%>JM8oyIYk_R5U>bGz{_9u;@8}8^;J`g z>!1R5-h1FENr2YW&KnG#;7yxAzlQU&6BTZLQon5>Zx_B4?jbKG1 zVcPbLvtV`i5JU?hEoy}Hm4Fxmi_#R)zoxl=9ZBcILgeUN@QCkM^KtPNS9bFB7(h!D`f1?n5xc zhPt-0`H~6g)4Dw@s|+h*R@$#QDbAEsey$^kB5BST)nFbr*?rq2FxId>7#IyB>7!bg zz!Og^(N1X9XJ$;Ro_h^=NhJr6>I8z8*+gV)h6Z~hL1&5v-z|q(hAW5%V!klhG6jVG>ps69UD= zpbI)COC(K3W17=g=YGrzDdRjsI&0P?F!VWG?1^_o^qmd2!JxDb>M)AP^00N){}I7= zhW9~e8EK5wA))+GGHs5nG|f`avuTQCSP)tSnm(}e`g?~)^<{RjVe)AZEz&bhg{UAvyKGa0<|h9ud~62PcmI@b)BJODyP zdu}xLtrH!hU7Rz=p0wQLVc+JE3}LknUt6FsPf#C$c4U>;La_dNv-77(3M_O;2fXU# z|KzndUVrVAR{;RP*Y7*<#~XNHQ#Yg^YqAQb>6^ymqx)3%T>UdyzMdK0;2traU;BCP74kF4&xt=+XF z>F|w$6{)s~nSe#K-o#>1%Jg;kxfx0-TEk1^~=`^_zSDcxtNM z+A+IrX6KHJ=ce3myvXN=ro0Y-*IqhG>(nF*9j;7BbXU>t3h7WSbnuml^}ZyEQf6<< z+&L5J=Uthj?{tSRD}4wGy|0ZXWP3GfD{pn{HAn=6e_<}d(ujyhkj()&uq5CiA;M^A zz%2uW_=YEbVTq*^OdL&+L*H_eD3Z5ZE#O=YhRhVb9>hvPe1W7wZu@NRP6!;Soibhe zjxs!Q|o$%QW!?V-OPgZ67mNpSlv=E4pi~W%aq1 zapZ*s5GGZ&LoY#4$%0|&5NkHAD>`rH0RYyons~37#-?zYs*P@K(bvcMa+@`Fv(h#5 z1`z6Q<@+e8ok(&IwD&J~g0*^R1+!)CTvLevcXWfLhch6bQw$D}${2A66Pa_~SO=zT z&N@D4jkB8u^!k8aBcqQ1AV-g$_vyVOt2{&1EF9b^k8ftKIkNKE&gq56PA$wYo<6g% zyt2|8y!OXm@j8+K0Kn(zV`nP>=<0p%djr7z`{usz)o=diM!jC!x^?r0*)8X9c+U0@ z|74@~omQ6XRx7zFw?_>muG%y)=ylDMwV`k#fS_=&Xn9qUdmqZMWOapFJ8xVu=^_C_ z_e|+3!UWG+71^;$fskhx6%vZms%)fSbp-&V(?{5a#1-8{#EPluA%PyNY6`%Dx&Qz~ zoq)o%__atH+%uoB=6k9`-0h% z&zYXeH`nW}daYJ#M6|@XhjZBDMraxeBsd75C6Ww5Nul4_2i>;d{_`hbCOB^6f)KPQg2Z`l*y{6&bmqM9Zj2>%>SYRDdgf zpL9crWiKR5ze=_cD-<-BBU16B>h()5p_9A^i}JRK&pnaBbd+YvAWbLz(P%h0cKiU> zge`UZ#Q(DgoYj?|t{r-1*mE z{sW|VOtl*IjT@(0n>NnXrl&TxTCGOAPLiP(M>R(`FI}#r=EduLd)A0()nV3tSu_3OfmUE%P1EKQ(8e=ut}=GEdE#_FXiV}U6fpB z(YvMkx9UzMWf6!EB|+*0)b8NLaN*6`8b0h|ZF#FW+=NZ%S(c_rl1|2>(TJpdztig{ zot6GzrPrJE2mK_?^2wWi`hR}?%{N`Yl_bDlo7F1daRAu1MgqVJ*s4E9bgSKHH%Tefi9SVf9FYjXRq_wX#R<$2G5KE*0JbahTTE@a z4T`ktEhay7%UV6wt7nMA{h@uE(M_bSY_E%8lnLQ!C!uQT&o3SbSDomAruTp zqomgxjt8S*G8#?Nm6et8rO$rGCO=$$!yWIvy-(ucD|EsI1pqWil>_tw0ICuI0N89q z1zfr7yz_tZ>JHSR3m#Tszvm#QyJ)e#>o?8&~cMS+~YsX zK2(%)s{q#xK7;3;SwDZ)a1Z4*vo2Lw#Z9UJw1zGs^`fj_c2$jZJ2j-9TY*6oRjZbS z3Aj?&7L#0&8)ZAzwX-WX#qO&d@>nlqj8!I$D^bcMadg}>Q%4!#kc(Y3%+sB-FMTM9in4i zC%#t!KtD);EfoN?R0?cTU_2wP)oy+J+ka{IYkul=pa0f@qj&G!cYs(%--{0((M?FQ z483)HLerc`2W_5U?vYFvnx$mLX1T`mxLum}>Mwv0DExTG=?s zo6xb#p$7qJS+?;licl<4(jzD7W-^HIwL9&&rtMj6DcoJqA4asdPVQ;|xW}7%n48LJ z2#8OB03Qe}el;;9%zvKn80IK5qZd-%A}A~C|MJYbs0gt;acf}BMV6PBkro8CdgS-) zzGCM2*Ijwt-~P>KZu{s*KeD*8y!>}`h7)vjboH;8QU&yb1lYU=0FVM3>6lRvoKMGX zKlR$zKKq3)`k@D(ec6={)a#8j<()9`<(TVCM838<;ubMEw{XpYVu87^I%%7dmz7X# zKu8Zg0O4G_>IEa(m#wpO<$B=()@VkO<2)PLTbactD3=WmBbFOcge3>LXMxWxil4372%`-mDRq$(v@Dt7(}lWk;3qa zEhz-|$kD?Wf9 z_4M@gGhY1S7w_7*abuchSwXDRpT32)W0_x^DoudK2sxD`aK za;~+rT)7(aU9aYxKV&tdeB2Kxu0sf(e#si5Q5d_A|M0m_4|zbk-hJuIU+$ebefm*) z=?ERijjVE5k->7T0szkkI4f8`?3AV+0RS8H*i<(@gaim6sKy1RE6>~d_l7A!@H7CP+FK9^Tt8!E#lwFzsvH3T z)q}x-NyCcAMAr2P09bnjju74lwGlcNl^&3iU_X8P{@hAi+DKijDIJIb2vsRC(1Tyc zL}9`)d0|q+3a^sFR^|040zi-g|1ib*^zF&ssww~yfO}w>5&$@crUXHFjK7aCVY-() zPiT+?VX^}!2#>3i9{?bY^q&U6Q+2DV0BMOR0H}fh6CTvTxO!m1Fp=8ZtN=m)0q#TK zyKYtkAiO_Ffv3g(Q*#TeKLCI?vN0t9s*<3p8gQRr(gKkSt2vOnwG&=5t0zCazp4VB zzJ331RRC0_K#&9zvl Date: Tue, 5 Oct 2010 22:38:45 +0200 Subject: [PATCH 071/164] Refactore MessagePumpManager to improve performance (no more reflection on startup). --- OnTopReplica/MessagePumpManager.cs | 26 ++++++------ .../MessagePumpProcessors/TitleSetter.cs | 41 ------------------- OnTopReplica/OnTopReplica.csproj | 2 +- 3 files changed, 15 insertions(+), 54 deletions(-) delete mode 100644 OnTopReplica/MessagePumpProcessors/TitleSetter.cs diff --git a/OnTopReplica/MessagePumpManager.cs b/OnTopReplica/MessagePumpManager.cs index 1ab23b7..7886e4e 100644 --- a/OnTopReplica/MessagePumpManager.cs +++ b/OnTopReplica/MessagePumpManager.cs @@ -4,6 +4,7 @@ using System.Text; using System.Reflection; using System.Windows.Forms; using OnTopReplica.Native; +using OnTopReplica.MessagePumpProcessors; namespace OnTopReplica { class MessagePumpManager : IDisposable { @@ -12,6 +13,15 @@ namespace OnTopReplica { public MainForm Form { get; private set; } + private void Register(IMessagePumpProcessor processor, MainForm form) { + _processors[processor.GetType()] = processor; + processor.Initialize(form); + +#if DEBUG + Console.WriteLine("Registered message pump processor: {0}", processor.GetType()); +#endif + } + /// /// Instantiates all message pump processors and registers them on the main form. /// @@ -29,18 +39,10 @@ namespace OnTopReplica { #endif } - foreach (var t in Assembly.GetExecutingAssembly().GetTypes()) { - if (typeof(IMessagePumpProcessor).IsAssignableFrom(t) && !t.IsAbstract) { - var instance = (IMessagePumpProcessor)Activator.CreateInstance(t); - instance.Initialize(form); - - _processors[t] = instance; - -#if DEBUG - Console.WriteLine("Registered message pump processor: {0}", t); -#endif - } - } + //Register message pump processors + Register(new WindowKeeper(), form); + Register(new HotKeyManager(), form); + Register(new GroupSwitchManager(), form); } /// diff --git a/OnTopReplica/MessagePumpProcessors/TitleSetter.cs b/OnTopReplica/MessagePumpProcessors/TitleSetter.cs deleted file mode 100644 index 23433bd..0000000 --- a/OnTopReplica/MessagePumpProcessors/TitleSetter.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Windows.Forms; -using OnTopReplica.Native; -using System.Runtime.InteropServices; - -namespace OnTopReplica.MessagePumpProcessors { - class TitleSetter : BaseMessagePumpProcessor { - - const string Title = "OnTopReplica"; - - public override bool Process(ref Message msg) { - switch (msg.Msg) { - case WM.GETTEXT: { - Console.WriteLine("GetText"); - int maxLen = msg.WParam.ToInt32(); - byte[] strBytes = Encoding.UTF8.GetBytes(Title); - byte[] termBytes = new byte[strBytes.Length + 1]; - strBytes.CopyTo(termBytes, 0); - termBytes[strBytes.Length] = 0; - - Marshal.Copy(termBytes, 0, msg.LParam, Math.Min(maxLen, Title.Length + 1)); - } - goto case WM.GETTEXTLENGTH; - - case WM.GETTEXTLENGTH: - Console.WriteLine("GetTextLength"); - msg.Result = (IntPtr)Title.Length; - return true; - } - - return false; - } - - protected override void Shutdown() { - - } - - } -} diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 6820fe6..99264a0 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -124,7 +124,6 @@ - @@ -149,6 +148,7 @@ GroupSwitchPanel.cs + From 0b1188e2adb1595cc6e2016911eaf09ea20908ab Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 5 Oct 2010 22:56:21 +0200 Subject: [PATCH 072/164] Group Switch mode now disables when no windows are selected for the group (i.e. mode is enabled for a group of 0 windows). --- OnTopReplica/MessagePumpManager.cs | 4 +--- OnTopReplica/SidePanels/GroupSwitchPanel.cs | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/OnTopReplica/MessagePumpManager.cs b/OnTopReplica/MessagePumpManager.cs index 7886e4e..b12114e 100644 --- a/OnTopReplica/MessagePumpManager.cs +++ b/OnTopReplica/MessagePumpManager.cs @@ -1,10 +1,8 @@ using System; using System.Collections.Generic; -using System.Text; -using System.Reflection; using System.Windows.Forms; -using OnTopReplica.Native; using OnTopReplica.MessagePumpProcessors; +using OnTopReplica.Native; namespace OnTopReplica { class MessagePumpManager : IDisposable { diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.cs index b763889..25db61d 100644 --- a/OnTopReplica/SidePanels/GroupSwitchPanel.cs +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.cs @@ -46,7 +46,7 @@ namespace OnTopReplica.SidePanels { public override void OnClosing(MainForm form) { base.OnClosing(form); - if (_enableOnClose) { + if (_enableOnClose && listWindows.SelectedItems.Count > 0) { List ret = new List(); foreach (ListViewItem i in listWindows.SelectedItems) { ret.Add((WindowHandle)i.Tag); From 8ab1cfd784fd3cc9ea886a75bf3220ba66545b3c Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sat, 9 Oct 2010 20:51:23 +0200 Subject: [PATCH 073/164] Almost complete command line options implementation. Changed position context menu: now locks on a screen position and keeps it after moving/resizing. Some bugfixes and code refactoring. --- OnTopReplica/Actions.cs | 15 + OnTopReplica/Assets/pos_center.png | Bin 0 -> 231 bytes OnTopReplica/ExtensionAttribute.cs | 11 + OnTopReplica/MainForm.Designer.cs | 34 +- OnTopReplica/MainForm.cs | 78 +- OnTopReplica/MainForm_Features.cs | 118 ++ OnTopReplica/MainForm_Gui.cs | 14 +- OnTopReplica/MainForm_MenuEvents.cs | 81 +- OnTopReplica/NDesk/Options/Options.cs | 1103 ++++++++++++ OnTopReplica/OnTopReplica.csproj | 27 + OnTopReplica/OnTopReplica.csproj.user | 3 + OnTopReplica/Program.cs | 15 +- OnTopReplica/Properties/Resources.Designer.cs | 7 + OnTopReplica/Properties/Resources.resx | 5 +- OnTopReplica/ScreenPosition.cs | 77 + OnTopReplica/SidePanels/RegionPanel.cs | 4 +- OnTopReplica/StartupOptions/CliStatus.cs | 21 + .../CommandLineReportForm.Designer.cs | 116 ++ .../StartupOptions/CommandLineReportForm.cs | 31 + .../StartupOptions/CommandLineReportForm.resx | 1574 +++++++++++++++++ OnTopReplica/StartupOptions/Factory.cs | 79 + OnTopReplica/StartupOptions/Options.cs | 129 ++ .../StartupOptions/RectangleConverter.cs | 61 + .../StartupOptions/ScreenPositionConverter.cs | 50 + OnTopReplica/StartupOptions/SizeConverter.cs | 56 + OnTopReplica/StoredRegion.cs | 8 +- OnTopReplica/Strings.Designer.cs | 20 +- OnTopReplica/Strings.it.Designer.cs | 0 OnTopReplica/Strings.it.resx | 954 +++++----- OnTopReplica/Strings.resx | 957 +++++----- OnTopReplica/WindowHandle.cs | 11 +- 31 files changed, 4696 insertions(+), 963 deletions(-) create mode 100644 OnTopReplica/Actions.cs create mode 100644 OnTopReplica/Assets/pos_center.png create mode 100644 OnTopReplica/ExtensionAttribute.cs create mode 100644 OnTopReplica/MainForm_Features.cs create mode 100644 OnTopReplica/NDesk/Options/Options.cs create mode 100644 OnTopReplica/ScreenPosition.cs create mode 100644 OnTopReplica/StartupOptions/CliStatus.cs create mode 100644 OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs create mode 100644 OnTopReplica/StartupOptions/CommandLineReportForm.cs create mode 100644 OnTopReplica/StartupOptions/CommandLineReportForm.resx create mode 100644 OnTopReplica/StartupOptions/Factory.cs create mode 100644 OnTopReplica/StartupOptions/Options.cs create mode 100644 OnTopReplica/StartupOptions/RectangleConverter.cs create mode 100644 OnTopReplica/StartupOptions/ScreenPositionConverter.cs create mode 100644 OnTopReplica/StartupOptions/SizeConverter.cs create mode 100644 OnTopReplica/Strings.it.Designer.cs diff --git a/OnTopReplica/Actions.cs b/OnTopReplica/Actions.cs new file mode 100644 index 0000000..8406001 --- /dev/null +++ b/OnTopReplica/Actions.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica { + + public delegate void Action(); + + public delegate void Action(T1 arg1); + + public delegate void Action(T1 arg1, T2 arg2); + + public delegate void Action(T1 arg1, T2 arg2, T3 arg3); + +} diff --git a/OnTopReplica/Assets/pos_center.png b/OnTopReplica/Assets/pos_center.png new file mode 100644 index 0000000000000000000000000000000000000000..d672a20baab23469fa22cbf4d711e4ae2c6c2e60 GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$179u0Iceio!iz978PplV_M@Ui!b(d-|e;2@=dw2UhYe`FUohv4(_7TONa7>EQzm zIgP@Z$)D|YH8@zCk92V66x?VuxqkinVxan}1CO5Y8!~I~9Z8%pLE{_K(wmYD3x!y+ Um;83;1zN%2>FVdQ&MBb@00?tREdT%j literal 0 HcmV?d00001 diff --git a/OnTopReplica/ExtensionAttribute.cs b/OnTopReplica/ExtensionAttribute.cs new file mode 100644 index 0000000..09eb1e5 --- /dev/null +++ b/OnTopReplica/ExtensionAttribute.cs @@ -0,0 +1,11 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace System.Runtime.CompilerServices { + /// + /// Fake extension attribute that adds extension method support to C# 2 (without System.Core.dll reference). + /// + class ExtensionAttribute : Attribute { + } +} diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 880e5af..5a50c43 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -53,8 +53,10 @@ this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); this.fullscreenToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.dockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.disabledToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.topLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.topRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.centerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.bottomLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.bottomRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.chromeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -115,6 +117,7 @@ this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.noneToolStripMenuItem}); this.menuWindows.Name = "menuWindows"; + this.menuWindows.OwnerItem = this.menuContextWindows; this.menuWindows.Size = new System.Drawing.Size(118, 26); this.menuWindows.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Windows_opening); // @@ -206,6 +209,7 @@ this.toolStripMenuItem3, this.toolStripMenuItem4}); this.menuOpacity.Name = "menuOpacity"; + this.menuOpacity.OwnerItem = this.fullOpacityToolStripMenuItem; this.menuOpacity.ShowCheckMargin = true; this.menuOpacity.ShowImageMargin = false; this.menuOpacity.Size = new System.Drawing.Size(154, 92); @@ -315,8 +319,10 @@ // dockToolStripMenuItem // this.dockToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.disabledToolStripMenuItem, this.topLeftToolStripMenuItem, this.topRightToolStripMenuItem, + this.centerToolStripMenuItem, this.bottomLeftToolStripMenuItem, this.bottomRightToolStripMenuItem}); this.dockToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_null; @@ -324,12 +330,22 @@ this.dockToolStripMenuItem.Size = new System.Drawing.Size(168, 22); this.dockToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosition; this.dockToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuPositionTT; + this.dockToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Position_Opening); + // + // disabledToolStripMenuItem + // + this.disabledToolStripMenuItem.Checked = true; + this.disabledToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; + this.disabledToolStripMenuItem.Name = "disabledToolStripMenuItem"; + this.disabledToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.disabledToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosDisabled; + this.disabledToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_Disable); // // topLeftToolStripMenuItem // this.topLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topleft; this.topLeftToolStripMenuItem.Name = "topLeftToolStripMenuItem"; - this.topLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topLeftToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.topLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopLeft; this.topLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopLeft); // @@ -337,15 +353,23 @@ // this.topRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topright; this.topRightToolStripMenuItem.Name = "topRightToolStripMenuItem"; - this.topRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topRightToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.topRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopRight; this.topRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopRight); // + // centerToolStripMenuItem + // + this.centerToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_center; + this.centerToolStripMenuItem.Name = "centerToolStripMenuItem"; + this.centerToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.centerToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosCenter; + this.centerToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_Center); + // // bottomLeftToolStripMenuItem // this.bottomLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomleft; this.bottomLeftToolStripMenuItem.Name = "bottomLeftToolStripMenuItem"; - this.bottomLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomLeftToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.bottomLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomLeft; this.bottomLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomLeft); // @@ -353,7 +377,7 @@ // this.bottomRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomright; this.bottomRightToolStripMenuItem.Name = "bottomRightToolStripMenuItem"; - this.bottomRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomRightToolStripMenuItem.Size = new System.Drawing.Size(152, 22); this.bottomRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomRight; this.bottomRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomRight); // @@ -568,6 +592,8 @@ private System.Windows.Forms.ToolStripMenuItem clickThroughToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem groupSwitchModeToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem enableClickthroughToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem centerToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem disabledToolStripMenuItem; } } diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 38930cc..77e04b8 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -8,6 +8,7 @@ using VistaControls.TaskDialog; using System.Collections.Generic; using OnTopReplica.Native; using OnTopReplica.Update; +using OnTopReplica.StartupOptions; namespace OnTopReplica { @@ -23,14 +24,17 @@ namespace OnTopReplica { MessagePumpManager _msgPumpManager = new MessagePumpManager(); UpdateManager _updateManager = new UpdateManager(); - FormBorderStyle _defaultBorderStyle; + Options _startupOptions; - public MainForm() { + public MainForm(Options startupOptions) { + _startupOptions = startupOptions; + + //WinForms init pass InitializeComponent(); KeepAspectRatio = false; + GlassEnabled = true; //Store default values - _defaultBorderStyle = FormBorderStyle; _nonClickThroughKey = TransparencyKey; //Thumbnail panel @@ -98,18 +102,18 @@ namespace OnTopReplica { } } - protected override void OnShown(EventArgs e) { - base.OnShown(e); + protected override void OnHandleCreated(EventArgs e){ + base.OnHandleCreated(e); //Platform specific form initialization Program.Platform.InitForm(this); - - //Glassify window - GlassEnabled = true; } - protected override void OnHandleCreated(EventArgs e) { - base.OnHandleCreated(e); + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + //Apply startup options + _startupOptions.Apply(this); //Check for updates _updateManager.UpdateCheckCompleted += new EventHandler(UpdateManager_CheckCompleted); @@ -132,10 +136,19 @@ namespace OnTopReplica { fullMargins; } + protected override void OnResizeEnd(EventArgs e) { + base.OnResizeEnd(e); + + //If locked in position, move accordingly + if (PositionLock.HasValue) { + this.SetScreenPosition(PositionLock.Value); + } + } + protected override void OnActivated(EventArgs e) { base.OnActivated(e); - //Deactivate click-through if reactivated + //Deactivate click-through if form is reactivated if (ClickThroughEnabled) { ClickThroughEnabled = false; } @@ -147,7 +160,7 @@ namespace OnTopReplica { base.OnDeactivate(e); //HACK: sometimes, even if TopMost is true, the window loses its "always on top" status. - // This is an attempt of a fix that probably won't work... + // This is a fix attempt that probably won't work... if (!IsFullscreen) { //fullscreen mode doesn't use TopMost TopMost = false; TopMost = true; @@ -268,8 +281,8 @@ namespace OnTopReplica { IsFullscreen = false; } //Disable click forwarding - else if (_thumbnailPanel.ReportThumbnailClicks) { - _thumbnailPanel.ReportThumbnailClicks = false; + else if (ClickForwardingEnabled) { + ClickForwardingEnabled = false; } } } @@ -353,13 +366,17 @@ namespace OnTopReplica { /// /// Handle to the window to clone. /// Region of the window to clone. - public void SetThumbnail(WindowHandle handle, StoredRegion region) { + public void SetThumbnail(WindowHandle handle, Rectangle? region) { try { CurrentThumbnailWindowHandle = handle; _thumbnailPanel.SetThumbnailHandle(handle); - if (region != null) - _thumbnailPanel.SelectedRegion = region.Rect; +#if DEBUG + Console.WriteLine("Cloning window HWND {0}.", handle.Handle); +#endif + + if (region.HasValue) + _thumbnailPanel.SelectedRegion = region.Value; else _thumbnailPanel.ConstrainToRegion = false; @@ -474,33 +491,6 @@ namespace OnTopReplica { #endregion - #region Click-through - - bool _clickThrough = false; - Color _nonClickThroughKey; - - public bool ClickThroughEnabled { - get { - return _clickThrough; - } - set { - //Adjust opacity if fully opaque - if (value && Opacity == 1.0) - Opacity = 0.75; - if (!value) - Opacity = 1.0; - - //Enable transparency and force as top-most - TransparencyKey = (value) ? Color.Black : _nonClickThroughKey; - if (value) - TopMost = true; - - _clickThrough = value; - } - } - - #endregion - #region Accessors /// diff --git a/OnTopReplica/MainForm_Features.cs b/OnTopReplica/MainForm_Features.cs new file mode 100644 index 0000000..79f48c7 --- /dev/null +++ b/OnTopReplica/MainForm_Features.cs @@ -0,0 +1,118 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Properties; +using VistaControls.TaskDialog; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + //Contains some feature implementations of MainForm + partial class MainForm { + + #region Click forwarding + + public bool ClickForwardingEnabled { + get { + return _thumbnailPanel.ReportThumbnailClicks; + } + set { + if (value && Settings.Default.FirstTimeClickForwarding) { + TaskDialog dlg = new TaskDialog(Strings.InfoClickForwarding, Strings.InfoClickForwardingTitle, Strings.InfoClickForwardingContent) { + CommonButtons = TaskDialogButton.Yes | TaskDialogButton.No + }; + if (dlg.Show(this).CommonButton == Result.No) + return; + + Settings.Default.FirstTimeClickForwarding = false; + } + + _thumbnailPanel.ReportThumbnailClicks = value; + } + } + + #endregion + + #region Click-through + + bool _clickThrough = false; + Color _nonClickThroughKey; + + public bool ClickThroughEnabled { + get { + return _clickThrough; + } + set { + //Adjust opacity if fully opaque + /*if (value && Opacity == 1.0) + Opacity = 0.75; + if (!value) + Opacity = 1.0;*/ + + //Enable transparency and force as top-most + TransparencyKey = (value) ? Color.Black : _nonClickThroughKey; + if (value) + TopMost = true; + + _clickThrough = value; + } + } + + #endregion + + #region Chrome + + public bool IsChromeVisible { + get { + return (FormBorderStyle == FormBorderStyle.SizableToolWindow); + } + set { + if (!value) { + FormBorderStyle = FormBorderStyle.None; + if (IsChromeVisible) { + Location = new Point { + X = Location.X + SystemInformation.FrameBorderSize.Width, + Y = Location.Y + SystemInformation.FrameBorderSize.Height + }; + } + } + else if(value) { + FormBorderStyle = FormBorderStyle.SizableToolWindow; + if (!IsChromeVisible) { + Location = new Point { + X = Location.X - SystemInformation.FrameBorderSize.Width, + Y = Location.Y - SystemInformation.FrameBorderSize.Height + }; + } + } + + Program.Platform.OnFormStateChange(this); + Invalidate(); + } + } + + #endregion + + #region Position lock + + ScreenPosition? _positionLock = null; + + /// + /// Gets or sets the screen position where the window is currently locked in. + /// + public ScreenPosition? PositionLock { + get { + return _positionLock; + } + set { + if (value != null) + this.SetScreenPosition(value.Value); + + _positionLock = value; + } + } + + #endregion + + } +} diff --git a/OnTopReplica/MainForm_Gui.cs b/OnTopReplica/MainForm_Gui.cs index b460479..996d2f9 100644 --- a/OnTopReplica/MainForm_Gui.cs +++ b/OnTopReplica/MainForm_Gui.cs @@ -38,18 +38,24 @@ namespace OnTopReplica { return new Point(finX, finY); } - private int ChromeBorderVertical { + /// + /// Gets the window's vertical chrome size. + /// + public int ChromeBorderVertical { get { - if (FormBorderStyle == _defaultBorderStyle) + if (IsChromeVisible) return SystemInformation.FrameBorderSize.Height; else return 0; } } - private int ChromeBorderHorizontal { + /// + /// Gets the window's horizontal chrome size. + /// + public int ChromeBorderHorizontal { get { - if (FormBorderStyle == _defaultBorderStyle) + if (IsChromeVisible) return SystemInformation.FrameBorderSize.Width; else return 0; diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs index c0fa130..cb11e63 100644 --- a/OnTopReplica/MainForm_MenuEvents.cs +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -20,8 +20,8 @@ namespace OnTopReplica { selectRegionToolStripMenuItem.Enabled = showing; switchToWindowToolStripMenuItem.Enabled = showing; resizeToolStripMenuItem.Enabled = showing; - chromeToolStripMenuItem.Checked = (FormBorderStyle == _defaultBorderStyle); - clickForwardingToolStripMenuItem.Checked = _thumbnailPanel.ReportThumbnailClicks; + chromeToolStripMenuItem.Checked = IsChromeVisible; + clickForwardingToolStripMenuItem.Checked = ClickForwardingEnabled; chromeToolStripMenuItem.Enabled = showing; clickThroughToolStripMenuItem.Enabled = showing; clickForwardingToolStripMenuItem.Enabled = showing; @@ -50,7 +50,9 @@ namespace OnTopReplica { } var selectionData = (WindowListHelper.WindowSelectionData)tsi.Tag; - SetThumbnail(selectionData.Handle, selectionData.Region); + Rectangle? bounds = (selectionData.Region != null) + ? (Rectangle?)selectionData.Region.Bounds : null; + SetThumbnail(selectionData.Handle, bounds); } private void Menu_Switch_click(object sender, EventArgs e) { @@ -66,17 +68,7 @@ namespace OnTopReplica { } private void Menu_ClickForwarding_click(object sender, EventArgs e) { - if (Settings.Default.FirstTimeClickForwarding && !_thumbnailPanel.ReportThumbnailClicks) { - TaskDialog dlg = new TaskDialog(Strings.InfoClickForwarding, Strings.InfoClickForwardingTitle, Strings.InfoClickForwardingContent) { - CommonButtons = TaskDialogButton.Yes | TaskDialogButton.No - }; - if (dlg.Show(this).CommonButton == Result.No) - return; - - Settings.Default.FirstTimeClickForwarding = false; - } - - _thumbnailPanel.ReportThumbnailClicks = !_thumbnailPanel.ReportThumbnailClicks; + ClickForwardingEnabled = !ClickForwardingEnabled; } private void Menu_ClickThrough_click(object sender, EventArgs e) { @@ -138,40 +130,37 @@ namespace OnTopReplica { IsFullscreen = true; } - private void Menu_Position_TopLeft(object sender, EventArgs e) { - var screen = Screen.FromControl(this); + private void Menu_Position_Opening(object sender, EventArgs e) { + disabledToolStripMenuItem.Checked = (PositionLock == null); + topLeftToolStripMenuItem.Checked = (PositionLock == ScreenPosition.TopLeft); + topRightToolStripMenuItem.Checked = (PositionLock == ScreenPosition.TopRight); + centerToolStripMenuItem.Checked = (PositionLock == ScreenPosition.Center); + bottomLeftToolStripMenuItem.Checked = (PositionLock == ScreenPosition.BottomLeft); + bottomRightToolStripMenuItem.Checked = (PositionLock == ScreenPosition.BottomRight); + } - Location = new Point( - screen.WorkingArea.Left - ChromeBorderHorizontal, - screen.WorkingArea.Top - ChromeBorderVertical - ); + private void Menu_Position_Disable(object sender, EventArgs e) { + PositionLock = null; + } + + private void Menu_Position_TopLeft(object sender, EventArgs e) { + PositionLock = ScreenPosition.TopLeft; } private void Menu_Position_TopRight(object sender, EventArgs e) { - var screen = Screen.FromControl(this); + PositionLock = ScreenPosition.TopRight; + } - Location = new Point( - screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, - screen.WorkingArea.Top - ChromeBorderVertical - ); + private void Menu_Position_Center(object sender, EventArgs e) { + PositionLock = ScreenPosition.Center; } private void Menu_Position_BottomLeft(object sender, EventArgs e) { - var screen = Screen.FromControl(this); - - Location = new Point( - screen.WorkingArea.Left - ChromeBorderHorizontal, - screen.WorkingArea.Height - Size.Height + ChromeBorderVertical - ); + PositionLock = ScreenPosition.BottomLeft; } private void Menu_Position_BottomRight(object sender, EventArgs e) { - var screen = Screen.FromControl(this); - - Location = new Point( - screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, - screen.WorkingArea.Height - Size.Height + ChromeBorderVertical - ); + PositionLock = ScreenPosition.BottomRight; } private void Menu_Reduce_click(object sender, EventArgs e) { @@ -180,23 +169,7 @@ namespace OnTopReplica { } private void Menu_Chrome_click(object sender, EventArgs e) { - if (FormBorderStyle == _defaultBorderStyle) { - FormBorderStyle = FormBorderStyle.None; - Location = new Point { - X = Location.X + SystemInformation.FrameBorderSize.Width, - Y = Location.Y + SystemInformation.FrameBorderSize.Height - }; - } - else { - FormBorderStyle = _defaultBorderStyle; - Location = new Point { - X = Location.X - SystemInformation.FrameBorderSize.Width, - Y = Location.Y - SystemInformation.FrameBorderSize.Height - }; - } - - Program.Platform.OnFormStateChange(this); - Invalidate(); + IsChromeVisible = !IsChromeVisible; } private void Menu_Language_click(object sender, EventArgs e) { diff --git a/OnTopReplica/NDesk/Options/Options.cs b/OnTopReplica/NDesk/Options/Options.cs new file mode 100644 index 0000000..871d2d7 --- /dev/null +++ b/OnTopReplica/NDesk/Options/Options.cs @@ -0,0 +1,1103 @@ +// +// Options.cs +// +// Authors: +// Jonathan Pryor +// +// Copyright (C) 2008 Novell (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +// Compile With: +// gmcs -debug+ -r:System.Core Options.cs -o:NDesk.Options.dll +// gmcs -debug+ -d:LINQ -r:System.Core Options.cs -o:NDesk.Options.dll +// +// The LINQ version just changes the implementation of +// OptionSet.Parse(IEnumerable), and confers no semantic changes. + +// +// A Getopt::Long-inspired option parsing library for C#. +// +// NDesk.Options.OptionSet is built upon a key/value table, where the +// key is a option format string and the value is a delegate that is +// invoked when the format string is matched. +// +// Option format strings: +// Regex-like BNF Grammar: +// name: .+ +// type: [=:] +// sep: ( [^{}]+ | '{' .+ '}' )? +// aliases: ( name type sep ) ( '|' name type sep )* +// +// Each '|'-delimited name is an alias for the associated action. If the +// format string ends in a '=', it has a required value. If the format +// string ends in a ':', it has an optional value. If neither '=' or ':' +// is present, no value is supported. `=' or `:' need only be defined on one +// alias, but if they are provided on more than one they must be consistent. +// +// Each alias portion may also end with a "key/value separator", which is used +// to split option values if the option accepts > 1 value. If not specified, +// it defaults to '=' and ':'. If specified, it can be any character except +// '{' and '}' OR the *string* between '{' and '}'. If no separator should be +// used (i.e. the separate values should be distinct arguments), then "{}" +// should be used as the separator. +// +// Options are extracted either from the current option by looking for +// the option name followed by an '=' or ':', or is taken from the +// following option IFF: +// - The current option does not contain a '=' or a ':' +// - The current option requires a value (i.e. not a Option type of ':') +// +// The `name' used in the option format string does NOT include any leading +// option indicator, such as '-', '--', or '/'. All three of these are +// permitted/required on any named option. +// +// Option bundling is permitted so long as: +// - '-' is used to start the option group +// - all of the bundled options are a single character +// - at most one of the bundled options accepts a value, and the value +// provided starts from the next character to the end of the string. +// +// This allows specifying '-a -b -c' as '-abc', and specifying '-D name=value' +// as '-Dname=value'. +// +// Option processing is disabled by specifying "--". All options after "--" +// are returned by OptionSet.Parse() unchanged and unprocessed. +// +// Unprocessed options are returned from OptionSet.Parse(). +// +// Examples: +// int verbose = 0; +// OptionSet p = new OptionSet () +// .Add ("v", v => ++verbose) +// .Add ("name=|value=", v => Console.WriteLine (v)); +// p.Parse (new string[]{"-v", "--v", "/v", "-name=A", "/name", "B", "extra"}); +// +// The above would parse the argument string array, and would invoke the +// lambda expression three times, setting `verbose' to 3 when complete. +// It would also print out "A" and "B" to standard output. +// The returned array would contain the string "extra". +// +// C# 3.0 collection initializers are supported and encouraged: +// var p = new OptionSet () { +// { "h|?|help", v => ShowHelp () }, +// }; +// +// System.ComponentModel.TypeConverter is also supported, allowing the use of +// custom data types in the callback type; TypeConverter.ConvertFromString() +// is used to convert the value option to an instance of the specified +// type: +// +// var p = new OptionSet () { +// { "foo=", (Foo f) => Console.WriteLine (f.ToString ()) }, +// }; +// +// Random other tidbits: +// - Boolean options (those w/o '=' or ':' in the option format string) +// are explicitly enabled if they are followed with '+', and explicitly +// disabled if they are followed with '-': +// string a = null; +// var p = new OptionSet () { +// { "a", s => a = s }, +// }; +// p.Parse (new string[]{"-a"}); // sets v != null +// p.Parse (new string[]{"-a+"}); // sets v != null +// p.Parse (new string[]{"-a-"}); // sets v == null +// + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Globalization; +using System.IO; +using System.Runtime.Serialization; +using System.Security.Permissions; +using System.Text; +using System.Text.RegularExpressions; + +#if LINQ +using System.Linq; +#endif + +#if TEST +using NDesk.Options; +#endif + +namespace NDesk.Options { + + public class OptionValueCollection : IList, IList { + + List values = new List (); + OptionContext c; + + internal OptionValueCollection (OptionContext c) + { + this.c = c; + } + + #region ICollection + void ICollection.CopyTo (Array array, int index) {(values as ICollection).CopyTo (array, index);} + bool ICollection.IsSynchronized {get {return (values as ICollection).IsSynchronized;}} + object ICollection.SyncRoot {get {return (values as ICollection).SyncRoot;}} + #endregion + + #region ICollection + public void Add (string item) {values.Add (item);} + public void Clear () {values.Clear ();} + public bool Contains (string item) {return values.Contains (item);} + public void CopyTo (string[] array, int arrayIndex) {values.CopyTo (array, arrayIndex);} + public bool Remove (string item) {return values.Remove (item);} + public int Count {get {return values.Count;}} + public bool IsReadOnly {get {return false;}} + #endregion + + #region IEnumerable + IEnumerator IEnumerable.GetEnumerator () {return values.GetEnumerator ();} + #endregion + + #region IEnumerable + public IEnumerator GetEnumerator () {return values.GetEnumerator ();} + #endregion + + #region IList + int IList.Add (object value) {return (values as IList).Add (value);} + bool IList.Contains (object value) {return (values as IList).Contains (value);} + int IList.IndexOf (object value) {return (values as IList).IndexOf (value);} + void IList.Insert (int index, object value) {(values as IList).Insert (index, value);} + void IList.Remove (object value) {(values as IList).Remove (value);} + void IList.RemoveAt (int index) {(values as IList).RemoveAt (index);} + bool IList.IsFixedSize {get {return false;}} + object IList.this [int index] {get {return this [index];} set {(values as IList)[index] = value;}} + #endregion + + #region IList + public int IndexOf (string item) {return values.IndexOf (item);} + public void Insert (int index, string item) {values.Insert (index, item);} + public void RemoveAt (int index) {values.RemoveAt (index);} + + private void AssertValid (int index) + { + if (c.Option == null) + throw new InvalidOperationException ("OptionContext.Option is null."); + if (index >= c.Option.MaxValueCount) + throw new ArgumentOutOfRangeException ("index"); + if (c.Option.OptionValueType == OptionValueType.Required && + index >= values.Count) + throw new OptionException (string.Format ( + c.OptionSet.MessageLocalizer ("Missing required value for option '{0}'."), c.OptionName), + c.OptionName); + } + + public string this [int index] { + get { + AssertValid (index); + return index >= values.Count ? null : values [index]; + } + set { + values [index] = value; + } + } + #endregion + + public List ToList () + { + return new List (values); + } + + public string[] ToArray () + { + return values.ToArray (); + } + + public override string ToString () + { + return string.Join (", ", values.ToArray ()); + } + } + + public class OptionContext { + private Option option; + private string name; + private int index; + private OptionSet set; + private OptionValueCollection c; + + public OptionContext (OptionSet set) + { + this.set = set; + this.c = new OptionValueCollection (this); + } + + public Option Option { + get {return option;} + set {option = value;} + } + + public string OptionName { + get {return name;} + set {name = value;} + } + + public int OptionIndex { + get {return index;} + set {index = value;} + } + + public OptionSet OptionSet { + get {return set;} + } + + public OptionValueCollection OptionValues { + get {return c;} + } + } + + public enum OptionValueType { + None, + Optional, + Required, + } + + public abstract class Option { + string prototype, description; + string[] names; + OptionValueType type; + int count; + string[] separators; + + protected Option (string prototype, string description) + : this (prototype, description, 1) + { + } + + protected Option (string prototype, string description, int maxValueCount) + { + if (prototype == null) + throw new ArgumentNullException ("prototype"); + if (prototype.Length == 0) + throw new ArgumentException ("Cannot be the empty string.", "prototype"); + if (maxValueCount < 0) + throw new ArgumentOutOfRangeException ("maxValueCount"); + + this.prototype = prototype; + this.names = prototype.Split ('|'); + this.description = description; + this.count = maxValueCount; + this.type = ParsePrototype (); + + if (this.count == 0 && type != OptionValueType.None) + throw new ArgumentException ( + "Cannot provide maxValueCount of 0 for OptionValueType.Required or " + + "OptionValueType.Optional.", + "maxValueCount"); + if (this.type == OptionValueType.None && maxValueCount > 1) + throw new ArgumentException ( + string.Format ("Cannot provide maxValueCount of {0} for OptionValueType.None.", maxValueCount), + "maxValueCount"); + if (Array.IndexOf (names, "<>") >= 0 && + ((names.Length == 1 && this.type != OptionValueType.None) || + (names.Length > 1 && this.MaxValueCount > 1))) + throw new ArgumentException ( + "The default option handler '<>' cannot require values.", + "prototype"); + } + + public string Prototype {get {return prototype;}} + public string Description {get {return description;}} + public OptionValueType OptionValueType {get {return type;}} + public int MaxValueCount {get {return count;}} + + public string[] GetNames () + { + return (string[]) names.Clone (); + } + + public string[] GetValueSeparators () + { + if (separators == null) + return new string [0]; + return (string[]) separators.Clone (); + } + + protected static T Parse (string value, OptionContext c) + { + TypeConverter conv = TypeDescriptor.GetConverter(typeof(T)); + T t = default (T); + try { + if (value != null) + t = (T) conv.ConvertFromString (value); + } + catch (Exception e) { + throw new OptionException ( + string.Format ( + c.OptionSet.MessageLocalizer ("Could not convert string `{0}' to type {1} for option `{2}'."), + value, typeof (T).Name, c.OptionName), + c.OptionName, e); + } + return t; + } + + internal string[] Names {get {return names;}} + internal string[] ValueSeparators {get {return separators;}} + + static readonly char[] NameTerminator = new char[]{'=', ':'}; + + private OptionValueType ParsePrototype () + { + char type = '\0'; + List seps = new List (); + for (int i = 0; i < names.Length; ++i) { + string name = names [i]; + if (name.Length == 0) + throw new ArgumentException ("Empty option names are not supported.", "prototype"); + + int end = name.IndexOfAny (NameTerminator); + if (end == -1) + continue; + names [i] = name.Substring (0, end); + if (type == '\0' || type == name [end]) + type = name [end]; + else + throw new ArgumentException ( + string.Format ("Conflicting option types: '{0}' vs. '{1}'.", type, name [end]), + "prototype"); + AddSeparators (name, end, seps); + } + + if (type == '\0') + return OptionValueType.None; + + if (count <= 1 && seps.Count != 0) + throw new ArgumentException ( + string.Format ("Cannot provide key/value separators for Options taking {0} value(s).", count), + "prototype"); + if (count > 1) { + if (seps.Count == 0) + this.separators = new string[]{":", "="}; + else if (seps.Count == 1 && seps [0].Length == 0) + this.separators = null; + else + this.separators = seps.ToArray (); + } + + return type == '=' ? OptionValueType.Required : OptionValueType.Optional; + } + + private static void AddSeparators (string name, int end, ICollection seps) + { + int start = -1; + for (int i = end+1; i < name.Length; ++i) { + switch (name [i]) { + case '{': + if (start != -1) + throw new ArgumentException ( + string.Format ("Ill-formed name/value separator found in \"{0}\".", name), + "prototype"); + start = i+1; + break; + case '}': + if (start == -1) + throw new ArgumentException ( + string.Format ("Ill-formed name/value separator found in \"{0}\".", name), + "prototype"); + seps.Add (name.Substring (start, i-start)); + start = -1; + break; + default: + if (start == -1) + seps.Add (name [i].ToString ()); + break; + } + } + if (start != -1) + throw new ArgumentException ( + string.Format ("Ill-formed name/value separator found in \"{0}\".", name), + "prototype"); + } + + public void Invoke (OptionContext c) + { + OnParseComplete (c); + c.OptionName = null; + c.Option = null; + c.OptionValues.Clear (); + } + + protected abstract void OnParseComplete (OptionContext c); + + public override string ToString () + { + return Prototype; + } + } + + [Serializable] + public class OptionException : Exception { + private string option; + + public OptionException () + { + } + + public OptionException (string message, string optionName) + : base (message) + { + this.option = optionName; + } + + public OptionException (string message, string optionName, Exception innerException) + : base (message, innerException) + { + this.option = optionName; + } + + protected OptionException (SerializationInfo info, StreamingContext context) + : base (info, context) + { + this.option = info.GetString ("OptionName"); + } + + public string OptionName { + get {return this.option;} + } + + [SecurityPermission (SecurityAction.LinkDemand, SerializationFormatter = true)] + public override void GetObjectData (SerializationInfo info, StreamingContext context) + { + base.GetObjectData (info, context); + info.AddValue ("OptionName", option); + } + } + + public delegate void OptionAction (TKey key, TValue value); + + public class OptionSet : KeyedCollection + { + public OptionSet () + : this (delegate (string f) {return f;}) + { + } + + public OptionSet (Converter localizer) + { + this.localizer = localizer; + } + + Converter localizer; + + public Converter MessageLocalizer { + get {return localizer;} + } + + protected override string GetKeyForItem (Option item) + { + if (item == null) + throw new ArgumentNullException ("option"); + if (item.Names != null && item.Names.Length > 0) + return item.Names [0]; + // This should never happen, as it's invalid for Option to be + // constructed w/o any names. + throw new InvalidOperationException ("Option has no names!"); + } + + [Obsolete ("Use KeyedCollection.this[string]")] + protected Option GetOptionForName (string option) + { + if (option == null) + throw new ArgumentNullException ("option"); + try { + return base [option]; + } + catch (KeyNotFoundException) { + return null; + } + } + + protected override void InsertItem (int index, Option item) + { + base.InsertItem (index, item); + AddImpl (item); + } + + protected override void RemoveItem (int index) + { + base.RemoveItem (index); + Option p = Items [index]; + // KeyedCollection.RemoveItem() handles the 0th item + for (int i = 1; i < p.Names.Length; ++i) { + Dictionary.Remove (p.Names [i]); + } + } + + protected override void SetItem (int index, Option item) + { + base.SetItem (index, item); + RemoveItem (index); + AddImpl (item); + } + + private void AddImpl (Option option) + { + if (option == null) + throw new ArgumentNullException ("option"); + List added = new List (option.Names.Length); + try { + // KeyedCollection.InsertItem/SetItem handle the 0th name. + for (int i = 1; i < option.Names.Length; ++i) { + Dictionary.Add (option.Names [i], option); + added.Add (option.Names [i]); + } + } + catch (Exception) { + foreach (string name in added) + Dictionary.Remove (name); + throw; + } + } + + public new OptionSet Add (Option option) + { + base.Add (option); + return this; + } + + sealed class ActionOption : Option { + Action action; + + public ActionOption (string prototype, string description, int count, Action action) + : base (prototype, description, count) + { + if (action == null) + throw new ArgumentNullException ("action"); + this.action = action; + } + + protected override void OnParseComplete (OptionContext c) + { + action (c.OptionValues); + } + } + + public OptionSet Add (string prototype, Action action) + { + return Add (prototype, null, action); + } + + public OptionSet Add (string prototype, string description, Action action) + { + if (action == null) + throw new ArgumentNullException ("action"); + Option p = new ActionOption (prototype, description, 1, + delegate (OptionValueCollection v) { action (v [0]); }); + base.Add (p); + return this; + } + + public OptionSet Add (string prototype, OptionAction action) + { + return Add (prototype, null, action); + } + + public OptionSet Add (string prototype, string description, OptionAction action) + { + if (action == null) + throw new ArgumentNullException ("action"); + Option p = new ActionOption (prototype, description, 2, + delegate (OptionValueCollection v) {action (v [0], v [1]);}); + base.Add (p); + return this; + } + + sealed class ActionOption : Option { + Action action; + + public ActionOption (string prototype, string description, Action action) + : base (prototype, description, 1) + { + if (action == null) + throw new ArgumentNullException ("action"); + this.action = action; + } + + protected override void OnParseComplete (OptionContext c) + { + action (Parse (c.OptionValues [0], c)); + } + } + + sealed class ActionOption : Option { + OptionAction action; + + public ActionOption (string prototype, string description, OptionAction action) + : base (prototype, description, 2) + { + if (action == null) + throw new ArgumentNullException ("action"); + this.action = action; + } + + protected override void OnParseComplete (OptionContext c) + { + action ( + Parse (c.OptionValues [0], c), + Parse (c.OptionValues [1], c)); + } + } + + public OptionSet Add (string prototype, Action action) + { + return Add (prototype, null, action); + } + + public OptionSet Add (string prototype, string description, Action action) + { + return Add (new ActionOption (prototype, description, action)); + } + + public OptionSet Add (string prototype, OptionAction action) + { + return Add (prototype, null, action); + } + + public OptionSet Add (string prototype, string description, OptionAction action) + { + return Add (new ActionOption (prototype, description, action)); + } + + protected virtual OptionContext CreateOptionContext () + { + return new OptionContext (this); + } + +#if LINQ + public List Parse (IEnumerable arguments) + { + bool process = true; + OptionContext c = CreateOptionContext (); + c.OptionIndex = -1; + var def = GetOptionForName ("<>"); + var unprocessed = + from argument in arguments + where ++c.OptionIndex >= 0 && (process || def != null) + ? process + ? argument == "--" + ? (process = false) + : !Parse (argument, c) + ? def != null + ? Unprocessed (null, def, c, argument) + : true + : false + : def != null + ? Unprocessed (null, def, c, argument) + : true + : true + select argument; + List r = unprocessed.ToList (); + if (c.Option != null) + c.Option.Invoke (c); + return r; + } +#else + public List Parse (IEnumerable arguments) + { + OptionContext c = CreateOptionContext (); + c.OptionIndex = -1; + bool process = true; + List unprocessed = new List (); + Option def = Contains ("<>") ? this ["<>"] : null; + foreach (string argument in arguments) { + ++c.OptionIndex; + if (argument == "--") { + process = false; + continue; + } + if (!process) { + Unprocessed (unprocessed, def, c, argument); + continue; + } + if (!Parse (argument, c)) + Unprocessed (unprocessed, def, c, argument); + } + if (c.Option != null) + c.Option.Invoke (c); + return unprocessed; + } +#endif + + private static bool Unprocessed (ICollection extra, Option def, OptionContext c, string argument) + { + if (def == null) { + extra.Add (argument); + return false; + } + c.OptionValues.Add (argument); + c.Option = def; + c.Option.Invoke (c); + return false; + } + + private readonly Regex ValueOption = new Regex ( + @"^(?--|-|/)(?[^:=]+)((?[:=])(?.*))?$"); + + protected bool GetOptionParts (string argument, out string flag, out string name, out string sep, out string value) + { + if (argument == null) + throw new ArgumentNullException ("argument"); + + flag = name = sep = value = null; + Match m = ValueOption.Match (argument); + if (!m.Success) { + return false; + } + flag = m.Groups ["flag"].Value; + name = m.Groups ["name"].Value; + if (m.Groups ["sep"].Success && m.Groups ["value"].Success) { + sep = m.Groups ["sep"].Value; + value = m.Groups ["value"].Value; + } + return true; + } + + protected virtual bool Parse (string argument, OptionContext c) + { + if (c.Option != null) { + ParseValue (argument, c); + return true; + } + + string f, n, s, v; + if (!GetOptionParts (argument, out f, out n, out s, out v)) + return false; + + Option p; + if (Contains (n)) { + p = this [n]; + c.OptionName = f + n; + c.Option = p; + switch (p.OptionValueType) { + case OptionValueType.None: + c.OptionValues.Add (n); + c.Option.Invoke (c); + break; + case OptionValueType.Optional: + case OptionValueType.Required: + ParseValue (v, c); + break; + } + return true; + } + // no match; is it a bool option? + if (ParseBool (argument, n, c)) + return true; + // is it a bundled option? + if (ParseBundledValue (f, string.Concat (n + s + v), c)) + return true; + + return false; + } + + private void ParseValue (string option, OptionContext c) + { + if (option != null) + foreach (string o in c.Option.ValueSeparators != null + ? option.Split (c.Option.ValueSeparators, StringSplitOptions.None) + : new string[]{option}) { + c.OptionValues.Add (o); + } + if (c.OptionValues.Count == c.Option.MaxValueCount || + c.Option.OptionValueType == OptionValueType.Optional) + c.Option.Invoke (c); + else if (c.OptionValues.Count > c.Option.MaxValueCount) { + throw new OptionException (localizer (string.Format ( + "Error: Found {0} option values when expecting {1}.", + c.OptionValues.Count, c.Option.MaxValueCount)), + c.OptionName); + } + } + + private bool ParseBool (string option, string n, OptionContext c) + { + Option p; + string rn; + if (n.Length >= 1 && (n [n.Length-1] == '+' || n [n.Length-1] == '-') && + Contains ((rn = n.Substring (0, n.Length-1)))) { + p = this [rn]; + string v = n [n.Length-1] == '+' ? option : null; + c.OptionName = option; + c.Option = p; + c.OptionValues.Add (v); + p.Invoke (c); + return true; + } + return false; + } + + private bool ParseBundledValue (string f, string n, OptionContext c) + { + if (f != "-") + return false; + for (int i = 0; i < n.Length; ++i) { + Option p; + string opt = f + n [i].ToString (); + string rn = n [i].ToString (); + if (!Contains (rn)) { + if (i == 0) + return false; + throw new OptionException (string.Format (localizer ( + "Cannot bundle unregistered option '{0}'."), opt), opt); + } + p = this [rn]; + switch (p.OptionValueType) { + case OptionValueType.None: + Invoke (c, opt, n, p); + break; + case OptionValueType.Optional: + case OptionValueType.Required: { + string v = n.Substring (i+1); + c.Option = p; + c.OptionName = opt; + ParseValue (v.Length != 0 ? v : null, c); + return true; + } + default: + throw new InvalidOperationException ("Unknown OptionValueType: " + p.OptionValueType); + } + } + return true; + } + + private static void Invoke (OptionContext c, string name, string value, Option option) + { + c.OptionName = name; + c.Option = option; + c.OptionValues.Add (value); + option.Invoke (c); + } + + private const int OptionWidth = 29; + + public void WriteOptionDescriptions (TextWriter o) + { + foreach (Option p in this) { + int written = 0; + if (!WriteOptionPrototype (o, p, ref written)) + continue; + + if (written < OptionWidth) + o.Write (new string (' ', OptionWidth - written)); + else { + o.WriteLine (); + o.Write (new string (' ', OptionWidth)); + } + + List lines = GetLines (localizer (GetDescription (p.Description))); + o.WriteLine (lines [0]); + string prefix = new string (' ', OptionWidth+2); + for (int i = 1; i < lines.Count; ++i) { + o.Write (prefix); + o.WriteLine (lines [i]); + } + } + } + + bool WriteOptionPrototype (TextWriter o, Option p, ref int written) + { + string[] names = p.Names; + + int i = GetNextOptionIndex (names, 0); + if (i == names.Length) + return false; + + if (names [i].Length == 1) { + Write (o, ref written, " -"); + Write (o, ref written, names [0]); + } + else { + Write (o, ref written, " --"); + Write (o, ref written, names [0]); + } + + for ( i = GetNextOptionIndex (names, i+1); + i < names.Length; i = GetNextOptionIndex (names, i+1)) { + Write (o, ref written, ", "); + Write (o, ref written, names [i].Length == 1 ? "-" : "--"); + Write (o, ref written, names [i]); + } + + if (p.OptionValueType == OptionValueType.Optional || + p.OptionValueType == OptionValueType.Required) { + if (p.OptionValueType == OptionValueType.Optional) { + Write (o, ref written, localizer ("[")); + } + Write (o, ref written, localizer ("=" + GetArgumentName (0, p.MaxValueCount, p.Description))); + string sep = p.ValueSeparators != null && p.ValueSeparators.Length > 0 + ? p.ValueSeparators [0] + : " "; + for (int c = 1; c < p.MaxValueCount; ++c) { + Write (o, ref written, localizer (sep + GetArgumentName (c, p.MaxValueCount, p.Description))); + } + if (p.OptionValueType == OptionValueType.Optional) { + Write (o, ref written, localizer ("]")); + } + } + return true; + } + + static int GetNextOptionIndex (string[] names, int i) + { + while (i < names.Length && names [i] == "<>") { + ++i; + } + return i; + } + + static void Write (TextWriter o, ref int n, string s) + { + n += s.Length; + o.Write (s); + } + + private static string GetArgumentName (int index, int maxIndex, string description) + { + if (description == null) + return maxIndex == 1 ? "VALUE" : "VALUE" + (index + 1); + string[] nameStart; + if (maxIndex == 1) + nameStart = new string[]{"{0:", "{"}; + else + nameStart = new string[]{"{" + index + ":"}; + for (int i = 0; i < nameStart.Length; ++i) { + int start, j = 0; + do { + start = description.IndexOf (nameStart [i], j); + } while (start >= 0 && j != 0 ? description [j++ - 1] == '{' : false); + if (start == -1) + continue; + int end = description.IndexOf ("}", start); + if (end == -1) + continue; + return description.Substring (start + nameStart [i].Length, end - start - nameStart [i].Length); + } + return maxIndex == 1 ? "VALUE" : "VALUE" + (index + 1); + } + + private static string GetDescription (string description) + { + if (description == null) + return string.Empty; + StringBuilder sb = new StringBuilder (description.Length); + int start = -1; + for (int i = 0; i < description.Length; ++i) { + switch (description [i]) { + case '{': + if (i == start) { + sb.Append ('{'); + start = -1; + } + else if (start < 0) + start = i + 1; + break; + case '}': + if (start < 0) { + if ((i+1) == description.Length || description [i+1] != '}') + throw new InvalidOperationException ("Invalid option description: " + description); + ++i; + sb.Append ("}"); + } + else { + sb.Append (description.Substring (start, i - start)); + start = -1; + } + break; + case ':': + if (start < 0) + goto default; + start = i + 1; + break; + default: + if (start < 0) + sb.Append (description [i]); + break; + } + } + return sb.ToString (); + } + + private static List GetLines (string description) + { + List lines = new List (); + if (string.IsNullOrEmpty (description)) { + lines.Add (string.Empty); + return lines; + } + int length = 80 - OptionWidth - 2; + int start = 0, end; + do { + end = GetLineEnd (start, length, description); + bool cont = false; + if (end < description.Length) { + char c = description [end]; + if (c == '-' || (char.IsWhiteSpace (c) && c != '\n')) + ++end; + else if (c != '\n') { + cont = true; + --end; + } + } + lines.Add (description.Substring (start, end - start)); + if (cont) { + lines [lines.Count-1] += "-"; + } + start = end; + if (start < description.Length && description [start] == '\n') + ++start; + } while (end < description.Length); + return lines; + } + + private static int GetLineEnd (int start, int length, string description) + { + int end = Math.Min (start + length, description.Length); + int sep = -1; + for (int i = start; i < end; ++i) { + switch (description [i]) { + case ' ': + case '\t': + case '\v': + case '-': + case ',': + case '.': + case ';': + sep = i; + break; + case '\n': + return i; + } + } + if (sep == -1 || end == description.Length) + return end; + return sep; + } + } +} + diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 99264a0..0e22378 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -106,11 +106,16 @@ AboutForm.cs + Form + + + Form + Form @@ -138,7 +143,9 @@ + + UserControl @@ -148,7 +155,18 @@ GroupSwitchPanel.cs + + + Form + + + CommandLineReportForm.cs + + + + + @@ -184,6 +202,9 @@ GroupSwitchPanel.cs Designer + + CommandLineReportForm.cs + ResXFileCodeGenerator Strings.cs.Designer.cs @@ -238,6 +259,11 @@ + + True + True + Strings.it.resx + Component @@ -271,6 +297,7 @@ + diff --git a/OnTopReplica/OnTopReplica.csproj.user b/OnTopReplica/OnTopReplica.csproj.user index 00156d0..1bf19dd 100644 --- a/OnTopReplica/OnTopReplica.csproj.user +++ b/OnTopReplica/OnTopReplica.csproj.user @@ -15,4 +15,7 @@ false + + /windowId=459573 /r=20,20,100,80 + \ No newline at end of file diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs index d4c5c2c..5201278 100644 --- a/OnTopReplica/Program.cs +++ b/OnTopReplica/Program.cs @@ -9,6 +9,7 @@ using System.IO; using VistaControls.TaskDialog; using OnTopReplica.Update; using System.Reflection; +using OnTopReplica.StartupOptions; namespace OnTopReplica { @@ -26,7 +27,7 @@ namespace OnTopReplica { /// The main entry point for the application. /// [STAThread] - static void Main() { + static void Main(string[] args) { //Hook abort handler AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); @@ -44,6 +45,16 @@ namespace OnTopReplica { Settings.Default.Upgrade(); Settings.Default.MustUpdate = false; } + + //Load startup options + var options = StartupOptions.Factory.CreateOptions(args); + string optionsMessage = options.DebugMessage; + if (!string.IsNullOrEmpty(optionsMessage)) { //show dialog if debug message present or if parsing failed + var dlg = new CommandLineReportForm(options.Status, optionsMessage); + dlg.ShowDialog(); + } + if (options.Status == CliStatus.Information || options.Status == CliStatus.Error) + return; bool mustReloadForm = false; Point reloadLocation = new Point(); @@ -55,7 +66,7 @@ namespace OnTopReplica { Settings.Default.Language = _languageChangeCode; _languageChangeCode = null; - _mainForm = new MainForm(); + _mainForm = new MainForm(options); if (mustReloadForm) { _mainForm.Location = reloadLocation; _mainForm.Size = reloadSize; diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs index ee6767b..14e0ce3 100644 --- a/OnTopReplica/Properties/Resources.Designer.cs +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -165,6 +165,13 @@ namespace OnTopReplica.Properties { } } + internal static System.Drawing.Bitmap pos_center { + get { + object obj = ResourceManager.GetObject("pos_center", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + internal static System.Drawing.Bitmap pos_null { get { object obj = ResourceManager.GetObject("pos_null", resourceCulture); diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx index b84794e..6867e30 100644 --- a/OnTopReplica/Properties/Resources.resx +++ b/OnTopReplica/Properties/Resources.resx @@ -223,8 +223,11 @@ ..\Assets\flag_usa.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Assets\groupmode.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_center.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/OnTopReplica/ScreenPosition.cs b/OnTopReplica/ScreenPosition.cs new file mode 100644 index 0000000..1859a90 --- /dev/null +++ b/OnTopReplica/ScreenPosition.cs @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Drawing; + +namespace OnTopReplica { + /// + /// Describes a resolution independent position. + /// + enum ScreenPosition { + TopLeft, + TopRight, + BottomLeft, + BottomRight, + Center + } + + /// + /// Extension methods for ScreenPositions. + /// + static class ScreenPositionExtensions { + + /// + /// Sets the form's screen position in independent coordinates. + /// + /// + /// Position is set relative to the form's current screen. + /// + public static void SetScreenPosition(this MainForm form, ScreenPosition position) { + var screen = Screen.FromControl(form); + var wa = screen.WorkingArea; + + Point p = new Point(); + switch (position) { + case ScreenPosition.TopLeft: + p = new Point( + wa.Left - form.ChromeBorderHorizontal, + wa.Top - form.ChromeBorderVertical + ); + break; + + case ScreenPosition.TopRight: + p = new Point( + wa.Right - form.Width + form.ChromeBorderHorizontal, + wa.Top - form.ChromeBorderVertical + ); + break; + + case ScreenPosition.BottomLeft: + p = new Point( + wa.Left - form.ChromeBorderHorizontal, + wa.Bottom - form.Height + form.ChromeBorderVertical + ); + break; + + case ScreenPosition.BottomRight: + p = new Point( + wa.Right - form.Width + form.ChromeBorderHorizontal, + wa.Bottom - form.Height + form.ChromeBorderVertical + ); + break; + + case ScreenPosition.Center: + p = new Point( + wa.X + (wa.Width / 2) - (form.Width / 2) - (form.ChromeBorderHorizontal / 2), + wa.Y + (wa.Height / 2) - (form.Height / 2) - (form.ChromeBorderVertical / 2) + ); + break; + } + + form.Location = p; + } + + } + +} diff --git a/OnTopReplica/SidePanels/RegionPanel.cs b/OnTopReplica/SidePanels/RegionPanel.cs index 871a2a1..f281926 100644 --- a/OnTopReplica/SidePanels/RegionPanel.cs +++ b/OnTopReplica/SidePanels/RegionPanel.cs @@ -55,7 +55,7 @@ namespace OnTopReplica.SidePanels { return; } - SetRegion(region.Rect); + SetRegion(region.Bounds); //Select right combobox if (comboRegions.Items.Contains(region)) { @@ -207,7 +207,7 @@ namespace OnTopReplica.SidePanels { if (region == null) return; - SetRegion(region.Rect); + SetRegion(region.Bounds); } } diff --git a/OnTopReplica/StartupOptions/CliStatus.cs b/OnTopReplica/StartupOptions/CliStatus.cs new file mode 100644 index 0000000..a445e68 --- /dev/null +++ b/OnTopReplica/StartupOptions/CliStatus.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.StartupOptions { + public enum CliStatus { + /// + /// No errors while parsing. + /// + Ok, + /// + /// User asked for help. + /// + Information, + /// + /// Error while parsing. + /// + Error + } + +} diff --git a/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs b/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs new file mode 100644 index 0000000..043564a --- /dev/null +++ b/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs @@ -0,0 +1,116 @@ +namespace OnTopReplica.StartupOptions { + partial class CommandLineReportForm { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CommandLineReportForm)); + this.buttonOk = new System.Windows.Forms.Button(); + this.labelInstruction = new System.Windows.Forms.Label(); + this.txtDescription = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.txtCliArgs = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // buttonOk + // + this.buttonOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonOk.DialogResult = System.Windows.Forms.DialogResult.OK; + this.buttonOk.Location = new System.Drawing.Point(440, 200); + this.buttonOk.Name = "buttonOk"; + this.buttonOk.Size = new System.Drawing.Size(75, 23); + this.buttonOk.TabIndex = 0; + this.buttonOk.Text = "OK"; + this.buttonOk.UseVisualStyleBackColor = true; + // + // labelInstruction + // + this.labelInstruction.AutoSize = true; + this.labelInstruction.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelInstruction.ForeColor = System.Drawing.SystemColors.HotTrack; + this.labelInstruction.Location = new System.Drawing.Point(12, 9); + this.labelInstruction.Name = "labelInstruction"; + this.labelInstruction.Size = new System.Drawing.Size(112, 21); + this.labelInstruction.TabIndex = 1; + this.labelInstruction.Text = "Command line"; + // + // txtDescription + // + this.txtDescription.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtDescription.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.txtDescription.Location = new System.Drawing.Point(12, 42); + this.txtDescription.Multiline = true; + this.txtDescription.Name = "txtDescription"; + this.txtDescription.ReadOnly = true; + this.txtDescription.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.txtDescription.Size = new System.Drawing.Size(503, 152); + this.txtDescription.TabIndex = 2; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(13, 205); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(60, 13); + this.label1.TabIndex = 3; + this.label1.Text = "Arguments:"; + // + // txtCliArgs + // + this.txtCliArgs.Location = new System.Drawing.Point(79, 202); + this.txtCliArgs.Name = "txtCliArgs"; + this.txtCliArgs.ReadOnly = true; + this.txtCliArgs.Size = new System.Drawing.Size(355, 20); + this.txtCliArgs.TabIndex = 4; + // + // CommandLineReportForm + // + this.AcceptButton = this.buttonOk; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.ControlLightLight; + this.ClientSize = new System.Drawing.Size(527, 235); + this.Controls.Add(this.txtCliArgs); + this.Controls.Add(this.label1); + this.Controls.Add(this.txtDescription); + this.Controls.Add(this.labelInstruction); + this.Controls.Add(this.buttonOk); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "CommandLineReportForm"; + this.Text = "Command line parameters"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button buttonOk; + private System.Windows.Forms.Label labelInstruction; + private System.Windows.Forms.TextBox txtDescription; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox txtCliArgs; + } +} \ No newline at end of file diff --git a/OnTopReplica/StartupOptions/CommandLineReportForm.cs b/OnTopReplica/StartupOptions/CommandLineReportForm.cs new file mode 100644 index 0000000..90eea63 --- /dev/null +++ b/OnTopReplica/StartupOptions/CommandLineReportForm.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.StartupOptions { + public partial class CommandLineReportForm : Form { + + public CommandLineReportForm(CliStatus status, string message) { + InitializeComponent(); + + switch (status) { + case CliStatus.Information: + labelInstruction.Text = "Command line help"; + break; + + case CliStatus.Error: + labelInstruction.Text = "Command line parsing error"; + break; + } + + txtDescription.Text = message; + + txtCliArgs.Text = Environment.CommandLine; + } + + } +} diff --git a/OnTopReplica/StartupOptions/CommandLineReportForm.resx b/OnTopReplica/StartupOptions/CommandLineReportForm.resx new file mode 100644 index 0000000..b6de04b --- /dev/null +++ b/OnTopReplica/StartupOptions/CommandLineReportForm.resx @@ -0,0 +1,1574 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAYAgIAAAAEAIAAoCAEAZgAAADAwAAABACAAqCUAAI4IAQAgIAAAAQAgAKgQAAA2LgEAGBgAAAEA + IACICQAA3j4BABQUAAABACAAuAYAAGZIAQAQEAAAAQAgAGgEAAAeTwEAKAAAAIAAAAAAAQAAAQAgAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAMAAAAGAAAABwAAAAoAAAANAAAADwAA + ABEAAAAVAAAAGAAAABoAAAAdAAAAHgAAACAAAAAhAAAAIgAAACIAAAAjAAAAIwAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACAAAAAfAAAAHgAAABwAAAAZAAAAFwAAABMAAAAQAAAADgAAAAsAAAAIAAAABwAAAAQAAAACAAAAAgAA + AAMAAAAEAAAABQAAAAkAAAALAAAADgAAABIAAAAWAAAAGQAAAB0AAAAgAAAAJAAAACcAAAAqAAAAKwAA + AC0AAAAvAAAALwAAADAAAAAwAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAuAAAALQAAACsAAAApAAAAJgAAACIAAAAfAAAAHAAA + ABgAAAAUAAAAEAAAAAwAAAAKAAAABwAAAAQAAAADAAAABAAAAAYAAAAIAAAADAAAAA8AAAATAAAAGAAA + AB0AAAAiAAAAJgAAACoAAAAuAAAAMQAAADQAAAA2AAAAOAAAADoAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOgAA + ADkAAAA4AAAANgAAADMAAAAwAAAALAAAACgAAAAlAAAAIAAAABsAAAAWAAAAEQAAAA4AAAAKAAAABwAA + AAQAAAAFAAAACAAAAAsAAAAPAAAAEwAAABkAAAAfAAAAJQAAACoAAAAvAAAANQAAADoAAAA+AAAAQQAA + AEQAAABGAAAASAAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABIAAAARwAAAEUAAABDAAAAQAAAADwAAAA4AAAAMwAA + AC0AAAAoAAAAIgAAABwAAAAWAAAAEgAAAA0AAAAJAAAABQAAAAcAAAALAAAADQAAABIAAAAYAAAAIAAA + ACYAAAAtAAAANAAAADoAAABAAAAARgAAAEsAAABPAAAAUQAAAFQAAABWAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFYAAABVAAAAUwAAAFAAAABOAAAASQAAAEQAAAA+AAAAOAAAADEAAAAqAAAAIwAAAB0AAAAWAAAAEAAA + AAsAAAAGAAAACAAAAA0AAAARAAAAFwAAAB8AAAAmAAAALgAAADcAAAA+AAAARgAAAEwAAABSAAAAVwAA + AFwAAABfAAAAYgAAAGMAAABkAAAAZQAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAYwAAAGMAAABhAAAAXgAAAFoAAABVAAAAUAAA + AEoAAABDAAAAOgAAADIAAAAqAAAAIwAAABwAAAAVAAAADgAAAAgAAAAKAAAAEAAAABUAAAAdAAAAJAAA + AC0AAAA2AAAAQAAAAEkAAABRAAAAWAAAAF4AAABkAAAAaQAAAGwAAABuAAAAcAAAAHEAAAByAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABwAAAAbwAAAG4AAABqAAAAZwAAAGIAAABcAAAAVQAAAE4AAABFAAAAPAAAADIAAAApAAAAIAAA + ABoAAAASAAAACQAAAA0AAAATAAAAGQAAACEAAAArAAAANQAAAD8AAABJAAAAUwAAAFwAAABlAAAAawAA + AHEAAAB2AAAAeQAAAHsAAAB9AAAAfwAAAH8AAAB+AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH0AAAB8AAAAfAAAAHcAAAB0AAAAbQAA + AGcAAABgAAAAWAAAAE8AAABFAAAAOgAAADAAAAAmAAAAHgAAABUAAAALAAAADwAAABYAAAAeAAAAJgAA + ADAAAAA8AAAASAAAAFQAAABeAAAAagAAAHQAAAB8AAAAgwAAAIcAAACLAAAAjAAAAI0AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjQAAAI0AAACLAAAAhwAAAIEAAAB6AAAAcgAAAGoAAABiAAAAWAAAAE0AAABCAAAANwAA + ACwAAAAiAAAAGQAAAA0AAAARAAAAGQAAACEAAAAqAAAANQAAAEIAAABPAAAAXgAAAG0AAAB8AAAAkAAA + AKAAAACkAAAAqAAAAKoAAACrAAAArAAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACsAAAAqwAAAKoAAAChAAAAlAAA + AIgAAAB9AAAAcwAAAGoAAABgAAAAVQAAAEkAAAA9AAAAMQAAACYAAAAdAAAADwAAABQAAAAbAAAAJQAA + AC4AAAA5AAAARwAAAFcAAABpAAAAgwAAALMMDAzWTk5O8FxcXOxZWVjrWVlY61lZWetaWVnrWllZ61pZ + WetbWlrrWlpa61paWutaWlrrW1pa61paW+taW1vrW1tb61tbW+tbW1vrW1tb61tbW+tbW1vqW1tb6ltb + W+pcW1zqXFtb6lxbW+pcW1vqXFtb6lxbW+pcW1vqXFtb6lxcXOpcXFzqXFxc6lxbW+pcW1vqW1tb6ltb + W+pbW1vqW1tb6lpaW+paWlrqWlpa6lpaWupaWlrqWlpa6lpaWupZWVrqWlla6lpZWepaWlrqWlpa6lpb + WutaW1rrWlta61pbWutaWlrrWlpa61taWutaWlrrWlpa61paWutaWlrrWlpa61paWutaWlrrWlpa61pa + WutaWlrrWlpa61paWutaWlnqWlpZ6lpZWepaWVnqWllZ6lpZWepaWVnqWllZ6lpaWepaWlnqWVlZ61pa + WepaWlnrWlpZ6lpaWupaWlrqWlpa6ltaWupbWlvqWlpa6lpaWupaWlrqWlpa6ltaWupaWlrqWlpa6lpa + WepaWlnqWlpZ6lpaWepbW1vrVFRU7RcXFuEAAADEAAAAngAAAIMAAAB4AAAAcgAAAGYAAABbAAAATwAA + AEMAAAA2AAAAKwAAACEAAAAQAAAAFgAAAB8AAAAoAAAAMgAAAEAAAABRAAAAZQAAAIEAAADLWVlY8ZmY + lc/HwburzsfBp8rGvafKxL2oycO7psbAuaXFvrilxL62pMO+taPBurKjvbiwo7+4r6G9tq6iu7Wtoby0 + rKG6s6yhubOrobeyqqG3s6qgt7KpoLeyqZ62saietK+mnrKupJ6zrqWes66lnrOupZ6zrqWes66lnrOt + pZ6zrKWesquknbKrpJ2yq6Sds6ylnrKspZ60raWdtK6lnbavp524saieurGpn7qzq5+7ta2fvLevnr63 + sZ/AubGfwbqxn8K6sp/FvbSew7yzoMS+tZ/EvrSfxL+1oMS/taHEv7WhxL+1ocW/tqLFv7aixsC4ocfA + uaHHwLmhx8C5ocfAuaHHwLmhyMG5ocjBuaHIwbmhyMG5ocjBuaHIwrqiycK6osnCuaDJwrmhycO7ocnD + u6HJw7uhycO7ocnDu6HJw7uhycK6ocnCuqHKw7uhycK7ocjCuqHHw7mgxsG4oMa+tqDEvbagxLy0nsO7 + sp7BurGew7yznsK7s5/EvLSfxb21nsW+tZ/Gv7igxsC5oMjDuqLJwrqiycO7os3GvqPIw7uloZ6cxWZl + ZO0JCQjdAAAAogAAAIQAAAB7AAAAbQAAAGAAAABUAAAASAAAADsAAAAvAAAAIwAAABIAAAAYAAAAIQAA + ACoAAAA1AAAARAAAAFgAAAB7BQUExHBvbu/Lx8Ktpp2Qd3xxY2RxZVhjcmdZY3JnW2JzZlhhcGZXYW1h + VmBqYFFeZ1xMXmRZSl1hV0hdYVZFXGBURFtdUEFaW01AWlhNP1lXTT1ZVUs7WFJKOlhSSTlYU0g5V1FH + N1dORTRWS0IxVkxBMVZMQTFWTEExVkxBMVZMQTFWTD8xVkw/MVZLPTBWSjwvVUo9MFZMPzFWTEAxVU5B + MVVRQzNVUkU0VVVIOVZZSztWWk09VltPQVdfU0VXYlVIV2NXSFdmWUlXaFpKV2pdTlhqX05YaWBPWGlf + TlhqYE9YamBPWWpgT1lrYVFZbGFSWmxhUlpuYVVabmFVWm9iVlpvYlZab2JWWnBjVlpyZVZacmVWWnJl + VlpyZVZacmVWWnNmV1xzZ1hcdGdYXHRnWF11altddWpbXXVqW111altddWpbXXVqW110aVtddmlaXXZq + Wlx1aVtddGdZXG9lV1twZFRabGBSWmpeUVlqXU1XZ1xMV2lcS1dpXUxXZltMWGleTlhrX09YbWFRWm1i + VFpvZFdbcmVYXHBkVltwZFdccGNVXHNpWluflIdszcfCn4WEg+kODg3XAAAAnQAAAIMAAABzAAAAZgAA + AFkAAABLAAAAPQAAADIAAAAmAAAAFAAAABoAAAAjAAAALQAAADkAAABJAAAAYQAAAI8cGxrmz83JwI2E + eG2Bd2ptioB1dJGIfHeUiYF5l46EepmQh3yakYh8mZKIe5aPhXuUjIJ6k4uAepGJf3mPiH14kId7d46E + e3aLgnh2ioN5doqDeHWKgnd0h4B1dISAdXSFgHV0hn90c4N8cXODe3FygnpvcoJ6b3KCem9ygnpvcoJ5 + b3KCd29ygndvcoJ3b3J/d21ygHducoJ3b3KDem9xhXxwcYZ8cXGGfXJyiYB1couCd3KMhHhyjYZ7c4+G + fXOSiX9zk4p/c5WMgHOWjYF0lo2CdJaPhHSWj4N0lo+EdJeQhXWXkIV1l5GFdpiRhnaYkYd2mZGIdpqR + iHaakIh2mpCIdpqQiHaakIh2m5GIdpySiHackoh2nJKIdpySiHackoh2nZOJd52UiXedlYl4nZWJeJ2W + i3idlot4nZaLeJ2Wi3idlot4nZaLeJ+YjXiflot4npaLeJ2Ui3iblIl3mpKIdpmQh3aYj4d2mJCEdJWN + gnSTjIJ0l4+EdJWNg3WVjoN1mJCEdZmRhXaakId2mpOId5qRiHaZj4Z1lIyCdJKJfnKLg3hvh3xwbH91 + Z2eCeGxi1NDLrjY1NOoAAAC0AAAAjAAAAHgAAABpAAAAXQAAAE4AAABAAAAANQAAACgAAAAUAAAAGQAA + ACMAAAAuAAAAOgAAAE0AAABkAAAAt4OCgeKupp+JiX9zcpGJf3iZk4d8o5yTg6qknYmwqqOMtK2nkLaw + qpK4sauTt7GqkrWvqZK0r6iRs62nkbOspY+xrKSPsaqkjq+po46vqqKOrqmija6poYyuqaGMrKigjKuo + oIyrqKCMq6Wdi6qlnYqqpZ2KqaOciqmjnIqpopyKqaKciqminIqpopyKqaKciqmjnIupo5yLqaKciqqk + nYqtpp6Kraaeiq6noIqvqaGKr6uii7GspIuzrKaLs66ni7Wvp4u3sKmLuLGqi7ewqYy3sKmMt7KrjLey + qoy3sqqMt7Krjbeyq423squNt7KrjbiyrI24sqyNuLKsjbmzrY65s62OubOtjrmzrY66tK2OurStjrq0 + rY66tK2OurStjru0rY67ta2PurWtj7q1rY+6ta6PurWuj7q1ro+6ta6PurWuj7q1ro+8t6+PvLWuj7y2 + ro+7ta6PubStj7m0rY65s6yOuLKsjbiyqoy4squMtbCpjLewqYu1samMtrCpjLeyq4y4sauNubOtjrq0 + rY64sauOtrGqjLOtpYmuqKCFpqCXgJ2Ui3mUjIF0joR5cIF3bGmknZR4lpST1wcHB8wAAACRAAAAfgAA + AGwAAABfAAAAUAAAAEIAAAA2AAAAKgAAABYAAAAcAAAAJQAAAC8AAAA8AAAAUAAAAGkAAADJ0tHP2pWM + g3eWjIJ6nZWNgKijm4m+saqOzLy2l9PFv6HZy8Wm3M/Kq97RzK3dz8ut3c/KrNzPyqvczsmr287JqtvN + yarazcep2s7IqdnMyKnZzMep2MzGqNjMxqjYzMan18vGp9XKxafVysWn1srFp9XKxabVysWm1MnEptTI + xKbUyMSm1MjEptPIxKbTyMSm08nEp9PJxKfUycWn1srFptbKxabWysam18vHptfMyKbXzcmn2M7Jp9nO + yqfZzsqn2c/Kp9vRy6fb0Mun2tDLp9rQzKfa0cyn2tHMqNrQzKjZ0M2o2dDNqNnQzKjZ0Myo2tDNqNrQ + zajZ0M6o2tDOqdrQzqna0M6p2tDPqdrRz6nZ0c+p2dHPqdnRz6nZ0c+p2NDOqdnRzqrZ0c6q2NHOqtjR + zqrY0c6q19HOqtfRzarX0c2q1tLOqtXRzarW0c2q1dHMqtTQzKnU0cyq1NDLqdTPzKnTz8uo08/KqNLO + yqjTz8qn0s7Jp9LOyqjTz8qn0s7KqNPQy6jU0cyp1NDNqtPPzajPzMqky8fFnsO/vpa5s7GLrqehhqOa + kXyXjoR2jIR5cYqBdWvf29jHExIS2gAAAJUAAACAAAAAbgAAAGAAAABSAAAARAAAADgAAAArAAAAFgAA + ABsAAAAlAAAAMAAAAD0AAABUAAAAbAAAAMjT0c/fnZOJe52Vi3+qo5yJvbStk6TJyrqi1NbKq9rc0LDf + 4dey4eTasuLl3LHh49yx4OTcseDj27Lg49uw4eLcseDi27Hg49uy4OLbsuDi2rLg4dqy4OHas+Di2rTh + 4dq04OHateDg2rXg4dq24OHatuDg2bbg4Nm24eDZtt/f2bfg39m44N/ZueDf2brg39q54N7auuDe2rrh + 39m74d/ZvOHf2b3h4Nm+4uHZveLh2sDj4trB5OLawuXj2sPl5NrF5eTaxubk2sbl49rG5eTaxuXi2sbl + 4trG5eHax+Xh2sjm4trJ5eLayuXi2srm4trM5uHazObh2s3n4NrO59/azuff2s7o39rQ6d/a0erf2tHr + 39rT697a0+ze2tXt3trX7d/b1+7g29nu4dvb7uLb3e7i293u4tve7uPb4e7j2+Xu5dvp7ufb7O7n2+7v + 6tvw7urb7+7s2+/u7Nvv7uza7u3s2u7t7Nrv7eza7u3s2u/t7Nru7eza7+7t2u3u7tru7e7a7+7w2u/t + 7tvw7uvb7u3l2uzr3Nbp59TR5ePKy93bv8LCvbWYsKuhh6GakXyVjIF1jYV6bt7d2swTExLaAAAAmAAA + AIEAAABvAAAAYQAAAFMAAABFAAAAOQAAACwAAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAydTS + 0d+hmZCAp5+XhbeyqpLTxL+fW9vm9jjg7f8/3ur/P97r/z/c6f8+2+f/Pdvn/z7b6P8+2+j/Qdzm/0Hc + 5v9B3Ob/Qtvm/0Pc5v9E3OX/Rtzk/0je5f9L3uX/TN/k/03f5P9Q3+T/Ud7k/1Hf4v9T3+P/VeDi/1bg + 4f9Y4OH/WuHh/1zh4P9e4eH/X+Hf/17h3/9g4d7/YuLe/2Pi3v9l4t7/Z+Te/2nj3v9q497/bebe/3Hm + 4P9y59//defh/3nn4v976OL/fOnj/37p4/+B6eP/guni/4Lq4f+G6+H/iezg/4rs3v+M7N//j+3e/5Pv + 3v+V8d//mPPe/5r13f+c9t3/nvjd/6L73P+k/Nv/qf3b/67+2/+w/9v/s//a/7X/2/+3/9v/vP/d/8T/ + 4P/N/+T/1v/n/9//7v/o//T/8P/3//f/+v/8//v////+//////////////////////////////////// + ///////////////////////////9////9v////D////n////2////87////C////t////67///+q/9PQ + xKy9ubOSraWdhJqTiXmRiX1w4N3azBMSEtoAAACYAAAAggAAAHAAAABiAAAAVAAAAEYAAAA6AAAALAAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADJ1NPR36WfloOspZ6KwLu0mt3Qy6xm2+LyQdvk/0bb + 4/9F2uP/Rtni/0fa4f9H2uH/SNvi/0nb4v9K2+D/S9vh/0vb3/9M29//Tdvf/03b3v9P3N3/Utze/1Pd + 3f9U3d3/Vt7d/1fe3P9X3dz/WN7b/1zf2v9e4Nn/YN/Z/2Dg2v9f39n/YN/X/2Hf1v9g4Nb/YuDW/2Th + 1f9m4dX/Z+LU/2rh0/9s4tP/beLT/27j0v9w5ND/ceXQ/3Ll0f9059D/debS/3jo1P976tX/f+zX/4Ts + 2f+F7tv/ifDc/43w3f+R8t7/kvXf/5P23/+W997/mvne/5z83v+f/d7/o/3g/6f+4f+r/+L/rf/j/6// + 4v+z/+P/uP/j/7z/5P/C/+b/yf7m/9L+6f/b/uv/5v7w/+/+9P/3/vn//P/9//////////////////// + ///////////////+///7/v//+P78//r+/v///v/////7///+8f/8/uf/+v7d//j+1P/2/sv/8/6//+/+ + tP/s/6z/7P+m/+z+o//s/6H/6f+j/+r/n//n/53/2tnOuMfCvpyzr6aKoJmPfJSMgnLg3dvNExIS2gAA + AJgAAACDAAAAcQAAAGMAAABUAAAARgAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbgAA + AMnU09Hfp6CYhbGro47FwLuf5djUtWLa3/Q62N7/Qdjd/0HY3f9B2dz/Q9na/0PZ2/9E2dv/Rdna/0Xa + 2f9H2tj/R9nY/0ja2P9I2tj/SNrY/0ra1v9L29X/TNvV/03c1f9Q3NX/UtzV/1Td1P9U3dP/Vd7S/1bd + 0f9W3dD/V97P/1fezv9Y3s3/Wd7M/1nezP9c3sv/Xd/K/1/fyv9h4Mn/Y+DJ/2Liyf9j48j/ZuTI/2jm + x/9p5sj/a+bI/2zox/9u6cf/cOrI/3HsyP9178f/d/DI/3nyyf999cv/gvjO/4f60f+L/df/k//a/5n/ + 3v+d/+L/o//k/6j/5P+t/uT/tP/k/7r+5f/B/uj/yv3t/9T+8v/d/vb/6f74//P++v/5//z/+//9//3/ + /v///////////////////////////////v////v////6////+f////b/+/3y/+v87v/g/ez/3v3p/9f8 + 4//i/d//6f3Q/+P+u//f/63/2P+k/9L/nf/N/5j/zv2V/8/9kv/Q/Y//0PyN/9P8jP/V+pD/wPac/6T3 + pv/Z3tbBzsnFo7mzrI+lnpR+mI+GdOHd3M0TEhLaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAyAAAAPgAAAFQAAABuAAAAydTT0eCqpJqGs66okcnFwKXq3Nm7bN/l9UXd + 5f9M3eX/Td3l/0zd4v9L297/SNvc/0Xa2f9F2dj/RNrV/0PZ0v9E2dL/RdnR/0TY0P9F2ND/RtnP/0na + zv9M3M//TtzP/1Hbzv9Q3Mz/TtvK/07Zyf9P2sn/UNrH/1Dbxv9S28X/VNvF/1XcxP9V3MT/Vt3E/1je + xP9Y3sP/Wd/C/1vhwv9c4sL/X+LB/2Dlwf9j5sD/ZebB/2Xowv9n6sH/aevC/2ruwf9s8cH/bvPC/3D2 + w/9y+cT/dvzE/3n+xv99/8j/gf/I/4f+zP+Q/s//mv7W/6v+3/+8/ur/yv3y/9b+9v/e/vn/5v77/+r+ + /P/t/v7/7P7///H////4///////////////////////////////////////+//3/+f/5//T/9P7n/+z/ + 2f/l/s7/3v/F/9D+wf+5+8L/ofrD/5n8xf+X+8b/l/rF/577yf+j+83/pvvH/7D9uv+8/af/yPyb/8v7 + lv/K+ZL/yfiP/8v2jP/S94//2viS/+T6kv/c+ZX/rfKe/93i2sfSzcqovbexkqihmICakYh14N3bzhMS + EtoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAdAAAAJwAAADIAAAA+AAAAVAAA + AG4AAADJ1NPR4KulnIa2sauSzMfEqO/h3sFc19n2MdLU/zjS1P850tT/OtPT/znS0f850dH/OdLP/znR + zf860sz/O9LM/zrSyv870cr/PNHJ/z3Syf8+0cf/PtHG/0LRxv9D0cX/QdDD/0HSwf9B0sH/RNLA/0XR + wP9G0sD/RtO//0bUvv9J1L3/Sta+/0zVvf9O1rz/Tti7/07Xu/9P2bz/Udu7/1Ldu/9V3br/VuG7/1jj + u/9Z5rv/Wum8/1ztvP9e8b7/YvW+/2X5v/9p/MH/b/3G/3X+yf98/s3/h/7U/5X93f+g/eT/p/3p/639 + 6f+z/ev/t/7s/7j+7v+z/e3/s/7r/7b+7v+9/vT/y/73/9z+/P/w////+//8//r/+//2/vf/7/7x/+b+ + 6f/e/uL/2P7f/9L/3f/P/tb/y/7N/8n/x/+//sD/r/26/6n9tv+j+7H/gfmx/2z4sv9o97P/aPi2/2j4 + tv9v+Lj/ffq//376wP97+8P/hfvL/4j6yP+k+r7/w/iy/9j5qP/d+Z7/2/eV/9r1j//U9IT/z/B5/83t + cP++5G7/4uTazdTQzqzAu7SVqqOagpyTinbh3tzPExIS2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAAB0AAAAnAAAAMgAAAD4AAABUAAAAbgAAAMnU09HgrqafiLizrJPNycap8OLfwlPU + 2fYlzNT/Lc3T/y3O0/8tzdH/LczQ/yzN0P8uztD/Ls7P/y/Nz/8wzM7/MM7M/zHMyv8wzMr/MM3I/zPM + x/8zzcf/Nc3H/zfOxv84zsX/Oc/F/zvPxf860MP/O9DD/zvQw/880MH/PNLA/z/Tv/9A1MD/Q9XA/0bW + v/9G2MD/R9nA/0fbwf9J38H/S+LB/03mv/9N6sH/Uu3D/1jxxf9f9Mn/Z/fM/2z50P90+tb/gPzc/4v+ + 4/+R/ej/kv3s/5T98P+Y/fL/mv3x/5f+7/+S/+r/jf/i/47/3v+P/97/lf/f/6L+5P+x/un/wP7t/8z+ + 8f/U/u7/1v7o/9H+3v/I/tP/vv/N/7b/x/+x/8T/rv+//67/uf+h/7b/i/+0/4T+sv+B/rH/g/2u/3/8 + r/9w+bD/Zfex/2Hyr/9c8K7/WfGx/2bzuP9t9bv/bve7/3j6vv9++8H/fvq+/4H7wf+S+8j/kvvM/5j7 + 1f+b/dT/qP3E/7T4o/+864X/u990/7bZbf+z1mr/sNFl/6/LX//j5NnO19PQrsG8tZasppyDnpWNd+Lf + 3M4TEhLaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAyAAAAPgAA + AFQAAABuAAAAydTT0uGtp6CKubSulc7Lxqrw4t/DVtbd9ijQ1/8v0Nf/L9DW/y/Q1v8x0dX/MdLU/zLR + 1P8y0NT/MtDT/zLR0P8z0tD/NNHP/zXSz/83087/OdTO/zrUz/881c7/PNXN/z3Wzf881sz/P9fL/z/W + yv9A2Mv/QdnL/0Payf9F3cr/R97K/0jhyv9I5Mv/SOfK/0nry/9N7s7/UvDP/1n10v9h+tf/afzb/3H9 + 4/97/ej/hP/u/4v/8/+N//b/jf/3/47/+P+Q//j/jv73/4j/8f+F/uz/gf/l/3//4f+B/tv/hP/Z/4z/ + 3v+X/+T/pv/t/7f+8//F/fb/0P3z/8/+6v/I/t7/vv/V/7P/yv+m/77/mv+0/5T/rv+S/6j/kP6k/5H8 + oP+S+p7/lfed/5b0nP+U8pz/kPGc/43vnv+G7Z//gOyf/37qof9566T/de2o/3jxsf+A9bn/jvXC/5n3 + yf+c+cz/qfrQ/6H7zP+S/Mf/lPrK/4/6yf+J+sT/lPrB/5b5vP+X+Lr/mfe3/5vyp/+k5pD/rtV6/7LL + b/+xym//rshr/+Tk2s7X1NCuwby2lq6mnoWgl4944+HdzxMTEtoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1dPS4bCpoYq5s66VzsvHqvHk + 4MNW1dn3J87T/y/P1P8vztP/L8/S/zHP0v8x0ND/MdDQ/zLQ0P800dD/NdLP/zbUzv821M7/N9TO/znU + zv861c7/OtXN/zvWzP871sz/PNfN/z3Xzf9A2sz/QdzL/0Lezf9D38z/ReLL/0bmy/9I6M3/TuvS/1Tw + 1v9c9Nr/ZPfh/2r56P9z++3/e/vy/3z98/97/fX/fP30/3v98/96/fH/eP3t/3f96P90/eT/dP3e/3L+ + 2v9x/9b/c//R/3j+0P98/tH/gv/Z/4/+4f+d/uj/qP7r/7P96v+1/eT/sP7a/6j+z/+g/8b/l/+8/47/ + sv+K/6r/if2n/4j7pP+I96D/h/Sb/4jvl/+H7ZX/h+mR/4fnjv+F44z/huCJ/4jehf+J24P/kNuD/5je + h/+g5Iv/qOqO/6/wkv+39Zn/tveb/67zmP+q7Jv/seql/7brsv+x7bL/rfC2/6/0vv+w98L/qfe7/6P1 + sf+i9Kv/mvWi/5z0n/+e86L/m/Wn/5r0pv+c65X/nth+/6DEav+lu2P/4+Paz9jU0a/DvreYrqighaKa + kHnj4N3PExIS2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjU09LhsKqii7u1r5bOy8ir8ePhxFXU1vcnzdD/L87R/y/P0f8w0ND/M9DR/zPS + z/8z0tD/NNPQ/zPTzv810s3/NNPN/zbUzf821M3/ONbN/zrVzf87183/O9jM/zzZzP89283/P97M/0Lg + z/9G49D/TOfT/1Pr2P9a7t7/XvLk/2L16v9q+O//bvrx/2778f9r/PD/aPzt/2f96f9n/OT/Zvzg/2X9 + 3f9k/dj/ZP3V/2T90v9l/s7/af7K/2v+yP9s/sf/b/7I/3T+zP98/tH/h/7Y/5H+3v+a/+L/nf7d/5n/ + 0v+T/sX/iv66/4X9s/+D/K//gfqp/3/3pP9/86L/fvCe/4Dsmv+B6Zb/gOaS/4DikP+A343/gNyM/4Da + iv+A2Ij/gtiF/4bZhf+O3of/l+SK/57qjP+k747/qfKQ/6fxjP+i7ob/n+iD/53jgP+a3Hv/mth3/5nV + df+a0XL/mdBz/5rPcv+gznb/rNR+/7bdhP+85Yj/wO2M/77wkf+w8ZH/pu+Q/57ujv+c7o7/ou6Y/6Tx + m/+n8Jf/ouaI/5rOcP/i5NrO19TRr8S/uZmwqaKHopuSe+Ti3c8TEhLaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNTS0uKzrKOLu7awl9DM + yKvx4+DEVtXW9ynP0f8w0NL/MdHS/zHT0P8z0tD/M9LO/zPSzf8z0s7/MtTN/zTTzv811c//N9fP/znY + zv872s7/PNvR/z7d0/9C4dX/SeXZ/1Dp3f9V7uP/V/Hn/1316/9h9+//Yfru/1/66/9c+ej/Wvrj/1n5 + 3f9Y+dj/VvjV/1f50f9X+M7/WvjL/1v3yf9c9sb/XfXD/171wv9g9sH/Y/nB/2b8wf9r/sT/cP/H/3r/ + zv+C/9f/if7Y/4z+1f+L/Mz/gvu9/3z5sv9396z/dPWm/3Pxov9z7Z7/deqc/3jom/975Zj/fOGW/3re + k/9424//eteN/3jWif971ob/fNWG/37WhP+D2IT/i96J/5Pki/+Z6oz/n+6O/6Lvjf+e7Ir/l+aG/5Xg + gP+R23z/j9Z4/5DRd/+Qz3X/kMxz/5DKcf+Rx23/kcZq/5HDaP+TwWX/l8Bh/5m/Wv+bvlP/m71Q/52+ + U/+kwl3/q81q/7XZdP+6437/teh+/6voef+n6Xv/pumD/6zskv+y75v/r++a/+Tn38/X1NGwxL65mbCq + o4ilnpN85OLe0BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI1dPS4rOtpIy9ubGX0M3IrPHj4cVZ19j3KtHQ/zHSz/8v0s7/MNLN/zHT + zv8x083/NNTO/zbVz/8419H/O9rT/z7f1/9D5Nv/SOjg/03s5f9R7uj/UvLr/1T17f9W9+3/Vvbr/1H1 + 5/9Q9OH/TPPZ/0zx1f9L79D/S+7M/07syP9P7Mb/UerD/1Lqwv9T6cH/U+m//1Xovv9V57v/V+m6/1nr + uf9d77r/YvW//2j5xP9v/cr/d/7Q/33+0v+B/c7/gfrK/3v2v/9086//be6l/2rpoP9q5J3/a+Gb/2vf + mP9t3ZT/bduS/27Zkf9x15D/c9WP/3TTjf9304r/eNGI/3nSh/981Yb/gtiG/4veiP+S5Yv/lOqK/5fs + i/+Y7In/lOmG/47ggv+J13z/htJ4/4jOdf+IzHT/iclx/4rGb/+Kxm3/i8Nr/4vCav+NwGn/jL1o/427 + Zv+QumP/krpe/5e5Vv+cuVD/mrlO/5e6Tv+WuVL/k7ZV/5G1VP+Ss1P/lbRU/6C8XP+tyGT/t9Rp/7rc + a/+1327/suB5/7Lkjv+565//5efgz9jU0bDEv7qasquliKefln3j4d7QExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjV09LitK2mjL23 + spjRzcmt8uTixVbX1fcp0c3/M9PP/zTV0f8219P/OtrW/z3e2v9D4t7/R+bj/0rr6P9N7+z/UPPu/1H0 + 7v9Q9e3/TvHp/0vv4/9H7N3/Q+nV/0Hlz/9C5Mv/Q+HH/0bhxf9H38P/Sd7C/0ndwP9L3L//TNy+/03d + uv9O3bf/UNy3/1Hdtv9S37X/VeS2/1rruv9h8sH/Z/jH/2/7y/91/dD/dvvN/3f2xv9z8r3/be2w/2jo + pf9k4p//ZN2c/2Xamf9l2Jf/aNeU/2nVk/9p05D/adKN/2fQif9pzYb/acuF/23Nh/930Yj/fNWL/4Pa + jP+K4Y7/j+aN/5Dojf+S6Yv/keeI/4zhgv+G233/gdN6/3/Mdv+ByHP/gsZx/4PEb/+ExG7/hMJr/4PA + av+EvWj/hLxl/4a6Zf+Gt2P/h7di/4e1Yf+LtF//j7Ra/5W1Vf+Yt07/mLdI/5a3Sv+RtlD/j7ZT/5C2 + Vv+Ttlj/lbZY/5u2Wf+duFv/m7dZ/56zVv+jtVj/q7xa/7PFWf+4y1z/ts1i/7rUd//l5t7P2dXSscXA + vJuyraWJqKCWfeTi3tATEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNXU0uK0raiOvreymdLOyq7x5OLGX9/d9zff3f9B5OH/Q+fk/0Lq + 5v9E6+j/RO3p/0Xu6f9G7OX/ROjg/0Pm2/9B4tb/P+HR/z/fzv8+38z/QN3J/0Daxv9A2cT/QdjB/0TW + v/9F1Lz/RdS7/0fTu/9J1Lr/SdS2/0vVtf9L1bT/TNex/07asf9U4Lb/Wui9/2DxxP9m98v/bPnO/3D4 + zv9u9MX/bO68/2jns/9i4af/YNye/13Ymf9f05b/YNOX/2LRlv9k0ZP/Y9CP/2XPjf9kzIr/ZMmI/2PH + hf9myYT/a86G/3XUh/972ov/g+KO/4zokf+M6JD/jOeP/43ki/+I3oT/gtZ+/33PeP95yXP/esZw/3vE + b/98wm3/fcFs/3++af9/vWf/f7tl/3+5ZP+At2P/gLdh/4G1YP+Ds17/g7Jd/4SwXf+Hslv/jLJX/5Oy + T/+Vtkn/lrdH/5G4Sf+Nt07/irZT/4u2WP+SuFr/lrpc/5q8Xv+evF//oL1d/6G9Xf+jvlz/p7xa/6e7 + WP+muVX/qrlU/6y3Uv+ttUz/tbVI/+bk2dDa1tSyx8G9nLStp4unoJh/5OLf0RMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tTT47Sw + qI++ubSZ0c3KrvDi4MZj6eb3N+jk/z7o4P895d3/O+HY/zrd0/852c7/ONfL/znWyP871sj/PdfJ/z/Y + yv8+2Mr/QdnJ/0DXxf8/0r7/QdC7/0DQuv9B0bn/RNG4/0TQtv9E0bT/RtC0/0fRs/9J0rD/TNaw/1Dd + tv9Y5r//X+/H/2X0zP9p9c7/afHH/2Xrvv9h47P/Xtur/1zWov9b0p3/WtCZ/1zOlf9ezJT/YMyT/1/K + kf9hy5D/YcmN/1/Hif9fx4b/ZMiF/2nMh/9v1In/dNuL/33ijf+C55H/gOaO/4Hjif+C3oj/gdqG/3/V + gv9/0H//f8t6/3zIdf97xXL/esFu/3i/av95vmj/erxm/3q7ZP96uGP/fLdh/3y2X/9+tF7/frNd/3+y + Xf+BsFv/gbBa/4OwWv+GsFn/i7JU/5G0Tv+Vtkf/k7lF/4+8SP+JvFL/ibxZ/429YP+SwWT/mMRl/57F + Zv+ix2b/o8Zl/6LDYf+iwV3/o75a/6O9WP+kulb/pLhT/6S2UP+mtE7/qLRL/6mySv+ssUX/5eTa0NnX + 1LLGwr2dtq6ojKmimYDk4uDRExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjW1NPjtbCqj7+6tJrRzcqv8eTjx13c1Pcw1Mv/ONLK/zfR + x/840cf/N9HG/zjRxP850MX/OtLF/z3SxP88z8H/PM28/zzKuf89yrr/QM27/0HPvP9Bz7v/Qc65/0HO + tv9CzbP/Rc2w/0bPsP9J1LL/T926/1fmxP9d7cj/YvDM/2Lvyv9g6L//Xd+1/1rarP9X1ab/WNCi/1fN + nP9Xy5j/V8uX/1rJlf9cyJP/XceR/1/Gjv9exYz/YMSL/2LGiP9nzIr/bdON/3Tbjv954pH/feaS/3zm + jv944Iv/d9qG/3TTgP9xz3z/dM16/3bJef94yHr/fMd5/4HHd/+AxHT/fMJv/3q+a/94u2f/eLlj/3m3 + Yf96tWD/e7Rg/3y0Xv97s1z/fbJb/3+xWv+CsVn/g7FY/4OxV/+GsFf/i7NT/5C2Tv+Uu0n/k79K/43E + U/+Kxl7/i8Vn/5DGbP+Tx27/lshv/5jJbf+Zx2n/m8Rm/5vAZP+cv2D/nL9c/5+/WP+jv1b/psBW/6fD + U/+rw1L/rsJP/66/Tf+wvUn/r7tG/7C3Q//m5NnQ2tbVs8jEvp63saiMq6OagOTi4NETEhHaAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNbU + 0+O2sauQv7u0m9LOyq/y5uPHXdPM9y/Lw/81zcP/NszC/zbMwP80yr3/Nsi6/znEuP84xLb/Ose3/zzL + uv8/z7z/QM6+/0HQvv9Czrz/Qcu2/0HIsf9EyrD/RtCz/0nVuP9Q38D/VOjI/1rrzP9d68r/W+bD/1ff + t/9U163/VNKn/1TOpP9VyqD/VMme/1bInP9YyJn/VsaX/1fHk/9XxpH/WMaP/13Fjf9fx4z/Y8yN/2nT + kf9w25P/deGS/3rllf9545L/dN+L/3HYh/9w0oP/bs9//2/Le/9vyHf/bcZ0/3DDcv90w3L/dsNz/3rE + dP9/xXP/g8N0/4HCcP99vmr/e7tn/3q3Y/95tV//erVe/3u0Xf99tF3/f7Vb/3+1Wf+BtVj/g7ZZ/4e2 + WP+Lt1j/j7lW/5S9T/+Wwkz/lMhQ/4/NWv+Mz2r/itB1/4zNeP+Qy3X/k8p0/5XKcv+Xym//l8xp/5rM + Z/+ezmT/oM1i/6DKXv+hyFv/o8VX/6TBUv+kvU7/o7dL/6KxSf+iq0P/naQ+/5yeOv+cmTf/nJY2/+Th + 2dHc2dWzycS+nrexqo2rpZyB5OLg0hMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tTT47axq5HBvLWc0s/Lr/Lm5Mdbzsb3LcO4/zXD + uf84wrj/NsK2/zbEtv84xbn/Oca3/zjHt/88yLj/Pci3/z3Fs/8/w7D/QMax/0HMt/9H1b7/TNzD/1Dk + yf9U6c7/VujN/1blx/9T3r7/T9ax/07OqP9PyqP/UMqi/1HIof9Tx5//U8ed/1PFmf9TxJf/VsOV/1jD + k/9bxZT/X8iU/2LNk/9o1ZX/bNyV/3Hglv9z5Jf/dOSU/3LekP9v1or/btCH/23Og/9tzH7/bsp7/2/H + ef9ux3b/b8V0/2/Ecf9vwW//cMBt/3XAbv93wW//fcNx/4TDb/+Gw2//hMFr/4G+Z/9/vWT/fbpg/326 + Xf9+vF7/grtc/4a8XP+Jv1z/i8Fc/4/CWv+SxFr/l8VY/5nJVv+ZzlP/ldNW/4/VZf+J13T/idd//4vW + gf+P1n7/k9V7/5LSdf+TzXD/kshq/5HCZv+PvmD/j7la/4+0Vf+Nq0//i6JK/4qcRv+KmEH/i5Q9/4uS + O/+MkTj/jpA3/5OPNf+UjzT/lZAz/5ePMv+YjjD/5OLZ0dzZ1bTJxL6euLOrjqylnYLk4uDTExIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjW1NPjtrGrksC8tp3T0Muw8+flx1vJwfcwv7T/N8K2/zXDtv82wrX/NsOz/zjBsv84wK//Ob+t/zu/ + rv8+xbT/Q9K+/0fZxP9M4cv/UOfS/1Hq0f9R5sz/UN/E/07Yuv9M0LD/SMmm/0jHo/9LxqL/TsWf/07F + nv9QxJz/UcGa/1HBmP9Vw5j/V8eY/1zMmf9h0Jv/aNef/27dn/9v4J7/ceOb/3LimP9v3pX/bdiP/2zT + iv9s0If/bM2C/23LgP9uyn7/b8l7/23Jev9vyHf/ccV0/3HFcv9xxG//csJt/3HAav9zv2n/eMFq/33E + bf+FxnH/jclx/47Lb/+Mymz/i8to/4nLZP+JzGL/is1h/4zNYv+R0GP/lNJi/5jRYP+b0GD/nNFc/5nV + W/+U2F7/jttk/4rabv+F1Xr/g9CC/4TLgP+GxHf/iL9t/4e4Zv+FsGD/gqdY/36hUP9+mkv/fpVH/32R + RP98j0D/f409/4GMPP+EjTn/h4w3/4iNNf+LjDX/jYwz/4+MMP+PjC7/kYot/5OLLf+UiSz/loks/5iJ + Kv/k4tnS3NrWtcnFv5+3squPr6ifgubj4tITEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNXU0+S3sayTwbu3nNPQzLDy5+XIXce/9zC9 + sP83v7H/N7+u/za9rv83vq7/OcGw/z3Jt/9C0b7/R9jE/0vgy/9P5M//TeLN/07hyP9O28P/S9S6/0jM + rv9Hx6X/SMek/0jGpf9JxqP/SsWg/0vDnP9OwZr/TsOb/1PHmv9YzZ7/XNKi/2TapP9q3qf/a+Gk/23i + o/9v4qD/cN+b/27alv9r15H/atKL/2nQif9rzof/bc6F/3DOgf9wzn//csx9/3LMef9yy3f/csp2/3PJ + cv9zxnH/dcdu/3THbP93yGv/e8tr/4DPa/+J023/kthx/5rcd/+h4Xz/oeF6/57gdP+a3m//ltxq/5PZ + Zv+U1WL/ltJe/5fQW/+Ry13/islf/4XLX/+Az17/fM5g/33HZP9/v2j/fbVs/32uZ/99qF7/f6NU/36d + Tv98mUj/e5VD/3qRP/97jjv/e445/3uMNv99jTP/f4wz/3+KMv+EiTD/hYgu/4WILf+Hhiv/iIYr/4uF + Kv+LhCr/jIQq/42EJ/+OhCf/j4Qn/5KEJ/+UhSf/lYUl/+Th2dLd2de1ysTAoLm0rI+wqaGE5uXi0hMS + EdkAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI1dXT5LmzrZLBvLed1NHMsfLn5chcyLz3L7ys/ze/rv85xLL/Psu6/0LRwP9F1sX/SdvI/0nd + yf9J28P/SNe+/0rUu/9IzbT/Rser/0fGp/9IyKn/Ssqs/0rKqv9KyKb/Scah/0vDnf9Ox57/U82h/1fU + pf9e2qr/ZOCr/2Tiqv9o4qj/auKm/2zgo/9t3p3/bdyZ/27Ylf9w1pP/cNeP/2/UjP9w1Ir/cNOI/3PT + hv9y04T/ctN//3TRfP930Hr/eNB2/3nRdv9+1Xb/gtl3/4bedv+J4Xb/jOV3/5Dpd/+R6Xf/j+V0/5Tj + dP+a4XT/nd92/5/ddv+c13D/lc5l/43EWv+IvVP/hLZP/4C0Uv93tV//brlk/2m8Yv9svlz/dLtS/3q2 + Tf9/rkv/gaZK/3+hSf99nET/fJk//3yVO/97kzf/eZAz/3qPM/96jDD/fIou/3yILP97hyz/e4cr/3yF + Kv9+hSn/f4Mp/4GCJ/+Cgib/goEm/4SAJf+GgCb/h4Al/4h/Jf+JgCX/i38k/4yBJf+NgCX/kYEl/5OB + JP+SgSP/5eLZ0t3Z1rbLxcGhu7Suj7GrooTm5eLSExIR2QAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjV1dPkurStksO9t57U0cyx8ublyV/Q + wvc3zLv/Q9PB/0bWxv9H2cf/RdfC/0LRu/9Bzrb/Qsux/0TGrP9Ew6f/Q8Om/0fHq/9Ky67/S82y/0zM + sP9Nyab/T8mj/1POp/9X1az/Wtyw/17isf9h47D/Y+Os/2Xiqv9m4qf/aOGk/2vgof9q3p7/bd2c/3Hb + mf9z3Jf/dduV/3fbk/933Y//dd2N/3bdiv953Yn/fd6E/4Ddhf+C4Yb/h+WG/4rphv+O7Yb/ke2G/4/t + g/+O6X//jOJ5/4fbcv+D1W3/gc1n/37FX/98vVv/g7tZ/4e8Wf+Lu1j/jbpY/4m3Wf+Aslv/da9j/2mu + a/9fsHL/WrZ0/1+5af9tuFP/f7NC/4WvPf+GqDr/hKE4/3+ZN/97lDX/d5Ey/3aOLv92iy3/doos/3eJ + LP94iCv/eIcq/3mGKv95hSn/eIMn/3mCJ/95gSb/eYAl/3x/Jf99fSX/fHwj/358I/9/eyL/gXsi/4J7 + Iv+DeyL/g3wj/4Z7I/+IfSP/i30j/419JP+NfST/j34j/5B9Iv/k4dnT3NrYtszHwqG9t6+Qsqujhebk + 4tMTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNbV0+S6tK2Sw764ntTRzbLx5uPJatvP90DWxP9D077/Qcu2/z/Isf9Axq3/QMKq/0HA + qP9Cwaj/Q8Wq/0fIrf9Ky6//S82v/07Nq/9S0qr/V9ix/1zguP9h57z/Yuu8/2Hqt/9g6LP/Y+ev/2Pm + q/9j5ar/ZuWm/2rjpP9t5KD/cOOf/3TkoP945p3/fOab/4DonP+D6pv/huya/4fvmP+J8Jj/je+Y/4/t + lv+N6JH/i+OM/4nghv+F2oL/gdR8/3zLc/94w2n/crli/3KzXP9yrlj/catU/3CpUP9wp0//b6dN/3Kp + UP93rFf/eK9j/3iycv90t3//Z7eI/1+2iP9atn//W7Vt/2WxV/90sEP/gas1/4WnM/+DoDL/fpky/3iT + MP90jS//cIou/3GHLf9xhyr/c4Yq/3OGKf91hin/d4Uo/3eDKP93gif/eIEm/3Z/Jf92fiT/dn0j/3h8 + I/96eyP/e3oi/3x6Iv97eSH/fnkh/394If+AeiH/gXoh/4N5If+EeiL/hHoi/4Z7I/+HfCP/iX0j/418 + I/+PfST/kH0i/+Th2dPd2ti2zMjDob23sJGyqqOF5uTi0xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tXT5Lu0rpPDv7mf1dLOsvPm + 5clj0L/3OMWu/0DErf8/xKz/QMOq/0HEqv9Dxqv/RMes/0bMrP9K0a3/UNSu/1TZsf9a4bn/YOq//2Tw + xP9l8sX/ZPHB/2Tvu/9j77j/ZO+0/2Tvs/9n7rD/au2r/2ztqv9y76n/d++p/3zyqP+A86f/hfSm/4ny + pf+N8aL/j+6i/47nnf+K4pf/hduR/4LTiP99zIL/eMV4/3K7cP9ttGj/arBh/2qtXP9rq1v/a6lX/2up + Vf9uqFP/bqZU/2ylU/9so1T/aaJY/2WgXf9joWL/YqVv/2GrfP9isIb/Y7iK/2m7hP9rt3H/brRb/3Kv + Rf92qjb/eqQx/32fMP97mS7/dpIt/3KMLf9uiCz/bIUr/2yEK/9tgyr/b4Mp/2+DJ/9xgib/coIm/3SC + Jf91gST/dYAk/3d/JP92fiP/d30j/3p7If95eiD/eXkg/3p5H/96eR//e3ge/3p3IP98eCD/f3cg/393 + IP+AeCD/gXkf/4J4IP+DeSH/hXkh/4Z5If+JeiL/inoh/417Iv+OeyH/5eHZ097c2bfNycOivbawkrOs + pIbm5OLTExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjW1dPkvLavlMO+uKDV0s2y8+fnyWTNvPg5xaz/Qciw/0TMsv9Hz7D/StOw/03Y + sv9Q3LT/VOG3/1rnv/9d7MT/YO7H/2TwyP9l8cb/aPDF/2vxw/9r8b7/bfK+/2/yu/9v8bb/c/K0/3by + sv969LD/fvKt/3zup/9966T/feei/3vgm/962ZP/edGO/3bKhv9zxIH/cLx6/225dP9ptW7/aLFp/2av + Zv9ormL/a61f/2usW/9qqln/aqhX/2mmVv9oo1b/ZaBZ/2SfWf9inWD/XZxi/12dZP9bn2j/V59q/1qj + a/9fqGz/Za1r/22wZv92tV3/fbZQ/3+xQv97qzn/d6Iy/3WZLv9zkCr/cIso/2+HKf9uhCn/bIQp/2qD + KP9qgij/bYIn/26AJv9vgCX/cYAk/3KAI/91gCP/d4Ei/3iAIv94fyH/en8f/3l9H/96fCD/enof/3l5 + H/94eB7/eXge/3h4Hv95eB7/e3cf/3t2Hv98dR7/fnYf/4B3IP+Adx//gXcf/4J4IP+EeCD/h3ch/4l3 + IP+JeCH/i3kh/416If/k4dnT3tvZt83Iw6O9uLGRs62khefl4tMTEhHZAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNXU0+W+uLGVxL+6n9TR + zrPx5ubKa9nA90XWtP9Q27r/VN+7/1bivP9Z5cH/XebG/1/ox/9j6cj/ZerL/2bqy/9q68n/a+rF/23q + wv9x68D/c+7A/3Lvvv9y7Lj/ceas/3Dlq/9v4qf/atqf/2fRlf9lyY3/YcWJ/2DAhf9gu4D/YLZ5/2Kz + df9ksnP/ZrFv/2exbf9psmv/abFo/2isZP9mqWD/Zqdd/2elXP9mo1r/ZaFa/2KfXf9hm2D/X5th/1ya + Yf9ammL/Wppj/1ubY/9am2H/W55f/12fXf9doFn/YqJT/2mlT/9yqUz/e65K/4GzRf+BsDz/e6Y0/3Wa + L/9wkCr/bYcn/2yCJf9qgSb/bIIn/22CJv9tgib/bYEm/22AJf9vgCT/bn4j/3F/I/90fyP/coAi/3aA + Iv95fyH/e38g/3t+H/96fh7/e3we/3t7IP95eR7/eXge/3h3Hf94dx3/eHYd/3l2H/96dR3/fHUe/3x1 + Hv99dR7/fnUe/392Hv+AdiD/gHYe/4J3H/+Fdx//hncg/4l3IP+LeCH/jHgg/+Xh2tTf29m4zcrEor+5 + s5KyraaH5eXj1BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI1tXT5b62sZXEv7uh1dHPtPDm5sp54sj3WODB/2PhyP9m5Mr/ZeTM/2bi + yv9l4sj/ZeLE/2Tiwv9i47v/ZOCz/2bgsv9m4LL/aN+w/2rfsf9n2qf/YtKf/1/Om/9by5n/WcOR/1a6 + hv9TtoL/UrN+/1Wve/9VrXf/WKx0/1mrc/9crG//YKts/2Ksa/9mrGn/aKtm/2ipZP9np2L/ZKNf/2Cg + Xf9fnV//X5xg/12bYv9cmmP/XJlj/1qYYv9amGL/WZld/1qYW/9cmVv/XJtY/16bVf9fnFH/YpxN/2Ob + R/9pnkP/cqVA/3qpP/99qzz/fqg3/3mgMP91lir/c40o/22IJf9qgiT/bIEk/2uAJf9sgCX/aoEk/2yA + I/9tgCP/boAj/25+I/9wfiH/cn4h/3N+If91gCD/eIAg/3qAH/98fh7/fH4e/3t9Hf96fB3/enkd/3l4 + Hf95eB3/eHcd/3d2HP94dhz/eXUd/3p0Hf97dB3/e3Qd/3x0Hf99dR3/fnYd/391Hv+Adh7/gnYe/4J2 + Hv+Edx//iHYf/4p4H/+Jdx7/5OHa1N/d2rjPysWjvrmzk7Gtpojm5ePUExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjW1dPlvLexlsTA + u6HV0s+08Obly33hz/hZ3cT/Xt3C/1zevf9b3rj/Wty2/1resv9Y3K3/Wdmo/1vWpv9b1KT/WNCk/1XG + m/9TvZD/U7uO/1K9kv9UvpP/UreJ/1Gygv9RsX//UbB9/1GreP9Sp3P/UqZw/1Smbv9WpGr/WKNn/1ui + Zv9epGP/YqVi/2OlY/9lpWT/ZaNl/2GgZ/9dnWb/Wppj/1qZYv9dml//XJpg/1yZXv9cmVr/W5dZ/1yY + Vv9cmFX/XJdT/12YUP9gmE3/ZJlI/2SZRf9lmkD/apw9/3CfOf90oDb/dp0y/3adLv96nS3/epgq/3iS + J/9ziyX/bYQj/2l/I/9pfiL/aX4j/2t/Iv9tfyL/bX8i/25/If9wgCD/cn4f/3J+Hv90fR7/dn4e/3p+ + Hv97gB7/fIAd/3yAHP98fhz/fH0d/3t8Hf96ehv/eXgc/3h3Hf93dhz/eHQc/3h0HP94dRz/eXUc/3ly + G/95cxz/e3Mc/310Hf98dBz/fnUe/351Hv+AdR3/g3Yd/4Z1Hv+Hdh//iXcf/4l1Hv/k4trU39zauM7K + xaS9uLOUtK+oiOfl49QSEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNbV1OW/ubOWxMC7odXTz7Tx5ufLdt/B+FHasv9Y2bL/V9eu/1jU + q/9WzaX/VMae/1C/lv9JupP/SLiR/0mxi/9KsIb/S7GG/020i/9PtYz/T66D/06sf/9OrX7/UK9//0+o + dv9Po2//T6Jt/1Cha/9Qn2b/Upxk/1SdY/9VnWH/WZxh/1mdZP9bn2b/XqBo/1+gav9goWb/YJ9k/12d + Yf9dml3/XJhb/12YWf9dmFj/XplW/16ZVP9dmVP/X5hQ/2CYTv9gl0v/YphG/2WYQv9omj//apo7/2ya + Nv9sljL/aZEu/2uSKv9zlSn/e5so/4CdJ/99lif/d5Am/3KIJP9rgCH/aX0h/2l8IP9pfSD/a34g/21/ + IP9ufx//b34f/3F+Hf9zfx3/c34c/3V+Hf92fhz/en8d/3yCHP9+ghv/fYAc/31+HP98fRz/fHsc/3p6 + HP95eBz/eXYc/3h1G/94dBv/eHQb/3hzG/95chv/eXIb/3lyG/96chv/e3Ib/3xyG/9+cxz/f3Md/4B0 + Hf+DdB3/hXQd/4V0Hf+HdR//iHUe/+Ti2tTf3Nq5zsrFpMC6s5S0sKiJ5uXj1RMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tXU5b65 + s5bEwryg1dPPtPLo6Mty0LT4S8Kg/029nP9JuZf/R7aT/0WxkP9ErYv/RauI/0Wog/9GqoH/RamB/0ir + g/9IqH//SKZ7/0qlef9Kp3z/Tap9/02kdf9NoHH/TKFt/02ia/9PnGX/UJlh/0+aYf9PlmP/UJZl/1CX + ZP9TmGX/V5tm/1udZf9dn2T/YKBj/2KhYf9joF3/YZ1a/2CYWP9emVb/YJlV/2GZVP9gmVL/YJhP/2CY + TP9il0j/ZJdF/2SXQv9olz7/a5k7/2yZN/9pkzD/ZYsr/2SGJv9niSb/cJAm/3mVJP+AmyT/f5kl/3qT + I/91jCP/b4Qg/2p8H/9pex3/aHse/2p8Hv9sfR7/bn0c/29+HP9yfR3/c38b/3V/G/90fhz/dX4c/3d/ + G/99gBz/foIc/3+CGv9+ghr/fn8b/319G/98exv/enka/3l3Gf95dhv/eHQb/3dzGv93cxr/d3Ea/3ly + G/95chv/eXIb/3pyG/97chv/fHIb/31zG/9/chz/f3Ic/4JzHf+Ecxz/hXQd/4d1Hv+HdB3/5OLZ1d7c + 2rnPysWkv7u0lbOwqInm5ePVExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjW1dTlvbi0l8XCvaLW09C18urqy2S7ovg7rYv/RLCO/0Ov + jP9DrIn/RKiF/0Slgv9EpH7/QqB7/0Khef9DoHb/RKB1/0addP9In3T/SaF0/0mgc/9Lnmz/TZ9s/02h + bP9MnWj/S5hl/02YZ/9LlmT/SpNj/02TZf9NlGT/UZZh/1WYYf9aml//Xp1f/2CgXv9joV3/ZaJd/2Wg + Wv9jnFf/YZpU/2CZUf9imlH/ZZtP/2SYTP9kl0f/ZpZE/2aWQP9plz7/apg7/22XN/9pkTD/ZIoq/2CE + Jv9igyT/Z4Uk/26KI/91jyP/fJUk/3+YJf99liT/eY8h/3SJIP9tgh3/aXod/2h6HP9pexz/bHoc/258 + HP9vfRn/cH0Z/3J+HP91gRz/dYAa/3WAGf94fhr/fIAc/3+CGv+Agxv/f4Ma/3+CGf9/fxn/fn4a/318 + Gv97eRn/eXcZ/3l2Gf94dBv/d3Ma/3dzGf93cRr/eXEb/3lyG/96cBn/enAZ/3twGf98chv/e3Ea/39y + HP9/chz/gnEb/4RzHP+Dchv/hXMc/4VyG//l4tnV4N3buc7Lx6a/vbaWta+piufl49UTEhHZAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNbW + 1OW+uLSXxcK+otbTz7Xz6+vLZred+DumhP9CqYf/Q6eE/0Gkgf9BoX3/Qp94/0CbdP9BmXP/Q5pw/0OZ + bP9EmW3/RJpt/0ecbf9ImWj/Spto/0ufbP9LnWr/Spdo/0ubaf9KmGn/SpNm/0uVY/9MlGL/T5Nf/1GU + Xf9Tllz/WJhc/1ybXP9gnlr/Y6Ba/2aiWf9po1j/aKFW/2adUv9lmk//ZZlM/2eaS/9pm0n/Z5lE/2mY + QP9qlz//bJg8/2yYOP9nkDL/ZIgr/2GDJ/9ggiP/Y4Mj/2aCI/9shCL/dIki/3mOIf99kyL/f5Yj/3yT + If94jSD/c4ce/2x/G/9peRv/ankb/2t5Gf9sehr/bnwa/3B9GP9wfhj/c4Aa/3WDGv92ghr/d4EY/3qA + GP99ghr/gIQa/4GEGf+Bgxr/gYIZ/4CBGf9/gBj/fnwY/3x5Gf97eBr/encZ/3h1Gv95dBn/eHMY/3hx + Gf93cBn/eHEa/3lwGf95cBn/eXAZ/3pwGf98cRv/fXAa/31wGv+AcRv/gnEa/4NyG/+Fcxz/hXIb/+Xi + 2tXg3du6zszHpr+8tpa2r6mK5+Xj1hISEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tbV5b+8tZfGwr2j19TRtvTs7MxksZX4OZ56/0Gi + f/9Aon3/QZ94/0Kcdf9CmnL/QJhw/0GTa/9Bkmf/Q5Vn/0OYaf9ElGX/RpRl/0aZaP9ImWv/R5Vn/0mZ + af9KnGv/SZdk/0uXY/9Nl2L/TZNf/06TXP9QlFv/U5NZ/1WWWf9amVj/X5tX/2OeV/9moVb/aaNX/22k + U/9solL/ap5N/2maSf9pmkf/a5pE/22ZQv9tmT//bpk8/26YOP9qkjP/Y4gs/2CEKP9igiX/ZIIj/2WC + Iv9ngSH/an8g/3CEH/93iB7/eo0e/36SIf9/lCH/fI8g/3eJH/9yhBz/bXsa/2p4Gf9reRj/a3oY/257 + Gf9vfRn/cH4W/3KAFv91ghj/d4QZ/3aDGf94gBf/fIEX/32DGP+AhRj/goYY/4SEGf+Dgxn/goIY/4GA + GP9/fRf/fXoY/3x4Gf97dxn/eXQZ/3l0Gf94chn/d3EY/3ZwF/93cRj/eXEY/3lwGf95bxj/eW8Y/3tw + Gf99cBr/fXAa/4BwGv+CcRv/g3Ia/4RxGv+EcRn/5eLZ1eDd3LvQzMemwr23lrexq4vn5ePWEhIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjW1tXlwLy1mMbEvqPX1NG29OzszGSukPg4mnT/P5x3/0Gedv9CnXT/Qppx/0GVa/9Ckmf/Q5Jn/0KT + Z/9CkGT/RI9j/0SSaP9FlWr/RZFl/0iTaP9Mm2r/TJdl/0uVY/9OmWP/TZZf/06TXP9QlFz/T5NZ/1CS + V/9Vk1b/WJZV/1yYVP9gmlX/ZZ9T/2qhUv9to1L/b6RP/2+hSv9tnkb/a5pD/2yaQf9vmj//cZo8/3KZ + Ov9ukzT/ZYst/2OFJ/9jgyX/ZYIl/2SAI/9mgCH/aIAf/2mAHf9vfhz/coIc/3aIHf97jR//fpIe/3+R + H/97ix7/eIgd/3GCGv9sexn/a3kY/2t6GP9texn/b3sZ/3B9F/9xfxb/c4EX/3eEGP96gxn/eYEY/3qA + F/99ghf/f4QX/4KFF/+Ehhj/hIQX/4ODGP+Cghj/gYAY/399F/99ehf/e3gY/3p2F/95dBf/eHMY/3dy + GP93chf/d3AX/3hwF/95cBn/eG8Y/3hvGP95bxj/enAZ/3xvGf98bxn/fHAZ/39xGf+CcBn/hHEa/4Rx + Gf/l4tnW4N3cu9HMx6bDvbiXuLOsi+fl49YSEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNfW1eXAvLWYx8O+o9fU0bb07O3MY6qL+DiW + bf9BnHT/Qpxz/0Gab/9Cl2v/Q5Rp/0KTZv9DjmT/QYxj/0GOZv9DkWb/RY9j/0WQYv9HlWX/SZVk/0mS + X/9NmGL/Tphh/02UW/9Oll3/UJRb/1GRVv9Sk1f/U5JU/1eSU/9ZlVH/XJhQ/2KbUP9nnk7/baFO/3Kj + Tf90o0n/dKFF/3CdQv9umj7/cJo8/3ScO/9xmTb/a48v/2WIKf9lhSf/ZoQl/2aDIv9ngiD/aIAe/2l/ + Hf9rfhz/bH4b/29+G/9ygxv/dogc/3uMHf99kBz/fpAd/3qKHP93hxv/cIEY/2t7Gf9rehj/bHoY/258 + F/9wfhX/cH4U/3J/Ff91gRf/eoUY/3yEGP97ghj/fIEX/36DF/+BhRf/hIYY/4SGGP+Fhhj/hIQY/4OB + F/+CgBj/gH0X/356Fv98eBj/eXUX/3l0F/94cxj/d3IX/3ZxF/93cBf/eHAX/3dvF/94bxj/eG8Y/3hu + GP95bxj/e24Y/3xvGf98bxn/f3AZ/4FvGf+EcRr/g3AZ/+Xh2dbg3ty70c3JpsS/uJe5tKyL5+Xj1hIS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI19bV5cC8tpnHw76j19TRtvTs7cxiqon4OJZo/0Cabf9Cm23/Qplt/0GWav9BkWf/Qo1j/0CN + Y/9CjWH/Q41f/0OLX/9Gj2D/SJFf/0eOXv9JkV3/S5de/0uSWv9PlFv/TpZc/1CSVv9Sk1b/VJNU/1WQ + Uv9XklH/WJJP/1uVT/9gmEv/ZZxJ/2ygSf9xo0j/d6RF/3qkQv94okH/dp89/3OZOf9ylzb/bpQy/2mN + LP9piij/aIgn/2iEJP9ogyL/aIIf/2qAHf9rfxz/bH8b/21+Gv9tfBn/b34Z/3OBGP92hxr/eYob/32Q + HP99jxr/eosa/3eIGv9wgBj/bHsY/2x6F/9ufBf/b30X/3B+Ff9xfxX/dIEU/3mDFv98hRf/fYQX/3uC + Fv98ghX/foQW/4KGFf+GiBb/hocX/4aGF/+GhRb/hIEY/4OAF/+BfhX/f3oV/3x3F/97dhb/eXQW/3lz + F/93chb/d3EW/3hwF/94cBf/d28W/3huFv94bhb/d20W/3luF/97bhj/fG8Y/35uGP+Abxj/gG8Z/4Jw + Gf+Cbxf/5eLZ1uHe3LvRzsmmxL+4l7myrIzn5eTWEhIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjX1tXlv723msjEv6XY1dK39e3tzWOo + hPg5lGX/QZlr/0KZbf9Dl2z/QpNp/0KQZf9CjGH/Qoxd/0SLXP9Filz/Rotd/0eLW/9Hi1n/SZBb/0qP + WP9NkFb/UJRZ/0+TVv9RkVb/U5VW/1KSUf9Uk1D/VpBN/1eSTP9Zk0z/X5ZJ/2SaRv9snUX/cqBF/3ak + Qf97pj//faY9/32kPP95njf/cJQx/2uOLP9qjCn/bYwn/22LJP9rhyD/bIMg/2yBHv9sgB3/bX8c/25+ + Gv9ufRn/b3wX/257Fv9vfRf/c4IZ/3eGGf96ihv/fpAb/32PG/96jBn/d4gY/3B/F/9texb/bnsU/29+ + FP9xfxX/cX8U/3KBFP93ghT/fIQV/36HF/9+hBX/fYIV/32CFf9/hhX/g4YV/4eIFf+Hhxb/h4YV/4aF + Fv+Eghf/gn8V/4F+FP9+exP/fXcV/3x2Ff96dBX/enMW/3hxFP94cRX/d28W/3dvFv93bxb/d28W/3du + Fv93bRb/eW4V/3ptF/96bhb/fW8X/39uF/+Abxf/gHAZ/4JvF//l49rW4d/cvNLNyafDvriYuLKsjebl + 5NcSEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNfW1eXAvbeax8W/pdjV0rf07O7NZKeD+DiRZP9Clmr/RJlr/0OXaP9Dk2T/RJBg/0SN + Xv9EiVr/RIlY/0WKWf9Fh1f/R4pW/0mMVf9Ji1T/TI5U/0+RVP9QjlP/UpNS/1KSUf9Uk0//VZVN/1WS + S/9Ykkr/WpJH/16WRf9lmUP/bJ1B/3KfQf92oj7/e6U8/4GnPP+Epzn/fqE1/3KVL/9rjCj/a4wm/26M + Jf9xjSL/cIoi/26GIP9uhB3/boEc/25/G/9ufhn/cH8W/299Ff9uehb/bnoW/3B+F/9zgxj/eIkZ/3uO + Gf9/khr/fY8a/3qNGP93hxf/cH4V/258E/9vfRT/cH4U/3OAFf90gBX/dIEU/3mDE/99hxT/f4cW/36G + FP99hBT/f4MT/4KHFf+FiBb/iIkV/4iIFf+GhhX/hoQW/4WCFv+CgBT/gH0U/398E/99eBT/fHYW/3p0 + Ff95cxX/eXIV/3hxFf93bxb/d28V/3dvFv93bhX/d20V/3dtFf94bRX/eW0W/3ltFf99bhb/f20W/39t + Fv9/bhf/gW4W/+bi2tbh3ty80c3JqMO+uJm6tK6N5+bl1hISEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tXV5sG9t5rIxb+l19bSt/Tt + 7s1jo4H4O5Bi/0SWZ/9ElmX/RZVj/0WUYf9Djlz/RYpY/0SJV/9Eh1X/RYZS/0mJU/9JiFL/SohP/02N + Uf9NjE//To1O/1KQUP9Tj0z/VZNN/1STSf9Yk0n/WpRH/16WRv9hl0P/ZJpC/2qbQP9vnT3/dKA7/3uj + Of+Bpzj/hKg3/3+jMv94mS7/cJAo/2yKJP9uiiP/cowi/3ONIP9zih7/cYYe/3CFGf9ygxj/cYEX/3B/ + Ff9vfhT/bn0U/256Fv9uexT/cX8W/3WFF/95ixf/fpAY/4GTGP9+jxf/fo8X/3mIFv9wfRT/b30T/3F+ + Ff9yfhb/dIAV/3iCFP95ghX/fIYU/4GKFf+AiBX/foQT/32DEv9/hRP/hYgV/4mKFv+HiBX/h4gU/4eH + FP+GgxX/hIEV/4OAE/+BfRP/f3wU/316Ev98eBT/enQT/3lzFP95cxT/eXMU/3hxFP94bxX/eG8V/3dt + Ff93bRX/d20V/3htFf95bRX/eW0V/3xtFf9+bRb/fm0W/39uF/+AbRX/5uLa1uHe3LzQzcmoxL+6mb21 + r43o5+XWEhIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjX1dXmw723msjFv6XY1dK39OzvzWWkfvg7jlv/RJRi/0eXY/9JlmD/RZBc/0aN + Wf9GjFb/Q4ZQ/0SEUP9IiE//SYVN/0mGTv9LiEz/TIdJ/0+MS/9PjUr/Uo1K/1WPSv9WkEf/WpZF/16X + Rf9hm0P/ZJtC/2aaQP9omz7/bZs7/3OeOf96ojf/g6Y2/4GmMv99oiz/epsp/3mVKP9yjyT/bYki/3KK + If92jB7/dYse/3WJHP91hxn/coQZ/3OCF/9ygRX/b34U/3B+FP9vfRT/bnsV/257E/9xfxX/doUW/3qL + Fv+AkRf/gJMY/36PFv+CkBj/eIcV/3B+FP9wfxX/cn8T/3OAE/93gRP/eYIU/3yEE/+AiRT/gYsU/4GJ + E/9+hBP/fYMS/4CGE/+GiRT/iIkT/4mKFP+HiBT/h4cV/4aEFP+EgRP/g4AT/4F9E/9+ehL/fHoR/3t3 + Ev96dBP/enMU/3lzFP95chP/eHAU/3hvFP93bhT/d20V/3dtFf93bBX/eG0V/3ltFf95bBX/em0V/3xs + Ff9+bRb/f24X/4BtFf/m4trX4d7dvdHOyajFv7qZvLWvjejn5dYSEhHZAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNbW1ebDvbeaycXApdfW + 0bf07u/NZqJ6+DyOWP9Gll//RpVc/0iVWv9Hklr/RYxX/0WIUP9Ghk7/R4RL/0qCS/9Lhkr/SoVK/0yG + R/9OiUf/T4hG/1CKR/9TjEP/V5FD/12XRP9jnEP/Zp5B/2aeQP9mnD3/aZo6/22aOf9znzj/e6Y1/36m + Mv98oS//eJsq/3qaJf98mST/epUm/3OOIv9xiR7/dYod/3iMGv96jBr/eYoZ/3eHGf91hBj/dIMW/3KB + FP9wfxP/cH0U/298E/9ufBP/bnwT/3OCE/94iBT/fI0V/4KTFv+Bkhb/gpEV/4aUFv95hxX/cIAU/3KB + E/90gRP/d4IS/3mCEv95gxL/fIUS/4KKEv+EjBP/gooR/3+GEv9/hBH/gocS/4iKE/+JixL/iYoS/4iI + Ev+HhhP/hoUT/4SCEv+DgBP/gX0Q/396EP99ehD/fHcS/3t0E/97dRH/e3MT/3pyFP95cRT/eHAT/3dv + E/93bhT/d24U/3dsFP94bBT/eW0V/3htFP95bRX/em0V/31sFf99bRb/gG0V/+bi2tfi3929087KqMTA + upm7ta6N6efl1hISEdkAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI1tbV5sK+uJvJxcCl19bRt/Pu781mo3j4PIxU/0aTWP9Jlln/SJVY/0aR + Vf9GjVL/R4hO/0iDSf9Igkf/S4RI/0uDRv9NhEX/TIVF/06EQ/9QiEL/U4xA/1yTQf9gmkD/ZZ9A/2if + Pv9lnjz/ZZs7/2mYOf9umzj/dqQ2/3mpMf93oy3/dZkq/3WVJ/96mST/fpoi/36aJP98lCP/dYwd/3SJ + G/93ihr/eo0Z/3uNGf96ixj/eYgY/3aEFf90hBX/coIU/3F/FP9wfhP/bn0T/298Ev9wfhP/dYYS/3uL + FP9/jxT/hpQV/4aTFP+FlBX/iJUW/3eGE/91gRH/dYMS/3iEEf96hBH/e4US/3yFEf9/iBH/hIwT/4aN + FP+DihH/gIYR/4GFEP+GhxD/iYsR/4mLEf+JihL/iIkQ/4aHEf+FhRL/hIIS/4OBEf+Bfg//f3sR/315 + Ef98dxH/e3YQ/3t2EP96dRL/e3QT/3lxFP95cBP/eHAS/3duE/93bhT/eW4T/3htE/94bRP/eG0U/3ts + E/99axX/fWwV/31tFv+AbhT/5uLb1+Lf3b3TzsqpxMC6mbu2sI7p5+XWEhIR2QAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjX1tXmw764m8jF + v6bY1tK49O7wzmiidPg/i0//R5JV/0iUVP9KlFT/SZBR/0qMTf9Kh0r/SYRG/0mCRP9KgUP/TYNC/0yC + QP9Og0D/UIc//1qOPv9gmD7/ZJw+/2efPP9mnTv/Zps4/2aZOP9qmTj/c6E1/3itNf93qS//b5kp/26Q + Jv90kCP/eZUi/3+aIP+AmSL/gJkg/36TIP93ixv/dYob/3qMGP98jBn/fY0Z/36MGP98hxb/eIUV/3aE + E/9zgRX/c4EU/3J/Ev9wfhH/cX4R/3OAEv95hhL/gIwT/4STFf+Jlxb/hpQW/4qXFf+KlhX/eYUS/3iC + Ef95hBD/e4YS/32GEv99hxL/f4cS/4KLEP+HjxL/ho4S/4OKEf+Ahw//gYcO/4aKD/+JixD/iYsQ/4mL + EP+HiBD/h4UR/4aEEf+DghD/gX8P/4B9Dv9+ehH/fXgR/3x2EP97dxH/e3YQ/3x0Ev99cxP/e3IS/3tx + Ev96bxP/eW4S/3luEv95bhT/eG0T/3htE/94bRP/e20T/31sE/98bRP/fm4V/4BuE//m4tvX4d/dvdLO + y6rFwLuavLawjunn5dYSEhHZAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNfW1ebCvribx8XAptjW0rn07e/OaKBw+ECJS/9JkVH/SpNR/0yU + Uf9NkE//S4xJ/0yHRv9MgkP/S4FA/0uAP/9LgT7/ToQ9/1WKPP9clTz/Yps8/2aePf9mmzr/Zpk4/2OY + Nf9mmDX/bZw1/3erNf94tDL/b58s/2yMJ/9siCX/cI0i/3eTIP99lyD/gJkf/4ObHv+BmB3/f5Me/3mM + Gv94iRj/eYsY/3+NF/+Cjhj/gYsX/3+IFf97hRT/doQT/3SCFP90gRP/cn8R/3J/Ef9yfxH/doIT/32I + E/+CjhP/iJUU/4uYFf+IlRT/j5wU/4qVFP98hRL/e4US/3yFEf9+hxL/focS/3+HEf+AiRD/hI4R/4qQ + E/+HjhL/gooP/4KHDv+DiA//h4sP/4mLD/+Jiw//iIsQ/4iIEP+IhRD/hYMR/4OBEP+CgBD/gH0P/356 + D/98eBD/fHcP/352EP9+dxD/fXUP/310EP98cxD/e3IS/3twE/96bxP/eW4S/3htEv94bRL/eG0T/3ht + E/96bRP/fGwT/3xsE/9+bhX/gG4T/+bi29fh392+0s7LqsXAu5q9tq+O6efl1hISEdkAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI19bV5sK/ + uZzGxb+m19XSufTt785soHD4QopJ/0iQTP9LlE7/TJVO/02QTP9MjUf/TYdD/02DQv9MgD//ToA8/1OG + PP9ZkDr/YJk5/2WeOf9knTn/Ypg4/2OUNv9llDL/aZky/3OmMv95uTP/c7Av/2mRKP9mgiX/a4Uj/3GL + If91kCD/fJQe/3+YH/+CmR//hZwc/4SaHP+DlB3/fIsZ/3qIGP99ixf/g44V/4SPFv+CjBX/f4gU/3uG + Ev95hBP/d4IS/3Z/Ef90fxD/c4AR/3aCEf96hhL/gIsT/4WSFP+LlxX/jJoT/4qXEv+TnxX/iJMT/32H + Ef99hxL/fokR/4CKEP+Aig//gIgR/4OMEP+JkBL/ipES/4eNEf+EiQ7/g4cM/4aJDv+Kiw//iowQ/4mL + D/+Jig7/iYgO/4eFEP+GgxH/hIAP/4N/D/+BfRD/f3oP/314D/9+eA//fncP/353EP9+dxD/fXYP/3x0 + Ef97chL/e3IR/3pwEv96cBL/eW4Q/3ttEP97bRL/e20S/3ttEv98bBP/fWwT/39uFP+AbxL/5ePb1+Lf + 3b7TzsuqxcC7mry2r4/p5+XWEhIR2QAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjX1tXmw764m8jFwKbW1dK58+3wzmudbPhDiEP/S5BL/0qU + S/9LlEr/T5JI/06LRP9OhkH/TIM9/1CDPP9YjDv/YJc6/2SdOf9lnTj/ZJg3/2OUNP9hkDL/Y5Ix/2ye + L/92tTL/eb8w/2yiK/9kgiT/ZoAi/2eFIv9tiCD/c40f/3eRH/99lB7/gpgd/4eaHP+Imxr/hpkc/4SU + Hv97ixn/eogX/4CLFv+DjxX/hI8V/4KMFP9/iBP/e4YT/3qEEv94gRH/d4AQ/3aBD/90gRD/eIMR/3yI + Ef+CjRP/iZQU/42aEv+NmxP/jJkS/5WgFf+GkRL/fogR/3+HEf9/iQ//gIsP/4GLD/+BiQ//hY0Q/4uT + Ef+MlBH/h40R/4WJD/+EiA3/iIoO/4uLDv+LjA//iYoO/4mJDf+Ihw3/hoUO/4WDD/+EgA//g34O/4F8 + Dv+Aeg3/fngO/354Dv9+eA7/f3YP/393EP9+dg//fXQQ/31zEf98cxD/fHER/3twEv97bxL/fG0R/3xt + Ef98bRH/fG0S/3xsEv99bRT/gG8T/4FwEv/l49vX4t/dvtPOyqrFwLubvLawkOnn5dYSEhHZAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNfW + 1ebDv7mcyMbBptjW07nz7fDOa55o+ESHQP9Lj0f/TZRH/06VRv9QkEP/UIs//1GIPv9Uizv/XZM7/2ac + Of9mnzj/Y5w2/1+TNf9ejjH/X44v/2eSL/9xqzD/eMMy/3G6Lv9kjib/Ynsg/2R/If9mgyH/aYce/3CK + Hv92jR7/eZEe/4CVHf+DmRr/h5kZ/4ebGf+KmRv/iJUf/36LF/99iBX/gYsV/4SNFP+FjhX/gosU/3+J + E/97hhL/eYMR/3iDEP93gg//d4EP/3eCD/95hBH/fokR/4WQEf+LlhL/kJwR/4+bEv+RnBL/lqEU/4SO + EP9/ig//gIoO/4GMDv+DjBD/g4sP/4OKD/+HjxD/jJQQ/4uTEf+GjRH/hIkO/4aJDP+IjA3/i40N/4yN + Dv+Kiw3/iYkN/4iHDf+HhQ3/hYQM/4SADv+Dfw//gX0N/4B6DP9+eAz/f3kO/354Df+Cdw7/gncP/4J2 + D/+BdRD/gHQP/4B0Dv9/chD/f3AR/31uEf99bhH/fG0Q/3xtEf98bRH/fG0R/35uE/+AcBL/gXAS/+bj + 29ji392908/KqsXBu5u9uLGP6Obl1xIREdkAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI19bV5sO/uZzJxsGm2NbTufTu8c5snGb4RIY9/02Q + RP9Ok0T/UZND/1GQQf9TkT7/XZU8/2KcPP9moTr/Zp43/2GXM/9ejzH/W4sw/1+LLv9pmC3/dr0x/3bK + Mv9qqSv/YYEj/2F7IP9kgSD/ZoIg/2eFH/9uhx3/cowd/3ePHf9+kRz/gZYa/4WYGf+KmRj/i5oX/4yZ + HP+KlR//gYsV/3+IFP+BjBT/hI8S/4SOE/+CihL/gIgQ/32GEv97hRD/eoMP/3qDD/95gw//eYMP/3yG + EP+BixH/h5IR/46ZEv+TnRL/kZsT/5WfE/+VnxH/go0P/4GLDv+Diw//hI4O/4SMD/+Diw7/hYwP/4yQ + EP+PlBH/jJIQ/4iMEP+Gig3/h4kN/4qMDP+NjQ3/jYwO/4mKDP+IiA3/ioUM/4iFDP+Egw3/g38N/4J+ + Dv+Aew3/f3kN/354Df9+eA3/f3gN/4J4Df+CeA7/gncP/4F1D/+AdA7/gHQO/39yEP9+cBD/fm8Q/31u + Ef99bRD/fG0Q/3xtEP9+bRL/gXAS/4JyEf+DchH/5uPb2OHg3b7Sz8urxsO8m725sY/o5uXXEhER2QAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjZ19bnwr64m8rGwabZ19O59O7yzmybY/hFhzn/TY5A/0+RP/9SlkH/WZpA/2GiP/9opDz/Z6M5/2Ka + NP9ekjH/XIsv/1yJLf9hjCz/bKUt/3bPMv9xxy//Y5Qn/2F6Iv9ifSL/ZIAh/2WBIP9ogx7/bIQd/3GH + Hv90jB3/epAd/3+TGv+Clhn/h5kY/42bGP+NmhX/jpoc/4uVIf+AihT/fogS/4KNFP+FjhL/ho4R/4KK + EP9/iBD/fYUR/3yFD/97gw7/e4MO/3qDDv97gw7/fogP/4SOD/+KlA//kJsR/5WfEv+SnBH/maES/5Kc + EP+CjQ//g4wO/4SMDv+Gjg//ho0O/4WMDf+Hjw7/jpQQ/5CWEP+MkhD/iIwP/4WKDP+Jiwz/jo0N/5CM + DP+PjAz/jIoK/4uHC/+KhAv/hoQL/4OBDf+Dfw7/gX0M/397C/9+egz/f3gM/4F3DP+CeQ3/gngN/4J4 + Df+CeA3/gHYO/4B1Dv9/dA7/f3MO/39yEP9+cBH/fW8P/3xuD/98bRD/fW0Q/39vEv+BcBH/gnIS/4V0 + D//m5NrY4uDevtTRzKvHw72bu7avjuno5tkTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNrY1+jCvbecysbBqNnX07n07/LObJtg+ESF + NP9NjD3/VJc+/12kQP9mq0D/aas8/2ikN/9imDP/XI0w/1uJLf9diiz/Y5It/2+2L/9x1zH/ZrIt/2GF + Jf9ifCL/ZIEg/2SBH/9lgR7/aIEd/2qDHv9uhRv/cYob/3eMGv98kBv/gJMa/4eWGf+Jmhj/jZoW/46a + FP+Qmh7/jJUh/4GKEf+AiBL/g4oR/4WNEv+FjRD/gooO/4CJD/99hg7/fIQP/3uDD/97gw7/e4MO/3uE + D/+BiQ7/h5AP/42XD/+TnhD/l6AP/5OcD/+cpBL/kZkQ/4WODf+Gjgz/hY4M/4ePDv+Gjg7/hYwN/4mP + Dv+Plg7/kJcP/4uQDv+Hig7/hokM/4qLDP+OjQz/kY0N/4+LDP+NiQv/jIcL/4mEC/+Hgwr/hYEL/4F9 + Df+AfAz/f3oL/355C/+AeQz/gncM/4N4DP+CeA3/g3gN/4N3Dv+CdQ3/gnUN/4JzDf+Acw7/f3IO/4Bw + Dv9/bw//fW4O/3xuDv9+bg7/gHAQ/4BxEP+CcxH/hnUR/+bk29jj4N6+1NHMq8bDvZy5tK6N6unn2hMS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI2djX6MG9t5zKxsGn2dfTuvTv8s9rmV74RYUx/1SWO/9gpj7/Z7E//2mvPf9mpTn/YJgz/16O + L/9ciCz/X4os/2idLv9xyjH/bNIx/2CYKf9deyP/YX4i/2WDIf9lgx//Z4Ie/2iCH/9qgh3/bYMd/3CG + G/9zihn/eIwZ/32QGv+Ekxf/ipYY/4yaF/+QmhX/kJoT/5GaHv+MlCD/f4gR/4CHEv+EihH/hY0Q/4OM + D/+Ciw//gIkM/36GDf99hQ7/e4QN/3uEDf97hAz/foUN/4KKDf+JkQ7/kJgP/5WdEP+Wng7/lJwP/52k + Ev+Olg7/ho4N/4aODP+Ijwz/iI8M/4eODf+IjQ7/jJMO/5GYDf+Qlg7/i44O/4eJDf+JiQv/jYwL/4+O + Cv+RjAv/kIoM/4yIC/+Lhgv/iYQL/4iBCv+EgAr/gX0M/4B8DP+AeQr/f3gK/4F4DP+Bdwv/gngM/4J4 + Df+Ddwz/hHcM/4N1Df+CdA3/gXQN/4B0Dv9/cg3/gHAN/39wDv9+bw//fW8P/35vD/+AcBD/gnIP/4R1 + EP+GdxH/5uTb2OPg3r7U0MurxsS9nLi0rY7q6efaExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2NfowL24ncnHwqjZ1tO59O7yz3Cd + XPhPkjL/YKc7/2auO/9nrjv/Y6U4/16ZNP9bkS//XIst/2COLP9qrS7/cNoy/2bDLf9bgyP/Wncj/15+ + Iv9igSD/ZYIf/2eDIP9ogx//aoId/2qCHP9sghz/cYUZ/3WKGP96jBj/gJAY/4eTF/+Klhb/jZkV/5GY + Ff+QmRL/kpsf/4uUH/9/hxD/gIcS/4OJEP+Fiw//hIwP/4GKDv+AiA3/f4YN/36FDP98hAv/e4QL/3yE + C/9/hwv/hIwO/4uSDv+SmRD/mJ8Q/5idDv+ang7/nqQQ/4uUDv+Gjg3/ho4M/4mPDP+Jjwz/iI0L/4mP + Df+PlQ7/lJkN/5CVDf+Jjg7/h4oM/4yKDP+Qjgz/kI4K/5GNC/+Pigv/jIgL/4uGC/+JhAr/iIEK/4R/ + Cf+BfQv/gHwM/4F5Cv+CeAv/gngM/4J4DP+CeAz/gngM/4N4DP+Edwz/g3YN/4J1Df9/dQz/f3MN/4Bz + Df+AcAz/fnAM/31vD/9/bw//f28P/4BwD/+Ccw//hXYR/4d4EP/m5NvY4+Dev9TQy6vIxL2cubStjurp + 59oTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNnY1+jBvbidyMfCqdnW1Lrz7fLPd6pc+FmeMP9jqTj/Y6k2/2CjNv9dmzX/XJUx/12Q + Lv9ili7/bsAx/2zhMv9grir/WHgj/1l4IP9bfCH/Xn8f/2SCHv9mgh7/aYMe/2qCHP9rghr/a4QY/2+E + Gv9zhhr/d4oY/32NF/+DkBX/h5QU/4uWFP+OmBX/kZgV/5GYE/+UmSH/jJId/4GJDP+Bhw7/hIkP/4WL + Dv+Fiw7/g4gM/4KHDf+AhQz/foUL/32EC/99hAv/fYUL/4CIC/+GjQ3/jZQN/5SbD/+ZoQ7/l54N/56i + Dv+eog//jJEN/4mPDP+Kjwz/i5AN/4qPDP+Kjgv/jZAM/5GWDf+UmQ3/kZUN/4qNC/+JiQv/j4wL/5KO + Cf+Sjgr/ko0L/5CKCv+OiAn/i4cJ/4mECv+HgQr/hn8K/4N9Cv9/fAr/gXkJ/4J4Cf+CeQv/g3gL/4R5 + Cv+EeAz/hHgM/4N3C/+Ddg3/gnUN/4F1DP+Bcw3/gHIM/4BxDf9+bwz/fm4N/35vDP9/cAz/gXIN/4N0 + D/+FdhD/h3kO/+bk2tji4N6/1NDLq8XDvZ24s62O7Onn2hMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2djX6MO+uJzJx8Ko2NbTuvLs + 8s96sFv4V58t/1ygM/9cnjT/W5w0/1yaM/9flzD/ZqIw/27TNP9p2zH/XJon/1dxIf9ZeSD/WHog/1x6 + IP9ffh3/Y4Ee/2aCHP9oghz/aYEb/2uBGP9sghn/boQZ/3KHF/95ihf/fo0V/4OPFP+GkxP/i5YT/5CX + FP+SmRT/kJcT/5OXIf+Mkhr/gYgK/3+GDf+DiA7/hYwO/4WLDf+DiQ3/gYcK/4CFCv99hQr/foQJ/36E + Cf+AhAv/g4kK/4iPDP+QlQ3/mJwN/5ygDf+anQ3/oaQO/5yeDf+MkAz/i48L/4uQDP+LkAz/jI4M/4yP + C/+OkQ3/kpcN/5SZDP+Okgz/iYwL/4uJCv+Qjgr/kpAJ/5KPCv+RjQr/kIoK/46ICf+Lhwn/iIMI/4eC + Cf+Gfwr/gnwJ/357CP+AeQj/gXkI/4F5Cf+CeQr/gnkK/4N4Cf+DeAv/hHgM/4J1C/+CdQv/gXQM/39z + Df9+cgz/f3EL/35vDP9+bgv/fnAM/4ByDf+CdA7/hHYQ/4Z3Ef+HeQ//5uTa2OPg3r/T0MusxsO8nbu0 + ro3r6efaExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjZ2dfow7+5nMvIw6fa2NS68+zzz3erWfhRlCr/VZUw/1eXMv9anDL/YJ8x/2my + Mv9u4Df/Zc0y/1qJJv9XciH/WXoh/1p7H/9aeR7/Xnoe/2F+Hv9kgR3/aIQa/2qDGv9qghn/bIMX/22C + GP9vhBj/dIgW/3qKFf9+jRX/hJEU/4iVE/+MmBP/kZkU/5GZEv+QlxL/k5cj/4uQGf+Ahgr/gIYO/4SJ + Df+Giw3/hooN/4SIC/+Chwr/gIUK/3+GCv9/hQr/gIUK/4GGCf+Fiwv/i5EM/5GXDf+anQ3/naAO/5ue + Df+ipg3/lpwL/4uRC/+LkAv/i5EL/4yRCv+Mjwv/jJAL/5CUC/+WmQv/lZkL/46RCv+Liwr/josK/5KO + Cv+Tjwr/k44K/5KMCv+Qigr/jogJ/4yGCf+KhAn/h4EI/4R+Cf+DfAn/gHsI/4F5CP+Begj/gnoJ/4J5 + Cv+DeQr/g3gJ/4N3Cv+Ddwz/gnYL/4J1C/+BdAz/gHIM/39xC/9/cAv/fm8L/39vDP9/cAz/gHIN/4J0 + Dv+FdhD/h3kQ/4l7D//n5NvY4+Dev9PRy6vIxL2cubStjuro5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnZ1+jDv7mcy8fDp9rY + 1Lr07/TPdKJV+E2IJf9VkC7/V5cw/1+jMv9qwDb/bOk5/2C/MP9Zgif/WHYk/1p6If9Zeh//W3kd/1t4 + HP9dehv/Yn4d/2aBG/9pgxj/bIIY/2uDF/9sghf/boIW/3KDFv91hxT/e4oU/4CNFP+HkRP/ipUS/4+X + E/+RmBH/kZgP/4+WEf+TmSL/iI8V/3+FCP+Bhgz/hIoN/4aKC/+FiQr/g4cJ/4OHCf+BhQj/f4QJ/3+E + Cf+AhQn/g4cJ/4eMCv+Nkwv/lJkM/5ufDP+coA3/nJ8M/6OmDv+TmQv/i5IK/4uRCv+Nkgv/jpEK/4yQ + Cv+OkQr/k5gK/5qaC/+Wlgz/j48K/42MCf+QjQj/k44K/5SQCf+Ujwn/kowJ/4+KCP+Nhwj/jIYJ/4qD + CP+HgQj/hH8I/4N8CP+Cewj/gXoH/4J6B/+DeQj/g3kH/4N5CP+DeAn/gncJ/4N3Cf+BdQr/gHQK/4Bz + C/9/cwv/fnIL/31xCv99bwr/fnAM/39wC/+Bcwz/g3UN/4V3Dv+Ieg//inwO/+bk2tji4N6/1NHMq8fD + vJ23sayQ6ejm2xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI2djX6MS+up3MxsOp2tfUuvTv9M9xnFT4TIQl/1iQLv9gozH/a882/2vo + Of9gsS//WYQm/1l/JP9afSH/W3of/1t6Hv9beRz/W3gb/117Gv9hfhv/Z4EZ/2qDGP9sghf/a4MX/22C + Ff9vghT/coMV/3WGE/98ixT/go0T/4aREv+MlBL/kJYR/5GXEP+Rlw//kJYR/5OYIf+HjhL/gIUJ/4GF + DP+Eig3/howL/4aJCv+Ehwn/g4cJ/4GFCP+AhAn/gIQI/4CFCP+Dhwn/h40J/4+UC/+Ymgv/naAM/5yg + DP+eoA3/oaUN/5KXCf+LkQn/jJEK/42RCv+NkQr/jJEJ/4+UCv+VmQr/mpoL/5WUC/+Qjgr/jowJ/5KO + CP+Ujwn/lJEH/5SPCf+SjQj/kIsI/46ICP+MhQj/ioMI/4eCB/+EgAb/g3wH/4F6CP+Begf/gnoH/4N5 + B/+DeQb/g3kI/4N4Cf+DeAn/g3cJ/4F1Cv+AdAr/fnML/35zC/99cQr/fXAK/31vCv99cAv/fnEL/4F0 + DP+Ddg3/hXgN/4h7D/+KfA3/5uTa2eLg3r/U0MysxsG8nrexrJDp6ObbExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2NfoxL66nczH + xKna1tO69O/zz3GaVPhNhiT/XaIv/2jWN/9o5Dn/XKUt/1mGJ/9Zhib/WYIi/1t9H/9beh3/XHoc/115 + G/9deBr/XnoZ/2F+Gv9ogRj/bIMW/2uCFv9rghb/boEU/3CBE/9zgxT/d4cT/3qLEv+CjhP/h5AR/4uT + Ef+Olg//kZYQ/5CWDv+PlRH/lJgh/4eMEf9+hQf/gYYL/4aKC/+Gigr/hokK/4SHCf+Dhwn/goYJ/4GF + Cf+Chgj/gYUH/4OJBv+Jjwf/kpUH/5qbCf+foQz/nKAL/6CkCv+hpAr/kJQJ/42QCf+NkAn/jpEK/42R + Cv+Okgn/k5UJ/5qYC/+ZmQr/k5MK/4+NCf+PjAj/ko4I/5SRBv+UkQf/k48I/5GLB/+Qign/jogI/4yF + CP+JgQj/hoEH/4N/Bf+DfAf/gnsI/4F6Bv+Aegf/gnkI/4J3B/+DeAj/gncJ/4N4Cf+Bdgj/gXQK/4Bz + Cf+Acwv/f3IK/31wCP99bwn/fW8J/39wCv9/cgv/gHMK/4N1DP+Gdw3/iHoN/4t+Df/n5drZ4uHev9LP + y6zFv7yft7KskOro5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNnY1+jDvrqdzMfEqNrW1Lr17vPPcp1S+FWfJf9k3DX/YNk1/1qZ + LP9ZiSj/W4wn/1qHJP9ZgiD/WXwd/1t5HP9cehv/XXka/114Gv9gexn/ZX4X/2iBFv9rghb/a4IV/2yB + Ff9wgBT/cYET/3OEEv95hxH/fYsR/4ONEP+IjxH/i5IP/4+WD/+Qlg3/j5YK/5CVEP+TliD/hooO/4GD + B/+BhQr/hYkL/4WJCf+FiQj/hIcI/4OGCf+ChQf/goUH/4KFB/+ChQf/hYoI/4uQCP+Ulgf/m50I/5+g + DP+cnwv/pKYK/56hC/+Skwj/kZII/5GRCP+Skgn/kZAK/5GRCf+Wlgv/mpoK/5maCv+Tkgj/j40I/5GM + CP+Ujwj/l5EI/5aRCP+Tjgj/kYwI/5CLB/+OiAf/i4QI/4mCB/+HgAX/hX4G/4J8Bf+CfAb/gXsE/4B6 + Bf+Cegf/gngG/4J4Bv+Cdwf/gncI/4F2CP+AdAn/f3QJ/35zCP99cgn/fHAJ/3tvCP98cAn/fXEJ/39y + Cf+BdAr/hHcN/4Z6DP+Iew3/in0N/+bk2tni4d6/0s/LrcXAvJ+3sqyQ6ejm2xMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2djX6MO+ + up7Lx8Sp2tbUu/Ts8896ulX4Wt0r/1rKMf9VjSj/V4op/1mQKP9aiiX/Wocj/1mAH/9Zexz/XHob/114 + G/9ceBr/XHcY/196F/9lfRX/aIAV/2uCFv9tgRX/boEU/29/Ev9xgRL/c4QQ/3qGD/9/ihH/g4wR/4iP + EP+Lkg7/j5YN/4+WC/+QlAj/kZUR/5KWIf+EiA3/gYQH/4KFCf+Fhwr/h4gJ/4aIB/+Fhwj/hIUI/4KF + B/+DhQf/goUH/4KFCP+Iigf/j5AI/5aYCP+cngj/n6EL/52fCv+mpwv/nZwL/5GSB/+RkQf/kpII/5KS + CP+RkAj/k5EJ/5iWC/+bmwn/mJcI/5KQBv+QjQf/ko4G/5WRCP+XkQb/lpAH/5ONCP+Riwj/kIoF/46H + Bv+Mgwj/iYMG/4iABv+Ffgf/hHwF/4F8Bf+CeQb/gnkH/4J4B/+DeQj/gngH/4J3B/+Cdwb/gXYJ/390 + Cf9+cwn/fHEI/3twCP97cAj/e28I/3pvCP99cgr/gHMJ/4N1C/+Edw7/hnoN/4h9DP+Kfw3/5uXb2eLg + 3r/Sz8utxcC8n7exq5Hp6ObbExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2dfow767nsvHw6na1tS69Ojy0HzoWvhQuCX/UYIl/1aG + Jf9ZkCf/Wo4m/1uLI/9ahSH/WoAd/1t8G/9beRn/XHgZ/1x4GP9cdxf/XnkW/2R8Ff9ofxT/bIEU/26B + E/9tgBH/boAQ/3CCEP90gw7/e4YP/3+KEP+EjRH/iJAO/4yTDf+OlQv/jpUJ/4+UCP+QkxD/kZUh/4OI + C/+AhAb/gYUI/4SICP+Ghwf/hocG/4WGBv+Dhgb/goQH/4KEBv+BhAb/hIYH/4mMBv+Rkgb/mJoG/52e + B/+enwn/np8J/6WnCv+amgf/kpEI/5KSCP+TkQf/kpII/5KRB/+Vkwj/mZgJ/5qbCv+WlAn/kY4H/5CM + CP+Tjgf/lpAH/5aRBv+Wjwf/lI0I/5KKB/+QiAX/jYYH/4uECP+IggX/hn8F/4V9B/+EfAX/g3wF/4N6 + Bv+DeQX/gngF/4N4CP+Bdgb/gXYG/4F2Bv9/dQf/fXMI/3xyCP98cQn/e3AI/3pvB/96bwf/em8I/31y + Cf9/cgj/gnYK/4R4DP+FeQz/iX0N/4p/Df/m5dvZ4uDfwNLOy67Fv7yft7KskOro5tsTEhHaAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnZ + 1+jCv7ueysfDqdjX07v17fPQcaxQ+Ep2G/9UfyT/Vooj/1qPJf9ajiX/XIsi/1uGIP9bgB3/XXwb/1x5 + Gf9ceBj/XHgW/1x3Fv9geRb/ZHsU/2h+E/9tgRP/bYAS/21/EP9vgA//cYIO/3eED/98hg7/f4kP/4SN + Dv+IkQ3/i5MM/42UCv+PlQr/j5MI/5CTE/+RlR//g4gI/4CEBv+ChQj/hYgH/4eIB/+Ghwb/hIYG/4OG + Bv+ChAb/goQG/4OFB/+Fhwf/i40G/5OTB/+amwb/np8H/5+gCP+iogj/p6cK/5iXCP+Tkgj/k5MI/5SS + CP+Skgj/k5EH/5aUCP+amQj/mpkJ/5WTCP+Rjgf/kI0G/5SPB/+XkQf/l5EG/5eRB/+Ujgb/kosG/5CJ + B/+Nhwf/i4MG/4iBBv+GfwX/hX0F/4R8BP+EfAT/g3sE/4N7A/+DegT/gnkG/4J3Bv+AdQX/gXYG/4B1 + Bv99cwf/e3EH/3twB/97cAf/em8H/3pvB/97cQf/fXMI/4F1CP+Ddwr/hHkL/4Z7C/+Kfg3/in8M/+Xl + 2tng397A0s3KrsXAu5+3sqyQ6ujm2xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2dnX6MK/up7LyMSp2tfUu/Xw89BvjEv4SnYa/1KC + If9WiSL/Wo8j/1qPI/9ciyH/XIUf/1yBHf9cfBv/XXgY/1t3F/9beBX/XHcU/2F2Ff9lehP/aX0T/2x/ + Ef9tfw//bX4P/29/Dv9wgA3/doMN/3qGDf+AiA3/g4wN/4eQC/+KkQr/jpMJ/4+UCP+Nkgf/kZMU/5GU + Hv+Chwb/foMF/4OEBv+Ghgb/iYgG/4eGBf+EhQX/hIUG/4OEBv+DhAb/g4UG/4eHBf+OjQX/lZUG/5ub + B/+goQX/oJ8G/6WjB/+lpAj/lpQF/5ORBv+Ukwf/lJMH/5SSB/+Ukwb/lpYH/5yaCP+amAf/lJIE/5GN + BP+Sjgb/lpEG/5eSB/+YkQb/l5AF/5ONBP+RiwX/j4gF/4yGBf+LhAX/iIEF/4Z+Bf+FfQT/hHwD/4R8 + A/+DewT/g3sE/4J7A/+CeQT/gXcF/4F2Bv+Bdgb/f3MF/31yB/97cQb/e3EF/3pvBv96bwf/enAH/3xy + Bv9/cwf/gXUJ/4N3Cv+Fegr/h3wM/4l+DP+LgQr/5eXa2eDf3cDSzsquxcG8n7eyrJDp6ObbExIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMja2dfow7+6nsvIxKna19W89fD10G+RS/hJdxj/UoEg/1aIIf9ajyD/XJAg/12LH/9chR//XIEc/1x8 + GP9ceRb/W3YW/112FP9fdBT/YXcU/2R6E/9ofRH/bH8Q/21/EP9tfg//bn4O/3F/Df94gg3/e4UO/3+I + DP+DjAz/h48L/4yRC/+PlAr/j5MH/5CRBv+SlBX/kJId/4GGBf9/ggX/goMF/4SGBP+IhwX/h4YF/4SF + Bf+DhAX/g4QG/4OEBv+DhQT/h4kE/4+NBf+WlQX/m5wG/6CiBv+foAX/paUG/6OiB/+Vkwb/k5IG/5ST + B/+Ukwf/lJIH/5WTBf+Zlwb/nJoH/5mVBv+TkAX/kY4E/5SPBf+XkQb/mJEG/5iRBv+Wjgb/lIwF/5KK + Bf+PiAb/jIUH/4uCBv+IgQX/hn4F/4V9A/+EfAP/hHwD/4N7BP+DewT/gnkF/4J4Bv+AdgT/gXYG/350 + Bf99cwX/fHIH/3txBv96bwf/eW4G/3lvBv96cQX/fHIH/31zB/9/dQn/gncK/4V6Cv+HfAv/iX4N/4uB + C//m5NrZ4t/dwNHOy67FwbyftbCrkeno5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNrZ1+jFv7yezMjEqdrX1bz18PXQbpBJ+Eh1 + F/9SgB//Vocg/1mPH/9ckCD/XIwe/1yFH/9bgBv/WnsY/1t3Fv9bdhb/XnUU/190Ff9hdhP/ZHkS/2h8 + Ef9rfBD/bX4Q/21+D/9vfQ7/dH8N/3iCDf97hA3/f4gL/4OLC/+Ijgn/ipEK/4yTCP+Pkgf/kY4I/5KU + Gf+Okhz/gYUE/3+BBf+ChAX/hIcE/4iGBf+GhQT/hIUG/4OEBv+DhAb/g4QG/4OFBf+IiQT/j5AF/5eW + B/+enQX/oaIG/6CgBP+npwb/n58F/5SSBv+UkQb/k5EG/5SSB/+Tkgb/lZQF/5uZBv+bmgj/lZIF/5GO + A/+SjgT/lJAF/5eRBv+YkQb/mJEG/5WOBP+Tiwb/kYkF/4+HBf+LhAb/ioEG/4eABf+FfgX/hHwD/4R8 + BP+EfAX/hHwF/4N7A/+CeQX/gXcG/393BP9+dgP/fXQF/3xzBP97cQX/e3EG/3puB/95bgb/eW8G/3px + Bf98cgf/fXMH/351CP+CeAj/hHkK/4Z8C/+Ifw3/jIEL/+bk2tng3t7B0c7LrsXBvZ+3squR6ujm2xMS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI2tjX6MTAvJ7MyMWp29jWvPXw9dBtkEj4R3QX/1GAHv9Whx7/Wo8g/1yRIP9cjB3/XIYc/1yA + G/9cehj/W3YW/1x0Ff9dcxX/XnQV/2F1Ev9jeRH/Z3wQ/2p7D/9sfBD/bnwN/298Df90fg3/d4EN/3qE + DP9+iAv/hIoK/4iNCv+KkAn/jZIJ/42RCP+Ojwj/k5Qc/46RG/+BgwL/f4AG/4KCBP+EhQT/h4UF/4aF + Bf+ChAb/goMF/4KDBf+DhAX/hIUF/4uKBf+RkAb/mJgG/5+eBv+goQb/oKAF/6inBv+cmwX/k5EG/5OQ + Bf+UkQb/lJEG/5SRBv+WlQb/m5kH/5mYBv+Tkgb/kY4E/5ONBv+Vjwb/mJEG/5iRBv+XjwX/lIwF/5KL + Bv+QiQf/joUG/4qCBf+JgQX/h4AF/4V+A/+EfAP/hHwD/4R7Bf+EfAX/g3sD/4J5BP+BdwX/fncF/311 + BP99cwX/e3EF/3twBf96bwX/d28G/3ZuBf93bwX/eXEF/3xxBv98cgb/f3YH/4B3CP+Eewn/hn0K/4iA + Cv+Mgwn/5uPa2uDf3cDS0MquxMG8oLayrJLq6ObbExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMja2dfoxcC8ns3Jxanb2Na89vD20G6O + SfhIdBX/UX8d/1WGHf9bjR7/XJAe/12MHf9bhhr/XH8Z/117F/9cdxX/XXMU/15zFP9echP/X3QS/2N3 + Ef9oeg//a3wO/2x9Dv9tew3/bnsN/3J+DP91gAv/eoMM/3+HCv+DiQr/ho0J/4mPCf+MkAr/jI8J/4uO + B/+TlR3/jY8Z/3+BAv9/fwX/goIE/4KEA/+GhAT/hYQG/4KDBf+Cgwb/goIG/4KDBf+Hhgb/jYsF/5OR + Bf+ZmAX/n58G/5+fBv+hoQb/p6UG/5mXBP+SkAX/lJEG/5SRBv+TkAb/lJEF/5iVBv+bmAb/mJYF/5KQ + Bf+QjAb/k4sH/5eQBf+YkQb/mJAG/5WOBv+TjAb/kYoH/4+HBv+NhAf/ioIG/4mBBf+GfwT/hHwD/4R8 + A/+EfAP/g3sE/4N7BP+DegT/gXgF/4B2BP9+dQT/fHMF/3tyBP97cQb/em8F/3duBP90bgX/dG4F/3Ru + Bf93cAX/enIH/31zB/9/dgf/gHgI/4N7Cf+FfAn/iYAI/4uDCf/l49ra4N/ewdHPy67EwLugtrKrkuro + 5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNrZ1+jFwLyfzcnFqdvY1rz28PbQcI1I+Eh0FP9Rfhz/VYUe/1qNHf9djx7/XYwc/1yH + Gf9dgBn/XHsW/1t3FP9ccxT/XnMU/15yE/9edBH/YncQ/2d5D/9qfA3/a3wN/2x8Df9tfA3/c30L/3WA + DP96ggv/f4YK/4SJCv+HjQn/iI8J/4qPCP+Ljwn/io4I/5KWIP+Ljhb/f4EC/35/BP+BggT/g4QD/4OE + BP+DhAT/goMF/4KDBv+Cggb/goMF/4eGBv+NiwX/lJIF/5uYBv+fnwb/n54G/6SiB/+lpQf/lZMF/5KQ + Bf+TkAX/lJEG/5OQBf+UkQX/mZQF/5qXBv+WkwX/ko0G/5CLB/+TjAf/l5AF/5iRBv+XjwX/lY0F/5OL + Bv+RigX/j4YG/4yDBv+JgQX/iIAF/4V9BP+EfAP/hHwD/4N7A/+DewT/g3sE/4N5Bv+Bdwb/gHYE/390 + BP98cwT/enEE/3pwBf93bgT/dG4F/3RuBf90bgX/dG4F/3VvBP93cQb/fHMH/392B/+BeAj/gXoI/4R9 + Cf+JgQj/i4QJ/+Xk2trg397B0c/LrsTAu6C2sqyS6ejm2xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2tnX6MXAvJ/NyMWq29jWvPbx + 9tBvjUf4R3IV/1F9Hf9VhR7/Wo0d/12QHf9djRv/XIgZ/12BFv9cexb/W3YU/1xzE/9echP/XnET/2Bz + EP9kdhD/aHkP/2t7DP9rewz/bHwM/2x8DP9xfQv/dn4L/3mDCP9/hQn/g4kJ/4eMCf+IjQr/io8I/4uP + CP+LjQj/k5Yi/4uMFP9/gAD/fn8E/4GCA/+DhAP/g4QE/4OEBP+Cggb/goIG/4KCBv+CgwX/h4YG/46M + Bf+Ukwb/nJoF/5+fBv+fngb/o6QF/6GiBv+TkQX/k5AG/5OQBf+UkQb/k5AG/5WSBv+ZlQb/mZYF/5SR + Bf+RjQb/kosG/5ONBf+XkAX/mJEG/5aPBv+UjAj/kokH/5CHBv+OhQb/jIMG/4mBBf+IgAX/hX0E/4R8 + A/+EfAT/g3sE/4N7BP+DewT/gnkF/4B2Bv9/dAX/fXQF/3xyBv93cQT/dnAE/3RuBP90bgX/dG4F/3Ru + Bf90bgX/dXAE/3dyBf95dAf/fnYH/4F4CP+Bewn/hH0L/4mCCv+Kgwj/5eTa2uDg3sHRz8uuw8C7obWy + rJPq6ObbExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjZ2NfpxcC8n83Jxarc2ta89vH20G+MR/hIcRT/UHwc/1SEG/9ZjBz/W5Ac/12M + G/9dhxj/XYAW/1x7Fv9bdhT/W3MT/11xEv9dcRH/X3IQ/2R1D/9peQ3/a3oN/2p6C/9rewz/bHoL/298 + Cv91fwr/eoII/36FCf+CiQn/howJ/4iOCP+Ljgn/io0I/4qNCP+UliT/iYsS/32AAP99fgP/gYEE/4KD + A/+CgwT/goME/4GBBf+BgQX/gYEF/4KCBv+HhwX/jo0F/5WTBf+cmwX/oJ8G/6CdBf+mpgX/n54F/5OP + Bf+TkAb/lJAF/5SQBf+Tjwb/lpMF/5mVBv+ZlQb/lI8E/5GLBf+SigX/lI0F/5eQBv+XkAX/lo0G/5OL + B/+RiQX/j4YE/42EBf+LggX/iIAF/4Z+BP+EfAP/hHwD/4N7BP+DewT/g3sE/4N7BP+CeAX/gXYG/390 + BP98cwX/e3EF/3dwBP90bgP/dG4E/3NtBP9zbQT/c20E/3VvBf93cQX/d3IF/3l0B/97dQf/f3gH/4J6 + CP+Ffgj/ioMJ/4mAB//l5Nra4N/dwdHNyq/DwLuhtbKsk+ro5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnY1+nGwbyfzsvGqdza + 1rz28fXQb4tG+ElyEv9SfBr/VYQb/1qMG/9dkBv/Xowb/12HGP9dgBf/XHsW/1p2E/9bchL/XHES/11x + Ef9fchD/ZHUP/2d4Df9qeQ3/anoM/2t7DP9teQz/cXsJ/3V/Cv95ggn/foUI/4GICf+GjAn/iY0I/4qO + Cf+KjQf/io0J/5SWJ/+IiQ//fYAA/31+A/+BgQT/goMD/4KDBP+BggT/gYEF/4GBBf+BgQX/gYIG/4mI + Bf+RjQX/lpQH/52bBv+hngb/oJ0F/6imBv+cmAX/k48E/5OQBv+VkAb/lY8F/5aPBf+ZkwX/mpUG/5eT + BP+TjQX/kYsE/5KKBf+VjQX/mJAG/5ePBf+WjQb/lIsG/5GIBf+PhgX/jIMF/4qCBf+IfwX/hn0E/4R8 + Av+EfAP/g3sE/4N7BP+DewT/gnoF/4F4Bf+AdQX/f3QE/3xzA/97cQX/d3AE/3NtA/9zbQT/c20E/3Fr + BP9ybQT/dG8F/3dwBf93cgX/eXQG/3p2B/98eAf/gXoJ/4aBB/+Iggf/hXsH/+Xj2trg3t3C0c3Kr8PA + u6G1sqyT6efm3BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI2djX6cfDvp7Py8aq3drWvPfy99BwikX4SXER/1N8Gf9Wgxn/Wowa/2CP + Gf9fjBn/XYYZ/1yAF/9cexb/WnYT/1pyEv9dcBL/XG8Q/2BxEP9kdA7/ZncM/2l4DP9peQz/ankL/2t5 + Cv9xfAr/dX4J/3iBCP99hQj/gYgI/4WKCP+JjAj/i44I/4qMBv+KjQr/lJUp/4aGDf99fgD/fH4E/3+A + BP+BggT/gYIE/4CCBP+AgQT/gIAE/4GBBf+Dgwb/i4kE/5KPBf+Ylgf/nZwF/6GeB/+gnwX/qKQH/5mU + Bf+Tjgb/kpAG/5SOBf+Vjwb/lZAF/5iSBf+alAX/lZAE/5KKBv+RiQb/k4wG/5eOBf+XjgX/lo4G/5WM + Bf+TiQb/kYYE/4+EBv+Lgwb/iYEF/4d+Bf+EfAT/g3wD/4R7BP+DewX/g3sE/4N7A/+CeAb/gHYF/350 + BP99cwX/fHID/3pwBP93bwP/cm4D/3JsBf9ybQX/cGsD/3FtBP9zbgX/d3EE/3dzBf95dQX/enYG/3t3 + B/+Aewj/hoEH/4aBCP+Aegb/5OLZ2uDe3cLRzcqvw8C7obWyrJTp5+bcExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2Nfpx8O+oM/K + xqvd2da89/L30G+KRfhJbxH/U3oZ/1WCGf9aixn/X48Y/16LGP9dhxj/XH8W/1x7E/9bdRL/XHER/11v + EP9dbg//YHAP/2NzDf9mdgz/aHgM/2l4DP9pdwv/a3gJ/3B7Cf91fQj/eIAI/32EB/+Bhwj/hIkJ/4iL + CP+LjAf/iIwH/4uMDP+VlSr/hIUK/3x9Av97fAT/f4EE/4GCBP+BggT/gIAD/39/BP+AgAP/gIAE/4WD + BP+MiAX/k5AG/5iYBf+enQX/n5wH/6KgBv+mogb/l5EE/5SNBv+Ujgb/lI0G/5ONBv+VkAX/l5MF/5iT + Bv+UjwX/kYkF/5GJBv+UjAb/lo4G/5iOBv+XjAb/lIoG/5GHBv+PhQX/jYUF/4qCBv+IgAT/hn4D/4R7 + Av+DegT/g3oD/4N6A/+CegP/gXkD/4F4BP+AdQT/fXQF/3xzBf96cAT/eXAE/3VuA/9ybQP/cGwD/3Bs + A/9wbAP/cW0E/3NvBP91cQX/dnIE/3h0Bv96dgb/fHkH/4F9Bv+GgAb/gn4H/3x4Bv/k4tna4N/ewtHP + y6/EwbyhtbKslOnn5twTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNnY1+nHw72gz8rHq93a17z38vbQbotF+EhuD/9Rehj/VoEY/1uJ + GP9ejhf/XowW/1yHF/9cgBb/XXoU/110Ev9ccBH/XXAP/11vDv9fbw7/YnIN/2V1Df9odwv/aXcL/2t3 + C/9vdwn/cnoJ/3R9B/94fwj/fIQH/4CGB/+FiQj/iIoJ/4mLB/+HiwX/i4sP/5SVKv+ChAf/fHwB/3t7 + A/9/gAT/gIAE/4CABP+AgAT/f38D/39/A/+BgQX/hoMF/4yJBf+SkAb/mZgG/6CdBf+fmwX/paEH/6Ke + Bv+TjgT/k40F/5OMB/+UjQj/k4wH/5aQBf+ZkgX/lpEG/5KMBP+QiAX/kYgF/5SMBv+VjAf/mIwI/5WK + Bv+SiAX/kIYG/46EBf+Nggb/ioEG/4h/Bf+GfQT/g3sC/4R6A/+DeQP/hHoD/4J4BP+BdwX/gHYE/4B1 + BP99cwT/fHIE/3pwBP91bwT/dG4E/3JtBP9wawP/b2oD/3BsA/9xbQT/cm8E/3NxBP91cgX/dnMG/3l1 + Bv98eQf/gn0I/4R/B/99egj/eXQG/+Ti2drg4N7C0c/Lr8PAu6K1sqyU6efm3BMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2dnX6cfD + vaDPyser3drYvPfy99FuiUT5SG4P/1J5GP9WgBf/WogY/16OF/9fixb/XYcX/1yAFv9eeRP/XXUR/1xx + D/9cbw7/XG8N/19vDf9icgz/ZXUL/2h2DP9odgv/anYK/293Cf9xeQj/dHwH/3iABv98gwb/f4YH/4SJ + CP+Hign/iIoI/4iJBf+LjBH/lJQp/4CDBP97fAL/e3sF/35+BP+AgAT/gIAE/4B/BP9/fgT/f38E/4CA + BP+Ggwb/jYoF/5SRBf+blwb/oJwH/5+bBv+logb/n5sF/5KMBf+RjAf/kowH/5OMB/+TjQf/lpAF/5iR + BP+Vjwb/kYoF/5CHBv+Qhwb/lIoG/5eLB/+Xiwf/lIkF/5GHBf+PhQX/jYMF/4uBBP+KgQX/iH8E/4V7 + Bf+EegT/g3kD/4J4BP+DeAX/gncF/4F3Bf+AdQX/f3QE/31zBP97cgP/eW8D/3htBf90bQT/cWwD/29q + A/9vagP/cGwD/3FtBP9ybwT/c3AD/3RxBP92cwb/eXQG/3x7Bv+Afgb/gH0H/3t3CP94cgf/5OPa2uDg + 3sLRz8uvw8C7orWyrJTp5+bcExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2dfpx8O9oM/MyKvd29i89/L30W6IRPlHbQ7/UngW/1Z/ + F/9aiBf/XY4Y/16KFv9chhb/XoEW/115E/9ddBD/W3AO/1tuDf9cbgz/X3AN/2JyDP9ldAv/Z3UL/2h2 + C/9qdgr/a3YJ/3F5Cf90fAf/eIAG/3yDB/9/hQb/hIkI/4iKCP+Iigj/h4gF/4yNFf+UlCj/gIME/3t8 + A/97fAT/fX8E/4CAA/+AgAT/fn4D/359BP9/fgT/gIAE/4eDBP+Oiwb/lJIF/5uYBf+gnAb/n5sG/6ak + Bf+blgb/kYwG/5GLB/+TjAf/kosG/5KLBv+WkAX/l5EE/5ONBv+PiAb/kIcG/5CHB/+UiQb/losH/5aK + Bv+ThwX/kYUG/4+DBf+MgwX/i4EE/4uBBf+JgAP/hHoE/4R6BP+DeQX/gngF/4J3Bv+CdwX/gXcF/4B0 + Bf9/cwT/fHME/3pxA/94bgT/dm0E/3JsBP9xawP/b2oD/29qA/9vawL/cW0D/3JvBP9zcAP/c3EE/3Zz + Bf94dQb/fXwF/39+B/97eAj/d3QH/3VxBv/k4tra4N/dwtDOyrDFwLuiuLKslOnn5twTEhHaAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnZ + 1+nIxL+g0M3Jq93b2L338/fRbYdD+UdsDf9ReBb/VX0W/1uIF/9djBb/XooW/12HFf9egBT/XXoR/1x0 + D/9bbg7/W24N/1ttDP9ebg3/YXEL/2RzCv9mdAv/aHUK/2h0Cf9rdgn/cHgI/3R7B/93gAf/eoIH/3+E + B/+FiQj/iIoH/4iKCP+FhwT/jo4Y/5KSKP+AgQL/ensD/3l7BP99fgT/gH8D/39/BP9/fgT/fn0D/39+ + BP+BgAT/iIMD/4+LBf+Vkwb/nJkF/5+bBv+fmwb/p6QG/5aSBP+Riwb/kooG/5KLBv+RigX/k4wF/5aQ + Bf+VjwT/kYoE/46FBv+OhQb/kIcH/5SKB/+WigX/lYkF/5KGBv+QhAX/jIIF/4uBBf+LgQX/i4AE/4h+ + A/+DegP/g3kE/4N4Bv+Cdwb/gXcF/4F2Bf+AdQX/f3QE/31zA/97cQT/enAE/3huA/90bgT/cmsD/3Fr + BP9vagP/b2oD/29rAv9xbgP/cm8D/3JvA/90cQT/dnQE/3h3Bf9+fQX/fXsG/3h1B/92cgj/c24G/+Ti + 2trf393C0M7KsMXAu6K3sqyU6efm3BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2dnY6cnFv6DRzcmr3dvYvffz99Fth0L5RmwL/1B2 + FP9WfhX/XIcX/1+LFv9eihX/XYcT/16AEv9cfA//XHMO/1tuDv9abQ3/WmwL/1xuDP9hcAz/ZHIK/2V0 + Cv9odQv/Z3MJ/2x1B/9veAf/c3wH/3Z/CP96ggb/gIUI/4OICP+HiQj/hogH/4SFAv+PkBz/kJIm/35/ + AP94eQX/enoG/319Bf9+fQT/fn4E/319A/99fAP/fn0F/4CABP+JhQX/kIwE/5WUBf+dmgb/n5sG/6Cd + B/+loAb/lI4E/5CKBv+RiQf/kYkH/5GKBf+SjQP/lJAE/5ONBv+QiAX/joUG/4+GBv+Rhwf/k4oG/5aK + Bv+ThwX/kIYF/46EBf+Lggb/in8G/4uBBf+LgQT/hnwE/4N4A/+Bdwb/gncF/4F4Bf+AdgX/gXYF/390 + BP9/cwT/fHME/3lxA/94bwX/d24E/3JsBP9ybAT/cWoD/29rA/9vagP/cGwD/3FsBP9wbQT/c28D/3Ry + A/92dAT/enkF/318Bv96eAb/dXIG/3RwB/9xbAX/4+LZ2uDf3cLRzsqwxcC7oreyrJTp5+bcExIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjb2tnoy8bAoNHOyKve29i9+PP40W6GQvlFagv/T3YU/1V9Ff9ahhX/XosV/16KFP9ehRH/XIAS/1t7 + D/9acw//Wm0M/1trDf9bawz/XG0M/19vDP9kcQr/ZXMK/2VyCP9ncwj/aXUH/3B4B/9zewf/dnwI/3yB + B/+AhAf/g4cG/4aIB/+Fhgb/hIQD/4+QIf+OkCP/fX4A/3d4Bf95egX/fX0E/359A/98fQL/fH0D/318 + BP9/fQX/g4AE/4iGBP+QjAT/lpQG/5yaBf+dmQb/o54H/6KcBf+Riwb/kIoF/5GJBv+QiAb/kYkF/5KM + BP+TjgT/kowG/42GBf+NhAX/j4UG/5KHB/+TiAX/lYgF/5KHBv+PhAX/jYIE/4qABf+KgAT/i4EF/4qA + BP+FeQP/gncF/4F3Bf+BdwX/gXcF/4B2BP9/dAT/f3QE/31zBP97cQP/em8E/3hvBP90bQT/cmsE/3Br + BP9vawT/b2oD/3BrA/9wbAP/cW0E/3BtA/9ybwP/c3EE/3Z0Bf96eQb/e3sH/3d0Bv9zcQX/cm0G/29p + Bf/j4tna4N/dwtHOyrDFwLuit7KtlOnn5t0TEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNva2ejLxsGh0M7JrN7b2b348/jRbIVB+UZp + Cv9QdRT/VHwU/1qEFf9eihT/XokT/1yGEP9dgBH/XHgQ/1tzD/9abQ3/WWsN/1lqDP9bbQv/YG0L/2Ny + Cf9kcwn/ZXII/2dzCP9rdAb/b3cF/3J5B/91fAj/fIEF/4CEBv+ChQX/hIYE/4WGBv+EhAL/kZIl/4yO + If99fQD/d3gE/3h6BP98fAT/fXwE/3x8BP97fAT/e3wE/399Bf+EgAT/ioYE/5COA/+YlQX/nZkF/5yY + BP+loAb/nZcG/5CKBf+PiAX/kYkF/5CIBf+RiAX/kYoG/5KMBv+QiAX/jYQG/4yDBP+PhQb/kYYG/5KI + Bf+Thgb/kIQF/46CBv+MgQX/iX8E/4l/A/+LgQX/iH8E/4J4Bf+CdwX/gXcF/4F3Bf+AdQX/f3QE/390 + BP9+cwT/fHMD/3lwA/95bwT/d24D/3JsA/9yawT/cGoD/29qA/9vagP/cGsE/3BsA/9vbAP/cG0D/3Fv + Av9zcgT/dnUF/3l5Bv94dgX/c3EF/3JvBv9wbAX/bmcG/+Pi2drg393C0c7KsMTAvKK2sq2V6efm3RMS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI29rZ6MvHwqHRzsqs39zZvfj0+NFthED5RmgL/1B0E/9UexL/WYMU/12JE/9diBL/XIUQ/11/ + EP9ceBD/W3IP/1psDv9Yagz/WWoL/1xrCv9gbgv/Y3EJ/2RyCf9lcgj/Z3II/2t0Bf9vdwb/cnkH/3R8 + B/97gAX/f4MG/4GEBP+DhQT/hIUF/4KDAv+Rkyf/iosd/3x8AP92dgX/eHkE/3t8BP98fAT/e3wE/3p7 + A/97fAT/fnwE/4WAA/+KhgT/kY4E/5iVBP+bmQX/m5gF/6SgBf+YlAX/jokF/46HBv+PhwX/j4cG/5CI + Bf+Rigb/kosG/46GBf+Mgwb/jIIF/4+EBv+RhQb/k4cG/5GGBf+PhAX/jYEF/4qABP+JfgP/iYAD/4uB + BP+GfAT/gXcF/4F3Bf+BdwX/gHYE/4B2Bf9/dAT/f3QE/31zBP97cQP/enAD/3duBf90bQT/cmsE/3Jr + BP9wagP/b2oD/29qA/9vagP/b2wD/29sA/9wbQP/cW8C/3NxA/93dQX/eHkF/3VzBP9ybwX/cW0H/29p + Bv9sZQX/4+LZ2uHf3MLRzsqwxMC8o7ayrZXp5+bdExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjb2tnoy8fCodPPyqzf3Nm9+PT40W6E + QflFZgv/UHIT/1R5Ev9YghP/W4gS/1yIEv9cgw//XH4O/1x4Dv9bcw7/Wm0N/1hqDP9Zagv/XGoK/15u + Cv9icQj/ZHIJ/2RxCP9ncgf/a3MG/252Bf9xeAf/c3wG/3t/Bf9/gwb/gYQE/4OEBP+DhAT/goMD/5KT + LP+IiBr/enoA/3R1BP94eAT/ensE/3t8BP96ewT/eXoE/3p7Bf99fAT/hYED/4uIBP+SjgT/mZUE/5uY + Bv+bmAb/o6AE/5OOA/+NiAX/jYYG/4+GBv+Phgb/kIgF/5GKBv+RiQX/jYUE/4yCBv+Ngwf/j4QG/5GE + Bv+Thgb/kYUF/46DBP+MgAT/iX4D/4l+BP+KgQT/ioED/4R6BP+BdgX/gXYF/4B2BP+AdgT/f3UE/390 + BP9+cwP/fHME/3txBf96cAT/dm8E/3JtBP9yawT/cGoD/3BqA/9vagP/b2oD/29rA/9vbAP/b2wD/29t + A/9xbwP/dHEC/3h2BP93dgX/cnAF/3BuBf9vawb/bWYH/2pkBP/j4tna4d/dw9HNyrDEwLyjtrKtlenn + 5t0TEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNrZ2enLx8Oh08/MrN/d2r349fjRbYNB+UVmCf9OcRL/U3cT/1Z/Ev9ahxH/XIcR/12C + D/9bfg3/XHgN/1tyDf9ZbQv/WGkM/1ppC/9cagr/X20I/2JxCP9icQf/ZHEI/2ZyBv9rcwX/bnUG/3F3 + B/92ewX/fH8G/36ABf+AgwX/goMD/4OEBP+CggX/k5Mw/4aHF/95eQD/dHQE/3d3Bf95egX/ensE/3p6 + Bf95eQX/eXoG/3x8BP+EgQP/jIkD/5OPBf+alQX/nJcG/56ZBv+gnQX/j4sE/4yHBP+Lhgb/jocF/4+F + Bf+QiAT/kYkF/4+HBf+KgwX/iYIF/4yDBv+Pgwb/kIUG/5GGBv+PgwT/jYEE/4t/BP+IfQP/iH0D/4yB + Bf+IfwX/gXgD/4B2Bf+AdQX/gHUF/4B1Bf9/dAT/f3QF/31zBP97cgP/enAE/3luBP92bQP/c20E/3Jr + BP9vagP/b2oD/29qA/9vawL/cGwD/3BsA/9vbAP/cG4D/3FvA/9zcgL/d3cE/3RzBf9vbQX/bWwD/21o + Bf9rZQf/aGEE/+Lh2dvh393D0c3KsMTAvKO2sq2V6ejm3RMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2trZ6cvIxKLTz8yt4N3avfj1 + +NFsgkD5RWQJ/05vEf9RdRH/Vn0Q/1qEEf9chRD/XIEQ/1x9D/9cdg7/XHEO/1lsDP9YaAr/WmkK/1xq + Cf9fbQj/YXAH/2JwB/9icAb/ZXAG/2pxB/9tdQb/cHkG/3Z8Bf96fwT/fYAD/3+CBP+CggT/gYID/4CC + Bf+TlDH/g4UT/3Z5AP9zdAT/eHYE/3l5Bf95eQX/eHgE/3l5Bf95eQX/fXsD/4WCBP+MiQP/k48E/5uW + Bv+alQX/oJsG/56aBP+NiQP/i4UF/4yEBv+MhQb/jYUE/4+HA/+PhwT/jYQE/4iBBf+IgAT/ioID/46D + BP+QhQT/j4UE/42BA/+LfwT/iX4E/4d8A/+KfwT/jIEF/4Z8Bf9/dQP/f3QE/4B1Bf9/dAT/f3QE/35z + BP99cgP/e3ED/3pwBP96cAT/eG0E/3RsBP9ybAP/cWoD/29qA/9vagP/b2oD/25rA/9vbAP/b2sC/29s + A/9wbQP/cXAC/3R0A/91dQP/b24D/2xrBP9raQT/a2UE/2ljBf9mYQX/4uDZ2+Hf3cPRzcqwxL+8o7ay + rZXp6ObdExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMja2tnpzMjEodTQzKzg3dq9+PX40WuBP/lEYwj/T24R/1FzEP9VfQ//WoMP/1yE + D/9agRD/W3wO/1t1D/9ccQ3/WmwK/1hoCv9ZaAn/XGoJ/19sCf9hbQn/Ym8H/2JwBv9lcAb/anEH/21y + B/9xeAj/dXsH/3p8BP99gQT/foEE/3+BBP9+gQL/gYIH/5SUMv+Bgw7/dXgB/3JzBP93dQX/eHgF/3h5 + BP94eAT/eHgE/3h4BP9+fAT/hoIF/42JA/+UkAT/mZUH/5eTBf+hnQT/mpUF/4yIBP+LhAX/i4QF/4qE + BP+LhQX/j4cD/46HBP+KggX/h38D/4d/BP+KggP/jYIE/46CBP+NggT/ioAE/4l/A/+HfQT/hnwE/4t/ + BP+KgAT/g3kD/350BP9/dAT/f3QE/390BP9+cwP/fnME/31yBP96cAT/enAE/3lvA/91bgP/c2wF/3Jr + BP9xagP/b2oD/29qA/9vaQP/b2oD/29sAv9uawL/b2wD/3BtBP9ycQP/dXQD/3JyAv9sawP/a2oD/2lm + BP9oZAX/ZmIE/2RgA//i4Nnb4d/dw9HNyrDEv7yjtrKtleno5t0TEhHaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNra2enMyMSh1NDMrODe + 27359fnRbIE/+URjB/9NbBD/UXIQ/1Z6D/9ZgRD/W4MP/1uAD/9cewz/XXYL/1xxDP9abAr/WGgJ/1lo + Cv9baQj/XmsJ/2BtB/9hbwb/Ym8G/2VvBf9qcQb/bHQF/3B2Bv90eQb/eX0E/3x/BP99gAT/foED/31/ + Av+Bgwr/lJQ0/3+BDf91dwP/cnEE/3Z1BP93dwX/eHcF/3d3BP93dwT/eHgF/358A/+GgwT/jYkE/5SQ + Bf+YlQX/l5QF/6GeBf+UkAT/i4UE/4uEBf+LgwX/ioIF/4qEBP+MhgT/jIUE/4iABP+GfwP/h4AE/4qB + BP+NggT/joIE/42BBf+KgAX/iH4E/4Z8A/+GfQP/ioAE/4d9Bf+AdgT/f3QE/390BP9/dAT/f3QF/35z + A/99cgT/fHEF/3pwBP96cAX/dW4E/3RtBP9zbAT/cGoD/3BqA/9vagP/bmoC/29rA/9vawP/bmsD/25r + Av9vbAP/cG4E/3NyA/90cwP/b24D/2tqA/9raQP/aWUE/2diBf9lYAX/ZF4D/+Lg2dvi393D0c7KsMS/ + vKO2sq2V6ejm3RMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI2trZ6c7JxaHV0cys4d7bvvn2+dFsgT/4RGEG/01sD/9RcQ//VXkO/1iA + EP9bgg//XH8O/1x6Df9ddgr/W3EL/1psCv9YaAn/WWgK/1ppB/9dagj/X2wG/2FvBf9ibwb/ZG8F/2lw + Bv9scwX/cHYG/3R5Bv94fAT/e34D/3yABP9+gQP/fH4B/4KDDP+TlDP/fX8K/3R1A/9xcQT/dHUE/3d3 + Bf93dwX/d3YE/3d2BP94dwX/fnwE/4aDA/+OigT/lZAG/5eTBP+YlAX/n50E/5GMBP+KgwX/ioMF/4qD + Bv+JgQb/ioIE/4qEBP+KggP/h34D/4Z9A/+HfwX/ioAE/42CBf+OggT/i4AF/4l+BP+HfAT/hHsD/4Z9 + A/+KgAT/hXwF/311BP9/dAT/f3QE/390BP9/dAX/fXID/3xwBP97cAX/enAD/3lvA/90bQT/cmwE/3Js + BP9xaQP/bmoD/29qA/9uagP/bmsC/29rA/9uawP/bmsC/29sA/9xbgP/c3MC/3NyA/9sbAL/a2gC/2lm + A/9nYwT/ZGEF/2NfBP9iXAL/4uHZ2+Lf3cPRzcqxxL+8o7ayrZXp6ObdExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMja2tnpzsnGodXR + zKzh3tu++fb60WyAPvhEYAX/TWsN/09wD/9VeA//WX4O/1yADv9cfg7/WnoM/1x2Cv9bcAn/WWsJ/1dn + Cv9YZwj/WmgG/11pCP9ebAj/YG4F/2FuBf9jbgb/aHAF/21zBv9udgb/dHgE/3h7Bf97fgP/fIAD/32A + A/97fQD/g4UQ/5GRMv97fQb/dHQE/3BxBf9zcwT/dnYE/3Z1BP92dQP/dnUE/3l3Bf9/fAT/h4QE/46K + BP+VkAb/lpIE/5qWBf+emwT/jogD/4mDBf+IggX/iIEF/4mABP+KgwT/ioME/4eAA/+FfAL/hnwE/4h+ + BP+KgAT/i4EF/4uABP+JfgT/h30D/4V7BP+EegX/iH8D/4qABP+DeQP/e3MD/31zBP9+cwT/fnMD/35z + A/99cQX/e3AF/3pwBP94bwP/d24D/3NtBP9ybAT/cmoE/3BpAv9uaQL/bmkC/25qAv9tagL/bmsD/25r + A/9uawL/b2wD/3FuA/90cwP/cG8C/2tpAv9oaAH/Z2QC/2ViBP9iYAP/YV4E/19aAv/i4dnb4d7dw9HN + yrHEv7yjt7Ktluno590TEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNva2enQy8ai1tPOreHe27759frRa389+ENgBf9Nag3/UG8N/1N3 + D/9YfA//W38N/1t9Df9Zegz/XHYK/1twCf9Zagn/V2cJ/1ZlB/9aZgf/W2kG/11rBv9gbQX/YG0E/2Nt + Bf9obwX/bHIG/291Bv90eAT/eHkG/3p8BP98gAL/fH4C/3l7AP+EhhX/kJAx/3t8A/9xcwP/cHAF/3N0 + BP92dAX/dXQE/3V0BP91dAT/eHcF/399BP+GhAT/j4oF/5WRBP+VkAX/nJgF/5qXA/+MhQX/iYIF/4iB + Bf+GgAb/iIAF/4iBBP+HgAX/hX0E/4R8A/+GfAP/iH4E/4qABP+KgAT/iYAE/4l+BP+FfAP/g3oE/4V6 + Bf+KfwX/iH0F/391Bf98cgT/fXME/35zBP99cwT/fXID/3xxBf96cQX/eW8D/3dtBP90bgX/c20E/3Jr + A/9vagL/bmoD/25pAv9uaQL/bmoC/25rA/9uawP/bmsD/25rAv9wbQL/cnED/3NyBP9tbAP/amgC/2Zm + Av9kYwT/Y2AD/2JfBP9gXQT/XlgD/+Lh2dvh3t3D0c3KscTAvKS4sq2X6ejn3RMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI29rZ6dDL + xqHW086s4d/cvvr2+tFrfz34Ql4G/0xpDf9Pbg3/VHUO/1h7Dv9afwz/W3wM/1p5C/9adgn/Wm8I/1lq + CP9WZgn/VmUH/1lmCP9caAf/XmoG/2BrBv9hawb/Y24E/2hwBP9scQX/b3QE/3N3BP93egX/ensD/3p+ + A/97fgP/eHsA/4aGGv+Ojy//eXwC/29xA/9vcQT/c3QE/3V0BP91dAT/dHMD/3V0BP93eQP/gH0D/4iE + BP+PiwX/k5AF/5OPBP+dmQX/l5IF/4iBBf+HgAX/h4EF/4aABP+GfwT/hn8D/4V9A/+DegP/gnoD/4R8 + A/+GfwT/iX4E/4l+BP+IfgP/iH0D/4R6BP+DeQP/hnsE/4p/BP+DewX/e3MF/3xyA/99cgP/fXID/3ty + A/97cQT/enAE/3pwBP94bgT/d20F/3NtBP9yawP/cmoD/29pAv9uaQL/bWgC/21qAv9tagP/bWoD/21q + Av9uawP/bmsC/3BtAv9zcgP/cXAD/2tqA/9oZgP/ZWQE/2NiBP9hXgP/YFwD/15bAv9bVwH/4eDZ2+Hf + 3cTRzsuyxcC8pLeyrZbp6OfdExIR2gAAAJgAAACCAAAAcAAAAGIAAABUAAAARgAAADoAAAAtAAAAFgAA + ABsAAAAlAAAAMAAAAD4AAABUAAAAbQAAAMjb2tnp0MzHodbTz63h39y9+fb60mp+PPlBXQX/S2gN/09s + Df9Tcw3/V3oN/1p8DP9afAz/WnkK/1pzCf9abgn/WWoI/1ZmCP9WZQf/WWYI/1xoB/9daQj/XmoG/2Bs + Bv9jbQT/Z28F/2lxBf9vdAT/cncD/3Z6A/93fAP/eX0C/3p9Av93egD/iIke/4yMLP94eQH/bnED/25w + A/9ycgT/dHMF/3RzBf90cwP/dXQD/3l5BP+BfgT/iIQE/4+LBP+TjwX/lI8E/56ZBf+RjgT/hoEE/4Z/ + Bf+GfgT/hX0E/4V+A/+FfQP/gnoE/4F4Bf+CeAX/hXsE/4Z+BP+IfgT/iX4F/4h9A/+FegT/g3gD/4N4 + A/+HfAP/ioAE/4B4A/96cQP/e3ID/3txBP97cQT/e3EE/3pwBP96cAT/enAE/3huBP93bQX/c2wF/3Jr + A/9vagP/bmkD/21oAv9uaQP/bWkD/21pA/9saAH/bWoC/25rA/9vbAP/cnAC/3JxA/9tbQP/aWcC/2dl + A/9lYwP/Yl8E/2FdA/9fWwP/XVkD/1pWAf/i4Nnb4d7dw9HPy7LFwLykt7Ktluno590TEhHaAAAAmAAA + AIIAAABwAAAAYgAAAFQAAABGAAAAOQAAACsAAAAWAAAAGwAAACUAAAAwAAAAPQAAAFMAAABsAAAAyNva + 2enQzMeh1tLOreDe2r349PrRan47+UJdAv9LaA7/Tm0N/1JzDP9WeQz/WnsM/1p7DP9ZeAr/WnMJ/1pu + Cf9Zagj/VWUH/1ZlB/9YZgj/WmcH/1xpCP9eagb/X2wF/2JsBP9obgb/anEF/250A/9zdwP/dXoC/3h8 + Av96fAL/enwD/3Z5AP+JiyP/i4so/3Z4AP9tbwL/bm8D/3JxBf9zcwX/c3IF/3RzBf91dAP/eXkD/4F/ + BP+IhQX/kIwF/5KPBf+UkAT/nZgF/46JBP+GfwT/hn8F/4Z+BP+DfAX/g3wE/4J7A/+AeQX/gHgF/4N5 + Bf+FewT/hnwE/4h+BP+HfgP/hnwD/4R6BP+CeAT/hHkD/4l/BP+IfgT/fXUD/3tyA/96cQT/e3EF/3tx + Bf96cAT/enAE/3pwBP95bwX/eG4E/3VsBf9ybAX/cGoD/29qA/9taQP/bWgC/25pA/9taAP/bWkD/2xp + Av9tawP/bWsE/29tA/9ycAT/cG4E/2poA/9oZgP/ZmQD/2RhA/9hXgT/X10C/1xZAv9bWAP/WVUC/+Hf + 2Nrg3tzC0c3LssTAvKS3sq2W6ejn3RMSEdoAAACXAAAAgQAAAG8AAABhAAAAUwAAAEUAAAA5AAAALAAA + ABYAAAAbAAAAJQAAAC8AAAA8AAAAUgAAAGsAAADI3Nva6dDMxqHU0s2s393ZvPfz+M5rfjv4Q10C/0tn + Df9Oawz/UHEL/1V3C/9Zegv/WXoL/1h3Cf9acwn/Wm4I/1hpB/9VZQf/VWQG/1dlBv9ZZgf/XGgG/15q + Bv9fawT/Y2wE/2htBf9qcAP/bXQD/3J3A/91eQL/d3wD/3l7A/95ewP/dXgA/4mLJ/+IiSX/dHYA/2xv + Av9tbwP/cHAD/3JyBP9zcgT/c3IE/3R0BP95eAP/gH4E/4mGBv+Piwb/kI0F/5WSBf+blwX/i4UF/4Z+ + BP+EfQT/g3wF/4F7Bf+BegT/f3gF/353BP9/dwT/gnkG/4N8A/+FfQT/hn4D/4V9A/+EewP/g3kE/4F3 + Bf+DegT/iX8E/4V8A/98cQT/e3AE/3pwBP97cQX/enAE/3pwBP96cAT/eG8E/3dtBf91bQT/cmwD/3Fq + A/9vagP/bmkC/21oAv9taAL/bGgC/2xoAv9saAL/bWkC/21rA/9sawL/bm4C/3FvA/9ubQP/aWcD/2hl + A/9lYgT/Y2AE/2FdA/9eWwL/W1kC/1pXAv9YVAL/397X19/c28DQzMmxw8C7pLeyrpfp6OfdExIR2gAA + AJcAAACBAAAAbgAAAGAAAABSAAAARAAAADgAAAArAAAAFAAAABkAAAAjAAAALgAAADoAAABPAAAAaQAA + AMjc29rp0MvGodTQy6rd2ti59PD0yWp8O/dDWwL/TGYM/09pDP9Rbgz/VHUK/1h6Cv9YeAr/WHUJ/1px + B/9Ybgf/VmgG/1VlBv9VZAb/V2UG/1pmBv9cZgb/XWkG/19rBP9jbAT/aG0D/2pwA/9scwT/cHYC/3Z3 + BP92eQX/eHoD/3h6Af91dwD/iowr/4aHIf9zdQH/am0D/21uBP9wcAP/cXED/3JyBP9zcgT/dHME/3l5 + A/+AgAX/iYYG/4+LBP+QjAP/lpME/5eTBf+IgQX/hH0E/4J9BP+BfAT/gHoF/4B5Bv99dgT/fXUE/391 + BP+CeAT/g3sE/4V8A/+FfAP/hHoE/4N5BP+BdwX/gHYE/4V7BP+IfwT/f3cE/3lvBP96cAT/enAE/3pw + BP96cAT/eXAD/3hvBP92bwT/c20D/3NsBP9xagP/b2oD/29qAv9uaQL/bWgC/21oAv9saAL/bGgC/2xo + Av9taQL/bGoC/2xrA/9vbwL/b28D/2ppAv9oZgL/ZmUC/2NiA/9hXwT/YVwD/11ZAv9bWAP/WVUC/1dS + Av/c2tPT3NnYvc7Lx67Dv7ujt7Kuluno590TEhHaAAAAlQAAAH8AAABsAAAAXwAAAFAAAABCAAAANgAA + ACkAAAAUAAAAGgAAACIAAAAsAAAAOAAAAE0AAABnAAAAx9zb2unPy8Sf0s3JqNnX1LXw7PDCaHo69UJb + Av9MZAv/TmkL/1BsC/9Vcwv/V3cK/1d3Cv9XdQj/WXIH/1dtB/9WaAb/VGQF/1NkBv9XZAb/WmUG/1xn + B/9daAT/YGoE/2JrA/9mbAP/aW8C/2xxBP9vdQP/c3cE/3Z4BP94eQT/eHgE/3R3AP+LjS//g4Uc/3N1 + AP9pbQL/bW0D/29vA/9vbwP/cHAD/3FyA/90cwT/eXkE/4CABf+Jhgb/jowF/46LBv+WkwX/k48E/4Z/ + Bf+DfQX/gnwE/4F7Bf+AeQb/fncF/3l0BP97dQT/fncE/4B4BP+DewP/hXsF/4V6BP+DeAX/g3cF/4B2 + Bf+AdwX/h34E/4Z+Bf99cwT/em8E/3pwBP96bwP/em8D/3pwBP94bwP/dm8E/3RuBf9zbgT/cmwD/3Bq + A/9uaQL/bmkC/25oA/9saAL/bGgC/2xoAv9saAL/bGgC/2xoA/9raQL/bWwC/3BvAv9tbAP/Z2YC/2Zl + A/9kYwP/YmAC/19eA/9eWwT/W1kB/1lWAv9XVAT/VVEB/9fWzszY1tS4y8fEq8K9uKG2sq2V6ejn3RMS + EdoAAACTAAAAfAAAAGkAAABcAAAATgAAAEAAAAA0AAAAKAAAABIAAAAYAAAAIAAAACkAAAA1AAAASgAA + AGMAAADG29rZ6M3JxJ/Oysam19PPsOzn67hgcy32OFQA/0BcAP9CXwD/RWUA/0prAP9MbgD/TG0A/01t + AP9QagD/TWQA/0xgAP9KWwD/SlsA/01bAP9QXAD/Ul4A/1VgAP9VYAD/V2IA/1xkAP9hZwD/ZGoA/2dt + AP9rbwD/bnAA/29xAP9vcAD/bG8A/4SHJf94egv/aWwA/2FjAP9jZgD/ZmcA/2dnAP9oaAD/aWkA/2xs + AP9xcgD/e3oA/4KBAP+HhQD/iIUA/5KPAP+HgwD/e3QA/3p0AP96dAD/eXIA/3ZvAP9xbAD/cGwA/3Ns + AP92bwD/eXEA/3xzAP99cwD/fXIA/3twAP96bwD/eW0A/3txAP+AeAD/fHQA/3FpAP9yaAD/cmgA/3Fn + AP9xZwD/cmgA/3FnAP9tZwD/bGYA/2tlAP9qYwD/Z2IA/2ZhAP9mYQD/ZGAA/2RgAP9jYAD/ZGAA/2Rg + AP9jXwD/Y2AA/2NiAP9mZgD/amcA/2NhAP9fXQD/XVsA/1tZAP9ZVwD/VVUA/1NRAP9RTgD/UEwA/05L + AP9MSAD/0c/GxNPQzrLIxMCnwLu2n7Wwq5bp6OfdExIR2QAAAI8AAAB5AAAAZgAAAFcAAABKAAAAPAAA + ADEAAAAmAAAAEAAAABUAAAAeAAAAJgAAADEAAABGAAAAXgAAAMXb2tnpy8fDn8vGwqLTz8qp3dnVssnK + u8fGybbRy9C82M7SvtzQ1cDg0tfB4tPYweLT18Hi0tjB4tPXweLT1sHi09XB4tLUwOLS1MDi0tTB4tPU + weLT1cDi1NXA4tTVwOLU1sDi1dbB4tbXweLX18Hi19jB4tjYweLY2MHi2NjB4tjYwOLY18Di3dzJ4dnZ + xOHX1r/h1tW/4dbWwODW1r/g19a/39bWv9/W1r/f19a/39jXv9/Z2L/f29m/39vZv9/c2r/e3ty/3tva + v97Z17/e2de/3tnXv97Z17/e2Na/3tfWvt7X1r/e2Na+3tjWv97Z17/e2de+3trXv97a177f2de/39nW + v9/Z1r/f2de+39rZv9/Z2L/f19bA39fWv9/Y1b/f2NW/39jVv9/Y1b/f2NW/4NjVv+DX1b/g19W+4NfU + vuDW1b/g1tW/4NbVv+DW1L/g1tS/4NbUvuDV077g1dO+4NXTvuDV077g1NO+4dXUvuHV1L7h1NO+4dPS + vuHT0r7h09G+4dLRvuHS0b3h0M+94M7Mu93LybjZx8W008G+rcvSzsu2y8fFq8O/vKO9uLSdtrGrlevp + 5twTEhHYAAAAiwAAAHIAAABgAAAAUwAAAEYAAAA4AAAALQAAACMAAAAOAAAAEwAAABsAAAAjAAAALgAA + AEEAAABWAAAAxdLRz93LxsGcyMTAn87KxaTU0Mqq3trYsOPg4Lfn5OS+6ubowuzo6sXs6evG7Onrxuzp + 68bs6evG7Onrxuzp68bs6evG7Onrxuzq68bs6evG7errxuzp68fs6evH7Onrx+zq68br6uvG7Orrxuzq + 68bs6uvG7Orrxuzq68bs6erG7Onqxuvo6sbq6OjF6efpxero6sTq6OnE6+jpw+ro6cPo5ufC6ebnwejl + 58Lo5ufB6Obnwefk58Hn5OfB5+Tnwefk58Hm5efA5uXnwOfl58Dn5efA5+XnwOfm58Dn5ufA5+bnwOfm + 58Dn5ufA6ObnwOfm58Dn5efA5+bnwefm58Hn5ufB5+bnwefm58Hn5efC6Obnwejm58Hp5ufB6Obnwujm + 58Lo5ufC6Obnwujm6MPo5ujD6Obow+jm6MPo5+jD6ejpw+ro6cPq6OnD6ujpw+ro6cPp5+jD6efow+fl + 58Tn5efE5+XnxOfl58Tm5ebE5uXmxObl5sTm5ebE5uXmxObl5sTn5ebF5+Xmxefl5sXn5ObE5OLiwuDf + 4L7d29q419TUscvHxavFwb2lwLu3oLq1sZu3sayV4uDf0REQENYAAACEAAAAbQAAAFoAAABNAAAAQQAA + ADUAAAAqAAAAIAAAAA0AAAASAAAAGQAAACAAAAApAAAAOgAAAE8AAACtcG9u5NzZ1a/EwLmYy8fBoM7J + xKPRzsmo1dLOrdfU0LDZ1dOz3NfVtdzZ1bbc2dW23NnVttzZ1bbb2NW23NnVttzY1bbb2NW23NnVttvY + 1bbc2dW23NjUttvY1Lfa2NS33NnVttzZ1bbb2dW23NnVttzZ1bbc2dW229nUttvZ1Lbb2NS22tfVtdvX + 1LXZ1tO02tbTs9nW07HZ1dOy2NXRsdfU0LDX1NCw1tLQsNXTz6/V08+v1dPOrtXSzq7V0s6u1dLOrtXS + zq7W0s6u1tLOrtbSzq7W0s6u1tLOrtbSzq7W0s6u1tLOrtbSzq7W0s6u1tLOrtbSzq7V086v1dPPr9XT + z7DW0tCw1tLQsNbT0LDX1NCw19TQsNfU0LDX1NCw19TQsNfU0LHX09Cx19PQsdfT0LHX1NCx19XRsdjV + 0rHY1dKx2NXSsdjW0rHY1dKx2NXRsdfU0LHX09Cx1tLPstbSz7LW0s+z1dHPs9TRzrPU0c2z1NHNs9TR + zrPU0c2z1NHOtNTRzrTU0c601NHOtNPQzbPRzsyzz8zJsMzJxazIxcGpw7+8o8C7t6C9uLOdtK+qldLN + yaaHhoXfBQUFxAAAAHkAAABkAAAAUwAAAEYAAAA7AAAAMAAAACYAAAAdAAAACwAAAA8AAAAVAAAAHAAA + ACUAAAAyAAAARwAAAHkSERDm29nX19DMxpzDvreXysS+ncrIwqDNyMSjzsvFpc/Lx6bRzcin0c3Ip9HN + yKfRzcin0c3Ip9LOyKfSzsin0s7Ip9LOyKfRzcin0s7Ip9LOyKfSzsin0s3IqNHNyajRzsin0c7Ip9HO + yKfRzsin0c7Ip9HOyKfRzsmn0c7Jp9HMx6fQzMimz8vHps/LxaXPy8WkzsrFos7JxKPMxsOizMbBocvH + waDKx8GgycXAoMnFvp/Jxb+fyca/n8nFv5/JxL+fycS/n8nEv5/Jxr+eycW/nsnFv57Jxb+eycW/nsnF + v57Jxb+eycW/nsnGv57Jxr+fyca/n8nGwKDJxcCgycXBocnFwaHJxcGhysbBoMzGwaHMxsGhzMbBocvH + waHLxsGhy8XCosvFwqLLxcKiy8XCoszJw6LNycSizcnEos3JxKLNycSizcjEos3Hw6LNx8OizMfCosvG + waPJxcGjycXBo8jEwaTIxMCkx8S/pMfEv6THxMCkyMTApMfDv6XHw7+lx8O/pcfDv6XHw7+lx8O/pcXB + vaXDwLykwr66o7+7t5+9ubWdu7axnLSvqZW+urSV4+DeyyspKO0AAAChAAAAbAAAAFoAAABLAAAAQAAA + ADUAAAArAAAAIgAAABkAAAAJAAAADQAAABMAAAAZAAAAIQAAACoAAAA6AAAAXgMCAqdVVVT13tzZz+fk + 3arHwruWwr63lcPAuZbFwbuXx8G8mMfCvJjHwbyYx8G8mMfBvJjHwryYyMO8mMjDvJjIw7yYyMO8mMfC + vJjIw7yYyMO8mMjDvJjIxLyZx8S9mcfEvJnHw7yYx8O8mMfDvJjHw7yYxsG7mMbBu5jGwbuYxsC6l8XA + upbDvrmVw764lcG8tpTBu7WTwLu0k765spK+ubGQvbexj763sY+9uLGPvbiwjry4r467t6+Ou7evjru2 + r467tq+Ou7avjru3r468tq+Ovbavjb22r428tq+NvLavjby2r428tq+Nu7avjru2r467tq+OvLawj7y2 + sJC8tbCQvLawkL23sZC+ubGPvrixkL64sZC+uLGQvriykb63spG+t7KRvreykb63spG/ubOQwLu0kcC7 + s5HAu7ORwLuzkcG6tJLBubSSwbm0kr+5s5K+uLKTvLexk7u2sZS7trGUurWwlLm1sJS4ta+UurWvlLm1 + sJW5tK+VubSvlbm0r5W5tK+VubSvlbizr5W4s66WuLOulrezrpa3sq2VtrCrlLSvqpK3sa2T1tHOpOPi + 38hsbGrzCQgIwQAAAHsAAABfAAAATgAAAEIAAAA4AAAALwAAACUAAAAeAAAAFQAAAAgAAAALAAAAEAAA + ABQAAAAbAAAAIwAAAC4AAABLAAAAYQAAAKk3NzfxgoF/4eHg3tH39vPS8vHu0vPx79Lz8u/S8/Hv0vPx + 79Lz8e/S8/Hv0vPy79Lz8u/S8/Lv0vPy79Lz8u/S8/Lv0vXy79L08u/S8/Lv0vPy79Lz8u/S8/Lv0vPy + 79Lz8u/S8/Lv0vPy79Ly8e7S8/Hu0vPw7tLz8O/S8/Hu0fLx7tDx8O3Q8e/tz/Hu7NDv7uvQ7+3rz/Du + 687w7evO8O3rzu/t687w7uvO7+3rzu/t687v7evO7+3rzu/t687v7evO7+3rzu/t687v7erN7+3qzfHt + 683y7uzM8u7szPLu7M3y7uzN8e7szfDt7M7x7ezO8e3szvHu7M7x7+zO8e/szvHv7M7x7+zO8e/szvLv + 7M7z7+3O8+/tzvPv7c7z7+3O8+/tzvPw7c7z8O3O8/DtzvPw7c7z8O3O8+/tz/Pw7c/z8O3P8vDsz/Lv + 7M/y7+zP8e7sz/Hu7M/x7uzP7+7r0PHu7M/x7uvQ8O3r0PDt69Dw7evQ8O3r0PDt69Dw7evQ8O3r0fDt + 69Hw7evR8O3r0fDt69Dw7evR8/Dt0Ojl49CPjYzdQD8/8gEBAcMAAAB5AAAAXwAAAFAAAABCAAAAOQAA + ADAAAAAoAAAAIAAAABkAAAASAAAABgAAAAgAAAANAAAAEAAAABUAAAAcAAAAJAAAADcAAABMAAAAYAAA + AIYEAwO9KSko6TEwMOMvLy7jLy8u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8u + LuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8vLuMvLy7jLy4u4y8u + LuMvLy7jLy8u4y8vLuMwLy7jLy8u4y8vLuMvLy7jMC8u4zAvLuMwLy7jLy8u4y8vLuMvLy7jLy8u4y8v + LuMvLy7jLy8u4y8vLuMvLy7jLy8u4y8vLuMvLy7jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAv + L+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAv + L+MwLy/jMC8v4zAvL+MwLy7jMC8u4zAvLuMwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy7jMS8v4zAv + LuMwLy7jMC8u4zAvLuMwLy7jMC8u4zAvLuMwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MxMDDjLS0s5woJ + CMwAAACWAAAAdAAAAFsAAABOAAAAQgAAADgAAAAwAAAAKAAAACIAAAAbAAAAFAAAAA4AAAAHAAAACAAA + AAwAAAAQAAAAFQAAABsAAAAiAAAALAAAADkAAABGAAAAUAAAAGAAAABsAAAAcAAAAHIAAABzAAAAdQAA + AHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAA + AHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHcAAAB2AAAAdgAA + AHYAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAA + AHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAA + AHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAA + AHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHYAAAB3AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAA + AHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHUAAAB0AAAAbAAAAGAAAABXAAAATAAAAEIAAAA4AAAAMQAA + ACsAAAAkAAAAHwAAABkAAAATAAAADgAAAAUAAAAGAAAACQAAAAwAAAAQAAAAFQAAABoAAAAhAAAAKAAA + ADEAAAA4AAAAPwAAAEMAAABIAAAASwAAAEwAAABOAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAATwAA + AE0AAABJAAAARQAAAD4AAAA4AAAAMwAAAC0AAAAoAAAAIwAAAB0AAAAYAAAAEwAAAA4AAAAKAAAABAAA + AAUAAAAHAAAACQAAAAwAAAAPAAAAFAAAABgAAAAdAAAAIgAAACYAAAArAAAALgAAADEAAAAzAAAANQAA + ADYAAAA3AAAAOAAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANgAAADMAAAAyAAAALgAAACoAAAAnAAAAIwAA + AB8AAAAbAAAAFgAAABEAAAAOAAAACwAAAAgAAAACAAAAAwAAAAUAAAAHAAAACQAAAAsAAAAPAAAAEwAA + ABUAAAAYAAAAHAAAAB8AAAAhAAAAJAAAACYAAAAnAAAAKAAAACkAAAAqAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAAoAAAAJgAAACUAAAAjAAAAIAAAAB4AAAAaAAAAFwAAABQAAAARAAAADQAAAAoAAAAJAAAABgAA + AAEAAAACAAAAAwAAAAQAAAAHAAAACAAAAAsAAAAOAAAAEAAAABEAAAAVAAAAFwAAABkAAAAcAAAAHQAA + AB0AAAAfAAAAHwAAACAAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAdAAAAHQAAABsAAAAYAAAAFgAA + ABMAAAARAAAADwAAAA0AAAAJAAAABwAAAAcAAAADAAAAAQAAAAEAAAACAAAAAwAAAAQAAAAFAAAABwAA + AAkAAAALAAAADAAAAA4AAAAQAAAAEgAAABQAAAAVAAAAFQAAABcAAAAXAAAAGAAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABUAAAAVAAAAEwAAABEAAAAPAAAADgAAAAwAAAAKAAAACAAAAAYAAAAFAAAABAAA + AAIAAAABAAAAAQAAAAEAAAACAAAAAwAAAAMAAAAFAAAABgAAAAcAAAAIAAAACgAAAAsAAAAMAAAADQAA + AA8AAAAPAAAADwAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAPAAAADwAAAA4AAAANAAAACwAA + AAsAAAAJAAAACAAAAAYAAAAFAAAABAAAAAMAAAADAAAAAQAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAA + AAIAAAADAAAABAAAAAQAAAAFAAAABwAAAAcAAAAIAAAACQAAAAkAAAAJAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAkAAAAJAAAACQAAAAcAAAAHAAAABgAAAAUAAAAEAAAABAAAAAIAAAACAAAAAgAA + AAEAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAIAAAADAAAAAwAAAAQAAAAFAAAABQAA + AAYAAAAHAAAABwAAAAcAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABwAAAAcAAAAHAAAABQAA + AAUAAAAFAAAABAAAAAMAAAADAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEA + IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABgAAAA4AAAAXAAAAIAAAACcAAAArAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAArAAAAJwAAAB8AAAAXAAAADQAAAAYAAAAGAAAADgAAAB0AAAAtAAAAPQAA + AEgAAABOAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABOAAAASAAAAD0AAAAtAAAAHAAAAA0AAAALAAAAGQAA + ADAAAABHAAAAWwAAAGkAAABwAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABwAAAAaQAAAF0AAABIAAAALwAA + ABgAAAARAAAAJAAAAEEAAABsCgoLpBgYGLIWFxe0FxcXtBcXF7QXFxe0FxcXtRcXGLQXFxi0FxgYtBcY + GLQXGBi0GBgYtBcYGLQXFxi0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe1FxcXtRcXF7UXFxe0FxcXtBcX + F7QXFxe0FhcXtBYWF7QWFhe0FhYWtBYWF7QXFxe0FxcXtBcXF7QXFxe0FxcXtBcXF7QYGBi1AQECpgAA + AHkAAABfAAAAQQAAACQAAAAXAAAALAAAAF05OTe7joiApZOMgpSRiICTjIR6kod/dZCEe3KPgHlvjn54 + bY18dWuMeXJni3lyZ4t5cWeLeG5mi3lvZot7cmiKgHdsi4N7coyIf3aMjIJ4jIyFeo2NhnuOjYd8j4+H + fo+Qh3+PkYh/j5KJf4+SiYCPk4uAkJOMgpCTjIKQlIyCkJOLgZCPiH6OjIR6jYuCeIyMg3mNj4d9jpGJ + gI+SioCOfnlzshcXF7UAAABxAAAAUAAAAC4AAAAbAAAAMAkJCYmSjIasnpWJcLKmnYW/s6yQvbKrkbqv + p4+3rKWNtaujjLOqoYuxp5+KsKWdia6knYmuo52JrqKdiq+knYmypp+JtKqjibitp4q7saqKvLKri7yz + q4u7s6yMvLOtjLyzrYy9s66NvbSujb21ro29ta6OvLaujru2ro68tq6Ovbevjry1ro66s6yMuLKri7ex + rIu5s6+Mu7SyjbStqYaelY10n5WIbGdlYb0AAACJAAAAVgAAADMAAAAcAAAAMhESEpKpoZqlsriymXPd + 4+tx4Ofyc+Dn83Xg5/N24ObzeeHl83zi5fJ/4uTyguPk8oXj4vKH4+LyieTg8ozl3/KP5d/yk+bf8pfo + 4PKc6eLyoOrj8qTs4vKo7uLzrfDi8rLz4fK29uHzvPjh88T64fPO++Tz3vvq8+z78/P5+/nz//v98//7 + /vP/+/3y//v38vz77fL3++Lz9vvR8/P5vu7V1rm7qaKbdX98d7UAAACRAAAAWQAAADYAAAAdAAAAMxAQ + EJGwqKKsws7JsEjd5P882d//Pdna/z7Z1/8/2dX/QdnT/0ba0v9K29D/S9vO/07by/9Q3Mn/U9zH/1be + xf9a4cP/XeTC/2Lowv9o78T/cPXH/336zv+M/db/nf/g/7L/6v/F//H/2v/5/+///f/3//z/+f/8//r/ + +v/y/+v/4f/e/7/92v+3/dn/wv7O/8r/sf/V/Zv/2vyO/9f9jP/Q5r7WvbOxgn57d7gAAACRAAAAWgAA + ADcAAAAdAAAAMw8PD5G0q6avxtLPtjzT2f8v0NP/MtDR/zPPz/800Mv/N9DJ/zrQyP880cX/PdLD/0DV + wf9F2cL/St7E/1LlyP9b7M3/ZvLT/3H42P97/d3/gv/g/4v/5P+Z/+j/qf/r/7n/7P/E/+f/x//b/7// + zP+0/L//pfm1/5n3r/+M9qv/ePWs/3P3uP+C+sP/hf3J/5D9y/+q+7n/uO2R/7XXZ//P2a3Zxb27iIB9 + ebkAAACRAAAAWgAAADcAAAAdAAAAMw8PD5G1rqiwx9PQtzjS1f8sz9D/MdDP/zLRzv811M7/OdfP/z/b + 0f9E4dX/TOjY/1Pu3P9a9OD/YPni/2X74f9q/N//bv7d/3T/2/96/9r/gf/X/4r+1P+Q/Mv/kfi//43z + sP+F7p//gOmT/4Hmjf+G5Yr/j+WI/5bmh/+a5ob/nOKG/57ahv+k14n/qdyM/6zmkP+k7pT/n/CW/6Hi + hf/K27fayL+9i4J/e7oAAACRAAAAWgAAADYAAAAdAAAAMw8PD5G3r6qxydXRuT7Y1/8z2dX/Ot3Y/0Di + 3P9F6N//SOrg/0nq2/9M6tb/TujQ/0/myf9R58P/VerB/1zwwv9k9cL/a/fA/2/yuf9w6q//buKh/2vb + lf9r2Y3/dNmM/33bi/+C24f/h9uC/4jafv+K1Hr/ic10/4fFbf+Ivmj/jLhg/5K3Vf+Ttkv/lLVO/5m2 + Vf+kvl3/rsti/7HXbf/S4LzbysLAjYOAfLsAAACQAAAAWgAAADYAAAAdAAAAMw8PD5G4sKyzytfTukbh + 3P853tb/PNvR/z/azf8/2Mj/QNTC/z/Quf9D0bb/Ste4/1Leuv9a5L3/X+S5/1/esP9f1qL/X8+X/2HM + kP9lz4z/bNOJ/3HWiP9314T/ftWD/4PRf/9+yHP/eb5o/3m4Y/97s1//f7Bc/4WwVv+MtVH/j7xS/5DA + W/+TxGT/nMVl/6HDYP+kwFj/qLtS/6mzQP/Qz6LczcfHkISBfrwAAACQAAAAWgAAADYAAAAdAAAAMw8P + D5G5sq60y9bSuz/Kwf8yxLf/NsO0/zvHtv9Bzbv/RtXA/0vZv/9O2rv/Udaz/1PQqf9VyqH/WMia/13L + lf9j0JL/adOQ/27VjP9w04b/cM5+/3DHdf9wwm//e8Nx/4bGcf+CwWX/gb9e/4i/Xv+Mw1z/kMdc/5DM + Yf+Mz27/i8tz/47BbP+PuWD/kbJU/5KoSf+WokH/mJw6/5aRKv/Iw5vc0MzKkYWCf70AAACQAAAAWgAA + ADYAAAAdAAAAMg8PD5G6s6+2zNbRvELFuP84xrb/QM27/0XSvf9J1L3/StK3/0vMrP9MyKT/Ucug/1rR + of9j2KH/a9ye/3Dcl/9x2o//c9eI/3fVgf961Xz/ftV2/4DUcP+F02r/ldRu/5nTbv+JyWX/gcZi/4PH + XP+FwlT/grdU/32pVf98nUn/fJM8/3uLNP98hi//gIMr/4SBKP+IgCf/i4Em/4x8Gv/GvZbd08/Nk4eE + gb0AAACQAAAAWgAAADYAAAAdAAAAMg8PD5G8tbC2ztnTvUrQvv8+yrT/Qsqv/0fMrf9P07H/WN22/1/l + t/9j6rT/au2v/3Lsqf956qP/gead/4LilP+A3Ir/f9N+/33Mc/97xGn/d7th/3KyXf9vr2H/d7Zx/3O4 + cP9pr1n/cadC/3icNP90ji//coYq/3SDJv92giT/d38j/3h8If96eiD/fHgg/4B4IP+DeSD/h3oi/4h2 + F//Eu5be1tHQlYeEgb4AAACQAAAAWgAAADYAAAAdAAAAMg8PD5G8tbG4z9nTvlbXvf9S2rv/WuK//2Hp + wv9o7ML/be2//2zps/9p4KX/adWX/2nMjP9txIH/cLx3/22zbf9nqWP/ZKJd/2GdW/9dmlv/XJlc/1yc + W/9lpVn/drBT/3imO/9xjyf/b4Qk/2yAJf9sfiT/cH4j/3aAIv96fx//ense/3l4Hv95dx3/e3Ue/351 + Hv+Adh//hHcf/4VyFf/Dupbe19PSl4eFgr8AAACQAAAAWgAAADYAAAAdAAAAMg8PD5G9trO40dvVv2Te + v/9Y17P/Vs+o/1PHnP9Tv5T/U7mO/1KzhP9Qqnb/UKFr/1OeZv9anmP/YKFk/2CfYv9cmV3/XJhc/1yY + V/9emFD/ZJpH/2eYOv9wmS//fZ0p/3aPJP9qfSH/an0h/25/IP9yfh7/dX4d/3yAHf99fxz/e3oc/3l2 + HP94dBv/eXMc/3tzHP99dBz/gnQd/4JvEv/CuZXe2NTUmIiGg8AAAACQAAAAWgAAADYAAAAdAAAAMg8P + D5C9t7W50NjSwE+3lv9Bq4f/QqF9/0KddP9FnXL/SJ5w/0uebf9Lmmf/TJVi/1CUYP9ZmV//YqFe/2Wf + Wf9imVL/ZZlM/2eYQ/9olDn/Zo0s/2aFJP90jSL/f5Yj/3KHH/9peRz/bHsb/3F+Gv91gRr/eoAa/4CD + Gv9/gBn/fHsa/3l2Gv94chn/eHEa/3lxGf98cRr/gHIb/4BsEP/BuJTf2dbWmoiGg8AAAACQAAAAWgAA + ADYAAAAdAAAAMg8PD5C+ura60NbQwUmjgP8/nHP/QpVs/0GRZv9EkmX/R5Vn/0uYZv9NlmH/T5Nb/1SU + V/9fmlT/a6JT/26hTP9tm0P/b5g7/2iOL/9khCX/Zn8g/26AHf97jR7/fZAe/3GBG/9reRj/b3wX/3SB + F/95gxj/foMX/4SGGP+Dghj/fnwY/3p2GP93chj/d3AY/3hvGP96bxj/fXAZ/31qDv/BuJTg3NjXm4mH + hMEAAACQAAAAWgAAADYAAAAdAAAAMg8PDpC/ure70NbPwUmedP9Al2r/Qo9k/0OLX/9FjF3/SZBc/06T + Wv9Qk1b/U5JR/1qTTP9onEj/eKVE/3qhPf9vlDH/bIwo/2mDIf9rgBz/bX0Z/3B+GP96ixr/fI4a/3F/ + F/9ufBb/cn8V/3qEFf99gxb/gYUW/4eHFv+Fgxb/f3wV/3t1Fv94chb/d28W/3duFv94bhb/fG4X/3to + DP/AuJTg3dnYm4mHhMEAAACQAAAAWgAAADYAAAAdAAAAMg8ODpC/u7i70NbPwkuabf9ClGH/RI1a/0WH + U/9JiFH/TItP/1GOTv9XlEr/XZdG/2aZQP92ojz/gaY1/3eYLP9uiiP/c4oe/3KEGv9wfxX/bnsU/3KA + Fv99jxj/fo8Y/3KAFP9yfhT/eIMU/4CIFP9+hRP/hogU/4iIFP+FgxT/f3wT/3x2E/95cxT/eHAU/3dt + Ff93bRX/e20V/3hmCv/At5Pg3dnanYqIhcEAAACQAAAAWgAAADYAAAAdAAAAMg4ODpDAvLm80dbPwk6Y + Y/9Gk1b/R4pQ/0iCSP9Kgkb/UIhD/1uUQv9kmz7/ap87/3OhNf94nSz/fZok/3mSIP92ihv/e4wZ/3aF + Fv9xgBT/bnwS/3aFE/+DkxX/hZIV/3aDEv94gxL/f4cS/4SMEv+BhxH/iYoR/4iJEv+EgxL/gHwQ/3x3 + Ef97dBL/eXET/3duE/94bRP/eWwU/3dlCf/At5Ph3trbnYqIhcIAAACQAAAAWgAAADYAAAAdAAAAMg8O + DpDAvLm80dbNw1GUWP9Jkk3/TIhH/0yAP/9Vizz/YJc6/2WYN/9upTX/cKAv/22OJf93kSD/g5oe/3+S + HP97ixf/go0W/3qGFP90gBL/c38R/3+LE/+LmRT/ipUU/3yGEf9+iBH/hY0R/4aNEf+FiQ7/iYsP/4iI + D/+EgRD/f3wP/314D/99dhD/fHMR/3pvEv95bRL/em0S/3dmB//AuJLh3trbnouIhsIAAACQAAAAWgAA + ADYAAAAdAAAAMg8ODpDAvLq80tXNw1SSUP9LkEP/U44//16VOv9hlDT/ZZgx/26sL/9qmCf/ZYIg/3CJ + Hv9/lRz/ipsa/4WSGv+AixX/hI0T/3yGEv94gQ//eYMQ/4aSEv+SnhL/i5YR/4CKD/+Ciw7/ipEQ/4iN + D/+Jiw3/i4wN/4iGDP+EgQ7/gHsN/394Df+BeA//gHUP/35yEP99bhH/fG0R/3loBv/BuZLh39zcn4uJ + hsIAAACPAAAAWgAAADYAAAAdAAAAMg8PD5HBvLq90tXMxFWRR/9Znz3/ZaM6/2CPMP9koC7/aa4t/2WN + JP9kfR//a4Qd/3eNG/+Flhj/j5sX/4iSGv+CihL/g4wQ/32GDv96gg7/focO/42XEP+XoBD/jZUP/4WN + Df+Hjg3/j5QP/4iMDv+NjAz/jooM/4mECv+Cfwz/f3oL/4F4DP+DeA3/gnUN/4BzDv9+bw//fW4P/3xr + BP/Cu5Lh39zcn4uJhsMAAACQAAAAWgAAADYAAAAdAAAAMg8PD5HAvLu+09bMxGOjQv9hpjb/X5cx/2Wu + Lv9ipCn/XH4h/2WAHv9qghz/b4Ua/32NF/+LlhX/kpoW/4mQGP+CiA//g4sN/3+GDP98gwv/g4oM/5Sb + Dv+coQ//jZMN/4iODP+MkQz/kJYN/4uLDP+Rjgr/j4oL/4mDCf+CfQr/gHkK/4J4C/+DeAz/g3YN/4Bz + Df9/bw3/fm8N/35uA//DvZLh3tzcoIuJhsMAAACPAAAAWgAAADYAAAAdAAAAMg8PD5HCvbu91NjMxF+Z + O/9boTD/Zr4z/16YKP9YdR//X3sd/2iDG/9sghj/coUX/4COFP+NlxP/kpkW/4iOFf+CiAz/hYkM/4CF + Cv9/hQn/iI4L/5qeDf+doQ3/jZIL/4uQC/+RlQv/kpQL/46MCf+Ujwn/j4kJ/4mDCP+DfQn/gXkI/4N5 + CP+DeAr/gnYL/39yDP9+bwv/gHEM/4BxAv/EvpHh39vcoIuIhcQAAACPAAAAWgAAADYAAAAdAAAAMg8P + D5DCvby+09TLxGCiOf9hwTH/W5cp/1l3H/9beBv/YXwZ/2uDF/9tgRX/dYUT/4OOEv+Plg//kpcT/4eM + Ev+DiAr/hYkJ/4KFCP+Bhgj/jpII/56hC/+doAv/jZEJ/46RCv+WmAr/k5EJ/5KOCP+Ujwj/j4kI/4mC + B/+DfQb/gXoG/4N5B/+Cdwn/gXQK/35xCv99bwn/gHIL/4FzAP/Ev5Hi3drboYqIhcQAAACPAAAAWgAA + ADYAAAAdAAAAMg8PD5DBvLy/1dzMxWG4N/9WkSX/WoUi/1t8HP9cdxn/YnsW/2uBFP9vgBH/d4UQ/4WN + EP+OlQv/kZUQ/4aKEP+Dhgf/hYgH/4KEB/+Ehgf/lJUH/6GiCv+cnQn/kZEH/5OSCP+ZmAn/ko8I/5WQ + B/+Vjwf/j4gH/4mCBv+EfQX/gnoF/4J4Bv+Cdgf/fnQI/3twCP97cAj/gXQK/4F1AP/Ev5Hi3djbooqI + hcQAAACPAAAAWgAAADYAAAAdAAAAMg8PD5DBvr2/1NbLxlmELP9Wih//XIkg/1x7Gf9cdhb/Y3kU/2x/ + Ef9ufw7/eYQN/4SNDP+Nkwj/kZQQ/4WJDf+EhQX/hoYF/4KEBv+GhwX/mJgG/6OkBv+bmgf/k5EH/5aV + Bv+Zlwf/ko8F/5eRBv+VjgX/jocG/4iBBf+EfAT/g3sE/4J4Bf9/dQb/fHIG/3pvBv97cQb/gnYJ/4J3 + AP/Ev5Di3NnbooqIhcQAAACPAAAAWgAAADYAAAAdAAAAMg8PDpDDvr2/1NXLxleCKf9Xixz/XIoe/1t6 + GP9ddBX/Y3cS/2t8D/9vfQ3/eYIM/4SLC/+MkQj/kJIS/4SGDP+DhAP/hYUF/4KDBf+KiQX/m5oG/6Ok + Bf+YlgX/k5AG/5iWBv+Wkwb/lI8F/5iRBv+Tiwb/jYQG/4d/BP+EfAP/g3sE/4B4Bf99dAT/enAF/3du + Bv96cQb/gHYI/4J3AP/EwI/j3Nnbo4qIhcUAAACPAAAAWgAAADYAAAAdAAAAMg8PDpDDv77A1dXMxliA + KP9Wihv/XYob/1x6Fv9dchP/YnUQ/2t7Dv9tfAz/eIEL/4SKCv+Kjwf/jpET/4KECf+BggP/g4MF/4KC + Bv+NiwX/nZwF/6KiBv+VkwX/k5AG/5iVBv+Tjwb/lY4G/5ePBv+QiQb/i4IG/4V9BP+DfAP/g3oF/391 + Bf96cQT/dW4E/3RuBf94cQb/f3cI/4F5AP/EwY7j29nbpIqIhcUAAACPAAAAWgAAADYAAAAdAAAAMg8O + DpHEwL7A1dbMxll+Jv9XiRj/XooZ/1t6Ff9bcBL/YnMP/2l5DP9segv/d4AJ/4OJCP+KjQf/jpAV/4CC + CP+AgQP/gYIE/4GBBf+PjQX/n50G/6GeBf+Ujwb/lZAG/5iTBf+SiwX/lo4F/5WMBv+PhgX/iIAF/4R7 + A/+DewT/gngF/350BP93cAT/cm0E/3JtBP93cgX/fHcH/4B5AP/Bvo3j29jbpImIhcYAAACPAAAAWgAA + ADYAAAAdAAAAMg4ODpDEwL/A1tbMxll8I/9YhhX/XooY/1x5FP9cbxD/YXEN/2h3DP9teAr/dn8I/4GH + CP+Jiwf/jY4V/36AB/9/gAT/f4AD/4KBBP+Sjwb/oJ4G/56ZBv+SjAf/lY8G/5WQBf+RiQb/l4wG/5OJ + Bf+NgwX/h34E/4N6A/+DeQT/gHYE/3xyBP91bgT/cGsD/3FtBP91cQX/e3gG/3t3AP+9uo3j3NrbpYmI + hcYAAACPAAAAWgAAADYAAAAdAAAAMg4ODpDFwb/A1tfNx1d6If9XhBP/XokW/115Ev9bbg3/X3AM/2d0 + C/9sdgn/dX0H/4GGB/+IiQf/jI0W/3x+Bf9+fgP/fn4D/4OABP+UkQX/oZ4G/5qUBv+RiQf/lY4F/5KL + Bf+Qhwf/looG/5CFBf+LgQX/hnwE/4J4Bf+BdgX/fnME/3pwBP9zbAT/b2oD/3FtA/90cQT/e3oF/3Nw + AP+6uI3j3drbpYqIhcYAAACPAAAAWgAAADYAAAAdAAAAMg8ODpDHw8HB1tfNx1Z4H/9XghL/XogT/1x5 + EP9abA3/Xm4L/2VyCf9qdQf/dXwH/4GEBv+Ghwb/i4sY/3p7Bf98fQT/fHwD/4SBBP+VkwX/oZ0G/5WP + Bv+QiAX/k40F/4+HBf+Rhgb/k4cF/4yCBf+KgAT/hHkE/4F3Bf+AdQT/fHIE/3ZuBP9wawT/b2oD/3Bs + A/9zcQP/eXgF/21pAP+5tY3j3drbpYqIhsYAAACPAAAAWgAAADYAAAAdAAAAMg4ODpDHw8LB2NjOx1Z1 + H/9Vfw//XYYR/1x3Dv9Zag3/XmwK/2NxCP9qcwb/dHsG/3+DBf+EhQb/iYkZ/3h4A/96ewT/enoE/4WC + BP+XlAT/npsF/4+KBf+Phgb/kIkF/4yDBf+RhQb/kIMF/4p/BP+IfwP/gXcF/4B1BP9+cwT/enAE/3Ns + BP9wagP/b2oD/29sA/90cgP/dHMF/2diAP+2s4zj3drcpoqIhsYAAACPAAAAWgAAADYAAAAdAAAAMg4O + DpDHxMPB2NjOx1VyHf9Teg3/XIQQ/1x2Df9ZaQv/XWsI/2JwB/9pcQb/c3kG/36BBP+ChAf/hocZ/3V2 + Av94eAX/eXgE/4aDA/+ZlAX/m5cF/4yFBf+NhgX/jYUE/4mABP+PgwT/i4AE/4l+BP+FewT/f3QE/390 + BP98cgT/d24E/3JrA/9vagP/b2sD/29sA/9zcwP/bm0D/2FdAP+0sozj3drcpoqIhsYAAACPAAAAWgAA + ADYAAAAdAAAAMg4ODpDJxcTB2dnPx1RvG/9Sdgz/W4EO/1x1C/9ZaQn/W2kH/2BuBf9ocQX/cncG/3t+ + A/+Aggj/hIUY/3JzAv92dgX/eHcE/4iEBP+YlAX/lpIE/4iCBf+KgwX/iIAD/4h/BP+NgQT/h30E/4d+ + BP+BeAT/f3ME/31yBP96cAT/dG0E/3BqA/9uagP/bmsD/3BtA/9xcQP/aWcC/1xYAP+zsIvj3trcpoqI + hsYAAACPAAAAWgAAADYAAAAdAAAAMg4ODpDKx8XB2drQyFNtGf9Rcgv/W34N/1t0Cv9YaAj/WmcH/19s + Bv9mbwX/cXYE/3l8Av9/gQr/goIW/3BxAv91dAT/d3YE/4mFBP+YlAX/kYwF/4Z/Bf+GfwT/g3sE/4h+ + BP+JfgT/hXsD/4Z8BP99dAT/fXIE/3txBP93bgT/cWsD/25pAv9tagL/bWoC/3FvA/9tbAP/ZGID/1dU + AP+xrovk39vcqIqIhscAAACPAAAAWgAAADYAAAAbAAAAMQ4ODo/Kx8XB2NjOxlFpFv9NbQb/V3oJ/1hx + Bv9UZQT/V2QE/1xoA/9kbAH/bnMA/3Z5AP99fwr/fX4S/2xtAP9xcAH/dnUB/4iFAv+VkQL/i4QB/4F7 + Av9/eAH/f3cC/4R7Af+EegH/g3gB/4J4Af94bwH/eW8C/3duAf9yawL/bWgA/2tnAP9rZwD/a2kA/25t + AP9mZQD/YF0A/1JOAP+uq4nj3tvcp4qIhscAAACNAAAAWAAAADUAAAAYAAAALBAPD4zKxsS/0tHHvVZt + Hf5TcA//XHsQ/111Dv9aag3/XWkO/2NtDP9qcQr/c3gL/3p8Cv+Bgxf/foEa/3BxCP91dAv/e3sM/42L + Df+XlA3/ioQN/4R+Df9/eQz/g3wM/4iAC/+GfAz/iH8M/4J5DP99dAz/fXQM/3lzDP91bwv/cm0K/3Ft + Cf9xbQr/cnEK/3FwCv9paAv/ZGIK/1ZSB/+ppofa2NXVoYyKiMYAAACJAAAAUgAAADAAAAAUAAAAJAsL + C4K/vLi/1dHLo8zNwMHS1MbM1NbHztXWx87U1cfO1dXHztXVx8/W1sfO2NfHztjXx87Z18jO19bHzNXU + xcvV08PK1dTDydfVw8nY1sPJ1tTDyNbTw8jV08PJ1tPDydfUw8nW08PK19TEytbUxMrW08PK1tPEy9bT + xMvW1MXL1tPFy9XSw8vU0cPM09HCzNLRwszRz8LM0c7CzMnHu8XGwruwzcjEmYSCgMYAAAB7AAAARgAA + ACgAAAAOAAAAGgAAAFNpaGbH2NTOsuDc2avi3duv4t3br+Pe26/j3tuv49/br+Lf27Dh39uv4d7br+Hd + 26/g29qu3trYrNzY1qnb1tOo2dXSp9jU0afY09Gn2NXRptnU0aba1NGl2dXRptnU0qfZ1NOo2tbUqNvW + 1Kjb1tSp3NbVqd3Y1qnd2dap3dfWqtrW1KrY1NOs19TSrNfT0qzX09Ks19PSrdbRz6vQy8envrq2vTEx + MLgAAABXAAAANQAAAB4AAAAJAAAAEgAAACcAAABnMzMyq09OTbRMS0qzS0tKtExLSrRMS0q0TEtKtExL + SrRLS0q0S0tKtEtLSrRLS0qzS0pJs0pJSbNLSkizSkpJs0pKSLNKSkizSkpIs0tJSLNLSkmyS0pJsktK + SbNLSkmzS0pJs0tKSbNMSkmzTEpJs0xKSbNMSkmzTEpJs0tKSbNLSkmzS0pJs0tKSbNLSkmzS0lJs0tK + SbRNTEu2Hh0dowAAAF4AAAA4AAAAJQAAABMAAAAFAAAACwAAABYAAAAhAAAALQAAADcAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADoAAAA6AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOgAAADsAAAA6AAAAMwAAACsAAAAhAAAAFQAAAAsAAAACAAAABAAAAAkAAAAOAAAAEwAA + ABcAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAYAAAAFwAAABMAAAAOAAAACAAAAAQAAAAAAAAAAQAA + AAIAAAAEAAAABwAAAAkAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACQAAAAcAAAAEAAAAAgAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAoAAAAIAAAAEAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAABAAAAA4AAAAfAAAALQAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAA + ADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAA + ADIAAAApAAAAGQAAAAoAAAAMAAAAJAAAAEQAAABhAAAAawAAAGsAAABrAAAAawAAAGwAAABsAAAAbAAA + AGwAAABsAAAAbAAAAGwAAABsAAAAawAAAGsAAABrAAAAawAAAGsAAABrAAAAawAAAGsAAABrAAAAbAAA + AGwAAABsAAAAaAAAAFcAAAA7AAAAGgAAABcAAAA+ExMSkD07OKo7ODWpODUyqDczMKg1Mi+nNDEupzMw + LaczMC2nMzAtpzQxLqY2MzCnODUypzk2M6c5NzOoOjc0qDs3Nag7ODWoOzg1qDs4Nag7ODWoOzg1qDk3 + NKc4NTKnOTYypzs5Nqg5NzSuCQkJlwAAAFsAAAAuAAAAHAYGBmmCfHamr6adhbevp5GyqqKQraWdjami + mYumn5aKpJyUiaSalImkm5OJqJ+Xia6lnoq0qqOKta2li7WtpYy1rqaNtq6njbawpo22saeOt7Opj7mz + q4+8squPua+ojLWsp4u4rquNt62oiaiek3llYVysAAAAfAAAADoAAAAeEA8PdbClnqGF19nWY+Hn9mng + 5PZs3+L1cOHh9XXi3/V44t31e+La9X/j2PWE5Nf1iefX9ZDr2fWY8Nv1o/Tf9bL35PXB+un11Pzu9eX9 + 8vX2/fn1/v759fX99vXu/PL18P3e9fD9x/bu/bfzy860qIiBfp0AAACHAAAAPQAAAB4ODg1zvbGsrmza + 3uwp09b/MtLR/zTSzf8508r/PdTH/0HXxf9H3MX/UOPI/1rry/9m89D/c/vV/4P/3f+Z/+X/s//s/8f/ + 6v/P/9//yf7R/7z8yP+p/Lz/jfq+/5D9yf+f/8T/ufyk/8Dre//P17a/j4iIowAAAIYAAAA+AAAAHg4O + DXPAtK+xadjZ6yfR0f811tP/O9vV/0Hg1v9H5tf/T+vX/1fx1v9f99f/af3X/3L/1f96+8//f/XF/4Xx + uP+J7ar/humY/4Tmi/+I4oT/jN5//4/YfP+U0Hj/nc12/6HVfv+j4ob/p+SD/8/YvcGTjIumAAAAhgAA + AD4AAAAeDg4Nc8G2srNx4dzrMtzV/z/c0v9C3dD/RNvI/0jcwf9P377/V+O7/1zjtP9h3qn/Zdmd/2nW + kv9s1In/ctOC/37SgP9+y3X/fsJr/4G7Zf+Ft13/i7hY/5G9WP+Vv1r/nL5a/6W8Vf+uv1H/09S0w5SQ + kKgAAACFAAAAPgAAAB4ODg5zw7m1tW/RyewuxLb/PMq4/0PQvP9I0rj/TNCv/1PPqP9az6H/YdCZ/2fS + j/9u1In/c9OB/3bPd/99y3D/jcxw/4XEZP+Ewl//i8Vb/4vDX/+IvmP/h7Rd/4qpUP+PoEL/kpg4/5aQ + K//OyKrFmJWVqwAAAIUAAAA+AAAAHg4ODXPEura2ddTG7DjKs/9H0LX/Udi4/1netf9f4a7/aeWo/3bl + of994Zb/fNmH/3vPeP96x23/d79l/3q+af+Bwm//dbZY/3mrQ/94mzn/dY40/3eFLP94fiT/enoh/395 + IP+EeSD/inod/83FqcabmJisAAAAhQAAAD4AAAAeDg4Nc8W7uLiE4MztUNy6/1zfuP9j37X/Zdyq/2LP + lf9jwoP/arl4/2uxbf9kpWP/YJ1c/16aWP9fmlL/bKNM/3aiO/9tiCb/bH8j/258If91fh//en0e/3l4 + Hf95dRz/fHQd/4B2Hv+GdRr/zcWqx5yamq0AAACFAAAAPgAAAB4ODg5zxr27uYDOtu1DtY//R6mB/0ik + ef9LonP/S5pn/06UYP9aml//Yp5c/2CYVP9jmEv/ZJQ8/2aMK/93kyP/d40g/2l6Hf9ufRz/dX8b/36B + G/9/fxr/eXca/3hyGv96cRr/fXIb/4JxF//MxKrJnZubrwAAAIUAAAA+AAAAHg4ODnPHwL66draa7jiU + av9Bj2T/RJFj/0qWY/9Nk13/U5JV/2SdUf9xo0r/bpk8/2qNLf9mgSH/bH4b/3yNHf90hRv/bHoX/3SB + Fv97gxf/g4YX/4OBF/97dxf/d3EX/3hvF/96bhj/f20U/83FqsmfnJ2wAAAAhQAAAD4AAAAeDg4Oc8jB + wLx4sZHuO5Bd/0SJWP9IiVP/T45R/1aUTP9hl0X/dqM9/3ueMv9wjCT/cIUc/259Fv9wfhb/fY4Y/3WE + Fv9xfhT/fIUU/4CGFP+HiBX/hIEU/3x4E/94cRX/d24V/3htFf98axH/zMWqyqCenrEAAACFAAAAPgAA + AB4ODg5zyMLBvHuvhu5AjU3/SIJH/06GQv9bkj//aKA8/3CeMv96mif/e5Qf/3mLGf96hxb/cH4S/3aD + E/+GlRX/fIkT/3uEEv+DixH/hYkQ/4mKEf+DgRH/fXgQ/3t0Ev95bxP/eGwT/3pqDv/MxarLoZ6fsgAA + AIUAAAA+AAAAHg4ODnPJw8K9fat87kaMP/9XjTz/YJQ1/2qjMv9qmCn/bYkg/4CWHP+FlRr/gYwV/36I + Ev92gBD/gYwR/5CcE/+DjRD/hIwP/4iPEP+Jiw3/iYkO/4N/Dv9+eA7/gHcP/35yEP97bRH/e2sM/83G + qsyhn6CzAAAAhQAAAD4AAAAeDg4Oc8jCw76Dr3PuV5w0/2OcMv9lpCz/ZZAk/2d/Hf91ihr/ipkY/4yV + Gf+DixH/f4gO/3uDDf+LlA//lp4Q/4ePDf+LkQ7/i48O/46MC/+Khgv/gX0L/4F4DP+Ddw3/gXQO/35u + Dv9/bgr/z8mqzKGfoLMAAACFAAAAPgAAAB4ODg5zyMPEvomzbe5apyv/YqYs/1uAIP9kfRv/bYMZ/3yM + Fv+PmBT/jJIW/4OJDf+Bhgr/gIYK/5WaDf+ZnQ3/ipAL/5GVDP+Pjwr/ko0K/4uFCf+CfAj/gnkJ/4N3 + C/+Acwz/fm8L/4FyCP/QyqrNoZ+gswAAAIUAAAA+AAAAHg4ODnPJwsW+ib9r7leoJf9afyD/XHca/2iB + F/9wghT/gIwR/5CXD/+KjxH/hIcJ/4OGCP+FiQj/nJ4K/5mbCv+PkQn/lpYK/5OPCP+Tjgj/ioQH/4N8 + Bv+CeQf/gnYI/31yCf98cAn/g3YG/9DKqc2gnZ+1AAAAhQAAAD4AAAAeDg4Oc8nExr+Fr2TvUYYZ/1t+ + HP9ddxb/aX4S/3GBD/+Ciw3/kJUL/4mMD/+EhgX/g4UG/4qLBv+goQf/mZgH/5WTB/+WlAf/lZAG/5SN + Bv+Kggb/hHwE/4J5Bf9/dQb/enAH/3xxB/+EeAX/z8qozp+dn7UAAACEAAAAPgAAAB4ODg5zy8XHv4Ke + X+9ShhT/XH8Z/15zE/9oeg//cX4N/4GJCv+Okgv/iIoO/4ODA/+CgwX/j44F/6GhBv+XlAX/lpQG/5WR + Bf+XkAb/kYkG/4iABf+EfAP/gXgF/3tyBP92bgX/e3IG/4N6A//Py6fOn52ftQAAAIQAAAA+AAAAHg4O + DnPLxsjAg55d71OFEf9dfxb/XXER/2d3Df9vfAr/gIcI/4yQDP+Ghw3/gIEC/4GBBf+TkQX/oZ8G/5WQ + Bv+XkgX/lI4F/5aOBv+OhQX/hX0E/4N7BP9/dQX/dm8E/3JtBP93cwX/gXsB/87Kp8+fnZ+2AAAAhAAA + AD4AAAAeDg4Oc8zHycCDnFzvU4MN/11+FP9dbw//ZnQM/295Cf9+hQf/i40N/4OEDP9+fgL/gYAE/5eU + Bv+fmwb/k40G/5WPBf+Tigb/lIkG/4uCBf+EewT/gngE/31yBP9zbAP/cGwD/3ZzBP98eAD/ysemz5+d + n7cAAACEAAAAPgAAAB4ODg5zzcnKwYKaWe9TgQr/XX4R/1tsDP9jcgr/bXcH/32CBv+Jiw3/gIEM/3t7 + A/+CgAT/mpYF/5uVBv+Rigb/kYoF/5KHBv+QhAX/iX8E/4J3Bf9/dQT/eXAE/3BrBP9wbAP/dnQD/3Rx + AP/HxKbPoJ6gtwAAAIQAAAA+AAAAHg4ODnPPyszBgpdZ71B8B/9cfA//WmoL/2FvCP9sdQb/fIAE/4eI + Dv99fgz/eHgD/4KABP+blwX/lI8F/46GBf+NhAX/kIQF/4yABP+FewT/f3UE/31yBP91bQT/b2oD/29s + A/90cwP/a2gA/8XBptCgnqC3AAAAhAAAAD4AAAAeDg4Oc9HMzsGBlFbvTnYE/1x5Df9aaQn/X2wG/2py + Bv95fQP/hIUO/3l6C/91dQP/g4AE/5qWBf+OiAX/ioIE/4mABP+LgAT/iH0E/4F3BP9+cgT/eW8E/3Fr + A/9uagP/cG0D/29vAv9jXwD/w8Cm0KGeoLgAAACEAAAAPgAAAB4ODg5z0s7Pwn6RU/FKbgD/WXUH/1Vl + Bf9baAP/Z28B/3V4AP9/gQz/c3QF/3FwAP+DgAH/lZEB/4aAAf+CegH/hHsA/4Z7AP+DeQD/e3EA/3lv + Af9zawH/bGcA/2toAP9ubAD/aGYA/1pXAP/BvqXRop+guAAAAIQAAAA9AAAAGhAPD3HRzM69g5JZ7FNy + DP9hexT/Xm0S/2RvEf9vdg//e38O/4WHHf93ehP/eHgP/4yKEf+XkxH/iIIR/4R9EP+KgRD/ioAR/4d/ + EP+AdxD/fXYQ/3dyD/90cA7/dHEO/3V0D/9sag//X1wM/725o8qjoKG3AAAAgAAAADgAAAARCAgIX7e0 + sL3e3dK13NzOxd7ez8bd3M/G3t3Pxt/ez8bh3s/G4N3Pxd3azMLc2crB3drJv93ayb/c2Mm/3NjIv93Z + yb/d2crB3drKwd3YysHd2cvB3drMwtzYysLa1snD2dbIw9jVycTT0MTA19LMqoqHhbsAAABpAAAAKwAA + AAsAAAAqLy4tj3t5d698eXmte3h4rXt5eK17eXitenl4rXp4eK15d3eseHV2q3d1dap2dHSpdXN0qXZ0 + dKl3dHSodnR1qXd1dap3dXWqeHV2qnh2dqp5dnaqeHV1q3Z0dat2dHSsdnR0rHh2dqxubGqwGhkZiAAA + ADgAAAAaAAAABQAAAA4AAAAdAAAAMAAAADUAAAA1AAAANQAAADUAAAA1AAAANQAAADUAAAA1AAAANQAA + ADUAAAA1AAAANQAAADYAAAA1AAAANQAAADUAAAA1AAAANQAAADUAAAA1AAAANQAAADUAAAA1AAAANQAA + ADQAAAAlAAAAGAAAAAsAAAABAAAAAwAAAAYAAAAKAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAA + AAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAA + AAwAAAAMAAAADAAAAAoAAAAGAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAABgAAAAwAAAAAQAgAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAcAAAAaAAAAMQAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAA + ADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADgAAAAnAAAADwAAABUAAABKDAsKhg8N + DI8ODAuODQsKjg0LCo4MCwqODAsKjg0LCo4NCwuODQwLjg4MC44ODAyODgwMjg0MDI4NDAyODQwMjg0M + C44MDAuODg0NjwkJCY4AAABhAAAAKgAAACYyMC6KmpSMnKGclZ2alY6blZGKmZKOhpeQi4SXkYqEl5WO + iJeclZCYoJmTmJ+ak5mgm5SaoJ2UmqKelZumn5mbq5+bm6ebl5mkmpeZpZyYlo+Hf5YgHx6XAAAAQgAA + AC9kWVWRm9nZy1vg5fRi3t/0Zt7c9Gze2fNw3tXzdeHT833l0/OH7NbzlPPb86f55PTB/O702v/y9Oj/ + 8/Tv//P04f/u9Nj/6/Pj/8706Puu8svNtKc9OjuaAAAASgAAAC5pXVqVid3d4CPS1P8x1ND/ONjP/z/d + z/9I5c//VO7S/2L41v9y/9j/gP/Y/5T91P+k+sr/qPa3/6TyqP+b757/jOmb/5Ppo/+j8qH/seyH/87T + ub1APD6aAAAASgAAAC1qXluWjuHd4C/a1P8/3NL/RN7O/0rgyP9U5MP/XOe9/2Tlsf9q4KT/btuU/3XY + if99037/fMpv/4LDaP+KwGH/ksBd/5m/Wv+hwFv/rMhg/9HSub5BPkCcAAAASQAAAC1rYF6XkNnR4S/H + t/9Bzrn/SdO3/1DTrv9c1qb/Z9ec/27Wjv901IH/d890/4LLcP+IyG3/gcBc/4a7VP+EtFb/g6pR/4ie + RP+NlDb/lo4t/87HrsFDQkSdAAAASQAAAC1rYF+YmuDS4kXXuf9Y3rv/YuO2/2XepP9v15T/d82F/3K+ + c/9ts2b/aqxe/3SyXv91qUv/cZQy/3GHKv92gCT/eHke/3l1HP9/dRz/iXgf/87Hr8NFREaeAAAASQAA + AC1rYmKZn9vI40a+l/9OtIn/Ua5//0+hbf9Wm2L/YZ5e/2CYVP9glEj/Y441/3aWKP9wgx7/a3oc/3V+ + G/9+gBr/enga/3hyGv97cRr/hHQc/87HsMVFRUafAAAASQAAACxtZmaalsWu5DeQZP9CjGD/SZJf/06R + WP9dmFD/cqJI/26VNv9phSP/bX4a/3qLG/9vfhj/c38W/36EF/+FhRf/fXkW/3dwF/94bhb/gHAX/8/I + scZHRkifAAAASQAAACxtZ2ibmcKl5TyLUv9Hg0z/Uo1I/2GaQ/9ynjf/fJsp/3WKHP9ygRb/cn8U/3+P + Fv91ghP/fYcT/4WJEv+HhhP/fnoS/3lxE/93bRP/fG0U/8/IssdHRkifAAAASQAAACxtZ2mbnL+b5UWK + Pv9YjDr/Zp40/2uXKv92kR//g5Ua/4GMFf94gxH/fYkR/4yYE/+BihD/h44Q/4mLDv+GhA7/f3kO/391 + EP97bhD/fW0R/9DJsslHR0mgAAAASQAAACxsZ2ucosKS5lidMP9joS3/ZI8k/2mBG/+Bkhf/jZYY/4OK + EP98hAz/ipIO/5ObD/+Ijw3/jZEN/46LC/+GgQr/gXkL/4N3Df9/cAz/gXEO/9HMsslHR0mgAAAASQAA + ACxtZ2ycpsqN5linJv9bgyD/Y3sZ/3GEFv+JkxL/jpMT/4OIC/+AhQn/lJgL/5aaC/+Pkwv/k5EJ/5GM + Cf+GgAj/gnkI/4J2Cv99cAn/g3UL/9LMsspHRkmhAAAASAAAACxtaG2do8WJ5lGJGf9beBn/ZnwT/3SD + D/+KkQz/jI8O/4SFBv+Ehgb/m5wH/5iYB/+VlAf/lZEH/5KLBv+GfwX/gnkF/390B/96bwb/hXkJ/9HM + sMtHRkmhAAAASAAAACxuaW6dobWE51GDEf9cdxX/ZngQ/3SADP+Ijgr/iowN/4GCBP+HhwX/np0F/5eU + Bv+Wkwb/lo8G/4+HBv+FfQT/gXkE/3lwBP92bwT/hHsH/9HNr8xGRkmhAAAASAAAACxuam6dorWD51KC + Df9cdhP/ZHQN/3J9Cf+Hiwn/h4gN/35/A/+KiQX/n5wG/5WQBv+VjgX/lYsG/4uCBf+DewT/f3UE/3Nt + A/9zbwP/gHsG/87Lr8xGRkmiAAAASAAAACxva2+dorSB51J/Cf9cdA//YXAL/3F6B/+FiAn/hIQN/3t7 + A/+OiwT/nJgG/5KLBv+SiQb/kYYF/4h+BP+BdwX/e3EE/3BrA/9ybwL/eHYE/8vIr81HRkmiAAAASAAA + ACxwbXGeorGB51B6BP9bcg3/X2wI/293Bv+ChQj/f4AN/3h4A/+QjAT/lpEF/42FBf+OgwX/jIEE/4R5 + BP9+cwT/dm0E/29qA/9xbwL/b2wD/8jFr81IR0miAAAASAAAACxyb3Keoa5+6UtwAP9YbQb/WmcD/2px + AP99fwT/eHkJ/3NyAP+OiwH/jogB/4R8AP+HfQD/hXsA/31yAP94bgD/b2kA/2xoAP9tawD/Yl8A/8bD + rs9IR0mjAAAASAAAACl0cXScprGE41Z1D/9idhb/ZG8U/3R6Ef+Ehhj/fn8Z/3x8Ev+WkxP/jokT/4eA + E/+NgxP/ioET/4N6E/99dhL/dnIR/3d0Ef9zchH/ZmMP/sbCsMlLSkuiAAAARAAAABhKSEeN09HJw9DR + w8rR0MPK0dDDy9PRw8rU0cPK0c7Bx8/MvsXQzb3E0My9xM/MvcTQzL3F0c2+xdDMvsbQzb/Gz8y/x83K + vcjMyb3Jyse8xsK+uLwtLSyQAAAALgAAAAgAAAAyJCMjbSwrLHErKitwKyorcCoqK3AqKStwKSkqcCko + Km8oKCpvKSgqbykoKm8pKCpvKSgqbykpKm8qKSpvKikqcCkoKnApKCpwKyoscR0cHG8AAAA6AAAAFAAA + AAIAAAAFAAAACAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAA + AAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAsAAAAKAAAABAAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA + AEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA + AEEAAABBAAAAQSgAAAAUAAAAKAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAJgAA + AEMAAABIAAAARwAAAEcAAABHAAAARwAAAEcAAABHAAAARwAAAEcAAABHAAAARwAAAEcAAABHAAAARwAA + AEcAAAA0AAAAFQAAACIWFRN0PzUxlDwwLJI4LSqQNiwokDUqJ481KiiPOC4rkDowLpA5MS6RODEvkTcx + L5E1Mi+RNjIvkTQwLpA0MDCQNjIylRAPDoQAAAA5AAAAPXd1cJyfzsy9k8rIxZLGwsOTxL7BlMG6wZjD + usGhyr/BqtHEwrTWycPC2c/D0dzTxN7e2MTg3tnE2NvRwtvbwcPS0bOsX1xYnAAAAFYAAAA9jI+Mqk/h + 5v8w2Nn/O9zW/0Tg1f9O6NT/XPLX/2382v+A/9//nP/j/7b/3v/B/8//vf3D/6f5vf+n+8L/vP+m/9Pv + qOh1b3CeAAAAVwAAADyNkI2tUuHd+jbZ0v9B3c//SeDJ/1XmxP9g6r3/auix/3Hhof973ZH/gNZ//3/N + b/+Gx2f/jsVj/5jEYv+gyF//xdeT5nh0daIAAABWAAAAPI6Rjq5X1cf6Pc66/0zXuv9V2a//ZNqk/27Y + lP9z04L/dsxy/4HJcP+CwmX/gbdR/4KtTv+Bo0n/hpc8/4uJJ/+4rm3nfHp7pQAAAFYAAAA8kZOQsGvg + xvpT17H/X9ep/2DMkv9rwYD/bbVw/2eoYf9lolT/c6hL/3CVM/9vgyX/dX4g/3h4HP95chv/fG8T/7Gj + aOh/fX6nAAAAVgAAADySlJCyYruZ+0Gccf9Jmmv/TJJf/1yYV/9om03/ZI86/2iGJf94jB3/bXsY/3R/ + GP+Agxn/fXoY/3dxGf93axD/rqFm6YB/gKgAAABVAAAAPJKUj7Nfpnv7QIVS/02MT/9cl0n/c6A7/3eV + Kv9wgxr/cH4V/3uLF/90gBT/f4YU/4eHFP9/exP/eHAU/3NnC/+rnmPqgoCCqQAAAFUAAAA8kpOPs2aj + Z/tPiTz/Ypo2/2yXK/98lR//gpAY/3uFEv97hxH/iJUS/4GKEf+IjA//iIcO/4B7Dv99dBD/dmgH/6uf + YeqDgYOqAAAAVQAAADyTk4+0da9X+1+gLP9kjiP/bYMa/4mVF/+JkBT/foUM/4mQDv+SmQ7/ipAN/4+O + DP+KhQr/gXkL/4N2DP96awP/rqNg6oOBg6sAAABVAAAAPJSVj7V2uE37WIcd/2J6F/91hhP/jZUR/4iM + Dv+BhQf/k5YJ/5eZCv+Tkwn/lI8I/4qDB/+Cegf/gXUJ/3lsAP+xp17rgoCDrAAAAFUAAAA8lJSPtXCd + QfxYexX/ZHkS/3eDDf+MkQz/hogJ/4SEBf+amgb/mZcG/5aTBv+Vjgb/iYEF/4J6BP97cQX/d20A/7Gq + XOuBgIOtAAAAVQAAADyVlJC1cZg8/Fl7Ef9jdA7/dX8J/4qNDP+Cgwj/hIQE/52aBv+XkgX/lY8F/5KJ + Bv+GfgT/gHYE/3RtBP9zbgD/r6pa7IGAg64AAABVAAAAPJaVkLZxlTj8WXkM/2BvC/9zfAf/h4oM/35/ + B/+GhAP/nJcG/5OMBv+TiQb/jYMF/4N5Bf98cgT/cGsD/3BtAP+no1nsgoCDrgAAAFUAAAA8l5aStm+P + NPxXdgj/XmsI/3F4Bf+EhQv/eXkH/4eFBP+XkgX/jIQF/42DBf+IfQT/f3QE/3ZuBP9vawP/a2oA/56a + WOyCgIOuAAAAVQAAADyZmJS4ZYIm/01qAP9TYAD/Z24A/3h6AP9tbQD/goAA/4qDAP9+dgD/gngA/3tx + AP90aQD/amMA/2dlAP9dWwD/kY5P8ISDha8AAABVAAAAM5eVkbGyvY7jo7B16aasd+mwsnXouLd66LCv + dOa8uXPlvLdz5beyc+W7tHPmt7F05rOudOavq3Pmrqty56akcei/u5vWe3l5rQAAAEgAAAASKikoaG5r + bpFtam6PbGptj2tpbY9pZ2yOaGZqjGZkaYtmZGmLZ2Vqi2dlaoxoZmuMaWdrjGlna41nZmqNaWdrjmVj + ZJAdHBtrAAAAHwAAAAMAAAAJAAAAFQAAABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAABYAAAAWAAAAFgAA + ABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAAA4AAAAGAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA + AEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEoAAAAEAAAACAA + AAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAEAAAABXAAAAVQAAAFUAAABVAAAAVQAA + AFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFcAAABMAAAAHwQEBD5WVFCVc3JuoWpqZp5nZ2KdZmRgnGpo + Y51wbmmdcXBrnnRybZ95dHGffnRzn3txb558dXCdTUpFmAABAVQXDg1Qj7m4w1jj5vRe3tv0ZuHY9G/n + 1vN/8tr0k/zi9LH/6vTP/+n02//i9M//3fTK/9n03/+58qenk68DAQRlGQ8OToS7uc8u29f/OtvP/0Xg + yf9U6sX/Ze69/3Lrrv+C5Z7/idyI/4rUd/+Mzm//ls5v/6/YdP+lp5O7BAIGYhkPEE+KubLQP9bB/1Db + vf9b3K3/a9mb/3HQhP9yxnD/fcRq/322VP9+p0b/gJtA/4WOMf+ZkDP/pJ+MvQUFCGMYEBJPkbqu0U7K + pP9WwJL/WbN7/2asa/9moVn/ZZdE/3OYNP9tgiH/dX0c/3p4Gf93bxf/insl/6SejcAFBgljGRMWUI6r + m9M+kWL/R4tX/1aUT/9vnUH/bo0q/22AGf93hhf/c34V/4KGFf+AfRb/dm4U/4V3If+ln47BBgYJYxkU + GFCQqJHUS41G/12UOv9tmC7/gJYe/3yIFP96hRH/hJAS/4KKEP+Jig//gX0P/3txD/+Edhz/paCPwwYG + CWMYFBlQlqyJ1F6jMP9jjSL/c4cY/4yVFf+BiA7/iI8N/5GYDf+NkQz/jYkK/4J7Cv+BdAr/iXoX/6ei + j8QGBgljGBQaUJeuhdVYjx//YngV/3uIEP+Nkg7/g4UI/5OVB/+YmQj/lZII/4+IBv+DegX/fXIF/4p+ + E/+no47FBgYJYxkWG1CVo4HVV4IV/2J1EP96hAr/iowL/4KCBP+YlgX/mJUG/5aQBf+MhAX/gngE/3Zu + A/+HgBH/pqONxgYGCWMZFhxQlqJ/1liAD/9gcAz/d38I/4aHC/+AgAT/mZUG/5SNBv+SiAb/iH0E/31z + BP9wawH/gH4P/6OhjMYGBgpjGhcdUJagftdTdwb/W2oF/3J4Av99fgj/fXsA/5OOAf+KggH/in4B/4B1 + AP91bAD/bWkA/3RyCf+gnYzIBwcKZBoYHVGhqIrWZoIc/216Hf+Bhhv/iYoh/42LGv+blhv/koob/5SK + G/+LgRv/gXsa/357F/98eiL/paKUxwcHCmMGBgcxenl0oJydkbaZmI20mpmNtZmXjLOYloiwmJaIsJiV + iLCZlomxmZWKsZiVirKWlImzmZeNtGpoZp0BAQE9AAAABQAAAB4AAAAqAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACsAAAAjAAAACgAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEE= + + + \ No newline at end of file diff --git a/OnTopReplica/StartupOptions/Factory.cs b/OnTopReplica/StartupOptions/Factory.cs new file mode 100644 index 0000000..9201383 --- /dev/null +++ b/OnTopReplica/StartupOptions/Factory.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.ComponentModel; + +namespace OnTopReplica.StartupOptions { + class Factory { + + static Factory() { + //Custom type conversions + TypeDescriptor.AddAttributes(typeof(Size), new TypeConverterAttribute(typeof(SizeConverter))); + TypeDescriptor.AddAttributes(typeof(ScreenPosition), new TypeConverterAttribute(typeof(ScreenPositionConverter))); + TypeDescriptor.AddAttributes(typeof(Rectangle), new TypeConverterAttribute(typeof(RectangleConverter))); + } + + public static Options CreateOptions(string[] args) { + var options = new Options(); + + ParseCommandLine(args, options); + + return options; + } + + private static void ParseCommandLine(string[] args, Options options) { + var cmdOptions = new NDesk.Options.OptionSet() + .Add("windowId=", "Window handle ({HWND}) to be cloned.", id => { + options.WindowId = new IntPtr(id); + }) + .Add("windowTitle=", "{TITLE} of the window to be cloned.", s => { + options.WindowTitle = s; + }) + .Add("windowClass=", "{CLASS} of the window to be cloned.", s => { + options.WindowClass = s; + }) + .Add("size=", "Target {SIZE} of the cloned thumbnail.", s => { + options.StartSize = s; + }) + .Add("position=", "Target {COORDINATES} of the OnTopReplica window.", s => { + options.StartLocation = new Point(s.Width, s.Height); + options.StartScreenPosition = null; + }) + .Add("screenPosition=", "Resolution independent window position on current screen, with locking (TR|TL|C|BR|BL).", pos => { + options.StartLocation = null; + options.StartScreenPosition = pos; + }) + .Add("r|region=", "Region {BOUNDS} of the original window.", region => { + options.Region = region; + }) + .Add("o|opacity=", "Opacity of the window (0-255).", opacity => { + options.Opacity = opacity; + }) + .Add("cf|clickForward", "Enables click forwarding.", s => { + options.EnableClickForwarding = true; + }) + .Add("noch|chromeOff", "Disables the window's chrome (border).", s => { + options.DisableChrome = true; + }) + .Add("h|help|?", "Show command line help.", s => { + options.Status = CliStatus.Information; + }); + + List values; + try { + values = cmdOptions.Parse(args); + } + catch (NDesk.Options.OptionException ex) { + options.DebugMessageWriter.WriteLine(ex.Message); + options.DebugMessageWriter.WriteLine("Try 'OnTopReplica /help' for more information."); + options.Status = CliStatus.Error; + } + + if (options.Status == CliStatus.Information) { + cmdOptions.WriteOptionDescriptions(options.DebugMessageWriter); + } + } + + } +} diff --git a/OnTopReplica/StartupOptions/Options.cs b/OnTopReplica/StartupOptions/Options.cs new file mode 100644 index 0000000..7ff2085 --- /dev/null +++ b/OnTopReplica/StartupOptions/Options.cs @@ -0,0 +1,129 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.IO; + +namespace OnTopReplica.StartupOptions { + + /// + /// Represents startup options that can be set via CLI scripting (or other stuff). + /// + class Options { + + public Options() { + Status = CliStatus.Ok; + Opacity = 255; + DisableChrome = false; + } + + #region Position and size + + public Point? StartLocation { get; set; } + + public ScreenPosition? StartScreenPosition { get; set; } + + public Size? StartSize { get; set; } + + #endregion + + #region Window cloning + + public IntPtr? WindowId { get; set; } + + public string WindowTitle { get; set; } + + public string WindowClass { get; set; } + + public Rectangle? Region { get; set; } + + #endregion + + #region Options + + public bool EnableClickForwarding { get; set; } + + public byte Opacity { get; set; } + + public bool DisableChrome { get; set; } + + #endregion + + #region Debug info + + StringBuilder _sb = new StringBuilder(); + TextWriter _sbWriter; + + public CliStatus Status { get; set; } + + /// + /// Gets a debug message writer. + /// + public TextWriter DebugMessageWriter { + get { + if (_sbWriter == null) { + _sbWriter = new StringWriter(_sb); + } + return _sbWriter; + } + } + + /// + /// Gets the debug message. + /// + public string DebugMessage { + get { + if(_sbWriter != null) + _sbWriter.Flush(); + return _sb.ToString(); + } + } + + #endregion + + #region Application + + public void Apply(MainForm form) { + //GUI + form.IsChromeVisible = !DisableChrome; + form.Opacity = (double)Opacity / 255.0; + + //Thumbnail cloning + WindowHandle handle = null; + if (WindowId.HasValue) { + handle = WindowHandle.FromHandle(WindowId.Value); + } + else if (WindowTitle != null) { + //TODO + } + else if (WindowClass != null) { + //TODO + } + if (handle != null) { + form.SetThumbnail(handle, Region); + } + + //Size + if (StartSize.HasValue) { + form.ClientSize = StartSize.Value; + } + + //Position + if (StartLocation.HasValue) { + form.Location = StartLocation.Value; + } + else if (StartScreenPosition.HasValue) { + form.PositionLock = StartScreenPosition.Value; + } + + //Other features + if (EnableClickForwarding) { + form.ClickForwardingEnabled = true; + } + } + + #endregion + + } + +} diff --git a/OnTopReplica/StartupOptions/RectangleConverter.cs b/OnTopReplica/StartupOptions/RectangleConverter.cs new file mode 100644 index 0000000..00c8608 --- /dev/null +++ b/OnTopReplica/StartupOptions/RectangleConverter.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel; +using System.Drawing; +using System.Text.RegularExpressions; + +namespace OnTopReplica.StartupOptions { + class RectangleConverter : TypeConverter { + + public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { + if (value != null) { + var sVal = value.ToString(); + return Convert(sVal); + } + else + return base.ConvertFrom(context, culture, value); + } + + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { + return sourceType == typeof(string); + } + + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { + return destinationType == typeof(Rectangle); + } + + public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { + if (value != null && destinationType == typeof(Rectangle)) { + var sVal = value.ToString(); + return Convert(sVal); + } + else + return base.ConvertTo(context, culture, value, destinationType); + } + + static Regex _sizeRegex = new Regex("^\\D*(?\\d*)\\s*,\\s*(?\\d*)\\s*,\\s*(?\\d*)\\s*,\\s*(?\\d*)\\D*$", + RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.Singleline); + + private Rectangle Convert(string s) { + var match = _sizeRegex.Match(s); + + var x = match.Groups["x"]; + var y = match.Groups["y"]; + var width = match.Groups["width"]; + var height = match.Groups["height"]; + + if (match.Success && x.Success && y.Success && width.Success && height.Success) { + var xVal = int.Parse(x.Value); + var yVal = int.Parse(y.Value); + var widthVal = int.Parse(width.Value); + var heightVal = int.Parse(height.Value); + + return new Rectangle(xVal, yVal, widthVal, heightVal); + } + else + throw new ArgumentException("Cannot convert '" + s + "' to rectangle."); + } + + } +} diff --git a/OnTopReplica/StartupOptions/ScreenPositionConverter.cs b/OnTopReplica/StartupOptions/ScreenPositionConverter.cs new file mode 100644 index 0000000..18ca1a5 --- /dev/null +++ b/OnTopReplica/StartupOptions/ScreenPositionConverter.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel; + +namespace OnTopReplica.StartupOptions { + class ScreenPositionConverter : TypeConverter { + + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { + if (sourceType == typeof(string)) + return true; + + return base.CanConvertFrom(context, sourceType); + } + + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { + if (destinationType == typeof(ScreenPosition)) + return true; + + return base.CanConvertTo(context, destinationType); + } + + public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { + var sValue = value.ToString(); + + switch (sValue) { + case "TL": + return ScreenPosition.TopLeft; + case "TR": + return ScreenPosition.TopRight; + case "BL": + return ScreenPosition.BottomLeft; + case "BR": + return ScreenPosition.BottomRight; + case "C": + return ScreenPosition.Center; + default: + throw new ArgumentException("Invalid screen position value '" + sValue + "'."); + } + } + + public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { + if (destinationType == typeof(ScreenPosition)) + return ConvertFrom(context, culture, value); + + return base.ConvertTo(context, culture, value, destinationType); + } + + } +} diff --git a/OnTopReplica/StartupOptions/SizeConverter.cs b/OnTopReplica/StartupOptions/SizeConverter.cs new file mode 100644 index 0000000..4f19d23 --- /dev/null +++ b/OnTopReplica/StartupOptions/SizeConverter.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel; +using System.Drawing; +using System.Text.RegularExpressions; + +namespace OnTopReplica.StartupOptions { + class SizeConverter : TypeConverter { + + public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { + if (value != null) { + var sVal = value.ToString(); + return Convert(sVal); + } + else + return base.ConvertFrom(context, culture, value); + } + + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { + return sourceType == typeof(string); + } + + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { + return destinationType == typeof(Size); + } + + public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { + if (value != null && destinationType == typeof(Size)) { + var sVal = value.ToString(); + return Convert(sVal); + } + else + return base.ConvertTo(context, culture, value, destinationType); + } + + static Regex _sizeRegex = new Regex("^\\D*(?\\d*)\\s*,\\s*(?\\d*)\\D*$", + RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.Singleline); + + private Size Convert(string s) { + var match = _sizeRegex.Match(s); + + var x = match.Groups["x"]; + var y = match.Groups["y"]; + + if (!match.Success || !x.Success || !y.Success) + throw new ArgumentException("Cannot convert '" + s + "' to coordinates pair."); + + var xVal = Int32.Parse(x.Value); + var yVal = Int32.Parse(y.Value); + + return new Size(xVal, yVal); + } + + } +} diff --git a/OnTopReplica/StoredRegion.cs b/OnTopReplica/StoredRegion.cs index 93a64fd..f8337a1 100644 --- a/OnTopReplica/StoredRegion.cs +++ b/OnTopReplica/StoredRegion.cs @@ -13,11 +13,11 @@ namespace OnTopReplica { } public StoredRegion(Rectangle r, string n) { - Rect = r; + Bounds = r; Name = n; } - public Rectangle Rect { + public Rectangle Bounds { get; set; } @@ -47,14 +47,14 @@ namespace OnTopReplica { reader.Read(); XmlSerializer x = new XmlSerializer(typeof(Rectangle)); - Rect = (Rectangle)x.Deserialize(reader); + Bounds = (Rectangle)x.Deserialize(reader); } public void WriteXml(System.Xml.XmlWriter writer) { writer.WriteAttributeString("name", Name); XmlSerializer x = new XmlSerializer(typeof(Rectangle)); - x.Serialize(writer, Rect); + x.Serialize(writer, Bounds); } #endregion diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs index 827c274..c310233 100644 --- a/OnTopReplica/Strings.Designer.cs +++ b/OnTopReplica/Strings.Designer.cs @@ -1025,7 +1025,25 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Position. + /// Looks up a localized string similar to Center. + /// + internal static string MenuPosCenter { + get { + return ResourceManager.GetString("MenuPosCenter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disabled. + /// + internal static string MenuPosDisabled { + get { + return ResourceManager.GetString("MenuPosDisabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Position lock. /// internal static string MenuPosition { get { diff --git a/OnTopReplica/Strings.it.Designer.cs b/OnTopReplica/Strings.it.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx index f8090e3..59bc73c 100644 --- a/OnTopReplica/Strings.it.resx +++ b/OnTopReplica/Strings.it.resx @@ -1,30 +1,135 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Annulla il processo di aggiornamento. - - - Mostra dettagli su OnTopReplica. - - - Resetta tutte le impostazioni di OnTopReplica. - - - Aggiorna OnTopReplica ora. - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Annulla il processo di aggiornamento. + + + Mostra dettagli su OnTopReplica. + + + Resetta tutte le impostazioni di OnTopReplica. + + + Aggiorna OnTopReplica ora. + + <html> <head> <style type="text/css"> @@ -75,413 +180,416 @@ a:hover { <p>Alcune delle icone sono state prese da <a href="http://www.vistaico.com">VistaICO.com</a> e dal set di icone Xiao.</p> </body> -</html> - - - OnTopReplica - - - Ripristinare completamente la finestra? - - +</html> + + + OnTopReplica + + + Ripristinare completamente la finestra? + + &Ripristina -Tutte le impostazioni saranno perse. - - - Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. - - - Ripristino - - - Resettare impostazioni? - - - Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). - - - Reimposta - - - Scaricare OnTopReplica {0}? - {0} update version - - +Tutte le impostazioni saranno perse. + + + Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. + + + Ripristino + + + Resettare impostazioni? + + + Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). + + + Reimposta + + + Scaricare OnTopReplica {0}? + {0} update version + + Annulla aggiornamento -OnTopReplica si aggiornerà in un secondo momento. - - +OnTopReplica si aggiornerà in un secondo momento. + + Continua -Scarica OnTopReplica {0}. - {0} update version - - - Sarà possibile scaricare la nuova versione ed installarla. - - +Scarica OnTopReplica {0}. + {0} update version + + + Sarà possibile scaricare la nuova versione ed installarla. + + Versione installata: {0} -Versione disponibile: {1} +Versione disponibile: {1} {0} installed version number -{1} online available version number - - - Aggiornamento disponibile - - - &Annulla - - - Creato da: Lorenz Cuno Klopfenstein. - - - Disegna una regione usando il mouse. - - - Dettagli - - - Dettagli su Windows Aero - - - Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. - - - Il servizio di Desktop Composition Aero non è attivo. - - +{1} online available version number + + + Aggiornamento disponibile + + + &Annulla + + + Creato da: Lorenz Cuno Klopfenstein. + + + Disegna una regione usando il mouse. + + + Dettagli + + + Dettagli su Windows Aero + + + Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. + + + Il servizio di Desktop Composition Aero non è attivo. + + È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows. -Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. - - - Dettagli errore - - - Errore: - - - Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. - - - Errore - - +Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. + + + Dettagli errore + + + Errore: + + + Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. + + + Errore + + La "composzione del desktop" non è supportata dal tuo sistema operativo. -È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. - - - Desktop Composition (DWM) non supportato - - - Nessuna finestra clonata al momento. - - - Impossibile clonare la finestra. - - - Impossibile adattare la finestra. - - - Impossibile controllare gli aggiornamenti. - - - Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. - - - Non è stato possibile controllare se esiste una versione più aggiornata di OnTopReplica. Verificare di essere connessi ad Internet. Se la connessione è attiva, è possibile che il sito ufficiale sia temporaneamente offline. - - - Modalità - - - Sempre in cima - - - OnTopReplica sarà sempre la finestra sopra a tutte le altre. - - - Click through - - - OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. - - - Normale - - - Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. - - - OnTopReplica a pieno schermo - - - Disattiva - - - Abilita modalità - - - Seleziona più finestre per attivare. - - - Modalità Gruppo attivata. - - - Modalità Gruppo di finestre: - - - Finestre - Column Header of list, simply refers to available windows to be cloned - - - Sito internet: www.codeplex.com/ontopreplica. - - - Attivare la modalità di inoltro dei clic? - - +È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. + + + Desktop Composition (DWM) non supportato + + + Nessuna finestra clonata al momento. + + + Impossibile clonare la finestra. + + + Impossibile adattare la finestra. + + + Impossibile controllare gli aggiornamenti. + + + Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + Non è stato possibile controllare se esiste una versione più aggiornata di OnTopReplica. Verificare di essere connessi ad Internet. Se la connessione è attiva, è possibile che il sito ufficiale sia temporaneamente offline. + + + Modalità + + + Sempre in cima + + + OnTopReplica sarà sempre la finestra sopra a tutte le altre. + + + Click through + + + OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. + + + Normale + + + Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. + + + OnTopReplica a pieno schermo + + + Disattiva + + + Abilita modalità + + + Seleziona più finestre per attivare. + + + Modalità Gruppo attivata. + + + Modalità Gruppo di finestre: + + + Finestre + Column Header of list, simply refers to available windows to be cloned + + + Sito internet: www.codeplex.com/ontopreplica. + + + Attivare la modalità di inoltro dei clic? + + In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano). -Per uscire da questa modalità, usa il tasto ESC. - - - Inoltro dei clic - - - Attivare la modalità Click-Through? - - - La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. - - +Per uscire da questa modalità, usa il tasto ESC. + + + Inoltro dei clic + + + Attivare la modalità Click-Through? + + + La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. + + In questa modalità la finestra clonata si comporterà come una maschera semitrasparente che permette di cliccare sulle finestre dietro di essa. -Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). - - +Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). + + No, grazie. -Puoi abilitare il Click-Through in futuro - - - Abilita Click-Through - - - Modalità Click-Through - - - OnTopReplica è stato aggiornato. - - - Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. - - - Aggiornamento completato - - - La versione più aggiornata è già installata. - - - Nessun aggiornamento disponibile - - - Lingua - - - A proposito di... - - - Nasconde la finestra principale e mostra una schermata di informazioni. - - - Avanzate - - - Bordo - - - Abilita o disabilita il bordo della finestra. - - - Inoltro dei clic - - - Attiva la modalità di "inoltro dei clic" alla finestra clonata. - - - Abilita Click-Through - - - OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa. - - - Chiudi - - - Termina OnTopReplica. - - - 2:1 Doppio - - - Tutto schermo - - - 1:2 Metà - - - 1:1 Clone esatto - - - 1:4 Quarto - - - Effetto vetro - - - Abilita o disabilita l'effetto vetro. - - - Modalità Gruppo di finestre - - - OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo. - - - 100% (opaco) - - - Imposta OnTopReplica come finestra completamente opaca. - - - 25% - - - Imposta l'opacità di OnTopReplica al 25%. - - - 50% - - - Imposta l'opacità di OnTopReplica al 50%. - - - 75% - - - Imposta l'opacità di OnTopReplica al 75%. - - - Opacità - - - Apri - - - Attiva la finestra di OnTopReplica. - - - In basso a sinistra - - - In basso a destra - - - Posizione - - - Posiziona automaticamente OnTopReplica sul monitor corrente. - - - In alto a sinistra - - - In alto a destra - - - Esci da tutto schermo - - - Ripristina posizione e grandezza - - - Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. - - - Minimizza - - - Riduce OnTopReplica ad un'icona nella barra delle applicazioni. - - - Seleziona regione... - - - Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. - - - Reimposta finestra - - - Reimposta OnTopReplica e la sua finestra principale. - - - Ridimensionamento - - - Vai alla finestra originale - - - Mostra la finestra originale e nasconde OnTopReplica. - - - Seleziona finestra - - - - nessuna - - - - Mostra una lista di finestre che è possibile clonare. - - - - intera - - - - Regione corrente: - - - Cancella - - - Chiudi - - - Altezz. - - - Reset - - - Salva - - - Regioni memorizzate - - - Regioni: - - - Largh. - - - Clic destro qui per iniziare... - - - Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta. - - - OnTopReplica controlla automaticamente se sono presenti aggiornamenti. - - - Aggiorna! - +Puoi abilitare il Click-Through in futuro + + + Abilita Click-Through + + + Modalità Click-Through + + + OnTopReplica è stato aggiornato. + + + Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. + + + Aggiornamento completato + + + La versione più aggiornata è già installata. + + + Nessun aggiornamento disponibile + + + Lingua + + + A proposito di... + + + Nasconde la finestra principale e mostra una schermata di informazioni. + + + Avanzate + + + Bordo + + + Abilita o disabilita il bordo della finestra. + + + Inoltro dei clic + + + Attiva la modalità di "inoltro dei clic" alla finestra clonata. + + + Abilita Click-Through + + + OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa. + + + Chiudi + + + Termina OnTopReplica. + + + 2:1 Doppio + + + Tutto schermo + + + 1:2 Metà + + + 1:1 Clone esatto + + + 1:4 Quarto + + + Effetto vetro + + + Abilita o disabilita l'effetto vetro. + + + Modalità Gruppo di finestre + + + OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo. + + + 100% (opaco) + + + Imposta OnTopReplica come finestra completamente opaca. + + + 25% + + + Imposta l'opacità di OnTopReplica al 25%. + + + 50% + + + Imposta l'opacità di OnTopReplica al 50%. + + + 75% + + + Imposta l'opacità di OnTopReplica al 75%. + + + Opacità + + + Apri + + + Attiva la finestra di OnTopReplica. + + + In basso a sinistra + + + In basso a destra + + + Blocco posizione + + + Posiziona automaticamente OnTopReplica sul monitor corrente. + + + In alto a sinistra + + + In alto a destra + + + Esci da tutto schermo + + + Ripristina posizione e grandezza + + + Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. + + + Minimizza + + + Riduce OnTopReplica ad un'icona nella barra delle applicazioni. + + + Seleziona regione... + + + Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. + + + Reimposta finestra + + + Reimposta OnTopReplica e la sua finestra principale. + + + Ridimensionamento + + + Vai alla finestra originale + + + Mostra la finestra originale e nasconde OnTopReplica. + + + Seleziona finestra + + + - nessuna - + + + Mostra una lista di finestre che è possibile clonare. + + + - intera - + + + Regione corrente: + + + Cancella + + + Chiudi + + + Altezz. + + + Reset + + + Salva + + + Regioni memorizzate + + + Regioni: + + + Largh. + + + Clic destro qui per iniziare... + + + Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta. + + + OnTopReplica controlla automaticamente se sono presenti aggiornamenti. + + + Aggiorna! + + + Disabilitato + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx index 670c5a7..c02a8c3 100644 --- a/OnTopReplica/Strings.resx +++ b/OnTopReplica/Strings.resx @@ -1,30 +1,135 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Abort update process. - - - Show details about OnTopReplica. - - - Reset all OnTopReplica settings. - - - Update OnTopReplica now. - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + <html> <head> <style type="text/css"> @@ -75,413 +180,419 @@ a:hover { <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> </body> -</html> - - - OnTopReplica - - - Reset window completely? - - +</html> + + + OnTopReplica + + + Reset window completely? + + &Reset -All settings will be lost. - - - Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. - - - Reset - - - Reset settings? - - - This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). - - - Reset settings - - - Download OnTopReplica {0}? - {0} update version - - +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + Download OnTopReplica {0}? + {0} update version + + Cancel update -OnTopReplica will prompt you the next time it is started. - - +OnTopReplica will prompt you the next time it is started. + + Download -Install OnTopReplica {0}. - {0} update version - - - The new version can be downloaded and installed from the official website. - - +Install OnTopReplica {0}. + {0} update version + + + The new version can be downloaded and installed from the official website. + + Installed version: {0} -Available version: {1} +Available version: {1} {0} installed version number -{1} online available version number - - - Update available - - - &Cancel - - - Created by: Lorenz Cuno Klopfenstein. - - - Draw regions using mouse. - - - Details - - - Details on Windows Aero - - - Windows Aero is only available on Windows Vista Home Premium or higher. - - - Desktop Composition' is not enabled. - - +{1} online available version number + + + Update available + + + &Cancel + + + Created by: Lorenz Cuno Klopfenstein. + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + Desktop Composition' is not enabled. + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. -To do so, right-click on the desktop and click on Personalize. - - - Error details - - - Error: - - - It appears that the selected window has been closed or is not valid anymore. - - - Error - - +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + Desktop Composition' is not supported on your Operating System. -You must run this application on Windows Vista Home Premium or better. - - - Desktop Composition unsupported - - - No thumbnail loaded. - - - Unable to create thumbnail. - - - Unable to fit window. - - - Unable to check for updates. - - - It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). - - - OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. - - - Mode - - - Always on top - - - Forces OnTopReplica to stay always on top. - - - Click through - - - OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. - - - Standard - - - Behaves like an ordinary window. You can bring other windows above OnTopReplica. - - - OnTopReplica fullscreen - - - Disable - - - Enable Group mode - - - Select multiple windows to enable. - - - Group switch mode is enabled. - - - Group switch mode: - - - Windows - Column Header of list, simply refers to available windows to be cloned - - - Homepage: www.codeplex.com/ontopreplica. - - - Do you want to enable "click forwarding"? - - +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail. + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). -To exit this mode, push ESC. - - - Click forwarding - - - Enable Click-Through mode? - - - Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. - - +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. -To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). - - +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + No, thank you. -You can enable click-through later - - - Use Click-Through - - - Click-Through mode - - - OnTopReplica has been updated. - - - In order to use the updated version of OnTopReplica you'll have to restart the application. - - - Update successful - - - OnTopReplica is up to date. - - - No update available - - - Language - - - About... - - - Hides the main window and displays the "about" box. - - - Advanced - - - Chrome - - - Toggles the display of the window chrome. - - - Enable Click forwarding - - - Enable "click forwarding" to the cloned window. - - - Enable Click-Through - - - OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. - - - Close - - - Closes OnTopReplica. - - - 2:1 Double - - - Fullscreen - - - 1:2 Half - - - 1:1 Fit to window - - - 1:4 Quarter - - - Glass - - - Toggles "glass mode" on and off. - - - Group Switch mode - - - OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. - - - 100% (opaque) - - - Sets OnTopReplica to be completely opaque. - - - 25% - - - Sets OnTopReplica to 25% opacity. - - - 50% - - - Sets OnTopReplica to 50% opacity. - - - 75% - - - Sets OnTopReplica to 75% opacity. - - - Opacity - - - Open - - - Displays OnTopReplica. - - - Bottom Left - - - Bottom Right - - - Position - - - Automatically position OnTopReplica on the current screen. - - - Top Left - - - Top Right - - - Quit fullscreen mode - - - Recall last position and size - - - Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. - - - Minimize - - - Minimizes OnTopReplica to the task bar (or the tray). - - - Select region... - - - Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. - - - Reset window - - - Resets OnTopReplica settings and its main window. - - - Resize - - - Switch to window - - - Switches to the source window and hides OnTopReplica. - - - Select window - - - - none - - - - Displays a list of window you can select as thumbnail source. - - - - whole - - - - Current region: - - - Delete - - - Done - - - Height - - - Reset - - - Save - - - Stored regions - - - Regions: - - - Width - - - Right-click here to start... - - - A lightweight, real-time, always on top thumbnail of a window of your choice. - - - OnTopReplica automatically checks for updates. No information is logged at any point. - - - Update now! - +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Chrome + + + Toggles the display of the window chrome. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Glass + + + Toggles "glass mode" on and off. + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + OnTopReplica automatically checks for updates. No information is logged at any point. + + + Update now! + + + Center + + + Disabled + \ No newline at end of file diff --git a/OnTopReplica/WindowHandle.cs b/OnTopReplica/WindowHandle.cs index 61eaf2f..f158e29 100644 --- a/OnTopReplica/WindowHandle.cs +++ b/OnTopReplica/WindowHandle.cs @@ -8,7 +8,8 @@ namespace OnTopReplica { /// Helper class that keeps a window handle (HWND), the title of the window and can load its icon. public class WindowHandle : System.Windows.Forms.IWin32Window { - IntPtr _handle; + + IntPtr _handle; string _title; public WindowHandle(IntPtr p, string title) { @@ -81,5 +82,13 @@ namespace OnTopReplica { #endregion + /// + /// Creates a new windowHandle instance from a given IntPtr handle. + /// + /// Handle value. + public static WindowHandle FromHandle(IntPtr handle) { + return new WindowHandle(handle, string.Empty); + } + } } From 16e9b66fb24fd93fa8bd486f77a58b858b439acf Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sun, 10 Oct 2010 13:35:24 +0200 Subject: [PATCH 074/164] Version update to 3.2. Some text fixes. --- OnTopReplica/CloseRequestEventArgs.cs | 1 + OnTopReplica/OnTopReplica.csproj | 2 +- OnTopReplica/OnTopReplica.csproj.user | 2 +- OnTopReplica/Properties/AssemblyInfo.cs | 4 ++-- OnTopReplica/Strings.da.resx | 2 +- OnTopReplica/Strings.it.resx | 2 +- OnTopReplica/Strings.resx | 2 +- 7 files changed, 8 insertions(+), 7 deletions(-) diff --git a/OnTopReplica/CloseRequestEventArgs.cs b/OnTopReplica/CloseRequestEventArgs.cs index c9d031e..377ce99 100644 --- a/OnTopReplica/CloseRequestEventArgs.cs +++ b/OnTopReplica/CloseRequestEventArgs.cs @@ -7,6 +7,7 @@ namespace OnTopReplica { public class CloseRequestEventArgs : EventArgs { public WindowHandle LastWindowHandle { get; set; } + public Rectangle? LastRegion { get; set; } } diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 0e22378..b85d96f 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -48,7 +48,7 @@ publish.htm false 0 - 3.0.2.%2a + 3.2.0.%2a false true true diff --git a/OnTopReplica/OnTopReplica.csproj.user b/OnTopReplica/OnTopReplica.csproj.user index 1bf19dd..3cfa89d 100644 --- a/OnTopReplica/OnTopReplica.csproj.user +++ b/OnTopReplica/OnTopReplica.csproj.user @@ -16,6 +16,6 @@ false - /windowId=459573 /r=20,20,100,80 + /windowId=459572 /r=20,20,100,80 \ No newline at end of file diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs index 5fd4749..c012e63 100644 --- a/OnTopReplica/Properties/AssemblyInfo.cs +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -33,5 +33,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.1.1.0")] -[assembly: AssemblyFileVersion("3.1.1.0")] +[assembly: AssemblyVersion("3.2.0.0")] +[assembly: AssemblyFileVersion("3.2.0.0")] diff --git a/OnTopReplica/Strings.da.resx b/OnTopReplica/Strings.da.resx index 41d3c80..c15bad8 100644 --- a/OnTopReplica/Strings.da.resx +++ b/OnTopReplica/Strings.da.resx @@ -171,7 +171,7 @@ Dette program kræver Windows Vista Home Premium eller bedre. Ingen miniature indlæst. - Kan ikke lave miniature. + Kan ikke lave miniature Kunne ikke passes til vinduet. diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx index 59bc73c..6a1f6c9 100644 --- a/OnTopReplica/Strings.it.resx +++ b/OnTopReplica/Strings.it.resx @@ -281,7 +281,7 @@ Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza.< Nessuna finestra clonata al momento. - Impossibile clonare la finestra. + Impossibile clonare la finestra Impossibile adattare la finestra. diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx index c02a8c3..12b0c5b 100644 --- a/OnTopReplica/Strings.resx +++ b/OnTopReplica/Strings.resx @@ -281,7 +281,7 @@ You must run this application on Windows Vista Home Premium or better. No thumbnail loaded. - Unable to create thumbnail. + Unable to create thumbnail Unable to fit window. From 295b40ece933cb519355e7893e582d8f887ed723 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Mon, 11 Oct 2010 02:55:40 +0200 Subject: [PATCH 075/164] Added extension methods and some minor related refactoring. Switched from WindowManager to extensible WindowSeekers (derived from BaseWindowSeeker). Window seeking by title implemented and command line parameter added. --- OnTopReplica/EnumerableExtensions.cs | 27 +++++ OnTopReplica/MainForm.cs | 8 +- OnTopReplica/MainForm_MenuEvents.cs | 5 +- OnTopReplica/Native/WindowMethods.cs | 11 ++ OnTopReplica/OnTopReplica.csproj | 6 +- OnTopReplica/OnTopReplica.csproj.user | 2 +- OnTopReplica/Pair.cs | 15 +++ OnTopReplica/SidePanels/GroupSwitchPanel.cs | 5 +- OnTopReplica/StartupOptions/Options.cs | 8 +- OnTopReplica/WindowListHelper.cs | 14 ++- OnTopReplica/WindowManager.cs | 104 ------------------ .../WindowSeekers/BaseWindowSeeker.cs | 72 ++++++++++++ .../WindowSeekers/ByTitleWindowSeeker.cs | 45 ++++++++ .../WindowSeekers/TaskWindowSeeker.cs | 39 +++++++ 14 files changed, 247 insertions(+), 114 deletions(-) create mode 100644 OnTopReplica/EnumerableExtensions.cs create mode 100644 OnTopReplica/Pair.cs delete mode 100644 OnTopReplica/WindowManager.cs create mode 100644 OnTopReplica/WindowSeekers/BaseWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/TaskWindowSeeker.cs diff --git a/OnTopReplica/EnumerableExtensions.cs b/OnTopReplica/EnumerableExtensions.cs new file mode 100644 index 0000000..dbd7c6c --- /dev/null +++ b/OnTopReplica/EnumerableExtensions.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica { + /// + /// Extension methods for IEnumerable. + /// + static class EnumerableExtensions { + + /// + /// Gets the first element of an enumeration of a default value. + /// + public static T FirstOrDefault(this IEnumerable collection) { + if (collection == null) + throw new ArgumentNullException(); + + using (var enumerator = collection.GetEnumerator()) { + if (!enumerator.MoveNext()) + return default(T); + else + return enumerator.Current; + } + } + + } +} diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 77e04b8..dc6dc28 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -9,6 +9,7 @@ using System.Collections.Generic; using OnTopReplica.Native; using OnTopReplica.Update; using OnTopReplica.StartupOptions; +using OnTopReplica.WindowSeekers; namespace OnTopReplica { @@ -20,7 +21,7 @@ namespace OnTopReplica { Panel _sidePanelContainer; //Managers - WindowManager _windowManager = new WindowManager(); + BaseWindowSeeker _windowSeeker = new TaskWindowSeeker(); MessagePumpManager _msgPumpManager = new MessagePumpManager(); UpdateManager _updateManager = new UpdateManager(); @@ -105,6 +106,8 @@ namespace OnTopReplica { protected override void OnHandleCreated(EventArgs e){ base.OnHandleCreated(e); + _windowSeeker.OwnerHandle = this.Handle; + //Platform specific form initialization Program.Platform.InitForm(this); } @@ -372,7 +375,8 @@ namespace OnTopReplica { _thumbnailPanel.SetThumbnailHandle(handle); #if DEBUG - Console.WriteLine("Cloning window HWND {0}.", handle.Handle); + string windowClass = WindowMethods.GetWindowClass(handle.Handle); + Console.WriteLine("Cloning window HWND {0} of class {1}.", handle.Handle, windowClass); #endif if (region.HasValue) diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs index cb11e63..eade4ea 100644 --- a/OnTopReplica/MainForm_MenuEvents.cs +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -29,8 +29,9 @@ namespace OnTopReplica { } private void Menu_Windows_opening(object sender, CancelEventArgs e) { - _windowManager.Refresh(WindowManager.EnumerationMode.TaskWindows); - WindowListHelper.PopulateMenu(this, _windowManager, (ToolStrip)sender, + _windowSeeker.Refresh(); + var menu = (ToolStrip)sender; + menu.PopulateMenu(this, _windowSeeker, CurrentThumbnailWindowHandle, new EventHandler(Menu_Windows_itemclick)); } diff --git a/OnTopReplica/Native/WindowMethods.cs b/OnTopReplica/Native/WindowMethods.cs index 7a34af6..3c35c02 100644 --- a/OnTopReplica/Native/WindowMethods.cs +++ b/OnTopReplica/Native/WindowMethods.cs @@ -37,6 +37,17 @@ namespace OnTopReplica.Native { return String.Empty; } + const int MaxClassLength = 255; + + public static string GetWindowClass(IntPtr hwnd) { + var sb = new StringBuilder(MaxClassLength + 1); + RealGetWindowClass(hwnd, sb, MaxClassLength); + return sb.ToString(); + } + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern uint RealGetWindowClass(IntPtr hwnd, [Out] StringBuilder lpString, uint maxCount); + public enum WindowLong { WndProc = (-4), HInstance = (-6), diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index b85d96f..38e6dd1 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -112,6 +112,7 @@ + Form @@ -134,6 +135,10 @@ + + + + @@ -273,7 +278,6 @@ - diff --git a/OnTopReplica/OnTopReplica.csproj.user b/OnTopReplica/OnTopReplica.csproj.user index 3cfa89d..7fd3bff 100644 --- a/OnTopReplica/OnTopReplica.csproj.user +++ b/OnTopReplica/OnTopReplica.csproj.user @@ -16,6 +16,6 @@ false - /windowId=459572 /r=20,20,100,80 + /windowClass="OperaWindowClass" \ No newline at end of file diff --git a/OnTopReplica/Pair.cs b/OnTopReplica/Pair.cs new file mode 100644 index 0000000..b2da01a --- /dev/null +++ b/OnTopReplica/Pair.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica { + + /// + /// Simple tuple with two values. + /// + struct Pair { + public T1 Item1; + public T2 Item2; + } + +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.cs index 25db61d..be82b0f 100644 --- a/OnTopReplica/SidePanels/GroupSwitchPanel.cs +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.cs @@ -4,6 +4,7 @@ using System.Windows.Forms; using OnTopReplica.Properties; using System.Collections.Generic; using OnTopReplica.MessagePumpProcessors; +using OnTopReplica.WindowSeekers; namespace OnTopReplica.SidePanels { partial class GroupSwitchPanel : SidePanel { @@ -23,8 +24,8 @@ namespace OnTopReplica.SidePanels { } private void LoadWindowList() { - var manager = new WindowManager(); - manager.Refresh(WindowManager.EnumerationMode.TaskWindows); + var manager = new TaskWindowSeeker(); + manager.Refresh(); var imageList = new ImageList(); imageList.ColorDepth = ColorDepth.Depth32Bit; diff --git a/OnTopReplica/StartupOptions/Options.cs b/OnTopReplica/StartupOptions/Options.cs index 7ff2085..dab0b9c 100644 --- a/OnTopReplica/StartupOptions/Options.cs +++ b/OnTopReplica/StartupOptions/Options.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Text; using System.Drawing; using System.IO; +using OnTopReplica.WindowSeekers; namespace OnTopReplica.StartupOptions { @@ -94,7 +95,12 @@ namespace OnTopReplica.StartupOptions { handle = WindowHandle.FromHandle(WindowId.Value); } else if (WindowTitle != null) { - //TODO + var seeker = new ByTitleWindowSeeker(WindowTitle) { + OwnerHandle = form.Handle + }; + seeker.Refresh(); + + handle = seeker.Windows.FirstOrDefault(); } else if (WindowClass != null) { //TODO diff --git a/OnTopReplica/WindowListHelper.cs b/OnTopReplica/WindowListHelper.cs index 88f7964..5a8585e 100644 --- a/OnTopReplica/WindowListHelper.cs +++ b/OnTopReplica/WindowListHelper.cs @@ -3,8 +3,12 @@ using System.Collections.Generic; using System.Text; using System.Windows.Forms; using OnTopReplica.Properties; +using OnTopReplica.WindowSeekers; namespace OnTopReplica { + /// + /// Extension methods used to apply a window list to a menu. + /// static class WindowListHelper { public class WindowSelectionData { @@ -14,7 +18,15 @@ namespace OnTopReplica { const int MaxWindowTitleLength = 55; - public static void PopulateMenu(Form ownerForm, WindowManager windowManager, ToolStrip menu, + /// + /// Populates the menu with a list of windows. + /// + /// The menu to populate. + /// The owning form. + /// The window manager that provides the windows list. + /// The currently used window (will be checked in the list). + /// Event handler for clicks on window items. + public static void PopulateMenu(this ToolStrip menu, Form ownerForm, BaseWindowSeeker windowManager, WindowHandle currentHandle, EventHandler clickHandler) { var regions = GetRegions(); diff --git a/OnTopReplica/WindowManager.cs b/OnTopReplica/WindowManager.cs deleted file mode 100644 index 0af3ba9..0000000 --- a/OnTopReplica/WindowManager.cs +++ /dev/null @@ -1,104 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using OnTopReplica.Native; - -namespace OnTopReplica { - /// A helper class that allows you to easily build and keep a list of Windows (in the form of WindowHandle objects). - public class WindowManager { - - List _windows = new List(); - - public enum EnumerationMode { - /// All windows with 'Visible' flag. - AllVisible, - - /// All top level windows. - AllTopLevel, - - /// Windows of a task (like Alt+Tab). - TaskWindows - } - - /// Refreshes the window list. - public void Refresh(EnumerationMode mode) { - _windows = new List(); - - WindowManagerMethods.EnumWindowsProc proc = null; - switch (mode) { - case EnumerationMode.AllVisible: - proc = new WindowManagerMethods.EnumWindowsProc(EnumWindowProcAll); - break; - - case EnumerationMode.AllTopLevel: - proc = new WindowManagerMethods.EnumWindowsProc(EnumWindowProcTopLevel); - break; - - case EnumerationMode.TaskWindows: - proc = new WindowManagerMethods.EnumWindowsProc(EnumWindowProcTask); - break; - } - - WindowManagerMethods.EnumWindows(proc, IntPtr.Zero); - } - - - public IEnumerable Windows { - get { - return _windows; - } - } - - - - private bool EnumWindowProcAll(IntPtr hwnd, IntPtr lParam) { - if (WindowManagerMethods.IsWindowVisible(hwnd)) { - string title = WindowMethods.GetWindowText(hwnd); - _windows.Add( new WindowHandle(hwnd, title)); - } - return true; - } - - private bool EnumWindowProcTopLevel(IntPtr hwnd, IntPtr lParam) { - if (WindowManagerMethods.IsWindowVisible(hwnd)) { - //Check if window has no parent - if ((long)WindowManagerMethods.GetParent(hwnd) == 0 && WindowManagerMethods.GetDesktopWindow() != hwnd) { - string title = WindowMethods.GetWindowText(hwnd); - _windows.Add( new WindowHandle(hwnd, title)); - } - } - return true; - } - - private bool EnumWindowProcTask(IntPtr hwnd, IntPtr lParam) { - //Code taken from: http://www.thescarms.com/VBasic/alttab.aspx - - //Accept windows that - // - are visible - // - do not have a parent - // - have no owner and are not Tool windows OR - // - have an owner and are App windows - - //Reject empty titles - - string title = WindowMethods.GetWindowText(hwnd); - if (string.IsNullOrEmpty(title)) - return true; - - if (WindowManagerMethods.IsWindowVisible(hwnd)) { - if ((long)WindowManagerMethods.GetParent(hwnd) == 0) { - bool hasOwner = (long)WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; - WindowMethods.WindowExStyles exStyle = (WindowMethods.WindowExStyles)WindowMethods.GetWindowLong(hwnd, WindowMethods.WindowLong.ExStyle); - - if (((exStyle & WindowMethods.WindowExStyles.ToolWindow) == 0 && !hasOwner) || //unowned non-tool window - ((exStyle & WindowMethods.WindowExStyles.AppWindow) == WindowMethods.WindowExStyles.AppWindow && hasOwner)) { //owned application window - _windows.Add(new WindowHandle(hwnd, title)); - } - } - } - - return true; - } - - } -} diff --git a/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs b/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs new file mode 100644 index 0000000..a636ac4 --- /dev/null +++ b/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + + /// + /// Base class for window seekers that can populate a list of window handles based on some criteria. + /// + abstract class BaseWindowSeeker { + + List _list = new List(); + + /// + /// Get the matching windows from the last refresh. + /// + public IEnumerable Windows { + get { + return _list; + } + } + + /// + /// Forces a window list refresh. + /// + public virtual void Refresh() { + _list.Clear(); + + WindowManagerMethods.EnumWindows( + new WindowManagerMethods.EnumWindowsProc(RefreshCallback), + IntPtr.Zero); + } + + private bool RefreshCallback(IntPtr hwnd, IntPtr lParam) { + bool cont = true; + + //Skip owner + if (hwnd == OwnerHandle) + return true; + + //Extract basic properties + string title = WindowMethods.GetWindowText(hwnd); + + if (InspectWindow(hwnd, title, ref cont)) { + //Window has been picked + _list.Add(new WindowHandle(hwnd, title)); + } + + return cont; + } + + /// + /// Inspects a window and returns whether the window should be listed or not. + /// + /// Handle of the window. + /// Title of the window (if any). + /// Indicates whether the inspection loop should terminate after this window. + /// True if the window should be listed. + protected abstract bool InspectWindow(IntPtr hwnd, string title, ref bool terminate); + + /// + /// Gets or sets the window handle of the owner. + /// + /// + /// Windows with this handle will be automatically skipped. + /// + public IntPtr OwnerHandle { get; set; } + + } + +} diff --git a/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs b/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs new file mode 100644 index 0000000..a187138 --- /dev/null +++ b/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + /// + /// Seeks a single window by approximately matching its title. + /// + /// + /// Title search is case-insensitive and matches only the beginning of the windows' titles. + /// + class ByTitleWindowSeeker : BaseWindowSeeker { + + public ByTitleWindowSeeker(string titleSeekString) { + if (titleSeekString == null) + throw new ArgumentNullException(); + + TitleMatch = titleSeekString.Trim().ToLower(); + } + + public string TitleMatch { get; private set; } + + protected override bool InspectWindow(IntPtr hwnd, string title, ref bool terminate) { + //Skip empty titles + if (string.IsNullOrEmpty(title)) + return false; + + //Skip non-top-level windows (skips most internal controls) + bool hasParent = (long)WindowManagerMethods.GetParent(hwnd) != 0; + bool hasOwner = (long)WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; + if (hasParent || hasOwner) + return false; + + var modTitle = title.Trim().ToLower(); + if (modTitle.StartsWith(TitleMatch)) { + terminate = true; //only one needed + return true; + } + + return false; + } + + } +} diff --git a/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs b/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs new file mode 100644 index 0000000..db4fb20 --- /dev/null +++ b/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + class TaskWindowSeeker : BaseWindowSeeker { + + protected override bool InspectWindow(IntPtr hwnd, string title, ref bool terminate) { + //Code taken from: http://www.thescarms.com/VBasic/alttab.aspx + + //Accept windows that + // - are visible + // - do not have a parent + // - have no owner and are not Tool windows OR + // - have an owner and are App windows + + //Reject empty titles + + if (string.IsNullOrEmpty(title)) + return false; + + if (WindowManagerMethods.IsWindowVisible(hwnd)) { + if ((long)WindowManagerMethods.GetParent(hwnd) == 0) { + bool hasOwner = (long)WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; + WindowMethods.WindowExStyles exStyle = (WindowMethods.WindowExStyles)WindowMethods.GetWindowLong(hwnd, WindowMethods.WindowLong.ExStyle); + + if (((exStyle & WindowMethods.WindowExStyles.ToolWindow) == 0 && !hasOwner) || //unowned non-tool window + ((exStyle & WindowMethods.WindowExStyles.AppWindow) == WindowMethods.WindowExStyles.AppWindow && hasOwner)) { //owned application window + return true; + } + } + } + + return false; + } + + } +} From 38366ced96d01105eb47b0b9a6271d6a918d5b53 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Fri, 15 Oct 2010 19:12:58 +0200 Subject: [PATCH 076/164] Added OnTopReplica logo. --- .hgignore | 7 + Installer/header.bmp | Bin 0 -> 25818 bytes Installer/script.nsi | 112 ++ Installer/update.xml | 6 + Lib/VistaControls.dll | Bin 0 -> 95744 bytes Lib/VistaControls.pdb | Bin 0 -> 243200 bytes Lib/VistaControls.xml | 1022 +++++++++++++ OnTopReplica.sln | 20 + OnTopReplica/AboutForm.Designer.cs | 236 +++ OnTopReplica/AboutForm.cs | 153 ++ OnTopReplica/AboutForm.resx | 309 ++++ OnTopReplica/AspectRatioForm.cs | 214 +++ OnTopReplica/Assets/25.png | Bin 0 -> 639 bytes OnTopReplica/Assets/arrow_down.png | Bin 0 -> 218 bytes OnTopReplica/Assets/arrow_up.png | Bin 0 -> 209 bytes OnTopReplica/Assets/back.png | Bin 0 -> 150765 bytes OnTopReplica/Assets/clickforwarding.png | Bin 0 -> 951 bytes OnTopReplica/Assets/component.png | Bin 0 -> 731 bytes OnTopReplica/Assets/desktop.png | Bin 0 -> 794 bytes OnTopReplica/Assets/empty-window.ico | Bin 0 -> 10806 bytes OnTopReplica/Assets/flag_czech.png | Bin 0 -> 241 bytes OnTopReplica/Assets/flag_danish.png | Bin 0 -> 347 bytes OnTopReplica/Assets/flag_ita.png | Bin 0 -> 209 bytes OnTopReplica/Assets/flag_usa.png | Bin 0 -> 355 bytes OnTopReplica/Assets/flags.pdn | Bin 0 -> 5422 bytes OnTopReplica/Assets/fullscreen.png | Bin 0 -> 396 bytes OnTopReplica/Assets/groupmode.png | Bin 0 -> 837 bytes OnTopReplica/Assets/icon-new-red.ico | Bin 0 -> 86918 bytes OnTopReplica/Assets/icon-new.ico | Bin 0 -> 86918 bytes OnTopReplica/Assets/icon.ico | Bin 0 -> 7358 bytes OnTopReplica/Assets/icon.png | Bin 0 -> 7335 bytes OnTopReplica/Assets/list.png | Bin 0 -> 681 bytes OnTopReplica/Assets/newicon.png | Bin 0 -> 770 bytes OnTopReplica/Assets/pos_bottomleft.pdn | Bin 0 -> 6696 bytes OnTopReplica/Assets/pos_bottomleft.png | Bin 0 -> 267 bytes OnTopReplica/Assets/pos_bottomright.png | Bin 0 -> 267 bytes OnTopReplica/Assets/pos_null.png | Bin 0 -> 250 bytes OnTopReplica/Assets/pos_topleft.png | Bin 0 -> 280 bytes OnTopReplica/Assets/pos_topright.png | Bin 0 -> 278 bytes OnTopReplica/Assets/reduce.png | Bin 0 -> 259 bytes OnTopReplica/Assets/regions.png | Bin 0 -> 296 bytes OnTopReplica/Assets/regions_new.png | Bin 0 -> 207 bytes OnTopReplica/Assets/screenshot-icon.ico | Bin 0 -> 99678 bytes OnTopReplica/Assets/thumbs_up.png | Bin 0 -> 2318 bytes OnTopReplica/Assets/window16.png | Bin 0 -> 862 bytes OnTopReplica/Assets/window_border16.png | Bin 0 -> 683 bytes OnTopReplica/Assets/window_multiple.pdn | Bin 0 -> 8806 bytes OnTopReplica/Assets/window_multiple16.ico | Bin 0 -> 894 bytes OnTopReplica/Assets/window_multiple16.png | Bin 0 -> 1012 bytes OnTopReplica/Assets/window_multiple48.png | Bin 0 -> 1736 bytes OnTopReplica/Assets/window_opacity16.png | Bin 0 -> 894 bytes OnTopReplica/Assets/window_opacity_new.png | Bin 0 -> 810 bytes OnTopReplica/Assets/window_switch.pdn | Bin 0 -> 10464 bytes OnTopReplica/Assets/window_switch.png | Bin 0 -> 456 bytes OnTopReplica/Assets/windows.png | Bin 0 -> 28010 bytes OnTopReplica/Assets/x-oblique.png | Bin 0 -> 3459 bytes OnTopReplica/Assets/xiao_add.png | Bin 0 -> 753 bytes OnTopReplica/Assets/xiao_arrow.png | Bin 0 -> 437 bytes OnTopReplica/Assets/xiao_delete.png | Bin 0 -> 715 bytes OnTopReplica/Assets/xiao_down.png | Bin 0 -> 761 bytes OnTopReplica/Assets/xiao_help.png | Bin 0 -> 752 bytes OnTopReplica/Assets/xiao_ok.png | Bin 0 -> 752 bytes OnTopReplica/Assets/xiao_up.png | Bin 0 -> 744 bytes OnTopReplica/Assets/xiao_wrench.png | Bin 0 -> 459 bytes OnTopReplica/CloneClickEventArgs.cs | 29 + OnTopReplica/CloseRequestEventArgs.cs | 13 + OnTopReplica/EnumerationExtensions.cs | 22 + OnTopReplica/FocusedTextBox.cs | 69 + OnTopReplica/IMessagePumpProcessor.cs | 15 + OnTopReplica/MainForm.Designer.cs | 573 +++++++ OnTopReplica/MainForm.cs | 540 +++++++ OnTopReplica/MainForm.resx | 324 ++++ OnTopReplica/MainForm_ChildForms.cs | 105 ++ OnTopReplica/MainForm_Gui.cs | 128 ++ OnTopReplica/MainForm_MenuEvents.cs | 234 +++ OnTopReplica/MessagePumpManager.cs | 85 ++ .../BaseMessagePumpProcessor.cs | 39 + .../GroupSwitchManager.cs | 143 ++ .../MessagePumpProcessors/HotKeyManager.cs | 50 + .../MessagePumpProcessors/TitleSetter.cs | 41 + .../MessagePumpProcessors/WindowKeeper.cs | 39 + OnTopReplica/Native/CommonControls.cs | 30 + OnTopReplica/Native/ErrorMethods.cs | 37 + OnTopReplica/Native/HT.cs | 14 + OnTopReplica/Native/HookMethods.cs | 50 + OnTopReplica/Native/HotKeyMethods.cs | 32 + OnTopReplica/Native/ITaskBarList.cs | 45 + OnTopReplica/Native/InputMethods.cs | 25 + OnTopReplica/Native/MK.cs | 14 + OnTopReplica/Native/MessagingMethods.cs | 34 + OnTopReplica/Native/Point.cs | 36 + OnTopReplica/Native/Rectangle.cs | 51 + OnTopReplica/Native/VirtualKeyState.cs | 193 +++ OnTopReplica/Native/WM.cs | 28 + OnTopReplica/Native/WMSZ.cs | 15 + OnTopReplica/Native/WindowManagerMethods.cs | 88 ++ OnTopReplica/Native/WindowMethods.cs | 127 ++ OnTopReplica/Native/WindowsSevenMethods.cs | 20 + OnTopReplica/NativeToolStripRenderer.cs | 587 ++++++++ OnTopReplica/NotificationIcon.cs | 84 ++ OnTopReplica/OnTopReplica.csproj | 426 ++++++ OnTopReplica/OnTopReplica.csproj.user | 18 + OnTopReplica/OnTopReplica.exe.manifest | 22 + OnTopReplica/PlatformSupport.cs | 109 ++ OnTopReplica/Platforms/Other.cs | 16 + OnTopReplica/Platforms/WindowsSeven.cs | 52 + OnTopReplica/Platforms/WindowsVista.cs | 44 + OnTopReplica/Platforms/WindowsXp.cs | 15 + OnTopReplica/Program.cs | 120 ++ OnTopReplica/Properties/AssemblyInfo.cs | 37 + OnTopReplica/Properties/Resources.Designer.cs | 315 ++++ OnTopReplica/Properties/Resources.resx | 230 +++ OnTopReplica/Properties/Settings.Designer.cs | 157 ++ OnTopReplica/Properties/Settings.settings | 39 + OnTopReplica/Properties/app.manifest | 26 + OnTopReplica/SidePanel.cs | 49 + .../SidePanels/GroupSwitchPanel.Designer.cs | 129 ++ OnTopReplica/SidePanels/GroupSwitchPanel.cs | 73 + OnTopReplica/SidePanels/GroupSwitchPanel.resx | 120 ++ .../SidePanels/RegionPanel.Designer.cs | 314 ++++ OnTopReplica/SidePanels/RegionPanel.cs | 217 +++ OnTopReplica/SidePanels/RegionPanel.resx | 120 ++ OnTopReplica/StoredRegion.cs | 63 + OnTopReplica/StoredRegionArray.cs | 39 + OnTopReplica/StoredRegionComparer.cs | 28 + OnTopReplica/Strings.Designer.cs | 1324 +++++++++++++++++ OnTopReplica/Strings.cs.resx | 456 ++++++ OnTopReplica/Strings.da.resx | 451 ++++++ OnTopReplica/Strings.de.resx | 15 + OnTopReplica/Strings.es.resx | 90 ++ OnTopReplica/Strings.fi.resx | 15 + OnTopReplica/Strings.it.resx | 487 ++++++ OnTopReplica/Strings.no.resx | 15 + OnTopReplica/Strings.pt.resx | 15 + OnTopReplica/Strings.resx | 487 ++++++ OnTopReplica/Strings.ru.resx | 15 + OnTopReplica/ThumbnailPanel.cs | 447 ++++++ .../Update/UpdateCheckCompletedEventArgs.cs | 15 + OnTopReplica/Update/UpdateInformation.cs | 72 + OnTopReplica/Update/UpdateManager.cs | 106 ++ OnTopReplica/Win32Helper.cs | 122 ++ OnTopReplica/WindowHandle.cs | 85 ++ OnTopReplica/WindowListHelper.cs | 111 ++ OnTopReplica/WindowManager.cs | 104 ++ OnTopReplica/app.config | 42 + OriginalAssets/Logo.png | Bin 0 -> 34066 bytes OriginalAssets/icon.pdn | Bin 0 -> 30322 bytes OriginalAssets/new-icon.png | Bin 0 -> 24269 bytes 148 files changed, 13290 insertions(+) create mode 100644 .hgignore create mode 100644 Installer/header.bmp create mode 100644 Installer/script.nsi create mode 100644 Installer/update.xml create mode 100644 Lib/VistaControls.dll create mode 100644 Lib/VistaControls.pdb create mode 100644 Lib/VistaControls.xml create mode 100644 OnTopReplica.sln create mode 100644 OnTopReplica/AboutForm.Designer.cs create mode 100644 OnTopReplica/AboutForm.cs create mode 100644 OnTopReplica/AboutForm.resx create mode 100644 OnTopReplica/AspectRatioForm.cs create mode 100644 OnTopReplica/Assets/25.png create mode 100644 OnTopReplica/Assets/arrow_down.png create mode 100644 OnTopReplica/Assets/arrow_up.png create mode 100644 OnTopReplica/Assets/back.png create mode 100644 OnTopReplica/Assets/clickforwarding.png create mode 100644 OnTopReplica/Assets/component.png create mode 100644 OnTopReplica/Assets/desktop.png create mode 100644 OnTopReplica/Assets/empty-window.ico create mode 100644 OnTopReplica/Assets/flag_czech.png create mode 100644 OnTopReplica/Assets/flag_danish.png create mode 100644 OnTopReplica/Assets/flag_ita.png create mode 100644 OnTopReplica/Assets/flag_usa.png create mode 100644 OnTopReplica/Assets/flags.pdn create mode 100644 OnTopReplica/Assets/fullscreen.png create mode 100644 OnTopReplica/Assets/groupmode.png create mode 100644 OnTopReplica/Assets/icon-new-red.ico create mode 100644 OnTopReplica/Assets/icon-new.ico create mode 100644 OnTopReplica/Assets/icon.ico create mode 100644 OnTopReplica/Assets/icon.png create mode 100644 OnTopReplica/Assets/list.png create mode 100644 OnTopReplica/Assets/newicon.png create mode 100644 OnTopReplica/Assets/pos_bottomleft.pdn create mode 100644 OnTopReplica/Assets/pos_bottomleft.png create mode 100644 OnTopReplica/Assets/pos_bottomright.png create mode 100644 OnTopReplica/Assets/pos_null.png create mode 100644 OnTopReplica/Assets/pos_topleft.png create mode 100644 OnTopReplica/Assets/pos_topright.png create mode 100644 OnTopReplica/Assets/reduce.png create mode 100644 OnTopReplica/Assets/regions.png create mode 100644 OnTopReplica/Assets/regions_new.png create mode 100644 OnTopReplica/Assets/screenshot-icon.ico create mode 100644 OnTopReplica/Assets/thumbs_up.png create mode 100644 OnTopReplica/Assets/window16.png create mode 100644 OnTopReplica/Assets/window_border16.png create mode 100644 OnTopReplica/Assets/window_multiple.pdn create mode 100644 OnTopReplica/Assets/window_multiple16.ico create mode 100644 OnTopReplica/Assets/window_multiple16.png create mode 100644 OnTopReplica/Assets/window_multiple48.png create mode 100644 OnTopReplica/Assets/window_opacity16.png create mode 100644 OnTopReplica/Assets/window_opacity_new.png create mode 100644 OnTopReplica/Assets/window_switch.pdn create mode 100644 OnTopReplica/Assets/window_switch.png create mode 100644 OnTopReplica/Assets/windows.png create mode 100644 OnTopReplica/Assets/x-oblique.png create mode 100644 OnTopReplica/Assets/xiao_add.png create mode 100644 OnTopReplica/Assets/xiao_arrow.png create mode 100644 OnTopReplica/Assets/xiao_delete.png create mode 100644 OnTopReplica/Assets/xiao_down.png create mode 100644 OnTopReplica/Assets/xiao_help.png create mode 100644 OnTopReplica/Assets/xiao_ok.png create mode 100644 OnTopReplica/Assets/xiao_up.png create mode 100644 OnTopReplica/Assets/xiao_wrench.png create mode 100644 OnTopReplica/CloneClickEventArgs.cs create mode 100644 OnTopReplica/CloseRequestEventArgs.cs create mode 100644 OnTopReplica/EnumerationExtensions.cs create mode 100644 OnTopReplica/FocusedTextBox.cs create mode 100644 OnTopReplica/IMessagePumpProcessor.cs create mode 100644 OnTopReplica/MainForm.Designer.cs create mode 100644 OnTopReplica/MainForm.cs create mode 100644 OnTopReplica/MainForm.resx create mode 100644 OnTopReplica/MainForm_ChildForms.cs create mode 100644 OnTopReplica/MainForm_Gui.cs create mode 100644 OnTopReplica/MainForm_MenuEvents.cs create mode 100644 OnTopReplica/MessagePumpManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs create mode 100644 OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/HotKeyManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/TitleSetter.cs create mode 100644 OnTopReplica/MessagePumpProcessors/WindowKeeper.cs create mode 100644 OnTopReplica/Native/CommonControls.cs create mode 100644 OnTopReplica/Native/ErrorMethods.cs create mode 100644 OnTopReplica/Native/HT.cs create mode 100644 OnTopReplica/Native/HookMethods.cs create mode 100644 OnTopReplica/Native/HotKeyMethods.cs create mode 100644 OnTopReplica/Native/ITaskBarList.cs create mode 100644 OnTopReplica/Native/InputMethods.cs create mode 100644 OnTopReplica/Native/MK.cs create mode 100644 OnTopReplica/Native/MessagingMethods.cs create mode 100644 OnTopReplica/Native/Point.cs create mode 100644 OnTopReplica/Native/Rectangle.cs create mode 100644 OnTopReplica/Native/VirtualKeyState.cs create mode 100644 OnTopReplica/Native/WM.cs create mode 100644 OnTopReplica/Native/WMSZ.cs create mode 100644 OnTopReplica/Native/WindowManagerMethods.cs create mode 100644 OnTopReplica/Native/WindowMethods.cs create mode 100644 OnTopReplica/Native/WindowsSevenMethods.cs create mode 100644 OnTopReplica/NativeToolStripRenderer.cs create mode 100644 OnTopReplica/NotificationIcon.cs create mode 100644 OnTopReplica/OnTopReplica.csproj create mode 100644 OnTopReplica/OnTopReplica.csproj.user create mode 100644 OnTopReplica/OnTopReplica.exe.manifest create mode 100644 OnTopReplica/PlatformSupport.cs create mode 100644 OnTopReplica/Platforms/Other.cs create mode 100644 OnTopReplica/Platforms/WindowsSeven.cs create mode 100644 OnTopReplica/Platforms/WindowsVista.cs create mode 100644 OnTopReplica/Platforms/WindowsXp.cs create mode 100644 OnTopReplica/Program.cs create mode 100644 OnTopReplica/Properties/AssemblyInfo.cs create mode 100644 OnTopReplica/Properties/Resources.Designer.cs create mode 100644 OnTopReplica/Properties/Resources.resx create mode 100644 OnTopReplica/Properties/Settings.Designer.cs create mode 100644 OnTopReplica/Properties/Settings.settings create mode 100644 OnTopReplica/Properties/app.manifest create mode 100644 OnTopReplica/SidePanel.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.resx create mode 100644 OnTopReplica/SidePanels/RegionPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/RegionPanel.cs create mode 100644 OnTopReplica/SidePanels/RegionPanel.resx create mode 100644 OnTopReplica/StoredRegion.cs create mode 100644 OnTopReplica/StoredRegionArray.cs create mode 100644 OnTopReplica/StoredRegionComparer.cs create mode 100644 OnTopReplica/Strings.Designer.cs create mode 100644 OnTopReplica/Strings.cs.resx create mode 100644 OnTopReplica/Strings.da.resx create mode 100644 OnTopReplica/Strings.de.resx create mode 100644 OnTopReplica/Strings.es.resx create mode 100644 OnTopReplica/Strings.fi.resx create mode 100644 OnTopReplica/Strings.it.resx create mode 100644 OnTopReplica/Strings.no.resx create mode 100644 OnTopReplica/Strings.pt.resx create mode 100644 OnTopReplica/Strings.resx create mode 100644 OnTopReplica/Strings.ru.resx create mode 100644 OnTopReplica/ThumbnailPanel.cs create mode 100644 OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs create mode 100644 OnTopReplica/Update/UpdateInformation.cs create mode 100644 OnTopReplica/Update/UpdateManager.cs create mode 100644 OnTopReplica/Win32Helper.cs create mode 100644 OnTopReplica/WindowHandle.cs create mode 100644 OnTopReplica/WindowListHelper.cs create mode 100644 OnTopReplica/WindowManager.cs create mode 100644 OnTopReplica/app.config create mode 100644 OriginalAssets/Logo.png create mode 100644 OriginalAssets/icon.pdn create mode 100644 OriginalAssets/new-icon.png diff --git a/.hgignore b/.hgignore new file mode 100644 index 0000000..a80c023 --- /dev/null +++ b/.hgignore @@ -0,0 +1,7 @@ +glob:OnTopReplica.suo +glob:bin/* +glob:obj/* +glob:publish/* +glob:*Thumbs.db +glob:*.psd +glob:Installer/OnTopReplica-Setup.exe diff --git a/Installer/header.bmp b/Installer/header.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7326b9c94076c8120ed837e0ccc93af0066fe9d5 GIT binary patch literal 25818 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 KA>PL3{`nV$p^qy7 literal 0 HcmV?d00001 diff --git a/Installer/script.nsi b/Installer/script.nsi new file mode 100644 index 0000000..2a5aa56 --- /dev/null +++ b/Installer/script.nsi @@ -0,0 +1,112 @@ +# INCLUDES +!include MUI2.nsh ;Modern interface +!include LogicLib.nsh ;nsDialogs + +# INIT +Name "OnTopReplica" +InstallDir "$LOCALAPPDATA\OnTopReplica" +OutFile "OnTopReplica-Setup.exe" +RequestExecutionLevel user + +# REFS +!define REG_UNINSTALL "Software\Microsoft\Windows\CurrentVersion\Uninstall\OnTopReplica" +!define START_LINK_DIR "$STARTMENU\Programs\OnTopReplica" +!define START_LINK_RUN "$STARTMENU\Programs\OnTopReplica\OnTopReplica.lnk" +!define START_LINK_UNINSTALLER "$STARTMENU\Programs\OnTopReplica\Uninstall OnTopReplica.lnk" +!define UNINSTALLER_NAME "OnTopReplica-Uninstall.exe" +!define WEBSITE_LINK "http://www.klopfenstein.net/lorenz.aspx/ontopreplica" + +# GRAPHICS +!define MUI_ICON "..\OnTopReplica\Assets\icon-new.ico" +!define MUI_UNICON "..\OnTopReplica\Assets\icon-new-red.ico" +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_RIGHT +!define MUI_HEADERIMAGE_BITMAP "header.bmp" +!define MUI_HEADERIMAGE_UNBITMAP "header.bmp" +#!define MUI_WELCOMEFINISHPAGE_BITMAP "banner.bmp" +#!define MUI_UNWELCOMEFINISHPAGE_BITMAP "banner.bmp" + +# TEXT AND SETTINGS +!define MUI_PAGE_HEADER_TEXT "OnTopReplica" + +!define MUI_FINISHPAGE_RUN "$INSTDIR\OnTopReplica.exe" +;!define MUI_FINISHPAGE_RUN_TEXT "Run OnTopReplica now." + +;Do not skip to finish automatially +!define MUI_FINISHPAGE_NOAUTOCLOSE +!define MUI_UNFINISHPAGE_NOAUTOCLOSE + +# PAGE DEFINITIONS +!insertmacro MUI_PAGE_WELCOME +;!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +# LANGUAGES +!insertmacro MUI_LANGUAGE "English" + +# CALLBACKS +Function RegisterApplication + ;Register uninstaller into Add/Remove panel (for local user only) + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayName" "OnTopReplica" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayIcon" "$\"$INSTDIR\OnTopReplica.exe$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "Publisher" "Lorenz Cuno Klopfenstein" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayVersion" "3.1.0.0" + WriteRegDWord HKCU "${REG_UNINSTALL}" "EstimatedSize" 800 ;KB + WriteRegStr HKCU "${REG_UNINSTALL}" "HelpLink" "${WEBSITE_LINK}" + WriteRegStr HKCU "${REG_UNINSTALL}" "URLInfoAbout" "${WEBSITE_LINK}" + WriteRegStr HKCU "${REG_UNINSTALL}" "InstallLocation" "$\"$INSTDIR$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "InstallSource" "$\"$EXEDIR$\"" + WriteRegDWord HKCU "${REG_UNINSTALL}" "NoModify" 1 + WriteRegDWord HKCU "${REG_UNINSTALL}" "NoRepair" 1 + WriteRegStr HKCU "${REG_UNINSTALL}" "UninstallString" "$\"$INSTDIR\${UNINSTALLER_NAME}$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "Comments" "Uninstalls OnTopReplica." + + ;Links + SetShellVarContext current + CreateDirectory "${START_LINK_DIR}" + CreateShortCut "${START_LINK_RUN}" "$INSTDIR\OnTopReplica.exe" + CreateShortCut "${START_LINK_UNINSTALLER}" "$INSTDIR\${UNINSTALLER_NAME}" +FunctionEnd + +Function un.DeregisterApplication + ;Deregister uninstaller from Add/Remove panel + DeleteRegKey HKCU "${REG_UNINSTALL}" + + ;Start menu links + SetShellVarContext current + RMDir /r "${START_LINK_DIR}" +FunctionEnd + +# INSTALL SECTIONS +Section "!OnTopReplica" OnTopReplica + SectionIn RO + + SetOutPath $INSTDIR + SetOverwrite on + File "..\OnTopReplica\bin\Release\OnTopReplica.exe" + File "..\OnTopReplica\bin\Release\VistaControls.dll" + + ;Install localization files + SetOutPath "$INSTDIR\it" + File "..\OnTopReplica\bin\Release\it\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\cs" + File "..\OnTopReplica\bin\Release\cs\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\da" + File "..\OnTopReplica\bin\Release\da\OnTopReplica.resources.dll" + + ;Uninstaller + WriteUninstaller "$INSTDIR\${UNINSTALLER_NAME}" + Call RegisterApplication +SectionEnd + +Section "Uninstall" + ;Remove whole directory (no data is stored there anyway) + RMDir /r "$INSTDIR" + + ;Remove uninstaller + Call un.DeregisterApplication +SectionEnd diff --git a/Installer/update.xml b/Installer/update.xml new file mode 100644 index 0000000..dd2bd9d --- /dev/null +++ b/Installer/update.xml @@ -0,0 +1,6 @@ + + + 3.1.0.0 + 2010-09-09T00:00:00Z + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + \ No newline at end of file diff --git a/Lib/VistaControls.dll b/Lib/VistaControls.dll new file mode 100644 index 0000000000000000000000000000000000000000..2b197bd372971504c5976d1983ba21795541ac1d GIT binary patch literal 95744 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 N9o)_wbscR&005)FFoOU9 literal 0 HcmV?d00001 diff --git a/Lib/VistaControls.pdb b/Lib/VistaControls.pdb new file mode 100644 index 0000000000000000000000000000000000000000..3fb6e9f536b9812d966ba4ab23f3b6c654433455 GIT binary patch literal 243200 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�`^Z8`Fs|~N(@U97Xa+Xhi3?cSK=jq9KV~g-~j-8BmgW=T}UTp$i6L>mr zE}`evOUBMJ#*}Na>3$MEg!?J*O8BSYRq&~B#*-=bhGa`QSG$Z|d}ZuPE8}Dy85ep# zyBQgs59iNv?1$S%NG{&7$jaD-_a3M(%4K}X^XM#7y})G*%X8weFHJbh8R4u~#-M?Z zhw~hicu0N@p{JMg{y)aZQqJ@rM$D?B`$3`1UPedfz$Ljkw2XWALvpb{JM8c0IaV0& z^1LU+hvzU^DJ!0jg!Jd0c(on`&NApt7f@;X+YZ>p-=iR5;|G^DfZoC10 zKlf69vhbzw2jFS=*Wm2eOKpU&fqxy&m?`xQ_|L&N!M_fF2>uK3Z^9X4q#lMd7D)X9 zyp$c8QkLamG&?%1p4`AYe&vj9rL4;-u6!FV`Su-nDLdTc-L(qJ$Ls!1 z{B&;3J0w;H@~CYqB-bxncw6C@a{sGvsq4R1lKN^V{5QD2AO0kq@kMGU?%2xIGa?WF z9XK{DyjzD2OYwekmUfWhU0LEYg!Bz0eUfKm;gUyl!vAu{wdJ_WC2k&HX{$O{&7bue zw^ia4=9iRNNIzv2+QcuzuSRzVT-xNbaOQa7-2FQEVeW5*ml7|jFY+GCMU=@!VeYsT zJ{qcq77jytR2E7jr z1Gom712sbuk;kBCp~KK=Xy82dbV3c#I%qSr6WR~G2AzTiQqf02v!EtOHp4y!?S&3P zC!vb@$Ut>a6SNL`4B7=9gpNZM3sR{{s18~TZGg5wd!d8SNvL8W;Xrjz6SNL`4B7=9 zgpNZMG`LD=3e*U#hBiS@LoYzbA$i%e5}E`phE_wHp`FkH=qU6)Gz5cH1I>b3ATeOu zpuNyR=r~k*CwUG{f*PRJ&?aaH^el83IstKfW{NWoa_>{s;B?uibzZ0?E9))!Icq0y za^Hp7(DN2Q722fejW@lk_%Bziw+_7u+^{F;$$O$xa(azt(UUqXdS3~8&|rY zoxj!cd`q^T(gH_EGNwCG+*LPwk?67oD$^Zya=N^_oBU0AEU`_#_C#MFu6AYN_b_Wu ze@xthm#sa8wLg4MKqBk@=d$PbZ2NWN{lN9NldKZfTk5`)8*l5nPhze*Fb9<W~&LdzBbxe82R#*jkl}5*#C56Tn zr}0(rMmS!SM&G>Bn>_V)vCHt{^!*iha&Bd=9Ie5g56-YMP1hyL!tY;$bG_q8y3PaV z9YUmUF#A>#Y@L8eKDNmpE^KlbZ*7E2Te%7@9%eWs2Uj-ip@5@SX zU&fw&QqfeYdv7Y=4jH}n{^3pxy)fcjJT)lfaO6zYZ^ zhIT-5l|tVC9}X^s`wW;jlz+E2x&N1XByG?A&!zuQ>bs>cn3gInJ?q}^J{spC;7Z)( z5_4MIM|+xNJ}cKJl!af$|Kl2Tyc`+&%uue^ z!DWsj^D3V+Nf;WRy041YK_S=`^U@CSTW@87WcGIo~UziIVjxZ%D<=7`?&#ve7_ zYWx=C+pVnD8o%G_ca`yXYc!mfj7$0ZJ3VeIKaQJUGXK^&H!k(}ty-Ar)>kiQvTyIk z=7x^8*5&K*@;Tut{)@iroNu3SRrJp10=7N1uF8xHpU&-Ay)e^xZ|ibq#c^Mfe^<0} z5Ydo43taxUT5NUB@!|TJf#^y9A}5p;_c5MtC!}Dwu2L3$hXbN(4&281R^Qr{ZsWb7 zhD?TWPRKXb#Z!AB(RUr0^GQI3@$byso6-F@l7m7K+ah|bmdE46NO!Lgnj#W{-PZGJ+gd<_N-oID8eJuE2Y5j-nOU*XByvFRoZU*Y& z{`l3(-?IBd)_)IYKq3CEpHV*idgH^D&$WK)0R|i*S7ml(w8=kV_Hn+sC)t1NUeTs4 zQz!1VIHVdo&Urt+*E=b{YDmK>q0QqPOx@*w4R&=F^b_kp zud)8C?*dKd^VUy}MOebzZvEsVi}e0S)=&Dm@NbM&_y4GK;dfhke9*b@ua41pJ!9or zd@lTt$V5rsM2xI(KNtR|*XsRt#(?5pd_Mdk@=n~}oTJ>&hmXtuIR0`CRTh4)r2qdB zgJ;n#KL33iP9p36=WFYe?6}yu-pmOkUB&j==LB;?V!}Q&r1ZL)bpD;Evlnv$$tQ`c z)bm-8=1KC|B~0PMIA;i)VTa^lmjCnxGB=QCO7h%=9+h7YPvcg?Qy9G@eKK#5i)e>u zDV1=Dr&xO426j0s-x@1LvXqsGc&<<`lV&dI-eUS)cZj;4$|*#(>|;{l}%9p`G)_}je5V^+QVHIzb8Mg?hjgfN;l|z z6<~t*{7B{R86SG9-mf+N;f6Qb^d2>wL+FbBz5&YLw(zQ~z21L|x~ENktflvLD~HME z|ESF~eq!l<(8isw&r|)k$}ODv%HK2nw3Xv3E5|n*)nDq7uiG8wzg#-r(f>D5ua8x! zY-&!&eXtWI*SJ!%i@qD-X_B#(Tx3h`x|uZnqo-+B>&g~O z)Q1~S>Aqdb7jN$reM-|`lFK`R^?r>kr=9CQE0I-f0IK)$w{icdGK?HV^v#Ouc_{hVma-z56$=%lqE&_G;?=x_%6n ztvxQW`uDcg?|qY1uf*EpOH9rM|6LnLyl4KeVwA-FadUsj+QTY~=YUG{CqW|jkk!NI zuh;wCizmB_iGIIMbrD%San}(dV{PzZzqo={3~o;*tb^iXJ4!QA!~;( znLVhQZT@#Cf79lHZ%xws*Dd}JnE&IZ_qN%wN36eogYmH7?zZ+>X6by_^k1jJiT_j9 zUf(6(<$i{h&vrTixqr#haTk?D?nhgDertl=TYFw&<@HL1x<6z2a)`1Nz3mp?Gp+xu z@2_$tmVbwA-1$nCx=*$6A04LmuiT{kT`PxMM(X|BX1}Y#<37VUS9wC;P@JUvKrQ zuhoP1tiM>rU_#`cvhvPcr}t^g|9#eep0fH;HCp{goBspmKiBH}P~(qSc|Ks_J!AD` z?)4TQFK4R{&(*8@gBGvdR&Rc`{-gPFuIoQf)TrJX<1>s8H~v$r7l({jnY}$^ z8La7AV)o~XfqK91qsmLnzW=Dd-akj(mikTd0+;_nldXQottEnW{;d!KFPSz`U?8`i#GwD4cA(ePfh{H^`8-mfwKhULrH z%ha9ygrOYYsxwg|9UHzR;y=+CaK)M@yf?q zxs+U^_dm7rVh^{rr==!m`99aiW9tnsZRIxH^!<$12X0rr=gO4-Z2d>`;X$^Up@i=7T()X-A46t@`$i@+`Sh-bMfBlB>CDyJcoBg_GiH5iR zR^_{`pLt`T-j~?;V}{k2A5BpAv6m=+Yq9b*Hz;28=8m@mwcm8J#*Wxk5`l$zN)crxLANwplLoK~?t^at_#%DjZ z^gV9%Zm8w^OQSWM?UpZ7t=y*Cc=0{6w=Y@!pKtxuQJ?@7qUtm8Zx0+2=m4?hhLOQHkDPVeRTwYwt^} zUf*T?!vkL5FIV}W4p;u7@qO05CR#Z@V)2@6<@Sb^+e?<-0ak9$Sv+ek{HH9Qk61bK zJ^Nr6p0n~?WBzZM|86VSxmK=YZC>%jwW{}&$qlvg?K@4~4_UdsY32W>*}XTcT$fmS z_VrcypO}4IYvuf$mGh!X^`B_@m$vdMv+|mJmHH30^18<4r&>8ZXm;lTOJ~OF|2}h{ zVeU(;9AC2Z&o{g$mst2#pZq)5FIoM4)c6|HA8qCNpr_Bu`xPs%SFOB;n_XUI?Tq)7 zLOHx*`N_L!;r?wamqjD>zIA}|GP8e&EPl1-UiC@!|CZ&`GnP-UTmB5SaNhj9%DrXn z^!rwB`>Y-McO>4tNaY@~{J3ke-p@9>vZzt-4_P@>*?rXzb^qyHfS zV*ZP)TqavO9=CECZF+-jz2-%W?@&wkQ(7<|1Q&e$mG|U{F5gC zeJih5tsEzRRKuwqW#OB9iMhXR<@Ab`Q>)3Xxk%+F8c$!W_fJ~+%`o}rtlY{R&+1La z>dV}*s`rSMPhTsa?bbdfn%<)(|H|zuUu*nZrFuW#a2_}JN31+Xe@^`~=Kj3N@3VaG zYw>x?>ibVD-NR?9-djVJ4;`j_k=^%QsQ0^#KX3ijp#|#xp54D`{%_7#_g5_ccH8|} z%df{Rzp6}syUDFLx%+Qa{rP5xrk2e~-Bw;+&wGu$>-Iq1!1`>qGMh>@4ZJEm%r7ac zNd0`j5h?r!_WQ-ER70Km*A1+!++Q`M&u}`NKK)XC%7?ROrq96CglV6>6#YJRgHi)G z|9VNb1pCnsn^JyJs{EegPvb=3wBD?NyE8SRHn(9+g8Ib8>9=NmtB-#5> zQdL>ervj(afqh0-r|N1-Qv?#8h*qZhRF;*Ll;EG`J%P$gD=KfQYanW={R4*}RY~_+ zTJk{Oim%>AVoI}DRgCU4t)?MWn#!gI*6mM?$`Wc-c+&~}R3$k{_(W&c{?stkE5Di= zSX$DQx~>m!RnMm`CmND7TopATCn`%nGWDXmVc|R4B?AZZk%zjv3cRy*!%FK?rC&{z zmY2+`>`%_f_0^!ComH{1V)JG!2+^>s8eRhtXo{{X)da1B$o}xI?@st0Xg_oWItEpg z=sSd!aLPyCAD8#0<(=o$W6-k@?>nWALZ!q&-UFKe$vbF^p$*U`Xbbc-^a6AcIu50< z2g9HmXcp82t%Ej0TcMrM9_Sc!5_%u1C{3j*p$2Fv)B-&WJqGQ7c0mWA!_W!nG&F+x zIRUDJnxWOuCTJVv!F!_ZOaG&BOcJqoIW7DLU@251|!7kU9Y4xNJf z)5lapQ=mqu4cZ88hIT^xp_ic}&`IchsDl1~2viA8g6g3LXerbJJq$et?SSO`#%G}u z&}pdjGU5kKfa;(*&|+vcvs&}L{WvYzE$VrUbz z1$r9V3%vln1|5e^L9)rbKQs)ghH9WGP!rS!t%Ei~o1v}HPG}FbA9@)&2E7keFn${X zRYH@X252eN0(C=K=wWCFvDn8?S%F~`=KMyG3X@pJ~V{+K_xT>ngrED4Nwcz4LuA!2JL{Jg$_W6 zp%YMPCGmttKog+F&}wJ{v;G6f^;v11*M{ zq1Dg^XbZFrdK!8G8dgnQp()TTs0nI=)0+6nE4jzA}&ic!Q3s)WWslb{A@Dbx*Rp@*TzpdHXI=vn9hbQn4TorX$Blc&%K zXw|BY_GxRoyDznK14@b3Cv1bSpBbQTdS<}#S~0nL#(=nUlHT%eK0Xx7j@7da#@`sp zo(QtKq1I*9ErdJ%#z}G}XFlAD@RIlRaPVwHx--41OZFP-nFoSfp%^tcPRPfnu0-4m z9F7M0j>2lruL053ktgAAnOFCUw<_|G$^a-(C zeyWV=l5W@C8FcfwNxCXyx;N%^M^JW(JG(tylwz+dDr36XEXS2ON<~U=&#bF5ri%@8 z-BQZ65H}xd$5k2AjqI3w*QyY=r>@GFE_Te@(1{#wzGNLw{Y(d&?mCMr9IvO2`k4+k z#C7DGQJTJ{Y{TH>3YX=c*%O|Z+f&x*K1_HS(rZk=%S}j{Z(%w zZPE2)u3DJBLOu02J=&q$%Ly`X4gGhaytSRU)v?Uf5+PHg&F(atHfX9sdB1+ z6ZOt9hYS+TdF{7$Xb5q?u70LNopYTHrZcCbE2rc*>SsFCJJ*r*1HqZwv9>D{ia8%Q z^)nsnp6fJT8tKf*r0*rK97p|3C#rw4_8>UZc}M!5s6ME>$y5IvW7J@kmtyjfsbi?0 z=}`AP&$k4ft}wEky(+yjb9bDod>mEI^r?fcUok{5d+1vV^ZF`h`q7wO);`qPniim@aM5vK9vI)5CcBtYK)8dl)LKVcbj`bz3)Tn8YKpS9dpt%I$jUZ+f&-w^@$`y`JM- zbvJq1sONRvaKV|~-rC*D$1T3Zr*2oR?r7JS-yKV3OqaGA&rdl&sK@+tkj+A278`GZC>WqgT=1t*R-cL zb2I?in2VG88wPFO)9|$E`Js3oCv`XZbiNK$lZL_cLCwr|9IIKvBJm@e(y zvEh+BtfUUZ^eImGATV2Y=HewO*bZg1eMwvYz^z9_@LY zwP&KoDYKNPo~9ALM}9lA^tM*&_|)$1&emmXyE)s!^GM}GIOE3?PF!x|63T6ymfQFn zBb$2|%yC-RJAD18qdi}4>aQ3wH;XYYPr&%u{J*AlGG*cY_kYIuzn5_xbFSib1$EQ9 zn~v=3js#hCGg<7Ahb#5AETQg{Y5lCJ#Ws5WwFKD}e6EQvspq~kq+>?)3*pz)5*P0$ zB>WMfPS5VTqqVC$J+E_GrkjyF?s3~0VRkG{dvM)dk?uk{StUVNWh`CTChyOyv1N`M z`lc>=s*d*DHys^Y6b<(ti!3h$wzb213`XXJ7v|ntS#fi++10y zzv``s`sqpZ1taNmSQExT=G1a}>Ti1V(>~^r=hP!pcdu48?Xd1H0{5~~SqmfTv#Y6O zf<32Wd0GnD(OpmdO^>?iWw6Ecd}w55eD9jtk_t+(!o)p*o%d98A$AI&Ai z{*4T4T4&c+In!rc;rVqi=u00wZ*_WkYxnvHQ~gYbHtaf6Sd&uBo;vDhI;6n!X=l(8 zoLqwnUq@Y~!^>PcRnGKjkFGxg`=^*^*H<~yr)_$j+#K`;f8p|UTV~-Z4ur~d=ECZV z^IBys4BD!PQNh}k<@E=Kp|TbRZP&*x*${@Vq36(}JXe3yi{=q0gWiJ7a>nEgQgW)e zbn`r=4TxMGs%!{jd=2f{>-jO(m_{2svBaa*A78s}Qd+~vm*c9Oihn>^*~ z_4+`NU)0{2L&#&OpXo&9S%Yo8KBZmIw6?W$ge|S@gz0fpf76R>^5GBAQ-9SPAKB!3 zZ0p(Z)Zg@?xzq8WCkLU?14I$^c&fkYMRr*B5;?cdTnJzcne!He9|$8r~al#J#szSt5gurB0cptJ?fO}&B6X%pR#<366onuf78S6 zy56%Npr`((hrRVSD9??qXO2w;Zcn#GfKeM%8Pko%PFsU+ZvIkm8lcBlWlR_Q>+v0k z{kvYqGm_MTv+#7Rr~amg-F3aJ>&;jv$I<0ZqjNm3Y%gv|uopL|y%;}%JaJjE z4aKtRrr}N?54=r_ZMY%ymv^={cemu~g}R$O>2~=Sf_xWtzffM?O`i0+4H!ea)bM9z zIHiV~m#=&3XF8j(;S!5O zO_UF#2)9^P-89@9?5vl+jJq!h^<_?GMPx_RUFB=BuP%Qo$V*uk%B#D{lOHa>lycPY z7li8K?Lys6o;-1Rc~*W&7_Sw|tGmgQFD^d@yRG3jcC3!;VsJNk?5E3b3GNdALV0yJ zdF-awUD-pb;ZN&e%YqCA2up2(`k4+k({-9DEKNgC9rZJv$X>o2bY%QByK8Q`laY2C z>vwr9^*6mqd8{eeb&cQbuG`nPF$>G80~| zHw2r0i5$4dN)VsA$mN5&oBXoEI{UGNI{PuJvo|l#%N_~wF5Hu&ZW`{*)LD|}6UfYRD&gGf@xi&liil&Z@uZQAa$VCSVtH zdh@!_T)1}i>W;9B%ym`9bkq5HqO57;baOMc`D-(s>u0i%6f(}kP+1FuI^%OqS>Nax zhRz#35D!CTEez_Ar(s(hhOT+fO?NMsW|7M`l`&m1)O819Llysa)?e<;OlQzojH@!H zOJ#7~jXB-Mbk{xgJWT3XS*)uvri<u(VlV(^by&Nq1~>MkTbRQQDTq*U*=H-Rck4sL+um^nVn>qo)Zg@IyRLVl5YMY}t}NBx^rF63#v-Fa8w_|o^wi(=;ElM{*GjE#mocwnNTV%Ht&r8p@bp>Q1x~rVQvZNaBjaB$ zk8bKrtQSA;S3lK}F|cDDEz+siV##5tzv)GD18I}P6Vfx>`k_h0*yAN_V|Zvgv%6-u z-^=sn{93E}h45=9MQK?VbQZ9=CEb-#6OoIP`l-%j(&9MBf{wJco@$hWp@)uCbLmwX)5S)3 zdN)%Difs$-Q5{h~(}~7svQJaXLh-_Z+x=&Y)jNuG{@;wcax|6xcr_VFKvEyfxNn#d^Bg~ynGA4FrDgd^3)X%KO5vF{6cwk zH~FZ391rr+s^($MBpjVztGmflKjM7+NJ2h-#PV@GVY}>U!Yh_lHw|}u6t1kj6w9ic z$wqB&e}b&KnJo3n<4{fdio;bmlTGJk#by@Es+-9!%gdffkX1L6U7jzK2HMm|WF5C? zPrtgW{EgHRk26hy{;qI-rEWpCb{TQ@{!r@Wm7)G6&&So@^oYOfZ6*&@Z&pWlV<)50 zFa*t&zxtaVX>q+2>Ao_wyJS7}H$7^&+y2!-FFfO7BsHhCJ=)8nex?)k!>{GAWb{?2 zqkg7C&Gq=rBCoGx{H0y6=7}^kuh;6Ydds76h2-xwnvaR|XZ2UTW&(7)*Mgq3x8!-Z z`kP*qwmIa#;>~5g+S*2jZzlCs*@pIZj+_1D~{wLaSVHL3-@QK zjOk(rU02qJugQ%yl66(abg_$G-ldeoHD_2?P(Ra&>U~?#DXjPEX0q7DxQ)~#w2>OM zL*pkzb)t@ZtD#Q#p0T9;X|5;x-rbfyZF;`>#Osi{hd7O&80A+r@vq?-;0Ntb%V9MfbtqX+{Y{U4CC=}Q!x$#tmZVKw zYbA>{BHu19DjRhR;nv7{qRT##f>SnT0AKpmaEsle_nJjtl z;qFb4RX3B3>gWi{xHw#OGuddoD`T&Vb!^Zjtxqhh*CF*YooKv!BCpfl)!n(4*N9|G zUQSQ_RWD5%ygtad>f+E=XD8~Zzv+=4Z>KW8(l|=%&(M<&JrFeU&qP#uuK>EkR%UpP3yU zx*aT+r|M@qj5A#4{Tyab9rZIE#v2~bX6DYvb=s{MFRfZ*7gPRVr!JoDrfr3^ZG9b{UZDXeU&r)=DdDAdqH}ne{OnRF}})~ zJ`wZ$dp777zhd>f zUA8gITF*Dy>DBM)%C}vWFj_Z=MN4;Wi1Tax2K_zccnD_i@IcU{wmryBQ{BXuAQlj>C(1cSI#O? z{4?vSjOo&@ec$vH-kD0owbzYiFAwH37YCKMaA@luj+}Xt7>6^2qw*FG?ceiq0`FF7 ze8l3%wrV!}_tf&Z4NzGN0~_FB>efZ!oRMx`44tRecXRc^GW_NikD2iM@sK4pa z{#{SbWYK&`)>D7ei`sqZpgi6ktQ)Lo^}Ugq<@ZE;6;;mkqjoRvW;yQJ^i|IEqjrBP zhc9^++0H1b0ON{ff3-c^0vZ*;Mg6e=2ACw0+la z9PHR<*H<~ykJ|ssL0|B_lVJ@qJQZo|&;{RonX9aY5w-tWLp%;29EQqT7*YF|b8fW0 zg}nof9kNAXPI^6W{N?JL%9w7{{wED}{4?vSjOo(;J^!8#x|06eJL)ql(oCinq?=ni z^pJym+Evc&eotW_!!-38G6drRV=2^GV<6eW4g3+*X@6q zW1m@9WlWd$?PHS-L3bg~Z9Cdmw62`lmd=kY)z5Tj+pZ&L{9G*0#}jna&vb~r$5GDy zxj3v{$kVyG?2F)mERPG<(stdBsf_93?s&t7i!ODl+w`J5Q9sj(+VRGqv#@p5T555| zj;bhnUs7dMx0!bAWhv(eU7T{=s2UXQH&8j#kJ|ET&JoJ%7g(VX15dBYnLcgV(<^5Y zUF`cU!yy~_JW@Z?q5ZnOZRE@$*NI}B&)eW{dbC-eo4yd-Z%^Obx>8;<%gL*|$8ZczMQwAd>+u9}&Du;Rwyd5XDr35|O|Lt07E-`Gi>}I; zF748FHwIl9NU*=&Y%18)=6qUJMs+jPAtq}vZ6lXPbys zvL_N`)y-tFr=A~jK9j6b=>FBh{7^sB!H#-dN-68UMQau6rm{Da-(DxT1zEB6XWyUF z*VjbIcaNLwLFsGji%I)aaysO{>l_X`G7e1MpOVv|9K4;^^>G}1v0vZJ&DT-&x3op= z?O0CF&mVEkyspZaZd68+UsojL;T4(>wdrVlIgm76q4|(_rjz;yjM{W_zD>*X5!DNC zwddNjx|@7t14fXZD|9_X-h$7`tGmj}+|O;s#vm_ct1||-ZR&3Fw11bEwSEhKdHl|# zx|=*Uz~vh+5_#;eMn4xHbvOB_UpO7)B|cJ*)o7E=IX(3^J?f~JzwB|;cqQwpzv)pw zJ$?s+Uao)0;i$XGQ#V~+)_Jr%*nSlCKk9Ds)JvD&7UZQa7s{)<$x|O)zM|anOT}~X zQFoK44!XS5!9EG=r|KT$YiiQ@c7H0!7p^s{o5?QA%Ssr0UA@QqS zUqQW7cMZEX2S9g<->h-Q5 z-?N^oyUA0py}n8P)$}IUH}yBYsDAGcdQu;f_0-?=sNbHRF%(95ejJml7wT^E(YQy- zZb{uVqM}vRRtG$tYcH1laoQBwb0DY1wanNU@>ZdyLUbM$e_G}CZWm)*_ zRozWK%Ii7gwaOQsccbnmAB`{f1bMLu4IEfk_`FX2Oox2-bX1bhiqTU?{Y-~EcAbZF zI_z>|5Y-l)>!*IE6ZLOmkA{SL-}AgB^)sEQe-m4zaqFq0ex`#R@jh7WQ65Kk(3wfi zm5<7pZq&!sV}tT|$+{|Iy4V+=TkH+GlK1(YdjYp-j;nH}pU&&oV9ye=NBv9(d~g59 z3vhDV_i|;S{-#I!ay>cgOY=jpdg`ga>cwYK9SC~bFQ%J2?rUV7l_s3SQ-9N=tvTKV z)|C}+VM~&p`kP*4-?jz4Jl?z&E6AWcp8A_!WZwp|mK@_1>#4u#(e^x^*`Sxlvtt@_ z=~I8xi|pLVBD`Wf^*24*pyM^M_N?_p^TkWT>x%lDUNp{>v#aCu73-r z{Y@`whYgo{eVNhTJfp3xb#+&3SJWod-}It(xIgGgeM#0+f77EKdRf#Ac0Bpm{WRuc z_vG?Z{Y;1U=Q>-1j$rlFQ9sj(+MS#ertMC2@(J^Lss5%HwYzme&#`*yslVyb?tBb( zJm~d2=Sba6KI-!thD!XV|Nrfsd7Ko**~c41Bp#@EfLB}*Ic3?|bB2KI%+72;P?jS` z%wSk{SJ<%Zk{vFUL_DHMOo9dyG-$jf9tjEtVj>blB8eI`qCw3;PEAxiUX2=~zTc<2 zYI?SItK82g%^&akq2RaO)4zJ2r|zS>x|)Uf3nwp-XYC}q4qLz}8FF8z!&`xjKY!Ii zS|;F>OhG-{bhK~Bmyve|>KDo_+i*XhfDhzke=TimZGVxQ+^W_gbFVL4iyUxDhI*#c zpx1yv#$2}&Tvz_7WBMM*ietoo$N5cgP5CVg{WARW1{r>XYk}WJ>W~gcIpg6$gxw5B za9#PQ?&$g|bL~O?7&6_wm{t8>?sPM1j}SYWT?JR!KQ{8NXt|4qJsvD49ia9#PQ?&$oK z{5YbIH3f%)^5?m&S}dI<$-QIaH;O+#}Fw`3kxZ4c_6% z>kY02d0$HX)MZ7&(a)RIwnUm+&I`lQPw6frpR|9;|9;+h-VY80wEy6Gpudc|Qjv)x z6}XQ+(#POT{|>I6YBJMxb50cg!Kl9Iwq5|jd$;54Trr|BQ;(~<&UR5$(T3eOI zmN>0b_8c$#?UUXV{~I%Mz7qptV|R(o#`N~4rn8!xmU!hA>9Vqv6dasef2p_A_vLxB zIEwy~3akG7dt}A_bEXU%M=eaY)3%pYRmNk9xQfxo+01%#mCfnO=8Bi@9iT3G9n&p* zcdfW)E)Up4o5{-Bs?u~Sh$O=9cqTj9l=NQmiC7P^&ZD@lZ1CC^H_ZGjbq)SW7%W7rA0GvBMr+cfE{^j_U)AiTe;zJu(?7z4* zzNv-vL0)ZDZL*}MLgkj*&LmIPJd4|a5wWw}v&F-(Q{4HTMK4}alSsvqHNM7=i{ofd z?wgB~df~@$ z%FHU&w$v+4#45@%>9jKQF=_T0Z-t6e3lWkyjkl(mevXwZu4`_Px2AJmMP_gG-UTgy@MXM?pK z7uYEF&(COTT@*I<37V*QRYmv8UyZj#^~-YKSM2U^)?xk1aBWSjG*MNR3<&`PMY~tMUs`si@ zddk?qw^3c9ta`?nAb1zPn8)8i=aTc1F-8M5@`NIAZd;Y!D=H0lsq(SbTK4sAl)C!X zrWUWFES4!LFYRXgG{gVamxQPf;|PgUk-g2G%M12?8SzU?qrXMASC*7qqF(N_BnkDic+ebUI1jn2Y)bGnxDLu zOii+zbC(1kCH2kt-=mbSV28Dj4)ZN2oBrH9R$f_>sHo`9xbbtH%1E_!TpHTaZKXUl zQ3WKODoNIsC%QA9`jr38Pl@5dB%-9_Dr-7U&Z%8Ryi7V7`)}rduUqSPbo0MDYdoTv z|E;x`gS|HYn`JK#1vaCd|2^3qo56zea2ygZt4JrRWIIpax$AOue$F`y-%h`6Vs3<8fsqE(bY^wL98Wn6;^?JEIAJwcPo~W&=NK~r9qdOk8 z-U7)eobJ!wwdR>>Co28 z#GP(Bk;$YgN=mymhMVX;rur30Ke4sc+E0ruHL?ok@Nyg9E2%20^b8Wq~#e+d^x9)(P>##MY1FlH1z0jr{m}IWqu5PC2l3wGB0uKU`s{@{;kaN zbfT6ICU&#`Jk5KZJQH^rV=l4T=c~3kuGj>6i?3KsS*D^Qf0NN2x2pU+V>~v*&I)V2 z>QEm2j?|0SrW4FTQ^<*P+bZ+#Q;EM`7!q4`);#OnPX|xcRZm@7lZw@p$GSIPi~Ha3 z7Q1>bwaZ%P3fe5DH@pKuVW}xem1dGjQGj#Dahx|-wI4rGaXic#N0pvaGd0t_suX2E zRjzKfxNS`9G{0D7Esx{b@caU964$o`GmMf{vZ}JGlnfjBK=B)r2jU8DLk1W4E1X=n zaV!mIFNV%e>faM7 zl)Kx(-4CZHX)3#YQPKY%nB)KQKlQH8g7ln)hodaqBDnPy?gZMpBE>Om&pWX<7H)`~ z;7qQOz-fDG>gM|s@8`qmbTPT*aD#oH@{NhmiQMfDxqILSS>&FAn_}Sx5^!5shQST6 z$R**1TDWGoA&OJCYy4jlhgEP=4#k<=gK)YNGP&0sawm{bHl3%#jSb9ovUdgC3=6j# zPU@LBGb|s%jSHxJ+R0Ce-&j2B`$sxmHTN|x=o`)^cb$W~15Tb%h%@CLbZ}3@Y5)2t zIwYLWbAjbHzB4&l@20Qmqj(g#*SKJl`@kXBi$=*N*AGtH(MN6X7>C>thg`8kZj3{& z29E!}Gs7~`Ave__caB4@9*)OSUD{jZkXz=ElkY3=YE_py?{dgJGBMm z8t&%vQH)D@`4gP2%XbbMY}_&jcNv_mOssOqt#xoW!u7X=b2FSRZy$$~XAt7d_`OO7>1#Tk z;!o(1mC2x4ULo*1+k$*yL_@$bH`-_hX0LBM!Np4!PY9xmO)>?>Xdp zGkCG3OFuYUx}4~c8{v?PJLJ+1xhZhAw)IPJ{P&%ie^*0%#=`v_uH3>M%fy#t^PQ=4 zq=Tz=aMK*zc@FM;xF$%15SrsA4QGSzxUyI-QIU5cPs;jcf=FUg>g!z*YtihikLgTMkDQeP`-i183|1Zg+5-9o!BF z_Z(b{B`g^RA$okxa4hd6`J3VHQddmwNGA6B!Mn*#gwx|5o#vuObk1;abKv;zJDuk8 zL*%{!p~p)mcQc$GGnm}>;B?-a+`SIDEe^SD4!K7ha!)wqo^{Cm0d9z&Dq&gF>9RkS zNavp!zhQ9t-i*mz0yoj3^Km#`c6B~#dw+%-spL%V(4sIO7^dc(9D?Z*`lexmV%pyODzb#Sxbbl#eBa~yJu9NeW2oh#vV+)aDeIOMK%$lc_STknwD0B1|H ztqz?(cgQ{MkbB-C_mV^IHHX{>4!K@~?eXgeXUq3v9CAY(a>Wk0F%G#Jhujp0+}RGf z^Bi*X9dZ{sE}nLy*|Uk`IyPggwyfUeWaL| zwtODk<0>pB7a!qyGcDX2INk4=a<{|L9Qe-U9)&y5!aW10$JM6XpWyU3+2lTi)A7^e zCNUxLJNVRaK4x+w;B+6L@8xQ_GB|xt$K=L1xD1@`8}+?ot#dk@e)eK=ZE!k%CU+H_ z9_Q+N@mlA#1v*V`6Pyl<$^8tjSd`#Q?hUw60o92sVvt;B;ifsb%i(PHHo@t*n_+nh z?gERwi6}h7!mWkV`F)J?BL^uH_rU2oW^zx!C6s@Y>qDZfws7m7+yH@R^RxfZxui@p2c`YKM3-Q}mG=QcQ|Prfs`Kf>v@ zK$m^-D000@!~8S3DR8b=Z3rPS+z{N5#0L z^~-QNZ%nRtc^E&FI|NRbd6PTJA$Pn(ZV=q*eyW6Ri4JEgoQ?yx9P&=$a4DQF*SZXg z2jQ+R;ELp;a>9MLK<7!C;3(Xt0y*8zh!^1=hHI4{xRZl}|5vz@im;t9x!#pwdYarJ za5_Cr?kI=c@ea8`4!IFBzziPN6raR<52dCp_%E>$Vx*nO_ z7vOX|XmaPn>1+BZ;gWD(57$qA;7slZaJtOuc1`?=++z;zA8<+Wh|}$ioQvG>s&E`> za_7S7KEUMW!No-h&g5=!$Zder`C!Uzhf4=4JL&9$F`X`^+_7*roy87L-sIM8h^ccX zoX%U5Yjkk)9QH19$X)J`yUrnZlSA%)hulvba!|r?^?lg%E&J5?|vElg4 z9&ArTi%Ji zHE^@k6_a}#PS3ea?jtz<`_AOXjtl2wCN}|&V%VkJC2$P;y5u&(+2XJbPPg->y&Z5m zT}3hdRK?zNYh>goX#7QJJ-Qo;ovsFF`V)p)7iX}y!}gcSO%Gz<(+UJ zRrAbWT`{@Y$xv=&UMeV`UxqtQT{F3B;XbLjVnc2-9K#gfncORIx}7k&f5Yj%*yKKu zvdi^{v&jvH({VO+PKB#e;ned1`Pl>9441QTN7Z=V_rw#< zgFCpm*;&4^xU6(2e*Q^z@*+h>jj690rS8E;6M_54%iA#;3iKq*bI6e*cmgp zb|-iXOgM;fKX^xB;=zOmyaA@tsNDhH1~sFzeCVe=mz~rwFPm;_SR@}&&t-W@{tHbF zoCL3q<>dXUT(YUXE!$yJm~8m6OSYz9Q<&n0+<&WCZ~qd3D&B0$7VPvAfyQ8~i3k)G zq@UXOAOfWwUYU&@N{qK{d{gA9}Q}V zKz-qsCI5Ymlxn0lB8ebu`PcKZ>NWao;g%y27zhhjr@cj@EMxe*|)aLxw91-XXlQ$?8vIR%*$>+VKJW{o~NQ7H?M4&#uYexjS3U=p+K%3r&BMMdd z?Ju(Vof#rf+i?em2oy?rWXH1zG^vVMu&F`>N;_1?VE2TGw5oj)f)TKc<0H}=B!k)y zAtIfmg4%;10)-v&$#0Y*P#QLKy2&WqRUirjVSQ5D2SlJ$C57x05P>#hM*z|2efZjk zuQBaquC4#b2~H;cftyos&TO(?W|NEAIF`TbgpC z8b)Uq`E%43=BSPNIqCvEM_tm~%GW1y=gAzk3$2axbaPtjbGfMNh__C~eV&u70# zKh5Sg)w5mq?3T8Mc@ZX}4pZBlY=b}1-y0F%m;bU8bG9I@$yNEtXSC%j*Hqu$Fn1vx z;_RS9jIOS=H|5$EwKp{7vJ2EErp1N#3!*dBAUl{w9{hro4^Jab`~@w|3-?Clk!Egw zefyl|)?Bn9UML$sN@>Zq1z%;z&h|gQ68wtRR#<+T^ahBk3gq@uL82F#gVmgxzeiU> zTm3ITXPa9|KiOb9;#^s*zPz$Pw*8DY6T%Gl&l+3mXGd)!XcV#?TB5zvP=t}urMHcw z<6}pAqxec41T;>1AJ2R-jy8)_;abo}@rqWnL}B6FMe}F3);I6vawTm_gZ~wlXrs_M z%jd8|=ibQgwp?z}f(32u5$6HrXMTNaV++H(h*O5|FGN4U4%0hmFC~{&sZzqZm*TWUTe~WQ%w36Xax?pNk@RTdM zGF4!SF`ewa7;UO`7_aQ50jbLQb{@Y+8~C~TjU4l1Mp=nc3s{uk{qv&_-XA!p?RdRP zMLZ7Uf zyAru0IGzhRlH=FWOBB2~;XjdMPks#IcnxwRI37Xxhj0{~B$f9?{tV!FF8)s8_$K}& zEpH@nCv$us{j%!xUcxP_nfl_tKgZvqXBfx8t;edY>A4fkV(GmwJ@E4+ z(cgxav-$ad1+q5gR^l>=q}?gSh*Y_iYqCaYH7VYU+=+uMMPv)tqzKHy-%d_7VsnR z0QfPG@IMH)f``C1@Kf+G_!*FWs(%iC0UiN6z%M}=;VlQUhK?oS{$3MO4rMK+toLQ< ztG@>k%TE1unJiKCszDNv%-)4y8TbMa59kENVfQ`%n*)}A5xRZPQQjq?W4H)?{baeD6LBj)POX|fLicH zuox@>OTqczBCs4>3@!neg3G{Hz~$fyumW5OR)VjBtH9U5*TFZyDsVNp27D8&25Z2# zz_-C#a4onFd6d51Gj@azVcQhx6R z_koRI6SyDz5Nrlpz>mNK;K$%6;6bnzJOs9ZpMr;%t%XTfj5F7O<99=rg42YwI!0R9MegFk^kgTH{kg1>>kgBQU| z;2+?h;AQX%copmcuYuRW8{kdwKj1C!Hux8K2fPd31OEo^ga3dJz=z-?;Pv1?=n3`% zy}3f z!HJ*C zuoRpRE&vyTW#CKT%itog99#@80hfZyz*oTK;0mw;TnSc!uY#+<*TC1oH^3@zHMj=tOM7B8^8q=zo$9w1kZqH!9KSy1@@)Dz7*J(0{c>6Ukd#H HPl5jhB3wyQ literal 0 HcmV?d00001 diff --git a/Lib/VistaControls.xml b/Lib/VistaControls.xml new file mode 100644 index 0000000..cf4c8fb --- /dev/null +++ b/Lib/VistaControls.xml @@ -0,0 +1,1022 @@ + + + + VistaControls + + + + Common Task Dialog buttons. OK is the default button. + + + Represents a custom button shown on a Task Dialog. + + + Instantiates a new custom button with an ID and a text. + Unique ID that will be returned by the Task Dialog if the button is clicked. + Use values greater than 8 to prevent conflicts with common buttons. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + Instantiates a new custom button with an ID and a text. + Common ID that will be returned by the Task Dialog if the button is clicked. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + Unique ID that will be returned by the Task Dialog if the button is clicked. + + + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + + Adds a handler on the Form that enables the user to move the window around + by clicking on a glass margin (or the title bar, as usual). + + The form that will be controlled. + Margins of the glass sheet. + + Eventual UI elements on the glass sheet will prevent the handler from receiving events + (except the ThemeText control, which manually redirects mouse events to the form). + + + + + Adds a handler on the Form that automatically paints the glass background black + + The form that will be controlled. + Margins of the glass sheet. + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + Control style and notification constants + + + + Stores a Task Dialog message that will be sent to a dialog in order to update its state. + + + Simple int, int message. + + + Simple int, bool message. + + + Simple bool, bool message. + + + Simple bool, int message. + + + Simple int, long (hi word and lo word) message. + + + Text updating message. + The string will be marshaled: the Message must be correctly disposed after use. + + + Navigation message. + The config structure will be marshaled: must be correctly disposed after use. + + + Text values that can be updated. + + + A standard WinForms text box presenting the common Vista "search" interface. + Reacts on user input by raising "SearchStarted" events. + + + Puts the focus on the text box and moves the caret to the end of the text, without selecting it. + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + Gets or sets the background Color of the button when the mouse hovers on it. + + + Gets or sets the ForeColor of the control when the search box is active. + + + Gets or sets the BackColor of the control when the search box is active. + + + Gets or sets the ForeColor of the control when the search box is inactive. + + + Gets or sets the BackColor of the control when the search box is inactive. + + + Temporary ForeColor property of the control. You should use InactiveForeColor and ActiveForeColor instead. + + + Temporary BackColor property of the control. You should use InactiveBackColor and ActiveBackColor instead. + + + Gets or sets the text that is shown on top of the text box when the user hasn't entered any text. + + + Gets or sets the font used in the search text box. + Equals to the Font property. + + + Gets or sets the font used to write the "inactivity label" on top of the control when the user hasn't entered any text. + + + Overall Font property of the control. Property changes are forwarded to the ActiveFont property. + + + Returns true if the user entered some text in the search textbox. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + Displays a dialog box that can contain text, icons, buttons, command links, radio buttons and/or a progress bar. + + + Initializes a new Task Dialog instance without text. + + + Initializes a new Task Dialog instance with text. + The main instruction to display. + + + Initializes a new Task Dialog instance with an instruction and a title. + The main instruction to display. + The title of the Task Dialog. + + + Initializes a new Task Dialog instance with an instruction, a title and some content text. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + + + Initializes a new Task Dialog instance with an instruction, a title, some content text and a specific button. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. + + + Initializes a new Task Dialog instance with an instruction, a title, some content text, a specific button and an icon. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. + The icon to display. + + + Injects a virtual button click. + Numeric id of the clicked button. + + + Injects a virtual radio button click. + Numeric id of the clicked radio button. + + + Injects a virtual checkbox click. + New state of the verification checkbox. + Sets whether the checkbox should have focus after state change. + + + Enables or disables a button of the dialog. + Id of the button whose state will be changed. + New state of the button. + + + Enables or disables a radio button of the dialog. + Id of the radio button whose state will be changed. + New state of the button. + + + Creates a new Task Dialog setup and replaces the existing one. Note that the window will not be + destroyed and that you should keep the existing TaskDialog reference (event handlers will still be + registered). The existing Task Dialog will simply reset and use the options of the new one. + An instance of Task Dialog, whose settings will be copied into the existing dialog. + You may safely destroy the nextDialog instance after use (do not register to events on it). + + + Adds or removes an UAC Shield icon from a button. + Id of the button. + Sets whether to display a Shield icon or not. + + + Sets whether the dialog's progress bar should be in standard or in marquee mode. + True if the progress bar should be displayed in marquee mode (no explicit progress). + + + Sets whether the dialog's progress bar should be in standard or in marquee mode and sets its marquee speed. + True if the progress bar should be displayed in marquee mode (no explicit progress). + Speed of the progress bar in marquee mode. + + + Common native callback for Task Dialogs. Will route events to the user event handler. + TODO: Currently unused, would need complex marshaling of data. + + + Prepares the internal configuration structure. + Allocates some unmanaged memory, must always be followed by a PostConfig() call. + + + Frees the unmanages memory allocated by PreConfig(). + + + Displays the task dialog without an explicit parent. + + + Displays the task dialog with an explicit parent window. + Handle to the dialog's parent window. + + + Displays the task dialog with an explicit parent form. + Instance of the dialog's parent form. + + + Displays a task dialog that has a message. + The text to display. + + + Displays a task dialog that has a message and a title. + The text to display. + The title bar caption of the dialog. + + + Displays a task dialog that has a message, a title and an instruction. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + + + Displays a task dialog that has a message, a title, an instruction and one or more buttons. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + + + Displays a task dialog that has a message, a title, an instruction, one or more buttons and an icon. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + The icon to display. + + + Is true if the task dialog is currently displayed. + + + Gets or sets the title of the dialog. + + + Gets or sets the icon of the dialog, from a set of common icons. + + + Gets or sets the icon of the dialog, from a custom Icon instance. + + + Gets or sets the dialog's buttons, from one or more common button types. + + + Gets or sets a set of custom buttons which will be displayed on the dialog. + These buttons can also be shown as Command Links optionally. + + + Gets or sets the integer identificator of the dialog's default button. + + + Gets or sets a set of custom buttons which will be displayed as radio buttons. + + + Gets or sets the identificator of the enabled radio button by default. + + + Gets or sets the text that will be shown next to a verification checkbox. + + + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, + when the dialog is in expanded mode. + + + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, + when the dialog is in collapsed mode. + + + Gets or sets the icon shown in the dialog's footer, from a set of common icons. + + + Gets or sets the icon shown in the dialog's footer, from a custom Icon instance. + + + Explicitly sets the desiderd width in pixels of the dialog. + Will be set automatically by the task dialog to an optimal size. + + + Gets or Sets the Main Instruction text of the TaskDialog. + Text written in blue and slightly bigger font in Windows Aero. + + + Gets or sets the Content text of the TaskDialog. + Text written with standard font, right below the Main instruction. + + + Gets or Sets the expanded information text, that will be optionally shown + by clicking on the Expand control. + + + Gets or Sets the Footer text. + + + Gets or sets the current Progress bar value. + + + Gets of sets the minimum value allowed by the Progress bar. + + + Gets or sets the maximum value allowed by the Progress bar. + + + Gets or sets the current Progress bar state. + Determines the bar's color and behavior. + + + Enables or disables Hyperlinks in the content (in the form of <A HREF="link">). + + + Gets or sets whether the dialog can be cancelled (ESC, ALT+F4 and X button) even if no Cancel button has been specified. + + + Gets or sets whether Command Link buttons should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). + + + Gets or sets whether Command Link buttons wihtout icon should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). + + + Gets or sets whether the ExpandedInformation should be shown in the Footer area (instead of under the Content text). + + + Gets or sets whether the ExpandedInformation is visible on dialog creation. + + + Gets or sets whether the Verification checkbox should be checked when the dialog is shown. + + + Gets or sets whether a progress bar should be displayed on the dialog. + + + Sets or gets whether the user specified callback (if any) should be called every 200ms. + + + Gets or sets whether the dialog should be positioned centered on the parent window. + + + Enables or disables right to left reading order. + + + Gets or sets whether there should be a selected radio button by default when the dialog is shown. + + + Gets or sets whether the dialog may be minimized or not. + + + Occurs when the Task Dialog is first created and before it is displayed (is sent after Construction event). + + + Occurs when the user clicks a button or a command link. By default the Dialog is closed after the notification. + + + Occurs when the user clicks on a Hyperlink in the Content text. + + + Occurs when a navigation event is raised. + + + Occurs approximately every 200ms if the Task Dialog callback timer is enabled. + + + Occurs when the Task Dialog is destroyed and the handle to the dialog is not valid anymore. + + + Occurs when the user selects a radio button. + + + Occurs when the Task Dialog is constructed and before it is displayed (is sent before Creation event). + + + Occurs when the user switches the state of the Verification Checkbox. + + + Occurs when the user presses F1 when the Task Dialog has focus. + + + Occurs when the user clicks on the expand button of the dialog, before the dialog is expanded. + + + Occurs when the split label is clicked. + + + Occurs when the split label is clicked, but before the associated + context menu is displayed by the control. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. Exposed for backward compatibility. + + + Provides data for the clicking of split buttons and the opening + of context menus. + + + Represents the bounding box of the clicked button. + A menu should be opened, with top-left coordinates in the left-bottom point of + the rectangle and with width equal (or greater) than the width of the rectangle. + + + Set to true if you want to prevent the menu from opening. + + + Margins structure for the Glass Sheet effect. + + + + Returns whether a point in client coordinates is outside the margins defined by this instance. + + Point in client coordinates. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Common Controls library version 6.0 not loaded. Must run on Vista and must provide a manifest.. + + + + + Looks up a localized string similar to Desktop composition is not enabled.. + + + + + Looks up a localized string similar to Desktop composition is not supported by operating system.. + + + + + Looks up a localized string similar to Unable to get thumbnail's original size.. + + + + + Looks up a localized string similar to Unable to update thumbnail properties.. + + + + + Looks up a localized string similar to Source and target windows cannot be the same.. + + + + + Looks up a localized string similar to Native call to {0} failed.. + + + + + Looks up a localized string similar to Failed to create TaskDialog.. + + + + + A vertical panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. + + + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. + + + + + Constructor + + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. + + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. + + + + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + + + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + + + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + + + + + A Label containing some text that will be drawn with glowing border on top of the Glass Sheet effect. + + + + Size of the glow effect around the text. + + + Enables or disables the glow effect around the text. + + + Shadow type. + + + Gets or sets the horizontal text alignment setting. + + + Gets or sets the vertical text alignment setting. + + + Gets or sets whether the text will be laid out on a single line or on multiple lines. + + + Gets or sets whether the text lines over the label's border should be trimmed with an ellipsis. + + + Gets or sets whether the text should break only at the end of a word. + + + Gets or sets whether the text should be trimmed to the last word and an ellipse should be placed at the end of the line. + + + + Determines a window's Flip 3D policy. + + + + + Default Flip 3D behavior. + + + + + Excludes the window from Flip 3D and hides it behind the animation. + + + + + Excludes the window from Flip 3D and shows it above the animation. + + + + Handle to a DWM Thumbnail. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Origin region from source window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Returns true if the handle is valid, false if the handle has been closed or hasn't been initialized. + + + Sets the thumbnail opacity value, from 0 to 255 (opaque). + + + Sets whether only the client area of the thumbnailed window should be shown or + the entire window area. + + + Area in the destination window on which the thumbnail should be drawn. + + + Region of the source window that should be drawn. + + + Sets whether the thumbnail should be drawn or not. + + + Gets the thumbnail's original size. + + + + Applies a glow on the themed text. + + + + + Default glow size. + + + + + Glow size used commonly by Office 2007 in titles. + + + + + Precise glow effect. + + + + + Instantiates a new glow effect for themed text. + + Size of the glow effect. + + + + Gets or sets the size of the glow effect. + + + + + Static class providing information about the current support for Vista-only features. + + + + + Gets whether the running operating system is Windows Vista or a more recent version. + + + + + Gets whether the running operating system is Windows Seven or a more recent version. + + + + Is true if the DWM composition engine is currently enabled. + + + + The labeled divider provides a Aero styled divider with an option caption, similiar to what is seen in the + Control Panel dialogs of Windows 7 and Vista. + + + + + Constructor + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + The position of the divider line. + + + The default value is the center position which is consistent on how this type of divider has been used throughout the Windows + 7 and Vista UI's. + + + + + The color of the divider line. + + + + + The text that should be used for the caption. If the caption is set to blank and the divider position is set to center then + a simple divider line will be drawn. + + + After a change is made to the text property we want to invalidate the control so it triggers a new paint message being sent. + + + + + The positions that the divider line can be drawn in + + + + + The divider will be centered after the text caption and will begin drawing after the string. This is the default behavior. + + + + + The divider will be drawn below the text caption. + + + + Gets or sets the cue text that is displayed on the TextBox control. + + + Gets or sets whether the Cue text should be displyed even when the control has keybord focus. + If true, the Cue text will disappear as soon as the user starts typing. + + + Sets the origin of the thumbnail and shows the thumbnail on the control. + The Form instance that will be thumbnailed. + True if the control should automatically update itself in case the thumbnailed + form changes size or is closed. + + + Forces and update of the thumbnail. + Use this method if you know that the thumbnailed window has been resized and the thumbnail control should react to these changes. + + + Gets or sets the glass margins of the form. + + + Gets or sets whether mouse dragging should be handled automatically. + + + Gets or sets whether the extended glass margin is enabled or not. + + + + Gets or sets whether the window title and icon should be hidden. + + + + Main DWM class, provides Thumbnail registration, glass sheet effect and blur behind. + + + Registers a thumbnail to be drawn on a Windows Form. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The Windows Form instance on which to draw the thumbnail. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Registers a thumbnail to be drawn on a window. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The handle (HWND) of the window on which the thumbnail will be drawn. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Unregisters the thumbnail handle. + The handle is unvalid after the call and should not be used again. + A handle to a registered thumbnail. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + + Enable the Aero "Blur Behind" effect on a specific region. Background of the region must be black. + + + Disables the Aero "Blur Behind" effect. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Disables the Aero "Glass Frame". + + + Disables the Aero "Glass Frame". + + + + Sets a window's Flip 3D policy. + + Form whose policy is to be set. + Desired Flip 3D policy. + Is ignored on OSs that do not support Aero. + + + + Disallows Aero Peek on a window (or allows it). + + Form whose Aero Peek preview should be disabled. + True if Aero Peek should be disabled for the window. + Is ignored on OSs that do not support Aero Peek. + + + + Sets a window's state in order to exclude (or include) it in Aero Peek. + + Form whose Aero Peek exclusion state is to be set. + Set to true to exlude the window from Aero Peek. + Is ignored on OSs that do not support Aero Peek. + + + Common Task Dialog icons. Determine the look of the main instruction. + + + Returns the active windows on the current thread. + + + Class that aggregates the results of an "indirect" Task Dialog. + + + Results returned by Task Dialogs when closed by the user. + + + Direct Task Dialog call. + + + Indirect Task Dialog call. Allows complex dialogs with interaction logic (via callback). + + + The Task Dialog config structure. + + + Flags used in TaskDialogConfig struct. + From CommCtrl.h. + + + Notifications returned by Task Dialogs to the callback. + From CommCtrl.h. + + + Messages that can be sent to Task Dialogs. + From CommCtrl.h. + + + + A horizontal panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. + + + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. + + + + + Constructor + + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. + + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. + + + + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + + + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + + + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + + + + diff --git a/OnTopReplica.sln b/OnTopReplica.sln new file mode 100644 index 0000000..1c732a8 --- /dev/null +++ b/OnTopReplica.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C# Express 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OnTopReplica", "OnTopReplica\OnTopReplica.csproj", "{E626BD6E-BF38-4EB7-A128-5CA6F40EF557}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/OnTopReplica/AboutForm.Designer.cs b/OnTopReplica/AboutForm.Designer.cs new file mode 100644 index 0000000..5c3fb42 --- /dev/null +++ b/OnTopReplica/AboutForm.Designer.cs @@ -0,0 +1,236 @@ +namespace OnTopReplica { + partial class AboutForm { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm)); + this.themedLabel1 = new VistaControls.ThemeText.ThemedLabel(); + this.themedLabel2 = new VistaControls.ThemeText.ThemedLabel(); + this.panel1 = new System.Windows.Forms.Panel(); + this.buttonReset = new System.Windows.Forms.Button(); + this.progressBar1 = new VistaControls.ProgressBar(); + this.buttonUpdate = new System.Windows.Forms.Button(); + this.buttonExpander = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.linkLabel2 = new System.Windows.Forms.LinkLabel(); + this.linkLabel1 = new System.Windows.Forms.LinkLabel(); + this.label2 = new System.Windows.Forms.Label(); + this.webBrowser = new System.Windows.Forms.WebBrowser(); + this.toolTip = new System.Windows.Forms.ToolTip(this.components); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // themedLabel1 + // + this.themedLabel1.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.themedLabel1.Location = new System.Drawing.Point(0, 0); + this.themedLabel1.Name = "themedLabel1"; + this.themedLabel1.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0); + this.themedLabel1.Size = new System.Drawing.Size(200, 40); + this.themedLabel1.TabIndex = 0; + this.themedLabel1.Text = "OnTopReplica"; + // + // themedLabel2 + // + this.themedLabel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.themedLabel2.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.themedLabel2.GlowSize = 11; + this.themedLabel2.Location = new System.Drawing.Point(200, 0); + this.themedLabel2.Name = "themedLabel2"; + this.themedLabel2.Padding = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.themedLabel2.Size = new System.Drawing.Size(189, 40); + this.themedLabel2.TabIndex = 1; + this.themedLabel2.Text = "v2"; + // + // panel1 + // + this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panel1.BackgroundImage = global::OnTopReplica.Properties.Resources.back; + this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.panel1.Controls.Add(this.buttonReset); + this.panel1.Controls.Add(this.progressBar1); + this.panel1.Controls.Add(this.buttonUpdate); + this.panel1.Controls.Add(this.buttonExpander); + this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.linkLabel2); + this.panel1.Controls.Add(this.linkLabel1); + this.panel1.Controls.Add(this.label2); + this.panel1.Location = new System.Drawing.Point(0, 40); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(388, 105); + this.panel1.TabIndex = 10; + // + // buttonReset + // + this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonReset.Image = global::OnTopReplica.Properties.Resources.refresh; + this.buttonReset.Location = new System.Drawing.Point(338, 79); + this.buttonReset.Name = "buttonReset"; + this.buttonReset.Size = new System.Drawing.Size(23, 23); + this.buttonReset.TabIndex = 14; + this.buttonReset.UseVisualStyleBackColor = true; + this.buttonReset.Click += new System.EventHandler(this.ResetClick); + // + // progressBar1 + // + this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.progressBar1.Location = new System.Drawing.Point(235, 79); + this.progressBar1.Name = "progressBar1"; + this.progressBar1.Size = new System.Drawing.Size(102, 23); + this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee; + this.progressBar1.TabIndex = 3; + this.progressBar1.Visible = false; + // + // buttonUpdate + // + this.buttonUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonUpdate.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonUpdate.Image = global::OnTopReplica.Properties.Resources.xiao_component; + this.buttonUpdate.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonUpdate.Location = new System.Drawing.Point(235, 79); + this.buttonUpdate.Name = "buttonUpdate"; + this.buttonUpdate.Size = new System.Drawing.Size(102, 23); + this.buttonUpdate.TabIndex = 2; + this.buttonUpdate.Text = global::OnTopReplica.Strings.UpdateNow; + this.buttonUpdate.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonUpdate.UseVisualStyleBackColor = true; + this.buttonUpdate.Click += new System.EventHandler(this.Update_click); + // + // buttonExpander + // + this.buttonExpander.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonExpander.Image = global::OnTopReplica.Properties.Resources.xiao_down; + this.buttonExpander.Location = new System.Drawing.Point(362, 79); + this.buttonExpander.Name = "buttonExpander"; + this.buttonExpander.Size = new System.Drawing.Size(23, 23); + this.buttonExpander.TabIndex = 4; + this.buttonExpander.UseVisualStyleBackColor = true; + this.buttonExpander.Click += new System.EventHandler(this.Toggle_click); + // + // label1 + // + this.label1.BackColor = System.Drawing.Color.Transparent; + this.label1.Font = new System.Drawing.Font("Segoe UI", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(6, 75); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(199, 31); + this.label1.TabIndex = 13; + this.label1.Text = "OnTopReplica automatically checks for updates. No information is logged at any po" + + "int."; + // + // linkLabel2 + // + this.linkLabel2.AutoSize = true; + this.linkLabel2.BackColor = System.Drawing.Color.Transparent; + this.linkLabel2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.linkLabel2.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabel2.Location = new System.Drawing.Point(7, 58); + this.linkLabel2.Name = "linkLabel2"; + this.linkLabel2.Size = new System.Drawing.Size(252, 21); + this.linkLabel2.TabIndex = 1; + this.linkLabel2.TabStop = true; + this.linkLabel2.Text = "Homepage: www.codeplex.com/ontopreplica."; + this.linkLabel2.UseCompatibleTextRendering = true; + this.linkLabel2.VisitedLinkColor = System.Drawing.Color.Blue; + // + // linkLabel1 + // + this.linkLabel1.AutoSize = true; + this.linkLabel1.BackColor = System.Drawing.Color.Transparent; + this.linkLabel1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.linkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabel1.LinkColor = System.Drawing.Color.Blue; + this.linkLabel1.Location = new System.Drawing.Point(7, 37); + this.linkLabel1.Name = "linkLabel1"; + this.linkLabel1.Size = new System.Drawing.Size(212, 21); + this.linkLabel1.TabIndex = 0; + this.linkLabel1.TabStop = true; + this.linkLabel1.Text = "Created by: Lorenz Cuno Klopfenstein."; + this.linkLabel1.UseCompatibleTextRendering = true; + this.linkLabel1.VisitedLinkColor = System.Drawing.Color.Blue; + // + // label2 + // + this.label2.BackColor = System.Drawing.Color.Transparent; + this.label2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label2.Location = new System.Drawing.Point(7, 4); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(287, 33); + this.label2.TabIndex = 10; + this.label2.Text = "A lightweight, real-time, always on top thumbnail of a window of your choice."; + // + // webBrowser + // + this.webBrowser.AllowWebBrowserDrop = false; + this.webBrowser.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.webBrowser.Location = new System.Drawing.Point(0, 146); + this.webBrowser.MinimumSize = new System.Drawing.Size(20, 20); + this.webBrowser.Name = "webBrowser"; + this.webBrowser.ScriptErrorsSuppressed = true; + this.webBrowser.Size = new System.Drawing.Size(389, 200); + this.webBrowser.TabIndex = 14; + // + // AboutForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ClientSize = new System.Drawing.Size(389, 145); + this.Controls.Add(this.webBrowser); + this.Controls.Add(this.themedLabel2); + this.Controls.Add(this.themedLabel1); + this.Controls.Add(this.panel1); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; + this.HideTitle = true; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.Name = "AboutForm"; + this.Text = "OnTopReplica"; + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private VistaControls.ThemeText.ThemedLabel themedLabel1; + private VistaControls.ThemeText.ThemedLabel themedLabel2; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Button buttonExpander; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.LinkLabel linkLabel2; + private System.Windows.Forms.LinkLabel linkLabel1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button buttonUpdate; + private System.Windows.Forms.WebBrowser webBrowser; + private System.Windows.Forms.Button buttonReset; + private VistaControls.ProgressBar progressBar1; + private System.Windows.Forms.ToolTip toolTip; + } +} \ No newline at end of file diff --git a/OnTopReplica/AboutForm.cs b/OnTopReplica/AboutForm.cs new file mode 100644 index 0000000..9121ad0 --- /dev/null +++ b/OnTopReplica/AboutForm.cs @@ -0,0 +1,153 @@ +using System.Diagnostics; +using System.Windows.Forms; +using VistaControls.Dwm.Helpers; +using System.Drawing; +using System.Runtime.InteropServices; +using OnTopReplica.Properties; +using System.Deployment.Application; +using System; +using VistaControls.TaskDialog; +using System.ComponentModel; +using OnTopReplica.Update; + +namespace OnTopReplica { + public partial class AboutForm : GlassForm { + + public AboutForm() { + InitializeComponent(); + + //Tooltips + toolTip.SetToolTip(buttonExpander, Strings.AboutButtonExpanderTT); + toolTip.SetToolTip(buttonReset, Strings.AboutButtonResetTT); + toolTip.SetToolTip(buttonUpdate, Strings.AboutButtonUpdateTT); + + //Add link areas (localized text) + linkLabel1.LinkArea = new LinkArea(linkLabel1.Text.IndexOf("Lorenz Cuno Klopfenstein"), "Lorenz Cuno Klopfenstein".Length); + int linkStart = linkLabel2.Text.IndexOf("www"); + linkLabel2.LinkArea = new LinkArea(linkStart, linkLabel2.Text.Length - linkStart - 1); + + //Glassify + GlassEnabled = true; + GlassMargins = new VistaControls.Dwm.Margins(0, 0, themedLabel1.Size.Height, 0); + + //Update title + themedLabel2.Text = "v" + Application.ProductVersion.Substring(0, 3); + + //Add update event handling + _updateManager.UpdateCheckCompleted += new EventHandler(UpdateManager_UpdateCheckCompleted); + } + + protected override void OnKeyUp(KeyEventArgs e) { + if (e.KeyCode == Keys.Escape) + this.Close(); + + base.OnKeyUp(e); + } + + private void Lck_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://lorenz.klopfenstein.net"); + } + + private void Homepage_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://www.codeplex.com/ontopreplica"); + } + + private void ShowGenericError(string title, string mainContent, Exception ex) { + TaskDialog.Show(mainContent, title, ex.Message, TaskDialogButton.Close, TaskDialogIcon.Stop); + } + + #region Bottom toggler + + private void Toggle_click(object sender, System.EventArgs e) { + IsExpanded = !IsExpanded; + + //Update icon + buttonExpander.Image = IsExpanded ? Resources.xiao_up : Resources.xiao_down; + } + + bool _isExpanded = false; + bool _isFirstExpansion = true; + public bool IsExpanded { + get { return _isExpanded; } + set { + if(_isExpanded != value) + Size = new Size(Size.Width, Size.Height + ((value) ? webBrowser.Size.Height : -webBrowser.Size.Height)); + + _isExpanded = value; + + if (value && _isFirstExpansion) { + //Load text from resources + webBrowser.DocumentText = Strings.AboutDetails; + + //Register navigation events + webBrowser.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating); + + _isFirstExpansion = false; + } + } + } + + void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) { + if (e.Url != null && e.Url.IsAbsoluteUri) { + Process.Start(e.Url.ToString()); + e.Cancel = true; + } + } + + #endregion + + #region Updating + + UpdateManager _updateManager = new UpdateManager(); + + private void Update_click(object sender, System.EventArgs e) { + CheckForUpdate(); + } + + delegate void GuiAction(); + + void UpdateManager_UpdateCheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + Invoke(new GuiAction(() => { + if (e.Success) { + _updateManager.HandleUpdateCheck(this, e.Information, true); + } + else { + var dlg = new TaskDialog(Strings.ErrorUpdate, Strings.ErrorUpdate, Strings.ErrorUpdateContentGeneric) { + CommonIcon = TaskDialogIcon.Stop, + CommonButtons = TaskDialogButton.OK + }; + dlg.Show(this); + } + + UpdateStopped(); + })); + } + + public void CheckForUpdate() { + //Update GUI + buttonUpdate.Visible = false; + progressBar1.Visible = true; + + _updateManager.CheckForUpdate(); + } + + void UpdateStopped() { + //Reset UI + progressBar1.Visible = false; + buttonUpdate.Visible = true; + } + + #endregion + + private void ResetClick(object sender, EventArgs e) { + var dlg = new TaskDialog(Strings.AskSettingReset, Strings.AskSettingResetTitle, + Strings.AskSettingResetContent); + dlg.CommonButtons = TaskDialogButton.OK | TaskDialogButton.Cancel; + + if (dlg.Show(this).CommonButton == Result.OK) { + Settings.Default.Reset(); + } + } + + } +} diff --git a/OnTopReplica/AboutForm.resx b/OnTopReplica/AboutForm.resx new file mode 100644 index 0000000..4d116c2 --- /dev/null +++ b/OnTopReplica/AboutForm.resx @@ -0,0 +1,309 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + AAABAAIAMDAAAAEAIACoJQAAJgAAABAQAAABACAAaAQAAM4lAAAoAAAAMAAAAGAAAAABACAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAAAAFwAAACAAAAAnAAAAKwAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAAKwAAACcAAAAfAAAAFwAAAA0AAAAGAAAABgAAAA4AAAAdAAAALQAAAD0AAABIAAAATgAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATgAAAEgAAAA9AAAALQAAABwAAAANAAAACwAAABkAAAAwAAAARwAA + AFsAAABpAAAAcAAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcAAAAGkAAABdAAAASAAAAC8AAAAYAAAAEQAA + ACQAAABBAAAAbAoKC6QYGBiyFhcXtBcXF7QXFxe0FxcXtBcXF7UXFxi0FxcYtBcYGLQXGBi0FxgYtBgY + GLQXGBi0FxcYtBcXF7QXFxe0FxcXtBcXF7QXFxe0FxcXtRcXF7UXFxe1FxcXtBcXF7QXFxe0FxcXtBYX + F7QWFhe0FhYXtBYWFrQWFhe0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe0GBgYtQEBAqYAAAB5AAAAXwAA + AEEAAAAkAAAAFwAAACwAAABdOTk3u46IgKWTjIKUkYiAk4yEepKHf3WQhHtyj4B5b45+eG2NfHVrjHly + Z4t5cmeLeXFni3huZot5b2aLe3JoioB3bIuDe3KMiH92jIyCeIyMhXqNjYZ7jo2HfI+Ph36PkId/j5GI + f4+SiX+PkomAj5OLgJCTjIKQk4yCkJSMgpCTi4GQj4h+joyEeo2LgniMjIN5jY+HfY6RiYCPkoqAjn55 + c7IXFxe1AAAAcQAAAFAAAAAuAAAAGwAAADAJCQmJkoyGrJ6ViXCypp2Fv7OskL2yq5G6r6ePt6yljbWr + o4yzqqGLsaefirClnYmupJ2JrqOdia6inYqvpJ2JsqafibSqo4m4raeKu7Gqiryyq4u8s6uLu7OsjLyz + rYy8s62MvbOujb20ro29ta6NvbWujry2ro67tq6OvLaujr23r468ta6OurOsjLiyq4u3sayLubOvjLu0 + so20ramGnpWNdJ+ViGxnZWG9AAAAiQAAAFYAAAAzAAAAHAAAADIREhKSqaGapbK4splz3ePrceDn8nPg + 5/N14OfzduDm83nh5fN84uXyf+Lk8oLj5PKF4+Lyh+Pi8onk4PKM5d/yj+Xf8pPm3/KX6ODynOni8qDq + 4/Kk7OLyqO7i863w4vKy8+Hytvbh87z44fPE+uHzzvvk89776vPs+/Pz+fv58//7/fP/+/7z//v98v/7 + 9/L8++3y9/vi8/b70fPz+b7u1da5u6mim3V/fHe1AAAAkQAAAFkAAAA2AAAAHQAAADMQEBCRsKiirMLO + ybBI3eT/PNnf/z3Z2v8+2df/P9nV/0HZ0/9G2tL/StvQ/0vbzv9O28v/UNzJ/1Pcx/9W3sX/WuHD/13k + wv9i6ML/aO/E/3D1x/99+s7/jP3W/53/4P+y/+r/xf/x/9r/+f/v//3/9//8//n//P/6//r/8v/r/+H/ + 3v+//dr/t/3Z/8L+zv/K/7H/1f2b/9r8jv/X/Yz/0Oa+1r2zsYJ+e3e4AAAAkQAAAFoAAAA3AAAAHQAA + ADMPDw+RtKumr8bSz7Y809n/L9DT/zLQ0f8zz8//NNDL/zfQyf860Mj/PNHF/z3Sw/9A1cH/RdnC/0re + xP9S5cj/W+zN/2by0/9x+Nj/e/3d/4L/4P+L/+T/mf/o/6n/6/+5/+z/xP/n/8f/2/+//8z/tPy//6X5 + tf+Z96//jPar/3j1rP9z97j/gvrD/4X9yf+Q/cv/qvu5/7jtkf+112f/z9mt2cW9u4iAfXm5AAAAkQAA + AFoAAAA3AAAAHQAAADMPDw+Rta6osMfT0Lc40tX/LM/Q/zHQz/8y0c7/NdTO/znXz/8/29H/ROHV/0zo + 2P9T7tz/WvTg/2D54v9l++H/avzf/27+3f90/9v/ev/a/4H/1/+K/tT/kPzL/5H4v/+N87D/he6f/4Dp + k/+B5o3/huWK/4/liP+W5of/muaG/5zihv+e2ob/pNeJ/6ncjP+s5pD/pO6U/5/wlv+h4oX/ytu32si/ + vYuCf3u6AAAAkQAAAFoAAAA2AAAAHQAAADMPDw+Rt6+qscnV0bk+2Nf/M9nV/zrd2P9A4tz/Rejf/0jq + 4P9J6tv/TOrW/07o0P9P5sn/UefD/1Xqwf9c8ML/ZPXC/2v3wP9v8rn/cOqv/27iof9r25X/a9mN/3TZ + jP9924v/gtuH/4fbgv+I2n7/itR6/4nNdP+HxW3/iL5o/4y4YP+St1X/k7ZL/5S1Tv+ZtlX/pL5d/67L + Yv+x123/0uC828rCwI2DgHy7AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RuLCss8rX07pG4dz/Od7W/zzb + 0f8/2s3/P9jI/0DUwv8/0Ln/Q9G2/0rXuP9S3rr/WuS9/1/kuf9f3rD/X9ai/1/Pl/9hzJD/Zc+M/2zT + if9x1oj/d9eE/37Vg/+D0X//fshz/3m+aP95uGP/e7Nf/3+wXP+FsFb/jLVR/4+8Uv+QwFv/k8Rk/5zF + Zf+hw2D/pMBY/6i7Uv+ps0D/0M+i3M3Hx5CEgX68AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RubKutMvW + 0rs/ysH/MsS3/zbDtP87x7b/Qc27/0bVwP9L2b//Ttq7/1HWs/9T0Kn/Vcqh/1jImv9dy5X/Y9CS/2nT + kP9u1Yz/cNOG/3DOfv9wx3X/cMJv/3vDcf+GxnH/gsFl/4G/Xv+Iv17/jMNc/5DHXP+QzGH/jM9u/4vL + c/+OwWz/j7lg/5GyVP+SqEn/lqJB/5icOv+WkSr/yMOb3NDMypGFgn+9AAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+RurOvtszW0bxCxbj/OMa2/0DNu/9F0r3/SdS9/0rSt/9LzKz/TMik/1HLoP9a0aH/Y9ih/2vc + nv9w3Jf/cdqP/3PXiP931YH/etV8/37Vdv+A1HD/hdNq/5XUbv+Z027/icll/4HGYv+Dx1z/hcJU/4K3 + VP99qVX/fJ1J/3yTPP97izT/fIYv/4CDK/+EgSj/iIAn/4uBJv+MfBr/xr2W3dPPzZOHhIG9AAAAkAAA + AFoAAAA2AAAAHQAAADIPDw+RvLWwts7Z071K0L7/Psq0/0LKr/9HzK3/T9Ox/1jdtv9f5bf/Y+q0/2rt + r/9y7Kn/eeqj/4Hmnf+C4pT/gNyK/3/Tfv99zHP/e8Rp/3e7Yf9ysl3/b69h/3e2cf9zuHD/aa9Z/3Gn + Qv94nDT/dI4v/3KGKv90gyb/doIk/3d/I/94fCH/enog/3x4IP+AeCD/g3kg/4d6Iv+Idhf/xLuW3tbR + 0JWHhIG+AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvLWxuM/Z075W173/Utq7/1riv/9h6cL/aOzC/23t + v/9s6bP/aeCl/2nVl/9pzIz/bcSB/3C8d/9ts23/Z6lj/2SiXf9hnVv/XZpb/1yZXP9cnFv/ZaVZ/3aw + U/94pjv/cY8n/2+EJP9sgCX/bH4k/3B+I/92gCL/en8f/3p7Hv95eB7/eXcd/3t1Hv9+dR7/gHYf/4R3 + H/+FchX/w7qW3tfT0peHhYK/AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvbazuNHb1b9k3r//WNez/1bP + qP9Tx5z/U7+U/1O5jv9Ss4T/UKp2/1Cha/9Tnmb/Wp5j/2ChZP9gn2L/XJld/1yYXP9cmFf/XphQ/2Sa + R/9nmDr/cJkv/32dKf92jyT/an0h/2p9If9ufyD/cn4e/3V+Hf98gB3/fX8c/3t6HP95dhz/eHQb/3lz + HP97cxz/fXQc/4J0Hf+CbxL/wrmV3tjU1JiIhoPAAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+Qvbe1udDY + 0sBPt5b/QauH/0Khff9CnXT/RZ1y/0iecP9Lnm3/S5pn/0yVYv9QlGD/WZlf/2KhXv9ln1n/YplS/2WZ + TP9nmEP/aJQ5/2aNLP9mhST/dI0i/3+WI/9yhx//aXkc/2x7G/9xfhr/dYEa/3qAGv+Agxr/f4AZ/3x7 + Gv95dhr/eHIZ/3hxGv95cRn/fHEa/4ByG/+AbBD/wbiU39nW1pqIhoPAAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+Qvrq2utDW0MFJo4D/P5xz/0KVbP9BkWb/RJJl/0eVZ/9LmGb/TZZh/0+TW/9UlFf/X5pU/2ui + U/9uoUz/bZtD/2+YO/9oji//ZIQl/2Z/IP9ugB3/e40e/32QHv9xgRv/a3kY/298F/90gRf/eYMY/36D + F/+Ehhj/g4IY/358GP96dhj/d3IY/3dwGP94bxj/em8Y/31wGf99ag7/wbiU4NzY15uJh4TBAAAAkAAA + AFoAAAA2AAAAHQAAADIPDw6Qv7q3u9DWz8FJnnT/QJdq/0KPZP9Di1//RYxd/0mQXP9Ok1r/UJNW/1OS + Uf9ak0z/aJxI/3ilRP96oT3/b5Qx/2yMKP9pgyH/a4Ac/219Gf9wfhj/eosa/3yOGv9xfxf/bnwW/3J/ + Ff96hBX/fYMW/4GFFv+Hhxb/hYMW/398Ff97dRb/eHIW/3dvFv93bhb/eG4W/3xuF/97aAz/wLiU4N3Z + 2JuJh4TBAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6Qv7u4u9DWz8JLmm3/QpRh/0SNWv9Fh1P/SYhR/0yL + T/9Rjk7/V5RK/12XRv9mmUD/dqI8/4GmNf93mCz/booj/3OKHv9yhBr/cH8V/257FP9ygBb/fY8Y/36P + GP9ygBT/cn4U/3iDFP+AiBT/foUT/4aIFP+IiBT/hYMU/398E/98dhP/eXMU/3hwFP93bRX/d20V/3tt + Ff94Zgr/wLeT4N3Z2p2KiIXBAAAAkAAAAFoAAAA2AAAAHQAAADIODg6QwLy5vNHWz8JOmGP/RpNW/0eK + UP9Igkj/SoJG/1CIQ/9blEL/ZJs+/2qfO/9zoTX/eJ0s/32aJP95kiD/doob/3uMGf92hRb/cYAU/258 + Ev92hRP/g5MV/4WSFf92gxL/eIMS/3+HEv+EjBL/gYcR/4mKEf+IiRL/hIMS/4B8EP98dxH/e3QS/3lx + E/93bhP/eG0T/3lsFP93ZQn/wLeT4d7a252KiIXCAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6QwLy5vNHW + zcNRlFj/SZJN/0yIR/9MgD//VYs8/2CXOv9lmDf/bqU1/3CgL/9tjiX/d5Eg/4OaHv9/khz/e4sX/4KN + Fv96hhT/dIAS/3N/Ef9/ixP/i5kU/4qVFP98hhH/fogR/4WNEf+GjRH/hYkO/4mLD/+IiA//hIEQ/398 + D/99eA//fXYQ/3xzEf96bxL/eW0S/3ptEv93Zgf/wLiS4d7a256LiIbCAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDg6QwLy6vNLVzcNUklD/S5BD/1OOP/9elTr/YZQ0/2WYMf9urC//apgn/2WCIP9wiR7/f5Uc/4qb + Gv+Fkhr/gIsV/4SNE/98hhL/eIEP/3mDEP+GkhL/kp4S/4uWEf+Aig//gosO/4qREP+IjQ//iYsN/4uM + Df+Ihgz/hIEO/4B7Df9/eA3/gXgP/4B1D/9+chD/fW4R/3xtEf95aAb/wbmS4d/c3J+LiYbCAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Rwby6vdLVzMRVkUf/WZ89/2WjOv9gjzD/ZKAu/2muLf9ljST/ZH0f/2uE + Hf93jRv/hZYY/4+bF/+Ikhr/gooS/4OMEP99hg7/eoIO/36HDv+NlxD/l6AQ/42VD/+FjQ3/h44N/4+U + D/+IjA7/jYwM/46KDP+JhAr/gn8M/396C/+BeAz/g3gN/4J1Df+Acw7/fm8P/31uD/98awT/wruS4d/c + 3J+LiYbDAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RwLy7vtPWzMRjo0L/YaY2/1+XMf9lri7/YqQp/1x+ + If9lgB7/aoIc/2+FGv99jRf/i5YV/5KaFv+JkBj/gogP/4OLDf9/hgz/fIML/4OKDP+Umw7/nKEP/42T + Df+Ijgz/jJEM/5CWDf+Liwz/kY4K/4+KC/+Jgwn/gn0K/4B5Cv+CeAv/g3gM/4N2Df+Acw3/f28N/35v + Df9+bgP/w72S4d7c3KCLiYbDAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Rwr27vdTYzMRfmTv/W6Ew/2a+ + M/9emCj/WHUf/197Hf9ogxv/bIIY/3KFF/+AjhT/jZcT/5KZFv+IjhX/gogM/4WJDP+AhQr/f4UJ/4iO + C/+ang3/naEN/42SC/+LkAv/kZUL/5KUC/+OjAn/lI8J/4+JCf+Jgwj/g30J/4F5CP+DeQj/g3gK/4J2 + C/9/cgz/fm8L/4BxDP+AcQL/xL6R4d/b3KCLiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Qwr28vtPU + y8Rgojn/YcEx/1uXKf9Zdx//W3gb/2F8Gf9rgxf/bYEV/3WFE/+DjhL/j5YP/5KXE/+HjBL/g4gK/4WJ + Cf+ChQj/gYYI/46SCP+eoQv/naAL/42RCf+OkQr/lpgK/5ORCf+Sjgj/lI8I/4+JCP+Jggf/g30G/4F6 + Bv+DeQf/gncJ/4F0Cv9+cQr/fW8J/4ByC/+BcwD/xL+R4t3a26GKiIXEAAAAjwAAAFoAAAA2AAAAHQAA + ADIPDw+Qwby8v9XczMVhuDf/VpEl/1qFIv9bfBz/XHcZ/2J7Fv9rgRT/b4AR/3eFEP+FjRD/jpUL/5GV + EP+GihD/g4YH/4WIB/+ChAf/hIYH/5SVB/+hogr/nJ0J/5GRB/+Tkgj/mZgJ/5KPCP+VkAf/lY8H/4+I + B/+Jggb/hH0F/4J6Bf+CeAb/gnYH/350CP97cAj/e3AI/4F0Cv+BdQD/xL+R4t3Y26KKiIXEAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Qwb69v9TWy8ZZhCz/Voof/1yJIP9cexn/XHYW/2N5FP9sfxH/bn8O/3mE + Df+EjQz/jZMI/5GUEP+FiQ3/hIUF/4aGBf+ChAb/hocF/5iYBv+jpAb/m5oH/5ORB/+WlQb/mZcH/5KP + Bf+XkQb/lY4F/46HBv+IgQX/hHwE/4N7BP+CeAX/f3UG/3xyBv96bwb/e3EG/4J2Cf+CdwD/xL+Q4tzZ + 26KKiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw769v9TVy8ZXgin/V4sc/1yKHv9behj/XXQV/2N3 + Ev9rfA//b30N/3mCDP+Eiwv/jJEI/5CSEv+Ehgz/g4QD/4WFBf+CgwX/iokF/5uaBv+jpAX/mJYF/5OQ + Bv+Ylgb/lpMG/5SPBf+YkQb/k4sG/42EBv+HfwT/hHwD/4N7BP+AeAX/fXQE/3pwBf93bgb/enEG/4B2 + CP+CdwD/xMCP49zZ26OKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw7++wNXVzMZYgCj/Voob/12K + G/9cehb/XXIT/2J1EP9rew7/bXwM/3iBC/+Eigr/io8H/46RE/+ChAn/gYID/4ODBf+Cggb/jYsF/52c + Bf+iogb/lZMF/5OQBv+YlQb/k48G/5WOBv+Xjwb/kIkG/4uCBv+FfQT/g3wD/4N6Bf9/dQX/enEE/3Vu + BP90bgX/eHEG/393CP+BeQD/xMGO49vZ26SKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6RxMC+wNXW + zMZZfib/V4kY/16KGf9behX/W3AS/2JzD/9peQz/bHoL/3eACf+DiQj/io0H/46QFf+Aggj/gIED/4GC + BP+BgQX/j40F/5+dBv+hngX/lI8G/5WQBv+YkwX/kosF/5aOBf+VjAb/j4YF/4iABf+EewP/g3sE/4J4 + Bf9+dAT/d3AE/3JtBP9ybQT/d3IF/3x3B/+AeQD/wb6N49vY26SJiIXGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QxMC/wNbWzMZZfCP/WIYV/16KGP9ceRT/XG8Q/2FxDf9odwz/bXgK/3Z/CP+Bhwj/iYsH/42O + Ff9+gAf/f4AE/3+AA/+CgQT/ko8G/6CeBv+emQb/kowH/5WPBv+VkAX/kYkG/5eMBv+TiQX/jYMF/4d+ + BP+DegP/g3kE/4B2BP98cgT/dW4E/3BrA/9xbQT/dXEF/3t4Bv97dwD/vbqN49za26WJiIXGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QxcG/wNbXzcdXeiH/V4QT/16JFv9deRL/W24N/19wDP9ndAv/bHYJ/3V9 + B/+Bhgf/iIkH/4yNFv98fgX/fn4D/35+A/+DgAT/lJEF/6GeBv+alAb/kYkH/5WOBf+SiwX/kIcH/5aK + Bv+QhQX/i4EF/4Z8BP+CeAX/gXYF/35zBP96cAT/c2wE/29qA/9xbQP/dHEE/3t6Bf9zcAD/uriN493a + 26WKiIXGAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6Qx8PBwdbXzcdWeB//V4IS/16IE/9ceRD/WmwN/15u + C/9lcgn/anUH/3V8B/+BhAb/hocG/4uLGP96ewX/fH0E/3x8A/+EgQT/lZMF/6GdBv+Vjwb/kIgF/5ON + Bf+PhwX/kYYG/5OHBf+MggX/ioAE/4R5BP+BdwX/gHUE/3xyBP92bgT/cGsE/29qA/9wbAP/c3ED/3l4 + Bf9taQD/ubWN493a26WKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8PCwdjYzsdWdR//VX8P/12G + Ef9cdw7/WWoN/15sCv9jcQj/anMG/3R7Bv9/gwX/hIUG/4mJGf94eAP/ensE/3p6BP+FggT/l5QE/56b + Bf+PigX/j4YG/5CJBf+MgwX/kYUG/5CDBf+KfwT/iH8D/4F3Bf+AdQT/fnME/3pwBP9zbAT/cGoD/29q + A/9vbAP/dHID/3RzBf9nYgD/trOM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8TDwdjY + zsdVch3/U3oN/1yEEP9cdg3/WWkL/11rCP9icAf/aXEG/3N5Bv9+gQT/goQH/4aHGf91dgL/eHgF/3l4 + BP+GgwP/mZQF/5uXBf+MhQX/jYYF/42FBP+JgAT/j4ME/4uABP+JfgT/hXsE/390BP9/dAT/fHIE/3du + BP9yawP/b2oD/29rA/9vbAP/c3MD/25tA/9hXQD/tLKM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QycXEwdnZz8dUbxv/UnYM/1uBDv9cdQv/WWkJ/1tpB/9gbgX/aHEF/3J3Bv97fgP/gIII/4SF + GP9ycwL/dnYF/3h3BP+IhAT/mJQF/5aSBP+IggX/ioMF/4iAA/+IfwT/jYEE/4d9BP+HfgT/gXgE/39z + BP99cgT/enAE/3RtBP9wagP/bmoD/25rA/9wbQP/cXED/2lnAv9cWAD/s7CL497a3KaKiIbGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QysfFwdna0MhTbRn/UXIL/1t+Df9bdAr/WGgI/1pnB/9fbAb/Zm8F/3F2 + BP95fAL/f4EK/4KCFv9wcQL/dXQE/3d2BP+JhQT/mJQF/5GMBf+GfwX/hn8E/4N7BP+IfgT/iX4E/4V7 + A/+GfAT/fXQE/31yBP97cQT/d24E/3FrA/9uaQL/bWoC/21qAv9xbwP/bWwD/2RiA/9XVAD/sa6L5N/b + 3KiKiIbHAAAAjwAAAFoAAAA2AAAAGwAAADEODg6PysfFwdjYzsZRaRb/TW0G/1d6Cf9YcQb/VGUE/1dk + BP9caAP/ZGwB/25zAP92eQD/fX8K/31+Ev9sbQD/cXAB/3Z1Af+IhQL/lZEC/4uEAf+BewL/f3gB/393 + Av+EewH/hHoB/4N4Af+CeAH/eG8B/3lvAv93bgH/cmsC/21oAP9rZwD/a2cA/2tpAP9ubQD/ZmUA/2Bd + AP9STgD/rquJ497b3KeKiIbHAAAAjQAAAFgAAAA1AAAAGAAAACwQDw+MysbEv9LRx71WbR3+U3AP/1x7 + EP9ddQ7/WmoN/11pDv9jbQz/anEK/3N4C/96fAr/gYMX/36BGv9wcQj/dXQL/3t7DP+Niw3/l5QN/4qE + Df+Efg3/f3kM/4N8DP+IgAv/hnwM/4h/DP+CeQz/fXQM/310DP95cwz/dW8L/3JtCv9xbQn/cW0K/3Jx + Cv9xcAr/aWgL/2RiCv9WUgf/qaaH2tjV1aGMiojGAAAAiQAAAFIAAAAwAAAAFAAAACQLCwuCv7y4v9XR + y6PMzcDB0tTGzNTWx87V1sfO1NXHztXVx87V1cfP1tbHztjXx87Y18fO2dfIztfWx8zV1MXL1dPDytXU + w8nX1cPJ2NbDydbUw8jW08PI1dPDydbTw8nX1MPJ1tPDytfUxMrW1MTK1tPDytbTxMvW08TL1tTFy9bT + xcvV0sPL1NHDzNPRwszS0cLM0c/CzNHOwszJx7vFxsK7sM3IxJmEgoDGAAAAewAAAEYAAAAoAAAADgAA + ABoAAABTaWhmx9jUzrLg3Nmr4t3br+Ld26/j3tuv497br+Pf26/i39uw4d/br+He26/h3duv4Nvart7a + 2Kzc2Nap29bTqNnV0qfY1NGn2NPRp9jV0abZ1NGm2tTRpdnV0abZ1NKn2dTTqNrW1Kjb1tSo29bUqdzW + 1and2Nap3dnWqd3X1qra1tSq2NTTrNfU0qzX09Ks19PSrNfT0q3W0c+r0MvHp766tr0xMTC4AAAAVwAA + ADUAAAAeAAAACQAAABIAAAAnAAAAZzMzMqtPTk20TEtKs0tLSrRMS0q0TEtKtExLSrRMS0q0S0tKtEtL + SrRLS0q0S0tKs0tKSbNKSUmzS0pIs0pKSbNKSkizSkpIs0pKSLNLSUizS0pJsktKSbJLSkmzS0pJs0tK + SbNLSkmzTEpJs0xKSbNMSkmzTEpJs0xKSbNLSkmzS0pJs0tKSbNLSkmzS0pJs0tJSbNLSkm0TUxLth4d + HaMAAABeAAAAOAAAACUAAAATAAAABQAAAAsAAAAWAAAAIQAAAC0AAAA3AAAAOgAAADoAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADoAAAA7AAAAOgAAADMAAAArAAAAIQAAABUAAAALAAAAAgAAAAQAAAAJAAAADgAAABMAAAAXAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGAAAABcAAAATAAAADgAAAAgAAAAEAAAAAAAAAAEAAAACAAAABAAA + AAcAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAkAAAAHAAAABAAAAAIAAAABAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBIAAAAAAAPIEKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ABEAAABAAAAAVwAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABXAAAATAAA + AB8EBAQ+VlRQlXNybqFqamaeZ2dinWZkYJxqaGOdcG5pnXFwa550cm2feXRxn350c597cW+efHVwnU1K + RZgAAQFUFw4NUI+5uMNY4+b0Xt7b9Gbh2PRv59bzf/La9JP84vSx/+r0z//p9Nv/4vTP/930yv/Z9N// + ufKnp5OvAwEEZRkPDk6Eu7nPLtvX/zrbz/9F4Mn/VOrF/2Xuvf9y667/guWe/4nciP+K1Hf/jM5v/5bO + b/+v2HT/paeTuwQCBmIZDxBPirmy0D/Wwf9Q273/W9yt/2vZm/9x0IT/csZw/33Eav99tlT/fqdG/4Cb + QP+FjjH/mZAz/6SfjL0FBQhjGBAST5G6rtFOyqT/VsCS/1mze/9mrGv/ZqFZ/2WXRP9zmDT/bYIh/3V9 + HP96eBn/d28X/4p7Jf+kno3ABQYJYxkTFlCOq5vTPpFi/0eLV/9WlE//b51B/26NKv9tgBn/d4YX/3N+ + Ff+ChhX/gH0W/3ZuFP+FdyH/pZ+OwQYGCWMZFBhQkKiR1EuNRv9dlDr/bZgu/4CWHv98iBT/eoUR/4SQ + Ev+CihD/iYoP/4F9D/97cQ//hHYc/6Wgj8MGBgljGBQZUJasidReozD/Y40i/3OHGP+MlRX/gYgO/4iP + Df+RmA3/jZEM/42JCv+Cewr/gXQK/4l6F/+noo/EBgYJYxgUGlCXroXVWI8f/2J4Ff97iBD/jZIO/4OF + CP+TlQf/mJkI/5WSCP+PiAb/g3oF/31yBf+KfhP/p6OOxQYGCWMZFhtQlaOB1VeCFf9idRD/eoQK/4qM + C/+CggT/mJYF/5iVBv+WkAX/jIQF/4J4BP92bgP/h4AR/6ajjcYGBgljGRYcUJaif9ZYgA//YHAM/3d/ + CP+Ghwv/gIAE/5mVBv+UjQb/kogG/4h9BP99cwT/cGsB/4B+D/+joYzGBgYKYxoXHVCWoH7XU3cG/1tq + Bf9yeAL/fX4I/317AP+TjgH/ioIB/4p+Af+AdQD/dWwA/21pAP90cgn/oJ2MyAcHCmQaGB1RoaiK1maC + HP9teh3/gYYb/4mKIf+Nixr/m5Yb/5KKG/+Uihv/i4Eb/4F7Gv9+exf/fHoi/6WilMcHBwpjBgYHMXp5 + dKCcnZG2mZiNtJqZjbWZl4yzmJaIsJiWiLCYlYiwmZaJsZmVirGYlYqylpSJs5mXjbRqaGadAQEBPQAA + AAUAAAAeAAAAKgAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAArAAAAIwAA + AAoAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxB + + + \ No newline at end of file diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs new file mode 100644 index 0000000..4e96ab7 --- /dev/null +++ b/OnTopReplica/AspectRatioForm.cs @@ -0,0 +1,214 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Runtime.InteropServices; +using VistaControls.Dwm.Helpers; +using System.ComponentModel; +using OnTopReplica.Native; +using System.Drawing; + +namespace OnTopReplica { + + /// + /// Form that automatically keeps a certain aspect ratio and resizes without flickering. + /// + public class AspectRatioForm : GlassForm { + + bool _keepAspectRatio = true; + + /// + /// Gets or sets whether the form should keep its aspect ratio. + /// + [Description("Enables fixed aspect ratio for this form."), Category("Appearance"), DefaultValue(true)] + public bool KeepAspectRatio { + get { + return _keepAspectRatio; + } + set { + _keepAspectRatio = value; + + if (value) + RefreshAspectRatio(); + } + } + + double _aspectRatio = 1.0; + + /// + /// Gets or sets the form's aspect ratio that will be kept automatically when resizing. + /// + [Description("Determines this form's fixed aspect ratio."), Category("Appearance"), DefaultValue(1.0)] + public double AspectRatio { + get { + return _aspectRatio; + } + set { + if (value <= 0.0 || Double.IsInfinity(value)) + return; + + _aspectRatio = value; + } + } + + Padding _extraPadding; + + /// + /// Gets or sets some additional internal padding of the form that is ignored when keeping the aspect ratio. + /// + [Description("Sets some padding inside the form's client area that is ignored when keeping the aspect ratio."), + Category("Appearance")] + public Padding ExtraPadding { + get { + return _extraPadding; + } + set { + _extraPadding = value; + + if(KeepAspectRatio) + RefreshAspectRatio(); + } + } + + /// + /// Forces the form to update its height based on the current aspect ratio setting. + /// + public void RefreshAspectRatio() { + int newWidth = ClientSize.Width; + int newHeight = (int)((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical; + if (newHeight < FromSizeToClientSize(MinimumSize).Height) { + newHeight = FromSizeToClientSize(MinimumSize).Height; + newWidth = (int)((newHeight - ExtraPadding.Vertical) * AspectRatio) + ExtraPadding.Horizontal; + } + + ClientSize = new Size(newWidth, newHeight); + } + + /// + /// Adjusts the size of the form by a pixel increment while keeping its aspect ratio. + /// + /// Change of size in pixels. + public void AdjustSize(int pixelOffset) { + Size origSize = Size; + + //Resize to new width (clamped to max allowed size and minimum form size) + int newWidth = Math.Max(Math.Min(origSize.Width + pixelOffset, + SystemInformation.MaxWindowTrackSize.Width), + MinimumSize.Width); + + //Determine new height while keeping aspect ratio + int newHeight = (int)((newWidth - ExtraPadding.Horizontal - clientSizeConversionWidth) / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; + + //Apply and move form to recenter + Size = new Size(newWidth, newHeight); + int deltaX = Size.Width - origSize.Width; + int deltaY = Size.Height - origSize.Height; + Location = new System.Drawing.Point(Location.X - (deltaX / 2), Location.Y - (deltaY / 2)); + } + + /// + /// Updates the aspect ratio of the form and optionally forces a refresh. + /// + /// Size from which aspect ratio should be computed. + /// True if the size of the form should be refreshed to match the new aspect ratio. + public void SetAspectRatio(Size aspectRatioSource, bool forceRefresh) { + AspectRatio = ((double)aspectRatioSource.Width / (double)aspectRatioSource.Height); + + if (forceRefresh) { + KeepAspectRatio = true; + } + } + + #region Event overriding + + protected override void OnResizeEnd(EventArgs e) { + base.OnResizeEnd(e); + + //Ensure that the ClientSize of the form is always respected + //(not ensured by the WM_SIZING message alone because of rounding errors and the chrome space) + if (KeepAspectRatio) { + var newHeight = (int)Math.Round(((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical); + ClientSize = new Size(ClientSize.Width, newHeight); + } + } + + /// + /// Override WM_SIZING message to restrict resizing. + /// Taken from: http://www.vcskicks.com/maintain-aspect-ratio.php + /// Improved with code from: http://stoyanoff.info/blog/2010/06/27/resizing-forms-while-keeping-aspect-ratio/ + /// + protected override void WndProc(ref Message m) { + if (KeepAspectRatio && m.Msg == WM.SIZING) { + var rc = (Native.NRectangle)Marshal.PtrToStructure(m.LParam, typeof(Native.NRectangle)); + int res = m.WParam.ToInt32(); + + int width = (rc.Right - rc.Left) - clientSizeConversionWidth - ExtraPadding.Horizontal; + int height = (rc.Bottom - rc.Top) - clientSizeConversionHeight - ExtraPadding.Vertical; + + if (res == WMSZ.LEFT || res == WMSZ.RIGHT) { + //Left or right resize, adjust top and bottom + int targetHeight = (int)(width / AspectRatio); + int diffHeight = height - targetHeight; + + rc.Top += (int)(diffHeight / 2.0); + rc.Bottom = rc.Top + targetHeight + ExtraPadding.Vertical + clientSizeConversionHeight; + } + else if (res == WMSZ.TOP || res == WMSZ.BOTTOM) { + //Up or down resize, adjust left and right + int targetWidth = (int)(height * AspectRatio); + int diffWidth = width - targetWidth; + + rc.Left += (int)(diffWidth / 2.0); + rc.Right = rc.Left + targetWidth + ExtraPadding.Horizontal + clientSizeConversionWidth; + } + else if (res == WMSZ.RIGHT + WMSZ.BOTTOM || res == WMSZ.LEFT + WMSZ.BOTTOM) { + //Lower corner resize, adjust bottom + rc.Bottom = rc.Top + (int)(width / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; + } + else if (res == WMSZ.LEFT + WMSZ.TOP || res == WMSZ.RIGHT + WMSZ.TOP) { + //Upper corner resize, adjust top + rc.Top = rc.Bottom - (int)(width / AspectRatio) - ExtraPadding.Vertical - clientSizeConversionHeight; + } + + Marshal.StructureToPtr(rc, m.LParam, false); + } + + base.WndProc(ref m); + } + + #endregion + + #region ClientSize/Size conversion helpers + + int clientSizeConversionWidth, clientSizeConversionHeight; + + /// + /// Converts a client size measurement to a window size measurement. + /// + /// Size of the window's client area. + /// Size of the whole window. + public Size FromClientSizeToSize(Size clientSize) { + return new Size(clientSize.Width + clientSizeConversionWidth, clientSize.Height + clientSizeConversionHeight); + } + + /// + /// Converts a window size measurement to a client size measurement. + /// + /// Size of the whole window. + /// Size of the window's client area. + public Size FromSizeToClientSize(Size size) { + return new Size(size.Width - clientSizeConversionWidth, size.Height - clientSizeConversionHeight); + } + + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + clientSizeConversionWidth = Size.Width - ClientSize.Width; + clientSizeConversionHeight = Size.Height - ClientSize.Height; + } + + #endregion + + } + +} diff --git a/OnTopReplica/Assets/25.png b/OnTopReplica/Assets/25.png new file mode 100644 index 0000000000000000000000000000000000000000..e98a5dda4366693f7bae7194ede43e7da9befd9a GIT binary patch literal 639 zcmV-_0)YLAP)@Pd1f>O+aux zK?~z2D(hDve&Nl$xUO7raAe@weRt-adFFlRS?+K+z-P=vkLzF8=ROH>gSbLOkG^-r zE8-_YMJNdQ<;x4l3heiLh{xklsZ??%lj*_Z@d$3W8ypS?%U&**(dl#=olGXV-EQ|g z7!1n2UeD+Nolq{9b5^UhAc`WmTrSWHlcAr%Znq2T^;+=xe9&&UjRM>4RwCv=AOJR- z4Ui2+qY;e9W46ib^#UbPM-(SQ%we$$dTchE8)OxTMbk8>*Xv7c@oOv=;|REZqoS0g z19OZH@Z-wqbh1FF(}Bfe@svm;9_bs8ri4Nv8Smx9ddx8j;JKn^vza-&-7X}P$wz$y z#^h$R3537w?Yx6i_49SHSfm&CFCAPQS>AC(ESV-yDwXoI&SWyDje;QL5r-obMB)4r zU;F(&V~#{3fXBI`BG0jB(4I8lc|K3RY&Hu7oQjM&L)IQiS^O^27)z2Q34XsHEEWsY zYBgxJT8up$4nsPfX7?}{3_w-YA&&C$p(@^HyVus&6xB+%A_Q+*=z757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVN2)+ICY~;iAsWHS2@*yR>@O^BF=$KY z$YeMf>@Ivlq-NVg-t-))&Mt|RUYE=U%|ovWC;3Q79A#KJTkBeuNQ*O2KZB>MpUXO@ GgeCw)7e2)R literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/arrow_up.png b/OnTopReplica/Assets/arrow_up.png new file mode 100644 index 0000000000000000000000000000000000000000..b34489e747f6c4d65d4f2bb82693fe6535d8e783 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@q#X;^)4C~IxyaaMs(j9#r85lP9 zbN@+X1@aY=J%W507^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVN2)+I+MX_sAsWHS2@;zg*ss)M&umCs x^hGIK!AseUx5D(%<%VG8zb1mBUSC347&NW5uD!bX|2|L~gQu&X%Q~loCIAd3JJA3D literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/back.png b/OnTopReplica/Assets/back.png new file mode 100644 index 0000000000000000000000000000000000000000..d5cfc9f16a5141391fbb6051cc6382cd52c23a28 GIT binary patch literal 150765 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�l==v9-BOCPv*ENV#bGR0oHk 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 bF9!ZU+yv;L96J+*00000NkvXXu0mjf5|;Bq literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/clickforwarding.png b/OnTopReplica/Assets/clickforwarding.png new file mode 100644 index 0000000000000000000000000000000000000000..66d9bc80fde385d142fef3f29cf7817a404de259 GIT binary patch literal 951 zcmV;o14#UdP)_ROnYA*=AP;U%I zAV$MaO@wM&G*l%a)Lpi_-A=nZ+nG7Xvs1))LN`Z-e+eAi-xY0r<+Y2;S2bje z$w{xK>$7@5x0s@kUoT%y_8#f^n1w@C_2I_l(eB@VSYcnE!H3&kz>b~-%$sTVsBe-t zqi4hwe7bulcJ`kDDHPxr9DD9xd%ov@V7lDStpj-g~ zalaUKRk#pUOLPPq=fhX6;X>jlPJDX`e}3MNX|sUNz3q7J!F6Er8mblqlUd02e*_48 z_AJ7w34|;I{Vi>HIQ|A$nd(}09PX}1)6e620e!7A~y&-82i1?Kpxv1)(sDsA>*pPY-SghP1JJ zqpQchJ3H9)=zHrLKHK-MVI!Y%;ABhwf|ABtzc0uCmRh}O^OG-+j9wZ3W9(8wZVde` ZzyLCuV;%72pw9pR002ovPDHLkV1jSLx#s`? literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/component.png b/OnTopReplica/Assets/component.png new file mode 100644 index 0000000000000000000000000000000000000000..c1796148e6e9d38079060282af20f44099970f5a GIT binary patch literal 731 zcmV<10wn#3P)004R= z004l4008;_004mL004C`008P>0026e000+nl3&F}00009a7bBm000XT000XT0n*)m z`~Uy|7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$BHmT?0B>(^dJxN4CR5(wKlUryL zK@^6MAigLHO1+@e78QI@48?#%u|5Q~6e&W5Dp)U7q0)#HLCH%%3Mz_tDJ?~amY^2t zOA+xwu@r(J+M19iy(F79mkr4V4K9ID2>kxLLJVyJS@;;{%sK!3XJ&SlEc?E`kS>P0 zNj({~T@}~zoT~GW4`j1{On~?h5Pl6U)Qs_Ga=9h}?rfpJ6)n&V1Rn#TJ|J@wjJ-4j zxL#LP$U7kSXTNMhcw#Gz5#e57#);6Ubzq^%)O!K*E>#rq4#^+HJixpQm}Bu==Rf9e zQ|ulPc?zVS8v@@e3UG%aVn$*+5N!jL7ILDDvuwvW zXe-!iWaN%4-tCZ4`vI|*xA0S6Xh%A*4LRkodGGEXiE1-;GnV$%qo7{I=O+?p(GFrf zsx>76+8I=RcH|a#NV*ID539`+&nLUhm^OO~+Dt3nIc2!wJD?p4ZH+J?W$f;`C2t>H z5C`psNOIts1UVn;JSIn~J!iv?VQV*OBpb+DvYqTA4J&Nd^oP}u^cS%>oLGX`a2Ego N002ovPDHLkV1g_eD)#^Y literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/desktop.png b/OnTopReplica/Assets/desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..1f6a7f4bb706a4d9e2b81257c1dca8fc045f8f9d GIT binary patch literal 794 zcmV+#1LgdQP)ezU0v0~n=;2C zMiWEah^V-7;Rm=ET)A=Qr}z#2f`~gmKnMt~qM$}GniyhYhUc5Qy9Q6^C8E_7UDR;u zo}ol^|9KFRgj5l`fRF-O2M7@`vJO531n1zYihuU11gZjg>>y#GM3$ol5HSJbdJ4F+ zta0;F0v9BVF$muAOnLGzivq$~%(h~zt#1*a*?`m$B6dZ9(s|sw-olf+(+H74;RJc959_ z-R=>J5iMiMXHA^-(rwd*Mx^$uu(&YQz}roY7heox%&ZP-e_2jR4N|IVR1C$^BbHQg!~3s4(ad7ZPj+zo z>I%At)mT8XF`93Mv=u{F)0GDVbL46X)N^E`6D+N)V(s$)J6+4m0v0cyN28hZu%=U* z0gGV+$3jCqdif?S=@Fyc!9}C7;WNyXBdl)~*f<_S^X1j{cZUQkHMS2bSVq(rBM8g2 zkFVG4Zeyr?HIK)05{J{*(0ca<3vrBB->l;OaK4? literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/empty-window.ico b/OnTopReplica/Assets/empty-window.ico new file mode 100644 index 0000000000000000000000000000000000000000..ca5edce1402e54eb04e80c5c2ca8916f7ccf019b GIT binary patch literal 10806 zcmeI2XLDO;cE{;V_FZ;nXD6>>t=Hc5TGDEZE!mc2$?BcG6GSgWA&5edAVGp4L8A9g zu!6k|6BkR?VapSCYecIgfnL@2;c(0bDsYx_dX~nc(34Z z3O@a`0LKpt=6_RA@JT^I!Own{{a^mK1qJ_%=dR#6yrn<@qxb!Vzgu{%7$$>t!|X8E z|8eUBUo(skdkSm6dgaPNT}|cdnyT`%s>-sns*2LH%CeHPin8L<^3tr8l@^_pl@$KK zN{iq9Uyj$y%Zg7b%1TZu%S%u28L+Zbd>+|Zb!GV}Sxw%m@c4pN=N{9sn$E%b%;zwl zRdzzpv1+SMAKt(B%};*vlLc_Mz=U`1e04Ay^F*B{jk>2*sxqkfjT%XftdUpJAgO&W z=2boxvdZoYYm4vlE1rG9D|_-epRtFZ^GhCF=T$uZoLBqeCXZWsk1wiuCTQdo3pBzq zfwrMq*etCP>g2T|y@DlfS8&9JMy|M1l{KT9CpKvX4W<@xgGncD=*F=J$4-qvqLqcYj+``tW*9?aP}rtfH@K>r3y|ampXCxD^jsf{G_BVdc|$QPs10Nln&dtQQ;^ z`xQsVDdNbv#T+F}&MxGLtDmuXWe@6DgN z2Vee%b?>u}>hApRgWB8Ieo=e>(+_K(eDQJJi?6QMmOT8duIBm8I(G3_b?nl6#9hy? zddwD9J!ONNEv|mSk=A8R&VI#Ha0+<}UNNkM*CZ_GsraRQIj4vxu6fSk<6K_(gL+}* z6Sl0rkgE|@3EP`^lAczXysy1cIz1WSj}mRMn#3G&Tt< zW#YO*38&(*u)6RrzxeSD?u)y>XMDJS13vumqq@6)_+{Or8^5Z3e*1D=@q<6sRXqNp zj`iwx9lPXf78~Eqt9%6ZCpq@#oQB#gyNvac%dm5c&e_$1GJYesgePMcaz)io+5GZ{ z_3)d6xN}v)N`bzSBR1)zGHa(=>F91&%#96%uUx*&@cW$Bbj01Gb(&jS`V38)POYR# zCu1uV!b+)_RVZecJrq{FxWy}ac%Ae7&NcSqFRrj2z=uble_Z$U%a3bc-TiG{`IFCC zwJ&b7>WdKjvimG9@mCT54`UB@4#UpGJ{xznsDiH&lnaQzq3#uz^drJ~GO#xZD)_Am zwx~-dky$!ajc#+R+GjB|El!U_^Zb6deKQ`gws z_(?aCnw)OxUu9zt-6#cRJhixzuNGDaRN!RzYhQApA86(kSII9Iw8&W^qgE{K>u73p znOjr=d#5(+GHI6Q$NR5bVdC!&c%7M%sH-jH>^6A%40>Bvv(BV%)U>HZO&Tdn(ZDTj z;8i~p*B0Irls#d5;J$*E3h(`nRr=^UtLphp7VFhlEYu&w9lEW21l>PkVkoY9ey)2t zv9qCh#6HiikyHsZ;wk~fS-~#mN$Xy6rS*lpCP6vBMOG*3)Ce1T+m(&Z?iQ8b)~Stn z%q{&si*9XcYT$BKKklHx7nzg=9#!xKjq|ewgE9EcH}G*dnLal z8+WibH`EBVl4>FGDmcYFIlG8Qao2&pLoIADw<#3PZk@_+1-skaG7zw}4TW9$bZTxW z&mRhSwkL-|#sR=bJr<)MJ~;c@^?gRIu2Uz|v?%$?CQ*%C!YU>o#O#v$g8HJnTvo}~ z-1^c79DdnD#QIS^xS4t*sD8o`RX^uQpc}Ar8TOoRl+X?7U7cgsHPi~xYrtP2Q1VKV z2Ni;5DcDtl2D4tSaG08#{MHU_*xl0-_uJY=BJPf{xUW64x-gRG4+p$EGl{5aB8ZjtkpNC;Ks(vOE);#BnYhLgqsCVdd98oQ_ zLdWW7sNuwpm?H;svF9mKC!uwQU5mcfBC8cOOIac<)<7+)6sS>WbW)ZW{j;G*FPA&I znwxxJM{Qx^4tB%DV8A#z6zteZClh)8NYJ}8Hy-anPv{+j5B))hDFPq7HlxAbqi;1E zRLz|l8GPU>HIiC6V%4DFm5JrNG9kr`se7CvZUbU0L2Z=OAqT-PMJ>t4UWvL+HIm{^ z?5)U4y`o;Mlh=!z8|p;OSOdz{JiDz++vK&hYr<$uh`W9m?BfIe&gqeG_snS2xR+TO z%kxJ=zTL&CLG$=f*pe6s^bN=0L%?ndxy+qjtI^=-Zq@g+sdSxMsk&VyRO%bK3Y~&2 z)ye85%=(L}1WF^;eX2<$_<|hVB2V1M-dHz_)zqd3!(mOF4wT%yj;Df(! z5Q`S`+e|?xe6V00;De<@qcgWPYD}%NCZkTOKwXnjyjt-6TIg6sb%c*P$SFmQDd9D8 zi?}&<=%$>{#GTlixROqsXHW|o+TlYxW`a(&Pzt@viQU`Rt`57p!ESA%xQ`+3QzKdS zg^9u5rKzFrgPrw>%a=c){^gE^1AD2tG0XH=+%Y*4wT%siEF*FF5O$kmKE?;5&(_7% zR%cIZi@jT?wRUP$7K5@8@sb;~LaAQKl{Cv(Vy&38T#b5O#&3e&5qDzGYKGWVJc&^w zXfQTQq@5a(v=cti5p#jU*2S4EzQm{%Nlm&28Rirj9lKi^WK<&&_a?+$ z6LOiDxKpkYJM?avO~e@XrRibI^6Z#xd2X!lXm@k^@+aB&$77*=^aK0C)QD?#e84%C zz&Z?L9R@;H@?jWFV+bES5VUvo2W%bvh)vYn+Y&^9@L1Z^c9XWLm)1fjlXt2`Qs_a_ zDz6jiFh7$KyFtyDbm_ztXF2hj^)MVUi#29*6?#XZ@Aq3NSKq~btlvD3xD$H{?1-~{ zZDGQ4vY*NGyW-K%!Fp=Ou{bm8o}V0c%}xwBrxX2-$sw%6V8}W)80Z^|2h54MuY0uL z*M&OUF%)vP$NZMokh@#wwHh?kAFT$p(%h<$cQuQo9nd({7ky*B7&@02TN|LB5wx(thwpFmNFHJc%mZq$y z2U|0__`4AQgN@}`*V1glvoJm4fe-GPG59bVcTA1M?3h)pFw694taoZ8+JiOiqMRCz zx(%3{+NduEtVXS?Td%eowaUIWg}fWF?o?-Uw2RmcO1T}miTSF@f%S5tFS+0|>I~)? zCRg<%5szVPFvw_TZXE1W$W_EW33iJ6`qH#xBRS*TNKV_&4tHkr`~$J@L3(A*m7E** zk`IehqwcwhVfXC#pbI(SK)tfhPY&7^CWkDP|8rw;^VDe6G(HqGj>J42g8@fd)RWbd zx35hNJ|*RLPb+lZDwSdOQaHM`N_S7I%H6A1d(3*32S=J`&{s+CU?;r?5%)+pdXYKL zPMTSr2YV9isTpTFHS10<&)Q!f@1FC=`@@Iecco5bfYl1eTHVDy#pcR^BBA(vXfq=aY z*WHG3=zTgt>;qatpSHo8?bjUb%l7LF~%_e>IZ|4cCdG3;~wpXM$L=ULri^VGy`_jMCfJ4 zg?KaUo5a4l;LWTpxZa%X&wrAwpDyqpfgh~X0r-G5m<+7oxVALyUr){Y)64U|oZlYO z8Ra^y>DuCy1M6!?Ke5pKF`I~XPYs1km=8OKBF?s$zYlRXw_q;U$1(Q~pr11HZ^&sF zjrlq-hZ)Ilu=gVF#BQbfPH|sdnsOmm8ND#yy*lqD_O10L-}d^F`_0MTLT-L=4S+wh zw&Y!1oDSwJu%4U&_go;ovJil8{%yvV$agQrfwZ`hoOP`&PCKD1TWW69g1(O2?(dlz zjhLW`&XI_#eGnQ!?`R(mJKKj*b7}rf^!qv|hC*G_@R!zZaf)ipXrA4UxFbGbU(V@; zxMAS-ZEqy~Kjt5dN00D4;y)8wTbc<%D?wZz1U6TReJQY;P6l@AJjRxM@W;2cy67c6 zZZdw*T1?ni<`P!qT_0+e8EnW2zcCT@b|hl&41L5%>@$fNqnV{FJ9_H4opOsbgZh}& zOinNKU5LAP2j5Q|I~$1q@h;;3$v);E*AV!3H&VX!Y>_QLho=c#%(+tVX1KFOscFxY!b`NSKqZeY|#^*C}r?@ee3TE*9pYekS z>|wBn5!>)idO5tGSq<-R!M4{zbljuITdVMAmGNaivmDqd z3&=^#UOjYe2fg%AUs{~Z)%H2`C7NZxj#}VC+^H|oT4vc1V`8Vc=ebD>un@H2J3D$8 z|KWJ-crU#|de5<^BDJ&ecU!|nCZ!4@9FkAtn1&;fkd#pl8T z+vz0bhL`k2wF!OCG7o0rKCdyct+ z+g6G6-8jjq!HN^&`cr_c%_>8cJV)B|Ox#g>vvmgSs3}>kU#K(0O-6NNH@zG}Est!jE=4xb zlTMBpex`mB|H*DTi2RHprde*{-P;87CXxe&;|c5(KAq%!+ufkVq4(#swMO-d*4T%* zA_q`UsjeeWsXn5vGjY$xd=Bgj9;#iG`|$a^K2n{gI6#*{rskpcq27hJz`h9|(rXLB z)1%$xeElC8il3YwWDvhK;)$IQFYIK0v;UZEFKc+dAJ4^3b9U|rt<&xXcy@t5F+6Z` zcDRiilVXtmw(qPZ@TKIp#;?HeP3D5T>@1-cfrQz2ICXSM%(f z=sBA!;q8r71e#=w_|q$kA>{A5ei9>tr{A3Jg(}v_%vHoZybpG=o%9O0lUerl zr6}|t%ki(|^*=T`bo%Y<{V*{T(6_?H+!u_GbGLIxtKFGa>I*yhS&81W~5 zx_{*wPYj*@>CIu}lwy7eW*EZ^?$>1aKYx4!?z|7=6Z96RT&G?~+Nau`$l1}}YL4GIkr+Px?#)qzi8Zkv5%Uh& zAY;t`x##I|&ff8-qnI`DeW@U6n&uY9hkVR&JfCIoI^`>7f%Do~vgD^@BftfqxhJ z>7AY!JNeV=qbS7{b5WlE!f|I1^Xd@!g*r7rM*NiPRDYoT2;xVxA?fGb2byE@acA_7 z*XTW{Q4D)F=I`Rp%p;gd;7d04S?y^zj^8X z_eUqjhX3jNZ{O^E_m8i4zWe43$FrU9FW7hAp6xP*=a|>up6-16=49)ev%?JT1*Bge z?`^==p}F<5Ll}<8oi(gk-qv3qG4I*H`#0X=oVUjZX~Z#&&&b;8;U@my#QQQhKZ6+| zgF3U7v+a|Eo$c4h`&*l9sgsv4Uwi}hM%ah2yReQ+moCL&1D7tnKls<}65jLI?H71Y z-Y&jB{~R4JK2MJ?zV_qCAAIn^&`*E*cOmfdV0U1D5BmiSzq%>72Kx+l19tttXmrm1 zwEbrc^wXfMAC6BMyKm7dHHTdmEP36-YHNvXLbyC*LdL^frtr3-Tb<%3ur)Nu9FY0?+ zr2<`3Lr|-fhOs}R)5_`K_U_jkKq&6jsaYOCAU~rT01bZZ_@r(!M|KtJ7XC{g#3DplR

    vF9gJ@Je|yRw3>4@pRamq~Dp4(LNsCb6l7h zFxvaNhK=nl!`NSOj9@<~LcbHR8(Zi-?bzqmVqdcv`#kx*DcXy|zJwn4;!U`(*6XtM zj+#2#MpqUmJu}!_!ajxt_svc5psmeq)~oT`DX9s26!tFMjWViKzhI7x21lGZu5#B<7XuwJcp5;yRJ8 zU1`>!YgM{NrRxkj7hKG_G!x+Ukk@USwOe{7agC6_K8VxYjO&+vIv;Z~b3d2v?b7^7 z*CGeF$Av!1-2d{r>~k)=W$N44hct6%=h-8=uGs3Q8HmoicrJY}%|qLm-Ec1?;`cb_ z`+B-2|KF=N>vUaC^E}PRm~AqHn9GLILq}Zp zzJ*_Y@By#7vcg?cRpG8Ct1Nd_R+KsMTSEuTo-+r2FX*U(Rg{&|YcBl$(DR#*f2}Df KNIv}U*na?MF7@;P literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_czech.png b/OnTopReplica/Assets/flag_czech.png new file mode 100644 index 0000000000000000000000000000000000000000..8308ed84ed70128030d13e6315cf7864c24d4e18 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ#}*A-ZN!DMTwp+jv*HQ$q5p_8V)aiYp>eCn8LvE|M%Zso#F><2Y8gOitsQyu<72b z?8+$KAmz}N{Xy!3v)iZt@}8=DB$hL_m>hay$fFRZ+{XCko-E7U?z06Oxc_;1O3t2amNsq%TE^h%>gTe~DWM4f&;U;T literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_danish.png b/OnTopReplica/Assets/flag_danish.png new file mode 100644 index 0000000000000000000000000000000000000000..d39d4c1917c8e11a5b4a713cb900312b21c89195 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8oo45Zzdi4M2&;Pe<`LC`0f7R;$r%(UC zfB(O+@qb?4|NHj+KXBl`l+?R(mw*ON`7uKTXq{q7kY6y6ix)7=KX^eAs5sHn#WAGf z)|B(^d<_mf&VlD0UhFO3@n5qurG-WMNOaxN?gteI%RAPtO5OBCxrys2``Hik4jSof zy1TF_RAHyLcA2}Wk(EioB(EZ09%t>lvPyAN!Zie>ud;V8 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_usa.png b/OnTopReplica/Assets/flag_usa.png new file mode 100644 index 0000000000000000000000000000000000000000..aed8f11f9992b987e25e3344be224bfc6294d3c2 GIT binary patch literal 355 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/fullscreen.png b/OnTopReplica/Assets/fullscreen.png new file mode 100644 index 0000000000000000000000000000000000000000..b1f8a2b0282f2dd25a2fb69f343d0696a2db3241 GIT binary patch literal 396 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon-new.ico b/OnTopReplica/Assets/icon-new.ico new file mode 100644 index 0000000000000000000000000000000000000000..18362992f3fec1ff3742fd8b63d393500a8b5cc2 GIT binary patch literal 86918 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 A{r~^~ literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon.ico b/OnTopReplica/Assets/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..791a5e2abbe1788c3b7920ec0c87ababd4691435 GIT binary patch literal 7358 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 QzVN^OFZTb>|Gz2lpGUyLN&o-= literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon.png b/OnTopReplica/Assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d87244edd38607b98111a0e4759f8eddeae7ba71 GIT binary patch literal 7335 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 N002ovPDHLkV1l0s81euB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/list.png b/OnTopReplica/Assets/list.png new file mode 100644 index 0000000000000000000000000000000000000000..33b1ff0345e156591927d0d05e1ecfd9f064a89c GIT binary patch literal 681 zcmV;a0#^NrP)A}HuaqOhR5=&~SiQC$Qz3cHA?yv$u#j9hbRHa8V# zuG)sEJK9d`>});Xe6fR9df>;ty*qo}=Y7t5gudvFJ1xd$XHimFY%&z;KlAK1+rlO8 zEw*}H)-LzsjDd}A7z-{u*8^JX36l%T5~oJj%;w-t2zG{ zxYQVY+I#tAPAM+y?+?t~qxzN2W+3FhJwIFCWqDGPrdTrZ)#L2)hp`8I1h`?p=)OAI z1p_dG9CG+vabVP?4B5m4%g8CF7#lpOg+V9Ho1(=z3RF5{T*k9n6BwKbE&k2QbJezd zbav)P+~ultJVu=lZE!4;3odZ0BG4E3J>qelp7PjRq;z?fZ{PbZ?SYy$A82lC_ZIQA z>&+`cs-Fk7APq+Oee|7ocJil$oQm9yc=$y3)y@tl8~7L*9~=G9eT|*s0$yMR{M~p- zA+}Sfdw7Uo5xf(JV~Mx5Ly`JVgMk;R`ACTzI5aLVXwLgI=MWF}p8x{@XDi290elMa P00000NkvXXu0mjf+9*5T literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/newicon.png b/OnTopReplica/Assets/newicon.png new file mode 100644 index 0000000000000000000000000000000000000000..37017ad33c7c87a6c2f945feeef56ba0acf1fb3e GIT binary patch literal 770 zcmV+d1O5DoP)ox1a z7VLs78w-Twn-Av3{~$|-zu*G^SqOdx;hVJ}AMnBQ&Dz2Hn4Ot^S0z!i;tt))?&_@0 z$jFQ=0pMwOX>*$5zg>pb(cZZtgfGAO_PeJ?_wOyHF(!zJCQXxS-2F;O$=42AMKy`D zR{lCUIeq@q55Ky_t;0_jj~+h${`GI4OIIMx4-s66UL0h$2W;Exgl!8Q8bsbRO?dX? zs~6QTKY!+!K{wr2mfJJvxWn`*)C@j7;JKBhLr`boHsDuvaOCzlPd;FlB7vN zpZ73iWlX`OcGq#khQZAY>KlR_8=Sxf%LKyB5r%P=;OrcO=yL^3;u_a&b@}O%>cL@v zO@e0V5G}o#;lP@0MWz$du44L$=qAm}e*pyLG+?njLtWg$W;Wn5ZMZujHa#U|@IWvr zGG8`vfS*V;rE7rvs%_Gb-I|KA`&Eyt%HY&1E;>bOB2q^g%6+EdcO2nEO;$)dfGMhe zuy51XpWMWGQ{r@OaoM-H!`lC@6_*llwj40FYsAs#p@MTh3!r(*$bb&*^=Q7r-2;P< zWQOzTaoPsFZv;cCvAn8rwc>hXuv$|Iv!B(C8N!i=7G}_ezu<6>n7bM7?De>J`v9wW z1DAuxvMpGSpd0cLsNw4cikD4Fgy0}0N;%u?mtSn%7!ajoot3)sraag?L}`yn^cX$Q z+K3HXJK`;Fr`IoEY$%>}ZF6@18{?u-(`ige$IF;<)*bspTj zFHZE;tCNv)d6CsUpgp2}NK60YICDtw=RX1r0DQbuM9q8juK)l507*qoM6N<$g4OVC A-~a#s literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_bottomleft.pdn b/OnTopReplica/Assets/pos_bottomleft.pdn new file mode 100644 index 0000000000000000000000000000000000000000..6658542355e57545d1b138be337b56d0ed15ad29 GIT binary patch literal 6696 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 HDWM4fG=x-j literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_bottomright.png b/OnTopReplica/Assets/pos_bottomright.png new file mode 100644 index 0000000000000000000000000000000000000000..96ba61893ba568efaf9bb9835d5329dbfe26c4db GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9}FK5etQUh2#kmRT2WL`C{*P zJP?+)m}qA9|8i4PfPqKPizytJV&dcbn;er4A7t=i7GzLs>D>2Zg)bw}LIzJ)KbLh* G2~7YYM^pg- literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_null.png b/OnTopReplica/Assets/pos_null.png new file mode 100644 index 0000000000000000000000000000000000000000..ea301953f4a137a0c2a6c12010b7234431bd3a53 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9}FK5etQUh2#kmRT2WL`C{*P pJP?+)u(-uR0qGPfD8YB{i+h- z5t8O(YhV(5lAgjN(|LC)8IumM=*;A_ kY?eJ_(y-*g@em${tp58O7Cx@M26QEZr>mdKI;Vst00-D*CIA2c literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/regions_new.png b/OnTopReplica/Assets/regions_new.png new file mode 100644 index 0000000000000000000000000000000000000000..25947b96dedbc6263707383ff7bb5ce7bf0e4a4d GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X3O!vMLn>}1r6eRgU`i5Hc$TKXTf_RuT%k=ypuYW)iH6!V z{o@=eCXGL21lSoqDl6r(NA6b9{kM0%%TlySL|m!d9m;Y>lp_f zt|QkMBz|b~s4cKvoaoSMu)snySk*Xi%3MY!9)_5W`rqzs3j7VUoWax8&t;ucLK6V& C9z^W` literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/screenshot-icon.ico b/OnTopReplica/Assets/screenshot-icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3251e44fcf9b29c72083eb6543466410d9926753 GIT binary patch literal 99678 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
    w$YD8-Q{R!9jryL4g5{Kz1u|y=6WF!x~3Q FFaU5&7=Zu) literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/thumbs_up.png b/OnTopReplica/Assets/thumbs_up.png new file mode 100644 index 0000000000000000000000000000000000000000..e77b7f130babaf80c65481efc1d008884e60ac86 GIT binary patch literal 2318 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_border16.png b/OnTopReplica/Assets/window_border16.png new file mode 100644 index 0000000000000000000000000000000000000000..b9bc0b092087debf2200041e8334bcf20f508a05 GIT binary patch literal 683 zcmV;c0#yBpP)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$9Fmkdbk^le#1xZ9f zR5(wqlig3!Q5=W4?z%Thpe!I0ejuVwNyCJkqnH_5G1pp+%qAiT=$tasD09wgX0Ekf z)+(*^&*>sm-gLwADUT2ij4HQC0cKulA#{1t_QuqH}~WIKyj?%1~AKXo@Cj9!}%Fmd4Saq#~Ta z986HwouV@G23zz!j*(9^jD6+godt}?dNTm6)sK59CBi9=h;Vr*PEkjk;-I+qq_JLl zOYPMU93B0PYy2DTyNeVxWC3(SZ8cm!ki-(2NAk{L@WnBQQdoLlb7=4#b;BR2zww2p zi3OVPeaCb>3!t}m(kLoeyF|Ecmcljx@Fytk+DLzq)AyG!x%x5{RsnT=ag5$s_O%Lt zcOFycdVOb>{+Wl%6lVkW*90gJ%%N?Gp%nmq`=9mCK3c}ym}Q_o7(mw=L+y!CaB)pP zy}|Db{Rc~&d;EivrbwoO!r~XCBVS_Y9*MlY1{7)oO3knNy+b)I(kdjk^Ao~A%$#(e RGs*w}002ovPDHLkV1h^TF@yjB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_multiple.pdn b/OnTopReplica/Assets/window_multiple.pdn new file mode 100644 index 0000000000000000000000000000000000000000..2641e329e05972bf982e65852fb0269808fce01c GIT binary patch literal 8806 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 BaXbJ3 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_multiple16.ico b/OnTopReplica/Assets/window_multiple16.ico new file mode 100644 index 0000000000000000000000000000000000000000..6c48346dd69e92f341301e5d260e9d4befbbe0db GIT binary patch literal 894 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_switch.pdn b/OnTopReplica/Assets/window_switch.pdn new file mode 100644 index 0000000000000000000000000000000000000000..72bcc91da1b19273df35affdb8d985bfa6af0bc2 GIT binary patch literal 10464 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_switch.png b/OnTopReplica/Assets/window_switch.png new file mode 100644 index 0000000000000000000000000000000000000000..987ef8eea5050eb07f43ac3f3fa443d0359f85a6 GIT binary patch literal 456 zcmV;(0XP1MP)L@?7krY0000j3d}GchM&TU4`Kv@IN>RHch;R@sca-{oQ5F2$Xc9I&giuiCNC+b z@zBG?f8UqUg67v#pYpwT4SX;C4|T=t=12XP58ms$&U=sRYZ!rB^8V~QNPho0_S*0N zx1YHjBc~dcfzGU*2zaL@@Q4T?wc-pa-1HK}XyiCvksEpR9!55v9m*HPv)mS3tj0+J zsBAd!s-(twY=w$jyv84X75tMxA)1pdpS<9r7c;stJrhrC@S3z}!PDhr1Js9Y5 zM^Bb}m!+gZ7R!VOAO{xTAwUfCmSn)$#+&F#varFbIe^y8*`?x=<>ejxw{DS98b+C6 zV_lrMq=c(qXNNquQixFpHVZyFuG!hMJ9~Ne3e9!#Xd7AYZsjxHB@Knf)bBOOZmr1N zzbCJ6>i2Fx-#@Z3b>7>bZ+*8gho5`=eh>WiWBzP@w2bz7XGvs>`kmr=XIEyWh|A1^^)8?o$&X1dI7X3`d_2xjT9At#EQ^bvr-^WBfI8P1OS%IBVH zh5S*v21_Jz`KtECWj*aRA(q@)dRBxUsE2^a! zJ!sclzfl4Rr`xP_k~&LRsKEjGkv7MLn%37|;>6Kr1`CQi&C38xHB+mS6{1UrKXzr_ z83mZ7Tk1PREIl&mwrT0XpYEfZa~0CeqPEb$FH9foo^H<2=@R+vFYcPsNF+Zdz-SLNBh3Ja zzu1+P!zWy#`9>UI*u-GOa>~dFnnhA^q^>|8cR7J(T$`+%KGlyukTa>tOnGuFb^p(ZJ&%d8s5Jz)?nAO<8)!y6P zr#q!}WSWqT9vPGJ6eHS`N&`G-@=Eb}#5B~}-JhGUUE|I71(VOR4Q-#Ui2*2LE3g%@ z)n1zLYIe;F&>gyKT!~8iv#(R<^MJ|EpA+WxN|3N_*@xq1v`R6Ztgp>>X_7P?d^1-L zSsq-KWl+4}izxa~c$XPIl$=%5)B%1*9yD|B5NAM3uCNoq6h*BCcoK@)4Pfue@(=|(=8(j z@p4zP;uRx`U=_95ZJkX3?HIATJ)c)aj#&>2Wg_W@#F`kco?4W&P<0-ztS!LO)52>n z{R{C^2x(+Dn1xote_Zs$+FeTnI7pAaalD->+jN|hB^Hy)&hhnk#!JaxRq5-<%T+p0 zI2r+tv&27tFGzw9A;jYq89B^8KcrTsy_LO4WC{|7IsgOqNMg6>dcK{hzUx*E`P~FM zZ!zWE+bDW5Lw4ck=NF333f-Im2m%+NjgZMqhA9S++|+iH0{_3LPFC4Z%&%eaJF*i< zgyKx6PN3Eb&wnfE^TszpiI>5@ zW?`s4uPvFNBmeCfAmf>G*r*ACm8AmS0N|BEgy@mJk1_AYg72mxSQoQ`N{&pYrzF zc=Gwo*4R#UX_3u?xM}$)npbr2CoyMl53aIb1XUieGLkq89IVX@@hH$;wcB_Uwpn1#RC^0`CC!~q(1-<4T??v3ct3LS%T^jmg3HemwJ_0=S_Cb z3b8&TlaxOywFHxfqDB`a1V%>!Hx(8BL`PA+vwYRa)hUu5@gwfBkAc;&1n+*r-jjH5 z+Lsc>tHOaZH#l^P!g#2Ugj-z&{fYU{fv#MKpP}=%JRI=iSoZ5py?xej}jZ7#wHh_+gmk+w@7)AaV zGWhi)`(VXGn0N>s!vt4wK|%78u*`nMrY`sMS6P1vK|<#Q>_0?+BkRl?lmbOfnT4k=uD5HK5yoOb-0cD< z-H%4rpAz**7oV&5Km2ycq4HF*UPr$1ZNFH=5~+>APw5!k+j1)_<|YL}2@^Zq(gUjO zw=NnqQz9lni9gHKJl-fw4nBaus>17}1d?DgQaQZ=XJ$ma{3I)GT^<&Ra{!9VI<-+0J9KqUFeCt6CLnR_3UbqM$_q79-Kay1%aD z_QY&WE27?Q7#ji8Fykjpc1k_EBLXX0&v2fQ4y=5S@Hz?(Bp;K+~0M36_8A? zQK+7;UFb6g!$QNHPy9T{+K89rP|k2hW1JNOy-KxNz--Xbmnl)olxRSDZD0^Pr!m%o zWHuT5TY{Gm@{4utx`v2=2oSq+D5m*#PlNlt);DQ zTQz#ZV_Q>%pgs|yB*<0c?IhtiI>N1N8yg`dJ&-SiJuiPl^HI{4$-l=R*4!NQXO0O&?0$3StxqEazWdY6t&_%ykM$?vahs&!W!vvimSd_NnD1SyZ z)Zrz0?5j@biAbmc9@PQ4iIUj`AwqTiCgn3vG6?2g+oY9RTLcmMa%Z#lbcoXf{h4s& zb*k589sR(qg+$+R8Ul$>dlEgc+$aiAKMwx;Dv7K(G?B$k!JiXWQ0^b6!{+ zC{7l%DvcJt9$JNfQqlg>EV ztJx2b2wyP<%pLV3Ru+phykT~M(uAk4|d&FueBqJ|t z@1nzJK~%f+?^vfn0)MWEcC%xm1ob~xi@)n)!2O={M%rd7L%bW=C3-@mHT)}AXd=m% z3(ONjdz`?^;I@$aiS1>|6{MHvm5KmM3D&DHSX>k<@asy6&^ z`;!GI`U{+v2`NRtn{L5Z5Cr$Khw1VO6wQ)x9@zd&j6WLJ0)7Q2fq1(0bw^``iu&eZ zzO6#ZWsuRvG_n1)1V%qO`((yYC9@*Ke6oGJpc*qOdws_85)FZz3O3)gC#1ZK+cU45#{dM8O;@|vcI&a!OFG^9tD&25>O zsxUb3y=Q1uwE{p&eK;&ao(D8e#k1M7#jK>EmU}qTDf3?cFYGme&A%7BhV7-CQ%kpp zc)rDj1De!*5-3Oe4?UbTH zRRjOn$~P4}zD*e7W-ConBGj}iMut<|Rya;Y-N(5|H_)9f1Avprv^%A?o;t|`Bye_l zgwo+^nym$$&weGa-jxaXt;X|HNkB#SPi~h~`FuEUhP*^n+WFS7z8FVZNRyPBQoD{8p>P)7L~ubOlsx0f*Ollj z^4G|Sgs<7AAOi@(4w%RxvdKIDFT$%>Ds#*I&X>jfxK5rn{YlUlWRV1Ab3B_Pj(3NL z8GauhuSWuVcm)nIZH&RFD$#0iB^DfN*zwZPq=kh;`YP=xfH;K|ND%S8l>qK6-(fvZ zegwIQW^K76X1!^7*ip^KdCq-uDB4f(+psSv)b=dmHTP2CbIyMQTbYY4MN(oDyt3W3 zsN6GULE1VPA$a;1YW|RXBPatXz&zk^wU&b9cm3c@bvr?y`Z26x)#yi!6!p~$fk5f_ z4*CW>u4wz>nb1tLhsh=3!b4JtKX#0M&-(o(gTMLFDzbdS*hT!=5oO&2em7^SgE=>; z9#cSWTRE3bWeFKSc(#|(oh}&A`0f3LCOlaz8vmoBIuq|E7>(cd@pS|D!E|{M!ku;h zPe_qAib+*LCySVWC0ohkeeHV?)i6y4W1kF8Q>l`0r(?sh7~K;Oo$YX(D6498=>uWK z!XeSk$9R5XmtMW4{PsScXrW=n{a}K-d@fyNB2X&i-*f?8+8(TYFLUZHniujF#O9A7 zw-UHK9=F%SF2VM)ZD$o4sw%F+f6Uj>14h@oXZ*<&s_ zD9AnrCX2K0)P1H)V*Kdc6o}sZBTE(5_KzkOim46$RBJsJw7y-Q$f&*S)%OBW^`?D- z7cj%P?bFctNFYR6n$U_8k&li+N7nVwoX^junI>zV(-TYeAAjujr7PQu>wvePkA|Q) zCR;!>Tmn*A3D@P~;R(t_G&+R~J)8PZIXZYN7{hFMw5!%eXoi|3XAq(ofv;gcE;x!T zG)1_3)%BAOj~x#nAG;2L!wzigtkZ@|6w0au?0q$&1eKbApHtoT`ER*QLLbrEr$Q-= zdvH>4INxcCZP0S>rRax{{objH0e0m$7 z7VUSCiA9OcH_LN4lZ$#q)r$zAbRD%}R#er$?{cGRUsbQCif9M{No&)rFnI~&^3rxh zuW&F+fpSn2_toh$d}XltQ{2#j1LX**ALHN7pGfF8KI)X8!A{9%Z1@UxzD$dNeY_OM zWPJvGABB?GIKXZ=Xjtk30RGR37SUDKiqlPs^k*5(S_W@Jaba6*T)01+={^(kkULn0 zk)(GLlt;)%*!#&}^*FaF(cs!z1^N`u$6#bo2J^g6tGKzZ(IE>wRPQNdK6bVryI#ud zR5e|0J;jc&Rk0t+wbxkNZM*~KM=KTq+qul0Vm%q{zO(t1B`I z3FPWYpJ!VbTO1*;`W6Gnwzy`n?J<|-KL?Ol=j9hC2yBfKAls*ZAHhQNjTo>Ab?s)- z@FpPEm1#bUK;PGn4?N0`+$eHB$eE zJrqx65U49;GcxPX4`*ew;B0y(Ymm^raxXti1(?gz@wi# zgzZHGFEZbx^Bcc09TXfE9&{d*)p2*Z?=2Y;8X!vRfMt#Mp@IEb4Pk*a_#by51on}f6#kExm+o+-(1(}>@-we zjZ)pa3;r$?mxB$S(fP%lVuB5*^=EjFSH+ORptfw1M`-B1VJ?A^KCqqYYzBSr12y(7+YPA9# zWe5CRfr8x|S5jIqzzw$#7dQGZf0K@c)o{eF%kyQ_MS4VS+c7X~Pwzr=d|vA0Z*#=@ z1~*~0ruRd#N%6b^fHgw7f_PSvyTq6X0(4Pmi?s?5H~8@-2Owz-vwevUoN+?4X2jsy z(dRt9gr6aF*^iW7*nO}PGM;@d#}`C8LcNx|qxl4O42p?yYnu`2uMq-AMRC{-dg58x zH(;AZ6qYyA(!=fWFkw&qR?N%zs~-nNF{>*2j(zA!S1#UO41Wd_c0J4waD>(FCI zQ1%QCKI~y6jwp}WnB&s@ zBipETon{H+rMp%A^1(SybD$7{7`HW7WY5<5MCKGOmu5ZeO1592@WQ#3_rSauE1yJk z1g0!rmQ@By`O>O6%WZRL9vqLscFrwaTSy;FuDj3i*}aS}W+DfY;R*234n2);t_Cvls1B}D;%nuWr9oa_@09{ zEAw|ym;3>wBR}#?D#fU8m(FkFM5RB!c$F^Z2Wr;tzw(AbR>ZKud+vDpc?dRcFeSh0 zd1)A~56O-!5}edPv7y0EHA5Je@CA?)4Df@zU-;d?b=m#+O3z}aGr3s!>V!3g1n^cl z!nj`HZ6hb`h)T^X=hg|(bLuWNGjsN00FmfZ2eeMK;!DQN>W1Z+K3JWMpx)+tV4 z)j>qXgSf(1lSnZrM2&Ljpi}R{=$~{#?Th(dRJ;3Cgyi$P(~svyP*9Wpd+4yjVb$}D zg?8ZIah(F^QH*q$j~|NC8|+zFVr!MW7qYL+QnG2zV_O3n+BF3nn~m+;+VJXuy~!5$ z)$aY)B;LK>Quv`%jDMmT&D)^ZNQ*Xbu5o_j$PYd z?T-&!21geaOMq%}Bd=DIgzVo={SBmp(GSjrJ1>qoOX3eRKaydj7_5+vwN|tu4c{FQ zN9VP^$bM(}^0}rnm1@E~e*cilyGCN;o1lqU&yhia0qT`IU@;cQ{e!v6b;fi~(%q<# z1}ia#2l?Xb$|7rql;EZj^KIa)!|?QX2$%(v_XR_9_lId}8_ zDFv_;eQ3tL*Xq*EPG@85;B{H`OQa-%6FusAc$#P zS)8GPGLM%OWmYc|#O)3t;S%YYfN;ROEcWba+HG4fm@(K^O8Y;g~gqej-HdyKnT%_!_^lGk%EfGDqRTmm+VK>V67BKQO!W&@IRw}=6v+iEfY@< zCJ}|7aj_r25C<8BGLlhXJVKc!zT5^)Cj3Kbfe@C4=SzrcB3o$J4~4VTjJG(Kwys$! z)=EKY!c&+h^USjcFiygv4b}d)H1Y*#LYgYud=j}2t!6Cpv~bU zFJ1q3r$S%R`L{>~gGsQv+Kqpid06%;mN&df7NR#{k*mP#h6^db1J;%!mJ*B{_9_&C zN7#aG3#DRd)sV#)96lzEup55z1z)3=X!e2FeM}@2Xpk54A5|(5&iJbgfa%IprJw#- z!f{FhXUc3oFE1xiL~x&^)AD6jjDL(JY9iC8* zG~E^sgbrL>a4`4$u+%rZBV0$ru_eaODm|2#UZjbC&;l8(U%k<85}X*P#=L^0SbCo2!Lh_>CX6VHs$s=MpNg zxbTQ_{dEB0y>WYDuD|qOw*W7{$3QzY)O(uLV4=*@o8DjyMxiKE3O>v6ctZ!HzbG;a zAUkCf8lbLP7agA7tt4lGS)C#Be-x43M_~V>bIY|Ek`YCjI9DpW@i^TPCYH4nAhj2F z+GYgd1k1NG4G_unFmnF2`2#v29Lt+!njZ0G14I1WDGe059QfCELGP$utCF7Jo&rKHJ>^FvHkkWn24 zCi&{_lXIc!6FECrq$O{`&i2GioTjWV8?Qtt*}b?)7rs&-ebcKG821CPzR7xINzcM> zV`ge=Sr2LbOGur}R!X%(MBf1x;sF(^#P%c~WyZ6G3`Vd*1?iAN5gJ;Vovht<`Zp)< z#Rx*aDp%kvL`A2d@^LcKckgG)?*FI`9dX3c^Zv)HB1xYfsnmp&_Df|=0FS8X9x!*; zbXpO0`ZK9}Hxi581hKGjSqAaEKQ6Obc`6!DAOGI*TFu;lUm>hu;-HF1CTr=EG--k! z;>v14>(@c19brb5Pj#eE|K@Y&N?k@t*iE(yjxU2jk?wkc7 zr_Y{NlHOk)|1sda_K7Z?+Sm*Fsm|?`?0Zqu3EywG(NxEu?E}LILi8fO8#`=@#E(ju z3Qqc8JFtQqvuD%P*(Jb1d&@N~=m?Z5zbMeA2On|4>RzN2XfHMx9UD|uswtMB@4T2u zrrGrwaQR&k`$3PNoFDmY$wGO^WK43nA${EEEN`d$4E@0g3?eL8*|&!iVgSD?)htgc z&Q?jo4M3iMiuQkEo1!C4N1S+VAB=W06vul$ZiiN#2mfwJh^t(0LsJFH$^T8xEK2tZ zgCKY)S#!^v$W2kEP_0SNapt`GV- zGYJEdSRS(d4=%^6npJRVn#r*v970VMPq4M)y{j`SggMcY_2|E14rA9fz)eMe7Y|$z zxlZC8yc+1_AEs^p2YobtGGqM=KJ|-)(fl_>PLg~a-T^*CNio@IGcAE*cw6z${;>8* zuR}?6gFW5VUfRLu4{e0Sorh+A1iIM}svcx9XS`w8w`TbV#pJ{ed}UC(qvUm`a{TYX zekh$(L`V#xOo-`}I{j((E$u15dJI+O;{a>f-|2gpHB3t%CII{LuWh=o{t0hgwB7#b zngN4kKQBkicE|GB@>zX&J1AGgISWIeCBtwwGi51A>aK!&w^6&}^SkC0kWU!rXYmN)^ zu^Q%0PqT#nekzBY=NC(Qhr9hy8PBAr>_3o)25h5V%?M->tpu`u5gknT)Cx!(`K7^U zA!4HK;LrCB<7=g$y=ge>NM#AKam2(#sxuGFhNlGay?o>A<<9%4V~LeMT*G%ICg9t6 z%`r;mG+8y;zh7^eJtRw%YQ;}&>L?J@vUbFmL57VtSG>@BBkH@bO;e=!sE0KeZ5b~< z6~elM*cThde2@eD2sfx$3+i-j$bq>CVfkj8${N zHhb;iLlu+U;AZ{LiuArO=RQ8Ew5@4zl=($XrBn!_Cj4KdzPBt%Mj9VB?wJNNGhRU< zTSylrIuAQ_ZeMKOKJIx+wgosTXWsB!$|c?|waYYi|1~vhX$k$@DInW&Qc`ceMM}6c zt+v=cVM=Y0B~LBowp4Z#<#L256; zrNE%FZo52(|Cu$UX?JkRH<$2_IfgCE(Ytiory&z-`ga;vvN{NhL;0^y@D)Z(-WFvH zoi~genS>Gxhjx=#PUw8Jco`gko&Zk3=75z{SLLj+K$+fiw-iHAuzYtOV&nHzO$Yhf zHDg!e8qDw}^SAm)Zswqmz&YLlFO_27BL`Psx{8#2o6Y8kd*NnvMt@jRIGTvLORI*+ z8VbHdg(-<-wUaOjieCZo-n05)!+66tis}P*A_N=z$Gc5tbD%1Q??BBZzy&YX6osjO zvlQ%U_~%KM$M)Cfo!m9{wj~Q)tiSa5IBSMmw(UC;0fGBJG6sK&<%GKd4|493ac_Oj zNF9Wf<=!nRa1$)wXRI7@1J#i7R8KWAFVscUMR?gm%Z%;h<<2O7E*0-WgZq*r_>OMuKLU=9 zJV|fk+%0t9)O2Uo5nKbb2qOFb-rOj+HlFQ{$djy5ujrbJ=#WkO3rHex7bNDQfuW-WI=7s6@VBnxk2w+xlJ!$u9e!AX?3^odgZ5`iZTz zBEm#Y>ZyDHN<)q^Rc71@Uo2cO3MdFAn_~>>xYB1Rh^S+~;E%}q$ML}vj<@6*_V%@*-NdG^@DbJ~?a2l&o$ri6r|AXxmU#rQUwX)KnVd_q? z_{Ed``VE9Xw*q;NlH+R4#sL8;T3n<^{Vg=3J0yPG#+W=pB>jZOqPHfP;f9a~@c6Hg zE_RT}7#%!k`TEN9!M{l!J#wiRb|FPW27D8{sxLo>7e6@QcS?A$8~D}>O`rGk#~be- zzxX$3+D^}&MGZ-ec?|)ydy2UWFg)9H=5^QMn~%a+b#14=@e6`oj#LN^_;Xk>(lQek z7M7lS6Fh#H$V{PxV)ST`iZ1`I&|hF_pW`wCB(fPVX@bzgZrxe^w z@E2whoJzd^^g>Ny@3e2L=ebe*n|BpVA1@39%wDi}rZC@UH#Y$v6!6e67+PmlXIj^z z<#Aum2=eh!7P7wm)4603w~%*@eZbGwAC8$F-n(VYfZioUy_A^^#KU=!b%`@k87J#6 zzD*d@tR`ajJa}4%e`VYKW7s@@;P)iJ*BWPo4NVbEy;(i>Gf5od7lbB1U^o-s9#}0M z(%cF?VIoHFY=4=dA67+TZ61p$knD;cL63Tm5xNkJOggVsUs>lXs&te1k9R2qU%unS0KeD&~L94QYFUM$Iuz{M0-~6_Y*qO z->N~8wHLvM)7bFK;vcL8X>PeSgG4Lh;rMjJtz2^bKXQd=G92?|bWx*nO8O#3Qsk=P zFg;}Ut;ax#D18&dvH-5sZI-Ps^gK>5daxL>7K)G%z+1+wYa$y+q~5(!%o5^*&W$HY zzH5<9dWtPrlG5#K|6`c>YHllGBEEv9tDvU1nbGZEjq(3WZGYLqs0_tP?DaGvu%wGL zlJ-}>j4dl1l&a0s0iG0ZVp?=4Qoacj)WEcKJ2;=}6v~8$=GEUV48DXot)x@eqgvy}*`QV<4 zc9M>fM4P7q?N;nqey2vx@6rN3y`{5Vrl8yd9jknIL^tqRu`YPeMdYK(5XfdJI-FN%Be%*|%r> zXU(;<7jdKZ?9NLkcW29;<(sj#1?DO|<-NwS@Ps{MrrvI24xxyds1d9Di4pVTcngYfWdV;<4lFPhu14N(xu{)j%4!tCO;K zwbh;-KADy%XSu``cN@9)@vr6Ud+&`pX;udhD^gBM%pf+4fcejafy(srkprzSPj`eJ zoUYrCn0C%Yt<+zJarpU_v8{Mf6_bnPZ~UaTyc>?8bh%&^<~~~sfH7TfZj8XuKb8j{ zEReBv821hjJ7Vjukp?}SIu%LEqJ@t!HS2|xuedkB+JqdoL{M4Sbje^(;2?5XRn}=r>j|(#Y|L z)P1l+>RK2yWN?{Wc4**u`ix>~n(!&xn|A4(8ksbG>U;8i{M6vYz%j0g721wY2c3C; zUGWVy6{7qdT2xU|H-i*I5obrBRJ8Gr`u>Dbr}U=3V1pt+Z69~77!zHgFeup;f+eNAO^{}Ir6J80dVZuYAg&8H54s{cm9 ziVOBEs6{7z5p<%9bvfpA86x2CLSMRrfRVyI72pClPxlt}!|5Y`@uiQFU$Oo4C7cvNlRSb{m7#r8N@mulixKSgt@pRP)vpMjP zG~l^sU(x9ebOBgoGuWAV3Q16F?-+CmK+RKs5)ON(f)9JFl{RocGvoY8d5#Pfq-`5_ zSFzhJ_zC?(g_$=3uE}1H5?DCV1eVXFc_f)Fj`mp2#leZ6p2i-s>0DD&h6JmYETjcs z0cwJVxl>eQc=2v^Um)?qAtn{T&0>6~ydBiZ1VEc38(EU*+HGrAcOCyv+2)G3n;Xe0 zY>7)S>F)`9rP=b*^0S&Mbcf&O%#ygOtisXt5*Q&b{4+*D<^n|4a@01u^H#w^QgC1k zFXeG9VbsQ(@ThJ0K$A?7XP&LiLbc zrq93`5c|_V3$B_DHqyjAbzMrn{hkD5QDkqtzcdn8T)>I$jG>GB3yo5SFFq$K|A`nP ztah2TWsGu_pKTJ>d({~KsqV>~rvnh#K`Rl z)8nyq(3lCDy$<^-@TDWaRMv08@@U5qvl+$;SZ3aiq=YhnTNDZV;1$#x z&+k5|>8PDXdQCz;j{QgOCX(*UwIEn4h_lvpOp;f?B(FyKbpLe4s#q08g1)`GOPLHe zl=zhKh<_)bbg>(KgIV(kQS#7uJhKncO znnZcC&IDbWA(hyOVg%_lBI8+YgKfwg5Gl_n5E)j+>bfU>v)LwB)_qDP%}Mx3`HGY6 z%Yp~hJT|Q;q3D<z4O0dI4X*bJ8N z8+%3POkq-}Yyr7_^8wCPRrx@^9iTvC-2p(3x%*aib64M)BbMM|tgWE%+3C9#PI`3* z_@3=fA=mQP}z-%@wV+D;{N4dDl^a zeH>;ZN4Rnin)@^&OxN*AQFtg7ibP;CQwx;oFxvXU$bO73!{JYbFOASqZwX-S#Bu<3 z{ZCOa3D1wg3NyFt+Wm$!I(s*G&RNtDzeAM;6~yZssB*m4N}0F&5MS)H=w?6= zD2jQfQh>j`0j(Ko{P1`g^3TxtXAP$3eStlOl?Q;T>B z#A~@7`o{_@{!I*FPYs_-22eK4koU8=-Z zJi4Ow?9U40G&46dvaJwvqJMh5(RCgP;P`UqLPsWfECt{HVblXeV)ojOGMDhBI|Nkm zVvvJg+%#;mmd{n+&+o~g8yPO*ks_e@xzBXc$=;r>_r#bgF8ZG=qxgb@L;J_zj?|VF zY0De;$-hyBHZb^WWA`p!lhi4zV%_-OC6cBJEu7OjKGDfy1XlV=_^%|3)%O-?XDPpi zX4Cf(*_VHY)oQ~w z9rt8BULqlQ$}*9muu)SNpi6S$h`N$N$Xv1tEK`jSD=i9%#2Wjw9Dtbzc7yxflH#n> zWVG0`Yfy(fh}0@7@yLu9%x8ysX!pXqu-XW1Q;2{Ygra3vATdL6k4`J0#Vfuf3}QMu z5Oo|PvnU2I>zLEO&L>IV&pE6&Ut68* z+nbHJ?;VVeYWYEb%}s~tx@Qa|bMVcMWKeZ~O}@RIrzd323-J1>fJ6pY-AZ@kA3tO% zaE4^B;_dFWTNOtKAENg1_)3qNw*<4XtYenfpLIu_LhV)FNlyw=~cI#LM$ zzA4CQPCLsqj1*6tCs^KDH``QOQ;G0YrC4r1q5mi3Lt=EbPumduy6E(G8+FY8EJB4D ztl}gJwvEXAi_=AF%nhpX41(wP&rYfrFJ057Ii?|kDN>Tp%@?=$O+Z4W-m%MT>7Iet zX6mFhZIvert%$l(-{#j03J~Yw1{J7$W%D(1?T9Jn zd9wV7sOynqJ?N}>JJIAO=vY*C4{_B7&+oMzF7_tN%!}x-P3`-M41O>rE%ojVuFMwq zMZQbEu~I_W27#bRL0FQlufnzs z9?yV|saXpqJe?5A!4TO3X)iayz0t&S)94KwQg_jXb1+KlrdnxYTJ9|p% zr^zAqv(0hekH;6GDHZ?BP;LEA<+#*MQbF&MtF+jhZ&PbS3lmZ(Bhu-h zY4JTYN}5Kv)!)!DLgTzo2rndFmzT~K#fQSpu73++ZC(b+3e(b;;St=1 zz}eG9h2hMhRmL{}7t7=O7=`Fwhze%6MPIBRJEoYdBz%f&B4F!Uw*1>xDg$NH^aTYC z+->l}^F>;HIvwSJ3voVuWKqO~XM~Clft9U%3y8rTELD`%)B92qQO_iTnFwn%CE>P@ z_XzGZeh3RHEv-K9!+%Iof8{wzgn13&ux43|_vUA^Uo&3rlMW9^|DrKx{u=0@f;b&z zJ6)xI$JB+7et?%AbR~A%VDD(4+132|Jm*!NcKUIQdahzsXbJ&15nf8CVSJq| z5$M993os|Sn-2PlBLk=6x^rPWO$#z#ppX4{D;W$ZKefD#8-<*FEK2kwW0SbMLLENF$1N2R3$AL_PYvwoI|% zv{6H5-=(;)n#aX$)a27QI-jWI2pRldGUJ7GwgmwA5$qQsLE9pXM4Ijox6od1!*jg! zA}*>89~H4%|FO@z!A8DqYDEAVM0%}aMO#U%-&Od`MZcdrAKs}&42Z1bv!KM zBB0EmRgZdMJR#zguJWN9ailDu*pV+NXm1Fe%MpoO! zC+GdK3w~c*ZGcGEovAXQNE`H(vW4JNZ{ItXD?0N+p=@4o7Rfo4CD_69>-qdCd6=)% zg6IRmoArP1GhWi~i`^C(KjAgihm@rY(1$i#W!f+k2NlGaPg@&-eW{NE(Z9I0K{PyA zs!gYQ&=Y{l(f4eRr>piX_yPNgp;=tlN`>Z6gn9)~3TXa8$};RvA3&!}?g*w<^f$4@ zq-X88^w+B#u)w^G(fo*ecoM zd?T~4geq@b5d%rMW#Vm<8X>`DWPNhye~Z}Md@cOM{?n;Sm1_C^8yts$Xc*1H=0^0N z|1P`=g-@4p)VbxPEZLPahS}|^L zBPasG1kEYkB%evVtC|R`fZg?3e$}E&y-Q%=Ym8|w*M3?f4EhteweC&1-ep0;e|8Cs z65dY*o^;RM*_@#sm^=wJC--pY8=?9YqV!3n;=l3d*|y@JG46WM-!!C+Su*4fqbt0V zpEk_4r2p-}3^B>AE_SmN>HV3FN-Y-b_!4dN6IZ_N!+&)rsLW~OyN5l={~0q5?2SpGEdj~nAyT{2;`{g@O{yl=OFB&y*HsAP!E@pIkQq@Ct8Md?_EL&Y$ilau2^r%B zK&j*!l9UQBzKel9-dm1J_T@pepV8JxLry1h@V{Gu(_gV5B^6i|(jUdtE@lgloNOa) zPz?cg$hO8$RinFkaa7X{e4r@Iw+AarCSj5AuJ4&vKeenuGgGh{p0f3~`{`e^kDr_M z*?R+kTudJ1n6RLLaxV44QbG?(u#m_IDIPxywX*7O+1IzWG@4@D@k#G5ziVUnM1Q&F zfBKRQ0-r;obek_6{wk&!t{ap#bGqooi>B}9-l!oo@RM=dQ^RRke)K-pH3Ak@)rY8x zhxPF+T)hbw^9Nn5pD9cMI#Yb+HWYc0$um7@1;$g^ey+7fxDft@UoFJCYdTws+*8L4)8`4RXF;QqnUu+3v!-~ zr}T^squb3;{H}$v`71^EswRBs7Tl;dRLQP%=hlAo zoD@;k;BECC-@MIl$+C?+7P2jTI*|qK+f~dDP1n9LC)$T0&z5&p92&}NC*Jbdyxm^V z`w)*Lg6+8Tu1*z8KA-F^%WcKo+fBTU}B^BmyR z1^EA`YR4Xk{tS~DJ3|cq47Vk+9HS@de0l_C!e}OqZ9wU{DTn$mb{e(_Je@kH_hsJY zA#8q$!r*>sMA)^Pgx)(yM*-=*N`QbOh$tY^J5r?!(n~^DKw_b&R7C}) z_YMgiQF?Eo7lA;i0a6a%_n-COo||(qYi6yvm|1)Fv!6ZhyZ5u5*WNh2>`rysT!^nm zVC9WTp*akWig7|rl=++V)z7=qQVgK@JJ5yvqYM%ugN}XXT%+H>AE>ux1FVS~zZ~;- zh~2l`^l90D{-S*NUGk^GFA1i1^|`TWO21xv6_kUbRZqthh7iN*%}CP^Pw&ADWAlqD zBqMNHZ>A&old~fmBNz6%63KSvp+jy=(UBE4NI9frm=vCm7(NWaOgaP$6t7`ki*dN(%cw7*-N~fF!rzi5v)vSD2A%Fd_O)fN zd~zJBmGGafwRCDLGtys=B`zP|&)tDaEm`V{tg|ZHqRoOf-#JD-jLt#-t+OY4m7r}n zTH~rMFyG0Y3U)AmbVYjC+7qq4XqD@1;_!bn?*7)K5etfXSFn_Drv60ws|WLj+I?J; z-E{dOwm{fPY zXE42{0H3oNw|~xnxt1uvCQ)_Ln=r-Ks<~^axb4$IZugDJ>BRfr@%}+HXX>-U-#nR& z@tHL=c|nZ)L1_aS4nc`LI;e1?0exvG|StRu=G10_9rZChtc*KO~<2 zd-02ExDolKYg>6GM&$Cj`5H)pa$53LhDcz1Wc$|{kwIP&xJBsK+X|J8E+H`#Rc9!_ zOTVSbQi4|QlFW(2Z-$Jp?x&5SKE~~51dIME46LRB#Jvpn1E^(6X&Xo7W`_3V;}cJs zrT6g+4@Ig$-&DoGMd6w4*SxftN*-~il#*<1>|Z4bAHz4s-&0HSBEiQ00a@9$3R}<* zVqNHm8@WaWl!Vtqq1+?a)xbyZ$w!)Xh-=0ImcfVm?I&YK&*-K9f^V=yYO8cZ19<__ zSNJ8I0%*KxPqk(ceZAyw?rv&v>y{6gjMs}*qBy3R8p~AL{qLSLAIzX@w`wSoLm(Dq z6Ino^Am=sgj;5kIq^yO|3g#@ZvX05Ss=}XYq?4zbf*7GAGM=i*D0H$@sc6{wcnIbYgVz`E_f&9Y2Bd>#oyX zsL{JSZ;d+E9}qr>8{D*eNLKSdp(fe5kx`*PFp@FBxc)5jPF38mWUacNKT&^9+B;65 zq6-sVPb>6Xl$4iTF8zd`$!=9iJCL8aW!vmB>JpZMct;weJK^hF&A>2bf3*d{$J9TL zbxoezkuMbgm4~DS0X#&7m0snF&+w-cEVRn*|8vV)Y=dtTKi)E9)Bc$*9HcAw5uvqc zHX~|o{GZ%XaISxBx=xYbUtCKZFfBItR~JQ3nH``?130pPuH`}5v*3?U(h#x`#7@V{ zFsY{Y%Jd`|>n{WUbrz4PY`_iq9_Et{j>@y^Ra+4Lfvc&$#Qz$|@eT>LoY_1e;}{@> z6;yC^4x(SL1oqES3ZdT_VP7cjI^8n`Q$ISo{!#j$obnc{u3VfpoWg|C)ywY_3%K|f zrD^u(%fF8fqO^zx&rORFqM5Rc3^%?PQSWRrk!{K})Ao}Ccd|w=-zq~P9rqxt%L*5^ zV)1_=H>=$!)Y{%Ap(*QTiQ@N7fE$&c2r1RpV^5`;-@RdT{2%eascULm2Tu3CitkxKo?6`@M8Ow^|cVO+hDFExnKhd9k>bT*m13cFE$Ae6p(^zzwh zK%(;xbJB>Wwe3)=K4s%4is&9bqT^Kb58}N7{-3Gh&o_?9gul&sQgeq=#*(xDFrr+i zh!uF^2ZJxRm@20XUA@t`SkH&w$|T(Azn^y};wIvN)0iP9R-L5w^rdd>BDI2a3eeR} zb{nHb{l$A<;)ki*%i;n`D6^lafI+>F){ZJ(v4w%4hk(Ug}EkqVL`EueEQ> z8i%kcQy-rSi8owF*zXly`<#n$7(g9^0Oo`iXDj4OAInc13?z0@Xq?PLpVhp*6ztw< zw|w&?kdsC7QQ5T-6!0po60?uZ+3y`q1#*$%DGTVnWejqpzx6B;^IpD58Sc(G{9DW_ zac~P@4Crw1`k-*>&4+kVGMq{NMYP=`jH810m^y6+qCKqd{qFq-f-}-LfitTICa-Yg zBvjyk0W)PE_Ft#K>k!Ribf3gLhfP;A=n$Qg$u_-{SaUC21)_Kz0JkoL`JeCw^Oi+F z=t3UM9M8W7ei4u_3MRGwU!KXFa7nROK%3n+7I)Rp9i_ZB!MRE6XBVm0o+uvVL&+$+ zr<&%LPV_$goO-cjC1`ij3D#BvT^mcn&{McTz6%dLkIh7uWSwB9g6y17OG~?M5bJ7r zzv$vBC*-G5q&)%$%xPISMQT(1tpD6e&KFzo@`4p1R1^&Aj8mt8LKlS~BEZ~4fY9(2 z!wLX!_Rp_?*m@{U=@%w0vJD{3GyR&g=!+Z{Yk$VritapR{t?AuJJ;wzB9oQ~U zeTj2UetX=97MZm@EM4i)!Iv&Be2im!{T;;6QqZ2=1=D{H$zcBb<7hf%&y(zKN?1r7 z!Tm+=C%a&kabmTaV9AV$G);xds_38T_r+&_uY>H^G|A`#Zo_EsJGze|ppE6}LE60@ z{)bO;^F`M;Lg-cRM3bERwZaMuEe`*%L}1tZ`1@*%An>C6XdbxjQr}R(>ks3B3$1~# z8kU-0Pou(VWZI6*a`N_8m#aEpaebO;Jx9r&WG#2=Lz>nq9iewplfS-@Im1%aoI(0e zP@aQNqSdc=k}nT<`CVFM4f%Iy$r0rw{Z0~@wG$k-aqB-3CCA{(@meqok3J5@uEj&t)~LYX#qL3 zvJG1uhk31a4PY|E@i+copT&?^R!hEN@ZurHz`DYPAo1LS%|3%Jb?m92UH)6;L5>&y zf|eCS;mdIQwjkm(bVuLYjzrHuwbtKbz!Et34T%<|&=N(6tXHa&ldijm<`MA#EWxpsw z(cydt5kyFW9t~GTU%)Y+j3TKmWE^_*AZJXr?U7`5(=quvh5W`pipmUDM8M=sBkwVX z6NgUo1F9y<8a&VIY|Y8#`GkIw)`alyCBHhVi*9Z>Cb|EWp!5$gQyK3iHd(KKEYB-i zO1aBZqg>^}m0yuJJ^D_K;`n0bl-n5h1BwsaOt`&&<@w?FzU{UX{b2n81wH;rNMUhn z#sy4J-7}5|QbVY-^MG(-FF=(>=aDp$>R8^n9_Gj6%WqWLlPC8r4$G!dNUx+V?3<1& z6-`Dc-MPywJ@cmw{I%x>Ru^!?WC)TbZ}<$ zBH}XTHG%H^rbo;xHc}scPQKVNr8ahvbDlfATmA6ol#AXEl+lOta$a5{s20X&*0lPS zQ~=5WpmZR4zswN6GPKy@?*Z^!))MfnYzTp6*@sifv>paUUiC(mo=dOr6M8FFKJZ6T zqrx{H^W>ISE|peU`&Io@^TvM>Sm&`mVNd(~qd`E&0xRO56_G(DSnnV!VXiTSfD-! zNOSBmlhs4c<6G*#O@{PLL$*S$z+Yd=6V16G6firx;kG zoW3HNDmxnB4cE9t;d)gtM_|3}GwGEMf>AUb++nsWtAikKXzrC$p{zRlQgw$%c~_}< zlJoOEyWMzf@LAP({Y(*kifc+DdqE=L*0q`%nNyX(!X33v=a95RuMXTDTaB3>=oN&Z zAelvDtEP(hV5IT7>*`!P&2h}9h^uFe@M}mt=9$_jTF$VIje$)M+Fv;?{a88n@L$jU zKYiPr`Q_DYyz_t)Tw&j<40n3)H0QfH_4uD*8rJ}r#)?_`-}^DPNv|}-+<4r%NGw`8 zhXP${HOn(y-YB2eI(`8(mkZ{;+MUq=&i|dtU)-v+M6YgdQ#xGDO&|8IP@!{3h#OF> zO69Z~4x{3L9Jt^r+LGYO&v%XprGR%_g7_lVT=()(edRVzbv50Xj6O`;Ry1{m27$?T z*6x{ml~#=<>@yixV;+;D);wbxeAquUGIbb=?t8I?W+GsS1mfy%0u9!{LfW~>a(QpB z)q?Nqmr`~fL1%k&m*0DZpLNZ8LBt8g+CPBdCdNUz0KN}H9!<7D_0Z3caG)O%NAXMP zD+8>3s7&Xs^D1c@GREZZPq})4yMMXTxBybYA?Jsueo-_kzNnrCR6CrAMO}f)9Txj6 z+D|odaw=W~)c3A2ed#Yjq#r6f64vn*uhf1twAIe?PnUTFSb}A=S@b-Ec_AV(96}q#*o&| z0ndb*V>Wb7-in}KBn7`_6w67Bfk*lNv#o;rEqWdtQXW8CR8FUlLmvm+o}zpa`8Rud zR8q#tz3Bcp_MD=b{_*q|B=tGEUaO(AvG8hAzfrK0jx5;i3t&k}h)Kka|~m*Kib zS*g*Ns!^$ak;$+bTrj9|sC_A5*wNJMu6ZGc8yi-Kqpt9ft|a>~viwkj$cPWvyWZw4 zS{2FphFD(4YHH6a9yZa{H~BnXdh`r`cV|M*YtuMYkv+-zx7}$u%ukDgO}Ll#6JP8r zJDz$R4+650P>>4jwuo%9)(*dqjjX%dGK1W=QNavdGu9A>EB}&)zh^1-Fymkev4XiX zHBVpSleBgm=#5781MU(&qdue#qS3X|J6&v+U`Rwu9V zH>ID0%dJ`)I-*F)i3PK%PtDrI&@5BHCd1zZ(=4=xvACDeq04!qH}vv*&aV@d>;{Gx z^*fb7r<#5LE$=rB`HP)N?B}EE%}Hlf?E7`(DJAh|%p-dw5iK^Yr)Qe>Rx%g~NOOw8 zph%@Px*%+iad1&k^59NmA$^J9vUeQ|ixF z#CPRqQC@d=TW|0@6$wrjpnf|yT#t_-8FP^yG2Zj(uF~o2WSD~{>?^O7y9HrIg2cf8 z52m;)3?4vsXv9mJE&`-GB!SHbt7?FeEBFXi)XSNU04lisQcr_J7@b~`yXpZYckOn) z%>rb8IV^+(zUNoj-V8ru>RjcjY@Cbhmj!Rse@mMz-)q5)$LYJxf?Jm4C;v$ksH~KA?NgY;s5kuu)l6^+`2zK zJV-lr*F2~{3Wbake?Dj1;4^+_`+yLe{Qdpb{c*~p?{dV1bD*lyW)}bPVg5z1%{9fX zMb>q;9n;b0sUz^?PZu=QdIrK%0`+Dgn3aHh;@*qL0?z94`$XutZpaLAJ%mt_ z_`_5OL_&)Kk^WaxJ_}6|uht3$7c`$^Sl|v_^}GJfbB>e168agnqzJF&CN!UBh(Co& zJq>QhfTs2Aukh5+%HxVn@@bj)69!h^6QwMCQ z+{+9~{gWWMyB*2*HZyzW^Z|zjsi{}&Gtk-wxxjI`C`sI!-KzsgykdX2^ZK*$0LjMl zfamszJInhGe#?YWsx%`*|LUgHE+zkK&IoAIshM@G+3~NoUOB|_gczciAsttw(a>X7 zU%LxgX*($ORSLO?Un?07J&j2~MYH8!bW5jICgtN#SPFbO27@WGeJKWmIZ}eJuVWTB zxLUy1DR1zLEsxiO7VN4X9F~$<9`ob}3mQnO%xm8vNAoZB4GhTnwnnj}kj=mI5kJHY zz;`6?$vaQQ6iLyrH?QB|q5Zh>`Om9cH{|2W)TPV5E~wsCe5*5RhJ-vmu+>_=I@p89 zB}R}(H?}+H=jN>9_DHk$$+I_@9iSJtKYsxG(}(U4$)!yre(hG?0VAg?B1xfV?>b_N z@~#*)&-b2&5-@|IXiStX*yF|V8*eGI)~);tkg9xXu-mY6NfBm7nSJX;V$ z&tmX)ok;B@Je~h;uHAwfDSC}IWJo!5&n3aP2ASU;Ky$EwTAiEaOgrFrYFS*yosiD= z$eW=-ne~ziw|S#%RD#xK$&NYiwBCT=iVL@q>4H`ehU?0F6=o;r@m$s|WCkJrtLZ%h z{-r8gO{(o&@{aRv{MwbJU;RvJgFo0H$A_1&y^8`ClVwJD1fMOBIJq}<*X3W{&w=0t zLtQG6uGWQixv_>|+c{JhoVc!cSOPibUpdIhU)_ZsMPM5UO9!hcoP}n5K4D;Y2I6nI z2Uz^QGR3sgGkwjA1}&kxeZEvWe1cU8j!*Zh<9rut)o-kWuxbVGN<54 za`JecCecoHi#^S|{_Q*0a9cfzOvtitc^%=`kxINch@vO1?(!0@h&v_NgENP&q`bwx zp|q~i0rn6-2PDfP_5KfJ+jvQV!IejG%)B>XYs80ZWQecWuD~ZdnjbO1nPzBMX&e9V z=a6`tyo$bVsJe$H+o`l(&{PkLrBNTvWqVnIb$sZKi4lcz@e^JI2qU$Y*sX z>;HC2qaa&T;cY&p5Mr2|j9x$wlL`P;>LiW30X;(i4Zv5IO8N~wtG}Hs{itdeS6|Mr z5T;f_7gx4hyYS;u^|jpxI3!J|=K)>hN(BzoemFRd@gq)pVWEU=wpPrP&&zCQ+otGO zaOkC`X2iZSVJBsH8BRD9UkE6Y@t`R1(e|O)+be|L|5Q2a`ywEiT=i<1y3a42`~8Z2 zIir?&s8qh(N=7y9ccG;pn1!oyZR%oV8y2T}`l?G=v zHZ3h<%;F4+=+4;VRp_U&M0@OQP2xZw%$H&-#CMHlcz>0JKm4o1!x|uunc?lD`$epu;&CD($+YS~GUKMSx z@~;NrfD*93yPoPn+Q`c!kLG!g`i9Zm+%Ii3k^6s1a082dF>!Vy)iE}HF+YG>_(SJ& z0N6drvX;hMg}!8xOG|A=s4=x5Q19*c1i=Um3ux8__%-)&Snh5H{Zfae6~v$EF$N&W_lS#g+h|eAgt0I*ry?~TgXJu;)hrn$@<+$tTAJ!9$Fka9v1poV>+%C6qr>1)aK1p#O z=2fHCpF5t*H;>=jQ;at-(oCu8;cMQfE-GQEEqU5F{a*MSo!Tn2in zM{n>oPu?uH0WQjMg>a}sbV6zqTTo6xwMY&W0Wh`CW;BjPs}D`vGEu<=P+5r++f?_2a9FU9dkk@B~$2qyY ztEZ5wdy2j(Zs*K%aT16ndnmyngue9x=zq`m_GPs8L64`MXh6;Mp?h%!_fz!Xs7?Zb&(P5DMLM51c3{AB)anpgH?-c5*#CfbKst0#d{LIO(03n zs&0d$r29?X+v!V@!z@deFHSv!(l!Dpbm+?4@lrf??P=&HBcKfaW~JrVrW49J1B+4H z=2%}Mpw_Yg$zH35TqQ91u5b}Xvmo&fSKFML0Xvj$0uggSi4zHGuOyo-Ft#iL64TWq z*x1@aQUI){^JoFuwWXn}++XaUR;>QMqy%S`ubf(ROhZKw`7|D*5B5F!C+-DLm}vQ# z4Y~=7CR=yBkCIX8V81u=Sv!%?})pIm&13Z^q=J(=Z7*AWOQ?N_v!Wq=_vPp1V4PVImN?jn?>4IKJr9%M@()Mt0~| zjaVC&CC&N15JP_C!BP}GG?MUS&;Aa~2K{wbb>xz=wuT}6tgjNfOU~DUx3kq$Mc})x z8bdwT7~r#jTjzcr`Ylf9)&>;{*t2S=vP zJ3L4by{r?QWDi@B+|8f+v-9~Qt$@$BpMNG&XoCoBUOodfHzx_-U#X>2q_}YzJ979l zklIh8TcautItf5s}81{?{5hbzR&D6)1nn za5Ue(GaRv~k$8{9liRThHa{CPZ&NVq0Psob&2*;A~ zXTFdvWRB$K0WGARFj&3Hrk36{83K)ZKqO5|mh?)Q3aWc{hiYyEzUGk!imbUrq*-tx@uEi#YT#mgqe>aS9#KQ_dwISg#&hJL>cw?8Y;nSv`d)JR9zhwbo4O>t#%-+29Q zE8y-B@zNo#<7-Cuw)}Dqj?f6bB2fJ04VD~BHHrfH&^#h-2Elk?HY4U*V1UDv_U*3$ z0bZ&XUy@y7WCnF=&tBEGE1}{I+9hbp9x2NOMpJDOX2R5k=g-|A z+p}mEMTQR?^~>O2Zn*b(?-Z_W!|N)ZriIuS)vNFqikFnA^n*DMu2$FLq9Zm&&uiXQ z8TU!FJ!yM#WwvxTT%_T7#Rt6nM;+P6<0}hCDMS|IIZ*(Tp}pb$?7TRM{)WrbybNV+ z=E)Ge81QLy&98PE*>~*(1CjVd7U9PR@#!Xpf&xs+>EohXHu#+Kp7(seotuK>>#E=-wGfuv@+vSTq{nD5l}2b)mDIT!45(pz+vq3MG@ z;I;j@@{#+qu4p}WgJNM1`GnP40qp??R;uLpHz!Ws!#!hCPyB!P^OIhnBnxwWB-V#f zE(5DZkwa45o=?gvEj3YKwlCFKy z8?vRmdBhx?NuR%YAZv|go>BBCVJQy^t5o_3+2rJddEO7u`y}0##CYNtnSqQA<`vRmRPMVKDKihp zrY5;$21) z6B_YPHXpLv$V*bbC3l6fZt|MK5rapA6t(fnGRO=sm5-&5y#~eJO}!SIf_hxUL@Gae z^CfSBY}aA0La?a;XFjE4mDjMWYZ6=HXQ$o5;W)(~W#y6gdlQ!v|3v@y_x4L=RWSu4 zhEES$IkQ;SE6PzYoR`tYpS#Ms)yB*St%V$19LV`zJ4|5!#r*~>L`<32sGnclA`^N3;)W~ z^1@RUM^J9Wh0UCf8fIEh-}%D*DO~&!UFcSE10iVSmsq|P!58n7++(Pj^;f(0x1i0o zE>lMIgzulh@4sEM9p9^ftQ`Dg)AilEtdew%I5K`(Dgu>pza91M zXChf?G`e*+xp39eN|BoXjr_l>-Hek5cRc);jCSbVp0lQn$7kIOa5}LQx*G_l<6ax6+{!MpWth7Mzvk~Xg($SrN7^L|lw-$BWI40b0 z$J$p_2njL1ORTefcn65k6|`1o+K?bim-)-Y^zI+9BukX#ll(icHpvW=B@;!?+j4%) zjcp{=8?j-y^afm8m5BS)znr(h&&muPLE;aoSmKCFWS^a zJ8%7wycH|PG5q_ktD)p&(O$l4pOsDqISr|!n^PGb`)H&YZKvoUg_GUGR{+~gp}(XP ze$4zut&hIQ%dXyz92SGJeH{!)NIua$uAkgAWkK&KmrUnAAlhr3J)VS>$cz-_;SF`( zWvUE)e!fcm3Obz0v5luhJ&}1hC)@;oJdU|IE zBiIqAKbT?!)pl~q7bYIQZqmcZkFWYGa4XB<`|nM9SsX7<1W5SDI>rb8s)g| zRt!?rdfkz96uNoIov98O7uq!8krRP3LauKwX8~A#aSTiQB`Pu7004&%004{+008|`004nN004b?008NW002DY000@xb3BE2000U( zX+uL$P-t&-Z*ypGa3D!TLm+T+Z)Rz1WdHz3$DNjUR8-d%htIutdZEoQ0#b(FyTAa_ zdy`&8VVD_UC<6{NG_fI~0ue<-nj%P0#DLLIBvwSR5EN9f2P6n6F&ITuEN@2Ei>|D^ z_ww@lRz|vC zuzLs)$;-`!o*{AqUjza0dRV*yaMRE;fKCVhpQKsoe1Yhg01=zBIT!&C1$=TK@rP|Ibo3vKKm@PqnO#LJhq6%Ij6Hz*<$V$@wQAMN5qJ)hzm2h zoGcOF60t^#FqJFfH{#e-4l@G)6iI9sa9D{VHW4w29}?su;^hF~NC{tY+*d5%WDCTX za!E_i;d2ub1#}&jF5T4HnnCyEWTkKf0>c0%E1Ah>(_PY1)0w;+02c53Su*0<(nUqK zG_|(0G&D0Z{i;y^b@OjZ+}lNZ8Th$p5Uu}MTtq^NHl*T1?CO*}7&0ztZsv2j*bmJyf3G7=Z`5B*PvzoDiKdLpOAxi2$L0#SX*@cY z_n(^h55xYX#km%V()bZjV~l{*bt*u9?FT3d5g^g~#a;iSZ@&02Abxq_DwB(I|L-^b zXThc7C4-yrInE_0gw7K3GZ**7&k~>k0Z0NWkO#^@9q0fwx1%qj zZ=)yBuQ3=54Wo^*!gyjLF-e%Um=erBOdIALW)L%unZshS@>qSW9o8Sq#0s#5*edK% z>{;v(b^`kbN5rY%%y90wC>#%$kE_5P!JWYk;U;klcqzOl-UjcFXXA75rT9jCH~u<) z0>40zCTJ7v2qAyk54cquI@7b&LHdZ`+zlTss6bJ7%PQ)z$cROu4wBhpu-r)01) zS~6}jY?%U?gEALn#wiFzo#H}aQ8rT=DHkadR18&{>P1bW7E`~Y4p3)hWn`DhhRJ5j z*2tcg9i<^OEt(fCg;q*CP8+7ZTcWhYX$fb^_9d-LhL+6BEtPYWVlfKTBusSTASKKb%HuWJzl+By+?gkLq)?+BTu761 zjmyXF)a;mc^>(B7bo*HQ1NNg1st!zt28YLv>W*y3CdWx9U8f|cqfXDAO`Q48?auQq zHZJR2&bcD49Ip>EY~kKEPV6Wm+eXFV)D)_R=tM0@&p?(!V*Qu1PXHG9o^ zTY0bZ?)4%01p8F`JoeS|<@=<@RE7GY07EYX@lwd>4oW|Yi!o+Su@M`;WuSK z8LKk71XR(_RKHM1xJ5XYX`fk>`6eqY>qNG6HZQwBM=xi4&Sb88?zd}EYguc1@>KIS z<&CX#T35dwS|7K*XM_5Nf(;WJJvJWRMA($P>8E^?{IdL4o5MGE7bq2MEEwP7v8AO@ zqL5!WvekBL-8R%V?zVyL=G&{be=K4bT`e{#t|)$A!YaA?jp;X)-+bB;zhj`(vULAW z%ue3U;av{94wp%n<(7@__S@Z2PA@Mif3+uO&y|X06?J#oSi8M;ejj_^(0<4Lt#wLu#dYrva1Y$6_o(k^&}yhSh&h;f@JVA>W8b%o zZ=0JGnu?n~9O4}sJsfnnx7n(>`H13?(iXTy*fM=I`sj`CT)*pTHEgYKqqP+u1IL8N zo_-(u{qS+0<2@%BCt82d{Gqm;(q7a7b>wu+b|!X?c13m#p7cK1({0<`{-e>4hfb-U zsyQuty7Ua;Ou?B?XLHZaol8GAb3Wnxcu!2v{R_`T4=x`(GvqLI{-*2AOSimk zUAw*F_TX^n@STz9kDQ z$NC=!KfXWC8h`dn#xL(D3Z9UkR7|Q&Hcy#Notk!^zVUSB(}`#4&lYA1f0h2V_PNgU zAAWQEt$#LRcH#y9#i!p(Udq2b^lI6wp1FXzN3T;~FU%Lck$-deE#qz9yYP3D3t8{6 z?<+s(e(3(_^YOu_)K8!O1p}D#{JO;G(*OVf32;bRa{vGf5&!@T5&_cPe*6Fc02p*d zSaefwW^{L9a%BKeVQFr3E>1;MAa*k@Gd8K`;w1n80+2~WK~y+Tb&_33lTjGQt%xGL zD55g(q9V&=3%aZu3z->})0?80A5Chr3%^$3%0|sLwa}Q#a$>V(HSLRKADSN|Sq!m@ z+)6@WO0GFyziE7rU(AK?{l8>`=4{3=PZj^Fow_WZlI~!B%@=PPf;98 zpDQFk&1n~|kBVJ7DSXd#L4w9fA|597d7F#jHe`eT?=ETJ(jEruXam03z_gX}i@%Zv zy~aFX;0|DKg1a(vaT8a07#=VIy%oTq8B9wNymi??zY%z(0v@Ws_0+(vOOG}gRUdG& zW4#334#BUrzzYq~T?uqtBd`Q$QGzqe!C4gG>=uk@(mcJg9a+M4=$KvJ<^o{I3iOZx z58Kqh<8wf3;XG`TfqQxpOrru0rPy7S62FJ=6+)GTLQw*Cx(iI0>gxJi)g((xA(0QUdQ9Le-8q_H6xe0rp=%1V%5xPqPA3 zhAh4d;{)=fZGy>YX|j`b+JIN(QScv2K4zQp5U5TU;Hj(0n9`?#?X1SgC5flwL_!YX z%LNmcCKYUV4LH8ne8HZm!PLnxsXvOD2gUH|Qw7*>DZtoe3ErPdvJn(?yCg&ZSJn;1c^xr|2=D$<{*3)Rd7fl{-)X+ zmzlA1-4>z1wYiwkXYz1+80HNYAN@Ir_q6-tC6rwserT~&u)4nN#2XZEC(U(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;cS%G+RCwB?lS@dHQ5c4wGymu~-o^{%9Z8G8RD>C{XwgncqBfG!#+_k7tEi1D zaZ|Jk3KBPMLc>iN25wqtl%OzpB|$;*j?;{D{m+^IpVLBTGNo1T?)}a=58wItUZJ%{ z2tit16HVDbFVG2GJ1&0%#(<&Gjs=yztF=a)1awU_^%}x>(^%a`ZACprrNsb*0zo!* z)>zz}!PfTu(T;_oGl09F8Xpw6J+In*olt0#Ac}xH&3WYjuvDtAq0)!U zi4chgkW!+gWVm&T;npdXlt?L$&T=9&RQj+~st>>c;1Hs_yrhPZ8NgH~^DBPlSNxg5 zroE|5LS}&Sk{TRBbRT^W5KiIEayf~{!=$hoZk^(!(tdEOha?t7?lOc^cryTiq-7yx z0vnru$&?8Uhk-(Y*2xSYnXs4Qu~A9nzFarpy4#sj#GToP8Cq?uaH%pkTO zA3q50;!5R_R0^d`lrl4q(mtsau2dce!Chke@p0gI4@yKu_q*optF`THT5CjAh!py- z_8kcFvx}&9*7JR1l97A!mHL<7aR3k`u(uo<@NZ31Zd{-^s|-Usv26?6wlK7l;;b^t zjSKjoe&imy2qjQ%EZg{G4F9L+Oj j0yqSsz}YnZkA4pT#uh|15Y85r00000NkvXXu0mjfEy_$d literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_arrow.png b/OnTopReplica/Assets/xiao_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..ca39d4820e0858e3519c1d6e238b171950cc53a3 GIT binary patch literal 437 zcmV;m0ZRUfP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ-J4r-ARCwCNlQB;MK@^0)6*0;shK|yNYW)TL0b*-nVPiCE2Uaw8R(3R2Xon_- zA7Eo;q_ELgs12MnL}P;_gg`j%IL))r(}ZK8pzt-jJDHulc{{5_glTGqDQh;^D5XXc zQpM^qkQstcZg+GR01;uFja0EJ&mvO(5V`b39z`TotV(ciq6OdSoNb-j)H_gV!HZ+C zFsA+OgLTbo7h*s}3<3tP?5}ESO;}ol{DnrrTyIBGqwoqxnQ{yva#hQzdThSar`fhhQ0rbd8SfKAh*YQFET?gt5vEcY_9HKYy zar*AafqH}J_#go!<54_+ek3s&pCI72o29}H8>T0{w!b;UxC&CJl(K*XU>P)eK;viq fO|Sa*-}p5E1l@+qVnZ^Q00000NkvXXu0mjfU7@ez literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_delete.png b/OnTopReplica/Assets/xiao_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7e3c06c7072ab8bd2992ec1db3040dde5bb9ff GIT binary patch literal 715 zcmV;+0yO=JP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;QAtEWRCwB?lRr#TaS+Ep?@wES8fe1+O&LfK8xlI{8g*x!>LAes`A> z9LM3)^m+c07Z?Ms02iyicfd2?5un!sqjMjSsn?hwN=semVg$QSL$JN#RSsjy*PU4M zg$#jkH;MS`5#XK-AWPza?D1e{a$uW;Z@p*; zu%AqWVIl`Y$dWivH$=zKDVJ2ROqyt{vZf+RG9ImjW7&oaP<3-lEf%8ywyyDW{wn{H z*mM$8RnaVa*9D|=>Pjx1injXwl=E3|?8e!G$cZ*T`E-hOPF-=gFuA<5c(@(MYHkN# z3x;7}=;eAd4DhvJHMeuP9cOZRXVC>@AiJ4VW>V{G$Q?b%!4Qt*#j;E+%fykq$iWbD zM-Qp>H8zvVOa`)U3ma2|djEWU_Tgp2ccG--2%d`K>x>}F0^nd;0;Qb7_qVIO|MKJR z_-bNyV`@;Z+X7G=UrpSG#M3*MQrG)BTVq{;mL7oAQE_i;KmY3H%WwCAJ)r20<@h!B x&&R!hA7}-4qZ*J0e$^`1u2FCthyT&<0RU|@782+2Qd0l`002ovPDHLkV1n3wH?;r& literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_down.png b/OnTopReplica/Assets/xiao_down.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf7a5d1c0ad4f723223346040b778b0a4a73fd7 GIT binary patch literal 761 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;e@R3^RCwB?lTAoeQ5c4wd*{xGKVXhhG)$nNHVApxN-S)y+eD68$d%o{G z=ToGVT$udIAw+;d;5u;mfcpr%2A%^>>EM^4b~KJ+Fr+Gz$;27X#-lXU1!VRY$#1%m z{IIe$R`li2ff2wz17G^Lqt#X816L9h!;o`fFBj}pgrTi9%DJW}FK1RJje@DEiuw#d zEu|d}g~kWE6BtF<%0o^-dR8YrtCJG}XB1(eJ3%-U8b2sCFetjtt*(|Bzk#0uEC*~C zQhjk!eQ|6z;C>4D4Rp1{D7wzAvVo!~y-g?U$mBr?uO|sOdgs})}bg$Z@C9* zNb3woH1_v=JPE5C+kvtp4#2{S4nS*D49|gBy@ndnI*&Bb@g$~Y0NtXd?ih9NOjMZ8rTgviD2e(C6h%WyQ1CEJi?@s0>@I$Kyg4>JdVXTw zIr0iXVRLNw;U>J&Z#=qN+t`+@K6R!Uppenma~n%D-(Ng<3akT#l1Mo|jdQ~t5ugUB r1u73{0px%`rJGCBs7NXKAN(BvYQHHQ=RzG>00000NkvXXu0mjfkH<^r literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_help.png b/OnTopReplica/Assets/xiao_help.png new file mode 100644 index 0000000000000000000000000000000000000000..df861f96e0c4f211756f6aa44252f0e35fad1739 GIT binary patch literal 752 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;c1c7*RCwB?lf6$9aTv!xcfGbi5keuD;E~uwkr0h-2u5QZp5K7pe`CZpackz08Kmz*7l@8ulLg4IrNRP`bP+yO#CIhuBhS9 zYdVN1LAu0Y7i&*QV99CW(Uh3P327 z;Bkq9ar@duRAAqNFHxl;weBvNIyd-%7axC+vmNikV9=BRa+W#VeLlcG@FxR~4UvAi z0`PDZj4VjiaP@2p^UK@Az%vOz5QM%!a|7`M$XI#7y~VP4ECjld_v2XzG&k@`i1n2K zqD$&@dnERfHd&`E+}Pg9J0Tg}umQ-L(9$R&x}?sECYo6XO*bk4N6XL(DM&66-E?E) zSS3JK*H+S+7Q}{(X>;6eL=H;+36F@TXR-CnMhT#)yR%ASFIZb$Px8>fE@aU=lb@r{ zR|SA5Ky6JGN+N}(?#=>;0PEu;lhIg$CT|X(3oOgRFf1bdGLe26!?3U{3!e*`yg8z= z1nc7?ljR;{;z@OLX>`sbJ?d#Yg(5n{(-yrm`M*%(5oz|hk?SPpRu$CErBO2RWC_qU zwP;3%LSxpQDX(T;z8{qRv^RPY1PR9hfh?+~^I>_1-^<^g#wLcwx~3M*iYWl;*u>D| z7`#(%J-J(dx+Cm6*?I;b9apwe+bi?G-aL2?Yys(_NI1TY(V>tBs0HeQ>OwdJq=3WX i%f)RJ9LM2*?B4+H@(<#P|3};a0000%t*xm literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_ok.png b/OnTopReplica/Assets/xiao_ok.png new file mode 100644 index 0000000000000000000000000000000000000000..fc5029a25f4417ad92afa7489f464874dc3318df GIT binary patch literal 752 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;c1c7*RCwB?lTAoeQ5c4wGk2VE(s3N6G)+pYjcFT2iI8xUB#|3YcWp$mz?IZO zSK_9YK}q7KU52X+0|{Dagx0{|UpUcV)RYchW}N?f?%cU8)Qh9bUicR0<@+Aa$2qSs zO%ovmN9vt#bN~ZDH*n+7{tV0lQ!|}w@~GD|O~i3P?|kEcB9xa67h1V^{xYTIUI3zM zgr9$Zu>N})!!!nGI@hL70eapwJaD@_&u=$(Ly19}1X(ly>^N~z3^9d;ud~F{`w!pT zU4LN#`rco6C_>ThwcaOPvX5rOG0B$zoQfM)%){H|R~V+@e0^tC+5oaLH&kEMj8+&Y zo>I{?4SAxz_?KDoeLyRWQ(x6gR_2BPYydVP`YOw6h-OqWGJ__yyjuO{XS!vP>6S&J z8I{Vi8f-%J9jpfkyJ#wK+DW8h1Vi7gYhS9aV>=XNx@FPw5~&!at_p-*G+6)uJ)1?- z(s|AOD{Xn_v0x91O+g~TG<9nQJ#B2Hl1Xwo7}@Hw296JpY;}>*HF8-PHw$PUh25xSHNuXW_T!0=iJQfAPl#F;B%FS0{2oSL%$3!~eU0o9M&@Z!LQE_DWd z?Enn=+R>y$mpTqyxD77>)z8A{_M`D41p*Tjn=VLbQG(G8e)-fVpTKKLdh5@*oN)!gMGHPz-ng*P)jN i_JIU&I*tFMe**wrqevEjZknS20000P)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;Zb?KzRCwB?lS@ccQ5eU6=gyrgI+i+!(lmmGkwlPU_CUhgxNXxyR}q4bUbL%4 zD``=?=&3?P`!?Z9U1+$deBgr=3pAly>7=*uG50lh?rCwI$#mHt4xICy@B5waaL!*y zDG@@DRYT8|2DAg0fpa_I_rM#VZ@jb4&E`re5xW5mJyY!=Mf5h+RB$XFrL-hST>A~5 zb%S>c-^lo~W4yDjZy%uk#pJbUq~O_=i#24zu#pBQ69Do;P!xtx8eR`CV5H3JlU?=C zbAZ#m(^^Oo&W+}i7{F#4q=eB49f0$v;s^l;!w?0Y4$hGAW!_jvt*ZcJ(r#Dd(HNV+ zFAHopC?05yGte4mbVA2=gS}0l@o0=p+U){R0E7@NRb?e4w!pGrY$hnqYM?dF*o=;4 zL1GK4%1RJIwB!IvNUaZRD#?_O?fCx`?}pfpPcr4BX(~!ctp`xE39ctGZ3j<6+ei?5 zc_ANwwh=1_QbP*18^%Yba{$ja=TfFwiw~CT?>pUcyxjbNreNA0zHNQUUBNU~`t`LW zg{s7L9c(8US!LI*>rkjl^tB|WvCLuVch{El$5@>0 z#!9UJ?I8Hdg_SpZ?v38!00000(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ-QAtEWRCwCFlD$d;K@^3*6*q-K0ycuMjg>xukCGyrI+&NyO4&w>nT5QEg`~9F zMl9?k44OdL*-7A7xU0qp{(+~t%(-_y?r>hsV!ms@Ll0Nrkv>2yk`)4^H`fO9Sf;OL^zwWO1K>GUS(=%SD$ zfNfyk7^AW*RTPEFvTPFB2eu`>JmE3Gq=Yc_@0XbacK{&-y!V6=yQuqYG{{pJ2 z!h26uRiFQZy%rqqz=AEVZr1@xlCWGZNs?q8;GZV>;F4Zr_@_w@2d@LpxqLJl^#I1> z@mqYgqB^eKy3TYn002ovPDHLkV1gvj B#S{Pl literal 0 HcmV?d00001 diff --git a/OnTopReplica/CloneClickEventArgs.cs b/OnTopReplica/CloneClickEventArgs.cs new file mode 100644 index 0000000..95012a7 --- /dev/null +++ b/OnTopReplica/CloneClickEventArgs.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + public class CloneClickEventArgs : EventArgs { + + public Point ClientClickLocation { get; set; } + + public bool IsDoubleClick { get; set; } + + public MouseButtons Buttons { get; set; } + + public CloneClickEventArgs(Point location, MouseButtons buttons) { + ClientClickLocation = location; + Buttons = buttons; + IsDoubleClick = false; + } + + public CloneClickEventArgs(Point location, MouseButtons buttons, bool doubleClick) { + ClientClickLocation = location; + Buttons = buttons; + IsDoubleClick = doubleClick; + } + + } +} diff --git a/OnTopReplica/CloseRequestEventArgs.cs b/OnTopReplica/CloseRequestEventArgs.cs new file mode 100644 index 0000000..c9d031e --- /dev/null +++ b/OnTopReplica/CloseRequestEventArgs.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; + +namespace OnTopReplica { + public class CloseRequestEventArgs : EventArgs { + + public WindowHandle LastWindowHandle { get; set; } + public Rectangle? LastRegion { get; set; } + + } +} diff --git a/OnTopReplica/EnumerationExtensions.cs b/OnTopReplica/EnumerationExtensions.cs new file mode 100644 index 0000000..a7cc169 --- /dev/null +++ b/OnTopReplica/EnumerationExtensions.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica { + + /// + /// Poor man's LINQ. + /// + static class EnumerationExtensions { + + public static bool Contains(IEnumerable collection, T value){ + foreach (var v in collection) + if (v.Equals(value)) + return true; + + return false; + } + + } + +} diff --git a/OnTopReplica/FocusedTextBox.cs b/OnTopReplica/FocusedTextBox.cs new file mode 100644 index 0000000..ac34c2d --- /dev/null +++ b/OnTopReplica/FocusedTextBox.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.Text; +using VistaControls; +using System.Windows.Forms; + +namespace OnTopReplica { + + class FocusedTextBox : System.Windows.Forms.TextBox { + + protected override bool IsInputChar(char charCode) { + if (charCode == '\n' || charCode == '\r') + return true; + + return base.IsInputChar(charCode); + } + + protected override void OnKeyUp(KeyEventArgs e) { + if (e.KeyCode == Keys.Return) { + if(!string.IsNullOrEmpty(Text)) + OnConfirmInput(); + + e.Handled = true; + e.SuppressKeyPress = true; + } + else if (e.KeyCode == Keys.Escape) { + OnAbortInput(); + + e.Handled = true; + e.SuppressKeyPress = true; + } + + //Console.WriteLine("{0} ({1})", e.KeyCode, e.KeyValue); + + base.OnKeyUp(e); + } + + //List of characters to ignore on KeyPress events (because they generate bell rings) + char[] _ignoreChars = new char[] { + (char)27, (char)13 + }; + + protected override void OnKeyPress(KeyPressEventArgs e) { + if (EnumerationExtensions.Contains(_ignoreChars, e.KeyChar)) { + e.Handled = true; + } + + base.OnKeyPress(e); + } + + public event EventHandler ConfirmInput; + + protected virtual void OnConfirmInput() { + var evt = ConfirmInput; + if (evt != null) + evt(this, EventArgs.Empty); + } + + public event EventHandler AbortInput; + + protected virtual void OnAbortInput() { + var evt = AbortInput; + if (evt != null) + evt(this, EventArgs.Empty); + } + + } + +} diff --git a/OnTopReplica/IMessagePumpProcessor.cs b/OnTopReplica/IMessagePumpProcessor.cs new file mode 100644 index 0000000..824b9e5 --- /dev/null +++ b/OnTopReplica/IMessagePumpProcessor.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + interface IMessagePumpProcessor : IDisposable { + + void Initialize(MainForm form); + + bool Process(ref Message msg); + + } +} diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs new file mode 100644 index 0000000..880e5af --- /dev/null +++ b/OnTopReplica/MainForm.Designer.cs @@ -0,0 +1,573 @@ +namespace OnTopReplica +{ + partial class MainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.menuContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.menuContextWindows = new System.Windows.Forms.ToolStripMenuItem(); + this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); + this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullSelectWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.switchToWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.selectRegionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.advancedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickForwardingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickThroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.groupSwitchModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextOpacity = new System.Windows.Forms.ToolStripMenuItem(); + this.menuOpacity = new System.Windows.Forms.ContextMenuStrip(this.components); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); + this.resizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuResize = new System.Windows.Forms.ContextMenuStrip(this.components); + this.doubleToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.fitToWindowToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.halfToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.quarterToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.fullscreenToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.dockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.chromeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.reduceToIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.languageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuLanguages = new System.Windows.Forms.ContextMenuStrip(this.components); + this.englishToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.cestinaToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.danskToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.italianoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); + this.fullOpacityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.danskToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFullscreenContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.enableClickthroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullExitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContext.SuspendLayout(); + this.menuWindows.SuspendLayout(); + this.menuOpacity.SuspendLayout(); + this.menuResize.SuspendLayout(); + this.menuLanguages.SuspendLayout(); + this.menuFullscreenContext.SuspendLayout(); + this.SuspendLayout(); + // + // menuContext + // + this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuContextWindows, + this.switchToWindowToolStripMenuItem, + this.selectRegionToolStripMenuItem, + this.advancedToolStripMenuItem, + this.menuContextOpacity, + this.resizeToolStripMenuItem, + this.dockToolStripMenuItem, + this.chromeToolStripMenuItem, + this.reduceToIconToolStripMenuItem, + this.toolStripSeparator1, + this.languageToolStripMenuItem, + this.aboutToolStripMenuItem, + this.menuContextClose}); + this.menuContext.Name = "menuContext"; + this.menuContext.Size = new System.Drawing.Size(169, 296); + this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); + // + // menuContextWindows + // + this.menuContextWindows.DropDown = this.menuWindows; + this.menuContextWindows.Image = global::OnTopReplica.Properties.Resources.list; + this.menuContextWindows.Name = "menuContextWindows"; + this.menuContextWindows.Size = new System.Drawing.Size(168, 22); + this.menuContextWindows.Text = global::OnTopReplica.Strings.MenuWindows; + this.menuContextWindows.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // + // menuWindows + // + this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.noneToolStripMenuItem}); + this.menuWindows.Name = "menuWindows"; + this.menuWindows.Size = new System.Drawing.Size(118, 26); + this.menuWindows.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Windows_opening); + // + // noneToolStripMenuItem + // + this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; + this.noneToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; + // + // fullSelectWindowToolStripMenuItem + // + this.fullSelectWindowToolStripMenuItem.DropDown = this.menuWindows; + this.fullSelectWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.list; + this.fullSelectWindowToolStripMenuItem.Name = "fullSelectWindowToolStripMenuItem"; + this.fullSelectWindowToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullSelectWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindows; + this.fullSelectWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // + // switchToWindowToolStripMenuItem + // + this.switchToWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_arrow; + this.switchToWindowToolStripMenuItem.Name = "switchToWindowToolStripMenuItem"; + this.switchToWindowToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.switchToWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSwitch; + this.switchToWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSwitchTT; + this.switchToWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_Switch_click); + // + // selectRegionToolStripMenuItem + // + this.selectRegionToolStripMenuItem.Enabled = false; + this.selectRegionToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.regions; + this.selectRegionToolStripMenuItem.Name = "selectRegionToolStripMenuItem"; + this.selectRegionToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.selectRegionToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRegion; + this.selectRegionToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRegionTT; + this.selectRegionToolStripMenuItem.Click += new System.EventHandler(this.Menu_Region_click); + // + // advancedToolStripMenuItem + // + this.advancedToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.clickForwardingToolStripMenuItem, + this.clickThroughToolStripMenuItem, + this.groupSwitchModeToolStripMenuItem}); + this.advancedToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_wrench; + this.advancedToolStripMenuItem.Name = "advancedToolStripMenuItem"; + this.advancedToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.advancedToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAdvanced; + // + // clickForwardingToolStripMenuItem + // + this.clickForwardingToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; + this.clickForwardingToolStripMenuItem.Name = "clickForwardingToolStripMenuItem"; + this.clickForwardingToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.clickForwardingToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickForwarding; + this.clickForwardingToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickForwardingTT; + this.clickForwardingToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickForwarding_click); + // + // clickThroughToolStripMenuItem + // + this.clickThroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.clickThroughToolStripMenuItem.Name = "clickThroughToolStripMenuItem"; + this.clickThroughToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.clickThroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.clickThroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.clickThroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // groupSwitchModeToolStripMenuItem + // + this.groupSwitchModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.groupmode; + this.groupSwitchModeToolStripMenuItem.Name = "groupSwitchModeToolStripMenuItem"; + this.groupSwitchModeToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.groupSwitchModeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuGroupSwitch; + this.groupSwitchModeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuGroupSwitchTT; + this.groupSwitchModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_GroupSwitchMode_click); + // + // menuContextOpacity + // + this.menuContextOpacity.DropDown = this.menuOpacity; + this.menuContextOpacity.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.menuContextOpacity.Name = "menuContextOpacity"; + this.menuContextOpacity.Size = new System.Drawing.Size(168, 22); + this.menuContextOpacity.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // menuOpacity + // + this.menuOpacity.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripMenuItem1, + this.toolStripMenuItem2, + this.toolStripMenuItem3, + this.toolStripMenuItem4}); + this.menuOpacity.Name = "menuOpacity"; + this.menuOpacity.ShowCheckMargin = true; + this.menuOpacity.ShowImageMargin = false; + this.menuOpacity.Size = new System.Drawing.Size(154, 92); + this.menuOpacity.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Opacity_opening); + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Checked = true; + this.toolStripMenuItem1.CheckState = System.Windows.Forms.CheckState.Checked; + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem1.Tag = 1D; + this.toolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuOp100; + this.toolStripMenuItem1.ToolTipText = global::OnTopReplica.Strings.MenuOp100TT; + this.toolStripMenuItem1.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem2 + // + this.toolStripMenuItem2.Name = "toolStripMenuItem2"; + this.toolStripMenuItem2.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem2.Tag = 0.75D; + this.toolStripMenuItem2.Text = global::OnTopReplica.Strings.MenuOp75; + this.toolStripMenuItem2.ToolTipText = global::OnTopReplica.Strings.MenuOp75TT; + this.toolStripMenuItem2.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem3 + // + this.toolStripMenuItem3.Name = "toolStripMenuItem3"; + this.toolStripMenuItem3.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem3.Tag = 0.5D; + this.toolStripMenuItem3.Text = global::OnTopReplica.Strings.MenuOp50; + this.toolStripMenuItem3.ToolTipText = global::OnTopReplica.Strings.MenuOp50TT; + this.toolStripMenuItem3.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem4 + // + this.toolStripMenuItem4.Name = "toolStripMenuItem4"; + this.toolStripMenuItem4.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem4.Tag = 0.25D; + this.toolStripMenuItem4.Text = global::OnTopReplica.Strings.MenuOp25; + this.toolStripMenuItem4.ToolTipText = global::OnTopReplica.Strings.MenuOp25TT; + this.toolStripMenuItem4.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // resizeToolStripMenuItem + // + this.resizeToolStripMenuItem.DropDown = this.menuResize; + this.resizeToolStripMenuItem.Enabled = false; + this.resizeToolStripMenuItem.Name = "resizeToolStripMenuItem"; + this.resizeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.resizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResize; + // + // menuResize + // + this.menuResize.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.doubleToolStripMenuItem1, + this.fitToWindowToolStripMenuItem1, + this.halfToolStripMenuItem1, + this.quarterToolStripMenuItem1, + this.toolStripSeparator3, + this.fullscreenToolStripMenuItem1}); + this.menuResize.Name = "menuResize"; + this.menuResize.OwnerItem = this.resizeToolStripMenuItem; + this.menuResize.Size = new System.Drawing.Size(165, 120); + this.menuResize.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Resize_opening); + // + // doubleToolStripMenuItem1 + // + this.doubleToolStripMenuItem1.Name = "doubleToolStripMenuItem1"; + this.doubleToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.doubleToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitDouble; + this.doubleToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Double); + // + // fitToWindowToolStripMenuItem1 + // + this.fitToWindowToolStripMenuItem1.Name = "fitToWindowToolStripMenuItem1"; + this.fitToWindowToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.fitToWindowToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitOriginal; + this.fitToWindowToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_FitToWindow); + // + // halfToolStripMenuItem1 + // + this.halfToolStripMenuItem1.Name = "halfToolStripMenuItem1"; + this.halfToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.halfToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitHalf; + this.halfToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Half); + // + // quarterToolStripMenuItem1 + // + this.quarterToolStripMenuItem1.Name = "quarterToolStripMenuItem1"; + this.quarterToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.quarterToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitQuarter; + this.quarterToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Quarter); + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(161, 6); + // + // fullscreenToolStripMenuItem1 + // + this.fullscreenToolStripMenuItem1.Image = global::OnTopReplica.Properties.Resources.fullscreen; + this.fullscreenToolStripMenuItem1.Name = "fullscreenToolStripMenuItem1"; + this.fullscreenToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.fullscreenToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitFullscreen; + this.fullscreenToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Fullscreen); + // + // dockToolStripMenuItem + // + this.dockToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.topLeftToolStripMenuItem, + this.topRightToolStripMenuItem, + this.bottomLeftToolStripMenuItem, + this.bottomRightToolStripMenuItem}); + this.dockToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_null; + this.dockToolStripMenuItem.Name = "dockToolStripMenuItem"; + this.dockToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.dockToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosition; + this.dockToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuPositionTT; + // + // topLeftToolStripMenuItem + // + this.topLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topleft; + this.topLeftToolStripMenuItem.Name = "topLeftToolStripMenuItem"; + this.topLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopLeft; + this.topLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopLeft); + // + // topRightToolStripMenuItem + // + this.topRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topright; + this.topRightToolStripMenuItem.Name = "topRightToolStripMenuItem"; + this.topRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopRight; + this.topRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopRight); + // + // bottomLeftToolStripMenuItem + // + this.bottomLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomleft; + this.bottomLeftToolStripMenuItem.Name = "bottomLeftToolStripMenuItem"; + this.bottomLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomLeft; + this.bottomLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomLeft); + // + // bottomRightToolStripMenuItem + // + this.bottomRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomright; + this.bottomRightToolStripMenuItem.Name = "bottomRightToolStripMenuItem"; + this.bottomRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomRight; + this.bottomRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomRight); + // + // chromeToolStripMenuItem + // + this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem"; + this.chromeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.chromeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuChrome; + this.chromeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuChromeTT; + this.chromeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Chrome_click); + // + // reduceToIconToolStripMenuItem + // + this.reduceToIconToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.reduce; + this.reduceToIconToolStripMenuItem.Name = "reduceToIconToolStripMenuItem"; + this.reduceToIconToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.reduceToIconToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReduce; + this.reduceToIconToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuReduceTT; + this.reduceToIconToolStripMenuItem.Click += new System.EventHandler(this.Menu_Reduce_click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(165, 6); + // + // languageToolStripMenuItem + // + this.languageToolStripMenuItem.DropDown = this.menuLanguages; + this.languageToolStripMenuItem.Name = "languageToolStripMenuItem"; + this.languageToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.languageToolStripMenuItem.Text = global::OnTopReplica.Strings.Language; + // + // menuLanguages + // + this.menuLanguages.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.englishToolStripMenuItem, + this.cestinaToolStripMenuItem, + this.danskToolStripMenuItem1, + this.italianoToolStripMenuItem}); + this.menuLanguages.Name = "menuLanguages"; + this.menuLanguages.OwnerItem = this.languageToolStripMenuItem; + this.menuLanguages.Size = new System.Drawing.Size(114, 92); + this.menuLanguages.Text = "Dansk"; + // + // englishToolStripMenuItem + // + this.englishToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_usa; + this.englishToolStripMenuItem.Name = "englishToolStripMenuItem"; + this.englishToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.englishToolStripMenuItem.Tag = "en-US"; + this.englishToolStripMenuItem.Text = "English"; + this.englishToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // cestinaToolStripMenuItem + // + this.cestinaToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_czech; + this.cestinaToolStripMenuItem.Name = "cestinaToolStripMenuItem"; + this.cestinaToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.cestinaToolStripMenuItem.Tag = "cs-CZ"; + this.cestinaToolStripMenuItem.Text = "Čeština"; + this.cestinaToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // danskToolStripMenuItem1 + // + this.danskToolStripMenuItem1.Image = global::OnTopReplica.Properties.Resources.flag_danish; + this.danskToolStripMenuItem1.Name = "danskToolStripMenuItem1"; + this.danskToolStripMenuItem1.Size = new System.Drawing.Size(113, 22); + this.danskToolStripMenuItem1.Tag = "da-DK"; + this.danskToolStripMenuItem1.Text = "Dansk"; + this.danskToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Language_click); + // + // italianoToolStripMenuItem + // + this.italianoToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_ita; + this.italianoToolStripMenuItem.Name = "italianoToolStripMenuItem"; + this.italianoToolStripMenuItem.Size = new System.Drawing.Size(113, 22); + this.italianoToolStripMenuItem.Tag = "it-IT"; + this.italianoToolStripMenuItem.Text = "Italiano"; + this.italianoToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_help; + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.aboutToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAbout; + this.aboutToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAboutTT; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.Menu_About_click); + // + // menuContextClose + // + this.menuContextClose.Image = global::OnTopReplica.Properties.Resources.close_new; + this.menuContextClose.Name = "menuContextClose"; + this.menuContextClose.Size = new System.Drawing.Size(168, 22); + this.menuContextClose.Text = global::OnTopReplica.Strings.MenuClose; + this.menuContextClose.Click += new System.EventHandler(this.Menu_Close_click); + // + // fullOpacityToolStripMenuItem + // + this.fullOpacityToolStripMenuItem.DropDown = this.menuOpacity; + this.fullOpacityToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.fullOpacityToolStripMenuItem.Name = "fullOpacityToolStripMenuItem"; + this.fullOpacityToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullOpacityToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // danskToolStripMenuItem + // + this.danskToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_danish; + this.danskToolStripMenuItem.Name = "danskToolStripMenuItem"; + this.danskToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.danskToolStripMenuItem.Tag = "da-DA"; + this.danskToolStripMenuItem.Text = "Dansk"; + this.danskToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // menuFullscreenContext + // + this.menuFullscreenContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fullSelectWindowToolStripMenuItem, + this.fullOpacityToolStripMenuItem, + this.enableClickthroughToolStripMenuItem, + this.fullExitToolStripMenuItem}); + this.menuFullscreenContext.Name = "menuFullscreenContext"; + this.menuFullscreenContext.Size = new System.Drawing.Size(190, 92); + // + // enableClickthroughToolStripMenuItem + // + this.enableClickthroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; + this.enableClickthroughToolStripMenuItem.Name = "enableClickthroughToolStripMenuItem"; + this.enableClickthroughToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.enableClickthroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.enableClickthroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.enableClickthroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // fullExitToolStripMenuItem + // + this.fullExitToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; + this.fullExitToolStripMenuItem.Name = "fullExitToolStripMenuItem"; + this.fullExitToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullExitToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuQuitFullscreen; + this.fullExitToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_ExitFullscreen_click); + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.Control; + this.ClientSize = new System.Drawing.Size(264, 204); + this.ControlBox = false; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.MinimumSize = new System.Drawing.Size(20, 34); + this.Name = "MainForm"; + this.Text = "OnTopReplica"; + this.TopMost = true; + this.menuContext.ResumeLayout(false); + this.menuWindows.ResumeLayout(false); + this.menuOpacity.ResumeLayout(false); + this.menuResize.ResumeLayout(false); + this.menuLanguages.ResumeLayout(false); + this.menuFullscreenContext.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ContextMenuStrip menuContext; + private System.Windows.Forms.ToolStripMenuItem menuContextWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextClose; + private System.Windows.Forms.ContextMenuStrip menuWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextOpacity; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.ContextMenuStrip menuOpacity; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem4; + private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem reduceToIconToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem selectRegionToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem resizeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem switchToWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem dockToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topRightToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomRightToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuResize; + private System.Windows.Forms.ToolStripMenuItem doubleToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fitToWindowToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem halfToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem quarterToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fullscreenToolStripMenuItem1; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripMenuItem languageToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuLanguages; + private System.Windows.Forms.ToolStripMenuItem englishToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem italianoToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem cestinaToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem danskToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem chromeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem danskToolStripMenuItem1; + private System.Windows.Forms.ContextMenuStrip menuFullscreenContext; + private System.Windows.Forms.ToolStripMenuItem fullSelectWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullOpacityToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullExitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem advancedToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickForwardingToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickThroughToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem groupSwitchModeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem enableClickthroughToolStripMenuItem; + } +} + diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs new file mode 100644 index 0000000..f0dd4c3 --- /dev/null +++ b/OnTopReplica/MainForm.cs @@ -0,0 +1,540 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using VistaControls.Dwm; +using VistaControls.TaskDialog; +using System.Collections.Generic; +using OnTopReplica.Native; +using OnTopReplica.Update; + +namespace OnTopReplica { + + partial class MainForm : AspectRatioForm { + + //GUI elements + ThumbnailPanel _thumbnailPanel; + SidePanel _currentSidePanel = null; + Panel _sidePanelContainer; + + //Managers + WindowManager _windowManager = new WindowManager(); + MessagePumpManager _msgPumpManager = new MessagePumpManager(); + UpdateManager _updateManager = new UpdateManager(); + + FormBorderStyle _defaultBorderStyle; + + public MainForm() { + InitializeComponent(); + KeepAspectRatio = false; + + //Store default values + _defaultBorderStyle = FormBorderStyle; + _nonClickThroughKey = TransparencyKey; + + //Thumbnail panel + _thumbnailPanel = new ThumbnailPanel { + Location = Point.Empty, + Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right, + Size = ClientSize + }; + _thumbnailPanel.CloneClick += new EventHandler(Thumbnail_CloneClick); + Controls.Add(_thumbnailPanel); + + //Side panel + _sidePanelContainer = new Panel { + Location = new Point(ClientSize.Width, 0), + Anchor = AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom, + Enabled = false, + Visible = false, + Size = new Size(100, ClientSize.Height), + Padding = new Padding(4) + }; + Controls.Add(_sidePanelContainer); + + //Set native renderer on context menus + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer( + menuContext, menuWindows, menuOpacity, menuResize, menuLanguages, menuFullscreenContext + ); + + //Init message pump extensions + _msgPumpManager.Initialize(this); + + //Add hotkeys + var hotKeyMgr = _msgPumpManager.Get(); + hotKeyMgr.RegisterHotKey(Native.HotKeyModifiers.Control | Native.HotKeyModifiers.Shift, + Keys.O, new Native.HotKeyMethods.HotKeyHandler(HotKeyOpenHandler)); + hotKeyMgr.RegisterHotKey(Native.HotKeyModifiers.Control | Native.HotKeyModifiers.Shift, + Keys.C, new Native.HotKeyMethods.HotKeyHandler(HotKeyCloneHandler)); + + //Set to Key event preview + this.KeyPreview = true; + } + + delegate void GuiAction(); + + void UpdateManager_CheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + this.Invoke(new GuiAction(() => { + if (e.Success) { + _updateManager.HandleUpdateCheck(this, e.Information, false); + } + else { + Console.WriteLine("Failed to check for updates: {0}", e.Error); + } + })); + } + + #region Event override + + protected override CreateParams CreateParams { + get { + //Needed to hide caption, while keeping window title in task bar + var parms = base.CreateParams; + parms.Style &= ~0x00C00000; //WS_CAPTION + parms.Style &= 0x00040000; //WS_SIZEBOX + return parms; + } + } + + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + //Platform specific form initialization + Program.Platform.InitForm(this); + + //Glassify window + GlassEnabled = true; + } + + protected override void OnHandleCreated(EventArgs e) { + base.OnHandleCreated(e); + + //Check for updates + _updateManager.UpdateCheckCompleted += new EventHandler(UpdateManager_CheckCompleted); + _updateManager.CheckForUpdate(); + } + + protected override void OnClosing(CancelEventArgs e) { + _msgPumpManager.Dispose(); + + base.OnClosing(e); + } + + Margins fullMargins = new Margins(-1); + + protected override void OnResize(EventArgs e) { + base.OnResize(e); + + this.GlassMargins = (_currentSidePanel != null) ? + new Margins(ClientSize.Width - _sidePanelContainer.Width, 0, 0, 0) : + fullMargins; + } + + protected override void OnActivated(EventArgs e) { + base.OnActivated(e); + + //Deactivate click-through if reactivated + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + + Program.Platform.RestoreForm(this); + } + + protected override void OnDeactivate(EventArgs e) { + base.OnDeactivate(e); + + //HACK: sometimes, even if TopMost is true, the window loses its "always on top" status. + // This is an attempt of a fix that probably won't work... + if (!IsFullscreen) { //fullscreen mode doesn't use TopMost + TopMost = false; + TopMost = true; + } + } + + protected override void OnMouseWheel(MouseEventArgs e) { + base.OnMouseWheel(e); + + if (!IsFullscreen) { + int change = (int)(e.Delta / 6.0); //assumes a mouse wheel "tick" is in the 80-120 range + AdjustSize(change); + } + } + + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); + + //This is handled by the WM_NCLBUTTONDBLCLK msg handler usually (because the GlassForm translates + //clicks on client to clicks on caption). But if fullscreen mode disables GlassForm dragging, we need + //this auxiliary handler to switch mode. + IsFullscreen = !IsFullscreen; + } + + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); + + //Same story as above (OnMouseDoubleClick) + if (e.Button == System.Windows.Forms.MouseButtons.Right) { + OpenContextMenu(); + } + } + + protected override void WndProc(ref Message m) { + if (_msgPumpManager != null) { + if (_msgPumpManager.PumpMessage(ref m)) { + return; + } + } + + switch (m.Msg) { + case WM.NCRBUTTONUP: + //Open context menu if right button clicked on caption (i.e. all of the window area because of glass) + if (m.WParam.ToInt32() == HT.CAPTION) { + OpenContextMenu(); + + m.Result = IntPtr.Zero; + return; + } + break; + + case WM.NCLBUTTONDBLCLK: + //Toggle fullscreen mode if double click on caption (whole glass area) + if (m.WParam.ToInt32() == HT.CAPTION) { + IsFullscreen = !IsFullscreen; + + m.Result = IntPtr.Zero; + return; + } + break; + + case WM.NCHITTEST: + //Make transparent to hit-testing if in click through mode + if (ClickThroughEnabled && (ModifierKeys & Keys.Alt) != Keys.Alt) { + m.Result = (IntPtr)HT.TRANSPARENT; + return; + } + break; + } + + base.WndProc(ref m); + } + + #endregion + + const string Title = "OnTopReplica"; + + #region Keyboard event handling + + protected override void OnKeyUp(KeyEventArgs e) { + base.OnKeyUp(e); + + //ALT + if (e.Modifiers == Keys.Alt) { + if (e.KeyCode == Keys.Enter) { + e.Handled = true; + IsFullscreen = !IsFullscreen; + } + + else if (e.KeyCode == Keys.D1 || e.KeyCode == Keys.NumPad1) { + FitToThumbnail(0.25); + } + + else if (e.KeyCode == Keys.D2 || e.KeyCode == Keys.NumPad2) { + FitToThumbnail(0.5); + } + + else if (e.KeyCode == Keys.D3 || e.KeyCode == Keys.NumPad3 || e.KeyCode == Keys.D0 || e.KeyCode == Keys.NumPad0) { + FitToThumbnail(1.0); + } + + else if (e.KeyCode == Keys.D4 || e.KeyCode == Keys.NumPad4) { + FitToThumbnail(2.0); + } + } + + //ESCAPE + else if (e.KeyCode == Keys.Escape) { + +#if DEBUG + Console.WriteLine("Received ESCAPE"); +#endif + + //Disable click-through + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + //Toggle fullscreen + else if (IsFullscreen) { + IsFullscreen = false; + } + //Disable click forwarding + else if (_thumbnailPanel.ReportThumbnailClicks) { + _thumbnailPanel.ReportThumbnailClicks = false; + } + } + } + + void HotKeyOpenHandler() { + if (IsFullscreen) + IsFullscreen = false; + + if (!Program.Platform.IsHidden(this)) { + Program.Platform.HideForm(this); + } + else { + EnsureMainFormVisible(); + } + } + + void HotKeyCloneHandler() { + var handle = Win32Helper.GetCurrentForegroundWindow(); + if (handle.Handle == this.Handle) + return; + + SetThumbnail(handle, null); + } + + #endregion + + #region Fullscreen + + bool _isFullscreen = false; + Point _preFullscreenLocation; + Size _preFullscreenSize; + + public bool IsFullscreen { + get { + return _isFullscreen; + } + set { + if (IsFullscreen == value) + return; + if (value && !_thumbnailPanel.IsShowingThumbnail) + return; + + CloseSidePanel(); //on switch, always hide side panels + GlassEnabled = !value; + FormBorderStyle = (value) ? FormBorderStyle.None : _defaultBorderStyle; + TopMost = !value; + HandleMouseMove = !value; + + //Location and size + if (value) { + _preFullscreenLocation = Location; + _preFullscreenSize = Size; + + var currentScreen = Screen.FromControl(this); + Size = currentScreen.WorkingArea.Size; + Location = currentScreen.WorkingArea.Location; + } + else { + Location = _preFullscreenLocation; + Size = _preFullscreenSize; + RefreshAspectRatio(); + } + + _isFullscreen = value; + + Program.Platform.OnFormStateChange(this); + } + } + + #endregion + + #region Thumbnail operation + + /// + /// Sets a new thumbnail. + /// + /// Handle to the window to clone. + /// Region of the window to clone. + public void SetThumbnail(WindowHandle handle, StoredRegion region) { + try { + CurrentThumbnailWindowHandle = handle; + _thumbnailPanel.SetThumbnailHandle(handle); + + if (region != null) + _thumbnailPanel.SelectedRegion = region.Rect; + else + _thumbnailPanel.ConstrainToRegion = false; + + //Set aspect ratio (this will resize the form), do not refresh if in fullscreen + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize, !IsFullscreen); + } + catch (Exception ex) { + ThumbnailError(ex, false, Strings.ErrorUnableToCreateThumbnail); + } + } + + /// + /// Enables group mode on a list of window handles. + /// + /// List of window handles. + public void SetThumbnailGroup(IList handles) { + if (handles.Count == 0) + return; + + //At last one thumbnail + SetThumbnail(handles[0], null); + + //Handle if no real group + if (handles.Count == 1) + return; + + CurrentThumbnailWindowHandle = null; + _msgPumpManager.Get().EnableGroupMode(handles); + } + + /// + /// Disables the cloned thumbnail. + /// + public void UnsetThumbnail() { + //Unset handle + CurrentThumbnailWindowHandle = null; + _thumbnailPanel.UnsetThumbnail(); + + //Disable aspect ratio + KeepAspectRatio = false; + } + + /// + /// Gets or sets the region displayed of the current thumbnail. + /// + public Rectangle? SelectedThumbnailRegion { + get { + if (!_thumbnailPanel.IsShowingThumbnail || !_thumbnailPanel.ConstrainToRegion) + return null; + + return _thumbnailPanel.SelectedRegion; + } + set { + if (!_thumbnailPanel.IsShowingThumbnail) + return; + + if (value.HasValue) { + _thumbnailPanel.SelectedRegion = value.Value; + SetAspectRatio(value.Value.Size, true); + } + else { + _thumbnailPanel.ConstrainToRegion = false; + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize, true); + } + + FixPositionAndSize(); + } + } + + const int FixMargin = 10; + + /// + /// Fixes the form's position and size, ensuring it is fully displayed in the current screen. + /// + private void FixPositionAndSize() { + var screen = Screen.FromControl(this); + + if (Width > screen.WorkingArea.Width) { + Width = screen.WorkingArea.Width - FixMargin; + } + if (Height > screen.WorkingArea.Height) { + Height = screen.WorkingArea.Height - FixMargin; + } + if (Location.X + Width > screen.WorkingArea.Right) { + Location = new Point(screen.WorkingArea.Right - Width - FixMargin, Location.Y); + } + if (Location.Y + Height > screen.WorkingArea.Bottom) { + Location = new Point(Location.X, screen.WorkingArea.Bottom - Height - FixMargin); + } + } + + private void ThumbnailError(Exception ex, bool suppress, string title) { + if (!suppress) { + ShowErrorDialog(title, Strings.ErrorGenericThumbnailHandleError, ex.Message); + } + + UnsetThumbnail(); + } + + /// Automatically sizes the window in order to accomodate the thumbnail p times. + /// Scale of the thumbnail to consider. + private void FitToThumbnail(double p) { + try { + Size originalSize = _thumbnailPanel.ThumbnailOriginalSize; + Size fittedSize = new Size((int)(originalSize.Width * p), (int)(originalSize.Height * p)); + ClientSize = fittedSize; + } + catch (Exception ex) { + ThumbnailError(ex, false, Strings.ErrorUnableToFit); + } + } + + #endregion + + #region Click-through + + bool _clickThrough = false; + Color _nonClickThroughKey; + + public bool ClickThroughEnabled { + get { + return _clickThrough; + } + set { + //Adjust opacity if fully opaque + if (value && Opacity == 1.0) + Opacity = 0.75; + if (!value) + Opacity = 1.0; + + //Enable transparency and force as top-most + TransparencyKey = (value) ? Color.Black : _nonClickThroughKey; + if (value) + TopMost = true; + + _clickThrough = value; + } + } + + #endregion + + #region Accessors + + /// + /// Gets the form's thumbnail panel. + /// + public ThumbnailPanel ThumbnailPanel { + get { + return _thumbnailPanel; + } + } + + /// + /// Gets the form's message pump manager. + /// + public MessagePumpManager MessagePumpManager { + get { + return _msgPumpManager; + } + } + + /// + /// Gets the form's window list drop down menu. + /// + public ContextMenuStrip MenuWindows { + get { + return menuWindows; + } + } + + /// + /// Retrieves the window handle of the currently cloned thumbnail. + /// + public WindowHandle CurrentThumbnailWindowHandle { + get; + private set; + } + + #endregion + + } +} diff --git a/OnTopReplica/MainForm.resx b/OnTopReplica/MainForm.resx new file mode 100644 index 0000000..e1539d6 --- /dev/null +++ b/OnTopReplica/MainForm.resx @@ -0,0 +1,324 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 142, 17 + + + 275, 17 + + + 578, 17 + + + 695, 17 + + + 399, 17 + + + + + AAABAAIAMDAAAAEAIACoJQAAJgAAABAQAAABACAAaAQAAM4lAAAoAAAAMAAAAGAAAAABACAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAAAAFwAAACAAAAAnAAAAKwAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAAKwAAACcAAAAfAAAAFwAAAA0AAAAGAAAABgAAAA4AAAAdAAAALQAAAD0AAABIAAAATgAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATgAAAEgAAAA9AAAALQAAABwAAAANAAAACwAAABkAAAAwAAAARwAA + AFsAAABpAAAAcAAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcAAAAGkAAABdAAAASAAAAC8AAAAYAAAAEQAA + ACQAAABBAAAAbAoKC6QYGBiyFhcXtBcXF7QXFxe0FxcXtBcXF7UXFxi0FxcYtBcYGLQXGBi0FxgYtBgY + GLQXGBi0FxcYtBcXF7QXFxe0FxcXtBcXF7QXFxe0FxcXtRcXF7UXFxe1FxcXtBcXF7QXFxe0FxcXtBYX + F7QWFhe0FhYXtBYWFrQWFhe0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe0GBgYtQEBAqYAAAB5AAAAXwAA + AEEAAAAkAAAAFwAAACwAAABdOTk3u46IgKWTjIKUkYiAk4yEepKHf3WQhHtyj4B5b45+eG2NfHVrjHly + Z4t5cmeLeXFni3huZot5b2aLe3JoioB3bIuDe3KMiH92jIyCeIyMhXqNjYZ7jo2HfI+Ph36PkId/j5GI + f4+SiX+PkomAj5OLgJCTjIKQk4yCkJSMgpCTi4GQj4h+joyEeo2LgniMjIN5jY+HfY6RiYCPkoqAjn55 + c7IXFxe1AAAAcQAAAFAAAAAuAAAAGwAAADAJCQmJkoyGrJ6ViXCypp2Fv7OskL2yq5G6r6ePt6yljbWr + o4yzqqGLsaefirClnYmupJ2JrqOdia6inYqvpJ2JsqafibSqo4m4raeKu7Gqiryyq4u8s6uLu7OsjLyz + rYy8s62MvbOujb20ro29ta6NvbWujry2ro67tq6OvLaujr23r468ta6OurOsjLiyq4u3sayLubOvjLu0 + so20ramGnpWNdJ+ViGxnZWG9AAAAiQAAAFYAAAAzAAAAHAAAADIREhKSqaGapbK4splz3ePrceDn8nPg + 5/N14OfzduDm83nh5fN84uXyf+Lk8oLj5PKF4+Lyh+Pi8onk4PKM5d/yj+Xf8pPm3/KX6ODynOni8qDq + 4/Kk7OLyqO7i863w4vKy8+Hytvbh87z44fPE+uHzzvvk89776vPs+/Pz+fv58//7/fP/+/7z//v98v/7 + 9/L8++3y9/vi8/b70fPz+b7u1da5u6mim3V/fHe1AAAAkQAAAFkAAAA2AAAAHQAAADMQEBCRsKiirMLO + ybBI3eT/PNnf/z3Z2v8+2df/P9nV/0HZ0/9G2tL/StvQ/0vbzv9O28v/UNzJ/1Pcx/9W3sX/WuHD/13k + wv9i6ML/aO/E/3D1x/99+s7/jP3W/53/4P+y/+r/xf/x/9r/+f/v//3/9//8//n//P/6//r/8v/r/+H/ + 3v+//dr/t/3Z/8L+zv/K/7H/1f2b/9r8jv/X/Yz/0Oa+1r2zsYJ+e3e4AAAAkQAAAFoAAAA3AAAAHQAA + ADMPDw+RtKumr8bSz7Y809n/L9DT/zLQ0f8zz8//NNDL/zfQyf860Mj/PNHF/z3Sw/9A1cH/RdnC/0re + xP9S5cj/W+zN/2by0/9x+Nj/e/3d/4L/4P+L/+T/mf/o/6n/6/+5/+z/xP/n/8f/2/+//8z/tPy//6X5 + tf+Z96//jPar/3j1rP9z97j/gvrD/4X9yf+Q/cv/qvu5/7jtkf+112f/z9mt2cW9u4iAfXm5AAAAkQAA + AFoAAAA3AAAAHQAAADMPDw+Rta6osMfT0Lc40tX/LM/Q/zHQz/8y0c7/NdTO/znXz/8/29H/ROHV/0zo + 2P9T7tz/WvTg/2D54v9l++H/avzf/27+3f90/9v/ev/a/4H/1/+K/tT/kPzL/5H4v/+N87D/he6f/4Dp + k/+B5o3/huWK/4/liP+W5of/muaG/5zihv+e2ob/pNeJ/6ncjP+s5pD/pO6U/5/wlv+h4oX/ytu32si/ + vYuCf3u6AAAAkQAAAFoAAAA2AAAAHQAAADMPDw+Rt6+qscnV0bk+2Nf/M9nV/zrd2P9A4tz/Rejf/0jq + 4P9J6tv/TOrW/07o0P9P5sn/UefD/1Xqwf9c8ML/ZPXC/2v3wP9v8rn/cOqv/27iof9r25X/a9mN/3TZ + jP9924v/gtuH/4fbgv+I2n7/itR6/4nNdP+HxW3/iL5o/4y4YP+St1X/k7ZL/5S1Tv+ZtlX/pL5d/67L + Yv+x123/0uC828rCwI2DgHy7AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RuLCss8rX07pG4dz/Od7W/zzb + 0f8/2s3/P9jI/0DUwv8/0Ln/Q9G2/0rXuP9S3rr/WuS9/1/kuf9f3rD/X9ai/1/Pl/9hzJD/Zc+M/2zT + if9x1oj/d9eE/37Vg/+D0X//fshz/3m+aP95uGP/e7Nf/3+wXP+FsFb/jLVR/4+8Uv+QwFv/k8Rk/5zF + Zf+hw2D/pMBY/6i7Uv+ps0D/0M+i3M3Hx5CEgX68AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RubKutMvW + 0rs/ysH/MsS3/zbDtP87x7b/Qc27/0bVwP9L2b//Ttq7/1HWs/9T0Kn/Vcqh/1jImv9dy5X/Y9CS/2nT + kP9u1Yz/cNOG/3DOfv9wx3X/cMJv/3vDcf+GxnH/gsFl/4G/Xv+Iv17/jMNc/5DHXP+QzGH/jM9u/4vL + c/+OwWz/j7lg/5GyVP+SqEn/lqJB/5icOv+WkSr/yMOb3NDMypGFgn+9AAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+RurOvtszW0bxCxbj/OMa2/0DNu/9F0r3/SdS9/0rSt/9LzKz/TMik/1HLoP9a0aH/Y9ih/2vc + nv9w3Jf/cdqP/3PXiP931YH/etV8/37Vdv+A1HD/hdNq/5XUbv+Z027/icll/4HGYv+Dx1z/hcJU/4K3 + VP99qVX/fJ1J/3yTPP97izT/fIYv/4CDK/+EgSj/iIAn/4uBJv+MfBr/xr2W3dPPzZOHhIG9AAAAkAAA + AFoAAAA2AAAAHQAAADIPDw+RvLWwts7Z071K0L7/Psq0/0LKr/9HzK3/T9Ox/1jdtv9f5bf/Y+q0/2rt + r/9y7Kn/eeqj/4Hmnf+C4pT/gNyK/3/Tfv99zHP/e8Rp/3e7Yf9ysl3/b69h/3e2cf9zuHD/aa9Z/3Gn + Qv94nDT/dI4v/3KGKv90gyb/doIk/3d/I/94fCH/enog/3x4IP+AeCD/g3kg/4d6Iv+Idhf/xLuW3tbR + 0JWHhIG+AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvLWxuM/Z075W173/Utq7/1riv/9h6cL/aOzC/23t + v/9s6bP/aeCl/2nVl/9pzIz/bcSB/3C8d/9ts23/Z6lj/2SiXf9hnVv/XZpb/1yZXP9cnFv/ZaVZ/3aw + U/94pjv/cY8n/2+EJP9sgCX/bH4k/3B+I/92gCL/en8f/3p7Hv95eB7/eXcd/3t1Hv9+dR7/gHYf/4R3 + H/+FchX/w7qW3tfT0peHhYK/AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvbazuNHb1b9k3r//WNez/1bP + qP9Tx5z/U7+U/1O5jv9Ss4T/UKp2/1Cha/9Tnmb/Wp5j/2ChZP9gn2L/XJld/1yYXP9cmFf/XphQ/2Sa + R/9nmDr/cJkv/32dKf92jyT/an0h/2p9If9ufyD/cn4e/3V+Hf98gB3/fX8c/3t6HP95dhz/eHQb/3lz + HP97cxz/fXQc/4J0Hf+CbxL/wrmV3tjU1JiIhoPAAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+Qvbe1udDY + 0sBPt5b/QauH/0Khff9CnXT/RZ1y/0iecP9Lnm3/S5pn/0yVYv9QlGD/WZlf/2KhXv9ln1n/YplS/2WZ + TP9nmEP/aJQ5/2aNLP9mhST/dI0i/3+WI/9yhx//aXkc/2x7G/9xfhr/dYEa/3qAGv+Agxr/f4AZ/3x7 + Gv95dhr/eHIZ/3hxGv95cRn/fHEa/4ByG/+AbBD/wbiU39nW1pqIhoPAAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+Qvrq2utDW0MFJo4D/P5xz/0KVbP9BkWb/RJJl/0eVZ/9LmGb/TZZh/0+TW/9UlFf/X5pU/2ui + U/9uoUz/bZtD/2+YO/9oji//ZIQl/2Z/IP9ugB3/e40e/32QHv9xgRv/a3kY/298F/90gRf/eYMY/36D + F/+Ehhj/g4IY/358GP96dhj/d3IY/3dwGP94bxj/em8Y/31wGf99ag7/wbiU4NzY15uJh4TBAAAAkAAA + AFoAAAA2AAAAHQAAADIPDw6Qv7q3u9DWz8FJnnT/QJdq/0KPZP9Di1//RYxd/0mQXP9Ok1r/UJNW/1OS + Uf9ak0z/aJxI/3ilRP96oT3/b5Qx/2yMKP9pgyH/a4Ac/219Gf9wfhj/eosa/3yOGv9xfxf/bnwW/3J/ + Ff96hBX/fYMW/4GFFv+Hhxb/hYMW/398Ff97dRb/eHIW/3dvFv93bhb/eG4W/3xuF/97aAz/wLiU4N3Z + 2JuJh4TBAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6Qv7u4u9DWz8JLmm3/QpRh/0SNWv9Fh1P/SYhR/0yL + T/9Rjk7/V5RK/12XRv9mmUD/dqI8/4GmNf93mCz/booj/3OKHv9yhBr/cH8V/257FP9ygBb/fY8Y/36P + GP9ygBT/cn4U/3iDFP+AiBT/foUT/4aIFP+IiBT/hYMU/398E/98dhP/eXMU/3hwFP93bRX/d20V/3tt + Ff94Zgr/wLeT4N3Z2p2KiIXBAAAAkAAAAFoAAAA2AAAAHQAAADIODg6QwLy5vNHWz8JOmGP/RpNW/0eK + UP9Igkj/SoJG/1CIQ/9blEL/ZJs+/2qfO/9zoTX/eJ0s/32aJP95kiD/doob/3uMGf92hRb/cYAU/258 + Ev92hRP/g5MV/4WSFf92gxL/eIMS/3+HEv+EjBL/gYcR/4mKEf+IiRL/hIMS/4B8EP98dxH/e3QS/3lx + E/93bhP/eG0T/3lsFP93ZQn/wLeT4d7a252KiIXCAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6QwLy5vNHW + zcNRlFj/SZJN/0yIR/9MgD//VYs8/2CXOv9lmDf/bqU1/3CgL/9tjiX/d5Eg/4OaHv9/khz/e4sX/4KN + Fv96hhT/dIAS/3N/Ef9/ixP/i5kU/4qVFP98hhH/fogR/4WNEf+GjRH/hYkO/4mLD/+IiA//hIEQ/398 + D/99eA//fXYQ/3xzEf96bxL/eW0S/3ptEv93Zgf/wLiS4d7a256LiIbCAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDg6QwLy6vNLVzcNUklD/S5BD/1OOP/9elTr/YZQ0/2WYMf9urC//apgn/2WCIP9wiR7/f5Uc/4qb + Gv+Fkhr/gIsV/4SNE/98hhL/eIEP/3mDEP+GkhL/kp4S/4uWEf+Aig//gosO/4qREP+IjQ//iYsN/4uM + Df+Ihgz/hIEO/4B7Df9/eA3/gXgP/4B1D/9+chD/fW4R/3xtEf95aAb/wbmS4d/c3J+LiYbCAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Rwby6vdLVzMRVkUf/WZ89/2WjOv9gjzD/ZKAu/2muLf9ljST/ZH0f/2uE + Hf93jRv/hZYY/4+bF/+Ikhr/gooS/4OMEP99hg7/eoIO/36HDv+NlxD/l6AQ/42VD/+FjQ3/h44N/4+U + D/+IjA7/jYwM/46KDP+JhAr/gn8M/396C/+BeAz/g3gN/4J1Df+Acw7/fm8P/31uD/98awT/wruS4d/c + 3J+LiYbDAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RwLy7vtPWzMRjo0L/YaY2/1+XMf9lri7/YqQp/1x+ + If9lgB7/aoIc/2+FGv99jRf/i5YV/5KaFv+JkBj/gogP/4OLDf9/hgz/fIML/4OKDP+Umw7/nKEP/42T + Df+Ijgz/jJEM/5CWDf+Liwz/kY4K/4+KC/+Jgwn/gn0K/4B5Cv+CeAv/g3gM/4N2Df+Acw3/f28N/35v + Df9+bgP/w72S4d7c3KCLiYbDAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Rwr27vdTYzMRfmTv/W6Ew/2a+ + M/9emCj/WHUf/197Hf9ogxv/bIIY/3KFF/+AjhT/jZcT/5KZFv+IjhX/gogM/4WJDP+AhQr/f4UJ/4iO + C/+ang3/naEN/42SC/+LkAv/kZUL/5KUC/+OjAn/lI8J/4+JCf+Jgwj/g30J/4F5CP+DeQj/g3gK/4J2 + C/9/cgz/fm8L/4BxDP+AcQL/xL6R4d/b3KCLiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Qwr28vtPU + y8Rgojn/YcEx/1uXKf9Zdx//W3gb/2F8Gf9rgxf/bYEV/3WFE/+DjhL/j5YP/5KXE/+HjBL/g4gK/4WJ + Cf+ChQj/gYYI/46SCP+eoQv/naAL/42RCf+OkQr/lpgK/5ORCf+Sjgj/lI8I/4+JCP+Jggf/g30G/4F6 + Bv+DeQf/gncJ/4F0Cv9+cQr/fW8J/4ByC/+BcwD/xL+R4t3a26GKiIXEAAAAjwAAAFoAAAA2AAAAHQAA + ADIPDw+Qwby8v9XczMVhuDf/VpEl/1qFIv9bfBz/XHcZ/2J7Fv9rgRT/b4AR/3eFEP+FjRD/jpUL/5GV + EP+GihD/g4YH/4WIB/+ChAf/hIYH/5SVB/+hogr/nJ0J/5GRB/+Tkgj/mZgJ/5KPCP+VkAf/lY8H/4+I + B/+Jggb/hH0F/4J6Bf+CeAb/gnYH/350CP97cAj/e3AI/4F0Cv+BdQD/xL+R4t3Y26KKiIXEAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Qwb69v9TWy8ZZhCz/Voof/1yJIP9cexn/XHYW/2N5FP9sfxH/bn8O/3mE + Df+EjQz/jZMI/5GUEP+FiQ3/hIUF/4aGBf+ChAb/hocF/5iYBv+jpAb/m5oH/5ORB/+WlQb/mZcH/5KP + Bf+XkQb/lY4F/46HBv+IgQX/hHwE/4N7BP+CeAX/f3UG/3xyBv96bwb/e3EG/4J2Cf+CdwD/xL+Q4tzZ + 26KKiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw769v9TVy8ZXgin/V4sc/1yKHv9behj/XXQV/2N3 + Ev9rfA//b30N/3mCDP+Eiwv/jJEI/5CSEv+Ehgz/g4QD/4WFBf+CgwX/iokF/5uaBv+jpAX/mJYF/5OQ + Bv+Ylgb/lpMG/5SPBf+YkQb/k4sG/42EBv+HfwT/hHwD/4N7BP+AeAX/fXQE/3pwBf93bgb/enEG/4B2 + CP+CdwD/xMCP49zZ26OKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw7++wNXVzMZYgCj/Voob/12K + G/9cehb/XXIT/2J1EP9rew7/bXwM/3iBC/+Eigr/io8H/46RE/+ChAn/gYID/4ODBf+Cggb/jYsF/52c + Bf+iogb/lZMF/5OQBv+YlQb/k48G/5WOBv+Xjwb/kIkG/4uCBv+FfQT/g3wD/4N6Bf9/dQX/enEE/3Vu + BP90bgX/eHEG/393CP+BeQD/xMGO49vZ26SKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6RxMC+wNXW + zMZZfib/V4kY/16KGf9behX/W3AS/2JzD/9peQz/bHoL/3eACf+DiQj/io0H/46QFf+Aggj/gIED/4GC + BP+BgQX/j40F/5+dBv+hngX/lI8G/5WQBv+YkwX/kosF/5aOBf+VjAb/j4YF/4iABf+EewP/g3sE/4J4 + Bf9+dAT/d3AE/3JtBP9ybQT/d3IF/3x3B/+AeQD/wb6N49vY26SJiIXGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QxMC/wNbWzMZZfCP/WIYV/16KGP9ceRT/XG8Q/2FxDf9odwz/bXgK/3Z/CP+Bhwj/iYsH/42O + Ff9+gAf/f4AE/3+AA/+CgQT/ko8G/6CeBv+emQb/kowH/5WPBv+VkAX/kYkG/5eMBv+TiQX/jYMF/4d+ + BP+DegP/g3kE/4B2BP98cgT/dW4E/3BrA/9xbQT/dXEF/3t4Bv97dwD/vbqN49za26WJiIXGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QxcG/wNbXzcdXeiH/V4QT/16JFv9deRL/W24N/19wDP9ndAv/bHYJ/3V9 + B/+Bhgf/iIkH/4yNFv98fgX/fn4D/35+A/+DgAT/lJEF/6GeBv+alAb/kYkH/5WOBf+SiwX/kIcH/5aK + Bv+QhQX/i4EF/4Z8BP+CeAX/gXYF/35zBP96cAT/c2wE/29qA/9xbQP/dHEE/3t6Bf9zcAD/uriN493a + 26WKiIXGAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6Qx8PBwdbXzcdWeB//V4IS/16IE/9ceRD/WmwN/15u + C/9lcgn/anUH/3V8B/+BhAb/hocG/4uLGP96ewX/fH0E/3x8A/+EgQT/lZMF/6GdBv+Vjwb/kIgF/5ON + Bf+PhwX/kYYG/5OHBf+MggX/ioAE/4R5BP+BdwX/gHUE/3xyBP92bgT/cGsE/29qA/9wbAP/c3ED/3l4 + Bf9taQD/ubWN493a26WKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8PCwdjYzsdWdR//VX8P/12G + Ef9cdw7/WWoN/15sCv9jcQj/anMG/3R7Bv9/gwX/hIUG/4mJGf94eAP/ensE/3p6BP+FggT/l5QE/56b + Bf+PigX/j4YG/5CJBf+MgwX/kYUG/5CDBf+KfwT/iH8D/4F3Bf+AdQT/fnME/3pwBP9zbAT/cGoD/29q + A/9vbAP/dHID/3RzBf9nYgD/trOM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8TDwdjY + zsdVch3/U3oN/1yEEP9cdg3/WWkL/11rCP9icAf/aXEG/3N5Bv9+gQT/goQH/4aHGf91dgL/eHgF/3l4 + BP+GgwP/mZQF/5uXBf+MhQX/jYYF/42FBP+JgAT/j4ME/4uABP+JfgT/hXsE/390BP9/dAT/fHIE/3du + BP9yawP/b2oD/29rA/9vbAP/c3MD/25tA/9hXQD/tLKM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QycXEwdnZz8dUbxv/UnYM/1uBDv9cdQv/WWkJ/1tpB/9gbgX/aHEF/3J3Bv97fgP/gIII/4SF + GP9ycwL/dnYF/3h3BP+IhAT/mJQF/5aSBP+IggX/ioMF/4iAA/+IfwT/jYEE/4d9BP+HfgT/gXgE/39z + BP99cgT/enAE/3RtBP9wagP/bmoD/25rA/9wbQP/cXED/2lnAv9cWAD/s7CL497a3KaKiIbGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QysfFwdna0MhTbRn/UXIL/1t+Df9bdAr/WGgI/1pnB/9fbAb/Zm8F/3F2 + BP95fAL/f4EK/4KCFv9wcQL/dXQE/3d2BP+JhQT/mJQF/5GMBf+GfwX/hn8E/4N7BP+IfgT/iX4E/4V7 + A/+GfAT/fXQE/31yBP97cQT/d24E/3FrA/9uaQL/bWoC/21qAv9xbwP/bWwD/2RiA/9XVAD/sa6L5N/b + 3KiKiIbHAAAAjwAAAFoAAAA2AAAAGwAAADEODg6PysfFwdjYzsZRaRb/TW0G/1d6Cf9YcQb/VGUE/1dk + BP9caAP/ZGwB/25zAP92eQD/fX8K/31+Ev9sbQD/cXAB/3Z1Af+IhQL/lZEC/4uEAf+BewL/f3gB/393 + Av+EewH/hHoB/4N4Af+CeAH/eG8B/3lvAv93bgH/cmsC/21oAP9rZwD/a2cA/2tpAP9ubQD/ZmUA/2Bd + AP9STgD/rquJ497b3KeKiIbHAAAAjQAAAFgAAAA1AAAAGAAAACwQDw+MysbEv9LRx71WbR3+U3AP/1x7 + EP9ddQ7/WmoN/11pDv9jbQz/anEK/3N4C/96fAr/gYMX/36BGv9wcQj/dXQL/3t7DP+Niw3/l5QN/4qE + Df+Efg3/f3kM/4N8DP+IgAv/hnwM/4h/DP+CeQz/fXQM/310DP95cwz/dW8L/3JtCv9xbQn/cW0K/3Jx + Cv9xcAr/aWgL/2RiCv9WUgf/qaaH2tjV1aGMiojGAAAAiQAAAFIAAAAwAAAAFAAAACQLCwuCv7y4v9XR + y6PMzcDB0tTGzNTWx87V1sfO1NXHztXVx87V1cfP1tbHztjXx87Y18fO2dfIztfWx8zV1MXL1dPDytXU + w8nX1cPJ2NbDydbUw8jW08PI1dPDydbTw8nX1MPJ1tPDytfUxMrW1MTK1tPDytbTxMvW08TL1tTFy9bT + xcvV0sPL1NHDzNPRwszS0cLM0c/CzNHOwszJx7vFxsK7sM3IxJmEgoDGAAAAewAAAEYAAAAoAAAADgAA + ABoAAABTaWhmx9jUzrLg3Nmr4t3br+Ld26/j3tuv497br+Pf26/i39uw4d/br+He26/h3duv4Nvart7a + 2Kzc2Nap29bTqNnV0qfY1NGn2NPRp9jV0abZ1NGm2tTRpdnV0abZ1NKn2dTTqNrW1Kjb1tSo29bUqdzW + 1and2Nap3dnWqd3X1qra1tSq2NTTrNfU0qzX09Ks19PSrNfT0q3W0c+r0MvHp766tr0xMTC4AAAAVwAA + ADUAAAAeAAAACQAAABIAAAAnAAAAZzMzMqtPTk20TEtKs0tLSrRMS0q0TEtKtExLSrRMS0q0S0tKtEtL + SrRLS0q0S0tKs0tKSbNKSUmzS0pIs0pKSbNKSkizSkpIs0pKSLNLSUizS0pJsktKSbJLSkmzS0pJs0tK + SbNLSkmzTEpJs0xKSbNMSkmzTEpJs0xKSbNLSkmzS0pJs0tKSbNLSkmzS0pJs0tJSbNLSkm0TUxLth4d + HaMAAABeAAAAOAAAACUAAAATAAAABQAAAAsAAAAWAAAAIQAAAC0AAAA3AAAAOgAAADoAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADoAAAA7AAAAOgAAADMAAAArAAAAIQAAABUAAAALAAAAAgAAAAQAAAAJAAAADgAAABMAAAAXAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGAAAABcAAAATAAAADgAAAAgAAAAEAAAAAAAAAAEAAAACAAAABAAA + AAcAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAkAAAAHAAAABAAAAAIAAAABAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBIAAAAAAAPIEKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ABEAAABAAAAAVwAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABXAAAATAAA + AB8EBAQ+VlRQlXNybqFqamaeZ2dinWZkYJxqaGOdcG5pnXFwa550cm2feXRxn350c597cW+efHVwnU1K + RZgAAQFUFw4NUI+5uMNY4+b0Xt7b9Gbh2PRv59bzf/La9JP84vSx/+r0z//p9Nv/4vTP/930yv/Z9N// + ufKnp5OvAwEEZRkPDk6Eu7nPLtvX/zrbz/9F4Mn/VOrF/2Xuvf9y667/guWe/4nciP+K1Hf/jM5v/5bO + b/+v2HT/paeTuwQCBmIZDxBPirmy0D/Wwf9Q273/W9yt/2vZm/9x0IT/csZw/33Eav99tlT/fqdG/4Cb + QP+FjjH/mZAz/6SfjL0FBQhjGBAST5G6rtFOyqT/VsCS/1mze/9mrGv/ZqFZ/2WXRP9zmDT/bYIh/3V9 + HP96eBn/d28X/4p7Jf+kno3ABQYJYxkTFlCOq5vTPpFi/0eLV/9WlE//b51B/26NKv9tgBn/d4YX/3N+ + Ff+ChhX/gH0W/3ZuFP+FdyH/pZ+OwQYGCWMZFBhQkKiR1EuNRv9dlDr/bZgu/4CWHv98iBT/eoUR/4SQ + Ev+CihD/iYoP/4F9D/97cQ//hHYc/6Wgj8MGBgljGBQZUJasidReozD/Y40i/3OHGP+MlRX/gYgO/4iP + Df+RmA3/jZEM/42JCv+Cewr/gXQK/4l6F/+noo/EBgYJYxgUGlCXroXVWI8f/2J4Ff97iBD/jZIO/4OF + CP+TlQf/mJkI/5WSCP+PiAb/g3oF/31yBf+KfhP/p6OOxQYGCWMZFhtQlaOB1VeCFf9idRD/eoQK/4qM + C/+CggT/mJYF/5iVBv+WkAX/jIQF/4J4BP92bgP/h4AR/6ajjcYGBgljGRYcUJaif9ZYgA//YHAM/3d/ + CP+Ghwv/gIAE/5mVBv+UjQb/kogG/4h9BP99cwT/cGsB/4B+D/+joYzGBgYKYxoXHVCWoH7XU3cG/1tq + Bf9yeAL/fX4I/317AP+TjgH/ioIB/4p+Af+AdQD/dWwA/21pAP90cgn/oJ2MyAcHCmQaGB1RoaiK1maC + HP9teh3/gYYb/4mKIf+Nixr/m5Yb/5KKG/+Uihv/i4Eb/4F7Gv9+exf/fHoi/6WilMcHBwpjBgYHMXp5 + dKCcnZG2mZiNtJqZjbWZl4yzmJaIsJiWiLCYlYiwmZaJsZmVirGYlYqylpSJs5mXjbRqaGadAQEBPQAA + AAUAAAAeAAAAKgAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAArAAAAIwAA + AAoAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxB + + + \ No newline at end of file diff --git a/OnTopReplica/MainForm_ChildForms.cs b/OnTopReplica/MainForm_ChildForms.cs new file mode 100644 index 0000000..0e43ad9 --- /dev/null +++ b/OnTopReplica/MainForm_ChildForms.cs @@ -0,0 +1,105 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Drawing; + +namespace OnTopReplica { + partial class MainForm { + + EventHandler RequestClosingHandler; + + const int SidePanelMargin = 1; + + /// + /// Opens a new side panel. + /// + /// The side panel to embed. + public void SetSidePanel(SidePanel panel) { + if (_currentSidePanel != null) { + CloseSidePanel(); + } + + _currentSidePanel = panel; + _currentSidePanel.OnFirstShown(this); + + //Add and show + _sidePanelContainer.Controls.Add(panel); + _sidePanelContainer.Visible = _sidePanelContainer.Enabled = true; + panel.Show(); + + int intHorzMargin = panel.Margin.Horizontal + _sidePanelContainer.Padding.Horizontal; //internal margins for sidepanel + int intVertMargin = panel.Margin.Vertical + _sidePanelContainer.Padding.Vertical; + + //Resize container + _sidePanelContainer.ClientSize = new Size( + panel.MinimumSize.Width + intHorzMargin, + ClientSize.Height + ); + + int rightHorzMargin = _sidePanelContainer.Width + SidePanelMargin; //horz margin between the two controls + + //Resize rest + MinimumSize = new Size( + 20 + panel.MinimumSize.Width + SidePanelMargin + intHorzMargin, + panel.MinimumSize.Height + intVertMargin + ); + ClientSize = new Size( + ClientSize.Width + rightHorzMargin, + ClientSize.Height + ); + ExtraPadding = new Padding(0, 0, rightHorzMargin, 0); + _thumbnailPanel.Size = new Size( + ClientSize.Width - rightHorzMargin, + ClientSize.Height + ); + _sidePanelContainer.Location = new Point( + ClientSize.Width - rightHorzMargin, + 0 + ); + + //Move window if needed + FixPositionAndSize(); + + //Hook event listener + if (RequestClosingHandler == null) + RequestClosingHandler = new EventHandler(SidePanel_RequestClosing); + panel.RequestClosing += RequestClosingHandler; + } + + /// + /// Closes the current side panel. + /// + public void CloseSidePanel() { + if (_currentSidePanel == null) + return; + + //Unhook listener + _currentSidePanel.RequestClosing -= RequestClosingHandler; + + //Remove side panel + _currentSidePanel.OnClosing(this); + _sidePanelContainer.Controls.Clear(); + _sidePanelContainer.Visible = _sidePanelContainer.Enabled = false; + _currentSidePanel = null; + + //Resize + MinimumSize = new Size(20, 20); + ClientSize = new Size( + ClientSize.Width - _sidePanelContainer.Width - SidePanelMargin, + ClientSize.Height + ); + ExtraPadding = new Padding(0); + _thumbnailPanel.Size = ClientSize; + } + + void SidePanel_RequestClosing(object sender, EventArgs e) { + CloseSidePanel(); + } + + void Thumbnail_CloneClick(object sender, CloneClickEventArgs e) { + Win32Helper.InjectFakeMouseClick(CurrentThumbnailWindowHandle.Handle, e); + } + + } +} diff --git a/OnTopReplica/MainForm_Gui.cs b/OnTopReplica/MainForm_Gui.cs new file mode 100644 index 0000000..b460479 --- /dev/null +++ b/OnTopReplica/MainForm_Gui.cs @@ -0,0 +1,128 @@ +using System.Drawing; +using System.Windows.Forms; +using VistaControls.TaskDialog; + +namespace OnTopReplica { + partial class MainForm { + + /// + /// Opens the context menu. + /// + public void OpenContextMenu() { + if (IsFullscreen) { + menuFullscreenContext.Show(MousePosition); + } + else { + menuContext.Show(MousePosition); + } + } + + private Point RecenterLocation(Control original, Control final) { + int origX = original.Location.X + original.Size.Width / 2; + int origY = original.Location.Y + original.Size.Height / 2; + + int finX = origX - final.Size.Width / 2; + int finY = origY - final.Size.Height / 2; + + //Check boundaries + var screen = Screen.FromControl(final); + if (finX < screen.WorkingArea.X) + finX = screen.WorkingArea.X; + if (finX + final.Size.Width > screen.WorkingArea.Width) + finX = screen.WorkingArea.Width - final.Size.Width; + if (finY < screen.WorkingArea.Y) + finY = screen.WorkingArea.Y; + if (finY + final.Size.Height > screen.WorkingArea.Height) + finY = screen.WorkingArea.Height - final.Size.Height; + + return new Point(finX, finY); + } + + private int ChromeBorderVertical { + get { + if (FormBorderStyle == _defaultBorderStyle) + return SystemInformation.FrameBorderSize.Height; + else + return 0; + } + } + + private int ChromeBorderHorizontal { + get { + if (FormBorderStyle == _defaultBorderStyle) + return SystemInformation.FrameBorderSize.Width; + else + return 0; + } + } + + /// + /// Displays an error task dialog. + /// + /// Main instruction of the error dialog. + /// Detailed informations about the error. + /// Expanded error codes/messages. + private void ShowErrorDialog(string mainInstruction, string explanation, string errorMessage) { + TaskDialog dlg = new TaskDialog(mainInstruction, Strings.ErrorGenericTitle, explanation) { + CommonIcon = TaskDialogIcon.Stop, + IsExpanded = false + }; + + if (!string.IsNullOrEmpty(errorMessage)) { + dlg.ExpandedInformation = Strings.ErrorGenericInfoText + errorMessage; + dlg.ExpandedControlText = Strings.ErrorGenericInfoButton; + } + + dlg.Show(this); + } + + /// + /// Ensures that the main form is visible (either closing the fullscreen mode or reactivating from task icon). + /// + public void EnsureMainFormVisible() { + //Reset special modes + IsFullscreen = false; + ClickThroughEnabled = false; + Opacity = 1.0; + + //Restore main form in platform with dependent method + Program.Platform.RestoreForm(this); + } + + /// + /// Opens a confirmation dialog to confirm whether to reset the main form or not. + /// + public void ResetMainFormWithConfirmation() { + var dlg = new TaskDialog(Strings.AskReset, Strings.AskResetTitle, Strings.AskResetContent); + dlg.UseCommandLinks = true; + dlg.CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, Strings.AskResetButtonOk), + new CustomButton(Result.Cancel, Strings.ButtonCancel) + }; + dlg.CommonIcon = TaskDialogIcon.Information; + + if (dlg.Show(this).CommonButton == Result.OK) { + ResetMainForm(); + } + } + + /// + /// Resets the main form to its initial state. + /// + public void ResetMainForm() { + //Reset form settings + UnsetThumbnail(); + CloseSidePanel(); + + //Reset location and size (edge of the screen, min size) + Point nuLoc = Screen.PrimaryScreen.WorkingArea.Location; + nuLoc.Offset(40, 40); + Location = nuLoc; + Size = new Size(240, 220); + + this.Show(); + this.Activate(); + } + + } +} diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs new file mode 100644 index 0000000..c0fa130 --- /dev/null +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -0,0 +1,234 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using VistaControls.TaskDialog; + +namespace OnTopReplica { + partial class MainForm { + + private void Menu_opening(object sender, CancelEventArgs e) { + //Cancel if currently in "fullscreen" mode or a side panel is open + if (IsFullscreen || _currentSidePanel != null) { + e.Cancel = true; + return; + } + + bool showing = _thumbnailPanel.IsShowingThumbnail; + + selectRegionToolStripMenuItem.Enabled = showing; + switchToWindowToolStripMenuItem.Enabled = showing; + resizeToolStripMenuItem.Enabled = showing; + chromeToolStripMenuItem.Checked = (FormBorderStyle == _defaultBorderStyle); + clickForwardingToolStripMenuItem.Checked = _thumbnailPanel.ReportThumbnailClicks; + chromeToolStripMenuItem.Enabled = showing; + clickThroughToolStripMenuItem.Enabled = showing; + clickForwardingToolStripMenuItem.Enabled = showing; + + } + + private void Menu_Windows_opening(object sender, CancelEventArgs e) { + _windowManager.Refresh(WindowManager.EnumerationMode.TaskWindows); + WindowListHelper.PopulateMenu(this, _windowManager, (ToolStrip)sender, + CurrentThumbnailWindowHandle, new EventHandler(Menu_Windows_itemclick)); + } + + void Menu_Windows_itemclick(object sender, EventArgs e) { + //Ensure the menu is closed + menuContext.Close(); + menuFullscreenContext.Close(); + menuWindows.Close(); + + //Get clicked item and window index from tag + ToolStripItem tsi = (ToolStripItem)sender; + + //Handle special "none" window + if (tsi.Tag == null) { + UnsetThumbnail(); + return; + } + + var selectionData = (WindowListHelper.WindowSelectionData)tsi.Tag; + SetThumbnail(selectionData.Handle, selectionData.Region); + } + + private void Menu_Switch_click(object sender, EventArgs e) { + if (CurrentThumbnailWindowHandle == null) + return; + + Program.Platform.HideForm(this); + Native.WindowManagerMethods.SetForegroundWindow(CurrentThumbnailWindowHandle.Handle); + } + + private void Menu_GroupSwitchMode_click(object sender, EventArgs e) { + SetSidePanel(new SidePanels.GroupSwitchPanel()); + } + + private void Menu_ClickForwarding_click(object sender, EventArgs e) { + if (Settings.Default.FirstTimeClickForwarding && !_thumbnailPanel.ReportThumbnailClicks) { + TaskDialog dlg = new TaskDialog(Strings.InfoClickForwarding, Strings.InfoClickForwardingTitle, Strings.InfoClickForwardingContent) { + CommonButtons = TaskDialogButton.Yes | TaskDialogButton.No + }; + if (dlg.Show(this).CommonButton == Result.No) + return; + + Settings.Default.FirstTimeClickForwarding = false; + } + + _thumbnailPanel.ReportThumbnailClicks = !_thumbnailPanel.ReportThumbnailClicks; + } + + private void Menu_ClickThrough_click(object sender, EventArgs e) { + ClickThroughEnabled = true; + } + + private void Menu_Opacity_opening(object sender, CancelEventArgs e) { + ToolStripMenuItem[] items = { + toolStripMenuItem1, + toolStripMenuItem2, + toolStripMenuItem3, + toolStripMenuItem4 + }; + + foreach (ToolStripMenuItem i in items) { + if ((double)i.Tag == this.Opacity) + i.Checked = true; + else + i.Checked = false; + } + } + + private void Menu_Opacity_click(object sender, EventArgs e) { + //Get clicked menu item + ToolStripMenuItem tsi = sender as ToolStripMenuItem; + + if (tsi != null) { + //Get opacity from the tag + this.Opacity = (double)tsi.Tag; + } + } + + private void Menu_Region_click(object sender, EventArgs e) { + SetSidePanel(new OnTopReplica.SidePanels.RegionPanel()); + } + + private void Menu_Resize_opening(object sender, CancelEventArgs e) { + if (!_thumbnailPanel.IsShowingThumbnail) + e.Cancel = true; + } + + private void Menu_Resize_Double(object sender, EventArgs e) { + FitToThumbnail(2.0); + } + + private void Menu_Resize_FitToWindow(object sender, EventArgs e) { + FitToThumbnail(1.0); + } + + private void Menu_Resize_Half(object sender, EventArgs e) { + FitToThumbnail(0.5); + } + + private void Menu_Resize_Quarter(object sender, EventArgs e) { + FitToThumbnail(0.25); + } + + private void Menu_Resize_Fullscreen(object sender, EventArgs e) { + IsFullscreen = true; + } + + private void Menu_Position_TopLeft(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Left - ChromeBorderHorizontal, + screen.WorkingArea.Top - ChromeBorderVertical + ); + } + + private void Menu_Position_TopRight(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, + screen.WorkingArea.Top - ChromeBorderVertical + ); + } + + private void Menu_Position_BottomLeft(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Left - ChromeBorderHorizontal, + screen.WorkingArea.Height - Size.Height + ChromeBorderVertical + ); + } + + private void Menu_Position_BottomRight(object sender, EventArgs e) { + var screen = Screen.FromControl(this); + + Location = new Point( + screen.WorkingArea.Width - Size.Width + ChromeBorderHorizontal, + screen.WorkingArea.Height - Size.Height + ChromeBorderVertical + ); + } + + private void Menu_Reduce_click(object sender, EventArgs e) { + //Hide form in a platform specific way + Program.Platform.HideForm(this); + } + + private void Menu_Chrome_click(object sender, EventArgs e) { + if (FormBorderStyle == _defaultBorderStyle) { + FormBorderStyle = FormBorderStyle.None; + Location = new Point { + X = Location.X + SystemInformation.FrameBorderSize.Width, + Y = Location.Y + SystemInformation.FrameBorderSize.Height + }; + } + else { + FormBorderStyle = _defaultBorderStyle; + Location = new Point { + X = Location.X - SystemInformation.FrameBorderSize.Width, + Y = Location.Y - SystemInformation.FrameBorderSize.Height + }; + } + + Program.Platform.OnFormStateChange(this); + Invalidate(); + } + + private void Menu_Language_click(object sender, EventArgs e) { + ToolStripItem tsi = (ToolStripItem)sender; + + string langCode = tsi.Tag as string; + + if (Program.ForceGlobalLanguageChange(langCode)) + this.Close(); + else + MessageBox.Show("Error"); + } + + private void Menu_About_click(object sender, EventArgs e) { + this.Hide(); + + using (var box = new AboutForm()) { + box.Location = RecenterLocation(this, box); + box.ShowDialog(); + Location = RecenterLocation(box, this); + } + + this.Show(); + } + + private void Menu_Close_click(object sender, EventArgs e) { + this.Close(); + } + + private void Menu_Fullscreen_ExitFullscreen_click(object sender, EventArgs e) { + IsFullscreen = false; + } + + } +} diff --git a/OnTopReplica/MessagePumpManager.cs b/OnTopReplica/MessagePumpManager.cs new file mode 100644 index 0000000..1ab23b7 --- /dev/null +++ b/OnTopReplica/MessagePumpManager.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Reflection; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica { + class MessagePumpManager : IDisposable { + + Dictionary _processors = new Dictionary(); + + public MainForm Form { get; private set; } + + /// + /// Instantiates all message pump processors and registers them on the main form. + /// + /// + public void Initialize(MainForm form) { + Form = form; + + //Register window shell hook + if (!HookMethods.RegisterShellHookWindow(form.Handle)) { + Console.Error.WriteLine("Failed to register shell hook window."); + } + else { +#if DEBUG + Console.WriteLine("Shell hook window registered successfully."); +#endif + } + + foreach (var t in Assembly.GetExecutingAssembly().GetTypes()) { + if (typeof(IMessagePumpProcessor).IsAssignableFrom(t) && !t.IsAbstract) { + var instance = (IMessagePumpProcessor)Activator.CreateInstance(t); + instance.Initialize(form); + + _processors[t] = instance; + +#if DEBUG + Console.WriteLine("Registered message pump processor: {0}", t); +#endif + } + } + } + + /// + /// Run the registered message pump processors. + /// + /// Message to process. + /// True if the message has been handled internally. + public bool PumpMessage(ref Message msg) { + foreach (var processor in _processors.Values) { + if (processor.Process(ref msg)) + return true; + } + + return false; + } + + /// + /// Get the instance of a registered message pump processor. + /// Throws if instance not found. + /// + public T Get() { + return (T)_processors[typeof(T)]; + } + + #region IDisposable Members + + public void Dispose() { + if (!HookMethods.DeregisterShellHookWindow(Form.Handle)) { + Console.Error.WriteLine("Failed to deregister shell hook window."); + } + + foreach (var processor in _processors.Values) { + processor.Dispose(); + } + _processors.Clear(); + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs new file mode 100644 index 0000000..b5f13d7 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.MessagePumpProcessors { + abstract class BaseMessagePumpProcessor : IMessagePumpProcessor { + + protected MainForm Form { get; private set; } + + #region IMessagePumpProcessor Members + + public void Initialize(MainForm form) { + Form = form; + } + + public abstract bool Process(ref Message msg); + + #endregion + + bool _isDisposed = false; + + protected abstract void Shutdown(); + + #region IDisposable Members + + public void Dispose() { + if (_isDisposed) + return; + + Shutdown(); + + _isDisposed = true; + } + + #endregion + + } +} diff --git a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs new file mode 100644 index 0000000..2bfd3e9 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs @@ -0,0 +1,143 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Diagnostics; +using System.Reflection; +using System.IO; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + class GroupSwitchManager : BaseMessagePumpProcessor { + + bool _active = false; + List _lruHandles; + + /// + /// Enables group switch mode. + /// + /// List of window handles to track. + public void EnableGroupMode(IList handles) { + if (handles == null || handles.Count == 0) + return; + + //Okey dokey, will now track handles + TrackHandles(handles); + _active = true; + } + + /// + /// Initializes the LRU sorted list of window handles. + /// + private void TrackHandles(IList handles) { + _lruHandles = new List(handles.Count); + var now = DateTime.Now; + + foreach(var h in handles){ + _lruHandles.Add(new WindowHandleWrapper { + WindowHandle = h, + LastTimeUsed = now + }); + } + } + + /// + /// Disables group switch mode. + /// + public void Disable() { + if (!_active) + return; + + _lruHandles = null; + _active = false; + } + + /// + /// Processes the message pump. + /// + public override bool Process(ref Message msg) { + if (_active && msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + if (hookCode == HookMethods.HSHELL_WINDOWACTIVATED || + hookCode == HookMethods.HSHELL_RUDEAPPACTIVATED) { + + IntPtr activeHandle = msg.LParam; + HandleForegroundWindowChange(activeHandle); + } + } + + return false; + } + + private void HandleForegroundWindowChange(IntPtr activeWindow) { +#if DEBUG + Console.Write("New active window (h {0}). ", activeWindow); +#endif + + //Seek window in tracked handles + WindowHandleWrapper activated = null; + foreach (var i in _lruHandles) { + if (i.WindowHandle.Handle == activeWindow) + activated = i; + } + + if (activated == null) { +#if DEBUG + //new foreground window is not tracked + Console.WriteLine("Active window is not tracked."); +#endif + return; + } + + //Update tracked handle + activated.LastTimeUsed = DateTime.Now; + _lruHandles.Sort(new LruDateTimeComparer()); + + //Get least recently used + var next = _lruHandles[0]; + +#if DEBUG + Console.WriteLine("Tracked. Switching to {0} (last use: {1}).", next.WindowHandle.Title, next.LastTimeUsed); +#endif + + Form.SetThumbnail(next.WindowHandle, null); + } + + protected override void Shutdown() { + Disable(); + } + + /// + /// Gets whether the group switch manager ia active. + /// + public bool IsActive { + get { + return _active; + } + } + + #region List sorting stuff + + class WindowHandleWrapper { + public WindowHandle WindowHandle { get; set; } + public DateTime LastTimeUsed { get; set; } + } + + class LruDateTimeComparer : IComparer { + + #region IComparer Members + + public int Compare(WindowHandleWrapper x, WindowHandleWrapper y) { + return x.LastTimeUsed.CompareTo(y.LastTimeUsed); + } + + #endregion + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs new file mode 100644 index 0000000..0acbe33 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// HotKey registration helper. + /// + class HotKeyManager : BaseMessagePumpProcessor { + + int _lastUsedKey = 0; + + Dictionary _handlers = new Dictionary(); + + public void RegisterHotKey(HotKeyModifiers mod, Keys keys, HotKeyMethods.HotKeyHandler handler) { + var newKey = ++_lastUsedKey; + + if (!HotKeyMethods.RegisterHotKey(Form.Handle, newKey, (int)mod, (int)keys)) { + Console.Error.WriteLine("Failed to register {0} hot key.", newKey); + return; + } + + _handlers[newKey] = handler; + } + + public override bool Process(ref Message msg) { + if (msg.Msg == HotKeyMethods.WM_HOTKEY) { + int keyId = msg.WParam.ToInt32(); + if (!_handlers.ContainsKey(keyId)) + return false; + + _handlers[keyId].Invoke(); + } + + return false; + } + + protected override void Shutdown() { + foreach (var key in _handlers.Keys) { + if (!HotKeyMethods.UnregisterHotKey(Form.Handle, key)) { + Console.Error.WriteLine("Failed to unregister {0} hot key.", key); + } + } + } + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/TitleSetter.cs b/OnTopReplica/MessagePumpProcessors/TitleSetter.cs new file mode 100644 index 0000000..23433bd --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/TitleSetter.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; +using System.Runtime.InteropServices; + +namespace OnTopReplica.MessagePumpProcessors { + class TitleSetter : BaseMessagePumpProcessor { + + const string Title = "OnTopReplica"; + + public override bool Process(ref Message msg) { + switch (msg.Msg) { + case WM.GETTEXT: { + Console.WriteLine("GetText"); + int maxLen = msg.WParam.ToInt32(); + byte[] strBytes = Encoding.UTF8.GetBytes(Title); + byte[] termBytes = new byte[strBytes.Length + 1]; + strBytes.CopyTo(termBytes, 0); + termBytes[strBytes.Length] = 0; + + Marshal.Copy(termBytes, 0, msg.LParam, Math.Min(maxLen, Title.Length + 1)); + } + goto case WM.GETTEXTLENGTH; + + case WM.GETTEXTLENGTH: + Console.WriteLine("GetTextLength"); + msg.Result = (IntPtr)Title.Length; + return true; + } + + return false; + } + + protected override void Shutdown() { + + } + + } +} diff --git a/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs new file mode 100644 index 0000000..4877931 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// Listens for shell events and closes the thumbnail if a cloned window is destroyed. + /// + class WindowKeeper : BaseMessagePumpProcessor { + + public override bool Process(ref Message msg) { + if (Form.CurrentThumbnailWindowHandle != null && + msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + if (hookCode == HookMethods.HSHELL_WINDOWDESTROYED) { + //Check whether the destroyed window is the one we were cloning + IntPtr destroyedHandle = msg.LParam; + if (destroyedHandle == Form.CurrentThumbnailWindowHandle.Handle) { + //Disable group switch mode, since a window of the group has been destroyed + Form.MessagePumpManager.Get().Disable(); + + //Disable cloning + Form.UnsetThumbnail(); + } + } + } + + return false; + } + + protected override void Shutdown() { + + } + } + +} diff --git a/OnTopReplica/Native/CommonControls.cs b/OnTopReplica/Native/CommonControls.cs new file mode 100644 index 0000000..bf2123c --- /dev/null +++ b/OnTopReplica/Native/CommonControls.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + public static class CommonControls { + + [DllImport("comctl32.dll", EntryPoint = "InitCommonControlsEx", CallingConvention = CallingConvention.StdCall)] + static extern bool InitCommonControlsEx(ref INITCOMMONCONTROLSEX iccex); + + const int ICC_STANDARD_CLASSES = 0x00004000; + const int ICC_WIN95_CLASSES = 0x000000FF; + + public static bool InitStandard() { + INITCOMMONCONTROLSEX ex = new INITCOMMONCONTROLSEX(); + ex.dwSize = 8; + ex.dwICC = ICC_STANDARD_CLASSES | ICC_WIN95_CLASSES; + + return InitCommonControlsEx(ref ex); + } + + } + + struct INITCOMMONCONTROLSEX { + public int dwSize; + public int dwICC; + } + +} diff --git a/OnTopReplica/Native/ErrorMethods.cs b/OnTopReplica/Native/ErrorMethods.cs new file mode 100644 index 0000000..f1863eb --- /dev/null +++ b/OnTopReplica/Native/ErrorMethods.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 error handling methods. + /// + static class ErrorMethods { + + [DllImport("kernel32.dll")] + static extern uint FormatMessage(uint dwFlags, IntPtr lpSource, + int dwMessageId, uint dwLanguageId, [Out] StringBuilder lpBuffer, + uint nSize, IntPtr Arguments); + + /// + /// Gets a string representation of a Win32 error code. + /// + /// ID of the Win32 error code. + /// String representation of the error. + public static string GetErrorMessage(int msgCode) { + var sb = new StringBuilder(300); + FormatMessage((uint)(0x00001000), IntPtr.Zero, msgCode, 0, sb, 299, IntPtr.Zero); + return sb.ToString(); + } + + /// + /// Gets a string representation of the last Win32 error on this thread. + /// + public static string GetLastErrorMessage() { + int errorCode = Marshal.GetLastWin32Error(); + return GetErrorMessage(errorCode); + } + + } +} diff --git a/OnTopReplica/Native/HT.cs b/OnTopReplica/Native/HT.cs new file mode 100644 index 0000000..231e928 --- /dev/null +++ b/OnTopReplica/Native/HT.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Win32 Hit Testing codes. + /// + static class HT { + public const int TRANSPARENT = -1; + public const int CLIENT = 1; + public const int CAPTION = 2; + } +} diff --git a/OnTopReplica/Native/HookMethods.cs b/OnTopReplica/Native/HookMethods.cs new file mode 100644 index 0000000..3b6f7fc --- /dev/null +++ b/OnTopReplica/Native/HookMethods.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + + /// + /// Helpers for interop with native Windows hooks. + /// + static class HookMethods { + + static HookMethods() { + WM_SHELLHOOKMESSAGE = RegisterWindowMessage("SHELLHOOK"); + if (WM_SHELLHOOKMESSAGE == 0) + Console.Error.WriteLine("Failed to register SHELLHOOK Windows message."); + } + + public static int WM_SHELLHOOKMESSAGE { + get; + private set; + } + + public const int HSHELL_WINDOWACTIVATED = 4; + public const int HSHELL_RUDEAPPACTIVATED = HSHELL_WINDOWACTIVATED | HSHELL_HIGHBIT; + const int HSHELL_HIGHBIT = 0x8000; + public const int HSHELL_WINDOWDESTROYED = 2; + public const int HSHELL_WINDOWCREATED = 1; + + /// + /// Registers the WM_ID for a window message. + /// + /// Name of the window message. + [DllImport("User32.dll")] + public static extern int RegisterWindowMessage(string wndMessageName); + + /// + /// Registers a window as a shell hook window. + /// + [DllImport("User32.dll")] + public static extern bool RegisterShellHookWindow(IntPtr hwnd); + + /// + /// Deregisters a window as a shell hook window. + /// + [DllImport("User32.dll")] + public static extern bool DeregisterShellHookWindow(IntPtr hwnd); + + } +} diff --git a/OnTopReplica/Native/HotKeyMethods.cs b/OnTopReplica/Native/HotKeyMethods.cs new file mode 100644 index 0000000..8aea7f1 --- /dev/null +++ b/OnTopReplica/Native/HotKeyMethods.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Windows.Forms; + +namespace OnTopReplica.Native { + + [Flags] + public enum HotKeyModifiers : int { + Alt = 0x1, + Control = 0x2, + Shift = 0x4, + Windows = 0x8 + } + + static class HotKeyMethods { + + public delegate void HotKeyHandler(); + + public const int WM_HOTKEY = 0x312; + + [DllImport("user32.dll")] + public static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vlc); + + [DllImport("user32.dll")] + public static extern bool UnregisterHotKey(IntPtr hWnd, int id); + + public delegate void FormDelegate(HotKeyModifiers mod, Keys key, HotKeyHandler handler); + + } +} diff --git a/OnTopReplica/Native/ITaskBarList.cs b/OnTopReplica/Native/ITaskBarList.cs new file mode 100644 index 0000000..e4a53bb --- /dev/null +++ b/OnTopReplica/Native/ITaskBarList.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + [ComImport, + Guid("56fdf342-fd6d-11d0-958a-006097c9a090"), + InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] + public interface ITaskbarList { + /// + /// Initializes the taskbar list object. This method must be called before any other ITaskbarList methods can be called. + /// + void HrInit(); + + /// + /// Adds an item to the taskbar. + /// + /// A handle to the window to be added to the taskbar. + void AddTab([In] IntPtr hWnd); + + /// + /// Deletes an item from the taskbar. + /// + /// A handle to the window to be deleted from the taskbar. + void DeleteTab([In] IntPtr hWnd); + + /// + /// Activates an item on the taskbar. The window is not actually activated; the window's item on the taskbar is merely displayed as active. + /// + /// A handle to the window on the taskbar to be displayed as active. + void ActivateTab([In] IntPtr hWnd); + + /// + /// Marks a taskbar item as active but does not visually activate it. + /// + /// A handle to the window to be marked as active. + void SetActiveAlt([In] IntPtr hWnd); + } + + [ComImport] + [Guid("56fdf344-fd6d-11d0-958a-006097c9a090")] + public class CoTaskbarList { + } +} diff --git a/OnTopReplica/Native/InputMethods.cs b/OnTopReplica/Native/InputMethods.cs new file mode 100644 index 0000000..fe8233e --- /dev/null +++ b/OnTopReplica/Native/InputMethods.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + static class InputMethods { + + [DllImport("user32.dll")] + static extern short GetKeyState(VirtualKeyState nVirtKey); + + const int KeyToggled = 0x1; + + const int KeyPressed = 0x8000; + + public static bool IsKeyPressed(VirtualKeyState virtKey) { + return (GetKeyState(virtKey) & KeyPressed) != 0; + } + + public static bool IsKeyToggled(VirtualKeyState virtKey) { + return (GetKeyState(virtKey) & KeyToggled) != 0; + } + + } +} diff --git a/OnTopReplica/Native/MK.cs b/OnTopReplica/Native/MK.cs new file mode 100644 index 0000000..90c7e90 --- /dev/null +++ b/OnTopReplica/Native/MK.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Mouse click codes. + /// + static class MK { + public const int LBUTTON = 0x0001; + public const int RBUTTON = 0x0002; + public const int MBUTTON = 0x0010; + } +} diff --git a/OnTopReplica/Native/MessagingMethods.cs b/OnTopReplica/Native/MessagingMethods.cs new file mode 100644 index 0000000..cabe03e --- /dev/null +++ b/OnTopReplica/Native/MessagingMethods.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common methods for Win32 messaging. + /// + static class MessagingMethods { + + [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)] + public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + [Flags] + public enum SendMessageTimeoutFlags : uint { + AbortIfHung = 2, + Block = 1, + Normal = 0 + } + + [DllImport("user32.dll")] + public static extern IntPtr SendMessageTimeout(IntPtr hwnd, uint message, IntPtr wparam, IntPtr lparam, SendMessageTimeoutFlags flags, uint timeout, out IntPtr result); + + [return: MarshalAs(UnmanagedType.Bool)] + [DllImport("user32.dll", SetLastError = false)] + public static extern bool PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + public static IntPtr MakeLParam(int LoWord, int HiWord) { + return new IntPtr((HiWord << 16) | (LoWord & 0xffff)); + } + + } +} diff --git a/OnTopReplica/Native/Point.cs b/OnTopReplica/Native/Point.cs new file mode 100644 index 0000000..c34db85 --- /dev/null +++ b/OnTopReplica/Native/Point.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Native Point structure. + /// + [StructLayout(LayoutKind.Sequential)] + public struct NPoint { + public int X, Y; + + public NPoint(int x, int y) { + X = x; + Y = y; + } + + public NPoint(NPoint copy) { + X = copy.X; + Y = copy.Y; + } + + public static NPoint FromPoint(System.Drawing.Point point) { + return new NPoint(point.X, point.Y); + } + + public System.Drawing.Point ToPoint() { + return new System.Drawing.Point(X, Y); + } + + public override string ToString() { + return "{" + X + "," + Y + "}"; + } + } +} diff --git a/OnTopReplica/Native/Rectangle.cs b/OnTopReplica/Native/Rectangle.cs new file mode 100644 index 0000000..4934198 --- /dev/null +++ b/OnTopReplica/Native/Rectangle.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// A native Rectangle Structure. + [StructLayout(LayoutKind.Sequential)] + struct NRectangle { + public NRectangle(int left, int top, int right, int bottom) { + Left = left; + Top = top; + Right = right; + Bottom = bottom; + } + + public NRectangle(System.Drawing.Rectangle rect) { + Left = rect.X; + Top = rect.Y; + Right = rect.Right; + Bottom = rect.Bottom; + } + + public int Left; + public int Top; + public int Right; + public int Bottom; + + public int Width { + get { + return Right - Left; + } + } + public int Height { + get { + return Bottom - Top; + } + } + + public System.Drawing.Rectangle ToRectangle() { + return new System.Drawing.Rectangle(Left, Top, Right - Left, Bottom - Top); + } + + public System.Drawing.Size Size { + get { + return new System.Drawing.Size(Width, Height); + } + } + + } +} diff --git a/OnTopReplica/Native/VirtualKeyState.cs b/OnTopReplica/Native/VirtualKeyState.cs new file mode 100644 index 0000000..91e94a0 --- /dev/null +++ b/OnTopReplica/Native/VirtualKeyState.cs @@ -0,0 +1,193 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + enum VirtualKeyState : int { + VK_LBUTTON = 0x01, + VK_RBUTTON = 0x02, + VK_CANCEL = 0x03, + VK_MBUTTON = 0x04, + // + VK_XBUTTON1 = 0x05, + VK_XBUTTON2 = 0x06, + // + VK_BACK = 0x08, + VK_TAB = 0x09, + // + VK_CLEAR = 0x0C, + VK_RETURN = 0x0D, + // + VK_SHIFT = 0x10, + VK_CONTROL = 0x11, + VK_MENU = 0x12, + VK_PAUSE = 0x13, + VK_CAPITAL = 0x14, + // + VK_KANA = 0x15, + VK_HANGEUL = 0x15, /* old name - should be here for compatibility */ + VK_HANGUL = 0x15, + VK_JUNJA = 0x17, + VK_FINAL = 0x18, + VK_HANJA = 0x19, + VK_KANJI = 0x19, + // + VK_ESCAPE = 0x1B, + // + VK_CONVERT = 0x1C, + VK_NONCONVERT = 0x1D, + VK_ACCEPT = 0x1E, + VK_MODECHANGE = 0x1F, + // + VK_SPACE = 0x20, + VK_PRIOR = 0x21, + VK_NEXT = 0x22, + VK_END = 0x23, + VK_HOME = 0x24, + VK_LEFT = 0x25, + VK_UP = 0x26, + VK_RIGHT = 0x27, + VK_DOWN = 0x28, + VK_SELECT = 0x29, + VK_PRINT = 0x2A, + VK_EXECUTE = 0x2B, + VK_SNAPSHOT = 0x2C, + VK_INSERT = 0x2D, + VK_DELETE = 0x2E, + VK_HELP = 0x2F, + // + VK_LWIN = 0x5B, + VK_RWIN = 0x5C, + VK_APPS = 0x5D, + // + VK_SLEEP = 0x5F, + // + VK_NUMPAD0 = 0x60, + VK_NUMPAD1 = 0x61, + VK_NUMPAD2 = 0x62, + VK_NUMPAD3 = 0x63, + VK_NUMPAD4 = 0x64, + VK_NUMPAD5 = 0x65, + VK_NUMPAD6 = 0x66, + VK_NUMPAD7 = 0x67, + VK_NUMPAD8 = 0x68, + VK_NUMPAD9 = 0x69, + VK_MULTIPLY = 0x6A, + VK_ADD = 0x6B, + VK_SEPARATOR = 0x6C, + VK_SUBTRACT = 0x6D, + VK_DECIMAL = 0x6E, + VK_DIVIDE = 0x6F, + VK_F1 = 0x70, + VK_F2 = 0x71, + VK_F3 = 0x72, + VK_F4 = 0x73, + VK_F5 = 0x74, + VK_F6 = 0x75, + VK_F7 = 0x76, + VK_F8 = 0x77, + VK_F9 = 0x78, + VK_F10 = 0x79, + VK_F11 = 0x7A, + VK_F12 = 0x7B, + VK_F13 = 0x7C, + VK_F14 = 0x7D, + VK_F15 = 0x7E, + VK_F16 = 0x7F, + VK_F17 = 0x80, + VK_F18 = 0x81, + VK_F19 = 0x82, + VK_F20 = 0x83, + VK_F21 = 0x84, + VK_F22 = 0x85, + VK_F23 = 0x86, + VK_F24 = 0x87, + // + VK_NUMLOCK = 0x90, + VK_SCROLL = 0x91, + // + VK_OEM_NEC_EQUAL = 0x92, // '=' key on numpad + // + VK_OEM_FJ_JISHO = 0x92, // 'Dictionary' key + VK_OEM_FJ_MASSHOU = 0x93, // 'Unregister word' key + VK_OEM_FJ_TOUROKU = 0x94, // 'Register word' key + VK_OEM_FJ_LOYA = 0x95, // 'Left OYAYUBI' key + VK_OEM_FJ_ROYA = 0x96, // 'Right OYAYUBI' key + // + VK_LSHIFT = 0xA0, + VK_RSHIFT = 0xA1, + VK_LCONTROL = 0xA2, + VK_RCONTROL = 0xA3, + VK_LMENU = 0xA4, + VK_RMENU = 0xA5, + // + VK_BROWSER_BACK = 0xA6, + VK_BROWSER_FORWARD = 0xA7, + VK_BROWSER_REFRESH = 0xA8, + VK_BROWSER_STOP = 0xA9, + VK_BROWSER_SEARCH = 0xAA, + VK_BROWSER_FAVORITES = 0xAB, + VK_BROWSER_HOME = 0xAC, + // + VK_VOLUME_MUTE = 0xAD, + VK_VOLUME_DOWN = 0xAE, + VK_VOLUME_UP = 0xAF, + VK_MEDIA_NEXT_TRACK = 0xB0, + VK_MEDIA_PREV_TRACK = 0xB1, + VK_MEDIA_STOP = 0xB2, + VK_MEDIA_PLAY_PAUSE = 0xB3, + VK_LAUNCH_MAIL = 0xB4, + VK_LAUNCH_MEDIA_SELECT = 0xB5, + VK_LAUNCH_APP1 = 0xB6, + VK_LAUNCH_APP2 = 0xB7, + // + VK_OEM_1 = 0xBA, // ';:' for US + VK_OEM_PLUS = 0xBB, // '+' any country + VK_OEM_COMMA = 0xBC, // ',' any country + VK_OEM_MINUS = 0xBD, // '-' any country + VK_OEM_PERIOD = 0xBE, // '.' any country + VK_OEM_2 = 0xBF, // '/?' for US + VK_OEM_3 = 0xC0, // '`~' for US + // + VK_OEM_4 = 0xDB, // '[{' for US + VK_OEM_5 = 0xDC, // '\|' for US + VK_OEM_6 = 0xDD, // ']}' for US + VK_OEM_7 = 0xDE, // ''"' for US + VK_OEM_8 = 0xDF, + // + VK_OEM_AX = 0xE1, // 'AX' key on Japanese AX kbd + VK_OEM_102 = 0xE2, // "<>" or "\|" on RT 102-key kbd. + VK_ICO_HELP = 0xE3, // Help key on ICO + VK_ICO_00 = 0xE4, // 00 key on ICO + // + VK_PROCESSKEY = 0xE5, + // + VK_ICO_CLEAR = 0xE6, + // + VK_PACKET = 0xE7, + // + VK_OEM_RESET = 0xE9, + VK_OEM_JUMP = 0xEA, + VK_OEM_PA1 = 0xEB, + VK_OEM_PA2 = 0xEC, + VK_OEM_PA3 = 0xED, + VK_OEM_WSCTRL = 0xEE, + VK_OEM_CUSEL = 0xEF, + VK_OEM_ATTN = 0xF0, + VK_OEM_FINISH = 0xF1, + VK_OEM_COPY = 0xF2, + VK_OEM_AUTO = 0xF3, + VK_OEM_ENLW = 0xF4, + VK_OEM_BACKTAB = 0xF5, + // + VK_ATTN = 0xF6, + VK_CRSEL = 0xF7, + VK_EXSEL = 0xF8, + VK_EREOF = 0xF9, + VK_PLAY = 0xFA, + VK_ZOOM = 0xFB, + VK_NONAME = 0xFC, + VK_PA1 = 0xFD, + VK_OEM_CLEAR = 0xFE + } +} diff --git a/OnTopReplica/Native/WM.cs b/OnTopReplica/Native/WM.cs new file mode 100644 index 0000000..eddcd01 --- /dev/null +++ b/OnTopReplica/Native/WM.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Windows Message codes. + /// + static class WM { + public const int GETICON = 0x7f; + public const int SIZING = 0x214; + public const int NCHITTEST = 0x84; + public const int NCPAINT = 0x0085; + public const int LBUTTONDOWN = 0x0201; + public const int LBUTTONUP = 0x0202; + public const int LBUTTONDBLCLK = 0x0203; + public const int RBUTTONDOWN = 0x0204; + public const int RBUTTONUP = 0x0205; + public const int RBUTTONDBLCLK = 0x0206; + public const int NCLBUTTONUP = 0x00A2; + public const int NCLBUTTONDOWN = 0x00A1; + public const int NCLBUTTONDBLCLK = 0x00A3; + public const int NCRBUTTONUP = 0x00A5; + public const int SYSCOMMAND = 0x0112; + public const int GETTEXT = 0x000D; + public const int GETTEXTLENGTH = 0x000E; + } +} diff --git a/OnTopReplica/Native/WMSZ.cs b/OnTopReplica/Native/WMSZ.cs new file mode 100644 index 0000000..2052280 --- /dev/null +++ b/OnTopReplica/Native/WMSZ.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Win32 sizing codes (used by WM_SIZING message). + /// + static class WMSZ { + public const int LEFT = 1; + public const int RIGHT = 2; + public const int TOP = 3; + public const int BOTTOM = 6; + } +} diff --git a/OnTopReplica/Native/WindowManagerMethods.cs b/OnTopReplica/Native/WindowManagerMethods.cs new file mode 100644 index 0000000..967f2a6 --- /dev/null +++ b/OnTopReplica/Native/WindowManagerMethods.cs @@ -0,0 +1,88 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 Window Manager native methods. + /// + static class WindowManagerMethods { + + [DllImport("user32.dll")] + public static extern IntPtr GetForegroundWindow(); + + [DllImport("user32.dll")] + public static extern IntPtr RealChildWindowFromPoint(IntPtr parent, NPoint point); + + [return: MarshalAs(UnmanagedType.Bool)] + public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool IsWindowVisible(IntPtr hWnd); + + [DllImport("user32.dll")] + public static extern IntPtr GetDesktopWindow(); + + [DllImport("user32.dll")] + static extern bool ClientToScreen(IntPtr hwnd, ref NPoint point); + + /// + /// Converts a point in client coordinates of a window to screen coordinates. + /// + /// Handle to the window of the original point. + /// Point expressed in client coordinates. + /// Point expressed in screen coordinates. + public static NPoint ClientToScreen(IntPtr hwnd, NPoint clientPoint) { + NPoint localCopy = new NPoint(clientPoint); + + if (ClientToScreen(hwnd, ref localCopy)) + return localCopy; + else + return new NPoint(); + } + + [DllImport("user32.dll")] + static extern bool ScreenToClient(IntPtr hwnd, ref NPoint point); + + /// + /// Converts a point in screen coordinates in client coordinates relative to a window. + /// + /// Handle of the window whose client coordinate system should be used. + /// Point expressed in screen coordinates. + /// Point expressed in client coordinates. + public static NPoint ScreenToClient(IntPtr hwnd, NPoint screenPoint) { + NPoint localCopy = new NPoint(screenPoint); + + if (ScreenToClient(hwnd, ref localCopy)) + return localCopy; + else + return new NPoint(); + } + + [DllImport("user32.dll", CharSet = CharSet.Auto)] + public static extern IntPtr GetParent(IntPtr hWnd); + + [DllImport("user32.dll", SetLastError = false)] + public static extern bool SetForegroundWindow(IntPtr hwnd); + + public enum GetWindowMode : uint { + GW_HWNDFIRST = 0, + GW_HWNDLAST = 1, + GW_HWNDNEXT = 2, + GW_HWNDPREV = 3, + GW_OWNER = 4, + GW_CHILD = 5, + GW_ENABLEDPOPUP = 6 + } + + [DllImport("user32.dll")] + public static extern IntPtr GetWindow(IntPtr hwnd, GetWindowMode mode); + + } +} diff --git a/OnTopReplica/Native/WindowMethods.cs b/OnTopReplica/Native/WindowMethods.cs new file mode 100644 index 0000000..7a34af6 --- /dev/null +++ b/OnTopReplica/Native/WindowMethods.cs @@ -0,0 +1,127 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 methods for operating on windows. + /// + static class WindowMethods { + + [DllImport("user32.dll", SetLastError = true)] + public static extern bool GetClientRect(IntPtr handle, out NRectangle rect); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern int GetWindowTextLength(IntPtr hWnd); + + /// + /// Gets a window's text via API call. + /// + /// Window handle. + /// Title of the window. + public static string GetWindowText(IntPtr hwnd) { + int length = GetWindowTextLength(hwnd); + + if (length > 0) { + StringBuilder sb = new StringBuilder(length + 1); + if (WindowMethods.GetWindowText(hwnd, sb, sb.Capacity) > 0) + return sb.ToString(); + else + return String.Empty; + } + else + return String.Empty; + } + + public enum WindowLong { + WndProc = (-4), + HInstance = (-6), + HwndParent = (-8), + Style = (-16), + ExStyle = (-20), + UserData = (-21), + Id = (-12) + } + + public enum ClassLong { + Icon = -14, + IconSmall = -34 + } + + [Flags] + public enum WindowStyles : long { + None = 0, + Disabled = 0x8000000L, + Minimize = 0x20000000L, + MinimizeBox = 0x20000L, + Visible = 0x10000000L + } + + [Flags] + public enum WindowExStyles : long { + AppWindow = 0x40000, + Layered = 0x80000, + NoActivate = 0x8000000L, + ToolWindow = 0x80, + TopMost = 8, + Transparent = 0x20 + } + + public static IntPtr GetWindowLong(IntPtr hWnd, WindowLong i) { + if (IntPtr.Size == 8) { + return GetWindowLongPtr64(hWnd, i); + } + else { + return new IntPtr(GetWindowLong32(hWnd, i)); + } + } + + [DllImport("user32.dll", EntryPoint = "GetWindowLong")] + static extern int GetWindowLong32(IntPtr hWnd, WindowLong nIndex); + + [DllImport("user32.dll", EntryPoint = "GetWindowLongPtr")] + static extern IntPtr GetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex); + + public static IntPtr SetWindowLong(IntPtr hWnd, WindowLong i, IntPtr dwNewLong) { + if (IntPtr.Size == 8) { + return SetWindowLongPtr64(hWnd, i, dwNewLong); + } + else { + return new IntPtr(SetWindowLong32(hWnd, i, dwNewLong.ToInt32())); + } + } + + [DllImport("user32.dll", EntryPoint = "SetWindowLong")] + static extern int SetWindowLong32(IntPtr hWnd, WindowLong nIndex, int dwNewLong); + + [DllImport("user32.dll", EntryPoint = "SetWindowLongPtr")] + static extern IntPtr SetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex, IntPtr dwNewLong); + + #region Class styles + + [DllImport("user32.dll", EntryPoint = "GetClassLongPtrW")] + static extern IntPtr GetClassLong64(IntPtr hWnd, int nIndex); + + [DllImport("user32.dll", EntryPoint = "GetClassLongW")] + static extern int GetClassLong32(IntPtr hWnd, int nIndex); + + public static IntPtr GetClassLong(IntPtr hWnd, ClassLong i) { + if (IntPtr.Size == 8) { + return GetClassLong64(hWnd, (int)i); + } + else { + return new IntPtr(GetClassLong32(hWnd, (int)i)); + } + } + + #endregion + + [DllImport("user32.dll")] + public static extern IntPtr GetMenu(IntPtr hwnd); + + } +} diff --git a/OnTopReplica/Native/WindowsSevenMethods.cs b/OnTopReplica/Native/WindowsSevenMethods.cs new file mode 100644 index 0000000..587bf95 --- /dev/null +++ b/OnTopReplica/Native/WindowsSevenMethods.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + + static class WindowsSevenMethods { + + [DllImport("shell32.dll")] + internal static extern void SetCurrentProcessExplicitAppUserModelID( + [MarshalAs(UnmanagedType.LPWStr)] string AppID); + + [DllImport("shell32.dll")] + internal static extern void GetCurrentProcessExplicitAppUserModelID( + [Out(), MarshalAs(UnmanagedType.LPWStr)] out string AppID); + + } + +} diff --git a/OnTopReplica/NativeToolStripRenderer.cs b/OnTopReplica/NativeToolStripRenderer.cs new file mode 100644 index 0000000..b4d94f3 --- /dev/null +++ b/OnTopReplica/NativeToolStripRenderer.cs @@ -0,0 +1,587 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Diagnostics.CodeAnalysis; +using System.Windows.Forms; +using System.Windows.Forms.VisualStyles; +using System.Runtime.InteropServices; + +namespace Asztal.Szótár { + public enum ToolbarTheme { + Toolbar, + MediaToolbar, + CommunicationsToolbar, + BrowserTabBar + } + + /// + /// Renders a toolstrip using the UxTheme API via VisualStyleRenderer. Visual styles must be supported for this to work; if you need to support other operating systems use + /// + class UXThemeToolStripRenderer : ToolStripSystemRenderer { + /// + /// It shouldn't be necessary to P/Invoke like this, however a bug in VisualStyleRenderer.GetMargins forces my hand. + /// + static internal class NativeMethods { + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct MARGINS { + public int cxLeftWidth; + public int cxRightWidth; + public int cyTopHeight; + public int cyBottomHeight; + } + + [DllImport("uxtheme", ExactSpelling = true)] + public extern static Int32 GetThemeMargins(IntPtr hTheme, IntPtr hdc, int iPartId, int iStateId, int iPropId, IntPtr rect, out MARGINS pMargins); + } + + //See http://msdn2.microsoft.com/en-us/library/bb773210.aspx - "Parts and States" + #region Parts and States + enum MenuParts : int { + MENU_MENUITEM_TMSCHEMA = 1, + MENU_MENUDROPDOWN_TMSCHEMA = 2, + MENU_MENUBARITEM_TMSCHEMA = 3, + MENU_MENUBARDROPDOWN_TMSCHEMA = 4, + MENU_CHEVRON_TMSCHEMA = 5, + MENU_SEPARATOR_TMSCHEMA = 6, + MENU_BARBACKGROUND = 7, + MENU_BARITEM = 8, + MENU_POPUPBACKGROUND = 9, + MENU_POPUPBORDERS = 10, + MENU_POPUPCHECK = 11, + MENU_POPUPCHECKBACKGROUND = 12, + MENU_POPUPGUTTER = 13, + MENU_POPUPITEM = 14, + MENU_POPUPSEPARATOR = 15, + MENU_POPUPSUBMENU = 16, + MENU_SYSTEMCLOSE = 17, + MENU_SYSTEMMAXIMIZE = 18, + MENU_SYSTEMMINIMIZE = 19, + MENU_SYSTEMRESTORE = 20 + } + + enum MenuBarStates : int { + MB_ACTIVE = 1, + MB_INACTIVE = 2 + } + + enum MenuBarItemStates : int { + MBI_NORMAL = 1, + MBI_HOT = 2, + MBI_PUSHED = 3, + MBI_DISABLED = 4, + MBI_DISABLEDHOT = 5, + MBI_DISABLEDPUSHED = 6 + } + + enum MenuPopupItemStates : int { + MPI_NORMAL = 1, + MPI_HOT = 2, + MPI_DISABLED = 3, + MPI_DISABLEDHOT = 4 + } + + enum MenuPopupCheckStates : int { + MC_CHECKMARKNORMAL = 1, + MC_CHECKMARKDISABLED = 2, + MC_BULLETNORMAL = 3, + MC_BULLETDISABLED = 4 + } + + enum MenuPopupCheckBackgroundStates : int { + MCB_DISABLED = 1, + MCB_NORMAL = 2, + MCB_BITMAP = 3 + } + + enum MenuPopupSubMenuStates : int { + MSM_NORMAL = 1, + MSM_DISABLED = 2 + } + + enum MarginTypes : int { + TMT_SIZINGMARGINS = 3601, + TMT_CONTENTMARGINS = 3602, + TMT_CAPTIONMARGINS = 3603 + } + + const int RP_BACKGROUND = 6; + #endregion + + #region Theme helpers + Padding GetThemeMargins(IDeviceContext dc, MarginTypes marginType) { + NativeMethods.MARGINS margins; + try { + IntPtr hDC = dc.GetHdc(); + if (0 == NativeMethods.GetThemeMargins(renderer.Handle, hDC, renderer.Part, renderer.State, (int)marginType, IntPtr.Zero, out margins)) + return new Padding(margins.cxLeftWidth, margins.cyTopHeight, margins.cxRightWidth, margins.cyBottomHeight); + return new Padding(-1); + } finally { + dc.ReleaseHdc(); + } + } + + private static int GetItemState(ToolStripItem item) { + bool pressed = item.Pressed; + bool hot = item.Selected; + + if (item.Owner.IsDropDown) { + if (item.Enabled) + return hot ? (int)MenuPopupItemStates.MPI_HOT : (int)MenuPopupItemStates.MPI_NORMAL; + return hot ? (int)MenuPopupItemStates.MPI_DISABLEDHOT : (int)MenuPopupItemStates.MPI_DISABLED; + } else { + if (pressed) + return item.Enabled ? (int)MenuBarItemStates.MBI_PUSHED : (int)MenuBarItemStates.MBI_DISABLEDPUSHED; + if (item.Enabled) + return hot ? (int)MenuBarItemStates.MBI_HOT : (int)MenuBarItemStates.MBI_NORMAL; + return hot ? (int)MenuBarItemStates.MBI_DISABLEDHOT : (int)MenuBarItemStates.MBI_DISABLED; + } + } + #endregion + + #region Theme subclasses + public ToolbarTheme Theme { + get; set; + } + + private string RebarClass { + get { + return SubclassPrefix + "Rebar"; + } + } + + private string ToolbarClass { + get { + return SubclassPrefix + "ToolBar"; + } + } + + private string MenuClass { + get { + return SubclassPrefix + "Menu"; + } + } + + private string SubclassPrefix { + get { + switch (Theme) { + case ToolbarTheme.MediaToolbar: return "Media::"; + case ToolbarTheme.CommunicationsToolbar: return "Communications::"; + case ToolbarTheme.BrowserTabBar: return "BrowserTabBar::"; + default: return string.Empty; + } + } + } + + private VisualStyleElement Subclass(VisualStyleElement element) { + return VisualStyleElement.CreateElement(SubclassPrefix + element.ClassName, + element.Part, element.State); + } + #endregion + + VisualStyleRenderer renderer; + + public UXThemeToolStripRenderer(ToolbarTheme theme) { + Theme = theme; + renderer = new VisualStyleRenderer(VisualStyleElement.Button.PushButton.Normal); + } + + #region Borders + protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPBORDERS, 0); + if (e.ToolStrip.IsDropDown) { + Region oldClip = e.Graphics.Clip; + + //Tool strip borders are rendered *after* the content, for some reason. + //So we have to exclude the inside of the popup otherwise we'll draw over it. + Rectangle insideRect = e.ToolStrip.ClientRectangle; + insideRect.Inflate(-1, -1); + e.Graphics.ExcludeClip(insideRect); + + renderer.DrawBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.AffectedBounds); + + //Restore the old clip in case the Graphics is used again (does that ever happen?) + e.Graphics.Clip = oldClip; + } + } + #endregion + + #region Backgrounds + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { + int partId = e.Item.Owner.IsDropDown ? (int)MenuParts.MENU_POPUPITEM : (int)MenuParts.MENU_BARITEM; + renderer.SetParameters(MenuClass, partId, GetItemState(e.Item)); + + Rectangle bgRect = e.Item.ContentRectangle; + + Padding content = GetThemeMargins(e.Graphics, MarginTypes.TMT_CONTENTMARGINS), + sizing = GetThemeMargins(e.Graphics, MarginTypes.TMT_SIZINGMARGINS), + caption = GetThemeMargins(e.Graphics, MarginTypes.TMT_CAPTIONMARGINS); + + if (!e.Item.Owner.IsDropDown) { + bgRect.Y = 0; + bgRect.Height = e.ToolStrip.Height; + bgRect.Inflate(-1, -1); //GetMargins here perhaps? + } + + renderer.DrawBackground(e.Graphics, bgRect, bgRect); + } + + protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e) { + //Draw the background using Rebar & RP_BACKGROUND (or, if that is not available, fall back to + //Rebar.Band.Normal) + if (VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement(RebarClass, RP_BACKGROUND, 0))) { + renderer.SetParameters(RebarClass, RP_BACKGROUND, 0); + } else { + renderer.SetParameters(RebarClass, 0, 0); + //renderer.SetParameters(VisualStyleElement.Taskbar.BackgroundBottom.Normal); + //renderer.SetParameters(Subclass(VisualStyleElement.Rebar.Band.Normal)); + } + + if (renderer.IsBackgroundPartiallyTransparent()) + renderer.DrawParentBackground(e.Graphics, e.ToolStripPanel.ClientRectangle, e.ToolStripPanel); + + renderer.DrawBackground(e.Graphics, e.ToolStripPanel.ClientRectangle); + + //Draw the etched edges of each row. + //renderer.SetParameters(Subclass(VisualStyleElement.Rebar.Band.Normal)); + //foreach (ToolStripPanelRow row in e.ToolStripPanel.Rows) { + // Rectangle rowBounds = row.Bounds; + // rowBounds.Offset(0, -1); + // renderer.DrawEdge(e.Graphics, rowBounds, Edges.Top, EdgeStyle.Etched, EdgeEffects.None); + //} + + e.Handled = true; + } + + //Render the background of an actual menu bar, dropdown menu or toolbar. + protected override void OnRenderToolStripBackground(System.Windows.Forms.ToolStripRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPBACKGROUND, 0); + } else { + //It's a MenuStrip or a ToolStrip. If it's contained inside a larger panel, it should have a + //transparent background, showing the panel's background. + + if (e.ToolStrip.Parent is ToolStripPanel) { + //The background should be transparent, because the ToolStripPanel's background will be visible. + //(Of course, we assume the ToolStripPanel is drawn using the same theme, but it's not my fault + //if someone does that.) + return; + } else { + //A lone toolbar/menubar should act like it's inside a toolbox, I guess. + //Maybe I should use the MenuClass in the case of a MenuStrip, although that would break + //the other themes... + if(VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement(RebarClass, RP_BACKGROUND, 0))) + renderer.SetParameters(RebarClass, RP_BACKGROUND, 0); + else + renderer.SetParameters(RebarClass, 0, 0); + } + } + + if (renderer.IsBackgroundPartiallyTransparent()) + renderer.DrawParentBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.ToolStrip); + + renderer.DrawBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.AffectedBounds); + } + + protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e) { + //e.Graphics.FillRectangle(Brushes.RosyBrown, e.ToolStripContentPanel.ClientRectangle); + //base.OnRenderToolStripContentPanelBackground(e); + } + + //Some sort of chevron thing? + //protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e) { + // base.OnRenderOverflowButtonBackground(e); + //} + #endregion + + #region Text + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { + int partId = e.Item.Owner.IsDropDown ? (int)MenuParts.MENU_POPUPITEM : (int)MenuParts.MENU_BARITEM; + renderer.SetParameters(MenuClass, partId, GetItemState(e.Item)); + Color color = renderer.GetColor(ColorProperty.TextColor); + + if(e.Item.Owner.IsDropDown || e.Item.Owner is MenuStrip) + e.TextColor = color; + + base.OnRenderItemText(e); + } + #endregion + + #region Glyphs + + //protected override void OnRenderGrip(ToolStripGripRenderEventArgs e) { + // if (e.GripStyle == ToolStripGripStyle.Visible) { + // renderer.SetParameters(VisualStyleElement.Rebar.Gripper.Normal); + // renderer.DrawBackground(e.Graphics, e.GripBounds, e.AffectedBounds); + // } + //} + + protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPGUTTER, 0); + Rectangle displayRect = e.ToolStrip.DisplayRectangle, + marginRect = new Rectangle(0, displayRect.Top, displayRect.Left, displayRect.Height); + //e.Graphics.DrawRectangle(Pens.Black, marginRect); + renderer.DrawBackground(e.Graphics, marginRect, marginRect); + } + } + + protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPSEPARATOR, 0); + Rectangle rect = new Rectangle(e.ToolStrip.DisplayRectangle.Left, 0, e.ToolStrip.DisplayRectangle.Width, e.Item.Height); + renderer.DrawBackground(e.Graphics, rect, rect); + } else { + base.OnRenderSeparator(e); + } + } + + protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { + ToolStripMenuItem item = e.Item as ToolStripMenuItem; + if (item != null) { + if (item.Checked) { + Rectangle rect = e.Item.ContentRectangle; + rect.Width = rect.Height; + + //Center the checkmark horizontally in the gutter (looks ugly, though) + //rect.X = (e.ToolStrip.DisplayRectangle.Left - rect.Width) / 2; + + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPCHECKBACKGROUND, e.Item.Enabled ? (int)MenuPopupCheckBackgroundStates.MCB_NORMAL : (int)MenuPopupCheckBackgroundStates.MCB_DISABLED); + renderer.DrawBackground(e.Graphics, rect); + + Padding margins = GetThemeMargins(e.Graphics, MarginTypes.TMT_SIZINGMARGINS); + + rect = new Rectangle(rect.X + margins.Left, rect.Y + margins.Top, + rect.Width - margins.Horizontal, + rect.Height - margins.Vertical); + + //I don't think ToolStrip even supports radio box items. So no need to render them. + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPCHECK, e.Item.Enabled ? (int)MenuPopupCheckStates.MC_CHECKMARKNORMAL : (int)MenuPopupCheckStates.MC_CHECKMARKDISABLED); + + renderer.DrawBackground(e.Graphics, rect); + } + } else { + base.OnRenderItemCheck(e); + } + } + + //This is broken for RTL + protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { + int stateId = e.Item.Enabled ? (int)MenuPopupSubMenuStates.MSM_NORMAL : (int)MenuPopupSubMenuStates.MSM_DISABLED; + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPSUBMENU, stateId); + renderer.DrawBackground(e.Graphics, e.ArrowRectangle); + } + + protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e) { + renderer.SetParameters(RebarClass, VisualStyleElement.Rebar.Chevron.Normal.Part, VisualStyleElement.Rebar.Chevron.Normal.State); + renderer.DrawBackground(e.Graphics, e.Item.ContentRectangle); + + //base.OnRenderOverflowButtonBackground(e); + } + #endregion + + public static bool IsSupported { + get { + if (!VisualStyleRenderer.IsSupported) + return false; + + return VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement("MENU", (int)MenuParts.MENU_BARBACKGROUND, (int)MenuBarStates.MB_ACTIVE)); + } + } + } + + /// + /// Renders a toolstrip using UXTheme if possible, and switches back to the default + /// ToolStripRenderer when UXTheme-based rendering is not available. + /// Designed for menu bars and context menus - it is not guaranteed to work with anything else. + /// + /// + /// NativeToolStripRenderer.SetToolStripRenderer(toolStrip1, toolStrip2, contextMenuStrip1); + /// + /// + /// toolStrip1.Renderer = new NativeToolStripRenderer(); + /// + public class NativeToolStripRenderer : ToolStripRenderer { + UXThemeToolStripRenderer nativeRenderer; + ToolStripRenderer defaultRenderer; + ToolStrip toolStrip; + + //NativeToolStripRenderer looks best with no padding - but keep the old padding in case the + //visual styles become unsupported again (e.g. user changes to windows classic skin) + Padding defaultPadding; + + #region Constructors + /// + /// Creates a NativeToolStripRenderer for a particular ToolStrip. NativeToolStripRenderer will subscribe to some events + /// of this ToolStrip. + /// + /// The toolstrip for this NativeToolStripRenderer. NativeToolStripRenderer will subscribe to some events + /// of this ToolStrip. + public NativeToolStripRenderer(ToolStrip toolStrip, ToolbarTheme theme) { + if (toolStrip == null) + throw new ArgumentNullException("toolStrip", "ToolStrip cannot be null."); + + Theme = theme; + + this.toolStrip = toolStrip; + defaultRenderer = toolStrip.Renderer; + + defaultPadding = toolStrip.Padding; + toolStrip.SystemColorsChanged += new EventHandler(toolStrip_SystemColorsChanged); + + //Can't initialize here - constructor throws if visual styles not enabled + //nativeRenderer = new NativeToolStripRenderer(); + } + + public NativeToolStripRenderer(ToolStripPanel panel, ToolbarTheme theme) { + if (panel == null) + throw new ArgumentNullException("panel", "Panel cannot be null."); + + Theme = theme; + + this.toolStrip = null; + defaultRenderer = panel.Renderer; + } + #endregion + + public ToolbarTheme Theme { get; set; } + + void toolStrip_SystemColorsChanged(object sender, EventArgs e) { + if (toolStrip == null) + return; + + if (UXThemeToolStripRenderer.IsSupported) + toolStrip.Padding = Padding.Empty; + else + toolStrip.Padding = defaultPadding; + } + + //This is indeed called every time a menu part is rendered, but I can't + //find a way of caching it that I can be sure has no race conditions. + //The check is no longer very costly, anyway. + protected ToolStripRenderer ActualRenderer { + get { + bool nativeSupported = UXThemeToolStripRenderer.IsSupported; + + if (nativeSupported) { + if (nativeRenderer == null) + nativeRenderer = new UXThemeToolStripRenderer(Theme); + return nativeRenderer; + } + + return defaultRenderer; + } + } + + #region InitializeXXX + protected override void Initialize(ToolStrip toolStrip) { + base.Initialize(toolStrip); + + toolStrip.Padding = Padding.Empty; + + if (/*!(toolStrip is MenuStrip) &&*/ toolStrip.Parent is ToolStripPanel) { + toolStrip.BackColor = Color.Transparent; + } + } + + protected override void InitializePanel(ToolStripPanel toolStripPanel) { + base.InitializePanel(toolStripPanel); + } + + protected override void InitializeItem(ToolStripItem item) { + base.InitializeItem(item); + } + #endregion + + #region SetToolStripRenderer + /// + /// Sets the renderer of each ToolStrip to a NativeToolStripRenderer. A convenience method. + /// + /// A parameter list of ToolStrips. + [SuppressMessage("Microsoft.Design", "CA1062")] //The parameter array is actually checked. + public static void SetToolStripRenderer(ToolbarTheme theme, params Control[] toolStrips) { + foreach (Control ts in toolStrips) { + if (ts == null) + throw new ArgumentNullException("toolStrips", "ToolStrips cannot contain a null reference."); + } + + foreach (Control ts in toolStrips) { + if (ts is ToolStrip) { + ToolStrip t = (ToolStrip)ts; + t.Renderer = new NativeToolStripRenderer(t, theme); + } else if (ts is ToolStripPanel) { + ToolStripPanel t = (ToolStripPanel)ts; + t.Renderer = new NativeToolStripRenderer(t, theme); + } else + throw new ArgumentException("Can't set the renderer for a " + ts.GetType().Name); + } + } + + public static void SetToolStripRenderer(params Control[] toolStrips) { + SetToolStripRenderer(ToolbarTheme.Toolbar, toolStrips); + } + #endregion + + #region Overridden Methods - Deferred to actual renderer + protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { + ActualRenderer.DrawArrow(e); + } + + protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawButtonBackground(e); + } + + protected override void OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawDropDownButtonBackground(e); + } + + protected override void OnRenderGrip(ToolStripGripRenderEventArgs e) { + ActualRenderer.DrawGrip(e); + } + + protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { + ActualRenderer.DrawImageMargin(e); + } + + protected override void OnRenderItemBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawItemBackground(e); + } + + protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { + ActualRenderer.DrawItemCheck(e); + } + + protected override void OnRenderItemImage(ToolStripItemImageRenderEventArgs e) { + ActualRenderer.DrawItemImage(e); + } + + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { + ActualRenderer.DrawItemText(e); + } + + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawMenuItemBackground(e); + } + + protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e) { + ActualRenderer.DrawSeparator(e); + } + + protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e) { + ActualRenderer.DrawToolStripBackground(e); + } + + protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { + ActualRenderer.DrawToolStripBorder(e); + } + + protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e) { + ActualRenderer.DrawToolStripContentPanelBackground(e); + } + + protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e) { + ActualRenderer.DrawToolStripPanelBackground(e); + } + #endregion + } +} diff --git a/OnTopReplica/NotificationIcon.cs b/OnTopReplica/NotificationIcon.cs new file mode 100644 index 0000000..ebdce67 --- /dev/null +++ b/OnTopReplica/NotificationIcon.cs @@ -0,0 +1,84 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica { + /// + /// Notification icon that installs itself in the "tray" and manipulates the OnTopReplica main form. + /// + class NotificationIcon : IDisposable { + + public NotificationIcon(MainForm form) { + Form = form; + Install(); + } + + public MainForm Form { get; private set; } + + NotifyIcon _taskIcon; + ContextMenuStrip _contextMenu; + + private void Install() { + _contextMenu = new ContextMenuStrip(); + _contextMenu.Items.AddRange(new ToolStripItem[] { + new ToolStripMenuItem(Strings.MenuOpen, Resources.icon, TaskIconOpen_click) { + ToolTipText = Strings.MenuOpenTT, + }, + new ToolStripMenuItem(Strings.MenuWindows, Resources.list){ + DropDown = Form.MenuWindows, + ToolTipText = Strings.MenuWindowsTT + }, + new ToolStripMenuItem(Strings.MenuReset, null, TaskIconReset_click){ + ToolTipText = Strings.MenuResetTT + }, + new ToolStripMenuItem(Strings.MenuClose, Resources.close_new, TaskIconExit_click){ + ToolTipText = Strings.MenuCloseTT + } + }); + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(_contextMenu); + + _taskIcon = new NotifyIcon { + Text = Strings.ApplicationName, + Icon = Resources.icon_new, + Visible = true, + ContextMenuStrip = _contextMenu + }; + _taskIcon.DoubleClick += new EventHandler(TaskIcon_doubleclick); + } + + #region IDisposable Members + + public void Dispose() { + //Destroy NotifyIcon + if (_taskIcon != null) { + _taskIcon.Visible = false; + _taskIcon.Dispose(); + _taskIcon = null; + } + } + + #endregion + + #region Task Icon events + + void TaskIcon_doubleclick(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconOpen_click(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconReset_click(object sender, EventArgs e) { + Form.ResetMainFormWithConfirmation(); + } + + private void TaskIconExit_click(object sender, EventArgs e) { + Form.Close(); + } + + #endregion + } +} diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj new file mode 100644 index 0000000..a051510 --- /dev/null +++ b/OnTopReplica/OnTopReplica.csproj @@ -0,0 +1,426 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557} + WinExe + Properties + OnTopReplica + OnTopReplica + v2.0 + 512 + Assets\icon-new.ico + false + false + Internet + OnTopReplica.Program + + + false + A305A505E19CF40E069521C80C13AB3C900EDB7C + OnTopReplica_1_TemporaryKey.pfx + false + + + + + 3.5 + + publish\ + true + Disk + true + Background + 1 + Weeks + true + false + true + http://www.klopfenstein.net/public/Uploads/ontopreplica/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + en + OnTopReplica + Lorenz Cuno Klopfenstein + true + publish.htm + false + 0 + 3.0.2.%2a + false + true + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + false + true + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + false + + + + + + + + + OnTopReplica.exe.manifest + + + + + + + + + + False + ..\Lib\VistaControls.dll + + + + + Form + + + AboutForm.cs + + + Form + + + + + Form + + + Form + + + Form + + + + + + + + + + + + + + + + + + + + + + + + + UserControl + + + UserControl + + + GroupSwitchPanel.cs + + + + + + + + + + + + + True + True + Strings.resx + + + Component + + + Form + + + MainForm.cs + + + + + + AboutForm.cs + Designer + + + GroupSwitchPanel.cs + Designer + + + ResXFileCodeGenerator + Strings.cs.Designer.cs + + + ResXFileCodeGenerator + Strings.da.Designer.cs + + + ResXFileCodeGenerator + Strings.it.Designer.cs + Designer + + + MainForm.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + RegionPanel.cs + Designer + + + Strings.Designer.cs + Designer + ResXFileCodeGenerator + + + True + Resources.resx + True + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + UserControl + + + RegionPanel.cs + + + + + Component + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 2.0 %28x86%29 + true + + + False + .NET Framework 3.0 %28x86%29 + false + + + False + .NET Framework 3.5 + false + + + False + .NET Framework 3.5 SP1 + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Include + True + Satellite + + + False + + + + + Include + True + Satellite + + + False + + + + + Include + True + Satellite + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.csproj.user b/OnTopReplica/OnTopReplica.csproj.user new file mode 100644 index 0000000..00156d0 --- /dev/null +++ b/OnTopReplica/OnTopReplica.csproj.user @@ -0,0 +1,18 @@ + + + + publish\ + http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/download.aspx%3ffile=ontopreplica%252fsetup.exe/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/|http://lorenz.klopfenstein.net/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&page=on_top_replica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&page=programming_on_top_replica + http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/ + + + en-US + false + + + + + false + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.exe.manifest b/OnTopReplica/OnTopReplica.exe.manifest new file mode 100644 index 0000000..b9febc2 --- /dev/null +++ b/OnTopReplica/OnTopReplica.exe.manifest @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + Lightweight clone of a window. + + + + + + \ No newline at end of file diff --git a/OnTopReplica/PlatformSupport.cs b/OnTopReplica/PlatformSupport.cs new file mode 100644 index 0000000..8f7d816 --- /dev/null +++ b/OnTopReplica/PlatformSupport.cs @@ -0,0 +1,109 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Platforms; +using System.Windows.Forms; + +namespace OnTopReplica { + abstract class PlatformSupport : IDisposable { + + public static PlatformSupport Create() { + var os = Environment.OSVersion; + + if (os.Platform != PlatformID.Win32NT) + return new Other(); + + if (os.Version.Major == 6) { + if (os.Version.Minor >= 1) + return new WindowsSeven(); + else + return new WindowsVista(); + } + else if (os.Version.Major > 6) { + //Ensures forward compatibility + return new WindowsSeven(); + } + else { + //Generic NT + return new WindowsXp(); + } + } + + /// + /// Checks whether OnTopReplica is compatible with the platform. + /// + /// Returns false if OnTopReplica cannot run. + public abstract bool CheckCompatibility(); + + /// + /// Initializes the application. Called once in the app lifetime. + /// + public virtual void InitApp() { + } + + /// + /// Gets the main OnTopReplica form. + /// + protected MainForm Form { get; private set; } + + /// + /// Initializes a form. Called once in the form lifetime. + /// + /// Form to initialize. + public virtual void InitForm(MainForm form) { + Form = form; + } + + /// + /// Prepares the app for shutdown. Called once before the program terminates. + /// + public virtual void ShutdownApp() { + } + + /// + /// Hides the main form in a way that it can be restored later by the user. + /// + /// Form to hide. + public virtual void HideForm(MainForm form) { + form.Hide(); + } + + /// + /// Gets whether the form is currently hidden or not. + /// + public virtual bool IsHidden(MainForm form) { + return !form.Visible; + } + + /// + /// Restores the main form to its default state after is has been hidden. + /// Can be called whether the form is hidden or not. + /// + /// Form to restore. + public virtual void RestoreForm(MainForm form) { + form.Show(); + } + + /// + /// Called when the form changes its state, without calling into or . + /// Enables inheritors to update the form's state on each state change. + /// + public virtual void OnFormStateChange(MainForm form) { + } + + #region IDisposable Members + + bool _isDisposed = false; + + public void Dispose() { + if (_isDisposed) + return; + + this.ShutdownApp(); + _isDisposed = true; + } + + #endregion + + } +} diff --git a/OnTopReplica/Platforms/Other.cs b/OnTopReplica/Platforms/Other.cs new file mode 100644 index 0000000..abd253d --- /dev/null +++ b/OnTopReplica/Platforms/Other.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.Platforms { + class Other : PlatformSupport { + + public override bool CheckCompatibility() { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, + MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + } +} diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs new file mode 100644 index 0000000..b1d1db0 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -0,0 +1,52 @@ +using System; +using System.Windows.Forms; +using OnTopReplica.Native; +using VistaControls.Dwm; + +namespace OnTopReplica.Platforms { + class WindowsSeven : WindowsVista { + + public override void InitForm(MainForm form) { + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + DwmManager.SetExludeFromPeek(form, true); + DwmManager.SetDisallowPeek(form, true); + + SetWindowStyle(form); + } + + public override void InitApp() { + //Set Application ID + WindowsSevenMethods.SetCurrentProcessExplicitAppUserModelID("OnTopReplica"); + } + + public override void HideForm(MainForm form) { + form.Opacity = 0; + } + + public override bool IsHidden(MainForm form) { + return (form.Opacity == 0.0); + } + + public override void RestoreForm(MainForm form) { + if (form.Opacity == 0.0) + form.Opacity = 1.0; + form.Show(); + SetWindowStyle(form); + } + + public override void OnFormStateChange(MainForm form) { + SetWindowStyle(form); + } + + private void SetWindowStyle(MainForm form) { + if (!form.IsFullscreen) { + //This hides the app from ALT+TAB + //Note that when minimized, it will be shown as an (ugly) minimized tool window + Native.WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle, + (IntPtr)WindowMethods.WindowExStyles.ToolWindow); + } + } + + + } +} diff --git a/OnTopReplica/Platforms/WindowsVista.cs b/OnTopReplica/Platforms/WindowsVista.cs new file mode 100644 index 0000000..d8d1b60 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsVista.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using VistaControls.Dwm; +using OnTopReplica.Properties; +using VistaControls.TaskDialog; + +namespace OnTopReplica.Platforms { + + class WindowsVista : PlatformSupport { + + public override bool CheckCompatibility() { + if (!VistaControls.OsSupport.IsCompositionEnabled) { + MessageBox.Show(Strings.ErrorDwmOffContent, Strings.ErrorDwmOff, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + return true; + } + + NotificationIcon _icon; + + public override void InitForm(MainForm form) { + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + + //Do not show in task bar, but display notify icon + //NOTE: this effectively makes Windows ignore the Flip 3D policy set above (on Windows 7) + //NOTE: this also makes HotKey registration critically fail on Windows 7 + form.ShowInTaskbar = false; + + //Install tray icon + _icon = new NotificationIcon(form); + } + + public override void ShutdownApp() { + if (_icon != null) { + _icon.Dispose(); + _icon = null; + } + } + + } + +} diff --git a/OnTopReplica/Platforms/WindowsXp.cs b/OnTopReplica/Platforms/WindowsXp.cs new file mode 100644 index 0000000..88d3895 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsXp.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.Platforms { + class WindowsXp : PlatformSupport { + + public override bool CheckCompatibility() { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + } +} diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs new file mode 100644 index 0000000..d4c5c2c --- /dev/null +++ b/OnTopReplica/Program.cs @@ -0,0 +1,120 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using OnTopReplica.Properties; +using System.Threading; +using System.Globalization; +using System.Drawing; +using System.IO; +using VistaControls.TaskDialog; +using OnTopReplica.Update; +using System.Reflection; + +namespace OnTopReplica { + + static class Program { + + public static PlatformSupport Platform { get; private set; } + + static CultureInfo _languageChangeCode = Settings.Default.Language; + + static UpdateManager _updateManager; + + static MainForm _mainForm; + + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() { + //Hook abort handler + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); + + //Initialize and check for platform support + Platform = PlatformSupport.Create(); + if (!Platform.CheckCompatibility()) + return; + Platform.InitApp(); + + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + + //Update settings if needed + if (Settings.Default.MustUpdate) { + Settings.Default.Upgrade(); + Settings.Default.MustUpdate = false; + } + + bool mustReloadForm = false; + Point reloadLocation = new Point(); + Size reloadSize = new Size(); + + do { + //Update language settings + Thread.CurrentThread.CurrentUICulture = _languageChangeCode; + Settings.Default.Language = _languageChangeCode; + _languageChangeCode = null; + + _mainForm = new MainForm(); + if (mustReloadForm) { + _mainForm.Location = reloadLocation; + _mainForm.Size = reloadSize; + } + + Application.Run(_mainForm); + + //Enable reloading on next loop + mustReloadForm = true; + reloadLocation = _mainForm.Location; + reloadSize = _mainForm.Size; + } + while (_languageChangeCode != null); + + //Persist settings + Settings.Default.Save(); + } + + /// + /// Forces a global language change. As soon as the main form is closed, the change is performed + /// and the form is reopened using the new language. + /// + public static bool ForceGlobalLanguageChange(string languageCode) { + if (string.IsNullOrEmpty(languageCode)) + return false; + + try { + _languageChangeCode = new CultureInfo(languageCode); + } + catch { + return false; + } + + return true; + } + + static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { + string dump = string.Format("OnTopReplica-dump-{0}{1}{2}{3}{4}.txt", + DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, + DateTime.UtcNow.Hour, DateTime.UtcNow.Minute); + string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), dump); + + using (var s = new FileStream(path, FileMode.Create)) { + using (var sw = new StreamWriter(s)) { + sw.WriteLine("OnTopReplica Dump file"); + sw.WriteLine("This file has been created because OnTopReplica crashed."); + sw.WriteLine("Please send it to lck@klopfenstein.net to help fix the bug that caused the crash."); + sw.WriteLine(); + sw.WriteLine("Last exception:"); + sw.WriteLine(e.ExceptionObject.ToString()); + sw.WriteLine(); + sw.WriteLine("OnTopReplica v. {0}", Assembly.GetEntryAssembly().GetName().Version); + sw.WriteLine("OS: {0}", Environment.OSVersion.ToString()); + sw.WriteLine(".NET: {0}", Environment.Version.ToString()); + sw.WriteLine("Aero DWM: {0}", VistaControls.OsSupport.IsCompositionEnabled); + sw.WriteLine("Launch command: {0}", Environment.CommandLine); + } + } + } + + } +} diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..5fd4749 --- /dev/null +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -0,0 +1,37 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("OnTopReplica")] +[assembly: AssemblyDescription("Real-time, always on top thumbnail of a window of your choice.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Lorenz Cuno Klopfenstein")] +[assembly: AssemblyProduct("OnTopReplica")] +[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2010")] +//[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2007")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("015090d1-7559-4c59-b9d1-e7e066c4a948")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("3.1.1.0")] +[assembly: AssemblyFileVersion("3.1.1.0")] diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs new file mode 100644 index 0000000..ee6767b --- /dev/null +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -0,0 +1,315 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.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() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("OnTopReplica.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + internal static System.Drawing.Bitmap back { + get { + object obj = ResourceManager.GetObject("back", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap clickforwarding { + get { + object obj = ResourceManager.GetObject("clickforwarding", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap close_new { + get { + object obj = ResourceManager.GetObject("close_new", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap desktop { + get { + object obj = ResourceManager.GetObject("desktop", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_czech { + get { + object obj = ResourceManager.GetObject("flag_czech", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_danish { + get { + object obj = ResourceManager.GetObject("flag_danish", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_ita { + get { + object obj = ResourceManager.GetObject("flag_ita", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_usa { + get { + object obj = ResourceManager.GetObject("flag_usa", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap fullscreen { + get { + object obj = ResourceManager.GetObject("fullscreen", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap groupmode { + get { + object obj = ResourceManager.GetObject("groupmode", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap icon { + get { + object obj = ResourceManager.GetObject("icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Icon icon_new { + get { + object obj = ResourceManager.GetObject("icon_new", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + internal static System.Drawing.Bitmap list { + get { + object obj = ResourceManager.GetObject("list", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_bottomleft { + get { + object obj = ResourceManager.GetObject("pos_bottomleft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_bottomright { + get { + object obj = ResourceManager.GetObject("pos_bottomright", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_null { + get { + object obj = ResourceManager.GetObject("pos_null", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_topleft { + get { + object obj = ResourceManager.GetObject("pos_topleft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_topright { + get { + object obj = ResourceManager.GetObject("pos_topright", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap reduce { + get { + object obj = ResourceManager.GetObject("reduce", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap refresh { + get { + object obj = ResourceManager.GetObject("refresh", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap regions { + get { + object obj = ResourceManager.GetObject("regions", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap thumbs_up { + get { + object obj = ResourceManager.GetObject("thumbs_up", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_border16 { + get { + object obj = ResourceManager.GetObject("window_border16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_multiple16 { + get { + object obj = ResourceManager.GetObject("window_multiple16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_opacity { + get { + object obj = ResourceManager.GetObject("window_opacity", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_switch { + get { + object obj = ResourceManager.GetObject("window_switch", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window16 { + get { + object obj = ResourceManager.GetObject("window16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_add { + get { + object obj = ResourceManager.GetObject("xiao_add", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_arrow { + get { + object obj = ResourceManager.GetObject("xiao_arrow", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_component { + get { + object obj = ResourceManager.GetObject("xiao_component", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_delete { + get { + object obj = ResourceManager.GetObject("xiao_delete", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_down { + get { + object obj = ResourceManager.GetObject("xiao_down", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_help { + get { + object obj = ResourceManager.GetObject("xiao_help", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_ok { + get { + object obj = ResourceManager.GetObject("xiao_ok", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_up { + get { + object obj = ResourceManager.GetObject("xiao_up", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_wrench { + get { + object obj = ResourceManager.GetObject("xiao_wrench", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx new file mode 100644 index 0000000..b84794e --- /dev/null +++ b/OnTopReplica/Properties/Resources.resx @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Assets\flag_ita.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\x-oblique.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\component.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\25.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_multiple16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\regions_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_null.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_opacity_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\thumbs_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\clickforwarding.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\newicon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_help.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\back.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_czech.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_switch.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\desktop.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_danish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\reduce.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_ok.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_wrench.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\list.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\icon-new.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\fullscreen.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_down.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_border16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_usa.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + + ..\Assets\groupmode.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/OnTopReplica/Properties/Settings.Designer.cs b/OnTopReplica/Properties/Settings.Designer.cs new file mode 100644 index 0000000..34d376b --- /dev/null +++ b/OnTopReplica/Properties/Settings.Designer.cs @@ -0,0 +1,157 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.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; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public global::OnTopReplica.StoredRegionArray SavedRegions { + get { + return ((global::OnTopReplica.StoredRegionArray)(this["SavedRegions"])); + } + set { + this["SavedRegions"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool AutoFitOnResize { + get { + return ((bool)(this["AutoFitOnResize"])); + } + set { + this["AutoFitOnResize"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("255")] + public byte Opacity { + get { + return ((byte)(this["Opacity"])); + } + set { + this["Opacity"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("(Default)")] + public global::System.Globalization.CultureInfo Language { + get { + return ((global::System.Globalization.CultureInfo)(this["Language"])); + } + set { + this["Language"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool MustUpdate { + get { + return ((bool)(this["MustUpdate"])); + } + set { + this["MustUpdate"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool ClickThrough { + get { + return ((bool)(this["ClickThrough"])); + } + set { + this["ClickThrough"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool FirstTimeClickThrough { + get { + return ((bool)(this["FirstTimeClickThrough"])); + } + set { + this["FirstTimeClickThrough"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool FirstTimeClickForwarding { + get { + return ((bool)(this["FirstTimeClickForwarding"])); + } + set { + this["FirstTimeClickForwarding"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool FullscreenAlwaysOnTop { + get { + return ((bool)(this["FullscreenAlwaysOnTop"])); + } + set { + this["FullscreenAlwaysOnTop"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string Setting { + get { + return ((string)(this["Setting"])); + } + set { + this["Setting"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string Setting1 { + get { + return ((string)(this["Setting1"])); + } + set { + this["Setting1"] = value; + } + } + } +} diff --git a/OnTopReplica/Properties/Settings.settings b/OnTopReplica/Properties/Settings.settings new file mode 100644 index 0000000..8aab035 --- /dev/null +++ b/OnTopReplica/Properties/Settings.settings @@ -0,0 +1,39 @@ + + + + + + + + + True + + + 255 + + + (Default) + + + True + + + True + + + True + + + True + + + False + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/Properties/app.manifest b/OnTopReplica/Properties/app.manifest new file mode 100644 index 0000000..c29c96a --- /dev/null +++ b/OnTopReplica/Properties/app.manifest @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/SidePanel.cs b/OnTopReplica/SidePanel.cs new file mode 100644 index 0000000..d3928cb --- /dev/null +++ b/OnTopReplica/SidePanel.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + /// + /// Represents a side panel that can be embedded in OnTopReplica. + /// + class SidePanel : UserControl { + + public SidePanel() { + Dock = DockStyle.Fill; + } + + /// + /// Gets the panel's parent form. + /// + protected MainForm ParentForm { get; private set; } + + /// + /// Raised when the side panel requests to be closed. + /// + public event EventHandler RequestClosing; + + protected virtual void OnRequestClosing() { + var evt = RequestClosing; + if (evt != null) + evt(this, EventArgs.Empty); + } + + /// + /// Is called when the side panel is embedded and first shown. + /// + /// Parent form that is embedding the side panel. + public virtual void OnFirstShown(MainForm form) { + ParentForm = form; + } + + /// + /// Is called before removing the side panel. + /// + /// Parent form that is embedding the side panel. + public virtual void OnClosing(MainForm form) { + } + + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs new file mode 100644 index 0000000..248924d --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs @@ -0,0 +1,129 @@ +namespace OnTopReplica.SidePanels { + partial class GroupSwitchPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonEnable = new System.Windows.Forms.Button(); + this.listWindows = new System.Windows.Forms.ListView(); + this.colName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.labelStatus = new System.Windows.Forms.Label(); + this.groupBox1.SuspendLayout(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.labelStatus); + this.groupBox1.Controls.Add(this.buttonCancel); + this.groupBox1.Controls.Add(this.buttonEnable); + this.groupBox1.Controls.Add(this.listWindows); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(228, 296); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = Strings.GroupSwitchModeTitle; + // + // buttonCancel + // + this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonCancel.Location = new System.Drawing.Point(152, 267); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(70, 23); + this.buttonCancel.TabIndex = 2; + this.buttonCancel.Text = Strings.GroupSwitchModeDisableButton; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(this.Cancel_click); + // + // buttonEnable + // + this.buttonEnable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonEnable.Image = global::OnTopReplica.Properties.Resources.xiao_ok; + this.buttonEnable.Location = new System.Drawing.Point(12, 267); + this.buttonEnable.Name = "buttonEnable"; + this.buttonEnable.Size = new System.Drawing.Size(134, 23); + this.buttonEnable.TabIndex = 1; + this.buttonEnable.Text = Strings.GroupSwitchModeEnableButton; + this.buttonEnable.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonEnable.UseVisualStyleBackColor = true; + this.buttonEnable.Click += new System.EventHandler(this.Enable_click); + // + // listWindows + // + this.listWindows.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.listWindows.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.colName}); + this.listWindows.FullRowSelect = true; + this.listWindows.GridLines = true; + this.listWindows.HideSelection = false; + this.listWindows.LabelWrap = false; + this.listWindows.Location = new System.Drawing.Point(6, 19); + this.listWindows.Name = "listWindows"; + this.listWindows.Size = new System.Drawing.Size(216, 225); + this.listWindows.TabIndex = 0; + this.listWindows.UseCompatibleStateImageBehavior = false; + this.listWindows.View = System.Windows.Forms.View.Details; + // + // colName + // + this.colName.Text = Strings.GroupSwitchModeWindows; + this.colName.Width = 220; + // + // labelStatus + // + this.labelStatus.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelStatus.Location = new System.Drawing.Point(3, 247); + this.labelStatus.Name = "labelStatus"; + this.labelStatus.Size = new System.Drawing.Size(219, 17); + this.labelStatus.TabIndex = 3; + this.labelStatus.Text = ""; + this.labelStatus.TextAlign = System.Drawing.ContentAlignment.BottomRight; + // + // GroupSwitchPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox1); + this.MinimumSize = new System.Drawing.Size(220, 220); + this.Name = "GroupSwitchPanel"; + this.Size = new System.Drawing.Size(228, 296); + this.groupBox1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Button buttonEnable; + private System.Windows.Forms.ListView listWindows; + private System.Windows.Forms.ColumnHeader colName; + private System.Windows.Forms.Label labelStatus; + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.cs new file mode 100644 index 0000000..b763889 --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.cs @@ -0,0 +1,73 @@ +using System; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using System.Collections.Generic; +using OnTopReplica.MessagePumpProcessors; + +namespace OnTopReplica.SidePanels { + partial class GroupSwitchPanel : SidePanel { + + public GroupSwitchPanel() { + InitializeComponent(); + } + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + LoadWindowList(); + + labelStatus.Text = (ParentForm.MessagePumpManager.Get().IsActive) ? + Strings.GroupSwitchModeStatusEnabled : + Strings.GroupSwitchModeStatusDisabled; + } + + private void LoadWindowList() { + var manager = new WindowManager(); + manager.Refresh(WindowManager.EnumerationMode.TaskWindows); + + var imageList = new ImageList(); + imageList.ColorDepth = ColorDepth.Depth32Bit; + foreach (var w in manager.Windows) { + var item = new ListViewItem(w.Title) { + Tag = w + }; + + if (w.Icon != null) { + imageList.Images.Add(w.Icon); + item.ImageIndex = imageList.Images.Count - 1; + } + + listWindows.Items.Add(item); + } + listWindows.SmallImageList = imageList; + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + if (_enableOnClose) { + List ret = new List(); + foreach (ListViewItem i in listWindows.SelectedItems) { + ret.Add((WindowHandle)i.Tag); + } + form.SetThumbnailGroup(ret); + } + else { + form.MessagePumpManager.Get().Disable(); + } + } + + bool _enableOnClose = false; + + private void Enable_click(object sender, EventArgs e) { + _enableOnClose = true; + OnRequestClosing(); + } + + private void Cancel_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.resx b/OnTopReplica/SidePanels/GroupSwitchPanel.resx new file mode 100644 index 0000000..ff31a6d --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/RegionPanel.Designer.cs b/OnTopReplica/SidePanels/RegionPanel.Designer.cs new file mode 100644 index 0000000..a237f87 --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.Designer.cs @@ -0,0 +1,314 @@ +namespace OnTopReplica.SidePanels { + partial class RegionPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.textRegionName = new OnTopReplica.FocusedTextBox(); + this.numH = new System.Windows.Forms.NumericUpDown(); + this.numW = new System.Windows.Forms.NumericUpDown(); + this.numY = new System.Windows.Forms.NumericUpDown(); + this.numX = new System.Windows.Forms.NumericUpDown(); + this.buttonDone = new System.Windows.Forms.Button(); + this.buttonReset = new System.Windows.Forms.Button(); + this.label6 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.buttonDelete = new System.Windows.Forms.Button(); + this.buttonSave = new System.Windows.Forms.Button(); + this.comboRegions = new VistaControls.ComboBox(); + this.groupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).BeginInit(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.textRegionName); + this.groupBox1.Controls.Add(this.numH); + this.groupBox1.Controls.Add(this.numW); + this.groupBox1.Controls.Add(this.numY); + this.groupBox1.Controls.Add(this.numX); + this.groupBox1.Controls.Add(this.buttonDone); + this.groupBox1.Controls.Add(this.buttonReset); + this.groupBox1.Controls.Add(this.label6); + this.groupBox1.Controls.Add(this.label7); + this.groupBox1.Controls.Add(this.label3); + this.groupBox1.Controls.Add(this.label2); + this.groupBox1.Controls.Add(this.label1); + this.groupBox1.Controls.Add(this.buttonDelete); + this.groupBox1.Controls.Add(this.buttonSave); + this.groupBox1.Controls.Add(this.comboRegions); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(184, 170); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Regions:"; + // + // textRegionName + // + this.textRegionName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textRegionName.BackColor = System.Drawing.SystemColors.ActiveCaption; + this.textRegionName.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; + this.textRegionName.Location = new System.Drawing.Point(6, 44); + this.textRegionName.Name = "textRegionName"; + this.textRegionName.Size = new System.Drawing.Size(174, 20); + this.textRegionName.TabIndex = 11; + this.textRegionName.Visible = false; + this.textRegionName.ConfirmInput += new System.EventHandler(this.Save_confirm); + this.textRegionName.AbortInput += new System.EventHandler(this.Save_lost); + // + // numH + // + this.numH.Enabled = false; + this.numH.Location = new System.Drawing.Point(109, 93); + this.numH.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numH.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numH.Name = "numH"; + this.numH.Size = new System.Drawing.Size(43, 20); + this.numH.TabIndex = 7; + this.numH.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numW + // + this.numW.Enabled = false; + this.numW.Location = new System.Drawing.Point(109, 67); + this.numW.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numW.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numW.Name = "numW"; + this.numW.Size = new System.Drawing.Size(43, 20); + this.numW.TabIndex = 6; + this.numW.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numY + // + this.numY.Enabled = false; + this.numY.Location = new System.Drawing.Point(23, 93); + this.numY.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numY.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numY.Name = "numY"; + this.numY.Size = new System.Drawing.Size(43, 20); + this.numY.TabIndex = 5; + this.numY.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numX + // + this.numX.Enabled = false; + this.numX.Location = new System.Drawing.Point(23, 67); + this.numX.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numX.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numX.Name = "numX"; + this.numX.Size = new System.Drawing.Size(43, 20); + this.numX.TabIndex = 4; + this.numX.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // buttonDone + // + this.buttonDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDone.Image = global::OnTopReplica.Properties.Resources.xiao_ok; + this.buttonDone.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonDone.Location = new System.Drawing.Point(108, 129); + this.buttonDone.Name = "buttonDone"; + this.buttonDone.Size = new System.Drawing.Size(70, 23); + this.buttonDone.TabIndex = 9; + this.buttonDone.Text = global::OnTopReplica.Strings.RegionsDoneButton; + this.buttonDone.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonDone.UseVisualStyleBackColor = true; + this.buttonDone.Click += new System.EventHandler(this.Close_click); + // + // buttonReset + // + this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonReset.Location = new System.Drawing.Point(32, 129); + this.buttonReset.Name = "buttonReset"; + this.buttonReset.Size = new System.Drawing.Size(70, 23); + this.buttonReset.TabIndex = 8; + this.buttonReset.Text = global::OnTopReplica.Strings.RegionsResetButton; + this.buttonReset.UseVisualStyleBackColor = true; + this.buttonReset.Click += new System.EventHandler(this.Reset_click); + // + // label6 + // + this.label6.AutoSize = true; + this.label6.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label6.Location = new System.Drawing.Point(71, 96); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(38, 13); + this.label6.TabIndex = 9; + this.label6.Text = "Height"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label7.Location = new System.Drawing.Point(71, 70); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(35, 13); + this.label7.TabIndex = 8; + this.label7.Text = "Width"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label3.Location = new System.Drawing.Point(6, 96); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(14, 13); + this.label3.TabIndex = 5; + this.label3.Text = "Y"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label2.Location = new System.Drawing.Point(6, 70); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(14, 13); + this.label2.TabIndex = 4; + this.label2.Text = "X"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(6, 47); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(76, 13); + this.label1.TabIndex = 3; + this.label1.Text = "Current region:"; + // + // buttonDelete + // + this.buttonDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDelete.Enabled = false; + this.buttonDelete.Image = global::OnTopReplica.Properties.Resources.xiao_delete; + this.buttonDelete.Location = new System.Drawing.Point(157, 18); + this.buttonDelete.Name = "buttonDelete"; + this.buttonDelete.Size = new System.Drawing.Size(23, 23); + this.buttonDelete.TabIndex = 3; + this.buttonDelete.UseVisualStyleBackColor = true; + this.buttonDelete.Click += new System.EventHandler(this.Delete_click); + // + // buttonSave + // + this.buttonSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonSave.Enabled = false; + this.buttonSave.Image = global::OnTopReplica.Properties.Resources.xiao_add; + this.buttonSave.Location = new System.Drawing.Point(134, 18); + this.buttonSave.Name = "buttonSave"; + this.buttonSave.Size = new System.Drawing.Size(23, 23); + this.buttonSave.TabIndex = 1; + this.buttonSave.UseVisualStyleBackColor = true; + this.buttonSave.Click += new System.EventHandler(this.Save_click); + // + // comboRegions + // + this.comboRegions.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.comboRegions.CueBannerText = global::OnTopReplica.Strings.RegionsStoredRegions; + this.comboRegions.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboRegions.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.comboRegions.FormattingEnabled = true; + this.comboRegions.Location = new System.Drawing.Point(6, 19); + this.comboRegions.Name = "comboRegions"; + this.comboRegions.Size = new System.Drawing.Size(126, 21); + this.comboRegions.TabIndex = 0; + this.comboRegions.SelectedIndexChanged += new System.EventHandler(this.RegionCombo_index_change); + // + // RegionPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox1); + this.MinimumSize = new System.Drawing.Size(184, 170); + this.Name = "RegionPanel"; + this.Size = new System.Drawing.Size(184, 170); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Button buttonDelete; + private System.Windows.Forms.Button buttonSave; + private VistaControls.ComboBox comboRegions; + private System.Windows.Forms.Button buttonDone; + private System.Windows.Forms.Button buttonReset; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.NumericUpDown numH; + private System.Windows.Forms.NumericUpDown numW; + private System.Windows.Forms.NumericUpDown numY; + private System.Windows.Forms.NumericUpDown numX; + private FocusedTextBox textRegionName; + } +} diff --git a/OnTopReplica/SidePanels/RegionPanel.cs b/OnTopReplica/SidePanels/RegionPanel.cs new file mode 100644 index 0000000..871a2a1 --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.cs @@ -0,0 +1,217 @@ +using System; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica.SidePanels { + partial class RegionPanel : SidePanel { + + public RegionPanel() { + InitializeComponent(); + + //Copy settings into combo box + if (Settings.Default.SavedRegions != null) { + foreach (object o in Settings.Default.SavedRegions) { + comboRegions.Items.Add(o); + } + } + + _regionDrawnHandler = new ThumbnailPanel.RegionDrawnHandler(ThumbnailPanel_RegionDrawn); + } + + ThumbnailPanel.RegionDrawnHandler _regionDrawnHandler; + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + //Init shown region if needed + if (form.SelectedThumbnailRegion.HasValue) + SetRegion(form.SelectedThumbnailRegion.Value); + + form.ThumbnailPanel.DrawMouseRegions = true; + form.ThumbnailPanel.RegionDrawn += _regionDrawnHandler; + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + form.ThumbnailPanel.DrawMouseRegions = false; + form.ThumbnailPanel.RegionDrawn -= _regionDrawnHandler; + } + + void ThumbnailPanel_RegionDrawn(object sender, Rectangle region) { + SetRegion(region); + } + + #region Interface + + /// + /// Sets the current selected region to a specific instance of a stored region. + /// + /// A stored region instance or null to reset. + public void SetRegion(StoredRegion region) { + if (region == null) { + Reset(); + return; + } + + SetRegion(region.Rect); + + //Select right combobox + if (comboRegions.Items.Contains(region)) { + comboRegions.SelectedItem = region; + } + } + + /// + /// Sets the current selected region to a specific region rectangle. + /// + /// The region boundaries. + public void SetRegion(Rectangle region) { + try { + _ignoreValueChanges = true; + + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = true; + + numX.Value = region.Left; + numY.Value = region.Top; + numW.Value = region.Width; + numH.Value = region.Height; + } + finally { + _ignoreValueChanges = false; + } + + OnRegionSet(region); + } + + /// + /// Resets the selected region and disables the num spinners. + /// + public void Reset() { + try { + _ignoreValueChanges = true; + + numX.Value = numY.Value = numW.Value = numH.Value = 0; + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = false; + + buttonSave.Enabled = false; + + comboRegions.SelectedIndex = -1; + } + finally { + _ignoreValueChanges = false; + } + } + + #endregion + + /// + /// Adds a new stored region. + /// + /// Region bounds. + /// Name of the region. + private void AddRegion(Rectangle rectangle, string regionName) { + var region = new StoredRegion(rectangle, regionName); + + int index = comboRegions.Items.Add(region); + comboRegions.SelectedIndex = index; + + if (Settings.Default.SavedRegions == null) + Settings.Default.SavedRegions = new StoredRegionArray(); + Settings.Default.SavedRegions.Add(region); + } + + /// + /// Internal event raised when a change occurs in the selected region. + /// + /// Region bounds. + protected virtual void OnRegionSet(Rectangle regionBounds) { + //Forward region to thumbnail + ParentForm.SelectedThumbnailRegion = regionBounds; + + buttonSave.Enabled = true; + } + + #region GUI event handlers + + private void Close_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + private void Reset_click(object sender, EventArgs e) { + Reset(); + ParentForm.SelectedThumbnailRegion = null; + } + + private void Delete_click(object sender, EventArgs e) { + if (comboRegions.SelectedIndex < 0) + return; + + var origIndex = comboRegions.SelectedIndex; + Settings.Default.SavedRegions.RemoveAt(origIndex); + comboRegions.Items.RemoveAt(origIndex); + + if (comboRegions.Items.Count > 0) + comboRegions.SelectedIndex = 0; + } + + private void Save_click(object sender, EventArgs e) { + //Display textbox instead of button + buttonSave.Enabled = buttonDelete.Enabled = false; + textRegionName.Visible = true; + textRegionName.Focus(); + } + + private void Save_confirm(object sender, EventArgs e) { + if (!string.IsNullOrEmpty(textRegionName.Text)) { + AddRegion( + new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value), + textRegionName.Text + ); + } + + //Hide textbox and show button again + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Enabled = buttonDelete.Enabled = true; + } + + private void Save_lost(object sender, EventArgs e) { + //Reset textbox + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Enabled = buttonDelete.Enabled = true; + buttonSave.Focus(); + } + + // Used to signal to the value change handler that all events should be temporarily ignored. + bool _ignoreValueChanges = false; + + private void RegionValueSpinner_value_change(object sender, EventArgs e) { + if (_ignoreValueChanges) + return; + + OnRegionSet(new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value)); + } + + private void RegionCombo_index_change(object sender, EventArgs e) { + buttonDelete.Enabled = (comboRegions.SelectedIndex >= 0); + + if (comboRegions.SelectedIndex >= 0) { + //Load region + var region = comboRegions.SelectedItem as StoredRegion; + + if (region == null) + return; + + SetRegion(region.Rect); + } + } + + #endregion + + } +} diff --git a/OnTopReplica/SidePanels/RegionPanel.resx b/OnTopReplica/SidePanels/RegionPanel.resx new file mode 100644 index 0000000..ff31a6d --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/StoredRegion.cs b/OnTopReplica/StoredRegion.cs new file mode 100644 index 0000000..93a64fd --- /dev/null +++ b/OnTopReplica/StoredRegion.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.Drawing; + +namespace OnTopReplica { + + [Serializable] + public class StoredRegion : IXmlSerializable { + + public StoredRegion() { + } + + public StoredRegion(Rectangle r, string n) { + Rect = r; + Name = n; + } + + public Rectangle Rect { + get; + set; + } + + public string Name { + get; + set; + } + + public override string ToString() { + return Name; + } + + + #region IXmlSerializable Members + + public System.Xml.Schema.XmlSchema GetSchema() { + return null; + } + + public void ReadXml(System.Xml.XmlReader reader) { + if (reader.MoveToAttribute("name")) + Name = reader.Value; + else + throw new Exception(); + + reader.Read(); + + XmlSerializer x = new XmlSerializer(typeof(Rectangle)); + Rect = (Rectangle)x.Deserialize(reader); + } + + public void WriteXml(System.Xml.XmlWriter writer) { + writer.WriteAttributeString("name", Name); + + XmlSerializer x = new XmlSerializer(typeof(Rectangle)); + x.Serialize(writer, Rect); + } + + #endregion + } + +} diff --git a/OnTopReplica/StoredRegionArray.cs b/OnTopReplica/StoredRegionArray.cs new file mode 100644 index 0000000..1a948c6 --- /dev/null +++ b/OnTopReplica/StoredRegionArray.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Collections; +using System.Xml.Serialization; + +namespace OnTopReplica { + + public class StoredRegionArray : ArrayList, IXmlSerializable { + + #region IXmlSerializable Members + + public System.Xml.Schema.XmlSchema GetSchema() { + return null; + } + + public void ReadXml(System.Xml.XmlReader reader) { + this.Clear(); + XmlSerializer x = new XmlSerializer(typeof(StoredRegion)); + while (reader.ReadToFollowing("StoredRegion")) { + object o = x.Deserialize(reader); + + if (o is StoredRegion) + this.Add(o); + } + } + + public void WriteXml(System.Xml.XmlWriter writer) { + XmlSerializer x = new XmlSerializer(typeof(StoredRegion)); + foreach (StoredRegion sr in this) { + x.Serialize(writer, sr); + } + } + + #endregion + + } + +} diff --git a/OnTopReplica/StoredRegionComparer.cs b/OnTopReplica/StoredRegionComparer.cs new file mode 100644 index 0000000..cfc9438 --- /dev/null +++ b/OnTopReplica/StoredRegionComparer.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Collections; + +namespace OnTopReplica { + + /// + /// Compares two StoredRegions based on their name. + /// + class StoredRegionComparer : IComparer { + + #region IComparer Members + + public int Compare(object x, object y) { + StoredRegion a = x as StoredRegion; + StoredRegion b = y as StoredRegion; + + if (a == null || b == null) + return -1; //this is wrong, but anyway + + return a.Name.CompareTo(b.Name); + } + + #endregion + + } +} diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs new file mode 100644 index 0000000..827c274 --- /dev/null +++ b/OnTopReplica/Strings.Designer.cs @@ -0,0 +1,1324 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Strings { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Strings() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("OnTopReplica.Strings", typeof(Strings).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Abort update process.. + /// + internal static string AboutButtonCancelTT { + get { + return ResourceManager.GetString("AboutButtonCancelTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show details about OnTopReplica.. + /// + internal static string AboutButtonExpanderTT { + get { + return ResourceManager.GetString("AboutButtonExpanderTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset all OnTopReplica settings.. + /// + internal static string AboutButtonResetTT { + get { + return ResourceManager.GetString("AboutButtonResetTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update OnTopReplica now.. + /// + internal static string AboutButtonUpdateTT { + get { + return ResourceManager.GetString("AboutButtonUpdateTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to <html> + /// <head> + /// <style type="text/css"> + ///body { + /// font-family: Segoe UI, Arial, sans-serif; + /// font-size: 0.8em; + /// margin: 0; + ///padding: 0.75em; + ///} + ///h1 { + /// font-size: 1.4em; + /// font-weight: bold; + /// + /// margin: 1em 0 0.4em 0; + /// padding: 0; + ///} + ///p { + /// margin: 0.5em 0 0.5em 1em; + /// padding: 0; + ///} + ///a { + /// font-weight: bold; + /// color: blue; + ///} + ///a:hover { + /// color: red; + ///} + /// </style> + /// </head> + /// + /// <body> + /// + /// <h1>License</h1> + /// + /// <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal [rest of string was truncated]";. + /// + internal static string AboutDetails { + get { + return ResourceManager.GetString("AboutDetails", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica. + /// + internal static string ApplicationName { + get { + return ResourceManager.GetString("ApplicationName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset window completely?. + /// + internal static string AskReset { + get { + return ResourceManager.GetString("AskReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to &Reset + ///All settings will be lost.. + /// + internal static string AskResetButtonOk { + get { + return ResourceManager.GetString("AskResetButtonOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary.. + /// + internal static string AskResetContent { + get { + return ResourceManager.GetString("AskResetContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset. + /// + internal static string AskResetTitle { + get { + return ResourceManager.GetString("AskResetTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset settings?. + /// + internal static string AskSettingReset { + get { + return ResourceManager.GetString("AskSettingReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost).. + /// + internal static string AskSettingResetContent { + get { + return ResourceManager.GetString("AskSettingResetContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset settings. + /// + internal static string AskSettingResetTitle { + get { + return ResourceManager.GetString("AskSettingResetTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Download OnTopReplica {0}?. + /// + internal static string AskUpdate { + get { + return ResourceManager.GetString("AskUpdate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cancel update + ///OnTopReplica will prompt you the next time it is started.. + /// + internal static string AskUpdateButtonCancel { + get { + return ResourceManager.GetString("AskUpdateButtonCancel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Download + ///Install OnTopReplica {0}.. + /// + internal static string AskUpdateButtonOk { + get { + return ResourceManager.GetString("AskUpdateButtonOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The new version can be downloaded and installed from the official website.. + /// + internal static string AskUpdateContent { + get { + return ResourceManager.GetString("AskUpdateContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Installed version: {0} + ///Available version: {1}. + /// + internal static string AskUpdateExpanded { + get { + return ResourceManager.GetString("AskUpdateExpanded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update available. + /// + internal static string AskUpdateTitle { + get { + return ResourceManager.GetString("AskUpdateTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to &Cancel. + /// + internal static string ButtonCancel { + get { + return ResourceManager.GetString("ButtonCancel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Created by: Lorenz Cuno Klopfenstein.. + /// + internal static string CreatedBy { + get { + return ResourceManager.GetString("CreatedBy", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Draw regions using mouse.. + /// + internal static string DrawRegions { + get { + return ResourceManager.GetString("DrawRegions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Details. + /// + internal static string ErrorDetailButton { + get { + return ResourceManager.GetString("ErrorDetailButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Details on Windows Aero. + /// + internal static string ErrorDetailsAero { + get { + return ResourceManager.GetString("ErrorDetailsAero", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Windows Aero is only available on Windows Vista Home Premium or higher.. + /// + internal static string ErrorDetailsAeroInfo { + get { + return ResourceManager.GetString("ErrorDetailsAeroInfo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Desktop Composition' is not enabled.. + /// + internal static string ErrorDwmOff { + get { + return ResourceManager.GetString("ErrorDwmOff", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + /// + ///To do so, right-click on the desktop and click on Personalize.. + /// + internal static string ErrorDwmOffContent { + get { + return ResourceManager.GetString("ErrorDwmOffContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error details. + /// + internal static string ErrorGenericInfoButton { + get { + return ResourceManager.GetString("ErrorGenericInfoButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error: . + /// + internal static string ErrorGenericInfoText { + get { + return ResourceManager.GetString("ErrorGenericInfoText", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to It appears that the selected window has been closed or is not valid anymore.. + /// + internal static string ErrorGenericThumbnailHandleError { + get { + return ResourceManager.GetString("ErrorGenericThumbnailHandleError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error. + /// + internal static string ErrorGenericTitle { + get { + return ResourceManager.GetString("ErrorGenericTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Desktop Composition' is not supported on your Operating System. + ///You must run this application on Windows Vista Home Premium or better.. + /// + internal static string ErrorNoDwm { + get { + return ResourceManager.GetString("ErrorNoDwm", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Desktop Composition unsupported. + /// + internal static string ErrorNoDwmTitle { + get { + return ResourceManager.GetString("ErrorNoDwmTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No thumbnail loaded.. + /// + internal static string ErrorNoThumbnail { + get { + return ResourceManager.GetString("ErrorNoThumbnail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to create thumbnail.. + /// + internal static string ErrorUnableToCreateThumbnail { + get { + return ResourceManager.GetString("ErrorUnableToCreateThumbnail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to fit window.. + /// + internal static string ErrorUnableToFit { + get { + return ResourceManager.GetString("ErrorUnableToFit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to check for updates.. + /// + internal static string ErrorUpdate { + get { + return ResourceManager.GetString("ErrorUpdate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>).. + /// + internal static string ErrorUpdateContent { + get { + return ResourceManager.GetString("ErrorUpdateContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down.. + /// + internal static string ErrorUpdateContentGeneric { + get { + return ResourceManager.GetString("ErrorUpdateContentGeneric", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Mode. + /// + internal static string FullscreenMode { + get { + return ResourceManager.GetString("FullscreenMode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Always on top. + /// + internal static string FullscreenModeAlwaysOnTop { + get { + return ResourceManager.GetString("FullscreenModeAlwaysOnTop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Forces OnTopReplica to stay always on top.. + /// + internal static string FullscreenModeAlwaysOnTopTT { + get { + return ResourceManager.GetString("FullscreenModeAlwaysOnTopTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click through. + /// + internal static string FullscreenModeClickThrough { + get { + return ResourceManager.GetString("FullscreenModeClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.. + /// + internal static string FullscreenModeClickThroughTT { + get { + return ResourceManager.GetString("FullscreenModeClickThroughTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Standard. + /// + internal static string FullscreenModeNormal { + get { + return ResourceManager.GetString("FullscreenModeNormal", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Behaves like an ordinary window. You can bring other windows above OnTopReplica.. + /// + internal static string FullscreenModeNormalTT { + get { + return ResourceManager.GetString("FullscreenModeNormalTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica fullscreen. + /// + internal static string FullscreenTitle { + get { + return ResourceManager.GetString("FullscreenTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disable. + /// + internal static string GroupSwitchModeDisableButton { + get { + return ResourceManager.GetString("GroupSwitchModeDisableButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Group mode. + /// + internal static string GroupSwitchModeEnableButton { + get { + return ResourceManager.GetString("GroupSwitchModeEnableButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select multiple windows to enable.. + /// + internal static string GroupSwitchModeStatusDisabled { + get { + return ResourceManager.GetString("GroupSwitchModeStatusDisabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group switch mode is enabled.. + /// + internal static string GroupSwitchModeStatusEnabled { + get { + return ResourceManager.GetString("GroupSwitchModeStatusEnabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group switch mode:. + /// + internal static string GroupSwitchModeTitle { + get { + return ResourceManager.GetString("GroupSwitchModeTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Windows. + /// + internal static string GroupSwitchModeWindows { + get { + return ResourceManager.GetString("GroupSwitchModeWindows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Homepage: www.codeplex.com/ontopreplica.. + /// + internal static string Homepage { + get { + return ResourceManager.GetString("Homepage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Do you want to enable "click forwarding"?. + /// + internal static string InfoClickForwarding { + get { + return ResourceManager.GetString("InfoClickForwarding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + /// + ///To exit this mode, push ESC.. + /// + internal static string InfoClickForwardingContent { + get { + return ResourceManager.GetString("InfoClickForwardingContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click forwarding. + /// + internal static string InfoClickForwardingTitle { + get { + return ResourceManager.GetString("InfoClickForwardingTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click-Through mode?. + /// + internal static string InfoClickThrough { + get { + return ResourceManager.GetString("InfoClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent.. + /// + internal static string InfoClickThroughDetails { + get { + return ResourceManager.GetString("InfoClickThroughDetails", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + /// + ///To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon).. + /// + internal static string InfoClickThroughInformation { + get { + return ResourceManager.GetString("InfoClickThroughInformation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No, thank you. + ///You can enable click-through later. + /// + internal static string InfoClickThroughNo { + get { + return ResourceManager.GetString("InfoClickThroughNo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use Click-Through. + /// + internal static string InfoClickThroughOk { + get { + return ResourceManager.GetString("InfoClickThroughOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click-Through mode. + /// + internal static string InfoClickThroughTitle { + get { + return ResourceManager.GetString("InfoClickThroughTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica has been updated.. + /// + internal static string InfoUpdated { + get { + return ResourceManager.GetString("InfoUpdated", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to In order to use the updated version of OnTopReplica you'll have to restart the application.. + /// + internal static string InfoUpdatedContent { + get { + return ResourceManager.GetString("InfoUpdatedContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update successful. + /// + internal static string InfoUpdatedTitle { + get { + return ResourceManager.GetString("InfoUpdatedTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica is up to date.. + /// + internal static string InfoUpToDate { + get { + return ResourceManager.GetString("InfoUpToDate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No update available. + /// + internal static string InfoUpToDateTitle { + get { + return ResourceManager.GetString("InfoUpToDateTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Language. + /// + internal static string Language { + get { + return ResourceManager.GetString("Language", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to About.... + /// + internal static string MenuAbout { + get { + return ResourceManager.GetString("MenuAbout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hides the main window and displays the "about" box.. + /// + internal static string MenuAboutTT { + get { + return ResourceManager.GetString("MenuAboutTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Advanced. + /// + internal static string MenuAdvanced { + get { + return ResourceManager.GetString("MenuAdvanced", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chrome. + /// + internal static string MenuChrome { + get { + return ResourceManager.GetString("MenuChrome", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles the display of the window chrome.. + /// + internal static string MenuChromeTT { + get { + return ResourceManager.GetString("MenuChromeTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click forwarding. + /// + internal static string MenuClickForwarding { + get { + return ResourceManager.GetString("MenuClickForwarding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable "click forwarding" to the cloned window.. + /// + internal static string MenuClickForwardingTT { + get { + return ResourceManager.GetString("MenuClickForwardingTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click-Through. + /// + internal static string MenuClickThrough { + get { + return ResourceManager.GetString("MenuClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.. + /// + internal static string MenuClickThroughTT { + get { + return ResourceManager.GetString("MenuClickThroughTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Close. + /// + internal static string MenuClose { + get { + return ResourceManager.GetString("MenuClose", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Closes OnTopReplica.. + /// + internal static string MenuCloseTT { + get { + return ResourceManager.GetString("MenuCloseTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 2:1 Double. + /// + internal static string MenuFitDouble { + get { + return ResourceManager.GetString("MenuFitDouble", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fullscreen. + /// + internal static string MenuFitFullscreen { + get { + return ResourceManager.GetString("MenuFitFullscreen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:2 Half. + /// + internal static string MenuFitHalf { + get { + return ResourceManager.GetString("MenuFitHalf", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:1 Fit to window. + /// + internal static string MenuFitOriginal { + get { + return ResourceManager.GetString("MenuFitOriginal", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:4 Quarter. + /// + internal static string MenuFitQuarter { + get { + return ResourceManager.GetString("MenuFitQuarter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Glass. + /// + internal static string MenuGlass { + get { + return ResourceManager.GetString("MenuGlass", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles "glass mode" on and off.. + /// + internal static string MenuGlassTT { + get { + return ResourceManager.GetString("MenuGlassTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group Switch mode. + /// + internal static string MenuGroupSwitch { + get { + return ResourceManager.GetString("MenuGroupSwitch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground.. + /// + internal static string MenuGroupSwitchTT { + get { + return ResourceManager.GetString("MenuGroupSwitchTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 100% (opaque). + /// + internal static string MenuOp100 { + get { + return ResourceManager.GetString("MenuOp100", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to be completely opaque.. + /// + internal static string MenuOp100TT { + get { + return ResourceManager.GetString("MenuOp100TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 25%. + /// + internal static string MenuOp25 { + get { + return ResourceManager.GetString("MenuOp25", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 25% opacity.. + /// + internal static string MenuOp25TT { + get { + return ResourceManager.GetString("MenuOp25TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 50%. + /// + internal static string MenuOp50 { + get { + return ResourceManager.GetString("MenuOp50", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 50% opacity.. + /// + internal static string MenuOp50TT { + get { + return ResourceManager.GetString("MenuOp50TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 75%. + /// + internal static string MenuOp75 { + get { + return ResourceManager.GetString("MenuOp75", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 75% opacity.. + /// + internal static string MenuOp75TT { + get { + return ResourceManager.GetString("MenuOp75TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Opacity. + /// + internal static string MenuOpacity { + get { + return ResourceManager.GetString("MenuOpacity", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open. + /// + internal static string MenuOpen { + get { + return ResourceManager.GetString("MenuOpen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Displays OnTopReplica.. + /// + internal static string MenuOpenTT { + get { + return ResourceManager.GetString("MenuOpenTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bottom Left. + /// + internal static string MenuPosBottomLeft { + get { + return ResourceManager.GetString("MenuPosBottomLeft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bottom Right. + /// + internal static string MenuPosBottomRight { + get { + return ResourceManager.GetString("MenuPosBottomRight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Position. + /// + internal static string MenuPosition { + get { + return ResourceManager.GetString("MenuPosition", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatically position OnTopReplica on the current screen.. + /// + internal static string MenuPositionTT { + get { + return ResourceManager.GetString("MenuPositionTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Top Left. + /// + internal static string MenuPosTopLeft { + get { + return ResourceManager.GetString("MenuPosTopLeft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Top Right. + /// + internal static string MenuPosTopRight { + get { + return ResourceManager.GetString("MenuPosTopRight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Quit fullscreen mode. + /// + internal static string MenuQuitFullscreen { + get { + return ResourceManager.GetString("MenuQuitFullscreen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Recall last position and size. + /// + internal static string MenuRecall { + get { + return ResourceManager.GetString("MenuRecall", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles whether OnTopReplica should store its last position and size and use them when it is restarted.. + /// + internal static string MenuRecallTT { + get { + return ResourceManager.GetString("MenuRecallTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimize. + /// + internal static string MenuReduce { + get { + return ResourceManager.GetString("MenuReduce", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimizes OnTopReplica to the task bar (or the tray).. + /// + internal static string MenuReduceTT { + get { + return ResourceManager.GetString("MenuReduceTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select region.... + /// + internal static string MenuRegion { + get { + return ResourceManager.GetString("MenuRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail.. + /// + internal static string MenuRegionTT { + get { + return ResourceManager.GetString("MenuRegionTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset window. + /// + internal static string MenuReset { + get { + return ResourceManager.GetString("MenuReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resets OnTopReplica settings and its main window.. + /// + internal static string MenuResetTT { + get { + return ResourceManager.GetString("MenuResetTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resize. + /// + internal static string MenuResize { + get { + return ResourceManager.GetString("MenuResize", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switch to window. + /// + internal static string MenuSwitch { + get { + return ResourceManager.GetString("MenuSwitch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switches to the source window and hides OnTopReplica.. + /// + internal static string MenuSwitchTT { + get { + return ResourceManager.GetString("MenuSwitchTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select window. + /// + internal static string MenuWindows { + get { + return ResourceManager.GetString("MenuWindows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to - none -. + /// + internal static string MenuWindowsNone { + get { + return ResourceManager.GetString("MenuWindowsNone", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Displays a list of window you can select as thumbnail source.. + /// + internal static string MenuWindowsTT { + get { + return ResourceManager.GetString("MenuWindowsTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to - whole -. + /// + internal static string MenuWindowsWholeRegion { + get { + return ResourceManager.GetString("MenuWindowsWholeRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Current region:. + /// + internal static string RegionsCurrentRegion { + get { + return ResourceManager.GetString("RegionsCurrentRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete. + /// + internal static string RegionsDeleteButton { + get { + return ResourceManager.GetString("RegionsDeleteButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Done. + /// + internal static string RegionsDoneButton { + get { + return ResourceManager.GetString("RegionsDoneButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Height. + /// + internal static string RegionsHeight { + get { + return ResourceManager.GetString("RegionsHeight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset. + /// + internal static string RegionsResetButton { + get { + return ResourceManager.GetString("RegionsResetButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Save. + /// + internal static string RegionsSaveButton { + get { + return ResourceManager.GetString("RegionsSaveButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stored regions. + /// + internal static string RegionsStoredRegions { + get { + return ResourceManager.GetString("RegionsStoredRegions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Regions:. + /// + internal static string RegionsTitle { + get { + return ResourceManager.GetString("RegionsTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Width. + /// + internal static string RegionsWidth { + get { + return ResourceManager.GetString("RegionsWidth", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Right-click here to start.... + /// + internal static string RightClick { + get { + return ResourceManager.GetString("RightClick", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A lightweight, real-time, always on top thumbnail of a window of your choice.. + /// + internal static string Slogan { + get { + return ResourceManager.GetString("Slogan", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica automatically checks for updates. No information is logged at any point.. + /// + internal static string UpdateDisclaimer { + get { + return ResourceManager.GetString("UpdateDisclaimer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update now!. + /// + internal static string UpdateNow { + get { + return ResourceManager.GetString("UpdateNow", resourceCulture); + } + } + } +} diff --git a/OnTopReplica/Strings.cs.resx b/OnTopReplica/Strings.cs.resx new file mode 100644 index 0000000..0d381ff --- /dev/null +++ b/OnTopReplica/Strings.cs.resx @@ -0,0 +1,456 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Přerušit aktualizaci. + + + Zobrazit podrobnosti o aplikaci OnTopReplica. + + + Resetovat nastavení OnTopReplica. + + + Aktualizovat OnTopReplica. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licence</h1> + + <p><b>OnTopReplica</b> je šířena pod <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a> licencí.</p> + <p>Původní zdrojový kód je možné nalézt na <a href="http://www.codeplex.com/ontopreplica">domovské stránce projektu na serveru CodePlex</a>.</p> + + <h1>Autoři a zásluhy</h1> + + <p>Původní inspirací pro OnTopReplica byla aplikace <a href="http://insentient.net">Switcher</a> a další aplikace založeny na DWM.</p> + + <p>Všechny Vista ovládací prvky jsou součástí <a href="http://www.codeplex.com/windowsformsaero">knihovny WindowsFormsAero</a> pro .NET.</p> + + <p>Některé ukázkové kódy byly převzaty z <a href="http://www.ookii.org">Ookii</a> ze serveru Channel9.</p> + + <p>Třída NativeToolstripRenderer byla převzata z <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Některé ikony pocházejí z <a href="http://www.vistaico.com">VistaICO.com</a> a balíčku ikon Xiao.</p> + + </body> +</html> + + + OnTopReplica + + + Resetovat nastavení okna? + + + &Resetovat +Všechna nastavení budou ztracena. + + + Operace "Resetovat okno" je vhodná k inicializaci všech nastavení pokud jste například ztratili kontrolu nad oknem nebo jej přesunuli mimo viditelnou plochu obrazovky. + + + Resetovat + + + Resetovat nastavení? + + + Operace "Resetovat nastavení" smaže veškerá uživatelská nastavení aplikace OnTopReplica a vrátí nastavení do stejného stavu jako po instalaci (všechny uložené informace, jako například uložené výřezy oken, budou ztraceny). + + + Resetovat nastavení + + + Instalovat OnTopReplica {0}? + {0} update version + + + Zrušit aktualizaci +Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. + + + Pokračovat +Instalovat OnTopReplica {0}. + {0} update version + + + Nová verze bude automaticky stažena a nainstalována. + + + Nainstalovaná verze: {0} +Dostupná verze: {1} + {0} installed version number +{1} online available version number + + + Nové aktualizace jsou k dispozici + + + &Storno + + + Autor: Lorenz Cuno Klopfenstein. + + + Označte výřez pomocí myši. + + + Podrobnosti + + + Podrobnosti k Windows Aero + + + Windows Aero je k dispozici pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce 'Desktop Composition' není povolena. + + + Pro pokračování je nutné povolit funkci "Desktop Composition" výběrem tématu 'Windows Aero' v nastavení vzhledu Windows. + +Uvedené lze provést například kliknutním pravým tlačítkem myši na plochu a zvolením akce "Přizpůsobit". + + + Podrobnosti k chybě + + + Chyba: + + + Zvolené okno bylo zavřeno nebo již není platné z jiných důvodů. + + + Chyba + + + Funkce 'Desktop Composition' není ve vašem systému podporována. +Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce Desktop Composition není podporována + + + Náhled nebyl nahrán. + + + Nelze vytvořit náhled. + + + Nelze vložit okno. + + + Kontrola aktualizací se nezdařila. + + + Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte <a href="http://ontopreplica.codeplex.com">domácí stránku aplikace OnTopReplica</a>). + + + Režim + + + Vždy na vrchu + + + Nastaví aplikaci OnTopReplica, aby zůstávala vždy na vrchu. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Standardní + + + Aplikace OnTopReplica se bude chovat jako běžné okno. Jiná okna mohou překrýt okno aplikace. + + + Aplikace OnTopReplica přes celou obrazovku + + + Domácí stránka: www.codeplex.com/ontopreplica. + + + Přejete si povolit "přeposílání kliknutí"? + + + V tomto režimu aplikace OnTopReplica přeposílá kliknutí levého tlačítka myši do zdrojového okna (je tedy možné provádět základní ovládání zdrojového okna bez nutnosti jej aktivovat). + +Ukončit režim "přeposíání kliknutí" je možné opětovným vyvolání položky v menu. + + + Přeposílání kliknutí + + + Povolit "Proklikávání" v celoobrazovkovém režimu? + + + "Proklikávání" funguje pouze pokud je povoleno v menu a okno má nastavenou průhlednost. + + + V tomto režimu se bude okno roztažené přes celou obrazovku chovat jako poloprůhledná vrstva, přes kterou bude možné "proklikávat" na podložená okna. + +K návratu do standardního režimu je možné přejít kdykoli dvojklikem na ikonu v oznamovací oblasti (traye). + + + Ne. +Režim "Proklikávání" je možné zvolit později v menu + + + Používat "Proklikávání" + + + Režim "Proklikávání" + + + Aplikace OnTopReplica byla aktualizována. + + + Pro použití aktualizací je potřeba aplikaci OnTopReplica restartovat. + + + Aktualizace proběhla úspěšně + + + OnTopReplica je aktuální. + + + Žádná aktualizace není k dispozici. + + + Jazyk + + + O aplikaci... + + + Skryje hlavní okno a zobrazí informace "O aplikaci". + + + Okraj + + + Přepínač, který definuje, zda má aplikace OnTopReplica viditelný okraj okna. + + + Přeposílání kliknutí + + + Zapne "přeposílání kliknutí" do zdrojového okna. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Zavřít + + + Ukončí aplikaci OnTopReplica. + + + 2:1 Dvojnásobná + + + Celá obrazovka + + + 1:2 Poloviční + + + 1:1 Jako zdroj + + + 1:4 Čtvrtinová + + + Glass efekt + + + Přepíná "glass efekt" okna. + + + 100% (neprůhledné) + + + Nastaví aplikaci OnTopReplica jako neprůhlednou. + + + 25% + + + Nastaví průhlednost na 25%. + + + 50% + + + Nastaví průhlednost na 50%. + + + 75% + + + Nastaví průhlednost na 75%. + + + Průhlednost + + + Otevřít + + + Zobrazí aplikaci OnTopReplica. + + + Dolní levý roh + + + Dolní pravý roh + + + Umístění + + + Automatická pozice aplikace OnTopReplica vzhledem k obrazovce. + + + Horní levý roh + + + Horní pravý rok + + + Opustit celoobrazovkový režim + + + Ukládat pozici a velikost okna + + + Přepínač, který definuje, zda si má aplikace OnTopReplica ukládat poslední pozici a velikost okna a obnovovat tyto údaje po restartování aplikace. + + + Minimalizovat do traye + + + Minimalizuje aplikaci OnTopReplica jako ikonu v systémové oblasti. + + + Vybrat výřez... + + + Přepne do režimu "výřezu", který umožní zvolit pouze část okna jako náhled. + + + Resetovat nastavení okna + + + Resetuje nastavení a pozici okna aplikace OnTopReplica. + + + Velikost + + + Přepnout do okna + + + Přepne do zdrojového okna a skryje aplikaci OnTopReplica. + + + Vybrat okno + + + - žádné - + + + Zobrazí seznam oken, které je možné použít jako zdroj. + + + - celé okno - + + + Aktuální výřez: + + + Smazat + + + Hotovo + + + Výška + + + Reset + + + Uložit + + + Uložené výřezy + + + Výřezy: + + + Šířka + + + Začněte klepnutím sem pravým tlačítkem myši... + + + Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému. + + + Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. Během této operace nedochází k žádnému přenosu či ukládání uživatelských informací. + + + Zkontroluj aktualizace + + \ No newline at end of file diff --git a/OnTopReplica/Strings.da.resx b/OnTopReplica/Strings.da.resx new file mode 100644 index 0000000..41d3c80 --- /dev/null +++ b/OnTopReplica/Strings.da.resx @@ -0,0 +1,451 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Annuller updateringen + + + Vis detaljer om OnTopReplica. + + + Nulstil alle OnTopReplica indstillinger. + + + Opdater OnTopReplica nu. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licens</h1> + + <p><b>OnTopReplica</b> er licenseret under <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>Dem originale kildekode kan findes på <a href="http://www.codeplex.com/ontopreplica">projektets hjemmeside på CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica er inspireret af <a href="http://insentient.net">Switcher</a> og andre DWM baserede applikationer.</p> + + <p>Alle Vista funktioner er del af <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero biblioteket</a> for .NET.</p> + + <p>Lidt eksempel kode er taget fra <a href="http://www.ookii.org">Ookii</a> på Channel9.</p> + + <p>NativeToolstripRenderer class er taget fra <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Lidt ikoner fra <a href="http://www.vistaico.com">VistaICO.com</a> og Xiao ikon sættet.</p> + + </body> +</html> + + + OnTopReplica + + + Nulstil vinduet helt? + + + &NulstilAlle ændringer vil blive tabt. + + + Kan bruges til at nulstille alle indstillinger hvis du mister kontrollen over vinduet eller hvis det er flyttet uden for skærmen. + + + Nulstil + + + Nulstil indstillinger? + + + Dette nulstiller OnTopReplica til standard indstillingerne (alle gemte informationer, som gemte områder, vil blive slettet). + + + Nulstil indstillingerne + + + Installer OnTopReplica {0}? + {0} update version + + + Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes. + + + FortsætInstaller OnTopReplica + {0} update version + + + Den nye version vil automatiskt blive downloaded og installeret. + + + Installeret version: {0} +Tilgængelig version: {1} + {0} installed version number +{1} online available version number + + + Opdatering tilgængelig. + + + &Annuller + + + Lavet af: Lorenz Cuno Klopfenstein. + + + Tegn områder med musen + + + Detaljer + + + Detaljer om Windows Aero + + + Windows Aero er kun tilgængelig op Windows Vista Home Premium eller højere. + + + Windows Aero effekter er ikke slået til + + + Du skal aktiverere "Windows Aero" som tema i Windows.For at gøre dette skal du højreklikke på skrivebordet og vælge personlige indstillinger. + + + Fejl detaljer. + + + Fejl: + + + Vinduet du har valgt er lukket eller er ikke gyldigt mere. + + + Fejl + + + Windows Aero effekter er ikke understøttet af dit styresystem. +Dette program kræver Windows Vista Home Premium eller bedre. + + + Skrivebords komposition ikke understøttet + + + Ingen miniature indlæst. + + + Kan ikke lave miniature. + + + Kunne ikke passes til vinduet. + + + Kan ikke søge efter opdateringer. + + + OnTopReplica blev ikke installeret ved hjælp af 'ClickOnce'. Du bliver nødt til at opdatere manuelt (besøg <a href="http://ontopreplica.codeplex.com">OnTopReplica's hjemmeside</a>). + + + Tilstande + + + Altid øverst + + + Får OnTopReplica til altid at være øverst. + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Standard + + + Opfører sig som et almindeligt vindue. Du kan trække andre viduer ind over OnTopReplica. + + + OnTopReplica fuld skærm + + + Hjemmeside: www.codeplex.com/ontopreplica. + + + Ønsker du at aktivere "click forwarding"? + + + Hvis denne funktion er aktiveret vil OnTopReplica vidersende alle venstr museklik til det klonede vindue (dette gør dig i stand til at udføre basis musefunktioner i det klonede vindue uden at skulle aktivere det). + +For at afslutte denne funktion skal du højreklikke på OnTopReplica og deaktivere "Click forwarding" i menuen. + + + Click forwarding + + + Ønskes gennem klik i fuldskærms tilstand? + + + Gennem klik virker kun hvis det er blevet aktiveret i gendan undermenuen og hvis vinduet er delvist gennemsigtigt. + + + I denne tilstand vil fuld skærm vinduet opføre sig som et delvist gennemsigtigt lag, hvilket gør dig i stand til at klikke på de underliggende vinduer. + +For at komme tilbage til normal tilstand, dobbeltklik på OnTopReplica ikonet i meddelelsesområdet på proceslinjen. + + + Nej. +Du kan aktivere gennem klik senere. + + + Brug gennem klik. + + + Gennem klik tilstand + + + OnTopReplica er blevet opdateret. + + + For at benytte den opdaterede udgave af OnTopReplica skal du genstarte programmet. + + + Opdatering fuldført + + + OnTopReplice er opdateret. + + + Ingen opdateringer er tilgængelige + + + Sprog + + + Om... + + + Skjuler hoved vinduet og viser om boxen. + + + Krom + + + Vælger Chrome kanten rundt om vinduet til/fra + + + Click forwarding + + + Aktiver "click forwarding" til det klonede vindue + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Luk + + + Lukker OnTopReplica. + + + 2:1 dobbelt + + + Fuld skærm + + + 1:2 halv + + + 1:1 Pas til vinduet + + + 1:4 kvart + + + Glas + + + Vælger "glas tilstand" til/fra + + + 100% (uigennemsigtig) + + + Sæt OnTopReplica til at være helt uigennemsigtig. + + + 25% + + + Sætter OnTopReplica til 25% uigennemsigtighed. + + + 50% + + + Sætter OnTopReplica til 50% uigennemsigtighed. + + + 75% + + + Sætter OnTopReplica til 75% uigennemsigtighed. + + + Uigennemsigtighed + + + åben + + + Viser OnTopReplica. + + + Nederst venstre + + + Nederst højre + + + Position + + + Sæt OnTopReplica automatiskt på den aktuelle skærm. + + + Øverst venstre + + + Øverst højre + + + Afslut fuldskærm tilstand. + + + Gendan sidste position og størrelse + + + Vælger om OnTopReplica skal gemme sidst brugte størrelse og position, til næste gang det starter op. + + + Minimer til systembakken. + + + Minimere OnTopReplica til systembakken. + + + Vælg område... + + + Skifter til "område tilstand", der tillader dig at vælge et begrænset område af kildens vindue som miniature. + + + Nulstil vinduet + + + Nulstiller OnTopReplica indstillingerne og hoved vinduet. + + + Genskab + + + Skift til vindue + + + Skifter til kilde vinduet og gemmer OnTopReplica. + + + Vælg vindue + + + - ingen - + + + Viser en liste af vinduer du kan bruge som miniature kilde. + + + - hele - + + + Aktuelt område: + + + Slet + + + Færdig + + + Højde + + + Nulstil + + + Gem + + + Gemte områder + + + Områder: + + + Bredde + + + Højreklik her for at starte... + + + En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. + + + OnTopReplica checker automatiskt for opdateringer. Der bliver ikke registreret nogen data på noget tidspunkt. + + + Opdater nu! + + \ No newline at end of file diff --git a/OnTopReplica/Strings.de.resx b/OnTopReplica/Strings.de.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.de.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.es.resx b/OnTopReplica/Strings.es.resx new file mode 100644 index 0000000..03bcda0 --- /dev/null +++ b/OnTopReplica/Strings.es.resx @@ -0,0 +1,90 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancelar actualización + + + Mostrar detalles acerca de OnTopReplica + + + Reiniciar la configuración de OnTopReplica + + + Actualizar OnTopReplica ahora + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licencia</h1> + + <p><b>OnTopReplica</b> cuenta con licencia <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>El código fuente original se encuentra en <a href="http://www.codeplex.com/ontopreplica">la página inicial del proyecto en CodePlex</a>.</p> + + <h1>Créditos</h1> + + <p><a href="http://insentient.net">Switcher</a> y otros programas basados en DWM inspiraron OnTopReplica.</p> + + <p>All Vista controls are part of the <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero library</a> for .NET.</p> + + <p>Some example code taken from <a href="http://www.ookii.org">Ookii</a> on Channel9.</p> + + <p>NativeToolstripRenderer class taken from <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> + + </body> +</html> + + + OnTopReplica + + + ¿Reiniciar la ventana? + + + &Reiniciar +Todas las configuraciones se perderán. + + \ No newline at end of file diff --git a/OnTopReplica/Strings.fi.resx b/OnTopReplica/Strings.fi.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.fi.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx new file mode 100644 index 0000000..f8090e3 --- /dev/null +++ b/OnTopReplica/Strings.it.resx @@ -0,0 +1,487 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Annulla il processo di aggiornamento. + + + Mostra dettagli su OnTopReplica. + + + Resetta tutte le impostazioni di OnTopReplica. + + + Aggiorna OnTopReplica ora. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licenza d'utilizzo</h1> + + <p><b>OnTopReplica</b> è rilasciato sotto la licenza <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>Il codice sorgente originale del programma è disponibile sulla <a href="http://www.codeplex.com/ontopreplica">homepage del progetto su CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica è stato inspirato da <a href="http://insentient.net">Switcher</a> ed altre applicazioni basate su DWM.</p> + + <p>I controlli utente specifici per Windows Vista sono parte della libreria <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero</a> per .NET.</p> + + <p>Qualche riga di codice d'esempio presa da <a href="http://www.ookii.org">Ookii</a> su Channel9.</p> + + <p>La classe NativeToolstripRenderer è stata presa da <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Alcune delle icone sono state prese da <a href="http://www.vistaico.com">VistaICO.com</a> e dal set di icone Xiao.</p> + + </body> +</html> + + + OnTopReplica + + + Ripristinare completamente la finestra? + + + &Ripristina +Tutte le impostazioni saranno perse. + + + Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. + + + Ripristino + + + Resettare impostazioni? + + + Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). + + + Reimposta + + + Scaricare OnTopReplica {0}? + {0} update version + + + Annulla aggiornamento +OnTopReplica si aggiornerà in un secondo momento. + + + Continua +Scarica OnTopReplica {0}. + {0} update version + + + Sarà possibile scaricare la nuova versione ed installarla. + + + Versione installata: {0} +Versione disponibile: {1} + {0} installed version number +{1} online available version number + + + Aggiornamento disponibile + + + &Annulla + + + Creato da: Lorenz Cuno Klopfenstein. + + + Disegna una regione usando il mouse. + + + Dettagli + + + Dettagli su Windows Aero + + + Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. + + + Il servizio di Desktop Composition Aero non è attivo. + + + È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows. + +Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. + + + Dettagli errore + + + Errore: + + + Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. + + + Errore + + + La "composzione del desktop" non è supportata dal tuo sistema operativo. +È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. + + + Desktop Composition (DWM) non supportato + + + Nessuna finestra clonata al momento. + + + Impossibile clonare la finestra. + + + Impossibile adattare la finestra. + + + Impossibile controllare gli aggiornamenti. + + + Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + Non è stato possibile controllare se esiste una versione più aggiornata di OnTopReplica. Verificare di essere connessi ad Internet. Se la connessione è attiva, è possibile che il sito ufficiale sia temporaneamente offline. + + + Modalità + + + Sempre in cima + + + OnTopReplica sarà sempre la finestra sopra a tutte le altre. + + + Click through + + + OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. + + + Normale + + + Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. + + + OnTopReplica a pieno schermo + + + Disattiva + + + Abilita modalità + + + Seleziona più finestre per attivare. + + + Modalità Gruppo attivata. + + + Modalità Gruppo di finestre: + + + Finestre + Column Header of list, simply refers to available windows to be cloned + + + Sito internet: www.codeplex.com/ontopreplica. + + + Attivare la modalità di inoltro dei clic? + + + In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano). + +Per uscire da questa modalità, usa il tasto ESC. + + + Inoltro dei clic + + + Attivare la modalità Click-Through? + + + La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. + + + In questa modalità la finestra clonata si comporterà come una maschera semitrasparente che permette di cliccare sulle finestre dietro di essa. + +Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). + + + No, grazie. +Puoi abilitare il Click-Through in futuro + + + Abilita Click-Through + + + Modalità Click-Through + + + OnTopReplica è stato aggiornato. + + + Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. + + + Aggiornamento completato + + + La versione più aggiornata è già installata. + + + Nessun aggiornamento disponibile + + + Lingua + + + A proposito di... + + + Nasconde la finestra principale e mostra una schermata di informazioni. + + + Avanzate + + + Bordo + + + Abilita o disabilita il bordo della finestra. + + + Inoltro dei clic + + + Attiva la modalità di "inoltro dei clic" alla finestra clonata. + + + Abilita Click-Through + + + OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa. + + + Chiudi + + + Termina OnTopReplica. + + + 2:1 Doppio + + + Tutto schermo + + + 1:2 Metà + + + 1:1 Clone esatto + + + 1:4 Quarto + + + Effetto vetro + + + Abilita o disabilita l'effetto vetro. + + + Modalità Gruppo di finestre + + + OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo. + + + 100% (opaco) + + + Imposta OnTopReplica come finestra completamente opaca. + + + 25% + + + Imposta l'opacità di OnTopReplica al 25%. + + + 50% + + + Imposta l'opacità di OnTopReplica al 50%. + + + 75% + + + Imposta l'opacità di OnTopReplica al 75%. + + + Opacità + + + Apri + + + Attiva la finestra di OnTopReplica. + + + In basso a sinistra + + + In basso a destra + + + Posizione + + + Posiziona automaticamente OnTopReplica sul monitor corrente. + + + In alto a sinistra + + + In alto a destra + + + Esci da tutto schermo + + + Ripristina posizione e grandezza + + + Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. + + + Minimizza + + + Riduce OnTopReplica ad un'icona nella barra delle applicazioni. + + + Seleziona regione... + + + Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. + + + Reimposta finestra + + + Reimposta OnTopReplica e la sua finestra principale. + + + Ridimensionamento + + + Vai alla finestra originale + + + Mostra la finestra originale e nasconde OnTopReplica. + + + Seleziona finestra + + + - nessuna - + + + Mostra una lista di finestre che è possibile clonare. + + + - intera - + + + Regione corrente: + + + Cancella + + + Chiudi + + + Altezz. + + + Reset + + + Salva + + + Regioni memorizzate + + + Regioni: + + + Largh. + + + Clic destro qui per iniziare... + + + Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta. + + + OnTopReplica controlla automaticamente se sono presenti aggiornamenti. + + + Aggiorna! + + \ No newline at end of file diff --git a/OnTopReplica/Strings.no.resx b/OnTopReplica/Strings.no.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.no.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.pt.resx b/OnTopReplica/Strings.pt.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.pt.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx new file mode 100644 index 0000000..670c5a7 --- /dev/null +++ b/OnTopReplica/Strings.resx @@ -0,0 +1,487 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>License</h1> + + <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>The original source code can be found on the <a href="http://www.codeplex.com/ontopreplica">project's homepage on CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica was inspired by <a href="http://insentient.net">Switcher</a> and other DWM based applications.</p> + + <p>All Vista controls are part of the <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero library</a> for .NET.</p> + + <p>Some example code taken from <a href="http://www.ookii.org">Ookii</a> on Channel9.</p> + + <p>NativeToolstripRenderer class taken from <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> + + </body> +</html> + + + OnTopReplica + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + Download OnTopReplica {0}? + {0} update version + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + {0} update version + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + {0} installed version number +{1} online available version number + + + Update available + + + &Cancel + + + Created by: Lorenz Cuno Klopfenstein. + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail. + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Chrome + + + Toggles the display of the window chrome. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Glass + + + Toggles "glass mode" on and off. + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Position + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + OnTopReplica automatically checks for updates. No information is logged at any point. + + + Update now! + + \ No newline at end of file diff --git a/OnTopReplica/Strings.ru.resx b/OnTopReplica/Strings.ru.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.ru.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs new file mode 100644 index 0000000..44d3979 --- /dev/null +++ b/OnTopReplica/ThumbnailPanel.cs @@ -0,0 +1,447 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using VistaControls.Dwm; +using VistaControls.ThemeText; +using System.Drawing; +using System.Windows.Forms.VisualStyles; +using OnTopReplica.Native; + +namespace OnTopReplica { + + class ThumbnailPanel : Panel { + + //DWM Thumbnail stuff + Thumbnail _thumbnail = null; + Rectangle _regionCurrent; + + //Labels + ThemedLabel _labelGlass; + + public ThumbnailPanel() { + InitFormComponents(); + } + + private void InitFormComponents() { + BackColor = Color.Black; + + //Themed Label + _labelGlass = new ThemedLabel { + Dock = DockStyle.Fill, + ForeColor = SystemColors.ControlText, + Location = Point.Empty, + Size = ClientSize, + Name = "labelGlass", + Text = Strings.RightClick, + TextAlign = HorizontalAlignment.Center, + TextAlignVertical = VerticalAlignment.Center + }; + this.Controls.Add(_labelGlass); + } + + #region Properties and settings + + /// + /// Gets or sets the region that is currently shown on the thumbnail. When set, also enabled region constrain. + /// + public Rectangle SelectedRegion { + get { + return _regionCurrent; + } + set { + _regionCurrent = value; + ConstrainToRegion = true; + } + } + + bool _regionEnabled = false; + + /// + /// Gets or sets whether the thumbnail is constrained to a region or not. + /// + public bool ConstrainToRegion { + get { + return _regionEnabled; + } + set { + _regionEnabled = value; + UpdateThubmnail(); + } + } + + bool _drawMouseRegions = false; + + /// + /// Gets or sets whether the control is is "region drawing" mode and reports them via events. + /// + public bool DrawMouseRegions { + get { + return _drawMouseRegions; + } + set { + //Set mode and reset region + _drawMouseRegions = value; + _drawingRegion = false; + + //Cursor change + Cursor = (value) ? Cursors.Cross : Cursors.Default; + + //Refresh gui + UpdateThubmnail(); + _labelGlass.Visible = !value; + this.Invalidate(); + } + } + + /// + /// Gets the target opacity of the thumbnail, depending on the control's state. + /// + protected byte ThumbnailOpacity { + get { + return (_drawMouseRegions) ? (byte)130 : (byte)255; + } + } + + /// + /// Gets or sets whether the control should report clicks made on the cloned thumbnail. + /// + public bool ReportThumbnailClicks { + get; + set; + } + + /// + /// Gets the thumbnail's original size. + /// + public Size ThumbnailOriginalSize { + get { + if (_thumbnail != null && !_thumbnail.IsInvalid) { + if (_regionEnabled) + return _regionCurrent.Size; + + return _thumbnail.SourceSize; + } + else + throw new Exception(Strings.ErrorNoThumbnail); + } + } + + #endregion + + #region GUI event handling + + protected override void OnResize(EventArgs eventargs) { + base.OnResize(eventargs); + UpdateThubmnail(); + } + + protected override void WndProc(ref Message m) { + base.WndProc(ref m); + + //Check whether this is a hit-test on "client" surface + if (m.Msg == WM.NCHITTEST && m.Result.ToInt32() == HT.CLIENT) { + //Check whether clicks must be reported + if(!DrawMouseRegions && !ReportThumbnailClicks /*&& !InputMethods.IsKeyPressed(VirtualKeyState.VK_SHIFT)*/){ + m.Result = new IntPtr(HT.TRANSPARENT); + } + } + } + + #endregion + + #region Thumbnail interface + + /// + /// Creates a new thumbnail of a certain window. + /// + /// Handle of the window to clone. + public void SetThumbnailHandle(WindowHandle handle) { + if (_thumbnail != null && !_thumbnail.IsInvalid) + _thumbnail.Close(); + + //Get form and register thumbnail on it + Form owner = this.TopLevelControl as Form; + if(owner == null) + throw new Exception("Internal error: ThumbnailPanel.TopLevelControl is not a Form."); + + _labelGlass.Visible = false; + + _thumbnail = DwmManager.Register(owner, handle.Handle); + ConstrainToRegion = false; //this also invokes a thumbnail update + } + + /// + /// Disposes current thumbnail and enters stand-by mode. + /// + public void UnsetThumbnail() { + if (_thumbnail != null && !_thumbnail.IsInvalid) + _thumbnail.Close(); + + _thumbnail = null; + _labelGlass.Visible = true; + } + + /// + /// Gets whether the control is currently displaying a thumbnail. + /// + public bool IsShowingThumbnail { + get { + return (_thumbnail != null && !_thumbnail.IsInvalid); + } + } + + int _padWidth = 0; + int _padHeight = 0; + Size _thumbnailSize; + + /// + /// Updates the thumbnail options and the right-click label. + /// + private void UpdateThubmnail() { + if (_thumbnail != null && !_thumbnail.IsInvalid){ + try { + Size sourceSize = ThumbnailOriginalSize; + _thumbnailSize = ComputeIdealSize(sourceSize, Size); + + _padWidth = (Size.Width - _thumbnailSize.Width) / 2; + _padHeight = (Size.Height - _thumbnailSize.Height) / 2; + + var target = new Rectangle(_padWidth, _padHeight, _thumbnailSize.Width, _thumbnailSize.Height); + Rectangle source = (_regionEnabled) ? _regionCurrent : new Rectangle(Point.Empty, _thumbnail.SourceSize); + + _thumbnail.Update(target, source, ThumbnailOpacity, true, true); + } + catch { + //Any error updating the thumbnail forces to unset (handle may not be valid anymore) + UnsetThumbnail(); + return; + } + } + } + + /// + /// Computes ideal thumbnail size given an original size and a target to fit. + /// + /// Size of the original thumbnail. + /// Size of the client area to fit. + private Size ComputeIdealSize(Size sourceSize, Size clientSize) { + double sourceRatio = (double)sourceSize.Width / (double)sourceSize.Height; + double clientRatio = (double)clientSize.Width / (double)clientSize.Height; + + Size ret; + if (sourceRatio >= clientRatio) { + ret = new Size(clientSize.Width, (int)((double)clientSize.Width / sourceRatio)); + } + else { + ret = new Size((int)((double)clientSize.Height * sourceRatio), clientSize.Height); + } + + return ret; + } + + #endregion + + #region Region drawing + + //Set if currently drawing a window (first click/drag was initiated) + bool _drawingRegion = false; + //Set if drawing was suspended because the mouse left the control + bool _drawingSuspended = false; + Point _regionStartPoint; + Point _regionLastPoint; + + public delegate void RegionDrawnHandler(object sender, Rectangle region); + + public event RegionDrawnHandler RegionDrawn; + + protected virtual void OnRegionDrawn(Rectangle region) { + //Fix region if necessary (bug report by Gunter, via comment) + if (region.Width < 1) region.Width = 1; + if (region.Height < 1) region.Height = 1; + + var evt = RegionDrawn; + if (evt != null) + evt(this, region); + } + + /// + /// Raises a RegionDrawn event, given a starting and an ending point of the drawn region. + /// + protected void RaiseRegionDrawn(Point start, Point end) { + if (_thumbnailSize.Width < 1 || _thumbnailSize.Height < 1) //causes DivBy0 + return; + + //Compute bounds + int left = Math.Min(start.X, end.X); + int right = Math.Max(start.X, end.X); + int top = Math.Min(start.Y, end.Y); + int bottom = Math.Max(start.Y, end.Y); + + //Clip to boundaries + left = Math.Max(0, left); + right = Math.Min(_thumbnailSize.Width, right); + top = Math.Max(0, top); + bottom = Math.Min(_thumbnailSize.Height, bottom); + + //Compute region rectangle in thumbnail coordinates + var startPoint = ClientToThumbnail(new Point(left, top)); + var endPoint = ClientToThumbnail(new Point(right, bottom)); + var final = new Rectangle( + startPoint, + new Size(endPoint.X - startPoint.X, endPoint.Y - startPoint.Y) + ); + + //Update region + SelectedRegion = final; + OnRegionDrawn(final); + } + + protected override void OnMouseDown(MouseEventArgs e) { + if (DrawMouseRegions && e.Button == MouseButtons.Left) { + //Start new region drawing + _drawingRegion = true; + _drawingSuspended = false; + _regionStartPoint = _regionLastPoint = e.Location; + + this.Invalidate(); + } + + base.OnMouseDown(e); + } + + protected override void OnMouseUp(MouseEventArgs e) { + if (DrawMouseRegions && e.Button == MouseButtons.Left) { + //Region completed + _drawingRegion = false; + _drawingSuspended = false; + RaiseRegionDrawn(_regionStartPoint, _regionLastPoint); + + this.Invalidate(); + } + + base.OnMouseUp(e); + } + + protected override void OnMouseLeave(EventArgs e) { + _drawingSuspended = true; + + this.Invalidate(); + + base.OnMouseLeave(e); + } + + protected override void OnMouseEnter(EventArgs e) { + _drawingSuspended = false; + + this.Invalidate(); + + base.OnMouseEnter(e); + } + + protected override void OnMouseMove(MouseEventArgs e) { + if (_drawingRegion && e.Button == MouseButtons.Left) { + //Continue drawing + _regionLastPoint = e.Location; + + this.Invalidate(); + } + else if(DrawMouseRegions && !_drawingRegion){ + //Keep track of region start point + _regionLastPoint = e.Location; + + this.Invalidate(); + } + + base.OnMouseMove(e); + } + + Pen penRed = new Pen(Color.FromArgb(255, Color.Red), 1.0f); + + protected override void OnPaint(PaintEventArgs e) { + if (_drawingRegion) { + //Is currently drawing, show rectangle + int left = Math.Min(_regionStartPoint.X, _regionLastPoint.X); + int right = Math.Max(_regionStartPoint.X, _regionLastPoint.X); + int top = Math.Min(_regionStartPoint.Y, _regionLastPoint.Y); + int bottom = Math.Max(_regionStartPoint.Y, _regionLastPoint.Y); + + e.Graphics.DrawRectangle(penRed, left, top, right - left, bottom - top); + } + else if (DrawMouseRegions && ! _drawingSuspended) { + //Show cursor coordinates + e.Graphics.DrawLine(penRed, new Point(0, _regionLastPoint.Y), new Point(ClientSize.Width, _regionLastPoint.Y)); + e.Graphics.DrawLine(penRed, new Point(_regionLastPoint.X, 0), new Point(_regionLastPoint.X, ClientSize.Height)); + } + + base.OnPaint(e); + } + + #endregion + + #region Thumbnail clone click + + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); + + if (_thumbnail == null) + return; + + //Raise clicking event to allow click forwarding + if (ReportThumbnailClicks) { + OnCloneClick(ClientToThumbnail(e.Location), e.Button, false); + } + } + + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); + + if (_thumbnail == null) + return; + + //Raise double clicking event to allow click forwarding + if (ReportThumbnailClicks) { + OnCloneClick(ClientToThumbnail(e.Location), e.Button, true); + } + } + + /// + /// Is raised when the thumbnail clone is clicked. + /// + public event EventHandler CloneClick; + + protected virtual void OnCloneClick(Point location, MouseButtons buttons, bool doubleClick){ + var evt = CloneClick; + if(evt != null) + evt(this, new CloneClickEventArgs(location, buttons, doubleClick)); + } + + #endregion + + /// + /// Convert a point in client coordinates to a point expressed in terms of a cloned thumbnail window. + /// + /// Point in client coordinates. + protected Point ClientToThumbnail(Point position) { + //Compensate padding + position.X -= _padWidth; + position.Y -= _padHeight; + + PointF proportionalPosition = new PointF( + (float)position.X / _thumbnailSize.Width, + (float)position.Y / _thumbnailSize.Height + ); + + //Get real pixel region info + Size source = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; + Point offset = (_regionEnabled) ? _regionCurrent.Location : Point.Empty; + + return new Point( + (int)((proportionalPosition.X * source.Width) + offset.X), + (int)((proportionalPosition.Y * source.Height) + offset.Y) + ); + } + + } + +} diff --git a/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs b/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs new file mode 100644 index 0000000..6482835 --- /dev/null +++ b/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Update { + class UpdateCheckCompletedEventArgs : EventArgs { + + public UpdateInformation Information { get; set; } + + public bool Success { get; set; } + + public Exception Error { get; set; } + + } +} diff --git a/OnTopReplica/Update/UpdateInformation.cs b/OnTopReplica/Update/UpdateInformation.cs new file mode 100644 index 0000000..f605223 --- /dev/null +++ b/OnTopReplica/Update/UpdateInformation.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.IO; +using System.Xml; + +namespace OnTopReplica.Update { + + /// + /// Contains information about the latest OnTopReplica update available. + /// + public class UpdateInformation { + + Version _latestVersion; + + /// + /// Gets the latest available version of the software. + /// + [XmlIgnore] + public Version LatestVersion { + get { + return _latestVersion; + } + set { + _latestVersion = value; + } + } + + [XmlElement("latestVersion")] + public string LatestVersionInternal { + get { + return _latestVersion.ToString(); + } + set { + _latestVersion = new Version(value); + } + } + + /// + /// Indicates when the latest version was released. + /// + [XmlElement("latestVersionRelease")] + public DateTime LatestVersionRelease { get; set; } + + /// + /// Gets the URL of the page that allows the user to download the updated installer. + /// + [XmlElement("downloadPage")] + public string DownloadPage { get; set; } + + /// + /// Deserializes an UpdateInformation object from a stream. + /// + public static UpdateInformation Deserialize(Stream source) { + var serializer = new XmlSerializer(typeof(UpdateInformation)); + var info = serializer.Deserialize(source) as UpdateInformation; + return info; + } + + public static string Serialize(UpdateInformation information) { + var serializer = new XmlSerializer(typeof(UpdateInformation)); + var sb = new StringBuilder(); + using(var writer = new StringWriter(sb)){ + serializer.Serialize(writer, information); + } + return sb.ToString(); + } + + } + +} diff --git a/OnTopReplica/Update/UpdateManager.cs b/OnTopReplica/Update/UpdateManager.cs new file mode 100644 index 0000000..bb2a5b5 --- /dev/null +++ b/OnTopReplica/Update/UpdateManager.cs @@ -0,0 +1,106 @@ +using System; +using System.Collections.Generic; +using System.Net; +using System.Text; +using System.Net.Cache; +using System.IO; +using System.Reflection; +using VistaControls.TaskDialog; +using System.Diagnostics; +using System.Windows.Forms; +using System.Threading; + +namespace OnTopReplica.Update { + + class UpdateManager { + + const string UpdateManifestUrl = "http://www.klopfenstein.net/public/Uploads/ontopreplica/update.xml"; + + public void CheckForUpdate() { + ThreadPool.QueueUserWorkItem(new WaitCallback(o => { + //Build web request + var request = (HttpWebRequest)HttpWebRequest.Create(UpdateManifestUrl); + request.AllowAutoRedirect = true; + request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; + request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache); + + try { + //Begin request + var response = request.GetResponse(); + var info = UpdateInformation.Deserialize(response.GetResponseStream()); + + OnUpdateCheckSuccess(info); + } + catch (Exception ex) { + OnUpdateCheckError(ex); + return; + } + })); + } + + public event EventHandler UpdateCheckCompleted; + + protected virtual void OnUpdateCheckError(Exception ex) { + var evt = UpdateCheckCompleted; + if (evt != null) { + evt(this, new UpdateCheckCompletedEventArgs { + Success = false, + Error = ex + }); + } + } + + protected virtual void OnUpdateCheckSuccess(UpdateInformation information) { + var evt = UpdateCheckCompleted; + if (evt != null) { + evt(this, new UpdateCheckCompletedEventArgs { + Success = true, + Information = information + }); + } + } + + /// + /// Handles the results of an update check. Must be called from main GUI thread. + /// + /// The retrieved update information. + /// Determines if the lack of updates should be notified to the user. + public void HandleUpdateCheck(Form parent, UpdateInformation information, bool verbose) { + if (information == null) + return; + + var currentVersion = Assembly.GetExecutingAssembly().GetName().Version; + + if (information.LatestVersion > currentVersion) { + //New version found + var dlg = new TaskDialog( + string.Format(Strings.AskUpdate, information.LatestVersion), + Strings.AskUpdateTitle, + Strings.AskUpdateContent) { + CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, string.Format(Strings.AskUpdateButtonOk, information.LatestVersion)), + new CustomButton(Result.Cancel, Strings.AskUpdateButtonCancel) + }, + UseCommandLinks = true, + CommonIcon = TaskDialogIcon.Information, + ExpandedInformation = string.Format(Strings.AskUpdateExpanded, currentVersion, information.LatestVersion) + }; + + if (dlg.Show(parent).CommonButton == Result.OK) { + Process.Start(information.DownloadPage); + } + } + else if(verbose) { + //No updates, but need to inform the user + var dlg = new TaskDialog(Strings.InfoUpToDate, Strings.InfoUpToDateTitle) { + CommonButtons = TaskDialogButton.OK, + CommonIcon = TaskDialogIcon.Information, + Footer = information.LatestVersion.ToString() + }; + dlg.Show(); + } + } + + } + +} diff --git a/OnTopReplica/Win32Helper.cs b/OnTopReplica/Win32Helper.cs new file mode 100644 index 0000000..49709ab --- /dev/null +++ b/OnTopReplica/Win32Helper.cs @@ -0,0 +1,122 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + public static class Win32Helper { + + /// Inject a fake left mouse click on a target window, on a location expressed in client coordinates. + /// Target window to click on. + /// Location of the mouse click expressed in client coordiantes of the target window. + /// True if a double click should be injected. + public static void InjectFakeMouseClick(IntPtr window, CloneClickEventArgs clickArgs) { + NPoint clientClickLocation = NPoint.FromPoint(clickArgs.ClientClickLocation); + NPoint scrClickLocation = WindowManagerMethods.ClientToScreen(window, clientClickLocation); + + //HACK (?) + //If target window has a Menu (which appears on the thumbnail) move the clicked location down + //in order to adjust (the menu isn't part of the window's client rect). + IntPtr hMenu = WindowMethods.GetMenu(window); + if (hMenu != IntPtr.Zero) + scrClickLocation.Y -= SystemInformation.MenuHeight; + + IntPtr hChild = GetRealChildControlFromPoint(window, scrClickLocation); + NPoint clntClickLocation = WindowManagerMethods.ScreenToClient(hChild, scrClickLocation); + + if (clickArgs.Buttons == MouseButtons.Left) { + if(clickArgs.IsDoubleClick) + InjectDoubleLeftMouseClick(hChild, clntClickLocation); + else + InjectLeftMouseClick(hChild, clntClickLocation); + } + else if (clickArgs.Buttons == MouseButtons.Right) { + if(clickArgs.IsDoubleClick) + InjectDoubleRightMouseClick(hChild, clntClickLocation); + else + InjectRightMouseClick(hChild, clntClickLocation); + } + } + + private static void InjectLeftMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.LBUTTONDOWN, new IntPtr(MK.LBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.LBUTTONUP, new IntPtr(MK.LBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Left click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectRightMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.RBUTTONDOWN, new IntPtr(MK.RBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.RBUTTONUP, new IntPtr(MK.RBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Right click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectDoubleLeftMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.LBUTTONDBLCLK, new IntPtr(MK.LBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Double left click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectDoubleRightMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.RBUTTONDBLCLK, new IntPtr(MK.RBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Double right click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + /// Returns the child control of a window corresponding to a screen location. + /// Parent window to explore. + /// Child control location in screen coordinates. + private static IntPtr GetRealChildControlFromPoint(IntPtr parent, NPoint scrClickLocation) { + IntPtr curr = parent, child = IntPtr.Zero; + do { + child = WindowManagerMethods.RealChildWindowFromPoint(curr, + WindowManagerMethods.ScreenToClient(curr, scrClickLocation)); + + if (child == IntPtr.Zero || child == curr) + break; + + //Update for next loop + curr = child; + } + while (true); + + //Safety check, shouldn't happen + if (curr == IntPtr.Zero) + curr = parent; + + return curr; + } + + /// + /// Gets a handle to the window that currently is in the foreground. + /// + /// May return null if call fails or no valid window selected. + public static WindowHandle GetCurrentForegroundWindow() { + IntPtr handle = WindowManagerMethods.GetForegroundWindow(); + if (handle == IntPtr.Zero) + return null; + + return new WindowHandle(handle, string.Empty); + } + + } +} diff --git a/OnTopReplica/WindowHandle.cs b/OnTopReplica/WindowHandle.cs new file mode 100644 index 0000000..61eaf2f --- /dev/null +++ b/OnTopReplica/WindowHandle.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using OnTopReplica.Native; + +namespace OnTopReplica { + + /// Helper class that keeps a window handle (HWND), the title of the window and can load its icon. + public class WindowHandle : System.Windows.Forms.IWin32Window { + IntPtr _handle; + string _title; + + public WindowHandle(IntPtr p, string title) { + _handle = p; + _title = title; + } + + public string Title { + get { + return _title; + } + } + + Icon _icon = null; + bool _iconFetched = false; + public Icon Icon { + get { + if (!_iconFetched) { + //Fetch icon from window + IntPtr hIcon; + + if (MessagingMethods.SendMessageTimeout(_handle, WM.GETICON, new IntPtr(2), new IntPtr(0), + MessagingMethods.SendMessageTimeoutFlags.AbortIfHung | MessagingMethods.SendMessageTimeoutFlags.Block, 500, out hIcon) == IntPtr.Zero) + hIcon = IntPtr.Zero; + + if (hIcon.ToInt64() != 0) { + _icon = Icon.FromHandle(hIcon); + } + else { + //Fetch icon from window class + hIcon = (IntPtr)WindowMethods.GetClassLong(_handle, WindowMethods.ClassLong.IconSmall); + + if (hIcon.ToInt64() != 0) { + _icon = Icon.FromHandle(hIcon); + } + } + } + + _iconFetched = true; + + return _icon; + } + } + + public override string ToString() { + return _title; + } + + public override bool Equals(object obj) { + if (ReferenceEquals(obj, this)) + return true; + + System.Windows.Forms.IWin32Window win = obj as System.Windows.Forms.IWin32Window; + + if (win == null) + return false; + + return (win.Handle == _handle); + } + + public override int GetHashCode() { + return _handle.GetHashCode(); + } + + #region IWin32Window Members + + public IntPtr Handle { + get { return _handle; } + } + + #endregion + + } +} diff --git a/OnTopReplica/WindowListHelper.cs b/OnTopReplica/WindowListHelper.cs new file mode 100644 index 0000000..88f7964 --- /dev/null +++ b/OnTopReplica/WindowListHelper.cs @@ -0,0 +1,111 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica { + static class WindowListHelper { + + public class WindowSelectionData { + public WindowHandle Handle { get; set; } + public StoredRegion Region { get; set; } + } + + const int MaxWindowTitleLength = 55; + + public static void PopulateMenu(Form ownerForm, WindowManager windowManager, ToolStrip menu, + WindowHandle currentHandle, EventHandler clickHandler) { + var regions = GetRegions(); + + //Clear + menu.Items.Clear(); + + //"None" selection + var nullTsi = new ToolStripMenuItem(Strings.MenuWindowsNone); + nullTsi.Tag = null; + nullTsi.Click += clickHandler; + nullTsi.Checked = (currentHandle == null); + menu.Items.Add(nullTsi); + + //Add an item for each window + foreach (WindowHandle h in windowManager.Windows) { + //Skip if in the same process + if (h.Handle.Equals(ownerForm.Handle)) + continue; + + var tsi = new ToolStripMenuItem(); + + //Window title + if (h.Title.Length > MaxWindowTitleLength) { + tsi.Text = h.Title.Substring(0, MaxWindowTitleLength) + "..."; + tsi.ToolTipText = h.Title; + } + else + tsi.Text = h.Title; + + //Icon + if (h.Icon != null) { + tsi.Image = h.Icon.ToBitmap(); + } + + //Check if this is the currently displayed window + tsi.Checked = h.Equals(currentHandle); + + //Add direct click if no stored regions + tsi.Tag = new WindowSelectionData { + Handle = h, + Region = null + }; + tsi.Click += clickHandler; + + PopulateRegions(tsi, h, clickHandler, regions); + + menu.Items.Add(tsi); + } + + } + + private static void PopulateRegions(ToolStripMenuItem tsi, WindowHandle handle, + EventHandler clickHandler, IEnumerable regions) { + + if (regions != null) { + //Add subitem for no region + var nullRegionItem = new ToolStripMenuItem(Strings.MenuWindowsWholeRegion); + nullRegionItem.Tag = new WindowSelectionData { + Handle = handle, + Region = null + }; + nullRegionItem.Image = Resources.regions; + nullRegionItem.Click += clickHandler; + tsi.DropDownItems.Add(nullRegionItem); + + foreach (StoredRegion region in regions) { + var regionItem = new ToolStripMenuItem(region.Name); + regionItem.Tag = new WindowSelectionData { + Handle = handle, + Region = region + }; + regionItem.Click += clickHandler; + + tsi.DropDownItems.Add(regionItem); + } + } + } + + private static IEnumerable GetRegions() { + if (Settings.Default.SavedRegions == null || Settings.Default.SavedRegions.Count == 0) + return null; + + StoredRegion[] regions = new StoredRegion[Settings.Default.SavedRegions.Count]; + Settings.Default.SavedRegions.CopyTo(regions); + + Array.Sort(regions, new Comparison((a, b) => { + return a.Name.CompareTo(b.Name); + })); + + return regions; + } + + } +} diff --git a/OnTopReplica/WindowManager.cs b/OnTopReplica/WindowManager.cs new file mode 100644 index 0000000..0af3ba9 --- /dev/null +++ b/OnTopReplica/WindowManager.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica { + /// A helper class that allows you to easily build and keep a list of Windows (in the form of WindowHandle objects). + public class WindowManager { + + List _windows = new List(); + + public enum EnumerationMode { + /// All windows with 'Visible' flag. + AllVisible, + + /// All top level windows. + AllTopLevel, + + /// Windows of a task (like Alt+Tab). + TaskWindows + } + + /// Refreshes the window list. + public void Refresh(EnumerationMode mode) { + _windows = new List(); + + WindowManagerMethods.EnumWindowsProc proc = null; + switch (mode) { + case EnumerationMode.AllVisible: + proc = new WindowManagerMethods.EnumWindowsProc(EnumWindowProcAll); + break; + + case EnumerationMode.AllTopLevel: + proc = new WindowManagerMethods.EnumWindowsProc(EnumWindowProcTopLevel); + break; + + case EnumerationMode.TaskWindows: + proc = new WindowManagerMethods.EnumWindowsProc(EnumWindowProcTask); + break; + } + + WindowManagerMethods.EnumWindows(proc, IntPtr.Zero); + } + + + public IEnumerable Windows { + get { + return _windows; + } + } + + + + private bool EnumWindowProcAll(IntPtr hwnd, IntPtr lParam) { + if (WindowManagerMethods.IsWindowVisible(hwnd)) { + string title = WindowMethods.GetWindowText(hwnd); + _windows.Add( new WindowHandle(hwnd, title)); + } + return true; + } + + private bool EnumWindowProcTopLevel(IntPtr hwnd, IntPtr lParam) { + if (WindowManagerMethods.IsWindowVisible(hwnd)) { + //Check if window has no parent + if ((long)WindowManagerMethods.GetParent(hwnd) == 0 && WindowManagerMethods.GetDesktopWindow() != hwnd) { + string title = WindowMethods.GetWindowText(hwnd); + _windows.Add( new WindowHandle(hwnd, title)); + } + } + return true; + } + + private bool EnumWindowProcTask(IntPtr hwnd, IntPtr lParam) { + //Code taken from: http://www.thescarms.com/VBasic/alttab.aspx + + //Accept windows that + // - are visible + // - do not have a parent + // - have no owner and are not Tool windows OR + // - have an owner and are App windows + + //Reject empty titles + + string title = WindowMethods.GetWindowText(hwnd); + if (string.IsNullOrEmpty(title)) + return true; + + if (WindowManagerMethods.IsWindowVisible(hwnd)) { + if ((long)WindowManagerMethods.GetParent(hwnd) == 0) { + bool hasOwner = (long)WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; + WindowMethods.WindowExStyles exStyle = (WindowMethods.WindowExStyles)WindowMethods.GetWindowLong(hwnd, WindowMethods.WindowLong.ExStyle); + + if (((exStyle & WindowMethods.WindowExStyles.ToolWindow) == 0 && !hasOwner) || //unowned non-tool window + ((exStyle & WindowMethods.WindowExStyles.AppWindow) == WindowMethods.WindowExStyles.AppWindow && hasOwner)) { //owned application window + _windows.Add(new WindowHandle(hwnd, title)); + } + } + } + + return true; + } + + } +} diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config new file mode 100644 index 0000000..f10287c --- /dev/null +++ b/OnTopReplica/app.config @@ -0,0 +1,42 @@ + + + + +
    + + + + + + True + + + 255 + + + (Default) + + + True + + + True + + + True + + + True + + + False + + + + + + + + + + diff --git a/OriginalAssets/Logo.png b/OriginalAssets/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fd56566c12a0fde7aa080f73ddd305944fdcbdcf GIT binary patch literal 34066 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�<&}G` zTn7N`KXCp7kDU06R5(KNzw|VE$tY3v@6_?5uIS3@FKQNi$UqL8M1+z#Tk#JB5?Jz) z&-}tq?jsic*qH@V0iDj`3Xy;xeD3u>dexpQ>QCAV0053Ybo}E}Q_bnwty{Kk-*(~l zBWK=ooV*Fmtis;N zq0fNPQh0Iq=6O`<4^*iV4kf_8Y^3c~1=vCb*kT)I3+IZ^@h{r6wlPYyIEG(Zs9*wQWKh@jfA5L+?X$-MoW zc+a47k>T5@*G!{XGcg)A#+Kvu981vE%l;DHmL+EWFD+$b_6dLkaJ*d|LJ;Lf^&!U+ zV2aW);UH1UF5%&jz%fcCMlg{EmQXotiR8jpAf*}vw&@6sC}{v{scB(+{KyPRUMQP0FHmG-68;No7uW^_QDhgtWdjT+cL+t-=6hLc46^^g!X;t2@<#!mFyAQMgy6Ci4hn82W0$6GPc z#HDMQ@If+gsF&|0X@oO|Ai$l(9W$*h1jA>B%mpU8i3RrnLYzR{#$v7}5=tiUj^H62 z!9r;m*`rY6?P&SxlA&p4ebe+k({Kah>WS$SP|o;`W+~Z1>Zi`F@lpQ9{(=NnNy-4z zhNY?kY~^uC^|lotNH?`yD}V(MCCQYQMPX-@G9kpPhfn}8dh`sDz=ckC39jH5J#Re$ z@Ze(~gBdtGyLH>nxeK=+eB|v{b$WZ7j&x>B;=W0%xlR*UQ=d8j3K7rxnM5}9_z>Ab zUOZco_Wk1><~WilZC=p0DJDSF>RPqK6D<4n!IwW#k)Ea!Jp_r%GVuY3X)TSUz%khO z@5S-MBN$5(2bZ4fHmpV)L}jcekl|D3sw3nmAg!%G9Gm`N#DGc1DfcMeV21?gAxR&y z6i9LmvL=DOZt@YSsgdKF2bM&cCduSNRE-AAaNT*}0LCbHa0-CnUkFvxrN2QkosAfRZ}rH&t=U@&_)g9api2k;)|;^$`jU;PHT z4wTUrFktIQ$&R(T1J0F2l4S&+0K&g;?_#B~J36 z&h3zW)MOWLMzaD}HIh-K>%BUnbiad~)kVa91s{{?Nm8L6O-!4>FikdW6BSU2CD1zt z!WiTgY6s>nGMvZ4NjRH|>m#IdTE?AIbiZOR4Y0C6Fg1=MtYHDsPae(a??>Khq7q4FK-%otGDW)CQK^eCF zC2PiuI}~o)OvEvGLcMNH1J(dkMiVL{<{u2703^c-k+tE-vq#Wts+s8f5K9m?pPSG% zJC?pb&AMz{!D3$cL&|jn8E;{W!A8D+WOp09(^U4-)65!GoJ})=?%v$hh~X zY$oL;i#cp1$NmlOX^iY8`hMQM9pK) zuVbO4n%b6WG7F@H*QQtU+?qdm%`5IthXQ~Fv{x@&cg!1_?S^T# zNL?WFhZ{iUrbkj?027Z_hz^AJN)RO{Kea*kTNxPLU^#BoWy@IfDngeLdebD7kxbdd$#mr61IijiUcj~BpN>Yy zSOqLBF46q=e&mJE0|3@X0vvqcp+9T4+XR3uvycGY(K`qLdz(IQN+{N7Kj7ffbi&Fx zG^;zRu^&H@?br(cyb)w)ModLGlA0tTh;Z^G#>fYx_w}JFhTshVM8?%e6E@{S@~zeq zc(EL~763p&00|&K{T~4$Y6uZTfH#8(#(<8+4b8TB>eLwn;#t${PdV>^L6eKx2)m#N z@Z`HB)hsIg|6cML6C9j&=1r?c(tv=_qR-ZBje}b@L^nCF!Wn5NV41rJmx;9~R?_4+ zSAwIfl8ud){QqIkjrXO?y+=zEL!9&*{rEJ0tH4M#cI}d>wNdfbkHvmyCjmw2YKxJSbLDvBBtFed& zsl)WHkc#905aB%g_t!n|zR60DB>-4px3|)J*$+K` zeE@L(zWuun92N<%WBaz*9dj4$NRoG5W6YsuTx-*hL28#4P&n~k0nH2wP1{Pm`0F`V zkBbj`DyUa1%fqUXFmM`dTq9XRh#%C5^fhSWz#$sw_6=_#t<+&ECgzZk(IfdNfXKLE zg*0rC!AgVr$fQ|QroDxb4`}Oc64i80SR0(^s#XI6L!^VSPw_;32bd6vJ81S&=0Z;> z*(5vHaCELfkQg;5iKH~lBbxR}EL_Ri#MFo|*5H-oYDqKWd^_*Vu4HD6#~GEU-+tP*98E3_wU+wl*JiukaR+N4IijP^jvwguIF5?`0cg+wQ98-t$EVecH11S<17a3MI;gs$ z)Fw`?nm;NXq(nPnPhx|tfqEUPf=o9QjO55MB-TwzbA`;bJ}qH*13A2#1u~_38%WKl zNQX?!Fdq20&Ab5xqufgnRYOh#P{?tZ00O|zNE z#wMW&Oe`cqWG2ex>po$DFK!+!NHujS0mlMLB^4dLj?s7nK9jo3%`8dDU)Zwy+r6dU zu`_4q&zxRZSnRG0dbhmz1+TvD>Z{u80)YFEJou*@rrT57Nd@ejyJY9E_cj8+eNAs0 ztoeOWyr>yGRytY14IE>#Xb@|$9Fc=pP<#f=pxHjBiK3-4qSa71hj?;iTNzOqwji9W z-vJV*?a~0aI?i7wJDxycQLs{{bHq%j`su`UvN4%rV-o9`>~5+eHC4w9J7mBEa+%O9 z0MgnbHQkYPh!_-Nh48h(^G62%WSDSr2>{`P=vFh9YaN1`$btnDaZ<{N$m;|(keoD- z@n)Ejb{O-y`1_m9Dbt+ZU~1E};F=Men^W}OS)vCsbUi@s37Z;Hi z&H%XP>U99X{rh&^cjTcz+0brI@0gq2wqyGxI|s{exh^3IU~NM}tWLytr6nUhmA2?% zdlRp{?IYd%$imo!_9J)gm!zeS<$UBye^8(DZYfv^-&n#QHteOeCnJEaHY2lI)uE_BXHyGWFB5 zXr}Ym>P>DvZ@E*7)Gaa~CS&$Vq)95(%ZUxU%JO}hl_n^_4WN!`ti}p#nA2?N z^)%`2Hph$`(m;cC%Ub9XT zVBgMfAAI0XH%v`U?VKYCu;Up!``tHRHyPhg0BCBHOUr%o^3X>?RAe?Q^%>JM8oyIYk_R5U>bGz{_9u;@8}8^;J`g z>!1R5-h1FENr2YW&KnG#;7yxAzlQU&6BTZLQon5>Zx_B4?jbKG1 zVcPbLvtV`i5JU?hEoy}Hm4Fxmi_#R)zoxl=9ZBcILgeUN@QCkM^KtPNS9bFB7(h!D`f1?n5xc zhPt-0`H~6g)4Dw@s|+h*R@$#QDbAEsey$^kB5BST)nFbr*?rq2FxId>7#IyB>7!bg zz!Og^(N1X9XJ$;Ro_h^=NhJr6>I8z8*+gV)h6Z~hL1&5v-z|q(hAW5%V!klhG6jVG>ps69UD= zpbI)COC(K3W17=g=YGrzDdRjsI&0P?F!VWG?1^_o^qmd2!JxDb>M)AP^00N){}I7= zhW9~e8EK5wA))+GGHs5nG|f`avuTQCSP)tSnm(}e`g?~)^<{RjVe)AZEz&bhg{UAvyKGa0<|h9ud~62PcmI@b)BJODyP zdu}xLtrH!hU7Rz=p0wQLVc+JE3}LknUt6FsPf#C$c4U>;La_dNv-77(3M_O;2fXU# z|KzndUVrVAR{;RP*Y7*<#~XNHQ#Yg^YqAQb>6^ymqx)3%T>UdyzMdK0;2traU;BCP74kF4&xt=+XF z>F|w$6{)s~nSe#K-o#>1%Jg;kxfx0-TEk1^~=`^_zSDcxtNM z+A+IrX6KHJ=ce3myvXN=ro0Y-*IqhG>(nF*9j;7BbXU>t3h7WSbnuml^}ZyEQf6<< z+&L5J=Uthj?{tSRD}4wGy|0ZXWP3GfD{pn{HAn=6e_<}d(ujyhkj()&uq5CiA;M^A zz%2uW_=YEbVTq*^OdL&+L*H_eD3Z5ZE#O=YhRhVb9>hvPe1W7wZu@NRP6!;Soibhe zjxs!Q|o$%QW!?V-OPgZ67mNpSlv=E4pi~W%aq1 zapZ*s5GGZ&LoY#4$%0|&5NkHAD>`rH0RYyons~37#-?zYs*P@K(bvcMa+@`Fv(h#5 z1`z6Q<@+e8ok(&IwD&J~g0*^R1+!)CTvLevcXWfLhch6bQw$D}${2A66Pa_~SO=zT z&N@D4jkB8u^!k8aBcqQ1AV-g$_vyVOt2{&1EF9b^k8ftKIkNKE&gq56PA$wYo<6g% zyt2|8y!OXm@j8+K0Kn(zV`nP>=<0p%djr7z`{usz)o=diM!jC!x^?r0*)8X9c+U0@ z|74@~omQ6XRx7zFw?_>muG%y)=ylDMwV`k#fS_=&Xn9qUdmqZMWOapFJ8xVu=^_C_ z_e|+3!UWG+71^;$fskhx6%vZms%)fSbp-&V(?{5a#1-8{#EPluA%PyNY6`%Dx&Qz~ zoq)o%__atH+%uoB=6k9`-0h% z&zYXeH`nW}daYJ#M6|@XhjZBDMraxeBsd75C6Ww5Nul4_2i>;d{_`hbCOB^6f)KPQg2Z`l*y{6&bmqM9Zj2>%>SYRDdgf zpL9crWiKR5ze=_cD-<-BBU16B>h()5p_9A^i}JRK&pnaBbd+YvAWbLz(P%h0cKiU> zge`UZ#Q(DgoYj?|t{r-1*mE z{sW|VOtl*IjT@(0n>NnXrl&TxTCGOAPLiP(M>R(`FI}#r=EduLd)A0()nV3tSu_3OfmUE%P1EKQ(8e=ut}=GEdE#_FXiV}U6fpB z(YvMkx9UzMWf6!EB|+*0)b8NLaN*6`8b0h|ZF#FW+=NZ%S(c_rl1|2>(TJpdztig{ zot6GzrPrJE2mK_?^2wWi`hR}?%{N`Yl_bDlo7F1daRAu1MgqVJ*s4E9bgSKHH%Tefi9SVf9FYjXRq_wX#R<$2G5KE*0JbahTTE@a z4T`ktEhay7%UV6wt7nMA{h@uE(M_bSY_E%8lnLQ!C!uQT&o3SbSDomAruTp zqomgxjt8S*G8#?Nm6et8rO$rGCO=$$!yWIvy-(ucD|EsI1pqWil>_tw0ICuI0N89q z1zfr7yz_tZ>JHSR3m#Tszvm#QyJ)e#>o?8&~cMS+~YsX zK2(%)s{q#xK7;3;SwDZ)a1Z4*vo2Lw#Z9UJw1zGs^`fj_c2$jZJ2j-9TY*6oRjZbS z3Aj?&7L#0&8)ZAzwX-WX#qO&d@>nlqj8!I$D^bcMadg}>Q%4!#kc(Y3%+sB-FMTM9in4i zC%#t!KtD);EfoN?R0?cTU_2wP)oy+J+ka{IYkul=pa0f@qj&G!cYs(%--{0((M?FQ z483)HLerc`2W_5U?vYFvnx$mLX1T`mxLum}>Mwv0DExTG=?s zo6xb#p$7qJS+?;licl<4(jzD7W-^HIwL9&&rtMj6DcoJqA4asdPVQ;|xW}7%n48LJ z2#8OB03Qe}el;;9%zvKn80IK5qZd-%A}A~C|MJYbs0gt;acf}BMV6PBkro8CdgS-) zzGCM2*Ijwt-~P>KZu{s*KeD*8y!>}`h7)vjboH;8QU&yb1lYU=0FVM3>6lRvoKMGX zKlR$zKKq3)`k@D(ec6={)a#8j<()9`<(TVCM838<;ubMEw{XpYVu87^I%%7dmz7X# zKu8Zg0O4G_>IEa(m#wpO<$B=()@VkO<2)PLTbactD3=WmBbFOcge3>LXMxWxil4372%`-mDRq$(v@Dt7(}lWk;3qa zEhz-|$kD?Wf9 z_4M@gGhY1S7w_7*abuchSwXDRpT32)W0_x^DoudK2sxD`aK za;~+rT)7(aU9aYxKV&tdeB2Kxu0sf(e#si5Q5d_A|M0m_4|zbk-hJuIU+$ebefm*) z=?ERijjVE5k->7T0szkkI4f8`?3AV+0RS8H*i<(@gaim6sKy1RE6>~d_l7A!@H7CP+FK9^Tt8!E#lwFzsvH3T z)q}x-NyCcAMAr2P09bnjju74lwGlcNl^&3iU_X8P{@hAi+DKijDIJIb2vsRC(1Tyc zL}9`)d0|q+3a^sFR^|040zi-g|1ib*^zF&ssww~yfO}w>5&$@crUXHFjK7aCVY-() zPiT+?VX^}!2#>3i9{?bY^q&U6Q+2DV0BMOR0H}fh6CTvTxO!m1Fp=8ZtN=m)0q#TK zyKYtkAiO_Ffv3g(Q*#TeKLCI?vN0t9s*<3p8gQRr(gKkSt2vOnwG&=5t0zCazp4VB zzJ331RRC0_K#&9zvl Date: Fri, 15 Oct 2010 21:36:03 +0200 Subject: [PATCH 077/164] Finalized command line parser implementation. Window seeking by class implemented and /visible parameter added to CLI (picks only visible windows). Settings updated to include "restore size and position". GUI and logic updated. Fixed chrome toggling (form size and position doesn't change when switching). --- OnTopReplica/MainForm.Designer.cs | 47 +++++++++++++------ OnTopReplica/MainForm.cs | 4 +- OnTopReplica/MainForm_Features.cs | 20 ++++---- OnTopReplica/MainForm_MenuEvents.cs | 6 +++ OnTopReplica/OnTopReplica.csproj | 1 + OnTopReplica/OnTopReplica.csproj.user | 3 +- OnTopReplica/Program.cs | 2 + OnTopReplica/Properties/Settings.Designer.cs | 28 +++++++---- OnTopReplica/Properties/Settings.settings | 11 +++-- .../CommandLineReportForm.Designer.cs | 2 +- OnTopReplica/StartupOptions/Factory.cs | 19 ++++++-- OnTopReplica/StartupOptions/Options.cs | 14 +++++- OnTopReplica/StartupOptions/SizeConverter.cs | 25 +++++++--- .../WindowSeekers/BaseWindowSeeker.cs | 8 ++++ .../WindowSeekers/ByClassWindowSeeker.cs | 35 ++++++++++++++ .../WindowSeekers/TaskWindowSeeker.cs | 14 +++--- OnTopReplica/app.config | 11 +++-- 17 files changed, 186 insertions(+), 64 deletions(-) create mode 100644 OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 5a50c43..4a9a0a0 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -52,6 +52,8 @@ this.quarterToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); this.fullscreenToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.restorePositionAndSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.dockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.disabledToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.topLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -269,53 +271,68 @@ this.halfToolStripMenuItem1, this.quarterToolStripMenuItem1, this.toolStripSeparator3, - this.fullscreenToolStripMenuItem1}); + this.fullscreenToolStripMenuItem1, + this.toolStripSeparator2, + this.restorePositionAndSizeToolStripMenuItem}); this.menuResize.Name = "menuResize"; this.menuResize.OwnerItem = this.resizeToolStripMenuItem; - this.menuResize.Size = new System.Drawing.Size(165, 120); + this.menuResize.Size = new System.Drawing.Size(218, 170); this.menuResize.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Resize_opening); // // doubleToolStripMenuItem1 // this.doubleToolStripMenuItem1.Name = "doubleToolStripMenuItem1"; - this.doubleToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.doubleToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); this.doubleToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitDouble; this.doubleToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Double); // // fitToWindowToolStripMenuItem1 // this.fitToWindowToolStripMenuItem1.Name = "fitToWindowToolStripMenuItem1"; - this.fitToWindowToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.fitToWindowToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); this.fitToWindowToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitOriginal; this.fitToWindowToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_FitToWindow); // // halfToolStripMenuItem1 // this.halfToolStripMenuItem1.Name = "halfToolStripMenuItem1"; - this.halfToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.halfToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); this.halfToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitHalf; this.halfToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Half); // // quarterToolStripMenuItem1 // this.quarterToolStripMenuItem1.Name = "quarterToolStripMenuItem1"; - this.quarterToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.quarterToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); this.quarterToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitQuarter; this.quarterToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Quarter); // // toolStripSeparator3 // this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(161, 6); + this.toolStripSeparator3.Size = new System.Drawing.Size(214, 6); // // fullscreenToolStripMenuItem1 // this.fullscreenToolStripMenuItem1.Image = global::OnTopReplica.Properties.Resources.fullscreen; this.fullscreenToolStripMenuItem1.Name = "fullscreenToolStripMenuItem1"; - this.fullscreenToolStripMenuItem1.Size = new System.Drawing.Size(164, 22); + this.fullscreenToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); this.fullscreenToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitFullscreen; this.fullscreenToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Fullscreen); // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(214, 6); + // + // restorePositionAndSizeToolStripMenuItem + // + this.restorePositionAndSizeToolStripMenuItem.Name = "restorePositionAndSizeToolStripMenuItem"; + this.restorePositionAndSizeToolStripMenuItem.Size = new System.Drawing.Size(217, 22); + this.restorePositionAndSizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRecall; + this.restorePositionAndSizeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRecallTT; + this.restorePositionAndSizeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Resize_RecallPosition_click); + // // dockToolStripMenuItem // this.dockToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -337,7 +354,7 @@ this.disabledToolStripMenuItem.Checked = true; this.disabledToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; this.disabledToolStripMenuItem.Name = "disabledToolStripMenuItem"; - this.disabledToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.disabledToolStripMenuItem.Size = new System.Drawing.Size(145, 22); this.disabledToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosDisabled; this.disabledToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_Disable); // @@ -345,7 +362,7 @@ // this.topLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topleft; this.topLeftToolStripMenuItem.Name = "topLeftToolStripMenuItem"; - this.topLeftToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.topLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); this.topLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopLeft; this.topLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopLeft); // @@ -353,7 +370,7 @@ // this.topRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topright; this.topRightToolStripMenuItem.Name = "topRightToolStripMenuItem"; - this.topRightToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.topRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); this.topRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopRight; this.topRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopRight); // @@ -361,7 +378,7 @@ // this.centerToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_center; this.centerToolStripMenuItem.Name = "centerToolStripMenuItem"; - this.centerToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.centerToolStripMenuItem.Size = new System.Drawing.Size(145, 22); this.centerToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosCenter; this.centerToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_Center); // @@ -369,7 +386,7 @@ // this.bottomLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomleft; this.bottomLeftToolStripMenuItem.Name = "bottomLeftToolStripMenuItem"; - this.bottomLeftToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.bottomLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); this.bottomLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomLeft; this.bottomLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomLeft); // @@ -377,7 +394,7 @@ // this.bottomRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomright; this.bottomRightToolStripMenuItem.Name = "bottomRightToolStripMenuItem"; - this.bottomRightToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.bottomRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); this.bottomRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomRight; this.bottomRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomRight); // @@ -594,6 +611,8 @@ private System.Windows.Forms.ToolStripMenuItem enableClickthroughToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem centerToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem disabledToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; + private System.Windows.Forms.ToolStripMenuItem restorePositionAndSizeToolStripMenuItem; } } diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index dc6dc28..f5bd02f 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -21,7 +21,9 @@ namespace OnTopReplica { Panel _sidePanelContainer; //Managers - BaseWindowSeeker _windowSeeker = new TaskWindowSeeker(); + BaseWindowSeeker _windowSeeker = new TaskWindowSeeker { + SkipNotVisibleWindows = true + }; MessagePumpManager _msgPumpManager = new MessagePumpManager(); UpdateManager _updateManager = new UpdateManager(); diff --git a/OnTopReplica/MainForm_Features.cs b/OnTopReplica/MainForm_Features.cs index 79f48c7..3149fd9 100644 --- a/OnTopReplica/MainForm_Features.cs +++ b/OnTopReplica/MainForm_Features.cs @@ -68,22 +68,18 @@ namespace OnTopReplica { } set { if (!value) { + Location = new Point { + X = Location.X + SystemInformation.FrameBorderSize.Width, + Y = Location.Y + SystemInformation.FrameBorderSize.Height + }; FormBorderStyle = FormBorderStyle.None; - if (IsChromeVisible) { - Location = new Point { - X = Location.X + SystemInformation.FrameBorderSize.Width, - Y = Location.Y + SystemInformation.FrameBorderSize.Height - }; - } } else if(value) { + Location = new Point { + X = Location.X - SystemInformation.FrameBorderSize.Width, + Y = Location.Y - SystemInformation.FrameBorderSize.Height + }; FormBorderStyle = FormBorderStyle.SizableToolWindow; - if (!IsChromeVisible) { - Location = new Point { - X = Location.X - SystemInformation.FrameBorderSize.Width, - Y = Location.Y - SystemInformation.FrameBorderSize.Height - }; - } } Program.Platform.OnFormStateChange(this); diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs index eade4ea..d1ffc77 100644 --- a/OnTopReplica/MainForm_MenuEvents.cs +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -109,6 +109,8 @@ namespace OnTopReplica { private void Menu_Resize_opening(object sender, CancelEventArgs e) { if (!_thumbnailPanel.IsShowingThumbnail) e.Cancel = true; + + restorePositionAndSizeToolStripMenuItem.Checked = Settings.Default.RestoreSizeAndPosition; } private void Menu_Resize_Double(object sender, EventArgs e) { @@ -131,6 +133,10 @@ namespace OnTopReplica { IsFullscreen = true; } + private void Menu_Resize_RecallPosition_click(object sender, EventArgs e) { + Settings.Default.RestoreSizeAndPosition = !Settings.Default.RestoreSizeAndPosition; + } + private void Menu_Position_Opening(object sender, EventArgs e) { disabledToolStripMenuItem.Checked = (PositionLock == null); topLeftToolStripMenuItem.Checked = (PositionLock == ScreenPosition.TopLeft); diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 38e6dd1..660c858 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -137,6 +137,7 @@ + diff --git a/OnTopReplica/OnTopReplica.csproj.user b/OnTopReplica/OnTopReplica.csproj.user index 7fd3bff..230b070 100644 --- a/OnTopReplica/OnTopReplica.csproj.user +++ b/OnTopReplica/OnTopReplica.csproj.user @@ -16,6 +16,7 @@ false - /windowClass="OperaWindowClass" + + \ No newline at end of file diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs index 5201278..fe9d06c 100644 --- a/OnTopReplica/Program.cs +++ b/OnTopReplica/Program.cs @@ -82,6 +82,8 @@ namespace OnTopReplica { while (_languageChangeCode != null); //Persist settings + Settings.Default.RestoreLastPosition = reloadLocation; + Settings.Default.RestoreLastSize = reloadSize; Settings.Default.Save(); } diff --git a/OnTopReplica/Properties/Settings.Designer.cs b/OnTopReplica/Properties/Settings.Designer.cs index 34d376b..c47129a 100644 --- a/OnTopReplica/Properties/Settings.Designer.cs +++ b/OnTopReplica/Properties/Settings.Designer.cs @@ -132,25 +132,37 @@ namespace OnTopReplica.Properties { [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("")] - public string Setting { + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool RestoreSizeAndPosition { get { - return ((string)(this["Setting"])); + return ((bool)(this["RestoreSizeAndPosition"])); } set { - this["Setting"] = value; + this["RestoreSizeAndPosition"] = value; } } [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("")] - public string Setting1 { + [global::System.Configuration.DefaultSettingValueAttribute("0, 0")] + public global::System.Drawing.Size RestoreLastSize { get { - return ((string)(this["Setting1"])); + return ((global::System.Drawing.Size)(this["RestoreLastSize"])); } set { - this["Setting1"] = value; + this["RestoreLastSize"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0, 0")] + public global::System.Drawing.Point RestoreLastPosition { + get { + return ((global::System.Drawing.Point)(this["RestoreLastPosition"])); + } + set { + this["RestoreLastPosition"] = value; } } } diff --git a/OnTopReplica/Properties/Settings.settings b/OnTopReplica/Properties/Settings.settings index 8aab035..565ed0e 100644 --- a/OnTopReplica/Properties/Settings.settings +++ b/OnTopReplica/Properties/Settings.settings @@ -29,11 +29,14 @@ False - - + + False - - + + 0, 0 + + + 0, 0 \ No newline at end of file diff --git a/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs b/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs index 043564a..9a2ec68 100644 --- a/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs +++ b/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs @@ -47,7 +47,7 @@ this.labelInstruction.AutoSize = true; this.labelInstruction.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.labelInstruction.ForeColor = System.Drawing.SystemColors.HotTrack; - this.labelInstruction.Location = new System.Drawing.Point(12, 9); + this.labelInstruction.Location = new System.Drawing.Point(12, 10); this.labelInstruction.Name = "labelInstruction"; this.labelInstruction.Size = new System.Drawing.Size(112, 21); this.labelInstruction.TabIndex = 1; diff --git a/OnTopReplica/StartupOptions/Factory.cs b/OnTopReplica/StartupOptions/Factory.cs index 9201383..1644a0d 100644 --- a/OnTopReplica/StartupOptions/Factory.cs +++ b/OnTopReplica/StartupOptions/Factory.cs @@ -3,12 +3,13 @@ using System.Collections.Generic; using System.Text; using System.Drawing; using System.ComponentModel; +using OnTopReplica.Properties; namespace OnTopReplica.StartupOptions { class Factory { static Factory() { - //Custom type conversions + //Custom type conversion attributes TypeDescriptor.AddAttributes(typeof(Size), new TypeConverterAttribute(typeof(SizeConverter))); TypeDescriptor.AddAttributes(typeof(ScreenPosition), new TypeConverterAttribute(typeof(ScreenPositionConverter))); TypeDescriptor.AddAttributes(typeof(Rectangle), new TypeConverterAttribute(typeof(RectangleConverter))); @@ -17,11 +18,20 @@ namespace OnTopReplica.StartupOptions { public static Options CreateOptions(string[] args) { var options = new Options(); + LoadSettings(options); + ParseCommandLine(args, options); return options; } + private static void LoadSettings(Options options) { + if (Settings.Default.RestoreSizeAndPosition) { + options.StartLocation = Settings.Default.RestoreLastPosition; + options.StartSize = Settings.Default.RestoreLastSize; + } + } + private static void ParseCommandLine(string[] args, Options options) { var cmdOptions = new NDesk.Options.OptionSet() .Add("windowId=", "Window handle ({HWND}) to be cloned.", id => { @@ -33,6 +43,9 @@ namespace OnTopReplica.StartupOptions { .Add("windowClass=", "{CLASS} of the window to be cloned.", s => { options.WindowClass = s; }) + .Add("v|visible", "If set, only clones windows that are visible.", s => { + options.MustBeVisible = true; + }) .Add("size=", "Target {SIZE} of the cloned thumbnail.", s => { options.StartSize = s; }) @@ -50,10 +63,10 @@ namespace OnTopReplica.StartupOptions { .Add("o|opacity=", "Opacity of the window (0-255).", opacity => { options.Opacity = opacity; }) - .Add("cf|clickForward", "Enables click forwarding.", s => { + .Add("clickForwarding", "Enables click forwarding.", s => { options.EnableClickForwarding = true; }) - .Add("noch|chromeOff", "Disables the window's chrome (border).", s => { + .Add("chromeOff", "Disables the window's chrome (border).", s => { options.DisableChrome = true; }) .Add("h|help|?", "Show command line help.", s => { diff --git a/OnTopReplica/StartupOptions/Options.cs b/OnTopReplica/StartupOptions/Options.cs index dab0b9c..1d0cd11 100644 --- a/OnTopReplica/StartupOptions/Options.cs +++ b/OnTopReplica/StartupOptions/Options.cs @@ -16,6 +16,7 @@ namespace OnTopReplica.StartupOptions { Status = CliStatus.Ok; Opacity = 255; DisableChrome = false; + MustBeVisible = false; } #region Position and size @@ -38,6 +39,8 @@ namespace OnTopReplica.StartupOptions { public Rectangle? Region { get; set; } + public bool MustBeVisible { get; set; } + #endregion #region Options @@ -96,14 +99,21 @@ namespace OnTopReplica.StartupOptions { } else if (WindowTitle != null) { var seeker = new ByTitleWindowSeeker(WindowTitle) { - OwnerHandle = form.Handle + OwnerHandle = form.Handle, + SkipNotVisibleWindows = MustBeVisible }; seeker.Refresh(); handle = seeker.Windows.FirstOrDefault(); } else if (WindowClass != null) { - //TODO + var seeker = new ByClassWindowSeeker(WindowClass) { + OwnerHandle = form.Handle, + SkipNotVisibleWindows = MustBeVisible + }; + seeker.Refresh(); + + handle = seeker.Windows.FirstOrDefault(); } if (handle != null) { form.SetThumbnail(handle, Region); diff --git a/OnTopReplica/StartupOptions/SizeConverter.cs b/OnTopReplica/StartupOptions/SizeConverter.cs index 4f19d23..9dd018e 100644 --- a/OnTopReplica/StartupOptions/SizeConverter.cs +++ b/OnTopReplica/StartupOptions/SizeConverter.cs @@ -6,29 +6,41 @@ using System.Drawing; using System.Text.RegularExpressions; namespace OnTopReplica.StartupOptions { + class SizeConverter : TypeConverter { public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { if (value != null) { var sVal = value.ToString(); - return Convert(sVal); + return StringToSize(sVal); } else return base.ConvertFrom(context, culture, value); } public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { - return sourceType == typeof(string); + return (sourceType == typeof(string) || sourceType == typeof(Size)); } public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { - return destinationType == typeof(Size); + return (destinationType == typeof(Size) || destinationType == typeof(string)); } public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { - if (value != null && destinationType == typeof(Size)) { + if (value == null) + return base.ConvertTo(context, culture, value, destinationType); + + if (destinationType == typeof(Size)) { var sVal = value.ToString(); - return Convert(sVal); + return StringToSize(sVal); + } + else if (destinationType == typeof(string)) { + if (value is Size) { + Size sValue = (Size)value; + return string.Format("{0}, {1}", sValue.Width, sValue.Height); + } + + return value.ToString(); } else return base.ConvertTo(context, culture, value, destinationType); @@ -37,7 +49,7 @@ namespace OnTopReplica.StartupOptions { static Regex _sizeRegex = new Regex("^\\D*(?\\d*)\\s*,\\s*(?\\d*)\\D*$", RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.Singleline); - private Size Convert(string s) { + private Size StringToSize(string s) { var match = _sizeRegex.Match(s); var x = match.Groups["x"]; @@ -53,4 +65,5 @@ namespace OnTopReplica.StartupOptions { } } + } diff --git a/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs b/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs index a636ac4..b27bac5 100644 --- a/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs +++ b/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs @@ -39,6 +39,9 @@ namespace OnTopReplica.WindowSeekers { if (hwnd == OwnerHandle) return true; + if (SkipNotVisibleWindows && !WindowManagerMethods.IsWindowVisible(hwnd)) + return true; + //Extract basic properties string title = WindowMethods.GetWindowText(hwnd); @@ -67,6 +70,11 @@ namespace OnTopReplica.WindowSeekers { /// public IntPtr OwnerHandle { get; set; } + /// + /// Gets or sets whether not visible windows should be skipped. + /// + public bool SkipNotVisibleWindows { get; set; } + } } diff --git a/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs b/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs new file mode 100644 index 0000000..acf9c8b --- /dev/null +++ b/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + /// + /// Seeks a single window by matching its window class. + /// + /// + /// Class matching is exact and case-sensititve. + /// + class ByClassWindowSeeker : BaseWindowSeeker { + + public ByClassWindowSeeker(string className) { + if (className == null) + throw new ArgumentNullException(); + + ClassName = className; + } + + public string ClassName { get; private set; } + + protected override bool InspectWindow(IntPtr hwnd, string title, ref bool terminate) { + var wndClass = WindowMethods.GetWindowClass(hwnd); + + if (ClassName.Equals(wndClass, StringComparison.CurrentCulture)) { + return true; + } + + return false; + } + + } +} diff --git a/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs b/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs index db4fb20..5cad86b 100644 --- a/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs +++ b/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs @@ -20,15 +20,13 @@ namespace OnTopReplica.WindowSeekers { if (string.IsNullOrEmpty(title)) return false; - if (WindowManagerMethods.IsWindowVisible(hwnd)) { - if ((long)WindowManagerMethods.GetParent(hwnd) == 0) { - bool hasOwner = (long)WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; - WindowMethods.WindowExStyles exStyle = (WindowMethods.WindowExStyles)WindowMethods.GetWindowLong(hwnd, WindowMethods.WindowLong.ExStyle); + if ((long)WindowManagerMethods.GetParent(hwnd) == 0) { + bool hasOwner = (long)WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; + WindowMethods.WindowExStyles exStyle = (WindowMethods.WindowExStyles)WindowMethods.GetWindowLong(hwnd, WindowMethods.WindowLong.ExStyle); - if (((exStyle & WindowMethods.WindowExStyles.ToolWindow) == 0 && !hasOwner) || //unowned non-tool window - ((exStyle & WindowMethods.WindowExStyles.AppWindow) == WindowMethods.WindowExStyles.AppWindow && hasOwner)) { //owned application window - return true; - } + if (((exStyle & WindowMethods.WindowExStyles.ToolWindow) == 0 && !hasOwner) || //unowned non-tool window + ((exStyle & WindowMethods.WindowExStyles.AppWindow) == WindowMethods.WindowExStyles.AppWindow && hasOwner)) { //owned application window + return true; } } diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config index f10287c..156c47b 100644 --- a/OnTopReplica/app.config +++ b/OnTopReplica/app.config @@ -31,11 +31,14 @@ False - - + + False - - + + 0, 0 + + + 0, 0 From 0ee94c5af10542e66d1b7673453060a9d6efbebb Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Fri, 15 Oct 2010 21:40:34 +0200 Subject: [PATCH 078/164] Version 3.2. Updated XML manifest to version 3.2. --- Installer/update.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Installer/update.xml b/Installer/update.xml index dd2bd9d..f8298c0 100644 --- a/Installer/update.xml +++ b/Installer/update.xml @@ -1,6 +1,6 @@  - 3.1.0.0 - 2010-09-09T00:00:00Z + 3.2.0.0 + 2010-10-15T00:00:00Z http://www.klopfenstein.net/lorenz.aspx/ontopreplica \ No newline at end of file From cb4d14778d6c0a28f9b4fb03bd2ba044abb6c29b Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sun, 17 Oct 2010 15:53:57 +0200 Subject: [PATCH 079/164] Bugfix: when in position lock mode, resizing via mouse wheel will respect the selected position lock. --- OnTopReplica/MainForm.cs | 6 ++---- OnTopReplica/MainForm_Features.cs | 10 ++++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index c1e9a52..8857256 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -143,10 +143,7 @@ namespace OnTopReplica { protected override void OnResizeEnd(EventArgs e) { base.OnResizeEnd(e); - //If locked in position, move accordingly - if (PositionLock.HasValue) { - this.SetScreenPosition(PositionLock.Value); - } + RefreshScreenLock(); } protected override void OnActivated(EventArgs e) { @@ -177,6 +174,7 @@ namespace OnTopReplica { if (!IsFullscreen) { int change = (int)(e.Delta / 6.0); //assumes a mouse wheel "tick" is in the 80-120 range AdjustSize(change); + RefreshScreenLock(); } } diff --git a/OnTopReplica/MainForm_Features.cs b/OnTopReplica/MainForm_Features.cs index 3149fd9..f728462 100644 --- a/OnTopReplica/MainForm_Features.cs +++ b/OnTopReplica/MainForm_Features.cs @@ -108,6 +108,16 @@ namespace OnTopReplica { } } + /// + /// Refreshes window position if in lock mode. + /// + private void RefreshScreenLock() { + //If locked in position, move accordingly + if (PositionLock.HasValue) { + this.SetScreenPosition(PositionLock.Value); + } + } + #endregion } From 5a000a10d3e8b628718dab154ee9e9e855a22e33 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Fri, 29 Oct 2010 00:24:39 +0200 Subject: [PATCH 080/164] Added Spanish (es-ES) translation (Thanks to Ra?l Morillo). Some fixes to .designer code to load translated strings. --- .hgignore | 7 + Installer/header.bmp | Bin 0 -> 25818 bytes Installer/script.nsi | 112 ++ Installer/update.xml | 6 + Lib/VistaControls.dll | Bin 0 -> 95744 bytes Lib/VistaControls.pdb | Bin 0 -> 243200 bytes Lib/VistaControls.xml | 1022 +++++++++++ OnTopReplica.sln | 20 + OnTopReplica/AboutForm.Designer.cs | 235 +++ OnTopReplica/AboutForm.cs | 153 ++ OnTopReplica/AboutForm.resx | 309 ++++ OnTopReplica/Actions.cs | 15 + OnTopReplica/AspectRatioForm.cs | 214 +++ OnTopReplica/Assets/25.png | Bin 0 -> 639 bytes OnTopReplica/Assets/arrow_down.png | Bin 0 -> 218 bytes OnTopReplica/Assets/arrow_up.png | Bin 0 -> 209 bytes OnTopReplica/Assets/back.png | Bin 0 -> 150765 bytes OnTopReplica/Assets/clickforwarding.png | Bin 0 -> 951 bytes OnTopReplica/Assets/component.png | Bin 0 -> 731 bytes OnTopReplica/Assets/desktop.png | Bin 0 -> 794 bytes OnTopReplica/Assets/empty-window.ico | Bin 0 -> 10806 bytes OnTopReplica/Assets/flag_czech.png | Bin 0 -> 241 bytes OnTopReplica/Assets/flag_danish.png | Bin 0 -> 347 bytes OnTopReplica/Assets/flag_ita.png | Bin 0 -> 209 bytes OnTopReplica/Assets/flag_spanish.png | Bin 0 -> 300 bytes OnTopReplica/Assets/flag_usa.png | Bin 0 -> 355 bytes OnTopReplica/Assets/flags.pdn | Bin 0 -> 5422 bytes OnTopReplica/Assets/fullscreen.png | Bin 0 -> 396 bytes OnTopReplica/Assets/groupmode.png | Bin 0 -> 837 bytes OnTopReplica/Assets/icon-new-red.ico | Bin 0 -> 86918 bytes OnTopReplica/Assets/icon-new.ico | Bin 0 -> 86918 bytes OnTopReplica/Assets/icon.ico | Bin 0 -> 7358 bytes OnTopReplica/Assets/icon.png | Bin 0 -> 7335 bytes OnTopReplica/Assets/list.png | Bin 0 -> 681 bytes OnTopReplica/Assets/newicon.png | Bin 0 -> 770 bytes OnTopReplica/Assets/pos_bottomleft.pdn | Bin 0 -> 6696 bytes OnTopReplica/Assets/pos_bottomleft.png | Bin 0 -> 267 bytes OnTopReplica/Assets/pos_bottomright.png | Bin 0 -> 267 bytes OnTopReplica/Assets/pos_center.png | Bin 0 -> 231 bytes OnTopReplica/Assets/pos_null.png | Bin 0 -> 250 bytes OnTopReplica/Assets/pos_topleft.png | Bin 0 -> 280 bytes OnTopReplica/Assets/pos_topright.png | Bin 0 -> 278 bytes OnTopReplica/Assets/reduce.png | Bin 0 -> 259 bytes OnTopReplica/Assets/regions.png | Bin 0 -> 296 bytes OnTopReplica/Assets/regions_new.png | Bin 0 -> 207 bytes OnTopReplica/Assets/screenshot-icon.ico | Bin 0 -> 99678 bytes OnTopReplica/Assets/thumbs_up.png | Bin 0 -> 2318 bytes OnTopReplica/Assets/window16.png | Bin 0 -> 862 bytes OnTopReplica/Assets/window_border16.png | Bin 0 -> 683 bytes OnTopReplica/Assets/window_multiple.pdn | Bin 0 -> 8806 bytes OnTopReplica/Assets/window_multiple16.ico | Bin 0 -> 894 bytes OnTopReplica/Assets/window_multiple16.png | Bin 0 -> 1012 bytes OnTopReplica/Assets/window_multiple48.png | Bin 0 -> 1736 bytes OnTopReplica/Assets/window_opacity16.png | Bin 0 -> 894 bytes OnTopReplica/Assets/window_opacity_new.png | Bin 0 -> 810 bytes OnTopReplica/Assets/window_switch.pdn | Bin 0 -> 10464 bytes OnTopReplica/Assets/window_switch.png | Bin 0 -> 456 bytes OnTopReplica/Assets/windows.png | Bin 0 -> 28010 bytes OnTopReplica/Assets/x-oblique.png | Bin 0 -> 3459 bytes OnTopReplica/Assets/xiao_add.png | Bin 0 -> 753 bytes OnTopReplica/Assets/xiao_arrow.png | Bin 0 -> 437 bytes OnTopReplica/Assets/xiao_delete.png | Bin 0 -> 715 bytes OnTopReplica/Assets/xiao_down.png | Bin 0 -> 761 bytes OnTopReplica/Assets/xiao_help.png | Bin 0 -> 752 bytes OnTopReplica/Assets/xiao_ok.png | Bin 0 -> 752 bytes OnTopReplica/Assets/xiao_up.png | Bin 0 -> 744 bytes OnTopReplica/Assets/xiao_wrench.png | Bin 0 -> 459 bytes OnTopReplica/CloneClickEventArgs.cs | 29 + OnTopReplica/CloseRequestEventArgs.cs | 14 + OnTopReplica/EnumerableExtensions.cs | 27 + OnTopReplica/EnumerationExtensions.cs | 22 + OnTopReplica/ExtensionAttribute.cs | 11 + OnTopReplica/FocusedTextBox.cs | 69 + OnTopReplica/IMessagePumpProcessor.cs | 15 + OnTopReplica/MainForm.Designer.cs | 630 +++++++ OnTopReplica/MainForm.cs | 541 ++++++ OnTopReplica/MainForm.resx | 324 ++++ OnTopReplica/MainForm_ChildForms.cs | 105 ++ OnTopReplica/MainForm_Features.cs | 114 ++ OnTopReplica/MainForm_Gui.cs | 134 ++ OnTopReplica/MainForm_MenuEvents.cs | 214 +++ OnTopReplica/MessagePumpManager.cs | 85 + .../BaseMessagePumpProcessor.cs | 39 + .../GroupSwitchManager.cs | 143 ++ .../MessagePumpProcessors/HotKeyManager.cs | 50 + .../MessagePumpProcessors/WindowKeeper.cs | 39 + OnTopReplica/NDesk/Options/Options.cs | 1103 ++++++++++++ OnTopReplica/Native/CommonControls.cs | 30 + OnTopReplica/Native/ErrorMethods.cs | 37 + OnTopReplica/Native/HT.cs | 14 + OnTopReplica/Native/HookMethods.cs | 50 + OnTopReplica/Native/HotKeyMethods.cs | 32 + OnTopReplica/Native/ITaskBarList.cs | 45 + OnTopReplica/Native/InputMethods.cs | 25 + OnTopReplica/Native/MK.cs | 14 + OnTopReplica/Native/MessagingMethods.cs | 34 + OnTopReplica/Native/Point.cs | 36 + OnTopReplica/Native/Rectangle.cs | 51 + OnTopReplica/Native/VirtualKeyState.cs | 193 ++ OnTopReplica/Native/WM.cs | 28 + OnTopReplica/Native/WMSZ.cs | 15 + OnTopReplica/Native/WindowManagerMethods.cs | 88 + OnTopReplica/Native/WindowMethods.cs | 138 ++ OnTopReplica/Native/WindowsSevenMethods.cs | 20 + OnTopReplica/NativeToolStripRenderer.cs | 587 ++++++ OnTopReplica/NotificationIcon.cs | 84 + OnTopReplica/OnTopReplica.csproj | 460 +++++ OnTopReplica/OnTopReplica.csproj.user | 22 + OnTopReplica/OnTopReplica.exe.manifest | 22 + OnTopReplica/Pair.cs | 15 + OnTopReplica/PlatformSupport.cs | 109 ++ OnTopReplica/Platforms/Other.cs | 16 + OnTopReplica/Platforms/WindowsSeven.cs | 52 + OnTopReplica/Platforms/WindowsVista.cs | 44 + OnTopReplica/Platforms/WindowsXp.cs | 15 + OnTopReplica/Program.cs | 133 ++ OnTopReplica/Properties/AssemblyInfo.cs | 37 + OnTopReplica/Properties/Resources.Designer.cs | 329 ++++ OnTopReplica/Properties/Resources.resx | 236 +++ OnTopReplica/Properties/Settings.Designer.cs | 169 ++ OnTopReplica/Properties/Settings.settings | 42 + OnTopReplica/Properties/app.manifest | 26 + OnTopReplica/ScreenPosition.cs | 77 + OnTopReplica/SidePanel.cs | 49 + .../SidePanels/GroupSwitchPanel.Designer.cs | 129 ++ OnTopReplica/SidePanels/GroupSwitchPanel.cs | 74 + OnTopReplica/SidePanels/GroupSwitchPanel.resx | 120 ++ .../SidePanels/RegionPanel.Designer.cs | 314 ++++ OnTopReplica/SidePanels/RegionPanel.cs | 217 +++ OnTopReplica/SidePanels/RegionPanel.resx | 120 ++ OnTopReplica/StartupOptions/CliStatus.cs | 21 + .../CommandLineReportForm.Designer.cs | 116 ++ .../StartupOptions/CommandLineReportForm.cs | 31 + .../StartupOptions/CommandLineReportForm.resx | 1574 +++++++++++++++++ OnTopReplica/StartupOptions/Factory.cs | 92 + OnTopReplica/StartupOptions/Options.cs | 145 ++ .../StartupOptions/RectangleConverter.cs | 61 + .../StartupOptions/ScreenPositionConverter.cs | 50 + OnTopReplica/StartupOptions/SizeConverter.cs | 69 + OnTopReplica/StoredRegion.cs | 63 + OnTopReplica/StoredRegionArray.cs | 39 + OnTopReplica/StoredRegionComparer.cs | 28 + OnTopReplica/Strings.Designer.cs | 1342 ++++++++++++++ OnTopReplica/Strings.cs.resx | 456 +++++ OnTopReplica/Strings.da.resx | 451 +++++ OnTopReplica/Strings.de.resx | 15 + OnTopReplica/Strings.es.resx | 478 +++++ OnTopReplica/Strings.fi.resx | 15 + OnTopReplica/Strings.it.Designer.cs | 0 OnTopReplica/Strings.it.resx | 490 +++++ OnTopReplica/Strings.no.resx | 15 + OnTopReplica/Strings.pt.resx | 15 + OnTopReplica/Strings.resx | 493 ++++++ OnTopReplica/Strings.ru.resx | 15 + OnTopReplica/ThumbnailPanel.cs | 447 +++++ .../Update/UpdateCheckCompletedEventArgs.cs | 15 + OnTopReplica/Update/UpdateInformation.cs | 72 + OnTopReplica/Update/UpdateManager.cs | 106 ++ OnTopReplica/Win32Helper.cs | 122 ++ OnTopReplica/WindowHandle.cs | 94 + OnTopReplica/WindowListHelper.cs | 123 ++ .../WindowSeekers/BaseWindowSeeker.cs | 80 + .../WindowSeekers/ByClassWindowSeeker.cs | 35 + .../WindowSeekers/ByTitleWindowSeeker.cs | 45 + .../WindowSeekers/TaskWindowSeeker.cs | 37 + OnTopReplica/app.config | 45 + OriginalAssets/icon.pdn | Bin 0 -> 30322 bytes OriginalAssets/new-icon.png | Bin 0 -> 24269 bytes 168 files changed, 17444 insertions(+) create mode 100644 .hgignore create mode 100644 Installer/header.bmp create mode 100644 Installer/script.nsi create mode 100644 Installer/update.xml create mode 100644 Lib/VistaControls.dll create mode 100644 Lib/VistaControls.pdb create mode 100644 Lib/VistaControls.xml create mode 100644 OnTopReplica.sln create mode 100644 OnTopReplica/AboutForm.Designer.cs create mode 100644 OnTopReplica/AboutForm.cs create mode 100644 OnTopReplica/AboutForm.resx create mode 100644 OnTopReplica/Actions.cs create mode 100644 OnTopReplica/AspectRatioForm.cs create mode 100644 OnTopReplica/Assets/25.png create mode 100644 OnTopReplica/Assets/arrow_down.png create mode 100644 OnTopReplica/Assets/arrow_up.png create mode 100644 OnTopReplica/Assets/back.png create mode 100644 OnTopReplica/Assets/clickforwarding.png create mode 100644 OnTopReplica/Assets/component.png create mode 100644 OnTopReplica/Assets/desktop.png create mode 100644 OnTopReplica/Assets/empty-window.ico create mode 100644 OnTopReplica/Assets/flag_czech.png create mode 100644 OnTopReplica/Assets/flag_danish.png create mode 100644 OnTopReplica/Assets/flag_ita.png create mode 100644 OnTopReplica/Assets/flag_spanish.png create mode 100644 OnTopReplica/Assets/flag_usa.png create mode 100644 OnTopReplica/Assets/flags.pdn create mode 100644 OnTopReplica/Assets/fullscreen.png create mode 100644 OnTopReplica/Assets/groupmode.png create mode 100644 OnTopReplica/Assets/icon-new-red.ico create mode 100644 OnTopReplica/Assets/icon-new.ico create mode 100644 OnTopReplica/Assets/icon.ico create mode 100644 OnTopReplica/Assets/icon.png create mode 100644 OnTopReplica/Assets/list.png create mode 100644 OnTopReplica/Assets/newicon.png create mode 100644 OnTopReplica/Assets/pos_bottomleft.pdn create mode 100644 OnTopReplica/Assets/pos_bottomleft.png create mode 100644 OnTopReplica/Assets/pos_bottomright.png create mode 100644 OnTopReplica/Assets/pos_center.png create mode 100644 OnTopReplica/Assets/pos_null.png create mode 100644 OnTopReplica/Assets/pos_topleft.png create mode 100644 OnTopReplica/Assets/pos_topright.png create mode 100644 OnTopReplica/Assets/reduce.png create mode 100644 OnTopReplica/Assets/regions.png create mode 100644 OnTopReplica/Assets/regions_new.png create mode 100644 OnTopReplica/Assets/screenshot-icon.ico create mode 100644 OnTopReplica/Assets/thumbs_up.png create mode 100644 OnTopReplica/Assets/window16.png create mode 100644 OnTopReplica/Assets/window_border16.png create mode 100644 OnTopReplica/Assets/window_multiple.pdn create mode 100644 OnTopReplica/Assets/window_multiple16.ico create mode 100644 OnTopReplica/Assets/window_multiple16.png create mode 100644 OnTopReplica/Assets/window_multiple48.png create mode 100644 OnTopReplica/Assets/window_opacity16.png create mode 100644 OnTopReplica/Assets/window_opacity_new.png create mode 100644 OnTopReplica/Assets/window_switch.pdn create mode 100644 OnTopReplica/Assets/window_switch.png create mode 100644 OnTopReplica/Assets/windows.png create mode 100644 OnTopReplica/Assets/x-oblique.png create mode 100644 OnTopReplica/Assets/xiao_add.png create mode 100644 OnTopReplica/Assets/xiao_arrow.png create mode 100644 OnTopReplica/Assets/xiao_delete.png create mode 100644 OnTopReplica/Assets/xiao_down.png create mode 100644 OnTopReplica/Assets/xiao_help.png create mode 100644 OnTopReplica/Assets/xiao_ok.png create mode 100644 OnTopReplica/Assets/xiao_up.png create mode 100644 OnTopReplica/Assets/xiao_wrench.png create mode 100644 OnTopReplica/CloneClickEventArgs.cs create mode 100644 OnTopReplica/CloseRequestEventArgs.cs create mode 100644 OnTopReplica/EnumerableExtensions.cs create mode 100644 OnTopReplica/EnumerationExtensions.cs create mode 100644 OnTopReplica/ExtensionAttribute.cs create mode 100644 OnTopReplica/FocusedTextBox.cs create mode 100644 OnTopReplica/IMessagePumpProcessor.cs create mode 100644 OnTopReplica/MainForm.Designer.cs create mode 100644 OnTopReplica/MainForm.cs create mode 100644 OnTopReplica/MainForm.resx create mode 100644 OnTopReplica/MainForm_ChildForms.cs create mode 100644 OnTopReplica/MainForm_Features.cs create mode 100644 OnTopReplica/MainForm_Gui.cs create mode 100644 OnTopReplica/MainForm_MenuEvents.cs create mode 100644 OnTopReplica/MessagePumpManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs create mode 100644 OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/HotKeyManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/WindowKeeper.cs create mode 100644 OnTopReplica/NDesk/Options/Options.cs create mode 100644 OnTopReplica/Native/CommonControls.cs create mode 100644 OnTopReplica/Native/ErrorMethods.cs create mode 100644 OnTopReplica/Native/HT.cs create mode 100644 OnTopReplica/Native/HookMethods.cs create mode 100644 OnTopReplica/Native/HotKeyMethods.cs create mode 100644 OnTopReplica/Native/ITaskBarList.cs create mode 100644 OnTopReplica/Native/InputMethods.cs create mode 100644 OnTopReplica/Native/MK.cs create mode 100644 OnTopReplica/Native/MessagingMethods.cs create mode 100644 OnTopReplica/Native/Point.cs create mode 100644 OnTopReplica/Native/Rectangle.cs create mode 100644 OnTopReplica/Native/VirtualKeyState.cs create mode 100644 OnTopReplica/Native/WM.cs create mode 100644 OnTopReplica/Native/WMSZ.cs create mode 100644 OnTopReplica/Native/WindowManagerMethods.cs create mode 100644 OnTopReplica/Native/WindowMethods.cs create mode 100644 OnTopReplica/Native/WindowsSevenMethods.cs create mode 100644 OnTopReplica/NativeToolStripRenderer.cs create mode 100644 OnTopReplica/NotificationIcon.cs create mode 100644 OnTopReplica/OnTopReplica.csproj create mode 100644 OnTopReplica/OnTopReplica.csproj.user create mode 100644 OnTopReplica/OnTopReplica.exe.manifest create mode 100644 OnTopReplica/Pair.cs create mode 100644 OnTopReplica/PlatformSupport.cs create mode 100644 OnTopReplica/Platforms/Other.cs create mode 100644 OnTopReplica/Platforms/WindowsSeven.cs create mode 100644 OnTopReplica/Platforms/WindowsVista.cs create mode 100644 OnTopReplica/Platforms/WindowsXp.cs create mode 100644 OnTopReplica/Program.cs create mode 100644 OnTopReplica/Properties/AssemblyInfo.cs create mode 100644 OnTopReplica/Properties/Resources.Designer.cs create mode 100644 OnTopReplica/Properties/Resources.resx create mode 100644 OnTopReplica/Properties/Settings.Designer.cs create mode 100644 OnTopReplica/Properties/Settings.settings create mode 100644 OnTopReplica/Properties/app.manifest create mode 100644 OnTopReplica/ScreenPosition.cs create mode 100644 OnTopReplica/SidePanel.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.resx create mode 100644 OnTopReplica/SidePanels/RegionPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/RegionPanel.cs create mode 100644 OnTopReplica/SidePanels/RegionPanel.resx create mode 100644 OnTopReplica/StartupOptions/CliStatus.cs create mode 100644 OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs create mode 100644 OnTopReplica/StartupOptions/CommandLineReportForm.cs create mode 100644 OnTopReplica/StartupOptions/CommandLineReportForm.resx create mode 100644 OnTopReplica/StartupOptions/Factory.cs create mode 100644 OnTopReplica/StartupOptions/Options.cs create mode 100644 OnTopReplica/StartupOptions/RectangleConverter.cs create mode 100644 OnTopReplica/StartupOptions/ScreenPositionConverter.cs create mode 100644 OnTopReplica/StartupOptions/SizeConverter.cs create mode 100644 OnTopReplica/StoredRegion.cs create mode 100644 OnTopReplica/StoredRegionArray.cs create mode 100644 OnTopReplica/StoredRegionComparer.cs create mode 100644 OnTopReplica/Strings.Designer.cs create mode 100644 OnTopReplica/Strings.cs.resx create mode 100644 OnTopReplica/Strings.da.resx create mode 100644 OnTopReplica/Strings.de.resx create mode 100644 OnTopReplica/Strings.es.resx create mode 100644 OnTopReplica/Strings.fi.resx create mode 100644 OnTopReplica/Strings.it.Designer.cs create mode 100644 OnTopReplica/Strings.it.resx create mode 100644 OnTopReplica/Strings.no.resx create mode 100644 OnTopReplica/Strings.pt.resx create mode 100644 OnTopReplica/Strings.resx create mode 100644 OnTopReplica/Strings.ru.resx create mode 100644 OnTopReplica/ThumbnailPanel.cs create mode 100644 OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs create mode 100644 OnTopReplica/Update/UpdateInformation.cs create mode 100644 OnTopReplica/Update/UpdateManager.cs create mode 100644 OnTopReplica/Win32Helper.cs create mode 100644 OnTopReplica/WindowHandle.cs create mode 100644 OnTopReplica/WindowListHelper.cs create mode 100644 OnTopReplica/WindowSeekers/BaseWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/TaskWindowSeeker.cs create mode 100644 OnTopReplica/app.config create mode 100644 OriginalAssets/icon.pdn create mode 100644 OriginalAssets/new-icon.png diff --git a/.hgignore b/.hgignore new file mode 100644 index 0000000..a80c023 --- /dev/null +++ b/.hgignore @@ -0,0 +1,7 @@ +glob:OnTopReplica.suo +glob:bin/* +glob:obj/* +glob:publish/* +glob:*Thumbs.db +glob:*.psd +glob:Installer/OnTopReplica-Setup.exe diff --git a/Installer/header.bmp b/Installer/header.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7326b9c94076c8120ed837e0ccc93af0066fe9d5 GIT binary patch literal 25818 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 KA>PL3{`nV$p^qy7 literal 0 HcmV?d00001 diff --git a/Installer/script.nsi b/Installer/script.nsi new file mode 100644 index 0000000..2a5aa56 --- /dev/null +++ b/Installer/script.nsi @@ -0,0 +1,112 @@ +# INCLUDES +!include MUI2.nsh ;Modern interface +!include LogicLib.nsh ;nsDialogs + +# INIT +Name "OnTopReplica" +InstallDir "$LOCALAPPDATA\OnTopReplica" +OutFile "OnTopReplica-Setup.exe" +RequestExecutionLevel user + +# REFS +!define REG_UNINSTALL "Software\Microsoft\Windows\CurrentVersion\Uninstall\OnTopReplica" +!define START_LINK_DIR "$STARTMENU\Programs\OnTopReplica" +!define START_LINK_RUN "$STARTMENU\Programs\OnTopReplica\OnTopReplica.lnk" +!define START_LINK_UNINSTALLER "$STARTMENU\Programs\OnTopReplica\Uninstall OnTopReplica.lnk" +!define UNINSTALLER_NAME "OnTopReplica-Uninstall.exe" +!define WEBSITE_LINK "http://www.klopfenstein.net/lorenz.aspx/ontopreplica" + +# GRAPHICS +!define MUI_ICON "..\OnTopReplica\Assets\icon-new.ico" +!define MUI_UNICON "..\OnTopReplica\Assets\icon-new-red.ico" +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_RIGHT +!define MUI_HEADERIMAGE_BITMAP "header.bmp" +!define MUI_HEADERIMAGE_UNBITMAP "header.bmp" +#!define MUI_WELCOMEFINISHPAGE_BITMAP "banner.bmp" +#!define MUI_UNWELCOMEFINISHPAGE_BITMAP "banner.bmp" + +# TEXT AND SETTINGS +!define MUI_PAGE_HEADER_TEXT "OnTopReplica" + +!define MUI_FINISHPAGE_RUN "$INSTDIR\OnTopReplica.exe" +;!define MUI_FINISHPAGE_RUN_TEXT "Run OnTopReplica now." + +;Do not skip to finish automatially +!define MUI_FINISHPAGE_NOAUTOCLOSE +!define MUI_UNFINISHPAGE_NOAUTOCLOSE + +# PAGE DEFINITIONS +!insertmacro MUI_PAGE_WELCOME +;!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +# LANGUAGES +!insertmacro MUI_LANGUAGE "English" + +# CALLBACKS +Function RegisterApplication + ;Register uninstaller into Add/Remove panel (for local user only) + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayName" "OnTopReplica" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayIcon" "$\"$INSTDIR\OnTopReplica.exe$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "Publisher" "Lorenz Cuno Klopfenstein" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayVersion" "3.1.0.0" + WriteRegDWord HKCU "${REG_UNINSTALL}" "EstimatedSize" 800 ;KB + WriteRegStr HKCU "${REG_UNINSTALL}" "HelpLink" "${WEBSITE_LINK}" + WriteRegStr HKCU "${REG_UNINSTALL}" "URLInfoAbout" "${WEBSITE_LINK}" + WriteRegStr HKCU "${REG_UNINSTALL}" "InstallLocation" "$\"$INSTDIR$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "InstallSource" "$\"$EXEDIR$\"" + WriteRegDWord HKCU "${REG_UNINSTALL}" "NoModify" 1 + WriteRegDWord HKCU "${REG_UNINSTALL}" "NoRepair" 1 + WriteRegStr HKCU "${REG_UNINSTALL}" "UninstallString" "$\"$INSTDIR\${UNINSTALLER_NAME}$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "Comments" "Uninstalls OnTopReplica." + + ;Links + SetShellVarContext current + CreateDirectory "${START_LINK_DIR}" + CreateShortCut "${START_LINK_RUN}" "$INSTDIR\OnTopReplica.exe" + CreateShortCut "${START_LINK_UNINSTALLER}" "$INSTDIR\${UNINSTALLER_NAME}" +FunctionEnd + +Function un.DeregisterApplication + ;Deregister uninstaller from Add/Remove panel + DeleteRegKey HKCU "${REG_UNINSTALL}" + + ;Start menu links + SetShellVarContext current + RMDir /r "${START_LINK_DIR}" +FunctionEnd + +# INSTALL SECTIONS +Section "!OnTopReplica" OnTopReplica + SectionIn RO + + SetOutPath $INSTDIR + SetOverwrite on + File "..\OnTopReplica\bin\Release\OnTopReplica.exe" + File "..\OnTopReplica\bin\Release\VistaControls.dll" + + ;Install localization files + SetOutPath "$INSTDIR\it" + File "..\OnTopReplica\bin\Release\it\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\cs" + File "..\OnTopReplica\bin\Release\cs\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\da" + File "..\OnTopReplica\bin\Release\da\OnTopReplica.resources.dll" + + ;Uninstaller + WriteUninstaller "$INSTDIR\${UNINSTALLER_NAME}" + Call RegisterApplication +SectionEnd + +Section "Uninstall" + ;Remove whole directory (no data is stored there anyway) + RMDir /r "$INSTDIR" + + ;Remove uninstaller + Call un.DeregisterApplication +SectionEnd diff --git a/Installer/update.xml b/Installer/update.xml new file mode 100644 index 0000000..f8298c0 --- /dev/null +++ b/Installer/update.xml @@ -0,0 +1,6 @@ + + + 3.2.0.0 + 2010-10-15T00:00:00Z + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + \ No newline at end of file diff --git a/Lib/VistaControls.dll b/Lib/VistaControls.dll new file mode 100644 index 0000000000000000000000000000000000000000..2b197bd372971504c5976d1983ba21795541ac1d GIT binary patch literal 95744 zcmdqK34Bz=_AXj`clYj2XCMirGccr?!X_kvBm@XUAdCqRWAB*U6vk>9@fAv*SX(GN}risB6 zhTkz%5tn}UXd(o%A+W1=sqR|bEd)y7|2V*N{7i_HvZC2#;N7PoztC}6Rla>@5RXYI z^_GrSkN3h91f-K!qfpS}QYef()iI?&QdO4{R8!5X)2-uJW9O!xo&7hkuA)ID3 zAW_tAWfcREI`R}@G2fXMzJco zf@0|w6V2&F@@9RyCg>J#80k3_$sr5U?XF6#n+;%wQlT!a7X6}utKp4@%me36lEAH! zG*psWen}%p5~&;$;SbFmp_d~KYtkr7860U&!|G{FzA!AD!I65TW;R7gpH~}392^Ew zLbZs3!^~zt!(#$NBP|ZIInf|bA}+eUf}$qoTRkm6k;QP4Zr5EElqw8RrxvjhSJZVx zfK8XXNhb58&!e)MF`6)vCtE#9Zi&}`obsJq>E}1pdrz#J-puBtAAl3phazwMOw5)B7 zv<8}T(OoKOBFfAbY2(5MxQUTTDgz_ZP_@BHa&0J;J<=YS1gQet#HyUDG^ue^JV&JC z(lmorJ+wt(?4EX15f}p0w-fVG^EM4b!^{NLW6kzbTW&y@cpt_m1uRKn=tgW;$3#ar zbQg6{LpRaK4I0jNGG7UE3P_q{_xY}2%>B?R2I6W%d(H2N1f6<0IZt-!oNiJhdG&N6 zU5h%(Ux;qHk(?)sWAONQUx1rv!|V(ZjcE*JnrtXDV`;LX%vd<9mSkUUA5jxU2xc2j zT}DW@xLRn@-Y(<`8hCn0XLUsod682AcMwCjQVkor%|s705_kSbJLy|mAH2G?GLyao z<6I+!8gc$%e!{Hr;bUzD()!n{=f_t{%!f`{3z)Z28M3;$?81UMWf&TPKL63vvOzS< z_n<27>GNr0p>*srdqJ#UmI~U`No`8^3l2aK>=SSRf)Jm819PPlZb35_UXy~A+uk5_ zf3XPk8d_>Z=w?62oJLbme_Y)d?P82)0D?YA)!$WBqkR(eT(YTz4T|G55>W@ZS7H94 zk8TczP&bDFE25Ak-Mo&17{3VSQ!tu?Ln(-P7SaL=#!^uCpe~&;-r*#PBS|TyyON5! zY&QZ@&q#o7da3{EREvh^dXnfSTFLN?qHuXUo1+AVXLNwzGK=cyDhifkhGz^%agz_u zj`G0*vrBaXD+H(0v}&<{8Tgvh<=c z19o04YMh?&fW$U>Ii+Lq6xCo8h*2Bj{wM6zhUN8P<}`xs7IPw$Wta`L5Pcp=9d;AR zv~U{s^v`_v!7IfpzE-^9GKHj2dDShR$(QG$!4>mB(rf3TI$mHNE{lgekc{#`S6?2` z`KhNRw#V?0T@J0z(=v567Rx^86H{kovFw#TF?B%}b6+%lV(O$Umc3Pp%_&rTj7Vx= zzM)L@38+KTJWRbdaS$@a-Iu$Vg?ks>eyF39l9EA}m5of{#OZoDb^T<__tU_+4<^9QH;ajZY$T>hx1Q$STtViR+?9_S6YICCZ+Ng?lHJ zrV*8fW*`ng(AX#7zyu!MMv^5uT!RsJep!V)*I?|?vq6L<*&z*avr!|}K-wO3dsPbt zhb>7lDvPDiBxCZT8uDP=V-)!H{wkY;8hsWx{@gKibv5h_V#F&B{Q#lD=o>AB0#-KYo=ALU&|W~=>Tm*;MO z7|#+I>FQ>4PoNkRh7#W!D8@XY#P_k7N*P~E6@rM%bH85^8ylE!)_Na+R^^!lrM;^2 z%)aKw*9y$AbSX0|!w>r1Bl8%vDm!#tw!b$eVqDQAshf`j>2BA6uC!iBN2DNn?r8#_bf=xt z&E_r$JX-}qcvG~NO(=g0SJ2d1RQ{%r%%8E z2zvPh9DpFlC*S}Cxjq30An5HAZ~%fnJ^=?H=<5@30D?T9fCCWp^9eWrL4Tis0}$W| zQkI1S5DfGQH~>LQ5-ioto6(L*k-B@TRft%Nw*{#AE&#)pO<>yU3Z|}_rfdS!)GL@q z*ED4ln5JF9G^VC0o4_=kOegE^$;hL{zc6e7 zLsIw+Wjsp_LpFe68#1JM(Iz^g9|mJybU7`-_8zoQ(eY>C&xyYl&S+-~BgWZ6k9F$q zNyvavGmq?v)=BR`h3(;Ji}^N%8tDyuq6SKopvQ+xSt3H!LbqS&t`>Ij3%e*`n(nSd zj-3EPDQ$d%+8nOwarErjxO2g539-_xFw4+sAC;0tFL<{Wv(^Twv9xaH) z4$TF;f*LbnO129!SF0_F?tmIM|qM;8Lq3rar z@TBMYfilOpEmd3Bp*|}JT43Xp3Tvq@GUrusS={5gy9nvHEai0P^CtN+VDbE@vgW-s z8;QClKF$1y)bn*W?XSzm)!kF1X>*^GOZH;gA%)BLVn}-JeUR#S#i(lE9?rGmg<_2B z<(W0p!#Jsny&sYyJq(S@_kJ#o$Lalpcvz$%z4kTJLkg50Ns%5Vo6FO?G#;n-58~N5 zy$&_gt1tJqNP6x1td190pVx|4i__~^Gd+}u%12V9ho-;0e3!=K^!`CSS-ws+(^KUm z>9xyO9WSta*NP|GJ*#GVs@+M7^sdogs^f8b{~(?$U+0?Xsq&HZ+U2W`7g)Y)#lwt_ z{@JBwdT23fKawIn+m+hy(s-QSKZqyGmt8YGRX&nlyL{F00?T);coAH_t~Jv`iKu)e zMS8f&U*112jmPO-GoDpkK>J2gdX@^h-B?2$J+P#p*H!|vCm$iW71wR}JB`2EFvlz` z2H|fO{_enEyKMm7JcxNxFQ<7da}5bNsC!?+B*)vx?Un|Z(eTWi!)6o=G#kfKn%6Q5 z5VV=Q;lcX~-u~g1NMhaaybO`y*$0_=H?#)=+`?#f%EaC!Ql}s-++U&Chhgb?6`^)E zR?;ZX`~&5&nR`k9HuTs8BC&4w?1RYedG}K90Z%36H2gAgn?^zu49x$dETvJDiAQ%B zP!LZh{$gOx8F}5;&aQQ;9H?%Hii!3QNZbReg zGYFOuNLS@#WFA0c7)RL0@B;Gazkng^JbCqu?SNYC^))h?oCb9j>`6eUIxBUwFwnrBP+hz0>#ew;*PFUufy!i5s z?NXznU$x+(@jWD7bPa>omC{be%ZC|1TUo@%XqM_R!S%^D@;&QyXn<51^J-Onh+0Dq zl{cv!sLm&=DAd5y(_RjA&>J?2Q|@b|73@#zD%EpIT3k=Qw5V>X(_#md7G4C&G=4#C z(Ds7Kfi`&GRu^i?PzQDKeB!|s4;^^UbOpOYU`nfWnb}AYso}H>W(Xr7%TXroB}OUM z+$H8)@aDyHrE~75^+HX&q%?xO?+~qRHSr{GL|7&L6fKJg#&N^$@MgkaqR{YA0g334 zEkYO28*2*p6Sc6u(O@8kji%S4LgaJOyy>RbiN^lgpRi2q$x_P|B-YDpthP&IS#7v? zupg=ehnR|VqG*nk#l+3dnPfLxA{*gqzsf>U!ff7mp^6kHCQ&0vRYbH_vm)YxxgzYc z3TF+5{RKOljmsq<{^-?D2sxm?Q zdqY5Ze~$wYT;~&T0A-@KYl|xuW$K)u+dzAyH?o+RrkvE5d|%=mKyHTm1RR))bs|<}bPRGBU2GM@ z=@MqG7(sTkd}@nSTcp||weUu9xv(67fV{AP0}zlu7H|Lpc1-W2Iq;D5;c8h=#&xx< zE#tUaqKe7Hb*asbtNy-&b_ zotCEMyC8{gG^T>C7Tt_TO!HGXt$0Za8bVNk^*6nik*RTc0^akCg3|w6(qFD9jnJ=Tn{h?y#4AegzoPW{D@sq) zlup*olgOcZX%voU$Y_^5hAZ3JLhY>P=2I~A&CT)QzWEp}F@|b@j*d_OryJ;EVn3MQ zUr>LU10S(8pUHE8fyr2$hJV8sbuB1aY#&~3m>3|7@#Qf<7JCI*&9dmi4d=M|2A)w4 z3Cu4hnSWDzh3SVAvv-8TKc&DkP5DhF3#QH&!^pO^Zf1G9uW8Q}WMAh!v9* z2D?!N;f6QC2Rqp^#EsO1`zM0m0W1vVNbd6_q(@a2*0#E_ND^)=)`T0&6D74pVm%Lq zGkTaSS~uayX|@3v-k*WB?G`>H9AS?zJn-lATNl)@j<6dZI7Vfr1240Vsp&hyZoigw z?4{O@Ygxx#Y8`Yf>$;a(;}rB2GwyQ9YN-`N7Y@o8}Uh6@FL4g)>hD2JTqIl)tum^e2I?hj>jwHk3`3u40pE~VH zhFym1@c9y2-{~S*)b7GBY!HqW>3wCmb}L=b@|VUP`q@JWY{Dkc(lnN`H`Ufdjm z01i-*OQJk7CB+Q@Ig(abUIbc=s*VIJESKfMx$7wa0hUNoV4(m6Sei)zc4VYO0|AvR zN-_zVqU0+mP%SR@i78Mmp6nA-pjte|C#FEPc&blKfokzIpO^yG;^{sy1**j!pO^yG z;u4>j0@dOfJ~0KV#ic$m1**kfpO^yG;xeC@0@dP~J~0KV#n_*dHAsPLi`UDJ_ad+&ksX3ndWoy+hU04cHGbCB*=~geNYV(Duu9B6UiY(;@-k}&` zDdMB+?F_X}HD8xjDt=f*0hw(&Ob>FI_`4TRU^e3ff|7d_R`IUFaS*T(A5caPF(k?+jJ#DPso zngfyx@EAfSNRJSgljH{6I z4hD>~f_rXs1$9l`3`6o2+!v!Oc%q1|kYjoahf_A``R^U16))Q|f>dTC z(5ww8t&O#mrw&3+BPreRL?Lvj1a}VJd`fR zrVQyY27iCgO2-^j2#%b@hNMrRq6U>SmFyF=7?_l}(s&%r}FMX1dY7s9tQX8Wpzx)%Yhe8%CSAImq1V>W`22<)gYDB5|kVN})nU3LCdfq`;01WfcKi#WkuMd6s9* zYu0ys{VOJxwn9E3c)ljP!!3enexQ59F3=m=P@(35F}o zE|&%JUc-IKAu?g#gzPFst`o zP+8v&aTokFB|qhqC1)+0UQU@>)(rE^MHit5{n(k5%HOu+JreU@h#wq@6MS6B3-U1x zj7Z&XE`>b7Zeo-f2`yS$IA@_jVK#iJl5*zM4OwnfKcx|2<&0T^IAeyd++p@G2j?5( z%`WC4f7o!sx@ifyh}14dxoOyG_GNVCFP&9j4ngrT=&8$8VD^!Wx=m5VjZC8}D)}1k zuE3Cl-c_*>SBzJDPn1W!%Y=ooU>u5USZC11#Ds%WN61HzfMN1 zDIDSGg4%X^7{xUHMWnSB77IuMmsGk~xtw5WV8cMEprGkQy?C2vaGTgYts&4|E=yFH z5s6%w$KkuSEy9+Br$I9VN<%glo}N?y-=?8{VBSI{$2TA?7=3MESd431b#14vnRMl4 zkx2^}nxd^XZ+l23m$7*sMr@vekx4wY!JEbGcu8#3FV%BTTxri&4&VgYiJS%;bV3AN zvgCzY8jMOVv+Q!Y-QsOw-by*Q$j(lSiu&NVC2gP_;+BL3w!9^Ap!$~Nz?#&z8@L{} z75m9>wb>a7c)9>$(p{2dlcX!4-bL)Y(w3?P_k}#t7NX8* z>6rIW>!RUnlV8*crpnrA+yo=|Q(J;7_)}rW`=W48R)mBI8*atgLOk1UMAp^m?M)P{ z@f~28)BHyFA}sEG?@`RhQD&@@g?KTOx^?+=qtYzUa!kQl!Y z$HERf7|t5sAKn6G0%he%So8OXDS$pf8RhQ}b6y`&Q3Jj|Om_0Hg?uV>q0ZP7RV!~} za{cP%bTOZ&5|340f?z9O#;No4nEShV^oB2u+SOwAhF<2T6p~ARP9Zr0eX0*ETrNIbiC~BGm49gjK9P;Epsmlh>X8RmF^&Fu0A9gVv^+X@ty%p$w znc!0Z?>JWMKn(dch6;2Nj39bM(XX<*iv6g*s7Pt)icfbx;qxQEdgnesoL-Lcz1!e> zNpsmoKak&YN{)9e@l-km5)KDn{w!#xRRS*+geMP4UT)#(2Qdc3hbVe-`$!8WeV%Y} zIFIz{Js)|9PH!4%jrPS=yRCudxE+$c+(b0wRw5c? zyRX7I009+{y9x&&pjzdfE?K>y$TfATqa>!+0~A2LoF+BQI0e?->w zU_b$Mcs5+A2B3!CYY7;<(zzOpz18%{$xZD~stH`?aWm;L&!`Iw4H56zI^E!C1A*B0VcP=R{b7V3$sp0z(lq1hQ$R~O-MZtR0CfZ@6v4kMWA|JS3Gd!uN$)Ix7)xi2P8QP-h!8E{-Fmx++66lvLD=6Ig=p!|>E>u$ zLsUJkMuvR9oPrsEc86NVsa-4ZR>U!NQMr@#AiM@(6J^;dyryMpAElqF zBG5rzS_4g>9L%Hi%vj{IeF9W6fy}xTl&To0k|N|SFz{D}c%#_FF%+l#Wg(ng@cllI znG9+5FC}pbb>OD@w|orw%R)L^`geb2f|0Nsh94Hc_Ksou8`F8?k|lz z71Kp-l!|tOX`BS80`gM*yF#2~xIanW`X!eE#`33x)4IAIuBZ|`<6uih zo|?wj!uSCp7W>_hC19?#^7%gkul$uq;W`eHk|tZ?e_ zn0v2m&TH|@?L)3&-y1)KL%T-h!9f11IBw^BDA8ipSLs{C7^IKqwg`S$OAa;@Q6F-H z(R`AsCfIE5m!Q24q6pZAO!mvXD-gt87c)&bRR|8;$wP~oR^M4Y?2TZ%Qcp7Q%Meuc zD2FbxkS@B2Ocy5rIWaAf_Tai=3`L6QiV)sci>?UetBV`20t1)#L!-E+v6D=XW@fx9 zkIs8o*Yq2EiC@blE|D+FU+O>2pNsQH+mJF#{yJ_>dBPNAa-g@&X%tUvQq)EdWXeF! zd_IFfwp%_=`>TpJq+LkEcQ|s~B^AE@QhU|*F%&1b^g)=*)mh?t^9eLjbtCwCNvyQ| z_CH(3Ny}{fKA`eRV*oo=RF4s~!Indfs#z;cYD~>ifl9I3F`uLJk}6^EYfI9sp(D)#V=Aq`v|6~btxZ{-Wz`b46|Rq-+m5-ri{8Y8dBzuc8IJ0K?V z--#|ZvokJ~f0RS!jsp-NK`Gz>1Sqf+Z~(6q+9RqfHCzT7w89dLB-kp#ij>kyq%(y# zBNkp~ET)UCVhLTaLwyVR`j9$ICk#Mo1cG~-Q<{QIBf=3t-iJRKtG!;%!gBIF3{OTn zhb#qbi+g1`IoHc6MX9C`)STwi(psu(c&ZVP?-T#GpLH_C_0QZ;y5tTs~lu<)valE)e}thq@6s! zRCgHfIQ+*GOmt@b{|9H7hF~J7KEs5s&F~y^D+VIZksQEmMV~enA-d)fG6P^2n0^D7 z|1>^tNg5&cg~>n3{$FEMs4XnW66UakUgdv(3Uxw_#bxQQZEAAyNYXX_m-d5tHGc2q zv0uJB<;&Nme|FEn&mSr{{n(hZPfqxL>(n2%%sBtdtg77=Rj(|ldi5sQ!}EKuEcp8H zU1#3d^!fVYFV|1_=JCnjZkzG#_8WeBe$j8QEUP-Ovg+V{RR`~{Iu`Kqw2)7u>WBHz2ASl zb=8u&8LiU?4aocX@a792Z2R@dwg+y%Iiq#!!coI_KlLC2*9{)fvq$&Z!M4ADKKu2q z4w{6pAR%ywwq4@~s z^y*o4?&!|Vk03l@{Mf4Rj+6aQ-+cSRqF)bf`2E;R$PfAa{^XT#pjWG zmREiDBL08skyW6OSAF#c?EgA{?!wk-RWFrSy?IB~(I@AWO-F6_?B1>F#LlXZHdTGJ z`H2Up9w4mxl>EcK>RC_K?m1Qa7FWG{U)6_?SADXz>f@)XjyzIz=z*%k4_3YZ=*D|* zeRkb#vOgg1ml!#>4(Qh_)EVal4b9EzJ_uJHKn}e85b-}(72=|K2leVIwj8X7Q?DOb3dscc%TB~6X&q7bJbk6ObJ)~X#<#!$%JZNB@ zCAZyiU*?B>@9ykAx9#2rFP`5NH1N)ZMxQ?2ddSwkgQrY=Z*AIv=>?w@+_(PGd{-k| z_OJ!()~;TCPvj>((qFH8pogR9g2Vac<6g|jtM%Cf&s-RO`q<0QT*%DYz2N>`r$dZp z{qz3))P-grT7Qq&Jwm^=a{0yXl~u!EjjsHy=!V+;E;zTH`@Gw4zuj@mj%PZ(n)C9W z`%MobA>C`Ok5SpVsc3x9ujdeL{|%A1V-=J?Sy+WN72yTZa#{f^(#{HfyAW;1tP z?~}j3(W&E-vlY(__#z_a_BAKBttx%Vo4WIt+Us^cvDo^>$&*ou)1I=lef_m&_srd} zHhl20pN8CW`qjNRJU{Bi4?fuJoSO1w@$)z5A3dA1^6bcum%Nw0e#V_S>%ZRD=k{%`$HPC!K?iFD-qnd3ML~rybMVzWHLr&%ys%Upw;7&9nQS==RKQ_nj<# z=C|iJ9DH+p-Tg@ePDQ-^@yMl5q8}x0X(_>#dkw5Rd=1Xqt z`(fvS*M0tHf#JYoS{b*#(R=Z4_t@HF|AEg}-hAS>aV=J6nj@nI^xjqZYPn@d z(t+#;dbNJE$%%#=-hBVqvAJ324qaSWr3Jqi-Yoodc-!!AcW002kgL@-a?iGz*JN|> zdl!R~)-)azQLlT$h5x!>n^Aw@%^Q23?7a0m&tJxcDZifTn>=d^hMUOk(XacKu45Kb z7@zIp)7Z9c z3p2)Lv`NiOZ(Y=?U1sCU6Pr1`taw_HFZIDiWjZqD`wYnLPXAM$k7AzrAD?f^J5}r? zRnG3Eg*OyWpP16MxNKTsNs_y!_vVu--fB)v!y(7M- zGeq>kj**DT7UM*jC>FEuQ!0b;S13v$nZyS5a`A4j@G1sBAa)lnMio9(9Qt7MLWqI? z^#a()e^gDks=7#H?Os?`XxAz2AX?(pBEVZcpKrPM>kVRaJGiY;N^Vh>70*uRCU_*oz^)1j`7*^Zg01? zN#9llb9Y|| z4*p*2ky}&mnY4GrSKt2qRP4t;$KRWIp-?*Wy+xo33U((LQfuEu~bej2#<@dg)%v<=T(A?`amlR%_|T-Q%jVOP^bK%bHW( zSttJV414aEs!xA@H#KC~3$>oDH}LVI<_CT_zPakz2CuiCcW~#FG0%_NGv?K=<}OUJ z7eD>>$Ui$f{&nHO%B)g7uHUS!m8}N+Ej&Hbyv?~BW|(CvM% z|FiS+Q(E4$xbXHss@n1AM|)#B%`RE| ze9_c*Z_N8_b=3!VmMm$$cI46zet7Ku6@L%i{>H`8$9LSdacaNPMc;-3OoE~Jb1=C#&#n~#UqDX~E zVJfEl@nQ_rjikCiz8WV@1|x0>{_`N6GB&#zX04>z5ZoeWB0FQ*Pci%q1TTW=93)$a zY)l0&g=7yRrClx3b?`qP=H$O-v@?iSPevQcg&L2H+<^R(G2Ni>sz)^H$5h_Ex*tUvi>gJg?%`@HI%`?5M)HBuV#&V{#uyl@l zmR!-e+oZH|)4$y_)q^$9_!M{EOm7+gD?W&nU+gU_bQew^@190d{A)k6ipLkZ3*FNS zrx#Bs@|LA&jk_0lr<8e0+~YjcN<7};GOUu^#a?zb#VRW-C9hbijQ8B&4ftn_$|e=Ly@k`@ zHm)BsG^+@@sZ%Kz<*h2*6OaKaSG}GbAn~};B1&>dp?6C6;=-w(i7BG%;NCa~h(^FC z1b?$=@tD!7ZCYEB*wCy(l+D01_xxigU2+7uIp3}jVbzINNGc>cGeFH2Kl3Dy1+{+N_`FfhT;!6MJnNAV0z${<58b`~{t~ z`4&REL9s#%@_Z6LBSoG)%kC5-?WA1|j1;}}EPJGw6h#;rO;`$q|7fyV12n|$X!4L> zmn13m2nPWTv8MiQ^$l^j{)_cpVs+E`Eq|AE%Jd#i=B3lScAa zk)l(~M;PBXYE8JM^|IDZ@p1-*PXP^~wf(M5n8JnSm5uIEZlfkWE7j@d4vcj1kw7B$2Tj z<0!^Cj4Q9BSnCftEkMPQ_8TRlhHJj3P3B;&oA1H2Lkj0fY} zN}))JcsRy+Io_v*gD-&YR{R2VD0m2FlyI>D9*Ko9dx2RU`mHtS-a@=k{GLo5_VO`U zl(6y7y@X?gCqoycB?ujP!S)*R5~{Uk%L}lqk2_~;_F~h*v{2DRD`Q=PRxTQ1hMCK( zrAA(wY4e%2ht3p(w7)Rtg^Ql>+f?Lh4lM||9;U5A`3m4`0d$30DSVF9>Y*aS#Y(UN zU=0u>Ts+L_jnbO1ZX0|y7h|+m8s+mP{Mit@jYhS!Por8Y0wXW)!ZI1G9kUbKH(Gr$ zLF=r63Qb>yc(b)KP9aQhqNj>^U=%MCr%VTc&10Xvbn;n&uoEft!{i+Vwm=hZlmT8c z#4<1{(F|Ayfi2>AH*mZa+7ixZIpW#G3T*{a4;PCNFH@``hV)kG-=OSkw0oJ|%c(!2 zJqEAgVx3McwqARjbz8uq#71osvlqZRiOt#z%=YTZsNK!lE6miM7(FT!^~=1sHL}S?{lsj;TB~R&uYiHL~jYo=L=v|6Y04s7{` zV!fCh0i*Ke!)LZQ3Px=-%0l(|vGyg$o6MFUYiF6wWOhoi8<~Bf82!wcO`HKEpZ8l< zA)h}g_M~NprHA-K({)PWEglaSwQ!w!$h#cxqE=U@T%Q69!V6f*eq-iTjBd_B*omme z@q)o@B3!Y$%<6zqtE5-Atwz#Oog2o@wvFv^)1EL0?d zQO<5;pNV=)*4@LpBrq!98Y}g|Bt4ZaH?w6+J(G3MA-zzMP7Gf5aO!RJZ1gZHJL$TB z(bmW7h?fi2T@S^K@(EZFSPtvXvd;oA%FCb3iWQ5*lEWruf>FP2YNImT3`RLiw9%-# zRqwCk2cz&W#^qNg;8%h2E1NU6VrU<>I~iYNJi_=Hj zbTg(fc4X|$IFxY`;~d7tjCV7xW8BHOkMRS>Q;a__UStdjp|s){n=-ay?8MlcaRlRJ z#@UR^8P_sC!MKz0b;iStXBjUt+CwRoT8s@CQy4oj_G28y=wY18cr)W2j1Mu&-n)sz z&oaKoc!W{*XW6%9ul_g7e`eIfC=XGL35*$xIgCRXM>9@hEMc6-xRh}<<66e8jJp_* zFn+`M7h`ZON-LJJ31b>#2gaU^0~xPpoX$9p@fOBaj2jrAWqgzIW5%x;|7NTePHEL= zOk~Vt?8!KkaRQ^4aS`L4jB6OTG45u3oAEf~w~T)?21QURwHcc-wq(p^9LP9|aVldu z8fJfJ)&sF&Wno1O=wzF0&oRO zjzrytaE9w);2;-SP6qn!BM-Qqu;o{7WPFA3ZQ#JlQ?7PmVC64t?~EqTG0}VAA(62I zV_(M6j5kE@gZAd=cCfrR`T)Y;MIQyG#}KxzXEQX>t6mWB`g)bpO+P@~K?#(%MG1c){7gb5&fK15Npv$hf1BEjw8NW`_8tzu-Yg4p zhe`5A<`BC@j558DEHf#^M@`Dl%O=(QF`O0D#2@B+(8e~WJhW?0;d~CyZBF(NFuuZg zx;e!SN~E|g5|6_2j--YTO}xZ7G5I=#mn07d+EOZk@hMb$LsQ7}^^D^giy0@hq?Wp= zW$jDqwo&S{hOgZV5zeoi#5f(OiG8W$)0Xxc{D-7b`1LgMf0o11=|4iAolfh48R_Kz zp>(o2#As_xlE~I%-=H|4u8jZfl+iOZFuK=XyZBDg0U@Q zcgDQV)M_I*T*SD_b(_tX)|}1*k=7E%yBRky?qqzO5ij~-bDHry&==Rzr3ms6#%Q1> z61q^i26n0LML!sou=%kI;h&5~HibhN>oCrNjnC(#s7Il#pZzFH;t_6^{WLI%F@rIS zaa;SR{WiU`kHKaL<4DGdjHQfoftpyH9U6l1n;i*!INJr>l1(#4Nmpv4ySuJJPk5Mws4nJ20EEcTe>E z@IgJ{A$$a(2x~ztIHRX*<>z5}Bg>ccL>r0QDXg9>HuQWR{Ua*pvlW3z0M{LbN^912G>He+nVmXoX)fxSOLNhv+&%t2)-3x+jI0IF=2zarHgb%-m`fw&gWT#eHp{*r zX(bqh%^4$lQ@AaMqdDA)!>t)R0S!^y`zUrPOL|j{l{0>pbrkZOd%IB2t9oN(iFG6o z-$LQ=S6K2k$NGTnKkZHR|1C@YWJypTNW$y)A^TLu9LCXv;)Xut?IsQ{?{ge!-9r+w zp$~GR>g1_DN0IZ_7(ZhCmNB?5$s00uX3S@t&bW;65ym}?M;L!*)bl8A1E8;U((}H8 zq%&h4;~2(SjFpTl7&kEPW<1Jx66o{uXWqkDZ-n+EY{1xoF`sb;<5I>Aj4v`CVf>Qu zZ^k+##NwE~Mh8g7_*pjg>q;bZ3^H=@ z{5@N-VMZR<0>#D{gW&a6#fpu5u$9bKi&A5RdP`6#R=eLf$^+O*<0cU-*0JS2@q@7f z&+?+7z=!g(3ioFRv(@4^<6f{x#UkzZ;@1!A`7IyE4%Ad;3&a%rHvIDOXNt`Qixs~q zwgjxM*wo0E!sFPlImB#%c+CDB{i+l`GM}GYIg(;$txW@TKU?t%#&7v2b~}75F3Ms{ z^)oZdX`}r~>9b8#xUG$_G$Ag_mnnj4FrVf7##w8oXef1#AyIX0okVlRMn$>71}Nr@ zO0;E(0>$PW zv+Hc#MTMV@vh@<%{A{AFxA@G@N^E%|6el8O`R3XNioSlf$Tmc5lgx1{YNc(ccwVs| zqwWEFRWZ$#D+X*u4c#ztOtD7L4HI85`$|i8trEk9wHc+pFK2V~+qU6i z05e(F!^I|(bLMy}`Y?1aD0U2NggBtsUtrky=jL7P2#Yz4eWna%`?SU}$84iSU#05? z-Dt5$v7umN#PiB>IxGvtA*HK~Ib|CwK2mH|%vWHi6?+1@apHT$c0)H#TvY5m=*Ht5 zxXkre(2W;Siv0myk*Kd&c3N3e$#dlR}TVwYma zpqnBNG28Dr2i;Whkz&6^rNm{}JfeeQIdPd_-4z=PU5V(c*c|9e#C6OTh}*$th!Vx_11lAK6x$fL z3h&>0Byp>VoysR2kcf6ltSfOAkKpQOGGLbRPTaqxkzNTPb9lCZMTW;N*7memAGA$ z@Z@(B&)&C-+05>Ad|SVTal3d{F|9!=*lxu_8?*&Gpjd2!EaMLGgJOxyV))?JVn<1X zK{&tZR%~H|e6W_x7KpnVtP(3lp44&bD@BRYx#LL}L0@H4^X^KKF z&!*uX#6R)L@yd*QL;+9dG^11)4~QL-Ia>I@v#3$Mw6+bF=dwffdlR}R#T>;xhwe$SP%&%6Ta8U(sbaAW zZv(qiv6P01w$0*x#kw_Y3ARqLf`(g+En<^mV;epVwnMR(8V(XqiI)_6r(r(WNySb; zw^e+t*f-E^6~S$|hd6$LZkwpBSZJesur`V{Z8S(cEwU7A1>Mu4P_Yh;a>X;ESh2y4 z^1v1;HU+xvVwqw$LAPCOR_uQ0c8DE{Jp)2-3Z+aVwz$PLHB}~ zt=LP@?Gg(W`vkgOV!2`$pnFl=r=<;fh=z*&2;D29rDFD`8Mapi zHV8PLyJ;pE9z&RALbq28Rje;`dqokm1!8p5{l-4AQn6`G4;uT$M#VNZT_s)@LG;sm zm@!WppBk@=EM|+vOHK2{0WnCi!(eZS35uO*`i1ePn5&pI;f(RNSfN-1*g>&QvBn8M z7>7hud(Njwg6^{oa>E{-c^Yj)UnLe%Lf~k?*v30QgLOh_@cCatS`-*+sEXV$p z2+5N1z6U!kx+@lH9=3fg<|*a^`$lY6EXf>YKO@d5)*kGvXwsRy+$8##lkMm5Z`Mdw zWX`t#C^~kR%!7Y~`X|w_2eHLsu32IKNu>DMO<-;PY^nWck;80(xY4}HeqNkowi@wP z+J6yxPx3_d1lG#27t#|P*xfkcm z@jz0d!>Q#c_9R%aR;k!Qun_Gz#XbiM)qY^MPx~_|!x5%!$dO)RlRG$SX-_GZl$;Ir zoML^Fa~$E?9>sP znS635eH%+zx7D0SH*n`>pvR*RXb&o~mb z*@{(wwa_Y=$@G%6<0{_Wsn0o*w2}R!m-VSHJCe1I1BfjaTT*A+Q?xzIWC|^{^HS$H zlA2*_rTwMYm#LXxco@cKpNLI6W=qvfW(!1%v{fQaYsYNAgPwEJv|ftQ6H&UB&upjEmySH_AB;jS{~R3id{&{uyxQ*C}vO31Usi# zFA$s3F@Q;D>f$G0T!p&{Pa_{EDcL9d=@)aq<;mLs@SG< z>}zP5itR>vowXdrK7+1{HbAkTpzETIR*c3`wl+~Q8b{gMEX8OXb=Br8M&qcfwp_8K z))}^L+A77eT4#c-Q>>(Q?V#@3CdKBrjs@GL*qg1J2KCVPDt5AU3$XVT(=#$`J+)61 zi^#|X`$n;3=z3{CD%J_QUO0FnYoY+U9L=HF1n6?KXvG#nm#f7qb|-YXS_(7STYGB- z%obrSor|-;_b9e4BQ2a{(GKhcvwh;1j4Uv59qIN78V`N7k@>{r$jQ@Q zs=?l7wqJy{Ee*=kHV&2Xnt=7wA_|Bt5bfHo68*Ktigj(9Ve7BuGTZMcYC9*Wzcxhb z9JD9UUn^9M#!7$fMrM?Hrfq<>LNdo}cp0dzR%}t*Ot6QU$$4-P&%3nGx2^5XL4&oI z{a*5M2JnEN-4irid(Y1v4jQQ)_p`@?Mrr5#%n>w3a}1*rQC^-3D)guDQM;W%WBu%G zyIn!!{Oo+YJwfCB?9X=Z22JxbYv#v6C4Lr_`DxG$KWmh^E6A%QaC&ksFVk8x+n@7s zW`?ay8^CN|m($F~$ecNT$;@(=X%8r-wa>K8)IL%yroGoOON$xKWpJc|-JlgH)&rKa zwYwA>*uI-{jJH+e`@n`!NoeyXQ*OTrJ;pnj6`LNc0lw^?|jypGK-I&Q;zm3{JW{ZW{ z;goZucB7x2bv~ip=4Th2o3%ZDW)0q|MULjwk^^WxdEA}=s>lj}OtHch?WG3%pJ5+1lfj#lF)*ae7Y0102 z&udc@qut);wUvs|Ztn})eTva;?+e-<$#}PSmsY<};Ir64yS=-#ri#&S?=CG%GC{k& zFKQE&&fRekPON$qYu+&*Y!R~sA`NV}_Mp_EmR5>zyZ(^g0ZFPXO2vhj!>PZJ%n1%;eqTGp!S|)%e}5$-$qgyxiel z)5U2!sUjZl_*yUY&$(yu!L-DyAjH{yMx%?n83toDXvVsCa_$XV^8pEV5m zRtuRxIa>_fZ2Naw55>l`UnRcR1~c0y4rL#+eXmVY>=f7!+H=enh##{r*nZUBQo34Q zkJ*0KPAb+A?7a4ivh3EiS;#M1#6(#W!@6FuUC?5gEp}9P&9MEhHB^k|%3ux=T)zqHwkHSd-Qww&1_F&yk~?Etd{ zVsf{+j*D8zWSO(Y-ByWnZ?=}EzyJF{&UX}KuVvg>a zV6Q2b*geB0^mi2N0G-f}D>f85P5(l%BIq>zXJ-3^xBD@hu3M*2&g2NN=mVxoMsEtO z`bW$bi1O|@H?N0GlVw=MjKb8f&vYLVV$*%Bs(Vq0!_QnjCWi$1S$dC|A^4d+6|YZ^ z@(}+1H~4Dz#2$-7@T+zFS?ylXN9huK?G34?ANRAjLmKEg(~IuX{y;-r3JihnRYfVx_%~g(T`D{Oq{1 zg<+Q2*XfWH{RO4l*z3EHR{9r;?e6t!NSYp2B2zyIhMz^l zhw5xa&fw5CdOM|CpED*Dzk{Z9ALf*V;+NJG`zogl>;|@^9$69ES-(p%$N8LJ9bNSY z6#F~pFR;fHGjc6K-So|hMdUibb}Cjc_mr)>zFV<`+^@h6Fq8N99(vmuls=_*OK4Ah zh-7>}%GF0IM)#v!y-2Y;b8|&+eVSqq=jMUUQjGRL`{?r(qy5i5`Vz&S%)KqNufMb{ zwKa-SuWQhIbLbHLQE7?1tm1Fa(s%SIXS+h_yR^jiYpJ~_+lTwv;NGu z(4X{s`Ilp&{-&RK9aD6Cb%#ppC}@}~rs}m68{04sEMBqk{d2`MJw-83|2(iP$;90L za~;$5sgiL%r|Sop?Gy9_JzdZ7QVMbudvtu6meS)V=n{PqGx0b+0S>JLupA8U)g_Studfla(TLe^(n)( z*`6%%Z!;o{f1lvLB&iQSR?#THTQm0GGC(3z9A#3TFVEZ6B&WF4f!fO@f!hCWSf+Jt z4D1{Kr^2aR&w*v{z!E}T^tvRBe*@`?68t-G*O1%9IMxQH@_$Eo63V5kK1pFs&=|pa zRSrw^vQ33wqKg%mh3^TFJj&r6e$>TF9R8nBV{3T^*o*uG&Qvz>CgL_pE~Cz8-ZFVcAP9f-J4vKW*F_jsMW=E}sqLjD4EZ4Xo`SIF(<37V#&iQpGmL zz-!G&5zy+QKHJcaFV1GNB#py?{-rih(w1#xemZejV&Hs|9bhBlUS6U=pO=UKAMU;e zKF+Gl_q^{+l9{wkla$hwrZA-~ZD|RVe$YUGPG%;}&?J*)CQUz?PLgRec9IF132hWL z>7q+rL{xBL1#A^ps-WP)3Rl!3xY|{BMR6AvKgx<9U0s!3_6iDm|NrN_@4WA1g4exw z*Wdl!LjH5kbDs14^_+8_bKd_fe|ZRh2u0_@o$@wGc|uT!pj*2(>(WTV)l>sOj~W7c zRSsC84go9GB+#C<89t-}q1*v9)!kzLsF*({<`XXbgqRt=p>!Y6sj zz8K~TwOm5buB3Z}?zQOa#TPbi5KBnRl!!bk0yDn#1FTSVtyDXKRf>DwK6McIpW)ZF z@P~)5`3s1}MC>Ng!yR-(y+W@}7sYMy%}Py9l6E zL93m0`U9B#if08g$wmJrbe;FtTxPd4=r;d;p5Gz_Q~7aDU?`dmb&i;IE;PDjm^Y%k zdE8~|HnSJZlq1dK4q1;aE07XXT^47nYn4=W7tvIE<7U862Zb^Y9#c(<`M9)-ce>2) z6EnwEQ{4r#N8JbXs)t?llP>d@UFK)R?DS~7#w{hr-fgJU;>s9t$3;-b{$m&YWtdH+ zS0CC{n@QKwyP@1>H;-O%=(K6GPMbFWrWgWV6vkSlI~4< z&N@e2mjGv~7v0M!?U?EU;cR*X&Z|H-aX)}*xE<(Kp9EH@CxE;wz_uO5YsfyeO+wfO zvk5b6c0bUo3PQg{!ns|{I{njow=I+WKG#Zh7ec5~49!p<71VP*XL*m}jPF%?uGgjE zZly0sJ!)hu_I&ig*eqzBUx2?e26XCcUIpHc_Z^6S;C4J9PFyIsL~xbhTES+)pkNe; z^D8m$6if+bfZ>`6;MSU>z)tmE;O**8!Q;T5nupA)zTGuXm}8ZLHK#zqjxX?F&7EpH zlqZ_iwSBkLED^o?C5nC*3O)y(&(3L9Z|VC$O|v>GcsuZf`beJ#YEBRK-Cc8BeI6kk zS5FCcRG#o371!hH&Dd)>s{Xdm=Rcud?E4gak@KkfMPH~oXmF3=g!l>?+*3GX#Z|lG zWX(hBoE=}TIi*(Y_5~+1jTPuuvt;h<^^@v&Zv4p-M6z7_^_Bi4|B7mZJX!YJHKAD z&GVArYl5?Ok#a7uSyAixX>gvZOL@Y(zFF6-x^_Jamxr;tu_Dx<=H_ zU7hL-%%7d}oN9y)RI{QMd$XeU`gNY%uJ6}Pcy8PE)4J1=XTAie@=aM7ux{O_L|kRyEXt{+{HIQek%CtuI7pTT<< zn%%5E0AJ10(zZ!EX;vTE{S9BU`sD8IDhLYGoVsE;a{ZaztevNJv&6n7_+8*p&nvsv z)YC6reR~+%S$m$YcnEdP_P=(|I{3X3lxDSS&*k+g&+wja))@vvGYrjtbWgDU3C{=i zY^lG~^A~%V{tpA$-o9CX3fNphbEkS5c%bq*AbZ)|y+2>@khya2%M1L7{nx+^dwmUO z;CfcWlxNlMO)4mP4=T3vpnA*R%?&M}bgCBh?!9-z{64|I*c%1q-n}1di0ZQPKDp!I z!r7?((S_^Dj9zm*YoEr@$S3!$LIKsp=kl7bNF4M!nn@e$~`%a(%L?@iD~37Ik%U zePgrgNPZb3((dGyjccXdZu9a?qFJf&vamh*&{v(gjh`%}A@J|;0fCNVySw)D31A44o}JD>AHVd)b>dBUP_mT3lORGsoZ znR@Her@h}v{R!};)X}9ccwbLp#P(M8NAad3b2OoNMm?c;8a*LxY(nu2dqVNFdP2^n z&v+O1pS!GCo!<|AaAS4<(q#`B8~ZO_Hl=t5I;D8_xzMxYiruL9LjThhFCkx_opV%u zu>XPO&2nwqiquA~p&OUnW;QP%<2tLuTAgug{X zNT@G>vI9H&K73W~6mXyVJK&)D7H~*C3(TtT0!P(90}JZMz{Bciz#G&{z)AH#fj6q( z0B?c-AYX9g!w^r5%6JX&-v7& z>N4Qt;(Ah2_>|=9E0X4~N&3H`TEO!R%GZZfwgJB*uBXNIMRENJw4!`SYd7$hsu%dO zl-Mh37tF7zBv2X5qt{>_eFk$q+ZY7B)?i7VWn^G(Fh+olMjjY24g;4NZw0P2jsVx- zH7=B}aWine@m}C2;{(7J!Og}8VGbL|fbDpH%ZC>kKMw3RJ_Sq|tf?Kw!!YkL9s}+( zJ`Wr;o&*jVUjb%~uLDPoZvqR(KLQWqwJems@d9wt_!00%yjg|vH+~7c+4v9Ot;Vl` zw;8_!-eGu6l)vEz9y4ly_Zstn_Zbbq`;EoG2aWTA4;w3hj~Z)$j~i=&CykB3r;ICr zUokcVzh*>$-!QHLK4Zjy&l(BfcZ{9D)5f*H7mWenPmCep&x~Q+H<%s|%HQ+>Z#3rsZ!+tFH=7H9x0;Q>+sq}vJIo7! zcbTh!$IMHB_nI4k_nDUi?>DaoK4^x451Z_Xj|x6+MnO4gb^)I<@A)U- zCeQbQEuI&Fn>}ZMVb9Nj?Vf)Jc6eR^c6(k2COoDWRApfcrFAU_FN3S!LuGX>1hVu=(!4blP3hc+0zcZ)zb;Q&C>(C!_x=6%d-b~ z%##A%>)8*y&vOuXzh@Nqpl2NTu;|`s;8#5F2Y$_S2k;x7 zyMfPmJ`8-;^D*FeJof`ndmaM5DEJf4U&H(}&u4+Z^qd5~?D-P#70=%SU-SGuP8|N8@Q*k4!E!KY~Wz!BH&PE0GO>@4jiq#5Ll?Z z7sN^VpS0&SSx{~R9QOql=NLf=wo=d7Y$E~m8 zthcF(<8wVa9+>b9zDE34HVRiA#Lkotww!wfdwDacG%Yd^9{Zwz)9bQz#Dz*fH(PCfH(UhbNuQy zUz_1qcOYcHx=Z4^Ut&24I@-3FzasSS2<5a;UKGktpy7=+ENT0tkMrrvKGxJLKF+7F zNjeAp%*BwOdCdBm$5B7?SimJzl(3(5bc25-_$U3G3vTptl)lOT6zDhmS$DVkS$DVj zIs4z?XAR!ve_;-KtA8m{exIM|zaO#q)q{w|uO9ZdfbuBf@~g+8(d<_z{oTN){Jp@h zAa=j{n*XQB`!}Eg>{rkFe+lz<{Qm(w?f*6KMgQ-BKk<8O{OV_ZKk%3S8sN+RdB9iv z4Zzp@i-D^8e4w{_1<+T$1~|KVEwHwFW6cVcpLGsolK~a1ZBidpefU&sT+9d60+{he zCGgMGqJ}2*e$@r@QuXYLCVaj3r@(c>d4*s|=v&qAR)o|?Ajw>#W|{A-zXp1Ho%I=* z@0y!Y^UV8!&l@}EzDZo)1oQjqj{-kE_o(n36`qf%uc|TZ+dOZ)JokiJWCm+bh-=9B zsxs$B4Tcsq;uZf?pAmBg=6&;yiuowa&(8Y@=I>i-KVlp-j{|p`*Vdj8*AsBHoM&D&KWfG+t^rC;VSZ+QM$AXW*OR8iXfm!RO~(5J^Q-DV&N+i{ zvS*($2P&Qc&NBbzY`;h2^Tu~!USwXnU==V}yGrP*JkJ}O7KA(~pG8s62P+me40xEw zjF?Y>=dQV@JoCVR3Y=RSHhZ5pmd;&T!Ey@`mmRBM>?Z|J3#v*|0)m?bpRD|gJCGEA&GW{FCH@-5;;$iP70hS@pm!`;C6p-4A6OCPG zF=s$Oxg?`0wd`w|TIqMS4Cg2)=xdgl^b=w}QOod8!1d+1Cu>jtTulJ=1nl%%_BY3Y^=QpQ>jb zPYeAFDBoIs29!$|oDm*1Px3VnVP4>$C$%td-mLrQ286y@aGziXJU3jBnJ1+xoRdO7 z3i{VBI10+&oPBg2Lp~<-6JkCA*99w12>(f;p8}C>T=-`+$VVaYEq7ECZ5z7+CA%SE2bi(92a~-aB~|e`vg;hlY&!%#{`cHo)kPS zxOt2C5}Xt~CU{ctv|zp3S+hX3*3^1iYwGd00DtfD?yR{5f4AcA9{e4{--q#cFaGYs zpAY9;*RRA^2Gl2NE3rFs)A@Lp3@D21ICIj!J?ecm_trd8^Mjh+xlh%-URPUhHq;}>Kvxc-8}E1q0&YQ;BK%t36mIN_>ObDK{fEFLRqk)2IjRZ=(=kKUGEU{msixo>|06t`TQa@ zUTQ>Z$4iapNY1K(vygwh>W)>%If(UK#D5;*4`Kb$hF6{1@s?AUI$L$)6{lU`*n=0F z_TrtU0ywY7tKf&!3iUR%QoUWRQb*K<>Q5mJy$kzPH{%89cSDxCMO}>Dqf69#)kf?e zwWvSGd*mNf9qK~}^}}jA-oNO>&XH0RmAt5PgIvwPmm4bZ3A6bj;8*6i1CN}2FYuPL z$#c8lu?6+W=E=qdz^4UY5PV6{vzYYxg69dYl8YT17dL_)6dYSXvyQQAF=N@anBngi z^9_Q>7Kgxd<+)K{Ji072GX2EOPywb!p zye{aunC2?Mnv3bWNbo}!v;03HbaxrvaLK0-&Rv2Z7kpgs+k(Fk{HJIJsY=zGH>HH;Hr&G+oc=n>j7^cC|7OV3*5SqY3mbuTF{-^ zf>4fZ><8z~8;5}R2<3#}BZ6NL+vK|iKfI!T7QW3SSkXeW&To19zr2O*LA(B03uF0n!9`axkISwkO`v@8D&}3MS-0Uo-Aupl71U|g>HmvRWH!nzMAyF#Z-@EGFwNf* zJS{jLWvRY7%2KUgz>sx%UW+nSy1jX?xqS|HG^DLw*G4+)u~uCMEdn3L1Zop_WGwOm z@nr>!e%KEHn$SY1z<5{*ti{Mt3HlX4yeA6{0Tbg-73lv2Ds;i{XF{pm57#BYTI?V5 zOBl}s4eTM$g6mRXt@ zUJJ@vjEjc46j-ZX#P|q(AE1ey_<5lG2)p(^^+TY6ci!fMeig75-^n-|^dAGE$AMAQ zRGWdd>R+(G@53o_1Lz@~LYk@-Sc@HQuD^c@#4E`dZB2YzY7yu^$4P)s{VUMK$h;V? zTYx_Gx{TSs1sXWbJrAz!z*_8u2jKcUl!~FYqEt+*LYKhYiIOle0xyL*h7sJvNW2{8 zZ5YW-jPomCj$<@8RgYi-BRVe`uLfm1O3T0r!^JT70rBE6O2x#xZ);)RgEg?Jb_6cI;!P+I13C&JnBRpmFtFw( zz8g6K=4yI#WU3>1s}xs!wkG?bP$wJ<7G9x?+i3?ev*Uv5umC5 z8fQL+`i$UXc=61{xeD=r;QEH4J_|H)#&QVe&k243C2itcZ^V-*X+u3B_@sI(C|?wO z3bVGMz63PY-{4Ll-cSabcp>LcU_K@IRn(8E{#Nic)DrruaTKl|AhdrBz5rVRG;u=o zZkT5QO`N*C2j)3IeAUHxFU)m<^Nja{QV%rLeB*YQ&k{V__;XMe08O0F+zDK0d=Pk^ zaX07z!Sjs|fwDw!xp5rk3yhDzbp_DG>CH!htBj8UFEma7R~w%It}z|}USxa<*kn8e zyx90F;9BDm;HAcA5W+g3iSOh+2J=;dLF2P9w;G=VhK(=4H3UR|G@gLD&3F>#EkN`& z<4Z6{f#_exmto!tH1UbhQ!sZ4c5|l&x8uJGN{{h%n70YWjlTya0W@)*^)$@ef#_K{ zxk4`!++}&U}_`=K_m>&h2>a)gNm_KLK!Th-3=Z$%wd_nL@V?O9# z1fp#l3t)aq@XN+RP`)DgRbvt8e+x8luXi!bxcLkGd*eJ%z5#^ZpRokyZwdaRu@sbl z5Pa5H4*GL~&l@X1|0luk8mmD6p5SR?HR#_58tR{oi(r01@K?sgpu7S!)vLx@n12m4 z)o+Y-Fux}FTVn$#uLBL7q+JHHN3g`KeUkbz<`eqR3 z^@1DC5Ga=kUSUQ+zZ__&E6pu1w+LQkMnSn6h#AV<3cSYb1Z67_^Mx6Mxf5vOoNXJ- zy}s8uW_Jx;N_~!BbMxA=55-TTT9`^r{4`Y?sD~;9i>oqR2 zelNCu*Q#^olW!evAMi|{=!%kO;8 zZ#FT$1s-oR`4)QS%kLu3`S`6g_Ij9}u<@AZD_8OA+SfgdM;U+b3HS5&Tb^F|{kCVn z{4VkSOBjbR#!~O^#BWF)=+ z(2iO&Qr;io*K7QV_hO?0zwhv#dkuak5hP?Cq`><37W~R(LCbEa%OQ15r|m1FRjWH^ zpj`#IdAeV&Q1m~>Itt-%GYb;tJ7B&9K4?A(^G_`Ek6``^q&U*+2C1J(Sq$I(gG5yi zX{Z76OaL;+GRPEbAw8{wjIjZ9;4oK*;4*31oCT%GBBK82539+<|jzd@-w@IB7$ne?Gj zSG6UZ%IDkDS$yKM)TJqWXjrx5`<>ZzTW)N)Gk1M@I6YFZNUf=Xg9pZP<0FGghu@hl z4CMy%sw6RKrN3tx$%@~+il5=is^+;N9>_A?1;;WpQkv!CYhY%-YijDHSqSN9ix;ANNBs@2U@3vda zk;4ON@umwEN$eiW9Y9j^t*J2;FW_^Xh+?Fm3l16J2SV|c&+gPn8WqT>2Rl;zFqc+u zF|=O8cMsZk;9|#;W#Jox%x53+CG5>mqmCENy;ld7|!rJv14dC^4o2F z7dEfLiA1bB5!b)*wrmQu%_PT%QuqLC0s)GZ&81Ji$r>+AWYdt{o@7nqC>--sgcwHq{it9(E+q-%_+^QD>s5FVL!0_A!~_X5``9xb;aGR zZgY`aN>GP~jw*#}H3U})qi>F93wfn~U8xD-6Sw^s6x^iT$o>qThAw{A)~d6jy(?G9 z>_@ke{^_t4`&>^Xlu+&XRPUSd0b;vz4d(}PXgU2VE?@aok&$uKOe#B`mJG!D-;^FG zSdL9rcA8jy=&<2T9z7$44-2D7%Quac)Bbed)uA@&PB>#Qwwo0~vAa5b%?hJue58O@ z--K}@jTR73k6oV`z_<}l?N950RY|kzM2Vsl@`Z3Zn?8V{MP1MAB$Fz(6^f4|0~khj z!e3Vo#aU6{;$(DC<@FD3(w}J;1DjoJzXFR``#O_d zq4sDZ5s4?1SUOsJ(ZjlWyGyL$SYKBup|vB_u~oGvLP2R*G<8HH7+m7%kwL5O6uND} zHm9@KtGav7$henjdInAfgR9`$9*^vyzx)MFHj_zO&^J~#0 z^O5kD2nnsRo-l6EwI>oi!LGQ)*cyk=&dy+0xFg!N6?co0@$QajLYFtK;YeEvCDfUW zM-pAJL`1b}bG$to=?JSnR~OP4Y9+U0k0*5C$fQbaw>%}b3o)`I5$Os?!tun;jtE>klUpK*aw5VD_9kNS z5DE!d#dMU|9#3|~+BHRNC`R&3Beey?k!V+}7lC%8oMLgcrLQBYqw7F)Itw%*4m;wG zXgsk!8tJpyq>kEpJ34w|eep;KM~@D~j~K(T-qwytYj0Z{GTzM!=#0e@?LCq0k)C*j zlmwF5(;4j0=15OZOc)c%?qF{`5(ZhK)`iOcf@s(;LOl@{GfZLhq@LJL8ard#g%pqO zlHXt`5#4UFA^mN!P%p;g&g9l;M@P{T=?Wr^B!i_V67C81Sr%rPMwIz9V@ITGOQM}_ z-9gUpFoZf{$Po8>slt2?m)$Gu`44!jbKrv2es8 z*rgQgmLaGOoy~DfL_1xqp>cE(U&c2Fc>lyN2vU$yb^=)VTUtI{sEcsN7UY!f@$Oix15F5BP1h)EEs6r7V`n57 z@9l}$)-YORqG;Q`HL^1iv)z!-9>*q4MAs&g$8wOkB8m1`0^Vo=-LXh@BIYf2vN76l z=qZLyE1F=}7JAjy)s0@tDxQ&u_72AGSRZ-|453)}&Tudh6tk54HL>2FE_4<+Vw8%u zNt&Wv-MxtpgsE$-CxUe8$z_@gyHLKAHSqIz3KB=2EN&!XR8R_b! zcj@x(3^)Xx_;3^>YH+7c3Voo&?BYTB+QzPs(}BA}t}YCRU`NRAz+ItY|LO|4+Y&-$ zYp@z(S4di)-Tk{lJ$j6HCQ*xEPqMbVo>N(xq0Z@EEQ0ODb}xECi_oJZyu)nA1*7(Y zB9K}PM}lG7j9%S-8x@vIM$p1R@&@r zVk(dHM8kUMwMVed_?Fh#4kp2-M8bOPwC$XHrm?gpWYDlV&@kKq=!CZF%CLDjaztey zl9p4f$dYzsNoIDx!rFtODb^#?2W(6Z>k39r1)bKs4QnE*8wQMsHv}=o z;^PPs?17Z0XGyqYERaZS4h%DP7NtBmnAk%D%foG_(AI{iL@Yp9J&`t~u-*2LhA+aJ z9t4>JQk?Rp4e6n9YCF1m97Q6V?DPTgV|8_!T?2w;wR#S#y&V#bbUkZ`>xcxkh$HQw zXbbgPgEiicMIyUVQ&JisaESL_hzfLp01Y|W8Q!%$NO6cGz7&I1e^^~~x5lj5g7a$$ zLB{10iZvpX&{)(ZgkXGYs8z?+73|b$lvWpNMeB=7Kek4h5`Qw)c18NSgP6>9-YjFZ zWInZsu9oaf*WEpqs3rykFN=xJB;pTaHVhXB0h?g=IS6c+yo=7-YCDEvNK!l$u|#E* zagk!Pgu^aZS~yBZZSfU$41^GdT!dhFdsIu4Wbf@NwFg66S(kLO#RHmM6F;rpv8__R zG)Hzs&_s$>J7Jvr84@MGc)Flh?Xpp`rNmZrlMN4rWnPAxAemuojU@F7m`1$_7L#m} zkjZi;yDX7uKyXpbKa@L^AIhY&gPJW4dtB_o?6Sg(<)D4KoRZ@sd1qzM1-P{UmVF6E z>bBGUPB*oi&^cdUSVA!x!qoZg?pzD9H; zHBiW0FB`EoO|}A~+!Vn+he~P&Y{+D>i;*0{8huP}?^+b?&b*couyvBQ2pKC97mrPH zxY}~uBXH<$o9u{4vaqAVjY<_7OJgHOY9cQUtArq11bPc+Or-_~Wrrm+lo~mZ9#muL zVdSBNq_@4XZ9G;013i>dEH9ybRuYgywu5pgY-sJ%i<)h;j7ZL) z)S*+BWSmZO_?&8R_#7Jf>{d}4VmZ~#>x95iZC-~;-qP?K8{HgE`gd&ZIEp)FcJM+V zhn-ur8YffIq}=|6;7(qVqv%qkFz5(70jiQ==<3ytkU_ZZ;?CBiiNXEwhRwp%gdUz| zbeZNSHX@Nt_h6Ib>4MH82Sp~$vh}3**VElNJdt@V`rzCr$#Qa4#Ul@ zL))63aCYysGlNfpj?F$7p*&LIb5ic&E#^$qV)_6^PAif++8G>N`FJLm^#s)-qmGWnX*XrFft$^06J<(fN%G&O9GrLDQozkW_JdT?~v$+_#vLiu}*mUVnbhP`Dt3Y{BH$$IsQH#xA z&Jvn%s*xKX;~u?jvX5QR3B(0(WHA%50Kr{ zc4v3D&7|vW>WpZq#+u+PlFeJfXBUXYGccZRO^x6fQ5v?M!rUYo2tp+k^llKOpi3PF z^<19F6mW22S)wEP!q~X({T3;N8J4Zpvbs)8J5z^kD$ZxG8&9X>qiKwL7N>QZYllqH zjJ*KDz#*KEu|%SI3R>Ljr%fk>rKU}o4V=Uz?PN#^9joJ4 zr!B9GOT60@Cj^_K>(M!q*OEh6m!6eL@|02-PETqulXC}CLLf(EgvVBcF1jRX1~R#E z9$h?HlL}?DWyGXDq)iX9)s7A8hAffE;ca@5MLCws7DKT4-E{I}ddQ|m^W`39big#7 z{d!l9WEzg z=)mzDBXKu5ro?ThyWI-uW}8X3i_l%<ZwG;jNpHtMo!S9doRr3ws`%yTq9lZ%}e zR}Bj{li;S2PZzU&QtybGGttR!ca|QAnzD$?>6N)e@P>}`*^@aiR7m7H()$Y?sR@XR z;-#EQ-maWA9!?+IW^|wrG>6tS+G}PQQj#v5X{0!&GSNPu%7NNaVzUm9IW%eMHQ%%) zjfpZdptg;t$J6`P;>bCFK+MoW$&aQA14GtoSrg-#;c=8mS`XM-2DE9eOq4p5RG!Gb zy4bCGL0eqDp;vW%MzjHt8NKIVvBGZ6qV5XT3sk+jw9VFX(6+jlt;nT2`COB_?UqkB zsn}MV7ZGKY8IG^CQ#jUc5D`pLvR(Llh87v z<*kg4R-;7;DMmF)Rh3Db(~C{bP)gjyD;ET(mjSe%DF12Y zRY|3m)7&Byi=JxVfTr@43=nNM}uDp6931gaA zpr+Z~V!|6r0j?>3=1G0}>gd|c*o<`Il6pQ2Rk4xrIJ6x{MY=5prAZWirjcCUN_}YAhv73w z)l%xOtP?rzWlp6&RndyAfq?>63s?$M770TKEr`uxiMVK?3r1gRCEM9%E~b%MZ2q#y zTS__0+-;9&@FkHXvyiw{a*W~^wz6}hD%qcd4*9U8mExGBQw&U_v=v7-6Rre&F|qt5 zPpb}qB+E!@G_N(SvpA9vwrIX<9LnpW-5Slu#tV6<@oFCE)aF=~kN_lR9V^4P0xSv4 z3Me=_nw_u`K+S9nEjS<0sc`H%fwW7+jv{JWtEh|IIk&I<-E`OF{xP-^ptm#%y z4cK%Vn-KNGF7AI)9iBYlzE0S!LDZ(i@}OB7)sQYMzM|SNM9Z;>wp0d+!B)%a>nu9< zjt)ZJoaU;9@lJ}T5}H=T=P2Q3bo6R%>i;eWrKyK)TFOBwCafgYZimto!^NH2@|2dR zax|~c;_RWid|jz2aY)CqDlcX1;)X_6MaIU^YPwV7*ql%uxkG)>@>lKX9%8U2cxTTT z+tRvXgM)+c5F63jpFQb8baUG&Z)x2p$Dr_<91vN~tX=Hz8DV1bbn5 zU0{e(pDQ^6t#*(-m~Kdy>_v>qHZv02Oggtt_00^u0W4i&8ckfRh1m>#TuZiTp;<1m z5o~9o->BpPtkH{IgLenS!Z?c-;n96T5>5xZYuJpoJ(+iu`I#`6<~dniR*N&Xe?J@~ zT3JWhABJYEY((>mjYrF5?4LE7j4#pSa;C8)|GF`#l4SdopPGp>T1Pqcw5oPEnQ=oVAXCtUiz(A56EV(ZOv?upb@6J~2V(vbS7#7efvYQn=6H9C>x6 zG0NihlAL-$wrR^`u~NXuZr`85xTDV}xsDyr4&qXUJ}hGfV?(`Tg&|y!!KeKb1J(L~88e@=QWXGZ?n=weA1=T-{Fd-4;lVb<^ zahoVzO4)*2T8PQbgh^~VArBP{P^aBjvCC9%x0cxCcnhLjIyH>GYDwYx{zV&JSlDTG z6Xq7aabOV+VVRjl)?m;V&lKu3OBveYjpGU&y6bp;$f`c;29Ne;U+3uwQ3+Yadn`p< z7^otOpJ*2}({TBuCnSp6swtsnGsdgVd}A`eU< zl+;M?D2>G&wu!r}DPYvw6%sYapGz;ftAcwam`c zn{s0q^rTnDxsbx9fkR?HzCm^hMZL=jzdso=) z&*5SSdfO-()~hbLiwp~0tYs%JqG22m_i3aS+jCjb+iP3PbD6vC(O%oykuYAA7_XUP z%wmomTT9Vc7F^Lqfyv%ZD&u0{+-KH>rA?&Ce4__(#^|zQ*A(n!0kt?RWo|lHhe3+6 zcPuNJ;cp9|%oiP!gQd4&#pkpevJ%R4n(a}`wak&lp$W`W2_aeFJUTs;5|$9gD)aH>E0Qtcu)ku z)kQt$*%n#%fx2Jz3M^?yWr`xx=>8E&AEL7N&UkwmYOXsl?&Fe^*z}b>#~yDFLeqY_ zJ+ZSpBJA2Z*475~ZkK<#DZ;>^!`iWv+S0gvBJNu{a2t&Z<#e^RvZ39ckUM8xxK0N{ z99r(YSqCFkFQZ+((7IO15-kp?bh#{wi_>~!aBNtzjP@#b{EDru9s6a`$9D+CH85~2%w$2yS&S)+M(0|#Y(PF^bKw6 z=Cy*DGZs!2Qi^-Rajf36xbljO;tWoYr}mMbvJF&rLfz|>K}%{vwCTEXq8J0w8~aYV ztmTUBrcRuK;Qo4Q1ZR2@f3jfT^_I=D4vfxO3h^qb8LSn5(JC6Aw%%tPf@sluY{Z%% zZB;gI9WV~tUK(PujJqSJ??K!A*d@ihW!so2x%KP1QIEwPUOJ!)lmu*N<)XR+NajlA z47+(u69tkvOFW^wEi#Ch2l>QVSYl;ktue`0ECq*yO>G8pGLIEwTB;U`Np|5`g8Ix( z(r9OPk_*35kQwavPH;3B&ns)Y#15Ro1f)^iqA$i*6fYb%T~|`|MK&il@i&P70Gq$P z#mSP8o6I(WDK8fV(I$ZxZD>&# z4@B!-lEt2rozT5Q>(jSPOG(*ORFa)(%=(=KJ5BAyXz_MIPx=6aC|8a1L4)3ru^Gv- z(^;$p*U}GuFqd<6SSn?KF1wILKQ0j!ZaPKIdkfZZK$pWfVj66NvOU!H3OSb)4#&7X z;1%CTkhdFbsyyE@Xg%NIX6Il<#g*=K`e2CL@tX6O>V*%%8t=}P}N31Tl* zV*_sPu>p(M?y>u=Aw}(<(YLia#YQ}Z;{Cc*)KJfX5f%-;ipXJ6q*o~IrVd-G6&4#= zSczD?&dkUC-5@S6>T5ih%Ww^lx0%CAyR_jB&$=+Kf^qhSs#=VzE!f zU8G_&D5-EzOX?Z+$YJh%6f4(#UfGu#lT)&I0Vf{VJ{TXvXjLRycD+$;yT-={poL0> zYt3!lIVrUwx7b=K;lR>sLh&5NX|*`~tW#dtc_EAn3Pi16@ z(~3lIamh0vnUQh47$M1%LvU-sW1DqysGz7bmiWj8X zl6t7qmzHp8dtzH~>lCk;;Id|s+8OM@tw-GB zo9>DW@*S<%8%yeY+4Nvv2FD#h=59N#6vnIv2PD9rL`M?qBE0heMK zlPC-dWt42i#WLJcS5e!vPrQB+wer;E)Km%8PHdO`V22fe zI{_sg>^j36N^-l+;x8%Bl4$v$0TXLIWnyK@6(+9vTWQA)SzI4ZgmGDu33u|37Y-r` zG^rVjUOT$$gSYWVa|JY9jS$a>}MO0K)igsf+McQ!0a z8K=&#yAUOS-fr9^#g)V9@iA9c6~hg0sjwCEqA6}lhh4e1{LAwW9Jnp9C+`>&IZj4e zfg>}hWWNI|1Pp`Ls49;ysUf^rq&o8l_@G>VD3uN7ooTUm1lq+Z-1U~bB!gMewvXi~FRupW=_+ovWn80hK?Z6J(V{G+vtf_38IIihRlnZ1!`?}8?`$ZQ$Bn4| zTxx7k-_yzzR~sYPE73aFxW#haIOd*wB%8io9|feXea*aF-q4Tkfo;DGl~`Kv{6b>G zRFIMd_8>%$AhlyeFGZ`RPzth?QZRMdtEB_E0jGDyOyiJ|Jo``>`Ql zpG_XXYDAaicmeBRhJa%%1q~f1VQ4uxu%VL(8(C{J0{bsmHzQiR6=5q_bS(<9RXUEH z$sxUT%s{v($Ohd|3K_(~sTvibZ`3|A&13OtwKmr#g(`3hn+tEfZqHk8dT}YW>|XV- z)~$8VC}OtWFGRd0meIn9Yuz|%Eq2^YYE(*O)U{w3MN5QagoVN2A*WzQuXoG?{f>E5 zKir63>8$o}z(<8IS=&9FkWFRazgD4yr>1zFC-ZUh5mCES}RE4dON? zf+jb+vu=S%1}96J!w{mS8CyCXrSJ$@h)?g0;$BPfVv!o%?+%3GzrC5B(~ss2%Nw2w zyB%7hMCYfNX&(=!_uJP!gZX@VxIa4~n+{H)*ksh$0Cf4-(aIfl(#FSRNSVnQEpcR` z+yON@i2G*c4x!xWgp4fZPFSoCrZF%dEO)Z*&^Zneg{>8|L)$W*8FXxR_E3sEF)DY! z$!5CD(JDQAoz{e--r2OyXvf$2$9E8q;U*qy80!@(J!bGFR|I%X#Es390XbKv z(+-Jcr<}SJ*(4-;0w$L>3#;DFk#Wa)XV9G}t!qYK#S>HsBFohsk4JIn!gF%et3EHc zPtrx0$*b|h1wK401*GF`P2rtL)Dkr0_!KIoAjf944c4vbTd>8T+-K^$*cjms|1LaZ z$!-325iN3~ytIa!EV!u|!e;w{+?cD|S}Q=Anw<*LTA+zsJI-iudA4^XBZ}4omL2mu zn-DZ06FEj`w^zBJgD6~`5wS-{AfaF@8mH-Ps1`d6b&rytw9jFA@m2uf??sQ5VKMLZs? z?}1Us9!^^pa(ARh4&b^bvx?&!-D3I1fWEw~bQ};@b@9RwLOYcl>%OCpf~i-F>56hK z4x+Jh7PT~O9o-^(g9ObrI5Gg;I4M+p;HwD|YH+-u_efciS~?ZF2<)UKQvF)0FAf*_ zCO@s{K-6KD~?&tQw2fUDx?xf zPtNM((?~4lAQWMtf`PV#3%%SMu>@hdSyWtl7#zetDYlMKMwpW*MOro03g2=H=k%ZA z_%WCc=Z2f?zKQ_?5;Z$3E6QQlGgEpDyNEpKD|N&(6F9oV>0pFC8VRuk3~5hA%a(M( z5}G4}8N7KrL!zcR==B0yKc5kIsvwM|0*g{p^j|lh)J~ctqz@er{X3CE5^#tr zl_d)$XAP@eWCW7Ed5rcL8xp*#sn2b#PD{VSFshek_8fz(VEoqY!s-!ms#J5r&@#D2 zmB=-pf+op9{U`-Zc*q)e6)o-j5&|c7Jj>oMJ%}!nPRWPtUb8>xR}36SmqJ*{1cyPs zC?&|TeojySmO_!8A5j_7%5|8nxe17#VdamzsF*MYIV3V_4n`1g4vfOjlPbq_7dTI>hTeA=XEBNL5 zxq9!Gv}i_9>lRW$IjaO6Eu{7R58ItFXqS8s<^eff>V!bgM`eofGPBWqv5WDHKqhnL zbZMT~A!Vw|L5a%zt%e!YEq_vQ;Qk8e!d1;c}3;n5vrvBm4 zX;1tkrLrTFFX0=-CR}NF)|)e0glQVHeNE$XLbE@7@dvOL8>DpuJ@4{^&xokHG`6X* z)r9YDano^3sX1}{reGRSLrN{ryKFIh{gOOcxKF4KU_b0xe2&n~l>qH9zLlvKxT#Tm z-7AH!fTi&%%I)|9SRNcHd679_F@WXZo=14GB6i}Mv7V( z6njR}Q0(C_CnR6#30a>2yjdNsQB)Trqc)OF^jPAnVY5BErxis zdmO$-@gLhqLG!HDJPEXqaipSOLcoqQzGE{E4#wVwFiBx8qQ=*~k&j-4j4SyP@-#n- zwVyu8#USE8gfx>=+U3$NG3yo(f*IT1(_>vaQ!P%5rH-xV076frK6}v;l)u=1=Y%Bv zY>ns_3tHuOP;wYYIwlY!^7fYUatNUGoE99AGGO~np`;FouK;pE+X(myhxwU+@rO%%SY_XuFIf z2gC-3q?9eliJdNmvYJ+_!U%6zdMo<_<7Ca3mxXH9oNU+RVNYuVX9~V?9u0c|v4@c7 zjJRTTC84K`;+ts% ze5*@&@exer4FJr_nu>sF_-d+vbyF=h9()_q8!!wX3^g>=;2T&z&r12L@!m*}A0`|p zd<0OXybTThh6ena{531hO8Bd->qHPnl`@U`NL>e#!oO{dhxSVRHrDs*pPfh)zxHJ! zNTnu~_jmZ`tziuKzN+%#6I;sb$5)!YvkAYVwTh-n0zM{+?}iaP3jm|YFh3NnylV&- z5w0L0VCCIRzrSSg{1T{lBLO)?ksxOL52zsEo2`h0z>i6L@rhXF<)^2;2uXSQ@o4Wn z!dV2wt-MHz@*)8!4gx>G<>e=(y^9EqgvEq&3Fi@(5Y8toB`hOcKv+RoNw|=(ny`j& z5dkeqc`qhhLRd?5ZVdX5VjJ!2;GEjgdReikRbFD_{lZz4TQH6 z-bQ#kVUjRKI70Xn!aE4>B>XAi7~x*RM+tvP_!!|n!U+ODo94y$^3ZMw9s*mdw}OC= z(xCzfKEfPA4Ph>!mQY8iC(I+9Mc}vVyk`>@5Y8h62ulc;64nvc6E+Yw5-ua~J9%Dw z#t#W1cnIt?-U>n`p^D%m_zBg7T0$M6o-mJa76ISsLs|$8goT6vVF}@U!cxLA!g9g| zgcXF9gjIw~2x|$K64nvc6Q&492!BGjk?;<}I|;WE-b*-6_%Puk1bj^xxg?kb4}o34 zTS2HKR1tgxKcSj1i!hrohrnUMJC{&Ps3X)977!W;I|xa_B;h@TTL~W`oF=?L_-Dco z2rm+TNca)q$Aq5{*fTM{_!|5^pNuy?`&Y)Dh6Z0lO{MY}4L)CmGV!fNSU{@rRMzjs zI9I>70wYrWURYDKro@`^1eD1k&O~1WA0UN+&h!O57zz`J!ZO$tvuN=7173^AubJvD zsj0Tu>!#Yx%7%)7LLeLo@#C!oRIDTggWx5z-QuYCWi&fb(@0$gf5S}Sb&|qySjWY* z9K^abjdf|dXM~#3!{>7SGXd_m;xFi}te>1>cCG_}AEpdx?;sqlPzpxDqxfjF0TN0V zMdTAY@hIjC6v!ZZDN^3R*+c$uuBfT0L`G|BYJ4aI{M7ko1uC=wtdi{po$UrD+9!zy zs>OA)NyiTg-p_*fBisAPv`?7!=}D-A^M_eC)#0n0UqAV7qkfHK7HAr#Dbp1Y3EwOf zpPy{+MLzDI1*&Z>QXh9wA1_iLbx|KJQXh0tA1qQIc2OVp1u8JzEo^9D$+R;U%ya$J zCL|izP$fV05fm-w(<+6Ww4kt*M}BLn(OF19xy?}(wh<*)qYz*V8ZBI4^;V*w%u2ts zng&*+4@MT=N)#Tf`+Rm*ZNuZX;ZfW0plx_q$`XatUR^Asb}2+4YW#NA41UCNr?%Y5 z=5jmX&MF;MJ5oR-VGl>6b6h))#Tk(Xcp)@=sl)cx27*Y6m01ZnsDgQ}so&toPyOWA>n5L;=IhgG_%@0F?MN9WD&KEn z@bY2k^3_e=>gVuPTQ{|Xt_>X18l=HZ-ilm)jq~i!mG^JdO`PBNW3upsF*rh?#XMW5 zynm}saw_>OC5&HU46pu;@<#DNa<3n&7jG+ivbSITj$^8tBy46Yu8^D@pN+nZN@Q)C zri^l8LZhpYOrkbTqXEtfln=F4KlxlueFil}Kk2&3&-oV4Oh;KS2>4J4)A&J0W*Zn{ zZNq%!Ga5?6gFA}AXwW72T;1e%XJPa~Fw(SUTjt4c*G;}qWVstn%tRBD!Mz%TO|@BB zjT}_76+9*Rd`j2AQJ@4XC12z7vC!FA$@&e#O#CV=Hd@4wOXJ}!4f(*bP`U(O;zgimJq7GkurnI(wcz%ZPqmb>!{<(OPem? ze`^AkzSWf@>2aw1W!D6{$NO#u{3d2mzDRGOohWS=mFqWk~IOV z<}B*}NrSj#-Tn>xFWbL%?cjz>QtMI+aKJmGW{o=Z$4f-DK5)~WCI82Zx6(SwRO5fV zIDIH^t%0Q8^2dv{W|}ILv|Bx1K_b4%!1YFb=x4V#sz?1dG`Ggi473OGx&4Je95*8a zJha}wCa|gL(hZ|H8k_vUA1x&p{=Sr~3FN7%ab*K!IX^FW|J2Gh`a7G#pGu23>tTAezi{9+R;KeIA>9zM`TB)&h!KBT6L< z6`OIQ<0xd$auP^BkU}Z)OD@*LV@0Bev68V06CMID7%KOF7j!YR68aEs07xE1Eh}&^ zJz)=YQWnrBMK(8Me6?Dbb6(451oBNdcE{rf(0YdY#GviiI-bcwyQ^xwp6D=HV^(f# zlp*^ij*~U@Q!iCu_LzJJY>hS8z`^)W84_C%uc8<^yC_vIvDr#XmJm4g`W8dAmK2AS z@OU~Psec2(#16%-3J%`bFOZF!D$^%BJo99BlZ~8ts=B(kOLI<@$KJ)5{_Ai(?r=SB zaTR|Zu16iNM=h@6ufz4A!}XxWRs40h9(K4Mwz!JFm|y)1xvFYJrj${`CHky|voHrw z-d{iYXdNVUNKw^Tw#>!W5R7vTY#VdG5^ERCXsEoJn#Ss?3ak_Ak5tre!1V1CgWoQf z_62sawCmXIADI*v*KM0q<%Jk6%XHvHhFTdLfXtM4x*lZOOu?2#(Z^)gO%I}OQij?y zGdI+jFbg}(Yv>=n8agLv0qAR~d_Fgj5$TcLj=dX7FykdcFk}aD(o_*v5Vvf8OtWLjkBsyV6Oir@2)?x z9K~3_xIskCz2FhU$o~rs@YKM_4RyNx$zDSRP=O<{QW`TP-(V)G$>HO zAdEn*43jX?M2&GYYWG4J@PI#RD%_!zIp?RIWU?zj92*({&nS& zk0>h@+t7cVfa~3`Ca}R;pUEqz7_%WtBN1ceiTLl5vMXBUwt-q@sAX?dM>4kLC5cEJ zy5;iU%ZUdd`7$b4x%AY^&&90aK=_ZffbdXtQ?UtIX`u2ZQiXOYl8oYTG*eFcMSnXm zXf1G*!olS^&V#FZ{)PCZpTt3klQ$b`a%!eQrpfUZv^^A?Qpr&DUoaeb<*{wW29D)8 zt_)#?D0NqoRtU0_H_w<>bSqm)GT&r}@ZX z^mu{sO-7%w%@&Jl>S&;l1miPaSaCtgVcWb0|+Le0CFT7*wo@yG`3 z;ME_wl7eCVksuU5u;ky#1Bu2)iZ4fk`hU!Xjg51a5TZ(fzJq5en;2Ltup;Pi1m=@|q1y&0s11FjXD zzA>QAG1UCh#BsL9{R};s(1I|g@3SIcyk!^Ymya4E-0gt!d~ zW5K@e48De{Dx~f1a*@nmRq3y)s@vAkAYG|3W~ggeTUzYHRam?c!<9&80OKK64k&Ai zh=UM%_`QbTpJ+r($uof>=RWo@Ud=%%kEISEP^=KN5NPGk+So=l49P`IjDol^flKL} zhO(3fexKmrPA*uX3v>xC6&wQ5)PR@K)&=&~ce<|Db6lY4>u~N`=su5Bkq>mWT zu@)GrzIaDD@Wm5>0A8+z5*R0-O_#2}^s2QIpFeeITHCa~X>Ajf${?=jLq)8xu-Rjt-G}FPajB}PC@%LH^2X#n|F4Yp z^D)}j#t&vjAwv`&N75pfy89ceJGdsGEIy9EQHV~XBj{c6aNG=TN_}x}_vUxqV|?cM z^B zkd(SKjSluBcvbsuD`7A<(HtPP{9nMur(JQ2ZVZ=}`A!m^{uscrT;If{>+hDUz-G<% z{{z~iF9;WRIZ=C`ost2a1ia~chiQg`0 z1jmH)bKYP4R_md%eyESCf3LQ}@#2?l$o(%2i-Az772O6cVQPC*UwJ=tfcbA3LcszOff`5?b@HjHd|-xsMnOPaNgqR+cz=Tb!m0-T>=cKQYQBHM_?5@a-Ig zVCQWubf4GbkH1W7Sk;4HYjcyAdfRw@6-X`b-xpUCbfl?!&H7~+9pIgEmD@<2rGwlj-woTpTZ8| z_vK5Wd{~D6Yp8nBLlQk4Ex>vlfng2WI|JHVkpm0?1z=pE#sIoLptlD%XaF|jfG%{f N9o)_wbscR&005)FFoOU9 literal 0 HcmV?d00001 diff --git a/Lib/VistaControls.pdb b/Lib/VistaControls.pdb new file mode 100644 index 0000000000000000000000000000000000000000..3fb6e9f536b9812d966ba4ab23f3b6c654433455 GIT binary patch literal 243200 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�`^Z8`Fs|~N(@U97Xa+Xhi3?cSK=jq9KV~g-~j-8BmgW=T}UTp$i6L>mr zE}`evOUBMJ#*}Na>3$MEg!?J*O8BSYRq&~B#*-=bhGa`QSG$Z|d}ZuPE8}Dy85ep# zyBQgs59iNv?1$S%NG{&7$jaD-_a3M(%4K}X^XM#7y})G*%X8weFHJbh8R4u~#-M?Z zhw~hicu0N@p{JMg{y)aZQqJ@rM$D?B`$3`1UPedfz$Ljkw2XWALvpb{JM8c0IaV0& z^1LU+hvzU^DJ!0jg!Jd0c(on`&NApt7f@;X+YZ>p-=iR5;|G^DfZoC10 zKlf69vhbzw2jFS=*Wm2eOKpU&fqxy&m?`xQ_|L&N!M_fF2>uK3Z^9X4q#lMd7D)X9 zyp$c8QkLamG&?%1p4`AYe&vj9rL4;-u6!FV`Su-nDLdTc-L(qJ$Ls!1 z{B&;3J0w;H@~CYqB-bxncw6C@a{sGvsq4R1lKN^V{5QD2AO0kq@kMGU?%2xIGa?WF z9XK{DyjzD2OYwekmUfWhU0LEYg!Bz0eUfKm;gUyl!vAu{wdJ_WC2k&HX{$O{&7bue zw^ia4=9iRNNIzv2+QcuzuSRzVT-xNbaOQa7-2FQEVeW5*ml7|jFY+GCMU=@!VeYsT zJ{qcq77jytR2E7jr z1Gom712sbuk;kBCp~KK=Xy82dbV3c#I%qSr6WR~G2AzTiQqf02v!EtOHp4y!?S&3P zC!vb@$Ut>a6SNL`4B7=9gpNZM3sR{{s18~TZGg5wd!d8SNvL8W;Xrjz6SNL`4B7=9 zgpNZMG`LD=3e*U#hBiS@LoYzbA$i%e5}E`phE_wHp`FkH=qU6)Gz5cH1I>b3ATeOu zpuNyR=r~k*CwUG{f*PRJ&?aaH^el83IstKfW{NWoa_>{s;B?uibzZ0?E9))!Icq0y za^Hp7(DN2Q722fejW@lk_%Bziw+_7u+^{F;$$O$xa(azt(UUqXdS3~8&|rY zoxj!cd`q^T(gH_EGNwCG+*LPwk?67oD$^Zya=N^_oBU0AEU`_#_C#MFu6AYN_b_Wu ze@xthm#sa8wLg4MKqBk@=d$PbZ2NWN{lN9NldKZfTk5`)8*l5nPhze*Fb9<W~&LdzBbxe82R#*jkl}5*#C56Tn zr}0(rMmS!SM&G>Bn>_V)vCHt{^!*iha&Bd=9Ie5g56-YMP1hyL!tY;$bG_q8y3PaV z9YUmUF#A>#Y@L8eKDNmpE^KlbZ*7E2Te%7@9%eWs2Uj-ip@5@SX zU&fw&QqfeYdv7Y=4jH}n{^3pxy)fcjJT)lfaO6zYZ^ zhIT-5l|tVC9}X^s`wW;jlz+E2x&N1XByG?A&!zuQ>bs>cn3gInJ?q}^J{spC;7Z)( z5_4MIM|+xNJ}cKJl!af$|Kl2Tyc`+&%uue^ z!DWsj^D3V+Nf;WRy041YK_S=`^U@CSTW@87WcGIo~UziIVjxZ%D<=7`?&#ve7_ zYWx=C+pVnD8o%G_ca`yXYc!mfj7$0ZJ3VeIKaQJUGXK^&H!k(}ty-Ar)>kiQvTyIk z=7x^8*5&K*@;Tut{)@iroNu3SRrJp10=7N1uF8xHpU&-Ay)e^xZ|ibq#c^Mfe^<0} z5Ydo43taxUT5NUB@!|TJf#^y9A}5p;_c5MtC!}Dwu2L3$hXbN(4&281R^Qr{ZsWb7 zhD?TWPRKXb#Z!AB(RUr0^GQI3@$byso6-F@l7m7K+ah|bmdE46NO!Lgnj#W{-PZGJ+gd<_N-oID8eJuE2Y5j-nOU*XByvFRoZU*Y& z{`l3(-?IBd)_)IYKq3CEpHV*idgH^D&$WK)0R|i*S7ml(w8=kV_Hn+sC)t1NUeTs4 zQz!1VIHVdo&Urt+*E=b{YDmK>q0QqPOx@*w4R&=F^b_kp zud)8C?*dKd^VUy}MOebzZvEsVi}e0S)=&Dm@NbM&_y4GK;dfhke9*b@ua41pJ!9or zd@lTt$V5rsM2xI(KNtR|*XsRt#(?5pd_Mdk@=n~}oTJ>&hmXtuIR0`CRTh4)r2qdB zgJ;n#KL33iP9p36=WFYe?6}yu-pmOkUB&j==LB;?V!}Q&r1ZL)bpD;Evlnv$$tQ`c z)bm-8=1KC|B~0PMIA;i)VTa^lmjCnxGB=QCO7h%=9+h7YPvcg?Qy9G@eKK#5i)e>u zDV1=Dr&xO426j0s-x@1LvXqsGc&<<`lV&dI-eUS)cZj;4$|*#(>|;{l}%9p`G)_}je5V^+QVHIzb8Mg?hjgfN;l|z z6<~t*{7B{R86SG9-mf+N;f6Qb^d2>wL+FbBz5&YLw(zQ~z21L|x~ENktflvLD~HME z|ESF~eq!l<(8isw&r|)k$}ODv%HK2nw3Xv3E5|n*)nDq7uiG8wzg#-r(f>D5ua8x! zY-&!&eXtWI*SJ!%i@qD-X_B#(Tx3h`x|uZnqo-+B>&g~O z)Q1~S>Aqdb7jN$reM-|`lFK`R^?r>kr=9CQE0I-f0IK)$w{icdGK?HV^v#Ouc_{hVma-z56$=%lqE&_G;?=x_%6n ztvxQW`uDcg?|qY1uf*EpOH9rM|6LnLyl4KeVwA-FadUsj+QTY~=YUG{CqW|jkk!NI zuh;wCizmB_iGIIMbrD%San}(dV{PzZzqo={3~o;*tb^iXJ4!QA!~;( znLVhQZT@#Cf79lHZ%xws*Dd}JnE&IZ_qN%wN36eogYmH7?zZ+>X6by_^k1jJiT_j9 zUf(6(<$i{h&vrTixqr#haTk?D?nhgDertl=TYFw&<@HL1x<6z2a)`1Nz3mp?Gp+xu z@2_$tmVbwA-1$nCx=*$6A04LmuiT{kT`PxMM(X|BX1}Y#<37VUS9wC;P@JUvKrQ zuhoP1tiM>rU_#`cvhvPcr}t^g|9#eep0fH;HCp{goBspmKiBH}P~(qSc|Ks_J!AD` z?)4TQFK4R{&(*8@gBGvdR&Rc`{-gPFuIoQf)TrJX<1>s8H~v$r7l({jnY}$^ z8La7AV)o~XfqK91qsmLnzW=Dd-akj(mikTd0+;_nldXQottEnW{;d!KFPSz`U?8`i#GwD4cA(ePfh{H^`8-mfwKhULrH z%ha9ygrOYYsxwg|9UHzR;y=+CaK)M@yf?q zxs+U^_dm7rVh^{rr==!m`99aiW9tnsZRIxH^!<$12X0rr=gO4-Z2d>`;X$^Up@i=7T()X-A46t@`$i@+`Sh-bMfBlB>CDyJcoBg_GiH5iR zR^_{`pLt`T-j~?;V}{k2A5BpAv6m=+Yq9b*Hz;28=8m@mwcm8J#*Wxk5`l$zN)crxLANwplLoK~?t^at_#%DjZ z^gV9%Zm8w^OQSWM?UpZ7t=y*Cc=0{6w=Y@!pKtxuQJ?@7qUtm8Zx0+2=m4?hhLOQHkDPVeRTwYwt^} zUf*T?!vkL5FIV}W4p;u7@qO05CR#Z@V)2@6<@Sb^+e?<-0ak9$Sv+ek{HH9Qk61bK zJ^Nr6p0n~?WBzZM|86VSxmK=YZC>%jwW{}&$qlvg?K@4~4_UdsY32W>*}XTcT$fmS z_VrcypO}4IYvuf$mGh!X^`B_@m$vdMv+|mJmHH30^18<4r&>8ZXm;lTOJ~OF|2}h{ zVeU(;9AC2Z&o{g$mst2#pZq)5FIoM4)c6|HA8qCNpr_Bu`xPs%SFOB;n_XUI?Tq)7 zLOHx*`N_L!;r?wamqjD>zIA}|GP8e&EPl1-UiC@!|CZ&`GnP-UTmB5SaNhj9%DrXn z^!rwB`>Y-McO>4tNaY@~{J3ke-p@9>vZzt-4_P@>*?rXzb^qyHfS zV*ZP)TqavO9=CECZF+-jz2-%W?@&wkQ(7<|1Q&e$mG|U{F5gC zeJih5tsEzRRKuwqW#OB9iMhXR<@Ab`Q>)3Xxk%+F8c$!W_fJ~+%`o}rtlY{R&+1La z>dV}*s`rSMPhTsa?bbdfn%<)(|H|zuUu*nZrFuW#a2_}JN31+Xe@^`~=Kj3N@3VaG zYw>x?>ibVD-NR?9-djVJ4;`j_k=^%QsQ0^#KX3ijp#|#xp54D`{%_7#_g5_ccH8|} z%df{Rzp6}syUDFLx%+Qa{rP5xrk2e~-Bw;+&wGu$>-Iq1!1`>qGMh>@4ZJEm%r7ac zNd0`j5h?r!_WQ-ER70Km*A1+!++Q`M&u}`NKK)XC%7?ROrq96CglV6>6#YJRgHi)G z|9VNb1pCnsn^JyJs{EegPvb=3wBD?NyE8SRHn(9+g8Ib8>9=NmtB-#5> zQdL>ervj(afqh0-r|N1-Qv?#8h*qZhRF;*Ll;EG`J%P$gD=KfQYanW={R4*}RY~_+ zTJk{Oim%>AVoI}DRgCU4t)?MWn#!gI*6mM?$`Wc-c+&~}R3$k{_(W&c{?stkE5Di= zSX$DQx~>m!RnMm`CmND7TopATCn`%nGWDXmVc|R4B?AZZk%zjv3cRy*!%FK?rC&{z zmY2+`>`%_f_0^!ComH{1V)JG!2+^>s8eRhtXo{{X)da1B$o}xI?@st0Xg_oWItEpg z=sSd!aLPyCAD8#0<(=o$W6-k@?>nWALZ!q&-UFKe$vbF^p$*U`Xbbc-^a6AcIu50< z2g9HmXcp82t%Ej0TcMrM9_Sc!5_%u1C{3j*p$2Fv)B-&WJqGQ7c0mWA!_W!nG&F+x zIRUDJnxWOuCTJVv!F!_ZOaG&BOcJqoIW7DLU@251|!7kU9Y4xNJf z)5lapQ=mqu4cZ88hIT^xp_ic}&`IchsDl1~2viA8g6g3LXerbJJq$et?SSO`#%G}u z&}pdjGU5kKfa;(*&|+vcvs&}L{WvYzE$VrUbz z1$r9V3%vln1|5e^L9)rbKQs)ghH9WGP!rS!t%Ei~o1v}HPG}FbA9@)&2E7keFn${X zRYH@X252eN0(C=K=wWCFvDn8?S%F~`=KMyG3X@pJ~V{+K_xT>ngrED4Nwcz4LuA!2JL{Jg$_W6 zp%YMPCGmttKog+F&}wJ{v;G6f^;v11*M{ zq1Dg^XbZFrdK!8G8dgnQp()TTs0nI=)0+6nE4jzA}&ic!Q3s)WWslb{A@Dbx*Rp@*TzpdHXI=vn9hbQn4TorX$Blc&%K zXw|BY_GxRoyDznK14@b3Cv1bSpBbQTdS<}#S~0nL#(=nUlHT%eK0Xx7j@7da#@`sp zo(QtKq1I*9ErdJ%#z}G}XFlAD@RIlRaPVwHx--41OZFP-nFoSfp%^tcPRPfnu0-4m z9F7M0j>2lruL053ktgAAnOFCUw<_|G$^a-(C zeyWV=l5W@C8FcfwNxCXyx;N%^M^JW(JG(tylwz+dDr36XEXS2ON<~U=&#bF5ri%@8 z-BQZ65H}xd$5k2AjqI3w*QyY=r>@GFE_Te@(1{#wzGNLw{Y(d&?mCMr9IvO2`k4+k z#C7DGQJTJ{Y{TH>3YX=c*%O|Z+f&x*K1_HS(rZk=%S}j{Z(%w zZPE2)u3DJBLOu02J=&q$%Ly`X4gGhaytSRU)v?Uf5+PHg&F(atHfX9sdB1+ z6ZOt9hYS+TdF{7$Xb5q?u70LNopYTHrZcCbE2rc*>SsFCJJ*r*1HqZwv9>D{ia8%Q z^)nsnp6fJT8tKf*r0*rK97p|3C#rw4_8>UZc}M!5s6ME>$y5IvW7J@kmtyjfsbi?0 z=}`AP&$k4ft}wEky(+yjb9bDod>mEI^r?fcUok{5d+1vV^ZF`h`q7wO);`qPniim@aM5vK9vI)5CcBtYK)8dl)LKVcbj`bz3)Tn8YKpS9dpt%I$jUZ+f&-w^@$`y`JM- zbvJq1sONRvaKV|~-rC*D$1T3Zr*2oR?r7JS-yKV3OqaGA&rdl&sK@+tkj+A278`GZC>WqgT=1t*R-cL zb2I?in2VG88wPFO)9|$E`Js3oCv`XZbiNK$lZL_cLCwr|9IIKvBJm@e(y zvEh+BtfUUZ^eImGATV2Y=HewO*bZg1eMwvYz^z9_@LY zwP&KoDYKNPo~9ALM}9lA^tM*&_|)$1&emmXyE)s!^GM}GIOE3?PF!x|63T6ymfQFn zBb$2|%yC-RJAD18qdi}4>aQ3wH;XYYPr&%u{J*AlGG*cY_kYIuzn5_xbFSib1$EQ9 zn~v=3js#hCGg<7Ahb#5AETQg{Y5lCJ#Ws5WwFKD}e6EQvspq~kq+>?)3*pz)5*P0$ zB>WMfPS5VTqqVC$J+E_GrkjyF?s3~0VRkG{dvM)dk?uk{StUVNWh`CTChyOyv1N`M z`lc>=s*d*DHys^Y6b<(ti!3h$wzb213`XXJ7v|ntS#fi++10y zzv``s`sqpZ1taNmSQExT=G1a}>Ti1V(>~^r=hP!pcdu48?Xd1H0{5~~SqmfTv#Y6O zf<32Wd0GnD(OpmdO^>?iWw6Ecd}w55eD9jtk_t+(!o)p*o%d98A$AI&Ai z{*4T4T4&c+In!rc;rVqi=u00wZ*_WkYxnvHQ~gYbHtaf6Sd&uBo;vDhI;6n!X=l(8 zoLqwnUq@Y~!^>PcRnGKjkFGxg`=^*^*H<~yr)_$j+#K`;f8p|UTV~-Z4ur~d=ECZV z^IBys4BD!PQNh}k<@E=Kp|TbRZP&*x*${@Vq36(}JXe3yi{=q0gWiJ7a>nEgQgW)e zbn`r=4TxMGs%!{jd=2f{>-jO(m_{2svBaa*A78s}Qd+~vm*c9Oihn>^*~ z_4+`NU)0{2L&#&OpXo&9S%Yo8KBZmIw6?W$ge|S@gz0fpf76R>^5GBAQ-9SPAKB!3 zZ0p(Z)Zg@?xzq8WCkLU?14I$^c&fkYMRr*B5;?cdTnJzcne!He9|$8r~al#J#szSt5gurB0cptJ?fO}&B6X%pR#<366onuf78S6 zy56%Npr`((hrRVSD9??qXO2w;Zcn#GfKeM%8Pko%PFsU+ZvIkm8lcBlWlR_Q>+v0k z{kvYqGm_MTv+#7Rr~amg-F3aJ>&;jv$I<0ZqjNm3Y%gv|uopL|y%;}%JaJjE z4aKtRrr}N?54=r_ZMY%ymv^={cemu~g}R$O>2~=Sf_xWtzffM?O`i0+4H!ea)bM9z zIHiV~m#=&3XF8j(;S!5O zO_UF#2)9^P-89@9?5vl+jJq!h^<_?GMPx_RUFB=BuP%Qo$V*uk%B#D{lOHa>lycPY z7li8K?Lys6o;-1Rc~*W&7_Sw|tGmgQFD^d@yRG3jcC3!;VsJNk?5E3b3GNdALV0yJ zdF-awUD-pb;ZN&e%YqCA2up2(`k4+k({-9DEKNgC9rZJv$X>o2bY%QByK8Q`laY2C z>vwr9^*6mqd8{eeb&cQbuG`nPF$>G80~| zHw2r0i5$4dN)VsA$mN5&oBXoEI{UGNI{PuJvo|l#%N_~wF5Hu&ZW`{*)LD|}6UfYRD&gGf@xi&liil&Z@uZQAa$VCSVtH zdh@!_T)1}i>W;9B%ym`9bkq5HqO57;baOMc`D-(s>u0i%6f(}kP+1FuI^%OqS>Nax zhRz#35D!CTEez_Ar(s(hhOT+fO?NMsW|7M`l`&m1)O819Llysa)?e<;OlQzojH@!H zOJ#7~jXB-Mbk{xgJWT3XS*)uvri<u(VlV(^by&Nq1~>MkTbRQQDTq*U*=H-Rck4sL+um^nVn>qo)Zg@IyRLVl5YMY}t}NBx^rF63#v-Fa8w_|o^wi(=;ElM{*GjE#mocwnNTV%Ht&r8p@bp>Q1x~rVQvZNaBjaB$ zk8bKrtQSA;S3lK}F|cDDEz+siV##5tzv)GD18I}P6Vfx>`k_h0*yAN_V|Zvgv%6-u z-^=sn{93E}h45=9MQK?VbQZ9=CEb-#6OoIP`l-%j(&9MBf{wJco@$hWp@)uCbLmwX)5S)3 zdN)%Difs$-Q5{h~(}~7svQJaXLh-_Z+x=&Y)jNuG{@;wcax|6xcr_VFKvEyfxNn#d^Bg~ynGA4FrDgd^3)X%KO5vF{6cwk zH~FZ391rr+s^($MBpjVztGmflKjM7+NJ2h-#PV@GVY}>U!Yh_lHw|}u6t1kj6w9ic z$wqB&e}b&KnJo3n<4{fdio;bmlTGJk#by@Es+-9!%gdffkX1L6U7jzK2HMm|WF5C? zPrtgW{EgHRk26hy{;qI-rEWpCb{TQ@{!r@Wm7)G6&&So@^oYOfZ6*&@Z&pWlV<)50 zFa*t&zxtaVX>q+2>Ao_wyJS7}H$7^&+y2!-FFfO7BsHhCJ=)8nex?)k!>{GAWb{?2 zqkg7C&Gq=rBCoGx{H0y6=7}^kuh;6Ydds76h2-xwnvaR|XZ2UTW&(7)*Mgq3x8!-Z z`kP*qwmIa#;>~5g+S*2jZzlCs*@pIZj+_1D~{wLaSVHL3-@QK zjOk(rU02qJugQ%yl66(abg_$G-ldeoHD_2?P(Ra&>U~?#DXjPEX0q7DxQ)~#w2>OM zL*pkzb)t@ZtD#Q#p0T9;X|5;x-rbfyZF;`>#Osi{hd7O&80A+r@vq?-;0Ntb%V9MfbtqX+{Y{U4CC=}Q!x$#tmZVKw zYbA>{BHu19DjRhR;nv7{qRT##f>SnT0AKpmaEsle_nJjtl z;qFb4RX3B3>gWi{xHw#OGuddoD`T&Vb!^Zjtxqhh*CF*YooKv!BCpfl)!n(4*N9|G zUQSQ_RWD5%ygtad>f+E=XD8~Zzv+=4Z>KW8(l|=%&(M<&JrFeU&qP#uuK>EkR%UpP3yU zx*aT+r|M@qj5A#4{Tyab9rZIE#v2~bX6DYvb=s{MFRfZ*7gPRVr!JoDrfr3^ZG9b{UZDXeU&r)=DdDAdqH}ne{OnRF}})~ zJ`wZ$dp777zhd>f zUA8gITF*Dy>DBM)%C}vWFj_Z=MN4;Wi1Tax2K_zccnD_i@IcU{wmryBQ{BXuAQlj>C(1cSI#O? z{4?vSjOo&@ec$vH-kD0owbzYiFAwH37YCKMaA@luj+}Xt7>6^2qw*FG?ceiq0`FF7 ze8l3%wrV!}_tf&Z4NzGN0~_FB>efZ!oRMx`44tRecXRc^GW_NikD2iM@sK4pa z{#{SbWYK&`)>D7ei`sqZpgi6ktQ)Lo^}Ugq<@ZE;6;;mkqjoRvW;yQJ^i|IEqjrBP zhc9^++0H1b0ON{ff3-c^0vZ*;Mg6e=2ACw0+la z9PHR<*H<~ykJ|ssL0|B_lVJ@qJQZo|&;{RonX9aY5w-tWLp%;29EQqT7*YF|b8fW0 zg}nof9kNAXPI^6W{N?JL%9w7{{wED}{4?vSjOo(;J^!8#x|06eJL)ql(oCinq?=ni z^pJym+Evc&eotW_!!-38G6drRV=2^GV<6eW4g3+*X@6q zW1m@9WlWd$?PHS-L3bg~Z9Cdmw62`lmd=kY)z5Tj+pZ&L{9G*0#}jna&vb~r$5GDy zxj3v{$kVyG?2F)mERPG<(stdBsf_93?s&t7i!ODl+w`J5Q9sj(+VRGqv#@p5T555| zj;bhnUs7dMx0!bAWhv(eU7T{=s2UXQH&8j#kJ|ET&JoJ%7g(VX15dBYnLcgV(<^5Y zUF`cU!yy~_JW@Z?q5ZnOZRE@$*NI}B&)eW{dbC-eo4yd-Z%^Obx>8;<%gL*|$8ZczMQwAd>+u9}&Du;Rwyd5XDr35|O|Lt07E-`Gi>}I; zF748FHwIl9NU*=&Y%18)=6qUJMs+jPAtq}vZ6lXPbys zvL_N`)y-tFr=A~jK9j6b=>FBh{7^sB!H#-dN-68UMQau6rm{Da-(DxT1zEB6XWyUF z*VjbIcaNLwLFsGji%I)aaysO{>l_X`G7e1MpOVv|9K4;^^>G}1v0vZJ&DT-&x3op= z?O0CF&mVEkyspZaZd68+UsojL;T4(>wdrVlIgm76q4|(_rjz;yjM{W_zD>*X5!DNC zwddNjx|@7t14fXZD|9_X-h$7`tGmj}+|O;s#vm_ct1||-ZR&3Fw11bEwSEhKdHl|# zx|=*Uz~vh+5_#;eMn4xHbvOB_UpO7)B|cJ*)o7E=IX(3^J?f~JzwB|;cqQwpzv)pw zJ$?s+Uao)0;i$XGQ#V~+)_Jr%*nSlCKk9Ds)JvD&7UZQa7s{)<$x|O)zM|anOT}~X zQFoK44!XS5!9EG=r|KT$YiiQ@c7H0!7p^s{o5?QA%Ssr0UA@QqS zUqQW7cMZEX2S9g<->h-Q5 z-?N^oyUA0py}n8P)$}IUH}yBYsDAGcdQu;f_0-?=sNbHRF%(95ejJml7wT^E(YQy- zZb{uVqM}vRRtG$tYcH1laoQBwb0DY1wanNU@>ZdyLUbM$e_G}CZWm)*_ zRozWK%Ii7gwaOQsccbnmAB`{f1bMLu4IEfk_`FX2Oox2-bX1bhiqTU?{Y-~EcAbZF zI_z>|5Y-l)>!*IE6ZLOmkA{SL-}AgB^)sEQe-m4zaqFq0ex`#R@jh7WQ65Kk(3wfi zm5<7pZq&!sV}tT|$+{|Iy4V+=TkH+GlK1(YdjYp-j;nH}pU&&oV9ye=NBv9(d~g59 z3vhDV_i|;S{-#I!ay>cgOY=jpdg`ga>cwYK9SC~bFQ%J2?rUV7l_s3SQ-9N=tvTKV z)|C}+VM~&p`kP*4-?jz4Jl?z&E6AWcp8A_!WZwp|mK@_1>#4u#(e^x^*`Sxlvtt@_ z=~I8xi|pLVBD`Wf^*24*pyM^M_N?_p^TkWT>x%lDUNp{>v#aCu73-r z{Y@`whYgo{eVNhTJfp3xb#+&3SJWod-}It(xIgGgeM#0+f77EKdRf#Ac0Bpm{WRuc z_vG?Z{Y;1U=Q>-1j$rlFQ9sj(+MS#ertMC2@(J^Lss5%HwYzme&#`*yslVyb?tBb( zJm~d2=Sba6KI-!thD!XV|Nrfsd7Ko**~c41Bp#@EfLB}*Ic3?|bB2KI%+72;P?jS` z%wSk{SJ<%Zk{vFUL_DHMOo9dyG-$jf9tjEtVj>blB8eI`qCw3;PEAxiUX2=~zTc<2 zYI?SItK82g%^&akq2RaO)4zJ2r|zS>x|)Uf3nwp-XYC}q4qLz}8FF8z!&`xjKY!Ii zS|;F>OhG-{bhK~Bmyve|>KDo_+i*XhfDhzke=TimZGVxQ+^W_gbFVL4iyUxDhI*#c zpx1yv#$2}&Tvz_7WBMM*ietoo$N5cgP5CVg{WARW1{r>XYk}WJ>W~gcIpg6$gxw5B za9#PQ?&$g|bL~O?7&6_wm{t8>?sPM1j}SYWT?JR!KQ{8NXt|4qJsvD49ia9#PQ?&$oK z{5YbIH3f%)^5?m&S}dI<$-QIaH;O+#}Fw`3kxZ4c_6% z>kY02d0$HX)MZ7&(a)RIwnUm+&I`lQPw6frpR|9;|9;+h-VY80wEy6Gpudc|Qjv)x z6}XQ+(#POT{|>I6YBJMxb50cg!Kl9Iwq5|jd$;54Trr|BQ;(~<&UR5$(T3eOI zmN>0b_8c$#?UUXV{~I%Mz7qptV|R(o#`N~4rn8!xmU!hA>9Vqv6dasef2p_A_vLxB zIEwy~3akG7dt}A_bEXU%M=eaY)3%pYRmNk9xQfxo+01%#mCfnO=8Bi@9iT3G9n&p* zcdfW)E)Up4o5{-Bs?u~Sh$O=9cqTj9l=NQmiC7P^&ZD@lZ1CC^H_ZGjbq)SW7%W7rA0GvBMr+cfE{^j_U)AiTe;zJu(?7z4* zzNv-vL0)ZDZL*}MLgkj*&LmIPJd4|a5wWw}v&F-(Q{4HTMK4}alSsvqHNM7=i{ofd z?wgB~df~@$ z%FHU&w$v+4#45@%>9jKQF=_T0Z-t6e3lWkyjkl(mevXwZu4`_Px2AJmMP_gG-UTgy@MXM?pK z7uYEF&(COTT@*I<37V*QRYmv8UyZj#^~-YKSM2U^)?xk1aBWSjG*MNR3<&`PMY~tMUs`si@ zddk?qw^3c9ta`?nAb1zPn8)8i=aTc1F-8M5@`NIAZd;Y!D=H0lsq(SbTK4sAl)C!X zrWUWFES4!LFYRXgG{gVamxQPf;|PgUk-g2G%M12?8SzU?qrXMASC*7qqF(N_BnkDic+ebUI1jn2Y)bGnxDLu zOii+zbC(1kCH2kt-=mbSV28Dj4)ZN2oBrH9R$f_>sHo`9xbbtH%1E_!TpHTaZKXUl zQ3WKODoNIsC%QA9`jr38Pl@5dB%-9_Dr-7U&Z%8Ryi7V7`)}rduUqSPbo0MDYdoTv z|E;x`gS|HYn`JK#1vaCd|2^3qo56zea2ygZt4JrRWIIpax$AOue$F`y-%h`6Vs3<8fsqE(bY^wL98Wn6;^?JEIAJwcPo~W&=NK~r9qdOk8 z-U7)eobJ!wwdR>>Co28 z#GP(Bk;$YgN=mymhMVX;rur30Ke4sc+E0ruHL?ok@Nyg9E2%20^b8Wq~#e+d^x9)(P>##MY1FlH1z0jr{m}IWqu5PC2l3wGB0uKU`s{@{;kaN zbfT6ICU&#`Jk5KZJQH^rV=l4T=c~3kuGj>6i?3KsS*D^Qf0NN2x2pU+V>~v*&I)V2 z>QEm2j?|0SrW4FTQ^<*P+bZ+#Q;EM`7!q4`);#OnPX|xcRZm@7lZw@p$GSIPi~Ha3 z7Q1>bwaZ%P3fe5DH@pKuVW}xem1dGjQGj#Dahx|-wI4rGaXic#N0pvaGd0t_suX2E zRjzKfxNS`9G{0D7Esx{b@caU964$o`GmMf{vZ}JGlnfjBK=B)r2jU8DLk1W4E1X=n zaV!mIFNV%e>faM7 zl)Kx(-4CZHX)3#YQPKY%nB)KQKlQH8g7ln)hodaqBDnPy?gZMpBE>Om&pWX<7H)`~ z;7qQOz-fDG>gM|s@8`qmbTPT*aD#oH@{NhmiQMfDxqILSS>&FAn_}Sx5^!5shQST6 z$R**1TDWGoA&OJCYy4jlhgEP=4#k<=gK)YNGP&0sawm{bHl3%#jSb9ovUdgC3=6j# zPU@LBGb|s%jSHxJ+R0Ce-&j2B`$sxmHTN|x=o`)^cb$W~15Tb%h%@CLbZ}3@Y5)2t zIwYLWbAjbHzB4&l@20Qmqj(g#*SKJl`@kXBi$=*N*AGtH(MN6X7>C>thg`8kZj3{& z29E!}Gs7~`Ave__caB4@9*)OSUD{jZkXz=ElkY3=YE_py?{dgJGBMm z8t&%vQH)D@`4gP2%XbbMY}_&jcNv_mOssOqt#xoW!u7X=b2FSRZy$$~XAt7d_`OO7>1#Tk z;!o(1mC2x4ULo*1+k$*yL_@$bH`-_hX0LBM!Np4!PY9xmO)>?>Xdp zGkCG3OFuYUx}4~c8{v?PJLJ+1xhZhAw)IPJ{P&%ie^*0%#=`v_uH3>M%fy#t^PQ=4 zq=Tz=aMK*zc@FM;xF$%15SrsA4QGSzxUyI-QIU5cPs;jcf=FUg>g!z*YtihikLgTMkDQeP`-i183|1Zg+5-9o!BF z_Z(b{B`g^RA$okxa4hd6`J3VHQddmwNGA6B!Mn*#gwx|5o#vuObk1;abKv;zJDuk8 zL*%{!p~p)mcQc$GGnm}>;B?-a+`SIDEe^SD4!K7ha!)wqo^{Cm0d9z&Dq&gF>9RkS zNavp!zhQ9t-i*mz0yoj3^Km#`c6B~#dw+%-spL%V(4sIO7^dc(9D?Z*`lexmV%pyODzb#Sxbbl#eBa~yJu9NeW2oh#vV+)aDeIOMK%$lc_STknwD0B1|H ztqz?(cgQ{MkbB-C_mV^IHHX{>4!K@~?eXgeXUq3v9CAY(a>Wk0F%G#Jhujp0+}RGf z^Bi*X9dZ{sE}nLy*|Uk`IyPggwyfUeWaL| zwtODk<0>pB7a!qyGcDX2INk4=a<{|L9Qe-U9)&y5!aW10$JM6XpWyU3+2lTi)A7^e zCNUxLJNVRaK4x+w;B+6L@8xQ_GB|xt$K=L1xD1@`8}+?ot#dk@e)eK=ZE!k%CU+H_ z9_Q+N@mlA#1v*V`6Pyl<$^8tjSd`#Q?hUw60o92sVvt;B;ifsb%i(PHHo@t*n_+nh z?gERwi6}h7!mWkV`F)J?BL^uH_rU2oW^zx!C6s@Y>qDZfws7m7+yH@R^RxfZxui@p2c`YKM3-Q}mG=QcQ|Prfs`Kf>v@ zK$m^-D000@!~8S3DR8b=Z3rPS+z{N5#0L z^~-QNZ%nRtc^E&FI|NRbd6PTJA$Pn(ZV=q*eyW6Ri4JEgoQ?yx9P&=$a4DQF*SZXg z2jQ+R;ELp;a>9MLK<7!C;3(Xt0y*8zh!^1=hHI4{xRZl}|5vz@im;t9x!#pwdYarJ za5_Cr?kI=c@ea8`4!IFBzziPN6raR<52dCp_%E>$Vx*nO_ z7vOX|XmaPn>1+BZ;gWD(57$qA;7slZaJtOuc1`?=++z;zA8<+Wh|}$ioQvG>s&E`> za_7S7KEUMW!No-h&g5=!$Zder`C!Uzhf4=4JL&9$F`X`^+_7*roy87L-sIM8h^ccX zoX%U5Yjkk)9QH19$X)J`yUrnZlSA%)hulvba!|r?^?lg%E&J5?|vElg4 z9&ArTi%Ji zHE^@k6_a}#PS3ea?jtz<`_AOXjtl2wCN}|&V%VkJC2$P;y5u&(+2XJbPPg->y&Z5m zT}3hdRK?zNYh>goX#7QJJ-Qo;ovsFF`V)p)7iX}y!}gcSO%Gz<(+UJ zRrAbWT`{@Y$xv=&UMeV`UxqtQT{F3B;XbLjVnc2-9K#gfncORIx}7k&f5Yj%*yKKu zvdi^{v&jvH({VO+PKB#e;ned1`Pl>9441QTN7Z=V_rw#< zgFCpm*;&4^xU6(2e*Q^z@*+h>jj690rS8E;6M_54%iA#;3iKq*bI6e*cmgp zb|-iXOgM;fKX^xB;=zOmyaA@tsNDhH1~sFzeCVe=mz~rwFPm;_SR@}&&t-W@{tHbF zoCL3q<>dXUT(YUXE!$yJm~8m6OSYz9Q<&n0+<&WCZ~qd3D&B0$7VPvAfyQ8~i3k)G zq@UXOAOfWwUYU&@N{qK{d{gA9}Q}V zKz-qsCI5Ymlxn0lB8ebu`PcKZ>NWao;g%y27zhhjr@cj@EMxe*|)aLxw91-XXlQ$?8vIR%*$>+VKJW{o~NQ7H?M4&#uYexjS3U=p+K%3r&BMMdd z?Ju(Vof#rf+i?em2oy?rWXH1zG^vVMu&F`>N;_1?VE2TGw5oj)f)TKc<0H}=B!k)y zAtIfmg4%;10)-v&$#0Y*P#QLKy2&WqRUirjVSQ5D2SlJ$C57x05P>#hM*z|2efZjk zuQBaquC4#b2~H;cftyos&TO(?W|NEAIF`TbgpC z8b)Uq`E%43=BSPNIqCvEM_tm~%GW1y=gAzk3$2axbaPtjbGfMNh__C~eV&u70# zKh5Sg)w5mq?3T8Mc@ZX}4pZBlY=b}1-y0F%m;bU8bG9I@$yNEtXSC%j*Hqu$Fn1vx z;_RS9jIOS=H|5$EwKp{7vJ2EErp1N#3!*dBAUl{w9{hro4^Jab`~@w|3-?Clk!Egw zefyl|)?Bn9UML$sN@>Zq1z%;z&h|gQ68wtRR#<+T^ahBk3gq@uL82F#gVmgxzeiU> zTm3ITXPa9|KiOb9;#^s*zPz$Pw*8DY6T%Gl&l+3mXGd)!XcV#?TB5zvP=t}urMHcw z<6}pAqxec41T;>1AJ2R-jy8)_;abo}@rqWnL}B6FMe}F3);I6vawTm_gZ~wlXrs_M z%jd8|=ibQgwp?z}f(32u5$6HrXMTNaV++H(h*O5|FGN4U4%0hmFC~{&sZzqZm*TWUTe~WQ%w36Xax?pNk@RTdM zGF4!SF`ewa7;UO`7_aQ50jbLQb{@Y+8~C~TjU4l1Mp=nc3s{uk{qv&_-XA!p?RdRP zMLZ7Uf zyAru0IGzhRlH=FWOBB2~;XjdMPks#IcnxwRI37Xxhj0{~B$f9?{tV!FF8)s8_$K}& zEpH@nCv$us{j%!xUcxP_nfl_tKgZvqXBfx8t;edY>A4fkV(GmwJ@E4+ z(cgxav-$ad1+q5gR^l>=q}?gSh*Y_iYqCaYH7VYU+=+uMMPv)tqzKHy-%d_7VsnR z0QfPG@IMH)f``C1@Kf+G_!*FWs(%iC0UiN6z%M}=;VlQUhK?oS{$3MO4rMK+toLQ< ztG@>k%TE1unJiKCszDNv%-)4y8TbMa59kENVfQ`%n*)}A5xRZPQQjq?W4H)?{baeD6LBj)POX|fLicH zuox@>OTqczBCs4>3@!neg3G{Hz~$fyumW5OR)VjBtH9U5*TFZyDsVNp27D8&25Z2# zz_-C#a4onFd6d51Gj@azVcQhx6R z_koRI6SyDz5Nrlpz>mNK;K$%6;6bnzJOs9ZpMr;%t%XTfj5F7O<99=rg42YwI!0R9MegFk^kgTH{kg1>>kgBQU| z;2+?h;AQX%copmcuYuRW8{kdwKj1C!Hux8K2fPd31OEo^ga3dJz=z-?;Pv1?=n3`% zy}3f z!HJ*C zuoRpRE&vyTW#CKT%itog99#@80hfZyz*oTK;0mw;TnSc!uY#+<*TC1oH^3@zHMj=tOM7B8^8q=zo$9w1kZqH!9KSy1@@)Dz7*J(0{c>6Ukd#H HPl5jhB3wyQ literal 0 HcmV?d00001 diff --git a/Lib/VistaControls.xml b/Lib/VistaControls.xml new file mode 100644 index 0000000..cf4c8fb --- /dev/null +++ b/Lib/VistaControls.xml @@ -0,0 +1,1022 @@ + + + + VistaControls + + + + Common Task Dialog buttons. OK is the default button. + + + Represents a custom button shown on a Task Dialog. + + + Instantiates a new custom button with an ID and a text. + Unique ID that will be returned by the Task Dialog if the button is clicked. + Use values greater than 8 to prevent conflicts with common buttons. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + Instantiates a new custom button with an ID and a text. + Common ID that will be returned by the Task Dialog if the button is clicked. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + Unique ID that will be returned by the Task Dialog if the button is clicked. + + + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + + Adds a handler on the Form that enables the user to move the window around + by clicking on a glass margin (or the title bar, as usual). + + The form that will be controlled. + Margins of the glass sheet. + + Eventual UI elements on the glass sheet will prevent the handler from receiving events + (except the ThemeText control, which manually redirects mouse events to the form). + + + + + Adds a handler on the Form that automatically paints the glass background black + + The form that will be controlled. + Margins of the glass sheet. + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + Control style and notification constants + + + + Stores a Task Dialog message that will be sent to a dialog in order to update its state. + + + Simple int, int message. + + + Simple int, bool message. + + + Simple bool, bool message. + + + Simple bool, int message. + + + Simple int, long (hi word and lo word) message. + + + Text updating message. + The string will be marshaled: the Message must be correctly disposed after use. + + + Navigation message. + The config structure will be marshaled: must be correctly disposed after use. + + + Text values that can be updated. + + + A standard WinForms text box presenting the common Vista "search" interface. + Reacts on user input by raising "SearchStarted" events. + + + Puts the focus on the text box and moves the caret to the end of the text, without selecting it. + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + Gets or sets the background Color of the button when the mouse hovers on it. + + + Gets or sets the ForeColor of the control when the search box is active. + + + Gets or sets the BackColor of the control when the search box is active. + + + Gets or sets the ForeColor of the control when the search box is inactive. + + + Gets or sets the BackColor of the control when the search box is inactive. + + + Temporary ForeColor property of the control. You should use InactiveForeColor and ActiveForeColor instead. + + + Temporary BackColor property of the control. You should use InactiveBackColor and ActiveBackColor instead. + + + Gets or sets the text that is shown on top of the text box when the user hasn't entered any text. + + + Gets or sets the font used in the search text box. + Equals to the Font property. + + + Gets or sets the font used to write the "inactivity label" on top of the control when the user hasn't entered any text. + + + Overall Font property of the control. Property changes are forwarded to the ActiveFont property. + + + Returns true if the user entered some text in the search textbox. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + Displays a dialog box that can contain text, icons, buttons, command links, radio buttons and/or a progress bar. + + + Initializes a new Task Dialog instance without text. + + + Initializes a new Task Dialog instance with text. + The main instruction to display. + + + Initializes a new Task Dialog instance with an instruction and a title. + The main instruction to display. + The title of the Task Dialog. + + + Initializes a new Task Dialog instance with an instruction, a title and some content text. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + + + Initializes a new Task Dialog instance with an instruction, a title, some content text and a specific button. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. + + + Initializes a new Task Dialog instance with an instruction, a title, some content text, a specific button and an icon. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. + The icon to display. + + + Injects a virtual button click. + Numeric id of the clicked button. + + + Injects a virtual radio button click. + Numeric id of the clicked radio button. + + + Injects a virtual checkbox click. + New state of the verification checkbox. + Sets whether the checkbox should have focus after state change. + + + Enables or disables a button of the dialog. + Id of the button whose state will be changed. + New state of the button. + + + Enables or disables a radio button of the dialog. + Id of the radio button whose state will be changed. + New state of the button. + + + Creates a new Task Dialog setup and replaces the existing one. Note that the window will not be + destroyed and that you should keep the existing TaskDialog reference (event handlers will still be + registered). The existing Task Dialog will simply reset and use the options of the new one. + An instance of Task Dialog, whose settings will be copied into the existing dialog. + You may safely destroy the nextDialog instance after use (do not register to events on it). + + + Adds or removes an UAC Shield icon from a button. + Id of the button. + Sets whether to display a Shield icon or not. + + + Sets whether the dialog's progress bar should be in standard or in marquee mode. + True if the progress bar should be displayed in marquee mode (no explicit progress). + + + Sets whether the dialog's progress bar should be in standard or in marquee mode and sets its marquee speed. + True if the progress bar should be displayed in marquee mode (no explicit progress). + Speed of the progress bar in marquee mode. + + + Common native callback for Task Dialogs. Will route events to the user event handler. + TODO: Currently unused, would need complex marshaling of data. + + + Prepares the internal configuration structure. + Allocates some unmanaged memory, must always be followed by a PostConfig() call. + + + Frees the unmanages memory allocated by PreConfig(). + + + Displays the task dialog without an explicit parent. + + + Displays the task dialog with an explicit parent window. + Handle to the dialog's parent window. + + + Displays the task dialog with an explicit parent form. + Instance of the dialog's parent form. + + + Displays a task dialog that has a message. + The text to display. + + + Displays a task dialog that has a message and a title. + The text to display. + The title bar caption of the dialog. + + + Displays a task dialog that has a message, a title and an instruction. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + + + Displays a task dialog that has a message, a title, an instruction and one or more buttons. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + + + Displays a task dialog that has a message, a title, an instruction, one or more buttons and an icon. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + The icon to display. + + + Is true if the task dialog is currently displayed. + + + Gets or sets the title of the dialog. + + + Gets or sets the icon of the dialog, from a set of common icons. + + + Gets or sets the icon of the dialog, from a custom Icon instance. + + + Gets or sets the dialog's buttons, from one or more common button types. + + + Gets or sets a set of custom buttons which will be displayed on the dialog. + These buttons can also be shown as Command Links optionally. + + + Gets or sets the integer identificator of the dialog's default button. + + + Gets or sets a set of custom buttons which will be displayed as radio buttons. + + + Gets or sets the identificator of the enabled radio button by default. + + + Gets or sets the text that will be shown next to a verification checkbox. + + + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, + when the dialog is in expanded mode. + + + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, + when the dialog is in collapsed mode. + + + Gets or sets the icon shown in the dialog's footer, from a set of common icons. + + + Gets or sets the icon shown in the dialog's footer, from a custom Icon instance. + + + Explicitly sets the desiderd width in pixels of the dialog. + Will be set automatically by the task dialog to an optimal size. + + + Gets or Sets the Main Instruction text of the TaskDialog. + Text written in blue and slightly bigger font in Windows Aero. + + + Gets or sets the Content text of the TaskDialog. + Text written with standard font, right below the Main instruction. + + + Gets or Sets the expanded information text, that will be optionally shown + by clicking on the Expand control. + + + Gets or Sets the Footer text. + + + Gets or sets the current Progress bar value. + + + Gets of sets the minimum value allowed by the Progress bar. + + + Gets or sets the maximum value allowed by the Progress bar. + + + Gets or sets the current Progress bar state. + Determines the bar's color and behavior. + + + Enables or disables Hyperlinks in the content (in the form of <A HREF="link">). + + + Gets or sets whether the dialog can be cancelled (ESC, ALT+F4 and X button) even if no Cancel button has been specified. + + + Gets or sets whether Command Link buttons should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). + + + Gets or sets whether Command Link buttons wihtout icon should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). + + + Gets or sets whether the ExpandedInformation should be shown in the Footer area (instead of under the Content text). + + + Gets or sets whether the ExpandedInformation is visible on dialog creation. + + + Gets or sets whether the Verification checkbox should be checked when the dialog is shown. + + + Gets or sets whether a progress bar should be displayed on the dialog. + + + Sets or gets whether the user specified callback (if any) should be called every 200ms. + + + Gets or sets whether the dialog should be positioned centered on the parent window. + + + Enables or disables right to left reading order. + + + Gets or sets whether there should be a selected radio button by default when the dialog is shown. + + + Gets or sets whether the dialog may be minimized or not. + + + Occurs when the Task Dialog is first created and before it is displayed (is sent after Construction event). + + + Occurs when the user clicks a button or a command link. By default the Dialog is closed after the notification. + + + Occurs when the user clicks on a Hyperlink in the Content text. + + + Occurs when a navigation event is raised. + + + Occurs approximately every 200ms if the Task Dialog callback timer is enabled. + + + Occurs when the Task Dialog is destroyed and the handle to the dialog is not valid anymore. + + + Occurs when the user selects a radio button. + + + Occurs when the Task Dialog is constructed and before it is displayed (is sent before Creation event). + + + Occurs when the user switches the state of the Verification Checkbox. + + + Occurs when the user presses F1 when the Task Dialog has focus. + + + Occurs when the user clicks on the expand button of the dialog, before the dialog is expanded. + + + Occurs when the split label is clicked. + + + Occurs when the split label is clicked, but before the associated + context menu is displayed by the control. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. Exposed for backward compatibility. + + + Provides data for the clicking of split buttons and the opening + of context menus. + + + Represents the bounding box of the clicked button. + A menu should be opened, with top-left coordinates in the left-bottom point of + the rectangle and with width equal (or greater) than the width of the rectangle. + + + Set to true if you want to prevent the menu from opening. + + + Margins structure for the Glass Sheet effect. + + + + Returns whether a point in client coordinates is outside the margins defined by this instance. + + Point in client coordinates. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Common Controls library version 6.0 not loaded. Must run on Vista and must provide a manifest.. + + + + + Looks up a localized string similar to Desktop composition is not enabled.. + + + + + Looks up a localized string similar to Desktop composition is not supported by operating system.. + + + + + Looks up a localized string similar to Unable to get thumbnail's original size.. + + + + + Looks up a localized string similar to Unable to update thumbnail properties.. + + + + + Looks up a localized string similar to Source and target windows cannot be the same.. + + + + + Looks up a localized string similar to Native call to {0} failed.. + + + + + Looks up a localized string similar to Failed to create TaskDialog.. + + + + + A vertical panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. + + + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. + + + + + Constructor + + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. + + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. + + + + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + + + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + + + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + + + + + A Label containing some text that will be drawn with glowing border on top of the Glass Sheet effect. + + + + Size of the glow effect around the text. + + + Enables or disables the glow effect around the text. + + + Shadow type. + + + Gets or sets the horizontal text alignment setting. + + + Gets or sets the vertical text alignment setting. + + + Gets or sets whether the text will be laid out on a single line or on multiple lines. + + + Gets or sets whether the text lines over the label's border should be trimmed with an ellipsis. + + + Gets or sets whether the text should break only at the end of a word. + + + Gets or sets whether the text should be trimmed to the last word and an ellipse should be placed at the end of the line. + + + + Determines a window's Flip 3D policy. + + + + + Default Flip 3D behavior. + + + + + Excludes the window from Flip 3D and hides it behind the animation. + + + + + Excludes the window from Flip 3D and shows it above the animation. + + + + Handle to a DWM Thumbnail. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Origin region from source window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Returns true if the handle is valid, false if the handle has been closed or hasn't been initialized. + + + Sets the thumbnail opacity value, from 0 to 255 (opaque). + + + Sets whether only the client area of the thumbnailed window should be shown or + the entire window area. + + + Area in the destination window on which the thumbnail should be drawn. + + + Region of the source window that should be drawn. + + + Sets whether the thumbnail should be drawn or not. + + + Gets the thumbnail's original size. + + + + Applies a glow on the themed text. + + + + + Default glow size. + + + + + Glow size used commonly by Office 2007 in titles. + + + + + Precise glow effect. + + + + + Instantiates a new glow effect for themed text. + + Size of the glow effect. + + + + Gets or sets the size of the glow effect. + + + + + Static class providing information about the current support for Vista-only features. + + + + + Gets whether the running operating system is Windows Vista or a more recent version. + + + + + Gets whether the running operating system is Windows Seven or a more recent version. + + + + Is true if the DWM composition engine is currently enabled. + + + + The labeled divider provides a Aero styled divider with an option caption, similiar to what is seen in the + Control Panel dialogs of Windows 7 and Vista. + + + + + Constructor + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + The position of the divider line. + + + The default value is the center position which is consistent on how this type of divider has been used throughout the Windows + 7 and Vista UI's. + + + + + The color of the divider line. + + + + + The text that should be used for the caption. If the caption is set to blank and the divider position is set to center then + a simple divider line will be drawn. + + + After a change is made to the text property we want to invalidate the control so it triggers a new paint message being sent. + + + + + The positions that the divider line can be drawn in + + + + + The divider will be centered after the text caption and will begin drawing after the string. This is the default behavior. + + + + + The divider will be drawn below the text caption. + + + + Gets or sets the cue text that is displayed on the TextBox control. + + + Gets or sets whether the Cue text should be displyed even when the control has keybord focus. + If true, the Cue text will disappear as soon as the user starts typing. + + + Sets the origin of the thumbnail and shows the thumbnail on the control. + The Form instance that will be thumbnailed. + True if the control should automatically update itself in case the thumbnailed + form changes size or is closed. + + + Forces and update of the thumbnail. + Use this method if you know that the thumbnailed window has been resized and the thumbnail control should react to these changes. + + + Gets or sets the glass margins of the form. + + + Gets or sets whether mouse dragging should be handled automatically. + + + Gets or sets whether the extended glass margin is enabled or not. + + + + Gets or sets whether the window title and icon should be hidden. + + + + Main DWM class, provides Thumbnail registration, glass sheet effect and blur behind. + + + Registers a thumbnail to be drawn on a Windows Form. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The Windows Form instance on which to draw the thumbnail. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Registers a thumbnail to be drawn on a window. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The handle (HWND) of the window on which the thumbnail will be drawn. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Unregisters the thumbnail handle. + The handle is unvalid after the call and should not be used again. + A handle to a registered thumbnail. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + + Enable the Aero "Blur Behind" effect on a specific region. Background of the region must be black. + + + Disables the Aero "Blur Behind" effect. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Disables the Aero "Glass Frame". + + + Disables the Aero "Glass Frame". + + + + Sets a window's Flip 3D policy. + + Form whose policy is to be set. + Desired Flip 3D policy. + Is ignored on OSs that do not support Aero. + + + + Disallows Aero Peek on a window (or allows it). + + Form whose Aero Peek preview should be disabled. + True if Aero Peek should be disabled for the window. + Is ignored on OSs that do not support Aero Peek. + + + + Sets a window's state in order to exclude (or include) it in Aero Peek. + + Form whose Aero Peek exclusion state is to be set. + Set to true to exlude the window from Aero Peek. + Is ignored on OSs that do not support Aero Peek. + + + Common Task Dialog icons. Determine the look of the main instruction. + + + Returns the active windows on the current thread. + + + Class that aggregates the results of an "indirect" Task Dialog. + + + Results returned by Task Dialogs when closed by the user. + + + Direct Task Dialog call. + + + Indirect Task Dialog call. Allows complex dialogs with interaction logic (via callback). + + + The Task Dialog config structure. + + + Flags used in TaskDialogConfig struct. + From CommCtrl.h. + + + Notifications returned by Task Dialogs to the callback. + From CommCtrl.h. + + + Messages that can be sent to Task Dialogs. + From CommCtrl.h. + + + + A horizontal panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. + + + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. + + + + + Constructor + + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. + + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. + + + + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + + + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + + + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + + + + diff --git a/OnTopReplica.sln b/OnTopReplica.sln new file mode 100644 index 0000000..1c732a8 --- /dev/null +++ b/OnTopReplica.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C# Express 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OnTopReplica", "OnTopReplica\OnTopReplica.csproj", "{E626BD6E-BF38-4EB7-A128-5CA6F40EF557}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/OnTopReplica/AboutForm.Designer.cs b/OnTopReplica/AboutForm.Designer.cs new file mode 100644 index 0000000..2c487d8 --- /dev/null +++ b/OnTopReplica/AboutForm.Designer.cs @@ -0,0 +1,235 @@ +namespace OnTopReplica { + partial class AboutForm { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm)); + this.themedLabel1 = new VistaControls.ThemeText.ThemedLabel(); + this.themedLabel2 = new VistaControls.ThemeText.ThemedLabel(); + this.panel1 = new System.Windows.Forms.Panel(); + this.buttonReset = new System.Windows.Forms.Button(); + this.progressBar1 = new VistaControls.ProgressBar(); + this.buttonUpdate = new System.Windows.Forms.Button(); + this.buttonExpander = new System.Windows.Forms.Button(); + this.label1 = new System.Windows.Forms.Label(); + this.linkLabel2 = new System.Windows.Forms.LinkLabel(); + this.linkLabel1 = new System.Windows.Forms.LinkLabel(); + this.label2 = new System.Windows.Forms.Label(); + this.webBrowser = new System.Windows.Forms.WebBrowser(); + this.toolTip = new System.Windows.Forms.ToolTip(this.components); + this.panel1.SuspendLayout(); + this.SuspendLayout(); + // + // themedLabel1 + // + this.themedLabel1.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.themedLabel1.Location = new System.Drawing.Point(0, 0); + this.themedLabel1.Name = "themedLabel1"; + this.themedLabel1.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0); + this.themedLabel1.Size = new System.Drawing.Size(200, 40); + this.themedLabel1.TabIndex = 0; + this.themedLabel1.Text = Strings.ApplicationName; + // + // themedLabel2 + // + this.themedLabel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.themedLabel2.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.themedLabel2.GlowSize = 11; + this.themedLabel2.Location = new System.Drawing.Point(200, 0); + this.themedLabel2.Name = "themedLabel2"; + this.themedLabel2.Padding = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.themedLabel2.Size = new System.Drawing.Size(189, 40); + this.themedLabel2.TabIndex = 1; + this.themedLabel2.Text = "v2"; + // + // panel1 + // + this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panel1.BackgroundImage = global::OnTopReplica.Properties.Resources.back; + this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.panel1.Controls.Add(this.buttonReset); + this.panel1.Controls.Add(this.progressBar1); + this.panel1.Controls.Add(this.buttonUpdate); + this.panel1.Controls.Add(this.buttonExpander); + this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.linkLabel2); + this.panel1.Controls.Add(this.linkLabel1); + this.panel1.Controls.Add(this.label2); + this.panel1.Location = new System.Drawing.Point(0, 40); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(388, 105); + this.panel1.TabIndex = 10; + // + // buttonReset + // + this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonReset.Image = global::OnTopReplica.Properties.Resources.refresh; + this.buttonReset.Location = new System.Drawing.Point(338, 79); + this.buttonReset.Name = "buttonReset"; + this.buttonReset.Size = new System.Drawing.Size(23, 23); + this.buttonReset.TabIndex = 14; + this.buttonReset.UseVisualStyleBackColor = true; + this.buttonReset.Click += new System.EventHandler(this.ResetClick); + // + // progressBar1 + // + this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.progressBar1.Location = new System.Drawing.Point(235, 79); + this.progressBar1.Name = "progressBar1"; + this.progressBar1.Size = new System.Drawing.Size(102, 23); + this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee; + this.progressBar1.TabIndex = 3; + this.progressBar1.Visible = false; + // + // buttonUpdate + // + this.buttonUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonUpdate.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonUpdate.Image = global::OnTopReplica.Properties.Resources.xiao_component; + this.buttonUpdate.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonUpdate.Location = new System.Drawing.Point(235, 79); + this.buttonUpdate.Name = "buttonUpdate"; + this.buttonUpdate.Size = new System.Drawing.Size(102, 23); + this.buttonUpdate.TabIndex = 2; + this.buttonUpdate.Text = global::OnTopReplica.Strings.UpdateNow; + this.buttonUpdate.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonUpdate.UseVisualStyleBackColor = true; + this.buttonUpdate.Click += new System.EventHandler(this.Update_click); + // + // buttonExpander + // + this.buttonExpander.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonExpander.Image = global::OnTopReplica.Properties.Resources.xiao_down; + this.buttonExpander.Location = new System.Drawing.Point(362, 79); + this.buttonExpander.Name = "buttonExpander"; + this.buttonExpander.Size = new System.Drawing.Size(23, 23); + this.buttonExpander.TabIndex = 4; + this.buttonExpander.UseVisualStyleBackColor = true; + this.buttonExpander.Click += new System.EventHandler(this.Toggle_click); + // + // label1 + // + this.label1.BackColor = System.Drawing.Color.Transparent; + this.label1.Font = new System.Drawing.Font("Segoe UI", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(6, 75); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(199, 31); + this.label1.TabIndex = 13; + this.label1.Text = Strings.UpdateDisclaimer; + // + // linkLabel2 + // + this.linkLabel2.AutoSize = true; + this.linkLabel2.BackColor = System.Drawing.Color.Transparent; + this.linkLabel2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.linkLabel2.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabel2.Location = new System.Drawing.Point(7, 58); + this.linkLabel2.Name = "linkLabel2"; + this.linkLabel2.Size = new System.Drawing.Size(252, 21); + this.linkLabel2.TabIndex = 1; + this.linkLabel2.TabStop = true; + this.linkLabel2.Text = Strings.Homepage; + this.linkLabel2.UseCompatibleTextRendering = true; + this.linkLabel2.VisitedLinkColor = System.Drawing.Color.Blue; + // + // linkLabel1 + // + this.linkLabel1.AutoSize = true; + this.linkLabel1.BackColor = System.Drawing.Color.Transparent; + this.linkLabel1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.linkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLabel1.LinkColor = System.Drawing.Color.Blue; + this.linkLabel1.Location = new System.Drawing.Point(7, 37); + this.linkLabel1.Name = "linkLabel1"; + this.linkLabel1.Size = new System.Drawing.Size(212, 21); + this.linkLabel1.TabIndex = 0; + this.linkLabel1.TabStop = true; + this.linkLabel1.Text = Strings.CreatedBy; + this.linkLabel1.UseCompatibleTextRendering = true; + this.linkLabel1.VisitedLinkColor = System.Drawing.Color.Blue; + // + // label2 + // + this.label2.BackColor = System.Drawing.Color.Transparent; + this.label2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label2.Location = new System.Drawing.Point(7, 4); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(287, 33); + this.label2.TabIndex = 10; + this.label2.Text = Strings.Slogan; + // + // webBrowser + // + this.webBrowser.AllowWebBrowserDrop = false; + this.webBrowser.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.webBrowser.Location = new System.Drawing.Point(0, 146); + this.webBrowser.MinimumSize = new System.Drawing.Size(20, 20); + this.webBrowser.Name = "webBrowser"; + this.webBrowser.ScriptErrorsSuppressed = true; + this.webBrowser.Size = new System.Drawing.Size(389, 200); + this.webBrowser.TabIndex = 14; + // + // AboutForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ClientSize = new System.Drawing.Size(389, 145); + this.Controls.Add(this.webBrowser); + this.Controls.Add(this.themedLabel2); + this.Controls.Add(this.themedLabel1); + this.Controls.Add(this.panel1); + this.DoubleBuffered = true; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; + this.HideTitle = true; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.Name = "AboutForm"; + this.Text = "OnTopReplica"; + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private VistaControls.ThemeText.ThemedLabel themedLabel1; + private VistaControls.ThemeText.ThemedLabel themedLabel2; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Button buttonExpander; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.LinkLabel linkLabel2; + private System.Windows.Forms.LinkLabel linkLabel1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Button buttonUpdate; + private System.Windows.Forms.WebBrowser webBrowser; + private System.Windows.Forms.Button buttonReset; + private VistaControls.ProgressBar progressBar1; + private System.Windows.Forms.ToolTip toolTip; + } +} \ No newline at end of file diff --git a/OnTopReplica/AboutForm.cs b/OnTopReplica/AboutForm.cs new file mode 100644 index 0000000..9121ad0 --- /dev/null +++ b/OnTopReplica/AboutForm.cs @@ -0,0 +1,153 @@ +using System.Diagnostics; +using System.Windows.Forms; +using VistaControls.Dwm.Helpers; +using System.Drawing; +using System.Runtime.InteropServices; +using OnTopReplica.Properties; +using System.Deployment.Application; +using System; +using VistaControls.TaskDialog; +using System.ComponentModel; +using OnTopReplica.Update; + +namespace OnTopReplica { + public partial class AboutForm : GlassForm { + + public AboutForm() { + InitializeComponent(); + + //Tooltips + toolTip.SetToolTip(buttonExpander, Strings.AboutButtonExpanderTT); + toolTip.SetToolTip(buttonReset, Strings.AboutButtonResetTT); + toolTip.SetToolTip(buttonUpdate, Strings.AboutButtonUpdateTT); + + //Add link areas (localized text) + linkLabel1.LinkArea = new LinkArea(linkLabel1.Text.IndexOf("Lorenz Cuno Klopfenstein"), "Lorenz Cuno Klopfenstein".Length); + int linkStart = linkLabel2.Text.IndexOf("www"); + linkLabel2.LinkArea = new LinkArea(linkStart, linkLabel2.Text.Length - linkStart - 1); + + //Glassify + GlassEnabled = true; + GlassMargins = new VistaControls.Dwm.Margins(0, 0, themedLabel1.Size.Height, 0); + + //Update title + themedLabel2.Text = "v" + Application.ProductVersion.Substring(0, 3); + + //Add update event handling + _updateManager.UpdateCheckCompleted += new EventHandler(UpdateManager_UpdateCheckCompleted); + } + + protected override void OnKeyUp(KeyEventArgs e) { + if (e.KeyCode == Keys.Escape) + this.Close(); + + base.OnKeyUp(e); + } + + private void Lck_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://lorenz.klopfenstein.net"); + } + + private void Homepage_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://www.codeplex.com/ontopreplica"); + } + + private void ShowGenericError(string title, string mainContent, Exception ex) { + TaskDialog.Show(mainContent, title, ex.Message, TaskDialogButton.Close, TaskDialogIcon.Stop); + } + + #region Bottom toggler + + private void Toggle_click(object sender, System.EventArgs e) { + IsExpanded = !IsExpanded; + + //Update icon + buttonExpander.Image = IsExpanded ? Resources.xiao_up : Resources.xiao_down; + } + + bool _isExpanded = false; + bool _isFirstExpansion = true; + public bool IsExpanded { + get { return _isExpanded; } + set { + if(_isExpanded != value) + Size = new Size(Size.Width, Size.Height + ((value) ? webBrowser.Size.Height : -webBrowser.Size.Height)); + + _isExpanded = value; + + if (value && _isFirstExpansion) { + //Load text from resources + webBrowser.DocumentText = Strings.AboutDetails; + + //Register navigation events + webBrowser.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating); + + _isFirstExpansion = false; + } + } + } + + void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) { + if (e.Url != null && e.Url.IsAbsoluteUri) { + Process.Start(e.Url.ToString()); + e.Cancel = true; + } + } + + #endregion + + #region Updating + + UpdateManager _updateManager = new UpdateManager(); + + private void Update_click(object sender, System.EventArgs e) { + CheckForUpdate(); + } + + delegate void GuiAction(); + + void UpdateManager_UpdateCheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + Invoke(new GuiAction(() => { + if (e.Success) { + _updateManager.HandleUpdateCheck(this, e.Information, true); + } + else { + var dlg = new TaskDialog(Strings.ErrorUpdate, Strings.ErrorUpdate, Strings.ErrorUpdateContentGeneric) { + CommonIcon = TaskDialogIcon.Stop, + CommonButtons = TaskDialogButton.OK + }; + dlg.Show(this); + } + + UpdateStopped(); + })); + } + + public void CheckForUpdate() { + //Update GUI + buttonUpdate.Visible = false; + progressBar1.Visible = true; + + _updateManager.CheckForUpdate(); + } + + void UpdateStopped() { + //Reset UI + progressBar1.Visible = false; + buttonUpdate.Visible = true; + } + + #endregion + + private void ResetClick(object sender, EventArgs e) { + var dlg = new TaskDialog(Strings.AskSettingReset, Strings.AskSettingResetTitle, + Strings.AskSettingResetContent); + dlg.CommonButtons = TaskDialogButton.OK | TaskDialogButton.Cancel; + + if (dlg.Show(this).CommonButton == Result.OK) { + Settings.Default.Reset(); + } + } + + } +} diff --git a/OnTopReplica/AboutForm.resx b/OnTopReplica/AboutForm.resx new file mode 100644 index 0000000..4d116c2 --- /dev/null +++ b/OnTopReplica/AboutForm.resx @@ -0,0 +1,309 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + AAABAAIAMDAAAAEAIACoJQAAJgAAABAQAAABACAAaAQAAM4lAAAoAAAAMAAAAGAAAAABACAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAAAAFwAAACAAAAAnAAAAKwAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAAKwAAACcAAAAfAAAAFwAAAA0AAAAGAAAABgAAAA4AAAAdAAAALQAAAD0AAABIAAAATgAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATgAAAEgAAAA9AAAALQAAABwAAAANAAAACwAAABkAAAAwAAAARwAA + AFsAAABpAAAAcAAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcAAAAGkAAABdAAAASAAAAC8AAAAYAAAAEQAA + ACQAAABBAAAAbAoKC6QYGBiyFhcXtBcXF7QXFxe0FxcXtBcXF7UXFxi0FxcYtBcYGLQXGBi0FxgYtBgY + GLQXGBi0FxcYtBcXF7QXFxe0FxcXtBcXF7QXFxe0FxcXtRcXF7UXFxe1FxcXtBcXF7QXFxe0FxcXtBYX + F7QWFhe0FhYXtBYWFrQWFhe0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe0GBgYtQEBAqYAAAB5AAAAXwAA + AEEAAAAkAAAAFwAAACwAAABdOTk3u46IgKWTjIKUkYiAk4yEepKHf3WQhHtyj4B5b45+eG2NfHVrjHly + Z4t5cmeLeXFni3huZot5b2aLe3JoioB3bIuDe3KMiH92jIyCeIyMhXqNjYZ7jo2HfI+Ph36PkId/j5GI + f4+SiX+PkomAj5OLgJCTjIKQk4yCkJSMgpCTi4GQj4h+joyEeo2LgniMjIN5jY+HfY6RiYCPkoqAjn55 + c7IXFxe1AAAAcQAAAFAAAAAuAAAAGwAAADAJCQmJkoyGrJ6ViXCypp2Fv7OskL2yq5G6r6ePt6yljbWr + o4yzqqGLsaefirClnYmupJ2JrqOdia6inYqvpJ2JsqafibSqo4m4raeKu7Gqiryyq4u8s6uLu7OsjLyz + rYy8s62MvbOujb20ro29ta6NvbWujry2ro67tq6OvLaujr23r468ta6OurOsjLiyq4u3sayLubOvjLu0 + so20ramGnpWNdJ+ViGxnZWG9AAAAiQAAAFYAAAAzAAAAHAAAADIREhKSqaGapbK4splz3ePrceDn8nPg + 5/N14OfzduDm83nh5fN84uXyf+Lk8oLj5PKF4+Lyh+Pi8onk4PKM5d/yj+Xf8pPm3/KX6ODynOni8qDq + 4/Kk7OLyqO7i863w4vKy8+Hytvbh87z44fPE+uHzzvvk89776vPs+/Pz+fv58//7/fP/+/7z//v98v/7 + 9/L8++3y9/vi8/b70fPz+b7u1da5u6mim3V/fHe1AAAAkQAAAFkAAAA2AAAAHQAAADMQEBCRsKiirMLO + ybBI3eT/PNnf/z3Z2v8+2df/P9nV/0HZ0/9G2tL/StvQ/0vbzv9O28v/UNzJ/1Pcx/9W3sX/WuHD/13k + wv9i6ML/aO/E/3D1x/99+s7/jP3W/53/4P+y/+r/xf/x/9r/+f/v//3/9//8//n//P/6//r/8v/r/+H/ + 3v+//dr/t/3Z/8L+zv/K/7H/1f2b/9r8jv/X/Yz/0Oa+1r2zsYJ+e3e4AAAAkQAAAFoAAAA3AAAAHQAA + ADMPDw+RtKumr8bSz7Y809n/L9DT/zLQ0f8zz8//NNDL/zfQyf860Mj/PNHF/z3Sw/9A1cH/RdnC/0re + xP9S5cj/W+zN/2by0/9x+Nj/e/3d/4L/4P+L/+T/mf/o/6n/6/+5/+z/xP/n/8f/2/+//8z/tPy//6X5 + tf+Z96//jPar/3j1rP9z97j/gvrD/4X9yf+Q/cv/qvu5/7jtkf+112f/z9mt2cW9u4iAfXm5AAAAkQAA + AFoAAAA3AAAAHQAAADMPDw+Rta6osMfT0Lc40tX/LM/Q/zHQz/8y0c7/NdTO/znXz/8/29H/ROHV/0zo + 2P9T7tz/WvTg/2D54v9l++H/avzf/27+3f90/9v/ev/a/4H/1/+K/tT/kPzL/5H4v/+N87D/he6f/4Dp + k/+B5o3/huWK/4/liP+W5of/muaG/5zihv+e2ob/pNeJ/6ncjP+s5pD/pO6U/5/wlv+h4oX/ytu32si/ + vYuCf3u6AAAAkQAAAFoAAAA2AAAAHQAAADMPDw+Rt6+qscnV0bk+2Nf/M9nV/zrd2P9A4tz/Rejf/0jq + 4P9J6tv/TOrW/07o0P9P5sn/UefD/1Xqwf9c8ML/ZPXC/2v3wP9v8rn/cOqv/27iof9r25X/a9mN/3TZ + jP9924v/gtuH/4fbgv+I2n7/itR6/4nNdP+HxW3/iL5o/4y4YP+St1X/k7ZL/5S1Tv+ZtlX/pL5d/67L + Yv+x123/0uC828rCwI2DgHy7AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RuLCss8rX07pG4dz/Od7W/zzb + 0f8/2s3/P9jI/0DUwv8/0Ln/Q9G2/0rXuP9S3rr/WuS9/1/kuf9f3rD/X9ai/1/Pl/9hzJD/Zc+M/2zT + if9x1oj/d9eE/37Vg/+D0X//fshz/3m+aP95uGP/e7Nf/3+wXP+FsFb/jLVR/4+8Uv+QwFv/k8Rk/5zF + Zf+hw2D/pMBY/6i7Uv+ps0D/0M+i3M3Hx5CEgX68AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RubKutMvW + 0rs/ysH/MsS3/zbDtP87x7b/Qc27/0bVwP9L2b//Ttq7/1HWs/9T0Kn/Vcqh/1jImv9dy5X/Y9CS/2nT + kP9u1Yz/cNOG/3DOfv9wx3X/cMJv/3vDcf+GxnH/gsFl/4G/Xv+Iv17/jMNc/5DHXP+QzGH/jM9u/4vL + c/+OwWz/j7lg/5GyVP+SqEn/lqJB/5icOv+WkSr/yMOb3NDMypGFgn+9AAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+RurOvtszW0bxCxbj/OMa2/0DNu/9F0r3/SdS9/0rSt/9LzKz/TMik/1HLoP9a0aH/Y9ih/2vc + nv9w3Jf/cdqP/3PXiP931YH/etV8/37Vdv+A1HD/hdNq/5XUbv+Z027/icll/4HGYv+Dx1z/hcJU/4K3 + VP99qVX/fJ1J/3yTPP97izT/fIYv/4CDK/+EgSj/iIAn/4uBJv+MfBr/xr2W3dPPzZOHhIG9AAAAkAAA + AFoAAAA2AAAAHQAAADIPDw+RvLWwts7Z071K0L7/Psq0/0LKr/9HzK3/T9Ox/1jdtv9f5bf/Y+q0/2rt + r/9y7Kn/eeqj/4Hmnf+C4pT/gNyK/3/Tfv99zHP/e8Rp/3e7Yf9ysl3/b69h/3e2cf9zuHD/aa9Z/3Gn + Qv94nDT/dI4v/3KGKv90gyb/doIk/3d/I/94fCH/enog/3x4IP+AeCD/g3kg/4d6Iv+Idhf/xLuW3tbR + 0JWHhIG+AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvLWxuM/Z075W173/Utq7/1riv/9h6cL/aOzC/23t + v/9s6bP/aeCl/2nVl/9pzIz/bcSB/3C8d/9ts23/Z6lj/2SiXf9hnVv/XZpb/1yZXP9cnFv/ZaVZ/3aw + U/94pjv/cY8n/2+EJP9sgCX/bH4k/3B+I/92gCL/en8f/3p7Hv95eB7/eXcd/3t1Hv9+dR7/gHYf/4R3 + H/+FchX/w7qW3tfT0peHhYK/AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvbazuNHb1b9k3r//WNez/1bP + qP9Tx5z/U7+U/1O5jv9Ss4T/UKp2/1Cha/9Tnmb/Wp5j/2ChZP9gn2L/XJld/1yYXP9cmFf/XphQ/2Sa + R/9nmDr/cJkv/32dKf92jyT/an0h/2p9If9ufyD/cn4e/3V+Hf98gB3/fX8c/3t6HP95dhz/eHQb/3lz + HP97cxz/fXQc/4J0Hf+CbxL/wrmV3tjU1JiIhoPAAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+Qvbe1udDY + 0sBPt5b/QauH/0Khff9CnXT/RZ1y/0iecP9Lnm3/S5pn/0yVYv9QlGD/WZlf/2KhXv9ln1n/YplS/2WZ + TP9nmEP/aJQ5/2aNLP9mhST/dI0i/3+WI/9yhx//aXkc/2x7G/9xfhr/dYEa/3qAGv+Agxr/f4AZ/3x7 + Gv95dhr/eHIZ/3hxGv95cRn/fHEa/4ByG/+AbBD/wbiU39nW1pqIhoPAAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+Qvrq2utDW0MFJo4D/P5xz/0KVbP9BkWb/RJJl/0eVZ/9LmGb/TZZh/0+TW/9UlFf/X5pU/2ui + U/9uoUz/bZtD/2+YO/9oji//ZIQl/2Z/IP9ugB3/e40e/32QHv9xgRv/a3kY/298F/90gRf/eYMY/36D + F/+Ehhj/g4IY/358GP96dhj/d3IY/3dwGP94bxj/em8Y/31wGf99ag7/wbiU4NzY15uJh4TBAAAAkAAA + AFoAAAA2AAAAHQAAADIPDw6Qv7q3u9DWz8FJnnT/QJdq/0KPZP9Di1//RYxd/0mQXP9Ok1r/UJNW/1OS + Uf9ak0z/aJxI/3ilRP96oT3/b5Qx/2yMKP9pgyH/a4Ac/219Gf9wfhj/eosa/3yOGv9xfxf/bnwW/3J/ + Ff96hBX/fYMW/4GFFv+Hhxb/hYMW/398Ff97dRb/eHIW/3dvFv93bhb/eG4W/3xuF/97aAz/wLiU4N3Z + 2JuJh4TBAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6Qv7u4u9DWz8JLmm3/QpRh/0SNWv9Fh1P/SYhR/0yL + T/9Rjk7/V5RK/12XRv9mmUD/dqI8/4GmNf93mCz/booj/3OKHv9yhBr/cH8V/257FP9ygBb/fY8Y/36P + GP9ygBT/cn4U/3iDFP+AiBT/foUT/4aIFP+IiBT/hYMU/398E/98dhP/eXMU/3hwFP93bRX/d20V/3tt + Ff94Zgr/wLeT4N3Z2p2KiIXBAAAAkAAAAFoAAAA2AAAAHQAAADIODg6QwLy5vNHWz8JOmGP/RpNW/0eK + UP9Igkj/SoJG/1CIQ/9blEL/ZJs+/2qfO/9zoTX/eJ0s/32aJP95kiD/doob/3uMGf92hRb/cYAU/258 + Ev92hRP/g5MV/4WSFf92gxL/eIMS/3+HEv+EjBL/gYcR/4mKEf+IiRL/hIMS/4B8EP98dxH/e3QS/3lx + E/93bhP/eG0T/3lsFP93ZQn/wLeT4d7a252KiIXCAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6QwLy5vNHW + zcNRlFj/SZJN/0yIR/9MgD//VYs8/2CXOv9lmDf/bqU1/3CgL/9tjiX/d5Eg/4OaHv9/khz/e4sX/4KN + Fv96hhT/dIAS/3N/Ef9/ixP/i5kU/4qVFP98hhH/fogR/4WNEf+GjRH/hYkO/4mLD/+IiA//hIEQ/398 + D/99eA//fXYQ/3xzEf96bxL/eW0S/3ptEv93Zgf/wLiS4d7a256LiIbCAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDg6QwLy6vNLVzcNUklD/S5BD/1OOP/9elTr/YZQ0/2WYMf9urC//apgn/2WCIP9wiR7/f5Uc/4qb + Gv+Fkhr/gIsV/4SNE/98hhL/eIEP/3mDEP+GkhL/kp4S/4uWEf+Aig//gosO/4qREP+IjQ//iYsN/4uM + Df+Ihgz/hIEO/4B7Df9/eA3/gXgP/4B1D/9+chD/fW4R/3xtEf95aAb/wbmS4d/c3J+LiYbCAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Rwby6vdLVzMRVkUf/WZ89/2WjOv9gjzD/ZKAu/2muLf9ljST/ZH0f/2uE + Hf93jRv/hZYY/4+bF/+Ikhr/gooS/4OMEP99hg7/eoIO/36HDv+NlxD/l6AQ/42VD/+FjQ3/h44N/4+U + D/+IjA7/jYwM/46KDP+JhAr/gn8M/396C/+BeAz/g3gN/4J1Df+Acw7/fm8P/31uD/98awT/wruS4d/c + 3J+LiYbDAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RwLy7vtPWzMRjo0L/YaY2/1+XMf9lri7/YqQp/1x+ + If9lgB7/aoIc/2+FGv99jRf/i5YV/5KaFv+JkBj/gogP/4OLDf9/hgz/fIML/4OKDP+Umw7/nKEP/42T + Df+Ijgz/jJEM/5CWDf+Liwz/kY4K/4+KC/+Jgwn/gn0K/4B5Cv+CeAv/g3gM/4N2Df+Acw3/f28N/35v + Df9+bgP/w72S4d7c3KCLiYbDAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Rwr27vdTYzMRfmTv/W6Ew/2a+ + M/9emCj/WHUf/197Hf9ogxv/bIIY/3KFF/+AjhT/jZcT/5KZFv+IjhX/gogM/4WJDP+AhQr/f4UJ/4iO + C/+ang3/naEN/42SC/+LkAv/kZUL/5KUC/+OjAn/lI8J/4+JCf+Jgwj/g30J/4F5CP+DeQj/g3gK/4J2 + C/9/cgz/fm8L/4BxDP+AcQL/xL6R4d/b3KCLiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Qwr28vtPU + y8Rgojn/YcEx/1uXKf9Zdx//W3gb/2F8Gf9rgxf/bYEV/3WFE/+DjhL/j5YP/5KXE/+HjBL/g4gK/4WJ + Cf+ChQj/gYYI/46SCP+eoQv/naAL/42RCf+OkQr/lpgK/5ORCf+Sjgj/lI8I/4+JCP+Jggf/g30G/4F6 + Bv+DeQf/gncJ/4F0Cv9+cQr/fW8J/4ByC/+BcwD/xL+R4t3a26GKiIXEAAAAjwAAAFoAAAA2AAAAHQAA + ADIPDw+Qwby8v9XczMVhuDf/VpEl/1qFIv9bfBz/XHcZ/2J7Fv9rgRT/b4AR/3eFEP+FjRD/jpUL/5GV + EP+GihD/g4YH/4WIB/+ChAf/hIYH/5SVB/+hogr/nJ0J/5GRB/+Tkgj/mZgJ/5KPCP+VkAf/lY8H/4+I + B/+Jggb/hH0F/4J6Bf+CeAb/gnYH/350CP97cAj/e3AI/4F0Cv+BdQD/xL+R4t3Y26KKiIXEAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Qwb69v9TWy8ZZhCz/Voof/1yJIP9cexn/XHYW/2N5FP9sfxH/bn8O/3mE + Df+EjQz/jZMI/5GUEP+FiQ3/hIUF/4aGBf+ChAb/hocF/5iYBv+jpAb/m5oH/5ORB/+WlQb/mZcH/5KP + Bf+XkQb/lY4F/46HBv+IgQX/hHwE/4N7BP+CeAX/f3UG/3xyBv96bwb/e3EG/4J2Cf+CdwD/xL+Q4tzZ + 26KKiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw769v9TVy8ZXgin/V4sc/1yKHv9behj/XXQV/2N3 + Ev9rfA//b30N/3mCDP+Eiwv/jJEI/5CSEv+Ehgz/g4QD/4WFBf+CgwX/iokF/5uaBv+jpAX/mJYF/5OQ + Bv+Ylgb/lpMG/5SPBf+YkQb/k4sG/42EBv+HfwT/hHwD/4N7BP+AeAX/fXQE/3pwBf93bgb/enEG/4B2 + CP+CdwD/xMCP49zZ26OKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw7++wNXVzMZYgCj/Voob/12K + G/9cehb/XXIT/2J1EP9rew7/bXwM/3iBC/+Eigr/io8H/46RE/+ChAn/gYID/4ODBf+Cggb/jYsF/52c + Bf+iogb/lZMF/5OQBv+YlQb/k48G/5WOBv+Xjwb/kIkG/4uCBv+FfQT/g3wD/4N6Bf9/dQX/enEE/3Vu + BP90bgX/eHEG/393CP+BeQD/xMGO49vZ26SKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6RxMC+wNXW + zMZZfib/V4kY/16KGf9behX/W3AS/2JzD/9peQz/bHoL/3eACf+DiQj/io0H/46QFf+Aggj/gIED/4GC + BP+BgQX/j40F/5+dBv+hngX/lI8G/5WQBv+YkwX/kosF/5aOBf+VjAb/j4YF/4iABf+EewP/g3sE/4J4 + Bf9+dAT/d3AE/3JtBP9ybQT/d3IF/3x3B/+AeQD/wb6N49vY26SJiIXGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QxMC/wNbWzMZZfCP/WIYV/16KGP9ceRT/XG8Q/2FxDf9odwz/bXgK/3Z/CP+Bhwj/iYsH/42O + Ff9+gAf/f4AE/3+AA/+CgQT/ko8G/6CeBv+emQb/kowH/5WPBv+VkAX/kYkG/5eMBv+TiQX/jYMF/4d+ + BP+DegP/g3kE/4B2BP98cgT/dW4E/3BrA/9xbQT/dXEF/3t4Bv97dwD/vbqN49za26WJiIXGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QxcG/wNbXzcdXeiH/V4QT/16JFv9deRL/W24N/19wDP9ndAv/bHYJ/3V9 + B/+Bhgf/iIkH/4yNFv98fgX/fn4D/35+A/+DgAT/lJEF/6GeBv+alAb/kYkH/5WOBf+SiwX/kIcH/5aK + Bv+QhQX/i4EF/4Z8BP+CeAX/gXYF/35zBP96cAT/c2wE/29qA/9xbQP/dHEE/3t6Bf9zcAD/uriN493a + 26WKiIXGAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6Qx8PBwdbXzcdWeB//V4IS/16IE/9ceRD/WmwN/15u + C/9lcgn/anUH/3V8B/+BhAb/hocG/4uLGP96ewX/fH0E/3x8A/+EgQT/lZMF/6GdBv+Vjwb/kIgF/5ON + Bf+PhwX/kYYG/5OHBf+MggX/ioAE/4R5BP+BdwX/gHUE/3xyBP92bgT/cGsE/29qA/9wbAP/c3ED/3l4 + Bf9taQD/ubWN493a26WKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8PCwdjYzsdWdR//VX8P/12G + Ef9cdw7/WWoN/15sCv9jcQj/anMG/3R7Bv9/gwX/hIUG/4mJGf94eAP/ensE/3p6BP+FggT/l5QE/56b + Bf+PigX/j4YG/5CJBf+MgwX/kYUG/5CDBf+KfwT/iH8D/4F3Bf+AdQT/fnME/3pwBP9zbAT/cGoD/29q + A/9vbAP/dHID/3RzBf9nYgD/trOM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8TDwdjY + zsdVch3/U3oN/1yEEP9cdg3/WWkL/11rCP9icAf/aXEG/3N5Bv9+gQT/goQH/4aHGf91dgL/eHgF/3l4 + BP+GgwP/mZQF/5uXBf+MhQX/jYYF/42FBP+JgAT/j4ME/4uABP+JfgT/hXsE/390BP9/dAT/fHIE/3du + BP9yawP/b2oD/29rA/9vbAP/c3MD/25tA/9hXQD/tLKM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QycXEwdnZz8dUbxv/UnYM/1uBDv9cdQv/WWkJ/1tpB/9gbgX/aHEF/3J3Bv97fgP/gIII/4SF + GP9ycwL/dnYF/3h3BP+IhAT/mJQF/5aSBP+IggX/ioMF/4iAA/+IfwT/jYEE/4d9BP+HfgT/gXgE/39z + BP99cgT/enAE/3RtBP9wagP/bmoD/25rA/9wbQP/cXED/2lnAv9cWAD/s7CL497a3KaKiIbGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QysfFwdna0MhTbRn/UXIL/1t+Df9bdAr/WGgI/1pnB/9fbAb/Zm8F/3F2 + BP95fAL/f4EK/4KCFv9wcQL/dXQE/3d2BP+JhQT/mJQF/5GMBf+GfwX/hn8E/4N7BP+IfgT/iX4E/4V7 + A/+GfAT/fXQE/31yBP97cQT/d24E/3FrA/9uaQL/bWoC/21qAv9xbwP/bWwD/2RiA/9XVAD/sa6L5N/b + 3KiKiIbHAAAAjwAAAFoAAAA2AAAAGwAAADEODg6PysfFwdjYzsZRaRb/TW0G/1d6Cf9YcQb/VGUE/1dk + BP9caAP/ZGwB/25zAP92eQD/fX8K/31+Ev9sbQD/cXAB/3Z1Af+IhQL/lZEC/4uEAf+BewL/f3gB/393 + Av+EewH/hHoB/4N4Af+CeAH/eG8B/3lvAv93bgH/cmsC/21oAP9rZwD/a2cA/2tpAP9ubQD/ZmUA/2Bd + AP9STgD/rquJ497b3KeKiIbHAAAAjQAAAFgAAAA1AAAAGAAAACwQDw+MysbEv9LRx71WbR3+U3AP/1x7 + EP9ddQ7/WmoN/11pDv9jbQz/anEK/3N4C/96fAr/gYMX/36BGv9wcQj/dXQL/3t7DP+Niw3/l5QN/4qE + Df+Efg3/f3kM/4N8DP+IgAv/hnwM/4h/DP+CeQz/fXQM/310DP95cwz/dW8L/3JtCv9xbQn/cW0K/3Jx + Cv9xcAr/aWgL/2RiCv9WUgf/qaaH2tjV1aGMiojGAAAAiQAAAFIAAAAwAAAAFAAAACQLCwuCv7y4v9XR + y6PMzcDB0tTGzNTWx87V1sfO1NXHztXVx87V1cfP1tbHztjXx87Y18fO2dfIztfWx8zV1MXL1dPDytXU + w8nX1cPJ2NbDydbUw8jW08PI1dPDydbTw8nX1MPJ1tPDytfUxMrW1MTK1tPDytbTxMvW08TL1tTFy9bT + xcvV0sPL1NHDzNPRwszS0cLM0c/CzNHOwszJx7vFxsK7sM3IxJmEgoDGAAAAewAAAEYAAAAoAAAADgAA + ABoAAABTaWhmx9jUzrLg3Nmr4t3br+Ld26/j3tuv497br+Pf26/i39uw4d/br+He26/h3duv4Nvart7a + 2Kzc2Nap29bTqNnV0qfY1NGn2NPRp9jV0abZ1NGm2tTRpdnV0abZ1NKn2dTTqNrW1Kjb1tSo29bUqdzW + 1and2Nap3dnWqd3X1qra1tSq2NTTrNfU0qzX09Ks19PSrNfT0q3W0c+r0MvHp766tr0xMTC4AAAAVwAA + ADUAAAAeAAAACQAAABIAAAAnAAAAZzMzMqtPTk20TEtKs0tLSrRMS0q0TEtKtExLSrRMS0q0S0tKtEtL + SrRLS0q0S0tKs0tKSbNKSUmzS0pIs0pKSbNKSkizSkpIs0pKSLNLSUizS0pJsktKSbJLSkmzS0pJs0tK + SbNLSkmzTEpJs0xKSbNMSkmzTEpJs0xKSbNLSkmzS0pJs0tKSbNLSkmzS0pJs0tJSbNLSkm0TUxLth4d + HaMAAABeAAAAOAAAACUAAAATAAAABQAAAAsAAAAWAAAAIQAAAC0AAAA3AAAAOgAAADoAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADoAAAA7AAAAOgAAADMAAAArAAAAIQAAABUAAAALAAAAAgAAAAQAAAAJAAAADgAAABMAAAAXAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGAAAABcAAAATAAAADgAAAAgAAAAEAAAAAAAAAAEAAAACAAAABAAA + AAcAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAkAAAAHAAAABAAAAAIAAAABAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBIAAAAAAAPIEKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ABEAAABAAAAAVwAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABXAAAATAAA + AB8EBAQ+VlRQlXNybqFqamaeZ2dinWZkYJxqaGOdcG5pnXFwa550cm2feXRxn350c597cW+efHVwnU1K + RZgAAQFUFw4NUI+5uMNY4+b0Xt7b9Gbh2PRv59bzf/La9JP84vSx/+r0z//p9Nv/4vTP/930yv/Z9N// + ufKnp5OvAwEEZRkPDk6Eu7nPLtvX/zrbz/9F4Mn/VOrF/2Xuvf9y667/guWe/4nciP+K1Hf/jM5v/5bO + b/+v2HT/paeTuwQCBmIZDxBPirmy0D/Wwf9Q273/W9yt/2vZm/9x0IT/csZw/33Eav99tlT/fqdG/4Cb + QP+FjjH/mZAz/6SfjL0FBQhjGBAST5G6rtFOyqT/VsCS/1mze/9mrGv/ZqFZ/2WXRP9zmDT/bYIh/3V9 + HP96eBn/d28X/4p7Jf+kno3ABQYJYxkTFlCOq5vTPpFi/0eLV/9WlE//b51B/26NKv9tgBn/d4YX/3N+ + Ff+ChhX/gH0W/3ZuFP+FdyH/pZ+OwQYGCWMZFBhQkKiR1EuNRv9dlDr/bZgu/4CWHv98iBT/eoUR/4SQ + Ev+CihD/iYoP/4F9D/97cQ//hHYc/6Wgj8MGBgljGBQZUJasidReozD/Y40i/3OHGP+MlRX/gYgO/4iP + Df+RmA3/jZEM/42JCv+Cewr/gXQK/4l6F/+noo/EBgYJYxgUGlCXroXVWI8f/2J4Ff97iBD/jZIO/4OF + CP+TlQf/mJkI/5WSCP+PiAb/g3oF/31yBf+KfhP/p6OOxQYGCWMZFhtQlaOB1VeCFf9idRD/eoQK/4qM + C/+CggT/mJYF/5iVBv+WkAX/jIQF/4J4BP92bgP/h4AR/6ajjcYGBgljGRYcUJaif9ZYgA//YHAM/3d/ + CP+Ghwv/gIAE/5mVBv+UjQb/kogG/4h9BP99cwT/cGsB/4B+D/+joYzGBgYKYxoXHVCWoH7XU3cG/1tq + Bf9yeAL/fX4I/317AP+TjgH/ioIB/4p+Af+AdQD/dWwA/21pAP90cgn/oJ2MyAcHCmQaGB1RoaiK1maC + HP9teh3/gYYb/4mKIf+Nixr/m5Yb/5KKG/+Uihv/i4Eb/4F7Gv9+exf/fHoi/6WilMcHBwpjBgYHMXp5 + dKCcnZG2mZiNtJqZjbWZl4yzmJaIsJiWiLCYlYiwmZaJsZmVirGYlYqylpSJs5mXjbRqaGadAQEBPQAA + AAUAAAAeAAAAKgAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAArAAAAIwAA + AAoAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxB + + + \ No newline at end of file diff --git a/OnTopReplica/Actions.cs b/OnTopReplica/Actions.cs new file mode 100644 index 0000000..8406001 --- /dev/null +++ b/OnTopReplica/Actions.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica { + + public delegate void Action(); + + public delegate void Action(T1 arg1); + + public delegate void Action(T1 arg1, T2 arg2); + + public delegate void Action(T1 arg1, T2 arg2, T3 arg3); + +} diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs new file mode 100644 index 0000000..4e96ab7 --- /dev/null +++ b/OnTopReplica/AspectRatioForm.cs @@ -0,0 +1,214 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Runtime.InteropServices; +using VistaControls.Dwm.Helpers; +using System.ComponentModel; +using OnTopReplica.Native; +using System.Drawing; + +namespace OnTopReplica { + + /// + /// Form that automatically keeps a certain aspect ratio and resizes without flickering. + /// + public class AspectRatioForm : GlassForm { + + bool _keepAspectRatio = true; + + /// + /// Gets or sets whether the form should keep its aspect ratio. + /// + [Description("Enables fixed aspect ratio for this form."), Category("Appearance"), DefaultValue(true)] + public bool KeepAspectRatio { + get { + return _keepAspectRatio; + } + set { + _keepAspectRatio = value; + + if (value) + RefreshAspectRatio(); + } + } + + double _aspectRatio = 1.0; + + /// + /// Gets or sets the form's aspect ratio that will be kept automatically when resizing. + /// + [Description("Determines this form's fixed aspect ratio."), Category("Appearance"), DefaultValue(1.0)] + public double AspectRatio { + get { + return _aspectRatio; + } + set { + if (value <= 0.0 || Double.IsInfinity(value)) + return; + + _aspectRatio = value; + } + } + + Padding _extraPadding; + + /// + /// Gets or sets some additional internal padding of the form that is ignored when keeping the aspect ratio. + /// + [Description("Sets some padding inside the form's client area that is ignored when keeping the aspect ratio."), + Category("Appearance")] + public Padding ExtraPadding { + get { + return _extraPadding; + } + set { + _extraPadding = value; + + if(KeepAspectRatio) + RefreshAspectRatio(); + } + } + + /// + /// Forces the form to update its height based on the current aspect ratio setting. + /// + public void RefreshAspectRatio() { + int newWidth = ClientSize.Width; + int newHeight = (int)((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical; + if (newHeight < FromSizeToClientSize(MinimumSize).Height) { + newHeight = FromSizeToClientSize(MinimumSize).Height; + newWidth = (int)((newHeight - ExtraPadding.Vertical) * AspectRatio) + ExtraPadding.Horizontal; + } + + ClientSize = new Size(newWidth, newHeight); + } + + /// + /// Adjusts the size of the form by a pixel increment while keeping its aspect ratio. + /// + /// Change of size in pixels. + public void AdjustSize(int pixelOffset) { + Size origSize = Size; + + //Resize to new width (clamped to max allowed size and minimum form size) + int newWidth = Math.Max(Math.Min(origSize.Width + pixelOffset, + SystemInformation.MaxWindowTrackSize.Width), + MinimumSize.Width); + + //Determine new height while keeping aspect ratio + int newHeight = (int)((newWidth - ExtraPadding.Horizontal - clientSizeConversionWidth) / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; + + //Apply and move form to recenter + Size = new Size(newWidth, newHeight); + int deltaX = Size.Width - origSize.Width; + int deltaY = Size.Height - origSize.Height; + Location = new System.Drawing.Point(Location.X - (deltaX / 2), Location.Y - (deltaY / 2)); + } + + /// + /// Updates the aspect ratio of the form and optionally forces a refresh. + /// + /// Size from which aspect ratio should be computed. + /// True if the size of the form should be refreshed to match the new aspect ratio. + public void SetAspectRatio(Size aspectRatioSource, bool forceRefresh) { + AspectRatio = ((double)aspectRatioSource.Width / (double)aspectRatioSource.Height); + + if (forceRefresh) { + KeepAspectRatio = true; + } + } + + #region Event overriding + + protected override void OnResizeEnd(EventArgs e) { + base.OnResizeEnd(e); + + //Ensure that the ClientSize of the form is always respected + //(not ensured by the WM_SIZING message alone because of rounding errors and the chrome space) + if (KeepAspectRatio) { + var newHeight = (int)Math.Round(((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical); + ClientSize = new Size(ClientSize.Width, newHeight); + } + } + + /// + /// Override WM_SIZING message to restrict resizing. + /// Taken from: http://www.vcskicks.com/maintain-aspect-ratio.php + /// Improved with code from: http://stoyanoff.info/blog/2010/06/27/resizing-forms-while-keeping-aspect-ratio/ + /// + protected override void WndProc(ref Message m) { + if (KeepAspectRatio && m.Msg == WM.SIZING) { + var rc = (Native.NRectangle)Marshal.PtrToStructure(m.LParam, typeof(Native.NRectangle)); + int res = m.WParam.ToInt32(); + + int width = (rc.Right - rc.Left) - clientSizeConversionWidth - ExtraPadding.Horizontal; + int height = (rc.Bottom - rc.Top) - clientSizeConversionHeight - ExtraPadding.Vertical; + + if (res == WMSZ.LEFT || res == WMSZ.RIGHT) { + //Left or right resize, adjust top and bottom + int targetHeight = (int)(width / AspectRatio); + int diffHeight = height - targetHeight; + + rc.Top += (int)(diffHeight / 2.0); + rc.Bottom = rc.Top + targetHeight + ExtraPadding.Vertical + clientSizeConversionHeight; + } + else if (res == WMSZ.TOP || res == WMSZ.BOTTOM) { + //Up or down resize, adjust left and right + int targetWidth = (int)(height * AspectRatio); + int diffWidth = width - targetWidth; + + rc.Left += (int)(diffWidth / 2.0); + rc.Right = rc.Left + targetWidth + ExtraPadding.Horizontal + clientSizeConversionWidth; + } + else if (res == WMSZ.RIGHT + WMSZ.BOTTOM || res == WMSZ.LEFT + WMSZ.BOTTOM) { + //Lower corner resize, adjust bottom + rc.Bottom = rc.Top + (int)(width / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; + } + else if (res == WMSZ.LEFT + WMSZ.TOP || res == WMSZ.RIGHT + WMSZ.TOP) { + //Upper corner resize, adjust top + rc.Top = rc.Bottom - (int)(width / AspectRatio) - ExtraPadding.Vertical - clientSizeConversionHeight; + } + + Marshal.StructureToPtr(rc, m.LParam, false); + } + + base.WndProc(ref m); + } + + #endregion + + #region ClientSize/Size conversion helpers + + int clientSizeConversionWidth, clientSizeConversionHeight; + + /// + /// Converts a client size measurement to a window size measurement. + /// + /// Size of the window's client area. + /// Size of the whole window. + public Size FromClientSizeToSize(Size clientSize) { + return new Size(clientSize.Width + clientSizeConversionWidth, clientSize.Height + clientSizeConversionHeight); + } + + /// + /// Converts a window size measurement to a client size measurement. + /// + /// Size of the whole window. + /// Size of the window's client area. + public Size FromSizeToClientSize(Size size) { + return new Size(size.Width - clientSizeConversionWidth, size.Height - clientSizeConversionHeight); + } + + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + clientSizeConversionWidth = Size.Width - ClientSize.Width; + clientSizeConversionHeight = Size.Height - ClientSize.Height; + } + + #endregion + + } + +} diff --git a/OnTopReplica/Assets/25.png b/OnTopReplica/Assets/25.png new file mode 100644 index 0000000000000000000000000000000000000000..e98a5dda4366693f7bae7194ede43e7da9befd9a GIT binary patch literal 639 zcmV-_0)YLAP)@Pd1f>O+aux zK?~z2D(hDve&Nl$xUO7raAe@weRt-adFFlRS?+K+z-P=vkLzF8=ROH>gSbLOkG^-r zE8-_YMJNdQ<;x4l3heiLh{xklsZ??%lj*_Z@d$3W8ypS?%U&**(dl#=olGXV-EQ|g z7!1n2UeD+Nolq{9b5^UhAc`WmTrSWHlcAr%Znq2T^;+=xe9&&UjRM>4RwCv=AOJR- z4Ui2+qY;e9W46ib^#UbPM-(SQ%we$$dTchE8)OxTMbk8>*Xv7c@oOv=;|REZqoS0g z19OZH@Z-wqbh1FF(}Bfe@svm;9_bs8ri4Nv8Smx9ddx8j;JKn^vza-&-7X}P$wz$y z#^h$R3537w?Yx6i_49SHSfm&CFCAPQS>AC(ESV-yDwXoI&SWyDje;QL5r-obMB)4r zU;F(&V~#{3fXBI`BG0jB(4I8lc|K3RY&Hu7oQjM&L)IQiS^O^27)z2Q34XsHEEWsY zYBgxJT8up$4nsPfX7?}{3_w-YA&&C$p(@^HyVus&6xB+%A_Q+*=z757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVN2)+ICY~;iAsWHS2@*yR>@O^BF=$KY z$YeMf>@Ivlq-NVg-t-))&Mt|RUYE=U%|ovWC;3Q79A#KJTkBeuNQ*O2KZB>MpUXO@ GgeCw)7e2)R literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/arrow_up.png b/OnTopReplica/Assets/arrow_up.png new file mode 100644 index 0000000000000000000000000000000000000000..b34489e747f6c4d65d4f2bb82693fe6535d8e783 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@q#X;^)4C~IxyaaMs(j9#r85lP9 zbN@+X1@aY=J%W507^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVN2)+I+MX_sAsWHS2@;zg*ss)M&umCs x^hGIK!AseUx5D(%<%VG8zb1mBUSC347&NW5uD!bX|2|L~gQu&X%Q~loCIAd3JJA3D literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/back.png b/OnTopReplica/Assets/back.png new file mode 100644 index 0000000000000000000000000000000000000000..d5cfc9f16a5141391fbb6051cc6382cd52c23a28 GIT binary patch literal 150765 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�l==v9-BOCPv*ENV#bGR0oHk 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 bF9!ZU+yv;L96J+*00000NkvXXu0mjf5|;Bq literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/clickforwarding.png b/OnTopReplica/Assets/clickforwarding.png new file mode 100644 index 0000000000000000000000000000000000000000..66d9bc80fde385d142fef3f29cf7817a404de259 GIT binary patch literal 951 zcmV;o14#UdP)_ROnYA*=AP;U%I zAV$MaO@wM&G*l%a)Lpi_-A=nZ+nG7Xvs1))LN`Z-e+eAi-xY0r<+Y2;S2bje z$w{xK>$7@5x0s@kUoT%y_8#f^n1w@C_2I_l(eB@VSYcnE!H3&kz>b~-%$sTVsBe-t zqi4hwe7bulcJ`kDDHPxr9DD9xd%ov@V7lDStpj-g~ zalaUKRk#pUOLPPq=fhX6;X>jlPJDX`e}3MNX|sUNz3q7J!F6Er8mblqlUd02e*_48 z_AJ7w34|;I{Vi>HIQ|A$nd(}09PX}1)6e620e!7A~y&-82i1?Kpxv1)(sDsA>*pPY-SghP1JJ zqpQchJ3H9)=zHrLKHK-MVI!Y%;ABhwf|ABtzc0uCmRh}O^OG-+j9wZ3W9(8wZVde` ZzyLCuV;%72pw9pR002ovPDHLkV1jSLx#s`? literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/component.png b/OnTopReplica/Assets/component.png new file mode 100644 index 0000000000000000000000000000000000000000..c1796148e6e9d38079060282af20f44099970f5a GIT binary patch literal 731 zcmV<10wn#3P)004R= z004l4008;_004mL004C`008P>0026e000+nl3&F}00009a7bBm000XT000XT0n*)m z`~Uy|7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$BHmT?0B>(^dJxN4CR5(wKlUryL zK@^6MAigLHO1+@e78QI@48?#%u|5Q~6e&W5Dp)U7q0)#HLCH%%3Mz_tDJ?~amY^2t zOA+xwu@r(J+M19iy(F79mkr4V4K9ID2>kxLLJVyJS@;;{%sK!3XJ&SlEc?E`kS>P0 zNj({~T@}~zoT~GW4`j1{On~?h5Pl6U)Qs_Ga=9h}?rfpJ6)n&V1Rn#TJ|J@wjJ-4j zxL#LP$U7kSXTNMhcw#Gz5#e57#);6Ubzq^%)O!K*E>#rq4#^+HJixpQm}Bu==Rf9e zQ|ulPc?zVS8v@@e3UG%aVn$*+5N!jL7ILDDvuwvW zXe-!iWaN%4-tCZ4`vI|*xA0S6Xh%A*4LRkodGGEXiE1-;GnV$%qo7{I=O+?p(GFrf zsx>76+8I=RcH|a#NV*ID539`+&nLUhm^OO~+Dt3nIc2!wJD?p4ZH+J?W$f;`C2t>H z5C`psNOIts1UVn;JSIn~J!iv?VQV*OBpb+DvYqTA4J&Nd^oP}u^cS%>oLGX`a2Ego N002ovPDHLkV1g_eD)#^Y literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/desktop.png b/OnTopReplica/Assets/desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..1f6a7f4bb706a4d9e2b81257c1dca8fc045f8f9d GIT binary patch literal 794 zcmV+#1LgdQP)ezU0v0~n=;2C zMiWEah^V-7;Rm=ET)A=Qr}z#2f`~gmKnMt~qM$}GniyhYhUc5Qy9Q6^C8E_7UDR;u zo}ol^|9KFRgj5l`fRF-O2M7@`vJO531n1zYihuU11gZjg>>y#GM3$ol5HSJbdJ4F+ zta0;F0v9BVF$muAOnLGzivq$~%(h~zt#1*a*?`m$B6dZ9(s|sw-olf+(+H74;RJc959_ z-R=>J5iMiMXHA^-(rwd*Mx^$uu(&YQz}roY7heox%&ZP-e_2jR4N|IVR1C$^BbHQg!~3s4(ad7ZPj+zo z>I%At)mT8XF`93Mv=u{F)0GDVbL46X)N^E`6D+N)V(s$)J6+4m0v0cyN28hZu%=U* z0gGV+$3jCqdif?S=@Fyc!9}C7;WNyXBdl)~*f<_S^X1j{cZUQkHMS2bSVq(rBM8g2 zkFVG4Zeyr?HIK)05{J{*(0ca<3vrBB->l;OaK4? literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/empty-window.ico b/OnTopReplica/Assets/empty-window.ico new file mode 100644 index 0000000000000000000000000000000000000000..ca5edce1402e54eb04e80c5c2ca8916f7ccf019b GIT binary patch literal 10806 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

    vF9gJ@Je|yRw3>4@pRamq~Dp4(LNsCb6l7h zFxvaNhK=nl!`NSOj9@<~LcbHR8(Zi-?bzqmVqdcv`#kx*DcXy|zJwn4;!U`(*6XtM zj+#2#MpqUmJu}!_!ajxt_svc5psmeq)~oT`DX9s26!tFMjWViKzhI7x21lGZu5#B<7XuwJcp5;yRJ8 zU1`>!YgM{NrRxkj7hKG_G!x+Ukk@USwOe{7agC6_K8VxYjO&+vIv;Z~b3d2v?b7^7 z*CGeF$Av!1-2d{r>~k)=W$N44hct6%=h-8=uGs3Q8HmoicrJY}%|qLm-Ec1?;`cb_ z`+B-2|KF=N>vUaC^E}PRm~AqHn9GLILq}Zp zzJ*_Y@By#7vcg?cRpG8Ct1Nd_R+KsMTSEuTo-+r2FX*U(Rg{&|YcBl$(DR#*f2}Df KNIv}U*na?MF7@;P literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_czech.png b/OnTopReplica/Assets/flag_czech.png new file mode 100644 index 0000000000000000000000000000000000000000..8308ed84ed70128030d13e6315cf7864c24d4e18 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ#}*A-ZN!DMTwp+jv*HQ$q5p_8V)aiYp>eCn8LvE|M%Zso#F><2Y8gOitsQyu<72b z?8+$KAmz}N{Xy!3v)iZt@}8=DB$hL_m>hay$fFRZ+{XCko-E7U?z06Oxc_;1O3t2amNsq%TE^h%>gTe~DWM4f&;U;T literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_danish.png b/OnTopReplica/Assets/flag_danish.png new file mode 100644 index 0000000000000000000000000000000000000000..d39d4c1917c8e11a5b4a713cb900312b21c89195 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8oo45Zzdi4M2&;Pe<`LC`0f7R;$r%(UC zfB(O+@qb?4|NHj+KXBl`l+?R(mw*ON`7uKTXq{q7kY6y6ix)7=KX^eAs5sHn#WAGf z)|B(^d<_mf&VlD0UhFO3@n5qurG-WMNOaxN?gteI%RAPtO5OBCxrys2``Hik4jSof zy1TF_RAHyLcA2}Wk(EioB(EZ09%t>lvPyAN!Zie>ud;V8 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_spanish.png b/OnTopReplica/Assets/flag_spanish.png new file mode 100644 index 0000000000000000000000000000000000000000..4463433243309356b86730484fae8dd811b93ee5 GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8X6a5n0T@z;_sg8IR|$ zNC65;mbgZg1m~xflqVLYG6W=M=9TFAxrQi|8S9zqnR<5pc>q*Y>*?YcV&R{hAW`rk zFz}zf>WoIAvkH5sNPqah|44m^&cFYs&3R1>OH4WJm^VF}uHEvl{xua1Mz1@R9lO|LWha|K`Uk`AkWh@H&v^$N%~KYd${ZPE*iz oo1!@7_@M*Kn;Fl0i&!%-Yzopr081=vMgRZ+ literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_usa.png b/OnTopReplica/Assets/flag_usa.png new file mode 100644 index 0000000000000000000000000000000000000000..aed8f11f9992b987e25e3344be224bfc6294d3c2 GIT binary patch literal 355 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/fullscreen.png b/OnTopReplica/Assets/fullscreen.png new file mode 100644 index 0000000000000000000000000000000000000000..b1f8a2b0282f2dd25a2fb69f343d0696a2db3241 GIT binary patch literal 396 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon-new.ico b/OnTopReplica/Assets/icon-new.ico new file mode 100644 index 0000000000000000000000000000000000000000..18362992f3fec1ff3742fd8b63d393500a8b5cc2 GIT binary patch literal 86918 zcmeFZcXU-(maj{_cl&nteI3d{`>e}cP-ZQy1zz*m*0|? z$P45d!suA{Z{+_Y|3rjeMvBDwWAEbeKM+Qku@fIEq{rwOr)(FJnODy>Kt;!(;a%=SBR8pBLUmE`LtM@B4;qBRj}0vWH0jo&T0= zAg=vxvXe-Wtz%#k1B7E;72go6El*keJzw_U64aBuSMvjn!M3#tL6uBw#RK$U(*CK~SZzk%wh=E@d z;rxFRk^92Es12fL5P2`$i(3CB5$_|s?PqPQ=GsMCAP!WGfNzBywGWh~FXH z>JdX?OiYOxF@H3Q@RiO7BNS`jzGy%7=KLrE&hBsnCP&J}pQt zFUm~FGLs%7dCYUAXHF%R7Mw~dKbxIY$@i%)I-OEo zl9$5YnNnMEHo3l{DCJyLQA%TVQA$&FaY}1lX>xOINoq@dSxQTNX-Z2&St?0;Olw1V zx}fb`Wm@~Ws=uJ4u`2B^XsS-{lu(u0*;JLrYx37=s!rqU(z?X+O*Ls9JZ^8UN^NVb zOl_+#Pi?6qwfuZF#mW4<;&Uc9)s&?096xtiaw|V`TLWKvt}3;o`O)ueu1W80tIz0Y zt~r&KoY<SPMjCSJ`s#;{pHSI< zTw8Iks)qa?RSmhFD(XjfD61aarlc&hRY^f+i=w>D*NVsXZBjVA_bY|N(i;_y?Aa)P zX!n=$vO7PM+qeB=x&7Pz3R`%N?ECs7xxJe|Jhqpkc)Wk>$H!#1eSGYY)ThS|@BHl8 zu{|5*6!&eCQ(KcuLyDkINpD6gloPhL-Tzr3#Ueg(bb zvI+)j2NaAn4k;OF9#t~YmRB~{QBX0}mgCRLtC(sXQ?bxfQcj8VG3;$`O7Zgaxb$!T z_OIjgmqbME7W06p0g7ZF5p#gZb1?^q+Ar1uA{IU%qV|hBIN&BwobZ#nQsV(agfb!OYy<-sC@G$Hz85<6>iE z?rLK!Ip<+-V&>&&YUb@|X6Ef=Ztmx5Wgg&eV;<;fYaZn7U=iZ&WD)M?ViDo*Vi6VS zY7rgeW*HsiZW$foNjxNDOsJQYgfK7b*f4M6V;vXfYt28Cb$sZ5B!TA=!~c?`2tS*o zND}2|DvD5RmOq;vdpG7(&em+cKIxU9S>rt&S>wH(+2{K@vnTqx9@5{HJvG>! zJvGpsJt?6ldvZ`h&g4K(&cs0PBgAnJ&-F@}80h2Jclu}gPfrf^pPu+L&hs@BgMGPz z^S@x6$K!*&62^x5az}YQMn(sFaz_SwPLD{&?$aavJ*S8JyK{#7yK;v5y2O}0#Lxfp zG0zQj=kWEXM+SOxhx>bT`g^)EyW3lnn;Yt*t4fLj3bNC@GvdP>S&yv)J?+f=-K-4e zrp~uN^Yqh`bQncki7`(ZB99lR9zI^= zxy8xi`2`6jJT6^Wm@MVvviW(kFj+2PexiJyEReamiHiBTiAqvMs^{k>tLA4Xs|5>l z6E&ok)bX|TiwhHViwl$ImKG-)mlr3SR+c84SC%JRN!u#n<2G@;viOLF$@Z0n$&S^< z$xfc@67aZZbwNV!h55<83v&;-I5#M}xGPyE0IecYya`@`(sTg$4p+oc2&ZSKOe7O zo4j`YI-k2fdE@%c$s5r;EM3okYy@e;_Xqk^iC>5bMHki106Z#?FzU z!MU`!P}l5~7%$e$@Zpw*6y>Sa?>Ed}!3s4|R3ky(Ln8$IBY7285 z=b*kY3(dt@Xb~N9VtE#NOS8}?Mys-_9cbyBQ>YKZE3ZGf4k&8ks*$;q-$k z6s%355K}0@B+58ekXp>31@q{|GRANLbGVL+xPzOx%m3ZSPxukQ8u`EZ?*U)@J-JCP zkSWqfnn(pHAh{SGXvwduDhcOO$TL2|&o0c*$#h=$f0+NmzdJD{nnbwWMZ`S+|L=cz zaPCw}v-rS@ZcZcU<_yAa&m#Q0IYfLvhv>U>{=+O1f0{+ggIQ!em`C>70`jnkGg!h| zjwKu`Ni97$VHKTgs~B3lgsHVFSY5k`8*6uPckKuI7ViGWe++{k$-T9oaDR;llCWTW ztlh#-YZrKKhR==Q`?YR-yVk(>EX7silPp|a%ix%XOUS@wq%bOyFgejz+1^y2SaLSY zKQ%7Ik$s{0{LEDEFZ_!&fEm#uzw|Hq{lAs}V!r4cq5tgESg)eIjNsODH7P6SN6IuO z=k9!Ueiqx#&pc#e8d4LJWC}aTP9E=^oM1eh$L@*q*u(KLdnd;j6QhiYQOHb>;vhLp zj?RpbVH}$sg51m?8DL!WlRm~pFBE5cB&f`GLv^l;anS{h`A%pN%|(t&9nf9wz{%Bi z=&g3ZfEZqEhw-I$m|pIH+0_nM-Dro+%?{Yz?u65K-EhCx2cP?c2zW4#2v{*kU9{LS1Jaz*anCqIzy z@#BNrxbo9=%s;q_*$0;}{?if`AI#y>g8?k9)nJa%b{?4+;-~3FEczZqq5nZR1|Ec9 z;HMxA{}hPP`=L1ZeIhdNW?^D>tg)}NHG{om$f@K==hzT$%Y~Wg$NuB!@t6L^KA_m! z6Z!w={>7T`as7Yne?B)e-n*nAC#AF#fg)rr$Ti{D&4;|I`AzwKh1R18&4;tp}lN{fJ*1L*CjPYS%8)^=*vN z^DJ|Db?rx7X0Bdiu3n|iTeNtO{O$kN7!N=2e|K<)`Fs@&o?^74yIEQU3p*_LN`D%EW;~+K;lA(T%z4&UV2b;)OLtWT3*oDo5 zo%njF6WsZsf*Y0AP zF(78*ADQ#_`TyVZ+zr<3Ro4I6wMCp?n`6$-pr3Kn&EL_9b~LP=!&&+~{h*wFi{SP{ z5e)AY(R{Dp8p{SGe0C_>TVP! zzYD?09Z&S%v_tPTQ`9dTV{v)1cVwV1pYwB6ZbrO&VuZi-!t8Yalk(5?zi(wpenf9) z+v%H&b4^D^Ccb~WX9OSg4&#G9(mRL`dIs=^-U0lvPtcDKd;9TGPai(&>%qr8T|6ee z9r(1T9iR5L<8$(5UmG^`wPIs`D>jj@7z>*ov3Z~on;8dN7zbNN&OvIFF)_xNIDd|F z3Yltz^jstMG52Lw8z94cKYXnj3b$IJcBd03?)Jd&hXGjLAA{>p(+F5wLfC_g2xrZW zd~g%7%-1L2%WgIM>2nV}&hiWNAWwZDj7&#hfU4;_y%4#qeK46eJ7J8W`WLfh|2d|JX?X^>E`D{$mH}LF|vCNO&-UoChr^y_bR7D_*FXvqbrX5lY7N zQ8=iBv)yV~TAt_|A08-ZtSyVq&r0-2jta6_oSXi?$^Xaw|6j@fp@lQtTd687i0bQZ z%ccKjxv`n=-yImohZ4p(j^X3MQHYxG$sidJ4D)yZpAHS+v%!9R&bsjBa33~~^x>rwW7U3|VC@$?%>+u`gGLf0}8_ERdt z?uoN+ztX<-nHiUB9bB@OMp!yW5Gx zA9`^5{s7YGJN&11MBeX0$o)?E-EZM>Bcgw(Ma;cwzP17hx3iJC8j6BZdlYw@ps33P z1sw)hUY_h59})h`qYJW!s5qktd+OnNKXzA zzT&~zl;NkQ_r=}7o48}WCtka#5u$>*Js+MHDRrHa?t}xORk8Yc0l}j8^n!TA%4&taRU~J z?>9$kpEdGFoKZgGiP{xkoVyl?`kP@WycLG58=*+P9*jhiemxeMw-S(jGY09azKHKL z74tvyfADNeLseYi>2#m;gm8!D#V6!{XlSt{KO>-~yf9{mbW4)u{<$@mGKemI2Y+~QPd1?^faGkfE>v!pu2^_pMgJaj1Ab;xu zRKL3djk`Bk)2~DA{uQV&&z0^kLGgzfDEx39a`#3d|HB~Uxo%Us*9~RXPnGZ6_;bxT z&U&i;J=Xv~G%_X{>AnS~oS*HvU*e8&_|bdd+9(2k>Vf-@b#VNl7&dqFVfkGaEN-R4 z;#xASE+=xYAOQ|5v2a|7hW%^=Y^OqCKOO|zF+VtrdBbtk8_r{%@Hp>@fLT98Fu&vI zJ4Lv;5rpKc{)k!iM%273!loP%GG>d=K^uhjTOqW^0-;@I2x~V&Serh=nolC4Q3o;S zG!WOIgoOGdNT@rAB#xO)s>tirN7;lWs+XKmcF`Gm7wwRJ$pKlHJdl4i9K|;haP~$# zmM_fp(|=)0J^klq_?}9Ra9m!T9eC#Hr^Np6e=7f3{})TnWCqq%6~zqncH}evTNTI8 z-+iC;{bT0)hjjiCoqtT%A2ZiK6ZM|XH;fO`_b|Sh8;8{L6zljrWUj8@(DjQreESNH zes>LWcggoxaOk@WICy6P`@fyQ{#&EicVhtiu5(SuHT!|9Z8&tf8HX=7;mD;%(tu+Z z>v8Nt4dgFXL-9%#RBu$XPBh>o*LEfkx?sZ^@3b}qw+DU9Fe#Fc%A>nMfE-g~NCv3})k@uow-2W9cn-Uyy|hu^p(yoYSz+h+ye9!vOjn!&%#gcu>9*#H4e`UpCwhrqg% z2&&OVXtfr?tB)h5N)Cxt2N7Q-i{gHd%Q1uGZkMg1>qX{e4b&O7Csof7S|wD9Eom!8QAtg9%F9qjEq zb9;HQRc?Ir?t5J0eLCEa&qfFF#rQD3;=az;v)lvXe(dhmCG5R&5i&Qf;^4Q}ap=x< z9HejATbJl|3A?Y(K6MnG>k6naBJI5FS{y9%kI6vzF9aiG zH3*>>gAjfx0AUw=5xC$E?*X6iFyoL{g

    J)G?w51i`&(Xs)P-eizs$XT`rdKv5_Vp{gk8+@9n5#B z)hTRS9K)7{L2Q}pV=d^x)|pQBdTrP`(ZapMM(p64Zs$lXslo2y8m{-NNjdh7mXT8I zA1{LJWD$H_h81#9=YQzT)lXSiqjKGUwBou)cLJ-8- z?mO!V_c3QU_1nU((*pKwrf{HZ$0j23lcBDy0#`81Sd}0QwHER6=yM3gT;zBe_-$sdcJI zBN_E7$foz~8U2x{$q#2eZjUeN3Dfysy;ET;nCv={{U3t{Z*g5kF02Y1$Yw@Gif zjJm^Rzy&Vd_HgX5f>G_?+n^7-`jfD))rEbHHtZ|4;7Hew5m9wv$is#8aJqc&n&bdcPti}ZF~WVGoZ zy;%e4jl#VWGU^nNSuKamO7;b;6Ipz(oYH+bUA!0hMLWUUngbK#BgJh^bxGv~If19s z<6M^)=bxDWvclYuhU(II`agSXd8u7>dgSg$Bi-Ep>%y1Z&)Y!0}l*mlr)yB*xx zZQ$Bs$viiKeZ2u}YfiwnN(*-MZO`0xC{>3eoja7Mz=^r-Qltd;B1L!6}(M9J2%=OVq-v2#^qZd0kr}sehN*9z@n;}0}furMRaC9ge zNBc5ytSc2qJCh;TkqCv3ILNidK)yW!@@-*IXbXXAtH|>}X!QhfZV!X$R0OOR!ePG> z1-qqiSk48&?7R<5hdf~1?*fx<2bgr&z^KgtNx^7pdM)!1HstPCKQbzA(imdf?&biu$H9Vj~0U_+^BI^zyx@kWmJ2L<(!_{bsT9O%E)MyM`q(;WY)gBCxxWUZ;+V$6%ymVL}K(8SYDVIoSqmh>6G}-4dQ;i8}onYN!5S)598iq z;!uA#{V%sG_qE;qpt%yCH&T!l~7o9V=joYnZ(rO8l7BiSMn!xm&5vjE?{~A; z+rQ9_gBOOlmK(&O)gI=23-9GrWB))Q_H<@pPkRRTwWUM0HH9SOU`rwnHO7-z9BXEs zZ;ypaPaHG`64=A1z<4GFCiBTKTS|cWVk}H%qhNGC1cqF<8Pd67uRDyoUFqBzCY=s2 z>a>^SyBWQkaXvR=4`HlT&bAx*>%sv}{5wR%v6`#H*pJbxU)Q`+#KG=>-VXgvnp;mOb7-C_gZ z1|#@X>cXo~9q!o*a85f2=lFeaj@k{UupMv=*$S7Sui+NB8JTpPmYy!wl<{j`+^~7b5h(_mlmH${*R6f zFIN=hM>N({Bn}Vs6yCnD(xKYkaQCCSLVVd!L<;alT>-wVFTlpeLVVp>!Fzjje!d0! z=DTrVxgRo%+{0by;62`E>|=kwr>6kB+fUJXCib+Qf^=I3_O_;CUvna4>0GusfjJ)! zh2CVS45dSRG86i<*<7<{@_QZ`Fj-86>0APgC!=979tQoP0O)ZYXV52d-3z9DZo~!V zJx;_9=G`_h@3MwPr#UR>*NXG5WxFA4xOeW*Z2;GP1NaRaA^f}<_vdVow%|zYkvwmS z_*oM~PwOLMLKl&vnus3antebSVcn|m?^J^q@4vYAABSTf>qEOXTpCWosmu^g1t;K? za~v)iN8y|#3&*%UaEOwEeb^Q_1aBf6;Sl%*oPs`u3;nwIe*#axkKpC|NAdxDynhd0 z65#bd0zBVGAPMq(2f-wSgp)|GcM#?Ewy6I@GZW)wT`lKQt4i}jxL@zNx+3vE@t@xR z8695ccTd9`Yb%oY9mFExU!|k=?uWJc689Thit!ES`R%-KyK}6S-~H*}`n{85Gxm(v zV=vcrdwSX1x94GZTQ>G|oW|a+e3Fa39a(grM(;_GZBNFL-ZaRMoWk+RTxiedaqXUq zlZ!dfU(ABxd39fx`9PSC_``JA7Z$_bFdz0LF0dSQgw23G zYzM4iH)sv#QERwQ*uZ<%8h#7b2wdTw+$9@?k&qQjL@v?wf+dpXtdTNfjl^+NMD^*g zXH$Z2-4S?}AAoD=Vc4(-Fy=Z>uT~R=T$fqa9EN?l3|tEK!7XbqT+*cBl*oLJ+XBZZ zdXD%KcC6L*A%r>X=>JDJ`u+h9K7!xFk$#=M-h+$BdvJ4q2k!2_gS*@B;OY7{yj_0> zACA5*Z^MscfXiD5bbA{?JPzX+;r157-QL6s^M7Vyth~FmF|DSwAfzZS{fYYL_m0Dx z>nf5Z{#REz)drgGe%Vt4so_T6lWk*tZ^zE@CdPp1>)F$Hv%hQ0$ByP~NHu3M*YmKq zy8!!oi?P3_5HhUy2Rbuwq%WKOd_I(>3vqmr_eYls`8}R|ey1-Nx{KL3$$U4MPh;*U zbDu5|W>aynn2v$fR1|F3-`UKBz-lH4)-(RFoAHAa*Xph_UT|OVhR=#O{KekfHE)EG zkZT?YzT|?yMLYORnZsk$2yVS6;M}SP$2w(r)Ubc!dMtoz?4W7|_;Jt0m3_U{SuN-l z7(lJi97^SuP^;2|5!YcZCEMY3_G@_OdiBP9EME(y?Po6LDX>Urat2i54oR{IXy1e*g=6~kD#D9Gy{r48%T3zbY zpX$H6b*zQ{+1In5-@<-=Yug!YZOX;Ab2-@Fm;RL+@wl{VZgA^Kf`57xL$e zpfX|Td6aj|_JuJ*6Pjd<{}C!Z6D81UiG_=yqav{~0haK(t z*ww@OK6nNPM+$IsqKMz&t%CaH258@GfzIt#X!HA6+Ba&Tb)%AFDJj8;>xIz2mIuRY zxiG(R8aBl7b`D&>&4w56dHUTxg&^Li3Avt*;0sCcUyOm*R2bY@_nms&VcTj8^BPka zm7autp$7ENsK6jk83w22$uSt`9D#AxQ5c>&0z=Npdg%(#NmYebnkF<)nLs1Y5t@bG z(5m!@UJdsJE6iYAstoh9J7Jys1?)3FhEvK%aEN1WhkpR`zz<-|I&SFodl-8D9!4JT z!-O^5gt=|T8g5Q3-QR{4YqXW?Td-m6wr0NC(4D=*>#(z54?DZ{u(x|nf`jd=u(w$c zN89yq;V5wBu^XRv=P2U9i+B@1#)3a%BZ##jnD4d1{GXkksOar%POmF33@^#g^nQ~0 zUt4}Qvbnx8b#$n=_}dE?I<?&=Q_R+J9>(-n|n8VhgsLp7jvJ!6h{{-pmc$I zHdkAqe!ZREJD_u`4JU85!r)djsfW?+dYIg`cTSXZO<`;&KUz373#vejB9)D zvAGm&heO^**ra~~D>}CbeIKR)@503AJs5kwN9XTBpLwnC{w|D|+s2%$O<2p#=-S-% zO**G*w>MzxN?cxty~}H`bE0cUI=AOBz1q^b9eF%D*t`Y@>sR4u^(vgLUxTZN0iJUs zA_hE(j}86vydP^s0AnGDaUkmd>=gZXH1qG>7V+<1WqMs$k<|bHeE&Bxyi#9T6vcZ> zDI%I|1aUx~J8lo2`lyr&OSup#+^YC1|FoLL)&PY6%)p ziPwNqye83ta)K6=cuqN44XS*ND&s;k{Rs3<9pD_W9}We3;a0Mfd$*h6ko6g?;#t?} z-N@%17&4djS-%bG+K9O=fsc*o+=R}JncHSAZ^Dw8)44UVqjv|F^>A>ecjs5(;7A-q z-aqng^9pPQ)~~>hzU{4Ek+>KBokR=}7si9DHRFJzJLABMcnkj|fH4rrnBZSy8JU}! zsO;@(NpIla11LU|<+HM~H1b5&|D*I@F8tS|jSlvg-lTuK#g4lQ^Ssy2HJ$Eq7j%|; z*spP1r1!-Z_U%p3X=6 z9fwPtaqO%Ej-9cALcS#w^DLl}Zvyo^Lulq3KsR3xC-a!=r?qh+TNBzDYEWklS4&cZ zS|W2hL6g3{nu6$MYo)z{~_UjrQ2zt|DNJZ3y#n5 z``5E|P@b)156}B^v&B%DJ_E&x94L=vL3t#Td-dGAZR2{rE)+*1)Wpc(8Gkbgi5R&IR=%OBT$V!2=!PQXmcH|9k&xY@mryv z_%%#ZHo`LX3s@(yZ%_Io?2|r#eeC|^G)b6r}doQAaBCJ-wX8r^b`30 z$Jpq|3Tw(k|HJ*Iw^lE7ThBG#J2Xkx6UC4pFMz^G9^`sY;b6=`amK;3E;x{5jRP4bIFN3HgJ}jhn4*iriP|`t zq=jQi8c<9mlKGl(ka`kosrpb)(}jA9HvMbRyDA+k)2||7e#gm?qfm`I0yT+qS*XYC zgJ$e5=)`Wv$@neMkKY8t_%C1>{R#BK{s@C`=6ck7a7cI;u1W8}Df%7QgtCY86*>Pp z^qdIiZ9S*;FmPT^|LbAQ`P_uw&75C>g$to$D;`^OwC7_-cY1UG4V>uTN#dU|;K1kX z>6rfQMBZEdhVCC>LGQx-BkVak5J%$7Sa7j;1+I(-590L*A1l^@pZ!+}|L3adzc9y- z`9Jz(>i@_JYf5xWQ*G)f{olTLvD#GHQUTs`g>H0WJD?l8|C zAp4;i!(5NqN$5T18yLjVJJ;!YT(ju}{2togzrzW?-*JxTIy~wvxF)>Cb^P0~k6`~6 z_$Ev|*F)d&HRw6Kf|Cxf^7vI4GRKXbeoObig*kKD!sR!xB9;>Wzh$5Q(77}HySTs1 z7$D-D6J0v|hV}nt*x9^9{|~*}SiB4gW<3AMy%>M#--)r|V$Sy??u-LZ#)F6fA5jN5 za{qU9c6zdk^*@vM>7q)Wu>ZQs(wNq!y7aN(fwJ3|FL!I#q~F^_*EA$2woQu%(^ zk>iCOr`)k4(;3@S9k4yk4pOPs*pX_5T}hVMlVSJpK@L z5)MF{-nC+*N@!Bl^Ge+7E>bkCgCW9}MqG^Dcq8miG{T;^lh~U; z-*mq(NgsP-c$}bzy|E-h7yF{Lus>202O`vPC{h(iqE(;}tHQob1?tK4P3OAliqOkY zz{xZ@=q4TJJbnN=ar<$C_fqr{q;Vo{2lQe&x5sROVeDqI0VhH~fj0NxG`KcbcYhOF z9&bXIqoL;;^vpgz_;ol%yaAVJ#zDmEunk%d3m@h>^H$I9H_#^r^k!)PGX1|y_b;;F zdl44GI~`low~gD2?Dt-TlW_0(GTc00f*YT6qkmU7#sHslc6;qfm$}xbe=9n- zQGf zD-E?}G5l^x2ESuke&_1d9_^y2dmEGOu`S&NThpDejo!B>T48&@QQUU21;%lkVNCD(;h#c_do=2v z??RL7H*GrCaeo6R++K%1=WtWc*I?tzel3XoRXF$EB46iyxb@t#Wk2WnTNpXK41L>| z=>A0**uMy4hnF7azVq{3<2?^6_ZMM9&(f=^$zV-AnwNi~N5P)}}8=Mmru${F`tjq7MAYKV!h1G2mhTGCUav zo{XD^`9EDVK>tm3710$%c>&D-C+7cLZCPwvOa0IO3qtR0h_}R+L>p{Nw#IhW_wDg! z*cN4g?ZP|R9zjC2u_HtaJHk(5XOup6hUs8W#7XQ=(8vB59Z9~+a;+v4{n)z-b6*h$ z!{u=-LJkVi?A>Eo-{X%#C*=tA(+ju=v|7v+%}l7uQQ9^4D-0J zU>xxo=l2hw#rtDg9&gh*-E*C$%U9x znK6$I>HD#JBjKKy(xI8l^RS?68&Bpu{n|-#pKje>fQ#n~aQAuvo)Z5r&_840Klp!v z`OlxTeu3^^kmSCNIpfHj???Z(M7X!5cY*LPsR1Ue0|GwhLg(%rf8l>@erCF6kp7$N zDr5L}^`4mjapu49-`@P#|Fs^i+<x{wOi#;AiLy`NAFRtThK))jQojqQF+hh0i?i~$$AcjGAhd+?b1zhm>W^xxZ= z)zVNI!+XF_*nfH4Fa2xg`qBSMY~{SZJ%MnJ-xjTpZDGv$AT4Yq+k-S96{H5K05$9i zQOBMzHS7*P4(Tve*8Ahw7p{Z@68Eh4;ljHdjz%2CvCzYGe+UZU2cR4!`uKg&NtA|R zsx-_p_P{1{C->sF!!~^ztW&;*MchW1$9w_fNUr6A{s2AycX8799h~%h3n%IRr2A{o zXTBS_&^zaIBlclNj?87}mzcw>xjvk4{W-tVzf%b3&(u#Orx@^7nXfesJT@yVySm zM;rc(_4CYsVnOfb&$I47FUft8|28H(HhzeW5np4>*Gv4fhv4YS*l?wPQ3Ko=E3E%x z{QJH&gME+u7v~3FSXq7|^@1R-To3H*;a`)4h%Rv&?(?rekN0PINDDp?eSF<4b&==XW?5 z3&KC=1$V}c8{fy-;TbsDFb1rj<9;8ppl7pZ$#W9#!u_9M3_SGD*BP5j%b4vD;q`(t*by9dH!;gOB1s*ijq|KEj+o z{K)$O9E*~{vG9G&`@K*K-;LwZ+@p)*+@7=z<|)ke^l#vBYBSuj`TeNujr{)9=P-}@ z5C(zolHb8NkoR7K-r#-MH(>0|{Ta_!V9d3dF>~ISxo*li+r;TP7_4@b!BRzKj8H;h#0Zi}k_X^;y<`zK-wdWXt$r{tN$h7R3CyU-*9%2gV$Y9%9SU zPSgR8PK*H;9!p>xxbZRn*(#C$wXFX+^dDDUS`c($b>)fV|Jdm0YNN=1`X3(~srIKM}--Uo}ESD<@&?C?2;o!*Bb?RNyyzK5~b_W)#q4nZdH z0Azz?aX9oKj)d%IpC`k-mxcmSiWJ^=K_f4o=-jg#8eHVuQ57+SKfp2iXp6fRMS7GM;Donk&KBr$Z&b_A0J(0u4y#5mZ%xTfX zS+RcG1u%z0*`G(SwubPS*wLXWUu)v@4EOh*<2wI&iF;e-y&d!1k;v#bHn!rS9H)_>Lo*Jt3y_j7S%yx2d@9^hH}e}?|~o{x~! z0TadodF)<{5B-Z6;O{2R^e>Rq0X}~0e}MjZpDwPh>}=4*3s1)XIQ{dxKNA0<{@=NJ zqgN->`QD~rWv=Vk({b%49j(s(j?*BTh17C#|dv_~8?#KAhJ=b0qth?sC_QJjB+e9uK zJ20UXdRegkHHbnef4sDZ5A#Ll1dH~m|&FSlfmCgy8XI+WxyYpKE>Mq zG<^N(KHzEk=dth8oc|dUtP7s}*@yZ6YxaM?X8!-0J>b*4*Y^w@tQZRx&v3t&bwKn1 zru=;-M8tr=kmrcVeOsf4qlf_~#()!RfGdxg|Kp2uGj+rK_aj@*Rmbt)7Y(}fF#n&3 z|EBuNgvb8B75+19?`;k|id_*3%zZ`rXDoyrWBwn;ZeLmK@sP$I_ubg%xd;0^c0tB- zC-!^ogsi6&4*G7V`>jxk*v57JR<7%r>nYzrCwVjXZ#Qx8ZX=8nHn7+G0(PfAhE2u? z{QkxJu!?#I_Vn%?{|0#rj*()I{uS=uaSzpB%-fvDiG2XqOYGmQ*_T-obLOn*+f1G5 zo%Pqm@oCAi6}>qyhh0Kgqa*1(;#qic^o?TAMQ>JaPjPSWY1q=OJ#nCSM=$#JeM;iq zJLp+>(7&tqQ(W`?n*IK->HevQ2>*WK+*9!4&q@6A{oI`Y9WD+}!O89^`saIE|5}2* z)x%g2{_W`B*7Rw*e;5OH9Bqvr^DG<;Io}xk!arkVb#dyk|I-rx<%Pjd%0K(RRrVAK zod2`Vj}2Acxqh?nWV+?OEdd9Z^T)6!@+kHa>Ci*i8z_UlK6@eUxeLh$+Xr%O%)Z@;{+-1!`!ZWE)_2a$7Oejk ztO4dO!uwO4&!1vFXD-vfD|6U0f^&8Z*K5ps|Cs0CAI*7|&TQSE!vALPJ;0-^(uRMe zgdU36UCXY%tGlkKTU^`P+uA^BY4j3E?>*C!$s{w$OfqReLI)d4Q+f&zdP%4ubWjnn zE?98Odw;+CnG8f$_xgX=pMCeezDvArpP469o_T(EJLlZzoU|PH@VYD&?AwG`oxLT` z-B;{I*tGJ`>m`=FK(QC}g1zd1Px2hR4t=qsJ2q=?v6y<1{{_XMbB%^z{}=f48Xjk%1DPDN$q~)yhw?v;{qNeb^)1%uo3i>c^H=-d zxV~QbulVY-FLs2_h&}&U{tL9_VeTDBpFMe<=M{Ou^*k~D8F)V_FIXOv7tD`x{1bNn zhzu@xSVGGlrY{HP(;k8Og9h_4mA{wqNK_TfsjW>o{PF)>sxkzd+V#(=KV4YQ= z>~9v^)SJXo`7<$jsiDE&r{-ht*u1HbHdYaN9QmAy{3|23pTR#7`&S4@if5rt(KF;a}_LU$b<k-t(foQ2MgGSoSjf z$?poEm6!5bZ65Y7n;(|f><>$j=RwBk9>B*xAY-c^U@ZQRGN$woGEVz!sG&`mcb}xK z_^l)??9Uk89gNM~E)luZQ#q-n@lX?4O5bcHHE{6Ht-4WirZE0h${4#7e~+)vg1N1T zJljnSchL?fuB+XqVgDMtlVP7|>W$s^VXOv!uD0(aUoU|@Ht(8pCAQyJywlMGFS-G1 zwfF3Nm>0ke&Sw0+&4q1y`bt4DvAvKukPrL39^`$2QULn`{k!TwL7?P20MdbkcMsz^jK@=FHJ-Y; z3AxnRIB3h!FP}o6d=~tz*nA$`9aFCt`($*0a~TGIa(8lgn_Kyl%ejc@*mednJUs{7 zA?~JNd&!nw_<`Qk-s5{=X)PpIEA1zRQ~FBb)GNg`xv!MXAP<0THh))pH|4_}o)#4z z=N9%Br?-!|O8Xf6b2*pe=t}neaxC>!<89R1F!mZtJ3g6lxwK;H zp310unS8zEO}CXZn$yt+GwdJMskYwufL^rU z5RPfYW3}sCPakoX_Z3f7A8}9ZE5%iPrFA$R{nXpJta4%2mJXQ!~T21zX$Alh$&5VpeHq*fe3K~ z{+1+sO(Nf&7|3`(*Aa^!iuOq+KH#Db@EeHxX4otLlOG)1Z{+`t@L#iPDmB3FQzt)a z?%U`8|M%*Ssxg1@d-r~mgT_wbJ z^uk`yQ}SS4;OZfT@GnGP@(a)hd_qAkM>RZ;jZ@Y6O-~c#HRxm@&IM; z=bs&mUx?wis16wXRR=gn98m67;)D%R{>P6Uu4R7q+Z)!cp2}KHmyLf*^S+NY|Jwrp zmge0nzWV&^j>xHF&Oe>^fV@=n7=5{q%B$s%OAu|jQL`SEaQfvZ&{sEl%I{=2K0egh zUqbVLBcoj8baP?fh|O>8PaOEAj7tBxjAs7QSjJ_?!9Uzae?9%SaoB$%{L>kaGkF>B zF30X+UpN(+a+MSj2b^Whk)fX@n|8L(o~eCc-d9TS0h4Fykvt9lHaO-Wc3x-4rgO3HJa?cJVf&tPe1O59cmV5sXAdcY zy$2m|Bd&sO;>_zV1v%Zx{kxOVU5)K!}QojTcaIqLro z>~B6rO+gj>-!S-pq5Male=7HP^yNMxgQ%|xn?t|N+tgZ7KOH{je)7BDN@(Fd5(4+I zg1dLpck@B@>{*NceTMLjt7Fqqr%0m?rg{_gTX@$f#UhtJ@9)b|${ z{Ch|-I^gDUVSaaU!9O4NdA4qnYv~Sq{C+0f)8U`iUCe2)hrbOyQ2sU*jRQ&Ofl30e zH~8~gV$lQmXGQaSkZi<^UogkWj0D5tE0Xe>(SG8B|VwH;;DwqDN&Sb0NpieSo$-{+<{gO5M!}*oRY7 z9k+#CZ`Zy2?M?|}4%;YdsmBrL$JuUXY##PHMoX<-ll#cX1bW zlVXk@{DI5SU7U6we}|&P`^w*()(zX|xncj^Vc*IhUC2>=Q1*#E#e(=^0LNHj z20DwKpSmO!ghdXb#*bU+q6Fba6^k~8^)vr5C0;L37ubhrl2g($5VA>q=y3&jM z^I@;zD1@aO+b%;-Cd0oB?#f?TBOd&ONBQ$QcLBD4fqyqK_?x=IADf521^(7lKX+yC z6ZHcI|74&2o09Mqh7VBw=q;k`)eoqcW6|>j;!iSp41Ec${Oj2F>+MbO*L|ffC;v6@ z-?VYnNpAnK8Cu<1UvN?@Xw+@$L3)i zjW(LIyq^@oUilYSUI_>0J(c_nU(P+H|0PG;W}2gE-sa$*()KdLK0CKNW3#QoV>4{* znx~cal+vlai1~q1F|DUen+5+_)FKmET| zYX7wVR-XOzY-9Sukn=;Q|3*S*5a*|1^HslN?#*vyM8!SS=iVdHyMHGW50d*$`K1hv zyH$eHZjoWkcMU~GFh^nx@qRqq!;y&=YHO*FiKG@InlZb0#@^Ek7>8wC#-@Gq^v5{M zuO#mF!)A&76<3P4Litl$>)^g(=QjFUai3)etj!V9UoQ zVX8JVJ0 zapVjJe~z#>!`@1Mm;-zD{dsA={Ezrw$ND_;$^WaFuU+`b<>KGce2Tf>Ra-Z$d;P$E z?ElkqjVW&jogY~GD{40Gk)aj$NpKZ*KK)+iW!@*z$L^PL+d0R)ilOnaXMSpM#?2DU zoX6qmHxc`9BIl!~9$TM8ee@)_M^ZNzMGakyj@dExp3d01^3N$|JhhCz8En27_Qm*q zkM`45unvNUx@tR|$@6kxZil_L$8xZ7Yb$>fe>b56stXo-SM&pJ#n>_|m3#G!K$!~n zS@U{Id6oW6+53*J;%)|e7tcMV-KBhTcPT@PIPY{~=ZM<97xrG&1J_0VF21V(z00$7 zk(_M!!ru&kgME4zv8Ma@+x+}f&;xA`BwysOwy*3>vC5w#I-s`i=kK$9`WrKP$;ZC@ zuWt9wHva$A$%B_A|MT#o@Sr8_4~y$Nq1i{{A{_U-@5S@QSHs<6p*m)#n$%x}>O!!M(J&vyVUe;Bj^#{==W|D=_?jXY&65 z_;-eVTmH(P^Qs4i|NlP!Y-Nua>|=fWv(yjZ4>UGto{&qM(Shw3WcF14EwulM|J&wo zShJcnApZ^gH#WR^fcXE_7v~z|rVKj&lKnObo7G>!_uVhyA3h+V^z8)Me~G}KITj(T zbr8bbsnB%np7}Fj%y}7}ejWU;r>zfrY&`;-SBcgd4aVpaY}7mC(Qi);g^tbTX&OfIRSMip0l_{0oWimS8^>!1t>X568kAHE1 zD1WcJixfLM6aTwj;Gd7}+bw*rsguFqXa528|KbDSZcX8Dsd|JxI$%lWIt|-LXVw1W z;U3!s+wW?K2|Y0356lVpIPyb#3j7&MaAx(9?M##g_3e(-eWR2=%fjBNQmb9C;Kp!_=|gfZLTyxZV^iv%&(S?xX) zpC87YN98|~dirtHU4~oy?60Cm*H>#3r~DbONz<`6`e$wQ+9PkhhE-{OC5u(!gzt>ogHogQqqyt7QL?jqCG{-<}BIrF;7 zw3+1bUKo}j#ju5YF}}YT`!6r=j_>a#lMyd}cVp+p@GpgV1+Ohfy!Zk==RpUG9GzLO zt&8MaJF|9IC&|qY5Nl>9B!D%YI>MjFsspKkMX%grNm@GRAv{1Q*;6f7*J?u?b?nq`@A)9}4@>lxt-Kwe;ht!40R5R_#6t z_G_O#&9R!%cI?8 z=icYSKL`J->}?lxpbKMkoy86R^2#pc`tXN&_4IBs?{$vke#Ir7;f;TQu}U$o^}@dr z{!{T6l@*-#1Q7RmO;Lc9!My_eFZW>osuTErPeCUs$_o$|zCYgqZ%yUe)CX|%@kck3{p{f$*M+gaR)K#yl7&AoC*Uh+ALJ1G?byD9KIH<&7EXS2 z(D47*zmGrbwO%&!RH4ozg-40PCvwcJM6K0#_&R%^zr19 z?^AOhl6eF6e;w>qu7&?KGCb{S8Jh`z>ail>9*xaMF(x0)_-rgSGKtzpZ}6wig7Gy6 z{j4r;Pbn%RAHxs3;qUR12hjIxBhNSIaNl5^L(H}3bw;?~cH$~xRo&3PBRTfYwAlh+ z96;<3km_ljW!m(vhRl6kV>?XYsocGO9pG4oPncYZ|DW1T%83ufMfiB^+{;n9mn(l_ zN-6wH&@YdplN9n@YX1&vC)$44f0mEG4gR)tjrr(7Dv$B~mSpAb6H`)W#(uH&cm!Kl z{^>EDTgB%OO#IE7?CUegr4KnD+rP;FXg&2G?_PHQ5C64wtEO#%|NiFPtG@p1TvOcq z0q6gme1i-k&l|%0>0mc@UvxYDe#Cuh??d1p2LDilKkQSlhX2(vQu$MR9ZoG?l)=6) zb2ECgeoimu+XXV8jxi3}b2{#xL!YaIcDK_@pE^01y9|MchyH+K#{O(DSN>M`=VJGH zi1N?5z+ZKM`;8CCMK_#<0mN^O{Q+?AjQ{Tp?mCHf6F( zS3?&J{(Md;%q!3jwSPU9;txuk_=fz>Am47GfzoQ{G{J$-u1A5TW=L=HE z2a@m&=zuvX0REk+|3YGY;^(jDR5vV1#5UTBIrJad8A~c4_7|9X$VbHgV@HqFvj^n6 zx<~6}jsFIJ{QoBMzvexwzW(xDQ;h2c_+KxtT5pvh)L#cPe_kb&dYw?lZ$oL{hr&M$ zyAQ$cLsGATe?J+;oR@LwSF(=AmCVKJ1N&ag$LfXu52W6OFGiW)6ww#YWEeqrc#d{ z-pl!7XD4xE|1Pet()(E)2(N5%ks?3KSMp%Xq{`3E4Ku=@a? z?V}5s@%ndiog{51knf}u@90m?&!(S>K1Lt^!`MIk*IeHCf52$}`}yx({q>h$H^mgc zaQ=DX`K$Ef4{_k{nKKxr8P6lM#vVM+e5jKRl}s{CgX= zul%DK8;>K7rCJ%QVa&!vAFhqD)I9p$T=dCk8_W$G5BIx-8eNa}{c@j8_*g4CkYn#i zy-lYJ{B7L-i~Kt>R@0HZt&^0Ob&{!70WxD&0QTQW=FSa}*|XHo;~R(#ZTXjZJIUmV z0Qh&7$>@z2&c#I?vHebl-79;Qa%{iU)d~Nv{E7Ye8>dz6-_PI2UUlFCezq9JqYrk@eb4p{`^OfQKm01N=V{fQWG4J)%;<>kM-QfV!nR=uOT!27J*o?3 z_=KsG@fX;CS&6dmfbGLyKc|(w@-O3@7vEo;4}Wyf$#)ju`+d1T*Jjwh`T%{5UK+NK z-Q)XBDIKZ%>OkEWj1xKP3SS>xkhqicW{ zU#|9_j{i5*EC2Ox9^Ajru>UB}bLXFB?)pIHR1cw6!?6Ei<&WRDWBc$AWzMwPekk0- znBz8F`6u<2G1R_Kfc+%;E+RQb(|-|zB%;eH)JmjNFO?1d9NO~^`qT@wO-_5Pko>HO zHkY^bM*8G#pzYV5H8qIwR%MQjTGN#1~e z)l{GFSNm2S@JqSIipkhM?@@hF+xHUt%iKP@H+(<7z_9(+*k454DZnS?qnAGZ7i~W$ zqb+}*@6X2nXC-wsY+rqTMy&e%PR#!ZkmP7Rc4AHlx`9p@F(A1!>p{XlgSHN1N)E=B zUAC^&{~S1Q4Ex{JwB_A~HLGVVT|B?!vhi2@hyV7?KK|c)`At)F5%v$yfy}2LY$w;J zPA}ARlZ3%Pgz>vj*1HMIxQ3Xo?EA@Z73MdMpw4{^V;14`TSm}t8HwFT(T0si;)!KR z=I+#L(a%YHPRDBO^tI&Ex2pZHE{;y}ZZEZfg>L3+THsH9t^BPy9jLYGNUfcpz3PSU zaUQurA+gz8j6bjJguScH2gpox;C1}}`Zq|H&l_bPw8>0;b(>-#nLvylI*@6U#PCVoF7UTt6FJv+yedb<;u@+J&bEiXy_n~e052wC)G_|f17_*v$%|{@SNEDL57wtR!cJI`q`hWUGQvd(WU%qLIDSY<)v&>l@$ogj&_*1JFR*2tsz@Pp- zgFks+DDzs>_J_w^DI=+C9?Q68IQ%0rdKeN(9;*@u|K#lM)M+wqqvJL7=jGAQZo~kC zKfjfBwzvG})LB#GYi`%dU)i_euXgVjVu0Fz5&4~L{q|o@94MtPpoBJ`2isTQ|HJ&X&393(A^SzhL|5N{U zTKg2S|F_s<#K+(D?D^-It2ThO&<5q)AVJuD2fuxmB00uTACW|@M7p&L{rcp&@V6^}Y~HDPAna92S)WbkSZ2XL zE4zbOENb(#r)+w}A7FoeQ9ZcO_QQ@f)@!?O207rodFaA4*ki|r&&RK8Zs&!o+PuLZ z9Vm7C+IE`Xmm2(iZN74JLgRsv_tE|+B-d~f`_=aC*%y6(TlV@``+kh}o?-j={y6O3 zVBf*upAgki{F0>cK>yy#KZ8CZllB>6|GC*Z#-uTzbF2LyUZeZ7{X6(GrZkq0N#KY_8UN$9{N`mmLM6n$B7 z=(O@rqh=zTJ{^np=fXcf-aOJli@!F_7z^u`FOvR90C67?<;wo`hMkKs(C-3@22hH z!q;f-=O8Ds8@|8&_uBjhd;0#3*iWC2&-Zt@z&|0X!v*ef5gjESJxEmk8W#-ylKA@6Z zVG4gM^C)+1+xham3SOh4ZT>Q1ikI`n*uI;*Q~Ugkyq`WF?eDW`yU+0Z+U8ULkB>^# zxZjEPzAxv`jPF3)$G^vPkoagMvJ>1pNo+(1iBms7{MXo!l7Rn5XVQrq8H^WcEs65C zbFa+wDYO3PrTj}TGyfTlTQfRz4|BO}p&+5WDdhjQYw&*wxF~GsN zij%y{fjH?CDl7XHZMtr(r`(?Pl(i3_4S#b7+62nKgP{Yt!~+-hsrFrot!vwVdR1qc zH6uXg&BBh0Y0s-2!&8q&`wspU*ncJYg7)>Oe^>sc=$~@0L@Ib(s(L}(chkNsL^SVr zpm%m+QcgyDqmS2?PF{jo5lb49%C%{GPvbsJm3#VHpX`F4+PAjj)$dOy2ben(9Uu;PjW#{{fo|y-jvmY5KN(L5#?d#Q?-{4Qqp9xdtulc>^ed_Pk z?qeqTbU^vX^S1=-KMDVzoIrnIl8?U?JIOK8CrBQUhF%!_kNNl$|7TrR{w?bN{rvZ< z{qKySR*U>r8y93H~|o&x5~%IN*SzlQH4a(mPpOm-ccd_D`QmHZj1@ z-i+;=G$t5609)j93N>#dho4GYZU(kLog82;wy%0nf)6i-X$hk2y^QTD|4RIV#)4wr ztGT_3+Ixkz|B+Jl3H0?DwvUcE@j(UJ?&EuNxuzW2_{v_n+sOB<+Rv~2TjPF~_VwZW z)A0ML`1?dy$6@=*{-5~Ak{6-_27g#*W)MTN5o{%czMxe420qmI|L^9%ZPVL_54Q4m zJoVkPQGxO*<9b6_CoR}+egylV2|A=tDQ%}zt#2)9f)X8{3j-; z{li~i-5Hhl68O{i zlaB9CBd^L*)`rjbanH`e|8vd)e+TVCH*rJ9cd90<@AvV4eGV*jJWrXcFXyPX?!_M{ z|1vj!E8zQJtm0uzx0F7Ji+gK@cS>-|IltfjW0b$<1ezBjhW(Q>rlLpLS@av=15#-VCQ}cP5bfiCv<-j8 ze=j5d{iiptubaWza&7oO@!d0#-DLp%J409>O=G_L{^8VZhf%*bob^>gGx7V(VN?FW zQ9UJ?*Q*a0MIGx{YFWl5!X6(mftr>`eoGAPngslRGVwp1cxu#aGRB{W574@voZR+| z;oQjB-+$5X(@s+9M@c95&EkHj&1)RUf_)Zwx85VQ|9tW?4>4TFa;mBOQ2sNj>Gvc5 zD<$@OU|&rCjUlitDeOQWfY0`|mP6TVzg{u?y}Z_M`ySeR8uxXaufRm^Z|DH=M)Uqu zau2v0Hjn*lzHdRaz2~?6G_`$g+iBd#_6_@2-`_U=b3PW|kf8jD70J9mo!^{A9a%cM zl|;W$B4fjGv>86o{2%^1TkZdH@;`W><Xi263XKd)Ul6^gFilC9Qr$f zx`v7Hk5&HIe=@bwnY3-p*uRaqYt(eXAcsCax93*&K>mf%_DkX3rqQ0xQuc7y_CTh= zpZg4do7y97Gv!}i>g)TfW;|~;?Y~*H1J(AmUQ2U(4}M?9=hvrbkuvULoJ4qq8 zN+s52Y7T(tQS$+#O$h%ScoZoAq7IDZVE_34s>+Ur?N^fvDtoQhQ0{8$n&TI1EP%aH z$Hn)%$RCt{G2gHGzL%r={UYq%rSYEJBcIr#{5ALU#d}|_*EZi%_Sr_KkL^G%IGUW)NO~sK8(58p{%(OMs0_|pE;_* zk%2M{_CffI(1>m_G8+EWw~a*y4F33l2y{CJpQ-#c2h6~(Oyuqs9n&$!^mRNJ{@!0Q z-?Yy0p| zp#M+^aYv2f)YChkAkkg>gOVFT8iLwgzkcrMHtr`cYEx0qNv`%3P0W_=9xXU+NEX zEpTz*%i%v+`P2SanLR^&d2_Bci$( z{6|yMsQky1$3)P!iKcB6N8e^L{4&X@vhe|C+EzNYV~p!!i(c3E(S@wCPOH|z`H?ZnqR$Td_n4rsrRg}hJgUEBD6F>*e9o4>tp^!JhTCBs$6 zc$EKzoZra*+F$4cH2gm?B98noA-+Aom3)Ew6hnVO6#5Yr-bo_Hb(Zi^9p%LFmV^Jq z|J3D){|64he^bLO_`h?km4Br5vG1N93xE262hztggmuk=SyxGYe<*8gg|g0FXfi$^ zE>MCZd&scxZt(90|E>oAQRJmp(U5J8zEb%Rw_H8=%Hw(XNBFEDD4vUq0 ztNcsvB_3QU$?#8rzuJVs9Pa81{ExGU1G&7<#~<6Lt*<&TgZzKm6d0lxPHfqwF&?&R z@9sSEOLU?Tf1|Z~+Lv3v_o}^n^zTTa`V@`%*nJ-Di~=4jf4jEHlek{4$=}E0kNH{T z?irf%VfQMja8ERHe%Q9Pdmcw?{;#%A`|m>hk8O{xcaS7LKL&k>L}wxG*I^Yf3eJo?>JW4g#ItV=YIG5x{t4pzTU{dO??L#XWu zVVpOVx$D7^-33!6F1xixt6%vm>HDV&|0L=rGzh5-|+tC;0tnInUW%S#58T+a3Xy}0pTh|(0 zl>&IHE-3#Z`0E&69ywheY?Z&}`9+8?-}mKvd9*n+-m5NX-miUqI;P{Z_lrJXbH1$B zeqO`&v1RS+Patno+y5T_iSSi@h-{A@`1#`_(48ds$KwMc(T@mTGjV)J2_Fml(H&*% z$PWK={Er;0`R?oQc19ZfJIhOvy=5R{`a`Ja3R3RqKnS(`p&31>`NiMI;r9*xT_p$~ z5Hhig43Fqa8=$j{B7Yr?j3bwsL?2cpelnKvjYNDv8uvGodz;0*&Bo@kOz>wdol@2g zG*Kg%l*0YcJ~85}#sKXXQU9otiaumxn|AfpjQ#1DzUKcGhuAh(ZSN3_@*PyZfd;GbE1g;zQnY7b-L1EPO_Fl$f@V-8OUu|Jer{!nT= z!syozp|7tk|KN$8C2Ud`84(!(|4s(~u^cDj2O^1We*UT0RtC9sW-I^9>?_Cvdf@+m zi!O8{_rrI>Uvog^Z-|i}!Jp@b{gXEo(TAtw`Z|uUIsbI*znC_@#&@6Sn61`qat<9( zd(Y#0m2Dm|UHKNGA8P+j*!%oGxdrjX&p#L6uQi;P@>jo~iN7~$I*m3T95v<}z8~9% zW3<{kqDO=ICH%DyFd;$PfB1d;LPU6bY`=p{7=zv8_s5LrD5FE$8}Z-ZzkSQ1e-Hl+ zZTSCnXQcU0=bu9NUZP$93S)bNS<5s?bAHx2)Z9Oqx{grg&-}$8?0x72V!(th5*!{N zVd?`SyU-5oB%_cq^k0UP(?%I>0PJ7=I60t?KQ=@jkU@LjMs87Dd>@Z_4Yn4GT_xaO zli{v@AQ_#|V;cNT=uaLz{rt7BcS1O^b`AFEMJ~B!4!NcSAK~}?8EWfXi~4)Dd&Bm*J|BC24}M?U`$o>E{3mh!6Y=wY z!TzHVpY30?f90>XA4?xV1g{Mbzd|OAZ7<{S`=jyuqlR~s5y3wGtpBh1zrlam;&;kV zpZfT6_5Yl1+PZ0Sd->v=i#p(mJ??>x7$=8YXn%f)mGZ<^s zdMyWj-l*5+eOjxl{@u@C8LN&c|6I;%{cbM&3-AvPe7}i&U&nI&{Pk$qzWRMc$M{k- z=R?T{^-CcWDGGb96uS!y^4Wjg2r*9O-Ig*FIGR0 z3V%Cw!?z=RFDVPoO?VbwJxmY1qF7+jQXPJub#;ls`FtHU7Vd_JGgcef*6%*~A&0 zk7=e4!3=wypKb7O%>j&j5M5N;*Lsc|K41I&RX4K8Ih4KD?;G=XxSqD`)6i=j<4;od zh(F&qnEUyM`*a`@pAbd<7o~kdFptM4#`4}t{9SE-{MZiUe62B`dmkEv?c@7{2Dg{v zNB2|zNB{5kt&8dZyVU+G;AlZ&kWq-TeHu~zcOh;0_viV;$g4;Mvgy#l1K9tDnR|9^ zr~j{I^|$BF?}*5L==_t)e?m`rnQ^@VzjciA$3ITOo};v#tNhcjd9{DIs3gHW->G%Kw@YGjJBfsU6#QdbeSpSD z70nCNut~Gpt@i6W>ANc=2f*)7t)RV+P8hY>*uAp1;J+^9_^1$(>@8+e-_(+Wd27lhK z_HQP>`}phlZwKo6I~x5z8vAqLYDFyAx30xvhIbZi2%`;0`@yK$!v8B@6<^HvvDbFK z`UV~AQ(e(=eYL$DIKS$Ibs9wB;Oh7iO{WorHn9kmktpB{{{VzZLa&36}gI_Z?5s$Nt3M}pCXP+~w>IQc8>pwax^@x;4{{N_mPDF&aa zIbgE316%v`65;PG>`xo;M);A{fRw(*;jvJFR$Cj``C3I=prB@|KP3-`l;W_MNS)`?GZG z#`SNnqwlw7`Fqt%7rkBf$!TN$&wdy>k$7YzqPd^4RUfZyKaKf;$d!n;0sT3^<2)XM ztlzb>@$l9SYpT#Ke8BoSdz!Yqb>zVQg&!O{w(R2%Kde1-^3>W-Pn}u+>FG~4{7X6G z`}=3U<3?WV6P|yf=YB{|pW!plZ208VnGI)7omzkTW^n*Qa!qH^oTH8XZ>ZkVn6jP9j9*u1A{Vawj#OAa;f zeV^AXZ7T=&w?60Sf9yXV+P{Z$dzP`D@G}2<4qp2H7G9&mYY*`G2gyBHfBrqzpj^Un z5#PIb|K6R8^cqz5?P^-McX#6gpX_*->-(PU7wl6G1ta^xff-h|FLn+#%uTOYFykZOZM(;T(W294rF_)_#f|hkMkE~chmMI zJ9lhb(ztE&!fl(^&)>9u&6{fX%D!g#lIr&syj4c7HZRYfd$d!hP7SbB-#-@d+x|m5 z)_xxK{XavxBfSuf0XHJr4|E^$ERxo@Pw$flTbi3`16Hl8T~@KBp|*OzB%|9h+WnEBg1g&v$L#^oH(NO8S#4$8=5@2knZ7U7P;B4Gd1Tv0UcX_@Y(CeJO$}@2 z;9uu#Y^ZCMdf)SPb#piVfT*pnqn*FDcIE84Rm-N=ta!hA)zU>(?=5(*`mOv)5F`#x<)eH?BqW=og-ETK9d?*L?3>!|KT!8)^`a zytb`uShK3~g4D09SYN-gd|mB|GS;ClTeEs;>6%sVd+S%d=dE3_xTJQ)B2Ue-MebTe z_r0oFzOZQZ@&!e!mbD6d;pl!ihH!2*kJ%rwP=&|elMAooHSD40)_v4gzmIU_J3M@s zyLLIp3$nPlcG>r(Zp9K0*H&D=YRLszv+})?H7k6=-%DzjFZQlpw#W;!Qk9kOFDzYw zEPsCij~D3UvK8+w_$OJuWI@^TCGVE2EK{M*bLqmjOR@QqWsBbN?%TOz&Ic!sZiH{<5@q2zucJjBjqOaS@XE&Yt=z}JAq3iHtk3M?#iYu;I2Q&5iZQJ_~@Lc`A zw)t*B)Ydib2Oz2g>I3|30gVHIgj~GFAOF6)Ke*SpmbS0G^zjd0tMd5G zZ|?fITh}hz;8czzA|XgyyZ5tKzppl~wywEYmm@A|sC5Y-!PGYmjRB9TZe zqHT%H{c&sU-1|XnR3*=x#*yK|fn_ z$v+_XBl>-M{7L>Z_dq!)6K%UGBhBG|i70oqdG+a6BYhCH`|gPP{q{%)q^%C<-&6-w zPc%nVJk=b&)x$+3qAV%ds|!g+q-gY zYxg|8@UN{e@autJSNuAlzQgYq+J29o`$_(D_rT9WkIKj|%FWO4Qoj29r++`)fuHWc zPj}#_JMhyT_~{P(KXwPqm;9b%mps=_qkE8%$QA8w;r~DSPjg1i@3eiPZTwr1Un0Lo z?)qOOdOdnw+TWtrscj*DUaHrweI&m@9zmW%UPfN|UnF`xdR=;bdY#(W=5Nnw-<#rk z770NnBC$x^|02=r(d!CB^mp_}v~NiJpl(ARMpth&Yp-2=^)=VLcg^?Z{cEnd zmUGCp7lqgQo*RGrr}yY*@V*Q3z0cI|xcX|pTx~qQ^R98M(Hflh-z{3n>zDIhY89O;mMn0sdT(*zd+)qypH^0wIK9jf zIbqzW8m>1V8G`7zhT6e>efst-d2{BJxr>)Co}6&_gHPg)eS9|I*vIFRkmO@0&!rvz z=v?NBkItG-e0bLS!G~vaKR9tV56S=V*jd*{N6)$u@5!TQD^49dTXp)x*%@a(I6LRl z6KCJ}{KUC;zC3Yu@www?mwt2n-0Jhk&o%t@__-Z_`|#Y6znwYv>EF(s`|fYwos+-) z1Nm<~o|V6Sd-m^t`|Rwue>-vRo4@Vk1+|~=-M3=Zo3o}SnKD!K{ud)bh>p$t4Eb&E z-o1+#zA+ z(`I?FX_Gv>bG{Ru`0qX9`TJHWK3^w==N3xt=hMY}+AEfmg<}7xK-?cWr2J%_OgU+nsuOmZcEB!k zn)Bt&LoS(r(j#*|FO}(Emdnf&xw7TpvICpyYMfS6#>zI=e?for{x4hb)}qaOcdq!; z{$}|tI`iP+{qop}L-O>gqw?IDWAgl&gYx2;ee&|DCVA!LW*PYLIvIRsjf8%=R>pq4 zRwBNwmzc9FB=*b#i9Rt?A`X^GL`$J0wzwqgpi`^|^Ca(}RU8MhrC?9GndH2d^jvtZ-j_i|%x!;c-*e;Lm-z1OiSu2k=t&k^oE|otwFPB%3td!sn zYh=WSD`doxg)(B_EE&;QA)~f=WL%?5B6sIY+&+h-H0Mb6UYpods zL|$upQwDFDDZ@5Rk+7|0GN!3SChqn~^j??5?zT(pj%CzfbjN<&p(Ux9!`x`ib?+<&PVd%41yj)4OWq`8_rA=UvO>g>CcY z#Z7Z$;MN%uymO|E*^iDKnkKP_DkScJTN0YN-+L{RzBiM5o-F1)v68!cl9cUXG z=RG8G?q5nw&TSHDzFi`-ZsW=*8SM^*DPJKeCNTvbz_gz$*|@nGNkbhd2M5ryjE8# zudOJOSC{0-fVYxmz|07FZQ6JVo;F5C&KxTvr;p}(!z8qlYpxtB!z%~K*eTD-gvtjc zc5;8os=iZ_-M7i4tXmC


    L$fH$!(3~PR}r*xL-M&@?iC~3(zvLD6`l9s@8BrEYo zu_pdZtTBCM?TWG^`}gdrbl7e6KXU!l^1i>KY5%VJSC*B_<8SB56Em~qiRwgox;kE- zn-(iCOpB5irc96*%SOw9(vcE0d4!CfIb6m~50cT7UzKr_U*wvfltf~+kc&;#_>3g za~#d_H;9?_wAL&yWv`8>gUdwz(o+DYY*Gbl- zK)wEBhxRv5&CknO^TYQ)&{MZ^*{Y^}jccBtmMD)^Op+(uW93Qb2zlBSCeM39;j zd<}bwUM=yatJq8QD#@~4&0eurvk%zSlFMUL=2htZ)!hH9*>?wt<}s2PeT`&<_mFz7 z|8UFxAHV)Uu7A~Xz5cZ?Oo@^wN=M04g~9T4-fQx_W1zg~d_@Kpy(~jZ|14n@&&c@6 zk4f^Zhs84Q_mWb1mqZu*LJ|sYlK7nKC6;T9W^~=0m|AFcPNA3^a z|3I$4e)WpgJGuUsE62z)+~;Qt2FP>P=j6}UXJmlmNeL-^LdH)0lT4cakR;6fy`)y( zC0SE$leCgsB)Q-Q$zY$SWbSDk*BYJKm&aF%&3l#PmR!Xi-hH|DzU<-IS8`l^*~h1k zRmT_J6`i~zua8R#*?GNhDh3ntG zZeZy!dA{T&dC~E#yl8$@20I^?krfZhxXSw_dhYKfc1C}RD!N@#*qhci6WE8`n#$?x+kWx8>L|C_1s_l1naEl6ruxm?z5#A z_SswPC4Hr2T3>ON_YreJFR?lU**Cd2dnfkd+SwzTz0@7{9$bGQdq=UqGHbJ1_zh;( zXv}8)zAV;p%#7+IY0TALv!aA$UJgxn<{Q`VhC$o>&B!0ttX^5OYwxy(!Nt!?(DX-S z-0TP0|LYzZJL7Jd`0j6HT;XjpHtS}I$oZM1uqR}0`L*JndW|@^errKr_V(sG?SZWG zA1K**fl^q}TPkMsmcp`L+;{eUFY3vj-`sN-e`C+5q5}3h&*>&s))z7{2iU^CQ8s>q zm3@TFtTCJ&0}uA2$z(l&wW}^%|GFR4AM&62)vIcE@7vZeX7&>@YTh4YM8&-_?%lg( z^qf0czwA~S$G*mstT#$b?)8#Ycn$aUDk+(Awd8xQ6)SpRPi7zad$#pU+|qt!x$6 z`&w6n{v0|qgZr=7|AY5`ZOy8hJ^QycjF|k8gv`80#@GIqSb7KRF5E05GJYoEwi_f8 zUmc%&jhKu2aeuFrlF3(dZC7#qJ<#bM?61(x*k{vG)Lo`b>nYVUd$P}RcX4{UOL19u z_Sx>vzM1T|$G)p>_TkEBpGg~gj#}8K$ELzM4_4NAG_jvgc1(9Mv(}@Tb&4Bmi;o{Y z$n`sN8-C>aJ!@-L*Y4i4wPEC}2V~TmdnKgeP6;Ca2uZy`MrB?n5yYD)%TdLpC7&c zHLF+G?LD+@{ix;l%aG#RB{=uztb4`Yw<*`jX!bpfu=JA{*1%6;&AQye-crQXQ6voLyjyU0L6beFpeFlPkG)uDi^`{mHNVPa^S&(X8W`#$N0>g+0*gE>c{|Z^`GmuAyS*8dy8m&RWU3r}peQx=%XS z&h_iQ*^?{SPlt7Pbf5IHBGzDF?Q~=94c1-Iz3_C6B@=7C>E5U5tO2TfA6r>3%*r|s z4RxLqhg$yC^#^*^>Gkj3x?!mGP8sUtz7tPF*o!QTJ*mf}^krXR-BZ3Ndr9K+*hk*Q z-r*j6WDYi~d&TDR8+4!G0@iz;%Dy1F7p(5{Z0r-qTEXS)7o&T>=|0c8zi%PGRo8>f zVLcGNeqARhi!~#Bd-n1hxPEgod$a5H*SkO9`e$?h*Z;8obNzL-^?Ubj+c3<02lxL5 z2}45D**k~z)JG@vW=~A^#bzC?RQ7h)eb5WgfuiCox##FCYgF2}cHP@l_qEnN4QI{b zKIS%}{29+jh5vpAgnDWmXjx)+V^L#X@D72-Ry&Fo9Wx?d*NiL|ngSP9oWgMH+5 zU2)w*%)fu6?kS>s1bTHXd06S1A^v@VbPX9@FHrBjf1gL)<1Yi7&Om=^Ru+D6=)l3b z|LXeJui^Tew{IMpeya@4VZWVx-EWIMS6GX01pDhuU~i>J>?w&o!Yue02YcMO$aykZ zx5U^Zi*=23e-zypP4`2c!u}|_2aejR-h18eNcXz&U?;l%rLKpmHmhsf>l&B3&WWyJ zt816)K2^FuQ3iUIz*-qAmluA3|D5}O+WXG%rml3|A%}qkgJ}~w3AxE6p@h&wfD{r! z54{*L%{K0GljJ5h$=#MM7s& z=gvIm{J4Ie_t}yxt+n>n*52Rx-gkX3&YxdB{^N1{tIA4Bc>Me9U#I=DNp!>qz99~% zA&y#dN8k@}0^R_o@PrY=3qq>7&fpw|wg!9+~$DhynM4Uf-+_`=~d$n@? zcJ}LFk1qCa;QEao&uTZZ_Z}a6Tg|Z_8b5n&2vI}G0sALFO^>32;qiO@>iGHmsVXZi z>FR2%+K2n?URQV7p@a_9DTUgK)mEpBVd11YyfH2D#4YkeA3%ebM1#KU_#}qc*zZ5sCSZ|``hEMsVFb$?p9arv7AY};3Ielajh=Aqz;(8g8HJP zHMM1p@td--!*2@bI$w7@JP{9}mafJ(1a*G6J|Ncw=Gw4a3zq8v``~xYwVk-eKiBx? z-z|G~vTxIH9dEATtEuOM@pH{ijYkX4AFk1-tMfa`JL`X||2K|*ZB<1{_tmEA-Gb?; zpRJ|wOE`r4w~p~peLSv@Y>3)%*0@%1y-QaqVlCMe)VzIZsKzB;_r78nbXvu($t+Csx!v5h73?&YCmfFjdvk9h@(FP?vf?YENFyr;@W*& zv)S2Y5}BihjF#O=-%QB})Z7|@_!2dr0ej04 zsI!H7a2BZfj@oDf)Y~ybeH;z&d$mBDhN!c14Cl@+)Wyll@V(XF)0^^a`~euV4zL_x z4syYS@#E#SmF1UPnyZTU31aMomii5+g1YB2IUNFR>Ky zs0;EqR`^|uacz}I5EEez5Uw1Dy3vS<;CJDQd!9S)**!@mM2in@P9fG<8&$~K@(A`#rzUr#mzU)m6^;rX?mvzSC=quy}#4gBwV&($o{oXPC%>PYM9Xie>IZ%OHDYfkBE z1=^dFyW5(RueLRx?$$hRN$GBDO}*ODmfACfwBC;Pv_55p1ogL};UwT(tYi4I# zOD1xi!#LB?tj=hvt4cwBt$6X`Ma+Ng2l(9Kbu_O4y!L^$1x8DkF3H%w?aTbFTQ=uy z*|M3p&w*e21@g9R-jug_(;=56N3nk_%xn73sUuz6GNGict+?`LfN6%7CHxvi${ zP5EDL-BS44?Ab{e;}Kvb@JE2x1F#;H_25&0HvrZaFt4}jAH-_B?_UWX2e;2#=6hMk z!Q*@t;BmA5WF)}f1D{L0Pt3`)CgOh*_&USm;_>k~Uj}&G{5Jv^-jC6E%=_{`Q8&-y z;_>mgdAvOC|Nr;ja0J|*^~o2|Il!mDZ|Jo6JLB_?^-ug8U-mBsuQ#0w@NbaMWnLfj z7O)OD4w$_Fb3Ff#@Z$S_?fEZ1Z;bZ%I?dM(zQ6Eq@8ijnCk1`9dS&|RmCMssE?<)R z!O}&k%a^>LvTX6fl%Z%WxrLO*9c`82pclhvw zWzXKbBxUu7D^l@13!0j6^mzza2+SHaYLto0$u>C~`kHguDZ#nvCxgzMjtxjV8R?%K zALe%|M(KMh3WyH%O^pxt%{m?D2ThG%!I{(kfV?0pIiN5rC7|#uwmB(*=kn4NMR^$t zXl)cl*{Sk^%oP9gSs4N6&ZPRL#)UeZIIf$Cew_fmcD{xfM|}2lT%u=ZcZdFsyWg8! z|N49LYc~h2Zrm6Y-@G#eRqkFPrieeZS-2Ho!-jQDfUVA8;~!Q6lU zda&e&dxLFH9}M39@zLP-KmK*_r=R{hIQZlDgAblQ8vOH*{Xo_C4}LuNxUMlj)ko?Q zi+;UEQi3 zGJM=b!YA$IPJPgU+@?HeK&t3lQqwi6`Kg&MKCPy-rxz*UhfC0V)KEMWB1KP6(UtoW zQg;?!R`~ev{mu*cc)0&7`Pn%pUETNJX>O+F9j&yw2iltJ9kk(2CvCsqN&ElOK}Y|+ zlT3c>BpYfc$0urX9jqYFznmxEKc$n`y$JHS<4-;}JxJc~N{TKgQa0IBY=bQ&w!2Ug zbQ~#PyOX-BxFl5WpZsF~C55?p);D_ZFX?TkPkLMEv%V%;*HcX!drN5hwM(@B)&cr$yYDUrvC&=^MVe&t(L&3#5q`G{NVlEw| z(--$r*5#el+Lm9Y3<^p`|DJ!_e{Eq|Q9*%abIo@P%L{2u?RomV=^|}xIZs=gvS~N? z+JovuI^GmXMlA}mK)=FPDcP#+$hppn0_wr%Lm%N$dX)St4v~M^QD{H($vgir`K9e3 zMZ#wk60s6q$@8hPI=v!7rOJ4||8c_duL=vrZI$1xtj(hhO$D^G>pUIkFQB70vdH9i zD%svnB*++j!;=pCdrK0w`%UhT` zzkyhL4(9Z8$j@;$HB_WkMn^>O`TvXkA1AE1aQ?i<_4+^U=>3Xxubn6TYXx+oH=Xp< z&|s9hlWCDXndJz`;54}DSY0|2r30RH7nvt*1z)$C1U_#g5BetftvA3wgEx0(-h4JW zh-abx=WOKrUL!B@4D_E~6%!S8=K21$g_Xq@irg9t|MYo*f;OZ{Y2zse+Hz8;;gz>3 zkI}&>aLRGIbSz>I=|^lK1LYbrM2%y+&^N)E%pnu(n}zc%61&dC++!v@?ZFk>F>ee$ z8GNxb_+pv$RH`peuZfM0&VI4~swd;2t-LyS$C+$;irQ_jWkZsaOB#B!> zR&wYQP}kQ2KH^p`;6dT>E%pGn2oBWA6C5abI&U9vUdX9C*@G*z2H$A`t`mHxli5V7 zuSl;=h>OelyZ%c{E=sb!9()?`CAiHEw9V@?Iu!B=87HhEEA;Ca^$tmtuakrSbaDhY zY=!x$tvk3@721WDsl)?ZgFo|s6Eys#yL2LWzX?OUr6tB;KA9ZBcccHh#JKp}7yGX% zD=l`;aC)#_{t4|5057RrPNqpq!0XK=0rKr`VYA3nHG`yb@#enkw zXW$_R|D{0Rm}mNegLFqe-UXhTZtz-R&Q1cpPJ-I&4VCHjiSY?}FZN$uT6W1jTlio< zG%WftOX$R@1#}|lEi!VQO=7kKygb!4|Cj#D$}jom2_76wnNNDj3*ZYj2b|zc61YR} z0IzsO#2-i=G6nfzwC4q03{XXlqsUmysWlwbSW+m)z>|9n>b8R$fG@Dj0r_OqnRmln znmH#aykk+0wBgtGzoxX}lJ8}+2m4dO&p_j#i{Fkh&S5JV&M7|5;p354pNP7`XcIgV zd(FqhjiJbB@O9vh!ot8IfrAMJhvdgz)bQPwF>i!CzcccaPVhEzhhJG!ZCXP@Y&>f{ ze{ucM7S@zkUiQp3c(~IGxp9|Sbl7eRncy6=24^e7cNzpv$QR$S2lCtQ$oKhyXGlmK z4eked*ihtOmDnO5t_)y*DsVrXgGEhr=1m-tpL0Tebr0m?)U~ON@k9N4U<}Xhf7-&j zimJ=9xT6nu;rFBKI-QOPCzCOJ+N_bQkot}RZ>B{)emJj?$73!;f!uFmBJ$Rp6GJ{& zh1_sB`sZA>CjX9{EBj+eH2G8Bf=5Grc6D9KulHYBeZ@WQ@Wb8k13&DF{IvB%GQzoI ziF}G1a_aJ+vB)Wc|734J{Iqn`LUa6vea;4dUa zt}-0^%>MA9INmC7KkWCe)Nm)vJ#hYeD32yYu8ecWw#W%O+5e7eQI-<@pL?@txK!3R?xzV`y~6wdfQ`FHIm9gAENjz9Wmf2wG3H|#+jjC?TrjI-A? zdkwIsID5%DAn(pz;hO&8l^{Yr>Zno} z=FGdHKX3fzon62&At%lKa~_vDFZMoW-*fJpeQvqlJ@?HyMD{Wm@+jndGwPKi7gte| z-1KYxH`h0oNR|5@ZbPn8*8$!z$jx$I(-h~8gER8?p5Pb35wWi&a}m7%fym*r7aQl0 zIe+ZKb^4L3bwS@;YhRPQMBbHiu3RHuA9b_Kt|T`l#wBpB=DF{`rBPk#61@8_n^BYe z0Jwy`Cw@>hI9yWQZ&k3-{g1o{vI z_@!Ffj)%XoHhFqO8{vri2y_^7=wre|p^=f{dIT?3Kj=*Sz#n_VN88N~S_x=P?BJy> zveL$P4*yHhcrrH~Pe*mfQgKmIZBjxafB$X(=X)l;{PN33&*h&j?(b_U= zV0b<}7LWgx;C{G2&ei<4{&Ajy4+J0h-^f#Neu=-Y#lV_>68Ic=2N(~$3Tz&$HO6cF zxUmZDv08!Sw8m(F*8&+s&+$6`$N$$JJ63~n*!~S#fn)i9kqObtsDxN$ z)X6wibaH%TbVhu1bV_u1E{awdn<>Q{mDS!QXpycU;fvfar;2U~8@DR8` z4+gsE{^MKJIPlGrtVeYX`6(Z*S{;S9Hv8nqF06g%Q`5%V zYTEOlh4lV+2j<3I6(v++kemW$f2;n8-3T`zuKmm1F!3Eq|Mi>Y0uYXqGe}&(W4}BmoGU( zm+e$*NwP9y^1E`JLarR9NX&N=uNSNU0QgmtU$DhVv?3;l1%#Ixi59)5d@qX1g zTH9Den_AD&j@B&F?MNo0&KR=j2qaOPld@0evPv2Cd{#+7_%shoQT+Ik}N6 zR4d5D^Gy;!r|jrIlPsa56(Ux1@t6vY%v5rAfIij=^F8Qe-LO?x=TvT3zwvMF8yQDO zmY%-7#(x)WaNkP10yfg|sL#nJ?gMg)o{M?LEV98I(#93KRmBt%%O;bv_hiJ{lgQg^ zGPyWD(||(%>4dqYx;nS&`SwksV=hPE{=)BL(vhzs!?Z{5rWmn>*RNV_xPv zk>nARNeX?HcOcK1wBi4V`3Zb!U7@FuSl}Lt`BGC&Zq0@bn-YePkGYXq%*oP_J36t8 zNI&sCGJy8n1aoa^$W#h|X3-t(IUz>$3(=;~Xr7NjBNsdlo-*M05Z6iJbLftk))kry zDelY7_0P92Ffxxxt_`@Olkzsak>`*;G*;G_+xmu1qQFqh^L#Lu!Q4g}p+#X)TBHco z(&*NLp}X^P(AExvV98^ zi`c{hkGnf@jCJi^B}2@AMQ-3Wp=tDkrj&I&-q2aZ#j?NhkZvjrS_}nZSB}}G&|PrM z$}zhKe7&0+vg_CXV*D1S7O^J_-0$v^L4yEIvw>(F*+66H?GN}s56K>@&_u+?49yEz zpQ6Ip{lV8W*UfRM#$ySdJ8sZgG}dX_KRJASEX^!qPv%SS?sA3qIAW&bR$653$ojii z$OF7B$KHYdBjF7S{SMj7+`ABlB2h^aA;3B){04s8MJQCLS~`z)TeM*FPe zsIJIv*tp?u?b}$|#3g3A+}nZ}RR=u#K_hrVAs%(coWLI6mk|Cmf&L>9HzQ_sg2#>X z?+~vK`PSGY?zLo39K@>vc=PBXR<10|Qlov&mGb#BS7a@UNzU=OwGTRAJ!t<7ETM^Z zL<|b8zYFG!PSAFT;XDmQKE&H?GPF#S5u4(?McnFai=2fGG>)Q)7{^31)F1y-W$D?P zEt|LS@mU8<+q`i@Kx=bNSyOXaZF7?bb**>|?zpzOv7|~}f2pFWp}4%MzPMZsU|Z4L zfY<6TRW>zTu2k1wu4?vF39S8B;$1Y(JHgxEh{Je1Zv&qL8-We~MQ|LpE?yYCa`F4Y9{}KGf>!{`@cObvi-J}x zS)!USUYqB09|9lQiLGMd8|#ZhYpW|lDoe{k%P*BEOTH?JDEq1;vG#IFdUJVcKISE* z-RiRD-q!N|{;u-t{oUnVJvQn(GJGYZ$XSR_vX%l&cuOWZmcj$bU;I5OS$Zx=Q57|68F$mWb6g6F8OQ{NT!jqlTST&(U6&GfXmivfXzL=|!y|^YHoPqxV_L&MZP$D|C6H$ z3&-{yU*y}^@0L9) z?Vz8^N!PtEb#rG9L-T#8ltBg75o?|vkW3_fF7^oYiq^}~j&!(Rjr>wuZ zd?C6+g1iaZ;_LCGd2`=2wlK2@7MNNn%uNLfGZTTr#K=6**w9pNXkg;cFgjt%kQ*DC z$xVzj2rx1<4Z!2T6Z!^0vuDjTLtCr~;M~M30AH)8{69b&pXHpxKlMJw_p1rO9N;(Z zTNCk?PXWFL^Kt)2!0+7(ygqW|$dC8!*`X5JSR|U78patJ>BSlv9E&kE){nKaFp0Ic zGK&-02;v)gQ12P6;g2TkCJ(Zyv?AwnQ*ticLoO-n$u0U*@(f%|kwHu8RJ^?S z_rHHxf7*me+k?N#YTj0RiuPRzp#ymmGR!n1!^8u0B77YQBbJds2JRCaq$B1QcHsQ{ zB!8q+aRFC;Kk60z>654I2+W9X{Ww^UHu&!cueY5nW7m>Jz&sLQovR%SIZ3$RUhn1^H5U~)P*lXm3b&ihU3_OA+VXYW* zZ{xu|A!lk0t_16TPbVnK`18~LFnvc@rf=JkB+T8g_EzZ4eAcTZMP8fdX~7XZSA$Ly zT!&18>oN4TzPQ$=oK%z#eSXG{@GQ@E9mVUUXOH`f57wVyp68C(JrrwlA|kQ=25WH? zKFo7qy$9A9__<8RwJ5McGyW+vcc_x2?fYe~YSwHxVttw)xH1{$M7)-S*I|Ugd!DaD z%pKTbZI?H4y2(ial|!GOwIl4LYln{8cshppqaD^7czI(!h`e_sKFhpM2>Ryh7kiCb zA^+^=GMD-O^#vxN^o$X&jJ|El^;{VXV5y+zhF8B=A1c`Ca zU~Rhyyj4Q1yn6KLF$OcH&EA=q>epe2b#4N1%~G$KIM#1K*E)lu!)8(l)}$x_f1VFx z&9aMRDmh_|`{|R)Dtuml)Tq&m9UVjoF|omgkr4s;QIP=!k>T>Zh%leC8mN5EMuz$3 zM5_F9B2<34VM^b;$nb!CQ)9ze_|tHnoMY?PfO){&e-QKWzBd8HteLp({MYe+0RMiU A{r~^~ literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon.ico b/OnTopReplica/Assets/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..791a5e2abbe1788c3b7920ec0c87ababd4691435 GIT binary patch literal 7358 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 QzVN^OFZTb>|Gz2lpGUyLN&o-= literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon.png b/OnTopReplica/Assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d87244edd38607b98111a0e4759f8eddeae7ba71 GIT binary patch literal 7335 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 N002ovPDHLkV1l0s81euB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/list.png b/OnTopReplica/Assets/list.png new file mode 100644 index 0000000000000000000000000000000000000000..33b1ff0345e156591927d0d05e1ecfd9f064a89c GIT binary patch literal 681 zcmV;a0#^NrP)A}HuaqOhR5=&~SiQC$Qz3cHA?yv$u#j9hbRHa8V# zuG)sEJK9d`>});Xe6fR9df>;ty*qo}=Y7t5gudvFJ1xd$XHimFY%&z;KlAK1+rlO8 zEw*}H)-LzsjDd}A7z-{u*8^JX36l%T5~oJj%;w-t2zG{ zxYQVY+I#tAPAM+y?+?t~qxzN2W+3FhJwIFCWqDGPrdTrZ)#L2)hp`8I1h`?p=)OAI z1p_dG9CG+vabVP?4B5m4%g8CF7#lpOg+V9Ho1(=z3RF5{T*k9n6BwKbE&k2QbJezd zbav)P+~ultJVu=lZE!4;3odZ0BG4E3J>qelp7PjRq;z?fZ{PbZ?SYy$A82lC_ZIQA z>&+`cs-Fk7APq+Oee|7ocJil$oQm9yc=$y3)y@tl8~7L*9~=G9eT|*s0$yMR{M~p- zA+}Sfdw7Uo5xf(JV~Mx5Ly`JVgMk;R`ACTzI5aLVXwLgI=MWF}p8x{@XDi290elMa P00000NkvXXu0mjf+9*5T literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/newicon.png b/OnTopReplica/Assets/newicon.png new file mode 100644 index 0000000000000000000000000000000000000000..37017ad33c7c87a6c2f945feeef56ba0acf1fb3e GIT binary patch literal 770 zcmV+d1O5DoP)ox1a z7VLs78w-Twn-Av3{~$|-zu*G^SqOdx;hVJ}AMnBQ&Dz2Hn4Ot^S0z!i;tt))?&_@0 z$jFQ=0pMwOX>*$5zg>pb(cZZtgfGAO_PeJ?_wOyHF(!zJCQXxS-2F;O$=42AMKy`D zR{lCUIeq@q55Ky_t;0_jj~+h${`GI4OIIMx4-s66UL0h$2W;Exgl!8Q8bsbRO?dX? zs~6QTKY!+!K{wr2mfJJvxWn`*)C@j7;JKBhLr`boHsDuvaOCzlPd;FlB7vN zpZ73iWlX`OcGq#khQZAY>KlR_8=Sxf%LKyB5r%P=;OrcO=yL^3;u_a&b@}O%>cL@v zO@e0V5G}o#;lP@0MWz$du44L$=qAm}e*pyLG+?njLtWg$W;Wn5ZMZujHa#U|@IWvr zGG8`vfS*V;rE7rvs%_Gb-I|KA`&Eyt%HY&1E;>bOB2q^g%6+EdcO2nEO;$)dfGMhe zuy51XpWMWGQ{r@OaoM-H!`lC@6_*llwj40FYsAs#p@MTh3!r(*$bb&*^=Q7r-2;P< zWQOzTaoPsFZv;cCvAn8rwc>hXuv$|Iv!B(C8N!i=7G}_ezu<6>n7bM7?De>J`v9wW z1DAuxvMpGSpd0cLsNw4cikD4Fgy0}0N;%u?mtSn%7!ajoot3)sraag?L}`yn^cX$Q z+K3HXJK`;Fr`IoEY$%>}ZF6@18{?u-(`ige$IF;<)*bspTj zFHZE;tCNv)d6CsUpgp2}NK60YICDtw=RX1r0DQbuM9q8juK)l507*qoM6N<$g4OVC A-~a#s literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_bottomleft.pdn b/OnTopReplica/Assets/pos_bottomleft.pdn new file mode 100644 index 0000000000000000000000000000000000000000..6658542355e57545d1b138be337b56d0ed15ad29 GIT binary patch literal 6696 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 HDWM4fG=x-j literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_bottomright.png b/OnTopReplica/Assets/pos_bottomright.png new file mode 100644 index 0000000000000000000000000000000000000000..96ba61893ba568efaf9bb9835d5329dbfe26c4db GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9}FK5etQUh2#kmRT2WL`C{*P zJP?+)m}qA9|8i4PfPqKPizytJV&dcbn;er4A7t=i7GzLs>D>2Zg)bw}LIzJ)KbLh* G2~7YYM^pg- literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_center.png b/OnTopReplica/Assets/pos_center.png new file mode 100644 index 0000000000000000000000000000000000000000..d672a20baab23469fa22cbf4d711e4ae2c6c2e60 GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$179u0Iceio!iz978PplV_M@Ui!b(d-|e;2@=dw2UhYe`FUohv4(_7TONa7>EQzm zIgP@Z$)D|YH8@zCk92V66x?VuxqkinVxan}1CO5Y8!~I~9Z8%pLE{_K(wmYD3x!y+ Um;83;1zN%2>FVdQ&MBb@00?tREdT%j literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_null.png b/OnTopReplica/Assets/pos_null.png new file mode 100644 index 0000000000000000000000000000000000000000..ea301953f4a137a0c2a6c12010b7234431bd3a53 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9}FK5etQUh2#kmRT2WL`C{*P pJP?+)u(-uR0qGPfD8YB{i+h- z5t8O(YhV(5lAgjN(|LC)8IumM=*;A_ kY?eJ_(y-*g@em${tp58O7Cx@M26QEZr>mdKI;Vst00-D*CIA2c literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/regions_new.png b/OnTopReplica/Assets/regions_new.png new file mode 100644 index 0000000000000000000000000000000000000000..25947b96dedbc6263707383ff7bb5ce7bf0e4a4d GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X3O!vMLn>}1r6eRgU`i5Hc$TKXTf_RuT%k=ypuYW)iH6!V z{o@=eCXGL21lSoqDl6r(NA6b9{kM0%%TlySL|m!d9m;Y>lp_f zt|QkMBz|b~s4cKvoaoSMu)snySk*Xi%3MY!9)_5W`rqzs3j7VUoWax8&t;ucLK6V& C9z^W` literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/screenshot-icon.ico b/OnTopReplica/Assets/screenshot-icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3251e44fcf9b29c72083eb6543466410d9926753 GIT binary patch literal 99678 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
    w$YD8-Q{R!9jryL4g5{Kz1u|y=6WF!x~3Q FFaU5&7=Zu) literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/thumbs_up.png b/OnTopReplica/Assets/thumbs_up.png new file mode 100644 index 0000000000000000000000000000000000000000..e77b7f130babaf80c65481efc1d008884e60ac86 GIT binary patch literal 2318 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_border16.png b/OnTopReplica/Assets/window_border16.png new file mode 100644 index 0000000000000000000000000000000000000000..b9bc0b092087debf2200041e8334bcf20f508a05 GIT binary patch literal 683 zcmV;c0#yBpP)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$9Fmkdbk^le#1xZ9f zR5(wqlig3!Q5=W4?z%Thpe!I0ejuVwNyCJkqnH_5G1pp+%qAiT=$tasD09wgX0Ekf z)+(*^&*>sm-gLwADUT2ij4HQC0cKulA#{1t_QuqH}~WIKyj?%1~AKXo@Cj9!}%Fmd4Saq#~Ta z986HwouV@G23zz!j*(9^jD6+godt}?dNTm6)sK59CBi9=h;Vr*PEkjk;-I+qq_JLl zOYPMU93B0PYy2DTyNeVxWC3(SZ8cm!ki-(2NAk{L@WnBQQdoLlb7=4#b;BR2zww2p zi3OVPeaCb>3!t}m(kLoeyF|Ecmcljx@Fytk+DLzq)AyG!x%x5{RsnT=ag5$s_O%Lt zcOFycdVOb>{+Wl%6lVkW*90gJ%%N?Gp%nmq`=9mCK3c}ym}Q_o7(mw=L+y!CaB)pP zy}|Db{Rc~&d;EivrbwoO!r~XCBVS_Y9*MlY1{7)oO3knNy+b)I(kdjk^Ao~A%$#(e RGs*w}002ovPDHLkV1h^TF@yjB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_multiple.pdn b/OnTopReplica/Assets/window_multiple.pdn new file mode 100644 index 0000000000000000000000000000000000000000..2641e329e05972bf982e65852fb0269808fce01c GIT binary patch literal 8806 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 BaXbJ3 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_multiple16.ico b/OnTopReplica/Assets/window_multiple16.ico new file mode 100644 index 0000000000000000000000000000000000000000..6c48346dd69e92f341301e5d260e9d4befbbe0db GIT binary patch literal 894 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_switch.pdn b/OnTopReplica/Assets/window_switch.pdn new file mode 100644 index 0000000000000000000000000000000000000000..72bcc91da1b19273df35affdb8d985bfa6af0bc2 GIT binary patch literal 10464 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_switch.png b/OnTopReplica/Assets/window_switch.png new file mode 100644 index 0000000000000000000000000000000000000000..987ef8eea5050eb07f43ac3f3fa443d0359f85a6 GIT binary patch literal 456 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_arrow.png b/OnTopReplica/Assets/xiao_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..ca39d4820e0858e3519c1d6e238b171950cc53a3 GIT binary patch literal 437 zcmV;m0ZRUfP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ-J4r-ARCwCNlQB;MK@^0)6*0;shK|yNYW)TL0b*-nVPiCE2Uaw8R(3R2Xon_- zA7Eo;q_ELgs12MnL}P;_gg`j%IL))r(}ZK8pzt-jJDHulc{{5_glTGqDQh;^D5XXc zQpM^qkQstcZg+GR01;uFja0EJ&mvO(5V`b39z`TotV(ciq6OdSoNb-j)H_gV!HZ+C zFsA+OgLTbo7h*s}3<3tP?5}ESO;}ol{DnrrTyIBGqwoqxnQ{yva#hQzdThSar`fhhQ0rbd8SfKAh*YQFET?gt5vEcY_9HKYy zar*AafqH}J_#go!<54_+ek3s&pCI72o29}H8>T0{w!b;UxC&CJl(K*XU>P)eK;viq fO|Sa*-}p5E1l@+qVnZ^Q00000NkvXXu0mjfU7@ez literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_delete.png b/OnTopReplica/Assets/xiao_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7e3c06c7072ab8bd2992ec1db3040dde5bb9ff GIT binary patch literal 715 zcmV;+0yO=JP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;QAtEWRCwB?lRr#TaS+Ep?@wES8fe1+O&LfK8xlI{8g*x!>LAes`A> z9LM3)^m+c07Z?Ms02iyicfd2?5un!sqjMjSsn?hwN=semVg$QSL$JN#RSsjy*PU4M zg$#jkH;MS`5#XK-AWPza?D1e{a$uW;Z@p*; zu%AqWVIl`Y$dWivH$=zKDVJ2ROqyt{vZf+RG9ImjW7&oaP<3-lEf%8ywyyDW{wn{H z*mM$8RnaVa*9D|=>Pjx1injXwl=E3|?8e!G$cZ*T`E-hOPF-=gFuA<5c(@(MYHkN# z3x;7}=;eAd4DhvJHMeuP9cOZRXVC>@AiJ4VW>V{G$Q?b%!4Qt*#j;E+%fykq$iWbD zM-Qp>H8zvVOa`)U3ma2|djEWU_Tgp2ccG--2%d`K>x>}F0^nd;0;Qb7_qVIO|MKJR z_-bNyV`@;Z+X7G=UrpSG#M3*MQrG)BTVq{;mL7oAQE_i;KmY3H%WwCAJ)r20<@h!B x&&R!hA7}-4qZ*J0e$^`1u2FCthyT&<0RU|@782+2Qd0l`002ovPDHLkV1n3wH?;r& literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_down.png b/OnTopReplica/Assets/xiao_down.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf7a5d1c0ad4f723223346040b778b0a4a73fd7 GIT binary patch literal 761 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;e@R3^RCwB?lTAoeQ5c4wd*{xGKVXhhG)$nNHVApxN-S)y+eD68$d%o{G z=ToGVT$udIAw+;d;5u;mfcpr%2A%^>>EM^4b~KJ+Fr+Gz$;27X#-lXU1!VRY$#1%m z{IIe$R`li2ff2wz17G^Lqt#X816L9h!;o`fFBj}pgrTi9%DJW}FK1RJje@DEiuw#d zEu|d}g~kWE6BtF<%0o^-dR8YrtCJG}XB1(eJ3%-U8b2sCFetjtt*(|Bzk#0uEC*~C zQhjk!eQ|6z;C>4D4Rp1{D7wzAvVo!~y-g?U$mBr?uO|sOdgs})}bg$Z@C9* zNb3woH1_v=JPE5C+kvtp4#2{S4nS*D49|gBy@ndnI*&Bb@g$~Y0NtXd?ih9NOjMZ8rTgviD2e(C6h%WyQ1CEJi?@s0>@I$Kyg4>JdVXTw zIr0iXVRLNw;U>J&Z#=qN+t`+@K6R!Uppenma~n%D-(Ng<3akT#l1Mo|jdQ~t5ugUB r1u73{0px%`rJGCBs7NXKAN(BvYQHHQ=RzG>00000NkvXXu0mjfkH<^r literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_help.png b/OnTopReplica/Assets/xiao_help.png new file mode 100644 index 0000000000000000000000000000000000000000..df861f96e0c4f211756f6aa44252f0e35fad1739 GIT binary patch literal 752 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;c1c7*RCwB?lf6$9aTv!xcfGbi5keuD;E~uwkr0h-2u5QZp5K7pe`CZpackz08Kmz*7l@8ulLg4IrNRP`bP+yO#CIhuBhS9 zYdVN1LAu0Y7i&*QV99CW(Uh3P327 z;Bkq9ar@duRAAqNFHxl;weBvNIyd-%7axC+vmNikV9=BRa+W#VeLlcG@FxR~4UvAi z0`PDZj4VjiaP@2p^UK@Az%vOz5QM%!a|7`M$XI#7y~VP4ECjld_v2XzG&k@`i1n2K zqD$&@dnERfHd&`E+}Pg9J0Tg}umQ-L(9$R&x}?sECYo6XO*bk4N6XL(DM&66-E?E) zSS3JK*H+S+7Q}{(X>;6eL=H;+36F@TXR-CnMhT#)yR%ASFIZb$Px8>fE@aU=lb@r{ zR|SA5Ky6JGN+N}(?#=>;0PEu;lhIg$CT|X(3oOgRFf1bdGLe26!?3U{3!e*`yg8z= z1nc7?ljR;{;z@OLX>`sbJ?d#Yg(5n{(-yrm`M*%(5oz|hk?SPpRu$CErBO2RWC_qU zwP;3%LSxpQDX(T;z8{qRv^RPY1PR9hfh?+~^I>_1-^<^g#wLcwx~3M*iYWl;*u>D| z7`#(%J-J(dx+Cm6*?I;b9apwe+bi?G-aL2?Yys(_NI1TY(V>tBs0HeQ>OwdJq=3WX i%f)RJ9LM2*?B4+H@(<#P|3};a0000%t*xm literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_ok.png b/OnTopReplica/Assets/xiao_ok.png new file mode 100644 index 0000000000000000000000000000000000000000..fc5029a25f4417ad92afa7489f464874dc3318df GIT binary patch literal 752 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;c1c7*RCwB?lTAoeQ5c4wGk2VE(s3N6G)+pYjcFT2iI8xUB#|3YcWp$mz?IZO zSK_9YK}q7KU52X+0|{Dagx0{|UpUcV)RYchW}N?f?%cU8)Qh9bUicR0<@+Aa$2qSs zO%ovmN9vt#bN~ZDH*n+7{tV0lQ!|}w@~GD|O~i3P?|kEcB9xa67h1V^{xYTIUI3zM zgr9$Zu>N})!!!nGI@hL70eapwJaD@_&u=$(Ly19}1X(ly>^N~z3^9d;ud~F{`w!pT zU4LN#`rco6C_>ThwcaOPvX5rOG0B$zoQfM)%){H|R~V+@e0^tC+5oaLH&kEMj8+&Y zo>I{?4SAxz_?KDoeLyRWQ(x6gR_2BPYydVP`YOw6h-OqWGJ__yyjuO{XS!vP>6S&J z8I{Vi8f-%J9jpfkyJ#wK+DW8h1Vi7gYhS9aV>=XNx@FPw5~&!at_p-*G+6)uJ)1?- z(s|AOD{Xn_v0x91O+g~TG<9nQJ#B2Hl1Xwo7}@Hw296JpY;}>*HF8-PHw$PUh25xSHNuXW_T!0=iJQfAPl#F;B%FS0{2oSL%$3!~eU0o9M&@Z!LQE_DWd z?Enn=+R>y$mpTqyxD77>)z8A{_M`D41p*Tjn=VLbQG(G8e)-fVpTKKLdh5@*oN)!gMGHPz-ng*P)jN i_JIU&I*tFMe**wrqevEjZknS20000P)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;Zb?KzRCwB?lS@ccQ5eU6=gyrgI+i+!(lmmGkwlPU_CUhgxNXxyR}q4bUbL%4 zD``=?=&3?P`!?Z9U1+$deBgr=3pAly>7=*uG50lh?rCwI$#mHt4xICy@B5waaL!*y zDG@@DRYT8|2DAg0fpa_I_rM#VZ@jb4&E`re5xW5mJyY!=Mf5h+RB$XFrL-hST>A~5 zb%S>c-^lo~W4yDjZy%uk#pJbUq~O_=i#24zu#pBQ69Do;P!xtx8eR`CV5H3JlU?=C zbAZ#m(^^Oo&W+}i7{F#4q=eB49f0$v;s^l;!w?0Y4$hGAW!_jvt*ZcJ(r#Dd(HNV+ zFAHopC?05yGte4mbVA2=gS}0l@o0=p+U){R0E7@NRb?e4w!pGrY$hnqYM?dF*o=;4 zL1GK4%1RJIwB!IvNUaZRD#?_O?fCx`?}pfpPcr4BX(~!ctp`xE39ctGZ3j<6+ei?5 zc_ANwwh=1_QbP*18^%Yba{$ja=TfFwiw~CT?>pUcyxjbNreNA0zHNQUUBNU~`t`LW zg{s7L9c(8US!LI*>rkjl^tB|WvCLuVch{El$5@>0 z#!9UJ?I8Hdg_SpZ?v38!00000(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ-QAtEWRCwCFlD$d;K@^3*6*q-K0ycuMjg>xukCGyrI+&NyO4&w>nT5QEg`~9F zMl9?k44OdL*-7A7xU0qp{(+~t%(-_y?r>hsV!ms@Ll0Nrkv>2yk`)4^H`fO9Sf;OL^zwWO1K>GUS(=%SD$ zfNfyk7^AW*RTPEFvTPFB2eu`>JmE3Gq=Yc_@0XbacK{&-y!V6=yQuqYG{{pJ2 z!h26uRiFQZy%rqqz=AEVZr1@xlCWGZNs?q8;GZV>;F4Zr_@_w@2d@LpxqLJl^#I1> z@mqYgqB^eKy3TYn002ovPDHLkV1gvj B#S{Pl literal 0 HcmV?d00001 diff --git a/OnTopReplica/CloneClickEventArgs.cs b/OnTopReplica/CloneClickEventArgs.cs new file mode 100644 index 0000000..95012a7 --- /dev/null +++ b/OnTopReplica/CloneClickEventArgs.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + public class CloneClickEventArgs : EventArgs { + + public Point ClientClickLocation { get; set; } + + public bool IsDoubleClick { get; set; } + + public MouseButtons Buttons { get; set; } + + public CloneClickEventArgs(Point location, MouseButtons buttons) { + ClientClickLocation = location; + Buttons = buttons; + IsDoubleClick = false; + } + + public CloneClickEventArgs(Point location, MouseButtons buttons, bool doubleClick) { + ClientClickLocation = location; + Buttons = buttons; + IsDoubleClick = doubleClick; + } + + } +} diff --git a/OnTopReplica/CloseRequestEventArgs.cs b/OnTopReplica/CloseRequestEventArgs.cs new file mode 100644 index 0000000..377ce99 --- /dev/null +++ b/OnTopReplica/CloseRequestEventArgs.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; + +namespace OnTopReplica { + public class CloseRequestEventArgs : EventArgs { + + public WindowHandle LastWindowHandle { get; set; } + + public Rectangle? LastRegion { get; set; } + + } +} diff --git a/OnTopReplica/EnumerableExtensions.cs b/OnTopReplica/EnumerableExtensions.cs new file mode 100644 index 0000000..dbd7c6c --- /dev/null +++ b/OnTopReplica/EnumerableExtensions.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica { + /// + /// Extension methods for IEnumerable. + /// + static class EnumerableExtensions { + + /// + /// Gets the first element of an enumeration of a default value. + /// + public static T FirstOrDefault(this IEnumerable collection) { + if (collection == null) + throw new ArgumentNullException(); + + using (var enumerator = collection.GetEnumerator()) { + if (!enumerator.MoveNext()) + return default(T); + else + return enumerator.Current; + } + } + + } +} diff --git a/OnTopReplica/EnumerationExtensions.cs b/OnTopReplica/EnumerationExtensions.cs new file mode 100644 index 0000000..a7cc169 --- /dev/null +++ b/OnTopReplica/EnumerationExtensions.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica { + + /// + /// Poor man's LINQ. + /// + static class EnumerationExtensions { + + public static bool Contains(IEnumerable collection, T value){ + foreach (var v in collection) + if (v.Equals(value)) + return true; + + return false; + } + + } + +} diff --git a/OnTopReplica/ExtensionAttribute.cs b/OnTopReplica/ExtensionAttribute.cs new file mode 100644 index 0000000..09eb1e5 --- /dev/null +++ b/OnTopReplica/ExtensionAttribute.cs @@ -0,0 +1,11 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace System.Runtime.CompilerServices { + /// + /// Fake extension attribute that adds extension method support to C# 2 (without System.Core.dll reference). + /// + class ExtensionAttribute : Attribute { + } +} diff --git a/OnTopReplica/FocusedTextBox.cs b/OnTopReplica/FocusedTextBox.cs new file mode 100644 index 0000000..ac34c2d --- /dev/null +++ b/OnTopReplica/FocusedTextBox.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.Text; +using VistaControls; +using System.Windows.Forms; + +namespace OnTopReplica { + + class FocusedTextBox : System.Windows.Forms.TextBox { + + protected override bool IsInputChar(char charCode) { + if (charCode == '\n' || charCode == '\r') + return true; + + return base.IsInputChar(charCode); + } + + protected override void OnKeyUp(KeyEventArgs e) { + if (e.KeyCode == Keys.Return) { + if(!string.IsNullOrEmpty(Text)) + OnConfirmInput(); + + e.Handled = true; + e.SuppressKeyPress = true; + } + else if (e.KeyCode == Keys.Escape) { + OnAbortInput(); + + e.Handled = true; + e.SuppressKeyPress = true; + } + + //Console.WriteLine("{0} ({1})", e.KeyCode, e.KeyValue); + + base.OnKeyUp(e); + } + + //List of characters to ignore on KeyPress events (because they generate bell rings) + char[] _ignoreChars = new char[] { + (char)27, (char)13 + }; + + protected override void OnKeyPress(KeyPressEventArgs e) { + if (EnumerationExtensions.Contains(_ignoreChars, e.KeyChar)) { + e.Handled = true; + } + + base.OnKeyPress(e); + } + + public event EventHandler ConfirmInput; + + protected virtual void OnConfirmInput() { + var evt = ConfirmInput; + if (evt != null) + evt(this, EventArgs.Empty); + } + + public event EventHandler AbortInput; + + protected virtual void OnAbortInput() { + var evt = AbortInput; + if (evt != null) + evt(this, EventArgs.Empty); + } + + } + +} diff --git a/OnTopReplica/IMessagePumpProcessor.cs b/OnTopReplica/IMessagePumpProcessor.cs new file mode 100644 index 0000000..824b9e5 --- /dev/null +++ b/OnTopReplica/IMessagePumpProcessor.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + interface IMessagePumpProcessor : IDisposable { + + void Initialize(MainForm form); + + bool Process(ref Message msg); + + } +} diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs new file mode 100644 index 0000000..97cc99e --- /dev/null +++ b/OnTopReplica/MainForm.Designer.cs @@ -0,0 +1,630 @@ +namespace OnTopReplica +{ + partial class MainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.menuContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.menuContextWindows = new System.Windows.Forms.ToolStripMenuItem(); + this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); + this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.switchToWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.selectRegionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.advancedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickForwardingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickThroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.groupSwitchModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextOpacity = new System.Windows.Forms.ToolStripMenuItem(); + this.menuOpacity = new System.Windows.Forms.ContextMenuStrip(this.components); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); + this.fullOpacityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.resizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuResize = new System.Windows.Forms.ContextMenuStrip(this.components); + this.doubleToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.fitToWindowToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.halfToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.quarterToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.fullscreenToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.restorePositionAndSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.dockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.disabledToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.centerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.chromeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.reduceToIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.languageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuLanguages = new System.Windows.Forms.ContextMenuStrip(this.components); + this.englishToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.cestinaToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.danskToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.italianoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); + this.fullSelectWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.danskToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFullscreenContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.enableClickthroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullExitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.espanolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContext.SuspendLayout(); + this.menuWindows.SuspendLayout(); + this.menuOpacity.SuspendLayout(); + this.menuResize.SuspendLayout(); + this.menuLanguages.SuspendLayout(); + this.menuFullscreenContext.SuspendLayout(); + this.SuspendLayout(); + // + // menuContext + // + this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuContextWindows, + this.switchToWindowToolStripMenuItem, + this.selectRegionToolStripMenuItem, + this.advancedToolStripMenuItem, + this.menuContextOpacity, + this.resizeToolStripMenuItem, + this.dockToolStripMenuItem, + this.chromeToolStripMenuItem, + this.reduceToIconToolStripMenuItem, + this.toolStripSeparator1, + this.languageToolStripMenuItem, + this.aboutToolStripMenuItem, + this.menuContextClose}); + this.menuContext.Name = "menuContext"; + this.menuContext.Size = new System.Drawing.Size(169, 296); + this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); + // + // menuContextWindows + // + this.menuContextWindows.DropDown = this.menuWindows; + this.menuContextWindows.Image = global::OnTopReplica.Properties.Resources.list; + this.menuContextWindows.Name = "menuContextWindows"; + this.menuContextWindows.Size = new System.Drawing.Size(168, 22); + this.menuContextWindows.Text = global::OnTopReplica.Strings.MenuWindows; + this.menuContextWindows.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // + // menuWindows + // + this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.noneToolStripMenuItem}); + this.menuWindows.Name = "menuWindows"; + this.menuWindows.OwnerItem = this.fullSelectWindowToolStripMenuItem; + this.menuWindows.Size = new System.Drawing.Size(118, 26); + this.menuWindows.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Windows_opening); + // + // noneToolStripMenuItem + // + this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; + this.noneToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; + // + // switchToWindowToolStripMenuItem + // + this.switchToWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_arrow; + this.switchToWindowToolStripMenuItem.Name = "switchToWindowToolStripMenuItem"; + this.switchToWindowToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.switchToWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSwitch; + this.switchToWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSwitchTT; + this.switchToWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_Switch_click); + // + // selectRegionToolStripMenuItem + // + this.selectRegionToolStripMenuItem.Enabled = false; + this.selectRegionToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.regions; + this.selectRegionToolStripMenuItem.Name = "selectRegionToolStripMenuItem"; + this.selectRegionToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.selectRegionToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRegion; + this.selectRegionToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRegionTT; + this.selectRegionToolStripMenuItem.Click += new System.EventHandler(this.Menu_Region_click); + // + // advancedToolStripMenuItem + // + this.advancedToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.clickForwardingToolStripMenuItem, + this.clickThroughToolStripMenuItem, + this.groupSwitchModeToolStripMenuItem}); + this.advancedToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_wrench; + this.advancedToolStripMenuItem.Name = "advancedToolStripMenuItem"; + this.advancedToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.advancedToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAdvanced; + // + // clickForwardingToolStripMenuItem + // + this.clickForwardingToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; + this.clickForwardingToolStripMenuItem.Name = "clickForwardingToolStripMenuItem"; + this.clickForwardingToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.clickForwardingToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickForwarding; + this.clickForwardingToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickForwardingTT; + this.clickForwardingToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickForwarding_click); + // + // clickThroughToolStripMenuItem + // + this.clickThroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.clickThroughToolStripMenuItem.Name = "clickThroughToolStripMenuItem"; + this.clickThroughToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.clickThroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.clickThroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.clickThroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // groupSwitchModeToolStripMenuItem + // + this.groupSwitchModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.groupmode; + this.groupSwitchModeToolStripMenuItem.Name = "groupSwitchModeToolStripMenuItem"; + this.groupSwitchModeToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.groupSwitchModeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuGroupSwitch; + this.groupSwitchModeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuGroupSwitchTT; + this.groupSwitchModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_GroupSwitchMode_click); + // + // menuContextOpacity + // + this.menuContextOpacity.DropDown = this.menuOpacity; + this.menuContextOpacity.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.menuContextOpacity.Name = "menuContextOpacity"; + this.menuContextOpacity.Size = new System.Drawing.Size(168, 22); + this.menuContextOpacity.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // menuOpacity + // + this.menuOpacity.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripMenuItem1, + this.toolStripMenuItem2, + this.toolStripMenuItem3, + this.toolStripMenuItem4}); + this.menuOpacity.Name = "menuOpacity"; + this.menuOpacity.OwnerItem = this.menuContextOpacity; + this.menuOpacity.ShowCheckMargin = true; + this.menuOpacity.ShowImageMargin = false; + this.menuOpacity.Size = new System.Drawing.Size(154, 92); + this.menuOpacity.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Opacity_opening); + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Checked = true; + this.toolStripMenuItem1.CheckState = System.Windows.Forms.CheckState.Checked; + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem1.Tag = 1D; + this.toolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuOp100; + this.toolStripMenuItem1.ToolTipText = global::OnTopReplica.Strings.MenuOp100TT; + this.toolStripMenuItem1.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem2 + // + this.toolStripMenuItem2.Name = "toolStripMenuItem2"; + this.toolStripMenuItem2.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem2.Tag = 0.75D; + this.toolStripMenuItem2.Text = global::OnTopReplica.Strings.MenuOp75; + this.toolStripMenuItem2.ToolTipText = global::OnTopReplica.Strings.MenuOp75TT; + this.toolStripMenuItem2.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem3 + // + this.toolStripMenuItem3.Name = "toolStripMenuItem3"; + this.toolStripMenuItem3.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem3.Tag = 0.5D; + this.toolStripMenuItem3.Text = global::OnTopReplica.Strings.MenuOp50; + this.toolStripMenuItem3.ToolTipText = global::OnTopReplica.Strings.MenuOp50TT; + this.toolStripMenuItem3.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem4 + // + this.toolStripMenuItem4.Name = "toolStripMenuItem4"; + this.toolStripMenuItem4.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem4.Tag = 0.25D; + this.toolStripMenuItem4.Text = global::OnTopReplica.Strings.MenuOp25; + this.toolStripMenuItem4.ToolTipText = global::OnTopReplica.Strings.MenuOp25TT; + this.toolStripMenuItem4.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // fullOpacityToolStripMenuItem + // + this.fullOpacityToolStripMenuItem.DropDown = this.menuOpacity; + this.fullOpacityToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.fullOpacityToolStripMenuItem.Name = "fullOpacityToolStripMenuItem"; + this.fullOpacityToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullOpacityToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // resizeToolStripMenuItem + // + this.resizeToolStripMenuItem.DropDown = this.menuResize; + this.resizeToolStripMenuItem.Enabled = false; + this.resizeToolStripMenuItem.Name = "resizeToolStripMenuItem"; + this.resizeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.resizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResize; + // + // menuResize + // + this.menuResize.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.doubleToolStripMenuItem1, + this.fitToWindowToolStripMenuItem1, + this.halfToolStripMenuItem1, + this.quarterToolStripMenuItem1, + this.toolStripSeparator3, + this.fullscreenToolStripMenuItem1, + this.toolStripSeparator2, + this.restorePositionAndSizeToolStripMenuItem}); + this.menuResize.Name = "menuResize"; + this.menuResize.OwnerItem = this.resizeToolStripMenuItem; + this.menuResize.Size = new System.Drawing.Size(218, 170); + this.menuResize.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Resize_opening); + // + // doubleToolStripMenuItem1 + // + this.doubleToolStripMenuItem1.Name = "doubleToolStripMenuItem1"; + this.doubleToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.doubleToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitDouble; + this.doubleToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Double); + // + // fitToWindowToolStripMenuItem1 + // + this.fitToWindowToolStripMenuItem1.Name = "fitToWindowToolStripMenuItem1"; + this.fitToWindowToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.fitToWindowToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitOriginal; + this.fitToWindowToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_FitToWindow); + // + // halfToolStripMenuItem1 + // + this.halfToolStripMenuItem1.Name = "halfToolStripMenuItem1"; + this.halfToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.halfToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitHalf; + this.halfToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Half); + // + // quarterToolStripMenuItem1 + // + this.quarterToolStripMenuItem1.Name = "quarterToolStripMenuItem1"; + this.quarterToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.quarterToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitQuarter; + this.quarterToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Quarter); + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(214, 6); + // + // fullscreenToolStripMenuItem1 + // + this.fullscreenToolStripMenuItem1.Image = global::OnTopReplica.Properties.Resources.fullscreen; + this.fullscreenToolStripMenuItem1.Name = "fullscreenToolStripMenuItem1"; + this.fullscreenToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.fullscreenToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitFullscreen; + this.fullscreenToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Fullscreen); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(214, 6); + // + // restorePositionAndSizeToolStripMenuItem + // + this.restorePositionAndSizeToolStripMenuItem.Name = "restorePositionAndSizeToolStripMenuItem"; + this.restorePositionAndSizeToolStripMenuItem.Size = new System.Drawing.Size(217, 22); + this.restorePositionAndSizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRecall; + this.restorePositionAndSizeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRecallTT; + this.restorePositionAndSizeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Resize_RecallPosition_click); + // + // dockToolStripMenuItem + // + this.dockToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.disabledToolStripMenuItem, + this.topLeftToolStripMenuItem, + this.topRightToolStripMenuItem, + this.centerToolStripMenuItem, + this.bottomLeftToolStripMenuItem, + this.bottomRightToolStripMenuItem}); + this.dockToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_null; + this.dockToolStripMenuItem.Name = "dockToolStripMenuItem"; + this.dockToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.dockToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosition; + this.dockToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuPositionTT; + this.dockToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Position_Opening); + // + // disabledToolStripMenuItem + // + this.disabledToolStripMenuItem.Checked = true; + this.disabledToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; + this.disabledToolStripMenuItem.Name = "disabledToolStripMenuItem"; + this.disabledToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.disabledToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosDisabled; + this.disabledToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_Disable); + // + // topLeftToolStripMenuItem + // + this.topLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topleft; + this.topLeftToolStripMenuItem.Name = "topLeftToolStripMenuItem"; + this.topLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopLeft; + this.topLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopLeft); + // + // topRightToolStripMenuItem + // + this.topRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topright; + this.topRightToolStripMenuItem.Name = "topRightToolStripMenuItem"; + this.topRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopRight; + this.topRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopRight); + // + // centerToolStripMenuItem + // + this.centerToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_center; + this.centerToolStripMenuItem.Name = "centerToolStripMenuItem"; + this.centerToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.centerToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosCenter; + this.centerToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_Center); + // + // bottomLeftToolStripMenuItem + // + this.bottomLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomleft; + this.bottomLeftToolStripMenuItem.Name = "bottomLeftToolStripMenuItem"; + this.bottomLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomLeft; + this.bottomLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomLeft); + // + // bottomRightToolStripMenuItem + // + this.bottomRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomright; + this.bottomRightToolStripMenuItem.Name = "bottomRightToolStripMenuItem"; + this.bottomRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomRight; + this.bottomRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomRight); + // + // chromeToolStripMenuItem + // + this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem"; + this.chromeToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.chromeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuChrome; + this.chromeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuChromeTT; + this.chromeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Chrome_click); + // + // reduceToIconToolStripMenuItem + // + this.reduceToIconToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.reduce; + this.reduceToIconToolStripMenuItem.Name = "reduceToIconToolStripMenuItem"; + this.reduceToIconToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.reduceToIconToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReduce; + this.reduceToIconToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuReduceTT; + this.reduceToIconToolStripMenuItem.Click += new System.EventHandler(this.Menu_Reduce_click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(165, 6); + // + // languageToolStripMenuItem + // + this.languageToolStripMenuItem.DropDown = this.menuLanguages; + this.languageToolStripMenuItem.Name = "languageToolStripMenuItem"; + this.languageToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.languageToolStripMenuItem.Text = global::OnTopReplica.Strings.Language; + // + // menuLanguages + // + this.menuLanguages.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.englishToolStripMenuItem, + this.cestinaToolStripMenuItem, + this.danskToolStripMenuItem1, + this.espanolToolStripMenuItem, + this.italianoToolStripMenuItem}); + this.menuLanguages.Name = "menuLanguages"; + this.menuLanguages.OwnerItem = this.languageToolStripMenuItem; + this.menuLanguages.Size = new System.Drawing.Size(153, 136); + this.menuLanguages.Text = "Dansk"; + // + // englishToolStripMenuItem + // + this.englishToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_usa; + this.englishToolStripMenuItem.Name = "englishToolStripMenuItem"; + this.englishToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.englishToolStripMenuItem.Tag = "en-US"; + this.englishToolStripMenuItem.Text = "English"; + this.englishToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // cestinaToolStripMenuItem + // + this.cestinaToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_czech; + this.cestinaToolStripMenuItem.Name = "cestinaToolStripMenuItem"; + this.cestinaToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.cestinaToolStripMenuItem.Tag = "cs-CZ"; + this.cestinaToolStripMenuItem.Text = "Čeština"; + this.cestinaToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // danskToolStripMenuItem1 + // + this.danskToolStripMenuItem1.Image = global::OnTopReplica.Properties.Resources.flag_danish; + this.danskToolStripMenuItem1.Name = "danskToolStripMenuItem1"; + this.danskToolStripMenuItem1.Size = new System.Drawing.Size(152, 22); + this.danskToolStripMenuItem1.Tag = "da-DK"; + this.danskToolStripMenuItem1.Text = "Dansk"; + this.danskToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Language_click); + // + // italianoToolStripMenuItem + // + this.italianoToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_ita; + this.italianoToolStripMenuItem.Name = "italianoToolStripMenuItem"; + this.italianoToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.italianoToolStripMenuItem.Tag = "it-IT"; + this.italianoToolStripMenuItem.Text = "Italiano"; + this.italianoToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_help; + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(168, 22); + this.aboutToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAbout; + this.aboutToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAboutTT; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.Menu_About_click); + // + // menuContextClose + // + this.menuContextClose.Image = global::OnTopReplica.Properties.Resources.close_new; + this.menuContextClose.Name = "menuContextClose"; + this.menuContextClose.Size = new System.Drawing.Size(168, 22); + this.menuContextClose.Text = global::OnTopReplica.Strings.MenuClose; + this.menuContextClose.Click += new System.EventHandler(this.Menu_Close_click); + // + // fullSelectWindowToolStripMenuItem + // + this.fullSelectWindowToolStripMenuItem.DropDown = this.menuWindows; + this.fullSelectWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.list; + this.fullSelectWindowToolStripMenuItem.Name = "fullSelectWindowToolStripMenuItem"; + this.fullSelectWindowToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullSelectWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindows; + this.fullSelectWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // + // danskToolStripMenuItem + // + this.danskToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_danish; + this.danskToolStripMenuItem.Name = "danskToolStripMenuItem"; + this.danskToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.danskToolStripMenuItem.Tag = "da-DA"; + this.danskToolStripMenuItem.Text = "Dansk"; + this.danskToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // menuFullscreenContext + // + this.menuFullscreenContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fullSelectWindowToolStripMenuItem, + this.fullOpacityToolStripMenuItem, + this.enableClickthroughToolStripMenuItem, + this.fullExitToolStripMenuItem}); + this.menuFullscreenContext.Name = "menuFullscreenContext"; + this.menuFullscreenContext.Size = new System.Drawing.Size(190, 92); + // + // enableClickthroughToolStripMenuItem + // + this.enableClickthroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; + this.enableClickthroughToolStripMenuItem.Name = "enableClickthroughToolStripMenuItem"; + this.enableClickthroughToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.enableClickthroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.enableClickthroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.enableClickthroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // fullExitToolStripMenuItem + // + this.fullExitToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; + this.fullExitToolStripMenuItem.Name = "fullExitToolStripMenuItem"; + this.fullExitToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullExitToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuQuitFullscreen; + this.fullExitToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_ExitFullscreen_click); + // + // espanolToolStripMenuItem + // + this.espanolToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_spanish; + this.espanolToolStripMenuItem.Name = "espanolToolStripMenuItem"; + this.espanolToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.espanolToolStripMenuItem.Text = "Español"; + this.espanolToolStripMenuItem.Tag = "es-ES"; + this.espanolToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.Control; + this.ClientSize = new System.Drawing.Size(264, 204); + this.ControlBox = false; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.MinimumSize = new System.Drawing.Size(20, 34); + this.Name = "MainForm"; + this.Text = "OnTopReplica"; + this.TopMost = true; + this.menuContext.ResumeLayout(false); + this.menuWindows.ResumeLayout(false); + this.menuOpacity.ResumeLayout(false); + this.menuResize.ResumeLayout(false); + this.menuLanguages.ResumeLayout(false); + this.menuFullscreenContext.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ContextMenuStrip menuContext; + private System.Windows.Forms.ToolStripMenuItem menuContextWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextClose; + private System.Windows.Forms.ContextMenuStrip menuWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextOpacity; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.ContextMenuStrip menuOpacity; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem4; + private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem reduceToIconToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem selectRegionToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem resizeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem switchToWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem dockToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topRightToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomRightToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuResize; + private System.Windows.Forms.ToolStripMenuItem doubleToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fitToWindowToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem halfToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem quarterToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fullscreenToolStripMenuItem1; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripMenuItem languageToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuLanguages; + private System.Windows.Forms.ToolStripMenuItem englishToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem italianoToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem cestinaToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem danskToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem chromeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem danskToolStripMenuItem1; + private System.Windows.Forms.ContextMenuStrip menuFullscreenContext; + private System.Windows.Forms.ToolStripMenuItem fullSelectWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullOpacityToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullExitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem advancedToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickForwardingToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickThroughToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem groupSwitchModeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem enableClickthroughToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem centerToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem disabledToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; + private System.Windows.Forms.ToolStripMenuItem restorePositionAndSizeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem espanolToolStripMenuItem; + } +} + diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs new file mode 100644 index 0000000..c1e9a52 --- /dev/null +++ b/OnTopReplica/MainForm.cs @@ -0,0 +1,541 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using VistaControls.Dwm; +using VistaControls.TaskDialog; +using System.Collections.Generic; +using OnTopReplica.Native; +using OnTopReplica.Update; +using OnTopReplica.StartupOptions; +using OnTopReplica.WindowSeekers; + +namespace OnTopReplica { + + partial class MainForm : AspectRatioForm { + + //GUI elements + ThumbnailPanel _thumbnailPanel; + SidePanel _currentSidePanel = null; + Panel _sidePanelContainer; + + //Managers + BaseWindowSeeker _windowSeeker = new TaskWindowSeeker { + SkipNotVisibleWindows = true + }; + MessagePumpManager _msgPumpManager = new MessagePumpManager(); + UpdateManager _updateManager = new UpdateManager(); + + Options _startupOptions; + + public MainForm(Options startupOptions) { + _startupOptions = startupOptions; + + //WinForms init pass + InitializeComponent(); + KeepAspectRatio = false; + GlassEnabled = true; + + //Store default values + _nonClickThroughKey = TransparencyKey; + + //Thumbnail panel + _thumbnailPanel = new ThumbnailPanel { + Location = Point.Empty, + Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right, + Size = ClientSize + }; + _thumbnailPanel.CloneClick += new EventHandler(Thumbnail_CloneClick); + Controls.Add(_thumbnailPanel); + + //Side panel + _sidePanelContainer = new Panel { + Location = new Point(ClientSize.Width, 0), + Anchor = AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom, + Enabled = false, + Visible = false, + Size = new Size(100, ClientSize.Height), + Padding = new Padding(4) + }; + Controls.Add(_sidePanelContainer); + + //Set native renderer on context menus + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer( + menuContext, menuWindows, menuOpacity, menuResize, menuLanguages, menuFullscreenContext + ); + + //Init message pump extensions + _msgPumpManager.Initialize(this); + + //Add hotkeys + var hotKeyMgr = _msgPumpManager.Get(); + hotKeyMgr.RegisterHotKey(Native.HotKeyModifiers.Control | Native.HotKeyModifiers.Shift, + Keys.O, new Native.HotKeyMethods.HotKeyHandler(HotKeyOpenHandler)); + hotKeyMgr.RegisterHotKey(Native.HotKeyModifiers.Control | Native.HotKeyModifiers.Shift, + Keys.C, new Native.HotKeyMethods.HotKeyHandler(HotKeyCloneHandler)); + + //Set to Key event preview + this.KeyPreview = true; + } + + delegate void GuiAction(); + + void UpdateManager_CheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + this.Invoke(new GuiAction(() => { + if (e.Success) { + _updateManager.HandleUpdateCheck(this, e.Information, false); + } + else { + Console.WriteLine("Failed to check for updates: {0}", e.Error); + } + })); + } + + #region Event override + + protected override CreateParams CreateParams { + get { + //Needed to hide caption, while keeping window title in task bar + var parms = base.CreateParams; + parms.Style &= ~0x00C00000; //WS_CAPTION + parms.Style &= 0x00040000; //WS_SIZEBOX + return parms; + } + } + + protected override void OnHandleCreated(EventArgs e){ + base.OnHandleCreated(e); + + _windowSeeker.OwnerHandle = this.Handle; + + //Platform specific form initialization + Program.Platform.InitForm(this); + } + + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + //Apply startup options + _startupOptions.Apply(this); + + //Check for updates + _updateManager.UpdateCheckCompleted += new EventHandler(UpdateManager_CheckCompleted); + _updateManager.CheckForUpdate(); + } + + protected override void OnClosing(CancelEventArgs e) { + _msgPumpManager.Dispose(); + + base.OnClosing(e); + } + + Margins fullMargins = new Margins(-1); + + protected override void OnResize(EventArgs e) { + base.OnResize(e); + + this.GlassMargins = (_currentSidePanel != null) ? + new Margins(ClientSize.Width - _sidePanelContainer.Width, 0, 0, 0) : + fullMargins; + } + + protected override void OnResizeEnd(EventArgs e) { + base.OnResizeEnd(e); + + //If locked in position, move accordingly + if (PositionLock.HasValue) { + this.SetScreenPosition(PositionLock.Value); + } + } + + protected override void OnActivated(EventArgs e) { + base.OnActivated(e); + + //Deactivate click-through if form is reactivated + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + + Program.Platform.RestoreForm(this); + } + + protected override void OnDeactivate(EventArgs e) { + base.OnDeactivate(e); + + //HACK: sometimes, even if TopMost is true, the window loses its "always on top" status. + // This is a fix attempt that probably won't work... + if (!IsFullscreen) { //fullscreen mode doesn't use TopMost + TopMost = false; + TopMost = true; + } + } + + protected override void OnMouseWheel(MouseEventArgs e) { + base.OnMouseWheel(e); + + if (!IsFullscreen) { + int change = (int)(e.Delta / 6.0); //assumes a mouse wheel "tick" is in the 80-120 range + AdjustSize(change); + } + } + + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); + + //This is handled by the WM_NCLBUTTONDBLCLK msg handler usually (because the GlassForm translates + //clicks on client to clicks on caption). But if fullscreen mode disables GlassForm dragging, we need + //this auxiliary handler to switch mode. + IsFullscreen = !IsFullscreen; + } + + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); + + //Same story as above (OnMouseDoubleClick) + if (e.Button == System.Windows.Forms.MouseButtons.Right) { + OpenContextMenu(); + } + } + + protected override void WndProc(ref Message m) { + if (_msgPumpManager != null) { + if (_msgPumpManager.PumpMessage(ref m)) { + return; + } + } + + switch (m.Msg) { + case WM.NCRBUTTONUP: + //Open context menu if right button clicked on caption (i.e. all of the window area because of glass) + if (m.WParam.ToInt32() == HT.CAPTION) { + OpenContextMenu(); + + m.Result = IntPtr.Zero; + return; + } + break; + + case WM.NCLBUTTONDBLCLK: + //Toggle fullscreen mode if double click on caption (whole glass area) + if (m.WParam.ToInt32() == HT.CAPTION) { + IsFullscreen = !IsFullscreen; + + m.Result = IntPtr.Zero; + return; + } + break; + + case WM.NCHITTEST: + //Make transparent to hit-testing if in click through mode + if (ClickThroughEnabled && (ModifierKeys & Keys.Alt) != Keys.Alt) { + m.Result = (IntPtr)HT.TRANSPARENT; + return; + } + break; + } + + base.WndProc(ref m); + } + + #endregion + + const string Title = "OnTopReplica"; + + #region Keyboard event handling + + protected override void OnKeyUp(KeyEventArgs e) { + base.OnKeyUp(e); + + //ALT + if (e.Modifiers == Keys.Alt) { + if (e.KeyCode == Keys.Enter) { + e.Handled = true; + IsFullscreen = !IsFullscreen; + } + + else if (e.KeyCode == Keys.D1 || e.KeyCode == Keys.NumPad1) { + FitToThumbnail(0.25); + } + + else if (e.KeyCode == Keys.D2 || e.KeyCode == Keys.NumPad2) { + FitToThumbnail(0.5); + } + + else if (e.KeyCode == Keys.D3 || e.KeyCode == Keys.NumPad3 || e.KeyCode == Keys.D0 || e.KeyCode == Keys.NumPad0) { + FitToThumbnail(1.0); + } + + else if (e.KeyCode == Keys.D4 || e.KeyCode == Keys.NumPad4) { + FitToThumbnail(2.0); + } + } + + //ESCAPE + else if (e.KeyCode == Keys.Escape) { + +#if DEBUG + Console.WriteLine("Received ESCAPE"); +#endif + + //Disable click-through + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + //Toggle fullscreen + else if (IsFullscreen) { + IsFullscreen = false; + } + //Disable click forwarding + else if (ClickForwardingEnabled) { + ClickForwardingEnabled = false; + } + } + } + + void HotKeyOpenHandler() { + if (IsFullscreen) + IsFullscreen = false; + + if (!Program.Platform.IsHidden(this)) { + Program.Platform.HideForm(this); + } + else { + EnsureMainFormVisible(); + } + } + + void HotKeyCloneHandler() { + var handle = Win32Helper.GetCurrentForegroundWindow(); + if (handle.Handle == this.Handle) + return; + + SetThumbnail(handle, null); + } + + #endregion + + #region Fullscreen + + bool _isFullscreen = false; + Point _preFullscreenLocation; + Size _preFullscreenSize; + FormBorderStyle _preFullscreenBorderStyle; + + public bool IsFullscreen { + get { + return _isFullscreen; + } + set { + if (IsFullscreen == value) + return; + if (value && !_thumbnailPanel.IsShowingThumbnail) + return; + + CloseSidePanel(); //on switch, always hide side panels + + //Location and size + if (value) { + _preFullscreenLocation = Location; + _preFullscreenSize = ClientSize; + _preFullscreenBorderStyle = FormBorderStyle; + + var currentScreen = Screen.FromControl(this); + FormBorderStyle = FormBorderStyle.None; + Size = currentScreen.WorkingArea.Size; + Location = currentScreen.WorkingArea.Location; + } + else { + FormBorderStyle = _preFullscreenBorderStyle; + Location = _preFullscreenLocation; + ClientSize = _preFullscreenSize; + RefreshAspectRatio(); + } + + //Common + GlassEnabled = !value; + TopMost = !value; + HandleMouseMove = !value; + + _isFullscreen = value; + + Program.Platform.OnFormStateChange(this); + } + } + + #endregion + + #region Thumbnail operation + + /// + /// Sets a new thumbnail. + /// + /// Handle to the window to clone. + /// Region of the window to clone. + public void SetThumbnail(WindowHandle handle, Rectangle? region) { + try { + CurrentThumbnailWindowHandle = handle; + _thumbnailPanel.SetThumbnailHandle(handle); + +#if DEBUG + string windowClass = WindowMethods.GetWindowClass(handle.Handle); + Console.WriteLine("Cloning window HWND {0} of class {1}.", handle.Handle, windowClass); +#endif + + if (region.HasValue) + _thumbnailPanel.SelectedRegion = region.Value; + else + _thumbnailPanel.ConstrainToRegion = false; + + //Set aspect ratio (this will resize the form), do not refresh if in fullscreen + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize, !IsFullscreen); + } + catch (Exception ex) { + ThumbnailError(ex, false, Strings.ErrorUnableToCreateThumbnail); + } + } + + /// + /// Enables group mode on a list of window handles. + /// + /// List of window handles. + public void SetThumbnailGroup(IList handles) { + if (handles.Count == 0) + return; + + //At last one thumbnail + SetThumbnail(handles[0], null); + + //Handle if no real group + if (handles.Count == 1) + return; + + CurrentThumbnailWindowHandle = null; + _msgPumpManager.Get().EnableGroupMode(handles); + } + + /// + /// Disables the cloned thumbnail. + /// + public void UnsetThumbnail() { + //Unset handle + CurrentThumbnailWindowHandle = null; + _thumbnailPanel.UnsetThumbnail(); + + //Disable aspect ratio + KeepAspectRatio = false; + } + + /// + /// Gets or sets the region displayed of the current thumbnail. + /// + public Rectangle? SelectedThumbnailRegion { + get { + if (!_thumbnailPanel.IsShowingThumbnail || !_thumbnailPanel.ConstrainToRegion) + return null; + + return _thumbnailPanel.SelectedRegion; + } + set { + if (!_thumbnailPanel.IsShowingThumbnail) + return; + + if (value.HasValue) { + _thumbnailPanel.SelectedRegion = value.Value; + SetAspectRatio(value.Value.Size, true); + } + else { + _thumbnailPanel.ConstrainToRegion = false; + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize, true); + } + + FixPositionAndSize(); + } + } + + const int FixMargin = 10; + + /// + /// Fixes the form's position and size, ensuring it is fully displayed in the current screen. + /// + private void FixPositionAndSize() { + var screen = Screen.FromControl(this); + + if (Width > screen.WorkingArea.Width) { + Width = screen.WorkingArea.Width - FixMargin; + } + if (Height > screen.WorkingArea.Height) { + Height = screen.WorkingArea.Height - FixMargin; + } + if (Location.X + Width > screen.WorkingArea.Right) { + Location = new Point(screen.WorkingArea.Right - Width - FixMargin, Location.Y); + } + if (Location.Y + Height > screen.WorkingArea.Bottom) { + Location = new Point(Location.X, screen.WorkingArea.Bottom - Height - FixMargin); + } + } + + private void ThumbnailError(Exception ex, bool suppress, string title) { + if (!suppress) { + ShowErrorDialog(title, Strings.ErrorGenericThumbnailHandleError, ex.Message); + } + + UnsetThumbnail(); + } + + /// Automatically sizes the window in order to accomodate the thumbnail p times. + /// Scale of the thumbnail to consider. + private void FitToThumbnail(double p) { + try { + Size originalSize = _thumbnailPanel.ThumbnailOriginalSize; + Size fittedSize = new Size((int)(originalSize.Width * p), (int)(originalSize.Height * p)); + ClientSize = fittedSize; + } + catch (Exception ex) { + ThumbnailError(ex, false, Strings.ErrorUnableToFit); + } + } + + #endregion + + #region Accessors + + /// + /// Gets the form's thumbnail panel. + /// + public ThumbnailPanel ThumbnailPanel { + get { + return _thumbnailPanel; + } + } + + /// + /// Gets the form's message pump manager. + /// + public MessagePumpManager MessagePumpManager { + get { + return _msgPumpManager; + } + } + + /// + /// Gets the form's window list drop down menu. + /// + public ContextMenuStrip MenuWindows { + get { + return menuWindows; + } + } + + /// + /// Retrieves the window handle of the currently cloned thumbnail. + /// + public WindowHandle CurrentThumbnailWindowHandle { + get; + private set; + } + + #endregion + + } +} diff --git a/OnTopReplica/MainForm.resx b/OnTopReplica/MainForm.resx new file mode 100644 index 0000000..e1539d6 --- /dev/null +++ b/OnTopReplica/MainForm.resx @@ -0,0 +1,324 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 142, 17 + + + 275, 17 + + + 578, 17 + + + 695, 17 + + + 399, 17 + + + + + AAABAAIAMDAAAAEAIACoJQAAJgAAABAQAAABACAAaAQAAM4lAAAoAAAAMAAAAGAAAAABACAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAAAAFwAAACAAAAAnAAAAKwAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAAKwAAACcAAAAfAAAAFwAAAA0AAAAGAAAABgAAAA4AAAAdAAAALQAAAD0AAABIAAAATgAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATgAAAEgAAAA9AAAALQAAABwAAAANAAAACwAAABkAAAAwAAAARwAA + AFsAAABpAAAAcAAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcAAAAGkAAABdAAAASAAAAC8AAAAYAAAAEQAA + ACQAAABBAAAAbAoKC6QYGBiyFhcXtBcXF7QXFxe0FxcXtBcXF7UXFxi0FxcYtBcYGLQXGBi0FxgYtBgY + GLQXGBi0FxcYtBcXF7QXFxe0FxcXtBcXF7QXFxe0FxcXtRcXF7UXFxe1FxcXtBcXF7QXFxe0FxcXtBYX + F7QWFhe0FhYXtBYWFrQWFhe0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe0GBgYtQEBAqYAAAB5AAAAXwAA + AEEAAAAkAAAAFwAAACwAAABdOTk3u46IgKWTjIKUkYiAk4yEepKHf3WQhHtyj4B5b45+eG2NfHVrjHly + Z4t5cmeLeXFni3huZot5b2aLe3JoioB3bIuDe3KMiH92jIyCeIyMhXqNjYZ7jo2HfI+Ph36PkId/j5GI + f4+SiX+PkomAj5OLgJCTjIKQk4yCkJSMgpCTi4GQj4h+joyEeo2LgniMjIN5jY+HfY6RiYCPkoqAjn55 + c7IXFxe1AAAAcQAAAFAAAAAuAAAAGwAAADAJCQmJkoyGrJ6ViXCypp2Fv7OskL2yq5G6r6ePt6yljbWr + o4yzqqGLsaefirClnYmupJ2JrqOdia6inYqvpJ2JsqafibSqo4m4raeKu7Gqiryyq4u8s6uLu7OsjLyz + rYy8s62MvbOujb20ro29ta6NvbWujry2ro67tq6OvLaujr23r468ta6OurOsjLiyq4u3sayLubOvjLu0 + so20ramGnpWNdJ+ViGxnZWG9AAAAiQAAAFYAAAAzAAAAHAAAADIREhKSqaGapbK4splz3ePrceDn8nPg + 5/N14OfzduDm83nh5fN84uXyf+Lk8oLj5PKF4+Lyh+Pi8onk4PKM5d/yj+Xf8pPm3/KX6ODynOni8qDq + 4/Kk7OLyqO7i863w4vKy8+Hytvbh87z44fPE+uHzzvvk89776vPs+/Pz+fv58//7/fP/+/7z//v98v/7 + 9/L8++3y9/vi8/b70fPz+b7u1da5u6mim3V/fHe1AAAAkQAAAFkAAAA2AAAAHQAAADMQEBCRsKiirMLO + ybBI3eT/PNnf/z3Z2v8+2df/P9nV/0HZ0/9G2tL/StvQ/0vbzv9O28v/UNzJ/1Pcx/9W3sX/WuHD/13k + wv9i6ML/aO/E/3D1x/99+s7/jP3W/53/4P+y/+r/xf/x/9r/+f/v//3/9//8//n//P/6//r/8v/r/+H/ + 3v+//dr/t/3Z/8L+zv/K/7H/1f2b/9r8jv/X/Yz/0Oa+1r2zsYJ+e3e4AAAAkQAAAFoAAAA3AAAAHQAA + ADMPDw+RtKumr8bSz7Y809n/L9DT/zLQ0f8zz8//NNDL/zfQyf860Mj/PNHF/z3Sw/9A1cH/RdnC/0re + xP9S5cj/W+zN/2by0/9x+Nj/e/3d/4L/4P+L/+T/mf/o/6n/6/+5/+z/xP/n/8f/2/+//8z/tPy//6X5 + tf+Z96//jPar/3j1rP9z97j/gvrD/4X9yf+Q/cv/qvu5/7jtkf+112f/z9mt2cW9u4iAfXm5AAAAkQAA + AFoAAAA3AAAAHQAAADMPDw+Rta6osMfT0Lc40tX/LM/Q/zHQz/8y0c7/NdTO/znXz/8/29H/ROHV/0zo + 2P9T7tz/WvTg/2D54v9l++H/avzf/27+3f90/9v/ev/a/4H/1/+K/tT/kPzL/5H4v/+N87D/he6f/4Dp + k/+B5o3/huWK/4/liP+W5of/muaG/5zihv+e2ob/pNeJ/6ncjP+s5pD/pO6U/5/wlv+h4oX/ytu32si/ + vYuCf3u6AAAAkQAAAFoAAAA2AAAAHQAAADMPDw+Rt6+qscnV0bk+2Nf/M9nV/zrd2P9A4tz/Rejf/0jq + 4P9J6tv/TOrW/07o0P9P5sn/UefD/1Xqwf9c8ML/ZPXC/2v3wP9v8rn/cOqv/27iof9r25X/a9mN/3TZ + jP9924v/gtuH/4fbgv+I2n7/itR6/4nNdP+HxW3/iL5o/4y4YP+St1X/k7ZL/5S1Tv+ZtlX/pL5d/67L + Yv+x123/0uC828rCwI2DgHy7AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RuLCss8rX07pG4dz/Od7W/zzb + 0f8/2s3/P9jI/0DUwv8/0Ln/Q9G2/0rXuP9S3rr/WuS9/1/kuf9f3rD/X9ai/1/Pl/9hzJD/Zc+M/2zT + if9x1oj/d9eE/37Vg/+D0X//fshz/3m+aP95uGP/e7Nf/3+wXP+FsFb/jLVR/4+8Uv+QwFv/k8Rk/5zF + Zf+hw2D/pMBY/6i7Uv+ps0D/0M+i3M3Hx5CEgX68AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RubKutMvW + 0rs/ysH/MsS3/zbDtP87x7b/Qc27/0bVwP9L2b//Ttq7/1HWs/9T0Kn/Vcqh/1jImv9dy5X/Y9CS/2nT + kP9u1Yz/cNOG/3DOfv9wx3X/cMJv/3vDcf+GxnH/gsFl/4G/Xv+Iv17/jMNc/5DHXP+QzGH/jM9u/4vL + c/+OwWz/j7lg/5GyVP+SqEn/lqJB/5icOv+WkSr/yMOb3NDMypGFgn+9AAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+RurOvtszW0bxCxbj/OMa2/0DNu/9F0r3/SdS9/0rSt/9LzKz/TMik/1HLoP9a0aH/Y9ih/2vc + nv9w3Jf/cdqP/3PXiP931YH/etV8/37Vdv+A1HD/hdNq/5XUbv+Z027/icll/4HGYv+Dx1z/hcJU/4K3 + VP99qVX/fJ1J/3yTPP97izT/fIYv/4CDK/+EgSj/iIAn/4uBJv+MfBr/xr2W3dPPzZOHhIG9AAAAkAAA + AFoAAAA2AAAAHQAAADIPDw+RvLWwts7Z071K0L7/Psq0/0LKr/9HzK3/T9Ox/1jdtv9f5bf/Y+q0/2rt + r/9y7Kn/eeqj/4Hmnf+C4pT/gNyK/3/Tfv99zHP/e8Rp/3e7Yf9ysl3/b69h/3e2cf9zuHD/aa9Z/3Gn + Qv94nDT/dI4v/3KGKv90gyb/doIk/3d/I/94fCH/enog/3x4IP+AeCD/g3kg/4d6Iv+Idhf/xLuW3tbR + 0JWHhIG+AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvLWxuM/Z075W173/Utq7/1riv/9h6cL/aOzC/23t + v/9s6bP/aeCl/2nVl/9pzIz/bcSB/3C8d/9ts23/Z6lj/2SiXf9hnVv/XZpb/1yZXP9cnFv/ZaVZ/3aw + U/94pjv/cY8n/2+EJP9sgCX/bH4k/3B+I/92gCL/en8f/3p7Hv95eB7/eXcd/3t1Hv9+dR7/gHYf/4R3 + H/+FchX/w7qW3tfT0peHhYK/AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvbazuNHb1b9k3r//WNez/1bP + qP9Tx5z/U7+U/1O5jv9Ss4T/UKp2/1Cha/9Tnmb/Wp5j/2ChZP9gn2L/XJld/1yYXP9cmFf/XphQ/2Sa + R/9nmDr/cJkv/32dKf92jyT/an0h/2p9If9ufyD/cn4e/3V+Hf98gB3/fX8c/3t6HP95dhz/eHQb/3lz + HP97cxz/fXQc/4J0Hf+CbxL/wrmV3tjU1JiIhoPAAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+Qvbe1udDY + 0sBPt5b/QauH/0Khff9CnXT/RZ1y/0iecP9Lnm3/S5pn/0yVYv9QlGD/WZlf/2KhXv9ln1n/YplS/2WZ + TP9nmEP/aJQ5/2aNLP9mhST/dI0i/3+WI/9yhx//aXkc/2x7G/9xfhr/dYEa/3qAGv+Agxr/f4AZ/3x7 + Gv95dhr/eHIZ/3hxGv95cRn/fHEa/4ByG/+AbBD/wbiU39nW1pqIhoPAAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+Qvrq2utDW0MFJo4D/P5xz/0KVbP9BkWb/RJJl/0eVZ/9LmGb/TZZh/0+TW/9UlFf/X5pU/2ui + U/9uoUz/bZtD/2+YO/9oji//ZIQl/2Z/IP9ugB3/e40e/32QHv9xgRv/a3kY/298F/90gRf/eYMY/36D + F/+Ehhj/g4IY/358GP96dhj/d3IY/3dwGP94bxj/em8Y/31wGf99ag7/wbiU4NzY15uJh4TBAAAAkAAA + AFoAAAA2AAAAHQAAADIPDw6Qv7q3u9DWz8FJnnT/QJdq/0KPZP9Di1//RYxd/0mQXP9Ok1r/UJNW/1OS + Uf9ak0z/aJxI/3ilRP96oT3/b5Qx/2yMKP9pgyH/a4Ac/219Gf9wfhj/eosa/3yOGv9xfxf/bnwW/3J/ + Ff96hBX/fYMW/4GFFv+Hhxb/hYMW/398Ff97dRb/eHIW/3dvFv93bhb/eG4W/3xuF/97aAz/wLiU4N3Z + 2JuJh4TBAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6Qv7u4u9DWz8JLmm3/QpRh/0SNWv9Fh1P/SYhR/0yL + T/9Rjk7/V5RK/12XRv9mmUD/dqI8/4GmNf93mCz/booj/3OKHv9yhBr/cH8V/257FP9ygBb/fY8Y/36P + GP9ygBT/cn4U/3iDFP+AiBT/foUT/4aIFP+IiBT/hYMU/398E/98dhP/eXMU/3hwFP93bRX/d20V/3tt + Ff94Zgr/wLeT4N3Z2p2KiIXBAAAAkAAAAFoAAAA2AAAAHQAAADIODg6QwLy5vNHWz8JOmGP/RpNW/0eK + UP9Igkj/SoJG/1CIQ/9blEL/ZJs+/2qfO/9zoTX/eJ0s/32aJP95kiD/doob/3uMGf92hRb/cYAU/258 + Ev92hRP/g5MV/4WSFf92gxL/eIMS/3+HEv+EjBL/gYcR/4mKEf+IiRL/hIMS/4B8EP98dxH/e3QS/3lx + E/93bhP/eG0T/3lsFP93ZQn/wLeT4d7a252KiIXCAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6QwLy5vNHW + zcNRlFj/SZJN/0yIR/9MgD//VYs8/2CXOv9lmDf/bqU1/3CgL/9tjiX/d5Eg/4OaHv9/khz/e4sX/4KN + Fv96hhT/dIAS/3N/Ef9/ixP/i5kU/4qVFP98hhH/fogR/4WNEf+GjRH/hYkO/4mLD/+IiA//hIEQ/398 + D/99eA//fXYQ/3xzEf96bxL/eW0S/3ptEv93Zgf/wLiS4d7a256LiIbCAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDg6QwLy6vNLVzcNUklD/S5BD/1OOP/9elTr/YZQ0/2WYMf9urC//apgn/2WCIP9wiR7/f5Uc/4qb + Gv+Fkhr/gIsV/4SNE/98hhL/eIEP/3mDEP+GkhL/kp4S/4uWEf+Aig//gosO/4qREP+IjQ//iYsN/4uM + Df+Ihgz/hIEO/4B7Df9/eA3/gXgP/4B1D/9+chD/fW4R/3xtEf95aAb/wbmS4d/c3J+LiYbCAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Rwby6vdLVzMRVkUf/WZ89/2WjOv9gjzD/ZKAu/2muLf9ljST/ZH0f/2uE + Hf93jRv/hZYY/4+bF/+Ikhr/gooS/4OMEP99hg7/eoIO/36HDv+NlxD/l6AQ/42VD/+FjQ3/h44N/4+U + D/+IjA7/jYwM/46KDP+JhAr/gn8M/396C/+BeAz/g3gN/4J1Df+Acw7/fm8P/31uD/98awT/wruS4d/c + 3J+LiYbDAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RwLy7vtPWzMRjo0L/YaY2/1+XMf9lri7/YqQp/1x+ + If9lgB7/aoIc/2+FGv99jRf/i5YV/5KaFv+JkBj/gogP/4OLDf9/hgz/fIML/4OKDP+Umw7/nKEP/42T + Df+Ijgz/jJEM/5CWDf+Liwz/kY4K/4+KC/+Jgwn/gn0K/4B5Cv+CeAv/g3gM/4N2Df+Acw3/f28N/35v + Df9+bgP/w72S4d7c3KCLiYbDAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Rwr27vdTYzMRfmTv/W6Ew/2a+ + M/9emCj/WHUf/197Hf9ogxv/bIIY/3KFF/+AjhT/jZcT/5KZFv+IjhX/gogM/4WJDP+AhQr/f4UJ/4iO + C/+ang3/naEN/42SC/+LkAv/kZUL/5KUC/+OjAn/lI8J/4+JCf+Jgwj/g30J/4F5CP+DeQj/g3gK/4J2 + C/9/cgz/fm8L/4BxDP+AcQL/xL6R4d/b3KCLiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Qwr28vtPU + y8Rgojn/YcEx/1uXKf9Zdx//W3gb/2F8Gf9rgxf/bYEV/3WFE/+DjhL/j5YP/5KXE/+HjBL/g4gK/4WJ + Cf+ChQj/gYYI/46SCP+eoQv/naAL/42RCf+OkQr/lpgK/5ORCf+Sjgj/lI8I/4+JCP+Jggf/g30G/4F6 + Bv+DeQf/gncJ/4F0Cv9+cQr/fW8J/4ByC/+BcwD/xL+R4t3a26GKiIXEAAAAjwAAAFoAAAA2AAAAHQAA + ADIPDw+Qwby8v9XczMVhuDf/VpEl/1qFIv9bfBz/XHcZ/2J7Fv9rgRT/b4AR/3eFEP+FjRD/jpUL/5GV + EP+GihD/g4YH/4WIB/+ChAf/hIYH/5SVB/+hogr/nJ0J/5GRB/+Tkgj/mZgJ/5KPCP+VkAf/lY8H/4+I + B/+Jggb/hH0F/4J6Bf+CeAb/gnYH/350CP97cAj/e3AI/4F0Cv+BdQD/xL+R4t3Y26KKiIXEAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Qwb69v9TWy8ZZhCz/Voof/1yJIP9cexn/XHYW/2N5FP9sfxH/bn8O/3mE + Df+EjQz/jZMI/5GUEP+FiQ3/hIUF/4aGBf+ChAb/hocF/5iYBv+jpAb/m5oH/5ORB/+WlQb/mZcH/5KP + Bf+XkQb/lY4F/46HBv+IgQX/hHwE/4N7BP+CeAX/f3UG/3xyBv96bwb/e3EG/4J2Cf+CdwD/xL+Q4tzZ + 26KKiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw769v9TVy8ZXgin/V4sc/1yKHv9behj/XXQV/2N3 + Ev9rfA//b30N/3mCDP+Eiwv/jJEI/5CSEv+Ehgz/g4QD/4WFBf+CgwX/iokF/5uaBv+jpAX/mJYF/5OQ + Bv+Ylgb/lpMG/5SPBf+YkQb/k4sG/42EBv+HfwT/hHwD/4N7BP+AeAX/fXQE/3pwBf93bgb/enEG/4B2 + CP+CdwD/xMCP49zZ26OKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw7++wNXVzMZYgCj/Voob/12K + G/9cehb/XXIT/2J1EP9rew7/bXwM/3iBC/+Eigr/io8H/46RE/+ChAn/gYID/4ODBf+Cggb/jYsF/52c + Bf+iogb/lZMF/5OQBv+YlQb/k48G/5WOBv+Xjwb/kIkG/4uCBv+FfQT/g3wD/4N6Bf9/dQX/enEE/3Vu + BP90bgX/eHEG/393CP+BeQD/xMGO49vZ26SKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6RxMC+wNXW + zMZZfib/V4kY/16KGf9behX/W3AS/2JzD/9peQz/bHoL/3eACf+DiQj/io0H/46QFf+Aggj/gIED/4GC + BP+BgQX/j40F/5+dBv+hngX/lI8G/5WQBv+YkwX/kosF/5aOBf+VjAb/j4YF/4iABf+EewP/g3sE/4J4 + Bf9+dAT/d3AE/3JtBP9ybQT/d3IF/3x3B/+AeQD/wb6N49vY26SJiIXGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QxMC/wNbWzMZZfCP/WIYV/16KGP9ceRT/XG8Q/2FxDf9odwz/bXgK/3Z/CP+Bhwj/iYsH/42O + Ff9+gAf/f4AE/3+AA/+CgQT/ko8G/6CeBv+emQb/kowH/5WPBv+VkAX/kYkG/5eMBv+TiQX/jYMF/4d+ + BP+DegP/g3kE/4B2BP98cgT/dW4E/3BrA/9xbQT/dXEF/3t4Bv97dwD/vbqN49za26WJiIXGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QxcG/wNbXzcdXeiH/V4QT/16JFv9deRL/W24N/19wDP9ndAv/bHYJ/3V9 + B/+Bhgf/iIkH/4yNFv98fgX/fn4D/35+A/+DgAT/lJEF/6GeBv+alAb/kYkH/5WOBf+SiwX/kIcH/5aK + Bv+QhQX/i4EF/4Z8BP+CeAX/gXYF/35zBP96cAT/c2wE/29qA/9xbQP/dHEE/3t6Bf9zcAD/uriN493a + 26WKiIXGAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6Qx8PBwdbXzcdWeB//V4IS/16IE/9ceRD/WmwN/15u + C/9lcgn/anUH/3V8B/+BhAb/hocG/4uLGP96ewX/fH0E/3x8A/+EgQT/lZMF/6GdBv+Vjwb/kIgF/5ON + Bf+PhwX/kYYG/5OHBf+MggX/ioAE/4R5BP+BdwX/gHUE/3xyBP92bgT/cGsE/29qA/9wbAP/c3ED/3l4 + Bf9taQD/ubWN493a26WKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8PCwdjYzsdWdR//VX8P/12G + Ef9cdw7/WWoN/15sCv9jcQj/anMG/3R7Bv9/gwX/hIUG/4mJGf94eAP/ensE/3p6BP+FggT/l5QE/56b + Bf+PigX/j4YG/5CJBf+MgwX/kYUG/5CDBf+KfwT/iH8D/4F3Bf+AdQT/fnME/3pwBP9zbAT/cGoD/29q + A/9vbAP/dHID/3RzBf9nYgD/trOM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8TDwdjY + zsdVch3/U3oN/1yEEP9cdg3/WWkL/11rCP9icAf/aXEG/3N5Bv9+gQT/goQH/4aHGf91dgL/eHgF/3l4 + BP+GgwP/mZQF/5uXBf+MhQX/jYYF/42FBP+JgAT/j4ME/4uABP+JfgT/hXsE/390BP9/dAT/fHIE/3du + BP9yawP/b2oD/29rA/9vbAP/c3MD/25tA/9hXQD/tLKM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QycXEwdnZz8dUbxv/UnYM/1uBDv9cdQv/WWkJ/1tpB/9gbgX/aHEF/3J3Bv97fgP/gIII/4SF + GP9ycwL/dnYF/3h3BP+IhAT/mJQF/5aSBP+IggX/ioMF/4iAA/+IfwT/jYEE/4d9BP+HfgT/gXgE/39z + BP99cgT/enAE/3RtBP9wagP/bmoD/25rA/9wbQP/cXED/2lnAv9cWAD/s7CL497a3KaKiIbGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QysfFwdna0MhTbRn/UXIL/1t+Df9bdAr/WGgI/1pnB/9fbAb/Zm8F/3F2 + BP95fAL/f4EK/4KCFv9wcQL/dXQE/3d2BP+JhQT/mJQF/5GMBf+GfwX/hn8E/4N7BP+IfgT/iX4E/4V7 + A/+GfAT/fXQE/31yBP97cQT/d24E/3FrA/9uaQL/bWoC/21qAv9xbwP/bWwD/2RiA/9XVAD/sa6L5N/b + 3KiKiIbHAAAAjwAAAFoAAAA2AAAAGwAAADEODg6PysfFwdjYzsZRaRb/TW0G/1d6Cf9YcQb/VGUE/1dk + BP9caAP/ZGwB/25zAP92eQD/fX8K/31+Ev9sbQD/cXAB/3Z1Af+IhQL/lZEC/4uEAf+BewL/f3gB/393 + Av+EewH/hHoB/4N4Af+CeAH/eG8B/3lvAv93bgH/cmsC/21oAP9rZwD/a2cA/2tpAP9ubQD/ZmUA/2Bd + AP9STgD/rquJ497b3KeKiIbHAAAAjQAAAFgAAAA1AAAAGAAAACwQDw+MysbEv9LRx71WbR3+U3AP/1x7 + EP9ddQ7/WmoN/11pDv9jbQz/anEK/3N4C/96fAr/gYMX/36BGv9wcQj/dXQL/3t7DP+Niw3/l5QN/4qE + Df+Efg3/f3kM/4N8DP+IgAv/hnwM/4h/DP+CeQz/fXQM/310DP95cwz/dW8L/3JtCv9xbQn/cW0K/3Jx + Cv9xcAr/aWgL/2RiCv9WUgf/qaaH2tjV1aGMiojGAAAAiQAAAFIAAAAwAAAAFAAAACQLCwuCv7y4v9XR + y6PMzcDB0tTGzNTWx87V1sfO1NXHztXVx87V1cfP1tbHztjXx87Y18fO2dfIztfWx8zV1MXL1dPDytXU + w8nX1cPJ2NbDydbUw8jW08PI1dPDydbTw8nX1MPJ1tPDytfUxMrW1MTK1tPDytbTxMvW08TL1tTFy9bT + xcvV0sPL1NHDzNPRwszS0cLM0c/CzNHOwszJx7vFxsK7sM3IxJmEgoDGAAAAewAAAEYAAAAoAAAADgAA + ABoAAABTaWhmx9jUzrLg3Nmr4t3br+Ld26/j3tuv497br+Pf26/i39uw4d/br+He26/h3duv4Nvart7a + 2Kzc2Nap29bTqNnV0qfY1NGn2NPRp9jV0abZ1NGm2tTRpdnV0abZ1NKn2dTTqNrW1Kjb1tSo29bUqdzW + 1and2Nap3dnWqd3X1qra1tSq2NTTrNfU0qzX09Ks19PSrNfT0q3W0c+r0MvHp766tr0xMTC4AAAAVwAA + ADUAAAAeAAAACQAAABIAAAAnAAAAZzMzMqtPTk20TEtKs0tLSrRMS0q0TEtKtExLSrRMS0q0S0tKtEtL + SrRLS0q0S0tKs0tKSbNKSUmzS0pIs0pKSbNKSkizSkpIs0pKSLNLSUizS0pJsktKSbJLSkmzS0pJs0tK + SbNLSkmzTEpJs0xKSbNMSkmzTEpJs0xKSbNLSkmzS0pJs0tKSbNLSkmzS0pJs0tJSbNLSkm0TUxLth4d + HaMAAABeAAAAOAAAACUAAAATAAAABQAAAAsAAAAWAAAAIQAAAC0AAAA3AAAAOgAAADoAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADoAAAA7AAAAOgAAADMAAAArAAAAIQAAABUAAAALAAAAAgAAAAQAAAAJAAAADgAAABMAAAAXAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGAAAABcAAAATAAAADgAAAAgAAAAEAAAAAAAAAAEAAAACAAAABAAA + AAcAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAkAAAAHAAAABAAAAAIAAAABAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBIAAAAAAAPIEKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ABEAAABAAAAAVwAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABXAAAATAAA + AB8EBAQ+VlRQlXNybqFqamaeZ2dinWZkYJxqaGOdcG5pnXFwa550cm2feXRxn350c597cW+efHVwnU1K + RZgAAQFUFw4NUI+5uMNY4+b0Xt7b9Gbh2PRv59bzf/La9JP84vSx/+r0z//p9Nv/4vTP/930yv/Z9N// + ufKnp5OvAwEEZRkPDk6Eu7nPLtvX/zrbz/9F4Mn/VOrF/2Xuvf9y667/guWe/4nciP+K1Hf/jM5v/5bO + b/+v2HT/paeTuwQCBmIZDxBPirmy0D/Wwf9Q273/W9yt/2vZm/9x0IT/csZw/33Eav99tlT/fqdG/4Cb + QP+FjjH/mZAz/6SfjL0FBQhjGBAST5G6rtFOyqT/VsCS/1mze/9mrGv/ZqFZ/2WXRP9zmDT/bYIh/3V9 + HP96eBn/d28X/4p7Jf+kno3ABQYJYxkTFlCOq5vTPpFi/0eLV/9WlE//b51B/26NKv9tgBn/d4YX/3N+ + Ff+ChhX/gH0W/3ZuFP+FdyH/pZ+OwQYGCWMZFBhQkKiR1EuNRv9dlDr/bZgu/4CWHv98iBT/eoUR/4SQ + Ev+CihD/iYoP/4F9D/97cQ//hHYc/6Wgj8MGBgljGBQZUJasidReozD/Y40i/3OHGP+MlRX/gYgO/4iP + Df+RmA3/jZEM/42JCv+Cewr/gXQK/4l6F/+noo/EBgYJYxgUGlCXroXVWI8f/2J4Ff97iBD/jZIO/4OF + CP+TlQf/mJkI/5WSCP+PiAb/g3oF/31yBf+KfhP/p6OOxQYGCWMZFhtQlaOB1VeCFf9idRD/eoQK/4qM + C/+CggT/mJYF/5iVBv+WkAX/jIQF/4J4BP92bgP/h4AR/6ajjcYGBgljGRYcUJaif9ZYgA//YHAM/3d/ + CP+Ghwv/gIAE/5mVBv+UjQb/kogG/4h9BP99cwT/cGsB/4B+D/+joYzGBgYKYxoXHVCWoH7XU3cG/1tq + Bf9yeAL/fX4I/317AP+TjgH/ioIB/4p+Af+AdQD/dWwA/21pAP90cgn/oJ2MyAcHCmQaGB1RoaiK1maC + HP9teh3/gYYb/4mKIf+Nixr/m5Yb/5KKG/+Uihv/i4Eb/4F7Gv9+exf/fHoi/6WilMcHBwpjBgYHMXp5 + dKCcnZG2mZiNtJqZjbWZl4yzmJaIsJiWiLCYlYiwmZaJsZmVirGYlYqylpSJs5mXjbRqaGadAQEBPQAA + AAUAAAAeAAAAKgAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAArAAAAIwAA + AAoAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxB + + + \ No newline at end of file diff --git a/OnTopReplica/MainForm_ChildForms.cs b/OnTopReplica/MainForm_ChildForms.cs new file mode 100644 index 0000000..0e43ad9 --- /dev/null +++ b/OnTopReplica/MainForm_ChildForms.cs @@ -0,0 +1,105 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Drawing; + +namespace OnTopReplica { + partial class MainForm { + + EventHandler RequestClosingHandler; + + const int SidePanelMargin = 1; + + /// + /// Opens a new side panel. + /// + /// The side panel to embed. + public void SetSidePanel(SidePanel panel) { + if (_currentSidePanel != null) { + CloseSidePanel(); + } + + _currentSidePanel = panel; + _currentSidePanel.OnFirstShown(this); + + //Add and show + _sidePanelContainer.Controls.Add(panel); + _sidePanelContainer.Visible = _sidePanelContainer.Enabled = true; + panel.Show(); + + int intHorzMargin = panel.Margin.Horizontal + _sidePanelContainer.Padding.Horizontal; //internal margins for sidepanel + int intVertMargin = panel.Margin.Vertical + _sidePanelContainer.Padding.Vertical; + + //Resize container + _sidePanelContainer.ClientSize = new Size( + panel.MinimumSize.Width + intHorzMargin, + ClientSize.Height + ); + + int rightHorzMargin = _sidePanelContainer.Width + SidePanelMargin; //horz margin between the two controls + + //Resize rest + MinimumSize = new Size( + 20 + panel.MinimumSize.Width + SidePanelMargin + intHorzMargin, + panel.MinimumSize.Height + intVertMargin + ); + ClientSize = new Size( + ClientSize.Width + rightHorzMargin, + ClientSize.Height + ); + ExtraPadding = new Padding(0, 0, rightHorzMargin, 0); + _thumbnailPanel.Size = new Size( + ClientSize.Width - rightHorzMargin, + ClientSize.Height + ); + _sidePanelContainer.Location = new Point( + ClientSize.Width - rightHorzMargin, + 0 + ); + + //Move window if needed + FixPositionAndSize(); + + //Hook event listener + if (RequestClosingHandler == null) + RequestClosingHandler = new EventHandler(SidePanel_RequestClosing); + panel.RequestClosing += RequestClosingHandler; + } + + /// + /// Closes the current side panel. + /// + public void CloseSidePanel() { + if (_currentSidePanel == null) + return; + + //Unhook listener + _currentSidePanel.RequestClosing -= RequestClosingHandler; + + //Remove side panel + _currentSidePanel.OnClosing(this); + _sidePanelContainer.Controls.Clear(); + _sidePanelContainer.Visible = _sidePanelContainer.Enabled = false; + _currentSidePanel = null; + + //Resize + MinimumSize = new Size(20, 20); + ClientSize = new Size( + ClientSize.Width - _sidePanelContainer.Width - SidePanelMargin, + ClientSize.Height + ); + ExtraPadding = new Padding(0); + _thumbnailPanel.Size = ClientSize; + } + + void SidePanel_RequestClosing(object sender, EventArgs e) { + CloseSidePanel(); + } + + void Thumbnail_CloneClick(object sender, CloneClickEventArgs e) { + Win32Helper.InjectFakeMouseClick(CurrentThumbnailWindowHandle.Handle, e); + } + + } +} diff --git a/OnTopReplica/MainForm_Features.cs b/OnTopReplica/MainForm_Features.cs new file mode 100644 index 0000000..3149fd9 --- /dev/null +++ b/OnTopReplica/MainForm_Features.cs @@ -0,0 +1,114 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Properties; +using VistaControls.TaskDialog; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + //Contains some feature implementations of MainForm + partial class MainForm { + + #region Click forwarding + + public bool ClickForwardingEnabled { + get { + return _thumbnailPanel.ReportThumbnailClicks; + } + set { + if (value && Settings.Default.FirstTimeClickForwarding) { + TaskDialog dlg = new TaskDialog(Strings.InfoClickForwarding, Strings.InfoClickForwardingTitle, Strings.InfoClickForwardingContent) { + CommonButtons = TaskDialogButton.Yes | TaskDialogButton.No + }; + if (dlg.Show(this).CommonButton == Result.No) + return; + + Settings.Default.FirstTimeClickForwarding = false; + } + + _thumbnailPanel.ReportThumbnailClicks = value; + } + } + + #endregion + + #region Click-through + + bool _clickThrough = false; + Color _nonClickThroughKey; + + public bool ClickThroughEnabled { + get { + return _clickThrough; + } + set { + //Adjust opacity if fully opaque + /*if (value && Opacity == 1.0) + Opacity = 0.75; + if (!value) + Opacity = 1.0;*/ + + //Enable transparency and force as top-most + TransparencyKey = (value) ? Color.Black : _nonClickThroughKey; + if (value) + TopMost = true; + + _clickThrough = value; + } + } + + #endregion + + #region Chrome + + public bool IsChromeVisible { + get { + return (FormBorderStyle == FormBorderStyle.SizableToolWindow); + } + set { + if (!value) { + Location = new Point { + X = Location.X + SystemInformation.FrameBorderSize.Width, + Y = Location.Y + SystemInformation.FrameBorderSize.Height + }; + FormBorderStyle = FormBorderStyle.None; + } + else if(value) { + Location = new Point { + X = Location.X - SystemInformation.FrameBorderSize.Width, + Y = Location.Y - SystemInformation.FrameBorderSize.Height + }; + FormBorderStyle = FormBorderStyle.SizableToolWindow; + } + + Program.Platform.OnFormStateChange(this); + Invalidate(); + } + } + + #endregion + + #region Position lock + + ScreenPosition? _positionLock = null; + + /// + /// Gets or sets the screen position where the window is currently locked in. + /// + public ScreenPosition? PositionLock { + get { + return _positionLock; + } + set { + if (value != null) + this.SetScreenPosition(value.Value); + + _positionLock = value; + } + } + + #endregion + + } +} diff --git a/OnTopReplica/MainForm_Gui.cs b/OnTopReplica/MainForm_Gui.cs new file mode 100644 index 0000000..996d2f9 --- /dev/null +++ b/OnTopReplica/MainForm_Gui.cs @@ -0,0 +1,134 @@ +using System.Drawing; +using System.Windows.Forms; +using VistaControls.TaskDialog; + +namespace OnTopReplica { + partial class MainForm { + + /// + /// Opens the context menu. + /// + public void OpenContextMenu() { + if (IsFullscreen) { + menuFullscreenContext.Show(MousePosition); + } + else { + menuContext.Show(MousePosition); + } + } + + private Point RecenterLocation(Control original, Control final) { + int origX = original.Location.X + original.Size.Width / 2; + int origY = original.Location.Y + original.Size.Height / 2; + + int finX = origX - final.Size.Width / 2; + int finY = origY - final.Size.Height / 2; + + //Check boundaries + var screen = Screen.FromControl(final); + if (finX < screen.WorkingArea.X) + finX = screen.WorkingArea.X; + if (finX + final.Size.Width > screen.WorkingArea.Width) + finX = screen.WorkingArea.Width - final.Size.Width; + if (finY < screen.WorkingArea.Y) + finY = screen.WorkingArea.Y; + if (finY + final.Size.Height > screen.WorkingArea.Height) + finY = screen.WorkingArea.Height - final.Size.Height; + + return new Point(finX, finY); + } + + /// + /// Gets the window's vertical chrome size. + /// + public int ChromeBorderVertical { + get { + if (IsChromeVisible) + return SystemInformation.FrameBorderSize.Height; + else + return 0; + } + } + + /// + /// Gets the window's horizontal chrome size. + /// + public int ChromeBorderHorizontal { + get { + if (IsChromeVisible) + return SystemInformation.FrameBorderSize.Width; + else + return 0; + } + } + + /// + /// Displays an error task dialog. + /// + /// Main instruction of the error dialog. + /// Detailed informations about the error. + /// Expanded error codes/messages. + private void ShowErrorDialog(string mainInstruction, string explanation, string errorMessage) { + TaskDialog dlg = new TaskDialog(mainInstruction, Strings.ErrorGenericTitle, explanation) { + CommonIcon = TaskDialogIcon.Stop, + IsExpanded = false + }; + + if (!string.IsNullOrEmpty(errorMessage)) { + dlg.ExpandedInformation = Strings.ErrorGenericInfoText + errorMessage; + dlg.ExpandedControlText = Strings.ErrorGenericInfoButton; + } + + dlg.Show(this); + } + + /// + /// Ensures that the main form is visible (either closing the fullscreen mode or reactivating from task icon). + /// + public void EnsureMainFormVisible() { + //Reset special modes + IsFullscreen = false; + ClickThroughEnabled = false; + Opacity = 1.0; + + //Restore main form in platform with dependent method + Program.Platform.RestoreForm(this); + } + + /// + /// Opens a confirmation dialog to confirm whether to reset the main form or not. + /// + public void ResetMainFormWithConfirmation() { + var dlg = new TaskDialog(Strings.AskReset, Strings.AskResetTitle, Strings.AskResetContent); + dlg.UseCommandLinks = true; + dlg.CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, Strings.AskResetButtonOk), + new CustomButton(Result.Cancel, Strings.ButtonCancel) + }; + dlg.CommonIcon = TaskDialogIcon.Information; + + if (dlg.Show(this).CommonButton == Result.OK) { + ResetMainForm(); + } + } + + /// + /// Resets the main form to its initial state. + /// + public void ResetMainForm() { + //Reset form settings + UnsetThumbnail(); + CloseSidePanel(); + + //Reset location and size (edge of the screen, min size) + Point nuLoc = Screen.PrimaryScreen.WorkingArea.Location; + nuLoc.Offset(40, 40); + Location = nuLoc; + Size = new Size(240, 220); + + this.Show(); + this.Activate(); + } + + } +} diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs new file mode 100644 index 0000000..d1ffc77 --- /dev/null +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -0,0 +1,214 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using VistaControls.TaskDialog; + +namespace OnTopReplica { + partial class MainForm { + + private void Menu_opening(object sender, CancelEventArgs e) { + //Cancel if currently in "fullscreen" mode or a side panel is open + if (IsFullscreen || _currentSidePanel != null) { + e.Cancel = true; + return; + } + + bool showing = _thumbnailPanel.IsShowingThumbnail; + + selectRegionToolStripMenuItem.Enabled = showing; + switchToWindowToolStripMenuItem.Enabled = showing; + resizeToolStripMenuItem.Enabled = showing; + chromeToolStripMenuItem.Checked = IsChromeVisible; + clickForwardingToolStripMenuItem.Checked = ClickForwardingEnabled; + chromeToolStripMenuItem.Enabled = showing; + clickThroughToolStripMenuItem.Enabled = showing; + clickForwardingToolStripMenuItem.Enabled = showing; + + } + + private void Menu_Windows_opening(object sender, CancelEventArgs e) { + _windowSeeker.Refresh(); + var menu = (ToolStrip)sender; + menu.PopulateMenu(this, _windowSeeker, + CurrentThumbnailWindowHandle, new EventHandler(Menu_Windows_itemclick)); + } + + void Menu_Windows_itemclick(object sender, EventArgs e) { + //Ensure the menu is closed + menuContext.Close(); + menuFullscreenContext.Close(); + menuWindows.Close(); + + //Get clicked item and window index from tag + ToolStripItem tsi = (ToolStripItem)sender; + + //Handle special "none" window + if (tsi.Tag == null) { + UnsetThumbnail(); + return; + } + + var selectionData = (WindowListHelper.WindowSelectionData)tsi.Tag; + Rectangle? bounds = (selectionData.Region != null) + ? (Rectangle?)selectionData.Region.Bounds : null; + SetThumbnail(selectionData.Handle, bounds); + } + + private void Menu_Switch_click(object sender, EventArgs e) { + if (CurrentThumbnailWindowHandle == null) + return; + + Program.Platform.HideForm(this); + Native.WindowManagerMethods.SetForegroundWindow(CurrentThumbnailWindowHandle.Handle); + } + + private void Menu_GroupSwitchMode_click(object sender, EventArgs e) { + SetSidePanel(new SidePanels.GroupSwitchPanel()); + } + + private void Menu_ClickForwarding_click(object sender, EventArgs e) { + ClickForwardingEnabled = !ClickForwardingEnabled; + } + + private void Menu_ClickThrough_click(object sender, EventArgs e) { + ClickThroughEnabled = true; + } + + private void Menu_Opacity_opening(object sender, CancelEventArgs e) { + ToolStripMenuItem[] items = { + toolStripMenuItem1, + toolStripMenuItem2, + toolStripMenuItem3, + toolStripMenuItem4 + }; + + foreach (ToolStripMenuItem i in items) { + if ((double)i.Tag == this.Opacity) + i.Checked = true; + else + i.Checked = false; + } + } + + private void Menu_Opacity_click(object sender, EventArgs e) { + //Get clicked menu item + ToolStripMenuItem tsi = sender as ToolStripMenuItem; + + if (tsi != null) { + //Get opacity from the tag + this.Opacity = (double)tsi.Tag; + } + } + + private void Menu_Region_click(object sender, EventArgs e) { + SetSidePanel(new OnTopReplica.SidePanels.RegionPanel()); + } + + private void Menu_Resize_opening(object sender, CancelEventArgs e) { + if (!_thumbnailPanel.IsShowingThumbnail) + e.Cancel = true; + + restorePositionAndSizeToolStripMenuItem.Checked = Settings.Default.RestoreSizeAndPosition; + } + + private void Menu_Resize_Double(object sender, EventArgs e) { + FitToThumbnail(2.0); + } + + private void Menu_Resize_FitToWindow(object sender, EventArgs e) { + FitToThumbnail(1.0); + } + + private void Menu_Resize_Half(object sender, EventArgs e) { + FitToThumbnail(0.5); + } + + private void Menu_Resize_Quarter(object sender, EventArgs e) { + FitToThumbnail(0.25); + } + + private void Menu_Resize_Fullscreen(object sender, EventArgs e) { + IsFullscreen = true; + } + + private void Menu_Resize_RecallPosition_click(object sender, EventArgs e) { + Settings.Default.RestoreSizeAndPosition = !Settings.Default.RestoreSizeAndPosition; + } + + private void Menu_Position_Opening(object sender, EventArgs e) { + disabledToolStripMenuItem.Checked = (PositionLock == null); + topLeftToolStripMenuItem.Checked = (PositionLock == ScreenPosition.TopLeft); + topRightToolStripMenuItem.Checked = (PositionLock == ScreenPosition.TopRight); + centerToolStripMenuItem.Checked = (PositionLock == ScreenPosition.Center); + bottomLeftToolStripMenuItem.Checked = (PositionLock == ScreenPosition.BottomLeft); + bottomRightToolStripMenuItem.Checked = (PositionLock == ScreenPosition.BottomRight); + } + + private void Menu_Position_Disable(object sender, EventArgs e) { + PositionLock = null; + } + + private void Menu_Position_TopLeft(object sender, EventArgs e) { + PositionLock = ScreenPosition.TopLeft; + } + + private void Menu_Position_TopRight(object sender, EventArgs e) { + PositionLock = ScreenPosition.TopRight; + } + + private void Menu_Position_Center(object sender, EventArgs e) { + PositionLock = ScreenPosition.Center; + } + + private void Menu_Position_BottomLeft(object sender, EventArgs e) { + PositionLock = ScreenPosition.BottomLeft; + } + + private void Menu_Position_BottomRight(object sender, EventArgs e) { + PositionLock = ScreenPosition.BottomRight; + } + + private void Menu_Reduce_click(object sender, EventArgs e) { + //Hide form in a platform specific way + Program.Platform.HideForm(this); + } + + private void Menu_Chrome_click(object sender, EventArgs e) { + IsChromeVisible = !IsChromeVisible; + } + + private void Menu_Language_click(object sender, EventArgs e) { + ToolStripItem tsi = (ToolStripItem)sender; + + string langCode = tsi.Tag as string; + + if (Program.ForceGlobalLanguageChange(langCode)) + this.Close(); + else + MessageBox.Show("Error"); + } + + private void Menu_About_click(object sender, EventArgs e) { + this.Hide(); + + using (var box = new AboutForm()) { + box.Location = RecenterLocation(this, box); + box.ShowDialog(); + Location = RecenterLocation(box, this); + } + + this.Show(); + } + + private void Menu_Close_click(object sender, EventArgs e) { + this.Close(); + } + + private void Menu_Fullscreen_ExitFullscreen_click(object sender, EventArgs e) { + IsFullscreen = false; + } + + } +} diff --git a/OnTopReplica/MessagePumpManager.cs b/OnTopReplica/MessagePumpManager.cs new file mode 100644 index 0000000..b12114e --- /dev/null +++ b/OnTopReplica/MessagePumpManager.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using OnTopReplica.MessagePumpProcessors; +using OnTopReplica.Native; + +namespace OnTopReplica { + class MessagePumpManager : IDisposable { + + Dictionary _processors = new Dictionary(); + + public MainForm Form { get; private set; } + + private void Register(IMessagePumpProcessor processor, MainForm form) { + _processors[processor.GetType()] = processor; + processor.Initialize(form); + +#if DEBUG + Console.WriteLine("Registered message pump processor: {0}", processor.GetType()); +#endif + } + + /// + /// Instantiates all message pump processors and registers them on the main form. + /// + /// + public void Initialize(MainForm form) { + Form = form; + + //Register window shell hook + if (!HookMethods.RegisterShellHookWindow(form.Handle)) { + Console.Error.WriteLine("Failed to register shell hook window."); + } + else { +#if DEBUG + Console.WriteLine("Shell hook window registered successfully."); +#endif + } + + //Register message pump processors + Register(new WindowKeeper(), form); + Register(new HotKeyManager(), form); + Register(new GroupSwitchManager(), form); + } + + /// + /// Run the registered message pump processors. + /// + /// Message to process. + /// True if the message has been handled internally. + public bool PumpMessage(ref Message msg) { + foreach (var processor in _processors.Values) { + if (processor.Process(ref msg)) + return true; + } + + return false; + } + + /// + /// Get the instance of a registered message pump processor. + /// Throws if instance not found. + /// + public T Get() { + return (T)_processors[typeof(T)]; + } + + #region IDisposable Members + + public void Dispose() { + if (!HookMethods.DeregisterShellHookWindow(Form.Handle)) { + Console.Error.WriteLine("Failed to deregister shell hook window."); + } + + foreach (var processor in _processors.Values) { + processor.Dispose(); + } + _processors.Clear(); + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs new file mode 100644 index 0000000..b5f13d7 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.MessagePumpProcessors { + abstract class BaseMessagePumpProcessor : IMessagePumpProcessor { + + protected MainForm Form { get; private set; } + + #region IMessagePumpProcessor Members + + public void Initialize(MainForm form) { + Form = form; + } + + public abstract bool Process(ref Message msg); + + #endregion + + bool _isDisposed = false; + + protected abstract void Shutdown(); + + #region IDisposable Members + + public void Dispose() { + if (_isDisposed) + return; + + Shutdown(); + + _isDisposed = true; + } + + #endregion + + } +} diff --git a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs new file mode 100644 index 0000000..2bfd3e9 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs @@ -0,0 +1,143 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Diagnostics; +using System.Reflection; +using System.IO; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + class GroupSwitchManager : BaseMessagePumpProcessor { + + bool _active = false; + List _lruHandles; + + /// + /// Enables group switch mode. + /// + /// List of window handles to track. + public void EnableGroupMode(IList handles) { + if (handles == null || handles.Count == 0) + return; + + //Okey dokey, will now track handles + TrackHandles(handles); + _active = true; + } + + /// + /// Initializes the LRU sorted list of window handles. + /// + private void TrackHandles(IList handles) { + _lruHandles = new List(handles.Count); + var now = DateTime.Now; + + foreach(var h in handles){ + _lruHandles.Add(new WindowHandleWrapper { + WindowHandle = h, + LastTimeUsed = now + }); + } + } + + /// + /// Disables group switch mode. + /// + public void Disable() { + if (!_active) + return; + + _lruHandles = null; + _active = false; + } + + /// + /// Processes the message pump. + /// + public override bool Process(ref Message msg) { + if (_active && msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + if (hookCode == HookMethods.HSHELL_WINDOWACTIVATED || + hookCode == HookMethods.HSHELL_RUDEAPPACTIVATED) { + + IntPtr activeHandle = msg.LParam; + HandleForegroundWindowChange(activeHandle); + } + } + + return false; + } + + private void HandleForegroundWindowChange(IntPtr activeWindow) { +#if DEBUG + Console.Write("New active window (h {0}). ", activeWindow); +#endif + + //Seek window in tracked handles + WindowHandleWrapper activated = null; + foreach (var i in _lruHandles) { + if (i.WindowHandle.Handle == activeWindow) + activated = i; + } + + if (activated == null) { +#if DEBUG + //new foreground window is not tracked + Console.WriteLine("Active window is not tracked."); +#endif + return; + } + + //Update tracked handle + activated.LastTimeUsed = DateTime.Now; + _lruHandles.Sort(new LruDateTimeComparer()); + + //Get least recently used + var next = _lruHandles[0]; + +#if DEBUG + Console.WriteLine("Tracked. Switching to {0} (last use: {1}).", next.WindowHandle.Title, next.LastTimeUsed); +#endif + + Form.SetThumbnail(next.WindowHandle, null); + } + + protected override void Shutdown() { + Disable(); + } + + /// + /// Gets whether the group switch manager ia active. + /// + public bool IsActive { + get { + return _active; + } + } + + #region List sorting stuff + + class WindowHandleWrapper { + public WindowHandle WindowHandle { get; set; } + public DateTime LastTimeUsed { get; set; } + } + + class LruDateTimeComparer : IComparer { + + #region IComparer Members + + public int Compare(WindowHandleWrapper x, WindowHandleWrapper y) { + return x.LastTimeUsed.CompareTo(y.LastTimeUsed); + } + + #endregion + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs new file mode 100644 index 0000000..0acbe33 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// HotKey registration helper. + /// + class HotKeyManager : BaseMessagePumpProcessor { + + int _lastUsedKey = 0; + + Dictionary _handlers = new Dictionary(); + + public void RegisterHotKey(HotKeyModifiers mod, Keys keys, HotKeyMethods.HotKeyHandler handler) { + var newKey = ++_lastUsedKey; + + if (!HotKeyMethods.RegisterHotKey(Form.Handle, newKey, (int)mod, (int)keys)) { + Console.Error.WriteLine("Failed to register {0} hot key.", newKey); + return; + } + + _handlers[newKey] = handler; + } + + public override bool Process(ref Message msg) { + if (msg.Msg == HotKeyMethods.WM_HOTKEY) { + int keyId = msg.WParam.ToInt32(); + if (!_handlers.ContainsKey(keyId)) + return false; + + _handlers[keyId].Invoke(); + } + + return false; + } + + protected override void Shutdown() { + foreach (var key in _handlers.Keys) { + if (!HotKeyMethods.UnregisterHotKey(Form.Handle, key)) { + Console.Error.WriteLine("Failed to unregister {0} hot key.", key); + } + } + } + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs new file mode 100644 index 0000000..4877931 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// Listens for shell events and closes the thumbnail if a cloned window is destroyed. + /// + class WindowKeeper : BaseMessagePumpProcessor { + + public override bool Process(ref Message msg) { + if (Form.CurrentThumbnailWindowHandle != null && + msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + if (hookCode == HookMethods.HSHELL_WINDOWDESTROYED) { + //Check whether the destroyed window is the one we were cloning + IntPtr destroyedHandle = msg.LParam; + if (destroyedHandle == Form.CurrentThumbnailWindowHandle.Handle) { + //Disable group switch mode, since a window of the group has been destroyed + Form.MessagePumpManager.Get().Disable(); + + //Disable cloning + Form.UnsetThumbnail(); + } + } + } + + return false; + } + + protected override void Shutdown() { + + } + } + +} diff --git a/OnTopReplica/NDesk/Options/Options.cs b/OnTopReplica/NDesk/Options/Options.cs new file mode 100644 index 0000000..871d2d7 --- /dev/null +++ b/OnTopReplica/NDesk/Options/Options.cs @@ -0,0 +1,1103 @@ +// +// Options.cs +// +// Authors: +// Jonathan Pryor +// +// Copyright (C) 2008 Novell (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +// Compile With: +// gmcs -debug+ -r:System.Core Options.cs -o:NDesk.Options.dll +// gmcs -debug+ -d:LINQ -r:System.Core Options.cs -o:NDesk.Options.dll +// +// The LINQ version just changes the implementation of +// OptionSet.Parse(IEnumerable), and confers no semantic changes. + +// +// A Getopt::Long-inspired option parsing library for C#. +// +// NDesk.Options.OptionSet is built upon a key/value table, where the +// key is a option format string and the value is a delegate that is +// invoked when the format string is matched. +// +// Option format strings: +// Regex-like BNF Grammar: +// name: .+ +// type: [=:] +// sep: ( [^{}]+ | '{' .+ '}' )? +// aliases: ( name type sep ) ( '|' name type sep )* +// +// Each '|'-delimited name is an alias for the associated action. If the +// format string ends in a '=', it has a required value. If the format +// string ends in a ':', it has an optional value. If neither '=' or ':' +// is present, no value is supported. `=' or `:' need only be defined on one +// alias, but if they are provided on more than one they must be consistent. +// +// Each alias portion may also end with a "key/value separator", which is used +// to split option values if the option accepts > 1 value. If not specified, +// it defaults to '=' and ':'. If specified, it can be any character except +// '{' and '}' OR the *string* between '{' and '}'. If no separator should be +// used (i.e. the separate values should be distinct arguments), then "{}" +// should be used as the separator. +// +// Options are extracted either from the current option by looking for +// the option name followed by an '=' or ':', or is taken from the +// following option IFF: +// - The current option does not contain a '=' or a ':' +// - The current option requires a value (i.e. not a Option type of ':') +// +// The `name' used in the option format string does NOT include any leading +// option indicator, such as '-', '--', or '/'. All three of these are +// permitted/required on any named option. +// +// Option bundling is permitted so long as: +// - '-' is used to start the option group +// - all of the bundled options are a single character +// - at most one of the bundled options accepts a value, and the value +// provided starts from the next character to the end of the string. +// +// This allows specifying '-a -b -c' as '-abc', and specifying '-D name=value' +// as '-Dname=value'. +// +// Option processing is disabled by specifying "--". All options after "--" +// are returned by OptionSet.Parse() unchanged and unprocessed. +// +// Unprocessed options are returned from OptionSet.Parse(). +// +// Examples: +// int verbose = 0; +// OptionSet p = new OptionSet () +// .Add ("v", v => ++verbose) +// .Add ("name=|value=", v => Console.WriteLine (v)); +// p.Parse (new string[]{"-v", "--v", "/v", "-name=A", "/name", "B", "extra"}); +// +// The above would parse the argument string array, and would invoke the +// lambda expression three times, setting `verbose' to 3 when complete. +// It would also print out "A" and "B" to standard output. +// The returned array would contain the string "extra". +// +// C# 3.0 collection initializers are supported and encouraged: +// var p = new OptionSet () { +// { "h|?|help", v => ShowHelp () }, +// }; +// +// System.ComponentModel.TypeConverter is also supported, allowing the use of +// custom data types in the callback type; TypeConverter.ConvertFromString() +// is used to convert the value option to an instance of the specified +// type: +// +// var p = new OptionSet () { +// { "foo=", (Foo f) => Console.WriteLine (f.ToString ()) }, +// }; +// +// Random other tidbits: +// - Boolean options (those w/o '=' or ':' in the option format string) +// are explicitly enabled if they are followed with '+', and explicitly +// disabled if they are followed with '-': +// string a = null; +// var p = new OptionSet () { +// { "a", s => a = s }, +// }; +// p.Parse (new string[]{"-a"}); // sets v != null +// p.Parse (new string[]{"-a+"}); // sets v != null +// p.Parse (new string[]{"-a-"}); // sets v == null +// + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Globalization; +using System.IO; +using System.Runtime.Serialization; +using System.Security.Permissions; +using System.Text; +using System.Text.RegularExpressions; + +#if LINQ +using System.Linq; +#endif + +#if TEST +using NDesk.Options; +#endif + +namespace NDesk.Options { + + public class OptionValueCollection : IList, IList { + + List values = new List (); + OptionContext c; + + internal OptionValueCollection (OptionContext c) + { + this.c = c; + } + + #region ICollection + void ICollection.CopyTo (Array array, int index) {(values as ICollection).CopyTo (array, index);} + bool ICollection.IsSynchronized {get {return (values as ICollection).IsSynchronized;}} + object ICollection.SyncRoot {get {return (values as ICollection).SyncRoot;}} + #endregion + + #region ICollection + public void Add (string item) {values.Add (item);} + public void Clear () {values.Clear ();} + public bool Contains (string item) {return values.Contains (item);} + public void CopyTo (string[] array, int arrayIndex) {values.CopyTo (array, arrayIndex);} + public bool Remove (string item) {return values.Remove (item);} + public int Count {get {return values.Count;}} + public bool IsReadOnly {get {return false;}} + #endregion + + #region IEnumerable + IEnumerator IEnumerable.GetEnumerator () {return values.GetEnumerator ();} + #endregion + + #region IEnumerable + public IEnumerator GetEnumerator () {return values.GetEnumerator ();} + #endregion + + #region IList + int IList.Add (object value) {return (values as IList).Add (value);} + bool IList.Contains (object value) {return (values as IList).Contains (value);} + int IList.IndexOf (object value) {return (values as IList).IndexOf (value);} + void IList.Insert (int index, object value) {(values as IList).Insert (index, value);} + void IList.Remove (object value) {(values as IList).Remove (value);} + void IList.RemoveAt (int index) {(values as IList).RemoveAt (index);} + bool IList.IsFixedSize {get {return false;}} + object IList.this [int index] {get {return this [index];} set {(values as IList)[index] = value;}} + #endregion + + #region IList + public int IndexOf (string item) {return values.IndexOf (item);} + public void Insert (int index, string item) {values.Insert (index, item);} + public void RemoveAt (int index) {values.RemoveAt (index);} + + private void AssertValid (int index) + { + if (c.Option == null) + throw new InvalidOperationException ("OptionContext.Option is null."); + if (index >= c.Option.MaxValueCount) + throw new ArgumentOutOfRangeException ("index"); + if (c.Option.OptionValueType == OptionValueType.Required && + index >= values.Count) + throw new OptionException (string.Format ( + c.OptionSet.MessageLocalizer ("Missing required value for option '{0}'."), c.OptionName), + c.OptionName); + } + + public string this [int index] { + get { + AssertValid (index); + return index >= values.Count ? null : values [index]; + } + set { + values [index] = value; + } + } + #endregion + + public List ToList () + { + return new List (values); + } + + public string[] ToArray () + { + return values.ToArray (); + } + + public override string ToString () + { + return string.Join (", ", values.ToArray ()); + } + } + + public class OptionContext { + private Option option; + private string name; + private int index; + private OptionSet set; + private OptionValueCollection c; + + public OptionContext (OptionSet set) + { + this.set = set; + this.c = new OptionValueCollection (this); + } + + public Option Option { + get {return option;} + set {option = value;} + } + + public string OptionName { + get {return name;} + set {name = value;} + } + + public int OptionIndex { + get {return index;} + set {index = value;} + } + + public OptionSet OptionSet { + get {return set;} + } + + public OptionValueCollection OptionValues { + get {return c;} + } + } + + public enum OptionValueType { + None, + Optional, + Required, + } + + public abstract class Option { + string prototype, description; + string[] names; + OptionValueType type; + int count; + string[] separators; + + protected Option (string prototype, string description) + : this (prototype, description, 1) + { + } + + protected Option (string prototype, string description, int maxValueCount) + { + if (prototype == null) + throw new ArgumentNullException ("prototype"); + if (prototype.Length == 0) + throw new ArgumentException ("Cannot be the empty string.", "prototype"); + if (maxValueCount < 0) + throw new ArgumentOutOfRangeException ("maxValueCount"); + + this.prototype = prototype; + this.names = prototype.Split ('|'); + this.description = description; + this.count = maxValueCount; + this.type = ParsePrototype (); + + if (this.count == 0 && type != OptionValueType.None) + throw new ArgumentException ( + "Cannot provide maxValueCount of 0 for OptionValueType.Required or " + + "OptionValueType.Optional.", + "maxValueCount"); + if (this.type == OptionValueType.None && maxValueCount > 1) + throw new ArgumentException ( + string.Format ("Cannot provide maxValueCount of {0} for OptionValueType.None.", maxValueCount), + "maxValueCount"); + if (Array.IndexOf (names, "<>") >= 0 && + ((names.Length == 1 && this.type != OptionValueType.None) || + (names.Length > 1 && this.MaxValueCount > 1))) + throw new ArgumentException ( + "The default option handler '<>' cannot require values.", + "prototype"); + } + + public string Prototype {get {return prototype;}} + public string Description {get {return description;}} + public OptionValueType OptionValueType {get {return type;}} + public int MaxValueCount {get {return count;}} + + public string[] GetNames () + { + return (string[]) names.Clone (); + } + + public string[] GetValueSeparators () + { + if (separators == null) + return new string [0]; + return (string[]) separators.Clone (); + } + + protected static T Parse (string value, OptionContext c) + { + TypeConverter conv = TypeDescriptor.GetConverter(typeof(T)); + T t = default (T); + try { + if (value != null) + t = (T) conv.ConvertFromString (value); + } + catch (Exception e) { + throw new OptionException ( + string.Format ( + c.OptionSet.MessageLocalizer ("Could not convert string `{0}' to type {1} for option `{2}'."), + value, typeof (T).Name, c.OptionName), + c.OptionName, e); + } + return t; + } + + internal string[] Names {get {return names;}} + internal string[] ValueSeparators {get {return separators;}} + + static readonly char[] NameTerminator = new char[]{'=', ':'}; + + private OptionValueType ParsePrototype () + { + char type = '\0'; + List seps = new List (); + for (int i = 0; i < names.Length; ++i) { + string name = names [i]; + if (name.Length == 0) + throw new ArgumentException ("Empty option names are not supported.", "prototype"); + + int end = name.IndexOfAny (NameTerminator); + if (end == -1) + continue; + names [i] = name.Substring (0, end); + if (type == '\0' || type == name [end]) + type = name [end]; + else + throw new ArgumentException ( + string.Format ("Conflicting option types: '{0}' vs. '{1}'.", type, name [end]), + "prototype"); + AddSeparators (name, end, seps); + } + + if (type == '\0') + return OptionValueType.None; + + if (count <= 1 && seps.Count != 0) + throw new ArgumentException ( + string.Format ("Cannot provide key/value separators for Options taking {0} value(s).", count), + "prototype"); + if (count > 1) { + if (seps.Count == 0) + this.separators = new string[]{":", "="}; + else if (seps.Count == 1 && seps [0].Length == 0) + this.separators = null; + else + this.separators = seps.ToArray (); + } + + return type == '=' ? OptionValueType.Required : OptionValueType.Optional; + } + + private static void AddSeparators (string name, int end, ICollection seps) + { + int start = -1; + for (int i = end+1; i < name.Length; ++i) { + switch (name [i]) { + case '{': + if (start != -1) + throw new ArgumentException ( + string.Format ("Ill-formed name/value separator found in \"{0}\".", name), + "prototype"); + start = i+1; + break; + case '}': + if (start == -1) + throw new ArgumentException ( + string.Format ("Ill-formed name/value separator found in \"{0}\".", name), + "prototype"); + seps.Add (name.Substring (start, i-start)); + start = -1; + break; + default: + if (start == -1) + seps.Add (name [i].ToString ()); + break; + } + } + if (start != -1) + throw new ArgumentException ( + string.Format ("Ill-formed name/value separator found in \"{0}\".", name), + "prototype"); + } + + public void Invoke (OptionContext c) + { + OnParseComplete (c); + c.OptionName = null; + c.Option = null; + c.OptionValues.Clear (); + } + + protected abstract void OnParseComplete (OptionContext c); + + public override string ToString () + { + return Prototype; + } + } + + [Serializable] + public class OptionException : Exception { + private string option; + + public OptionException () + { + } + + public OptionException (string message, string optionName) + : base (message) + { + this.option = optionName; + } + + public OptionException (string message, string optionName, Exception innerException) + : base (message, innerException) + { + this.option = optionName; + } + + protected OptionException (SerializationInfo info, StreamingContext context) + : base (info, context) + { + this.option = info.GetString ("OptionName"); + } + + public string OptionName { + get {return this.option;} + } + + [SecurityPermission (SecurityAction.LinkDemand, SerializationFormatter = true)] + public override void GetObjectData (SerializationInfo info, StreamingContext context) + { + base.GetObjectData (info, context); + info.AddValue ("OptionName", option); + } + } + + public delegate void OptionAction (TKey key, TValue value); + + public class OptionSet : KeyedCollection + { + public OptionSet () + : this (delegate (string f) {return f;}) + { + } + + public OptionSet (Converter localizer) + { + this.localizer = localizer; + } + + Converter localizer; + + public Converter MessageLocalizer { + get {return localizer;} + } + + protected override string GetKeyForItem (Option item) + { + if (item == null) + throw new ArgumentNullException ("option"); + if (item.Names != null && item.Names.Length > 0) + return item.Names [0]; + // This should never happen, as it's invalid for Option to be + // constructed w/o any names. + throw new InvalidOperationException ("Option has no names!"); + } + + [Obsolete ("Use KeyedCollection.this[string]")] + protected Option GetOptionForName (string option) + { + if (option == null) + throw new ArgumentNullException ("option"); + try { + return base [option]; + } + catch (KeyNotFoundException) { + return null; + } + } + + protected override void InsertItem (int index, Option item) + { + base.InsertItem (index, item); + AddImpl (item); + } + + protected override void RemoveItem (int index) + { + base.RemoveItem (index); + Option p = Items [index]; + // KeyedCollection.RemoveItem() handles the 0th item + for (int i = 1; i < p.Names.Length; ++i) { + Dictionary.Remove (p.Names [i]); + } + } + + protected override void SetItem (int index, Option item) + { + base.SetItem (index, item); + RemoveItem (index); + AddImpl (item); + } + + private void AddImpl (Option option) + { + if (option == null) + throw new ArgumentNullException ("option"); + List added = new List (option.Names.Length); + try { + // KeyedCollection.InsertItem/SetItem handle the 0th name. + for (int i = 1; i < option.Names.Length; ++i) { + Dictionary.Add (option.Names [i], option); + added.Add (option.Names [i]); + } + } + catch (Exception) { + foreach (string name in added) + Dictionary.Remove (name); + throw; + } + } + + public new OptionSet Add (Option option) + { + base.Add (option); + return this; + } + + sealed class ActionOption : Option { + Action action; + + public ActionOption (string prototype, string description, int count, Action action) + : base (prototype, description, count) + { + if (action == null) + throw new ArgumentNullException ("action"); + this.action = action; + } + + protected override void OnParseComplete (OptionContext c) + { + action (c.OptionValues); + } + } + + public OptionSet Add (string prototype, Action action) + { + return Add (prototype, null, action); + } + + public OptionSet Add (string prototype, string description, Action action) + { + if (action == null) + throw new ArgumentNullException ("action"); + Option p = new ActionOption (prototype, description, 1, + delegate (OptionValueCollection v) { action (v [0]); }); + base.Add (p); + return this; + } + + public OptionSet Add (string prototype, OptionAction action) + { + return Add (prototype, null, action); + } + + public OptionSet Add (string prototype, string description, OptionAction action) + { + if (action == null) + throw new ArgumentNullException ("action"); + Option p = new ActionOption (prototype, description, 2, + delegate (OptionValueCollection v) {action (v [0], v [1]);}); + base.Add (p); + return this; + } + + sealed class ActionOption : Option { + Action action; + + public ActionOption (string prototype, string description, Action action) + : base (prototype, description, 1) + { + if (action == null) + throw new ArgumentNullException ("action"); + this.action = action; + } + + protected override void OnParseComplete (OptionContext c) + { + action (Parse (c.OptionValues [0], c)); + } + } + + sealed class ActionOption : Option { + OptionAction action; + + public ActionOption (string prototype, string description, OptionAction action) + : base (prototype, description, 2) + { + if (action == null) + throw new ArgumentNullException ("action"); + this.action = action; + } + + protected override void OnParseComplete (OptionContext c) + { + action ( + Parse (c.OptionValues [0], c), + Parse (c.OptionValues [1], c)); + } + } + + public OptionSet Add (string prototype, Action action) + { + return Add (prototype, null, action); + } + + public OptionSet Add (string prototype, string description, Action action) + { + return Add (new ActionOption (prototype, description, action)); + } + + public OptionSet Add (string prototype, OptionAction action) + { + return Add (prototype, null, action); + } + + public OptionSet Add (string prototype, string description, OptionAction action) + { + return Add (new ActionOption (prototype, description, action)); + } + + protected virtual OptionContext CreateOptionContext () + { + return new OptionContext (this); + } + +#if LINQ + public List Parse (IEnumerable arguments) + { + bool process = true; + OptionContext c = CreateOptionContext (); + c.OptionIndex = -1; + var def = GetOptionForName ("<>"); + var unprocessed = + from argument in arguments + where ++c.OptionIndex >= 0 && (process || def != null) + ? process + ? argument == "--" + ? (process = false) + : !Parse (argument, c) + ? def != null + ? Unprocessed (null, def, c, argument) + : true + : false + : def != null + ? Unprocessed (null, def, c, argument) + : true + : true + select argument; + List r = unprocessed.ToList (); + if (c.Option != null) + c.Option.Invoke (c); + return r; + } +#else + public List Parse (IEnumerable arguments) + { + OptionContext c = CreateOptionContext (); + c.OptionIndex = -1; + bool process = true; + List unprocessed = new List (); + Option def = Contains ("<>") ? this ["<>"] : null; + foreach (string argument in arguments) { + ++c.OptionIndex; + if (argument == "--") { + process = false; + continue; + } + if (!process) { + Unprocessed (unprocessed, def, c, argument); + continue; + } + if (!Parse (argument, c)) + Unprocessed (unprocessed, def, c, argument); + } + if (c.Option != null) + c.Option.Invoke (c); + return unprocessed; + } +#endif + + private static bool Unprocessed (ICollection extra, Option def, OptionContext c, string argument) + { + if (def == null) { + extra.Add (argument); + return false; + } + c.OptionValues.Add (argument); + c.Option = def; + c.Option.Invoke (c); + return false; + } + + private readonly Regex ValueOption = new Regex ( + @"^(?--|-|/)(?[^:=]+)((?[:=])(?.*))?$"); + + protected bool GetOptionParts (string argument, out string flag, out string name, out string sep, out string value) + { + if (argument == null) + throw new ArgumentNullException ("argument"); + + flag = name = sep = value = null; + Match m = ValueOption.Match (argument); + if (!m.Success) { + return false; + } + flag = m.Groups ["flag"].Value; + name = m.Groups ["name"].Value; + if (m.Groups ["sep"].Success && m.Groups ["value"].Success) { + sep = m.Groups ["sep"].Value; + value = m.Groups ["value"].Value; + } + return true; + } + + protected virtual bool Parse (string argument, OptionContext c) + { + if (c.Option != null) { + ParseValue (argument, c); + return true; + } + + string f, n, s, v; + if (!GetOptionParts (argument, out f, out n, out s, out v)) + return false; + + Option p; + if (Contains (n)) { + p = this [n]; + c.OptionName = f + n; + c.Option = p; + switch (p.OptionValueType) { + case OptionValueType.None: + c.OptionValues.Add (n); + c.Option.Invoke (c); + break; + case OptionValueType.Optional: + case OptionValueType.Required: + ParseValue (v, c); + break; + } + return true; + } + // no match; is it a bool option? + if (ParseBool (argument, n, c)) + return true; + // is it a bundled option? + if (ParseBundledValue (f, string.Concat (n + s + v), c)) + return true; + + return false; + } + + private void ParseValue (string option, OptionContext c) + { + if (option != null) + foreach (string o in c.Option.ValueSeparators != null + ? option.Split (c.Option.ValueSeparators, StringSplitOptions.None) + : new string[]{option}) { + c.OptionValues.Add (o); + } + if (c.OptionValues.Count == c.Option.MaxValueCount || + c.Option.OptionValueType == OptionValueType.Optional) + c.Option.Invoke (c); + else if (c.OptionValues.Count > c.Option.MaxValueCount) { + throw new OptionException (localizer (string.Format ( + "Error: Found {0} option values when expecting {1}.", + c.OptionValues.Count, c.Option.MaxValueCount)), + c.OptionName); + } + } + + private bool ParseBool (string option, string n, OptionContext c) + { + Option p; + string rn; + if (n.Length >= 1 && (n [n.Length-1] == '+' || n [n.Length-1] == '-') && + Contains ((rn = n.Substring (0, n.Length-1)))) { + p = this [rn]; + string v = n [n.Length-1] == '+' ? option : null; + c.OptionName = option; + c.Option = p; + c.OptionValues.Add (v); + p.Invoke (c); + return true; + } + return false; + } + + private bool ParseBundledValue (string f, string n, OptionContext c) + { + if (f != "-") + return false; + for (int i = 0; i < n.Length; ++i) { + Option p; + string opt = f + n [i].ToString (); + string rn = n [i].ToString (); + if (!Contains (rn)) { + if (i == 0) + return false; + throw new OptionException (string.Format (localizer ( + "Cannot bundle unregistered option '{0}'."), opt), opt); + } + p = this [rn]; + switch (p.OptionValueType) { + case OptionValueType.None: + Invoke (c, opt, n, p); + break; + case OptionValueType.Optional: + case OptionValueType.Required: { + string v = n.Substring (i+1); + c.Option = p; + c.OptionName = opt; + ParseValue (v.Length != 0 ? v : null, c); + return true; + } + default: + throw new InvalidOperationException ("Unknown OptionValueType: " + p.OptionValueType); + } + } + return true; + } + + private static void Invoke (OptionContext c, string name, string value, Option option) + { + c.OptionName = name; + c.Option = option; + c.OptionValues.Add (value); + option.Invoke (c); + } + + private const int OptionWidth = 29; + + public void WriteOptionDescriptions (TextWriter o) + { + foreach (Option p in this) { + int written = 0; + if (!WriteOptionPrototype (o, p, ref written)) + continue; + + if (written < OptionWidth) + o.Write (new string (' ', OptionWidth - written)); + else { + o.WriteLine (); + o.Write (new string (' ', OptionWidth)); + } + + List lines = GetLines (localizer (GetDescription (p.Description))); + o.WriteLine (lines [0]); + string prefix = new string (' ', OptionWidth+2); + for (int i = 1; i < lines.Count; ++i) { + o.Write (prefix); + o.WriteLine (lines [i]); + } + } + } + + bool WriteOptionPrototype (TextWriter o, Option p, ref int written) + { + string[] names = p.Names; + + int i = GetNextOptionIndex (names, 0); + if (i == names.Length) + return false; + + if (names [i].Length == 1) { + Write (o, ref written, " -"); + Write (o, ref written, names [0]); + } + else { + Write (o, ref written, " --"); + Write (o, ref written, names [0]); + } + + for ( i = GetNextOptionIndex (names, i+1); + i < names.Length; i = GetNextOptionIndex (names, i+1)) { + Write (o, ref written, ", "); + Write (o, ref written, names [i].Length == 1 ? "-" : "--"); + Write (o, ref written, names [i]); + } + + if (p.OptionValueType == OptionValueType.Optional || + p.OptionValueType == OptionValueType.Required) { + if (p.OptionValueType == OptionValueType.Optional) { + Write (o, ref written, localizer ("[")); + } + Write (o, ref written, localizer ("=" + GetArgumentName (0, p.MaxValueCount, p.Description))); + string sep = p.ValueSeparators != null && p.ValueSeparators.Length > 0 + ? p.ValueSeparators [0] + : " "; + for (int c = 1; c < p.MaxValueCount; ++c) { + Write (o, ref written, localizer (sep + GetArgumentName (c, p.MaxValueCount, p.Description))); + } + if (p.OptionValueType == OptionValueType.Optional) { + Write (o, ref written, localizer ("]")); + } + } + return true; + } + + static int GetNextOptionIndex (string[] names, int i) + { + while (i < names.Length && names [i] == "<>") { + ++i; + } + return i; + } + + static void Write (TextWriter o, ref int n, string s) + { + n += s.Length; + o.Write (s); + } + + private static string GetArgumentName (int index, int maxIndex, string description) + { + if (description == null) + return maxIndex == 1 ? "VALUE" : "VALUE" + (index + 1); + string[] nameStart; + if (maxIndex == 1) + nameStart = new string[]{"{0:", "{"}; + else + nameStart = new string[]{"{" + index + ":"}; + for (int i = 0; i < nameStart.Length; ++i) { + int start, j = 0; + do { + start = description.IndexOf (nameStart [i], j); + } while (start >= 0 && j != 0 ? description [j++ - 1] == '{' : false); + if (start == -1) + continue; + int end = description.IndexOf ("}", start); + if (end == -1) + continue; + return description.Substring (start + nameStart [i].Length, end - start - nameStart [i].Length); + } + return maxIndex == 1 ? "VALUE" : "VALUE" + (index + 1); + } + + private static string GetDescription (string description) + { + if (description == null) + return string.Empty; + StringBuilder sb = new StringBuilder (description.Length); + int start = -1; + for (int i = 0; i < description.Length; ++i) { + switch (description [i]) { + case '{': + if (i == start) { + sb.Append ('{'); + start = -1; + } + else if (start < 0) + start = i + 1; + break; + case '}': + if (start < 0) { + if ((i+1) == description.Length || description [i+1] != '}') + throw new InvalidOperationException ("Invalid option description: " + description); + ++i; + sb.Append ("}"); + } + else { + sb.Append (description.Substring (start, i - start)); + start = -1; + } + break; + case ':': + if (start < 0) + goto default; + start = i + 1; + break; + default: + if (start < 0) + sb.Append (description [i]); + break; + } + } + return sb.ToString (); + } + + private static List GetLines (string description) + { + List lines = new List (); + if (string.IsNullOrEmpty (description)) { + lines.Add (string.Empty); + return lines; + } + int length = 80 - OptionWidth - 2; + int start = 0, end; + do { + end = GetLineEnd (start, length, description); + bool cont = false; + if (end < description.Length) { + char c = description [end]; + if (c == '-' || (char.IsWhiteSpace (c) && c != '\n')) + ++end; + else if (c != '\n') { + cont = true; + --end; + } + } + lines.Add (description.Substring (start, end - start)); + if (cont) { + lines [lines.Count-1] += "-"; + } + start = end; + if (start < description.Length && description [start] == '\n') + ++start; + } while (end < description.Length); + return lines; + } + + private static int GetLineEnd (int start, int length, string description) + { + int end = Math.Min (start + length, description.Length); + int sep = -1; + for (int i = start; i < end; ++i) { + switch (description [i]) { + case ' ': + case '\t': + case '\v': + case '-': + case ',': + case '.': + case ';': + sep = i; + break; + case '\n': + return i; + } + } + if (sep == -1 || end == description.Length) + return end; + return sep; + } + } +} + diff --git a/OnTopReplica/Native/CommonControls.cs b/OnTopReplica/Native/CommonControls.cs new file mode 100644 index 0000000..bf2123c --- /dev/null +++ b/OnTopReplica/Native/CommonControls.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + public static class CommonControls { + + [DllImport("comctl32.dll", EntryPoint = "InitCommonControlsEx", CallingConvention = CallingConvention.StdCall)] + static extern bool InitCommonControlsEx(ref INITCOMMONCONTROLSEX iccex); + + const int ICC_STANDARD_CLASSES = 0x00004000; + const int ICC_WIN95_CLASSES = 0x000000FF; + + public static bool InitStandard() { + INITCOMMONCONTROLSEX ex = new INITCOMMONCONTROLSEX(); + ex.dwSize = 8; + ex.dwICC = ICC_STANDARD_CLASSES | ICC_WIN95_CLASSES; + + return InitCommonControlsEx(ref ex); + } + + } + + struct INITCOMMONCONTROLSEX { + public int dwSize; + public int dwICC; + } + +} diff --git a/OnTopReplica/Native/ErrorMethods.cs b/OnTopReplica/Native/ErrorMethods.cs new file mode 100644 index 0000000..f1863eb --- /dev/null +++ b/OnTopReplica/Native/ErrorMethods.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 error handling methods. + /// + static class ErrorMethods { + + [DllImport("kernel32.dll")] + static extern uint FormatMessage(uint dwFlags, IntPtr lpSource, + int dwMessageId, uint dwLanguageId, [Out] StringBuilder lpBuffer, + uint nSize, IntPtr Arguments); + + /// + /// Gets a string representation of a Win32 error code. + /// + /// ID of the Win32 error code. + /// String representation of the error. + public static string GetErrorMessage(int msgCode) { + var sb = new StringBuilder(300); + FormatMessage((uint)(0x00001000), IntPtr.Zero, msgCode, 0, sb, 299, IntPtr.Zero); + return sb.ToString(); + } + + /// + /// Gets a string representation of the last Win32 error on this thread. + /// + public static string GetLastErrorMessage() { + int errorCode = Marshal.GetLastWin32Error(); + return GetErrorMessage(errorCode); + } + + } +} diff --git a/OnTopReplica/Native/HT.cs b/OnTopReplica/Native/HT.cs new file mode 100644 index 0000000..231e928 --- /dev/null +++ b/OnTopReplica/Native/HT.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Win32 Hit Testing codes. + /// + static class HT { + public const int TRANSPARENT = -1; + public const int CLIENT = 1; + public const int CAPTION = 2; + } +} diff --git a/OnTopReplica/Native/HookMethods.cs b/OnTopReplica/Native/HookMethods.cs new file mode 100644 index 0000000..3b6f7fc --- /dev/null +++ b/OnTopReplica/Native/HookMethods.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + + /// + /// Helpers for interop with native Windows hooks. + /// + static class HookMethods { + + static HookMethods() { + WM_SHELLHOOKMESSAGE = RegisterWindowMessage("SHELLHOOK"); + if (WM_SHELLHOOKMESSAGE == 0) + Console.Error.WriteLine("Failed to register SHELLHOOK Windows message."); + } + + public static int WM_SHELLHOOKMESSAGE { + get; + private set; + } + + public const int HSHELL_WINDOWACTIVATED = 4; + public const int HSHELL_RUDEAPPACTIVATED = HSHELL_WINDOWACTIVATED | HSHELL_HIGHBIT; + const int HSHELL_HIGHBIT = 0x8000; + public const int HSHELL_WINDOWDESTROYED = 2; + public const int HSHELL_WINDOWCREATED = 1; + + /// + /// Registers the WM_ID for a window message. + /// + /// Name of the window message. + [DllImport("User32.dll")] + public static extern int RegisterWindowMessage(string wndMessageName); + + /// + /// Registers a window as a shell hook window. + /// + [DllImport("User32.dll")] + public static extern bool RegisterShellHookWindow(IntPtr hwnd); + + /// + /// Deregisters a window as a shell hook window. + /// + [DllImport("User32.dll")] + public static extern bool DeregisterShellHookWindow(IntPtr hwnd); + + } +} diff --git a/OnTopReplica/Native/HotKeyMethods.cs b/OnTopReplica/Native/HotKeyMethods.cs new file mode 100644 index 0000000..8aea7f1 --- /dev/null +++ b/OnTopReplica/Native/HotKeyMethods.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Windows.Forms; + +namespace OnTopReplica.Native { + + [Flags] + public enum HotKeyModifiers : int { + Alt = 0x1, + Control = 0x2, + Shift = 0x4, + Windows = 0x8 + } + + static class HotKeyMethods { + + public delegate void HotKeyHandler(); + + public const int WM_HOTKEY = 0x312; + + [DllImport("user32.dll")] + public static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vlc); + + [DllImport("user32.dll")] + public static extern bool UnregisterHotKey(IntPtr hWnd, int id); + + public delegate void FormDelegate(HotKeyModifiers mod, Keys key, HotKeyHandler handler); + + } +} diff --git a/OnTopReplica/Native/ITaskBarList.cs b/OnTopReplica/Native/ITaskBarList.cs new file mode 100644 index 0000000..e4a53bb --- /dev/null +++ b/OnTopReplica/Native/ITaskBarList.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + [ComImport, + Guid("56fdf342-fd6d-11d0-958a-006097c9a090"), + InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] + public interface ITaskbarList { + /// + /// Initializes the taskbar list object. This method must be called before any other ITaskbarList methods can be called. + /// + void HrInit(); + + /// + /// Adds an item to the taskbar. + /// + /// A handle to the window to be added to the taskbar. + void AddTab([In] IntPtr hWnd); + + /// + /// Deletes an item from the taskbar. + /// + /// A handle to the window to be deleted from the taskbar. + void DeleteTab([In] IntPtr hWnd); + + /// + /// Activates an item on the taskbar. The window is not actually activated; the window's item on the taskbar is merely displayed as active. + /// + /// A handle to the window on the taskbar to be displayed as active. + void ActivateTab([In] IntPtr hWnd); + + /// + /// Marks a taskbar item as active but does not visually activate it. + /// + /// A handle to the window to be marked as active. + void SetActiveAlt([In] IntPtr hWnd); + } + + [ComImport] + [Guid("56fdf344-fd6d-11d0-958a-006097c9a090")] + public class CoTaskbarList { + } +} diff --git a/OnTopReplica/Native/InputMethods.cs b/OnTopReplica/Native/InputMethods.cs new file mode 100644 index 0000000..fe8233e --- /dev/null +++ b/OnTopReplica/Native/InputMethods.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + static class InputMethods { + + [DllImport("user32.dll")] + static extern short GetKeyState(VirtualKeyState nVirtKey); + + const int KeyToggled = 0x1; + + const int KeyPressed = 0x8000; + + public static bool IsKeyPressed(VirtualKeyState virtKey) { + return (GetKeyState(virtKey) & KeyPressed) != 0; + } + + public static bool IsKeyToggled(VirtualKeyState virtKey) { + return (GetKeyState(virtKey) & KeyToggled) != 0; + } + + } +} diff --git a/OnTopReplica/Native/MK.cs b/OnTopReplica/Native/MK.cs new file mode 100644 index 0000000..90c7e90 --- /dev/null +++ b/OnTopReplica/Native/MK.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Mouse click codes. + /// + static class MK { + public const int LBUTTON = 0x0001; + public const int RBUTTON = 0x0002; + public const int MBUTTON = 0x0010; + } +} diff --git a/OnTopReplica/Native/MessagingMethods.cs b/OnTopReplica/Native/MessagingMethods.cs new file mode 100644 index 0000000..cabe03e --- /dev/null +++ b/OnTopReplica/Native/MessagingMethods.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common methods for Win32 messaging. + /// + static class MessagingMethods { + + [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)] + public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + [Flags] + public enum SendMessageTimeoutFlags : uint { + AbortIfHung = 2, + Block = 1, + Normal = 0 + } + + [DllImport("user32.dll")] + public static extern IntPtr SendMessageTimeout(IntPtr hwnd, uint message, IntPtr wparam, IntPtr lparam, SendMessageTimeoutFlags flags, uint timeout, out IntPtr result); + + [return: MarshalAs(UnmanagedType.Bool)] + [DllImport("user32.dll", SetLastError = false)] + public static extern bool PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + public static IntPtr MakeLParam(int LoWord, int HiWord) { + return new IntPtr((HiWord << 16) | (LoWord & 0xffff)); + } + + } +} diff --git a/OnTopReplica/Native/Point.cs b/OnTopReplica/Native/Point.cs new file mode 100644 index 0000000..c34db85 --- /dev/null +++ b/OnTopReplica/Native/Point.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Native Point structure. + /// + [StructLayout(LayoutKind.Sequential)] + public struct NPoint { + public int X, Y; + + public NPoint(int x, int y) { + X = x; + Y = y; + } + + public NPoint(NPoint copy) { + X = copy.X; + Y = copy.Y; + } + + public static NPoint FromPoint(System.Drawing.Point point) { + return new NPoint(point.X, point.Y); + } + + public System.Drawing.Point ToPoint() { + return new System.Drawing.Point(X, Y); + } + + public override string ToString() { + return "{" + X + "," + Y + "}"; + } + } +} diff --git a/OnTopReplica/Native/Rectangle.cs b/OnTopReplica/Native/Rectangle.cs new file mode 100644 index 0000000..4934198 --- /dev/null +++ b/OnTopReplica/Native/Rectangle.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// A native Rectangle Structure. + [StructLayout(LayoutKind.Sequential)] + struct NRectangle { + public NRectangle(int left, int top, int right, int bottom) { + Left = left; + Top = top; + Right = right; + Bottom = bottom; + } + + public NRectangle(System.Drawing.Rectangle rect) { + Left = rect.X; + Top = rect.Y; + Right = rect.Right; + Bottom = rect.Bottom; + } + + public int Left; + public int Top; + public int Right; + public int Bottom; + + public int Width { + get { + return Right - Left; + } + } + public int Height { + get { + return Bottom - Top; + } + } + + public System.Drawing.Rectangle ToRectangle() { + return new System.Drawing.Rectangle(Left, Top, Right - Left, Bottom - Top); + } + + public System.Drawing.Size Size { + get { + return new System.Drawing.Size(Width, Height); + } + } + + } +} diff --git a/OnTopReplica/Native/VirtualKeyState.cs b/OnTopReplica/Native/VirtualKeyState.cs new file mode 100644 index 0000000..91e94a0 --- /dev/null +++ b/OnTopReplica/Native/VirtualKeyState.cs @@ -0,0 +1,193 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + enum VirtualKeyState : int { + VK_LBUTTON = 0x01, + VK_RBUTTON = 0x02, + VK_CANCEL = 0x03, + VK_MBUTTON = 0x04, + // + VK_XBUTTON1 = 0x05, + VK_XBUTTON2 = 0x06, + // + VK_BACK = 0x08, + VK_TAB = 0x09, + // + VK_CLEAR = 0x0C, + VK_RETURN = 0x0D, + // + VK_SHIFT = 0x10, + VK_CONTROL = 0x11, + VK_MENU = 0x12, + VK_PAUSE = 0x13, + VK_CAPITAL = 0x14, + // + VK_KANA = 0x15, + VK_HANGEUL = 0x15, /* old name - should be here for compatibility */ + VK_HANGUL = 0x15, + VK_JUNJA = 0x17, + VK_FINAL = 0x18, + VK_HANJA = 0x19, + VK_KANJI = 0x19, + // + VK_ESCAPE = 0x1B, + // + VK_CONVERT = 0x1C, + VK_NONCONVERT = 0x1D, + VK_ACCEPT = 0x1E, + VK_MODECHANGE = 0x1F, + // + VK_SPACE = 0x20, + VK_PRIOR = 0x21, + VK_NEXT = 0x22, + VK_END = 0x23, + VK_HOME = 0x24, + VK_LEFT = 0x25, + VK_UP = 0x26, + VK_RIGHT = 0x27, + VK_DOWN = 0x28, + VK_SELECT = 0x29, + VK_PRINT = 0x2A, + VK_EXECUTE = 0x2B, + VK_SNAPSHOT = 0x2C, + VK_INSERT = 0x2D, + VK_DELETE = 0x2E, + VK_HELP = 0x2F, + // + VK_LWIN = 0x5B, + VK_RWIN = 0x5C, + VK_APPS = 0x5D, + // + VK_SLEEP = 0x5F, + // + VK_NUMPAD0 = 0x60, + VK_NUMPAD1 = 0x61, + VK_NUMPAD2 = 0x62, + VK_NUMPAD3 = 0x63, + VK_NUMPAD4 = 0x64, + VK_NUMPAD5 = 0x65, + VK_NUMPAD6 = 0x66, + VK_NUMPAD7 = 0x67, + VK_NUMPAD8 = 0x68, + VK_NUMPAD9 = 0x69, + VK_MULTIPLY = 0x6A, + VK_ADD = 0x6B, + VK_SEPARATOR = 0x6C, + VK_SUBTRACT = 0x6D, + VK_DECIMAL = 0x6E, + VK_DIVIDE = 0x6F, + VK_F1 = 0x70, + VK_F2 = 0x71, + VK_F3 = 0x72, + VK_F4 = 0x73, + VK_F5 = 0x74, + VK_F6 = 0x75, + VK_F7 = 0x76, + VK_F8 = 0x77, + VK_F9 = 0x78, + VK_F10 = 0x79, + VK_F11 = 0x7A, + VK_F12 = 0x7B, + VK_F13 = 0x7C, + VK_F14 = 0x7D, + VK_F15 = 0x7E, + VK_F16 = 0x7F, + VK_F17 = 0x80, + VK_F18 = 0x81, + VK_F19 = 0x82, + VK_F20 = 0x83, + VK_F21 = 0x84, + VK_F22 = 0x85, + VK_F23 = 0x86, + VK_F24 = 0x87, + // + VK_NUMLOCK = 0x90, + VK_SCROLL = 0x91, + // + VK_OEM_NEC_EQUAL = 0x92, // '=' key on numpad + // + VK_OEM_FJ_JISHO = 0x92, // 'Dictionary' key + VK_OEM_FJ_MASSHOU = 0x93, // 'Unregister word' key + VK_OEM_FJ_TOUROKU = 0x94, // 'Register word' key + VK_OEM_FJ_LOYA = 0x95, // 'Left OYAYUBI' key + VK_OEM_FJ_ROYA = 0x96, // 'Right OYAYUBI' key + // + VK_LSHIFT = 0xA0, + VK_RSHIFT = 0xA1, + VK_LCONTROL = 0xA2, + VK_RCONTROL = 0xA3, + VK_LMENU = 0xA4, + VK_RMENU = 0xA5, + // + VK_BROWSER_BACK = 0xA6, + VK_BROWSER_FORWARD = 0xA7, + VK_BROWSER_REFRESH = 0xA8, + VK_BROWSER_STOP = 0xA9, + VK_BROWSER_SEARCH = 0xAA, + VK_BROWSER_FAVORITES = 0xAB, + VK_BROWSER_HOME = 0xAC, + // + VK_VOLUME_MUTE = 0xAD, + VK_VOLUME_DOWN = 0xAE, + VK_VOLUME_UP = 0xAF, + VK_MEDIA_NEXT_TRACK = 0xB0, + VK_MEDIA_PREV_TRACK = 0xB1, + VK_MEDIA_STOP = 0xB2, + VK_MEDIA_PLAY_PAUSE = 0xB3, + VK_LAUNCH_MAIL = 0xB4, + VK_LAUNCH_MEDIA_SELECT = 0xB5, + VK_LAUNCH_APP1 = 0xB6, + VK_LAUNCH_APP2 = 0xB7, + // + VK_OEM_1 = 0xBA, // ';:' for US + VK_OEM_PLUS = 0xBB, // '+' any country + VK_OEM_COMMA = 0xBC, // ',' any country + VK_OEM_MINUS = 0xBD, // '-' any country + VK_OEM_PERIOD = 0xBE, // '.' any country + VK_OEM_2 = 0xBF, // '/?' for US + VK_OEM_3 = 0xC0, // '`~' for US + // + VK_OEM_4 = 0xDB, // '[{' for US + VK_OEM_5 = 0xDC, // '\|' for US + VK_OEM_6 = 0xDD, // ']}' for US + VK_OEM_7 = 0xDE, // ''"' for US + VK_OEM_8 = 0xDF, + // + VK_OEM_AX = 0xE1, // 'AX' key on Japanese AX kbd + VK_OEM_102 = 0xE2, // "<>" or "\|" on RT 102-key kbd. + VK_ICO_HELP = 0xE3, // Help key on ICO + VK_ICO_00 = 0xE4, // 00 key on ICO + // + VK_PROCESSKEY = 0xE5, + // + VK_ICO_CLEAR = 0xE6, + // + VK_PACKET = 0xE7, + // + VK_OEM_RESET = 0xE9, + VK_OEM_JUMP = 0xEA, + VK_OEM_PA1 = 0xEB, + VK_OEM_PA2 = 0xEC, + VK_OEM_PA3 = 0xED, + VK_OEM_WSCTRL = 0xEE, + VK_OEM_CUSEL = 0xEF, + VK_OEM_ATTN = 0xF0, + VK_OEM_FINISH = 0xF1, + VK_OEM_COPY = 0xF2, + VK_OEM_AUTO = 0xF3, + VK_OEM_ENLW = 0xF4, + VK_OEM_BACKTAB = 0xF5, + // + VK_ATTN = 0xF6, + VK_CRSEL = 0xF7, + VK_EXSEL = 0xF8, + VK_EREOF = 0xF9, + VK_PLAY = 0xFA, + VK_ZOOM = 0xFB, + VK_NONAME = 0xFC, + VK_PA1 = 0xFD, + VK_OEM_CLEAR = 0xFE + } +} diff --git a/OnTopReplica/Native/WM.cs b/OnTopReplica/Native/WM.cs new file mode 100644 index 0000000..eddcd01 --- /dev/null +++ b/OnTopReplica/Native/WM.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Windows Message codes. + /// + static class WM { + public const int GETICON = 0x7f; + public const int SIZING = 0x214; + public const int NCHITTEST = 0x84; + public const int NCPAINT = 0x0085; + public const int LBUTTONDOWN = 0x0201; + public const int LBUTTONUP = 0x0202; + public const int LBUTTONDBLCLK = 0x0203; + public const int RBUTTONDOWN = 0x0204; + public const int RBUTTONUP = 0x0205; + public const int RBUTTONDBLCLK = 0x0206; + public const int NCLBUTTONUP = 0x00A2; + public const int NCLBUTTONDOWN = 0x00A1; + public const int NCLBUTTONDBLCLK = 0x00A3; + public const int NCRBUTTONUP = 0x00A5; + public const int SYSCOMMAND = 0x0112; + public const int GETTEXT = 0x000D; + public const int GETTEXTLENGTH = 0x000E; + } +} diff --git a/OnTopReplica/Native/WMSZ.cs b/OnTopReplica/Native/WMSZ.cs new file mode 100644 index 0000000..2052280 --- /dev/null +++ b/OnTopReplica/Native/WMSZ.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Win32 sizing codes (used by WM_SIZING message). + /// + static class WMSZ { + public const int LEFT = 1; + public const int RIGHT = 2; + public const int TOP = 3; + public const int BOTTOM = 6; + } +} diff --git a/OnTopReplica/Native/WindowManagerMethods.cs b/OnTopReplica/Native/WindowManagerMethods.cs new file mode 100644 index 0000000..967f2a6 --- /dev/null +++ b/OnTopReplica/Native/WindowManagerMethods.cs @@ -0,0 +1,88 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 Window Manager native methods. + /// + static class WindowManagerMethods { + + [DllImport("user32.dll")] + public static extern IntPtr GetForegroundWindow(); + + [DllImport("user32.dll")] + public static extern IntPtr RealChildWindowFromPoint(IntPtr parent, NPoint point); + + [return: MarshalAs(UnmanagedType.Bool)] + public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool IsWindowVisible(IntPtr hWnd); + + [DllImport("user32.dll")] + public static extern IntPtr GetDesktopWindow(); + + [DllImport("user32.dll")] + static extern bool ClientToScreen(IntPtr hwnd, ref NPoint point); + + /// + /// Converts a point in client coordinates of a window to screen coordinates. + /// + /// Handle to the window of the original point. + /// Point expressed in client coordinates. + /// Point expressed in screen coordinates. + public static NPoint ClientToScreen(IntPtr hwnd, NPoint clientPoint) { + NPoint localCopy = new NPoint(clientPoint); + + if (ClientToScreen(hwnd, ref localCopy)) + return localCopy; + else + return new NPoint(); + } + + [DllImport("user32.dll")] + static extern bool ScreenToClient(IntPtr hwnd, ref NPoint point); + + /// + /// Converts a point in screen coordinates in client coordinates relative to a window. + /// + /// Handle of the window whose client coordinate system should be used. + /// Point expressed in screen coordinates. + /// Point expressed in client coordinates. + public static NPoint ScreenToClient(IntPtr hwnd, NPoint screenPoint) { + NPoint localCopy = new NPoint(screenPoint); + + if (ScreenToClient(hwnd, ref localCopy)) + return localCopy; + else + return new NPoint(); + } + + [DllImport("user32.dll", CharSet = CharSet.Auto)] + public static extern IntPtr GetParent(IntPtr hWnd); + + [DllImport("user32.dll", SetLastError = false)] + public static extern bool SetForegroundWindow(IntPtr hwnd); + + public enum GetWindowMode : uint { + GW_HWNDFIRST = 0, + GW_HWNDLAST = 1, + GW_HWNDNEXT = 2, + GW_HWNDPREV = 3, + GW_OWNER = 4, + GW_CHILD = 5, + GW_ENABLEDPOPUP = 6 + } + + [DllImport("user32.dll")] + public static extern IntPtr GetWindow(IntPtr hwnd, GetWindowMode mode); + + } +} diff --git a/OnTopReplica/Native/WindowMethods.cs b/OnTopReplica/Native/WindowMethods.cs new file mode 100644 index 0000000..3c35c02 --- /dev/null +++ b/OnTopReplica/Native/WindowMethods.cs @@ -0,0 +1,138 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 methods for operating on windows. + /// + static class WindowMethods { + + [DllImport("user32.dll", SetLastError = true)] + public static extern bool GetClientRect(IntPtr handle, out NRectangle rect); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern int GetWindowTextLength(IntPtr hWnd); + + /// + /// Gets a window's text via API call. + /// + /// Window handle. + /// Title of the window. + public static string GetWindowText(IntPtr hwnd) { + int length = GetWindowTextLength(hwnd); + + if (length > 0) { + StringBuilder sb = new StringBuilder(length + 1); + if (WindowMethods.GetWindowText(hwnd, sb, sb.Capacity) > 0) + return sb.ToString(); + else + return String.Empty; + } + else + return String.Empty; + } + + const int MaxClassLength = 255; + + public static string GetWindowClass(IntPtr hwnd) { + var sb = new StringBuilder(MaxClassLength + 1); + RealGetWindowClass(hwnd, sb, MaxClassLength); + return sb.ToString(); + } + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern uint RealGetWindowClass(IntPtr hwnd, [Out] StringBuilder lpString, uint maxCount); + + public enum WindowLong { + WndProc = (-4), + HInstance = (-6), + HwndParent = (-8), + Style = (-16), + ExStyle = (-20), + UserData = (-21), + Id = (-12) + } + + public enum ClassLong { + Icon = -14, + IconSmall = -34 + } + + [Flags] + public enum WindowStyles : long { + None = 0, + Disabled = 0x8000000L, + Minimize = 0x20000000L, + MinimizeBox = 0x20000L, + Visible = 0x10000000L + } + + [Flags] + public enum WindowExStyles : long { + AppWindow = 0x40000, + Layered = 0x80000, + NoActivate = 0x8000000L, + ToolWindow = 0x80, + TopMost = 8, + Transparent = 0x20 + } + + public static IntPtr GetWindowLong(IntPtr hWnd, WindowLong i) { + if (IntPtr.Size == 8) { + return GetWindowLongPtr64(hWnd, i); + } + else { + return new IntPtr(GetWindowLong32(hWnd, i)); + } + } + + [DllImport("user32.dll", EntryPoint = "GetWindowLong")] + static extern int GetWindowLong32(IntPtr hWnd, WindowLong nIndex); + + [DllImport("user32.dll", EntryPoint = "GetWindowLongPtr")] + static extern IntPtr GetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex); + + public static IntPtr SetWindowLong(IntPtr hWnd, WindowLong i, IntPtr dwNewLong) { + if (IntPtr.Size == 8) { + return SetWindowLongPtr64(hWnd, i, dwNewLong); + } + else { + return new IntPtr(SetWindowLong32(hWnd, i, dwNewLong.ToInt32())); + } + } + + [DllImport("user32.dll", EntryPoint = "SetWindowLong")] + static extern int SetWindowLong32(IntPtr hWnd, WindowLong nIndex, int dwNewLong); + + [DllImport("user32.dll", EntryPoint = "SetWindowLongPtr")] + static extern IntPtr SetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex, IntPtr dwNewLong); + + #region Class styles + + [DllImport("user32.dll", EntryPoint = "GetClassLongPtrW")] + static extern IntPtr GetClassLong64(IntPtr hWnd, int nIndex); + + [DllImport("user32.dll", EntryPoint = "GetClassLongW")] + static extern int GetClassLong32(IntPtr hWnd, int nIndex); + + public static IntPtr GetClassLong(IntPtr hWnd, ClassLong i) { + if (IntPtr.Size == 8) { + return GetClassLong64(hWnd, (int)i); + } + else { + return new IntPtr(GetClassLong32(hWnd, (int)i)); + } + } + + #endregion + + [DllImport("user32.dll")] + public static extern IntPtr GetMenu(IntPtr hwnd); + + } +} diff --git a/OnTopReplica/Native/WindowsSevenMethods.cs b/OnTopReplica/Native/WindowsSevenMethods.cs new file mode 100644 index 0000000..587bf95 --- /dev/null +++ b/OnTopReplica/Native/WindowsSevenMethods.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + + static class WindowsSevenMethods { + + [DllImport("shell32.dll")] + internal static extern void SetCurrentProcessExplicitAppUserModelID( + [MarshalAs(UnmanagedType.LPWStr)] string AppID); + + [DllImport("shell32.dll")] + internal static extern void GetCurrentProcessExplicitAppUserModelID( + [Out(), MarshalAs(UnmanagedType.LPWStr)] out string AppID); + + } + +} diff --git a/OnTopReplica/NativeToolStripRenderer.cs b/OnTopReplica/NativeToolStripRenderer.cs new file mode 100644 index 0000000..b4d94f3 --- /dev/null +++ b/OnTopReplica/NativeToolStripRenderer.cs @@ -0,0 +1,587 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Diagnostics.CodeAnalysis; +using System.Windows.Forms; +using System.Windows.Forms.VisualStyles; +using System.Runtime.InteropServices; + +namespace Asztal.Szótár { + public enum ToolbarTheme { + Toolbar, + MediaToolbar, + CommunicationsToolbar, + BrowserTabBar + } + + /// + /// Renders a toolstrip using the UxTheme API via VisualStyleRenderer. Visual styles must be supported for this to work; if you need to support other operating systems use + /// + class UXThemeToolStripRenderer : ToolStripSystemRenderer { + /// + /// It shouldn't be necessary to P/Invoke like this, however a bug in VisualStyleRenderer.GetMargins forces my hand. + /// + static internal class NativeMethods { + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct MARGINS { + public int cxLeftWidth; + public int cxRightWidth; + public int cyTopHeight; + public int cyBottomHeight; + } + + [DllImport("uxtheme", ExactSpelling = true)] + public extern static Int32 GetThemeMargins(IntPtr hTheme, IntPtr hdc, int iPartId, int iStateId, int iPropId, IntPtr rect, out MARGINS pMargins); + } + + //See http://msdn2.microsoft.com/en-us/library/bb773210.aspx - "Parts and States" + #region Parts and States + enum MenuParts : int { + MENU_MENUITEM_TMSCHEMA = 1, + MENU_MENUDROPDOWN_TMSCHEMA = 2, + MENU_MENUBARITEM_TMSCHEMA = 3, + MENU_MENUBARDROPDOWN_TMSCHEMA = 4, + MENU_CHEVRON_TMSCHEMA = 5, + MENU_SEPARATOR_TMSCHEMA = 6, + MENU_BARBACKGROUND = 7, + MENU_BARITEM = 8, + MENU_POPUPBACKGROUND = 9, + MENU_POPUPBORDERS = 10, + MENU_POPUPCHECK = 11, + MENU_POPUPCHECKBACKGROUND = 12, + MENU_POPUPGUTTER = 13, + MENU_POPUPITEM = 14, + MENU_POPUPSEPARATOR = 15, + MENU_POPUPSUBMENU = 16, + MENU_SYSTEMCLOSE = 17, + MENU_SYSTEMMAXIMIZE = 18, + MENU_SYSTEMMINIMIZE = 19, + MENU_SYSTEMRESTORE = 20 + } + + enum MenuBarStates : int { + MB_ACTIVE = 1, + MB_INACTIVE = 2 + } + + enum MenuBarItemStates : int { + MBI_NORMAL = 1, + MBI_HOT = 2, + MBI_PUSHED = 3, + MBI_DISABLED = 4, + MBI_DISABLEDHOT = 5, + MBI_DISABLEDPUSHED = 6 + } + + enum MenuPopupItemStates : int { + MPI_NORMAL = 1, + MPI_HOT = 2, + MPI_DISABLED = 3, + MPI_DISABLEDHOT = 4 + } + + enum MenuPopupCheckStates : int { + MC_CHECKMARKNORMAL = 1, + MC_CHECKMARKDISABLED = 2, + MC_BULLETNORMAL = 3, + MC_BULLETDISABLED = 4 + } + + enum MenuPopupCheckBackgroundStates : int { + MCB_DISABLED = 1, + MCB_NORMAL = 2, + MCB_BITMAP = 3 + } + + enum MenuPopupSubMenuStates : int { + MSM_NORMAL = 1, + MSM_DISABLED = 2 + } + + enum MarginTypes : int { + TMT_SIZINGMARGINS = 3601, + TMT_CONTENTMARGINS = 3602, + TMT_CAPTIONMARGINS = 3603 + } + + const int RP_BACKGROUND = 6; + #endregion + + #region Theme helpers + Padding GetThemeMargins(IDeviceContext dc, MarginTypes marginType) { + NativeMethods.MARGINS margins; + try { + IntPtr hDC = dc.GetHdc(); + if (0 == NativeMethods.GetThemeMargins(renderer.Handle, hDC, renderer.Part, renderer.State, (int)marginType, IntPtr.Zero, out margins)) + return new Padding(margins.cxLeftWidth, margins.cyTopHeight, margins.cxRightWidth, margins.cyBottomHeight); + return new Padding(-1); + } finally { + dc.ReleaseHdc(); + } + } + + private static int GetItemState(ToolStripItem item) { + bool pressed = item.Pressed; + bool hot = item.Selected; + + if (item.Owner.IsDropDown) { + if (item.Enabled) + return hot ? (int)MenuPopupItemStates.MPI_HOT : (int)MenuPopupItemStates.MPI_NORMAL; + return hot ? (int)MenuPopupItemStates.MPI_DISABLEDHOT : (int)MenuPopupItemStates.MPI_DISABLED; + } else { + if (pressed) + return item.Enabled ? (int)MenuBarItemStates.MBI_PUSHED : (int)MenuBarItemStates.MBI_DISABLEDPUSHED; + if (item.Enabled) + return hot ? (int)MenuBarItemStates.MBI_HOT : (int)MenuBarItemStates.MBI_NORMAL; + return hot ? (int)MenuBarItemStates.MBI_DISABLEDHOT : (int)MenuBarItemStates.MBI_DISABLED; + } + } + #endregion + + #region Theme subclasses + public ToolbarTheme Theme { + get; set; + } + + private string RebarClass { + get { + return SubclassPrefix + "Rebar"; + } + } + + private string ToolbarClass { + get { + return SubclassPrefix + "ToolBar"; + } + } + + private string MenuClass { + get { + return SubclassPrefix + "Menu"; + } + } + + private string SubclassPrefix { + get { + switch (Theme) { + case ToolbarTheme.MediaToolbar: return "Media::"; + case ToolbarTheme.CommunicationsToolbar: return "Communications::"; + case ToolbarTheme.BrowserTabBar: return "BrowserTabBar::"; + default: return string.Empty; + } + } + } + + private VisualStyleElement Subclass(VisualStyleElement element) { + return VisualStyleElement.CreateElement(SubclassPrefix + element.ClassName, + element.Part, element.State); + } + #endregion + + VisualStyleRenderer renderer; + + public UXThemeToolStripRenderer(ToolbarTheme theme) { + Theme = theme; + renderer = new VisualStyleRenderer(VisualStyleElement.Button.PushButton.Normal); + } + + #region Borders + protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPBORDERS, 0); + if (e.ToolStrip.IsDropDown) { + Region oldClip = e.Graphics.Clip; + + //Tool strip borders are rendered *after* the content, for some reason. + //So we have to exclude the inside of the popup otherwise we'll draw over it. + Rectangle insideRect = e.ToolStrip.ClientRectangle; + insideRect.Inflate(-1, -1); + e.Graphics.ExcludeClip(insideRect); + + renderer.DrawBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.AffectedBounds); + + //Restore the old clip in case the Graphics is used again (does that ever happen?) + e.Graphics.Clip = oldClip; + } + } + #endregion + + #region Backgrounds + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { + int partId = e.Item.Owner.IsDropDown ? (int)MenuParts.MENU_POPUPITEM : (int)MenuParts.MENU_BARITEM; + renderer.SetParameters(MenuClass, partId, GetItemState(e.Item)); + + Rectangle bgRect = e.Item.ContentRectangle; + + Padding content = GetThemeMargins(e.Graphics, MarginTypes.TMT_CONTENTMARGINS), + sizing = GetThemeMargins(e.Graphics, MarginTypes.TMT_SIZINGMARGINS), + caption = GetThemeMargins(e.Graphics, MarginTypes.TMT_CAPTIONMARGINS); + + if (!e.Item.Owner.IsDropDown) { + bgRect.Y = 0; + bgRect.Height = e.ToolStrip.Height; + bgRect.Inflate(-1, -1); //GetMargins here perhaps? + } + + renderer.DrawBackground(e.Graphics, bgRect, bgRect); + } + + protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e) { + //Draw the background using Rebar & RP_BACKGROUND (or, if that is not available, fall back to + //Rebar.Band.Normal) + if (VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement(RebarClass, RP_BACKGROUND, 0))) { + renderer.SetParameters(RebarClass, RP_BACKGROUND, 0); + } else { + renderer.SetParameters(RebarClass, 0, 0); + //renderer.SetParameters(VisualStyleElement.Taskbar.BackgroundBottom.Normal); + //renderer.SetParameters(Subclass(VisualStyleElement.Rebar.Band.Normal)); + } + + if (renderer.IsBackgroundPartiallyTransparent()) + renderer.DrawParentBackground(e.Graphics, e.ToolStripPanel.ClientRectangle, e.ToolStripPanel); + + renderer.DrawBackground(e.Graphics, e.ToolStripPanel.ClientRectangle); + + //Draw the etched edges of each row. + //renderer.SetParameters(Subclass(VisualStyleElement.Rebar.Band.Normal)); + //foreach (ToolStripPanelRow row in e.ToolStripPanel.Rows) { + // Rectangle rowBounds = row.Bounds; + // rowBounds.Offset(0, -1); + // renderer.DrawEdge(e.Graphics, rowBounds, Edges.Top, EdgeStyle.Etched, EdgeEffects.None); + //} + + e.Handled = true; + } + + //Render the background of an actual menu bar, dropdown menu or toolbar. + protected override void OnRenderToolStripBackground(System.Windows.Forms.ToolStripRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPBACKGROUND, 0); + } else { + //It's a MenuStrip or a ToolStrip. If it's contained inside a larger panel, it should have a + //transparent background, showing the panel's background. + + if (e.ToolStrip.Parent is ToolStripPanel) { + //The background should be transparent, because the ToolStripPanel's background will be visible. + //(Of course, we assume the ToolStripPanel is drawn using the same theme, but it's not my fault + //if someone does that.) + return; + } else { + //A lone toolbar/menubar should act like it's inside a toolbox, I guess. + //Maybe I should use the MenuClass in the case of a MenuStrip, although that would break + //the other themes... + if(VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement(RebarClass, RP_BACKGROUND, 0))) + renderer.SetParameters(RebarClass, RP_BACKGROUND, 0); + else + renderer.SetParameters(RebarClass, 0, 0); + } + } + + if (renderer.IsBackgroundPartiallyTransparent()) + renderer.DrawParentBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.ToolStrip); + + renderer.DrawBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.AffectedBounds); + } + + protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e) { + //e.Graphics.FillRectangle(Brushes.RosyBrown, e.ToolStripContentPanel.ClientRectangle); + //base.OnRenderToolStripContentPanelBackground(e); + } + + //Some sort of chevron thing? + //protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e) { + // base.OnRenderOverflowButtonBackground(e); + //} + #endregion + + #region Text + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { + int partId = e.Item.Owner.IsDropDown ? (int)MenuParts.MENU_POPUPITEM : (int)MenuParts.MENU_BARITEM; + renderer.SetParameters(MenuClass, partId, GetItemState(e.Item)); + Color color = renderer.GetColor(ColorProperty.TextColor); + + if(e.Item.Owner.IsDropDown || e.Item.Owner is MenuStrip) + e.TextColor = color; + + base.OnRenderItemText(e); + } + #endregion + + #region Glyphs + + //protected override void OnRenderGrip(ToolStripGripRenderEventArgs e) { + // if (e.GripStyle == ToolStripGripStyle.Visible) { + // renderer.SetParameters(VisualStyleElement.Rebar.Gripper.Normal); + // renderer.DrawBackground(e.Graphics, e.GripBounds, e.AffectedBounds); + // } + //} + + protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPGUTTER, 0); + Rectangle displayRect = e.ToolStrip.DisplayRectangle, + marginRect = new Rectangle(0, displayRect.Top, displayRect.Left, displayRect.Height); + //e.Graphics.DrawRectangle(Pens.Black, marginRect); + renderer.DrawBackground(e.Graphics, marginRect, marginRect); + } + } + + protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPSEPARATOR, 0); + Rectangle rect = new Rectangle(e.ToolStrip.DisplayRectangle.Left, 0, e.ToolStrip.DisplayRectangle.Width, e.Item.Height); + renderer.DrawBackground(e.Graphics, rect, rect); + } else { + base.OnRenderSeparator(e); + } + } + + protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { + ToolStripMenuItem item = e.Item as ToolStripMenuItem; + if (item != null) { + if (item.Checked) { + Rectangle rect = e.Item.ContentRectangle; + rect.Width = rect.Height; + + //Center the checkmark horizontally in the gutter (looks ugly, though) + //rect.X = (e.ToolStrip.DisplayRectangle.Left - rect.Width) / 2; + + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPCHECKBACKGROUND, e.Item.Enabled ? (int)MenuPopupCheckBackgroundStates.MCB_NORMAL : (int)MenuPopupCheckBackgroundStates.MCB_DISABLED); + renderer.DrawBackground(e.Graphics, rect); + + Padding margins = GetThemeMargins(e.Graphics, MarginTypes.TMT_SIZINGMARGINS); + + rect = new Rectangle(rect.X + margins.Left, rect.Y + margins.Top, + rect.Width - margins.Horizontal, + rect.Height - margins.Vertical); + + //I don't think ToolStrip even supports radio box items. So no need to render them. + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPCHECK, e.Item.Enabled ? (int)MenuPopupCheckStates.MC_CHECKMARKNORMAL : (int)MenuPopupCheckStates.MC_CHECKMARKDISABLED); + + renderer.DrawBackground(e.Graphics, rect); + } + } else { + base.OnRenderItemCheck(e); + } + } + + //This is broken for RTL + protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { + int stateId = e.Item.Enabled ? (int)MenuPopupSubMenuStates.MSM_NORMAL : (int)MenuPopupSubMenuStates.MSM_DISABLED; + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPSUBMENU, stateId); + renderer.DrawBackground(e.Graphics, e.ArrowRectangle); + } + + protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e) { + renderer.SetParameters(RebarClass, VisualStyleElement.Rebar.Chevron.Normal.Part, VisualStyleElement.Rebar.Chevron.Normal.State); + renderer.DrawBackground(e.Graphics, e.Item.ContentRectangle); + + //base.OnRenderOverflowButtonBackground(e); + } + #endregion + + public static bool IsSupported { + get { + if (!VisualStyleRenderer.IsSupported) + return false; + + return VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement("MENU", (int)MenuParts.MENU_BARBACKGROUND, (int)MenuBarStates.MB_ACTIVE)); + } + } + } + + /// + /// Renders a toolstrip using UXTheme if possible, and switches back to the default + /// ToolStripRenderer when UXTheme-based rendering is not available. + /// Designed for menu bars and context menus - it is not guaranteed to work with anything else. + /// + /// + /// NativeToolStripRenderer.SetToolStripRenderer(toolStrip1, toolStrip2, contextMenuStrip1); + /// + /// + /// toolStrip1.Renderer = new NativeToolStripRenderer(); + /// + public class NativeToolStripRenderer : ToolStripRenderer { + UXThemeToolStripRenderer nativeRenderer; + ToolStripRenderer defaultRenderer; + ToolStrip toolStrip; + + //NativeToolStripRenderer looks best with no padding - but keep the old padding in case the + //visual styles become unsupported again (e.g. user changes to windows classic skin) + Padding defaultPadding; + + #region Constructors + /// + /// Creates a NativeToolStripRenderer for a particular ToolStrip. NativeToolStripRenderer will subscribe to some events + /// of this ToolStrip. + /// + /// The toolstrip for this NativeToolStripRenderer. NativeToolStripRenderer will subscribe to some events + /// of this ToolStrip. + public NativeToolStripRenderer(ToolStrip toolStrip, ToolbarTheme theme) { + if (toolStrip == null) + throw new ArgumentNullException("toolStrip", "ToolStrip cannot be null."); + + Theme = theme; + + this.toolStrip = toolStrip; + defaultRenderer = toolStrip.Renderer; + + defaultPadding = toolStrip.Padding; + toolStrip.SystemColorsChanged += new EventHandler(toolStrip_SystemColorsChanged); + + //Can't initialize here - constructor throws if visual styles not enabled + //nativeRenderer = new NativeToolStripRenderer(); + } + + public NativeToolStripRenderer(ToolStripPanel panel, ToolbarTheme theme) { + if (panel == null) + throw new ArgumentNullException("panel", "Panel cannot be null."); + + Theme = theme; + + this.toolStrip = null; + defaultRenderer = panel.Renderer; + } + #endregion + + public ToolbarTheme Theme { get; set; } + + void toolStrip_SystemColorsChanged(object sender, EventArgs e) { + if (toolStrip == null) + return; + + if (UXThemeToolStripRenderer.IsSupported) + toolStrip.Padding = Padding.Empty; + else + toolStrip.Padding = defaultPadding; + } + + //This is indeed called every time a menu part is rendered, but I can't + //find a way of caching it that I can be sure has no race conditions. + //The check is no longer very costly, anyway. + protected ToolStripRenderer ActualRenderer { + get { + bool nativeSupported = UXThemeToolStripRenderer.IsSupported; + + if (nativeSupported) { + if (nativeRenderer == null) + nativeRenderer = new UXThemeToolStripRenderer(Theme); + return nativeRenderer; + } + + return defaultRenderer; + } + } + + #region InitializeXXX + protected override void Initialize(ToolStrip toolStrip) { + base.Initialize(toolStrip); + + toolStrip.Padding = Padding.Empty; + + if (/*!(toolStrip is MenuStrip) &&*/ toolStrip.Parent is ToolStripPanel) { + toolStrip.BackColor = Color.Transparent; + } + } + + protected override void InitializePanel(ToolStripPanel toolStripPanel) { + base.InitializePanel(toolStripPanel); + } + + protected override void InitializeItem(ToolStripItem item) { + base.InitializeItem(item); + } + #endregion + + #region SetToolStripRenderer + /// + /// Sets the renderer of each ToolStrip to a NativeToolStripRenderer. A convenience method. + /// + /// A parameter list of ToolStrips. + [SuppressMessage("Microsoft.Design", "CA1062")] //The parameter array is actually checked. + public static void SetToolStripRenderer(ToolbarTheme theme, params Control[] toolStrips) { + foreach (Control ts in toolStrips) { + if (ts == null) + throw new ArgumentNullException("toolStrips", "ToolStrips cannot contain a null reference."); + } + + foreach (Control ts in toolStrips) { + if (ts is ToolStrip) { + ToolStrip t = (ToolStrip)ts; + t.Renderer = new NativeToolStripRenderer(t, theme); + } else if (ts is ToolStripPanel) { + ToolStripPanel t = (ToolStripPanel)ts; + t.Renderer = new NativeToolStripRenderer(t, theme); + } else + throw new ArgumentException("Can't set the renderer for a " + ts.GetType().Name); + } + } + + public static void SetToolStripRenderer(params Control[] toolStrips) { + SetToolStripRenderer(ToolbarTheme.Toolbar, toolStrips); + } + #endregion + + #region Overridden Methods - Deferred to actual renderer + protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { + ActualRenderer.DrawArrow(e); + } + + protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawButtonBackground(e); + } + + protected override void OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawDropDownButtonBackground(e); + } + + protected override void OnRenderGrip(ToolStripGripRenderEventArgs e) { + ActualRenderer.DrawGrip(e); + } + + protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { + ActualRenderer.DrawImageMargin(e); + } + + protected override void OnRenderItemBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawItemBackground(e); + } + + protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { + ActualRenderer.DrawItemCheck(e); + } + + protected override void OnRenderItemImage(ToolStripItemImageRenderEventArgs e) { + ActualRenderer.DrawItemImage(e); + } + + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { + ActualRenderer.DrawItemText(e); + } + + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawMenuItemBackground(e); + } + + protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e) { + ActualRenderer.DrawSeparator(e); + } + + protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e) { + ActualRenderer.DrawToolStripBackground(e); + } + + protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { + ActualRenderer.DrawToolStripBorder(e); + } + + protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e) { + ActualRenderer.DrawToolStripContentPanelBackground(e); + } + + protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e) { + ActualRenderer.DrawToolStripPanelBackground(e); + } + #endregion + } +} diff --git a/OnTopReplica/NotificationIcon.cs b/OnTopReplica/NotificationIcon.cs new file mode 100644 index 0000000..ebdce67 --- /dev/null +++ b/OnTopReplica/NotificationIcon.cs @@ -0,0 +1,84 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica { + /// + /// Notification icon that installs itself in the "tray" and manipulates the OnTopReplica main form. + /// + class NotificationIcon : IDisposable { + + public NotificationIcon(MainForm form) { + Form = form; + Install(); + } + + public MainForm Form { get; private set; } + + NotifyIcon _taskIcon; + ContextMenuStrip _contextMenu; + + private void Install() { + _contextMenu = new ContextMenuStrip(); + _contextMenu.Items.AddRange(new ToolStripItem[] { + new ToolStripMenuItem(Strings.MenuOpen, Resources.icon, TaskIconOpen_click) { + ToolTipText = Strings.MenuOpenTT, + }, + new ToolStripMenuItem(Strings.MenuWindows, Resources.list){ + DropDown = Form.MenuWindows, + ToolTipText = Strings.MenuWindowsTT + }, + new ToolStripMenuItem(Strings.MenuReset, null, TaskIconReset_click){ + ToolTipText = Strings.MenuResetTT + }, + new ToolStripMenuItem(Strings.MenuClose, Resources.close_new, TaskIconExit_click){ + ToolTipText = Strings.MenuCloseTT + } + }); + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(_contextMenu); + + _taskIcon = new NotifyIcon { + Text = Strings.ApplicationName, + Icon = Resources.icon_new, + Visible = true, + ContextMenuStrip = _contextMenu + }; + _taskIcon.DoubleClick += new EventHandler(TaskIcon_doubleclick); + } + + #region IDisposable Members + + public void Dispose() { + //Destroy NotifyIcon + if (_taskIcon != null) { + _taskIcon.Visible = false; + _taskIcon.Dispose(); + _taskIcon = null; + } + } + + #endregion + + #region Task Icon events + + void TaskIcon_doubleclick(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconOpen_click(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconReset_click(object sender, EventArgs e) { + Form.ResetMainFormWithConfirmation(); + } + + private void TaskIconExit_click(object sender, EventArgs e) { + Form.Close(); + } + + #endregion + } +} diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj new file mode 100644 index 0000000..fbbb0e7 --- /dev/null +++ b/OnTopReplica/OnTopReplica.csproj @@ -0,0 +1,460 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557} + WinExe + Properties + OnTopReplica + OnTopReplica + v2.0 + 512 + Assets\icon-new.ico + false + false + Internet + OnTopReplica.Program + + + false + A305A505E19CF40E069521C80C13AB3C900EDB7C + OnTopReplica_1_TemporaryKey.pfx + false + + + + + 3.5 + + publish\ + true + Disk + true + Background + 1 + Weeks + true + false + true + http://www.klopfenstein.net/public/Uploads/ontopreplica/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + en + OnTopReplica + Lorenz Cuno Klopfenstein + true + publish.htm + false + 0 + 3.2.0.%2a + false + true + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + false + true + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + false + + + + + + + + + OnTopReplica.exe.manifest + + + + + + + + + + False + ..\Lib\VistaControls.dll + + + + + Form + + + AboutForm.cs + + + + Form + + + + + + + Form + + + Form + + + Form + + + Form + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UserControl + + + UserControl + + + GroupSwitchPanel.cs + + + + Form + + + CommandLineReportForm.cs + + + + + + + + + + + + + + + + + + True + True + Strings.resx + + + Component + + + Form + + + MainForm.cs + + + + + + AboutForm.cs + Designer + + + GroupSwitchPanel.cs + Designer + + + CommandLineReportForm.cs + + + ResXFileCodeGenerator + Strings.cs.Designer.cs + + + ResXFileCodeGenerator + Strings.da.Designer.cs + + + + ResXFileCodeGenerator + Strings.it.Designer.cs + Designer + + + MainForm.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + RegionPanel.cs + Designer + + + Strings.Designer.cs + Designer + ResXFileCodeGenerator + + + True + Resources.resx + True + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + UserControl + + + RegionPanel.cs + + + + + True + True + Strings.it.resx + + + Component + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 2.0 %28x86%29 + true + + + False + .NET Framework 3.0 %28x86%29 + false + + + False + .NET Framework 3.5 + false + + + False + .NET Framework 3.5 SP1 + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Include + True + Satellite + + + False + + + + + Include + True + Satellite + + + False + + + + + Include + True + Satellite + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.csproj.user b/OnTopReplica/OnTopReplica.csproj.user new file mode 100644 index 0000000..230b070 --- /dev/null +++ b/OnTopReplica/OnTopReplica.csproj.user @@ -0,0 +1,22 @@ + + + + publish\ + http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/download.aspx%3ffile=ontopreplica%252fsetup.exe/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/|http://lorenz.klopfenstein.net/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&page=on_top_replica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&page=programming_on_top_replica + http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/ + + + en-US + false + + + + + false + + + + + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.exe.manifest b/OnTopReplica/OnTopReplica.exe.manifest new file mode 100644 index 0000000..b9febc2 --- /dev/null +++ b/OnTopReplica/OnTopReplica.exe.manifest @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + Lightweight clone of a window. + + + + + + \ No newline at end of file diff --git a/OnTopReplica/Pair.cs b/OnTopReplica/Pair.cs new file mode 100644 index 0000000..b2da01a --- /dev/null +++ b/OnTopReplica/Pair.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica { + + /// + /// Simple tuple with two values. + /// + struct Pair { + public T1 Item1; + public T2 Item2; + } + +} diff --git a/OnTopReplica/PlatformSupport.cs b/OnTopReplica/PlatformSupport.cs new file mode 100644 index 0000000..8f7d816 --- /dev/null +++ b/OnTopReplica/PlatformSupport.cs @@ -0,0 +1,109 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Platforms; +using System.Windows.Forms; + +namespace OnTopReplica { + abstract class PlatformSupport : IDisposable { + + public static PlatformSupport Create() { + var os = Environment.OSVersion; + + if (os.Platform != PlatformID.Win32NT) + return new Other(); + + if (os.Version.Major == 6) { + if (os.Version.Minor >= 1) + return new WindowsSeven(); + else + return new WindowsVista(); + } + else if (os.Version.Major > 6) { + //Ensures forward compatibility + return new WindowsSeven(); + } + else { + //Generic NT + return new WindowsXp(); + } + } + + /// + /// Checks whether OnTopReplica is compatible with the platform. + /// + /// Returns false if OnTopReplica cannot run. + public abstract bool CheckCompatibility(); + + /// + /// Initializes the application. Called once in the app lifetime. + /// + public virtual void InitApp() { + } + + /// + /// Gets the main OnTopReplica form. + /// + protected MainForm Form { get; private set; } + + /// + /// Initializes a form. Called once in the form lifetime. + /// + /// Form to initialize. + public virtual void InitForm(MainForm form) { + Form = form; + } + + /// + /// Prepares the app for shutdown. Called once before the program terminates. + /// + public virtual void ShutdownApp() { + } + + /// + /// Hides the main form in a way that it can be restored later by the user. + /// + /// Form to hide. + public virtual void HideForm(MainForm form) { + form.Hide(); + } + + /// + /// Gets whether the form is currently hidden or not. + /// + public virtual bool IsHidden(MainForm form) { + return !form.Visible; + } + + /// + /// Restores the main form to its default state after is has been hidden. + /// Can be called whether the form is hidden or not. + /// + /// Form to restore. + public virtual void RestoreForm(MainForm form) { + form.Show(); + } + + /// + /// Called when the form changes its state, without calling into or . + /// Enables inheritors to update the form's state on each state change. + /// + public virtual void OnFormStateChange(MainForm form) { + } + + #region IDisposable Members + + bool _isDisposed = false; + + public void Dispose() { + if (_isDisposed) + return; + + this.ShutdownApp(); + _isDisposed = true; + } + + #endregion + + } +} diff --git a/OnTopReplica/Platforms/Other.cs b/OnTopReplica/Platforms/Other.cs new file mode 100644 index 0000000..abd253d --- /dev/null +++ b/OnTopReplica/Platforms/Other.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.Platforms { + class Other : PlatformSupport { + + public override bool CheckCompatibility() { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, + MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + } +} diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs new file mode 100644 index 0000000..b1d1db0 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -0,0 +1,52 @@ +using System; +using System.Windows.Forms; +using OnTopReplica.Native; +using VistaControls.Dwm; + +namespace OnTopReplica.Platforms { + class WindowsSeven : WindowsVista { + + public override void InitForm(MainForm form) { + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + DwmManager.SetExludeFromPeek(form, true); + DwmManager.SetDisallowPeek(form, true); + + SetWindowStyle(form); + } + + public override void InitApp() { + //Set Application ID + WindowsSevenMethods.SetCurrentProcessExplicitAppUserModelID("OnTopReplica"); + } + + public override void HideForm(MainForm form) { + form.Opacity = 0; + } + + public override bool IsHidden(MainForm form) { + return (form.Opacity == 0.0); + } + + public override void RestoreForm(MainForm form) { + if (form.Opacity == 0.0) + form.Opacity = 1.0; + form.Show(); + SetWindowStyle(form); + } + + public override void OnFormStateChange(MainForm form) { + SetWindowStyle(form); + } + + private void SetWindowStyle(MainForm form) { + if (!form.IsFullscreen) { + //This hides the app from ALT+TAB + //Note that when minimized, it will be shown as an (ugly) minimized tool window + Native.WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle, + (IntPtr)WindowMethods.WindowExStyles.ToolWindow); + } + } + + + } +} diff --git a/OnTopReplica/Platforms/WindowsVista.cs b/OnTopReplica/Platforms/WindowsVista.cs new file mode 100644 index 0000000..d8d1b60 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsVista.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using VistaControls.Dwm; +using OnTopReplica.Properties; +using VistaControls.TaskDialog; + +namespace OnTopReplica.Platforms { + + class WindowsVista : PlatformSupport { + + public override bool CheckCompatibility() { + if (!VistaControls.OsSupport.IsCompositionEnabled) { + MessageBox.Show(Strings.ErrorDwmOffContent, Strings.ErrorDwmOff, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + return true; + } + + NotificationIcon _icon; + + public override void InitForm(MainForm form) { + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + + //Do not show in task bar, but display notify icon + //NOTE: this effectively makes Windows ignore the Flip 3D policy set above (on Windows 7) + //NOTE: this also makes HotKey registration critically fail on Windows 7 + form.ShowInTaskbar = false; + + //Install tray icon + _icon = new NotificationIcon(form); + } + + public override void ShutdownApp() { + if (_icon != null) { + _icon.Dispose(); + _icon = null; + } + } + + } + +} diff --git a/OnTopReplica/Platforms/WindowsXp.cs b/OnTopReplica/Platforms/WindowsXp.cs new file mode 100644 index 0000000..88d3895 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsXp.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.Platforms { + class WindowsXp : PlatformSupport { + + public override bool CheckCompatibility() { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + } +} diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs new file mode 100644 index 0000000..fe9d06c --- /dev/null +++ b/OnTopReplica/Program.cs @@ -0,0 +1,133 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using OnTopReplica.Properties; +using System.Threading; +using System.Globalization; +using System.Drawing; +using System.IO; +using VistaControls.TaskDialog; +using OnTopReplica.Update; +using System.Reflection; +using OnTopReplica.StartupOptions; + +namespace OnTopReplica { + + static class Program { + + public static PlatformSupport Platform { get; private set; } + + static CultureInfo _languageChangeCode = Settings.Default.Language; + + static UpdateManager _updateManager; + + static MainForm _mainForm; + + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main(string[] args) { + //Hook abort handler + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); + + //Initialize and check for platform support + Platform = PlatformSupport.Create(); + if (!Platform.CheckCompatibility()) + return; + Platform.InitApp(); + + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + + //Update settings if needed + if (Settings.Default.MustUpdate) { + Settings.Default.Upgrade(); + Settings.Default.MustUpdate = false; + } + + //Load startup options + var options = StartupOptions.Factory.CreateOptions(args); + string optionsMessage = options.DebugMessage; + if (!string.IsNullOrEmpty(optionsMessage)) { //show dialog if debug message present or if parsing failed + var dlg = new CommandLineReportForm(options.Status, optionsMessage); + dlg.ShowDialog(); + } + if (options.Status == CliStatus.Information || options.Status == CliStatus.Error) + return; + + bool mustReloadForm = false; + Point reloadLocation = new Point(); + Size reloadSize = new Size(); + + do { + //Update language settings + Thread.CurrentThread.CurrentUICulture = _languageChangeCode; + Settings.Default.Language = _languageChangeCode; + _languageChangeCode = null; + + _mainForm = new MainForm(options); + if (mustReloadForm) { + _mainForm.Location = reloadLocation; + _mainForm.Size = reloadSize; + } + + Application.Run(_mainForm); + + //Enable reloading on next loop + mustReloadForm = true; + reloadLocation = _mainForm.Location; + reloadSize = _mainForm.Size; + } + while (_languageChangeCode != null); + + //Persist settings + Settings.Default.RestoreLastPosition = reloadLocation; + Settings.Default.RestoreLastSize = reloadSize; + Settings.Default.Save(); + } + + /// + /// Forces a global language change. As soon as the main form is closed, the change is performed + /// and the form is reopened using the new language. + /// + public static bool ForceGlobalLanguageChange(string languageCode) { + if (string.IsNullOrEmpty(languageCode)) + return false; + + try { + _languageChangeCode = new CultureInfo(languageCode); + } + catch { + return false; + } + + return true; + } + + static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { + string dump = string.Format("OnTopReplica-dump-{0}{1}{2}{3}{4}.txt", + DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, + DateTime.UtcNow.Hour, DateTime.UtcNow.Minute); + string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), dump); + + using (var s = new FileStream(path, FileMode.Create)) { + using (var sw = new StreamWriter(s)) { + sw.WriteLine("OnTopReplica Dump file"); + sw.WriteLine("This file has been created because OnTopReplica crashed."); + sw.WriteLine("Please send it to lck@klopfenstein.net to help fix the bug that caused the crash."); + sw.WriteLine(); + sw.WriteLine("Last exception:"); + sw.WriteLine(e.ExceptionObject.ToString()); + sw.WriteLine(); + sw.WriteLine("OnTopReplica v. {0}", Assembly.GetEntryAssembly().GetName().Version); + sw.WriteLine("OS: {0}", Environment.OSVersion.ToString()); + sw.WriteLine(".NET: {0}", Environment.Version.ToString()); + sw.WriteLine("Aero DWM: {0}", VistaControls.OsSupport.IsCompositionEnabled); + sw.WriteLine("Launch command: {0}", Environment.CommandLine); + } + } + } + + } +} diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..c012e63 --- /dev/null +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -0,0 +1,37 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("OnTopReplica")] +[assembly: AssemblyDescription("Real-time, always on top thumbnail of a window of your choice.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Lorenz Cuno Klopfenstein")] +[assembly: AssemblyProduct("OnTopReplica")] +[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2010")] +//[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2007")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("015090d1-7559-4c59-b9d1-e7e066c4a948")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("3.2.0.0")] +[assembly: AssemblyFileVersion("3.2.0.0")] diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs new file mode 100644 index 0000000..14998d1 --- /dev/null +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -0,0 +1,329 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.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() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("OnTopReplica.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + internal static System.Drawing.Bitmap back { + get { + object obj = ResourceManager.GetObject("back", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap clickforwarding { + get { + object obj = ResourceManager.GetObject("clickforwarding", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap close_new { + get { + object obj = ResourceManager.GetObject("close_new", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap desktop { + get { + object obj = ResourceManager.GetObject("desktop", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_czech { + get { + object obj = ResourceManager.GetObject("flag_czech", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_danish { + get { + object obj = ResourceManager.GetObject("flag_danish", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_ita { + get { + object obj = ResourceManager.GetObject("flag_ita", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_spanish { + get { + object obj = ResourceManager.GetObject("flag_spanish", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap flag_usa { + get { + object obj = ResourceManager.GetObject("flag_usa", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap fullscreen { + get { + object obj = ResourceManager.GetObject("fullscreen", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap groupmode { + get { + object obj = ResourceManager.GetObject("groupmode", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap icon { + get { + object obj = ResourceManager.GetObject("icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Icon icon_new { + get { + object obj = ResourceManager.GetObject("icon_new", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + internal static System.Drawing.Bitmap list { + get { + object obj = ResourceManager.GetObject("list", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_bottomleft { + get { + object obj = ResourceManager.GetObject("pos_bottomleft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_bottomright { + get { + object obj = ResourceManager.GetObject("pos_bottomright", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_center { + get { + object obj = ResourceManager.GetObject("pos_center", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_null { + get { + object obj = ResourceManager.GetObject("pos_null", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_topleft { + get { + object obj = ResourceManager.GetObject("pos_topleft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap pos_topright { + get { + object obj = ResourceManager.GetObject("pos_topright", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap reduce { + get { + object obj = ResourceManager.GetObject("reduce", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap refresh { + get { + object obj = ResourceManager.GetObject("refresh", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap regions { + get { + object obj = ResourceManager.GetObject("regions", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap thumbs_up { + get { + object obj = ResourceManager.GetObject("thumbs_up", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_border16 { + get { + object obj = ResourceManager.GetObject("window_border16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_multiple16 { + get { + object obj = ResourceManager.GetObject("window_multiple16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_opacity { + get { + object obj = ResourceManager.GetObject("window_opacity", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window_switch { + get { + object obj = ResourceManager.GetObject("window_switch", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap window16 { + get { + object obj = ResourceManager.GetObject("window16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_add { + get { + object obj = ResourceManager.GetObject("xiao_add", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_arrow { + get { + object obj = ResourceManager.GetObject("xiao_arrow", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_component { + get { + object obj = ResourceManager.GetObject("xiao_component", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_delete { + get { + object obj = ResourceManager.GetObject("xiao_delete", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_down { + get { + object obj = ResourceManager.GetObject("xiao_down", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_help { + get { + object obj = ResourceManager.GetObject("xiao_help", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_ok { + get { + object obj = ResourceManager.GetObject("xiao_ok", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_up { + get { + object obj = ResourceManager.GetObject("xiao_up", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + internal static System.Drawing.Bitmap xiao_wrench { + get { + object obj = ResourceManager.GetObject("xiao_wrench", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx new file mode 100644 index 0000000..89f2850 --- /dev/null +++ b/OnTopReplica/Properties/Resources.resx @@ -0,0 +1,236 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Assets\flag_ita.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\x-oblique.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\component.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\25.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_multiple16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\regions_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_null.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_opacity_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\thumbs_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\clickforwarding.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\newicon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_help.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\back.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_czech.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_switch.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\desktop.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_danish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\reduce.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_ok.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_wrench.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\list.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\icon-new.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\fullscreen.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_down.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_border16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_usa.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\groupmode.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_center.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + + ..\Assets\flag_spanish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/OnTopReplica/Properties/Settings.Designer.cs b/OnTopReplica/Properties/Settings.Designer.cs new file mode 100644 index 0000000..c47129a --- /dev/null +++ b/OnTopReplica/Properties/Settings.Designer.cs @@ -0,0 +1,169 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.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; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public global::OnTopReplica.StoredRegionArray SavedRegions { + get { + return ((global::OnTopReplica.StoredRegionArray)(this["SavedRegions"])); + } + set { + this["SavedRegions"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool AutoFitOnResize { + get { + return ((bool)(this["AutoFitOnResize"])); + } + set { + this["AutoFitOnResize"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("255")] + public byte Opacity { + get { + return ((byte)(this["Opacity"])); + } + set { + this["Opacity"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("(Default)")] + public global::System.Globalization.CultureInfo Language { + get { + return ((global::System.Globalization.CultureInfo)(this["Language"])); + } + set { + this["Language"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool MustUpdate { + get { + return ((bool)(this["MustUpdate"])); + } + set { + this["MustUpdate"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool ClickThrough { + get { + return ((bool)(this["ClickThrough"])); + } + set { + this["ClickThrough"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool FirstTimeClickThrough { + get { + return ((bool)(this["FirstTimeClickThrough"])); + } + set { + this["FirstTimeClickThrough"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool FirstTimeClickForwarding { + get { + return ((bool)(this["FirstTimeClickForwarding"])); + } + set { + this["FirstTimeClickForwarding"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool FullscreenAlwaysOnTop { + get { + return ((bool)(this["FullscreenAlwaysOnTop"])); + } + set { + this["FullscreenAlwaysOnTop"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool RestoreSizeAndPosition { + get { + return ((bool)(this["RestoreSizeAndPosition"])); + } + set { + this["RestoreSizeAndPosition"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0, 0")] + public global::System.Drawing.Size RestoreLastSize { + get { + return ((global::System.Drawing.Size)(this["RestoreLastSize"])); + } + set { + this["RestoreLastSize"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0, 0")] + public global::System.Drawing.Point RestoreLastPosition { + get { + return ((global::System.Drawing.Point)(this["RestoreLastPosition"])); + } + set { + this["RestoreLastPosition"] = value; + } + } + } +} diff --git a/OnTopReplica/Properties/Settings.settings b/OnTopReplica/Properties/Settings.settings new file mode 100644 index 0000000..565ed0e --- /dev/null +++ b/OnTopReplica/Properties/Settings.settings @@ -0,0 +1,42 @@ + + + + + + + + + True + + + 255 + + + (Default) + + + True + + + True + + + True + + + True + + + False + + + False + + + 0, 0 + + + 0, 0 + + + \ No newline at end of file diff --git a/OnTopReplica/Properties/app.manifest b/OnTopReplica/Properties/app.manifest new file mode 100644 index 0000000..c29c96a --- /dev/null +++ b/OnTopReplica/Properties/app.manifest @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/ScreenPosition.cs b/OnTopReplica/ScreenPosition.cs new file mode 100644 index 0000000..1859a90 --- /dev/null +++ b/OnTopReplica/ScreenPosition.cs @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Drawing; + +namespace OnTopReplica { + /// + /// Describes a resolution independent position. + /// + enum ScreenPosition { + TopLeft, + TopRight, + BottomLeft, + BottomRight, + Center + } + + /// + /// Extension methods for ScreenPositions. + /// + static class ScreenPositionExtensions { + + /// + /// Sets the form's screen position in independent coordinates. + /// + /// + /// Position is set relative to the form's current screen. + /// + public static void SetScreenPosition(this MainForm form, ScreenPosition position) { + var screen = Screen.FromControl(form); + var wa = screen.WorkingArea; + + Point p = new Point(); + switch (position) { + case ScreenPosition.TopLeft: + p = new Point( + wa.Left - form.ChromeBorderHorizontal, + wa.Top - form.ChromeBorderVertical + ); + break; + + case ScreenPosition.TopRight: + p = new Point( + wa.Right - form.Width + form.ChromeBorderHorizontal, + wa.Top - form.ChromeBorderVertical + ); + break; + + case ScreenPosition.BottomLeft: + p = new Point( + wa.Left - form.ChromeBorderHorizontal, + wa.Bottom - form.Height + form.ChromeBorderVertical + ); + break; + + case ScreenPosition.BottomRight: + p = new Point( + wa.Right - form.Width + form.ChromeBorderHorizontal, + wa.Bottom - form.Height + form.ChromeBorderVertical + ); + break; + + case ScreenPosition.Center: + p = new Point( + wa.X + (wa.Width / 2) - (form.Width / 2) - (form.ChromeBorderHorizontal / 2), + wa.Y + (wa.Height / 2) - (form.Height / 2) - (form.ChromeBorderVertical / 2) + ); + break; + } + + form.Location = p; + } + + } + +} diff --git a/OnTopReplica/SidePanel.cs b/OnTopReplica/SidePanel.cs new file mode 100644 index 0000000..d3928cb --- /dev/null +++ b/OnTopReplica/SidePanel.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + /// + /// Represents a side panel that can be embedded in OnTopReplica. + /// + class SidePanel : UserControl { + + public SidePanel() { + Dock = DockStyle.Fill; + } + + /// + /// Gets the panel's parent form. + /// + protected MainForm ParentForm { get; private set; } + + /// + /// Raised when the side panel requests to be closed. + /// + public event EventHandler RequestClosing; + + protected virtual void OnRequestClosing() { + var evt = RequestClosing; + if (evt != null) + evt(this, EventArgs.Empty); + } + + /// + /// Is called when the side panel is embedded and first shown. + /// + /// Parent form that is embedding the side panel. + public virtual void OnFirstShown(MainForm form) { + ParentForm = form; + } + + /// + /// Is called before removing the side panel. + /// + /// Parent form that is embedding the side panel. + public virtual void OnClosing(MainForm form) { + } + + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs new file mode 100644 index 0000000..248924d --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs @@ -0,0 +1,129 @@ +namespace OnTopReplica.SidePanels { + partial class GroupSwitchPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonEnable = new System.Windows.Forms.Button(); + this.listWindows = new System.Windows.Forms.ListView(); + this.colName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.labelStatus = new System.Windows.Forms.Label(); + this.groupBox1.SuspendLayout(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.labelStatus); + this.groupBox1.Controls.Add(this.buttonCancel); + this.groupBox1.Controls.Add(this.buttonEnable); + this.groupBox1.Controls.Add(this.listWindows); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(228, 296); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = Strings.GroupSwitchModeTitle; + // + // buttonCancel + // + this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonCancel.Location = new System.Drawing.Point(152, 267); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(70, 23); + this.buttonCancel.TabIndex = 2; + this.buttonCancel.Text = Strings.GroupSwitchModeDisableButton; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(this.Cancel_click); + // + // buttonEnable + // + this.buttonEnable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonEnable.Image = global::OnTopReplica.Properties.Resources.xiao_ok; + this.buttonEnable.Location = new System.Drawing.Point(12, 267); + this.buttonEnable.Name = "buttonEnable"; + this.buttonEnable.Size = new System.Drawing.Size(134, 23); + this.buttonEnable.TabIndex = 1; + this.buttonEnable.Text = Strings.GroupSwitchModeEnableButton; + this.buttonEnable.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonEnable.UseVisualStyleBackColor = true; + this.buttonEnable.Click += new System.EventHandler(this.Enable_click); + // + // listWindows + // + this.listWindows.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.listWindows.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.colName}); + this.listWindows.FullRowSelect = true; + this.listWindows.GridLines = true; + this.listWindows.HideSelection = false; + this.listWindows.LabelWrap = false; + this.listWindows.Location = new System.Drawing.Point(6, 19); + this.listWindows.Name = "listWindows"; + this.listWindows.Size = new System.Drawing.Size(216, 225); + this.listWindows.TabIndex = 0; + this.listWindows.UseCompatibleStateImageBehavior = false; + this.listWindows.View = System.Windows.Forms.View.Details; + // + // colName + // + this.colName.Text = Strings.GroupSwitchModeWindows; + this.colName.Width = 220; + // + // labelStatus + // + this.labelStatus.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelStatus.Location = new System.Drawing.Point(3, 247); + this.labelStatus.Name = "labelStatus"; + this.labelStatus.Size = new System.Drawing.Size(219, 17); + this.labelStatus.TabIndex = 3; + this.labelStatus.Text = ""; + this.labelStatus.TextAlign = System.Drawing.ContentAlignment.BottomRight; + // + // GroupSwitchPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox1); + this.MinimumSize = new System.Drawing.Size(220, 220); + this.Name = "GroupSwitchPanel"; + this.Size = new System.Drawing.Size(228, 296); + this.groupBox1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Button buttonEnable; + private System.Windows.Forms.ListView listWindows; + private System.Windows.Forms.ColumnHeader colName; + private System.Windows.Forms.Label labelStatus; + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.cs new file mode 100644 index 0000000..be82b0f --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.cs @@ -0,0 +1,74 @@ +using System; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using System.Collections.Generic; +using OnTopReplica.MessagePumpProcessors; +using OnTopReplica.WindowSeekers; + +namespace OnTopReplica.SidePanels { + partial class GroupSwitchPanel : SidePanel { + + public GroupSwitchPanel() { + InitializeComponent(); + } + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + LoadWindowList(); + + labelStatus.Text = (ParentForm.MessagePumpManager.Get().IsActive) ? + Strings.GroupSwitchModeStatusEnabled : + Strings.GroupSwitchModeStatusDisabled; + } + + private void LoadWindowList() { + var manager = new TaskWindowSeeker(); + manager.Refresh(); + + var imageList = new ImageList(); + imageList.ColorDepth = ColorDepth.Depth32Bit; + foreach (var w in manager.Windows) { + var item = new ListViewItem(w.Title) { + Tag = w + }; + + if (w.Icon != null) { + imageList.Images.Add(w.Icon); + item.ImageIndex = imageList.Images.Count - 1; + } + + listWindows.Items.Add(item); + } + listWindows.SmallImageList = imageList; + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + if (_enableOnClose && listWindows.SelectedItems.Count > 0) { + List ret = new List(); + foreach (ListViewItem i in listWindows.SelectedItems) { + ret.Add((WindowHandle)i.Tag); + } + form.SetThumbnailGroup(ret); + } + else { + form.MessagePumpManager.Get().Disable(); + } + } + + bool _enableOnClose = false; + + private void Enable_click(object sender, EventArgs e) { + _enableOnClose = true; + OnRequestClosing(); + } + + private void Cancel_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.resx b/OnTopReplica/SidePanels/GroupSwitchPanel.resx new file mode 100644 index 0000000..ff31a6d --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/RegionPanel.Designer.cs b/OnTopReplica/SidePanels/RegionPanel.Designer.cs new file mode 100644 index 0000000..1399de1 --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.Designer.cs @@ -0,0 +1,314 @@ +namespace OnTopReplica.SidePanels { + partial class RegionPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.textRegionName = new OnTopReplica.FocusedTextBox(); + this.numH = new System.Windows.Forms.NumericUpDown(); + this.numW = new System.Windows.Forms.NumericUpDown(); + this.numY = new System.Windows.Forms.NumericUpDown(); + this.numX = new System.Windows.Forms.NumericUpDown(); + this.buttonDone = new System.Windows.Forms.Button(); + this.buttonReset = new System.Windows.Forms.Button(); + this.label6 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.buttonDelete = new System.Windows.Forms.Button(); + this.buttonSave = new System.Windows.Forms.Button(); + this.comboRegions = new VistaControls.ComboBox(); + this.groupBox1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).BeginInit(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.textRegionName); + this.groupBox1.Controls.Add(this.numH); + this.groupBox1.Controls.Add(this.numW); + this.groupBox1.Controls.Add(this.numY); + this.groupBox1.Controls.Add(this.numX); + this.groupBox1.Controls.Add(this.buttonDone); + this.groupBox1.Controls.Add(this.buttonReset); + this.groupBox1.Controls.Add(this.label6); + this.groupBox1.Controls.Add(this.label7); + this.groupBox1.Controls.Add(this.label3); + this.groupBox1.Controls.Add(this.label2); + this.groupBox1.Controls.Add(this.label1); + this.groupBox1.Controls.Add(this.buttonDelete); + this.groupBox1.Controls.Add(this.buttonSave); + this.groupBox1.Controls.Add(this.comboRegions); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(184, 170); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = Strings.RegionsTitle; + // + // textRegionName + // + this.textRegionName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textRegionName.BackColor = System.Drawing.SystemColors.ActiveCaption; + this.textRegionName.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; + this.textRegionName.Location = new System.Drawing.Point(6, 44); + this.textRegionName.Name = "textRegionName"; + this.textRegionName.Size = new System.Drawing.Size(174, 20); + this.textRegionName.TabIndex = 11; + this.textRegionName.Visible = false; + this.textRegionName.ConfirmInput += new System.EventHandler(this.Save_confirm); + this.textRegionName.AbortInput += new System.EventHandler(this.Save_lost); + // + // numH + // + this.numH.Enabled = false; + this.numH.Location = new System.Drawing.Point(109, 93); + this.numH.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numH.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numH.Name = "numH"; + this.numH.Size = new System.Drawing.Size(43, 20); + this.numH.TabIndex = 7; + this.numH.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numW + // + this.numW.Enabled = false; + this.numW.Location = new System.Drawing.Point(109, 67); + this.numW.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numW.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numW.Name = "numW"; + this.numW.Size = new System.Drawing.Size(43, 20); + this.numW.TabIndex = 6; + this.numW.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numY + // + this.numY.Enabled = false; + this.numY.Location = new System.Drawing.Point(23, 93); + this.numY.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numY.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numY.Name = "numY"; + this.numY.Size = new System.Drawing.Size(43, 20); + this.numY.TabIndex = 5; + this.numY.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numX + // + this.numX.Enabled = false; + this.numX.Location = new System.Drawing.Point(23, 67); + this.numX.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numX.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numX.Name = "numX"; + this.numX.Size = new System.Drawing.Size(43, 20); + this.numX.TabIndex = 4; + this.numX.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // buttonDone + // + this.buttonDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDone.Image = global::OnTopReplica.Properties.Resources.xiao_ok; + this.buttonDone.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonDone.Location = new System.Drawing.Point(108, 129); + this.buttonDone.Name = "buttonDone"; + this.buttonDone.Size = new System.Drawing.Size(70, 23); + this.buttonDone.TabIndex = 9; + this.buttonDone.Text = global::OnTopReplica.Strings.RegionsDoneButton; + this.buttonDone.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonDone.UseVisualStyleBackColor = true; + this.buttonDone.Click += new System.EventHandler(this.Close_click); + // + // buttonReset + // + this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonReset.Location = new System.Drawing.Point(32, 129); + this.buttonReset.Name = "buttonReset"; + this.buttonReset.Size = new System.Drawing.Size(70, 23); + this.buttonReset.TabIndex = 8; + this.buttonReset.Text = global::OnTopReplica.Strings.RegionsResetButton; + this.buttonReset.UseVisualStyleBackColor = true; + this.buttonReset.Click += new System.EventHandler(this.Reset_click); + // + // label6 + // + this.label6.AutoSize = true; + this.label6.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label6.Location = new System.Drawing.Point(71, 96); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(38, 13); + this.label6.TabIndex = 9; + this.label6.Text = Strings.RegionsHeight; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label7.Location = new System.Drawing.Point(71, 70); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(35, 13); + this.label7.TabIndex = 8; + this.label7.Text = Strings.RegionsWidth; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label3.Location = new System.Drawing.Point(6, 96); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(14, 13); + this.label3.TabIndex = 5; + this.label3.Text = "Y"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.ForeColor = System.Drawing.SystemColors.ControlDark; + this.label2.Location = new System.Drawing.Point(6, 70); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(14, 13); + this.label2.TabIndex = 4; + this.label2.Text = "X"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(6, 47); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(76, 13); + this.label1.TabIndex = 3; + this.label1.Text = Strings.RegionsCurrentRegion; + // + // buttonDelete + // + this.buttonDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDelete.Enabled = false; + this.buttonDelete.Image = global::OnTopReplica.Properties.Resources.xiao_delete; + this.buttonDelete.Location = new System.Drawing.Point(157, 18); + this.buttonDelete.Name = "buttonDelete"; + this.buttonDelete.Size = new System.Drawing.Size(23, 23); + this.buttonDelete.TabIndex = 3; + this.buttonDelete.UseVisualStyleBackColor = true; + this.buttonDelete.Click += new System.EventHandler(this.Delete_click); + // + // buttonSave + // + this.buttonSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonSave.Enabled = false; + this.buttonSave.Image = global::OnTopReplica.Properties.Resources.xiao_add; + this.buttonSave.Location = new System.Drawing.Point(134, 18); + this.buttonSave.Name = "buttonSave"; + this.buttonSave.Size = new System.Drawing.Size(23, 23); + this.buttonSave.TabIndex = 1; + this.buttonSave.UseVisualStyleBackColor = true; + this.buttonSave.Click += new System.EventHandler(this.Save_click); + // + // comboRegions + // + this.comboRegions.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.comboRegions.CueBannerText = global::OnTopReplica.Strings.RegionsStoredRegions; + this.comboRegions.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboRegions.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.comboRegions.FormattingEnabled = true; + this.comboRegions.Location = new System.Drawing.Point(6, 19); + this.comboRegions.Name = "comboRegions"; + this.comboRegions.Size = new System.Drawing.Size(126, 21); + this.comboRegions.TabIndex = 0; + this.comboRegions.SelectedIndexChanged += new System.EventHandler(this.RegionCombo_index_change); + // + // RegionPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox1); + this.MinimumSize = new System.Drawing.Size(184, 170); + this.Name = "RegionPanel"; + this.Size = new System.Drawing.Size(184, 170); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Button buttonDelete; + private System.Windows.Forms.Button buttonSave; + private VistaControls.ComboBox comboRegions; + private System.Windows.Forms.Button buttonDone; + private System.Windows.Forms.Button buttonReset; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.NumericUpDown numH; + private System.Windows.Forms.NumericUpDown numW; + private System.Windows.Forms.NumericUpDown numY; + private System.Windows.Forms.NumericUpDown numX; + private FocusedTextBox textRegionName; + } +} diff --git a/OnTopReplica/SidePanels/RegionPanel.cs b/OnTopReplica/SidePanels/RegionPanel.cs new file mode 100644 index 0000000..f281926 --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.cs @@ -0,0 +1,217 @@ +using System; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica.SidePanels { + partial class RegionPanel : SidePanel { + + public RegionPanel() { + InitializeComponent(); + + //Copy settings into combo box + if (Settings.Default.SavedRegions != null) { + foreach (object o in Settings.Default.SavedRegions) { + comboRegions.Items.Add(o); + } + } + + _regionDrawnHandler = new ThumbnailPanel.RegionDrawnHandler(ThumbnailPanel_RegionDrawn); + } + + ThumbnailPanel.RegionDrawnHandler _regionDrawnHandler; + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + //Init shown region if needed + if (form.SelectedThumbnailRegion.HasValue) + SetRegion(form.SelectedThumbnailRegion.Value); + + form.ThumbnailPanel.DrawMouseRegions = true; + form.ThumbnailPanel.RegionDrawn += _regionDrawnHandler; + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + form.ThumbnailPanel.DrawMouseRegions = false; + form.ThumbnailPanel.RegionDrawn -= _regionDrawnHandler; + } + + void ThumbnailPanel_RegionDrawn(object sender, Rectangle region) { + SetRegion(region); + } + + #region Interface + + /// + /// Sets the current selected region to a specific instance of a stored region. + /// + /// A stored region instance or null to reset. + public void SetRegion(StoredRegion region) { + if (region == null) { + Reset(); + return; + } + + SetRegion(region.Bounds); + + //Select right combobox + if (comboRegions.Items.Contains(region)) { + comboRegions.SelectedItem = region; + } + } + + /// + /// Sets the current selected region to a specific region rectangle. + /// + /// The region boundaries. + public void SetRegion(Rectangle region) { + try { + _ignoreValueChanges = true; + + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = true; + + numX.Value = region.Left; + numY.Value = region.Top; + numW.Value = region.Width; + numH.Value = region.Height; + } + finally { + _ignoreValueChanges = false; + } + + OnRegionSet(region); + } + + /// + /// Resets the selected region and disables the num spinners. + /// + public void Reset() { + try { + _ignoreValueChanges = true; + + numX.Value = numY.Value = numW.Value = numH.Value = 0; + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = false; + + buttonSave.Enabled = false; + + comboRegions.SelectedIndex = -1; + } + finally { + _ignoreValueChanges = false; + } + } + + #endregion + + /// + /// Adds a new stored region. + /// + /// Region bounds. + /// Name of the region. + private void AddRegion(Rectangle rectangle, string regionName) { + var region = new StoredRegion(rectangle, regionName); + + int index = comboRegions.Items.Add(region); + comboRegions.SelectedIndex = index; + + if (Settings.Default.SavedRegions == null) + Settings.Default.SavedRegions = new StoredRegionArray(); + Settings.Default.SavedRegions.Add(region); + } + + /// + /// Internal event raised when a change occurs in the selected region. + /// + /// Region bounds. + protected virtual void OnRegionSet(Rectangle regionBounds) { + //Forward region to thumbnail + ParentForm.SelectedThumbnailRegion = regionBounds; + + buttonSave.Enabled = true; + } + + #region GUI event handlers + + private void Close_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + private void Reset_click(object sender, EventArgs e) { + Reset(); + ParentForm.SelectedThumbnailRegion = null; + } + + private void Delete_click(object sender, EventArgs e) { + if (comboRegions.SelectedIndex < 0) + return; + + var origIndex = comboRegions.SelectedIndex; + Settings.Default.SavedRegions.RemoveAt(origIndex); + comboRegions.Items.RemoveAt(origIndex); + + if (comboRegions.Items.Count > 0) + comboRegions.SelectedIndex = 0; + } + + private void Save_click(object sender, EventArgs e) { + //Display textbox instead of button + buttonSave.Enabled = buttonDelete.Enabled = false; + textRegionName.Visible = true; + textRegionName.Focus(); + } + + private void Save_confirm(object sender, EventArgs e) { + if (!string.IsNullOrEmpty(textRegionName.Text)) { + AddRegion( + new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value), + textRegionName.Text + ); + } + + //Hide textbox and show button again + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Enabled = buttonDelete.Enabled = true; + } + + private void Save_lost(object sender, EventArgs e) { + //Reset textbox + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Enabled = buttonDelete.Enabled = true; + buttonSave.Focus(); + } + + // Used to signal to the value change handler that all events should be temporarily ignored. + bool _ignoreValueChanges = false; + + private void RegionValueSpinner_value_change(object sender, EventArgs e) { + if (_ignoreValueChanges) + return; + + OnRegionSet(new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value)); + } + + private void RegionCombo_index_change(object sender, EventArgs e) { + buttonDelete.Enabled = (comboRegions.SelectedIndex >= 0); + + if (comboRegions.SelectedIndex >= 0) { + //Load region + var region = comboRegions.SelectedItem as StoredRegion; + + if (region == null) + return; + + SetRegion(region.Bounds); + } + } + + #endregion + + } +} diff --git a/OnTopReplica/SidePanels/RegionPanel.resx b/OnTopReplica/SidePanels/RegionPanel.resx new file mode 100644 index 0000000..ff31a6d --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/StartupOptions/CliStatus.cs b/OnTopReplica/StartupOptions/CliStatus.cs new file mode 100644 index 0000000..a445e68 --- /dev/null +++ b/OnTopReplica/StartupOptions/CliStatus.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.StartupOptions { + public enum CliStatus { + /// + /// No errors while parsing. + /// + Ok, + /// + /// User asked for help. + /// + Information, + /// + /// Error while parsing. + /// + Error + } + +} diff --git a/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs b/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs new file mode 100644 index 0000000..9a2ec68 --- /dev/null +++ b/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs @@ -0,0 +1,116 @@ +namespace OnTopReplica.StartupOptions { + partial class CommandLineReportForm { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CommandLineReportForm)); + this.buttonOk = new System.Windows.Forms.Button(); + this.labelInstruction = new System.Windows.Forms.Label(); + this.txtDescription = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.txtCliArgs = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // buttonOk + // + this.buttonOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonOk.DialogResult = System.Windows.Forms.DialogResult.OK; + this.buttonOk.Location = new System.Drawing.Point(440, 200); + this.buttonOk.Name = "buttonOk"; + this.buttonOk.Size = new System.Drawing.Size(75, 23); + this.buttonOk.TabIndex = 0; + this.buttonOk.Text = "OK"; + this.buttonOk.UseVisualStyleBackColor = true; + // + // labelInstruction + // + this.labelInstruction.AutoSize = true; + this.labelInstruction.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelInstruction.ForeColor = System.Drawing.SystemColors.HotTrack; + this.labelInstruction.Location = new System.Drawing.Point(12, 10); + this.labelInstruction.Name = "labelInstruction"; + this.labelInstruction.Size = new System.Drawing.Size(112, 21); + this.labelInstruction.TabIndex = 1; + this.labelInstruction.Text = "Command line"; + // + // txtDescription + // + this.txtDescription.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtDescription.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.txtDescription.Location = new System.Drawing.Point(12, 42); + this.txtDescription.Multiline = true; + this.txtDescription.Name = "txtDescription"; + this.txtDescription.ReadOnly = true; + this.txtDescription.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.txtDescription.Size = new System.Drawing.Size(503, 152); + this.txtDescription.TabIndex = 2; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(13, 205); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(60, 13); + this.label1.TabIndex = 3; + this.label1.Text = "Arguments:"; + // + // txtCliArgs + // + this.txtCliArgs.Location = new System.Drawing.Point(79, 202); + this.txtCliArgs.Name = "txtCliArgs"; + this.txtCliArgs.ReadOnly = true; + this.txtCliArgs.Size = new System.Drawing.Size(355, 20); + this.txtCliArgs.TabIndex = 4; + // + // CommandLineReportForm + // + this.AcceptButton = this.buttonOk; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.ControlLightLight; + this.ClientSize = new System.Drawing.Size(527, 235); + this.Controls.Add(this.txtCliArgs); + this.Controls.Add(this.label1); + this.Controls.Add(this.txtDescription); + this.Controls.Add(this.labelInstruction); + this.Controls.Add(this.buttonOk); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "CommandLineReportForm"; + this.Text = "Command line parameters"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button buttonOk; + private System.Windows.Forms.Label labelInstruction; + private System.Windows.Forms.TextBox txtDescription; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox txtCliArgs; + } +} \ No newline at end of file diff --git a/OnTopReplica/StartupOptions/CommandLineReportForm.cs b/OnTopReplica/StartupOptions/CommandLineReportForm.cs new file mode 100644 index 0000000..90eea63 --- /dev/null +++ b/OnTopReplica/StartupOptions/CommandLineReportForm.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.StartupOptions { + public partial class CommandLineReportForm : Form { + + public CommandLineReportForm(CliStatus status, string message) { + InitializeComponent(); + + switch (status) { + case CliStatus.Information: + labelInstruction.Text = "Command line help"; + break; + + case CliStatus.Error: + labelInstruction.Text = "Command line parsing error"; + break; + } + + txtDescription.Text = message; + + txtCliArgs.Text = Environment.CommandLine; + } + + } +} diff --git a/OnTopReplica/StartupOptions/CommandLineReportForm.resx b/OnTopReplica/StartupOptions/CommandLineReportForm.resx new file mode 100644 index 0000000..b6de04b --- /dev/null +++ b/OnTopReplica/StartupOptions/CommandLineReportForm.resx @@ -0,0 +1,1574 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAYAgIAAAAEAIAAoCAEAZgAAADAwAAABACAAqCUAAI4IAQAgIAAAAQAgAKgQAAA2LgEAGBgAAAEA + IACICQAA3j4BABQUAAABACAAuAYAAGZIAQAQEAAAAQAgAGgEAAAeTwEAKAAAAIAAAAAAAQAAAQAgAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAMAAAAGAAAABwAAAAoAAAANAAAADwAA + ABEAAAAVAAAAGAAAABoAAAAdAAAAHgAAACAAAAAhAAAAIgAAACIAAAAjAAAAIwAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACAAAAAfAAAAHgAAABwAAAAZAAAAFwAAABMAAAAQAAAADgAAAAsAAAAIAAAABwAAAAQAAAACAAAAAgAA + AAMAAAAEAAAABQAAAAkAAAALAAAADgAAABIAAAAWAAAAGQAAAB0AAAAgAAAAJAAAACcAAAAqAAAAKwAA + AC0AAAAvAAAALwAAADAAAAAwAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAuAAAALQAAACsAAAApAAAAJgAAACIAAAAfAAAAHAAA + ABgAAAAUAAAAEAAAAAwAAAAKAAAABwAAAAQAAAADAAAABAAAAAYAAAAIAAAADAAAAA8AAAATAAAAGAAA + AB0AAAAiAAAAJgAAACoAAAAuAAAAMQAAADQAAAA2AAAAOAAAADoAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOgAA + ADkAAAA4AAAANgAAADMAAAAwAAAALAAAACgAAAAlAAAAIAAAABsAAAAWAAAAEQAAAA4AAAAKAAAABwAA + AAQAAAAFAAAACAAAAAsAAAAPAAAAEwAAABkAAAAfAAAAJQAAACoAAAAvAAAANQAAADoAAAA+AAAAQQAA + AEQAAABGAAAASAAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABIAAAARwAAAEUAAABDAAAAQAAAADwAAAA4AAAAMwAA + AC0AAAAoAAAAIgAAABwAAAAWAAAAEgAAAA0AAAAJAAAABQAAAAcAAAALAAAADQAAABIAAAAYAAAAIAAA + ACYAAAAtAAAANAAAADoAAABAAAAARgAAAEsAAABPAAAAUQAAAFQAAABWAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFYAAABVAAAAUwAAAFAAAABOAAAASQAAAEQAAAA+AAAAOAAAADEAAAAqAAAAIwAAAB0AAAAWAAAAEAAA + AAsAAAAGAAAACAAAAA0AAAARAAAAFwAAAB8AAAAmAAAALgAAADcAAAA+AAAARgAAAEwAAABSAAAAVwAA + AFwAAABfAAAAYgAAAGMAAABkAAAAZQAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAYwAAAGMAAABhAAAAXgAAAFoAAABVAAAAUAAA + AEoAAABDAAAAOgAAADIAAAAqAAAAIwAAABwAAAAVAAAADgAAAAgAAAAKAAAAEAAAABUAAAAdAAAAJAAA + AC0AAAA2AAAAQAAAAEkAAABRAAAAWAAAAF4AAABkAAAAaQAAAGwAAABuAAAAcAAAAHEAAAByAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABwAAAAbwAAAG4AAABqAAAAZwAAAGIAAABcAAAAVQAAAE4AAABFAAAAPAAAADIAAAApAAAAIAAA + ABoAAAASAAAACQAAAA0AAAATAAAAGQAAACEAAAArAAAANQAAAD8AAABJAAAAUwAAAFwAAABlAAAAawAA + AHEAAAB2AAAAeQAAAHsAAAB9AAAAfwAAAH8AAAB+AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH0AAAB8AAAAfAAAAHcAAAB0AAAAbQAA + AGcAAABgAAAAWAAAAE8AAABFAAAAOgAAADAAAAAmAAAAHgAAABUAAAALAAAADwAAABYAAAAeAAAAJgAA + ADAAAAA8AAAASAAAAFQAAABeAAAAagAAAHQAAAB8AAAAgwAAAIcAAACLAAAAjAAAAI0AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjQAAAI0AAACLAAAAhwAAAIEAAAB6AAAAcgAAAGoAAABiAAAAWAAAAE0AAABCAAAANwAA + ACwAAAAiAAAAGQAAAA0AAAARAAAAGQAAACEAAAAqAAAANQAAAEIAAABPAAAAXgAAAG0AAAB8AAAAkAAA + AKAAAACkAAAAqAAAAKoAAACrAAAArAAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACsAAAAqwAAAKoAAAChAAAAlAAA + AIgAAAB9AAAAcwAAAGoAAABgAAAAVQAAAEkAAAA9AAAAMQAAACYAAAAdAAAADwAAABQAAAAbAAAAJQAA + AC4AAAA5AAAARwAAAFcAAABpAAAAgwAAALMMDAzWTk5O8FxcXOxZWVjrWVlY61lZWetaWVnrWllZ61pZ + WetbWlrrWlpa61paWutaWlrrW1pa61paW+taW1vrW1tb61tbW+tbW1vrW1tb61tbW+tbW1vqW1tb6ltb + W+pcW1zqXFtb6lxbW+pcW1vqXFtb6lxbW+pcW1vqXFtb6lxcXOpcXFzqXFxc6lxbW+pcW1vqW1tb6ltb + W+pbW1vqW1tb6lpaW+paWlrqWlpa6lpaWupaWlrqWlpa6lpaWupZWVrqWlla6lpZWepaWlrqWlpa6lpb + WutaW1rrWlta61pbWutaWlrrWlpa61taWutaWlrrWlpa61paWutaWlrrWlpa61paWutaWlrrWlpa61pa + WutaWlrrWlpa61paWutaWlnqWlpZ6lpZWepaWVnqWllZ6lpZWepaWVnqWllZ6lpaWepaWlnqWVlZ61pa + WepaWlnrWlpZ6lpaWupaWlrqWlpa6ltaWupbWlvqWlpa6lpaWupaWlrqWlpa6ltaWupaWlrqWlpa6lpa + WepaWlnqWlpZ6lpaWepbW1vrVFRU7RcXFuEAAADEAAAAngAAAIMAAAB4AAAAcgAAAGYAAABbAAAATwAA + AEMAAAA2AAAAKwAAACEAAAAQAAAAFgAAAB8AAAAoAAAAMgAAAEAAAABRAAAAZQAAAIEAAADLWVlY8ZmY + lc/HwburzsfBp8rGvafKxL2oycO7psbAuaXFvrilxL62pMO+taPBurKjvbiwo7+4r6G9tq6iu7Wtoby0 + rKG6s6yhubOrobeyqqG3s6qgt7KpoLeyqZ62saietK+mnrKupJ6zrqWes66lnrOupZ6zrqWes66lnrOt + pZ6zrKWesquknbKrpJ2yq6Sds6ylnrKspZ60raWdtK6lnbavp524saieurGpn7qzq5+7ta2fvLevnr63 + sZ/AubGfwbqxn8K6sp/FvbSew7yzoMS+tZ/EvrSfxL+1oMS/taHEv7WhxL+1ocW/tqLFv7aixsC4ocfA + uaHHwLmhx8C5ocfAuaHHwLmhyMG5ocjBuaHIwbmhyMG5ocjBuaHIwrqiycK6osnCuaDJwrmhycO7ocnD + u6HJw7uhycO7ocnDu6HJw7uhycK6ocnCuqHKw7uhycK7ocjCuqHHw7mgxsG4oMa+tqDEvbagxLy0nsO7 + sp7BurGew7yznsK7s5/EvLSfxb21nsW+tZ/Gv7igxsC5oMjDuqLJwrqiycO7os3GvqPIw7uloZ6cxWZl + ZO0JCQjdAAAAogAAAIQAAAB7AAAAbQAAAGAAAABUAAAASAAAADsAAAAvAAAAIwAAABIAAAAYAAAAIQAA + ACoAAAA1AAAARAAAAFgAAAB7BQUExHBvbu/Lx8Ktpp2Qd3xxY2RxZVhjcmdZY3JnW2JzZlhhcGZXYW1h + VmBqYFFeZ1xMXmRZSl1hV0hdYVZFXGBURFtdUEFaW01AWlhNP1lXTT1ZVUs7WFJKOlhSSTlYU0g5V1FH + N1dORTRWS0IxVkxBMVZMQTFWTEExVkxBMVZMQTFWTD8xVkw/MVZLPTBWSjwvVUo9MFZMPzFWTEAxVU5B + MVVRQzNVUkU0VVVIOVZZSztWWk09VltPQVdfU0VXYlVIV2NXSFdmWUlXaFpKV2pdTlhqX05YaWBPWGlf + TlhqYE9YamBPWWpgT1lrYVFZbGFSWmxhUlpuYVVabmFVWm9iVlpvYlZab2JWWnBjVlpyZVZacmVWWnJl + VlpyZVZacmVWWnNmV1xzZ1hcdGdYXHRnWF11altddWpbXXVqW111altddWpbXXVqW110aVtddmlaXXZq + Wlx1aVtddGdZXG9lV1twZFRabGBSWmpeUVlqXU1XZ1xMV2lcS1dpXUxXZltMWGleTlhrX09YbWFRWm1i + VFpvZFdbcmVYXHBkVltwZFdccGNVXHNpWluflIdszcfCn4WEg+kODg3XAAAAnQAAAIMAAABzAAAAZgAA + AFkAAABLAAAAPQAAADIAAAAmAAAAFAAAABoAAAAjAAAALQAAADkAAABJAAAAYQAAAI8cGxrmz83JwI2E + eG2Bd2ptioB1dJGIfHeUiYF5l46EepmQh3yakYh8mZKIe5aPhXuUjIJ6k4uAepGJf3mPiH14kId7d46E + e3aLgnh2ioN5doqDeHWKgnd0h4B1dISAdXSFgHV0hn90c4N8cXODe3FygnpvcoJ6b3KCem9ygnpvcoJ5 + b3KCd29ygndvcoJ3b3J/d21ygHducoJ3b3KDem9xhXxwcYZ8cXGGfXJyiYB1couCd3KMhHhyjYZ7c4+G + fXOSiX9zk4p/c5WMgHOWjYF0lo2CdJaPhHSWj4N0lo+EdJeQhXWXkIV1l5GFdpiRhnaYkYd2mZGIdpqR + iHaakIh2mpCIdpqQiHaakIh2m5GIdpySiHackoh2nJKIdpySiHackoh2nZOJd52UiXedlYl4nZWJeJ2W + i3idlot4nZaLeJ2Wi3idlot4nZaLeJ+YjXiflot4npaLeJ2Ui3iblIl3mpKIdpmQh3aYj4d2mJCEdJWN + gnSTjIJ0l4+EdJWNg3WVjoN1mJCEdZmRhXaakId2mpOId5qRiHaZj4Z1lIyCdJKJfnKLg3hvh3xwbH91 + Z2eCeGxi1NDLrjY1NOoAAAC0AAAAjAAAAHgAAABpAAAAXQAAAE4AAABAAAAANQAAACgAAAAUAAAAGQAA + ACMAAAAuAAAAOgAAAE0AAABkAAAAt4OCgeKupp+JiX9zcpGJf3iZk4d8o5yTg6qknYmwqqOMtK2nkLaw + qpK4sauTt7GqkrWvqZK0r6iRs62nkbOspY+xrKSPsaqkjq+po46vqqKOrqmija6poYyuqaGMrKigjKuo + oIyrqKCMq6Wdi6qlnYqqpZ2KqaOciqmjnIqpopyKqaKciqminIqpopyKqaKciqmjnIupo5yLqaKciqqk + nYqtpp6Kraaeiq6noIqvqaGKr6uii7GspIuzrKaLs66ni7Wvp4u3sKmLuLGqi7ewqYy3sKmMt7KrjLey + qoy3sqqMt7Krjbeyq423squNt7KrjbiyrI24sqyNuLKsjbmzrY65s62OubOtjrmzrY66tK2OurStjrq0 + rY66tK2OurStjru0rY67ta2PurWtj7q1rY+6ta6PurWuj7q1ro+6ta6PurWuj7q1ro+8t6+PvLWuj7y2 + ro+7ta6PubStj7m0rY65s6yOuLKsjbiyqoy4squMtbCpjLewqYu1samMtrCpjLeyq4y4sauNubOtjrq0 + rY64sauOtrGqjLOtpYmuqKCFpqCXgJ2Ui3mUjIF0joR5cIF3bGmknZR4lpST1wcHB8wAAACRAAAAfgAA + AGwAAABfAAAAUAAAAEIAAAA2AAAAKgAAABYAAAAcAAAAJQAAAC8AAAA8AAAAUAAAAGkAAADJ0tHP2pWM + g3eWjIJ6nZWNgKijm4m+saqOzLy2l9PFv6HZy8Wm3M/Kq97RzK3dz8ut3c/KrNzPyqvczsmr287JqtvN + yarazcep2s7IqdnMyKnZzMep2MzGqNjMxqjYzMan18vGp9XKxafVysWn1srFp9XKxabVysWm1MnEptTI + xKbUyMSm1MjEptPIxKbTyMSm08nEp9PJxKfUycWn1srFptbKxabWysam18vHptfMyKbXzcmn2M7Jp9nO + yqfZzsqn2c/Kp9vRy6fb0Mun2tDLp9rQzKfa0cyn2tHMqNrQzKjZ0M2o2dDNqNnQzKjZ0Myo2tDNqNrQ + zajZ0M6o2tDOqdrQzqna0M6p2tDPqdrRz6nZ0c+p2dHPqdnRz6nZ0c+p2NDOqdnRzqrZ0c6q2NHOqtjR + zqrY0c6q19HOqtfRzarX0c2q1tLOqtXRzarW0c2q1dHMqtTQzKnU0cyq1NDLqdTPzKnTz8uo08/KqNLO + yqjTz8qn0s7Jp9LOyqjTz8qn0s7KqNPQy6jU0cyp1NDNqtPPzajPzMqky8fFnsO/vpa5s7GLrqehhqOa + kXyXjoR2jIR5cYqBdWvf29jHExIS2gAAAJUAAACAAAAAbgAAAGAAAABSAAAARAAAADgAAAArAAAAFgAA + ABsAAAAlAAAAMAAAAD0AAABUAAAAbAAAAMjT0c/fnZOJe52Vi3+qo5yJvbStk6TJyrqi1NbKq9rc0LDf + 4dey4eTasuLl3LHh49yx4OTcseDj27Lg49uw4eLcseDi27Hg49uy4OLbsuDi2rLg4dqy4OHas+Di2rTh + 4dq04OHateDg2rXg4dq24OHatuDg2bbg4Nm24eDZtt/f2bfg39m44N/ZueDf2brg39q54N7auuDe2rrh + 39m74d/ZvOHf2b3h4Nm+4uHZveLh2sDj4trB5OLawuXj2sPl5NrF5eTaxubk2sbl49rG5eTaxuXi2sbl + 4trG5eHax+Xh2sjm4trJ5eLayuXi2srm4trM5uHazObh2s3n4NrO59/azuff2s7o39rQ6d/a0erf2tHr + 39rT697a0+ze2tXt3trX7d/b1+7g29nu4dvb7uLb3e7i293u4tve7uPb4e7j2+Xu5dvp7ufb7O7n2+7v + 6tvw7urb7+7s2+/u7Nvv7uza7u3s2u7t7Nrv7eza7u3s2u/t7Nru7eza7+7t2u3u7tru7e7a7+7w2u/t + 7tvw7uvb7u3l2uzr3Nbp59TR5ePKy93bv8LCvbWYsKuhh6GakXyVjIF1jYV6bt7d2swTExLaAAAAmAAA + AIEAAABvAAAAYQAAAFMAAABFAAAAOQAAACwAAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAydTS + 0d+hmZCAp5+XhbeyqpLTxL+fW9vm9jjg7f8/3ur/P97r/z/c6f8+2+f/Pdvn/z7b6P8+2+j/Qdzm/0Hc + 5v9B3Ob/Qtvm/0Pc5v9E3OX/Rtzk/0je5f9L3uX/TN/k/03f5P9Q3+T/Ud7k/1Hf4v9T3+P/VeDi/1bg + 4f9Y4OH/WuHh/1zh4P9e4eH/X+Hf/17h3/9g4d7/YuLe/2Pi3v9l4t7/Z+Te/2nj3v9q497/bebe/3Hm + 4P9y59//defh/3nn4v976OL/fOnj/37p4/+B6eP/guni/4Lq4f+G6+H/iezg/4rs3v+M7N//j+3e/5Pv + 3v+V8d//mPPe/5r13f+c9t3/nvjd/6L73P+k/Nv/qf3b/67+2/+w/9v/s//a/7X/2/+3/9v/vP/d/8T/ + 4P/N/+T/1v/n/9//7v/o//T/8P/3//f/+v/8//v////+//////////////////////////////////// + ///////////////////////////9////9v////D////n////2////87////C////t////67///+q/9PQ + xKy9ubOSraWdhJqTiXmRiX1w4N3azBMSEtoAAACYAAAAggAAAHAAAABiAAAAVAAAAEYAAAA6AAAALAAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADJ1NPR36WfloOspZ6KwLu0mt3Qy6xm2+LyQdvk/0bb + 4/9F2uP/Rtni/0fa4f9H2uH/SNvi/0nb4v9K2+D/S9vh/0vb3/9M29//Tdvf/03b3v9P3N3/Utze/1Pd + 3f9U3d3/Vt7d/1fe3P9X3dz/WN7b/1zf2v9e4Nn/YN/Z/2Dg2v9f39n/YN/X/2Hf1v9g4Nb/YuDW/2Th + 1f9m4dX/Z+LU/2rh0/9s4tP/beLT/27j0v9w5ND/ceXQ/3Ll0f9059D/debS/3jo1P976tX/f+zX/4Ts + 2f+F7tv/ifDc/43w3f+R8t7/kvXf/5P23/+W997/mvne/5z83v+f/d7/o/3g/6f+4f+r/+L/rf/j/6// + 4v+z/+P/uP/j/7z/5P/C/+b/yf7m/9L+6f/b/uv/5v7w/+/+9P/3/vn//P/9//////////////////// + ///////////////+///7/v//+P78//r+/v///v/////7///+8f/8/uf/+v7d//j+1P/2/sv/8/6//+/+ + tP/s/6z/7P+m/+z+o//s/6H/6f+j/+r/n//n/53/2tnOuMfCvpyzr6aKoJmPfJSMgnLg3dvNExIS2gAA + AJgAAACDAAAAcQAAAGMAAABUAAAARgAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbgAA + AMnU09Hfp6CYhbGro47FwLuf5djUtWLa3/Q62N7/Qdjd/0HY3f9B2dz/Q9na/0PZ2/9E2dv/Rdna/0Xa + 2f9H2tj/R9nY/0ja2P9I2tj/SNrY/0ra1v9L29X/TNvV/03c1f9Q3NX/UtzV/1Td1P9U3dP/Vd7S/1bd + 0f9W3dD/V97P/1fezv9Y3s3/Wd7M/1nezP9c3sv/Xd/K/1/fyv9h4Mn/Y+DJ/2Liyf9j48j/ZuTI/2jm + x/9p5sj/a+bI/2zox/9u6cf/cOrI/3HsyP9178f/d/DI/3nyyf999cv/gvjO/4f60f+L/df/k//a/5n/ + 3v+d/+L/o//k/6j/5P+t/uT/tP/k/7r+5f/B/uj/yv3t/9T+8v/d/vb/6f74//P++v/5//z/+//9//3/ + /v///////////////////////////////v////v////6////+f////b/+/3y/+v87v/g/ez/3v3p/9f8 + 4//i/d//6f3Q/+P+u//f/63/2P+k/9L/nf/N/5j/zv2V/8/9kv/Q/Y//0PyN/9P8jP/V+pD/wPac/6T3 + pv/Z3tbBzsnFo7mzrI+lnpR+mI+GdOHd3M0TEhLaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAyAAAAPgAAAFQAAABuAAAAydTT0eCqpJqGs66okcnFwKXq3Nm7bN/l9UXd + 5f9M3eX/Td3l/0zd4v9L297/SNvc/0Xa2f9F2dj/RNrV/0PZ0v9E2dL/RdnR/0TY0P9F2ND/RtnP/0na + zv9M3M//TtzP/1Hbzv9Q3Mz/TtvK/07Zyf9P2sn/UNrH/1Dbxv9S28X/VNvF/1XcxP9V3MT/Vt3E/1je + xP9Y3sP/Wd/C/1vhwv9c4sL/X+LB/2Dlwf9j5sD/ZebB/2Xowv9n6sH/aevC/2ruwf9s8cH/bvPC/3D2 + w/9y+cT/dvzE/3n+xv99/8j/gf/I/4f+zP+Q/s//mv7W/6v+3/+8/ur/yv3y/9b+9v/e/vn/5v77/+r+ + /P/t/v7/7P7///H////4///////////////////////////////////////+//3/+f/5//T/9P7n/+z/ + 2f/l/s7/3v/F/9D+wf+5+8L/ofrD/5n8xf+X+8b/l/rF/577yf+j+83/pvvH/7D9uv+8/af/yPyb/8v7 + lv/K+ZL/yfiP/8v2jP/S94//2viS/+T6kv/c+ZX/rfKe/93i2sfSzcqovbexkqihmICakYh14N3bzhMS + EtoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAdAAAAJwAAADIAAAA+AAAAVAAA + AG4AAADJ1NPR4KulnIa2sauSzMfEqO/h3sFc19n2MdLU/zjS1P850tT/OtPT/znS0f850dH/OdLP/znR + zf860sz/O9LM/zrSyv870cr/PNHJ/z3Syf8+0cf/PtHG/0LRxv9D0cX/QdDD/0HSwf9B0sH/RNLA/0XR + wP9G0sD/RtO//0bUvv9J1L3/Sta+/0zVvf9O1rz/Tti7/07Xu/9P2bz/Udu7/1Ldu/9V3br/VuG7/1jj + u/9Z5rv/Wum8/1ztvP9e8b7/YvW+/2X5v/9p/MH/b/3G/3X+yf98/s3/h/7U/5X93f+g/eT/p/3p/639 + 6f+z/ev/t/7s/7j+7v+z/e3/s/7r/7b+7v+9/vT/y/73/9z+/P/w////+//8//r/+//2/vf/7/7x/+b+ + 6f/e/uL/2P7f/9L/3f/P/tb/y/7N/8n/x/+//sD/r/26/6n9tv+j+7H/gfmx/2z4sv9o97P/aPi2/2j4 + tv9v+Lj/ffq//376wP97+8P/hfvL/4j6yP+k+r7/w/iy/9j5qP/d+Z7/2/eV/9r1j//U9IT/z/B5/83t + cP++5G7/4uTazdTQzqzAu7SVqqOagpyTinbh3tzPExIS2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAAB0AAAAnAAAAMgAAAD4AAABUAAAAbgAAAMnU09HgrqafiLizrJPNycap8OLfwlPU + 2fYlzNT/Lc3T/y3O0/8tzdH/LczQ/yzN0P8uztD/Ls7P/y/Nz/8wzM7/MM7M/zHMyv8wzMr/MM3I/zPM + x/8zzcf/Nc3H/zfOxv84zsX/Oc/F/zvPxf860MP/O9DD/zvQw/880MH/PNLA/z/Tv/9A1MD/Q9XA/0bW + v/9G2MD/R9nA/0fbwf9J38H/S+LB/03mv/9N6sH/Uu3D/1jxxf9f9Mn/Z/fM/2z50P90+tb/gPzc/4v+ + 4/+R/ej/kv3s/5T98P+Y/fL/mv3x/5f+7/+S/+r/jf/i/47/3v+P/97/lf/f/6L+5P+x/un/wP7t/8z+ + 8f/U/u7/1v7o/9H+3v/I/tP/vv/N/7b/x/+x/8T/rv+//67/uf+h/7b/i/+0/4T+sv+B/rH/g/2u/3/8 + r/9w+bD/Zfex/2Hyr/9c8K7/WfGx/2bzuP9t9bv/bve7/3j6vv9++8H/fvq+/4H7wf+S+8j/kvvM/5j7 + 1f+b/dT/qP3E/7T4o/+864X/u990/7bZbf+z1mr/sNFl/6/LX//j5NnO19PQrsG8tZasppyDnpWNd+Lf + 3M4TEhLaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAyAAAAPgAA + AFQAAABuAAAAydTT0uGtp6CKubSulc7Lxqrw4t/DVtbd9ijQ1/8v0Nf/L9DW/y/Q1v8x0dX/MdLU/zLR + 1P8y0NT/MtDT/zLR0P8z0tD/NNHP/zXSz/83087/OdTO/zrUz/881c7/PNXN/z3Wzf881sz/P9fL/z/W + yv9A2Mv/QdnL/0Payf9F3cr/R97K/0jhyv9I5Mv/SOfK/0nry/9N7s7/UvDP/1n10v9h+tf/afzb/3H9 + 4/97/ej/hP/u/4v/8/+N//b/jf/3/47/+P+Q//j/jv73/4j/8f+F/uz/gf/l/3//4f+B/tv/hP/Z/4z/ + 3v+X/+T/pv/t/7f+8//F/fb/0P3z/8/+6v/I/t7/vv/V/7P/yv+m/77/mv+0/5T/rv+S/6j/kP6k/5H8 + oP+S+p7/lfed/5b0nP+U8pz/kPGc/43vnv+G7Z//gOyf/37qof9566T/de2o/3jxsf+A9bn/jvXC/5n3 + yf+c+cz/qfrQ/6H7zP+S/Mf/lPrK/4/6yf+J+sT/lPrB/5b5vP+X+Lr/mfe3/5vyp/+k5pD/rtV6/7LL + b/+xym//rshr/+Tk2s7X1NCuwby2lq6mnoWgl4944+HdzxMTEtoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1dPS4bCpoYq5s66VzsvHqvHk + 4MNW1dn3J87T/y/P1P8vztP/L8/S/zHP0v8x0ND/MdDQ/zLQ0P800dD/NdLP/zbUzv821M7/N9TO/znU + zv861c7/OtXN/zvWzP871sz/PNfN/z3Xzf9A2sz/QdzL/0Lezf9D38z/ReLL/0bmy/9I6M3/TuvS/1Tw + 1v9c9Nr/ZPfh/2r56P9z++3/e/vy/3z98/97/fX/fP30/3v98/96/fH/eP3t/3f96P90/eT/dP3e/3L+ + 2v9x/9b/c//R/3j+0P98/tH/gv/Z/4/+4f+d/uj/qP7r/7P96v+1/eT/sP7a/6j+z/+g/8b/l/+8/47/ + sv+K/6r/if2n/4j7pP+I96D/h/Sb/4jvl/+H7ZX/h+mR/4fnjv+F44z/huCJ/4jehf+J24P/kNuD/5je + h/+g5Iv/qOqO/6/wkv+39Zn/tveb/67zmP+q7Jv/seql/7brsv+x7bL/rfC2/6/0vv+w98L/qfe7/6P1 + sf+i9Kv/mvWi/5z0n/+e86L/m/Wn/5r0pv+c65X/nth+/6DEav+lu2P/4+Paz9jU0a/DvreYrqighaKa + kHnj4N3PExIS2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjU09LhsKqii7u1r5bOy8ir8ePhxFXU1vcnzdD/L87R/y/P0f8w0ND/M9DR/zPS + z/8z0tD/NNPQ/zPTzv810s3/NNPN/zbUzf821M3/ONbN/zrVzf87183/O9jM/zzZzP89283/P97M/0Lg + z/9G49D/TOfT/1Pr2P9a7t7/XvLk/2L16v9q+O//bvrx/2778f9r/PD/aPzt/2f96f9n/OT/Zvzg/2X9 + 3f9k/dj/ZP3V/2T90v9l/s7/af7K/2v+yP9s/sf/b/7I/3T+zP98/tH/h/7Y/5H+3v+a/+L/nf7d/5n/ + 0v+T/sX/iv66/4X9s/+D/K//gfqp/3/3pP9/86L/fvCe/4Dsmv+B6Zb/gOaS/4DikP+A343/gNyM/4Da + iv+A2Ij/gtiF/4bZhf+O3of/l+SK/57qjP+k747/qfKQ/6fxjP+i7ob/n+iD/53jgP+a3Hv/mth3/5nV + df+a0XL/mdBz/5rPcv+gznb/rNR+/7bdhP+85Yj/wO2M/77wkf+w8ZH/pu+Q/57ujv+c7o7/ou6Y/6Tx + m/+n8Jf/ouaI/5rOcP/i5NrO19TRr8S/uZmwqaKHopuSe+Ti3c8TEhLaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNTS0uKzrKOLu7awl9DM + yKvx4+DEVtXW9ynP0f8w0NL/MdHS/zHT0P8z0tD/M9LO/zPSzf8z0s7/MtTN/zTTzv811c//N9fP/znY + zv872s7/PNvR/z7d0/9C4dX/SeXZ/1Dp3f9V7uP/V/Hn/1316/9h9+//Yfru/1/66/9c+ej/Wvrj/1n5 + 3f9Y+dj/VvjV/1f50f9X+M7/WvjL/1v3yf9c9sb/XfXD/171wv9g9sH/Y/nB/2b8wf9r/sT/cP/H/3r/ + zv+C/9f/if7Y/4z+1f+L/Mz/gvu9/3z5sv9396z/dPWm/3Pxov9z7Z7/deqc/3jom/975Zj/fOGW/3re + k/9424//eteN/3jWif971ob/fNWG/37WhP+D2IT/i96J/5Pki/+Z6oz/n+6O/6Lvjf+e7Ir/l+aG/5Xg + gP+R23z/j9Z4/5DRd/+Qz3X/kMxz/5DKcf+Rx23/kcZq/5HDaP+TwWX/l8Bh/5m/Wv+bvlP/m71Q/52+ + U/+kwl3/q81q/7XZdP+6437/teh+/6voef+n6Xv/pumD/6zskv+y75v/r++a/+Tn38/X1NGwxL65mbCq + o4ilnpN85OLe0BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI1dPS4rOtpIy9ubGX0M3IrPHj4cVZ19j3KtHQ/zHSz/8v0s7/MNLN/zHT + zv8x083/NNTO/zbVz/8419H/O9rT/z7f1/9D5Nv/SOjg/03s5f9R7uj/UvLr/1T17f9W9+3/Vvbr/1H1 + 5/9Q9OH/TPPZ/0zx1f9L79D/S+7M/07syP9P7Mb/UerD/1Lqwv9T6cH/U+m//1Xovv9V57v/V+m6/1nr + uf9d77r/YvW//2j5xP9v/cr/d/7Q/33+0v+B/c7/gfrK/3v2v/9086//be6l/2rpoP9q5J3/a+Gb/2vf + mP9t3ZT/bduS/27Zkf9x15D/c9WP/3TTjf9304r/eNGI/3nSh/981Yb/gtiG/4veiP+S5Yv/lOqK/5fs + i/+Y7In/lOmG/47ggv+J13z/htJ4/4jOdf+IzHT/iclx/4rGb/+Kxm3/i8Nr/4vCav+NwGn/jL1o/427 + Zv+QumP/krpe/5e5Vv+cuVD/mrlO/5e6Tv+WuVL/k7ZV/5G1VP+Ss1P/lbRU/6C8XP+tyGT/t9Rp/7rc + a/+1327/suB5/7Lkjv+565//5efgz9jU0bDEv7qasquliKefln3j4d7QExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjV09LitK2mjL23 + spjRzcmt8uTixVbX1fcp0c3/M9PP/zTV0f8219P/OtrW/z3e2v9D4t7/R+bj/0rr6P9N7+z/UPPu/1H0 + 7v9Q9e3/TvHp/0vv4/9H7N3/Q+nV/0Hlz/9C5Mv/Q+HH/0bhxf9H38P/Sd7C/0ndwP9L3L//TNy+/03d + uv9O3bf/UNy3/1Hdtv9S37X/VeS2/1rruv9h8sH/Z/jH/2/7y/91/dD/dvvN/3f2xv9z8r3/be2w/2jo + pf9k4p//ZN2c/2Xamf9l2Jf/aNeU/2nVk/9p05D/adKN/2fQif9pzYb/acuF/23Nh/930Yj/fNWL/4Pa + jP+K4Y7/j+aN/5Dojf+S6Yv/keeI/4zhgv+G233/gdN6/3/Mdv+ByHP/gsZx/4PEb/+ExG7/hMJr/4PA + av+EvWj/hLxl/4a6Zf+Gt2P/h7di/4e1Yf+LtF//j7Ra/5W1Vf+Yt07/mLdI/5a3Sv+RtlD/j7ZT/5C2 + Vv+Ttlj/lbZY/5u2Wf+duFv/m7dZ/56zVv+jtVj/q7xa/7PFWf+4y1z/ts1i/7rUd//l5t7P2dXSscXA + vJuyraWJqKCWfeTi3tATEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNXU0uK0raiOvreymdLOyq7x5OLGX9/d9zff3f9B5OH/Q+fk/0Lq + 5v9E6+j/RO3p/0Xu6f9G7OX/ROjg/0Pm2/9B4tb/P+HR/z/fzv8+38z/QN3J/0Daxv9A2cT/QdjB/0TW + v/9F1Lz/RdS7/0fTu/9J1Lr/SdS2/0vVtf9L1bT/TNex/07asf9U4Lb/Wui9/2DxxP9m98v/bPnO/3D4 + zv9u9MX/bO68/2jns/9i4af/YNye/13Ymf9f05b/YNOX/2LRlv9k0ZP/Y9CP/2XPjf9kzIr/ZMmI/2PH + hf9myYT/a86G/3XUh/972ov/g+KO/4zokf+M6JD/jOeP/43ki/+I3oT/gtZ+/33PeP95yXP/esZw/3vE + b/98wm3/fcFs/3++af9/vWf/f7tl/3+5ZP+At2P/gLdh/4G1YP+Ds17/g7Jd/4SwXf+Hslv/jLJX/5Oy + T/+Vtkn/lrdH/5G4Sf+Nt07/irZT/4u2WP+SuFr/lrpc/5q8Xv+evF//oL1d/6G9Xf+jvlz/p7xa/6e7 + WP+muVX/qrlU/6y3Uv+ttUz/tbVI/+bk2dDa1tSyx8G9nLStp4unoJh/5OLf0RMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tTT47Sw + qI++ubSZ0c3KrvDi4MZj6eb3N+jk/z7o4P895d3/O+HY/zrd0/852c7/ONfL/znWyP871sj/PdfJ/z/Y + yv8+2Mr/QdnJ/0DXxf8/0r7/QdC7/0DQuv9B0bn/RNG4/0TQtv9E0bT/RtC0/0fRs/9J0rD/TNaw/1Dd + tv9Y5r//X+/H/2X0zP9p9c7/afHH/2Xrvv9h47P/Xtur/1zWov9b0p3/WtCZ/1zOlf9ezJT/YMyT/1/K + kf9hy5D/YcmN/1/Hif9fx4b/ZMiF/2nMh/9v1In/dNuL/33ijf+C55H/gOaO/4Hjif+C3oj/gdqG/3/V + gv9/0H//f8t6/3zIdf97xXL/esFu/3i/av95vmj/erxm/3q7ZP96uGP/fLdh/3y2X/9+tF7/frNd/3+y + Xf+BsFv/gbBa/4OwWv+GsFn/i7JU/5G0Tv+Vtkf/k7lF/4+8SP+JvFL/ibxZ/429YP+SwWT/mMRl/57F + Zv+ix2b/o8Zl/6LDYf+iwV3/o75a/6O9WP+kulb/pLhT/6S2UP+mtE7/qLRL/6mySv+ssUX/5eTa0NnX + 1LLGwr2dtq6ojKmimYDk4uDRExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjW1NPjtbCqj7+6tJrRzcqv8eTjx13c1Pcw1Mv/ONLK/zfR + x/840cf/N9HG/zjRxP850MX/OtLF/z3SxP88z8H/PM28/zzKuf89yrr/QM27/0HPvP9Bz7v/Qc65/0HO + tv9CzbP/Rc2w/0bPsP9J1LL/T926/1fmxP9d7cj/YvDM/2Lvyv9g6L//Xd+1/1rarP9X1ab/WNCi/1fN + nP9Xy5j/V8uX/1rJlf9cyJP/XceR/1/Gjv9exYz/YMSL/2LGiP9nzIr/bdON/3Tbjv954pH/feaS/3zm + jv944Iv/d9qG/3TTgP9xz3z/dM16/3bJef94yHr/fMd5/4HHd/+AxHT/fMJv/3q+a/94u2f/eLlj/3m3 + Yf96tWD/e7Rg/3y0Xv97s1z/fbJb/3+xWv+CsVn/g7FY/4OxV/+GsFf/i7NT/5C2Tv+Uu0n/k79K/43E + U/+Kxl7/i8Vn/5DGbP+Tx27/lshv/5jJbf+Zx2n/m8Rm/5vAZP+cv2D/nL9c/5+/WP+jv1b/psBW/6fD + U/+rw1L/rsJP/66/Tf+wvUn/r7tG/7C3Q//m5NnQ2tbVs8jEvp63saiMq6OagOTi4NETEhHaAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNbU + 0+O2sauQv7u0m9LOyq/y5uPHXdPM9y/Lw/81zcP/NszC/zbMwP80yr3/Nsi6/znEuP84xLb/Ose3/zzL + uv8/z7z/QM6+/0HQvv9Czrz/Qcu2/0HIsf9EyrD/RtCz/0nVuP9Q38D/VOjI/1rrzP9d68r/W+bD/1ff + t/9U163/VNKn/1TOpP9VyqD/VMme/1bInP9YyJn/VsaX/1fHk/9XxpH/WMaP/13Fjf9fx4z/Y8yN/2nT + kf9w25P/deGS/3rllf9545L/dN+L/3HYh/9w0oP/bs9//2/Le/9vyHf/bcZ0/3DDcv90w3L/dsNz/3rE + dP9/xXP/g8N0/4HCcP99vmr/e7tn/3q3Y/95tV//erVe/3u0Xf99tF3/f7Vb/3+1Wf+BtVj/g7ZZ/4e2 + WP+Lt1j/j7lW/5S9T/+Wwkz/lMhQ/4/NWv+Mz2r/itB1/4zNeP+Qy3X/k8p0/5XKcv+Xym//l8xp/5rM + Z/+ezmT/oM1i/6DKXv+hyFv/o8VX/6TBUv+kvU7/o7dL/6KxSf+iq0P/naQ+/5yeOv+cmTf/nJY2/+Th + 2dHc2dWzycS+nrexqo2rpZyB5OLg0hMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tTT47axq5HBvLWc0s/Lr/Lm5Mdbzsb3LcO4/zXD + uf84wrj/NsK2/zbEtv84xbn/Oca3/zjHt/88yLj/Pci3/z3Fs/8/w7D/QMax/0HMt/9H1b7/TNzD/1Dk + yf9U6c7/VujN/1blx/9T3r7/T9ax/07OqP9PyqP/UMqi/1HIof9Tx5//U8ed/1PFmf9TxJf/VsOV/1jD + k/9bxZT/X8iU/2LNk/9o1ZX/bNyV/3Hglv9z5Jf/dOSU/3LekP9v1or/btCH/23Og/9tzH7/bsp7/2/H + ef9ux3b/b8V0/2/Ecf9vwW//cMBt/3XAbv93wW//fcNx/4TDb/+Gw2//hMFr/4G+Z/9/vWT/fbpg/326 + Xf9+vF7/grtc/4a8XP+Jv1z/i8Fc/4/CWv+SxFr/l8VY/5nJVv+ZzlP/ldNW/4/VZf+J13T/idd//4vW + gf+P1n7/k9V7/5LSdf+TzXD/kshq/5HCZv+PvmD/j7la/4+0Vf+Nq0//i6JK/4qcRv+KmEH/i5Q9/4uS + O/+MkTj/jpA3/5OPNf+UjzT/lZAz/5ePMv+YjjD/5OLZ0dzZ1bTJxL6euLOrjqylnYLk4uDTExIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjW1NPjtrGrksC8tp3T0Muw8+flx1vJwfcwv7T/N8K2/zXDtv82wrX/NsOz/zjBsv84wK//Ob+t/zu/ + rv8+xbT/Q9K+/0fZxP9M4cv/UOfS/1Hq0f9R5sz/UN/E/07Yuv9M0LD/SMmm/0jHo/9LxqL/TsWf/07F + nv9QxJz/UcGa/1HBmP9Vw5j/V8eY/1zMmf9h0Jv/aNef/27dn/9v4J7/ceOb/3LimP9v3pX/bdiP/2zT + iv9s0If/bM2C/23LgP9uyn7/b8l7/23Jev9vyHf/ccV0/3HFcv9xxG//csJt/3HAav9zv2n/eMFq/33E + bf+FxnH/jclx/47Lb/+Mymz/i8to/4nLZP+JzGL/is1h/4zNYv+R0GP/lNJi/5jRYP+b0GD/nNFc/5nV + W/+U2F7/jttk/4rabv+F1Xr/g9CC/4TLgP+GxHf/iL9t/4e4Zv+FsGD/gqdY/36hUP9+mkv/fpVH/32R + RP98j0D/f409/4GMPP+EjTn/h4w3/4iNNf+LjDX/jYwz/4+MMP+PjC7/kYot/5OLLf+UiSz/loks/5iJ + Kv/k4tnS3NrWtcnFv5+3squPr6ifgubj4tITEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNXU0+S3sayTwbu3nNPQzLDy5+XIXce/9zC9 + sP83v7H/N7+u/za9rv83vq7/OcGw/z3Jt/9C0b7/R9jE/0vgy/9P5M//TeLN/07hyP9O28P/S9S6/0jM + rv9Hx6X/SMek/0jGpf9JxqP/SsWg/0vDnP9OwZr/TsOb/1PHmv9YzZ7/XNKi/2TapP9q3qf/a+Gk/23i + o/9v4qD/cN+b/27alv9r15H/atKL/2nQif9rzof/bc6F/3DOgf9wzn//csx9/3LMef9yy3f/csp2/3PJ + cv9zxnH/dcdu/3THbP93yGv/e8tr/4DPa/+J023/kthx/5rcd/+h4Xz/oeF6/57gdP+a3m//ltxq/5PZ + Zv+U1WL/ltJe/5fQW/+Ry13/islf/4XLX/+Az17/fM5g/33HZP9/v2j/fbVs/32uZ/99qF7/f6NU/36d + Tv98mUj/e5VD/3qRP/97jjv/e445/3uMNv99jTP/f4wz/3+KMv+EiTD/hYgu/4WILf+Hhiv/iIYr/4uF + Kv+LhCr/jIQq/42EJ/+OhCf/j4Qn/5KEJ/+UhSf/lYUl/+Th2dLd2de1ysTAoLm0rI+wqaGE5uXi0hMS + EdkAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI1dXT5LmzrZLBvLed1NHMsfLn5chcyLz3L7ys/ze/rv85xLL/Psu6/0LRwP9F1sX/SdvI/0nd + yf9J28P/SNe+/0rUu/9IzbT/Rser/0fGp/9IyKn/Ssqs/0rKqv9KyKb/Scah/0vDnf9Ox57/U82h/1fU + pf9e2qr/ZOCr/2Tiqv9o4qj/auKm/2zgo/9t3p3/bdyZ/27Ylf9w1pP/cNeP/2/UjP9w1Ir/cNOI/3PT + hv9y04T/ctN//3TRfP930Hr/eNB2/3nRdv9+1Xb/gtl3/4bedv+J4Xb/jOV3/5Dpd/+R6Xf/j+V0/5Tj + dP+a4XT/nd92/5/ddv+c13D/lc5l/43EWv+IvVP/hLZP/4C0Uv93tV//brlk/2m8Yv9svlz/dLtS/3q2 + Tf9/rkv/gaZK/3+hSf99nET/fJk//3yVO/97kzf/eZAz/3qPM/96jDD/fIou/3yILP97hyz/e4cr/3yF + Kv9+hSn/f4Mp/4GCJ/+Cgib/goEm/4SAJf+GgCb/h4Al/4h/Jf+JgCX/i38k/4yBJf+NgCX/kYEl/5OB + JP+SgSP/5eLZ0t3Z1rbLxcGhu7Suj7GrooTm5eLSExIR2QAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjV1dPkurStksO9t57U0cyx8ublyV/Q + wvc3zLv/Q9PB/0bWxv9H2cf/RdfC/0LRu/9Bzrb/Qsux/0TGrP9Ew6f/Q8Om/0fHq/9Ky67/S82y/0zM + sP9Nyab/T8mj/1POp/9X1az/Wtyw/17isf9h47D/Y+Os/2Xiqv9m4qf/aOGk/2vgof9q3p7/bd2c/3Hb + mf9z3Jf/dduV/3fbk/933Y//dd2N/3bdiv953Yn/fd6E/4Ddhf+C4Yb/h+WG/4rphv+O7Yb/ke2G/4/t + g/+O6X//jOJ5/4fbcv+D1W3/gc1n/37FX/98vVv/g7tZ/4e8Wf+Lu1j/jbpY/4m3Wf+Aslv/da9j/2mu + a/9fsHL/WrZ0/1+5af9tuFP/f7NC/4WvPf+GqDr/hKE4/3+ZN/97lDX/d5Ey/3aOLv92iy3/doos/3eJ + LP94iCv/eIcq/3mGKv95hSn/eIMn/3mCJ/95gSb/eYAl/3x/Jf99fSX/fHwj/358I/9/eyL/gXsi/4J7 + Iv+DeyL/g3wj/4Z7I/+IfSP/i30j/419JP+NfST/j34j/5B9Iv/k4dnT3NrYtszHwqG9t6+Qsqujhebk + 4tMTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNbV0+S6tK2Sw764ntTRzbLx5uPJatvP90DWxP9D077/Qcu2/z/Isf9Axq3/QMKq/0HA + qP9Cwaj/Q8Wq/0fIrf9Ky6//S82v/07Nq/9S0qr/V9ix/1zguP9h57z/Yuu8/2Hqt/9g6LP/Y+ev/2Pm + q/9j5ar/ZuWm/2rjpP9t5KD/cOOf/3TkoP945p3/fOab/4DonP+D6pv/huya/4fvmP+J8Jj/je+Y/4/t + lv+N6JH/i+OM/4nghv+F2oL/gdR8/3zLc/94w2n/crli/3KzXP9yrlj/catU/3CpUP9wp0//b6dN/3Kp + UP93rFf/eK9j/3iycv90t3//Z7eI/1+2iP9atn//W7Vt/2WxV/90sEP/gas1/4WnM/+DoDL/fpky/3iT + MP90jS//cIou/3GHLf9xhyr/c4Yq/3OGKf91hin/d4Uo/3eDKP93gif/eIEm/3Z/Jf92fiT/dn0j/3h8 + I/96eyP/e3oi/3x6Iv97eSH/fnkh/394If+AeiH/gXoh/4N5If+EeiL/hHoi/4Z7I/+HfCP/iX0j/418 + I/+PfST/kH0i/+Th2dPd2ti2zMjDob23sJGyqqOF5uTi0xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tXT5Lu0rpPDv7mf1dLOsvPm + 5clj0L/3OMWu/0DErf8/xKz/QMOq/0HEqv9Dxqv/RMes/0bMrP9K0a3/UNSu/1TZsf9a4bn/YOq//2Tw + xP9l8sX/ZPHB/2Tvu/9j77j/ZO+0/2Tvs/9n7rD/au2r/2ztqv9y76n/d++p/3zyqP+A86f/hfSm/4ny + pf+N8aL/j+6i/47nnf+K4pf/hduR/4LTiP99zIL/eMV4/3K7cP9ttGj/arBh/2qtXP9rq1v/a6lX/2up + Vf9uqFP/bqZU/2ylU/9so1T/aaJY/2WgXf9joWL/YqVv/2GrfP9isIb/Y7iK/2m7hP9rt3H/brRb/3Kv + Rf92qjb/eqQx/32fMP97mS7/dpIt/3KMLf9uiCz/bIUr/2yEK/9tgyr/b4Mp/2+DJ/9xgib/coIm/3SC + Jf91gST/dYAk/3d/JP92fiP/d30j/3p7If95eiD/eXkg/3p5H/96eR//e3ge/3p3IP98eCD/f3cg/393 + IP+AeCD/gXkf/4J4IP+DeSH/hXkh/4Z5If+JeiL/inoh/417Iv+OeyH/5eHZ097c2bfNycOivbawkrOs + pIbm5OLTExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjW1dPkvLavlMO+uKDV0s2y8+fnyWTNvPg5xaz/Qciw/0TMsv9Hz7D/StOw/03Y + sv9Q3LT/VOG3/1rnv/9d7MT/YO7H/2TwyP9l8cb/aPDF/2vxw/9r8b7/bfK+/2/yu/9v8bb/c/K0/3by + sv969LD/fvKt/3zup/9966T/feei/3vgm/962ZP/edGO/3bKhv9zxIH/cLx6/225dP9ptW7/aLFp/2av + Zv9ormL/a61f/2usW/9qqln/aqhX/2mmVv9oo1b/ZaBZ/2SfWf9inWD/XZxi/12dZP9bn2j/V59q/1qj + a/9fqGz/Za1r/22wZv92tV3/fbZQ/3+xQv97qzn/d6Iy/3WZLv9zkCr/cIso/2+HKf9uhCn/bIQp/2qD + KP9qgij/bYIn/26AJv9vgCX/cYAk/3KAI/91gCP/d4Ei/3iAIv94fyH/en8f/3l9H/96fCD/enof/3l5 + H/94eB7/eXge/3h4Hv95eB7/e3cf/3t2Hv98dR7/fnYf/4B3IP+Adx//gXcf/4J4IP+EeCD/h3ch/4l3 + IP+JeCH/i3kh/416If/k4dnT3tvZt83Iw6O9uLGRs62khefl4tMTEhHZAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNXU0+W+uLGVxL+6n9TR + zrPx5ubKa9nA90XWtP9Q27r/VN+7/1bivP9Z5cH/XebG/1/ox/9j6cj/ZerL/2bqy/9q68n/a+rF/23q + wv9x68D/c+7A/3Lvvv9y7Lj/ceas/3Dlq/9v4qf/atqf/2fRlf9lyY3/YcWJ/2DAhf9gu4D/YLZ5/2Kz + df9ksnP/ZrFv/2exbf9psmv/abFo/2isZP9mqWD/Zqdd/2elXP9mo1r/ZaFa/2KfXf9hm2D/X5th/1ya + Yf9ammL/Wppj/1ubY/9am2H/W55f/12fXf9doFn/YqJT/2mlT/9yqUz/e65K/4GzRf+BsDz/e6Y0/3Wa + L/9wkCr/bYcn/2yCJf9qgSb/bIIn/22CJv9tgib/bYEm/22AJf9vgCT/bn4j/3F/I/90fyP/coAi/3aA + Iv95fyH/e38g/3t+H/96fh7/e3we/3t7IP95eR7/eXge/3h3Hf94dx3/eHYd/3l2H/96dR3/fHUe/3x1 + Hv99dR7/fnUe/392Hv+AdiD/gHYe/4J3H/+Fdx//hncg/4l3IP+LeCH/jHgg/+Xh2tTf29m4zcrEor+5 + s5KyraaH5eXj1BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI1tXT5b62sZXEv7uh1dHPtPDm5sp54sj3WODB/2PhyP9m5Mr/ZeTM/2bi + yv9l4sj/ZeLE/2Tiwv9i47v/ZOCz/2bgsv9m4LL/aN+w/2rfsf9n2qf/YtKf/1/Om/9by5n/WcOR/1a6 + hv9TtoL/UrN+/1Wve/9VrXf/WKx0/1mrc/9crG//YKts/2Ksa/9mrGn/aKtm/2ipZP9np2L/ZKNf/2Cg + Xf9fnV//X5xg/12bYv9cmmP/XJlj/1qYYv9amGL/WZld/1qYW/9cmVv/XJtY/16bVf9fnFH/YpxN/2Ob + R/9pnkP/cqVA/3qpP/99qzz/fqg3/3mgMP91lir/c40o/22IJf9qgiT/bIEk/2uAJf9sgCX/aoEk/2yA + I/9tgCP/boAj/25+I/9wfiH/cn4h/3N+If91gCD/eIAg/3qAH/98fh7/fH4e/3t9Hf96fB3/enkd/3l4 + Hf95eB3/eHcd/3d2HP94dhz/eXUd/3p0Hf97dB3/e3Qd/3x0Hf99dR3/fnYd/391Hv+Adh7/gnYe/4J2 + Hv+Edx//iHYf/4p4H/+Jdx7/5OHa1N/d2rjPysWjvrmzk7Gtpojm5ePUExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjW1dPlvLexlsTA + u6HV0s+08Obly33hz/hZ3cT/Xt3C/1zevf9b3rj/Wty2/1resv9Y3K3/Wdmo/1vWpv9b1KT/WNCk/1XG + m/9TvZD/U7uO/1K9kv9UvpP/UreJ/1Gygv9RsX//UbB9/1GreP9Sp3P/UqZw/1Smbv9WpGr/WKNn/1ui + Zv9epGP/YqVi/2OlY/9lpWT/ZaNl/2GgZ/9dnWb/Wppj/1qZYv9dml//XJpg/1yZXv9cmVr/W5dZ/1yY + Vv9cmFX/XJdT/12YUP9gmE3/ZJlI/2SZRf9lmkD/apw9/3CfOf90oDb/dp0y/3adLv96nS3/epgq/3iS + J/9ziyX/bYQj/2l/I/9pfiL/aX4j/2t/Iv9tfyL/bX8i/25/If9wgCD/cn4f/3J+Hv90fR7/dn4e/3p+ + Hv97gB7/fIAd/3yAHP98fhz/fH0d/3t8Hf96ehv/eXgc/3h3Hf93dhz/eHQc/3h0HP94dRz/eXUc/3ly + G/95cxz/e3Mc/310Hf98dBz/fnUe/351Hv+AdR3/g3Yd/4Z1Hv+Hdh//iXcf/4l1Hv/k4trU39zauM7K + xaS9uLOUtK+oiOfl49QSEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNbV1OW/ubOWxMC7odXTz7Tx5ufLdt/B+FHasv9Y2bL/V9eu/1jU + q/9WzaX/VMae/1C/lv9JupP/SLiR/0mxi/9KsIb/S7GG/020i/9PtYz/T66D/06sf/9OrX7/UK9//0+o + dv9Po2//T6Jt/1Cha/9Qn2b/Upxk/1SdY/9VnWH/WZxh/1mdZP9bn2b/XqBo/1+gav9goWb/YJ9k/12d + Yf9dml3/XJhb/12YWf9dmFj/XplW/16ZVP9dmVP/X5hQ/2CYTv9gl0v/YphG/2WYQv9omj//apo7/2ya + Nv9sljL/aZEu/2uSKv9zlSn/e5so/4CdJ/99lif/d5Am/3KIJP9rgCH/aX0h/2l8IP9pfSD/a34g/21/ + IP9ufx//b34f/3F+Hf9zfx3/c34c/3V+Hf92fhz/en8d/3yCHP9+ghv/fYAc/31+HP98fRz/fHsc/3p6 + HP95eBz/eXYc/3h1G/94dBv/eHQb/3hzG/95chv/eXIb/3lyG/96chv/e3Ib/3xyG/9+cxz/f3Md/4B0 + Hf+DdB3/hXQd/4V0Hf+HdR//iHUe/+Ti2tTf3Nq5zsrFpMC6s5S0sKiJ5uXj1RMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tXU5b65 + s5bEwryg1dPPtPLo6Mty0LT4S8Kg/029nP9JuZf/R7aT/0WxkP9ErYv/RauI/0Wog/9GqoH/RamB/0ir + g/9IqH//SKZ7/0qlef9Kp3z/Tap9/02kdf9NoHH/TKFt/02ia/9PnGX/UJlh/0+aYf9PlmP/UJZl/1CX + ZP9TmGX/V5tm/1udZf9dn2T/YKBj/2KhYf9joF3/YZ1a/2CYWP9emVb/YJlV/2GZVP9gmVL/YJhP/2CY + TP9il0j/ZJdF/2SXQv9olz7/a5k7/2yZN/9pkzD/ZYsr/2SGJv9niSb/cJAm/3mVJP+AmyT/f5kl/3qT + I/91jCP/b4Qg/2p8H/9pex3/aHse/2p8Hv9sfR7/bn0c/29+HP9yfR3/c38b/3V/G/90fhz/dX4c/3d/ + G/99gBz/foIc/3+CGv9+ghr/fn8b/319G/98exv/enka/3l3Gf95dhv/eHQb/3dzGv93cxr/d3Ea/3ly + G/95chv/eXIb/3pyG/97chv/fHIb/31zG/9/chz/f3Ic/4JzHf+Ecxz/hXQd/4d1Hv+HdB3/5OLZ1d7c + 2rnPysWkv7u0lbOwqInm5ePVExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjW1dTlvbi0l8XCvaLW09C18urqy2S7ovg7rYv/RLCO/0Ov + jP9DrIn/RKiF/0Slgv9EpH7/QqB7/0Khef9DoHb/RKB1/0addP9In3T/SaF0/0mgc/9Lnmz/TZ9s/02h + bP9MnWj/S5hl/02YZ/9LlmT/SpNj/02TZf9NlGT/UZZh/1WYYf9aml//Xp1f/2CgXv9joV3/ZaJd/2Wg + Wv9jnFf/YZpU/2CZUf9imlH/ZZtP/2SYTP9kl0f/ZpZE/2aWQP9plz7/apg7/22XN/9pkTD/ZIoq/2CE + Jv9igyT/Z4Uk/26KI/91jyP/fJUk/3+YJf99liT/eY8h/3SJIP9tgh3/aXod/2h6HP9pexz/bHoc/258 + HP9vfRn/cH0Z/3J+HP91gRz/dYAa/3WAGf94fhr/fIAc/3+CGv+Agxv/f4Ma/3+CGf9/fxn/fn4a/318 + Gv97eRn/eXcZ/3l2Gf94dBv/d3Ma/3dzGf93cRr/eXEb/3lyG/96cBn/enAZ/3twGf98chv/e3Ea/39y + HP9/chz/gnEb/4RzHP+Dchv/hXMc/4VyG//l4tnV4N3buc7Lx6a/vbaWta+piufl49UTEhHZAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNbW + 1OW+uLSXxcK+otbTz7Xz6+vLZred+DumhP9CqYf/Q6eE/0Gkgf9BoX3/Qp94/0CbdP9BmXP/Q5pw/0OZ + bP9EmW3/RJpt/0ecbf9ImWj/Spto/0ufbP9LnWr/Spdo/0ubaf9KmGn/SpNm/0uVY/9MlGL/T5Nf/1GU + Xf9Tllz/WJhc/1ybXP9gnlr/Y6Ba/2aiWf9po1j/aKFW/2adUv9lmk//ZZlM/2eaS/9pm0n/Z5lE/2mY + QP9qlz//bJg8/2yYOP9nkDL/ZIgr/2GDJ/9ggiP/Y4Mj/2aCI/9shCL/dIki/3mOIf99kyL/f5Yj/3yT + If94jSD/c4ce/2x/G/9peRv/ankb/2t5Gf9sehr/bnwa/3B9GP9wfhj/c4Aa/3WDGv92ghr/d4EY/3qA + GP99ghr/gIQa/4GEGf+Bgxr/gYIZ/4CBGf9/gBj/fnwY/3x5Gf97eBr/encZ/3h1Gv95dBn/eHMY/3hx + Gf93cBn/eHEa/3lwGf95cBn/eXAZ/3pwGf98cRv/fXAa/31wGv+AcRv/gnEa/4NyG/+Fcxz/hXIb/+Xi + 2tXg3du6zszHpr+8tpa2r6mK5+Xj1hISEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tbV5b+8tZfGwr2j19TRtvTs7MxksZX4OZ56/0Gi + f/9Aon3/QZ94/0Kcdf9CmnL/QJhw/0GTa/9Bkmf/Q5Vn/0OYaf9ElGX/RpRl/0aZaP9ImWv/R5Vn/0mZ + af9KnGv/SZdk/0uXY/9Nl2L/TZNf/06TXP9QlFv/U5NZ/1WWWf9amVj/X5tX/2OeV/9moVb/aaNX/22k + U/9solL/ap5N/2maSf9pmkf/a5pE/22ZQv9tmT//bpk8/26YOP9qkjP/Y4gs/2CEKP9igiX/ZIIj/2WC + Iv9ngSH/an8g/3CEH/93iB7/eo0e/36SIf9/lCH/fI8g/3eJH/9yhBz/bXsa/2p4Gf9reRj/a3oY/257 + Gf9vfRn/cH4W/3KAFv91ghj/d4QZ/3aDGf94gBf/fIEX/32DGP+AhRj/goYY/4SEGf+Dgxn/goIY/4GA + GP9/fRf/fXoY/3x4Gf97dxn/eXQZ/3l0Gf94chn/d3EY/3ZwF/93cRj/eXEY/3lwGf95bxj/eW8Y/3tw + Gf99cBr/fXAa/4BwGv+CcRv/g3Ia/4RxGv+EcRn/5eLZ1eDd3LvQzMemwr23lrexq4vn5ePWEhIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjW1tXlwLy1mMbEvqPX1NG29OzszGSukPg4mnT/P5x3/0Gedv9CnXT/Qppx/0GVa/9Ckmf/Q5Jn/0KT + Z/9CkGT/RI9j/0SSaP9FlWr/RZFl/0iTaP9Mm2r/TJdl/0uVY/9OmWP/TZZf/06TXP9QlFz/T5NZ/1CS + V/9Vk1b/WJZV/1yYVP9gmlX/ZZ9T/2qhUv9to1L/b6RP/2+hSv9tnkb/a5pD/2yaQf9vmj//cZo8/3KZ + Ov9ukzT/ZYst/2OFJ/9jgyX/ZYIl/2SAI/9mgCH/aIAf/2mAHf9vfhz/coIc/3aIHf97jR//fpIe/3+R + H/97ix7/eIgd/3GCGv9sexn/a3kY/2t6GP9texn/b3sZ/3B9F/9xfxb/c4EX/3eEGP96gxn/eYEY/3qA + F/99ghf/f4QX/4KFF/+Ehhj/hIQX/4ODGP+Cghj/gYAY/399F/99ehf/e3gY/3p2F/95dBf/eHMY/3dy + GP93chf/d3AX/3hwF/95cBn/eG8Y/3hvGP95bxj/enAZ/3xvGf98bxn/fHAZ/39xGf+CcBn/hHEa/4Rx + Gf/l4tnW4N3cu9HMx6bDvbiXuLOsi+fl49YSEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNfW1eXAvLWYx8O+o9fU0bb07O3MY6qL+DiW + bf9BnHT/Qpxz/0Gab/9Cl2v/Q5Rp/0KTZv9DjmT/QYxj/0GOZv9DkWb/RY9j/0WQYv9HlWX/SZVk/0mS + X/9NmGL/Tphh/02UW/9Oll3/UJRb/1GRVv9Sk1f/U5JU/1eSU/9ZlVH/XJhQ/2KbUP9nnk7/baFO/3Kj + Tf90o0n/dKFF/3CdQv9umj7/cJo8/3ScO/9xmTb/a48v/2WIKf9lhSf/ZoQl/2aDIv9ngiD/aIAe/2l/ + Hf9rfhz/bH4b/29+G/9ygxv/dogc/3uMHf99kBz/fpAd/3qKHP93hxv/cIEY/2t7Gf9rehj/bHoY/258 + F/9wfhX/cH4U/3J/Ff91gRf/eoUY/3yEGP97ghj/fIEX/36DF/+BhRf/hIYY/4SGGP+Fhhj/hIQY/4OB + F/+CgBj/gH0X/356Fv98eBj/eXUX/3l0F/94cxj/d3IX/3ZxF/93cBf/eHAX/3dvF/94bxj/eG8Y/3hu + GP95bxj/e24Y/3xvGf98bxn/f3AZ/4FvGf+EcRr/g3AZ/+Xh2dbg3ty70c3JpsS/uJe5tKyL5+Xj1hIS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI19bV5cC8tpnHw76j19TRtvTs7cxiqon4OJZo/0Cabf9Cm23/Qplt/0GWav9BkWf/Qo1j/0CN + Y/9CjWH/Q41f/0OLX/9Gj2D/SJFf/0eOXv9JkV3/S5de/0uSWv9PlFv/TpZc/1CSVv9Sk1b/VJNU/1WQ + Uv9XklH/WJJP/1uVT/9gmEv/ZZxJ/2ygSf9xo0j/d6RF/3qkQv94okH/dp89/3OZOf9ylzb/bpQy/2mN + LP9piij/aIgn/2iEJP9ogyL/aIIf/2qAHf9rfxz/bH8b/21+Gv9tfBn/b34Z/3OBGP92hxr/eYob/32Q + HP99jxr/eosa/3eIGv9wgBj/bHsY/2x6F/9ufBf/b30X/3B+Ff9xfxX/dIEU/3mDFv98hRf/fYQX/3uC + Fv98ghX/foQW/4KGFf+GiBb/hocX/4aGF/+GhRb/hIEY/4OAF/+BfhX/f3oV/3x3F/97dhb/eXQW/3lz + F/93chb/d3EW/3hwF/94cBf/d28W/3huFv94bhb/d20W/3luF/97bhj/fG8Y/35uGP+Abxj/gG8Z/4Jw + Gf+Cbxf/5eLZ1uHe3LvRzsmmxL+4l7myrIzn5eTWEhIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjX1tXlv723msjEv6XY1dK39e3tzWOo + hPg5lGX/QZlr/0KZbf9Dl2z/QpNp/0KQZf9CjGH/Qoxd/0SLXP9Filz/Rotd/0eLW/9Hi1n/SZBb/0qP + WP9NkFb/UJRZ/0+TVv9RkVb/U5VW/1KSUf9Uk1D/VpBN/1eSTP9Zk0z/X5ZJ/2SaRv9snUX/cqBF/3ak + Qf97pj//faY9/32kPP95njf/cJQx/2uOLP9qjCn/bYwn/22LJP9rhyD/bIMg/2yBHv9sgB3/bX8c/25+ + Gv9ufRn/b3wX/257Fv9vfRf/c4IZ/3eGGf96ihv/fpAb/32PG/96jBn/d4gY/3B/F/9texb/bnsU/29+ + FP9xfxX/cX8U/3KBFP93ghT/fIQV/36HF/9+hBX/fYIV/32CFf9/hhX/g4YV/4eIFf+Hhxb/h4YV/4aF + Fv+Eghf/gn8V/4F+FP9+exP/fXcV/3x2Ff96dBX/enMW/3hxFP94cRX/d28W/3dvFv93bxb/d28W/3du + Fv93bRb/eW4V/3ptF/96bhb/fW8X/39uF/+Abxf/gHAZ/4JvF//l49rW4d/cvNLNyafDvriYuLKsjebl + 5NcSEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNfW1eXAvbeax8W/pdjV0rf07O7NZKeD+DiRZP9Clmr/RJlr/0OXaP9Dk2T/RJBg/0SN + Xv9EiVr/RIlY/0WKWf9Fh1f/R4pW/0mMVf9Ji1T/TI5U/0+RVP9QjlP/UpNS/1KSUf9Uk0//VZVN/1WS + S/9Ykkr/WpJH/16WRf9lmUP/bJ1B/3KfQf92oj7/e6U8/4GnPP+Epzn/fqE1/3KVL/9rjCj/a4wm/26M + Jf9xjSL/cIoi/26GIP9uhB3/boEc/25/G/9ufhn/cH8W/299Ff9uehb/bnoW/3B+F/9zgxj/eIkZ/3uO + Gf9/khr/fY8a/3qNGP93hxf/cH4V/258E/9vfRT/cH4U/3OAFf90gBX/dIEU/3mDE/99hxT/f4cW/36G + FP99hBT/f4MT/4KHFf+FiBb/iIkV/4iIFf+GhhX/hoQW/4WCFv+CgBT/gH0U/398E/99eBT/fHYW/3p0 + Ff95cxX/eXIV/3hxFf93bxb/d28V/3dvFv93bhX/d20V/3dtFf94bRX/eW0W/3ltFf99bhb/f20W/39t + Fv9/bhf/gW4W/+bi2tbh3ty80c3JqMO+uJm6tK6N5+bl1hISEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tXV5sG9t5rIxb+l19bSt/Tt + 7s1jo4H4O5Bi/0SWZ/9ElmX/RZVj/0WUYf9Djlz/RYpY/0SJV/9Eh1X/RYZS/0mJU/9JiFL/SohP/02N + Uf9NjE//To1O/1KQUP9Tj0z/VZNN/1STSf9Yk0n/WpRH/16WRv9hl0P/ZJpC/2qbQP9vnT3/dKA7/3uj + Of+Bpzj/hKg3/3+jMv94mS7/cJAo/2yKJP9uiiP/cowi/3ONIP9zih7/cYYe/3CFGf9ygxj/cYEX/3B/ + Ff9vfhT/bn0U/256Fv9uexT/cX8W/3WFF/95ixf/fpAY/4GTGP9+jxf/fo8X/3mIFv9wfRT/b30T/3F+ + Ff9yfhb/dIAV/3iCFP95ghX/fIYU/4GKFf+AiBX/foQT/32DEv9/hRP/hYgV/4mKFv+HiBX/h4gU/4eH + FP+GgxX/hIEV/4OAE/+BfRP/f3wU/316Ev98eBT/enQT/3lzFP95cxT/eXMU/3hxFP94bxX/eG8V/3dt + Ff93bRX/d20V/3htFf95bRX/eW0V/3xtFf9+bRb/fm0W/39uF/+AbRX/5uLa1uHe3LzQzcmoxL+6mb21 + r43o5+XWEhIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjX1dXmw723msjFv6XY1dK39OzvzWWkfvg7jlv/RJRi/0eXY/9JlmD/RZBc/0aN + Wf9GjFb/Q4ZQ/0SEUP9IiE//SYVN/0mGTv9LiEz/TIdJ/0+MS/9PjUr/Uo1K/1WPSv9WkEf/WpZF/16X + Rf9hm0P/ZJtC/2aaQP9omz7/bZs7/3OeOf96ojf/g6Y2/4GmMv99oiz/epsp/3mVKP9yjyT/bYki/3KK + If92jB7/dYse/3WJHP91hxn/coQZ/3OCF/9ygRX/b34U/3B+FP9vfRT/bnsV/257E/9xfxX/doUW/3qL + Fv+AkRf/gJMY/36PFv+CkBj/eIcV/3B+FP9wfxX/cn8T/3OAE/93gRP/eYIU/3yEE/+AiRT/gYsU/4GJ + E/9+hBP/fYMS/4CGE/+GiRT/iIkT/4mKFP+HiBT/h4cV/4aEFP+EgRP/g4AT/4F9E/9+ehL/fHoR/3t3 + Ev96dBP/enMU/3lzFP95chP/eHAU/3hvFP93bhT/d20V/3dtFf93bBX/eG0V/3ltFf95bBX/em0V/3xs + Ff9+bRb/f24X/4BtFf/m4trX4d7dvdHOyajFv7qZvLWvjejn5dYSEhHZAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNbW1ebDvbeaycXApdfW + 0bf07u/NZqJ6+DyOWP9Gll//RpVc/0iVWv9Hklr/RYxX/0WIUP9Ghk7/R4RL/0qCS/9Lhkr/SoVK/0yG + R/9OiUf/T4hG/1CKR/9TjEP/V5FD/12XRP9jnEP/Zp5B/2aeQP9mnD3/aZo6/22aOf9znzj/e6Y1/36m + Mv98oS//eJsq/3qaJf98mST/epUm/3OOIv9xiR7/dYod/3iMGv96jBr/eYoZ/3eHGf91hBj/dIMW/3KB + FP9wfxP/cH0U/298E/9ufBP/bnwT/3OCE/94iBT/fI0V/4KTFv+Bkhb/gpEV/4aUFv95hxX/cIAU/3KB + E/90gRP/d4IS/3mCEv95gxL/fIUS/4KKEv+EjBP/gooR/3+GEv9/hBH/gocS/4iKE/+JixL/iYoS/4iI + Ev+HhhP/hoUT/4SCEv+DgBP/gX0Q/396EP99ehD/fHcS/3t0E/97dRH/e3MT/3pyFP95cRT/eHAT/3dv + E/93bhT/d24U/3dsFP94bBT/eW0V/3htFP95bRX/em0V/31sFf99bRb/gG0V/+bi2tfi3929087KqMTA + upm7ta6N6efl1hISEdkAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI1tbV5sK+uJvJxcCl19bRt/Pu781mo3j4PIxU/0aTWP9Jlln/SJVY/0aR + Vf9GjVL/R4hO/0iDSf9Igkf/S4RI/0uDRv9NhEX/TIVF/06EQ/9QiEL/U4xA/1yTQf9gmkD/ZZ9A/2if + Pv9lnjz/ZZs7/2mYOf9umzj/dqQ2/3mpMf93oy3/dZkq/3WVJ/96mST/fpoi/36aJP98lCP/dYwd/3SJ + G/93ihr/eo0Z/3uNGf96ixj/eYgY/3aEFf90hBX/coIU/3F/FP9wfhP/bn0T/298Ev9wfhP/dYYS/3uL + FP9/jxT/hpQV/4aTFP+FlBX/iJUW/3eGE/91gRH/dYMS/3iEEf96hBH/e4US/3yFEf9/iBH/hIwT/4aN + FP+DihH/gIYR/4GFEP+GhxD/iYsR/4mLEf+JihL/iIkQ/4aHEf+FhRL/hIIS/4OBEf+Bfg//f3sR/315 + Ef98dxH/e3YQ/3t2EP96dRL/e3QT/3lxFP95cBP/eHAS/3duE/93bhT/eW4T/3htE/94bRP/eG0U/3ts + E/99axX/fWwV/31tFv+AbhT/5uLb1+Lf3b3TzsqpxMC6mbu2sI7p5+XWEhIR2QAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjX1tXmw764m8jF + v6bY1tK49O7wzmiidPg/i0//R5JV/0iUVP9KlFT/SZBR/0qMTf9Kh0r/SYRG/0mCRP9KgUP/TYNC/0yC + QP9Og0D/UIc//1qOPv9gmD7/ZJw+/2efPP9mnTv/Zps4/2aZOP9qmTj/c6E1/3itNf93qS//b5kp/26Q + Jv90kCP/eZUi/3+aIP+AmSL/gJkg/36TIP93ixv/dYob/3qMGP98jBn/fY0Z/36MGP98hxb/eIUV/3aE + E/9zgRX/c4EU/3J/Ev9wfhH/cX4R/3OAEv95hhL/gIwT/4STFf+Jlxb/hpQW/4qXFf+KlhX/eYUS/3iC + Ef95hBD/e4YS/32GEv99hxL/f4cS/4KLEP+HjxL/ho4S/4OKEf+Ahw//gYcO/4aKD/+JixD/iYsQ/4mL + EP+HiBD/h4UR/4aEEf+DghD/gX8P/4B9Dv9+ehH/fXgR/3x2EP97dxH/e3YQ/3x0Ev99cxP/e3IS/3tx + Ev96bxP/eW4S/3luEv95bhT/eG0T/3htE/94bRP/e20T/31sE/98bRP/fm4V/4BuE//m4tvX4d/dvdLO + y6rFwLuavLawjunn5dYSEhHZAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNfW1ebCvribx8XAptjW0rn07e/OaKBw+ECJS/9JkVH/SpNR/0yU + Uf9NkE//S4xJ/0yHRv9MgkP/S4FA/0uAP/9LgT7/ToQ9/1WKPP9clTz/Yps8/2aePf9mmzr/Zpk4/2OY + Nf9mmDX/bZw1/3erNf94tDL/b58s/2yMJ/9siCX/cI0i/3eTIP99lyD/gJkf/4ObHv+BmB3/f5Me/3mM + Gv94iRj/eYsY/3+NF/+Cjhj/gYsX/3+IFf97hRT/doQT/3SCFP90gRP/cn8R/3J/Ef9yfxH/doIT/32I + E/+CjhP/iJUU/4uYFf+IlRT/j5wU/4qVFP98hRL/e4US/3yFEf9+hxL/focS/3+HEf+AiRD/hI4R/4qQ + E/+HjhL/gooP/4KHDv+DiA//h4sP/4mLD/+Jiw//iIsQ/4iIEP+IhRD/hYMR/4OBEP+CgBD/gH0P/356 + D/98eBD/fHcP/352EP9+dxD/fXUP/310EP98cxD/e3IS/3twE/96bxP/eW4S/3htEv94bRL/eG0T/3ht + E/96bRP/fGwT/3xsE/9+bhX/gG4T/+bi29fh392+0s7LqsXAu5q9tq+O6efl1hISEdkAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI19bV5sK/ + uZzGxb+m19XSufTt785soHD4QopJ/0iQTP9LlE7/TJVO/02QTP9MjUf/TYdD/02DQv9MgD//ToA8/1OG + PP9ZkDr/YJk5/2WeOf9knTn/Ypg4/2OUNv9llDL/aZky/3OmMv95uTP/c7Av/2mRKP9mgiX/a4Uj/3GL + If91kCD/fJQe/3+YH/+CmR//hZwc/4SaHP+DlB3/fIsZ/3qIGP99ixf/g44V/4SPFv+CjBX/f4gU/3uG + Ev95hBP/d4IS/3Z/Ef90fxD/c4AR/3aCEf96hhL/gIsT/4WSFP+LlxX/jJoT/4qXEv+TnxX/iJMT/32H + Ef99hxL/fokR/4CKEP+Aig//gIgR/4OMEP+JkBL/ipES/4eNEf+EiQ7/g4cM/4aJDv+Kiw//iowQ/4mL + D/+Jig7/iYgO/4eFEP+GgxH/hIAP/4N/D/+BfRD/f3oP/314D/9+eA//fncP/353EP9+dxD/fXYP/3x0 + Ef97chL/e3IR/3pwEv96cBL/eW4Q/3ttEP97bRL/e20S/3ttEv98bBP/fWwT/39uFP+AbxL/5ePb1+Lf + 3b7TzsuqxcC7mry2r4/p5+XWEhIR2QAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjX1tXmw764m8jFwKbW1dK58+3wzmudbPhDiEP/S5BL/0qU + S/9LlEr/T5JI/06LRP9OhkH/TIM9/1CDPP9YjDv/YJc6/2SdOf9lnTj/ZJg3/2OUNP9hkDL/Y5Ix/2ye + L/92tTL/eb8w/2yiK/9kgiT/ZoAi/2eFIv9tiCD/c40f/3eRH/99lB7/gpgd/4eaHP+Imxr/hpkc/4SU + Hv97ixn/eogX/4CLFv+DjxX/hI8V/4KMFP9/iBP/e4YT/3qEEv94gRH/d4AQ/3aBD/90gRD/eIMR/3yI + Ef+CjRP/iZQU/42aEv+NmxP/jJkS/5WgFf+GkRL/fogR/3+HEf9/iQ//gIsP/4GLD/+BiQ//hY0Q/4uT + Ef+MlBH/h40R/4WJD/+EiA3/iIoO/4uLDv+LjA//iYoO/4mJDf+Ihw3/hoUO/4WDD/+EgA//g34O/4F8 + Dv+Aeg3/fngO/354Dv9+eA7/f3YP/393EP9+dg//fXQQ/31zEf98cxD/fHER/3twEv97bxL/fG0R/3xt + Ef98bRH/fG0S/3xsEv99bRT/gG8T/4FwEv/l49vX4t/dvtPOyqrFwLubvLawkOnn5dYSEhHZAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNfW + 1ebDv7mcyMbBptjW07nz7fDOa55o+ESHQP9Lj0f/TZRH/06VRv9QkEP/UIs//1GIPv9Uizv/XZM7/2ac + Of9mnzj/Y5w2/1+TNf9ejjH/X44v/2eSL/9xqzD/eMMy/3G6Lv9kjib/Ynsg/2R/If9mgyH/aYce/3CK + Hv92jR7/eZEe/4CVHf+DmRr/h5kZ/4ebGf+KmRv/iJUf/36LF/99iBX/gYsV/4SNFP+FjhX/gosU/3+J + E/97hhL/eYMR/3iDEP93gg//d4EP/3eCD/95hBH/fokR/4WQEf+LlhL/kJwR/4+bEv+RnBL/lqEU/4SO + EP9/ig//gIoO/4GMDv+DjBD/g4sP/4OKD/+HjxD/jJQQ/4uTEf+GjRH/hIkO/4aJDP+IjA3/i40N/4yN + Dv+Kiw3/iYkN/4iHDf+HhQ3/hYQM/4SADv+Dfw//gX0N/4B6DP9+eAz/f3kO/354Df+Cdw7/gncP/4J2 + D/+BdRD/gHQP/4B0Dv9/chD/f3AR/31uEf99bhH/fG0Q/3xtEf98bRH/fG0R/35uE/+AcBL/gXAS/+bj + 29ji392908/KqsXBu5u9uLGP6Obl1xIREdkAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI19bV5sO/uZzJxsGm2NbTufTu8c5snGb4RIY9/02Q + RP9Ok0T/UZND/1GQQf9TkT7/XZU8/2KcPP9moTr/Zp43/2GXM/9ejzH/W4sw/1+LLv9pmC3/dr0x/3bK + Mv9qqSv/YYEj/2F7IP9kgSD/ZoIg/2eFH/9uhx3/cowd/3ePHf9+kRz/gZYa/4WYGf+KmRj/i5oX/4yZ + HP+KlR//gYsV/3+IFP+BjBT/hI8S/4SOE/+CihL/gIgQ/32GEv97hRD/eoMP/3qDD/95gw//eYMP/3yG + EP+BixH/h5IR/46ZEv+TnRL/kZsT/5WfE/+VnxH/go0P/4GLDv+Diw//hI4O/4SMD/+Diw7/hYwP/4yQ + EP+PlBH/jJIQ/4iMEP+Gig3/h4kN/4qMDP+NjQ3/jYwO/4mKDP+IiA3/ioUM/4iFDP+Egw3/g38N/4J+ + Dv+Aew3/f3kN/354Df9+eA3/f3gN/4J4Df+CeA7/gncP/4F1D/+AdA7/gHQO/39yEP9+cBD/fm8Q/31u + Ef99bRD/fG0Q/3xtEP9+bRL/gXAS/4JyEf+DchH/5uPb2OHg3b7Sz8urxsO8m725sY/o5uXXEhER2QAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjZ19bnwr64m8rGwabZ19O59O7yzmybY/hFhzn/TY5A/0+RP/9SlkH/WZpA/2GiP/9opDz/Z6M5/2Ka + NP9ekjH/XIsv/1yJLf9hjCz/bKUt/3bPMv9xxy//Y5Qn/2F6Iv9ifSL/ZIAh/2WBIP9ogx7/bIQd/3GH + Hv90jB3/epAd/3+TGv+Clhn/h5kY/42bGP+NmhX/jpoc/4uVIf+AihT/fogS/4KNFP+FjhL/ho4R/4KK + EP9/iBD/fYUR/3yFD/97gw7/e4MO/3qDDv97gw7/fogP/4SOD/+KlA//kJsR/5WfEv+SnBH/maES/5Kc + EP+CjQ//g4wO/4SMDv+Gjg//ho0O/4WMDf+Hjw7/jpQQ/5CWEP+MkhD/iIwP/4WKDP+Jiwz/jo0N/5CM + DP+PjAz/jIoK/4uHC/+KhAv/hoQL/4OBDf+Dfw7/gX0M/397C/9+egz/f3gM/4F3DP+CeQ3/gngN/4J4 + Df+CeA3/gHYO/4B1Dv9/dA7/f3MO/39yEP9+cBH/fW8P/3xuD/98bRD/fW0Q/39vEv+BcBH/gnIS/4V0 + D//m5NrY4uDevtTRzKvHw72bu7avjuno5tkTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNrY1+jCvbecysbBqNnX07n07/LObJtg+ESF + NP9NjD3/VJc+/12kQP9mq0D/aas8/2ikN/9imDP/XI0w/1uJLf9diiz/Y5It/2+2L/9x1zH/ZrIt/2GF + Jf9ifCL/ZIEg/2SBH/9lgR7/aIEd/2qDHv9uhRv/cYob/3eMGv98kBv/gJMa/4eWGf+Jmhj/jZoW/46a + FP+Qmh7/jJUh/4GKEf+AiBL/g4oR/4WNEv+FjRD/gooO/4CJD/99hg7/fIQP/3uDD/97gw7/e4MO/3uE + D/+BiQ7/h5AP/42XD/+TnhD/l6AP/5OcD/+cpBL/kZkQ/4WODf+Gjgz/hY4M/4ePDv+Gjg7/hYwN/4mP + Dv+Plg7/kJcP/4uQDv+Hig7/hokM/4qLDP+OjQz/kY0N/4+LDP+NiQv/jIcL/4mEC/+Hgwr/hYEL/4F9 + Df+AfAz/f3oL/355C/+AeQz/gncM/4N4DP+CeA3/g3gN/4N3Dv+CdQ3/gnUN/4JzDf+Acw7/f3IO/4Bw + Dv9/bw//fW4O/3xuDv9+bg7/gHAQ/4BxEP+CcxH/hnUR/+bk29jj4N6+1NHMq8bDvZy5tK6N6unn2hMS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI2djX6MG9t5zKxsGn2dfTuvTv8s9rmV74RYUx/1SWO/9gpj7/Z7E//2mvPf9mpTn/YJgz/16O + L/9ciCz/X4os/2idLv9xyjH/bNIx/2CYKf9deyP/YX4i/2WDIf9lgx//Z4Ie/2iCH/9qgh3/bYMd/3CG + G/9zihn/eIwZ/32QGv+Ekxf/ipYY/4yaF/+QmhX/kJoT/5GaHv+MlCD/f4gR/4CHEv+EihH/hY0Q/4OM + D/+Ciw//gIkM/36GDf99hQ7/e4QN/3uEDf97hAz/foUN/4KKDf+JkQ7/kJgP/5WdEP+Wng7/lJwP/52k + Ev+Olg7/ho4N/4aODP+Ijwz/iI8M/4eODf+IjQ7/jJMO/5GYDf+Qlg7/i44O/4eJDf+JiQv/jYwL/4+O + Cv+RjAv/kIoM/4yIC/+Lhgv/iYQL/4iBCv+EgAr/gX0M/4B8DP+AeQr/f3gK/4F4DP+Bdwv/gngM/4J4 + Df+Ddwz/hHcM/4N1Df+CdA3/gXQN/4B0Dv9/cg3/gHAN/39wDv9+bw//fW8P/35vD/+AcBD/gnIP/4R1 + EP+GdxH/5uTb2OPg3r7U0MurxsS9nLi0rY7q6efaExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2NfowL24ncnHwqjZ1tO59O7yz3Cd + XPhPkjL/YKc7/2auO/9nrjv/Y6U4/16ZNP9bkS//XIst/2COLP9qrS7/cNoy/2bDLf9bgyP/Wncj/15+ + Iv9igSD/ZYIf/2eDIP9ogx//aoId/2qCHP9sghz/cYUZ/3WKGP96jBj/gJAY/4eTF/+Klhb/jZkV/5GY + Ff+QmRL/kpsf/4uUH/9/hxD/gIcS/4OJEP+Fiw//hIwP/4GKDv+AiA3/f4YN/36FDP98hAv/e4QL/3yE + C/9/hwv/hIwO/4uSDv+SmRD/mJ8Q/5idDv+ang7/nqQQ/4uUDv+Gjg3/ho4M/4mPDP+Jjwz/iI0L/4mP + Df+PlQ7/lJkN/5CVDf+Jjg7/h4oM/4yKDP+Qjgz/kI4K/5GNC/+Pigv/jIgL/4uGC/+JhAr/iIEK/4R/ + Cf+BfQv/gHwM/4F5Cv+CeAv/gngM/4J4DP+CeAz/gngM/4N4DP+Edwz/g3YN/4J1Df9/dQz/f3MN/4Bz + Df+AcAz/fnAM/31vD/9/bw//f28P/4BwD/+Ccw//hXYR/4d4EP/m5NvY4+Dev9TQy6vIxL2cubStjurp + 59oTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNnY1+jBvbidyMfCqdnW1Lrz7fLPd6pc+FmeMP9jqTj/Y6k2/2CjNv9dmzX/XJUx/12Q + Lv9ili7/bsAx/2zhMv9grir/WHgj/1l4IP9bfCH/Xn8f/2SCHv9mgh7/aYMe/2qCHP9rghr/a4QY/2+E + Gv9zhhr/d4oY/32NF/+DkBX/h5QU/4uWFP+OmBX/kZgV/5GYE/+UmSH/jJId/4GJDP+Bhw7/hIkP/4WL + Dv+Fiw7/g4gM/4KHDf+AhQz/foUL/32EC/99hAv/fYUL/4CIC/+GjQ3/jZQN/5SbD/+ZoQ7/l54N/56i + Dv+eog//jJEN/4mPDP+Kjwz/i5AN/4qPDP+Kjgv/jZAM/5GWDf+UmQ3/kZUN/4qNC/+JiQv/j4wL/5KO + Cf+Sjgr/ko0L/5CKCv+OiAn/i4cJ/4mECv+HgQr/hn8K/4N9Cv9/fAr/gXkJ/4J4Cf+CeQv/g3gL/4R5 + Cv+EeAz/hHgM/4N3C/+Ddg3/gnUN/4F1DP+Bcw3/gHIM/4BxDf9+bwz/fm4N/35vDP9/cAz/gXIN/4N0 + D/+FdhD/h3kO/+bk2tji4N6/1NDLq8XDvZ24s62O7Onn2hMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2djX6MO+uJzJx8Ko2NbTuvLs + 8s96sFv4V58t/1ygM/9cnjT/W5w0/1yaM/9flzD/ZqIw/27TNP9p2zH/XJon/1dxIf9ZeSD/WHog/1x6 + IP9ffh3/Y4Ee/2aCHP9oghz/aYEb/2uBGP9sghn/boQZ/3KHF/95ihf/fo0V/4OPFP+GkxP/i5YT/5CX + FP+SmRT/kJcT/5OXIf+Mkhr/gYgK/3+GDf+DiA7/hYwO/4WLDf+DiQ3/gYcK/4CFCv99hQr/foQJ/36E + Cf+AhAv/g4kK/4iPDP+QlQ3/mJwN/5ygDf+anQ3/oaQO/5yeDf+MkAz/i48L/4uQDP+LkAz/jI4M/4yP + C/+OkQ3/kpcN/5SZDP+Okgz/iYwL/4uJCv+Qjgr/kpAJ/5KPCv+RjQr/kIoK/46ICf+Lhwn/iIMI/4eC + Cf+Gfwr/gnwJ/357CP+AeQj/gXkI/4F5Cf+CeQr/gnkK/4N4Cf+DeAv/hHgM/4J1C/+CdQv/gXQM/39z + Df9+cgz/f3EL/35vDP9+bgv/fnAM/4ByDf+CdA7/hHYQ/4Z3Ef+HeQ//5uTa2OPg3r/T0MusxsO8nbu0 + ro3r6efaExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjZ2dfow7+5nMvIw6fa2NS68+zzz3erWfhRlCr/VZUw/1eXMv9anDL/YJ8x/2my + Mv9u4Df/Zc0y/1qJJv9XciH/WXoh/1p7H/9aeR7/Xnoe/2F+Hv9kgR3/aIQa/2qDGv9qghn/bIMX/22C + GP9vhBj/dIgW/3qKFf9+jRX/hJEU/4iVE/+MmBP/kZkU/5GZEv+QlxL/k5cj/4uQGf+Ahgr/gIYO/4SJ + Df+Giw3/hooN/4SIC/+Chwr/gIUK/3+GCv9/hQr/gIUK/4GGCf+Fiwv/i5EM/5GXDf+anQ3/naAO/5ue + Df+ipg3/lpwL/4uRC/+LkAv/i5EL/4yRCv+Mjwv/jJAL/5CUC/+WmQv/lZkL/46RCv+Liwr/josK/5KO + Cv+Tjwr/k44K/5KMCv+Qigr/jogJ/4yGCf+KhAn/h4EI/4R+Cf+DfAn/gHsI/4F5CP+Begj/gnoJ/4J5 + Cv+DeQr/g3gJ/4N3Cv+Ddwz/gnYL/4J1C/+BdAz/gHIM/39xC/9/cAv/fm8L/39vDP9/cAz/gHIN/4J0 + Dv+FdhD/h3kQ/4l7D//n5NvY4+Dev9PRy6vIxL2cubStjuro5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnZ1+jDv7mcy8fDp9rY + 1Lr07/TPdKJV+E2IJf9VkC7/V5cw/1+jMv9qwDb/bOk5/2C/MP9Zgif/WHYk/1p6If9Zeh//W3kd/1t4 + HP9dehv/Yn4d/2aBG/9pgxj/bIIY/2uDF/9sghf/boIW/3KDFv91hxT/e4oU/4CNFP+HkRP/ipUS/4+X + E/+RmBH/kZgP/4+WEf+TmSL/iI8V/3+FCP+Bhgz/hIoN/4aKC/+FiQr/g4cJ/4OHCf+BhQj/f4QJ/3+E + Cf+AhQn/g4cJ/4eMCv+Nkwv/lJkM/5ufDP+coA3/nJ8M/6OmDv+TmQv/i5IK/4uRCv+Nkgv/jpEK/4yQ + Cv+OkQr/k5gK/5qaC/+Wlgz/j48K/42MCf+QjQj/k44K/5SQCf+Ujwn/kowJ/4+KCP+Nhwj/jIYJ/4qD + CP+HgQj/hH8I/4N8CP+Cewj/gXoH/4J6B/+DeQj/g3kH/4N5CP+DeAn/gncJ/4N3Cf+BdQr/gHQK/4Bz + C/9/cwv/fnIL/31xCv99bwr/fnAM/39wC/+Bcwz/g3UN/4V3Dv+Ieg//inwO/+bk2tji4N6/1NHMq8fD + vJ23sayQ6ejm2xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI2djX6MS+up3MxsOp2tfUuvTv9M9xnFT4TIQl/1iQLv9gozH/a882/2vo + Of9gsS//WYQm/1l/JP9afSH/W3of/1t6Hv9beRz/W3gb/117Gv9hfhv/Z4EZ/2qDGP9sghf/a4MX/22C + Ff9vghT/coMV/3WGE/98ixT/go0T/4aREv+MlBL/kJYR/5GXEP+Rlw//kJYR/5OYIf+HjhL/gIUJ/4GF + DP+Eig3/howL/4aJCv+Ehwn/g4cJ/4GFCP+AhAn/gIQI/4CFCP+Dhwn/h40J/4+UC/+Ymgv/naAM/5yg + DP+eoA3/oaUN/5KXCf+LkQn/jJEK/42RCv+NkQr/jJEJ/4+UCv+VmQr/mpoL/5WUC/+Qjgr/jowJ/5KO + CP+Ujwn/lJEH/5SPCf+SjQj/kIsI/46ICP+MhQj/ioMI/4eCB/+EgAb/g3wH/4F6CP+Begf/gnoH/4N5 + B/+DeQb/g3kI/4N4Cf+DeAn/g3cJ/4F1Cv+AdAr/fnML/35zC/99cQr/fXAK/31vCv99cAv/fnEL/4F0 + DP+Ddg3/hXgN/4h7D/+KfA3/5uTa2eLg3r/U0MysxsG8nrexrJDp6ObbExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2NfoxL66nczH + xKna1tO69O/zz3GaVPhNhiT/XaIv/2jWN/9o5Dn/XKUt/1mGJ/9Zhib/WYIi/1t9H/9beh3/XHoc/115 + G/9deBr/XnoZ/2F+Gv9ogRj/bIMW/2uCFv9rghb/boEU/3CBE/9zgxT/d4cT/3qLEv+CjhP/h5AR/4uT + Ef+Olg//kZYQ/5CWDv+PlRH/lJgh/4eMEf9+hQf/gYYL/4aKC/+Gigr/hokK/4SHCf+Dhwn/goYJ/4GF + Cf+Chgj/gYUH/4OJBv+Jjwf/kpUH/5qbCf+foQz/nKAL/6CkCv+hpAr/kJQJ/42QCf+NkAn/jpEK/42R + Cv+Okgn/k5UJ/5qYC/+ZmQr/k5MK/4+NCf+PjAj/ko4I/5SRBv+UkQf/k48I/5GLB/+Qign/jogI/4yF + CP+JgQj/hoEH/4N/Bf+DfAf/gnsI/4F6Bv+Aegf/gnkI/4J3B/+DeAj/gncJ/4N4Cf+Bdgj/gXQK/4Bz + Cf+Acwv/f3IK/31wCP99bwn/fW8J/39wCv9/cgv/gHMK/4N1DP+Gdw3/iHoN/4t+Df/n5drZ4uHev9LP + y6zFv7yft7KskOro5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNnY1+jDvrqdzMfEqNrW1Lr17vPPcp1S+FWfJf9k3DX/YNk1/1qZ + LP9ZiSj/W4wn/1qHJP9ZgiD/WXwd/1t5HP9cehv/XXka/114Gv9gexn/ZX4X/2iBFv9rghb/a4IV/2yB + Ff9wgBT/cYET/3OEEv95hxH/fYsR/4ONEP+IjxH/i5IP/4+WD/+Qlg3/j5YK/5CVEP+TliD/hooO/4GD + B/+BhQr/hYkL/4WJCf+FiQj/hIcI/4OGCf+ChQf/goUH/4KFB/+ChQf/hYoI/4uQCP+Ulgf/m50I/5+g + DP+cnwv/pKYK/56hC/+Skwj/kZII/5GRCP+Skgn/kZAK/5GRCf+Wlgv/mpoK/5maCv+Tkgj/j40I/5GM + CP+Ujwj/l5EI/5aRCP+Tjgj/kYwI/5CLB/+OiAf/i4QI/4mCB/+HgAX/hX4G/4J8Bf+CfAb/gXsE/4B6 + Bf+Cegf/gngG/4J4Bv+Cdwf/gncI/4F2CP+AdAn/f3QJ/35zCP99cgn/fHAJ/3tvCP98cAn/fXEJ/39y + Cf+BdAr/hHcN/4Z6DP+Iew3/in0N/+bk2tni4d6/0s/LrcXAvJ+3sqyQ6ejm2xMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2djX6MO+ + up7Lx8Sp2tbUu/Ts8896ulX4Wt0r/1rKMf9VjSj/V4op/1mQKP9aiiX/Wocj/1mAH/9Zexz/XHob/114 + G/9ceBr/XHcY/196F/9lfRX/aIAV/2uCFv9tgRX/boEU/29/Ev9xgRL/c4QQ/3qGD/9/ihH/g4wR/4iP + EP+Lkg7/j5YN/4+WC/+QlAj/kZUR/5KWIf+EiA3/gYQH/4KFCf+Fhwr/h4gJ/4aIB/+Fhwj/hIUI/4KF + B/+DhQf/goUH/4KFCP+Iigf/j5AI/5aYCP+cngj/n6EL/52fCv+mpwv/nZwL/5GSB/+RkQf/kpII/5KS + CP+RkAj/k5EJ/5iWC/+bmwn/mJcI/5KQBv+QjQf/ko4G/5WRCP+XkQb/lpAH/5ONCP+Riwj/kIoF/46H + Bv+Mgwj/iYMG/4iABv+Ffgf/hHwF/4F8Bf+CeQb/gnkH/4J4B/+DeQj/gngH/4J3B/+Cdwb/gXYJ/390 + Cf9+cwn/fHEI/3twCP97cAj/e28I/3pvCP99cgr/gHMJ/4N1C/+Edw7/hnoN/4h9DP+Kfw3/5uXb2eLg + 3r/Sz8utxcC8n7exq5Hp6ObbExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2dfow767nsvHw6na1tS69Ojy0HzoWvhQuCX/UYIl/1aG + Jf9ZkCf/Wo4m/1uLI/9ahSH/WoAd/1t8G/9beRn/XHgZ/1x4GP9cdxf/XnkW/2R8Ff9ofxT/bIEU/26B + E/9tgBH/boAQ/3CCEP90gw7/e4YP/3+KEP+EjRH/iJAO/4yTDf+OlQv/jpUJ/4+UCP+QkxD/kZUh/4OI + C/+AhAb/gYUI/4SICP+Ghwf/hocG/4WGBv+Dhgb/goQH/4KEBv+BhAb/hIYH/4mMBv+Rkgb/mJoG/52e + B/+enwn/np8J/6WnCv+amgf/kpEI/5KSCP+TkQf/kpII/5KRB/+Vkwj/mZgJ/5qbCv+WlAn/kY4H/5CM + CP+Tjgf/lpAH/5aRBv+Wjwf/lI0I/5KKB/+QiAX/jYYH/4uECP+IggX/hn8F/4V9B/+EfAX/g3wF/4N6 + Bv+DeQX/gngF/4N4CP+Bdgb/gXYG/4F2Bv9/dQf/fXMI/3xyCP98cQn/e3AI/3pvB/96bwf/em8I/31y + Cf9/cgj/gnYK/4R4DP+FeQz/iX0N/4p/Df/m5dvZ4uDfwNLOy67Fv7yft7KskOro5tsTEhHaAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnZ + 1+jCv7ueysfDqdjX07v17fPQcaxQ+Ep2G/9UfyT/Vooj/1qPJf9ajiX/XIsi/1uGIP9bgB3/XXwb/1x5 + Gf9ceBj/XHgW/1x3Fv9geRb/ZHsU/2h+E/9tgRP/bYAS/21/EP9vgA//cYIO/3eED/98hg7/f4kP/4SN + Dv+IkQ3/i5MM/42UCv+PlQr/j5MI/5CTE/+RlR//g4gI/4CEBv+ChQj/hYgH/4eIB/+Ghwb/hIYG/4OG + Bv+ChAb/goQG/4OFB/+Fhwf/i40G/5OTB/+amwb/np8H/5+gCP+iogj/p6cK/5iXCP+Tkgj/k5MI/5SS + CP+Skgj/k5EH/5aUCP+amQj/mpkJ/5WTCP+Rjgf/kI0G/5SPB/+XkQf/l5EG/5eRB/+Ujgb/kosG/5CJ + B/+Nhwf/i4MG/4iBBv+GfwX/hX0F/4R8BP+EfAT/g3sE/4N7A/+DegT/gnkG/4J3Bv+AdQX/gXYG/4B1 + Bv99cwf/e3EH/3twB/97cAf/em8H/3pvB/97cQf/fXMI/4F1CP+Ddwr/hHkL/4Z7C/+Kfg3/in8M/+Xl + 2tng397A0s3KrsXAu5+3sqyQ6ujm2xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2dnX6MK/up7LyMSp2tfUu/Xw89BvjEv4SnYa/1KC + If9WiSL/Wo8j/1qPI/9ciyH/XIUf/1yBHf9cfBv/XXgY/1t3F/9beBX/XHcU/2F2Ff9lehP/aX0T/2x/ + Ef9tfw//bX4P/29/Dv9wgA3/doMN/3qGDf+AiA3/g4wN/4eQC/+KkQr/jpMJ/4+UCP+Nkgf/kZMU/5GU + Hv+Chwb/foMF/4OEBv+Ghgb/iYgG/4eGBf+EhQX/hIUG/4OEBv+DhAb/g4UG/4eHBf+OjQX/lZUG/5ub + B/+goQX/oJ8G/6WjB/+lpAj/lpQF/5ORBv+Ukwf/lJMH/5SSB/+Ukwb/lpYH/5yaCP+amAf/lJIE/5GN + BP+Sjgb/lpEG/5eSB/+YkQb/l5AF/5ONBP+RiwX/j4gF/4yGBf+LhAX/iIEF/4Z+Bf+FfQT/hHwD/4R8 + A/+DewT/g3sE/4J7A/+CeQT/gXcF/4F2Bv+Bdgb/f3MF/31yB/97cQb/e3EF/3pvBv96bwf/enAH/3xy + Bv9/cwf/gXUJ/4N3Cv+Fegr/h3wM/4l+DP+LgQr/5eXa2eDf3cDSzsquxcG8n7eyrJDp6ObbExIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMja2dfow7+6nsvIxKna19W89fD10G+RS/hJdxj/UoEg/1aIIf9ajyD/XJAg/12LH/9chR//XIEc/1x8 + GP9ceRb/W3YW/112FP9fdBT/YXcU/2R6E/9ofRH/bH8Q/21/EP9tfg//bn4O/3F/Df94gg3/e4UO/3+I + DP+DjAz/h48L/4yRC/+PlAr/j5MH/5CRBv+SlBX/kJId/4GGBf9/ggX/goMF/4SGBP+IhwX/h4YF/4SF + Bf+DhAX/g4QG/4OEBv+DhQT/h4kE/4+NBf+WlQX/m5wG/6CiBv+foAX/paUG/6OiB/+Vkwb/k5IG/5ST + B/+Ukwf/lJIH/5WTBf+Zlwb/nJoH/5mVBv+TkAX/kY4E/5SPBf+XkQb/mJEG/5iRBv+Wjgb/lIwF/5KK + Bf+PiAb/jIUH/4uCBv+IgQX/hn4F/4V9A/+EfAP/hHwD/4N7BP+DewT/gnkF/4J4Bv+AdgT/gXYG/350 + Bf99cwX/fHIH/3txBv96bwf/eW4G/3lvBv96cQX/fHIH/31zB/9/dQn/gncK/4V6Cv+HfAv/iX4N/4uB + C//m5NrZ4t/dwNHOy67FwbyftbCrkeno5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNrZ1+jFv7yezMjEqdrX1bz18PXQbpBJ+Eh1 + F/9SgB//Vocg/1mPH/9ckCD/XIwe/1yFH/9bgBv/WnsY/1t3Fv9bdhb/XnUU/190Ff9hdhP/ZHkS/2h8 + Ef9rfBD/bX4Q/21+D/9vfQ7/dH8N/3iCDf97hA3/f4gL/4OLC/+Ijgn/ipEK/4yTCP+Pkgf/kY4I/5KU + Gf+Okhz/gYUE/3+BBf+ChAX/hIcE/4iGBf+GhQT/hIUG/4OEBv+DhAb/g4QG/4OFBf+IiQT/j5AF/5eW + B/+enQX/oaIG/6CgBP+npwb/n58F/5SSBv+UkQb/k5EG/5SSB/+Tkgb/lZQF/5uZBv+bmgj/lZIF/5GO + A/+SjgT/lJAF/5eRBv+YkQb/mJEG/5WOBP+Tiwb/kYkF/4+HBf+LhAb/ioEG/4eABf+FfgX/hHwD/4R8 + BP+EfAX/hHwF/4N7A/+CeQX/gXcG/393BP9+dgP/fXQF/3xzBP97cQX/e3EG/3puB/95bgb/eW8G/3px + Bf98cgf/fXMH/351CP+CeAj/hHkK/4Z8C/+Ifw3/jIEL/+bk2tng3t7B0c7LrsXBvZ+3squR6ujm2xMS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI2tjX6MTAvJ7MyMWp29jWvPXw9dBtkEj4R3QX/1GAHv9Whx7/Wo8g/1yRIP9cjB3/XIYc/1yA + G/9cehj/W3YW/1x0Ff9dcxX/XnQV/2F1Ev9jeRH/Z3wQ/2p7D/9sfBD/bnwN/298Df90fg3/d4EN/3qE + DP9+iAv/hIoK/4iNCv+KkAn/jZIJ/42RCP+Ojwj/k5Qc/46RG/+BgwL/f4AG/4KCBP+EhQT/h4UF/4aF + Bf+ChAb/goMF/4KDBf+DhAX/hIUF/4uKBf+RkAb/mJgG/5+eBv+goQb/oKAF/6inBv+cmwX/k5EG/5OQ + Bf+UkQb/lJEG/5SRBv+WlQb/m5kH/5mYBv+Tkgb/kY4E/5ONBv+Vjwb/mJEG/5iRBv+XjwX/lIwF/5KL + Bv+QiQf/joUG/4qCBf+JgQX/h4AF/4V+A/+EfAP/hHwD/4R7Bf+EfAX/g3sD/4J5BP+BdwX/fncF/311 + BP99cwX/e3EF/3twBf96bwX/d28G/3ZuBf93bwX/eXEF/3xxBv98cgb/f3YH/4B3CP+Eewn/hn0K/4iA + Cv+Mgwn/5uPa2uDf3cDS0MquxMG8oLayrJLq6ObbExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMja2dfoxcC8ns3Jxanb2Na89vD20G6O + SfhIdBX/UX8d/1WGHf9bjR7/XJAe/12MHf9bhhr/XH8Z/117F/9cdxX/XXMU/15zFP9echP/X3QS/2N3 + Ef9oeg//a3wO/2x9Dv9tew3/bnsN/3J+DP91gAv/eoMM/3+HCv+DiQr/ho0J/4mPCf+MkAr/jI8J/4uO + B/+TlR3/jY8Z/3+BAv9/fwX/goIE/4KEA/+GhAT/hYQG/4KDBf+Cgwb/goIG/4KDBf+Hhgb/jYsF/5OR + Bf+ZmAX/n58G/5+fBv+hoQb/p6UG/5mXBP+SkAX/lJEG/5SRBv+TkAb/lJEF/5iVBv+bmAb/mJYF/5KQ + Bf+QjAb/k4sH/5eQBf+YkQb/mJAG/5WOBv+TjAb/kYoH/4+HBv+NhAf/ioIG/4mBBf+GfwT/hHwD/4R8 + A/+EfAP/g3sE/4N7BP+DegT/gXgF/4B2BP9+dQT/fHMF/3tyBP97cQb/em8F/3duBP90bgX/dG4F/3Ru + Bf93cAX/enIH/31zB/9/dgf/gHgI/4N7Cf+FfAn/iYAI/4uDCf/l49ra4N/ewdHPy67EwLugtrKrkuro + 5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNrZ1+jFwLyfzcnFqdvY1rz28PbQcI1I+Eh0FP9Rfhz/VYUe/1qNHf9djx7/XYwc/1yH + Gf9dgBn/XHsW/1t3FP9ccxT/XnMU/15yE/9edBH/YncQ/2d5D/9qfA3/a3wN/2x8Df9tfA3/c30L/3WA + DP96ggv/f4YK/4SJCv+HjQn/iI8J/4qPCP+Ljwn/io4I/5KWIP+Ljhb/f4EC/35/BP+BggT/g4QD/4OE + BP+DhAT/goMF/4KDBv+Cggb/goMF/4eGBv+NiwX/lJIF/5uYBv+fnwb/n54G/6SiB/+lpQf/lZMF/5KQ + Bf+TkAX/lJEG/5OQBf+UkQX/mZQF/5qXBv+WkwX/ko0G/5CLB/+TjAf/l5AF/5iRBv+XjwX/lY0F/5OL + Bv+RigX/j4YG/4yDBv+JgQX/iIAF/4V9BP+EfAP/hHwD/4N7A/+DewT/g3sE/4N5Bv+Bdwb/gHYE/390 + BP98cwT/enEE/3pwBf93bgT/dG4F/3RuBf90bgX/dG4F/3VvBP93cQb/fHMH/392B/+BeAj/gXoI/4R9 + Cf+JgQj/i4QJ/+Xk2trg397B0c/LrsTAu6C2sqyS6ejm2xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2tnX6MXAvJ/NyMWq29jWvPbx + 9tBvjUf4R3IV/1F9Hf9VhR7/Wo0d/12QHf9djRv/XIgZ/12BFv9cexb/W3YU/1xzE/9echP/XnET/2Bz + EP9kdhD/aHkP/2t7DP9rewz/bHwM/2x8DP9xfQv/dn4L/3mDCP9/hQn/g4kJ/4eMCf+IjQr/io8I/4uP + CP+LjQj/k5Yi/4uMFP9/gAD/fn8E/4GCA/+DhAP/g4QE/4OEBP+Cggb/goIG/4KCBv+CgwX/h4YG/46M + Bf+Ukwb/nJoF/5+fBv+fngb/o6QF/6GiBv+TkQX/k5AG/5OQBf+UkQb/k5AG/5WSBv+ZlQb/mZYF/5SR + Bf+RjQb/kosG/5ONBf+XkAX/mJEG/5aPBv+UjAj/kokH/5CHBv+OhQb/jIMG/4mBBf+IgAX/hX0E/4R8 + A/+EfAT/g3sE/4N7BP+DewT/gnkF/4B2Bv9/dAX/fXQF/3xyBv93cQT/dnAE/3RuBP90bgX/dG4F/3Ru + Bf90bgX/dXAE/3dyBf95dAf/fnYH/4F4CP+Bewn/hH0L/4mCCv+Kgwj/5eTa2uDg3sHRz8uuw8C7obWy + rJPq6ObbExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjZ2NfpxcC8n83Jxarc2ta89vH20G+MR/hIcRT/UHwc/1SEG/9ZjBz/W5Ac/12M + G/9dhxj/XYAW/1x7Fv9bdhT/W3MT/11xEv9dcRH/X3IQ/2R1D/9peQ3/a3oN/2p6C/9rewz/bHoL/298 + Cv91fwr/eoII/36FCf+CiQn/howJ/4iOCP+Ljgn/io0I/4qNCP+UliT/iYsS/32AAP99fgP/gYEE/4KD + A/+CgwT/goME/4GBBf+BgQX/gYEF/4KCBv+HhwX/jo0F/5WTBf+cmwX/oJ8G/6CdBf+mpgX/n54F/5OP + Bf+TkAb/lJAF/5SQBf+Tjwb/lpMF/5mVBv+ZlQb/lI8E/5GLBf+SigX/lI0F/5eQBv+XkAX/lo0G/5OL + B/+RiQX/j4YE/42EBf+LggX/iIAF/4Z+BP+EfAP/hHwD/4N7BP+DewT/g3sE/4N7BP+CeAX/gXYG/390 + BP98cwX/e3EF/3dwBP90bgP/dG4E/3NtBP9zbQT/c20E/3VvBf93cQX/d3IF/3l0B/97dQf/f3gH/4J6 + CP+Ffgj/ioMJ/4mAB//l5Nra4N/dwdHNyq/DwLuhtbKsk+ro5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnY1+nGwbyfzsvGqdza + 1rz28fXQb4tG+ElyEv9SfBr/VYQb/1qMG/9dkBv/Xowb/12HGP9dgBf/XHsW/1p2E/9bchL/XHES/11x + Ef9fchD/ZHUP/2d4Df9qeQ3/anoM/2t7DP9teQz/cXsJ/3V/Cv95ggn/foUI/4GICf+GjAn/iY0I/4qO + Cf+KjQf/io0J/5SWJ/+IiQ//fYAA/31+A/+BgQT/goMD/4KDBP+BggT/gYEF/4GBBf+BgQX/gYIG/4mI + Bf+RjQX/lpQH/52bBv+hngb/oJ0F/6imBv+cmAX/k48E/5OQBv+VkAb/lY8F/5aPBf+ZkwX/mpUG/5eT + BP+TjQX/kYsE/5KKBf+VjQX/mJAG/5ePBf+WjQb/lIsG/5GIBf+PhgX/jIMF/4qCBf+IfwX/hn0E/4R8 + Av+EfAP/g3sE/4N7BP+DewT/gnoF/4F4Bf+AdQX/f3QE/3xzA/97cQX/d3AE/3NtA/9zbQT/c20E/3Fr + BP9ybQT/dG8F/3dwBf93cgX/eXQG/3p2B/98eAf/gXoJ/4aBB/+Iggf/hXsH/+Xj2trg3t3C0c3Kr8PA + u6G1sqyT6efm3BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI2djX6cfDvp7Py8aq3drWvPfy99BwikX4SXER/1N8Gf9Wgxn/Wowa/2CP + Gf9fjBn/XYYZ/1yAF/9cexb/WnYT/1pyEv9dcBL/XG8Q/2BxEP9kdA7/ZncM/2l4DP9peQz/ankL/2t5 + Cv9xfAr/dX4J/3iBCP99hQj/gYgI/4WKCP+JjAj/i44I/4qMBv+KjQr/lJUp/4aGDf99fgD/fH4E/3+A + BP+BggT/gYIE/4CCBP+AgQT/gIAE/4GBBf+Dgwb/i4kE/5KPBf+Ylgf/nZwF/6GeB/+gnwX/qKQH/5mU + Bf+Tjgb/kpAG/5SOBf+Vjwb/lZAF/5iSBf+alAX/lZAE/5KKBv+RiQb/k4wG/5eOBf+XjgX/lo4G/5WM + Bf+TiQb/kYYE/4+EBv+Lgwb/iYEF/4d+Bf+EfAT/g3wD/4R7BP+DewX/g3sE/4N7A/+CeAb/gHYF/350 + BP99cwX/fHID/3pwBP93bwP/cm4D/3JsBf9ybQX/cGsD/3FtBP9zbgX/d3EE/3dzBf95dQX/enYG/3t3 + B/+Aewj/hoEH/4aBCP+Aegb/5OLZ2uDe3cLRzcqvw8C7obWyrJTp5+bcExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2Nfpx8O+oM/K + xqvd2da89/L30G+KRfhJbxH/U3oZ/1WCGf9aixn/X48Y/16LGP9dhxj/XH8W/1x7E/9bdRL/XHER/11v + EP9dbg//YHAP/2NzDf9mdgz/aHgM/2l4DP9pdwv/a3gJ/3B7Cf91fQj/eIAI/32EB/+Bhwj/hIkJ/4iL + CP+LjAf/iIwH/4uMDP+VlSr/hIUK/3x9Av97fAT/f4EE/4GCBP+BggT/gIAD/39/BP+AgAP/gIAE/4WD + BP+MiAX/k5AG/5iYBf+enQX/n5wH/6KgBv+mogb/l5EE/5SNBv+Ujgb/lI0G/5ONBv+VkAX/l5MF/5iT + Bv+UjwX/kYkF/5GJBv+UjAb/lo4G/5iOBv+XjAb/lIoG/5GHBv+PhQX/jYUF/4qCBv+IgAT/hn4D/4R7 + Av+DegT/g3oD/4N6A/+CegP/gXkD/4F4BP+AdQT/fXQF/3xzBf96cAT/eXAE/3VuA/9ybQP/cGwD/3Bs + A/9wbAP/cW0E/3NvBP91cQX/dnIE/3h0Bv96dgb/fHkH/4F9Bv+GgAb/gn4H/3x4Bv/k4tna4N/ewtHP + y6/EwbyhtbKslOnn5twTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNnY1+nHw72gz8rHq93a17z38vbQbotF+EhuD/9Rehj/VoEY/1uJ + GP9ejhf/XowW/1yHF/9cgBb/XXoU/110Ev9ccBH/XXAP/11vDv9fbw7/YnIN/2V1Df9odwv/aXcL/2t3 + C/9vdwn/cnoJ/3R9B/94fwj/fIQH/4CGB/+FiQj/iIoJ/4mLB/+HiwX/i4sP/5SVKv+ChAf/fHwB/3t7 + A/9/gAT/gIAE/4CABP+AgAT/f38D/39/A/+BgQX/hoMF/4yJBf+SkAb/mZgG/6CdBf+fmwX/paEH/6Ke + Bv+TjgT/k40F/5OMB/+UjQj/k4wH/5aQBf+ZkgX/lpEG/5KMBP+QiAX/kYgF/5SMBv+VjAf/mIwI/5WK + Bv+SiAX/kIYG/46EBf+Nggb/ioEG/4h/Bf+GfQT/g3sC/4R6A/+DeQP/hHoD/4J4BP+BdwX/gHYE/4B1 + BP99cwT/fHIE/3pwBP91bwT/dG4E/3JtBP9wawP/b2oD/3BsA/9xbQT/cm8E/3NxBP91cgX/dnMG/3l1 + Bv98eQf/gn0I/4R/B/99egj/eXQG/+Ti2drg4N7C0c/Lr8PAu6K1sqyU6efm3BMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2dnX6cfD + vaDPyser3drYvPfy99FuiUT5SG4P/1J5GP9WgBf/WogY/16OF/9fixb/XYcX/1yAFv9eeRP/XXUR/1xx + D/9cbw7/XG8N/19vDf9icgz/ZXUL/2h2DP9odgv/anYK/293Cf9xeQj/dHwH/3iABv98gwb/f4YH/4SJ + CP+Hign/iIoI/4iJBf+LjBH/lJQp/4CDBP97fAL/e3sF/35+BP+AgAT/gIAE/4B/BP9/fgT/f38E/4CA + BP+Ggwb/jYoF/5SRBf+blwb/oJwH/5+bBv+logb/n5sF/5KMBf+RjAf/kowH/5OMB/+TjQf/lpAF/5iR + BP+Vjwb/kYoF/5CHBv+Qhwb/lIoG/5eLB/+Xiwf/lIkF/5GHBf+PhQX/jYMF/4uBBP+KgQX/iH8E/4V7 + Bf+EegT/g3kD/4J4BP+DeAX/gncF/4F3Bf+AdQX/f3QE/31zBP97cgP/eW8D/3htBf90bQT/cWwD/29q + A/9vagP/cGwD/3FtBP9ybwT/c3AD/3RxBP92cwb/eXQG/3x7Bv+Afgb/gH0H/3t3CP94cgf/5OPa2uDg + 3sLRz8uvw8C7orWyrJTp5+bcExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2dfpx8O9oM/MyKvd29i89/L30W6IRPlHbQ7/UngW/1Z/ + F/9aiBf/XY4Y/16KFv9chhb/XoEW/115E/9ddBD/W3AO/1tuDf9cbgz/X3AN/2JyDP9ldAv/Z3UL/2h2 + C/9qdgr/a3YJ/3F5Cf90fAf/eIAG/3yDB/9/hQb/hIkI/4iKCP+Iigj/h4gF/4yNFf+UlCj/gIME/3t8 + A/97fAT/fX8E/4CAA/+AgAT/fn4D/359BP9/fgT/gIAE/4eDBP+Oiwb/lJIF/5uYBf+gnAb/n5sG/6ak + Bf+blgb/kYwG/5GLB/+TjAf/kosG/5KLBv+WkAX/l5EE/5ONBv+PiAb/kIcG/5CHB/+UiQb/losH/5aK + Bv+ThwX/kYUG/4+DBf+MgwX/i4EE/4uBBf+JgAP/hHoE/4R6BP+DeQX/gngF/4J3Bv+CdwX/gXcF/4B0 + Bf9/cwT/fHME/3pxA/94bgT/dm0E/3JsBP9xawP/b2oD/29qA/9vawL/cW0D/3JvBP9zcAP/c3EE/3Zz + Bf94dQb/fXwF/39+B/97eAj/d3QH/3VxBv/k4tra4N/dwtDOyrDFwLuiuLKslOnn5twTEhHaAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnZ + 1+nIxL+g0M3Jq93b2L338/fRbYdD+UdsDf9ReBb/VX0W/1uIF/9djBb/XooW/12HFf9egBT/XXoR/1x0 + D/9bbg7/W24N/1ttDP9ebg3/YXEL/2RzCv9mdAv/aHUK/2h0Cf9rdgn/cHgI/3R7B/93gAf/eoIH/3+E + B/+FiQj/iIoH/4iKCP+FhwT/jo4Y/5KSKP+AgQL/ensD/3l7BP99fgT/gH8D/39/BP9/fgT/fn0D/39+ + BP+BgAT/iIMD/4+LBf+Vkwb/nJkF/5+bBv+fmwb/p6QG/5aSBP+Riwb/kooG/5KLBv+RigX/k4wF/5aQ + Bf+VjwT/kYoE/46FBv+OhQb/kIcH/5SKB/+WigX/lYkF/5KGBv+QhAX/jIIF/4uBBf+LgQX/i4AE/4h+ + A/+DegP/g3kE/4N4Bv+Cdwb/gXcF/4F2Bf+AdQX/f3QE/31zA/97cQT/enAE/3huA/90bgT/cmsD/3Fr + BP9vagP/b2oD/29rAv9xbgP/cm8D/3JvA/90cQT/dnQE/3h3Bf9+fQX/fXsG/3h1B/92cgj/c24G/+Ti + 2trf393C0M7KsMXAu6K3sqyU6efm3BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2dnY6cnFv6DRzcmr3dvYvffz99Fth0L5RmwL/1B2 + FP9WfhX/XIcX/1+LFv9eihX/XYcT/16AEv9cfA//XHMO/1tuDv9abQ3/WmwL/1xuDP9hcAz/ZHIK/2V0 + Cv9odQv/Z3MJ/2x1B/9veAf/c3wH/3Z/CP96ggb/gIUI/4OICP+HiQj/hogH/4SFAv+PkBz/kJIm/35/ + AP94eQX/enoG/319Bf9+fQT/fn4E/319A/99fAP/fn0F/4CABP+JhQX/kIwE/5WUBf+dmgb/n5sG/6Cd + B/+loAb/lI4E/5CKBv+RiQf/kYkH/5GKBf+SjQP/lJAE/5ONBv+QiAX/joUG/4+GBv+Rhwf/k4oG/5aK + Bv+ThwX/kIYF/46EBf+Lggb/in8G/4uBBf+LgQT/hnwE/4N4A/+Bdwb/gncF/4F4Bf+AdgX/gXYF/390 + BP9/cwT/fHME/3lxA/94bwX/d24E/3JsBP9ybAT/cWoD/29rA/9vagP/cGwD/3FsBP9wbQT/c28D/3Ry + A/92dAT/enkF/318Bv96eAb/dXIG/3RwB/9xbAX/4+LZ2uDf3cLRzsqwxcC7oreyrJTp5+bcExIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjb2tnoy8bAoNHOyKve29i9+PP40W6GQvlFagv/T3YU/1V9Ff9ahhX/XosV/16KFP9ehRH/XIAS/1t7 + D/9acw//Wm0M/1trDf9bawz/XG0M/19vDP9kcQr/ZXMK/2VyCP9ncwj/aXUH/3B4B/9zewf/dnwI/3yB + B/+AhAf/g4cG/4aIB/+Fhgb/hIQD/4+QIf+OkCP/fX4A/3d4Bf95egX/fX0E/359A/98fQL/fH0D/318 + BP9/fQX/g4AE/4iGBP+QjAT/lpQG/5yaBf+dmQb/o54H/6KcBf+Riwb/kIoF/5GJBv+QiAb/kYkF/5KM + BP+TjgT/kowG/42GBf+NhAX/j4UG/5KHB/+TiAX/lYgF/5KHBv+PhAX/jYIE/4qABf+KgAT/i4EF/4qA + BP+FeQP/gncF/4F3Bf+BdwX/gXcF/4B2BP9/dAT/f3QE/31zBP97cQP/em8E/3hvBP90bQT/cmsE/3Br + BP9vawT/b2oD/3BrA/9wbAP/cW0E/3BtA/9ybwP/c3EE/3Z0Bf96eQb/e3sH/3d0Bv9zcQX/cm0G/29p + Bf/j4tna4N/dwtHOyrDFwLuit7KtlOnn5t0TEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNva2ejLxsGh0M7JrN7b2b348/jRbIVB+UZp + Cv9QdRT/VHwU/1qEFf9eihT/XokT/1yGEP9dgBH/XHgQ/1tzD/9abQ3/WWsN/1lqDP9bbQv/YG0L/2Ny + Cf9kcwn/ZXII/2dzCP9rdAb/b3cF/3J5B/91fAj/fIEF/4CEBv+ChQX/hIYE/4WGBv+EhAL/kZIl/4yO + If99fQD/d3gE/3h6BP98fAT/fXwE/3x8BP97fAT/e3wE/399Bf+EgAT/ioYE/5COA/+YlQX/nZkF/5yY + BP+loAb/nZcG/5CKBf+PiAX/kYkF/5CIBf+RiAX/kYoG/5KMBv+QiAX/jYQG/4yDBP+PhQb/kYYG/5KI + Bf+Thgb/kIQF/46CBv+MgQX/iX8E/4l/A/+LgQX/iH8E/4J4Bf+CdwX/gXcF/4F3Bf+AdQX/f3QE/390 + BP9+cwT/fHMD/3lwA/95bwT/d24D/3JsA/9yawT/cGoD/29qA/9vagP/cGsE/3BsA/9vbAP/cG0D/3Fv + Av9zcgT/dnUF/3l5Bv94dgX/c3EF/3JvBv9wbAX/bmcG/+Pi2drg393C0c7KsMTAvKK2sq2V6efm3RMS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI29rZ6MvHwqHRzsqs39zZvfj0+NFthED5RmgL/1B0E/9UexL/WYMU/12JE/9diBL/XIUQ/11/ + EP9ceBD/W3IP/1psDv9Yagz/WWoL/1xrCv9gbgv/Y3EJ/2RyCf9lcgj/Z3II/2t0Bf9vdwb/cnkH/3R8 + B/97gAX/f4MG/4GEBP+DhQT/hIUF/4KDAv+Rkyf/iosd/3x8AP92dgX/eHkE/3t8BP98fAT/e3wE/3p7 + A/97fAT/fnwE/4WAA/+KhgT/kY4E/5iVBP+bmQX/m5gF/6SgBf+YlAX/jokF/46HBv+PhwX/j4cG/5CI + Bf+Rigb/kosG/46GBf+Mgwb/jIIF/4+EBv+RhQb/k4cG/5GGBf+PhAX/jYEF/4qABP+JfgP/iYAD/4uB + BP+GfAT/gXcF/4F3Bf+BdwX/gHYE/4B2Bf9/dAT/f3QE/31zBP97cQP/enAD/3duBf90bQT/cmsE/3Jr + BP9wagP/b2oD/29qA/9vagP/b2wD/29sA/9wbQP/cW8C/3NxA/93dQX/eHkF/3VzBP9ybwX/cW0H/29p + Bv9sZQX/4+LZ2uHf3MLRzsqwxMC8o7ayrZXp5+bdExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjb2tnoy8fCodPPyqzf3Nm9+PT40W6E + QflFZgv/UHIT/1R5Ev9YghP/W4gS/1yIEv9cgw//XH4O/1x4Dv9bcw7/Wm0N/1hqDP9Zagv/XGoK/15u + Cv9icQj/ZHIJ/2RxCP9ncgf/a3MG/252Bf9xeAf/c3wG/3t/Bf9/gwb/gYQE/4OEBP+DhAT/goMD/5KT + LP+IiBr/enoA/3R1BP94eAT/ensE/3t8BP96ewT/eXoE/3p7Bf99fAT/hYED/4uIBP+SjgT/mZUE/5uY + Bv+bmAb/o6AE/5OOA/+NiAX/jYYG/4+GBv+Phgb/kIgF/5GKBv+RiQX/jYUE/4yCBv+Ngwf/j4QG/5GE + Bv+Thgb/kYUF/46DBP+MgAT/iX4D/4l+BP+KgQT/ioED/4R6BP+BdgX/gXYF/4B2BP+AdgT/f3UE/390 + BP9+cwP/fHME/3txBf96cAT/dm8E/3JtBP9yawT/cGoD/3BqA/9vagP/b2oD/29rA/9vbAP/b2wD/29t + A/9xbwP/dHEC/3h2BP93dgX/cnAF/3BuBf9vawb/bWYH/2pkBP/j4tna4d/dw9HNyrDEwLyjtrKtlenn + 5t0TEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNrZ2enLx8Oh08/MrN/d2r349fjRbYNB+UVmCf9OcRL/U3cT/1Z/Ev9ahxH/XIcR/12C + D/9bfg3/XHgN/1tyDf9ZbQv/WGkM/1ppC/9cagr/X20I/2JxCP9icQf/ZHEI/2ZyBv9rcwX/bnUG/3F3 + B/92ewX/fH8G/36ABf+AgwX/goMD/4OEBP+CggX/k5Mw/4aHF/95eQD/dHQE/3d3Bf95egX/ensE/3p6 + Bf95eQX/eXoG/3x8BP+EgQP/jIkD/5OPBf+alQX/nJcG/56ZBv+gnQX/j4sE/4yHBP+Lhgb/jocF/4+F + Bf+QiAT/kYkF/4+HBf+KgwX/iYIF/4yDBv+Pgwb/kIUG/5GGBv+PgwT/jYEE/4t/BP+IfQP/iH0D/4yB + Bf+IfwX/gXgD/4B2Bf+AdQX/gHUF/4B1Bf9/dAT/f3QF/31zBP97cgP/enAE/3luBP92bQP/c20E/3Jr + BP9vagP/b2oD/29qA/9vawL/cGwD/3BsA/9vbAP/cG4D/3FvA/9zcgL/d3cE/3RzBf9vbQX/bWwD/21o + Bf9rZQf/aGEE/+Lh2dvh393D0c3KsMTAvKO2sq2V6ejm3RMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2trZ6cvIxKLTz8yt4N3avfj1 + +NFsgkD5RWQJ/05vEf9RdRH/Vn0Q/1qEEf9chRD/XIEQ/1x9D/9cdg7/XHEO/1lsDP9YaAr/WmkK/1xq + Cf9fbQj/YXAH/2JwB/9icAb/ZXAG/2pxB/9tdQb/cHkG/3Z8Bf96fwT/fYAD/3+CBP+CggT/gYID/4CC + Bf+TlDH/g4UT/3Z5AP9zdAT/eHYE/3l5Bf95eQX/eHgE/3l5Bf95eQX/fXsD/4WCBP+MiQP/k48E/5uW + Bv+alQX/oJsG/56aBP+NiQP/i4UF/4yEBv+MhQb/jYUE/4+HA/+PhwT/jYQE/4iBBf+IgAT/ioID/46D + BP+QhQT/j4UE/42BA/+LfwT/iX4E/4d8A/+KfwT/jIEF/4Z8Bf9/dQP/f3QE/4B1Bf9/dAT/f3QE/35z + BP99cgP/e3ED/3pwBP96cAT/eG0E/3RsBP9ybAP/cWoD/29qA/9vagP/b2oD/25rA/9vbAP/b2sC/29s + A/9wbQP/cXAC/3R0A/91dQP/b24D/2xrBP9raQT/a2UE/2ljBf9mYQX/4uDZ2+Hf3cPRzcqwxL+8o7ay + rZXp6ObdExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMja2tnpzMjEodTQzKzg3dq9+PX40WuBP/lEYwj/T24R/1FzEP9VfQ//WoMP/1yE + D/9agRD/W3wO/1t1D/9ccQ3/WmwK/1hoCv9ZaAn/XGoJ/19sCf9hbQn/Ym8H/2JwBv9lcAb/anEH/21y + B/9xeAj/dXsH/3p8BP99gQT/foEE/3+BBP9+gQL/gYIH/5SUMv+Bgw7/dXgB/3JzBP93dQX/eHgF/3h5 + BP94eAT/eHgE/3h4BP9+fAT/hoIF/42JA/+UkAT/mZUH/5eTBf+hnQT/mpUF/4yIBP+LhAX/i4QF/4qE + BP+LhQX/j4cD/46HBP+KggX/h38D/4d/BP+KggP/jYIE/46CBP+NggT/ioAE/4l/A/+HfQT/hnwE/4t/ + BP+KgAT/g3kD/350BP9/dAT/f3QE/390BP9+cwP/fnME/31yBP96cAT/enAE/3lvA/91bgP/c2wF/3Jr + BP9xagP/b2oD/29qA/9vaQP/b2oD/29sAv9uawL/b2wD/3BtBP9ycQP/dXQD/3JyAv9sawP/a2oD/2lm + BP9oZAX/ZmIE/2RgA//i4Nnb4d/dw9HNyrDEv7yjtrKtleno5t0TEhHaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNra2enMyMSh1NDMrODe + 27359fnRbIE/+URjB/9NbBD/UXIQ/1Z6D/9ZgRD/W4MP/1uAD/9cewz/XXYL/1xxDP9abAr/WGgJ/1lo + Cv9baQj/XmsJ/2BtB/9hbwb/Ym8G/2VvBf9qcQb/bHQF/3B2Bv90eQb/eX0E/3x/BP99gAT/foED/31/ + Av+Bgwr/lJQ0/3+BDf91dwP/cnEE/3Z1BP93dwX/eHcF/3d3BP93dwT/eHgF/358A/+GgwT/jYkE/5SQ + Bf+YlQX/l5QF/6GeBf+UkAT/i4UE/4uEBf+LgwX/ioIF/4qEBP+MhgT/jIUE/4iABP+GfwP/h4AE/4qB + BP+NggT/joIE/42BBf+KgAX/iH4E/4Z8A/+GfQP/ioAE/4d9Bf+AdgT/f3QE/390BP9/dAT/f3QF/35z + A/99cgT/fHEF/3pwBP96cAX/dW4E/3RtBP9zbAT/cGoD/3BqA/9vagP/bmoC/29rA/9vawP/bmsD/25r + Av9vbAP/cG4E/3NyA/90cwP/b24D/2tqA/9raQP/aWUE/2diBf9lYAX/ZF4D/+Lg2dvi393D0c7KsMS/ + vKO2sq2V6ejm3RMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI2trZ6c7JxaHV0cys4d7bvvn2+dFsgT/4RGEG/01sD/9RcQ//VXkO/1iA + EP9bgg//XH8O/1x6Df9ddgr/W3EL/1psCv9YaAn/WWgK/1ppB/9dagj/X2wG/2FvBf9ibwb/ZG8F/2lw + Bv9scwX/cHYG/3R5Bv94fAT/e34D/3yABP9+gQP/fH4B/4KDDP+TlDP/fX8K/3R1A/9xcQT/dHUE/3d3 + Bf93dwX/d3YE/3d2BP94dwX/fnwE/4aDA/+OigT/lZAG/5eTBP+YlAX/n50E/5GMBP+KgwX/ioMF/4qD + Bv+JgQb/ioIE/4qEBP+KggP/h34D/4Z9A/+HfwX/ioAE/42CBf+OggT/i4AF/4l+BP+HfAT/hHsD/4Z9 + A/+KgAT/hXwF/311BP9/dAT/f3QE/390BP9/dAX/fXID/3xwBP97cAX/enAD/3lvA/90bQT/cmwE/3Js + BP9xaQP/bmoD/29qA/9uagP/bmsC/29rA/9uawP/bmsC/29sA/9xbgP/c3MC/3NyA/9sbAL/a2gC/2lm + A/9nYwT/ZGEF/2NfBP9iXAL/4uHZ2+Lf3cPRzcqxxL+8o7ayrZXp6ObdExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMja2tnpzsnGodXR + zKzh3tu++fb60WyAPvhEYAX/TWsN/09wD/9VeA//WX4O/1yADv9cfg7/WnoM/1x2Cv9bcAn/WWsJ/1dn + Cv9YZwj/WmgG/11pCP9ebAj/YG4F/2FuBf9jbgb/aHAF/21zBv9udgb/dHgE/3h7Bf97fgP/fIAD/32A + A/97fQD/g4UQ/5GRMv97fQb/dHQE/3BxBf9zcwT/dnYE/3Z1BP92dQP/dnUE/3l3Bf9/fAT/h4QE/46K + BP+VkAb/lpIE/5qWBf+emwT/jogD/4mDBf+IggX/iIEF/4mABP+KgwT/ioME/4eAA/+FfAL/hnwE/4h+ + BP+KgAT/i4EF/4uABP+JfgT/h30D/4V7BP+EegX/iH8D/4qABP+DeQP/e3MD/31zBP9+cwT/fnMD/35z + A/99cQX/e3AF/3pwBP94bwP/d24D/3NtBP9ybAT/cmoE/3BpAv9uaQL/bmkC/25qAv9tagL/bmsD/25r + A/9uawL/b2wD/3FuA/90cwP/cG8C/2tpAv9oaAH/Z2QC/2ViBP9iYAP/YV4E/19aAv/i4dnb4d7dw9HN + yrHEv7yjt7Ktluno590TEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNva2enQy8ai1tPOreHe27759frRa389+ENgBf9Nag3/UG8N/1N3 + D/9YfA//W38N/1t9Df9Zegz/XHYK/1twCf9Zagn/V2cJ/1ZlB/9aZgf/W2kG/11rBv9gbQX/YG0E/2Nt + Bf9obwX/bHIG/291Bv90eAT/eHkG/3p8BP98gAL/fH4C/3l7AP+EhhX/kJAx/3t8A/9xcwP/cHAF/3N0 + BP92dAX/dXQE/3V0BP91dAT/eHcF/399BP+GhAT/j4oF/5WRBP+VkAX/nJgF/5qXA/+MhQX/iYIF/4iB + Bf+GgAb/iIAF/4iBBP+HgAX/hX0E/4R8A/+GfAP/iH4E/4qABP+KgAT/iYAE/4l+BP+FfAP/g3oE/4V6 + Bf+KfwX/iH0F/391Bf98cgT/fXME/35zBP99cwT/fXID/3xxBf96cQX/eW8D/3dtBP90bgX/c20E/3Jr + A/9vagL/bmoD/25pAv9uaQL/bmoC/25rA/9uawP/bmsD/25rAv9wbQL/cnED/3NyBP9tbAP/amgC/2Zm + Av9kYwT/Y2AD/2JfBP9gXQT/XlgD/+Lh2dvh3t3D0c3KscTAvKS4sq2X6ejn3RMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI29rZ6dDL + xqHW086s4d/cvvr2+tFrfz34Ql4G/0xpDf9Pbg3/VHUO/1h7Dv9afwz/W3wM/1p5C/9adgn/Wm8I/1lq + CP9WZgn/VmUH/1lmCP9caAf/XmoG/2BrBv9hawb/Y24E/2hwBP9scQX/b3QE/3N3BP93egX/ensD/3p+ + A/97fgP/eHsA/4aGGv+Ojy//eXwC/29xA/9vcQT/c3QE/3V0BP91dAT/dHMD/3V0BP93eQP/gH0D/4iE + BP+PiwX/k5AF/5OPBP+dmQX/l5IF/4iBBf+HgAX/h4EF/4aABP+GfwT/hn8D/4V9A/+DegP/gnoD/4R8 + A/+GfwT/iX4E/4l+BP+IfgP/iH0D/4R6BP+DeQP/hnsE/4p/BP+DewX/e3MF/3xyA/99cgP/fXID/3ty + A/97cQT/enAE/3pwBP94bgT/d20F/3NtBP9yawP/cmoD/29pAv9uaQL/bWgC/21qAv9tagP/bWoD/21q + Av9uawP/bmsC/3BtAv9zcgP/cXAD/2tqA/9oZgP/ZWQE/2NiBP9hXgP/YFwD/15bAv9bVwH/4eDZ2+Hf + 3cTRzsuyxcC8pLeyrZbp6OfdExIR2gAAAJgAAACCAAAAcAAAAGIAAABUAAAARgAAADoAAAAtAAAAFgAA + ABsAAAAlAAAAMAAAAD4AAABUAAAAbQAAAMjb2tnp0MzHodbTz63h39y9+fb60mp+PPlBXQX/S2gN/09s + Df9Tcw3/V3oN/1p8DP9afAz/WnkK/1pzCf9abgn/WWoI/1ZmCP9WZQf/WWYI/1xoB/9daQj/XmoG/2Bs + Bv9jbQT/Z28F/2lxBf9vdAT/cncD/3Z6A/93fAP/eX0C/3p9Av93egD/iIke/4yMLP94eQH/bnED/25w + A/9ycgT/dHMF/3RzBf90cwP/dXQD/3l5BP+BfgT/iIQE/4+LBP+TjwX/lI8E/56ZBf+RjgT/hoEE/4Z/ + Bf+GfgT/hX0E/4V+A/+FfQP/gnoE/4F4Bf+CeAX/hXsE/4Z+BP+IfgT/iX4F/4h9A/+FegT/g3gD/4N4 + A/+HfAP/ioAE/4B4A/96cQP/e3ID/3txBP97cQT/e3EE/3pwBP96cAT/enAE/3huBP93bQX/c2wF/3Jr + A/9vagP/bmkD/21oAv9uaQP/bWkD/21pA/9saAH/bWoC/25rA/9vbAP/cnAC/3JxA/9tbQP/aWcC/2dl + A/9lYwP/Yl8E/2FdA/9fWwP/XVkD/1pWAf/i4Nnb4d7dw9HPy7LFwLykt7Ktluno590TEhHaAAAAmAAA + AIIAAABwAAAAYgAAAFQAAABGAAAAOQAAACsAAAAWAAAAGwAAACUAAAAwAAAAPQAAAFMAAABsAAAAyNva + 2enQzMeh1tLOreDe2r349PrRan47+UJdAv9LaA7/Tm0N/1JzDP9WeQz/WnsM/1p7DP9ZeAr/WnMJ/1pu + Cf9Zagj/VWUH/1ZlB/9YZgj/WmcH/1xpCP9eagb/X2wF/2JsBP9obgb/anEF/250A/9zdwP/dXoC/3h8 + Av96fAL/enwD/3Z5AP+JiyP/i4so/3Z4AP9tbwL/bm8D/3JxBf9zcwX/c3IF/3RzBf91dAP/eXkD/4F/ + BP+IhQX/kIwF/5KPBf+UkAT/nZgF/46JBP+GfwT/hn8F/4Z+BP+DfAX/g3wE/4J7A/+AeQX/gHgF/4N5 + Bf+FewT/hnwE/4h+BP+HfgP/hnwD/4R6BP+CeAT/hHkD/4l/BP+IfgT/fXUD/3tyA/96cQT/e3EF/3tx + Bf96cAT/enAE/3pwBP95bwX/eG4E/3VsBf9ybAX/cGoD/29qA/9taQP/bWgC/25pA/9taAP/bWkD/2xp + Av9tawP/bWsE/29tA/9ycAT/cG4E/2poA/9oZgP/ZmQD/2RhA/9hXgT/X10C/1xZAv9bWAP/WVUC/+Hf + 2Nrg3tzC0c3LssTAvKS3sq2W6ejn3RMSEdoAAACXAAAAgQAAAG8AAABhAAAAUwAAAEUAAAA5AAAALAAA + ABYAAAAbAAAAJQAAAC8AAAA8AAAAUgAAAGsAAADI3Nva6dDMxqHU0s2s393ZvPfz+M5rfjv4Q10C/0tn + Df9Oawz/UHEL/1V3C/9Zegv/WXoL/1h3Cf9acwn/Wm4I/1hpB/9VZQf/VWQG/1dlBv9ZZgf/XGgG/15q + Bv9fawT/Y2wE/2htBf9qcAP/bXQD/3J3A/91eQL/d3wD/3l7A/95ewP/dXgA/4mLJ/+IiSX/dHYA/2xv + Av9tbwP/cHAD/3JyBP9zcgT/c3IE/3R0BP95eAP/gH4E/4mGBv+Piwb/kI0F/5WSBf+blwX/i4UF/4Z+ + BP+EfQT/g3wF/4F7Bf+BegT/f3gF/353BP9/dwT/gnkG/4N8A/+FfQT/hn4D/4V9A/+EewP/g3kE/4F3 + Bf+DegT/iX8E/4V8A/98cQT/e3AE/3pwBP97cQX/enAE/3pwBP96cAT/eG8E/3dtBf91bQT/cmwD/3Fq + A/9vagP/bmkC/21oAv9taAL/bGgC/2xoAv9saAL/bWkC/21rA/9sawL/bm4C/3FvA/9ubQP/aWcD/2hl + A/9lYgT/Y2AE/2FdA/9eWwL/W1kC/1pXAv9YVAL/397X19/c28DQzMmxw8C7pLeyrpfp6OfdExIR2gAA + AJcAAACBAAAAbgAAAGAAAABSAAAARAAAADgAAAArAAAAFAAAABkAAAAjAAAALgAAADoAAABPAAAAaQAA + AMjc29rp0MvGodTQy6rd2ti59PD0yWp8O/dDWwL/TGYM/09pDP9Rbgz/VHUK/1h6Cv9YeAr/WHUJ/1px + B/9Ybgf/VmgG/1VlBv9VZAb/V2UG/1pmBv9cZgb/XWkG/19rBP9jbAT/aG0D/2pwA/9scwT/cHYC/3Z3 + BP92eQX/eHoD/3h6Af91dwD/iowr/4aHIf9zdQH/am0D/21uBP9wcAP/cXED/3JyBP9zcgT/dHME/3l5 + A/+AgAX/iYYG/4+LBP+QjAP/lpME/5eTBf+IgQX/hH0E/4J9BP+BfAT/gHoF/4B5Bv99dgT/fXUE/391 + BP+CeAT/g3sE/4V8A/+FfAP/hHoE/4N5BP+BdwX/gHYE/4V7BP+IfwT/f3cE/3lvBP96cAT/enAE/3pw + BP96cAT/eXAD/3hvBP92bwT/c20D/3NsBP9xagP/b2oD/29qAv9uaQL/bWgC/21oAv9saAL/bGgC/2xo + Av9taQL/bGoC/2xrA/9vbwL/b28D/2ppAv9oZgL/ZmUC/2NiA/9hXwT/YVwD/11ZAv9bWAP/WVUC/1dS + Av/c2tPT3NnYvc7Lx67Dv7ujt7Kuluno590TEhHaAAAAlQAAAH8AAABsAAAAXwAAAFAAAABCAAAANgAA + ACkAAAAUAAAAGgAAACIAAAAsAAAAOAAAAE0AAABnAAAAx9zb2unPy8Sf0s3JqNnX1LXw7PDCaHo69UJb + Av9MZAv/TmkL/1BsC/9Vcwv/V3cK/1d3Cv9XdQj/WXIH/1dtB/9WaAb/VGQF/1NkBv9XZAb/WmUG/1xn + B/9daAT/YGoE/2JrA/9mbAP/aW8C/2xxBP9vdQP/c3cE/3Z4BP94eQT/eHgE/3R3AP+LjS//g4Uc/3N1 + AP9pbQL/bW0D/29vA/9vbwP/cHAD/3FyA/90cwT/eXkE/4CABf+Jhgb/jowF/46LBv+WkwX/k48E/4Z/ + Bf+DfQX/gnwE/4F7Bf+AeQb/fncF/3l0BP97dQT/fncE/4B4BP+DewP/hXsF/4V6BP+DeAX/g3cF/4B2 + Bf+AdwX/h34E/4Z+Bf99cwT/em8E/3pwBP96bwP/em8D/3pwBP94bwP/dm8E/3RuBf9zbgT/cmwD/3Bq + A/9uaQL/bmkC/25oA/9saAL/bGgC/2xoAv9saAL/bGgC/2xoA/9raQL/bWwC/3BvAv9tbAP/Z2YC/2Zl + A/9kYwP/YmAC/19eA/9eWwT/W1kB/1lWAv9XVAT/VVEB/9fWzszY1tS4y8fEq8K9uKG2sq2V6ejn3RMS + EdoAAACTAAAAfAAAAGkAAABcAAAATgAAAEAAAAA0AAAAKAAAABIAAAAYAAAAIAAAACkAAAA1AAAASgAA + AGMAAADG29rZ6M3JxJ/Oysam19PPsOzn67hgcy32OFQA/0BcAP9CXwD/RWUA/0prAP9MbgD/TG0A/01t + AP9QagD/TWQA/0xgAP9KWwD/SlsA/01bAP9QXAD/Ul4A/1VgAP9VYAD/V2IA/1xkAP9hZwD/ZGoA/2dt + AP9rbwD/bnAA/29xAP9vcAD/bG8A/4SHJf94egv/aWwA/2FjAP9jZgD/ZmcA/2dnAP9oaAD/aWkA/2xs + AP9xcgD/e3oA/4KBAP+HhQD/iIUA/5KPAP+HgwD/e3QA/3p0AP96dAD/eXIA/3ZvAP9xbAD/cGwA/3Ns + AP92bwD/eXEA/3xzAP99cwD/fXIA/3twAP96bwD/eW0A/3txAP+AeAD/fHQA/3FpAP9yaAD/cmgA/3Fn + AP9xZwD/cmgA/3FnAP9tZwD/bGYA/2tlAP9qYwD/Z2IA/2ZhAP9mYQD/ZGAA/2RgAP9jYAD/ZGAA/2Rg + AP9jXwD/Y2AA/2NiAP9mZgD/amcA/2NhAP9fXQD/XVsA/1tZAP9ZVwD/VVUA/1NRAP9RTgD/UEwA/05L + AP9MSAD/0c/GxNPQzrLIxMCnwLu2n7Wwq5bp6OfdExIR2QAAAI8AAAB5AAAAZgAAAFcAAABKAAAAPAAA + ADEAAAAmAAAAEAAAABUAAAAeAAAAJgAAADEAAABGAAAAXgAAAMXb2tnpy8fDn8vGwqLTz8qp3dnVssnK + u8fGybbRy9C82M7SvtzQ1cDg0tfB4tPYweLT18Hi0tjB4tPXweLT1sHi09XB4tLUwOLS1MDi0tTB4tPU + weLT1cDi1NXA4tTVwOLU1sDi1dbB4tbXweLX18Hi19jB4tjYweLY2MHi2NjB4tjYwOLY18Di3dzJ4dnZ + xOHX1r/h1tW/4dbWwODW1r/g19a/39bWv9/W1r/f19a/39jXv9/Z2L/f29m/39vZv9/c2r/e3ty/3tva + v97Z17/e2de/3tnXv97Z17/e2Na/3tfWvt7X1r/e2Na+3tjWv97Z17/e2de+3trXv97a177f2de/39nW + v9/Z1r/f2de+39rZv9/Z2L/f19bA39fWv9/Y1b/f2NW/39jVv9/Y1b/f2NW/4NjVv+DX1b/g19W+4NfU + vuDW1b/g1tW/4NbVv+DW1L/g1tS/4NbUvuDV077g1dO+4NXTvuDV077g1NO+4dXUvuHV1L7h1NO+4dPS + vuHT0r7h09G+4dLRvuHS0b3h0M+94M7Mu93LybjZx8W008G+rcvSzsu2y8fFq8O/vKO9uLSdtrGrlevp + 5twTEhHYAAAAiwAAAHIAAABgAAAAUwAAAEYAAAA4AAAALQAAACMAAAAOAAAAEwAAABsAAAAjAAAALgAA + AEEAAABWAAAAxdLRz93LxsGcyMTAn87KxaTU0Mqq3trYsOPg4Lfn5OS+6ubowuzo6sXs6evG7Onrxuzp + 68bs6evG7Onrxuzp68bs6evG7Onrxuzq68bs6evG7errxuzp68fs6evH7Onrx+zq68br6uvG7Orrxuzq + 68bs6uvG7Orrxuzq68bs6erG7Onqxuvo6sbq6OjF6efpxero6sTq6OnE6+jpw+ro6cPo5ufC6ebnwejl + 58Lo5ufB6Obnwefk58Hn5OfB5+Tnwefk58Hm5efA5uXnwOfl58Dn5efA5+XnwOfm58Dn5ufA5+bnwOfm + 58Dn5ufA6ObnwOfm58Dn5efA5+bnwefm58Hn5ufB5+bnwefm58Hn5efC6Obnwejm58Hp5ufB6Obnwujm + 58Lo5ufC6Obnwujm6MPo5ujD6Obow+jm6MPo5+jD6ejpw+ro6cPq6OnD6ujpw+ro6cPp5+jD6efow+fl + 58Tn5efE5+XnxOfl58Tm5ebE5uXmxObl5sTm5ebE5uXmxObl5sTn5ebF5+Xmxefl5sXn5ObE5OLiwuDf + 4L7d29q419TUscvHxavFwb2lwLu3oLq1sZu3sayV4uDf0REQENYAAACEAAAAbQAAAFoAAABNAAAAQQAA + ADUAAAAqAAAAIAAAAA0AAAASAAAAGQAAACAAAAApAAAAOgAAAE8AAACtcG9u5NzZ1a/EwLmYy8fBoM7J + xKPRzsmo1dLOrdfU0LDZ1dOz3NfVtdzZ1bbc2dW23NnVttzZ1bbb2NW23NnVttzY1bbb2NW23NnVttvY + 1bbc2dW23NjUttvY1Lfa2NS33NnVttzZ1bbb2dW23NnVttzZ1bbc2dW229nUttvZ1Lbb2NS22tfVtdvX + 1LXZ1tO02tbTs9nW07HZ1dOy2NXRsdfU0LDX1NCw1tLQsNXTz6/V08+v1dPOrtXSzq7V0s6u1dLOrtXS + zq7W0s6u1tLOrtbSzq7W0s6u1tLOrtbSzq7W0s6u1tLOrtbSzq7W0s6u1tLOrtbSzq7V086v1dPPr9XT + z7DW0tCw1tLQsNbT0LDX1NCw19TQsNfU0LDX1NCw19TQsNfU0LHX09Cx19PQsdfT0LHX1NCx19XRsdjV + 0rHY1dKx2NXSsdjW0rHY1dKx2NXRsdfU0LHX09Cx1tLPstbSz7LW0s+z1dHPs9TRzrPU0c2z1NHNs9TR + zrPU0c2z1NHOtNTRzrTU0c601NHOtNPQzbPRzsyzz8zJsMzJxazIxcGpw7+8o8C7t6C9uLOdtK+qldLN + yaaHhoXfBQUFxAAAAHkAAABkAAAAUwAAAEYAAAA7AAAAMAAAACYAAAAdAAAACwAAAA8AAAAVAAAAHAAA + ACUAAAAyAAAARwAAAHkSERDm29nX19DMxpzDvreXysS+ncrIwqDNyMSjzsvFpc/Lx6bRzcin0c3Ip9HN + yKfRzcin0c3Ip9LOyKfSzsin0s7Ip9LOyKfRzcin0s7Ip9LOyKfSzsin0s3IqNHNyajRzsin0c7Ip9HO + yKfRzsin0c7Ip9HOyKfRzsmn0c7Jp9HMx6fQzMimz8vHps/LxaXPy8WkzsrFos7JxKPMxsOizMbBocvH + waDKx8GgycXAoMnFvp/Jxb+fyca/n8nFv5/JxL+fycS/n8nEv5/Jxr+eycW/nsnFv57Jxb+eycW/nsnF + v57Jxb+eycW/nsnGv57Jxr+fyca/n8nGwKDJxcCgycXBocnFwaHJxcGhysbBoMzGwaHMxsGhzMbBocvH + waHLxsGhy8XCosvFwqLLxcKiy8XCoszJw6LNycSizcnEos3JxKLNycSizcjEos3Hw6LNx8OizMfCosvG + waPJxcGjycXBo8jEwaTIxMCkx8S/pMfEv6THxMCkyMTApMfDv6XHw7+lx8O/pcfDv6XHw7+lx8O/pcXB + vaXDwLykwr66o7+7t5+9ubWdu7axnLSvqZW+urSV4+DeyyspKO0AAAChAAAAbAAAAFoAAABLAAAAQAAA + ADUAAAArAAAAIgAAABkAAAAJAAAADQAAABMAAAAZAAAAIQAAACoAAAA6AAAAXgMCAqdVVVT13tzZz+fk + 3arHwruWwr63lcPAuZbFwbuXx8G8mMfCvJjHwbyYx8G8mMfBvJjHwryYyMO8mMjDvJjIw7yYyMO8mMfC + vJjIw7yYyMO8mMjDvJjIxLyZx8S9mcfEvJnHw7yYx8O8mMfDvJjHw7yYxsG7mMbBu5jGwbuYxsC6l8XA + upbDvrmVw764lcG8tpTBu7WTwLu0k765spK+ubGQvbexj763sY+9uLGPvbiwjry4r467t6+Ou7evjru2 + r467tq+Ou7avjru3r468tq+Ovbavjb22r428tq+NvLavjby2r428tq+Nu7avjru2r467tq+OvLawj7y2 + sJC8tbCQvLawkL23sZC+ubGPvrixkL64sZC+uLGQvriykb63spG+t7KRvreykb63spG/ubOQwLu0kcC7 + s5HAu7ORwLuzkcG6tJLBubSSwbm0kr+5s5K+uLKTvLexk7u2sZS7trGUurWwlLm1sJS4ta+UurWvlLm1 + sJW5tK+VubSvlbm0r5W5tK+VubSvlbizr5W4s66WuLOulrezrpa3sq2VtrCrlLSvqpK3sa2T1tHOpOPi + 38hsbGrzCQgIwQAAAHsAAABfAAAATgAAAEIAAAA4AAAALwAAACUAAAAeAAAAFQAAAAgAAAALAAAAEAAA + ABQAAAAbAAAAIwAAAC4AAABLAAAAYQAAAKk3NzfxgoF/4eHg3tH39vPS8vHu0vPx79Lz8u/S8/Hv0vPx + 79Lz8e/S8/Hv0vPy79Lz8u/S8/Lv0vPy79Lz8u/S8/Lv0vXy79L08u/S8/Lv0vPy79Lz8u/S8/Lv0vPy + 79Lz8u/S8/Lv0vPy79Ly8e7S8/Hu0vPw7tLz8O/S8/Hu0fLx7tDx8O3Q8e/tz/Hu7NDv7uvQ7+3rz/Du + 687w7evO8O3rzu/t687w7uvO7+3rzu/t687v7evO7+3rzu/t687v7evO7+3rzu/t687v7erN7+3qzfHt + 683y7uzM8u7szPLu7M3y7uzN8e7szfDt7M7x7ezO8e3szvHu7M7x7+zO8e/szvHv7M7x7+zO8e/szvLv + 7M7z7+3O8+/tzvPv7c7z7+3O8+/tzvPw7c7z8O3O8/DtzvPw7c7z8O3O8+/tz/Pw7c/z8O3P8vDsz/Lv + 7M/y7+zP8e7sz/Hu7M/x7uzP7+7r0PHu7M/x7uvQ8O3r0PDt69Dw7evQ8O3r0PDt69Dw7evQ8O3r0fDt + 69Hw7evR8O3r0fDt69Dw7evR8/Dt0Ojl49CPjYzdQD8/8gEBAcMAAAB5AAAAXwAAAFAAAABCAAAAOQAA + ADAAAAAoAAAAIAAAABkAAAASAAAABgAAAAgAAAANAAAAEAAAABUAAAAcAAAAJAAAADcAAABMAAAAYAAA + AIYEAwO9KSko6TEwMOMvLy7jLy8u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8u + LuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8vLuMvLy7jLy4u4y8u + LuMvLy7jLy8u4y8vLuMwLy7jLy8u4y8vLuMvLy7jMC8u4zAvLuMwLy7jLy8u4y8vLuMvLy7jLy8u4y8v + LuMvLy7jLy8u4y8vLuMvLy7jLy8u4y8vLuMvLy7jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAv + L+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAv + L+MwLy/jMC8v4zAvL+MwLy7jMC8u4zAvLuMwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy7jMS8v4zAv + LuMwLy7jMC8u4zAvLuMwLy7jMC8u4zAvLuMwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MxMDDjLS0s5woJ + CMwAAACWAAAAdAAAAFsAAABOAAAAQgAAADgAAAAwAAAAKAAAACIAAAAbAAAAFAAAAA4AAAAHAAAACAAA + AAwAAAAQAAAAFQAAABsAAAAiAAAALAAAADkAAABGAAAAUAAAAGAAAABsAAAAcAAAAHIAAABzAAAAdQAA + AHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAA + AHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHcAAAB2AAAAdgAA + AHYAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAA + AHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAA + AHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAA + AHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHYAAAB3AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAA + AHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHUAAAB0AAAAbAAAAGAAAABXAAAATAAAAEIAAAA4AAAAMQAA + ACsAAAAkAAAAHwAAABkAAAATAAAADgAAAAUAAAAGAAAACQAAAAwAAAAQAAAAFQAAABoAAAAhAAAAKAAA + ADEAAAA4AAAAPwAAAEMAAABIAAAASwAAAEwAAABOAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAATwAA + AE0AAABJAAAARQAAAD4AAAA4AAAAMwAAAC0AAAAoAAAAIwAAAB0AAAAYAAAAEwAAAA4AAAAKAAAABAAA + AAUAAAAHAAAACQAAAAwAAAAPAAAAFAAAABgAAAAdAAAAIgAAACYAAAArAAAALgAAADEAAAAzAAAANQAA + ADYAAAA3AAAAOAAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANgAAADMAAAAyAAAALgAAACoAAAAnAAAAIwAA + AB8AAAAbAAAAFgAAABEAAAAOAAAACwAAAAgAAAACAAAAAwAAAAUAAAAHAAAACQAAAAsAAAAPAAAAEwAA + ABUAAAAYAAAAHAAAAB8AAAAhAAAAJAAAACYAAAAnAAAAKAAAACkAAAAqAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAAoAAAAJgAAACUAAAAjAAAAIAAAAB4AAAAaAAAAFwAAABQAAAARAAAADQAAAAoAAAAJAAAABgAA + AAEAAAACAAAAAwAAAAQAAAAHAAAACAAAAAsAAAAOAAAAEAAAABEAAAAVAAAAFwAAABkAAAAcAAAAHQAA + AB0AAAAfAAAAHwAAACAAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAdAAAAHQAAABsAAAAYAAAAFgAA + ABMAAAARAAAADwAAAA0AAAAJAAAABwAAAAcAAAADAAAAAQAAAAEAAAACAAAAAwAAAAQAAAAFAAAABwAA + AAkAAAALAAAADAAAAA4AAAAQAAAAEgAAABQAAAAVAAAAFQAAABcAAAAXAAAAGAAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABUAAAAVAAAAEwAAABEAAAAPAAAADgAAAAwAAAAKAAAACAAAAAYAAAAFAAAABAAA + AAIAAAABAAAAAQAAAAEAAAACAAAAAwAAAAMAAAAFAAAABgAAAAcAAAAIAAAACgAAAAsAAAAMAAAADQAA + AA8AAAAPAAAADwAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAPAAAADwAAAA4AAAANAAAACwAA + AAsAAAAJAAAACAAAAAYAAAAFAAAABAAAAAMAAAADAAAAAQAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAA + AAIAAAADAAAABAAAAAQAAAAFAAAABwAAAAcAAAAIAAAACQAAAAkAAAAJAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAkAAAAJAAAACQAAAAcAAAAHAAAABgAAAAUAAAAEAAAABAAAAAIAAAACAAAAAgAA + AAEAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAIAAAADAAAAAwAAAAQAAAAFAAAABQAA + AAYAAAAHAAAABwAAAAcAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABwAAAAcAAAAHAAAABQAA + AAUAAAAFAAAABAAAAAMAAAADAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEA + IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABgAAAA4AAAAXAAAAIAAAACcAAAArAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAArAAAAJwAAAB8AAAAXAAAADQAAAAYAAAAGAAAADgAAAB0AAAAtAAAAPQAA + AEgAAABOAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABOAAAASAAAAD0AAAAtAAAAHAAAAA0AAAALAAAAGQAA + ADAAAABHAAAAWwAAAGkAAABwAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABwAAAAaQAAAF0AAABIAAAALwAA + ABgAAAARAAAAJAAAAEEAAABsCgoLpBgYGLIWFxe0FxcXtBcXF7QXFxe0FxcXtRcXGLQXFxi0FxgYtBcY + GLQXGBi0GBgYtBcYGLQXFxi0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe1FxcXtRcXF7UXFxe0FxcXtBcX + F7QXFxe0FhcXtBYWF7QWFhe0FhYWtBYWF7QXFxe0FxcXtBcXF7QXFxe0FxcXtBcXF7QYGBi1AQECpgAA + AHkAAABfAAAAQQAAACQAAAAXAAAALAAAAF05OTe7joiApZOMgpSRiICTjIR6kod/dZCEe3KPgHlvjn54 + bY18dWuMeXJni3lyZ4t5cWeLeG5mi3lvZot7cmiKgHdsi4N7coyIf3aMjIJ4jIyFeo2NhnuOjYd8j4+H + fo+Qh3+PkYh/j5KJf4+SiYCPk4uAkJOMgpCTjIKQlIyCkJOLgZCPiH6OjIR6jYuCeIyMg3mNj4d9jpGJ + gI+SioCOfnlzshcXF7UAAABxAAAAUAAAAC4AAAAbAAAAMAkJCYmSjIasnpWJcLKmnYW/s6yQvbKrkbqv + p4+3rKWNtaujjLOqoYuxp5+KsKWdia6knYmuo52JrqKdiq+knYmypp+JtKqjibitp4q7saqKvLKri7yz + q4u7s6yMvLOtjLyzrYy9s66NvbSujb21ro29ta6OvLaujru2ro68tq6Ovbevjry1ro66s6yMuLKri7ex + rIu5s6+Mu7SyjbStqYaelY10n5WIbGdlYb0AAACJAAAAVgAAADMAAAAcAAAAMhESEpKpoZqlsriymXPd + 4+tx4Ofyc+Dn83Xg5/N24ObzeeHl83zi5fJ/4uTyguPk8oXj4vKH4+LyieTg8ozl3/KP5d/yk+bf8pfo + 4PKc6eLyoOrj8qTs4vKo7uLzrfDi8rLz4fK29uHzvPjh88T64fPO++Tz3vvq8+z78/P5+/nz//v98//7 + /vP/+/3y//v38vz77fL3++Lz9vvR8/P5vu7V1rm7qaKbdX98d7UAAACRAAAAWQAAADYAAAAdAAAAMxAQ + EJGwqKKsws7JsEjd5P882d//Pdna/z7Z1/8/2dX/QdnT/0ba0v9K29D/S9vO/07by/9Q3Mn/U9zH/1be + xf9a4cP/XeTC/2Lowv9o78T/cPXH/336zv+M/db/nf/g/7L/6v/F//H/2v/5/+///f/3//z/+f/8//r/ + +v/y/+v/4f/e/7/92v+3/dn/wv7O/8r/sf/V/Zv/2vyO/9f9jP/Q5r7WvbOxgn57d7gAAACRAAAAWgAA + ADcAAAAdAAAAMw8PD5G0q6avxtLPtjzT2f8v0NP/MtDR/zPPz/800Mv/N9DJ/zrQyP880cX/PdLD/0DV + wf9F2cL/St7E/1LlyP9b7M3/ZvLT/3H42P97/d3/gv/g/4v/5P+Z/+j/qf/r/7n/7P/E/+f/x//b/7// + zP+0/L//pfm1/5n3r/+M9qv/ePWs/3P3uP+C+sP/hf3J/5D9y/+q+7n/uO2R/7XXZ//P2a3Zxb27iIB9 + ebkAAACRAAAAWgAAADcAAAAdAAAAMw8PD5G1rqiwx9PQtzjS1f8sz9D/MdDP/zLRzv811M7/OdfP/z/b + 0f9E4dX/TOjY/1Pu3P9a9OD/YPni/2X74f9q/N//bv7d/3T/2/96/9r/gf/X/4r+1P+Q/Mv/kfi//43z + sP+F7p//gOmT/4Hmjf+G5Yr/j+WI/5bmh/+a5ob/nOKG/57ahv+k14n/qdyM/6zmkP+k7pT/n/CW/6Hi + hf/K27fayL+9i4J/e7oAAACRAAAAWgAAADYAAAAdAAAAMw8PD5G3r6qxydXRuT7Y1/8z2dX/Ot3Y/0Di + 3P9F6N//SOrg/0nq2/9M6tb/TujQ/0/myf9R58P/VerB/1zwwv9k9cL/a/fA/2/yuf9w6q//buKh/2vb + lf9r2Y3/dNmM/33bi/+C24f/h9uC/4jafv+K1Hr/ic10/4fFbf+Ivmj/jLhg/5K3Vf+Ttkv/lLVO/5m2 + Vf+kvl3/rsti/7HXbf/S4LzbysLAjYOAfLsAAACQAAAAWgAAADYAAAAdAAAAMw8PD5G4sKyzytfTukbh + 3P853tb/PNvR/z/azf8/2Mj/QNTC/z/Quf9D0bb/Ste4/1Leuv9a5L3/X+S5/1/esP9f1qL/X8+X/2HM + kP9lz4z/bNOJ/3HWiP9314T/ftWD/4PRf/9+yHP/eb5o/3m4Y/97s1//f7Bc/4WwVv+MtVH/j7xS/5DA + W/+TxGT/nMVl/6HDYP+kwFj/qLtS/6mzQP/Qz6LczcfHkISBfrwAAACQAAAAWgAAADYAAAAdAAAAMw8P + D5G5sq60y9bSuz/Kwf8yxLf/NsO0/zvHtv9Bzbv/RtXA/0vZv/9O2rv/Udaz/1PQqf9VyqH/WMia/13L + lf9j0JL/adOQ/27VjP9w04b/cM5+/3DHdf9wwm//e8Nx/4bGcf+CwWX/gb9e/4i/Xv+Mw1z/kMdc/5DM + Yf+Mz27/i8tz/47BbP+PuWD/kbJU/5KoSf+WokH/mJw6/5aRKv/Iw5vc0MzKkYWCf70AAACQAAAAWgAA + ADYAAAAdAAAAMg8PD5G6s6+2zNbRvELFuP84xrb/QM27/0XSvf9J1L3/StK3/0vMrP9MyKT/Ucug/1rR + of9j2KH/a9ye/3Dcl/9x2o//c9eI/3fVgf961Xz/ftV2/4DUcP+F02r/ldRu/5nTbv+JyWX/gcZi/4PH + XP+FwlT/grdU/32pVf98nUn/fJM8/3uLNP98hi//gIMr/4SBKP+IgCf/i4Em/4x8Gv/GvZbd08/Nk4eE + gb0AAACQAAAAWgAAADYAAAAdAAAAMg8PD5G8tbC2ztnTvUrQvv8+yrT/Qsqv/0fMrf9P07H/WN22/1/l + t/9j6rT/au2v/3Lsqf956qP/gead/4LilP+A3Ir/f9N+/33Mc/97xGn/d7th/3KyXf9vr2H/d7Zx/3O4 + cP9pr1n/cadC/3icNP90ji//coYq/3SDJv92giT/d38j/3h8If96eiD/fHgg/4B4IP+DeSD/h3oi/4h2 + F//Eu5be1tHQlYeEgb4AAACQAAAAWgAAADYAAAAdAAAAMg8PD5G8tbG4z9nTvlbXvf9S2rv/WuK//2Hp + wv9o7ML/be2//2zps/9p4KX/adWX/2nMjP9txIH/cLx3/22zbf9nqWP/ZKJd/2GdW/9dmlv/XJlc/1yc + W/9lpVn/drBT/3imO/9xjyf/b4Qk/2yAJf9sfiT/cH4j/3aAIv96fx//ense/3l4Hv95dx3/e3Ue/351 + Hv+Adh//hHcf/4VyFf/Dupbe19PSl4eFgr8AAACQAAAAWgAAADYAAAAdAAAAMg8PD5G9trO40dvVv2Te + v/9Y17P/Vs+o/1PHnP9Tv5T/U7mO/1KzhP9Qqnb/UKFr/1OeZv9anmP/YKFk/2CfYv9cmV3/XJhc/1yY + V/9emFD/ZJpH/2eYOv9wmS//fZ0p/3aPJP9qfSH/an0h/25/IP9yfh7/dX4d/3yAHf99fxz/e3oc/3l2 + HP94dBv/eXMc/3tzHP99dBz/gnQd/4JvEv/CuZXe2NTUmIiGg8AAAACQAAAAWgAAADYAAAAdAAAAMg8P + D5C9t7W50NjSwE+3lv9Bq4f/QqF9/0KddP9FnXL/SJ5w/0uebf9Lmmf/TJVi/1CUYP9ZmV//YqFe/2Wf + Wf9imVL/ZZlM/2eYQ/9olDn/Zo0s/2aFJP90jSL/f5Yj/3KHH/9peRz/bHsb/3F+Gv91gRr/eoAa/4CD + Gv9/gBn/fHsa/3l2Gv94chn/eHEa/3lxGf98cRr/gHIb/4BsEP/BuJTf2dbWmoiGg8AAAACQAAAAWgAA + ADYAAAAdAAAAMg8PD5C+ura60NbQwUmjgP8/nHP/QpVs/0GRZv9EkmX/R5Vn/0uYZv9NlmH/T5Nb/1SU + V/9fmlT/a6JT/26hTP9tm0P/b5g7/2iOL/9khCX/Zn8g/26AHf97jR7/fZAe/3GBG/9reRj/b3wX/3SB + F/95gxj/foMX/4SGGP+Dghj/fnwY/3p2GP93chj/d3AY/3hvGP96bxj/fXAZ/31qDv/BuJTg3NjXm4mH + hMEAAACQAAAAWgAAADYAAAAdAAAAMg8PDpC/ure70NbPwUmedP9Al2r/Qo9k/0OLX/9FjF3/SZBc/06T + Wv9Qk1b/U5JR/1qTTP9onEj/eKVE/3qhPf9vlDH/bIwo/2mDIf9rgBz/bX0Z/3B+GP96ixr/fI4a/3F/ + F/9ufBb/cn8V/3qEFf99gxb/gYUW/4eHFv+Fgxb/f3wV/3t1Fv94chb/d28W/3duFv94bhb/fG4X/3to + DP/AuJTg3dnYm4mHhMEAAACQAAAAWgAAADYAAAAdAAAAMg8ODpC/u7i70NbPwkuabf9ClGH/RI1a/0WH + U/9JiFH/TItP/1GOTv9XlEr/XZdG/2aZQP92ojz/gaY1/3eYLP9uiiP/c4oe/3KEGv9wfxX/bnsU/3KA + Fv99jxj/fo8Y/3KAFP9yfhT/eIMU/4CIFP9+hRP/hogU/4iIFP+FgxT/f3wT/3x2E/95cxT/eHAU/3dt + Ff93bRX/e20V/3hmCv/At5Pg3dnanYqIhcEAAACQAAAAWgAAADYAAAAdAAAAMg4ODpDAvLm80dbPwk6Y + Y/9Gk1b/R4pQ/0iCSP9Kgkb/UIhD/1uUQv9kmz7/ap87/3OhNf94nSz/fZok/3mSIP92ihv/e4wZ/3aF + Fv9xgBT/bnwS/3aFE/+DkxX/hZIV/3aDEv94gxL/f4cS/4SMEv+BhxH/iYoR/4iJEv+EgxL/gHwQ/3x3 + Ef97dBL/eXET/3duE/94bRP/eWwU/3dlCf/At5Ph3trbnYqIhcIAAACQAAAAWgAAADYAAAAdAAAAMg8O + DpDAvLm80dbNw1GUWP9Jkk3/TIhH/0yAP/9Vizz/YJc6/2WYN/9upTX/cKAv/22OJf93kSD/g5oe/3+S + HP97ixf/go0W/3qGFP90gBL/c38R/3+LE/+LmRT/ipUU/3yGEf9+iBH/hY0R/4aNEf+FiQ7/iYsP/4iI + D/+EgRD/f3wP/314D/99dhD/fHMR/3pvEv95bRL/em0S/3dmB//AuJLh3trbnouIhsIAAACQAAAAWgAA + ADYAAAAdAAAAMg8ODpDAvLq80tXNw1SSUP9LkEP/U44//16VOv9hlDT/ZZgx/26sL/9qmCf/ZYIg/3CJ + Hv9/lRz/ipsa/4WSGv+AixX/hI0T/3yGEv94gQ//eYMQ/4aSEv+SnhL/i5YR/4CKD/+Ciw7/ipEQ/4iN + D/+Jiw3/i4wN/4iGDP+EgQ7/gHsN/394Df+BeA//gHUP/35yEP99bhH/fG0R/3loBv/BuZLh39zcn4uJ + hsIAAACPAAAAWgAAADYAAAAdAAAAMg8PD5HBvLq90tXMxFWRR/9Znz3/ZaM6/2CPMP9koC7/aa4t/2WN + JP9kfR//a4Qd/3eNG/+Flhj/j5sX/4iSGv+CihL/g4wQ/32GDv96gg7/focO/42XEP+XoBD/jZUP/4WN + Df+Hjg3/j5QP/4iMDv+NjAz/jooM/4mECv+Cfwz/f3oL/4F4DP+DeA3/gnUN/4BzDv9+bw//fW4P/3xr + BP/Cu5Lh39zcn4uJhsMAAACQAAAAWgAAADYAAAAdAAAAMg8PD5HAvLu+09bMxGOjQv9hpjb/X5cx/2Wu + Lv9ipCn/XH4h/2WAHv9qghz/b4Ua/32NF/+LlhX/kpoW/4mQGP+CiA//g4sN/3+GDP98gwv/g4oM/5Sb + Dv+coQ//jZMN/4iODP+MkQz/kJYN/4uLDP+Rjgr/j4oL/4mDCf+CfQr/gHkK/4J4C/+DeAz/g3YN/4Bz + Df9/bw3/fm8N/35uA//DvZLh3tzcoIuJhsMAAACPAAAAWgAAADYAAAAdAAAAMg8PD5HCvbu91NjMxF+Z + O/9boTD/Zr4z/16YKP9YdR//X3sd/2iDG/9sghj/coUX/4COFP+NlxP/kpkW/4iOFf+CiAz/hYkM/4CF + Cv9/hQn/iI4L/5qeDf+doQ3/jZIL/4uQC/+RlQv/kpQL/46MCf+Ujwn/j4kJ/4mDCP+DfQn/gXkI/4N5 + CP+DeAr/gnYL/39yDP9+bwv/gHEM/4BxAv/EvpHh39vcoIuIhcQAAACPAAAAWgAAADYAAAAdAAAAMg8P + D5DCvby+09TLxGCiOf9hwTH/W5cp/1l3H/9beBv/YXwZ/2uDF/9tgRX/dYUT/4OOEv+Plg//kpcT/4eM + Ev+DiAr/hYkJ/4KFCP+Bhgj/jpII/56hC/+doAv/jZEJ/46RCv+WmAr/k5EJ/5KOCP+Ujwj/j4kI/4mC + B/+DfQb/gXoG/4N5B/+Cdwn/gXQK/35xCv99bwn/gHIL/4FzAP/Ev5Hi3drboYqIhcQAAACPAAAAWgAA + ADYAAAAdAAAAMg8PD5DBvLy/1dzMxWG4N/9WkSX/WoUi/1t8HP9cdxn/YnsW/2uBFP9vgBH/d4UQ/4WN + EP+OlQv/kZUQ/4aKEP+Dhgf/hYgH/4KEB/+Ehgf/lJUH/6GiCv+cnQn/kZEH/5OSCP+ZmAn/ko8I/5WQ + B/+Vjwf/j4gH/4mCBv+EfQX/gnoF/4J4Bv+Cdgf/fnQI/3twCP97cAj/gXQK/4F1AP/Ev5Hi3djbooqI + hcQAAACPAAAAWgAAADYAAAAdAAAAMg8PD5DBvr2/1NbLxlmELP9Wih//XIkg/1x7Gf9cdhb/Y3kU/2x/ + Ef9ufw7/eYQN/4SNDP+Nkwj/kZQQ/4WJDf+EhQX/hoYF/4KEBv+GhwX/mJgG/6OkBv+bmgf/k5EH/5aV + Bv+Zlwf/ko8F/5eRBv+VjgX/jocG/4iBBf+EfAT/g3sE/4J4Bf9/dQb/fHIG/3pvBv97cQb/gnYJ/4J3 + AP/Ev5Di3NnbooqIhcQAAACPAAAAWgAAADYAAAAdAAAAMg8PDpDDvr2/1NXLxleCKf9Xixz/XIoe/1t6 + GP9ddBX/Y3cS/2t8D/9vfQ3/eYIM/4SLC/+MkQj/kJIS/4SGDP+DhAP/hYUF/4KDBf+KiQX/m5oG/6Ok + Bf+YlgX/k5AG/5iWBv+Wkwb/lI8F/5iRBv+Tiwb/jYQG/4d/BP+EfAP/g3sE/4B4Bf99dAT/enAF/3du + Bv96cQb/gHYI/4J3AP/EwI/j3Nnbo4qIhcUAAACPAAAAWgAAADYAAAAdAAAAMg8PDpDDv77A1dXMxliA + KP9Wihv/XYob/1x6Fv9dchP/YnUQ/2t7Dv9tfAz/eIEL/4SKCv+Kjwf/jpET/4KECf+BggP/g4MF/4KC + Bv+NiwX/nZwF/6KiBv+VkwX/k5AG/5iVBv+Tjwb/lY4G/5ePBv+QiQb/i4IG/4V9BP+DfAP/g3oF/391 + Bf96cQT/dW4E/3RuBf94cQb/f3cI/4F5AP/EwY7j29nbpIqIhcUAAACPAAAAWgAAADYAAAAdAAAAMg8O + DpHEwL7A1dbMxll+Jv9XiRj/XooZ/1t6Ff9bcBL/YnMP/2l5DP9segv/d4AJ/4OJCP+KjQf/jpAV/4CC + CP+AgQP/gYIE/4GBBf+PjQX/n50G/6GeBf+Ujwb/lZAG/5iTBf+SiwX/lo4F/5WMBv+PhgX/iIAF/4R7 + A/+DewT/gngF/350BP93cAT/cm0E/3JtBP93cgX/fHcH/4B5AP/Bvo3j29jbpImIhcYAAACPAAAAWgAA + ADYAAAAdAAAAMg4ODpDEwL/A1tbMxll8I/9YhhX/XooY/1x5FP9cbxD/YXEN/2h3DP9teAr/dn8I/4GH + CP+Jiwf/jY4V/36AB/9/gAT/f4AD/4KBBP+Sjwb/oJ4G/56ZBv+SjAf/lY8G/5WQBf+RiQb/l4wG/5OJ + Bf+NgwX/h34E/4N6A/+DeQT/gHYE/3xyBP91bgT/cGsD/3FtBP91cQX/e3gG/3t3AP+9uo3j3NrbpYmI + hcYAAACPAAAAWgAAADYAAAAdAAAAMg4ODpDFwb/A1tfNx1d6If9XhBP/XokW/115Ev9bbg3/X3AM/2d0 + C/9sdgn/dX0H/4GGB/+IiQf/jI0W/3x+Bf9+fgP/fn4D/4OABP+UkQX/oZ4G/5qUBv+RiQf/lY4F/5KL + Bf+Qhwf/looG/5CFBf+LgQX/hnwE/4J4Bf+BdgX/fnME/3pwBP9zbAT/b2oD/3FtA/90cQT/e3oF/3Nw + AP+6uI3j3drbpYqIhcYAAACPAAAAWgAAADYAAAAdAAAAMg8ODpDHw8HB1tfNx1Z4H/9XghL/XogT/1x5 + EP9abA3/Xm4L/2VyCf9qdQf/dXwH/4GEBv+Ghwb/i4sY/3p7Bf98fQT/fHwD/4SBBP+VkwX/oZ0G/5WP + Bv+QiAX/k40F/4+HBf+Rhgb/k4cF/4yCBf+KgAT/hHkE/4F3Bf+AdQT/fHIE/3ZuBP9wawT/b2oD/3Bs + A/9zcQP/eXgF/21pAP+5tY3j3drbpYqIhsYAAACPAAAAWgAAADYAAAAdAAAAMg4ODpDHw8LB2NjOx1Z1 + H/9Vfw//XYYR/1x3Dv9Zag3/XmwK/2NxCP9qcwb/dHsG/3+DBf+EhQb/iYkZ/3h4A/96ewT/enoE/4WC + BP+XlAT/npsF/4+KBf+Phgb/kIkF/4yDBf+RhQb/kIMF/4p/BP+IfwP/gXcF/4B1BP9+cwT/enAE/3Ns + BP9wagP/b2oD/29sA/90cgP/dHMF/2diAP+2s4zj3drcpoqIhsYAAACPAAAAWgAAADYAAAAdAAAAMg4O + DpDHxMPB2NjOx1VyHf9Teg3/XIQQ/1x2Df9ZaQv/XWsI/2JwB/9pcQb/c3kG/36BBP+ChAf/hocZ/3V2 + Av94eAX/eXgE/4aDA/+ZlAX/m5cF/4yFBf+NhgX/jYUE/4mABP+PgwT/i4AE/4l+BP+FewT/f3QE/390 + BP98cgT/d24E/3JrA/9vagP/b2sD/29sA/9zcwP/bm0D/2FdAP+0sozj3drcpoqIhsYAAACPAAAAWgAA + ADYAAAAdAAAAMg4ODpDJxcTB2dnPx1RvG/9Sdgz/W4EO/1x1C/9ZaQn/W2kH/2BuBf9ocQX/cncG/3t+ + A/+Aggj/hIUY/3JzAv92dgX/eHcE/4iEBP+YlAX/lpIE/4iCBf+KgwX/iIAD/4h/BP+NgQT/h30E/4d+ + BP+BeAT/f3ME/31yBP96cAT/dG0E/3BqA/9uagP/bmsD/3BtA/9xcQP/aWcC/1xYAP+zsIvj3trcpoqI + hsYAAACPAAAAWgAAADYAAAAdAAAAMg4ODpDKx8XB2drQyFNtGf9Rcgv/W34N/1t0Cv9YaAj/WmcH/19s + Bv9mbwX/cXYE/3l8Av9/gQr/goIW/3BxAv91dAT/d3YE/4mFBP+YlAX/kYwF/4Z/Bf+GfwT/g3sE/4h+ + BP+JfgT/hXsD/4Z8BP99dAT/fXIE/3txBP93bgT/cWsD/25pAv9tagL/bWoC/3FvA/9tbAP/ZGID/1dU + AP+xrovk39vcqIqIhscAAACPAAAAWgAAADYAAAAbAAAAMQ4ODo/Kx8XB2NjOxlFpFv9NbQb/V3oJ/1hx + Bv9UZQT/V2QE/1xoA/9kbAH/bnMA/3Z5AP99fwr/fX4S/2xtAP9xcAH/dnUB/4iFAv+VkQL/i4QB/4F7 + Av9/eAH/f3cC/4R7Af+EegH/g3gB/4J4Af94bwH/eW8C/3duAf9yawL/bWgA/2tnAP9rZwD/a2kA/25t + AP9mZQD/YF0A/1JOAP+uq4nj3tvcp4qIhscAAACNAAAAWAAAADUAAAAYAAAALBAPD4zKxsS/0tHHvVZt + Hf5TcA//XHsQ/111Dv9aag3/XWkO/2NtDP9qcQr/c3gL/3p8Cv+Bgxf/foEa/3BxCP91dAv/e3sM/42L + Df+XlA3/ioQN/4R+Df9/eQz/g3wM/4iAC/+GfAz/iH8M/4J5DP99dAz/fXQM/3lzDP91bwv/cm0K/3Ft + Cf9xbQr/cnEK/3FwCv9paAv/ZGIK/1ZSB/+ppofa2NXVoYyKiMYAAACJAAAAUgAAADAAAAAUAAAAJAsL + C4K/vLi/1dHLo8zNwMHS1MbM1NbHztXWx87U1cfO1dXHztXVx8/W1sfO2NfHztjXx87Z18jO19bHzNXU + xcvV08PK1dTDydfVw8nY1sPJ1tTDyNbTw8jV08PJ1tPDydfUw8nW08PK19TEytbUxMrW08PK1tPEy9bT + xMvW1MXL1tPFy9XSw8vU0cPM09HCzNLRwszRz8LM0c7CzMnHu8XGwruwzcjEmYSCgMYAAAB7AAAARgAA + ACgAAAAOAAAAGgAAAFNpaGbH2NTOsuDc2avi3duv4t3br+Pe26/j3tuv49/br+Lf27Dh39uv4d7br+Hd + 26/g29qu3trYrNzY1qnb1tOo2dXSp9jU0afY09Gn2NXRptnU0aba1NGl2dXRptnU0qfZ1NOo2tbUqNvW + 1Kjb1tSp3NbVqd3Y1qnd2dap3dfWqtrW1KrY1NOs19TSrNfT0qzX09Ks19PSrdbRz6vQy8envrq2vTEx + MLgAAABXAAAANQAAAB4AAAAJAAAAEgAAACcAAABnMzMyq09OTbRMS0qzS0tKtExLSrRMS0q0TEtKtExL + SrRLS0q0S0tKtEtLSrRLS0qzS0pJs0pJSbNLSkizSkpJs0pKSLNKSkizSkpIs0tJSLNLSkmyS0pJsktK + SbNLSkmzS0pJs0tKSbNMSkmzTEpJs0xKSbNMSkmzTEpJs0tKSbNLSkmzS0pJs0tKSbNLSkmzS0lJs0tK + SbRNTEu2Hh0dowAAAF4AAAA4AAAAJQAAABMAAAAFAAAACwAAABYAAAAhAAAALQAAADcAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADoAAAA6AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOgAAADsAAAA6AAAAMwAAACsAAAAhAAAAFQAAAAsAAAACAAAABAAAAAkAAAAOAAAAEwAA + ABcAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAYAAAAFwAAABMAAAAOAAAACAAAAAQAAAAAAAAAAQAA + AAIAAAAEAAAABwAAAAkAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACQAAAAcAAAAEAAAAAgAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAoAAAAIAAAAEAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAABAAAAA4AAAAfAAAALQAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAA + ADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAA + ADIAAAApAAAAGQAAAAoAAAAMAAAAJAAAAEQAAABhAAAAawAAAGsAAABrAAAAawAAAGwAAABsAAAAbAAA + AGwAAABsAAAAbAAAAGwAAABsAAAAawAAAGsAAABrAAAAawAAAGsAAABrAAAAawAAAGsAAABrAAAAbAAA + AGwAAABsAAAAaAAAAFcAAAA7AAAAGgAAABcAAAA+ExMSkD07OKo7ODWpODUyqDczMKg1Mi+nNDEupzMw + LaczMC2nMzAtpzQxLqY2MzCnODUypzk2M6c5NzOoOjc0qDs3Nag7ODWoOzg1qDs4Nag7ODWoOzg1qDk3 + NKc4NTKnOTYypzs5Nqg5NzSuCQkJlwAAAFsAAAAuAAAAHAYGBmmCfHamr6adhbevp5GyqqKQraWdjami + mYumn5aKpJyUiaSalImkm5OJqJ+Xia6lnoq0qqOKta2li7WtpYy1rqaNtq6njbawpo22saeOt7Opj7mz + q4+8squPua+ojLWsp4u4rquNt62oiaiek3llYVysAAAAfAAAADoAAAAeEA8PdbClnqGF19nWY+Hn9mng + 5PZs3+L1cOHh9XXi3/V44t31e+La9X/j2PWE5Nf1iefX9ZDr2fWY8Nv1o/Tf9bL35PXB+un11Pzu9eX9 + 8vX2/fn1/v759fX99vXu/PL18P3e9fD9x/bu/bfzy860qIiBfp0AAACHAAAAPQAAAB4ODg1zvbGsrmza + 3uwp09b/MtLR/zTSzf8508r/PdTH/0HXxf9H3MX/UOPI/1rry/9m89D/c/vV/4P/3f+Z/+X/s//s/8f/ + 6v/P/9//yf7R/7z8yP+p/Lz/jfq+/5D9yf+f/8T/ufyk/8Dre//P17a/j4iIowAAAIYAAAA+AAAAHg4O + DXPAtK+xadjZ6yfR0f811tP/O9vV/0Hg1v9H5tf/T+vX/1fx1v9f99f/af3X/3L/1f96+8//f/XF/4Xx + uP+J7ar/humY/4Tmi/+I4oT/jN5//4/YfP+U0Hj/nc12/6HVfv+j4ob/p+SD/8/YvcGTjIumAAAAhgAA + AD4AAAAeDg4Nc8G2srNx4dzrMtzV/z/c0v9C3dD/RNvI/0jcwf9P377/V+O7/1zjtP9h3qn/Zdmd/2nW + kv9s1In/ctOC/37SgP9+y3X/fsJr/4G7Zf+Ft13/i7hY/5G9WP+Vv1r/nL5a/6W8Vf+uv1H/09S0w5SQ + kKgAAACFAAAAPgAAAB4ODg5zw7m1tW/RyewuxLb/PMq4/0PQvP9I0rj/TNCv/1PPqP9az6H/YdCZ/2fS + j/9u1In/c9OB/3bPd/99y3D/jcxw/4XEZP+Ewl//i8Vb/4vDX/+IvmP/h7Rd/4qpUP+PoEL/kpg4/5aQ + K//OyKrFmJWVqwAAAIUAAAA+AAAAHg4ODXPEura2ddTG7DjKs/9H0LX/Udi4/1netf9f4a7/aeWo/3bl + of994Zb/fNmH/3vPeP96x23/d79l/3q+af+Bwm//dbZY/3mrQ/94mzn/dY40/3eFLP94fiT/enoh/395 + IP+EeSD/inod/83FqcabmJisAAAAhQAAAD4AAAAeDg4Nc8W7uLiE4MztUNy6/1zfuP9j37X/Zdyq/2LP + lf9jwoP/arl4/2uxbf9kpWP/YJ1c/16aWP9fmlL/bKNM/3aiO/9tiCb/bH8j/258If91fh//en0e/3l4 + Hf95dRz/fHQd/4B2Hv+GdRr/zcWqx5yamq0AAACFAAAAPgAAAB4ODg5zxr27uYDOtu1DtY//R6mB/0ik + ef9LonP/S5pn/06UYP9aml//Yp5c/2CYVP9jmEv/ZJQ8/2aMK/93kyP/d40g/2l6Hf9ufRz/dX8b/36B + G/9/fxr/eXca/3hyGv96cRr/fXIb/4JxF//MxKrJnZubrwAAAIUAAAA+AAAAHg4ODnPHwL66draa7jiU + av9Bj2T/RJFj/0qWY/9Nk13/U5JV/2SdUf9xo0r/bpk8/2qNLf9mgSH/bH4b/3yNHf90hRv/bHoX/3SB + Fv97gxf/g4YX/4OBF/97dxf/d3EX/3hvF/96bhj/f20U/83FqsmfnJ2wAAAAhQAAAD4AAAAeDg4Oc8jB + wLx4sZHuO5Bd/0SJWP9IiVP/T45R/1aUTP9hl0X/dqM9/3ueMv9wjCT/cIUc/259Fv9wfhb/fY4Y/3WE + Fv9xfhT/fIUU/4CGFP+HiBX/hIEU/3x4E/94cRX/d24V/3htFf98axH/zMWqyqCenrEAAACFAAAAPgAA + AB4ODg5zyMLBvHuvhu5AjU3/SIJH/06GQv9bkj//aKA8/3CeMv96mif/e5Qf/3mLGf96hxb/cH4S/3aD + E/+GlRX/fIkT/3uEEv+DixH/hYkQ/4mKEf+DgRH/fXgQ/3t0Ev95bxP/eGwT/3pqDv/MxarLoZ6fsgAA + AIUAAAA+AAAAHg4ODnPJw8K9fat87kaMP/9XjTz/YJQ1/2qjMv9qmCn/bYkg/4CWHP+FlRr/gYwV/36I + Ev92gBD/gYwR/5CcE/+DjRD/hIwP/4iPEP+Jiw3/iYkO/4N/Dv9+eA7/gHcP/35yEP97bRH/e2sM/83G + qsyhn6CzAAAAhQAAAD4AAAAeDg4Oc8jCw76Dr3PuV5w0/2OcMv9lpCz/ZZAk/2d/Hf91ihr/ipkY/4yV + Gf+DixH/f4gO/3uDDf+LlA//lp4Q/4ePDf+LkQ7/i48O/46MC/+Khgv/gX0L/4F4DP+Ddw3/gXQO/35u + Dv9/bgr/z8mqzKGfoLMAAACFAAAAPgAAAB4ODg5zyMPEvomzbe5apyv/YqYs/1uAIP9kfRv/bYMZ/3yM + Fv+PmBT/jJIW/4OJDf+Bhgr/gIYK/5WaDf+ZnQ3/ipAL/5GVDP+Pjwr/ko0K/4uFCf+CfAj/gnkJ/4N3 + C/+Acwz/fm8L/4FyCP/QyqrNoZ+gswAAAIUAAAA+AAAAHg4ODnPJwsW+ib9r7leoJf9afyD/XHca/2iB + F/9wghT/gIwR/5CXD/+KjxH/hIcJ/4OGCP+FiQj/nJ4K/5mbCv+PkQn/lpYK/5OPCP+Tjgj/ioQH/4N8 + Bv+CeQf/gnYI/31yCf98cAn/g3YG/9DKqc2gnZ+1AAAAhQAAAD4AAAAeDg4Oc8nExr+Fr2TvUYYZ/1t+ + HP9ddxb/aX4S/3GBD/+Ciw3/kJUL/4mMD/+EhgX/g4UG/4qLBv+goQf/mZgH/5WTB/+WlAf/lZAG/5SN + Bv+Kggb/hHwE/4J5Bf9/dQb/enAH/3xxB/+EeAX/z8qozp+dn7UAAACEAAAAPgAAAB4ODg5zy8XHv4Ke + X+9ShhT/XH8Z/15zE/9oeg//cX4N/4GJCv+Okgv/iIoO/4ODA/+CgwX/j44F/6GhBv+XlAX/lpQG/5WR + Bf+XkAb/kYkG/4iABf+EfAP/gXgF/3tyBP92bgX/e3IG/4N6A//Py6fOn52ftQAAAIQAAAA+AAAAHg4O + DnPLxsjAg55d71OFEf9dfxb/XXER/2d3Df9vfAr/gIcI/4yQDP+Ghw3/gIEC/4GBBf+TkQX/oZ8G/5WQ + Bv+XkgX/lI4F/5aOBv+OhQX/hX0E/4N7BP9/dQX/dm8E/3JtBP93cwX/gXsB/87Kp8+fnZ+2AAAAhAAA + AD4AAAAeDg4Oc8zHycCDnFzvU4MN/11+FP9dbw//ZnQM/295Cf9+hQf/i40N/4OEDP9+fgL/gYAE/5eU + Bv+fmwb/k40G/5WPBf+Tigb/lIkG/4uCBf+EewT/gngE/31yBP9zbAP/cGwD/3ZzBP98eAD/ysemz5+d + n7cAAACEAAAAPgAAAB4ODg5zzcnKwYKaWe9TgQr/XX4R/1tsDP9jcgr/bXcH/32CBv+Jiw3/gIEM/3t7 + A/+CgAT/mpYF/5uVBv+Rigb/kYoF/5KHBv+QhAX/iX8E/4J3Bf9/dQT/eXAE/3BrBP9wbAP/dnQD/3Rx + AP/HxKbPoJ6gtwAAAIQAAAA+AAAAHg4ODnPPyszBgpdZ71B8B/9cfA//WmoL/2FvCP9sdQb/fIAE/4eI + Dv99fgz/eHgD/4KABP+blwX/lI8F/46GBf+NhAX/kIQF/4yABP+FewT/f3UE/31yBP91bQT/b2oD/29s + A/90cwP/a2gA/8XBptCgnqC3AAAAhAAAAD4AAAAeDg4Oc9HMzsGBlFbvTnYE/1x5Df9aaQn/X2wG/2py + Bv95fQP/hIUO/3l6C/91dQP/g4AE/5qWBf+OiAX/ioIE/4mABP+LgAT/iH0E/4F3BP9+cgT/eW8E/3Fr + A/9uagP/cG0D/29vAv9jXwD/w8Cm0KGeoLgAAACEAAAAPgAAAB4ODg5z0s7Pwn6RU/FKbgD/WXUH/1Vl + Bf9baAP/Z28B/3V4AP9/gQz/c3QF/3FwAP+DgAH/lZEB/4aAAf+CegH/hHsA/4Z7AP+DeQD/e3EA/3lv + Af9zawH/bGcA/2toAP9ubAD/aGYA/1pXAP/BvqXRop+guAAAAIQAAAA9AAAAGhAPD3HRzM69g5JZ7FNy + DP9hexT/Xm0S/2RvEf9vdg//e38O/4WHHf93ehP/eHgP/4yKEf+XkxH/iIIR/4R9EP+KgRD/ioAR/4d/ + EP+AdxD/fXYQ/3dyD/90cA7/dHEO/3V0D/9sag//X1wM/725o8qjoKG3AAAAgAAAADgAAAARCAgIX7e0 + sL3e3dK13NzOxd7ez8bd3M/G3t3Pxt/ez8bh3s/G4N3Pxd3azMLc2crB3drJv93ayb/c2Mm/3NjIv93Z + yb/d2crB3drKwd3YysHd2cvB3drMwtzYysLa1snD2dbIw9jVycTT0MTA19LMqoqHhbsAAABpAAAAKwAA + AAsAAAAqLy4tj3t5d698eXmte3h4rXt5eK17eXitenl4rXp4eK15d3eseHV2q3d1dap2dHSpdXN0qXZ0 + dKl3dHSodnR1qXd1dap3dXWqeHV2qnh2dqp5dnaqeHV1q3Z0dat2dHSsdnR0rHh2dqxubGqwGhkZiAAA + ADgAAAAaAAAABQAAAA4AAAAdAAAAMAAAADUAAAA1AAAANQAAADUAAAA1AAAANQAAADUAAAA1AAAANQAA + ADUAAAA1AAAANQAAADYAAAA1AAAANQAAADUAAAA1AAAANQAAADUAAAA1AAAANQAAADUAAAA1AAAANQAA + ADQAAAAlAAAAGAAAAAsAAAABAAAAAwAAAAYAAAAKAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAA + AAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAA + AAwAAAAMAAAADAAAAAoAAAAGAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAABgAAAAwAAAAAQAgAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAcAAAAaAAAAMQAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAA + ADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADgAAAAnAAAADwAAABUAAABKDAsKhg8N + DI8ODAuODQsKjg0LCo4MCwqODAsKjg0LCo4NCwuODQwLjg4MC44ODAyODgwMjg0MDI4NDAyODQwMjg0M + C44MDAuODg0NjwkJCY4AAABhAAAAKgAAACYyMC6KmpSMnKGclZ2alY6blZGKmZKOhpeQi4SXkYqEl5WO + iJeclZCYoJmTmJ+ak5mgm5SaoJ2UmqKelZumn5mbq5+bm6ebl5mkmpeZpZyYlo+Hf5YgHx6XAAAAQgAA + AC9kWVWRm9nZy1vg5fRi3t/0Zt7c9Gze2fNw3tXzdeHT833l0/OH7NbzlPPb86f55PTB/O702v/y9Oj/ + 8/Tv//P04f/u9Nj/6/Pj/8706Puu8svNtKc9OjuaAAAASgAAAC5pXVqVid3d4CPS1P8x1ND/ONjP/z/d + z/9I5c//VO7S/2L41v9y/9j/gP/Y/5T91P+k+sr/qPa3/6TyqP+b757/jOmb/5Ppo/+j8qH/seyH/87T + ub1APD6aAAAASgAAAC1qXluWjuHd4C/a1P8/3NL/RN7O/0rgyP9U5MP/XOe9/2Tlsf9q4KT/btuU/3XY + if99037/fMpv/4LDaP+KwGH/ksBd/5m/Wv+hwFv/rMhg/9HSub5BPkCcAAAASQAAAC1rYF6XkNnR4S/H + t/9Bzrn/SdO3/1DTrv9c1qb/Z9ec/27Wjv901IH/d890/4LLcP+IyG3/gcBc/4a7VP+EtFb/g6pR/4ie + RP+NlDb/lo4t/87HrsFDQkSdAAAASQAAAC1rYF+YmuDS4kXXuf9Y3rv/YuO2/2XepP9v15T/d82F/3K+ + c/9ts2b/aqxe/3SyXv91qUv/cZQy/3GHKv92gCT/eHke/3l1HP9/dRz/iXgf/87Hr8NFREaeAAAASQAA + AC1rYmKZn9vI40a+l/9OtIn/Ua5//0+hbf9Wm2L/YZ5e/2CYVP9glEj/Y441/3aWKP9wgx7/a3oc/3V+ + G/9+gBr/enga/3hyGv97cRr/hHQc/87HsMVFRUafAAAASQAAACxtZmaalsWu5DeQZP9CjGD/SZJf/06R + WP9dmFD/cqJI/26VNv9phSP/bX4a/3qLG/9vfhj/c38W/36EF/+FhRf/fXkW/3dwF/94bhb/gHAX/8/I + scZHRkifAAAASQAAACxtZ2ibmcKl5TyLUv9Hg0z/Uo1I/2GaQ/9ynjf/fJsp/3WKHP9ygRb/cn8U/3+P + Fv91ghP/fYcT/4WJEv+HhhP/fnoS/3lxE/93bRP/fG0U/8/IssdHRkifAAAASQAAACxtZ2mbnL+b5UWK + Pv9YjDr/Zp40/2uXKv92kR//g5Ua/4GMFf94gxH/fYkR/4yYE/+BihD/h44Q/4mLDv+GhA7/f3kO/391 + EP97bhD/fW0R/9DJsslHR0mgAAAASQAAACxsZ2ucosKS5lidMP9joS3/ZI8k/2mBG/+Bkhf/jZYY/4OK + EP98hAz/ipIO/5ObD/+Ijw3/jZEN/46LC/+GgQr/gXkL/4N3Df9/cAz/gXEO/9HMsslHR0mgAAAASQAA + ACxtZ2ycpsqN5linJv9bgyD/Y3sZ/3GEFv+JkxL/jpMT/4OIC/+AhQn/lJgL/5aaC/+Pkwv/k5EJ/5GM + Cf+GgAj/gnkI/4J2Cv99cAn/g3UL/9LMsspHRkmhAAAASAAAACxtaG2do8WJ5lGJGf9beBn/ZnwT/3SD + D/+KkQz/jI8O/4SFBv+Ehgb/m5wH/5iYB/+VlAf/lZEH/5KLBv+GfwX/gnkF/390B/96bwb/hXkJ/9HM + sMtHRkmhAAAASAAAACxuaW6dobWE51GDEf9cdxX/ZngQ/3SADP+Ijgr/iowN/4GCBP+HhwX/np0F/5eU + Bv+Wkwb/lo8G/4+HBv+FfQT/gXkE/3lwBP92bwT/hHsH/9HNr8xGRkmhAAAASAAAACxuam6dorWD51KC + Df9cdhP/ZHQN/3J9Cf+Hiwn/h4gN/35/A/+KiQX/n5wG/5WQBv+VjgX/lYsG/4uCBf+DewT/f3UE/3Nt + A/9zbwP/gHsG/87Lr8xGRkmiAAAASAAAACxva2+dorSB51J/Cf9cdA//YXAL/3F6B/+FiAn/hIQN/3t7 + A/+OiwT/nJgG/5KLBv+SiQb/kYYF/4h+BP+BdwX/e3EE/3BrA/9ybwL/eHYE/8vIr81HRkmiAAAASAAA + ACxwbXGeorGB51B6BP9bcg3/X2wI/293Bv+ChQj/f4AN/3h4A/+QjAT/lpEF/42FBf+OgwX/jIEE/4R5 + BP9+cwT/dm0E/29qA/9xbwL/b2wD/8jFr81IR0miAAAASAAAACxyb3Keoa5+6UtwAP9YbQb/WmcD/2px + AP99fwT/eHkJ/3NyAP+OiwH/jogB/4R8AP+HfQD/hXsA/31yAP94bgD/b2kA/2xoAP9tawD/Yl8A/8bD + rs9IR0mjAAAASAAAACl0cXScprGE41Z1D/9idhb/ZG8U/3R6Ef+Ehhj/fn8Z/3x8Ev+WkxP/jokT/4eA + E/+NgxP/ioET/4N6E/99dhL/dnIR/3d0Ef9zchH/ZmMP/sbCsMlLSkuiAAAARAAAABhKSEeN09HJw9DR + w8rR0MPK0dDDy9PRw8rU0cPK0c7Bx8/MvsXQzb3E0My9xM/MvcTQzL3F0c2+xdDMvsbQzb/Gz8y/x83K + vcjMyb3Jyse8xsK+uLwtLSyQAAAALgAAAAgAAAAyJCMjbSwrLHErKitwKyorcCoqK3AqKStwKSkqcCko + Km8oKCpvKSgqbykoKm8pKCpvKSgqbykpKm8qKSpvKikqcCkoKnApKCpwKyoscR0cHG8AAAA6AAAAFAAA + AAIAAAAFAAAACAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAA + AAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAsAAAAKAAAABAAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA + AEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA + AEEAAABBAAAAQSgAAAAUAAAAKAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAJgAA + AEMAAABIAAAARwAAAEcAAABHAAAARwAAAEcAAABHAAAARwAAAEcAAABHAAAARwAAAEcAAABHAAAARwAA + AEcAAAA0AAAAFQAAACIWFRN0PzUxlDwwLJI4LSqQNiwokDUqJ481KiiPOC4rkDowLpA5MS6RODEvkTcx + L5E1Mi+RNjIvkTQwLpA0MDCQNjIylRAPDoQAAAA5AAAAPXd1cJyfzsy9k8rIxZLGwsOTxL7BlMG6wZjD + usGhyr/BqtHEwrTWycPC2c/D0dzTxN7e2MTg3tnE2NvRwtvbwcPS0bOsX1xYnAAAAFYAAAA9jI+Mqk/h + 5v8w2Nn/O9zW/0Tg1f9O6NT/XPLX/2382v+A/9//nP/j/7b/3v/B/8//vf3D/6f5vf+n+8L/vP+m/9Pv + qOh1b3CeAAAAVwAAADyNkI2tUuHd+jbZ0v9B3c//SeDJ/1XmxP9g6r3/auix/3Hhof973ZH/gNZ//3/N + b/+Gx2f/jsVj/5jEYv+gyF//xdeT5nh0daIAAABWAAAAPI6Rjq5X1cf6Pc66/0zXuv9V2a//ZNqk/27Y + lP9z04L/dsxy/4HJcP+CwmX/gbdR/4KtTv+Bo0n/hpc8/4uJJ/+4rm3nfHp7pQAAAFYAAAA8kZOQsGvg + xvpT17H/X9ep/2DMkv9rwYD/bbVw/2eoYf9lolT/c6hL/3CVM/9vgyX/dX4g/3h4HP95chv/fG8T/7Gj + aOh/fX6nAAAAVgAAADySlJCyYruZ+0Gccf9Jmmv/TJJf/1yYV/9om03/ZI86/2iGJf94jB3/bXsY/3R/ + GP+Agxn/fXoY/3dxGf93axD/rqFm6YB/gKgAAABVAAAAPJKUj7Nfpnv7QIVS/02MT/9cl0n/c6A7/3eV + Kv9wgxr/cH4V/3uLF/90gBT/f4YU/4eHFP9/exP/eHAU/3NnC/+rnmPqgoCCqQAAAFUAAAA8kpOPs2aj + Z/tPiTz/Ypo2/2yXK/98lR//gpAY/3uFEv97hxH/iJUS/4GKEf+IjA//iIcO/4B7Dv99dBD/dmgH/6uf + YeqDgYOqAAAAVQAAADyTk4+0da9X+1+gLP9kjiP/bYMa/4mVF/+JkBT/foUM/4mQDv+SmQ7/ipAN/4+O + DP+KhQr/gXkL/4N2DP96awP/rqNg6oOBg6sAAABVAAAAPJSVj7V2uE37WIcd/2J6F/91hhP/jZUR/4iM + Dv+BhQf/k5YJ/5eZCv+Tkwn/lI8I/4qDB/+Cegf/gXUJ/3lsAP+xp17rgoCDrAAAAFUAAAA8lJSPtXCd + QfxYexX/ZHkS/3eDDf+MkQz/hogJ/4SEBf+amgb/mZcG/5aTBv+Vjgb/iYEF/4J6BP97cQX/d20A/7Gq + XOuBgIOtAAAAVQAAADyVlJC1cZg8/Fl7Ef9jdA7/dX8J/4qNDP+Cgwj/hIQE/52aBv+XkgX/lY8F/5KJ + Bv+GfgT/gHYE/3RtBP9zbgD/r6pa7IGAg64AAABVAAAAPJaVkLZxlTj8WXkM/2BvC/9zfAf/h4oM/35/ + B/+GhAP/nJcG/5OMBv+TiQb/jYMF/4N5Bf98cgT/cGsD/3BtAP+no1nsgoCDrgAAAFUAAAA8l5aStm+P + NPxXdgj/XmsI/3F4Bf+EhQv/eXkH/4eFBP+XkgX/jIQF/42DBf+IfQT/f3QE/3ZuBP9vawP/a2oA/56a + WOyCgIOuAAAAVQAAADyZmJS4ZYIm/01qAP9TYAD/Z24A/3h6AP9tbQD/goAA/4qDAP9+dgD/gngA/3tx + AP90aQD/amMA/2dlAP9dWwD/kY5P8ISDha8AAABVAAAAM5eVkbGyvY7jo7B16aasd+mwsnXouLd66LCv + dOa8uXPlvLdz5beyc+W7tHPmt7F05rOudOavq3Pmrqty56akcei/u5vWe3l5rQAAAEgAAAASKikoaG5r + bpFtam6PbGptj2tpbY9pZ2yOaGZqjGZkaYtmZGmLZ2Vqi2dlaoxoZmuMaWdrjGlna41nZmqNaWdrjmVj + ZJAdHBtrAAAAHwAAAAMAAAAJAAAAFQAAABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAABYAAAAWAAAAFgAA + ABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAAA4AAAAGAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA + AEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEoAAAAEAAAACAA + AAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAEAAAABXAAAAVQAAAFUAAABVAAAAVQAA + AFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFcAAABMAAAAHwQEBD5WVFCVc3JuoWpqZp5nZ2KdZmRgnGpo + Y51wbmmdcXBrnnRybZ95dHGffnRzn3txb558dXCdTUpFmAABAVQXDg1Qj7m4w1jj5vRe3tv0ZuHY9G/n + 1vN/8tr0k/zi9LH/6vTP/+n02//i9M//3fTK/9n03/+58qenk68DAQRlGQ8OToS7uc8u29f/OtvP/0Xg + yf9U6sX/Ze69/3Lrrv+C5Z7/idyI/4rUd/+Mzm//ls5v/6/YdP+lp5O7BAIGYhkPEE+KubLQP9bB/1Db + vf9b3K3/a9mb/3HQhP9yxnD/fcRq/322VP9+p0b/gJtA/4WOMf+ZkDP/pJ+MvQUFCGMYEBJPkbqu0U7K + pP9WwJL/WbN7/2asa/9moVn/ZZdE/3OYNP9tgiH/dX0c/3p4Gf93bxf/insl/6SejcAFBgljGRMWUI6r + m9M+kWL/R4tX/1aUT/9vnUH/bo0q/22AGf93hhf/c34V/4KGFf+AfRb/dm4U/4V3If+ln47BBgYJYxkU + GFCQqJHUS41G/12UOv9tmC7/gJYe/3yIFP96hRH/hJAS/4KKEP+Jig//gX0P/3txD/+Edhz/paCPwwYG + CWMYFBlQlqyJ1F6jMP9jjSL/c4cY/4yVFf+BiA7/iI8N/5GYDf+NkQz/jYkK/4J7Cv+BdAr/iXoX/6ei + j8QGBgljGBQaUJeuhdVYjx//YngV/3uIEP+Nkg7/g4UI/5OVB/+YmQj/lZII/4+IBv+DegX/fXIF/4p+ + E/+no47FBgYJYxkWG1CVo4HVV4IV/2J1EP96hAr/iowL/4KCBP+YlgX/mJUG/5aQBf+MhAX/gngE/3Zu + A/+HgBH/pqONxgYGCWMZFhxQlqJ/1liAD/9gcAz/d38I/4aHC/+AgAT/mZUG/5SNBv+SiAb/iH0E/31z + BP9wawH/gH4P/6OhjMYGBgpjGhcdUJagftdTdwb/W2oF/3J4Av99fgj/fXsA/5OOAf+KggH/in4B/4B1 + AP91bAD/bWkA/3RyCf+gnYzIBwcKZBoYHVGhqIrWZoIc/216Hf+Bhhv/iYoh/42LGv+blhv/koob/5SK + G/+LgRv/gXsa/357F/98eiL/paKUxwcHCmMGBgcxenl0oJydkbaZmI20mpmNtZmXjLOYloiwmJaIsJiV + iLCZlomxmZWKsZiVirKWlImzmZeNtGpoZp0BAQE9AAAABQAAAB4AAAAqAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACsAAAAjAAAACgAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEE= + + + \ No newline at end of file diff --git a/OnTopReplica/StartupOptions/Factory.cs b/OnTopReplica/StartupOptions/Factory.cs new file mode 100644 index 0000000..1644a0d --- /dev/null +++ b/OnTopReplica/StartupOptions/Factory.cs @@ -0,0 +1,92 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.ComponentModel; +using OnTopReplica.Properties; + +namespace OnTopReplica.StartupOptions { + class Factory { + + static Factory() { + //Custom type conversion attributes + TypeDescriptor.AddAttributes(typeof(Size), new TypeConverterAttribute(typeof(SizeConverter))); + TypeDescriptor.AddAttributes(typeof(ScreenPosition), new TypeConverterAttribute(typeof(ScreenPositionConverter))); + TypeDescriptor.AddAttributes(typeof(Rectangle), new TypeConverterAttribute(typeof(RectangleConverter))); + } + + public static Options CreateOptions(string[] args) { + var options = new Options(); + + LoadSettings(options); + + ParseCommandLine(args, options); + + return options; + } + + private static void LoadSettings(Options options) { + if (Settings.Default.RestoreSizeAndPosition) { + options.StartLocation = Settings.Default.RestoreLastPosition; + options.StartSize = Settings.Default.RestoreLastSize; + } + } + + private static void ParseCommandLine(string[] args, Options options) { + var cmdOptions = new NDesk.Options.OptionSet() + .Add("windowId=", "Window handle ({HWND}) to be cloned.", id => { + options.WindowId = new IntPtr(id); + }) + .Add("windowTitle=", "{TITLE} of the window to be cloned.", s => { + options.WindowTitle = s; + }) + .Add("windowClass=", "{CLASS} of the window to be cloned.", s => { + options.WindowClass = s; + }) + .Add("v|visible", "If set, only clones windows that are visible.", s => { + options.MustBeVisible = true; + }) + .Add("size=", "Target {SIZE} of the cloned thumbnail.", s => { + options.StartSize = s; + }) + .Add("position=", "Target {COORDINATES} of the OnTopReplica window.", s => { + options.StartLocation = new Point(s.Width, s.Height); + options.StartScreenPosition = null; + }) + .Add("screenPosition=", "Resolution independent window position on current screen, with locking (TR|TL|C|BR|BL).", pos => { + options.StartLocation = null; + options.StartScreenPosition = pos; + }) + .Add("r|region=", "Region {BOUNDS} of the original window.", region => { + options.Region = region; + }) + .Add("o|opacity=", "Opacity of the window (0-255).", opacity => { + options.Opacity = opacity; + }) + .Add("clickForwarding", "Enables click forwarding.", s => { + options.EnableClickForwarding = true; + }) + .Add("chromeOff", "Disables the window's chrome (border).", s => { + options.DisableChrome = true; + }) + .Add("h|help|?", "Show command line help.", s => { + options.Status = CliStatus.Information; + }); + + List values; + try { + values = cmdOptions.Parse(args); + } + catch (NDesk.Options.OptionException ex) { + options.DebugMessageWriter.WriteLine(ex.Message); + options.DebugMessageWriter.WriteLine("Try 'OnTopReplica /help' for more information."); + options.Status = CliStatus.Error; + } + + if (options.Status == CliStatus.Information) { + cmdOptions.WriteOptionDescriptions(options.DebugMessageWriter); + } + } + + } +} diff --git a/OnTopReplica/StartupOptions/Options.cs b/OnTopReplica/StartupOptions/Options.cs new file mode 100644 index 0000000..1d0cd11 --- /dev/null +++ b/OnTopReplica/StartupOptions/Options.cs @@ -0,0 +1,145 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.IO; +using OnTopReplica.WindowSeekers; + +namespace OnTopReplica.StartupOptions { + + /// + /// Represents startup options that can be set via CLI scripting (or other stuff). + /// + class Options { + + public Options() { + Status = CliStatus.Ok; + Opacity = 255; + DisableChrome = false; + MustBeVisible = false; + } + + #region Position and size + + public Point? StartLocation { get; set; } + + public ScreenPosition? StartScreenPosition { get; set; } + + public Size? StartSize { get; set; } + + #endregion + + #region Window cloning + + public IntPtr? WindowId { get; set; } + + public string WindowTitle { get; set; } + + public string WindowClass { get; set; } + + public Rectangle? Region { get; set; } + + public bool MustBeVisible { get; set; } + + #endregion + + #region Options + + public bool EnableClickForwarding { get; set; } + + public byte Opacity { get; set; } + + public bool DisableChrome { get; set; } + + #endregion + + #region Debug info + + StringBuilder _sb = new StringBuilder(); + TextWriter _sbWriter; + + public CliStatus Status { get; set; } + + /// + /// Gets a debug message writer. + /// + public TextWriter DebugMessageWriter { + get { + if (_sbWriter == null) { + _sbWriter = new StringWriter(_sb); + } + return _sbWriter; + } + } + + /// + /// Gets the debug message. + /// + public string DebugMessage { + get { + if(_sbWriter != null) + _sbWriter.Flush(); + return _sb.ToString(); + } + } + + #endregion + + #region Application + + public void Apply(MainForm form) { + //GUI + form.IsChromeVisible = !DisableChrome; + form.Opacity = (double)Opacity / 255.0; + + //Thumbnail cloning + WindowHandle handle = null; + if (WindowId.HasValue) { + handle = WindowHandle.FromHandle(WindowId.Value); + } + else if (WindowTitle != null) { + var seeker = new ByTitleWindowSeeker(WindowTitle) { + OwnerHandle = form.Handle, + SkipNotVisibleWindows = MustBeVisible + }; + seeker.Refresh(); + + handle = seeker.Windows.FirstOrDefault(); + } + else if (WindowClass != null) { + var seeker = new ByClassWindowSeeker(WindowClass) { + OwnerHandle = form.Handle, + SkipNotVisibleWindows = MustBeVisible + }; + seeker.Refresh(); + + handle = seeker.Windows.FirstOrDefault(); + } + if (handle != null) { + form.SetThumbnail(handle, Region); + } + + //Size + if (StartSize.HasValue) { + form.ClientSize = StartSize.Value; + } + + //Position + if (StartLocation.HasValue) { + form.Location = StartLocation.Value; + } + else if (StartScreenPosition.HasValue) { + form.PositionLock = StartScreenPosition.Value; + } + + //Other features + if (EnableClickForwarding) { + form.ClickForwardingEnabled = true; + } + } + + #endregion + + } + +} diff --git a/OnTopReplica/StartupOptions/RectangleConverter.cs b/OnTopReplica/StartupOptions/RectangleConverter.cs new file mode 100644 index 0000000..00c8608 --- /dev/null +++ b/OnTopReplica/StartupOptions/RectangleConverter.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel; +using System.Drawing; +using System.Text.RegularExpressions; + +namespace OnTopReplica.StartupOptions { + class RectangleConverter : TypeConverter { + + public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { + if (value != null) { + var sVal = value.ToString(); + return Convert(sVal); + } + else + return base.ConvertFrom(context, culture, value); + } + + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { + return sourceType == typeof(string); + } + + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { + return destinationType == typeof(Rectangle); + } + + public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { + if (value != null && destinationType == typeof(Rectangle)) { + var sVal = value.ToString(); + return Convert(sVal); + } + else + return base.ConvertTo(context, culture, value, destinationType); + } + + static Regex _sizeRegex = new Regex("^\\D*(?\\d*)\\s*,\\s*(?\\d*)\\s*,\\s*(?\\d*)\\s*,\\s*(?\\d*)\\D*$", + RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.Singleline); + + private Rectangle Convert(string s) { + var match = _sizeRegex.Match(s); + + var x = match.Groups["x"]; + var y = match.Groups["y"]; + var width = match.Groups["width"]; + var height = match.Groups["height"]; + + if (match.Success && x.Success && y.Success && width.Success && height.Success) { + var xVal = int.Parse(x.Value); + var yVal = int.Parse(y.Value); + var widthVal = int.Parse(width.Value); + var heightVal = int.Parse(height.Value); + + return new Rectangle(xVal, yVal, widthVal, heightVal); + } + else + throw new ArgumentException("Cannot convert '" + s + "' to rectangle."); + } + + } +} diff --git a/OnTopReplica/StartupOptions/ScreenPositionConverter.cs b/OnTopReplica/StartupOptions/ScreenPositionConverter.cs new file mode 100644 index 0000000..18ca1a5 --- /dev/null +++ b/OnTopReplica/StartupOptions/ScreenPositionConverter.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel; + +namespace OnTopReplica.StartupOptions { + class ScreenPositionConverter : TypeConverter { + + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { + if (sourceType == typeof(string)) + return true; + + return base.CanConvertFrom(context, sourceType); + } + + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { + if (destinationType == typeof(ScreenPosition)) + return true; + + return base.CanConvertTo(context, destinationType); + } + + public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { + var sValue = value.ToString(); + + switch (sValue) { + case "TL": + return ScreenPosition.TopLeft; + case "TR": + return ScreenPosition.TopRight; + case "BL": + return ScreenPosition.BottomLeft; + case "BR": + return ScreenPosition.BottomRight; + case "C": + return ScreenPosition.Center; + default: + throw new ArgumentException("Invalid screen position value '" + sValue + "'."); + } + } + + public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { + if (destinationType == typeof(ScreenPosition)) + return ConvertFrom(context, culture, value); + + return base.ConvertTo(context, culture, value, destinationType); + } + + } +} diff --git a/OnTopReplica/StartupOptions/SizeConverter.cs b/OnTopReplica/StartupOptions/SizeConverter.cs new file mode 100644 index 0000000..9dd018e --- /dev/null +++ b/OnTopReplica/StartupOptions/SizeConverter.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel; +using System.Drawing; +using System.Text.RegularExpressions; + +namespace OnTopReplica.StartupOptions { + + class SizeConverter : TypeConverter { + + public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { + if (value != null) { + var sVal = value.ToString(); + return StringToSize(sVal); + } + else + return base.ConvertFrom(context, culture, value); + } + + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { + return (sourceType == typeof(string) || sourceType == typeof(Size)); + } + + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { + return (destinationType == typeof(Size) || destinationType == typeof(string)); + } + + public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { + if (value == null) + return base.ConvertTo(context, culture, value, destinationType); + + if (destinationType == typeof(Size)) { + var sVal = value.ToString(); + return StringToSize(sVal); + } + else if (destinationType == typeof(string)) { + if (value is Size) { + Size sValue = (Size)value; + return string.Format("{0}, {1}", sValue.Width, sValue.Height); + } + + return value.ToString(); + } + else + return base.ConvertTo(context, culture, value, destinationType); + } + + static Regex _sizeRegex = new Regex("^\\D*(?\\d*)\\s*,\\s*(?\\d*)\\D*$", + RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.Singleline); + + private Size StringToSize(string s) { + var match = _sizeRegex.Match(s); + + var x = match.Groups["x"]; + var y = match.Groups["y"]; + + if (!match.Success || !x.Success || !y.Success) + throw new ArgumentException("Cannot convert '" + s + "' to coordinates pair."); + + var xVal = Int32.Parse(x.Value); + var yVal = Int32.Parse(y.Value); + + return new Size(xVal, yVal); + } + + } + +} diff --git a/OnTopReplica/StoredRegion.cs b/OnTopReplica/StoredRegion.cs new file mode 100644 index 0000000..f8337a1 --- /dev/null +++ b/OnTopReplica/StoredRegion.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.Drawing; + +namespace OnTopReplica { + + [Serializable] + public class StoredRegion : IXmlSerializable { + + public StoredRegion() { + } + + public StoredRegion(Rectangle r, string n) { + Bounds = r; + Name = n; + } + + public Rectangle Bounds { + get; + set; + } + + public string Name { + get; + set; + } + + public override string ToString() { + return Name; + } + + + #region IXmlSerializable Members + + public System.Xml.Schema.XmlSchema GetSchema() { + return null; + } + + public void ReadXml(System.Xml.XmlReader reader) { + if (reader.MoveToAttribute("name")) + Name = reader.Value; + else + throw new Exception(); + + reader.Read(); + + XmlSerializer x = new XmlSerializer(typeof(Rectangle)); + Bounds = (Rectangle)x.Deserialize(reader); + } + + public void WriteXml(System.Xml.XmlWriter writer) { + writer.WriteAttributeString("name", Name); + + XmlSerializer x = new XmlSerializer(typeof(Rectangle)); + x.Serialize(writer, Bounds); + } + + #endregion + } + +} diff --git a/OnTopReplica/StoredRegionArray.cs b/OnTopReplica/StoredRegionArray.cs new file mode 100644 index 0000000..1a948c6 --- /dev/null +++ b/OnTopReplica/StoredRegionArray.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Collections; +using System.Xml.Serialization; + +namespace OnTopReplica { + + public class StoredRegionArray : ArrayList, IXmlSerializable { + + #region IXmlSerializable Members + + public System.Xml.Schema.XmlSchema GetSchema() { + return null; + } + + public void ReadXml(System.Xml.XmlReader reader) { + this.Clear(); + XmlSerializer x = new XmlSerializer(typeof(StoredRegion)); + while (reader.ReadToFollowing("StoredRegion")) { + object o = x.Deserialize(reader); + + if (o is StoredRegion) + this.Add(o); + } + } + + public void WriteXml(System.Xml.XmlWriter writer) { + XmlSerializer x = new XmlSerializer(typeof(StoredRegion)); + foreach (StoredRegion sr in this) { + x.Serialize(writer, sr); + } + } + + #endregion + + } + +} diff --git a/OnTopReplica/StoredRegionComparer.cs b/OnTopReplica/StoredRegionComparer.cs new file mode 100644 index 0000000..cfc9438 --- /dev/null +++ b/OnTopReplica/StoredRegionComparer.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Collections; + +namespace OnTopReplica { + + /// + /// Compares two StoredRegions based on their name. + /// + class StoredRegionComparer : IComparer { + + #region IComparer Members + + public int Compare(object x, object y) { + StoredRegion a = x as StoredRegion; + StoredRegion b = y as StoredRegion; + + if (a == null || b == null) + return -1; //this is wrong, but anyway + + return a.Name.CompareTo(b.Name); + } + + #endregion + + } +} diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs new file mode 100644 index 0000000..c310233 --- /dev/null +++ b/OnTopReplica/Strings.Designer.cs @@ -0,0 +1,1342 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Strings { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Strings() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("OnTopReplica.Strings", typeof(Strings).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Abort update process.. + /// + internal static string AboutButtonCancelTT { + get { + return ResourceManager.GetString("AboutButtonCancelTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show details about OnTopReplica.. + /// + internal static string AboutButtonExpanderTT { + get { + return ResourceManager.GetString("AboutButtonExpanderTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset all OnTopReplica settings.. + /// + internal static string AboutButtonResetTT { + get { + return ResourceManager.GetString("AboutButtonResetTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update OnTopReplica now.. + /// + internal static string AboutButtonUpdateTT { + get { + return ResourceManager.GetString("AboutButtonUpdateTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to <html> + /// <head> + /// <style type="text/css"> + ///body { + /// font-family: Segoe UI, Arial, sans-serif; + /// font-size: 0.8em; + /// margin: 0; + ///padding: 0.75em; + ///} + ///h1 { + /// font-size: 1.4em; + /// font-weight: bold; + /// + /// margin: 1em 0 0.4em 0; + /// padding: 0; + ///} + ///p { + /// margin: 0.5em 0 0.5em 1em; + /// padding: 0; + ///} + ///a { + /// font-weight: bold; + /// color: blue; + ///} + ///a:hover { + /// color: red; + ///} + /// </style> + /// </head> + /// + /// <body> + /// + /// <h1>License</h1> + /// + /// <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal [rest of string was truncated]";. + /// + internal static string AboutDetails { + get { + return ResourceManager.GetString("AboutDetails", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica. + /// + internal static string ApplicationName { + get { + return ResourceManager.GetString("ApplicationName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset window completely?. + /// + internal static string AskReset { + get { + return ResourceManager.GetString("AskReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to &Reset + ///All settings will be lost.. + /// + internal static string AskResetButtonOk { + get { + return ResourceManager.GetString("AskResetButtonOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary.. + /// + internal static string AskResetContent { + get { + return ResourceManager.GetString("AskResetContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset. + /// + internal static string AskResetTitle { + get { + return ResourceManager.GetString("AskResetTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset settings?. + /// + internal static string AskSettingReset { + get { + return ResourceManager.GetString("AskSettingReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost).. + /// + internal static string AskSettingResetContent { + get { + return ResourceManager.GetString("AskSettingResetContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset settings. + /// + internal static string AskSettingResetTitle { + get { + return ResourceManager.GetString("AskSettingResetTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Download OnTopReplica {0}?. + /// + internal static string AskUpdate { + get { + return ResourceManager.GetString("AskUpdate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cancel update + ///OnTopReplica will prompt you the next time it is started.. + /// + internal static string AskUpdateButtonCancel { + get { + return ResourceManager.GetString("AskUpdateButtonCancel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Download + ///Install OnTopReplica {0}.. + /// + internal static string AskUpdateButtonOk { + get { + return ResourceManager.GetString("AskUpdateButtonOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The new version can be downloaded and installed from the official website.. + /// + internal static string AskUpdateContent { + get { + return ResourceManager.GetString("AskUpdateContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Installed version: {0} + ///Available version: {1}. + /// + internal static string AskUpdateExpanded { + get { + return ResourceManager.GetString("AskUpdateExpanded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update available. + /// + internal static string AskUpdateTitle { + get { + return ResourceManager.GetString("AskUpdateTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to &Cancel. + /// + internal static string ButtonCancel { + get { + return ResourceManager.GetString("ButtonCancel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Created by: Lorenz Cuno Klopfenstein.. + /// + internal static string CreatedBy { + get { + return ResourceManager.GetString("CreatedBy", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Draw regions using mouse.. + /// + internal static string DrawRegions { + get { + return ResourceManager.GetString("DrawRegions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Details. + /// + internal static string ErrorDetailButton { + get { + return ResourceManager.GetString("ErrorDetailButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Details on Windows Aero. + /// + internal static string ErrorDetailsAero { + get { + return ResourceManager.GetString("ErrorDetailsAero", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Windows Aero is only available on Windows Vista Home Premium or higher.. + /// + internal static string ErrorDetailsAeroInfo { + get { + return ResourceManager.GetString("ErrorDetailsAeroInfo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Desktop Composition' is not enabled.. + /// + internal static string ErrorDwmOff { + get { + return ResourceManager.GetString("ErrorDwmOff", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + /// + ///To do so, right-click on the desktop and click on Personalize.. + /// + internal static string ErrorDwmOffContent { + get { + return ResourceManager.GetString("ErrorDwmOffContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error details. + /// + internal static string ErrorGenericInfoButton { + get { + return ResourceManager.GetString("ErrorGenericInfoButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error: . + /// + internal static string ErrorGenericInfoText { + get { + return ResourceManager.GetString("ErrorGenericInfoText", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to It appears that the selected window has been closed or is not valid anymore.. + /// + internal static string ErrorGenericThumbnailHandleError { + get { + return ResourceManager.GetString("ErrorGenericThumbnailHandleError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error. + /// + internal static string ErrorGenericTitle { + get { + return ResourceManager.GetString("ErrorGenericTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Desktop Composition' is not supported on your Operating System. + ///You must run this application on Windows Vista Home Premium or better.. + /// + internal static string ErrorNoDwm { + get { + return ResourceManager.GetString("ErrorNoDwm", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Desktop Composition unsupported. + /// + internal static string ErrorNoDwmTitle { + get { + return ResourceManager.GetString("ErrorNoDwmTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No thumbnail loaded.. + /// + internal static string ErrorNoThumbnail { + get { + return ResourceManager.GetString("ErrorNoThumbnail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to create thumbnail.. + /// + internal static string ErrorUnableToCreateThumbnail { + get { + return ResourceManager.GetString("ErrorUnableToCreateThumbnail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to fit window.. + /// + internal static string ErrorUnableToFit { + get { + return ResourceManager.GetString("ErrorUnableToFit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to check for updates.. + /// + internal static string ErrorUpdate { + get { + return ResourceManager.GetString("ErrorUpdate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>).. + /// + internal static string ErrorUpdateContent { + get { + return ResourceManager.GetString("ErrorUpdateContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down.. + /// + internal static string ErrorUpdateContentGeneric { + get { + return ResourceManager.GetString("ErrorUpdateContentGeneric", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Mode. + /// + internal static string FullscreenMode { + get { + return ResourceManager.GetString("FullscreenMode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Always on top. + /// + internal static string FullscreenModeAlwaysOnTop { + get { + return ResourceManager.GetString("FullscreenModeAlwaysOnTop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Forces OnTopReplica to stay always on top.. + /// + internal static string FullscreenModeAlwaysOnTopTT { + get { + return ResourceManager.GetString("FullscreenModeAlwaysOnTopTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click through. + /// + internal static string FullscreenModeClickThrough { + get { + return ResourceManager.GetString("FullscreenModeClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.. + /// + internal static string FullscreenModeClickThroughTT { + get { + return ResourceManager.GetString("FullscreenModeClickThroughTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Standard. + /// + internal static string FullscreenModeNormal { + get { + return ResourceManager.GetString("FullscreenModeNormal", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Behaves like an ordinary window. You can bring other windows above OnTopReplica.. + /// + internal static string FullscreenModeNormalTT { + get { + return ResourceManager.GetString("FullscreenModeNormalTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica fullscreen. + /// + internal static string FullscreenTitle { + get { + return ResourceManager.GetString("FullscreenTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disable. + /// + internal static string GroupSwitchModeDisableButton { + get { + return ResourceManager.GetString("GroupSwitchModeDisableButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Group mode. + /// + internal static string GroupSwitchModeEnableButton { + get { + return ResourceManager.GetString("GroupSwitchModeEnableButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select multiple windows to enable.. + /// + internal static string GroupSwitchModeStatusDisabled { + get { + return ResourceManager.GetString("GroupSwitchModeStatusDisabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group switch mode is enabled.. + /// + internal static string GroupSwitchModeStatusEnabled { + get { + return ResourceManager.GetString("GroupSwitchModeStatusEnabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group switch mode:. + /// + internal static string GroupSwitchModeTitle { + get { + return ResourceManager.GetString("GroupSwitchModeTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Windows. + /// + internal static string GroupSwitchModeWindows { + get { + return ResourceManager.GetString("GroupSwitchModeWindows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Homepage: www.codeplex.com/ontopreplica.. + /// + internal static string Homepage { + get { + return ResourceManager.GetString("Homepage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Do you want to enable "click forwarding"?. + /// + internal static string InfoClickForwarding { + get { + return ResourceManager.GetString("InfoClickForwarding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + /// + ///To exit this mode, push ESC.. + /// + internal static string InfoClickForwardingContent { + get { + return ResourceManager.GetString("InfoClickForwardingContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click forwarding. + /// + internal static string InfoClickForwardingTitle { + get { + return ResourceManager.GetString("InfoClickForwardingTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click-Through mode?. + /// + internal static string InfoClickThrough { + get { + return ResourceManager.GetString("InfoClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent.. + /// + internal static string InfoClickThroughDetails { + get { + return ResourceManager.GetString("InfoClickThroughDetails", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + /// + ///To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon).. + /// + internal static string InfoClickThroughInformation { + get { + return ResourceManager.GetString("InfoClickThroughInformation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No, thank you. + ///You can enable click-through later. + /// + internal static string InfoClickThroughNo { + get { + return ResourceManager.GetString("InfoClickThroughNo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use Click-Through. + /// + internal static string InfoClickThroughOk { + get { + return ResourceManager.GetString("InfoClickThroughOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click-Through mode. + /// + internal static string InfoClickThroughTitle { + get { + return ResourceManager.GetString("InfoClickThroughTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica has been updated.. + /// + internal static string InfoUpdated { + get { + return ResourceManager.GetString("InfoUpdated", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to In order to use the updated version of OnTopReplica you'll have to restart the application.. + /// + internal static string InfoUpdatedContent { + get { + return ResourceManager.GetString("InfoUpdatedContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update successful. + /// + internal static string InfoUpdatedTitle { + get { + return ResourceManager.GetString("InfoUpdatedTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica is up to date.. + /// + internal static string InfoUpToDate { + get { + return ResourceManager.GetString("InfoUpToDate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No update available. + /// + internal static string InfoUpToDateTitle { + get { + return ResourceManager.GetString("InfoUpToDateTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Language. + /// + internal static string Language { + get { + return ResourceManager.GetString("Language", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to About.... + /// + internal static string MenuAbout { + get { + return ResourceManager.GetString("MenuAbout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hides the main window and displays the "about" box.. + /// + internal static string MenuAboutTT { + get { + return ResourceManager.GetString("MenuAboutTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Advanced. + /// + internal static string MenuAdvanced { + get { + return ResourceManager.GetString("MenuAdvanced", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chrome. + /// + internal static string MenuChrome { + get { + return ResourceManager.GetString("MenuChrome", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles the display of the window chrome.. + /// + internal static string MenuChromeTT { + get { + return ResourceManager.GetString("MenuChromeTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click forwarding. + /// + internal static string MenuClickForwarding { + get { + return ResourceManager.GetString("MenuClickForwarding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable "click forwarding" to the cloned window.. + /// + internal static string MenuClickForwardingTT { + get { + return ResourceManager.GetString("MenuClickForwardingTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click-Through. + /// + internal static string MenuClickThrough { + get { + return ResourceManager.GetString("MenuClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.. + /// + internal static string MenuClickThroughTT { + get { + return ResourceManager.GetString("MenuClickThroughTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Close. + /// + internal static string MenuClose { + get { + return ResourceManager.GetString("MenuClose", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Closes OnTopReplica.. + /// + internal static string MenuCloseTT { + get { + return ResourceManager.GetString("MenuCloseTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 2:1 Double. + /// + internal static string MenuFitDouble { + get { + return ResourceManager.GetString("MenuFitDouble", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fullscreen. + /// + internal static string MenuFitFullscreen { + get { + return ResourceManager.GetString("MenuFitFullscreen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:2 Half. + /// + internal static string MenuFitHalf { + get { + return ResourceManager.GetString("MenuFitHalf", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:1 Fit to window. + /// + internal static string MenuFitOriginal { + get { + return ResourceManager.GetString("MenuFitOriginal", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:4 Quarter. + /// + internal static string MenuFitQuarter { + get { + return ResourceManager.GetString("MenuFitQuarter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Glass. + /// + internal static string MenuGlass { + get { + return ResourceManager.GetString("MenuGlass", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles "glass mode" on and off.. + /// + internal static string MenuGlassTT { + get { + return ResourceManager.GetString("MenuGlassTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group Switch mode. + /// + internal static string MenuGroupSwitch { + get { + return ResourceManager.GetString("MenuGroupSwitch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground.. + /// + internal static string MenuGroupSwitchTT { + get { + return ResourceManager.GetString("MenuGroupSwitchTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 100% (opaque). + /// + internal static string MenuOp100 { + get { + return ResourceManager.GetString("MenuOp100", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to be completely opaque.. + /// + internal static string MenuOp100TT { + get { + return ResourceManager.GetString("MenuOp100TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 25%. + /// + internal static string MenuOp25 { + get { + return ResourceManager.GetString("MenuOp25", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 25% opacity.. + /// + internal static string MenuOp25TT { + get { + return ResourceManager.GetString("MenuOp25TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 50%. + /// + internal static string MenuOp50 { + get { + return ResourceManager.GetString("MenuOp50", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 50% opacity.. + /// + internal static string MenuOp50TT { + get { + return ResourceManager.GetString("MenuOp50TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 75%. + /// + internal static string MenuOp75 { + get { + return ResourceManager.GetString("MenuOp75", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 75% opacity.. + /// + internal static string MenuOp75TT { + get { + return ResourceManager.GetString("MenuOp75TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Opacity. + /// + internal static string MenuOpacity { + get { + return ResourceManager.GetString("MenuOpacity", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open. + /// + internal static string MenuOpen { + get { + return ResourceManager.GetString("MenuOpen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Displays OnTopReplica.. + /// + internal static string MenuOpenTT { + get { + return ResourceManager.GetString("MenuOpenTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bottom Left. + /// + internal static string MenuPosBottomLeft { + get { + return ResourceManager.GetString("MenuPosBottomLeft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bottom Right. + /// + internal static string MenuPosBottomRight { + get { + return ResourceManager.GetString("MenuPosBottomRight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Center. + /// + internal static string MenuPosCenter { + get { + return ResourceManager.GetString("MenuPosCenter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disabled. + /// + internal static string MenuPosDisabled { + get { + return ResourceManager.GetString("MenuPosDisabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Position lock. + /// + internal static string MenuPosition { + get { + return ResourceManager.GetString("MenuPosition", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatically position OnTopReplica on the current screen.. + /// + internal static string MenuPositionTT { + get { + return ResourceManager.GetString("MenuPositionTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Top Left. + /// + internal static string MenuPosTopLeft { + get { + return ResourceManager.GetString("MenuPosTopLeft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Top Right. + /// + internal static string MenuPosTopRight { + get { + return ResourceManager.GetString("MenuPosTopRight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Quit fullscreen mode. + /// + internal static string MenuQuitFullscreen { + get { + return ResourceManager.GetString("MenuQuitFullscreen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Recall last position and size. + /// + internal static string MenuRecall { + get { + return ResourceManager.GetString("MenuRecall", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles whether OnTopReplica should store its last position and size and use them when it is restarted.. + /// + internal static string MenuRecallTT { + get { + return ResourceManager.GetString("MenuRecallTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimize. + /// + internal static string MenuReduce { + get { + return ResourceManager.GetString("MenuReduce", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimizes OnTopReplica to the task bar (or the tray).. + /// + internal static string MenuReduceTT { + get { + return ResourceManager.GetString("MenuReduceTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select region.... + /// + internal static string MenuRegion { + get { + return ResourceManager.GetString("MenuRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail.. + /// + internal static string MenuRegionTT { + get { + return ResourceManager.GetString("MenuRegionTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset window. + /// + internal static string MenuReset { + get { + return ResourceManager.GetString("MenuReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resets OnTopReplica settings and its main window.. + /// + internal static string MenuResetTT { + get { + return ResourceManager.GetString("MenuResetTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resize. + /// + internal static string MenuResize { + get { + return ResourceManager.GetString("MenuResize", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switch to window. + /// + internal static string MenuSwitch { + get { + return ResourceManager.GetString("MenuSwitch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switches to the source window and hides OnTopReplica.. + /// + internal static string MenuSwitchTT { + get { + return ResourceManager.GetString("MenuSwitchTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select window. + /// + internal static string MenuWindows { + get { + return ResourceManager.GetString("MenuWindows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to - none -. + /// + internal static string MenuWindowsNone { + get { + return ResourceManager.GetString("MenuWindowsNone", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Displays a list of window you can select as thumbnail source.. + /// + internal static string MenuWindowsTT { + get { + return ResourceManager.GetString("MenuWindowsTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to - whole -. + /// + internal static string MenuWindowsWholeRegion { + get { + return ResourceManager.GetString("MenuWindowsWholeRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Current region:. + /// + internal static string RegionsCurrentRegion { + get { + return ResourceManager.GetString("RegionsCurrentRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete. + /// + internal static string RegionsDeleteButton { + get { + return ResourceManager.GetString("RegionsDeleteButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Done. + /// + internal static string RegionsDoneButton { + get { + return ResourceManager.GetString("RegionsDoneButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Height. + /// + internal static string RegionsHeight { + get { + return ResourceManager.GetString("RegionsHeight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset. + /// + internal static string RegionsResetButton { + get { + return ResourceManager.GetString("RegionsResetButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Save. + /// + internal static string RegionsSaveButton { + get { + return ResourceManager.GetString("RegionsSaveButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stored regions. + /// + internal static string RegionsStoredRegions { + get { + return ResourceManager.GetString("RegionsStoredRegions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Regions:. + /// + internal static string RegionsTitle { + get { + return ResourceManager.GetString("RegionsTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Width. + /// + internal static string RegionsWidth { + get { + return ResourceManager.GetString("RegionsWidth", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Right-click here to start.... + /// + internal static string RightClick { + get { + return ResourceManager.GetString("RightClick", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A lightweight, real-time, always on top thumbnail of a window of your choice.. + /// + internal static string Slogan { + get { + return ResourceManager.GetString("Slogan", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica automatically checks for updates. No information is logged at any point.. + /// + internal static string UpdateDisclaimer { + get { + return ResourceManager.GetString("UpdateDisclaimer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update now!. + /// + internal static string UpdateNow { + get { + return ResourceManager.GetString("UpdateNow", resourceCulture); + } + } + } +} diff --git a/OnTopReplica/Strings.cs.resx b/OnTopReplica/Strings.cs.resx new file mode 100644 index 0000000..0d381ff --- /dev/null +++ b/OnTopReplica/Strings.cs.resx @@ -0,0 +1,456 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Přerušit aktualizaci. + + + Zobrazit podrobnosti o aplikaci OnTopReplica. + + + Resetovat nastavení OnTopReplica. + + + Aktualizovat OnTopReplica. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licence</h1> + + <p><b>OnTopReplica</b> je šířena pod <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a> licencí.</p> + <p>Původní zdrojový kód je možné nalézt na <a href="http://www.codeplex.com/ontopreplica">domovské stránce projektu na serveru CodePlex</a>.</p> + + <h1>Autoři a zásluhy</h1> + + <p>Původní inspirací pro OnTopReplica byla aplikace <a href="http://insentient.net">Switcher</a> a další aplikace založeny na DWM.</p> + + <p>Všechny Vista ovládací prvky jsou součástí <a href="http://www.codeplex.com/windowsformsaero">knihovny WindowsFormsAero</a> pro .NET.</p> + + <p>Některé ukázkové kódy byly převzaty z <a href="http://www.ookii.org">Ookii</a> ze serveru Channel9.</p> + + <p>Třída NativeToolstripRenderer byla převzata z <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Některé ikony pocházejí z <a href="http://www.vistaico.com">VistaICO.com</a> a balíčku ikon Xiao.</p> + + </body> +</html> + + + OnTopReplica + + + Resetovat nastavení okna? + + + &Resetovat +Všechna nastavení budou ztracena. + + + Operace "Resetovat okno" je vhodná k inicializaci všech nastavení pokud jste například ztratili kontrolu nad oknem nebo jej přesunuli mimo viditelnou plochu obrazovky. + + + Resetovat + + + Resetovat nastavení? + + + Operace "Resetovat nastavení" smaže veškerá uživatelská nastavení aplikace OnTopReplica a vrátí nastavení do stejného stavu jako po instalaci (všechny uložené informace, jako například uložené výřezy oken, budou ztraceny). + + + Resetovat nastavení + + + Instalovat OnTopReplica {0}? + {0} update version + + + Zrušit aktualizaci +Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. + + + Pokračovat +Instalovat OnTopReplica {0}. + {0} update version + + + Nová verze bude automaticky stažena a nainstalována. + + + Nainstalovaná verze: {0} +Dostupná verze: {1} + {0} installed version number +{1} online available version number + + + Nové aktualizace jsou k dispozici + + + &Storno + + + Autor: Lorenz Cuno Klopfenstein. + + + Označte výřez pomocí myši. + + + Podrobnosti + + + Podrobnosti k Windows Aero + + + Windows Aero je k dispozici pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce 'Desktop Composition' není povolena. + + + Pro pokračování je nutné povolit funkci "Desktop Composition" výběrem tématu 'Windows Aero' v nastavení vzhledu Windows. + +Uvedené lze provést například kliknutním pravým tlačítkem myši na plochu a zvolením akce "Přizpůsobit". + + + Podrobnosti k chybě + + + Chyba: + + + Zvolené okno bylo zavřeno nebo již není platné z jiných důvodů. + + + Chyba + + + Funkce 'Desktop Composition' není ve vašem systému podporována. +Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce Desktop Composition není podporována + + + Náhled nebyl nahrán. + + + Nelze vytvořit náhled. + + + Nelze vložit okno. + + + Kontrola aktualizací se nezdařila. + + + Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte <a href="http://ontopreplica.codeplex.com">domácí stránku aplikace OnTopReplica</a>). + + + Režim + + + Vždy na vrchu + + + Nastaví aplikaci OnTopReplica, aby zůstávala vždy na vrchu. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Standardní + + + Aplikace OnTopReplica se bude chovat jako běžné okno. Jiná okna mohou překrýt okno aplikace. + + + Aplikace OnTopReplica přes celou obrazovku + + + Domácí stránka: www.codeplex.com/ontopreplica. + + + Přejete si povolit "přeposílání kliknutí"? + + + V tomto režimu aplikace OnTopReplica přeposílá kliknutí levého tlačítka myši do zdrojového okna (je tedy možné provádět základní ovládání zdrojového okna bez nutnosti jej aktivovat). + +Ukončit režim "přeposíání kliknutí" je možné opětovným vyvolání položky v menu. + + + Přeposílání kliknutí + + + Povolit "Proklikávání" v celoobrazovkovém režimu? + + + "Proklikávání" funguje pouze pokud je povoleno v menu a okno má nastavenou průhlednost. + + + V tomto režimu se bude okno roztažené přes celou obrazovku chovat jako poloprůhledná vrstva, přes kterou bude možné "proklikávat" na podložená okna. + +K návratu do standardního režimu je možné přejít kdykoli dvojklikem na ikonu v oznamovací oblasti (traye). + + + Ne. +Režim "Proklikávání" je možné zvolit později v menu + + + Používat "Proklikávání" + + + Režim "Proklikávání" + + + Aplikace OnTopReplica byla aktualizována. + + + Pro použití aktualizací je potřeba aplikaci OnTopReplica restartovat. + + + Aktualizace proběhla úspěšně + + + OnTopReplica je aktuální. + + + Žádná aktualizace není k dispozici. + + + Jazyk + + + O aplikaci... + + + Skryje hlavní okno a zobrazí informace "O aplikaci". + + + Okraj + + + Přepínač, který definuje, zda má aplikace OnTopReplica viditelný okraj okna. + + + Přeposílání kliknutí + + + Zapne "přeposílání kliknutí" do zdrojového okna. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Zavřít + + + Ukončí aplikaci OnTopReplica. + + + 2:1 Dvojnásobná + + + Celá obrazovka + + + 1:2 Poloviční + + + 1:1 Jako zdroj + + + 1:4 Čtvrtinová + + + Glass efekt + + + Přepíná "glass efekt" okna. + + + 100% (neprůhledné) + + + Nastaví aplikaci OnTopReplica jako neprůhlednou. + + + 25% + + + Nastaví průhlednost na 25%. + + + 50% + + + Nastaví průhlednost na 50%. + + + 75% + + + Nastaví průhlednost na 75%. + + + Průhlednost + + + Otevřít + + + Zobrazí aplikaci OnTopReplica. + + + Dolní levý roh + + + Dolní pravý roh + + + Umístění + + + Automatická pozice aplikace OnTopReplica vzhledem k obrazovce. + + + Horní levý roh + + + Horní pravý rok + + + Opustit celoobrazovkový režim + + + Ukládat pozici a velikost okna + + + Přepínač, který definuje, zda si má aplikace OnTopReplica ukládat poslední pozici a velikost okna a obnovovat tyto údaje po restartování aplikace. + + + Minimalizovat do traye + + + Minimalizuje aplikaci OnTopReplica jako ikonu v systémové oblasti. + + + Vybrat výřez... + + + Přepne do režimu "výřezu", který umožní zvolit pouze část okna jako náhled. + + + Resetovat nastavení okna + + + Resetuje nastavení a pozici okna aplikace OnTopReplica. + + + Velikost + + + Přepnout do okna + + + Přepne do zdrojového okna a skryje aplikaci OnTopReplica. + + + Vybrat okno + + + - žádné - + + + Zobrazí seznam oken, které je možné použít jako zdroj. + + + - celé okno - + + + Aktuální výřez: + + + Smazat + + + Hotovo + + + Výška + + + Reset + + + Uložit + + + Uložené výřezy + + + Výřezy: + + + Šířka + + + Začněte klepnutím sem pravým tlačítkem myši... + + + Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému. + + + Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. Během této operace nedochází k žádnému přenosu či ukládání uživatelských informací. + + + Zkontroluj aktualizace + + \ No newline at end of file diff --git a/OnTopReplica/Strings.da.resx b/OnTopReplica/Strings.da.resx new file mode 100644 index 0000000..c15bad8 --- /dev/null +++ b/OnTopReplica/Strings.da.resx @@ -0,0 +1,451 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Annuller updateringen + + + Vis detaljer om OnTopReplica. + + + Nulstil alle OnTopReplica indstillinger. + + + Opdater OnTopReplica nu. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licens</h1> + + <p><b>OnTopReplica</b> er licenseret under <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>Dem originale kildekode kan findes på <a href="http://www.codeplex.com/ontopreplica">projektets hjemmeside på CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica er inspireret af <a href="http://insentient.net">Switcher</a> og andre DWM baserede applikationer.</p> + + <p>Alle Vista funktioner er del af <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero biblioteket</a> for .NET.</p> + + <p>Lidt eksempel kode er taget fra <a href="http://www.ookii.org">Ookii</a> på Channel9.</p> + + <p>NativeToolstripRenderer class er taget fra <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Lidt ikoner fra <a href="http://www.vistaico.com">VistaICO.com</a> og Xiao ikon sættet.</p> + + </body> +</html> + + + OnTopReplica + + + Nulstil vinduet helt? + + + &NulstilAlle ændringer vil blive tabt. + + + Kan bruges til at nulstille alle indstillinger hvis du mister kontrollen over vinduet eller hvis det er flyttet uden for skærmen. + + + Nulstil + + + Nulstil indstillinger? + + + Dette nulstiller OnTopReplica til standard indstillingerne (alle gemte informationer, som gemte områder, vil blive slettet). + + + Nulstil indstillingerne + + + Installer OnTopReplica {0}? + {0} update version + + + Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes. + + + FortsætInstaller OnTopReplica + {0} update version + + + Den nye version vil automatiskt blive downloaded og installeret. + + + Installeret version: {0} +Tilgængelig version: {1} + {0} installed version number +{1} online available version number + + + Opdatering tilgængelig. + + + &Annuller + + + Lavet af: Lorenz Cuno Klopfenstein. + + + Tegn områder med musen + + + Detaljer + + + Detaljer om Windows Aero + + + Windows Aero er kun tilgængelig op Windows Vista Home Premium eller højere. + + + Windows Aero effekter er ikke slået til + + + Du skal aktiverere "Windows Aero" som tema i Windows.For at gøre dette skal du højreklikke på skrivebordet og vælge personlige indstillinger. + + + Fejl detaljer. + + + Fejl: + + + Vinduet du har valgt er lukket eller er ikke gyldigt mere. + + + Fejl + + + Windows Aero effekter er ikke understøttet af dit styresystem. +Dette program kræver Windows Vista Home Premium eller bedre. + + + Skrivebords komposition ikke understøttet + + + Ingen miniature indlæst. + + + Kan ikke lave miniature + + + Kunne ikke passes til vinduet. + + + Kan ikke søge efter opdateringer. + + + OnTopReplica blev ikke installeret ved hjælp af 'ClickOnce'. Du bliver nødt til at opdatere manuelt (besøg <a href="http://ontopreplica.codeplex.com">OnTopReplica's hjemmeside</a>). + + + Tilstande + + + Altid øverst + + + Får OnTopReplica til altid at være øverst. + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Standard + + + Opfører sig som et almindeligt vindue. Du kan trække andre viduer ind over OnTopReplica. + + + OnTopReplica fuld skærm + + + Hjemmeside: www.codeplex.com/ontopreplica. + + + Ønsker du at aktivere "click forwarding"? + + + Hvis denne funktion er aktiveret vil OnTopReplica vidersende alle venstr museklik til det klonede vindue (dette gør dig i stand til at udføre basis musefunktioner i det klonede vindue uden at skulle aktivere det). + +For at afslutte denne funktion skal du højreklikke på OnTopReplica og deaktivere "Click forwarding" i menuen. + + + Click forwarding + + + Ønskes gennem klik i fuldskærms tilstand? + + + Gennem klik virker kun hvis det er blevet aktiveret i gendan undermenuen og hvis vinduet er delvist gennemsigtigt. + + + I denne tilstand vil fuld skærm vinduet opføre sig som et delvist gennemsigtigt lag, hvilket gør dig i stand til at klikke på de underliggende vinduer. + +For at komme tilbage til normal tilstand, dobbeltklik på OnTopReplica ikonet i meddelelsesområdet på proceslinjen. + + + Nej. +Du kan aktivere gennem klik senere. + + + Brug gennem klik. + + + Gennem klik tilstand + + + OnTopReplica er blevet opdateret. + + + For at benytte den opdaterede udgave af OnTopReplica skal du genstarte programmet. + + + Opdatering fuldført + + + OnTopReplice er opdateret. + + + Ingen opdateringer er tilgængelige + + + Sprog + + + Om... + + + Skjuler hoved vinduet og viser om boxen. + + + Krom + + + Vælger Chrome kanten rundt om vinduet til/fra + + + Click forwarding + + + Aktiver "click forwarding" til det klonede vindue + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Luk + + + Lukker OnTopReplica. + + + 2:1 dobbelt + + + Fuld skærm + + + 1:2 halv + + + 1:1 Pas til vinduet + + + 1:4 kvart + + + Glas + + + Vælger "glas tilstand" til/fra + + + 100% (uigennemsigtig) + + + Sæt OnTopReplica til at være helt uigennemsigtig. + + + 25% + + + Sætter OnTopReplica til 25% uigennemsigtighed. + + + 50% + + + Sætter OnTopReplica til 50% uigennemsigtighed. + + + 75% + + + Sætter OnTopReplica til 75% uigennemsigtighed. + + + Uigennemsigtighed + + + åben + + + Viser OnTopReplica. + + + Nederst venstre + + + Nederst højre + + + Position + + + Sæt OnTopReplica automatiskt på den aktuelle skærm. + + + Øverst venstre + + + Øverst højre + + + Afslut fuldskærm tilstand. + + + Gendan sidste position og størrelse + + + Vælger om OnTopReplica skal gemme sidst brugte størrelse og position, til næste gang det starter op. + + + Minimer til systembakken. + + + Minimere OnTopReplica til systembakken. + + + Vælg område... + + + Skifter til "område tilstand", der tillader dig at vælge et begrænset område af kildens vindue som miniature. + + + Nulstil vinduet + + + Nulstiller OnTopReplica indstillingerne og hoved vinduet. + + + Genskab + + + Skift til vindue + + + Skifter til kilde vinduet og gemmer OnTopReplica. + + + Vælg vindue + + + - ingen - + + + Viser en liste af vinduer du kan bruge som miniature kilde. + + + - hele - + + + Aktuelt område: + + + Slet + + + Færdig + + + Højde + + + Nulstil + + + Gem + + + Gemte områder + + + Områder: + + + Bredde + + + Højreklik her for at starte... + + + En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. + + + OnTopReplica checker automatiskt for opdateringer. Der bliver ikke registreret nogen data på noget tidspunkt. + + + Opdater nu! + + \ No newline at end of file diff --git a/OnTopReplica/Strings.de.resx b/OnTopReplica/Strings.de.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.de.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.es.resx b/OnTopReplica/Strings.es.resx new file mode 100644 index 0000000..a628960 --- /dev/null +++ b/OnTopReplica/Strings.es.resx @@ -0,0 +1,478 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancela el progreso de actualización. + + + Muestra detalles acerca de OnTopReplica. + + + Reinicia la configuración de OnTopReplica a sus valores iniciales. + + + Actualiza OnTopReplica ahora. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licencia</h1> + + <p><b>OnTopReplica</b> cuenta con licencia <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>El código fuente original se encuentra en <a href="http://www.codeplex.com/ontopreplica">la página inicial del proyecto en CodePlex</a>.</p> + + <h1>Créditos</h1> + + <p><a href="http://insentient.net">Switcher</a> y otros programas basados en DWM inspiraron OnTopReplica.</p> + + <p>All Vista controls are part of the <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero library</a> for .NET.</p> + + <p>Some example code taken from <a href="http://www.ookii.org">Ookii</a> on Channel9.</p> + + <p>NativeToolstripRenderer class taken from <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> + + </body> +</html> + + + OnTopReplica + + + ¿Reiniciar la ventana? + + + &Reiniciar +Todos los ajustes se perderán. + + + Puede ser usado para reiniciar todos los ajustes si se ha perdido el control sobre las ventanas o se ha movido más allá de los bordes de la pantalla. + + + Reiniciar + + + ¿Reiniciar los ajustes? + + + Esta acción borrará todos los ajustes de OnTopReplica tras la instalación, volviendo a la configuración inicial (toda la información guardada, como las regiones personalizadas se perderán). + + + Reiniciar ajustes + + + Descargar OnTopReplica {0}? + {0} update version + + + Cancelar actualización +OnTopReplica le preguntará la próxima vez que se ejecute. + + + Descargar +Instalar OnTopReplica {0} + {0} update version + + + La nueva versión puede ser descargada e instalada del sitio oficial. + + + Versión instalada: {0} +Versión disponible: {1} + {0} installed version number +{1} online available version number + + + Actualización disponible + + + &Cancelar + + + Creado por: Lorenz Cuno Klopfenstein. + + + Crea una región utilizando el ratón. + + + Detalles + + + Detalles en Windows Aero + + + Windows Aero sólo está disponible en Windows Vista o 7, en su versión Home Premium o superior. + + + La Composición de Escritorio no está activada. + + + Debe activar la Composición de Escritorio seleccionando "Windows Aero" como tema utilizado en Windows. + +Para ello, click derecho en el escritorio y buscar la opción en Personalizar. + + + Detalles del error + + + Error: + + + Parece que la ventana seleccionada ha sido cerrada o ya no es válida. + + + Error: + + + La Composición de Escritorio no está soportada en su Sistema Operativo. +Es necesario utilizar Windows Vista o 7 en su versión Home Premium o superior. + + + Composición de Escritorio no soportada + + + No se ha clonado ninguna ventana. + + + Imposible clonar la ventana. + + + Imposible adaptar la ventana. + + + No se ha podido buscar actualizaciones. + + + Parece que OnTopReplica no ha podido ser instalado mediante "ClickOnce". Tendrá que actualizar manualmente visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + OnTopReplica no ha podido comprobar si hay una actualización disponible. Asegúrese de que está conectado a Internet. Si lo está, quizá la página oficial está temporalmente no disponible. + + + Modo + + + Siempre encima + + + OnTopReplica permanece siempre encima. + + + Click a través + + + OnTopReplica se comporta como una ventana transparente a través de la cual puede clickar lo que se encuentra detrás. + + + Ventana standard + + + OnTopReplica se comporta como una ventana corriente de Windows, por lo tanto puede estar en segundo plano. + + + OnTopReplica a pantalla completa + + + Desactivar + + + Activar el modo en grupo + + + Seleccionar varias ventanas para activar. + + + Modo en grupo activado + + + Modo en grupo: + + + Ventanas + Column Header of list, simply refers to available windows to be cloned + + + Sitio oficial: www.codeplex.com/ontopreplica. + + + Desea activar el "Click en la ventana clonada"? + + + Si este modo está activado, OnTopReplica permitirá hacer click en la ventana clonada (de esta forma se podrán hacer operaciones básicas con el ratón sin tener que activar la ventana original). + +Para salir de este modo, pulsar ESC. + + + Click en la ventana clonada + + + Activar el modo Click a través? + + + Click a través solo funciona si se ha activado y la ventana es semi-transparente. + + + En este modo, la ventana clonada se volverá ventana parcialmente transparente, permitiendo hacer click en las otras ventanas de detrás. + +Para volver al modo normal en cualquier momento, activar OnTopReplica clickando en la barra de tareas (o en el icono del sistema). + + + No, gracias. +Se podrá activar Click a través más tarde + + + Utilizar Click a través + + + Modo Click a través + + + OnTopReplica ha sido actualizado. + + + Para poder utilizar la versión actualizada de OnTopReplica se ha de reiniciar la aplicación. + + + Actualización correcta. + + + OnTopReplica está actualizado. + + + No hay actualizaciones disponibles + + + Idioma + + + Acerca de + + + Oculta la ventana principal y muestra la ventana de "Acerca de" + + + Avanzado + + + Marco + + + Activa o desactiva el marco de la ventana. + + + Activar Click en la ventana clonada + + + Activa "Click en la ventana clonada" en la ventana que se ha clonado. + + + Activar Click a través + + + OnTopReplica se comporta como una ventana transparente a través de la cual puede hacer click sobre lo que se encuentra detrás. + + + Cerrar + + + Cierra OnToopReplica + + + 2:1 Doble + + + Pantalla completa + + + 1:2 Mitad + + + 1:1 Tamaño original + + + 1:4 Un cuarto + + + Efecto vidrio + + + Activa o desactiva el efecto vidrio. + + + Modo en grupo + + + OnTopReplica clonará automáticamente una ventana de un grupo definido, eligiendo la que no ha estado en primer plano durante más tiempo. + + + 100% (opaco) + + + OnTopReplica será totalmente opaco. + + + Establece OnTopReplica al 25% de opacidad. + + + Establece OnTopReplica al 50% de opacidad. + + + Establece OnTopReplica al 75% de opacidad. + + + Opacidad + + + Abrir + + + Muestra OnTopReplica. + + + Abajo a la izquierda + + + Abajo a la derecha + + + Posición + + + Posiciona automáticamente OnTopReplica sobre el monitor actual. + + + Arriba a la izquierda + + + Arriba a la derecha + + + Salir del modo pantalla completa + + + Restaurar última posición y tamaño + + + Activa o desactiva si OnTopReplica debe guardar la última posición y tamaño y usarla cuando se reinicie. + + + Minimizar + + + Minimiza OnTopReplica a la barra de tareas (o de sistema). + + + Seleccionar región + + + Activa o desactiva "Seleccionar región", que permite seleccionar una región específica de la ventana clonada. + + + Reiniciar ventana + + + Reinicia los ajustes de OnTopReplica y la ventana principal + + + Cambiar tamaño + + + Ir a la ventana original + + + Activa la ventana original y ocuta OnTopReplica. + + + Seleccionar ventana + + + - ninguna - + + + Muestra una lista de ventanas que se pueden clonar. + + + - entera - + + + Región actual: + + + Borrar + + + Hecho + + + Altura + + + Reiniciar ventana + + + Guardar + + + Regiones guardadas + + + Regiones: + + + Anchura + + + Click derecho para empezar... + + + Una copia ligera de la ventana en tiempo real de una ventana a su elección. + + + OnTopReplica busca actualizaciones automáticamente. + + + Actualizar ahora! + + \ No newline at end of file diff --git a/OnTopReplica/Strings.fi.resx b/OnTopReplica/Strings.fi.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.fi.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.it.Designer.cs b/OnTopReplica/Strings.it.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx new file mode 100644 index 0000000..3010b1f --- /dev/null +++ b/OnTopReplica/Strings.it.resx @@ -0,0 +1,490 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Annulla il processo di aggiornamento. + + + Mostra dettagli su OnTopReplica. + + + Resetta tutte le impostazioni di OnTopReplica. + + + Aggiorna OnTopReplica ora. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>Licenza d'utilizzo</h1> + + <p><b>OnTopReplica</b> è rilasciato sotto la licenza <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>Il codice sorgente originale del programma è disponibile sulla <a href="http://www.codeplex.com/ontopreplica">homepage del progetto su CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica è stato inspirato da <a href="http://insentient.net">Switcher</a> ed altre applicazioni basate su DWM.</p> + + <p>I controlli utente specifici per Windows Vista sono parte della libreria <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero</a> per .NET.</p> + + <p>Qualche riga di codice d'esempio presa da <a href="http://www.ookii.org">Ookii</a> su Channel9.</p> + + <p>La classe NativeToolstripRenderer è stata presa da <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Alcune delle icone sono state prese da <a href="http://www.vistaico.com">VistaICO.com</a> e dal set di icone Xiao.</p> + + </body> +</html> + + + OnTopReplica + + + Ripristinare completamente la finestra? + + + &Ripristina +Tutte le impostazioni saranno perse. + + + Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. + + + Ripristino + + + Resettare impostazioni? + + + Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). + + + Reimposta + + + Scaricare OnTopReplica {0}? + {0} update version + + + Annulla aggiornamento +OnTopReplica si aggiornerà in un secondo momento. + + + Continua +Scarica OnTopReplica {0}. + {0} update version + + + Sarà possibile scaricare la nuova versione ed installarla. + + + Versione installata: {0} +Versione disponibile: {1} + {0} installed version number +{1} online available version number + + + Aggiornamento disponibile + + + &Annulla + + + Creato da: Lorenz Cuno Klopfenstein. + + + Disegna una regione usando il mouse. + + + Dettagli + + + Dettagli su Windows Aero + + + Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. + + + Il servizio di Desktop Composition Aero non è attivo. + + + È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows. + +Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. + + + Dettagli errore + + + Errore: + + + Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. + + + Errore + + + La "composzione del desktop" non è supportata dal tuo sistema operativo. +È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. + + + Desktop Composition (DWM) non supportato + + + Nessuna finestra clonata al momento. + + + Impossibile clonare la finestra + + + Impossibile adattare la finestra. + + + Impossibile controllare gli aggiornamenti. + + + Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + Non è stato possibile controllare se esiste una versione più aggiornata di OnTopReplica. Verificare di essere connessi ad Internet. Se la connessione è attiva, è possibile che il sito ufficiale sia temporaneamente offline. + + + Modalità + + + Sempre in cima + + + OnTopReplica sarà sempre la finestra sopra a tutte le altre. + + + Click through + + + OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. + + + Normale + + + Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. + + + OnTopReplica a pieno schermo + + + Disattiva + + + Abilita modalità + + + Seleziona più finestre per attivare. + + + Modalità Gruppo attivata. + + + Modalità Gruppo di finestre: + + + Finestre + Column Header of list, simply refers to available windows to be cloned + + + Sito internet: www.codeplex.com/ontopreplica. + + + Attivare la modalità di inoltro dei clic? + + + In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano). + +Per uscire da questa modalità, usa il tasto ESC. + + + Inoltro dei clic + + + Attivare la modalità Click-Through? + + + La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. + + + In questa modalità la finestra clonata si comporterà come una maschera semitrasparente che permette di cliccare sulle finestre dietro di essa. + +Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). + + + No, grazie. +Puoi abilitare il Click-Through in futuro + + + Abilita Click-Through + + + Modalità Click-Through + + + OnTopReplica è stato aggiornato. + + + Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. + + + Aggiornamento completato + + + La versione più aggiornata è già installata. + + + Nessun aggiornamento disponibile + + + Lingua + + + A proposito di... + + + Nasconde la finestra principale e mostra una schermata di informazioni. + + + Avanzate + + + Bordo + + + Abilita o disabilita il bordo della finestra. + + + Inoltro dei clic + + + Attiva la modalità di "inoltro dei clic" alla finestra clonata. + + + Abilita Click-Through + + + OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa. + + + Chiudi + + + Termina OnTopReplica. + + + 2:1 Doppio + + + Tutto schermo + + + 1:2 Metà + + + 1:1 Clone esatto + + + 1:4 Quarto + + + Effetto vetro + + + Abilita o disabilita l'effetto vetro. + + + Modalità Gruppo di finestre + + + OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo. + + + 100% (opaco) + + + Imposta OnTopReplica come finestra completamente opaca. + + + 25% + + + Imposta l'opacità di OnTopReplica al 25%. + + + 50% + + + Imposta l'opacità di OnTopReplica al 50%. + + + 75% + + + Imposta l'opacità di OnTopReplica al 75%. + + + Opacità + + + Apri + + + Attiva la finestra di OnTopReplica. + + + In basso a sinistra + + + In basso a destra + + + Blocco posizione + + + Posiziona automaticamente OnTopReplica sul monitor corrente. + + + In alto a sinistra + + + In alto a destra + + + Esci da tutto schermo + + + Ripristina posizione e grandezza + + + Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. + + + Minimizza + + + Riduce OnTopReplica ad un'icona nella barra delle applicazioni. + + + Seleziona regione... + + + Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. + + + Reimposta finestra + + + Reimposta OnTopReplica e la sua finestra principale. + + + Ridimensionamento + + + Vai alla finestra originale + + + Mostra la finestra originale e nasconde OnTopReplica. + + + Seleziona finestra + + + - nessuna - + + + Mostra una lista di finestre che è possibile clonare. + + + - intera - + + + Regione corrente: + + + Cancella + + + Chiudi + + + Altezz. + + + Reset + + + Salva + + + Regioni memorizzate + + + Regioni: + + + Largh. + + + Clic destro qui per iniziare... + + + Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta. + + + OnTopReplica controlla automaticamente se sono presenti aggiornamenti. + + + Aggiorna! + + + Disabilitato + + \ No newline at end of file diff --git a/OnTopReplica/Strings.no.resx b/OnTopReplica/Strings.no.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.no.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.pt.resx b/OnTopReplica/Strings.pt.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.pt.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx new file mode 100644 index 0000000..98e0e0f --- /dev/null +++ b/OnTopReplica/Strings.resx @@ -0,0 +1,493 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + <html> + <head> + <style type="text/css"> +body { + font-family: Segoe UI, Arial, sans-serif; + font-size: 0.8em; + margin: 0; +padding: 0.75em; +} +h1 { + font-size: 1.4em; + font-weight: bold; + + margin: 1em 0 0.4em 0; + padding: 0; +} +p { + margin: 0.5em 0 0.5em 1em; + padding: 0; +} +a { + font-weight: bold; + color: blue; +} +a:hover { + color: red; +} + </style> + </head> + + <body> + + <h1>License</h1> + + <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> + <p>The original source code can be found on the <a href="http://www.codeplex.com/ontopreplica">project's homepage on CodePlex</a>.</p> + + <h1>Credits</h1> + + <p>OnTopReplica was inspired by <a href="http://insentient.net">Switcher</a> and other DWM based applications.</p> + + <p>All Vista controls are part of the <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero library</a> for .NET.</p> + + <p>Some example code taken from <a href="http://www.ookii.org">Ookii</a> on Channel9.</p> + + <p>NativeToolstripRenderer class taken from <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> + + <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> + + </body> +</html> + + + OnTopReplica + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + Download OnTopReplica {0}? + {0} update version + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + {0} update version + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + {0} installed version number +{1} online available version number + + + Update available + + + &Cancel + + + Created by: Lorenz Cuno Klopfenstein. + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Chrome + + + Toggles the display of the window chrome. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Glass + + + Toggles "glass mode" on and off. + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + OnTopReplica automatically checks for updates. No information is logged at any point. + + + Update now! + + + Center + + + Disabled + + \ No newline at end of file diff --git a/OnTopReplica/Strings.ru.resx b/OnTopReplica/Strings.ru.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.ru.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs new file mode 100644 index 0000000..44d3979 --- /dev/null +++ b/OnTopReplica/ThumbnailPanel.cs @@ -0,0 +1,447 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using VistaControls.Dwm; +using VistaControls.ThemeText; +using System.Drawing; +using System.Windows.Forms.VisualStyles; +using OnTopReplica.Native; + +namespace OnTopReplica { + + class ThumbnailPanel : Panel { + + //DWM Thumbnail stuff + Thumbnail _thumbnail = null; + Rectangle _regionCurrent; + + //Labels + ThemedLabel _labelGlass; + + public ThumbnailPanel() { + InitFormComponents(); + } + + private void InitFormComponents() { + BackColor = Color.Black; + + //Themed Label + _labelGlass = new ThemedLabel { + Dock = DockStyle.Fill, + ForeColor = SystemColors.ControlText, + Location = Point.Empty, + Size = ClientSize, + Name = "labelGlass", + Text = Strings.RightClick, + TextAlign = HorizontalAlignment.Center, + TextAlignVertical = VerticalAlignment.Center + }; + this.Controls.Add(_labelGlass); + } + + #region Properties and settings + + /// + /// Gets or sets the region that is currently shown on the thumbnail. When set, also enabled region constrain. + /// + public Rectangle SelectedRegion { + get { + return _regionCurrent; + } + set { + _regionCurrent = value; + ConstrainToRegion = true; + } + } + + bool _regionEnabled = false; + + /// + /// Gets or sets whether the thumbnail is constrained to a region or not. + /// + public bool ConstrainToRegion { + get { + return _regionEnabled; + } + set { + _regionEnabled = value; + UpdateThubmnail(); + } + } + + bool _drawMouseRegions = false; + + /// + /// Gets or sets whether the control is is "region drawing" mode and reports them via events. + /// + public bool DrawMouseRegions { + get { + return _drawMouseRegions; + } + set { + //Set mode and reset region + _drawMouseRegions = value; + _drawingRegion = false; + + //Cursor change + Cursor = (value) ? Cursors.Cross : Cursors.Default; + + //Refresh gui + UpdateThubmnail(); + _labelGlass.Visible = !value; + this.Invalidate(); + } + } + + /// + /// Gets the target opacity of the thumbnail, depending on the control's state. + /// + protected byte ThumbnailOpacity { + get { + return (_drawMouseRegions) ? (byte)130 : (byte)255; + } + } + + /// + /// Gets or sets whether the control should report clicks made on the cloned thumbnail. + /// + public bool ReportThumbnailClicks { + get; + set; + } + + /// + /// Gets the thumbnail's original size. + /// + public Size ThumbnailOriginalSize { + get { + if (_thumbnail != null && !_thumbnail.IsInvalid) { + if (_regionEnabled) + return _regionCurrent.Size; + + return _thumbnail.SourceSize; + } + else + throw new Exception(Strings.ErrorNoThumbnail); + } + } + + #endregion + + #region GUI event handling + + protected override void OnResize(EventArgs eventargs) { + base.OnResize(eventargs); + UpdateThubmnail(); + } + + protected override void WndProc(ref Message m) { + base.WndProc(ref m); + + //Check whether this is a hit-test on "client" surface + if (m.Msg == WM.NCHITTEST && m.Result.ToInt32() == HT.CLIENT) { + //Check whether clicks must be reported + if(!DrawMouseRegions && !ReportThumbnailClicks /*&& !InputMethods.IsKeyPressed(VirtualKeyState.VK_SHIFT)*/){ + m.Result = new IntPtr(HT.TRANSPARENT); + } + } + } + + #endregion + + #region Thumbnail interface + + /// + /// Creates a new thumbnail of a certain window. + /// + /// Handle of the window to clone. + public void SetThumbnailHandle(WindowHandle handle) { + if (_thumbnail != null && !_thumbnail.IsInvalid) + _thumbnail.Close(); + + //Get form and register thumbnail on it + Form owner = this.TopLevelControl as Form; + if(owner == null) + throw new Exception("Internal error: ThumbnailPanel.TopLevelControl is not a Form."); + + _labelGlass.Visible = false; + + _thumbnail = DwmManager.Register(owner, handle.Handle); + ConstrainToRegion = false; //this also invokes a thumbnail update + } + + /// + /// Disposes current thumbnail and enters stand-by mode. + /// + public void UnsetThumbnail() { + if (_thumbnail != null && !_thumbnail.IsInvalid) + _thumbnail.Close(); + + _thumbnail = null; + _labelGlass.Visible = true; + } + + /// + /// Gets whether the control is currently displaying a thumbnail. + /// + public bool IsShowingThumbnail { + get { + return (_thumbnail != null && !_thumbnail.IsInvalid); + } + } + + int _padWidth = 0; + int _padHeight = 0; + Size _thumbnailSize; + + /// + /// Updates the thumbnail options and the right-click label. + /// + private void UpdateThubmnail() { + if (_thumbnail != null && !_thumbnail.IsInvalid){ + try { + Size sourceSize = ThumbnailOriginalSize; + _thumbnailSize = ComputeIdealSize(sourceSize, Size); + + _padWidth = (Size.Width - _thumbnailSize.Width) / 2; + _padHeight = (Size.Height - _thumbnailSize.Height) / 2; + + var target = new Rectangle(_padWidth, _padHeight, _thumbnailSize.Width, _thumbnailSize.Height); + Rectangle source = (_regionEnabled) ? _regionCurrent : new Rectangle(Point.Empty, _thumbnail.SourceSize); + + _thumbnail.Update(target, source, ThumbnailOpacity, true, true); + } + catch { + //Any error updating the thumbnail forces to unset (handle may not be valid anymore) + UnsetThumbnail(); + return; + } + } + } + + /// + /// Computes ideal thumbnail size given an original size and a target to fit. + /// + /// Size of the original thumbnail. + /// Size of the client area to fit. + private Size ComputeIdealSize(Size sourceSize, Size clientSize) { + double sourceRatio = (double)sourceSize.Width / (double)sourceSize.Height; + double clientRatio = (double)clientSize.Width / (double)clientSize.Height; + + Size ret; + if (sourceRatio >= clientRatio) { + ret = new Size(clientSize.Width, (int)((double)clientSize.Width / sourceRatio)); + } + else { + ret = new Size((int)((double)clientSize.Height * sourceRatio), clientSize.Height); + } + + return ret; + } + + #endregion + + #region Region drawing + + //Set if currently drawing a window (first click/drag was initiated) + bool _drawingRegion = false; + //Set if drawing was suspended because the mouse left the control + bool _drawingSuspended = false; + Point _regionStartPoint; + Point _regionLastPoint; + + public delegate void RegionDrawnHandler(object sender, Rectangle region); + + public event RegionDrawnHandler RegionDrawn; + + protected virtual void OnRegionDrawn(Rectangle region) { + //Fix region if necessary (bug report by Gunter, via comment) + if (region.Width < 1) region.Width = 1; + if (region.Height < 1) region.Height = 1; + + var evt = RegionDrawn; + if (evt != null) + evt(this, region); + } + + /// + /// Raises a RegionDrawn event, given a starting and an ending point of the drawn region. + /// + protected void RaiseRegionDrawn(Point start, Point end) { + if (_thumbnailSize.Width < 1 || _thumbnailSize.Height < 1) //causes DivBy0 + return; + + //Compute bounds + int left = Math.Min(start.X, end.X); + int right = Math.Max(start.X, end.X); + int top = Math.Min(start.Y, end.Y); + int bottom = Math.Max(start.Y, end.Y); + + //Clip to boundaries + left = Math.Max(0, left); + right = Math.Min(_thumbnailSize.Width, right); + top = Math.Max(0, top); + bottom = Math.Min(_thumbnailSize.Height, bottom); + + //Compute region rectangle in thumbnail coordinates + var startPoint = ClientToThumbnail(new Point(left, top)); + var endPoint = ClientToThumbnail(new Point(right, bottom)); + var final = new Rectangle( + startPoint, + new Size(endPoint.X - startPoint.X, endPoint.Y - startPoint.Y) + ); + + //Update region + SelectedRegion = final; + OnRegionDrawn(final); + } + + protected override void OnMouseDown(MouseEventArgs e) { + if (DrawMouseRegions && e.Button == MouseButtons.Left) { + //Start new region drawing + _drawingRegion = true; + _drawingSuspended = false; + _regionStartPoint = _regionLastPoint = e.Location; + + this.Invalidate(); + } + + base.OnMouseDown(e); + } + + protected override void OnMouseUp(MouseEventArgs e) { + if (DrawMouseRegions && e.Button == MouseButtons.Left) { + //Region completed + _drawingRegion = false; + _drawingSuspended = false; + RaiseRegionDrawn(_regionStartPoint, _regionLastPoint); + + this.Invalidate(); + } + + base.OnMouseUp(e); + } + + protected override void OnMouseLeave(EventArgs e) { + _drawingSuspended = true; + + this.Invalidate(); + + base.OnMouseLeave(e); + } + + protected override void OnMouseEnter(EventArgs e) { + _drawingSuspended = false; + + this.Invalidate(); + + base.OnMouseEnter(e); + } + + protected override void OnMouseMove(MouseEventArgs e) { + if (_drawingRegion && e.Button == MouseButtons.Left) { + //Continue drawing + _regionLastPoint = e.Location; + + this.Invalidate(); + } + else if(DrawMouseRegions && !_drawingRegion){ + //Keep track of region start point + _regionLastPoint = e.Location; + + this.Invalidate(); + } + + base.OnMouseMove(e); + } + + Pen penRed = new Pen(Color.FromArgb(255, Color.Red), 1.0f); + + protected override void OnPaint(PaintEventArgs e) { + if (_drawingRegion) { + //Is currently drawing, show rectangle + int left = Math.Min(_regionStartPoint.X, _regionLastPoint.X); + int right = Math.Max(_regionStartPoint.X, _regionLastPoint.X); + int top = Math.Min(_regionStartPoint.Y, _regionLastPoint.Y); + int bottom = Math.Max(_regionStartPoint.Y, _regionLastPoint.Y); + + e.Graphics.DrawRectangle(penRed, left, top, right - left, bottom - top); + } + else if (DrawMouseRegions && ! _drawingSuspended) { + //Show cursor coordinates + e.Graphics.DrawLine(penRed, new Point(0, _regionLastPoint.Y), new Point(ClientSize.Width, _regionLastPoint.Y)); + e.Graphics.DrawLine(penRed, new Point(_regionLastPoint.X, 0), new Point(_regionLastPoint.X, ClientSize.Height)); + } + + base.OnPaint(e); + } + + #endregion + + #region Thumbnail clone click + + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); + + if (_thumbnail == null) + return; + + //Raise clicking event to allow click forwarding + if (ReportThumbnailClicks) { + OnCloneClick(ClientToThumbnail(e.Location), e.Button, false); + } + } + + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); + + if (_thumbnail == null) + return; + + //Raise double clicking event to allow click forwarding + if (ReportThumbnailClicks) { + OnCloneClick(ClientToThumbnail(e.Location), e.Button, true); + } + } + + /// + /// Is raised when the thumbnail clone is clicked. + /// + public event EventHandler CloneClick; + + protected virtual void OnCloneClick(Point location, MouseButtons buttons, bool doubleClick){ + var evt = CloneClick; + if(evt != null) + evt(this, new CloneClickEventArgs(location, buttons, doubleClick)); + } + + #endregion + + /// + /// Convert a point in client coordinates to a point expressed in terms of a cloned thumbnail window. + /// + /// Point in client coordinates. + protected Point ClientToThumbnail(Point position) { + //Compensate padding + position.X -= _padWidth; + position.Y -= _padHeight; + + PointF proportionalPosition = new PointF( + (float)position.X / _thumbnailSize.Width, + (float)position.Y / _thumbnailSize.Height + ); + + //Get real pixel region info + Size source = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; + Point offset = (_regionEnabled) ? _regionCurrent.Location : Point.Empty; + + return new Point( + (int)((proportionalPosition.X * source.Width) + offset.X), + (int)((proportionalPosition.Y * source.Height) + offset.Y) + ); + } + + } + +} diff --git a/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs b/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs new file mode 100644 index 0000000..6482835 --- /dev/null +++ b/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Update { + class UpdateCheckCompletedEventArgs : EventArgs { + + public UpdateInformation Information { get; set; } + + public bool Success { get; set; } + + public Exception Error { get; set; } + + } +} diff --git a/OnTopReplica/Update/UpdateInformation.cs b/OnTopReplica/Update/UpdateInformation.cs new file mode 100644 index 0000000..f605223 --- /dev/null +++ b/OnTopReplica/Update/UpdateInformation.cs @@ -0,0 +1,72 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.IO; +using System.Xml; + +namespace OnTopReplica.Update { + + /// + /// Contains information about the latest OnTopReplica update available. + /// + public class UpdateInformation { + + Version _latestVersion; + + /// + /// Gets the latest available version of the software. + /// + [XmlIgnore] + public Version LatestVersion { + get { + return _latestVersion; + } + set { + _latestVersion = value; + } + } + + [XmlElement("latestVersion")] + public string LatestVersionInternal { + get { + return _latestVersion.ToString(); + } + set { + _latestVersion = new Version(value); + } + } + + /// + /// Indicates when the latest version was released. + /// + [XmlElement("latestVersionRelease")] + public DateTime LatestVersionRelease { get; set; } + + /// + /// Gets the URL of the page that allows the user to download the updated installer. + /// + [XmlElement("downloadPage")] + public string DownloadPage { get; set; } + + /// + /// Deserializes an UpdateInformation object from a stream. + /// + public static UpdateInformation Deserialize(Stream source) { + var serializer = new XmlSerializer(typeof(UpdateInformation)); + var info = serializer.Deserialize(source) as UpdateInformation; + return info; + } + + public static string Serialize(UpdateInformation information) { + var serializer = new XmlSerializer(typeof(UpdateInformation)); + var sb = new StringBuilder(); + using(var writer = new StringWriter(sb)){ + serializer.Serialize(writer, information); + } + return sb.ToString(); + } + + } + +} diff --git a/OnTopReplica/Update/UpdateManager.cs b/OnTopReplica/Update/UpdateManager.cs new file mode 100644 index 0000000..ea138e7 --- /dev/null +++ b/OnTopReplica/Update/UpdateManager.cs @@ -0,0 +1,106 @@ +using System; +using System.Collections.Generic; +using System.Net; +using System.Text; +using System.Net.Cache; +using System.IO; +using System.Reflection; +using VistaControls.TaskDialog; +using System.Diagnostics; +using System.Windows.Forms; +using System.Threading; + +namespace OnTopReplica.Update { + + class UpdateManager { + + const string UpdateManifestUrl = "http://www.klopfenstein.net/public/Uploads/ontopreplica/update.xml"; + + public void CheckForUpdate() { + ThreadPool.QueueUserWorkItem(new WaitCallback(o => { + //Build web request + var request = (HttpWebRequest)HttpWebRequest.Create(UpdateManifestUrl); + request.AllowAutoRedirect = true; + request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; + request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache); + + try { + //Begin request + var response = request.GetResponse(); + var info = UpdateInformation.Deserialize(response.GetResponseStream()); + + OnUpdateCheckSuccess(info); + } + catch (Exception ex) { + OnUpdateCheckError(ex); + return; + } + })); + } + + public event EventHandler UpdateCheckCompleted; + + protected virtual void OnUpdateCheckError(Exception ex) { + var evt = UpdateCheckCompleted; + if (evt != null) { + evt(this, new UpdateCheckCompletedEventArgs { + Success = false, + Error = ex + }); + } + } + + protected virtual void OnUpdateCheckSuccess(UpdateInformation information) { + var evt = UpdateCheckCompleted; + if (evt != null) { + evt(this, new UpdateCheckCompletedEventArgs { + Success = true, + Information = information + }); + } + } + + /// + /// Handles the results of an update check. Must be called from main GUI thread. + /// + /// The retrieved update information. + /// Determines if the lack of updates should be notified to the user. + public void HandleUpdateCheck(Form parent, UpdateInformation information, bool verbose) { + if (information == null) + return; + + var currentVersion = Assembly.GetExecutingAssembly().GetName().Version; + + if (information.LatestVersion > currentVersion) { + //New version found + var dlg = new TaskDialog( + string.Format(Strings.AskUpdate, information.LatestVersion), + Strings.AskUpdateTitle, + Strings.AskUpdateContent) { + CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, string.Format(Strings.AskUpdateButtonOk, information.LatestVersion)), + new CustomButton(Result.Cancel, Strings.AskUpdateButtonCancel) + }, + UseCommandLinks = true, + CommonIcon = TaskDialogIcon.Information, + ExpandedInformation = string.Format(Strings.AskUpdateExpanded, currentVersion, information.LatestVersion) + }; + + if (dlg.Show(parent).CommonButton == Result.OK) { + Process.Start(information.DownloadPage); + } + } + else if(verbose) { + //No updates, but need to inform the user + var dlg = new TaskDialog(Strings.InfoUpToDate, Strings.InfoUpToDateTitle) { + CommonButtons = TaskDialogButton.OK, + CommonIcon = TaskDialogIcon.Information, + //Footer = information.LatestVersion.ToString() + }; + dlg.Show(); + } + } + + } + +} diff --git a/OnTopReplica/Win32Helper.cs b/OnTopReplica/Win32Helper.cs new file mode 100644 index 0000000..49709ab --- /dev/null +++ b/OnTopReplica/Win32Helper.cs @@ -0,0 +1,122 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + public static class Win32Helper { + + /// Inject a fake left mouse click on a target window, on a location expressed in client coordinates. + /// Target window to click on. + /// Location of the mouse click expressed in client coordiantes of the target window. + /// True if a double click should be injected. + public static void InjectFakeMouseClick(IntPtr window, CloneClickEventArgs clickArgs) { + NPoint clientClickLocation = NPoint.FromPoint(clickArgs.ClientClickLocation); + NPoint scrClickLocation = WindowManagerMethods.ClientToScreen(window, clientClickLocation); + + //HACK (?) + //If target window has a Menu (which appears on the thumbnail) move the clicked location down + //in order to adjust (the menu isn't part of the window's client rect). + IntPtr hMenu = WindowMethods.GetMenu(window); + if (hMenu != IntPtr.Zero) + scrClickLocation.Y -= SystemInformation.MenuHeight; + + IntPtr hChild = GetRealChildControlFromPoint(window, scrClickLocation); + NPoint clntClickLocation = WindowManagerMethods.ScreenToClient(hChild, scrClickLocation); + + if (clickArgs.Buttons == MouseButtons.Left) { + if(clickArgs.IsDoubleClick) + InjectDoubleLeftMouseClick(hChild, clntClickLocation); + else + InjectLeftMouseClick(hChild, clntClickLocation); + } + else if (clickArgs.Buttons == MouseButtons.Right) { + if(clickArgs.IsDoubleClick) + InjectDoubleRightMouseClick(hChild, clntClickLocation); + else + InjectRightMouseClick(hChild, clntClickLocation); + } + } + + private static void InjectLeftMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.LBUTTONDOWN, new IntPtr(MK.LBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.LBUTTONUP, new IntPtr(MK.LBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Left click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectRightMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.RBUTTONDOWN, new IntPtr(MK.RBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.RBUTTONUP, new IntPtr(MK.RBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Right click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectDoubleLeftMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.LBUTTONDBLCLK, new IntPtr(MK.LBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Double left click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectDoubleRightMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.RBUTTONDBLCLK, new IntPtr(MK.RBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Double right click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + /// Returns the child control of a window corresponding to a screen location. + /// Parent window to explore. + /// Child control location in screen coordinates. + private static IntPtr GetRealChildControlFromPoint(IntPtr parent, NPoint scrClickLocation) { + IntPtr curr = parent, child = IntPtr.Zero; + do { + child = WindowManagerMethods.RealChildWindowFromPoint(curr, + WindowManagerMethods.ScreenToClient(curr, scrClickLocation)); + + if (child == IntPtr.Zero || child == curr) + break; + + //Update for next loop + curr = child; + } + while (true); + + //Safety check, shouldn't happen + if (curr == IntPtr.Zero) + curr = parent; + + return curr; + } + + /// + /// Gets a handle to the window that currently is in the foreground. + /// + /// May return null if call fails or no valid window selected. + public static WindowHandle GetCurrentForegroundWindow() { + IntPtr handle = WindowManagerMethods.GetForegroundWindow(); + if (handle == IntPtr.Zero) + return null; + + return new WindowHandle(handle, string.Empty); + } + + } +} diff --git a/OnTopReplica/WindowHandle.cs b/OnTopReplica/WindowHandle.cs new file mode 100644 index 0000000..f158e29 --- /dev/null +++ b/OnTopReplica/WindowHandle.cs @@ -0,0 +1,94 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using OnTopReplica.Native; + +namespace OnTopReplica { + + /// Helper class that keeps a window handle (HWND), the title of the window and can load its icon. + public class WindowHandle : System.Windows.Forms.IWin32Window { + + IntPtr _handle; + string _title; + + public WindowHandle(IntPtr p, string title) { + _handle = p; + _title = title; + } + + public string Title { + get { + return _title; + } + } + + Icon _icon = null; + bool _iconFetched = false; + public Icon Icon { + get { + if (!_iconFetched) { + //Fetch icon from window + IntPtr hIcon; + + if (MessagingMethods.SendMessageTimeout(_handle, WM.GETICON, new IntPtr(2), new IntPtr(0), + MessagingMethods.SendMessageTimeoutFlags.AbortIfHung | MessagingMethods.SendMessageTimeoutFlags.Block, 500, out hIcon) == IntPtr.Zero) + hIcon = IntPtr.Zero; + + if (hIcon.ToInt64() != 0) { + _icon = Icon.FromHandle(hIcon); + } + else { + //Fetch icon from window class + hIcon = (IntPtr)WindowMethods.GetClassLong(_handle, WindowMethods.ClassLong.IconSmall); + + if (hIcon.ToInt64() != 0) { + _icon = Icon.FromHandle(hIcon); + } + } + } + + _iconFetched = true; + + return _icon; + } + } + + public override string ToString() { + return _title; + } + + public override bool Equals(object obj) { + if (ReferenceEquals(obj, this)) + return true; + + System.Windows.Forms.IWin32Window win = obj as System.Windows.Forms.IWin32Window; + + if (win == null) + return false; + + return (win.Handle == _handle); + } + + public override int GetHashCode() { + return _handle.GetHashCode(); + } + + #region IWin32Window Members + + public IntPtr Handle { + get { return _handle; } + } + + #endregion + + /// + /// Creates a new windowHandle instance from a given IntPtr handle. + /// + /// Handle value. + public static WindowHandle FromHandle(IntPtr handle) { + return new WindowHandle(handle, string.Empty); + } + + } +} diff --git a/OnTopReplica/WindowListHelper.cs b/OnTopReplica/WindowListHelper.cs new file mode 100644 index 0000000..5a8585e --- /dev/null +++ b/OnTopReplica/WindowListHelper.cs @@ -0,0 +1,123 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Properties; +using OnTopReplica.WindowSeekers; + +namespace OnTopReplica { + /// + /// Extension methods used to apply a window list to a menu. + /// + static class WindowListHelper { + + public class WindowSelectionData { + public WindowHandle Handle { get; set; } + public StoredRegion Region { get; set; } + } + + const int MaxWindowTitleLength = 55; + + /// + /// Populates the menu with a list of windows. + /// + /// The menu to populate. + /// The owning form. + /// The window manager that provides the windows list. + /// The currently used window (will be checked in the list). + /// Event handler for clicks on window items. + public static void PopulateMenu(this ToolStrip menu, Form ownerForm, BaseWindowSeeker windowManager, + WindowHandle currentHandle, EventHandler clickHandler) { + var regions = GetRegions(); + + //Clear + menu.Items.Clear(); + + //"None" selection + var nullTsi = new ToolStripMenuItem(Strings.MenuWindowsNone); + nullTsi.Tag = null; + nullTsi.Click += clickHandler; + nullTsi.Checked = (currentHandle == null); + menu.Items.Add(nullTsi); + + //Add an item for each window + foreach (WindowHandle h in windowManager.Windows) { + //Skip if in the same process + if (h.Handle.Equals(ownerForm.Handle)) + continue; + + var tsi = new ToolStripMenuItem(); + + //Window title + if (h.Title.Length > MaxWindowTitleLength) { + tsi.Text = h.Title.Substring(0, MaxWindowTitleLength) + "..."; + tsi.ToolTipText = h.Title; + } + else + tsi.Text = h.Title; + + //Icon + if (h.Icon != null) { + tsi.Image = h.Icon.ToBitmap(); + } + + //Check if this is the currently displayed window + tsi.Checked = h.Equals(currentHandle); + + //Add direct click if no stored regions + tsi.Tag = new WindowSelectionData { + Handle = h, + Region = null + }; + tsi.Click += clickHandler; + + PopulateRegions(tsi, h, clickHandler, regions); + + menu.Items.Add(tsi); + } + + } + + private static void PopulateRegions(ToolStripMenuItem tsi, WindowHandle handle, + EventHandler clickHandler, IEnumerable regions) { + + if (regions != null) { + //Add subitem for no region + var nullRegionItem = new ToolStripMenuItem(Strings.MenuWindowsWholeRegion); + nullRegionItem.Tag = new WindowSelectionData { + Handle = handle, + Region = null + }; + nullRegionItem.Image = Resources.regions; + nullRegionItem.Click += clickHandler; + tsi.DropDownItems.Add(nullRegionItem); + + foreach (StoredRegion region in regions) { + var regionItem = new ToolStripMenuItem(region.Name); + regionItem.Tag = new WindowSelectionData { + Handle = handle, + Region = region + }; + regionItem.Click += clickHandler; + + tsi.DropDownItems.Add(regionItem); + } + } + } + + private static IEnumerable GetRegions() { + if (Settings.Default.SavedRegions == null || Settings.Default.SavedRegions.Count == 0) + return null; + + StoredRegion[] regions = new StoredRegion[Settings.Default.SavedRegions.Count]; + Settings.Default.SavedRegions.CopyTo(regions); + + Array.Sort(regions, new Comparison((a, b) => { + return a.Name.CompareTo(b.Name); + })); + + return regions; + } + + } +} diff --git a/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs b/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs new file mode 100644 index 0000000..b27bac5 --- /dev/null +++ b/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs @@ -0,0 +1,80 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + + /// + /// Base class for window seekers that can populate a list of window handles based on some criteria. + /// + abstract class BaseWindowSeeker { + + List _list = new List(); + + /// + /// Get the matching windows from the last refresh. + /// + public IEnumerable Windows { + get { + return _list; + } + } + + /// + /// Forces a window list refresh. + /// + public virtual void Refresh() { + _list.Clear(); + + WindowManagerMethods.EnumWindows( + new WindowManagerMethods.EnumWindowsProc(RefreshCallback), + IntPtr.Zero); + } + + private bool RefreshCallback(IntPtr hwnd, IntPtr lParam) { + bool cont = true; + + //Skip owner + if (hwnd == OwnerHandle) + return true; + + if (SkipNotVisibleWindows && !WindowManagerMethods.IsWindowVisible(hwnd)) + return true; + + //Extract basic properties + string title = WindowMethods.GetWindowText(hwnd); + + if (InspectWindow(hwnd, title, ref cont)) { + //Window has been picked + _list.Add(new WindowHandle(hwnd, title)); + } + + return cont; + } + + /// + /// Inspects a window and returns whether the window should be listed or not. + /// + /// Handle of the window. + /// Title of the window (if any). + /// Indicates whether the inspection loop should terminate after this window. + /// True if the window should be listed. + protected abstract bool InspectWindow(IntPtr hwnd, string title, ref bool terminate); + + /// + /// Gets or sets the window handle of the owner. + /// + /// + /// Windows with this handle will be automatically skipped. + /// + public IntPtr OwnerHandle { get; set; } + + /// + /// Gets or sets whether not visible windows should be skipped. + /// + public bool SkipNotVisibleWindows { get; set; } + + } + +} diff --git a/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs b/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs new file mode 100644 index 0000000..acf9c8b --- /dev/null +++ b/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + /// + /// Seeks a single window by matching its window class. + /// + /// + /// Class matching is exact and case-sensititve. + /// + class ByClassWindowSeeker : BaseWindowSeeker { + + public ByClassWindowSeeker(string className) { + if (className == null) + throw new ArgumentNullException(); + + ClassName = className; + } + + public string ClassName { get; private set; } + + protected override bool InspectWindow(IntPtr hwnd, string title, ref bool terminate) { + var wndClass = WindowMethods.GetWindowClass(hwnd); + + if (ClassName.Equals(wndClass, StringComparison.CurrentCulture)) { + return true; + } + + return false; + } + + } +} diff --git a/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs b/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs new file mode 100644 index 0000000..a187138 --- /dev/null +++ b/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + /// + /// Seeks a single window by approximately matching its title. + /// + /// + /// Title search is case-insensitive and matches only the beginning of the windows' titles. + /// + class ByTitleWindowSeeker : BaseWindowSeeker { + + public ByTitleWindowSeeker(string titleSeekString) { + if (titleSeekString == null) + throw new ArgumentNullException(); + + TitleMatch = titleSeekString.Trim().ToLower(); + } + + public string TitleMatch { get; private set; } + + protected override bool InspectWindow(IntPtr hwnd, string title, ref bool terminate) { + //Skip empty titles + if (string.IsNullOrEmpty(title)) + return false; + + //Skip non-top-level windows (skips most internal controls) + bool hasParent = (long)WindowManagerMethods.GetParent(hwnd) != 0; + bool hasOwner = (long)WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; + if (hasParent || hasOwner) + return false; + + var modTitle = title.Trim().ToLower(); + if (modTitle.StartsWith(TitleMatch)) { + terminate = true; //only one needed + return true; + } + + return false; + } + + } +} diff --git a/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs b/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs new file mode 100644 index 0000000..5cad86b --- /dev/null +++ b/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + class TaskWindowSeeker : BaseWindowSeeker { + + protected override bool InspectWindow(IntPtr hwnd, string title, ref bool terminate) { + //Code taken from: http://www.thescarms.com/VBasic/alttab.aspx + + //Accept windows that + // - are visible + // - do not have a parent + // - have no owner and are not Tool windows OR + // - have an owner and are App windows + + //Reject empty titles + + if (string.IsNullOrEmpty(title)) + return false; + + if ((long)WindowManagerMethods.GetParent(hwnd) == 0) { + bool hasOwner = (long)WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; + WindowMethods.WindowExStyles exStyle = (WindowMethods.WindowExStyles)WindowMethods.GetWindowLong(hwnd, WindowMethods.WindowLong.ExStyle); + + if (((exStyle & WindowMethods.WindowExStyles.ToolWindow) == 0 && !hasOwner) || //unowned non-tool window + ((exStyle & WindowMethods.WindowExStyles.AppWindow) == WindowMethods.WindowExStyles.AppWindow && hasOwner)) { //owned application window + return true; + } + } + + return false; + } + + } +} diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config new file mode 100644 index 0000000..156c47b --- /dev/null +++ b/OnTopReplica/app.config @@ -0,0 +1,45 @@ + + + + +
    + + + + + + True + + + 255 + + + (Default) + + + True + + + True + + + True + + + True + + + False + + + False + + + 0, 0 + + + 0, 0 + + + + diff --git a/OriginalAssets/icon.pdn b/OriginalAssets/icon.pdn new file mode 100644 index 0000000000000000000000000000000000000000..b6e0be2b3dcb0ad64f68710138b6e7903dbc4ad1 GIT binary patch literal 30322 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�<&}G` zTn7N`KXCp7kDU06R5(KNzw|VE$tY3v@6_?5uIS3@FKQNi$UqL8M1+z#Tk#JB5?Jz) z&-}tq?jsic*qH@V0iDj`3Xy;xeD3u>dexpQ>QCAV0053Ybo}E}Q_bnwty{Kk-*(~l zBWK=ooV*Fmtis;N zq0fNPQh0Iq=6O`<4^*iV4kf_8Y^3c~1=vCb*kT)I3+IZ^@h{r6wlPYyIEG(Zs9*wQWKh@jfA5L+?X$-MoW zc+a47k>T5@*G!{XGcg)A#+Kvu981vE%l;DHmL+EWFD+$b_6dLkaJ*d|LJ;Lf^&!U+ zV2aW);UH1UF5%&jz%fcCMlg{EmQXotiR8jpAf*}vw&@6sC}{v{scB(+{KyPRUMQP0FHmG-68;No7uW^_QDhgtWdjT+cL+t-=6hLc46^^g!X;t2@<#!mFyAQMgy6Ci4hn82W0$6GPc z#HDMQ@If+gsF&|0X@oO|Ai$l(9W$*h1jA>B%mpU8i3RrnLYzR{#$v7}5=tiUj^H62 z!9r;m*`rY6?P&SxlA&p4ebe+k({Kah>WS$SP|o;`W+~Z1>Zi`F@lpQ9{(=NnNy-4z zhNY?kY~^uC^|lotNH?`yD}V(MCCQYQMPX-@G9kpPhfn}8dh`sDz=ckC39jH5J#Re$ z@Ze(~gBdtGyLH>nxeK=+eB|v{b$WZ7j&x>B;=W0%xlR*UQ=d8j3K7rxnM5}9_z>Ab zUOZco_Wk1><~WilZC=p0DJDSF>RPqK6D<4n!IwW#k)Ea!Jp_r%GVuY3X)TSUz%khO z@5S-MBN$5(2bZ4fHmpV)L}jcekl|D3sw3nmAg!%G9Gm`N#DGc1DfcMeV21?gAxR&y z6i9LmvL=DOZt@YSsgdKF2bM&cCduSNRE-AAaNT*}0LCbHa0-CnUkFvxrN2QkosAfRZ}rH&t=U@&_)g9api2k;)|;^$`jU;PHT z4wTUrFktIQ$&R(T1J0F2l4S&+0K&g;?_#B~J36 z&h3zW)MOWLMzaD}HIh-K>%BUnbiad~)kVa91s{{?Nm8L6O-!4>FikdW6BSU2CD1zt z!WiTgY6s>nGMvZ4NjRH|>m#IdTE?AIbiZOR4Y0C6Fg1=MtYHDsPae(a??>Khq7q4FK-%otGDW)CQK^eCF zC2PiuI}~o)OvEvGLcMNH1J(dkMiVL{<{u2703^c-k+tE-vq#Wts+s8f5K9m?pPSG% zJC?pb&AMz{!D3$cL&|jn8E;{W!A8D+WOp09(^U4-)65!GoJ})=?%v$hh~X zY$oL;i#cp1$NmlOX^iY8`hMQM9pK) zuVbO4n%b6WG7F@H*QQtU+?qdm%`5IthXQ~Fv{x@&cg!1_?S^T# zNL?WFhZ{iUrbkj?027Z_hz^AJN)RO{Kea*kTNxPLU^#BoWy@IfDngeLdebD7kxbdd$#mr61IijiUcj~BpN>Yy zSOqLBF46q=e&mJE0|3@X0vvqcp+9T4+XR3uvycGY(K`qLdz(IQN+{N7Kj7ffbi&Fx zG^;zRu^&H@?br(cyb)w)ModLGlA0tTh;Z^G#>fYx_w}JFhTshVM8?%e6E@{S@~zeq zc(EL~763p&00|&K{T~4$Y6uZTfH#8(#(<8+4b8TB>eLwn;#t${PdV>^L6eKx2)m#N z@Z`HB)hsIg|6cML6C9j&=1r?c(tv=_qR-ZBje}b@L^nCF!Wn5NV41rJmx;9~R?_4+ zSAwIfl8ud){QqIkjrXO?y+=zEL!9&*{rEJ0tH4M#cI}d>wNdfbkHvmyCjmw2YKxJSbLDvBBtFed& zsl)WHkc#905aB%g_t!n|zR60DB>-4px3|)J*$+K` zeE@L(zWuun92N<%WBaz*9dj4$NRoG5W6YsuTx-*hL28#4P&n~k0nH2wP1{Pm`0F`V zkBbj`DyUa1%fqUXFmM`dTq9XRh#%C5^fhSWz#$sw_6=_#t<+&ECgzZk(IfdNfXKLE zg*0rC!AgVr$fQ|QroDxb4`}Oc64i80SR0(^s#XI6L!^VSPw_;32bd6vJ81S&=0Z;> z*(5vHaCELfkQg;5iKH~lBbxR}EL_Ri#MFo|*5H-oYDqKWd^_*Vu4HD6#~GEU-+tP*98E3_wU+wl*JiukaR+N4IijP^jvwguIF5?`0cg+wQ98-t$EVecH11S<17a3MI;gs$ z)Fw`?nm;NXq(nPnPhx|tfqEUPf=o9QjO55MB-TwzbA`;bJ}qH*13A2#1u~_38%WKl zNQX?!Fdq20&Ab5xqufgnRYOh#P{?tZ00O|zNE z#wMW&Oe`cqWG2ex>po$DFK!+!NHujS0mlMLB^4dLj?s7nK9jo3%`8dDU)Zwy+r6dU zu`_4q&zxRZSnRG0dbhmz1+TvD>Z{u80)YFEJou*@rrT57Nd@ejyJY9E_cj8+eNAs0 ztoeOWyr>yGRytY14IE>#Xb@|$9Fc=pP<#f=pxHjBiK3-4qSa71hj?;iTNzOqwji9W z-vJV*?a~0aI?i7wJDxycQLs{{bHq%j`su`UvN4%rV-o9`>~5+eHC4w9J7mBEa+%O9 z0MgnbHQkYPh!_-Nh48h(^G62%WSDSr2>{`P=vFh9YaN1`$btnDaZ<{N$m;|(keoD- z@n)Ejb{O-y`1_m9Dbt+ZU~1E};F=Men^W}OS)vCsbUi@s37Z;Hi z&H%XP>U99X{rh&^cjTcz+0brI@0gq2wqyGxI|s{exh^3IU~NM}tWLytr6nUhmA2?% zdlRp{?IYd%$imo!_9J)gm!zeS<$UBye^8(DZYfv^-&n#QHteOeCnJEaHY2lI)uE_BXHyGWFB5 zXr}Ym>P>DvZ@E*7)Gaa~CS&$Vq)95(%ZUxU%JO}hl_n^_4WN!`ti}p#nA2?N z^)%`2Hph$`(m;cC%Ub9XT zVBgMfAAI0XH%v`U?VKYCu;Up!``tHRHyPhg0BCBHOUr%o^3X>?RAe?Q^%>JM8oyIYk_R5U>bGz{_9u;@8}8^;J`g z>!1R5-h1FENr2YW&KnG#;7yxAzlQU&6BTZLQon5>Zx_B4?jbKG1 zVcPbLvtV`i5JU?hEoy}Hm4Fxmi_#R)zoxl=9ZBcILgeUN@QCkM^KtPNS9bFB7(h!D`f1?n5xc zhPt-0`H~6g)4Dw@s|+h*R@$#QDbAEsey$^kB5BST)nFbr*?rq2FxId>7#IyB>7!bg zz!Og^(N1X9XJ$;Ro_h^=NhJr6>I8z8*+gV)h6Z~hL1&5v-z|q(hAW5%V!klhG6jVG>ps69UD= zpbI)COC(K3W17=g=YGrzDdRjsI&0P?F!VWG?1^_o^qmd2!JxDb>M)AP^00N){}I7= zhW9~e8EK5wA))+GGHs5nG|f`avuTQCSP)tSnm(}e`g?~)^<{RjVe)AZEz&bhg{UAvyKGa0<|h9ud~62PcmI@b)BJODyP zdu}xLtrH!hU7Rz=p0wQLVc+JE3}LknUt6FsPf#C$c4U>;La_dNv-77(3M_O;2fXU# z|KzndUVrVAR{;RP*Y7*<#~XNHQ#Yg^YqAQb>6^ymqx)3%T>UdyzMdK0;2traU;BCP74kF4&xt=+XF z>F|w$6{)s~nSe#K-o#>1%Jg;kxfx0-TEk1^~=`^_zSDcxtNM z+A+IrX6KHJ=ce3myvXN=ro0Y-*IqhG>(nF*9j;7BbXU>t3h7WSbnuml^}ZyEQf6<< z+&L5J=Uthj?{tSRD}4wGy|0ZXWP3GfD{pn{HAn=6e_<}d(ujyhkj()&uq5CiA;M^A zz%2uW_=YEbVTq*^OdL&+L*H_eD3Z5ZE#O=YhRhVb9>hvPe1W7wZu@NRP6!;Soibhe zjxs!Q|o$%QW!?V-OPgZ67mNpSlv=E4pi~W%aq1 zapZ*s5GGZ&LoY#4$%0|&5NkHAD>`rH0RYyons~37#-?zYs*P@K(bvcMa+@`Fv(h#5 z1`z6Q<@+e8ok(&IwD&J~g0*^R1+!)CTvLevcXWfLhch6bQw$D}${2A66Pa_~SO=zT z&N@D4jkB8u^!k8aBcqQ1AV-g$_vyVOt2{&1EF9b^k8ftKIkNKE&gq56PA$wYo<6g% zyt2|8y!OXm@j8+K0Kn(zV`nP>=<0p%djr7z`{usz)o=diM!jC!x^?r0*)8X9c+U0@ z|74@~omQ6XRx7zFw?_>muG%y)=ylDMwV`k#fS_=&Xn9qUdmqZMWOapFJ8xVu=^_C_ z_e|+3!UWG+71^;$fskhx6%vZms%)fSbp-&V(?{5a#1-8{#EPluA%PyNY6`%Dx&Qz~ zoq)o%__atH+%uoB=6k9`-0h% z&zYXeH`nW}daYJ#M6|@XhjZBDMraxeBsd75C6Ww5Nul4_2i>;d{_`hbCOB^6f)KPQg2Z`l*y{6&bmqM9Zj2>%>SYRDdgf zpL9crWiKR5ze=_cD-<-BBU16B>h()5p_9A^i}JRK&pnaBbd+YvAWbLz(P%h0cKiU> zge`UZ#Q(DgoYj?|t{r-1*mE z{sW|VOtl*IjT@(0n>NnXrl&TxTCGOAPLiP(M>R(`FI}#r=EduLd)A0()nV3tSu_3OfmUE%P1EKQ(8e=ut}=GEdE#_FXiV}U6fpB z(YvMkx9UzMWf6!EB|+*0)b8NLaN*6`8b0h|ZF#FW+=NZ%S(c_rl1|2>(TJpdztig{ zot6GzrPrJE2mK_?^2wWi`hR}?%{N`Yl_bDlo7F1daRAu1MgqVJ*s4E9bgSKHH%Tefi9SVf9FYjXRq_wX#R<$2G5KE*0JbahTTE@a z4T`ktEhay7%UV6wt7nMA{h@uE(M_bSY_E%8lnLQ!C!uQT&o3SbSDomAruTp zqomgxjt8S*G8#?Nm6et8rO$rGCO=$$!yWIvy-(ucD|EsI1pqWil>_tw0ICuI0N89q z1zfr7yz_tZ>JHSR3m#Tszvm#QyJ)e#>o?8&~cMS+~YsX zK2(%)s{q#xK7;3;SwDZ)a1Z4*vo2Lw#Z9UJw1zGs^`fj_c2$jZJ2j-9TY*6oRjZbS z3Aj?&7L#0&8)ZAzwX-WX#qO&d@>nlqj8!I$D^bcMadg}>Q%4!#kc(Y3%+sB-FMTM9in4i zC%#t!KtD);EfoN?R0?cTU_2wP)oy+J+ka{IYkul=pa0f@qj&G!cYs(%--{0((M?FQ z483)HLerc`2W_5U?vYFvnx$mLX1T`mxLum}>Mwv0DExTG=?s zo6xb#p$7qJS+?;licl<4(jzD7W-^HIwL9&&rtMj6DcoJqA4asdPVQ;|xW}7%n48LJ z2#8OB03Qe}el;;9%zvKn80IK5qZd-%A}A~C|MJYbs0gt;acf}BMV6PBkro8CdgS-) zzGCM2*Ijwt-~P>KZu{s*KeD*8y!>}`h7)vjboH;8QU&yb1lYU=0FVM3>6lRvoKMGX zKlR$zKKq3)`k@D(ec6={)a#8j<()9`<(TVCM838<;ubMEw{XpYVu87^I%%7dmz7X# zKu8Zg0O4G_>IEa(m#wpO<$B=()@VkO<2)PLTbactD3=WmBbFOcge3>LXMxWxil4372%`-mDRq$(v@Dt7(}lWk;3qa zEhz-|$kD?Wf9 z_4M@gGhY1S7w_7*abuchSwXDRpT32)W0_x^DoudK2sxD`aK za;~+rT)7(aU9aYxKV&tdeB2Kxu0sf(e#si5Q5d_A|M0m_4|zbk-hJuIU+$ebefm*) z=?ERijjVE5k->7T0szkkI4f8`?3AV+0RS8H*i<(@gaim6sKy1RE6>~d_l7A!@H7CP+FK9^Tt8!E#lwFzsvH3T z)q}x-NyCcAMAr2P09bnjju74lwGlcNl^&3iU_X8P{@hAi+DKijDIJIb2vsRC(1Tyc zL}9`)d0|q+3a^sFR^|040zi-g|1ib*^zF&ssww~yfO}w>5&$@crUXHFjK7aCVY-() zPiT+?VX^}!2#>3i9{?bY^q&U6Q+2DV0BMOR0H}fh6CTvTxO!m1Fp=8ZtN=m)0q#TK zyKYtkAiO_Ffv3g(Q*#TeKLCI?vN0t9s*<3p8gQRr(gKkSt2vOnwG&=5t0zCazp4VB zzJ331RRC0_K#&9zvl Date: Fri, 29 Oct 2010 00:25:42 +0200 Subject: [PATCH 081/164] Mergedown with new logo. --- OriginalAssets/Logo.png | Bin 0 -> 34066 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 OriginalAssets/Logo.png diff --git a/OriginalAssets/Logo.png b/OriginalAssets/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fd56566c12a0fde7aa080f73ddd305944fdcbdcf GIT binary patch literal 34066 zcmY)VV_+uF6E=*-wv$b=v9Yo3WMgk^+qSu}ZQIz`cWm>HZJwOxeSZJ*o-Z@=p{J+2 zy6UQ{FcAuJ5{Phka3CNch*FZGN+2L$!0+c27^v^7&k;q)_YK!sOv72(&eYk>z|jOm z$k@)%ghoV2eeJwkE1FC_WBV!FiG;ba;#KKj5+JQR zp^UMVQWe72-7^M{YlwOc844mBXEFfQ#hiH^gq3*@>IfU$>nQ+xR5mdyw zzm5(kw8UJd0kN8uuR*O7t;;m-k>rBTtYmf5Wo$Cs$-8HwT~tj?)l|)N>B8IC+0;aQ zn4Xl>4>SWI=rY8!H;Ywd;*G>BPywEW4GP1(&6#$Jwe} zqE>>xlbr?L()IMc`u}H*z_2^19roKUE(5r`gH>16o%cVYHRNu%;jPLPkR#2&!w<&) zw#!MGC2u+bp0%%HrkpI~^*wa0-vjAjDrx-}7Z)-Gf%boMl1tOU0O#{~|GCSTAPPK~ zj0@@Hf*h0AFr=*`3`(rB=A`|8?9fis-Rb&&>Y*N`;C(RObqR?I#knWqBWl<(!r zpA7ZS_1cyzEiZcSQ*rP2^28=%l+DNOM)Dp%|93n9SRkbdfXS+dT<~+=*K79YFseB6oL>b=T*eXR6Of9*D!O(U(DzL)zQyAdto9n|nA;yELZ>DK?Z zg@Qr+0Q=^@pdOG?>alS~!|!pgC#9#lSG})MemA{8KKF9JrhRXNwm&F)UlMC`J_hHB zgz|29OXLD2*`O&a5S%w15^S~30<>2LS6LH>w5&d4t#oLoHOvV3g6@FtHHRKv>;l}S zlt)v)zJvQt;oW0IzV`J5_{-?CviG$z)9>-~!|(pJNCQl=okD|%KUfOKixiX4V97DX9I=F;fYQlCVOJ?IQp{&|CyngWMG&$##8 z;=H4?R3w+WU1oG0#r1k=B%TejF%Qk$!92fB4zCQ-Jq5+wMbFM-&8h9Ul=D2S6@Sqx z2gUNq`HKDA``*h=I3aK|;`bQ$(cJs0{`JiGb;}rr@M`yRlAfyzayFwk+QjHrNa%B* z$4~SBx2gA*e;y!ClNp78cT9b*iQLaud7u4hzK=d+-*>mKPrFaq>3zbXX7*1#0o{aTKO!iHR4&yYH!IUIiaky4?^fnalqdXt{NvFvi z=_}8KhQ+~p-W1%Yup!yE7yVO4MAn|!`4Mu5-u=tx0UV@A)n6u}g*(m>Q3D1DVC@2i z)s59QAEedDgHAGED8*m>y`QxoS^{s4wLTXTdY^sU_l$470WQbHUZ2_}AjcA5z=7Kv zn*R(tjWIBJuPBB@n47ynU+qJ_=V{ApO5iiw@Ad~Ce!aWN@8THdW+uL%C)kA;p;?x@ z7uM^Ar1_jz&Y%Km>nx`dZcrug80pC6Aq1{lE}?d()pvuM^V)J&FY9bdfU|WD#0Kne zGLn`@V3vvF4fiLA16olf1n^~erCf{lOkt!IXN2M1ZvFPlW}bcDlvnLpVm{$=M8MMT zEQ-;0e|I44>!|iUL~rW``GdR88*=wYF|801X4COded&KzWY{Md-T_Z-#UBq#POtYg zKW(o3k^1)bcCr28_u2OqP<9f~RpIHPqpG@DS>daCk`wl@rpzPk33AWX;(vgx+%RPi zmq)m7DwQRH6$g7qG;N<|0?7a3bdpDa*+2-ZX;ig@YpkSxV|MAWaLR%>arpXh$lSV6`8;MwZM38Yh#1E&h9tV`yS@|%4Fa2 zp8i{JY}>f?82L@{#Xb2yPcex-zwzhxoQtag;kDZaIkQY1(qLU)$P!5`P)( z{FD5`FnEWsV6K1@x9r|7XDx4c-K>k&W}E*AP0$^gd}@{B<-ZGxYfiIUDRy;AkdGUi z9H^~de&4M8%;?J;{Hjs5?mF807&Z(B*g#3`kV4H|`3^g`EI;fST@dQOU^FdsXC~71;B;{R- zvZn>6#gEf|R%qNtP`at30o%bZ-ASlj10Oc;f~@Fi!|lrC5!YM|Ihe{kFGav0z_#RA(HcoK|8gb+diOsxha{bL zl^fS`h5{b+2QEc~2Gf^325(Jci>l^DLeiIUFDKnB;Z_kk5l(Vp&e2KdENcGzc9RJP z+^37=Mmo46)0Hp)O&ik{_J9>4*a%C^$ql1NZKtDLTh&18P@SybcsOlj@?))GaTME7 zUpOf(_KyN#_Q`hG^g=-zO0Kbg6KoXCJclWFdFkbSh3cL?>91n&jmYiT7&C!=BWHML zFbV|++a~xib=A!$ZXRbjrKG?`D+}1Y|*)bHbj&Z5fUN}LU$_@WAp}_IRjiuO6QvgHA)s| z)#U^OxjY-yXD!9nyk}Y=*JneDj03LtVIC?<;)o~`kBKquDep5Cyrkm@p-`SjHQDp1 z$!SNNrGBb+F`+U2pjgD8ao0Em^z_p&u+X|1JUiQZhIiC;*`05{PbZ^_ivI()y)1iv zSdDpdIBAC*)i8*T8g~ZFd_0;FHUC|KscTtSZMpKF6Q4?3?0*8>)Fh&i_2uT!_urH9 zHtpb=sBDBdIWj=dcR8PY$Ck0LC_`l2fHw}vz@|QFw1H1GnWJ=&C3|)}%50Od0euki zLsrJq9v5Ay)1Q@|zJC`7eJezJL2L5+@!1DjQiR5$?abek`y40;mrF(cY6U5!Vy!#p z;|cHXJSb{e$tSt27)T*F4NyucZQ-+0|AVzG(r=1vh1OKi6WE@Xfs{^ktk9k%QiLIt zkxxEBP>0SOAs(+1yxa+s%5X~(mCfe7flkgtcxjYv5t3PW2c{7EBw5LHm(}nt$GS&l zlpiWqeK^^E#LBtsLF3@>FnFp_R$e_di6`d7xaNWlMKd1hN@yrVSzUVjgvW&?1YVl} zO@<720J-!ltX`ZU=~+vZApACiZQx*?>-kU>X@p3G}3#-)TZh;{1|AO%b<$+qBZf zwS!{cFbBYbCIAs33ZAN9I{MR&(p$2R0H_e- z!tf3UN^WP*a*U)7vScBGP`Fjsu|SUMyU9wH3on`iXRvGw1%2F6ofi7o#x;GddabHN zUmbn5llTaz2KlB2`B*48xdX~{%@_@i3aVBhXaLsPP~C@`1;dKUuVQm{I$8loZrac( zDC&yL0Ax9itee_*j3Oq-N>#HL2QEN%7xBE1&n-QD{QnysHAXsqyTVf z6-0`&nm6Vkt4YMAYf^quiH_~8kO3)rg^+V1P@ICNE1J_eRfy0xa_Z=HnN6F0uZsUv zK~nX(|1q2blKGGB(a3&5T>mlS_Q+qSW06HmvDODMREPPqp|9YI2F*&$lf%^vQzwy% zh3W4}vVJ+|z*!=^yH%ELW6IYR+3|9nmC*P1J#u%03H{MXAt$Jv$JO_L@m!JyO_rNf zT;>85$Lf}n>`aClIvnC+`-Ok8v6pHK8w2^E(GuUSuIVC9>PddWjyB{EVNf0D`DGb< z2C*{OWs~%Tm`hca8Qf*)_=Zh)EBDB2q*d`s>uhP}%Se|qxwVjviX7HD1L)-6co4Wr zod6>p_+fAADiHzDnHZ@cyxG_J`Z?*x3-|gb%h2D6H2(MBY5GA?eM-i=iu8z~ z?2pF&%>XdQWocm#;TY5mgC&ZKxIHlWruR$fUKe)xl!#Oz|Hurd&&bxPFhi7nD^@%j0Mp z$xEe|Lk`NFYUxZmB}^rBYWk33q=c{h#GmAHriPfZn`~}0F4d!c?>*e~VRIovA)tz5 z{{Ms5Dy}0&7?%@q$Yke96rKiR=RFR>40K%N08`;5G=C*2reasvbMUIlYfelCZU90U zlwkcP6-pLMXDG?)Pyt_a5zw*;!Q7vza=Gyzc%ZAbpbUwp_=&B-p(R~g3QaU!xsjeO z8rh_rmw^Ks3z%1rHv*&>_FyK#RZ0m(`-I5Tp4(UCBu$tR&GL+z)5_3B6aHSn zA!0{&Ah^$Z&dS38(|T)IWcoo)$ZVwelIA>(2)Bjq2`CBJgF4S13NCpyI4oC#>Kv?7 zIrFR4EkF#|rfZ93D<+D$hmG-`ZFj93j3%v#iYF)u=`Mx2KimVV$gv{8tN^Od#RCvh zG5wl@Rykmd3|F_aXldwAoD|RKVacAi35TlsQ_8kS2U%W$NJmBu+j+m(~h=_qt zvG3%T%`U&l0{;B?>sz*8L)~6Y;yM{Wx56M+z6rR=d( z>&c19A-dw zwa2mKqp%3%po2$FE>e7H3in~?-Ek_n=n*|eri`dIRhN{=l{Wc>M(Gec3({Zf{I@~} z112k>va^l)zhy>>X7T#RRNEk63JK2oM_O9caEGQMid)1T_aG(tKg_jLB{@~7x9I98bgN#YKLOT5V(XVJWmxeZpcj{i#?DrZKT=PX(l#e@uM>AmFt^H>b7(a(@m%m zTmbPp2Cd^N80UX{8SCOb3Y=yHCDa8OhYjKY8%7W%FI2^#QZvI6)AyV`i-N}L-@G;$eF#65p6iR>%Ifpn8BkWEfP5Lv%L82}GNPfsKeEDgt||e5 zWaTIx5-i%G|G~KGfQNI3D|?`|Iq#r1uwa4o>6d!DNYuDbM*x9_zm6vNIYGX*i;hmi zVbG~7tW9;86DgiuHA}pl@N?{TJBBY9nN$>*tD%EXMqn(xbZP(ZZ107Axd^MMiQVkS zc`;2nJjr8cUg0O@LgLhdEGpHpOcE*7Qf11UXAFI0*N9zrwE{k2WY>XLCpKa$hxV@n z+){}bs{aM4RmgzGE;n^TFcO&)tgujPuD8rQ=l+xU^pr&?pB8ETjWNqgC=VtRH>tC1 zJe2gRP2SJ-6}6^$6d?gR^uE>5K)__6Lf3Ee^tF0nUFt_;^`*c{FQ(2-dhtWKVs_)6 zm`GbToqs8TGKnBx8bB4BHiJ1b?K5xVL~CLp0=Jy>#~?v(Kd@Lg-}dW~1l9*teCM57 zL}i{}8aBJIng0n9jW*Qj!kX1`jJHb%TC^~DAmlQcf%K4fo}f!hTWx3bu1GG6V%GRK zL}wLgc|xEp)aUR(v*JkOna7QVH5$hG&*YdHnFI{WXHtK=cB+LCxg4QWG;QPC0B}u` z)2jXQvr%vDr4N+|HGZ-O*p&wdyIY9O)tg0XEdV%jV#5hTkZuoQ_H$~<)F40_^~1}UC0zrOM`(;te_;_ZQMs{{bKol z>^bikQh&EDQJ_>{xc$K~8X%d?7=hx?Pb@Lc$$sCw;h;=LvJD}ohQoAIQlDNLu>6T{ znx^&Rn_Udln~ye23fmj(4GQ<-4%(y`%2XOsDq$B1-Fn*2P`}BI{By-O?f(o01&JXi z`g#x)vl_J~C4SPBO1C6iq)pFZd%upR%kSLVXzWv|Yxm)x z19*zUt$C#Ne}O8EU{v67UjF?)1OcHZzE|L3zS}X}R&6qw%dKp{bgI?pdO@cYwLQ)k znC7mwQ;-R#iA|GI9L$g_HBnuVD0NJCO5|T##p9k)Sz}Cr@u#3_2-VtibVw_+;ZkV) zJ6k8^TTu9;GpZ$MVMQ_nqr3x(1ON5K`cWBlTH=d3C9@1xa5@vzAxs&w(|gz?jILcS zCNXeF0(yObh|LcD70M5H3vw!?y^R-=Kw+7o&oATWsPJFoUu|Q)*9JCt&O=X*zJk4z z4)P4X+v5#ri8q7t)9?2lV;V_R4%J`+U+ZR*%KUfa3^ar=Y4Y&Ac2^VkDY=Bn1K%ln zoJ@2&)2ZPEwp*~S|J8Alw2L zV5iB8r`2k=!e!+O>LCOeH&3CQH0(`J(xRYgBy?=l+YePxy~kcSXzwik-YPJJRsewU zEaGBbpGno)l#5VZ#BY}ooAhYe>ar4}I}or*&6PABfX{zmx?v0fnF{HAca{`WiGG2N zfF1{F55s1SoHxoHT^|1#;C{^GP>;8iu-QPiDi&O9UoanQXc{>rkkwJ!sra$=IZ0Jt z>6C6bTPErw>PR5){LevQonrmzMI_t)i=?M%8~xX|Zhr&e=>2bo@Sn-&YYPE0mzW!u z-M33RWB;a~2H0}upBhJUNAoTn+L4kp<~-Q#4EMpgzQzS_GQx76AU6v{Tp3}j50YCp z++luVzl6gP(7^849JpfU#1Zb%G(t2%jK?xL!@uIC*C}y}GIZk_=AUFQHs`-J~N-t$SH2grG1l4C@ zeNQh)>{&PCm!GxzFW+F-_KxaH-hcM5RNYzO&))4IiB!==1gKF&CK3<;Nos%GQgJn^ zlwgxT&g~&UWTuwqT7?aKKiMn%HII zKvr02^_z-Y)dSU>zf6%^Du9ROva!!0m}bG? z6jbHaxC+$SH+5Xb_TFqA&!@HL2R#;gK@ntU-FC>M$dk7eKfKa@xzGSq1&aTHV-Avy zGK~^=1Yg#9jr!aHwI{&Lh2m_cF##CO6Q>rZ$F=A0bY$+xjIP^=a42K8G9CkT@L7Xh zZrQm@jVNb#0xl(uY>jScFheXu-Aj$4iq6v_2uMthbR@nuL0vHY^~5Ms4pIt7`%zn^ zOd5zOA@j2Pg10%GvzY2R)s>YC_U&GaFFqqQtFHP^{r32&y#mr36T}!5_e@7@ajQ}_ zez^i}Hr4ksMkX_ymR&Q4cuw9evP><4ZTYa&l(JS5at4MMUPOz@i}vJArO_MLsHtno z>}X>drQLjbU8wjDv4qHig?3mw*72zYn*ynA$^H%feYOm?!2ZB6g32V&`t9r!QA4Ac zcd^F^MrG4yDqCYy=p5#2KQlKtdQ(4>c1W4+hGVP&C}UZa2>UU5yTRGpuv!lfS%MEydk5MwDnKgxTzjjJpS^09faHuu&v6CGmY$)x{deswMFyU@N0=jl z6FOr2tkI=#|18?i+&xVG6E+<6>8Y4wj)3^7)P+WoultNBVbwFV$_gTQ*vqRwP^gKK zsWTRm1U&2(naoTcHAyG7yw&Pqh6`gr9>~IWTEKx)e~YBL@_63ci(-dzF5F6^@KXgj z1G4_(scUrUKSrJnV&}cV_tXrs#c7(* z!%kM6)iGgt&?F>MC8R+(h&kJ*6O9t}%_v64c5|Wok3jL@6)e zr0gVTd>UiLDFO=SUhjY+hI%gNFvY(bZA2~S2^>Y+-AX1XXoskv)e+uljHgXb z)xh>Q_$G>{sSeXt&HEdbg zO<^R%^soafwEkCOcw2J1jp1<}eu-W}0M3tdXqVtyIWXP)v{1HVA#gw5)*L9%ksSN< z?e-};A}NOg>c;a0hmTOFzCTL(8u-R#*yfx_n!A>jV(PXkN3o8#;bm5lWrlYYb6Fzs zNCr^&eh}q5gM-cc!{V{t=y!6Jg6v5Eg4XQdDv7gnv*FYIt!Vw&)w9;4;IsLiPo7^| z;_rlXOPB56$<}2`tojjJ2bO(mduH>TXOzeoU`+T+28t}2=B3Tn$<_X#`0Sw?a0G_o zU^RP%3Chupy}cJ--J8r!#dH}wE9l9=7^J#KxAP{d@0pHWJJPVB`G+bDbWn@q9R6q*E#=N$>@El6uyhx# zGEzssU3knsg_CwG8FVuU_sECrE|tnY2NZAJ_qRU@`xMh`zNiT^{Ic}pAEMQQ7OsB{ zAT?3^K&5}U7%Ywg&v_F5m_G&-=qd{RI3~pZoR!rvJ^wX2S`)VCLH&g&>&M(d(d$GR z6Px8cSOk!mV-0r(x@;f;6O7=U+GSqdC$o$Us2K8Ohce?a%Uu1_Z8QpO^5Hhc*DWBM z7%p4)R5%A?rSd1J;6v@p(3UGjPxp-%W>gE$sx;X72e!BxfdlG@SB)5cB!aaSzwXNE z-a1)8xOI)~l++b@*{^DG0o#nJmuODn&ydzvNf02uEqY;x_tNg2|2!ga_vzbXdz|_` zuxsk$#`8P4m^!P(Xvh?AcCE*?X>T~mV4?dw#~bnV4ItWE>vTnp>2B9nnxG3XVHp$q zSd#dlJY;N(amaA0_tc8V7p;ZDYuP|Ih}pQ{Ft~Qh37dC+m6S-Rd{-`XBYcYWnI+v9 zFxX>=@XwL{PO-VZVyvXbl$Hpu&Fm1f;xy2temL`Z(xg#vNWB@dNtVvgsmoPs(SEIE z954ut7u@=!B1y^NY_CL+^Qi4u`RoFZdF)*q<5UAZ!p$0DDOo1pKrueP6T7L@gaaqc zt)l`Dm={1QdUzyUs{qZ4Swm zEwn*L373PHrJT2M)*cthMg`T&a|gsLU!c= z_0gM-I5LyCUXGU`zh4p^CBKOrVU21cw<%4}WIzYFzZ7r4juft0bu6gafw%+934>?@ zpkh5;S1d|Q_SbJ*+lx_P))FOJd>aXLHbc>T(PDnR5*30fgGr}@its~Ns6>mt!HOv-*=BJ_RLpgflXr%Z;FHG!HpNJ;14XQIw^-T1l0Rl``DDx&cnTP*f_ zfUF!Sf>kIU7^7_>4`I#f@8=*uOR?{Aj!aDPX?+QKZZ$LWiW(%4@ma935WR1d}(xKi@c0br@vSIu2Nd+r++ zGoE(aIVVYP^sUe}aowlmqYm^K%SokjXeM2$Wbj1%Kb=gA{aglGDUeHUd~-3g``QvP z$d3Uu{beiY71wEzh6pBsJ_YW@UU{rEn)H?d+VuVK1Y``6jr-iko5`b6Wb@UHdn(nd zwc3AG3!`RoI#Re-U75M>ksB|w@IEzU;_f`@(<%zSi)VWMzI*zE!VnI4(a-5LLi!=; zPsiE=I8~}t=Ll~kLH^c*c_o6}i{+sKNM&;3e5Q8;Z}G^2=Bf0?z0}v4KhH^T?7S@d z-&qCKDK`Y-1Xkyx3YxoqauSu-94{RsO(2Tdg-PF=xW6|C0@p7{Ol5l>l9dY6Wac9G zhQiQ73S?Og4P!YUDTLnuc%g#_cRQ|XX`YYXe5Pz{r@Mca|K5fMjPiE}zO~W5Jx@_z zM*x?Q4<1k0JoN_NS{nbkSSK%!>ToUhn|bqi$>*3}_2pzadD**k;OzHwGqkQ#W?8lQ znMb_hNV^@W>P)*fPQO0FE;my;zUP`=jU|%zP#R>{%2)Y41;0E|0N!Xlsv9T%$-R7ENqICB+4k$DjPGN#)Bg90KYU9@I#SmQkKh$F@H|ntF+6IMT-#|W zsOB~um{*T3g%DVl9EOI zdh|yMLP_mNuka>B=^Q;4$%O)GN7|M(9uu)SwKF6Qy@*P~bZ1IpgVbdM*2kn8?Aqc)cMgz~Ao_3k40G{aEUz&J(UGSyYIlKHl z*#UDFcZY&+f3x(KL9?&|?o1s%_+81`PyUY&Ya>Va!Oy;!t5K=pJKDjkWHWI zE=))EjaGBxb}TU!dZ42otU2w1x*L1EfZaKpJclen%gs-~E~ta$#Z5?lw@zii8>OSK zc6xv|+ZFsEWU#*VyBks;BFFAyZacWd7Z4TU%U7l@MrS8NF9?f(9{X_lC}w)?5JwZUm1Bq^M2 zQpkdMc=HuQM^AVWRA6Q_ydc5HbQ~8@!x!DYPUtGYW!5)gTi--zK#Z$7t9a4ZTS~lt z`aov44;MS~f{OvhE++x?`90~wS0Z*D5RKjY#_U6+m-Zb4&ui-u+6}yz$mG9_f@{R2 z-mp&|;WT)GEu6zW(}5N9INEkYkNFe~?%g0wsu2lHcy-fGcw#SI4f$RL-`(@Aj@%*q zAr!P+P_8k#(+k@QJwy_8JK*~;9u`uTq~p_=^>}i4^l>|>m2k2Ibhdb2zTm9s{p`QK zqFQ+l(Xu~#K#cnifF(n~6fA6}H@yspIV}6B70;Qm(Z)0?pJ|pF=KDLCV}B7R;Nh~^ zw`fb~%OVBY?zQ~LZ$<;Fcd-e6PLgZ+E^x}KJo%fqDSH(EYm&jUCnu0b_0_T3?-|PW z*ES=Jt(!>NwfKqOCbv)KAF&J+DcfL}D<(ZMTvmc!-INoEct@wch{|Ql123)!S31+`9Pv7vGuht)YG) zuU~Is2D~J95l(>uM?PvWO+%kX^uKzEqrVuTyO(VTss$QhJAj(ihhV?yud_Ck9HDI& z%38@(114p~BKRWV^Dc`t(CGqr|5QTAh{flmLAA}GA2N!EiHoBLf$A^g_?Hpx3M(Z0 zuRy|!O&YEX)@+o8AJ7fkJCxhJyWWUWJ4(lKKs?@a*V`@pRrhF5@#U$@{@nw}q>b1R zRpwCH;-KG@2{Mz8?>bh{$i(&yjKzw2u63$^Pa%{zk)?tl|JT}=P7!`X8R%D$2HiHT zh2rTKiu`7B+Ql(3Z9LJS(#Zjd(c4)RbsDQ(M<^IEPh_~N;ETrUgMbY#`*e`i;U|{T zS+kRD<<~~2^G8sx z>dVNSB)B1b*lAq|{Nf7H;JH;Iua$l0((O|4K^c>M^I(!)$TW>^z$T4MD?08hFC;dW zmffVd+^KY|BiM8*j@b>%QFAt4TQ{pp8F;*s+=ddq&kOS}MduFdh+%6Qpk2xjTj8h$3F8~By?`Aw+ZAB8jRNcMpW7ZaG zPss5v)390?aomRlfYebq2 z)B-pgwdCL{1`@*y^O^#J2uLBWr|?jl8B`TQ_vFT|?;5mAQ5v=UGg{QeWTgFTkVa%3 z9L5efDmwQo?ld@KX)b%lD+KqEVRk{kOcO)f9Gsb?H|LSG~eU*C@Yeo`$dydT3i+ZGW_m16fv@P4vz2?;`0%2L`5ae2B zIPh!%=pFX-?g^bYfPBnp5>6ukUFWc8zclS|XTT9F&}y#?z#l6~aXz|5a6Uo#T93TJE1jE{d}p_^k~}Bu)WIR2(XW z)OfC#%%|l$tSbl!lpgmKb{@Tfp&Kpdct#jxmCh%Icm~VU+XVzhnHg}@p^l_rb_w+w z%d?ZERc>pxe4sZ?Q;yNmqaHYIiCrPk3>#dkT=cfA=LrKHe%VmsOC?Y;3}K(n@@ExO z#`Km@L;`jtA64)tCRM|^ljXP#fsB~&cZKnZGn!vR#;2X(X+hyNnslu!5fqoAl?eOijz@#Ge z_O0g6ftcC>a);eYPpvG7)yStDOW@JZW_`Z~*lxc=_Oe{&>vunX5cf-9B`zOgKW&ei zrUhkO_;Q`~KzY1bDZ+~}Dk)f9qq%C@`;3SyS6hEwPGLm41@`?3x3yn<fId@dJ5FK*hssZBfrHg_NM)r;@|Y}LvE4I$<*}L(KLzs6QM9+ zzo-j%V_dr}Epews8_A?!nh0dsktvbi+G*|iE4?UC)uxoG<<`H4q4iF)2jbhF#IDAo zvHeZFJ$jtr5W4)J{CnXWdF(fW4t(v=jez*r=ajc0cOMA4_8zqZhAB~fXgAgH?;F*p z@HafE_@-D>*9?154om;Mbin7{?AuR0Q*JboE?GI)Tp2+Ga{*~6aAJi|49{KL-M_t= zQja$BE%KZHt|=(TOodIF{?so7_N{|(dBkb?4?wMLZ-wmwNfm_O)6RLt0kC-ppKusWsKby9O^MJ(C~mW9!w>x5EA zTLQKS$kKrrMryQ_1`P|Uq zeEq>_@N6Z5R;m#AgR}C2S=lkAl*++c2sXl?*1>_7Si+8;%PFBz(lz^p{W(ctwy1$< z%Cmv286FLXW40)aW$Az`_GwmYvxSZb^`_ZYYi^C_mJzvHK*XRF;k&vkwu7IPLLrTC zoc0jbl}ITV=2xy<)|@`^Tf$?y<~pqyyHnb~sy^O$y&YMx2MJrxsu=YzPL|n-egXO4 zJz^!O2ao@CN?wDA^QIrNbf65bZHRTtu^aH=F1h13F`z5d% z+}C>pmnQIzhV8EveMURemL z>3tAE0V_WoiK}+cq9JivmY`1xziR?2vTS%kW>h{XB&+ZBY-O63l-4E0rwh(dUCMgX zEGPl!%1+C!WFO#TyE1vO6KGIN~P#3Dz-D4$XXWd z%?a?FNh_U0Z^EVgNjhAo=HaMElbA;SnI|=Sx-IUJ5VEdMFSE&~iyu(Hb$DZitv?{f zImX~cn!TKE#_LP7f~3~lRk`gWw;3Lrx=U;z&Q={zUG@LYz!0X<BjYW^xs`qg4XBrX68}qHN<~jZiSTIV*qOa%? zFiJ2vWGbx^GrM5@h~g{jNDTua>{;AJK?p1jyYp-e-4aKx(49(uSQ5GZggLjn5V?DS zsaS9Q4(V>;?)55#ViKoY)y^RRnzq!F5P%{Usx>M**d4qd1QrY_#yV`y9XgI8dCoqu znzp0#gknlTVyR`lEeLZ$ewX$>8vbjsD<>%HK7^f*JPg{Hd8Ly)!B8^N?}J*8GS~tS zI~s|~H9CI?H!MZkSO* zW+8Vb*ks+E!TUGHp^Q6~r!w8B`m~=(Bl{Fr%j>>Sb04h9p%!?S9}J#gK=~5llsG-|E9}k8}Fx zkNcjkk?nxHul{=Tz0>v7!{x$lsT4mCBFPwIv7vn=mzZ0vogvEJJw}Og>grNIXlTOU+e?I<&LZ1)NqISXZ zW~6n}r8zb0eWs_ae3(VJ8UrA5x7_`^V&U}rySmTS8}6!xa6F9#aV|BJ!J*}nEbt}| zp^t@2$9U_@poH^o4yvI!l1H6o*ZApp`^hEX#6i7U=LN8O(sHa?eu#PqtJ{Fskboy_ zqy-12)2)#YMF4pw36_<-%ZJm%1VElo$;&=S%hs1f+5_-FeHy{K^Ql&=KD@8@P}cPP zKnL`!^0!t)wZ1;t7X%KmnJtBk(B%S+QbDxy(m&>2n6RRW;^T1Eiq}h%8M6M6Z#z~i z4}UjJie+-!y0UE(M{Ot_@yMpM1hDNRzOv1Mkg(Fsv4(_Dk2~%g37u6pMS_EkUT5g* ziIk$EB15!MD~|YtLaXcQGfcn!2Ujm~@Tq+*An9i;O+;@r-bBTmfC|`dp@H z3I0Hr(IpsspkSp6U2No?t$O&9Ylv33;X+SE<&dg_0rHyxc-4)f4*t3mpSyUPi$WoF zZk!PApL5{PGQT89!3I1PMC=-oO$S6gr|TAXW>F@ux`S`F`60aOK!1EaF6-|DJt4MX zj%nHo+jh*hBC%VIsNyp0X;-ffIt-yIQ89JY|J;DJF0dut zufa5Yw*wi8iW?R`CkknqtPiF{b^&Il62Ik~3OZgl;y9i1h)&WWa_SA2p4uM7T5Hv4 z6MBF``Vp!^sqK&|5t3sW%|-yxG@Ehx`N?iddY}YPq@!nDE_)f zzME!HQ8!nwq#9&{eCl(EcRCb)B@C}zZQsko*PUsp0M|$df2Px?!a-}r3eU)kYtH!# zgZ9@7|A@=p4JOo`SG@CM6jFZ;QdTYo=1Vd-+aOcL;W_)Xnn?|k1*?iZf*x zm60D~20H;8goVP;tQ%NGCE4KuIu9o~7;rxR#f9$V^j^ouDy0(l*)3L51?eL5mZ@iC z$t>7ITt4-DGwO4ZMeBb{xwrA3jMfSc#m}D+(4M5sXd7@{+uY#Jmdb=T?G~Ir8+DQUhx39pE8dZ?thNqK6uDCDN+3do_BW(Lm zyN0!j22CoSf)r)tGNV#9%ioOf#~fPW#KM0Pwza4Ft%J@g*4A@L1CG2iH|GO z^!FXBd@lIAD}48|ZU~Rxt?IGOkCb)=Q*0sJfUf+92H&;09l=VXkAK$J8b$c;-bG%A z++I}>jwicqT1widZRq9w7pWzpX=0RbViQ4N)}9#5&m|^Y@G`2_4f;*#al}QTq6qI} z$T}u9G_g?VG>KWpkd?UacQ&N!nYL^eyFXG6XLj;-i@DvZh!wTn7Pf&Y^a#g$?Y?;a z-x%NH7D9YOqj#Mv6ydSmYl57R19;)D+Vj?WOug+IIi@k07BNbN25JnGI5N2bEVkM@ z3-+IkVVASTc0Vc10oa=((+smfT7)f3RBAKu^(JLL{N}UmfUKA3hWx28)P}N0BJ3Oy$_lAd&=#z^xk+uYOMlsMfY8 zqkxN?XcJh^vHGPyyu?kzyx~x}BRZJ*m_D>spMPHb+VaS-c*=xSdamO4 z&o$M2;~H!6-B3%>q-8%6J6yr;dY_xGeH?^@BBEtn_qFY57+A8V-B9h4lbS78EA%TR zYr+E-f{;7ln+r}lGT(B;wEo04Hr&6jl+DnoXq%RJqt``zH?piUP?QcKj}v#OrI)C_ z2i_RRf*z~--*x}6-wGauZVYGvf-Zp<~ z!DRt5m;zR7wSK>yhlA9q<1S^irr6R_dy;7hW3Fu&g|3Ud&+?nhJxq|&zzv<->R6R| z4F`4PhCfN@BRzroesQJ!Y?=9bwOM&@=TYcY`ioFfKq5P74s9VbULY~W3D((Q*vOe; z&D_~Ub%PJowwJ+mo%5ARB#K;OY_%wK-H0%PH|aoKamWj3NXavkNE_Lc=Y^^Uaipz9 zT#8Prv6ZSR)VZc>E&r!x%=qVgOm!xo7MpLRkd9*93*u2{gp0{^Q>wry`*aOj}d)AhMcsUpqp2WU0bl$6&?QgonQ$5Rb63vI6oGq^9=%tRdGd3Ms)( z1#+w2eZ+c0_?z_7=+;H4?JW z{b&A?`4`?-*Qx---CWRXPuM*w_MeP3f$h6IT???qaqv11Uy!3GU& zi1{b~%cAhPRhSH_;&T57APw)&rgex$BR@BM9etP`k0j9iZ7OhjtLb)wnU$+JNfmr# zPJ2E}UNlCRu{|%8RtC)2P<(E-Uk&9RC`i^SqY)B*_x^+BLh*1q>B2_j$r+e`?;_1F zEQky}X7X+3j+Kpw|1LmKM{^s2q-MkuHc{(E23sD|UV=o~95(l}ctgbk&0DKfkbg}~roc#bhj9TO0Onymtz zF!K;9wa7>lx-?m6P!r0hphJ?g$^Q>g@4#JIxNHr_b~<*_amP;fj-8He+ukudwmVM8 z>Daby+qU`jckem(9b^50r$*JRRaLWQX{W?O9jELnIf;!#h$WXt)?O!W5$|54y`q=W z48afN-G-X1E4%4RaHW4|K_Ze~_=b%-rbYxp)jPTsxON1@?=R&*w?yH^)-|4JzF@T6 zE8-h$w0BP(5LbUcINI@^NOdy+ZfMISHQU{QO>T|cQ}uc9^VMl~9g*P^DX!LpxLnx^{{He?A6DpfaBm zk0wF_#VE|Cl5^mOXBq}>s-U0$g0(I<^!=e)WrTr8vYynQ&4gug;f+wr8O3|q@2GU5 z3?C&{--yWt+xXcWX~#C=F<1(9YA5_N8&zCIjjo`m`pJdzm1R*MyL<|wCiSNHs;;qA z11p8b@x}Nm)BjVCCzw)t9P0@&O+NNFqA;eG8Q~%b?h4wy_GWM@bk*@MT++jI zkUJmP+TC1APSwp6>JalI>AG|PCCBwV!(V{plN~h2Z+ZqPO`U4NRPqS}isL_e1P^;O znu_;z;EefXnvuxqPNvH|R7}11cf9HYC^>R#%MLUs7@5oT38Dj{>&bdjj(iZ~bA7eZ z&4^U*Xo6=ZzhzK%R?VI$jI0@dQ0lf(eDF29ApCr-p^0bVai{YBOBwiz$^B8x@XoBy zNwT{BSCFjpym^oTnVN zCE)?OuBT-iTl3VEXH73UwqbiP; zIjAP|lsM4iSGp}UWWLnrOw3^R*#~RJU|l|}bTn9$)on_qet88zJw^~2XrkuR)eg?? zE9fs9jo;-RDwY<(b~(>ZW5*`*^9OHJ|DedZfl*(KbP7J(MvD6?BrkmHfL#2;w#xPC zk~y?@-`;+7rEoy0S%OaXT_G&ovqSo7TJ*dvrDJS{tvoN+ebz8NYp7GD2w2GGpOUr{8~>e^ran)yu{Ph_XB%+k-5#!c9oV;d8TI zGN{J|7*bZqT#ooNZKMZgk2Ek1VwHLe@r4yt;b5L%dQ$5VLJ6BDqhG)43dOWHUU7Us{CS&!22 z)S*uI;_v+G5@krfh`H`pKXa)dY{ePwUqiYvJ|@qyi^iST=$Nq}>?v%I8J^zD>0Fo# zICC^YMt@(k1h6EOvv8z!-k$q``JWB`Y}*x{PSNX`O(>ZdL~1Tk(!v5FdF*2_C+lc6 z@1S|a@r~#a6}TFeYMNg}meA zEqc^{Ku~&#@#{^7jJH#vy4>PF4UN0KHr#XvsFiCt?PjL^i6kJ|6n1&An@2X?$IJa&q3-bif1xFqT->>f843 z?9JuSbi~A+SE4l!1MbF-ErR_&CjTuf_=t0FX@fCVjWIbsF*@MM@4OCSYS?TCBKz~} z^ga4`^*mjO`|~L8m0Mi0a?}-=E2>AQJCFXO^G6mtjZ?LmA*q@g=2s2#3>bkI>(3pU zi7iH6C?fg@Tvbe@r{5bGTKXlj-B?9A;gG^3jOxA;e_F$S7b~@7-^o2%(lpE`7g$)V zLUh15LHN8F^wsMc*MrU=fD|Czeprk-_)((AWm3Ex)`r;EdE=+P|7;}nDU4~7#Y@Ih z*8g7reYN4|xqre-6|AfW4Sw>U$!Qjv@x%xoNDL92<{)vRdGD4Joznz|cPM57e*FAA zf9N!!RaTY=KJ{@3AkIZpHL#C!UyP2D(S7`lpJ9!|!hK+^jnP2s9`TtK;^>Ipm#M2O z7-w8O)-V=;cz)@IDByR z9uTX4WoQ+e;0@$oWee0`^rTU5MW1qh z6qK-cQ!zO!f04JKFAEgkFy-H!f52?ZjX2aHCF*4uab8_!NTv>(x@)a)xvl@bVR*|$ zjm%r>{)1<*x~ipcPiP|7pcioi`b7G$irD2$1MaWVBQO(z6~-Y#`L1$K+NE-*yJdF; z$-mRN$N%#YNuQDH)W}J;R<>^NgR<&vf=7VlFIbd4lcVOE!^6W;q}?1aO;)LT*z5U` zj_q@slp5bgjb)~90>**)Gck|QP|I#$7;&s^;XrF0V6V6!Kx#0LbemzvD|V3 z#&Z><0#H{dCUzVzBU%N~C$KK~FRLQMzud=X^|o2dQobC;RNt9a85SaGmn8I1>AuV0hVb0$NO@0Wzkk4VRtQdb-g#EjyCI>^K_caRXQvJtUkN;~OlXn@z&CQwjEdeOQ8 z%ca7>8A-QBy=ui`x@9L80=9|Eh;pz%3&$SPp2y2+-h+@tLT9%lvkMsWb`*p6%HPbH z6-M|#!c-#RYpKAZg??>5@NG>xpR&Vss;_ZPxj5D18S`Ijv4$O=<#nEQov4(RyEv=u z{?$=w?mU0XjF&ZM{f!9@=d73@O3xz1gf1VjI#aK@ACATGNgXypV37+DQ z6a-K`<0;beAJ?l&9u+oV>EmLWQrOSGdw_?y*SoB@w;e1kJwbv=R7qGOVmDh&Xu1UY zo^Y3`-r`ZWAlgO3`n0MVIpYG*!Ygc(x-9~1aSWR%JNP-k6Kve)OG3*(;QM7d4~2Fi zT7FV?u)y7y9{pTA1OlOm-W9L{7O5o^< zxN(ugUDJffy_$sAy0hD(o4hhbO=G$}1%&7#+Ufc*XbDz9B0MD#)oRFoP z7N{!6sDk`AnDQ%J*1i2~=Q(QKY8kcP9Cxq_Jtv__cNU%y+ERFIR|n^*uz7yV@VVza zx=anTEV=9KD5NEjn+&A52f{XYR1Evx4CMWyKn*8wN4^J?uLY&lP6QDvP!XVw1DPoV zm5VZ4wQCPs#nEu0-6&bn9@$fW@LEj^?K2Xudm)%I5pOS~AxJ6ace0ci+$GB{H!nb* zhl&y(&kL61jq{9JmZgQe&!{G_A4#4Z6Ye$1zX(OJmVYhg<&;S(N>axtuhqH?Ao#;- zi#Zz1Xtt9@}eue{<$RsuY%+& z{qySsIxA<&fOD+>POtjtMcA9UkFyJ!(ry%IRYXGvrB?FLVWDf-rtif!`V|zg=lDCo zawcGUGHUz%o-ha#FsYyEEZ6{9`s)?PfhFNLEJOh6>{0 zgOh|X{)>k}8L`SU*W4X5*hzNta`DShdjij?D@*#&^vd}LE!7+JtUmCg_0PGdgPjnG ztCeIyzcdSPbaAiJ@w|C!I2X0hlgYl8a~jzFo;@cp(N(&3T6gDnjZHYBucMDw2-Ev@ zUKZtA=P>kX5FQiKRqsUgX=~*T?qO5&8}8v!EzELS6a8^M2Vqbgiu9EUoUDTQpPg$#h6S1l40{}%g5&q zO4}vbB>YbLoC8yDSpKv-K!^LN`6=y>$G`HDgn;y0VCSAp;p!JDFlg^q${dBE9yc$u4ml66KMBP!Xo>(IM*d2pc5^u>MC? zMqg-cyMIHZK?6mJQM0!FI|=wBJvDq&sF_%+-Q_YoIgVp?W@&!O`8{q9&JqTzn#wx& z@U)u>@$AsQ&$o?0T*U^h;JVYWc`!sG1~`$09 z0qMo&-j+6(f&xbLb5 zb;syC@tT9vRd9!M`xMD=J=ei{7blAsCVAk`8^v$L@4xMRA=Bf3?NkTMEccx^7n%vX zE`XTTrt1+xG@wq+tKQRLAkSY^ z4JB}}U#O;Oj@o6U7t_lHutW;%C*|l-1TFH5!N*2nYnRQ=#cJ&~40rgWZG0nrd)5qC z-iya0{3W?~jm-Quxvt1P%)+h4Jv=>4y+zX8U>2&i5;b5fV-V zYws-i8x(13nFp|!ywY(fJso0MBYpdW5cp0LJnqmF{zM6k9T{S&f2P&Iblqp~aL63t zmEx}^!NADQxaeuJ+zdUuVwlE(G)^gJ_rDt9egKo0grI7tOn9bh@0@TnxLV-AfWeWp z=}0TJ#c{Q@J9p@hmNOudN^ydRDV*Sp4W8J64;io_!?vf&nWL97Bnb82Hp{;vojEhy z7=0Rpg_bW}edi93(aP=^sGgILbJ;C?R4)B*;!MQ{=wTKlyI(+|d@kv$PTO z#<}GZ)S6Xzh~!PHvQP4WpV4*jgYmckr-cSMTK9+y4POJ75P#Z_!yU)8UBN#!tzH<`Whg|9;;@{nSU@m6uFWfa zz{-{Yp-1Mza($RmbAgO~RtWw94KbCr>YFyjeApQnT~R-|9Cn#Tz3$T;-Xy@-OxJ&X zMPYjdgL^4SOg&Smcy>Bv=}3PK#dCVjrz@-EuY~5f#`40~h5D(2bBr8QGPZU<)Epy5 zMScJ@vSa@O^gh3NgQmXRsx#f&xTuKqJ{9P@DwPxb9_3|3f6@M8xX~|b2ptDM^i%h| zu@c0TNIJ6zic`cSWmpZ~vf{y3e;+-;DK@_yna7bN8{J`uP3`U7hZ6snhG@+LmB0K) zRckM<3y-w(m_HIq*Rmjyau^+aw8gy7@UyIAE2l{vk{uO~7P+RHJAIqlIgWlg-+Vc6 z&Svl_9h2D^ObYYbAtIkv(MQ_;GT7>}TVLD;xORDJ_x#leK2i7M7FQtY zb(rtnknKW3UF@TfU}S`wAs|SJ?M8U+zt-BURj3+mKZ09%Ob;>5=>&$1gooN#Ls#S=g?ipdWonH?bG#$V;{8V8%{f2 zi#Ikt$Nxu`t_;H6MdF|}GGtgJp<8gjcX@n@VKbZeWkLy9hRnS%04Kf&L^YPQ> zIWM%7WQ&>h%;0@ifeN9B^%fbIgyf`Qy>6(oMJMPaY`pef?(VMIRhtuLBkbAf!9_s< z3UV!*&SQM1kc=g2bssOVhOfXrIgl48&FO7LVd_&EV*+4Q|zH%ZOp% z$~aiLIuJBLobJOz8h4#V=V-YlL0P{}BY86ShDe1Xh?^lrgRx)_w5H@`0){9NCs!OP z#~JMy*;iQtH!DoWHFdLRFO>+(L`@SKtW_29Az27E84zT5lXV^f@g9!9WB&Nocjll% zYIeqm0&8Y=>1r|q$v%+}ukVI!L`)rtp-wVg17?{eri#k6jkwF8kIG`T{_=-uD>^E%;?$ewUo#-6dHI9J3w*Eek*{4Muov$z%=2ATt8jW!<@?VJn&`=;Vzf?&mbfC0m zw?f)37xlZ0(WFF3KMNnCO{^?^=HM@?XD9A`)x;5H-tDcFqeti{A)k4o%zx-f=l7o4 z|D)gPx7ps!6hC#Kv!=P@8MwdqhrRai>#i?oK!8i$&{1aKjk!yCm>YjCB_+a#aeWqmw)yo?LO%OV2M&Jymn_I~#<;Xx^JzapfSi^S6H2U%%?!%>ut$P7IiEr5S!R5%Pb2fFe{um|;rFs!w10#d%ufP~o_0;XR*7vr-&_(yvuEE_% zJUP^d9TVd11!4~j3L+yUdbM1SL*=s?RP+sW!g2|iiD5t*@+GQ3Ty=yk8u0dm^!Zw@ zsQJa`i+dCC<<%$B$`a~u{B%Q2tnYVB_7Un!lJgt?=hn0FEG*aKS|IJCBIKkzzUwtj zwnTiZF%hp(eX@}%TAOIfSu@R$<1MkI0OgCe5bLy}lH@3!L&A{g8cs@efthG#q6C3- zFo;mYaZ$H;R5jUCu4S>*V=4wQ4EWn^U)cF86EEOej3ahVCOiZEO2mqgO(v*(3`(SK zFcgB%o{1aH!$s=pto^zPPIOZrf}KCX5;h@!-h+(X1nUO)`VO)67qw34>VqfN{uwFj za6sRv(fLe|6AXY_A}}#oI^>-BbR`XO4ov%6N-C~Jox`w*%*5ft@!=;^`5+S{hGCUl zxt>e$=Js8c7uef*n%Hq@z7hDS^84^xUtL~a?sPVPyWG&OdR?=B-y`|j?FyEo>4Tx9 zVsM49Em5YCQAArG5h+wtAZR4$pG>!K28G>$Xv)vZ3156mpK{%E*Wv6tl-&=SH*Qo|~+KG>Bsc9YDuT zTk@gA>q9ijH^vC`*PGm%C`qFVp^6JZqo@d+@3r&bzPxM|Zcmr$jXMW$n z%98k6T!AdQAp6|rAY1%uV7-D}B6ZWn8L-MBPLH)e7yL8TAc7OWg*=?FYf?@GG^eox z{>RfGB2M(sb%_A;xbPVdNd^weXyQm`by+*Pgbl~A}! zzcSV!c6|R*ah~49M(G%Dj(+FtxN)S>DQlm}n&v@NNC|m}v@$%yLP0Jf64I?S;*-0J63{o!UY0Df~&UeRNqqW*j+d>ur1ChPpv`?YE zHz3~x=H4&{7gBw*WuJ>LH~}Obr#*gsL9HaPFRsn#O-c>ERv!id^*8M`GmHbjAe2T< z`EXozz}E-lW@s%r@!4s2+Bm;?h2X19Wc`%lHa6lUW@Sd9rgVcZ6j{_;LHvm;8){=7 zj`24vuEWbada4fid-UkoNet}I+5Oq3F-@16UWoPTCNzp~VAB2I;J2Lil<3^1le2oYssOVqbTIJ=Hzqtz;P@=V-4^exgpep1Kt~cKXUVlQpn! zsS*;?2E>by&Ol~`CohGEX#LJmE!6Ynfw~*!a~mFTU@R)|oomo?(`rVq}&T#*-TmpC$Hp4NZUAguWY-!{iD zapZFnlh{Fo}-I2o;_`9IMt%ELhC`QR|3CQMe*&~Nk`r!&6`@ai7OPKW=F_T7u4 zzWV%txKI?LxnZ^Jt$=k!9Zpkx67*!YG5ji_oZx8F&>`d*UL7+7UD*8)5 zDNO;{xa&5{83GuQ*w1wmRf}v0o$;0LJFMV0U9|3647hZ}UhBJO_)5=@&)LGH#kPtW z3US%d*|Zp$_*IDGOC+)wcD1*4d>c4+7iR;*fpnT3x=Aeb5XSld*EHV(heQ=HqNd1t zddw~o!xn-6t%k5*Cs5jYSP-pb8S4W>ag-H9{6Khq5z^Bdkol&41WQs9A(1htmgiku zxEDNBbURd130&V2Rv7f@L|iU~%P3kc1J6gzyFxK!w#suqhD8dkAR*N_jp8L#WyasD zLWv;F0^5*3W}JI=txsz}b;356YO-U%aZ(bY8oOlTJYEVgWwm8yQRn5vrz8-gOm}x1 z{U_D&ZnQhe4MZsUe~OuilZDA`Ms%qusc7GhpR14LYo%O{RZCWEp|D8dwqPk>VVO7p ze*9)Dh|(&YbjzzHrD!hOIIcst?Jko1U9YNRwOKnFUffSZFxHZah*v!y!-;Pe$4>`v7Jk#nFl?7;s`hIk;5w}( zS|>0OlU(hl>BK`QWjdnx5mK&)U6+AOZFLrqr86RTDnls{`~T0A0-dFbj4T+1zExdD zgO7kF143RU~oPl5-Tn2RvX!F?eGMy?`7U&wz!y7Y`D zHAjmjoXq~sk#CMi>A%vKibf9(lXfff0mQNo!gebZmW73d0RF`Ux8I)DN-3*xb@1Q~ zkKJeCO_u?o_E7E<)t5LCwbA)Ia44uB);ZC`H-)E`3B@)x3)L3^_tx&5;h!iU?M$(Q z4i3v`&2zP-G%Dy8Mrs7nm@R_yL9{}SA_Kqog2>je$jg^Fz}r@i6R|hfE2So#f<13) za$+1-)NIH&v_&vV_#8zId!orH?#0iMf|x)QvLXFd>%t}L1;!>rLakFNq4lz5Fc(b? zSBAP7#8GsRQ>VzFou)epRm3%4qKwZ5EC>Otg@onMCU8H7>!I4)Az80#_a-Epc6gd$cQ9{);fSD+?mLMvmn&ZECf1y0UaRpv3>X1yfEui8m+R?z`uYQHHO;F`9vj=XrgNjc_1GLieB*HEtujW!YA4#$V zJZtrdWtTfYReyRT^ z@q^bU7-<7HM&*6A9kzwL=(u5bmS93WmuOc-`6TJRwOhz4+Gc>b83>(abfB2%j53Pm zgV-||H^v8M{cxQ@$pCuGd&Sw>D_E(D_g;VP0=iq@DwWvpLT-H|ZL*NSuSI)Frth_7 z{pFq%7h*4hGhR_PF~+Q`rFinmw>AHFheLxUGv5M=kShl1_dwA^=^Vx2hQE&roiM)>O{0k6BiF}yVnzV6^$)dac?y%2vchPtmnYt@7@2z;d zjab}n(sKJpskTm6bFkNiPJKDV{F}J@O}pdfJL(ZVt%P%SEQbKg$V#?!)~oc|3&v{3 z58Hf+7A*Sy6xPpujJ>bF@5hCYW9JRY0^&dc?h*ri`(By7qd5koc{omk#~t{|0m+CpRv03SaVQM&v3bjyTq(O1t%WoZ96ypEXi{4yl@Mz3E2qQREBQy;*|U8`1Cy%j}ng$;o~H*3*4{C7;;i2_*i*NK%RWxK&(u_RFYD#iShRlg; z{os9HLU2Q83k3+Uf*g7h>p9MFC&(@%B0+I_#l$_n+xD;}UZp+1U|>=(?M!BiIZQmj zvy-&;%zpu1R1e{|!Hkg38%SooLl@0pk7=zqbPAP9Rp^pWe+S&{io{5+g#!tCQ;wRZ znvKrTaCLpZYZRZ_MsDjia4i2a1)GFH3m)%}+oYhJ>)pJGYpi3ibTU^Bmn}FC>$jwV zcX|!$cbgL=jZUEUH3yQ?E2FdqrC?~KMHX3{WJDpDt}l2VaU zJj$GbeZ~^+iZWKGKLlZKaqKvagk)_?|2ho2;eiEN}H`21@HTJ_F*wQJbrn`(oBBMZuNN6x0NQFIv zK^X1|K>IvC&7GFz0xksV;CI|vi--Su4PJmV-5o-+rXxAqGbP{2X*Ty<#uix>sPRWA zv+z_7sbj>VrcTMI+_qdzz7qkj15!v*EvrMULajFFrmnbOL7F8HuoBN_ zl!Cx#WHHJ4bJkT4ANisAi$zfX0qKlg!$Kz#G8nHtxcl?=J?Vl75`}pZv$yps_YN}3 z3nh`1CJr3VMB-^?T{H=@Rl36DqoOQBbb*?T}~F@ z)c3fDq8yb-^%@ctDFP=GL(}Ln|7v^POgjp+c*3UD$;qLok4S893Ke1TGqXnzz#cCS z!7Z3;CN)G&&27OQVigb+781fnG(G{gZQs?${cAGax0nS#kY ziixKUPT1`M5%XNFNuH&jiyUFtR>Da1m|c=ur8UdYNe0eHscwN6CS{QwK6n9S{%VP4s4mW|QwaB0xn6DZqw%cY}RJqpOrqZov} zw#J7J`)1dQ+`Y!llXGlKaP>`dFpSEfLEuvhKDXwWXPyvlG3-fc14_`vbOKc(4zh|d zCKNZR%#S!|jKf=Us%O}SK9g=~j~3udl}&(>uy1?ZE}3nY5=Xn@*=!g&4{dC}km|&XYASxJ?ClRKk^8dr~KlJg* zbwFuRH9?{m(MCrU{IQE3Im27FhR7j!6%7#3goB5_9pM+=mgFPz z8s!$YUu@|s(lD{Wpi^BQsa0&_8ApPk6(GM(SK|#$Cshm|bZ*G%&Po+kLkpFGdCG(l z*|aSy_kz+4t=>#W=y`(6mR~}f%NcStV=ls1Yd$E{-rd89wT3j#fQA0XAeBQ@7(oni zkS_u5p3}uc^O&3l%V-!~-5KHw4bZ4T*=fxV64MZ{lIzjQ*=cD+`pnngYv?u>QOF6! zm!ruWh*nsEi;Q@GXOO=?A4lK?*atqN$4>3>{N8_l4&84_4Tu-Z$_6V6h+RSrHvQ@8ftaBI`POd_HXM1 zo22(tdSnzp*Q;?%iNahvcgt0ttBhzYxTZmZ(pt=Q?b1=_P(_07HV!U2>C4QI^GQ_z z`U3hkdC5|WRe!xs5a)zpz_y+%h>nkN8f=UXR z-`qR{Nk23tls|cj`t5K)3)ShqjmjGt&xVVb0@62$Q%4Bdjfrw5~Z&4XMp`}-LN}Fc0SXd&!@Nw z-9p{pu0@$#PnfU4&azb5LQm#Q0kCFJZ821GwW8=DyqR*ubmmC%t&T>+fwHq|7FUGQ z?-bwbcuaND2;>l(38eEuN$6|=WsG+Sc_;SYYqa(=mvk3UXXkk}HcQNddlZ#>;?)Zg zf6v2t<1w0**Yh<=>q&$l>$jb`#T|yWFnR%5$T>S9#eYzcngUY!M{bm`@VCf<5a&;T z!N$R^P+v#eFy2sx!2Z}BUcm+CSzuj)dnj==FhJ=OhDB2jAn~)J-73Vuh_d;$K<^ zDRl1IlZ)?hFFHYQg&@Gd2{&Vj$`cxUJr;shfGO3mD$D z9`5fa-=#O-RC+jnV>mSeDR?!tcTLh7zJ~I?2>ydlKvizoT4Uzg7s+O-3W|;M)x{zu z!E~Y{DZ0&BniBu|xU31XRa*DTpQY?rHvZnRK0*RJq@*G}Rd3;Zw3nqa0i$WyAky?}I4KCwP}-yJN~^X;T>BTmi4}>LY*I zht#zn8~EZzxePhl>@lh*65oR^wnQYmF!jW8{orB6 z8P>aH9KEB49Db^0f@Oq>goHst#}0M042V0w;{+Z(%CMuSeFEXS8}=*y158jm?|Iv! zZ}BaF>RpiW=Q{Q{4+0S>*Kqjx2}IBWycptk6i$Kf6RNLGzhMh*x#RI5W6R z<{z)6QP6Eg4}}bp*92t#S4Jwq(Z)W0AJ@?&vMP%-D;;NML@{}z21wOnlvui~RM#k@ zp*R}e^6PqITMe1IH7?c%g==RxQ#jF%yqaVu+wA!>YAPUuB_0{B30gX@r=ncbfg^){ zwfQrzAdo1x*ag>HC!OQcD|qsec~$*JgXvmja}XTd)%@XHw)jkBNsfPxESt;0EOv(w z7ITb!&jdf`k~EhF@+Qc#MQ7ejF0~H4GJifcW%~aZW{4 z^1o@UG#f6n50W&?AK>x5aVD{sJH{8OPi(V9klAKuu1K@0V^7*LrK>-PnF~a-v0 z%3F6K3JYt$5ro==kBj?wM`!k6nhHdUMhXdnFPyzQj(Q*u5+$6{GOR)D@RR80>O8I? z-e=#irIzZXQEc#7NnKG1YmN=E?L^MH;AK0$Z@p|oZtAy>^hor(0zxRzsEUY0d?*pi>SPGv+ z=~vN645q=Cj46q;GVFsxDR8{=*bVjl0A?g5Z4Bn+bC1fn_#VB{U-n$mR{lG5({!F7~C>i>%ouLe8b^7$n3`4tj0 zPr6+9x?5HD#Oe?rop9_osh?){MpTfX#@urSM(v-1{;MWnp|-@Hk723sMJqiMn-A}s z*o|X%wrP^tgso>TNx&<-W!cB9RAXtkBkS1N=db|4mz=6gq5xY;j~I+Lgd2osW8c5C zB3+w%#=-I6n}-y+^Oz9p;QoDBOHP|mcco_fd_A7FhZqZCQ_%DDH}_ju4kxVZSE6st zF*%-DOSaFEV5i?(dxkhV8+)I4UxA7+p1T%emWxTbO|+p*onX3O(Hxs=l_VZWhc_&0 zi|OylgR0Dx2LJsff!YD+)|`iXZ~5MX=gp(FG{`n-a=IGh1a$1$3>pX)N~OkQigH`A zB){LC(=&xNeE>yx!VdbABJ3XXGl031|3t8G;iKm2PbXzodt0U2e3D#mXW|@1cX3L! z7{wEi?wuaj32CTD;>-czsN${3MTA;`)v`Qi81Q%=UNF~$H)+Q}`Zv-pk5OMYW+mOG zdi$8zq=Ij?*$TmXg4c?#VPi5AYiSO^R7c>f)tOG8_R6nhYn=SQ3p{gMU-8cLjq=dM{kOu`ktyGe@mRxOa?`(P^F0 zT9MHz?BG7BDd9kDJbIorOKhO*iP&M{{*(4^+6DrxEdK0Iz0k~CCwZiGyhilFx$HZj zdcAB-ZEDW!`0zf0-{#e0;-lc|I!?!g$ro&>^TP2E0BSJums#xCoZEO}#Z%m)7VHh@ zLD?O*loS1!YxR9m{F-#i?RF?Sc*j*J*5=rP(+Y$7hFQmnIMic&=24zy_uF#N@}>x} z%y&?jz3zVyRwWkZ=mxBD^y(W5D|y?-XD?3Y^X-tH&qIsf$J3XmIic_$1kWQ0`Rhf_ zu}V99Z9MIkQB4zpej!$Cg+6jiseTXd`<2;gaf3{~x^-&)o&u}v-O89BD8F@8L5Sxk z{NMRBXB6)8-V-LWL=p3qoyj=|aP!oBrw;d1*C|JA*cPfn>>=H2o_i1FSseQ2+S zxT$}Md3^TXdb|WexISW*vR9x%`03vFbqT?T-F;fN@KxT znXTCjm4g)Rn5-~`iP8D?PkH)uwza(119>VWy2hyeyZ7@@^deYH(5CRHC#e#1>fSQy z#tP%nJ1#9q!PUTs^y~2^WvM)^pPILH9@a0#c=Q~j1~=|@wfP>F)=8$b>d<;oCJ)}A z+y5wnZHS+CN{cz#5%#B|hswBIL<6Qey%LMJc1PxH$^M|mvtr()Q0BaLJ`JA)lnY57 zv1>>Re6dx1oXfvI7axn-1vJ|YzCYEp86q70r+Su$nna~PRAw%&j$Jc1H~-7E^*l!M z9xeZQEB|?t)A15pzfcxi#F=b5#mz%0%&JpScoNOe%o+16X?oXRE?GV47TG@$-ky5P zBl)3jb=qP?Tu^ZCm__TdRTz|7C`b~`fOS?T4bgM!_3KK-wZYWP=x%jEJB=FO9eSD} zmhF+p3*lg;pV6j6dxltTYNKPP-CNJ2{5;4mb+0EP-)D~_4_sC-H%1YLl`3k4fL?^W zJxp?2YS)?Ew1q&O;1h}0O-59ICO=asPN|jMclTWsQq^{+$@fFu?=_mq?IxEETqSjnO?fvx%)-tEy@)h(|2Tyw42cfGg=Uf6`F9OGY z2Z>#eBz_M~U-wUbPpDt-0xFu(!)sKc@37!`e9#bglEaei+(nN262bh51#2eDYF=a@ zXUNRqwin4_C8@p?Un?P-bapGyf57$F0~GJ4N} zh2e`T4*d}%(z;oNbVW_rE7O^5LV9jLw2ty(jurLN5IvNV%yP(G=}YwC4I^wlPxYg*%5t!MlxV6zWs#qWniOW(S*->e2c5#) ztie_P-;Af+KX>{l%Q^F3`=>*jNsABve93YyeZ%T``bG=pr#S5IJI#OL*R{~~FPBzZ zd}#Yy;PKgRTm7r9ga6an-fb_4e5RVhaNp;_AHO)g&#zgY&%IX%8Z=oMvdTU9;~eqB z22%1#UJp8jk@Tvvl zhfLMI48KIqY%PM-qIM5!va%)l9Nund@)G@Q=3L46ImmQkxO<{3iu}fo~OpV zHK|zBoAC?NJ49K)a4wnc<>75_g3nj3oOX>pAx`Uc*`@=G3ywF}%K1&$!}Vm@diiyq zRTkWrIq;(STfKfq?Ty-6f#dV#isPRto=conSwHn|W|XgfL*0+>iy?iOrByr@`&V%W zo_Q~7p)dN$Sz~_F&Yeu>L@(LR=_+{NdFZm&uZKeGBzmCzz?E`>=lEAYXFbHH_~*mU z#@&0Ly)ys*A?wz|VyleVRTmx~Otz@tF9}!%?I8VoQ1eRPeDd@5(8Avg3gH(2?=gH? ztx(JL>Z9Cw;T3CLq0 Date: Tue, 16 Nov 2010 18:42:22 +0100 Subject: [PATCH 082/164] Added (empty) brazilian language resources. --- OnTopReplica/Strings.pt-BR.resx | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 OnTopReplica/Strings.pt-BR.resx diff --git a/OnTopReplica/Strings.pt-BR.resx b/OnTopReplica/Strings.pt-BR.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.pt-BR.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file From d83527e1f9546badccd733f39ed65501e50c5e19 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 17 Nov 2010 00:59:41 +0100 Subject: [PATCH 083/164] Fixed platform specific initialization (split in pre/post handle creation init steps). Added some debugging classes (shell hook interceptor and a fake debug platform). --- OnTopReplica/MainForm.Designer.cs | 2 +- OnTopReplica/MainForm.cs | 4 +- OnTopReplica/MainForm_MenuEvents.cs | 7 +- OnTopReplica/MessagePumpManager.cs | 8 +++ .../ShellInterceptProcessor.cs | 34 ++++++++++ OnTopReplica/NotificationIcon.cs | 1 + OnTopReplica/OnTopReplica.csproj | 2 + OnTopReplica/PlatformSupport.cs | 44 ++++-------- OnTopReplica/Platforms/DebugPlatform.cs | 22 ++++++ OnTopReplica/Platforms/WindowsSeven.cs | 19 ++++-- OnTopReplica/Platforms/WindowsVista.cs | 27 +++++--- OnTopReplica/Program.cs | 68 ++++--------------- 12 files changed, 133 insertions(+), 105 deletions(-) create mode 100644 OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs create mode 100644 OnTopReplica/Platforms/DebugPlatform.cs diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 97cc99e..271e9e8 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -554,7 +554,7 @@ this.BackColor = System.Drawing.SystemColors.Control; this.ClientSize = new System.Drawing.Size(264, 204); this.ControlBox = false; - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable; //.SizableToolWindow; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; this.MinimizeBox = false; diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 8857256..25b9b6d 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -31,6 +31,7 @@ namespace OnTopReplica { public MainForm(Options startupOptions) { _startupOptions = startupOptions; + Program.Platform.PreHandleFormInit(this); //WinForms init pass InitializeComponent(); @@ -110,7 +111,7 @@ namespace OnTopReplica { _windowSeeker.OwnerHandle = this.Handle; //Platform specific form initialization - Program.Platform.InitForm(this); + Program.Platform.PostHandleFormInit(this); } protected override void OnShown(EventArgs e) { @@ -126,6 +127,7 @@ namespace OnTopReplica { protected override void OnClosing(CancelEventArgs e) { _msgPumpManager.Dispose(); + Program.Platform.CloseForm(this); base.OnClosing(e); } diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs index d1ffc77..d24dc78 100644 --- a/OnTopReplica/MainForm_MenuEvents.cs +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -184,10 +184,13 @@ namespace OnTopReplica { string langCode = tsi.Tag as string; - if (Program.ForceGlobalLanguageChange(langCode)) + MessageBox.Show("Should change to {0}", langCode); + //TODO + + /*if (Program.ForceGlobalLanguageChange(langCode)) this.Close(); else - MessageBox.Show("Error"); + MessageBox.Show("Error");*/ } private void Menu_About_click(object sender, EventArgs e) { diff --git a/OnTopReplica/MessagePumpManager.cs b/OnTopReplica/MessagePumpManager.cs index b12114e..20993d7 100644 --- a/OnTopReplica/MessagePumpManager.cs +++ b/OnTopReplica/MessagePumpManager.cs @@ -41,6 +41,9 @@ namespace OnTopReplica { Register(new WindowKeeper(), form); Register(new HotKeyManager(), form); Register(new GroupSwitchManager(), form); +#if DEBUG + //Register(new ShellInterceptProcessor(), form); +#endif } /// @@ -71,6 +74,11 @@ namespace OnTopReplica { if (!HookMethods.DeregisterShellHookWindow(Form.Handle)) { Console.Error.WriteLine("Failed to deregister shell hook window."); } + else { +#if DEBUG + Console.WriteLine("Deregistered shell hook window successfully."); +#endif + } foreach (var processor in _processors.Values) { processor.Dispose(); diff --git a/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs b/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs new file mode 100644 index 0000000..dc4f899 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + +#if DEBUG + + /// + /// Basic shell message interceptor to use for debugging. + /// + class ShellInterceptProcessor : BaseMessagePumpProcessor { + + public override bool Process(ref Message msg) { + if (msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + + Console.WriteLine("Hook msg #{0}: {1}", hookCode, msg.LParam); + } + + return false; + } + + protected override void Shutdown() { + + } + + } + +#endif + +} diff --git a/OnTopReplica/NotificationIcon.cs b/OnTopReplica/NotificationIcon.cs index ebdce67..08292ae 100644 --- a/OnTopReplica/NotificationIcon.cs +++ b/OnTopReplica/NotificationIcon.cs @@ -80,5 +80,6 @@ namespace OnTopReplica { } #endregion + } } diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index fbbb0e7..110383b 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -130,12 +130,14 @@ + + diff --git a/OnTopReplica/PlatformSupport.cs b/OnTopReplica/PlatformSupport.cs index 8f7d816..4d2c30f 100644 --- a/OnTopReplica/PlatformSupport.cs +++ b/OnTopReplica/PlatformSupport.cs @@ -5,8 +5,12 @@ using OnTopReplica.Platforms; using System.Windows.Forms; namespace OnTopReplica { - abstract class PlatformSupport : IDisposable { + abstract class PlatformSupport { + + /// + /// Creates a concrete PlatformSupport instance based on the OS the app is running on. + /// public static PlatformSupport Create() { var os = Environment.OSVersion; @@ -32,32 +36,26 @@ namespace OnTopReplica { /// /// Checks whether OnTopReplica is compatible with the platform. /// - /// Returns false if OnTopReplica cannot run. + /// Returns false if OnTopReplica cannot run and should terminate right away. public abstract bool CheckCompatibility(); /// - /// Initializes the application. Called once in the app lifetime. + /// Initializes a form before it is fully constructed and before the window handle has been created. /// - public virtual void InitApp() { + public virtual void PreHandleFormInit(MainForm form) { } /// - /// Gets the main OnTopReplica form. - /// - protected MainForm Form { get; private set; } - - /// - /// Initializes a form. Called once in the form lifetime. + /// Initializes a form after its handle has been created. /// /// Form to initialize. - public virtual void InitForm(MainForm form) { - Form = form; + public virtual void PostHandleFormInit(MainForm form) { } /// - /// Prepares the app for shutdown. Called once before the program terminates. + /// Called before closing a form. Called once during a form's lifetime. /// - public virtual void ShutdownApp() { + public virtual void CloseForm(MainForm form) { } /// @@ -65,14 +63,13 @@ namespace OnTopReplica { /// /// Form to hide. public virtual void HideForm(MainForm form) { - form.Hide(); } /// /// Gets whether the form is currently hidden or not. /// public virtual bool IsHidden(MainForm form) { - return !form.Visible; + return false; } /// @@ -81,7 +78,6 @@ namespace OnTopReplica { /// /// Form to restore. public virtual void RestoreForm(MainForm form) { - form.Show(); } /// @@ -91,19 +87,5 @@ namespace OnTopReplica { public virtual void OnFormStateChange(MainForm form) { } - #region IDisposable Members - - bool _isDisposed = false; - - public void Dispose() { - if (_isDisposed) - return; - - this.ShutdownApp(); - _isDisposed = true; - } - - #endregion - } } diff --git a/OnTopReplica/Platforms/DebugPlatform.cs b/OnTopReplica/Platforms/DebugPlatform.cs new file mode 100644 index 0000000..8b8da3a --- /dev/null +++ b/OnTopReplica/Platforms/DebugPlatform.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Platforms { + +#if DEBUG + + /// + /// Fake platform for debugging. + /// + class DebugPlatform : PlatformSupport { + + public override bool CheckCompatibility() { + return true; + } + + } + +#endif + +} diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs index b1d1db0..57c9508 100644 --- a/OnTopReplica/Platforms/WindowsSeven.cs +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -4,9 +4,15 @@ using OnTopReplica.Native; using VistaControls.Dwm; namespace OnTopReplica.Platforms { + class WindowsSeven : WindowsVista { - public override void InitForm(MainForm form) { + public override void PreHandleFormInit(MainForm form) { + //Set Application ID + WindowsSevenMethods.SetCurrentProcessExplicitAppUserModelID("OnTopReplica"); + } + + public override void PostHandleFormInit(MainForm form) { DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); DwmManager.SetExludeFromPeek(form, true); DwmManager.SetDisallowPeek(form, true); @@ -14,11 +20,6 @@ namespace OnTopReplica.Platforms { SetWindowStyle(form); } - public override void InitApp() { - //Set Application ID - WindowsSevenMethods.SetCurrentProcessExplicitAppUserModelID("OnTopReplica"); - } - public override void HideForm(MainForm form) { form.Opacity = 0; } @@ -30,7 +31,9 @@ namespace OnTopReplica.Platforms { public override void RestoreForm(MainForm form) { if (form.Opacity == 0.0) form.Opacity = 1.0; + form.Show(); + SetWindowStyle(form); } @@ -42,11 +45,13 @@ namespace OnTopReplica.Platforms { if (!form.IsFullscreen) { //This hides the app from ALT+TAB //Note that when minimized, it will be shown as an (ugly) minimized tool window - Native.WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle, + //thus we do not minimize, but set to transparent when hiding + WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle, (IntPtr)WindowMethods.WindowExStyles.ToolWindow); } } } + } diff --git a/OnTopReplica/Platforms/WindowsVista.cs b/OnTopReplica/Platforms/WindowsVista.cs index d8d1b60..c628d47 100644 --- a/OnTopReplica/Platforms/WindowsVista.cs +++ b/OnTopReplica/Platforms/WindowsVista.cs @@ -1,10 +1,6 @@ using System; -using System.Collections.Generic; -using System.Text; using System.Windows.Forms; using VistaControls.Dwm; -using OnTopReplica.Properties; -using VistaControls.TaskDialog; namespace OnTopReplica.Platforms { @@ -15,30 +11,45 @@ namespace OnTopReplica.Platforms { MessageBox.Show(Strings.ErrorDwmOffContent, Strings.ErrorDwmOff, MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } + return true; } NotificationIcon _icon; - public override void InitForm(MainForm form) { - DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); - + public override void PreHandleFormInit(MainForm form) { //Do not show in task bar, but display notify icon //NOTE: this effectively makes Windows ignore the Flip 3D policy set above (on Windows 7) //NOTE: this also makes HotKey registration critically fail on Windows 7 form.ShowInTaskbar = false; + } + public override void PostHandleFormInit(MainForm form) { + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + //Install tray icon _icon = new NotificationIcon(form); } - public override void ShutdownApp() { + public override void CloseForm(MainForm form) { if (_icon != null) { _icon.Dispose(); _icon = null; } } + public override bool IsHidden(MainForm form) { + return !form.Visible; + } + + public override void HideForm(MainForm form) { + form.Hide(); + } + + public override void RestoreForm(MainForm form) { + form.Show(); + } + } } diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs index fe9d06c..63715ee 100644 --- a/OnTopReplica/Program.cs +++ b/OnTopReplica/Program.cs @@ -1,15 +1,11 @@ using System; -using System.Collections.Generic; +using System.IO; +using System.Reflection; +using System.Threading; using System.Windows.Forms; using OnTopReplica.Properties; -using System.Threading; -using System.Globalization; -using System.Drawing; -using System.IO; -using VistaControls.TaskDialog; -using OnTopReplica.Update; -using System.Reflection; using OnTopReplica.StartupOptions; +using OnTopReplica.Update; namespace OnTopReplica { @@ -17,8 +13,6 @@ namespace OnTopReplica { public static PlatformSupport Platform { get; private set; } - static CultureInfo _languageChangeCode = Settings.Default.Language; - static UpdateManager _updateManager; static MainForm _mainForm; @@ -28,14 +22,13 @@ namespace OnTopReplica { /// [STAThread] static void Main(string[] args) { - //Hook abort handler + //Hook fatal abort handler AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); //Initialize and check for platform support Platform = PlatformSupport.Create(); if (!Platform.CheckCompatibility()) return; - Platform.InitApp(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); @@ -56,53 +49,18 @@ namespace OnTopReplica { if (options.Status == CliStatus.Information || options.Status == CliStatus.Error) return; - bool mustReloadForm = false; - Point reloadLocation = new Point(); - Size reloadSize = new Size(); - - do { - //Update language settings - Thread.CurrentThread.CurrentUICulture = _languageChangeCode; - Settings.Default.Language = _languageChangeCode; - _languageChangeCode = null; - - _mainForm = new MainForm(options); - if (mustReloadForm) { - _mainForm.Location = reloadLocation; - _mainForm.Size = reloadSize; - } + //Load language + Thread.CurrentThread.CurrentUICulture = Settings.Default.Language; + //Show form + using (_mainForm = new MainForm(options)) { Application.Run(_mainForm); - //Enable reloading on next loop - mustReloadForm = true; - reloadLocation = _mainForm.Location; - reloadSize = _mainForm.Size; + //Persist settings + Settings.Default.RestoreLastPosition = _mainForm.Location; + Settings.Default.RestoreLastSize = _mainForm.ClientSize; + Settings.Default.Save(); } - while (_languageChangeCode != null); - - //Persist settings - Settings.Default.RestoreLastPosition = reloadLocation; - Settings.Default.RestoreLastSize = reloadSize; - Settings.Default.Save(); - } - - /// - /// Forces a global language change. As soon as the main form is closed, the change is performed - /// and the form is reopened using the new language. - /// - public static bool ForceGlobalLanguageChange(string languageCode) { - if (string.IsNullOrEmpty(languageCode)) - return false; - - try { - _languageChangeCode = new CultureInfo(languageCode); - } - catch { - return false; - } - - return true; } static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { From 4abb6f4a7def34c705ff3736b47eec5a89587421 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 17 Nov 2010 01:09:27 +0100 Subject: [PATCH 084/164] Added fullscreen mode switch to CLI (--fullscreen). Fullscreen and "chrome off" modes only work when cloning a thumbnail. --- OnTopReplica/MainForm_Features.cs | 4 ++++ OnTopReplica/StartupOptions/Factory.cs | 3 +++ OnTopReplica/StartupOptions/Options.cs | 8 ++++++++ 3 files changed, 15 insertions(+) diff --git a/OnTopReplica/MainForm_Features.cs b/OnTopReplica/MainForm_Features.cs index f728462..1ff0460 100644 --- a/OnTopReplica/MainForm_Features.cs +++ b/OnTopReplica/MainForm_Features.cs @@ -67,6 +67,10 @@ namespace OnTopReplica { return (FormBorderStyle == FormBorderStyle.SizableToolWindow); } set { + //Cancel hiding chrome if no thumbnail is shown + if (!value && !_thumbnailPanel.IsShowingThumbnail) + return; + if (!value) { Location = new Point { X = Location.X + SystemInformation.FrameBorderSize.Width, diff --git a/OnTopReplica/StartupOptions/Factory.cs b/OnTopReplica/StartupOptions/Factory.cs index 1644a0d..de4268c 100644 --- a/OnTopReplica/StartupOptions/Factory.cs +++ b/OnTopReplica/StartupOptions/Factory.cs @@ -69,6 +69,9 @@ namespace OnTopReplica.StartupOptions { .Add("chromeOff", "Disables the window's chrome (border).", s => { options.DisableChrome = true; }) + .Add("fs|fullscreen", "Starts up in fullscreen mode.", s => { + options.Fullscreen = true; + }) .Add("h|help|?", "Show command line help.", s => { options.Status = CliStatus.Information; }); diff --git a/OnTopReplica/StartupOptions/Options.cs b/OnTopReplica/StartupOptions/Options.cs index 1d0cd11..f596c83 100644 --- a/OnTopReplica/StartupOptions/Options.cs +++ b/OnTopReplica/StartupOptions/Options.cs @@ -17,6 +17,7 @@ namespace OnTopReplica.StartupOptions { Opacity = 255; DisableChrome = false; MustBeVisible = false; + Fullscreen = false; } #region Position and size @@ -51,6 +52,8 @@ namespace OnTopReplica.StartupOptions { public bool DisableChrome { get; set; } + public bool Fullscreen { get; set; } + #endregion #region Debug info @@ -136,6 +139,11 @@ namespace OnTopReplica.StartupOptions { if (EnableClickForwarding) { form.ClickForwardingEnabled = true; } + + //Fullscreen + if (Fullscreen) { + form.IsFullscreen = true; + } } #endregion From f340fa546ca2a3db7f74c4f928dc5173229ad8c3 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 3 Feb 2011 17:24:39 +0100 Subject: [PATCH 085/164] Fixed issue #20 (opacity / fullscreen switching bug). --- OnTopReplica/MainForm_MenuEvents.cs | 5 +++-- OnTopReplica/Platforms/WindowsSeven.cs | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs index d24dc78..c428e70 100644 --- a/OnTopReplica/MainForm_MenuEvents.cs +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -85,7 +85,7 @@ namespace OnTopReplica { }; foreach (ToolStripMenuItem i in items) { - if ((double)i.Tag == this.Opacity) + if (((double)i.Tag) == this.Opacity) i.Checked = true; else i.Checked = false; @@ -96,9 +96,10 @@ namespace OnTopReplica { //Get clicked menu item ToolStripMenuItem tsi = sender as ToolStripMenuItem; - if (tsi != null) { + if (tsi != null && this.Visible) { //Get opacity from the tag this.Opacity = (double)tsi.Tag; + Program.Platform.OnFormStateChange(this); } } diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs index 57c9508..0408c02 100644 --- a/OnTopReplica/Platforms/WindowsSeven.cs +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -47,7 +47,7 @@ namespace OnTopReplica.Platforms { //Note that when minimized, it will be shown as an (ugly) minimized tool window //thus we do not minimize, but set to transparent when hiding WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle, - (IntPtr)WindowMethods.WindowExStyles.ToolWindow); + (IntPtr)(WindowMethods.WindowExStyles.ToolWindow | WindowMethods.WindowExStyles.Layered)); } } From 4cfd61ba280b05c4252dd83b80b451a1f2e67de4 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 22 Mar 2011 01:34:37 +0100 Subject: [PATCH 086/164] Improved screen position locking. --- OnTopReplica/GeometryExtensions.cs | 22 ++++++++ OnTopReplica/MainForm_Features.cs | 6 +- OnTopReplica/ScreenPosition.cs | 88 +++++++++++++++++------------- 3 files changed, 76 insertions(+), 40 deletions(-) create mode 100644 OnTopReplica/GeometryExtensions.cs diff --git a/OnTopReplica/GeometryExtensions.cs b/OnTopReplica/GeometryExtensions.cs new file mode 100644 index 0000000..0f177a7 --- /dev/null +++ b/OnTopReplica/GeometryExtensions.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; + +namespace OnTopReplica { + + /// + /// Common geometry extension methods. + /// + static class GeometryExtensions { + + /// + /// Returns the difference (offset vector) between two points. + /// + public static Point Difference(this Point a, Point b) { + return new Point(a.X - b.X, a.Y - b.Y); + } + + } + +} diff --git a/OnTopReplica/MainForm_Features.cs b/OnTopReplica/MainForm_Features.cs index 1ff0460..86023b1 100644 --- a/OnTopReplica/MainForm_Features.cs +++ b/OnTopReplica/MainForm_Features.cs @@ -62,9 +62,11 @@ namespace OnTopReplica { #region Chrome + const FormBorderStyle DefaultBorderStyle = FormBorderStyle.SizableToolWindow; + public bool IsChromeVisible { get { - return (FormBorderStyle == FormBorderStyle.SizableToolWindow); + return (FormBorderStyle == DefaultBorderStyle); } set { //Cancel hiding chrome if no thumbnail is shown @@ -83,7 +85,7 @@ namespace OnTopReplica { X = Location.X - SystemInformation.FrameBorderSize.Width, Y = Location.Y - SystemInformation.FrameBorderSize.Height }; - FormBorderStyle = FormBorderStyle.SizableToolWindow; + FormBorderStyle = DefaultBorderStyle; } Program.Platform.OnFormStateChange(this); diff --git a/OnTopReplica/ScreenPosition.cs b/OnTopReplica/ScreenPosition.cs index 1859a90..6808b9d 100644 --- a/OnTopReplica/ScreenPosition.cs +++ b/OnTopReplica/ScreenPosition.cs @@ -5,8 +5,9 @@ using System.Windows.Forms; using System.Drawing; namespace OnTopReplica { + /// - /// Describes a resolution independent position. + /// Describes a resolution independent screen position. /// enum ScreenPosition { TopLeft, @@ -21,6 +22,46 @@ namespace OnTopReplica { /// static class ScreenPositionExtensions { + /// + /// Gets the coordinates point matching an independent screen position value. + /// + /// Screen position value. + /// Pixel point in screen coordinates. + public static Point ResolveScreenPosition(this Screen screen, ScreenPosition position) { + var rect = screen.WorkingArea; + + return ResolveScreenPositionToRectangle(rect, position); + } + + /// + /// Gets the coordinates matching an independent screen position value. + /// + /// Target control for which the coordinates should be resolved. + /// Screen position value. + /// Pixel point in screen coordinates. + public static Point ResolveScreenPositionEdge(this Control ctrl, ScreenPosition position) { + var ctrlRegion = ctrl.RectangleToScreen(ctrl.ClientRectangle); + + return ResolveScreenPositionToRectangle(ctrlRegion, position); + } + + private static Point ResolveScreenPositionToRectangle(Rectangle rect, ScreenPosition position) { + switch (position) { + case ScreenPosition.TopLeft: + return new Point(rect.X, rect.Y); + case ScreenPosition.TopRight: + return new Point(rect.X + rect.Width, rect.Y); + case ScreenPosition.BottomLeft: + return new Point(rect.X, rect.Y + rect.Height); + case ScreenPosition.BottomRight: + return new Point(rect.X + rect.Width, rect.Y + rect.Height); + case ScreenPosition.Center: + return new Point(rect.X + (rect.Width / 2), rect.Y + (rect.Height / 2)); + default: + throw new ArgumentException("Invalid ScreenPosition value."); + } + } + /// /// Sets the form's screen position in independent coordinates. /// @@ -29,47 +70,18 @@ namespace OnTopReplica { /// public static void SetScreenPosition(this MainForm form, ScreenPosition position) { var screen = Screen.FromControl(form); - var wa = screen.WorkingArea; - Point p = new Point(); - switch (position) { - case ScreenPosition.TopLeft: - p = new Point( - wa.Left - form.ChromeBorderHorizontal, - wa.Top - form.ChromeBorderVertical - ); - break; + var start = form.ResolveScreenPositionEdge(position); + var end = screen.ResolveScreenPosition(position); - case ScreenPosition.TopRight: - p = new Point( - wa.Right - form.Width + form.ChromeBorderHorizontal, - wa.Top - form.ChromeBorderVertical - ); - break; + var move = end.Difference(start); - case ScreenPosition.BottomLeft: - p = new Point( - wa.Left - form.ChromeBorderHorizontal, - wa.Bottom - form.Height + form.ChromeBorderVertical - ); - break; +#if DEBUG + Console.WriteLine("From {0} to {1} => {2}.", start, end, move); +#endif - case ScreenPosition.BottomRight: - p = new Point( - wa.Right - form.Width + form.ChromeBorderHorizontal, - wa.Bottom - form.Height + form.ChromeBorderVertical - ); - break; - - case ScreenPosition.Center: - p = new Point( - wa.X + (wa.Width / 2) - (form.Width / 2) - (form.ChromeBorderHorizontal / 2), - wa.Y + (wa.Height / 2) - (form.Height / 2) - (form.ChromeBorderVertical / 2) - ); - break; - } - - form.Location = p; + var original = form.Location; + form.Location = new Point(original.X + move.X, original.Y + move.Y); } } From c2347b25a506ea025c9b5c52157594394d5c7b93 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 22 Mar 2011 11:56:07 +0100 Subject: [PATCH 087/164] Window restoring option added (by window class, window title and window HWND). --- OnTopReplica/MainForm.Designer.cs | 42 ++++--- OnTopReplica/MainForm.cs | 24 ++-- OnTopReplica/MainForm_MenuEvents.cs | 8 ++ OnTopReplica/Native/WindowManagerMethods.cs | 11 ++ OnTopReplica/OnTopReplica.csproj | 52 ++++---- OnTopReplica/OnTopReplica.csproj.user | 1 + OnTopReplica/Properties/Settings.Designer.cs | 60 ++++++++-- OnTopReplica/Properties/Settings.settings | 15 ++- OnTopReplica/StartupOptions/Factory.cs | 22 ++++ OnTopReplica/Win32Helper.cs | 2 +- OnTopReplica/WindowHandle.cs | 49 ++++++-- .../WindowSeekers/BaseWindowSeeker.cs | 7 +- .../WindowSeekers/ByTitleWindowSeeker.cs | 6 +- .../WindowSeekers/RestoreWindowSeeker.cs | 112 ++++++++++++++++++ OnTopReplica/app.config | 15 ++- 15 files changed, 348 insertions(+), 78 deletions(-) create mode 100644 OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 271e9e8..bfdefe8 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -37,6 +37,7 @@ this.clickForwardingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.clickThroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.groupSwitchModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.restoreLastClonedWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuContextOpacity = new System.Windows.Forms.ToolStripMenuItem(); this.menuOpacity = new System.Windows.Forms.ContextMenuStrip(this.components); this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); @@ -69,6 +70,7 @@ this.englishToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.cestinaToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.danskToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.espanolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.italianoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); @@ -77,7 +79,6 @@ this.menuFullscreenContext = new System.Windows.Forms.ContextMenuStrip(this.components); this.enableClickthroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.fullExitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.espanolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuContext.SuspendLayout(); this.menuWindows.SuspendLayout(); this.menuOpacity.SuspendLayout(); @@ -154,17 +155,19 @@ this.advancedToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.clickForwardingToolStripMenuItem, this.clickThroughToolStripMenuItem, - this.groupSwitchModeToolStripMenuItem}); + this.groupSwitchModeToolStripMenuItem, + this.restoreLastClonedWindowToolStripMenuItem}); this.advancedToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_wrench; this.advancedToolStripMenuItem.Name = "advancedToolStripMenuItem"; this.advancedToolStripMenuItem.Size = new System.Drawing.Size(168, 22); this.advancedToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAdvanced; + this.advancedToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Advanced_opening); // // clickForwardingToolStripMenuItem // this.clickForwardingToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; this.clickForwardingToolStripMenuItem.Name = "clickForwardingToolStripMenuItem"; - this.clickForwardingToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.clickForwardingToolStripMenuItem.Size = new System.Drawing.Size(218, 22); this.clickForwardingToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickForwarding; this.clickForwardingToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickForwardingTT; this.clickForwardingToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickForwarding_click); @@ -173,7 +176,7 @@ // this.clickThroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; this.clickThroughToolStripMenuItem.Name = "clickThroughToolStripMenuItem"; - this.clickThroughToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.clickThroughToolStripMenuItem.Size = new System.Drawing.Size(218, 22); this.clickThroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; this.clickThroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; this.clickThroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); @@ -182,11 +185,18 @@ // this.groupSwitchModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.groupmode; this.groupSwitchModeToolStripMenuItem.Name = "groupSwitchModeToolStripMenuItem"; - this.groupSwitchModeToolStripMenuItem.Size = new System.Drawing.Size(199, 22); + this.groupSwitchModeToolStripMenuItem.Size = new System.Drawing.Size(218, 22); this.groupSwitchModeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuGroupSwitch; this.groupSwitchModeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuGroupSwitchTT; this.groupSwitchModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_GroupSwitchMode_click); // + // restoreLastClonedWindowToolStripMenuItem + // + this.restoreLastClonedWindowToolStripMenuItem.Name = "restoreLastClonedWindowToolStripMenuItem"; + this.restoreLastClonedWindowToolStripMenuItem.Size = new System.Drawing.Size(218, 22); + this.restoreLastClonedWindowToolStripMenuItem.Text = "Restore last cloned window"; + this.restoreLastClonedWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_RestoreLastWindow_click); + // // menuContextOpacity // this.menuContextOpacity.DropDown = this.menuOpacity; @@ -467,6 +477,15 @@ this.danskToolStripMenuItem1.Text = "Dansk"; this.danskToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Language_click); // + // espanolToolStripMenuItem + // + this.espanolToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_spanish; + this.espanolToolStripMenuItem.Name = "espanolToolStripMenuItem"; + this.espanolToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.espanolToolStripMenuItem.Tag = "es-ES"; + this.espanolToolStripMenuItem.Text = "Español"; + this.espanolToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); + // // italianoToolStripMenuItem // this.italianoToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_ita; @@ -538,15 +557,6 @@ this.fullExitToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuQuitFullscreen; this.fullExitToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_ExitFullscreen_click); // - // espanolToolStripMenuItem - // - this.espanolToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_spanish; - this.espanolToolStripMenuItem.Name = "espanolToolStripMenuItem"; - this.espanolToolStripMenuItem.Size = new System.Drawing.Size(152, 22); - this.espanolToolStripMenuItem.Text = "Español"; - this.espanolToolStripMenuItem.Tag = "es-ES"; - this.espanolToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); - // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -554,11 +564,10 @@ this.BackColor = System.Drawing.SystemColors.Control; this.ClientSize = new System.Drawing.Size(264, 204); this.ControlBox = false; - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable; //.SizableToolWindow; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; this.MinimizeBox = false; - this.MinimumSize = new System.Drawing.Size(20, 34); + this.MinimumSize = new System.Drawing.Size(20, 38); this.Name = "MainForm"; this.Text = "OnTopReplica"; this.TopMost = true; @@ -625,6 +634,7 @@ private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; private System.Windows.Forms.ToolStripMenuItem restorePositionAndSizeToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem espanolToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem restoreLastClonedWindowToolStripMenuItem; } } diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 25b9b6d..f536905 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -1,15 +1,15 @@ using System; +using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Windows.Forms; +using OnTopReplica.Native; using OnTopReplica.Properties; +using OnTopReplica.StartupOptions; +using OnTopReplica.Update; +using OnTopReplica.WindowSeekers; using VistaControls.Dwm; using VistaControls.TaskDialog; -using System.Collections.Generic; -using OnTopReplica.Native; -using OnTopReplica.Update; -using OnTopReplica.StartupOptions; -using OnTopReplica.WindowSeekers; namespace OnTopReplica { @@ -52,7 +52,7 @@ namespace OnTopReplica { //Side panel _sidePanelContainer = new Panel { - Location = new Point(ClientSize.Width, 0), + Location = new Point(ClientSize.Width + 5, 0), Anchor = AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom, Enabled = false, Visible = false, @@ -126,6 +126,13 @@ namespace OnTopReplica { } protected override void OnClosing(CancelEventArgs e) { + //Store last thumbnail, if any + if (_thumbnailPanel.IsShowingThumbnail && CurrentThumbnailWindowHandle != null) { + Settings.Default.RestoreLastWindowTitle = CurrentThumbnailWindowHandle.Title; + Settings.Default.RestoreLastWindowHwnd = CurrentThumbnailWindowHandle.Handle.ToInt64(); + Settings.Default.RestoreLastWindowClass = CurrentThumbnailWindowHandle.Class; + } + _msgPumpManager.Dispose(); Program.Platform.CloseForm(this); @@ -262,7 +269,8 @@ namespace OnTopReplica { FitToThumbnail(0.5); } - else if (e.KeyCode == Keys.D3 || e.KeyCode == Keys.NumPad3 || e.KeyCode == Keys.D0 || e.KeyCode == Keys.NumPad0) { + else if (e.KeyCode == Keys.D3 || e.KeyCode == Keys.NumPad3 || + e.KeyCode == Keys.D0 || e.KeyCode == Keys.NumPad0) { FitToThumbnail(1.0); } @@ -340,8 +348,8 @@ namespace OnTopReplica { _preFullscreenSize = ClientSize; _preFullscreenBorderStyle = FormBorderStyle; - var currentScreen = Screen.FromControl(this); FormBorderStyle = FormBorderStyle.None; + var currentScreen = Screen.FromControl(this); Size = currentScreen.WorkingArea.Size; Location = currentScreen.WorkingArea.Location; } diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs index c428e70..02d1e82 100644 --- a/OnTopReplica/MainForm_MenuEvents.cs +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -64,10 +64,18 @@ namespace OnTopReplica { Native.WindowManagerMethods.SetForegroundWindow(CurrentThumbnailWindowHandle.Handle); } + private void Menu_Advanced_opening(object sender, EventArgs e) { + restoreLastClonedWindowToolStripMenuItem.Checked = Settings.Default.RestoreLastWindow; + } + private void Menu_GroupSwitchMode_click(object sender, EventArgs e) { SetSidePanel(new SidePanels.GroupSwitchPanel()); } + private void Menu_RestoreLastWindow_click(object sender, EventArgs e) { + Settings.Default.RestoreLastWindow = !Settings.Default.RestoreLastWindow; + } + private void Menu_ClickForwarding_click(object sender, EventArgs e) { ClickForwardingEnabled = !ClickForwardingEnabled; } diff --git a/OnTopReplica/Native/WindowManagerMethods.cs b/OnTopReplica/Native/WindowManagerMethods.cs index 967f2a6..97aa4df 100644 --- a/OnTopReplica/Native/WindowManagerMethods.cs +++ b/OnTopReplica/Native/WindowManagerMethods.cs @@ -84,5 +84,16 @@ namespace OnTopReplica.Native { [DllImport("user32.dll")] public static extern IntPtr GetWindow(IntPtr hwnd, GetWindowMode mode); + /// + /// Checks whether a window is a top-level window (has no owner nor parent window). + /// + /// Handle to the window to check. + public static bool IsTopLevel(IntPtr hwnd) { + bool hasParent = WindowManagerMethods.GetParent(hwnd).ToInt64() != 0; + bool hasOwner = WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER).ToInt64() != 0; + + return (!hasParent && !hasOwner); + } + } } diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 110383b..d4e0a5a 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -114,6 +114,7 @@ + Form @@ -138,9 +139,22 @@ + + UserControl + + + OptionsPanel.cs + + + UserControl + + + GroupSwitchPanel.cs + + @@ -159,12 +173,6 @@ UserControl - - UserControl - - - GroupSwitchPanel.cs - Form @@ -210,7 +218,9 @@ GroupSwitchPanel.cs - Designer + + + OptionsPanel.cs CommandLineReportForm.cs @@ -378,72 +388,72 @@ False + Exclude + True - Exclude - True File False + Exclude + True - Exclude - True File False + Exclude + True - Exclude - True File False + Exclude + True - Exclude - True File False + Include + True - Include - True Satellite False + Include + True - Include - True Satellite False + Include + True - Include - True Satellite diff --git a/OnTopReplica/OnTopReplica.csproj.user b/OnTopReplica/OnTopReplica.csproj.user index 230b070..4b61895 100644 --- a/OnTopReplica/OnTopReplica.csproj.user +++ b/OnTopReplica/OnTopReplica.csproj.user @@ -11,6 +11,7 @@ false + ProjectFiles false diff --git a/OnTopReplica/Properties/Settings.Designer.cs b/OnTopReplica/Properties/Settings.Designer.cs index c47129a..c885ed4 100644 --- a/OnTopReplica/Properties/Settings.Designer.cs +++ b/OnTopReplica/Properties/Settings.Designer.cs @@ -34,18 +34,6 @@ namespace OnTopReplica.Properties { } } - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("True")] - public bool AutoFitOnResize { - get { - return ((bool)(this["AutoFitOnResize"])); - } - set { - this["AutoFitOnResize"] = value; - } - } - [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("255")] @@ -165,5 +153,53 @@ namespace OnTopReplica.Properties { this["RestoreLastPosition"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool RestoreLastWindow { + get { + return ((bool)(this["RestoreLastWindow"])); + } + set { + this["RestoreLastWindow"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string RestoreLastWindowClass { + get { + return ((string)(this["RestoreLastWindowClass"])); + } + set { + this["RestoreLastWindowClass"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string RestoreLastWindowTitle { + get { + return ((string)(this["RestoreLastWindowTitle"])); + } + set { + this["RestoreLastWindowTitle"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0")] + public long RestoreLastWindowHwnd { + get { + return ((long)(this["RestoreLastWindowHwnd"])); + } + set { + this["RestoreLastWindowHwnd"] = value; + } + } } } diff --git a/OnTopReplica/Properties/Settings.settings b/OnTopReplica/Properties/Settings.settings index 565ed0e..5d8047a 100644 --- a/OnTopReplica/Properties/Settings.settings +++ b/OnTopReplica/Properties/Settings.settings @@ -5,9 +5,6 @@ - - True - 255 @@ -38,5 +35,17 @@ 0, 0 + + False + + + + + + + + + 0 + \ No newline at end of file diff --git a/OnTopReplica/StartupOptions/Factory.cs b/OnTopReplica/StartupOptions/Factory.cs index de4268c..8676f19 100644 --- a/OnTopReplica/StartupOptions/Factory.cs +++ b/OnTopReplica/StartupOptions/Factory.cs @@ -4,6 +4,7 @@ using System.Text; using System.Drawing; using System.ComponentModel; using OnTopReplica.Properties; +using OnTopReplica.WindowSeekers; namespace OnTopReplica.StartupOptions { class Factory { @@ -30,6 +31,27 @@ namespace OnTopReplica.StartupOptions { options.StartLocation = Settings.Default.RestoreLastPosition; options.StartSize = Settings.Default.RestoreLastSize; } + + if (Settings.Default.RestoreLastWindow) { + var handle = Settings.Default.RestoreLastWindowHwnd; + var title = Settings.Default.RestoreLastWindowTitle; + var className = Settings.Default.RestoreLastWindowClass; + + var seeker = new RestoreWindowSeeker(new IntPtr(handle), title, className); + seeker.SkipNotVisibleWindows = true; + seeker.Refresh(); + var resultHandle = seeker.Windows.FirstOrDefault(); + + if (resultHandle != null) { + //Load window + options.WindowId = resultHandle.Handle; + } +#if DEBUG + else { + Console.WriteLine("Couldn't find window to restore."); + } +#endif + } } private static void ParseCommandLine(string[] args, Options options) { diff --git a/OnTopReplica/Win32Helper.cs b/OnTopReplica/Win32Helper.cs index 49709ab..daa6a96 100644 --- a/OnTopReplica/Win32Helper.cs +++ b/OnTopReplica/Win32Helper.cs @@ -115,7 +115,7 @@ namespace OnTopReplica { if (handle == IntPtr.Zero) return null; - return new WindowHandle(handle, string.Empty); + return new WindowHandle(handle, null); } } diff --git a/OnTopReplica/WindowHandle.cs b/OnTopReplica/WindowHandle.cs index f158e29..1cc1f3a 100644 --- a/OnTopReplica/WindowHandle.cs +++ b/OnTopReplica/WindowHandle.cs @@ -6,12 +6,19 @@ using OnTopReplica.Native; namespace OnTopReplica { - /// Helper class that keeps a window handle (HWND), the title of the window and can load its icon. + /// + /// Helper class that keeps a window handle (HWND), + /// the title of the window and can load its icon. + /// public class WindowHandle : System.Windows.Forms.IWin32Window { IntPtr _handle; string _title; + /// + /// Creates a new WindowHandle instance. The handle pointer must be valid, the title + /// may be null or empty and will be updated as requested. + /// public WindowHandle(IntPtr p, string title) { _handle = p; _title = title; @@ -19,6 +26,10 @@ namespace OnTopReplica { public string Title { get { + if (_title == null) { + _title = WindowMethods.GetWindowText(_handle) ?? string.Empty; + } + return _title; } } @@ -32,10 +43,11 @@ namespace OnTopReplica { IntPtr hIcon; if (MessagingMethods.SendMessageTimeout(_handle, WM.GETICON, new IntPtr(2), new IntPtr(0), - MessagingMethods.SendMessageTimeoutFlags.AbortIfHung | MessagingMethods.SendMessageTimeoutFlags.Block, 500, out hIcon) == IntPtr.Zero) - hIcon = IntPtr.Zero; + MessagingMethods.SendMessageTimeoutFlags.AbortIfHung | MessagingMethods.SendMessageTimeoutFlags.Block, 500, out hIcon) == IntPtr.Zero) { + hIcon = IntPtr.Zero; + } - if (hIcon.ToInt64() != 0) { + if (hIcon != IntPtr.Zero) { _icon = Icon.FromHandle(hIcon); } else { @@ -54,7 +66,26 @@ namespace OnTopReplica { } } - public override string ToString() { + string _class = null; + + /// + /// Gets the window's class name. + /// + /// + /// This value is cached and is never null. + /// + public string Class { + get { + if (_class == null) { + _class = Native.WindowMethods.GetWindowClass(Handle) ?? string.Empty; + } + return _class; + } + } + + #region Object override + + public override string ToString() { return _title; } @@ -74,9 +105,11 @@ namespace OnTopReplica { return _handle.GetHashCode(); } - #region IWin32Window Members + #endregion - public IntPtr Handle { + #region IWin32Window Members + + public IntPtr Handle { get { return _handle; } } @@ -87,7 +120,7 @@ namespace OnTopReplica { ///
    /// Handle value. public static WindowHandle FromHandle(IntPtr handle) { - return new WindowHandle(handle, string.Empty); + return new WindowHandle(handle, null); } } diff --git a/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs b/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs index b27bac5..f175f8e 100644 --- a/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs +++ b/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs @@ -10,15 +10,18 @@ namespace OnTopReplica.WindowSeekers { ///
    abstract class BaseWindowSeeker { - List _list = new List(); + IList _list = new List(); /// /// Get the matching windows from the last refresh. /// - public IEnumerable Windows { + public virtual IList Windows { get { return _list; } + protected set { + _list = value; + } } /// diff --git a/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs b/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs index a187138..9564540 100644 --- a/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs +++ b/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs @@ -26,10 +26,8 @@ namespace OnTopReplica.WindowSeekers { if (string.IsNullOrEmpty(title)) return false; - //Skip non-top-level windows (skips most internal controls) - bool hasParent = (long)WindowManagerMethods.GetParent(hwnd) != 0; - bool hasOwner = (long)WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; - if (hasParent || hasOwner) + //Skip non top-level windows + if (!WindowManagerMethods.IsTopLevel(hwnd)) return false; var modTitle = title.Trim().ToLower(); diff --git a/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs b/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs new file mode 100644 index 0000000..a59ee63 --- /dev/null +++ b/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs @@ -0,0 +1,112 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + + /// + /// Window seeker that attempts to locate a window to restore (by class, title and ID). + /// + class RestoreWindowSeeker : BaseWindowSeeker { + + public RestoreWindowSeeker(IntPtr handle, string title, string className){ + Handle = handle; + Title = title; + Class = className; + } + + public IntPtr Handle { get; private set; } + + public string Title { get; private set; } + + public string Class { get; private set; } + + bool _mustBeOrdered = true; + + public override void Refresh() { + //Whenever the window list is refreshed, the list must be reordered + _mustBeOrdered = true; + _points = new Dictionary(); + + base.Refresh(); + } + + Dictionary _points = new Dictionary(); + + protected override bool InspectWindow(IntPtr hwnd, string title, ref bool terminate) { + if (!WindowManagerMethods.IsTopLevel(hwnd)) + return false; + + int points = 0; + + //Class exact match + if (!string.IsNullOrEmpty(Class)) { + string wndClass = WindowMethods.GetWindowClass(hwnd); + if (Class.Equals(wndClass, StringComparison.InvariantCulture)) { + points += 10; + } + } + + //Title match (may not be exact, but let's try) + if (!string.IsNullOrEmpty(Title) && !string.IsNullOrEmpty(title)) { + if (title.StartsWith(Title, StringComparison.InvariantCultureIgnoreCase)) { + points += 10; + } + } + + //Handle match (will probably not work, but anyhow) + if (Handle != IntPtr.Zero) { + if (Handle == hwnd) { + points += 5; + } + } + + //Store handle if it matches + if (points > 0) { + _points.Add(hwnd.ToInt64(), points); + return true; + } + else + return false; + } + + public override IList Windows { + get { + if (_mustBeOrdered) { + WindowHandle[] arr = new WindowHandle[base.Windows.Count]; + base.Windows.CopyTo(arr, 0); + Array.Sort(arr, new PointComparer(_points)); + + //Store ordered array + base.Windows = arr; + + _mustBeOrdered = false; + } + + return base.Windows; + } + } + + private class PointComparer : IComparer { + + public PointComparer(IDictionary pointDict) { + _pointDict = pointDict; + } + + IDictionary _pointDict; + + public int Compare(WindowHandle x, WindowHandle y) { + int px = 0; + _pointDict.TryGetValue(x.Handle.ToInt64(), out px); + int py = 0; + _pointDict.TryGetValue(y.Handle.ToInt64(), out py); + + return py.CompareTo(px); //inverse comparison (from max points to min) + } + + } + + } + +} diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config index 156c47b..9f59095 100644 --- a/OnTopReplica/app.config +++ b/OnTopReplica/app.config @@ -7,9 +7,6 @@ - - True - 255 @@ -40,6 +37,18 @@ 0, 0 + + False + + + + + + + + + 0 + From 35f5cb15cd4c2b558147e26cef2f73b9e26495e6 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 22 Mar 2011 11:56:28 +0100 Subject: [PATCH 088/164] Minor fixes here and there. --- OnTopReplica/MainForm_ChildForms.cs | 4 +- OnTopReplica/Native/HookMethods.cs | 2 +- OnTopReplica/Program.cs | 5 +- .../SidePanels/GroupSwitchPanel.Designer.cs | 91 +++++++++---------- OnTopReplica/SidePanels/GroupSwitchPanel.cs | 19 ++-- OnTopReplica/SidePanels/GroupSwitchPanel.resx | 2 +- 6 files changed, 63 insertions(+), 60 deletions(-) diff --git a/OnTopReplica/MainForm_ChildForms.cs b/OnTopReplica/MainForm_ChildForms.cs index 0e43ad9..15ea7f3 100644 --- a/OnTopReplica/MainForm_ChildForms.cs +++ b/OnTopReplica/MainForm_ChildForms.cs @@ -5,6 +5,7 @@ using System.Windows.Forms; using System.Drawing; namespace OnTopReplica { + partial class MainForm { EventHandler RequestClosingHandler; @@ -74,7 +75,7 @@ namespace OnTopReplica { if (_currentSidePanel == null) return; - //Unhook listener + //Unhook listener to make panel freeable _currentSidePanel.RequestClosing -= RequestClosingHandler; //Remove side panel @@ -102,4 +103,5 @@ namespace OnTopReplica { } } + } diff --git a/OnTopReplica/Native/HookMethods.cs b/OnTopReplica/Native/HookMethods.cs index 3b6f7fc..ea24f29 100644 --- a/OnTopReplica/Native/HookMethods.cs +++ b/OnTopReplica/Native/HookMethods.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; -using System.Text; using System.Runtime.InteropServices; +using System.Text; namespace OnTopReplica.Native { diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs index 63715ee..9d5b098 100644 --- a/OnTopReplica/Program.cs +++ b/OnTopReplica/Program.cs @@ -65,8 +65,8 @@ namespace OnTopReplica { static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { string dump = string.Format("OnTopReplica-dump-{0}{1}{2}{3}{4}.txt", - DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, - DateTime.UtcNow.Hour, DateTime.UtcNow.Minute); + DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, + DateTime.Now.Hour, DateTime.Now.Minute); string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), dump); using (var s = new FileStream(path, FileMode.Create)) { @@ -83,6 +83,7 @@ namespace OnTopReplica { sw.WriteLine(".NET: {0}", Environment.Version.ToString()); sw.WriteLine("Aero DWM: {0}", VistaControls.OsSupport.IsCompositionEnabled); sw.WriteLine("Launch command: {0}", Environment.CommandLine); + sw.WriteLine("UTC time: {0} {1}", DateTime.UtcNow.ToShortDateString(), DateTime.UtcNow.ToShortTimeString()); } } } diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs index 248924d..542ba27 100644 --- a/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs @@ -1,34 +1,34 @@ namespace OnTopReplica.SidePanels { partial class GroupSwitchPanel { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) { - if (disposing && (components != null)) { - components.Dispose(); - } - base.Dispose(disposing); - } + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } - #region Component Designer generated code + #region Component Designer generated code - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() { + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.labelStatus = new System.Windows.Forms.Label(); this.buttonCancel = new System.Windows.Forms.Button(); this.buttonEnable = new System.Windows.Forms.Button(); this.listWindows = new System.Windows.Forms.ListView(); this.colName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); - this.labelStatus = new System.Windows.Forms.Label(); this.groupBox1.SuspendLayout(); this.SuspendLayout(); // @@ -41,19 +41,29 @@ this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; this.groupBox1.Location = new System.Drawing.Point(0, 0); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(228, 296); - this.groupBox1.TabIndex = 0; + this.groupBox1.Size = new System.Drawing.Size(961, 592); + this.groupBox1.TabIndex = 1; this.groupBox1.TabStop = false; - this.groupBox1.Text = Strings.GroupSwitchModeTitle; + this.groupBox1.Text = "Group switch mode:"; + // + // labelStatus + // + this.labelStatus.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelStatus.Location = new System.Drawing.Point(3, 543); + this.labelStatus.Name = "labelStatus"; + this.labelStatus.Size = new System.Drawing.Size(952, 17); + this.labelStatus.TabIndex = 3; + this.labelStatus.TextAlign = System.Drawing.ContentAlignment.BottomRight; // // buttonCancel // this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.buttonCancel.Location = new System.Drawing.Point(152, 267); + this.buttonCancel.Location = new System.Drawing.Point(885, 563); this.buttonCancel.Name = "buttonCancel"; this.buttonCancel.Size = new System.Drawing.Size(70, 23); this.buttonCancel.TabIndex = 2; - this.buttonCancel.Text = Strings.GroupSwitchModeDisableButton; + this.buttonCancel.Text = global::OnTopReplica.Strings.GroupSwitchModeDisableButton; this.buttonCancel.UseVisualStyleBackColor = true; this.buttonCancel.Click += new System.EventHandler(this.Cancel_click); // @@ -61,11 +71,11 @@ // this.buttonEnable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonEnable.Image = global::OnTopReplica.Properties.Resources.xiao_ok; - this.buttonEnable.Location = new System.Drawing.Point(12, 267); + this.buttonEnable.Location = new System.Drawing.Point(745, 563); this.buttonEnable.Name = "buttonEnable"; this.buttonEnable.Size = new System.Drawing.Size(134, 23); this.buttonEnable.TabIndex = 1; - this.buttonEnable.Text = Strings.GroupSwitchModeEnableButton; + this.buttonEnable.Text = global::OnTopReplica.Strings.GroupSwitchModeEnableButton; this.buttonEnable.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; this.buttonEnable.UseVisualStyleBackColor = true; this.buttonEnable.Click += new System.EventHandler(this.Enable_click); @@ -83,27 +93,16 @@ this.listWindows.LabelWrap = false; this.listWindows.Location = new System.Drawing.Point(6, 19); this.listWindows.Name = "listWindows"; - this.listWindows.Size = new System.Drawing.Size(216, 225); + this.listWindows.Size = new System.Drawing.Size(949, 521); this.listWindows.TabIndex = 0; this.listWindows.UseCompatibleStateImageBehavior = false; this.listWindows.View = System.Windows.Forms.View.Details; // // colName // - this.colName.Text = Strings.GroupSwitchModeWindows; + this.colName.Text = global::OnTopReplica.Strings.GroupSwitchModeWindows; this.colName.Width = 220; // - // labelStatus - // - this.labelStatus.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.labelStatus.Location = new System.Drawing.Point(3, 247); - this.labelStatus.Name = "labelStatus"; - this.labelStatus.Size = new System.Drawing.Size(219, 17); - this.labelStatus.TabIndex = 3; - this.labelStatus.Text = ""; - this.labelStatus.TextAlign = System.Drawing.ContentAlignment.BottomRight; - // // GroupSwitchPanel // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -111,19 +110,19 @@ this.Controls.Add(this.groupBox1); this.MinimumSize = new System.Drawing.Size(220, 220); this.Name = "GroupSwitchPanel"; - this.Size = new System.Drawing.Size(228, 296); + this.Size = new System.Drawing.Size(961, 592); this.groupBox1.ResumeLayout(false); this.ResumeLayout(false); - } + } - #endregion + #endregion private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Label labelStatus; private System.Windows.Forms.Button buttonCancel; private System.Windows.Forms.Button buttonEnable; private System.Windows.Forms.ListView listWindows; private System.Windows.Forms.ColumnHeader colName; - private System.Windows.Forms.Label labelStatus; - } + } } diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.cs index be82b0f..8617981 100644 --- a/OnTopReplica/SidePanels/GroupSwitchPanel.cs +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.cs @@ -1,17 +1,14 @@ using System; -using System.Drawing; -using System.Windows.Forms; -using OnTopReplica.Properties; using System.Collections.Generic; +using System.Windows.Forms; using OnTopReplica.MessagePumpProcessors; using OnTopReplica.WindowSeekers; namespace OnTopReplica.SidePanels { - partial class GroupSwitchPanel : SidePanel { - + partial class GroupSwitchPanel : SidePanel { public GroupSwitchPanel() { - InitializeComponent(); - } + InitializeComponent(); + } public override void OnFirstShown(MainForm form) { base.OnFirstShown(form); @@ -24,7 +21,9 @@ namespace OnTopReplica.SidePanels { } private void LoadWindowList() { - var manager = new TaskWindowSeeker(); + var manager = new TaskWindowSeeker { + SkipNotVisibleWindows = true + }; manager.Refresh(); var imageList = new ImageList(); @@ -52,6 +51,7 @@ namespace OnTopReplica.SidePanels { foreach (ListViewItem i in listWindows.SelectedItems) { ret.Add((WindowHandle)i.Tag); } + form.SetThumbnailGroup(ret); } else { @@ -70,5 +70,6 @@ namespace OnTopReplica.SidePanels { OnRequestClosing(); } - } + } + } diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.resx b/OnTopReplica/SidePanels/GroupSwitchPanel.resx index ff31a6d..5ea0895 100644 --- a/OnTopReplica/SidePanels/GroupSwitchPanel.resx +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.resx @@ -1,4 +1,4 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.cs index 8617981..0bb5263 100644 --- a/OnTopReplica/SidePanels/GroupSwitchPanel.cs +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.cs @@ -10,6 +10,12 @@ namespace OnTopReplica.SidePanels { InitializeComponent(); } + public override string Title { + get { + return Strings.MenuGroupSwitch; + } + } + public override void OnFirstShown(MainForm form) { base.OnFirstShown(form); diff --git a/OnTopReplica/SidePanels/OptionsPanel.Designer.cs b/OnTopReplica/SidePanels/OptionsPanel.Designer.cs new file mode 100644 index 0000000..72f651a --- /dev/null +++ b/OnTopReplica/SidePanels/OptionsPanel.Designer.cs @@ -0,0 +1,120 @@ +namespace OnTopReplica.SidePanels { + partial class OptionsPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.btnClose = new System.Windows.Forms.Button(); + this.panelMain = new System.Windows.Forms.Panel(); + this.groupLanguage = new System.Windows.Forms.GroupBox(); + this.lblLanguage = new System.Windows.Forms.Label(); + this.comboLanguage = new System.Windows.Forms.ComboBox(); + this.panelMain.SuspendLayout(); + this.groupLanguage.SuspendLayout(); + this.SuspendLayout(); + // + // btnClose + // + this.btnClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnClose.Location = new System.Drawing.Point(185, 217); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(75, 23); + this.btnClose.TabIndex = 0; + this.btnClose.Text = "Close"; + this.btnClose.UseVisualStyleBackColor = true; + this.btnClose.Click += new System.EventHandler(this.Close_click); + // + // panelMain + // + this.panelMain.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panelMain.AutoScroll = true; + this.panelMain.Controls.Add(this.groupLanguage); + this.panelMain.Location = new System.Drawing.Point(0, 0); + this.panelMain.Name = "panelMain"; + this.panelMain.Size = new System.Drawing.Size(260, 211); + this.panelMain.TabIndex = 1; + // + // groupLanguage + // + this.groupLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupLanguage.Controls.Add(this.lblLanguage); + this.groupLanguage.Controls.Add(this.comboLanguage); + this.groupLanguage.Location = new System.Drawing.Point(3, 3); + this.groupLanguage.Name = "groupLanguage"; + this.groupLanguage.Size = new System.Drawing.Size(254, 68); + this.groupLanguage.TabIndex = 0; + this.groupLanguage.TabStop = false; + this.groupLanguage.Text = "Language:"; + // + // lblLanguage + // + this.lblLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblLanguage.Location = new System.Drawing.Point(6, 43); + this.lblLanguage.Name = "lblLanguage"; + this.lblLanguage.Size = new System.Drawing.Size(242, 23); + this.lblLanguage.TabIndex = 1; + this.lblLanguage.Text = "Requires a restart."; + // + // comboLanguage + // + this.comboLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.comboLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboLanguage.FormattingEnabled = true; + this.comboLanguage.Items.AddRange(new object[] { + "English", + "Dansk", + "Italiano"}); + this.comboLanguage.Location = new System.Drawing.Point(6, 19); + this.comboLanguage.Name = "comboLanguage"; + this.comboLanguage.Size = new System.Drawing.Size(242, 21); + this.comboLanguage.TabIndex = 0; + // + // OptionsPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoScroll = true; + this.Controls.Add(this.panelMain); + this.Controls.Add(this.btnClose); + this.MinimumSize = new System.Drawing.Size(260, 240); + this.Name = "OptionsPanel"; + this.Size = new System.Drawing.Size(260, 240); + this.panelMain.ResumeLayout(false); + this.groupLanguage.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button btnClose; + private System.Windows.Forms.Panel panelMain; + private System.Windows.Forms.GroupBox groupLanguage; + private System.Windows.Forms.ComboBox comboLanguage; + private System.Windows.Forms.Label lblLanguage; + } +} diff --git a/OnTopReplica/SidePanels/OptionsPanel.cs b/OnTopReplica/SidePanels/OptionsPanel.cs new file mode 100644 index 0000000..226cfd0 --- /dev/null +++ b/OnTopReplica/SidePanels/OptionsPanel.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.SidePanels { + partial class OptionsPanel : SidePanel { + public OptionsPanel() { + InitializeComponent(); + } + + private void Close_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + public override string Title { + get { + return Strings.MenuSettings; + } + } + } +} diff --git a/OnTopReplica/SidePanels/OptionsPanel.resx b/OnTopReplica/SidePanels/OptionsPanel.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/OnTopReplica/SidePanels/OptionsPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/RegionPanel.cs b/OnTopReplica/SidePanels/RegionPanel.cs index f281926..ca35f13 100644 --- a/OnTopReplica/SidePanels/RegionPanel.cs +++ b/OnTopReplica/SidePanels/RegionPanel.cs @@ -19,6 +19,12 @@ namespace OnTopReplica.SidePanels { _regionDrawnHandler = new ThumbnailPanel.RegionDrawnHandler(ThumbnailPanel_RegionDrawn); } + public override string Title { + get { + return Strings.MenuRegion; + } + } + ThumbnailPanel.RegionDrawnHandler _regionDrawnHandler; public override void OnFirstShown(MainForm form) { diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs index 7dcb12b..556e7f7 100644 --- a/OnTopReplica/Strings.Designer.cs +++ b/OnTopReplica/Strings.Designer.cs @@ -1168,6 +1168,42 @@ namespace OnTopReplica { } } + /// + /// Looks up a localized string similar to Restore last cloned window. + /// + internal static string MenuRestoreLast { + get { + return ResourceManager.GetString("MenuRestoreLast", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to When enabled, OnTopReplica will attempt to restore the last cloned window on start up.. + /// + internal static string MenuRestoreLastTT { + get { + return ResourceManager.GetString("MenuRestoreLastTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Settings.... + /// + internal static string MenuSettings { + get { + return ResourceManager.GetString("MenuSettings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Displays the settings panel.. + /// + internal static string MenuSettingsTT { + get { + return ResourceManager.GetString("MenuSettingsTT", resourceCulture); + } + } + /// /// Looks up a localized string similar to Switch to window. /// diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx index a25d656..27f0cea 100644 --- a/OnTopReplica/Strings.resx +++ b/OnTopReplica/Strings.resx @@ -1,30 +1,135 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Abort update process. - - - Show details about OnTopReplica. - - - Reset all OnTopReplica settings. - - - Update OnTopReplica now. - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + <html> <head> <style type="text/css"> @@ -75,419 +180,431 @@ a:hover { <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> </body> -</html> - - - OnTopReplica - - - Reset window completely? - - +</html> + + + OnTopReplica + + + Reset window completely? + + &Reset -All settings will be lost. - - - Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. - - - Reset - - - Reset settings? - - - This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). - - - Reset settings - - - Download OnTopReplica {0}? - {0} update version - - +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + Download OnTopReplica {0}? + {0} update version + + Cancel update -OnTopReplica will prompt you the next time it is started. - - +OnTopReplica will prompt you the next time it is started. + + Download -Install OnTopReplica {0}. - {0} update version - - - The new version can be downloaded and installed from the official website. - - +Install OnTopReplica {0}. + {0} update version + + + The new version can be downloaded and installed from the official website. + + Installed version: {0} -Available version: {1} +Available version: {1} {0} installed version number -{1} online available version number - - - Update available - - - &Cancel - - - Created by: Lorenz Cuno Klopfenstein. - - - Draw regions using mouse. - - - Details - - - Details on Windows Aero - - - Windows Aero is only available on Windows Vista Home Premium or higher. - - - Desktop Composition' is not enabled. - - +{1} online available version number + + + Update available + + + &Cancel + + + Created by: Lorenz Cuno Klopfenstein. + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + Desktop Composition' is not enabled. + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. -To do so, right-click on the desktop and click on Personalize. - - - Error details - - - Error: - - - It appears that the selected window has been closed or is not valid anymore. - - - Error - - +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + Desktop Composition' is not supported on your Operating System. -You must run this application on Windows Vista Home Premium or better. - - - Desktop Composition unsupported - - - No thumbnail loaded. - - - Unable to create thumbnail - - - Unable to fit window. - - - Unable to check for updates. - - - It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). - - - OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. - - - Mode - - - Always on top - - - Forces OnTopReplica to stay always on top. - - - Click through - - - OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. - - - Standard - - - Behaves like an ordinary window. You can bring other windows above OnTopReplica. - - - OnTopReplica fullscreen - - - Disable - - - Enable Group mode - - - Select multiple windows to enable. - - - Group switch mode is enabled. - - - Group switch mode: - - - Windows - Column Header of list, simply refers to available windows to be cloned - - - Homepage: www.codeplex.com/ontopreplica. - - - Do you want to enable "click forwarding"? - - +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). -To exit this mode, push ESC. - - - Click forwarding - - - Enable Click-Through mode? - - - Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. - - +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. -To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). - - +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + No, thank you. -You can enable click-through later - - - Use Click-Through - - - Click-Through mode - - - OnTopReplica has been updated. - - - In order to use the updated version of OnTopReplica you'll have to restart the application. - - - Update successful - - - OnTopReplica is up to date. - - - No update available - - - Language - - - About... - - - Hides the main window and displays the "about" box. - - - Advanced - - - Show window border - - - Toggles the display of the window border. - - - Enable Click forwarding - - - Enable "click forwarding" to the cloned window. - - - Enable Click-Through - - - OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. - - - Close - - - Closes OnTopReplica. - - - 2:1 Double - - - Fullscreen - - - 1:2 Half - - - 1:1 Fit to window - - - 1:4 Quarter - - - Glass - - - Toggles "glass mode" on and off. - - - Group Switch mode - - - OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. - - - 100% (opaque) - - - Sets OnTopReplica to be completely opaque. - - - 25% - - - Sets OnTopReplica to 25% opacity. - - - 50% - - - Sets OnTopReplica to 50% opacity. - - - 75% - - - Sets OnTopReplica to 75% opacity. - - - Opacity - - - Open - - - Displays OnTopReplica. - - - Bottom Left - - - Bottom Right - - - Center - - - Disabled - - - Position lock - - - Automatically position OnTopReplica on the current screen. - - - Top Left - - - Top Right - - - Quit fullscreen mode - - - Recall last position and size - - - Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. - - - Minimize - - - Minimizes OnTopReplica to the task bar (or the tray). - - - Select region... - - - Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. - - - Reset window - - - Resets OnTopReplica settings and its main window. - - - Resize - - - Switch to window - - - Switches to the source window and hides OnTopReplica. - - - Select window - - - - none - - - - Displays a list of window you can select as thumbnail source. - - - - whole - - - - Current region: - - - Delete - - - Done - - - Height - - - Reset - - - Save - - - Stored regions - - - Regions: - - - Width - - - Right-click here to start... - - - A lightweight, real-time, always on top thumbnail of a window of your choice. - - - OnTopReplica automatically checks for updates. No information is logged at any point. - - - Update now! - +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Glass + + + Toggles "glass mode" on and off. + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + OnTopReplica automatically checks for updates. No information is logged at any point. + + + Update now! + + + Settings... + + + Displays the settings panel. + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + \ No newline at end of file From 3ad9a6eb116d6361ca98680b2ffc12ad0f1f1d9b Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 24 Mar 2011 02:31:22 +0100 Subject: [PATCH 093/164] Working language selection box in options side panel. Added custom combo box with image support. --- OnTopReplica/CloneClickEventArgs.cs | 3 + OnTopReplica/ImageComboBox.cs | 77 +++++++++++++++++++ OnTopReplica/MainForm.Designer.cs | 11 --- OnTopReplica/MainForm_Gui.cs | 2 +- OnTopReplica/MainForm_MenuEvents.cs | 15 ---- OnTopReplica/OnTopReplica.csproj | 3 + OnTopReplica/Pair.cs | 5 ++ .../SidePanels/OptionsPanel.Designer.cs | 33 ++++---- OnTopReplica/SidePanels/OptionsPanel.cs | 53 +++++++++++++ 9 files changed, 157 insertions(+), 45 deletions(-) create mode 100644 OnTopReplica/ImageComboBox.cs diff --git a/OnTopReplica/CloneClickEventArgs.cs b/OnTopReplica/CloneClickEventArgs.cs index 95012a7..2c137fe 100644 --- a/OnTopReplica/CloneClickEventArgs.cs +++ b/OnTopReplica/CloneClickEventArgs.cs @@ -5,6 +5,9 @@ using System.Drawing; using System.Windows.Forms; namespace OnTopReplica { + /// + /// EventArgs structure for clicks on a cloned window. + /// public class CloneClickEventArgs : EventArgs { public Point ClientClickLocation { get; set; } diff --git a/OnTopReplica/ImageComboBox.cs b/OnTopReplica/ImageComboBox.cs new file mode 100644 index 0000000..c68522f --- /dev/null +++ b/OnTopReplica/ImageComboBox.cs @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Drawing; + +namespace OnTopReplica { + class ImageComboBox : ComboBox { + + public ImageComboBox() { + DrawMode = DrawMode.OwnerDrawFixed; + } + + protected override void OnDrawItem(DrawItemEventArgs ea) { + ea.DrawBackground(); + ea.DrawFocusRectangle(); + + if (ea.Index == -1) + return; + + Rectangle bounds = ea.Bounds; + var foreBrush = new SolidBrush(ea.ForeColor); + int textLeftBound = (IconList == null) ? bounds.Left : bounds.Left + IconList.ImageSize.Width; + + var drawObject = Items[ea.Index]; + if (drawObject is ImageComboBoxItem) { + var drawItem = (ImageComboBoxItem)drawObject; + + if (drawItem.ImageListIndex != -1 && IconList != null) { + //ea.Graphics.FillRectangle(Brushes.Gray, bounds.Left, bounds.Top, IconList.ImageSize.Width, IconList.ImageSize.Height); + ea.Graphics.DrawImage(IconList.Images[drawItem.ImageListIndex], bounds.Left, bounds.Top); + } + + ea.Graphics.DrawString(drawItem.Text, ea.Font, foreBrush, textLeftBound, bounds.Top); + } + else { + ea.Graphics.DrawString(drawObject.ToString(), ea.Font, foreBrush, textLeftBound, bounds.Top); + } + + base.OnDrawItem(ea); + } + + public ImageList IconList { get; set; } + + } + + class ImageComboBoxItem { + + public ImageComboBoxItem() { + Text = ""; + ImageListIndex = -1; + } + + public ImageComboBoxItem(string text) { + if (text == null) + throw new ArgumentNullException(); + + Text = text; + ImageListIndex = -1; + } + + public ImageComboBoxItem(string text, int imageListIndex) { + if (text == null) + throw new ArgumentNullException(); + + Text = text; + ImageListIndex = imageListIndex; + } + + public string Text { get; private set; } + + public int ImageListIndex { get; private set; } + + public object Tag { get; set; } + + } +} diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 57ac3f3..78cd265 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -69,7 +69,6 @@ this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); this.fullSelectWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.danskToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuFullscreenContext = new System.Windows.Forms.ContextMenuStrip(this.components); this.enableClickthroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.fullExitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -458,15 +457,6 @@ this.fullSelectWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindows; this.fullSelectWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; // - // danskToolStripMenuItem - // - this.danskToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.flag_danish; - this.danskToolStripMenuItem.Name = "danskToolStripMenuItem"; - this.danskToolStripMenuItem.Size = new System.Drawing.Size(152, 22); - this.danskToolStripMenuItem.Tag = "da-DA"; - this.danskToolStripMenuItem.Text = "Dansk"; - this.danskToolStripMenuItem.Click += new System.EventHandler(this.Menu_Language_click); - // // menuFullscreenContext // this.menuFullscreenContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { @@ -549,7 +539,6 @@ private System.Windows.Forms.ToolStripMenuItem quarterToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem fullscreenToolStripMenuItem1; private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; - private System.Windows.Forms.ToolStripMenuItem danskToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem chromeToolStripMenuItem; private System.Windows.Forms.ContextMenuStrip menuFullscreenContext; private System.Windows.Forms.ToolStripMenuItem fullSelectWindowToolStripMenuItem; diff --git a/OnTopReplica/MainForm_Gui.cs b/OnTopReplica/MainForm_Gui.cs index 996d2f9..8ce6967 100644 --- a/OnTopReplica/MainForm_Gui.cs +++ b/OnTopReplica/MainForm_Gui.cs @@ -91,7 +91,7 @@ namespace OnTopReplica { ClickThroughEnabled = false; Opacity = 1.0; - //Restore main form in platform with dependent method + //Restore main form in a platform-dependent method Program.Platform.RestoreForm(this); } diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs index aa62f50..6ef9d3b 100644 --- a/OnTopReplica/MainForm_MenuEvents.cs +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -188,21 +188,6 @@ namespace OnTopReplica { IsChromeVisible = !IsChromeVisible; } - private void Menu_Language_click(object sender, EventArgs e) { - //TODO: strip this stuff - ToolStripItem tsi = (ToolStripItem)sender; - - string langCode = tsi.Tag as string; - - MessageBox.Show("Should change to {0}", langCode); - //TODO - - /*if (Program.ForceGlobalLanguageChange(langCode)) - this.Close(); - else - MessageBox.Show("Error");*/ - } - private void Menu_Settings_click(object sender, EventArgs e) { this.SetSidePanel(new OnTopReplica.SidePanels.OptionsPanel()); } diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index b5fa411..84ff986 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -115,6 +115,9 @@ + + Component + Form diff --git a/OnTopReplica/Pair.cs b/OnTopReplica/Pair.cs index b2da01a..6d7c56e 100644 --- a/OnTopReplica/Pair.cs +++ b/OnTopReplica/Pair.cs @@ -10,6 +10,11 @@ namespace OnTopReplica { struct Pair { public T1 Item1; public T2 Item2; + + public Pair(T1 value1, T2 value2) { + Item1 = value1; + Item2 = value2; + } } } diff --git a/OnTopReplica/SidePanels/OptionsPanel.Designer.cs b/OnTopReplica/SidePanels/OptionsPanel.Designer.cs index 72f651a..d9a7f19 100644 --- a/OnTopReplica/SidePanels/OptionsPanel.Designer.cs +++ b/OnTopReplica/SidePanels/OptionsPanel.Designer.cs @@ -26,8 +26,8 @@ this.btnClose = new System.Windows.Forms.Button(); this.panelMain = new System.Windows.Forms.Panel(); this.groupLanguage = new System.Windows.Forms.GroupBox(); + this.comboLanguage = new OnTopReplica.ImageComboBox(); this.lblLanguage = new System.Windows.Forms.Label(); - this.comboLanguage = new System.Windows.Forms.ComboBox(); this.panelMain.SuspendLayout(); this.groupLanguage.SuspendLayout(); this.SuspendLayout(); @@ -59,8 +59,8 @@ // this.groupLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.groupLanguage.Controls.Add(this.lblLanguage); this.groupLanguage.Controls.Add(this.comboLanguage); + this.groupLanguage.Controls.Add(this.lblLanguage); this.groupLanguage.Location = new System.Drawing.Point(3, 3); this.groupLanguage.Name = "groupLanguage"; this.groupLanguage.Size = new System.Drawing.Size(254, 68); @@ -68,6 +68,18 @@ this.groupLanguage.TabStop = false; this.groupLanguage.Text = "Language:"; // + // comboLanguage + // + this.comboLanguage.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; + this.comboLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboLanguage.FormattingEnabled = true; + this.comboLanguage.IconList = null; + this.comboLanguage.Location = new System.Drawing.Point(9, 19); + this.comboLanguage.Name = "comboLanguage"; + this.comboLanguage.Size = new System.Drawing.Size(239, 21); + this.comboLanguage.TabIndex = 2; + this.comboLanguage.SelectedIndexChanged += new System.EventHandler(this.LanguageBox_IndexChange); + // // lblLanguage // this.lblLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) @@ -78,21 +90,6 @@ this.lblLanguage.TabIndex = 1; this.lblLanguage.Text = "Requires a restart."; // - // comboLanguage - // - this.comboLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.comboLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.comboLanguage.FormattingEnabled = true; - this.comboLanguage.Items.AddRange(new object[] { - "English", - "Dansk", - "Italiano"}); - this.comboLanguage.Location = new System.Drawing.Point(6, 19); - this.comboLanguage.Name = "comboLanguage"; - this.comboLanguage.Size = new System.Drawing.Size(242, 21); - this.comboLanguage.TabIndex = 0; - // // OptionsPanel // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -114,7 +111,7 @@ private System.Windows.Forms.Button btnClose; private System.Windows.Forms.Panel panelMain; private System.Windows.Forms.GroupBox groupLanguage; - private System.Windows.Forms.ComboBox comboLanguage; private System.Windows.Forms.Label lblLanguage; + private ImageComboBox comboLanguage; } } diff --git a/OnTopReplica/SidePanels/OptionsPanel.cs b/OnTopReplica/SidePanels/OptionsPanel.cs index 226cfd0..5e15256 100644 --- a/OnTopReplica/SidePanels/OptionsPanel.cs +++ b/OnTopReplica/SidePanels/OptionsPanel.cs @@ -5,11 +5,16 @@ using System.Drawing; using System.Data; using System.Text; using System.Windows.Forms; +using OnTopReplica.Properties; +using System.Globalization; namespace OnTopReplica.SidePanels { partial class OptionsPanel : SidePanel { + public OptionsPanel() { InitializeComponent(); + + PopulateLanguageComboBox(); } private void Close_click(object sender, EventArgs e) { @@ -21,5 +26,53 @@ namespace OnTopReplica.SidePanels { return Strings.MenuSettings; } } + + #region Language + + Pair[] _languageList = { + new Pair(new CultureInfo("en-US"), Resources.flag_usa), + new Pair(new CultureInfo("it-IT"), Resources.flag_ita), + new Pair(new CultureInfo("cs-CZ"), Resources.flag_czech), + new Pair(new CultureInfo("da-DK"), Resources.flag_danish), + new Pair(new CultureInfo("es-ES"), Resources.flag_spanish), + }; + + private void PopulateLanguageComboBox() { + comboLanguage.Items.Clear(); + + var imageList = new ImageList() { + ImageSize = new Size(16, 16), + ColorDepth = ColorDepth.Depth32Bit + }; + comboLanguage.IconList = imageList; + + int selectedIndex = -1; + foreach (var langPair in _languageList) { + var item = new ImageComboBoxItem(langPair.Item1.NativeName, imageList.Images.Count) { + Tag = langPair.Item1 + }; + imageList.Images.Add(langPair.Item2); + comboLanguage.Items.Add(item); + + if (langPair.Item1.Equals(CultureInfo.CurrentUICulture) || + (CultureInfo.CurrentUICulture.Equals(CultureInfo.InvariantCulture) && langPair.Item1.TwoLetterISOLanguageName.Equals("en"))) { + selectedIndex = comboLanguage.Items.Count - 1; + } + } + + comboLanguage.SelectedIndex = selectedIndex; + } + + private void LanguageBox_IndexChange(object sender, EventArgs e) { + var item = comboLanguage.SelectedItem as ImageComboBoxItem; + if (item == null) + return; + + Settings.Default.Language = item.Tag as CultureInfo; + } + + #endregion + } + } From 34a190dbde09336077982648a1533cc34f15568e Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sun, 27 Mar 2011 22:12:02 +0200 Subject: [PATCH 094/164] Updated HotKey management and registration. Added HotKey settings to settings side panel. String resource update for new settings panel. --- OnTopReplica/HotKeyTextBox.cs | 55 + OnTopReplica/MainForm.cs | 27 - .../BaseMessagePumpProcessor.cs | 6 +- .../MessagePumpProcessors/HotKeyManager.cs | 147 ++- .../MessagePumpProcessors/WindowKeeper.cs | 1 + OnTopReplica/Native/HotKeyMethods.cs | 52 +- OnTopReplica/OnTopReplica.csproj | 4 +- OnTopReplica/Properties/Settings.Designer.cs | 24 + OnTopReplica/Properties/Settings.settings | 6 + .../SidePanels/OptionsPanel.Designer.cs | 90 +- OnTopReplica/SidePanels/OptionsPanel.cs | 58 +- OnTopReplica/Strings.Designer.cs | 173 +-- OnTopReplica/Strings.cs.resx | 6 - OnTopReplica/Strings.da.resx | 6 - OnTopReplica/Strings.es.resx | 6 - OnTopReplica/Strings.it.resx | 38 +- OnTopReplica/Strings.resx | 1002 ++++++++--------- OnTopReplica/app.config | 6 + 18 files changed, 1010 insertions(+), 697 deletions(-) create mode 100644 OnTopReplica/HotKeyTextBox.cs diff --git a/OnTopReplica/HotKeyTextBox.cs b/OnTopReplica/HotKeyTextBox.cs new file mode 100644 index 0000000..78fd90a --- /dev/null +++ b/OnTopReplica/HotKeyTextBox.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + class HotKeyTextBox : TextBox { + + protected override void OnCreateControl() { + ReadOnly = true; + + base.OnCreateControl(); + } + + readonly Keys[] IgnoredKeys = new Keys[] { + Keys.ControlKey, + Keys.Control, + Keys.Alt, + Keys.Menu, + Keys.ShiftKey, + Keys.Shift, + Keys.LWin, + Keys.RWin + }; + + readonly Keys[] CancelKeys = new Keys[] { + Keys.Back, + Keys.Escape + }; + + protected override void OnKeyUp(KeyEventArgs e) { + if (CancelKeys.Contains(e.KeyCode)) { + Text = string.Empty; + } + else if (!IgnoredKeys.Contains(e.KeyCode)) { + var sb = new StringBuilder(); + if (e.Control) + sb.Append("[CTRL]+"); + if (e.Alt) + sb.Append("[ALT]+"); + if (e.Shift) + sb.Append("[SHIFT]+"); + sb.Append(e.KeyCode.ToString()); + + Text = sb.ToString(); + } + + e.Handled = true; + base.OnKeyUp(e); + } + + } + +} diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 75c806e..dcaeed4 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -56,13 +56,6 @@ namespace OnTopReplica { //Init message pump extensions _msgPumpManager.Initialize(this); - //Add hotkeys - var hotKeyMgr = _msgPumpManager.Get(); - hotKeyMgr.RegisterHotKey(Native.HotKeyModifiers.Control | Native.HotKeyModifiers.Shift, - Keys.O, new Native.HotKeyMethods.HotKeyHandler(HotKeyOpenHandler)); - hotKeyMgr.RegisterHotKey(Native.HotKeyModifiers.Control | Native.HotKeyModifiers.Shift, - Keys.C, new Native.HotKeyMethods.HotKeyHandler(HotKeyCloneHandler)); - //Set to Key event preview this.KeyPreview = true; } @@ -280,26 +273,6 @@ namespace OnTopReplica { } } - void HotKeyOpenHandler() { - if (IsFullscreen) - IsFullscreen = false; - - if (!Program.Platform.IsHidden(this)) { - Program.Platform.HideForm(this); - } - else { - EnsureMainFormVisible(); - } - } - - void HotKeyCloneHandler() { - var handle = Win32Helper.GetCurrentForegroundWindow(); - if (handle.Handle == this.Handle) - return; - - SetThumbnail(handle, null); - } - #endregion #region Fullscreen diff --git a/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs index b5f13d7..cfb2c5a 100644 --- a/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs +++ b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs @@ -10,7 +10,7 @@ namespace OnTopReplica.MessagePumpProcessors { #region IMessagePumpProcessor Members - public void Initialize(MainForm form) { + public virtual void Initialize(MainForm form) { Form = form; } @@ -18,10 +18,10 @@ namespace OnTopReplica.MessagePumpProcessors { #endregion - bool _isDisposed = false; - protected abstract void Shutdown(); + bool _isDisposed = false; + #region IDisposable Members public void Dispose() { diff --git a/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs index 0acbe33..f5f8244 100644 --- a/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs +++ b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Text; using System.Windows.Forms; using OnTopReplica.Native; +using OnTopReplica.Properties; namespace OnTopReplica.MessagePumpProcessors { @@ -11,40 +12,156 @@ namespace OnTopReplica.MessagePumpProcessors { /// class HotKeyManager : BaseMessagePumpProcessor { - int _lastUsedKey = 0; + public HotKeyManager() { + Enabled = true; + } - Dictionary _handlers = new Dictionary(); + delegate void HotKeyHandler(); - public void RegisterHotKey(HotKeyModifiers mod, Keys keys, HotKeyMethods.HotKeyHandler handler) { - var newKey = ++_lastUsedKey; - - if (!HotKeyMethods.RegisterHotKey(Form.Handle, newKey, (int)mod, (int)keys)) { - Console.Error.WriteLine("Failed to register {0} hot key.", newKey); - return; + /// + /// Wraps hot key handler registration data. + /// + private class HotKeyHandlerRegistration : IDisposable { + private HotKeyHandlerRegistration() { } - _handlers[newKey] = handler; + private HotKeyHandlerRegistration(IntPtr hwnd, int key, HotKeyHandler handler) { + if (hwnd == IntPtr.Zero) + throw new ArgumentException(); + if (handler == null) + throw new ArgumentNullException(); + + _hwnd = hwnd; + RegistrationKey = key; + Handler = handler; + } + + static int _lastUsedKey = 0; + + /// + /// Registers a new hotkey and returns a handle to the registration. + /// + /// Returns null on failure. + public static HotKeyHandlerRegistration Register(Form owner, int keyCode, int modifiers, HotKeyHandler handler) { + var key = ++_lastUsedKey; + + if (!HotKeyMethods.RegisterHotKey(owner.Handle, key, modifiers, keyCode)) { + Console.Error.WriteLine("Failed to create hotkey on keys {0}.", keyCode); + return null; + } + + return new HotKeyHandlerRegistration(owner.Handle, key, handler); + } + + IntPtr _hwnd; + public int RegistrationKey { get; private set; } + public HotKeyHandler Handler { get; private set; } + + public void Dispose() { + if (!HotKeyMethods.UnregisterHotKey(_hwnd, RegistrationKey)) { + Console.Error.WriteLine("Failed to unregister hotkey #{0}.", RegistrationKey); + } + } + } + + Dictionary _handlers = new Dictionary(); + + public override void Initialize(MainForm form) { + base.Initialize(form); + + RefreshHotkeys(); } public override bool Process(ref Message msg) { - if (msg.Msg == HotKeyMethods.WM_HOTKEY) { + if (Enabled && msg.Msg == HotKeyMethods.WM_HOTKEY) { int keyId = msg.WParam.ToInt32(); if (!_handlers.ContainsKey(keyId)) return false; - _handlers[keyId].Invoke(); + _handlers[keyId].Handler.Invoke(); } return false; } + public bool Enabled { get; set; } + + /// + /// Refreshes registered hotkeys from Settings. + /// + /// + /// Application settings contain hotkey registration strings that are used + /// automatically by this registration process. + /// + public void RefreshHotkeys() { + ClearHandlers(); + + RegisterHandler(Settings.Default.HotKeyCloneCurrent, HotKeyCloneHandler); + RegisterHandler(Settings.Default.HotKeyShowHide, HotKeyShowHideHandler); + } + + private void RegisterHandler(string spec, HotKeyHandler handler) { + if (string.IsNullOrEmpty(spec)) + return; //this can happen and is allowed => simply don't register + if (handler == null) + throw new ArgumentNullException(); + + int modifiers = 0, keyCode = 0; + + try { + HotKeyMethods.TranslateStringToKeyValues(spec, out modifiers, out keyCode); + } + catch (ArgumentException) { + //TODO: swallowed exception + return; + } + + var reg = HotKeyHandlerRegistration.Register(Form, keyCode, modifiers, handler); + _handlers.Add(reg.RegistrationKey, reg); + } + + private void ClearHandlers() { + foreach (var hotkey in _handlers) { + hotkey.Value.Dispose(); + } + _handlers.Clear(); + } + protected override void Shutdown() { - foreach (var key in _handlers.Keys) { - if (!HotKeyMethods.UnregisterHotKey(Form.Handle, key)) { - Console.Error.WriteLine("Failed to unregister {0} hot key.", key); - } + ClearHandlers(); + } + + #region Hotkey callbacks + + /// + /// Handles "show/hide" hotkey. Ensures the form is in restored state and switches + /// between shown and hidden states. + /// + void HotKeyShowHideHandler() { + if (Form.IsFullscreen) + Form.IsFullscreen = false; + + if (!Program.Platform.IsHidden(Form)) { + Program.Platform.HideForm(Form); + } + else { + Form.EnsureMainFormVisible(); } } + + /// + /// Handles the "clone current" hotkey. + /// + void HotKeyCloneHandler() { + var handle = Win32Helper.GetCurrentForegroundWindow(); + if (handle.Handle == Form.Handle) + return; + + Form.SetThumbnail(handle, null); + } + + #endregion + } } diff --git a/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs index 4877931..4a0c548 100644 --- a/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs +++ b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs @@ -15,6 +15,7 @@ namespace OnTopReplica.MessagePumpProcessors { if (Form.CurrentThumbnailWindowHandle != null && msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { int hookCode = msg.WParam.ToInt32(); + if (hookCode == HookMethods.HSHELL_WINDOWDESTROYED) { //Check whether the destroyed window is the one we were cloning IntPtr destroyedHandle = msg.LParam; diff --git a/OnTopReplica/Native/HotKeyMethods.cs b/OnTopReplica/Native/HotKeyMethods.cs index 8aea7f1..d40fee4 100644 --- a/OnTopReplica/Native/HotKeyMethods.cs +++ b/OnTopReplica/Native/HotKeyMethods.cs @@ -14,10 +14,11 @@ namespace OnTopReplica.Native { Windows = 0x8 } + /// + /// Static native methods for HotKey management. + /// static class HotKeyMethods { - public delegate void HotKeyHandler(); - public const int WM_HOTKEY = 0x312; [DllImport("user32.dll")] @@ -26,7 +27,52 @@ namespace OnTopReplica.Native { [DllImport("user32.dll")] public static extern bool UnregisterHotKey(IntPtr hWnd, int id); - public delegate void FormDelegate(HotKeyModifiers mod, Keys key, HotKeyHandler handler); + /// + /// Translates a key combination specification into key code values. + /// + /// Key combination specification (see remarks). + /// Modifier values. + /// Key values. + /// + /// Specification can contain one single key value (from the enumeration System.Windows.Forms.Keys) + /// preceded by modifier strings (each one separated by a single '+'). + /// For instance: + /// [CTRL]+[ALT]+A + /// or + /// [ALT]+[SHIFT]+O + /// + public static void TranslateStringToKeyValues(string hotkeySpec, out int modifiers, out int keys) { + if (string.IsNullOrEmpty(hotkeySpec)) + throw new ArgumentNullException(); + + modifiers = 0; + keys = 0; + + if (ExtractModifier(ref hotkeySpec, "[CTRL]+")) + modifiers |= (int)HotKeyModifiers.Control; + if (ExtractModifier(ref hotkeySpec, "[ALT]+")) + modifiers |= (int)HotKeyModifiers.Alt; + if (ExtractModifier(ref hotkeySpec, "[SHIFT]+")) + modifiers |= (int)HotKeyModifiers.Shift; + + //Attempt to translate last part (should be single key) + try { + var keyValue = Enum.Parse(typeof(Keys), hotkeySpec, true); + keys = (int)keyValue; + } + catch (ArgumentException) { + throw new ArgumentException("Couldn't parse key value '" + hotkeySpec + "'."); + } + } + + private static bool ExtractModifier(ref string spec, string modifier) { + int modIndex = spec.IndexOf(modifier); + if (modIndex == -1) + return false; + + spec = spec.Remove(modIndex, modifier.Length); + return true; + } } } diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 84ff986..525a40c 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -115,6 +115,9 @@ + + Component + Component @@ -206,7 +209,6 @@ - diff --git a/OnTopReplica/Properties/Settings.Designer.cs b/OnTopReplica/Properties/Settings.Designer.cs index c885ed4..fd9ee57 100644 --- a/OnTopReplica/Properties/Settings.Designer.cs +++ b/OnTopReplica/Properties/Settings.Designer.cs @@ -201,5 +201,29 @@ namespace OnTopReplica.Properties { this["RestoreLastWindowHwnd"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("[CTRL]+[SHIFT]+C")] + public string HotKeyCloneCurrent { + get { + return ((string)(this["HotKeyCloneCurrent"])); + } + set { + this["HotKeyCloneCurrent"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("[CTRL]+[SHIFT]+O")] + public string HotKeyShowHide { + get { + return ((string)(this["HotKeyShowHide"])); + } + set { + this["HotKeyShowHide"] = value; + } + } } } diff --git a/OnTopReplica/Properties/Settings.settings b/OnTopReplica/Properties/Settings.settings index 5d8047a..fb6e917 100644 --- a/OnTopReplica/Properties/Settings.settings +++ b/OnTopReplica/Properties/Settings.settings @@ -47,5 +47,11 @@ 0 + + [CTRL]+[SHIFT]+C + + + [CTRL]+[SHIFT]+O + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/OptionsPanel.Designer.cs b/OnTopReplica/SidePanels/OptionsPanel.Designer.cs index d9a7f19..5b6815c 100644 --- a/OnTopReplica/SidePanels/OptionsPanel.Designer.cs +++ b/OnTopReplica/SidePanels/OptionsPanel.Designer.cs @@ -25,10 +25,17 @@ private void InitializeComponent() { this.btnClose = new System.Windows.Forms.Button(); this.panelMain = new System.Windows.Forms.Panel(); + this.groupHotkeys = new System.Windows.Forms.GroupBox(); + this.label1 = new System.Windows.Forms.Label(); + this.lblHotKeyShowHide = new System.Windows.Forms.Label(); + this.txtHotKeyShowHide = new OnTopReplica.HotKeyTextBox(); + this.lblHotKeyClone = new System.Windows.Forms.Label(); + this.txtHotKeyClone = new OnTopReplica.HotKeyTextBox(); this.groupLanguage = new System.Windows.Forms.GroupBox(); this.comboLanguage = new OnTopReplica.ImageComboBox(); this.lblLanguage = new System.Windows.Forms.Label(); this.panelMain.SuspendLayout(); + this.groupHotkeys.SuspendLayout(); this.groupLanguage.SuspendLayout(); this.SuspendLayout(); // @@ -39,7 +46,7 @@ this.btnClose.Name = "btnClose"; this.btnClose.Size = new System.Drawing.Size(75, 23); this.btnClose.TabIndex = 0; - this.btnClose.Text = "Close"; + this.btnClose.Text = Strings.MenuClose; this.btnClose.UseVisualStyleBackColor = true; this.btnClose.Click += new System.EventHandler(this.Close_click); // @@ -49,12 +56,77 @@ | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.panelMain.AutoScroll = true; + this.panelMain.Controls.Add(this.groupHotkeys); this.panelMain.Controls.Add(this.groupLanguage); this.panelMain.Location = new System.Drawing.Point(0, 0); this.panelMain.Name = "panelMain"; this.panelMain.Size = new System.Drawing.Size(260, 211); this.panelMain.TabIndex = 1; // + // groupHotkeys + // + this.groupHotkeys.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupHotkeys.Controls.Add(this.label1); + this.groupHotkeys.Controls.Add(this.lblHotKeyShowHide); + this.groupHotkeys.Controls.Add(this.txtHotKeyShowHide); + this.groupHotkeys.Controls.Add(this.lblHotKeyClone); + this.groupHotkeys.Controls.Add(this.txtHotKeyClone); + this.groupHotkeys.Location = new System.Drawing.Point(3, 77); + this.groupHotkeys.Name = "groupHotkeys"; + this.groupHotkeys.Size = new System.Drawing.Size(254, 113); + this.groupHotkeys.TabIndex = 1; + this.groupHotkeys.TabStop = false; + this.groupHotkeys.Text = Strings.SettingsHotKeyTitle; + // + // label1 + // + this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.label1.Location = new System.Drawing.Point(6, 68); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(158, 43); + this.label1.TabIndex = 4; + this.label1.Text = Strings.SettingsHotKeyDescription; + // + // lblHotKeyShowHide + // + this.lblHotKeyShowHide.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.lblHotKeyShowHide.Location = new System.Drawing.Point(170, 22); + this.lblHotKeyShowHide.Name = "lblHotKeyShowHide"; + this.lblHotKeyShowHide.Size = new System.Drawing.Size(78, 17); + this.lblHotKeyShowHide.TabIndex = 3; + this.lblHotKeyShowHide.Text = Strings.SettingsHotKeyShowHide; + // + // txtHotKeyShowHide + // + this.txtHotKeyShowHide.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtHotKeyShowHide.Location = new System.Drawing.Point(6, 19); + this.txtHotKeyShowHide.Name = "txtHotKeyShowHide"; + this.txtHotKeyShowHide.ReadOnly = true; + this.txtHotKeyShowHide.Size = new System.Drawing.Size(158, 20); + this.txtHotKeyShowHide.TabIndex = 2; + // + // lblHotKeyClone + // + this.lblHotKeyClone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.lblHotKeyClone.Location = new System.Drawing.Point(170, 48); + this.lblHotKeyClone.Name = "lblHotKeyClone"; + this.lblHotKeyClone.Size = new System.Drawing.Size(78, 29); + this.lblHotKeyClone.TabIndex = 1; + this.lblHotKeyClone.Text = Strings.SettingsHotKeyClone; + // + // txtHotKeyClone + // + this.txtHotKeyClone.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtHotKeyClone.Location = new System.Drawing.Point(6, 45); + this.txtHotKeyClone.Name = "txtHotKeyClone"; + this.txtHotKeyClone.ReadOnly = true; + this.txtHotKeyClone.Size = new System.Drawing.Size(158, 20); + this.txtHotKeyClone.TabIndex = 0; + // // groupLanguage // this.groupLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) @@ -66,10 +138,12 @@ this.groupLanguage.Size = new System.Drawing.Size(254, 68); this.groupLanguage.TabIndex = 0; this.groupLanguage.TabStop = false; - this.groupLanguage.Text = "Language:"; + this.groupLanguage.Text = Strings.SettingsLanguageTitle; // // comboLanguage // + this.comboLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.comboLanguage.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; this.comboLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboLanguage.FormattingEnabled = true; @@ -86,9 +160,9 @@ | System.Windows.Forms.AnchorStyles.Right))); this.lblLanguage.Location = new System.Drawing.Point(6, 43); this.lblLanguage.Name = "lblLanguage"; - this.lblLanguage.Size = new System.Drawing.Size(242, 23); + this.lblLanguage.Size = new System.Drawing.Size(242, 22); this.lblLanguage.TabIndex = 1; - this.lblLanguage.Text = "Requires a restart."; + this.lblLanguage.Text = Strings.SettingsRestartRequired; // // OptionsPanel // @@ -101,6 +175,8 @@ this.Name = "OptionsPanel"; this.Size = new System.Drawing.Size(260, 240); this.panelMain.ResumeLayout(false); + this.groupHotkeys.ResumeLayout(false); + this.groupHotkeys.PerformLayout(); this.groupLanguage.ResumeLayout(false); this.ResumeLayout(false); @@ -113,5 +189,11 @@ private System.Windows.Forms.GroupBox groupLanguage; private System.Windows.Forms.Label lblLanguage; private ImageComboBox comboLanguage; + private System.Windows.Forms.GroupBox groupHotkeys; + private HotKeyTextBox txtHotKeyClone; + private System.Windows.Forms.Label lblHotKeyShowHide; + private HotKeyTextBox txtHotKeyShowHide; + private System.Windows.Forms.Label lblHotKeyClone; + private System.Windows.Forms.Label label1; } } diff --git a/OnTopReplica/SidePanels/OptionsPanel.cs b/OnTopReplica/SidePanels/OptionsPanel.cs index 5e15256..663b6a0 100644 --- a/OnTopReplica/SidePanels/OptionsPanel.cs +++ b/OnTopReplica/SidePanels/OptionsPanel.cs @@ -13,8 +13,17 @@ namespace OnTopReplica.SidePanels { public OptionsPanel() { InitializeComponent(); + } + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); PopulateLanguageComboBox(); + + //Stop hotkey handling and load current shortcuts + form.MessagePumpManager.Get().Enabled = false; + txtHotKeyShowHide.Text = Settings.Default.HotKeyShowHide; + txtHotKeyClone.Text = Settings.Default.HotKeyCloneCurrent; } private void Close_click(object sender, EventArgs e) { @@ -23,18 +32,40 @@ namespace OnTopReplica.SidePanels { public override string Title { get { - return Strings.MenuSettings; + return Strings.SettingsTitle; } } + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + //Update hotkey settings and update processor + Settings.Default.HotKeyShowHide = txtHotKeyShowHide.Text; + Settings.Default.HotKeyCloneCurrent = txtHotKeyClone.Text; + var manager = form.MessagePumpManager.Get(); + manager.RefreshHotkeys(); + manager.Enabled = true; + } + #region Language - Pair[] _languageList = { - new Pair(new CultureInfo("en-US"), Resources.flag_usa), - new Pair(new CultureInfo("it-IT"), Resources.flag_ita), - new Pair(new CultureInfo("cs-CZ"), Resources.flag_czech), - new Pair(new CultureInfo("da-DK"), Resources.flag_danish), - new Pair(new CultureInfo("es-ES"), Resources.flag_spanish), + class CultureWrapper { + public CultureWrapper(string name, CultureInfo culture, Image img) { + Culture = culture; + Image = img; + Name = name; + } + public CultureInfo Culture { get; set; } + public Image Image { get; set; } + public string Name { get; set; } + } + + CultureWrapper[] _languageList = { + new CultureWrapper("English", new CultureInfo("en-US"), Resources.flag_usa), + new CultureWrapper("Italiano", new CultureInfo("it-IT"), Resources.flag_ita), + new CultureWrapper("Čeština", new CultureInfo("cs-CZ"), Resources.flag_czech), + new CultureWrapper("Dansk", new CultureInfo("da-DK"), Resources.flag_danish), + new CultureWrapper("Español", new CultureInfo("es-ES"), Resources.flag_spanish), }; private void PopulateLanguageComboBox() { @@ -48,18 +79,21 @@ namespace OnTopReplica.SidePanels { int selectedIndex = -1; foreach (var langPair in _languageList) { - var item = new ImageComboBoxItem(langPair.Item1.NativeName, imageList.Images.Count) { - Tag = langPair.Item1 + var item = new ImageComboBoxItem(langPair.Name, imageList.Images.Count) { + Tag = langPair.Culture }; - imageList.Images.Add(langPair.Item2); + imageList.Images.Add(langPair.Image); comboLanguage.Items.Add(item); - if (langPair.Item1.Equals(CultureInfo.CurrentUICulture) || - (CultureInfo.CurrentUICulture.Equals(CultureInfo.InvariantCulture) && langPair.Item1.TwoLetterISOLanguageName.Equals("en"))) { + if (langPair.Culture.Equals(CultureInfo.CurrentUICulture)) { selectedIndex = comboLanguage.Items.Count - 1; } } + //Handle case when there is not explicitly set culture (default to first one, i.e. english) + if (CultureInfo.CurrentUICulture.Equals(CultureInfo.InvariantCulture)) + selectedIndex = 0; + comboLanguage.SelectedIndex = selectedIndex; } diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs index 556e7f7..3d38e14 100644 --- a/OnTopReplica/Strings.Designer.cs +++ b/OnTopReplica/Strings.Designer.cs @@ -97,40 +97,40 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to <html> - /// <head> - /// <style type="text/css"> - ///body { - /// font-family: Segoe UI, Arial, sans-serif; - /// font-size: 0.8em; - /// margin: 0; - ///padding: 0.75em; - ///} - ///h1 { - /// font-size: 1.4em; - /// font-weight: bold; - /// - /// margin: 1em 0 0.4em 0; - /// padding: 0; - ///} - ///p { - /// margin: 0.5em 0 0.5em 1em; - /// padding: 0; - ///} - ///a { - /// font-weight: bold; - /// color: blue; - ///} - ///a:hover { - /// color: red; - ///} - /// </style> - /// </head> - /// - /// <body> - /// - /// <h1>License</h1> - /// + /// Looks up a localized string similar to <html> + /// <head> + /// <style type="text/css"> + ///body { + /// font-family: Segoe UI, Arial, sans-serif; + /// font-size: 0.8em; + /// margin: 0; + ///padding: 0.75em; + ///} + ///h1 { + /// font-size: 1.4em; + /// font-weight: bold; + /// + /// margin: 1em 0 0.4em 0; + /// padding: 0; + ///} + ///p { + /// margin: 0.5em 0 0.5em 1em; + /// padding: 0; + ///} + ///a { + /// font-weight: bold; + /// color: blue; + ///} + ///a:hover { + /// color: red; + ///} + /// </style> + /// </head> + /// + /// <body> + /// + /// <h1>License</h1> + /// /// <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal [rest of string was truncated]";. /// internal static string AboutDetails { @@ -158,7 +158,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to &Reset + /// Looks up a localized string similar to &Reset ///All settings will be lost.. /// internal static string AskResetButtonOk { @@ -222,7 +222,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Cancel update + /// Looks up a localized string similar to Cancel update ///OnTopReplica will prompt you the next time it is started.. /// internal static string AskUpdateButtonCancel { @@ -232,7 +232,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Download + /// Looks up a localized string similar to Download ///Install OnTopReplica {0}.. /// internal static string AskUpdateButtonOk { @@ -251,7 +251,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Installed version: {0} + /// Looks up a localized string similar to Installed version: {0} ///Available version: {1}. /// internal static string AskUpdateExpanded { @@ -333,8 +333,8 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. - /// + /// Looks up a localized string similar to You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + /// ///To do so, right-click on the desktop and click on Personalize.. /// internal static string ErrorDwmOffContent { @@ -380,7 +380,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Desktop Composition' is not supported on your Operating System. + /// Looks up a localized string similar to Desktop Composition' is not supported on your Operating System. ///You must run this application on Windows Vista Home Premium or better.. /// internal static string ErrorNoDwm { @@ -597,8 +597,8 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). - /// + /// Looks up a localized string similar to If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + /// ///To exit this mode, push ESC.. /// internal static string InfoClickForwardingContent { @@ -635,8 +635,8 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. - /// + /// Looks up a localized string similar to In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + /// ///To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon).. /// internal static string InfoClickThroughInformation { @@ -646,7 +646,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to No, thank you. + /// Looks up a localized string similar to No, thank you. ///You can enable click-through later. /// internal static string InfoClickThroughNo { @@ -871,24 +871,6 @@ namespace OnTopReplica { } } - /// - /// Looks up a localized string similar to Glass. - /// - internal static string MenuGlass { - get { - return ResourceManager.GetString("MenuGlass", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Toggles "glass mode" on and off.. - /// - internal static string MenuGlassTT { - get { - return ResourceManager.GetString("MenuGlassTT", resourceCulture); - } - } - /// /// Looks up a localized string similar to Group Switch mode. /// @@ -1348,6 +1330,69 @@ namespace OnTopReplica { } } + /// + /// Looks up a localized string similar to Clone current window. + /// + internal static string SettingsHotKeyClone { + get { + return ResourceManager.GetString("SettingsHotKeyClone", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to These system-wide shortcuts can also be used when OnTopReplica is not in focus.. + /// + internal static string SettingsHotKeyDescription { + get { + return ResourceManager.GetString("SettingsHotKeyDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show/Hide. + /// + internal static string SettingsHotKeyShowHide { + get { + return ResourceManager.GetString("SettingsHotKeyShowHide", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hot keys:. + /// + internal static string SettingsHotKeyTitle { + get { + return ResourceManager.GetString("SettingsHotKeyTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Language:. + /// + internal static string SettingsLanguageTitle { + get { + return ResourceManager.GetString("SettingsLanguageTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Requires a restart.. + /// + internal static string SettingsRestartRequired { + get { + return ResourceManager.GetString("SettingsRestartRequired", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Settings. + /// + internal static string SettingsTitle { + get { + return ResourceManager.GetString("SettingsTitle", resourceCulture); + } + } + /// /// Looks up a localized string similar to A lightweight, real-time, always on top thumbnail of a window of your choice.. /// diff --git a/OnTopReplica/Strings.cs.resx b/OnTopReplica/Strings.cs.resx index 0d381ff..880ef72 100644 --- a/OnTopReplica/Strings.cs.resx +++ b/OnTopReplica/Strings.cs.resx @@ -309,12 +309,6 @@ Režim "Proklikávání" je možné zvolit později v menu 1:4 Čtvrtinová - - Glass efekt - - - Přepíná "glass efekt" okna. - 100% (neprůhledné) diff --git a/OnTopReplica/Strings.da.resx b/OnTopReplica/Strings.da.resx index 41d3c80..ebccde9 100644 --- a/OnTopReplica/Strings.da.resx +++ b/OnTopReplica/Strings.da.resx @@ -304,12 +304,6 @@ Du kan aktivere gennem klik senere. 1:4 kvart - - Glas - - - Vælger "glas tilstand" til/fra - 100% (uigennemsigtig) diff --git a/OnTopReplica/Strings.es.resx b/OnTopReplica/Strings.es.resx index a04684e..d07a8ca 100644 --- a/OnTopReplica/Strings.es.resx +++ b/OnTopReplica/Strings.es.resx @@ -334,12 +334,6 @@ Se podrá activar Click a través más tarde 1:4 Un cuarto - - Efecto vidrio - - - Activa o desactiva el efecto vidrio. - Modo en grupo diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx index 0eee491..b5c0e48 100644 --- a/OnTopReplica/Strings.it.resx +++ b/OnTopReplica/Strings.it.resx @@ -334,11 +334,11 @@ Puoi abilitare il Click-Through in futuro 1:4 Quarto - - Effetto vetro + + Queste scorciatoie possono essere usate quando OnTopReplica non è attivo. - - Abilita o disabilita l'effetto vetro. + + Clona finestra corrente Modalità Gruppo di finestre @@ -487,4 +487,34 @@ Puoi abilitare il Click-Through in futuro Aggiorna! + + Nascondi + + + Scorciatoie: + + + Lingua: + + + Richiede un riavvio. + + + Impostazioni + + + Ripristina ultima finestra + + + Se abilitato, all'avvio OnTopReplica tenterà di ripristinare l'ultima finestra precedentemente clonata. + + + Impostazioni... + + + Mostra il pannello delle impostazioni. + + + Centrato + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx index 27f0cea..f4022ab 100644 --- a/OnTopReplica/Strings.resx +++ b/OnTopReplica/Strings.resx @@ -1,135 +1,30 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Abort update process. - - - Show details about OnTopReplica. - - - Reset all OnTopReplica settings. - - - Update OnTopReplica now. - - + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + <html> <head> <style type="text/css"> @@ -180,431 +75,446 @@ a:hover { <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> </body> -</html> - - - OnTopReplica - - - Reset window completely? - - +</html> + + + OnTopReplica + + + Reset window completely? + + &Reset -All settings will be lost. - - - Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. - - - Reset - - - Reset settings? - - - This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). - - - Reset settings - - - Download OnTopReplica {0}? - {0} update version - - +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + Download OnTopReplica {0}? + {0} update version + + Cancel update -OnTopReplica will prompt you the next time it is started. - - +OnTopReplica will prompt you the next time it is started. + + Download -Install OnTopReplica {0}. - {0} update version - - - The new version can be downloaded and installed from the official website. - - +Install OnTopReplica {0}. + {0} update version + + + The new version can be downloaded and installed from the official website. + + Installed version: {0} -Available version: {1} +Available version: {1} {0} installed version number -{1} online available version number - - - Update available - - - &Cancel - - - Created by: Lorenz Cuno Klopfenstein. - - - Draw regions using mouse. - - - Details - - - Details on Windows Aero - - - Windows Aero is only available on Windows Vista Home Premium or higher. - - - Desktop Composition' is not enabled. - - +{1} online available version number + + + Update available + + + &Cancel + + + Created by: Lorenz Cuno Klopfenstein. + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + Desktop Composition' is not enabled. + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. -To do so, right-click on the desktop and click on Personalize. - - - Error details - - - Error: - - - It appears that the selected window has been closed or is not valid anymore. - - - Error - - +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + Desktop Composition' is not supported on your Operating System. -You must run this application on Windows Vista Home Premium or better. - - - Desktop Composition unsupported - - - No thumbnail loaded. - - - Unable to create thumbnail - - - Unable to fit window. - - - Unable to check for updates. - - - It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). - - - OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. - - - Mode - - - Always on top - - - Forces OnTopReplica to stay always on top. - - - Click through - - - OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. - - - Standard - - - Behaves like an ordinary window. You can bring other windows above OnTopReplica. - - - OnTopReplica fullscreen - - - Disable - - - Enable Group mode - - - Select multiple windows to enable. - - - Group switch mode is enabled. - - - Group switch mode: - - - Windows - Column Header of list, simply refers to available windows to be cloned - - - Homepage: www.codeplex.com/ontopreplica. - - - Do you want to enable "click forwarding"? - - +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). -To exit this mode, push ESC. - - - Click forwarding - - - Enable Click-Through mode? - - - Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. - - +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. -To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). - - +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + No, thank you. -You can enable click-through later - - - Use Click-Through - - - Click-Through mode - - - OnTopReplica has been updated. - - - In order to use the updated version of OnTopReplica you'll have to restart the application. - - - Update successful - - - OnTopReplica is up to date. - - - No update available - - - Language - - - About... - - - Hides the main window and displays the "about" box. - - - Advanced - - - Show window border - - - Toggles the display of the window border. - - - Enable Click forwarding - - - Enable "click forwarding" to the cloned window. - - - Enable Click-Through - - - OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. - - - Close - - - Closes OnTopReplica. - - - 2:1 Double - - - Fullscreen - - - 1:2 Half - - - 1:1 Fit to window - - - 1:4 Quarter - - - Glass - - - Toggles "glass mode" on and off. - - - Group Switch mode - - - OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. - - - 100% (opaque) - - - Sets OnTopReplica to be completely opaque. - - - 25% - - - Sets OnTopReplica to 25% opacity. - - - 50% - - - Sets OnTopReplica to 50% opacity. - - - 75% - - - Sets OnTopReplica to 75% opacity. - - - Opacity - - - Open - - - Displays OnTopReplica. - - - Bottom Left - - - Bottom Right - - - Center - - - Disabled - - - Position lock - - - Automatically position OnTopReplica on the current screen. - - - Top Left - - - Top Right - - - Quit fullscreen mode - - - Recall last position and size - - - Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. - - - Minimize - - - Minimizes OnTopReplica to the task bar (or the tray). - - - Select region... - - - Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. - - - Reset window - - - Resets OnTopReplica settings and its main window. - - - Resize - - - Switch to window - - - Switches to the source window and hides OnTopReplica. - - - Select window - - - - none - - - - Displays a list of window you can select as thumbnail source. - - - - whole - - - - Current region: - - - Delete - - - Done - - - Height - - - Reset - - - Save - - - Stored regions - - - Regions: - - - Width - - - Right-click here to start... - - - A lightweight, real-time, always on top thumbnail of a window of your choice. - - - OnTopReplica automatically checks for updates. No information is logged at any point. - - - Update now! - - - Settings... - - - Displays the settings panel. - - - Restore last cloned window - - - When enabled, OnTopReplica will attempt to restore the last cloned window on start up. - +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + OnTopReplica automatically checks for updates. No information is logged at any point. + + + Update now! + + + Settings... + + + Displays the settings panel. + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + \ No newline at end of file diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config index 9f59095..aeb73b3 100644 --- a/OnTopReplica/app.config +++ b/OnTopReplica/app.config @@ -49,6 +49,12 @@ 0 + + [CTRL]+[SHIFT]+C + + + [CTRL]+[SHIFT]+O + From 726cfcb755354dbb77e69cf021cb5fd8678bbb65 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sun, 27 Mar 2011 22:12:31 +0200 Subject: [PATCH 095/164] Small style changes. --- OnTopReplica/EnumerableExtensions.cs | 12 ++++++++++++ OnTopReplica/EnumerationExtensions.cs | 22 ---------------------- OnTopReplica/FocusedTextBox.cs | 4 ++-- 3 files changed, 14 insertions(+), 24 deletions(-) delete mode 100644 OnTopReplica/EnumerationExtensions.cs diff --git a/OnTopReplica/EnumerableExtensions.cs b/OnTopReplica/EnumerableExtensions.cs index dbd7c6c..71945c6 100644 --- a/OnTopReplica/EnumerableExtensions.cs +++ b/OnTopReplica/EnumerableExtensions.cs @@ -5,6 +5,7 @@ using System.Text; namespace OnTopReplica { /// /// Extension methods for IEnumerable. + /// Poor man's LINQ. /// static class EnumerableExtensions { @@ -23,5 +24,16 @@ namespace OnTopReplica { } } + /// + /// Checks whether an enumeration contains a value. + /// + public static bool Contains(this IEnumerable collection, T value) { + foreach (var v in collection) + if (v.Equals(value)) + return true; + + return false; + } + } } diff --git a/OnTopReplica/EnumerationExtensions.cs b/OnTopReplica/EnumerationExtensions.cs deleted file mode 100644 index a7cc169..0000000 --- a/OnTopReplica/EnumerationExtensions.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OnTopReplica { - - /// - /// Poor man's LINQ. - /// - static class EnumerationExtensions { - - public static bool Contains(IEnumerable collection, T value){ - foreach (var v in collection) - if (v.Equals(value)) - return true; - - return false; - } - - } - -} diff --git a/OnTopReplica/FocusedTextBox.cs b/OnTopReplica/FocusedTextBox.cs index ac34c2d..b3f46b2 100644 --- a/OnTopReplica/FocusedTextBox.cs +++ b/OnTopReplica/FocusedTextBox.cs @@ -36,12 +36,12 @@ namespace OnTopReplica { } //List of characters to ignore on KeyPress events (because they generate bell rings) - char[] _ignoreChars = new char[] { + readonly char[] IgnoreChars = new char[] { (char)27, (char)13 }; protected override void OnKeyPress(KeyPressEventArgs e) { - if (EnumerationExtensions.Contains(_ignoreChars, e.KeyChar)) { + if (IgnoreChars.Contains(e.KeyChar)) { e.Handled = true; } From 4d842bfe6d57bb7efea0949b6e1bd01352ead517 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sun, 27 Mar 2011 22:19:57 +0200 Subject: [PATCH 096/164] Fixed start up sidepanel position. --- OnTopReplica/MainForm_ChildForms.cs | 16 ++++++++++++---- OnTopReplica/SidePanelContainer.Designer.cs | 1 + 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/OnTopReplica/MainForm_ChildForms.cs b/OnTopReplica/MainForm_ChildForms.cs index 24e9c90..b9cdbac 100644 --- a/OnTopReplica/MainForm_ChildForms.cs +++ b/OnTopReplica/MainForm_ChildForms.cs @@ -22,8 +22,8 @@ namespace OnTopReplica { _sidePanelContainer = new SidePanelContainer(this); _sidePanelContainer.SetSidePanel(panel); + _sidePanelContainer.Location = ComputeSidePanelLocation(_sidePanelContainer); _sidePanelContainer.Show(this); - AdjustSidePanelLocation(); } /// @@ -62,13 +62,21 @@ namespace OnTopReplica { if (!IsSidePanelOpen) return; + _sidePanelContainer.Location = ComputeSidePanelLocation(_sidePanelContainer); + } + + /// + /// Computes the target location of a side panel form that ensures it is visible on the current + /// screen that contains the main form. + /// + private Point ComputeSidePanelLocation(Form sidePanel) { //Check if moving the panel on the form's right would put it off-screen var screen = Screen.FromControl(this); - if (Location.X + Width + _sidePanelContainer.Width > screen.WorkingArea.Right) { - _sidePanelContainer.Location = new Point(Location.X - _sidePanelContainer.Width, Location.Y); + if (Location.X + Width + sidePanel.Width > screen.WorkingArea.Right) { + return new Point(Location.X - sidePanel.Width, Location.Y); } else { - _sidePanelContainer.Location = new Point(Location.X + Width, Location.Y); + return new Point(Location.X + Width, Location.Y); } } diff --git a/OnTopReplica/SidePanelContainer.Designer.cs b/OnTopReplica/SidePanelContainer.Designer.cs index 5823542..9181b7c 100644 --- a/OnTopReplica/SidePanelContainer.Designer.cs +++ b/OnTopReplica/SidePanelContainer.Designer.cs @@ -35,6 +35,7 @@ this.Name = "SidePanelContainer"; this.Padding = new System.Windows.Forms.Padding(6); this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; this.Text = "Side Panel container"; this.TopMost = true; this.ResumeLayout(false); From 69ce36fb754b0cffe870731512146062727e9514 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Mon, 28 Mar 2011 23:23:30 +0200 Subject: [PATCH 097/164] Strings update. Code cleanup. --- OnTopReplica/CREDITS.txt | 12 + OnTopReplica/LICENSE.txt | 2 + OnTopReplica/Pair.cs | 20 - OnTopReplica/Strings.Designer.cs | 190 +++--- OnTopReplica/Strings.cs.resx | 13 +- OnTopReplica/Strings.da.resx | 13 +- OnTopReplica/Strings.de.resx | 3 + OnTopReplica/Strings.es.resx | 11 +- OnTopReplica/Strings.it.resx | 1041 +++++++++++++++++------------- OnTopReplica/Strings.resx | 90 +-- 10 files changed, 757 insertions(+), 638 deletions(-) create mode 100644 OnTopReplica/CREDITS.txt create mode 100644 OnTopReplica/LICENSE.txt delete mode 100644 OnTopReplica/Pair.cs diff --git a/OnTopReplica/CREDITS.txt b/OnTopReplica/CREDITS.txt new file mode 100644 index 0000000..a870696 --- /dev/null +++ b/OnTopReplica/CREDITS.txt @@ -0,0 +1,12 @@ +OnTopReplica credits +-------------------- + +This application was inspired by Switcher (http://insentient.net) and other DWM based application. + +All Aero controls are part of the open-source WindowsFormsAero (http://windowsformsaero.codeplex.com) library for .NET. + +Some DWM example code has ben taken from user Ookii (http://www.ookii.org) on Channel 9 MSDN. + +The NativeToolstripRenderer class has been taken from asztal.net (http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet). + +Some of the icons used by OnTopReplica have been taken from VistaICO.com and the Xiao icon set. diff --git a/OnTopReplica/LICENSE.txt b/OnTopReplica/LICENSE.txt new file mode 100644 index 0000000..7789d65 --- /dev/null +++ b/OnTopReplica/LICENSE.txt @@ -0,0 +1,2 @@ +Microsoft Reciprocal License (Ms-RL) +http://opensource.org/licenses/ms-rl.html diff --git a/OnTopReplica/Pair.cs b/OnTopReplica/Pair.cs deleted file mode 100644 index 6d7c56e..0000000 --- a/OnTopReplica/Pair.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OnTopReplica { - - /// - /// Simple tuple with two values. - /// - struct Pair { - public T1 Item1; - public T2 Item2; - - public Pair(T1 value1, T2 value2) { - Item1 = value1; - Item2 = value2; - } - } - -} diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs index 3d38e14..8a36612 100644 --- a/OnTopReplica/Strings.Designer.cs +++ b/OnTopReplica/Strings.Designer.cs @@ -60,6 +60,24 @@ namespace OnTopReplica { } } + /// + /// Looks up a localized string similar to Created by: %.. + /// + internal static string AboutAuthor { + get { + return ResourceManager.GetString("AboutAuthor", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Lorenz Cuno Klopfenstein. + /// + internal static string AboutAuthorContent { + get { + return ResourceManager.GetString("AboutAuthorContent", resourceCulture); + } + } + /// /// Looks up a localized string similar to Abort update process.. /// @@ -97,45 +115,83 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to <html> - /// <head> - /// <style type="text/css"> - ///body { - /// font-family: Segoe UI, Arial, sans-serif; - /// font-size: 0.8em; - /// margin: 0; - ///padding: 0.75em; - ///} - ///h1 { - /// font-size: 1.4em; - /// font-weight: bold; - /// - /// margin: 1em 0 0.4em 0; - /// padding: 0; - ///} - ///p { - /// margin: 0.5em 0 0.5em 1em; - /// padding: 0; - ///} - ///a { - /// font-weight: bold; - /// color: blue; - ///} - ///a:hover { - /// color: red; - ///} - /// </style> - /// </head> - /// - /// <body> - /// - /// <h1>License</h1> - /// - /// <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal [rest of string was truncated]";. + /// Looks up a localized string similar to OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %.. /// - internal static string AboutDetails { + internal static string AboutCreditsSources { get { - return ResourceManager.GetString("AboutDetails", resourceCulture); + return ResourceManager.GetString("AboutCreditsSources", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Read the full credits. + /// + internal static string AboutCreditsSourcesContent { + get { + return ResourceManager.GetString("AboutCreditsSourcesContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Credits. + /// + internal static string AboutDividerCredits { + get { + return ResourceManager.GetString("AboutDividerCredits", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Updates. + /// + internal static string AboutDividerUpdates { + get { + return ResourceManager.GetString("AboutDividerUpdates", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A lightweight, real-time, always on top thumbnail of a window of your choice.. + /// + internal static string AboutSlogan { + get { + return ResourceManager.GetString("AboutSlogan", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to About OnTopReplica. + /// + internal static string AboutTitle { + get { + return ResourceManager.GetString("AboutTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Check now!. + /// + internal static string AboutUpdatesCheckNow { + get { + return ResourceManager.GetString("AboutUpdatesCheckNow", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica automatically checks for updates at every start up.. + /// + internal static string AboutUpdatesDisclaimer { + get { + return ResourceManager.GetString("AboutUpdatesDisclaimer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Version {0}. + /// + internal static string AboutVersion { + get { + return ResourceManager.GetString("AboutVersion", resourceCulture); } } @@ -158,7 +214,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to &Reset + /// Looks up a localized string similar to &Reset ///All settings will be lost.. /// internal static string AskResetButtonOk { @@ -222,7 +278,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Cancel update + /// Looks up a localized string similar to Cancel update ///OnTopReplica will prompt you the next time it is started.. /// internal static string AskUpdateButtonCancel { @@ -232,7 +288,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Download + /// Looks up a localized string similar to Download ///Install OnTopReplica {0}.. /// internal static string AskUpdateButtonOk { @@ -251,7 +307,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Installed version: {0} + /// Looks up a localized string similar to Installed version: {0} ///Available version: {1}. /// internal static string AskUpdateExpanded { @@ -278,15 +334,6 @@ namespace OnTopReplica { } } - /// - /// Looks up a localized string similar to Created by: Lorenz Cuno Klopfenstein.. - /// - internal static string CreatedBy { - get { - return ResourceManager.GetString("CreatedBy", resourceCulture); - } - } - /// /// Looks up a localized string similar to Draw regions using mouse.. /// @@ -333,8 +380,8 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. - /// + /// Looks up a localized string similar to You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + /// ///To do so, right-click on the desktop and click on Personalize.. /// internal static string ErrorDwmOffContent { @@ -380,7 +427,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Desktop Composition' is not supported on your Operating System. + /// Looks up a localized string similar to Desktop Composition' is not supported on your Operating System. ///You must run this application on Windows Vista Home Premium or better.. /// internal static string ErrorNoDwm { @@ -597,8 +644,8 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). - /// + /// Looks up a localized string similar to If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + /// ///To exit this mode, push ESC.. /// internal static string InfoClickForwardingContent { @@ -635,8 +682,8 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. - /// + /// Looks up a localized string similar to In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + /// ///To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon).. /// internal static string InfoClickThroughInformation { @@ -646,7 +693,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to No, thank you. + /// Looks up a localized string similar to No, thank you. ///You can enable click-through later. /// internal static string InfoClickThroughNo { @@ -1392,32 +1439,5 @@ namespace OnTopReplica { return ResourceManager.GetString("SettingsTitle", resourceCulture); } } - - /// - /// Looks up a localized string similar to A lightweight, real-time, always on top thumbnail of a window of your choice.. - /// - internal static string Slogan { - get { - return ResourceManager.GetString("Slogan", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to OnTopReplica automatically checks for updates. No information is logged at any point.. - /// - internal static string UpdateDisclaimer { - get { - return ResourceManager.GetString("UpdateDisclaimer", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Update now!. - /// - internal static string UpdateNow { - get { - return ResourceManager.GetString("UpdateNow", resourceCulture); - } - } } } diff --git a/OnTopReplica/Strings.cs.resx b/OnTopReplica/Strings.cs.resx index 880ef72..08c299b 100644 --- a/OnTopReplica/Strings.cs.resx +++ b/OnTopReplica/Strings.cs.resx @@ -76,6 +76,7 @@ a:hover { </body> </html> + Not needed anymore. OnTopReplica @@ -438,13 +439,13 @@ Režim "Proklikávání" je možné zvolit později v menu Začněte klepnutím sem pravým tlačítkem myši... - - Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému. + + Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. - - Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. Během této operace nedochází k žádnému přenosu či ukládání uživatelských informací. - - + Zkontroluj aktualizace + + Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému. + \ No newline at end of file diff --git a/OnTopReplica/Strings.da.resx b/OnTopReplica/Strings.da.resx index ebccde9..c4f6fa9 100644 --- a/OnTopReplica/Strings.da.resx +++ b/OnTopReplica/Strings.da.resx @@ -76,6 +76,7 @@ a:hover { </body> </html> + Not needed anymore. OnTopReplica @@ -433,13 +434,13 @@ Du kan aktivere gennem klik senere. Højreklik her for at starte... - - En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. + + OnTopReplica checker automatiskt for opdateringer. - - OnTopReplica checker automatiskt for opdateringer. Der bliver ikke registreret nogen data på noget tidspunkt. - - + Opdater nu! + + En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. + \ No newline at end of file diff --git a/OnTopReplica/Strings.de.resx b/OnTopReplica/Strings.de.resx index f50a611..407207a 100644 --- a/OnTopReplica/Strings.de.resx +++ b/OnTopReplica/Strings.de.resx @@ -12,4 +12,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Version {0} + \ No newline at end of file diff --git a/OnTopReplica/Strings.es.resx b/OnTopReplica/Strings.es.resx index d07a8ca..6322d5b 100644 --- a/OnTopReplica/Strings.es.resx +++ b/OnTopReplica/Strings.es.resx @@ -76,6 +76,7 @@ a:hover { </body> </html> + Not needed anymore. OnTopReplica @@ -466,13 +467,13 @@ Se podrá activar Click a través más tarde Click derecho para empezar... - - Una copia liviana, en tiempo real y siempre encima de cualquier ventana. - - + OnTopReplica busca actualizaciones automáticamente. - + Actualizar ahora! + + Una copia liviana, en tiempo real y siempre encima de cualquier ventana. + \ No newline at end of file diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx index b5c0e48..592cfd5 100644 --- a/OnTopReplica/Strings.it.resx +++ b/OnTopReplica/Strings.it.resx @@ -1,30 +1,135 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Annulla il processo di aggiornamento. - - - Mostra dettagli su OnTopReplica. - - - Resetta tutte le impostazioni di OnTopReplica. - - - Aggiorna OnTopReplica ora. - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Annulla il processo di aggiornamento. + + + Mostra dettagli su OnTopReplica. + + + Resetta tutte le impostazioni di OnTopReplica. + + + Aggiorna OnTopReplica ora. + + <html> <head> <style type="text/css"> @@ -75,446 +180,470 @@ a:hover { <p>Alcune delle icone sono state prese da <a href="http://www.vistaico.com">VistaICO.com</a> e dal set di icone Xiao.</p> </body> -</html> - - - OnTopReplica - - - Ripristinare completamente la finestra? - - +</html> + Not needed anymore. + + + OnTopReplica + + + Ripristinare completamente la finestra? + + &Ripristina -Tutte le impostazioni saranno perse. - - - Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. - - - Ripristino - - - Resettare impostazioni? - - - Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). - - - Reimposta - - - Scaricare OnTopReplica {0}? - {0} update version - - +Tutte le impostazioni saranno perse. + + + Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. + + + Ripristino + + + Resettare impostazioni? + + + Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). + + + Reimposta + + + Scaricare OnTopReplica {0}? + {0} update version + + Annulla aggiornamento -OnTopReplica si aggiornerà in un secondo momento. - - +OnTopReplica si aggiornerà in un secondo momento. + + Continua -Scarica OnTopReplica {0}. - {0} update version - - - Sarà possibile scaricare la nuova versione ed installarla. - - +Scarica OnTopReplica {0}. + {0} update version + + + Sarà possibile scaricare la nuova versione ed installarla. + + Versione installata: {0} -Versione disponibile: {1} +Versione disponibile: {1} {0} installed version number -{1} online available version number - - - Aggiornamento disponibile - - - &Annulla - - - Creato da: Lorenz Cuno Klopfenstein. - - - Disegna una regione usando il mouse. - - - Dettagli - - - Dettagli su Windows Aero - - - Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. - - - Il servizio di Desktop Composition Aero non è attivo. - - +{1} online available version number + + + Aggiornamento disponibile + + + &Annulla + + + Creato da: Lorenz Cuno Klopfenstein. + + + Disegna una regione usando il mouse. + + + Dettagli + + + Dettagli su Windows Aero + + + Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. + + + Il servizio di Desktop Composition Aero non è attivo. + + È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows. -Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. - - - Dettagli errore - - - Errore: - - - Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. - - - Errore - - +Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. + + + Dettagli errore + + + Errore: + + + Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. + + + Errore + + La "composzione del desktop" non è supportata dal tuo sistema operativo. -È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. - - - Desktop Composition (DWM) non supportato - - - Nessuna finestra clonata al momento. - - - Impossibile clonare la finestra - - - Impossibile adattare la finestra. - - - Impossibile controllare gli aggiornamenti. - - - Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. - - - Non è stato possibile controllare se esiste una versione più aggiornata di OnTopReplica. Verificare di essere connessi ad Internet. Se la connessione è attiva, è possibile che il sito ufficiale sia temporaneamente offline. - - - Modalità - - - Sempre in cima - - - OnTopReplica sarà sempre la finestra sopra a tutte le altre. - - - Click through - - - OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. - - - Normale - - - Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. - - - OnTopReplica a pieno schermo - - - Disattiva - - - Abilita modalità - - - Seleziona più finestre per attivare. - - - Modalità Gruppo attivata. - - - Modalità Gruppo di finestre: - - - Finestre - Column Header of list, simply refers to available windows to be cloned - - - Sito internet: www.codeplex.com/ontopreplica. - - - Attivare la modalità di inoltro dei clic? - - +È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. + + + Desktop Composition (DWM) non supportato + + + Nessuna finestra clonata al momento. + + + Impossibile clonare la finestra + + + Impossibile adattare la finestra. + + + Impossibile controllare gli aggiornamenti. + + + Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + Non è stato possibile controllare se esiste una versione più aggiornata di OnTopReplica. Verificare di essere connessi ad Internet. Se la connessione è attiva, è possibile che il sito ufficiale sia temporaneamente offline. + + + Modalità + + + Sempre in cima + + + OnTopReplica sarà sempre la finestra sopra a tutte le altre. + + + Click through + + + OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. + + + Normale + + + Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. + + + OnTopReplica a pieno schermo + + + Disattiva + + + Abilita modalità + + + Seleziona più finestre per attivare. + + + Modalità Gruppo attivata. + + + Modalità Gruppo di finestre: + + + Finestre + Column Header of list, simply refers to available windows to be cloned + + + Sito internet: www.codeplex.com/ontopreplica. + + + Attivare la modalità di inoltro dei clic? + + In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano). -Per uscire da questa modalità, usa il tasto ESC. - - - Inoltro dei clic - - - Attivare la modalità Click-Through? - - - La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. - - +Per uscire da questa modalità, usa il tasto ESC. + + + Inoltro dei clic + + + Attivare la modalità Click-Through? + + + La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. + + In questa modalità la finestra clonata si comporterà come una maschera semitrasparente che permette di cliccare sulle finestre dietro di essa. -Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). - - +Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). + + No, grazie. -Puoi abilitare il Click-Through in futuro - - - Abilita Click-Through - - - Modalità Click-Through - - - OnTopReplica è stato aggiornato. - - - Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. - - - Aggiornamento completato - - - La versione più aggiornata è già installata. - - - Nessun aggiornamento disponibile - - - Lingua - - - A proposito di... - - - Nasconde la finestra principale e mostra una schermata di informazioni. - - - Avanzate - - - Bordo - - - Abilita o disabilita il bordo della finestra. - - - Inoltro dei clic - - - Attiva la modalità di "inoltro dei clic" alla finestra clonata. - - - Abilita Click-Through - - - OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa. - - - Chiudi - - - Termina OnTopReplica. - - - 2:1 Doppio - - - Tutto schermo - - - 1:2 Metà - - - 1:1 Clone esatto - - - 1:4 Quarto - - - Queste scorciatoie possono essere usate quando OnTopReplica non è attivo. - - - Clona finestra corrente - - - Modalità Gruppo di finestre - - - OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo. - - - 100% (opaco) - - - Imposta OnTopReplica come finestra completamente opaca. - - - 25% - - - Imposta l'opacità di OnTopReplica al 25%. - - - 50% - - - Imposta l'opacità di OnTopReplica al 50%. - - - 75% - - - Imposta l'opacità di OnTopReplica al 75%. - - - Opacità - - - Apri - - - Attiva la finestra di OnTopReplica. - - - In basso a sinistra - - - In basso a destra - - - Disabilitato - - - Blocco posizione - - - Posiziona automaticamente OnTopReplica sul monitor corrente. - - - In alto a sinistra - - - In alto a destra - - - Esci da tutto schermo - - - Ripristina posizione e grandezza - - - Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. - - - Minimizza - - - Riduce OnTopReplica ad un'icona nella barra delle applicazioni. - - - Seleziona regione... - - - Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. - - - Reimposta finestra - - - Reimposta OnTopReplica e la sua finestra principale. - - - Ridimensionamento - - - Vai alla finestra originale - - - Mostra la finestra originale e nasconde OnTopReplica. - - - Seleziona finestra - - - - nessuna - - - - Mostra una lista di finestre che è possibile clonare. - - - - intera - - - - Regione corrente: - - - Cancella - - - Chiudi - - - Altezz. - - - Reset - - - Salva - - - Regioni memorizzate - - - Regioni: - - - Largh. - - - Clic destro qui per iniziare... - - - Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta. - - - OnTopReplica controlla automaticamente se sono presenti aggiornamenti. - - - Aggiorna! - - - Nascondi - - - Scorciatoie: - - - Lingua: - - - Richiede un riavvio. - - - Impostazioni - - - Ripristina ultima finestra - - - Se abilitato, all'avvio OnTopReplica tenterà di ripristinare l'ultima finestra precedentemente clonata. - - - Impostazioni... - - - Mostra il pannello delle impostazioni. - - - Centrato - +Puoi abilitare il Click-Through in futuro + + + Abilita Click-Through + + + Modalità Click-Through + + + OnTopReplica è stato aggiornato. + + + Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. + + + Aggiornamento completato + + + La versione più aggiornata è già installata. + + + Nessun aggiornamento disponibile + + + Lingua + + + A proposito di... + + + Nasconde la finestra principale e mostra una schermata di informazioni. + + + Avanzate + + + Bordo + + + Abilita o disabilita il bordo della finestra. + + + Inoltro dei clic + + + Attiva la modalità di "inoltro dei clic" alla finestra clonata. + + + Abilita Click-Through + + + OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa. + + + Chiudi + + + Termina OnTopReplica. + + + 2:1 Doppio + + + Tutto schermo + + + 1:2 Metà + + + 1:1 Clone esatto + + + 1:4 Quarto + + + Queste scorciatoie possono essere usate quando OnTopReplica non è attivo. + + + Clona finestra corrente + + + Modalità Gruppo di finestre + + + OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo. + + + 100% (opaco) + + + Imposta OnTopReplica come finestra completamente opaca. + + + 25% + + + Imposta l'opacità di OnTopReplica al 25%. + + + 50% + + + Imposta l'opacità di OnTopReplica al 50%. + + + 75% + + + Imposta l'opacità di OnTopReplica al 75%. + + + Opacità + + + Apri + + + Attiva la finestra di OnTopReplica. + + + In basso a sinistra + + + In basso a destra + + + Disabilitato + + + Blocco posizione + + + Posiziona automaticamente OnTopReplica sul monitor corrente. + + + In alto a sinistra + + + In alto a destra + + + Esci da tutto schermo + + + Ripristina posizione e grandezza + + + Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. + + + Minimizza + + + Riduce OnTopReplica ad un'icona nella barra delle applicazioni. + + + Seleziona regione... + + + Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. + + + Reimposta finestra + + + Reimposta OnTopReplica e la sua finestra principale. + + + Ridimensionamento + + + Vai alla finestra originale + + + Mostra la finestra originale e nasconde OnTopReplica. + + + Seleziona finestra + + + - nessuna - + + + Mostra una lista di finestre che è possibile clonare. + + + - intera - + + + Regione corrente: + + + Cancella + + + Chiudi + + + Altezz. + + + Reset + + + Salva + + + Regioni memorizzate + + + Regioni: + + + Largh. + + + Clic destro qui per iniziare... + + + OnTopReplica controlla automaticamente la presenza di aggiornamenti ad ogni avvio. + + + A proposito di OnTopReplica + + + Versione {0} + + + Nascondi + + + Scorciatoie: + + + Lingua: + + + Richiede un riavvio. + + + Impostazioni + + + Ripristina ultima finestra + + + Se abilitato, all'avvio OnTopReplica tenterà di ripristinare l'ultima finestra precedentemente clonata. + + + Impostazioni... + + + Mostra il pannello delle impostazioni. + + + Centrato + + + Creato da: %. + Link % is replaced by string AboutAuthorContent. + + + OnTopReplica è basato sulla libreria WindowsFormsAero ed il codice di altri progetti open-source. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Leggi tutti i riferimenti. + + + Ringraziamenti + + + Aggiornamenti + + + Una copia in tempo reale e sempre in primo piano di una finestra a tua scelta. + + + Controlla! + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx index f4022ab..b81c179 100644 --- a/OnTopReplica/Strings.resx +++ b/OnTopReplica/Strings.resx @@ -24,59 +24,6 @@ Update OnTopReplica now. - - <html> - <head> - <style type="text/css"> -body { - font-family: Segoe UI, Arial, sans-serif; - font-size: 0.8em; - margin: 0; -padding: 0.75em; -} -h1 { - font-size: 1.4em; - font-weight: bold; - - margin: 1em 0 0.4em 0; - padding: 0; -} -p { - margin: 0.5em 0 0.5em 1em; - padding: 0; -} -a { - font-weight: bold; - color: blue; -} -a:hover { - color: red; -} - </style> - </head> - - <body> - - <h1>License</h1> - - <p><b>OnTopReplica</b> is licensed under the <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> - <p>The original source code can be found on the <a href="http://www.codeplex.com/ontopreplica">project's homepage on CodePlex</a>.</p> - - <h1>Credits</h1> - - <p>OnTopReplica was inspired by <a href="http://insentient.net">Switcher</a> and other DWM based applications.</p> - - <p>All Vista controls are part of the <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero library</a> for .NET.</p> - - <p>Some example code taken from <a href="http://www.ookii.org">Ookii</a> on Channel9.</p> - - <p>NativeToolstripRenderer class taken from <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> - - <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> - - </body> -</html> - OnTopReplica @@ -130,8 +77,9 @@ Available version: {1} &Cancel - - Created by: Lorenz Cuno Klopfenstein. + + Created by: %. + Link % is replaced by string AboutAuthorContent. Draw regions using mouse. @@ -475,14 +423,14 @@ You can enable click-through later Right-click here to start... - + A lightweight, real-time, always on top thumbnail of a window of your choice. - - OnTopReplica automatically checks for updates. No information is logged at any point. + + OnTopReplica automatically checks for updates at every start up. - - Update now! + + Check now! Settings... @@ -517,4 +465,26 @@ You can enable click-through later Settings + + Lorenz Cuno Klopfenstein + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Credits + + + Updates + + + About OnTopReplica + + + Version {0} + \ No newline at end of file From 6249ce2e6b5c16c3d2c0e5a230e511a42316fefa Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Mon, 28 Mar 2011 23:24:14 +0200 Subject: [PATCH 098/164] Side panel code update. Switched about panel to side panel. --- OnTopReplica/AboutForm.Designer.cs | 15 +- OnTopReplica/MainForm_MenuEvents.cs | 8 +- OnTopReplica/OnTopReplica.csproj | 24 +- OnTopReplica/SidePanel.cs | 10 + OnTopReplica/SidePanelContainer.Designer.cs | 1 - OnTopReplica/SidePanelContainer.cs | 15 +- .../SidePanels/AboutPanel.Designer.cs | 227 ++++++++++++++++++ OnTopReplica/SidePanels/AboutPanel.cs | 63 +++++ OnTopReplica/SidePanels/AboutPanel.resx | 120 +++++++++ .../SidePanels/GroupSwitchPanel.Designer.cs | 15 +- .../SidePanels/OptionsPanel.Designer.cs | 33 +-- .../SidePanels/RegionPanel.Designer.cs | 21 +- 12 files changed, 501 insertions(+), 51 deletions(-) create mode 100644 OnTopReplica/SidePanels/AboutPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/AboutPanel.cs create mode 100644 OnTopReplica/SidePanels/AboutPanel.resx diff --git a/OnTopReplica/AboutForm.Designer.cs b/OnTopReplica/AboutForm.Designer.cs index 2c487d8..9dcd3fc 100644 --- a/OnTopReplica/AboutForm.Designer.cs +++ b/OnTopReplica/AboutForm.Designer.cs @@ -49,7 +49,7 @@ this.themedLabel1.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0); this.themedLabel1.Size = new System.Drawing.Size(200, 40); this.themedLabel1.TabIndex = 0; - this.themedLabel1.Text = Strings.ApplicationName; + this.themedLabel1.Text = "OnTopReplica"; // // themedLabel2 // @@ -97,7 +97,7 @@ // progressBar1 // this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.progressBar1.Location = new System.Drawing.Point(235, 79); + this.progressBar1.Location = new System.Drawing.Point(250, 35); this.progressBar1.Name = "progressBar1"; this.progressBar1.Size = new System.Drawing.Size(102, 23); this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee; @@ -114,7 +114,7 @@ this.buttonUpdate.Name = "buttonUpdate"; this.buttonUpdate.Size = new System.Drawing.Size(102, 23); this.buttonUpdate.TabIndex = 2; - this.buttonUpdate.Text = global::OnTopReplica.Strings.UpdateNow; + this.buttonUpdate.Text = global::OnTopReplica.Strings.AboutUpdatesCheckNow; this.buttonUpdate.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; this.buttonUpdate.UseVisualStyleBackColor = true; this.buttonUpdate.Click += new System.EventHandler(this.Update_click); @@ -138,7 +138,8 @@ this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(199, 31); this.label1.TabIndex = 13; - this.label1.Text = Strings.UpdateDisclaimer; + this.label1.Text = "OnTopReplica automatically checks for updates. No information is logged at any po" + + "int."; // // linkLabel2 // @@ -151,7 +152,7 @@ this.linkLabel2.Size = new System.Drawing.Size(252, 21); this.linkLabel2.TabIndex = 1; this.linkLabel2.TabStop = true; - this.linkLabel2.Text = Strings.Homepage; + this.linkLabel2.Text = "Homepage: www.codeplex.com/ontopreplica."; this.linkLabel2.UseCompatibleTextRendering = true; this.linkLabel2.VisitedLinkColor = System.Drawing.Color.Blue; // @@ -167,7 +168,7 @@ this.linkLabel1.Size = new System.Drawing.Size(212, 21); this.linkLabel1.TabIndex = 0; this.linkLabel1.TabStop = true; - this.linkLabel1.Text = Strings.CreatedBy; + this.linkLabel1.Text = "Created by: Lorenz Cuno Klopfenstein."; this.linkLabel1.UseCompatibleTextRendering = true; this.linkLabel1.VisitedLinkColor = System.Drawing.Color.Blue; // @@ -179,7 +180,7 @@ this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(287, 33); this.label2.TabIndex = 10; - this.label2.Text = Strings.Slogan; + this.label2.Text = "A lightweight, real-time, always on top thumbnail of a window of your choice."; // // webBrowser // diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs index 6ef9d3b..6d2648e 100644 --- a/OnTopReplica/MainForm_MenuEvents.cs +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -4,6 +4,7 @@ using System.Drawing; using System.Windows.Forms; using OnTopReplica.Properties; using VistaControls.TaskDialog; +using OnTopReplica.SidePanels; namespace OnTopReplica { partial class MainForm { @@ -189,11 +190,11 @@ namespace OnTopReplica { } private void Menu_Settings_click(object sender, EventArgs e) { - this.SetSidePanel(new OnTopReplica.SidePanels.OptionsPanel()); + this.SetSidePanel(new OptionsPanel()); } private void Menu_About_click(object sender, EventArgs e) { - this.Hide(); + /*this.Hide(); using (var box = new AboutForm()) { box.Location = RecenterLocation(this, box); @@ -201,7 +202,8 @@ namespace OnTopReplica { Location = RecenterLocation(box, this); } - this.Show(); + this.Show();*/ + this.SetSidePanel(new AboutPanel()); } private void Menu_Close_click(object sender, EventArgs e) { diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 525a40c..eff838d 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -100,12 +100,12 @@ - + Form - - + + AboutForm.cs - + Form @@ -143,7 +143,6 @@ - Form @@ -151,6 +150,12 @@ SidePanelContainer.cs + + UserControl + + + AboutPanel.cs + UserControl @@ -176,6 +181,9 @@ SidePanelContainer.cs + + AboutPanel.cs + @@ -329,6 +337,12 @@ + + Always + + + Always + diff --git a/OnTopReplica/SidePanel.cs b/OnTopReplica/SidePanel.cs index 01f14d0..a1e878a 100644 --- a/OnTopReplica/SidePanel.cs +++ b/OnTopReplica/SidePanel.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Text; using System.Windows.Forms; +using VistaControls.Dwm; namespace OnTopReplica { @@ -58,5 +59,14 @@ namespace OnTopReplica { } } + /// + /// Gets the panel's desired glass margins or null if no glass surface is required. + /// + public virtual Margins? GlassMargins { + get { + return null; + } + } + } } diff --git a/OnTopReplica/SidePanelContainer.Designer.cs b/OnTopReplica/SidePanelContainer.Designer.cs index 9181b7c..56103f0 100644 --- a/OnTopReplica/SidePanelContainer.Designer.cs +++ b/OnTopReplica/SidePanelContainer.Designer.cs @@ -33,7 +33,6 @@ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; this.MinimizeBox = false; this.Name = "SidePanelContainer"; - this.Padding = new System.Windows.Forms.Padding(6); this.ShowInTaskbar = false; this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; this.Text = "Side Panel container"; diff --git a/OnTopReplica/SidePanelContainer.cs b/OnTopReplica/SidePanelContainer.cs index 560e035..41fb949 100644 --- a/OnTopReplica/SidePanelContainer.cs +++ b/OnTopReplica/SidePanelContainer.cs @@ -5,12 +5,13 @@ using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; +using VistaControls.Dwm.Helpers; namespace OnTopReplica { /// /// Acts as a form that can contain a SidePanel instance. /// - partial class SidePanelContainer : Form { + partial class SidePanelContainer : GlassForm { EventHandler RequestClosingHandler; @@ -43,11 +44,12 @@ namespace OnTopReplica { public void SetSidePanel(SidePanel panel) { panel.OnFirstShown(_parent); - //Set panel this.SuspendLayout(); + //Title this.Text = panel.Title; + //Set panel CurrentSidePanel = panel; panel.RequestClosing += RequestClosingHandler; this.Controls.Add(panel); @@ -56,6 +58,15 @@ namespace OnTopReplica { this.ClientSize = minSize; this.EnsureMinimumClientSize(minSize); + //Enable glass if needed + var margins = panel.GlassMargins; + if (margins.HasValue) { + this.GlassMargins = margins.Value; + this.GlassEnabled = true; + } + else + this.GlassEnabled = false; + this.ResumeLayout(); } diff --git a/OnTopReplica/SidePanels/AboutPanel.Designer.cs b/OnTopReplica/SidePanels/AboutPanel.Designer.cs new file mode 100644 index 0000000..4b1ee79 --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanel.Designer.cs @@ -0,0 +1,227 @@ +namespace OnTopReplica.SidePanels { + partial class AboutPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.panelMain = new System.Windows.Forms.Panel(); + this.labelTranslators = new System.Windows.Forms.Label(); + this.linkCredits = new System.Windows.Forms.LinkLabel(); + this.progressUpdate = new VistaControls.ProgressBar(); + this.buttonUpdate = new System.Windows.Forms.Button(); + this.lblUpdateDisclaimer = new System.Windows.Forms.Label(); + this.labeledDivider2 = new VistaControls.LabeledDivider(); + this.labeledDivider1 = new VistaControls.LabeledDivider(); + this.linkHomepage = new System.Windows.Forms.LinkLabel(); + this.linkAuthor = new System.Windows.Forms.LinkLabel(); + this.lblSlogan = new System.Windows.Forms.Label(); + this.thlabelVersion = new VistaControls.ThemeText.ThemedLabel(); + this.panelMain.SuspendLayout(); + this.SuspendLayout(); + // + // panelMain + // + this.panelMain.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panelMain.AutoScroll = true; + this.panelMain.Controls.Add(this.labelTranslators); + this.panelMain.Controls.Add(this.linkCredits); + this.panelMain.Controls.Add(this.progressUpdate); + this.panelMain.Controls.Add(this.buttonUpdate); + this.panelMain.Controls.Add(this.lblUpdateDisclaimer); + this.panelMain.Controls.Add(this.labeledDivider2); + this.panelMain.Controls.Add(this.labeledDivider1); + this.panelMain.Controls.Add(this.linkHomepage); + this.panelMain.Controls.Add(this.linkAuthor); + this.panelMain.Controls.Add(this.lblSlogan); + this.panelMain.Location = new System.Drawing.Point(6, 6); + this.panelMain.Margin = new System.Windows.Forms.Padding(6); + this.panelMain.Name = "panelMain"; + this.panelMain.Size = new System.Drawing.Size(243, 258); + this.panelMain.TabIndex = 0; + // + // labelTranslators + // + this.labelTranslators.Location = new System.Drawing.Point(0, 289); + this.labelTranslators.Name = "labelTranslators"; + this.labelTranslators.Size = new System.Drawing.Size(226, 61); + this.labelTranslators.TabIndex = 21; + this.labelTranslators.Text = "Translators: asdasd"; + // + // linkCredits + // + this.linkCredits.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkCredits.Location = new System.Drawing.Point(0, 223); + this.linkCredits.Name = "linkCredits"; + this.linkCredits.Size = new System.Drawing.Size(226, 57); + this.linkCredits.TabIndex = 20; + this.linkCredits.TabStop = true; + this.linkCredits.Text = "%CREDITS%"; + this.linkCredits.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkCredits_click); + // + // progressUpdate + // + this.progressUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.progressUpdate.Location = new System.Drawing.Point(0, 155); + this.progressUpdate.Name = "progressUpdate"; + this.progressUpdate.Size = new System.Drawing.Size(118, 23); + this.progressUpdate.Style = System.Windows.Forms.ProgressBarStyle.Marquee; + this.progressUpdate.TabIndex = 19; + this.progressUpdate.Visible = false; + // + // buttonUpdate + // + this.buttonUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonUpdate.Location = new System.Drawing.Point(124, 155); + this.buttonUpdate.Name = "buttonUpdate"; + this.buttonUpdate.Size = new System.Drawing.Size(102, 23); + this.buttonUpdate.TabIndex = 18; + this.buttonUpdate.Text = global::OnTopReplica.Strings.AboutUpdatesCheckNow; + this.buttonUpdate.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonUpdate.UseVisualStyleBackColor = true; + // + // lblUpdateDisclaimer + // + this.lblUpdateDisclaimer.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblUpdateDisclaimer.Location = new System.Drawing.Point(0, 108); + this.lblUpdateDisclaimer.Name = "lblUpdateDisclaimer"; + this.lblUpdateDisclaimer.Size = new System.Drawing.Size(225, 44); + this.lblUpdateDisclaimer.TabIndex = 16; + this.lblUpdateDisclaimer.Text = Strings.AboutUpdatesDisclaimer; + // + // labeledDivider2 + // + this.labeledDivider2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labeledDivider2.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); + this.labeledDivider2.Font = new System.Drawing.Font("Segoe UI", 9F); + this.labeledDivider2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); + this.labeledDivider2.Location = new System.Drawing.Point(0, 197); + this.labeledDivider2.Name = "labeledDivider2"; + this.labeledDivider2.Size = new System.Drawing.Size(223, 23); + this.labeledDivider2.TabIndex = 15; + this.labeledDivider2.Text = global::OnTopReplica.Strings.AboutDividerCredits; + // + // labeledDivider1 + // + this.labeledDivider1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labeledDivider1.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); + this.labeledDivider1.Font = new System.Drawing.Font("Segoe UI", 9F); + this.labeledDivider1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); + this.labeledDivider1.Location = new System.Drawing.Point(0, 82); + this.labeledDivider1.Name = "labeledDivider1"; + this.labeledDivider1.Size = new System.Drawing.Size(226, 23); + this.labeledDivider1.TabIndex = 14; + this.labeledDivider1.Text = global::OnTopReplica.Strings.AboutDividerUpdates; + // + // linkHomepage + // + this.linkHomepage.AutoSize = true; + this.linkHomepage.BackColor = System.Drawing.Color.Transparent; + this.linkHomepage.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkHomepage.Location = new System.Drawing.Point(0, 54); + this.linkHomepage.Name = "linkHomepage"; + this.linkHomepage.Size = new System.Drawing.Size(167, 17); + this.linkHomepage.TabIndex = 12; + this.linkHomepage.TabStop = true; + this.linkHomepage.Text = "http://ontopreplica.codeplex.com"; + this.linkHomepage.UseCompatibleTextRendering = true; + this.linkHomepage.VisitedLinkColor = System.Drawing.Color.Blue; + this.linkHomepage.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkWebsite_click); + // + // linkAuthor + // + this.linkAuthor.AutoSize = true; + this.linkAuthor.BackColor = System.Drawing.Color.Transparent; + this.linkAuthor.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkAuthor.LinkColor = System.Drawing.Color.Blue; + this.linkAuthor.Location = new System.Drawing.Point(0, 33); + this.linkAuthor.Name = "linkAuthor"; + this.linkAuthor.Size = new System.Drawing.Size(72, 17); + this.linkAuthor.TabIndex = 11; + this.linkAuthor.TabStop = true; + this.linkAuthor.Text = "%AUTHOR%"; + this.linkAuthor.UseCompatibleTextRendering = true; + this.linkAuthor.VisitedLinkColor = System.Drawing.Color.Blue; + this.linkAuthor.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkAuthor_click); + // + // lblSlogan + // + this.lblSlogan.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblSlogan.BackColor = System.Drawing.Color.Transparent; + this.lblSlogan.Location = new System.Drawing.Point(0, 0); + this.lblSlogan.Name = "lblSlogan"; + this.lblSlogan.Size = new System.Drawing.Size(226, 33); + this.lblSlogan.TabIndex = 13; + this.lblSlogan.Text = Strings.AboutSlogan; + // + // thlabelVersion + // + this.thlabelVersion.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.thlabelVersion.GlowSize = 7; + this.thlabelVersion.Location = new System.Drawing.Point(0, 272); + this.thlabelVersion.Margin = new System.Windows.Forms.Padding(0); + this.thlabelVersion.Name = "thlabelVersion"; + this.thlabelVersion.Padding = new System.Windows.Forms.Padding(0, 0, 0, 1); + this.thlabelVersion.Size = new System.Drawing.Size(255, 18); + this.thlabelVersion.TabIndex = 1; + this.thlabelVersion.Text = "%VERSION%"; + this.thlabelVersion.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.thlabelVersion.TextAlignVertical = System.Windows.Forms.VisualStyles.VerticalAlignment.Bottom; + // + // AboutPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.thlabelVersion); + this.Controls.Add(this.panelMain); + this.MinimumSize = new System.Drawing.Size(255, 290); + this.Name = "AboutPanel"; + this.Size = new System.Drawing.Size(255, 290); + this.panelMain.ResumeLayout(false); + this.panelMain.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panelMain; + private VistaControls.ThemeText.ThemedLabel thlabelVersion; + private System.Windows.Forms.LinkLabel linkHomepage; + private System.Windows.Forms.LinkLabel linkAuthor; + private System.Windows.Forms.Label lblSlogan; + private VistaControls.LabeledDivider labeledDivider1; + private System.Windows.Forms.Label lblUpdateDisclaimer; + private VistaControls.LabeledDivider labeledDivider2; + private VistaControls.ProgressBar progressUpdate; + private System.Windows.Forms.Button buttonUpdate; + private System.Windows.Forms.Label labelTranslators; + private System.Windows.Forms.LinkLabel linkCredits; + } +} diff --git a/OnTopReplica/SidePanels/AboutPanel.cs b/OnTopReplica/SidePanels/AboutPanel.cs new file mode 100644 index 0000000..222e042 --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanel.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Windows.Forms; +using VistaControls.Dwm; +using System.Diagnostics; + +namespace OnTopReplica.SidePanels { + partial class AboutPanel : SidePanel { + public AboutPanel() { + InitializeComponent(); + + //Update dynamic strings + thlabelVersion.Text = string.Format(Strings.AboutVersion, Application.ProductVersion); + InternationalizeLinkLabel(linkAuthor, Strings.AboutAuthor, Strings.AboutAuthorContent); + InternationalizeLinkLabel(linkCredits, Strings.AboutCreditsSources, Strings.AboutCreditsSourcesContent); + } + + private void InternationalizeLinkLabel(LinkLabel label, string text, string linkText) { + int linkIndex = text.IndexOf('%'); + if (linkIndex == -1) { + //Shouldn't happen, but try to fail with meaningful text + label.Text = text; + return; + } + + label.Text = text.Substring(0, linkIndex) + linkText + text.Substring(linkIndex + 1); + label.LinkArea = new LinkArea(linkIndex, linkText.Length); + } + + public override string Title { + get { + return Strings.AboutTitle; + } + } + + public override Margins? GlassMargins { + get { + return new Margins(0, 0, 0, thlabelVersion.Height); + } + } + + #region Link clicks + + private void LinkAuthor_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://lorenz.klopfenstein.net"); + } + + private void LinkWebsite_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://ontopreplica.codeplex.com"); + } + + private void LinkCredits_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("CREDITS.txt"); + } + + #endregion + + } +} diff --git a/OnTopReplica/SidePanels/AboutPanel.resx b/OnTopReplica/SidePanels/AboutPanel.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs index 2a77d97..c3d8cc6 100644 --- a/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs @@ -39,9 +39,9 @@ this.groupBox1.Controls.Add(this.buttonEnable); this.groupBox1.Controls.Add(this.listWindows); this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; - this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Location = new System.Drawing.Point(6, 6); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(283, 337); + this.groupBox1.Size = new System.Drawing.Size(271, 325); this.groupBox1.TabIndex = 1; this.groupBox1.TabStop = false; this.groupBox1.Text = "Group switch mode:"; @@ -50,9 +50,9 @@ // this.labelStatus.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.labelStatus.Location = new System.Drawing.Point(3, 288); + this.labelStatus.Location = new System.Drawing.Point(3, 276); this.labelStatus.Name = "labelStatus"; - this.labelStatus.Size = new System.Drawing.Size(274, 17); + this.labelStatus.Size = new System.Drawing.Size(262, 17); this.labelStatus.TabIndex = 3; this.labelStatus.Text = "-"; this.labelStatus.TextAlign = System.Drawing.ContentAlignment.BottomRight; @@ -60,7 +60,7 @@ // buttonCancel // this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.buttonCancel.Location = new System.Drawing.Point(207, 308); + this.buttonCancel.Location = new System.Drawing.Point(195, 296); this.buttonCancel.Name = "buttonCancel"; this.buttonCancel.Size = new System.Drawing.Size(70, 23); this.buttonCancel.TabIndex = 2; @@ -72,7 +72,7 @@ // this.buttonEnable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonEnable.Image = global::OnTopReplica.Properties.Resources.xiao_ok; - this.buttonEnable.Location = new System.Drawing.Point(67, 308); + this.buttonEnable.Location = new System.Drawing.Point(55, 296); this.buttonEnable.Name = "buttonEnable"; this.buttonEnable.Size = new System.Drawing.Size(134, 23); this.buttonEnable.TabIndex = 1; @@ -95,7 +95,7 @@ this.listWindows.LabelWrap = false; this.listWindows.Location = new System.Drawing.Point(6, 19); this.listWindows.Name = "listWindows"; - this.listWindows.Size = new System.Drawing.Size(271, 266); + this.listWindows.Size = new System.Drawing.Size(259, 254); this.listWindows.TabIndex = 0; this.listWindows.UseCompatibleStateImageBehavior = false; this.listWindows.View = System.Windows.Forms.View.List; @@ -112,6 +112,7 @@ this.Controls.Add(this.groupBox1); this.MinimumSize = new System.Drawing.Size(240, 240); this.Name = "GroupSwitchPanel"; + this.Padding = new System.Windows.Forms.Padding(6); this.Size = new System.Drawing.Size(283, 337); this.groupBox1.ResumeLayout(false); this.ResumeLayout(false); diff --git a/OnTopReplica/SidePanels/OptionsPanel.Designer.cs b/OnTopReplica/SidePanels/OptionsPanel.Designer.cs index 5b6815c..a8bf8e1 100644 --- a/OnTopReplica/SidePanels/OptionsPanel.Designer.cs +++ b/OnTopReplica/SidePanels/OptionsPanel.Designer.cs @@ -42,11 +42,11 @@ // btnClose // this.btnClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.btnClose.Location = new System.Drawing.Point(185, 217); + this.btnClose.Location = new System.Drawing.Point(189, 211); this.btnClose.Name = "btnClose"; this.btnClose.Size = new System.Drawing.Size(75, 23); this.btnClose.TabIndex = 0; - this.btnClose.Text = Strings.MenuClose; + this.btnClose.Text = global::OnTopReplica.Strings.MenuClose; this.btnClose.UseVisualStyleBackColor = true; this.btnClose.Click += new System.EventHandler(this.Close_click); // @@ -58,9 +58,9 @@ this.panelMain.AutoScroll = true; this.panelMain.Controls.Add(this.groupHotkeys); this.panelMain.Controls.Add(this.groupLanguage); - this.panelMain.Location = new System.Drawing.Point(0, 0); + this.panelMain.Location = new System.Drawing.Point(6, 6); this.panelMain.Name = "panelMain"; - this.panelMain.Size = new System.Drawing.Size(260, 211); + this.panelMain.Size = new System.Drawing.Size(258, 199); this.panelMain.TabIndex = 1; // // groupHotkeys @@ -74,7 +74,7 @@ this.groupHotkeys.Controls.Add(this.txtHotKeyClone); this.groupHotkeys.Location = new System.Drawing.Point(3, 77); this.groupHotkeys.Name = "groupHotkeys"; - this.groupHotkeys.Size = new System.Drawing.Size(254, 113); + this.groupHotkeys.Size = new System.Drawing.Size(252, 113); this.groupHotkeys.TabIndex = 1; this.groupHotkeys.TabStop = false; this.groupHotkeys.Text = Strings.SettingsHotKeyTitle; @@ -84,15 +84,15 @@ this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.label1.Location = new System.Drawing.Point(6, 68); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(158, 43); + this.label1.Name = "lblHotkeyDescription"; + this.label1.Size = new System.Drawing.Size(156, 43); this.label1.TabIndex = 4; this.label1.Text = Strings.SettingsHotKeyDescription; // // lblHotKeyShowHide // this.lblHotKeyShowHide.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.lblHotKeyShowHide.Location = new System.Drawing.Point(170, 22); + this.lblHotKeyShowHide.Location = new System.Drawing.Point(168, 22); this.lblHotKeyShowHide.Name = "lblHotKeyShowHide"; this.lblHotKeyShowHide.Size = new System.Drawing.Size(78, 17); this.lblHotKeyShowHide.TabIndex = 3; @@ -105,13 +105,13 @@ this.txtHotKeyShowHide.Location = new System.Drawing.Point(6, 19); this.txtHotKeyShowHide.Name = "txtHotKeyShowHide"; this.txtHotKeyShowHide.ReadOnly = true; - this.txtHotKeyShowHide.Size = new System.Drawing.Size(158, 20); + this.txtHotKeyShowHide.Size = new System.Drawing.Size(156, 20); this.txtHotKeyShowHide.TabIndex = 2; // // lblHotKeyClone // this.lblHotKeyClone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.lblHotKeyClone.Location = new System.Drawing.Point(170, 48); + this.lblHotKeyClone.Location = new System.Drawing.Point(168, 48); this.lblHotKeyClone.Name = "lblHotKeyClone"; this.lblHotKeyClone.Size = new System.Drawing.Size(78, 29); this.lblHotKeyClone.TabIndex = 1; @@ -124,7 +124,7 @@ this.txtHotKeyClone.Location = new System.Drawing.Point(6, 45); this.txtHotKeyClone.Name = "txtHotKeyClone"; this.txtHotKeyClone.ReadOnly = true; - this.txtHotKeyClone.Size = new System.Drawing.Size(158, 20); + this.txtHotKeyClone.Size = new System.Drawing.Size(156, 20); this.txtHotKeyClone.TabIndex = 0; // // groupLanguage @@ -135,7 +135,7 @@ this.groupLanguage.Controls.Add(this.lblLanguage); this.groupLanguage.Location = new System.Drawing.Point(3, 3); this.groupLanguage.Name = "groupLanguage"; - this.groupLanguage.Size = new System.Drawing.Size(254, 68); + this.groupLanguage.Size = new System.Drawing.Size(252, 68); this.groupLanguage.TabIndex = 0; this.groupLanguage.TabStop = false; this.groupLanguage.Text = Strings.SettingsLanguageTitle; @@ -150,7 +150,7 @@ this.comboLanguage.IconList = null; this.comboLanguage.Location = new System.Drawing.Point(9, 19); this.comboLanguage.Name = "comboLanguage"; - this.comboLanguage.Size = new System.Drawing.Size(239, 21); + this.comboLanguage.Size = new System.Drawing.Size(237, 21); this.comboLanguage.TabIndex = 2; this.comboLanguage.SelectedIndexChanged += new System.EventHandler(this.LanguageBox_IndexChange); // @@ -160,7 +160,7 @@ | System.Windows.Forms.AnchorStyles.Right))); this.lblLanguage.Location = new System.Drawing.Point(6, 43); this.lblLanguage.Name = "lblLanguage"; - this.lblLanguage.Size = new System.Drawing.Size(242, 22); + this.lblLanguage.Size = new System.Drawing.Size(240, 22); this.lblLanguage.TabIndex = 1; this.lblLanguage.Text = Strings.SettingsRestartRequired; // @@ -171,9 +171,10 @@ this.AutoScroll = true; this.Controls.Add(this.panelMain); this.Controls.Add(this.btnClose); - this.MinimumSize = new System.Drawing.Size(260, 240); + this.MinimumSize = new System.Drawing.Size(270, 240); this.Name = "OptionsPanel"; - this.Size = new System.Drawing.Size(260, 240); + this.Padding = new System.Windows.Forms.Padding(6); + this.Size = new System.Drawing.Size(270, 240); this.panelMain.ResumeLayout(false); this.groupHotkeys.ResumeLayout(false); this.groupHotkeys.PerformLayout(); diff --git a/OnTopReplica/SidePanels/RegionPanel.Designer.cs b/OnTopReplica/SidePanels/RegionPanel.Designer.cs index a237f87..46327a5 100644 --- a/OnTopReplica/SidePanels/RegionPanel.Designer.cs +++ b/OnTopReplica/SidePanels/RegionPanel.Designer.cs @@ -64,9 +64,9 @@ this.groupBox1.Controls.Add(this.buttonSave); this.groupBox1.Controls.Add(this.comboRegions); this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; - this.groupBox1.Location = new System.Drawing.Point(0, 0); + this.groupBox1.Location = new System.Drawing.Point(6, 6); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(184, 170); + this.groupBox1.Size = new System.Drawing.Size(218, 158); this.groupBox1.TabIndex = 0; this.groupBox1.TabStop = false; this.groupBox1.Text = "Regions:"; @@ -79,7 +79,7 @@ this.textRegionName.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; this.textRegionName.Location = new System.Drawing.Point(6, 44); this.textRegionName.Name = "textRegionName"; - this.textRegionName.Size = new System.Drawing.Size(174, 20); + this.textRegionName.Size = new System.Drawing.Size(208, 20); this.textRegionName.TabIndex = 11; this.textRegionName.Visible = false; this.textRegionName.ConfirmInput += new System.EventHandler(this.Save_confirm); @@ -166,7 +166,7 @@ this.buttonDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.buttonDone.Image = global::OnTopReplica.Properties.Resources.xiao_ok; this.buttonDone.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; - this.buttonDone.Location = new System.Drawing.Point(108, 129); + this.buttonDone.Location = new System.Drawing.Point(142, 129); this.buttonDone.Name = "buttonDone"; this.buttonDone.Size = new System.Drawing.Size(70, 23); this.buttonDone.TabIndex = 9; @@ -178,7 +178,7 @@ // buttonReset // this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonReset.Location = new System.Drawing.Point(32, 129); + this.buttonReset.Location = new System.Drawing.Point(66, 129); this.buttonReset.Name = "buttonReset"; this.buttonReset.Size = new System.Drawing.Size(70, 23); this.buttonReset.TabIndex = 8; @@ -241,7 +241,7 @@ this.buttonDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.buttonDelete.Enabled = false; this.buttonDelete.Image = global::OnTopReplica.Properties.Resources.xiao_delete; - this.buttonDelete.Location = new System.Drawing.Point(157, 18); + this.buttonDelete.Location = new System.Drawing.Point(191, 18); this.buttonDelete.Name = "buttonDelete"; this.buttonDelete.Size = new System.Drawing.Size(23, 23); this.buttonDelete.TabIndex = 3; @@ -253,7 +253,7 @@ this.buttonSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.buttonSave.Enabled = false; this.buttonSave.Image = global::OnTopReplica.Properties.Resources.xiao_add; - this.buttonSave.Location = new System.Drawing.Point(134, 18); + this.buttonSave.Location = new System.Drawing.Point(168, 18); this.buttonSave.Name = "buttonSave"; this.buttonSave.Size = new System.Drawing.Size(23, 23); this.buttonSave.TabIndex = 1; @@ -270,7 +270,7 @@ this.comboRegions.FormattingEnabled = true; this.comboRegions.Location = new System.Drawing.Point(6, 19); this.comboRegions.Name = "comboRegions"; - this.comboRegions.Size = new System.Drawing.Size(126, 21); + this.comboRegions.Size = new System.Drawing.Size(160, 21); this.comboRegions.TabIndex = 0; this.comboRegions.SelectedIndexChanged += new System.EventHandler(this.RegionCombo_index_change); // @@ -279,9 +279,10 @@ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.groupBox1); - this.MinimumSize = new System.Drawing.Size(184, 170); + this.MinimumSize = new System.Drawing.Size(230, 170); this.Name = "RegionPanel"; - this.Size = new System.Drawing.Size(184, 170); + this.Padding = new System.Windows.Forms.Padding(6); + this.Size = new System.Drawing.Size(230, 170); this.groupBox1.ResumeLayout(false); this.groupBox1.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.numH)).EndInit(); From 9c3ddfe95e5b802e829c1c153673b3604b22011a Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Mon, 28 Mar 2011 23:46:36 +0200 Subject: [PATCH 099/164] Updated about panel as side panel, with updater. --- OnTopReplica/AboutForm.Designer.cs | 236 ------------- OnTopReplica/AboutForm.cs | 153 --------- OnTopReplica/AboutForm.resx | 309 ------------------ OnTopReplica/OnTopReplica.csproj | 10 - .../SidePanels/AboutPanel.Designer.cs | 1 + OnTopReplica/SidePanels/AboutPanel.cs | 34 ++ 6 files changed, 35 insertions(+), 708 deletions(-) delete mode 100644 OnTopReplica/AboutForm.Designer.cs delete mode 100644 OnTopReplica/AboutForm.cs delete mode 100644 OnTopReplica/AboutForm.resx diff --git a/OnTopReplica/AboutForm.Designer.cs b/OnTopReplica/AboutForm.Designer.cs deleted file mode 100644 index 9dcd3fc..0000000 --- a/OnTopReplica/AboutForm.Designer.cs +++ /dev/null @@ -1,236 +0,0 @@ -namespace OnTopReplica { - partial class AboutForm { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) { - if (disposing && (components != null)) { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutForm)); - this.themedLabel1 = new VistaControls.ThemeText.ThemedLabel(); - this.themedLabel2 = new VistaControls.ThemeText.ThemedLabel(); - this.panel1 = new System.Windows.Forms.Panel(); - this.buttonReset = new System.Windows.Forms.Button(); - this.progressBar1 = new VistaControls.ProgressBar(); - this.buttonUpdate = new System.Windows.Forms.Button(); - this.buttonExpander = new System.Windows.Forms.Button(); - this.label1 = new System.Windows.Forms.Label(); - this.linkLabel2 = new System.Windows.Forms.LinkLabel(); - this.linkLabel1 = new System.Windows.Forms.LinkLabel(); - this.label2 = new System.Windows.Forms.Label(); - this.webBrowser = new System.Windows.Forms.WebBrowser(); - this.toolTip = new System.Windows.Forms.ToolTip(this.components); - this.panel1.SuspendLayout(); - this.SuspendLayout(); - // - // themedLabel1 - // - this.themedLabel1.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.themedLabel1.Location = new System.Drawing.Point(0, 0); - this.themedLabel1.Name = "themedLabel1"; - this.themedLabel1.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0); - this.themedLabel1.Size = new System.Drawing.Size(200, 40); - this.themedLabel1.TabIndex = 0; - this.themedLabel1.Text = "OnTopReplica"; - // - // themedLabel2 - // - this.themedLabel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.themedLabel2.Font = new System.Drawing.Font("Segoe UI", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.themedLabel2.GlowSize = 11; - this.themedLabel2.Location = new System.Drawing.Point(200, 0); - this.themedLabel2.Name = "themedLabel2"; - this.themedLabel2.Padding = new System.Windows.Forms.Padding(6, 0, 0, 0); - this.themedLabel2.Size = new System.Drawing.Size(189, 40); - this.themedLabel2.TabIndex = 1; - this.themedLabel2.Text = "v2"; - // - // panel1 - // - this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.panel1.BackgroundImage = global::OnTopReplica.Properties.Resources.back; - this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.panel1.Controls.Add(this.buttonReset); - this.panel1.Controls.Add(this.progressBar1); - this.panel1.Controls.Add(this.buttonUpdate); - this.panel1.Controls.Add(this.buttonExpander); - this.panel1.Controls.Add(this.label1); - this.panel1.Controls.Add(this.linkLabel2); - this.panel1.Controls.Add(this.linkLabel1); - this.panel1.Controls.Add(this.label2); - this.panel1.Location = new System.Drawing.Point(0, 40); - this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(388, 105); - this.panel1.TabIndex = 10; - // - // buttonReset - // - this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.buttonReset.Image = global::OnTopReplica.Properties.Resources.refresh; - this.buttonReset.Location = new System.Drawing.Point(338, 79); - this.buttonReset.Name = "buttonReset"; - this.buttonReset.Size = new System.Drawing.Size(23, 23); - this.buttonReset.TabIndex = 14; - this.buttonReset.UseVisualStyleBackColor = true; - this.buttonReset.Click += new System.EventHandler(this.ResetClick); - // - // progressBar1 - // - this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.progressBar1.Location = new System.Drawing.Point(250, 35); - this.progressBar1.Name = "progressBar1"; - this.progressBar1.Size = new System.Drawing.Size(102, 23); - this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee; - this.progressBar1.TabIndex = 3; - this.progressBar1.Visible = false; - // - // buttonUpdate - // - this.buttonUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonUpdate.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.buttonUpdate.Image = global::OnTopReplica.Properties.Resources.xiao_component; - this.buttonUpdate.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; - this.buttonUpdate.Location = new System.Drawing.Point(235, 79); - this.buttonUpdate.Name = "buttonUpdate"; - this.buttonUpdate.Size = new System.Drawing.Size(102, 23); - this.buttonUpdate.TabIndex = 2; - this.buttonUpdate.Text = global::OnTopReplica.Strings.AboutUpdatesCheckNow; - this.buttonUpdate.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; - this.buttonUpdate.UseVisualStyleBackColor = true; - this.buttonUpdate.Click += new System.EventHandler(this.Update_click); - // - // buttonExpander - // - this.buttonExpander.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.buttonExpander.Image = global::OnTopReplica.Properties.Resources.xiao_down; - this.buttonExpander.Location = new System.Drawing.Point(362, 79); - this.buttonExpander.Name = "buttonExpander"; - this.buttonExpander.Size = new System.Drawing.Size(23, 23); - this.buttonExpander.TabIndex = 4; - this.buttonExpander.UseVisualStyleBackColor = true; - this.buttonExpander.Click += new System.EventHandler(this.Toggle_click); - // - // label1 - // - this.label1.BackColor = System.Drawing.Color.Transparent; - this.label1.Font = new System.Drawing.Font("Segoe UI", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label1.Location = new System.Drawing.Point(6, 75); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(199, 31); - this.label1.TabIndex = 13; - this.label1.Text = "OnTopReplica automatically checks for updates. No information is logged at any po" + - "int."; - // - // linkLabel2 - // - this.linkLabel2.AutoSize = true; - this.linkLabel2.BackColor = System.Drawing.Color.Transparent; - this.linkLabel2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.linkLabel2.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; - this.linkLabel2.Location = new System.Drawing.Point(7, 58); - this.linkLabel2.Name = "linkLabel2"; - this.linkLabel2.Size = new System.Drawing.Size(252, 21); - this.linkLabel2.TabIndex = 1; - this.linkLabel2.TabStop = true; - this.linkLabel2.Text = "Homepage: www.codeplex.com/ontopreplica."; - this.linkLabel2.UseCompatibleTextRendering = true; - this.linkLabel2.VisitedLinkColor = System.Drawing.Color.Blue; - // - // linkLabel1 - // - this.linkLabel1.AutoSize = true; - this.linkLabel1.BackColor = System.Drawing.Color.Transparent; - this.linkLabel1.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.linkLabel1.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; - this.linkLabel1.LinkColor = System.Drawing.Color.Blue; - this.linkLabel1.Location = new System.Drawing.Point(7, 37); - this.linkLabel1.Name = "linkLabel1"; - this.linkLabel1.Size = new System.Drawing.Size(212, 21); - this.linkLabel1.TabIndex = 0; - this.linkLabel1.TabStop = true; - this.linkLabel1.Text = "Created by: Lorenz Cuno Klopfenstein."; - this.linkLabel1.UseCompatibleTextRendering = true; - this.linkLabel1.VisitedLinkColor = System.Drawing.Color.Blue; - // - // label2 - // - this.label2.BackColor = System.Drawing.Color.Transparent; - this.label2.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label2.Location = new System.Drawing.Point(7, 4); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(287, 33); - this.label2.TabIndex = 10; - this.label2.Text = "A lightweight, real-time, always on top thumbnail of a window of your choice."; - // - // webBrowser - // - this.webBrowser.AllowWebBrowserDrop = false; - this.webBrowser.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.webBrowser.Location = new System.Drawing.Point(0, 146); - this.webBrowser.MinimumSize = new System.Drawing.Size(20, 20); - this.webBrowser.Name = "webBrowser"; - this.webBrowser.ScriptErrorsSuppressed = true; - this.webBrowser.Size = new System.Drawing.Size(389, 200); - this.webBrowser.TabIndex = 14; - // - // AboutForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; - this.ClientSize = new System.Drawing.Size(389, 145); - this.Controls.Add(this.webBrowser); - this.Controls.Add(this.themedLabel2); - this.Controls.Add(this.themedLabel1); - this.Controls.Add(this.panel1); - this.DoubleBuffered = true; - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D; - this.HideTitle = true; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MaximizeBox = false; - this.Name = "AboutForm"; - this.Text = "OnTopReplica"; - this.panel1.ResumeLayout(false); - this.panel1.PerformLayout(); - this.ResumeLayout(false); - - } - - #endregion - - private VistaControls.ThemeText.ThemedLabel themedLabel1; - private VistaControls.ThemeText.ThemedLabel themedLabel2; - private System.Windows.Forms.Panel panel1; - private System.Windows.Forms.Button buttonExpander; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.LinkLabel linkLabel2; - private System.Windows.Forms.LinkLabel linkLabel1; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.Button buttonUpdate; - private System.Windows.Forms.WebBrowser webBrowser; - private System.Windows.Forms.Button buttonReset; - private VistaControls.ProgressBar progressBar1; - private System.Windows.Forms.ToolTip toolTip; - } -} \ No newline at end of file diff --git a/OnTopReplica/AboutForm.cs b/OnTopReplica/AboutForm.cs deleted file mode 100644 index 9121ad0..0000000 --- a/OnTopReplica/AboutForm.cs +++ /dev/null @@ -1,153 +0,0 @@ -using System.Diagnostics; -using System.Windows.Forms; -using VistaControls.Dwm.Helpers; -using System.Drawing; -using System.Runtime.InteropServices; -using OnTopReplica.Properties; -using System.Deployment.Application; -using System; -using VistaControls.TaskDialog; -using System.ComponentModel; -using OnTopReplica.Update; - -namespace OnTopReplica { - public partial class AboutForm : GlassForm { - - public AboutForm() { - InitializeComponent(); - - //Tooltips - toolTip.SetToolTip(buttonExpander, Strings.AboutButtonExpanderTT); - toolTip.SetToolTip(buttonReset, Strings.AboutButtonResetTT); - toolTip.SetToolTip(buttonUpdate, Strings.AboutButtonUpdateTT); - - //Add link areas (localized text) - linkLabel1.LinkArea = new LinkArea(linkLabel1.Text.IndexOf("Lorenz Cuno Klopfenstein"), "Lorenz Cuno Klopfenstein".Length); - int linkStart = linkLabel2.Text.IndexOf("www"); - linkLabel2.LinkArea = new LinkArea(linkStart, linkLabel2.Text.Length - linkStart - 1); - - //Glassify - GlassEnabled = true; - GlassMargins = new VistaControls.Dwm.Margins(0, 0, themedLabel1.Size.Height, 0); - - //Update title - themedLabel2.Text = "v" + Application.ProductVersion.Substring(0, 3); - - //Add update event handling - _updateManager.UpdateCheckCompleted += new EventHandler(UpdateManager_UpdateCheckCompleted); - } - - protected override void OnKeyUp(KeyEventArgs e) { - if (e.KeyCode == Keys.Escape) - this.Close(); - - base.OnKeyUp(e); - } - - private void Lck_click(object sender, LinkLabelLinkClickedEventArgs e) { - Process.Start("http://lorenz.klopfenstein.net"); - } - - private void Homepage_click(object sender, LinkLabelLinkClickedEventArgs e) { - Process.Start("http://www.codeplex.com/ontopreplica"); - } - - private void ShowGenericError(string title, string mainContent, Exception ex) { - TaskDialog.Show(mainContent, title, ex.Message, TaskDialogButton.Close, TaskDialogIcon.Stop); - } - - #region Bottom toggler - - private void Toggle_click(object sender, System.EventArgs e) { - IsExpanded = !IsExpanded; - - //Update icon - buttonExpander.Image = IsExpanded ? Resources.xiao_up : Resources.xiao_down; - } - - bool _isExpanded = false; - bool _isFirstExpansion = true; - public bool IsExpanded { - get { return _isExpanded; } - set { - if(_isExpanded != value) - Size = new Size(Size.Width, Size.Height + ((value) ? webBrowser.Size.Height : -webBrowser.Size.Height)); - - _isExpanded = value; - - if (value && _isFirstExpansion) { - //Load text from resources - webBrowser.DocumentText = Strings.AboutDetails; - - //Register navigation events - webBrowser.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating); - - _isFirstExpansion = false; - } - } - } - - void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) { - if (e.Url != null && e.Url.IsAbsoluteUri) { - Process.Start(e.Url.ToString()); - e.Cancel = true; - } - } - - #endregion - - #region Updating - - UpdateManager _updateManager = new UpdateManager(); - - private void Update_click(object sender, System.EventArgs e) { - CheckForUpdate(); - } - - delegate void GuiAction(); - - void UpdateManager_UpdateCheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { - Invoke(new GuiAction(() => { - if (e.Success) { - _updateManager.HandleUpdateCheck(this, e.Information, true); - } - else { - var dlg = new TaskDialog(Strings.ErrorUpdate, Strings.ErrorUpdate, Strings.ErrorUpdateContentGeneric) { - CommonIcon = TaskDialogIcon.Stop, - CommonButtons = TaskDialogButton.OK - }; - dlg.Show(this); - } - - UpdateStopped(); - })); - } - - public void CheckForUpdate() { - //Update GUI - buttonUpdate.Visible = false; - progressBar1.Visible = true; - - _updateManager.CheckForUpdate(); - } - - void UpdateStopped() { - //Reset UI - progressBar1.Visible = false; - buttonUpdate.Visible = true; - } - - #endregion - - private void ResetClick(object sender, EventArgs e) { - var dlg = new TaskDialog(Strings.AskSettingReset, Strings.AskSettingResetTitle, - Strings.AskSettingResetContent); - dlg.CommonButtons = TaskDialogButton.OK | TaskDialogButton.Cancel; - - if (dlg.Show(this).CommonButton == Result.OK) { - Settings.Default.Reset(); - } - } - - } -} diff --git a/OnTopReplica/AboutForm.resx b/OnTopReplica/AboutForm.resx deleted file mode 100644 index 4d116c2..0000000 --- a/OnTopReplica/AboutForm.resx +++ /dev/null @@ -1,309 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 17, 17 - - - - - AAABAAIAMDAAAAEAIACoJQAAJgAAABAQAAABACAAaAQAAM4lAAAoAAAAMAAAAGAAAAABACAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAAAAFwAAACAAAAAnAAAAKwAAACwAAAAsAAAALAAA - ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA - ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA - ACwAAAAsAAAAKwAAACcAAAAfAAAAFwAAAA0AAAAGAAAABgAAAA4AAAAdAAAALQAAAD0AAABIAAAATgAA - AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA - AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA - AE8AAABPAAAATwAAAE8AAABPAAAATgAAAEgAAAA9AAAALQAAABwAAAANAAAACwAAABkAAAAwAAAARwAA - AFsAAABpAAAAcAAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA - AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA - AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcAAAAGkAAABdAAAASAAAAC8AAAAYAAAAEQAA - ACQAAABBAAAAbAoKC6QYGBiyFhcXtBcXF7QXFxe0FxcXtBcXF7UXFxi0FxcYtBcYGLQXGBi0FxgYtBgY - GLQXGBi0FxcYtBcXF7QXFxe0FxcXtBcXF7QXFxe0FxcXtRcXF7UXFxe1FxcXtBcXF7QXFxe0FxcXtBYX - F7QWFhe0FhYXtBYWFrQWFhe0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe0GBgYtQEBAqYAAAB5AAAAXwAA - AEEAAAAkAAAAFwAAACwAAABdOTk3u46IgKWTjIKUkYiAk4yEepKHf3WQhHtyj4B5b45+eG2NfHVrjHly - Z4t5cmeLeXFni3huZot5b2aLe3JoioB3bIuDe3KMiH92jIyCeIyMhXqNjYZ7jo2HfI+Ph36PkId/j5GI - f4+SiX+PkomAj5OLgJCTjIKQk4yCkJSMgpCTi4GQj4h+joyEeo2LgniMjIN5jY+HfY6RiYCPkoqAjn55 - c7IXFxe1AAAAcQAAAFAAAAAuAAAAGwAAADAJCQmJkoyGrJ6ViXCypp2Fv7OskL2yq5G6r6ePt6yljbWr - o4yzqqGLsaefirClnYmupJ2JrqOdia6inYqvpJ2JsqafibSqo4m4raeKu7Gqiryyq4u8s6uLu7OsjLyz - rYy8s62MvbOujb20ro29ta6NvbWujry2ro67tq6OvLaujr23r468ta6OurOsjLiyq4u3sayLubOvjLu0 - so20ramGnpWNdJ+ViGxnZWG9AAAAiQAAAFYAAAAzAAAAHAAAADIREhKSqaGapbK4splz3ePrceDn8nPg - 5/N14OfzduDm83nh5fN84uXyf+Lk8oLj5PKF4+Lyh+Pi8onk4PKM5d/yj+Xf8pPm3/KX6ODynOni8qDq - 4/Kk7OLyqO7i863w4vKy8+Hytvbh87z44fPE+uHzzvvk89776vPs+/Pz+fv58//7/fP/+/7z//v98v/7 - 9/L8++3y9/vi8/b70fPz+b7u1da5u6mim3V/fHe1AAAAkQAAAFkAAAA2AAAAHQAAADMQEBCRsKiirMLO - ybBI3eT/PNnf/z3Z2v8+2df/P9nV/0HZ0/9G2tL/StvQ/0vbzv9O28v/UNzJ/1Pcx/9W3sX/WuHD/13k - wv9i6ML/aO/E/3D1x/99+s7/jP3W/53/4P+y/+r/xf/x/9r/+f/v//3/9//8//n//P/6//r/8v/r/+H/ - 3v+//dr/t/3Z/8L+zv/K/7H/1f2b/9r8jv/X/Yz/0Oa+1r2zsYJ+e3e4AAAAkQAAAFoAAAA3AAAAHQAA - ADMPDw+RtKumr8bSz7Y809n/L9DT/zLQ0f8zz8//NNDL/zfQyf860Mj/PNHF/z3Sw/9A1cH/RdnC/0re - xP9S5cj/W+zN/2by0/9x+Nj/e/3d/4L/4P+L/+T/mf/o/6n/6/+5/+z/xP/n/8f/2/+//8z/tPy//6X5 - tf+Z96//jPar/3j1rP9z97j/gvrD/4X9yf+Q/cv/qvu5/7jtkf+112f/z9mt2cW9u4iAfXm5AAAAkQAA - AFoAAAA3AAAAHQAAADMPDw+Rta6osMfT0Lc40tX/LM/Q/zHQz/8y0c7/NdTO/znXz/8/29H/ROHV/0zo - 2P9T7tz/WvTg/2D54v9l++H/avzf/27+3f90/9v/ev/a/4H/1/+K/tT/kPzL/5H4v/+N87D/he6f/4Dp - k/+B5o3/huWK/4/liP+W5of/muaG/5zihv+e2ob/pNeJ/6ncjP+s5pD/pO6U/5/wlv+h4oX/ytu32si/ - vYuCf3u6AAAAkQAAAFoAAAA2AAAAHQAAADMPDw+Rt6+qscnV0bk+2Nf/M9nV/zrd2P9A4tz/Rejf/0jq - 4P9J6tv/TOrW/07o0P9P5sn/UefD/1Xqwf9c8ML/ZPXC/2v3wP9v8rn/cOqv/27iof9r25X/a9mN/3TZ - jP9924v/gtuH/4fbgv+I2n7/itR6/4nNdP+HxW3/iL5o/4y4YP+St1X/k7ZL/5S1Tv+ZtlX/pL5d/67L - Yv+x123/0uC828rCwI2DgHy7AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RuLCss8rX07pG4dz/Od7W/zzb - 0f8/2s3/P9jI/0DUwv8/0Ln/Q9G2/0rXuP9S3rr/WuS9/1/kuf9f3rD/X9ai/1/Pl/9hzJD/Zc+M/2zT - if9x1oj/d9eE/37Vg/+D0X//fshz/3m+aP95uGP/e7Nf/3+wXP+FsFb/jLVR/4+8Uv+QwFv/k8Rk/5zF - Zf+hw2D/pMBY/6i7Uv+ps0D/0M+i3M3Hx5CEgX68AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RubKutMvW - 0rs/ysH/MsS3/zbDtP87x7b/Qc27/0bVwP9L2b//Ttq7/1HWs/9T0Kn/Vcqh/1jImv9dy5X/Y9CS/2nT - kP9u1Yz/cNOG/3DOfv9wx3X/cMJv/3vDcf+GxnH/gsFl/4G/Xv+Iv17/jMNc/5DHXP+QzGH/jM9u/4vL - c/+OwWz/j7lg/5GyVP+SqEn/lqJB/5icOv+WkSr/yMOb3NDMypGFgn+9AAAAkAAAAFoAAAA2AAAAHQAA - ADIPDw+RurOvtszW0bxCxbj/OMa2/0DNu/9F0r3/SdS9/0rSt/9LzKz/TMik/1HLoP9a0aH/Y9ih/2vc - nv9w3Jf/cdqP/3PXiP931YH/etV8/37Vdv+A1HD/hdNq/5XUbv+Z027/icll/4HGYv+Dx1z/hcJU/4K3 - VP99qVX/fJ1J/3yTPP97izT/fIYv/4CDK/+EgSj/iIAn/4uBJv+MfBr/xr2W3dPPzZOHhIG9AAAAkAAA - AFoAAAA2AAAAHQAAADIPDw+RvLWwts7Z071K0L7/Psq0/0LKr/9HzK3/T9Ox/1jdtv9f5bf/Y+q0/2rt - r/9y7Kn/eeqj/4Hmnf+C4pT/gNyK/3/Tfv99zHP/e8Rp/3e7Yf9ysl3/b69h/3e2cf9zuHD/aa9Z/3Gn - Qv94nDT/dI4v/3KGKv90gyb/doIk/3d/I/94fCH/enog/3x4IP+AeCD/g3kg/4d6Iv+Idhf/xLuW3tbR - 0JWHhIG+AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvLWxuM/Z075W173/Utq7/1riv/9h6cL/aOzC/23t - v/9s6bP/aeCl/2nVl/9pzIz/bcSB/3C8d/9ts23/Z6lj/2SiXf9hnVv/XZpb/1yZXP9cnFv/ZaVZ/3aw - U/94pjv/cY8n/2+EJP9sgCX/bH4k/3B+I/92gCL/en8f/3p7Hv95eB7/eXcd/3t1Hv9+dR7/gHYf/4R3 - H/+FchX/w7qW3tfT0peHhYK/AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvbazuNHb1b9k3r//WNez/1bP - qP9Tx5z/U7+U/1O5jv9Ss4T/UKp2/1Cha/9Tnmb/Wp5j/2ChZP9gn2L/XJld/1yYXP9cmFf/XphQ/2Sa - R/9nmDr/cJkv/32dKf92jyT/an0h/2p9If9ufyD/cn4e/3V+Hf98gB3/fX8c/3t6HP95dhz/eHQb/3lz - HP97cxz/fXQc/4J0Hf+CbxL/wrmV3tjU1JiIhoPAAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+Qvbe1udDY - 0sBPt5b/QauH/0Khff9CnXT/RZ1y/0iecP9Lnm3/S5pn/0yVYv9QlGD/WZlf/2KhXv9ln1n/YplS/2WZ - TP9nmEP/aJQ5/2aNLP9mhST/dI0i/3+WI/9yhx//aXkc/2x7G/9xfhr/dYEa/3qAGv+Agxr/f4AZ/3x7 - Gv95dhr/eHIZ/3hxGv95cRn/fHEa/4ByG/+AbBD/wbiU39nW1pqIhoPAAAAAkAAAAFoAAAA2AAAAHQAA - ADIPDw+Qvrq2utDW0MFJo4D/P5xz/0KVbP9BkWb/RJJl/0eVZ/9LmGb/TZZh/0+TW/9UlFf/X5pU/2ui - U/9uoUz/bZtD/2+YO/9oji//ZIQl/2Z/IP9ugB3/e40e/32QHv9xgRv/a3kY/298F/90gRf/eYMY/36D - F/+Ehhj/g4IY/358GP96dhj/d3IY/3dwGP94bxj/em8Y/31wGf99ag7/wbiU4NzY15uJh4TBAAAAkAAA - AFoAAAA2AAAAHQAAADIPDw6Qv7q3u9DWz8FJnnT/QJdq/0KPZP9Di1//RYxd/0mQXP9Ok1r/UJNW/1OS - Uf9ak0z/aJxI/3ilRP96oT3/b5Qx/2yMKP9pgyH/a4Ac/219Gf9wfhj/eosa/3yOGv9xfxf/bnwW/3J/ - Ff96hBX/fYMW/4GFFv+Hhxb/hYMW/398Ff97dRb/eHIW/3dvFv93bhb/eG4W/3xuF/97aAz/wLiU4N3Z - 2JuJh4TBAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6Qv7u4u9DWz8JLmm3/QpRh/0SNWv9Fh1P/SYhR/0yL - T/9Rjk7/V5RK/12XRv9mmUD/dqI8/4GmNf93mCz/booj/3OKHv9yhBr/cH8V/257FP9ygBb/fY8Y/36P - GP9ygBT/cn4U/3iDFP+AiBT/foUT/4aIFP+IiBT/hYMU/398E/98dhP/eXMU/3hwFP93bRX/d20V/3tt - Ff94Zgr/wLeT4N3Z2p2KiIXBAAAAkAAAAFoAAAA2AAAAHQAAADIODg6QwLy5vNHWz8JOmGP/RpNW/0eK - UP9Igkj/SoJG/1CIQ/9blEL/ZJs+/2qfO/9zoTX/eJ0s/32aJP95kiD/doob/3uMGf92hRb/cYAU/258 - Ev92hRP/g5MV/4WSFf92gxL/eIMS/3+HEv+EjBL/gYcR/4mKEf+IiRL/hIMS/4B8EP98dxH/e3QS/3lx - E/93bhP/eG0T/3lsFP93ZQn/wLeT4d7a252KiIXCAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6QwLy5vNHW - zcNRlFj/SZJN/0yIR/9MgD//VYs8/2CXOv9lmDf/bqU1/3CgL/9tjiX/d5Eg/4OaHv9/khz/e4sX/4KN - Fv96hhT/dIAS/3N/Ef9/ixP/i5kU/4qVFP98hhH/fogR/4WNEf+GjRH/hYkO/4mLD/+IiA//hIEQ/398 - D/99eA//fXYQ/3xzEf96bxL/eW0S/3ptEv93Zgf/wLiS4d7a256LiIbCAAAAkAAAAFoAAAA2AAAAHQAA - ADIPDg6QwLy6vNLVzcNUklD/S5BD/1OOP/9elTr/YZQ0/2WYMf9urC//apgn/2WCIP9wiR7/f5Uc/4qb - Gv+Fkhr/gIsV/4SNE/98hhL/eIEP/3mDEP+GkhL/kp4S/4uWEf+Aig//gosO/4qREP+IjQ//iYsN/4uM - Df+Ihgz/hIEO/4B7Df9/eA3/gXgP/4B1D/9+chD/fW4R/3xtEf95aAb/wbmS4d/c3J+LiYbCAAAAjwAA - AFoAAAA2AAAAHQAAADIPDw+Rwby6vdLVzMRVkUf/WZ89/2WjOv9gjzD/ZKAu/2muLf9ljST/ZH0f/2uE - Hf93jRv/hZYY/4+bF/+Ikhr/gooS/4OMEP99hg7/eoIO/36HDv+NlxD/l6AQ/42VD/+FjQ3/h44N/4+U - D/+IjA7/jYwM/46KDP+JhAr/gn8M/396C/+BeAz/g3gN/4J1Df+Acw7/fm8P/31uD/98awT/wruS4d/c - 3J+LiYbDAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RwLy7vtPWzMRjo0L/YaY2/1+XMf9lri7/YqQp/1x+ - If9lgB7/aoIc/2+FGv99jRf/i5YV/5KaFv+JkBj/gogP/4OLDf9/hgz/fIML/4OKDP+Umw7/nKEP/42T - Df+Ijgz/jJEM/5CWDf+Liwz/kY4K/4+KC/+Jgwn/gn0K/4B5Cv+CeAv/g3gM/4N2Df+Acw3/f28N/35v - Df9+bgP/w72S4d7c3KCLiYbDAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Rwr27vdTYzMRfmTv/W6Ew/2a+ - M/9emCj/WHUf/197Hf9ogxv/bIIY/3KFF/+AjhT/jZcT/5KZFv+IjhX/gogM/4WJDP+AhQr/f4UJ/4iO - C/+ang3/naEN/42SC/+LkAv/kZUL/5KUC/+OjAn/lI8J/4+JCf+Jgwj/g30J/4F5CP+DeQj/g3gK/4J2 - C/9/cgz/fm8L/4BxDP+AcQL/xL6R4d/b3KCLiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Qwr28vtPU - y8Rgojn/YcEx/1uXKf9Zdx//W3gb/2F8Gf9rgxf/bYEV/3WFE/+DjhL/j5YP/5KXE/+HjBL/g4gK/4WJ - Cf+ChQj/gYYI/46SCP+eoQv/naAL/42RCf+OkQr/lpgK/5ORCf+Sjgj/lI8I/4+JCP+Jggf/g30G/4F6 - Bv+DeQf/gncJ/4F0Cv9+cQr/fW8J/4ByC/+BcwD/xL+R4t3a26GKiIXEAAAAjwAAAFoAAAA2AAAAHQAA - ADIPDw+Qwby8v9XczMVhuDf/VpEl/1qFIv9bfBz/XHcZ/2J7Fv9rgRT/b4AR/3eFEP+FjRD/jpUL/5GV - EP+GihD/g4YH/4WIB/+ChAf/hIYH/5SVB/+hogr/nJ0J/5GRB/+Tkgj/mZgJ/5KPCP+VkAf/lY8H/4+I - B/+Jggb/hH0F/4J6Bf+CeAb/gnYH/350CP97cAj/e3AI/4F0Cv+BdQD/xL+R4t3Y26KKiIXEAAAAjwAA - AFoAAAA2AAAAHQAAADIPDw+Qwb69v9TWy8ZZhCz/Voof/1yJIP9cexn/XHYW/2N5FP9sfxH/bn8O/3mE - Df+EjQz/jZMI/5GUEP+FiQ3/hIUF/4aGBf+ChAb/hocF/5iYBv+jpAb/m5oH/5ORB/+WlQb/mZcH/5KP - Bf+XkQb/lY4F/46HBv+IgQX/hHwE/4N7BP+CeAX/f3UG/3xyBv96bwb/e3EG/4J2Cf+CdwD/xL+Q4tzZ - 26KKiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw769v9TVy8ZXgin/V4sc/1yKHv9behj/XXQV/2N3 - Ev9rfA//b30N/3mCDP+Eiwv/jJEI/5CSEv+Ehgz/g4QD/4WFBf+CgwX/iokF/5uaBv+jpAX/mJYF/5OQ - Bv+Ylgb/lpMG/5SPBf+YkQb/k4sG/42EBv+HfwT/hHwD/4N7BP+AeAX/fXQE/3pwBf93bgb/enEG/4B2 - CP+CdwD/xMCP49zZ26OKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw7++wNXVzMZYgCj/Voob/12K - G/9cehb/XXIT/2J1EP9rew7/bXwM/3iBC/+Eigr/io8H/46RE/+ChAn/gYID/4ODBf+Cggb/jYsF/52c - Bf+iogb/lZMF/5OQBv+YlQb/k48G/5WOBv+Xjwb/kIkG/4uCBv+FfQT/g3wD/4N6Bf9/dQX/enEE/3Vu - BP90bgX/eHEG/393CP+BeQD/xMGO49vZ26SKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6RxMC+wNXW - zMZZfib/V4kY/16KGf9behX/W3AS/2JzD/9peQz/bHoL/3eACf+DiQj/io0H/46QFf+Aggj/gIED/4GC - BP+BgQX/j40F/5+dBv+hngX/lI8G/5WQBv+YkwX/kosF/5aOBf+VjAb/j4YF/4iABf+EewP/g3sE/4J4 - Bf9+dAT/d3AE/3JtBP9ybQT/d3IF/3x3B/+AeQD/wb6N49vY26SJiIXGAAAAjwAAAFoAAAA2AAAAHQAA - ADIODg6QxMC/wNbWzMZZfCP/WIYV/16KGP9ceRT/XG8Q/2FxDf9odwz/bXgK/3Z/CP+Bhwj/iYsH/42O - Ff9+gAf/f4AE/3+AA/+CgQT/ko8G/6CeBv+emQb/kowH/5WPBv+VkAX/kYkG/5eMBv+TiQX/jYMF/4d+ - BP+DegP/g3kE/4B2BP98cgT/dW4E/3BrA/9xbQT/dXEF/3t4Bv97dwD/vbqN49za26WJiIXGAAAAjwAA - AFoAAAA2AAAAHQAAADIODg6QxcG/wNbXzcdXeiH/V4QT/16JFv9deRL/W24N/19wDP9ndAv/bHYJ/3V9 - B/+Bhgf/iIkH/4yNFv98fgX/fn4D/35+A/+DgAT/lJEF/6GeBv+alAb/kYkH/5WOBf+SiwX/kIcH/5aK - Bv+QhQX/i4EF/4Z8BP+CeAX/gXYF/35zBP96cAT/c2wE/29qA/9xbQP/dHEE/3t6Bf9zcAD/uriN493a - 26WKiIXGAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6Qx8PBwdbXzcdWeB//V4IS/16IE/9ceRD/WmwN/15u - C/9lcgn/anUH/3V8B/+BhAb/hocG/4uLGP96ewX/fH0E/3x8A/+EgQT/lZMF/6GdBv+Vjwb/kIgF/5ON - Bf+PhwX/kYYG/5OHBf+MggX/ioAE/4R5BP+BdwX/gHUE/3xyBP92bgT/cGsE/29qA/9wbAP/c3ED/3l4 - Bf9taQD/ubWN493a26WKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8PCwdjYzsdWdR//VX8P/12G - Ef9cdw7/WWoN/15sCv9jcQj/anMG/3R7Bv9/gwX/hIUG/4mJGf94eAP/ensE/3p6BP+FggT/l5QE/56b - Bf+PigX/j4YG/5CJBf+MgwX/kYUG/5CDBf+KfwT/iH8D/4F3Bf+AdQT/fnME/3pwBP9zbAT/cGoD/29q - A/9vbAP/dHID/3RzBf9nYgD/trOM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8TDwdjY - zsdVch3/U3oN/1yEEP9cdg3/WWkL/11rCP9icAf/aXEG/3N5Bv9+gQT/goQH/4aHGf91dgL/eHgF/3l4 - BP+GgwP/mZQF/5uXBf+MhQX/jYYF/42FBP+JgAT/j4ME/4uABP+JfgT/hXsE/390BP9/dAT/fHIE/3du - BP9yawP/b2oD/29rA/9vbAP/c3MD/25tA/9hXQD/tLKM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAA - ADIODg6QycXEwdnZz8dUbxv/UnYM/1uBDv9cdQv/WWkJ/1tpB/9gbgX/aHEF/3J3Bv97fgP/gIII/4SF - GP9ycwL/dnYF/3h3BP+IhAT/mJQF/5aSBP+IggX/ioMF/4iAA/+IfwT/jYEE/4d9BP+HfgT/gXgE/39z - BP99cgT/enAE/3RtBP9wagP/bmoD/25rA/9wbQP/cXED/2lnAv9cWAD/s7CL497a3KaKiIbGAAAAjwAA - AFoAAAA2AAAAHQAAADIODg6QysfFwdna0MhTbRn/UXIL/1t+Df9bdAr/WGgI/1pnB/9fbAb/Zm8F/3F2 - BP95fAL/f4EK/4KCFv9wcQL/dXQE/3d2BP+JhQT/mJQF/5GMBf+GfwX/hn8E/4N7BP+IfgT/iX4E/4V7 - A/+GfAT/fXQE/31yBP97cQT/d24E/3FrA/9uaQL/bWoC/21qAv9xbwP/bWwD/2RiA/9XVAD/sa6L5N/b - 3KiKiIbHAAAAjwAAAFoAAAA2AAAAGwAAADEODg6PysfFwdjYzsZRaRb/TW0G/1d6Cf9YcQb/VGUE/1dk - BP9caAP/ZGwB/25zAP92eQD/fX8K/31+Ev9sbQD/cXAB/3Z1Af+IhQL/lZEC/4uEAf+BewL/f3gB/393 - Av+EewH/hHoB/4N4Af+CeAH/eG8B/3lvAv93bgH/cmsC/21oAP9rZwD/a2cA/2tpAP9ubQD/ZmUA/2Bd - AP9STgD/rquJ497b3KeKiIbHAAAAjQAAAFgAAAA1AAAAGAAAACwQDw+MysbEv9LRx71WbR3+U3AP/1x7 - EP9ddQ7/WmoN/11pDv9jbQz/anEK/3N4C/96fAr/gYMX/36BGv9wcQj/dXQL/3t7DP+Niw3/l5QN/4qE - Df+Efg3/f3kM/4N8DP+IgAv/hnwM/4h/DP+CeQz/fXQM/310DP95cwz/dW8L/3JtCv9xbQn/cW0K/3Jx - Cv9xcAr/aWgL/2RiCv9WUgf/qaaH2tjV1aGMiojGAAAAiQAAAFIAAAAwAAAAFAAAACQLCwuCv7y4v9XR - y6PMzcDB0tTGzNTWx87V1sfO1NXHztXVx87V1cfP1tbHztjXx87Y18fO2dfIztfWx8zV1MXL1dPDytXU - w8nX1cPJ2NbDydbUw8jW08PI1dPDydbTw8nX1MPJ1tPDytfUxMrW1MTK1tPDytbTxMvW08TL1tTFy9bT - xcvV0sPL1NHDzNPRwszS0cLM0c/CzNHOwszJx7vFxsK7sM3IxJmEgoDGAAAAewAAAEYAAAAoAAAADgAA - ABoAAABTaWhmx9jUzrLg3Nmr4t3br+Ld26/j3tuv497br+Pf26/i39uw4d/br+He26/h3duv4Nvart7a - 2Kzc2Nap29bTqNnV0qfY1NGn2NPRp9jV0abZ1NGm2tTRpdnV0abZ1NKn2dTTqNrW1Kjb1tSo29bUqdzW - 1and2Nap3dnWqd3X1qra1tSq2NTTrNfU0qzX09Ks19PSrNfT0q3W0c+r0MvHp766tr0xMTC4AAAAVwAA - ADUAAAAeAAAACQAAABIAAAAnAAAAZzMzMqtPTk20TEtKs0tLSrRMS0q0TEtKtExLSrRMS0q0S0tKtEtL - SrRLS0q0S0tKs0tKSbNKSUmzS0pIs0pKSbNKSkizSkpIs0pKSLNLSUizS0pJsktKSbJLSkmzS0pJs0tK - SbNLSkmzTEpJs0xKSbNMSkmzTEpJs0xKSbNLSkmzS0pJs0tKSbNLSkmzS0pJs0tJSbNLSkm0TUxLth4d - HaMAAABeAAAAOAAAACUAAAATAAAABQAAAAsAAAAWAAAAIQAAAC0AAAA3AAAAOgAAADoAAAA6AAAAOgAA - ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA - ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA - ADoAAAA7AAAAOgAAADMAAAArAAAAIQAAABUAAAALAAAAAgAAAAQAAAAJAAAADgAAABMAAAAXAAAAGQAA - ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA - ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA - ABkAAAAZAAAAGQAAABkAAAAZAAAAGAAAABcAAAATAAAADgAAAAgAAAAEAAAAAAAAAAEAAAACAAAABAAA - AAcAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA - AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA - AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAkAAAAHAAAABAAAAAIAAAABAAAAAAAA - 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA - AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA - 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA - AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA - 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA - AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA - 8gQAAAAAAADyBIAAAAAAAPIEKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - ABEAAABAAAAAVwAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABXAAAATAAA - AB8EBAQ+VlRQlXNybqFqamaeZ2dinWZkYJxqaGOdcG5pnXFwa550cm2feXRxn350c597cW+efHVwnU1K - RZgAAQFUFw4NUI+5uMNY4+b0Xt7b9Gbh2PRv59bzf/La9JP84vSx/+r0z//p9Nv/4vTP/930yv/Z9N// - ufKnp5OvAwEEZRkPDk6Eu7nPLtvX/zrbz/9F4Mn/VOrF/2Xuvf9y667/guWe/4nciP+K1Hf/jM5v/5bO - b/+v2HT/paeTuwQCBmIZDxBPirmy0D/Wwf9Q273/W9yt/2vZm/9x0IT/csZw/33Eav99tlT/fqdG/4Cb - QP+FjjH/mZAz/6SfjL0FBQhjGBAST5G6rtFOyqT/VsCS/1mze/9mrGv/ZqFZ/2WXRP9zmDT/bYIh/3V9 - HP96eBn/d28X/4p7Jf+kno3ABQYJYxkTFlCOq5vTPpFi/0eLV/9WlE//b51B/26NKv9tgBn/d4YX/3N+ - Ff+ChhX/gH0W/3ZuFP+FdyH/pZ+OwQYGCWMZFBhQkKiR1EuNRv9dlDr/bZgu/4CWHv98iBT/eoUR/4SQ - Ev+CihD/iYoP/4F9D/97cQ//hHYc/6Wgj8MGBgljGBQZUJasidReozD/Y40i/3OHGP+MlRX/gYgO/4iP - Df+RmA3/jZEM/42JCv+Cewr/gXQK/4l6F/+noo/EBgYJYxgUGlCXroXVWI8f/2J4Ff97iBD/jZIO/4OF - CP+TlQf/mJkI/5WSCP+PiAb/g3oF/31yBf+KfhP/p6OOxQYGCWMZFhtQlaOB1VeCFf9idRD/eoQK/4qM - C/+CggT/mJYF/5iVBv+WkAX/jIQF/4J4BP92bgP/h4AR/6ajjcYGBgljGRYcUJaif9ZYgA//YHAM/3d/ - CP+Ghwv/gIAE/5mVBv+UjQb/kogG/4h9BP99cwT/cGsB/4B+D/+joYzGBgYKYxoXHVCWoH7XU3cG/1tq - Bf9yeAL/fX4I/317AP+TjgH/ioIB/4p+Af+AdQD/dWwA/21pAP90cgn/oJ2MyAcHCmQaGB1RoaiK1maC - HP9teh3/gYYb/4mKIf+Nixr/m5Yb/5KKG/+Uihv/i4Eb/4F7Gv9+exf/fHoi/6WilMcHBwpjBgYHMXp5 - dKCcnZG2mZiNtJqZjbWZl4yzmJaIsJiWiLCYlYiwmZaJsZmVirGYlYqylpSJs5mXjbRqaGadAQEBPQAA - AAUAAAAeAAAAKgAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAArAAAAIwAA - AAoAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA - rEEAAKxB - - - \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index eff838d..9e73b56 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -100,12 +100,6 @@ - - Form - - - AboutForm.cs - Form @@ -235,10 +229,6 @@ - - AboutForm.cs - Designer - GroupSwitchPanel.cs diff --git a/OnTopReplica/SidePanels/AboutPanel.Designer.cs b/OnTopReplica/SidePanels/AboutPanel.Designer.cs index 4b1ee79..0e5ce74 100644 --- a/OnTopReplica/SidePanels/AboutPanel.Designer.cs +++ b/OnTopReplica/SidePanels/AboutPanel.Designer.cs @@ -100,6 +100,7 @@ this.buttonUpdate.Text = global::OnTopReplica.Strings.AboutUpdatesCheckNow; this.buttonUpdate.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; this.buttonUpdate.UseVisualStyleBackColor = true; + this.buttonUpdate.Click += new System.EventHandler(ButtonUpdate_click); // // lblUpdateDisclaimer // diff --git a/OnTopReplica/SidePanels/AboutPanel.cs b/OnTopReplica/SidePanels/AboutPanel.cs index 222e042..481c71d 100644 --- a/OnTopReplica/SidePanels/AboutPanel.cs +++ b/OnTopReplica/SidePanels/AboutPanel.cs @@ -7,9 +7,14 @@ using System.Text; using System.Windows.Forms; using VistaControls.Dwm; using System.Diagnostics; +using OnTopReplica.Update; +using VistaControls.TaskDialog; namespace OnTopReplica.SidePanels { partial class AboutPanel : SidePanel { + + UpdateManager _updater; + public AboutPanel() { InitializeComponent(); @@ -17,6 +22,10 @@ namespace OnTopReplica.SidePanels { thlabelVersion.Text = string.Format(Strings.AboutVersion, Application.ProductVersion); InternationalizeLinkLabel(linkAuthor, Strings.AboutAuthor, Strings.AboutAuthorContent); InternationalizeLinkLabel(linkCredits, Strings.AboutCreditsSources, Strings.AboutCreditsSourcesContent); + + //Updating + _updater = new UpdateManager(); + _updater.UpdateCheckCompleted += new EventHandler(UpdateCheckCompleted); } private void InternationalizeLinkLabel(LinkLabel label, string text, string linkText) { @@ -59,5 +68,30 @@ namespace OnTopReplica.SidePanels { #endregion + void ButtonUpdate_click(object sender, System.EventArgs e) { + progressUpdate.Visible = true; + + _updater.CheckForUpdate(); + } + + void UpdateCheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + this.Invoke(new Action(() => { + var topForm = this.TopLevelControl as Form; + + if (e.Success) { + _updater.HandleUpdateCheck(topForm, e.Information, true); + } + else { + var dlg = new TaskDialog(Strings.ErrorUpdate, Strings.ErrorUpdate, Strings.ErrorUpdateContentGeneric) { + CommonIcon = TaskDialogIcon.Stop, + CommonButtons = TaskDialogButton.OK + }; + dlg.Show(topForm); + } + + progressUpdate.Visible = false; + })); + } + } } From ea9f7a4643855cb6ec667a1587aa539675fe8e14 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 30 Mar 2011 00:36:58 +0200 Subject: [PATCH 100/164] Refactored about sidepanel into separate control. Added information to about sidepanel with translated strings. --- OnTopReplica/LICENSE.txt | 21 +- OnTopReplica/OnTopReplica.csproj | 9 + .../SidePanels/AboutPanel.Designer.cs | 210 +-- OnTopReplica/SidePanels/AboutPanel.cs | 69 +- .../SidePanels/AboutPanelContents.Designer.cs | 263 ++++ OnTopReplica/SidePanels/AboutPanelContents.cs | 96 ++ .../SidePanels/AboutPanelContents.resx | 120 ++ OnTopReplica/Strings.Designer.cs | 72 ++ OnTopReplica/Strings.cs.resx | 54 - OnTopReplica/Strings.da.resx | 54 - OnTopReplica/Strings.es.resx | 54 - OnTopReplica/Strings.it.resx | 1130 ++++++++--------- OnTopReplica/Strings.resx | 26 + 13 files changed, 1131 insertions(+), 1047 deletions(-) create mode 100644 OnTopReplica/SidePanels/AboutPanelContents.Designer.cs create mode 100644 OnTopReplica/SidePanels/AboutPanelContents.cs create mode 100644 OnTopReplica/SidePanels/AboutPanelContents.resx diff --git a/OnTopReplica/LICENSE.txt b/OnTopReplica/LICENSE.txt index 7789d65..fed0f94 100644 --- a/OnTopReplica/LICENSE.txt +++ b/OnTopReplica/LICENSE.txt @@ -1,2 +1,21 @@ Microsoft Reciprocal License (Ms-RL) -http://opensource.org/licenses/ms-rl.html + +This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software. + +1. Definitions +The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. +A "contribution" is the original software, or any additions or changes to the software. +A "contributor" is any person that distributes its contribution under this license. +"Licensed patents" are a contributor's patent claims that read directly on its contribution. + +2. Grant of Rights +(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. +(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. + +3. Conditions and Limitations +(A) Reciprocal Grants- For any file you distribute that contains code from the software (in source code or binary format), you must provide recipients the source code to that file along with a copy of this license, which license will govern that file. You may license other files that are entirely your own work and do not contain code from the software under any terms you choose. +(B) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +(C) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. +(D) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. +(E) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. +(F) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 9e73b56..6a4b566 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -150,6 +150,12 @@ AboutPanel.cs + + UserControl + + + AboutPanelContents.cs + UserControl @@ -178,6 +184,9 @@ AboutPanel.cs + + AboutPanelContents.cs + diff --git a/OnTopReplica/SidePanels/AboutPanel.Designer.cs b/OnTopReplica/SidePanels/AboutPanel.Designer.cs index 0e5ce74..b8afe49 100644 --- a/OnTopReplica/SidePanels/AboutPanel.Designer.cs +++ b/OnTopReplica/SidePanels/AboutPanel.Designer.cs @@ -23,206 +23,52 @@ /// the contents of this method with the code editor. /// private void InitializeComponent() { - this.panelMain = new System.Windows.Forms.Panel(); - this.labelTranslators = new System.Windows.Forms.Label(); - this.linkCredits = new System.Windows.Forms.LinkLabel(); - this.progressUpdate = new VistaControls.ProgressBar(); - this.buttonUpdate = new System.Windows.Forms.Button(); - this.lblUpdateDisclaimer = new System.Windows.Forms.Label(); - this.labeledDivider2 = new VistaControls.LabeledDivider(); - this.labeledDivider1 = new VistaControls.LabeledDivider(); - this.linkHomepage = new System.Windows.Forms.LinkLabel(); - this.linkAuthor = new System.Windows.Forms.LinkLabel(); - this.lblSlogan = new System.Windows.Forms.Label(); - this.thlabelVersion = new VistaControls.ThemeText.ThemedLabel(); - this.panelMain.SuspendLayout(); + this.labelVersion = new VistaControls.ThemeText.ThemedLabel(); + this.panelContents = new OnTopReplica.SidePanels.AboutPanelContents(); this.SuspendLayout(); // - // panelMain + // labelVersion // - this.panelMain.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + this.labelVersion.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelVersion.Location = new System.Drawing.Point(0, 270); + this.labelVersion.Name = "labelVersion"; + this.labelVersion.Padding = new System.Windows.Forms.Padding(0, 0, 0, 3); + this.labelVersion.Size = new System.Drawing.Size(255, 20); + this.labelVersion.TabIndex = 0; + this.labelVersion.Text = "Version"; + this.labelVersion.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.labelVersion.TextAlignVertical = System.Windows.Forms.VisualStyles.VerticalAlignment.Bottom; + // + // panelContents + // + this.panelContents.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.panelMain.AutoScroll = true; - this.panelMain.Controls.Add(this.labelTranslators); - this.panelMain.Controls.Add(this.linkCredits); - this.panelMain.Controls.Add(this.progressUpdate); - this.panelMain.Controls.Add(this.buttonUpdate); - this.panelMain.Controls.Add(this.lblUpdateDisclaimer); - this.panelMain.Controls.Add(this.labeledDivider2); - this.panelMain.Controls.Add(this.labeledDivider1); - this.panelMain.Controls.Add(this.linkHomepage); - this.panelMain.Controls.Add(this.linkAuthor); - this.panelMain.Controls.Add(this.lblSlogan); - this.panelMain.Location = new System.Drawing.Point(6, 6); - this.panelMain.Margin = new System.Windows.Forms.Padding(6); - this.panelMain.Name = "panelMain"; - this.panelMain.Size = new System.Drawing.Size(243, 258); - this.panelMain.TabIndex = 0; - // - // labelTranslators - // - this.labelTranslators.Location = new System.Drawing.Point(0, 289); - this.labelTranslators.Name = "labelTranslators"; - this.labelTranslators.Size = new System.Drawing.Size(226, 61); - this.labelTranslators.TabIndex = 21; - this.labelTranslators.Text = "Translators: asdasd"; - // - // linkCredits - // - this.linkCredits.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; - this.linkCredits.Location = new System.Drawing.Point(0, 223); - this.linkCredits.Name = "linkCredits"; - this.linkCredits.Size = new System.Drawing.Size(226, 57); - this.linkCredits.TabIndex = 20; - this.linkCredits.TabStop = true; - this.linkCredits.Text = "%CREDITS%"; - this.linkCredits.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkCredits_click); - // - // progressUpdate - // - this.progressUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.progressUpdate.Location = new System.Drawing.Point(0, 155); - this.progressUpdate.Name = "progressUpdate"; - this.progressUpdate.Size = new System.Drawing.Size(118, 23); - this.progressUpdate.Style = System.Windows.Forms.ProgressBarStyle.Marquee; - this.progressUpdate.TabIndex = 19; - this.progressUpdate.Visible = false; - // - // buttonUpdate - // - this.buttonUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonUpdate.Location = new System.Drawing.Point(124, 155); - this.buttonUpdate.Name = "buttonUpdate"; - this.buttonUpdate.Size = new System.Drawing.Size(102, 23); - this.buttonUpdate.TabIndex = 18; - this.buttonUpdate.Text = global::OnTopReplica.Strings.AboutUpdatesCheckNow; - this.buttonUpdate.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; - this.buttonUpdate.UseVisualStyleBackColor = true; - this.buttonUpdate.Click += new System.EventHandler(ButtonUpdate_click); - // - // lblUpdateDisclaimer - // - this.lblUpdateDisclaimer.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.lblUpdateDisclaimer.Location = new System.Drawing.Point(0, 108); - this.lblUpdateDisclaimer.Name = "lblUpdateDisclaimer"; - this.lblUpdateDisclaimer.Size = new System.Drawing.Size(225, 44); - this.lblUpdateDisclaimer.TabIndex = 16; - this.lblUpdateDisclaimer.Text = Strings.AboutUpdatesDisclaimer; - // - // labeledDivider2 - // - this.labeledDivider2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.labeledDivider2.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); - this.labeledDivider2.Font = new System.Drawing.Font("Segoe UI", 9F); - this.labeledDivider2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); - this.labeledDivider2.Location = new System.Drawing.Point(0, 197); - this.labeledDivider2.Name = "labeledDivider2"; - this.labeledDivider2.Size = new System.Drawing.Size(223, 23); - this.labeledDivider2.TabIndex = 15; - this.labeledDivider2.Text = global::OnTopReplica.Strings.AboutDividerCredits; - // - // labeledDivider1 - // - this.labeledDivider1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.labeledDivider1.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); - this.labeledDivider1.Font = new System.Drawing.Font("Segoe UI", 9F); - this.labeledDivider1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); - this.labeledDivider1.Location = new System.Drawing.Point(0, 82); - this.labeledDivider1.Name = "labeledDivider1"; - this.labeledDivider1.Size = new System.Drawing.Size(226, 23); - this.labeledDivider1.TabIndex = 14; - this.labeledDivider1.Text = global::OnTopReplica.Strings.AboutDividerUpdates; - // - // linkHomepage - // - this.linkHomepage.AutoSize = true; - this.linkHomepage.BackColor = System.Drawing.Color.Transparent; - this.linkHomepage.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; - this.linkHomepage.Location = new System.Drawing.Point(0, 54); - this.linkHomepage.Name = "linkHomepage"; - this.linkHomepage.Size = new System.Drawing.Size(167, 17); - this.linkHomepage.TabIndex = 12; - this.linkHomepage.TabStop = true; - this.linkHomepage.Text = "http://ontopreplica.codeplex.com"; - this.linkHomepage.UseCompatibleTextRendering = true; - this.linkHomepage.VisitedLinkColor = System.Drawing.Color.Blue; - this.linkHomepage.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkWebsite_click); - // - // linkAuthor - // - this.linkAuthor.AutoSize = true; - this.linkAuthor.BackColor = System.Drawing.Color.Transparent; - this.linkAuthor.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; - this.linkAuthor.LinkColor = System.Drawing.Color.Blue; - this.linkAuthor.Location = new System.Drawing.Point(0, 33); - this.linkAuthor.Name = "linkAuthor"; - this.linkAuthor.Size = new System.Drawing.Size(72, 17); - this.linkAuthor.TabIndex = 11; - this.linkAuthor.TabStop = true; - this.linkAuthor.Text = "%AUTHOR%"; - this.linkAuthor.UseCompatibleTextRendering = true; - this.linkAuthor.VisitedLinkColor = System.Drawing.Color.Blue; - this.linkAuthor.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkAuthor_click); - // - // lblSlogan - // - this.lblSlogan.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.lblSlogan.BackColor = System.Drawing.Color.Transparent; - this.lblSlogan.Location = new System.Drawing.Point(0, 0); - this.lblSlogan.Name = "lblSlogan"; - this.lblSlogan.Size = new System.Drawing.Size(226, 33); - this.lblSlogan.TabIndex = 13; - this.lblSlogan.Text = Strings.AboutSlogan; - // - // thlabelVersion - // - this.thlabelVersion.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.thlabelVersion.GlowSize = 7; - this.thlabelVersion.Location = new System.Drawing.Point(0, 272); - this.thlabelVersion.Margin = new System.Windows.Forms.Padding(0); - this.thlabelVersion.Name = "thlabelVersion"; - this.thlabelVersion.Padding = new System.Windows.Forms.Padding(0, 0, 0, 1); - this.thlabelVersion.Size = new System.Drawing.Size(255, 18); - this.thlabelVersion.TabIndex = 1; - this.thlabelVersion.Text = "%VERSION%"; - this.thlabelVersion.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; - this.thlabelVersion.TextAlignVertical = System.Windows.Forms.VisualStyles.VerticalAlignment.Bottom; + this.panelContents.AutoScroll = true; + this.panelContents.Location = new System.Drawing.Point(6, 6); + this.panelContents.Margin = new System.Windows.Forms.Padding(6); + this.panelContents.Name = "panelContents"; + this.panelContents.Size = new System.Drawing.Size(243, 255); + this.panelContents.TabIndex = 1; // // AboutPanel // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.thlabelVersion); - this.Controls.Add(this.panelMain); + this.Controls.Add(this.panelContents); + this.Controls.Add(this.labelVersion); this.MinimumSize = new System.Drawing.Size(255, 290); this.Name = "AboutPanel"; this.Size = new System.Drawing.Size(255, 290); - this.panelMain.ResumeLayout(false); - this.panelMain.PerformLayout(); this.ResumeLayout(false); } #endregion - private System.Windows.Forms.Panel panelMain; - private VistaControls.ThemeText.ThemedLabel thlabelVersion; - private System.Windows.Forms.LinkLabel linkHomepage; - private System.Windows.Forms.LinkLabel linkAuthor; - private System.Windows.Forms.Label lblSlogan; - private VistaControls.LabeledDivider labeledDivider1; - private System.Windows.Forms.Label lblUpdateDisclaimer; - private VistaControls.LabeledDivider labeledDivider2; - private VistaControls.ProgressBar progressUpdate; - private System.Windows.Forms.Button buttonUpdate; - private System.Windows.Forms.Label labelTranslators; - private System.Windows.Forms.LinkLabel linkCredits; + private VistaControls.ThemeText.ThemedLabel labelVersion; + private AboutPanelContents panelContents; + } } diff --git a/OnTopReplica/SidePanels/AboutPanel.cs b/OnTopReplica/SidePanels/AboutPanel.cs index 481c71d..1d79ce0 100644 --- a/OnTopReplica/SidePanels/AboutPanel.cs +++ b/OnTopReplica/SidePanels/AboutPanel.cs @@ -6,38 +6,14 @@ using System.Data; using System.Text; using System.Windows.Forms; using VistaControls.Dwm; -using System.Diagnostics; -using OnTopReplica.Update; -using VistaControls.TaskDialog; namespace OnTopReplica.SidePanels { partial class AboutPanel : SidePanel { - UpdateManager _updater; - public AboutPanel() { InitializeComponent(); - //Update dynamic strings - thlabelVersion.Text = string.Format(Strings.AboutVersion, Application.ProductVersion); - InternationalizeLinkLabel(linkAuthor, Strings.AboutAuthor, Strings.AboutAuthorContent); - InternationalizeLinkLabel(linkCredits, Strings.AboutCreditsSources, Strings.AboutCreditsSourcesContent); - - //Updating - _updater = new UpdateManager(); - _updater.UpdateCheckCompleted += new EventHandler(UpdateCheckCompleted); - } - - private void InternationalizeLinkLabel(LinkLabel label, string text, string linkText) { - int linkIndex = text.IndexOf('%'); - if (linkIndex == -1) { - //Shouldn't happen, but try to fail with meaningful text - label.Text = text; - return; - } - - label.Text = text.Substring(0, linkIndex) + linkText + text.Substring(linkIndex + 1); - label.LinkArea = new LinkArea(linkIndex, linkText.Length); + labelVersion.Text = string.Format(Strings.AboutVersion, Application.ProductVersion); } public override string Title { @@ -48,50 +24,9 @@ namespace OnTopReplica.SidePanels { public override Margins? GlassMargins { get { - return new Margins(0, 0, 0, thlabelVersion.Height); + return new Margins(0, 0, 0, labelVersion.Height); } } - #region Link clicks - - private void LinkAuthor_click(object sender, LinkLabelLinkClickedEventArgs e) { - Process.Start("http://lorenz.klopfenstein.net"); - } - - private void LinkWebsite_click(object sender, LinkLabelLinkClickedEventArgs e) { - Process.Start("http://ontopreplica.codeplex.com"); - } - - private void LinkCredits_click(object sender, LinkLabelLinkClickedEventArgs e) { - Process.Start("CREDITS.txt"); - } - - #endregion - - void ButtonUpdate_click(object sender, System.EventArgs e) { - progressUpdate.Visible = true; - - _updater.CheckForUpdate(); - } - - void UpdateCheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { - this.Invoke(new Action(() => { - var topForm = this.TopLevelControl as Form; - - if (e.Success) { - _updater.HandleUpdateCheck(topForm, e.Information, true); - } - else { - var dlg = new TaskDialog(Strings.ErrorUpdate, Strings.ErrorUpdate, Strings.ErrorUpdateContentGeneric) { - CommonIcon = TaskDialogIcon.Stop, - CommonButtons = TaskDialogButton.OK - }; - dlg.Show(topForm); - } - - progressUpdate.Visible = false; - })); - } - } } diff --git a/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs b/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs new file mode 100644 index 0000000..0a9c077 --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs @@ -0,0 +1,263 @@ +namespace OnTopReplica.SidePanels { + partial class AboutPanelContents { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.labelTranslators = new System.Windows.Forms.Label(); + this.linkCredits = new System.Windows.Forms.LinkLabel(); + this.progressUpdate = new VistaControls.ProgressBar(); + this.buttonUpdate = new System.Windows.Forms.Button(); + this.lblUpdateDisclaimer = new System.Windows.Forms.Label(); + this.labeledDivider2 = new VistaControls.LabeledDivider(); + this.labeledDivider1 = new VistaControls.LabeledDivider(); + this.linkHomepage = new System.Windows.Forms.LinkLabel(); + this.linkAuthor = new System.Windows.Forms.LinkLabel(); + this.lblSlogan = new System.Windows.Forms.Label(); + this.labeledDivider3 = new VistaControls.LabeledDivider(); + this.linkLicense = new System.Windows.Forms.LinkLabel(); + this.labeledDivider4 = new VistaControls.LabeledDivider(); + this.linkContribute = new System.Windows.Forms.LinkLabel(); + this.SuspendLayout(); + // + // labelTranslators + // + this.labelTranslators.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelTranslators.Location = new System.Drawing.Point(0, 289); + this.labelTranslators.Name = "labelTranslators"; + this.labelTranslators.Size = new System.Drawing.Size(240, 101); + this.labelTranslators.TabIndex = 31; + this.labelTranslators.Text = "Translators:"; + // + // linkCredits + // + this.linkCredits.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.linkCredits.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkCredits.Location = new System.Drawing.Point(0, 223); + this.linkCredits.Name = "linkCredits"; + this.linkCredits.Size = new System.Drawing.Size(240, 57); + this.linkCredits.TabIndex = 30; + this.linkCredits.TabStop = true; + this.linkCredits.Text = "%CREDITS%"; + this.linkCredits.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkCredits_click); + // + // progressUpdate + // + this.progressUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.progressUpdate.Location = new System.Drawing.Point(0, 155); + this.progressUpdate.Name = "progressUpdate"; + this.progressUpdate.Size = new System.Drawing.Size(132, 23); + this.progressUpdate.Style = System.Windows.Forms.ProgressBarStyle.Marquee; + this.progressUpdate.TabIndex = 29; + this.progressUpdate.Visible = false; + // + // buttonUpdate + // + this.buttonUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonUpdate.Location = new System.Drawing.Point(138, 155); + this.buttonUpdate.Name = "buttonUpdate"; + this.buttonUpdate.Size = new System.Drawing.Size(102, 23); + this.buttonUpdate.TabIndex = 28; + this.buttonUpdate.Text = global::OnTopReplica.Strings.AboutUpdatesCheckNow; + this.buttonUpdate.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonUpdate.UseVisualStyleBackColor = true; + this.buttonUpdate.Click += new System.EventHandler(this.UpdateButton_click); + // + // lblUpdateDisclaimer + // + this.lblUpdateDisclaimer.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblUpdateDisclaimer.Location = new System.Drawing.Point(0, 108); + this.lblUpdateDisclaimer.Name = "lblUpdateDisclaimer"; + this.lblUpdateDisclaimer.Size = new System.Drawing.Size(240, 44); + this.lblUpdateDisclaimer.TabIndex = 27; + this.lblUpdateDisclaimer.Text = "OnTopReplica automatically checks for updates at every start up."; + // + // labeledDivider2 + // + this.labeledDivider2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labeledDivider2.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); + this.labeledDivider2.Font = new System.Drawing.Font("Segoe UI", 9F); + this.labeledDivider2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); + this.labeledDivider2.Location = new System.Drawing.Point(0, 197); + this.labeledDivider2.Name = "labeledDivider2"; + this.labeledDivider2.Size = new System.Drawing.Size(240, 23); + this.labeledDivider2.TabIndex = 26; + this.labeledDivider2.Text = global::OnTopReplica.Strings.AboutDividerCredits; + // + // labeledDivider1 + // + this.labeledDivider1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labeledDivider1.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); + this.labeledDivider1.Font = new System.Drawing.Font("Segoe UI", 9F); + this.labeledDivider1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); + this.labeledDivider1.Location = new System.Drawing.Point(0, 82); + this.labeledDivider1.Name = "labeledDivider1"; + this.labeledDivider1.Size = new System.Drawing.Size(240, 23); + this.labeledDivider1.TabIndex = 25; + this.labeledDivider1.Text = global::OnTopReplica.Strings.AboutDividerUpdates; + // + // linkHomepage + // + this.linkHomepage.AutoSize = true; + this.linkHomepage.BackColor = System.Drawing.Color.Transparent; + this.linkHomepage.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkHomepage.Location = new System.Drawing.Point(0, 54); + this.linkHomepage.Name = "linkHomepage"; + this.linkHomepage.Size = new System.Drawing.Size(167, 17); + this.linkHomepage.TabIndex = 23; + this.linkHomepage.TabStop = true; + this.linkHomepage.Text = "http://ontopreplica.codeplex.com"; + this.linkHomepage.UseCompatibleTextRendering = true; + this.linkHomepage.VisitedLinkColor = System.Drawing.Color.Blue; + this.linkHomepage.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkHomepage_clicked); + // + // linkAuthor + // + this.linkAuthor.AutoSize = true; + this.linkAuthor.BackColor = System.Drawing.Color.Transparent; + this.linkAuthor.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkAuthor.LinkColor = System.Drawing.Color.Blue; + this.linkAuthor.Location = new System.Drawing.Point(0, 33); + this.linkAuthor.Name = "linkAuthor"; + this.linkAuthor.Size = new System.Drawing.Size(72, 17); + this.linkAuthor.TabIndex = 22; + this.linkAuthor.TabStop = true; + this.linkAuthor.Text = "%AUTHOR%"; + this.linkAuthor.UseCompatibleTextRendering = true; + this.linkAuthor.VisitedLinkColor = System.Drawing.Color.Blue; + this.linkAuthor.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkAuthor_clicked); + // + // lblSlogan + // + this.lblSlogan.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblSlogan.BackColor = System.Drawing.Color.Transparent; + this.lblSlogan.Location = new System.Drawing.Point(0, 0); + this.lblSlogan.Name = "lblSlogan"; + this.lblSlogan.Size = new System.Drawing.Size(240, 33); + this.lblSlogan.TabIndex = 24; + this.lblSlogan.Text = "A lightweight, real-time, always on top thumbnail of a window of your choice."; + // + // labeledDivider3 + // + this.labeledDivider3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labeledDivider3.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); + this.labeledDivider3.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labeledDivider3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); + this.labeledDivider3.Location = new System.Drawing.Point(0, 393); + this.labeledDivider3.Name = "labeledDivider3"; + this.labeledDivider3.Size = new System.Drawing.Size(240, 23); + this.labeledDivider3.TabIndex = 32; + this.labeledDivider3.Text = "License"; + // + // linkLicense + // + this.linkLicense.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.linkLicense.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLicense.Location = new System.Drawing.Point(0, 419); + this.linkLicense.Name = "linkLicense"; + this.linkLicense.Size = new System.Drawing.Size(240, 81); + this.linkLicense.TabIndex = 33; + this.linkLicense.TabStop = true; + this.linkLicense.Text = "%LICENSE%"; + this.linkLicense.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkLicense_click); + // + // labeledDivider4 + // + this.labeledDivider4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labeledDivider4.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); + this.labeledDivider4.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labeledDivider4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); + this.labeledDivider4.Location = new System.Drawing.Point(0, 503); + this.labeledDivider4.Name = "labeledDivider4"; + this.labeledDivider4.Size = new System.Drawing.Size(240, 23); + this.labeledDivider4.TabIndex = 34; + this.labeledDivider4.Text = "Contribute"; + // + // linkContribute + // + this.linkContribute.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.linkContribute.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkContribute.Location = new System.Drawing.Point(0, 529); + this.linkContribute.Name = "linkContribute"; + this.linkContribute.Size = new System.Drawing.Size(240, 84); + this.linkContribute.TabIndex = 35; + this.linkContribute.TabStop = true; + this.linkContribute.Text = "%CONTRIBUTE%"; + this.linkContribute.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkContribute_clicked); + // + // AboutPanelContents + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoScroll = true; + this.Controls.Add(this.linkContribute); + this.Controls.Add(this.labeledDivider4); + this.Controls.Add(this.linkLicense); + this.Controls.Add(this.labeledDivider3); + this.Controls.Add(this.labelTranslators); + this.Controls.Add(this.linkCredits); + this.Controls.Add(this.progressUpdate); + this.Controls.Add(this.buttonUpdate); + this.Controls.Add(this.lblUpdateDisclaimer); + this.Controls.Add(this.labeledDivider2); + this.Controls.Add(this.labeledDivider1); + this.Controls.Add(this.linkHomepage); + this.Controls.Add(this.linkAuthor); + this.Controls.Add(this.lblSlogan); + this.Margin = new System.Windows.Forms.Padding(6); + this.Name = "AboutPanelContents"; + this.Size = new System.Drawing.Size(243, 613); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label labelTranslators; + private System.Windows.Forms.LinkLabel linkCredits; + private VistaControls.ProgressBar progressUpdate; + private System.Windows.Forms.Button buttonUpdate; + private System.Windows.Forms.Label lblUpdateDisclaimer; + private VistaControls.LabeledDivider labeledDivider2; + private VistaControls.LabeledDivider labeledDivider1; + private System.Windows.Forms.LinkLabel linkHomepage; + private System.Windows.Forms.LinkLabel linkAuthor; + private System.Windows.Forms.Label lblSlogan; + private VistaControls.LabeledDivider labeledDivider3; + private System.Windows.Forms.LinkLabel linkLicense; + private VistaControls.LabeledDivider labeledDivider4; + private System.Windows.Forms.LinkLabel linkContribute; + + } +} diff --git a/OnTopReplica/SidePanels/AboutPanelContents.cs b/OnTopReplica/SidePanels/AboutPanelContents.cs new file mode 100644 index 0000000..059e8a9 --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanelContents.cs @@ -0,0 +1,96 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Update; +using System.Diagnostics; +using VistaControls.TaskDialog; + +namespace OnTopReplica.SidePanels { + public partial class AboutPanelContents : UserControl { + + UpdateManager _updater; + + public AboutPanelContents() { + InitializeComponent(); + + //Localized strings + lblSlogan.Text = Strings.AboutSlogan; + InternationalizeLinkLabel(linkAuthor, Strings.AboutAuthor, Strings.AboutAuthorContent); + labeledDivider1.Text = Strings.AboutDividerUpdates; + lblUpdateDisclaimer.Text = Strings.AboutUpdatesDisclaimer; + buttonUpdate.Text = Strings.AboutUpdatesCheckNow; + labeledDivider2.Text = Strings.AboutDividerCredits; + InternationalizeLinkLabel(linkCredits, Strings.AboutCreditsSources, Strings.AboutCreditsSourcesContent); + labelTranslators.Text = string.Format(Strings.AboutTranslators, Strings.AboutTranslatorsContent); + labeledDivider3.Text = Strings.AboutDividerLicense; + InternationalizeLinkLabel(linkLicense, Strings.AboutLicense, Strings.AboutLicenseContent); + labeledDivider4.Text = Strings.AboutDividerContribute; + InternationalizeLinkLabel(linkContribute, Strings.AboutContribute, Strings.AboutContributeContent); + + //Updating + _updater = new UpdateManager(); + _updater.UpdateCheckCompleted += new EventHandler(UpdateCheckCompleted); + } + + private void InternationalizeLinkLabel(LinkLabel label, string text, string linkText) { + int linkIndex = text.IndexOf('%'); + if (linkIndex == -1) { + //Shouldn't happen, but try to fail with meaningful text + label.Text = text; + return; + } + + label.Text = text.Substring(0, linkIndex) + linkText + text.Substring(linkIndex + 1); + label.LinkArea = new LinkArea(linkIndex, linkText.Length); + } + + private void LinkHomepage_clicked(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://ontopreplica.codeplex.com"); + } + + private void LinkAuthor_clicked(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://lorenz.klopfenstein.net"); + } + + private void LinkCredits_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("CREDITS.txt"); + } + + void UpdateButton_click(object sender, System.EventArgs e) { + progressUpdate.Visible = true; + + _updater.CheckForUpdate(); + } + + void UpdateCheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + this.Invoke(new Action(() => { + var topForm = this.TopLevelControl as Form; + + if (e.Success) { + _updater.HandleUpdateCheck(topForm, e.Information, true); + } + else { + var dlg = new TaskDialog(Strings.ErrorUpdate, Strings.ErrorUpdate, Strings.ErrorUpdateContentGeneric) { + CommonIcon = TaskDialogIcon.Stop, + CommonButtons = TaskDialogButton.OK + }; + dlg.Show(topForm); + } + + progressUpdate.Visible = false; + })); + } + + private void LinkLicense_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://opensource.org/licenses/ms-rl.html"); + } + + private void LinkContribute_clicked(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://ontopreplica.codeplex.com/SourceControl/list/changesets"); + } + } +} diff --git a/OnTopReplica/SidePanels/AboutPanelContents.resx b/OnTopReplica/SidePanels/AboutPanelContents.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanelContents.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs index 8a36612..fa795eb 100644 --- a/OnTopReplica/Strings.Designer.cs +++ b/OnTopReplica/Strings.Designer.cs @@ -114,6 +114,24 @@ namespace OnTopReplica { } } + /// + /// Looks up a localized string similar to Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex.. + /// + internal static string AboutContribute { + get { + return ResourceManager.GetString("AboutContribute", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to source code. + /// + internal static string AboutContributeContent { + get { + return ResourceManager.GetString("AboutContributeContent", resourceCulture); + } + } + /// /// Looks up a localized string similar to OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %.. /// @@ -132,6 +150,15 @@ namespace OnTopReplica { } } + /// + /// Looks up a localized string similar to Contribute. + /// + internal static string AboutDividerContribute { + get { + return ResourceManager.GetString("AboutDividerContribute", resourceCulture); + } + } + /// /// Looks up a localized string similar to Credits. /// @@ -141,6 +168,15 @@ namespace OnTopReplica { } } + /// + /// Looks up a localized string similar to License. + /// + internal static string AboutDividerLicense { + get { + return ResourceManager.GetString("AboutDividerLicense", resourceCulture); + } + } + /// /// Looks up a localized string similar to Updates. /// @@ -150,6 +186,24 @@ namespace OnTopReplica { } } + /// + /// Looks up a localized string similar to The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI.. + /// + internal static string AboutLicense { + get { + return ResourceManager.GetString("AboutLicense", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft Reciprocal (MS-RL). + /// + internal static string AboutLicenseContent { + get { + return ResourceManager.GetString("AboutLicenseContent", resourceCulture); + } + } + /// /// Looks up a localized string similar to A lightweight, real-time, always on top thumbnail of a window of your choice.. /// @@ -168,6 +222,24 @@ namespace OnTopReplica { } } + /// + /// Looks up a localized string similar to Translators: {0}. + /// + internal static string AboutTranslators { + get { + return ResourceManager.GetString("AboutTranslators", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen.. + /// + internal static string AboutTranslatorsContent { + get { + return ResourceManager.GetString("AboutTranslatorsContent", resourceCulture); + } + } + /// /// Looks up a localized string similar to Check now!. /// diff --git a/OnTopReplica/Strings.cs.resx b/OnTopReplica/Strings.cs.resx index 08c299b..5dac23e 100644 --- a/OnTopReplica/Strings.cs.resx +++ b/OnTopReplica/Strings.cs.resx @@ -24,60 +24,6 @@ Aktualizovat OnTopReplica. - - <html> - <head> - <style type="text/css"> -body { - font-family: Segoe UI, Arial, sans-serif; - font-size: 0.8em; - margin: 0; -padding: 0.75em; -} -h1 { - font-size: 1.4em; - font-weight: bold; - - margin: 1em 0 0.4em 0; - padding: 0; -} -p { - margin: 0.5em 0 0.5em 1em; - padding: 0; -} -a { - font-weight: bold; - color: blue; -} -a:hover { - color: red; -} - </style> - </head> - - <body> - - <h1>Licence</h1> - - <p><b>OnTopReplica</b> je šířena pod <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a> licencí.</p> - <p>Původní zdrojový kód je možné nalézt na <a href="http://www.codeplex.com/ontopreplica">domovské stránce projektu na serveru CodePlex</a>.</p> - - <h1>Autoři a zásluhy</h1> - - <p>Původní inspirací pro OnTopReplica byla aplikace <a href="http://insentient.net">Switcher</a> a další aplikace založeny na DWM.</p> - - <p>Všechny Vista ovládací prvky jsou součástí <a href="http://www.codeplex.com/windowsformsaero">knihovny WindowsFormsAero</a> pro .NET.</p> - - <p>Některé ukázkové kódy byly převzaty z <a href="http://www.ookii.org">Ookii</a> ze serveru Channel9.</p> - - <p>Třída NativeToolstripRenderer byla převzata z <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> - - <p>Některé ikony pocházejí z <a href="http://www.vistaico.com">VistaICO.com</a> a balíčku ikon Xiao.</p> - - </body> -</html> - Not needed anymore. - OnTopReplica diff --git a/OnTopReplica/Strings.da.resx b/OnTopReplica/Strings.da.resx index c4f6fa9..4b62282 100644 --- a/OnTopReplica/Strings.da.resx +++ b/OnTopReplica/Strings.da.resx @@ -24,60 +24,6 @@ Opdater OnTopReplica nu. - - <html> - <head> - <style type="text/css"> -body { - font-family: Segoe UI, Arial, sans-serif; - font-size: 0.8em; - margin: 0; -padding: 0.75em; -} -h1 { - font-size: 1.4em; - font-weight: bold; - - margin: 1em 0 0.4em 0; - padding: 0; -} -p { - margin: 0.5em 0 0.5em 1em; - padding: 0; -} -a { - font-weight: bold; - color: blue; -} -a:hover { - color: red; -} - </style> - </head> - - <body> - - <h1>Licens</h1> - - <p><b>OnTopReplica</b> er licenseret under <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> - <p>Dem originale kildekode kan findes på <a href="http://www.codeplex.com/ontopreplica">projektets hjemmeside på CodePlex</a>.</p> - - <h1>Credits</h1> - - <p>OnTopReplica er inspireret af <a href="http://insentient.net">Switcher</a> og andre DWM baserede applikationer.</p> - - <p>Alle Vista funktioner er del af <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero biblioteket</a> for .NET.</p> - - <p>Lidt eksempel kode er taget fra <a href="http://www.ookii.org">Ookii</a> på Channel9.</p> - - <p>NativeToolstripRenderer class er taget fra <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> - - <p>Lidt ikoner fra <a href="http://www.vistaico.com">VistaICO.com</a> og Xiao ikon sættet.</p> - - </body> -</html> - Not needed anymore. - OnTopReplica diff --git a/OnTopReplica/Strings.es.resx b/OnTopReplica/Strings.es.resx index 6322d5b..79310d3 100644 --- a/OnTopReplica/Strings.es.resx +++ b/OnTopReplica/Strings.es.resx @@ -24,60 +24,6 @@ Actualiza OnTopReplica ahora. - - <html> - <head> - <style type="text/css"> -body { - font-family: Segoe UI, Arial, sans-serif; - font-size: 0.8em; - margin: 0; -padding: 0.75em; -} -h1 { - font-size: 1.4em; - font-weight: bold; - - margin: 1em 0 0.4em 0; - padding: 0; -} -p { - margin: 0.5em 0 0.5em 1em; - padding: 0; -} -a { - font-weight: bold; - color: blue; -} -a:hover { - color: red; -} - </style> - </head> - - <body> - - <h1>Licencia</h1> - - <p><b>OnTopReplica</b> cuenta con licencia <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> - <p>El código fuente original se encuentra en <a href="http://www.codeplex.com/ontopreplica">la página inicial del proyecto en CodePlex</a>.</p> - - <h1>Créditos</h1> - - <p><a href="http://insentient.net">Switcher</a> y otros programas basados en DWM inspiraron OnTopReplica.</p> - - <p>All Vista controls are part of the <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero library</a> for .NET.</p> - - <p>Some example code taken from <a href="http://www.ookii.org">Ookii</a> on Channel9.</p> - - <p>NativeToolstripRenderer class taken from <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> - - <p>Some icons from <a href="http://www.vistaico.com">VistaICO.com</a> and the Xiao icon set.</p> - - </body> -</html> - Not needed anymore. - OnTopReplica diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx index 592cfd5..6f78485 100644 --- a/OnTopReplica/Strings.it.resx +++ b/OnTopReplica/Strings.it.resx @@ -1,649 +1,509 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Annulla il processo di aggiornamento. - - - Mostra dettagli su OnTopReplica. - - - Resetta tutte le impostazioni di OnTopReplica. - - - Aggiorna OnTopReplica ora. - - - <html> - <head> - <style type="text/css"> -body { - font-family: Segoe UI, Arial, sans-serif; - font-size: 0.8em; - margin: 0; -padding: 0.75em; -} -h1 { - font-size: 1.4em; - font-weight: bold; - - margin: 1em 0 0.4em 0; - padding: 0; -} -p { - margin: 0.5em 0 0.5em 1em; - padding: 0; -} -a { - font-weight: bold; - color: blue; -} -a:hover { - color: red; -} - </style> - </head> - - <body> - - <h1>Licenza d'utilizzo</h1> - - <p><b>OnTopReplica</b> è rilasciato sotto la licenza <a href="http://opensource.org/licenses/ms-rl.html">Microsoft Reciprocal License (Ms-RL)</a>.</p> - <p>Il codice sorgente originale del programma è disponibile sulla <a href="http://www.codeplex.com/ontopreplica">homepage del progetto su CodePlex</a>.</p> - - <h1>Credits</h1> - - <p>OnTopReplica è stato inspirato da <a href="http://insentient.net">Switcher</a> ed altre applicazioni basate su DWM.</p> - - <p>I controlli utente specifici per Windows Vista sono parte della libreria <a href="http://www.codeplex.com/windowsformsaero">WindowsFormsAero</a> per .NET.</p> - - <p>Qualche riga di codice d'esempio presa da <a href="http://www.ookii.org">Ookii</a> su Channel9.</p> - - <p>La classe NativeToolstripRenderer è stata presa da <a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/">asztal.net</a>.</p> - - <p>Alcune delle icone sono state prese da <a href="http://www.vistaico.com">VistaICO.com</a> e dal set di icone Xiao.</p> - - </body> -</html> - Not needed anymore. - - - OnTopReplica - - - Ripristinare completamente la finestra? - - + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Annulla il processo di aggiornamento. + + + Mostra dettagli su OnTopReplica. + + + Resetta tutte le impostazioni di OnTopReplica. + + + Aggiorna OnTopReplica ora. + + + Contribuisci + + + OnTopReplica + + + Ripristinare completamente la finestra? + + &Ripristina -Tutte le impostazioni saranno perse. - - - Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. - - - Ripristino - - - Resettare impostazioni? - - - Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). - - - Reimposta - - - Scaricare OnTopReplica {0}? - {0} update version - - +Tutte le impostazioni saranno perse. + + + Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. + + + Ripristino + + + Resettare impostazioni? + + + Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). + + + Reimposta + + + Scaricare OnTopReplica {0}? + {0} update version + + Annulla aggiornamento -OnTopReplica si aggiornerà in un secondo momento. - - +OnTopReplica si aggiornerà in un secondo momento. + + Continua -Scarica OnTopReplica {0}. - {0} update version - - - Sarà possibile scaricare la nuova versione ed installarla. - - +Scarica OnTopReplica {0}. + {0} update version + + + Sarà possibile scaricare la nuova versione ed installarla. + + Versione installata: {0} -Versione disponibile: {1} +Versione disponibile: {1} {0} installed version number -{1} online available version number - - - Aggiornamento disponibile - - - &Annulla - - - Creato da: Lorenz Cuno Klopfenstein. - - - Disegna una regione usando il mouse. - - - Dettagli - - - Dettagli su Windows Aero - - - Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. - - - Il servizio di Desktop Composition Aero non è attivo. - - +{1} online available version number + + + Aggiornamento disponibile + + + &Annulla + + + Creato da: Lorenz Cuno Klopfenstein. + + + Disegna una regione usando il mouse. + + + Dettagli + + + Dettagli su Windows Aero + + + Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. + + + Il servizio di Desktop Composition Aero non è attivo. + + È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows. -Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. - - - Dettagli errore - - - Errore: - - - Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. - - - Errore - - +Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. + + + Dettagli errore + + + Errore: + + + Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. + + + Errore + + La "composzione del desktop" non è supportata dal tuo sistema operativo. -È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. - - - Desktop Composition (DWM) non supportato - - - Nessuna finestra clonata al momento. - - - Impossibile clonare la finestra - - - Impossibile adattare la finestra. - - - Impossibile controllare gli aggiornamenti. - - - Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. - - - Non è stato possibile controllare se esiste una versione più aggiornata di OnTopReplica. Verificare di essere connessi ad Internet. Se la connessione è attiva, è possibile che il sito ufficiale sia temporaneamente offline. - - - Modalità - - - Sempre in cima - - - OnTopReplica sarà sempre la finestra sopra a tutte le altre. - - - Click through - - - OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. - - - Normale - - - Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. - - - OnTopReplica a pieno schermo - - - Disattiva - - - Abilita modalità - - - Seleziona più finestre per attivare. - - - Modalità Gruppo attivata. - - - Modalità Gruppo di finestre: - - - Finestre - Column Header of list, simply refers to available windows to be cloned - - - Sito internet: www.codeplex.com/ontopreplica. - - - Attivare la modalità di inoltro dei clic? - - +È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. + + + Desktop Composition (DWM) non supportato + + + Nessuna finestra clonata al momento. + + + Impossibile clonare la finestra + + + Impossibile adattare la finestra. + + + Impossibile controllare gli aggiornamenti. + + + Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + Non è stato possibile controllare se esiste una versione più aggiornata di OnTopReplica. Verificare di essere connessi ad Internet. Se la connessione è attiva, è possibile che il sito ufficiale sia temporaneamente offline. + + + Modalità + + + Sempre in cima + + + OnTopReplica sarà sempre la finestra sopra a tutte le altre. + + + Click through + + + OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. + + + Normale + + + Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. + + + OnTopReplica a pieno schermo + + + Disattiva + + + Abilita modalità + + + Seleziona più finestre per attivare. + + + Modalità Gruppo attivata. + + + Modalità Gruppo di finestre: + + + Finestre + Column Header of list, simply refers to available windows to be cloned + + + Sito internet: www.codeplex.com/ontopreplica. + + + Attivare la modalità di inoltro dei clic? + + In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano). -Per uscire da questa modalità, usa il tasto ESC. - - - Inoltro dei clic - - - Attivare la modalità Click-Through? - - - La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. - - +Per uscire da questa modalità, usa il tasto ESC. + + + Inoltro dei clic + + + Attivare la modalità Click-Through? + + + La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. + + In questa modalità la finestra clonata si comporterà come una maschera semitrasparente che permette di cliccare sulle finestre dietro di essa. -Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). - - +Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). + + No, grazie. -Puoi abilitare il Click-Through in futuro - - - Abilita Click-Through - - - Modalità Click-Through - - - OnTopReplica è stato aggiornato. - - - Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. - - - Aggiornamento completato - - - La versione più aggiornata è già installata. - - - Nessun aggiornamento disponibile - - - Lingua - - - A proposito di... - - - Nasconde la finestra principale e mostra una schermata di informazioni. - - - Avanzate - - - Bordo - - - Abilita o disabilita il bordo della finestra. - - - Inoltro dei clic - - - Attiva la modalità di "inoltro dei clic" alla finestra clonata. - - - Abilita Click-Through - - - OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa. - - - Chiudi - - - Termina OnTopReplica. - - - 2:1 Doppio - - - Tutto schermo - - - 1:2 Metà - - - 1:1 Clone esatto - - - 1:4 Quarto - - - Queste scorciatoie possono essere usate quando OnTopReplica non è attivo. - - - Clona finestra corrente - - - Modalità Gruppo di finestre - - - OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo. - - - 100% (opaco) - - - Imposta OnTopReplica come finestra completamente opaca. - - - 25% - - - Imposta l'opacità di OnTopReplica al 25%. - - - 50% - - - Imposta l'opacità di OnTopReplica al 50%. - - - 75% - - - Imposta l'opacità di OnTopReplica al 75%. - - - Opacità - - - Apri - - - Attiva la finestra di OnTopReplica. - - - In basso a sinistra - - - In basso a destra - - - Disabilitato - - - Blocco posizione - - - Posiziona automaticamente OnTopReplica sul monitor corrente. - - - In alto a sinistra - - - In alto a destra - - - Esci da tutto schermo - - - Ripristina posizione e grandezza - - - Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. - - - Minimizza - - - Riduce OnTopReplica ad un'icona nella barra delle applicazioni. - - - Seleziona regione... - - - Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. - - - Reimposta finestra - - - Reimposta OnTopReplica e la sua finestra principale. - - - Ridimensionamento - - - Vai alla finestra originale - - - Mostra la finestra originale e nasconde OnTopReplica. - - - Seleziona finestra - - - - nessuna - - - - Mostra una lista di finestre che è possibile clonare. - - - - intera - - - - Regione corrente: - - - Cancella - - - Chiudi - - - Altezz. - - - Reset - - - Salva - - - Regioni memorizzate - - - Regioni: - - - Largh. - - - Clic destro qui per iniziare... - - - OnTopReplica controlla automaticamente la presenza di aggiornamenti ad ogni avvio. - - - A proposito di OnTopReplica - - - Versione {0} - - - Nascondi - - - Scorciatoie: - - - Lingua: - - - Richiede un riavvio. - - - Impostazioni - - - Ripristina ultima finestra - - - Se abilitato, all'avvio OnTopReplica tenterà di ripristinare l'ultima finestra precedentemente clonata. - - - Impostazioni... - - - Mostra il pannello delle impostazioni. - - - Centrato - - - Creato da: %. - Link % is replaced by string AboutAuthorContent. - - - OnTopReplica è basato sulla libreria WindowsFormsAero ed il codice di altri progetti open-source. %. - Link % is replaced by string AboutCreditsSourcesContent. - - - Leggi tutti i riferimenti. - - - Ringraziamenti - - - Aggiornamenti - - - Una copia in tempo reale e sempre in primo piano di una finestra a tua scelta. - - - Controlla! - +Puoi abilitare il Click-Through in futuro + + + Abilita Click-Through + + + Modalità Click-Through + + + OnTopReplica è stato aggiornato. + + + Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. + + + Aggiornamento completato + + + La versione più aggiornata è già installata. + + + Nessun aggiornamento disponibile + + + Lingua + + + A proposito di... + + + Nasconde la finestra principale e mostra una schermata di informazioni. + + + Avanzate + + + Bordo + + + Abilita o disabilita il bordo della finestra. + + + Inoltro dei clic + + + Attiva la modalità di "inoltro dei clic" alla finestra clonata. + + + Abilita Click-Through + + + OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa. + + + Chiudi + + + Termina OnTopReplica. + + + 2:1 Doppio + + + Tutto schermo + + + 1:2 Metà + + + 1:1 Clone esatto + + + 1:4 Quarto + + + Queste scorciatoie possono essere usate quando OnTopReplica non è attivo. + + + Clona finestra corrente + + + Modalità Gruppo di finestre + + + OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo. + + + 100% (opaco) + + + Imposta OnTopReplica come finestra completamente opaca. + + + 25% + + + Imposta l'opacità di OnTopReplica al 25%. + + + 50% + + + Imposta l'opacità di OnTopReplica al 50%. + + + 75% + + + Imposta l'opacità di OnTopReplica al 75%. + + + Opacità + + + Apri + + + Attiva la finestra di OnTopReplica. + + + In basso a sinistra + + + In basso a destra + + + Disabilitato + + + Blocco posizione + + + Posiziona automaticamente OnTopReplica sul monitor corrente. + + + In alto a sinistra + + + In alto a destra + + + Esci da tutto schermo + + + Ripristina posizione e grandezza + + + Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. + + + Minimizza + + + Riduce OnTopReplica ad un'icona nella barra delle applicazioni. + + + Seleziona regione... + + + Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. + + + Reimposta finestra + + + Reimposta OnTopReplica e la sua finestra principale. + + + Ridimensionamento + + + Vai alla finestra originale + + + Mostra la finestra originale e nasconde OnTopReplica. + + + Seleziona finestra + + + - nessuna - + + + Mostra una lista di finestre che è possibile clonare. + + + - intera - + + + Regione corrente: + + + Cancella + + + Chiudi + + + Altezz. + + + Reset + + + Salva + + + Regioni memorizzate + + + Regioni: + + + Largh. + + + Clic destro qui per iniziare... + + + OnTopReplica controlla automaticamente la presenza di aggiornamenti ad ogni avvio. + + + A proposito di OnTopReplica + + + Versione {0} + + + Nascondi + + + Scorciatoie: + + + Lingua: + + + Richiede un riavvio. + + + Impostazioni + + + Ripristina ultima finestra + + + Se abilitato, all'avvio OnTopReplica tenterà di ripristinare l'ultima finestra precedentemente clonata. + + + Impostazioni... + + + Mostra il pannello delle impostazioni. + + + Centrato + + + Creato da: %. + Link % is replaced by string AboutAuthorContent. + + + OnTopReplica è basato sulla libreria WindowsFormsAero ed il codice di altri progetti open-source. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Leggi tutti i riferimenti. + + + Ringraziamenti + + + Aggiornamenti + + + Una copia in tempo reale e sempre in primo piano di una finestra a tua scelta. + + + Controlla! + + + Licenza d'uso + + + Questa applicazione è rilasciata sotto la licenza %, che rientra nella definizione di "open-source" data dal consorzio OSI. + + + Traduttori: {0} + {0} translators + + + T'interessa partecipare? Ogni aiuto è ben accetto, sia che tu voglia migliorare una traduzione, aggiungerne una nuova oppure dare un'occhiata al % su CodePlex. + + + codice sorgente + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx index b81c179..180a24d 100644 --- a/OnTopReplica/Strings.resx +++ b/OnTopReplica/Strings.resx @@ -487,4 +487,30 @@ You can enable click-through later Version {0} + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + Contribute + + + License + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + + + Translators: {0} + {0} translators + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen. + Must not be localized. In order to be added, contact author. + \ No newline at end of file From 6a97df159ab76fb86ae770c54cb402c133e34f9d Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Mon, 4 Apr 2011 21:31:07 +0200 Subject: [PATCH 101/164] Fixed some platform code. --- OnTopReplica/MainForm.Designer.cs | 3 ++- OnTopReplica/MainForm.cs | 4 ++-- OnTopReplica/MainForm_Features.cs | 6 +++--- OnTopReplica/Native/WindowsSevenMethods.cs | 4 ++-- OnTopReplica/PlatformSupport.cs | 2 +- OnTopReplica/Platforms/WindowsSeven.cs | 14 ++++++++++---- OnTopReplica/Platforms/WindowsVista.cs | 5 +---- OnTopReplica/Program.cs | 1 + 8 files changed, 22 insertions(+), 17 deletions(-) diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 78cd265..675c2c3 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -491,7 +491,7 @@ this.BackColor = System.Drawing.SystemColors.Control; this.ClientSize = new System.Drawing.Size(264, 204); this.ControlBox = false; - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; this.MinimizeBox = false; @@ -499,6 +499,7 @@ this.Name = "MainForm"; this.Text = "OnTopReplica"; this.TopMost = true; + this.ShowInTaskbar = true; this.menuContext.ResumeLayout(false); this.menuWindows.ResumeLayout(false); this.menuOpacity.ResumeLayout(false); diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index dcaeed4..61750e2 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -29,7 +29,6 @@ namespace OnTopReplica { public MainForm(Options startupOptions) { _startupOptions = startupOptions; - Program.Platform.PreHandleFormInit(this); //WinForms init pass InitializeComponent(); @@ -38,7 +37,8 @@ namespace OnTopReplica { GlassMargins = new Margins(-1); //Store default values - _nonClickThroughKey = TransparencyKey; + DefaultNonClickTransparencyKey = this.TransparencyKey; + DefaultBorderStyle = this.FormBorderStyle; //Thumbnail panel _thumbnailPanel = new ThumbnailPanel { diff --git a/OnTopReplica/MainForm_Features.cs b/OnTopReplica/MainForm_Features.cs index 86023b1..261b736 100644 --- a/OnTopReplica/MainForm_Features.cs +++ b/OnTopReplica/MainForm_Features.cs @@ -36,7 +36,7 @@ namespace OnTopReplica { #region Click-through bool _clickThrough = false; - Color _nonClickThroughKey; + readonly Color DefaultNonClickTransparencyKey; public bool ClickThroughEnabled { get { @@ -50,7 +50,7 @@ namespace OnTopReplica { Opacity = 1.0;*/ //Enable transparency and force as top-most - TransparencyKey = (value) ? Color.Black : _nonClickThroughKey; + TransparencyKey = (value) ? Color.Black : DefaultNonClickTransparencyKey; if (value) TopMost = true; @@ -62,7 +62,7 @@ namespace OnTopReplica { #region Chrome - const FormBorderStyle DefaultBorderStyle = FormBorderStyle.SizableToolWindow; + readonly FormBorderStyle DefaultBorderStyle; // = FormBorderStyle.Sizable; // FormBorderStyle.SizableToolWindow; public bool IsChromeVisible { get { diff --git a/OnTopReplica/Native/WindowsSevenMethods.cs b/OnTopReplica/Native/WindowsSevenMethods.cs index 587bf95..88e5cf5 100644 --- a/OnTopReplica/Native/WindowsSevenMethods.cs +++ b/OnTopReplica/Native/WindowsSevenMethods.cs @@ -9,11 +9,11 @@ namespace OnTopReplica.Native { [DllImport("shell32.dll")] internal static extern void SetCurrentProcessExplicitAppUserModelID( - [MarshalAs(UnmanagedType.LPWStr)] string AppID); + [MarshalAs(UnmanagedType.LPWStr)] string appId); [DllImport("shell32.dll")] internal static extern void GetCurrentProcessExplicitAppUserModelID( - [Out(), MarshalAs(UnmanagedType.LPWStr)] out string AppID); + [Out(), MarshalAs(UnmanagedType.LPWStr)] out string appId); } diff --git a/OnTopReplica/PlatformSupport.cs b/OnTopReplica/PlatformSupport.cs index 4d2c30f..e13570d 100644 --- a/OnTopReplica/PlatformSupport.cs +++ b/OnTopReplica/PlatformSupport.cs @@ -42,7 +42,7 @@ namespace OnTopReplica { /// /// Initializes a form before it is fully constructed and before the window handle has been created. /// - public virtual void PreHandleFormInit(MainForm form) { + public virtual void PreHandleFormInit() { } /// diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs index 0408c02..076a7d8 100644 --- a/OnTopReplica/Platforms/WindowsSeven.cs +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -7,9 +7,9 @@ namespace OnTopReplica.Platforms { class WindowsSeven : WindowsVista { - public override void PreHandleFormInit(MainForm form) { + public override void PreHandleFormInit() { //Set Application ID - WindowsSevenMethods.SetCurrentProcessExplicitAppUserModelID("OnTopReplica"); + WindowsSevenMethods.SetCurrentProcessExplicitAppUserModelID("LorenzCunoKlopfenstein.OnTopReplica.MainForm"); } public override void PostHandleFormInit(MainForm form) { @@ -46,8 +46,14 @@ namespace OnTopReplica.Platforms { //This hides the app from ALT+TAB //Note that when minimized, it will be shown as an (ugly) minimized tool window //thus we do not minimize, but set to transparent when hiding - WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle, - (IntPtr)(WindowMethods.WindowExStyles.ToolWindow | WindowMethods.WindowExStyles.Layered)); + long exStyle = WindowMethods.GetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle).ToInt64(); + + exStyle |= (long)(WindowMethods.WindowExStyles.ToolWindow); + exStyle &= ~(long)(WindowMethods.WindowExStyles.AppWindow); + + WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle, new IntPtr(exStyle)); + + //WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.HwndParent, WindowManagerMethods.GetDesktopWindow()); } } diff --git a/OnTopReplica/Platforms/WindowsVista.cs b/OnTopReplica/Platforms/WindowsVista.cs index c628d47..31dbda6 100644 --- a/OnTopReplica/Platforms/WindowsVista.cs +++ b/OnTopReplica/Platforms/WindowsVista.cs @@ -17,17 +17,14 @@ namespace OnTopReplica.Platforms { NotificationIcon _icon; - public override void PreHandleFormInit(MainForm form) { + public override void PostHandleFormInit(MainForm form) { //Do not show in task bar, but display notify icon //NOTE: this effectively makes Windows ignore the Flip 3D policy set above (on Windows 7) //NOTE: this also makes HotKey registration critically fail on Windows 7 form.ShowInTaskbar = false; - } - public override void PostHandleFormInit(MainForm form) { DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); - //Install tray icon _icon = new NotificationIcon(form); } diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs index 9d5b098..5a481aa 100644 --- a/OnTopReplica/Program.cs +++ b/OnTopReplica/Program.cs @@ -29,6 +29,7 @@ namespace OnTopReplica { Platform = PlatformSupport.Create(); if (!Platform.CheckCompatibility()) return; + Platform.PreHandleFormInit(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); From 9d8d723b0c24e46200a7eabba75e77a83d8fac4e Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Mon, 4 Apr 2011 21:31:25 +0200 Subject: [PATCH 102/164] Fixed crash when hotkey registration fails. --- OnTopReplica/MessagePumpProcessors/HotKeyManager.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs index f5f8244..7b1b93e 100644 --- a/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs +++ b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs @@ -117,7 +117,8 @@ namespace OnTopReplica.MessagePumpProcessors { } var reg = HotKeyHandlerRegistration.Register(Form, keyCode, modifiers, handler); - _handlers.Add(reg.RegistrationKey, reg); + if(reg != null) + _handlers.Add(reg.RegistrationKey, reg); } private void ClearHandlers() { From be0a5e38f7f791360d640ebfef788d1e0979b9fe Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Mon, 4 Apr 2011 22:37:28 +0200 Subject: [PATCH 103/164] Simplified Windows 7 code path: form now displays in ALT+TAB but should be more reliable. --- OnTopReplica/MainForm.Designer.cs | 4 ++-- OnTopReplica/MainForm.cs | 14 +++++++------- OnTopReplica/Platforms/WindowsSeven.cs | 15 +++++++-------- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 675c2c3..1c5b5fb 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -491,13 +491,13 @@ this.BackColor = System.Drawing.SystemColors.Control; this.ClientSize = new System.Drawing.Size(264, 204); this.ControlBox = false; - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; this.MinimizeBox = false; this.MinimumSize = new System.Drawing.Size(40, 40); this.Name = "MainForm"; - this.Text = "OnTopReplica"; + this.Text = Strings.ApplicationName; this.TopMost = true; this.ShowInTaskbar = true; this.menuContext.ResumeLayout(false); diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 61750e2..adf3938 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -32,9 +32,6 @@ namespace OnTopReplica { //WinForms init pass InitializeComponent(); - KeepAspectRatio = false; - GlassEnabled = true; - GlassMargins = new Margins(-1); //Store default values DefaultNonClickTransparencyKey = this.TransparencyKey; @@ -53,9 +50,6 @@ namespace OnTopReplica { menuContext, menuWindows, menuOpacity, menuResize, menuFullscreenContext ); - //Init message pump extensions - _msgPumpManager.Initialize(this); - //Set to Key event preview this.KeyPreview = true; } @@ -78,7 +72,6 @@ namespace OnTopReplica { //Needed to hide caption, while keeping window title in task bar var parms = base.CreateParams; parms.Style &= ~0x00C00000; //WS_CAPTION - parms.Style &= 0x00040000; //WS_SIZEBOX return parms; } } @@ -86,7 +79,14 @@ namespace OnTopReplica { protected override void OnHandleCreated(EventArgs e){ base.OnHandleCreated(e); + //Window init + KeepAspectRatio = false; + GlassEnabled = true; + GlassMargins = new Margins(-1); + + //Window handlers _windowSeeker.OwnerHandle = this.Handle; + _msgPumpManager.Initialize(this); //Platform specific form initialization Program.Platform.PostHandleFormInit(this); diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs index 076a7d8..be8aea5 100644 --- a/OnTopReplica/Platforms/WindowsSeven.cs +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -16,8 +16,6 @@ namespace OnTopReplica.Platforms { DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); DwmManager.SetExludeFromPeek(form, true); DwmManager.SetDisallowPeek(form, true); - - SetWindowStyle(form); } public override void HideForm(MainForm form) { @@ -33,14 +31,15 @@ namespace OnTopReplica.Platforms { form.Opacity = 1.0; form.Show(); - - SetWindowStyle(form); } - public override void OnFormStateChange(MainForm form) { - SetWindowStyle(form); - } + /*public override void OnFormStateChange(MainForm form) { + //SetWindowStyle(form); + }*/ + /// + /// Used to alter the window style. Not used anymore. + /// private void SetWindowStyle(MainForm form) { if (!form.IsFullscreen) { //This hides the app from ALT+TAB @@ -49,7 +48,7 @@ namespace OnTopReplica.Platforms { long exStyle = WindowMethods.GetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle).ToInt64(); exStyle |= (long)(WindowMethods.WindowExStyles.ToolWindow); - exStyle &= ~(long)(WindowMethods.WindowExStyles.AppWindow); + //exStyle &= ~(long)(WindowMethods.WindowExStyles.AppWindow); WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle, new IntPtr(exStyle)); From 2e27b1f350a8281333f571d538f9763e7fb2fe87 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Mon, 4 Apr 2011 22:41:30 +0200 Subject: [PATCH 104/164] Updated application version and installation script to 3.3. --- Installer/script.nsi | 7 ++++--- Installer/update.xml | 4 ++-- OnTopReplica/Properties/AssemblyInfo.cs | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Installer/script.nsi b/Installer/script.nsi index 2a5aa56..44d5e02 100644 --- a/Installer/script.nsi +++ b/Installer/script.nsi @@ -38,7 +38,6 @@ RequestExecutionLevel user # PAGE DEFINITIONS !insertmacro MUI_PAGE_WELCOME -;!insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH @@ -54,8 +53,8 @@ Function RegisterApplication WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayName" "OnTopReplica" WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayIcon" "$\"$INSTDIR\OnTopReplica.exe$\"" WriteRegStr HKCU "${REG_UNINSTALL}" "Publisher" "Lorenz Cuno Klopfenstein" - WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayVersion" "3.1.0.0" - WriteRegDWord HKCU "${REG_UNINSTALL}" "EstimatedSize" 800 ;KB + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayVersion" "3.3.0.0" + WriteRegDWord HKCU "${REG_UNINSTALL}" "EstimatedSize" 960 ;KB WriteRegStr HKCU "${REG_UNINSTALL}" "HelpLink" "${WEBSITE_LINK}" WriteRegStr HKCU "${REG_UNINSTALL}" "URLInfoAbout" "${WEBSITE_LINK}" WriteRegStr HKCU "${REG_UNINSTALL}" "InstallLocation" "$\"$INSTDIR$\"" @@ -97,6 +96,8 @@ Section "!OnTopReplica" OnTopReplica File "..\OnTopReplica\bin\Release\cs\OnTopReplica.resources.dll" SetOutPath "$INSTDIR\da" File "..\OnTopReplica\bin\Release\da\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\es" + File "..\OnTopReplica\bin\Release\es\OnTopReplica.resources.dll" ;Uninstaller WriteUninstaller "$INSTDIR\${UNINSTALLER_NAME}" diff --git a/Installer/update.xml b/Installer/update.xml index f8298c0..b068af0 100644 --- a/Installer/update.xml +++ b/Installer/update.xml @@ -1,6 +1,6 @@  - 3.2.0.0 - 2010-10-15T00:00:00Z + 3.3.0.0 + 2011-04-04T22:00:00Z http://www.klopfenstein.net/lorenz.aspx/ontopreplica \ No newline at end of file diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs index c012e63..52e5902 100644 --- a/OnTopReplica/Properties/AssemblyInfo.cs +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -33,5 +33,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.2.0.0")] -[assembly: AssemblyFileVersion("3.2.0.0")] +[assembly: AssemblyVersion("3.3.0.0")] +[assembly: AssemblyFileVersion("3.3.0.0")] From 7cba5368775b4d325cdd0335ae75c5666008cb12 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Mon, 4 Apr 2011 22:54:51 +0200 Subject: [PATCH 105/164] Fixed installer and application details for 3.3 release. --- Installer/script.nsi | 4 ++++ OnTopReplica/SidePanels/AboutPanelContents.cs | 6 +++++- OnTopReplica/Strings.it.resx | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Installer/script.nsi b/Installer/script.nsi index 44d5e02..9564575 100644 --- a/Installer/script.nsi +++ b/Installer/script.nsi @@ -89,6 +89,10 @@ Section "!OnTopReplica" OnTopReplica File "..\OnTopReplica\bin\Release\OnTopReplica.exe" File "..\OnTopReplica\bin\Release\VistaControls.dll" + ;Text stuff + File "..\OnTopReplica\bin\Release\CREDITS.txt" + File "..\OnTopReplica\bin\Release\LICENSE.txt" + ;Install localization files SetOutPath "$INSTDIR\it" File "..\OnTopReplica\bin\Release\it\OnTopReplica.resources.dll" diff --git a/OnTopReplica/SidePanels/AboutPanelContents.cs b/OnTopReplica/SidePanels/AboutPanelContents.cs index 059e8a9..24bb6c5 100644 --- a/OnTopReplica/SidePanels/AboutPanelContents.cs +++ b/OnTopReplica/SidePanels/AboutPanelContents.cs @@ -8,6 +8,7 @@ using System.Windows.Forms; using OnTopReplica.Update; using System.Diagnostics; using VistaControls.TaskDialog; +using System.IO; namespace OnTopReplica.SidePanels { public partial class AboutPanelContents : UserControl { @@ -57,7 +58,10 @@ namespace OnTopReplica.SidePanels { } private void LinkCredits_click(object sender, LinkLabelLinkClickedEventArgs e) { - Process.Start("CREDITS.txt"); + var exeDir = Path.GetDirectoryName(Application.ExecutablePath); + var filePath = Path.Combine(exeDir, "CREDITS.txt"); + + Process.Start(filePath); } void UpdateButton_click(object sender, System.EventArgs e) { diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx index 6f78485..33ce394 100644 --- a/OnTopReplica/Strings.it.resx +++ b/OnTopReplica/Strings.it.resx @@ -476,7 +476,7 @@ Puoi abilitare il Click-Through in futuro Link % is replaced by string AboutCreditsSourcesContent. - Leggi tutti i riferimenti. + Leggi tutti i riferimenti Ringraziamenti From a0b571206b55f41cccefe605199336b06b6e5fad Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 6 Apr 2011 23:09:43 +0200 Subject: [PATCH 106/164] Fixed chrome resetting when exiting fullscreen mode. --- OnTopReplica/MainForm.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index adf3938..1fc0bef 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -280,6 +280,7 @@ namespace OnTopReplica { bool _isFullscreen = false; Point _preFullscreenLocation; Size _preFullscreenSize; + FormBorderStyle _preFullscreenBorderStyle; public bool IsFullscreen { get { @@ -297,6 +298,7 @@ namespace OnTopReplica { if (value) { _preFullscreenLocation = Location; _preFullscreenSize = ClientSize; + _preFullscreenBorderStyle = FormBorderStyle; FormBorderStyle = FormBorderStyle.None; var currentScreen = Screen.FromControl(this); @@ -304,7 +306,7 @@ namespace OnTopReplica { Location = currentScreen.WorkingArea.Location; } else { - FormBorderStyle = DefaultBorderStyle; + FormBorderStyle = _preFullscreenBorderStyle; Location = _preFullscreenLocation; ClientSize = _preFullscreenSize; RefreshAspectRatio(); From dc7d8fa6457f190c38d681cb4903157baf84e8c5 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 6 Apr 2011 23:12:22 +0200 Subject: [PATCH 107/164] Updated for 3.3.1.0 bugfix release. --- Installer/script.nsi | 2 +- Installer/update.xml | 4 ++-- OnTopReplica/Properties/AssemblyInfo.cs | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Installer/script.nsi b/Installer/script.nsi index 9564575..2f1cb58 100644 --- a/Installer/script.nsi +++ b/Installer/script.nsi @@ -53,7 +53,7 @@ Function RegisterApplication WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayName" "OnTopReplica" WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayIcon" "$\"$INSTDIR\OnTopReplica.exe$\"" WriteRegStr HKCU "${REG_UNINSTALL}" "Publisher" "Lorenz Cuno Klopfenstein" - WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayVersion" "3.3.0.0" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayVersion" "3.3.1.0" WriteRegDWord HKCU "${REG_UNINSTALL}" "EstimatedSize" 960 ;KB WriteRegStr HKCU "${REG_UNINSTALL}" "HelpLink" "${WEBSITE_LINK}" WriteRegStr HKCU "${REG_UNINSTALL}" "URLInfoAbout" "${WEBSITE_LINK}" diff --git a/Installer/update.xml b/Installer/update.xml index b068af0..ccf1f58 100644 --- a/Installer/update.xml +++ b/Installer/update.xml @@ -1,6 +1,6 @@  - 3.3.0.0 - 2011-04-04T22:00:00Z + 3.3.1.0 + 2011-04-06T23:10:00Z http://www.klopfenstein.net/lorenz.aspx/ontopreplica \ No newline at end of file diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs index 52e5902..18737eb 100644 --- a/OnTopReplica/Properties/AssemblyInfo.cs +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -33,5 +33,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.3.0.0")] -[assembly: AssemblyFileVersion("3.3.0.0")] +[assembly: AssemblyVersion("3.3.1.0")] +[assembly: AssemblyFileVersion("3.3.1.0")] From 81a74d0afe69e828365e8c91cbf4f4e9dab34931 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 12 Apr 2011 16:16:28 +0200 Subject: [PATCH 108/164] Added Polish language translation and some GUI fixes for localized strings. --- OnTopReplica/Assets/flag_poland.png | Bin 0 -> 183 bytes OnTopReplica/OnTopReplica.csproj | 2 + OnTopReplica/Properties/Resources.Designer.cs | 7 + OnTopReplica/Properties/Resources.resx | 5 +- .../SidePanels/AboutPanelContents.Designer.cs | 6 + OnTopReplica/SidePanels/OptionsPanel.cs | 1 + .../SidePanels/RegionPanel.Designer.cs | 169 +++--- OnTopReplica/SidePanels/RegionPanel.cs | 23 + OnTopReplica/SidePanels/RegionPanel.resx | 3 + OnTopReplica/Strings.pl.resx | 516 ++++++++++++++++++ 10 files changed, 648 insertions(+), 84 deletions(-) create mode 100644 OnTopReplica/Assets/flag_poland.png create mode 100644 OnTopReplica/Strings.pl.resx diff --git a/OnTopReplica/Assets/flag_poland.png b/OnTopReplica/Assets/flag_poland.png new file mode 100644 index 0000000000000000000000000000000000000000..9a7d5f6bf342512b9aade8a010208fbc04e10e4d GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ#}iF>xNjMB6Uv}#}Etu AboutPanelContents.cs + @@ -347,6 +348,7 @@ + diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs index 14998d1..78a54da 100644 --- a/OnTopReplica/Properties/Resources.Designer.cs +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -109,6 +109,13 @@ namespace OnTopReplica.Properties { } } + internal static System.Drawing.Bitmap flag_poland { + get { + object obj = ResourceManager.GetObject("flag_poland", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + internal static System.Drawing.Bitmap flag_spanish { get { object obj = ResourceManager.GetObject("flag_spanish", resourceCulture); diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx index 89f2850..f3d9721 100644 --- a/OnTopReplica/Properties/Resources.resx +++ b/OnTopReplica/Properties/Resources.resx @@ -229,8 +229,11 @@ ..\Assets\pos_center.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Assets\flag_spanish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_poland.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs b/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs index 0a9c077..af014ec 100644 --- a/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs +++ b/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs @@ -43,6 +43,7 @@ // this.labelTranslators.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); + this.labelTranslators.AutoEllipsis = true; this.labelTranslators.Location = new System.Drawing.Point(0, 289); this.labelTranslators.Name = "labelTranslators"; this.labelTranslators.Size = new System.Drawing.Size(240, 101); @@ -53,6 +54,7 @@ // this.linkCredits.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); + this.linkCredits.AutoEllipsis = true; this.linkCredits.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; this.linkCredits.Location = new System.Drawing.Point(0, 223); this.linkCredits.Name = "linkCredits"; @@ -89,6 +91,7 @@ // this.lblUpdateDisclaimer.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); + this.lblUpdateDisclaimer.AutoEllipsis = true; this.lblUpdateDisclaimer.Location = new System.Drawing.Point(0, 108); this.lblUpdateDisclaimer.Name = "lblUpdateDisclaimer"; this.lblUpdateDisclaimer.Size = new System.Drawing.Size(240, 44); @@ -156,6 +159,7 @@ // this.lblSlogan.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); + this.lblSlogan.AutoEllipsis = true; this.lblSlogan.BackColor = System.Drawing.Color.Transparent; this.lblSlogan.Location = new System.Drawing.Point(0, 0); this.lblSlogan.Name = "lblSlogan"; @@ -180,6 +184,7 @@ // this.linkLicense.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); + this.linkLicense.AutoEllipsis = true; this.linkLicense.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; this.linkLicense.Location = new System.Drawing.Point(0, 419); this.linkLicense.Name = "linkLicense"; @@ -206,6 +211,7 @@ // this.linkContribute.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); + this.linkContribute.AutoEllipsis = true; this.linkContribute.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; this.linkContribute.Location = new System.Drawing.Point(0, 529); this.linkContribute.Name = "linkContribute"; diff --git a/OnTopReplica/SidePanels/OptionsPanel.cs b/OnTopReplica/SidePanels/OptionsPanel.cs index 663b6a0..cb114e0 100644 --- a/OnTopReplica/SidePanels/OptionsPanel.cs +++ b/OnTopReplica/SidePanels/OptionsPanel.cs @@ -66,6 +66,7 @@ namespace OnTopReplica.SidePanels { new CultureWrapper("Čeština", new CultureInfo("cs-CZ"), Resources.flag_czech), new CultureWrapper("Dansk", new CultureInfo("da-DK"), Resources.flag_danish), new CultureWrapper("Español", new CultureInfo("es-ES"), Resources.flag_spanish), + new CultureWrapper("Polski", new CultureInfo("pl-PL"), Resources.flag_poland), }; private void PopulateLanguageComboBox() { diff --git a/OnTopReplica/SidePanels/RegionPanel.Designer.cs b/OnTopReplica/SidePanels/RegionPanel.Designer.cs index 46327a5..9164bdb 100644 --- a/OnTopReplica/SidePanels/RegionPanel.Designer.cs +++ b/OnTopReplica/SidePanels/RegionPanel.Designer.cs @@ -23,7 +23,8 @@ /// the contents of this method with the code editor. /// private void InitializeComponent() { - this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.components = new System.ComponentModel.Container(); + this.groupRegions = new System.Windows.Forms.GroupBox(); this.textRegionName = new OnTopReplica.FocusedTextBox(); this.numH = new System.Windows.Forms.NumericUpDown(); this.numW = new System.Windows.Forms.NumericUpDown(); @@ -31,45 +32,46 @@ this.numX = new System.Windows.Forms.NumericUpDown(); this.buttonDone = new System.Windows.Forms.Button(); this.buttonReset = new System.Windows.Forms.Button(); - this.label6 = new System.Windows.Forms.Label(); - this.label7 = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); - this.label1 = new System.Windows.Forms.Label(); + this.labelHeight = new System.Windows.Forms.Label(); + this.labelWidth = new System.Windows.Forms.Label(); + this.labelY = new System.Windows.Forms.Label(); + this.labelX = new System.Windows.Forms.Label(); + this.labelCurrentRegion = new System.Windows.Forms.Label(); this.buttonDelete = new System.Windows.Forms.Button(); this.buttonSave = new System.Windows.Forms.Button(); this.comboRegions = new VistaControls.ComboBox(); - this.groupBox1.SuspendLayout(); + this.toolTip = new System.Windows.Forms.ToolTip(this.components); + this.groupRegions.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.numH)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numW)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numY)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numX)).BeginInit(); this.SuspendLayout(); // - // groupBox1 + // groupRegions // - this.groupBox1.Controls.Add(this.textRegionName); - this.groupBox1.Controls.Add(this.numH); - this.groupBox1.Controls.Add(this.numW); - this.groupBox1.Controls.Add(this.numY); - this.groupBox1.Controls.Add(this.numX); - this.groupBox1.Controls.Add(this.buttonDone); - this.groupBox1.Controls.Add(this.buttonReset); - this.groupBox1.Controls.Add(this.label6); - this.groupBox1.Controls.Add(this.label7); - this.groupBox1.Controls.Add(this.label3); - this.groupBox1.Controls.Add(this.label2); - this.groupBox1.Controls.Add(this.label1); - this.groupBox1.Controls.Add(this.buttonDelete); - this.groupBox1.Controls.Add(this.buttonSave); - this.groupBox1.Controls.Add(this.comboRegions); - this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; - this.groupBox1.Location = new System.Drawing.Point(6, 6); - this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(218, 158); - this.groupBox1.TabIndex = 0; - this.groupBox1.TabStop = false; - this.groupBox1.Text = "Regions:"; + this.groupRegions.Controls.Add(this.textRegionName); + this.groupRegions.Controls.Add(this.numH); + this.groupRegions.Controls.Add(this.numW); + this.groupRegions.Controls.Add(this.numY); + this.groupRegions.Controls.Add(this.numX); + this.groupRegions.Controls.Add(this.buttonDone); + this.groupRegions.Controls.Add(this.buttonReset); + this.groupRegions.Controls.Add(this.labelHeight); + this.groupRegions.Controls.Add(this.labelWidth); + this.groupRegions.Controls.Add(this.labelY); + this.groupRegions.Controls.Add(this.labelX); + this.groupRegions.Controls.Add(this.labelCurrentRegion); + this.groupRegions.Controls.Add(this.buttonDelete); + this.groupRegions.Controls.Add(this.buttonSave); + this.groupRegions.Controls.Add(this.comboRegions); + this.groupRegions.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupRegions.Location = new System.Drawing.Point(6, 6); + this.groupRegions.Name = "groupRegions"; + this.groupRegions.Size = new System.Drawing.Size(218, 158); + this.groupRegions.TabIndex = 0; + this.groupRegions.TabStop = false; + this.groupRegions.Text = "Regions:"; // // textRegionName // @@ -88,7 +90,7 @@ // numH // this.numH.Enabled = false; - this.numH.Location = new System.Drawing.Point(109, 93); + this.numH.Location = new System.Drawing.Point(140, 93); this.numH.Maximum = new decimal(new int[] { 100000, 0, @@ -107,7 +109,7 @@ // numW // this.numW.Enabled = false; - this.numW.Location = new System.Drawing.Point(109, 67); + this.numW.Location = new System.Drawing.Point(140, 67); this.numW.Maximum = new decimal(new int[] { 100000, 0, @@ -126,7 +128,7 @@ // numY // this.numY.Enabled = false; - this.numY.Location = new System.Drawing.Point(23, 93); + this.numY.Location = new System.Drawing.Point(29, 93); this.numY.Maximum = new decimal(new int[] { 100000, 0, @@ -145,7 +147,7 @@ // numX // this.numX.Enabled = false; - this.numX.Location = new System.Drawing.Point(23, 67); + this.numX.Location = new System.Drawing.Point(29, 67); this.numX.Maximum = new decimal(new int[] { 100000, 0, @@ -186,55 +188,55 @@ this.buttonReset.UseVisualStyleBackColor = true; this.buttonReset.Click += new System.EventHandler(this.Reset_click); // - // label6 + // labelHeight // - this.label6.AutoSize = true; - this.label6.ForeColor = System.Drawing.SystemColors.ControlDark; - this.label6.Location = new System.Drawing.Point(71, 96); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(38, 13); - this.label6.TabIndex = 9; - this.label6.Text = "Height"; + this.labelHeight.ForeColor = System.Drawing.SystemColors.ControlDark; + this.labelHeight.Location = new System.Drawing.Point(81, 96); + this.labelHeight.Name = "labelHeight"; + this.labelHeight.Size = new System.Drawing.Size(53, 17); + this.labelHeight.TabIndex = 9; + this.labelHeight.Text = "Height"; + this.labelHeight.TextAlign = System.Drawing.ContentAlignment.TopRight; // - // label7 + // labelWidth // - this.label7.AutoSize = true; - this.label7.ForeColor = System.Drawing.SystemColors.ControlDark; - this.label7.Location = new System.Drawing.Point(71, 70); - this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(35, 13); - this.label7.TabIndex = 8; - this.label7.Text = "Width"; + this.labelWidth.ForeColor = System.Drawing.SystemColors.ControlDark; + this.labelWidth.Location = new System.Drawing.Point(81, 70); + this.labelWidth.Name = "labelWidth"; + this.labelWidth.Size = new System.Drawing.Size(53, 17); + this.labelWidth.TabIndex = 8; + this.labelWidth.Text = "Width"; + this.labelWidth.TextAlign = System.Drawing.ContentAlignment.TopRight; // - // label3 + // labelY // - this.label3.AutoSize = true; - this.label3.ForeColor = System.Drawing.SystemColors.ControlDark; - this.label3.Location = new System.Drawing.Point(6, 96); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(14, 13); - this.label3.TabIndex = 5; - this.label3.Text = "Y"; + this.labelY.ForeColor = System.Drawing.SystemColors.ControlDark; + this.labelY.Location = new System.Drawing.Point(6, 96); + this.labelY.Name = "labelY"; + this.labelY.Size = new System.Drawing.Size(17, 17); + this.labelY.TabIndex = 5; + this.labelY.Text = "Y"; + this.labelY.TextAlign = System.Drawing.ContentAlignment.TopRight; // - // label2 + // labelX // - this.label2.AutoSize = true; - this.label2.ForeColor = System.Drawing.SystemColors.ControlDark; - this.label2.Location = new System.Drawing.Point(6, 70); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(14, 13); - this.label2.TabIndex = 4; - this.label2.Text = "X"; + this.labelX.ForeColor = System.Drawing.SystemColors.ControlDark; + this.labelX.Location = new System.Drawing.Point(6, 70); + this.labelX.Name = "labelX"; + this.labelX.Size = new System.Drawing.Size(17, 17); + this.labelX.TabIndex = 4; + this.labelX.Text = "X"; + this.labelX.TextAlign = System.Drawing.ContentAlignment.TopRight; // - // label1 + // labelCurrentRegion // - this.label1.AutoSize = true; - this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label1.Location = new System.Drawing.Point(6, 47); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(76, 13); - this.label1.TabIndex = 3; - this.label1.Text = "Current region:"; + this.labelCurrentRegion.AutoSize = true; + this.labelCurrentRegion.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelCurrentRegion.Location = new System.Drawing.Point(6, 47); + this.labelCurrentRegion.Name = "labelCurrentRegion"; + this.labelCurrentRegion.Size = new System.Drawing.Size(76, 13); + this.labelCurrentRegion.TabIndex = 3; + this.labelCurrentRegion.Text = "Current region:"; // // buttonDelete // @@ -278,13 +280,13 @@ // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.groupBox1); + this.Controls.Add(this.groupRegions); this.MinimumSize = new System.Drawing.Size(230, 170); this.Name = "RegionPanel"; this.Padding = new System.Windows.Forms.Padding(6); this.Size = new System.Drawing.Size(230, 170); - this.groupBox1.ResumeLayout(false); - this.groupBox1.PerformLayout(); + this.groupRegions.ResumeLayout(false); + this.groupRegions.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.numH)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.numW)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.numY)).EndInit(); @@ -295,21 +297,22 @@ #endregion - private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.GroupBox groupRegions; private System.Windows.Forms.Button buttonDelete; private System.Windows.Forms.Button buttonSave; private VistaControls.ComboBox comboRegions; private System.Windows.Forms.Button buttonDone; private System.Windows.Forms.Button buttonReset; - private System.Windows.Forms.Label label6; - private System.Windows.Forms.Label label7; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label labelHeight; + private System.Windows.Forms.Label labelWidth; + private System.Windows.Forms.Label labelY; + private System.Windows.Forms.Label labelX; + private System.Windows.Forms.Label labelCurrentRegion; private System.Windows.Forms.NumericUpDown numH; private System.Windows.Forms.NumericUpDown numW; private System.Windows.Forms.NumericUpDown numY; private System.Windows.Forms.NumericUpDown numX; private FocusedTextBox textRegionName; + private System.Windows.Forms.ToolTip toolTip; } } diff --git a/OnTopReplica/SidePanels/RegionPanel.cs b/OnTopReplica/SidePanels/RegionPanel.cs index ca35f13..29ce999 100644 --- a/OnTopReplica/SidePanels/RegionPanel.cs +++ b/OnTopReplica/SidePanels/RegionPanel.cs @@ -4,11 +4,14 @@ using System.Windows.Forms; using OnTopReplica.Properties; namespace OnTopReplica.SidePanels { + partial class RegionPanel : SidePanel { public RegionPanel() { InitializeComponent(); + Localize(); + //Copy settings into combo box if (Settings.Default.SavedRegions != null) { foreach (object o in Settings.Default.SavedRegions) { @@ -19,6 +22,25 @@ namespace OnTopReplica.SidePanels { _regionDrawnHandler = new ThumbnailPanel.RegionDrawnHandler(ThumbnailPanel_RegionDrawn); } + private void Localize() { + this.SuspendLayout(); + + groupRegions.Text = Strings.RegionsTitle; + comboRegions.CueBannerText = Strings.RegionsStoredRegions; + labelCurrentRegion.Text = Strings.RegionsCurrentRegion; + //labelX + //labelY + labelWidth.Text = Strings.RegionsWidth; + labelHeight.Text = Strings.RegionsHeight; + buttonReset.Text = Strings.RegionsResetButton; + buttonDone.Text = Strings.RegionsDoneButton; + + toolTip.SetToolTip(buttonSave, Strings.RegionsSaveButton); + toolTip.SetToolTip(buttonDelete, Strings.RegionsDeleteButton); + + this.ResumeLayout(); + } + public override string Title { get { return Strings.MenuRegion; @@ -220,4 +242,5 @@ namespace OnTopReplica.SidePanels { #endregion } + } diff --git a/OnTopReplica/SidePanels/RegionPanel.resx b/OnTopReplica/SidePanels/RegionPanel.resx index ff31a6d..a5979aa 100644 --- a/OnTopReplica/SidePanels/RegionPanel.resx +++ b/OnTopReplica/SidePanels/RegionPanel.resx @@ -117,4 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + \ No newline at end of file diff --git a/OnTopReplica/Strings.pl.resx b/OnTopReplica/Strings.pl.resx new file mode 100644 index 0000000..a79dda7 --- /dev/null +++ b/OnTopReplica/Strings.pl.resx @@ -0,0 +1,516 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Autor: %. + Link % is replaced by string AboutAuthorContent. + + + Lorenz Cuno Klopfenstein + + + Przerwij proces aktualizacji. + + + Pokaż szczegóły dotyczące OnTopReplica. + + + Resetuj wszystkie ustawienia OnTopReplica. + + + Aktualizuj teraz OnTopReplica + + + Chcesz wesprzeć projekt? Możesz ulepszyć istniejące tłumaczenia, utworzyć nowe dla Twojego rodzimego języka lub sprawdzić % na CodePlex. + + + kod źródłowy + + + OnTopReplica jest oparty na bibliotece WindowsFormsAero oraz innych bibliotekach i kodzie źródłowym. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Przeczytaj więcej + + + Wsparcie + + + Zasługi + + + Licencja + + + Aktualizacje + + + Aplikacja jest licencjonowana na warunkach licencji %, która spełnia warunki definicji "open-source" definiowane przez OSI. + + + Microsoft Reciprocal (MS-RL) + + + Miniatura "zawsze na wierzchu" przedstawiająca w czasie rzeczywistym podgląd wybranego okna. + + + O OnTopReplica + + + Tłumaczenie: {0} + {0} translators + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen + Must not be localized. In order to be added, contact author. + + + Sprawdź teraz! + + + OnTopReplica automatycznie sprawdza dostępność aktualizacji przy każdym uruchomieniu. + + + Wersja {0} + + + OnTopReplica + + + Całkowicie zresetować okno? + + + &Zresetuj +Wszystkie ustawienia zostaną utracone. + + + Może być użyte do zresetowania ustawień, jeśli została utracona kontrola nad oknem, lub zostało ono przesunięte poza granice ekranu. + + + Zresetuj + + + Zresetować ustawienia? + + + Ta opcja usunie wszystkie ustawienia spersonalizowane OnTopReplica i przywróci program do stanu jak po instalacji (wszystkie zapisane ustawienia, jak regiony, zostaną utracone). + + + Zresetuj ustawienia + + + Pobrać OnTopReplica {0}? + {0} update version + + + Anuluj aktualizację +OnTopReplica zapyta Cię przy następnym uruchomieniu. + + + Pobierz +Zainstaluj OnTopReplica {0}. + {0} update version + + + Nowa wersja może zostać pobrana i zainstalowana z oficjalnej strony programu. + + + Zainstalowana wersja: {0} +Dostępna wersja: {1} + {0} installed version number +{1} online available version number + + + Aktualizacja jest dostępna + + + &Anuluj + + + Utwórz region używając myszy. + + + Szczegóły + + + Szczegóły dot. Windows Aero + + + Windows Aero jest dostępne w wersji Windows Vista Home Premium i nowszych. + + + Kompozycje pulpitu są wyłączone. + + + Musisz włączyć kompozycje pulpitu wybierając 'Windows Aero' jako schemat używany przez Windows. + +Aby to uczynić kliknij prawym przyciskiem na pulpicie i wybierz 'Personalizuj'. + + + Szczegóły błędu + + + Błąd: + + + Wygląda na to, że wybrane okno zostało zamknięte lub nie jest już dostępne. + + + Błąd + + + Kompozycje pulpitu nie są wspierane przez Twój system operacyjny. +Aplikacja działa na Windows Vista Home Premium i nowszych. + + + Niewspierana kompozycja pulpitu + + + Nie załadowano miniatury. + + + Nie można utworzyć miniatury. + + + Nie można dopasować okna. + + + Nie można sprawdzić aktualizacji. + + + Wygląda na to, że OnTopReplica nie została zainstalowana przy użyciu 'ClickOnce'. Musisz ręcznie zaktualizować program (odwiedź <a href="http://ontopreplica.codeplex.com">stronę domową OnTopReplica's</a>). + + + Program OnTopReplica nie był w stanie sprawdzić, czy jest dostępna nowa wersja. Upewnij się, że Twoje połączenie z Internetem pracuje poprawnie. Jeśli tak, być może strona programu jest chwilowo niedostępna. + + + Tryb + + + Zawsze na wierzchu + + + Wymusza położenie okna OnTopReplica zawsze na wierzchu. + + + Kliknij-przez + + + OnTopReplica będzie się zachowywać jak półprzeźroczysta warstwa, co pozwoli Ci klikać na oknie położonym pod spodem. + + + Standardowe + + + Zachowanie jak normalne okno. Możesz przeciągnąć inne okna ponad OnTopReplica. + + + Pełny ekran OnTopReplica + + + Wyłącz + + + Włącz tryb grupowy + + + Wybierz kilka okien aby uaktywnić. + + + Tryb grupowy jest aktywny. + + + Tryb grupowy: + + + Okna + Column Header of list, simply refers to available windows to be cloned + + + Strona domowa: www.codeplex.com/ontopreplica. + + + Czy uaktywnić "przekazywanie kliknięć"? + + + Kiedy ten tryb jest aktywny, OnTopReplica będzie przekazywać kliknięcia lewym przyciskiem myszy do okna, które jest klonowane (dzięki temu możesz wykonywać na tym oknie podstawowe operacje bez konieczności uaktywniania go). + +Naciśnij ESC aby zakończyć ten tryb. + + + Przekazywanie kliknięć + + + Włączyć tryb kliknij-przez? + + + Kliknij-przez działa tylko wtedy, gdy zostało włączone w podmenu 'Zmień rozmiar' i kiedy okno jest półprzeźroczyste. + + + W tym trybie okno na pełnym ekranie będzie się zachowywać jak półprzeźroczysta warstwa i będziesz w stanie kliknąć na oknie znajdującym się pod nim. + +Aby w dowolnym momencie powrócić do normalnego trybu aktywuj OnTopReplica klikając na pasku zadań (lub na ikonce w tacce systemowej). + + + Nie, dziękuję. +Możesz włączyć kliknij-przez później + + + Użyj kliknij-przez + + + Tryb kliknij-przez + + + Program OnTopReplica został zaktualizowany. + + + Aby używać zaktualizowanej wersji OnTopReplica musisz zrestartować aplikację. + + + Aktualizacja zakończona powodzeniem + + + Program OnTopReplica jest aktualny. + + + Brak dostępnych aktualizacji + + + Język + + + O... + + + Ukrywa główne okno i pokazuje okno "O programie". + + + Zaawansowane + + + Pokazuj ramkę okna + + + Przełącznik wyświetlania ramki okna. + + + Włącz przekazywanie kliknięć + + + Uaktywnia przekazywanie kliknięć do klonowanego okna. + + + Włącz kliknij-przez + + + OnTopReplica będzie się zachowywać jak półprzeźroczysta warstwa i będziesz w stanie kliknąć na oknie znajdującym się pod nim. + + + Zamknij + + + Zamyka OnTopReplica. + + + 2:1 Podwójny + + + Pełny ekran + + + 1:2 Połowa + + + 1:1 Rozmiar oryginalny + + + 1:4 Ćwiartka + + + Tryb grupowy + + + OnTopReplica automatycznie sklonuje okno ze zdefiniowanej przez użytkownika grupy, przełączając na to które było najwcześniej zdeaktywowane. + + + 100% (nieprzeźroczyste) + + + Ustawia OnTopReplica jako całkowicie nieprzeźroczyste. + + + 25% + + + Ustawia przeźroczystość OnTopReplica na 25%. + + + 50% + + + Ustawia przeźroczystość OnTopReplica na 50%. + + + 75% + + + Ustawia przeźroczystość OnTopReplica na 75%. + + + Przeźroczystość + + + Otwórz + + + Wyświetla OnTopReplica. + + + Dół Lewo + + + Dół Prawo + + + Środek + + + Wyłączone + + + Zablokuj pozycję + + + Automatycznie ustawia na bieżącym ekranie OnTopReplica. + + + Góra Lewo + + + Góra Prawo + + + Wyjdź z trybu pełnoekranowego + + + Zapamiętaj ostatnią pozycję i rozmiar + + + Wybierz, czy OnTopReplica powinien zapamiętać ostatnią pozycję i rozmiar i użyć ich ponownie przy kolejnym uruchomieniu. + + + Minimalizuj + + + Minimalizuje OnTopReplica do paska zadań (lub tacki systemowej). + + + Wybierz region... + + + Przełącza na "tryb regionu", w którym można zaznaczyć jako miniaturę określony obszar okna źródłowego. + + + Resetuj okno + + + Resetuje ustawienia OnTopReplica i okna głównego. + + + Zmień rozmiar + + + Przywróć ostatnio klonowane okno + + + Kiedy włączone, OnTopReplica będzie próbować podczas uruchomienia przywrócić ostatnio klonowane okno. + + + Ustawienia... + + + Wyświetla okno konfiguracji. + + + Przełącz na okno + + + Przełącza na okno źródłowe i ukrywa okno OnTopReplica. + + + Wybierz okno + + + - żadne - + + + Wyświetla listę okien, które możesz wybrać jako źródło miniatur. + + + - całe - + + + Bieżący region: + + + Usuń + + + Gotowe + + + Wysokość + + + Zresetuj + + + Zapisz + + + Zapisane regiony + + + Regiony: + + + Szerokość + + + Kliknij prawym tutaj aby rozpocząć... + + + Sklonuj bieżące okno + + + Te skróty klawiszowe mogą być używane również wtedy, gdy okno OnTopReplica nie jest aktywne. + + + Pokaż/Ukryj + + + Klawisze skrótu: + + + Język: + + + Wymaga restartu. + + + Ustawienia + + \ No newline at end of file From 42608bddc2bfb54a48a575da3d9945b4dbd257f0 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 14 Apr 2011 23:52:55 +0200 Subject: [PATCH 109/164] Update mechanism updated radically (with integrated download and update start). Little code clean-up. Strings updated. --- OnTopReplica/Assets/thumbs_up.png | Bin 2318 -> 0 bytes OnTopReplica/MainForm.cs | 16 - OnTopReplica/Native/FilesystemMethods.cs | 51 ++++ OnTopReplica/OnTopReplica.csproj | 48 ++- OnTopReplica/Program.cs | 29 +- OnTopReplica/Properties/Resources.Designer.cs | 9 +- OnTopReplica/Properties/Resources.resx | 4 - .../SidePanels/AboutPanel.Designer.cs | 8 +- OnTopReplica/SidePanels/AboutPanelContents.cs | 55 ++-- OnTopReplica/Strings.Designer.cs | 193 ++++++++---- OnTopReplica/Strings.cs.resx | 51 ++-- OnTopReplica/Strings.da.resx | 49 ++- OnTopReplica/Strings.es.resx | 51 ++-- OnTopReplica/Strings.it.resx | 193 +++++++----- OnTopReplica/Strings.pl.resx | 54 ++-- OnTopReplica/Strings.resx | 210 +++++++------ OnTopReplica/Update/UpdateInformation.cs | 29 ++ OnTopReplica/Update/UpdateManager.cs | 288 ++++++++++++++---- OnTopReplica/WindowsFormsExtensions.cs | 50 +++ 19 files changed, 897 insertions(+), 491 deletions(-) delete mode 100644 OnTopReplica/Assets/thumbs_up.png create mode 100644 OnTopReplica/Native/FilesystemMethods.cs create mode 100644 OnTopReplica/WindowsFormsExtensions.cs diff --git a/OnTopReplica/Assets/thumbs_up.png b/OnTopReplica/Assets/thumbs_up.png deleted file mode 100644 index e77b7f130babaf80c65481efc1d008884e60ac86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2318 zcmV+p3Gw!cP)CQ@BQQ?F;lm(=GbAFYh>82EeKsvB+}O2UC8{IaXCmdKaH#b6WK<^f65 z*Lid=i`D1KN+r>rwYXOf)K}n1Zeqf3H852}Ypj3RzNay%S8Kd=WF>>LSa#bCZ9-Y><`9ekIxPu{{#&@sWV*&DSwt!*);zta8<^BNx< z55>c8!ci5q3zvhoy}0OaGq$UVrBnJS1+UW7j211tl4ku6BwFdgT5kq!)>O5d$SNqs zc!TZlgmv45jq%~kbx_e*?bj_hzl9Se72z(ZPnF{KAwQJ*ZN){2&HbDm#>R=p3kF%} zs4DF>nynGNVNUuXOFh|9yCul;-hk2&E0pcqhGETAJO>fTQ{dm4haW>Z{{CaqF-zs^dIxe$Qs)yNhtvb;GN4d&BAk(*?4_ zmU=khv>bUpn@|z!h?{BNXvhx5qjM3+ONnYXkW+LK!?oKYZWo5~I6Vydo9=~f2KHO) z_m>)eDNeBb8kKQ7QFGWE-yLvAiNqQ?ZX0lR`&#*!?`4W&i6!nF6XX8rAT$?7<3({S zo}PwI#i?d;hLK@2>oltkeAJ0knhk|H4&JM#9 zGSEolwbER?dJ8nS$e=HBX%`;wu{L@PoD4zf69~faWrD~2ajK=EwwE5AqeY67(3Brf z;%>N-unVcKD-mPzcU((!$Gww*s7nt(Gpg#IVEHCz2)$T%7}5U<>Au^3M;%t?-aQeBrh)@_Qf3z^y{!JQ>Qtv(jWd&W%ByWD7MKm8&R5P6K76P;7=A4-s;`%@MO+w{o}6 zIQ8jTbKYNPx}}f2#)2?}=tcDG0N-zY8O2*Iwz-xpMxy;noZhvGG7*ATl^JNM%*37a zF!>hb9Z(Uo11XNHY0i2QHKlE7i2`pPt&p@?UnbF?7GN}5O_tL20_PZipq#LD(>Q4&M z;WYl07)|gyg!zmZMev)IOTq^GDl#GTcGCJR^c&~3xRLCGhiAfZFEb1m_PL?zh_Af+ zOM;ronG`8jd-cmPstmzB`(D~@WgB1#sWNK7TBDaJ`OeolNs{FzW8*lb%V z$X+i&S+Zp2-GgRd<6@W->gil)$d06K7mlm(?kEo0f&wbV`H*dtr3e&-I^me}+N&S+ zkVmJch>`_)f6pdn5gNo4h4@GsIWt_Aj^f;y@=M8R>@dyK?xL2H)QG9JhPW8+Oc|k< zQKC1_dYU55aTUs=x1)?sLdoj6x9AydMU*`167z|#6yltL@dT%xYtI?tv~z#7*1mOz zwEryQ4?R5>Oo=F=9=J>$e}=ZzF{iaS?z|3JUS=o?u%c4f;++3hSnEzYL-UOktfX-X zF^`x*a8|enh7lYwcYnvuZxe18=QQxP;HDUAIC5Z+)L^!Zvrs{Oa5Kf9wxS10q;|*_ zTcU=tLi4!s>6%iV;|18eMAs?|XE1Nd)*0l~HYl;ApZcem|t&gyUeZ-||8b8x-*yyj@Q zi;W46R7%7WF~lyyj95fW?jX+3vN)HrQ*+VxU%liFNN_2*VK|Ly#5jVt6?gYS#mF7c zQFEhly*X=b;{5#Y7Vqkg&2UDzENq6GiBB%x!z{)lA3U7y0R%_QbNTH5kHx#1;qPpS o;l-JbZ#4egZA<;!BENL+C)l { - if (e.Success) { - _updateManager.HandleUpdateCheck(this, e.Information, false); - } - else { - Console.WriteLine("Failed to check for updates: {0}", e.Error); - } - })); - } - #region Event override protected override CreateParams CreateParams { @@ -97,10 +85,6 @@ namespace OnTopReplica { //Apply startup options _startupOptions.Apply(this); - - //Check for updates - _updateManager.UpdateCheckCompleted += new EventHandler(UpdateManager_CheckCompleted); - _updateManager.CheckForUpdate(); } protected override void OnClosing(CancelEventArgs e) { diff --git a/OnTopReplica/Native/FilesystemMethods.cs b/OnTopReplica/Native/FilesystemMethods.cs new file mode 100644 index 0000000..d48d741 --- /dev/null +++ b/OnTopReplica/Native/FilesystemMethods.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.IO; + +namespace OnTopReplica.Native { + + /// + /// Native methods for filesystem interop. + /// + static class FilesystemMethods { + + /// + /// Gets the path to the current user's download path. + /// + /// + /// Code taken from http://stackoverflow.com/questions/3795023/downloads-folder-not-special-enough + /// + public static string DownloadsPath { + get { + string path = null; + + //Requires Vista or superior + if (Environment.OSVersion.Version.Major >= 6) { + IntPtr pathPtr; + Guid folderId = FolderDownloads; + int hr = SHGetKnownFolderPath(ref folderId, 0, IntPtr.Zero, out pathPtr); + if (hr == 0) { + path = Marshal.PtrToStringUni(pathPtr); + Marshal.FreeCoTaskMem(pathPtr); + return path; + } + } + + //Fallback code + path = Path.GetDirectoryName(Environment.GetFolderPath(Environment.SpecialFolder.Personal)); + path = Path.Combine(path, "Downloads"); + return path; + } + } + + + static readonly Guid FolderDownloads = new Guid("374DE290-123F-4565-9164-39C4925E467B"); + + [DllImport("shell32.dll", CharSet = CharSet.Auto)] + private static extern int SHGetKnownFolderPath(ref Guid id, int flags, IntPtr token, out IntPtr path); + + } + +} diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index aecccf8..2bfdfed 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -134,6 +134,7 @@ + @@ -178,6 +179,7 @@ + SidePanelContainer.cs @@ -187,8 +189,18 @@ AboutPanelContents.cs - - + + ResXFileCodeGenerator + Strings.pl.Designer.cs + + + ResXFileCodeGenerator + Strings.Designer.cs + + + ResXFileCodeGenerator + Strings.ru.Designer.cs + @@ -256,9 +268,18 @@ ResXFileCodeGenerator Strings.da.Designer.cs - - - + + ResXFileCodeGenerator + Strings.de.Designer.cs + + + ResXFileCodeGenerator + Strings.es.Designer.cs + + + ResXFileCodeGenerator + Strings.fi.Designer.cs + ResXFileCodeGenerator Strings.it.Designer.cs @@ -277,13 +298,17 @@ RegionPanel.cs Designer - - - - - Strings.Designer.cs - Designer + ResXFileCodeGenerator + Strings.no.Designer.cs + + + ResXFileCodeGenerator + Strings.pt-BR.Designer.cs + + + ResXFileCodeGenerator + Strings.pt.Designer.cs True @@ -406,7 +431,6 @@ - diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs index 5a481aa..f6bfe19 100644 --- a/OnTopReplica/Program.cs +++ b/OnTopReplica/Program.cs @@ -13,7 +13,7 @@ namespace OnTopReplica { public static PlatformSupport Platform { get; private set; } - static UpdateManager _updateManager; + public static UpdateManager Update { get; private set; } static MainForm _mainForm; @@ -55,6 +55,19 @@ namespace OnTopReplica { //Show form using (_mainForm = new MainForm(options)) { + //Start up update manager + Update = new UpdateManager(_mainForm); + Update.UpdateCheckCompleted += new EventHandler(UpdateManager_CheckCompleted); + bool doneCheck = false; + _mainForm.Shown += delegate { + if (doneCheck) return; + doneCheck = true; + + //Delay first update check to when form is visible + Update.CheckForUpdate(); + }; + + //Enter GUI loop Application.Run(_mainForm); //Persist settings @@ -64,6 +77,20 @@ namespace OnTopReplica { } } + /// + /// Callback that handles update checking. + /// + static void UpdateManager_CheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + if (e.Success && e.Information != null) { + if (e.Information.IsNewVersion) { + Update.ConfirmAndInstall(); + } + } + else { + Console.Error.WriteLine("Failed to check updates. {0}", e.Error); + } + } + static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { string dump = string.Format("OnTopReplica-dump-{0}{1}{2}{3}{4}.txt", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs index 78a54da..5b4ed1e 100644 --- a/OnTopReplica/Properties/Resources.Designer.cs +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.1 +// Runtime Version:4.0.30319.225 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -228,13 +228,6 @@ namespace OnTopReplica.Properties { } } - internal static System.Drawing.Bitmap thumbs_up { - get { - object obj = ResourceManager.GetObject("thumbs_up", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - internal static System.Drawing.Bitmap window_border16 { get { object obj = ResourceManager.GetObject("window_border16", resourceCulture); diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx index f3d9721..79864a3 100644 --- a/OnTopReplica/Properties/Resources.resx +++ b/OnTopReplica/Properties/Resources.resx @@ -148,9 +148,6 @@ ..\Assets\window_opacity_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Assets\thumbs_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Assets\pos_topleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -232,7 +229,6 @@ ..\Assets\flag_spanish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Assets\flag_poland.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/OnTopReplica/SidePanels/AboutPanel.Designer.cs b/OnTopReplica/SidePanels/AboutPanel.Designer.cs index b8afe49..31f9492 100644 --- a/OnTopReplica/SidePanels/AboutPanel.Designer.cs +++ b/OnTopReplica/SidePanels/AboutPanel.Designer.cs @@ -34,7 +34,7 @@ this.labelVersion.Location = new System.Drawing.Point(0, 270); this.labelVersion.Name = "labelVersion"; this.labelVersion.Padding = new System.Windows.Forms.Padding(0, 0, 0, 3); - this.labelVersion.Size = new System.Drawing.Size(255, 20); + this.labelVersion.Size = new System.Drawing.Size(265, 20); this.labelVersion.TabIndex = 0; this.labelVersion.Text = "Version"; this.labelVersion.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; @@ -49,7 +49,7 @@ this.panelContents.Location = new System.Drawing.Point(6, 6); this.panelContents.Margin = new System.Windows.Forms.Padding(6); this.panelContents.Name = "panelContents"; - this.panelContents.Size = new System.Drawing.Size(243, 255); + this.panelContents.Size = new System.Drawing.Size(253, 255); this.panelContents.TabIndex = 1; // // AboutPanel @@ -58,9 +58,9 @@ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.panelContents); this.Controls.Add(this.labelVersion); - this.MinimumSize = new System.Drawing.Size(255, 290); + this.MinimumSize = new System.Drawing.Size(265, 290); this.Name = "AboutPanel"; - this.Size = new System.Drawing.Size(255, 290); + this.Size = new System.Drawing.Size(265, 290); this.ResumeLayout(false); } diff --git a/OnTopReplica/SidePanels/AboutPanelContents.cs b/OnTopReplica/SidePanels/AboutPanelContents.cs index 24bb6c5..9d375e4 100644 --- a/OnTopReplica/SidePanels/AboutPanelContents.cs +++ b/OnTopReplica/SidePanels/AboutPanelContents.cs @@ -13,40 +13,42 @@ using System.IO; namespace OnTopReplica.SidePanels { public partial class AboutPanelContents : UserControl { - UpdateManager _updater; + EventHandler _updateHandler; public AboutPanelContents() { InitializeComponent(); //Localized strings lblSlogan.Text = Strings.AboutSlogan; - InternationalizeLinkLabel(linkAuthor, Strings.AboutAuthor, Strings.AboutAuthorContent); + linkAuthor.Internationalize(Strings.AboutAuthor, Strings.AboutAuthorContent); labeledDivider1.Text = Strings.AboutDividerUpdates; lblUpdateDisclaimer.Text = Strings.AboutUpdatesDisclaimer; buttonUpdate.Text = Strings.AboutUpdatesCheckNow; labeledDivider2.Text = Strings.AboutDividerCredits; - InternationalizeLinkLabel(linkCredits, Strings.AboutCreditsSources, Strings.AboutCreditsSourcesContent); + linkCredits.Internationalize(Strings.AboutCreditsSources, Strings.AboutCreditsSourcesContent); labelTranslators.Text = string.Format(Strings.AboutTranslators, Strings.AboutTranslatorsContent); labeledDivider3.Text = Strings.AboutDividerLicense; - InternationalizeLinkLabel(linkLicense, Strings.AboutLicense, Strings.AboutLicenseContent); + linkLicense.Internationalize(Strings.AboutLicense, Strings.AboutLicenseContent); labeledDivider4.Text = Strings.AboutDividerContribute; - InternationalizeLinkLabel(linkContribute, Strings.AboutContribute, Strings.AboutContributeContent); - - //Updating - _updater = new UpdateManager(); - _updater.UpdateCheckCompleted += new EventHandler(UpdateCheckCompleted); + linkContribute.Internationalize(Strings.AboutContribute, Strings.AboutContributeContent); } - private void InternationalizeLinkLabel(LinkLabel label, string text, string linkText) { - int linkIndex = text.IndexOf('%'); - if (linkIndex == -1) { - //Shouldn't happen, but try to fail with meaningful text - label.Text = text; - return; - } + protected override void OnHandleCreated(EventArgs e) { + base.OnHandleCreated(e); - label.Text = text.Substring(0, linkIndex) + linkText + text.Substring(linkIndex + 1); - label.LinkArea = new LinkArea(linkIndex, linkText.Length); + if (!DesignMode) { + //Updating + _updateHandler = new EventHandler(UpdateCheckCompleted); + Program.Update.UpdateCheckCompleted += _updateHandler; + } + } + + protected override void OnHandleDestroyed(EventArgs e) { + base.OnHandleDestroyed(e); + + if (!DesignMode) { + Program.Update.UpdateCheckCompleted -= _updateHandler; + } } private void LinkHomepage_clicked(object sender, LinkLabelLinkClickedEventArgs e) { @@ -67,22 +69,17 @@ namespace OnTopReplica.SidePanels { void UpdateButton_click(object sender, System.EventArgs e) { progressUpdate.Visible = true; - _updater.CheckForUpdate(); + Program.Update.CheckForUpdate(); } void UpdateCheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { this.Invoke(new Action(() => { - var topForm = this.TopLevelControl as Form; - - if (e.Success) { - _updater.HandleUpdateCheck(topForm, e.Information, true); + if (!e.Success || e.Information == null) { + //TODO + MessageBox.Show("Failed to download update info."); } - else { - var dlg = new TaskDialog(Strings.ErrorUpdate, Strings.ErrorUpdate, Strings.ErrorUpdateContentGeneric) { - CommonIcon = TaskDialogIcon.Stop, - CommonButtons = TaskDialogButton.OK - }; - dlg.Show(topForm); + else if (!e.Information.IsNewVersion) { + Program.Update.DisplayInfo(); } progressUpdate.Visible = false; diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs index fa795eb..fb340dd 100644 --- a/OnTopReplica/Strings.Designer.cs +++ b/OnTopReplica/Strings.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.1 +// Runtime Version:4.0.30319.225 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -232,7 +232,7 @@ namespace OnTopReplica { } /// - /// Looks up a localized string similar to Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen.. + /// Looks up a localized string similar to Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen.. /// internal static string AboutTranslatorsContent { get { @@ -340,63 +340,6 @@ namespace OnTopReplica { } } - /// - /// Looks up a localized string similar to Download OnTopReplica {0}?. - /// - internal static string AskUpdate { - get { - return ResourceManager.GetString("AskUpdate", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Cancel update - ///OnTopReplica will prompt you the next time it is started.. - /// - internal static string AskUpdateButtonCancel { - get { - return ResourceManager.GetString("AskUpdateButtonCancel", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Download - ///Install OnTopReplica {0}.. - /// - internal static string AskUpdateButtonOk { - get { - return ResourceManager.GetString("AskUpdateButtonOk", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to The new version can be downloaded and installed from the official website.. - /// - internal static string AskUpdateContent { - get { - return ResourceManager.GetString("AskUpdateContent", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Installed version: {0} - ///Available version: {1}. - /// - internal static string AskUpdateExpanded { - get { - return ResourceManager.GetString("AskUpdateExpanded", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Update available. - /// - internal static string AskUpdateTitle { - get { - return ResourceManager.GetString("AskUpdateTitle", resourceCulture); - } - } - /// /// Looks up a localized string similar to &Cancel. /// @@ -1511,5 +1454,137 @@ namespace OnTopReplica { return ResourceManager.GetString("SettingsTitle", resourceCulture); } } + + /// + /// Looks up a localized string similar to Cancel update + ///OnTopReplica will prompt you the next time it is started.. + /// + internal static string UpdateAvailableCommandCancel { + get { + return ResourceManager.GetString("UpdateAvailableCommandCancel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Download + ///Install OnTopReplica {0}.. + /// + internal static string UpdateAvailableCommandOk { + get { + return ResourceManager.GetString("UpdateAvailableCommandOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The new version can be downloaded and installed from the official website.. + /// + internal static string UpdateAvailableContent { + get { + return ResourceManager.GetString("UpdateAvailableContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Installed version: {0} + ///Available version: {1}. + /// + internal static string UpdateAvailableExpanded { + get { + return ResourceManager.GetString("UpdateAvailableExpanded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Version {0} available. + /// + internal static string UpdateAvailableInstruction { + get { + return ResourceManager.GetString("UpdateAvailableInstruction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0}/{1} bytes downloaded.. + /// + internal static string UpdateDownloadingContent { + get { + return ResourceManager.GetString("UpdateDownloadingContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Downloading.... + /// + internal static string UpdateDownloadingInstruction { + get { + return ResourceManager.GetString("UpdateDownloadingInstruction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + /// + ///You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>.. + /// + internal static string UpdateInfoContent { + get { + return ResourceManager.GetString("UpdateInfoContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Latest stable version: {0}.. + /// + internal static string UpdateInfoFooter { + get { + return ResourceManager.GetString("UpdateInfoFooter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica is up to date. + /// + internal static string UpdateInfoInstruction { + get { + return ResourceManager.GetString("UpdateInfoInstruction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Install + ///OnTopReplica will be closed and the update installed.. + /// + internal static string UpdateReadyCommandOk { + get { + return ResourceManager.GetString("UpdateReadyCommandOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica version {0} is ready to be installed on your computer.. + /// + internal static string UpdateReadyContent { + get { + return ResourceManager.GetString("UpdateReadyContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update ready. + /// + internal static string UpdateReadyInstruction { + get { + return ResourceManager.GetString("UpdateReadyInstruction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica updates. + /// + internal static string UpdateTitle { + get { + return ResourceManager.GetString("UpdateTitle", resourceCulture); + } + } } } diff --git a/OnTopReplica/Strings.cs.resx b/OnTopReplica/Strings.cs.resx index 5dac23e..c705200 100644 --- a/OnTopReplica/Strings.cs.resx +++ b/OnTopReplica/Strings.cs.resx @@ -24,8 +24,18 @@ Aktualizovat OnTopReplica. + + Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému. + + + Zkontroluj aktualizace + + + Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. + OnTopReplica + Probably doesn't need localization. :) Resetovat nastavení okna? @@ -49,36 +59,17 @@ Všechna nastavení budou ztracena. Resetovat nastavení - - Instalovat OnTopReplica {0}? - {0} update version - - - Zrušit aktualizaci -Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. - - + Pokračovat Instalovat OnTopReplica {0}. - {0} update version - - - Nová verze bude automaticky stažena a nainstalována. - - - Nainstalovaná verze: {0} -Dostupná verze: {1} - {0} installed version number -{1} online available version number - - - Nové aktualizace jsou k dispozici &Storno + & marks the ALT+[] shortcut - - Autor: Lorenz Cuno Klopfenstein. + + Zrušit aktualizaci +Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. Označte výřez pomocí myši. @@ -385,13 +376,11 @@ Režim "Proklikávání" je možné zvolit později v menu Začněte klepnutím sem pravým tlačítkem myši... - - Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. + + Nová verze bude automaticky stažena a nainstalována. - - Zkontroluj aktualizace - - - Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému. + + Nainstalovaná verze: {0} +Dostupná verze: {1} \ No newline at end of file diff --git a/OnTopReplica/Strings.da.resx b/OnTopReplica/Strings.da.resx index 4b62282..2ba2bad 100644 --- a/OnTopReplica/Strings.da.resx +++ b/OnTopReplica/Strings.da.resx @@ -24,8 +24,18 @@ Opdater OnTopReplica nu. + + En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. + + + Opdater nu! + + + OnTopReplica checker automatiskt for opdateringer. + OnTopReplica + Probably doesn't need localization. :) Nulstil vinduet helt? @@ -48,34 +58,15 @@ Nulstil indstillingerne - - Installer OnTopReplica {0}? - {0} update version - - - Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes. - - + FortsætInstaller OnTopReplica - {0} update version - - - Den nye version vil automatiskt blive downloaded og installeret. - - - Installeret version: {0} -Tilgængelig version: {1} - {0} installed version number -{1} online available version number - - - Opdatering tilgængelig. &Annuller + & marks the ALT+[] shortcut - - Lavet af: Lorenz Cuno Klopfenstein. + + Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes. Tegn områder med musen @@ -380,13 +371,11 @@ Du kan aktivere gennem klik senere. Højreklik her for at starte... - - OnTopReplica checker automatiskt for opdateringer. + + Den nye version vil automatiskt blive downloaded og installeret. - - Opdater nu! - - - En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. + + Installeret version: {0} +Tilgængelig version: {1} \ No newline at end of file diff --git a/OnTopReplica/Strings.es.resx b/OnTopReplica/Strings.es.resx index 79310d3..71c9ae1 100644 --- a/OnTopReplica/Strings.es.resx +++ b/OnTopReplica/Strings.es.resx @@ -24,8 +24,18 @@ Actualiza OnTopReplica ahora. + + Una copia liviana, en tiempo real y siempre encima de cualquier ventana. + + + Actualizar ahora! + + + OnTopReplica busca actualizaciones automáticamente. + OnTopReplica + Probably doesn't need localization. :) ¿Reiniciar la ventana? @@ -49,36 +59,17 @@ Todos los ajustes se perderán. Reiniciar ajustes - - Descargar OnTopReplica {0}? - {0} update version - - - Cancelar actualización -OnTopReplica le preguntará la próxima vez que se ejecute. - - + Descargar Instalar OnTopReplica {0} - {0} update version - - - La nueva versión puede ser descargada e instalada del sitio oficial. - - - Versión instalada: {0} -Versión disponible: {1} - {0} installed version number -{1} online available version number - - - Actualización disponible &Cancelar + & marks the ALT+[] shortcut - - Creado por: Lorenz Cuno Klopfenstein. + + Cancelar actualización +OnTopReplica le preguntará la próxima vez que se ejecute. Crea una región utilizando el ratón. @@ -413,13 +404,11 @@ Se podrá activar Click a través más tarde Click derecho para empezar... - - OnTopReplica busca actualizaciones automáticamente. + + La nueva versión puede ser descargada e instalada del sitio oficial. - - Actualizar ahora! - - - Una copia liviana, en tiempo real y siempre encima de cualquier ventana. + + Versión instalada: {0} +Versión disponible: {1} \ No newline at end of file diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx index 33ce394..a03c8a5 100644 --- a/OnTopReplica/Strings.it.resx +++ b/OnTopReplica/Strings.it.resx @@ -12,6 +12,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Creato da: %. + Link % is replaced by string AboutAuthorContent. + Annulla il processo di aggiornamento. @@ -24,11 +28,56 @@ Aggiorna OnTopReplica ora. + + T'interessa partecipare? Ogni aiuto è ben accetto, sia che tu voglia migliorare una traduzione, aggiungerne una nuova oppure dare un'occhiata al % su CodePlex. + + + codice sorgente + + + OnTopReplica è basato sulla libreria WindowsFormsAero ed il codice di altri progetti open-source. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Leggi tutti i riferimenti + Contribuisci + + Ringraziamenti + + + Licenza d'uso + + + Aggiornamenti + + + Questa applicazione è rilasciata sotto la licenza %, che rientra nella definizione di "open-source" data dal consorzio OSI. + + + Una copia in tempo reale e sempre in primo piano di una finestra a tua scelta. + + + A proposito di OnTopReplica + + + Traduttori: {0} + {0} translators (do not end with period) + + + Controlla! + + + OnTopReplica controlla automaticamente la presenza di aggiornamenti ad ogni avvio. + + + Versione {0} + OnTopReplica + Probably doesn't need localization. :) Ripristinare completamente la finestra? @@ -52,36 +101,13 @@ Tutte le impostazioni saranno perse. Reimposta - - Scaricare OnTopReplica {0}? - {0} update version - - - Annulla aggiornamento -OnTopReplica si aggiornerà in un secondo momento. - - - Continua -Scarica OnTopReplica {0}. - {0} update version - - - Sarà possibile scaricare la nuova versione ed installarla. - - - Versione installata: {0} -Versione disponibile: {1} - {0} installed version number -{1} online available version number - - - Aggiornamento disponibile - &Annulla + & marks the ALT+[] shortcut - - Creato da: Lorenz Cuno Klopfenstein. + + Annulla aggiornamento +OnTopReplica si aggiornerà in un secondo momento. Disegna una regione usando il mouse. @@ -284,12 +310,6 @@ Puoi abilitare il Click-Through in futuro 1:4 Quarto - - Queste scorciatoie possono essere usate quando OnTopReplica non è attivo. - - - Clona finestra corrente - Modalità Gruppo di finestre @@ -335,6 +355,9 @@ Puoi abilitare il Click-Through in futuro In basso a destra + + Centrato + Disabilitato @@ -380,6 +403,18 @@ Puoi abilitare il Click-Through in futuro Ridimensionamento + + Ripristina ultima finestra + + + Se abilitato, all'avvio OnTopReplica tenterà di ripristinare l'ultima finestra precedentemente clonata. + + + Impostazioni... + + + Mostra il pannello delle impostazioni. + Vai alla finestra originale @@ -408,7 +443,7 @@ Puoi abilitare il Click-Through in futuro Chiudi - Altezz. + Altezza Reset @@ -423,19 +458,16 @@ Puoi abilitare il Click-Through in futuro Regioni: - Largh. + Larghezza Clic destro qui per iniziare... - - OnTopReplica controlla automaticamente la presenza di aggiornamenti ad ogni avvio. + + Clona finestra corrente - - A proposito di OnTopReplica - - - Versione {0} + + Queste scorciatoie possono essere usate quando OnTopReplica non è attivo. Nascondi @@ -449,61 +481,54 @@ Puoi abilitare il Click-Through in futuro Richiede un riavvio. + + Continua +Scarica OnTopReplica {0}. + Impostazioni - - Ripristina ultima finestra + + Sarà possibile scaricare la nuova versione ed installarla. - - Se abilitato, all'avvio OnTopReplica tenterà di ripristinare l'ultima finestra precedentemente clonata. + + Versione installata: {0} +Versione disponibile: {1} - - Impostazioni... + + Disponibile la versione {0} - - Mostra il pannello delle impostazioni. + + Scaricati {0} byte su {1}. + {0} downloaded bytes {1} total bytes - - Centrato + + Download in corso... - - Creato da: %. - Link % is replaced by string AboutAuthorContent. + + L'ultima versione di OnTopReplica è già installata. Il programma controllo automaticamente la presenza di aggiornamenti ad ogni avvio. + +Per tenersi aggiornati sullo sviluppo di OnTopReplica o suggerire miglioramenti, <a href="website">visitare il sito ufficiale</a>. + The website link should be enclosed in <a href="website"></a> tags. - - OnTopReplica è basato sulla libreria WindowsFormsAero ed il codice di altri progetti open-source. %. - Link % is replaced by string AboutCreditsSourcesContent. + + Ultima versione stabile rilasciata il {0}. + {0} last version release date - - Leggi tutti i riferimenti + + OnTopReplica è aggiornato - - Ringraziamenti + + Installa +OnTopReplica verrà chiuso e l'aggiornamento sarà installato. - - Aggiornamenti + + La versione {0} di OnTopReplica è pronta ad essere installata sul tuo computer. - - Una copia in tempo reale e sempre in primo piano di una finestra a tua scelta. + + Aggiornamento pronto - - Controlla! - - - Licenza d'uso - - - Questa applicazione è rilasciata sotto la licenza %, che rientra nella definizione di "open-source" data dal consorzio OSI. - - - Traduttori: {0} - {0} translators - - - T'interessa partecipare? Ogni aiuto è ben accetto, sia che tu voglia migliorare una traduzione, aggiungerne una nuova oppure dare un'occhiata al % su CodePlex. - - - codice sorgente + + Aggiornamenti di OnTopReplica \ No newline at end of file diff --git a/OnTopReplica/Strings.pl.resx b/OnTopReplica/Strings.pl.resx index a79dda7..f3104e1 100644 --- a/OnTopReplica/Strings.pl.resx +++ b/OnTopReplica/Strings.pl.resx @@ -16,9 +16,6 @@ Autor: %. Link % is replaced by string AboutAuthorContent. - - Lorenz Cuno Klopfenstein - Przerwij proces aktualizacji. @@ -60,7 +57,8 @@ Aplikacja jest licencjonowana na warunkach licencji %, która spełnia warunki definicji "open-source" definiowane przez OSI. - Microsoft Reciprocal (MS-RL) + + Can be left blank. Miniatura "zawsze na wierzchu" przedstawiająca w czasie rzeczywistym podgląd wybranego okna. @@ -70,11 +68,7 @@ Tłumaczenie: {0} - {0} translators - - - Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen - Must not be localized. In order to be added, contact author. + {0} translators (do not end with period) Sprawdź teraz! @@ -87,6 +81,7 @@ OnTopReplica + Probably doesn't need localization. :) Całkowicie zresetować okno? @@ -110,33 +105,9 @@ Wszystkie ustawienia zostaną utracone. Zresetuj ustawienia - - Pobrać OnTopReplica {0}? - {0} update version - - - Anuluj aktualizację -OnTopReplica zapyta Cię przy następnym uruchomieniu. - - - Pobierz -Zainstaluj OnTopReplica {0}. - {0} update version - - - Nowa wersja może zostać pobrana i zainstalowana z oficjalnej strony programu. - - - Zainstalowana wersja: {0} -Dostępna wersja: {1} - {0} installed version number -{1} online available version number - - - Aktualizacja jest dostępna - &Anuluj + & marks the ALT+[] shortcut Utwórz region używając myszy. @@ -510,7 +481,22 @@ Możesz włączyć kliknij-przez później Wymaga restartu. + + Pobierz +Zainstaluj OnTopReplica {0}. + + + Anuluj aktualizację +OnTopReplica zapyta Cię przy następnym uruchomieniu. + Ustawienia + + Nowa wersja może zostać pobrana i zainstalowana z oficjalnej strony programu. + + + Zainstalowana wersja: {0} +Dostępna wersja: {1} + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx index 180a24d..f69a4dc 100644 --- a/OnTopReplica/Strings.resx +++ b/OnTopReplica/Strings.resx @@ -12,6 +12,14 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + Lorenz Cuno Klopfenstein + Must not be localized. Leave blank in non-default languages. + Abort update process. @@ -24,8 +32,64 @@ Update OnTopReplica now. + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen. + Must not be localized. Leave blank in non-default languages. + + + Check now! + + + OnTopReplica automatically checks for updates at every start up. + + + Version {0} + OnTopReplica + Probably doesn't need localization. :) Reset window completely? @@ -49,37 +113,26 @@ All settings will be lost. Reset settings - - Download OnTopReplica {0}? - {0} update version + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes - - Cancel update -OnTopReplica will prompt you the next time it is started. + + Version {0} available - - Download -Install OnTopReplica {0}. - {0} update version + + Install +OnTopReplica will be closed and the update installed. - + The new version can be downloaded and installed from the official website. - - Installed version: {0} -Available version: {1} - {0} installed version number -{1} online available version number - - - Update available + + OnTopReplica version {0} is ready to be installed on your computer. &Cancel - - - Created by: %. - Link % is replaced by string AboutAuthorContent. + & marks the ALT+[] shortcut Draw regions using mouse. @@ -375,6 +428,18 @@ You can enable click-through later Resize + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + Switch to window @@ -423,27 +488,6 @@ You can enable click-through later Right-click here to start... - - A lightweight, real-time, always on top thumbnail of a window of your choice. - - - OnTopReplica automatically checks for updates at every start up. - - - Check now! - - - Settings... - - - Displays the settings panel. - - - Restore last cloned window - - - When enabled, OnTopReplica will attempt to restore the last cloned window on start up. - Clone current window @@ -462,55 +506,41 @@ You can enable click-through later Requires a restart. + + Downloading... + + + Update ready + + + Download +Install OnTopReplica {0}. + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + OnTopReplica is up to date + + + Latest stable version released on {0}. + {0} last version release date + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + Settings - - Lorenz Cuno Klopfenstein + + OnTopReplica updates - - OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. - Link % is replaced by string AboutCreditsSourcesContent. - - - Read the full credits - - - Credits - - - Updates - - - About OnTopReplica - - - Version {0} - - - Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. - - - source code - - - Contribute - - - License - - - The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. - - - Microsoft Reciprocal (MS-RL) - - - Translators: {0} - {0} translators - - - Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen. - Must not be localized. In order to be added, contact author. + + Installed version: {0} +Available version: {1} \ No newline at end of file diff --git a/OnTopReplica/Update/UpdateInformation.cs b/OnTopReplica/Update/UpdateInformation.cs index f605223..662c8c4 100644 --- a/OnTopReplica/Update/UpdateInformation.cs +++ b/OnTopReplica/Update/UpdateInformation.cs @@ -4,6 +4,7 @@ using System.Text; using System.Xml.Serialization; using System.IO; using System.Xml; +using System.Reflection; namespace OnTopReplica.Update { @@ -37,6 +38,27 @@ namespace OnTopReplica.Update { } } + /// + /// Returns whether this update information instance represents data about + /// a new available version. + /// + public bool IsNewVersion { + get { + var currentVersion = CurrentVersion; + + return (LatestVersion > currentVersion); + } + } + + /// + /// Gets the currently installed version. + /// + public Version CurrentVersion { + get { + return Assembly.GetExecutingAssembly().GetName().Version; + } + } + /// /// Indicates when the latest version was released. /// @@ -49,6 +71,13 @@ namespace OnTopReplica.Update { [XmlElement("downloadPage")] public string DownloadPage { get; set; } + /// + /// Gets the URL of the installer executable. + /// + /// New after version 3.3.1. + [XmlElement("downloadInstaller")] + public string DownloadInstaller { get; set; } + /// /// Deserializes an UpdateInformation object from a stream. /// diff --git a/OnTopReplica/Update/UpdateManager.cs b/OnTopReplica/Update/UpdateManager.cs index ea138e7..45d1746 100644 --- a/OnTopReplica/Update/UpdateManager.cs +++ b/OnTopReplica/Update/UpdateManager.cs @@ -1,43 +1,87 @@ using System; -using System.Collections.Generic; -using System.Net; -using System.Text; -using System.Net.Cache; -using System.IO; -using System.Reflection; -using VistaControls.TaskDialog; using System.Diagnostics; +using System.IO; +using System.Net; +using System.Net.Cache; using System.Windows.Forms; -using System.Threading; +using VistaControls.TaskDialog; namespace OnTopReplica.Update { - + + /// + /// Handles update checking and information display. + /// class UpdateManager { + /// + /// Constructs a new update manager with an attached form. + /// + /// Form through which all GUI calls are made. Closing this form should terminate the application. + public UpdateManager(Form attachedForm) { + if (attachedForm == null) + throw new ArgumentNullException(); + + AttachedForm = attachedForm; + } + + /// + /// Gets or sets the attached form (through which all GUI calls are made). + /// + protected Form AttachedForm { get; private set; } + + #region Checking + const string UpdateManifestUrl = "http://www.klopfenstein.net/public/Uploads/ontopreplica/update.xml"; + /// + /// Gets the latest update information available. + /// + public UpdateInformation LastInformation { get; private set; } + + HttpWebRequest _checkRequest; + + /// + /// Checks for update asynchronously, updating update information. + /// When check is completed, raises update events. + /// public void CheckForUpdate() { - ThreadPool.QueueUserWorkItem(new WaitCallback(o => { - //Build web request - var request = (HttpWebRequest)HttpWebRequest.Create(UpdateManifestUrl); - request.AllowAutoRedirect = true; - request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; - request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache); + if (_checkRequest != null) { + _checkRequest.Abort(); + } - try { - //Begin request - var response = request.GetResponse(); - var info = UpdateInformation.Deserialize(response.GetResponseStream()); + //Build web request + _checkRequest = (HttpWebRequest)HttpWebRequest.Create(UpdateManifestUrl); + _checkRequest.AllowAutoRedirect = true; + _checkRequest.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; + _checkRequest.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache); - OnUpdateCheckSuccess(info); - } - catch (Exception ex) { - OnUpdateCheckError(ex); - return; - } - })); + _checkRequest.BeginGetResponse(CheckForUpdateCallback, null); } + /// + /// Asynchronous callback that handles the update check request. + /// + private void CheckForUpdateCallback(IAsyncResult result) { + if (_checkRequest == null) + return; + + try { + var response = _checkRequest.EndGetResponse(result); + LastInformation = UpdateInformation.Deserialize(response.GetResponseStream()); + + OnUpdateCheckSuccess(LastInformation); + } + catch (Exception ex) { + OnUpdateCheckError(ex); + } + + _checkRequest = null; + } + + #endregion + + #region Eventing + public event EventHandler UpdateCheckCompleted; protected virtual void OnUpdateCheckError(Exception ex) { @@ -60,47 +104,175 @@ namespace OnTopReplica.Update { } } + #endregion + + #region Updating + + HttpWebRequest _downloadRequest; + TaskDialog _updateDialog; + bool _updateDownloaded = false; + /// - /// Handles the results of an update check. Must be called from main GUI thread. + /// Asks confirmation for an update and installs the update. /// - /// The retrieved update information. - /// Determines if the lack of updates should be notified to the user. - public void HandleUpdateCheck(Form parent, UpdateInformation information, bool verbose) { - if (information == null) + public void ConfirmAndInstall() { + if (LastInformation == null || !LastInformation.IsNewVersion) return; - var currentVersion = Assembly.GetExecutingAssembly().GetName().Version; + AttachedForm.SafeInvoke(new Action(ConfirmAndInstallCore)); + } - if (information.LatestVersion > currentVersion) { - //New version found - var dlg = new TaskDialog( - string.Format(Strings.AskUpdate, information.LatestVersion), - Strings.AskUpdateTitle, - Strings.AskUpdateContent) { - CustomButtons = new CustomButton[] { - new CustomButton(Result.OK, string.Format(Strings.AskUpdateButtonOk, information.LatestVersion)), - new CustomButton(Result.Cancel, Strings.AskUpdateButtonCancel) - }, - UseCommandLinks = true, - CommonIcon = TaskDialogIcon.Information, - ExpandedInformation = string.Format(Strings.AskUpdateExpanded, currentVersion, information.LatestVersion) - }; - - if (dlg.Show(parent).CommonButton == Result.OK) { - Process.Start(information.DownloadPage); + /// + /// Core delegate that asks for update confirmation and installs. Must be called from GUI thread. + /// + private void ConfirmAndInstallCore() { + _updateDialog = new TaskDialog { + Title = Strings.UpdateTitle, + Instruction = string.Format(Strings.UpdateAvailableInstruction, LastInformation.LatestVersion), + Content = Strings.UpdateAvailableContent, + CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, string.Format(Strings.UpdateAvailableCommandOk, LastInformation.LatestVersion)), + new CustomButton(Result.Cancel, Strings.UpdateAvailableCommandCancel) + }, + UseCommandLinks = true, + CommonIcon = TaskDialogIcon.Information, + ExpandedInformation = string.Format(Strings.UpdateAvailableExpanded, LastInformation.CurrentVersion, LastInformation.LatestVersion), + }; + _updateDialog.ButtonClick += delegate(object sender, ClickEventArgs args) { + if (args.ButtonID == (int)Result.OK) { + args.PreventClosing = true; + + if (_updateDownloaded) { + //Terminate application + AttachedForm.Close(); + + //Launch updater + Process.Start(UpdateInstallerPath); + } + else { + var downDlg = new TaskDialog { + Title = Strings.UpdateTitle, + Instruction = Strings.UpdateDownloadingInstruction, + ShowProgressBar = true, + ProgressBarMinRange = 0, + ProgressBarMaxRange = 100, + ProgressBarPosition = 0, + CommonButtons = TaskDialogButton.Cancel + }; + _updateDialog.Navigate(downDlg); + + _downloadRequest = (HttpWebRequest)HttpWebRequest.Create(LastInformation.DownloadInstaller); + _downloadRequest.BeginGetResponse(DownloadAsyncCallback, null); + } } - } - else if(verbose) { - //No updates, but need to inform the user - var dlg = new TaskDialog(Strings.InfoUpToDate, Strings.InfoUpToDateTitle) { - CommonButtons = TaskDialogButton.OK, - CommonIcon = TaskDialogIcon.Information, - //Footer = information.LatestVersion.ToString() - }; - dlg.Show(); + }; + + _updateDialog.Show(AttachedForm); + } + + /// + /// Gets the target filename used when downloading the update from the Internet. + /// + private string UpdateInstallerPath { + get { + var downloadPath = Native.FilesystemMethods.DownloadsPath; + + string versionName = (LastInformation != null) ? + LastInformation.LatestVersion.ToString() : string.Empty; + string filename = string.Format("OnTopReplica-Update-{0}.exe", versionName); + + return Path.Combine(downloadPath, filename); } } + /// + /// Handles background downloading. + /// + private void DownloadAsyncCallback(IAsyncResult result) { + if (_downloadRequest == null || _updateDialog == null) + return; + + try { + var response = _downloadRequest.EndGetResponse(result); + var responseStream = response.GetResponseStream(); + long total = response.ContentLength; + + byte[] buffer = new byte[1024]; + + using (var stream = new FileStream(UpdateInstallerPath, FileMode.Create)) { + int readTotal = 0; + while (true) { + int read = responseStream.Read(buffer, 0, buffer.Length); + readTotal += read; + + if (read <= 0) //EOF + break; + + stream.Write(buffer, 0, read); + + _updateDialog.Content = string.Format(Strings.UpdateDownloadingContent, readTotal, total); + _updateDialog.ProgressBarPosition = (int)((readTotal * 100.0) / total); + } + } + } + catch (Exception ex) { + DownloadShowError(ex.Message); + return; + } + + _updateDownloaded = true; + + var okDlg = new TaskDialog { + Title = Strings.UpdateTitle, + Instruction = Strings.UpdateReadyInstruction, + Content = string.Format(Strings.UpdateReadyContent, LastInformation.LatestVersion), + UseCommandLinks = true, + CommonButtons = TaskDialogButton.Cancel, + CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, Strings.UpdateReadyCommandOk) + } + }; + _updateDialog.Navigate(okDlg); + } + + private void DownloadShowError(string msg) { + if (_updateDialog == null) + return; + + _updateDialog.ProgressBarState = VistaControls.ProgressBar.States.Error; + _updateDialog.Content = msg; + } + + /// + /// Displays some information about the current installation and available updates. + /// + public void DisplayInfo() { + AttachedForm.SafeInvoke(new Action(DisplayInfoCore)); + } + + /// + /// Displays info. Called from GUI thread. + /// + private void DisplayInfoCore() { + //No updates, but need to inform the user + var dlg = new TaskDialog { + Title = Strings.UpdateTitle, + Instruction = Strings.UpdateInfoInstruction, + Content = Strings.UpdateInfoContent, + EnableHyperlinks = true, + CommonButtons = TaskDialogButton.Close, + AllowDialogCancellation = true, + CommonIcon = TaskDialogIcon.Information, + Footer = string.Format(Strings.UpdateInfoFooter, LastInformation.LatestVersionRelease.ToLongDateString()) + }; + dlg.HyperlinkClick += delegate(object sender, HyperlinkEventArgs args) { + Process.Start("http://ontopreplica.codeplex.com"); + }; + dlg.Show(AttachedForm); + } + + #endregion + } } diff --git a/OnTopReplica/WindowsFormsExtensions.cs b/OnTopReplica/WindowsFormsExtensions.cs new file mode 100644 index 0000000..d664dc1 --- /dev/null +++ b/OnTopReplica/WindowsFormsExtensions.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + /// + /// Extension methods for windows forms. + /// + static class WindowsFormsExtensions { + + /// + /// Internationalizes the text of a LinkLabel instance. + /// + /// Main text without link. Contains a '%' character which will be replaced by the link. + /// Linked text. + public static void Internationalize(this LinkLabel label, string text, string linkText) { + int linkIndex = text.IndexOf('%'); + if (linkIndex == -1) { + //Shouldn't happen, but try to fail with meaningful text + label.Text = text; + return; + } + + label.Text = text.Substring(0, linkIndex) + linkText + text.Substring(linkIndex + 1); + label.LinkArea = new LinkArea(linkIndex, linkText.Length); + } + + /// + /// Makes a safe GUI invoke on a form's GUI thread. + /// + /// The action to be executed on the GUI's thread. + /// + /// If the form is invalid or disposed, the action is not performed. + /// + public static void SafeInvoke(this Form form, Action action) { + if (form == null || form.IsDisposed) + return; + + if (form.InvokeRequired) { + form.Invoke(action); + } + else { + action(); + } + } + + } +} From 818bc4c3004b1ef40a868121a72804c021a148b6 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 7 Jun 2011 01:02:24 +0200 Subject: [PATCH 110/164] Improved panel localization outside of designer generated code. --- OnTopReplica/SidePanels/AboutPanelContents.cs | 7 +++++-- OnTopReplica/SidePanels/GroupSwitchPanel.cs | 8 ++++++++ OnTopReplica/SidePanels/OptionsPanel.Designer.cs | 14 +++++++------- OnTopReplica/SidePanels/OptionsPanel.cs | 14 ++++++++++++++ OnTopReplica/SidePanels/RegionPanel.Designer.cs | 12 ++++++------ OnTopReplica/Update/UpdateManager.cs | 4 ++-- 6 files changed, 42 insertions(+), 17 deletions(-) diff --git a/OnTopReplica/SidePanels/AboutPanelContents.cs b/OnTopReplica/SidePanels/AboutPanelContents.cs index 9d375e4..b6a6bad 100644 --- a/OnTopReplica/SidePanels/AboutPanelContents.cs +++ b/OnTopReplica/SidePanels/AboutPanelContents.cs @@ -7,7 +7,7 @@ using System.Text; using System.Windows.Forms; using OnTopReplica.Update; using System.Diagnostics; -using VistaControls.TaskDialog; +using WindowsFormsAero.TaskDialog; using System.IO; namespace OnTopReplica.SidePanels { @@ -18,7 +18,10 @@ namespace OnTopReplica.SidePanels { public AboutPanelContents() { InitializeComponent(); - //Localized strings + LocalizePanel(); + } + + private void LocalizePanel() { lblSlogan.Text = Strings.AboutSlogan; linkAuthor.Internationalize(Strings.AboutAuthor, Strings.AboutAuthorContent); labeledDivider1.Text = Strings.AboutDividerUpdates; diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.cs index 0bb5263..66183f5 100644 --- a/OnTopReplica/SidePanels/GroupSwitchPanel.cs +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.cs @@ -8,6 +8,14 @@ namespace OnTopReplica.SidePanels { partial class GroupSwitchPanel : SidePanel { public GroupSwitchPanel() { InitializeComponent(); + + LocalizePanel(); + } + + private void LocalizePanel() { + groupBox1.Text = Strings.GroupSwitchModeTitle; + buttonEnable.Text = Strings.GroupSwitchModeEnableButton; + buttonCancel.Text = Strings.GroupSwitchModeDisableButton; } public override string Title { diff --git a/OnTopReplica/SidePanels/OptionsPanel.Designer.cs b/OnTopReplica/SidePanels/OptionsPanel.Designer.cs index a8bf8e1..601eb05 100644 --- a/OnTopReplica/SidePanels/OptionsPanel.Designer.cs +++ b/OnTopReplica/SidePanels/OptionsPanel.Designer.cs @@ -77,17 +77,17 @@ this.groupHotkeys.Size = new System.Drawing.Size(252, 113); this.groupHotkeys.TabIndex = 1; this.groupHotkeys.TabStop = false; - this.groupHotkeys.Text = Strings.SettingsHotKeyTitle; + this.groupHotkeys.Text = "Hot keys:"; // // label1 // this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.label1.Location = new System.Drawing.Point(6, 68); - this.label1.Name = "lblHotkeyDescription"; + this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(156, 43); this.label1.TabIndex = 4; - this.label1.Text = Strings.SettingsHotKeyDescription; + this.label1.Text = "These system-wide shortcuts can also be used when OnTopReplica is not in focus."; // // lblHotKeyShowHide // @@ -96,7 +96,7 @@ this.lblHotKeyShowHide.Name = "lblHotKeyShowHide"; this.lblHotKeyShowHide.Size = new System.Drawing.Size(78, 17); this.lblHotKeyShowHide.TabIndex = 3; - this.lblHotKeyShowHide.Text = Strings.SettingsHotKeyShowHide; + this.lblHotKeyShowHide.Text = "Show/Hide"; // // txtHotKeyShowHide // @@ -115,7 +115,7 @@ this.lblHotKeyClone.Name = "lblHotKeyClone"; this.lblHotKeyClone.Size = new System.Drawing.Size(78, 29); this.lblHotKeyClone.TabIndex = 1; - this.lblHotKeyClone.Text = Strings.SettingsHotKeyClone; + this.lblHotKeyClone.Text = "Clone current window"; // // txtHotKeyClone // @@ -138,7 +138,7 @@ this.groupLanguage.Size = new System.Drawing.Size(252, 68); this.groupLanguage.TabIndex = 0; this.groupLanguage.TabStop = false; - this.groupLanguage.Text = Strings.SettingsLanguageTitle; + this.groupLanguage.Text = "Language:"; // // comboLanguage // @@ -162,7 +162,7 @@ this.lblLanguage.Name = "lblLanguage"; this.lblLanguage.Size = new System.Drawing.Size(240, 22); this.lblLanguage.TabIndex = 1; - this.lblLanguage.Text = Strings.SettingsRestartRequired; + this.lblLanguage.Text = "Requires a restart."; // // OptionsPanel // diff --git a/OnTopReplica/SidePanels/OptionsPanel.cs b/OnTopReplica/SidePanels/OptionsPanel.cs index cb114e0..456fd9b 100644 --- a/OnTopReplica/SidePanels/OptionsPanel.cs +++ b/OnTopReplica/SidePanels/OptionsPanel.cs @@ -13,6 +13,20 @@ namespace OnTopReplica.SidePanels { public OptionsPanel() { InitializeComponent(); + + LocalizePanel(); + } + + private void LocalizePanel() { + groupLanguage.Text = Strings.SettingsLanguageTitle; + lblLanguage.Text = Strings.SettingsRestartRequired; + + groupHotkeys.Text = Strings.SettingsHotKeyTitle; + lblHotKeyShowHide.Text = Strings.SettingsHotKeyShowHide; + lblHotKeyClone.Text = Strings.SettingsHotKeyClone; + label1.Text = Strings.SettingsHotKeyDescription; + + btnClose.Text = Strings.MenuClose; } public override void OnFirstShown(MainForm form) { diff --git a/OnTopReplica/SidePanels/RegionPanel.Designer.cs b/OnTopReplica/SidePanels/RegionPanel.Designer.cs index 9164bdb..616d3fb 100644 --- a/OnTopReplica/SidePanels/RegionPanel.Designer.cs +++ b/OnTopReplica/SidePanels/RegionPanel.Designer.cs @@ -39,7 +39,7 @@ this.labelCurrentRegion = new System.Windows.Forms.Label(); this.buttonDelete = new System.Windows.Forms.Button(); this.buttonSave = new System.Windows.Forms.Button(); - this.comboRegions = new VistaControls.ComboBox(); + this.comboRegions = new WindowsFormsAero.ComboBox(); this.toolTip = new System.Windows.Forms.ToolTip(this.components); this.groupRegions.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.numH)).BeginInit(); @@ -90,7 +90,7 @@ // numH // this.numH.Enabled = false; - this.numH.Location = new System.Drawing.Point(140, 93); + this.numH.Location = new System.Drawing.Point(150, 93); this.numH.Maximum = new decimal(new int[] { 100000, 0, @@ -109,7 +109,7 @@ // numW // this.numW.Enabled = false; - this.numW.Location = new System.Drawing.Point(140, 67); + this.numW.Location = new System.Drawing.Point(150, 67); this.numW.Maximum = new decimal(new int[] { 100000, 0, @@ -193,7 +193,7 @@ this.labelHeight.ForeColor = System.Drawing.SystemColors.ControlDark; this.labelHeight.Location = new System.Drawing.Point(81, 96); this.labelHeight.Name = "labelHeight"; - this.labelHeight.Size = new System.Drawing.Size(53, 17); + this.labelHeight.Size = new System.Drawing.Size(63, 17); this.labelHeight.TabIndex = 9; this.labelHeight.Text = "Height"; this.labelHeight.TextAlign = System.Drawing.ContentAlignment.TopRight; @@ -203,7 +203,7 @@ this.labelWidth.ForeColor = System.Drawing.SystemColors.ControlDark; this.labelWidth.Location = new System.Drawing.Point(81, 70); this.labelWidth.Name = "labelWidth"; - this.labelWidth.Size = new System.Drawing.Size(53, 17); + this.labelWidth.Size = new System.Drawing.Size(63, 17); this.labelWidth.TabIndex = 8; this.labelWidth.Text = "Width"; this.labelWidth.TextAlign = System.Drawing.ContentAlignment.TopRight; @@ -300,7 +300,7 @@ private System.Windows.Forms.GroupBox groupRegions; private System.Windows.Forms.Button buttonDelete; private System.Windows.Forms.Button buttonSave; - private VistaControls.ComboBox comboRegions; + private WindowsFormsAero.ComboBox comboRegions; private System.Windows.Forms.Button buttonDone; private System.Windows.Forms.Button buttonReset; private System.Windows.Forms.Label labelHeight; diff --git a/OnTopReplica/Update/UpdateManager.cs b/OnTopReplica/Update/UpdateManager.cs index 45d1746..826481a 100644 --- a/OnTopReplica/Update/UpdateManager.cs +++ b/OnTopReplica/Update/UpdateManager.cs @@ -4,7 +4,7 @@ using System.IO; using System.Net; using System.Net.Cache; using System.Windows.Forms; -using VistaControls.TaskDialog; +using WindowsFormsAero.TaskDialog; namespace OnTopReplica.Update { @@ -239,7 +239,7 @@ namespace OnTopReplica.Update { if (_updateDialog == null) return; - _updateDialog.ProgressBarState = VistaControls.ProgressBar.States.Error; + _updateDialog.ProgressBarState = WindowsFormsAero.ProgressBar.States.Error; _updateDialog.Content = msg; } From 0ff6d904eb84941b5d412cf0edb814ec0ba6bee2 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 7 Jun 2011 01:03:06 +0200 Subject: [PATCH 111/164] Moved from VistaControls.dll library to updated WindowsFormsAero.dll. --- Lib/VistaControls.dll | Bin 95744 -> 0 bytes Lib/VistaControls.pdb | Bin 243200 -> 0 bytes Lib/WindowsFormsAero.dll | Bin 0 -> 96256 bytes Lib/WindowsFormsAero.pdb | Bin 0 -> 249344 bytes ...VistaControls.xml => WindowsFormsAero.xml} | 478 +++++++++--------- OnTopReplica/AspectRatioForm.cs | 10 +- OnTopReplica/FocusedTextBox.cs | 2 +- OnTopReplica/MainForm.Designer.cs | 44 +- OnTopReplica/MainForm.cs | 13 +- OnTopReplica/MainForm_Features.cs | 2 +- OnTopReplica/MainForm_Gui.cs | 2 +- OnTopReplica/MainForm_MenuEvents.cs | 2 +- OnTopReplica/OnTopReplica.csproj | 5 +- OnTopReplica/Platforms/WindowsSeven.cs | 2 +- OnTopReplica/Platforms/WindowsVista.cs | 4 +- OnTopReplica/Program.cs | 2 +- OnTopReplica/SidePanel.cs | 3 +- OnTopReplica/SidePanelContainer.cs | 2 +- .../SidePanels/AboutPanel.Designer.cs | 4 +- OnTopReplica/SidePanels/AboutPanel.cs | 3 +- .../SidePanels/AboutPanelContents.Designer.cs | 24 +- OnTopReplica/ThumbnailPanel.cs | 4 +- 22 files changed, 307 insertions(+), 299 deletions(-) delete mode 100644 Lib/VistaControls.dll delete mode 100644 Lib/VistaControls.pdb create mode 100644 Lib/WindowsFormsAero.dll create mode 100644 Lib/WindowsFormsAero.pdb rename Lib/{VistaControls.xml => WindowsFormsAero.xml} (66%) diff --git a/Lib/VistaControls.dll b/Lib/VistaControls.dll deleted file mode 100644 index 2b197bd372971504c5976d1983ba21795541ac1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95744 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 N9o)_wbscR&005)FFoOU9 diff --git a/Lib/VistaControls.pdb b/Lib/VistaControls.pdb deleted file mode 100644 index 3fb6e9f536b9812d966ba4ab23f3b6c654433455..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 243200 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�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 HPl5jhB3wyQ diff --git a/Lib/WindowsFormsAero.dll b/Lib/WindowsFormsAero.dll new file mode 100644 index 0000000000000000000000000000000000000000..ab1618d16bc56b8cfcf68094c16e3d25881065f9 GIT binary patch literal 96256 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

    s?$_>~&ZLze%mE#Duo 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 RV0RAe&Vk)I@YkIK{{x9Iyz&45 literal 0 HcmV?d00001 diff --git a/Lib/VistaControls.xml b/Lib/WindowsFormsAero.xml similarity index 66% rename from Lib/VistaControls.xml rename to Lib/WindowsFormsAero.xml index cf4c8fb..887d84f 100644 --- a/Lib/VistaControls.xml +++ b/Lib/WindowsFormsAero.xml @@ -1,36 +1,36 @@ - VistaControls + WindowsFormsAero - +

    Common Task Dialog buttons. OK is the default button. - + Represents a custom button shown on a Task Dialog. - + Instantiates a new custom button with an ID and a text. Unique ID that will be returned by the Task Dialog if the button is clicked. Use values greater than 8 to prevent conflicts with common buttons. Text label shown on the button. If you enable Command Links, a newline here separates the upper from the lower string on the button. - + Instantiates a new custom button with an ID and a text. Common ID that will be returned by the Task Dialog if the button is clicked. Text label shown on the button. If you enable Command Links, a newline here separates the upper from the lower string on the button. - + Unique ID that will be returned by the Task Dialog if the button is clicked. - + Text label shown on the button. If you enable Command Links, a newline here separates the upper from the lower string on the button. - +
    Adds a handler on the Form that enables the user to move the window around by clicking on a glass margin (or the title bar, as usual). @@ -42,14 +42,14 @@ (except the ThemeText control, which manually redirects mouse events to the form). - + Adds a handler on the Form that automatically paints the glass background black The form that will be controlled. Margins of the glass sheet. - + @@ -58,7 +58,7 @@ As soon as the form is disposed, the handler will be disposed as well. - + @@ -67,141 +67,141 @@ As soon as the form is disposed, the handler will be disposed as well. - + Control style and notification constants - + Stores a Task Dialog message that will be sent to a dialog in order to update its state. - + Simple int, int message. - + Simple int, bool message. - + Simple bool, bool message. - + Simple bool, int message. - + Simple int, long (hi word and lo word) message. - + Text updating message. The string will be marshaled: the Message must be correctly disposed after use. - + Navigation message. The config structure will be marshaled: must be correctly disposed after use. - + Text values that can be updated. - + A standard WinForms text box presenting the common Vista "search" interface. Reacts on user input by raising "SearchStarted" events. - + Puts the focus on the text box and moves the caret to the end of the text, without selecting it. - + Clean up any resources being used. true if managed resources should be disposed; otherwise, false. - + Required method for Designer support - do not modify the contents of this method with the code editor. - + Gets or sets the background Color of the button when the mouse hovers on it. - + Gets or sets the ForeColor of the control when the search box is active. - + Gets or sets the BackColor of the control when the search box is active. - + Gets or sets the ForeColor of the control when the search box is inactive. - + Gets or sets the BackColor of the control when the search box is inactive. - + Temporary ForeColor property of the control. You should use InactiveForeColor and ActiveForeColor instead. - + Temporary BackColor property of the control. You should use InactiveBackColor and ActiveBackColor instead. - + Gets or sets the text that is shown on top of the text box when the user hasn't entered any text. - + Gets or sets the font used in the search text box. Equals to the Font property. - + Gets or sets the font used to write the "inactivity label" on top of the control when the user hasn't entered any text. - + Overall Font property of the control. Property changes are forwarded to the ActiveFont property. - + Returns true if the user entered some text in the search textbox. - + A strongly-typed resource class, for looking up localized strings, etc. - + Returns the cached ResourceManager instance used by this class. - + Overrides the current thread's CurrentUICulture property for all resource lookups using this strongly typed resource class. - + Displays a dialog box that can contain text, icons, buttons, command links, radio buttons and/or a progress bar. - + Initializes a new Task Dialog instance without text. - + Initializes a new Task Dialog instance with text. The main instruction to display. - + Initializes a new Task Dialog instance with an instruction and a title. The main instruction to display. The title of the Task Dialog. - + Initializes a new Task Dialog instance with an instruction, a title and some content text. The main instruction to display. The title of the Task Dialog. The content text that will be displayes below the main instruction. - + Initializes a new Task Dialog instance with an instruction, a title, some content text and a specific button. The main instruction to display. The title of the Task Dialog. The content text that will be displayes below the main instruction. Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. - + Initializes a new Task Dialog instance with an instruction, a title, some content text, a specific button and an icon. The main instruction to display. The title of the Task Dialog. @@ -209,95 +209,95 @@ Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. The icon to display. - + Injects a virtual button click. Numeric id of the clicked button. - + Injects a virtual radio button click. Numeric id of the clicked radio button. - + Injects a virtual checkbox click. New state of the verification checkbox. Sets whether the checkbox should have focus after state change. - + Enables or disables a button of the dialog. Id of the button whose state will be changed. New state of the button. - + Enables or disables a radio button of the dialog. Id of the radio button whose state will be changed. New state of the button. - + Creates a new Task Dialog setup and replaces the existing one. Note that the window will not be destroyed and that you should keep the existing TaskDialog reference (event handlers will still be registered). The existing Task Dialog will simply reset and use the options of the new one. An instance of Task Dialog, whose settings will be copied into the existing dialog. You may safely destroy the nextDialog instance after use (do not register to events on it). - + Adds or removes an UAC Shield icon from a button. Id of the button. Sets whether to display a Shield icon or not. - + Sets whether the dialog's progress bar should be in standard or in marquee mode. True if the progress bar should be displayed in marquee mode (no explicit progress). - + Sets whether the dialog's progress bar should be in standard or in marquee mode and sets its marquee speed. True if the progress bar should be displayed in marquee mode (no explicit progress). Speed of the progress bar in marquee mode. - + Common native callback for Task Dialogs. Will route events to the user event handler. TODO: Currently unused, would need complex marshaling of data. - + Prepares the internal configuration structure. Allocates some unmanaged memory, must always be followed by a PostConfig() call. - + Frees the unmanages memory allocated by PreConfig(). - + Displays the task dialog without an explicit parent. - + Displays the task dialog with an explicit parent window. Handle to the dialog's parent window. - + Displays the task dialog with an explicit parent form. Instance of the dialog's parent form. - + Displays a task dialog that has a message. The text to display. - + Displays a task dialog that has a message and a title. The text to display. The title bar caption of the dialog. - + Displays a task dialog that has a message, a title and an instruction. The text to display. The title bar caption of the dialog. The instruction shown below the main text. - + Displays a task dialog that has a message, a title, an instruction and one or more buttons. The text to display. The title bar caption of the dialog. The instruction shown below the main text. Value that specifies which button or buttons to display. - + Displays a task dialog that has a message, a title, an instruction, one or more buttons and an icon. The text to display. The title bar caption of the dialog. @@ -305,248 +305,248 @@ Value that specifies which button or buttons to display. The icon to display. - + Is true if the task dialog is currently displayed. - + Gets or sets the title of the dialog. - + Gets or sets the icon of the dialog, from a set of common icons. - + Gets or sets the icon of the dialog, from a custom Icon instance. - + Gets or sets the dialog's buttons, from one or more common button types. - + Gets or sets a set of custom buttons which will be displayed on the dialog. These buttons can also be shown as Command Links optionally. - + Gets or sets the integer identificator of the dialog's default button. - + Gets or sets a set of custom buttons which will be displayed as radio buttons. - + Gets or sets the identificator of the enabled radio button by default. - + Gets or sets the text that will be shown next to a verification checkbox. - + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, when the dialog is in expanded mode. - + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, when the dialog is in collapsed mode. - + Gets or sets the icon shown in the dialog's footer, from a set of common icons. - + Gets or sets the icon shown in the dialog's footer, from a custom Icon instance. - + Explicitly sets the desiderd width in pixels of the dialog. Will be set automatically by the task dialog to an optimal size. - + Gets or Sets the Main Instruction text of the TaskDialog. Text written in blue and slightly bigger font in Windows Aero. - + Gets or sets the Content text of the TaskDialog. Text written with standard font, right below the Main instruction. - + Gets or Sets the expanded information text, that will be optionally shown by clicking on the Expand control. - + Gets or Sets the Footer text. - + Gets or sets the current Progress bar value. - + Gets of sets the minimum value allowed by the Progress bar. - + Gets or sets the maximum value allowed by the Progress bar. - + Gets or sets the current Progress bar state. Determines the bar's color and behavior. - + Enables or disables Hyperlinks in the content (in the form of <A HREF="link">). - + Gets or sets whether the dialog can be cancelled (ESC, ALT+F4 and X button) even if no Cancel button has been specified. - + Gets or sets whether Command Link buttons should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). - + Gets or sets whether Command Link buttons wihtout icon should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). - + Gets or sets whether the ExpandedInformation should be shown in the Footer area (instead of under the Content text). - + Gets or sets whether the ExpandedInformation is visible on dialog creation. - + Gets or sets whether the Verification checkbox should be checked when the dialog is shown. - + Gets or sets whether a progress bar should be displayed on the dialog. - + Sets or gets whether the user specified callback (if any) should be called every 200ms. - + Gets or sets whether the dialog should be positioned centered on the parent window. - + Enables or disables right to left reading order. - + Gets or sets whether there should be a selected radio button by default when the dialog is shown. - + Gets or sets whether the dialog may be minimized or not. - + Occurs when the Task Dialog is first created and before it is displayed (is sent after Construction event). - + Occurs when the user clicks a button or a command link. By default the Dialog is closed after the notification. - + Occurs when the user clicks on a Hyperlink in the Content text. - + Occurs when a navigation event is raised. - + Occurs approximately every 200ms if the Task Dialog callback timer is enabled. - + Occurs when the Task Dialog is destroyed and the handle to the dialog is not valid anymore. - + Occurs when the user selects a radio button. - + Occurs when the Task Dialog is constructed and before it is displayed (is sent before Creation event). - + Occurs when the user switches the state of the Verification Checkbox. - + Occurs when the user presses F1 when the Task Dialog has focus. - + Occurs when the user clicks on the expand button of the dialog, before the dialog is expanded. - + Occurs when the split label is clicked. - + Occurs when the split label is clicked, but before the associated context menu is displayed by the control. - + Gets or sets the associated context menu that is displayed when the split glyph of the button is clicked. - + Gets or sets the associated context menu that is displayed when the split glyph of the button is clicked. Exposed for backward compatibility. - + Provides data for the clicking of split buttons and the opening of context menus. - + Represents the bounding box of the clicked button. A menu should be opened, with top-left coordinates in the left-bottom point of the rectangle and with width equal (or greater) than the width of the rectangle. - + Set to true if you want to prevent the menu from opening. - + Margins structure for the Glass Sheet effect. - + Returns whether a point in client coordinates is outside the margins defined by this instance. Point in client coordinates. - + A strongly-typed resource class, for looking up localized strings, etc. - + Returns the cached ResourceManager instance used by this class. - + Overrides the current thread's CurrentUICulture property for all resource lookups using this strongly typed resource class. - + Looks up a localized string similar to Common Controls library version 6.0 not loaded. Must run on Vista and must provide a manifest.. - + Looks up a localized string similar to Desktop composition is not enabled.. - + Looks up a localized string similar to Desktop composition is not supported by operating system.. - + Looks up a localized string similar to Unable to get thumbnail's original size.. - + Looks up a localized string similar to Unable to update thumbnail properties.. - + Looks up a localized string similar to Source and target windows cannot be the same.. - + Looks up a localized string similar to Native call to {0} failed.. - + Looks up a localized string similar to Failed to create TaskDialog.. - + A vertical panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. @@ -555,7 +555,7 @@ I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. - + Constructor @@ -569,14 +569,14 @@ - + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of the control so that it fits our theme by default. The developer can still change this as they desire after it's added. - + The actual painting of the background of our control. @@ -585,14 +585,14 @@ The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. - + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this control on top of the glass surface of an Aero form. - + Handles incoming Windows Messages. @@ -603,7 +603,7 @@ glass and have it rendered correctly. - + Whether or not the control needs to be rendered on the Glass surface. @@ -612,62 +612,62 @@ the glass surface of the form. - + A Label containing some text that will be drawn with glowing border on top of the Glass Sheet effect. - + Size of the glow effect around the text. - + Enables or disables the glow effect around the text. - + Shadow type. - + Gets or sets the horizontal text alignment setting. - + Gets or sets the vertical text alignment setting. - + Gets or sets whether the text will be laid out on a single line or on multiple lines. - + Gets or sets whether the text lines over the label's border should be trimmed with an ellipsis. - + Gets or sets whether the text should break only at the end of a word. - + Gets or sets whether the text should be trimmed to the last word and an ellipse should be placed at the end of the line. - + Determines a window's Flip 3D policy. - + Default Flip 3D behavior. - + Excludes the window from Flip 3D and hides it behind the animation. - + Excludes the window from Flip 3D and shows it above the animation. - + Handle to a DWM Thumbnail. - + Updates the thumbnail's display settings. Drawing region on destination window. Origin region from source window. @@ -675,96 +675,96 @@ Visibility flag. If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. - + Updates the thumbnail's display settings. Drawing region on destination window. Opacity. 0 is transparent, 255 opaque. Visibility flag. If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. - + Returns true if the handle is valid, false if the handle has been closed or hasn't been initialized. - + Sets the thumbnail opacity value, from 0 to 255 (opaque). - + Sets whether only the client area of the thumbnailed window should be shown or the entire window area. - + Area in the destination window on which the thumbnail should be drawn. - + Region of the source window that should be drawn. - + Sets whether the thumbnail should be drawn or not. - + Gets the thumbnail's original size. - + Applies a glow on the themed text. - + Default glow size. - + Glow size used commonly by Office 2007 in titles. - + Precise glow effect. - + Instantiates a new glow effect for themed text. Size of the glow effect. - + Gets or sets the size of the glow effect. - + Static class providing information about the current support for Vista-only features. - + Gets whether the running operating system is Windows Vista or a more recent version. - + Gets whether the running operating system is Windows Seven or a more recent version. - + Is true if the DWM composition engine is currently enabled. - + - The labeled divider provides a Aero styled divider with an option caption, similiar to what is seen in the - Control Panel dialogs of Windows 7 and Vista. + The labeled divider provides a Aero styled divider with an optional caption, + similiar to what is seen in the Control Panel dialogs of Windows 7 and Vista. - + Constructor - + The actual painting of the background of our control. @@ -773,7 +773,7 @@ The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. - + The position of the divider line. @@ -782,12 +782,12 @@ 7 and Vista UI's. - + The color of the divider line. - + The text that should be used for the caption. If the caption is set to blank and the divider position is set to center then a simple divider line will be drawn. @@ -796,106 +796,128 @@ After a change is made to the text property we want to invalidate the control so it triggers a new paint message being sent. - + The positions that the divider line can be drawn in - + The divider will be centered after the text caption and will begin drawing after the string. This is the default behavior. - + The divider will be drawn below the text caption. - + Gets or sets the cue text that is displayed on the TextBox control. - + Gets or sets whether the Cue text should be displyed even when the control has keybord focus. If true, the Cue text will disappear as soon as the user starts typing. - + Sets the origin of the thumbnail and shows the thumbnail on the control. The Form instance that will be thumbnailed. True if the control should automatically update itself in case the thumbnailed form changes size or is closed. - + Forces and update of the thumbnail. Use this method if you know that the thumbnailed window has been resized and the thumbnail control should react to these changes. - + + + Form that automatically handles glass margins and mouse dragging. + + + + + Construct a new form without glass margins. + + + Gets or sets the glass margins of the form. - + Gets or sets whether mouse dragging should be handled automatically. - + Gets or sets whether the extended glass margin is enabled or not. - + Gets or sets whether the window title and icon should be hidden. + + The window caption will still be visible, but title text and icon will not be. + A form with a hidden title will look like an Explorer window on Windows Vista or Windows 7. + - + + + Gets or sets whether the window caption should be hidden altogether. + + + Should be set before handle creation. + + + Main DWM class, provides Thumbnail registration, glass sheet effect and blur behind. - + Registers a thumbnail to be drawn on a Windows Form. The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). The Windows Form instance on which to draw the thumbnail. The handle (HWND) of the window that has to be drawn. A Thumbnail instance, needed to unregister and to update properties. - + Registers a thumbnail to be drawn on a window. The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). The handle (HWND) of the window on which the thumbnail will be drawn. The handle (HWND) of the window that has to be drawn. A Thumbnail instance, needed to unregister and to update properties. - + Unregisters the thumbnail handle. The handle is unvalid after the call and should not be used again. A handle to a registered thumbnail. - + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. - + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. - + Enable the Aero "Blur Behind" effect on a specific region. Background of the region must be black. - + Disables the Aero "Blur Behind" effect. - + Extends the Aero "Glass Frame" into the client area. Background must be black. - + Extends the Aero "Glass Frame" into the client area. Background must be black. - + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. - + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. - + Disables the Aero "Glass Frame". - + Disables the Aero "Glass Frame". - + Sets a window's Flip 3D policy. @@ -903,7 +925,7 @@ Desired Flip 3D policy. Is ignored on OSs that do not support Aero. - + Disallows Aero Peek on a window (or allows it). @@ -911,7 +933,7 @@ True if Aero Peek should be disabled for the window. Is ignored on OSs that do not support Aero Peek. - + Sets a window's state in order to exclude (or include) it in Aero Peek. @@ -919,40 +941,40 @@ Set to true to exlude the window from Aero Peek. Is ignored on OSs that do not support Aero Peek. - + Common Task Dialog icons. Determine the look of the main instruction. - + Returns the active windows on the current thread. - + Class that aggregates the results of an "indirect" Task Dialog. - + Results returned by Task Dialogs when closed by the user. - + Direct Task Dialog call. - + Indirect Task Dialog call. Allows complex dialogs with interaction logic (via callback). - + The Task Dialog config structure. - + Flags used in TaskDialogConfig struct. From CommCtrl.h. - + Notifications returned by Task Dialogs to the callback. From CommCtrl.h. - + Messages that can be sent to Task Dialogs. From CommCtrl.h. - + A horizontal panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. @@ -961,7 +983,7 @@ I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. - + Constructor @@ -975,14 +997,14 @@ - + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of the control so that it fits our theme by default. The developer can still change this as they desire after it's added. - + The actual painting of the background of our control. @@ -991,14 +1013,14 @@ The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. - + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this control on top of the glass surface of an Aero form. - + Handles incoming Windows Messages. @@ -1009,7 +1031,7 @@ glass and have it rendered correctly. - + Whether or not the control needs to be rendered on the Glass surface. diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs index 4e96ab7..8d32192 100644 --- a/OnTopReplica/AspectRatioForm.cs +++ b/OnTopReplica/AspectRatioForm.cs @@ -1,12 +1,10 @@ using System; -using System.Collections.Generic; -using System.Text; -using System.Windows.Forms; -using System.Runtime.InteropServices; -using VistaControls.Dwm.Helpers; using System.ComponentModel; -using OnTopReplica.Native; using System.Drawing; +using System.Runtime.InteropServices; +using System.Windows.Forms; +using OnTopReplica.Native; +using WindowsFormsAero.Dwm.Helpers; namespace OnTopReplica { diff --git a/OnTopReplica/FocusedTextBox.cs b/OnTopReplica/FocusedTextBox.cs index b3f46b2..9acdca2 100644 --- a/OnTopReplica/FocusedTextBox.cs +++ b/OnTopReplica/FocusedTextBox.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; using System.Text; -using VistaControls; +using WindowsFormsAero; using System.Windows.Forms; namespace OnTopReplica { diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 1c5b5fb..c7c6a83 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -31,6 +31,7 @@ this.menuContextWindows = new System.Windows.Forms.ToolStripMenuItem(); this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullSelectWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.switchToWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.selectRegionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.advancedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -44,7 +45,6 @@ this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); - this.fullOpacityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.resizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuResize = new System.Windows.Forms.ContextMenuStrip(this.components); this.doubleToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); @@ -68,7 +68,7 @@ this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); - this.fullSelectWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullOpacityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.menuFullscreenContext = new System.Windows.Forms.ContextMenuStrip(this.components); this.enableClickthroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.fullExitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -113,7 +113,7 @@ this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.noneToolStripMenuItem}); this.menuWindows.Name = "menuWindows"; - this.menuWindows.OwnerItem = this.fullSelectWindowToolStripMenuItem; + this.menuWindows.OwnerItem = this.menuContextWindows; this.menuWindows.Size = new System.Drawing.Size(118, 26); this.menuWindows.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Windows_opening); // @@ -123,6 +123,15 @@ this.noneToolStripMenuItem.Size = new System.Drawing.Size(117, 22); this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; // + // fullSelectWindowToolStripMenuItem + // + this.fullSelectWindowToolStripMenuItem.DropDown = this.menuWindows; + this.fullSelectWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.list; + this.fullSelectWindowToolStripMenuItem.Name = "fullSelectWindowToolStripMenuItem"; + this.fullSelectWindowToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullSelectWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindows; + this.fullSelectWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // // switchToWindowToolStripMenuItem // this.switchToWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_arrow; @@ -206,7 +215,7 @@ this.toolStripMenuItem3, this.toolStripMenuItem4}); this.menuOpacity.Name = "menuOpacity"; - this.menuOpacity.OwnerItem = this.menuContextOpacity; + this.menuOpacity.OwnerItem = this.fullOpacityToolStripMenuItem; this.menuOpacity.ShowCheckMargin = true; this.menuOpacity.ShowImageMargin = false; this.menuOpacity.Size = new System.Drawing.Size(154, 92); @@ -250,14 +259,6 @@ this.toolStripMenuItem4.ToolTipText = global::OnTopReplica.Strings.MenuOp25TT; this.toolStripMenuItem4.Click += new System.EventHandler(this.Menu_Opacity_click); // - // fullOpacityToolStripMenuItem - // - this.fullOpacityToolStripMenuItem.DropDown = this.menuOpacity; - this.fullOpacityToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; - this.fullOpacityToolStripMenuItem.Name = "fullOpacityToolStripMenuItem"; - this.fullOpacityToolStripMenuItem.Size = new System.Drawing.Size(189, 22); - this.fullOpacityToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpacity; - // // resizeToolStripMenuItem // this.resizeToolStripMenuItem.DropDown = this.menuResize; @@ -448,14 +449,13 @@ this.menuContextClose.Text = global::OnTopReplica.Strings.MenuClose; this.menuContextClose.Click += new System.EventHandler(this.Menu_Close_click); // - // fullSelectWindowToolStripMenuItem + // fullOpacityToolStripMenuItem // - this.fullSelectWindowToolStripMenuItem.DropDown = this.menuWindows; - this.fullSelectWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.list; - this.fullSelectWindowToolStripMenuItem.Name = "fullSelectWindowToolStripMenuItem"; - this.fullSelectWindowToolStripMenuItem.Size = new System.Drawing.Size(189, 22); - this.fullSelectWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindows; - this.fullSelectWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + this.fullOpacityToolStripMenuItem.DropDown = this.menuOpacity; + this.fullOpacityToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.fullOpacityToolStripMenuItem.Name = "fullOpacityToolStripMenuItem"; + this.fullOpacityToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullOpacityToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpacity; // // menuFullscreenContext // @@ -489,17 +489,17 @@ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.SystemColors.Control; - this.ClientSize = new System.Drawing.Size(264, 204); + this.ClientSize = new System.Drawing.Size(269, 192); this.ControlBox = false; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.HideCaption = true; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; this.MinimizeBox = false; this.MinimumSize = new System.Drawing.Size(40, 40); this.Name = "MainForm"; - this.Text = Strings.ApplicationName; + this.Text = "OnTopReplica"; this.TopMost = true; - this.ShowInTaskbar = true; this.menuContext.ResumeLayout(false); this.menuWindows.ResumeLayout(false); this.menuOpacity.ResumeLayout(false); diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index cba2b28..c3c0662 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -8,8 +8,8 @@ using OnTopReplica.Properties; using OnTopReplica.StartupOptions; using OnTopReplica.Update; using OnTopReplica.WindowSeekers; -using VistaControls.Dwm; -using VistaControls.TaskDialog; +using WindowsFormsAero.Dwm; +using WindowsFormsAero.TaskDialog; namespace OnTopReplica { @@ -55,15 +55,6 @@ namespace OnTopReplica { #region Event override - protected override CreateParams CreateParams { - get { - //Needed to hide caption, while keeping window title in task bar - var parms = base.CreateParams; - parms.Style &= ~0x00C00000; //WS_CAPTION - return parms; - } - } - protected override void OnHandleCreated(EventArgs e){ base.OnHandleCreated(e); diff --git a/OnTopReplica/MainForm_Features.cs b/OnTopReplica/MainForm_Features.cs index 261b736..2e2586a 100644 --- a/OnTopReplica/MainForm_Features.cs +++ b/OnTopReplica/MainForm_Features.cs @@ -2,7 +2,7 @@ using System.Collections.Generic; using System.Text; using OnTopReplica.Properties; -using VistaControls.TaskDialog; +using WindowsFormsAero.TaskDialog; using System.Drawing; using System.Windows.Forms; diff --git a/OnTopReplica/MainForm_Gui.cs b/OnTopReplica/MainForm_Gui.cs index 8ce6967..cf7b094 100644 --- a/OnTopReplica/MainForm_Gui.cs +++ b/OnTopReplica/MainForm_Gui.cs @@ -1,6 +1,6 @@ using System.Drawing; using System.Windows.Forms; -using VistaControls.TaskDialog; +using WindowsFormsAero.TaskDialog; namespace OnTopReplica { partial class MainForm { diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs index 6d2648e..b67bbae 100644 --- a/OnTopReplica/MainForm_MenuEvents.cs +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -3,7 +3,7 @@ using System.ComponentModel; using System.Drawing; using System.Windows.Forms; using OnTopReplica.Properties; -using VistaControls.TaskDialog; +using WindowsFormsAero.TaskDialog; using OnTopReplica.SidePanels; namespace OnTopReplica { diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 2bfdfed..54174ab 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -94,9 +94,8 @@ - - False - ..\Lib\VistaControls.dll + + ..\Lib\WindowsFormsAero.dll diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs index be8aea5..301957e 100644 --- a/OnTopReplica/Platforms/WindowsSeven.cs +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -1,7 +1,7 @@ using System; using System.Windows.Forms; using OnTopReplica.Native; -using VistaControls.Dwm; +using WindowsFormsAero.Dwm; namespace OnTopReplica.Platforms { diff --git a/OnTopReplica/Platforms/WindowsVista.cs b/OnTopReplica/Platforms/WindowsVista.cs index 31dbda6..368db7f 100644 --- a/OnTopReplica/Platforms/WindowsVista.cs +++ b/OnTopReplica/Platforms/WindowsVista.cs @@ -1,13 +1,13 @@ using System; using System.Windows.Forms; -using VistaControls.Dwm; +using WindowsFormsAero.Dwm; namespace OnTopReplica.Platforms { class WindowsVista : PlatformSupport { public override bool CheckCompatibility() { - if (!VistaControls.OsSupport.IsCompositionEnabled) { + if (!WindowsFormsAero.OsSupport.IsCompositionEnabled) { MessageBox.Show(Strings.ErrorDwmOffContent, Strings.ErrorDwmOff, MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs index f6bfe19..f76d2dc 100644 --- a/OnTopReplica/Program.cs +++ b/OnTopReplica/Program.cs @@ -109,7 +109,7 @@ namespace OnTopReplica { sw.WriteLine("OnTopReplica v. {0}", Assembly.GetEntryAssembly().GetName().Version); sw.WriteLine("OS: {0}", Environment.OSVersion.ToString()); sw.WriteLine(".NET: {0}", Environment.Version.ToString()); - sw.WriteLine("Aero DWM: {0}", VistaControls.OsSupport.IsCompositionEnabled); + sw.WriteLine("Aero DWM: {0}", WindowsFormsAero.OsSupport.IsCompositionEnabled); sw.WriteLine("Launch command: {0}", Environment.CommandLine); sw.WriteLine("UTC time: {0} {1}", DateTime.UtcNow.ToShortDateString(), DateTime.UtcNow.ToShortTimeString()); } diff --git a/OnTopReplica/SidePanel.cs b/OnTopReplica/SidePanel.cs index a1e878a..d66f010 100644 --- a/OnTopReplica/SidePanel.cs +++ b/OnTopReplica/SidePanel.cs @@ -2,7 +2,8 @@ using System.Collections.Generic; using System.Text; using System.Windows.Forms; -using VistaControls.Dwm; +using WindowsFormsAero.Dwm; +using System.Drawing; namespace OnTopReplica { diff --git a/OnTopReplica/SidePanelContainer.cs b/OnTopReplica/SidePanelContainer.cs index 41fb949..f124b24 100644 --- a/OnTopReplica/SidePanelContainer.cs +++ b/OnTopReplica/SidePanelContainer.cs @@ -5,7 +5,7 @@ using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; -using VistaControls.Dwm.Helpers; +using WindowsFormsAero.Dwm.Helpers; namespace OnTopReplica { /// diff --git a/OnTopReplica/SidePanels/AboutPanel.Designer.cs b/OnTopReplica/SidePanels/AboutPanel.Designer.cs index 31f9492..fc86628 100644 --- a/OnTopReplica/SidePanels/AboutPanel.Designer.cs +++ b/OnTopReplica/SidePanels/AboutPanel.Designer.cs @@ -23,7 +23,7 @@ /// the contents of this method with the code editor. /// private void InitializeComponent() { - this.labelVersion = new VistaControls.ThemeText.ThemedLabel(); + this.labelVersion = new WindowsFormsAero.ThemeText.ThemedLabel(); this.panelContents = new OnTopReplica.SidePanels.AboutPanelContents(); this.SuspendLayout(); // @@ -67,7 +67,7 @@ #endregion - private VistaControls.ThemeText.ThemedLabel labelVersion; + private WindowsFormsAero.ThemeText.ThemedLabel labelVersion; private AboutPanelContents panelContents; } diff --git a/OnTopReplica/SidePanels/AboutPanel.cs b/OnTopReplica/SidePanels/AboutPanel.cs index 1d79ce0..949d2bc 100644 --- a/OnTopReplica/SidePanels/AboutPanel.cs +++ b/OnTopReplica/SidePanels/AboutPanel.cs @@ -5,7 +5,7 @@ using System.Drawing; using System.Data; using System.Text; using System.Windows.Forms; -using VistaControls.Dwm; +using WindowsFormsAero.Dwm; namespace OnTopReplica.SidePanels { partial class AboutPanel : SidePanel { @@ -13,6 +13,7 @@ namespace OnTopReplica.SidePanels { public AboutPanel() { InitializeComponent(); + //Display version number labelVersion.Text = string.Format(Strings.AboutVersion, Application.ProductVersion); } diff --git a/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs b/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs index af014ec..819852c 100644 --- a/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs +++ b/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs @@ -25,17 +25,17 @@ private void InitializeComponent() { this.labelTranslators = new System.Windows.Forms.Label(); this.linkCredits = new System.Windows.Forms.LinkLabel(); - this.progressUpdate = new VistaControls.ProgressBar(); + this.progressUpdate = new WindowsFormsAero.ProgressBar(); this.buttonUpdate = new System.Windows.Forms.Button(); this.lblUpdateDisclaimer = new System.Windows.Forms.Label(); - this.labeledDivider2 = new VistaControls.LabeledDivider(); - this.labeledDivider1 = new VistaControls.LabeledDivider(); + this.labeledDivider2 = new WindowsFormsAero.LabeledDivider(); + this.labeledDivider1 = new WindowsFormsAero.LabeledDivider(); this.linkHomepage = new System.Windows.Forms.LinkLabel(); this.linkAuthor = new System.Windows.Forms.LinkLabel(); this.lblSlogan = new System.Windows.Forms.Label(); - this.labeledDivider3 = new VistaControls.LabeledDivider(); + this.labeledDivider3 = new WindowsFormsAero.LabeledDivider(); this.linkLicense = new System.Windows.Forms.LinkLabel(); - this.labeledDivider4 = new VistaControls.LabeledDivider(); + this.labeledDivider4 = new WindowsFormsAero.LabeledDivider(); this.linkContribute = new System.Windows.Forms.LinkLabel(); this.SuspendLayout(); // @@ -103,7 +103,6 @@ this.labeledDivider2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.labeledDivider2.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); - this.labeledDivider2.Font = new System.Drawing.Font("Segoe UI", 9F); this.labeledDivider2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); this.labeledDivider2.Location = new System.Drawing.Point(0, 197); this.labeledDivider2.Name = "labeledDivider2"; @@ -116,7 +115,6 @@ this.labeledDivider1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.labeledDivider1.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); - this.labeledDivider1.Font = new System.Drawing.Font("Segoe UI", 9F); this.labeledDivider1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); this.labeledDivider1.Location = new System.Drawing.Point(0, 82); this.labeledDivider1.Name = "labeledDivider1"; @@ -172,7 +170,6 @@ this.labeledDivider3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.labeledDivider3.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); - this.labeledDivider3.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.labeledDivider3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); this.labeledDivider3.Location = new System.Drawing.Point(0, 393); this.labeledDivider3.Name = "labeledDivider3"; @@ -199,7 +196,6 @@ this.labeledDivider4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.labeledDivider4.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); - this.labeledDivider4.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.labeledDivider4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); this.labeledDivider4.Location = new System.Drawing.Point(0, 503); this.labeledDivider4.Name = "labeledDivider4"; @@ -252,17 +248,17 @@ private System.Windows.Forms.Label labelTranslators; private System.Windows.Forms.LinkLabel linkCredits; - private VistaControls.ProgressBar progressUpdate; + private WindowsFormsAero.ProgressBar progressUpdate; private System.Windows.Forms.Button buttonUpdate; private System.Windows.Forms.Label lblUpdateDisclaimer; - private VistaControls.LabeledDivider labeledDivider2; - private VistaControls.LabeledDivider labeledDivider1; + private WindowsFormsAero.LabeledDivider labeledDivider2; + private WindowsFormsAero.LabeledDivider labeledDivider1; private System.Windows.Forms.LinkLabel linkHomepage; private System.Windows.Forms.LinkLabel linkAuthor; private System.Windows.Forms.Label lblSlogan; - private VistaControls.LabeledDivider labeledDivider3; + private WindowsFormsAero.LabeledDivider labeledDivider3; private System.Windows.Forms.LinkLabel linkLicense; - private VistaControls.LabeledDivider labeledDivider4; + private WindowsFormsAero.LabeledDivider labeledDivider4; private System.Windows.Forms.LinkLabel linkContribute; } diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs index 44d3979..10e04bc 100644 --- a/OnTopReplica/ThumbnailPanel.cs +++ b/OnTopReplica/ThumbnailPanel.cs @@ -2,8 +2,8 @@ using System.Collections.Generic; using System.Text; using System.Windows.Forms; -using VistaControls.Dwm; -using VistaControls.ThemeText; +using WindowsFormsAero.Dwm; +using WindowsFormsAero.ThemeText; using System.Drawing; using System.Windows.Forms.VisualStyles; using OnTopReplica.Native; From 29a4d939af9ef86a46c5fea763b515d3005e3fdc Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 7 Jun 2011 01:56:49 +0200 Subject: [PATCH 112/164] Added German localization to the project (thanks to Eric Hoffmann). Updated some localized resources. --- OnTopReplica/Assets/flag_germany.png | Bin 0 -> 202 bytes OnTopReplica/Assets/flags.pdn | Bin 5422 -> 4030 bytes OnTopReplica/OnTopReplica.csproj | 1 + OnTopReplica/Properties/Resources.Designer.cs | 7 + OnTopReplica/Properties/Resources.resx | 4 + OnTopReplica/SidePanels/OptionsPanel.cs | 3 +- OnTopReplica/Strings.cs.resx | 169 +++++- OnTopReplica/Strings.da.resx | 14 +- OnTopReplica/Strings.de.resx | 520 ++++++++++++++++++ OnTopReplica/Strings.es.resx | 18 +- OnTopReplica/Strings.it.resx | 20 +- OnTopReplica/Strings.pl.resx | 70 ++- OnTopReplica/Strings.resx | 82 +-- 13 files changed, 815 insertions(+), 93 deletions(-) create mode 100644 OnTopReplica/Assets/flag_germany.png diff --git a/OnTopReplica/Assets/flag_germany.png b/OnTopReplica/Assets/flag_germany.png new file mode 100644 index 0000000000000000000000000000000000000000..5557fa9818b4cd5227b0565ba217bfb99625a116 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ#}iF>xNjMA}dc9#}Etu-a8o&D`^Kj<7B9?m;P|~1}`_z6b4UMKbLh*2~7Z`TRk`c literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flags.pdn b/OnTopReplica/Assets/flags.pdn index b319ed43b8e3ab479a4fd24f44e78f9f6139b811..9e53b8039946b06d74bf6109706ad9b476e1db11 100644 GIT binary patch delta 1694 zcmZ9Me@t6d6vy8kkGA)<&=xnw_*p9BSGTs5@?%h-4+^Z?U`2)wO$J^2D9G=&$k-oN z0wKm95x9wF@kiz~Dv3ci;vZ&)s0{uPrzXaj48{4U4voYm)8JOmdC)+1)AxPnoO{l> z?|$C9oiAL>Qg~d=#ZQnKMIkAkDSAq17h!ajTaI*|<7*`z5cH`}e{MP{45q?~mqr?m=>34e@f^p;5oS}JPumCc z9EAX<+qq~wMxc&eRXrac2TmNTruRu2a|jKl3h+0zP~Qm^DsZrrCZHsuz!WF&6x7Ca zY9m_}Dk*m61rWALO{_v)lAs4iuf{M&Us78wiUVK?InsrmE_2u$DAQ?nW@$1Q^dL$K z${`Ro(Trc0@+P4fJ2aloRAF$ zHG=FWJPHo4W1R`F@d$%8sk2#nqDh&9S$r~UPIP(>gGpi+5|B~k#v*t}Byu!wZxk8H z(fmEp_%ybjIFMNYp?KWQBOY(hK-e`HZkEF4)@?{Uds>@8c$S)!mWeD>Diz*nAxP}| zaDpA5!ES2bh?u|>YQ4VRKyYwmz)z2WPe_y?5SiLh3?La?keWgEb|D4`AWDS=L@B=@ zLov02L%1kGYI2t%3?M$aiw%tJE^dx<;uNx!+Z2Pb)5b>a;BZ`27o(^s0oUcgFU-*6 zuQC=}ON@p-X`sqjRK_-RIS1NCPK#od(O{|8#TY9}*i*>uvu zNF7X47YG*W@quyZ@S$-Kc^NQhJ$kqvo@3eoqQ^yX=$!HmBG?Uw4m;u?Sca<#1nag3 zk*j4p!g289D1Pd57PChlHI zZhvlG{Q8_`cJA7Ecy9m3!sG{WUB_~NvQABZRrXuXa>2KbZzQho!KK%)T>f$7?$r3Y zJy6lK3S^ub)mXW7^5e*Wl=`_`wEL(5aw-kiH%Kk*^^ Ry<;mne^c!-|9c0w^FO;`N9q6o literal 5422 zcmeHLUu;`f8Mhn%xi?K)XWdp9ZR2`f$C}o5?8I>)e|l}FiIe!hoi2#Vy|HiX>)7{t z_g=?w2F><>gqS8Fgpd##(sg%hd#SSklO9~POIp9$etoQ|DHVupD-oQOMvj3oDGJTa_@ z3$aum^!6_ms*B#)SPCn1v(9`X3GEy|%P>Lz7{dfSYC{B+Po%0)eg;~YNEyn$Y*m;p z$D`Px>Wd{$#ZO^&JT6R6#NDBZ{9tHe$q^3v1K~-3GBR14k4*Us(J5YvMv_7zvb>mx z29}eKRA1QP9Ednh`*IG~Bwz4*CJKR4LU4{x7sfoL!gyrR5oE_5{iVrXPfhOixD>~r zA8dJ$9(dq^2mYTtuoSIv0pypM&zV{nNID**|GEd5Q&G3ChJ5Y&Od=Kc&G_@lSqC5W z<#R#*vcD!zPt`)X#ab*jw#Y1n=6tn`P#Iugm@nWNA-xHjRjWNrP&^%KJFMFA3XVsPGW{cIx!bB9J%hN7*L2>!21xAe} zzR7rMU`$$=%;j>!!#1m9WXRDBT8?Hg9MS3Fr_&Kg_{G$<14Jas@`4f&l`yB+1FXUx zvo?cado1ifX7yK!N=4#^1+JniTA3^InJKQ86c;#QSf~_>T^*n_n5fALSK3nL zvODp2ZxwTcgX}%c9I>4LY5nV~6gMR=v}BEtuwI1-(L1E^P^RzgR4C83ir}vOQ7e zGCW)4m$|Gx%$B$rwpih|I^fE8H-T}X%6f+(5N zAzr|bufi9zbUMy0@_1#0L4X!b|6$0_fW9Am74{oFtIo0uGW2c`yLK3G{*SOy+$vKk zt#C_9$AQMG$BW_|Vv$8`+LO=}6y`;G4|Fx)3O|H*Q2nk_I-_kCs_C$9J4?fz>O=_W zZq;#+F?ECJJj^Ze^L99BZqq|;<$lxNw(@}K;kL5Jg1ex4>k-J%kD}Oz;$tAXJ`SRd zr~IPCZIMemPr2_+GRRX#+?IW<1mNS95?fYjKt*(uEIP}QSmq>!=VY^7k>=S9w^Qxa ztI|%Fme7jZPBJv zW&3!QiFEX1FogaDh&z0=9|}6XicieZ2T&XYai>QQ)*BF5{~3FDfcBKqMPRA~2gjaO zM5(Kk=H(_gbZcR$5k`P`WBM}Wm7;19rLl^5KuX;#Pu16lyn zQ+ldX-+2LTT7ka-&AcaC@$}Q0E`Km!&S-%Qj+6jK!15^yb>ZJ+1)(z_4EJxtFL$UG zHJUU&Hl~qvmFE9M{L*Ycc6nzPlD*&QcZsn%6dJ~>pmpM|Fh=YY)$+oru@D77-DzF{ol zC1lu^8b4K@6JnL*!b~bSF}pln2)P(WyAN8Lurt{~rDIE_>jb=ws4C$xMAPWDSsNOe z9HZVQElqfu958yYWwaMYsiVEk(O_X?G`>?X3_M|g5qKxHG~sM=-mL|uyk9Lw1m=B$ z8G35h8iZFH)3@LdAwc)0V7VLuwqBR<*r7!iofL9cp@Y;Fv+5N$_&4Qc>bbLf z5C7@QCoS*%^ozfK`z!Ap;Kv_->bpmuzrf9KXXYP0`KxO${bc>G&#s-<#H*ivDg5O6 zB{KTi`K-Qp^NqEi22wLzdxj{ z_l{Zm-2cL?`s!`6a`P2(jjXNIs~czPYbzrmHNSZV487=h-$>SbPSh{g*Y-K;YcCS= z)(hkxq<-bxl}j6>zVF=nrA_#(UEEkDuSG^sil4s$k||*U9?oyVs%o`a$xAR~{QZd+`sy`F5SWy88Fim%MMhOfH}K g?e!y{62CS2^YZV#gD(=#&`olMkkP1p<0|_6UzSt~R{#J2 diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 54174ab..bd912a1 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -373,6 +373,7 @@ + diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs index 5b4ed1e..976e88c 100644 --- a/OnTopReplica/Properties/Resources.Designer.cs +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -102,6 +102,13 @@ namespace OnTopReplica.Properties { } } + internal static System.Drawing.Bitmap flag_germany { + get { + object obj = ResourceManager.GetObject("flag_germany", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + internal static System.Drawing.Bitmap flag_ita { get { object obj = ResourceManager.GetObject("flag_ita", resourceCulture); diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx index 79864a3..b097806 100644 --- a/OnTopReplica/Properties/Resources.resx +++ b/OnTopReplica/Properties/Resources.resx @@ -232,4 +232,8 @@ ..\Assets\flag_poland.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_germany.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/OptionsPanel.cs b/OnTopReplica/SidePanels/OptionsPanel.cs index 456fd9b..1669c37 100644 --- a/OnTopReplica/SidePanels/OptionsPanel.cs +++ b/OnTopReplica/SidePanels/OptionsPanel.cs @@ -76,10 +76,11 @@ namespace OnTopReplica.SidePanels { CultureWrapper[] _languageList = { new CultureWrapper("English", new CultureInfo("en-US"), Resources.flag_usa), - new CultureWrapper("Italiano", new CultureInfo("it-IT"), Resources.flag_ita), new CultureWrapper("Čeština", new CultureInfo("cs-CZ"), Resources.flag_czech), new CultureWrapper("Dansk", new CultureInfo("da-DK"), Resources.flag_danish), + new CultureWrapper("Deutsch", new CultureInfo("de-DE"), Resources.flag_germany), new CultureWrapper("Español", new CultureInfo("es-ES"), Resources.flag_spanish), + new CultureWrapper("Italiano", new CultureInfo("it-IT"), Resources.flag_ita), new CultureWrapper("Polski", new CultureInfo("pl-PL"), Resources.flag_poland), }; diff --git a/OnTopReplica/Strings.cs.resx b/OnTopReplica/Strings.cs.resx index c705200..d7ac77e 100644 --- a/OnTopReplica/Strings.cs.resx +++ b/OnTopReplica/Strings.cs.resx @@ -12,6 +12,10 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Vytvořil: % + Link % is replaced by string AboutAuthorContent. + Přerušit aktualizaci. @@ -24,18 +28,52 @@ Aktualizovat OnTopReplica. + + Rádi byste přispěli k vývoji projektu? Jste vřele vítáni při spolupráci na stávajících nebo nových překladech, případně si můžete stáhnout % ze serveru CodePlex. + + + zdrojové kódy + + + OnTopReplica je založena na knihovně WindowsFormsAero a několika dalších knihovnách a zdrojích. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Více informací + + + Spolupráce + + + Zásluhy + + + Licence + + + Aktualizace + + + Aplikace je vydána pod % licencí, která splňuje požadavky "open-source" definice dle OSI. + Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému. + + O programu OnTopReplica + + + Překlady: % + {0} translators (do not end with period) + - Zkontroluj aktualizace + Aktualizuj! Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. - - OnTopReplica - Probably doesn't need localization. :) + + Verze: % Resetovat nastavení okna? @@ -59,18 +97,10 @@ Všechna nastavení budou ztracena. Resetovat nastavení - - Pokračovat -Instalovat OnTopReplica {0}. - &Storno & marks the ALT+[] shortcut - - Zrušit aktualizaci -Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. - Označte výřez pomocí myši. @@ -125,6 +155,9 @@ Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premi Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte <a href="http://ontopreplica.codeplex.com">domácí stránku aplikace OnTopReplica</a>). + + Aplikaci OnTopReplica se nepodařilo zjistit, zda existuje nová verze. Zkontrolujte, zda jste připojeni k síti Internet. Pokud ano, je možné, že webové stránky projektu jsou dočasně mimo provoz. + Režim @@ -149,6 +182,25 @@ Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premi Aplikace OnTopReplica přes celou obrazovku + + Zrušit + + + Povolit seskupení + + + Výběrem více položek aktivujete seskupení + + + Seskupení je aktivní + + + Seskupení + + + Okna + Column Header of list, simply refers to available windows to be cloned + Domácí stránka: www.codeplex.com/ontopreplica. @@ -247,6 +299,12 @@ Režim "Proklikávání" je možné zvolit později v menu 1:4 Čtvrtinová + + Seskupení + + + OnTopReplica bude automaticky přepínat mezi okny z uživatelsky definované skupiny tak, že zobrazeno bude vždy to naposledy deaktivované okno. + 100% (neprůhledné) @@ -286,6 +344,12 @@ Režim "Proklikávání" je možné zvolit později v menu Dolní pravý roh + + Uprostřed + + + Vypnuto + Umístění @@ -328,6 +392,18 @@ Režim "Proklikávání" je možné zvolit později v menu Velikost + + Obnovit naposledy zobrazené okno + + + Pokud je zatrženo, OnTopReplica se pokusí po spuštění obnovit naposledy zobrazované okno. + + + Nastavení... + + + Zobrazí okno s nastavením. + Přepnout do okna @@ -376,6 +452,35 @@ Režim "Proklikávání" je možné zvolit později v menu Začněte klepnutím sem pravým tlačítkem myši... + + Zavřít toto okno + + + Tyto klávesové zkratky jsou platné napříč systémem a je možné je použít i pokud OnTopReplica není aktivním oknem. + + + Zobrazit/Skrýt + + + Klávesové zkratky: + + + Jazyk: + + + Vyžaduje restart. + + + Nastavení + + + Zrušit aktualizaci +Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. + + + Pokračovat +Instalovat OnTopReplica {0}. + Nová verze bude automaticky stažena a nainstalována. @@ -383,4 +488,44 @@ Režim "Proklikávání" je možné zvolit později v menu Nainstalovaná verze: {0} Dostupná verze: {1} + + Verze {0} je k dispozici + + + staženo {0}/{1} bajtů. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Stahování... + + + Poslední verze aplikace OnTopReplica je již nainstalována. Aktualizace se kontrolují automaticky při každém spuštění. + +Na <a href="website">oficiálních stránkách</a> můžete sledovat aktuální vývoj aplikace nebo hlásit chyby či navrhovat vylepšení. + The website link should be enclosed in <a href="website"></a> tags. + + + Poslední stabilní verze byla vydána {0}. + {0} last version release date + + + OnTopReplica je aktuální + + + Instalovat +OnTopReplica bude nyní ukončena a spustí se aktualizace. + + + Nová verze {0} OnTopReplica je připravena k instalaci. + + + Aktualizace je připravena + + + Aktualizace OnTopReplica + \ No newline at end of file diff --git a/OnTopReplica/Strings.da.resx b/OnTopReplica/Strings.da.resx index 2ba2bad..acd0533 100644 --- a/OnTopReplica/Strings.da.resx +++ b/OnTopReplica/Strings.da.resx @@ -13,7 +13,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Annuller updateringen + Annuller updateringen. Vis detaljer om OnTopReplica. @@ -58,16 +58,10 @@ Nulstil indstillingerne - - FortsætInstaller OnTopReplica - &Annuller & marks the ALT+[] shortcut - - Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes. - Tegn områder med musen @@ -371,6 +365,12 @@ Du kan aktivere gennem klik senere. Højreklik her for at starte... + + Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes. + + + FortsætInstaller OnTopReplica + Den nye version vil automatiskt blive downloaded og installeret. diff --git a/OnTopReplica/Strings.de.resx b/OnTopReplica/Strings.de.resx index 407207a..4a3562d 100644 --- a/OnTopReplica/Strings.de.resx +++ b/OnTopReplica/Strings.de.resx @@ -12,7 +12,527 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Aktualisierungsprozess abbrechen. + + + Details über OnTopReplica anzeigen. + + + Alle Einstellungen zurücksetzen. + + + OnTopReplica jetzt aktualisieren. + + + Möchtest du dem Projekt helfen? Du kannst gerne existierende Übersetzungen verbessern, einen neue für deine Sprache hinzufügen, oder den % von CodePlex herunterladen. + + + Quelltext + + + OnTopReplica basiert auf der WindowsFormsAero Bibliothek und ein paar anderen Bibliotheken und Codequellen. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Lies die vollständige Quellenliste + + + Mitwirken + + + Quellen + + + Lizenz + + + Aktualisierungen + + + Das Programm ist unter der % Lizenz lizensiert, welche die Bedingungen der Definition von "open-source" nach OSI erfüllt. + + + Ein kleines echtzeit-Vorschaubild eines Fensters deiner Wahl, welches immer im Vordergrund bleibt. + + + Über OnTopReplica + + + Übersetzer: {0} + {0} translators (do not end with period) + + + Jetzt prüfen! + + + OnTopReplica sucht automatisch bei jedem Start nach Aktualisierungen. + Version {0} + + OnTopReplica + Probably doesn't need localization. :) + + + Fenster vollständig zurücksetzen? + + + &Zurücksetzen +Alle Einstellungen werden gelöscht. + + + Dies kann helfen, wenn die Kontrolle über das Fenster verloren wurde, oder es sich ausserhalb des sichtbaren Bereichs des Monitors befindet. + + + Zurücksetzen + + + Einstellungen zurücksetzen? + + + Dies wird alle Einstellungen löschen und OnTopReplica in den Installationszustand zurückführen (alle gespeicherten Daten, wie zum Beispiel gespeicherte Bereiche, gehen verloren). + + + Einstellungen zurücksetzen + + + {0}/{1} bytes heruntergeladen. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Version {0} ist verfügbar + + + Installieren +OnTopReplica wird geschlossen und die Aktualisierung installiert. + + + Eine neue Version kann von der offiziellen Webseite heruntergeladen und installiert werden. + + + OnTopReplica version {0} ist zur Installation auf dem Computer bereit. + + + &Abbrechen + & marks the ALT+[] shortcut + + + Zeichne Bereiche mit der Maus. + + + Details + + + Details zu Windows Aero + + + Windows Aero ist nur mit Windows Vista Home Premium or höher verfügbar. + + + 'Desktop-Gestaltung' ist nicht aktiviert. + + + Sie müssen die Desktop-Gestaltung aktivieren, indem sie 'Windows Aero' als das von Windows benutzte Anzeigeschema auswählen. + +Um dies zu tung rechtsklicken die auf den Desktop und wählen sie 'Anpassen'. + + + Fehler-details + + + Fehler: + + + Es scheint als wäre das gewählte Fenster geschlossen oder nicht länger gültig. + + + Fehler + + + Desktop-Gestaltung' wird auf diesem Betriebssystem nicht unterstützt. +Dieses Programm benötigt Windows Vista Home Premium oder besser. + + + Desktop-Gestaltung nicht unterstützt + + + Kein Vorschaubild geladen. + + + Vorschaubild konnte nicht erstellt werden + + + Das Fenster passt nicht in das Vorschaufenster. + + + Es konnte nicht nach Aktualisierungen gesucht werden. + + + Es scheint als wäre OnTopReplica nicht mittels 'ClickOnce' installiert. Sie werden manuell aktualisieren müssen (Besuchen sie <a href="http://ontopreplica.codeplex.com">OnTopReplica's Homepage</a>). + + + OnTopReplica konnte nicht nach einer Aktualisierung suchen. Stellen sie Sicher, dass sie mit dem Internet verbunden sind. Wenn sie mit dem Internet verbunden sind, könnte die Webseite temporäre Probleme haben. + + + Mode + + + Immer im Vordergrund + + + Erzwingt, dass OnTopReplica immer im Vordergrund bleibt. + + + Durchklicken + + + OnTopReplica wird alle Klicks an das darunterliegende Fenster weiterreichen. + + + Standard + + + Verhält sich wie ein normales Fenster. Andere Fenster können OnTopReplica verdecken. + + + OnTopReplica Vollbild + + + Deaktivieren + + + Modus aktivieren + + + Mehrere Fenster zum aktivieren auswählen. + + + Der Gruppenmodus ist aktiv. + + + Gruppenmodus: + + + Fenster + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Klickweiterleitung aktivieren? + + + OnTopReplica wird alle Linksklicks an das geklonte Fenster weiterreichen (dies erlaubt simple Interaktion ohne das andere Fenster zu aktivieren). + +Um diese Modus zu beenden ESC drücken. + + + Klickweiterleitung + + + Durchklickmodus aktivieren? + + + Durchklicken funktioniert nur, wenn es im "Grössen"-Menü aktiviert wurde und das Fenster semi-transparent ist. + + + In diesem Modus verhält sich das Vollbild-Fenster wie ein durchsichtiges Overlay und erlaubt es, die Fenster dahinter anzuklicken. + +Um zum normalen Modus zurückzukehren, reicht es, OnTopReplica über die Taskleiste oder das Benachrichtigungssymbol zu aktivieren. + + + Nein danke. +Durchklicken kann später aktiviert werden + + + Durchklicken aktivieren + + + Durchklick-Modus + + + OnTopReplica wurde aktualisiert. + + + Um die aktualisierte Version zu nutzen, muss OnTopReplica neu gestartet werden. + + + Aktualisierung abgeschlossen + + + OnTopReplica ist auf dem neuesten Stand. + + + Keine Aktualisierung verfügbar + + + Sprache + + + Über... + + + Versteckt das Hauptfenster und zeigt das Informationsfenster. + + + Erweitert + + + Fensterrahmen anzeigen + + + Schaltet den Fensterrahmen an und aus. + + + Klickweiterleitung aktivieren + + + Leitet klicks an das geklonte Fenster weiter. + + + Durchklicken aktivieren + + + OnTopReplica wird alle klicks an die darunterliegenden Fenster weiterleiten. + + + Schliessen + + + Schliesst OnTopReplica. + + + 2:1 Verdoppeln + + + Vollbild + + + 1:2 Halbieren + + + 1:1 An Fenster anpassen + + + 1:4 Vierteln + + + Gruppenmodus + + + OnTopReplica wird automatisch das zuletzt aktive Fenster aus einer benutzerdefinierten Gruppe klonen. + + + 100% (Undurchsichtig) + + + OnTopReplica ist völlig undurchsichtig. + + + 25% + + + OnTopReplica auf 25% Sichtbarkeit setzen. + + + 50% + + + OnTopReplica auf 50% Sichtbarkeit setzen. + + + 75% + + + OnTopReplica auf 75% Sichtbarkeit setzen. + + + Deckkraft + + + Öffnen + + + OnTopReplica anzeigen. + + + Unten Links + + + Unten Rechts + + + Mitte + + + Deaktiviert + + + Position feststlegen + + + OnTopReplica automatisch auf dem aktiven Bildschirm positionieren. + + + Oben Links + + + Oben Rechts + + + Vollbildmodus beenden + + + Letzte Position und Grösse merken + + + Legt fest, ob OnTopReplica beim Start die gleiche Position und Grösse haben soll, wie beim letzten Beenden. + + + Minimieren + + + Minimiert OnTopReplica in die Taskleiste (oder die Benachrichtigungsleiste). + + + Bereich wählen... + + + Wechselt zum "Bereichsmodus" welcher es erlaubt, nur einen ausgewählten Teil eines Fensters zu klonen. + + + Fenster zurücksetzen + + + Setzt OnTopReplica Einstellungen und das Fenster zurück. + + + Grösse + + + Letztes Fenster wieder wählen + + + OnTopReplica wird beim Start versuchen, das gleiche Fenster wie beim letzten beenden zu klonen. + + + Einstellungen... + + + Zeigt den Einstellungsdialog an. + + + Zum Fenster Wechseln + + + Wechselt zum geklonten Fenster und versteckt OnTopReplica. + + + Fenster wählen + + + - Keins - + + + Zeigt eine Liste von Fenstern die als Klonquelle gewählt werden können. + + + - Alles - + + + Aktueller Bereich: + + + Löschen + + + Fertig + + + Höhe + + + Zurücksetzen + + + Speichern + + + Gespeicherte Bereiche + + + Bereiche: + + + Breite + + + Hier rechtsklicken um zu beginnen... + + + Aktuelles Fenster klonen + + + Diese Tastenkombinationen können auch benutzt werden, wenn OnTopReplica nicht das aktive Fenster ist. + + + Zeigen/Verstecken + + + Tastenkombinationen: + + + Sprache: + + + Benötigt einen Neustart. + + + Herunterladen... + + + Aktualisierung bereit + + + Herunterladen +OnTopReplica {0} instalieren. + + + Aktualisierung abbrechen +OnTopReplica wird beim nächsten Start darauf hinweisen. + + + OnTopReplica ist aktuell + + + Neuste stabile Programmversion vom {0}. + {0} last version release date + + + Die aktuelle Version vom OnTopReplica ist schon installiert. Das Programm sucht automatisch bei jedem Start nach Aktualisierungen. + +Sie können über die Entwicklung von OnTopReplica auf dem Laufenden bleiben und verbesserungen vorschlagen indem sie die <a href="website">offizielle Webseite besuchen</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Einstellungen + + + OnTopReplica Aktualisierungen + + + Installierte Version: {0} +Verfügbare Version: {1} + + + Autor: %. + Link % is replaced by string AboutAuthorContent. + \ No newline at end of file diff --git a/OnTopReplica/Strings.es.resx b/OnTopReplica/Strings.es.resx index 71c9ae1..9f27afd 100644 --- a/OnTopReplica/Strings.es.resx +++ b/OnTopReplica/Strings.es.resx @@ -59,18 +59,10 @@ Todos los ajustes se perderán. Reiniciar ajustes - - Descargar -Instalar OnTopReplica {0} - &Cancelar & marks the ALT+[] shortcut - - Cancelar actualización -OnTopReplica le preguntará la próxima vez que se ejecute. - Crea una región utilizando el ratón. @@ -101,7 +93,7 @@ Para ello, click derecho en el escritorio y buscar la opción en Personalizar.Parece que la ventana seleccionada ha sido cerrada o ya no es válida. - Error: + Error La Composición de Escritorio no está soportada en su Sistema Operativo. @@ -404,6 +396,14 @@ Se podrá activar Click a través más tarde Click derecho para empezar... + + Cancelar actualización +OnTopReplica le preguntará la próxima vez que se ejecute. + + + Descargar +Instalar OnTopReplica {0} + La nueva versión puede ser descargada e instalada del sitio oficial. diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx index a03c8a5..c6cab91 100644 --- a/OnTopReplica/Strings.it.resx +++ b/OnTopReplica/Strings.it.resx @@ -105,10 +105,6 @@ Tutte le impostazioni saranno perse. &Annulla & marks the ALT+[] shortcut - - Annulla aggiornamento -OnTopReplica si aggiornerà in un secondo momento. - Disegna una regione usando il mouse. @@ -481,13 +477,17 @@ Puoi abilitare il Click-Through in futuro Richiede un riavvio. + + Impostazioni + + + Annulla aggiornamento +OnTopReplica si aggiornerà in un secondo momento. + Continua Scarica OnTopReplica {0}. - - Impostazioni - Sarà possibile scaricare la nuova versione ed installarla. @@ -500,7 +500,11 @@ Versione disponibile: {1} Scaricati {0} byte su {1}. - {0} downloaded bytes {1} total bytes + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes Download in corso... diff --git a/OnTopReplica/Strings.pl.resx b/OnTopReplica/Strings.pl.resx index f3104e1..d5780c7 100644 --- a/OnTopReplica/Strings.pl.resx +++ b/OnTopReplica/Strings.pl.resx @@ -56,15 +56,11 @@ Aplikacja jest licencjonowana na warunkach licencji %, która spełnia warunki definicji "open-source" definiowane przez OSI. - - - Can be left blank. - - Miniatura "zawsze na wierzchu" przedstawiająca w czasie rzeczywistym podgląd wybranego okna. + Miniatura "zawsze na wierzchu" pokazująca "na żywo" podgląd wybranego okna. - O OnTopReplica + O programie OnTopReplica Tłumaczenie: {0} @@ -74,7 +70,7 @@ Sprawdź teraz! - OnTopReplica automatycznie sprawdza dostępność aktualizacji przy każdym uruchomieniu. + OnTopReplica automatycznie sprawdza dostępność aktualizacji po każdym uruchomieniu. Wersja {0} @@ -216,7 +212,7 @@ Aplikacja działa na Windows Vista Home Premium i nowszych. Czy uaktywnić "przekazywanie kliknięć"? - Kiedy ten tryb jest aktywny, OnTopReplica będzie przekazywać kliknięcia lewym przyciskiem myszy do okna, które jest klonowane (dzięki temu możesz wykonywać na tym oknie podstawowe operacje bez konieczności uaktywniania go). + Kiedy ten tryb jest aktywny, OnTopReplica będzie przekazywać kliknięcia przycisków myszy do okna, które jest klonowane (dzięki temu możesz wykonywać na tym oknie podstawowe operacje bez konieczności uaktywniania go). Naciśnij ESC aby zakończyć ten tryb. @@ -266,7 +262,7 @@ Możesz włączyć kliknij-przez później O... - Ukrywa główne okno i pokazuje okno "O programie". + Wyświetla informacje o programie. Zaawansowane @@ -314,7 +310,7 @@ Możesz włączyć kliknij-przez później Tryb grupowy - OnTopReplica automatycznie sklonuje okno ze zdefiniowanej przez użytkownika grupy, przełączając na to które było najwcześniej zdeaktywowane. + OnTopReplica automatycznie sklonuje okno ze zdefiniowanej przez użytkownika grupy przełączając na to, które było najwcześniej zdeaktywowane. 100% (nieprzeźroczyste) @@ -365,7 +361,7 @@ Możesz włączyć kliknij-przez później Zablokuj pozycję - Automatycznie ustawia na bieżącym ekranie OnTopReplica. + Automatycznie ustawia pozycję OnTopReplica na bieżącym ekranie. Góra Lewo @@ -467,7 +463,7 @@ Możesz włączyć kliknij-przez później Sklonuj bieżące okno - Te skróty klawiszowe mogą być używane również wtedy, gdy okno OnTopReplica nie jest aktywne. + Skróty klawiszowe działają również wtedy, gdy okno OnTopReplica nie jest aktywne. Pokaż/Ukryj @@ -481,16 +477,16 @@ Możesz włączyć kliknij-przez później Wymaga restartu. - - Pobierz -Zainstaluj OnTopReplica {0}. + + Ustawienia Anuluj aktualizację OnTopReplica zapyta Cię przy następnym uruchomieniu. - - Ustawienia + + Pobierz +Zainstaluj OnTopReplica {0}. Nowa wersja może zostać pobrana i zainstalowana z oficjalnej strony programu. @@ -499,4 +495,44 @@ OnTopReplica zapyta Cię przy następnym uruchomieniu. Zainstalowana wersja: {0} Dostępna wersja: {1} + + Dostępna jest wersja {0} + + + pobrano {0}/{1} bajtów. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Pobieram... + + + Najnowsza wersja OnTopReplica jest już zainstalowana. Program automatycznie sprawdza dostępność aktualizacji po każdym uruchomieniu. + +Na <a href="website">oficjalnej stronie domowej</a> możesz znaleźć informacje o rozwoju OnTopReplica's oraz zaproponować nowe funkcje. + The website link should be enclosed in <a href="website"></a> tags. + + + Ostatnia wersja stabilna wydana {0}. + {0} last version release date + + + OnTopReplica jest aktualna + + + Zainstaluj +Aktualizacje zostaną zainstalowane po ponownym uruchomieniu OnTopReplica. + + + Wersja {0} OnTopReplica jest gotowa do zainstalowania. + + + Aktualizacja ukończona + + + Aktualizacje OnTopReplica + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx index f69a4dc..735ef67 100644 --- a/OnTopReplica/Strings.resx +++ b/OnTopReplica/Strings.resx @@ -75,7 +75,7 @@ {0} translators (do not end with period) - Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen. + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann. Must not be localized. Leave blank in non-default languages. @@ -113,23 +113,6 @@ All settings will be lost. Reset settings - - {0}/{1} bytes downloaded. - {0} downloaded bytes {1} total bytes - - - Version {0} available - - - Install -OnTopReplica will be closed and the update installed. - - - The new version can be downloaded and installed from the official website. - - - OnTopReplica version {0} is ready to be installed on your computer. - &Cancel & marks the ALT+[] shortcut @@ -147,7 +130,7 @@ OnTopReplica will be closed and the update installed. Windows Aero is only available on Windows Vista Home Premium or higher. - Desktop Composition' is not enabled. + 'Desktop Composition' is not enabled. You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. @@ -506,26 +489,37 @@ You can enable click-through later Requires a restart. - - Downloading... - - - Update ready - - - Download -Install OnTopReplica {0}. + + Settings Cancel update OnTopReplica will prompt you the next time it is started. - - OnTopReplica is up to date + + Download +Install OnTopReplica {0}. - - Latest stable version released on {0}. - {0} last version release date + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. @@ -533,14 +527,24 @@ OnTopReplica will prompt you the next time it is started. You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. The website link should be enclosed in <a href="website"></a> tags. - - Settings + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready OnTopReplica updates - - Installed version: {0} -Available version: {1} - \ No newline at end of file From 2b06fe907b6fc82e9e3f84866008ad36c54f8f79 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 7 Jun 2011 01:59:03 +0200 Subject: [PATCH 113/164] Updated version numbers to 3.3.2. --- Installer/update.xml | 4 ++-- OnTopReplica/OnTopReplica.csproj | 2 +- OnTopReplica/Properties/AssemblyInfo.cs | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Installer/update.xml b/Installer/update.xml index ccf1f58..e2a1f35 100644 --- a/Installer/update.xml +++ b/Installer/update.xml @@ -1,6 +1,6 @@  - 3.3.1.0 - 2011-04-06T23:10:00Z + 3.3.2.0 + 2011-06-07T01:00:00Z http://www.klopfenstein.net/lorenz.aspx/ontopreplica \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index bd912a1..adf0711 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -48,7 +48,7 @@ publish.htm false 0 - 3.2.0.%2a + 3.3.2.%2a false true true diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs index 18737eb..00001b5 100644 --- a/OnTopReplica/Properties/AssemblyInfo.cs +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -33,5 +33,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.3.1.0")] -[assembly: AssemblyFileVersion("3.3.1.0")] +[assembly: AssemblyVersion("3.3.2.0")] +[assembly: AssemblyFileVersion("3.3.2.0")] From 89f10cd894254be99f34bacaedd29f6bee244650 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 7 Jun 2011 02:30:59 +0200 Subject: [PATCH 114/164] Installer script updated to remove old VistaControls.dll. --- Installer/script.nsi | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Installer/script.nsi b/Installer/script.nsi index 2f1cb58..483b12e 100644 --- a/Installer/script.nsi +++ b/Installer/script.nsi @@ -86,8 +86,13 @@ Section "!OnTopReplica" OnTopReplica SetOutPath $INSTDIR SetOverwrite on + + ;Ensure that old VistaControls.dll is removed + Delete "$INSTDIR\VistaControls.dll" + + ;Main installation File "..\OnTopReplica\bin\Release\OnTopReplica.exe" - File "..\OnTopReplica\bin\Release\VistaControls.dll" + File "..\OnTopReplica\bin\Release\WindowsFormsAero.dll" ;Text stuff File "..\OnTopReplica\bin\Release\CREDITS.txt" @@ -100,8 +105,12 @@ Section "!OnTopReplica" OnTopReplica File "..\OnTopReplica\bin\Release\cs\OnTopReplica.resources.dll" SetOutPath "$INSTDIR\da" File "..\OnTopReplica\bin\Release\da\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\de" + File "..\OnTopReplica\bin\Release\de\OnTopReplica.resources.dll" SetOutPath "$INSTDIR\es" File "..\OnTopReplica\bin\Release\es\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\pl" + File "..\OnTopReplica\bin\Release\pl\OnTopReplica.resources.dll" ;Uninstaller WriteUninstaller "$INSTDIR\${UNINSTALLER_NAME}" From 2ebd15fac20ce403752b3b4afe0a856806169d10 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 29 May 2012 17:07:57 +0200 Subject: [PATCH 115/164] Window/Region selection: refactored menu creation. --- OnTopReplica/MainForm.cs | 11 +- OnTopReplica/MainForm_MenuEvents.cs | 8 +- OnTopReplica/OnTopReplica.csproj | 2 + OnTopReplica/Tuples.cs | 20 ++ OnTopReplica/Win32Helper.cs | 10 +- OnTopReplica/WindowHandle.cs | 9 + OnTopReplica/WindowListHelper.cs | 123 ------------ OnTopReplica/WindowListMenuManager.cs | 182 ++++++++++++++++++ .../WindowSeekers/RestoreWindowSeeker.cs | 11 +- .../WindowSeekers/TaskWindowSeeker.cs | 10 +- 10 files changed, 240 insertions(+), 146 deletions(-) create mode 100644 OnTopReplica/Tuples.cs delete mode 100644 OnTopReplica/WindowListHelper.cs create mode 100644 OnTopReplica/WindowListMenuManager.cs diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index c3c0662..d04dcb6 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -19,10 +19,8 @@ namespace OnTopReplica { ThumbnailPanel _thumbnailPanel; //Managers - BaseWindowSeeker _windowSeeker = new TaskWindowSeeker { - SkipNotVisibleWindows = true - }; MessagePumpManager _msgPumpManager = new MessagePumpManager(); + WindowListMenuManager _windowListManager; Options _startupOptions; @@ -63,9 +61,12 @@ namespace OnTopReplica { GlassEnabled = true; GlassMargins = new Margins(-1); - //Window handlers - _windowSeeker.OwnerHandle = this.Handle; + //Managers _msgPumpManager.Initialize(this); + _windowListManager = new WindowListMenuManager(this, menuWindows); + _windowListManager.ParentMenus = new System.Windows.Forms.ContextMenuStrip[] { + menuContext, menuFullscreenContext + }; //Platform specific form initialization Program.Platform.PostHandleFormInit(this); diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs index b67bbae..7590990 100644 --- a/OnTopReplica/MainForm_MenuEvents.cs +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -26,14 +26,12 @@ namespace OnTopReplica { chromeToolStripMenuItem.Enabled = showing; clickThroughToolStripMenuItem.Enabled = showing; clickForwardingToolStripMenuItem.Enabled = showing; - } private void Menu_Windows_opening(object sender, CancelEventArgs e) { - _windowSeeker.Refresh(); - var menu = (ToolStrip)sender; - menu.PopulateMenu(this, _windowSeeker, - CurrentThumbnailWindowHandle, new EventHandler(Menu_Windows_itemclick)); + //_windowSeeker.Refresh(); + //var menu = (ToolStrip)sender; + //menu.PopulateMenu(_windowSeeker, CurrentThumbnailWindowHandle, new EventHandler(Menu_Windows_itemclick)); } void Menu_Windows_itemclick(object sender, EventArgs e) { diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index adf0711..7db075d 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -173,6 +173,8 @@ True Strings.resx + + diff --git a/OnTopReplica/Tuples.cs b/OnTopReplica/Tuples.cs new file mode 100644 index 0000000..d504364 --- /dev/null +++ b/OnTopReplica/Tuples.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica { + + public class Tuple { + + public Tuple(T1 item1, T2 item2) { + Item1 = item1; + Item2 = item2; + } + + public T1 Item1 { get; set; } + + public T2 Item2 { get; set; } + + } + +} diff --git a/OnTopReplica/Win32Helper.cs b/OnTopReplica/Win32Helper.cs index daa6a96..f14493d 100644 --- a/OnTopReplica/Win32Helper.cs +++ b/OnTopReplica/Win32Helper.cs @@ -8,7 +8,9 @@ using System.Windows.Forms; namespace OnTopReplica { public static class Win32Helper { - /// Inject a fake left mouse click on a target window, on a location expressed in client coordinates. + #region Injection + + /// Inject a fake left mouse click on a target window, on a location expressed in client coordinates. /// Target window to click on. /// Location of the mouse click expressed in client coordiantes of the target window. /// True if a double click should be injected. @@ -82,7 +84,9 @@ namespace OnTopReplica { #endif } - /// Returns the child control of a window corresponding to a screen location. + #endregion + + /// Returns the child control of a window corresponding to a screen location. /// Parent window to explore. /// Child control location in screen coordinates. private static IntPtr GetRealChildControlFromPoint(IntPtr parent, NPoint scrClickLocation) { @@ -115,7 +119,7 @@ namespace OnTopReplica { if (handle == IntPtr.Zero) return null; - return new WindowHandle(handle, null); + return new WindowHandle(handle); } } diff --git a/OnTopReplica/WindowHandle.cs b/OnTopReplica/WindowHandle.cs index 1cc1f3a..0dfff94 100644 --- a/OnTopReplica/WindowHandle.cs +++ b/OnTopReplica/WindowHandle.cs @@ -24,6 +24,15 @@ namespace OnTopReplica { _title = title; } + /// + /// Creates a new WindowHandle instance. Additional features of the handle will be queried as needed. + /// + /// + public WindowHandle(IntPtr p) { + _handle = p; + _title = null; + } + public string Title { get { if (_title == null) { diff --git a/OnTopReplica/WindowListHelper.cs b/OnTopReplica/WindowListHelper.cs deleted file mode 100644 index 5a8585e..0000000 --- a/OnTopReplica/WindowListHelper.cs +++ /dev/null @@ -1,123 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Windows.Forms; -using OnTopReplica.Properties; -using OnTopReplica.WindowSeekers; - -namespace OnTopReplica { - /// - /// Extension methods used to apply a window list to a menu. - /// - static class WindowListHelper { - - public class WindowSelectionData { - public WindowHandle Handle { get; set; } - public StoredRegion Region { get; set; } - } - - const int MaxWindowTitleLength = 55; - - /// - /// Populates the menu with a list of windows. - /// - /// The menu to populate. - /// The owning form. - /// The window manager that provides the windows list. - /// The currently used window (will be checked in the list). - /// Event handler for clicks on window items. - public static void PopulateMenu(this ToolStrip menu, Form ownerForm, BaseWindowSeeker windowManager, - WindowHandle currentHandle, EventHandler clickHandler) { - var regions = GetRegions(); - - //Clear - menu.Items.Clear(); - - //"None" selection - var nullTsi = new ToolStripMenuItem(Strings.MenuWindowsNone); - nullTsi.Tag = null; - nullTsi.Click += clickHandler; - nullTsi.Checked = (currentHandle == null); - menu.Items.Add(nullTsi); - - //Add an item for each window - foreach (WindowHandle h in windowManager.Windows) { - //Skip if in the same process - if (h.Handle.Equals(ownerForm.Handle)) - continue; - - var tsi = new ToolStripMenuItem(); - - //Window title - if (h.Title.Length > MaxWindowTitleLength) { - tsi.Text = h.Title.Substring(0, MaxWindowTitleLength) + "..."; - tsi.ToolTipText = h.Title; - } - else - tsi.Text = h.Title; - - //Icon - if (h.Icon != null) { - tsi.Image = h.Icon.ToBitmap(); - } - - //Check if this is the currently displayed window - tsi.Checked = h.Equals(currentHandle); - - //Add direct click if no stored regions - tsi.Tag = new WindowSelectionData { - Handle = h, - Region = null - }; - tsi.Click += clickHandler; - - PopulateRegions(tsi, h, clickHandler, regions); - - menu.Items.Add(tsi); - } - - } - - private static void PopulateRegions(ToolStripMenuItem tsi, WindowHandle handle, - EventHandler clickHandler, IEnumerable regions) { - - if (regions != null) { - //Add subitem for no region - var nullRegionItem = new ToolStripMenuItem(Strings.MenuWindowsWholeRegion); - nullRegionItem.Tag = new WindowSelectionData { - Handle = handle, - Region = null - }; - nullRegionItem.Image = Resources.regions; - nullRegionItem.Click += clickHandler; - tsi.DropDownItems.Add(nullRegionItem); - - foreach (StoredRegion region in regions) { - var regionItem = new ToolStripMenuItem(region.Name); - regionItem.Tag = new WindowSelectionData { - Handle = handle, - Region = region - }; - regionItem.Click += clickHandler; - - tsi.DropDownItems.Add(regionItem); - } - } - } - - private static IEnumerable GetRegions() { - if (Settings.Default.SavedRegions == null || Settings.Default.SavedRegions.Count == 0) - return null; - - StoredRegion[] regions = new StoredRegion[Settings.Default.SavedRegions.Count]; - Settings.Default.SavedRegions.CopyTo(regions); - - Array.Sort(regions, new Comparison((a, b) => { - return a.Name.CompareTo(b.Name); - })); - - return regions; - } - - } -} diff --git a/OnTopReplica/WindowListMenuManager.cs b/OnTopReplica/WindowListMenuManager.cs new file mode 100644 index 0000000..c621eee --- /dev/null +++ b/OnTopReplica/WindowListMenuManager.cs @@ -0,0 +1,182 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.WindowSeekers; +using OnTopReplica.Properties; + +namespace OnTopReplica { + /// + /// Manages the window list displayed when allowing the user to select a window to clone. + /// + class WindowListMenuManager { + + const int MaxWindowTitleLength = 55; + + readonly MainForm _owner; + readonly ContextMenuStrip _windowsMenu; + + public WindowListMenuManager(MainForm owner, ContextMenuStrip windowsMenu) { + _owner = owner; + _windowsMenu = windowsMenu; + + WindowSeeker = new TaskWindowSeeker() { + OwnerHandle = owner.Handle, + SkipNotVisibleWindows = true + }; + + //Bind events + windowsMenu.Opening += new System.ComponentModel.CancelEventHandler(WindowsMenu_opening); + } + + void WindowsMenu_opening(object sender, System.ComponentModel.CancelEventArgs e) { + WindowSeeker.Refresh(); + PopulateMenu(_owner.CurrentThumbnailWindowHandle); + } + + /// + /// Populates the menu with windows from the window seeker instance. + /// + /// Handle of the currently selected window or null if none selected. + private void PopulateMenu(WindowHandle currentSelection) { + var regions = GetStoredRegions(); + + _windowsMenu.Items.Clear(); + + //"None" selection + var nullTsi = new ToolStripMenuItem(Strings.MenuWindowsNone); + nullTsi.Tag = null; + nullTsi.Click += MenuWindowClickHandler; + nullTsi.Checked = (currentSelection == null); + _windowsMenu.Items.Add(nullTsi); + + //Add an item for each window + foreach (WindowHandle h in WindowSeeker.Windows) { + var tsi = new ToolStripMenuItem(); + + //Window title + if (h.Title.Length > MaxWindowTitleLength) { + tsi.Text = h.Title.Substring(0, MaxWindowTitleLength) + "..."; + tsi.ToolTipText = h.Title; + } + else + tsi.Text = h.Title; + + //Icon + if (h.Icon != null) { + tsi.Image = h.Icon.ToBitmap(); + } + + //Check if this is the currently displayed window + tsi.Checked = h.Equals(currentSelection); + + //Click handler + tsi.Tag = h; + tsi.Click += MenuWindowClickHandler; + + PopulateRegionsDropdown(tsi, h, regions); + + _windowsMenu.Items.Add(tsi); + } + } + + private void PopulateRegionsDropdown(ToolStripMenuItem parent, WindowHandle parentHandle, StoredRegion[] regions) { + parent.DropDownItems.Clear(); + + //No region + var nullRegionItem = new ToolStripMenuItem(Strings.MenuWindowsWholeRegion); + nullRegionItem.Tag = new Tuple(parentHandle, null); + nullRegionItem.Image = Resources.regions; + nullRegionItem.Click += MenuRegionWindowClickHandler; + parent.DropDownItems.Add(nullRegionItem); + + //Video detector + + //Regions (if any) + if (regions == null || regions.Length == 0) + return; + + parent.DropDownItems.Add(new ToolStripSeparator()); + + foreach (StoredRegion region in regions) { + var regionItem = new ToolStripMenuItem(region.Name); + regionItem.Tag = new Tuple(parentHandle, region); + regionItem.Click += MenuRegionWindowClickHandler; + + parent.DropDownItems.Add(regionItem); + } + } + + private void MenuWindowClickHandler(object sender, EventArgs args) { + CommonClickHandler(); + + var tsi = (ToolStripMenuItem)sender; + if (tsi.Tag == null) { + _owner.UnsetThumbnail(); + } + else { + var handle = (WindowHandle)tsi.Tag; + _owner.SetThumbnail(handle, null); + } + } + + private void MenuRegionWindowClickHandler(object sender, EventArgs args) { + CommonClickHandler(); + + var tsi = (ToolStripMenuItem)sender; + var tuple = (Tuple)tsi.Tag; + _owner.SetThumbnail(tuple.Item1, + (tuple.Item2 != null) ? (System.Drawing.Rectangle?)tuple.Item2.Bounds : null); + } + + private void MenuVideoCropperClickHandler(object sender, EventArgs args){ + CommonClickHandler(); + } + + private void CommonClickHandler() { + _windowsMenu.Close(); + foreach (ContextMenuStrip menu in _parentMenus) + menu.Close(); + } + + /// + /// Gets an array of stored regions. + /// + private StoredRegion[] GetStoredRegions() { + if (Settings.Default.SavedRegions == null || Settings.Default.SavedRegions.Count == 0) + return null; + + StoredRegion[] ret = new StoredRegion[Settings.Default.SavedRegions.Count]; + Settings.Default.SavedRegions.CopyTo(ret); + + Array.Sort(ret, (a, b) => { + return a.Name.CompareTo(b.Name); + }); + + return ret; + } + + /// + /// Gets or sets the window seeker instance used to list windows. + /// + public BaseWindowSeeker WindowSeeker { get; set; } + + ContextMenuStrip[] _parentMenus = new ContextMenuStrip[0]; + + /// + /// Gets the parent menus which are bound to the context menu handled by this manager. + /// + public ContextMenuStrip[] ParentMenus { + get { + return (ContextMenuStrip[])_parentMenus.Clone(); + } + set { + if(value == null) + _parentMenus = new ContextMenuStrip[0]; + else + _parentMenus = (ContextMenuStrip[])value.Clone(); + } + } + + } +} diff --git a/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs b/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs index a59ee63..78e5c75 100644 --- a/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs +++ b/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs @@ -53,22 +53,25 @@ namespace OnTopReplica.WindowSeekers { if (title.StartsWith(Title, StringComparison.InvariantCultureIgnoreCase)) { points += 10; } + if (title.Equals(Title, StringComparison.InvariantCultureIgnoreCase)) { + points += 5; + } } //Handle match (will probably not work, but anyhow) if (Handle != IntPtr.Zero) { if (Handle == hwnd) { - points += 5; + points += 10; } } //Store handle if it matches if (points > 0) { _points.Add(hwnd.ToInt64(), points); - return true; } - else - return false; + + //Never store windows in base class list + return false; } public override IList Windows { diff --git a/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs b/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs index 5cad86b..bf02052 100644 --- a/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs +++ b/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs @@ -9,17 +9,15 @@ namespace OnTopReplica.WindowSeekers { protected override bool InspectWindow(IntPtr hwnd, string title, ref bool terminate) { //Code taken from: http://www.thescarms.com/VBasic/alttab.aspx + //Reject empty titles + if (string.IsNullOrEmpty(title)) + return false; + //Accept windows that // - are visible // - do not have a parent // - have no owner and are not Tool windows OR // - have an owner and are App windows - - //Reject empty titles - - if (string.IsNullOrEmpty(title)) - return false; - if ((long)WindowManagerMethods.GetParent(hwnd) == 0) { bool hasOwner = (long)WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; WindowMethods.WindowExStyles exStyle = (WindowMethods.WindowExStyles)WindowMethods.GetWindowLong(hwnd, WindowMethods.WindowLong.ExStyle); From 58be4f1f2d7864a961a09e682c8ee5c672c34359 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 29 May 2012 17:12:30 +0200 Subject: [PATCH 116/164] Style fix. --- OnTopReplica/WindowSeekers/BaseWindowSeeker.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs b/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs index f175f8e..64cd055 100644 --- a/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs +++ b/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs @@ -30,9 +30,7 @@ namespace OnTopReplica.WindowSeekers { public virtual void Refresh() { _list.Clear(); - WindowManagerMethods.EnumWindows( - new WindowManagerMethods.EnumWindowsProc(RefreshCallback), - IntPtr.Zero); + WindowManagerMethods.EnumWindows(RefreshCallback, IntPtr.Zero); } private bool RefreshCallback(IntPtr hwnd, IntPtr lParam) { From a4b2baaa6e87719bb55bbf3e1b18727bcefb965b Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 29 May 2012 23:53:19 +0200 Subject: [PATCH 117/164] Moved to .NET 4.0. WindowsFormsAero library updated (for .NET 4.0). --- .hgignore | 2 + Lib/WindowsFormsAero.dll | Bin 96256 -> 96768 bytes Lib/WindowsFormsAero.pdb | Bin 249344 -> 220672 bytes Lib/WindowsFormsAero.xml | 726 ++++---- OnTopReplica/MainForm.Designer.cs | 1 - OnTopReplica/MainForm_MenuEvents.cs | 27 - OnTopReplica/Native/WindowManagerMethods.cs | 4 + OnTopReplica/OnTopReplica.csproj | 61 +- OnTopReplica/Properties/Resources.Designer.cs | 336 ---- OnTopReplica/Properties/Settings.Designer.cs | 229 --- OnTopReplica/Strings.Designer.cs | 1590 ----------------- OnTopReplica/app.config | 6 +- 12 files changed, 468 insertions(+), 2514 deletions(-) delete mode 100644 OnTopReplica/Properties/Resources.Designer.cs delete mode 100644 OnTopReplica/Properties/Settings.Designer.cs delete mode 100644 OnTopReplica/Strings.Designer.cs diff --git a/.hgignore b/.hgignore index a80c023..6d66599 100644 --- a/.hgignore +++ b/.hgignore @@ -5,3 +5,5 @@ glob:publish/* glob:*Thumbs.db glob:*.psd glob:Installer/OnTopReplica-Setup.exe +syntax: glob +*.Designer.cs diff --git a/Lib/WindowsFormsAero.dll b/Lib/WindowsFormsAero.dll index ab1618d16bc56b8cfcf68094c16e3d25881065f9..8b0c5c22cb6cbab85f5ad5dc5770ede29ac27d07 100644 GIT binary patch literal 96768 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 z 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 U9B9sg<{W6wf#w|eb?3l;0AE)vUjP6A literal 249344 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

    s?$_>~&ZLze%mE#Duo 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 RV0RAe&Vk)I@YkIK{{x9Iyz&45 diff --git a/Lib/WindowsFormsAero.xml b/Lib/WindowsFormsAero.xml index 887d84f..b683480 100644 --- a/Lib/WindowsFormsAero.xml +++ b/Lib/WindowsFormsAero.xml @@ -4,102 +4,17 @@ WindowsFormsAero - -

    Common Task Dialog buttons. OK is the default button. -
    - - Represents a custom button shown on a Task Dialog. - - - Instantiates a new custom button with an ID and a text. - Unique ID that will be returned by the Task Dialog if the button is clicked. - Use values greater than 8 to prevent conflicts with common buttons. - Text label shown on the button. If you enable Command Links, a newline here - separates the upper from the lower string on the button. - - - Instantiates a new custom button with an ID and a text. - Common ID that will be returned by the Task Dialog if the button is clicked. - Text label shown on the button. If you enable Command Links, a newline here - separates the upper from the lower string on the button. - - - Unique ID that will be returned by the Task Dialog if the button is clicked. - - - Text label shown on the button. If you enable Command Links, a newline here - separates the upper from the lower string on the button. - - - - Adds a handler on the Form that enables the user to move the window around - by clicking on a glass margin (or the title bar, as usual). - - The form that will be controlled. - Margins of the glass sheet. - - Eventual UI elements on the glass sheet will prevent the handler from receiving events - (except the ThemeText control, which manually redirects mouse events to the form). - - - - - Adds a handler on the Form that automatically paints the glass background black - - The form that will be controlled. - Margins of the glass sheet. - - - - - - - Handler will be kept alive by the event references on the form. - As soon as the form is disposed, the handler will be disposed as well. - - - - - - - - Handler will be kept alive by the event references on the form. - As soon as the form is disposed, the handler will be disposed as well. - - Control style and notification constants - - Stores a Task Dialog message that will be sent to a dialog in order to update its state. + + Gets or sets the cue text that is displayed on the TextBox control. - - Simple int, int message. - - - Simple int, bool message. - - - Simple bool, bool message. - - - Simple bool, int message. - - - Simple int, long (hi word and lo word) message. - - - Text updating message. - The string will be marshaled: the Message must be correctly disposed after use. - - - Navigation message. - The config structure will be marshaled: must be correctly disposed after use. - - - Text values that can be updated. + + Gets or sets whether the Cue text should be displyed even when the control has keybord focus. + If true, the Cue text will disappear as soon as the user starts typing. A standard WinForms text box presenting the common Vista "search" interface. @@ -120,6 +35,21 @@ the contents of this method with the code editor. + + + Raised when the Text of the search box has changed. + + + + + Raised after an interval after the last user input. + + + + + Raised when the user clicks on the X to cancel the search. + + Gets or sets the background Color of the button when the mouse hovers on it. @@ -152,30 +82,90 @@ Gets or sets the font used to write the "inactivity label" on top of the control when the user hasn't entered any text. - Overall Font property of the control. Property changes are forwarded to the ActiveFont property. + + Overall Font property of the control. + Property changes are forwarded to the ActiveFont and InactiveFont property. + Returns true if the user entered some text in the search textbox. - + - A strongly-typed resource class, for looking up localized strings, etc. + Gets or sets the delay in milliseconds between when the text is edited + and the search event is raised. - + - Returns the cached ResourceManager instance used by this class. + Gets or sets whether the control raises a SearchStarted event after user input. - + - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. + Gets or sets whether the control raises a SearchStarted event when the user hits the Enter key. + + Class that aggregates the results of an "indirect" Task Dialog. + + + Results returned by Task Dialogs when closed by the user. + + + Direct Task Dialog call. + + + Indirect Task Dialog call. Allows complex dialogs with interaction logic (via callback). + + + The Task Dialog config structure. + + + Flags used in TaskDialogConfig struct. + From CommCtrl.h. + + + Notifications returned by Task Dialogs to the callback. + From CommCtrl.h. + + + Messages that can be sent to Task Dialogs. + From CommCtrl.h. + Displays a dialog box that can contain text, icons, buttons, command links, radio buttons and/or a progress bar. + + Displays a task dialog that has a message. + The text to display. + + + Displays a task dialog that has a message and a title. + The text to display. + The title bar caption of the dialog. + + + Displays a task dialog that has a message, a title and an instruction. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + + + Displays a task dialog that has a message, a title, an instruction and one or more buttons. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + + + Displays a task dialog that has a message, a title, an instruction, one or more buttons and an icon. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + The icon to display. + Initializes a new Task Dialog instance without text. @@ -275,36 +265,6 @@ Displays the task dialog with an explicit parent form. Instance of the dialog's parent form. - - Displays a task dialog that has a message. - The text to display. - - - Displays a task dialog that has a message and a title. - The text to display. - The title bar caption of the dialog. - - - Displays a task dialog that has a message, a title and an instruction. - The text to display. - The title bar caption of the dialog. - The instruction shown below the main text. - - - Displays a task dialog that has a message, a title, an instruction and one or more buttons. - The text to display. - The title bar caption of the dialog. - The instruction shown below the main text. - Value that specifies which button or buttons to display. - - - Displays a task dialog that has a message, a title, an instruction, one or more buttons and an icon. - The text to display. - The title bar caption of the dialog. - The instruction shown below the main text. - Value that specifies which button or buttons to display. - The icon to display. - Is true if the task dialog is currently displayed. @@ -454,42 +414,6 @@ Occurs when the user clicks on the expand button of the dialog, before the dialog is expanded. - - Occurs when the split label is clicked. - - - Occurs when the split label is clicked, but before the associated - context menu is displayed by the control. - - - Gets or sets the associated context menu that is displayed when the split - glyph of the button is clicked. - - - Gets or sets the associated context menu that is displayed when the split - glyph of the button is clicked. Exposed for backward compatibility. - - - Provides data for the clicking of split buttons and the opening - of context menus. - - - Represents the bounding box of the clicked button. - A menu should be opened, with top-left coordinates in the left-bottom point of - the rectangle and with width equal (or greater) than the width of the rectangle. - - - Set to true if you want to prevent the menu from opening. - - - Margins structure for the Glass Sheet effect. - - - - Returns whether a point in client coordinates is outside the margins defined by this instance. - - Point in client coordinates. - A strongly-typed resource class, for looking up localized strings, etc. @@ -546,6 +470,24 @@ Looks up a localized string similar to Failed to create TaskDialog.. + + + Static class providing information about the current support for Vista-only features. + + + + + Gets whether the running operating system is Windows Vista or a more recent version. + + + + + Gets whether the running operating system is Windows Seven or a more recent version. + + + + Is true if the DWM composition engine is currently enabled. + public void UnsetThumbnail() { - System.Diagnostics.Trace.WriteLine("Unsetting thumbnail."); + Log.Write("Unsetting thumbnail"); if (_thumbnail != null && !_thumbnail.IsInvalid) { _thumbnail.Close(); @@ -327,7 +329,7 @@ namespace OnTopReplica { endPoint.Y - startPoint.Y ); - System.Diagnostics.Trace.WriteLine(string.Format("Drawn from {0} to {1}, as region {2}.", start, end, final)); + //System.Diagnostics.Trace.WriteLine(string.Format("Drawn from {0} to {1}, as region {2}.", start, end, final)); //Signal OnRegionDrawn(final); diff --git a/OnTopReplica/WindowsFormsExtensions.cs b/OnTopReplica/WindowsFormsExtensions.cs index 5da0358..aa089e4 100644 --- a/OnTopReplica/WindowsFormsExtensions.cs +++ b/OnTopReplica/WindowsFormsExtensions.cs @@ -53,8 +53,6 @@ namespace OnTopReplica { public static bool ContainsMousePointer(this Control ctrl, System.Drawing.Point screenCoordinates) { var bb = new System.Drawing.Rectangle(ctrl.Location, ctrl.Size); - //Console.Out.WriteLine("<{0},{1}> in {2}? {3}", screenCoordinates.X, screenCoordinates.Y, bb, bb.Contains(screenCoordinates)); - return bb.Contains(screenCoordinates); } From e66be3db454190178c8964459ec0b5b20df0b940 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Mon, 21 Oct 2013 09:55:01 +0200 Subject: [PATCH 163/164] Issue #43: fixed command line override for "restore last window" feature. --- OnTopReplica/StartupOptions/Factory.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/OnTopReplica/StartupOptions/Factory.cs b/OnTopReplica/StartupOptions/Factory.cs index cfb3401..f62ad6c 100644 --- a/OnTopReplica/StartupOptions/Factory.cs +++ b/OnTopReplica/StartupOptions/Factory.cs @@ -67,11 +67,17 @@ namespace OnTopReplica.StartupOptions { var cmdOptions = new NDesk.Options.OptionSet() .Add("windowId=", "Window handle ({HWND}) to be cloned.", id => { options.WindowId = new IntPtr(id); + options.WindowTitle = null; + options.WindowClass = null; }) .Add("windowTitle=", "Partial {TITLE} of the window to be cloned.", s => { + options.WindowId = null; options.WindowTitle = s; + options.WindowClass = null; }) .Add("windowClass=", "{CLASS} of the window to be cloned.", s => { + options.WindowId = null; + options.WindowTitle = null; options.WindowClass = s; }) .Add("v|visible", "If set, only clones windows that are visible.", s => { From b02aa1a12b6186552e792839a345083ea6218783 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 22 Oct 2013 01:14:01 +0200 Subject: [PATCH 164/164] Fixed client size <-> window size conversion to use official AdjustWindowRectEx Win32 API instead of handrolled difference computation. --- OnTopReplica/AspectRatioForm.cs | 43 +++++++++++-------- OnTopReplica/Native/Rectangle.cs | 11 +++++ OnTopReplica/Native/WindowMethods.cs | 57 ++++++++++++++++++-------- OnTopReplica/Platforms/WindowsSeven.cs | 23 ----------- 4 files changed, 77 insertions(+), 57 deletions(-) diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs index 06e298d..87f99f7 100644 --- a/OnTopReplica/AspectRatioForm.cs +++ b/OnTopReplica/AspectRatioForm.cs @@ -116,7 +116,8 @@ namespace OnTopReplica { MinimumSize.Width); //Determine new height while keeping aspect ratio - int newHeight = (int)((newWidth - ExtraPadding.Horizontal - clientSizeConversionWidth) / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; + var clientConversionDifference = ClientWindowDifference; + int newHeight = (int)((newWidth - ExtraPadding.Horizontal - clientConversionDifference.Width) / AspectRatio) + ExtraPadding.Vertical + clientConversionDifference.Height; //Apply and move form to recenter Size = new Size(newWidth, newHeight); @@ -161,11 +162,13 @@ namespace OnTopReplica { ///
    A vertical panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. @@ -612,6 +554,85 @@ the glass surface of the form. + + Stores a Task Dialog message that will be sent to a dialog in order to update its state. + + + Simple int, int message. + + + Simple int, bool message. + + + Simple bool, bool message. + + + Simple bool, int message. + + + Simple int, long (hi word and lo word) message. + + + Text updating message. + The string will be marshaled: the Message must be correctly disposed after use. + + + Navigation message. + The config structure will be marshaled: must be correctly disposed after use. + + + Text values that can be updated. + + + + Base form class that automatically sets its font according to the Windows UX guidelines. + + + + + Constructs a new Aero styled form. + + + + Handle to a DWM Thumbnail. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Origin region from source window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Returns true if the handle is valid, false if the handle has been closed or hasn't been initialized. + + + Sets the thumbnail opacity value, from 0 to 255 (opaque). + + + Sets whether only the client area of the thumbnailed window should be shown or + the entire window area. + + + Area in the destination window on which the thumbnail should be drawn. + + + Region of the source window that should be drawn. + + + Sets whether the thumbnail should be drawn or not. + + + Gets the thumbnail's original size. + A Label containing some text that will be drawn with glowing border on top of the Glass Sheet effect. @@ -664,95 +685,6 @@ Excludes the window from Flip 3D and shows it above the animation. - - Handle to a DWM Thumbnail. - - - Updates the thumbnail's display settings. - Drawing region on destination window. - Origin region from source window. - Opacity. 0 is transparent, 255 opaque. - Visibility flag. - If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. - - - Updates the thumbnail's display settings. - Drawing region on destination window. - Opacity. 0 is transparent, 255 opaque. - Visibility flag. - If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. - - - Returns true if the handle is valid, false if the handle has been closed or hasn't been initialized. - - - Sets the thumbnail opacity value, from 0 to 255 (opaque). - - - Sets whether only the client area of the thumbnailed window should be shown or - the entire window area. - - - Area in the destination window on which the thumbnail should be drawn. - - - Region of the source window that should be drawn. - - - Sets whether the thumbnail should be drawn or not. - - - Gets the thumbnail's original size. - - - - Applies a glow on the themed text. - - - - - Default glow size. - - - - - Glow size used commonly by Office 2007 in titles. - - - - - Precise glow effect. - - - - - Instantiates a new glow effect for themed text. - - Size of the glow effect. - - - - Gets or sets the size of the glow effect. - - - - - Static class providing information about the current support for Vista-only features. - - - - - Gets whether the running operating system is Windows Vista or a more recent version. - - - - - Gets whether the running operating system is Windows Seven or a more recent version. - - - - Is true if the DWM composition engine is currently enabled. - The labeled divider provides a Aero styled divider with an optional caption, @@ -811,58 +743,8 @@ The divider will be drawn below the text caption. - - Gets or sets the cue text that is displayed on the TextBox control. - - - Gets or sets whether the Cue text should be displyed even when the control has keybord focus. - If true, the Cue text will disappear as soon as the user starts typing. - - - Sets the origin of the thumbnail and shows the thumbnail on the control. - The Form instance that will be thumbnailed. - True if the control should automatically update itself in case the thumbnailed - form changes size or is closed. - - - Forces and update of the thumbnail. - Use this method if you know that the thumbnailed window has been resized and the thumbnail control should react to these changes. - - - - Form that automatically handles glass margins and mouse dragging. - - - - - Construct a new form without glass margins. - - - - Gets or sets the glass margins of the form. - - - Gets or sets whether mouse dragging should be handled automatically. - - - Gets or sets whether the extended glass margin is enabled or not. - - - - Gets or sets whether the window title and icon should be hidden. - - - The window caption will still be visible, but title text and icon will not be. - A form with a hidden title will look like an Explorer window on Windows Vista or Windows 7. - - - - - Gets or sets whether the window caption should be hidden altogether. - - - Should be set before handle creation. - + + Common Task Dialog buttons. OK is the default button. Main DWM class, provides Thumbnail registration, glass sheet effect and blur behind. @@ -941,38 +823,132 @@ Set to true to exlude the window from Aero Peek. Is ignored on OSs that do not support Aero Peek. - - Common Task Dialog icons. Determine the look of the main instruction. + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + Returns the active windows on the current thread. - - Class that aggregates the results of an "indirect" Task Dialog. + + Sets the origin of the thumbnail and shows the thumbnail on the control. + The Form instance that will be thumbnailed. + True if the control should automatically update itself in case the thumbnailed + form changes size or is closed. - - Results returned by Task Dialogs when closed by the user. + + Forces and update of the thumbnail. + Use this method if you know that the thumbnailed window has been resized and the thumbnail control should react to these changes. - - Direct Task Dialog call. + + Represents a custom button shown on a Task Dialog. - - Indirect Task Dialog call. Allows complex dialogs with interaction logic (via callback). + + Instantiates a new custom button with an ID and a text. + Unique ID that will be returned by the Task Dialog if the button is clicked. + Use values greater than 8 to prevent conflicts with common buttons. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. - - The Task Dialog config structure. + + Instantiates a new custom button with an ID and a text. + Common ID that will be returned by the Task Dialog if the button is clicked. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. - - Flags used in TaskDialogConfig struct. - From CommCtrl.h. + + Unique ID that will be returned by the Task Dialog if the button is clicked. - - Notifications returned by Task Dialogs to the callback. - From CommCtrl.h. + + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. - - Messages that can be sent to Task Dialogs. - From CommCtrl.h. + + + Applies a glow on the themed text. + + + + + Default glow size. + + + + + Glow size used commonly by Office 2007 in titles. + + + + + Precise glow effect. + + + + + Instantiates a new glow effect for themed text. + + Size of the glow effect. + + + + Gets or sets the size of the glow effect. + + + + Common Task Dialog icons. Determine the look of the main instruction. + + + + Form that automatically handles glass margins and mouse dragging. + + + + + Construct a new form without glass margins. + + + + Gets or sets the glass margins of the form. + This property should be used when setting the margins from code. + + + Gets or sets the glass margins of the form. + This property should be used when setting the margins through the designer. + + + Gets or sets whether mouse dragging should be handled automatically. + + + Gets or sets whether the extended glass margin is enabled or not. + + + + Gets or sets whether the window title and icon should be hidden. + + + The window caption will still be visible, but title text and icon will not be. + A form with a hidden title will look like an Explorer window on Windows Vista or Windows 7. + + + + + Gets or sets whether the window caption should be hidden altogether. + + + Should be set before handle creation. + @@ -1040,5 +1016,103 @@ the glass surface of the form. + + + Adds a handler on the Form that enables the user to move the window around + by clicking on a glass margin (or the title bar, as usual). + + The form that will be controlled. + Margins of the glass sheet. + + Eventual UI elements on the glass sheet will prevent the handler from receiving events + (except the ThemeText control, which manually redirects mouse events to the form). + + + + + Adds a handler on the Form that automatically paints the glass background black + + The form that will be controlled. + Margins of the glass sheet. + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + Occurs when the split label is clicked. + + + Occurs when the split label is clicked, but before the associated + context menu is displayed by the control. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. Exposed for backward compatibility. + + + Provides data for the clicking of split buttons and the opening + of context menus. + + + Represents the bounding box of the clicked button. + A menu should be opened, with top-left coordinates in the left-bottom point of + the rectangle and with width equal (or greater) than the width of the rectangle. + + + Set to true if you want to prevent the menu from opening. + + + Margins structure for the Glass Sheet effect. + + + + Returns whether a point in client coordinates is outside the margins defined by this instance. + + Point in client coordinates. + + + + Gets the margins value as a padding instance. + + + + + + Gets a static readonly 0-pixel margin. + This margin returns true on the IsNull property. + + + + + Gets whether this margin represents a negative measure on each side. + + + Used to specify non-existing margins on glass frames. + + + + + Gets whether this margin measures 0 pixels on each side. + + diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index c7c6a83..779cead 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -115,7 +115,6 @@ this.menuWindows.Name = "menuWindows"; this.menuWindows.OwnerItem = this.menuContextWindows; this.menuWindows.Size = new System.Drawing.Size(118, 26); - this.menuWindows.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Windows_opening); // // noneToolStripMenuItem // diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs index 7590990..d699af8 100644 --- a/OnTopReplica/MainForm_MenuEvents.cs +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -28,33 +28,6 @@ namespace OnTopReplica { clickForwardingToolStripMenuItem.Enabled = showing; } - private void Menu_Windows_opening(object sender, CancelEventArgs e) { - //_windowSeeker.Refresh(); - //var menu = (ToolStrip)sender; - //menu.PopulateMenu(_windowSeeker, CurrentThumbnailWindowHandle, new EventHandler(Menu_Windows_itemclick)); - } - - void Menu_Windows_itemclick(object sender, EventArgs e) { - //Ensure the menu is closed - menuContext.Close(); - menuFullscreenContext.Close(); - menuWindows.Close(); - - //Get clicked item and window index from tag - ToolStripItem tsi = (ToolStripItem)sender; - - //Handle special "none" window - if (tsi.Tag == null) { - UnsetThumbnail(); - return; - } - - var selectionData = (WindowListHelper.WindowSelectionData)tsi.Tag; - Rectangle? bounds = (selectionData.Region != null) - ? (Rectangle?)selectionData.Region.Bounds : null; - SetThumbnail(selectionData.Handle, bounds); - } - private void Menu_Switch_click(object sender, EventArgs e) { if (CurrentThumbnailWindowHandle == null) return; diff --git a/OnTopReplica/Native/WindowManagerMethods.cs b/OnTopReplica/Native/WindowManagerMethods.cs index 97aa4df..fdf4cb2 100644 --- a/OnTopReplica/Native/WindowManagerMethods.cs +++ b/OnTopReplica/Native/WindowManagerMethods.cs @@ -22,6 +22,10 @@ namespace OnTopReplica.Native { [return: MarshalAs(UnmanagedType.Bool)] public static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam); + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool EnumChildWindows(IntPtr hWnd, EnumWindowsProc lpEnumFunc, IntPtr lParam); + [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] public static extern bool IsWindowVisible(IntPtr hWnd); diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 7db075d..b20ea75 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -10,7 +10,7 @@ Properties OnTopReplica OnTopReplica - v2.0 + v4.0 512 Assets\icon-new.ico false @@ -29,6 +29,8 @@ 3.5 + + publish\ true Disk @@ -138,6 +140,7 @@ + Form @@ -168,11 +171,66 @@ GroupSwitchPanel.cs + + True + True + Strings.cs.resx + + + True + True + Strings.da.resx + + + True + True + Strings.de.resx + True True Strings.resx + + True + True + Strings.es.resx + + + True + True + Strings.fi.resx + + + True + True + Strings.it.resx + + + True + True + Strings.no.resx + + + True + True + Strings.pl.resx + + + True + True + Strings.pt-BR.resx + + + True + True + Strings.pt.resx + + + True + True + Strings.ru.resx + @@ -342,7 +400,6 @@ - diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs deleted file mode 100644 index 976e88c..0000000 --- a/OnTopReplica/Properties/Resources.Designer.cs +++ /dev/null @@ -1,336 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.225 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace OnTopReplica.Properties { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.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() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [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("OnTopReplica.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - internal static System.Drawing.Bitmap back { - get { - object obj = ResourceManager.GetObject("back", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap clickforwarding { - get { - object obj = ResourceManager.GetObject("clickforwarding", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap close_new { - get { - object obj = ResourceManager.GetObject("close_new", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap desktop { - get { - object obj = ResourceManager.GetObject("desktop", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap flag_czech { - get { - object obj = ResourceManager.GetObject("flag_czech", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap flag_danish { - get { - object obj = ResourceManager.GetObject("flag_danish", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap flag_germany { - get { - object obj = ResourceManager.GetObject("flag_germany", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap flag_ita { - get { - object obj = ResourceManager.GetObject("flag_ita", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap flag_poland { - get { - object obj = ResourceManager.GetObject("flag_poland", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap flag_spanish { - get { - object obj = ResourceManager.GetObject("flag_spanish", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap flag_usa { - get { - object obj = ResourceManager.GetObject("flag_usa", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap fullscreen { - get { - object obj = ResourceManager.GetObject("fullscreen", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap groupmode { - get { - object obj = ResourceManager.GetObject("groupmode", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap icon { - get { - object obj = ResourceManager.GetObject("icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Icon icon_new { - get { - object obj = ResourceManager.GetObject("icon_new", resourceCulture); - return ((System.Drawing.Icon)(obj)); - } - } - - internal static System.Drawing.Bitmap list { - get { - object obj = ResourceManager.GetObject("list", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap pos_bottomleft { - get { - object obj = ResourceManager.GetObject("pos_bottomleft", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap pos_bottomright { - get { - object obj = ResourceManager.GetObject("pos_bottomright", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap pos_center { - get { - object obj = ResourceManager.GetObject("pos_center", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap pos_null { - get { - object obj = ResourceManager.GetObject("pos_null", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap pos_topleft { - get { - object obj = ResourceManager.GetObject("pos_topleft", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap pos_topright { - get { - object obj = ResourceManager.GetObject("pos_topright", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap reduce { - get { - object obj = ResourceManager.GetObject("reduce", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap refresh { - get { - object obj = ResourceManager.GetObject("refresh", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap regions { - get { - object obj = ResourceManager.GetObject("regions", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap window_border16 { - get { - object obj = ResourceManager.GetObject("window_border16", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap window_multiple16 { - get { - object obj = ResourceManager.GetObject("window_multiple16", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap window_opacity { - get { - object obj = ResourceManager.GetObject("window_opacity", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap window_switch { - get { - object obj = ResourceManager.GetObject("window_switch", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap window16 { - get { - object obj = ResourceManager.GetObject("window16", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap xiao_add { - get { - object obj = ResourceManager.GetObject("xiao_add", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap xiao_arrow { - get { - object obj = ResourceManager.GetObject("xiao_arrow", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap xiao_component { - get { - object obj = ResourceManager.GetObject("xiao_component", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap xiao_delete { - get { - object obj = ResourceManager.GetObject("xiao_delete", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap xiao_down { - get { - object obj = ResourceManager.GetObject("xiao_down", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap xiao_help { - get { - object obj = ResourceManager.GetObject("xiao_help", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap xiao_ok { - get { - object obj = ResourceManager.GetObject("xiao_ok", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap xiao_up { - get { - object obj = ResourceManager.GetObject("xiao_up", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - internal static System.Drawing.Bitmap xiao_wrench { - get { - object obj = ResourceManager.GetObject("xiao_wrench", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - } -} diff --git a/OnTopReplica/Properties/Settings.Designer.cs b/OnTopReplica/Properties/Settings.Designer.cs deleted file mode 100644 index fd9ee57..0000000 --- a/OnTopReplica/Properties/Settings.Designer.cs +++ /dev/null @@ -1,229 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.1 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace OnTopReplica.Properties { - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.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; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - public global::OnTopReplica.StoredRegionArray SavedRegions { - get { - return ((global::OnTopReplica.StoredRegionArray)(this["SavedRegions"])); - } - set { - this["SavedRegions"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("255")] - public byte Opacity { - get { - return ((byte)(this["Opacity"])); - } - set { - this["Opacity"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("(Default)")] - public global::System.Globalization.CultureInfo Language { - get { - return ((global::System.Globalization.CultureInfo)(this["Language"])); - } - set { - this["Language"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("True")] - public bool MustUpdate { - get { - return ((bool)(this["MustUpdate"])); - } - set { - this["MustUpdate"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("True")] - public bool ClickThrough { - get { - return ((bool)(this["ClickThrough"])); - } - set { - this["ClickThrough"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("True")] - public bool FirstTimeClickThrough { - get { - return ((bool)(this["FirstTimeClickThrough"])); - } - set { - this["FirstTimeClickThrough"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("True")] - public bool FirstTimeClickForwarding { - get { - return ((bool)(this["FirstTimeClickForwarding"])); - } - set { - this["FirstTimeClickForwarding"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("False")] - public bool FullscreenAlwaysOnTop { - get { - return ((bool)(this["FullscreenAlwaysOnTop"])); - } - set { - this["FullscreenAlwaysOnTop"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("False")] - public bool RestoreSizeAndPosition { - get { - return ((bool)(this["RestoreSizeAndPosition"])); - } - set { - this["RestoreSizeAndPosition"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("0, 0")] - public global::System.Drawing.Size RestoreLastSize { - get { - return ((global::System.Drawing.Size)(this["RestoreLastSize"])); - } - set { - this["RestoreLastSize"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("0, 0")] - public global::System.Drawing.Point RestoreLastPosition { - get { - return ((global::System.Drawing.Point)(this["RestoreLastPosition"])); - } - set { - this["RestoreLastPosition"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("False")] - public bool RestoreLastWindow { - get { - return ((bool)(this["RestoreLastWindow"])); - } - set { - this["RestoreLastWindow"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("")] - public string RestoreLastWindowClass { - get { - return ((string)(this["RestoreLastWindowClass"])); - } - set { - this["RestoreLastWindowClass"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("")] - public string RestoreLastWindowTitle { - get { - return ((string)(this["RestoreLastWindowTitle"])); - } - set { - this["RestoreLastWindowTitle"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("0")] - public long RestoreLastWindowHwnd { - get { - return ((long)(this["RestoreLastWindowHwnd"])); - } - set { - this["RestoreLastWindowHwnd"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("[CTRL]+[SHIFT]+C")] - public string HotKeyCloneCurrent { - get { - return ((string)(this["HotKeyCloneCurrent"])); - } - set { - this["HotKeyCloneCurrent"] = value; - } - } - - [global::System.Configuration.UserScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("[CTRL]+[SHIFT]+O")] - public string HotKeyShowHide { - get { - return ((string)(this["HotKeyShowHide"])); - } - set { - this["HotKeyShowHide"] = value; - } - } - } -} diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs deleted file mode 100644 index fb340dd..0000000 --- a/OnTopReplica/Strings.Designer.cs +++ /dev/null @@ -1,1590 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.225 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace OnTopReplica { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Strings { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Strings() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [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("OnTopReplica.Strings", typeof(Strings).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// Looks up a localized string similar to Created by: %.. - /// - internal static string AboutAuthor { - get { - return ResourceManager.GetString("AboutAuthor", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Lorenz Cuno Klopfenstein. - /// - internal static string AboutAuthorContent { - get { - return ResourceManager.GetString("AboutAuthorContent", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Abort update process.. - /// - internal static string AboutButtonCancelTT { - get { - return ResourceManager.GetString("AboutButtonCancelTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Show details about OnTopReplica.. - /// - internal static string AboutButtonExpanderTT { - get { - return ResourceManager.GetString("AboutButtonExpanderTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Reset all OnTopReplica settings.. - /// - internal static string AboutButtonResetTT { - get { - return ResourceManager.GetString("AboutButtonResetTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Update OnTopReplica now.. - /// - internal static string AboutButtonUpdateTT { - get { - return ResourceManager.GetString("AboutButtonUpdateTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex.. - /// - internal static string AboutContribute { - get { - return ResourceManager.GetString("AboutContribute", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to source code. - /// - internal static string AboutContributeContent { - get { - return ResourceManager.GetString("AboutContributeContent", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %.. - /// - internal static string AboutCreditsSources { - get { - return ResourceManager.GetString("AboutCreditsSources", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Read the full credits. - /// - internal static string AboutCreditsSourcesContent { - get { - return ResourceManager.GetString("AboutCreditsSourcesContent", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Contribute. - /// - internal static string AboutDividerContribute { - get { - return ResourceManager.GetString("AboutDividerContribute", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Credits. - /// - internal static string AboutDividerCredits { - get { - return ResourceManager.GetString("AboutDividerCredits", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to License. - /// - internal static string AboutDividerLicense { - get { - return ResourceManager.GetString("AboutDividerLicense", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Updates. - /// - internal static string AboutDividerUpdates { - get { - return ResourceManager.GetString("AboutDividerUpdates", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI.. - /// - internal static string AboutLicense { - get { - return ResourceManager.GetString("AboutLicense", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Microsoft Reciprocal (MS-RL). - /// - internal static string AboutLicenseContent { - get { - return ResourceManager.GetString("AboutLicenseContent", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to A lightweight, real-time, always on top thumbnail of a window of your choice.. - /// - internal static string AboutSlogan { - get { - return ResourceManager.GetString("AboutSlogan", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to About OnTopReplica. - /// - internal static string AboutTitle { - get { - return ResourceManager.GetString("AboutTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Translators: {0}. - /// - internal static string AboutTranslators { - get { - return ResourceManager.GetString("AboutTranslators", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen.. - /// - internal static string AboutTranslatorsContent { - get { - return ResourceManager.GetString("AboutTranslatorsContent", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Check now!. - /// - internal static string AboutUpdatesCheckNow { - get { - return ResourceManager.GetString("AboutUpdatesCheckNow", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to OnTopReplica automatically checks for updates at every start up.. - /// - internal static string AboutUpdatesDisclaimer { - get { - return ResourceManager.GetString("AboutUpdatesDisclaimer", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Version {0}. - /// - internal static string AboutVersion { - get { - return ResourceManager.GetString("AboutVersion", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to OnTopReplica. - /// - internal static string ApplicationName { - get { - return ResourceManager.GetString("ApplicationName", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Reset window completely?. - /// - internal static string AskReset { - get { - return ResourceManager.GetString("AskReset", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to &Reset - ///All settings will be lost.. - /// - internal static string AskResetButtonOk { - get { - return ResourceManager.GetString("AskResetButtonOk", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary.. - /// - internal static string AskResetContent { - get { - return ResourceManager.GetString("AskResetContent", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Reset. - /// - internal static string AskResetTitle { - get { - return ResourceManager.GetString("AskResetTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Reset settings?. - /// - internal static string AskSettingReset { - get { - return ResourceManager.GetString("AskSettingReset", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost).. - /// - internal static string AskSettingResetContent { - get { - return ResourceManager.GetString("AskSettingResetContent", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Reset settings. - /// - internal static string AskSettingResetTitle { - get { - return ResourceManager.GetString("AskSettingResetTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to &Cancel. - /// - internal static string ButtonCancel { - get { - return ResourceManager.GetString("ButtonCancel", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Draw regions using mouse.. - /// - internal static string DrawRegions { - get { - return ResourceManager.GetString("DrawRegions", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Details. - /// - internal static string ErrorDetailButton { - get { - return ResourceManager.GetString("ErrorDetailButton", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Details on Windows Aero. - /// - internal static string ErrorDetailsAero { - get { - return ResourceManager.GetString("ErrorDetailsAero", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Windows Aero is only available on Windows Vista Home Premium or higher.. - /// - internal static string ErrorDetailsAeroInfo { - get { - return ResourceManager.GetString("ErrorDetailsAeroInfo", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Desktop Composition' is not enabled.. - /// - internal static string ErrorDwmOff { - get { - return ResourceManager.GetString("ErrorDwmOff", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. - /// - ///To do so, right-click on the desktop and click on Personalize.. - /// - internal static string ErrorDwmOffContent { - get { - return ResourceManager.GetString("ErrorDwmOffContent", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Error details. - /// - internal static string ErrorGenericInfoButton { - get { - return ResourceManager.GetString("ErrorGenericInfoButton", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Error: . - /// - internal static string ErrorGenericInfoText { - get { - return ResourceManager.GetString("ErrorGenericInfoText", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to It appears that the selected window has been closed or is not valid anymore.. - /// - internal static string ErrorGenericThumbnailHandleError { - get { - return ResourceManager.GetString("ErrorGenericThumbnailHandleError", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Error. - /// - internal static string ErrorGenericTitle { - get { - return ResourceManager.GetString("ErrorGenericTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Desktop Composition' is not supported on your Operating System. - ///You must run this application on Windows Vista Home Premium or better.. - /// - internal static string ErrorNoDwm { - get { - return ResourceManager.GetString("ErrorNoDwm", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Desktop Composition unsupported. - /// - internal static string ErrorNoDwmTitle { - get { - return ResourceManager.GetString("ErrorNoDwmTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to No thumbnail loaded.. - /// - internal static string ErrorNoThumbnail { - get { - return ResourceManager.GetString("ErrorNoThumbnail", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Unable to create thumbnail. - /// - internal static string ErrorUnableToCreateThumbnail { - get { - return ResourceManager.GetString("ErrorUnableToCreateThumbnail", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Unable to fit window.. - /// - internal static string ErrorUnableToFit { - get { - return ResourceManager.GetString("ErrorUnableToFit", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Unable to check for updates.. - /// - internal static string ErrorUpdate { - get { - return ResourceManager.GetString("ErrorUpdate", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>).. - /// - internal static string ErrorUpdateContent { - get { - return ResourceManager.GetString("ErrorUpdateContent", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down.. - /// - internal static string ErrorUpdateContentGeneric { - get { - return ResourceManager.GetString("ErrorUpdateContentGeneric", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Mode. - /// - internal static string FullscreenMode { - get { - return ResourceManager.GetString("FullscreenMode", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Always on top. - /// - internal static string FullscreenModeAlwaysOnTop { - get { - return ResourceManager.GetString("FullscreenModeAlwaysOnTop", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Forces OnTopReplica to stay always on top.. - /// - internal static string FullscreenModeAlwaysOnTopTT { - get { - return ResourceManager.GetString("FullscreenModeAlwaysOnTopTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Click through. - /// - internal static string FullscreenModeClickThrough { - get { - return ResourceManager.GetString("FullscreenModeClickThrough", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.. - /// - internal static string FullscreenModeClickThroughTT { - get { - return ResourceManager.GetString("FullscreenModeClickThroughTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Standard. - /// - internal static string FullscreenModeNormal { - get { - return ResourceManager.GetString("FullscreenModeNormal", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Behaves like an ordinary window. You can bring other windows above OnTopReplica.. - /// - internal static string FullscreenModeNormalTT { - get { - return ResourceManager.GetString("FullscreenModeNormalTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to OnTopReplica fullscreen. - /// - internal static string FullscreenTitle { - get { - return ResourceManager.GetString("FullscreenTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Disable. - /// - internal static string GroupSwitchModeDisableButton { - get { - return ResourceManager.GetString("GroupSwitchModeDisableButton", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Enable Group mode. - /// - internal static string GroupSwitchModeEnableButton { - get { - return ResourceManager.GetString("GroupSwitchModeEnableButton", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Select multiple windows to enable.. - /// - internal static string GroupSwitchModeStatusDisabled { - get { - return ResourceManager.GetString("GroupSwitchModeStatusDisabled", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Group switch mode is enabled.. - /// - internal static string GroupSwitchModeStatusEnabled { - get { - return ResourceManager.GetString("GroupSwitchModeStatusEnabled", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Group switch mode:. - /// - internal static string GroupSwitchModeTitle { - get { - return ResourceManager.GetString("GroupSwitchModeTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Windows. - /// - internal static string GroupSwitchModeWindows { - get { - return ResourceManager.GetString("GroupSwitchModeWindows", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Homepage: www.codeplex.com/ontopreplica.. - /// - internal static string Homepage { - get { - return ResourceManager.GetString("Homepage", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Do you want to enable "click forwarding"?. - /// - internal static string InfoClickForwarding { - get { - return ResourceManager.GetString("InfoClickForwarding", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). - /// - ///To exit this mode, push ESC.. - /// - internal static string InfoClickForwardingContent { - get { - return ResourceManager.GetString("InfoClickForwardingContent", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Click forwarding. - /// - internal static string InfoClickForwardingTitle { - get { - return ResourceManager.GetString("InfoClickForwardingTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Enable Click-Through mode?. - /// - internal static string InfoClickThrough { - get { - return ResourceManager.GetString("InfoClickThrough", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent.. - /// - internal static string InfoClickThroughDetails { - get { - return ResourceManager.GetString("InfoClickThroughDetails", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. - /// - ///To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon).. - /// - internal static string InfoClickThroughInformation { - get { - return ResourceManager.GetString("InfoClickThroughInformation", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to No, thank you. - ///You can enable click-through later. - /// - internal static string InfoClickThroughNo { - get { - return ResourceManager.GetString("InfoClickThroughNo", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Use Click-Through. - /// - internal static string InfoClickThroughOk { - get { - return ResourceManager.GetString("InfoClickThroughOk", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Click-Through mode. - /// - internal static string InfoClickThroughTitle { - get { - return ResourceManager.GetString("InfoClickThroughTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to OnTopReplica has been updated.. - /// - internal static string InfoUpdated { - get { - return ResourceManager.GetString("InfoUpdated", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to In order to use the updated version of OnTopReplica you'll have to restart the application.. - /// - internal static string InfoUpdatedContent { - get { - return ResourceManager.GetString("InfoUpdatedContent", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Update successful. - /// - internal static string InfoUpdatedTitle { - get { - return ResourceManager.GetString("InfoUpdatedTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to OnTopReplica is up to date.. - /// - internal static string InfoUpToDate { - get { - return ResourceManager.GetString("InfoUpToDate", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to No update available. - /// - internal static string InfoUpToDateTitle { - get { - return ResourceManager.GetString("InfoUpToDateTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Language. - /// - internal static string Language { - get { - return ResourceManager.GetString("Language", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to About.... - /// - internal static string MenuAbout { - get { - return ResourceManager.GetString("MenuAbout", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Hides the main window and displays the "about" box.. - /// - internal static string MenuAboutTT { - get { - return ResourceManager.GetString("MenuAboutTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Advanced. - /// - internal static string MenuAdvanced { - get { - return ResourceManager.GetString("MenuAdvanced", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Show window border. - /// - internal static string MenuChrome { - get { - return ResourceManager.GetString("MenuChrome", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Toggles the display of the window border.. - /// - internal static string MenuChromeTT { - get { - return ResourceManager.GetString("MenuChromeTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Enable Click forwarding. - /// - internal static string MenuClickForwarding { - get { - return ResourceManager.GetString("MenuClickForwarding", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Enable "click forwarding" to the cloned window.. - /// - internal static string MenuClickForwardingTT { - get { - return ResourceManager.GetString("MenuClickForwardingTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Enable Click-Through. - /// - internal static string MenuClickThrough { - get { - return ResourceManager.GetString("MenuClickThrough", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.. - /// - internal static string MenuClickThroughTT { - get { - return ResourceManager.GetString("MenuClickThroughTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Close. - /// - internal static string MenuClose { - get { - return ResourceManager.GetString("MenuClose", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Closes OnTopReplica.. - /// - internal static string MenuCloseTT { - get { - return ResourceManager.GetString("MenuCloseTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to 2:1 Double. - /// - internal static string MenuFitDouble { - get { - return ResourceManager.GetString("MenuFitDouble", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Fullscreen. - /// - internal static string MenuFitFullscreen { - get { - return ResourceManager.GetString("MenuFitFullscreen", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to 1:2 Half. - /// - internal static string MenuFitHalf { - get { - return ResourceManager.GetString("MenuFitHalf", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to 1:1 Fit to window. - /// - internal static string MenuFitOriginal { - get { - return ResourceManager.GetString("MenuFitOriginal", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to 1:4 Quarter. - /// - internal static string MenuFitQuarter { - get { - return ResourceManager.GetString("MenuFitQuarter", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Group Switch mode. - /// - internal static string MenuGroupSwitch { - get { - return ResourceManager.GetString("MenuGroupSwitch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground.. - /// - internal static string MenuGroupSwitchTT { - get { - return ResourceManager.GetString("MenuGroupSwitchTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to 100% (opaque). - /// - internal static string MenuOp100 { - get { - return ResourceManager.GetString("MenuOp100", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Sets OnTopReplica to be completely opaque.. - /// - internal static string MenuOp100TT { - get { - return ResourceManager.GetString("MenuOp100TT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to 25%. - /// - internal static string MenuOp25 { - get { - return ResourceManager.GetString("MenuOp25", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Sets OnTopReplica to 25% opacity.. - /// - internal static string MenuOp25TT { - get { - return ResourceManager.GetString("MenuOp25TT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to 50%. - /// - internal static string MenuOp50 { - get { - return ResourceManager.GetString("MenuOp50", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Sets OnTopReplica to 50% opacity.. - /// - internal static string MenuOp50TT { - get { - return ResourceManager.GetString("MenuOp50TT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to 75%. - /// - internal static string MenuOp75 { - get { - return ResourceManager.GetString("MenuOp75", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Sets OnTopReplica to 75% opacity.. - /// - internal static string MenuOp75TT { - get { - return ResourceManager.GetString("MenuOp75TT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Opacity. - /// - internal static string MenuOpacity { - get { - return ResourceManager.GetString("MenuOpacity", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Open. - /// - internal static string MenuOpen { - get { - return ResourceManager.GetString("MenuOpen", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Displays OnTopReplica.. - /// - internal static string MenuOpenTT { - get { - return ResourceManager.GetString("MenuOpenTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Bottom Left. - /// - internal static string MenuPosBottomLeft { - get { - return ResourceManager.GetString("MenuPosBottomLeft", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Bottom Right. - /// - internal static string MenuPosBottomRight { - get { - return ResourceManager.GetString("MenuPosBottomRight", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Center. - /// - internal static string MenuPosCenter { - get { - return ResourceManager.GetString("MenuPosCenter", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Disabled. - /// - internal static string MenuPosDisabled { - get { - return ResourceManager.GetString("MenuPosDisabled", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Position lock. - /// - internal static string MenuPosition { - get { - return ResourceManager.GetString("MenuPosition", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Automatically position OnTopReplica on the current screen.. - /// - internal static string MenuPositionTT { - get { - return ResourceManager.GetString("MenuPositionTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Top Left. - /// - internal static string MenuPosTopLeft { - get { - return ResourceManager.GetString("MenuPosTopLeft", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Top Right. - /// - internal static string MenuPosTopRight { - get { - return ResourceManager.GetString("MenuPosTopRight", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Quit fullscreen mode. - /// - internal static string MenuQuitFullscreen { - get { - return ResourceManager.GetString("MenuQuitFullscreen", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Recall last position and size. - /// - internal static string MenuRecall { - get { - return ResourceManager.GetString("MenuRecall", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Toggles whether OnTopReplica should store its last position and size and use them when it is restarted.. - /// - internal static string MenuRecallTT { - get { - return ResourceManager.GetString("MenuRecallTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Minimize. - /// - internal static string MenuReduce { - get { - return ResourceManager.GetString("MenuReduce", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Minimizes OnTopReplica to the task bar (or the tray).. - /// - internal static string MenuReduceTT { - get { - return ResourceManager.GetString("MenuReduceTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Select region.... - /// - internal static string MenuRegion { - get { - return ResourceManager.GetString("MenuRegion", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail.. - /// - internal static string MenuRegionTT { - get { - return ResourceManager.GetString("MenuRegionTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Reset window. - /// - internal static string MenuReset { - get { - return ResourceManager.GetString("MenuReset", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Resets OnTopReplica settings and its main window.. - /// - internal static string MenuResetTT { - get { - return ResourceManager.GetString("MenuResetTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Resize. - /// - internal static string MenuResize { - get { - return ResourceManager.GetString("MenuResize", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Restore last cloned window. - /// - internal static string MenuRestoreLast { - get { - return ResourceManager.GetString("MenuRestoreLast", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to When enabled, OnTopReplica will attempt to restore the last cloned window on start up.. - /// - internal static string MenuRestoreLastTT { - get { - return ResourceManager.GetString("MenuRestoreLastTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Settings.... - /// - internal static string MenuSettings { - get { - return ResourceManager.GetString("MenuSettings", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Displays the settings panel.. - /// - internal static string MenuSettingsTT { - get { - return ResourceManager.GetString("MenuSettingsTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Switch to window. - /// - internal static string MenuSwitch { - get { - return ResourceManager.GetString("MenuSwitch", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Switches to the source window and hides OnTopReplica.. - /// - internal static string MenuSwitchTT { - get { - return ResourceManager.GetString("MenuSwitchTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Select window. - /// - internal static string MenuWindows { - get { - return ResourceManager.GetString("MenuWindows", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to - none -. - /// - internal static string MenuWindowsNone { - get { - return ResourceManager.GetString("MenuWindowsNone", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Displays a list of window you can select as thumbnail source.. - /// - internal static string MenuWindowsTT { - get { - return ResourceManager.GetString("MenuWindowsTT", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to - whole -. - /// - internal static string MenuWindowsWholeRegion { - get { - return ResourceManager.GetString("MenuWindowsWholeRegion", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Current region:. - /// - internal static string RegionsCurrentRegion { - get { - return ResourceManager.GetString("RegionsCurrentRegion", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Delete. - /// - internal static string RegionsDeleteButton { - get { - return ResourceManager.GetString("RegionsDeleteButton", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Done. - /// - internal static string RegionsDoneButton { - get { - return ResourceManager.GetString("RegionsDoneButton", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Height. - /// - internal static string RegionsHeight { - get { - return ResourceManager.GetString("RegionsHeight", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Reset. - /// - internal static string RegionsResetButton { - get { - return ResourceManager.GetString("RegionsResetButton", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Save. - /// - internal static string RegionsSaveButton { - get { - return ResourceManager.GetString("RegionsSaveButton", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Stored regions. - /// - internal static string RegionsStoredRegions { - get { - return ResourceManager.GetString("RegionsStoredRegions", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Regions:. - /// - internal static string RegionsTitle { - get { - return ResourceManager.GetString("RegionsTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Width. - /// - internal static string RegionsWidth { - get { - return ResourceManager.GetString("RegionsWidth", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Right-click here to start.... - /// - internal static string RightClick { - get { - return ResourceManager.GetString("RightClick", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Clone current window. - /// - internal static string SettingsHotKeyClone { - get { - return ResourceManager.GetString("SettingsHotKeyClone", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to These system-wide shortcuts can also be used when OnTopReplica is not in focus.. - /// - internal static string SettingsHotKeyDescription { - get { - return ResourceManager.GetString("SettingsHotKeyDescription", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Show/Hide. - /// - internal static string SettingsHotKeyShowHide { - get { - return ResourceManager.GetString("SettingsHotKeyShowHide", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Hot keys:. - /// - internal static string SettingsHotKeyTitle { - get { - return ResourceManager.GetString("SettingsHotKeyTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Language:. - /// - internal static string SettingsLanguageTitle { - get { - return ResourceManager.GetString("SettingsLanguageTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Requires a restart.. - /// - internal static string SettingsRestartRequired { - get { - return ResourceManager.GetString("SettingsRestartRequired", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Settings. - /// - internal static string SettingsTitle { - get { - return ResourceManager.GetString("SettingsTitle", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Cancel update - ///OnTopReplica will prompt you the next time it is started.. - /// - internal static string UpdateAvailableCommandCancel { - get { - return ResourceManager.GetString("UpdateAvailableCommandCancel", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Download - ///Install OnTopReplica {0}.. - /// - internal static string UpdateAvailableCommandOk { - get { - return ResourceManager.GetString("UpdateAvailableCommandOk", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to The new version can be downloaded and installed from the official website.. - /// - internal static string UpdateAvailableContent { - get { - return ResourceManager.GetString("UpdateAvailableContent", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Installed version: {0} - ///Available version: {1}. - /// - internal static string UpdateAvailableExpanded { - get { - return ResourceManager.GetString("UpdateAvailableExpanded", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Version {0} available. - /// - internal static string UpdateAvailableInstruction { - get { - return ResourceManager.GetString("UpdateAvailableInstruction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to {0}/{1} bytes downloaded.. - /// - internal static string UpdateDownloadingContent { - get { - return ResourceManager.GetString("UpdateDownloadingContent", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Downloading.... - /// - internal static string UpdateDownloadingInstruction { - get { - return ResourceManager.GetString("UpdateDownloadingInstruction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. - /// - ///You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>.. - /// - internal static string UpdateInfoContent { - get { - return ResourceManager.GetString("UpdateInfoContent", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Latest stable version: {0}.. - /// - internal static string UpdateInfoFooter { - get { - return ResourceManager.GetString("UpdateInfoFooter", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to OnTopReplica is up to date. - /// - internal static string UpdateInfoInstruction { - get { - return ResourceManager.GetString("UpdateInfoInstruction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Install - ///OnTopReplica will be closed and the update installed.. - /// - internal static string UpdateReadyCommandOk { - get { - return ResourceManager.GetString("UpdateReadyCommandOk", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to OnTopReplica version {0} is ready to be installed on your computer.. - /// - internal static string UpdateReadyContent { - get { - return ResourceManager.GetString("UpdateReadyContent", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Update ready. - /// - internal static string UpdateReadyInstruction { - get { - return ResourceManager.GetString("UpdateReadyInstruction", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to OnTopReplica updates. - /// - internal static string UpdateTitle { - get { - return ResourceManager.GetString("UpdateTitle", resourceCulture); - } - } - } -} diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config index aeb73b3..d5be21d 100644 --- a/OnTopReplica/app.config +++ b/OnTopReplica/app.config @@ -41,10 +41,10 @@ False - + - + 0 @@ -57,4 +57,4 @@ - + From c2fafd67e21b1e6de332d22f9d6c53cfcaa640d5 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 30 May 2012 01:43:05 +0200 Subject: [PATCH 118/164] Clean up after move to .NET 4.0. --- OnTopReplica/Actions.cs | 15 ---------- OnTopReplica/EnumerableExtensions.cs | 39 -------------------------- OnTopReplica/ExtensionAttribute.cs | 11 -------- OnTopReplica/FocusedTextBox.cs | 1 + OnTopReplica/HotKeyTextBox.cs | 1 + OnTopReplica/MainForm.Designer.cs | 6 ++-- OnTopReplica/MainForm.resx | 16 +++++------ OnTopReplica/OnTopReplica.csproj | 4 --- OnTopReplica/StartupOptions/Factory.cs | 1 + OnTopReplica/StartupOptions/Options.cs | 1 + OnTopReplica/Tuples.cs | 20 ------------- 11 files changed, 15 insertions(+), 100 deletions(-) delete mode 100644 OnTopReplica/Actions.cs delete mode 100644 OnTopReplica/EnumerableExtensions.cs delete mode 100644 OnTopReplica/ExtensionAttribute.cs delete mode 100644 OnTopReplica/Tuples.cs diff --git a/OnTopReplica/Actions.cs b/OnTopReplica/Actions.cs deleted file mode 100644 index 8406001..0000000 --- a/OnTopReplica/Actions.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OnTopReplica { - - public delegate void Action(); - - public delegate void Action(T1 arg1); - - public delegate void Action(T1 arg1, T2 arg2); - - public delegate void Action(T1 arg1, T2 arg2, T3 arg3); - -} diff --git a/OnTopReplica/EnumerableExtensions.cs b/OnTopReplica/EnumerableExtensions.cs deleted file mode 100644 index 71945c6..0000000 --- a/OnTopReplica/EnumerableExtensions.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OnTopReplica { - /// - /// Extension methods for IEnumerable. - /// Poor man's LINQ. - /// - static class EnumerableExtensions { - - /// - /// Gets the first element of an enumeration of a default value. - /// - public static T FirstOrDefault(this IEnumerable collection) { - if (collection == null) - throw new ArgumentNullException(); - - using (var enumerator = collection.GetEnumerator()) { - if (!enumerator.MoveNext()) - return default(T); - else - return enumerator.Current; - } - } - - /// - /// Checks whether an enumeration contains a value. - /// - public static bool Contains(this IEnumerable collection, T value) { - foreach (var v in collection) - if (v.Equals(value)) - return true; - - return false; - } - - } -} diff --git a/OnTopReplica/ExtensionAttribute.cs b/OnTopReplica/ExtensionAttribute.cs deleted file mode 100644 index 09eb1e5..0000000 --- a/OnTopReplica/ExtensionAttribute.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace System.Runtime.CompilerServices { - /// - /// Fake extension attribute that adds extension method support to C# 2 (without System.Core.dll reference). - /// - class ExtensionAttribute : Attribute { - } -} diff --git a/OnTopReplica/FocusedTextBox.cs b/OnTopReplica/FocusedTextBox.cs index 9acdca2..b2a2cc6 100644 --- a/OnTopReplica/FocusedTextBox.cs +++ b/OnTopReplica/FocusedTextBox.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Text; using WindowsFormsAero; using System.Windows.Forms; diff --git a/OnTopReplica/HotKeyTextBox.cs b/OnTopReplica/HotKeyTextBox.cs index 78fd90a..9abcead 100644 --- a/OnTopReplica/HotKeyTextBox.cs +++ b/OnTopReplica/HotKeyTextBox.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Text; using System.Windows.Forms; diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index 779cead..1c0ec00 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -485,17 +485,17 @@ // // MainForm // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.SystemColors.Control; - this.ClientSize = new System.Drawing.Size(269, 192); + this.ClientSize = new System.Drawing.Size(318, 226); this.ControlBox = false; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; this.HideCaption = true; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.MaximizeBox = false; this.MinimizeBox = false; - this.MinimumSize = new System.Drawing.Size(40, 40); + this.MinimumSize = new System.Drawing.Size(44, 44); this.Name = "MainForm"; this.Text = "OnTopReplica"; this.TopMost = true; diff --git a/OnTopReplica/MainForm.resx b/OnTopReplica/MainForm.resx index c9dc6f3..5ef7664 100644 --- a/OnTopReplica/MainForm.resx +++ b/OnTopReplica/MainForm.resx @@ -112,27 +112,27 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 17, 17 - + 142, 17 - + 275, 17 - + 578, 17 - + 399, 17 - + AAABAAIAMDAAAAEAIACoJQAAJgAAABAQAAABACAAaAQAAM4lAAAoAAAAMAAAAGAAAAABACAAAAAAAAAA diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index b20ea75..6fcda6a 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -101,14 +101,11 @@ - Form - - Component @@ -231,7 +228,6 @@ True Strings.ru.resx - diff --git a/OnTopReplica/StartupOptions/Factory.cs b/OnTopReplica/StartupOptions/Factory.cs index 8676f19..8602911 100644 --- a/OnTopReplica/StartupOptions/Factory.cs +++ b/OnTopReplica/StartupOptions/Factory.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Text; using System.Drawing; using System.ComponentModel; diff --git a/OnTopReplica/StartupOptions/Options.cs b/OnTopReplica/StartupOptions/Options.cs index f596c83..1980a42 100644 --- a/OnTopReplica/StartupOptions/Options.cs +++ b/OnTopReplica/StartupOptions/Options.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Text; using System.Drawing; using System.IO; diff --git a/OnTopReplica/Tuples.cs b/OnTopReplica/Tuples.cs deleted file mode 100644 index d504364..0000000 --- a/OnTopReplica/Tuples.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace OnTopReplica { - - public class Tuple { - - public Tuple(T1 item1, T2 item2) { - Item1 = item1; - Item2 = item2; - } - - public T1 Item1 { get; set; } - - public T2 Item2 { get; set; } - - } - -} From 849c3c758f2660bbed2adcb289dff6d7eed1cb04 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 30 May 2012 01:43:29 +0200 Subject: [PATCH 119/164] Added automatic plugin locator on cloned windows. --- OnTopReplica/Native/Rectangle.cs | 4 ++ OnTopReplica/Native/WindowMethods.cs | 3 + OnTopReplica/PluginRegionLocator.cs | 97 +++++++++++++++++++++++++++ OnTopReplica/WindowListMenuManager.cs | 19 +++++- 4 files changed, 121 insertions(+), 2 deletions(-) create mode 100644 OnTopReplica/PluginRegionLocator.cs diff --git a/OnTopReplica/Native/Rectangle.cs b/OnTopReplica/Native/Rectangle.cs index 4934198..cb138c8 100644 --- a/OnTopReplica/Native/Rectangle.cs +++ b/OnTopReplica/Native/Rectangle.cs @@ -47,5 +47,9 @@ namespace OnTopReplica.Native { } } + public override string ToString() { + return string.Format("{{{0},{1},{2},{3}}}", Left, Top, Right, Bottom); + } + } } diff --git a/OnTopReplica/Native/WindowMethods.cs b/OnTopReplica/Native/WindowMethods.cs index 3c35c02..06caede 100644 --- a/OnTopReplica/Native/WindowMethods.cs +++ b/OnTopReplica/Native/WindowMethods.cs @@ -12,6 +12,9 @@ namespace OnTopReplica.Native { [DllImport("user32.dll", SetLastError = true)] public static extern bool GetClientRect(IntPtr handle, out NRectangle rect); + [DllImport("user32.dll", SetLastError = true)] + public static extern bool GetWindowRect(IntPtr handle, out NRectangle rect); + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount); diff --git a/OnTopReplica/PluginRegionLocator.cs b/OnTopReplica/PluginRegionLocator.cs new file mode 100644 index 0000000..ad0b419 --- /dev/null +++ b/OnTopReplica/PluginRegionLocator.cs @@ -0,0 +1,97 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using OnTopReplica.Native; + +namespace OnTopReplica { + /// + /// Facility class that attempts to locate the region occupied by plugins inside another window. + /// + class PluginRegionLocator { + + static PluginRegionLocator() { + _pluginClassNames = new HashSet() { + "aPluginWinClass", //Opera 11 Flash plugin + "MacromediaFlashPlayerActiveX", //IE 9 Flash plugin + "NativeWindowClass", //Google Chrome Flash plugin + "GeckoPluginWindow", //Firefox 9 Flash plugin + }; + } + + static readonly HashSet _pluginClassNames; + + /// + /// Attempts to locate a plugin region inside a window. + /// + /// The handle to the parent window. + /// The region where a plugin window is located or null if none found. + public Rectangle? LocatePluginRegion(WindowHandle handle) { + if (handle == null) + throw new ArgumentNullException(); + + WindowManagerMethods.EnumChildWindows(handle.Handle, LocatingWndProc, IntPtr.Zero); + + if (_selectedHandle != null) { + Console.Out.WriteLine("Selected {0} '{1}' (class {2})", _selectedHandle.Handle, _selectedHandle.Title, _selectedHandle.Class); + + NRectangle rect; + WindowMethods.GetWindowRect(_selectedHandle.Handle, out rect); + + NRectangle clientRect; + WindowMethods.GetClientRect(_selectedHandle.Handle, out clientRect); + + Console.Out.WriteLine("WindowRect: {0}", rect); + + NRectangle ownerRect; + WindowMethods.GetWindowRect(handle.Handle, out ownerRect); + + Console.Out.WriteLine("Owner WindowRect: {0}", ownerRect); + + var ret = new Rectangle { + X = rect.Left - ownerRect.Left, + Y = rect.Top - ownerRect.Top, + Width = clientRect.Width, + Height = clientRect.Height + }; + + //Safety check (this may happen when the plugin client area is 0 pixel large) + if (ret.Width < 0 || ret.Height < 0) + return null; + + Console.Out.WriteLine("Selected region: {0}", ret); + + return ret; + } + else { + Console.Out.WriteLine("None found."); + return null; + } + } + + WindowHandle _selectedHandle = null; + + private bool LocatingWndProc(IntPtr handle, IntPtr lParam) { + //Skip non visible windows + if (!WindowManagerMethods.IsWindowVisible(handle)) { + return true; + } + + //Class name check + string cl = WindowMethods.GetWindowClass(handle); + +#if DEBUG + Console.Out.WriteLine("Child window, class {0}", cl); +#endif + + if (_pluginClassNames.Contains(cl)) { + //Found plugin window, stop now + _selectedHandle = new WindowHandle(handle); + return false; + } + + return true; + } + + } +} diff --git a/OnTopReplica/WindowListMenuManager.cs b/OnTopReplica/WindowListMenuManager.cs index c621eee..8e80914 100644 --- a/OnTopReplica/WindowListMenuManager.cs +++ b/OnTopReplica/WindowListMenuManager.cs @@ -85,12 +85,16 @@ namespace OnTopReplica { //No region var nullRegionItem = new ToolStripMenuItem(Strings.MenuWindowsWholeRegion); - nullRegionItem.Tag = new Tuple(parentHandle, null); + nullRegionItem.Tag = parentHandle; nullRegionItem.Image = Resources.regions; - nullRegionItem.Click += MenuRegionWindowClickHandler; + nullRegionItem.Click += MenuWindowClickHandler; parent.DropDownItems.Add(nullRegionItem); //Video detector + var detectorItem = new ToolStripMenuItem("Autodetect plugin"); + detectorItem.Tag = parentHandle; + detectorItem.Click += MenuVideoCropperClickHandler; + parent.DropDownItems.Add(detectorItem); //Regions (if any) if (regions == null || regions.Length == 0) @@ -129,8 +133,19 @@ namespace OnTopReplica { (tuple.Item2 != null) ? (System.Drawing.Rectangle?)tuple.Item2.Bounds : null); } + PluginRegionLocator _pluginRegionLocator = null; + private void MenuVideoCropperClickHandler(object sender, EventArgs args){ CommonClickHandler(); + + var tsi = (ToolStripMenuItem)sender; + var handle = (WindowHandle)tsi.Tag; + + if (_pluginRegionLocator == null) + _pluginRegionLocator = new PluginRegionLocator(); + + var detectedRegion = _pluginRegionLocator.LocatePluginRegion(handle); + _owner.SetThumbnail(handle, detectedRegion); } private void CommonClickHandler() { From 8e1d88daa263557a8e3af93a557e15fa91afe7c1 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sat, 16 Jun 2012 12:47:10 +0000 Subject: [PATCH 120/164] Committed translation (ru). --- OnTopReplica/Strings.ru.resx | 668 ++++++++++++++++++++++++++++++++++- 1 file changed, 654 insertions(+), 14 deletions(-) diff --git a/OnTopReplica/Strings.ru.resx b/OnTopReplica/Strings.ru.resx index f50a611..018dc88 100644 --- a/OnTopReplica/Strings.ru.resx +++ b/OnTopReplica/Strings.ru.resx @@ -1,15 +1,655 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + Check now! + + + OnTopReplica automatically checks for updates at every start up. + + + Version {0} + + + + Probably doesn't need localization. :) + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + &Cancel + & marks the ALT+[] shortcut + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + \ No newline at end of file From fbf851386553726d9d3bd15c2c2ff1912b617e7e Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sat, 16 Jun 2012 12:47:23 +0000 Subject: [PATCH 121/164] Committed translation (pl). --- OnTopReplica/Strings.pl.resx | 1153 +++++++++++++++++++--------------- 1 file changed, 635 insertions(+), 518 deletions(-) diff --git a/OnTopReplica/Strings.pl.resx b/OnTopReplica/Strings.pl.resx index d5780c7..bf277d9 100644 --- a/OnTopReplica/Strings.pl.resx +++ b/OnTopReplica/Strings.pl.resx @@ -1,538 +1,655 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Autor: %. - Link % is replaced by string AboutAuthorContent. - - - Przerwij proces aktualizacji. - - - Pokaż szczegóły dotyczące OnTopReplica. - - - Resetuj wszystkie ustawienia OnTopReplica. - - - Aktualizuj teraz OnTopReplica - - - Chcesz wesprzeć projekt? Możesz ulepszyć istniejące tłumaczenia, utworzyć nowe dla Twojego rodzimego języka lub sprawdzić % na CodePlex. - - - kod źródłowy - - - OnTopReplica jest oparty na bibliotece WindowsFormsAero oraz innych bibliotekach i kodzie źródłowym. %. - Link % is replaced by string AboutCreditsSourcesContent. - - - Przeczytaj więcej - - - Wsparcie - - - Zasługi - - - Licencja - - - Aktualizacje - - - Aplikacja jest licencjonowana na warunkach licencji %, która spełnia warunki definicji "open-source" definiowane przez OSI. - - - Miniatura "zawsze na wierzchu" pokazująca "na żywo" podgląd wybranego okna. - - - O programie OnTopReplica - - - Tłumaczenie: {0} - {0} translators (do not end with period) - - - Sprawdź teraz! - - - OnTopReplica automatycznie sprawdza dostępność aktualizacji po każdym uruchomieniu. - - - Wersja {0} - - - OnTopReplica - Probably doesn't need localization. :) - - - Całkowicie zresetować okno? - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Autor: %. + Link % is replaced by string AboutAuthorContent. + + + Przerwij proces aktualizacji. + + + Pokaż szczegóły dotyczące OnTopReplica. + + + Resetuj wszystkie ustawienia OnTopReplica. + + + Aktualizuj teraz OnTopReplica + + + Chcesz wesprzeć projekt? Możesz ulepszyć istniejące tłumaczenia, utworzyć nowe dla Twojego rodzimego języka lub sprawdzić % na CodePlex. + + + kod źródłowy + + + OnTopReplica jest oparty na bibliotece WindowsFormsAero oraz innych bibliotekach i kodzie źródłowym. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Przeczytaj więcej + + + Wsparcie + + + Zasługi + + + Licencja + + + Aktualizacje + + + Aplikacja jest licencjonowana na warunkach licencji %, która spełnia warunki definicji "open-source" definiowane przez OSI. + + + Miniatura "zawsze na wierzchu" pokazująca "na żywo" podgląd wybranego okna. + + + O programie OnTopReplica + + + Tłumaczenie: {0} + {0} translators (do not end with period) + + + Sprawdź teraz! + + + OnTopReplica automatycznie sprawdza dostępność aktualizacji po każdym uruchomieniu. + + + Wersja {0} + + + + Probably doesn't need localization. :) + + + Całkowicie zresetować okno? + + &Zresetuj -Wszystkie ustawienia zostaną utracone. - - - Może być użyte do zresetowania ustawień, jeśli została utracona kontrola nad oknem, lub zostało ono przesunięte poza granice ekranu. - - - Zresetuj - - - Zresetować ustawienia? - - - Ta opcja usunie wszystkie ustawienia spersonalizowane OnTopReplica i przywróci program do stanu jak po instalacji (wszystkie zapisane ustawienia, jak regiony, zostaną utracone). - - - Zresetuj ustawienia - - - &Anuluj - & marks the ALT+[] shortcut - - - Utwórz region używając myszy. - - - Szczegóły - - - Szczegóły dot. Windows Aero - - - Windows Aero jest dostępne w wersji Windows Vista Home Premium i nowszych. - - - Kompozycje pulpitu są wyłączone. - - +Wszystkie ustawienia zostaną utracone. + + + Może być użyte do zresetowania ustawień, jeśli została utracona kontrola nad oknem, lub zostało ono przesunięte poza granice ekranu. + + + Zresetuj + + + Zresetować ustawienia? + + + Ta opcja usunie wszystkie ustawienia spersonalizowane OnTopReplica i przywróci program do stanu jak po instalacji (wszystkie zapisane ustawienia, jak regiony, zostaną utracone). + + + Zresetuj ustawienia + + + &Anuluj + & marks the ALT+[] shortcut + + + Utwórz region używając myszy. + + + Szczegóły + + + Szczegóły dot. Windows Aero + + + Windows Aero jest dostępne w wersji Windows Vista Home Premium i nowszych. + + + Kompozycje pulpitu są wyłączone. + + Musisz włączyć kompozycje pulpitu wybierając 'Windows Aero' jako schemat używany przez Windows. -Aby to uczynić kliknij prawym przyciskiem na pulpicie i wybierz 'Personalizuj'. - - - Szczegóły błędu - - - Błąd: - - - Wygląda na to, że wybrane okno zostało zamknięte lub nie jest już dostępne. - - - Błąd - - +Aby to uczynić kliknij prawym przyciskiem na pulpicie i wybierz 'Personalizuj'. + + + Szczegóły błędu + + + Błąd: + + + Wygląda na to, że wybrane okno zostało zamknięte lub nie jest już dostępne. + + + Błąd + + Kompozycje pulpitu nie są wspierane przez Twój system operacyjny. -Aplikacja działa na Windows Vista Home Premium i nowszych. - - - Niewspierana kompozycja pulpitu - - - Nie załadowano miniatury. - - - Nie można utworzyć miniatury. - - - Nie można dopasować okna. - - - Nie można sprawdzić aktualizacji. - - - Wygląda na to, że OnTopReplica nie została zainstalowana przy użyciu 'ClickOnce'. Musisz ręcznie zaktualizować program (odwiedź <a href="http://ontopreplica.codeplex.com">stronę domową OnTopReplica's</a>). - - - Program OnTopReplica nie był w stanie sprawdzić, czy jest dostępna nowa wersja. Upewnij się, że Twoje połączenie z Internetem pracuje poprawnie. Jeśli tak, być może strona programu jest chwilowo niedostępna. - - - Tryb - - - Zawsze na wierzchu - - - Wymusza położenie okna OnTopReplica zawsze na wierzchu. - - - Kliknij-przez - - - OnTopReplica będzie się zachowywać jak półprzeźroczysta warstwa, co pozwoli Ci klikać na oknie położonym pod spodem. - - - Standardowe - - - Zachowanie jak normalne okno. Możesz przeciągnąć inne okna ponad OnTopReplica. - - - Pełny ekran OnTopReplica - - - Wyłącz - - - Włącz tryb grupowy - - - Wybierz kilka okien aby uaktywnić. - - - Tryb grupowy jest aktywny. - - - Tryb grupowy: - - - Okna - Column Header of list, simply refers to available windows to be cloned - - - Strona domowa: www.codeplex.com/ontopreplica. - - - Czy uaktywnić "przekazywanie kliknięć"? - - +Aplikacja działa na Windows Vista Home Premium i nowszych. + + + Niewspierana kompozycja pulpitu + + + Nie załadowano miniatury. + + + Nie można utworzyć miniatury. + + + Nie można dopasować okna. + + + Nie można sprawdzić aktualizacji. + + + Wygląda na to, że OnTopReplica nie została zainstalowana przy użyciu 'ClickOnce'. Musisz ręcznie zaktualizować program (odwiedź <a href="http://ontopreplica.codeplex.com">stronę domową OnTopReplica's</a>). + + + Program OnTopReplica nie był w stanie sprawdzić, czy jest dostępna nowa wersja. Upewnij się, że Twoje połączenie z Internetem pracuje poprawnie. Jeśli tak, być może strona programu jest chwilowo niedostępna. + + + Tryb + + + Zawsze na wierzchu + + + Wymusza położenie okna OnTopReplica zawsze na wierzchu. + + + Kliknij-przez + + + OnTopReplica będzie się zachowywać jak półprzeźroczysta warstwa, co pozwoli Ci klikać na oknie położonym pod spodem. + + + Standardowe + + + Zachowanie jak normalne okno. Możesz przeciągnąć inne okna ponad OnTopReplica. + + + Pełny ekran OnTopReplica + + + Wyłącz + + + Włącz tryb grupowy + + + Wybierz kilka okien aby uaktywnić. + + + Tryb grupowy jest aktywny. + + + Tryb grupowy: + + + Okna + Column Header of list, simply refers to available windows to be cloned + + + Strona domowa: www.codeplex.com/ontopreplica. + + + Czy uaktywnić "przekazywanie kliknięć"? + + Kiedy ten tryb jest aktywny, OnTopReplica będzie przekazywać kliknięcia przycisków myszy do okna, które jest klonowane (dzięki temu możesz wykonywać na tym oknie podstawowe operacje bez konieczności uaktywniania go). -Naciśnij ESC aby zakończyć ten tryb. - - - Przekazywanie kliknięć - - - Włączyć tryb kliknij-przez? - - - Kliknij-przez działa tylko wtedy, gdy zostało włączone w podmenu 'Zmień rozmiar' i kiedy okno jest półprzeźroczyste. - - +Naciśnij ESC aby zakończyć ten tryb. + + + Przekazywanie kliknięć + + + Włączyć tryb kliknij-przez? + + + Kliknij-przez działa tylko wtedy, gdy zostało włączone w podmenu 'Zmień rozmiar' i kiedy okno jest półprzeźroczyste. + + W tym trybie okno na pełnym ekranie będzie się zachowywać jak półprzeźroczysta warstwa i będziesz w stanie kliknąć na oknie znajdującym się pod nim. -Aby w dowolnym momencie powrócić do normalnego trybu aktywuj OnTopReplica klikając na pasku zadań (lub na ikonce w tacce systemowej). - - +Aby w dowolnym momencie powrócić do normalnego trybu aktywuj OnTopReplica klikając na pasku zadań (lub na ikonce w tacce systemowej). + + Nie, dziękuję. -Możesz włączyć kliknij-przez później - - - Użyj kliknij-przez - - - Tryb kliknij-przez - - - Program OnTopReplica został zaktualizowany. - - - Aby używać zaktualizowanej wersji OnTopReplica musisz zrestartować aplikację. - - - Aktualizacja zakończona powodzeniem - - - Program OnTopReplica jest aktualny. - - - Brak dostępnych aktualizacji - - - Język - - - O... - - - Wyświetla informacje o programie. - - - Zaawansowane - - - Pokazuj ramkę okna - - - Przełącznik wyświetlania ramki okna. - - - Włącz przekazywanie kliknięć - - - Uaktywnia przekazywanie kliknięć do klonowanego okna. - - - Włącz kliknij-przez - - - OnTopReplica będzie się zachowywać jak półprzeźroczysta warstwa i będziesz w stanie kliknąć na oknie znajdującym się pod nim. - - - Zamknij - - - Zamyka OnTopReplica. - - - 2:1 Podwójny - - - Pełny ekran - - - 1:2 Połowa - - - 1:1 Rozmiar oryginalny - - - 1:4 Ćwiartka - - - Tryb grupowy - - - OnTopReplica automatycznie sklonuje okno ze zdefiniowanej przez użytkownika grupy przełączając na to, które było najwcześniej zdeaktywowane. - - - 100% (nieprzeźroczyste) - - - Ustawia OnTopReplica jako całkowicie nieprzeźroczyste. - - - 25% - - - Ustawia przeźroczystość OnTopReplica na 25%. - - - 50% - - - Ustawia przeźroczystość OnTopReplica na 50%. - - - 75% - - - Ustawia przeźroczystość OnTopReplica na 75%. - - - Przeźroczystość - - - Otwórz - - - Wyświetla OnTopReplica. - - - Dół Lewo - - - Dół Prawo - - - Środek - - - Wyłączone - - - Zablokuj pozycję - - - Automatycznie ustawia pozycję OnTopReplica na bieżącym ekranie. - - - Góra Lewo - - - Góra Prawo - - - Wyjdź z trybu pełnoekranowego - - - Zapamiętaj ostatnią pozycję i rozmiar - - - Wybierz, czy OnTopReplica powinien zapamiętać ostatnią pozycję i rozmiar i użyć ich ponownie przy kolejnym uruchomieniu. - - - Minimalizuj - - - Minimalizuje OnTopReplica do paska zadań (lub tacki systemowej). - - - Wybierz region... - - - Przełącza na "tryb regionu", w którym można zaznaczyć jako miniaturę określony obszar okna źródłowego. - - - Resetuj okno - - - Resetuje ustawienia OnTopReplica i okna głównego. - - - Zmień rozmiar - - - Przywróć ostatnio klonowane okno - - - Kiedy włączone, OnTopReplica będzie próbować podczas uruchomienia przywrócić ostatnio klonowane okno. - - - Ustawienia... - - - Wyświetla okno konfiguracji. - - - Przełącz na okno - - - Przełącza na okno źródłowe i ukrywa okno OnTopReplica. - - - Wybierz okno - - - - żadne - - - - Wyświetla listę okien, które możesz wybrać jako źródło miniatur. - - - - całe - - - - Bieżący region: - - - Usuń - - - Gotowe - - - Wysokość - - - Zresetuj - - - Zapisz - - - Zapisane regiony - - - Regiony: - - - Szerokość - - - Kliknij prawym tutaj aby rozpocząć... - - - Sklonuj bieżące okno - - - Skróty klawiszowe działają również wtedy, gdy okno OnTopReplica nie jest aktywne. - - - Pokaż/Ukryj - - - Klawisze skrótu: - - - Język: - - - Wymaga restartu. - - - Ustawienia - - +Możesz włączyć kliknij-przez później + + + Użyj kliknij-przez + + + Tryb kliknij-przez + + + Program OnTopReplica został zaktualizowany. + + + Aby używać zaktualizowanej wersji OnTopReplica musisz zrestartować aplikację. + + + Aktualizacja zakończona powodzeniem + + + Program OnTopReplica jest aktualny. + + + Brak dostępnych aktualizacji + + + Język + + + O... + + + Wyświetla informacje o programie. + + + Zaawansowane + + + Pokazuj ramkę okna + + + Przełącznik wyświetlania ramki okna. + + + Włącz przekazywanie kliknięć + + + Uaktywnia przekazywanie kliknięć do klonowanego okna. + + + Włącz kliknij-przez + + + OnTopReplica będzie się zachowywać jak półprzeźroczysta warstwa i będziesz w stanie kliknąć na oknie znajdującym się pod nim. + + + Zamknij + + + Zamyka OnTopReplica. + + + 2:1 Podwójny + + + Pełny ekran + + + 1:2 Połowa + + + 1:1 Rozmiar oryginalny + + + 1:4 Ćwiartka + + + Tryb grupowy + + + OnTopReplica automatycznie sklonuje okno ze zdefiniowanej przez użytkownika grupy przełączając na to, które było najwcześniej zdeaktywowane. + + + 100% (nieprzeźroczyste) + + + Ustawia OnTopReplica jako całkowicie nieprzeźroczyste. + + + 25% + + + Ustawia przeźroczystość OnTopReplica na 25%. + + + 50% + + + Ustawia przeźroczystość OnTopReplica na 50%. + + + 75% + + + Ustawia przeźroczystość OnTopReplica na 75%. + + + Przeźroczystość + + + Otwórz + + + Wyświetla OnTopReplica. + + + Dół Lewo + + + Dół Prawo + + + Środek + + + Wyłączone + + + Zablokuj pozycję + + + Automatycznie ustawia pozycję OnTopReplica na bieżącym ekranie. + + + Góra Lewo + + + Góra Prawo + + + Wyjdź z trybu pełnoekranowego + + + Zapamiętaj ostatnią pozycję i rozmiar + + + Wybierz, czy OnTopReplica powinien zapamiętać ostatnią pozycję i rozmiar i użyć ich ponownie przy kolejnym uruchomieniu. + + + Minimalizuj + + + Minimalizuje OnTopReplica do paska zadań (lub tacki systemowej). + + + Wybierz region... + + + Przełącza na "tryb regionu", w którym można zaznaczyć jako miniaturę określony obszar okna źródłowego. + + + Resetuj okno + + + Resetuje ustawienia OnTopReplica i okna głównego. + + + Zmień rozmiar + + + Przywróć ostatnio klonowane okno + + + Kiedy włączone, OnTopReplica będzie próbować podczas uruchomienia przywrócić ostatnio klonowane okno. + + + Ustawienia... + + + Wyświetla okno konfiguracji. + + + Przełącz na okno + + + Przełącza na okno źródłowe i ukrywa okno OnTopReplica. + + + Wybierz okno + + + - żadne - + + + Wyświetla listę okien, które możesz wybrać jako źródło miniatur. + + + - całe - + + + Bieżący region: + + + Usuń + + + Gotowe + + + Wysokość + + + Zresetuj + + + Zapisz + + + Zapisane regiony + + + Regiony: + + + Szerokość + + + Kliknij prawym tutaj aby rozpocząć... + + + Sklonuj bieżące okno + + + Skróty klawiszowe działają również wtedy, gdy okno OnTopReplica nie jest aktywne. + + + Pokaż/Ukryj + + + Klawisze skrótu: + + + Język: + + + Wymaga restartu. + + + Ustawienia + + Anuluj aktualizację -OnTopReplica zapyta Cię przy następnym uruchomieniu. - - +OnTopReplica zapyta Cię przy następnym uruchomieniu. + + Pobierz -Zainstaluj OnTopReplica {0}. - - - Nowa wersja może zostać pobrana i zainstalowana z oficjalnej strony programu. - - +Zainstaluj OnTopReplica {0}. + + + Nowa wersja może zostać pobrana i zainstalowana z oficjalnej strony programu. + + Zainstalowana wersja: {0} -Dostępna wersja: {1} - - - Dostępna jest wersja {0} - - - pobrano {0}/{1} bajtów. +Dostępna wersja: {1} + + + Dostępna jest wersja {0} + + + pobrano {0}/{1} bajtów. {0} downloaded bytes {1} total bytes {0} bytes geladen von {1} bytes gesamt {0} downloaded bytes {1} total bytes {0} downloaded bytes {1} total bytes -{0} downloaded bytes {1} total bytes - - - Pobieram... - - +{0} downloaded bytes {1} total bytes + + + Pobieram... + + Najnowsza wersja OnTopReplica jest już zainstalowana. Program automatycznie sprawdza dostępność aktualizacji po każdym uruchomieniu. -Na <a href="website">oficjalnej stronie domowej</a> możesz znaleźć informacje o rozwoju OnTopReplica's oraz zaproponować nowe funkcje. - The website link should be enclosed in <a href="website"></a> tags. - - - Ostatnia wersja stabilna wydana {0}. - {0} last version release date - - - OnTopReplica jest aktualna - - +Na <a href="website">oficjalnej stronie domowej</a> możesz znaleźć informacje o rozwoju OnTopReplica's oraz zaproponować nowe funkcje. + The website link should be enclosed in <a href="website"></a> tags. + + + Ostatnia wersja stabilna wydana {0}. + {0} last version release date + + + OnTopReplica jest aktualna + + Zainstaluj -Aktualizacje zostaną zainstalowane po ponownym uruchomieniu OnTopReplica. - - - Wersja {0} OnTopReplica jest gotowa do zainstalowania. - - - Aktualizacja ukończona - - - Aktualizacje OnTopReplica - +Aktualizacje zostaną zainstalowane po ponownym uruchomieniu OnTopReplica. + + + Wersja {0} OnTopReplica jest gotowa do zainstalowania. + + + Aktualizacja ukończona + + + Aktualizacje OnTopReplica + + + + Must not be localized. Leave blank in non-default languages. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + + Must not be localized. Leave blank in non-default languages. + \ No newline at end of file From 5a59d6e065617fcb1f9247d05b408656e0fe1d35 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sat, 16 Jun 2012 12:47:34 +0000 Subject: [PATCH 122/164] Committed translation (da). --- OnTopReplica/Strings.da.resx | 1015 +++++++++++++++++++++------------- 1 file changed, 642 insertions(+), 373 deletions(-) diff --git a/OnTopReplica/Strings.da.resx b/OnTopReplica/Strings.da.resx index acd0533..ea2a6a7 100644 --- a/OnTopReplica/Strings.da.resx +++ b/OnTopReplica/Strings.da.resx @@ -1,381 +1,650 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Annuller updateringen. - - - Vis detaljer om OnTopReplica. - - - Nulstil alle OnTopReplica indstillinger. - - - Opdater OnTopReplica nu. - - - En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. - - - Opdater nu! - - - OnTopReplica checker automatiskt for opdateringer. - - - OnTopReplica - Probably doesn't need localization. :) - - - Nulstil vinduet helt? - - - &NulstilAlle ændringer vil blive tabt. - - - Kan bruges til at nulstille alle indstillinger hvis du mister kontrollen over vinduet eller hvis det er flyttet uden for skærmen. - - - Nulstil - - - Nulstil indstillinger? - - - Dette nulstiller OnTopReplica til standard indstillingerne (alle gemte informationer, som gemte områder, vil blive slettet). - - - Nulstil indstillingerne - - - &Annuller - & marks the ALT+[] shortcut - - - Tegn områder med musen - - - Detaljer - - - Detaljer om Windows Aero - - - Windows Aero er kun tilgængelig op Windows Vista Home Premium eller højere. - - - Windows Aero effekter er ikke slået til - - - Du skal aktiverere "Windows Aero" som tema i Windows.For at gøre dette skal du højreklikke på skrivebordet og vælge personlige indstillinger. - - - Fejl detaljer. - - - Fejl: - - - Vinduet du har valgt er lukket eller er ikke gyldigt mere. - - - Fejl - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Annuller updateringen. + + + Vis detaljer om OnTopReplica. + + + Nulstil alle OnTopReplica indstillinger. + + + Opdater OnTopReplica nu. + + + En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. + + + Opdater nu! + + + OnTopReplica checker automatiskt for opdateringer. + + + + Probably doesn't need localization. :) + + + Nulstil vinduet helt? + + + &NulstilAlle ændringer vil blive tabt. + + + Kan bruges til at nulstille alle indstillinger hvis du mister kontrollen over vinduet eller hvis det er flyttet uden for skærmen. + + + Nulstil + + + Nulstil indstillinger? + + + Dette nulstiller OnTopReplica til standard indstillingerne (alle gemte informationer, som gemte områder, vil blive slettet). + + + Nulstil indstillingerne + + + &Annuller + & marks the ALT+[] shortcut + + + Tegn områder med musen + + + Detaljer + + + Detaljer om Windows Aero + + + Windows Aero er kun tilgængelig op Windows Vista Home Premium eller højere. + + + Windows Aero effekter er ikke slået til + + + Du skal aktiverere "Windows Aero" som tema i Windows.For at gøre dette skal du højreklikke på skrivebordet og vælge personlige indstillinger. + + + Fejl detaljer. + + + Fejl: + + + Vinduet du har valgt er lukket eller er ikke gyldigt mere. + + + Fejl + + Windows Aero effekter er ikke understøttet af dit styresystem. -Dette program kræver Windows Vista Home Premium eller bedre. - - - Skrivebords komposition ikke understøttet - - - Ingen miniature indlæst. - - - Kan ikke lave miniature. - - - Kunne ikke passes til vinduet. - - - Kan ikke søge efter opdateringer. - - - OnTopReplica blev ikke installeret ved hjælp af 'ClickOnce'. Du bliver nødt til at opdatere manuelt (besøg <a href="http://ontopreplica.codeplex.com">OnTopReplica's hjemmeside</a>). - - - Tilstande - - - Altid øverst - - - Får OnTopReplica til altid at være øverst. - - - Klikke igennem - - - OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. - - - Standard - - - Opfører sig som et almindeligt vindue. Du kan trække andre viduer ind over OnTopReplica. - - - OnTopReplica fuld skærm - - - Hjemmeside: www.codeplex.com/ontopreplica. - - - Ønsker du at aktivere "click forwarding"? - - +Dette program kræver Windows Vista Home Premium eller bedre. + + + Skrivebords komposition ikke understøttet + + + Ingen miniature indlæst. + + + Kan ikke lave miniature. + + + Kunne ikke passes til vinduet. + + + Kan ikke søge efter opdateringer. + + + OnTopReplica blev ikke installeret ved hjælp af 'ClickOnce'. Du bliver nødt til at opdatere manuelt (besøg <a href="http://ontopreplica.codeplex.com">OnTopReplica's hjemmeside</a>). + + + Tilstande + + + Altid øverst + + + Får OnTopReplica til altid at være øverst. + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Standard + + + Opfører sig som et almindeligt vindue. Du kan trække andre viduer ind over OnTopReplica. + + + OnTopReplica fuld skærm + + + Hjemmeside: www.codeplex.com/ontopreplica. + + + Ønsker du at aktivere "click forwarding"? + + Hvis denne funktion er aktiveret vil OnTopReplica vidersende alle venstr museklik til det klonede vindue (dette gør dig i stand til at udføre basis musefunktioner i det klonede vindue uden at skulle aktivere det). -For at afslutte denne funktion skal du højreklikke på OnTopReplica og deaktivere "Click forwarding" i menuen. - - - Click forwarding - - - Ønskes gennem klik i fuldskærms tilstand? - - - Gennem klik virker kun hvis det er blevet aktiveret i gendan undermenuen og hvis vinduet er delvist gennemsigtigt. - - +For at afslutte denne funktion skal du højreklikke på OnTopReplica og deaktivere "Click forwarding" i menuen. + + + Click forwarding + + + Ønskes gennem klik i fuldskærms tilstand? + + + Gennem klik virker kun hvis det er blevet aktiveret i gendan undermenuen og hvis vinduet er delvist gennemsigtigt. + + I denne tilstand vil fuld skærm vinduet opføre sig som et delvist gennemsigtigt lag, hvilket gør dig i stand til at klikke på de underliggende vinduer. -For at komme tilbage til normal tilstand, dobbeltklik på OnTopReplica ikonet i meddelelsesområdet på proceslinjen. - - +For at komme tilbage til normal tilstand, dobbeltklik på OnTopReplica ikonet i meddelelsesområdet på proceslinjen. + + Nej. -Du kan aktivere gennem klik senere. - - - Brug gennem klik. - - - Gennem klik tilstand - - - OnTopReplica er blevet opdateret. - - - For at benytte den opdaterede udgave af OnTopReplica skal du genstarte programmet. - - - Opdatering fuldført - - - OnTopReplice er opdateret. - - - Ingen opdateringer er tilgængelige - - - Sprog - - - Om... - - - Skjuler hoved vinduet og viser om boxen. - - - Krom - - - Vælger Chrome kanten rundt om vinduet til/fra - - - Click forwarding - - - Aktiver "click forwarding" til det klonede vindue - - - Klikke igennem - - - OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. - - - Luk - - - Lukker OnTopReplica. - - - 2:1 dobbelt - - - Fuld skærm - - - 1:2 halv - - - 1:1 Pas til vinduet - - - 1:4 kvart - - - 100% (uigennemsigtig) - - - Sæt OnTopReplica til at være helt uigennemsigtig. - - - 25% - - - Sætter OnTopReplica til 25% uigennemsigtighed. - - - 50% - - - Sætter OnTopReplica til 50% uigennemsigtighed. - - - 75% - - - Sætter OnTopReplica til 75% uigennemsigtighed. - - - Uigennemsigtighed - - - åben - - - Viser OnTopReplica. - - - Nederst venstre - - - Nederst højre - - - Position - - - Sæt OnTopReplica automatiskt på den aktuelle skærm. - - - Øverst venstre - - - Øverst højre - - - Afslut fuldskærm tilstand. - - - Gendan sidste position og størrelse - - - Vælger om OnTopReplica skal gemme sidst brugte størrelse og position, til næste gang det starter op. - - - Minimer til systembakken. - - - Minimere OnTopReplica til systembakken. - - - Vælg område... - - - Skifter til "område tilstand", der tillader dig at vælge et begrænset område af kildens vindue som miniature. - - - Nulstil vinduet - - - Nulstiller OnTopReplica indstillingerne og hoved vinduet. - - - Genskab - - - Skift til vindue - - - Skifter til kilde vinduet og gemmer OnTopReplica. - - - Vælg vindue - - - - ingen - - - - Viser en liste af vinduer du kan bruge som miniature kilde. - - - - hele - - - - Aktuelt område: - - - Slet - - - Færdig - - - Højde - - - Nulstil - - - Gem - - - Gemte områder - - - Områder: - - - Bredde - - - Højreklik her for at starte... - - - Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes. - - - FortsætInstaller OnTopReplica - - - Den nye version vil automatiskt blive downloaded og installeret. - - +Du kan aktivere gennem klik senere. + + + Brug gennem klik. + + + Gennem klik tilstand + + + OnTopReplica er blevet opdateret. + + + For at benytte den opdaterede udgave af OnTopReplica skal du genstarte programmet. + + + Opdatering fuldført + + + OnTopReplice er opdateret. + + + Ingen opdateringer er tilgængelige + + + Sprog + + + Om... + + + Skjuler hoved vinduet og viser om boxen. + + + Krom + + + Vælger Chrome kanten rundt om vinduet til/fra + + + Click forwarding + + + Aktiver "click forwarding" til det klonede vindue + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Luk + + + Lukker OnTopReplica. + + + 2:1 dobbelt + + + Fuld skærm + + + 1:2 halv + + + 1:1 Pas til vinduet + + + 1:4 kvart + + + 100% (uigennemsigtig) + + + Sæt OnTopReplica til at være helt uigennemsigtig. + + + 25% + + + Sætter OnTopReplica til 25% uigennemsigtighed. + + + 50% + + + Sætter OnTopReplica til 50% uigennemsigtighed. + + + 75% + + + Sætter OnTopReplica til 75% uigennemsigtighed. + + + Uigennemsigtighed + + + åben + + + Viser OnTopReplica. + + + Nederst venstre + + + Nederst højre + + + Position + + + Sæt OnTopReplica automatiskt på den aktuelle skærm. + + + Øverst venstre + + + Øverst højre + + + Afslut fuldskærm tilstand. + + + Gendan sidste position og størrelse + + + Vælger om OnTopReplica skal gemme sidst brugte størrelse og position, til næste gang det starter op. + + + Minimer til systembakken. + + + Minimere OnTopReplica til systembakken. + + + Vælg område... + + + Skifter til "område tilstand", der tillader dig at vælge et begrænset område af kildens vindue som miniature. + + + Nulstil vinduet + + + Nulstiller OnTopReplica indstillingerne og hoved vinduet. + + + Genskab + + + Skift til vindue + + + Skifter til kilde vinduet og gemmer OnTopReplica. + + + Vælg vindue + + + - ingen - + + + Viser en liste af vinduer du kan bruge som miniature kilde. + + + - hele - + + + Aktuelt område: + + + Slet + + + Færdig + + + Højde + + + Nulstil + + + Gem + + + Gemte områder + + + Områder: + + + Bredde + + + Højreklik her for at starte... + + + Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes. + + + FortsætInstaller OnTopReplica + + + Den nye version vil automatiskt blive downloaded og installeret. + + Installeret version: {0} -Tilgængelig version: {1} - +Tilgængelig version: {1} + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann. + Must not be localized. Leave blank in non-default languages. + + + Version {0} + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Advanced + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + Center + + + Disabled + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + \ No newline at end of file From 10f208c7c5bccccd2d1f8c4d3dd64488f43985b2 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sat, 16 Jun 2012 12:47:46 +0000 Subject: [PATCH 123/164] Committed translation (it). --- OnTopReplica/Strings.it.resx | 1153 +++++++++++++++++++--------------- 1 file changed, 635 insertions(+), 518 deletions(-) diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx index c6cab91..a2177be 100644 --- a/OnTopReplica/Strings.it.resx +++ b/OnTopReplica/Strings.it.resx @@ -1,538 +1,655 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Creato da: %. - Link % is replaced by string AboutAuthorContent. - - - Annulla il processo di aggiornamento. - - - Mostra dettagli su OnTopReplica. - - - Resetta tutte le impostazioni di OnTopReplica. - - - Aggiorna OnTopReplica ora. - - - T'interessa partecipare? Ogni aiuto è ben accetto, sia che tu voglia migliorare una traduzione, aggiungerne una nuova oppure dare un'occhiata al % su CodePlex. - - - codice sorgente - - - OnTopReplica è basato sulla libreria WindowsFormsAero ed il codice di altri progetti open-source. %. - Link % is replaced by string AboutCreditsSourcesContent. - - - Leggi tutti i riferimenti - - - Contribuisci - - - Ringraziamenti - - - Licenza d'uso - - - Aggiornamenti - - - Questa applicazione è rilasciata sotto la licenza %, che rientra nella definizione di "open-source" data dal consorzio OSI. - - - Una copia in tempo reale e sempre in primo piano di una finestra a tua scelta. - - - A proposito di OnTopReplica - - - Traduttori: {0} - {0} translators (do not end with period) - - - Controlla! - - - OnTopReplica controlla automaticamente la presenza di aggiornamenti ad ogni avvio. - - - Versione {0} - - - OnTopReplica - Probably doesn't need localization. :) - - - Ripristinare completamente la finestra? - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Creato da: %. + Link % is replaced by string AboutAuthorContent. + + + Annulla il processo di aggiornamento. + + + Mostra dettagli su OnTopReplica. + + + Resetta tutte le impostazioni di OnTopReplica. + + + Aggiorna OnTopReplica ora. + + + T'interessa partecipare? Ogni aiuto è ben accetto, sia che tu voglia migliorare una traduzione, aggiungerne una nuova oppure dare un'occhiata al % su CodePlex. + + + codice sorgente + + + OnTopReplica è basato sulla libreria WindowsFormsAero ed il codice di altri progetti open-source. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Leggi tutti i riferimenti + + + Contribuisci + + + Ringraziamenti + + + Licenza d'uso + + + Aggiornamenti + + + Questa applicazione è rilasciata sotto la licenza %, che rientra nella definizione di "open-source" data dal consorzio OSI. + + + Una copia in tempo reale e sempre in primo piano di una finestra a tua scelta. + + + A proposito di OnTopReplica + + + Traduttori: {0} + {0} translators (do not end with period) + + + Controlla! + + + OnTopReplica controlla automaticamente la presenza di aggiornamenti ad ogni avvio. + + + Versione {0} + + + + Probably doesn't need localization. :) + + + Ripristinare completamente la finestra? + + &Ripristina -Tutte le impostazioni saranno perse. - - - Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. - - - Ripristino - - - Resettare impostazioni? - - - Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). - - - Reimposta - - - &Annulla - & marks the ALT+[] shortcut - - - Disegna una regione usando il mouse. - - - Dettagli - - - Dettagli su Windows Aero - - - Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. - - - Il servizio di Desktop Composition Aero non è attivo. - - +Tutte le impostazioni saranno perse. + + + Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. + + + Ripristino + + + Resettare impostazioni? + + + Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). + + + Reimposta + + + &Annulla + & marks the ALT+[] shortcut + + + Disegna una regione usando il mouse. + + + Dettagli + + + Dettagli su Windows Aero + + + Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. + + + Il servizio di Desktop Composition Aero non è attivo. + + È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows. -Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. - - - Dettagli errore - - - Errore: - - - Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. - - - Errore - - +Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. + + + Dettagli errore + + + Errore: + + + Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. + + + Errore + + La "composzione del desktop" non è supportata dal tuo sistema operativo. -È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. - - - Desktop Composition (DWM) non supportato - - - Nessuna finestra clonata al momento. - - - Impossibile clonare la finestra - - - Impossibile adattare la finestra. - - - Impossibile controllare gli aggiornamenti. - - - Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. - - - Non è stato possibile controllare se esiste una versione più aggiornata di OnTopReplica. Verificare di essere connessi ad Internet. Se la connessione è attiva, è possibile che il sito ufficiale sia temporaneamente offline. - - - Modalità - - - Sempre in cima - - - OnTopReplica sarà sempre la finestra sopra a tutte le altre. - - - Click through - - - OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. - - - Normale - - - Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. - - - OnTopReplica a pieno schermo - - - Disattiva - - - Abilita modalità - - - Seleziona più finestre per attivare. - - - Modalità Gruppo attivata. - - - Modalità Gruppo di finestre: - - - Finestre - Column Header of list, simply refers to available windows to be cloned - - - Sito internet: www.codeplex.com/ontopreplica. - - - Attivare la modalità di inoltro dei clic? - - +È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. + + + Desktop Composition (DWM) non supportato + + + Nessuna finestra clonata al momento. + + + Impossibile clonare la finestra + + + Impossibile adattare la finestra. + + + Impossibile controllare gli aggiornamenti. + + + Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + Non è stato possibile controllare se esiste una versione più aggiornata di OnTopReplica. Verificare di essere connessi ad Internet. Se la connessione è attiva, è possibile che il sito ufficiale sia temporaneamente offline. + + + Modalità + + + Sempre in cima + + + OnTopReplica sarà sempre la finestra sopra a tutte le altre. + + + Click through + + + OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. + + + Normale + + + Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. + + + OnTopReplica a pieno schermo + + + Disattiva + + + Abilita modalità + + + Seleziona più finestre per attivare. + + + Modalità Gruppo attivata. + + + Modalità Gruppo di finestre: + + + Finestre + Column Header of list, simply refers to available windows to be cloned + + + Sito internet: www.codeplex.com/ontopreplica. + + + Attivare la modalità di inoltro dei clic? + + In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano). -Per uscire da questa modalità, usa il tasto ESC. - - - Inoltro dei clic - - - Attivare la modalità Click-Through? - - - La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. - - +Per uscire da questa modalità, usa il tasto ESC. + + + Inoltro dei clic + + + Attivare la modalità Click-Through? + + + La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. + + In questa modalità la finestra clonata si comporterà come una maschera semitrasparente che permette di cliccare sulle finestre dietro di essa. -Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). - - +Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). + + No, grazie. -Puoi abilitare il Click-Through in futuro - - - Abilita Click-Through - - - Modalità Click-Through - - - OnTopReplica è stato aggiornato. - - - Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. - - - Aggiornamento completato - - - La versione più aggiornata è già installata. - - - Nessun aggiornamento disponibile - - - Lingua - - - A proposito di... - - - Nasconde la finestra principale e mostra una schermata di informazioni. - - - Avanzate - - - Bordo - - - Abilita o disabilita il bordo della finestra. - - - Inoltro dei clic - - - Attiva la modalità di "inoltro dei clic" alla finestra clonata. - - - Abilita Click-Through - - - OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa. - - - Chiudi - - - Termina OnTopReplica. - - - 2:1 Doppio - - - Tutto schermo - - - 1:2 Metà - - - 1:1 Clone esatto - - - 1:4 Quarto - - - Modalità Gruppo di finestre - - - OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo. - - - 100% (opaco) - - - Imposta OnTopReplica come finestra completamente opaca. - - - 25% - - - Imposta l'opacità di OnTopReplica al 25%. - - - 50% - - - Imposta l'opacità di OnTopReplica al 50%. - - - 75% - - - Imposta l'opacità di OnTopReplica al 75%. - - - Opacità - - - Apri - - - Attiva la finestra di OnTopReplica. - - - In basso a sinistra - - - In basso a destra - - - Centrato - - - Disabilitato - - - Blocco posizione - - - Posiziona automaticamente OnTopReplica sul monitor corrente. - - - In alto a sinistra - - - In alto a destra - - - Esci da tutto schermo - - - Ripristina posizione e grandezza - - - Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. - - - Minimizza - - - Riduce OnTopReplica ad un'icona nella barra delle applicazioni. - - - Seleziona regione... - - - Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. - - - Reimposta finestra - - - Reimposta OnTopReplica e la sua finestra principale. - - - Ridimensionamento - - - Ripristina ultima finestra - - - Se abilitato, all'avvio OnTopReplica tenterà di ripristinare l'ultima finestra precedentemente clonata. - - - Impostazioni... - - - Mostra il pannello delle impostazioni. - - - Vai alla finestra originale - - - Mostra la finestra originale e nasconde OnTopReplica. - - - Seleziona finestra - - - - nessuna - - - - Mostra una lista di finestre che è possibile clonare. - - - - intera - - - - Regione corrente: - - - Cancella - - - Chiudi - - - Altezza - - - Reset - - - Salva - - - Regioni memorizzate - - - Regioni: - - - Larghezza - - - Clic destro qui per iniziare... - - - Clona finestra corrente - - - Queste scorciatoie possono essere usate quando OnTopReplica non è attivo. - - - Nascondi - - - Scorciatoie: - - - Lingua: - - - Richiede un riavvio. - - - Impostazioni - - +Puoi abilitare il Click-Through in futuro + + + Abilita Click-Through + + + Modalità Click-Through + + + OnTopReplica è stato aggiornato. + + + Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. + + + Aggiornamento completato + + + La versione più aggiornata è già installata. + + + Nessun aggiornamento disponibile + + + Lingua + + + A proposito di... + + + Nasconde la finestra principale e mostra una schermata di informazioni. + + + Avanzate + + + Bordo + + + Abilita o disabilita il bordo della finestra. + + + Inoltro dei clic + + + Attiva la modalità di "inoltro dei clic" alla finestra clonata. + + + Abilita Click-Through + + + OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa. + + + Chiudi + + + Termina OnTopReplica. + + + 2:1 Doppio + + + Tutto schermo + + + 1:2 Metà + + + 1:1 Clone esatto + + + 1:4 Quarto + + + Modalità Gruppo di finestre + + + OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo. + + + 100% (opaco) + + + Imposta OnTopReplica come finestra completamente opaca. + + + 25% + + + Imposta l'opacità di OnTopReplica al 25%. + + + 50% + + + Imposta l'opacità di OnTopReplica al 50%. + + + 75% + + + Imposta l'opacità di OnTopReplica al 75%. + + + Opacità + + + Apri + + + Attiva la finestra di OnTopReplica. + + + In basso a sinistra + + + In basso a destra + + + Centrato + + + Disabilitato + + + Blocco posizione + + + Posiziona automaticamente OnTopReplica sul monitor corrente. + + + In alto a sinistra + + + In alto a destra + + + Esci da tutto schermo + + + Ripristina posizione e grandezza + + + Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. + + + Minimizza + + + Riduce OnTopReplica ad un'icona nella barra delle applicazioni. + + + Seleziona regione... + + + Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. + + + Reimposta finestra + + + Reimposta OnTopReplica e la sua finestra principale. + + + Ridimensionamento + + + Ripristina ultima finestra + + + Se abilitato, all'avvio OnTopReplica tenterà di ripristinare l'ultima finestra precedentemente clonata. + + + Impostazioni... + + + Mostra il pannello delle impostazioni. + + + Vai alla finestra originale + + + Mostra la finestra originale e nasconde OnTopReplica. + + + Seleziona finestra + + + - nessuna - + + + Mostra una lista di finestre che è possibile clonare. + + + - intera - + + + Regione corrente: + + + Cancella + + + Chiudi + + + Altezza + + + Reset + + + Salva + + + Regioni memorizzate + + + Regioni: + + + Larghezza + + + Clic destro qui per iniziare... + + + Clona finestra corrente + + + Queste scorciatoie possono essere usate quando OnTopReplica non è attivo. + + + Nascondi + + + Scorciatoie: + + + Lingua: + + + Richiede un riavvio. + + + Impostazioni + + Annulla aggiornamento -OnTopReplica si aggiornerà in un secondo momento. - - +OnTopReplica si aggiornerà in un secondo momento. + + Continua -Scarica OnTopReplica {0}. - - - Sarà possibile scaricare la nuova versione ed installarla. - - +Scarica OnTopReplica {0}. + + + Sarà possibile scaricare la nuova versione ed installarla. + + Versione installata: {0} -Versione disponibile: {1} - - - Disponibile la versione {0} - - - Scaricati {0} byte su {1}. +Versione disponibile: {1} + + + Disponibile la versione {0} + + + Scaricati {0} byte su {1}. {0} downloaded bytes {1} total bytes {0} bytes geladen von {1} bytes gesamt {0} downloaded bytes {1} total bytes {0} downloaded bytes {1} total bytes -{0} downloaded bytes {1} total bytes - - - Download in corso... - - +{0} downloaded bytes {1} total bytes + + + Download in corso... + + L'ultima versione di OnTopReplica è già installata. Il programma controllo automaticamente la presenza di aggiornamenti ad ogni avvio. -Per tenersi aggiornati sullo sviluppo di OnTopReplica o suggerire miglioramenti, <a href="website">visitare il sito ufficiale</a>. - The website link should be enclosed in <a href="website"></a> tags. - - - Ultima versione stabile rilasciata il {0}. - {0} last version release date - - - OnTopReplica è aggiornato - - +Per tenersi aggiornati sullo sviluppo di OnTopReplica o suggerire miglioramenti, <a href="website">visitare il sito ufficiale</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Ultima versione stabile rilasciata il {0}. + {0} last version release date + + + OnTopReplica è aggiornato + + Installa -OnTopReplica verrà chiuso e l'aggiornamento sarà installato. - - - La versione {0} di OnTopReplica è pronta ad essere installata sul tuo computer. - - - Aggiornamento pronto - - - Aggiornamenti di OnTopReplica - +OnTopReplica verrà chiuso e l'aggiornamento sarà installato. + + + La versione {0} di OnTopReplica è pronta ad essere installata sul tuo computer. + + + Aggiornamento pronto + + + Aggiornamenti di OnTopReplica + + + + Must not be localized. Leave blank in non-default languages. + + + + Can be left blank. + + + + Must not be localized. Leave blank in non-default languages. + \ No newline at end of file From be61621c1c824fbd0cfff20eac95159092d6f1c8 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sat, 16 Jun 2012 12:47:58 +0000 Subject: [PATCH 124/164] Committed translation (de). --- OnTopReplica/Strings.de.resx | 1153 +++++++++++++++++++--------------- 1 file changed, 635 insertions(+), 518 deletions(-) diff --git a/OnTopReplica/Strings.de.resx b/OnTopReplica/Strings.de.resx index 4a3562d..5197922 100644 --- a/OnTopReplica/Strings.de.resx +++ b/OnTopReplica/Strings.de.resx @@ -1,538 +1,655 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Aktualisierungsprozess abbrechen. - - - Details über OnTopReplica anzeigen. - - - Alle Einstellungen zurücksetzen. - - - OnTopReplica jetzt aktualisieren. - - - Möchtest du dem Projekt helfen? Du kannst gerne existierende Übersetzungen verbessern, einen neue für deine Sprache hinzufügen, oder den % von CodePlex herunterladen. - - - Quelltext - - - OnTopReplica basiert auf der WindowsFormsAero Bibliothek und ein paar anderen Bibliotheken und Codequellen. %. - Link % is replaced by string AboutCreditsSourcesContent. - - - Lies die vollständige Quellenliste - - - Mitwirken - - - Quellen - - - Lizenz - - - Aktualisierungen - - - Das Programm ist unter der % Lizenz lizensiert, welche die Bedingungen der Definition von "open-source" nach OSI erfüllt. - - - Ein kleines echtzeit-Vorschaubild eines Fensters deiner Wahl, welches immer im Vordergrund bleibt. - - - Über OnTopReplica - - - Übersetzer: {0} - {0} translators (do not end with period) - - - Jetzt prüfen! - - - OnTopReplica sucht automatisch bei jedem Start nach Aktualisierungen. - - - Version {0} - - - OnTopReplica - Probably doesn't need localization. :) - - - Fenster vollständig zurücksetzen? - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Aktualisierungsprozess abbrechen. + + + Details über OnTopReplica anzeigen. + + + Alle Einstellungen zurücksetzen. + + + OnTopReplica jetzt aktualisieren. + + + Möchtest du dem Projekt helfen? Du kannst gerne existierende Übersetzungen verbessern, einen neue für deine Sprache hinzufügen, oder den % von CodePlex herunterladen. + + + Quelltext + + + OnTopReplica basiert auf der WindowsFormsAero Bibliothek und ein paar anderen Bibliotheken und Codequellen. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Lies die vollständige Quellenliste + + + Mitwirken + + + Quellen + + + Lizenz + + + Aktualisierungen + + + Das Programm ist unter der % Lizenz lizensiert, welche die Bedingungen der Definition von "open-source" nach OSI erfüllt. + + + Ein kleines echtzeit-Vorschaubild eines Fensters deiner Wahl, welches immer im Vordergrund bleibt. + + + Über OnTopReplica + + + Übersetzer: {0} + {0} translators (do not end with period) + + + Jetzt prüfen! + + + OnTopReplica sucht automatisch bei jedem Start nach Aktualisierungen. + + + Version {0} + + + + Probably doesn't need localization. :) + + + Fenster vollständig zurücksetzen? + + &Zurücksetzen -Alle Einstellungen werden gelöscht. - - - Dies kann helfen, wenn die Kontrolle über das Fenster verloren wurde, oder es sich ausserhalb des sichtbaren Bereichs des Monitors befindet. - - - Zurücksetzen - - - Einstellungen zurücksetzen? - - - Dies wird alle Einstellungen löschen und OnTopReplica in den Installationszustand zurückführen (alle gespeicherten Daten, wie zum Beispiel gespeicherte Bereiche, gehen verloren). - - - Einstellungen zurücksetzen - - - {0}/{1} bytes heruntergeladen. +Alle Einstellungen werden gelöscht. + + + Dies kann helfen, wenn die Kontrolle über das Fenster verloren wurde, oder es sich ausserhalb des sichtbaren Bereichs des Monitors befindet. + + + Zurücksetzen + + + Einstellungen zurücksetzen? + + + Dies wird alle Einstellungen löschen und OnTopReplica in den Installationszustand zurückführen (alle gespeicherten Daten, wie zum Beispiel gespeicherte Bereiche, gehen verloren). + + + Einstellungen zurücksetzen + + + {0}/{1} bytes heruntergeladen. {0} downloaded bytes {1} total bytes {0} bytes geladen von {1} bytes gesamt {0} downloaded bytes {1} total bytes {0} downloaded bytes {1} total bytes -{0} downloaded bytes {1} total bytes - - - Version {0} ist verfügbar - - +{0} downloaded bytes {1} total bytes + + + Version {0} ist verfügbar + + Installieren -OnTopReplica wird geschlossen und die Aktualisierung installiert. - - - Eine neue Version kann von der offiziellen Webseite heruntergeladen und installiert werden. - - - OnTopReplica version {0} ist zur Installation auf dem Computer bereit. - - - &Abbrechen - & marks the ALT+[] shortcut - - - Zeichne Bereiche mit der Maus. - - - Details - - - Details zu Windows Aero - - - Windows Aero ist nur mit Windows Vista Home Premium or höher verfügbar. - - - 'Desktop-Gestaltung' ist nicht aktiviert. - - +OnTopReplica wird geschlossen und die Aktualisierung installiert. + + + Eine neue Version kann von der offiziellen Webseite heruntergeladen und installiert werden. + + + OnTopReplica version {0} ist zur Installation auf dem Computer bereit. + + + &Abbrechen + & marks the ALT+[] shortcut + + + Zeichne Bereiche mit der Maus. + + + Details + + + Details zu Windows Aero + + + Windows Aero ist nur mit Windows Vista Home Premium or höher verfügbar. + + + 'Desktop-Gestaltung' ist nicht aktiviert. + + Sie müssen die Desktop-Gestaltung aktivieren, indem sie 'Windows Aero' als das von Windows benutzte Anzeigeschema auswählen. -Um dies zu tung rechtsklicken die auf den Desktop und wählen sie 'Anpassen'. - - - Fehler-details - - - Fehler: - - - Es scheint als wäre das gewählte Fenster geschlossen oder nicht länger gültig. - - - Fehler - - +Um dies zu tung rechtsklicken die auf den Desktop und wählen sie 'Anpassen'. + + + Fehler-details + + + Fehler: + + + Es scheint als wäre das gewählte Fenster geschlossen oder nicht länger gültig. + + + Fehler + + Desktop-Gestaltung' wird auf diesem Betriebssystem nicht unterstützt. -Dieses Programm benötigt Windows Vista Home Premium oder besser. - - - Desktop-Gestaltung nicht unterstützt - - - Kein Vorschaubild geladen. - - - Vorschaubild konnte nicht erstellt werden - - - Das Fenster passt nicht in das Vorschaufenster. - - - Es konnte nicht nach Aktualisierungen gesucht werden. - - - Es scheint als wäre OnTopReplica nicht mittels 'ClickOnce' installiert. Sie werden manuell aktualisieren müssen (Besuchen sie <a href="http://ontopreplica.codeplex.com">OnTopReplica's Homepage</a>). - - - OnTopReplica konnte nicht nach einer Aktualisierung suchen. Stellen sie Sicher, dass sie mit dem Internet verbunden sind. Wenn sie mit dem Internet verbunden sind, könnte die Webseite temporäre Probleme haben. - - - Mode - - - Immer im Vordergrund - - - Erzwingt, dass OnTopReplica immer im Vordergrund bleibt. - - - Durchklicken - - - OnTopReplica wird alle Klicks an das darunterliegende Fenster weiterreichen. - - - Standard - - - Verhält sich wie ein normales Fenster. Andere Fenster können OnTopReplica verdecken. - - - OnTopReplica Vollbild - - - Deaktivieren - - - Modus aktivieren - - - Mehrere Fenster zum aktivieren auswählen. - - - Der Gruppenmodus ist aktiv. - - - Gruppenmodus: - - - Fenster - Column Header of list, simply refers to available windows to be cloned - - - Homepage: www.codeplex.com/ontopreplica. - - - Klickweiterleitung aktivieren? - - +Dieses Programm benötigt Windows Vista Home Premium oder besser. + + + Desktop-Gestaltung nicht unterstützt + + + Kein Vorschaubild geladen. + + + Vorschaubild konnte nicht erstellt werden + + + Das Fenster passt nicht in das Vorschaufenster. + + + Es konnte nicht nach Aktualisierungen gesucht werden. + + + Es scheint als wäre OnTopReplica nicht mittels 'ClickOnce' installiert. Sie werden manuell aktualisieren müssen (Besuchen sie <a href="http://ontopreplica.codeplex.com">OnTopReplica's Homepage</a>). + + + OnTopReplica konnte nicht nach einer Aktualisierung suchen. Stellen sie Sicher, dass sie mit dem Internet verbunden sind. Wenn sie mit dem Internet verbunden sind, könnte die Webseite temporäre Probleme haben. + + + Mode + + + Immer im Vordergrund + + + Erzwingt, dass OnTopReplica immer im Vordergrund bleibt. + + + Durchklicken + + + OnTopReplica wird alle Klicks an das darunterliegende Fenster weiterreichen. + + + Standard + + + Verhält sich wie ein normales Fenster. Andere Fenster können OnTopReplica verdecken. + + + OnTopReplica Vollbild + + + Deaktivieren + + + Modus aktivieren + + + Mehrere Fenster zum aktivieren auswählen. + + + Der Gruppenmodus ist aktiv. + + + Gruppenmodus: + + + Fenster + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Klickweiterleitung aktivieren? + + OnTopReplica wird alle Linksklicks an das geklonte Fenster weiterreichen (dies erlaubt simple Interaktion ohne das andere Fenster zu aktivieren). -Um diese Modus zu beenden ESC drücken. - - - Klickweiterleitung - - - Durchklickmodus aktivieren? - - - Durchklicken funktioniert nur, wenn es im "Grössen"-Menü aktiviert wurde und das Fenster semi-transparent ist. - - +Um diese Modus zu beenden ESC drücken. + + + Klickweiterleitung + + + Durchklickmodus aktivieren? + + + Durchklicken funktioniert nur, wenn es im "Grössen"-Menü aktiviert wurde und das Fenster semi-transparent ist. + + In diesem Modus verhält sich das Vollbild-Fenster wie ein durchsichtiges Overlay und erlaubt es, die Fenster dahinter anzuklicken. -Um zum normalen Modus zurückzukehren, reicht es, OnTopReplica über die Taskleiste oder das Benachrichtigungssymbol zu aktivieren. - - +Um zum normalen Modus zurückzukehren, reicht es, OnTopReplica über die Taskleiste oder das Benachrichtigungssymbol zu aktivieren. + + Nein danke. -Durchklicken kann später aktiviert werden - - - Durchklicken aktivieren - - - Durchklick-Modus - - - OnTopReplica wurde aktualisiert. - - - Um die aktualisierte Version zu nutzen, muss OnTopReplica neu gestartet werden. - - - Aktualisierung abgeschlossen - - - OnTopReplica ist auf dem neuesten Stand. - - - Keine Aktualisierung verfügbar - - - Sprache - - - Über... - - - Versteckt das Hauptfenster und zeigt das Informationsfenster. - - - Erweitert - - - Fensterrahmen anzeigen - - - Schaltet den Fensterrahmen an und aus. - - - Klickweiterleitung aktivieren - - - Leitet klicks an das geklonte Fenster weiter. - - - Durchklicken aktivieren - - - OnTopReplica wird alle klicks an die darunterliegenden Fenster weiterleiten. - - - Schliessen - - - Schliesst OnTopReplica. - - - 2:1 Verdoppeln - - - Vollbild - - - 1:2 Halbieren - - - 1:1 An Fenster anpassen - - - 1:4 Vierteln - - - Gruppenmodus - - - OnTopReplica wird automatisch das zuletzt aktive Fenster aus einer benutzerdefinierten Gruppe klonen. - - - 100% (Undurchsichtig) - - - OnTopReplica ist völlig undurchsichtig. - - - 25% - - - OnTopReplica auf 25% Sichtbarkeit setzen. - - - 50% - - - OnTopReplica auf 50% Sichtbarkeit setzen. - - - 75% - - - OnTopReplica auf 75% Sichtbarkeit setzen. - - - Deckkraft - - - Öffnen - - - OnTopReplica anzeigen. - - - Unten Links - - - Unten Rechts - - - Mitte - - - Deaktiviert - - - Position feststlegen - - - OnTopReplica automatisch auf dem aktiven Bildschirm positionieren. - - - Oben Links - - - Oben Rechts - - - Vollbildmodus beenden - - - Letzte Position und Grösse merken - - - Legt fest, ob OnTopReplica beim Start die gleiche Position und Grösse haben soll, wie beim letzten Beenden. - - - Minimieren - - - Minimiert OnTopReplica in die Taskleiste (oder die Benachrichtigungsleiste). - - - Bereich wählen... - - - Wechselt zum "Bereichsmodus" welcher es erlaubt, nur einen ausgewählten Teil eines Fensters zu klonen. - - - Fenster zurücksetzen - - - Setzt OnTopReplica Einstellungen und das Fenster zurück. - - - Grösse - - - Letztes Fenster wieder wählen - - - OnTopReplica wird beim Start versuchen, das gleiche Fenster wie beim letzten beenden zu klonen. - - - Einstellungen... - - - Zeigt den Einstellungsdialog an. - - - Zum Fenster Wechseln - - - Wechselt zum geklonten Fenster und versteckt OnTopReplica. - - - Fenster wählen - - - - Keins - - - - Zeigt eine Liste von Fenstern die als Klonquelle gewählt werden können. - - - - Alles - - - - Aktueller Bereich: - - - Löschen - - - Fertig - - - Höhe - - - Zurücksetzen - - - Speichern - - - Gespeicherte Bereiche - - - Bereiche: - - - Breite - - - Hier rechtsklicken um zu beginnen... - - - Aktuelles Fenster klonen - - - Diese Tastenkombinationen können auch benutzt werden, wenn OnTopReplica nicht das aktive Fenster ist. - - - Zeigen/Verstecken - - - Tastenkombinationen: - - - Sprache: - - - Benötigt einen Neustart. - - - Herunterladen... - - - Aktualisierung bereit - - +Durchklicken kann später aktiviert werden + + + Durchklicken aktivieren + + + Durchklick-Modus + + + OnTopReplica wurde aktualisiert. + + + Um die aktualisierte Version zu nutzen, muss OnTopReplica neu gestartet werden. + + + Aktualisierung abgeschlossen + + + OnTopReplica ist auf dem neuesten Stand. + + + Keine Aktualisierung verfügbar + + + Sprache + + + Über... + + + Versteckt das Hauptfenster und zeigt das Informationsfenster. + + + Erweitert + + + Fensterrahmen anzeigen + + + Schaltet den Fensterrahmen an und aus. + + + Klickweiterleitung aktivieren + + + Leitet klicks an das geklonte Fenster weiter. + + + Durchklicken aktivieren + + + OnTopReplica wird alle klicks an die darunterliegenden Fenster weiterleiten. + + + Schliessen + + + Schliesst OnTopReplica. + + + 2:1 Verdoppeln + + + Vollbild + + + 1:2 Halbieren + + + 1:1 An Fenster anpassen + + + 1:4 Vierteln + + + Gruppenmodus + + + OnTopReplica wird automatisch das zuletzt aktive Fenster aus einer benutzerdefinierten Gruppe klonen. + + + 100% (Undurchsichtig) + + + OnTopReplica ist völlig undurchsichtig. + + + 25% + + + OnTopReplica auf 25% Sichtbarkeit setzen. + + + 50% + + + OnTopReplica auf 50% Sichtbarkeit setzen. + + + 75% + + + OnTopReplica auf 75% Sichtbarkeit setzen. + + + Deckkraft + + + Öffnen + + + OnTopReplica anzeigen. + + + Unten Links + + + Unten Rechts + + + Mitte + + + Deaktiviert + + + Position feststlegen + + + OnTopReplica automatisch auf dem aktiven Bildschirm positionieren. + + + Oben Links + + + Oben Rechts + + + Vollbildmodus beenden + + + Letzte Position und Grösse merken + + + Legt fest, ob OnTopReplica beim Start die gleiche Position und Grösse haben soll, wie beim letzten Beenden. + + + Minimieren + + + Minimiert OnTopReplica in die Taskleiste (oder die Benachrichtigungsleiste). + + + Bereich wählen... + + + Wechselt zum "Bereichsmodus" welcher es erlaubt, nur einen ausgewählten Teil eines Fensters zu klonen. + + + Fenster zurücksetzen + + + Setzt OnTopReplica Einstellungen und das Fenster zurück. + + + Grösse + + + Letztes Fenster wieder wählen + + + OnTopReplica wird beim Start versuchen, das gleiche Fenster wie beim letzten beenden zu klonen. + + + Einstellungen... + + + Zeigt den Einstellungsdialog an. + + + Zum Fenster Wechseln + + + Wechselt zum geklonten Fenster und versteckt OnTopReplica. + + + Fenster wählen + + + - Keins - + + + Zeigt eine Liste von Fenstern die als Klonquelle gewählt werden können. + + + - Alles - + + + Aktueller Bereich: + + + Löschen + + + Fertig + + + Höhe + + + Zurücksetzen + + + Speichern + + + Gespeicherte Bereiche + + + Bereiche: + + + Breite + + + Hier rechtsklicken um zu beginnen... + + + Aktuelles Fenster klonen + + + Diese Tastenkombinationen können auch benutzt werden, wenn OnTopReplica nicht das aktive Fenster ist. + + + Zeigen/Verstecken + + + Tastenkombinationen: + + + Sprache: + + + Benötigt einen Neustart. + + + Herunterladen... + + + Aktualisierung bereit + + Herunterladen -OnTopReplica {0} instalieren. - - +OnTopReplica {0} instalieren. + + Aktualisierung abbrechen -OnTopReplica wird beim nächsten Start darauf hinweisen. - - - OnTopReplica ist aktuell - - - Neuste stabile Programmversion vom {0}. - {0} last version release date - - +OnTopReplica wird beim nächsten Start darauf hinweisen. + + + OnTopReplica ist aktuell + + + Neuste stabile Programmversion vom {0}. + {0} last version release date + + Die aktuelle Version vom OnTopReplica ist schon installiert. Das Programm sucht automatisch bei jedem Start nach Aktualisierungen. -Sie können über die Entwicklung von OnTopReplica auf dem Laufenden bleiben und verbesserungen vorschlagen indem sie die <a href="website">offizielle Webseite besuchen</a>. - The website link should be enclosed in <a href="website"></a> tags. - - - Einstellungen - - - OnTopReplica Aktualisierungen - - +Sie können über die Entwicklung von OnTopReplica auf dem Laufenden bleiben und verbesserungen vorschlagen indem sie die <a href="website">offizielle Webseite besuchen</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Einstellungen + + + OnTopReplica Aktualisierungen + + Installierte Version: {0} -Verfügbare Version: {1} - - - Autor: %. - Link % is replaced by string AboutAuthorContent. - +Verfügbare Version: {1} + + + Autor: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + + Must not be localized. Leave blank in non-default languages. + \ No newline at end of file From ead2e38f5115c99d4b47a90933ca0a08192c4123 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sat, 16 Jun 2012 12:48:09 +0000 Subject: [PATCH 125/164] Committed translation (pt-BR). --- OnTopReplica/Strings.pt-BR.resx | 668 +++++++++++++++++++++++++++++++- 1 file changed, 654 insertions(+), 14 deletions(-) diff --git a/OnTopReplica/Strings.pt-BR.resx b/OnTopReplica/Strings.pt-BR.resx index f50a611..6f4f6c9 100644 --- a/OnTopReplica/Strings.pt-BR.resx +++ b/OnTopReplica/Strings.pt-BR.resx @@ -1,15 +1,655 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann. + Must not be localized. Leave blank in non-default languages. + + + Check now! + + + OnTopReplica automatically checks for updates at every start up. + + + Version {0} + + + OnTopReplica + Probably doesn't need localization. :) + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + &Cancel + & marks the ALT+[] shortcut + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + \ No newline at end of file From d910aa0019913e03957e9e95700e6f7210b16554 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sat, 16 Jun 2012 12:48:22 +0000 Subject: [PATCH 126/164] Committed translation (es). --- OnTopReplica/Strings.es.resx | 1043 +++++++++++++++++++++------------- 1 file changed, 642 insertions(+), 401 deletions(-) diff --git a/OnTopReplica/Strings.es.resx b/OnTopReplica/Strings.es.resx index 9f27afd..0969b75 100644 --- a/OnTopReplica/Strings.es.resx +++ b/OnTopReplica/Strings.es.resx @@ -1,414 +1,655 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Cancela el progreso de actualización. - - - Muestra detalles acerca de OnTopReplica. - - - Reinicia la configuración de OnTopReplica a sus valores iniciales. - - - Actualiza OnTopReplica ahora. - - - Una copia liviana, en tiempo real y siempre encima de cualquier ventana. - - - Actualizar ahora! - - - OnTopReplica busca actualizaciones automáticamente. - - - OnTopReplica - Probably doesn't need localization. :) - - - ¿Reiniciar la ventana? - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancela el progreso de actualización. + + + Muestra detalles acerca de OnTopReplica. + + + Reinicia la configuración de OnTopReplica a sus valores iniciales. + + + Actualiza OnTopReplica ahora. + + + Una copia liviana, en tiempo real y siempre encima de cualquier ventana. + + + Actualizar ahora! + + + OnTopReplica busca actualizaciones automáticamente. + + + + Probably doesn't need localization. :) + + + ¿Reiniciar la ventana? + + &Reiniciar -Todos los ajustes se perderán. - - - Puede ser usado para reiniciar todos los ajustes si se ha perdido el control sobre las ventanas o se ha movido más allá de los bordes de la pantalla. - - - Reiniciar - - - ¿Reiniciar los ajustes? - - - Esta acción borrará todos los ajustes de OnTopReplica tras la instalación, volviendo a la configuración inicial (toda la información guardada, como las regiones personalizadas se perderán). - - - Reiniciar ajustes - - - &Cancelar - & marks the ALT+[] shortcut - - - Crea una región utilizando el ratón. - - - Detalles - - - Detalles en Windows Aero - - - Windows Aero sólo está disponible en Windows Vista o 7, en su versión Home Premium o superior. - - - La Composición de Escritorio no está activada. - - +Todos los ajustes se perderán. + + + Puede ser usado para reiniciar todos los ajustes si se ha perdido el control sobre las ventanas o se ha movido más allá de los bordes de la pantalla. + + + Reiniciar + + + ¿Reiniciar los ajustes? + + + Esta acción borrará todos los ajustes de OnTopReplica tras la instalación, volviendo a la configuración inicial (toda la información guardada, como las regiones personalizadas se perderán). + + + Reiniciar ajustes + + + &Cancelar + & marks the ALT+[] shortcut + + + Crea una región utilizando el ratón. + + + Detalles + + + Detalles en Windows Aero + + + Windows Aero sólo está disponible en Windows Vista o 7, en su versión Home Premium o superior. + + + La Composición de Escritorio no está activada. + + Debe activar la Composición de Escritorio seleccionando "Windows Aero" como tema utilizado en Windows. -Para ello, click derecho en el escritorio y buscar la opción en Personalizar. - - - Detalles del error - - - Error: - - - Parece que la ventana seleccionada ha sido cerrada o ya no es válida. - - - Error - - +Para ello, click derecho en el escritorio y buscar la opción en Personalizar. + + + Detalles del error + + + Error: + + + Parece que la ventana seleccionada ha sido cerrada o ya no es válida. + + + Error + + La Composición de Escritorio no está soportada en su Sistema Operativo. -Es necesario utilizar Windows Vista o 7 en su versión Home Premium o superior. - - - Composición de Escritorio no soportada - - - No se ha clonado ninguna ventana. - - - Imposible clonar la ventana. - - - Imposible adaptar la ventana. - - - No se ha podido buscar actualizaciones. - - - Parece que OnTopReplica no ha podido ser instalado mediante "ClickOnce". Tendrá que actualizar manualmente visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. - - - OnTopReplica no ha podido comprobar si hay una actualización disponible. Asegúrese de que está conectado a Internet. Si lo está, quizá la página oficial está temporalmente no disponible. - - - Modo - - - Siempre encima - - - OnTopReplica permanece siempre encima. - - - Click a través - - - OnTopReplica se comporta como una ventana transparente a través de la cual puede clickar lo que se encuentra detrás. - - - Ventana standard - - - OnTopReplica se comporta como una ventana corriente de Windows, por lo tanto puede estar en segundo plano. - - - OnTopReplica a pantalla completa - - - Desactivar - - - Activar modo - - - Seleccionar varias ventanas para activar. - - - Modo en grupo activado - - - Modo en grupo: - - - Ventanas - Column Header of list, simply refers to available windows to be cloned - - - Sitio oficial: www.codeplex.com/ontopreplica. - - - Desea activar el "Click en la ventana clonada"? - - +Es necesario utilizar Windows Vista o 7 en su versión Home Premium o superior. + + + Composición de Escritorio no soportada + + + No se ha clonado ninguna ventana. + + + Imposible clonar la ventana. + + + Imposible adaptar la ventana. + + + No se ha podido buscar actualizaciones. + + + Parece que OnTopReplica no ha podido ser instalado mediante "ClickOnce". Tendrá que actualizar manualmente visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + OnTopReplica no ha podido comprobar si hay una actualización disponible. Asegúrese de que está conectado a Internet. Si lo está, quizá la página oficial está temporalmente no disponible. + + + Modo + + + Siempre encima + + + OnTopReplica permanece siempre encima. + + + Click a través + + + OnTopReplica se comporta como una ventana transparente a través de la cual puede clickar lo que se encuentra detrás. + + + Ventana standard + + + OnTopReplica se comporta como una ventana corriente de Windows, por lo tanto puede estar en segundo plano. + + + OnTopReplica a pantalla completa + + + Desactivar + + + Activar modo + + + Seleccionar varias ventanas para activar. + + + Modo en grupo activado + + + Modo en grupo: + + + Ventanas + Column Header of list, simply refers to available windows to be cloned + + + Sitio oficial: www.codeplex.com/ontopreplica. + + + Desea activar el "Click en la ventana clonada"? + + Si este modo está activado, OnTopReplica permitirá hacer click en la ventana clonada (de esta forma se podrán hacer operaciones básicas con el ratón sin tener que activar la ventana original). -Para salir de este modo, pulsar ESC. - - - Click en la ventana clonada - - - Activar el modo Click a través? - - - Click a través solo funciona si se ha activado y la ventana es semi-transparente. - - +Para salir de este modo, pulsar ESC. + + + Click en la ventana clonada + + + Activar el modo Click a través? + + + Click a través solo funciona si se ha activado y la ventana es semi-transparente. + + En este modo, la ventana clonada se volverá ventana parcialmente transparente, permitiendo hacer click en las otras ventanas de detrás. -Para volver al modo normal en cualquier momento, activar OnTopReplica clickando en la barra de tareas (o en el icono del sistema). - - +Para volver al modo normal en cualquier momento, activar OnTopReplica clickando en la barra de tareas (o en el icono del sistema). + + No, gracias. -Se podrá activar Click a través más tarde - - - Utilizar Click a través - - - Modo Click a través - - - OnTopReplica ha sido actualizado. - - - Para poder utilizar la versión actualizada de OnTopReplica se ha de reiniciar la aplicación. - - - Actualización correcta. - - - OnTopReplica está actualizado. - - - No hay actualizaciones disponibles - - - Idioma - - - Acerca de - - - Oculta la ventana principal y muestra la ventana de "Acerca de" - - - Avanzado - - - Marco - - - Activa o desactiva el marco de la ventana. - - - Activar Click en la ventana clonada - - - Activa "Click en la ventana clonada" en la ventana que se ha clonado. - - - Activar Click a través - - - OnTopReplica se comporta como una ventana transparente a través de la cual puede hacer click sobre lo que se encuentra detrás. - - - Cerrar - - - Cierra OnToopReplica - - - 2:1 Doble - - - Pantalla completa - - - 1:2 Mitad - - - 1:1 Tamaño original - - - 1:4 Un cuarto - - - Modo en grupo - - - OnTopReplica clonará automáticamente una ventana de un grupo definido, eligiendo la que no ha estado en primer plano durante más tiempo. - - - 100% (opaco) - - - OnTopReplica será totalmente opaco. - - - Establece OnTopReplica al 25% de opacidad. - - - Establece OnTopReplica al 50% de opacidad. - - - Establece OnTopReplica al 75% de opacidad. - - - Opacidad - - - Abrir - - - Muestra OnTopReplica. - - - Abajo a la izquierda - - - Abajo a la derecha - - - Centrado - - - Desactivado - - - Posición - - - Posiciona automáticamente OnTopReplica sobre el monitor actual. - - - Arriba a la izquierda - - - Arriba a la derecha - - - Salir del modo pantalla completa - - - Restaurar última posición y tamaño - - - Activa o desactiva si OnTopReplica debe guardar la última posición y tamaño y usarla cuando se reinicie. - - - Minimizar - - - Minimiza OnTopReplica a la barra de tareas (o de sistema). - - - Seleccionar región - - - Activa o desactiva "Seleccionar región", que permite seleccionar una región específica de la ventana clonada. - - - Reiniciar ventana - - - Reinicia los ajustes de OnTopReplica y la ventana principal - - - Cambiar tamaño - - - Ir a la ventana original - - - Activa la ventana original y oculta OnTopReplica. - - - Seleccionar ventana - - - - ninguna - - - - Muestra una lista de ventanas que se pueden clonar. - - - - entera - - - - Región actual: - - - Borrar - - - Hecho - - - Altura - - - Reiniciar ventana - - - Guardar - - - Regiones guardadas - - - Regiones: - - - Anchura - - - Click derecho para empezar... - - +Se podrá activar Click a través más tarde + + + Utilizar Click a través + + + Modo Click a través + + + OnTopReplica ha sido actualizado. + + + Para poder utilizar la versión actualizada de OnTopReplica se ha de reiniciar la aplicación. + + + Actualización correcta. + + + OnTopReplica está actualizado. + + + No hay actualizaciones disponibles + + + Idioma + + + Acerca de + + + Oculta la ventana principal y muestra la ventana de "Acerca de" + + + Avanzado + + + Marco + + + Activa o desactiva el marco de la ventana. + + + Activar Click en la ventana clonada + + + Activa "Click en la ventana clonada" en la ventana que se ha clonado. + + + Activar Click a través + + + OnTopReplica se comporta como una ventana transparente a través de la cual puede hacer click sobre lo que se encuentra detrás. + + + Cerrar + + + Cierra OnToopReplica + + + 2:1 Doble + + + Pantalla completa + + + 1:2 Mitad + + + 1:1 Tamaño original + + + 1:4 Un cuarto + + + Modo en grupo + + + OnTopReplica clonará automáticamente una ventana de un grupo definido, eligiendo la que no ha estado en primer plano durante más tiempo. + + + 100% (opaco) + + + OnTopReplica será totalmente opaco. + + + Establece OnTopReplica al 25% de opacidad. + + + Establece OnTopReplica al 50% de opacidad. + + + Establece OnTopReplica al 75% de opacidad. + + + Opacidad + + + Abrir + + + Muestra OnTopReplica. + + + Abajo a la izquierda + + + Abajo a la derecha + + + Centrado + + + Desactivado + + + Posición + + + Posiciona automáticamente OnTopReplica sobre el monitor actual. + + + Arriba a la izquierda + + + Arriba a la derecha + + + Salir del modo pantalla completa + + + Restaurar última posición y tamaño + + + Activa o desactiva si OnTopReplica debe guardar la última posición y tamaño y usarla cuando se reinicie. + + + Minimizar + + + Minimiza OnTopReplica a la barra de tareas (o de sistema). + + + Seleccionar región + + + Activa o desactiva "Seleccionar región", que permite seleccionar una región específica de la ventana clonada. + + + Reiniciar ventana + + + Reinicia los ajustes de OnTopReplica y la ventana principal + + + Cambiar tamaño + + + Ir a la ventana original + + + Activa la ventana original y oculta OnTopReplica. + + + Seleccionar ventana + + + - ninguna - + + + Muestra una lista de ventanas que se pueden clonar. + + + - entera - + + + Región actual: + + + Borrar + + + Hecho + + + Altura + + + Reiniciar ventana + + + Guardar + + + Regiones guardadas + + + Regiones: + + + Anchura + + + Click derecho para empezar... + + Cancelar actualización -OnTopReplica le preguntará la próxima vez que se ejecute. - - +OnTopReplica le preguntará la próxima vez que se ejecute. + + Descargar -Instalar OnTopReplica {0} - - - La nueva versión puede ser descargada e instalada del sitio oficial. - - +Instalar OnTopReplica {0} + + + La nueva versión puede ser descargada e instalada del sitio oficial. + + Versión instalada: {0} -Versión disponible: {1} - +Versión disponible: {1} + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + + Can be left blank. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + Version {0} + + + 25% + + + 50% + + + 75% + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + \ No newline at end of file From 8fd00157f1e0fb7bfc04843fb8dea9d614e2cdaa Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sat, 16 Jun 2012 12:48:34 +0000 Subject: [PATCH 127/164] Committed translation (pt). --- OnTopReplica/Strings.pt.resx | 668 ++++++++++++++++++++++++++++++++++- 1 file changed, 654 insertions(+), 14 deletions(-) diff --git a/OnTopReplica/Strings.pt.resx b/OnTopReplica/Strings.pt.resx index f50a611..018dc88 100644 --- a/OnTopReplica/Strings.pt.resx +++ b/OnTopReplica/Strings.pt.resx @@ -1,15 +1,655 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + Check now! + + + OnTopReplica automatically checks for updates at every start up. + + + Version {0} + + + + Probably doesn't need localization. :) + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + &Cancel + & marks the ALT+[] shortcut + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + \ No newline at end of file From 02a37e25c1946d04682947135220a15985f6f6e1 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sat, 16 Jun 2012 12:48:46 +0000 Subject: [PATCH 128/164] Committed translation (cs). --- OnTopReplica/Strings.cs.resx | 1146 +++++++++++++++++++--------------- 1 file changed, 635 insertions(+), 511 deletions(-) diff --git a/OnTopReplica/Strings.cs.resx b/OnTopReplica/Strings.cs.resx index d7ac77e..2360dd2 100644 --- a/OnTopReplica/Strings.cs.resx +++ b/OnTopReplica/Strings.cs.resx @@ -1,531 +1,655 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Vytvořil: % - Link % is replaced by string AboutAuthorContent. - - - Přerušit aktualizaci. - - - Zobrazit podrobnosti o aplikaci OnTopReplica. - - - Resetovat nastavení OnTopReplica. - - - Aktualizovat OnTopReplica. - - - Rádi byste přispěli k vývoji projektu? Jste vřele vítáni při spolupráci na stávajících nebo nových překladech, případně si můžete stáhnout % ze serveru CodePlex. - - - zdrojové kódy - - - OnTopReplica je založena na knihovně WindowsFormsAero a několika dalších knihovnách a zdrojích. %. - Link % is replaced by string AboutCreditsSourcesContent. - - - Více informací - - - Spolupráce - - - Zásluhy - - - Licence - - - Aktualizace - - - Aplikace je vydána pod % licencí, která splňuje požadavky "open-source" definice dle OSI. - - - Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému. - - - O programu OnTopReplica - - - Překlady: % - {0} translators (do not end with period) - - - Aktualizuj! - - - Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. - - - Verze: % - - - Resetovat nastavení okna? - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Vytvořil: % + Link % is replaced by string AboutAuthorContent. + + + Přerušit aktualizaci. + + + Zobrazit podrobnosti o aplikaci OnTopReplica. + + + Resetovat nastavení OnTopReplica. + + + Aktualizovat OnTopReplica. + + + Rádi byste přispěli k vývoji projektu? Jste vřele vítáni při spolupráci na stávajících nebo nových překladech, případně si můžete stáhnout % ze serveru CodePlex. + + + zdrojové kódy + + + OnTopReplica je založena na knihovně WindowsFormsAero a několika dalších knihovnách a zdrojích. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Více informací + + + Spolupráce + + + Zásluhy + + + Licence + + + Aktualizace + + + Aplikace je vydána pod % licencí, která splňuje požadavky "open-source" definice dle OSI. + + + Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému. + + + O programu OnTopReplica + + + Překlady: % + {0} translators (do not end with period) + + + Aktualizuj! + + + Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. + + + Verze: % + + + Resetovat nastavení okna? + + &Resetovat -Všechna nastavení budou ztracena. - - - Operace "Resetovat okno" je vhodná k inicializaci všech nastavení pokud jste například ztratili kontrolu nad oknem nebo jej přesunuli mimo viditelnou plochu obrazovky. - - - Resetovat - - - Resetovat nastavení? - - - Operace "Resetovat nastavení" smaže veškerá uživatelská nastavení aplikace OnTopReplica a vrátí nastavení do stejného stavu jako po instalaci (všechny uložené informace, jako například uložené výřezy oken, budou ztraceny). - - - Resetovat nastavení - - - &Storno - & marks the ALT+[] shortcut - - - Označte výřez pomocí myši. - - - Podrobnosti - - - Podrobnosti k Windows Aero - - - Windows Aero je k dispozici pouze na systémech Windows Vista Home Premium a vyšších. - - - Funkce 'Desktop Composition' není povolena. - - +Všechna nastavení budou ztracena. + + + Operace "Resetovat okno" je vhodná k inicializaci všech nastavení pokud jste například ztratili kontrolu nad oknem nebo jej přesunuli mimo viditelnou plochu obrazovky. + + + Resetovat + + + Resetovat nastavení? + + + Operace "Resetovat nastavení" smaže veškerá uživatelská nastavení aplikace OnTopReplica a vrátí nastavení do stejného stavu jako po instalaci (všechny uložené informace, jako například uložené výřezy oken, budou ztraceny). + + + Resetovat nastavení + + + &Storno + & marks the ALT+[] shortcut + + + Označte výřez pomocí myši. + + + Podrobnosti + + + Podrobnosti k Windows Aero + + + Windows Aero je k dispozici pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce 'Desktop Composition' není povolena. + + Pro pokračování je nutné povolit funkci "Desktop Composition" výběrem tématu 'Windows Aero' v nastavení vzhledu Windows. -Uvedené lze provést například kliknutním pravým tlačítkem myši na plochu a zvolením akce "Přizpůsobit". - - - Podrobnosti k chybě - - - Chyba: - - - Zvolené okno bylo zavřeno nebo již není platné z jiných důvodů. - - - Chyba - - +Uvedené lze provést například kliknutním pravým tlačítkem myši na plochu a zvolením akce "Přizpůsobit". + + + Podrobnosti k chybě + + + Chyba: + + + Zvolené okno bylo zavřeno nebo již není platné z jiných důvodů. + + + Chyba + + Funkce 'Desktop Composition' není ve vašem systému podporována. -Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premium a vyšších. - - - Funkce Desktop Composition není podporována - - - Náhled nebyl nahrán. - - - Nelze vytvořit náhled. - - - Nelze vložit okno. - - - Kontrola aktualizací se nezdařila. - - - Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte <a href="http://ontopreplica.codeplex.com">domácí stránku aplikace OnTopReplica</a>). - - - Aplikaci OnTopReplica se nepodařilo zjistit, zda existuje nová verze. Zkontrolujte, zda jste připojeni k síti Internet. Pokud ano, je možné, že webové stránky projektu jsou dočasně mimo provoz. - - - Režim - - - Vždy na vrchu - - - Nastaví aplikaci OnTopReplica, aby zůstávala vždy na vrchu. - - - Proklikávání - - - Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. - - - Standardní - - - Aplikace OnTopReplica se bude chovat jako běžné okno. Jiná okna mohou překrýt okno aplikace. - - - Aplikace OnTopReplica přes celou obrazovku - - - Zrušit - - - Povolit seskupení - - - Výběrem více položek aktivujete seskupení - - - Seskupení je aktivní - - - Seskupení - - - Okna - Column Header of list, simply refers to available windows to be cloned - - - Domácí stránka: www.codeplex.com/ontopreplica. - - - Přejete si povolit "přeposílání kliknutí"? - - +Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce Desktop Composition není podporována + + + Náhled nebyl nahrán. + + + Nelze vytvořit náhled. + + + Nelze vložit okno. + + + Kontrola aktualizací se nezdařila. + + + Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte <a href="http://ontopreplica.codeplex.com">domácí stránku aplikace OnTopReplica</a>). + + + Aplikaci OnTopReplica se nepodařilo zjistit, zda existuje nová verze. Zkontrolujte, zda jste připojeni k síti Internet. Pokud ano, je možné, že webové stránky projektu jsou dočasně mimo provoz. + + + Režim + + + Vždy na vrchu + + + Nastaví aplikaci OnTopReplica, aby zůstávala vždy na vrchu. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Standardní + + + Aplikace OnTopReplica se bude chovat jako běžné okno. Jiná okna mohou překrýt okno aplikace. + + + Aplikace OnTopReplica přes celou obrazovku + + + Zrušit + + + Povolit seskupení + + + Výběrem více položek aktivujete seskupení + + + Seskupení je aktivní + + + Seskupení + + + Okna + Column Header of list, simply refers to available windows to be cloned + + + Domácí stránka: www.codeplex.com/ontopreplica. + + + Přejete si povolit "přeposílání kliknutí"? + + V tomto režimu aplikace OnTopReplica přeposílá kliknutí levého tlačítka myši do zdrojového okna (je tedy možné provádět základní ovládání zdrojového okna bez nutnosti jej aktivovat). -Ukončit režim "přeposíání kliknutí" je možné opětovným vyvolání položky v menu. - - - Přeposílání kliknutí - - - Povolit "Proklikávání" v celoobrazovkovém režimu? - - - "Proklikávání" funguje pouze pokud je povoleno v menu a okno má nastavenou průhlednost. - - +Ukončit režim "přeposíání kliknutí" je možné opětovným vyvolání položky v menu. + + + Přeposílání kliknutí + + + Povolit "Proklikávání" v celoobrazovkovém režimu? + + + "Proklikávání" funguje pouze pokud je povoleno v menu a okno má nastavenou průhlednost. + + V tomto režimu se bude okno roztažené přes celou obrazovku chovat jako poloprůhledná vrstva, přes kterou bude možné "proklikávat" na podložená okna. -K návratu do standardního režimu je možné přejít kdykoli dvojklikem na ikonu v oznamovací oblasti (traye). - - +K návratu do standardního režimu je možné přejít kdykoli dvojklikem na ikonu v oznamovací oblasti (traye). + + Ne. -Režim "Proklikávání" je možné zvolit později v menu - - - Používat "Proklikávání" - - - Režim "Proklikávání" - - - Aplikace OnTopReplica byla aktualizována. - - - Pro použití aktualizací je potřeba aplikaci OnTopReplica restartovat. - - - Aktualizace proběhla úspěšně - - - OnTopReplica je aktuální. - - - Žádná aktualizace není k dispozici. - - - Jazyk - - - O aplikaci... - - - Skryje hlavní okno a zobrazí informace "O aplikaci". - - - Okraj - - - Přepínač, který definuje, zda má aplikace OnTopReplica viditelný okraj okna. - - - Přeposílání kliknutí - - - Zapne "přeposílání kliknutí" do zdrojového okna. - - - Proklikávání - - - Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. - - - Zavřít - - - Ukončí aplikaci OnTopReplica. - - - 2:1 Dvojnásobná - - - Celá obrazovka - - - 1:2 Poloviční - - - 1:1 Jako zdroj - - - 1:4 Čtvrtinová - - - Seskupení - - - OnTopReplica bude automaticky přepínat mezi okny z uživatelsky definované skupiny tak, že zobrazeno bude vždy to naposledy deaktivované okno. - - - 100% (neprůhledné) - - - Nastaví aplikaci OnTopReplica jako neprůhlednou. - - - 25% - - - Nastaví průhlednost na 25%. - - - 50% - - - Nastaví průhlednost na 50%. - - - 75% - - - Nastaví průhlednost na 75%. - - - Průhlednost - - - Otevřít - - - Zobrazí aplikaci OnTopReplica. - - - Dolní levý roh - - - Dolní pravý roh - - - Uprostřed - - - Vypnuto - - - Umístění - - - Automatická pozice aplikace OnTopReplica vzhledem k obrazovce. - - - Horní levý roh - - - Horní pravý rok - - - Opustit celoobrazovkový režim - - - Ukládat pozici a velikost okna - - - Přepínač, který definuje, zda si má aplikace OnTopReplica ukládat poslední pozici a velikost okna a obnovovat tyto údaje po restartování aplikace. - - - Minimalizovat do traye - - - Minimalizuje aplikaci OnTopReplica jako ikonu v systémové oblasti. - - - Vybrat výřez... - - - Přepne do režimu "výřezu", který umožní zvolit pouze část okna jako náhled. - - - Resetovat nastavení okna - - - Resetuje nastavení a pozici okna aplikace OnTopReplica. - - - Velikost - - - Obnovit naposledy zobrazené okno - - - Pokud je zatrženo, OnTopReplica se pokusí po spuštění obnovit naposledy zobrazované okno. - - - Nastavení... - - - Zobrazí okno s nastavením. - - - Přepnout do okna - - - Přepne do zdrojového okna a skryje aplikaci OnTopReplica. - - - Vybrat okno - - - - žádné - - - - Zobrazí seznam oken, které je možné použít jako zdroj. - - - - celé okno - - - - Aktuální výřez: - - - Smazat - - - Hotovo - - - Výška - - - Reset - - - Uložit - - - Uložené výřezy - - - Výřezy: - - - Šířka - - - Začněte klepnutím sem pravým tlačítkem myši... - - - Zavřít toto okno - - - Tyto klávesové zkratky jsou platné napříč systémem a je možné je použít i pokud OnTopReplica není aktivním oknem. - - - Zobrazit/Skrýt - - - Klávesové zkratky: - - - Jazyk: - - - Vyžaduje restart. - - - Nastavení - - +Režim "Proklikávání" je možné zvolit později v menu + + + Používat "Proklikávání" + + + Režim "Proklikávání" + + + Aplikace OnTopReplica byla aktualizována. + + + Pro použití aktualizací je potřeba aplikaci OnTopReplica restartovat. + + + Aktualizace proběhla úspěšně + + + OnTopReplica je aktuální. + + + Žádná aktualizace není k dispozici. + + + Jazyk + + + O aplikaci... + + + Skryje hlavní okno a zobrazí informace "O aplikaci". + + + Okraj + + + Přepínač, který definuje, zda má aplikace OnTopReplica viditelný okraj okna. + + + Přeposílání kliknutí + + + Zapne "přeposílání kliknutí" do zdrojového okna. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Zavřít + + + Ukončí aplikaci OnTopReplica. + + + 2:1 Dvojnásobná + + + Celá obrazovka + + + 1:2 Poloviční + + + 1:1 Jako zdroj + + + 1:4 Čtvrtinová + + + Seskupení + + + OnTopReplica bude automaticky přepínat mezi okny z uživatelsky definované skupiny tak, že zobrazeno bude vždy to naposledy deaktivované okno. + + + 100% (neprůhledné) + + + Nastaví aplikaci OnTopReplica jako neprůhlednou. + + + 25% + + + Nastaví průhlednost na 25%. + + + 50% + + + Nastaví průhlednost na 50%. + + + 75% + + + Nastaví průhlednost na 75%. + + + Průhlednost + + + Otevřít + + + Zobrazí aplikaci OnTopReplica. + + + Dolní levý roh + + + Dolní pravý roh + + + Uprostřed + + + Vypnuto + + + Umístění + + + Automatická pozice aplikace OnTopReplica vzhledem k obrazovce. + + + Horní levý roh + + + Horní pravý rok + + + Opustit celoobrazovkový režim + + + Ukládat pozici a velikost okna + + + Přepínač, který definuje, zda si má aplikace OnTopReplica ukládat poslední pozici a velikost okna a obnovovat tyto údaje po restartování aplikace. + + + Minimalizovat do traye + + + Minimalizuje aplikaci OnTopReplica jako ikonu v systémové oblasti. + + + Vybrat výřez... + + + Přepne do režimu "výřezu", který umožní zvolit pouze část okna jako náhled. + + + Resetovat nastavení okna + + + Resetuje nastavení a pozici okna aplikace OnTopReplica. + + + Velikost + + + Obnovit naposledy zobrazené okno + + + Pokud je zatrženo, OnTopReplica se pokusí po spuštění obnovit naposledy zobrazované okno. + + + Nastavení... + + + Zobrazí okno s nastavením. + + + Přepnout do okna + + + Přepne do zdrojového okna a skryje aplikaci OnTopReplica. + + + Vybrat okno + + + - žádné - + + + Zobrazí seznam oken, které je možné použít jako zdroj. + + + - celé okno - + + + Aktuální výřez: + + + Smazat + + + Hotovo + + + Výška + + + Reset + + + Uložit + + + Uložené výřezy + + + Výřezy: + + + Šířka + + + Začněte klepnutím sem pravým tlačítkem myši... + + + Zavřít toto okno + + + Tyto klávesové zkratky jsou platné napříč systémem a je možné je použít i pokud OnTopReplica není aktivním oknem. + + + Zobrazit/Skrýt + + + Klávesové zkratky: + + + Jazyk: + + + Vyžaduje restart. + + + Nastavení + + Zrušit aktualizaci -Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. - - +Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. + + Pokračovat -Instalovat OnTopReplica {0}. - - - Nová verze bude automaticky stažena a nainstalována. - - +Instalovat OnTopReplica {0}. + + + Nová verze bude automaticky stažena a nainstalována. + + Nainstalovaná verze: {0} -Dostupná verze: {1} - - - Verze {0} je k dispozici - - - staženo {0}/{1} bajtů. +Dostupná verze: {1} + + + Verze {0} je k dispozici + + + staženo {0}/{1} bajtů. {0} downloaded bytes {1} total bytes {0} bytes geladen von {1} bytes gesamt {0} downloaded bytes {1} total bytes {0} downloaded bytes {1} total bytes -{0} downloaded bytes {1} total bytes - - - Stahování... - - +{0} downloaded bytes {1} total bytes + + + Stahování... + + Poslední verze aplikace OnTopReplica je již nainstalována. Aktualizace se kontrolují automaticky při každém spuštění. -Na <a href="website">oficiálních stránkách</a> můžete sledovat aktuální vývoj aplikace nebo hlásit chyby či navrhovat vylepšení. - The website link should be enclosed in <a href="website"></a> tags. - - - Poslední stabilní verze byla vydána {0}. - {0} last version release date - - - OnTopReplica je aktuální - - +Na <a href="website">oficiálních stránkách</a> můžete sledovat aktuální vývoj aplikace nebo hlásit chyby či navrhovat vylepšení. + The website link should be enclosed in <a href="website"></a> tags. + + + Poslední stabilní verze byla vydána {0}. + {0} last version release date + + + OnTopReplica je aktuální + + Instalovat -OnTopReplica bude nyní ukončena a spustí se aktualizace. - - - Nová verze {0} OnTopReplica je připravena k instalaci. - - - Aktualizace je připravena - - - Aktualizace OnTopReplica - +OnTopReplica bude nyní ukončena a spustí se aktualizace. + + + Nová verze {0} OnTopReplica je připravena k instalaci. + + + Aktualizace je připravena + + + Aktualizace OnTopReplica + + + + Must not be localized. Leave blank in non-default languages. + + + + Can be left blank. + + + + Must not be localized. Leave blank in non-default languages. + + + + Probably doesn't need localization. :) + + + Advanced + \ No newline at end of file From 3fa484833a76bf9c719da38d45ee61d9491accd8 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sat, 16 Jun 2012 12:48:58 +0000 Subject: [PATCH 129/164] Committed translation (no). --- OnTopReplica/Strings.no.resx | 668 ++++++++++++++++++++++++++++++++++- 1 file changed, 654 insertions(+), 14 deletions(-) diff --git a/OnTopReplica/Strings.no.resx b/OnTopReplica/Strings.no.resx index f50a611..3f04f24 100644 --- a/OnTopReplica/Strings.no.resx +++ b/OnTopReplica/Strings.no.resx @@ -1,15 +1,655 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann. + Must not be localized. Leave blank in non-default languages. + + + Check now! + + + OnTopReplica automatically checks for updates at every start up. + + + Version {0} + + + + Probably doesn't need localization. :) + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + &Cancel + & marks the ALT+[] shortcut + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + \ No newline at end of file From 3142b4052f3c744542929531859b064f37eaff99 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 20 Jun 2012 17:14:49 +0000 Subject: [PATCH 130/164] Committed translation (ru). --- OnTopReplica/Strings.ru.resx | 354 +++++++++++++++++------------------ 1 file changed, 173 insertions(+), 181 deletions(-) diff --git a/OnTopReplica/Strings.ru.resx b/OnTopReplica/Strings.ru.resx index 018dc88..bb3d36d 100644 --- a/OnTopReplica/Strings.ru.resx +++ b/OnTopReplica/Strings.ru.resx @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Created by: %. + Автор: %. Link % is replaced by string AboutAuthorContent. @@ -126,57 +126,57 @@ Must not be localized. Leave blank in non-default languages. - Abort update process. + Остановить обновление - Show details about OnTopReplica. + О программе - Reset all OnTopReplica settings. + Установить настройки по умолчанию - Update OnTopReplica now. + Обновить программу - Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + Хотите поддержать проект? Примите участие в улучшении готовых переводов, создайте свой на вашем родном языке или помогите улучшить % на «CodePlex». - source code + источниках кода - OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Программа основана на библиотеке «WindowsFormsAero» и некоторых других библиотеках и источниках кода. %. Link % is replaced by string AboutCreditsSourcesContent. - Read the full credits + Прочитайте полные сведения об источниках - Contribute + Принять участие в разработке - Credits + Сведения об источниках - License + Соглашение - Updates + Обновление - The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + Программа выпущена в соответствии с лицензией %, которая подходит под определение программы с открытым исходом кодом в представлении OSI. - Microsoft Reciprocal (MS-RL) + Can be left blank. - A lightweight, real-time, always on top thumbnail of a window of your choice. + Просмотр части выбранного вами окна — просто и легко, в реальном времени, всегда поверх остальных окон. - About OnTopReplica + О программе - Translators: {0} + Переводчики: {0} {0} translators (do not end with period) @@ -184,472 +184,464 @@ Must not be localized. Leave blank in non-default languages. - Check now! + Обновить сейчас - OnTopReplica automatically checks for updates at every start up. + Программа автоматически проверяет наличие обновлений при запуске - Version {0} + Версия {0} Probably doesn't need localization. :) - Reset window completely? + Сбросить окно? - &Reset -All settings will be lost. + &Сброс +Все настройки будут удалены. - Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + Можно использовать для сброса всех настроек, если Вы утратили контроль над окном либо поместили его за пределы экрана. - Reset + Сброс - Reset settings? + Сбросить настройки? - This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + по умолчанию (вся сохраненная после установки информация вроде сохраненных областей будет утрачена). - Reset settings + Сбросить настройки - &Cancel + &Отмена & marks the ALT+[] shortcut - Draw regions using mouse. + Выберите области мышью - Details + Подробности - Details on Windows Aero + Подробности о «Windows Aero» - Windows Aero is only available on Windows Vista Home Premium or higher. + Функция «Windows Aero» доступна только на системах «Windows», начиная с «Vista Home Premium», кроме версий «Starter» и «Home Basic» (по умолчанию). - 'Desktop Composition' is not enabled. + Композиция слоев рабочего стола недоступна. - You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. - -To do so, right-click on the desktop and click on Personalize. + Для включения правой кнопкой мыши по рабочему столу и выберите «Персонализацию». - Error details + Описание ошибки - Error: + Ошибка: - It appears that the selected window has been closed or is not valid anymore. + Вероятно, выбранное окно было закрыто или больше не отвечает. - Error + Ошибка - Desktop Composition' is not supported on your Operating System. -You must run this application on Windows Vista Home Premium or better. + Для запуска программы требуется «Windows Vista Home Premium» или другие версии «Windows» с поддержкой «Aero». - Desktop Composition unsupported + Композиция слоев рабочего стола не поддерживается. - No thumbnail loaded. + Окно просмотра не загружено. - Unable to create thumbnail + Невозможно создать окно просмотра. - Unable to fit window. + Невозможно уместить в окне. - Unable to check for updates. + Невозможно проверить обновления. - It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + Вероятно, программа была установлена с использованием функции «ClickOnce». Вам необходимо обновить ее самостоятельно. (Посетите <a href="http://ontopreplica.codeplex.com"> домашнюю страницу программы</a>). - OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + Программе не удалось проверить доступность новой версии. Удостоверьтесь, что подключение к Интернету присутствует. Если присутствует, сайт может временно не работать. - Mode + Режим - Always on top + Всегда поверх других окон - Forces OnTopReplica to stay always on top. + Всегда удерживать программу поверх других окон. - Click through + Пропускать щелчки мышью - OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + Программа будет работать, как прозрачный слой, позволяющий щелкать мышью по нижележащим окнам. - Standard + Обычный - Behaves like an ordinary window. You can bring other windows above OnTopReplica. + Программа будет работать, как обычное окно. Вы сможете помещать другие окна поверх окна программы. - OnTopReplica fullscreen + Полноэкранный режим - Disable + Отключить - Enable Group mode + Включить групповой режим - Select multiple windows to enable. + Для включения выберите несколько окон. - Group switch mode is enabled. + Групповой режим включен. - Group switch mode: + Групповой режим: - Windows + Окна Column Header of list, simply refers to available windows to be cloned - Homepage: www.codeplex.com/ontopreplica. + Домашняя страница: www.codeplex.com/ontopreplica. - Do you want to enable "click forwarding"? + Хотите включить передачу щелчков мышью главному окну? - If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). - -To exit this mode, push ESC. + Нажать Esc для выхода из этого режима. + There appears to be a missing part. - Click forwarding + Передача щелчков мышью главному окну. + This appears to be wrong. - Enable Click-Through mode? + Включить режим сквозных щелчков мышью? - Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + Режим сквозных щелчков мышью работает, только когда он включен в подменю «Изменить размер» и окно полупрозрачно. - In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. - -To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + Для возвращения в обычный режим в любое время, разверните программу щелчком по ней в панели задач (или лотке). - No, thank you. -You can enable click-through later + Нет, спасибо +Вы можете включить сквозные щелчки мышью в другой раз. - Use Click-Through + Использовать сквозные щелчки мышью - Click-Through mode + Режим сквозных щелчков мышью - OnTopReplica has been updated. + Программа обновлена. - In order to use the updated version of OnTopReplica you'll have to restart the application. + Для использования обновленной версии программы ее необходимо перезапустить. - Update successful + Обновление успешно - OnTopReplica is up to date. + Используется последняя версия программы. - No update available + Обновлений нет - Language + Язык - About... + О программе... - Hides the main window and displays the "about" box. + Сворачивает главное окно и показывает окно «О программе». - Advanced + Дополнительно - Show window border + Показывать границу окна - Toggles the display of the window border. + Изменяет видимость границы окна. - Enable Click forwarding + Включить передачу щелчков мышью главному окну - Enable "click forwarding" to the cloned window. + Включить передачу щелчков мышью скопированному окну. - Enable Click-Through + Включить сквозные щелчки мышью - OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + Программа будет работать, как прозрачный слой, позволяющий щелкать мышью по нижележащим окнам. - Close + Закрыть - Closes OnTopReplica. + Закрыть программу. - 2:1 Double + 2:1 Двойной - Fullscreen + Полноэкранный режим - 1:2 Half + 1:2 Половина - 1:1 Fit to window + 1:1 По размерам окна - 1:4 Quarter + 1:4 Четверть - Group Switch mode + Групповой режим - OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + Программа автоматически скопирует окно из группы, определенной пользователем, переключаясь на то, которое побывало на переднем плане первым из всех. + Fixed - 100% (opaque) + 100% (непрозрачный) - Sets OnTopReplica to be completely opaque. + Делает программу полностью непрозрачной. 25% - Sets OnTopReplica to 25% opacity. + Делает программу прозрачной на 25%. 50% - Sets OnTopReplica to 50% opacity. + Делает программу прозрачной на 50%. 75% - Sets OnTopReplica to 75% opacity. + Делает программу прозрачной на 75%. - Opacity + Прозрачность - Open + Открыть - Displays OnTopReplica. + Показывает программу. - Bottom Left + Снизу слева - Bottom Right + Снизу справа - Center + В центре - Disabled + Отключено - Position lock + Закрепить положение - Automatically position OnTopReplica on the current screen. + Автоматически разместить программу на текущем экране. - Top Left + Сверху слева - Top Right + Сверху справа - Quit fullscreen mode + Выйти из полноэкранного режима - Recall last position and size + Использовать последнее положение и размер - Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + Сохранение программой своего последнего положения и размера с их использованием при запуске. - Minimize + Свернуть - Minimizes OnTopReplica to the task bar (or the tray). + Сворачивает программу в панель задач (или лоток). - Select region... + Выбрать область... - Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + Переключается в «режим области», позволяющий выбирать для показа ограниченную область исходного окна. - Reset window + Сбросить окно - Resets OnTopReplica settings and its main window. + Сбрасывает настройки программы и ее главное окно. - Resize + Изменить размер - Restore last cloned window + Восстанавливать последнее копированное окно - When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + Если включено, программа попытается при запуске восстановить окно, скопированное последним. - Settings... + Настройки... - Displays the settings panel. + Показывает панель настроек. - Switch to window + Переключиться на окно - Switches to the source window and hides OnTopReplica. + Переключается на исходное окно и скрывает программу. - Select window + Выбрать окно - - none - + - пусто - - Displays a list of window you can select as thumbnail source. + Показывает список окон, которые можно выбрать в качестве источников для копирования. - - whole - + - полностью - - Current region: + Выбранная область: - Delete + Удалить - Done + Готово - Height + Высота - Reset + Сбросить - Save + Сохранить - Stored regions + Сохраненные области - Regions: + Области: - Width + Ширина - Right-click here to start... + Для начала щелкните тут правой кнопкой мыши... - Clone current window + Скопировать текущее окно - These system-wide shortcuts can also be used when OnTopReplica is not in focus. + Эти глобальные сочетания клавиш можно использовать также когда программа на заднем плане. - Show/Hide + Показать/Скрыть - Hot keys: + Сочетания клавиш: - Language: + Язык: - Requires a restart. + Требуется перезапуск. - Settings + Настройки - Cancel update -OnTopReplica will prompt you the next time it is started. + Отменить обновление +Программа уведомит Вас об обновлении при следующем запуске. - Download -Install OnTopReplica {0}. + Скачать +Установить программу «OnTopReplica» {0}. - The new version can be downloaded and installed from the official website. + Новую версию можно скачать и установить с официального сайта. - Installed version: {0} -Available version: {1} + Установленная версия: {0}. +Доступная версия: {0}. - Version {0} available + Доступна версия {0} - {0}/{1} bytes downloaded. - {0} downloaded bytes {1} total bytes -{0} bytes geladen von {1} bytes gesamt -{0} downloaded bytes {1} total bytes -{0} downloaded bytes {1} total bytes -{0} downloaded bytes {1} total bytes + Скачано {0} из {1} + {0} downloaded bytes {1} total bytes - Downloading... + Загрузка... - The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + Установлена последняя версия программы «OnTopReplica». Программа автоматически проверяет обновления при каждом запуске. -You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. +Вы можете следить за обновлениями программы, предлагать улучшения и новые функции на <a href="website">сайте программы </a>. The website link should be enclosed in <a href="website"></a> tags. - Latest stable version released on {0}. + Последняя стабильная версия выпущена {0}. {0} last version release date - OnTopReplica is up to date + Вы пользуетесь последней версией программы - Install -OnTopReplica will be closed and the update installed. + Установить +Программа будет закрыта для установки обновления. - OnTopReplica version {0} is ready to be installed on your computer. + «OnTopReplica» (версия {0}) готова к установке на вашем компьютере. - Update ready + Обновление готово - OnTopReplica updates + Программа обновляется \ No newline at end of file From 8bd6c52107d1bff2004d51b7a977482bc9940c04 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 20 Jun 2012 17:15:01 +0000 Subject: [PATCH 131/164] Committed translation (zh-CHS). --- OnTopReplica/Strings.zh-Hans.resx | 655 ++++++++++++++++++++++++++++++ 1 file changed, 655 insertions(+) create mode 100644 OnTopReplica/Strings.zh-Hans.resx diff --git a/OnTopReplica/Strings.zh-Hans.resx b/OnTopReplica/Strings.zh-Hans.resx new file mode 100644 index 0000000..b68ff04 --- /dev/null +++ b/OnTopReplica/Strings.zh-Hans.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 作者 % + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + 终止更新过程 + + + 展开关于OnTopReplica的详细内容 + + + 重置OnTopReplica的所有设定 + + + 现在更新OnTopReplica + + + 想为本项目出一份力吗?欢迎你参与到翻译工作中来,抑或检视从CodePlex处取得的 % + + + 源代码 + + + OnTopReplica基于WindowsFormsAero库和其他库及代码。% + Link % is replaced by string AboutCreditsSourcesContent. + + + 了解全部 + + + 贡献 + + + 制作 + + + 授权 + + + 更新 + + + 应用程序根据%许可获得授权,即指遵循OSI界定的“开源”条款 + + + 微软互惠授权(MS-RL) + Can be left blank. + + + 一个轻量级、实时、窗口缩略图置顶工具 + + + 关于OnTopReplica + + + 译者:{0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + 检查更新! + + + OnTopReplica自动在每次开启时检查更新 + + + 版本{0} + + + + Probably doesn't need localization. :) + + + 完全重置窗口吗? + + + &重置 +所有设定均会丢失 + + + 可以在没辙的时候用来重置所有设定 + + + 重置 + + + 重置设定吗? + + + 这将清除所有OnTopReplica的设定,并回到刚安装完的状态(所有保存的信息、保存的选区,均会丢失) + + + 重置设定 + + + &取消 + & marks the ALT+[] shortcut + + + 使用鼠标划出区域 + + + 详细信息 + + + Windows Aero的详细信息 + + + 为什么Windows Aero特效只在Windows Vista Home Premium或更高级版本中出现 + + + 未启用桌面组合 + + + 程序需要系统的Aero主题配合 + +桌面右击,个性化,选择主题 + + + 详细错误 + + + 错误: + + + 选中的窗口似乎已经关闭或已失效 + + + 错误 + + + 您的操作系统不支持桌面组合 +请在Windows Vista Home Premium或更高版本中运行 + + + 不支持桌面组合 + + + 无缩略图可加载 + + + 无法创建缩略图 + + + 无法适应窗口 + + + 无法检查更新 + + + OnTopReplica不是用“ClickOnce”方式安装的。您不得不手动更新了(访问 <a href="http://ontopreplica.codeplex.com">OnTopReplica的主页</a>) + + + OnTopReplica无法检测更新,请确保已连接到互联网。当然,也有可能是网站暂时关闭 + + + 模式 + + + 总是置顶 + + + 强制OnTopReplica置顶 + + + 点击穿过 + + + OnTopReplica会像一个透明的覆盖层并允许您点击其后面的窗口 + + + 标准模式 + + + 变回普通窗口,OnTopReplica会被其他窗口阻挡 + + + OnTopReplica全屏幕 + + + 取消 + + + 激活组模式 + + + 选择多个窗口以启用 + + + 自切换组模式已激活 + + + 自切换组模式: + + + 窗口 + Column Header of list, simply refers to available windows to be cloned + + + 主页:www.codeplex.com/ontopreplica + + + 您想启用“点击转发”吗? + + + 如果启用此模式,OnTopReplica会将所有鼠标点击转发到被克隆的窗口上(这将允许您绕过窗口激活直接对被克隆的窗口做一些基本的鼠标操作) + +想退出此模式,按ESC + + + 点击转发 + + + 启用点击穿过模式吗? + + + 点击穿过功能仅在缩放启用或窗口半透明的状态下方能工作 + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + 不了,谢谢 +等下再启用点击穿过 + + + 使用点击穿过 + + + 点击穿过模式 + + + OnTopReplica已更新 + + + 为能使用新版OnTopReplica,您必须重新启动本程序 + + + 更新成功 + + + OnTopReplica是最新的 + + + 没有可用的更新 + + + 语言 + + + 关于... + + + 隐藏著窗口,并显示“关于”对话框 + + + 高级 + + + 显示窗口边框 + + + 切换显示窗口边框 + + + 启用点击转发 + + + 对被克隆的窗口启用“点击转发” + + + 启用点击穿过 + + + OnTopReplica会像一个透明的覆盖层并允许您点击其后面的窗口 + + + 退出 + + + 关闭OnTopReplica + + + 200% + + + 全屏 + + + 50% + + + 100% + + + 25% + + + 自切换组模式 + + + OnTopReplica会自动定位到自切换组中最不活跃的那个程序,并克隆其窗口 + + + 100% + + + 把OnTopReplica设为完全不透明状态 + + + 25% + + + 把OnTopReplica的不透明度设为25% + + + 50% + + + 把OnTopReplica的不透明度设为50% + + + 75% + + + 把OnTopReplica的不透明度设为75% + + + 不透明度 + + + 打开 + + + 显示OnTopReplica + + + 左下 + + + 右下 + + + 中央 + + + 取消 + + + 锁定位置 + + + 自动在当前屏幕定位OnTopReplica + + + 左上 + + + 右上 + + + 退出全屏模式 + + + 记忆窗口大小和位置 + + + 选择是否记忆窗口大小和位置,并在下次运行时恢复 + + + 最小化 + + + 最小化到任务栏上 + + + 选择区域... + + + 截取部分窗口内容 + + + 重置窗口 + + + 重置OnTopReplica的设定及其主窗口 + + + 缩放 + + + 恢复上次克隆的窗口 + + + 激活此项,程序开启时将尝试恢复最后克隆的窗口 + + + 设置... + + + 显示设置面板 + + + 切换到窗口 + + + 切换到源窗口并隐藏OnTopReplica + + + 选取窗口 + + + - 无 - + + + 显示窗口列表以选择缩略图来源 + + + - 全部 - + + + 当前选区: + + + 删除 + + + 完成 + + + 高度 + + + 重来 + + + 保存 + + + 保存选区 + + + 选区: + + + 宽度 + + + 点击右键以开始... + + + 克隆当前窗口 + + + 全局快捷键,前后台运行均会响应 + + + 显示/隐藏 + + + 快捷键: + + + 语言: + + + 需要重启本程序 + + + 设置 + + + 取消更新 +OnTopReplica会在下次开启的时候提示更新 + + + 下载 +安装OnTopReplica{0} + + + 可以从官网上下载和安装程序的最新版 + + + 安装的版本:{0} +可用的版本:{1} + + + 版本{0}可用 + + + 下载了{0}/{1}字节 + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + 下载中... + + + 已安装最新版的OnTopReplica,程序每次开启都会自动检查更新。 + +你可以<a href="website">访问官网</a>来了解OnTopReplica的最新进展并提出自己的建议 + The website link should be enclosed in <a href="website"></a> tags. + + + 最新稳定版于{0}释出 + {0} last version release date + + + OnTopReplica是最新的 + + + 安装 +OnTopReplica将被关闭以安装更新 + + + 版本{0}的OnTopReplica已经准备在你电脑上安装 + + + 准备更新 + + + OnTopReplica更新 + + \ No newline at end of file From c516afd6282062394d9982ae85d963e31edfaafb Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 20 Jun 2012 17:15:49 +0000 Subject: [PATCH 132/164] Committed translation (es). --- OnTopReplica/Strings.es.resx | 79 +++++++++++++++++------------------- 1 file changed, 37 insertions(+), 42 deletions(-) diff --git a/OnTopReplica/Strings.es.resx b/OnTopReplica/Strings.es.resx index 0969b75..673af94 100644 --- a/OnTopReplica/Strings.es.resx +++ b/OnTopReplica/Strings.es.resx @@ -517,7 +517,7 @@ Instalar OnTopReplica {0} Versión disponible: {1} - Created by: %. + Autor: %. Link % is replaced by string AboutAuthorContent. @@ -525,42 +525,42 @@ Versión disponible: {1} Must not be localized. Leave blank in non-default languages. - Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + Contribuye con el proyecto. + Unfinished. - source code + código fuente - OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. - Link % is replaced by string AboutCreditsSourcesContent. + OnTopReplica está basado en la librería WindowsFormsAero y otras librerías y códigos fuente. %. - Read the full credits + Leer los créditos completos - Contribute + Contribuir - Credits + Créditos - License + Licencia - Updates + Actualizaciones - The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + La aplicación está bajo la licencia %, por lo que rigen los términos de la definición "open-source" especificada por OSI. Can be left blank. - About OnTopReplica + Acerca de OnTopReplica - Translators: {0} + Traductores: {0} {0} translators (do not end with period) @@ -568,7 +568,7 @@ Versión disponible: {1} Must not be localized. Leave blank in non-default languages. - Version {0} + Versión: {0} 25% @@ -580,76 +580,71 @@ Versión disponible: {1} 75% - Restore last cloned window + Restaurar la última ventana clonada - When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + Si está activado, OnTopReplica intentará restaurar la última ventana clonada al iniciarse. - Settings... + Ajustes... - Displays the settings panel. + Muestra el panel de ajustes. - Clone current window + Clona ventana actual - These system-wide shortcuts can also be used when OnTopReplica is not in focus. + Los atajos de teclado pueden ser utilizados aunque OnTopReplica no esté en primer plano. - Show/Hide + Mostrar/ocultar - Hot keys: + Atajos de teclado: - Language: + Idioma: - Requires a restart. + Requiere reinicio. - Settings + Ajustes - Version {0} available + Versión {0} disponible - {0}/{1} bytes downloaded. - {0} downloaded bytes {1} total bytes -{0} bytes geladen von {1} bytes gesamt -{0} downloaded bytes {1} total bytes -{0} downloaded bytes {1} total bytes -{0} downloaded bytes {1} total bytes + {0}/{1} bytes descargados. - Downloading... + Descargando... - The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + La última versión de OnTopReplica ya está instalada. El programa buscará actualizaciones automáticamente con cada inicio. -You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. +Puedes mantenerte informado del desarrollo de OnTopReplica, sugerir mejoras y nuevas características <a href="website">visitando la web oficial</a>. The website link should be enclosed in <a href="website"></a> tags. - Latest stable version released on {0}. + Última versión estable liberada en {0}. {0} last version release date - OnTopReplica is up to date + OnTopReplica está actualizado - Install -OnTopReplica will be closed and the update installed. + Instalar +OnTopReplica se cerrará y se instalará la actualización. - OnTopReplica version {0} is ready to be installed on your computer. + La versión de OnTopReplica {0} está lista para ser instalada en su ordenador. - Update ready + Actualización lista - OnTopReplica updates + Actualizaciones de OnTopReplica \ No newline at end of file From 529f9eaf9e8adeb7fe3c2776340856b834bfa387 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 20 Jun 2012 17:16:08 +0000 Subject: [PATCH 133/164] Committed translation (tr). --- OnTopReplica/Strings.tr.resx | 652 +++++++++++++++++++++++++++++++++++ 1 file changed, 652 insertions(+) create mode 100644 OnTopReplica/Strings.tr.resx diff --git a/OnTopReplica/Strings.tr.resx b/OnTopReplica/Strings.tr.resx new file mode 100644 index 0000000..aad4cfb --- /dev/null +++ b/OnTopReplica/Strings.tr.resx @@ -0,0 +1,652 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Yazar Hakkında: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Güncellemeyi iptal et. + + + OnTopRelica hakkında ayrıntıları görüntüle. + + + Bütün OnTopRelica ayarlarını sıfırla. + + + OnTopRelica'yı güncelle. + + + Programa katkıda bulunmak ister misiniz? Mevcut çevirileri geliştirmenizi memnuniyetle karşılarız, programı kendi dilinize çevirin veya %'e CodePlex'ten bir göz atın. + + + kaynak kod + + + OnTopReplica'nın temelinde WindowsFormsAero kütüphanesi ve bazı diğer kütüphaneler ile kaynak kodları vardır. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Tüm Yapımcıları Gör + + + Katkı + + + Yapımcılar + + + Lisans + + + Güncellemeler + + + Bu uygulama OSI tarafından belirtilmiş "açık-kaynak" tanımının koşullarını yerine getiren % lisansı tarafından lisanslanmıştır. + + + + Can be left blank. + + + Seçtiğiniz pencerenin hafif, gerçek zamanlı ve her zaman en üstteki küçük resmi. + + + OnTopReplica hakkında + + + Çevirmenler: {0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + Kontrol Et! + + + OnTopReplica her başlangıçta güncellemeleri otomatik olarak kontrol eder. + + + Versiyon {0} + + + OnTopReplica + Probably doesn't need localization. :) + + + Pencereyi tamamen yeniden ayarla? + + + &Reset +Bütün ayarlar kaybolacak. + + + Eğer pencere üzerindeki denetimizi kaybettiyseniz veya pencere ekran sınırları dışına çıktı ise kullanılabilir. + + + Sıfırla + + + Ayarları sıfırla? + + + Bu OnTopReplica'nın bütün ayarlarını silip, yüklemeden hemen sonraki haline geri döndürecektir (bütün kaydedilen bilgi, saklı bölgeler kaybolacaktır). + + + Ayarları sıfırla + + + &Vazgeç + & marks the ALT+[] shortcut + + + Farenizi kullarak bölgeler çizin. + + + Ayrıntılar + + + Windows Aero'da ki ayrıntılar + + + Windows Aero sadece Windows Vista Home Premium veya daha yüksek sürümlerde bulunmaktadır. + + + Masaüstü bileşimi aktif değil. + + + Windows tarafından kullanılan 'Windows Aero'yu tema olarak seçerek masaüstü bileşimini aktif etmelisiniz. + +Bunu yapmak için, masaüstüne sağ tıklayın ve Kişiselleştir'e tıklayın. + + + Hata detayları + + + Hata: + + + Seçtiğiniz pencere kapatılmış veya artık geçerli değil gibi görünüyor. + + + Hata + + + Masaüstü bileşimi İşletim Sisteminiz tarafından desteklenmiyor. +Bu programı Windows Vista Home Premium veya daha iyisinde çalıştırmalısınız. + + + Masaüstü Bileşimi Desteklenmiyor + + + Hiçbir küçükresim yüklenmedi. + + + Küçükresim yaratılamıyor + + + Pencereye oturtulamıyor. + + + Güncellemeler kontrol edilemiyor. + + + OnTopReplica 'ClickOnce' kullanılara yüklenmemiş gözüküyor. Elle güncellemeniz gerek (<a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>'i ziyaret edin). + + + OnTopReplica güncellenmiş bir versiyonun mevcut olup olmadığını denetleyemiyor. İnternete bağlı olduğunuzdan emin olun. Eğer bağlı iseniz websitesi geçici olarak servis dışı olabilir. + + + Mod + + + Her zaman üstte + + + OnTopReplica'nın her zaman en üstte kalması için zorlar. + + + Tıkla + + + OnTopReplica arkadaki pencerelere direkt tıklamanıza izin veren transparan bir kaplama gibi davranır. + + + Standart + + + Normal bir pencere gibi davranır. Diğer pencereleri OnTopReplica'nın üstüne getirebilirsiniz. + + + OnTopReplica tam ekran + + + Etkisizleştir + + + Grup modu etkinleştir + + + Etkinleştirilecek çoklu pencereleri seçiniz. + + + Grup değiştirme modu etkin. + + + Grup değiştirme modu: + + + Pencereler + Column Header of list, simply refers to available windows to be cloned + + + Anasayfa: www.codeplex.com/ontopreplica. + + + "tıkla yönlendir"'i etkinleştirmek ister misiniz? + Should be capitalized? + + + Eğer bu mod etkinleştirilmiş ise, OnTopReplica bütün sol fare tıklamalarını klonlanmış pencereye iletecektir(bu size klonlanmış pencere üzerinde onu aktifleştirmeden temel fare işlemlerinizi yapabilmenize izin verir). + +Bu moddan çıkmak için, ESC'ye basınız. + + + Tıkla yönlendir + + + Direkt-Tıkla modunu etkinleştir? + + + Direk-tıkla sadece Yeniden boyutlandır altmenüsünde etkinleştirildiyse ve pencere yarı-transparan ise çalışır. + + + Bu modda tamekran pencere kısmen transparan kaplama gibi davranır, arkasındaki pencerelere tıklamanıza izin verir. + +Herhangi bir zamanda normal moda dönmek için, OnTopReplica görev çubuğuna (veya sistem simgesine) tıklayarak aktifleştirin. + + + Hayır, teşekkür ederim +direkt-tıklayı daha sonra etkinleştirebilirsiniz. + Second sentence capitalized? + + + Direkt-Tıkla kullan + + + Direkt-Tıkla modu + + + OnTopReplica güncellendi. + + + OnTopReplica'nın güncellenmiş versiyonunu kullanmak için uygulamayı yeniden başlatmalısınız. + + + Güncelleme başarılı + + + OnTopReplica güncel. + + + Güncelleme mevcut değil + + + Dil + + + Hakkında... + + + Ana pencereyi gizler ve "hakkında" kutusunu gösterir. + + + Gelişmiş + + + Pencere kenarlığı göster + + + Pencere kenarlığı gösterimini değiştirir. + + + Tıkla yönlendir'i etkinleştir + + + Klonlanmış pencerede "tıkla yönlendir"'i etkinleştir. + + + Direkt-Tıkla'yı etkinleştir + + + OnTopReplica arkadaki pencerelere direkt tıklamanıza izin veren transparan bir kaplama gibi davranır. + + + Kapat + + + OnTopReplica'yı kapatır. + + + 2:1 Çift + + + Tamekran + + + 1:2 Yarım + + + 1:1 pencereye sığdır + + + 1:4 Çeyrek + + + Grup Değiştirme modu + + + OnTopReplica kullanıcı tanımlı gruptan bir pencereyi kopyalayıp, arkaplanda en son aktifleştirilen biri ile değiştirecektir. + + + 100% (opak) + + + OnTopReplica'yı tamamen opak olarak ayarlar. + + + 25% + + + OnTopReplica'yı 25% opaklığına ayarlar. + + + 50% + + + OnTopReplica'yı 50% opaklığına ayarlar. + + + 75% + + + OnTopReplica'yı 75% opaklığına ayarlar. + + + Opaklık + + + + + + OnTopReplica'yı görüntüler. + + + Sol Alt + + + Sağ Alt + + + Merkez + + + Devredışı + + + Konum kilidi + + + OnTopReplica'yı otomatik olarak şu anki ekrana konumlandırır. + + + Sol Üst + + + Sağ Üst + + + Tamekran modundan çık + + + Son pozisyona dön ve boyutlandır + + + OnTopReplica'nın son konumunu kaydedip kaydetmeyeceğini değiştirir ve boyutlandırıp bunu yeniden başladığında kullanır. + + + Küçült + + + OnTopReplica'yı görev çubuğuna (veya sistem kısayollarına) küçültür. + + + Bölge seçiniz... + + + "bölge modu"na geçer, bu size kaynak penceresinin küçük resminin kısıtlı bir bölgesini seçmenize izin verir. + + + Pencereyi sıfırla + + + OnTopReplica'nın ayarlarını ve ana penceresini sıfırlar. + + + Yeniden boyutlandır + + + Son klonlanan pencereyi geri yükle + + + Etkinleştirildiği zaman, OnTopReplica son klonlanan pencereyi başlangıçta yeniden yüklemeye çalışır. + + + Ayarlar... + + + Ayarlar panelini görüntüler. + + + Pencereye geç + + + Kaynak pencereye geçer ve OnTopReplica'yı gizler. + + + Pencere seç + + + - yok - + + + Küçük resim kaynağı halinde seçebileceğiniz pencere listesini görüntüler. + + + - tamamen - + + + Şu anki bölge: + + + Sil + + + Tamamlandı + + + Yükseklik + + + Sıfırla + + + Kaydet + + + Kayıtlı bölgeler + + + Bölgeler: + + + Genişlik + + + Başlamak için buraya sağ tıklayın... + + + Şu anki pencereyi klonla + + + Bu sistem genelinde kısayollar ayrıca OnTopReplica üstte olmadığı zaman kullanılabilir. + + + Göster/Gizle + + + Kısayollar: + + + Dil: + + + Yeniden başlatma gerektirir. + + + Ayarlar + + + Güncellemeden vazgeç +OnTopReplica sizi yeniden başlatıldığında uyaracaktır. + + + İndir +OnTopReplica {0} Yükle. + + + Yeni versiyon resmi siteden indirilebilir ve yüklenebilir. + + + Yüklü versiyon: {0}. +Kullanılabilir versiyon: {1}. + + + Versiyon {0} mevcut + + + {0}/{1} byte indirildi. + + + İndiriliyor... + + + OnTopReplica'nın en son sürümü zaten yüklenmiş. Program her başlangıçta güncellemeleri otomatik olarak denetler. + +OnTopReplica'nın geliştirilmesi, yeni özellik ve geliştirme önerileri hakkında by <a href="website">resmi internet sitesini ziyaret ederek</a> güncel kalabilirsiniz. + The website link should be enclosed in <a href="website"></a> tags. + + + En son kararlı versiyon {0} tarihinde yayınlandı. + {0} last version release date + + + OnTopReplica güncel + + + Yükle +OnTopReplica kapatılınca güncelleme yüklenmiş olacaktır. + + + OnTopReplica versiyon {0} bilgisayarınızda yüklenmeye hazır. + + + Güncelleme hazır + + + OnTopReplica güncellemeleri + + \ No newline at end of file From f5f058f489bcb5b8d3f784ca2cc35243b113470e Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Fri, 12 Oct 2012 16:39:11 +0200 Subject: [PATCH 134/164] Bugfix: issue #32 fixed (?) when loading bitmap from icon. --- .hgignore | 9 + Docs/Settings List.txt | 7 + Installer/header.bmp | Bin 0 -> 25818 bytes Installer/script.nsi | 126 ++ Installer/update.xml | 6 + Lib/WindowsFormsAero.dll | Bin 0 -> 96768 bytes Lib/WindowsFormsAero.pdb | Bin 0 -> 220672 bytes Lib/WindowsFormsAero.xml | 1118 ++++++++++++ OnTopReplica.sln | 20 + OnTopReplica/AspectRatioForm.cs | 212 +++ OnTopReplica/Assets/25.png | Bin 0 -> 639 bytes OnTopReplica/Assets/arrow_down.png | Bin 0 -> 218 bytes OnTopReplica/Assets/arrow_up.png | Bin 0 -> 209 bytes OnTopReplica/Assets/back.png | Bin 0 -> 150765 bytes OnTopReplica/Assets/clickforwarding.png | Bin 0 -> 951 bytes OnTopReplica/Assets/component.png | Bin 0 -> 731 bytes OnTopReplica/Assets/desktop.png | Bin 0 -> 794 bytes OnTopReplica/Assets/empty-window.ico | Bin 0 -> 10806 bytes OnTopReplica/Assets/flag_czech.png | Bin 0 -> 241 bytes OnTopReplica/Assets/flag_danish.png | Bin 0 -> 347 bytes OnTopReplica/Assets/flag_germany.png | Bin 0 -> 202 bytes OnTopReplica/Assets/flag_ita.png | Bin 0 -> 209 bytes OnTopReplica/Assets/flag_poland.png | Bin 0 -> 183 bytes OnTopReplica/Assets/flag_spanish.png | Bin 0 -> 300 bytes OnTopReplica/Assets/flag_usa.png | Bin 0 -> 355 bytes OnTopReplica/Assets/flags.pdn | Bin 0 -> 4030 bytes OnTopReplica/Assets/fullscreen.png | Bin 0 -> 396 bytes OnTopReplica/Assets/groupmode.png | Bin 0 -> 837 bytes OnTopReplica/Assets/icon-new-red.ico | Bin 0 -> 86918 bytes OnTopReplica/Assets/icon-new.ico | Bin 0 -> 86918 bytes OnTopReplica/Assets/icon.ico | Bin 0 -> 7358 bytes OnTopReplica/Assets/icon.png | Bin 0 -> 7335 bytes OnTopReplica/Assets/list.png | Bin 0 -> 681 bytes OnTopReplica/Assets/newicon.png | Bin 0 -> 770 bytes OnTopReplica/Assets/pos_bottomleft.pdn | Bin 0 -> 6696 bytes OnTopReplica/Assets/pos_bottomleft.png | Bin 0 -> 267 bytes OnTopReplica/Assets/pos_bottomright.png | Bin 0 -> 267 bytes OnTopReplica/Assets/pos_center.png | Bin 0 -> 231 bytes OnTopReplica/Assets/pos_null.png | Bin 0 -> 250 bytes OnTopReplica/Assets/pos_topleft.png | Bin 0 -> 280 bytes OnTopReplica/Assets/pos_topright.png | Bin 0 -> 278 bytes OnTopReplica/Assets/reduce.png | Bin 0 -> 259 bytes OnTopReplica/Assets/regions.png | Bin 0 -> 296 bytes OnTopReplica/Assets/regions_new.png | Bin 0 -> 207 bytes OnTopReplica/Assets/screenshot-icon.ico | Bin 0 -> 99678 bytes OnTopReplica/Assets/window16.png | Bin 0 -> 862 bytes OnTopReplica/Assets/window_border16.png | Bin 0 -> 683 bytes OnTopReplica/Assets/window_multiple.pdn | Bin 0 -> 8806 bytes OnTopReplica/Assets/window_multiple16.ico | Bin 0 -> 894 bytes OnTopReplica/Assets/window_multiple16.png | Bin 0 -> 1012 bytes OnTopReplica/Assets/window_multiple48.png | Bin 0 -> 1736 bytes OnTopReplica/Assets/window_opacity16.png | Bin 0 -> 894 bytes OnTopReplica/Assets/window_opacity_new.png | Bin 0 -> 810 bytes OnTopReplica/Assets/window_switch.pdn | Bin 0 -> 10464 bytes OnTopReplica/Assets/window_switch.png | Bin 0 -> 456 bytes OnTopReplica/Assets/windows.png | Bin 0 -> 28010 bytes OnTopReplica/Assets/x-oblique.png | Bin 0 -> 3459 bytes OnTopReplica/Assets/xiao_add.png | Bin 0 -> 753 bytes OnTopReplica/Assets/xiao_arrow.png | Bin 0 -> 437 bytes OnTopReplica/Assets/xiao_delete.png | Bin 0 -> 715 bytes OnTopReplica/Assets/xiao_down.png | Bin 0 -> 761 bytes OnTopReplica/Assets/xiao_help.png | Bin 0 -> 752 bytes OnTopReplica/Assets/xiao_ok.png | Bin 0 -> 752 bytes OnTopReplica/Assets/xiao_up.png | Bin 0 -> 744 bytes OnTopReplica/Assets/xiao_wrench.png | Bin 0 -> 459 bytes OnTopReplica/CREDITS.txt | 12 + OnTopReplica/CloneClickEventArgs.cs | 32 + OnTopReplica/CloseRequestEventArgs.cs | 14 + OnTopReplica/FocusedTextBox.cs | 70 + OnTopReplica/GeometryExtensions.cs | 55 + OnTopReplica/HotKeyTextBox.cs | 56 + OnTopReplica/IMessagePumpProcessor.cs | 15 + OnTopReplica/ImageComboBox.cs | 77 + OnTopReplica/LICENSE.txt | 21 + OnTopReplica/MainForm.Designer.cs | 560 ++++++ OnTopReplica/MainForm.cs | 477 +++++ OnTopReplica/MainForm.resx | 321 ++++ OnTopReplica/MainForm_ChildForms.cs | 93 + OnTopReplica/MainForm_Features.cs | 130 ++ OnTopReplica/MainForm_Gui.cs | 134 ++ OnTopReplica/MainForm_MenuEvents.cs | 189 ++ OnTopReplica/MessagePumpManager.cs | 93 + .../BaseMessagePumpProcessor.cs | 39 + .../GroupSwitchManager.cs | 143 ++ .../MessagePumpProcessors/HotKeyManager.cs | 168 ++ .../ShellInterceptProcessor.cs | 34 + .../MessagePumpProcessors/WindowKeeper.cs | 40 + OnTopReplica/NDesk/Options/Options.cs | 1103 ++++++++++++ OnTopReplica/Native/CommonControls.cs | 30 + OnTopReplica/Native/ErrorMethods.cs | 37 + OnTopReplica/Native/FilesystemMethods.cs | 51 + OnTopReplica/Native/HT.cs | 14 + OnTopReplica/Native/HookMethods.cs | 50 + OnTopReplica/Native/HotKeyMethods.cs | 78 + OnTopReplica/Native/ITaskBarList.cs | 45 + OnTopReplica/Native/InputMethods.cs | 25 + OnTopReplica/Native/MK.cs | 14 + OnTopReplica/Native/MessagingMethods.cs | 34 + OnTopReplica/Native/Point.cs | 36 + OnTopReplica/Native/Rectangle.cs | 55 + OnTopReplica/Native/VirtualKeyState.cs | 193 ++ OnTopReplica/Native/WM.cs | 28 + OnTopReplica/Native/WMSZ.cs | 15 + OnTopReplica/Native/WindowManagerMethods.cs | 103 ++ OnTopReplica/Native/WindowMethods.cs | 141 ++ OnTopReplica/Native/WindowsSevenMethods.cs | 20 + OnTopReplica/NativeToolStripRenderer.cs | 587 ++++++ OnTopReplica/NotificationIcon.cs | 85 + OnTopReplica/OnTopReplica.csproj | 581 ++++++ OnTopReplica/OnTopReplica.csproj.user | 23 + OnTopReplica/OnTopReplica.exe.manifest | 22 + OnTopReplica/PlatformSupport.cs | 91 + OnTopReplica/Platforms/DebugPlatform.cs | 22 + OnTopReplica/Platforms/Other.cs | 16 + OnTopReplica/Platforms/WindowsSeven.cs | 62 + OnTopReplica/Platforms/WindowsVista.cs | 52 + OnTopReplica/Platforms/WindowsXp.cs | 15 + OnTopReplica/PluginRegionLocator.cs | 97 + OnTopReplica/Program.cs | 120 ++ OnTopReplica/Properties/AssemblyInfo.cs | 37 + OnTopReplica/Properties/Resources.resx | 239 +++ OnTopReplica/Properties/Settings.settings | 57 + OnTopReplica/Properties/app.manifest | 26 + OnTopReplica/ScreenPosition.cs | 89 + OnTopReplica/SidePanel.cs | 73 + OnTopReplica/SidePanelContainer.Designer.cs | 46 + OnTopReplica/SidePanelContainer.cs | 109 ++ OnTopReplica/SidePanelContainer.resx | 120 ++ .../SidePanels/AboutPanel.Designer.cs | 74 + OnTopReplica/SidePanels/AboutPanel.cs | 33 + OnTopReplica/SidePanels/AboutPanel.resx | 120 ++ .../SidePanels/AboutPanelContents.Designer.cs | 265 +++ OnTopReplica/SidePanels/AboutPanelContents.cs | 100 ++ .../SidePanels/AboutPanelContents.resx | 120 ++ .../SidePanels/GroupSwitchPanel.Designer.cs | 131 ++ OnTopReplica/SidePanels/GroupSwitchPanel.cs | 89 + OnTopReplica/SidePanels/GroupSwitchPanel.resx | 120 ++ .../SidePanels/OptionsPanel.Designer.cs | 200 +++ OnTopReplica/SidePanels/OptionsPanel.cs | 128 ++ OnTopReplica/SidePanels/OptionsPanel.resx | 120 ++ .../SidePanels/RegionPanel.Designer.cs | 318 ++++ OnTopReplica/SidePanels/RegionPanel.cs | 246 +++ OnTopReplica/SidePanels/RegionPanel.resx | 123 ++ OnTopReplica/StartupOptions/CliStatus.cs | 21 + .../CommandLineReportForm.Designer.cs | 116 ++ .../StartupOptions/CommandLineReportForm.cs | 31 + .../StartupOptions/CommandLineReportForm.resx | 1574 +++++++++++++++++ OnTopReplica/StartupOptions/Factory.cs | 118 ++ OnTopReplica/StartupOptions/Options.cs | 154 ++ .../StartupOptions/RectangleConverter.cs | 61 + .../StartupOptions/ScreenPositionConverter.cs | 50 + OnTopReplica/StartupOptions/SizeConverter.cs | 69 + OnTopReplica/StoredRegion.cs | 63 + OnTopReplica/StoredRegionArray.cs | 39 + OnTopReplica/StoredRegionComparer.cs | 28 + OnTopReplica/Strings.cs.resx | 655 +++++++ OnTopReplica/Strings.da.resx | 650 +++++++ OnTopReplica/Strings.de.resx | 655 +++++++ OnTopReplica/Strings.es.resx | 650 +++++++ OnTopReplica/Strings.fi.resx | 15 + OnTopReplica/Strings.it.resx | 655 +++++++ OnTopReplica/Strings.no.resx | 655 +++++++ OnTopReplica/Strings.pl.resx | 655 +++++++ OnTopReplica/Strings.pt-BR.resx | 655 +++++++ OnTopReplica/Strings.pt.resx | 655 +++++++ OnTopReplica/Strings.resx | 550 ++++++ OnTopReplica/Strings.ru.resx | 647 +++++++ OnTopReplica/Strings.tr.resx | 652 +++++++ OnTopReplica/Strings.zh-Hans.resx | 655 +++++++ OnTopReplica/ThumbnailPanel.cs | 447 +++++ .../Update/UpdateCheckCompletedEventArgs.cs | 15 + OnTopReplica/Update/UpdateInformation.cs | 101 ++ OnTopReplica/Update/UpdateManager.cs | 278 +++ OnTopReplica/Win32Helper.cs | 126 ++ OnTopReplica/WindowHandle.cs | 136 ++ OnTopReplica/WindowListMenuManager.cs | 202 +++ .../WindowSeekers/BaseWindowSeeker.cs | 81 + .../WindowSeekers/ByClassWindowSeeker.cs | 35 + .../WindowSeekers/ByTitleWindowSeeker.cs | 43 + .../WindowSeekers/RestoreWindowSeeker.cs | 115 ++ .../WindowSeekers/TaskWindowSeeker.cs | 35 + OnTopReplica/WindowsFormsExtensions.cs | 50 + OnTopReplica/app.config | 60 + OriginalAssets/Logo.png | Bin 0 -> 34066 bytes OriginalAssets/icon.pdn | Bin 0 -> 30322 bytes OriginalAssets/new-icon.png | Bin 0 -> 24269 bytes 186 files changed, 23551 insertions(+) create mode 100644 .hgignore create mode 100644 Docs/Settings List.txt create mode 100644 Installer/header.bmp create mode 100644 Installer/script.nsi create mode 100644 Installer/update.xml create mode 100644 Lib/WindowsFormsAero.dll create mode 100644 Lib/WindowsFormsAero.pdb create mode 100644 Lib/WindowsFormsAero.xml create mode 100644 OnTopReplica.sln create mode 100644 OnTopReplica/AspectRatioForm.cs create mode 100644 OnTopReplica/Assets/25.png create mode 100644 OnTopReplica/Assets/arrow_down.png create mode 100644 OnTopReplica/Assets/arrow_up.png create mode 100644 OnTopReplica/Assets/back.png create mode 100644 OnTopReplica/Assets/clickforwarding.png create mode 100644 OnTopReplica/Assets/component.png create mode 100644 OnTopReplica/Assets/desktop.png create mode 100644 OnTopReplica/Assets/empty-window.ico create mode 100644 OnTopReplica/Assets/flag_czech.png create mode 100644 OnTopReplica/Assets/flag_danish.png create mode 100644 OnTopReplica/Assets/flag_germany.png create mode 100644 OnTopReplica/Assets/flag_ita.png create mode 100644 OnTopReplica/Assets/flag_poland.png create mode 100644 OnTopReplica/Assets/flag_spanish.png create mode 100644 OnTopReplica/Assets/flag_usa.png create mode 100644 OnTopReplica/Assets/flags.pdn create mode 100644 OnTopReplica/Assets/fullscreen.png create mode 100644 OnTopReplica/Assets/groupmode.png create mode 100644 OnTopReplica/Assets/icon-new-red.ico create mode 100644 OnTopReplica/Assets/icon-new.ico create mode 100644 OnTopReplica/Assets/icon.ico create mode 100644 OnTopReplica/Assets/icon.png create mode 100644 OnTopReplica/Assets/list.png create mode 100644 OnTopReplica/Assets/newicon.png create mode 100644 OnTopReplica/Assets/pos_bottomleft.pdn create mode 100644 OnTopReplica/Assets/pos_bottomleft.png create mode 100644 OnTopReplica/Assets/pos_bottomright.png create mode 100644 OnTopReplica/Assets/pos_center.png create mode 100644 OnTopReplica/Assets/pos_null.png create mode 100644 OnTopReplica/Assets/pos_topleft.png create mode 100644 OnTopReplica/Assets/pos_topright.png create mode 100644 OnTopReplica/Assets/reduce.png create mode 100644 OnTopReplica/Assets/regions.png create mode 100644 OnTopReplica/Assets/regions_new.png create mode 100644 OnTopReplica/Assets/screenshot-icon.ico create mode 100644 OnTopReplica/Assets/window16.png create mode 100644 OnTopReplica/Assets/window_border16.png create mode 100644 OnTopReplica/Assets/window_multiple.pdn create mode 100644 OnTopReplica/Assets/window_multiple16.ico create mode 100644 OnTopReplica/Assets/window_multiple16.png create mode 100644 OnTopReplica/Assets/window_multiple48.png create mode 100644 OnTopReplica/Assets/window_opacity16.png create mode 100644 OnTopReplica/Assets/window_opacity_new.png create mode 100644 OnTopReplica/Assets/window_switch.pdn create mode 100644 OnTopReplica/Assets/window_switch.png create mode 100644 OnTopReplica/Assets/windows.png create mode 100644 OnTopReplica/Assets/x-oblique.png create mode 100644 OnTopReplica/Assets/xiao_add.png create mode 100644 OnTopReplica/Assets/xiao_arrow.png create mode 100644 OnTopReplica/Assets/xiao_delete.png create mode 100644 OnTopReplica/Assets/xiao_down.png create mode 100644 OnTopReplica/Assets/xiao_help.png create mode 100644 OnTopReplica/Assets/xiao_ok.png create mode 100644 OnTopReplica/Assets/xiao_up.png create mode 100644 OnTopReplica/Assets/xiao_wrench.png create mode 100644 OnTopReplica/CREDITS.txt create mode 100644 OnTopReplica/CloneClickEventArgs.cs create mode 100644 OnTopReplica/CloseRequestEventArgs.cs create mode 100644 OnTopReplica/FocusedTextBox.cs create mode 100644 OnTopReplica/GeometryExtensions.cs create mode 100644 OnTopReplica/HotKeyTextBox.cs create mode 100644 OnTopReplica/IMessagePumpProcessor.cs create mode 100644 OnTopReplica/ImageComboBox.cs create mode 100644 OnTopReplica/LICENSE.txt create mode 100644 OnTopReplica/MainForm.Designer.cs create mode 100644 OnTopReplica/MainForm.cs create mode 100644 OnTopReplica/MainForm.resx create mode 100644 OnTopReplica/MainForm_ChildForms.cs create mode 100644 OnTopReplica/MainForm_Features.cs create mode 100644 OnTopReplica/MainForm_Gui.cs create mode 100644 OnTopReplica/MainForm_MenuEvents.cs create mode 100644 OnTopReplica/MessagePumpManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs create mode 100644 OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/HotKeyManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs create mode 100644 OnTopReplica/MessagePumpProcessors/WindowKeeper.cs create mode 100644 OnTopReplica/NDesk/Options/Options.cs create mode 100644 OnTopReplica/Native/CommonControls.cs create mode 100644 OnTopReplica/Native/ErrorMethods.cs create mode 100644 OnTopReplica/Native/FilesystemMethods.cs create mode 100644 OnTopReplica/Native/HT.cs create mode 100644 OnTopReplica/Native/HookMethods.cs create mode 100644 OnTopReplica/Native/HotKeyMethods.cs create mode 100644 OnTopReplica/Native/ITaskBarList.cs create mode 100644 OnTopReplica/Native/InputMethods.cs create mode 100644 OnTopReplica/Native/MK.cs create mode 100644 OnTopReplica/Native/MessagingMethods.cs create mode 100644 OnTopReplica/Native/Point.cs create mode 100644 OnTopReplica/Native/Rectangle.cs create mode 100644 OnTopReplica/Native/VirtualKeyState.cs create mode 100644 OnTopReplica/Native/WM.cs create mode 100644 OnTopReplica/Native/WMSZ.cs create mode 100644 OnTopReplica/Native/WindowManagerMethods.cs create mode 100644 OnTopReplica/Native/WindowMethods.cs create mode 100644 OnTopReplica/Native/WindowsSevenMethods.cs create mode 100644 OnTopReplica/NativeToolStripRenderer.cs create mode 100644 OnTopReplica/NotificationIcon.cs create mode 100644 OnTopReplica/OnTopReplica.csproj create mode 100644 OnTopReplica/OnTopReplica.csproj.user create mode 100644 OnTopReplica/OnTopReplica.exe.manifest create mode 100644 OnTopReplica/PlatformSupport.cs create mode 100644 OnTopReplica/Platforms/DebugPlatform.cs create mode 100644 OnTopReplica/Platforms/Other.cs create mode 100644 OnTopReplica/Platforms/WindowsSeven.cs create mode 100644 OnTopReplica/Platforms/WindowsVista.cs create mode 100644 OnTopReplica/Platforms/WindowsXp.cs create mode 100644 OnTopReplica/PluginRegionLocator.cs create mode 100644 OnTopReplica/Program.cs create mode 100644 OnTopReplica/Properties/AssemblyInfo.cs create mode 100644 OnTopReplica/Properties/Resources.resx create mode 100644 OnTopReplica/Properties/Settings.settings create mode 100644 OnTopReplica/Properties/app.manifest create mode 100644 OnTopReplica/ScreenPosition.cs create mode 100644 OnTopReplica/SidePanel.cs create mode 100644 OnTopReplica/SidePanelContainer.Designer.cs create mode 100644 OnTopReplica/SidePanelContainer.cs create mode 100644 OnTopReplica/SidePanelContainer.resx create mode 100644 OnTopReplica/SidePanels/AboutPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/AboutPanel.cs create mode 100644 OnTopReplica/SidePanels/AboutPanel.resx create mode 100644 OnTopReplica/SidePanels/AboutPanelContents.Designer.cs create mode 100644 OnTopReplica/SidePanels/AboutPanelContents.cs create mode 100644 OnTopReplica/SidePanels/AboutPanelContents.resx create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.resx create mode 100644 OnTopReplica/SidePanels/OptionsPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/OptionsPanel.cs create mode 100644 OnTopReplica/SidePanels/OptionsPanel.resx create mode 100644 OnTopReplica/SidePanels/RegionPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/RegionPanel.cs create mode 100644 OnTopReplica/SidePanels/RegionPanel.resx create mode 100644 OnTopReplica/StartupOptions/CliStatus.cs create mode 100644 OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs create mode 100644 OnTopReplica/StartupOptions/CommandLineReportForm.cs create mode 100644 OnTopReplica/StartupOptions/CommandLineReportForm.resx create mode 100644 OnTopReplica/StartupOptions/Factory.cs create mode 100644 OnTopReplica/StartupOptions/Options.cs create mode 100644 OnTopReplica/StartupOptions/RectangleConverter.cs create mode 100644 OnTopReplica/StartupOptions/ScreenPositionConverter.cs create mode 100644 OnTopReplica/StartupOptions/SizeConverter.cs create mode 100644 OnTopReplica/StoredRegion.cs create mode 100644 OnTopReplica/StoredRegionArray.cs create mode 100644 OnTopReplica/StoredRegionComparer.cs create mode 100644 OnTopReplica/Strings.cs.resx create mode 100644 OnTopReplica/Strings.da.resx create mode 100644 OnTopReplica/Strings.de.resx create mode 100644 OnTopReplica/Strings.es.resx create mode 100644 OnTopReplica/Strings.fi.resx create mode 100644 OnTopReplica/Strings.it.resx create mode 100644 OnTopReplica/Strings.no.resx create mode 100644 OnTopReplica/Strings.pl.resx create mode 100644 OnTopReplica/Strings.pt-BR.resx create mode 100644 OnTopReplica/Strings.pt.resx create mode 100644 OnTopReplica/Strings.resx create mode 100644 OnTopReplica/Strings.ru.resx create mode 100644 OnTopReplica/Strings.tr.resx create mode 100644 OnTopReplica/Strings.zh-Hans.resx create mode 100644 OnTopReplica/ThumbnailPanel.cs create mode 100644 OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs create mode 100644 OnTopReplica/Update/UpdateInformation.cs create mode 100644 OnTopReplica/Update/UpdateManager.cs create mode 100644 OnTopReplica/Win32Helper.cs create mode 100644 OnTopReplica/WindowHandle.cs create mode 100644 OnTopReplica/WindowListMenuManager.cs create mode 100644 OnTopReplica/WindowSeekers/BaseWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/TaskWindowSeeker.cs create mode 100644 OnTopReplica/WindowsFormsExtensions.cs create mode 100644 OnTopReplica/app.config create mode 100644 OriginalAssets/Logo.png create mode 100644 OriginalAssets/icon.pdn create mode 100644 OriginalAssets/new-icon.png diff --git a/.hgignore b/.hgignore new file mode 100644 index 0000000..6d66599 --- /dev/null +++ b/.hgignore @@ -0,0 +1,9 @@ +glob:OnTopReplica.suo +glob:bin/* +glob:obj/* +glob:publish/* +glob:*Thumbs.db +glob:*.psd +glob:Installer/OnTopReplica-Setup.exe +syntax: glob +*.Designer.cs diff --git a/Docs/Settings List.txt b/Docs/Settings List.txt new file mode 100644 index 0000000..b54e994 --- /dev/null +++ b/Docs/Settings List.txt @@ -0,0 +1,7 @@ +OPTIONS + ++ Language + Drop down list with icons + Restart notice + ++ Shortcuts \ No newline at end of file diff --git a/Installer/header.bmp b/Installer/header.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7326b9c94076c8120ed837e0ccc93af0066fe9d5 GIT binary patch literal 25818 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 KA>PL3{`nV$p^qy7 literal 0 HcmV?d00001 diff --git a/Installer/script.nsi b/Installer/script.nsi new file mode 100644 index 0000000..483b12e --- /dev/null +++ b/Installer/script.nsi @@ -0,0 +1,126 @@ +# INCLUDES +!include MUI2.nsh ;Modern interface +!include LogicLib.nsh ;nsDialogs + +# INIT +Name "OnTopReplica" +InstallDir "$LOCALAPPDATA\OnTopReplica" +OutFile "OnTopReplica-Setup.exe" +RequestExecutionLevel user + +# REFS +!define REG_UNINSTALL "Software\Microsoft\Windows\CurrentVersion\Uninstall\OnTopReplica" +!define START_LINK_DIR "$STARTMENU\Programs\OnTopReplica" +!define START_LINK_RUN "$STARTMENU\Programs\OnTopReplica\OnTopReplica.lnk" +!define START_LINK_UNINSTALLER "$STARTMENU\Programs\OnTopReplica\Uninstall OnTopReplica.lnk" +!define UNINSTALLER_NAME "OnTopReplica-Uninstall.exe" +!define WEBSITE_LINK "http://www.klopfenstein.net/lorenz.aspx/ontopreplica" + +# GRAPHICS +!define MUI_ICON "..\OnTopReplica\Assets\icon-new.ico" +!define MUI_UNICON "..\OnTopReplica\Assets\icon-new-red.ico" +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_RIGHT +!define MUI_HEADERIMAGE_BITMAP "header.bmp" +!define MUI_HEADERIMAGE_UNBITMAP "header.bmp" +#!define MUI_WELCOMEFINISHPAGE_BITMAP "banner.bmp" +#!define MUI_UNWELCOMEFINISHPAGE_BITMAP "banner.bmp" + +# TEXT AND SETTINGS +!define MUI_PAGE_HEADER_TEXT "OnTopReplica" + +!define MUI_FINISHPAGE_RUN "$INSTDIR\OnTopReplica.exe" +;!define MUI_FINISHPAGE_RUN_TEXT "Run OnTopReplica now." + +;Do not skip to finish automatially +!define MUI_FINISHPAGE_NOAUTOCLOSE +!define MUI_UNFINISHPAGE_NOAUTOCLOSE + +# PAGE DEFINITIONS +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +# LANGUAGES +!insertmacro MUI_LANGUAGE "English" + +# CALLBACKS +Function RegisterApplication + ;Register uninstaller into Add/Remove panel (for local user only) + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayName" "OnTopReplica" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayIcon" "$\"$INSTDIR\OnTopReplica.exe$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "Publisher" "Lorenz Cuno Klopfenstein" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayVersion" "3.3.1.0" + WriteRegDWord HKCU "${REG_UNINSTALL}" "EstimatedSize" 960 ;KB + WriteRegStr HKCU "${REG_UNINSTALL}" "HelpLink" "${WEBSITE_LINK}" + WriteRegStr HKCU "${REG_UNINSTALL}" "URLInfoAbout" "${WEBSITE_LINK}" + WriteRegStr HKCU "${REG_UNINSTALL}" "InstallLocation" "$\"$INSTDIR$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "InstallSource" "$\"$EXEDIR$\"" + WriteRegDWord HKCU "${REG_UNINSTALL}" "NoModify" 1 + WriteRegDWord HKCU "${REG_UNINSTALL}" "NoRepair" 1 + WriteRegStr HKCU "${REG_UNINSTALL}" "UninstallString" "$\"$INSTDIR\${UNINSTALLER_NAME}$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "Comments" "Uninstalls OnTopReplica." + + ;Links + SetShellVarContext current + CreateDirectory "${START_LINK_DIR}" + CreateShortCut "${START_LINK_RUN}" "$INSTDIR\OnTopReplica.exe" + CreateShortCut "${START_LINK_UNINSTALLER}" "$INSTDIR\${UNINSTALLER_NAME}" +FunctionEnd + +Function un.DeregisterApplication + ;Deregister uninstaller from Add/Remove panel + DeleteRegKey HKCU "${REG_UNINSTALL}" + + ;Start menu links + SetShellVarContext current + RMDir /r "${START_LINK_DIR}" +FunctionEnd + +# INSTALL SECTIONS +Section "!OnTopReplica" OnTopReplica + SectionIn RO + + SetOutPath $INSTDIR + SetOverwrite on + + ;Ensure that old VistaControls.dll is removed + Delete "$INSTDIR\VistaControls.dll" + + ;Main installation + File "..\OnTopReplica\bin\Release\OnTopReplica.exe" + File "..\OnTopReplica\bin\Release\WindowsFormsAero.dll" + + ;Text stuff + File "..\OnTopReplica\bin\Release\CREDITS.txt" + File "..\OnTopReplica\bin\Release\LICENSE.txt" + + ;Install localization files + SetOutPath "$INSTDIR\it" + File "..\OnTopReplica\bin\Release\it\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\cs" + File "..\OnTopReplica\bin\Release\cs\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\da" + File "..\OnTopReplica\bin\Release\da\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\de" + File "..\OnTopReplica\bin\Release\de\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\es" + File "..\OnTopReplica\bin\Release\es\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\pl" + File "..\OnTopReplica\bin\Release\pl\OnTopReplica.resources.dll" + + ;Uninstaller + WriteUninstaller "$INSTDIR\${UNINSTALLER_NAME}" + Call RegisterApplication +SectionEnd + +Section "Uninstall" + ;Remove whole directory (no data is stored there anyway) + RMDir /r "$INSTDIR" + + ;Remove uninstaller + Call un.DeregisterApplication +SectionEnd diff --git a/Installer/update.xml b/Installer/update.xml new file mode 100644 index 0000000..e2a1f35 --- /dev/null +++ b/Installer/update.xml @@ -0,0 +1,6 @@ + + + 3.3.2.0 + 2011-06-07T01:00:00Z + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + \ No newline at end of file diff --git a/Lib/WindowsFormsAero.dll b/Lib/WindowsFormsAero.dll new file mode 100644 index 0000000000000000000000000000000000000000..8b0c5c22cb6cbab85f5ad5dc5770ede29ac27d07 GIT binary patch literal 96768 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 z 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 U9B9sg<{W6wf#w|eb?3l;0AE)vUjP6A literal 0 HcmV?d00001 diff --git a/Lib/WindowsFormsAero.xml b/Lib/WindowsFormsAero.xml new file mode 100644 index 0000000..b683480 --- /dev/null +++ b/Lib/WindowsFormsAero.xml @@ -0,0 +1,1118 @@ + + + + WindowsFormsAero + + + + + Control style and notification constants + + + + Gets or sets the cue text that is displayed on the TextBox control. + + + Gets or sets whether the Cue text should be displyed even when the control has keybord focus. + If true, the Cue text will disappear as soon as the user starts typing. + + + A standard WinForms text box presenting the common Vista "search" interface. + Reacts on user input by raising "SearchStarted" events. + + + Puts the focus on the text box and moves the caret to the end of the text, without selecting it. + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Raised when the Text of the search box has changed. + + + + + Raised after an interval after the last user input. + + + + + Raised when the user clicks on the X to cancel the search. + + + + Gets or sets the background Color of the button when the mouse hovers on it. + + + Gets or sets the ForeColor of the control when the search box is active. + + + Gets or sets the BackColor of the control when the search box is active. + + + Gets or sets the ForeColor of the control when the search box is inactive. + + + Gets or sets the BackColor of the control when the search box is inactive. + + + Temporary ForeColor property of the control. You should use InactiveForeColor and ActiveForeColor instead. + + + Temporary BackColor property of the control. You should use InactiveBackColor and ActiveBackColor instead. + + + Gets or sets the text that is shown on top of the text box when the user hasn't entered any text. + + + Gets or sets the font used in the search text box. + Equals to the Font property. + + + Gets or sets the font used to write the "inactivity label" on top of the control when the user hasn't entered any text. + + + + Overall Font property of the control. + Property changes are forwarded to the ActiveFont and InactiveFont property. + + + + Returns true if the user entered some text in the search textbox. + + + + Gets or sets the delay in milliseconds between when the text is edited + and the search event is raised. + + + + + Gets or sets whether the control raises a SearchStarted event after user input. + + + + + Gets or sets whether the control raises a SearchStarted event when the user hits the Enter key. + + + + Class that aggregates the results of an "indirect" Task Dialog. + + + Results returned by Task Dialogs when closed by the user. + + + Direct Task Dialog call. + + + Indirect Task Dialog call. Allows complex dialogs with interaction logic (via callback). + + + The Task Dialog config structure. + + + Flags used in TaskDialogConfig struct. + From CommCtrl.h. + + + Notifications returned by Task Dialogs to the callback. + From CommCtrl.h. + + + Messages that can be sent to Task Dialogs. + From CommCtrl.h. + + + Displays a dialog box that can contain text, icons, buttons, command links, radio buttons and/or a progress bar. + + + Displays a task dialog that has a message. + The text to display. + + + Displays a task dialog that has a message and a title. + The text to display. + The title bar caption of the dialog. + + + Displays a task dialog that has a message, a title and an instruction. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + + + Displays a task dialog that has a message, a title, an instruction and one or more buttons. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + + + Displays a task dialog that has a message, a title, an instruction, one or more buttons and an icon. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + The icon to display. + + + Initializes a new Task Dialog instance without text. + + + Initializes a new Task Dialog instance with text. + The main instruction to display. + + + Initializes a new Task Dialog instance with an instruction and a title. + The main instruction to display. + The title of the Task Dialog. + + + Initializes a new Task Dialog instance with an instruction, a title and some content text. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + + + Initializes a new Task Dialog instance with an instruction, a title, some content text and a specific button. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. + + + Initializes a new Task Dialog instance with an instruction, a title, some content text, a specific button and an icon. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. + The icon to display. + + + Injects a virtual button click. + Numeric id of the clicked button. + + + Injects a virtual radio button click. + Numeric id of the clicked radio button. + + + Injects a virtual checkbox click. + New state of the verification checkbox. + Sets whether the checkbox should have focus after state change. + + + Enables or disables a button of the dialog. + Id of the button whose state will be changed. + New state of the button. + + + Enables or disables a radio button of the dialog. + Id of the radio button whose state will be changed. + New state of the button. + + + Creates a new Task Dialog setup and replaces the existing one. Note that the window will not be + destroyed and that you should keep the existing TaskDialog reference (event handlers will still be + registered). The existing Task Dialog will simply reset and use the options of the new one. + An instance of Task Dialog, whose settings will be copied into the existing dialog. + You may safely destroy the nextDialog instance after use (do not register to events on it). + + + Adds or removes an UAC Shield icon from a button. + Id of the button. + Sets whether to display a Shield icon or not. + + + Sets whether the dialog's progress bar should be in standard or in marquee mode. + True if the progress bar should be displayed in marquee mode (no explicit progress). + + + Sets whether the dialog's progress bar should be in standard or in marquee mode and sets its marquee speed. + True if the progress bar should be displayed in marquee mode (no explicit progress). + Speed of the progress bar in marquee mode. + + + Common native callback for Task Dialogs. Will route events to the user event handler. + TODO: Currently unused, would need complex marshaling of data. + + + Prepares the internal configuration structure. + Allocates some unmanaged memory, must always be followed by a PostConfig() call. + + + Frees the unmanages memory allocated by PreConfig(). + + + Displays the task dialog without an explicit parent. + + + Displays the task dialog with an explicit parent window. + Handle to the dialog's parent window. + + + Displays the task dialog with an explicit parent form. + Instance of the dialog's parent form. + + + Is true if the task dialog is currently displayed. + + + Gets or sets the title of the dialog. + + + Gets or sets the icon of the dialog, from a set of common icons. + + + Gets or sets the icon of the dialog, from a custom Icon instance. + + + Gets or sets the dialog's buttons, from one or more common button types. + + + Gets or sets a set of custom buttons which will be displayed on the dialog. + These buttons can also be shown as Command Links optionally. + + + Gets or sets the integer identificator of the dialog's default button. + + + Gets or sets a set of custom buttons which will be displayed as radio buttons. + + + Gets or sets the identificator of the enabled radio button by default. + + + Gets or sets the text that will be shown next to a verification checkbox. + + + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, + when the dialog is in expanded mode. + + + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, + when the dialog is in collapsed mode. + + + Gets or sets the icon shown in the dialog's footer, from a set of common icons. + + + Gets or sets the icon shown in the dialog's footer, from a custom Icon instance. + + + Explicitly sets the desiderd width in pixels of the dialog. + Will be set automatically by the task dialog to an optimal size. + + + Gets or Sets the Main Instruction text of the TaskDialog. + Text written in blue and slightly bigger font in Windows Aero. + + + Gets or sets the Content text of the TaskDialog. + Text written with standard font, right below the Main instruction. + + + Gets or Sets the expanded information text, that will be optionally shown + by clicking on the Expand control. + + + Gets or Sets the Footer text. + + + Gets or sets the current Progress bar value. + + + Gets of sets the minimum value allowed by the Progress bar. + + + Gets or sets the maximum value allowed by the Progress bar. + + + Gets or sets the current Progress bar state. + Determines the bar's color and behavior. + + + Enables or disables Hyperlinks in the content (in the form of <A HREF="link">). + + + Gets or sets whether the dialog can be cancelled (ESC, ALT+F4 and X button) even if no Cancel button has been specified. + + + Gets or sets whether Command Link buttons should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). + + + Gets or sets whether Command Link buttons wihtout icon should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). + + + Gets or sets whether the ExpandedInformation should be shown in the Footer area (instead of under the Content text). + + + Gets or sets whether the ExpandedInformation is visible on dialog creation. + + + Gets or sets whether the Verification checkbox should be checked when the dialog is shown. + + + Gets or sets whether a progress bar should be displayed on the dialog. + + + Sets or gets whether the user specified callback (if any) should be called every 200ms. + + + Gets or sets whether the dialog should be positioned centered on the parent window. + + + Enables or disables right to left reading order. + + + Gets or sets whether there should be a selected radio button by default when the dialog is shown. + + + Gets or sets whether the dialog may be minimized or not. + + + Occurs when the Task Dialog is first created and before it is displayed (is sent after Construction event). + + + Occurs when the user clicks a button or a command link. By default the Dialog is closed after the notification. + + + Occurs when the user clicks on a Hyperlink in the Content text. + + + Occurs when a navigation event is raised. + + + Occurs approximately every 200ms if the Task Dialog callback timer is enabled. + + + Occurs when the Task Dialog is destroyed and the handle to the dialog is not valid anymore. + + + Occurs when the user selects a radio button. + + + Occurs when the Task Dialog is constructed and before it is displayed (is sent before Creation event). + + + Occurs when the user switches the state of the Verification Checkbox. + + + Occurs when the user presses F1 when the Task Dialog has focus. + + + Occurs when the user clicks on the expand button of the dialog, before the dialog is expanded. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Common Controls library version 6.0 not loaded. Must run on Vista and must provide a manifest.. + + + + + Looks up a localized string similar to Desktop composition is not enabled.. + + + + + Looks up a localized string similar to Desktop composition is not supported by operating system.. + + + + + Looks up a localized string similar to Unable to get thumbnail's original size.. + + + + + Looks up a localized string similar to Unable to update thumbnail properties.. + + + + + Looks up a localized string similar to Source and target windows cannot be the same.. + + + + + Looks up a localized string similar to Native call to {0} failed.. + + + + + Looks up a localized string similar to Failed to create TaskDialog.. + + + + + Static class providing information about the current support for Vista-only features. + + + + + Gets whether the running operating system is Windows Vista or a more recent version. + + + + + Gets whether the running operating system is Windows Seven or a more recent version. + + + + Is true if the DWM composition engine is currently enabled. + + + + A vertical panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. + + + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. + + + + + Constructor + + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. + + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. + + + + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + + + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + + + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + + + + Stores a Task Dialog message that will be sent to a dialog in order to update its state. + + + Simple int, int message. + + + Simple int, bool message. + + + Simple bool, bool message. + + + Simple bool, int message. + + + Simple int, long (hi word and lo word) message. + + + Text updating message. + The string will be marshaled: the Message must be correctly disposed after use. + + + Navigation message. + The config structure will be marshaled: must be correctly disposed after use. + + + Text values that can be updated. + + + + Base form class that automatically sets its font according to the Windows UX guidelines. + + + + + Constructs a new Aero styled form. + + + + Handle to a DWM Thumbnail. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Origin region from source window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Returns true if the handle is valid, false if the handle has been closed or hasn't been initialized. + + + Sets the thumbnail opacity value, from 0 to 255 (opaque). + + + Sets whether only the client area of the thumbnailed window should be shown or + the entire window area. + + + Area in the destination window on which the thumbnail should be drawn. + + + Region of the source window that should be drawn. + + + Sets whether the thumbnail should be drawn or not. + + + Gets the thumbnail's original size. + + + + A Label containing some text that will be drawn with glowing border on top of the Glass Sheet effect. + + + + Size of the glow effect around the text. + + + Enables or disables the glow effect around the text. + + + Shadow type. + + + Gets or sets the horizontal text alignment setting. + + + Gets or sets the vertical text alignment setting. + + + Gets or sets whether the text will be laid out on a single line or on multiple lines. + + + Gets or sets whether the text lines over the label's border should be trimmed with an ellipsis. + + + Gets or sets whether the text should break only at the end of a word. + + + Gets or sets whether the text should be trimmed to the last word and an ellipse should be placed at the end of the line. + + + + Determines a window's Flip 3D policy. + + + + + Default Flip 3D behavior. + + + + + Excludes the window from Flip 3D and hides it behind the animation. + + + + + Excludes the window from Flip 3D and shows it above the animation. + + + + + The labeled divider provides a Aero styled divider with an optional caption, + similiar to what is seen in the Control Panel dialogs of Windows 7 and Vista. + + + + + Constructor + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + The position of the divider line. + + + The default value is the center position which is consistent on how this type of divider has been used throughout the Windows + 7 and Vista UI's. + + + + + The color of the divider line. + + + + + The text that should be used for the caption. If the caption is set to blank and the divider position is set to center then + a simple divider line will be drawn. + + + After a change is made to the text property we want to invalidate the control so it triggers a new paint message being sent. + + + + + The positions that the divider line can be drawn in + + + + + The divider will be centered after the text caption and will begin drawing after the string. This is the default behavior. + + + + + The divider will be drawn below the text caption. + + + + Common Task Dialog buttons. OK is the default button. + + + Main DWM class, provides Thumbnail registration, glass sheet effect and blur behind. + + + Registers a thumbnail to be drawn on a Windows Form. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The Windows Form instance on which to draw the thumbnail. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Registers a thumbnail to be drawn on a window. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The handle (HWND) of the window on which the thumbnail will be drawn. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Unregisters the thumbnail handle. + The handle is unvalid after the call and should not be used again. + A handle to a registered thumbnail. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + + Enable the Aero "Blur Behind" effect on a specific region. Background of the region must be black. + + + Disables the Aero "Blur Behind" effect. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Disables the Aero "Glass Frame". + + + Disables the Aero "Glass Frame". + + + + Sets a window's Flip 3D policy. + + Form whose policy is to be set. + Desired Flip 3D policy. + Is ignored on OSs that do not support Aero. + + + + Disallows Aero Peek on a window (or allows it). + + Form whose Aero Peek preview should be disabled. + True if Aero Peek should be disabled for the window. + Is ignored on OSs that do not support Aero Peek. + + + + Sets a window's state in order to exclude (or include) it in Aero Peek. + + Form whose Aero Peek exclusion state is to be set. + Set to true to exlude the window from Aero Peek. + Is ignored on OSs that do not support Aero Peek. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + Returns the active windows on the current thread. + + + Sets the origin of the thumbnail and shows the thumbnail on the control. + The Form instance that will be thumbnailed. + True if the control should automatically update itself in case the thumbnailed + form changes size or is closed. + + + Forces and update of the thumbnail. + Use this method if you know that the thumbnailed window has been resized and the thumbnail control should react to these changes. + + + Represents a custom button shown on a Task Dialog. + + + Instantiates a new custom button with an ID and a text. + Unique ID that will be returned by the Task Dialog if the button is clicked. + Use values greater than 8 to prevent conflicts with common buttons. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + Instantiates a new custom button with an ID and a text. + Common ID that will be returned by the Task Dialog if the button is clicked. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + Unique ID that will be returned by the Task Dialog if the button is clicked. + + + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + + Applies a glow on the themed text. + + + + + Default glow size. + + + + + Glow size used commonly by Office 2007 in titles. + + + + + Precise glow effect. + + + + + Instantiates a new glow effect for themed text. + + Size of the glow effect. + + + + Gets or sets the size of the glow effect. + + + + Common Task Dialog icons. Determine the look of the main instruction. + + + + Form that automatically handles glass margins and mouse dragging. + + + + + Construct a new form without glass margins. + + + + Gets or sets the glass margins of the form. + This property should be used when setting the margins from code. + + + Gets or sets the glass margins of the form. + This property should be used when setting the margins through the designer. + + + Gets or sets whether mouse dragging should be handled automatically. + + + Gets or sets whether the extended glass margin is enabled or not. + + + + Gets or sets whether the window title and icon should be hidden. + + + The window caption will still be visible, but title text and icon will not be. + A form with a hidden title will look like an Explorer window on Windows Vista or Windows 7. + + + + + Gets or sets whether the window caption should be hidden altogether. + + + Should be set before handle creation. + + + + + A horizontal panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. + + + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. + + + + + Constructor + + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. + + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. + + + + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + + + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + + + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + + + + + Adds a handler on the Form that enables the user to move the window around + by clicking on a glass margin (or the title bar, as usual). + + The form that will be controlled. + Margins of the glass sheet. + + Eventual UI elements on the glass sheet will prevent the handler from receiving events + (except the ThemeText control, which manually redirects mouse events to the form). + + + + + Adds a handler on the Form that automatically paints the glass background black + + The form that will be controlled. + Margins of the glass sheet. + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + Occurs when the split label is clicked. + + + Occurs when the split label is clicked, but before the associated + context menu is displayed by the control. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. Exposed for backward compatibility. + + + Provides data for the clicking of split buttons and the opening + of context menus. + + + Represents the bounding box of the clicked button. + A menu should be opened, with top-left coordinates in the left-bottom point of + the rectangle and with width equal (or greater) than the width of the rectangle. + + + Set to true if you want to prevent the menu from opening. + + + Margins structure for the Glass Sheet effect. + + + + Returns whether a point in client coordinates is outside the margins defined by this instance. + + Point in client coordinates. + + + + Gets the margins value as a padding instance. + + + + + + Gets a static readonly 0-pixel margin. + This margin returns true on the IsNull property. + + + + + Gets whether this margin represents a negative measure on each side. + + + Used to specify non-existing margins on glass frames. + + + + + Gets whether this margin measures 0 pixels on each side. + + + + diff --git a/OnTopReplica.sln b/OnTopReplica.sln new file mode 100644 index 0000000..1c732a8 --- /dev/null +++ b/OnTopReplica.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C# Express 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OnTopReplica", "OnTopReplica\OnTopReplica.csproj", "{E626BD6E-BF38-4EB7-A128-5CA6F40EF557}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs new file mode 100644 index 0000000..8d32192 --- /dev/null +++ b/OnTopReplica/AspectRatioForm.cs @@ -0,0 +1,212 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Runtime.InteropServices; +using System.Windows.Forms; +using OnTopReplica.Native; +using WindowsFormsAero.Dwm.Helpers; + +namespace OnTopReplica { + + /// + /// Form that automatically keeps a certain aspect ratio and resizes without flickering. + /// + public class AspectRatioForm : GlassForm { + + bool _keepAspectRatio = true; + + /// + /// Gets or sets whether the form should keep its aspect ratio. + /// + [Description("Enables fixed aspect ratio for this form."), Category("Appearance"), DefaultValue(true)] + public bool KeepAspectRatio { + get { + return _keepAspectRatio; + } + set { + _keepAspectRatio = value; + + if (value) + RefreshAspectRatio(); + } + } + + double _aspectRatio = 1.0; + + /// + /// Gets or sets the form's aspect ratio that will be kept automatically when resizing. + /// + [Description("Determines this form's fixed aspect ratio."), Category("Appearance"), DefaultValue(1.0)] + public double AspectRatio { + get { + return _aspectRatio; + } + set { + if (value <= 0.0 || Double.IsInfinity(value)) + return; + + _aspectRatio = value; + } + } + + Padding _extraPadding; + + /// + /// Gets or sets some additional internal padding of the form that is ignored when keeping the aspect ratio. + /// + [Description("Sets some padding inside the form's client area that is ignored when keeping the aspect ratio."), + Category("Appearance")] + public Padding ExtraPadding { + get { + return _extraPadding; + } + set { + _extraPadding = value; + + if(KeepAspectRatio) + RefreshAspectRatio(); + } + } + + /// + /// Forces the form to update its height based on the current aspect ratio setting. + /// + public void RefreshAspectRatio() { + int newWidth = ClientSize.Width; + int newHeight = (int)((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical; + if (newHeight < FromSizeToClientSize(MinimumSize).Height) { + newHeight = FromSizeToClientSize(MinimumSize).Height; + newWidth = (int)((newHeight - ExtraPadding.Vertical) * AspectRatio) + ExtraPadding.Horizontal; + } + + ClientSize = new Size(newWidth, newHeight); + } + + /// + /// Adjusts the size of the form by a pixel increment while keeping its aspect ratio. + /// + /// Change of size in pixels. + public void AdjustSize(int pixelOffset) { + Size origSize = Size; + + //Resize to new width (clamped to max allowed size and minimum form size) + int newWidth = Math.Max(Math.Min(origSize.Width + pixelOffset, + SystemInformation.MaxWindowTrackSize.Width), + MinimumSize.Width); + + //Determine new height while keeping aspect ratio + int newHeight = (int)((newWidth - ExtraPadding.Horizontal - clientSizeConversionWidth) / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; + + //Apply and move form to recenter + Size = new Size(newWidth, newHeight); + int deltaX = Size.Width - origSize.Width; + int deltaY = Size.Height - origSize.Height; + Location = new System.Drawing.Point(Location.X - (deltaX / 2), Location.Y - (deltaY / 2)); + } + + /// + /// Updates the aspect ratio of the form and optionally forces a refresh. + /// + /// Size from which aspect ratio should be computed. + /// True if the size of the form should be refreshed to match the new aspect ratio. + public void SetAspectRatio(Size aspectRatioSource, bool forceRefresh) { + AspectRatio = ((double)aspectRatioSource.Width / (double)aspectRatioSource.Height); + + if (forceRefresh) { + KeepAspectRatio = true; + } + } + + #region Event overriding + + protected override void OnResizeEnd(EventArgs e) { + base.OnResizeEnd(e); + + //Ensure that the ClientSize of the form is always respected + //(not ensured by the WM_SIZING message alone because of rounding errors and the chrome space) + if (KeepAspectRatio) { + var newHeight = (int)Math.Round(((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical); + ClientSize = new Size(ClientSize.Width, newHeight); + } + } + + /// + /// Override WM_SIZING message to restrict resizing. + /// Taken from: http://www.vcskicks.com/maintain-aspect-ratio.php + /// Improved with code from: http://stoyanoff.info/blog/2010/06/27/resizing-forms-while-keeping-aspect-ratio/ + /// + protected override void WndProc(ref Message m) { + if (KeepAspectRatio && m.Msg == WM.SIZING) { + var rc = (Native.NRectangle)Marshal.PtrToStructure(m.LParam, typeof(Native.NRectangle)); + int res = m.WParam.ToInt32(); + + int width = (rc.Right - rc.Left) - clientSizeConversionWidth - ExtraPadding.Horizontal; + int height = (rc.Bottom - rc.Top) - clientSizeConversionHeight - ExtraPadding.Vertical; + + if (res == WMSZ.LEFT || res == WMSZ.RIGHT) { + //Left or right resize, adjust top and bottom + int targetHeight = (int)(width / AspectRatio); + int diffHeight = height - targetHeight; + + rc.Top += (int)(diffHeight / 2.0); + rc.Bottom = rc.Top + targetHeight + ExtraPadding.Vertical + clientSizeConversionHeight; + } + else if (res == WMSZ.TOP || res == WMSZ.BOTTOM) { + //Up or down resize, adjust left and right + int targetWidth = (int)(height * AspectRatio); + int diffWidth = width - targetWidth; + + rc.Left += (int)(diffWidth / 2.0); + rc.Right = rc.Left + targetWidth + ExtraPadding.Horizontal + clientSizeConversionWidth; + } + else if (res == WMSZ.RIGHT + WMSZ.BOTTOM || res == WMSZ.LEFT + WMSZ.BOTTOM) { + //Lower corner resize, adjust bottom + rc.Bottom = rc.Top + (int)(width / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; + } + else if (res == WMSZ.LEFT + WMSZ.TOP || res == WMSZ.RIGHT + WMSZ.TOP) { + //Upper corner resize, adjust top + rc.Top = rc.Bottom - (int)(width / AspectRatio) - ExtraPadding.Vertical - clientSizeConversionHeight; + } + + Marshal.StructureToPtr(rc, m.LParam, false); + } + + base.WndProc(ref m); + } + + #endregion + + #region ClientSize/Size conversion helpers + + int clientSizeConversionWidth, clientSizeConversionHeight; + + /// + /// Converts a client size measurement to a window size measurement. + /// + /// Size of the window's client area. + /// Size of the whole window. + public Size FromClientSizeToSize(Size clientSize) { + return new Size(clientSize.Width + clientSizeConversionWidth, clientSize.Height + clientSizeConversionHeight); + } + + /// + /// Converts a window size measurement to a client size measurement. + /// + /// Size of the whole window. + /// Size of the window's client area. + public Size FromSizeToClientSize(Size size) { + return new Size(size.Width - clientSizeConversionWidth, size.Height - clientSizeConversionHeight); + } + + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + clientSizeConversionWidth = Size.Width - ClientSize.Width; + clientSizeConversionHeight = Size.Height - ClientSize.Height; + } + + #endregion + + } + +} diff --git a/OnTopReplica/Assets/25.png b/OnTopReplica/Assets/25.png new file mode 100644 index 0000000000000000000000000000000000000000..e98a5dda4366693f7bae7194ede43e7da9befd9a GIT binary patch literal 639 zcmV-_0)YLAP)@Pd1f>O+aux zK?~z2D(hDve&Nl$xUO7raAe@weRt-adFFlRS?+K+z-P=vkLzF8=ROH>gSbLOkG^-r zE8-_YMJNdQ<;x4l3heiLh{xklsZ??%lj*_Z@d$3W8ypS?%U&**(dl#=olGXV-EQ|g z7!1n2UeD+Nolq{9b5^UhAc`WmTrSWHlcAr%Znq2T^;+=xe9&&UjRM>4RwCv=AOJR- z4Ui2+qY;e9W46ib^#UbPM-(SQ%we$$dTchE8)OxTMbk8>*Xv7c@oOv=;|REZqoS0g z19OZH@Z-wqbh1FF(}Bfe@svm;9_bs8ri4Nv8Smx9ddx8j;JKn^vza-&-7X}P$wz$y z#^h$R3537w?Yx6i_49SHSfm&CFCAPQS>AC(ESV-yDwXoI&SWyDje;QL5r-obMB)4r zU;F(&V~#{3fXBI`BG0jB(4I8lc|K3RY&Hu7oQjM&L)IQiS^O^27)z2Q34XsHEEWsY zYBgxJT8up$4nsPfX7?}{3_w-YA&&C$p(@^HyVus&6xB+%A_Q+*=z757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVN2)+ICY~;iAsWHS2@*yR>@O^BF=$KY z$YeMf>@Ivlq-NVg-t-))&Mt|RUYE=U%|ovWC;3Q79A#KJTkBeuNQ*O2KZB>MpUXO@ GgeCw)7e2)R literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/arrow_up.png b/OnTopReplica/Assets/arrow_up.png new file mode 100644 index 0000000000000000000000000000000000000000..b34489e747f6c4d65d4f2bb82693fe6535d8e783 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@q#X;^)4C~IxyaaMs(j9#r85lP9 zbN@+X1@aY=J%W507^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVN2)+I+MX_sAsWHS2@;zg*ss)M&umCs x^hGIK!AseUx5D(%<%VG8zb1mBUSC347&NW5uD!bX|2|L~gQu&X%Q~loCIAd3JJA3D literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/back.png b/OnTopReplica/Assets/back.png new file mode 100644 index 0000000000000000000000000000000000000000..d5cfc9f16a5141391fbb6051cc6382cd52c23a28 GIT binary patch literal 150765 zcmX6^cRbYpAOC#ra7Q|4lf$QTWJOVCxHEEAQeP{pj8ufPM>wN86o(>Fgr-f(%;*F5o;q&o%zhAG{bG_rvo-sVgafkx|fP+S4{d4fO4FEtPG#mVr zFn2X8d|`1XnUMgXEa||`rGKA={0(gU&wF3?54z;*2AsWg)yrSujKP0Upt6Fp%F8LH zBmnH^8R?V$3wF$^N8QMpu`O;mnmMnKQm9bfZuaoi@Wk+ZWuHgETZ_f-zq>nMm`Ggx zmgzR&`?hbLKqo>`v9W}E@RiQ1wyLMTqwX^;S-U?Q(jaU*OrU3p4~Dp(F7F+F)Ugq+ zv$!3;!W@3)QY`2cF>_PUF=Xaux>Lx+&Be&SyMm6vGcAISH{$vnx2A7$h3vLiJ4XC^ zYONjmE6+OQQLAFZQk|EF!PI4R#d-r8Ad4GFaZx6RaadfrZ2i~n8 zc1j&dtox`#^&T$}fA=?eM_~NO5+X^5dAs3nm!bHwVsv)y9^kdK#_Y=-aftVX+UT*QSz3Qn$RDBQ-V}?Dp!HSH4Gv&Id8FQ~Sov zrMxklNjba96JMbH``;S`H%kilq<5@GBONE&MHC~M@6F%sbQ_i|FQ!Ev7vGzW+?g`m z$8T*!Zcnp~*%wUKAjJSI>XLdV9_}zn9rQHj~9e?X@Sg&SJ)H?4;j@liE5g+-9Y{< zUtoLfHpK4PQ778}I6R@%W18)PfgD&g(1*C-m$qwHp1xz}C$Rg|cd`rjkbAT8viTFE z@l}sc!W$kPqASSgP_v$Nar94c`%_apru4~kk4_pWmu5TD{47yrT zzr>sz{&2v~^X`=D#>qz`-F?AcuDCn8{DPde4Hg z^gfuSzTYxSm8da0pGY%1FY&8zTh%;iKFmGTQ;{PqEcC{PX2n?T*Ux5tygx@Wf^Ox~ z-%d$I4?m=^z0=YZZghzpPk2**a(*?$?{fF--GP@y-e=6cNSPy9{_j?LR~bLO&)jWT zTmQxoaqQtOL47i75O|}u(T?m`DOs?~3Uh1i9PfzWby0k$tn@b*;p*MN4yaH3KtbC- z%&RdrU#i#FvMlIx72wCl+G3>MlmqI6LJdZm{I%Q7nlbNb%@`_lr|;nDH|iVRb}+;p z+b42c*&Oyu;sP}(XP0kp7WeCXq1;Sz@SPV46DKRwuHQwrv(P);YS+#3xHeP`I#g>Xx?^~3Ve8!^F|(YHCsIesdHfS!R{>_)FX~!h!d&$fbi1wFXHRFzo`9> zQTd$2k3haXaCKJ^c*&Y_X!SiH!%eI!sx%k|qE!$n6_s|t%TI`Vokdy*@({m2yct@o zg4mBKcvY&(5Z|nx%+_;%yIPqw&>ghqLVYb7&PF~$^@o3>;n^;IwSyLbgzCMBRF@l& z?+T;Qk6MR>7EKcot!+_B$mP$S8jz+60zn`Fzd*(pWZTaQUTta~sH7}O_1q#6vr15i zwuP2~0Ak?hGxc+e{x6`F=EtWgbl&3d>ql&(ScvOy#-y#Xkg5ajhV@g_*s1r_=+szq zN8g)Ya-VKE)Yt*OiXvoR`_L@L-vc)l-uEp#OnM8};P+oQ@^5e4B%Wg-w4g8UNeV&$ z%dzIxkswhYz1++W%DmtECl^7EwZVh&>-JE)|GWh?--8-VSSV{E1+G7@4P-*I^nOqu zrw`&0^fS182^R@yL+^*uBI>RC2tRQUgQpJea8uJ1q3T z2{EL&AC{F?b=w!~VKk*8g269<5ETz!mX4!dzF3>Lq|(Cv3(;AGB<2m^Pg5yCB`NqZ?j|Xj%7~RevUE7_cQ)kLWiMq9MHV(q(l;k5#^BGA| zEU5NS>81Dw0ZD5LHN5@B>S!M{#8Xmi!r<`iSW|1me_^Go+q?FPmOYDeJm1#tfuJ@1 z!VGth4Cor8gjRe^U9RyL?~-1YAzs^`O$;FIrAGQ{DGNBu1#k*Kp|MoKWhJhe_aDW+2s89c}4YCrmC zvRbgqW7e*M7hn#?4u|-KGLPbWGpFws^`w?;dtjD-?|D>YtCgy4C{gRibxuB0rvc>~ zzm1#)&VDsm|0T9fvkTKa(_=um92W-M6h(0p*+5n@=1#+u#<80ToehieHbm9pDo!px z`x?VldiF;@;Rp=*oiinaB}J#S%6Ts+S#CimJ}O^V-AJi>-@is~FfNs5Vv6AO_#h_9QCW-38GlS38IoV2JKU5 zD9?&6wKoJ(DsW_mZo(;RYL4v*o)KCG zYUE@D|z+Z7NrZxTTkKfryMnU>sm)w%Ef&3?uPf`)`I?x@+DLSOo z{|q1`sUAL7A^HOtyU0z=S-V3rN>L>csz0ltg{ca~S4X?gMdQbB7(-p{iEK z8P>MJ(?ls2I#nES_0mPUV$?3TzO6f{^@hER^kF#ncHQQOd?ZoIaV0x5^!gDhu1aMi z4r$`2xcD$LROVv$!8Ywd7pH@ z0WyNW@N2W;l+*3GJJKC$GKCe!ki&n)&;E$yAZmM4gd5IHD@FD&<h(t-AoxB8$FANL&eDxnKQ`xQJlGvdi`ECg#5EZIxNhW3;zYoK z@7a~Zq!Yx)2J&1`;}VJNzNJUpyhI)J4WefjiU92bYH89d2~pPv4iL*QG?B!1aj>m4 z(yoafX*Ud=Q5v0MgU1&O=37k7ZkTcHPUs2Z+02rn!j|XHcV6ksI{~D-z?j0ctm9RT zbHN`q8gQ=Wla+%!vy7ELbORtKRT-Ko5M2{g5X~zc)4N68I&)uejDojIr!;222d#DX z?iFy*i;!wG5o}4*x`f^B9~f_8Po39pFUE4JPzbu0%uM5@yquo^<5o;Rg+4rel+WMw z+3g3@hfl}XL_IJt5>L!|VS)k^lf&<=)-QId0j~0%J*)i{(b@&ZH4HhNt0*?|u?fjg zt&NQsTqi8ef;n-f&iCD>6xB0BEb^1L*Y8wBTLkDDB1V+T2Fu0Kui4Wkp|A_ASPe4j zOA85bjpS0$6;waw-&9$WEhG3eJiDq*h^iJ9bB5>mR1|@iylh|78luKdzkwk~upikx z2yJ?m$t^3II8gRoDU#v;VF;2{?4Oq#IHdQe#~(cb;u>Y}&ng_Y-K7^7hJVdKVMogE z#RNO|KDKzw^|U}H?V)S6L>l}e%PY9Z-%iX5Lr)xL{OSHUf*x)hDP@PC$xe&ld#@YU zpy(pA)YlV*e}aXNrP)Y2e>wn>)!SMDVL=r86{jQ{MnM2^ON&a2`5Pp7A-pzTi|Wq- zRgt$0T>)bagK$xL zQD9MIFn3wq5H%P{3v!yh+MDY5uh4u4Jxb>v^!cEuuf^H!>Di%v_PpT?dg{eW|Ae8? zA2W`+SgAsY+eZb+y&%ZL%R^kX16(`C&oU-oKKXOB=e=p^X^>GC)X_Qp*sLP4^yq4m zS%u3F7LULz_Ffh$++gCYfn2lFQ`9<1jMCyDo?54+yo3>*yq*+Or>?&DAx-8v!nKvj zN$qU#y%<6QdDKo88^}jpa+=LYb+f4;&;m~@i$HHge(@UPT9EqE?U+eO>&f*F783(`s?dfSIqlHq0?07~iEUty44iEA zJ6*52O|x7u>RlHj9(H{4eA?)W^`uK|Ofb;SNBnP}__pil>s#l80d6&`Xbqb6JkXtX zH>MDYUor-D_y4H1sgq%%@s5QNw=z5{TGC;3`YT|; zUC{F71Fi4E@Z7CD66oA>x=yKyhe&4>_{Ld_;PTOeWjP4Pj^{~a27-R*-+EuK(U+&t zi@Z<+*Gg)uS{zZ(+Ejg*h`xLM_8~BT=CyePpvyQ^7uxCZ!qT7NQ8j;zE=>g3P&3BE zvgfF)1i)Y?jh*>j-^X`30G@-?)3ryZ4rnJkJTv?S9}hyBHV}9ybX^pTSf0?_jH` zFGhF&-9p9M!acr+j{D3y;_o9l^aFaGN+{M z+r82-TE2b1@f@49q{4gA94t%&dVTO|5enuBc4M}$V&?c!!Y;2hWyA2NtR$Q$*sWG- zFXd3W+0K zx5h9`kcE6&1;JcoVxk18qBe!O!Tyz zsB^q!jO8vcMlu|28~uQnzQ}V2pp#xG3#xsH7=0_D@fSEgs7yRWp-TZ*+31%?uc-fq zZ-W8jMCh1x9gWnz14R7WI~y`Y2I(=V#FrR@`>P08@X8;=x}!b5N&z4SWN>XFnpIYD z(5aC-1=29e_$s1b*vE=(7-%>53PSRLP?*5w6B}nSy7zu824W`;A!6okw(%v@(|0`& zo&NK%t{4a3arIGBFvkd)CrC&Tm zs-9Un!00hxq1WqGv0sb@X@%vs(lGjOd-b8-iYcH_{(c_P1X!+8{av-uSHDyxsc5tv z!uawI5ew9A!CVQ`4dVFx$K!06FiSYaI>cLcS`|=|#xO_XV*L45*&+BmNVmniglMqxcq$q5u??#HR;cY|BBdcjLv`bgJv$XMDM zlG>@My5uo@_+kA)f_K@>-w$?P#2ZsmPDAh1R^q}t4wUF)%hnaVSXhA9(gq^{A1Gyi zF((p7zpJ}>s36n~Z2nQuA}_psOZgLrpemSxo{>232{G~92ddgQTt+en6nN?S)jo7{ z<*qGtXp_fb+&bRjc!T9a{C4*J;{Jw93;2%61hnj_)W@E|(`lJ=tw#9E zD*%!#gp_+}l%|GmCN)d{&ehtjLjS15&{P(Nnod8dg2!ActuoI9Fp7NrC>jH^xu41l zPil$2M`CF=d+9)Ve1bg}4^d+fW@cBYUvS?_<}4*MIV+;on+KnNw%D`f-2%k+Y11#T12dE-v-5bKbmExQm0_T4*f ztmRjWC@xHMNnSpZY+ebZ#3|7c`evntmB2X(DjK(_jm-ZgZ?OA1r~xq^yFujL%`;$r zw+N-_%L7+6s{-;Rz9Z2d-DzD4GtiRVha!r2f=#kr*6!p{UIe*;w8k}6>ZPnXjYbJC z!MehVAN9_4z!h%;L;GBOng~7Qd2NnPf(@h4j4DB`V}-o&tZh;_*PnCa1y2t2WcMGy z=@+K=9|)O*9;2UHMUkl7hLl#B`PmEm{oYz*@fUlJ*#p1O##L45l%XXg1`_u3#((~5 zFsW>R%V1rl*saEtBjuDef&M_p!E`XUbRSQdweGO*8j%fZK@%d)I=41_`<`&k0{Ry( zb+5fOxEIt&Us4>>OMHaGk_leFpzXoD;rjPPBoxMiiPCpYL+Gcj!t^%(_NuG)&~WNn zaP3c$4L|f#Q)%(vnrZS8zaBbA&6y(1fAo51HReO?c<~Z~qR+^&PS4);VF>yR0FakJz}#C{QP7 zw32LENYmnnU^qc*)j`vWCY2^0aeE)6ev={A&CgP^_~AaddJ-NZHmx& z_2K$NiV%W0Fse}MyHiq*SHqxgok0Yh0;Bc=!6*WnDu(EX#v z(ok4?7z!um0pzrY7qu3l0cEvLzOj+^yVO5};EB8|LI=SP=n$GgI_phzkJ8GK6IbI1 zMbvPBj9k$9=rzOZdvAC~b7J~C9`1&AWS-3vcP|C<&x~H=xBPYJzCR}y^z=fVFVeZh z9>r+2x_gu8$z`A3wx zj4uw(vcFwVifAZr6@Vtdfk4~ipSB5J~ zIQEX3RWRX&j3oF-6X~kUx`?*Rs~Cf!gKdn{MD6P9y_?tCc9c;A4X?XM`R8f(^sq0d zMSTT2kT*?B{E>5ErMFhXf7P#Y<#ZWYxSQ*%VBWLx*hcA_Gg4lrd8HulR_x3xT6hSP zt>WxF?nK1dO>*_`|9y#1Uvj5iaB4Jo=QtC;Cv|2yjJWL1U(9GIp-4tH2oPU6w9jSa z?}TNT?As>3Fm0posqnbHI@vBHWF$DC`cam8wtIt?N@n04Wx)7ocu~IVJzkjpe50;j zb0uc}PO#q39`R$7L!*#2KK`b zFzOiY#kn%gE{2TFXO#8zJ8h1?5uPd_ttgkw**>)9o>eC{%MAWjWB1;)_k0+QhkbZpY1{|6a_Vv;FS+RO|i9BmPZfZsu za?1%5#V<;%s+=3*Qg_bWl$%T{uxF1nq3oN-*`2%>^r1=omx_}DfN3P6gw|fQ_Jjbs z@M9<4OD#p=sdKAUXi?YaM-RYy6$fNa9a}mB<2Z(a*eD)BW5~e@QWbx98j10-u4%K- z@-?10+fir|RV18nIG-yr`Z`KL~Q~! zuL>!HVlTZ8=nv+-tpjCfxwUH;W=u>@D$%$3dBe;D^GM~IP)6A3?@Qhq zw2iZd4>!nRvQ$FYT_vXIyy>d%Dj_HMnQa-7ry?Lr3ybfy0tS8u(m$o{ZhbnBtU20) zXoI*-koqd@Z%auukGbKwK2BW|5aTRiWJ%uRem=DOtW0I`ebmi8Dn z$Jw$C>M6F8sf=TWg0{J-#|F+>%nB&@I%UQ3Ht1Ml2z8q+M(@s%6hZn(v2V-%r6RdK z?^pIl`xneQUs=11^6_o-5q0Z+a6w^R+Q!>aGNJ6BpAd4eWh`{9s#`}c&zFx8^yQ^& z4?*X?)^_XUywGvY`$M`ir2z%`@ZktZ7}P5HU=Lz(;|~$}S}t+j7$`#o%;?4Uwu0>l zdSUWiD$ARKU`c8}$XKt7vC%-n`VmZaUxDYI;TR*1&w!=Hf)__Fe}~z$VWqyj6)W0% zPbpu@=3Tud2bQoqrcV6(SiZ(+QiVfOM+clB2%XLNdBq4jX`shodKZ^I(Bn>2lH!jV?iUoCuH%KME(%3b2OLf+xP> zVzscN0KLqi@Kuht?E_AO!$h9fA-%$FuhxmK(Ko}cU=X+~1^V*&_%r}v>RpCtW6bge zXrM7ls(aVIMzf(^hTV7dKGbQbY~S%*pAqhpJ-hY!6PF*V z(rR+4gx~414i-)Y&drt+@w<+datkFssgcD%qDJD2WAj@tzTN+ujsd$SiXt~J!NP{ZnUz}Hd_S`KYDj#l)-X z{_M7vgcUoUG9Whies!aWII&y{E68`mz&;-x~n=7~*dVeanvt0r&;V zZx;*#`h;jZ>r_xM$tYqu6y3S$h91{l_4x*uk9ZG81QuKY^XxS1yrodA8vd^TB7m=4XFzpJfQb-dB>^riSA!`L|n4A zGvS(WhG&NN`5%j2hT5h7NbsaPIKDDbJgvx6`Hl_O5cMu0VaN8a+@3fLPa^7n*qA2E z^flbCT21od0tOVFzttwSRi;v@ zL}Tzi#}?e8pECJjh6dy8txxmwGX+0?me^0JbIXk#>Py6yDG9{zLm7U=a*!^M(;sbn zNZ)Ic?Z)Nbr5TX8=IGInYZss@+R;+wY)neY7D}={^+6>DeWsh~eH5gpJfjBu^V90m zx=K)V<4+`63KpMsSLjeO&$)N6j4|{{m1w>QeGF^4mXg zSq1P#kpE*K67x(eq-PN117T3nO9cA(fq&G)zZGee^&1-FDf6_Ldu7PPdl9!d?VfL~ zIm$X8jP-uB1SqlKT*9b&U^E}pNR3g`J6r0DRbg)-`S9tC&)$0f6N#P`7#(1dUM#KH z6QI_`0j`|H2hN}Fy!)-JxgIy#@-m&3{>Nhlwx@5OZ?2vTtug8JPWoO0sB zzCG_J?#O#Bt228Qfp%*T`?8T20WIMu;vT1Avg2}i{Pu0jYn<|7Qj>~&$3EeGDXZb) zW5c_NxOr#UnZt;ic446)3hl}|5CqD}PC|=ClxrHPJ%LIEG=Z^yvpiK?KgVEt-qYus14XhP|giqSm6aEg|=E6QdJ z{QFawX4ej%gG8@UJkc4!!~2~2G*w^wQslTYqcHnP(v7H@Ubw9uZ(x&daCraBIZtjO zvd>4j#I%~_p7F_vlv%TN&8o!My)tuxMMD2m97|jn8frXDKjjvV>rGv1T3A@UU0c&V zgvkY?y%sMEce|^(oT3U>TI;a(l8uAfaEb*&6Z;`M<`9s}QzMy}@vb`To zJG7)EkVZS%c;-grS$73i2QXL4hNtWVF`i~)Fdy|QMq2H{e~j|9YZzy1>Nk*l*UmB` zT#U%jlAdmi%H!MqQNRbi%HKHmbz6G6{-f5tm{EeTw5TAr+OWGN_koSCKv~~oL-!fT zT}6WiFu(UPSPG10#Xpi*U|mf{IwSWnxzqTMSPzcj(4A+=I8>3z5AlYdhBnn;F38q4 zhlX*cq|coG&-%%yF|-&{fTnyUfsLkv9TgJ+Ex1j9fjKa?6=42{iFQQN&5MyriWns% zBt8rMqC(-MeDNb*?S8|9r==`Hg}?Kp=3Bq$lhkO>6qi16qc=h3XRD%u^YnTaP(>3fQqJ{RHHPjv<5Fv4XGqi+&{KePF&owd*Zif5SR>TnU9 zT$|Sd1{6WQP@_4g?^Qf|H>X(%>}qj1i@5Cq-M&5B0WJ`|k(?SHGr)1D9&vlO96{&| zop{NR+=xFSZLjQ%&Y&|eA8uB($ekGUM%xV6LfiboUL4~PCq&XxYLcDf_-!GYuSH|G%Be&X<4fXWAXZv~ zFWr}wOs%hbSjl0zwP9ssG=e5`7dwLwbT57dW&&VN*U1ck*#V=^F%NVusbhq8A<-5l zAk(Epr=qCD(X5mJn?K!mVuCqp0N?w2UAdqxLpQDp&0DAd%*3w*R*CA*!YgG2JV_9$ zdmMy~a>+)xdIf(;8%Rz9mBec9@0Gc669tY$Q(;ZZ0xX};fTeK?qHSFB#{6{{PPtIw zK6z4e-8ctDPcoDb(JN3bPnjgh3UrBb?i6`vU7iS-V7pPW6%l97#LedX(ZEOmZ4}=6 zE#YOq%I}S{Y!Qi+TiL26SC3rIDE=jdIFNdD4&fS$iI<9#7{hOOlcER+tW#KKvmUHbXrF?$VTq*m5~n| zodsdZp||t-B`tkWU=t~pR@rk9T~boT`j6GUKSDyd3OQg~LNbeBVM2kd%<9**{LDWlGW;H86wrP<1-!G^NMTJ29K_v0N zy3mn6$8dHV1+Vv{8x$_F9@1|he?gr{9q)ewVq}f?g|2AN6{(|PujqA+gq7x!F>r~C z(Iq-NKb;8jd?J0g4mhK*wUk-?5;4IpBS!8E<(5M%bdoBhcgb$*bRe=_!Cv2wezWXr z5zf!r$CD*?4@C3%A7LGuF<5LQWvS8plzov(FF9(i43VCRmM8(ik{2VECrY2r2&ymd zm0|EbQdzoGx@v{Ra6c2b^GVS=cS*;$qtGNAO&f zV&#c=b|=*B;YkU)J#(u1aCH+Qp*<~1i--U11J5}8VvmU$yXWO*{#_aS@#hp?yfwiq z_nCdeg|Ya}N7vvS+o*h`liB#I$#cWT#o_MFH#xJP-=-x1WFe88+bBO3AeY}iDW+7r z|NA3$NY-&EnFed8^v;tx78vHOu|u;;$sSiVB}G5wsdLme9zP0q8SqXLQYjZq*`*NY z)M%fOWGpQ9ixGeL(5>|Ax?ycy6>4S-8qyW6((}l+;r>?X0&v zVTFx_9kLFN$VgVC{s-rhSe-Hv<5}L`yS5|mwv?~r#o$(iuUrsc;(+diXi*70q!b3} z#%WESI)2EZO!`(8|AdxTUSxl#-H}jJ$1}BE9Wqo{%>D)VQpL)%je6OLw?Nk`eZAEd ztZi0sj>Z*s%&Hb3FW3*@gK&QCuh#T{40xt(0L|ay;r>f^Na*?U{;-Q33{yD6xW;@D7ZJaR#EhL7 zxqXLv`62J<1JCv^c?l1^%WD%89u!Yi;f4248&T3{dL5VoUOa15Ii4BG<1mxA9sRp0 z8){T3_j?vtwo_~0XBhP>8vPBDa#S;tPd4%5;clP5-CSjJjZ5SvPZ`5vef9D$2V(6^-_L?d{-ZgSM>MXkA7JV}TH=sf$iKnCtr%Y-QxC+b->ynlp0{rtW5$fW>NKA zXKKbVtd}<@xbFE8QKABG8B5}wutwjYAnUD14v%KuQh0%OfNmNE(`dk8)CRkOCHBKo zz@4inZn7k@$63q54)rqZk1LfPc9tR1VI^MX?5-YOKy*BWSh&h%XXHYy&yNzra~Gst zF<_iqdX<7X2NEX0^?0TKn*Au)IBR&{+>7~2q7vt${$vGPK8|w9U(ulcCrkVqrpB=l z^_mv&Ih{7~(+&j%Jg1JcoIybPg?rEPh`z2ri9Lt2pG?M7kza99b6m5NtypOrG@x4; zMJUr|LKvKDp(YQRX2XF+9yeK>V34xHf$m7)$iSkOR#l%zs83Sg;MoU#JAb@Ns=1A~ zrZJ1^xAhCLi#L}pisSTwCFkhM``n7lYY2?hViBNwWFS7%b3jSwB^*4D8Z(0>3)fpI zpT*jqUA+w~`!)`acWA0QqL^?c>(>90)NLPGt&3x2OD07%Wo90D@=e5UZ(WdFHT<6X zUTETO2{Uz-6XI@U+#F0P$xti3^1lK?1jpa|IS+!Fve8%<8fV|asR-QPA>=L{$*k00YLbET6G=8#Q%VB-$d~xu)F%yv7 zlSr6t6fG)Tyu{^NqP4R0ZaAwotfu7DInjK0t&6L`YTqM;%46#b#dj(lL=of#3hxY5-}I;&NO3>VYh0uD5Ac0Y zgxPyky=3DP1Nle|^ecoAAcLg)j-G8MMF8|uK@49_IE&K6Qs66!g(%2#?9lzitu7rF zY{T%63Npz2X$^;WMtVo6F(<^17i%UAwkh)>Hi zRHtnOC$XV1%=x*ySk%(v-t1s;3rEUaT6IVdw(wjIT}U00PD9`Ygr2%=JYSBk#;#V&aJUbTj!l*eT-%X)w?8~rdBM7qYsI7oIc zUK^vb*bPxvZ7$@;kQp5J*ahG)R&2DRqeK`CXD9BzXg+8t<54#4g3;Z7(J6VM2-)n% ziY}%Is|^dnMahs4{K`sywLfvY)Yui1wHmn3J#B}T2niiM%Ss!PEplvkU9COeInU!iYi?>`v zvCe5I`X?O(y$={q6(hd+d`FI0HMfoekDEBrX)Hogpe|fWeLjYeEi2y_zqMxqSAret zs|}X3oLm}@e!FKJSK=pTvWAJGwN6T|YqOk)LQenZYS(>nMcP;0j)Z@t?mYFi)C&UdepbvP}Uc~j?ZDlPK{EBRfM@p$~69JHCFfzz*n1?@DM^ck)L zj~6Q4wAt=)1==aNuN)$Nk)hM`y~*^OQ}H`R8$j@W+Wttt+#hx=^`3htV=@SoCzy(M5Q7eGks05or>d87TPEnc-a zUo6N7dNEVFc#)TSLUh%VYHv26GWc*#*>qp%s@Wf5e&P?fIrN6Tmbd^c2`_T1ncA_^ zmmVj9x^)kKk35G{wL)vM#Jb5_{BYpm?C4o)4kSK^O#fquXjL(1EUTe&JWn&lydyi| z!3?HYpCC#({m|amGp>otJ1n&oYt&MZ@Y_tz#fE~NL9ua3D?Plg#@I6;cu$it;>E~j zK4TCGiS;G7BC_Ib)MyrrFNt_vqy1w`6_)#SF+8T_gvsbxXBJNZBEw*i{=n<(q|7QJ zeo3I_{n0avV^Zd__P35aRp>FdRKi^LTk5b>SSjhN>TEDE+&sYS(=%E1H_!Q-J$vVBidC1dUE=)%{uC3;yEl!@^0~-4}|m;_J#a^RXiLF@2%g>l?d} zs0jQT3YxSeKQ;9-KU}mkiUD|7pchgvN^ryn7Y9tD@(QCRmfWJ=l%IQNh=WT|eK#+c zdL{)$P@`ovy}HPik56r#DZCR*!PZVf2s8pq;d)w8)h4VHHh&ckKAZvCmEm})D;Z3g z)C@iuAVU3nh1&%7^QNK1H#WUOiiUTOkK=7LWm`~StGmwEyA_Xhv? z!0R55z+g>oxo=^K(b`jJL|RUf-xz2&)hFtjsp{$LY=l%f9}SHHKVdfCsUtP zvlkG3C9*wCs_Z_R0o6BC2PY7Px7`%RQ2YvG&tD_F_jsr~#+4nNFE6f$gC9q}^Hg8U zJ{{SxZ1iozM67k!a0bO~ULm$HQ@woAJm^DsP5aO>kKRW^eEwNuRyOIA(3JpHD$ssX zOcB|x0W}_Pz2|WYuXB(f>l_02$bsRslNH8%S9v->zIqTrKZnb|7i@U}gIi7N?k0**`#&boStZEJ$rhhfa$;q*Pys=oMJq0qdQx<*}fYH*^2Uodpv9N8EbK-3b!8iFK_Sc>p0LSAn}D_5|?*=-MonhzVBT-l(8ded$my4VoP%_V>PQa);Sr=iOVO zpSnqxiQZlUQzxfZQ9Q7b2n=u#zJLgV_w|hI+(^@RpV==4cAbP9>6t?0GICeX z@tB_{qw{z&c|a@3(I><0$N1wD1|1{o%eSVyL-Ra;SBFIdJS|sLx+QRo&H-8F+gO(e zx-t)Zgf;`tF)H6l#MX z;WY7hF@MdSx7CZiTA?5El+xR8YTHdHg+KY=_IJWKebdgexNW2)&|oj%Q_pl{Q6$gq z?yFXdecN^E$!$q4vyry2(w`ss3PgyZ*kH+zLK^^rAn~M#gH9?ozJbBwVxtvA34&_NwQ;tOn!bR}7F6K0 zayL-Me*mhCT6YFyUSj6tLfB}csIv4l@;;gc>k9I)qCe`Xucmnp#?mZ{;mra*>>!WY zpkiA^K=pY=Ne9>~-(KqzUrC3yw`qC|jsQxrz;d|XS+M!p6BJ$aoNRDdy7lileg}R4ua>Gmv z-iOi)b5Q`g)s$X!TLgvzZ_Uhia$q$v8K-d~sV*U*ZdU2AGDR*$jK|2F)(qxu+G$dDir7|e_sWy=RUA9VD~wd zlpJ~M`D;I~jyio*vXkPO@{}a1OGckn)l^y)M@dGpU&WjVF*YUV8iL}|3{;gvoetO@%efL46+`Cr7tb*GvM&#Dp zpr3xdK3LGz66{_(1^K72+Q$S-a?AO#9m$xilxgHvlcFLv+Vq9h$RE&OZpYcgsC5Dg z-CtY_k{-A@!6Cl4ny)n*4v;k{+<{#OVEq(0?8txeD&}0iI@#OyDBPee0o{GbdF}o^ z)cQ-BB|-=$rCJ<)q718Nz>_@JJX7wm(YqMm_H6DFUoN`|);Mb>G%e4gcIFB19>6r; zhvilA-S^%vWGsOtB(^vIx?WM-yF0;e@4jih?)SPCVFZUOC#TodXurj^$6%|`@C=aO zhir2M1|+y=Q6RS(u8F5a1reS4LNDH~8sh+v#8Kl%57J+%{(aY{&Mgmjo0T$aSUNNelmUwuleVcDlEEsFyw7Z1V^RMjms=@#n~o(jAA+4Z-2s1seh;P_w(eD z;t1U45w*6FUhVk34O!r2o%o8l+lKRA#rVRzi8;-%+VW}0x_5nja)@*GjMGF`Z-7Qz zyv>!6AoodT@n=(@{ecVTsoK2My(j+=HipJ1;Jgi#*B=!nD&2~^z(J?4n`)5%9p4yC z&chM%mCbSaa`{IZl&fl~+>5PnRjPtU67+9jI6~VQ6a~ri&FMna$7oo#dkR~z&PXf; z`%@Y9Yt55DbuINSUx1imhair`pxvVTt4YSJG$*IEtNVM0xS-bE?cYgd;=X+36DZ*; zr)UXiNCqYwtt=it$#$pWR|5ReP?s1?a5QLL?w!~E2v^Kl#D1yLmp@&{8@^p1XAMh; z=pU?vZc-o_)kM;*n=*`^!IPwk2{vO92(-`NKOazZBUV~pN*43cDm*NfpP{hM0vM%9 zHrF|~V)c-#KRc5EM(0%IgKDxdNy)#Lzr8G(tg_$fxnsaiFnyl;SDt=lxW8*zYSMf0 z1-})A6O5hJ$n6DUjn4B)3*&|tkHy@9{GTa9Qn@F%J=bGs2>h|Ch;}YEKnm1N?D*-~^ zXM^)rp|m5;)uM2&W>62u!0+Z6CD?G#Yp`Kg%}NgrBoxpt+=o*t(P69SzJ_%G`LBfl zc{QWMvZK0kgL(4SI9Ca{NBHa4y*j%)CJaZxP7tN1En%QUfA{Lf1PN2a9)n{-FNWZFoVfV!y;5&9YGRS(PJx6^jpjuyKMl{F={H zuka{6MO)_(Q)>eU?KM6DNZO7oo;=qu&0@6F=)D-Kr$g3_gFf2r3bp?_FNOR66^n5m z7tlF9d-Y&SRFBt@>d|;ainIz>-hf1$)U^<1QeBiw+aAvoJ{A#xo18mPLHnS^Ae|~@ zC{f~*7bOMa3SM*-h4B+lY0g}R;vHQ|^qA=)bn+-IE4@7(cmm>;z*veHL@z`nP%JKz zs^Tg4Gj)UUeR=27hb=e1{jL7p`b-gQEBSuv#Es{ZQ8QnzEgJ6njn%)1EO{rgCO+{t zZ$EFx>YKP-FU?*RaJ$cp2v5>7#JLI|g9l`1kC6|3)fUP~4rWECGNCVEcZAzLhoI3m zA>EiO0C_7aKPb#lgdMpq zONfDvIRC3B_qIHut#pZ`2G?EE4ixubs)U}L5?oTJ31WnA3Snr2GQ^V3vHKw z_hqGN-N-x-%nYGmU=f`#xB5_cATc4fTW^qh=L(#sP=HfxKkEdfZq#MN=l9_F)91IK zfgk|QaZe)JUcL*ZlMmLqp}wr|y1>^lZ%{vMI@GT67< zyzs3d4HgRxtulOyN)5|-dee_CUAt;-_yO-0E_QLUpPc3P=leAr1=gzf(iH~K~3W12EE zXE-!4<>P~Bw2x{1uY-_jEu7+3YcUb*!nv*+s<(X~Q;^u0y8HT3U`FVf>dwK}hf_R0 zNysc%{EwtFkB0Jp-}p0QY-1n0EYldfWH+*nY(sY0m&#I+Fm?$eVGzbv))Jy3YqBpf z)}jcJeQc5VkPzYb^!@$O(Q%wp$Meklec#u8U9WpD?KU!@^ljg$L6II76@eD)VSPp+ zTGgNgKLkW0Qv$By8}+5nh1VEoyC>h+M#UBU$78x7neBdyzagPD){Rd5b+_yb*KJ`q z4o142Z}c+>C&b3RSo{sfx+D!+SFq3XAUp)w!9*BW8z!j}mGU5u$H(C*-?pv#$gEUE z#aSVR>cq@eLouRqBO2^o4@^2Ng1-JYo2a(h@v2SWx36^r>Z}cc9rOVPy$;K=!kxNJ z9v|$l%HUxha*s?dLv$A=zhtQn!IA43m;@;76=>2HR*$5iJE1ZM?7dcZHZt&n2P(nm;QSbMH13P&9n3lc9Tmni;FG5}-HX0PR zNox^^vBk^H49$JoqbGMcZJ|6nUZB~gO%N;jiFUGlcti)Bf3`5wofM~>T11hrfj#J7 z8on=>jI6|T3&hf#Zsvm8XkyG;DDDm;Np}&IHm$Elv@0mRyW}k2Q&c#eeH}u(`}FP4 z1OIPeV+@|+vO=PEb5>L>nBdxsI(smSkU#h6>D?bu29+VYA2!VLlC+RGa5Q<+ z3_K{lkHERSsB7&?jQLAEecsz@o7!Z20o!F#J~WY0DUJnCT)%Yj${iw2IuA18MJl;k zN^q!MpHajCU^90Oa}$H=v;v*yuEn6{IisGWy0r9_U720%4uElS^!=#GA5C5|&T17+ zTs`i&Q3R6#60Yu;P%O{U8G%+Al2p(s|^>@3B0*4UN6wkWbAs=BCM+74Gvo}X^^jOqcy?4)lj?`Zp;ds@Gywe*WT-=>$VHgf%zXUWLe*{KGKC-QYIo<4F zCZjWK1ZX%Vl&HPE0t{Fa9_}wU#O(vbaY~9Ec+eHnA?rT@5*7s3hQa6uL~F|jir9O2 z)^N~iwJHoqSg}_yu}Nukg7Z)3E|VDojywuz-@>PTX{2*=0oJY9e(-24ix1<;zH}HE z>HQjH=iF5S`IrGI{04L@>dcG+|4hQEJPG#qw&lv9Lm-pi7zj7X#WXz$TF93g+^Lj`TiTT4H%M6V&cY&MGsx9dYz9%R zJzsPX5LAjz?4T;q3g4O5X&N%4!T+!-j3YjY4zt70nGn&L6$3{MS-Vb(*h15J_En2` z=!h9~(j%RS7e{m?KXy76WUptXDTjHf9|zV#rpqmj**uUU9?)ba@yiTYsqv}*p0;JW zqH}UmdmPu7b-<)$9rX1u_O)7EmG%5YREyWpVcED!@o77Le9zaqd^M`v4w89iHA=>1 zPVI3UF-CfGeIR$*?ZX84X(2&j+&P71k7{h?^|fw15D}hZWFqZQ7(1E7m)5841tyVb{5Wjm_PCaipMdlC=#g9y z7$=gN?v5$RS-&-FR7*aZ3M+{x?S8-viA)^$WiUYa6&82G+P9sq`;OZq*)XQ(;rD*i z7l8qSf7ZsUW@j(^G{o0q$mQ?L4L4tkS&rpguP2{pB8}Jpo~b1jd61s(YIE<2wt#&I ziE27u8FUA()$E6w9mLi&|10g3>Ed&)C&OxLY32Dlo20e2V=b=b>wu$fQNSI6&36oK zr5Ce^=g|8EAxjk^OfFMb{Ur zZ%8kY10HHXun5fsnQb2x3lBlD^g25VKUANiP*=V;xmENtYaa{&u!+efWc(*Ls_)b- z?$`L9m|OP5Z(CZUK{D%Wg0tBlx>zxeqrRiqE(5l&a3MaQC$oJfTfBl<^Gf%@37c)$ z^x+3!cW5K;XxpYL_q1redGXpE8{;zv{Lo+DtPdk+mNlWBSq+_$12bDs^QUCPhmGxQ zC-ww`N5DrTFZ!9sxkvjVuZT-BYaQD4E{yy|3qW5%*&L({Z&v;DxX=9@1N?-`Y%Q-IsDO>{h8R(OzY8*Y$oN)tL0dK^U!t3j}mGqr!gWL&D3~|1WtNY&+Zia+-3~#P~$Z>t<4(GG`VY`9;zos(bRA#f8r6CW{>mo( zKV9u6sL%S&(X-d>&(AK; zzCQh-^!0a#b6wHdQm)6Bc_kU%v-*1@hgF;mrBO0@3TN}9Q*Cuq3V>Yw*T)LH69pmy z?ojbw5)}luDqG-AbPicTVt4V_dmPAFRcEzkFxcMa*i&BKh*OYx5W@i__D~U93d>J- z@YtCX9X;vP7*J*Q@w*nLT;);o{w2g!>d8MSN_!wHwo#nm2R#HIF6R%zKg}36Sq>@L z;E{nM>*J$!Rf%UFf~5NJtemO7Unyu_;$9YJPaMva;ffEwMFl&KXer-Fr`730tU8b<}R>F zHAIBlx;Wmp_4%;>w6%QtP3+M08|q{%6d6mF!n2NRfpszQjopmftTxfH=lttJDq>p+ zp&%&1&IfD6iKHOKXDWk1%(N}AH_QIK227pk~q=)(jXJ`!sU z82Cfm2c(w5Iu=($&(1IKcqP0yEIJwEU^wu5O9f73|7C(k1Qz3CyaV<(4UX@xBgH?4 zjDj)YgHCOlhT_k66{yZ@lBKGqo)_K)MRY(O6hqwdK0WB}3m;irX)A$HhTiDg_h}v=D1PH0rdO^ zi#nZ@Ing8P{4yI8LY!+bhWy;xJxk~v<9CQjU1Rra=;&fG`i7FmB~cvGa3NT8C)JNO zI!5g=T9cZ!QpxQ8Ahk)w4i;r}|0=~O@}oxRi_RsK*KQA6diD>p)ID4#ziQf&nAg(h zwi`IZCo(8Mb#@T}?B0^SSy1tm8KV_7kbWHPBfa+A2Xzqbqka(iux`QUFmO=-*(6YN zHSkJEo%aPw@H*2;_iO9!FRwYfKaDwkiK@9d^`8{emALJ(3%RF_c$b4zrGT_ECk40D zvJKB)T93_m&niRxZEfFW6iY1WR@P`h4GdQ4X5D#kai15qQYs>m>r_1Od!-R#JMiC| zn}b_i2a_WOUu!aUWXf@n+U{HyWNfn9=3|dla>YVU z63WNWru#b;Oh@$SV=Mp5f8cVYc`o4zE8(gWfDpCYV+kJ7U`zUqK9?vqiBspgU8R|r zA`8~s-*iq->V2>q84^DYPrH+W(d-44QE_I(53L!#m>As}{XZ$tesKaO6P#FG;zv6{ zZ($ixu* z^#FGYQ>jB$odF7*Vdd*q)Y!h0QN1SWb@KhRhK+O^#7^j6<;K$S`(RzY#hm2cWneFh z-Du{#;+ZPYXNZ~M=_|NGxj7dgB0FVton0<^#22+zhgcV;-wZ(Gtr~Un(P@@XAG#6m zh(q)d&p6XJK^GBJTHRov7Mh053Ki;0>+eaJZ9IoT#A-Yquuy7?Qx!s6HWqawF@lfp+Lw!=*wMxgalbf@xi{ZZmR?ohu zyB(GB0k59QpIW_8*gboUIWWDI%wFHS|9d4F+C`UkCp#kj{1K4`XM1ygYfJjLa!dLg z)*ig+F`!tb!Vfy`tHrUwbjXRWH~}y(eH1jRt^k@u#Upf({#~`B7?}e~`4RYNQK%Z2{^9kJiqB4I86YcYo)P^4o z$w3?MOah?>Um@4AD*L?PuNb5@!`-!~T88R>Oe| zWToz>9NIkVsktzB#ZZj)nsileqE$N}yRajFezI2?{7@T^cabWD0vF<|xje zh2u+ffcdD~iW0yk%fSz&k3c)Dzm@Vid?XdgZ%%ZsaWX*k$^Ciw=O7wAo8_k=0D7x~ zC)ua0%}_ofHD_t$pcM&d42D_;g%uZvAx6GfGI0S$MP((#Jaux!78Fh*Lk&MlO5vpv z>+A)ws43a2soawcXl!c5rewoNIS=w02VVQU2+iuRFKV$0PVTR-I18LDIt@@_h`Ts3wBBx^R(3YK!Tal) zqUpKQ8XBxu{%X|Ar^KW9+8wHAGCb4c8LG`+a}~PevTg*=(&9;wx6J)pmEO}^l^|>2 zobCFzm0*xOR>KJxM6!b;O0F^XdM_Oh@*Szy(9FTl?G!i++2hgq95Pxq16pO;AIFz3 z7kX#XV_qtPD$i$+;Xr59y*64jMG&yW3xeLAB`X3R^|Hzm(#3Oln*fYf0jfN*<_yT7 zSK>KsY^gEkpYz1Oo9v~Q1EVNr1g~rt><;YU`h%7Dn8W0djlTf-lLR4<9vKdCPbEva zPWTAnNjawia|$Pjn#&x>J(h{iy8$|U$U0#_9?owBP(B0pg0|tvIflJdJr<-DfC@*- zQwk1YtZg4_GR_1^-<6pXLrZOHe6U5c1aki!Z^2$DPMYn?0+?6wL7^mG>4nLXoBo#ei+pAOMQ8kUBjsbU)ADh!>J^Q2R{ zUX$IZ>5(EfJV5u_<>kbiuQ`XpD*CBs9txu5>(@p8u6~7S?R%=xUuMU&x&Cp3Hqiyo>dx?ExV~s>)>+lLk*Hg-U!c)+7Zbk*&=mEv;MOs`Af>Py%R+5ScBd{Wub17DWH(R;vrH6?!wJq=SBEs5l>Te>6nI z^?AViKrpS*###0NMw%O38q@}0;F#vM686Z;lIr+}C6rd3popenROzLCq}cP^jzd5e zjuhrYo_62Wk1|kWuV8LF3%&L5OxLzii*RTXtkC06MR^M)-fh?(Qvj3wvhSgc055#6 z;2h(B1?TpsdtnTJ4y7Miel}1BD3iGYP$3vNa$|^!I9FaspTeS1r#38;+;rfy!$7FL z&nq?%D6)ti5X5b*G+7FBF@OOIKzQLiHAK&6HNAX#Cu!#Sizg6aSGf3;2TJf3D z&&<JGYZiAQz0fdk9Y%|jusVuU;E+H!}#BQ00)}LIdJ)F&h!f0PKLjp zIPH+%kbh9n1pjj?Y+_AMid6@6$V0EKqEUZ5o1{2pEgK_+c|m(ISA+PD?gfeMQA5kd zx5}qn2G%}_d30!^@U}%DE1r$LWlfZKn}SMH;8)1$zwgEWDUuNl0t|PsD(L}2vtL-& zW|)Kq+uuABZ{?I@L<%>l2>0&V2C-9r4YG=r!qzgPudsc+!p+nm#T^(Txr*7t+zEA1 zb363z&Rpc)5M$~{jJe+s-1WDEuh%&0+8XiiaqdWe)JwsXzsI%bXKfj1|9pNLT^-3! zmSj$U1sToy!ak8PD{ymY{c?d?xc|41z2&z*->$yftX>_}^3RGv8r_31TLMUGCAH1i zaX#c@Bjl@26An=3wMzm`fvbXWR(xv3EoRGfW{z`!#0bdc0~`Ko+6TjQNNwOUi)yqV zNsfmqfJIIeTeMfHA|7O!U#ve)Hl)JCGo>EJ=8q8%-_&cp-D_*-Dx<1Ho*{0OBRSAQ3}lJSfKq!dVl+{Ae(qHj#{@dH7f)M9QtepRBK&}rweXyAWGyiMf-8r$VA zwJt;GKjg+*0_dC_A9$K%^6`J7ki>qfgw14PH(GYw=sHaL7){SYw)ie`Fd5x3u$IW$ zRP-GUP2k0S3~&mfL+kHrJ<6CeGqGwiGZ~)gi>ujWA=^pI{4eto&&KD=b4Rp#wIiD&M-PAf zHl4No(aY3ft-|%kz=ZkN{8*~~*?jYjU-Q;1dMD03g*#?O$KCq=NBesozqfu4)mSYn zVJqMy(}r&$)1VohlwYoPHw;Ms+Q>{~!fwU_uCL}s%E3fRl5x#HqDqAiHjzPmi&_iL zn)3QSBgqwhZ#@?2IHiEy^tkol=L&eOTLzKl`~f!FSH0S=)xidzXcq&eW4lwREO)(H z<~%k49Dd%;B(B`1A#nkoO4JxI^`fjHcSQ)vcBd8e<`V)fKDX>2nd~nJqCoQ+Kz=vt z+kA1%S092{R?`BI;HMry#urJGzxC{|!8N@gMI8SF-nr z`njZlxI7PqX2+E;&C}La%?3&t&1OqTEk~`&GuM;s({sOzOShF$bWc2H{l?B-2_*h) z*?8Z7W;HJKE6V5?^>lT*+dF4J;-txDIA9TJKih~C+W^wvwe7dQo86yz?EEgjyamR3 z$7e|<{07x)+RRHO{4j%8-$op-*0eRe~D8&?nLeWZC5enIfrxy6DR3(;R($A6r#5Mja9*X#Nsn9go zBJd$WaY^*NCw&h1RAp!6jwJBMEKm|Go`H2{&>Wf+b7*QGa`b7kVF~@bT_NIpBw4EC zPc&8wPYT16&d=XX>YjcFp)2Q>0dI4vBGvwBkPfiSbUk$Tj^}0YRl@XWkHLO){1lS! zvAm9Zi$LmrhQL51oUliQn{|^@nk&S|76FKu*X3la75zvy}Q&i!{A2*X$v;Bv@+ZdGvHAt4BCI$Yg6$@BwE%)>}H8){r(@i-H%Tn0Pi*180cHV;CAn?b|bdN9>!Teoj-^K4YJ z%2<>G*obj}cEdmCJA$xWO4$2P^xq-s-mz9G8k7B}2~+&llDORzu970_Gy8LKCkw5`_Pl!;Eh+{jXh$8kbIupxD6iQn4(*ILt={Dag&J zl2KJlV1*aW5$I|Q_d`b&N@%0FtlorfxuZyA|Af0;&YI21=P!GKC??7x91eHr|ZjvXdxsG@O-y%DiNtrsZy;_ zY4B{&=wQR~1y8~Mh5B#{FTYLQv8RQpNI)`ODNj7qQ1>{2zCH*fg|Y_F*JL@tYaX}v z-P8W}_osdK!_VuUgSfP;XYd^i&i7Bv0yrhz1HsffnEv;jr;^lkD3@^ncY!e0OUpdo z^M^&HI%$rTU3L^eCZ|DCL?L84B+ZcaH#{lD4;(0V)q1eaC`DyLu9Et>4~ZP+i(_S~SF^H+R4G&V8dndULf8x81+y_Kd9Y zK9}_%H0Nv7eJnyPRUC(iKA%>Z){jwnN)&NM&q-E!nx^ZXH$&@t7UE_`k%l~~Zy*oC z(J3`>^oE>iS7kUnO)Bg7+6!qHOH#>9|7YalT#G090yPms-)CXz(It{{S;bJq>%{_y zaonsfqeJ@Nk9}psZ*>7rYEyU)SW$BFOre-LUfUu@!%d)!cw*QpH>Pa(*q zu)4+pV{+i4qK|yg^%89L`3f>HM-!KCSdwta+d>{&+0Qp1yWwWY|Z`cosEFv zTux-}w1bJoYPfX~oFH!CG5zxgv+H|3I0R%wDFc?$AfChB8;o55i=~0vkc7@186SVm zNrzH^9!~{DBdSsqHZ=5E&b!hh$9=G`t*B^UuM3TT0(haM#b!*YJ)%bZJEA5RC}G3q zCZ85xpwTi&0_(t~pSl&nD@Zy_^S=2cq{ILMzi7xTMmsEgz~4T;Mq)fOc#*DUjbJER?5T`EiR-Xm~=|hb+v)kNV4&y z^ZXP|a07Hv!p3p<->#u-3qcrH06<$=c7Jsx?(Uh_l@S*JhatZ zMwv|GD7fL`g};zA6JkcUx08^5PpmJ9^h0+Pvz$$XeC5pn7awRe;#*qC>@#j5=um7B zsq9U(HtH%K#ExrSJs_%Y`o3-#U)mj}kft8m?S9Pxd4eBV0H-NyvZ4V^kKcSduVMy5 zI8$%UE19j#DkrbZ$)~ti@y5yfZU8XnuS_?qKASzx@xP$((_u`FfqPH5DPS>WW{SAe znnSe|X4N=wmHf7cSI$wLE%Ht1N5Aqew#Yhf#lNQG)m!+X>eDavF^vO+(c_AE%Oe`22)(XlV#S|8?}Kf192nh(3A{;7Qib3^xwmcDE)R4o`9*#rs3v zsdW0b&(HfteomF?;z*+Bq80#UK7t#_hKnJtkU-Cto9~g#6*3vtU|}5gJ$i^qJ#K8~cR|laeF}13=c5t-<5T>% zEOi+IFo+=_qje^9!_*_*XLXrWv-qp@DwaA*c#D@Bg{=*XziKpulR`7$(t{>`SsWqU zh7=k`OA33mNSd0YsQQA;)?QlUH1_fs0!Q(YUvJil?(hlYYsx>HRDX5`A*m~xt!W{B zW>rj9=M<9HW|WdwW|ULcW)ky|gJfU@w`-bTBq z`rrIr+@!GCYbN(Qcg%$25sINqNlTTj%bx)n#<~`*tD$X ztIk}Vt9H%>?Y}%5xvq3(=$!he>PJiQ>Feho{@N-PSVUROMlQU2ad-aqjSq9r^Z$(l zEy@$Xm?OGFrs879O_h@v4Fo?JqYa)+N=&fRL)54fs#ouFV=MG1f>X~m^l~adZih2X z`hhjMHmkMouE|AniVD;}4i%M~9Rv>rV?%hPYVVDH;e5E}qYQp1SV$Pr^Sv}=c74E! zG0#J?Nrg6Q%G@r|RKDJL-a)S-jb>jfH~YF06jukqWxLixagG>0=NY$WecFC$)t#@l zoWW>ctpGRu?`QS#hY2ws_i6qN|E|@Z{IRW~vcQ1$A}9I%qYyj_ePS@bL&Li50ouP& z1aC*dsJqjnWU(pxdGJW@j|yPE0$7;u@dv!H?9FH z@?4tcRq?IYJY#a63cd-v|DlO+;a_2nqnx zXUFRxd+8ELqpwQ}x;b}3PmnG+p`gH|I4YX9nwzzB~%rIJHw$|MW_sG8>zRRgGodf$(^&o z4;1B*qx@+4HJo53=ZFf2cyXDN1T;w}2A!jmJitytfgxlx-dHo?Wfu9S>+WAY>VEBf zbe3Z(98KF~<;GXYzx=WV8Y?X6=_HhXFVz$Z8-Oy)q#KjLgj+KUIwZ$$HmjUH!3o;$ zF!Ck)T&x);cNc_k$X?{uRFqlPk{w!`QyFrfU*StvBfpv6d^azja_h~axJps!FWaHv zR!-DcrEc6rEgo|#VP_jf`dD{MKK>@ATj?&^WnCaFgWnpz(F?e%`x>uF^N*W2=nLOW zjAN1JWLfvIVbq@y-)8A>9_QY9IZ=6hwV(iBZGHA4PH;&jw|Qv3?VIQ6QXKP_YZDDQ zr$v=Rdry=uSe%vbZ=8;Itx~baCLh!6o+Fe9jzbb@aK75(J`_$u<`=_34A~CO-^1|> ztjI|1 zpc|TA#&IB4qrxE6H(RZq*kZ9K>(#T{`8GRbUj0cpw^&nm%JJPVx)Zs0X?BlU+2mVQ zxnlmds9W$#$j90ninm4-)7x-DIkX5S(&Fa&e>eEuQQ(NcWnnCJ^%2#e-9zE1t12$C zm#^_MKYPdc^VvndlFkDmy9+;(?8@K8&sWv2KOJ)n(z2d+JNy&p1D+H?`VlQJy7!Jv z?xvlUH;wOcCtp}SvyM{QFuRk>bnT)iEIm%6nEH3-zC&+^Qm2K$gsoky6TF?1&->>c%QGw+F zfS^NS5ePzz>;RPYQh&wlC*R6c;&^-v<00~5N0TRjalZBeG3`9JEhS0{1GFX6f}~}e1@b>%>mS?r!?9BCH|Na(y!u}OYN|~ zujOB}AoFB-4x9^>zS>lh8EW(7`{cAjd2PL9w-0aDzh#fcX3w!F4QeBdH-}_@ z=8F25=sj8n47MJ6Hv8oVJsRp6`ER6^t<NGhLuFTqBpOE~ysPf@1TZq>i zwp706-<7>GC!Z99`8viX+5Y5RxLZ1Z$4BXGef)91maq4!{QS-CXXDDbXVve{yN+0P ze7f;!R)^fB_ZrNa5CFp|pYR*>J}3clEdw}324r_b9Fo9xWTMMEvnhtTmWuX9TM@9% zb|8K)^*4%in|ajApShsN8OD4RPeT_08oCs*mrJ7dvV?R!`L7$lsG!2>AxOj+axuo$ zM!I;8$JOR)AuVWJ;bV%15{v1vx!n>!;H+;|{JNMx4ET_Ca|q02328NZ{>Q(V>J*rf zV_8I=Xrg-CT{bIxe_!L9qqL~k4)}&G3v{elP{#Wm)uXyY!uEo$8C~iG;+NR9YGTkq z{H5Xi{vsiQ!6FK)S+}!hVlwu;j07NYkuE>Fwbj9}9~=QgO9*4=W_18VK6bH@nPnu2 zA8qsEvz{f4HD9;LMsh3dQc?h*x4|!kzw#wKFyl(4&P@7Mq~Q`*iA19zpDjlz{((yJ z(iS)*NEfXJjNmEh1R^;ZZeqBdPT{2iziV+T1^^(7p_REQ(SMI0}HzA!- z$*bS_Wl_i8%D5pPD;M4S$cl@W^vK`XVjojMGx$<`*PQ=+^C;`_MF0GqJ8~x$R&_g{a&sA@CMItme(9z8 z^-Ou}N960b!Dm;shuYtFz1C=p&DzU=!^4{Z#Lb3Gz(mf+6+*mR^8Z2SY;POzZorX2 zl1{A2Wd`at5J@)D0%yH5qB;)3vewEz)9Y$qRPEIqut+>gGY7PxI4{3zdf z`+y1$CbN(-hy|^$YinkP2YsNW=v>&MsN)IOal_#SrbT2oroZ12yIZjxNB7#sdqB1&p zjO*66w6~&W&0j{=Y#=kruR?SvUt!e?D2ZJ@bK^}s*%z4TjbS@^C=P(q&|dM z9eSs6Z2k9i(AgBc8e)%cz3}U9a<8KLlpzp(ZbX^giV; zUbJ7jJ;7LLToWR%H|D<)=P#P=pS*5RD-f5^YVpN=u^P11qC;f6($uh8>wPBof)w=j ziGL7zi~6zFA$7HC6dP;X!-8+aM1$m?&1OpP)-}J*c>OgBxU%e9uawt5J>!0wQJ!3? z)#Tv&HzV%SmuC}Sb0a%mi{5W)^r|YZ_V>LONu9=U(0`FSGhH@3QVuN2VgXBWFiYiw zm7Z#ZZ-I_K4?HWlDkUMt4j_Yt0}f!r%={x4#_${TWrlkLFr1~%k(A|S7^(fWE}NW` zCJ*-e`5NsQAFzmkJj{Lp(&|d&9%QlkDhSVkCW8%-<|6%hsz!=LZ?kZfo9zQrzpShMGj5&_K}?DNT@DPe{O#p5cwa| zec7CKjT94Z^!s_JZZ3xL$N8CMRv&*l^HCUc1KEOkw+a2qX;`Z8uJo%6{D}2LF64R<(*7`Dmy?U~LlRVYt%jZ~on29o4-$ z&~^SKbhz*a46Fa^D9DYv?Gf?kkwj9KMuy7NndLeJ zKJ#pTeHOcV^Gj8|vfiobo#J(t%87HQB~8Qs^$jVNYWciWKC!r)wOHqoMVtRPQRC!~ z#|>pr+?89A?A4P7OC4(PiTf?1@GMNMEj0c6Pf?KN2x^?!NVs}Cb_}FDb>c-E*TQIT z=aHQ)HUDSkm0Wa2gGyWwJw6PEYCRY8{ zA&x!pu{VqLPthQMlFLoORG*;Ytln9tHh{i90Y`$T&ym8&ZWb~2{v>8k-{tgIXU*ph zUhLcsE$dOgV`Ne{oOJhtFtlH+M;q<>M}`48;}y8x$FpN(2#yHDnOjDQ_MR25pv2#F ze%1TnH@V+mAli)@>c)q4ml0!tK5gD#%;%A+I5L6<+`d9fQUsHk%oL<&#+s7>?{=xl zQ(7(pE7;G}3PRGm0ThX!tT&n+`~q*#ca`mcMw4uEKK+nK1)t%r$$WmDuk3+pkCY!e zq0z$=ye%5N7R}L54kT$M?&Vk8Q~)<305o73c+sbR&*!7jz+I2>-*aW)XNBKk5XFgo!mw5wO=1pe5~QgGZah_T{?QcC%13N zfBULdzSNeSyB`;$f60qy1xJwu!d12^Pkm_-Qlz~F(b=OH>848siNnP4!Qfd3le|+G zouoyJFXKcrCFLKHl}#guA8gMFcg$M*9&L?ZS`tzj=Q(Yx`F0qeY#pcdx?J%j^>t#z zFFlXrI0iq~6+t~XY3@PSY};dK;S?Q?OV61KB%a_?ZxKLX;r2VH1yuq^fx$P}2T}0r zo^HiYDA5Fv(AZ3|^MvAFo?`{+#-xQvYTV`}WK597d!64mT^~!_Zj7eq+A*@yEi9H$ zzuh{(gi|0mF)`$OGf;tDXoLW$P=V|_X5x?#$RT~FLEG;%&*cR2Cq2L4ooFB|n>am8 z*F>G@fcH#QwOJ9c<9sTYlJhe8@=@>mEgd@WOh69fS!oT~Y1cV%B_-^2GcTM`Hhkv% zG;ul*t>lU_5M(u+g;segad$AagJp(OY9 z7qX%@BtP1$7({&|-g!4415a&w6@)n0GND}hjV`i9u}SAFZ4Y>}iu#w2JUsWf?^Vd4 zCeHl4 z=K7)Qm561P=^u~gJ>SUvT^#pX5>m3}J*}?kI@CHh=yqCNDNWI~U!TKY*=cvVGUAg* zjooGVj{4KWy8|`c0v&v6Z({8mjYKOipNY3V2mpvH5rwR@P5r+ZzN@F^T<3g6&m|?& z#)C~PiQ#9546r#Z%jU(#Up_X1lrYjt^l1!cOgYn%24Su?>dt6o_d;dS&}!vGPa6&y z*PF|C;DWDIXp)rygBY3q5gr*(m8uAf`rHV%^caYHQBVlTl)H62TsV;Ovk~_a>fS6y zhlBQLL)W}d`?+!N{(PE_fUbu3XuLaOulbGww@?D_4d*)bT*Q3ZXwc6}-gXQI{@@hs zU=+V7KXtTIY8MZj2T^|{#r!2?kJA^q`qKY`@ac*Wx3;L;KK`t-DaQGDfnXr^+#|(O zdpK+2(es@zmEERq;!BLiz_dNbK{o-n4lQ2RrVJGw z6Z}<9Zw?3)jsI-?A#%q^sz-%VWpA@oX>a3dd!@3+>7u>zMJ}0~RR->8_c=u?*;~1T z&*V&3&8#NN2=1ebIZGv-sRk))k9ZAg{ZjMUN*%kKqc_iYUmr#m?wxC7CM!DLRxw_k z{4Q#v%oh&4aMW_1e3d7$dEKq%g6oTl@z9p$SRa3-`)``8%C1EmCr4`geDt{}dHfzlSocv=Jt=E;3&Z z`vl3|bcPbG0STO#kMr{+r(O%0pVvQrSPH_5@2nA4r3>?KXtaSnh}#aVGJx@Viv0Se z2T80oM$Gs(h7PzWUS>-We`R?7WF?T~&tC$?NGSKPu+ViOC|J29?Y1Xm zw8KFr?1ep=dj%s^P#A=$10FQXeKFl2{4iaoGwmidM8TxDppku8wKlTZu@wA6%pHG5RXLr2-bS?woH5?_dVyW$Jk9z3n?q zR>Lwr<=ou8h54kET*}DaWZI1pcDXeiI_7k0w;Z_jav)8^70Qa`eZ=!ou<+TQ!p_E$ zDq;EC$GSf@ktQmIf$U9}noirgWu3?3^4{u8XT9U`u~j+eGp@KKn%q2H&vayv{QHt^ zz?;*$K+?qqYtRK*F1gY0O>%Gk&V{dM+EzI`2YE)u9rJeHr!n`gkWb`4oQ`xshw&0v z^I<_zJ3{&Z&mk|;8zBiwkK1f5GPQ^r_$LMUKH#6bR(AN!5UU!UavqSlRNHOiPlx+1 z^uiNEFVd!{`nF0v;bm;hRkGE$C3A0FR1l+wGXzlqaV6_LdM_MwbRD1%2EpS*a2=c> z8Eyl%n}On3JDmrjYB~fo9XFoJm7292pcM1FbJ6Df_yX8}pC@lMgCnsdpjMo~=mnOT zkiLGg&t}XxNw7D-vw#bwL@oJ{MZ%RjCzt`k_r`Rf2)TG%Qk|5-`i41`f@WUk=v(-M z`CKTBAvX3ur+4Y|gcWszxsZWNKND=R+AONQaf@uO6XziYzz!XFsc`qj%(&p3(ALOB zQ%OT+NNfzahjWml=FSE@FLm8pbJS$D?wRPtWlcke;qd&%>|f#u&U-K)CB6=)(2Mvt z%RYaTi_~^91Fzc`r_Ma;aB1a>YFoZH^V^admk;>Q*77uX*%O^5o+i0ef7Bo5{Aj*V zmSAJmJD@IBXq+v&+dF9&s5`uz(kso8qMN+Nn5SP$!=y7s)%$!i5@jni@_`wxjCzvw zrDwKtRPWEWV#-Gwpz)xv{A&hvScc>xM(1>p;?Y{(?sXc!MSZq+wIMkoWSyz zA?wm>jSjrOq-HtO=DnpiQZrl07L`1`s>yeA|^FJyZ@Gh|ne{Mt|Y7!yn zi+Rom#wc4FYE1#LrpueVnEvq1B&SZpxmnK(HUuO;8FUfC{^PeL>~RS6n4~PA;=yg* zhO={yxwUN#=&_Ioc_)zK1SLYaN8&MjL0FI~FIX!C+RHUw z#~3S8fm>uQgL|g?uio+l5x}TuP}AIHBoS0w8qV_n?d`qSP%Vj_WQU}@SHU9y-cW(- zE;^tQUT;P4B4j9a8;N+s4Em%jKjYK71Cxa*jF@=!{Z2gY9&NuLidJw+{_4UU~m04hw?)vw4QEc{)$Ex=} zcz>+*5cPWJC+VdeCF!qxjWQ1Vn)@iHK$Us$_;$%ZSo(QijF)8i=goe;1!>!k8?r55 zWi#E@jGrX;dwA524?V0%s_`$oA>ZK)jHGhD^=G=D6#4EYuX*m?hn3{j@SxvEj!Hp` zDtEkux0EMz?|-&?5%tZ<^Y6#;#Fy7LB$H0YD=oh?e7nNfF>UF6=#!*(5S|`nB z8&M@^7E-3}yIn0J_A&RF$;UymiG1*M;^?~AlMs6bo*fEEeVI8~a>lBf{k>EU+To$N z5sCI-*Z8(Wj0Fh6!;ryV5D*S3gO(`ria-oqzhlGH4}b~&k}63)?gTg|mIhCH&ga(e zcL4-I3p25uXJ!IV&nOZVwm0_xFyygdz&L~$k>UBb! z8bInwQzq2FT^JxL{XeC%9>~98`;C80&BbQ`2?SBFSLk5<`x65`tB|!*Al()$jPjJM zHdbnSbH+M2{}wUm;SgEaxQclRHENKOQV>{>t-f?glbR0B>eB6;vXe_QXpdB_0x22N zMQ*$KJ5@lyBg3z3;L-WIec8n~vI<-+i2^-)kLV zT1yOJB`tmCJ3su*b;--#d#&}X`)=H%XY-PI z)`D1l9+@ZNGMXzfVXWj^ud3u(EiLC-sVIHFT2;-xW?wNUYF)+IoHk11-&y(Y)Mm9m z_UD3{?c=z1#O7@prt7*D^OS$_2aXH>cl&9b`q>@!Whw9%1sIvUD|X_$PV%>1UkHGQ z2_;gW!bFgis;GxJN(;!UbTegbgOj!;*??O3E0q&otk!~pdaB@XFe@4;Z4gevCfLGJ zlAT6d%H;q;2h~iKKq*s%?@F4XsX^ytkYX0TZ^KhEogZZ`*I?)6-T?@-WRL&`eW2iL zTTwJ@LvCCwpr{oTVA=W<_!$bPbN{$Q8ei@}fU8E{Z-dY9egFk8Y*+N3OyKB>AqK}d z9X-)*X&NY2M^OIbKPbg%j~Ehx3mT~a7C0nK4<6h7yTP@{HPX}^eDD|Vw8yItdl=s{ zI(lT}R*qDy3W0X;fNBuf-f4h3Ex1x}5`p7EBYKNm^tyw}Ov3o-9k2+{Fd9L>YGutj4UP5^BwGR0 zfxvJKs^F;k4h?jSbVd|oFjObHq;zF^Xn19FXgGsGSOtz1yrq zmoE=Y-gzf=l!6LzgZDd!x!; zU3T1C&%W{o^Zj9ta(~T&g_}Ma8B?8<_F-9_;z>b7O3mb~k*srC|I1_L0;t#CWSr;G zO{41E{dHY_=WIryzh*4?d(9O50V11ZHWP#Z_Gtxn?oApqVnFr-lqjQLY68H45@qe& z!8fg=qY;LsAu}lsg7<^n&Ha#l^$B0>>$^6&o z_NcJJbwYG;l*33!R*T`@vHd#L^vIDJ~^`Le@)8(x{v z{@3ct0WL-a!J=V-6!d14B&dgq&Xi^%ierM}x4Mg6Tp2q-NB5OE%#wuSTfKXyh+WzE`mmZ zDo__U((x^^AS4o=#TpwNp!=&wA0|PXoyUNhsYAsO)A1s<_4fgnaB$5Z#vkh^YQ=nH zx21TKS+JC`Ea%+P1fP!kRc%PG_^esaTyG@?y{2OU;DAE}5a(rNz&>CR%*6>MQtD?X zRvxG#5?qoXkI`qPK#ZFnT54BYfjgl1hz`dncmDbO^rR{0@Or;URj>MyFUC@D{4Ky8 z7ZteUk`{a^$e%W2=djaQyFWwVTzOFDSeB!=4_9eDqC9z+cKDT*u$whDNH-a(!My-I zO3YV$)+13(uSX(r)8w&n)5D{(?byQaeM0E=$`?SFi~5(?KmB-BUQWte2G*@7;9L$a zmOc0C&(gl-AAHXwH;Hd#*+Z6C&&~$K+?FueK_kdCi+7nK$Z3JPn3KQ&T%p}X1EtWY zBc|G{iVj(F6%C5`0{s;p-?Y4nGlL3#Dm;e}D7?w_XS@wHgELofv=RTy-TlFX&e=dC zfuRx*EvtFEC*N=4E!(BAMpP9vFx(uCj|BdPfk#2>Q8Y;U6?2B750kOc4k>8g{(<8P z9c(X*Xg+iThMVcg&YzKRoXioyA>KGG(Z7HJ6vl+Bw_UaDhTF9EeqlPGp<2_fOR}u!=$J(x#yYM@4mzk$OYJO=jkErQ}P*o zq~)4i#z=eSyLev~$M=?Oj_mu=J+|G}tU?Fp5#JZ%TH?)CoTdqK;Li+UBlBoi`aS*g z1~@BK5fsLAs=vvP`ex89i8bGrDtbyGc-;BBM8dyr+4tyg8Jr$y2Az)gN)2BlBCv2( z3<_g_aRBmR61bQlPP_MuG3MZYwKNAY9}kz!yGY{qss~4J2QX}0e&f3mWC3g?5UkKG<@L-2h zNL|JB^d`WUurcr?+nMElPs{Z6h`C)Q_vimQ0m+&mLp3Gk`^4!p`effs&q^S{99%ZG zp#VA*uXdpN6b~YvQJG5(_s)9b!I0p)cr&{U@GK0{q^_?6J_k5AN1?Bd3I6&7kvy!4 z12eZ?T{JlV)gzs+YJ?v#qA$4b&$kmJJ!57?q7ep6qf;q1&()U27N^%Fsy_8qytO5w z(!%L^ZIVZ9BzZqzHK9vMD09w_9uqSyBrM21avKwtoNH|RN%7{ZQYt~z~&lq-2 zY|%0AnWmhpY#I;*G@&|9|W?cy2LOAbn?r-Ih_4eEY1vc+Ye|(|!%5~s(t8(D< zs`|+3Ra7JD#Qc+ECe?nwht*(CGK=>!^-rPCTt9{4(36H^7rWK&--D+C@^PE@%0xhD zA(vB2NjIle=^`Rp2$c;DJx1A8e7{z++;`I-Wh*{EtHxZKswCa>8+Cs!eB@gB+IVor zN1P(Mn)K#6BGZ%0D#Yv~}`G`%g)xOdE)z75_yL;{4#Dn#(KW(4AdJ8)~Nu6=c zx1uqU9?)UnjkNO*S+!yyQ=;a=*QI3<`}94~;H-L6ds@Bwyy#_Z`@ef5m zU!5hwEeq;zZB0FE+R1eF)i7laflE~ObdZ1(ogI^E?@V15U&+u}JUNItCP#`40 zAR|NINKn9i%~c+fn?E$CumL+0kmA6XjV_M{G5+V@0t<|#+@f`%y|V(SlOKz)9OY9U zoao>!5?Dg+r3!S%(dleSMy_N34gF1rx2V;@R)_guVOy9)@>w5lhrf{N)zgo@+N<<1 z!liQbc!9<3;tOr)j((3%x6`p=w^>h~1@)oyq2UNL-t5qw~m$yMJ% zY1r`#1#aGjOWo;}X2c?Sl7ffkx4gE^@Nv|22|pO?5_1{rmZr0oO(`WO$*?9Srk-gg zO0Jc&7j+r9l)HYvH^4@w&>3D7wHu4LH@UUYw2DqHgu`cR*^&~EIM)82124-vg#G7ND3tK z4AVIc)k^5wmZaA|=a*Z7t4vA55aJj!Xq}1yZcPM=#NZQ&`TMEOS4MDn+X61<^zS#^ z7~uRUZ}CF^W;k7(5|W3oWs7c%Dk;Uv2j# zf=WpSBL=2*24J_j`8zR%rIlx)X<0~(ro;3JggsHTs$G-U9qq*b=ym{m)P-@hdJW`Q6B z--zi#ig>QIO+~?=DCk3HB;*3bJ>56B^Cj!>H^`Km)%eNWI~<_PIM;(?JGTR4M8ETk zF>Tf2zc0vIin-58+UXDxRy6MhxY6hv%xNmK?I@y{ zRr&FG(5IGx=carCYc^SE7Td(8lj7V)hvUfa$6eexU)p-aU1lR@^KhHDH0!>=q-)Zp zp(WErv16P@!X05-W&hx}onKY15Y`Yt3bD^x&h$l6V2Hg)SIA2N9=|1#%@cvvq&4Ac zzk>f`g1BKVO4`2p98d_CmE+0eYflZPxrM!hr1AZKaU1X5_drGWf5_u5c(sDQ4tRWE z5ra^D1BX~8$OQ#hOks-(G}OfdAqg?Y_$PM{_nc@%S|bDBwvpO)2g7t2?(sf`M(4+0 z#l{oeZbN9`PfI)}p^yO3KEDF1IvzZTD?iYV@hYo6>tp`k0-vZJzksN|S^iMjjGaEL zDbfPhLCRdeTdEIK4T|WKzm+Nj%kJZ_f#_4kC)iabx zEZsXArlF@0HoFAGHNgOI#ztmTCP#)`yPjabBhkGK{*#0=?3WE44!B#4wb$osXcZS( zQ<`WO_3(4^ZqHf@a)gLi)f5J;h?+(pi=|kyC(Tbn9jlnsQG10}y}2Hd@72=Lr0-r2 zUZh2SLQc2}@LCY;mGr}Y^VO)g-&kwULZNU19lV{yUB$z+JK)xT+(r6Yo0&EC_6Rfo zbe`zIUUT2=-pZCc%u`B>z0OJig+$MS4`=Zvr3ZG_Hx%s;P7x~IkJ&f#K>ooVu4$RK8V7ywmg!aer{ipjZZ#al5Kxd(zvc?IH~oWgpq+r z=>K;%i?92VkhVccEk^4`9yJsO61~% zR~zA%X9ArD1kk|@z)nG=KOEht?iW|(s1Cv7BwNqgw13ecXqsHEgY z3aqUyb>f#Ne*#Kmusz}TP`^^0E8m}b7n>ictwK@cMcJKcRG0nFqqQcdekLywC&@IO zD^6;+KNc|YO>DgQF4D*MKl#^RR-7M2S@sOD7593vF)aCtc6(8%Mk5U3g9Re%DL^R= zM(>Gh)!lx}|Mwm7!b869@M8h(qvU_(sX2%QVB$MIsGdVahiW3qUO&Tf(|mJ#CE+$; zO`vp{Sa6}4hX~GXsS3`6O${e~B!X9dBwYuKqDYW{V!3;tW;HCtdfq^?FWe(i&-3Yc%aAmHUCI$?f;@;zIb%{n3=W+DY> zNQB_WtX5l9+rUEOGk`e4<{@-Pv|WN?BTLWAY-;XI68;qPOzPlFGiTMVzYvI~e%BVM#X<gZr`m|C7z?09 zJ2Ef<3t~BW}v-u^)l*~WTWL=f*0iipH2Gvb%~3R6+Fkr>$qo~)R;(3i4o=Sn<(p4H!ypO z!{Oq(_Mwm;Eqkc^L)T@jtJi6YtK+|2Rx9sao=|l-27NmBpMG)Zaisd!UgkYtR+74y zw0If6jE?U|{dBsv9kX}K3VZlGco>Sh%iw;i2NZ0O!9t^t2gHC~ysiRATe?IA@A#Gh zBw_{-CNyCHQSO-iKmOmBu28tvt7)arx=-o~$kTvg!S5<@nX=okz@X^4@Ayq_A^d;b zzq-FW?vrc$??W@BWi+p&-fyIVa(DG3H2~j)Fp-eF8~3NqBgu0STCilRx5;>D=@Fd!6CzYT9wippsq&-ozZo zV!=`MqT%$aZF5E2;y=F~l_sO`r??ZdD-Ji4DgUbL_ESuq$wU9r!;0roCCj|dX+ObJ z10x0{lPb|#`@DZ-$+uLy_qT6NJE%~ZwWXtzz-Xz7Yu&=&7rz`)6@FL* zBdRBg?00}*!u$yOALGQ0!y#xBjDffD>l_PKga_^x0nF7Awn&BH*cteTgalhUt=s~4 z12i~rp$X!k0d?0mV_f|%u~6Lut@}_A(v!JE2@VL%P+3|qL4(a3sbh-odQ`?TI=;#rb!dLvT_4x=M{zm8O_6t2Ypuk~a1slCet0Td{*JLgu0 zJMVHrX@fKO{)H*FDr@Yi5Z3S93E*&Nb$vsM+m@{S#2*H63R3qAwb{aTV$nQ=E3+)K zW&7k0g&q!I+whLT^DM6Vv85v(P>UFPeRWchrC~GN=*&mxJpl}*&Ie`ju!JqtFK&H3 zW3LzbnZoI1N^Sag%ja>Uu%&O4g-4E%d^RjTRRcXQ*qs(8L5*@yuGgU zR@E-F-B%39+-Y~>MaS^rJG(1kJvubCXzB{ zX*^)Sz;KDq^SM#FaGA)XSas2B^sE$Qxfz}x8w%k)Y_&;*`=rY_j;a=oW-58x2iYI{ zQ#f=v`uwKd)*de@_pd~ky|ix&lVt15n;1vi!BrPqzUKG9gGVsNrWyilC6R4l^B6&hUC%X7}SyXben(23nSQ zZ}C2x9O1tO`-arA+FN|Cn8dON(9)u57j|&&k1qQ zv{7*r+cH-0AiIR+8R6h*q52fUt}-_z?UL7LwwC>|aoP>p+D>ngmi-lZv&AKw=3%Fd zlNFi=2F%j!i)je46g9UFOP<6vX5q`4qMkg zfN5Xb5Ry%)E`qp9Z9jW5GbGeB(j!8!g}(6ZVRRweroNiZijS$nv8|Z%n4+3S0>G^| zhj+qS64NWzJX9WhsHZiiC{_rFi!!0c!3B<&W|y|Pbf?;$rdKC*pji;kR?W`g0GoiI zrQ`crmf2>*Sp3Tzc9DC>ZQ||mKcf&QIseKVk@w^rQ%Y-5_qGpr%^bfcr2KP_DxP^N zi*X-)mYKpI(YKQgl>45%25SpU&iJjL<)31oc%(vZu!ty;;^str3roGdBI4ZJC?&h6 z4JevWAwBoup8z^*cX)>+Db*bVjJO+of(VjriH3VV6H(o;v`*K#41c%}I-F!p#s02= zP3uz>xapKg09FJLan%}>Auagx_rKO%!vhfN{@10Llxq}Qwh7K^M!;E4KZu&5J369P zxLI_F(+MQ?62))$b;}KFCvrJ?=@&!7Xi{E=vwD%_xQxev9vPB?5otb5@W;(2 z?ZrPLwIeLcMp`FIV#pL+AT9Gp3ehsF=sFWlv&oaO^0lO*`Xl1|qPm{y-B;VzSF_C2 z$OAZeu`PMYBgD=5?g={DAj{|}9}B=cN&AnWC-dm2LA`+<9(0K_B?hc^QDRY-rBr?| z3!33nfh7LalaIf7)A-Xx2!t|4D1_2^QkvuV0LCZB2*nx_w*Po@77Hnbai`6NaqM8z zJ{v1b!n!D-x(1M#!lRj*^NOLG##lum*XI#+4jQL<^#hx&BvvgZ8@j}>Q7Pis_&W>3 zRNc=GL^AG8oHrlmwYKW?(ChXR>CqhO8clIn5C(z1bKp@Vt7Re#;YzPgt=sXF=OD%2RmYq$Pk zfuhcLs|;nRZyqqD1!Nz^=@HCZqdex}=~jN(eG=(T1M$yo@26#e0yxMWJ}Y3=Gttm* zV1hWrzPLk_b;Gm>Dvy~Uv3~?-llKId-C@N1DIYUWQOUdp1;7HM{I?mG1xM|DG*sF6 zQHYp=*pOmCYJuldI|^rA779VC6H^Ef;0$p@VO%rt(s3rpikKLoji_efi&U#I*?B8{~ zqalg0e?ukU9g)7-f*{b5Hs^dV7;A&9o1|g8pA=UC%=mgyckYiF=3PJ9il4QlHiX?4 z6Ht;eYzMD758xW6g}&(&PU6hklubi|m1dZRKdL^uOne-3IfWdX*@-sM|A{i1_(2$7 zQ5zv8;;2x#3Yqy16f{%*=r>`pmeXgkm21&i$*3{23O8c3icDuKjY(xMi$I7zU{b)& z(cI)rTq!D{*;TgETL~ykK-b}_Ehi(bol?QLj_v`?w$pK(DqGmCbd12lIN zJM^E+k>jdmHPyEDz}sLBV-bo=o39~T{)O8)horAGa97w>mKIIo+U-jiWB(;WM8g=o z`cDqo!lb4l1jGwE);PUlJzk?x6)0Otev2Q!gOE;&LxgdMIH8dXr|<@FiA)r=WaURN z`fqjzeuKwY`;ynNsZ_T!7&$_LFDA?u1?HZx*SeNh!vX=2Zx8Owhw`qqXcig7N$!nt zjF0`9Jnmk)#gv^+<$>uut+b9wt4U00*JVt=!9ePY@JTe^ALPa+KMxjI*5uo;pb5DGS(Z|7>}!dQhbIu z(h(?Gq4|)yY}LrqSHTKK6%|E=lvOj)1~>PW{k@Ps%fQ0Fazr^`jZ#kV`wFLf}Ld%B&jBZFH+ zuHx--4#YFL6r@g$3mf1;gY(gT9m1CRFBhwMMLP!lQHp(kKJ6ixFQ^j=85vUYd@ZGM z(~?#p(WEu3PbgfeX57`5>Mt4&puuSW9_x^6)sWM*!#KthO}xjwJEGifl1S`bPJzla z#woyh7<`^LIuN#Xi_KG*Y<4+i@4f^9KwC8aWc#yDc(0fkUkR2#loFrljTRz);l{J7hhNl+_YcDuo7`X4410UX_` zTBHZekhOoxlXHfJl|Mt_>(!W<)|cp+R+lIQ)l*B+Y`OJD=@OQ0>!!X2a6*)r{RRbK z_GHcorwLR~$r$749eXo*l%6qg99o8I6eCAt3nF5H29~}BRyhZT819o@hfiS5DDAk? z%z19$LD+}p!muH+(7#oLVET7D0^fTxiXzZdEj^#G$|c#S1<3bl!t_W7N$eM=|;QkUe-Mifvw#^?+IOv$cAH5yTGC(#Pfs;-@E7H!#c9lz_4 zQYoF8OW^)qz!Ij*ANC_r@}%Is@^Fe-LZpB?pAC6P?3?o8wBCgFuR)!=WJMJM!DW}x z2>;^!X3XYUy}YOWToL2gA+urWKQmi5?E=#p)E8FScrmk7EusMsF84ONxZ0m=l{OGB zCcCKFCl1%9wZPCNqbw8(E5@OM+333NVqIpE_PyU7^ct(i^|>@>ya27yQh|a&(#@Bw z2@g%;axsf*wYK)6DYoigSaR88eDYa4uloS0e=fyFs(0H!^?l5z_KWo^XDUk9`ZxX| zBuB+K(o5NbhlwxqD&>!sxWwzDvYrj|ss;qN3ki}>TJE1X54P9#>Autg@^`DDFNa2C zR|I4(UFRu4fR~5R!e1V6(^izb9etWz{2?7a)F(&^E=ArNDFc?e_a}#jetO# zZIXT1;_|8SmIjOf_JxOH;_aOf_pA3&L_xIsox@QXQf027p)E!tBq(ci=fkx)83y;w zPhj}P8)Ci_EW<+A@1Poh?xiLLj2jR$fk2#S;2ETdeVFvbU?C74q%yy~6P8)ZzQma*Qq?VTfD#`7H&fTGG@>2UCS)ncz` zNC4jgG&#HknMOO^AhW^6wGCTKz2mA0c)?LhS_1Z;b~8B8=t`?Iu8|$CKl%16=(&1+ z@%H1hm_6&W?N`fkTh66#WMC>ru1vl=Ojy?JAm&uX)xT=~Gr~i~2FwU6wQ2oR)O$|~ z)1i7d%DC>Pz+%!Um&MK-h7kUDSiK(DSN2F8TwO_9k8vpT6B_foXidL9s7e3EP&t+T z*chmP-qhKe_VOx6_(8+_Wcw`5=5!LZ?6e;-@iq?$XT3ho(cV+;-CrWDVCIh3n8KZ} z5h8R!aOAKVFrZbO?Ha!*1;I!fY=k(5Z|F2FoS@6*s2J8BW*#FMFVGxONB!X z(~m^`eN8v=?e|cDp}%^Ni*CLzwVh%S*Vy{3b8V_|8k{FDXPaQABns=C03FzNQ8Hm6 zfYs-X2T=xp3kToRoslA>ZnQIzIg@#)%L6$BQ5Aju*Yhc%gfSN+1azq(up}(H$-n0x z#-6XxA?ljb>EPiwL?Td_Esk|v32Rvx#Y+)UWd<3(z2gBISr9)WM;A|XGvj-z9HsU_ zxjba#u!tBWxx-vAlm9T&D;EHSY$_(ADile5{@z!$L647d1!`TPfq(|pGYu{rtq65N z57Wu|z^tExEx&KN<}BM-SF-e*`cQGTgcXr@cq6SSQeHiQ%aefKFMzjF@gqJrid2|d zUK*N352tb}_xGbBrTo8)Z&ed=f0I9`8m+yDth-#zzNhR+K(_a>EzvkK9zp^1|@BUNK)X98=qiNy$p(LF2xi7Ht6QAqynfWm) zCFj%4MZ&0lmYd$kt#OqNv7A@I;TbX}P3tA)-tz_D%u3H&Fv9aChex@M_3rfZ8}6GG z6g^kjs(xXh!_ONudD1iwi&3_fy3F@DyL^Eat)kI2Sx>(PJ=zz={9RU*`Vmk6WIfl0 zs6S1vrH%Z&UJ!m#Qkc)zQA)gxdk%kae5v>55(Uoj`NN?JeMfKB6_DPnDZTs9j0u^t zPRto+7EpsteVt>Qi%KUPU$mz)=xj-~?g$PDXz)cQ{)T$^Z_5(G{S&Dm8Mxs3BfRks z4VKaNK~xuM=l=0;>JeryQuJ+=gjhIq=S2!)o_`epvd-y_s`y3&TP#51Wca$k5zdId zM~y@v(52cHI=Y^Kb(jPShd|V}r5WfD8J)UvGNi`woMYC%1;B1)<%)CZo5TNl(-I_^ zpFha9$kHk%NXh+X2ceU5#*xF@-|{qF@tU&df2Yu>JX_y(h9jt*aqZE_tfcI~UK9T$ zQXIi;c3h$YJi8IVwvz2*ro-=@b=&3M;Mq;x_uI@N95NH5lYEk_8zYNl@6O&?LhlFh z&<{_Cp;AM!br}w1EpY81esz=8)(V;0Mf~ybC06X<~_G;>sv18eaTykFScP z(yYQ5yyT_njX0Y*3m?ZLT>d8xpYU8VK)}`(U zj~(GhuDl=I5T&bM=QC=JPp^Kf$r?53RQtR?(f*($u)C{aw-nFRbafu7Vt7|4C3)AV zqIy}Tq?%;ElQ@CeqDnXspXjE&>xdhFF{tKsau$4G5wbcb!{L2IMd_|4@BgLR^Lg>~ z&mVs*&BT|^4tT%Q@cc{t`O;I+&qu#@v_V1;+J=XrIuh+a!1bqjUhR%@-X{BR_%Y}3 zuqV0A*4N2rN1IlK7-z#5H*O*!Rkfzr}lk>^o9dKCn~rk(A=pfL_Yi$0MF60 z86d&2VV6&Dj7`Xdy?y=AFt}azP}E}Xrf-2^CI|>3{UU{o&V#|702)qw#n*B25N^U= znd&ja|_*DSjIYh-AbDaIgV5_#CabG}4zf%OZo!?ZVql1ks!(cOpAs=SV6 z{Wz7ft;o0s^RmdLt$)Xew!sJrxM4x2OD%|m-+l6`0|~XQNNMxru1IZ0pZ?OD&M{78 zN6r;0O1P3Afn9$KLQ>z~YE9~T+3cT)Twz=CInOTXHSHXf44Z~WGqfNkXv?oH8#bXq zl6;~P=%g3%sqSJTLC?u1 z@fC(krHq+7Y3(I-%zB^VK;z3#qEQ!Zrq=yO&#i-~9SIB^-qwG0^Zs0{-)d?-`EJ}@ zin?nF-&LLH9Xcx9_1e~8!Gy)UwY+fg?d53x;$7#M=OIAfC9EjDU+oAaIl|d!j%wwd zcG(_~d<&o(wWZqL-Al&-Gj7PnJ0s(zjU0B0gb+b?U!K)F^4}E^>ti>D9+Y=m#`30ZP zpDKryGuT34Ak-GeN;fGzVG{h57A!gp6fpfuA@Z{)sG*&)I8n-=5;i{r)y5NTn>NfbZmfF(p#F2at7p2alYjUbkjVdSxc^7z=%7cn>wJ zG`iMLsScpu^P57m|KyS6b~vSNmCN{w%;S1CQX%ZjUULeA&8fk7#?qMz9gLq`xSChY zRJ}1=k!|v0y{G)4F<#@cEb++}A3Da%oxLY-1*p^Ap60`@fhsILbz-tg#oe&|!?Nq< zz3n7JsF#X9E8rx83UNZTtlkfvfQYUAjC~^>0jEERt$hoBw1EzBQqV#ffl#LmW7QsK z#wl&491_8mk^u_+A{xdOGdaQvkQ&S^JrU_0;V})FHINtN#fW#tJYz`a@eljr)tUq% z@6=u)@>3ir=i_w{09qFl9-V}>!*}$b%^tqLe8q2%!mGU)ehgCFL}v{Bj{g*=t$+oQ zlx+<9R~6R;b?6Py$x!P?;9(UHp!uQb4#aa6-js=wVpS-?7O2J>rN z8FuzRtC6>TY9?ZOBfb7{Hy1hd8NbC*Ut9N-tyq5+9!5S?*-QJPLYiK>YjBeA=j`6b z#$U+r^0=n@{@mDI>(KA)a*#uadBlI&$oOvYxp>lVQSYW^>SkwpbYUi>96Lsyz8&bp zg@A75=|OaK!y85rr(*L9B)qxnxZxuEQ^nw_RXIL?U+=oRKjWGT_;@8lyRQ##CJ_ed z3gGJrm)KyVY{TpmItOs~Ju(zKZj37H z5`jb{AdInPG$X#bPA{J?>0Rh^>CN5Fp5|eTs-Q|!r>?TcWRDt_QbBs#w$}GE4}G|n zk)5AJIw(XnR;OKU6Tw}xW|C_2tTyC3=Ruy4G7$zh`|6e%O2E>vprv6m3a_3iT)7VW z7{*I$XpR$p5s9!VT&V&J%roCqs#63&szr{Sw1Hw4Y52rNFh8Z4kpAITYAethEe>y3 zE)8Ho!Hc4Wz8K9UePGqk$x%&}r(%UN<#erKcK<}(sO?O7krAHXaTQ+IixLIIp6;UPRJ8JHhTfG*j zrLzqQYwAwd&7uEHYgANbmHe%4kE;eZP;kJsqtT8xhe^d-YgYpakL*fLbA+is8Cx!8 z{YRM9AX|?mk1@i=rijv=DwVR{z+}}DX6?cH4fh|M<%8Wj>EE-qZ?CP`C7DcYD=U5H zjU=8*f0pgFeH)os&DytU6Co~qpxjl#%v2eD`K6_OxBom-clP^@sNekk!F2gT$gO2A z6@Zjgu(M{qof&8TbP_kbQP~!so9?bL4$xj-m7<;P=-&M%gPFM*{vl%a_wpEuGGM5hwHDQl64q1oWF4l(p}1IsLEh zOF| zYgNLJKq3Zn&VW)i7%#{5EsQKF5&0>vy@VZu8^n zJ;(EZIKviey($BF}R#hg0T^(7g01K<^LKA@~Dx z>gOmq9x^yP6+IF%dqHbsD2(tk4zf%flGm3*k3Z+JTEnVHsTH{p#VoDb>&n%S=dCT$ zHDY~#9-3z?*(35p&4`cA?jTPwO{kRISqNg4uc&8WV`oV6a7=%_; z-ki85B|iN!(!bm99GvuuJ9>U19fy+-;1}IBP_X&_kG32JMx0%%AIJRT zc*opp$j7O(&-&FX6AeD-vQx%CeEqyzw`bTIboh8yv)58iTOFJmA1onNlh;{ou}2IJ zJ`kX#h4boz&yW?ZffS@_7xjhr8q8GF=1+yi)$ffB9!_ts;yqH$0?FmKq34(SdxX`87-cA{uTu))k}^Ay5j%k>Wa6 zFx7MclM$Xe%OC-gHJGYyza#>_4!{+$m2)V+i(JQK7Vwa((c-o&{N(HUs7QCYJSXd= zB`+&XO>usv7viFQwt5O6x6Vd;mdG##@G2?_YPJ*2i}4(a&C%~uXr%)Kz}MkZ!G+r; zoCy|0-bQcdYRu5+{Yuy?$Z{BnpN>7ha@Z&@ON5oTF{$~I{;pD%H(WR7v#`roHqf^s zH{h8V3i-2VtCaCo<*nr;VL^54k&Pwgw=})t816F^FcmJ?vA3T8oL>vodC`8Kg0CkB zl{KY2g{58<@A#uBL3K#kLD^@+S6DRjWBDk=+l(baVadIHqgjO=GZzgqhFKS(qulJK z*TE(bf6A@tn6wsM?@fSUp*|rQS;|y6{bsh@-JqnwUg*f$q)`ptGg^QsS!eB~m5n6p zGneDEvM`F?h?L(o{(L;NQ_(wgQ(4MiJ)N29%^D>BdFK1?_;wXn9+UF+4Q0c+cf-2& z#mCCSiH>0~AQq8m-KwUJRDcc*s#;YFsS=m!3JqQl8|RtNO)(UW>9b*spgl;aAeg` zFFYwVx)fxk+F!` ziJ0alF@Od=<4C2I-v}r7#}D4W$O#b`)j|* zyU}JRQpnRwa`ZdG-HA(tk(eeBIRK3m`nORauwCf}>>tS0B@;lW8>ph!{rD-B5T9+c zMu)0~wPrw)^Pt33jiihlQ}y$~(<4^iCet4%qEq7!%j#69- zVO>KpJi&CP_c`VXA85&Qal%7Ndc(zjm-s*h^Nx#Uh&nvT++#kU&+I#0(hPcfHuI;M^X&A$c!xU23xTFg*)U9T{!eh5*KqyH;gN=!3GW( zf8hdW6kJ`#|79RlO+a#MH`8s2*&1>PqD+qF3NA2(a?8Jti`o#Bd=rObw#E&iOuC(x zChnN4sY9JS|FgIAF7vUyDo~)%J|xV(A7sulk@aqo4nEiHiE4;!`Igp*_Gy^E&bi7t^1F-apxga<()RGLwkg_dw9lpLqJQI^s&Rs*GeQ6EQ{XB(&fT4vSEl30fJLJ5R z;s+EdMnDi*d`LJ9z&n9kabj7Db3(YA-)kaY=8+W{d(8O7l3>zjcIEaY5`7EwDazc; zMdO5``bkKILy-7cp?wYVkHf>lQgTICeaT%RLyl{b@(V^on`}-sn6OY9fVM}JDDvDG zoiHysu3-oAfo-{$Y7x`XumLl)G1lqpd2fKyDW^LktilnsxjX}54Z}vY28mbC90&d4 zF9RkS_Z|}AmVlac-0naS4`7kTOEU&hDpF-)9HwoTBcT7F#s`-F*u*k`F`AdsCh4KE z#Z|EvBEWTy7996BG$JI2Kk&;>lrM-|AD}Y|n4@i0rWSmzic7wBC|jVsf^7O}GDJ zVceV5_0mpbHEwyx^N{cFPn&5j6O@h?V4A^y65Gz@uDl#>FHU2^apC{)Z#7AxXv3O`r+@JTb{2b3Fc`W`RuEy zcF)JBilhBP^_B1gix4zK*`V8;)dqi+Z&tDbsb_-DEb9*+{#=dwym<4G0z*9;LaOop zlz1X@U2U|?zv@;9!CRVL2)b)Po*Y1;P8gX@46o_r;<{-dam9W<(6WIMF*KnVPS{9Tu2p_MkY| z1|ypl>NRGF-X_*XGC$&@6f^)yffH9E8xeM;%M-a+Bx3i1lU55>xAH)r-?TX;r9s~8eBEF>Ift#1KKOy6bFfypy1n47k!EWKBEZAG`FCg1&C0sA}mEP zNL$7OC?`c=(h#+QcTp1Gg1@zH5K!dBxrqXE5(VO28I(kZX}&DMKbA(h$I=MzP%_SY zB_89!p!4>5Vcs5ZjK2%hzAMd0w`J3kEesbog;C+UU`(*a8x^eZhEapOC4jPs%CiX| z1A-iDKsbkCVwM+?&0sNdT0AYx2-A`@XIz|uqD%smBtS_3lsH*9%7cXv0BO1WV5a5s2eYl0O6J-w-kohnwOqJ6+x7|S z{N34(kM3kU&fS^oJbP!Z`|O=u4*=`rrJJ&>cwL+jtwBjv zP|KK^ya9v{KzQ>2C5LO4i3AIZGK02iS`fqk+Jq#HIZO&qyHB#iFzBO_1QM?}a|9{Y zfG~m@M}^ULjiRj@VMXM_tf*`VXXyuIE3$rU9``~`dKkmvZd|*t`_&0h+UxoyZS=6b zl|H6up^Yg*h=iL&8~R4Uiay9pYw9WEx&Sq<_fz9KZ{38^!5J$#BPpKrNewcUHK?zp$4 z>Sh0(C!77Z%QgmYJzDFzS-LZD{poST3fJBR{_6;0Far6MgkS0Zx;}?Kr zI0eHr3Luc|?3jTMCU;z;FS_eqf#PE|NzbGA6 zPAseHf{x5h$fj^gbS#bYjwDe465+fgfJn!<`w{>m8sY2;N4Pt@VeU3}h`$M=zA1`J z)?wz?Tn3-kODc#uH?h#{m$WI&L?TqJ{7I4wxXQfS+f zvRUZ_V&(*IOdR8kphl$;_ON&yzZXW0(gs8$n4b(WM`c6Yh+=?0DeuQ)jC#cj@*X_8 zs2lT`F6M}=lQ}AF2PkdS0ZD7!fTWooR)iSi$|hz^*~nke1%(^>dhU`Tz?jhb>Y`dN zHKy}GQQWko(Mg}SI-n+YM8j6jw#yRAsL+rSpb zswpp}YRXfCudu6O9@SUT4uX}H`TC0I8UHhYQeKg%fBGyND68FWC}q5Ee_XTO`taF& z=)tqO(0!=My{AhZC6#-4acjr1j zxRdKVb7#KmG$1(*6?ymeLeHt&`MzHV5N#0q z3cL?END)Aa^?w3VR1jj^Ps#`wOhh4|9`+S!A+WD2UJY|3*?MEzan-?(oB%_>A&`)E z4In{5$bJ|ZOp+x^Iig+yh*PQfNkrE!s5`se<4SoyAo_LhICmH4Jibr`n!V%84 zV3@nfAL4HChTuPjd28ahbVZhtEla1ROX8R~4^S2aqoN$zt{iueo8>}50Lu(2!yXh& zu@Uj&=1;+&B!x-&gmhY-kj=_s7*IxeW0DAWR65Qcm4pGxD29zA%puVblCMG9fMfs> za6c!e=oL)Kdt{5sZs~%elRF{p04VK%qzy*Dl|CwMhN6V1L()e2n6iO3t_X6{s(R6? zAt2Z?`8W$YFKt5OrbhKHT3qj}i|ZYQk_+E-SQ2|Ov! z_)9DD!N+y`Ef1-$S|3!dw%mU<*HrQ}*L?TsLhGH1weH(BuX=7(zZ$qvzS)1hY`yOq z+ODrlxB9P^z3Tm{;`QK_C;Po$l2Ay-WbYx%`3V@&RgOOsF(0AgKJ9jT{9hw`N8r8F)$5EAtWb6x-v0K(l7 zjdHi4CYwSeSb$`WH^^P(!k}|Uc+1d)C1qBYmuI94;;1Mm9z%jPD#!|k`Ln!1{tT2P z1NE5#C@It=XHb*`02ADCSwfta#ju(mRUqOOB%oVk03<9K1t=qI0D|8eL=9kTxQ{j{ z?q!e3d$Ycll&>f|L^(w}qTyD0n3SX$XH!D(D2>!XX#;&k7KEAv=ut(0n^pV7 zTSl*B)8yvlbS_Fv?Sz^*>S8*3U4j5&vM|zS6LrdBWG*@kqJm#9`8KHI?RhkH({^?3 zlucPX?NHRs5kNdLYR)ZXF1y9TLQo|5p-I4f8RTQ?&a0k=g3S3i)w6z9?W~uHVI-Zi z7ohRJ4N{r={$h&-?@|Lrsjf`>s-P&(YnJ^LjDz4a=0QVw%~E~Y^Xb5oiWz??hKrBN zryCwtuQoiOy=uM>H7TjcH{C_Mb?51P^R2SQ_FI)Z-8X8Fdapm*8Mp>D`TEJ~z}3=? z{;!_y4qkb7H1I{)QQzg#7yXx>?DT(Dw$pR5bf@Rj(yg8gkCvezIVi|N$GHddT_4`h zb)5w$AC%0upSd^Rar*880GTfW@($|XQxF1&9x*Q|1K=?3V6$Jicl)EJwJ^=)^1~pj~4slkvgPfxOz_dNDNGlf9Iav;^*PM79kFgs=f;B3b zhT;?fK>-jR01+giC<#`-Ai;z|=SSsH(Ud%*Sd`%L4$`n7AsOL@r6|b|d`b}zR38+j z7p+$}*6h1^F?lC{Qqdt^P_@f9Rjv5mlokvhLyWLA1T)_VU>dMB9K;MIfURObGphD6 z<7%&PMdy~kFuTNCCMRo3XQ#*XHfl_7rNlLsx(S1cF=;k3Q$_b%xy2HYRbi_nsKvgvH>Oq z?G=hfT@6qA(17cklufD}o`;l5mK-2#=D7Qq1#4ggHe4K=vK3W}Y(o_i%qp8$4Q=)Vq_0Hu61*#v@R%#Q@U@pOE!!)W=dnBM|5Ut)L^QM>x?J^ zBW2Vv(k3k#IR9k}vz6M$?CT`pZ8{JeB);L`KsfzQfc4O}dH0YG+! zJ}KMjKmTaE@1w`tz2_co_I~(qsq5^6#jZ0C@;&e0g9o{{(E0BDeAlUai(T*B&3FHM z3SvaWYk>bC>R}{mLEu1ARjeW$0OAcC zH;f0f4hkY{Bv|k#WAGmcft4eQ1;wy>S&4Iq(g9vv+Rq!8^>M}|y_^wIHyeOJQ97A} z;&$3#(Sx+&P*;m&UKLVos+$z++D1IlKFAuE2LVZdIim1m;ONEriU$X`+{}o=2~eE; zdA(h}XR*olEf(IA(af08ndniy0sh25jTv;bxK0Z-(a_Tt6=&I|l)m;TWZwtnf<2$K zZq^~8r0rtLv|UJ@a|`HsAD@aAi@xgNz?ZOv-#4*1`+i1U)=95L#9NmQP;2J=l)5=z zZQY`;hPmgj;uq>G8QZ?+)mcvk60!2iS^v}Onffy9f0a^K>Py)Nfk*V6;6qBj;eOR@ z!#$`;$+MY;JJ07rcWO66x0nZQH!16_*DLa&Z=UB{uRULEyZU^k<7y2OEX+;5EZ-Wq zT(&vzdFlGVr6(JM7oYA8U3`8ta^dOT@F!(2hR;Jy07&1tN89~pNj+HWIrDI-`+Y!i z`d+^0-I9gwQ}-9T-nqZn^=|?~z<`PvaWz3Ti~z(0ILri!Nxa6@1W?Qb4%7)G_?ZBL zvZBo*s^LaT)wZuGc=Ei01Il56nwW5X+fI?z>i;YP1!=vC>VmSs$dmNUGRrQwkam%H z*n)VM3?TL7%nAI5mYku-B>kkt0w8hDkt%uu2(Aap2zy^S&f0?`*p)^3JLbG{+p;X* zk|%_l(lI_1gtsOf1RTTMW#KS;3EpH8s*(pR^P*v1PB6sF@`iY`{2~4f79OWH3(AaU zS)P`q#VK(NN3_Q9Y{?ORLQn)m5aSKwOCg5w1rbBSFcu<5SxB&uY~gs7d`Ppb9MG&H z!J3x!@}rVo-ngWj6P9)Xl1@}R6s3(ZBx$7&id!&^4~fzMWJTAg+|>l-tLl1wS{Y!4 z<$gw3;YA|mVGPOKP!lI@SnfdEWoM=JHkf#e@}<=*-?y2#3kJZU(Nm*Z9WAES(qcLd zeL|;VO_`MRj784dcF5#E)Jvt`VT!)(5@Ul{NJ-lSlxZiAmUDCI^BxXu&c$YJ`dFfG zn;62^K{{*8ORdXz>QI!rT%eYk^VZPj{8iKyPbK%2w}OAc3wl|WJMJkK`XuE;jss?0autlMtBPTgz!re?JrfV5n# zSZx2QVyXSg^YzXzYhLwTuHGN`{MpvvrKcMM7XitqrXfCcJdg8wiB5(0_|^AHn0 zBcPa*b9+{vzI5Q9RASPXlHtQ`Qs@NMqqMVlm5LJW)K-hbV zan7z{jI|>kV{gmGIGeT=^`?1AzAldo*F>ZI7100y8R9}gig26&GQ!KDvH)dPILMvB z5Rv$gj9{Ff)-9`3+7)?Ho|a5NQ4*qYVN5t8hzW-A)k4F9ar|DGI|Q8?7L8ykKg=2= zCS5WhTTu1uH(=FMV|B5A{^2N*!atN2#51)>2^7>lS=fw4A>ZKBj`T;eN(H^p>;ty-#Zv zd{7X7Y1M4-F|H4*XX_u-=Kc2>TY-D@9e+t(zVS{?uJLxwT;r|hxt1FhbIsSQRzlw} zUbbATS%-owwSH9zK%OnNfAMUo>vF|b-{;h$p-azphb}(b9QYKVTzI-Z{Bim2==rMG zBOjH$7&-T3XXNaY-H{I-7XcYO4MyZP-2ppC@LO<{}{oh*9boh zB^l)*;^ht_0vLu)!Jwo1NqeQrYkG{^s&37SqEnKRb@0ce?c7lr0Fe{{VFM6c8yO_Q z8W07!QANFMK^@TU8hqLVomaM`cC%x0H`*>IC#-Z}DbkLzVkl{$kIGDJv{=HN-k^MG z)2oggI@z8{!tbppEvi@2;#xU1s*^F3Mk#a3B4+39BI)aZK>lOBKzQioQD?1O zO4`anu_)6HCUe2dpl985*0P%_IttWDe+W{zd;S_s?W=32Tvagd03=XBoA*DXE&z}n zUm5qv_k_0Tg@Sk_%fxBqU?%>;mZ&%NUZq?2=->8}kT?ZuB zp68ptuH9(4N_o-oRn>a?mCB`#FW^fqS1xs4s$A>3M0q)IvHD=})8{**7s@w>J}%!J zJYT*wa_-r|=(%SvN6!M356WMJ&ph23I$gRw_#O=YsnYGCQ;)X)jR`t|gZw`W+AA9t z5`DO71DJI?36aEf!`ViU_+12-M>RR09eEK*l)RiZFXqKFZpVkFeLI!<eMY zWkpn$7DcemGA0i5!|)}eC;);mc?cRbEE)hPeNYn^bWsmKD(lv)syj_P+79)KqFtPl zxAMoOt-P=dfJj16lt%WTr~$A98H1vFz!Kmk9fu{_L_?#c^#+`zV=r$ zH{DfrGw$a#)2@oTxxh2(yuX~1^Oez-yieHszEaMC?@{fd?_u?{|3UR!@P17$SW+_= zyjwe8e}}qJe~Y>kxK+DYf1_rh>3Yq4^R>$P)~}z$+t zm#S8}KC4>pxmdZ``)Tc~p$nCJ!yi{{jh-*x7(VxOWAH<$%h~6z!XK3Hjh!jm4WBOG z9e%HDn*cKWPTBUqc+B=K9OP<^Q43ZiSQcFE0KuQ*73vqb1s863C)y@^8UR2w-U31( zv5*2BR=`nIkvD+6g`{{b0>Ul=L$38}BE-Y$f^S(+aLr>50#JymSl_A$<|aiCLd^Ux z05KrqEl%nIh#p(R2E@EZEJk`(F-O_g9UG?whf4SlC0Z;66aFAUbJ4_ ztU+NnRH9Q5mv-nk_3f5DU8`nA*&>>hH}l8jA?~Q85pWa%0W1N);%5#@e7O0&f~3-| z+19&^M`ow?z-X7|G&XibX=RSdE$}BMsELt2Br{-+qN9hET29)ak#1Ym+V31n)oX`B zv}}~axJzN;0f*KQkGi9wbQQhnvAEsF6S?+n-4sJPbp=rdL99khpcTc z;PBnAo(`1M<{IwSEVN&#SZMvS zYOU>yy8X7x)f)tm&d&hJ#p>m*3sq}9pH#mX{Frh$a=vPJ^jyW}$cN81htC3-Gtc)& z-mg3wJ6-l-^gXm-r=ISN0FdE-&!86-gaGoUYzbnKT;vrzxcN!@MPMQA zloiTiNn^rJUKds5L_zF;f`IZ?O>6*!fMNq2HkfW36vGAp0;{4z=b^6PLHgxh5EMZn zLr4n%u@(V2QIV4(DuN=AkZoZ^yE?R2T9knt0iI+Yd)6d}EeD2I`i$T}731zJque4O zP?BAF7=VO1ML+HOY=parSxFvGja=~V>vF~=#hg6O&msn% zL2ES)j{-orKLY|tlBfhgi9=ChP@E``h$u6XG0%}ctXq+~Rnt3+YysO`^E0Q7|TJK-v}L42c6MKVb2) zkzmmWVbF)AF42_2X*#spjo+GW+Ls24XjX0JjLS_(y^PFZxdA3#hu_oEhh-W@Sfv(B zo0O_Un?nDcORg%|rM#?BLW>&2^q5gZkLv}LsFqKUYIw{kGl!YAvBj@kEai^@rs&X1 zXUy4Y)U=HXNGPPD{g8c$;%sHRdrCnvUQ{E@Ee6X}G z?|*~?T@UGNp8JAB-#x~vzXaREcWbiscPMDDDD#asYjcg)sml%Duy=#kC`C24+O5!=9HGJ6;;3UMd)QB|WNAi1KE+`p6;G{os};UfRVNGz#fa zoq!%U@Bs>s8qshVaUGkTv9h?!4u%YXXnyd~#Jg@PJ!7LlQEF)^TMa#Bt76T%D_L{y z=iDV%h2WLDTy*Sz%G~gl)y=p{DO0Y}x*6Xi>O$}#bv}5XmiOOdZTm}j`++;OyzdUw z)f`Y7eee!&@`#kES%C(+zmD_zEQjUktLQT#s zBCp?+16LQoaFPNn4*V`DC)9!@TcjLW00Z;hxG5>LV&Lek9Gn|F~K^4gaAT} zI%%tnZ`v#!*4zQfu{O>=(#E-m+9>ChF2+7EPO|s?8}hyS9o4R3O1OizYg-vXi#5*L z1SIQ#gm{n@)Up&2uM80{-pk8JIP;2Ob`Gzz(lPcd*6nA!``T&CnldAc3(~}cz)>Ut z#)NnnPuLp4bOV53W*&im85fQ6!o;NWM|dMRb24lIAf7}0fPO{Mk5!gl(U`DTG%VD|MT}FVTWsu32vR z9EsMYilvT=70Vr;)@*iMpzO7MQnk?y1?dAIz2{J8pRf0RP_sXHrsi<${pY&`kdb#Q zwueuZ@BE7oiuY`8iAj1#Su8)^}Rk#B^LsE4X} z=U9M+RfNSk%_unVxq|>vR1l1kJKv)k)t1C}GbPran_ilQ

    a)LTYs?WR9iX?KcUiaqAC?~-QD2L+?xTKSQyhPUXbqNlBuF!2?%Df=@<##WBD>nU^IUB=sVmkN)3kJ;OvhqRpc z0U)_gnRef!&j(7Fiw$?^3-!0@tG-*j7rqYYm^*EH+=NUFo<85Atc%ayL9k`^VMW9p@>#T_06#^qi|+?>}3)-t$4_ zTHl%K&4JUDSEHwE560iE+!;HC#OvQz4+4lIK|xzpdr}hwlDZ-gb`*hxcn$&yzOu65 z#Cxt3?F5uXZXvWPz!k|-j#Z3`y#xZNhJ(O@Dnc@gp8<#qpS`UjAX%si)Pj6Q+OCr} zj8kaXkQO?M14jW;FMh#|2SQjdu_u6-0LI%gCOOA?0!RXY#JMlEG46pT#@SOx*?X!8 zdl$8%Pq4QGoAOPxUK_ee;Tq!KH9)eW2y>SK$`UFMSQg+#asVYK8{%XE$t-F{KFZ6; zN4Zn7aeNDVhMQ{oPM0*VDJG=jcq%a9K>HO1BoQ%MEZHbOEF0yGqDEwZ0}3-J9^nr_ zA^OD$VXtXJ(bMo7YqxGi)hV5nbO54u!H5um@LK^>Gk=sHLjKi=_Zkrq2NC_&WAQPd z-O>4izjJ%-#|AeZ=IL@8&C$z?F}07NEcjVMI`M!-#*1iE7<&-9~{tNGT#5iFTln3piIQ^EbG8a7$um@WUCLI*NL!w;=e?!uyyr1@ z+xrk_R36}oEca_?-6gft-n*Ee++i*TZ?l$zw=lWC!CVVm=k5mpN8lPjxmuHL_^NKH z`3iNZ`3uTY%Vo++<0a;crb~e2V(ntnrCASFXT=Y;>Qa9dwP?q;9xBE{~j>4y&{~GNT0mKPFoKOw|iW6|SNJ|A3If3D%oPffCB8ip* zMOrQo$_sU9%ySDZ0HtAxS2Xtid3F()x60xIC`D)p2xRA~2nrMhKRfZ-iPr?2;^#z7 z-oVm?xku}cyx_%z-hs7vV))HuITA)4aKNCm0SNmDb*PK8e+C2!f?SEci`r2m;#G~Y zHnj=nM$?XL&A%yI)u;I@P?KeVQUnCo1zgcyapzE3v|_WU8TgY7TCXXZ&}clv~FO&*g)1yKwfBf?Ss7;gA5fEYzGHiE+A8hC@UQNe(8l-Gy%d!Z>kc&=Bs zeP7#I|C6=Du%>92PDtDEcdeokK{NiH5L&fH;jo|qiV}oZsfQL3la3*w$ZL9KayR_J z<+2|eor;{=!H-Gp{IJx@DFPxkK~0Q!0G@$4EY&lIq&j{=p|OAOQoDceQ(AtoC}er9 z9D83fcoZq-C}Myjf|3Z}RrnY{@`Q6HuCCzX7=LoIlt(ruZ&pvICp0vGLZwHwb+o98 z!j7tII4M)LaM@WUJ8(Z&ymnOxH=NIy)An+BlQLS${siY!O6eKLBUaw`kiG1Cz}xlR z=kIyZUU~1<&3f-prhT`mS>G+@a>EV4a-Ff{zsB3~e$CkqTt&+DRqbs36-uu83+i&) zW%^3%CE9Z6Gul?uMcQ`Lr?rcr3zU_%k89U@&sVSZpQ~Q&{;+zp`z+-}7ZjxHOy%a# z>8g!^_bNC0PvQDb?ZK~*U=cukPzNty@DMNn2!X^+;K0x1O3Fi2162eC2^R4j4gf-w z#D($!00K($DzDJAjF=d&eK`UO`xkB4Nvq{V5f~g<{7m2=>OzWm8uIyDHNiHp9frRF z@o@8&wBTD5;qL$nJc*U4Ns@hRoM0aUkXKNWm-;C8fV5Y-821IP1dwfYguR8e6SP;H z4b?bn&5&fRHtxt)0voa=LyEVg9Ou3Pgq;HchX&i))W~nBOf33p#N& zvBQ0+Zx8-tX*I8FTBHd{vv@=l0wj(2`v&o_fB+H@j|lvNVWAHy;bjj?-NH$k%X(yW z*8jn4cfK~*6muG@C?>IR!(tO}RBXiW8Mq@-9R~>(b4a3L4$IV{X_eCPgG=H0qepJ} z)-09GYoy$SN{o0|gsHp$pzz^Scz}e%468VjB?}AwgsK10L09hCX}pYq%8VH(%$T0S zi0EpV5luBarm145P0xiJo(dTZy6ly!9A>?YIc0kSNJ{Bb_DA%T^&unUc)-eg?z30j zFzD{PP?bBFyx#&SHz_l&8<@mjXDu~eV=e{1X0G_JVn^%>bFKc%y19lgYG%=5NcD0MNS07fd^_{KW=si>W0=3g~y0Qq!5C9o` z2iISx#d4)jZhkLreD4%sNS{DaR1&BMf#YozVZrZtkXpF_iIaE^T!~6}QGVR?O^AkD z07~-;ztFIN`3KY_09El5V9DD&v2~JjXqjNYGR4^kh8TMvMtx5Q1<^(T$T)jjJI>xxkFz&bF}N+uW6rXm9OD)Nf%gC)P>(Qo8kND#J%vgEnn|cgQaQp- zD8t-1K#5_+C2Cm~MVfywjyX1!c&>?HL^6W^o{z$RjPeI1VWJ>{KEMG$c-^>m0h~^J zhAFzBT|O&nbsy?lLVs|COzY|f}mtr7=W_)MWaHmXjte$xzS3wV9=f7 zDY@PGz0KD67r(`JY_ce4)h0niV&sjA3|!1W0Ew1^1Pkh-23W*@D5P1H-2FR`)cZ$| z#8@zjMROVvH?9z1tpy4qus(v3fOX@>9YRN1D5!cFRG*>OV+ zD`uz$C{?V8?l~)_so+eT%O%^sr;0;&nRMUzgtK5TWlT99(We{_8EM;n+N9+kbJ|hD zSq|Riu6yqA_dT~*>zr$G;gu;uS*M)w(Jyf)Ygg6~JLDaxJ!C#Ngxie5B0+99A+bAu)2X z00&9LumtIZk~k3Y+EF&7Spl3IY1xq-d-D8a`z-I!HqCowp5PpqVw``mP`dtEceT2mJRVXi1g*-NT0dr>#R&WHA;^Yxq3oGB%kgW|x0u;D*A z(Qs7VPuX}QCkbKc>t25+&~y*C9fz1Qi>-f!x%-fNUu-_^RT?<##E zaD~0r@+DN|GJ8GvId`xA5_Y#f10)x#=bJB3*E>F;t#_S=s(eJ-XgSB)ZT+xzsr78l za{HOu&B6C;NQ<@E_ipV@|0&vD-#b<7J-?2Ec*#vYO)CU&!x9DXLKR5)089V?)W5lU zi*VExRfedIkHCb_ebac2^3Fg>0Ln?r#4P#_{~Q!$gH zaT7&>Y4;Exf;P)W<|su#PF7x=fP~Cf>@ey!JZ8v-S%@XYKCWLDA2n@>550@LSB@F} zfi=b1H&1Z)jB)m^KFZwDMOfPaWlM(^3$?CAi=`c7t!To`Wi|W<0YnvM#(CO5&D`ikxW09Dv0x8WGxX<70v@HcOXPrushx46T2w z*ISRxI$2t+6^7*+K%#;xQbJMW{1K@PS1F!BEaAYUt2Z^m#{Xy#xPI^A>Gn)q{-lNj zO=NRM6)b?lV20&%Mp#B=jH%ILDJi-GXRY-|XN~5iwMw{Ps$@!ju1v{!QXGU~S z*)d%iJFY9`FSs5{cfAi~NA8D$b;o`BtoV=tkn?ROYc_S>|i^%g7Vxygk==Wltx zf&aKhUG!Z=?E4jVyRN{Wd`VwuxJ+LQea?VM=e}sX$l3~hih0R}+Fa`=*xx!&Tkrgc zw$*j6Zln7wW4HAK>SpU1%5uy5l=be@lg{ zvnOrSTLApiP?gMyviNZIz5R^*EdU{Z?*|~nk9YvcTO&@c{v1GA1}HG|?d$wv`xSfx z32DE4WVS+JAwHxyUm=rus0vyv2jFm$b_-K`2hO6{ux?^avW~4O){!O6I`roSFPk*xOmKD#QTFx;9L!B!gt@LAW31uz3Lsh5gjq{!z@Z*x=5d`@g*iF( z7(0syc{a2so2lQFOq(V~<&8?jh!KcM7XojAZri{M{x!gL{m#Wv zZ5Y{tw1&lrs2I$mg2<^@wXb7_6%^)(vX(ocuF)O1sx03-E4BNU3PINNj5A>pioW23LHB=AHy6B2oeO+U&o^CSuC`uet~Y+^~$hi~JY7t26STTW` z903$~5Y|iUBf?ar)9Vp5+S}y{}hIX8}rW<3f>E8eXNR|Kz;9xGO z$C&d-x^jRds~Tm`!mG>}Q@jk!{8VU1oHkGMQ~Cry37;|nI1-qXKs`87tgrwO4gkTI zyN#Sgyhyx;)Fa$M_>=){n$z#yll6A~&f4SLQFg16!cM@@2{ma)wE>7$$tb^B7UqX! zVL_uDg#)`m*{HA{d%^+ZhTPZiJBPR9F9Ek@-QX6Ci%$R<71^OGR&iKl5sivXqy%9x z{D(x3hu!Hkn;K31Uw!J%e>N)tic&PGkn_S~86c7J!V)omOeR89EX3r7q*y#&Ou^Od z8aTnf23gLZ+)U-Vfx(~9(3w#s08!Mj$CMPDaI9g4mDS8KMHMflsWcwCDlFf-pQ*Nt z<$`Hr89S+e!b<2%SrP4Hv|SH5am@o}(r{m}>@JbN^p;3oIPY*5T(@D|Z!xEwH;{B) zXH43z!LMB7E(Wd&wwk^Y?FX)KHiKW#76O;4+4@V=T*D>WT*F1iV(3#gJUF>bSpWe4 z^hrcPR0w;s&%2dIjlcnnk^OD{A4mL|LxBx# z5yZQg_A`&|N#>C~$vCtonJ=vq%mZ_Rxo4hWzVOWRcN^9PJAow}51Qs~T9TX%Q-Zx_ zh_P1DX02$^Vi7=4d9+(Z-Q;)NZ~ssRX0{TRGR7?JQO+OH8TMh>C%8ib+@XhymHnlQK5IL+_zzL0eH|Hakm z*j9EZlA;qp&|;yQQ6Xtq*eD$nG|0yUL4Z=P7!w3!VWAJtO!1m`RPL5PI$b^gXmA=g zH4Z3(T`(#DAW)Dofk_w^8bzZL_z$687#8c0rD^auBDHZ>qip*l?gG>~W zOZlT>G0w}2@VS6DCg%ed9%oF-#bGTD9#6zF>>HUa|Jh8p{a~jlRt;1^QdpA|ftw3A$%>3G0ZvNh0CSNl>;Y}Gz*^`FHF!B#sQT+p`%6*)CEMX>1 zcO@IXJBmZ!ZSl6_7CYy@!I*YlXJ%a2pekR(%wGj4U-4FgR|MOkFGL6RmszWTW4_@t zKys0mYxop(fw9u^F?+k~JbS0*9QUB*!@8BWv$adjAJi?kouRI^oo2lle2==_bBeLs z@ecDv=dTCI&rvP_DVlJSWEJNeC;o!m=mDqz0i-bxlZ|$%=vRok;B`H!fqXVcfT02k z_!d$Cs6LBbE__D*CWwEdzSzDo3qG_}-eOw?^A0oLjLAGvl(toVp$VV_$wo0*zXvFO zatxQGW`M&5@8iUN7!>2!2=y>cuwGfAAhrbaz#3=lnd6KXxbB)_^lfjBzumYY*z_;) zH{fg5EJ^OFd4j!yvrT{?-bCOAYik)nIrARdH ziW9DRK}?_IN7Ye`-|!q0z!HXXjKcVjz>^FCltI)0s!uV>?^TDnJ@|LJ&9nT@h9h~$ zz@HuM&OLRjdQ#FN89M<4iqHr{-T+?`grWo#V?4iNOz1-!=9LovF(GnUcID2_zxeE( zf3LS0S2b3_xWocAF-ZUjyov#(L*T5#(O?ZgQ47KnB@{(r*we^c|Jf{U`$wbHyrUP3 zVseoHfIw0BC?3>=gH2)%CoE$@EtqgybmP96*80yTs_k1FMV{AFgb8g8XIxQ@r?OOG zh2=TguL{<<@)>(vSuUE^m07;`Kfz-+N~Md&N8FU*AqI;NIC1TLX4Fsue{z=_*WF=G znr=zA>u<^q-8Y2muIun3*BCSIuNl)W0>~A3lrQPi_AhwrO_zDQ4VMIa^`9|U>Mt@D z8ZXo>1TQe=8$YJc2hTIt+s?7JJ3r*@x1VM2ww|G_cATkOZa+;~Zhw!y(S3@!H~0>9 z>)$+w{>ycf6F^Q3_BFScFyJ(6nS zTnd!q7;V-e*6?4MlB@$G05L&9EO90PVeVR^jBQJdxn+*CHa%IvM#G9=t$vle>YCxM zSP=1=65K^&jGafiwV*?Lg_=WU@$(F7ngD_VAgmNrWfCn|Qa#Q|m@>S0^GjJQv?q;v z7Wom=q+m=Pg-IVndllvkqyC?OKta%Yb>oKb0!*Dq$vVtgUVF>8n%1sASX-t;3(*2JHi)lk| z5{yfsAYubx(V^|q0u&9N$f6d7#Y*geDfpvOxhN@>8uxUP*1tE1+x{LDS+)%VaZJh= zLO}o$2WRlv0FH%y04ARMMQ4x7X@azZYJO#=H2ft{YcDuzWI0_mKc=jL(mdxxlt{1? z<*28eab+1Ns(d1uGnQJu^*k~h+8>G+O!xU|!##ME5+q)CQFmbCZ*k)Ko17{0b=hw4 z8|9(r8h_RKHCE`aGG<*@m^02VnHk$Bhu!3`e-Fb(h%4S3x^QY-*M)TNOq%`YIU&k=Pw zQ6?W*ek@Md0m=gAC(9>BzI_c*F_JIRa`};L`C#0=huQ1 zt0O!B!XfHWR1jsD*Nba6lCLhLV4aw)w8NjYV|T38JjZJZ6;z?#KiitH7}=KPMOa`*3uaTNL>Bv@+T8gcepC0~f=0`R z)&Nz|0SYb5yaxY<3Y)}AlmaIn#1Tb${Nn&UfloI)1$t%R5D)TT&;WoV@;TFg(R5 zm!wvRbKx<3Gw>V4e*g#)*`5>&H#9bL7YQhgqVXm(j{sV-0Di9#?-57{EN{Uf@C1pf z5S2j?aN>E$41^34xma02(uLM5h^c%B0R{gSX}f&WoMT^xb>u;U<(Xo>aza5I6O4Tu zS}Yq;k2rG&QSUZ9#}?)yn}B8A9AT`PBg_@lvU8fd6j;MEK$XnOl-OiHRvWti*`V+H&qkeTORL3W zib#v4f_f+=VUZk=$N-HLuO(unSbQW{;-o@gJ<{_!{B4a-6|hiw<8lgjTwaSqSv7(wRh9Xbz7nlhg=ybhA(=LmLph2H!W&nXa-*up?5OG? zJF0ldiK*`k=XCd6KLtv3d#*czS>tWar1=&Subc2F*V%FXH!$|sunc*XIb-`ub<}i4 zQSg4rTXbJ$&-p%Q&Ur5}vd)W)tm9Jva{;FsKN0PBofjQ;e#F@bontOHon_=(K4303 zpJC>k-Ul?NIeWeDau51W@eh852Q~b%#R>ojKVn<|3K*%6u^P^-xg7k zpNoK!hdMw(2qX;)OteUxLTDKZf}ewA=0R@kJRl;!gV#;)Ax%(^Ccsey2G@F+_@beI zb0uk*7ofP&R{3DuiK^72TA(TbjI0lblc$QJiG=HS+NIBekEE}rd5DwUtiF7O09@KF&1(9D^n;(mTJ^>PG(Wkf!%P8#KlZtx7a5 zRpOM2Ts$r+0s?O$!Bq@UgeZXsD<3F6ECaAM?gl51}LvQ1{sp z^*v5pS0b4=-f{h*;kIVSc}p~Fxxq_YuX7THZ`d)@H5LHDhTB){Nz)b9jP(o6w=I_y z2ma5Y@t3gpc#)M001)Q|_N?<`R?d5#z2N^y@~Zosw9t8$w;uX{u>?StTHa?YhfcE= z>fdGN8v)3#a1Q;KfYbv7Qo)%z078m_*D%{8nF1_<|3^YaqFew4NQjCQizHUKHUf?& zC%jJ!F*T0qTvrg=Gll5O7P&DJk*W}GvejAep5WsY;wP@)uujZhC3 z0AT|VRt)V|6xWDmj6II`!T@DdGsYdkb;y<#4YnLA2HFbp{`xIZFIHlD3<-X>Hp1^z zjq^}wvEBkQ&I2I)5FkOs%SQ==stB*%mKO$kesA;*{>|I| zJ5&V;me7LK%cKkoOzJU#K{>|P12~;7E7o|w)u;#muaK(yAN5MZhE^_$OJ#_Gr8qS& zmX3)<@Fzm)m`DIvczDef!GlPrNrI(iw*I4m(fpSNx^_uR6-6X!La9HGbNBjgv55WhabZVg3FJ%>5UvwCOT`-g!y)y7iLmW$+?* z$@?j1!FK`4*T?Kx_jy*<^${oMKF41Uo|PT-ejqyRI>X&Sg0JFumnb;AZWYv07Zv*Sc88@t(g%iz2E5-z5f-Icm0Q7X4q6q#W95#J_UdP zj&T8BHZJCg$0c0A!ohni$(WRh#}d)uQD`lH4^kWd7_8IeH56e)RwEjhRl}PA5P2m) zsQ@U?&{mbBohrjZL2U3VbD{$2RMX$UofsI;YHMU0m>bIOnsXdSKs0% zbvNY8*6a4)1h1)f-Cql`)~npK`70>N6?W3}1!vNDnU^+P;-t-=@$;UGn(taal^--+ z;4Jw+<}Ucpvvb~aoUH3Z9Q{4Zp7VUbUuilcD-52N9`?M)T5CSVSZ;lXvE26S0@8>Z zzbRW+Xr8Cxzv2L877Bvv2^hXm^v7040~Lh2-$`dLYeKa-UefISW(X)_!EwUMmDSZPVX~4A}DiQ!71Qb6Y!J5l)(SKyv zhftN5h>H&bi<~{&)Gu(_ao0P=*!Ct_+wKYGrfY(=;hbQt0hCo+ltEgoB@0oIC^K)2 zG8eF`mD2zanDnd(5w9h}o^hx78GtecP*N>h+)4L5H)%_86P5%ofqkzSV&W(Oi(s%g zhGZ*@)N2%eWkiR^#%aengYYZ^fTa(=(`&^Hq`jc-?*38U8G0$}a4m}4O$kA(aYERl ziSgb5!UG`u22>CgP>l2a@^PL|HpcfVA|kgfFLHJN!RUUP78doJ$NrBc&?s~12qV91(avkC#p8-9v|P^t2>_8l z10?05aYY$_Oz{Lhq!ge$vc5Du4E?3yfp)`oUpS#D5k=K^`B4=B(cXfR+(bZrLy*v2 z=S}FYiSx#E`wnxx^;ZT2Fc3%@0R#c1 zHIKF@2L&O@f}6g9T;Ei~9H7BxjkyyTPU=moRaB6ZpMM$Y1{WAbPtvr+EJ6}O>ear% z$8HuBWQjlmV-HZsiaaTDo`e{CGNh~rAWZO)ysh%Zfe5T(U;!i|{CUz_MV8Fmixm zP8($wXCMG(+7RJn0ML{(#Yq8_$<{4ivi$`&;alXzv1%W)BsfuXf)_Eycw*r~t|jMe$ zxUqGB1qqfw15>ZYYo&5rs8Edyk=X=N=2jx|016{-&Y7K)rREWprgrVX?!Ib*GMVW&W)7GE%QgthD7bnEH#njQIjDWBLR}{ycxld*1xV{&UjZ<`1!p zeU`fvJj0svz0b>ePNVI5kDK$JVy`v7qxvcG>jKgM&(Sms6~WElL?C(dx&=3O3k-M& zFf_gagZxer5TZ7uawNVzDKhH_k}H1yaY6T%`4C z+aRW%n0O2!i_>&~@^(F*oK!@zMGj^WID!}y22<2yTo3Cf2_W2 zMDXRzQOrQ1c&KNDoiasOlMW0C{fqoW>oz~$w#SRruks?!X->qF8!<+) zgN0`+0+ay&0R`dqL0NirW87~2IHwEOPJq*Hoe{RT94T9Sf1_+^|4ttAZAhBT8BwEQ zg5RKx@q_A!Ab=Lk55IyL2;V~hAu|xPPEKWnXNNl2EQ?~xz@NeLn^7XxHtx#7W&v0Rbeg{f3{=ToWd>Ut>~# zl{=xk!b|JFRBziZJAT{xxpLcoNszUF#-6fWWKUTxaHg!E@TM*2aYp_l&b0lUXrul^ z<8KDeO7~jN@Rl3i=j0mzi0@tQyzdn19rl9n*9D|8Q&T7w0R;+D1OzP+P2{urlb;)kMPgt;0pm`t1dz8yfFX*~0woCn6!N-tjZ@CkUdlM@y>-8(#wct8?#WlxT#{L!nVJy1hjJ!L+oJZ=FgGb3)BaEzV z9N#G$!Gk#?%nagS0K!TEmLyaqX^3(XXtUx-(qb)Jyh!H(Zyf1Y*q!Bvt$0$eWr9C! zp5PCea4W zX%N1p9<5hEpAh&pQ49&kxgNA!ZlqjJlmlhQO>ToSSmY6**_@M@dj4oMME>@SZJdpfK0542!tqsc1p+#9IJVK|LNtl|JlWcqOcSx z6$5AA=_16t_!}zVC;}n{AkwI~N*a|{$};i_^9y}N%U}HEzVAFwRateJI1WIfipPND zkqCf@0f;D~x`&}+2{)#>Bg|-S!=v1)|6RjP?TX_%K>0=pKm`2=vB=gc@h;?G*nL1oTzXB;2MHXF_uemDHS zY`^m~Z@KYZ&SLNsd*1iIIC<~?5FpdF==p1lfP?@DfrC^tlpzEth)3yMVE~qs*Uf++ z1TaFl52ht4$fCDh}feuB0iOi=d%3F@wYg0|yJ(6>EtJOFcoz8Off*8LgQ zns=7F;$KF_vB6$)=U9uj6gzL5V9mp)AC<1~)iX{=koD1-z7ar7#tD6*YysuR3{{QV~wf@=4Fz*=X(n$qX9Fx}} z>ZM4c(po@LBaKL^WD!ZFEF!ItMWxRqDMh(%OZOCOFJ-PHSE(YaeJr0)Jd_~f6-O2K zB{AhaF#r)qm3IUY)oo5pa|@3FzhOSGU-$nZ^o?rSc1@HtTonNj;iT>gUVkB+)L#}% z8b0Tz43~r%%SGju<5SIqaue?oi;X|?bgaCEG*v7dDUP7rMu0R#(- z$5=Z#!nW_BcbfeYM*YB%X6-pAS$pmzV>b||?bOF;+x{4B(-)_2xTDl{PmI16m}IR4 z(l{lZVJ-O=SoxN1)`EYDJ&$K~j!?X3-tX_>udi};kC_++@=Yk z8>-^e#f1(`>FsE}thli)NV&|a2;T%%F(|R5h^tOFCD!!(86W?bQ#J4(24(O_BiBvI zWy%SO6rhL!hzM<$5VI74m_)otumBhbK82;3w9D$fME~0+!jZ5w}f%k4PH!hT`;A&=KRia&HuZGtEv^}SK_q(ifF>{g*d6d3|KCSCjm&x zc#)sBe9E6TU(mhqe(d>E-+ASB<43%#>l}B+ewI7!_<%cWJtLm8o#y3i@9}fqcO~0R zr>uX8{<`Wx0BJ;0bppnTf`mw`^#&61SyPr$R1nf?wV!FeIGj9Jn%^J@*vr1qyWa+UECS@2kg}TGQ!uZq5>U!h6Xph+Au9qcKn1n;(yuX z!+$f%nvT>`!we2dB_twcOd^m+B#3xLJfv1!v{Fd0BrHWl$VBT!hoaDZFErG?|8Ukd z{mw!$Z|iFm8D+IBuBpNRu~ITFuYig?lSicGfTc_xl|7Ncf5_AF$NDwh!=~T+AK3RD z_f=U#i6W)Biy+{RB&Gr&s$1fi>V`P3hDldn<0arf(weJ|*RHQTziGIlS#^9N&KNI? z00-(bQQCM>JZ1h=m^NJyX3QT8rp@Pd2f=gp-}Qc|+G{y0oOgY|nRT4u%-T=$v#$39 zImanp&hZX+!Sm|_(gNSng0_lWn*qcx0Xgv_CoNYq+N~C-NE-lX!;MY=Ay@J<@hDwu z%tGfXKp}qR4Il)J78r9myumqcTfu;E zj&<)pAyVD-x1`Tzdj(LY%SoZ zEws*2P$!_Y6#WM=>;UGCaW6vhrsXOccijA>+Mp6`Pz9nOZTPukgGSS6ZMf zZvlA=NioSPs>|E941gfy8gp)7}OYs^>e>#PI( z-T_W9?qM$S0()7zPQc-ULC3+WO&qM+a7;4R@HGyrwgh7ZW_-yRr7Z@=srmZxx&=U! z3rsNP>L*#*`V?!XVTLi?yvoe9@3E%pS2!s=^llP9N0}q2VQYjnWQno|Vde*PabBNoM%;^sba!_h3%dq?Bkb%s7Ip+z`0b7)r`0yW zZGo{5VOk%8sc!@<4Tf<0_cG2K}7zAxU zs`-{VIZu<2b5sc#TM?515Yb7*ix~)tiX@8yRjE}cgf*@Wd3E=n>{X$kjL%`_E96t^ za)9y_H+q=_5w8q@DBc1Rm)%#ygF07%~!52}LCR#=5r3=2s$6KKdhgh2A9{W|e4 z|E(xwk@4*;rFifPDOLlvhXK%WLyijtVZUme=N`1KviCbTxqE2WUIb=YyEsd~?ar{a z+*6!QsL8r3#aeTwSgVdn<_b<9E@6>z(UL&K8>7#=V*n(A1D@kJzm{Ok)Tfx!@G6;x zX=b{0g_Y{w=S((ka+2P8Zo-`6#BrV^W}4teYzcM*GnFyV1T*Z8F-Kex<}e@`0)PV; zNDkN|tUm00_3GoiZp*Z|%dsfvY(18C4F4o)@Bd!Z+Oo}W!HgwjPjZ?7N~0~oYk^FL!PNS_+Gw2-84Li# zkQ8e56C#Z^CQxZ20;M`CP^e>kIj&N)U=n~QR>uUwh9iSu;O{nm|KE(f_TQ*Ewgo9$ zn^dsWNf|>GmqS5B07O&-1fbMP$7D4MBv{&nxXQk!c;5X7M@7?*=5ouH{;4XXDU&DF zrQ(FD6vq6KBqn_bWxB77$?hrR@)AWtepfM}xT9M#+-m-_|E6)%a$PZJ_(m~pyrxKN zzm_FcS5a3aNzIqCN#$k9r22E>K?E87XTBc;7d=0QE~u6rpD5<7=f%^ek3<>MIq|gl zLx6Ht1pgt-THY7W*-sk_&F{MZFn&t8+xm|9*G{mA2WbNUq}qQ0N(W$R2LP?Owh|DE zui-&Rdi55LH}Ag%<*lL=uV}N{i_owN?eHmmo7_V0CcDsybgHN-Z$LQ#1XFgvRRo6k z4zyjx)p)Y)`&LQFx%L^xFMo{djx)E*d1pMxnisVXN=hoSo-WycCRhM z>V~p(;WT5Xc}mpo%1hdsUddVqek*Gk{H-|Dc_3)=W_gYFBrgb6skcsW1J(r3Z%%N% z#t6>?PvTZ#Ku8iSz+%@&xHe;4VDaT;=ANJQrm=q-4Ws`s89IN^=o~qT7LaJrdZ~01 zLZvn?lp`vZYa&7^R0Mzs!~mrj@v7n?USLnp>;1Ep)AJW2yX{8}%ef+BXi{>zG9jlT zCZ@t;01!mHW0D#P5-iL@DwQzknuNH*v8*X?`>pk9!}rEA%cizeJ)?dspHw}9syu|M z+?PQ?2q3D2{EmD=ep``H+=8OqG_D%22Y=)F#| zK~k<|K!WN(GSx{6D$<2is(+h<>wl|C3t%Fu^48Q7W8Va`P9SMS%T3Ddq}5S$5)}6rPBJ zb0CO#lk9mLo@9ckH)~6c72|5+VvcJ=&F=iYiPiHLJp-*5-McQQ>L;ajnuLsko4gjSQw@9u z5-c$yUU3ED-e;JLl&j*>r?$MZtm#`*DV{X>*tV%bf~9((Olj`RCpGt^adn9l36>%b zKqln3P&ecW)pf6-5c?^V;b{VVyL>56>D^o4R-e_1i9`&^#XU6Q6W7v(9< zr?Rx}f;g@FM3S?dw-*{e@_pZYPPJk`D_?YdAepx#!Lq(DL5d}vwY@9KI!=kR{{#Mm zK+>^5DReH>6}t13LLb_qp2fOCCjcQ}bfP*IsKsk1TB*)FUIV7iMZCs;^}F6wJAQ5j zL@oH7TuG7lNEF-!Fgl?aooK5_JlsxR!_4<@1C}iqZ@foT<^Pd(!PES#CM5MbIec}D zmH0P+Fkj;4he2oT`==RufmzNjAldOwn9_aiwqejc|%Z?0n;SE-!#eTwZ+*z{ury<8)I~OqO49t$L;Vf zZ2+a!7H2ivr}!az7LWPamNxeOP8AIQRbSutlRVJ2!S}gSe6J(P^#C|Ge2NnZn8Tb9 z*pYx)4N)FRu*@*xCRJ2uFva+K=d4KA@=C1<|6Qk!{+CHL_*bnmxFeGz9+tt-OZ5qf zST`XNY2pGQKodY!cu*3q8WAr{K1&l9G40D5M(a-odiS67)aD;Gb)HQH#gr1)XcLMW z)r6u-J)uCvD?x%Kc_ts1V2Um&lg1=vinz4YJSThHRIog3`Ck3NzNWpe$?8f}Q^geP zjtpD8lDPbqET+5x;I1nZvTJC&t|=xpSB;B?ul&EMzhc_4eWA>mFH2`FpQ~mpmsAFTrD(CFbJlaV*DYtgKel|JUUQyNEV)n1^Y-_|IXeKc!-Lp= zeS=N_>0GD<0JVjVJiq`XU2j0?Uj+aJ3II~Pl3K)T0MfOD`uR%7YkUSJ=vX4=ofOmq z*Eamzf%l7WyoCk8bl~T9l1kxq?*_9lv;%cnBW>ARB_WY9AR+BmG3g>6gmnxxDYjTp zk(YRC%7HJ#+(Tsh0-)?-?R^LDZTn}~n@G4eJQxt-Arq@uaarlwr7yRxF_-G+IC-3H zUvQ?_IY){)2S|#50F)VAGq_IKCfF(Xj1=0hq&dc#z^TIo9taWhr#R8}BrDQ1!5D9y zVTSuQnWNET?#SRVXQ*+VKZvht03h6cfYNK4x%s#d@SpI-F+II5QG;XiuRW{)<5o`A?&K@NXJf=s+nor-fp`A~GaI z0^Nj|uZl}}S|nHi1%L=xny8SeiAd z$ml*+WDMu!Q~Gm?jPXPHwDGKH&h~-($F4K>Lc?jzy6-*3s^^q)+5L_*XZxQ4qop5inSrWgP*Z>; zg_;B~Nwi-R)&vVF7Apo&qL^t!oRhq<`V>3dGQk{e&oD;%)>uQ)L(X8Nz#iz_;q7ccb;{G*0q6Fe_!9Dypy{qGUl{2s)w7VyGc2|;TbxiOrXu(Xj3BJ)B<3mAsIz0-0LnDt0 z)tZ=4X`PZN8aEa4zTc{(K2p~BtpEaE!g%<0y z^SjRX?5|r+={9`tC|7>v6_d9fgaFaKbW+9FXt7R;S_I_n&;4uk!r%sAS;2eceY9iU zE3`rns(YCf;$70B6@Mlmk%>D|j}vt%wp?$o0Du6}g*s`!h^hb#@*1D@Z?TH7bgd!z zB5^QTU&%3!0m@;+EaO$f93tLqvG(d`m@l9ly8vYyYO>`?F*b34YQvpkta&rcRVd1e zZ<@7)(}#2vKHj4YnKGJ`?mG?o%Gj!DiGt|?q60ZY=3HFtm# zwNjK-=cK^mnSlS8;28mn!9F3-S>rq{;$n>{##QTM0;Mu4R48I1 zxjrqCdY9yquJ5qL`!}s<^zS-B`?m_dYeCF2O-MM#q=;>p5VO#JF)>7>tD|BXRE4UE ziYTfWBHp;T#yqR4_HFB`8Vj1|q3@Lyu5CrRWlr|gkd~C`Q<5j@q_R|%ls$sic&La; z?qhg(AFz~QE^=2tqrT(aG2Uu;rM~IiRbDsDX|Ag?`fD)eUn`~zS7mAK6&VaV4E|++ za#@vDU(!rzKQpgbFM0~@3zh@NC(0$;dBwcrydq~kr_NbFRLvOADrZb*6tkxHm9v)9 z@~q`O)uQW^z0mQF0k=Cmi857mP>uvxv^n!&Hj9qA5 z1R#0FA!a53gn3Xu%h*Tlp%C#hcLURmZJa*b!ojLdZ<@L8PSIh|8LPykBhgxdsw@H& zOwnl%;t%-K+`jHPM(@Nvt2^~0w=4D?ud{E5+u_S_+bxs) zR@0=g#hm1aj7ffzF)1i+@xtT>U2#?*5T*P5QKlCP=SKTtWdPwYsRdMuUhK z;8YoBt3hKk@zb$QG8%BP-Pd6_wCNDwUdsh~h z-I2%Sx6~QUP1ly`di}oYo4}spnlY#STA49iRU^StPwBr@rF55NY5nKYr0Nph`wYK- zQIpYLFfH3Y@gDonTMrx`DVA*K6bp_I74x>U>IK^wb56U z#BB}bSS@w{VonMH2(J;|Ac&_pV#P!hFiZ;l#tFXH6=!-HV+^-1%5?fCIF3MyZ}+7I zw$Pf$GWs{2Ir@KDO{4$YY-s*bWiZW3b>^f<>zd$e+)1v=o#ZK93BDXHnA{rYOQ9+f zoLdpAVq&2>B^T(XmAt^Vk~i=>4QK3c3U=@B)hz#}oMD=j&`lF!s&P_6H6*1JLqc4u ziem;6lT>MA;!3n`&oN`EFi$DUUCY|1{#{jB>kraW?+e9a)4c4FF|BxLN=xtSQ}TP7 zq_PBc2Sdo)Fy^;VH|3b1tEM#HSU1eq0xvXIgL{gvEDNeD+8N!K>Wua>6y}8V&i>MQR<(>2EAKj^Sa7|s$vaPL^Nx2_IV%9M z{4ZtB`ac6mA5@_is&R5f0fJvb@)izq)4#0~7#PK$2LQy-2CWd@Wdaz$vVQV=1dbCx z-avxiD?(Ge5>RmCV?Bj<4>D9FkhB)pRsaTK;h!NvYx{@CBZ`QKA|i^2C?XAm;9lkD`B-smJ0 zDT?$CDFjmJmg{-HyvN!B@9Ta(|Glmc$C&3@dxK**){kS(dCqg~EZbZ-N{&+|B^%dS z7(2-bsI^W9DCGV}3Qj^MqmD@eB#BVGE}gOmDOfDtgt8lo0W_H6#aZ+e9J5Wb!4$6@ zh7|2Wbs6>{>MUw7Knc=iQv(8Pss8C*_I?HZ_C6WiRPU%7J1@5kJ5OyI)gAL!ZgR|E zAvyyRC%B6v_B4zbNzpqd+UndBZMCkcwi@?z2bF7vgVMK@u81BG$>L5(rF%}QC7}mI zVr?l)BuQt&L1=t^3XSWOO64F8W9w6>ENv2%sZMmDD-#@O(j*#HlFqi5WbrAwa*>^X zm(Vum0N*-dkZ0vl&)uQPVf_SG*$!ZSl&7+{$&y)HMak^%QH*a9CNaK+vuu_o(Z5k- zayRLUgc}`e_+NRp^Ebd5zEBnM*2^+^pUcy^>*Sf7wc-r^r^0mJ8g#)vMw@pvFO~Zd zCVp3mawIDi<*E;y>%=Qu%!2o|Wy0l>Jn6e=^)BOQ%a`(UYvLvm(k#IMCv?K=PC2 zfse2_#d8NC*Ot_Zbd8-vBmju21{kPEBC4=k{v3cvtRt%cipiS5znsLbTJm%JU4MV) z1uS!rkZxje6>^3PfLMxkxX6p$c+1!d=_DjD#Q>zpw#^q~CQ!3)v0YPOg>_?u$;KRA zZ&M#wX3) zNUt)XESn5W2&d!y!l}NMwkZ)UHp$WLltdKYiGU{_V=Q|N>6BPQ24y$WE&yU54Nyo$ zVjY1rEKHqZ7Ya~9(4q~(&ou<;GHC%w!ThyZR6n;0hR^P9rgzRD&9iXO!85tp&OIpK z*3CJM;;Kn?aF(ORD^I060vMw_jgBEjnhvK9wRnMq+K^>PB?8w5K3|&2;!0E5990^fZA^1uqOM^$rc&wpWP6$>iAq%`QtjnQ z4isq`%T|&lv{e-Gt=(D#R$+s}9g#!apYZbT?fOF09~q2o@-)U)Wh(P~Sqf{5G==%C zAc?sdt=&z+WacJWGJT^Wlk=6jNVvgR$^XK=QLx^vk-JV?%v&eV7Oa(K@IIAg^4G{R z_#cbX1*?VWf{*yAXz`}OeX<;wSTwX)^TX3@LG8u2oDp=7BDfC%#xO9Z)! zH+ebA#VE|*fKa4M7m9LauPMv*3ye*!^RP` zaSIX%d`1ej#EWYZ00v|9hNYBHxwe% zudo-e02m7>78jW-(4WtEwZlc)pjN+P08(h%1etvctsC%peJFO(cbjcY;U=3JZ0c2` zh_7_dwXJZ=u`S1@Vi_Po4TAJ4%Z3C5?m;>TQmhR8pmDlQ4g^4KGT|uc=x(K>^OXvv zz&(=DCQgK#B*b>x#z(eM_W0D;#bSzhHykAfiq@vvMZrldulm8OgTeqxs3zSu1h8O= zmlBBml>kjT0LgUl(`3?o)R{DIeLf8vge;H5gBS9s3#zSrQfXhn>tP-CpXGVK4E_au5a8vV@6;x%}i4B3{%{8P~f@ z$dTo+*f>DNl%%m4$}|SeDUC{VOruf_sSfsBe&*52UaKkNeTtNBjRb&5GX<;Vnfz5)e+W=kqA33Wn}+CM3EmTB zi@^_rglBG_ylD9QQk|mNt*_*;Vbg*)jiv;fK;Rg_NA{}Dx;kO9uXc7cG z{L!S4UPYoN`5$=Z?nUF?o(4N2so5U&%1&I{0yYvR6!|0|Bq-=sg~CZf047G=i4#r0yu0S>t;aG?2eJSHS4jsfX{b|D@v74lObRE%Q4--S z2`>3|@d5RAaeI1gV`IDRcLz7x$KW7WG>ZBtfI$Kh4miSe8I(|5hu}I0F%b6xP@nh# z6hF*!`DnA~-blSX0g8tPdmz4z4A(tJxUMNjh0Zxg*iPAITVrU-4uf}+wceO)r$u3} zm8UY*DDG8A!4z;9IigIQ>>xo`OyZQr5c#Fs34PNY_`XFHUi=V;n|hqji90T42kwv2304Y!{6y>X56BK9`@bXpjd3nlLMES~j z$_o8UhDO(arv4y7iL2R3!~l+60Ag454s@sxp=hivdVWpbi>aL}%>M@p06~5i_sIH# z{Crm}nO@C_1SASTkWi405@WI=lA3IZ#75LBCb$o}VI(M|{)U9CO~@ATi#-!;9s-nh zJp8RF+FLNr(u6Z90L0qjAV{t1eG6<&0HxMD-=@a9z@{3z@|9t=Ru#J&t;@setV(@K ztV@u76$1_cVpo779e~*8p{qs0kxc>u!9i@`AU0`^88)d%y^;Y+5U1 zrP36D1Ax$EvNQ*YES)Zvq|!v9R0p9lgUNTvpz^%aDO}%d3VT-@jg@?e!%RBLXN2z; z(Hu=Y2Wb|Iigy81gc&S52|8HnG`bDy6)Wcy>P}rUb%!>Qwq2V{|52OC-lojt{-7)r zY&A5X#oHs?;zMvYyH>I`8?u?3v>D8=Rq4!)>U0(gbmj)^y04d~W0E(8yN;X0{S3wW zT1~!ijkZwqiN0Kb4iq^U&&jNtmzr z2LY+wNyMWQl|a@G03x<#2OjjD#BMz7q+)8HLt}aP=kx-Uxrm3|^6&!)h>S0^%d#fn zAb}x4u_K~zkGvlTS4nK95PKSNAKxL}2E&e3c*j00Cv!$%sWeVHCh!1*WexD zMRo<4ck!F{G1gNI44l5dp!I(*WqaBgbYJ*PL+-G4(xyS;Z>~w`z*tP?dcC>(7v59B_ zB(T(`5$90M0mXm=H3%HV1XyaJ8eaf{l&jLG(7N0k!mCb8J#+0!;3~!8bvq095LN}z zjaGU76*hSoUCD9Fp=1M;EI3OB(y(-#VNV4psffwAmxN=!iBLR%*#pJ7^BB+ z7w$*nhkhcR@~IJl4G!UZ2IygF2N)r-ee~dfI(m>XixL1p{L%V_gV_7(GN}NB=B3WG z_r%d$chn|skSjJFU9>3Bk$yP>6r(1auGi(#^ZNgE3Ci{$Bm3m5|jM>LixD``n z0m)XfxII5g!V-6ijVah9LaI8>M>=dPQc8Jiy5~neL#4CxmIj2##x~5XT$1eVN zhD_!bLpE!(Hi!LfH)OIu2Q2GU>8!P= zSw2-|u-3>kIG>>9yPA_B`beBBS*6LxDZ(QDO6O|+3fD&d`xtm!F3%OeE6o-yljew* zl7JvCQRK+plI2JjOLL@eNOEP16cyTqiVEFAWwmyJzCrV`M7TdI0lS)!UJDbf5N zQOQ3DNPIoOcp(xJJnRX0*ptjQL^>YaMDjE89tv)Y>PeW$P8BKg+6FbooXGCg9*F$R z5^;}g|B?@W925(1UWkN<1ST5bkWlQx@M0`r$!Mn#iA?|ppUoBZ*6nbVwy+ADR)Eri z4aX+9Nh93EjFhV$^ILUrl)nMNao{R+x+>u;<=#bj&2gbkDIh7q>rIQX!C2^3Xj>3m zWtF$P%{n)}!zL%B!6w_M7%kpB+YC5MI+ThZ0ZKvLlI)s|F?Rq0#X}?@vCwW8I0)W0 zzsohxJ{q7zI^|F!9CN5)jyZOr-j&pl-F*(hX@{9XDF;{q(OnMy?u8D1fWrr{c%wG) z0x+IfyTeT^fFQa694D+Du{NUXrPpN9bx6Uqa21WNfUb%?$Wx}DQ7E#0k;oEGN~B&U zmPC_56Z@vxh?3%d5WrpdD8jjbg#$-nqnKvl1R_(G&Y&Y*qRF$_RCyNLUYpIJ>^9Tv zat9o2a}Lq1W4l>a?v>0Pl62G`>Fn(oBl%I3&e|qOLyI?+{kFiHb>73Qd4E9IT z4DKpHI&UREPyT^8PqG5(*ZcZX!E%o#-n(e^E>q--mdbL4Z%cDUO901P(j3`hS)Tk2 zXpuZuvQU~Qe@#_kTp%wuyb4(68=G}6tEzSL)MfwB{>O_#JpoWy9(sU4#<^>Bpezr+ z6_E%i(wl6E)Mi__i#33O%w&hk#u8sB9zc;DD^dy1ftdpba3G!fUm}4447-tPks@Ir zh5doKdIhi~k^fD&3jW@9I89r4l`R0VX$~%<01zCMDzi0XJOzN**1=UwaFiOHY^=5b zQeXuK!B5c_+mxZ8FGaCl3{Z-_3Tz57_*mdsV3+5aZ=35^Zj%$)Xp@!FWu3LV)jA`@ zWRs2*EER2H0AiaAND^JMp&UxQD*yo`vCwYp%E!25Q=&-+!4LdI0+I+Q3~!|mb20PqAb?z$`oH~iGKE7s0{!wGQw z4Tv_2p@XAnHCZ&ZHVZRYSu~|KkERG9xU!TJGHKSYa!JZ5i72FtFVqz>1X#0Ro)PFM@l#K zrw|i;yCIjg4fV-3q+eT6+Y~a z%rA7<195HUe(s1iudEb@q_PE{qO-Nen92Sa&azsY$@vIFkE>J}NUt*3A4oC;D};HH z_eA-M<%$C7ySfs=GPef7Qe(C7ZFP}&i9ApGCbU?VFM9)EERyBQ7s~S$ugUY}3*?2W z`O0$LE6Pg4%d!gHJZ;@S=pG~_$#}?<0D(m$01c#j%su#|i_CpSe#aV+z*So9i1Zeu zL@2hC@eo^5vgaZpAq#L)2@rXmfEt607El0B9O51`1@|ZxXh?S)v^yG7eKnW42d>G7R5=}A4-sWEM~DR`qwvS%UoKXU96 zpm=Bx6boQ>LjVMD9+MHdmQNy zX@G?)O=sF;MvI~V9P%8FjUtO#4{R{VO=6aWG<~pYW_Gix3?6oe9 z>`yh7oHgP+;l~oRcvTtvRfa6ihsF%nN?jJ`0|2u^lgWKgnZ;YK%$F`hH|iZxzI>^& zNcy%*t#FCEN%W?!M7&s)FIxn?4u}>i^5w6|@)ZkY1K__0 zdEp>QjaEbo9_G|$YdrK;L^2>DK_MS{a-IBlB-aqYNd+9~EfgY)uqV>nNlaFQCNTGdb`YLW^#%5w+73-aL}z6CZ#fTRF> zDfxcIlst63axwam<5g&v1&7J>DzHoUEVN7Wudq#xZnaNI>$6Qx?XyjcXrv_Ih;Y1n z9wiRxS1jDc0thq*NH!%BF&t@Em@D370w)P^%clmp=2HV*^6UegbEtmKxl}(C^*-*U zRPSBgbkCe)0*}IzeD};@u4@#*bal$5I2*HQPKIm;qallC&;t+vqXjHTu^iL@My1Q7 zE3`QbIbe|i6e%RZsJuvDz!C-$Tz=9?5ijekjGK5�l==v9-BOCPv*ENV#bGR0oHk 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 bF9!ZU+yv;L96J+*00000NkvXXu0mjf5|;Bq literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/clickforwarding.png b/OnTopReplica/Assets/clickforwarding.png new file mode 100644 index 0000000000000000000000000000000000000000..66d9bc80fde385d142fef3f29cf7817a404de259 GIT binary patch literal 951 zcmV;o14#UdP)_ROnYA*=AP;U%I zAV$MaO@wM&G*l%a)Lpi_-A=nZ+nG7Xvs1))LN`Z-e+eAi-xY0r<+Y2;S2bje z$w{xK>$7@5x0s@kUoT%y_8#f^n1w@C_2I_l(eB@VSYcnE!H3&kz>b~-%$sTVsBe-t zqi4hwe7bulcJ`kDDHPxr9DD9xd%ov@V7lDStpj-g~ zalaUKRk#pUOLPPq=fhX6;X>jlPJDX`e}3MNX|sUNz3q7J!F6Er8mblqlUd02e*_48 z_AJ7w34|;I{Vi>HIQ|A$nd(}09PX}1)6e620e!7A~y&-82i1?Kpxv1)(sDsA>*pPY-SghP1JJ zqpQchJ3H9)=zHrLKHK-MVI!Y%;ABhwf|ABtzc0uCmRh}O^OG-+j9wZ3W9(8wZVde` ZzyLCuV;%72pw9pR002ovPDHLkV1jSLx#s`? literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/component.png b/OnTopReplica/Assets/component.png new file mode 100644 index 0000000000000000000000000000000000000000..c1796148e6e9d38079060282af20f44099970f5a GIT binary patch literal 731 zcmV<10wn#3P)004R= z004l4008;_004mL004C`008P>0026e000+nl3&F}00009a7bBm000XT000XT0n*)m z`~Uy|7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$BHmT?0B>(^dJxN4CR5(wKlUryL zK@^6MAigLHO1+@e78QI@48?#%u|5Q~6e&W5Dp)U7q0)#HLCH%%3Mz_tDJ?~amY^2t zOA+xwu@r(J+M19iy(F79mkr4V4K9ID2>kxLLJVyJS@;;{%sK!3XJ&SlEc?E`kS>P0 zNj({~T@}~zoT~GW4`j1{On~?h5Pl6U)Qs_Ga=9h}?rfpJ6)n&V1Rn#TJ|J@wjJ-4j zxL#LP$U7kSXTNMhcw#Gz5#e57#);6Ubzq^%)O!K*E>#rq4#^+HJixpQm}Bu==Rf9e zQ|ulPc?zVS8v@@e3UG%aVn$*+5N!jL7ILDDvuwvW zXe-!iWaN%4-tCZ4`vI|*xA0S6Xh%A*4LRkodGGEXiE1-;GnV$%qo7{I=O+?p(GFrf zsx>76+8I=RcH|a#NV*ID539`+&nLUhm^OO~+Dt3nIc2!wJD?p4ZH+J?W$f;`C2t>H z5C`psNOIts1UVn;JSIn~J!iv?VQV*OBpb+DvYqTA4J&Nd^oP}u^cS%>oLGX`a2Ego N002ovPDHLkV1g_eD)#^Y literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/desktop.png b/OnTopReplica/Assets/desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..1f6a7f4bb706a4d9e2b81257c1dca8fc045f8f9d GIT binary patch literal 794 zcmV+#1LgdQP)ezU0v0~n=;2C zMiWEah^V-7;Rm=ET)A=Qr}z#2f`~gmKnMt~qM$}GniyhYhUc5Qy9Q6^C8E_7UDR;u zo}ol^|9KFRgj5l`fRF-O2M7@`vJO531n1zYihuU11gZjg>>y#GM3$ol5HSJbdJ4F+ zta0;F0v9BVF$muAOnLGzivq$~%(h~zt#1*a*?`m$B6dZ9(s|sw-olf+(+H74;RJc959_ z-R=>J5iMiMXHA^-(rwd*Mx^$uu(&YQz}roY7heox%&ZP-e_2jR4N|IVR1C$^BbHQg!~3s4(ad7ZPj+zo z>I%At)mT8XF`93Mv=u{F)0GDVbL46X)N^E`6D+N)V(s$)J6+4m0v0cyN28hZu%=U* z0gGV+$3jCqdif?S=@Fyc!9}C7;WNyXBdl)~*f<_S^X1j{cZUQkHMS2bSVq(rBM8g2 zkFVG4Zeyr?HIK)05{J{*(0ca<3vrBB->l;OaK4? literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/empty-window.ico b/OnTopReplica/Assets/empty-window.ico new file mode 100644 index 0000000000000000000000000000000000000000..ca5edce1402e54eb04e80c5c2ca8916f7ccf019b GIT binary patch literal 10806 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

    vF9gJ@Je|yRw3>4@pRamq~Dp4(LNsCb6l7h zFxvaNhK=nl!`NSOj9@<~LcbHR8(Zi-?bzqmVqdcv`#kx*DcXy|zJwn4;!U`(*6XtM zj+#2#MpqUmJu}!_!ajxt_svc5psmeq)~oT`DX9s26!tFMjWViKzhI7x21lGZu5#B<7XuwJcp5;yRJ8 zU1`>!YgM{NrRxkj7hKG_G!x+Ukk@USwOe{7agC6_K8VxYjO&+vIv;Z~b3d2v?b7^7 z*CGeF$Av!1-2d{r>~k)=W$N44hct6%=h-8=uGs3Q8HmoicrJY}%|qLm-Ec1?;`cb_ z`+B-2|KF=N>vUaC^E}PRm~AqHn9GLILq}Zp zzJ*_Y@By#7vcg?cRpG8Ct1Nd_R+KsMTSEuTo-+r2FX*U(Rg{&|YcBl$(DR#*f2}Df KNIv}U*na?MF7@;P literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_czech.png b/OnTopReplica/Assets/flag_czech.png new file mode 100644 index 0000000000000000000000000000000000000000..8308ed84ed70128030d13e6315cf7864c24d4e18 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ#}*A-ZN!DMTwp+jv*HQ$q5p_8V)aiYp>eCn8LvE|M%Zso#F><2Y8gOitsQyu<72b z?8+$KAmz}N{Xy!3v)iZt@}8=DB$hL_m>hay$fFRZ+{XCko-E7U?z06Oxc_;1O3t2amNsq%TE^h%>gTe~DWM4f&;U;T literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_danish.png b/OnTopReplica/Assets/flag_danish.png new file mode 100644 index 0000000000000000000000000000000000000000..d39d4c1917c8e11a5b4a713cb900312b21c89195 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8oo45Zzdi4M2&;Pe<`LC`0f7R;$r%(UC zfB(O+@qb?4|NHj+KXBl`l+?R(mw*ON`7uKTXq{q7kY6y6ix)7=KX^eAs5sHn#WAGf z)|B(^d<_mf&VlD0UhFO3@n5qurG-WMNOaxN?gteI%RAPtO5OBCxrys2``Hik4jSof zy1TF_RAHyLcA2}Wk(EioB(EZ09%t>lvPyAN!Zie>ud;V8xNjMA}dc9#}Etu-a8o&D`^Kj<7B9?m;P|~1}`_z6b4UMKbLh*2~7Z`TRk`c literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_ita.png b/OnTopReplica/Assets/flag_ita.png new file mode 100644 index 0000000000000000000000000000000000000000..6254b92e285af9d1c75c2dcf9fabad7d7475623c GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_poland.png b/OnTopReplica/Assets/flag_poland.png new file mode 100644 index 0000000000000000000000000000000000000000..9a7d5f6bf342512b9aade8a010208fbc04e10e4d GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ#}iF>xNjMB6Uv}#}Etu!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8X6a5n0T@z;_sg8IR|$ zNC65;mbgZg1m~xflqVLYG6W=M=9TFAxrQi|8S9zqnR<5pc>q*Y>*?YcV&R{hAW`rk zFz}zf>WoIAvkH5sNPqah|44m^&cFYs&3R1>OH4WJm^VF}uHEvl{xua1Mz1@R9lO|LWha|K`Uk`AkWh@H&v^$N%~KYd${ZPE*iz oo1!@7_@M*Kn;Fl0i&!%-Yzopr081=vMgRZ+ literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_usa.png b/OnTopReplica/Assets/flag_usa.png new file mode 100644 index 0000000000000000000000000000000000000000..aed8f11f9992b987e25e3344be224bfc6294d3c2 GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9978Pp-%hgSYIYE4{VpZ; zukn%m67j7k7{Bl&y-S)9@sz1-rO2D&mLJSjGRpdEn(n?^#+&kBbz80R=X*k*eye)w zugK!}eZBCtb=ReZHnEK=4>uh%?9eGUILp{)eCV^=j&~fVr2>AHE1cf3Ci9fw4x7ep zPdAyI)k~0I&Z(YXmovepVbOz6=ZYsN%n)$>>?m>W!(Yy;Kfldo4{7&-72dVTC6}UODRGjfNo<-`9Xpaqij+vo5oIk&nPRLTN)%h+J!b z=-s7c`cT)f;X{j}fqM#y1Zi5dHBjWw$e~DKv`wr-(w{?76lmHs*EVj^00Gj%ZPfQ> zNs|=l+Q|_6cINHO`7;B`mVqPd8ZZNqXdp5?8V^L`p=jJcF)r0iOIIhxtx8Q@^;NZU!Y?l; z=NC6aCo*MSfHs#eRHh1L=p}I|ETn`Le6PiWV-@TOr{?mDp{!t-BT{q$8H?INVHjqo z&Ys@fh_5UZkomMURr!jvDF|tE7KX93AeA=GWaxruzOa~FPFHd(VPWNXO$dgPq_C3J zL*;s14Q11jO!-{!gfum)WXhSScuFegf~PWTqf6z=x*l3Mm(R!6lbiLdQJ7zOT9_^e zGr@EzEQDrIu`s0^Us})C7SvSA?+Z?h2b)d@o57r5Sokr_HZ*)=^X>vNpA%)xO6%4f zu>xt)5{G=vU`7HE#*t8bI1nBgjgJiZQZ>b@86=^Rnq`Q}kS|wTRb=S|sW0j4L`!Hj zMe+84&}_bLT10J$3I{^?ySs?hSWFz1Mx(=Hkr5J#k2%rUy&X2{QcWeA#lZ)UY^G(i zs+*+5*|2a@&~P?hyfu>;v&0h7Fa9=I7ze{Rde{fsrOqIzW@OXCn7G|x+krqzR}>;y z04+0+uM$ZX75N+~1?EJREQ?Bwv?ie6_cfL^B8ajW9<(uijfZz42TgY(ySoYag{z7N zIN2u{hFC|t28%L8)ZEj?Fu|1j+r}Gq5;#Cd*NEA!A>}cuyc-BwjgJ!z`y5`oV3~W7 zh^2W=se7kIvywCP4Y@=NcS={$3B#GvYntT%l$acindxf8hw15II48q))0+}alGRM2 znX)Bs5R{zKOQb3N$u1kTV@XrL+l>w~JdeZ!1mny1BJl!w6gjvfJ2sE*LUC3+ts7i% zR@U&9tjS7=FD{Y|8OseU0<75bk3#>WJs|2C*lmm~)v_Bp{C!B^6XS894WGkX+%8Tn zTI8(N^LWGajH0h18bw5BUt}8ARToo zr5mJGTsrI2@ZF0H)+r}$&BN^_ASqj_Sfz!4)|RTFSBYWC#B`Z8V@;GuAN@GkDmuM3 zgVr3c-M1@GV`fW)1D$gmxr4sJHr;^mhFZ+j2ijNUZ8I<&tlNE{{gbVn(oO+1-4Wyb zV?bJk=y4Q+$fOY62OWMtkk$kr3|K@hop1m;ydOww!k1v+K)C&XL}D!Ws6_>8Se`&Z z5G~#CszupsR*io9uxcDGSXq13qJ||q3l*-MmocR&|&9v%mx^R5`iy1?7AQrWaivX3`NG!2ZPF-BSVa05UX2ZHmlE|uqY z5k`reU8$W#tk3RZqbfsvb-Vd5!*|R!`XI_F+z&Q6_(s@M?i1}?%md0j)W&tsnLbTF+)p4*LK^Wqs{lOfZ(+yQr8bgE-h0$T?I1xtOP>BF{nv$r6I?iCuv~bh# zYe%-t5>+?qNkx~|5zkOX@x?z0q?bsYIFEYskuS2mNPv|cvg zAS$`^swl};okf$n)#7_N=UH|a280^~;%SNIhhWUI+bpIN&AB7Uz`Vk!@c|(1&apmV zpo3fxh>K>gFT#glz%tt`<{XtWj0{XZDkTh^4k?(3R7wOo4Jl!M1O{;5>uW-e8--zd z980uMF2PMXH0t-ke#50Y=J#3kDoOame%}V(Y7+iJ=6H2gTc|CqFBh`YE9YiT7i#l@ zkihF@UlXrf6hsDFBEw^FRi`3BkS!4|=?#fOxv{#5Yc2+>V{NPBu!^pZH&=s&jn(u* zE==KN*S4XV2V8uo6i|7uQk;nBd&~luNwdI-5WN$W5r=NjUbZUHk=|8$qMXFPF#IiACzRk=encwjXAz_rs4ku$FuQq@0zRJx zf|B~tFKm728#b2eg$_T3BQ(H+qvJsO(F$yRlk^1~l!mPjC1PW783q*22^`bL($$Rt z7J7aF2;6EM4Iabn-~UZF^V+4q&obM$wzrSHb!gv>@1HHLGDB~?I&M#E%{{VXZf6V?{P?AZ zR=)nS@T;$SuUviof^~K8&1;u_+_N@z@K2%3&%P7;>%fh}za9S#VU$mw`|e9G{-O5q zcyXWskZ1=l{u2iL#-i!)WvBj4CHP``e&_=#8Tz4F87 z-oH*Ry!nrtU;EFAtz5x(_+8i5pMDGm#Q}| dzyAEy|4v=}$#?!%ytV!EuX}TWe}9P1{141v4n6Cn<9;_B-BAVI{xK#(RKoLwAUqCu)PaIeu(9K{43{1FKuM3&F*i7#IBv*~!cm%RWtf}f)Iw*n&D1bQ_gE%Ou zVzOZ0Ajf5rIOyjLQs9-zC*Xn4Gr6abh%D%T7HPr{Gx{dzSlXA49@X6!JwT~`w_|1* q6~AeLckV&W(!qe6XxiagfB^tGtU|Dbl;C>+0000w5bQ*_&$4rmFhfbI!d*06f8AK`dbWzoi7Z;0gKGp1k_;Cm$^xePdKt zjRO&}V^=dbv#UZ$?V3?DF*`C^)4k2jozFkJ@s%0%hbyD?w@zQXzj2&$A1)rkng9hE zP-h-UvV($I1};-H@*UgHapla}U&AlIIA){*PxFL!lRfYxK;t}ETO*hHq^$@QrM1+~ zQXxt3PF7$}2gs|6gqaL8gA_OnJv4=f+V`M?5T+=heA}u9DhF|eQ(1*|ZR9)vjCPQp zO>0ewGpiVtr{Fv-u^RcQZXJUH5h-`yohq!e#lR!f>z{VlGlR z6%4T!&BJ;={^Xq(1cab2G1}cjK5i^mFN%~=d=b^%@lM&XE5Nn49I1%?S>i404*gRXY( zy?zM)rU7;)8s6_QR-V6tLA-!f?qM-r2KmyewweU&zt#osOZ!BpC?N4s@KXE?hkFX$ zA5UWZu#a6oMOI9ZZT|(DSS+nBz{p5A3G&hXzuWFMErk&s?5mPT-ac-A)5U{79s~!T*mvTiwr;g@H2k9y@3m#UUsf&=YXAJ*O`9%-CFs}9j)^urSVfo z$v8!{SJ3L4$FVbC;rhncc)WcZPm^udp~eNMsWeZMG3NZm4=-I=US5jxJZtKv;g(q& zL)Ka-MWmG6Q=YsCnN&F^L%g-MS>5{n=B;*~dxCYrg227Rb4~sf0llRY!v-pBCn{m*zDzvF&ZUp(j4?(4pvWtA$w zsq$tOPtPiht*X3V?Kf3sSE*8^eS6dG$akt#*~NXWTA6Rxt5T)QC%>uEsFCURw(3=? z_8LaY9N*z=aRYS@bOEH*Rxa;jV5Ef=UPoHm%Y>~c~GH-?2p!d)R=tJ}|YG)Q!Tt#KM z{jc$V=3IQjIadzKqb+(Dsqd*hs4b}95-|)rsKuzhZLtCMd1bGDuePC&tIw<5=A_57FqSI&W+`|e0ND34A^eeffsX@HDk_-#{0^<|Ca>f04< zK>c3XYkaVL-xo4IsQxk zE9XGZ{X{eYjYVUS`l9-#`l;H1#%uLqt<5x^s}0mc%KS~FzOU>xHfYVDey{8`)^|nv zKFWO*8jqB<8=8WqqZw!>nq?mK_+R>;IR|>~RnyR95)D}jdfk=I~BeK|l#sRJ8 zH4iBJ8c6Ly?^F9|gVgW4pngd0NqyZ3>1Qb0d1xV8jNH*uw9Gu}@xSyxa}M;}FG0#- zKAMBnC)GdI4#ptO4ZV=sKwH!bH9^*>I#S=)dQWryTj)d78TCcVUSo^CpZfO#q-H1 zGmQmm1EbLZr1@Ou2Cb3$du?Q8K33oV0IBcmbJcE?{UW5?ccY`|IEqB4Q4~6ZqW`7; zm2;ryUKuEhFcgTkA&m>mk=npiq`5$2d2iGKsh>AT>iafG=ZEj0Pf&L>6lt9|52?SO zuU)%#ww;|_shgYIADo<>i&f6%(Q@0>&DFS1?^o$sAFr1^d`y2EGw9C#o&<4S63RC30>lZmNmClk}sBCn*SMO?m>dg4+_%85%i zQjTBvA~`(vdUE*LD~aJT*OJ0MznXX~`f@_pnZ(4fsDy;DD2}5p#)n14#UDLoQs~L^ zafXhcjSW2>^EVXBeI^}dv?w%!`%cEi9X@#h>3A_d^i)E^5kBV#pLvAu5E`45bR-7x zosPsNCm%VVk`l`C(YPBaN8*wV9c2uAr5h>7cg|7-EwW1NR$mv5&X zMPVHOmt=fKO6t+eH&c&ZN<}FtN8|W@G1rszJ6d#v`&6O&o%v2jd7Zw-_)PuWYw79X zS6~nlcJ$`V*|STk*QoJ3m>ol(A+66eeosZ3%QdI>MD5VqNNd1GNNvFq`v-BXIb+># z-*_WsvAg?EDe39ayN^e#p1E$rOec5u87@ng&v09|e7e)J<4Vye|(%{L{+y+mX=GxEI&8454t4lwOsJFeNbB}TMPCdqqcj}IMjJJ2} zYB%1o^GG{~_CrQEbQm$}KWh~Cp>`uis3x{&)Y~0Kj+)qUjNQae$kn@^6ZBHpzL#%1O@4SGu_} za_-zXcdqt}-Cf4b=W`ba={hn}d$-?rsy2i~Dldt%pMwCa2#y;^poAL#67^INrMo9`-* zZN4j4ZS!5R%G+nfs?FXjR(g5s@p5-hujTHWy_PNU{FU@RFV9z6yvcLfVo&q!&0b5F zZ1G;Y%*SWx@~uA0_-@PA?C@K*#@BDzT3^5A>;3(gZwv@nzG-iuq0Re(R%}6^1u`NX z(Mm&mgI4+M4_?LJVTiwJl~3@2ztZ-QL#up3LjIF{Lqk{l9!4Rd9;%)HKs?W52ih4L z>ajgIWVH{Ur=PWr&+^_Myn=JL!VBs5pa zYz`n+`yW3W%WHi3 zZibFB9y=T3dptU32cNlv&)*SoE_MgGVaKWXc#Hfv_Tzi{k%LUS6u*<(uNBX+S!WXx zc2!g~xBsRtC-{?Z44q~Co4S(de>M?aP4wqIEYC6CPe1RJeka7a)9<(=@_d}0Thn)q zzqC`ohkiEad6zzibG!ZMnP~6*$0Izkr8R0dYj*j&FY@x52Op2UK|znIRjZZ`!vM4q zEksk$SfsVR)&LssHTO3|TKj2E(0QLeN9`poBQx`fS76|3_4Qq$p`M3MMs7cybamIo z^wj;=v+jr8%y}5`W$vS>^t>n0>3KQPU*_eU(c8BXi)GC<__Kk=$0D zyqW#guNA?45jV0jQN}CX%(@?8Qs&84={b*7ksPCkX6f8nvLBwlW7fTF z9;=``Sy`v>(bMSEovg1=RwT!fX_=Wio@7*6j*Z9kxp%X^I*lT~%(!>_R{EXLtI1yk zoll705f&Z2H6T2EJ&aZn3zn|j=DXlg-tSVatgW8Fa3AtSi_ugx9%+8>hO`D${+8Om zJ;$0Gv`$caxt)=f^$qcD-Oj_In+``sZT~#+>fW^Q3klib318+$UB91y_U5C4bGM!p zp1=Kd!MRj)6Wz)+$+*vSd_FC=;C$MX{Bx;>3eMktl7E5Q7Z@*o`FgzgWe&H|ot(Uj zX*v1v>F91we!@M~ll+7Xi@2SUlYjL-%E&25%2Yimxc&fr^`!8|Lz8Z1KPkNV$Sgg6 zY*x;b!rMNQd{y$~$A=|PiXWHc z7C%HfJ}Jrl@prHF!_$)7AHFNeEh;R@EiB^kKa}SF@Kb4S$!k3+F5x{;N$F3&8cUy) z=>4d)R3GQ{yzaXnOP>6$uq6Ad{G!Y+pA_Cnx}TR!&3)i#bc|2H(XjQK$r)>R_$|)) zU0%ACm9_FefV75Rf;6XVFK;l?JpU1Dh}8eJ7SMTNAEf-XW=wmK_0>22N5ee#MMQWL zGxuE2$~aQ!w)dBk?w?6kNWu8MXrC0=2TFm%0m+{jEcs3cCEw+cB%DOz@3idLaD7o=!ioJkulN|EO!De_8?;w{&t zc?esXQAK8i(|#|^7zm4^3=bH#5_kY zL}Fix#Qldz{9i;8{~~`$5&28H$jfZTJP|44{!)&giTs(T|9Ahr^A9<1~1_nYK+K=K?9B1Y#!lIN<7k4xT^aLJ!~!Wi?W=y-zLrzC&I zX>>;NXGOz2R`TbalY&JT&5DQ%8_UL^W?>$@8sp-ALQi`cpv*wB=RRt^3R-XK*qp677+0ONkqy2 zE|T_Vku2E5<3EZJPx}uZ5=`SC{(HgeUI6%o>4`d&@peUJB6-EUWr0XKHk6cwiQVBV zTo;K*5(!6PiHui8LKDzMp7&Kwd}8XYkcgOAU;iUv>!}NueVw0ww*r5i11v=|P(}V) z@Bcmj*L;!oK>44D@TRufb%lB8!@{R=dD9R6DX+(8lGo42Q0{>3k~46JNd39&mzVOa_@(^$=}UQ@_fmd&^iql$GcsRF;tf9b5?|pIUnPvMbVy|1!I!cp z_@(SdI}f0cml6>6LQWhkm;2$*B>Q3B^;;SD!nLm4cRXSv^Me&%=YM129}LHe{Iw6L zy*>5+U-Q>Fp(XxX_~#!w6}2^zdj5J^+KDH{-(M+Q7*?*aTw{3QnB7JU&l|a0a)p5q$yOIC*slGW8yvbt|ZpGjsnFSEQEeI&EzHnVmx zqTYUJmt^+!HwoLwRP|TwH)-G@$s8Pv4oTLKqb3atm+X-zBzyEJLpfv4GDcx1*u*$& zVfEFnU*~Iht#PcP{%Hk_X>XuNU%cQMo*u`){b!q$NMgiw%D=Y3)z) z;IlYRF?Rc$f7L;^5k~~cbONQAwTas zbUMmwJ3R{cXH*t{>WXd5P50hPPd^3!m#mLG3}t?@Rt$Z##uzg`UMCst z*P69S(mQN4shy{!ck(i+^A^eIwhir&j2?cH(Q7Amvir4qV;8-HB&#pBfU*Z1mF%I% zi7zLJ9}$u}3@)Xaai&OQwP92e;Bp>@MtL-c3z5yUy_nh2~s-l3n_QHB`>CB;Mvp z{;>a<6a_z%tV3mTDxgr-dS;9J)^u6&S(?n-m?}^5Uh~ISz5T&O@oTg^SzfHY z4)dGnhFKi1Ng=5RVNUFSdGTjz z{6EXfNSNcxKL^3wAKt#?>}@aQ8=n{QWE&iO%H{6%Qb~jF4WA-OLRYsINW4$J#NeM% zpXJJN6z-EJ$9)UrxPP&nAYPw3P%bec&*WTinOr(tLXIz%baG5)Y>7N(eo+upF29d? zCf`LqlicIwl6|aPGO6+I67TPk=O1#cx*S+6J2&RY{N*V!V@-nc&v=mY_$>Z^Kzo7# z$HLd(|Nou%|9AO6!2hZJcfddBc1A|j)3QILWIOD6mihi_Q_R=c-+rT+JHC#;XLbIJ z7_b%o-X`{)eHncvyPKbheGh8Gp45cBnFsV{9@r;T^81Iv{J0d2J|o5BW2D3-hWs5z z{ys0y=Euv6#a9fyoS!H!=UziFpL<(g&iWF;c^2_}7O{O6@q9M1d>;9G0h|{T!`;zJ z;<<9C-j@Irj6zEof06&dpP#|_=dCa0kHqXEa`e-U&*XO-%kbS&d4Lap=~*PHn+qjn zbAeplm?u{@rrdL_fH#M$WN<@tINyfyA@^fJ7ROr%3^uArbsf@ z7fRZ?d`VrKCpXsQ%GI^mlHido7Z~H#XG`qHY&i$-3%+@B4&LYB{W)x+V1CNCL{4}Y z%3;rZ3Eq$^0ldy{b*5~G@0Mlh;<+?UJQk(O$_1&iXil=snw2cm=O&5E>?E;Ab~6&i zp4*d_Cd+(s`*Lh+)Aj<{u&GEq`EJ|R70F&~DRM9N5K<~J!KL!_+oBBk$0&c+S+)fp zk62IqzhBSV=>Pq*@&DW7=VJZNT}j-Zc0cnB{(m#ac|ZJ>{bphSalZW)Yye+Zy<+YQ zZ+bp`=<5wQKpa0TC1b*+WL%h(jgOS_38&zAR>~csrF`7y=)9Cs%ax6}ETtnZlj9S4 z{uhYe&G=-LB1QH$5c7J6TZnm{19N-qpmdVC&YwpezXZSbfcFM+_-1M=uRlonTJkQ8 zf4`_izMWenxpNET(ZYOrFh5T+m>b?%oGWQdawKJ0wj`4;l2&BN<<(ho5pEaOWE#xR z!{HqMecrE7VttDlOXPD{pCR@~c;(As?BW2=-wo%TE7HXW&YPE{%0^gwEJ&7BXxY3Z zai5zg3uY(CjF|~CWmbYXps{ljWDNI>p^q_sMuJS79w!r~#>x0;u`+Q^oVd9s%8YfX zGJi{!Ebz*eMeFlq&BlD$x06_Nv{;@N6lwgAp+9qwb+2vvPDE_Tt3>|nt?)aSc=Z7O zAFcee9fIJ`{Erx)-N_pt-wJC#$)koZ7!*W*H;6jzpp-JlFJmrWJ}v@9!uAAgPe{qo z6H+uVg8nf5+X0c1KajrOkZ5YXGt~4d=5`~a=?^g9A9D#M&>x6ru9t|uphtWQ?)Ryu zA5-W5j=X@+uV8M!lA3zecT%>ZP)Zj4AVsi#N<8>_W}ZBpnIm7#&XK!wvgOXaY)PG; zB{$|}$`>epZo0(JPnSyz(+%bcu#AUy!uEW*4DZXkiX@I6(YftKathYR@$0a4S#oey zy7(_m6+g7iJw?11r^qHaZ-Db^IIozUDDLoGI3r%>qd9P$IxS9I87Iz)6T6x5GHhzR z44)D&V<*8JO`H-Zjx!LCJ1>e8m&NhovM6307RQS73SPS|QJmJNh}-6LneLe`t9N9{ zH%|+d|2g;{V$E}V(80$99_4=G`@j&MLl3_%wR|6XeB}AOe)M?yhMLqrOtJ@uG0#6{5_A2mVJFaO z=KRd_4V`DMe}(ydGV}U0m_KALrE|Mn=1%nS7U$99`5M-_^a3AC?$jK~As0NDk|kLv zV|u2f&&-tDD1|!Vi<#+ibyk|h(<{0(CrvId$dF6;`;|30^2KKb@&%k#Nie@eY>(cO zCnt&bM?Es+;PNyHg!OJ%Z(o!w+t4OhuZ8n!IIluW;k=mqwE+K}JtbCVOp29hlVZfx zHC7zCZHG?}qple?8SXCeV&@z$6P)1f25VmHN*tKHAW^0+O*H&oecx?qlDMu)6vvgs z3uNz+AQRTa%P0@tXH%R!ep+}R{;}EvX3cm9{n}0Ve`Y1c{{q&c{VygZ1>b=`^S@g~ z(@s1q>b9FTpI|BMvtROikkflm&ynM^yD^{Zp>w*uhP19X#GEd>-$8mm^mqD)n016+ z&oQ%3NG5S1b7-VwGS|xJ7q)$$lFQ=xg^yR33kNfBqMek`BWE?002OS_AILd{k?9!lG%mc9(BEGq_?NXJ?Z1n zzsX>Jm)>)aq%o?}v4xC&2TU4pNHPW-mUQa=^ufm^V@M=^Pj7#0Jj}`cZmCi_{Y#WC zMN__{=bs`u&bK7n>4s!FU6*u+FC^V58Kp>?Yl@`0-jLKusd59(*C(e)68+%BX{mB; zcDmev_YHWbtt*h*)OIQ8`kH)+rw)(B_s>v&pCo4=U!5k$m^&U>lPdce16G*1FG!Nj z_~knMdnLS=;oD2mBACy|ujim?uy%98&yll3j5s*Q$aojHKq>A%`W%JxL~D3*)c}yH&|DYGsm) zARY`}ksyOs#T)*gmGkI4{6kN%ujSzBsLJNQo8ICf;y?WVn3^>y^jUhlEt1}On^`*~ z?bGd&+QnB=x^F|ilG-$WZc4J z8BIPINgXh3VT=r193_3`hf9wIq0(hxh;(rek;nN3nGbVw&nKm&h3Z}=dVrhp{|A*7 z|MC9-dJ7>Y|1U|+a6R}e`QuHJ{Hd2Dcl%6|yLd}V*X_s$?tYTmZI`6>@|V;;yCtRf zZb|MF0P}qYd+p)o(#tQfi-kFB@eY^p_bb$O7bV;7f@F+2FKKq?B#rq%>ezFVYJUM; zl$7yt=#nH)L_9x*d1305n?{V!pq{%&J#gPWU+%NUbC+81_R>80VhQs$cwdC~S!%me z_}NJ_^CQIC!{qUUFy4pH1)x0~??T?#!xp5q+}b(Ra;z;bpOzqtCMCc>QD(a)$V|6H zneLV((7P4f;tZZUPwj85=2q&i;WZX+_>4P1t$NrYi zOO*x80jEzVzfYy^C#Kj0zRMac2hE^-<9k+S@L*Ep5(wg8{Q942Deie=19^)YPm(s z+u(g}ak`v=`DuJi*{i>Y!ra6?MfOs^?INH1q3y8Vflc_5f4At|4LV z#mlT|G2-MBA!8lFWTa!T40Q;UK@I`ZZ=%2Sa`2O0E`HJtb#?QT&Z;SX(s7!fbeQ2U zpTPg)*#Yti{6CtH76-|POAY=H9zMy9OS+wQ1poJ^U+eX>@VmyN+ZmsHJ>)L@ z3(Nj^J9SdIy*YNLSs!N423&JF&KeOR=|dyn zebU5S#}TI`W#nl|9&tvJ$EZHX=i|xk*Cf;JhU9RL^X5O6eCF&=7Zu3wmK4ZW@J{DE z-(HYy%;9t%cZFI$9$$~8Cl-UE=(j|o6DS;}p~Tz}_y!X5_mXdS;(xoalkL3DhZ;YiSX7~w4 zayzl!#QUhEvYwmD+)kCodT!dtNVu!u4gb_J=Olf6f@C?ud(v(8_hhrD;|Y6wzF}Y2 zQ^|vUHock$^lH-S)!Zhw-#|%lyXKxHSJ7o^xr@uPBo>_^#-5@da~vJx_$d9>Q0l#q zRe99(`4Y0aP!6mrlKp7k%0k&i&hX)WZyxtT9=!KL=8KbEQe?t}L>V)d+&&>rmXY^; zr~|i8Pn1o>|2cf;iKD2+$3)9W`v@5}Axs9150Soh!P0X~pmZHYoF48koksaf`;mU~ z@fctEa5Rj^z?boZG2YVF&RgCe=Oyn=@RE1!(L^tK$HiOTo#Z2J+|Xnnd1tDxw3+EA zZLk9!-(46WZ!Zp%w-*G+lY&C!f04caVY&x|eto6#=RNmaOim6p@h?fsoO=9Ode_~O zH7Eqehl%e;jCp(}Yj#FWKQL5M2OXAV9#3XXCv{kuq+=85Bf}Bw>G5lh&zL~Yr!LOr z92ZQ^T+Jt$wl8t{+v96`xE+f%06>huG~dmQp=~}rzswJk^-wQ&^3CsarDLF zHs{g1$(M`t#xK&FJI@+TEQB^edQze#CydCC1?Q2T@{S!Ew?W<>ix^uw zcuH$0FOyunv{gtdV#<#yRT3A?F`TskE zKi4A>|6{5D({ksXd8TvuENXb8o~Oo7<#uwv{gTvwAIyU#g}ncod!(cj*E7e*OAd3p zd}{TgX?LY~MwS#$&1QawX6CYg=XWN}DZuB6^ThgGV*L|*^CABFfO%Uc3^TVB%YB&M z+gfU@!==-AzeWH3Iz5{NdN#4F!=0gjcbpzwF!Q=?^OD7r`T8<=E^vyLnf6iQ1~->6 z5#lr|LR>kX?ieMjV7+r$tQ=brFR^ptMq<b$?&^cp!{bL(CfLBkvExw}-m2y;fR}MR0%1 zZmqPM!06~{NNwOPSL|Stw;_uSw3*>6Z_mR9U~l1{ga31lmh#u@E-IV<-gvH`V~qj+ ze@M%mdFok8*S(U`KS)yg9x%A4u%4qnuSy>rK@aDwWDzrSCSGNq7Cro_?6+i%u55O; zl+mXvrA{hkZ%*l~Z_#&BGMk?5f@1o%CGx}aQYrE%mG9P<$x~0ndh6G|W%Ag+Odi1b z4xDeoIdN;Q#L^RwTAwaQsIdaw6J*D{IPs*$@^Fim6|PaT&>>Rh*+X>q(i@O zX*VQPKB33?@xTD&Cm*u^`GY>*@)3KTKj`Nr?+<`;e>e|BgS@28U^G+(^AVmV<|E)c z3eKqIC=Y2lh7mPa_Sk{)Z{_6qN-gnywE;tuv4iP8(t5V9yfw>LT4Mum&G(ll-xYqv ze(y`kchZlYO}x4X{#z^4|FNk+=6^@;J1(;y}~+7%*r&0Vt#&%-ss`Q39=8?yXMA--|QIiniehVr1PBa7L{Mq9JG) zzKg%V1^bpN{Jz!b4RANHZ!ywCT3`c~vE?}I0JX5^ISxG6nb)Yy{9D1l)eIkLrTpiZ z__vzxXT*Q}{}S;({G9s#xmfRlq9Tp||9t(Io&7!6(C*W{zjw2;&cpx9ocWiZWe=vF z*Zp_&Z3^hc6}lj|YsB*F#P$?=v^Uvm$UVn0IFWC1Y zhQt1y-uSrk=5}k2TlX*(Oeim4xx`zZqjw3wy??w&Jb5f#4M>3v){pWI=+WQdu zLW0MJ%f7K;vdfO#%=~%##8B};TkzTKOy%1wdJ;v`_Vh1hz!9+#AZwmkB1L2De80@L}n^Nyv_!~Ab zW&`X^{F^CnGjod#D0_>V!oR6K!Umc;@t(?FHN{JsPxm%tiUB?r{+E?MxjK;b+U@xN z!^(>P%KvI|%F+Aq|DmkpPUiB&=gG{Q5=Wna^)ZPXdPHLIndm_WBx=w>iR3tHNEqW` ziJ~_Ui5*1noCxOs5yQg_{>Mg#OUURjIlw&X0Q~*zLd0imux!Ogw~Y;w?MO#oSZ;R= zk!|E_Zx!q}qqW5SRoKKb3v;+H;JNeQK9l#EIx3j>9wcL7Ig0%W1NsC>uinAZ74{vv z2g-+?>7jh;Bk!><@tq#9?iWb@4v}}TleY)bSHbsN_3}1&H}8orb|-IR1FEKdOlpqb zHzoHsRsMRcBK9lu=FIJzz+csrIM9?F&=mensQns`fHVHD+?!ZbfxX(mU-8EVnz{16 zNclH2^Vc}gY?hDq{~zY$ zeK0>LF#``u)W8E0IdH#3um>cZ<1o&5*ns^K#$#dh1Ve`&M297eK2X?*FxfvMRDwo@ z%6|CoW!yP3Sp4C>13&fU`Y_+ofwB#Gj|&oSxNd^+X8e5Cd2^?|E5z-{9lbTytV)Lkn24zvp+lHVq#Jd zdq8}N|LXt$eEt70`}>PY*Y;mcdCfn5&dKKytmj7#*e4MvoNIW(@SjkQLl}em?U7*i z1qBZbel2RPJ>=d!BST*C_a6~t+};EKop9fVeCVNV85<~`^vXApx3zxTK;7{yMr#gg)$(_>~Fe;(R>C)|~Nkc2XZ z^oRR^y|CXaf&Bwyw~BKa1P_1C?am>AvKRl_hYk1-4U|2@Ifj=XG1?cu-!?i(w&3%g z^vpNHf87M+5F{S(UxuH%Ggn^-bDhu6&^a4&9UUs;ct1PdcQ~Ijfc)MU_PxmQ-BG8W z0rDX+{(bf+w&@7-&M;SX^CFj1PxtnwZu61m1L&g+4nTp@axlI>&{vvqJ-hN&?u}H$ zfkt{8-)}$-U`t)l5cZ7+z?z;GYksbJdrST`H z97wwPnt$|+6VHRY`bh}u`k~5yzya9rgZo~CyFdN00NC%quY5V5y9WixUTnZ`2sS~# zG?2NM#(MR4U;Nh__R4(|+&3T(*2q?~F1iB#?pn)fjK|k!j1QA(pKlu+fnuv`P*s^ zfPF*ifQI)PapP2E68<&Go)lQk8%5_5G{? zR~mn=|M_0|zxMyq^eFfT5mVLYL*O6GTserGzZd2P_knOHhWf)_ZDBh$;Dh||dtdl} zHax)Kz76)C`23bJ#ChdDE|y% zH|4uF=Q}nV;7d)1?=r`4M9pW|fU@WL>i0Ix18u4Q)%P0>g!51s4}r1S_bu#|zezl< zzHi7=8YqAKzaeve3x6GLN3MLuUv1#8_^S;#RImYJz$^aKytMxV|9r#$FW*Sn&l+&0 z@+YSR|26-U@Yh&>Ktee0!T5g=b`U_!-%c#`?dvB#jNbT_A=bmZVZLRkzieUj#`ial z2#}5Vycg_Ooz@?g~8tX_jcr91xK zh0pHD^@AU>_war8B)-Rfgf_~)tCzG?_Hb|31NNHFVb~ZSHiQp1fxp2V{!OskrhIR` zuMzQG**7HSD|_{OOWbe3>ufdV4^sBtVvGMbP#eJaZAbbL$MJpEb{pDpJeKzw&-2Fe z9BjaLEbnW_`w;_d%|5TAt;PVjt87&;x2WL+6aPlUfJQE868tBdY@i{zfcnqG|9)nK z!9O9vudtHhzxscCV$wnQpLmdybBX+aH*!Yg^Fa3d2IF@Idwf3--}mDjD)-Nj7jbkG zzY*Xy#7{g~3*CS=vJSp(gukq2Eqpz`z1HmW9n%+))<{Ufe3X$$-JxCWsOYQ^>EEql->LCs;_43-w| z21~dq&&K$F6Jou=e-P|ZW8zjLYQKiO#+K*V5CaUK=e7-MKwhxH_ZtjW_CC@8|5x@Z zTh{xOzYY9t@qcBnYDgWR>{a#Y0X4w?P2zj7?qdUcpnW zf35Mh;y+vP`HgU2Z`PW@KH@RNS3HLM$?6ekH2m@H6=VI0^RKzjgZC_A!ZhSc9-c@o zKAQI)Okb`)alQ}idkuj*eTQzSGkt`1uy4y=vv-klZ>{R(%eh+Pfo_v>@(^Ezd3h<=X^Qs1|s-nSV9TX@@G z12))#4e{TWHGbvaV6?B;D1WmJG#tm{)B!eQJf%K0pbh+OS?_JYx}UQDoBS*Izb*V# zY6rH=18m{0QX8;U|2M^dSw?6*_jZ{hq|xUc5?tbqNB;l8qr^RgH%8|^3VXt4_ZbMbW(_dvMg@6-oQ%-zRg zPos(JgZhO?A9}Jq2ZTv?_;(ww>?5VqP}byl{Qchk(uR0%%;9_C_x#30i{A7^dy~Jr zUZk@M(XdxtwzMJhJ1gOE&gwVeJKA1n)i{iSMCkW>>FU; z%Dz7F-e%fDLm&8)`rcf6MqP2KtIB%4n%pn%cMAOLylc)_`@O4Ktfm*^2X>Wc| zpAhM({rP_M=Z6sMN3!RFeS;qj2sia<;nfEI%Kj~wH^*;VvOe3a5B`k*Him6OeAS58 z79Uog^m42%{F&p~@|uSDzVdINcEI;B`14$~k@|2~89opD`s92Qdq1hq{+?I-i3JTt zavR@QS#p34@xMOt-@;$nTd_W1Jp%U1-y8$#Qv=vg|663q{S|%RhB}}Db3uy@RN()J z`ahBDGb8mH&Hd%Uzw+1L{<)u(eW|p(?C!xi;m^I`za93U;rE;ITTf#4dUF0U zeBK?uSU@c_m)_SrxX)!iGy_|h!Ct7zJU*3t;7p!yVs79-{1^-KQN(%GV3_x&N86pA zU01Fb>pTGNTr1daAZv1c>Ca*t@8J9I4hUo|#^3Pw<}hyxf34k&c&_yuYxK6{cjaH7 z*l+l=Ii?$No%-HJ<2?RviyhnYU2L!eTmBwf>VF&RMH}NeUSf?MSyS(+>NDrF=KI@F z&sY%ytoeJauyt#V1#q_}wpov2BnH%{{xdY%#J?Unz=|ADk3AsunFm-?16t7!wALDc zy&uZHzF8JKu=st&(XatxfaU_T|3Atr_%@N>l8n4^BPE#qT0712|4QLc{6A#jUsCqd z-2?F7NW4|e4XAaSGB;$l0qdSH<~26t{s#1Y8Za-_(U!43c439>SYta@ z#0abY-UfFa>+$`Sy$!XD75=Z>>k<3wVdqxFHkI= zzaB9_WlbDVTd?rArY2B3FmBTes!uLZsSQ|D2U_C4!Jj&S_;2BVO8JxjcU2aD>c2v2 zibLf8hzE~z;!DeazPER7_;U}={W^Sp9p`H;xqBtGy*uY*K7aEJ&c_t?KTSeT_>2Sf zvb`Z6c>Bvp=IO(U?}K2j>fH^W?~c#o_nmu%NtZs+(yn_XH9fx0{$lm>*6?qI-?xT+ zt3km=uTFhl`D+euOgvFFVlHpX9=rzle|@z97^)3exVg81ce_bA{L%yp^Y_ss!QSHH+{I9B~>`@)o zfz(saP5hbv zCzAh9lm8E%OH8a({_6kK|H}VzN%>FrcFhfYzLdWCYUc7DuwO;beyP@S34BsA#zxV55V&1b0^LNyl+nsx}->PezeAI#(}TTk z)bww$Hrt9heoNT5AXhYpe+#%ZRqoX9%HI~2jo{KqeG?uw^k$U5C5Bs(11!?{TYb3J zXTDdT*wui2oI2W!2$A~3@qc2xO8xz>*c0!qsB`L5x2Wn4@|8OLy>-d`b+P@ra90`p ziU0LrZ-wt$_}7JhUHGdF)TIun$2>q)SM7nlzpB4w18N5r8?Yh&EBn8}|C)tAzcXFA z{J%&JNlJl#cDBLaZ&BFu#q`PC>E|qmy=oEsXX6`goO|{839uiHpN*mxAA%1L!oT}> zXD(+bSh{s)U;L*C_8q%N$fsQrr2VHc^zH)a-O#V4es4{VX{kA$T%qh+(hF$D8f`Pi z7Vt9s9ggbr4PbAG-bL60n!Bx7r?H}jGx%#<=P?_;s|`6zecqZi1Z!%U24g}E z{ubs|tOKa(^0(GgALlhzaJL#6AXeB}9elnP{OgS1Ib&Y)uS5J-DSvC~zq<5+>#z=_ z@xLzfKV@%7xmU0OD~^@Fl{pS*ET~5ws7L=-{oW#jKQX|D*l*3=psx#z_+e+d7wl6zYhhCZK79$d`1Sc?BIL9@vPQ>p))xqm$Ib`-VKFno6a`$Uy_ zKh&!$HJvi==r0{Q1xUNjq0*^yoV4$lBp-DQH}&c1&$p&`YxHmo{s9Jm_4#H)gQW@U zh&r~wPnCZ|KF<~|4XE3dzjCclOg8*meHdS_i!IjUJJn-8sCm5}^`SN2wE^E-+1IDP zsAB{6@mukCXpYyqPPy0RGYsMD%HNvT)Z??2zs7v^f8}3?x=(FDxz}PIP>1+mhZs<#@D z|3k$8-Id9o_#dM2pKHtw{+s89KA*-poQMC<#SdqbJ0~-5b|4>*r*;|%_o2jkjq!cD zhDzTqA<_$f?+o{L?GQfR{?jPw+A&!=wM&rqIhthufIS-gwJyiUjU2ArRm1@uje1V~nmBHa z?_04RU7z(RL;U_|J?>ZTb;xgZls(K%!k_tjmA%@)EB~jzQJc@MP5f6Is7?H@$iEiz zAdCOkrUs}<4yZ-^uY(;JBiH-XtDw3Qu#fTB#6-k(02c1`*av1g)=_OheP8+0|9x!K z|NN#r_1_`(>-p3FdBpEO{?qlp)_=e`$H?y>+ufo=<}FG?>p|?lcuS_w$#D zu+khqggSmek1&IMw@yLwDSW$h@RLteo!NiWAyImDOp^~jh&0yXTXljx+;yF%1#5QA zy3@bIhME)mn=vnI!d`+##Qa9&>4vNuH)GwXC2Io)cg^+c^Z36?=VltKHHOzCf7gL~ zMX7IFVK?gM*1VsU#{4nxXWy9~tFK$Q*P%X8_H~FAbzxj@B>ef@dh{qY-`Ar4tEK!o zR_@B*!oHRrkKzBd*$1H9HU6vbtCYK{Hgmz+<9KZRYa3AZ7XHfI!o41S-&eOeR_<0@ z8(_utLCXK@Z}K(&M^UFA;l#Ms6^7hPfNH*+k}M zW7#V|v{yJWKU{i#N?q3>KsvSO+L(4+1Eph!2z>_^m*L zJ!^H%$@?v|e@ic~Idik7%<~NX_Z_l_+2Bv?w^DJR!I=85F8RL> z@!yczf#w3@g5l%DEcJb5ZZ(?t&)RZ5-rwL4Z)L9jUWeFHTWtW_sz=PRVy(I&e}g^0 zZC;agtD1KHQUe>P$#tDI$NA#x@Mk}WvahAS&wk)qT=!Fx8lV>3m3>9kVQt95zoHG) z#ST;ke`Sx~D|fYlx~}a1`BweE;2PKGMX^qEi2r|N7yh498TU&Q<`g!zA@*8l4N z%cq7sAI)$3Irj0BiR`a(g!{O@Q8JwCWcqdum+r9tRC#~Q^>3eWT~vFnU2n(lpLEEU zZXd_WI~{dhR=Kl2$6lNkjLp^esr#D3zZt(DVe03=pE|z@aav=)vbSM9usLhO%KugW zMd#sgGJI9*HLc6ZPj$)vulOr_wFe$omUZb{)EgN}PBwA3W)-CIf3L>|2OwKoaAHT23nnrE=0Fw^1h+#P1FMTbx)V2IeSx9f7h`oHyL_J11uzcul{nHr+~|Dqp@ zpHvS2oFXIsr=^{Qe**k7mP`tMKAb&t<9pJ(>m4EE`^L!VJ~1-5M}*<`n&UtG*hfC< z!1c`Ssr}lg$*}gB(zY%0_YU}c#|rH6d1H;1Jvq(0!=JuPV{*Utb97y%5%onQ&U-`H zG$8L=^SklQ+2i>ZYe$wk&6tP3%G1PPWlWq`{rFt4r49H$PSuQpJJxsI~0i4D|*e+|9OeubL$yrv?5`hUvb z;`=r5dzJdWMap08pq2yQ&%&Qk{l7N+Yf}dpHeikcMl67TJ+2L`=feDk>x2J_e@bdd zG`|5+sr>ovha0!?|D2r5#Q%&1lR}>lA-0c#_o$xHG6D_m#x)f9edl&u8}~8SzP9JL zD%x>PbjKX&_i?hk{UQ6W+IvXrcCcqJmim3mitNq&8?z^`A!~TXx(q(phPQt?`4T4|BS49rC5?2hsBO#~#uO zwf=ueql3w@B>({u;}brTTmwt~aQyHJ?4PAJt}FuRdRsUS@5i zqao_PI^=x||C-c$hVR3@`uG5;fs}uZ33}UKs$mze_+tY#$p1Bn|JC7N9sX(qHK_S& zvM;2Ty-9l8;{QfoAO_TAE};Hji`Z|G+Cy#44`%$;4M_S%fTToAo*#J+wV-*O6) zChQlfPK;MSH|F5#r?9O>{ipZWRQ@opPRv*7?Ha@eBc|iSwcuZyny>Z*__L=}$5*^7 zaIXpb+Wa3y7XG!U{guDgc{P;39o+dYY6BJdS0ndp{x@O({HtfQ5(8&Kkl@({qa*lf5y=|cMX%{H{I|fO=j;z~sppV~?-#F}+FQYr8%X=TN zF57Ooy!A2Hx_-#D6Zn5ia({~s?7JlPH)WpJgqp80IiMk9LyZC5ShItF1A4j!fBJLE zU*~By#9od4*6@GZnR<|#+rnSxVLAubu_pPTIyRxa4LeZ(*JHhpn!Xml&!9P6dDme- zv5vL*-Hw{f0rfGp0Uc|QBb2?~u0igvN!+Q)=ht9wQVo8`L)jb5*|SzdHL(K!aXdcO zSE|wft4{y7I{d4#|6AEtV;=B|KXKp{e{z7v01JQRZU}!@_UiYB?_2n5>~|sdx%$f2 z-xulpKk3c`qy9JIKm2nm#s4k*(@p%#$p4ckhCgrL#z(pn>-*sI{W^uqur5h5ty__d zXrCnSeZ-#Ib}L`8Z~hV2x}c_?;Q!QqP2t~=7@*88>}|;dwz}R*{I8Gy>)K3xI9QXD zZK%1e;IBDb=U*EC8&Gpqqn_7zuRdRsd4CP{eK@PC!M!?jz*pkF8pMbiyq^)r$@v!l zuk8qb>cJY+g(~%NgEKY1j>^5}_+avO5V!eU{J%Q(r`)SkhZ>^(ug;#9YOps%{jdD1 zvG%RZRaIFJuc|h{KCr4tN9Auw*{kRW8r*ecpI{9Y>qF}MMlGPR0o8S6ev9wdapC$u z)BMkf|5w!i<1g)I{#QBtb8?EVq}({n|NU}``Y%EGyV-|4Z}*P3bb)^_;=Ns$44KiR zNcy*rk#|32&-I5~Gxs669^NWtuWCXZXhQsNto(`p7XA(Je;fEW=*hYa{B>Pc`?IDV zjcLxU+;#3{;jim2%2xBd!Jp^Xpbn^xJyhhcc3{|o+5|TB%9r__o|^m?b!~f91a(>v zuZ25)Z&7uP1M2%`{x$6IbB+11uS)%)+^bTD8l&EZzmfmd2H;=wSNq`SpS1Cj-tE|n z-z{5abT5$JA4d@L*>~NRHM{qz?LQ*U6Z@N?CdB?G?bySLEi`Ele`3CE1vOyaXROn+ zRUc!`r|e(x=l8sn{~PRssL20K>Ojo{zvi#8Kx2P(^1k|i4OEr95VlUqN?7MEunl1d_YD<0h0oTH5%>Rge>+1Vv{emoRUK<`4Qh4fohp5f!Jk@BnOEcb zlxp@t#<9)=suCNjYWpqKm_@eT+u&+ulK>2I^uQk8&t%s_$#OsK(smO>Ckny}mc8_m%&f zT%V{mP<0}9LH_?O@&8SF0M#b=@m%;b_cQoY0~&EaxmWQ0iZ)Q4+^_7FwZUJxSCG~L z8XJ_q=6-{{J^Ux???1p_<3GR8ul(8n9Z+fcpZYHW{`|I-@=qu!|Ka`?m!ju`--(yD zZTKyecliyZ_xOzz^ftEe*8A+cZp*b6#Q(<3`_%UvF*anh#Re?=EjizcHNU!@b#D$a z4I8M)-{`#(m$hcA&OE^2PrQALYr{0|Yg{+-yT*9-V7vi)L*)93{M9brr1pCg#&43# z-^A~$+nc2RuWVnj*LZHR1$uB|Mw@4je6d+*-B~i9&7cjxqki~d>^%je=FjD^AF(vG5pQ! zZQ*a|6ZSJP2dv+T7=Z6v!`|S}ntvT`*JZz+sc%m|hkC9y^;j*qD}R;pua8f*guf-P zS5x0sTd?ql{TqLWzsB!3xt2`%SEKH$#=O6VlbOH9f0czlV>Rl1wGAWo>;3S56aW7; z|2LTjya|7e{mTDMe$UgwU)lfGBIW@97yVY}0_HgI2K`{Qfj4zj{_F>|aDO!#_rafD zvGUixQOyaa*l+O9$N%&5zu^CXgugldSK|Cn`J3W@4)MSA{wO=Y=S`Y2zk7>)I`D7Z z2KFlWw`hz1f57}6|2JYj|4)!@TexEj4cf01n~v~j&ClZZby)|hL;SCe4b-Lvs6+jy zz5CkK>beG_^D(W>lzmm|vH!2V_kgdm%GUowdL@LCgkA)t_a;RF8z5FtL=Z$2#3-VG zgD8rOh|)qJfT2V}q=SS&FajYE0wE9x(GZQ%h%yuLGN=PGD#N|||9$p3Z#ZPonYn-F z&U}6!@$>keoc8YXK6{nD)_&Kjf!?i$zV+ihe&qB5(DjmefBXR}``80LR}SWfeH~xI zpL2kd+CIRgiw`^h)>;_LaM_oe%-+++9sS%>;P zu-N#r4)DePTm3Kof#o0lFYbNt0R-_b_}~ZVC_UiFzaKGQ>3x5=_G4e5zgzY-AN<)b z5-8iC^`V>pP`B<6re^S`<@`(jud)4it^Y0m#D90Q{yRS4uDG9~YfUx{8*v|XBkX;{ zSX2KxaQ$Weqw)X5dt?hZZwXpYK=xhoA3+R2{JZ7={4)o_xJNIHy*bL!g(^<#=HITx z@!7?{^tbr0ORUB6kN@Y#UPE8>zvW)~AN~c0e_z&rzW9E=*nU5JKgoXp_Yi9i1W+F? zfVjW77vEO?-8w*g`{VQb4@6(!16cm?2Yt~$;$PfbcM9PR7G z1$~kKK;+pEpHH0o5c?JX`rGm^zJc_==7KNlK5;L7A?|&|J+fbsf62b||CRFZ^8NkD z{aD^*|J{)OFXx|_pf~#g{J0;)*B-_DFY~W?Aiu%kzcTk0mGgh{i+!^H)ag(S@VINY z{`=%K-)ZHa8nagZ@8}2r(GyJF`s8vNy5zq><2WP!>)b%y4D5e&OYslyEhm^7$i7e& z{U3o3P=z%>ct`d&G6zD1u7G{{;$L~%5Y_;S)hk}7Ibhe}b}i0+AZ)+*_aUF}Pt65i z>TdW-$HTvLfc!q`1Piw=@F#z3eLwl|*na7LEC1Ap^t%`NhF>f1?m1xR194{Qet&&N z^8x;?otLe5%f6%g9oz3u{>PuVuOR*JL+rJhChyQ+e z#{N`8{5N#*U-vrX9{XPx`(LXG`Fs5TC}Mq*|LU#K`_ld5A4ISo3}?TWbiUR5>;Vev zGR1^)Z(ay-fKc}61+jNS{3~8(bpUZ7#bpA3_>acV690bG+!6mitOIsIz1{_z_$2Lg#PS^mGW{O>z* z+}i(@8?HV7?`Zw!@Za~YIX_j0|JwD*O->-U$%lt<$ z7pf2ks@#6E3B?Bp#SU1Y14590@gIy1P~Jwde20I_%D}zx9+#HkKb=)zk=WA`26DD z@%JqM?l~a-CI5fJJ@de~&m`l28*@OqU;MLfusI~`iRGWQChLF6e>wkF{;yU1$0h&p ze`JHh|Lu3qamjz9%ly}E#9pn&+=Fo)`>~1tTK=11``z+it<88-1^KUn4Y2&9140G& z90-y8bDwP>IRNErt^5-MvNpiYe;_$N<^HO(&)SQ+i{jr0AHc_he@FIpESG=9Y|!C; z^5xw8`w{b%AK=Nmryn4n&&s~^g7x{CBiQuKF5yDz=&d+TJ&vyZ3TyB~{xKVA>e9ANL5%^#ybLWnEa93yc?%l{WH{#mOf!T-W* zrvHnJztNfk`QJc~5o`ag{MQ<9>cW5R2JF{s#J!iS0WAOM|48Bj<@_W6Ra=cW5kUNh zx0__bI!rcU==~7Zf|>&%_yWP`fM9&UKz7WKXG1v;{M`4;9-0}_K`XK`@_2<-&Xfa{)zeNxhwd0ulfDq-ydJZS8?Bp zvi}SG%kQ^9_Qk);_y1e|eS3|+!v2eYYXfe>4`3gO_7B+HqVfy(+Wo)M|5^C|m-#<^ z`m<}2|407WQ=CX`(G4GeUb_3jkLQlxcGs+*B5IB|HQ~P|F`(MWe>DDIP5FP=|0uWo zTmGBN??d*j{Es)4+f6W`_<*6}A3q=jT@cJMm^DBUHbC+p$QmG!HK5Jsz`5jK@!Meh z_-2o2|J_XZNA?A`4`Ah=`_Al<=Nv!Kmpq~DyJ9$YttbAq_80$>ad=l;-^#XZIr6UO z1v@vaZ|Cy;{qQ{m=>T82xBL(0wFj@F`xWESnoqtSx?etkUF(Z`^tfc-o1<*MmH(SB z`+Pn(kLS0!=74O2Umq9zZ-sy6fcBDzf9)|+K9TyL75R^6{eLa_UwJV9*hXrMU*;eE zAKi%DUIX^Mm(6kw#`Nm`{$k-tNX>j!?|4txP1a@vf6pUdcYrB zA-gW$-}0|qk9ZoE!#hXIzkU9)?$`RxzAoRN+_V3~F4^}d4&^EPR`0uI-{D-m zJFqrDdLO$l{w??T`@XkMa_Rn_Lr zi~n!|`M3NN2MU9K@os_c555upsml?74zT=lzi@zC{*}|0?)S$Q=>9s%zt;GbsJZS< zJwD5`bbuQ^a4%RtfHk4kev)sk&MBLlYbBQeh~VPi~oSZ#E+>p?LWk&_sjjhK^}g;_!sB+XFmAqI{I>y-7oj~CHIc((({?Y&9zZz@*s>FT6o4fcAYk};e2PFR?tN}vXGY3FWhe?+IK<0qt z-ya_!03X1U|3Kn*vf~l#tCjpq<|Y4rz2ILypa=h+j};Sg*8cv~{r4Y2++X}l_Bo1Q z?c>q<-I)XB{ClqJWZ%*Ef%u++??W#B9ohF~4W@OUl5eoxdomb?sfF!UvmIh{^8o6`r`i7m==QM5AfWl(*OTr{;4gzksbq<|6A{z z`E%vyaVD~%i~lJ2k7oTBi5`fQ{%8Fs{;Od7!o0_WyW63Tw4h^QS)cq4Ye4ZIi4W-TUmgEHqUjW5e}btj-W~q&0YdNr#D6e; zUzP|HVHtUoQXRSa#hF*E-In|E*m>H#qt|fb&ZC`(1^5yXMy%zy|nmufKG^ zK5GDL^RfLk$OTtpE>yjq zJsnMm?>4*4e@L?!s{=yCKiqrrAAtM^bVmQn{u2WXfPZIShqzaMUooEA=;7-hj|6P0jOG-}DS8OG<#pM54`R{WV{71rn zJs1Cx#QbUy1Fm)*Ho7r;_!`51W8}XnzJ4?0za`uY=z>sufZ(>SIS|M^5CZTA1G>UL z@*hCmy#Qjnl7HoR#l3XD_;1KMtI^_Re)9i3cz5)_AAOj7sXL{dfR%sN{x6@`2E)IOYghm{IdIgZrOKneWm|r*8JtSS5xvlvj6D* zuoiINJjR6ZIHb)u6GR*^2tUx_-@gODuZ!g0( z=lqfVfZpSb?`8h?|4aDC|C9V5E&OPc{QtlFc%h*8fayO6!GG2I<4rZzfK}NC;_zRk z341v33B#@@#*h6E!TyIf8*74_1LQxDHGudJARZJ5|NhtkzmCj-&hSsK1wZ0I{)*qQ zuG9V=@$Tex+dam;;KaPWkOQCYd=CCC-{M`qAbh9nZDvJ!=D!Tt1=V zf`V+nn}5r_^Z|RfEgbpR9Pr@2+}CF=$_^;!BfsDJdh++&DAxh*^}gl4A9I#9-_>+~ zx!>=|zr%kI>3aQEu9IHtHV(NThmMS4&X1M+mmvTDGXB~7xeER_e@cx(@!#uC_>UfC zBH+I&Yk(^79f97L?yqtkd-&x0ll#%yKeQ=&U);ACYl5%^;y=L6zdv)pUpk;8NBH+A z7U;)50AJ+ahnj6pY*%wYbD`Zx_W!b{#*2C4bE8`(>~)bH(DiY_8~yL=!N0h-I)L@R z`~V-~$X52nFFHW_+ebctz+=T$Z7f%EjlH*Ej`(1E#J#oqaId4~Uw%KeJ<9o(y?1QB zTkpHLM@PZGjrZ7mpWEMa*8V-l+1QWgJh1kkx$fJ8Im3MLy%ElZo-zF1vB=A4t^Yju z-+yiOzgzxwZ<#0mfl;GOl?LNX6?}m3dhm@62qza@g?O;^e>ky!@gFR`5C1`K{)1Y@ zm>_&W$-gK60bTG16$7N^zP0J>?X~<9>(gEj<#OAPBKJd`{Ytz~{JZoa+*`ZongiA* zz`q~)5%Dbf4}1XskM+LKVE9*FM{+OSFYYDl93B1@$MeCLE9YN)YYsRzUvmP!Eu7~R z>(jd4;oZ^sdQMP|$GzTHtY0?Y+I_A09PZsmaqsP(2X;;1Ui*172YldN@a-nv#~R8U+p-QS};k8FMgyYKLA*L!g9{4F~#-`_%yui$^Qm3^OX zF8(>9*UjE7bB^@g&lKk)a`Qne_|0n;bk;r|F3C9Lh#s>^J?Eeb?-ty^W2jIUF`+`DQ&$mba2W!u#e7|n!LXM8kmw)8= zNY?-7eh|C%*M1J=bZkyn>ppxr$G%(Hhhy=~W3A=Ht6=wW@Vs5;x%s#Lp7_^(eusZ@ zyo%>~&H>qf%RhUzw5QMd{fhNT?$P@;-YeOcoJ;OKIKSetbb;iaIpEzT#&~y={JZ4d zugfUpf0Xg=I?~#IH~(9AXa6hsKkC8%g@T^_r~Tvy|6v~dS0)Z1?xp)B|KdLg{)1%y zn~gSsz#sktTa88jv0dl@KYRf{Y=LhFbO8EaK7g-$Kw`V%--nv5l6^1qK^4|>?MA{K zYd!gXzBh8++;&lVz=72TivKvVp9=g-&)a+Ru<_Q;yScagyZ3CC>v!>wj<~|+E4ELL z$KhY`KIL+(o=4uryCAu@`#BxGFaF)!OZR)jzjse$U2yo9Eko=2(UpN2K|CWFBzxem>DShtZU-Q6A z{d(Z0-J`KKzH5Cy4V!Ix?6l7HV$@Yxx;cI00=0J(Sg z*Sf#WBk-?z(N%u1i+_iE=}0~H?k+ux{FD2$v48j8J{$j&9dLM;k1rcM+cF{P{`w|JlfYD*3;6E6D%bUS3|)!Fcc(7zAzy-9Rf4 z32K8Tpe?uw=snMXL&Sf-A@`F+@6XNh|9-xB;lm#NrvB_#W0;Ho1~JS5;ymzgWgq^7 zi3tQXA;x2DP@+Jmgx%c3|9@o3YusNoZ`0dPl znFD^Ti{%Fj4*%8$2aHclSLS+M8qfRIWxjT)hs@l5lQOr>^1-2OlM|M)+}|Bdk50#xL`C(jK8PlIy)@&7h|`i14cpnKn`KYLdn zW-8Zn$$v;a@;vx}()&V1{;lp8|M&p10f8-D{QF@Ce9;4b9bG!Wk$-RYf;zHqn?}wFtaqjSMbAgxn*FD*)$)Ni&RhPk!eRYcA zS^g#C!1{x3*;iiI?&pzS;5F^vw6-6@AgB?$E7DfMK+259#19yTT%X(z~gJ+Suhfa z+uMNnZwWm4Z^Pd`!2KWwSpIX47bG41koYhAKmPLLxnte?P5sGR@?USX31tl!Qg6Ho z!3PMjHsCVr8GqRU`2cSIeenZ*u>s=W2Oq$PIH0fOpEaOM{xuJ# z7%!f?;h{OE$%E|sy%8PnmVY070P%0-MC&B{L2q&-vj6_n=JY4Vulqjj{txWGYrPMz z+?OZr9sb3=FMFwcwXaefyZ3Hd?&a&t9`L-K8_Ms?CRiK6XOzox^Ixv>H4of+zkF|> zd#zut_htJf^A2SD9XpTAYYymd%e~v@_r>Rz>`U)^w}tz*LoEL%J}v#2+??+J+{*qh z_`kybJN%D>&qsl{y%lr?lK<+UCb$l?2C@tHfU&^EKl-2AavM0u2i*Ug+oS)~AHAc7 zA@lIxU@Rc7M=m&+T#%Lh>xktxA+FaL-QEOQzy31+{#pmLbj<;Wf1eJQ`S;cuK^I_AVuKnG%U)=lBt4|Q` z+COW#ch+$5Z1-+Dyvr6i+-sfh*aqf`&Er*&`SSdp*7}akcewYo`&Z##KAzV2-tuku zUDoGA_j^nCWA}YKx^%xcHs6tb@AiYuN5v%{eO&Ts279#L+nJS>4F8_~{~~yN6-b|t z0QZ7EpfhL&#D6W&2uL4jUfc!7fE?NX?4$YbsJ9^XAJfi$eg z^(6nTvHf+}OKIg_`a&||=HDKP2fBQK%lvEammvPF4Uq5W*7-V$dwUP2?!RF#oudP6 zEZ@D4&*pTf(Pm@%;@pW1$me&a(=I=xlT34igbJji%e z9cH|$4F{u*7yE&{s*f{Xk#5xH@7kk`SKX0-_X!O^BXAv`X~Odkn(@BYd`DY8(~i$G z7rfB%<>2qe)Vm1jjV@rWc(vvIZFzq?&;fKD>q2K;CJMVz)AaOw3+=)i0GJ?H>0J#NQ!YQyysS`RT^&AH|+K+F3%-oxL*0F!g9 zAUnVCqtwitoV7bLGj;#JBme6E5DQ)eqrqSxZe`=!f$KpPPy^I+|E=e>J{S%TSow#4 z=D;d!!1@!VrK!92<>tJ9PYn&OUAN&3=yi%TAYNfqfpweZ21qoIYK)SK#?_oIZV;=dJ|bVV~3c zcx_)r@Vs*_ozFR^p0nWf{hr|S`z;u!#_E9gYutKowkOKU%CfHtemC!Tkj=HvI!P?% zv(nGg>Cd`V+~fDJM)p^3-MMoa@t;N1gDRl^OA#Et4z!kk7|5=RTj}`bpaBR2vH|h| z8vxk=#|PXzZv6N^oG2;T^1=S>x3v#2J3l{JeMS`z04dZ2+jgSl(=^_*;~&LGuJ^uA zKY{nlKl5pY&+BjZbJQKt_oq>Rbi2;SaVy7EKEG9CaN$JC@e@T`+<1@Yt^l^{y?+KC z-^KUy-4@Qd{^qE0T!|A!j8WrsgR$Djt}#3BP33dKHokw`(Za%QM?Z4Id0beyo##EV z?Px*4wnO>(DcJi>^yOMFxfl1_GBT{}!)My)8HMsUoO2*ul7acf{rw8(c&!pB?0;U zlKneDFCf|1x=;STWIhN;2gnBK?}k9SK{{Z#w~zPQfrAEJVDC@<7iFh6>^hjUc*owX zMd^F97Sn5L$*!D(Z}Z&S_Nd3s-+J!Xa3CjvTIC75vcUn~>j}@#<>V}(r}1L^+C|Ji zA)bE33%Bpd6c(iJ$(&EWv)I(k%vklk+OjKS-jh3q7}+*D^BZTI}ZN z3Fmzr^_}XYwl!n7zTbj#={)ltY|qS$+n%|n0y5__t~lOXj_q0d7HrSj>q2Jc0zS8p zu`YzOcu%~yBR!tpEqZRz)xf%Lkz%_R@7v=dIFAPlcx~aaq7&~@2lmj|r((_r1qbhg zzn6g4eDeAG0NMREKr$|WPck0}qyyv!YAxvL2WZZW1nawY?fU0er%(Tq`-}_D{pH6G z&;I$`hiA_L=cvaH^xReO{e=r3e*eRTtG@O(?{~iI+@JNm1-yRT;@r7>{yu)@yYG*m z`TqNSj>pb?|D78=wtwrnU%_|ZALV^V&z}3UkmrW`?{i1>eLUyJIgY;s=RKastG)Nn z8nX+3b|0O;-ADZ%_j~wV-~AE_c+C@fUxBU%{r-;6iJkZPO}%bD2VeVv^uFhM|3?0n z-q)J10g$ZA?)wAH0qFo|Eg(D47<2&xz@y*|Uq9cBrcIlD)240PQ>|LHcA<5vQ?0Hw zDt@=~H^(c^?fzTOReZjDd>)^z_?+{(|D0nR`#b(OgNX)qo<4<>*~;D!G~{I0^e^!NV@&^4_1 z+y2q(Dh|ZCxOo%|1_OYj^R=dz&6iBq2au91|Z%g^U~>& zAOcA4LxA+YH}Cc(p2!~PbD9VG9@!4f1?dGrb3$m~ z@z{Cpx8vpO^M7$I98M(bl3B^SWLW%3p2fX*7srC+Ui?>_0~K|F`~qh#Xw9Ixr1{{? z3C#hItF z{dNU@y8^#mf#0scZ&%>AEAao=6_{4x_nfTow}M7(!K0v(R|Ee4i~r;^%D>b4LTmg6 z;0DkFwEPc(#-nj5-lB18E#&y68oOd7tw2xE7u*f*`457|qj70`8mD4y&U#L$m z7z)OM@!+}tAZR=q*CRl`qYY4ONHM6!pf`9rI5_CtsHmvasL06e96ga16{Y8ZUUQ)L z*!TX;`<>77xhMzDbFO3g=bXv3HfsJ6p ztVI5PCpG1*)oI(`TAQ9WYyHj-W^KyYHG5OW?%5l6?ws>p#x6H@&gC)KE!aIbo3*z_ zdv9F(Z|3R!^r@Q7Ud7p4cYZKu>(2DK8`8GFF*h-B;+rcHpMLa-(HV^QE$|>vUPE%w zzG_6of`oPJR;Q(=C!Cu2?wQliC!ae#@!j*MUs!X#Y!aBV;e6T48_%73^}TbaUfXi+ z)EnDfc=LmEWpgslmCf68u54k}xzkGyo;$rP=iHfhkBko~PO#pjIq{%2!;{2ya38uQ=a+cU=esnnRCGcK7+ zJ1&`Tvy9oBV$9NaFPXWkE}7Yhm(0FBWkp*vKA1k~<*Dh6SL4^-u`Zx|{A<&;Z7Dc# zY)5g=-jn`z7+wp}tOS6?(I6Mi&b z&ADLyH2H%0apHM%arzJD(i`W^rTIL+;i6d@ch-!VT4XkVP+Yt#d*7QczB=uLUmE|q zw6v7Moa65o(Q~$-rEB~J?Wdc}PpBXddB;#kyv(7S(3+9K|AI%@}LRdW`>y z`Li*7$JV0U!VijXe#;bhe8ZG>i#4Zu#hcT&FE?lUtpaP!nL9U|)Ayv9vb%Sf)AwbV zGlLG9?}vV9EmnC-8Xn2li7 zE5+vRmkQ0?iFxMLr?brqV>8W&5$R^oqv@vqurzb`$Tai7lWAu7#7y(pi+Sdmmx|2p zeJ4vYa}UmC{JR+ce4zPLVf<;^igG{NdGhwfj6KejbYEzSZ(a-%OySLMn}VAYO~Eaz zOc8UY^!^XbsUiE#sS&xRbi@%;G(6Abk2q>_9?LUXPvo1-rwdKS^F?O+3q>a7l_Ild zT7g;cT#k92u}&V9ZpMvBHIENXF%LeJV(xo5%?uotVICfqX~sOBZ61%wHY3JmnTN(_ zn)@g0G`+^Bn&e#tpB>E0o&U;=8M}XJ{9AT@u)XNWiCwuj%{JK`W|*wbZs@?DpNdQgDJjyiz&J<%@hnuH@Oe&FgXwHHhIGjnY_mfOwLn^$TCk4&oraKqeHXIh@m+qhTr?zGx=r~T)gm1mKpi@PBZAS zRMYpdb*A^2WYcZTa?^bDVzX>V&S%^Q8prshKPz7U_R>F$e@D@gqTSiI%riM%=b1dN zeZg&srm%0aDd@Mx%g^@YtX~sQtV3rxeH5fc-o#{uvou1r_+mU)pZMc87 z1--1B4w+$Y7%|gaKZ+hQU`cw;=hPZoIDO{KUmQPsGIxA(tT?0K&P0=Y(_)j`=N*%G z#~M?3cZw+;vd@$a&o^gAm6)?JUz=~9KWjdpa>f)Oiw9pnWp=(=V%EP}Xcj-8XJ$T? zZC)I?(@cCM)x0z^#mpO@1_$Zpg@;qj9eviA4(Nb3^dD?~E90a7P-E^HY|K4ijp*Ib zfd0%426B98nyEjOKDduj10O7TKfCmJQQ;!Szvq{(|JICM>5P9*(Sz@q;`_ImQ$t<) z{Opq-nX}J)YEH+Lnv-KoO~KeAllf$x*)lHMtb8uR#66R0em`oRnes@onLI4fy!dc} zd5L}mFFm~6OnP{Y88I-$^tfe>xuIvQX-xg}Ce%)8OrM17sE5^vdmZaD_PX4sR&T&$ zQ&+g3$AhPu`a|gBH)4jV0Tyk~D*dqN#1h7z`Ag&9#`r%yUXoe*c!nu@=mV2K_6N5qF938SJ>NS&I$pFdx!)4A{HAyl-+Q5%-#gCCxi!wj(koSCe}i7P zuQK+@)Utkt+DA_eOg0Y;NHVuGr+f6_df!OT?oKmI1N!jRrRPfBKJ;*;-*Rp0u0=Ec zXlgD+QF|$h@kcT5qq*-fir%Bq)HI5QgJ?L2hJ)z)zytIFd5HQyfbpN?Uesl;zcp*$ z)vkZ#@bLNRnR|A9$oLcctuTwxJ+u47ni;puG1KYsGL2q8uh4_{MaDj!T1}(q+cvQ8 za&s&4-LqekX~*wv)}21{^b4;;-{_k3jL=wXGyYn)#F{8-21PP=BAGiiZk=Hw8G95p z9wP1db>#JXs3*htBf0*Oj9-Xm?4b`%F$=e5p5#8~zccORZV>p9ERrpHkv*S$J5uXT*( z8VJ?(9OJLfwXe?oi`DoI)u}~No$*)a{?}^Mma4`as?PYUbN!w1*MNiIfs@U`RE@u6 z#V=j|u&^+$f9CE2#y{)s1oH~><#}rCkEWN*NNTGMq2~4=epBC@mYbWqC7Mn>l1xkN z@pZiuOoLu=rp`^XOwHc(c|pHutkt;w)$n0!@R{oLYp+WGrmD=Ls$7q%^lhoiZ-}^y z+Q8IeuSUI%aAY8Y@mFOIRb%`XT>t8f-97#<-Q&;t<@uAj``EFf{Zp_d&-aTnk8zHH z@I9c%9Mk8<#imD>1kUz1b#93>(Qp+>PqFI!&Z>+*f_@{_ z=`B;eUxKMdkLjxP8K}Z*5xggY-b0n?I}%PE!EovcR^j?<{Nd>TDtA-!@?L(&ee}6u z{8iCI0myP(N~Xr2ICIXNUmX9=%sso0~DY2A9G zY1$#dH0(It)MLKXK|j^%zueSP|8r!-URRBi>nudv7H1*`Br;xlqxG3(D)XKy^h*w> z{%M%N_(PdP;fy~F9U6uVRH2V}_&|=>un6?0;LrFMre=M~eP!>s#~%v^p8lKlA9iN# z&0zf5kJ6iYV2?y|TlZwf9cwzaNirQ;Z8nYD%`x@q?^?GDHT!$g6AC{s>TbqQ|L&^H zwQ#O&WqQ0;W{#`Zd&HfKO_h6+On6`F`@uyR{ocZn`^xnD(%3_&(Hcz6rciWf2-iRK zKKeut1P}1}LGbYa^(KKYza?&K`S|x=ZT`sr;rj16a;zwOVDDseJM*MV+r_3U<8IR| z*)(XyxI3T^SsT>uhK!zpe7XB(62RsTjL@ zmRII88hbDt+woH`CYXKz!N_kg_mhXZ#~;S{!ye!_4WgC^^C@nN9sf$MzsCQI*FW!A zaduy9=FM%BOuvqqre)IvQ?Jz|Q@1Vlumd^|{TS698D)M|@6Y(LwKW*O#vMveg%I?L z`YdX^VfbZX^uyM;L(sp$*u7w`e-QN(g6NMFM8DlYYU2el{y=IWs0X!vgY8An917vO zhwvMG=uscHHCyvva)_%lF*;OGXBiWyrU%t?&*?lT3sJ! z8a1N_ZVT)>zag^C6jOuoM|459=wqe19?ZP1f=!F)=jvslo(Ae+Wsf``Oik(_{GNS{U8r(3;L^sC{(XXj`JNmQZ6I2Faj9+tI{nx8tk2P;pi@m(hHhNcm zwbVydebR03boI@~M^ddN+e1q|Gm&4XzM8GG#5mOhRlQIBZLfQN1Nz8|-xj+i`>W!T zUmm~w2j)-ak>f=No43FRp!a0GCa&?T*SPx2tEar}D~>G+K^JOXL~uPrsR5uq681OX z&#R}D|9z?rOig&Mx$Xa|zR%1x)r+uwp7EcY`u^qh-&6;JdLgR$^O>)0X(N_0jKKf7>tB-5)oMeyGm))dx2K8K{OH33AuL zcX}JDx0QO@dG@hY&tlutP~%p=In^&3}jVK3xk?xyTh zpOzHA`zzy*+mpS2udaU+bY;zY_ygC^GBuiE2dU{BPCaki*OA{4L@$>>jUPXt26Yz$ z)sqK*QoVWf8&sP|JvmjE)sC6@ZtL^Xlfm{_Rew$DF5CLrs<(sww>5ZFdqX``sM%ma z&4vK@@WRiYyCKVt|Bbh19lYB0m;YnOUr==Lx|aBf)U1zU{-{^AdQ_@Mnfek2(~m~I zXw-+$j$bn9?la}1Bfr7+m7|}G?J1GO`Y_Z5 zarJPZ?k&Cjyr^$6Z(WAw&+5NB{^LbC4UySu^{`QlzbfOmwf5Ct#obd${nP@ij%0pO z-_}n(^QfO``=qEw8nyA%4@Z4&Z4VrGuT%9qvg23XQ;nasx~+qv+E^MpbEmw9t?E?L zkHD`FcvwJEQGp{>IoG< zZzwx{$t!v$nsGR_{q6Xv?`_Ago?g1{s@<*etG=gdwX0W)#;*E})a&$Tb_ zw`A*VGX7rF_n_v=+;y(;zcK6Tv5$&#>NTgoT|H{wUxzQ#%r$;n<6d=b z>1*MSZ*O~#llXsxdMXeDAILpq$6uSCf}wTkC*BA>&-hhmS~Z4kZP9kF@vDBE^iDMT!&^1O z)i;Fk+d6=%3GA*5CHrb?x^lg3y;tVEtpSM6u|3-=&U@AC67(BXtBE>IUesfoos@d2 zxU~3Jum6GE+#Og}yg0-#q_tKA&RoA@Xy6ds(TDixrdR5XnSJs?$)f!TbA+Oeh8Gp(j@ZZ)k ze{w45Pvwu=G5=%j_&+K>7^(5n2Q;WIcCZm+yNv1M z{Y>4iO4K&01P7In=}Pz%mFVdyyHx28{733BRf4BVtWzrSdo6CK4jALEq$B-~Y;7IY z#}TNB>~$marju#_QBSDV{pPL2&6+=J-Q%Cjm>&Y2fO3#6(LZzc=N`(;Ia-iWug$ps z31{3@ZkS>!Bg^VjRk;oI%&12eO#Pt{>Q4m|JB#AFDt;3P&mq(d3Z;fn82YsGpvA03 zX7Lz5TI&-0$`G!3=paC?GObfWStnZX8$xbF#%`r9CbfftsS^}T51(N82<}dQ1Zp`4 zbQo-AE?xI2@t>qO=gg7*RQ~IJ&=zRVePi->(^=w$$~%x>bmYMCqQeJ{73J<1ju-2AXn%guA)e3W=-@Dq59__| zqdwWr-asN~ai z)c#oO!pCc=0kYM3z@%oQTKLelZxPjL;5F_05 zAvMj3bvmG)$%&1sQ^EDk;2vD%zXk)%9oeowV zjKe`!&;;my0PP3We(*@p5NL0K@_OC=L3HPR|4L{a`hFdi@6|pIjk5;OxV8Vp7l;SV zCH*Gln`H7o1 z&rMjnZuX+pYi2D>PJU})auP^>YstEGxGbAyv8M*4%?5MUrlrjlR&V3DEp6WV?dh=_ zKiC<|UYl6<-0=Fg*&EZh&t0FM_E!A5buT_Ldh{mF`!bO3tcQ;?iM={W#jkHFI{o;H zznpq<%ytm_gpyrR?dYpvBxfazvSZ! z7vBBy!jGw6U%0sU?1f8(f4Oj}?5`It@!!Qu=E6meKcBsHq4dj37jlX&{bk4DOXs)m z$zS)%%o!^q^&BY1Y3&MVigg>x{g^emX>;cJV4@j;t|HXcl)9Wvpzs$MFK8v5tg+yaA z*t0Ta<{7hNPf_NZv9o3G-T*f_=YKDA_txSkSDYzmI>i)qeuF&*^UO(d7-e_7YtG!e z#he?QX?`4@%YKd%?B)2P1^H?X2aA1vy}79h{+Cb1#I1kI z?HbQ{SKBZ{|IdW2QfmY4>f+9G7LD8k}Zs zxpkxIM((du-&oU<*k@zng$?f}@BZL4(_lC;*T-j>wOM%w-(J2{^S}J}yU(9~^7R8} zOYYfWN{8;_I_H=Y_KO@HnQyj_$}+2-+G*xLm11U$T0=fP(dMJa5(9kru4L1_PqMkb z`%H4@$7&L#~MmGbLE}ul540--oMt!nP&a|yqu-Wmu>buzpnqToc$l>`RkEa3owYv1YsLk51 zHfyKatUYS7ey-Wyl{2n2h}XzhMva)R^XINeT(PC%`PoCXGwp?xZ{ykDF^8P`Y;wc1 z$pcI$u0M(R)ad&Y&3*lnO%L|mwCXm;G$P(!>qdST@m}R7qsU)Jl3R)*Cm2QUOS#`D zVzp8H{wVTY%K26wHqD-YS>m#kis#SF$=}=Fc8@hL6R)2{?0W*SnK9%R29Xz4 zPPD`A$Yxank>_Ix$q(A^yyo@%?)qG7E z!QQ)Sy~$P5chu$p8MpG65pYn2c)QJ8k|(Ri7{cIz^B-A}l$cua{QGlrGUBIh{B|Vg zzmvRVk52KXLx*J3jJ#fhuCv(Fu$X-T@veLxF}iT_ml0h1Y6F&=aB`H&8&n||qx@ZE za;KG94_D^*hu`PU*>Ubr*ZK3_NqT2n#q;mW*}v!a6H~suy~A?TrTuc#zGbp$+&b3O zC9YqK{Bv~w1XGiFsNbj@To}1H<=?8@OD>2#FX7}>EBB8jmm;`wZ%*E=@`H?pd|@zh zxIQcY7tcTGnbdE)w^(C3wOV5uv|t{0BwkEjO*ysd5MpyS|Dqg>lRHxGi#2@^YkDDo$LseO98FAG zp}n5v`bYAAAopNq%;PEF)v7bo)NanaZN+?TPu{p2c}sX!j!k)GKYqL7YyRXq{RbtP zK;=`2iv*H`D39YShDrQhv3uoB0?0Q6aDKo0XPC8n^N%6_I{)jy+CQEDU|vq;CqXZy3; z^AiWW66r;>w428#Kw}9vr_Dyp1)4+L^a?QN3*d@Vt&58s2$C|q}4lfb^iDN_WZf~ zhKx-3E;t&!aXm30df*1PA+D`H_sE((KQVZ3^($4s3haRGQOfmJAJX!Eqr_0l?11jFW`h%SOl}YdX&G`@KAK5o#)Z*^~YM?Xd#~DIQF;H>oj>JFFHM;hpjNitj zb$;TwuH1z?=I_LCo%pR{i0+()6LVG!ZuJM*$FFw&qXkFzJ@{DscfK`RieKuwqj#Oyr4w^ijeOP7UcDphIP#}h%@y{XQ>6!atTYeEfu;+2(%3#*>I`pNlqQ+$$mB=g_KBC&Io$bos`Yj_dw zRz6QPzZH9|q}ZcsdfV6|F~`otd+EQx`3qJiuXN5Y|F;(Y_jCOIj3J}r{uI`5f~nq$ zJPmctBRY{Eqi0=ZY+p$^eTP3T%@ht5m1G_|QIdK16aN0BRL}1_TwF>?ZlL!T zm1N}<7VppbsCfV3!s6@$`GtFr6cufFeb!sMIPX}{0)&9(EnBya{oRx)Tc%8XdGq8c zFM=r^cyaTj$-mn)aq^^%95+muG;#feNfW@t^%Ez*uuhNlyuf?x(e?O+jl2dXZW4HI z)7Ww2Qle|se3NtPw`={UIG5JHb%Elhir@V+&|c+#=KWe8SU z|CP{rbUwvu{;mHMr_hDah5tKo3dNViS3A(-8bNd51`rNvfc_z2VQ++nhsOqoh0b%p zbMplK9b)16ICNep&pFWhSWoEhSl0RT_)f(%nuF`xbm%Z^_S*@|7p+WMG576+WwRE> zC%h3Gx8(QpVwb!g7q?_){K6%%%a^?!pS1GrxD|;B@hg*-#;-_Px;QC$+1qPYFI%>8 z?XpE{RwXP>UYYRrn&ic=#>OtL->{)#34K7D2Sz;_SG+X+NZGKZKa@U}_(SRFRX>zI zv;KVPv+tchIqCiLWv}cze|Bd6`E&8b=P$1P!w;9T{`7+>{`m)U+Whd>@68YYebVr^ zIsZ|<`C-%Ei|4lQ$y?j4XZNLicYo0O;jxb|DxH;jvas~Q_NbSwAWJB$m_Z9 zVW;_V)KS*PrN&G)ABX>)khITJVYtl61W zn9-wG59j+^4T~AG_~hK3CyU$8bghBeV}7##CUa`gPILN^!=~(skJ;yZ(i|OEVlpNb zn~hTo&HQI`&C6r5%vjdB!$z>y9Sz2D-@)V@lb&6$r)RI8%Nct=&}w+hm?g!ryS~h6 z`=-h7v&{Dl5yK-W_nai5?)fo2Cv-f{6=YN>><^2zB zG`9|Ak0X8MTg5Ck?;XhBciU~ZD3)Qre?-jaw@)rR{8iCy>)2PGVNN~9dj0WF%^~*g zZ)JVHd_ty~IXcx$8NSg>M`!5!58QU!t?#(MzvY;5Pc6+}wEqvWo#&c2@OfXyr+?}0IHPs$ z0QUNKV$Ip8E4f|PUD`hz%~AViqp;0UXUx_LxSoKRGog|KJ^W+~)E9W0&nr z$ok{UtZ$xToj8*HlJ~POy30+8rYZZ3wO2HfF;{0#ZVl~i<#9ExO;!BPYS`BZ)-!hh zC+n%|tY`WDoGZWo$z_|CW&UwE-*Y=_)Ehe{n&zF@E5^M=HE(sTog(jWqtY;$d z;k9O}%)Xe)Y`QG4GiKQx{3U-|uG$BkLO zaBgl{m+RM<`pw8ew`2XxTDK~kR>R*7VINo!Yuu2#5-hYP(7v@Gt$D~pYpjQU7uw@w z*A=Yyw5G8>y?Wu`-vqK}PkXR}1~PvR6dbAe{ja~3_H_h4Y-9`e$FwJh$)1>C_9MxE zwflHjJ82J+^`GTKSMb?wk0kt+0OnIlc0t~i-#>Q6^f%MK4vS)5DF4ddp`b3T540xL z+JJpFc8?Z>Qj2YXWCa4QmhWDX=|u*ni@Wyrr-f<@;AT*Js@Lr&mm$mG*T|6njLQ zPcR{E=tiPZ8 zj(<9F+FL1K`_>>I+!WuQ{INgl3++t|qX(Jwt=Ze5^^DdL{tx2c%CD7AEq|K6aQ6Gv z?}s(TmOVK~`}gl#KK|z>JexT6&CTC)MNb6O~xERboC` zpA}BMSS#7SHTbNyw~gbkk{{>$^Z9UJQ0)Qab_nr_huAB{T#S%U%J?JL{}v&i^rq4OvvqGyZvX!MG=9bY zqseQ|%{^YYKP$K3FwN>~T;{i7g^7=tu z&)J=mcWBR{yj*h22h;au?WWH0e7;+8_CV17y2jT%)1pQ5=fL>OXg0oC)28E_HM`;2 zW=(;Po@m>if+n1Y^xvyaT;jE(V9}gEIOR_&MDa~g8K=$#EO0xDH zE7_l#Rj}!y;lt%OJgD!RJ12HS+1(3Faog8id4XG&a zw2S6@?vee2@(*h-nm>U(Yq(8y%lD_Bo%EdS_+Ze3@7sLxzGWASv9t1@PWE4K${ygJ z%SQ|By<8>ZPnztPOU(xI2C?Jv%u8c(%u|nLo5#j*|KZa)X2GhWGS)eg8;!5W{CRQj z6+QIs#r&JNpYYC2rucz9+=EwO@}4cWar))lyEgB+TzjA3gZHJIy9aJI{n*3WW5{B2 z!_YbA>E-EPPnkMpwex*(aq%f9pU${gG$@_>Cl8v#kLH=pRRXfVq@b|caD7Tugkf2D!y-mna;jt-On|Y zeem6h_g>$1rm0I@H5y+fnqGW0SyM-&FLcjS6>RLvZ(BKh z&0k-@){f`?nMb&fp?mKnd>-z5=uS*labaSj@*{LljP8ZeeK5NJCFITtW>oyf|9Wlu ztLw|ZFD`!D%rVJ-y^lEOO`Q{5J_Fwst$nn_b*mD8s!Hrt{(|n2kgbugPz5_1aMvU= za)JH64dvgrAb$Ik52gIIQwx`mPzxU+5*uFqPWIFDeU-^iROX&A-M0`zzd3ua0=_{g z_a}IhuNV=xS>xO2eBZqJ@o7WvO8;ve_B}?iU%y%p*8SXjqWc{J*pnZ`y<2t*=H=EpDI(e;-2OQH0IwlYvVUBEJ!{5VnX`qi3?N8CM?bP z0ATM@ja7myCtb^k}8_YMH{$#Mi9eitV*L-NpWS)>+$;G%Tv~AQ2a|H< z2b2HbKU^p=KU`q_{X?$#VdoxmZo%?3TYUX0JyE$wSZm(|g$ z4Oyecu3WP(I4EFLWUcD=CdRER9F4DkJNLe|zLEQvIIr%@iy%H9!F@|sKO=ip(0$?D zvss6n@BEc(_UrS}e16_r8w-23Nj8mIYVFGT2B1S(???|zA4>-YvrjWvc_Vz*s7Gg+ z*mu@s>+?1F{LI%kpQzt3)3uo8VL!`UA@XKC`m;6Q)Q&*$Gr`q;lV z_d(EO-CKDL_V#;mzqE~Ile4PC-c&E{Rq^87+S?w)e$%;2lMZqI#~J^9vlgr?s!L9+ zF8k4Ivz~1@h;`%x+($ctd-aCLnc5@cP3=ecn>DUt0gbp>or6-gh0qXWfL}`QPLJ1JiCUU;qFB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon-new.ico b/OnTopReplica/Assets/icon-new.ico new file mode 100644 index 0000000000000000000000000000000000000000..18362992f3fec1ff3742fd8b63d393500a8b5cc2 GIT binary patch literal 86918 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 A{r~^~ literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon.ico b/OnTopReplica/Assets/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..791a5e2abbe1788c3b7920ec0c87ababd4691435 GIT binary patch literal 7358 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 QzVN^OFZTb>|Gz2lpGUyLN&o-= literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon.png b/OnTopReplica/Assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d87244edd38607b98111a0e4759f8eddeae7ba71 GIT binary patch literal 7335 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 N002ovPDHLkV1l0s81euB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/list.png b/OnTopReplica/Assets/list.png new file mode 100644 index 0000000000000000000000000000000000000000..33b1ff0345e156591927d0d05e1ecfd9f064a89c GIT binary patch literal 681 zcmV;a0#^NrP)A}HuaqOhR5=&~SiQC$Qz3cHA?yv$u#j9hbRHa8V# zuG)sEJK9d`>});Xe6fR9df>;ty*qo}=Y7t5gudvFJ1xd$XHimFY%&z;KlAK1+rlO8 zEw*}H)-LzsjDd}A7z-{u*8^JX36l%T5~oJj%;w-t2zG{ zxYQVY+I#tAPAM+y?+?t~qxzN2W+3FhJwIFCWqDGPrdTrZ)#L2)hp`8I1h`?p=)OAI z1p_dG9CG+vabVP?4B5m4%g8CF7#lpOg+V9Ho1(=z3RF5{T*k9n6BwKbE&k2QbJezd zbav)P+~ultJVu=lZE!4;3odZ0BG4E3J>qelp7PjRq;z?fZ{PbZ?SYy$A82lC_ZIQA z>&+`cs-Fk7APq+Oee|7ocJil$oQm9yc=$y3)y@tl8~7L*9~=G9eT|*s0$yMR{M~p- zA+}Sfdw7Uo5xf(JV~Mx5Ly`JVgMk;R`ACTzI5aLVXwLgI=MWF}p8x{@XDi290elMa P00000NkvXXu0mjf+9*5T literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/newicon.png b/OnTopReplica/Assets/newicon.png new file mode 100644 index 0000000000000000000000000000000000000000..37017ad33c7c87a6c2f945feeef56ba0acf1fb3e GIT binary patch literal 770 zcmV+d1O5DoP)ox1a z7VLs78w-Twn-Av3{~$|-zu*G^SqOdx;hVJ}AMnBQ&Dz2Hn4Ot^S0z!i;tt))?&_@0 z$jFQ=0pMwOX>*$5zg>pb(cZZtgfGAO_PeJ?_wOyHF(!zJCQXxS-2F;O$=42AMKy`D zR{lCUIeq@q55Ky_t;0_jj~+h${`GI4OIIMx4-s66UL0h$2W;Exgl!8Q8bsbRO?dX? zs~6QTKY!+!K{wr2mfJJvxWn`*)C@j7;JKBhLr`boHsDuvaOCzlPd;FlB7vN zpZ73iWlX`OcGq#khQZAY>KlR_8=Sxf%LKyB5r%P=;OrcO=yL^3;u_a&b@}O%>cL@v zO@e0V5G}o#;lP@0MWz$du44L$=qAm}e*pyLG+?njLtWg$W;Wn5ZMZujHa#U|@IWvr zGG8`vfS*V;rE7rvs%_Gb-I|KA`&Eyt%HY&1E;>bOB2q^g%6+EdcO2nEO;$)dfGMhe zuy51XpWMWGQ{r@OaoM-H!`lC@6_*llwj40FYsAs#p@MTh3!r(*$bb&*^=Q7r-2;P< zWQOzTaoPsFZv;cCvAn8rwc>hXuv$|Iv!B(C8N!i=7G}_ezu<6>n7bM7?De>J`v9wW z1DAuxvMpGSpd0cLsNw4cikD4Fgy0}0N;%u?mtSn%7!ajoot3)sraag?L}`yn^cX$Q z+K3HXJK`;Fr`IoEY$%>}ZF6@18{?u-(`ige$IF;<)*bspTj zFHZE;tCNv)d6CsUpgp2}NK60YICDtw=RX1r0DQbuM9q8juK)l507*qoM6N<$g4OVC A-~a#s literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_bottomleft.pdn b/OnTopReplica/Assets/pos_bottomleft.pdn new file mode 100644 index 0000000000000000000000000000000000000000..6658542355e57545d1b138be337b56d0ed15ad29 GIT binary patch literal 6696 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 HDWM4fG=x-j literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_bottomright.png b/OnTopReplica/Assets/pos_bottomright.png new file mode 100644 index 0000000000000000000000000000000000000000..96ba61893ba568efaf9bb9835d5329dbfe26c4db GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9}FK5etQUh2#kmRT2WL`C{*P zJP?+)m}qA9|8i4PfPqKPizytJV&dcbn;er4A7t=i7GzLs>D>2Zg)bw}LIzJ)KbLh* G2~7YYM^pg- literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_center.png b/OnTopReplica/Assets/pos_center.png new file mode 100644 index 0000000000000000000000000000000000000000..d672a20baab23469fa22cbf4d711e4ae2c6c2e60 GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$179u0Iceio!iz978PplV_M@Ui!b(d-|e;2@=dw2UhYe`FUohv4(_7TONa7>EQzm zIgP@Z$)D|YH8@zCk92V66x?VuxqkinVxan}1CO5Y8!~I~9Z8%pLE{_K(wmYD3x!y+ Um;83;1zN%2>FVdQ&MBb@00?tREdT%j literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_null.png b/OnTopReplica/Assets/pos_null.png new file mode 100644 index 0000000000000000000000000000000000000000..ea301953f4a137a0c2a6c12010b7234431bd3a53 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9}FK5etQUh2#kmRT2WL`C{*P pJP?+)u(-uR0qGPfD8YB{i+h- z5t8O(YhV(5lAgjN(|LC)8IumM=*;A_ kY?eJ_(y-*g@em${tp58O7Cx@M26QEZr>mdKI;Vst00-D*CIA2c literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/regions_new.png b/OnTopReplica/Assets/regions_new.png new file mode 100644 index 0000000000000000000000000000000000000000..25947b96dedbc6263707383ff7bb5ce7bf0e4a4d GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X3O!vMLn>}1r6eRgU`i5Hc$TKXTf_RuT%k=ypuYW)iH6!V z{o@=eCXGL21lSoqDl6r(NA6b9{kM0%%TlySL|m!d9m;Y>lp_f zt|QkMBz|b~s4cKvoaoSMu)snySk*Xi%3MY!9)_5W`rqzs3j7VUoWax8&t;ucLK6V& C9z^W` literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/screenshot-icon.ico b/OnTopReplica/Assets/screenshot-icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3251e44fcf9b29c72083eb6543466410d9926753 GIT binary patch literal 99678 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
    w$YD8-Q{R!9jryL4g5{Kz1u|y=6WF!x~3Q FFaU5&7=Zu) literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window16.png b/OnTopReplica/Assets/window16.png new file mode 100644 index 0000000000000000000000000000000000000000..0d594cbb8fb50b1c90044cae1f363e35d36b6a87 GIT binary patch literal 862 zcmV-k1EKthP)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$9Fmkdbk^le#xJg7o zR5(wilm9Q&aU91#|BR57WWsf&(#*G}FSyPr%Y>pYIOi=P4%h9*A)QvF!a3(lzN|vF zHhnXh`Et(P=RWtjJKsr2>c?mAR6o>g*}S*c_TFoIKHiVldwVg=P7i0FNoDzIV&bOA z1ZyLsMve@Pn#j8$1L+?aBLl;e#K=0x%=|K0TwWu*W1f7Vy|$O{Nwuy!ospIgVR!6D zgk~8KU1Y)qC5vbUi_lyX4rdtQCpAJyOgNrvL2wa|Qz{3d%BK-iH3xb9C>Wv{fiTsK z$U++=N(aPu90$JZAf4W`9PqzAgTUf>gq1AeY~^Q&AFLv_b{z`+Bp7AgIDMVp z42S32Adqs{n_|JfYgTwk?GR*7;aI^ef|LsgSARmJW(AV!HC%kM4rPl8OsUp@bHz49 z&=LG)G@Q)BEtvvt@bH#xrN6qVA6NGksx~tiwRRjL3JAJog+~etmm~^E;ozC}xBkh0 z^yBL{P}0tVDQOtP895K%R12IF%y6av_pATcPtb0lw1WbaPe%}xZN;7>Go0ehaJ~FT z-?7E-Q~gK3^b;GuLH!dTuNj74nuUfxCtWRE{uZ55fMC(ir^I>hW80Ed;%r#3z9$(EWx3W z7-Y)Jz|=PNWVAegL*5P=2xprm3rj0xYIc!~OmL*Pe~2`9y(YSjKGM|LNA#VqNK;2I o(Y5yw?Xzz3Sl=bv=`u4v0HYLIW}ceXwg3PC07*qoM6N<$g2#Gr*Z=?k literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_border16.png b/OnTopReplica/Assets/window_border16.png new file mode 100644 index 0000000000000000000000000000000000000000..b9bc0b092087debf2200041e8334bcf20f508a05 GIT binary patch literal 683 zcmV;c0#yBpP)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$9Fmkdbk^le#1xZ9f zR5(wqlig3!Q5=W4?z%Thpe!I0ejuVwNyCJkqnH_5G1pp+%qAiT=$tasD09wgX0Ekf z)+(*^&*>sm-gLwADUT2ij4HQC0cKulA#{1t_QuqH}~WIKyj?%1~AKXo@Cj9!}%Fmd4Saq#~Ta z986HwouV@G23zz!j*(9^jD6+godt}?dNTm6)sK59CBi9=h;Vr*PEkjk;-I+qq_JLl zOYPMU93B0PYy2DTyNeVxWC3(SZ8cm!ki-(2NAk{L@WnBQQdoLlb7=4#b;BR2zww2p zi3OVPeaCb>3!t}m(kLoeyF|Ecmcljx@Fytk+DLzq)AyG!x%x5{RsnT=ag5$s_O%Lt zcOFycdVOb>{+Wl%6lVkW*90gJ%%N?Gp%nmq`=9mCK3c}ym}Q_o7(mw=L+y!CaB)pP zy}|Db{Rc~&d;EivrbwoO!r~XCBVS_Y9*MlY1{7)oO3knNy+b)I(kdjk^Ao~A%$#(e RGs*w}002ovPDHLkV1h^TF@yjB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_multiple.pdn b/OnTopReplica/Assets/window_multiple.pdn new file mode 100644 index 0000000000000000000000000000000000000000..2641e329e05972bf982e65852fb0269808fce01c GIT binary patch literal 8806 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 BaXbJ3 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_multiple16.ico b/OnTopReplica/Assets/window_multiple16.ico new file mode 100644 index 0000000000000000000000000000000000000000..6c48346dd69e92f341301e5d260e9d4befbbe0db GIT binary patch literal 894 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_switch.pdn b/OnTopReplica/Assets/window_switch.pdn new file mode 100644 index 0000000000000000000000000000000000000000..72bcc91da1b19273df35affdb8d985bfa6af0bc2 GIT binary patch literal 10464 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_switch.png b/OnTopReplica/Assets/window_switch.png new file mode 100644 index 0000000000000000000000000000000000000000..987ef8eea5050eb07f43ac3f3fa443d0359f85a6 GIT binary patch literal 456 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_arrow.png b/OnTopReplica/Assets/xiao_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..ca39d4820e0858e3519c1d6e238b171950cc53a3 GIT binary patch literal 437 zcmV;m0ZRUfP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ-J4r-ARCwCNlQB;MK@^0)6*0;shK|yNYW)TL0b*-nVPiCE2Uaw8R(3R2Xon_- zA7Eo;q_ELgs12MnL}P;_gg`j%IL))r(}ZK8pzt-jJDHulc{{5_glTGqDQh;^D5XXc zQpM^qkQstcZg+GR01;uFja0EJ&mvO(5V`b39z`TotV(ciq6OdSoNb-j)H_gV!HZ+C zFsA+OgLTbo7h*s}3<3tP?5}ESO;}ol{DnrrTyIBGqwoqxnQ{yva#hQzdThSar`fhhQ0rbd8SfKAh*YQFET?gt5vEcY_9HKYy zar*AafqH}J_#go!<54_+ek3s&pCI72o29}H8>T0{w!b;UxC&CJl(K*XU>P)eK;viq fO|Sa*-}p5E1l@+qVnZ^Q00000NkvXXu0mjfU7@ez literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_delete.png b/OnTopReplica/Assets/xiao_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7e3c06c7072ab8bd2992ec1db3040dde5bb9ff GIT binary patch literal 715 zcmV;+0yO=JP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;QAtEWRCwB?lRr#TaS+Ep?@wES8fe1+O&LfK8xlI{8g*x!>LAes`A> z9LM3)^m+c07Z?Ms02iyicfd2?5un!sqjMjSsn?hwN=semVg$QSL$JN#RSsjy*PU4M zg$#jkH;MS`5#XK-AWPza?D1e{a$uW;Z@p*; zu%AqWVIl`Y$dWivH$=zKDVJ2ROqyt{vZf+RG9ImjW7&oaP<3-lEf%8ywyyDW{wn{H z*mM$8RnaVa*9D|=>Pjx1injXwl=E3|?8e!G$cZ*T`E-hOPF-=gFuA<5c(@(MYHkN# z3x;7}=;eAd4DhvJHMeuP9cOZRXVC>@AiJ4VW>V{G$Q?b%!4Qt*#j;E+%fykq$iWbD zM-Qp>H8zvVOa`)U3ma2|djEWU_Tgp2ccG--2%d`K>x>}F0^nd;0;Qb7_qVIO|MKJR z_-bNyV`@;Z+X7G=UrpSG#M3*MQrG)BTVq{;mL7oAQE_i;KmY3H%WwCAJ)r20<@h!B x&&R!hA7}-4qZ*J0e$^`1u2FCthyT&<0RU|@782+2Qd0l`002ovPDHLkV1n3wH?;r& literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_down.png b/OnTopReplica/Assets/xiao_down.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf7a5d1c0ad4f723223346040b778b0a4a73fd7 GIT binary patch literal 761 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;e@R3^RCwB?lTAoeQ5c4wd*{xGKVXhhG)$nNHVApxN-S)y+eD68$d%o{G z=ToGVT$udIAw+;d;5u;mfcpr%2A%^>>EM^4b~KJ+Fr+Gz$;27X#-lXU1!VRY$#1%m z{IIe$R`li2ff2wz17G^Lqt#X816L9h!;o`fFBj}pgrTi9%DJW}FK1RJje@DEiuw#d zEu|d}g~kWE6BtF<%0o^-dR8YrtCJG}XB1(eJ3%-U8b2sCFetjtt*(|Bzk#0uEC*~C zQhjk!eQ|6z;C>4D4Rp1{D7wzAvVo!~y-g?U$mBr?uO|sOdgs})}bg$Z@C9* zNb3woH1_v=JPE5C+kvtp4#2{S4nS*D49|gBy@ndnI*&Bb@g$~Y0NtXd?ih9NOjMZ8rTgviD2e(C6h%WyQ1CEJi?@s0>@I$Kyg4>JdVXTw zIr0iXVRLNw;U>J&Z#=qN+t`+@K6R!Uppenma~n%D-(Ng<3akT#l1Mo|jdQ~t5ugUB r1u73{0px%`rJGCBs7NXKAN(BvYQHHQ=RzG>00000NkvXXu0mjfkH<^r literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_help.png b/OnTopReplica/Assets/xiao_help.png new file mode 100644 index 0000000000000000000000000000000000000000..df861f96e0c4f211756f6aa44252f0e35fad1739 GIT binary patch literal 752 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;c1c7*RCwB?lf6$9aTv!xcfGbi5keuD;E~uwkr0h-2u5QZp5K7pe`CZpackz08Kmz*7l@8ulLg4IrNRP`bP+yO#CIhuBhS9 zYdVN1LAu0Y7i&*QV99CW(Uh3P327 z;Bkq9ar@duRAAqNFHxl;weBvNIyd-%7axC+vmNikV9=BRa+W#VeLlcG@FxR~4UvAi z0`PDZj4VjiaP@2p^UK@Az%vOz5QM%!a|7`M$XI#7y~VP4ECjld_v2XzG&k@`i1n2K zqD$&@dnERfHd&`E+}Pg9J0Tg}umQ-L(9$R&x}?sECYo6XO*bk4N6XL(DM&66-E?E) zSS3JK*H+S+7Q}{(X>;6eL=H;+36F@TXR-CnMhT#)yR%ASFIZb$Px8>fE@aU=lb@r{ zR|SA5Ky6JGN+N}(?#=>;0PEu;lhIg$CT|X(3oOgRFf1bdGLe26!?3U{3!e*`yg8z= z1nc7?ljR;{;z@OLX>`sbJ?d#Yg(5n{(-yrm`M*%(5oz|hk?SPpRu$CErBO2RWC_qU zwP;3%LSxpQDX(T;z8{qRv^RPY1PR9hfh?+~^I>_1-^<^g#wLcwx~3M*iYWl;*u>D| z7`#(%J-J(dx+Cm6*?I;b9apwe+bi?G-aL2?Yys(_NI1TY(V>tBs0HeQ>OwdJq=3WX i%f)RJ9LM2*?B4+H@(<#P|3};a0000%t*xm literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_ok.png b/OnTopReplica/Assets/xiao_ok.png new file mode 100644 index 0000000000000000000000000000000000000000..fc5029a25f4417ad92afa7489f464874dc3318df GIT binary patch literal 752 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;c1c7*RCwB?lTAoeQ5c4wGk2VE(s3N6G)+pYjcFT2iI8xUB#|3YcWp$mz?IZO zSK_9YK}q7KU52X+0|{Dagx0{|UpUcV)RYchW}N?f?%cU8)Qh9bUicR0<@+Aa$2qSs zO%ovmN9vt#bN~ZDH*n+7{tV0lQ!|}w@~GD|O~i3P?|kEcB9xa67h1V^{xYTIUI3zM zgr9$Zu>N})!!!nGI@hL70eapwJaD@_&u=$(Ly19}1X(ly>^N~z3^9d;ud~F{`w!pT zU4LN#`rco6C_>ThwcaOPvX5rOG0B$zoQfM)%){H|R~V+@e0^tC+5oaLH&kEMj8+&Y zo>I{?4SAxz_?KDoeLyRWQ(x6gR_2BPYydVP`YOw6h-OqWGJ__yyjuO{XS!vP>6S&J z8I{Vi8f-%J9jpfkyJ#wK+DW8h1Vi7gYhS9aV>=XNx@FPw5~&!at_p-*G+6)uJ)1?- z(s|AOD{Xn_v0x91O+g~TG<9nQJ#B2Hl1Xwo7}@Hw296JpY;}>*HF8-PHw$PUh25xSHNuXW_T!0=iJQfAPl#F;B%FS0{2oSL%$3!~eU0o9M&@Z!LQE_DWd z?Enn=+R>y$mpTqyxD77>)z8A{_M`D41p*Tjn=VLbQG(G8e)-fVpTKKLdh5@*oN)!gMGHPz-ng*P)jN i_JIU&I*tFMe**wrqevEjZknS20000P)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;Zb?KzRCwB?lS@ccQ5eU6=gyrgI+i+!(lmmGkwlPU_CUhgxNXxyR}q4bUbL%4 zD``=?=&3?P`!?Z9U1+$deBgr=3pAly>7=*uG50lh?rCwI$#mHt4xICy@B5waaL!*y zDG@@DRYT8|2DAg0fpa_I_rM#VZ@jb4&E`re5xW5mJyY!=Mf5h+RB$XFrL-hST>A~5 zb%S>c-^lo~W4yDjZy%uk#pJbUq~O_=i#24zu#pBQ69Do;P!xtx8eR`CV5H3JlU?=C zbAZ#m(^^Oo&W+}i7{F#4q=eB49f0$v;s^l;!w?0Y4$hGAW!_jvt*ZcJ(r#Dd(HNV+ zFAHopC?05yGte4mbVA2=gS}0l@o0=p+U){R0E7@NRb?e4w!pGrY$hnqYM?dF*o=;4 zL1GK4%1RJIwB!IvNUaZRD#?_O?fCx`?}pfpPcr4BX(~!ctp`xE39ctGZ3j<6+ei?5 zc_ANwwh=1_QbP*18^%Yba{$ja=TfFwiw~CT?>pUcyxjbNreNA0zHNQUUBNU~`t`LW zg{s7L9c(8US!LI*>rkjl^tB|WvCLuVch{El$5@>0 z#!9UJ?I8Hdg_SpZ?v38!00000(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ-QAtEWRCwCFlD$d;K@^3*6*q-K0ycuMjg>xukCGyrI+&NyO4&w>nT5QEg`~9F zMl9?k44OdL*-7A7xU0qp{(+~t%(-_y?r>hsV!ms@Ll0Nrkv>2yk`)4^H`fO9Sf;OL^zwWO1K>GUS(=%SD$ zfNfyk7^AW*RTPEFvTPFB2eu`>JmE3Gq=Yc_@0XbacK{&-y!V6=yQuqYG{{pJ2 z!h26uRiFQZy%rqqz=AEVZr1@xlCWGZNs?q8;GZV>;F4Zr_@_w@2d@LpxqLJl^#I1> z@mqYgqB^eKy3TYn002ovPDHLkV1gvj B#S{Pl literal 0 HcmV?d00001 diff --git a/OnTopReplica/CREDITS.txt b/OnTopReplica/CREDITS.txt new file mode 100644 index 0000000..a870696 --- /dev/null +++ b/OnTopReplica/CREDITS.txt @@ -0,0 +1,12 @@ +OnTopReplica credits +-------------------- + +This application was inspired by Switcher (http://insentient.net) and other DWM based application. + +All Aero controls are part of the open-source WindowsFormsAero (http://windowsformsaero.codeplex.com) library for .NET. + +Some DWM example code has ben taken from user Ookii (http://www.ookii.org) on Channel 9 MSDN. + +The NativeToolstripRenderer class has been taken from asztal.net (http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet). + +Some of the icons used by OnTopReplica have been taken from VistaICO.com and the Xiao icon set. diff --git a/OnTopReplica/CloneClickEventArgs.cs b/OnTopReplica/CloneClickEventArgs.cs new file mode 100644 index 0000000..2c137fe --- /dev/null +++ b/OnTopReplica/CloneClickEventArgs.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + /// + /// EventArgs structure for clicks on a cloned window. + /// + public class CloneClickEventArgs : EventArgs { + + public Point ClientClickLocation { get; set; } + + public bool IsDoubleClick { get; set; } + + public MouseButtons Buttons { get; set; } + + public CloneClickEventArgs(Point location, MouseButtons buttons) { + ClientClickLocation = location; + Buttons = buttons; + IsDoubleClick = false; + } + + public CloneClickEventArgs(Point location, MouseButtons buttons, bool doubleClick) { + ClientClickLocation = location; + Buttons = buttons; + IsDoubleClick = doubleClick; + } + + } +} diff --git a/OnTopReplica/CloseRequestEventArgs.cs b/OnTopReplica/CloseRequestEventArgs.cs new file mode 100644 index 0000000..377ce99 --- /dev/null +++ b/OnTopReplica/CloseRequestEventArgs.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; + +namespace OnTopReplica { + public class CloseRequestEventArgs : EventArgs { + + public WindowHandle LastWindowHandle { get; set; } + + public Rectangle? LastRegion { get; set; } + + } +} diff --git a/OnTopReplica/FocusedTextBox.cs b/OnTopReplica/FocusedTextBox.cs new file mode 100644 index 0000000..b2a2cc6 --- /dev/null +++ b/OnTopReplica/FocusedTextBox.cs @@ -0,0 +1,70 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using WindowsFormsAero; +using System.Windows.Forms; + +namespace OnTopReplica { + + class FocusedTextBox : System.Windows.Forms.TextBox { + + protected override bool IsInputChar(char charCode) { + if (charCode == '\n' || charCode == '\r') + return true; + + return base.IsInputChar(charCode); + } + + protected override void OnKeyUp(KeyEventArgs e) { + if (e.KeyCode == Keys.Return) { + if(!string.IsNullOrEmpty(Text)) + OnConfirmInput(); + + e.Handled = true; + e.SuppressKeyPress = true; + } + else if (e.KeyCode == Keys.Escape) { + OnAbortInput(); + + e.Handled = true; + e.SuppressKeyPress = true; + } + + //Console.WriteLine("{0} ({1})", e.KeyCode, e.KeyValue); + + base.OnKeyUp(e); + } + + //List of characters to ignore on KeyPress events (because they generate bell rings) + readonly char[] IgnoreChars = new char[] { + (char)27, (char)13 + }; + + protected override void OnKeyPress(KeyPressEventArgs e) { + if (IgnoreChars.Contains(e.KeyChar)) { + e.Handled = true; + } + + base.OnKeyPress(e); + } + + public event EventHandler ConfirmInput; + + protected virtual void OnConfirmInput() { + var evt = ConfirmInput; + if (evt != null) + evt(this, EventArgs.Empty); + } + + public event EventHandler AbortInput; + + protected virtual void OnAbortInput() { + var evt = AbortInput; + if (evt != null) + evt(this, EventArgs.Empty); + } + + } + +} diff --git a/OnTopReplica/GeometryExtensions.cs b/OnTopReplica/GeometryExtensions.cs new file mode 100644 index 0000000..d11a61a --- /dev/null +++ b/OnTopReplica/GeometryExtensions.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + + /// + /// Common geometry extension methods. + /// + static class GeometryExtensions { + + /// + /// Returns the difference (offset vector) between two points. + /// + public static Point Difference(this Point a, Point b) { + return new Point(a.X - b.X, a.Y - b.Y); + } + + /// + /// Expands a size value by a padding distance. + /// + public static Size Expand(this Size size, Padding padding) { + return new Size(size.Width + padding.Horizontal, size.Height + padding.Vertical); + } + + /// + /// Expands a size value by a size distance. + /// + public static Size Expand(this Size size, Size expandSize) { + return new Size(size.Width + expandSize.Width, size.Height + expandSize.Height); + } + + /// + /// Computes the difference between two size values. + /// + public static Size Difference(this Size a, Size b) { + return new Size(a.Width - b.Width, a.Height - b.Height); + } + + /// + /// Ensures that the minimum size of a control respects a minimum + /// client size area. + /// + /// Control whose MinimumSize should be altered. + /// Minimum client size value to ensure. + public static void EnsureMinimumClientSize(this Control ctrl, Size minimumClientSize) { + Size offset = ctrl.Size.Difference(ctrl.ClientSize); + ctrl.MinimumSize = minimumClientSize.Expand(offset); + } + + } + +} diff --git a/OnTopReplica/HotKeyTextBox.cs b/OnTopReplica/HotKeyTextBox.cs new file mode 100644 index 0000000..9abcead --- /dev/null +++ b/OnTopReplica/HotKeyTextBox.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + class HotKeyTextBox : TextBox { + + protected override void OnCreateControl() { + ReadOnly = true; + + base.OnCreateControl(); + } + + readonly Keys[] IgnoredKeys = new Keys[] { + Keys.ControlKey, + Keys.Control, + Keys.Alt, + Keys.Menu, + Keys.ShiftKey, + Keys.Shift, + Keys.LWin, + Keys.RWin + }; + + readonly Keys[] CancelKeys = new Keys[] { + Keys.Back, + Keys.Escape + }; + + protected override void OnKeyUp(KeyEventArgs e) { + if (CancelKeys.Contains(e.KeyCode)) { + Text = string.Empty; + } + else if (!IgnoredKeys.Contains(e.KeyCode)) { + var sb = new StringBuilder(); + if (e.Control) + sb.Append("[CTRL]+"); + if (e.Alt) + sb.Append("[ALT]+"); + if (e.Shift) + sb.Append("[SHIFT]+"); + sb.Append(e.KeyCode.ToString()); + + Text = sb.ToString(); + } + + e.Handled = true; + base.OnKeyUp(e); + } + + } + +} diff --git a/OnTopReplica/IMessagePumpProcessor.cs b/OnTopReplica/IMessagePumpProcessor.cs new file mode 100644 index 0000000..824b9e5 --- /dev/null +++ b/OnTopReplica/IMessagePumpProcessor.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + interface IMessagePumpProcessor : IDisposable { + + void Initialize(MainForm form); + + bool Process(ref Message msg); + + } +} diff --git a/OnTopReplica/ImageComboBox.cs b/OnTopReplica/ImageComboBox.cs new file mode 100644 index 0000000..c68522f --- /dev/null +++ b/OnTopReplica/ImageComboBox.cs @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Drawing; + +namespace OnTopReplica { + class ImageComboBox : ComboBox { + + public ImageComboBox() { + DrawMode = DrawMode.OwnerDrawFixed; + } + + protected override void OnDrawItem(DrawItemEventArgs ea) { + ea.DrawBackground(); + ea.DrawFocusRectangle(); + + if (ea.Index == -1) + return; + + Rectangle bounds = ea.Bounds; + var foreBrush = new SolidBrush(ea.ForeColor); + int textLeftBound = (IconList == null) ? bounds.Left : bounds.Left + IconList.ImageSize.Width; + + var drawObject = Items[ea.Index]; + if (drawObject is ImageComboBoxItem) { + var drawItem = (ImageComboBoxItem)drawObject; + + if (drawItem.ImageListIndex != -1 && IconList != null) { + //ea.Graphics.FillRectangle(Brushes.Gray, bounds.Left, bounds.Top, IconList.ImageSize.Width, IconList.ImageSize.Height); + ea.Graphics.DrawImage(IconList.Images[drawItem.ImageListIndex], bounds.Left, bounds.Top); + } + + ea.Graphics.DrawString(drawItem.Text, ea.Font, foreBrush, textLeftBound, bounds.Top); + } + else { + ea.Graphics.DrawString(drawObject.ToString(), ea.Font, foreBrush, textLeftBound, bounds.Top); + } + + base.OnDrawItem(ea); + } + + public ImageList IconList { get; set; } + + } + + class ImageComboBoxItem { + + public ImageComboBoxItem() { + Text = ""; + ImageListIndex = -1; + } + + public ImageComboBoxItem(string text) { + if (text == null) + throw new ArgumentNullException(); + + Text = text; + ImageListIndex = -1; + } + + public ImageComboBoxItem(string text, int imageListIndex) { + if (text == null) + throw new ArgumentNullException(); + + Text = text; + ImageListIndex = imageListIndex; + } + + public string Text { get; private set; } + + public int ImageListIndex { get; private set; } + + public object Tag { get; set; } + + } +} diff --git a/OnTopReplica/LICENSE.txt b/OnTopReplica/LICENSE.txt new file mode 100644 index 0000000..fed0f94 --- /dev/null +++ b/OnTopReplica/LICENSE.txt @@ -0,0 +1,21 @@ +Microsoft Reciprocal License (Ms-RL) + +This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software. + +1. Definitions +The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. +A "contribution" is the original software, or any additions or changes to the software. +A "contributor" is any person that distributes its contribution under this license. +"Licensed patents" are a contributor's patent claims that read directly on its contribution. + +2. Grant of Rights +(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. +(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. + +3. Conditions and Limitations +(A) Reciprocal Grants- For any file you distribute that contains code from the software (in source code or binary format), you must provide recipients the source code to that file along with a copy of this license, which license will govern that file. You may license other files that are entirely your own work and do not contain code from the software under any terms you choose. +(B) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +(C) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. +(D) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. +(E) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. +(F) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs new file mode 100644 index 0000000..1c0ec00 --- /dev/null +++ b/OnTopReplica/MainForm.Designer.cs @@ -0,0 +1,560 @@ +namespace OnTopReplica +{ + partial class MainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.menuContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.menuContextWindows = new System.Windows.Forms.ToolStripMenuItem(); + this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); + this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullSelectWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.switchToWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.selectRegionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.advancedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickForwardingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickThroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.groupSwitchModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.restoreLastClonedWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextOpacity = new System.Windows.Forms.ToolStripMenuItem(); + this.menuOpacity = new System.Windows.Forms.ContextMenuStrip(this.components); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); + this.resizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuResize = new System.Windows.Forms.ContextMenuStrip(this.components); + this.doubleToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.fitToWindowToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.halfToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.quarterToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.fullscreenToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.restorePositionAndSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.dockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.disabledToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.centerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.chromeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.reduceToIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); + this.fullOpacityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFullscreenContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.enableClickthroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullExitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContext.SuspendLayout(); + this.menuWindows.SuspendLayout(); + this.menuOpacity.SuspendLayout(); + this.menuResize.SuspendLayout(); + this.menuFullscreenContext.SuspendLayout(); + this.SuspendLayout(); + // + // menuContext + // + this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuContextWindows, + this.switchToWindowToolStripMenuItem, + this.selectRegionToolStripMenuItem, + this.advancedToolStripMenuItem, + this.menuContextOpacity, + this.resizeToolStripMenuItem, + this.dockToolStripMenuItem, + this.chromeToolStripMenuItem, + this.reduceToIconToolStripMenuItem, + this.toolStripSeparator1, + this.settingsToolStripMenuItem, + this.aboutToolStripMenuItem, + this.menuContextClose}); + this.menuContext.Name = "menuContext"; + this.menuContext.Size = new System.Drawing.Size(187, 296); + this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); + // + // menuContextWindows + // + this.menuContextWindows.DropDown = this.menuWindows; + this.menuContextWindows.Image = global::OnTopReplica.Properties.Resources.list; + this.menuContextWindows.Name = "menuContextWindows"; + this.menuContextWindows.Size = new System.Drawing.Size(186, 22); + this.menuContextWindows.Text = global::OnTopReplica.Strings.MenuWindows; + this.menuContextWindows.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // + // menuWindows + // + this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.noneToolStripMenuItem}); + this.menuWindows.Name = "menuWindows"; + this.menuWindows.OwnerItem = this.menuContextWindows; + this.menuWindows.Size = new System.Drawing.Size(118, 26); + // + // noneToolStripMenuItem + // + this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; + this.noneToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; + // + // fullSelectWindowToolStripMenuItem + // + this.fullSelectWindowToolStripMenuItem.DropDown = this.menuWindows; + this.fullSelectWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.list; + this.fullSelectWindowToolStripMenuItem.Name = "fullSelectWindowToolStripMenuItem"; + this.fullSelectWindowToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullSelectWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindows; + this.fullSelectWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // + // switchToWindowToolStripMenuItem + // + this.switchToWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_arrow; + this.switchToWindowToolStripMenuItem.Name = "switchToWindowToolStripMenuItem"; + this.switchToWindowToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.switchToWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSwitch; + this.switchToWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSwitchTT; + this.switchToWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_Switch_click); + // + // selectRegionToolStripMenuItem + // + this.selectRegionToolStripMenuItem.Enabled = false; + this.selectRegionToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.regions; + this.selectRegionToolStripMenuItem.Name = "selectRegionToolStripMenuItem"; + this.selectRegionToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.selectRegionToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRegion; + this.selectRegionToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRegionTT; + this.selectRegionToolStripMenuItem.Click += new System.EventHandler(this.Menu_Region_click); + // + // advancedToolStripMenuItem + // + this.advancedToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.clickForwardingToolStripMenuItem, + this.clickThroughToolStripMenuItem, + this.groupSwitchModeToolStripMenuItem, + this.restoreLastClonedWindowToolStripMenuItem}); + this.advancedToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_wrench; + this.advancedToolStripMenuItem.Name = "advancedToolStripMenuItem"; + this.advancedToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.advancedToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAdvanced; + this.advancedToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Advanced_opening); + // + // clickForwardingToolStripMenuItem + // + this.clickForwardingToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; + this.clickForwardingToolStripMenuItem.Name = "clickForwardingToolStripMenuItem"; + this.clickForwardingToolStripMenuItem.Size = new System.Drawing.Size(218, 22); + this.clickForwardingToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickForwarding; + this.clickForwardingToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickForwardingTT; + this.clickForwardingToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickForwarding_click); + // + // clickThroughToolStripMenuItem + // + this.clickThroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.clickThroughToolStripMenuItem.Name = "clickThroughToolStripMenuItem"; + this.clickThroughToolStripMenuItem.Size = new System.Drawing.Size(218, 22); + this.clickThroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.clickThroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.clickThroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // groupSwitchModeToolStripMenuItem + // + this.groupSwitchModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.groupmode; + this.groupSwitchModeToolStripMenuItem.Name = "groupSwitchModeToolStripMenuItem"; + this.groupSwitchModeToolStripMenuItem.Size = new System.Drawing.Size(218, 22); + this.groupSwitchModeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuGroupSwitch; + this.groupSwitchModeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuGroupSwitchTT; + this.groupSwitchModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_GroupSwitchMode_click); + // + // restoreLastClonedWindowToolStripMenuItem + // + this.restoreLastClonedWindowToolStripMenuItem.Name = "restoreLastClonedWindowToolStripMenuItem"; + this.restoreLastClonedWindowToolStripMenuItem.Size = new System.Drawing.Size(218, 22); + this.restoreLastClonedWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRestoreLast; + this.restoreLastClonedWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRestoreLastTT; + this.restoreLastClonedWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_RestoreLastWindow_click); + // + // menuContextOpacity + // + this.menuContextOpacity.DropDown = this.menuOpacity; + this.menuContextOpacity.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.menuContextOpacity.Name = "menuContextOpacity"; + this.menuContextOpacity.Size = new System.Drawing.Size(186, 22); + this.menuContextOpacity.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // menuOpacity + // + this.menuOpacity.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripMenuItem1, + this.toolStripMenuItem2, + this.toolStripMenuItem3, + this.toolStripMenuItem4}); + this.menuOpacity.Name = "menuOpacity"; + this.menuOpacity.OwnerItem = this.fullOpacityToolStripMenuItem; + this.menuOpacity.ShowCheckMargin = true; + this.menuOpacity.ShowImageMargin = false; + this.menuOpacity.Size = new System.Drawing.Size(154, 92); + this.menuOpacity.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Opacity_opening); + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Checked = true; + this.toolStripMenuItem1.CheckState = System.Windows.Forms.CheckState.Checked; + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem1.Tag = 1D; + this.toolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuOp100; + this.toolStripMenuItem1.ToolTipText = global::OnTopReplica.Strings.MenuOp100TT; + this.toolStripMenuItem1.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem2 + // + this.toolStripMenuItem2.Name = "toolStripMenuItem2"; + this.toolStripMenuItem2.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem2.Tag = 0.75D; + this.toolStripMenuItem2.Text = global::OnTopReplica.Strings.MenuOp75; + this.toolStripMenuItem2.ToolTipText = global::OnTopReplica.Strings.MenuOp75TT; + this.toolStripMenuItem2.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem3 + // + this.toolStripMenuItem3.Name = "toolStripMenuItem3"; + this.toolStripMenuItem3.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem3.Tag = 0.5D; + this.toolStripMenuItem3.Text = global::OnTopReplica.Strings.MenuOp50; + this.toolStripMenuItem3.ToolTipText = global::OnTopReplica.Strings.MenuOp50TT; + this.toolStripMenuItem3.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem4 + // + this.toolStripMenuItem4.Name = "toolStripMenuItem4"; + this.toolStripMenuItem4.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem4.Tag = 0.25D; + this.toolStripMenuItem4.Text = global::OnTopReplica.Strings.MenuOp25; + this.toolStripMenuItem4.ToolTipText = global::OnTopReplica.Strings.MenuOp25TT; + this.toolStripMenuItem4.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // resizeToolStripMenuItem + // + this.resizeToolStripMenuItem.DropDown = this.menuResize; + this.resizeToolStripMenuItem.Enabled = false; + this.resizeToolStripMenuItem.Name = "resizeToolStripMenuItem"; + this.resizeToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.resizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResize; + // + // menuResize + // + this.menuResize.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.doubleToolStripMenuItem1, + this.fitToWindowToolStripMenuItem1, + this.halfToolStripMenuItem1, + this.quarterToolStripMenuItem1, + this.toolStripSeparator3, + this.fullscreenToolStripMenuItem1, + this.toolStripSeparator2, + this.restorePositionAndSizeToolStripMenuItem}); + this.menuResize.Name = "menuResize"; + this.menuResize.OwnerItem = this.resizeToolStripMenuItem; + this.menuResize.Size = new System.Drawing.Size(218, 170); + this.menuResize.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Resize_opening); + // + // doubleToolStripMenuItem1 + // + this.doubleToolStripMenuItem1.Name = "doubleToolStripMenuItem1"; + this.doubleToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.doubleToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitDouble; + this.doubleToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Double); + // + // fitToWindowToolStripMenuItem1 + // + this.fitToWindowToolStripMenuItem1.Name = "fitToWindowToolStripMenuItem1"; + this.fitToWindowToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.fitToWindowToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitOriginal; + this.fitToWindowToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_FitToWindow); + // + // halfToolStripMenuItem1 + // + this.halfToolStripMenuItem1.Name = "halfToolStripMenuItem1"; + this.halfToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.halfToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitHalf; + this.halfToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Half); + // + // quarterToolStripMenuItem1 + // + this.quarterToolStripMenuItem1.Name = "quarterToolStripMenuItem1"; + this.quarterToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.quarterToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitQuarter; + this.quarterToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Quarter); + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(214, 6); + // + // fullscreenToolStripMenuItem1 + // + this.fullscreenToolStripMenuItem1.Image = global::OnTopReplica.Properties.Resources.fullscreen; + this.fullscreenToolStripMenuItem1.Name = "fullscreenToolStripMenuItem1"; + this.fullscreenToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.fullscreenToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitFullscreen; + this.fullscreenToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Fullscreen); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(214, 6); + // + // restorePositionAndSizeToolStripMenuItem + // + this.restorePositionAndSizeToolStripMenuItem.Name = "restorePositionAndSizeToolStripMenuItem"; + this.restorePositionAndSizeToolStripMenuItem.Size = new System.Drawing.Size(217, 22); + this.restorePositionAndSizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRecall; + this.restorePositionAndSizeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRecallTT; + this.restorePositionAndSizeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Resize_RecallPosition_click); + // + // dockToolStripMenuItem + // + this.dockToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.disabledToolStripMenuItem, + this.topLeftToolStripMenuItem, + this.topRightToolStripMenuItem, + this.centerToolStripMenuItem, + this.bottomLeftToolStripMenuItem, + this.bottomRightToolStripMenuItem}); + this.dockToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_null; + this.dockToolStripMenuItem.Name = "dockToolStripMenuItem"; + this.dockToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.dockToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosition; + this.dockToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuPositionTT; + this.dockToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Position_Opening); + // + // disabledToolStripMenuItem + // + this.disabledToolStripMenuItem.Checked = true; + this.disabledToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; + this.disabledToolStripMenuItem.Name = "disabledToolStripMenuItem"; + this.disabledToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.disabledToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosDisabled; + this.disabledToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_Disable); + // + // topLeftToolStripMenuItem + // + this.topLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topleft; + this.topLeftToolStripMenuItem.Name = "topLeftToolStripMenuItem"; + this.topLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopLeft; + this.topLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopLeft); + // + // topRightToolStripMenuItem + // + this.topRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topright; + this.topRightToolStripMenuItem.Name = "topRightToolStripMenuItem"; + this.topRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopRight; + this.topRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopRight); + // + // centerToolStripMenuItem + // + this.centerToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_center; + this.centerToolStripMenuItem.Name = "centerToolStripMenuItem"; + this.centerToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.centerToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosCenter; + this.centerToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_Center); + // + // bottomLeftToolStripMenuItem + // + this.bottomLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomleft; + this.bottomLeftToolStripMenuItem.Name = "bottomLeftToolStripMenuItem"; + this.bottomLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomLeft; + this.bottomLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomLeft); + // + // bottomRightToolStripMenuItem + // + this.bottomRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomright; + this.bottomRightToolStripMenuItem.Name = "bottomRightToolStripMenuItem"; + this.bottomRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomRight; + this.bottomRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomRight); + // + // chromeToolStripMenuItem + // + this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem"; + this.chromeToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.chromeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuChrome; + this.chromeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuChromeTT; + this.chromeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Chrome_click); + // + // reduceToIconToolStripMenuItem + // + this.reduceToIconToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.reduce; + this.reduceToIconToolStripMenuItem.Name = "reduceToIconToolStripMenuItem"; + this.reduceToIconToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.reduceToIconToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReduce; + this.reduceToIconToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuReduceTT; + this.reduceToIconToolStripMenuItem.Click += new System.EventHandler(this.Menu_Reduce_click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(183, 6); + // + // settingsToolStripMenuItem + // + this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; + this.settingsToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.settingsToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSettings; + this.settingsToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSettingsTT; + this.settingsToolStripMenuItem.Click += new System.EventHandler(this.Menu_Settings_click); + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_help; + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.aboutToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAbout; + this.aboutToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAboutTT; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.Menu_About_click); + // + // menuContextClose + // + this.menuContextClose.Image = global::OnTopReplica.Properties.Resources.close_new; + this.menuContextClose.Name = "menuContextClose"; + this.menuContextClose.Size = new System.Drawing.Size(186, 22); + this.menuContextClose.Text = global::OnTopReplica.Strings.MenuClose; + this.menuContextClose.Click += new System.EventHandler(this.Menu_Close_click); + // + // fullOpacityToolStripMenuItem + // + this.fullOpacityToolStripMenuItem.DropDown = this.menuOpacity; + this.fullOpacityToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.fullOpacityToolStripMenuItem.Name = "fullOpacityToolStripMenuItem"; + this.fullOpacityToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullOpacityToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // menuFullscreenContext + // + this.menuFullscreenContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fullSelectWindowToolStripMenuItem, + this.fullOpacityToolStripMenuItem, + this.enableClickthroughToolStripMenuItem, + this.fullExitToolStripMenuItem}); + this.menuFullscreenContext.Name = "menuFullscreenContext"; + this.menuFullscreenContext.Size = new System.Drawing.Size(190, 92); + // + // enableClickthroughToolStripMenuItem + // + this.enableClickthroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; + this.enableClickthroughToolStripMenuItem.Name = "enableClickthroughToolStripMenuItem"; + this.enableClickthroughToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.enableClickthroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.enableClickthroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.enableClickthroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // fullExitToolStripMenuItem + // + this.fullExitToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; + this.fullExitToolStripMenuItem.Name = "fullExitToolStripMenuItem"; + this.fullExitToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullExitToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuQuitFullscreen; + this.fullExitToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_ExitFullscreen_click); + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.Control; + this.ClientSize = new System.Drawing.Size(318, 226); + this.ControlBox = false; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.HideCaption = true; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.MinimumSize = new System.Drawing.Size(44, 44); + this.Name = "MainForm"; + this.Text = "OnTopReplica"; + this.TopMost = true; + this.menuContext.ResumeLayout(false); + this.menuWindows.ResumeLayout(false); + this.menuOpacity.ResumeLayout(false); + this.menuResize.ResumeLayout(false); + this.menuFullscreenContext.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ContextMenuStrip menuContext; + private System.Windows.Forms.ToolStripMenuItem menuContextWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextClose; + private System.Windows.Forms.ContextMenuStrip menuWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextOpacity; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.ContextMenuStrip menuOpacity; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem4; + private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem reduceToIconToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem selectRegionToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem resizeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem switchToWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem dockToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topRightToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomRightToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuResize; + private System.Windows.Forms.ToolStripMenuItem doubleToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fitToWindowToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem halfToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem quarterToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fullscreenToolStripMenuItem1; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripMenuItem chromeToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuFullscreenContext; + private System.Windows.Forms.ToolStripMenuItem fullSelectWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullOpacityToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullExitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem advancedToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickForwardingToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickThroughToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem groupSwitchModeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem enableClickthroughToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem centerToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem disabledToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; + private System.Windows.Forms.ToolStripMenuItem restorePositionAndSizeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem restoreLastClonedWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem; + } +} + diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs new file mode 100644 index 0000000..d04dcb6 --- /dev/null +++ b/OnTopReplica/MainForm.cs @@ -0,0 +1,477 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Native; +using OnTopReplica.Properties; +using OnTopReplica.StartupOptions; +using OnTopReplica.Update; +using OnTopReplica.WindowSeekers; +using WindowsFormsAero.Dwm; +using WindowsFormsAero.TaskDialog; + +namespace OnTopReplica { + + partial class MainForm : AspectRatioForm { + + //GUI elements + ThumbnailPanel _thumbnailPanel; + + //Managers + MessagePumpManager _msgPumpManager = new MessagePumpManager(); + WindowListMenuManager _windowListManager; + + Options _startupOptions; + + public MainForm(Options startupOptions) { + _startupOptions = startupOptions; + + //WinForms init pass + InitializeComponent(); + + //Store default values + DefaultNonClickTransparencyKey = this.TransparencyKey; + DefaultBorderStyle = this.FormBorderStyle; + + //Thumbnail panel + _thumbnailPanel = new ThumbnailPanel { + Location = Point.Empty, + Dock = DockStyle.Fill + }; + _thumbnailPanel.CloneClick += new EventHandler(Thumbnail_CloneClick); + Controls.Add(_thumbnailPanel); + + //Set native renderer on context menus + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer( + menuContext, menuWindows, menuOpacity, menuResize, menuFullscreenContext + ); + + //Set to Key event preview + this.KeyPreview = true; + } + + #region Event override + + protected override void OnHandleCreated(EventArgs e){ + base.OnHandleCreated(e); + + //Window init + KeepAspectRatio = false; + GlassEnabled = true; + GlassMargins = new Margins(-1); + + //Managers + _msgPumpManager.Initialize(this); + _windowListManager = new WindowListMenuManager(this, menuWindows); + _windowListManager.ParentMenus = new System.Windows.Forms.ContextMenuStrip[] { + menuContext, menuFullscreenContext + }; + + //Platform specific form initialization + Program.Platform.PostHandleFormInit(this); + } + + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + //Apply startup options + _startupOptions.Apply(this); + } + + protected override void OnClosing(CancelEventArgs e) { + //Store last thumbnail, if any + if (_thumbnailPanel.IsShowingThumbnail && CurrentThumbnailWindowHandle != null) { + Settings.Default.RestoreLastWindowTitle = CurrentThumbnailWindowHandle.Title; + Settings.Default.RestoreLastWindowHwnd = CurrentThumbnailWindowHandle.Handle.ToInt64(); + Settings.Default.RestoreLastWindowClass = CurrentThumbnailWindowHandle.Class; + } + + _msgPumpManager.Dispose(); + Program.Platform.CloseForm(this); + + base.OnClosing(e); + } + + protected override void OnMove(EventArgs e) { + base.OnMove(e); + + AdjustSidePanelLocation(); + } + + protected override void OnResizeEnd(EventArgs e) { + base.OnResizeEnd(e); + + RefreshScreenLock(); + } + + protected override void OnActivated(EventArgs e) { + base.OnActivated(e); + + //Deactivate click-through if form is reactivated + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + + Program.Platform.RestoreForm(this); + } + + protected override void OnDeactivate(EventArgs e) { + base.OnDeactivate(e); + + //HACK: sometimes, even if TopMost is true, the window loses its "always on top" status. + // This is a fix attempt that probably won't work... + if (!IsFullscreen) { //fullscreen mode doesn't use TopMost + TopMost = false; + TopMost = true; + } + } + + protected override void OnMouseWheel(MouseEventArgs e) { + base.OnMouseWheel(e); + + if (!IsFullscreen) { + int change = (int)(e.Delta / 6.0); //assumes a mouse wheel "tick" is in the 80-120 range + AdjustSize(change); + RefreshScreenLock(); + } + } + + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); + + //This is handled by the WM_NCLBUTTONDBLCLK msg handler usually (because the GlassForm translates + //clicks on client to clicks on caption). But if fullscreen mode disables GlassForm dragging, we need + //this auxiliary handler to switch mode. + IsFullscreen = !IsFullscreen; + } + + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); + + //Same story as above (OnMouseDoubleClick) + if (e.Button == System.Windows.Forms.MouseButtons.Right) { + OpenContextMenu(); + } + } + + protected override void WndProc(ref Message m) { + if (_msgPumpManager != null) { + if (_msgPumpManager.PumpMessage(ref m)) { + return; + } + } + + switch (m.Msg) { + case WM.NCRBUTTONUP: + //Open context menu if right button clicked on caption (i.e. all of the window area because of glass) + if (m.WParam.ToInt32() == HT.CAPTION) { + OpenContextMenu(); + + m.Result = IntPtr.Zero; + return; + } + break; + + case WM.NCLBUTTONDBLCLK: + //Toggle fullscreen mode if double click on caption (whole glass area) + if (m.WParam.ToInt32() == HT.CAPTION) { + IsFullscreen = !IsFullscreen; + + m.Result = IntPtr.Zero; + return; + } + break; + + case WM.NCHITTEST: + //Make transparent to hit-testing if in click through mode + if (ClickThroughEnabled && (ModifierKeys & Keys.Alt) != Keys.Alt) { + m.Result = (IntPtr)HT.TRANSPARENT; + return; + } + break; + } + + base.WndProc(ref m); + } + + #endregion + + #region Keyboard event handling + + protected override void OnKeyUp(KeyEventArgs e) { + base.OnKeyUp(e); + + //ALT + if (e.Modifiers == Keys.Alt) { + if (e.KeyCode == Keys.Enter) { + e.Handled = true; + IsFullscreen = !IsFullscreen; + } + + else if (e.KeyCode == Keys.D1 || e.KeyCode == Keys.NumPad1) { + FitToThumbnail(0.25); + } + + else if (e.KeyCode == Keys.D2 || e.KeyCode == Keys.NumPad2) { + FitToThumbnail(0.5); + } + + else if (e.KeyCode == Keys.D3 || e.KeyCode == Keys.NumPad3 || + e.KeyCode == Keys.D0 || e.KeyCode == Keys.NumPad0) { + FitToThumbnail(1.0); + } + + else if (e.KeyCode == Keys.D4 || e.KeyCode == Keys.NumPad4) { + FitToThumbnail(2.0); + } + } + + //ESCAPE + else if (e.KeyCode == Keys.Escape) { + +#if DEBUG + Console.WriteLine("Received ESCAPE"); +#endif + + //Disable click-through + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + //Toggle fullscreen + else if (IsFullscreen) { + IsFullscreen = false; + } + //Disable click forwarding + else if (ClickForwardingEnabled) { + ClickForwardingEnabled = false; + } + } + } + + #endregion + + #region Fullscreen + + bool _isFullscreen = false; + Point _preFullscreenLocation; + Size _preFullscreenSize; + FormBorderStyle _preFullscreenBorderStyle; + + public bool IsFullscreen { + get { + return _isFullscreen; + } + set { + if (IsFullscreen == value) + return; + if (value && !_thumbnailPanel.IsShowingThumbnail) + return; + + CloseSidePanel(); //on switch, always hide side panels + + //Location and size + if (value) { + _preFullscreenLocation = Location; + _preFullscreenSize = ClientSize; + _preFullscreenBorderStyle = FormBorderStyle; + + FormBorderStyle = FormBorderStyle.None; + var currentScreen = Screen.FromControl(this); + Size = currentScreen.WorkingArea.Size; + Location = currentScreen.WorkingArea.Location; + } + else { + FormBorderStyle = _preFullscreenBorderStyle; + Location = _preFullscreenLocation; + ClientSize = _preFullscreenSize; + RefreshAspectRatio(); + } + + //Common + GlassEnabled = !value; + TopMost = !value; + HandleMouseMove = !value; + + _isFullscreen = value; + + Program.Platform.OnFormStateChange(this); + } + } + + #endregion + + #region Thumbnail operation + + /// + /// Sets a new thumbnail. + /// + /// Handle to the window to clone. + /// Region of the window to clone. + public void SetThumbnail(WindowHandle handle, Rectangle? region) { + try { + CurrentThumbnailWindowHandle = handle; + _thumbnailPanel.SetThumbnailHandle(handle); + +#if DEBUG + string windowClass = WindowMethods.GetWindowClass(handle.Handle); + Console.WriteLine("Cloning window HWND {0} of class {1}.", handle.Handle, windowClass); +#endif + + if (region.HasValue) + _thumbnailPanel.SelectedRegion = region.Value; + else + _thumbnailPanel.ConstrainToRegion = false; + + //Set aspect ratio (this will resize the form), do not refresh if in fullscreen + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize, !IsFullscreen); + } + catch (Exception ex) { + ThumbnailError(ex, false, Strings.ErrorUnableToCreateThumbnail); + } + } + + /// + /// Enables group mode on a list of window handles. + /// + /// List of window handles. + public void SetThumbnailGroup(IList handles) { + if (handles.Count == 0) + return; + + //At last one thumbnail + SetThumbnail(handles[0], null); + + //Handle if no real group + if (handles.Count == 1) + return; + + CurrentThumbnailWindowHandle = null; + _msgPumpManager.Get().EnableGroupMode(handles); + } + + /// + /// Disables the cloned thumbnail. + /// + public void UnsetThumbnail() { + //Unset handle + CurrentThumbnailWindowHandle = null; + _thumbnailPanel.UnsetThumbnail(); + + //Disable aspect ratio + KeepAspectRatio = false; + } + + /// + /// Gets or sets the region displayed of the current thumbnail. + /// + public Rectangle? SelectedThumbnailRegion { + get { + if (!_thumbnailPanel.IsShowingThumbnail || !_thumbnailPanel.ConstrainToRegion) + return null; + + return _thumbnailPanel.SelectedRegion; + } + set { + if (!_thumbnailPanel.IsShowingThumbnail) + return; + + if (value.HasValue) { + _thumbnailPanel.SelectedRegion = value.Value; + SetAspectRatio(value.Value.Size, true); + } + else { + _thumbnailPanel.ConstrainToRegion = false; + SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize, true); + } + + FixPositionAndSize(); + } + } + + const int FixMargin = 10; + + /// + /// Fixes the form's position and size, ensuring it is fully displayed in the current screen. + /// + private void FixPositionAndSize() { + var screen = Screen.FromControl(this); + + if (Width > screen.WorkingArea.Width) { + Width = screen.WorkingArea.Width - FixMargin; + } + if (Height > screen.WorkingArea.Height) { + Height = screen.WorkingArea.Height - FixMargin; + } + if (Location.X + Width > screen.WorkingArea.Right) { + Location = new Point(screen.WorkingArea.Right - Width - FixMargin, Location.Y); + } + if (Location.Y + Height > screen.WorkingArea.Bottom) { + Location = new Point(Location.X, screen.WorkingArea.Bottom - Height - FixMargin); + } + } + + private void ThumbnailError(Exception ex, bool suppress, string title) { + if (!suppress) { + ShowErrorDialog(title, Strings.ErrorGenericThumbnailHandleError, ex.Message); + } + + UnsetThumbnail(); + } + + /// Automatically sizes the window in order to accomodate the thumbnail p times. + /// Scale of the thumbnail to consider. + private void FitToThumbnail(double p) { + try { + Size originalSize = _thumbnailPanel.ThumbnailOriginalSize; + Size fittedSize = new Size((int)(originalSize.Width * p), (int)(originalSize.Height * p)); + ClientSize = fittedSize; + } + catch (Exception ex) { + ThumbnailError(ex, false, Strings.ErrorUnableToFit); + } + } + + #endregion + + #region Accessors + + /// + /// Gets the form's thumbnail panel. + /// + public ThumbnailPanel ThumbnailPanel { + get { + return _thumbnailPanel; + } + } + + /// + /// Gets the form's message pump manager. + /// + public MessagePumpManager MessagePumpManager { + get { + return _msgPumpManager; + } + } + + /// + /// Gets the form's window list drop down menu. + /// + public ContextMenuStrip MenuWindows { + get { + return menuWindows; + } + } + + /// + /// Retrieves the window handle of the currently cloned thumbnail. + /// + public WindowHandle CurrentThumbnailWindowHandle { + get; + private set; + } + + #endregion + + } +} diff --git a/OnTopReplica/MainForm.resx b/OnTopReplica/MainForm.resx new file mode 100644 index 0000000..5ef7664 --- /dev/null +++ b/OnTopReplica/MainForm.resx @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + 142, 17 + + + 275, 17 + + + 578, 17 + + + 399, 17 + + + + + AAABAAIAMDAAAAEAIACoJQAAJgAAABAQAAABACAAaAQAAM4lAAAoAAAAMAAAAGAAAAABACAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAAAAFwAAACAAAAAnAAAAKwAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAAKwAAACcAAAAfAAAAFwAAAA0AAAAGAAAABgAAAA4AAAAdAAAALQAAAD0AAABIAAAATgAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATgAAAEgAAAA9AAAALQAAABwAAAANAAAACwAAABkAAAAwAAAARwAA + AFsAAABpAAAAcAAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcAAAAGkAAABdAAAASAAAAC8AAAAYAAAAEQAA + ACQAAABBAAAAbAoKC6QYGBiyFhcXtBcXF7QXFxe0FxcXtBcXF7UXFxi0FxcYtBcYGLQXGBi0FxgYtBgY + GLQXGBi0FxcYtBcXF7QXFxe0FxcXtBcXF7QXFxe0FxcXtRcXF7UXFxe1FxcXtBcXF7QXFxe0FxcXtBYX + F7QWFhe0FhYXtBYWFrQWFhe0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe0GBgYtQEBAqYAAAB5AAAAXwAA + AEEAAAAkAAAAFwAAACwAAABdOTk3u46IgKWTjIKUkYiAk4yEepKHf3WQhHtyj4B5b45+eG2NfHVrjHly + Z4t5cmeLeXFni3huZot5b2aLe3JoioB3bIuDe3KMiH92jIyCeIyMhXqNjYZ7jo2HfI+Ph36PkId/j5GI + f4+SiX+PkomAj5OLgJCTjIKQk4yCkJSMgpCTi4GQj4h+joyEeo2LgniMjIN5jY+HfY6RiYCPkoqAjn55 + c7IXFxe1AAAAcQAAAFAAAAAuAAAAGwAAADAJCQmJkoyGrJ6ViXCypp2Fv7OskL2yq5G6r6ePt6yljbWr + o4yzqqGLsaefirClnYmupJ2JrqOdia6inYqvpJ2JsqafibSqo4m4raeKu7Gqiryyq4u8s6uLu7OsjLyz + rYy8s62MvbOujb20ro29ta6NvbWujry2ro67tq6OvLaujr23r468ta6OurOsjLiyq4u3sayLubOvjLu0 + so20ramGnpWNdJ+ViGxnZWG9AAAAiQAAAFYAAAAzAAAAHAAAADIREhKSqaGapbK4splz3ePrceDn8nPg + 5/N14OfzduDm83nh5fN84uXyf+Lk8oLj5PKF4+Lyh+Pi8onk4PKM5d/yj+Xf8pPm3/KX6ODynOni8qDq + 4/Kk7OLyqO7i863w4vKy8+Hytvbh87z44fPE+uHzzvvk89776vPs+/Pz+fv58//7/fP/+/7z//v98v/7 + 9/L8++3y9/vi8/b70fPz+b7u1da5u6mim3V/fHe1AAAAkQAAAFkAAAA2AAAAHQAAADMQEBCRsKiirMLO + ybBI3eT/PNnf/z3Z2v8+2df/P9nV/0HZ0/9G2tL/StvQ/0vbzv9O28v/UNzJ/1Pcx/9W3sX/WuHD/13k + wv9i6ML/aO/E/3D1x/99+s7/jP3W/53/4P+y/+r/xf/x/9r/+f/v//3/9//8//n//P/6//r/8v/r/+H/ + 3v+//dr/t/3Z/8L+zv/K/7H/1f2b/9r8jv/X/Yz/0Oa+1r2zsYJ+e3e4AAAAkQAAAFoAAAA3AAAAHQAA + ADMPDw+RtKumr8bSz7Y809n/L9DT/zLQ0f8zz8//NNDL/zfQyf860Mj/PNHF/z3Sw/9A1cH/RdnC/0re + xP9S5cj/W+zN/2by0/9x+Nj/e/3d/4L/4P+L/+T/mf/o/6n/6/+5/+z/xP/n/8f/2/+//8z/tPy//6X5 + tf+Z96//jPar/3j1rP9z97j/gvrD/4X9yf+Q/cv/qvu5/7jtkf+112f/z9mt2cW9u4iAfXm5AAAAkQAA + AFoAAAA3AAAAHQAAADMPDw+Rta6osMfT0Lc40tX/LM/Q/zHQz/8y0c7/NdTO/znXz/8/29H/ROHV/0zo + 2P9T7tz/WvTg/2D54v9l++H/avzf/27+3f90/9v/ev/a/4H/1/+K/tT/kPzL/5H4v/+N87D/he6f/4Dp + k/+B5o3/huWK/4/liP+W5of/muaG/5zihv+e2ob/pNeJ/6ncjP+s5pD/pO6U/5/wlv+h4oX/ytu32si/ + vYuCf3u6AAAAkQAAAFoAAAA2AAAAHQAAADMPDw+Rt6+qscnV0bk+2Nf/M9nV/zrd2P9A4tz/Rejf/0jq + 4P9J6tv/TOrW/07o0P9P5sn/UefD/1Xqwf9c8ML/ZPXC/2v3wP9v8rn/cOqv/27iof9r25X/a9mN/3TZ + jP9924v/gtuH/4fbgv+I2n7/itR6/4nNdP+HxW3/iL5o/4y4YP+St1X/k7ZL/5S1Tv+ZtlX/pL5d/67L + Yv+x123/0uC828rCwI2DgHy7AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RuLCss8rX07pG4dz/Od7W/zzb + 0f8/2s3/P9jI/0DUwv8/0Ln/Q9G2/0rXuP9S3rr/WuS9/1/kuf9f3rD/X9ai/1/Pl/9hzJD/Zc+M/2zT + if9x1oj/d9eE/37Vg/+D0X//fshz/3m+aP95uGP/e7Nf/3+wXP+FsFb/jLVR/4+8Uv+QwFv/k8Rk/5zF + Zf+hw2D/pMBY/6i7Uv+ps0D/0M+i3M3Hx5CEgX68AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RubKutMvW + 0rs/ysH/MsS3/zbDtP87x7b/Qc27/0bVwP9L2b//Ttq7/1HWs/9T0Kn/Vcqh/1jImv9dy5X/Y9CS/2nT + kP9u1Yz/cNOG/3DOfv9wx3X/cMJv/3vDcf+GxnH/gsFl/4G/Xv+Iv17/jMNc/5DHXP+QzGH/jM9u/4vL + c/+OwWz/j7lg/5GyVP+SqEn/lqJB/5icOv+WkSr/yMOb3NDMypGFgn+9AAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+RurOvtszW0bxCxbj/OMa2/0DNu/9F0r3/SdS9/0rSt/9LzKz/TMik/1HLoP9a0aH/Y9ih/2vc + nv9w3Jf/cdqP/3PXiP931YH/etV8/37Vdv+A1HD/hdNq/5XUbv+Z027/icll/4HGYv+Dx1z/hcJU/4K3 + VP99qVX/fJ1J/3yTPP97izT/fIYv/4CDK/+EgSj/iIAn/4uBJv+MfBr/xr2W3dPPzZOHhIG9AAAAkAAA + AFoAAAA2AAAAHQAAADIPDw+RvLWwts7Z071K0L7/Psq0/0LKr/9HzK3/T9Ox/1jdtv9f5bf/Y+q0/2rt + r/9y7Kn/eeqj/4Hmnf+C4pT/gNyK/3/Tfv99zHP/e8Rp/3e7Yf9ysl3/b69h/3e2cf9zuHD/aa9Z/3Gn + Qv94nDT/dI4v/3KGKv90gyb/doIk/3d/I/94fCH/enog/3x4IP+AeCD/g3kg/4d6Iv+Idhf/xLuW3tbR + 0JWHhIG+AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvLWxuM/Z075W173/Utq7/1riv/9h6cL/aOzC/23t + v/9s6bP/aeCl/2nVl/9pzIz/bcSB/3C8d/9ts23/Z6lj/2SiXf9hnVv/XZpb/1yZXP9cnFv/ZaVZ/3aw + U/94pjv/cY8n/2+EJP9sgCX/bH4k/3B+I/92gCL/en8f/3p7Hv95eB7/eXcd/3t1Hv9+dR7/gHYf/4R3 + H/+FchX/w7qW3tfT0peHhYK/AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvbazuNHb1b9k3r//WNez/1bP + qP9Tx5z/U7+U/1O5jv9Ss4T/UKp2/1Cha/9Tnmb/Wp5j/2ChZP9gn2L/XJld/1yYXP9cmFf/XphQ/2Sa + R/9nmDr/cJkv/32dKf92jyT/an0h/2p9If9ufyD/cn4e/3V+Hf98gB3/fX8c/3t6HP95dhz/eHQb/3lz + HP97cxz/fXQc/4J0Hf+CbxL/wrmV3tjU1JiIhoPAAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+Qvbe1udDY + 0sBPt5b/QauH/0Khff9CnXT/RZ1y/0iecP9Lnm3/S5pn/0yVYv9QlGD/WZlf/2KhXv9ln1n/YplS/2WZ + TP9nmEP/aJQ5/2aNLP9mhST/dI0i/3+WI/9yhx//aXkc/2x7G/9xfhr/dYEa/3qAGv+Agxr/f4AZ/3x7 + Gv95dhr/eHIZ/3hxGv95cRn/fHEa/4ByG/+AbBD/wbiU39nW1pqIhoPAAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+Qvrq2utDW0MFJo4D/P5xz/0KVbP9BkWb/RJJl/0eVZ/9LmGb/TZZh/0+TW/9UlFf/X5pU/2ui + U/9uoUz/bZtD/2+YO/9oji//ZIQl/2Z/IP9ugB3/e40e/32QHv9xgRv/a3kY/298F/90gRf/eYMY/36D + F/+Ehhj/g4IY/358GP96dhj/d3IY/3dwGP94bxj/em8Y/31wGf99ag7/wbiU4NzY15uJh4TBAAAAkAAA + AFoAAAA2AAAAHQAAADIPDw6Qv7q3u9DWz8FJnnT/QJdq/0KPZP9Di1//RYxd/0mQXP9Ok1r/UJNW/1OS + Uf9ak0z/aJxI/3ilRP96oT3/b5Qx/2yMKP9pgyH/a4Ac/219Gf9wfhj/eosa/3yOGv9xfxf/bnwW/3J/ + Ff96hBX/fYMW/4GFFv+Hhxb/hYMW/398Ff97dRb/eHIW/3dvFv93bhb/eG4W/3xuF/97aAz/wLiU4N3Z + 2JuJh4TBAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6Qv7u4u9DWz8JLmm3/QpRh/0SNWv9Fh1P/SYhR/0yL + T/9Rjk7/V5RK/12XRv9mmUD/dqI8/4GmNf93mCz/booj/3OKHv9yhBr/cH8V/257FP9ygBb/fY8Y/36P + GP9ygBT/cn4U/3iDFP+AiBT/foUT/4aIFP+IiBT/hYMU/398E/98dhP/eXMU/3hwFP93bRX/d20V/3tt + Ff94Zgr/wLeT4N3Z2p2KiIXBAAAAkAAAAFoAAAA2AAAAHQAAADIODg6QwLy5vNHWz8JOmGP/RpNW/0eK + UP9Igkj/SoJG/1CIQ/9blEL/ZJs+/2qfO/9zoTX/eJ0s/32aJP95kiD/doob/3uMGf92hRb/cYAU/258 + Ev92hRP/g5MV/4WSFf92gxL/eIMS/3+HEv+EjBL/gYcR/4mKEf+IiRL/hIMS/4B8EP98dxH/e3QS/3lx + E/93bhP/eG0T/3lsFP93ZQn/wLeT4d7a252KiIXCAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6QwLy5vNHW + zcNRlFj/SZJN/0yIR/9MgD//VYs8/2CXOv9lmDf/bqU1/3CgL/9tjiX/d5Eg/4OaHv9/khz/e4sX/4KN + Fv96hhT/dIAS/3N/Ef9/ixP/i5kU/4qVFP98hhH/fogR/4WNEf+GjRH/hYkO/4mLD/+IiA//hIEQ/398 + D/99eA//fXYQ/3xzEf96bxL/eW0S/3ptEv93Zgf/wLiS4d7a256LiIbCAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDg6QwLy6vNLVzcNUklD/S5BD/1OOP/9elTr/YZQ0/2WYMf9urC//apgn/2WCIP9wiR7/f5Uc/4qb + Gv+Fkhr/gIsV/4SNE/98hhL/eIEP/3mDEP+GkhL/kp4S/4uWEf+Aig//gosO/4qREP+IjQ//iYsN/4uM + Df+Ihgz/hIEO/4B7Df9/eA3/gXgP/4B1D/9+chD/fW4R/3xtEf95aAb/wbmS4d/c3J+LiYbCAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Rwby6vdLVzMRVkUf/WZ89/2WjOv9gjzD/ZKAu/2muLf9ljST/ZH0f/2uE + Hf93jRv/hZYY/4+bF/+Ikhr/gooS/4OMEP99hg7/eoIO/36HDv+NlxD/l6AQ/42VD/+FjQ3/h44N/4+U + D/+IjA7/jYwM/46KDP+JhAr/gn8M/396C/+BeAz/g3gN/4J1Df+Acw7/fm8P/31uD/98awT/wruS4d/c + 3J+LiYbDAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RwLy7vtPWzMRjo0L/YaY2/1+XMf9lri7/YqQp/1x+ + If9lgB7/aoIc/2+FGv99jRf/i5YV/5KaFv+JkBj/gogP/4OLDf9/hgz/fIML/4OKDP+Umw7/nKEP/42T + Df+Ijgz/jJEM/5CWDf+Liwz/kY4K/4+KC/+Jgwn/gn0K/4B5Cv+CeAv/g3gM/4N2Df+Acw3/f28N/35v + Df9+bgP/w72S4d7c3KCLiYbDAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Rwr27vdTYzMRfmTv/W6Ew/2a+ + M/9emCj/WHUf/197Hf9ogxv/bIIY/3KFF/+AjhT/jZcT/5KZFv+IjhX/gogM/4WJDP+AhQr/f4UJ/4iO + C/+ang3/naEN/42SC/+LkAv/kZUL/5KUC/+OjAn/lI8J/4+JCf+Jgwj/g30J/4F5CP+DeQj/g3gK/4J2 + C/9/cgz/fm8L/4BxDP+AcQL/xL6R4d/b3KCLiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Qwr28vtPU + y8Rgojn/YcEx/1uXKf9Zdx//W3gb/2F8Gf9rgxf/bYEV/3WFE/+DjhL/j5YP/5KXE/+HjBL/g4gK/4WJ + Cf+ChQj/gYYI/46SCP+eoQv/naAL/42RCf+OkQr/lpgK/5ORCf+Sjgj/lI8I/4+JCP+Jggf/g30G/4F6 + Bv+DeQf/gncJ/4F0Cv9+cQr/fW8J/4ByC/+BcwD/xL+R4t3a26GKiIXEAAAAjwAAAFoAAAA2AAAAHQAA + ADIPDw+Qwby8v9XczMVhuDf/VpEl/1qFIv9bfBz/XHcZ/2J7Fv9rgRT/b4AR/3eFEP+FjRD/jpUL/5GV + EP+GihD/g4YH/4WIB/+ChAf/hIYH/5SVB/+hogr/nJ0J/5GRB/+Tkgj/mZgJ/5KPCP+VkAf/lY8H/4+I + B/+Jggb/hH0F/4J6Bf+CeAb/gnYH/350CP97cAj/e3AI/4F0Cv+BdQD/xL+R4t3Y26KKiIXEAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Qwb69v9TWy8ZZhCz/Voof/1yJIP9cexn/XHYW/2N5FP9sfxH/bn8O/3mE + Df+EjQz/jZMI/5GUEP+FiQ3/hIUF/4aGBf+ChAb/hocF/5iYBv+jpAb/m5oH/5ORB/+WlQb/mZcH/5KP + Bf+XkQb/lY4F/46HBv+IgQX/hHwE/4N7BP+CeAX/f3UG/3xyBv96bwb/e3EG/4J2Cf+CdwD/xL+Q4tzZ + 26KKiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw769v9TVy8ZXgin/V4sc/1yKHv9behj/XXQV/2N3 + Ev9rfA//b30N/3mCDP+Eiwv/jJEI/5CSEv+Ehgz/g4QD/4WFBf+CgwX/iokF/5uaBv+jpAX/mJYF/5OQ + Bv+Ylgb/lpMG/5SPBf+YkQb/k4sG/42EBv+HfwT/hHwD/4N7BP+AeAX/fXQE/3pwBf93bgb/enEG/4B2 + CP+CdwD/xMCP49zZ26OKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw7++wNXVzMZYgCj/Voob/12K + G/9cehb/XXIT/2J1EP9rew7/bXwM/3iBC/+Eigr/io8H/46RE/+ChAn/gYID/4ODBf+Cggb/jYsF/52c + Bf+iogb/lZMF/5OQBv+YlQb/k48G/5WOBv+Xjwb/kIkG/4uCBv+FfQT/g3wD/4N6Bf9/dQX/enEE/3Vu + BP90bgX/eHEG/393CP+BeQD/xMGO49vZ26SKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6RxMC+wNXW + zMZZfib/V4kY/16KGf9behX/W3AS/2JzD/9peQz/bHoL/3eACf+DiQj/io0H/46QFf+Aggj/gIED/4GC + BP+BgQX/j40F/5+dBv+hngX/lI8G/5WQBv+YkwX/kosF/5aOBf+VjAb/j4YF/4iABf+EewP/g3sE/4J4 + Bf9+dAT/d3AE/3JtBP9ybQT/d3IF/3x3B/+AeQD/wb6N49vY26SJiIXGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QxMC/wNbWzMZZfCP/WIYV/16KGP9ceRT/XG8Q/2FxDf9odwz/bXgK/3Z/CP+Bhwj/iYsH/42O + Ff9+gAf/f4AE/3+AA/+CgQT/ko8G/6CeBv+emQb/kowH/5WPBv+VkAX/kYkG/5eMBv+TiQX/jYMF/4d+ + BP+DegP/g3kE/4B2BP98cgT/dW4E/3BrA/9xbQT/dXEF/3t4Bv97dwD/vbqN49za26WJiIXGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QxcG/wNbXzcdXeiH/V4QT/16JFv9deRL/W24N/19wDP9ndAv/bHYJ/3V9 + B/+Bhgf/iIkH/4yNFv98fgX/fn4D/35+A/+DgAT/lJEF/6GeBv+alAb/kYkH/5WOBf+SiwX/kIcH/5aK + Bv+QhQX/i4EF/4Z8BP+CeAX/gXYF/35zBP96cAT/c2wE/29qA/9xbQP/dHEE/3t6Bf9zcAD/uriN493a + 26WKiIXGAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6Qx8PBwdbXzcdWeB//V4IS/16IE/9ceRD/WmwN/15u + C/9lcgn/anUH/3V8B/+BhAb/hocG/4uLGP96ewX/fH0E/3x8A/+EgQT/lZMF/6GdBv+Vjwb/kIgF/5ON + Bf+PhwX/kYYG/5OHBf+MggX/ioAE/4R5BP+BdwX/gHUE/3xyBP92bgT/cGsE/29qA/9wbAP/c3ED/3l4 + Bf9taQD/ubWN493a26WKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8PCwdjYzsdWdR//VX8P/12G + Ef9cdw7/WWoN/15sCv9jcQj/anMG/3R7Bv9/gwX/hIUG/4mJGf94eAP/ensE/3p6BP+FggT/l5QE/56b + Bf+PigX/j4YG/5CJBf+MgwX/kYUG/5CDBf+KfwT/iH8D/4F3Bf+AdQT/fnME/3pwBP9zbAT/cGoD/29q + A/9vbAP/dHID/3RzBf9nYgD/trOM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8TDwdjY + zsdVch3/U3oN/1yEEP9cdg3/WWkL/11rCP9icAf/aXEG/3N5Bv9+gQT/goQH/4aHGf91dgL/eHgF/3l4 + BP+GgwP/mZQF/5uXBf+MhQX/jYYF/42FBP+JgAT/j4ME/4uABP+JfgT/hXsE/390BP9/dAT/fHIE/3du + BP9yawP/b2oD/29rA/9vbAP/c3MD/25tA/9hXQD/tLKM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QycXEwdnZz8dUbxv/UnYM/1uBDv9cdQv/WWkJ/1tpB/9gbgX/aHEF/3J3Bv97fgP/gIII/4SF + GP9ycwL/dnYF/3h3BP+IhAT/mJQF/5aSBP+IggX/ioMF/4iAA/+IfwT/jYEE/4d9BP+HfgT/gXgE/39z + BP99cgT/enAE/3RtBP9wagP/bmoD/25rA/9wbQP/cXED/2lnAv9cWAD/s7CL497a3KaKiIbGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QysfFwdna0MhTbRn/UXIL/1t+Df9bdAr/WGgI/1pnB/9fbAb/Zm8F/3F2 + BP95fAL/f4EK/4KCFv9wcQL/dXQE/3d2BP+JhQT/mJQF/5GMBf+GfwX/hn8E/4N7BP+IfgT/iX4E/4V7 + A/+GfAT/fXQE/31yBP97cQT/d24E/3FrA/9uaQL/bWoC/21qAv9xbwP/bWwD/2RiA/9XVAD/sa6L5N/b + 3KiKiIbHAAAAjwAAAFoAAAA2AAAAGwAAADEODg6PysfFwdjYzsZRaRb/TW0G/1d6Cf9YcQb/VGUE/1dk + BP9caAP/ZGwB/25zAP92eQD/fX8K/31+Ev9sbQD/cXAB/3Z1Af+IhQL/lZEC/4uEAf+BewL/f3gB/393 + Av+EewH/hHoB/4N4Af+CeAH/eG8B/3lvAv93bgH/cmsC/21oAP9rZwD/a2cA/2tpAP9ubQD/ZmUA/2Bd + AP9STgD/rquJ497b3KeKiIbHAAAAjQAAAFgAAAA1AAAAGAAAACwQDw+MysbEv9LRx71WbR3+U3AP/1x7 + EP9ddQ7/WmoN/11pDv9jbQz/anEK/3N4C/96fAr/gYMX/36BGv9wcQj/dXQL/3t7DP+Niw3/l5QN/4qE + Df+Efg3/f3kM/4N8DP+IgAv/hnwM/4h/DP+CeQz/fXQM/310DP95cwz/dW8L/3JtCv9xbQn/cW0K/3Jx + Cv9xcAr/aWgL/2RiCv9WUgf/qaaH2tjV1aGMiojGAAAAiQAAAFIAAAAwAAAAFAAAACQLCwuCv7y4v9XR + y6PMzcDB0tTGzNTWx87V1sfO1NXHztXVx87V1cfP1tbHztjXx87Y18fO2dfIztfWx8zV1MXL1dPDytXU + w8nX1cPJ2NbDydbUw8jW08PI1dPDydbTw8nX1MPJ1tPDytfUxMrW1MTK1tPDytbTxMvW08TL1tTFy9bT + xcvV0sPL1NHDzNPRwszS0cLM0c/CzNHOwszJx7vFxsK7sM3IxJmEgoDGAAAAewAAAEYAAAAoAAAADgAA + ABoAAABTaWhmx9jUzrLg3Nmr4t3br+Ld26/j3tuv497br+Pf26/i39uw4d/br+He26/h3duv4Nvart7a + 2Kzc2Nap29bTqNnV0qfY1NGn2NPRp9jV0abZ1NGm2tTRpdnV0abZ1NKn2dTTqNrW1Kjb1tSo29bUqdzW + 1and2Nap3dnWqd3X1qra1tSq2NTTrNfU0qzX09Ks19PSrNfT0q3W0c+r0MvHp766tr0xMTC4AAAAVwAA + ADUAAAAeAAAACQAAABIAAAAnAAAAZzMzMqtPTk20TEtKs0tLSrRMS0q0TEtKtExLSrRMS0q0S0tKtEtL + SrRLS0q0S0tKs0tKSbNKSUmzS0pIs0pKSbNKSkizSkpIs0pKSLNLSUizS0pJsktKSbJLSkmzS0pJs0tK + SbNLSkmzTEpJs0xKSbNMSkmzTEpJs0xKSbNLSkmzS0pJs0tKSbNLSkmzS0pJs0tJSbNLSkm0TUxLth4d + HaMAAABeAAAAOAAAACUAAAATAAAABQAAAAsAAAAWAAAAIQAAAC0AAAA3AAAAOgAAADoAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADoAAAA7AAAAOgAAADMAAAArAAAAIQAAABUAAAALAAAAAgAAAAQAAAAJAAAADgAAABMAAAAXAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGAAAABcAAAATAAAADgAAAAgAAAAEAAAAAAAAAAEAAAACAAAABAAA + AAcAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAkAAAAHAAAABAAAAAIAAAABAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBIAAAAAAAPIEKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ABEAAABAAAAAVwAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABXAAAATAAA + AB8EBAQ+VlRQlXNybqFqamaeZ2dinWZkYJxqaGOdcG5pnXFwa550cm2feXRxn350c597cW+efHVwnU1K + RZgAAQFUFw4NUI+5uMNY4+b0Xt7b9Gbh2PRv59bzf/La9JP84vSx/+r0z//p9Nv/4vTP/930yv/Z9N// + ufKnp5OvAwEEZRkPDk6Eu7nPLtvX/zrbz/9F4Mn/VOrF/2Xuvf9y667/guWe/4nciP+K1Hf/jM5v/5bO + b/+v2HT/paeTuwQCBmIZDxBPirmy0D/Wwf9Q273/W9yt/2vZm/9x0IT/csZw/33Eav99tlT/fqdG/4Cb + QP+FjjH/mZAz/6SfjL0FBQhjGBAST5G6rtFOyqT/VsCS/1mze/9mrGv/ZqFZ/2WXRP9zmDT/bYIh/3V9 + HP96eBn/d28X/4p7Jf+kno3ABQYJYxkTFlCOq5vTPpFi/0eLV/9WlE//b51B/26NKv9tgBn/d4YX/3N+ + Ff+ChhX/gH0W/3ZuFP+FdyH/pZ+OwQYGCWMZFBhQkKiR1EuNRv9dlDr/bZgu/4CWHv98iBT/eoUR/4SQ + Ev+CihD/iYoP/4F9D/97cQ//hHYc/6Wgj8MGBgljGBQZUJasidReozD/Y40i/3OHGP+MlRX/gYgO/4iP + Df+RmA3/jZEM/42JCv+Cewr/gXQK/4l6F/+noo/EBgYJYxgUGlCXroXVWI8f/2J4Ff97iBD/jZIO/4OF + CP+TlQf/mJkI/5WSCP+PiAb/g3oF/31yBf+KfhP/p6OOxQYGCWMZFhtQlaOB1VeCFf9idRD/eoQK/4qM + C/+CggT/mJYF/5iVBv+WkAX/jIQF/4J4BP92bgP/h4AR/6ajjcYGBgljGRYcUJaif9ZYgA//YHAM/3d/ + CP+Ghwv/gIAE/5mVBv+UjQb/kogG/4h9BP99cwT/cGsB/4B+D/+joYzGBgYKYxoXHVCWoH7XU3cG/1tq + Bf9yeAL/fX4I/317AP+TjgH/ioIB/4p+Af+AdQD/dWwA/21pAP90cgn/oJ2MyAcHCmQaGB1RoaiK1maC + HP9teh3/gYYb/4mKIf+Nixr/m5Yb/5KKG/+Uihv/i4Eb/4F7Gv9+exf/fHoi/6WilMcHBwpjBgYHMXp5 + dKCcnZG2mZiNtJqZjbWZl4yzmJaIsJiWiLCYlYiwmZaJsZmVirGYlYqylpSJs5mXjbRqaGadAQEBPQAA + AAUAAAAeAAAAKgAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAArAAAAIwAA + AAoAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxB + + + \ No newline at end of file diff --git a/OnTopReplica/MainForm_ChildForms.cs b/OnTopReplica/MainForm_ChildForms.cs new file mode 100644 index 0000000..b9cdbac --- /dev/null +++ b/OnTopReplica/MainForm_ChildForms.cs @@ -0,0 +1,93 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Drawing; + +namespace OnTopReplica { + + partial class MainForm { + + //SidePanel _currentSidePanel = null; + SidePanelContainer _sidePanelContainer = null; + + /// + /// Opens a new side panel. + /// + /// The side panel to embed. + public void SetSidePanel(SidePanel panel) { + if (IsSidePanelOpen) { + CloseSidePanel(); + } + + _sidePanelContainer = new SidePanelContainer(this); + _sidePanelContainer.SetSidePanel(panel); + _sidePanelContainer.Location = ComputeSidePanelLocation(_sidePanelContainer); + _sidePanelContainer.Show(this); + } + + /// + /// Closes the current side panel. + /// + public void CloseSidePanel() { + if (_sidePanelContainer == null || _sidePanelContainer.IsDisposed) { + _sidePanelContainer = null; + return; + } + + _sidePanelContainer.Hide(); + _sidePanelContainer.FreeSidePanel(); + } + + /// + /// Gets whether a side panel is currently shown. + /// + public bool IsSidePanelOpen { + get { + if (_sidePanelContainer == null) + return false; + if (_sidePanelContainer.IsDisposed) { + _sidePanelContainer = null; + return false; + } + + return _sidePanelContainer.Visible; + } + } + + /// + /// Moves the side panel based on the main form's current location. + /// + protected void AdjustSidePanelLocation() { + if (!IsSidePanelOpen) + return; + + _sidePanelContainer.Location = ComputeSidePanelLocation(_sidePanelContainer); + } + + /// + /// Computes the target location of a side panel form that ensures it is visible on the current + /// screen that contains the main form. + /// + private Point ComputeSidePanelLocation(Form sidePanel) { + //Check if moving the panel on the form's right would put it off-screen + var screen = Screen.FromControl(this); + if (Location.X + Width + sidePanel.Width > screen.WorkingArea.Right) { + return new Point(Location.X - sidePanel.Width, Location.Y); + } + else { + return new Point(Location.X + Width, Location.Y); + } + } + + void SidePanel_RequestClosing(object sender, EventArgs e) { + CloseSidePanel(); + } + + void Thumbnail_CloneClick(object sender, CloneClickEventArgs e) { + Win32Helper.InjectFakeMouseClick(CurrentThumbnailWindowHandle.Handle, e); + } + + } + +} diff --git a/OnTopReplica/MainForm_Features.cs b/OnTopReplica/MainForm_Features.cs new file mode 100644 index 0000000..2e2586a --- /dev/null +++ b/OnTopReplica/MainForm_Features.cs @@ -0,0 +1,130 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Properties; +using WindowsFormsAero.TaskDialog; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + //Contains some feature implementations of MainForm + partial class MainForm { + + #region Click forwarding + + public bool ClickForwardingEnabled { + get { + return _thumbnailPanel.ReportThumbnailClicks; + } + set { + if (value && Settings.Default.FirstTimeClickForwarding) { + TaskDialog dlg = new TaskDialog(Strings.InfoClickForwarding, Strings.InfoClickForwardingTitle, Strings.InfoClickForwardingContent) { + CommonButtons = TaskDialogButton.Yes | TaskDialogButton.No + }; + if (dlg.Show(this).CommonButton == Result.No) + return; + + Settings.Default.FirstTimeClickForwarding = false; + } + + _thumbnailPanel.ReportThumbnailClicks = value; + } + } + + #endregion + + #region Click-through + + bool _clickThrough = false; + readonly Color DefaultNonClickTransparencyKey; + + public bool ClickThroughEnabled { + get { + return _clickThrough; + } + set { + //Adjust opacity if fully opaque + /*if (value && Opacity == 1.0) + Opacity = 0.75; + if (!value) + Opacity = 1.0;*/ + + //Enable transparency and force as top-most + TransparencyKey = (value) ? Color.Black : DefaultNonClickTransparencyKey; + if (value) + TopMost = true; + + _clickThrough = value; + } + } + + #endregion + + #region Chrome + + readonly FormBorderStyle DefaultBorderStyle; // = FormBorderStyle.Sizable; // FormBorderStyle.SizableToolWindow; + + public bool IsChromeVisible { + get { + return (FormBorderStyle == DefaultBorderStyle); + } + set { + //Cancel hiding chrome if no thumbnail is shown + if (!value && !_thumbnailPanel.IsShowingThumbnail) + return; + + if (!value) { + Location = new Point { + X = Location.X + SystemInformation.FrameBorderSize.Width, + Y = Location.Y + SystemInformation.FrameBorderSize.Height + }; + FormBorderStyle = FormBorderStyle.None; + } + else if(value) { + Location = new Point { + X = Location.X - SystemInformation.FrameBorderSize.Width, + Y = Location.Y - SystemInformation.FrameBorderSize.Height + }; + FormBorderStyle = DefaultBorderStyle; + } + + Program.Platform.OnFormStateChange(this); + Invalidate(); + } + } + + #endregion + + #region Position lock + + ScreenPosition? _positionLock = null; + + /// + /// Gets or sets the screen position where the window is currently locked in. + /// + public ScreenPosition? PositionLock { + get { + return _positionLock; + } + set { + if (value != null) + this.SetScreenPosition(value.Value); + + _positionLock = value; + } + } + + /// + /// Refreshes window position if in lock mode. + /// + private void RefreshScreenLock() { + //If locked in position, move accordingly + if (PositionLock.HasValue) { + this.SetScreenPosition(PositionLock.Value); + } + } + + #endregion + + } +} diff --git a/OnTopReplica/MainForm_Gui.cs b/OnTopReplica/MainForm_Gui.cs new file mode 100644 index 0000000..cf7b094 --- /dev/null +++ b/OnTopReplica/MainForm_Gui.cs @@ -0,0 +1,134 @@ +using System.Drawing; +using System.Windows.Forms; +using WindowsFormsAero.TaskDialog; + +namespace OnTopReplica { + partial class MainForm { + + /// + /// Opens the context menu. + /// + public void OpenContextMenu() { + if (IsFullscreen) { + menuFullscreenContext.Show(MousePosition); + } + else { + menuContext.Show(MousePosition); + } + } + + private Point RecenterLocation(Control original, Control final) { + int origX = original.Location.X + original.Size.Width / 2; + int origY = original.Location.Y + original.Size.Height / 2; + + int finX = origX - final.Size.Width / 2; + int finY = origY - final.Size.Height / 2; + + //Check boundaries + var screen = Screen.FromControl(final); + if (finX < screen.WorkingArea.X) + finX = screen.WorkingArea.X; + if (finX + final.Size.Width > screen.WorkingArea.Width) + finX = screen.WorkingArea.Width - final.Size.Width; + if (finY < screen.WorkingArea.Y) + finY = screen.WorkingArea.Y; + if (finY + final.Size.Height > screen.WorkingArea.Height) + finY = screen.WorkingArea.Height - final.Size.Height; + + return new Point(finX, finY); + } + + /// + /// Gets the window's vertical chrome size. + /// + public int ChromeBorderVertical { + get { + if (IsChromeVisible) + return SystemInformation.FrameBorderSize.Height; + else + return 0; + } + } + + /// + /// Gets the window's horizontal chrome size. + /// + public int ChromeBorderHorizontal { + get { + if (IsChromeVisible) + return SystemInformation.FrameBorderSize.Width; + else + return 0; + } + } + + /// + /// Displays an error task dialog. + /// + /// Main instruction of the error dialog. + /// Detailed informations about the error. + /// Expanded error codes/messages. + private void ShowErrorDialog(string mainInstruction, string explanation, string errorMessage) { + TaskDialog dlg = new TaskDialog(mainInstruction, Strings.ErrorGenericTitle, explanation) { + CommonIcon = TaskDialogIcon.Stop, + IsExpanded = false + }; + + if (!string.IsNullOrEmpty(errorMessage)) { + dlg.ExpandedInformation = Strings.ErrorGenericInfoText + errorMessage; + dlg.ExpandedControlText = Strings.ErrorGenericInfoButton; + } + + dlg.Show(this); + } + + /// + /// Ensures that the main form is visible (either closing the fullscreen mode or reactivating from task icon). + /// + public void EnsureMainFormVisible() { + //Reset special modes + IsFullscreen = false; + ClickThroughEnabled = false; + Opacity = 1.0; + + //Restore main form in a platform-dependent method + Program.Platform.RestoreForm(this); + } + + /// + /// Opens a confirmation dialog to confirm whether to reset the main form or not. + /// + public void ResetMainFormWithConfirmation() { + var dlg = new TaskDialog(Strings.AskReset, Strings.AskResetTitle, Strings.AskResetContent); + dlg.UseCommandLinks = true; + dlg.CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, Strings.AskResetButtonOk), + new CustomButton(Result.Cancel, Strings.ButtonCancel) + }; + dlg.CommonIcon = TaskDialogIcon.Information; + + if (dlg.Show(this).CommonButton == Result.OK) { + ResetMainForm(); + } + } + + /// + /// Resets the main form to its initial state. + /// + public void ResetMainForm() { + //Reset form settings + UnsetThumbnail(); + CloseSidePanel(); + + //Reset location and size (edge of the screen, min size) + Point nuLoc = Screen.PrimaryScreen.WorkingArea.Location; + nuLoc.Offset(40, 40); + Location = nuLoc; + Size = new Size(240, 220); + + this.Show(); + this.Activate(); + } + + } +} diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs new file mode 100644 index 0000000..d699af8 --- /dev/null +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -0,0 +1,189 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using WindowsFormsAero.TaskDialog; +using OnTopReplica.SidePanels; + +namespace OnTopReplica { + partial class MainForm { + + private void Menu_opening(object sender, CancelEventArgs e) { + //Cancel if currently in "fullscreen" mode or a side panel is open + if (IsFullscreen || IsSidePanelOpen) { + e.Cancel = true; + return; + } + + bool showing = _thumbnailPanel.IsShowingThumbnail; + + selectRegionToolStripMenuItem.Enabled = showing; + switchToWindowToolStripMenuItem.Enabled = showing; + resizeToolStripMenuItem.Enabled = showing; + chromeToolStripMenuItem.Checked = IsChromeVisible; + clickForwardingToolStripMenuItem.Checked = ClickForwardingEnabled; + chromeToolStripMenuItem.Enabled = showing; + clickThroughToolStripMenuItem.Enabled = showing; + clickForwardingToolStripMenuItem.Enabled = showing; + } + + private void Menu_Switch_click(object sender, EventArgs e) { + if (CurrentThumbnailWindowHandle == null) + return; + + Program.Platform.HideForm(this); + Native.WindowManagerMethods.SetForegroundWindow(CurrentThumbnailWindowHandle.Handle); + } + + private void Menu_Advanced_opening(object sender, EventArgs e) { + restoreLastClonedWindowToolStripMenuItem.Checked = Settings.Default.RestoreLastWindow; + } + + private void Menu_GroupSwitchMode_click(object sender, EventArgs e) { + SetSidePanel(new SidePanels.GroupSwitchPanel()); + } + + private void Menu_RestoreLastWindow_click(object sender, EventArgs e) { + Settings.Default.RestoreLastWindow = !Settings.Default.RestoreLastWindow; + } + + private void Menu_ClickForwarding_click(object sender, EventArgs e) { + ClickForwardingEnabled = !ClickForwardingEnabled; + } + + private void Menu_ClickThrough_click(object sender, EventArgs e) { + ClickThroughEnabled = true; + } + + private void Menu_Opacity_opening(object sender, CancelEventArgs e) { + ToolStripMenuItem[] items = { + toolStripMenuItem1, + toolStripMenuItem2, + toolStripMenuItem3, + toolStripMenuItem4 + }; + + foreach (ToolStripMenuItem i in items) { + if (((double)i.Tag) == this.Opacity) + i.Checked = true; + else + i.Checked = false; + } + } + + private void Menu_Opacity_click(object sender, EventArgs e) { + //Get clicked menu item + ToolStripMenuItem tsi = sender as ToolStripMenuItem; + + if (tsi != null && this.Visible) { + //Get opacity from the tag + this.Opacity = (double)tsi.Tag; + Program.Platform.OnFormStateChange(this); + } + } + + private void Menu_Region_click(object sender, EventArgs e) { + SetSidePanel(new OnTopReplica.SidePanels.RegionPanel()); + } + + private void Menu_Resize_opening(object sender, CancelEventArgs e) { + if (!_thumbnailPanel.IsShowingThumbnail) + e.Cancel = true; + + restorePositionAndSizeToolStripMenuItem.Checked = Settings.Default.RestoreSizeAndPosition; + } + + private void Menu_Resize_Double(object sender, EventArgs e) { + FitToThumbnail(2.0); + } + + private void Menu_Resize_FitToWindow(object sender, EventArgs e) { + FitToThumbnail(1.0); + } + + private void Menu_Resize_Half(object sender, EventArgs e) { + FitToThumbnail(0.5); + } + + private void Menu_Resize_Quarter(object sender, EventArgs e) { + FitToThumbnail(0.25); + } + + private void Menu_Resize_Fullscreen(object sender, EventArgs e) { + IsFullscreen = true; + } + + private void Menu_Resize_RecallPosition_click(object sender, EventArgs e) { + Settings.Default.RestoreSizeAndPosition = !Settings.Default.RestoreSizeAndPosition; + } + + private void Menu_Position_Opening(object sender, EventArgs e) { + disabledToolStripMenuItem.Checked = (PositionLock == null); + topLeftToolStripMenuItem.Checked = (PositionLock == ScreenPosition.TopLeft); + topRightToolStripMenuItem.Checked = (PositionLock == ScreenPosition.TopRight); + centerToolStripMenuItem.Checked = (PositionLock == ScreenPosition.Center); + bottomLeftToolStripMenuItem.Checked = (PositionLock == ScreenPosition.BottomLeft); + bottomRightToolStripMenuItem.Checked = (PositionLock == ScreenPosition.BottomRight); + } + + private void Menu_Position_Disable(object sender, EventArgs e) { + PositionLock = null; + } + + private void Menu_Position_TopLeft(object sender, EventArgs e) { + PositionLock = ScreenPosition.TopLeft; + } + + private void Menu_Position_TopRight(object sender, EventArgs e) { + PositionLock = ScreenPosition.TopRight; + } + + private void Menu_Position_Center(object sender, EventArgs e) { + PositionLock = ScreenPosition.Center; + } + + private void Menu_Position_BottomLeft(object sender, EventArgs e) { + PositionLock = ScreenPosition.BottomLeft; + } + + private void Menu_Position_BottomRight(object sender, EventArgs e) { + PositionLock = ScreenPosition.BottomRight; + } + + private void Menu_Reduce_click(object sender, EventArgs e) { + //Hide form in a platform specific way + Program.Platform.HideForm(this); + } + + private void Menu_Chrome_click(object sender, EventArgs e) { + IsChromeVisible = !IsChromeVisible; + } + + private void Menu_Settings_click(object sender, EventArgs e) { + this.SetSidePanel(new OptionsPanel()); + } + + private void Menu_About_click(object sender, EventArgs e) { + /*this.Hide(); + + using (var box = new AboutForm()) { + box.Location = RecenterLocation(this, box); + box.ShowDialog(); + Location = RecenterLocation(box, this); + } + + this.Show();*/ + this.SetSidePanel(new AboutPanel()); + } + + private void Menu_Close_click(object sender, EventArgs e) { + this.Close(); + } + + private void Menu_Fullscreen_ExitFullscreen_click(object sender, EventArgs e) { + IsFullscreen = false; + } + + } +} diff --git a/OnTopReplica/MessagePumpManager.cs b/OnTopReplica/MessagePumpManager.cs new file mode 100644 index 0000000..20993d7 --- /dev/null +++ b/OnTopReplica/MessagePumpManager.cs @@ -0,0 +1,93 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using OnTopReplica.MessagePumpProcessors; +using OnTopReplica.Native; + +namespace OnTopReplica { + class MessagePumpManager : IDisposable { + + Dictionary _processors = new Dictionary(); + + public MainForm Form { get; private set; } + + private void Register(IMessagePumpProcessor processor, MainForm form) { + _processors[processor.GetType()] = processor; + processor.Initialize(form); + +#if DEBUG + Console.WriteLine("Registered message pump processor: {0}", processor.GetType()); +#endif + } + + /// + /// Instantiates all message pump processors and registers them on the main form. + /// + /// + public void Initialize(MainForm form) { + Form = form; + + //Register window shell hook + if (!HookMethods.RegisterShellHookWindow(form.Handle)) { + Console.Error.WriteLine("Failed to register shell hook window."); + } + else { +#if DEBUG + Console.WriteLine("Shell hook window registered successfully."); +#endif + } + + //Register message pump processors + Register(new WindowKeeper(), form); + Register(new HotKeyManager(), form); + Register(new GroupSwitchManager(), form); +#if DEBUG + //Register(new ShellInterceptProcessor(), form); +#endif + } + + /// + /// Run the registered message pump processors. + /// + /// Message to process. + /// True if the message has been handled internally. + public bool PumpMessage(ref Message msg) { + foreach (var processor in _processors.Values) { + if (processor.Process(ref msg)) + return true; + } + + return false; + } + + /// + /// Get the instance of a registered message pump processor. + /// Throws if instance not found. + /// + public T Get() { + return (T)_processors[typeof(T)]; + } + + #region IDisposable Members + + public void Dispose() { + if (!HookMethods.DeregisterShellHookWindow(Form.Handle)) { + Console.Error.WriteLine("Failed to deregister shell hook window."); + } + else { +#if DEBUG + Console.WriteLine("Deregistered shell hook window successfully."); +#endif + } + + foreach (var processor in _processors.Values) { + processor.Dispose(); + } + _processors.Clear(); + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs new file mode 100644 index 0000000..cfb2c5a --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.MessagePumpProcessors { + abstract class BaseMessagePumpProcessor : IMessagePumpProcessor { + + protected MainForm Form { get; private set; } + + #region IMessagePumpProcessor Members + + public virtual void Initialize(MainForm form) { + Form = form; + } + + public abstract bool Process(ref Message msg); + + #endregion + + protected abstract void Shutdown(); + + bool _isDisposed = false; + + #region IDisposable Members + + public void Dispose() { + if (_isDisposed) + return; + + Shutdown(); + + _isDisposed = true; + } + + #endregion + + } +} diff --git a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs new file mode 100644 index 0000000..2bfd3e9 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs @@ -0,0 +1,143 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Diagnostics; +using System.Reflection; +using System.IO; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + class GroupSwitchManager : BaseMessagePumpProcessor { + + bool _active = false; + List _lruHandles; + + /// + /// Enables group switch mode. + /// + /// List of window handles to track. + public void EnableGroupMode(IList handles) { + if (handles == null || handles.Count == 0) + return; + + //Okey dokey, will now track handles + TrackHandles(handles); + _active = true; + } + + /// + /// Initializes the LRU sorted list of window handles. + /// + private void TrackHandles(IList handles) { + _lruHandles = new List(handles.Count); + var now = DateTime.Now; + + foreach(var h in handles){ + _lruHandles.Add(new WindowHandleWrapper { + WindowHandle = h, + LastTimeUsed = now + }); + } + } + + /// + /// Disables group switch mode. + /// + public void Disable() { + if (!_active) + return; + + _lruHandles = null; + _active = false; + } + + /// + /// Processes the message pump. + /// + public override bool Process(ref Message msg) { + if (_active && msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + if (hookCode == HookMethods.HSHELL_WINDOWACTIVATED || + hookCode == HookMethods.HSHELL_RUDEAPPACTIVATED) { + + IntPtr activeHandle = msg.LParam; + HandleForegroundWindowChange(activeHandle); + } + } + + return false; + } + + private void HandleForegroundWindowChange(IntPtr activeWindow) { +#if DEBUG + Console.Write("New active window (h {0}). ", activeWindow); +#endif + + //Seek window in tracked handles + WindowHandleWrapper activated = null; + foreach (var i in _lruHandles) { + if (i.WindowHandle.Handle == activeWindow) + activated = i; + } + + if (activated == null) { +#if DEBUG + //new foreground window is not tracked + Console.WriteLine("Active window is not tracked."); +#endif + return; + } + + //Update tracked handle + activated.LastTimeUsed = DateTime.Now; + _lruHandles.Sort(new LruDateTimeComparer()); + + //Get least recently used + var next = _lruHandles[0]; + +#if DEBUG + Console.WriteLine("Tracked. Switching to {0} (last use: {1}).", next.WindowHandle.Title, next.LastTimeUsed); +#endif + + Form.SetThumbnail(next.WindowHandle, null); + } + + protected override void Shutdown() { + Disable(); + } + + /// + /// Gets whether the group switch manager ia active. + /// + public bool IsActive { + get { + return _active; + } + } + + #region List sorting stuff + + class WindowHandleWrapper { + public WindowHandle WindowHandle { get; set; } + public DateTime LastTimeUsed { get; set; } + } + + class LruDateTimeComparer : IComparer { + + #region IComparer Members + + public int Compare(WindowHandleWrapper x, WindowHandleWrapper y) { + return x.LastTimeUsed.CompareTo(y.LastTimeUsed); + } + + #endregion + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs new file mode 100644 index 0000000..7b1b93e --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs @@ -0,0 +1,168 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; +using OnTopReplica.Properties; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// HotKey registration helper. + /// + class HotKeyManager : BaseMessagePumpProcessor { + + public HotKeyManager() { + Enabled = true; + } + + delegate void HotKeyHandler(); + + /// + /// Wraps hot key handler registration data. + /// + private class HotKeyHandlerRegistration : IDisposable { + private HotKeyHandlerRegistration() { + } + + private HotKeyHandlerRegistration(IntPtr hwnd, int key, HotKeyHandler handler) { + if (hwnd == IntPtr.Zero) + throw new ArgumentException(); + if (handler == null) + throw new ArgumentNullException(); + + _hwnd = hwnd; + RegistrationKey = key; + Handler = handler; + } + + static int _lastUsedKey = 0; + + /// + /// Registers a new hotkey and returns a handle to the registration. + /// + /// Returns null on failure. + public static HotKeyHandlerRegistration Register(Form owner, int keyCode, int modifiers, HotKeyHandler handler) { + var key = ++_lastUsedKey; + + if (!HotKeyMethods.RegisterHotKey(owner.Handle, key, modifiers, keyCode)) { + Console.Error.WriteLine("Failed to create hotkey on keys {0}.", keyCode); + return null; + } + + return new HotKeyHandlerRegistration(owner.Handle, key, handler); + } + + IntPtr _hwnd; + public int RegistrationKey { get; private set; } + public HotKeyHandler Handler { get; private set; } + + public void Dispose() { + if (!HotKeyMethods.UnregisterHotKey(_hwnd, RegistrationKey)) { + Console.Error.WriteLine("Failed to unregister hotkey #{0}.", RegistrationKey); + } + } + } + + Dictionary _handlers = new Dictionary(); + + public override void Initialize(MainForm form) { + base.Initialize(form); + + RefreshHotkeys(); + } + + public override bool Process(ref Message msg) { + if (Enabled && msg.Msg == HotKeyMethods.WM_HOTKEY) { + int keyId = msg.WParam.ToInt32(); + if (!_handlers.ContainsKey(keyId)) + return false; + + _handlers[keyId].Handler.Invoke(); + } + + return false; + } + + public bool Enabled { get; set; } + + /// + /// Refreshes registered hotkeys from Settings. + /// + /// + /// Application settings contain hotkey registration strings that are used + /// automatically by this registration process. + /// + public void RefreshHotkeys() { + ClearHandlers(); + + RegisterHandler(Settings.Default.HotKeyCloneCurrent, HotKeyCloneHandler); + RegisterHandler(Settings.Default.HotKeyShowHide, HotKeyShowHideHandler); + } + + private void RegisterHandler(string spec, HotKeyHandler handler) { + if (string.IsNullOrEmpty(spec)) + return; //this can happen and is allowed => simply don't register + if (handler == null) + throw new ArgumentNullException(); + + int modifiers = 0, keyCode = 0; + + try { + HotKeyMethods.TranslateStringToKeyValues(spec, out modifiers, out keyCode); + } + catch (ArgumentException) { + //TODO: swallowed exception + return; + } + + var reg = HotKeyHandlerRegistration.Register(Form, keyCode, modifiers, handler); + if(reg != null) + _handlers.Add(reg.RegistrationKey, reg); + } + + private void ClearHandlers() { + foreach (var hotkey in _handlers) { + hotkey.Value.Dispose(); + } + _handlers.Clear(); + } + + protected override void Shutdown() { + ClearHandlers(); + } + + #region Hotkey callbacks + + /// + /// Handles "show/hide" hotkey. Ensures the form is in restored state and switches + /// between shown and hidden states. + /// + void HotKeyShowHideHandler() { + if (Form.IsFullscreen) + Form.IsFullscreen = false; + + if (!Program.Platform.IsHidden(Form)) { + Program.Platform.HideForm(Form); + } + else { + Form.EnsureMainFormVisible(); + } + } + + /// + /// Handles the "clone current" hotkey. + /// + void HotKeyCloneHandler() { + var handle = Win32Helper.GetCurrentForegroundWindow(); + if (handle.Handle == Form.Handle) + return; + + Form.SetThumbnail(handle, null); + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs b/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs new file mode 100644 index 0000000..dc4f899 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + +#if DEBUG + + /// + /// Basic shell message interceptor to use for debugging. + /// + class ShellInterceptProcessor : BaseMessagePumpProcessor { + + public override bool Process(ref Message msg) { + if (msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + + Console.WriteLine("Hook msg #{0}: {1}", hookCode, msg.LParam); + } + + return false; + } + + protected override void Shutdown() { + + } + + } + +#endif + +} diff --git a/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs new file mode 100644 index 0000000..4a0c548 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// Listens for shell events and closes the thumbnail if a cloned window is destroyed. + /// + class WindowKeeper : BaseMessagePumpProcessor { + + public override bool Process(ref Message msg) { + if (Form.CurrentThumbnailWindowHandle != null && + msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + + if (hookCode == HookMethods.HSHELL_WINDOWDESTROYED) { + //Check whether the destroyed window is the one we were cloning + IntPtr destroyedHandle = msg.LParam; + if (destroyedHandle == Form.CurrentThumbnailWindowHandle.Handle) { + //Disable group switch mode, since a window of the group has been destroyed + Form.MessagePumpManager.Get().Disable(); + + //Disable cloning + Form.UnsetThumbnail(); + } + } + } + + return false; + } + + protected override void Shutdown() { + + } + } + +} diff --git a/OnTopReplica/NDesk/Options/Options.cs b/OnTopReplica/NDesk/Options/Options.cs new file mode 100644 index 0000000..871d2d7 --- /dev/null +++ b/OnTopReplica/NDesk/Options/Options.cs @@ -0,0 +1,1103 @@ +// +// Options.cs +// +// Authors: +// Jonathan Pryor +// +// Copyright (C) 2008 Novell (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +// Compile With: +// gmcs -debug+ -r:System.Core Options.cs -o:NDesk.Options.dll +// gmcs -debug+ -d:LINQ -r:System.Core Options.cs -o:NDesk.Options.dll +// +// The LINQ version just changes the implementation of +// OptionSet.Parse(IEnumerable), and confers no semantic changes. + +// +// A Getopt::Long-inspired option parsing library for C#. +// +// NDesk.Options.OptionSet is built upon a key/value table, where the +// key is a option format string and the value is a delegate that is +// invoked when the format string is matched. +// +// Option format strings: +// Regex-like BNF Grammar: +// name: .+ +// type: [=:] +// sep: ( [^{}]+ | '{' .+ '}' )? +// aliases: ( name type sep ) ( '|' name type sep )* +// +// Each '|'-delimited name is an alias for the associated action. If the +// format string ends in a '=', it has a required value. If the format +// string ends in a ':', it has an optional value. If neither '=' or ':' +// is present, no value is supported. `=' or `:' need only be defined on one +// alias, but if they are provided on more than one they must be consistent. +// +// Each alias portion may also end with a "key/value separator", which is used +// to split option values if the option accepts > 1 value. If not specified, +// it defaults to '=' and ':'. If specified, it can be any character except +// '{' and '}' OR the *string* between '{' and '}'. If no separator should be +// used (i.e. the separate values should be distinct arguments), then "{}" +// should be used as the separator. +// +// Options are extracted either from the current option by looking for +// the option name followed by an '=' or ':', or is taken from the +// following option IFF: +// - The current option does not contain a '=' or a ':' +// - The current option requires a value (i.e. not a Option type of ':') +// +// The `name' used in the option format string does NOT include any leading +// option indicator, such as '-', '--', or '/'. All three of these are +// permitted/required on any named option. +// +// Option bundling is permitted so long as: +// - '-' is used to start the option group +// - all of the bundled options are a single character +// - at most one of the bundled options accepts a value, and the value +// provided starts from the next character to the end of the string. +// +// This allows specifying '-a -b -c' as '-abc', and specifying '-D name=value' +// as '-Dname=value'. +// +// Option processing is disabled by specifying "--". All options after "--" +// are returned by OptionSet.Parse() unchanged and unprocessed. +// +// Unprocessed options are returned from OptionSet.Parse(). +// +// Examples: +// int verbose = 0; +// OptionSet p = new OptionSet () +// .Add ("v", v => ++verbose) +// .Add ("name=|value=", v => Console.WriteLine (v)); +// p.Parse (new string[]{"-v", "--v", "/v", "-name=A", "/name", "B", "extra"}); +// +// The above would parse the argument string array, and would invoke the +// lambda expression three times, setting `verbose' to 3 when complete. +// It would also print out "A" and "B" to standard output. +// The returned array would contain the string "extra". +// +// C# 3.0 collection initializers are supported and encouraged: +// var p = new OptionSet () { +// { "h|?|help", v => ShowHelp () }, +// }; +// +// System.ComponentModel.TypeConverter is also supported, allowing the use of +// custom data types in the callback type; TypeConverter.ConvertFromString() +// is used to convert the value option to an instance of the specified +// type: +// +// var p = new OptionSet () { +// { "foo=", (Foo f) => Console.WriteLine (f.ToString ()) }, +// }; +// +// Random other tidbits: +// - Boolean options (those w/o '=' or ':' in the option format string) +// are explicitly enabled if they are followed with '+', and explicitly +// disabled if they are followed with '-': +// string a = null; +// var p = new OptionSet () { +// { "a", s => a = s }, +// }; +// p.Parse (new string[]{"-a"}); // sets v != null +// p.Parse (new string[]{"-a+"}); // sets v != null +// p.Parse (new string[]{"-a-"}); // sets v == null +// + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Globalization; +using System.IO; +using System.Runtime.Serialization; +using System.Security.Permissions; +using System.Text; +using System.Text.RegularExpressions; + +#if LINQ +using System.Linq; +#endif + +#if TEST +using NDesk.Options; +#endif + +namespace NDesk.Options { + + public class OptionValueCollection : IList, IList { + + List values = new List (); + OptionContext c; + + internal OptionValueCollection (OptionContext c) + { + this.c = c; + } + + #region ICollection + void ICollection.CopyTo (Array array, int index) {(values as ICollection).CopyTo (array, index);} + bool ICollection.IsSynchronized {get {return (values as ICollection).IsSynchronized;}} + object ICollection.SyncRoot {get {return (values as ICollection).SyncRoot;}} + #endregion + + #region ICollection + public void Add (string item) {values.Add (item);} + public void Clear () {values.Clear ();} + public bool Contains (string item) {return values.Contains (item);} + public void CopyTo (string[] array, int arrayIndex) {values.CopyTo (array, arrayIndex);} + public bool Remove (string item) {return values.Remove (item);} + public int Count {get {return values.Count;}} + public bool IsReadOnly {get {return false;}} + #endregion + + #region IEnumerable + IEnumerator IEnumerable.GetEnumerator () {return values.GetEnumerator ();} + #endregion + + #region IEnumerable + public IEnumerator GetEnumerator () {return values.GetEnumerator ();} + #endregion + + #region IList + int IList.Add (object value) {return (values as IList).Add (value);} + bool IList.Contains (object value) {return (values as IList).Contains (value);} + int IList.IndexOf (object value) {return (values as IList).IndexOf (value);} + void IList.Insert (int index, object value) {(values as IList).Insert (index, value);} + void IList.Remove (object value) {(values as IList).Remove (value);} + void IList.RemoveAt (int index) {(values as IList).RemoveAt (index);} + bool IList.IsFixedSize {get {return false;}} + object IList.this [int index] {get {return this [index];} set {(values as IList)[index] = value;}} + #endregion + + #region IList + public int IndexOf (string item) {return values.IndexOf (item);} + public void Insert (int index, string item) {values.Insert (index, item);} + public void RemoveAt (int index) {values.RemoveAt (index);} + + private void AssertValid (int index) + { + if (c.Option == null) + throw new InvalidOperationException ("OptionContext.Option is null."); + if (index >= c.Option.MaxValueCount) + throw new ArgumentOutOfRangeException ("index"); + if (c.Option.OptionValueType == OptionValueType.Required && + index >= values.Count) + throw new OptionException (string.Format ( + c.OptionSet.MessageLocalizer ("Missing required value for option '{0}'."), c.OptionName), + c.OptionName); + } + + public string this [int index] { + get { + AssertValid (index); + return index >= values.Count ? null : values [index]; + } + set { + values [index] = value; + } + } + #endregion + + public List ToList () + { + return new List (values); + } + + public string[] ToArray () + { + return values.ToArray (); + } + + public override string ToString () + { + return string.Join (", ", values.ToArray ()); + } + } + + public class OptionContext { + private Option option; + private string name; + private int index; + private OptionSet set; + private OptionValueCollection c; + + public OptionContext (OptionSet set) + { + this.set = set; + this.c = new OptionValueCollection (this); + } + + public Option Option { + get {return option;} + set {option = value;} + } + + public string OptionName { + get {return name;} + set {name = value;} + } + + public int OptionIndex { + get {return index;} + set {index = value;} + } + + public OptionSet OptionSet { + get {return set;} + } + + public OptionValueCollection OptionValues { + get {return c;} + } + } + + public enum OptionValueType { + None, + Optional, + Required, + } + + public abstract class Option { + string prototype, description; + string[] names; + OptionValueType type; + int count; + string[] separators; + + protected Option (string prototype, string description) + : this (prototype, description, 1) + { + } + + protected Option (string prototype, string description, int maxValueCount) + { + if (prototype == null) + throw new ArgumentNullException ("prototype"); + if (prototype.Length == 0) + throw new ArgumentException ("Cannot be the empty string.", "prototype"); + if (maxValueCount < 0) + throw new ArgumentOutOfRangeException ("maxValueCount"); + + this.prototype = prototype; + this.names = prototype.Split ('|'); + this.description = description; + this.count = maxValueCount; + this.type = ParsePrototype (); + + if (this.count == 0 && type != OptionValueType.None) + throw new ArgumentException ( + "Cannot provide maxValueCount of 0 for OptionValueType.Required or " + + "OptionValueType.Optional.", + "maxValueCount"); + if (this.type == OptionValueType.None && maxValueCount > 1) + throw new ArgumentException ( + string.Format ("Cannot provide maxValueCount of {0} for OptionValueType.None.", maxValueCount), + "maxValueCount"); + if (Array.IndexOf (names, "<>") >= 0 && + ((names.Length == 1 && this.type != OptionValueType.None) || + (names.Length > 1 && this.MaxValueCount > 1))) + throw new ArgumentException ( + "The default option handler '<>' cannot require values.", + "prototype"); + } + + public string Prototype {get {return prototype;}} + public string Description {get {return description;}} + public OptionValueType OptionValueType {get {return type;}} + public int MaxValueCount {get {return count;}} + + public string[] GetNames () + { + return (string[]) names.Clone (); + } + + public string[] GetValueSeparators () + { + if (separators == null) + return new string [0]; + return (string[]) separators.Clone (); + } + + protected static T Parse (string value, OptionContext c) + { + TypeConverter conv = TypeDescriptor.GetConverter(typeof(T)); + T t = default (T); + try { + if (value != null) + t = (T) conv.ConvertFromString (value); + } + catch (Exception e) { + throw new OptionException ( + string.Format ( + c.OptionSet.MessageLocalizer ("Could not convert string `{0}' to type {1} for option `{2}'."), + value, typeof (T).Name, c.OptionName), + c.OptionName, e); + } + return t; + } + + internal string[] Names {get {return names;}} + internal string[] ValueSeparators {get {return separators;}} + + static readonly char[] NameTerminator = new char[]{'=', ':'}; + + private OptionValueType ParsePrototype () + { + char type = '\0'; + List seps = new List (); + for (int i = 0; i < names.Length; ++i) { + string name = names [i]; + if (name.Length == 0) + throw new ArgumentException ("Empty option names are not supported.", "prototype"); + + int end = name.IndexOfAny (NameTerminator); + if (end == -1) + continue; + names [i] = name.Substring (0, end); + if (type == '\0' || type == name [end]) + type = name [end]; + else + throw new ArgumentException ( + string.Format ("Conflicting option types: '{0}' vs. '{1}'.", type, name [end]), + "prototype"); + AddSeparators (name, end, seps); + } + + if (type == '\0') + return OptionValueType.None; + + if (count <= 1 && seps.Count != 0) + throw new ArgumentException ( + string.Format ("Cannot provide key/value separators for Options taking {0} value(s).", count), + "prototype"); + if (count > 1) { + if (seps.Count == 0) + this.separators = new string[]{":", "="}; + else if (seps.Count == 1 && seps [0].Length == 0) + this.separators = null; + else + this.separators = seps.ToArray (); + } + + return type == '=' ? OptionValueType.Required : OptionValueType.Optional; + } + + private static void AddSeparators (string name, int end, ICollection seps) + { + int start = -1; + for (int i = end+1; i < name.Length; ++i) { + switch (name [i]) { + case '{': + if (start != -1) + throw new ArgumentException ( + string.Format ("Ill-formed name/value separator found in \"{0}\".", name), + "prototype"); + start = i+1; + break; + case '}': + if (start == -1) + throw new ArgumentException ( + string.Format ("Ill-formed name/value separator found in \"{0}\".", name), + "prototype"); + seps.Add (name.Substring (start, i-start)); + start = -1; + break; + default: + if (start == -1) + seps.Add (name [i].ToString ()); + break; + } + } + if (start != -1) + throw new ArgumentException ( + string.Format ("Ill-formed name/value separator found in \"{0}\".", name), + "prototype"); + } + + public void Invoke (OptionContext c) + { + OnParseComplete (c); + c.OptionName = null; + c.Option = null; + c.OptionValues.Clear (); + } + + protected abstract void OnParseComplete (OptionContext c); + + public override string ToString () + { + return Prototype; + } + } + + [Serializable] + public class OptionException : Exception { + private string option; + + public OptionException () + { + } + + public OptionException (string message, string optionName) + : base (message) + { + this.option = optionName; + } + + public OptionException (string message, string optionName, Exception innerException) + : base (message, innerException) + { + this.option = optionName; + } + + protected OptionException (SerializationInfo info, StreamingContext context) + : base (info, context) + { + this.option = info.GetString ("OptionName"); + } + + public string OptionName { + get {return this.option;} + } + + [SecurityPermission (SecurityAction.LinkDemand, SerializationFormatter = true)] + public override void GetObjectData (SerializationInfo info, StreamingContext context) + { + base.GetObjectData (info, context); + info.AddValue ("OptionName", option); + } + } + + public delegate void OptionAction (TKey key, TValue value); + + public class OptionSet : KeyedCollection + { + public OptionSet () + : this (delegate (string f) {return f;}) + { + } + + public OptionSet (Converter localizer) + { + this.localizer = localizer; + } + + Converter localizer; + + public Converter MessageLocalizer { + get {return localizer;} + } + + protected override string GetKeyForItem (Option item) + { + if (item == null) + throw new ArgumentNullException ("option"); + if (item.Names != null && item.Names.Length > 0) + return item.Names [0]; + // This should never happen, as it's invalid for Option to be + // constructed w/o any names. + throw new InvalidOperationException ("Option has no names!"); + } + + [Obsolete ("Use KeyedCollection.this[string]")] + protected Option GetOptionForName (string option) + { + if (option == null) + throw new ArgumentNullException ("option"); + try { + return base [option]; + } + catch (KeyNotFoundException) { + return null; + } + } + + protected override void InsertItem (int index, Option item) + { + base.InsertItem (index, item); + AddImpl (item); + } + + protected override void RemoveItem (int index) + { + base.RemoveItem (index); + Option p = Items [index]; + // KeyedCollection.RemoveItem() handles the 0th item + for (int i = 1; i < p.Names.Length; ++i) { + Dictionary.Remove (p.Names [i]); + } + } + + protected override void SetItem (int index, Option item) + { + base.SetItem (index, item); + RemoveItem (index); + AddImpl (item); + } + + private void AddImpl (Option option) + { + if (option == null) + throw new ArgumentNullException ("option"); + List added = new List (option.Names.Length); + try { + // KeyedCollection.InsertItem/SetItem handle the 0th name. + for (int i = 1; i < option.Names.Length; ++i) { + Dictionary.Add (option.Names [i], option); + added.Add (option.Names [i]); + } + } + catch (Exception) { + foreach (string name in added) + Dictionary.Remove (name); + throw; + } + } + + public new OptionSet Add (Option option) + { + base.Add (option); + return this; + } + + sealed class ActionOption : Option { + Action action; + + public ActionOption (string prototype, string description, int count, Action action) + : base (prototype, description, count) + { + if (action == null) + throw new ArgumentNullException ("action"); + this.action = action; + } + + protected override void OnParseComplete (OptionContext c) + { + action (c.OptionValues); + } + } + + public OptionSet Add (string prototype, Action action) + { + return Add (prototype, null, action); + } + + public OptionSet Add (string prototype, string description, Action action) + { + if (action == null) + throw new ArgumentNullException ("action"); + Option p = new ActionOption (prototype, description, 1, + delegate (OptionValueCollection v) { action (v [0]); }); + base.Add (p); + return this; + } + + public OptionSet Add (string prototype, OptionAction action) + { + return Add (prototype, null, action); + } + + public OptionSet Add (string prototype, string description, OptionAction action) + { + if (action == null) + throw new ArgumentNullException ("action"); + Option p = new ActionOption (prototype, description, 2, + delegate (OptionValueCollection v) {action (v [0], v [1]);}); + base.Add (p); + return this; + } + + sealed class ActionOption : Option { + Action action; + + public ActionOption (string prototype, string description, Action action) + : base (prototype, description, 1) + { + if (action == null) + throw new ArgumentNullException ("action"); + this.action = action; + } + + protected override void OnParseComplete (OptionContext c) + { + action (Parse (c.OptionValues [0], c)); + } + } + + sealed class ActionOption : Option { + OptionAction action; + + public ActionOption (string prototype, string description, OptionAction action) + : base (prototype, description, 2) + { + if (action == null) + throw new ArgumentNullException ("action"); + this.action = action; + } + + protected override void OnParseComplete (OptionContext c) + { + action ( + Parse (c.OptionValues [0], c), + Parse (c.OptionValues [1], c)); + } + } + + public OptionSet Add (string prototype, Action action) + { + return Add (prototype, null, action); + } + + public OptionSet Add (string prototype, string description, Action action) + { + return Add (new ActionOption (prototype, description, action)); + } + + public OptionSet Add (string prototype, OptionAction action) + { + return Add (prototype, null, action); + } + + public OptionSet Add (string prototype, string description, OptionAction action) + { + return Add (new ActionOption (prototype, description, action)); + } + + protected virtual OptionContext CreateOptionContext () + { + return new OptionContext (this); + } + +#if LINQ + public List Parse (IEnumerable arguments) + { + bool process = true; + OptionContext c = CreateOptionContext (); + c.OptionIndex = -1; + var def = GetOptionForName ("<>"); + var unprocessed = + from argument in arguments + where ++c.OptionIndex >= 0 && (process || def != null) + ? process + ? argument == "--" + ? (process = false) + : !Parse (argument, c) + ? def != null + ? Unprocessed (null, def, c, argument) + : true + : false + : def != null + ? Unprocessed (null, def, c, argument) + : true + : true + select argument; + List r = unprocessed.ToList (); + if (c.Option != null) + c.Option.Invoke (c); + return r; + } +#else + public List Parse (IEnumerable arguments) + { + OptionContext c = CreateOptionContext (); + c.OptionIndex = -1; + bool process = true; + List unprocessed = new List (); + Option def = Contains ("<>") ? this ["<>"] : null; + foreach (string argument in arguments) { + ++c.OptionIndex; + if (argument == "--") { + process = false; + continue; + } + if (!process) { + Unprocessed (unprocessed, def, c, argument); + continue; + } + if (!Parse (argument, c)) + Unprocessed (unprocessed, def, c, argument); + } + if (c.Option != null) + c.Option.Invoke (c); + return unprocessed; + } +#endif + + private static bool Unprocessed (ICollection extra, Option def, OptionContext c, string argument) + { + if (def == null) { + extra.Add (argument); + return false; + } + c.OptionValues.Add (argument); + c.Option = def; + c.Option.Invoke (c); + return false; + } + + private readonly Regex ValueOption = new Regex ( + @"^(?--|-|/)(?[^:=]+)((?[:=])(?.*))?$"); + + protected bool GetOptionParts (string argument, out string flag, out string name, out string sep, out string value) + { + if (argument == null) + throw new ArgumentNullException ("argument"); + + flag = name = sep = value = null; + Match m = ValueOption.Match (argument); + if (!m.Success) { + return false; + } + flag = m.Groups ["flag"].Value; + name = m.Groups ["name"].Value; + if (m.Groups ["sep"].Success && m.Groups ["value"].Success) { + sep = m.Groups ["sep"].Value; + value = m.Groups ["value"].Value; + } + return true; + } + + protected virtual bool Parse (string argument, OptionContext c) + { + if (c.Option != null) { + ParseValue (argument, c); + return true; + } + + string f, n, s, v; + if (!GetOptionParts (argument, out f, out n, out s, out v)) + return false; + + Option p; + if (Contains (n)) { + p = this [n]; + c.OptionName = f + n; + c.Option = p; + switch (p.OptionValueType) { + case OptionValueType.None: + c.OptionValues.Add (n); + c.Option.Invoke (c); + break; + case OptionValueType.Optional: + case OptionValueType.Required: + ParseValue (v, c); + break; + } + return true; + } + // no match; is it a bool option? + if (ParseBool (argument, n, c)) + return true; + // is it a bundled option? + if (ParseBundledValue (f, string.Concat (n + s + v), c)) + return true; + + return false; + } + + private void ParseValue (string option, OptionContext c) + { + if (option != null) + foreach (string o in c.Option.ValueSeparators != null + ? option.Split (c.Option.ValueSeparators, StringSplitOptions.None) + : new string[]{option}) { + c.OptionValues.Add (o); + } + if (c.OptionValues.Count == c.Option.MaxValueCount || + c.Option.OptionValueType == OptionValueType.Optional) + c.Option.Invoke (c); + else if (c.OptionValues.Count > c.Option.MaxValueCount) { + throw new OptionException (localizer (string.Format ( + "Error: Found {0} option values when expecting {1}.", + c.OptionValues.Count, c.Option.MaxValueCount)), + c.OptionName); + } + } + + private bool ParseBool (string option, string n, OptionContext c) + { + Option p; + string rn; + if (n.Length >= 1 && (n [n.Length-1] == '+' || n [n.Length-1] == '-') && + Contains ((rn = n.Substring (0, n.Length-1)))) { + p = this [rn]; + string v = n [n.Length-1] == '+' ? option : null; + c.OptionName = option; + c.Option = p; + c.OptionValues.Add (v); + p.Invoke (c); + return true; + } + return false; + } + + private bool ParseBundledValue (string f, string n, OptionContext c) + { + if (f != "-") + return false; + for (int i = 0; i < n.Length; ++i) { + Option p; + string opt = f + n [i].ToString (); + string rn = n [i].ToString (); + if (!Contains (rn)) { + if (i == 0) + return false; + throw new OptionException (string.Format (localizer ( + "Cannot bundle unregistered option '{0}'."), opt), opt); + } + p = this [rn]; + switch (p.OptionValueType) { + case OptionValueType.None: + Invoke (c, opt, n, p); + break; + case OptionValueType.Optional: + case OptionValueType.Required: { + string v = n.Substring (i+1); + c.Option = p; + c.OptionName = opt; + ParseValue (v.Length != 0 ? v : null, c); + return true; + } + default: + throw new InvalidOperationException ("Unknown OptionValueType: " + p.OptionValueType); + } + } + return true; + } + + private static void Invoke (OptionContext c, string name, string value, Option option) + { + c.OptionName = name; + c.Option = option; + c.OptionValues.Add (value); + option.Invoke (c); + } + + private const int OptionWidth = 29; + + public void WriteOptionDescriptions (TextWriter o) + { + foreach (Option p in this) { + int written = 0; + if (!WriteOptionPrototype (o, p, ref written)) + continue; + + if (written < OptionWidth) + o.Write (new string (' ', OptionWidth - written)); + else { + o.WriteLine (); + o.Write (new string (' ', OptionWidth)); + } + + List lines = GetLines (localizer (GetDescription (p.Description))); + o.WriteLine (lines [0]); + string prefix = new string (' ', OptionWidth+2); + for (int i = 1; i < lines.Count; ++i) { + o.Write (prefix); + o.WriteLine (lines [i]); + } + } + } + + bool WriteOptionPrototype (TextWriter o, Option p, ref int written) + { + string[] names = p.Names; + + int i = GetNextOptionIndex (names, 0); + if (i == names.Length) + return false; + + if (names [i].Length == 1) { + Write (o, ref written, " -"); + Write (o, ref written, names [0]); + } + else { + Write (o, ref written, " --"); + Write (o, ref written, names [0]); + } + + for ( i = GetNextOptionIndex (names, i+1); + i < names.Length; i = GetNextOptionIndex (names, i+1)) { + Write (o, ref written, ", "); + Write (o, ref written, names [i].Length == 1 ? "-" : "--"); + Write (o, ref written, names [i]); + } + + if (p.OptionValueType == OptionValueType.Optional || + p.OptionValueType == OptionValueType.Required) { + if (p.OptionValueType == OptionValueType.Optional) { + Write (o, ref written, localizer ("[")); + } + Write (o, ref written, localizer ("=" + GetArgumentName (0, p.MaxValueCount, p.Description))); + string sep = p.ValueSeparators != null && p.ValueSeparators.Length > 0 + ? p.ValueSeparators [0] + : " "; + for (int c = 1; c < p.MaxValueCount; ++c) { + Write (o, ref written, localizer (sep + GetArgumentName (c, p.MaxValueCount, p.Description))); + } + if (p.OptionValueType == OptionValueType.Optional) { + Write (o, ref written, localizer ("]")); + } + } + return true; + } + + static int GetNextOptionIndex (string[] names, int i) + { + while (i < names.Length && names [i] == "<>") { + ++i; + } + return i; + } + + static void Write (TextWriter o, ref int n, string s) + { + n += s.Length; + o.Write (s); + } + + private static string GetArgumentName (int index, int maxIndex, string description) + { + if (description == null) + return maxIndex == 1 ? "VALUE" : "VALUE" + (index + 1); + string[] nameStart; + if (maxIndex == 1) + nameStart = new string[]{"{0:", "{"}; + else + nameStart = new string[]{"{" + index + ":"}; + for (int i = 0; i < nameStart.Length; ++i) { + int start, j = 0; + do { + start = description.IndexOf (nameStart [i], j); + } while (start >= 0 && j != 0 ? description [j++ - 1] == '{' : false); + if (start == -1) + continue; + int end = description.IndexOf ("}", start); + if (end == -1) + continue; + return description.Substring (start + nameStart [i].Length, end - start - nameStart [i].Length); + } + return maxIndex == 1 ? "VALUE" : "VALUE" + (index + 1); + } + + private static string GetDescription (string description) + { + if (description == null) + return string.Empty; + StringBuilder sb = new StringBuilder (description.Length); + int start = -1; + for (int i = 0; i < description.Length; ++i) { + switch (description [i]) { + case '{': + if (i == start) { + sb.Append ('{'); + start = -1; + } + else if (start < 0) + start = i + 1; + break; + case '}': + if (start < 0) { + if ((i+1) == description.Length || description [i+1] != '}') + throw new InvalidOperationException ("Invalid option description: " + description); + ++i; + sb.Append ("}"); + } + else { + sb.Append (description.Substring (start, i - start)); + start = -1; + } + break; + case ':': + if (start < 0) + goto default; + start = i + 1; + break; + default: + if (start < 0) + sb.Append (description [i]); + break; + } + } + return sb.ToString (); + } + + private static List GetLines (string description) + { + List lines = new List (); + if (string.IsNullOrEmpty (description)) { + lines.Add (string.Empty); + return lines; + } + int length = 80 - OptionWidth - 2; + int start = 0, end; + do { + end = GetLineEnd (start, length, description); + bool cont = false; + if (end < description.Length) { + char c = description [end]; + if (c == '-' || (char.IsWhiteSpace (c) && c != '\n')) + ++end; + else if (c != '\n') { + cont = true; + --end; + } + } + lines.Add (description.Substring (start, end - start)); + if (cont) { + lines [lines.Count-1] += "-"; + } + start = end; + if (start < description.Length && description [start] == '\n') + ++start; + } while (end < description.Length); + return lines; + } + + private static int GetLineEnd (int start, int length, string description) + { + int end = Math.Min (start + length, description.Length); + int sep = -1; + for (int i = start; i < end; ++i) { + switch (description [i]) { + case ' ': + case '\t': + case '\v': + case '-': + case ',': + case '.': + case ';': + sep = i; + break; + case '\n': + return i; + } + } + if (sep == -1 || end == description.Length) + return end; + return sep; + } + } +} + diff --git a/OnTopReplica/Native/CommonControls.cs b/OnTopReplica/Native/CommonControls.cs new file mode 100644 index 0000000..bf2123c --- /dev/null +++ b/OnTopReplica/Native/CommonControls.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + public static class CommonControls { + + [DllImport("comctl32.dll", EntryPoint = "InitCommonControlsEx", CallingConvention = CallingConvention.StdCall)] + static extern bool InitCommonControlsEx(ref INITCOMMONCONTROLSEX iccex); + + const int ICC_STANDARD_CLASSES = 0x00004000; + const int ICC_WIN95_CLASSES = 0x000000FF; + + public static bool InitStandard() { + INITCOMMONCONTROLSEX ex = new INITCOMMONCONTROLSEX(); + ex.dwSize = 8; + ex.dwICC = ICC_STANDARD_CLASSES | ICC_WIN95_CLASSES; + + return InitCommonControlsEx(ref ex); + } + + } + + struct INITCOMMONCONTROLSEX { + public int dwSize; + public int dwICC; + } + +} diff --git a/OnTopReplica/Native/ErrorMethods.cs b/OnTopReplica/Native/ErrorMethods.cs new file mode 100644 index 0000000..f1863eb --- /dev/null +++ b/OnTopReplica/Native/ErrorMethods.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 error handling methods. + /// + static class ErrorMethods { + + [DllImport("kernel32.dll")] + static extern uint FormatMessage(uint dwFlags, IntPtr lpSource, + int dwMessageId, uint dwLanguageId, [Out] StringBuilder lpBuffer, + uint nSize, IntPtr Arguments); + + /// + /// Gets a string representation of a Win32 error code. + /// + /// ID of the Win32 error code. + /// String representation of the error. + public static string GetErrorMessage(int msgCode) { + var sb = new StringBuilder(300); + FormatMessage((uint)(0x00001000), IntPtr.Zero, msgCode, 0, sb, 299, IntPtr.Zero); + return sb.ToString(); + } + + /// + /// Gets a string representation of the last Win32 error on this thread. + /// + public static string GetLastErrorMessage() { + int errorCode = Marshal.GetLastWin32Error(); + return GetErrorMessage(errorCode); + } + + } +} diff --git a/OnTopReplica/Native/FilesystemMethods.cs b/OnTopReplica/Native/FilesystemMethods.cs new file mode 100644 index 0000000..d48d741 --- /dev/null +++ b/OnTopReplica/Native/FilesystemMethods.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.IO; + +namespace OnTopReplica.Native { + + /// + /// Native methods for filesystem interop. + /// + static class FilesystemMethods { + + /// + /// Gets the path to the current user's download path. + /// + /// + /// Code taken from http://stackoverflow.com/questions/3795023/downloads-folder-not-special-enough + /// + public static string DownloadsPath { + get { + string path = null; + + //Requires Vista or superior + if (Environment.OSVersion.Version.Major >= 6) { + IntPtr pathPtr; + Guid folderId = FolderDownloads; + int hr = SHGetKnownFolderPath(ref folderId, 0, IntPtr.Zero, out pathPtr); + if (hr == 0) { + path = Marshal.PtrToStringUni(pathPtr); + Marshal.FreeCoTaskMem(pathPtr); + return path; + } + } + + //Fallback code + path = Path.GetDirectoryName(Environment.GetFolderPath(Environment.SpecialFolder.Personal)); + path = Path.Combine(path, "Downloads"); + return path; + } + } + + + static readonly Guid FolderDownloads = new Guid("374DE290-123F-4565-9164-39C4925E467B"); + + [DllImport("shell32.dll", CharSet = CharSet.Auto)] + private static extern int SHGetKnownFolderPath(ref Guid id, int flags, IntPtr token, out IntPtr path); + + } + +} diff --git a/OnTopReplica/Native/HT.cs b/OnTopReplica/Native/HT.cs new file mode 100644 index 0000000..231e928 --- /dev/null +++ b/OnTopReplica/Native/HT.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Win32 Hit Testing codes. + /// + static class HT { + public const int TRANSPARENT = -1; + public const int CLIENT = 1; + public const int CAPTION = 2; + } +} diff --git a/OnTopReplica/Native/HookMethods.cs b/OnTopReplica/Native/HookMethods.cs new file mode 100644 index 0000000..ea24f29 --- /dev/null +++ b/OnTopReplica/Native/HookMethods.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using System.Text; + +namespace OnTopReplica.Native { + + /// + /// Helpers for interop with native Windows hooks. + /// + static class HookMethods { + + static HookMethods() { + WM_SHELLHOOKMESSAGE = RegisterWindowMessage("SHELLHOOK"); + if (WM_SHELLHOOKMESSAGE == 0) + Console.Error.WriteLine("Failed to register SHELLHOOK Windows message."); + } + + public static int WM_SHELLHOOKMESSAGE { + get; + private set; + } + + public const int HSHELL_WINDOWACTIVATED = 4; + public const int HSHELL_RUDEAPPACTIVATED = HSHELL_WINDOWACTIVATED | HSHELL_HIGHBIT; + const int HSHELL_HIGHBIT = 0x8000; + public const int HSHELL_WINDOWDESTROYED = 2; + public const int HSHELL_WINDOWCREATED = 1; + + /// + /// Registers the WM_ID for a window message. + /// + /// Name of the window message. + [DllImport("User32.dll")] + public static extern int RegisterWindowMessage(string wndMessageName); + + /// + /// Registers a window as a shell hook window. + /// + [DllImport("User32.dll")] + public static extern bool RegisterShellHookWindow(IntPtr hwnd); + + /// + /// Deregisters a window as a shell hook window. + /// + [DllImport("User32.dll")] + public static extern bool DeregisterShellHookWindow(IntPtr hwnd); + + } +} diff --git a/OnTopReplica/Native/HotKeyMethods.cs b/OnTopReplica/Native/HotKeyMethods.cs new file mode 100644 index 0000000..d40fee4 --- /dev/null +++ b/OnTopReplica/Native/HotKeyMethods.cs @@ -0,0 +1,78 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Windows.Forms; + +namespace OnTopReplica.Native { + + [Flags] + public enum HotKeyModifiers : int { + Alt = 0x1, + Control = 0x2, + Shift = 0x4, + Windows = 0x8 + } + + /// + /// Static native methods for HotKey management. + /// + static class HotKeyMethods { + + public const int WM_HOTKEY = 0x312; + + [DllImport("user32.dll")] + public static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vlc); + + [DllImport("user32.dll")] + public static extern bool UnregisterHotKey(IntPtr hWnd, int id); + + /// + /// Translates a key combination specification into key code values. + /// + /// Key combination specification (see remarks). + /// Modifier values. + /// Key values. + /// + /// Specification can contain one single key value (from the enumeration System.Windows.Forms.Keys) + /// preceded by modifier strings (each one separated by a single '+'). + /// For instance: + /// [CTRL]+[ALT]+A + /// or + /// [ALT]+[SHIFT]+O + /// + public static void TranslateStringToKeyValues(string hotkeySpec, out int modifiers, out int keys) { + if (string.IsNullOrEmpty(hotkeySpec)) + throw new ArgumentNullException(); + + modifiers = 0; + keys = 0; + + if (ExtractModifier(ref hotkeySpec, "[CTRL]+")) + modifiers |= (int)HotKeyModifiers.Control; + if (ExtractModifier(ref hotkeySpec, "[ALT]+")) + modifiers |= (int)HotKeyModifiers.Alt; + if (ExtractModifier(ref hotkeySpec, "[SHIFT]+")) + modifiers |= (int)HotKeyModifiers.Shift; + + //Attempt to translate last part (should be single key) + try { + var keyValue = Enum.Parse(typeof(Keys), hotkeySpec, true); + keys = (int)keyValue; + } + catch (ArgumentException) { + throw new ArgumentException("Couldn't parse key value '" + hotkeySpec + "'."); + } + } + + private static bool ExtractModifier(ref string spec, string modifier) { + int modIndex = spec.IndexOf(modifier); + if (modIndex == -1) + return false; + + spec = spec.Remove(modIndex, modifier.Length); + return true; + } + + } +} diff --git a/OnTopReplica/Native/ITaskBarList.cs b/OnTopReplica/Native/ITaskBarList.cs new file mode 100644 index 0000000..e4a53bb --- /dev/null +++ b/OnTopReplica/Native/ITaskBarList.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + [ComImport, + Guid("56fdf342-fd6d-11d0-958a-006097c9a090"), + InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] + public interface ITaskbarList { + /// + /// Initializes the taskbar list object. This method must be called before any other ITaskbarList methods can be called. + /// + void HrInit(); + + /// + /// Adds an item to the taskbar. + /// + /// A handle to the window to be added to the taskbar. + void AddTab([In] IntPtr hWnd); + + /// + /// Deletes an item from the taskbar. + /// + /// A handle to the window to be deleted from the taskbar. + void DeleteTab([In] IntPtr hWnd); + + /// + /// Activates an item on the taskbar. The window is not actually activated; the window's item on the taskbar is merely displayed as active. + /// + /// A handle to the window on the taskbar to be displayed as active. + void ActivateTab([In] IntPtr hWnd); + + /// + /// Marks a taskbar item as active but does not visually activate it. + /// + /// A handle to the window to be marked as active. + void SetActiveAlt([In] IntPtr hWnd); + } + + [ComImport] + [Guid("56fdf344-fd6d-11d0-958a-006097c9a090")] + public class CoTaskbarList { + } +} diff --git a/OnTopReplica/Native/InputMethods.cs b/OnTopReplica/Native/InputMethods.cs new file mode 100644 index 0000000..fe8233e --- /dev/null +++ b/OnTopReplica/Native/InputMethods.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + static class InputMethods { + + [DllImport("user32.dll")] + static extern short GetKeyState(VirtualKeyState nVirtKey); + + const int KeyToggled = 0x1; + + const int KeyPressed = 0x8000; + + public static bool IsKeyPressed(VirtualKeyState virtKey) { + return (GetKeyState(virtKey) & KeyPressed) != 0; + } + + public static bool IsKeyToggled(VirtualKeyState virtKey) { + return (GetKeyState(virtKey) & KeyToggled) != 0; + } + + } +} diff --git a/OnTopReplica/Native/MK.cs b/OnTopReplica/Native/MK.cs new file mode 100644 index 0000000..90c7e90 --- /dev/null +++ b/OnTopReplica/Native/MK.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Mouse click codes. + /// + static class MK { + public const int LBUTTON = 0x0001; + public const int RBUTTON = 0x0002; + public const int MBUTTON = 0x0010; + } +} diff --git a/OnTopReplica/Native/MessagingMethods.cs b/OnTopReplica/Native/MessagingMethods.cs new file mode 100644 index 0000000..cabe03e --- /dev/null +++ b/OnTopReplica/Native/MessagingMethods.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common methods for Win32 messaging. + /// + static class MessagingMethods { + + [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)] + public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + [Flags] + public enum SendMessageTimeoutFlags : uint { + AbortIfHung = 2, + Block = 1, + Normal = 0 + } + + [DllImport("user32.dll")] + public static extern IntPtr SendMessageTimeout(IntPtr hwnd, uint message, IntPtr wparam, IntPtr lparam, SendMessageTimeoutFlags flags, uint timeout, out IntPtr result); + + [return: MarshalAs(UnmanagedType.Bool)] + [DllImport("user32.dll", SetLastError = false)] + public static extern bool PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + public static IntPtr MakeLParam(int LoWord, int HiWord) { + return new IntPtr((HiWord << 16) | (LoWord & 0xffff)); + } + + } +} diff --git a/OnTopReplica/Native/Point.cs b/OnTopReplica/Native/Point.cs new file mode 100644 index 0000000..c34db85 --- /dev/null +++ b/OnTopReplica/Native/Point.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Native Point structure. + /// + [StructLayout(LayoutKind.Sequential)] + public struct NPoint { + public int X, Y; + + public NPoint(int x, int y) { + X = x; + Y = y; + } + + public NPoint(NPoint copy) { + X = copy.X; + Y = copy.Y; + } + + public static NPoint FromPoint(System.Drawing.Point point) { + return new NPoint(point.X, point.Y); + } + + public System.Drawing.Point ToPoint() { + return new System.Drawing.Point(X, Y); + } + + public override string ToString() { + return "{" + X + "," + Y + "}"; + } + } +} diff --git a/OnTopReplica/Native/Rectangle.cs b/OnTopReplica/Native/Rectangle.cs new file mode 100644 index 0000000..cb138c8 --- /dev/null +++ b/OnTopReplica/Native/Rectangle.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// A native Rectangle Structure. + [StructLayout(LayoutKind.Sequential)] + struct NRectangle { + public NRectangle(int left, int top, int right, int bottom) { + Left = left; + Top = top; + Right = right; + Bottom = bottom; + } + + public NRectangle(System.Drawing.Rectangle rect) { + Left = rect.X; + Top = rect.Y; + Right = rect.Right; + Bottom = rect.Bottom; + } + + public int Left; + public int Top; + public int Right; + public int Bottom; + + public int Width { + get { + return Right - Left; + } + } + public int Height { + get { + return Bottom - Top; + } + } + + public System.Drawing.Rectangle ToRectangle() { + return new System.Drawing.Rectangle(Left, Top, Right - Left, Bottom - Top); + } + + public System.Drawing.Size Size { + get { + return new System.Drawing.Size(Width, Height); + } + } + + public override string ToString() { + return string.Format("{{{0},{1},{2},{3}}}", Left, Top, Right, Bottom); + } + + } +} diff --git a/OnTopReplica/Native/VirtualKeyState.cs b/OnTopReplica/Native/VirtualKeyState.cs new file mode 100644 index 0000000..91e94a0 --- /dev/null +++ b/OnTopReplica/Native/VirtualKeyState.cs @@ -0,0 +1,193 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + enum VirtualKeyState : int { + VK_LBUTTON = 0x01, + VK_RBUTTON = 0x02, + VK_CANCEL = 0x03, + VK_MBUTTON = 0x04, + // + VK_XBUTTON1 = 0x05, + VK_XBUTTON2 = 0x06, + // + VK_BACK = 0x08, + VK_TAB = 0x09, + // + VK_CLEAR = 0x0C, + VK_RETURN = 0x0D, + // + VK_SHIFT = 0x10, + VK_CONTROL = 0x11, + VK_MENU = 0x12, + VK_PAUSE = 0x13, + VK_CAPITAL = 0x14, + // + VK_KANA = 0x15, + VK_HANGEUL = 0x15, /* old name - should be here for compatibility */ + VK_HANGUL = 0x15, + VK_JUNJA = 0x17, + VK_FINAL = 0x18, + VK_HANJA = 0x19, + VK_KANJI = 0x19, + // + VK_ESCAPE = 0x1B, + // + VK_CONVERT = 0x1C, + VK_NONCONVERT = 0x1D, + VK_ACCEPT = 0x1E, + VK_MODECHANGE = 0x1F, + // + VK_SPACE = 0x20, + VK_PRIOR = 0x21, + VK_NEXT = 0x22, + VK_END = 0x23, + VK_HOME = 0x24, + VK_LEFT = 0x25, + VK_UP = 0x26, + VK_RIGHT = 0x27, + VK_DOWN = 0x28, + VK_SELECT = 0x29, + VK_PRINT = 0x2A, + VK_EXECUTE = 0x2B, + VK_SNAPSHOT = 0x2C, + VK_INSERT = 0x2D, + VK_DELETE = 0x2E, + VK_HELP = 0x2F, + // + VK_LWIN = 0x5B, + VK_RWIN = 0x5C, + VK_APPS = 0x5D, + // + VK_SLEEP = 0x5F, + // + VK_NUMPAD0 = 0x60, + VK_NUMPAD1 = 0x61, + VK_NUMPAD2 = 0x62, + VK_NUMPAD3 = 0x63, + VK_NUMPAD4 = 0x64, + VK_NUMPAD5 = 0x65, + VK_NUMPAD6 = 0x66, + VK_NUMPAD7 = 0x67, + VK_NUMPAD8 = 0x68, + VK_NUMPAD9 = 0x69, + VK_MULTIPLY = 0x6A, + VK_ADD = 0x6B, + VK_SEPARATOR = 0x6C, + VK_SUBTRACT = 0x6D, + VK_DECIMAL = 0x6E, + VK_DIVIDE = 0x6F, + VK_F1 = 0x70, + VK_F2 = 0x71, + VK_F3 = 0x72, + VK_F4 = 0x73, + VK_F5 = 0x74, + VK_F6 = 0x75, + VK_F7 = 0x76, + VK_F8 = 0x77, + VK_F9 = 0x78, + VK_F10 = 0x79, + VK_F11 = 0x7A, + VK_F12 = 0x7B, + VK_F13 = 0x7C, + VK_F14 = 0x7D, + VK_F15 = 0x7E, + VK_F16 = 0x7F, + VK_F17 = 0x80, + VK_F18 = 0x81, + VK_F19 = 0x82, + VK_F20 = 0x83, + VK_F21 = 0x84, + VK_F22 = 0x85, + VK_F23 = 0x86, + VK_F24 = 0x87, + // + VK_NUMLOCK = 0x90, + VK_SCROLL = 0x91, + // + VK_OEM_NEC_EQUAL = 0x92, // '=' key on numpad + // + VK_OEM_FJ_JISHO = 0x92, // 'Dictionary' key + VK_OEM_FJ_MASSHOU = 0x93, // 'Unregister word' key + VK_OEM_FJ_TOUROKU = 0x94, // 'Register word' key + VK_OEM_FJ_LOYA = 0x95, // 'Left OYAYUBI' key + VK_OEM_FJ_ROYA = 0x96, // 'Right OYAYUBI' key + // + VK_LSHIFT = 0xA0, + VK_RSHIFT = 0xA1, + VK_LCONTROL = 0xA2, + VK_RCONTROL = 0xA3, + VK_LMENU = 0xA4, + VK_RMENU = 0xA5, + // + VK_BROWSER_BACK = 0xA6, + VK_BROWSER_FORWARD = 0xA7, + VK_BROWSER_REFRESH = 0xA8, + VK_BROWSER_STOP = 0xA9, + VK_BROWSER_SEARCH = 0xAA, + VK_BROWSER_FAVORITES = 0xAB, + VK_BROWSER_HOME = 0xAC, + // + VK_VOLUME_MUTE = 0xAD, + VK_VOLUME_DOWN = 0xAE, + VK_VOLUME_UP = 0xAF, + VK_MEDIA_NEXT_TRACK = 0xB0, + VK_MEDIA_PREV_TRACK = 0xB1, + VK_MEDIA_STOP = 0xB2, + VK_MEDIA_PLAY_PAUSE = 0xB3, + VK_LAUNCH_MAIL = 0xB4, + VK_LAUNCH_MEDIA_SELECT = 0xB5, + VK_LAUNCH_APP1 = 0xB6, + VK_LAUNCH_APP2 = 0xB7, + // + VK_OEM_1 = 0xBA, // ';:' for US + VK_OEM_PLUS = 0xBB, // '+' any country + VK_OEM_COMMA = 0xBC, // ',' any country + VK_OEM_MINUS = 0xBD, // '-' any country + VK_OEM_PERIOD = 0xBE, // '.' any country + VK_OEM_2 = 0xBF, // '/?' for US + VK_OEM_3 = 0xC0, // '`~' for US + // + VK_OEM_4 = 0xDB, // '[{' for US + VK_OEM_5 = 0xDC, // '\|' for US + VK_OEM_6 = 0xDD, // ']}' for US + VK_OEM_7 = 0xDE, // ''"' for US + VK_OEM_8 = 0xDF, + // + VK_OEM_AX = 0xE1, // 'AX' key on Japanese AX kbd + VK_OEM_102 = 0xE2, // "<>" or "\|" on RT 102-key kbd. + VK_ICO_HELP = 0xE3, // Help key on ICO + VK_ICO_00 = 0xE4, // 00 key on ICO + // + VK_PROCESSKEY = 0xE5, + // + VK_ICO_CLEAR = 0xE6, + // + VK_PACKET = 0xE7, + // + VK_OEM_RESET = 0xE9, + VK_OEM_JUMP = 0xEA, + VK_OEM_PA1 = 0xEB, + VK_OEM_PA2 = 0xEC, + VK_OEM_PA3 = 0xED, + VK_OEM_WSCTRL = 0xEE, + VK_OEM_CUSEL = 0xEF, + VK_OEM_ATTN = 0xF0, + VK_OEM_FINISH = 0xF1, + VK_OEM_COPY = 0xF2, + VK_OEM_AUTO = 0xF3, + VK_OEM_ENLW = 0xF4, + VK_OEM_BACKTAB = 0xF5, + // + VK_ATTN = 0xF6, + VK_CRSEL = 0xF7, + VK_EXSEL = 0xF8, + VK_EREOF = 0xF9, + VK_PLAY = 0xFA, + VK_ZOOM = 0xFB, + VK_NONAME = 0xFC, + VK_PA1 = 0xFD, + VK_OEM_CLEAR = 0xFE + } +} diff --git a/OnTopReplica/Native/WM.cs b/OnTopReplica/Native/WM.cs new file mode 100644 index 0000000..eddcd01 --- /dev/null +++ b/OnTopReplica/Native/WM.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Windows Message codes. + /// + static class WM { + public const int GETICON = 0x7f; + public const int SIZING = 0x214; + public const int NCHITTEST = 0x84; + public const int NCPAINT = 0x0085; + public const int LBUTTONDOWN = 0x0201; + public const int LBUTTONUP = 0x0202; + public const int LBUTTONDBLCLK = 0x0203; + public const int RBUTTONDOWN = 0x0204; + public const int RBUTTONUP = 0x0205; + public const int RBUTTONDBLCLK = 0x0206; + public const int NCLBUTTONUP = 0x00A2; + public const int NCLBUTTONDOWN = 0x00A1; + public const int NCLBUTTONDBLCLK = 0x00A3; + public const int NCRBUTTONUP = 0x00A5; + public const int SYSCOMMAND = 0x0112; + public const int GETTEXT = 0x000D; + public const int GETTEXTLENGTH = 0x000E; + } +} diff --git a/OnTopReplica/Native/WMSZ.cs b/OnTopReplica/Native/WMSZ.cs new file mode 100644 index 0000000..2052280 --- /dev/null +++ b/OnTopReplica/Native/WMSZ.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Win32 sizing codes (used by WM_SIZING message). + /// + static class WMSZ { + public const int LEFT = 1; + public const int RIGHT = 2; + public const int TOP = 3; + public const int BOTTOM = 6; + } +} diff --git a/OnTopReplica/Native/WindowManagerMethods.cs b/OnTopReplica/Native/WindowManagerMethods.cs new file mode 100644 index 0000000..fdf4cb2 --- /dev/null +++ b/OnTopReplica/Native/WindowManagerMethods.cs @@ -0,0 +1,103 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 Window Manager native methods. + /// + static class WindowManagerMethods { + + [DllImport("user32.dll")] + public static extern IntPtr GetForegroundWindow(); + + [DllImport("user32.dll")] + public static extern IntPtr RealChildWindowFromPoint(IntPtr parent, NPoint point); + + [return: MarshalAs(UnmanagedType.Bool)] + public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool EnumChildWindows(IntPtr hWnd, EnumWindowsProc lpEnumFunc, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool IsWindowVisible(IntPtr hWnd); + + [DllImport("user32.dll")] + public static extern IntPtr GetDesktopWindow(); + + [DllImport("user32.dll")] + static extern bool ClientToScreen(IntPtr hwnd, ref NPoint point); + + /// + /// Converts a point in client coordinates of a window to screen coordinates. + /// + /// Handle to the window of the original point. + /// Point expressed in client coordinates. + /// Point expressed in screen coordinates. + public static NPoint ClientToScreen(IntPtr hwnd, NPoint clientPoint) { + NPoint localCopy = new NPoint(clientPoint); + + if (ClientToScreen(hwnd, ref localCopy)) + return localCopy; + else + return new NPoint(); + } + + [DllImport("user32.dll")] + static extern bool ScreenToClient(IntPtr hwnd, ref NPoint point); + + /// + /// Converts a point in screen coordinates in client coordinates relative to a window. + /// + /// Handle of the window whose client coordinate system should be used. + /// Point expressed in screen coordinates. + /// Point expressed in client coordinates. + public static NPoint ScreenToClient(IntPtr hwnd, NPoint screenPoint) { + NPoint localCopy = new NPoint(screenPoint); + + if (ScreenToClient(hwnd, ref localCopy)) + return localCopy; + else + return new NPoint(); + } + + [DllImport("user32.dll", CharSet = CharSet.Auto)] + public static extern IntPtr GetParent(IntPtr hWnd); + + [DllImport("user32.dll", SetLastError = false)] + public static extern bool SetForegroundWindow(IntPtr hwnd); + + public enum GetWindowMode : uint { + GW_HWNDFIRST = 0, + GW_HWNDLAST = 1, + GW_HWNDNEXT = 2, + GW_HWNDPREV = 3, + GW_OWNER = 4, + GW_CHILD = 5, + GW_ENABLEDPOPUP = 6 + } + + [DllImport("user32.dll")] + public static extern IntPtr GetWindow(IntPtr hwnd, GetWindowMode mode); + + /// + /// Checks whether a window is a top-level window (has no owner nor parent window). + /// + /// Handle to the window to check. + public static bool IsTopLevel(IntPtr hwnd) { + bool hasParent = WindowManagerMethods.GetParent(hwnd).ToInt64() != 0; + bool hasOwner = WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER).ToInt64() != 0; + + return (!hasParent && !hasOwner); + } + + } +} diff --git a/OnTopReplica/Native/WindowMethods.cs b/OnTopReplica/Native/WindowMethods.cs new file mode 100644 index 0000000..06caede --- /dev/null +++ b/OnTopReplica/Native/WindowMethods.cs @@ -0,0 +1,141 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 methods for operating on windows. + /// + static class WindowMethods { + + [DllImport("user32.dll", SetLastError = true)] + public static extern bool GetClientRect(IntPtr handle, out NRectangle rect); + + [DllImport("user32.dll", SetLastError = true)] + public static extern bool GetWindowRect(IntPtr handle, out NRectangle rect); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern int GetWindowTextLength(IntPtr hWnd); + + /// + /// Gets a window's text via API call. + /// + /// Window handle. + /// Title of the window. + public static string GetWindowText(IntPtr hwnd) { + int length = GetWindowTextLength(hwnd); + + if (length > 0) { + StringBuilder sb = new StringBuilder(length + 1); + if (WindowMethods.GetWindowText(hwnd, sb, sb.Capacity) > 0) + return sb.ToString(); + else + return String.Empty; + } + else + return String.Empty; + } + + const int MaxClassLength = 255; + + public static string GetWindowClass(IntPtr hwnd) { + var sb = new StringBuilder(MaxClassLength + 1); + RealGetWindowClass(hwnd, sb, MaxClassLength); + return sb.ToString(); + } + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern uint RealGetWindowClass(IntPtr hwnd, [Out] StringBuilder lpString, uint maxCount); + + public enum WindowLong { + WndProc = (-4), + HInstance = (-6), + HwndParent = (-8), + Style = (-16), + ExStyle = (-20), + UserData = (-21), + Id = (-12) + } + + public enum ClassLong { + Icon = -14, + IconSmall = -34 + } + + [Flags] + public enum WindowStyles : long { + None = 0, + Disabled = 0x8000000L, + Minimize = 0x20000000L, + MinimizeBox = 0x20000L, + Visible = 0x10000000L + } + + [Flags] + public enum WindowExStyles : long { + AppWindow = 0x40000, + Layered = 0x80000, + NoActivate = 0x8000000L, + ToolWindow = 0x80, + TopMost = 8, + Transparent = 0x20 + } + + public static IntPtr GetWindowLong(IntPtr hWnd, WindowLong i) { + if (IntPtr.Size == 8) { + return GetWindowLongPtr64(hWnd, i); + } + else { + return new IntPtr(GetWindowLong32(hWnd, i)); + } + } + + [DllImport("user32.dll", EntryPoint = "GetWindowLong")] + static extern int GetWindowLong32(IntPtr hWnd, WindowLong nIndex); + + [DllImport("user32.dll", EntryPoint = "GetWindowLongPtr")] + static extern IntPtr GetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex); + + public static IntPtr SetWindowLong(IntPtr hWnd, WindowLong i, IntPtr dwNewLong) { + if (IntPtr.Size == 8) { + return SetWindowLongPtr64(hWnd, i, dwNewLong); + } + else { + return new IntPtr(SetWindowLong32(hWnd, i, dwNewLong.ToInt32())); + } + } + + [DllImport("user32.dll", EntryPoint = "SetWindowLong")] + static extern int SetWindowLong32(IntPtr hWnd, WindowLong nIndex, int dwNewLong); + + [DllImport("user32.dll", EntryPoint = "SetWindowLongPtr")] + static extern IntPtr SetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex, IntPtr dwNewLong); + + #region Class styles + + [DllImport("user32.dll", EntryPoint = "GetClassLongPtrW")] + static extern IntPtr GetClassLong64(IntPtr hWnd, int nIndex); + + [DllImport("user32.dll", EntryPoint = "GetClassLongW")] + static extern int GetClassLong32(IntPtr hWnd, int nIndex); + + public static IntPtr GetClassLong(IntPtr hWnd, ClassLong i) { + if (IntPtr.Size == 8) { + return GetClassLong64(hWnd, (int)i); + } + else { + return new IntPtr(GetClassLong32(hWnd, (int)i)); + } + } + + #endregion + + [DllImport("user32.dll")] + public static extern IntPtr GetMenu(IntPtr hwnd); + + } +} diff --git a/OnTopReplica/Native/WindowsSevenMethods.cs b/OnTopReplica/Native/WindowsSevenMethods.cs new file mode 100644 index 0000000..88e5cf5 --- /dev/null +++ b/OnTopReplica/Native/WindowsSevenMethods.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + + static class WindowsSevenMethods { + + [DllImport("shell32.dll")] + internal static extern void SetCurrentProcessExplicitAppUserModelID( + [MarshalAs(UnmanagedType.LPWStr)] string appId); + + [DllImport("shell32.dll")] + internal static extern void GetCurrentProcessExplicitAppUserModelID( + [Out(), MarshalAs(UnmanagedType.LPWStr)] out string appId); + + } + +} diff --git a/OnTopReplica/NativeToolStripRenderer.cs b/OnTopReplica/NativeToolStripRenderer.cs new file mode 100644 index 0000000..b4d94f3 --- /dev/null +++ b/OnTopReplica/NativeToolStripRenderer.cs @@ -0,0 +1,587 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Diagnostics.CodeAnalysis; +using System.Windows.Forms; +using System.Windows.Forms.VisualStyles; +using System.Runtime.InteropServices; + +namespace Asztal.Szótár { + public enum ToolbarTheme { + Toolbar, + MediaToolbar, + CommunicationsToolbar, + BrowserTabBar + } + + /// + /// Renders a toolstrip using the UxTheme API via VisualStyleRenderer. Visual styles must be supported for this to work; if you need to support other operating systems use + /// + class UXThemeToolStripRenderer : ToolStripSystemRenderer { + /// + /// It shouldn't be necessary to P/Invoke like this, however a bug in VisualStyleRenderer.GetMargins forces my hand. + /// + static internal class NativeMethods { + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct MARGINS { + public int cxLeftWidth; + public int cxRightWidth; + public int cyTopHeight; + public int cyBottomHeight; + } + + [DllImport("uxtheme", ExactSpelling = true)] + public extern static Int32 GetThemeMargins(IntPtr hTheme, IntPtr hdc, int iPartId, int iStateId, int iPropId, IntPtr rect, out MARGINS pMargins); + } + + //See http://msdn2.microsoft.com/en-us/library/bb773210.aspx - "Parts and States" + #region Parts and States + enum MenuParts : int { + MENU_MENUITEM_TMSCHEMA = 1, + MENU_MENUDROPDOWN_TMSCHEMA = 2, + MENU_MENUBARITEM_TMSCHEMA = 3, + MENU_MENUBARDROPDOWN_TMSCHEMA = 4, + MENU_CHEVRON_TMSCHEMA = 5, + MENU_SEPARATOR_TMSCHEMA = 6, + MENU_BARBACKGROUND = 7, + MENU_BARITEM = 8, + MENU_POPUPBACKGROUND = 9, + MENU_POPUPBORDERS = 10, + MENU_POPUPCHECK = 11, + MENU_POPUPCHECKBACKGROUND = 12, + MENU_POPUPGUTTER = 13, + MENU_POPUPITEM = 14, + MENU_POPUPSEPARATOR = 15, + MENU_POPUPSUBMENU = 16, + MENU_SYSTEMCLOSE = 17, + MENU_SYSTEMMAXIMIZE = 18, + MENU_SYSTEMMINIMIZE = 19, + MENU_SYSTEMRESTORE = 20 + } + + enum MenuBarStates : int { + MB_ACTIVE = 1, + MB_INACTIVE = 2 + } + + enum MenuBarItemStates : int { + MBI_NORMAL = 1, + MBI_HOT = 2, + MBI_PUSHED = 3, + MBI_DISABLED = 4, + MBI_DISABLEDHOT = 5, + MBI_DISABLEDPUSHED = 6 + } + + enum MenuPopupItemStates : int { + MPI_NORMAL = 1, + MPI_HOT = 2, + MPI_DISABLED = 3, + MPI_DISABLEDHOT = 4 + } + + enum MenuPopupCheckStates : int { + MC_CHECKMARKNORMAL = 1, + MC_CHECKMARKDISABLED = 2, + MC_BULLETNORMAL = 3, + MC_BULLETDISABLED = 4 + } + + enum MenuPopupCheckBackgroundStates : int { + MCB_DISABLED = 1, + MCB_NORMAL = 2, + MCB_BITMAP = 3 + } + + enum MenuPopupSubMenuStates : int { + MSM_NORMAL = 1, + MSM_DISABLED = 2 + } + + enum MarginTypes : int { + TMT_SIZINGMARGINS = 3601, + TMT_CONTENTMARGINS = 3602, + TMT_CAPTIONMARGINS = 3603 + } + + const int RP_BACKGROUND = 6; + #endregion + + #region Theme helpers + Padding GetThemeMargins(IDeviceContext dc, MarginTypes marginType) { + NativeMethods.MARGINS margins; + try { + IntPtr hDC = dc.GetHdc(); + if (0 == NativeMethods.GetThemeMargins(renderer.Handle, hDC, renderer.Part, renderer.State, (int)marginType, IntPtr.Zero, out margins)) + return new Padding(margins.cxLeftWidth, margins.cyTopHeight, margins.cxRightWidth, margins.cyBottomHeight); + return new Padding(-1); + } finally { + dc.ReleaseHdc(); + } + } + + private static int GetItemState(ToolStripItem item) { + bool pressed = item.Pressed; + bool hot = item.Selected; + + if (item.Owner.IsDropDown) { + if (item.Enabled) + return hot ? (int)MenuPopupItemStates.MPI_HOT : (int)MenuPopupItemStates.MPI_NORMAL; + return hot ? (int)MenuPopupItemStates.MPI_DISABLEDHOT : (int)MenuPopupItemStates.MPI_DISABLED; + } else { + if (pressed) + return item.Enabled ? (int)MenuBarItemStates.MBI_PUSHED : (int)MenuBarItemStates.MBI_DISABLEDPUSHED; + if (item.Enabled) + return hot ? (int)MenuBarItemStates.MBI_HOT : (int)MenuBarItemStates.MBI_NORMAL; + return hot ? (int)MenuBarItemStates.MBI_DISABLEDHOT : (int)MenuBarItemStates.MBI_DISABLED; + } + } + #endregion + + #region Theme subclasses + public ToolbarTheme Theme { + get; set; + } + + private string RebarClass { + get { + return SubclassPrefix + "Rebar"; + } + } + + private string ToolbarClass { + get { + return SubclassPrefix + "ToolBar"; + } + } + + private string MenuClass { + get { + return SubclassPrefix + "Menu"; + } + } + + private string SubclassPrefix { + get { + switch (Theme) { + case ToolbarTheme.MediaToolbar: return "Media::"; + case ToolbarTheme.CommunicationsToolbar: return "Communications::"; + case ToolbarTheme.BrowserTabBar: return "BrowserTabBar::"; + default: return string.Empty; + } + } + } + + private VisualStyleElement Subclass(VisualStyleElement element) { + return VisualStyleElement.CreateElement(SubclassPrefix + element.ClassName, + element.Part, element.State); + } + #endregion + + VisualStyleRenderer renderer; + + public UXThemeToolStripRenderer(ToolbarTheme theme) { + Theme = theme; + renderer = new VisualStyleRenderer(VisualStyleElement.Button.PushButton.Normal); + } + + #region Borders + protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPBORDERS, 0); + if (e.ToolStrip.IsDropDown) { + Region oldClip = e.Graphics.Clip; + + //Tool strip borders are rendered *after* the content, for some reason. + //So we have to exclude the inside of the popup otherwise we'll draw over it. + Rectangle insideRect = e.ToolStrip.ClientRectangle; + insideRect.Inflate(-1, -1); + e.Graphics.ExcludeClip(insideRect); + + renderer.DrawBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.AffectedBounds); + + //Restore the old clip in case the Graphics is used again (does that ever happen?) + e.Graphics.Clip = oldClip; + } + } + #endregion + + #region Backgrounds + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { + int partId = e.Item.Owner.IsDropDown ? (int)MenuParts.MENU_POPUPITEM : (int)MenuParts.MENU_BARITEM; + renderer.SetParameters(MenuClass, partId, GetItemState(e.Item)); + + Rectangle bgRect = e.Item.ContentRectangle; + + Padding content = GetThemeMargins(e.Graphics, MarginTypes.TMT_CONTENTMARGINS), + sizing = GetThemeMargins(e.Graphics, MarginTypes.TMT_SIZINGMARGINS), + caption = GetThemeMargins(e.Graphics, MarginTypes.TMT_CAPTIONMARGINS); + + if (!e.Item.Owner.IsDropDown) { + bgRect.Y = 0; + bgRect.Height = e.ToolStrip.Height; + bgRect.Inflate(-1, -1); //GetMargins here perhaps? + } + + renderer.DrawBackground(e.Graphics, bgRect, bgRect); + } + + protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e) { + //Draw the background using Rebar & RP_BACKGROUND (or, if that is not available, fall back to + //Rebar.Band.Normal) + if (VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement(RebarClass, RP_BACKGROUND, 0))) { + renderer.SetParameters(RebarClass, RP_BACKGROUND, 0); + } else { + renderer.SetParameters(RebarClass, 0, 0); + //renderer.SetParameters(VisualStyleElement.Taskbar.BackgroundBottom.Normal); + //renderer.SetParameters(Subclass(VisualStyleElement.Rebar.Band.Normal)); + } + + if (renderer.IsBackgroundPartiallyTransparent()) + renderer.DrawParentBackground(e.Graphics, e.ToolStripPanel.ClientRectangle, e.ToolStripPanel); + + renderer.DrawBackground(e.Graphics, e.ToolStripPanel.ClientRectangle); + + //Draw the etched edges of each row. + //renderer.SetParameters(Subclass(VisualStyleElement.Rebar.Band.Normal)); + //foreach (ToolStripPanelRow row in e.ToolStripPanel.Rows) { + // Rectangle rowBounds = row.Bounds; + // rowBounds.Offset(0, -1); + // renderer.DrawEdge(e.Graphics, rowBounds, Edges.Top, EdgeStyle.Etched, EdgeEffects.None); + //} + + e.Handled = true; + } + + //Render the background of an actual menu bar, dropdown menu or toolbar. + protected override void OnRenderToolStripBackground(System.Windows.Forms.ToolStripRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPBACKGROUND, 0); + } else { + //It's a MenuStrip or a ToolStrip. If it's contained inside a larger panel, it should have a + //transparent background, showing the panel's background. + + if (e.ToolStrip.Parent is ToolStripPanel) { + //The background should be transparent, because the ToolStripPanel's background will be visible. + //(Of course, we assume the ToolStripPanel is drawn using the same theme, but it's not my fault + //if someone does that.) + return; + } else { + //A lone toolbar/menubar should act like it's inside a toolbox, I guess. + //Maybe I should use the MenuClass in the case of a MenuStrip, although that would break + //the other themes... + if(VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement(RebarClass, RP_BACKGROUND, 0))) + renderer.SetParameters(RebarClass, RP_BACKGROUND, 0); + else + renderer.SetParameters(RebarClass, 0, 0); + } + } + + if (renderer.IsBackgroundPartiallyTransparent()) + renderer.DrawParentBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.ToolStrip); + + renderer.DrawBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.AffectedBounds); + } + + protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e) { + //e.Graphics.FillRectangle(Brushes.RosyBrown, e.ToolStripContentPanel.ClientRectangle); + //base.OnRenderToolStripContentPanelBackground(e); + } + + //Some sort of chevron thing? + //protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e) { + // base.OnRenderOverflowButtonBackground(e); + //} + #endregion + + #region Text + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { + int partId = e.Item.Owner.IsDropDown ? (int)MenuParts.MENU_POPUPITEM : (int)MenuParts.MENU_BARITEM; + renderer.SetParameters(MenuClass, partId, GetItemState(e.Item)); + Color color = renderer.GetColor(ColorProperty.TextColor); + + if(e.Item.Owner.IsDropDown || e.Item.Owner is MenuStrip) + e.TextColor = color; + + base.OnRenderItemText(e); + } + #endregion + + #region Glyphs + + //protected override void OnRenderGrip(ToolStripGripRenderEventArgs e) { + // if (e.GripStyle == ToolStripGripStyle.Visible) { + // renderer.SetParameters(VisualStyleElement.Rebar.Gripper.Normal); + // renderer.DrawBackground(e.Graphics, e.GripBounds, e.AffectedBounds); + // } + //} + + protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPGUTTER, 0); + Rectangle displayRect = e.ToolStrip.DisplayRectangle, + marginRect = new Rectangle(0, displayRect.Top, displayRect.Left, displayRect.Height); + //e.Graphics.DrawRectangle(Pens.Black, marginRect); + renderer.DrawBackground(e.Graphics, marginRect, marginRect); + } + } + + protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPSEPARATOR, 0); + Rectangle rect = new Rectangle(e.ToolStrip.DisplayRectangle.Left, 0, e.ToolStrip.DisplayRectangle.Width, e.Item.Height); + renderer.DrawBackground(e.Graphics, rect, rect); + } else { + base.OnRenderSeparator(e); + } + } + + protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { + ToolStripMenuItem item = e.Item as ToolStripMenuItem; + if (item != null) { + if (item.Checked) { + Rectangle rect = e.Item.ContentRectangle; + rect.Width = rect.Height; + + //Center the checkmark horizontally in the gutter (looks ugly, though) + //rect.X = (e.ToolStrip.DisplayRectangle.Left - rect.Width) / 2; + + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPCHECKBACKGROUND, e.Item.Enabled ? (int)MenuPopupCheckBackgroundStates.MCB_NORMAL : (int)MenuPopupCheckBackgroundStates.MCB_DISABLED); + renderer.DrawBackground(e.Graphics, rect); + + Padding margins = GetThemeMargins(e.Graphics, MarginTypes.TMT_SIZINGMARGINS); + + rect = new Rectangle(rect.X + margins.Left, rect.Y + margins.Top, + rect.Width - margins.Horizontal, + rect.Height - margins.Vertical); + + //I don't think ToolStrip even supports radio box items. So no need to render them. + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPCHECK, e.Item.Enabled ? (int)MenuPopupCheckStates.MC_CHECKMARKNORMAL : (int)MenuPopupCheckStates.MC_CHECKMARKDISABLED); + + renderer.DrawBackground(e.Graphics, rect); + } + } else { + base.OnRenderItemCheck(e); + } + } + + //This is broken for RTL + protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { + int stateId = e.Item.Enabled ? (int)MenuPopupSubMenuStates.MSM_NORMAL : (int)MenuPopupSubMenuStates.MSM_DISABLED; + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPSUBMENU, stateId); + renderer.DrawBackground(e.Graphics, e.ArrowRectangle); + } + + protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e) { + renderer.SetParameters(RebarClass, VisualStyleElement.Rebar.Chevron.Normal.Part, VisualStyleElement.Rebar.Chevron.Normal.State); + renderer.DrawBackground(e.Graphics, e.Item.ContentRectangle); + + //base.OnRenderOverflowButtonBackground(e); + } + #endregion + + public static bool IsSupported { + get { + if (!VisualStyleRenderer.IsSupported) + return false; + + return VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement("MENU", (int)MenuParts.MENU_BARBACKGROUND, (int)MenuBarStates.MB_ACTIVE)); + } + } + } + + /// + /// Renders a toolstrip using UXTheme if possible, and switches back to the default + /// ToolStripRenderer when UXTheme-based rendering is not available. + /// Designed for menu bars and context menus - it is not guaranteed to work with anything else. + /// + /// + /// NativeToolStripRenderer.SetToolStripRenderer(toolStrip1, toolStrip2, contextMenuStrip1); + /// + /// + /// toolStrip1.Renderer = new NativeToolStripRenderer(); + /// + public class NativeToolStripRenderer : ToolStripRenderer { + UXThemeToolStripRenderer nativeRenderer; + ToolStripRenderer defaultRenderer; + ToolStrip toolStrip; + + //NativeToolStripRenderer looks best with no padding - but keep the old padding in case the + //visual styles become unsupported again (e.g. user changes to windows classic skin) + Padding defaultPadding; + + #region Constructors + /// + /// Creates a NativeToolStripRenderer for a particular ToolStrip. NativeToolStripRenderer will subscribe to some events + /// of this ToolStrip. + /// + /// The toolstrip for this NativeToolStripRenderer. NativeToolStripRenderer will subscribe to some events + /// of this ToolStrip. + public NativeToolStripRenderer(ToolStrip toolStrip, ToolbarTheme theme) { + if (toolStrip == null) + throw new ArgumentNullException("toolStrip", "ToolStrip cannot be null."); + + Theme = theme; + + this.toolStrip = toolStrip; + defaultRenderer = toolStrip.Renderer; + + defaultPadding = toolStrip.Padding; + toolStrip.SystemColorsChanged += new EventHandler(toolStrip_SystemColorsChanged); + + //Can't initialize here - constructor throws if visual styles not enabled + //nativeRenderer = new NativeToolStripRenderer(); + } + + public NativeToolStripRenderer(ToolStripPanel panel, ToolbarTheme theme) { + if (panel == null) + throw new ArgumentNullException("panel", "Panel cannot be null."); + + Theme = theme; + + this.toolStrip = null; + defaultRenderer = panel.Renderer; + } + #endregion + + public ToolbarTheme Theme { get; set; } + + void toolStrip_SystemColorsChanged(object sender, EventArgs e) { + if (toolStrip == null) + return; + + if (UXThemeToolStripRenderer.IsSupported) + toolStrip.Padding = Padding.Empty; + else + toolStrip.Padding = defaultPadding; + } + + //This is indeed called every time a menu part is rendered, but I can't + //find a way of caching it that I can be sure has no race conditions. + //The check is no longer very costly, anyway. + protected ToolStripRenderer ActualRenderer { + get { + bool nativeSupported = UXThemeToolStripRenderer.IsSupported; + + if (nativeSupported) { + if (nativeRenderer == null) + nativeRenderer = new UXThemeToolStripRenderer(Theme); + return nativeRenderer; + } + + return defaultRenderer; + } + } + + #region InitializeXXX + protected override void Initialize(ToolStrip toolStrip) { + base.Initialize(toolStrip); + + toolStrip.Padding = Padding.Empty; + + if (/*!(toolStrip is MenuStrip) &&*/ toolStrip.Parent is ToolStripPanel) { + toolStrip.BackColor = Color.Transparent; + } + } + + protected override void InitializePanel(ToolStripPanel toolStripPanel) { + base.InitializePanel(toolStripPanel); + } + + protected override void InitializeItem(ToolStripItem item) { + base.InitializeItem(item); + } + #endregion + + #region SetToolStripRenderer + /// + /// Sets the renderer of each ToolStrip to a NativeToolStripRenderer. A convenience method. + /// + /// A parameter list of ToolStrips. + [SuppressMessage("Microsoft.Design", "CA1062")] //The parameter array is actually checked. + public static void SetToolStripRenderer(ToolbarTheme theme, params Control[] toolStrips) { + foreach (Control ts in toolStrips) { + if (ts == null) + throw new ArgumentNullException("toolStrips", "ToolStrips cannot contain a null reference."); + } + + foreach (Control ts in toolStrips) { + if (ts is ToolStrip) { + ToolStrip t = (ToolStrip)ts; + t.Renderer = new NativeToolStripRenderer(t, theme); + } else if (ts is ToolStripPanel) { + ToolStripPanel t = (ToolStripPanel)ts; + t.Renderer = new NativeToolStripRenderer(t, theme); + } else + throw new ArgumentException("Can't set the renderer for a " + ts.GetType().Name); + } + } + + public static void SetToolStripRenderer(params Control[] toolStrips) { + SetToolStripRenderer(ToolbarTheme.Toolbar, toolStrips); + } + #endregion + + #region Overridden Methods - Deferred to actual renderer + protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { + ActualRenderer.DrawArrow(e); + } + + protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawButtonBackground(e); + } + + protected override void OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawDropDownButtonBackground(e); + } + + protected override void OnRenderGrip(ToolStripGripRenderEventArgs e) { + ActualRenderer.DrawGrip(e); + } + + protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { + ActualRenderer.DrawImageMargin(e); + } + + protected override void OnRenderItemBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawItemBackground(e); + } + + protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { + ActualRenderer.DrawItemCheck(e); + } + + protected override void OnRenderItemImage(ToolStripItemImageRenderEventArgs e) { + ActualRenderer.DrawItemImage(e); + } + + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { + ActualRenderer.DrawItemText(e); + } + + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawMenuItemBackground(e); + } + + protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e) { + ActualRenderer.DrawSeparator(e); + } + + protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e) { + ActualRenderer.DrawToolStripBackground(e); + } + + protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { + ActualRenderer.DrawToolStripBorder(e); + } + + protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e) { + ActualRenderer.DrawToolStripContentPanelBackground(e); + } + + protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e) { + ActualRenderer.DrawToolStripPanelBackground(e); + } + #endregion + } +} diff --git a/OnTopReplica/NotificationIcon.cs b/OnTopReplica/NotificationIcon.cs new file mode 100644 index 0000000..08292ae --- /dev/null +++ b/OnTopReplica/NotificationIcon.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica { + /// + /// Notification icon that installs itself in the "tray" and manipulates the OnTopReplica main form. + /// + class NotificationIcon : IDisposable { + + public NotificationIcon(MainForm form) { + Form = form; + Install(); + } + + public MainForm Form { get; private set; } + + NotifyIcon _taskIcon; + ContextMenuStrip _contextMenu; + + private void Install() { + _contextMenu = new ContextMenuStrip(); + _contextMenu.Items.AddRange(new ToolStripItem[] { + new ToolStripMenuItem(Strings.MenuOpen, Resources.icon, TaskIconOpen_click) { + ToolTipText = Strings.MenuOpenTT, + }, + new ToolStripMenuItem(Strings.MenuWindows, Resources.list){ + DropDown = Form.MenuWindows, + ToolTipText = Strings.MenuWindowsTT + }, + new ToolStripMenuItem(Strings.MenuReset, null, TaskIconReset_click){ + ToolTipText = Strings.MenuResetTT + }, + new ToolStripMenuItem(Strings.MenuClose, Resources.close_new, TaskIconExit_click){ + ToolTipText = Strings.MenuCloseTT + } + }); + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(_contextMenu); + + _taskIcon = new NotifyIcon { + Text = Strings.ApplicationName, + Icon = Resources.icon_new, + Visible = true, + ContextMenuStrip = _contextMenu + }; + _taskIcon.DoubleClick += new EventHandler(TaskIcon_doubleclick); + } + + #region IDisposable Members + + public void Dispose() { + //Destroy NotifyIcon + if (_taskIcon != null) { + _taskIcon.Visible = false; + _taskIcon.Dispose(); + _taskIcon = null; + } + } + + #endregion + + #region Task Icon events + + void TaskIcon_doubleclick(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconOpen_click(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconReset_click(object sender, EventArgs e) { + Form.ResetMainFormWithConfirmation(); + } + + private void TaskIconExit_click(object sender, EventArgs e) { + Form.Close(); + } + + #endregion + + } +} diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj new file mode 100644 index 0000000..6fcda6a --- /dev/null +++ b/OnTopReplica/OnTopReplica.csproj @@ -0,0 +1,581 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557} + WinExe + Properties + OnTopReplica + OnTopReplica + v4.0 + 512 + Assets\icon-new.ico + false + false + Internet + OnTopReplica.Program + + + false + A305A505E19CF40E069521C80C13AB3C900EDB7C + OnTopReplica_1_TemporaryKey.pfx + false + + + + + 3.5 + + + + publish\ + true + Disk + true + Background + 1 + Weeks + true + false + true + http://www.klopfenstein.net/public/Uploads/ontopreplica/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + en + OnTopReplica + Lorenz Cuno Klopfenstein + true + publish.htm + false + 0 + 3.3.2.%2a + false + true + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + false + true + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + false + + + + + + + + + OnTopReplica.exe.manifest + + + + + + + + + + ..\Lib\WindowsFormsAero.dll + + + + + Form + + + + + + Component + + + Component + + + Form + + + Form + + + Form + + + Form + + + + + + + + + + + + + + + + Form + + + SidePanelContainer.cs + + + UserControl + + + AboutPanel.cs + + + UserControl + + + AboutPanelContents.cs + + + UserControl + + + OptionsPanel.cs + + + UserControl + + + GroupSwitchPanel.cs + + + True + True + Strings.cs.resx + + + True + True + Strings.da.resx + + + True + True + Strings.de.resx + + + True + True + Strings.resx + + + True + True + Strings.es.resx + + + True + True + Strings.fi.resx + + + True + True + Strings.it.resx + + + True + True + Strings.no.resx + + + True + True + Strings.pl.resx + + + True + True + Strings.pt-BR.resx + + + True + True + Strings.pt.resx + + + True + True + Strings.ru.resx + + + + + + + + + + SidePanelContainer.cs + + + AboutPanel.cs + + + AboutPanelContents.cs + + + ResXFileCodeGenerator + Strings.pl.Designer.cs + + + ResXFileCodeGenerator + Strings.Designer.cs + + + ResXFileCodeGenerator + Strings.ru.Designer.cs + + + + + + + + + + + + + + + + + UserControl + + + + Form + + + CommandLineReportForm.cs + + + + + + + + + + + + + + + + + Component + + + Form + + + MainForm.cs + + + + + + GroupSwitchPanel.cs + + + OptionsPanel.cs + + + CommandLineReportForm.cs + + + ResXFileCodeGenerator + Strings.cs.Designer.cs + + + ResXFileCodeGenerator + Strings.da.Designer.cs + + + ResXFileCodeGenerator + Strings.de.Designer.cs + + + ResXFileCodeGenerator + Strings.es.Designer.cs + + + ResXFileCodeGenerator + Strings.fi.Designer.cs + + + ResXFileCodeGenerator + Strings.it.Designer.cs + Designer + + + MainForm.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + RegionPanel.cs + Designer + + + ResXFileCodeGenerator + Strings.no.Designer.cs + + + ResXFileCodeGenerator + Strings.pt-BR.Designer.cs + + + ResXFileCodeGenerator + Strings.pt.Designer.cs + + + True + Resources.resx + True + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + UserControl + + + RegionPanel.cs + + + + + Component + + + + + + + + + + + + + + + + + + + + + + + + + + + + Always + + + Always + + + + + + + + + + + + + + + + + + + + + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 2.0 %28x86%29 + true + + + False + .NET Framework 3.0 %28x86%29 + false + + + False + .NET Framework 3.5 + false + + + False + .NET Framework 3.5 SP1 + false + + + + + + + + + + + + + + + + + + + + + + + + + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Include + True + Satellite + + + False + + + + + Include + True + Satellite + + + False + + + + + Include + True + Satellite + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.csproj.user b/OnTopReplica/OnTopReplica.csproj.user new file mode 100644 index 0000000..4b61895 --- /dev/null +++ b/OnTopReplica/OnTopReplica.csproj.user @@ -0,0 +1,23 @@ + + + + publish\ + http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/download.aspx%3ffile=ontopreplica%252fsetup.exe/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/|http://lorenz.klopfenstein.net/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&page=on_top_replica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&page=programming_on_top_replica + http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/ + + + en-US + false + + + ProjectFiles + + + false + + + + + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.exe.manifest b/OnTopReplica/OnTopReplica.exe.manifest new file mode 100644 index 0000000..b9febc2 --- /dev/null +++ b/OnTopReplica/OnTopReplica.exe.manifest @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + Lightweight clone of a window. + + + + + + \ No newline at end of file diff --git a/OnTopReplica/PlatformSupport.cs b/OnTopReplica/PlatformSupport.cs new file mode 100644 index 0000000..e13570d --- /dev/null +++ b/OnTopReplica/PlatformSupport.cs @@ -0,0 +1,91 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Platforms; +using System.Windows.Forms; + +namespace OnTopReplica { + + abstract class PlatformSupport { + + /// + /// Creates a concrete PlatformSupport instance based on the OS the app is running on. + /// + public static PlatformSupport Create() { + var os = Environment.OSVersion; + + if (os.Platform != PlatformID.Win32NT) + return new Other(); + + if (os.Version.Major == 6) { + if (os.Version.Minor >= 1) + return new WindowsSeven(); + else + return new WindowsVista(); + } + else if (os.Version.Major > 6) { + //Ensures forward compatibility + return new WindowsSeven(); + } + else { + //Generic NT + return new WindowsXp(); + } + } + + /// + /// Checks whether OnTopReplica is compatible with the platform. + /// + /// Returns false if OnTopReplica cannot run and should terminate right away. + public abstract bool CheckCompatibility(); + + /// + /// Initializes a form before it is fully constructed and before the window handle has been created. + /// + public virtual void PreHandleFormInit() { + } + + /// + /// Initializes a form after its handle has been created. + /// + /// Form to initialize. + public virtual void PostHandleFormInit(MainForm form) { + } + + /// + /// Called before closing a form. Called once during a form's lifetime. + /// + public virtual void CloseForm(MainForm form) { + } + + /// + /// Hides the main form in a way that it can be restored later by the user. + /// + /// Form to hide. + public virtual void HideForm(MainForm form) { + } + + /// + /// Gets whether the form is currently hidden or not. + /// + public virtual bool IsHidden(MainForm form) { + return false; + } + + /// + /// Restores the main form to its default state after is has been hidden. + /// Can be called whether the form is hidden or not. + /// + /// Form to restore. + public virtual void RestoreForm(MainForm form) { + } + + /// + /// Called when the form changes its state, without calling into or . + /// Enables inheritors to update the form's state on each state change. + /// + public virtual void OnFormStateChange(MainForm form) { + } + + } +} diff --git a/OnTopReplica/Platforms/DebugPlatform.cs b/OnTopReplica/Platforms/DebugPlatform.cs new file mode 100644 index 0000000..8b8da3a --- /dev/null +++ b/OnTopReplica/Platforms/DebugPlatform.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Platforms { + +#if DEBUG + + /// + /// Fake platform for debugging. + /// + class DebugPlatform : PlatformSupport { + + public override bool CheckCompatibility() { + return true; + } + + } + +#endif + +} diff --git a/OnTopReplica/Platforms/Other.cs b/OnTopReplica/Platforms/Other.cs new file mode 100644 index 0000000..abd253d --- /dev/null +++ b/OnTopReplica/Platforms/Other.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.Platforms { + class Other : PlatformSupport { + + public override bool CheckCompatibility() { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, + MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + } +} diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs new file mode 100644 index 0000000..301957e --- /dev/null +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -0,0 +1,62 @@ +using System; +using System.Windows.Forms; +using OnTopReplica.Native; +using WindowsFormsAero.Dwm; + +namespace OnTopReplica.Platforms { + + class WindowsSeven : WindowsVista { + + public override void PreHandleFormInit() { + //Set Application ID + WindowsSevenMethods.SetCurrentProcessExplicitAppUserModelID("LorenzCunoKlopfenstein.OnTopReplica.MainForm"); + } + + public override void PostHandleFormInit(MainForm form) { + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + DwmManager.SetExludeFromPeek(form, true); + DwmManager.SetDisallowPeek(form, true); + } + + public override void HideForm(MainForm form) { + form.Opacity = 0; + } + + public override bool IsHidden(MainForm form) { + return (form.Opacity == 0.0); + } + + public override void RestoreForm(MainForm form) { + if (form.Opacity == 0.0) + form.Opacity = 1.0; + + form.Show(); + } + + /*public override void OnFormStateChange(MainForm form) { + //SetWindowStyle(form); + }*/ + + /// + /// Used to alter the window style. Not used anymore. + /// + private void SetWindowStyle(MainForm form) { + if (!form.IsFullscreen) { + //This hides the app from ALT+TAB + //Note that when minimized, it will be shown as an (ugly) minimized tool window + //thus we do not minimize, but set to transparent when hiding + long exStyle = WindowMethods.GetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle).ToInt64(); + + exStyle |= (long)(WindowMethods.WindowExStyles.ToolWindow); + //exStyle &= ~(long)(WindowMethods.WindowExStyles.AppWindow); + + WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle, new IntPtr(exStyle)); + + //WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.HwndParent, WindowManagerMethods.GetDesktopWindow()); + } + } + + + } + +} diff --git a/OnTopReplica/Platforms/WindowsVista.cs b/OnTopReplica/Platforms/WindowsVista.cs new file mode 100644 index 0000000..368db7f --- /dev/null +++ b/OnTopReplica/Platforms/WindowsVista.cs @@ -0,0 +1,52 @@ +using System; +using System.Windows.Forms; +using WindowsFormsAero.Dwm; + +namespace OnTopReplica.Platforms { + + class WindowsVista : PlatformSupport { + + public override bool CheckCompatibility() { + if (!WindowsFormsAero.OsSupport.IsCompositionEnabled) { + MessageBox.Show(Strings.ErrorDwmOffContent, Strings.ErrorDwmOff, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + return true; + } + + NotificationIcon _icon; + + public override void PostHandleFormInit(MainForm form) { + //Do not show in task bar, but display notify icon + //NOTE: this effectively makes Windows ignore the Flip 3D policy set above (on Windows 7) + //NOTE: this also makes HotKey registration critically fail on Windows 7 + form.ShowInTaskbar = false; + + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + + _icon = new NotificationIcon(form); + } + + public override void CloseForm(MainForm form) { + if (_icon != null) { + _icon.Dispose(); + _icon = null; + } + } + + public override bool IsHidden(MainForm form) { + return !form.Visible; + } + + public override void HideForm(MainForm form) { + form.Hide(); + } + + public override void RestoreForm(MainForm form) { + form.Show(); + } + + } + +} diff --git a/OnTopReplica/Platforms/WindowsXp.cs b/OnTopReplica/Platforms/WindowsXp.cs new file mode 100644 index 0000000..88d3895 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsXp.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.Platforms { + class WindowsXp : PlatformSupport { + + public override bool CheckCompatibility() { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + } +} diff --git a/OnTopReplica/PluginRegionLocator.cs b/OnTopReplica/PluginRegionLocator.cs new file mode 100644 index 0000000..ad0b419 --- /dev/null +++ b/OnTopReplica/PluginRegionLocator.cs @@ -0,0 +1,97 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using OnTopReplica.Native; + +namespace OnTopReplica { + /// + /// Facility class that attempts to locate the region occupied by plugins inside another window. + /// + class PluginRegionLocator { + + static PluginRegionLocator() { + _pluginClassNames = new HashSet() { + "aPluginWinClass", //Opera 11 Flash plugin + "MacromediaFlashPlayerActiveX", //IE 9 Flash plugin + "NativeWindowClass", //Google Chrome Flash plugin + "GeckoPluginWindow", //Firefox 9 Flash plugin + }; + } + + static readonly HashSet _pluginClassNames; + + /// + /// Attempts to locate a plugin region inside a window. + /// + /// The handle to the parent window. + /// The region where a plugin window is located or null if none found. + public Rectangle? LocatePluginRegion(WindowHandle handle) { + if (handle == null) + throw new ArgumentNullException(); + + WindowManagerMethods.EnumChildWindows(handle.Handle, LocatingWndProc, IntPtr.Zero); + + if (_selectedHandle != null) { + Console.Out.WriteLine("Selected {0} '{1}' (class {2})", _selectedHandle.Handle, _selectedHandle.Title, _selectedHandle.Class); + + NRectangle rect; + WindowMethods.GetWindowRect(_selectedHandle.Handle, out rect); + + NRectangle clientRect; + WindowMethods.GetClientRect(_selectedHandle.Handle, out clientRect); + + Console.Out.WriteLine("WindowRect: {0}", rect); + + NRectangle ownerRect; + WindowMethods.GetWindowRect(handle.Handle, out ownerRect); + + Console.Out.WriteLine("Owner WindowRect: {0}", ownerRect); + + var ret = new Rectangle { + X = rect.Left - ownerRect.Left, + Y = rect.Top - ownerRect.Top, + Width = clientRect.Width, + Height = clientRect.Height + }; + + //Safety check (this may happen when the plugin client area is 0 pixel large) + if (ret.Width < 0 || ret.Height < 0) + return null; + + Console.Out.WriteLine("Selected region: {0}", ret); + + return ret; + } + else { + Console.Out.WriteLine("None found."); + return null; + } + } + + WindowHandle _selectedHandle = null; + + private bool LocatingWndProc(IntPtr handle, IntPtr lParam) { + //Skip non visible windows + if (!WindowManagerMethods.IsWindowVisible(handle)) { + return true; + } + + //Class name check + string cl = WindowMethods.GetWindowClass(handle); + +#if DEBUG + Console.Out.WriteLine("Child window, class {0}", cl); +#endif + + if (_pluginClassNames.Contains(cl)) { + //Found plugin window, stop now + _selectedHandle = new WindowHandle(handle); + return false; + } + + return true; + } + + } +} diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs new file mode 100644 index 0000000..f76d2dc --- /dev/null +++ b/OnTopReplica/Program.cs @@ -0,0 +1,120 @@ +using System; +using System.IO; +using System.Reflection; +using System.Threading; +using System.Windows.Forms; +using OnTopReplica.Properties; +using OnTopReplica.StartupOptions; +using OnTopReplica.Update; + +namespace OnTopReplica { + + static class Program { + + public static PlatformSupport Platform { get; private set; } + + public static UpdateManager Update { get; private set; } + + static MainForm _mainForm; + + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main(string[] args) { + //Hook fatal abort handler + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); + + //Initialize and check for platform support + Platform = PlatformSupport.Create(); + if (!Platform.CheckCompatibility()) + return; + Platform.PreHandleFormInit(); + + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + + //Update settings if needed + if (Settings.Default.MustUpdate) { + Settings.Default.Upgrade(); + Settings.Default.MustUpdate = false; + } + + //Load startup options + var options = StartupOptions.Factory.CreateOptions(args); + string optionsMessage = options.DebugMessage; + if (!string.IsNullOrEmpty(optionsMessage)) { //show dialog if debug message present or if parsing failed + var dlg = new CommandLineReportForm(options.Status, optionsMessage); + dlg.ShowDialog(); + } + if (options.Status == CliStatus.Information || options.Status == CliStatus.Error) + return; + + //Load language + Thread.CurrentThread.CurrentUICulture = Settings.Default.Language; + + //Show form + using (_mainForm = new MainForm(options)) { + //Start up update manager + Update = new UpdateManager(_mainForm); + Update.UpdateCheckCompleted += new EventHandler(UpdateManager_CheckCompleted); + bool doneCheck = false; + _mainForm.Shown += delegate { + if (doneCheck) return; + doneCheck = true; + + //Delay first update check to when form is visible + Update.CheckForUpdate(); + }; + + //Enter GUI loop + Application.Run(_mainForm); + + //Persist settings + Settings.Default.RestoreLastPosition = _mainForm.Location; + Settings.Default.RestoreLastSize = _mainForm.ClientSize; + Settings.Default.Save(); + } + } + + /// + /// Callback that handles update checking. + /// + static void UpdateManager_CheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + if (e.Success && e.Information != null) { + if (e.Information.IsNewVersion) { + Update.ConfirmAndInstall(); + } + } + else { + Console.Error.WriteLine("Failed to check updates. {0}", e.Error); + } + } + + static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { + string dump = string.Format("OnTopReplica-dump-{0}{1}{2}{3}{4}.txt", + DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, + DateTime.Now.Hour, DateTime.Now.Minute); + string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), dump); + + using (var s = new FileStream(path, FileMode.Create)) { + using (var sw = new StreamWriter(s)) { + sw.WriteLine("OnTopReplica Dump file"); + sw.WriteLine("This file has been created because OnTopReplica crashed."); + sw.WriteLine("Please send it to lck@klopfenstein.net to help fix the bug that caused the crash."); + sw.WriteLine(); + sw.WriteLine("Last exception:"); + sw.WriteLine(e.ExceptionObject.ToString()); + sw.WriteLine(); + sw.WriteLine("OnTopReplica v. {0}", Assembly.GetEntryAssembly().GetName().Version); + sw.WriteLine("OS: {0}", Environment.OSVersion.ToString()); + sw.WriteLine(".NET: {0}", Environment.Version.ToString()); + sw.WriteLine("Aero DWM: {0}", WindowsFormsAero.OsSupport.IsCompositionEnabled); + sw.WriteLine("Launch command: {0}", Environment.CommandLine); + sw.WriteLine("UTC time: {0} {1}", DateTime.UtcNow.ToShortDateString(), DateTime.UtcNow.ToShortTimeString()); + } + } + } + + } +} diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..00001b5 --- /dev/null +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -0,0 +1,37 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("OnTopReplica")] +[assembly: AssemblyDescription("Real-time, always on top thumbnail of a window of your choice.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Lorenz Cuno Klopfenstein")] +[assembly: AssemblyProduct("OnTopReplica")] +[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2010")] +//[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2007")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("015090d1-7559-4c59-b9d1-e7e066c4a948")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("3.3.2.0")] +[assembly: AssemblyFileVersion("3.3.2.0")] diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx new file mode 100644 index 0000000..b097806 --- /dev/null +++ b/OnTopReplica/Properties/Resources.resx @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Assets\flag_ita.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\x-oblique.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\component.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\25.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_multiple16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\regions_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_null.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_opacity_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\clickforwarding.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\newicon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_help.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\back.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_czech.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_switch.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\desktop.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_danish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\reduce.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_ok.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_wrench.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\list.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\icon-new.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\fullscreen.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_down.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_border16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_usa.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\groupmode.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_center.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_spanish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_poland.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + + ..\Assets\flag_germany.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/OnTopReplica/Properties/Settings.settings b/OnTopReplica/Properties/Settings.settings new file mode 100644 index 0000000..fb6e917 --- /dev/null +++ b/OnTopReplica/Properties/Settings.settings @@ -0,0 +1,57 @@ + + + + + + + + + 255 + + + (Default) + + + True + + + True + + + True + + + True + + + False + + + False + + + 0, 0 + + + 0, 0 + + + False + + + + + + + + + 0 + + + [CTRL]+[SHIFT]+C + + + [CTRL]+[SHIFT]+O + + + \ No newline at end of file diff --git a/OnTopReplica/Properties/app.manifest b/OnTopReplica/Properties/app.manifest new file mode 100644 index 0000000..c29c96a --- /dev/null +++ b/OnTopReplica/Properties/app.manifest @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/ScreenPosition.cs b/OnTopReplica/ScreenPosition.cs new file mode 100644 index 0000000..6808b9d --- /dev/null +++ b/OnTopReplica/ScreenPosition.cs @@ -0,0 +1,89 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Drawing; + +namespace OnTopReplica { + + /// + /// Describes a resolution independent screen position. + /// + enum ScreenPosition { + TopLeft, + TopRight, + BottomLeft, + BottomRight, + Center + } + + /// + /// Extension methods for ScreenPositions. + /// + static class ScreenPositionExtensions { + + /// + /// Gets the coordinates point matching an independent screen position value. + /// + /// Screen position value. + /// Pixel point in screen coordinates. + public static Point ResolveScreenPosition(this Screen screen, ScreenPosition position) { + var rect = screen.WorkingArea; + + return ResolveScreenPositionToRectangle(rect, position); + } + + /// + /// Gets the coordinates matching an independent screen position value. + /// + /// Target control for which the coordinates should be resolved. + /// Screen position value. + /// Pixel point in screen coordinates. + public static Point ResolveScreenPositionEdge(this Control ctrl, ScreenPosition position) { + var ctrlRegion = ctrl.RectangleToScreen(ctrl.ClientRectangle); + + return ResolveScreenPositionToRectangle(ctrlRegion, position); + } + + private static Point ResolveScreenPositionToRectangle(Rectangle rect, ScreenPosition position) { + switch (position) { + case ScreenPosition.TopLeft: + return new Point(rect.X, rect.Y); + case ScreenPosition.TopRight: + return new Point(rect.X + rect.Width, rect.Y); + case ScreenPosition.BottomLeft: + return new Point(rect.X, rect.Y + rect.Height); + case ScreenPosition.BottomRight: + return new Point(rect.X + rect.Width, rect.Y + rect.Height); + case ScreenPosition.Center: + return new Point(rect.X + (rect.Width / 2), rect.Y + (rect.Height / 2)); + default: + throw new ArgumentException("Invalid ScreenPosition value."); + } + } + + /// + /// Sets the form's screen position in independent coordinates. + /// + /// + /// Position is set relative to the form's current screen. + /// + public static void SetScreenPosition(this MainForm form, ScreenPosition position) { + var screen = Screen.FromControl(form); + + var start = form.ResolveScreenPositionEdge(position); + var end = screen.ResolveScreenPosition(position); + + var move = end.Difference(start); + +#if DEBUG + Console.WriteLine("From {0} to {1} => {2}.", start, end, move); +#endif + + var original = form.Location; + form.Location = new Point(original.X + move.X, original.Y + move.Y); + } + + } + +} diff --git a/OnTopReplica/SidePanel.cs b/OnTopReplica/SidePanel.cs new file mode 100644 index 0000000..d66f010 --- /dev/null +++ b/OnTopReplica/SidePanel.cs @@ -0,0 +1,73 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using WindowsFormsAero.Dwm; +using System.Drawing; + +namespace OnTopReplica { + + /// + /// Represents a side panel that can be embedded in OnTopReplica. + /// + class SidePanel : UserControl { + + protected override void OnCreateControl() { + if (!DesignMode) { + Dock = DockStyle.Fill; + } + + base.OnCreateControl(); + } + + /// + /// Gets the panel's parent form. + /// + protected MainForm ParentForm { get; private set; } + + /// + /// Raised when the side panel requests to be closed. + /// + public event EventHandler RequestClosing; + + protected virtual void OnRequestClosing() { + var evt = RequestClosing; + if (evt != null) + evt(this, EventArgs.Empty); + } + + /// + /// Is called when the side panel is embedded and first shown. + /// + /// Parent form that is embedding the side panel. + public virtual void OnFirstShown(MainForm form) { + ParentForm = form; + } + + /// + /// Is called before removing the side panel. + /// + /// Parent form that is embedding the side panel. + public virtual void OnClosing(MainForm form) { + } + + /// + /// Gets the side panel's title. + /// + public virtual string Title { + get { + return "Side panel"; + } + } + + /// + /// Gets the panel's desired glass margins or null if no glass surface is required. + /// + public virtual Margins? GlassMargins { + get { + return null; + } + } + + } +} diff --git a/OnTopReplica/SidePanelContainer.Designer.cs b/OnTopReplica/SidePanelContainer.Designer.cs new file mode 100644 index 0000000..56103f0 --- /dev/null +++ b/OnTopReplica/SidePanelContainer.Designer.cs @@ -0,0 +1,46 @@ +namespace OnTopReplica { + partial class SidePanelContainer { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.SuspendLayout(); + // + // SidePanelContainer + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(246, 300); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.MinimizeBox = false; + this.Name = "SidePanelContainer"; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; + this.Text = "Side Panel container"; + this.TopMost = true; + this.ResumeLayout(false); + + } + + #endregion + } +} \ No newline at end of file diff --git a/OnTopReplica/SidePanelContainer.cs b/OnTopReplica/SidePanelContainer.cs new file mode 100644 index 0000000..f124b24 --- /dev/null +++ b/OnTopReplica/SidePanelContainer.cs @@ -0,0 +1,109 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using WindowsFormsAero.Dwm.Helpers; + +namespace OnTopReplica { + /// + /// Acts as a form that can contain a SidePanel instance. + /// + partial class SidePanelContainer : GlassForm { + + EventHandler RequestClosingHandler; + + MainForm _parent; + + public SidePanelContainer(MainForm mainForm) { + InitializeComponent(); + + _parent = mainForm; + RequestClosingHandler = new EventHandler(Panel_RequestClosing); + } + + void Panel_RequestClosing(object sender, EventArgs e) { + FreeSidePanel(); + this.Close(); + } + + protected override void OnClosing(CancelEventArgs e) { + base.OnClosing(e); + + //Ensure side panel closing code is run + FreeSidePanel(); + } + + /// + /// Sets a new side panel and refreshes the window. The panel is + /// managed by the SidePanelContainer from now on. + /// + /// SidePanel to embed and to manage. + public void SetSidePanel(SidePanel panel) { + panel.OnFirstShown(_parent); + + this.SuspendLayout(); + + //Title + this.Text = panel.Title; + + //Set panel + CurrentSidePanel = panel; + panel.RequestClosing += RequestClosingHandler; + this.Controls.Add(panel); + + var minSize = panel.MinimumSize.Expand(this.Padding); + this.ClientSize = minSize; + this.EnsureMinimumClientSize(minSize); + + //Enable glass if needed + var margins = panel.GlassMargins; + if (margins.HasValue) { + this.GlassMargins = margins.Value; + this.GlassEnabled = true; + } + else + this.GlassEnabled = false; + + this.ResumeLayout(); + } + + /// + /// Removes the current side panel and disposes it. + /// + public void FreeSidePanel() { + if (CurrentSidePanel == null) + return; + + this.SuspendLayout(); + + FreeSidePanelCore(); + + this.ResumeLayout(); + } + + /// + /// Removes the current side panel and disposes it (doesn't suspend layout). + /// + private void FreeSidePanelCore() { + CurrentSidePanel.OnClosing(_parent); + + //Free hook + CurrentSidePanel.RequestClosing -= RequestClosingHandler; + + //Remove + this.Controls.Remove(CurrentSidePanel); + + //Free + CurrentSidePanel.Dispose(); + CurrentSidePanel = null; + } + + public SidePanel CurrentSidePanel { + get; + private set; + } + } +} diff --git a/OnTopReplica/SidePanelContainer.resx b/OnTopReplica/SidePanelContainer.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/OnTopReplica/SidePanelContainer.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/AboutPanel.Designer.cs b/OnTopReplica/SidePanels/AboutPanel.Designer.cs new file mode 100644 index 0000000..fc86628 --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanel.Designer.cs @@ -0,0 +1,74 @@ +namespace OnTopReplica.SidePanels { + partial class AboutPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.labelVersion = new WindowsFormsAero.ThemeText.ThemedLabel(); + this.panelContents = new OnTopReplica.SidePanels.AboutPanelContents(); + this.SuspendLayout(); + // + // labelVersion + // + this.labelVersion.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelVersion.Location = new System.Drawing.Point(0, 270); + this.labelVersion.Name = "labelVersion"; + this.labelVersion.Padding = new System.Windows.Forms.Padding(0, 0, 0, 3); + this.labelVersion.Size = new System.Drawing.Size(265, 20); + this.labelVersion.TabIndex = 0; + this.labelVersion.Text = "Version"; + this.labelVersion.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.labelVersion.TextAlignVertical = System.Windows.Forms.VisualStyles.VerticalAlignment.Bottom; + // + // panelContents + // + this.panelContents.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panelContents.AutoScroll = true; + this.panelContents.Location = new System.Drawing.Point(6, 6); + this.panelContents.Margin = new System.Windows.Forms.Padding(6); + this.panelContents.Name = "panelContents"; + this.panelContents.Size = new System.Drawing.Size(253, 255); + this.panelContents.TabIndex = 1; + // + // AboutPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.panelContents); + this.Controls.Add(this.labelVersion); + this.MinimumSize = new System.Drawing.Size(265, 290); + this.Name = "AboutPanel"; + this.Size = new System.Drawing.Size(265, 290); + this.ResumeLayout(false); + + } + + #endregion + + private WindowsFormsAero.ThemeText.ThemedLabel labelVersion; + private AboutPanelContents panelContents; + + } +} diff --git a/OnTopReplica/SidePanels/AboutPanel.cs b/OnTopReplica/SidePanels/AboutPanel.cs new file mode 100644 index 0000000..949d2bc --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanel.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Windows.Forms; +using WindowsFormsAero.Dwm; + +namespace OnTopReplica.SidePanels { + partial class AboutPanel : SidePanel { + + public AboutPanel() { + InitializeComponent(); + + //Display version number + labelVersion.Text = string.Format(Strings.AboutVersion, Application.ProductVersion); + } + + public override string Title { + get { + return Strings.AboutTitle; + } + } + + public override Margins? GlassMargins { + get { + return new Margins(0, 0, 0, labelVersion.Height); + } + } + + } +} diff --git a/OnTopReplica/SidePanels/AboutPanel.resx b/OnTopReplica/SidePanels/AboutPanel.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs b/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs new file mode 100644 index 0000000..819852c --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs @@ -0,0 +1,265 @@ +namespace OnTopReplica.SidePanels { + partial class AboutPanelContents { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.labelTranslators = new System.Windows.Forms.Label(); + this.linkCredits = new System.Windows.Forms.LinkLabel(); + this.progressUpdate = new WindowsFormsAero.ProgressBar(); + this.buttonUpdate = new System.Windows.Forms.Button(); + this.lblUpdateDisclaimer = new System.Windows.Forms.Label(); + this.labeledDivider2 = new WindowsFormsAero.LabeledDivider(); + this.labeledDivider1 = new WindowsFormsAero.LabeledDivider(); + this.linkHomepage = new System.Windows.Forms.LinkLabel(); + this.linkAuthor = new System.Windows.Forms.LinkLabel(); + this.lblSlogan = new System.Windows.Forms.Label(); + this.labeledDivider3 = new WindowsFormsAero.LabeledDivider(); + this.linkLicense = new System.Windows.Forms.LinkLabel(); + this.labeledDivider4 = new WindowsFormsAero.LabeledDivider(); + this.linkContribute = new System.Windows.Forms.LinkLabel(); + this.SuspendLayout(); + // + // labelTranslators + // + this.labelTranslators.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelTranslators.AutoEllipsis = true; + this.labelTranslators.Location = new System.Drawing.Point(0, 289); + this.labelTranslators.Name = "labelTranslators"; + this.labelTranslators.Size = new System.Drawing.Size(240, 101); + this.labelTranslators.TabIndex = 31; + this.labelTranslators.Text = "Translators:"; + // + // linkCredits + // + this.linkCredits.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.linkCredits.AutoEllipsis = true; + this.linkCredits.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkCredits.Location = new System.Drawing.Point(0, 223); + this.linkCredits.Name = "linkCredits"; + this.linkCredits.Size = new System.Drawing.Size(240, 57); + this.linkCredits.TabIndex = 30; + this.linkCredits.TabStop = true; + this.linkCredits.Text = "%CREDITS%"; + this.linkCredits.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkCredits_click); + // + // progressUpdate + // + this.progressUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.progressUpdate.Location = new System.Drawing.Point(0, 155); + this.progressUpdate.Name = "progressUpdate"; + this.progressUpdate.Size = new System.Drawing.Size(132, 23); + this.progressUpdate.Style = System.Windows.Forms.ProgressBarStyle.Marquee; + this.progressUpdate.TabIndex = 29; + this.progressUpdate.Visible = false; + // + // buttonUpdate + // + this.buttonUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonUpdate.Location = new System.Drawing.Point(138, 155); + this.buttonUpdate.Name = "buttonUpdate"; + this.buttonUpdate.Size = new System.Drawing.Size(102, 23); + this.buttonUpdate.TabIndex = 28; + this.buttonUpdate.Text = global::OnTopReplica.Strings.AboutUpdatesCheckNow; + this.buttonUpdate.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonUpdate.UseVisualStyleBackColor = true; + this.buttonUpdate.Click += new System.EventHandler(this.UpdateButton_click); + // + // lblUpdateDisclaimer + // + this.lblUpdateDisclaimer.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblUpdateDisclaimer.AutoEllipsis = true; + this.lblUpdateDisclaimer.Location = new System.Drawing.Point(0, 108); + this.lblUpdateDisclaimer.Name = "lblUpdateDisclaimer"; + this.lblUpdateDisclaimer.Size = new System.Drawing.Size(240, 44); + this.lblUpdateDisclaimer.TabIndex = 27; + this.lblUpdateDisclaimer.Text = "OnTopReplica automatically checks for updates at every start up."; + // + // labeledDivider2 + // + this.labeledDivider2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labeledDivider2.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); + this.labeledDivider2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); + this.labeledDivider2.Location = new System.Drawing.Point(0, 197); + this.labeledDivider2.Name = "labeledDivider2"; + this.labeledDivider2.Size = new System.Drawing.Size(240, 23); + this.labeledDivider2.TabIndex = 26; + this.labeledDivider2.Text = global::OnTopReplica.Strings.AboutDividerCredits; + // + // labeledDivider1 + // + this.labeledDivider1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labeledDivider1.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); + this.labeledDivider1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); + this.labeledDivider1.Location = new System.Drawing.Point(0, 82); + this.labeledDivider1.Name = "labeledDivider1"; + this.labeledDivider1.Size = new System.Drawing.Size(240, 23); + this.labeledDivider1.TabIndex = 25; + this.labeledDivider1.Text = global::OnTopReplica.Strings.AboutDividerUpdates; + // + // linkHomepage + // + this.linkHomepage.AutoSize = true; + this.linkHomepage.BackColor = System.Drawing.Color.Transparent; + this.linkHomepage.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkHomepage.Location = new System.Drawing.Point(0, 54); + this.linkHomepage.Name = "linkHomepage"; + this.linkHomepage.Size = new System.Drawing.Size(167, 17); + this.linkHomepage.TabIndex = 23; + this.linkHomepage.TabStop = true; + this.linkHomepage.Text = "http://ontopreplica.codeplex.com"; + this.linkHomepage.UseCompatibleTextRendering = true; + this.linkHomepage.VisitedLinkColor = System.Drawing.Color.Blue; + this.linkHomepage.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkHomepage_clicked); + // + // linkAuthor + // + this.linkAuthor.AutoSize = true; + this.linkAuthor.BackColor = System.Drawing.Color.Transparent; + this.linkAuthor.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkAuthor.LinkColor = System.Drawing.Color.Blue; + this.linkAuthor.Location = new System.Drawing.Point(0, 33); + this.linkAuthor.Name = "linkAuthor"; + this.linkAuthor.Size = new System.Drawing.Size(72, 17); + this.linkAuthor.TabIndex = 22; + this.linkAuthor.TabStop = true; + this.linkAuthor.Text = "%AUTHOR%"; + this.linkAuthor.UseCompatibleTextRendering = true; + this.linkAuthor.VisitedLinkColor = System.Drawing.Color.Blue; + this.linkAuthor.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkAuthor_clicked); + // + // lblSlogan + // + this.lblSlogan.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblSlogan.AutoEllipsis = true; + this.lblSlogan.BackColor = System.Drawing.Color.Transparent; + this.lblSlogan.Location = new System.Drawing.Point(0, 0); + this.lblSlogan.Name = "lblSlogan"; + this.lblSlogan.Size = new System.Drawing.Size(240, 33); + this.lblSlogan.TabIndex = 24; + this.lblSlogan.Text = "A lightweight, real-time, always on top thumbnail of a window of your choice."; + // + // labeledDivider3 + // + this.labeledDivider3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labeledDivider3.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); + this.labeledDivider3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); + this.labeledDivider3.Location = new System.Drawing.Point(0, 393); + this.labeledDivider3.Name = "labeledDivider3"; + this.labeledDivider3.Size = new System.Drawing.Size(240, 23); + this.labeledDivider3.TabIndex = 32; + this.labeledDivider3.Text = "License"; + // + // linkLicense + // + this.linkLicense.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.linkLicense.AutoEllipsis = true; + this.linkLicense.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLicense.Location = new System.Drawing.Point(0, 419); + this.linkLicense.Name = "linkLicense"; + this.linkLicense.Size = new System.Drawing.Size(240, 81); + this.linkLicense.TabIndex = 33; + this.linkLicense.TabStop = true; + this.linkLicense.Text = "%LICENSE%"; + this.linkLicense.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkLicense_click); + // + // labeledDivider4 + // + this.labeledDivider4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labeledDivider4.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); + this.labeledDivider4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); + this.labeledDivider4.Location = new System.Drawing.Point(0, 503); + this.labeledDivider4.Name = "labeledDivider4"; + this.labeledDivider4.Size = new System.Drawing.Size(240, 23); + this.labeledDivider4.TabIndex = 34; + this.labeledDivider4.Text = "Contribute"; + // + // linkContribute + // + this.linkContribute.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.linkContribute.AutoEllipsis = true; + this.linkContribute.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkContribute.Location = new System.Drawing.Point(0, 529); + this.linkContribute.Name = "linkContribute"; + this.linkContribute.Size = new System.Drawing.Size(240, 84); + this.linkContribute.TabIndex = 35; + this.linkContribute.TabStop = true; + this.linkContribute.Text = "%CONTRIBUTE%"; + this.linkContribute.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkContribute_clicked); + // + // AboutPanelContents + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoScroll = true; + this.Controls.Add(this.linkContribute); + this.Controls.Add(this.labeledDivider4); + this.Controls.Add(this.linkLicense); + this.Controls.Add(this.labeledDivider3); + this.Controls.Add(this.labelTranslators); + this.Controls.Add(this.linkCredits); + this.Controls.Add(this.progressUpdate); + this.Controls.Add(this.buttonUpdate); + this.Controls.Add(this.lblUpdateDisclaimer); + this.Controls.Add(this.labeledDivider2); + this.Controls.Add(this.labeledDivider1); + this.Controls.Add(this.linkHomepage); + this.Controls.Add(this.linkAuthor); + this.Controls.Add(this.lblSlogan); + this.Margin = new System.Windows.Forms.Padding(6); + this.Name = "AboutPanelContents"; + this.Size = new System.Drawing.Size(243, 613); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label labelTranslators; + private System.Windows.Forms.LinkLabel linkCredits; + private WindowsFormsAero.ProgressBar progressUpdate; + private System.Windows.Forms.Button buttonUpdate; + private System.Windows.Forms.Label lblUpdateDisclaimer; + private WindowsFormsAero.LabeledDivider labeledDivider2; + private WindowsFormsAero.LabeledDivider labeledDivider1; + private System.Windows.Forms.LinkLabel linkHomepage; + private System.Windows.Forms.LinkLabel linkAuthor; + private System.Windows.Forms.Label lblSlogan; + private WindowsFormsAero.LabeledDivider labeledDivider3; + private System.Windows.Forms.LinkLabel linkLicense; + private WindowsFormsAero.LabeledDivider labeledDivider4; + private System.Windows.Forms.LinkLabel linkContribute; + + } +} diff --git a/OnTopReplica/SidePanels/AboutPanelContents.cs b/OnTopReplica/SidePanels/AboutPanelContents.cs new file mode 100644 index 0000000..b6a6bad --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanelContents.cs @@ -0,0 +1,100 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Update; +using System.Diagnostics; +using WindowsFormsAero.TaskDialog; +using System.IO; + +namespace OnTopReplica.SidePanels { + public partial class AboutPanelContents : UserControl { + + EventHandler _updateHandler; + + public AboutPanelContents() { + InitializeComponent(); + + LocalizePanel(); + } + + private void LocalizePanel() { + lblSlogan.Text = Strings.AboutSlogan; + linkAuthor.Internationalize(Strings.AboutAuthor, Strings.AboutAuthorContent); + labeledDivider1.Text = Strings.AboutDividerUpdates; + lblUpdateDisclaimer.Text = Strings.AboutUpdatesDisclaimer; + buttonUpdate.Text = Strings.AboutUpdatesCheckNow; + labeledDivider2.Text = Strings.AboutDividerCredits; + linkCredits.Internationalize(Strings.AboutCreditsSources, Strings.AboutCreditsSourcesContent); + labelTranslators.Text = string.Format(Strings.AboutTranslators, Strings.AboutTranslatorsContent); + labeledDivider3.Text = Strings.AboutDividerLicense; + linkLicense.Internationalize(Strings.AboutLicense, Strings.AboutLicenseContent); + labeledDivider4.Text = Strings.AboutDividerContribute; + linkContribute.Internationalize(Strings.AboutContribute, Strings.AboutContributeContent); + } + + protected override void OnHandleCreated(EventArgs e) { + base.OnHandleCreated(e); + + if (!DesignMode) { + //Updating + _updateHandler = new EventHandler(UpdateCheckCompleted); + Program.Update.UpdateCheckCompleted += _updateHandler; + } + } + + protected override void OnHandleDestroyed(EventArgs e) { + base.OnHandleDestroyed(e); + + if (!DesignMode) { + Program.Update.UpdateCheckCompleted -= _updateHandler; + } + } + + private void LinkHomepage_clicked(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://ontopreplica.codeplex.com"); + } + + private void LinkAuthor_clicked(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://lorenz.klopfenstein.net"); + } + + private void LinkCredits_click(object sender, LinkLabelLinkClickedEventArgs e) { + var exeDir = Path.GetDirectoryName(Application.ExecutablePath); + var filePath = Path.Combine(exeDir, "CREDITS.txt"); + + Process.Start(filePath); + } + + void UpdateButton_click(object sender, System.EventArgs e) { + progressUpdate.Visible = true; + + Program.Update.CheckForUpdate(); + } + + void UpdateCheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + this.Invoke(new Action(() => { + if (!e.Success || e.Information == null) { + //TODO + MessageBox.Show("Failed to download update info."); + } + else if (!e.Information.IsNewVersion) { + Program.Update.DisplayInfo(); + } + + progressUpdate.Visible = false; + })); + } + + private void LinkLicense_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://opensource.org/licenses/ms-rl.html"); + } + + private void LinkContribute_clicked(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://ontopreplica.codeplex.com/SourceControl/list/changesets"); + } + } +} diff --git a/OnTopReplica/SidePanels/AboutPanelContents.resx b/OnTopReplica/SidePanels/AboutPanelContents.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanelContents.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs new file mode 100644 index 0000000..c3d8cc6 --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs @@ -0,0 +1,131 @@ +namespace OnTopReplica.SidePanels { + partial class GroupSwitchPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.labelStatus = new System.Windows.Forms.Label(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonEnable = new System.Windows.Forms.Button(); + this.listWindows = new System.Windows.Forms.ListView(); + this.colName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.groupBox1.SuspendLayout(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.labelStatus); + this.groupBox1.Controls.Add(this.buttonCancel); + this.groupBox1.Controls.Add(this.buttonEnable); + this.groupBox1.Controls.Add(this.listWindows); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Location = new System.Drawing.Point(6, 6); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(271, 325); + this.groupBox1.TabIndex = 1; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Group switch mode:"; + // + // labelStatus + // + this.labelStatus.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelStatus.Location = new System.Drawing.Point(3, 276); + this.labelStatus.Name = "labelStatus"; + this.labelStatus.Size = new System.Drawing.Size(262, 17); + this.labelStatus.TabIndex = 3; + this.labelStatus.Text = "-"; + this.labelStatus.TextAlign = System.Drawing.ContentAlignment.BottomRight; + // + // buttonCancel + // + this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonCancel.Location = new System.Drawing.Point(195, 296); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(70, 23); + this.buttonCancel.TabIndex = 2; + this.buttonCancel.Text = global::OnTopReplica.Strings.GroupSwitchModeDisableButton; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(this.Cancel_click); + // + // buttonEnable + // + this.buttonEnable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonEnable.Image = global::OnTopReplica.Properties.Resources.xiao_ok; + this.buttonEnable.Location = new System.Drawing.Point(55, 296); + this.buttonEnable.Name = "buttonEnable"; + this.buttonEnable.Size = new System.Drawing.Size(134, 23); + this.buttonEnable.TabIndex = 1; + this.buttonEnable.Text = global::OnTopReplica.Strings.GroupSwitchModeEnableButton; + this.buttonEnable.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonEnable.UseVisualStyleBackColor = true; + this.buttonEnable.Click += new System.EventHandler(this.Enable_click); + // + // listWindows + // + this.listWindows.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.listWindows.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.colName}); + this.listWindows.FullRowSelect = true; + this.listWindows.GridLines = true; + this.listWindows.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; + this.listWindows.HideSelection = false; + this.listWindows.LabelWrap = false; + this.listWindows.Location = new System.Drawing.Point(6, 19); + this.listWindows.Name = "listWindows"; + this.listWindows.Size = new System.Drawing.Size(259, 254); + this.listWindows.TabIndex = 0; + this.listWindows.UseCompatibleStateImageBehavior = false; + this.listWindows.View = System.Windows.Forms.View.List; + // + // colName + // + this.colName.Text = global::OnTopReplica.Strings.GroupSwitchModeWindows; + this.colName.Width = 187; + // + // GroupSwitchPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox1); + this.MinimumSize = new System.Drawing.Size(240, 240); + this.Name = "GroupSwitchPanel"; + this.Padding = new System.Windows.Forms.Padding(6); + this.Size = new System.Drawing.Size(283, 337); + this.groupBox1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Label labelStatus; + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Button buttonEnable; + private System.Windows.Forms.ListView listWindows; + private System.Windows.Forms.ColumnHeader colName; + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.cs new file mode 100644 index 0000000..66183f5 --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.cs @@ -0,0 +1,89 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using OnTopReplica.MessagePumpProcessors; +using OnTopReplica.WindowSeekers; + +namespace OnTopReplica.SidePanels { + partial class GroupSwitchPanel : SidePanel { + public GroupSwitchPanel() { + InitializeComponent(); + + LocalizePanel(); + } + + private void LocalizePanel() { + groupBox1.Text = Strings.GroupSwitchModeTitle; + buttonEnable.Text = Strings.GroupSwitchModeEnableButton; + buttonCancel.Text = Strings.GroupSwitchModeDisableButton; + } + + public override string Title { + get { + return Strings.MenuGroupSwitch; + } + } + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + LoadWindowList(); + + labelStatus.Text = (ParentForm.MessagePumpManager.Get().IsActive) ? + Strings.GroupSwitchModeStatusEnabled : + Strings.GroupSwitchModeStatusDisabled; + } + + private void LoadWindowList() { + var manager = new TaskWindowSeeker { + SkipNotVisibleWindows = true + }; + manager.Refresh(); + + var imageList = new ImageList(); + imageList.ColorDepth = ColorDepth.Depth32Bit; + foreach (var w in manager.Windows) { + var item = new ListViewItem(w.Title) { + Tag = w + }; + + if (w.Icon != null) { + imageList.Images.Add(w.Icon); + item.ImageIndex = imageList.Images.Count - 1; + } + + listWindows.Items.Add(item); + } + listWindows.SmallImageList = imageList; + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + if (_enableOnClose && listWindows.SelectedItems.Count > 0) { + List ret = new List(); + foreach (ListViewItem i in listWindows.SelectedItems) { + ret.Add((WindowHandle)i.Tag); + } + + form.SetThumbnailGroup(ret); + } + else { + form.MessagePumpManager.Get().Disable(); + } + } + + bool _enableOnClose = false; + + private void Enable_click(object sender, EventArgs e) { + _enableOnClose = true; + OnRequestClosing(); + } + + private void Cancel_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + } + +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.resx b/OnTopReplica/SidePanels/GroupSwitchPanel.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/OptionsPanel.Designer.cs b/OnTopReplica/SidePanels/OptionsPanel.Designer.cs new file mode 100644 index 0000000..601eb05 --- /dev/null +++ b/OnTopReplica/SidePanels/OptionsPanel.Designer.cs @@ -0,0 +1,200 @@ +namespace OnTopReplica.SidePanels { + partial class OptionsPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.btnClose = new System.Windows.Forms.Button(); + this.panelMain = new System.Windows.Forms.Panel(); + this.groupHotkeys = new System.Windows.Forms.GroupBox(); + this.label1 = new System.Windows.Forms.Label(); + this.lblHotKeyShowHide = new System.Windows.Forms.Label(); + this.txtHotKeyShowHide = new OnTopReplica.HotKeyTextBox(); + this.lblHotKeyClone = new System.Windows.Forms.Label(); + this.txtHotKeyClone = new OnTopReplica.HotKeyTextBox(); + this.groupLanguage = new System.Windows.Forms.GroupBox(); + this.comboLanguage = new OnTopReplica.ImageComboBox(); + this.lblLanguage = new System.Windows.Forms.Label(); + this.panelMain.SuspendLayout(); + this.groupHotkeys.SuspendLayout(); + this.groupLanguage.SuspendLayout(); + this.SuspendLayout(); + // + // btnClose + // + this.btnClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnClose.Location = new System.Drawing.Point(189, 211); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(75, 23); + this.btnClose.TabIndex = 0; + this.btnClose.Text = global::OnTopReplica.Strings.MenuClose; + this.btnClose.UseVisualStyleBackColor = true; + this.btnClose.Click += new System.EventHandler(this.Close_click); + // + // panelMain + // + this.panelMain.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panelMain.AutoScroll = true; + this.panelMain.Controls.Add(this.groupHotkeys); + this.panelMain.Controls.Add(this.groupLanguage); + this.panelMain.Location = new System.Drawing.Point(6, 6); + this.panelMain.Name = "panelMain"; + this.panelMain.Size = new System.Drawing.Size(258, 199); + this.panelMain.TabIndex = 1; + // + // groupHotkeys + // + this.groupHotkeys.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupHotkeys.Controls.Add(this.label1); + this.groupHotkeys.Controls.Add(this.lblHotKeyShowHide); + this.groupHotkeys.Controls.Add(this.txtHotKeyShowHide); + this.groupHotkeys.Controls.Add(this.lblHotKeyClone); + this.groupHotkeys.Controls.Add(this.txtHotKeyClone); + this.groupHotkeys.Location = new System.Drawing.Point(3, 77); + this.groupHotkeys.Name = "groupHotkeys"; + this.groupHotkeys.Size = new System.Drawing.Size(252, 113); + this.groupHotkeys.TabIndex = 1; + this.groupHotkeys.TabStop = false; + this.groupHotkeys.Text = "Hot keys:"; + // + // label1 + // + this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.label1.Location = new System.Drawing.Point(6, 68); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(156, 43); + this.label1.TabIndex = 4; + this.label1.Text = "These system-wide shortcuts can also be used when OnTopReplica is not in focus."; + // + // lblHotKeyShowHide + // + this.lblHotKeyShowHide.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.lblHotKeyShowHide.Location = new System.Drawing.Point(168, 22); + this.lblHotKeyShowHide.Name = "lblHotKeyShowHide"; + this.lblHotKeyShowHide.Size = new System.Drawing.Size(78, 17); + this.lblHotKeyShowHide.TabIndex = 3; + this.lblHotKeyShowHide.Text = "Show/Hide"; + // + // txtHotKeyShowHide + // + this.txtHotKeyShowHide.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtHotKeyShowHide.Location = new System.Drawing.Point(6, 19); + this.txtHotKeyShowHide.Name = "txtHotKeyShowHide"; + this.txtHotKeyShowHide.ReadOnly = true; + this.txtHotKeyShowHide.Size = new System.Drawing.Size(156, 20); + this.txtHotKeyShowHide.TabIndex = 2; + // + // lblHotKeyClone + // + this.lblHotKeyClone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.lblHotKeyClone.Location = new System.Drawing.Point(168, 48); + this.lblHotKeyClone.Name = "lblHotKeyClone"; + this.lblHotKeyClone.Size = new System.Drawing.Size(78, 29); + this.lblHotKeyClone.TabIndex = 1; + this.lblHotKeyClone.Text = "Clone current window"; + // + // txtHotKeyClone + // + this.txtHotKeyClone.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtHotKeyClone.Location = new System.Drawing.Point(6, 45); + this.txtHotKeyClone.Name = "txtHotKeyClone"; + this.txtHotKeyClone.ReadOnly = true; + this.txtHotKeyClone.Size = new System.Drawing.Size(156, 20); + this.txtHotKeyClone.TabIndex = 0; + // + // groupLanguage + // + this.groupLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupLanguage.Controls.Add(this.comboLanguage); + this.groupLanguage.Controls.Add(this.lblLanguage); + this.groupLanguage.Location = new System.Drawing.Point(3, 3); + this.groupLanguage.Name = "groupLanguage"; + this.groupLanguage.Size = new System.Drawing.Size(252, 68); + this.groupLanguage.TabIndex = 0; + this.groupLanguage.TabStop = false; + this.groupLanguage.Text = "Language:"; + // + // comboLanguage + // + this.comboLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.comboLanguage.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; + this.comboLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboLanguage.FormattingEnabled = true; + this.comboLanguage.IconList = null; + this.comboLanguage.Location = new System.Drawing.Point(9, 19); + this.comboLanguage.Name = "comboLanguage"; + this.comboLanguage.Size = new System.Drawing.Size(237, 21); + this.comboLanguage.TabIndex = 2; + this.comboLanguage.SelectedIndexChanged += new System.EventHandler(this.LanguageBox_IndexChange); + // + // lblLanguage + // + this.lblLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblLanguage.Location = new System.Drawing.Point(6, 43); + this.lblLanguage.Name = "lblLanguage"; + this.lblLanguage.Size = new System.Drawing.Size(240, 22); + this.lblLanguage.TabIndex = 1; + this.lblLanguage.Text = "Requires a restart."; + // + // OptionsPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoScroll = true; + this.Controls.Add(this.panelMain); + this.Controls.Add(this.btnClose); + this.MinimumSize = new System.Drawing.Size(270, 240); + this.Name = "OptionsPanel"; + this.Padding = new System.Windows.Forms.Padding(6); + this.Size = new System.Drawing.Size(270, 240); + this.panelMain.ResumeLayout(false); + this.groupHotkeys.ResumeLayout(false); + this.groupHotkeys.PerformLayout(); + this.groupLanguage.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button btnClose; + private System.Windows.Forms.Panel panelMain; + private System.Windows.Forms.GroupBox groupLanguage; + private System.Windows.Forms.Label lblLanguage; + private ImageComboBox comboLanguage; + private System.Windows.Forms.GroupBox groupHotkeys; + private HotKeyTextBox txtHotKeyClone; + private System.Windows.Forms.Label lblHotKeyShowHide; + private HotKeyTextBox txtHotKeyShowHide; + private System.Windows.Forms.Label lblHotKeyClone; + private System.Windows.Forms.Label label1; + } +} diff --git a/OnTopReplica/SidePanels/OptionsPanel.cs b/OnTopReplica/SidePanels/OptionsPanel.cs new file mode 100644 index 0000000..1669c37 --- /dev/null +++ b/OnTopReplica/SidePanels/OptionsPanel.cs @@ -0,0 +1,128 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Properties; +using System.Globalization; + +namespace OnTopReplica.SidePanels { + partial class OptionsPanel : SidePanel { + + public OptionsPanel() { + InitializeComponent(); + + LocalizePanel(); + } + + private void LocalizePanel() { + groupLanguage.Text = Strings.SettingsLanguageTitle; + lblLanguage.Text = Strings.SettingsRestartRequired; + + groupHotkeys.Text = Strings.SettingsHotKeyTitle; + lblHotKeyShowHide.Text = Strings.SettingsHotKeyShowHide; + lblHotKeyClone.Text = Strings.SettingsHotKeyClone; + label1.Text = Strings.SettingsHotKeyDescription; + + btnClose.Text = Strings.MenuClose; + } + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + PopulateLanguageComboBox(); + + //Stop hotkey handling and load current shortcuts + form.MessagePumpManager.Get().Enabled = false; + txtHotKeyShowHide.Text = Settings.Default.HotKeyShowHide; + txtHotKeyClone.Text = Settings.Default.HotKeyCloneCurrent; + } + + private void Close_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + public override string Title { + get { + return Strings.SettingsTitle; + } + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + //Update hotkey settings and update processor + Settings.Default.HotKeyShowHide = txtHotKeyShowHide.Text; + Settings.Default.HotKeyCloneCurrent = txtHotKeyClone.Text; + var manager = form.MessagePumpManager.Get(); + manager.RefreshHotkeys(); + manager.Enabled = true; + } + + #region Language + + class CultureWrapper { + public CultureWrapper(string name, CultureInfo culture, Image img) { + Culture = culture; + Image = img; + Name = name; + } + public CultureInfo Culture { get; set; } + public Image Image { get; set; } + public string Name { get; set; } + } + + CultureWrapper[] _languageList = { + new CultureWrapper("English", new CultureInfo("en-US"), Resources.flag_usa), + new CultureWrapper("Čeština", new CultureInfo("cs-CZ"), Resources.flag_czech), + new CultureWrapper("Dansk", new CultureInfo("da-DK"), Resources.flag_danish), + new CultureWrapper("Deutsch", new CultureInfo("de-DE"), Resources.flag_germany), + new CultureWrapper("Español", new CultureInfo("es-ES"), Resources.flag_spanish), + new CultureWrapper("Italiano", new CultureInfo("it-IT"), Resources.flag_ita), + new CultureWrapper("Polski", new CultureInfo("pl-PL"), Resources.flag_poland), + }; + + private void PopulateLanguageComboBox() { + comboLanguage.Items.Clear(); + + var imageList = new ImageList() { + ImageSize = new Size(16, 16), + ColorDepth = ColorDepth.Depth32Bit + }; + comboLanguage.IconList = imageList; + + int selectedIndex = -1; + foreach (var langPair in _languageList) { + var item = new ImageComboBoxItem(langPair.Name, imageList.Images.Count) { + Tag = langPair.Culture + }; + imageList.Images.Add(langPair.Image); + comboLanguage.Items.Add(item); + + if (langPair.Culture.Equals(CultureInfo.CurrentUICulture)) { + selectedIndex = comboLanguage.Items.Count - 1; + } + } + + //Handle case when there is not explicitly set culture (default to first one, i.e. english) + if (CultureInfo.CurrentUICulture.Equals(CultureInfo.InvariantCulture)) + selectedIndex = 0; + + comboLanguage.SelectedIndex = selectedIndex; + } + + private void LanguageBox_IndexChange(object sender, EventArgs e) { + var item = comboLanguage.SelectedItem as ImageComboBoxItem; + if (item == null) + return; + + Settings.Default.Language = item.Tag as CultureInfo; + } + + #endregion + + } + +} diff --git a/OnTopReplica/SidePanels/OptionsPanel.resx b/OnTopReplica/SidePanels/OptionsPanel.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/OnTopReplica/SidePanels/OptionsPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/RegionPanel.Designer.cs b/OnTopReplica/SidePanels/RegionPanel.Designer.cs new file mode 100644 index 0000000..616d3fb --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.Designer.cs @@ -0,0 +1,318 @@ +namespace OnTopReplica.SidePanels { + partial class RegionPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + this.groupRegions = new System.Windows.Forms.GroupBox(); + this.textRegionName = new OnTopReplica.FocusedTextBox(); + this.numH = new System.Windows.Forms.NumericUpDown(); + this.numW = new System.Windows.Forms.NumericUpDown(); + this.numY = new System.Windows.Forms.NumericUpDown(); + this.numX = new System.Windows.Forms.NumericUpDown(); + this.buttonDone = new System.Windows.Forms.Button(); + this.buttonReset = new System.Windows.Forms.Button(); + this.labelHeight = new System.Windows.Forms.Label(); + this.labelWidth = new System.Windows.Forms.Label(); + this.labelY = new System.Windows.Forms.Label(); + this.labelX = new System.Windows.Forms.Label(); + this.labelCurrentRegion = new System.Windows.Forms.Label(); + this.buttonDelete = new System.Windows.Forms.Button(); + this.buttonSave = new System.Windows.Forms.Button(); + this.comboRegions = new WindowsFormsAero.ComboBox(); + this.toolTip = new System.Windows.Forms.ToolTip(this.components); + this.groupRegions.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).BeginInit(); + this.SuspendLayout(); + // + // groupRegions + // + this.groupRegions.Controls.Add(this.textRegionName); + this.groupRegions.Controls.Add(this.numH); + this.groupRegions.Controls.Add(this.numW); + this.groupRegions.Controls.Add(this.numY); + this.groupRegions.Controls.Add(this.numX); + this.groupRegions.Controls.Add(this.buttonDone); + this.groupRegions.Controls.Add(this.buttonReset); + this.groupRegions.Controls.Add(this.labelHeight); + this.groupRegions.Controls.Add(this.labelWidth); + this.groupRegions.Controls.Add(this.labelY); + this.groupRegions.Controls.Add(this.labelX); + this.groupRegions.Controls.Add(this.labelCurrentRegion); + this.groupRegions.Controls.Add(this.buttonDelete); + this.groupRegions.Controls.Add(this.buttonSave); + this.groupRegions.Controls.Add(this.comboRegions); + this.groupRegions.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupRegions.Location = new System.Drawing.Point(6, 6); + this.groupRegions.Name = "groupRegions"; + this.groupRegions.Size = new System.Drawing.Size(218, 158); + this.groupRegions.TabIndex = 0; + this.groupRegions.TabStop = false; + this.groupRegions.Text = "Regions:"; + // + // textRegionName + // + this.textRegionName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textRegionName.BackColor = System.Drawing.SystemColors.ActiveCaption; + this.textRegionName.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; + this.textRegionName.Location = new System.Drawing.Point(6, 44); + this.textRegionName.Name = "textRegionName"; + this.textRegionName.Size = new System.Drawing.Size(208, 20); + this.textRegionName.TabIndex = 11; + this.textRegionName.Visible = false; + this.textRegionName.ConfirmInput += new System.EventHandler(this.Save_confirm); + this.textRegionName.AbortInput += new System.EventHandler(this.Save_lost); + // + // numH + // + this.numH.Enabled = false; + this.numH.Location = new System.Drawing.Point(150, 93); + this.numH.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numH.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numH.Name = "numH"; + this.numH.Size = new System.Drawing.Size(43, 20); + this.numH.TabIndex = 7; + this.numH.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numW + // + this.numW.Enabled = false; + this.numW.Location = new System.Drawing.Point(150, 67); + this.numW.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numW.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numW.Name = "numW"; + this.numW.Size = new System.Drawing.Size(43, 20); + this.numW.TabIndex = 6; + this.numW.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numY + // + this.numY.Enabled = false; + this.numY.Location = new System.Drawing.Point(29, 93); + this.numY.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numY.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numY.Name = "numY"; + this.numY.Size = new System.Drawing.Size(43, 20); + this.numY.TabIndex = 5; + this.numY.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numX + // + this.numX.Enabled = false; + this.numX.Location = new System.Drawing.Point(29, 67); + this.numX.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numX.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numX.Name = "numX"; + this.numX.Size = new System.Drawing.Size(43, 20); + this.numX.TabIndex = 4; + this.numX.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // buttonDone + // + this.buttonDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDone.Image = global::OnTopReplica.Properties.Resources.xiao_ok; + this.buttonDone.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonDone.Location = new System.Drawing.Point(142, 129); + this.buttonDone.Name = "buttonDone"; + this.buttonDone.Size = new System.Drawing.Size(70, 23); + this.buttonDone.TabIndex = 9; + this.buttonDone.Text = global::OnTopReplica.Strings.RegionsDoneButton; + this.buttonDone.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonDone.UseVisualStyleBackColor = true; + this.buttonDone.Click += new System.EventHandler(this.Close_click); + // + // buttonReset + // + this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonReset.Location = new System.Drawing.Point(66, 129); + this.buttonReset.Name = "buttonReset"; + this.buttonReset.Size = new System.Drawing.Size(70, 23); + this.buttonReset.TabIndex = 8; + this.buttonReset.Text = global::OnTopReplica.Strings.RegionsResetButton; + this.buttonReset.UseVisualStyleBackColor = true; + this.buttonReset.Click += new System.EventHandler(this.Reset_click); + // + // labelHeight + // + this.labelHeight.ForeColor = System.Drawing.SystemColors.ControlDark; + this.labelHeight.Location = new System.Drawing.Point(81, 96); + this.labelHeight.Name = "labelHeight"; + this.labelHeight.Size = new System.Drawing.Size(63, 17); + this.labelHeight.TabIndex = 9; + this.labelHeight.Text = "Height"; + this.labelHeight.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // labelWidth + // + this.labelWidth.ForeColor = System.Drawing.SystemColors.ControlDark; + this.labelWidth.Location = new System.Drawing.Point(81, 70); + this.labelWidth.Name = "labelWidth"; + this.labelWidth.Size = new System.Drawing.Size(63, 17); + this.labelWidth.TabIndex = 8; + this.labelWidth.Text = "Width"; + this.labelWidth.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // labelY + // + this.labelY.ForeColor = System.Drawing.SystemColors.ControlDark; + this.labelY.Location = new System.Drawing.Point(6, 96); + this.labelY.Name = "labelY"; + this.labelY.Size = new System.Drawing.Size(17, 17); + this.labelY.TabIndex = 5; + this.labelY.Text = "Y"; + this.labelY.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // labelX + // + this.labelX.ForeColor = System.Drawing.SystemColors.ControlDark; + this.labelX.Location = new System.Drawing.Point(6, 70); + this.labelX.Name = "labelX"; + this.labelX.Size = new System.Drawing.Size(17, 17); + this.labelX.TabIndex = 4; + this.labelX.Text = "X"; + this.labelX.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // labelCurrentRegion + // + this.labelCurrentRegion.AutoSize = true; + this.labelCurrentRegion.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelCurrentRegion.Location = new System.Drawing.Point(6, 47); + this.labelCurrentRegion.Name = "labelCurrentRegion"; + this.labelCurrentRegion.Size = new System.Drawing.Size(76, 13); + this.labelCurrentRegion.TabIndex = 3; + this.labelCurrentRegion.Text = "Current region:"; + // + // buttonDelete + // + this.buttonDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDelete.Enabled = false; + this.buttonDelete.Image = global::OnTopReplica.Properties.Resources.xiao_delete; + this.buttonDelete.Location = new System.Drawing.Point(191, 18); + this.buttonDelete.Name = "buttonDelete"; + this.buttonDelete.Size = new System.Drawing.Size(23, 23); + this.buttonDelete.TabIndex = 3; + this.buttonDelete.UseVisualStyleBackColor = true; + this.buttonDelete.Click += new System.EventHandler(this.Delete_click); + // + // buttonSave + // + this.buttonSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonSave.Enabled = false; + this.buttonSave.Image = global::OnTopReplica.Properties.Resources.xiao_add; + this.buttonSave.Location = new System.Drawing.Point(168, 18); + this.buttonSave.Name = "buttonSave"; + this.buttonSave.Size = new System.Drawing.Size(23, 23); + this.buttonSave.TabIndex = 1; + this.buttonSave.UseVisualStyleBackColor = true; + this.buttonSave.Click += new System.EventHandler(this.Save_click); + // + // comboRegions + // + this.comboRegions.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.comboRegions.CueBannerText = global::OnTopReplica.Strings.RegionsStoredRegions; + this.comboRegions.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboRegions.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.comboRegions.FormattingEnabled = true; + this.comboRegions.Location = new System.Drawing.Point(6, 19); + this.comboRegions.Name = "comboRegions"; + this.comboRegions.Size = new System.Drawing.Size(160, 21); + this.comboRegions.TabIndex = 0; + this.comboRegions.SelectedIndexChanged += new System.EventHandler(this.RegionCombo_index_change); + // + // RegionPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupRegions); + this.MinimumSize = new System.Drawing.Size(230, 170); + this.Name = "RegionPanel"; + this.Padding = new System.Windows.Forms.Padding(6); + this.Size = new System.Drawing.Size(230, 170); + this.groupRegions.ResumeLayout(false); + this.groupRegions.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupRegions; + private System.Windows.Forms.Button buttonDelete; + private System.Windows.Forms.Button buttonSave; + private WindowsFormsAero.ComboBox comboRegions; + private System.Windows.Forms.Button buttonDone; + private System.Windows.Forms.Button buttonReset; + private System.Windows.Forms.Label labelHeight; + private System.Windows.Forms.Label labelWidth; + private System.Windows.Forms.Label labelY; + private System.Windows.Forms.Label labelX; + private System.Windows.Forms.Label labelCurrentRegion; + private System.Windows.Forms.NumericUpDown numH; + private System.Windows.Forms.NumericUpDown numW; + private System.Windows.Forms.NumericUpDown numY; + private System.Windows.Forms.NumericUpDown numX; + private FocusedTextBox textRegionName; + private System.Windows.Forms.ToolTip toolTip; + } +} diff --git a/OnTopReplica/SidePanels/RegionPanel.cs b/OnTopReplica/SidePanels/RegionPanel.cs new file mode 100644 index 0000000..29ce999 --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.cs @@ -0,0 +1,246 @@ +using System; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica.SidePanels { + + partial class RegionPanel : SidePanel { + + public RegionPanel() { + InitializeComponent(); + + Localize(); + + //Copy settings into combo box + if (Settings.Default.SavedRegions != null) { + foreach (object o in Settings.Default.SavedRegions) { + comboRegions.Items.Add(o); + } + } + + _regionDrawnHandler = new ThumbnailPanel.RegionDrawnHandler(ThumbnailPanel_RegionDrawn); + } + + private void Localize() { + this.SuspendLayout(); + + groupRegions.Text = Strings.RegionsTitle; + comboRegions.CueBannerText = Strings.RegionsStoredRegions; + labelCurrentRegion.Text = Strings.RegionsCurrentRegion; + //labelX + //labelY + labelWidth.Text = Strings.RegionsWidth; + labelHeight.Text = Strings.RegionsHeight; + buttonReset.Text = Strings.RegionsResetButton; + buttonDone.Text = Strings.RegionsDoneButton; + + toolTip.SetToolTip(buttonSave, Strings.RegionsSaveButton); + toolTip.SetToolTip(buttonDelete, Strings.RegionsDeleteButton); + + this.ResumeLayout(); + } + + public override string Title { + get { + return Strings.MenuRegion; + } + } + + ThumbnailPanel.RegionDrawnHandler _regionDrawnHandler; + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + //Init shown region if needed + if (form.SelectedThumbnailRegion.HasValue) + SetRegion(form.SelectedThumbnailRegion.Value); + + form.ThumbnailPanel.DrawMouseRegions = true; + form.ThumbnailPanel.RegionDrawn += _regionDrawnHandler; + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + form.ThumbnailPanel.DrawMouseRegions = false; + form.ThumbnailPanel.RegionDrawn -= _regionDrawnHandler; + } + + void ThumbnailPanel_RegionDrawn(object sender, Rectangle region) { + SetRegion(region); + } + + #region Interface + + /// + /// Sets the current selected region to a specific instance of a stored region. + /// + /// A stored region instance or null to reset. + public void SetRegion(StoredRegion region) { + if (region == null) { + Reset(); + return; + } + + SetRegion(region.Bounds); + + //Select right combobox + if (comboRegions.Items.Contains(region)) { + comboRegions.SelectedItem = region; + } + } + + /// + /// Sets the current selected region to a specific region rectangle. + /// + /// The region boundaries. + public void SetRegion(Rectangle region) { + try { + _ignoreValueChanges = true; + + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = true; + + numX.Value = region.Left; + numY.Value = region.Top; + numW.Value = region.Width; + numH.Value = region.Height; + } + finally { + _ignoreValueChanges = false; + } + + OnRegionSet(region); + } + + /// + /// Resets the selected region and disables the num spinners. + /// + public void Reset() { + try { + _ignoreValueChanges = true; + + numX.Value = numY.Value = numW.Value = numH.Value = 0; + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = false; + + buttonSave.Enabled = false; + + comboRegions.SelectedIndex = -1; + } + finally { + _ignoreValueChanges = false; + } + } + + #endregion + + /// + /// Adds a new stored region. + /// + /// Region bounds. + /// Name of the region. + private void AddRegion(Rectangle rectangle, string regionName) { + var region = new StoredRegion(rectangle, regionName); + + int index = comboRegions.Items.Add(region); + comboRegions.SelectedIndex = index; + + if (Settings.Default.SavedRegions == null) + Settings.Default.SavedRegions = new StoredRegionArray(); + Settings.Default.SavedRegions.Add(region); + } + + /// + /// Internal event raised when a change occurs in the selected region. + /// + /// Region bounds. + protected virtual void OnRegionSet(Rectangle regionBounds) { + //Forward region to thumbnail + ParentForm.SelectedThumbnailRegion = regionBounds; + + buttonSave.Enabled = true; + } + + #region GUI event handlers + + private void Close_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + private void Reset_click(object sender, EventArgs e) { + Reset(); + ParentForm.SelectedThumbnailRegion = null; + } + + private void Delete_click(object sender, EventArgs e) { + if (comboRegions.SelectedIndex < 0) + return; + + var origIndex = comboRegions.SelectedIndex; + Settings.Default.SavedRegions.RemoveAt(origIndex); + comboRegions.Items.RemoveAt(origIndex); + + if (comboRegions.Items.Count > 0) + comboRegions.SelectedIndex = 0; + } + + private void Save_click(object sender, EventArgs e) { + //Display textbox instead of button + buttonSave.Enabled = buttonDelete.Enabled = false; + textRegionName.Visible = true; + textRegionName.Focus(); + } + + private void Save_confirm(object sender, EventArgs e) { + if (!string.IsNullOrEmpty(textRegionName.Text)) { + AddRegion( + new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value), + textRegionName.Text + ); + } + + //Hide textbox and show button again + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Enabled = buttonDelete.Enabled = true; + } + + private void Save_lost(object sender, EventArgs e) { + //Reset textbox + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Enabled = buttonDelete.Enabled = true; + buttonSave.Focus(); + } + + // Used to signal to the value change handler that all events should be temporarily ignored. + bool _ignoreValueChanges = false; + + private void RegionValueSpinner_value_change(object sender, EventArgs e) { + if (_ignoreValueChanges) + return; + + OnRegionSet(new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value)); + } + + private void RegionCombo_index_change(object sender, EventArgs e) { + buttonDelete.Enabled = (comboRegions.SelectedIndex >= 0); + + if (comboRegions.SelectedIndex >= 0) { + //Load region + var region = comboRegions.SelectedItem as StoredRegion; + + if (region == null) + return; + + SetRegion(region.Bounds); + } + } + + #endregion + + } + +} diff --git a/OnTopReplica/SidePanels/RegionPanel.resx b/OnTopReplica/SidePanels/RegionPanel.resx new file mode 100644 index 0000000..a5979aa --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/OnTopReplica/StartupOptions/CliStatus.cs b/OnTopReplica/StartupOptions/CliStatus.cs new file mode 100644 index 0000000..a445e68 --- /dev/null +++ b/OnTopReplica/StartupOptions/CliStatus.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.StartupOptions { + public enum CliStatus { + /// + /// No errors while parsing. + /// + Ok, + /// + /// User asked for help. + /// + Information, + /// + /// Error while parsing. + /// + Error + } + +} diff --git a/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs b/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs new file mode 100644 index 0000000..9a2ec68 --- /dev/null +++ b/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs @@ -0,0 +1,116 @@ +namespace OnTopReplica.StartupOptions { + partial class CommandLineReportForm { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CommandLineReportForm)); + this.buttonOk = new System.Windows.Forms.Button(); + this.labelInstruction = new System.Windows.Forms.Label(); + this.txtDescription = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.txtCliArgs = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // buttonOk + // + this.buttonOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonOk.DialogResult = System.Windows.Forms.DialogResult.OK; + this.buttonOk.Location = new System.Drawing.Point(440, 200); + this.buttonOk.Name = "buttonOk"; + this.buttonOk.Size = new System.Drawing.Size(75, 23); + this.buttonOk.TabIndex = 0; + this.buttonOk.Text = "OK"; + this.buttonOk.UseVisualStyleBackColor = true; + // + // labelInstruction + // + this.labelInstruction.AutoSize = true; + this.labelInstruction.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelInstruction.ForeColor = System.Drawing.SystemColors.HotTrack; + this.labelInstruction.Location = new System.Drawing.Point(12, 10); + this.labelInstruction.Name = "labelInstruction"; + this.labelInstruction.Size = new System.Drawing.Size(112, 21); + this.labelInstruction.TabIndex = 1; + this.labelInstruction.Text = "Command line"; + // + // txtDescription + // + this.txtDescription.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtDescription.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.txtDescription.Location = new System.Drawing.Point(12, 42); + this.txtDescription.Multiline = true; + this.txtDescription.Name = "txtDescription"; + this.txtDescription.ReadOnly = true; + this.txtDescription.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.txtDescription.Size = new System.Drawing.Size(503, 152); + this.txtDescription.TabIndex = 2; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(13, 205); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(60, 13); + this.label1.TabIndex = 3; + this.label1.Text = "Arguments:"; + // + // txtCliArgs + // + this.txtCliArgs.Location = new System.Drawing.Point(79, 202); + this.txtCliArgs.Name = "txtCliArgs"; + this.txtCliArgs.ReadOnly = true; + this.txtCliArgs.Size = new System.Drawing.Size(355, 20); + this.txtCliArgs.TabIndex = 4; + // + // CommandLineReportForm + // + this.AcceptButton = this.buttonOk; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.ControlLightLight; + this.ClientSize = new System.Drawing.Size(527, 235); + this.Controls.Add(this.txtCliArgs); + this.Controls.Add(this.label1); + this.Controls.Add(this.txtDescription); + this.Controls.Add(this.labelInstruction); + this.Controls.Add(this.buttonOk); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "CommandLineReportForm"; + this.Text = "Command line parameters"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button buttonOk; + private System.Windows.Forms.Label labelInstruction; + private System.Windows.Forms.TextBox txtDescription; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox txtCliArgs; + } +} \ No newline at end of file diff --git a/OnTopReplica/StartupOptions/CommandLineReportForm.cs b/OnTopReplica/StartupOptions/CommandLineReportForm.cs new file mode 100644 index 0000000..90eea63 --- /dev/null +++ b/OnTopReplica/StartupOptions/CommandLineReportForm.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.StartupOptions { + public partial class CommandLineReportForm : Form { + + public CommandLineReportForm(CliStatus status, string message) { + InitializeComponent(); + + switch (status) { + case CliStatus.Information: + labelInstruction.Text = "Command line help"; + break; + + case CliStatus.Error: + labelInstruction.Text = "Command line parsing error"; + break; + } + + txtDescription.Text = message; + + txtCliArgs.Text = Environment.CommandLine; + } + + } +} diff --git a/OnTopReplica/StartupOptions/CommandLineReportForm.resx b/OnTopReplica/StartupOptions/CommandLineReportForm.resx new file mode 100644 index 0000000..b6de04b --- /dev/null +++ b/OnTopReplica/StartupOptions/CommandLineReportForm.resx @@ -0,0 +1,1574 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAYAgIAAAAEAIAAoCAEAZgAAADAwAAABACAAqCUAAI4IAQAgIAAAAQAgAKgQAAA2LgEAGBgAAAEA + IACICQAA3j4BABQUAAABACAAuAYAAGZIAQAQEAAAAQAgAGgEAAAeTwEAKAAAAIAAAAAAAQAAAQAgAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAMAAAAGAAAABwAAAAoAAAANAAAADwAA + ABEAAAAVAAAAGAAAABoAAAAdAAAAHgAAACAAAAAhAAAAIgAAACIAAAAjAAAAIwAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACAAAAAfAAAAHgAAABwAAAAZAAAAFwAAABMAAAAQAAAADgAAAAsAAAAIAAAABwAAAAQAAAACAAAAAgAA + AAMAAAAEAAAABQAAAAkAAAALAAAADgAAABIAAAAWAAAAGQAAAB0AAAAgAAAAJAAAACcAAAAqAAAAKwAA + AC0AAAAvAAAALwAAADAAAAAwAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAuAAAALQAAACsAAAApAAAAJgAAACIAAAAfAAAAHAAA + ABgAAAAUAAAAEAAAAAwAAAAKAAAABwAAAAQAAAADAAAABAAAAAYAAAAIAAAADAAAAA8AAAATAAAAGAAA + AB0AAAAiAAAAJgAAACoAAAAuAAAAMQAAADQAAAA2AAAAOAAAADoAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOgAA + ADkAAAA4AAAANgAAADMAAAAwAAAALAAAACgAAAAlAAAAIAAAABsAAAAWAAAAEQAAAA4AAAAKAAAABwAA + AAQAAAAFAAAACAAAAAsAAAAPAAAAEwAAABkAAAAfAAAAJQAAACoAAAAvAAAANQAAADoAAAA+AAAAQQAA + AEQAAABGAAAASAAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABIAAAARwAAAEUAAABDAAAAQAAAADwAAAA4AAAAMwAA + AC0AAAAoAAAAIgAAABwAAAAWAAAAEgAAAA0AAAAJAAAABQAAAAcAAAALAAAADQAAABIAAAAYAAAAIAAA + ACYAAAAtAAAANAAAADoAAABAAAAARgAAAEsAAABPAAAAUQAAAFQAAABWAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFYAAABVAAAAUwAAAFAAAABOAAAASQAAAEQAAAA+AAAAOAAAADEAAAAqAAAAIwAAAB0AAAAWAAAAEAAA + AAsAAAAGAAAACAAAAA0AAAARAAAAFwAAAB8AAAAmAAAALgAAADcAAAA+AAAARgAAAEwAAABSAAAAVwAA + AFwAAABfAAAAYgAAAGMAAABkAAAAZQAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAYwAAAGMAAABhAAAAXgAAAFoAAABVAAAAUAAA + AEoAAABDAAAAOgAAADIAAAAqAAAAIwAAABwAAAAVAAAADgAAAAgAAAAKAAAAEAAAABUAAAAdAAAAJAAA + AC0AAAA2AAAAQAAAAEkAAABRAAAAWAAAAF4AAABkAAAAaQAAAGwAAABuAAAAcAAAAHEAAAByAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABwAAAAbwAAAG4AAABqAAAAZwAAAGIAAABcAAAAVQAAAE4AAABFAAAAPAAAADIAAAApAAAAIAAA + ABoAAAASAAAACQAAAA0AAAATAAAAGQAAACEAAAArAAAANQAAAD8AAABJAAAAUwAAAFwAAABlAAAAawAA + AHEAAAB2AAAAeQAAAHsAAAB9AAAAfwAAAH8AAAB+AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH0AAAB8AAAAfAAAAHcAAAB0AAAAbQAA + AGcAAABgAAAAWAAAAE8AAABFAAAAOgAAADAAAAAmAAAAHgAAABUAAAALAAAADwAAABYAAAAeAAAAJgAA + ADAAAAA8AAAASAAAAFQAAABeAAAAagAAAHQAAAB8AAAAgwAAAIcAAACLAAAAjAAAAI0AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjQAAAI0AAACLAAAAhwAAAIEAAAB6AAAAcgAAAGoAAABiAAAAWAAAAE0AAABCAAAANwAA + ACwAAAAiAAAAGQAAAA0AAAARAAAAGQAAACEAAAAqAAAANQAAAEIAAABPAAAAXgAAAG0AAAB8AAAAkAAA + AKAAAACkAAAAqAAAAKoAAACrAAAArAAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACsAAAAqwAAAKoAAAChAAAAlAAA + AIgAAAB9AAAAcwAAAGoAAABgAAAAVQAAAEkAAAA9AAAAMQAAACYAAAAdAAAADwAAABQAAAAbAAAAJQAA + AC4AAAA5AAAARwAAAFcAAABpAAAAgwAAALMMDAzWTk5O8FxcXOxZWVjrWVlY61lZWetaWVnrWllZ61pZ + WetbWlrrWlpa61paWutaWlrrW1pa61paW+taW1vrW1tb61tbW+tbW1vrW1tb61tbW+tbW1vqW1tb6ltb + W+pcW1zqXFtb6lxbW+pcW1vqXFtb6lxbW+pcW1vqXFtb6lxcXOpcXFzqXFxc6lxbW+pcW1vqW1tb6ltb + W+pbW1vqW1tb6lpaW+paWlrqWlpa6lpaWupaWlrqWlpa6lpaWupZWVrqWlla6lpZWepaWlrqWlpa6lpb + WutaW1rrWlta61pbWutaWlrrWlpa61taWutaWlrrWlpa61paWutaWlrrWlpa61paWutaWlrrWlpa61pa + WutaWlrrWlpa61paWutaWlnqWlpZ6lpZWepaWVnqWllZ6lpZWepaWVnqWllZ6lpaWepaWlnqWVlZ61pa + WepaWlnrWlpZ6lpaWupaWlrqWlpa6ltaWupbWlvqWlpa6lpaWupaWlrqWlpa6ltaWupaWlrqWlpa6lpa + WepaWlnqWlpZ6lpaWepbW1vrVFRU7RcXFuEAAADEAAAAngAAAIMAAAB4AAAAcgAAAGYAAABbAAAATwAA + AEMAAAA2AAAAKwAAACEAAAAQAAAAFgAAAB8AAAAoAAAAMgAAAEAAAABRAAAAZQAAAIEAAADLWVlY8ZmY + lc/HwburzsfBp8rGvafKxL2oycO7psbAuaXFvrilxL62pMO+taPBurKjvbiwo7+4r6G9tq6iu7Wtoby0 + rKG6s6yhubOrobeyqqG3s6qgt7KpoLeyqZ62saietK+mnrKupJ6zrqWes66lnrOupZ6zrqWes66lnrOt + pZ6zrKWesquknbKrpJ2yq6Sds6ylnrKspZ60raWdtK6lnbavp524saieurGpn7qzq5+7ta2fvLevnr63 + sZ/AubGfwbqxn8K6sp/FvbSew7yzoMS+tZ/EvrSfxL+1oMS/taHEv7WhxL+1ocW/tqLFv7aixsC4ocfA + uaHHwLmhx8C5ocfAuaHHwLmhyMG5ocjBuaHIwbmhyMG5ocjBuaHIwrqiycK6osnCuaDJwrmhycO7ocnD + u6HJw7uhycO7ocnDu6HJw7uhycK6ocnCuqHKw7uhycK7ocjCuqHHw7mgxsG4oMa+tqDEvbagxLy0nsO7 + sp7BurGew7yznsK7s5/EvLSfxb21nsW+tZ/Gv7igxsC5oMjDuqLJwrqiycO7os3GvqPIw7uloZ6cxWZl + ZO0JCQjdAAAAogAAAIQAAAB7AAAAbQAAAGAAAABUAAAASAAAADsAAAAvAAAAIwAAABIAAAAYAAAAIQAA + ACoAAAA1AAAARAAAAFgAAAB7BQUExHBvbu/Lx8Ktpp2Qd3xxY2RxZVhjcmdZY3JnW2JzZlhhcGZXYW1h + VmBqYFFeZ1xMXmRZSl1hV0hdYVZFXGBURFtdUEFaW01AWlhNP1lXTT1ZVUs7WFJKOlhSSTlYU0g5V1FH + N1dORTRWS0IxVkxBMVZMQTFWTEExVkxBMVZMQTFWTD8xVkw/MVZLPTBWSjwvVUo9MFZMPzFWTEAxVU5B + MVVRQzNVUkU0VVVIOVZZSztWWk09VltPQVdfU0VXYlVIV2NXSFdmWUlXaFpKV2pdTlhqX05YaWBPWGlf + TlhqYE9YamBPWWpgT1lrYVFZbGFSWmxhUlpuYVVabmFVWm9iVlpvYlZab2JWWnBjVlpyZVZacmVWWnJl + VlpyZVZacmVWWnNmV1xzZ1hcdGdYXHRnWF11altddWpbXXVqW111altddWpbXXVqW110aVtddmlaXXZq + Wlx1aVtddGdZXG9lV1twZFRabGBSWmpeUVlqXU1XZ1xMV2lcS1dpXUxXZltMWGleTlhrX09YbWFRWm1i + VFpvZFdbcmVYXHBkVltwZFdccGNVXHNpWluflIdszcfCn4WEg+kODg3XAAAAnQAAAIMAAABzAAAAZgAA + AFkAAABLAAAAPQAAADIAAAAmAAAAFAAAABoAAAAjAAAALQAAADkAAABJAAAAYQAAAI8cGxrmz83JwI2E + eG2Bd2ptioB1dJGIfHeUiYF5l46EepmQh3yakYh8mZKIe5aPhXuUjIJ6k4uAepGJf3mPiH14kId7d46E + e3aLgnh2ioN5doqDeHWKgnd0h4B1dISAdXSFgHV0hn90c4N8cXODe3FygnpvcoJ6b3KCem9ygnpvcoJ5 + b3KCd29ygndvcoJ3b3J/d21ygHducoJ3b3KDem9xhXxwcYZ8cXGGfXJyiYB1couCd3KMhHhyjYZ7c4+G + fXOSiX9zk4p/c5WMgHOWjYF0lo2CdJaPhHSWj4N0lo+EdJeQhXWXkIV1l5GFdpiRhnaYkYd2mZGIdpqR + iHaakIh2mpCIdpqQiHaakIh2m5GIdpySiHackoh2nJKIdpySiHackoh2nZOJd52UiXedlYl4nZWJeJ2W + i3idlot4nZaLeJ2Wi3idlot4nZaLeJ+YjXiflot4npaLeJ2Ui3iblIl3mpKIdpmQh3aYj4d2mJCEdJWN + gnSTjIJ0l4+EdJWNg3WVjoN1mJCEdZmRhXaakId2mpOId5qRiHaZj4Z1lIyCdJKJfnKLg3hvh3xwbH91 + Z2eCeGxi1NDLrjY1NOoAAAC0AAAAjAAAAHgAAABpAAAAXQAAAE4AAABAAAAANQAAACgAAAAUAAAAGQAA + ACMAAAAuAAAAOgAAAE0AAABkAAAAt4OCgeKupp+JiX9zcpGJf3iZk4d8o5yTg6qknYmwqqOMtK2nkLaw + qpK4sauTt7GqkrWvqZK0r6iRs62nkbOspY+xrKSPsaqkjq+po46vqqKOrqmija6poYyuqaGMrKigjKuo + oIyrqKCMq6Wdi6qlnYqqpZ2KqaOciqmjnIqpopyKqaKciqminIqpopyKqaKciqmjnIupo5yLqaKciqqk + nYqtpp6Kraaeiq6noIqvqaGKr6uii7GspIuzrKaLs66ni7Wvp4u3sKmLuLGqi7ewqYy3sKmMt7KrjLey + qoy3sqqMt7Krjbeyq423squNt7KrjbiyrI24sqyNuLKsjbmzrY65s62OubOtjrmzrY66tK2OurStjrq0 + rY66tK2OurStjru0rY67ta2PurWtj7q1rY+6ta6PurWuj7q1ro+6ta6PurWuj7q1ro+8t6+PvLWuj7y2 + ro+7ta6PubStj7m0rY65s6yOuLKsjbiyqoy4squMtbCpjLewqYu1samMtrCpjLeyq4y4sauNubOtjrq0 + rY64sauOtrGqjLOtpYmuqKCFpqCXgJ2Ui3mUjIF0joR5cIF3bGmknZR4lpST1wcHB8wAAACRAAAAfgAA + AGwAAABfAAAAUAAAAEIAAAA2AAAAKgAAABYAAAAcAAAAJQAAAC8AAAA8AAAAUAAAAGkAAADJ0tHP2pWM + g3eWjIJ6nZWNgKijm4m+saqOzLy2l9PFv6HZy8Wm3M/Kq97RzK3dz8ut3c/KrNzPyqvczsmr287JqtvN + yarazcep2s7IqdnMyKnZzMep2MzGqNjMxqjYzMan18vGp9XKxafVysWn1srFp9XKxabVysWm1MnEptTI + xKbUyMSm1MjEptPIxKbTyMSm08nEp9PJxKfUycWn1srFptbKxabWysam18vHptfMyKbXzcmn2M7Jp9nO + yqfZzsqn2c/Kp9vRy6fb0Mun2tDLp9rQzKfa0cyn2tHMqNrQzKjZ0M2o2dDNqNnQzKjZ0Myo2tDNqNrQ + zajZ0M6o2tDOqdrQzqna0M6p2tDPqdrRz6nZ0c+p2dHPqdnRz6nZ0c+p2NDOqdnRzqrZ0c6q2NHOqtjR + zqrY0c6q19HOqtfRzarX0c2q1tLOqtXRzarW0c2q1dHMqtTQzKnU0cyq1NDLqdTPzKnTz8uo08/KqNLO + yqjTz8qn0s7Jp9LOyqjTz8qn0s7KqNPQy6jU0cyp1NDNqtPPzajPzMqky8fFnsO/vpa5s7GLrqehhqOa + kXyXjoR2jIR5cYqBdWvf29jHExIS2gAAAJUAAACAAAAAbgAAAGAAAABSAAAARAAAADgAAAArAAAAFgAA + ABsAAAAlAAAAMAAAAD0AAABUAAAAbAAAAMjT0c/fnZOJe52Vi3+qo5yJvbStk6TJyrqi1NbKq9rc0LDf + 4dey4eTasuLl3LHh49yx4OTcseDj27Lg49uw4eLcseDi27Hg49uy4OLbsuDi2rLg4dqy4OHas+Di2rTh + 4dq04OHateDg2rXg4dq24OHatuDg2bbg4Nm24eDZtt/f2bfg39m44N/ZueDf2brg39q54N7auuDe2rrh + 39m74d/ZvOHf2b3h4Nm+4uHZveLh2sDj4trB5OLawuXj2sPl5NrF5eTaxubk2sbl49rG5eTaxuXi2sbl + 4trG5eHax+Xh2sjm4trJ5eLayuXi2srm4trM5uHazObh2s3n4NrO59/azuff2s7o39rQ6d/a0erf2tHr + 39rT697a0+ze2tXt3trX7d/b1+7g29nu4dvb7uLb3e7i293u4tve7uPb4e7j2+Xu5dvp7ufb7O7n2+7v + 6tvw7urb7+7s2+/u7Nvv7uza7u3s2u7t7Nrv7eza7u3s2u/t7Nru7eza7+7t2u3u7tru7e7a7+7w2u/t + 7tvw7uvb7u3l2uzr3Nbp59TR5ePKy93bv8LCvbWYsKuhh6GakXyVjIF1jYV6bt7d2swTExLaAAAAmAAA + AIEAAABvAAAAYQAAAFMAAABFAAAAOQAAACwAAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAydTS + 0d+hmZCAp5+XhbeyqpLTxL+fW9vm9jjg7f8/3ur/P97r/z/c6f8+2+f/Pdvn/z7b6P8+2+j/Qdzm/0Hc + 5v9B3Ob/Qtvm/0Pc5v9E3OX/Rtzk/0je5f9L3uX/TN/k/03f5P9Q3+T/Ud7k/1Hf4v9T3+P/VeDi/1bg + 4f9Y4OH/WuHh/1zh4P9e4eH/X+Hf/17h3/9g4d7/YuLe/2Pi3v9l4t7/Z+Te/2nj3v9q497/bebe/3Hm + 4P9y59//defh/3nn4v976OL/fOnj/37p4/+B6eP/guni/4Lq4f+G6+H/iezg/4rs3v+M7N//j+3e/5Pv + 3v+V8d//mPPe/5r13f+c9t3/nvjd/6L73P+k/Nv/qf3b/67+2/+w/9v/s//a/7X/2/+3/9v/vP/d/8T/ + 4P/N/+T/1v/n/9//7v/o//T/8P/3//f/+v/8//v////+//////////////////////////////////// + ///////////////////////////9////9v////D////n////2////87////C////t////67///+q/9PQ + xKy9ubOSraWdhJqTiXmRiX1w4N3azBMSEtoAAACYAAAAggAAAHAAAABiAAAAVAAAAEYAAAA6AAAALAAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADJ1NPR36WfloOspZ6KwLu0mt3Qy6xm2+LyQdvk/0bb + 4/9F2uP/Rtni/0fa4f9H2uH/SNvi/0nb4v9K2+D/S9vh/0vb3/9M29//Tdvf/03b3v9P3N3/Utze/1Pd + 3f9U3d3/Vt7d/1fe3P9X3dz/WN7b/1zf2v9e4Nn/YN/Z/2Dg2v9f39n/YN/X/2Hf1v9g4Nb/YuDW/2Th + 1f9m4dX/Z+LU/2rh0/9s4tP/beLT/27j0v9w5ND/ceXQ/3Ll0f9059D/debS/3jo1P976tX/f+zX/4Ts + 2f+F7tv/ifDc/43w3f+R8t7/kvXf/5P23/+W997/mvne/5z83v+f/d7/o/3g/6f+4f+r/+L/rf/j/6// + 4v+z/+P/uP/j/7z/5P/C/+b/yf7m/9L+6f/b/uv/5v7w/+/+9P/3/vn//P/9//////////////////// + ///////////////+///7/v//+P78//r+/v///v/////7///+8f/8/uf/+v7d//j+1P/2/sv/8/6//+/+ + tP/s/6z/7P+m/+z+o//s/6H/6f+j/+r/n//n/53/2tnOuMfCvpyzr6aKoJmPfJSMgnLg3dvNExIS2gAA + AJgAAACDAAAAcQAAAGMAAABUAAAARgAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbgAA + AMnU09Hfp6CYhbGro47FwLuf5djUtWLa3/Q62N7/Qdjd/0HY3f9B2dz/Q9na/0PZ2/9E2dv/Rdna/0Xa + 2f9H2tj/R9nY/0ja2P9I2tj/SNrY/0ra1v9L29X/TNvV/03c1f9Q3NX/UtzV/1Td1P9U3dP/Vd7S/1bd + 0f9W3dD/V97P/1fezv9Y3s3/Wd7M/1nezP9c3sv/Xd/K/1/fyv9h4Mn/Y+DJ/2Liyf9j48j/ZuTI/2jm + x/9p5sj/a+bI/2zox/9u6cf/cOrI/3HsyP9178f/d/DI/3nyyf999cv/gvjO/4f60f+L/df/k//a/5n/ + 3v+d/+L/o//k/6j/5P+t/uT/tP/k/7r+5f/B/uj/yv3t/9T+8v/d/vb/6f74//P++v/5//z/+//9//3/ + /v///////////////////////////////v////v////6////+f////b/+/3y/+v87v/g/ez/3v3p/9f8 + 4//i/d//6f3Q/+P+u//f/63/2P+k/9L/nf/N/5j/zv2V/8/9kv/Q/Y//0PyN/9P8jP/V+pD/wPac/6T3 + pv/Z3tbBzsnFo7mzrI+lnpR+mI+GdOHd3M0TEhLaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAyAAAAPgAAAFQAAABuAAAAydTT0eCqpJqGs66okcnFwKXq3Nm7bN/l9UXd + 5f9M3eX/Td3l/0zd4v9L297/SNvc/0Xa2f9F2dj/RNrV/0PZ0v9E2dL/RdnR/0TY0P9F2ND/RtnP/0na + zv9M3M//TtzP/1Hbzv9Q3Mz/TtvK/07Zyf9P2sn/UNrH/1Dbxv9S28X/VNvF/1XcxP9V3MT/Vt3E/1je + xP9Y3sP/Wd/C/1vhwv9c4sL/X+LB/2Dlwf9j5sD/ZebB/2Xowv9n6sH/aevC/2ruwf9s8cH/bvPC/3D2 + w/9y+cT/dvzE/3n+xv99/8j/gf/I/4f+zP+Q/s//mv7W/6v+3/+8/ur/yv3y/9b+9v/e/vn/5v77/+r+ + /P/t/v7/7P7///H////4///////////////////////////////////////+//3/+f/5//T/9P7n/+z/ + 2f/l/s7/3v/F/9D+wf+5+8L/ofrD/5n8xf+X+8b/l/rF/577yf+j+83/pvvH/7D9uv+8/af/yPyb/8v7 + lv/K+ZL/yfiP/8v2jP/S94//2viS/+T6kv/c+ZX/rfKe/93i2sfSzcqovbexkqihmICakYh14N3bzhMS + EtoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAdAAAAJwAAADIAAAA+AAAAVAAA + AG4AAADJ1NPR4KulnIa2sauSzMfEqO/h3sFc19n2MdLU/zjS1P850tT/OtPT/znS0f850dH/OdLP/znR + zf860sz/O9LM/zrSyv870cr/PNHJ/z3Syf8+0cf/PtHG/0LRxv9D0cX/QdDD/0HSwf9B0sH/RNLA/0XR + wP9G0sD/RtO//0bUvv9J1L3/Sta+/0zVvf9O1rz/Tti7/07Xu/9P2bz/Udu7/1Ldu/9V3br/VuG7/1jj + u/9Z5rv/Wum8/1ztvP9e8b7/YvW+/2X5v/9p/MH/b/3G/3X+yf98/s3/h/7U/5X93f+g/eT/p/3p/639 + 6f+z/ev/t/7s/7j+7v+z/e3/s/7r/7b+7v+9/vT/y/73/9z+/P/w////+//8//r/+//2/vf/7/7x/+b+ + 6f/e/uL/2P7f/9L/3f/P/tb/y/7N/8n/x/+//sD/r/26/6n9tv+j+7H/gfmx/2z4sv9o97P/aPi2/2j4 + tv9v+Lj/ffq//376wP97+8P/hfvL/4j6yP+k+r7/w/iy/9j5qP/d+Z7/2/eV/9r1j//U9IT/z/B5/83t + cP++5G7/4uTazdTQzqzAu7SVqqOagpyTinbh3tzPExIS2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAAB0AAAAnAAAAMgAAAD4AAABUAAAAbgAAAMnU09HgrqafiLizrJPNycap8OLfwlPU + 2fYlzNT/Lc3T/y3O0/8tzdH/LczQ/yzN0P8uztD/Ls7P/y/Nz/8wzM7/MM7M/zHMyv8wzMr/MM3I/zPM + x/8zzcf/Nc3H/zfOxv84zsX/Oc/F/zvPxf860MP/O9DD/zvQw/880MH/PNLA/z/Tv/9A1MD/Q9XA/0bW + v/9G2MD/R9nA/0fbwf9J38H/S+LB/03mv/9N6sH/Uu3D/1jxxf9f9Mn/Z/fM/2z50P90+tb/gPzc/4v+ + 4/+R/ej/kv3s/5T98P+Y/fL/mv3x/5f+7/+S/+r/jf/i/47/3v+P/97/lf/f/6L+5P+x/un/wP7t/8z+ + 8f/U/u7/1v7o/9H+3v/I/tP/vv/N/7b/x/+x/8T/rv+//67/uf+h/7b/i/+0/4T+sv+B/rH/g/2u/3/8 + r/9w+bD/Zfex/2Hyr/9c8K7/WfGx/2bzuP9t9bv/bve7/3j6vv9++8H/fvq+/4H7wf+S+8j/kvvM/5j7 + 1f+b/dT/qP3E/7T4o/+864X/u990/7bZbf+z1mr/sNFl/6/LX//j5NnO19PQrsG8tZasppyDnpWNd+Lf + 3M4TEhLaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAyAAAAPgAA + AFQAAABuAAAAydTT0uGtp6CKubSulc7Lxqrw4t/DVtbd9ijQ1/8v0Nf/L9DW/y/Q1v8x0dX/MdLU/zLR + 1P8y0NT/MtDT/zLR0P8z0tD/NNHP/zXSz/83087/OdTO/zrUz/881c7/PNXN/z3Wzf881sz/P9fL/z/W + yv9A2Mv/QdnL/0Payf9F3cr/R97K/0jhyv9I5Mv/SOfK/0nry/9N7s7/UvDP/1n10v9h+tf/afzb/3H9 + 4/97/ej/hP/u/4v/8/+N//b/jf/3/47/+P+Q//j/jv73/4j/8f+F/uz/gf/l/3//4f+B/tv/hP/Z/4z/ + 3v+X/+T/pv/t/7f+8//F/fb/0P3z/8/+6v/I/t7/vv/V/7P/yv+m/77/mv+0/5T/rv+S/6j/kP6k/5H8 + oP+S+p7/lfed/5b0nP+U8pz/kPGc/43vnv+G7Z//gOyf/37qof9566T/de2o/3jxsf+A9bn/jvXC/5n3 + yf+c+cz/qfrQ/6H7zP+S/Mf/lPrK/4/6yf+J+sT/lPrB/5b5vP+X+Lr/mfe3/5vyp/+k5pD/rtV6/7LL + b/+xym//rshr/+Tk2s7X1NCuwby2lq6mnoWgl4944+HdzxMTEtoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1dPS4bCpoYq5s66VzsvHqvHk + 4MNW1dn3J87T/y/P1P8vztP/L8/S/zHP0v8x0ND/MdDQ/zLQ0P800dD/NdLP/zbUzv821M7/N9TO/znU + zv861c7/OtXN/zvWzP871sz/PNfN/z3Xzf9A2sz/QdzL/0Lezf9D38z/ReLL/0bmy/9I6M3/TuvS/1Tw + 1v9c9Nr/ZPfh/2r56P9z++3/e/vy/3z98/97/fX/fP30/3v98/96/fH/eP3t/3f96P90/eT/dP3e/3L+ + 2v9x/9b/c//R/3j+0P98/tH/gv/Z/4/+4f+d/uj/qP7r/7P96v+1/eT/sP7a/6j+z/+g/8b/l/+8/47/ + sv+K/6r/if2n/4j7pP+I96D/h/Sb/4jvl/+H7ZX/h+mR/4fnjv+F44z/huCJ/4jehf+J24P/kNuD/5je + h/+g5Iv/qOqO/6/wkv+39Zn/tveb/67zmP+q7Jv/seql/7brsv+x7bL/rfC2/6/0vv+w98L/qfe7/6P1 + sf+i9Kv/mvWi/5z0n/+e86L/m/Wn/5r0pv+c65X/nth+/6DEav+lu2P/4+Paz9jU0a/DvreYrqighaKa + kHnj4N3PExIS2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjU09LhsKqii7u1r5bOy8ir8ePhxFXU1vcnzdD/L87R/y/P0f8w0ND/M9DR/zPS + z/8z0tD/NNPQ/zPTzv810s3/NNPN/zbUzf821M3/ONbN/zrVzf87183/O9jM/zzZzP89283/P97M/0Lg + z/9G49D/TOfT/1Pr2P9a7t7/XvLk/2L16v9q+O//bvrx/2778f9r/PD/aPzt/2f96f9n/OT/Zvzg/2X9 + 3f9k/dj/ZP3V/2T90v9l/s7/af7K/2v+yP9s/sf/b/7I/3T+zP98/tH/h/7Y/5H+3v+a/+L/nf7d/5n/ + 0v+T/sX/iv66/4X9s/+D/K//gfqp/3/3pP9/86L/fvCe/4Dsmv+B6Zb/gOaS/4DikP+A343/gNyM/4Da + iv+A2Ij/gtiF/4bZhf+O3of/l+SK/57qjP+k747/qfKQ/6fxjP+i7ob/n+iD/53jgP+a3Hv/mth3/5nV + df+a0XL/mdBz/5rPcv+gznb/rNR+/7bdhP+85Yj/wO2M/77wkf+w8ZH/pu+Q/57ujv+c7o7/ou6Y/6Tx + m/+n8Jf/ouaI/5rOcP/i5NrO19TRr8S/uZmwqaKHopuSe+Ti3c8TEhLaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNTS0uKzrKOLu7awl9DM + yKvx4+DEVtXW9ynP0f8w0NL/MdHS/zHT0P8z0tD/M9LO/zPSzf8z0s7/MtTN/zTTzv811c//N9fP/znY + zv872s7/PNvR/z7d0/9C4dX/SeXZ/1Dp3f9V7uP/V/Hn/1316/9h9+//Yfru/1/66/9c+ej/Wvrj/1n5 + 3f9Y+dj/VvjV/1f50f9X+M7/WvjL/1v3yf9c9sb/XfXD/171wv9g9sH/Y/nB/2b8wf9r/sT/cP/H/3r/ + zv+C/9f/if7Y/4z+1f+L/Mz/gvu9/3z5sv9396z/dPWm/3Pxov9z7Z7/deqc/3jom/975Zj/fOGW/3re + k/9424//eteN/3jWif971ob/fNWG/37WhP+D2IT/i96J/5Pki/+Z6oz/n+6O/6Lvjf+e7Ir/l+aG/5Xg + gP+R23z/j9Z4/5DRd/+Qz3X/kMxz/5DKcf+Rx23/kcZq/5HDaP+TwWX/l8Bh/5m/Wv+bvlP/m71Q/52+ + U/+kwl3/q81q/7XZdP+6437/teh+/6voef+n6Xv/pumD/6zskv+y75v/r++a/+Tn38/X1NGwxL65mbCq + o4ilnpN85OLe0BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI1dPS4rOtpIy9ubGX0M3IrPHj4cVZ19j3KtHQ/zHSz/8v0s7/MNLN/zHT + zv8x083/NNTO/zbVz/8419H/O9rT/z7f1/9D5Nv/SOjg/03s5f9R7uj/UvLr/1T17f9W9+3/Vvbr/1H1 + 5/9Q9OH/TPPZ/0zx1f9L79D/S+7M/07syP9P7Mb/UerD/1Lqwv9T6cH/U+m//1Xovv9V57v/V+m6/1nr + uf9d77r/YvW//2j5xP9v/cr/d/7Q/33+0v+B/c7/gfrK/3v2v/9086//be6l/2rpoP9q5J3/a+Gb/2vf + mP9t3ZT/bduS/27Zkf9x15D/c9WP/3TTjf9304r/eNGI/3nSh/981Yb/gtiG/4veiP+S5Yv/lOqK/5fs + i/+Y7In/lOmG/47ggv+J13z/htJ4/4jOdf+IzHT/iclx/4rGb/+Kxm3/i8Nr/4vCav+NwGn/jL1o/427 + Zv+QumP/krpe/5e5Vv+cuVD/mrlO/5e6Tv+WuVL/k7ZV/5G1VP+Ss1P/lbRU/6C8XP+tyGT/t9Rp/7rc + a/+1327/suB5/7Lkjv+565//5efgz9jU0bDEv7qasquliKefln3j4d7QExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjV09LitK2mjL23 + spjRzcmt8uTixVbX1fcp0c3/M9PP/zTV0f8219P/OtrW/z3e2v9D4t7/R+bj/0rr6P9N7+z/UPPu/1H0 + 7v9Q9e3/TvHp/0vv4/9H7N3/Q+nV/0Hlz/9C5Mv/Q+HH/0bhxf9H38P/Sd7C/0ndwP9L3L//TNy+/03d + uv9O3bf/UNy3/1Hdtv9S37X/VeS2/1rruv9h8sH/Z/jH/2/7y/91/dD/dvvN/3f2xv9z8r3/be2w/2jo + pf9k4p//ZN2c/2Xamf9l2Jf/aNeU/2nVk/9p05D/adKN/2fQif9pzYb/acuF/23Nh/930Yj/fNWL/4Pa + jP+K4Y7/j+aN/5Dojf+S6Yv/keeI/4zhgv+G233/gdN6/3/Mdv+ByHP/gsZx/4PEb/+ExG7/hMJr/4PA + av+EvWj/hLxl/4a6Zf+Gt2P/h7di/4e1Yf+LtF//j7Ra/5W1Vf+Yt07/mLdI/5a3Sv+RtlD/j7ZT/5C2 + Vv+Ttlj/lbZY/5u2Wf+duFv/m7dZ/56zVv+jtVj/q7xa/7PFWf+4y1z/ts1i/7rUd//l5t7P2dXSscXA + vJuyraWJqKCWfeTi3tATEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNXU0uK0raiOvreymdLOyq7x5OLGX9/d9zff3f9B5OH/Q+fk/0Lq + 5v9E6+j/RO3p/0Xu6f9G7OX/ROjg/0Pm2/9B4tb/P+HR/z/fzv8+38z/QN3J/0Daxv9A2cT/QdjB/0TW + v/9F1Lz/RdS7/0fTu/9J1Lr/SdS2/0vVtf9L1bT/TNex/07asf9U4Lb/Wui9/2DxxP9m98v/bPnO/3D4 + zv9u9MX/bO68/2jns/9i4af/YNye/13Ymf9f05b/YNOX/2LRlv9k0ZP/Y9CP/2XPjf9kzIr/ZMmI/2PH + hf9myYT/a86G/3XUh/972ov/g+KO/4zokf+M6JD/jOeP/43ki/+I3oT/gtZ+/33PeP95yXP/esZw/3vE + b/98wm3/fcFs/3++af9/vWf/f7tl/3+5ZP+At2P/gLdh/4G1YP+Ds17/g7Jd/4SwXf+Hslv/jLJX/5Oy + T/+Vtkn/lrdH/5G4Sf+Nt07/irZT/4u2WP+SuFr/lrpc/5q8Xv+evF//oL1d/6G9Xf+jvlz/p7xa/6e7 + WP+muVX/qrlU/6y3Uv+ttUz/tbVI/+bk2dDa1tSyx8G9nLStp4unoJh/5OLf0RMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tTT47Sw + qI++ubSZ0c3KrvDi4MZj6eb3N+jk/z7o4P895d3/O+HY/zrd0/852c7/ONfL/znWyP871sj/PdfJ/z/Y + yv8+2Mr/QdnJ/0DXxf8/0r7/QdC7/0DQuv9B0bn/RNG4/0TQtv9E0bT/RtC0/0fRs/9J0rD/TNaw/1Dd + tv9Y5r//X+/H/2X0zP9p9c7/afHH/2Xrvv9h47P/Xtur/1zWov9b0p3/WtCZ/1zOlf9ezJT/YMyT/1/K + kf9hy5D/YcmN/1/Hif9fx4b/ZMiF/2nMh/9v1In/dNuL/33ijf+C55H/gOaO/4Hjif+C3oj/gdqG/3/V + gv9/0H//f8t6/3zIdf97xXL/esFu/3i/av95vmj/erxm/3q7ZP96uGP/fLdh/3y2X/9+tF7/frNd/3+y + Xf+BsFv/gbBa/4OwWv+GsFn/i7JU/5G0Tv+Vtkf/k7lF/4+8SP+JvFL/ibxZ/429YP+SwWT/mMRl/57F + Zv+ix2b/o8Zl/6LDYf+iwV3/o75a/6O9WP+kulb/pLhT/6S2UP+mtE7/qLRL/6mySv+ssUX/5eTa0NnX + 1LLGwr2dtq6ojKmimYDk4uDRExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjW1NPjtbCqj7+6tJrRzcqv8eTjx13c1Pcw1Mv/ONLK/zfR + x/840cf/N9HG/zjRxP850MX/OtLF/z3SxP88z8H/PM28/zzKuf89yrr/QM27/0HPvP9Bz7v/Qc65/0HO + tv9CzbP/Rc2w/0bPsP9J1LL/T926/1fmxP9d7cj/YvDM/2Lvyv9g6L//Xd+1/1rarP9X1ab/WNCi/1fN + nP9Xy5j/V8uX/1rJlf9cyJP/XceR/1/Gjv9exYz/YMSL/2LGiP9nzIr/bdON/3Tbjv954pH/feaS/3zm + jv944Iv/d9qG/3TTgP9xz3z/dM16/3bJef94yHr/fMd5/4HHd/+AxHT/fMJv/3q+a/94u2f/eLlj/3m3 + Yf96tWD/e7Rg/3y0Xv97s1z/fbJb/3+xWv+CsVn/g7FY/4OxV/+GsFf/i7NT/5C2Tv+Uu0n/k79K/43E + U/+Kxl7/i8Vn/5DGbP+Tx27/lshv/5jJbf+Zx2n/m8Rm/5vAZP+cv2D/nL9c/5+/WP+jv1b/psBW/6fD + U/+rw1L/rsJP/66/Tf+wvUn/r7tG/7C3Q//m5NnQ2tbVs8jEvp63saiMq6OagOTi4NETEhHaAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNbU + 0+O2sauQv7u0m9LOyq/y5uPHXdPM9y/Lw/81zcP/NszC/zbMwP80yr3/Nsi6/znEuP84xLb/Ose3/zzL + uv8/z7z/QM6+/0HQvv9Czrz/Qcu2/0HIsf9EyrD/RtCz/0nVuP9Q38D/VOjI/1rrzP9d68r/W+bD/1ff + t/9U163/VNKn/1TOpP9VyqD/VMme/1bInP9YyJn/VsaX/1fHk/9XxpH/WMaP/13Fjf9fx4z/Y8yN/2nT + kf9w25P/deGS/3rllf9545L/dN+L/3HYh/9w0oP/bs9//2/Le/9vyHf/bcZ0/3DDcv90w3L/dsNz/3rE + dP9/xXP/g8N0/4HCcP99vmr/e7tn/3q3Y/95tV//erVe/3u0Xf99tF3/f7Vb/3+1Wf+BtVj/g7ZZ/4e2 + WP+Lt1j/j7lW/5S9T/+Wwkz/lMhQ/4/NWv+Mz2r/itB1/4zNeP+Qy3X/k8p0/5XKcv+Xym//l8xp/5rM + Z/+ezmT/oM1i/6DKXv+hyFv/o8VX/6TBUv+kvU7/o7dL/6KxSf+iq0P/naQ+/5yeOv+cmTf/nJY2/+Th + 2dHc2dWzycS+nrexqo2rpZyB5OLg0hMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tTT47axq5HBvLWc0s/Lr/Lm5Mdbzsb3LcO4/zXD + uf84wrj/NsK2/zbEtv84xbn/Oca3/zjHt/88yLj/Pci3/z3Fs/8/w7D/QMax/0HMt/9H1b7/TNzD/1Dk + yf9U6c7/VujN/1blx/9T3r7/T9ax/07OqP9PyqP/UMqi/1HIof9Tx5//U8ed/1PFmf9TxJf/VsOV/1jD + k/9bxZT/X8iU/2LNk/9o1ZX/bNyV/3Hglv9z5Jf/dOSU/3LekP9v1or/btCH/23Og/9tzH7/bsp7/2/H + ef9ux3b/b8V0/2/Ecf9vwW//cMBt/3XAbv93wW//fcNx/4TDb/+Gw2//hMFr/4G+Z/9/vWT/fbpg/326 + Xf9+vF7/grtc/4a8XP+Jv1z/i8Fc/4/CWv+SxFr/l8VY/5nJVv+ZzlP/ldNW/4/VZf+J13T/idd//4vW + gf+P1n7/k9V7/5LSdf+TzXD/kshq/5HCZv+PvmD/j7la/4+0Vf+Nq0//i6JK/4qcRv+KmEH/i5Q9/4uS + O/+MkTj/jpA3/5OPNf+UjzT/lZAz/5ePMv+YjjD/5OLZ0dzZ1bTJxL6euLOrjqylnYLk4uDTExIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjW1NPjtrGrksC8tp3T0Muw8+flx1vJwfcwv7T/N8K2/zXDtv82wrX/NsOz/zjBsv84wK//Ob+t/zu/ + rv8+xbT/Q9K+/0fZxP9M4cv/UOfS/1Hq0f9R5sz/UN/E/07Yuv9M0LD/SMmm/0jHo/9LxqL/TsWf/07F + nv9QxJz/UcGa/1HBmP9Vw5j/V8eY/1zMmf9h0Jv/aNef/27dn/9v4J7/ceOb/3LimP9v3pX/bdiP/2zT + iv9s0If/bM2C/23LgP9uyn7/b8l7/23Jev9vyHf/ccV0/3HFcv9xxG//csJt/3HAav9zv2n/eMFq/33E + bf+FxnH/jclx/47Lb/+Mymz/i8to/4nLZP+JzGL/is1h/4zNYv+R0GP/lNJi/5jRYP+b0GD/nNFc/5nV + W/+U2F7/jttk/4rabv+F1Xr/g9CC/4TLgP+GxHf/iL9t/4e4Zv+FsGD/gqdY/36hUP9+mkv/fpVH/32R + RP98j0D/f409/4GMPP+EjTn/h4w3/4iNNf+LjDX/jYwz/4+MMP+PjC7/kYot/5OLLf+UiSz/loks/5iJ + Kv/k4tnS3NrWtcnFv5+3squPr6ifgubj4tITEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNXU0+S3sayTwbu3nNPQzLDy5+XIXce/9zC9 + sP83v7H/N7+u/za9rv83vq7/OcGw/z3Jt/9C0b7/R9jE/0vgy/9P5M//TeLN/07hyP9O28P/S9S6/0jM + rv9Hx6X/SMek/0jGpf9JxqP/SsWg/0vDnP9OwZr/TsOb/1PHmv9YzZ7/XNKi/2TapP9q3qf/a+Gk/23i + o/9v4qD/cN+b/27alv9r15H/atKL/2nQif9rzof/bc6F/3DOgf9wzn//csx9/3LMef9yy3f/csp2/3PJ + cv9zxnH/dcdu/3THbP93yGv/e8tr/4DPa/+J023/kthx/5rcd/+h4Xz/oeF6/57gdP+a3m//ltxq/5PZ + Zv+U1WL/ltJe/5fQW/+Ry13/islf/4XLX/+Az17/fM5g/33HZP9/v2j/fbVs/32uZ/99qF7/f6NU/36d + Tv98mUj/e5VD/3qRP/97jjv/e445/3uMNv99jTP/f4wz/3+KMv+EiTD/hYgu/4WILf+Hhiv/iIYr/4uF + Kv+LhCr/jIQq/42EJ/+OhCf/j4Qn/5KEJ/+UhSf/lYUl/+Th2dLd2de1ysTAoLm0rI+wqaGE5uXi0hMS + EdkAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI1dXT5LmzrZLBvLed1NHMsfLn5chcyLz3L7ys/ze/rv85xLL/Psu6/0LRwP9F1sX/SdvI/0nd + yf9J28P/SNe+/0rUu/9IzbT/Rser/0fGp/9IyKn/Ssqs/0rKqv9KyKb/Scah/0vDnf9Ox57/U82h/1fU + pf9e2qr/ZOCr/2Tiqv9o4qj/auKm/2zgo/9t3p3/bdyZ/27Ylf9w1pP/cNeP/2/UjP9w1Ir/cNOI/3PT + hv9y04T/ctN//3TRfP930Hr/eNB2/3nRdv9+1Xb/gtl3/4bedv+J4Xb/jOV3/5Dpd/+R6Xf/j+V0/5Tj + dP+a4XT/nd92/5/ddv+c13D/lc5l/43EWv+IvVP/hLZP/4C0Uv93tV//brlk/2m8Yv9svlz/dLtS/3q2 + Tf9/rkv/gaZK/3+hSf99nET/fJk//3yVO/97kzf/eZAz/3qPM/96jDD/fIou/3yILP97hyz/e4cr/3yF + Kv9+hSn/f4Mp/4GCJ/+Cgib/goEm/4SAJf+GgCb/h4Al/4h/Jf+JgCX/i38k/4yBJf+NgCX/kYEl/5OB + JP+SgSP/5eLZ0t3Z1rbLxcGhu7Suj7GrooTm5eLSExIR2QAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjV1dPkurStksO9t57U0cyx8ublyV/Q + wvc3zLv/Q9PB/0bWxv9H2cf/RdfC/0LRu/9Bzrb/Qsux/0TGrP9Ew6f/Q8Om/0fHq/9Ky67/S82y/0zM + sP9Nyab/T8mj/1POp/9X1az/Wtyw/17isf9h47D/Y+Os/2Xiqv9m4qf/aOGk/2vgof9q3p7/bd2c/3Hb + mf9z3Jf/dduV/3fbk/933Y//dd2N/3bdiv953Yn/fd6E/4Ddhf+C4Yb/h+WG/4rphv+O7Yb/ke2G/4/t + g/+O6X//jOJ5/4fbcv+D1W3/gc1n/37FX/98vVv/g7tZ/4e8Wf+Lu1j/jbpY/4m3Wf+Aslv/da9j/2mu + a/9fsHL/WrZ0/1+5af9tuFP/f7NC/4WvPf+GqDr/hKE4/3+ZN/97lDX/d5Ey/3aOLv92iy3/doos/3eJ + LP94iCv/eIcq/3mGKv95hSn/eIMn/3mCJ/95gSb/eYAl/3x/Jf99fSX/fHwj/358I/9/eyL/gXsi/4J7 + Iv+DeyL/g3wj/4Z7I/+IfSP/i30j/419JP+NfST/j34j/5B9Iv/k4dnT3NrYtszHwqG9t6+Qsqujhebk + 4tMTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNbV0+S6tK2Sw764ntTRzbLx5uPJatvP90DWxP9D077/Qcu2/z/Isf9Axq3/QMKq/0HA + qP9Cwaj/Q8Wq/0fIrf9Ky6//S82v/07Nq/9S0qr/V9ix/1zguP9h57z/Yuu8/2Hqt/9g6LP/Y+ev/2Pm + q/9j5ar/ZuWm/2rjpP9t5KD/cOOf/3TkoP945p3/fOab/4DonP+D6pv/huya/4fvmP+J8Jj/je+Y/4/t + lv+N6JH/i+OM/4nghv+F2oL/gdR8/3zLc/94w2n/crli/3KzXP9yrlj/catU/3CpUP9wp0//b6dN/3Kp + UP93rFf/eK9j/3iycv90t3//Z7eI/1+2iP9atn//W7Vt/2WxV/90sEP/gas1/4WnM/+DoDL/fpky/3iT + MP90jS//cIou/3GHLf9xhyr/c4Yq/3OGKf91hin/d4Uo/3eDKP93gif/eIEm/3Z/Jf92fiT/dn0j/3h8 + I/96eyP/e3oi/3x6Iv97eSH/fnkh/394If+AeiH/gXoh/4N5If+EeiL/hHoi/4Z7I/+HfCP/iX0j/418 + I/+PfST/kH0i/+Th2dPd2ti2zMjDob23sJGyqqOF5uTi0xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tXT5Lu0rpPDv7mf1dLOsvPm + 5clj0L/3OMWu/0DErf8/xKz/QMOq/0HEqv9Dxqv/RMes/0bMrP9K0a3/UNSu/1TZsf9a4bn/YOq//2Tw + xP9l8sX/ZPHB/2Tvu/9j77j/ZO+0/2Tvs/9n7rD/au2r/2ztqv9y76n/d++p/3zyqP+A86f/hfSm/4ny + pf+N8aL/j+6i/47nnf+K4pf/hduR/4LTiP99zIL/eMV4/3K7cP9ttGj/arBh/2qtXP9rq1v/a6lX/2up + Vf9uqFP/bqZU/2ylU/9so1T/aaJY/2WgXf9joWL/YqVv/2GrfP9isIb/Y7iK/2m7hP9rt3H/brRb/3Kv + Rf92qjb/eqQx/32fMP97mS7/dpIt/3KMLf9uiCz/bIUr/2yEK/9tgyr/b4Mp/2+DJ/9xgib/coIm/3SC + Jf91gST/dYAk/3d/JP92fiP/d30j/3p7If95eiD/eXkg/3p5H/96eR//e3ge/3p3IP98eCD/f3cg/393 + IP+AeCD/gXkf/4J4IP+DeSH/hXkh/4Z5If+JeiL/inoh/417Iv+OeyH/5eHZ097c2bfNycOivbawkrOs + pIbm5OLTExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjW1dPkvLavlMO+uKDV0s2y8+fnyWTNvPg5xaz/Qciw/0TMsv9Hz7D/StOw/03Y + sv9Q3LT/VOG3/1rnv/9d7MT/YO7H/2TwyP9l8cb/aPDF/2vxw/9r8b7/bfK+/2/yu/9v8bb/c/K0/3by + sv969LD/fvKt/3zup/9966T/feei/3vgm/962ZP/edGO/3bKhv9zxIH/cLx6/225dP9ptW7/aLFp/2av + Zv9ormL/a61f/2usW/9qqln/aqhX/2mmVv9oo1b/ZaBZ/2SfWf9inWD/XZxi/12dZP9bn2j/V59q/1qj + a/9fqGz/Za1r/22wZv92tV3/fbZQ/3+xQv97qzn/d6Iy/3WZLv9zkCr/cIso/2+HKf9uhCn/bIQp/2qD + KP9qgij/bYIn/26AJv9vgCX/cYAk/3KAI/91gCP/d4Ei/3iAIv94fyH/en8f/3l9H/96fCD/enof/3l5 + H/94eB7/eXge/3h4Hv95eB7/e3cf/3t2Hv98dR7/fnYf/4B3IP+Adx//gXcf/4J4IP+EeCD/h3ch/4l3 + IP+JeCH/i3kh/416If/k4dnT3tvZt83Iw6O9uLGRs62khefl4tMTEhHZAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNXU0+W+uLGVxL+6n9TR + zrPx5ubKa9nA90XWtP9Q27r/VN+7/1bivP9Z5cH/XebG/1/ox/9j6cj/ZerL/2bqy/9q68n/a+rF/23q + wv9x68D/c+7A/3Lvvv9y7Lj/ceas/3Dlq/9v4qf/atqf/2fRlf9lyY3/YcWJ/2DAhf9gu4D/YLZ5/2Kz + df9ksnP/ZrFv/2exbf9psmv/abFo/2isZP9mqWD/Zqdd/2elXP9mo1r/ZaFa/2KfXf9hm2D/X5th/1ya + Yf9ammL/Wppj/1ubY/9am2H/W55f/12fXf9doFn/YqJT/2mlT/9yqUz/e65K/4GzRf+BsDz/e6Y0/3Wa + L/9wkCr/bYcn/2yCJf9qgSb/bIIn/22CJv9tgib/bYEm/22AJf9vgCT/bn4j/3F/I/90fyP/coAi/3aA + Iv95fyH/e38g/3t+H/96fh7/e3we/3t7IP95eR7/eXge/3h3Hf94dx3/eHYd/3l2H/96dR3/fHUe/3x1 + Hv99dR7/fnUe/392Hv+AdiD/gHYe/4J3H/+Fdx//hncg/4l3IP+LeCH/jHgg/+Xh2tTf29m4zcrEor+5 + s5KyraaH5eXj1BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI1tXT5b62sZXEv7uh1dHPtPDm5sp54sj3WODB/2PhyP9m5Mr/ZeTM/2bi + yv9l4sj/ZeLE/2Tiwv9i47v/ZOCz/2bgsv9m4LL/aN+w/2rfsf9n2qf/YtKf/1/Om/9by5n/WcOR/1a6 + hv9TtoL/UrN+/1Wve/9VrXf/WKx0/1mrc/9crG//YKts/2Ksa/9mrGn/aKtm/2ipZP9np2L/ZKNf/2Cg + Xf9fnV//X5xg/12bYv9cmmP/XJlj/1qYYv9amGL/WZld/1qYW/9cmVv/XJtY/16bVf9fnFH/YpxN/2Ob + R/9pnkP/cqVA/3qpP/99qzz/fqg3/3mgMP91lir/c40o/22IJf9qgiT/bIEk/2uAJf9sgCX/aoEk/2yA + I/9tgCP/boAj/25+I/9wfiH/cn4h/3N+If91gCD/eIAg/3qAH/98fh7/fH4e/3t9Hf96fB3/enkd/3l4 + Hf95eB3/eHcd/3d2HP94dhz/eXUd/3p0Hf97dB3/e3Qd/3x0Hf99dR3/fnYd/391Hv+Adh7/gnYe/4J2 + Hv+Edx//iHYf/4p4H/+Jdx7/5OHa1N/d2rjPysWjvrmzk7Gtpojm5ePUExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjW1dPlvLexlsTA + u6HV0s+08Obly33hz/hZ3cT/Xt3C/1zevf9b3rj/Wty2/1resv9Y3K3/Wdmo/1vWpv9b1KT/WNCk/1XG + m/9TvZD/U7uO/1K9kv9UvpP/UreJ/1Gygv9RsX//UbB9/1GreP9Sp3P/UqZw/1Smbv9WpGr/WKNn/1ui + Zv9epGP/YqVi/2OlY/9lpWT/ZaNl/2GgZ/9dnWb/Wppj/1qZYv9dml//XJpg/1yZXv9cmVr/W5dZ/1yY + Vv9cmFX/XJdT/12YUP9gmE3/ZJlI/2SZRf9lmkD/apw9/3CfOf90oDb/dp0y/3adLv96nS3/epgq/3iS + J/9ziyX/bYQj/2l/I/9pfiL/aX4j/2t/Iv9tfyL/bX8i/25/If9wgCD/cn4f/3J+Hv90fR7/dn4e/3p+ + Hv97gB7/fIAd/3yAHP98fhz/fH0d/3t8Hf96ehv/eXgc/3h3Hf93dhz/eHQc/3h0HP94dRz/eXUc/3ly + G/95cxz/e3Mc/310Hf98dBz/fnUe/351Hv+AdR3/g3Yd/4Z1Hv+Hdh//iXcf/4l1Hv/k4trU39zauM7K + xaS9uLOUtK+oiOfl49QSEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNbV1OW/ubOWxMC7odXTz7Tx5ufLdt/B+FHasv9Y2bL/V9eu/1jU + q/9WzaX/VMae/1C/lv9JupP/SLiR/0mxi/9KsIb/S7GG/020i/9PtYz/T66D/06sf/9OrX7/UK9//0+o + dv9Po2//T6Jt/1Cha/9Qn2b/Upxk/1SdY/9VnWH/WZxh/1mdZP9bn2b/XqBo/1+gav9goWb/YJ9k/12d + Yf9dml3/XJhb/12YWf9dmFj/XplW/16ZVP9dmVP/X5hQ/2CYTv9gl0v/YphG/2WYQv9omj//apo7/2ya + Nv9sljL/aZEu/2uSKv9zlSn/e5so/4CdJ/99lif/d5Am/3KIJP9rgCH/aX0h/2l8IP9pfSD/a34g/21/ + IP9ufx//b34f/3F+Hf9zfx3/c34c/3V+Hf92fhz/en8d/3yCHP9+ghv/fYAc/31+HP98fRz/fHsc/3p6 + HP95eBz/eXYc/3h1G/94dBv/eHQb/3hzG/95chv/eXIb/3lyG/96chv/e3Ib/3xyG/9+cxz/f3Md/4B0 + Hf+DdB3/hXQd/4V0Hf+HdR//iHUe/+Ti2tTf3Nq5zsrFpMC6s5S0sKiJ5uXj1RMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tXU5b65 + s5bEwryg1dPPtPLo6Mty0LT4S8Kg/029nP9JuZf/R7aT/0WxkP9ErYv/RauI/0Wog/9GqoH/RamB/0ir + g/9IqH//SKZ7/0qlef9Kp3z/Tap9/02kdf9NoHH/TKFt/02ia/9PnGX/UJlh/0+aYf9PlmP/UJZl/1CX + ZP9TmGX/V5tm/1udZf9dn2T/YKBj/2KhYf9joF3/YZ1a/2CYWP9emVb/YJlV/2GZVP9gmVL/YJhP/2CY + TP9il0j/ZJdF/2SXQv9olz7/a5k7/2yZN/9pkzD/ZYsr/2SGJv9niSb/cJAm/3mVJP+AmyT/f5kl/3qT + I/91jCP/b4Qg/2p8H/9pex3/aHse/2p8Hv9sfR7/bn0c/29+HP9yfR3/c38b/3V/G/90fhz/dX4c/3d/ + G/99gBz/foIc/3+CGv9+ghr/fn8b/319G/98exv/enka/3l3Gf95dhv/eHQb/3dzGv93cxr/d3Ea/3ly + G/95chv/eXIb/3pyG/97chv/fHIb/31zG/9/chz/f3Ic/4JzHf+Ecxz/hXQd/4d1Hv+HdB3/5OLZ1d7c + 2rnPysWkv7u0lbOwqInm5ePVExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjW1dTlvbi0l8XCvaLW09C18urqy2S7ovg7rYv/RLCO/0Ov + jP9DrIn/RKiF/0Slgv9EpH7/QqB7/0Khef9DoHb/RKB1/0addP9In3T/SaF0/0mgc/9Lnmz/TZ9s/02h + bP9MnWj/S5hl/02YZ/9LlmT/SpNj/02TZf9NlGT/UZZh/1WYYf9aml//Xp1f/2CgXv9joV3/ZaJd/2Wg + Wv9jnFf/YZpU/2CZUf9imlH/ZZtP/2SYTP9kl0f/ZpZE/2aWQP9plz7/apg7/22XN/9pkTD/ZIoq/2CE + Jv9igyT/Z4Uk/26KI/91jyP/fJUk/3+YJf99liT/eY8h/3SJIP9tgh3/aXod/2h6HP9pexz/bHoc/258 + HP9vfRn/cH0Z/3J+HP91gRz/dYAa/3WAGf94fhr/fIAc/3+CGv+Agxv/f4Ma/3+CGf9/fxn/fn4a/318 + Gv97eRn/eXcZ/3l2Gf94dBv/d3Ma/3dzGf93cRr/eXEb/3lyG/96cBn/enAZ/3twGf98chv/e3Ea/39y + HP9/chz/gnEb/4RzHP+Dchv/hXMc/4VyG//l4tnV4N3buc7Lx6a/vbaWta+piufl49UTEhHZAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNbW + 1OW+uLSXxcK+otbTz7Xz6+vLZred+DumhP9CqYf/Q6eE/0Gkgf9BoX3/Qp94/0CbdP9BmXP/Q5pw/0OZ + bP9EmW3/RJpt/0ecbf9ImWj/Spto/0ufbP9LnWr/Spdo/0ubaf9KmGn/SpNm/0uVY/9MlGL/T5Nf/1GU + Xf9Tllz/WJhc/1ybXP9gnlr/Y6Ba/2aiWf9po1j/aKFW/2adUv9lmk//ZZlM/2eaS/9pm0n/Z5lE/2mY + QP9qlz//bJg8/2yYOP9nkDL/ZIgr/2GDJ/9ggiP/Y4Mj/2aCI/9shCL/dIki/3mOIf99kyL/f5Yj/3yT + If94jSD/c4ce/2x/G/9peRv/ankb/2t5Gf9sehr/bnwa/3B9GP9wfhj/c4Aa/3WDGv92ghr/d4EY/3qA + GP99ghr/gIQa/4GEGf+Bgxr/gYIZ/4CBGf9/gBj/fnwY/3x5Gf97eBr/encZ/3h1Gv95dBn/eHMY/3hx + Gf93cBn/eHEa/3lwGf95cBn/eXAZ/3pwGf98cRv/fXAa/31wGv+AcRv/gnEa/4NyG/+Fcxz/hXIb/+Xi + 2tXg3du6zszHpr+8tpa2r6mK5+Xj1hISEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tbV5b+8tZfGwr2j19TRtvTs7MxksZX4OZ56/0Gi + f/9Aon3/QZ94/0Kcdf9CmnL/QJhw/0GTa/9Bkmf/Q5Vn/0OYaf9ElGX/RpRl/0aZaP9ImWv/R5Vn/0mZ + af9KnGv/SZdk/0uXY/9Nl2L/TZNf/06TXP9QlFv/U5NZ/1WWWf9amVj/X5tX/2OeV/9moVb/aaNX/22k + U/9solL/ap5N/2maSf9pmkf/a5pE/22ZQv9tmT//bpk8/26YOP9qkjP/Y4gs/2CEKP9igiX/ZIIj/2WC + Iv9ngSH/an8g/3CEH/93iB7/eo0e/36SIf9/lCH/fI8g/3eJH/9yhBz/bXsa/2p4Gf9reRj/a3oY/257 + Gf9vfRn/cH4W/3KAFv91ghj/d4QZ/3aDGf94gBf/fIEX/32DGP+AhRj/goYY/4SEGf+Dgxn/goIY/4GA + GP9/fRf/fXoY/3x4Gf97dxn/eXQZ/3l0Gf94chn/d3EY/3ZwF/93cRj/eXEY/3lwGf95bxj/eW8Y/3tw + Gf99cBr/fXAa/4BwGv+CcRv/g3Ia/4RxGv+EcRn/5eLZ1eDd3LvQzMemwr23lrexq4vn5ePWEhIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjW1tXlwLy1mMbEvqPX1NG29OzszGSukPg4mnT/P5x3/0Gedv9CnXT/Qppx/0GVa/9Ckmf/Q5Jn/0KT + Z/9CkGT/RI9j/0SSaP9FlWr/RZFl/0iTaP9Mm2r/TJdl/0uVY/9OmWP/TZZf/06TXP9QlFz/T5NZ/1CS + V/9Vk1b/WJZV/1yYVP9gmlX/ZZ9T/2qhUv9to1L/b6RP/2+hSv9tnkb/a5pD/2yaQf9vmj//cZo8/3KZ + Ov9ukzT/ZYst/2OFJ/9jgyX/ZYIl/2SAI/9mgCH/aIAf/2mAHf9vfhz/coIc/3aIHf97jR//fpIe/3+R + H/97ix7/eIgd/3GCGv9sexn/a3kY/2t6GP9texn/b3sZ/3B9F/9xfxb/c4EX/3eEGP96gxn/eYEY/3qA + F/99ghf/f4QX/4KFF/+Ehhj/hIQX/4ODGP+Cghj/gYAY/399F/99ehf/e3gY/3p2F/95dBf/eHMY/3dy + GP93chf/d3AX/3hwF/95cBn/eG8Y/3hvGP95bxj/enAZ/3xvGf98bxn/fHAZ/39xGf+CcBn/hHEa/4Rx + Gf/l4tnW4N3cu9HMx6bDvbiXuLOsi+fl49YSEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNfW1eXAvLWYx8O+o9fU0bb07O3MY6qL+DiW + bf9BnHT/Qpxz/0Gab/9Cl2v/Q5Rp/0KTZv9DjmT/QYxj/0GOZv9DkWb/RY9j/0WQYv9HlWX/SZVk/0mS + X/9NmGL/Tphh/02UW/9Oll3/UJRb/1GRVv9Sk1f/U5JU/1eSU/9ZlVH/XJhQ/2KbUP9nnk7/baFO/3Kj + Tf90o0n/dKFF/3CdQv9umj7/cJo8/3ScO/9xmTb/a48v/2WIKf9lhSf/ZoQl/2aDIv9ngiD/aIAe/2l/ + Hf9rfhz/bH4b/29+G/9ygxv/dogc/3uMHf99kBz/fpAd/3qKHP93hxv/cIEY/2t7Gf9rehj/bHoY/258 + F/9wfhX/cH4U/3J/Ff91gRf/eoUY/3yEGP97ghj/fIEX/36DF/+BhRf/hIYY/4SGGP+Fhhj/hIQY/4OB + F/+CgBj/gH0X/356Fv98eBj/eXUX/3l0F/94cxj/d3IX/3ZxF/93cBf/eHAX/3dvF/94bxj/eG8Y/3hu + GP95bxj/e24Y/3xvGf98bxn/f3AZ/4FvGf+EcRr/g3AZ/+Xh2dbg3ty70c3JpsS/uJe5tKyL5+Xj1hIS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI19bV5cC8tpnHw76j19TRtvTs7cxiqon4OJZo/0Cabf9Cm23/Qplt/0GWav9BkWf/Qo1j/0CN + Y/9CjWH/Q41f/0OLX/9Gj2D/SJFf/0eOXv9JkV3/S5de/0uSWv9PlFv/TpZc/1CSVv9Sk1b/VJNU/1WQ + Uv9XklH/WJJP/1uVT/9gmEv/ZZxJ/2ygSf9xo0j/d6RF/3qkQv94okH/dp89/3OZOf9ylzb/bpQy/2mN + LP9piij/aIgn/2iEJP9ogyL/aIIf/2qAHf9rfxz/bH8b/21+Gv9tfBn/b34Z/3OBGP92hxr/eYob/32Q + HP99jxr/eosa/3eIGv9wgBj/bHsY/2x6F/9ufBf/b30X/3B+Ff9xfxX/dIEU/3mDFv98hRf/fYQX/3uC + Fv98ghX/foQW/4KGFf+GiBb/hocX/4aGF/+GhRb/hIEY/4OAF/+BfhX/f3oV/3x3F/97dhb/eXQW/3lz + F/93chb/d3EW/3hwF/94cBf/d28W/3huFv94bhb/d20W/3luF/97bhj/fG8Y/35uGP+Abxj/gG8Z/4Jw + Gf+Cbxf/5eLZ1uHe3LvRzsmmxL+4l7myrIzn5eTWEhIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjX1tXlv723msjEv6XY1dK39e3tzWOo + hPg5lGX/QZlr/0KZbf9Dl2z/QpNp/0KQZf9CjGH/Qoxd/0SLXP9Filz/Rotd/0eLW/9Hi1n/SZBb/0qP + WP9NkFb/UJRZ/0+TVv9RkVb/U5VW/1KSUf9Uk1D/VpBN/1eSTP9Zk0z/X5ZJ/2SaRv9snUX/cqBF/3ak + Qf97pj//faY9/32kPP95njf/cJQx/2uOLP9qjCn/bYwn/22LJP9rhyD/bIMg/2yBHv9sgB3/bX8c/25+ + Gv9ufRn/b3wX/257Fv9vfRf/c4IZ/3eGGf96ihv/fpAb/32PG/96jBn/d4gY/3B/F/9texb/bnsU/29+ + FP9xfxX/cX8U/3KBFP93ghT/fIQV/36HF/9+hBX/fYIV/32CFf9/hhX/g4YV/4eIFf+Hhxb/h4YV/4aF + Fv+Eghf/gn8V/4F+FP9+exP/fXcV/3x2Ff96dBX/enMW/3hxFP94cRX/d28W/3dvFv93bxb/d28W/3du + Fv93bRb/eW4V/3ptF/96bhb/fW8X/39uF/+Abxf/gHAZ/4JvF//l49rW4d/cvNLNyafDvriYuLKsjebl + 5NcSEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNfW1eXAvbeax8W/pdjV0rf07O7NZKeD+DiRZP9Clmr/RJlr/0OXaP9Dk2T/RJBg/0SN + Xv9EiVr/RIlY/0WKWf9Fh1f/R4pW/0mMVf9Ji1T/TI5U/0+RVP9QjlP/UpNS/1KSUf9Uk0//VZVN/1WS + S/9Ykkr/WpJH/16WRf9lmUP/bJ1B/3KfQf92oj7/e6U8/4GnPP+Epzn/fqE1/3KVL/9rjCj/a4wm/26M + Jf9xjSL/cIoi/26GIP9uhB3/boEc/25/G/9ufhn/cH8W/299Ff9uehb/bnoW/3B+F/9zgxj/eIkZ/3uO + Gf9/khr/fY8a/3qNGP93hxf/cH4V/258E/9vfRT/cH4U/3OAFf90gBX/dIEU/3mDE/99hxT/f4cW/36G + FP99hBT/f4MT/4KHFf+FiBb/iIkV/4iIFf+GhhX/hoQW/4WCFv+CgBT/gH0U/398E/99eBT/fHYW/3p0 + Ff95cxX/eXIV/3hxFf93bxb/d28V/3dvFv93bhX/d20V/3dtFf94bRX/eW0W/3ltFf99bhb/f20W/39t + Fv9/bhf/gW4W/+bi2tbh3ty80c3JqMO+uJm6tK6N5+bl1hISEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tXV5sG9t5rIxb+l19bSt/Tt + 7s1jo4H4O5Bi/0SWZ/9ElmX/RZVj/0WUYf9Djlz/RYpY/0SJV/9Eh1X/RYZS/0mJU/9JiFL/SohP/02N + Uf9NjE//To1O/1KQUP9Tj0z/VZNN/1STSf9Yk0n/WpRH/16WRv9hl0P/ZJpC/2qbQP9vnT3/dKA7/3uj + Of+Bpzj/hKg3/3+jMv94mS7/cJAo/2yKJP9uiiP/cowi/3ONIP9zih7/cYYe/3CFGf9ygxj/cYEX/3B/ + Ff9vfhT/bn0U/256Fv9uexT/cX8W/3WFF/95ixf/fpAY/4GTGP9+jxf/fo8X/3mIFv9wfRT/b30T/3F+ + Ff9yfhb/dIAV/3iCFP95ghX/fIYU/4GKFf+AiBX/foQT/32DEv9/hRP/hYgV/4mKFv+HiBX/h4gU/4eH + FP+GgxX/hIEV/4OAE/+BfRP/f3wU/316Ev98eBT/enQT/3lzFP95cxT/eXMU/3hxFP94bxX/eG8V/3dt + Ff93bRX/d20V/3htFf95bRX/eW0V/3xtFf9+bRb/fm0W/39uF/+AbRX/5uLa1uHe3LzQzcmoxL+6mb21 + r43o5+XWEhIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjX1dXmw723msjFv6XY1dK39OzvzWWkfvg7jlv/RJRi/0eXY/9JlmD/RZBc/0aN + Wf9GjFb/Q4ZQ/0SEUP9IiE//SYVN/0mGTv9LiEz/TIdJ/0+MS/9PjUr/Uo1K/1WPSv9WkEf/WpZF/16X + Rf9hm0P/ZJtC/2aaQP9omz7/bZs7/3OeOf96ojf/g6Y2/4GmMv99oiz/epsp/3mVKP9yjyT/bYki/3KK + If92jB7/dYse/3WJHP91hxn/coQZ/3OCF/9ygRX/b34U/3B+FP9vfRT/bnsV/257E/9xfxX/doUW/3qL + Fv+AkRf/gJMY/36PFv+CkBj/eIcV/3B+FP9wfxX/cn8T/3OAE/93gRP/eYIU/3yEE/+AiRT/gYsU/4GJ + E/9+hBP/fYMS/4CGE/+GiRT/iIkT/4mKFP+HiBT/h4cV/4aEFP+EgRP/g4AT/4F9E/9+ehL/fHoR/3t3 + Ev96dBP/enMU/3lzFP95chP/eHAU/3hvFP93bhT/d20V/3dtFf93bBX/eG0V/3ltFf95bBX/em0V/3xs + Ff9+bRb/f24X/4BtFf/m4trX4d7dvdHOyajFv7qZvLWvjejn5dYSEhHZAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNbW1ebDvbeaycXApdfW + 0bf07u/NZqJ6+DyOWP9Gll//RpVc/0iVWv9Hklr/RYxX/0WIUP9Ghk7/R4RL/0qCS/9Lhkr/SoVK/0yG + R/9OiUf/T4hG/1CKR/9TjEP/V5FD/12XRP9jnEP/Zp5B/2aeQP9mnD3/aZo6/22aOf9znzj/e6Y1/36m + Mv98oS//eJsq/3qaJf98mST/epUm/3OOIv9xiR7/dYod/3iMGv96jBr/eYoZ/3eHGf91hBj/dIMW/3KB + FP9wfxP/cH0U/298E/9ufBP/bnwT/3OCE/94iBT/fI0V/4KTFv+Bkhb/gpEV/4aUFv95hxX/cIAU/3KB + E/90gRP/d4IS/3mCEv95gxL/fIUS/4KKEv+EjBP/gooR/3+GEv9/hBH/gocS/4iKE/+JixL/iYoS/4iI + Ev+HhhP/hoUT/4SCEv+DgBP/gX0Q/396EP99ehD/fHcS/3t0E/97dRH/e3MT/3pyFP95cRT/eHAT/3dv + E/93bhT/d24U/3dsFP94bBT/eW0V/3htFP95bRX/em0V/31sFf99bRb/gG0V/+bi2tfi3929087KqMTA + upm7ta6N6efl1hISEdkAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI1tbV5sK+uJvJxcCl19bRt/Pu781mo3j4PIxU/0aTWP9Jlln/SJVY/0aR + Vf9GjVL/R4hO/0iDSf9Igkf/S4RI/0uDRv9NhEX/TIVF/06EQ/9QiEL/U4xA/1yTQf9gmkD/ZZ9A/2if + Pv9lnjz/ZZs7/2mYOf9umzj/dqQ2/3mpMf93oy3/dZkq/3WVJ/96mST/fpoi/36aJP98lCP/dYwd/3SJ + G/93ihr/eo0Z/3uNGf96ixj/eYgY/3aEFf90hBX/coIU/3F/FP9wfhP/bn0T/298Ev9wfhP/dYYS/3uL + FP9/jxT/hpQV/4aTFP+FlBX/iJUW/3eGE/91gRH/dYMS/3iEEf96hBH/e4US/3yFEf9/iBH/hIwT/4aN + FP+DihH/gIYR/4GFEP+GhxD/iYsR/4mLEf+JihL/iIkQ/4aHEf+FhRL/hIIS/4OBEf+Bfg//f3sR/315 + Ef98dxH/e3YQ/3t2EP96dRL/e3QT/3lxFP95cBP/eHAS/3duE/93bhT/eW4T/3htE/94bRP/eG0U/3ts + E/99axX/fWwV/31tFv+AbhT/5uLb1+Lf3b3TzsqpxMC6mbu2sI7p5+XWEhIR2QAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjX1tXmw764m8jF + v6bY1tK49O7wzmiidPg/i0//R5JV/0iUVP9KlFT/SZBR/0qMTf9Kh0r/SYRG/0mCRP9KgUP/TYNC/0yC + QP9Og0D/UIc//1qOPv9gmD7/ZJw+/2efPP9mnTv/Zps4/2aZOP9qmTj/c6E1/3itNf93qS//b5kp/26Q + Jv90kCP/eZUi/3+aIP+AmSL/gJkg/36TIP93ixv/dYob/3qMGP98jBn/fY0Z/36MGP98hxb/eIUV/3aE + E/9zgRX/c4EU/3J/Ev9wfhH/cX4R/3OAEv95hhL/gIwT/4STFf+Jlxb/hpQW/4qXFf+KlhX/eYUS/3iC + Ef95hBD/e4YS/32GEv99hxL/f4cS/4KLEP+HjxL/ho4S/4OKEf+Ahw//gYcO/4aKD/+JixD/iYsQ/4mL + EP+HiBD/h4UR/4aEEf+DghD/gX8P/4B9Dv9+ehH/fXgR/3x2EP97dxH/e3YQ/3x0Ev99cxP/e3IS/3tx + Ev96bxP/eW4S/3luEv95bhT/eG0T/3htE/94bRP/e20T/31sE/98bRP/fm4V/4BuE//m4tvX4d/dvdLO + y6rFwLuavLawjunn5dYSEhHZAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNfW1ebCvribx8XAptjW0rn07e/OaKBw+ECJS/9JkVH/SpNR/0yU + Uf9NkE//S4xJ/0yHRv9MgkP/S4FA/0uAP/9LgT7/ToQ9/1WKPP9clTz/Yps8/2aePf9mmzr/Zpk4/2OY + Nf9mmDX/bZw1/3erNf94tDL/b58s/2yMJ/9siCX/cI0i/3eTIP99lyD/gJkf/4ObHv+BmB3/f5Me/3mM + Gv94iRj/eYsY/3+NF/+Cjhj/gYsX/3+IFf97hRT/doQT/3SCFP90gRP/cn8R/3J/Ef9yfxH/doIT/32I + E/+CjhP/iJUU/4uYFf+IlRT/j5wU/4qVFP98hRL/e4US/3yFEf9+hxL/focS/3+HEf+AiRD/hI4R/4qQ + E/+HjhL/gooP/4KHDv+DiA//h4sP/4mLD/+Jiw//iIsQ/4iIEP+IhRD/hYMR/4OBEP+CgBD/gH0P/356 + D/98eBD/fHcP/352EP9+dxD/fXUP/310EP98cxD/e3IS/3twE/96bxP/eW4S/3htEv94bRL/eG0T/3ht + E/96bRP/fGwT/3xsE/9+bhX/gG4T/+bi29fh392+0s7LqsXAu5q9tq+O6efl1hISEdkAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI19bV5sK/ + uZzGxb+m19XSufTt785soHD4QopJ/0iQTP9LlE7/TJVO/02QTP9MjUf/TYdD/02DQv9MgD//ToA8/1OG + PP9ZkDr/YJk5/2WeOf9knTn/Ypg4/2OUNv9llDL/aZky/3OmMv95uTP/c7Av/2mRKP9mgiX/a4Uj/3GL + If91kCD/fJQe/3+YH/+CmR//hZwc/4SaHP+DlB3/fIsZ/3qIGP99ixf/g44V/4SPFv+CjBX/f4gU/3uG + Ev95hBP/d4IS/3Z/Ef90fxD/c4AR/3aCEf96hhL/gIsT/4WSFP+LlxX/jJoT/4qXEv+TnxX/iJMT/32H + Ef99hxL/fokR/4CKEP+Aig//gIgR/4OMEP+JkBL/ipES/4eNEf+EiQ7/g4cM/4aJDv+Kiw//iowQ/4mL + D/+Jig7/iYgO/4eFEP+GgxH/hIAP/4N/D/+BfRD/f3oP/314D/9+eA//fncP/353EP9+dxD/fXYP/3x0 + Ef97chL/e3IR/3pwEv96cBL/eW4Q/3ttEP97bRL/e20S/3ttEv98bBP/fWwT/39uFP+AbxL/5ePb1+Lf + 3b7TzsuqxcC7mry2r4/p5+XWEhIR2QAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjX1tXmw764m8jFwKbW1dK58+3wzmudbPhDiEP/S5BL/0qU + S/9LlEr/T5JI/06LRP9OhkH/TIM9/1CDPP9YjDv/YJc6/2SdOf9lnTj/ZJg3/2OUNP9hkDL/Y5Ix/2ye + L/92tTL/eb8w/2yiK/9kgiT/ZoAi/2eFIv9tiCD/c40f/3eRH/99lB7/gpgd/4eaHP+Imxr/hpkc/4SU + Hv97ixn/eogX/4CLFv+DjxX/hI8V/4KMFP9/iBP/e4YT/3qEEv94gRH/d4AQ/3aBD/90gRD/eIMR/3yI + Ef+CjRP/iZQU/42aEv+NmxP/jJkS/5WgFf+GkRL/fogR/3+HEf9/iQ//gIsP/4GLD/+BiQ//hY0Q/4uT + Ef+MlBH/h40R/4WJD/+EiA3/iIoO/4uLDv+LjA//iYoO/4mJDf+Ihw3/hoUO/4WDD/+EgA//g34O/4F8 + Dv+Aeg3/fngO/354Dv9+eA7/f3YP/393EP9+dg//fXQQ/31zEf98cxD/fHER/3twEv97bxL/fG0R/3xt + Ef98bRH/fG0S/3xsEv99bRT/gG8T/4FwEv/l49vX4t/dvtPOyqrFwLubvLawkOnn5dYSEhHZAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNfW + 1ebDv7mcyMbBptjW07nz7fDOa55o+ESHQP9Lj0f/TZRH/06VRv9QkEP/UIs//1GIPv9Uizv/XZM7/2ac + Of9mnzj/Y5w2/1+TNf9ejjH/X44v/2eSL/9xqzD/eMMy/3G6Lv9kjib/Ynsg/2R/If9mgyH/aYce/3CK + Hv92jR7/eZEe/4CVHf+DmRr/h5kZ/4ebGf+KmRv/iJUf/36LF/99iBX/gYsV/4SNFP+FjhX/gosU/3+J + E/97hhL/eYMR/3iDEP93gg//d4EP/3eCD/95hBH/fokR/4WQEf+LlhL/kJwR/4+bEv+RnBL/lqEU/4SO + EP9/ig//gIoO/4GMDv+DjBD/g4sP/4OKD/+HjxD/jJQQ/4uTEf+GjRH/hIkO/4aJDP+IjA3/i40N/4yN + Dv+Kiw3/iYkN/4iHDf+HhQ3/hYQM/4SADv+Dfw//gX0N/4B6DP9+eAz/f3kO/354Df+Cdw7/gncP/4J2 + D/+BdRD/gHQP/4B0Dv9/chD/f3AR/31uEf99bhH/fG0Q/3xtEf98bRH/fG0R/35uE/+AcBL/gXAS/+bj + 29ji392908/KqsXBu5u9uLGP6Obl1xIREdkAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI19bV5sO/uZzJxsGm2NbTufTu8c5snGb4RIY9/02Q + RP9Ok0T/UZND/1GQQf9TkT7/XZU8/2KcPP9moTr/Zp43/2GXM/9ejzH/W4sw/1+LLv9pmC3/dr0x/3bK + Mv9qqSv/YYEj/2F7IP9kgSD/ZoIg/2eFH/9uhx3/cowd/3ePHf9+kRz/gZYa/4WYGf+KmRj/i5oX/4yZ + HP+KlR//gYsV/3+IFP+BjBT/hI8S/4SOE/+CihL/gIgQ/32GEv97hRD/eoMP/3qDD/95gw//eYMP/3yG + EP+BixH/h5IR/46ZEv+TnRL/kZsT/5WfE/+VnxH/go0P/4GLDv+Diw//hI4O/4SMD/+Diw7/hYwP/4yQ + EP+PlBH/jJIQ/4iMEP+Gig3/h4kN/4qMDP+NjQ3/jYwO/4mKDP+IiA3/ioUM/4iFDP+Egw3/g38N/4J+ + Dv+Aew3/f3kN/354Df9+eA3/f3gN/4J4Df+CeA7/gncP/4F1D/+AdA7/gHQO/39yEP9+cBD/fm8Q/31u + Ef99bRD/fG0Q/3xtEP9+bRL/gXAS/4JyEf+DchH/5uPb2OHg3b7Sz8urxsO8m725sY/o5uXXEhER2QAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjZ19bnwr64m8rGwabZ19O59O7yzmybY/hFhzn/TY5A/0+RP/9SlkH/WZpA/2GiP/9opDz/Z6M5/2Ka + NP9ekjH/XIsv/1yJLf9hjCz/bKUt/3bPMv9xxy//Y5Qn/2F6Iv9ifSL/ZIAh/2WBIP9ogx7/bIQd/3GH + Hv90jB3/epAd/3+TGv+Clhn/h5kY/42bGP+NmhX/jpoc/4uVIf+AihT/fogS/4KNFP+FjhL/ho4R/4KK + EP9/iBD/fYUR/3yFD/97gw7/e4MO/3qDDv97gw7/fogP/4SOD/+KlA//kJsR/5WfEv+SnBH/maES/5Kc + EP+CjQ//g4wO/4SMDv+Gjg//ho0O/4WMDf+Hjw7/jpQQ/5CWEP+MkhD/iIwP/4WKDP+Jiwz/jo0N/5CM + DP+PjAz/jIoK/4uHC/+KhAv/hoQL/4OBDf+Dfw7/gX0M/397C/9+egz/f3gM/4F3DP+CeQ3/gngN/4J4 + Df+CeA3/gHYO/4B1Dv9/dA7/f3MO/39yEP9+cBH/fW8P/3xuD/98bRD/fW0Q/39vEv+BcBH/gnIS/4V0 + D//m5NrY4uDevtTRzKvHw72bu7avjuno5tkTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNrY1+jCvbecysbBqNnX07n07/LObJtg+ESF + NP9NjD3/VJc+/12kQP9mq0D/aas8/2ikN/9imDP/XI0w/1uJLf9diiz/Y5It/2+2L/9x1zH/ZrIt/2GF + Jf9ifCL/ZIEg/2SBH/9lgR7/aIEd/2qDHv9uhRv/cYob/3eMGv98kBv/gJMa/4eWGf+Jmhj/jZoW/46a + FP+Qmh7/jJUh/4GKEf+AiBL/g4oR/4WNEv+FjRD/gooO/4CJD/99hg7/fIQP/3uDD/97gw7/e4MO/3uE + D/+BiQ7/h5AP/42XD/+TnhD/l6AP/5OcD/+cpBL/kZkQ/4WODf+Gjgz/hY4M/4ePDv+Gjg7/hYwN/4mP + Dv+Plg7/kJcP/4uQDv+Hig7/hokM/4qLDP+OjQz/kY0N/4+LDP+NiQv/jIcL/4mEC/+Hgwr/hYEL/4F9 + Df+AfAz/f3oL/355C/+AeQz/gncM/4N4DP+CeA3/g3gN/4N3Dv+CdQ3/gnUN/4JzDf+Acw7/f3IO/4Bw + Dv9/bw//fW4O/3xuDv9+bg7/gHAQ/4BxEP+CcxH/hnUR/+bk29jj4N6+1NHMq8bDvZy5tK6N6unn2hMS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI2djX6MG9t5zKxsGn2dfTuvTv8s9rmV74RYUx/1SWO/9gpj7/Z7E//2mvPf9mpTn/YJgz/16O + L/9ciCz/X4os/2idLv9xyjH/bNIx/2CYKf9deyP/YX4i/2WDIf9lgx//Z4Ie/2iCH/9qgh3/bYMd/3CG + G/9zihn/eIwZ/32QGv+Ekxf/ipYY/4yaF/+QmhX/kJoT/5GaHv+MlCD/f4gR/4CHEv+EihH/hY0Q/4OM + D/+Ciw//gIkM/36GDf99hQ7/e4QN/3uEDf97hAz/foUN/4KKDf+JkQ7/kJgP/5WdEP+Wng7/lJwP/52k + Ev+Olg7/ho4N/4aODP+Ijwz/iI8M/4eODf+IjQ7/jJMO/5GYDf+Qlg7/i44O/4eJDf+JiQv/jYwL/4+O + Cv+RjAv/kIoM/4yIC/+Lhgv/iYQL/4iBCv+EgAr/gX0M/4B8DP+AeQr/f3gK/4F4DP+Bdwv/gngM/4J4 + Df+Ddwz/hHcM/4N1Df+CdA3/gXQN/4B0Dv9/cg3/gHAN/39wDv9+bw//fW8P/35vD/+AcBD/gnIP/4R1 + EP+GdxH/5uTb2OPg3r7U0MurxsS9nLi0rY7q6efaExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2NfowL24ncnHwqjZ1tO59O7yz3Cd + XPhPkjL/YKc7/2auO/9nrjv/Y6U4/16ZNP9bkS//XIst/2COLP9qrS7/cNoy/2bDLf9bgyP/Wncj/15+ + Iv9igSD/ZYIf/2eDIP9ogx//aoId/2qCHP9sghz/cYUZ/3WKGP96jBj/gJAY/4eTF/+Klhb/jZkV/5GY + Ff+QmRL/kpsf/4uUH/9/hxD/gIcS/4OJEP+Fiw//hIwP/4GKDv+AiA3/f4YN/36FDP98hAv/e4QL/3yE + C/9/hwv/hIwO/4uSDv+SmRD/mJ8Q/5idDv+ang7/nqQQ/4uUDv+Gjg3/ho4M/4mPDP+Jjwz/iI0L/4mP + Df+PlQ7/lJkN/5CVDf+Jjg7/h4oM/4yKDP+Qjgz/kI4K/5GNC/+Pigv/jIgL/4uGC/+JhAr/iIEK/4R/ + Cf+BfQv/gHwM/4F5Cv+CeAv/gngM/4J4DP+CeAz/gngM/4N4DP+Edwz/g3YN/4J1Df9/dQz/f3MN/4Bz + Df+AcAz/fnAM/31vD/9/bw//f28P/4BwD/+Ccw//hXYR/4d4EP/m5NvY4+Dev9TQy6vIxL2cubStjurp + 59oTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNnY1+jBvbidyMfCqdnW1Lrz7fLPd6pc+FmeMP9jqTj/Y6k2/2CjNv9dmzX/XJUx/12Q + Lv9ili7/bsAx/2zhMv9grir/WHgj/1l4IP9bfCH/Xn8f/2SCHv9mgh7/aYMe/2qCHP9rghr/a4QY/2+E + Gv9zhhr/d4oY/32NF/+DkBX/h5QU/4uWFP+OmBX/kZgV/5GYE/+UmSH/jJId/4GJDP+Bhw7/hIkP/4WL + Dv+Fiw7/g4gM/4KHDf+AhQz/foUL/32EC/99hAv/fYUL/4CIC/+GjQ3/jZQN/5SbD/+ZoQ7/l54N/56i + Dv+eog//jJEN/4mPDP+Kjwz/i5AN/4qPDP+Kjgv/jZAM/5GWDf+UmQ3/kZUN/4qNC/+JiQv/j4wL/5KO + Cf+Sjgr/ko0L/5CKCv+OiAn/i4cJ/4mECv+HgQr/hn8K/4N9Cv9/fAr/gXkJ/4J4Cf+CeQv/g3gL/4R5 + Cv+EeAz/hHgM/4N3C/+Ddg3/gnUN/4F1DP+Bcw3/gHIM/4BxDf9+bwz/fm4N/35vDP9/cAz/gXIN/4N0 + D/+FdhD/h3kO/+bk2tji4N6/1NDLq8XDvZ24s62O7Onn2hMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2djX6MO+uJzJx8Ko2NbTuvLs + 8s96sFv4V58t/1ygM/9cnjT/W5w0/1yaM/9flzD/ZqIw/27TNP9p2zH/XJon/1dxIf9ZeSD/WHog/1x6 + IP9ffh3/Y4Ee/2aCHP9oghz/aYEb/2uBGP9sghn/boQZ/3KHF/95ihf/fo0V/4OPFP+GkxP/i5YT/5CX + FP+SmRT/kJcT/5OXIf+Mkhr/gYgK/3+GDf+DiA7/hYwO/4WLDf+DiQ3/gYcK/4CFCv99hQr/foQJ/36E + Cf+AhAv/g4kK/4iPDP+QlQ3/mJwN/5ygDf+anQ3/oaQO/5yeDf+MkAz/i48L/4uQDP+LkAz/jI4M/4yP + C/+OkQ3/kpcN/5SZDP+Okgz/iYwL/4uJCv+Qjgr/kpAJ/5KPCv+RjQr/kIoK/46ICf+Lhwn/iIMI/4eC + Cf+Gfwr/gnwJ/357CP+AeQj/gXkI/4F5Cf+CeQr/gnkK/4N4Cf+DeAv/hHgM/4J1C/+CdQv/gXQM/39z + Df9+cgz/f3EL/35vDP9+bgv/fnAM/4ByDf+CdA7/hHYQ/4Z3Ef+HeQ//5uTa2OPg3r/T0MusxsO8nbu0 + ro3r6efaExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjZ2dfow7+5nMvIw6fa2NS68+zzz3erWfhRlCr/VZUw/1eXMv9anDL/YJ8x/2my + Mv9u4Df/Zc0y/1qJJv9XciH/WXoh/1p7H/9aeR7/Xnoe/2F+Hv9kgR3/aIQa/2qDGv9qghn/bIMX/22C + GP9vhBj/dIgW/3qKFf9+jRX/hJEU/4iVE/+MmBP/kZkU/5GZEv+QlxL/k5cj/4uQGf+Ahgr/gIYO/4SJ + Df+Giw3/hooN/4SIC/+Chwr/gIUK/3+GCv9/hQr/gIUK/4GGCf+Fiwv/i5EM/5GXDf+anQ3/naAO/5ue + Df+ipg3/lpwL/4uRC/+LkAv/i5EL/4yRCv+Mjwv/jJAL/5CUC/+WmQv/lZkL/46RCv+Liwr/josK/5KO + Cv+Tjwr/k44K/5KMCv+Qigr/jogJ/4yGCf+KhAn/h4EI/4R+Cf+DfAn/gHsI/4F5CP+Begj/gnoJ/4J5 + Cv+DeQr/g3gJ/4N3Cv+Ddwz/gnYL/4J1C/+BdAz/gHIM/39xC/9/cAv/fm8L/39vDP9/cAz/gHIN/4J0 + Dv+FdhD/h3kQ/4l7D//n5NvY4+Dev9PRy6vIxL2cubStjuro5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnZ1+jDv7mcy8fDp9rY + 1Lr07/TPdKJV+E2IJf9VkC7/V5cw/1+jMv9qwDb/bOk5/2C/MP9Zgif/WHYk/1p6If9Zeh//W3kd/1t4 + HP9dehv/Yn4d/2aBG/9pgxj/bIIY/2uDF/9sghf/boIW/3KDFv91hxT/e4oU/4CNFP+HkRP/ipUS/4+X + E/+RmBH/kZgP/4+WEf+TmSL/iI8V/3+FCP+Bhgz/hIoN/4aKC/+FiQr/g4cJ/4OHCf+BhQj/f4QJ/3+E + Cf+AhQn/g4cJ/4eMCv+Nkwv/lJkM/5ufDP+coA3/nJ8M/6OmDv+TmQv/i5IK/4uRCv+Nkgv/jpEK/4yQ + Cv+OkQr/k5gK/5qaC/+Wlgz/j48K/42MCf+QjQj/k44K/5SQCf+Ujwn/kowJ/4+KCP+Nhwj/jIYJ/4qD + CP+HgQj/hH8I/4N8CP+Cewj/gXoH/4J6B/+DeQj/g3kH/4N5CP+DeAn/gncJ/4N3Cf+BdQr/gHQK/4Bz + C/9/cwv/fnIL/31xCv99bwr/fnAM/39wC/+Bcwz/g3UN/4V3Dv+Ieg//inwO/+bk2tji4N6/1NHMq8fD + vJ23sayQ6ejm2xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI2djX6MS+up3MxsOp2tfUuvTv9M9xnFT4TIQl/1iQLv9gozH/a882/2vo + Of9gsS//WYQm/1l/JP9afSH/W3of/1t6Hv9beRz/W3gb/117Gv9hfhv/Z4EZ/2qDGP9sghf/a4MX/22C + Ff9vghT/coMV/3WGE/98ixT/go0T/4aREv+MlBL/kJYR/5GXEP+Rlw//kJYR/5OYIf+HjhL/gIUJ/4GF + DP+Eig3/howL/4aJCv+Ehwn/g4cJ/4GFCP+AhAn/gIQI/4CFCP+Dhwn/h40J/4+UC/+Ymgv/naAM/5yg + DP+eoA3/oaUN/5KXCf+LkQn/jJEK/42RCv+NkQr/jJEJ/4+UCv+VmQr/mpoL/5WUC/+Qjgr/jowJ/5KO + CP+Ujwn/lJEH/5SPCf+SjQj/kIsI/46ICP+MhQj/ioMI/4eCB/+EgAb/g3wH/4F6CP+Begf/gnoH/4N5 + B/+DeQb/g3kI/4N4Cf+DeAn/g3cJ/4F1Cv+AdAr/fnML/35zC/99cQr/fXAK/31vCv99cAv/fnEL/4F0 + DP+Ddg3/hXgN/4h7D/+KfA3/5uTa2eLg3r/U0MysxsG8nrexrJDp6ObbExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2NfoxL66nczH + xKna1tO69O/zz3GaVPhNhiT/XaIv/2jWN/9o5Dn/XKUt/1mGJ/9Zhib/WYIi/1t9H/9beh3/XHoc/115 + G/9deBr/XnoZ/2F+Gv9ogRj/bIMW/2uCFv9rghb/boEU/3CBE/9zgxT/d4cT/3qLEv+CjhP/h5AR/4uT + Ef+Olg//kZYQ/5CWDv+PlRH/lJgh/4eMEf9+hQf/gYYL/4aKC/+Gigr/hokK/4SHCf+Dhwn/goYJ/4GF + Cf+Chgj/gYUH/4OJBv+Jjwf/kpUH/5qbCf+foQz/nKAL/6CkCv+hpAr/kJQJ/42QCf+NkAn/jpEK/42R + Cv+Okgn/k5UJ/5qYC/+ZmQr/k5MK/4+NCf+PjAj/ko4I/5SRBv+UkQf/k48I/5GLB/+Qign/jogI/4yF + CP+JgQj/hoEH/4N/Bf+DfAf/gnsI/4F6Bv+Aegf/gnkI/4J3B/+DeAj/gncJ/4N4Cf+Bdgj/gXQK/4Bz + Cf+Acwv/f3IK/31wCP99bwn/fW8J/39wCv9/cgv/gHMK/4N1DP+Gdw3/iHoN/4t+Df/n5drZ4uHev9LP + y6zFv7yft7KskOro5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNnY1+jDvrqdzMfEqNrW1Lr17vPPcp1S+FWfJf9k3DX/YNk1/1qZ + LP9ZiSj/W4wn/1qHJP9ZgiD/WXwd/1t5HP9cehv/XXka/114Gv9gexn/ZX4X/2iBFv9rghb/a4IV/2yB + Ff9wgBT/cYET/3OEEv95hxH/fYsR/4ONEP+IjxH/i5IP/4+WD/+Qlg3/j5YK/5CVEP+TliD/hooO/4GD + B/+BhQr/hYkL/4WJCf+FiQj/hIcI/4OGCf+ChQf/goUH/4KFB/+ChQf/hYoI/4uQCP+Ulgf/m50I/5+g + DP+cnwv/pKYK/56hC/+Skwj/kZII/5GRCP+Skgn/kZAK/5GRCf+Wlgv/mpoK/5maCv+Tkgj/j40I/5GM + CP+Ujwj/l5EI/5aRCP+Tjgj/kYwI/5CLB/+OiAf/i4QI/4mCB/+HgAX/hX4G/4J8Bf+CfAb/gXsE/4B6 + Bf+Cegf/gngG/4J4Bv+Cdwf/gncI/4F2CP+AdAn/f3QJ/35zCP99cgn/fHAJ/3tvCP98cAn/fXEJ/39y + Cf+BdAr/hHcN/4Z6DP+Iew3/in0N/+bk2tni4d6/0s/LrcXAvJ+3sqyQ6ejm2xMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2djX6MO+ + up7Lx8Sp2tbUu/Ts8896ulX4Wt0r/1rKMf9VjSj/V4op/1mQKP9aiiX/Wocj/1mAH/9Zexz/XHob/114 + G/9ceBr/XHcY/196F/9lfRX/aIAV/2uCFv9tgRX/boEU/29/Ev9xgRL/c4QQ/3qGD/9/ihH/g4wR/4iP + EP+Lkg7/j5YN/4+WC/+QlAj/kZUR/5KWIf+EiA3/gYQH/4KFCf+Fhwr/h4gJ/4aIB/+Fhwj/hIUI/4KF + B/+DhQf/goUH/4KFCP+Iigf/j5AI/5aYCP+cngj/n6EL/52fCv+mpwv/nZwL/5GSB/+RkQf/kpII/5KS + CP+RkAj/k5EJ/5iWC/+bmwn/mJcI/5KQBv+QjQf/ko4G/5WRCP+XkQb/lpAH/5ONCP+Riwj/kIoF/46H + Bv+Mgwj/iYMG/4iABv+Ffgf/hHwF/4F8Bf+CeQb/gnkH/4J4B/+DeQj/gngH/4J3B/+Cdwb/gXYJ/390 + Cf9+cwn/fHEI/3twCP97cAj/e28I/3pvCP99cgr/gHMJ/4N1C/+Edw7/hnoN/4h9DP+Kfw3/5uXb2eLg + 3r/Sz8utxcC8n7exq5Hp6ObbExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2dfow767nsvHw6na1tS69Ojy0HzoWvhQuCX/UYIl/1aG + Jf9ZkCf/Wo4m/1uLI/9ahSH/WoAd/1t8G/9beRn/XHgZ/1x4GP9cdxf/XnkW/2R8Ff9ofxT/bIEU/26B + E/9tgBH/boAQ/3CCEP90gw7/e4YP/3+KEP+EjRH/iJAO/4yTDf+OlQv/jpUJ/4+UCP+QkxD/kZUh/4OI + C/+AhAb/gYUI/4SICP+Ghwf/hocG/4WGBv+Dhgb/goQH/4KEBv+BhAb/hIYH/4mMBv+Rkgb/mJoG/52e + B/+enwn/np8J/6WnCv+amgf/kpEI/5KSCP+TkQf/kpII/5KRB/+Vkwj/mZgJ/5qbCv+WlAn/kY4H/5CM + CP+Tjgf/lpAH/5aRBv+Wjwf/lI0I/5KKB/+QiAX/jYYH/4uECP+IggX/hn8F/4V9B/+EfAX/g3wF/4N6 + Bv+DeQX/gngF/4N4CP+Bdgb/gXYG/4F2Bv9/dQf/fXMI/3xyCP98cQn/e3AI/3pvB/96bwf/em8I/31y + Cf9/cgj/gnYK/4R4DP+FeQz/iX0N/4p/Df/m5dvZ4uDfwNLOy67Fv7yft7KskOro5tsTEhHaAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnZ + 1+jCv7ueysfDqdjX07v17fPQcaxQ+Ep2G/9UfyT/Vooj/1qPJf9ajiX/XIsi/1uGIP9bgB3/XXwb/1x5 + Gf9ceBj/XHgW/1x3Fv9geRb/ZHsU/2h+E/9tgRP/bYAS/21/EP9vgA//cYIO/3eED/98hg7/f4kP/4SN + Dv+IkQ3/i5MM/42UCv+PlQr/j5MI/5CTE/+RlR//g4gI/4CEBv+ChQj/hYgH/4eIB/+Ghwb/hIYG/4OG + Bv+ChAb/goQG/4OFB/+Fhwf/i40G/5OTB/+amwb/np8H/5+gCP+iogj/p6cK/5iXCP+Tkgj/k5MI/5SS + CP+Skgj/k5EH/5aUCP+amQj/mpkJ/5WTCP+Rjgf/kI0G/5SPB/+XkQf/l5EG/5eRB/+Ujgb/kosG/5CJ + B/+Nhwf/i4MG/4iBBv+GfwX/hX0F/4R8BP+EfAT/g3sE/4N7A/+DegT/gnkG/4J3Bv+AdQX/gXYG/4B1 + Bv99cwf/e3EH/3twB/97cAf/em8H/3pvB/97cQf/fXMI/4F1CP+Ddwr/hHkL/4Z7C/+Kfg3/in8M/+Xl + 2tng397A0s3KrsXAu5+3sqyQ6ujm2xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2dnX6MK/up7LyMSp2tfUu/Xw89BvjEv4SnYa/1KC + If9WiSL/Wo8j/1qPI/9ciyH/XIUf/1yBHf9cfBv/XXgY/1t3F/9beBX/XHcU/2F2Ff9lehP/aX0T/2x/ + Ef9tfw//bX4P/29/Dv9wgA3/doMN/3qGDf+AiA3/g4wN/4eQC/+KkQr/jpMJ/4+UCP+Nkgf/kZMU/5GU + Hv+Chwb/foMF/4OEBv+Ghgb/iYgG/4eGBf+EhQX/hIUG/4OEBv+DhAb/g4UG/4eHBf+OjQX/lZUG/5ub + B/+goQX/oJ8G/6WjB/+lpAj/lpQF/5ORBv+Ukwf/lJMH/5SSB/+Ukwb/lpYH/5yaCP+amAf/lJIE/5GN + BP+Sjgb/lpEG/5eSB/+YkQb/l5AF/5ONBP+RiwX/j4gF/4yGBf+LhAX/iIEF/4Z+Bf+FfQT/hHwD/4R8 + A/+DewT/g3sE/4J7A/+CeQT/gXcF/4F2Bv+Bdgb/f3MF/31yB/97cQb/e3EF/3pvBv96bwf/enAH/3xy + Bv9/cwf/gXUJ/4N3Cv+Fegr/h3wM/4l+DP+LgQr/5eXa2eDf3cDSzsquxcG8n7eyrJDp6ObbExIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMja2dfow7+6nsvIxKna19W89fD10G+RS/hJdxj/UoEg/1aIIf9ajyD/XJAg/12LH/9chR//XIEc/1x8 + GP9ceRb/W3YW/112FP9fdBT/YXcU/2R6E/9ofRH/bH8Q/21/EP9tfg//bn4O/3F/Df94gg3/e4UO/3+I + DP+DjAz/h48L/4yRC/+PlAr/j5MH/5CRBv+SlBX/kJId/4GGBf9/ggX/goMF/4SGBP+IhwX/h4YF/4SF + Bf+DhAX/g4QG/4OEBv+DhQT/h4kE/4+NBf+WlQX/m5wG/6CiBv+foAX/paUG/6OiB/+Vkwb/k5IG/5ST + B/+Ukwf/lJIH/5WTBf+Zlwb/nJoH/5mVBv+TkAX/kY4E/5SPBf+XkQb/mJEG/5iRBv+Wjgb/lIwF/5KK + Bf+PiAb/jIUH/4uCBv+IgQX/hn4F/4V9A/+EfAP/hHwD/4N7BP+DewT/gnkF/4J4Bv+AdgT/gXYG/350 + Bf99cwX/fHIH/3txBv96bwf/eW4G/3lvBv96cQX/fHIH/31zB/9/dQn/gncK/4V6Cv+HfAv/iX4N/4uB + C//m5NrZ4t/dwNHOy67FwbyftbCrkeno5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNrZ1+jFv7yezMjEqdrX1bz18PXQbpBJ+Eh1 + F/9SgB//Vocg/1mPH/9ckCD/XIwe/1yFH/9bgBv/WnsY/1t3Fv9bdhb/XnUU/190Ff9hdhP/ZHkS/2h8 + Ef9rfBD/bX4Q/21+D/9vfQ7/dH8N/3iCDf97hA3/f4gL/4OLC/+Ijgn/ipEK/4yTCP+Pkgf/kY4I/5KU + Gf+Okhz/gYUE/3+BBf+ChAX/hIcE/4iGBf+GhQT/hIUG/4OEBv+DhAb/g4QG/4OFBf+IiQT/j5AF/5eW + B/+enQX/oaIG/6CgBP+npwb/n58F/5SSBv+UkQb/k5EG/5SSB/+Tkgb/lZQF/5uZBv+bmgj/lZIF/5GO + A/+SjgT/lJAF/5eRBv+YkQb/mJEG/5WOBP+Tiwb/kYkF/4+HBf+LhAb/ioEG/4eABf+FfgX/hHwD/4R8 + BP+EfAX/hHwF/4N7A/+CeQX/gXcG/393BP9+dgP/fXQF/3xzBP97cQX/e3EG/3puB/95bgb/eW8G/3px + Bf98cgf/fXMH/351CP+CeAj/hHkK/4Z8C/+Ifw3/jIEL/+bk2tng3t7B0c7LrsXBvZ+3squR6ujm2xMS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI2tjX6MTAvJ7MyMWp29jWvPXw9dBtkEj4R3QX/1GAHv9Whx7/Wo8g/1yRIP9cjB3/XIYc/1yA + G/9cehj/W3YW/1x0Ff9dcxX/XnQV/2F1Ev9jeRH/Z3wQ/2p7D/9sfBD/bnwN/298Df90fg3/d4EN/3qE + DP9+iAv/hIoK/4iNCv+KkAn/jZIJ/42RCP+Ojwj/k5Qc/46RG/+BgwL/f4AG/4KCBP+EhQT/h4UF/4aF + Bf+ChAb/goMF/4KDBf+DhAX/hIUF/4uKBf+RkAb/mJgG/5+eBv+goQb/oKAF/6inBv+cmwX/k5EG/5OQ + Bf+UkQb/lJEG/5SRBv+WlQb/m5kH/5mYBv+Tkgb/kY4E/5ONBv+Vjwb/mJEG/5iRBv+XjwX/lIwF/5KL + Bv+QiQf/joUG/4qCBf+JgQX/h4AF/4V+A/+EfAP/hHwD/4R7Bf+EfAX/g3sD/4J5BP+BdwX/fncF/311 + BP99cwX/e3EF/3twBf96bwX/d28G/3ZuBf93bwX/eXEF/3xxBv98cgb/f3YH/4B3CP+Eewn/hn0K/4iA + Cv+Mgwn/5uPa2uDf3cDS0MquxMG8oLayrJLq6ObbExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMja2dfoxcC8ns3Jxanb2Na89vD20G6O + SfhIdBX/UX8d/1WGHf9bjR7/XJAe/12MHf9bhhr/XH8Z/117F/9cdxX/XXMU/15zFP9echP/X3QS/2N3 + Ef9oeg//a3wO/2x9Dv9tew3/bnsN/3J+DP91gAv/eoMM/3+HCv+DiQr/ho0J/4mPCf+MkAr/jI8J/4uO + B/+TlR3/jY8Z/3+BAv9/fwX/goIE/4KEA/+GhAT/hYQG/4KDBf+Cgwb/goIG/4KDBf+Hhgb/jYsF/5OR + Bf+ZmAX/n58G/5+fBv+hoQb/p6UG/5mXBP+SkAX/lJEG/5SRBv+TkAb/lJEF/5iVBv+bmAb/mJYF/5KQ + Bf+QjAb/k4sH/5eQBf+YkQb/mJAG/5WOBv+TjAb/kYoH/4+HBv+NhAf/ioIG/4mBBf+GfwT/hHwD/4R8 + A/+EfAP/g3sE/4N7BP+DegT/gXgF/4B2BP9+dQT/fHMF/3tyBP97cQb/em8F/3duBP90bgX/dG4F/3Ru + Bf93cAX/enIH/31zB/9/dgf/gHgI/4N7Cf+FfAn/iYAI/4uDCf/l49ra4N/ewdHPy67EwLugtrKrkuro + 5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNrZ1+jFwLyfzcnFqdvY1rz28PbQcI1I+Eh0FP9Rfhz/VYUe/1qNHf9djx7/XYwc/1yH + Gf9dgBn/XHsW/1t3FP9ccxT/XnMU/15yE/9edBH/YncQ/2d5D/9qfA3/a3wN/2x8Df9tfA3/c30L/3WA + DP96ggv/f4YK/4SJCv+HjQn/iI8J/4qPCP+Ljwn/io4I/5KWIP+Ljhb/f4EC/35/BP+BggT/g4QD/4OE + BP+DhAT/goMF/4KDBv+Cggb/goMF/4eGBv+NiwX/lJIF/5uYBv+fnwb/n54G/6SiB/+lpQf/lZMF/5KQ + Bf+TkAX/lJEG/5OQBf+UkQX/mZQF/5qXBv+WkwX/ko0G/5CLB/+TjAf/l5AF/5iRBv+XjwX/lY0F/5OL + Bv+RigX/j4YG/4yDBv+JgQX/iIAF/4V9BP+EfAP/hHwD/4N7A/+DewT/g3sE/4N5Bv+Bdwb/gHYE/390 + BP98cwT/enEE/3pwBf93bgT/dG4F/3RuBf90bgX/dG4F/3VvBP93cQb/fHMH/392B/+BeAj/gXoI/4R9 + Cf+JgQj/i4QJ/+Xk2trg397B0c/LrsTAu6C2sqyS6ejm2xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2tnX6MXAvJ/NyMWq29jWvPbx + 9tBvjUf4R3IV/1F9Hf9VhR7/Wo0d/12QHf9djRv/XIgZ/12BFv9cexb/W3YU/1xzE/9echP/XnET/2Bz + EP9kdhD/aHkP/2t7DP9rewz/bHwM/2x8DP9xfQv/dn4L/3mDCP9/hQn/g4kJ/4eMCf+IjQr/io8I/4uP + CP+LjQj/k5Yi/4uMFP9/gAD/fn8E/4GCA/+DhAP/g4QE/4OEBP+Cggb/goIG/4KCBv+CgwX/h4YG/46M + Bf+Ukwb/nJoF/5+fBv+fngb/o6QF/6GiBv+TkQX/k5AG/5OQBf+UkQb/k5AG/5WSBv+ZlQb/mZYF/5SR + Bf+RjQb/kosG/5ONBf+XkAX/mJEG/5aPBv+UjAj/kokH/5CHBv+OhQb/jIMG/4mBBf+IgAX/hX0E/4R8 + A/+EfAT/g3sE/4N7BP+DewT/gnkF/4B2Bv9/dAX/fXQF/3xyBv93cQT/dnAE/3RuBP90bgX/dG4F/3Ru + Bf90bgX/dXAE/3dyBf95dAf/fnYH/4F4CP+Bewn/hH0L/4mCCv+Kgwj/5eTa2uDg3sHRz8uuw8C7obWy + rJPq6ObbExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjZ2NfpxcC8n83Jxarc2ta89vH20G+MR/hIcRT/UHwc/1SEG/9ZjBz/W5Ac/12M + G/9dhxj/XYAW/1x7Fv9bdhT/W3MT/11xEv9dcRH/X3IQ/2R1D/9peQ3/a3oN/2p6C/9rewz/bHoL/298 + Cv91fwr/eoII/36FCf+CiQn/howJ/4iOCP+Ljgn/io0I/4qNCP+UliT/iYsS/32AAP99fgP/gYEE/4KD + A/+CgwT/goME/4GBBf+BgQX/gYEF/4KCBv+HhwX/jo0F/5WTBf+cmwX/oJ8G/6CdBf+mpgX/n54F/5OP + Bf+TkAb/lJAF/5SQBf+Tjwb/lpMF/5mVBv+ZlQb/lI8E/5GLBf+SigX/lI0F/5eQBv+XkAX/lo0G/5OL + B/+RiQX/j4YE/42EBf+LggX/iIAF/4Z+BP+EfAP/hHwD/4N7BP+DewT/g3sE/4N7BP+CeAX/gXYG/390 + BP98cwX/e3EF/3dwBP90bgP/dG4E/3NtBP9zbQT/c20E/3VvBf93cQX/d3IF/3l0B/97dQf/f3gH/4J6 + CP+Ffgj/ioMJ/4mAB//l5Nra4N/dwdHNyq/DwLuhtbKsk+ro5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnY1+nGwbyfzsvGqdza + 1rz28fXQb4tG+ElyEv9SfBr/VYQb/1qMG/9dkBv/Xowb/12HGP9dgBf/XHsW/1p2E/9bchL/XHES/11x + Ef9fchD/ZHUP/2d4Df9qeQ3/anoM/2t7DP9teQz/cXsJ/3V/Cv95ggn/foUI/4GICf+GjAn/iY0I/4qO + Cf+KjQf/io0J/5SWJ/+IiQ//fYAA/31+A/+BgQT/goMD/4KDBP+BggT/gYEF/4GBBf+BgQX/gYIG/4mI + Bf+RjQX/lpQH/52bBv+hngb/oJ0F/6imBv+cmAX/k48E/5OQBv+VkAb/lY8F/5aPBf+ZkwX/mpUG/5eT + BP+TjQX/kYsE/5KKBf+VjQX/mJAG/5ePBf+WjQb/lIsG/5GIBf+PhgX/jIMF/4qCBf+IfwX/hn0E/4R8 + Av+EfAP/g3sE/4N7BP+DewT/gnoF/4F4Bf+AdQX/f3QE/3xzA/97cQX/d3AE/3NtA/9zbQT/c20E/3Fr + BP9ybQT/dG8F/3dwBf93cgX/eXQG/3p2B/98eAf/gXoJ/4aBB/+Iggf/hXsH/+Xj2trg3t3C0c3Kr8PA + u6G1sqyT6efm3BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI2djX6cfDvp7Py8aq3drWvPfy99BwikX4SXER/1N8Gf9Wgxn/Wowa/2CP + Gf9fjBn/XYYZ/1yAF/9cexb/WnYT/1pyEv9dcBL/XG8Q/2BxEP9kdA7/ZncM/2l4DP9peQz/ankL/2t5 + Cv9xfAr/dX4J/3iBCP99hQj/gYgI/4WKCP+JjAj/i44I/4qMBv+KjQr/lJUp/4aGDf99fgD/fH4E/3+A + BP+BggT/gYIE/4CCBP+AgQT/gIAE/4GBBf+Dgwb/i4kE/5KPBf+Ylgf/nZwF/6GeB/+gnwX/qKQH/5mU + Bf+Tjgb/kpAG/5SOBf+Vjwb/lZAF/5iSBf+alAX/lZAE/5KKBv+RiQb/k4wG/5eOBf+XjgX/lo4G/5WM + Bf+TiQb/kYYE/4+EBv+Lgwb/iYEF/4d+Bf+EfAT/g3wD/4R7BP+DewX/g3sE/4N7A/+CeAb/gHYF/350 + BP99cwX/fHID/3pwBP93bwP/cm4D/3JsBf9ybQX/cGsD/3FtBP9zbgX/d3EE/3dzBf95dQX/enYG/3t3 + B/+Aewj/hoEH/4aBCP+Aegb/5OLZ2uDe3cLRzcqvw8C7obWyrJTp5+bcExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2Nfpx8O+oM/K + xqvd2da89/L30G+KRfhJbxH/U3oZ/1WCGf9aixn/X48Y/16LGP9dhxj/XH8W/1x7E/9bdRL/XHER/11v + EP9dbg//YHAP/2NzDf9mdgz/aHgM/2l4DP9pdwv/a3gJ/3B7Cf91fQj/eIAI/32EB/+Bhwj/hIkJ/4iL + CP+LjAf/iIwH/4uMDP+VlSr/hIUK/3x9Av97fAT/f4EE/4GCBP+BggT/gIAD/39/BP+AgAP/gIAE/4WD + BP+MiAX/k5AG/5iYBf+enQX/n5wH/6KgBv+mogb/l5EE/5SNBv+Ujgb/lI0G/5ONBv+VkAX/l5MF/5iT + Bv+UjwX/kYkF/5GJBv+UjAb/lo4G/5iOBv+XjAb/lIoG/5GHBv+PhQX/jYUF/4qCBv+IgAT/hn4D/4R7 + Av+DegT/g3oD/4N6A/+CegP/gXkD/4F4BP+AdQT/fXQF/3xzBf96cAT/eXAE/3VuA/9ybQP/cGwD/3Bs + A/9wbAP/cW0E/3NvBP91cQX/dnIE/3h0Bv96dgb/fHkH/4F9Bv+GgAb/gn4H/3x4Bv/k4tna4N/ewtHP + y6/EwbyhtbKslOnn5twTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNnY1+nHw72gz8rHq93a17z38vbQbotF+EhuD/9Rehj/VoEY/1uJ + GP9ejhf/XowW/1yHF/9cgBb/XXoU/110Ev9ccBH/XXAP/11vDv9fbw7/YnIN/2V1Df9odwv/aXcL/2t3 + C/9vdwn/cnoJ/3R9B/94fwj/fIQH/4CGB/+FiQj/iIoJ/4mLB/+HiwX/i4sP/5SVKv+ChAf/fHwB/3t7 + A/9/gAT/gIAE/4CABP+AgAT/f38D/39/A/+BgQX/hoMF/4yJBf+SkAb/mZgG/6CdBf+fmwX/paEH/6Ke + Bv+TjgT/k40F/5OMB/+UjQj/k4wH/5aQBf+ZkgX/lpEG/5KMBP+QiAX/kYgF/5SMBv+VjAf/mIwI/5WK + Bv+SiAX/kIYG/46EBf+Nggb/ioEG/4h/Bf+GfQT/g3sC/4R6A/+DeQP/hHoD/4J4BP+BdwX/gHYE/4B1 + BP99cwT/fHIE/3pwBP91bwT/dG4E/3JtBP9wawP/b2oD/3BsA/9xbQT/cm8E/3NxBP91cgX/dnMG/3l1 + Bv98eQf/gn0I/4R/B/99egj/eXQG/+Ti2drg4N7C0c/Lr8PAu6K1sqyU6efm3BMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2dnX6cfD + vaDPyser3drYvPfy99FuiUT5SG4P/1J5GP9WgBf/WogY/16OF/9fixb/XYcX/1yAFv9eeRP/XXUR/1xx + D/9cbw7/XG8N/19vDf9icgz/ZXUL/2h2DP9odgv/anYK/293Cf9xeQj/dHwH/3iABv98gwb/f4YH/4SJ + CP+Hign/iIoI/4iJBf+LjBH/lJQp/4CDBP97fAL/e3sF/35+BP+AgAT/gIAE/4B/BP9/fgT/f38E/4CA + BP+Ggwb/jYoF/5SRBf+blwb/oJwH/5+bBv+logb/n5sF/5KMBf+RjAf/kowH/5OMB/+TjQf/lpAF/5iR + BP+Vjwb/kYoF/5CHBv+Qhwb/lIoG/5eLB/+Xiwf/lIkF/5GHBf+PhQX/jYMF/4uBBP+KgQX/iH8E/4V7 + Bf+EegT/g3kD/4J4BP+DeAX/gncF/4F3Bf+AdQX/f3QE/31zBP97cgP/eW8D/3htBf90bQT/cWwD/29q + A/9vagP/cGwD/3FtBP9ybwT/c3AD/3RxBP92cwb/eXQG/3x7Bv+Afgb/gH0H/3t3CP94cgf/5OPa2uDg + 3sLRz8uvw8C7orWyrJTp5+bcExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2dfpx8O9oM/MyKvd29i89/L30W6IRPlHbQ7/UngW/1Z/ + F/9aiBf/XY4Y/16KFv9chhb/XoEW/115E/9ddBD/W3AO/1tuDf9cbgz/X3AN/2JyDP9ldAv/Z3UL/2h2 + C/9qdgr/a3YJ/3F5Cf90fAf/eIAG/3yDB/9/hQb/hIkI/4iKCP+Iigj/h4gF/4yNFf+UlCj/gIME/3t8 + A/97fAT/fX8E/4CAA/+AgAT/fn4D/359BP9/fgT/gIAE/4eDBP+Oiwb/lJIF/5uYBf+gnAb/n5sG/6ak + Bf+blgb/kYwG/5GLB/+TjAf/kosG/5KLBv+WkAX/l5EE/5ONBv+PiAb/kIcG/5CHB/+UiQb/losH/5aK + Bv+ThwX/kYUG/4+DBf+MgwX/i4EE/4uBBf+JgAP/hHoE/4R6BP+DeQX/gngF/4J3Bv+CdwX/gXcF/4B0 + Bf9/cwT/fHME/3pxA/94bgT/dm0E/3JsBP9xawP/b2oD/29qA/9vawL/cW0D/3JvBP9zcAP/c3EE/3Zz + Bf94dQb/fXwF/39+B/97eAj/d3QH/3VxBv/k4tra4N/dwtDOyrDFwLuiuLKslOnn5twTEhHaAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnZ + 1+nIxL+g0M3Jq93b2L338/fRbYdD+UdsDf9ReBb/VX0W/1uIF/9djBb/XooW/12HFf9egBT/XXoR/1x0 + D/9bbg7/W24N/1ttDP9ebg3/YXEL/2RzCv9mdAv/aHUK/2h0Cf9rdgn/cHgI/3R7B/93gAf/eoIH/3+E + B/+FiQj/iIoH/4iKCP+FhwT/jo4Y/5KSKP+AgQL/ensD/3l7BP99fgT/gH8D/39/BP9/fgT/fn0D/39+ + BP+BgAT/iIMD/4+LBf+Vkwb/nJkF/5+bBv+fmwb/p6QG/5aSBP+Riwb/kooG/5KLBv+RigX/k4wF/5aQ + Bf+VjwT/kYoE/46FBv+OhQb/kIcH/5SKB/+WigX/lYkF/5KGBv+QhAX/jIIF/4uBBf+LgQX/i4AE/4h+ + A/+DegP/g3kE/4N4Bv+Cdwb/gXcF/4F2Bf+AdQX/f3QE/31zA/97cQT/enAE/3huA/90bgT/cmsD/3Fr + BP9vagP/b2oD/29rAv9xbgP/cm8D/3JvA/90cQT/dnQE/3h3Bf9+fQX/fXsG/3h1B/92cgj/c24G/+Ti + 2trf393C0M7KsMXAu6K3sqyU6efm3BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2dnY6cnFv6DRzcmr3dvYvffz99Fth0L5RmwL/1B2 + FP9WfhX/XIcX/1+LFv9eihX/XYcT/16AEv9cfA//XHMO/1tuDv9abQ3/WmwL/1xuDP9hcAz/ZHIK/2V0 + Cv9odQv/Z3MJ/2x1B/9veAf/c3wH/3Z/CP96ggb/gIUI/4OICP+HiQj/hogH/4SFAv+PkBz/kJIm/35/ + AP94eQX/enoG/319Bf9+fQT/fn4E/319A/99fAP/fn0F/4CABP+JhQX/kIwE/5WUBf+dmgb/n5sG/6Cd + B/+loAb/lI4E/5CKBv+RiQf/kYkH/5GKBf+SjQP/lJAE/5ONBv+QiAX/joUG/4+GBv+Rhwf/k4oG/5aK + Bv+ThwX/kIYF/46EBf+Lggb/in8G/4uBBf+LgQT/hnwE/4N4A/+Bdwb/gncF/4F4Bf+AdgX/gXYF/390 + BP9/cwT/fHME/3lxA/94bwX/d24E/3JsBP9ybAT/cWoD/29rA/9vagP/cGwD/3FsBP9wbQT/c28D/3Ry + A/92dAT/enkF/318Bv96eAb/dXIG/3RwB/9xbAX/4+LZ2uDf3cLRzsqwxcC7oreyrJTp5+bcExIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjb2tnoy8bAoNHOyKve29i9+PP40W6GQvlFagv/T3YU/1V9Ff9ahhX/XosV/16KFP9ehRH/XIAS/1t7 + D/9acw//Wm0M/1trDf9bawz/XG0M/19vDP9kcQr/ZXMK/2VyCP9ncwj/aXUH/3B4B/9zewf/dnwI/3yB + B/+AhAf/g4cG/4aIB/+Fhgb/hIQD/4+QIf+OkCP/fX4A/3d4Bf95egX/fX0E/359A/98fQL/fH0D/318 + BP9/fQX/g4AE/4iGBP+QjAT/lpQG/5yaBf+dmQb/o54H/6KcBf+Riwb/kIoF/5GJBv+QiAb/kYkF/5KM + BP+TjgT/kowG/42GBf+NhAX/j4UG/5KHB/+TiAX/lYgF/5KHBv+PhAX/jYIE/4qABf+KgAT/i4EF/4qA + BP+FeQP/gncF/4F3Bf+BdwX/gXcF/4B2BP9/dAT/f3QE/31zBP97cQP/em8E/3hvBP90bQT/cmsE/3Br + BP9vawT/b2oD/3BrA/9wbAP/cW0E/3BtA/9ybwP/c3EE/3Z0Bf96eQb/e3sH/3d0Bv9zcQX/cm0G/29p + Bf/j4tna4N/dwtHOyrDFwLuit7KtlOnn5t0TEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNva2ejLxsGh0M7JrN7b2b348/jRbIVB+UZp + Cv9QdRT/VHwU/1qEFf9eihT/XokT/1yGEP9dgBH/XHgQ/1tzD/9abQ3/WWsN/1lqDP9bbQv/YG0L/2Ny + Cf9kcwn/ZXII/2dzCP9rdAb/b3cF/3J5B/91fAj/fIEF/4CEBv+ChQX/hIYE/4WGBv+EhAL/kZIl/4yO + If99fQD/d3gE/3h6BP98fAT/fXwE/3x8BP97fAT/e3wE/399Bf+EgAT/ioYE/5COA/+YlQX/nZkF/5yY + BP+loAb/nZcG/5CKBf+PiAX/kYkF/5CIBf+RiAX/kYoG/5KMBv+QiAX/jYQG/4yDBP+PhQb/kYYG/5KI + Bf+Thgb/kIQF/46CBv+MgQX/iX8E/4l/A/+LgQX/iH8E/4J4Bf+CdwX/gXcF/4F3Bf+AdQX/f3QE/390 + BP9+cwT/fHMD/3lwA/95bwT/d24D/3JsA/9yawT/cGoD/29qA/9vagP/cGsE/3BsA/9vbAP/cG0D/3Fv + Av9zcgT/dnUF/3l5Bv94dgX/c3EF/3JvBv9wbAX/bmcG/+Pi2drg393C0c7KsMTAvKK2sq2V6efm3RMS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI29rZ6MvHwqHRzsqs39zZvfj0+NFthED5RmgL/1B0E/9UexL/WYMU/12JE/9diBL/XIUQ/11/ + EP9ceBD/W3IP/1psDv9Yagz/WWoL/1xrCv9gbgv/Y3EJ/2RyCf9lcgj/Z3II/2t0Bf9vdwb/cnkH/3R8 + B/97gAX/f4MG/4GEBP+DhQT/hIUF/4KDAv+Rkyf/iosd/3x8AP92dgX/eHkE/3t8BP98fAT/e3wE/3p7 + A/97fAT/fnwE/4WAA/+KhgT/kY4E/5iVBP+bmQX/m5gF/6SgBf+YlAX/jokF/46HBv+PhwX/j4cG/5CI + Bf+Rigb/kosG/46GBf+Mgwb/jIIF/4+EBv+RhQb/k4cG/5GGBf+PhAX/jYEF/4qABP+JfgP/iYAD/4uB + BP+GfAT/gXcF/4F3Bf+BdwX/gHYE/4B2Bf9/dAT/f3QE/31zBP97cQP/enAD/3duBf90bQT/cmsE/3Jr + BP9wagP/b2oD/29qA/9vagP/b2wD/29sA/9wbQP/cW8C/3NxA/93dQX/eHkF/3VzBP9ybwX/cW0H/29p + Bv9sZQX/4+LZ2uHf3MLRzsqwxMC8o7ayrZXp5+bdExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjb2tnoy8fCodPPyqzf3Nm9+PT40W6E + QflFZgv/UHIT/1R5Ev9YghP/W4gS/1yIEv9cgw//XH4O/1x4Dv9bcw7/Wm0N/1hqDP9Zagv/XGoK/15u + Cv9icQj/ZHIJ/2RxCP9ncgf/a3MG/252Bf9xeAf/c3wG/3t/Bf9/gwb/gYQE/4OEBP+DhAT/goMD/5KT + LP+IiBr/enoA/3R1BP94eAT/ensE/3t8BP96ewT/eXoE/3p7Bf99fAT/hYED/4uIBP+SjgT/mZUE/5uY + Bv+bmAb/o6AE/5OOA/+NiAX/jYYG/4+GBv+Phgb/kIgF/5GKBv+RiQX/jYUE/4yCBv+Ngwf/j4QG/5GE + Bv+Thgb/kYUF/46DBP+MgAT/iX4D/4l+BP+KgQT/ioED/4R6BP+BdgX/gXYF/4B2BP+AdgT/f3UE/390 + BP9+cwP/fHME/3txBf96cAT/dm8E/3JtBP9yawT/cGoD/3BqA/9vagP/b2oD/29rA/9vbAP/b2wD/29t + A/9xbwP/dHEC/3h2BP93dgX/cnAF/3BuBf9vawb/bWYH/2pkBP/j4tna4d/dw9HNyrDEwLyjtrKtlenn + 5t0TEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNrZ2enLx8Oh08/MrN/d2r349fjRbYNB+UVmCf9OcRL/U3cT/1Z/Ev9ahxH/XIcR/12C + D/9bfg3/XHgN/1tyDf9ZbQv/WGkM/1ppC/9cagr/X20I/2JxCP9icQf/ZHEI/2ZyBv9rcwX/bnUG/3F3 + B/92ewX/fH8G/36ABf+AgwX/goMD/4OEBP+CggX/k5Mw/4aHF/95eQD/dHQE/3d3Bf95egX/ensE/3p6 + Bf95eQX/eXoG/3x8BP+EgQP/jIkD/5OPBf+alQX/nJcG/56ZBv+gnQX/j4sE/4yHBP+Lhgb/jocF/4+F + Bf+QiAT/kYkF/4+HBf+KgwX/iYIF/4yDBv+Pgwb/kIUG/5GGBv+PgwT/jYEE/4t/BP+IfQP/iH0D/4yB + Bf+IfwX/gXgD/4B2Bf+AdQX/gHUF/4B1Bf9/dAT/f3QF/31zBP97cgP/enAE/3luBP92bQP/c20E/3Jr + BP9vagP/b2oD/29qA/9vawL/cGwD/3BsA/9vbAP/cG4D/3FvA/9zcgL/d3cE/3RzBf9vbQX/bWwD/21o + Bf9rZQf/aGEE/+Lh2dvh393D0c3KsMTAvKO2sq2V6ejm3RMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2trZ6cvIxKLTz8yt4N3avfj1 + +NFsgkD5RWQJ/05vEf9RdRH/Vn0Q/1qEEf9chRD/XIEQ/1x9D/9cdg7/XHEO/1lsDP9YaAr/WmkK/1xq + Cf9fbQj/YXAH/2JwB/9icAb/ZXAG/2pxB/9tdQb/cHkG/3Z8Bf96fwT/fYAD/3+CBP+CggT/gYID/4CC + Bf+TlDH/g4UT/3Z5AP9zdAT/eHYE/3l5Bf95eQX/eHgE/3l5Bf95eQX/fXsD/4WCBP+MiQP/k48E/5uW + Bv+alQX/oJsG/56aBP+NiQP/i4UF/4yEBv+MhQb/jYUE/4+HA/+PhwT/jYQE/4iBBf+IgAT/ioID/46D + BP+QhQT/j4UE/42BA/+LfwT/iX4E/4d8A/+KfwT/jIEF/4Z8Bf9/dQP/f3QE/4B1Bf9/dAT/f3QE/35z + BP99cgP/e3ED/3pwBP96cAT/eG0E/3RsBP9ybAP/cWoD/29qA/9vagP/b2oD/25rA/9vbAP/b2sC/29s + A/9wbQP/cXAC/3R0A/91dQP/b24D/2xrBP9raQT/a2UE/2ljBf9mYQX/4uDZ2+Hf3cPRzcqwxL+8o7ay + rZXp6ObdExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMja2tnpzMjEodTQzKzg3dq9+PX40WuBP/lEYwj/T24R/1FzEP9VfQ//WoMP/1yE + D/9agRD/W3wO/1t1D/9ccQ3/WmwK/1hoCv9ZaAn/XGoJ/19sCf9hbQn/Ym8H/2JwBv9lcAb/anEH/21y + B/9xeAj/dXsH/3p8BP99gQT/foEE/3+BBP9+gQL/gYIH/5SUMv+Bgw7/dXgB/3JzBP93dQX/eHgF/3h5 + BP94eAT/eHgE/3h4BP9+fAT/hoIF/42JA/+UkAT/mZUH/5eTBf+hnQT/mpUF/4yIBP+LhAX/i4QF/4qE + BP+LhQX/j4cD/46HBP+KggX/h38D/4d/BP+KggP/jYIE/46CBP+NggT/ioAE/4l/A/+HfQT/hnwE/4t/ + BP+KgAT/g3kD/350BP9/dAT/f3QE/390BP9+cwP/fnME/31yBP96cAT/enAE/3lvA/91bgP/c2wF/3Jr + BP9xagP/b2oD/29qA/9vaQP/b2oD/29sAv9uawL/b2wD/3BtBP9ycQP/dXQD/3JyAv9sawP/a2oD/2lm + BP9oZAX/ZmIE/2RgA//i4Nnb4d/dw9HNyrDEv7yjtrKtleno5t0TEhHaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNra2enMyMSh1NDMrODe + 27359fnRbIE/+URjB/9NbBD/UXIQ/1Z6D/9ZgRD/W4MP/1uAD/9cewz/XXYL/1xxDP9abAr/WGgJ/1lo + Cv9baQj/XmsJ/2BtB/9hbwb/Ym8G/2VvBf9qcQb/bHQF/3B2Bv90eQb/eX0E/3x/BP99gAT/foED/31/ + Av+Bgwr/lJQ0/3+BDf91dwP/cnEE/3Z1BP93dwX/eHcF/3d3BP93dwT/eHgF/358A/+GgwT/jYkE/5SQ + Bf+YlQX/l5QF/6GeBf+UkAT/i4UE/4uEBf+LgwX/ioIF/4qEBP+MhgT/jIUE/4iABP+GfwP/h4AE/4qB + BP+NggT/joIE/42BBf+KgAX/iH4E/4Z8A/+GfQP/ioAE/4d9Bf+AdgT/f3QE/390BP9/dAT/f3QF/35z + A/99cgT/fHEF/3pwBP96cAX/dW4E/3RtBP9zbAT/cGoD/3BqA/9vagP/bmoC/29rA/9vawP/bmsD/25r + Av9vbAP/cG4E/3NyA/90cwP/b24D/2tqA/9raQP/aWUE/2diBf9lYAX/ZF4D/+Lg2dvi393D0c7KsMS/ + vKO2sq2V6ejm3RMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI2trZ6c7JxaHV0cys4d7bvvn2+dFsgT/4RGEG/01sD/9RcQ//VXkO/1iA + EP9bgg//XH8O/1x6Df9ddgr/W3EL/1psCv9YaAn/WWgK/1ppB/9dagj/X2wG/2FvBf9ibwb/ZG8F/2lw + Bv9scwX/cHYG/3R5Bv94fAT/e34D/3yABP9+gQP/fH4B/4KDDP+TlDP/fX8K/3R1A/9xcQT/dHUE/3d3 + Bf93dwX/d3YE/3d2BP94dwX/fnwE/4aDA/+OigT/lZAG/5eTBP+YlAX/n50E/5GMBP+KgwX/ioMF/4qD + Bv+JgQb/ioIE/4qEBP+KggP/h34D/4Z9A/+HfwX/ioAE/42CBf+OggT/i4AF/4l+BP+HfAT/hHsD/4Z9 + A/+KgAT/hXwF/311BP9/dAT/f3QE/390BP9/dAX/fXID/3xwBP97cAX/enAD/3lvA/90bQT/cmwE/3Js + BP9xaQP/bmoD/29qA/9uagP/bmsC/29rA/9uawP/bmsC/29sA/9xbgP/c3MC/3NyA/9sbAL/a2gC/2lm + A/9nYwT/ZGEF/2NfBP9iXAL/4uHZ2+Lf3cPRzcqxxL+8o7ayrZXp6ObdExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMja2tnpzsnGodXR + zKzh3tu++fb60WyAPvhEYAX/TWsN/09wD/9VeA//WX4O/1yADv9cfg7/WnoM/1x2Cv9bcAn/WWsJ/1dn + Cv9YZwj/WmgG/11pCP9ebAj/YG4F/2FuBf9jbgb/aHAF/21zBv9udgb/dHgE/3h7Bf97fgP/fIAD/32A + A/97fQD/g4UQ/5GRMv97fQb/dHQE/3BxBf9zcwT/dnYE/3Z1BP92dQP/dnUE/3l3Bf9/fAT/h4QE/46K + BP+VkAb/lpIE/5qWBf+emwT/jogD/4mDBf+IggX/iIEF/4mABP+KgwT/ioME/4eAA/+FfAL/hnwE/4h+ + BP+KgAT/i4EF/4uABP+JfgT/h30D/4V7BP+EegX/iH8D/4qABP+DeQP/e3MD/31zBP9+cwT/fnMD/35z + A/99cQX/e3AF/3pwBP94bwP/d24D/3NtBP9ybAT/cmoE/3BpAv9uaQL/bmkC/25qAv9tagL/bmsD/25r + A/9uawL/b2wD/3FuA/90cwP/cG8C/2tpAv9oaAH/Z2QC/2ViBP9iYAP/YV4E/19aAv/i4dnb4d7dw9HN + yrHEv7yjt7Ktluno590TEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNva2enQy8ai1tPOreHe27759frRa389+ENgBf9Nag3/UG8N/1N3 + D/9YfA//W38N/1t9Df9Zegz/XHYK/1twCf9Zagn/V2cJ/1ZlB/9aZgf/W2kG/11rBv9gbQX/YG0E/2Nt + Bf9obwX/bHIG/291Bv90eAT/eHkG/3p8BP98gAL/fH4C/3l7AP+EhhX/kJAx/3t8A/9xcwP/cHAF/3N0 + BP92dAX/dXQE/3V0BP91dAT/eHcF/399BP+GhAT/j4oF/5WRBP+VkAX/nJgF/5qXA/+MhQX/iYIF/4iB + Bf+GgAb/iIAF/4iBBP+HgAX/hX0E/4R8A/+GfAP/iH4E/4qABP+KgAT/iYAE/4l+BP+FfAP/g3oE/4V6 + Bf+KfwX/iH0F/391Bf98cgT/fXME/35zBP99cwT/fXID/3xxBf96cQX/eW8D/3dtBP90bgX/c20E/3Jr + A/9vagL/bmoD/25pAv9uaQL/bmoC/25rA/9uawP/bmsD/25rAv9wbQL/cnED/3NyBP9tbAP/amgC/2Zm + Av9kYwT/Y2AD/2JfBP9gXQT/XlgD/+Lh2dvh3t3D0c3KscTAvKS4sq2X6ejn3RMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI29rZ6dDL + xqHW086s4d/cvvr2+tFrfz34Ql4G/0xpDf9Pbg3/VHUO/1h7Dv9afwz/W3wM/1p5C/9adgn/Wm8I/1lq + CP9WZgn/VmUH/1lmCP9caAf/XmoG/2BrBv9hawb/Y24E/2hwBP9scQX/b3QE/3N3BP93egX/ensD/3p+ + A/97fgP/eHsA/4aGGv+Ojy//eXwC/29xA/9vcQT/c3QE/3V0BP91dAT/dHMD/3V0BP93eQP/gH0D/4iE + BP+PiwX/k5AF/5OPBP+dmQX/l5IF/4iBBf+HgAX/h4EF/4aABP+GfwT/hn8D/4V9A/+DegP/gnoD/4R8 + A/+GfwT/iX4E/4l+BP+IfgP/iH0D/4R6BP+DeQP/hnsE/4p/BP+DewX/e3MF/3xyA/99cgP/fXID/3ty + A/97cQT/enAE/3pwBP94bgT/d20F/3NtBP9yawP/cmoD/29pAv9uaQL/bWgC/21qAv9tagP/bWoD/21q + Av9uawP/bmsC/3BtAv9zcgP/cXAD/2tqA/9oZgP/ZWQE/2NiBP9hXgP/YFwD/15bAv9bVwH/4eDZ2+Hf + 3cTRzsuyxcC8pLeyrZbp6OfdExIR2gAAAJgAAACCAAAAcAAAAGIAAABUAAAARgAAADoAAAAtAAAAFgAA + ABsAAAAlAAAAMAAAAD4AAABUAAAAbQAAAMjb2tnp0MzHodbTz63h39y9+fb60mp+PPlBXQX/S2gN/09s + Df9Tcw3/V3oN/1p8DP9afAz/WnkK/1pzCf9abgn/WWoI/1ZmCP9WZQf/WWYI/1xoB/9daQj/XmoG/2Bs + Bv9jbQT/Z28F/2lxBf9vdAT/cncD/3Z6A/93fAP/eX0C/3p9Av93egD/iIke/4yMLP94eQH/bnED/25w + A/9ycgT/dHMF/3RzBf90cwP/dXQD/3l5BP+BfgT/iIQE/4+LBP+TjwX/lI8E/56ZBf+RjgT/hoEE/4Z/ + Bf+GfgT/hX0E/4V+A/+FfQP/gnoE/4F4Bf+CeAX/hXsE/4Z+BP+IfgT/iX4F/4h9A/+FegT/g3gD/4N4 + A/+HfAP/ioAE/4B4A/96cQP/e3ID/3txBP97cQT/e3EE/3pwBP96cAT/enAE/3huBP93bQX/c2wF/3Jr + A/9vagP/bmkD/21oAv9uaQP/bWkD/21pA/9saAH/bWoC/25rA/9vbAP/cnAC/3JxA/9tbQP/aWcC/2dl + A/9lYwP/Yl8E/2FdA/9fWwP/XVkD/1pWAf/i4Nnb4d7dw9HPy7LFwLykt7Ktluno590TEhHaAAAAmAAA + AIIAAABwAAAAYgAAAFQAAABGAAAAOQAAACsAAAAWAAAAGwAAACUAAAAwAAAAPQAAAFMAAABsAAAAyNva + 2enQzMeh1tLOreDe2r349PrRan47+UJdAv9LaA7/Tm0N/1JzDP9WeQz/WnsM/1p7DP9ZeAr/WnMJ/1pu + Cf9Zagj/VWUH/1ZlB/9YZgj/WmcH/1xpCP9eagb/X2wF/2JsBP9obgb/anEF/250A/9zdwP/dXoC/3h8 + Av96fAL/enwD/3Z5AP+JiyP/i4so/3Z4AP9tbwL/bm8D/3JxBf9zcwX/c3IF/3RzBf91dAP/eXkD/4F/ + BP+IhQX/kIwF/5KPBf+UkAT/nZgF/46JBP+GfwT/hn8F/4Z+BP+DfAX/g3wE/4J7A/+AeQX/gHgF/4N5 + Bf+FewT/hnwE/4h+BP+HfgP/hnwD/4R6BP+CeAT/hHkD/4l/BP+IfgT/fXUD/3tyA/96cQT/e3EF/3tx + Bf96cAT/enAE/3pwBP95bwX/eG4E/3VsBf9ybAX/cGoD/29qA/9taQP/bWgC/25pA/9taAP/bWkD/2xp + Av9tawP/bWsE/29tA/9ycAT/cG4E/2poA/9oZgP/ZmQD/2RhA/9hXgT/X10C/1xZAv9bWAP/WVUC/+Hf + 2Nrg3tzC0c3LssTAvKS3sq2W6ejn3RMSEdoAAACXAAAAgQAAAG8AAABhAAAAUwAAAEUAAAA5AAAALAAA + ABYAAAAbAAAAJQAAAC8AAAA8AAAAUgAAAGsAAADI3Nva6dDMxqHU0s2s393ZvPfz+M5rfjv4Q10C/0tn + Df9Oawz/UHEL/1V3C/9Zegv/WXoL/1h3Cf9acwn/Wm4I/1hpB/9VZQf/VWQG/1dlBv9ZZgf/XGgG/15q + Bv9fawT/Y2wE/2htBf9qcAP/bXQD/3J3A/91eQL/d3wD/3l7A/95ewP/dXgA/4mLJ/+IiSX/dHYA/2xv + Av9tbwP/cHAD/3JyBP9zcgT/c3IE/3R0BP95eAP/gH4E/4mGBv+Piwb/kI0F/5WSBf+blwX/i4UF/4Z+ + BP+EfQT/g3wF/4F7Bf+BegT/f3gF/353BP9/dwT/gnkG/4N8A/+FfQT/hn4D/4V9A/+EewP/g3kE/4F3 + Bf+DegT/iX8E/4V8A/98cQT/e3AE/3pwBP97cQX/enAE/3pwBP96cAT/eG8E/3dtBf91bQT/cmwD/3Fq + A/9vagP/bmkC/21oAv9taAL/bGgC/2xoAv9saAL/bWkC/21rA/9sawL/bm4C/3FvA/9ubQP/aWcD/2hl + A/9lYgT/Y2AE/2FdA/9eWwL/W1kC/1pXAv9YVAL/397X19/c28DQzMmxw8C7pLeyrpfp6OfdExIR2gAA + AJcAAACBAAAAbgAAAGAAAABSAAAARAAAADgAAAArAAAAFAAAABkAAAAjAAAALgAAADoAAABPAAAAaQAA + AMjc29rp0MvGodTQy6rd2ti59PD0yWp8O/dDWwL/TGYM/09pDP9Rbgz/VHUK/1h6Cv9YeAr/WHUJ/1px + B/9Ybgf/VmgG/1VlBv9VZAb/V2UG/1pmBv9cZgb/XWkG/19rBP9jbAT/aG0D/2pwA/9scwT/cHYC/3Z3 + BP92eQX/eHoD/3h6Af91dwD/iowr/4aHIf9zdQH/am0D/21uBP9wcAP/cXED/3JyBP9zcgT/dHME/3l5 + A/+AgAX/iYYG/4+LBP+QjAP/lpME/5eTBf+IgQX/hH0E/4J9BP+BfAT/gHoF/4B5Bv99dgT/fXUE/391 + BP+CeAT/g3sE/4V8A/+FfAP/hHoE/4N5BP+BdwX/gHYE/4V7BP+IfwT/f3cE/3lvBP96cAT/enAE/3pw + BP96cAT/eXAD/3hvBP92bwT/c20D/3NsBP9xagP/b2oD/29qAv9uaQL/bWgC/21oAv9saAL/bGgC/2xo + Av9taQL/bGoC/2xrA/9vbwL/b28D/2ppAv9oZgL/ZmUC/2NiA/9hXwT/YVwD/11ZAv9bWAP/WVUC/1dS + Av/c2tPT3NnYvc7Lx67Dv7ujt7Kuluno590TEhHaAAAAlQAAAH8AAABsAAAAXwAAAFAAAABCAAAANgAA + ACkAAAAUAAAAGgAAACIAAAAsAAAAOAAAAE0AAABnAAAAx9zb2unPy8Sf0s3JqNnX1LXw7PDCaHo69UJb + Av9MZAv/TmkL/1BsC/9Vcwv/V3cK/1d3Cv9XdQj/WXIH/1dtB/9WaAb/VGQF/1NkBv9XZAb/WmUG/1xn + B/9daAT/YGoE/2JrA/9mbAP/aW8C/2xxBP9vdQP/c3cE/3Z4BP94eQT/eHgE/3R3AP+LjS//g4Uc/3N1 + AP9pbQL/bW0D/29vA/9vbwP/cHAD/3FyA/90cwT/eXkE/4CABf+Jhgb/jowF/46LBv+WkwX/k48E/4Z/ + Bf+DfQX/gnwE/4F7Bf+AeQb/fncF/3l0BP97dQT/fncE/4B4BP+DewP/hXsF/4V6BP+DeAX/g3cF/4B2 + Bf+AdwX/h34E/4Z+Bf99cwT/em8E/3pwBP96bwP/em8D/3pwBP94bwP/dm8E/3RuBf9zbgT/cmwD/3Bq + A/9uaQL/bmkC/25oA/9saAL/bGgC/2xoAv9saAL/bGgC/2xoA/9raQL/bWwC/3BvAv9tbAP/Z2YC/2Zl + A/9kYwP/YmAC/19eA/9eWwT/W1kB/1lWAv9XVAT/VVEB/9fWzszY1tS4y8fEq8K9uKG2sq2V6ejn3RMS + EdoAAACTAAAAfAAAAGkAAABcAAAATgAAAEAAAAA0AAAAKAAAABIAAAAYAAAAIAAAACkAAAA1AAAASgAA + AGMAAADG29rZ6M3JxJ/Oysam19PPsOzn67hgcy32OFQA/0BcAP9CXwD/RWUA/0prAP9MbgD/TG0A/01t + AP9QagD/TWQA/0xgAP9KWwD/SlsA/01bAP9QXAD/Ul4A/1VgAP9VYAD/V2IA/1xkAP9hZwD/ZGoA/2dt + AP9rbwD/bnAA/29xAP9vcAD/bG8A/4SHJf94egv/aWwA/2FjAP9jZgD/ZmcA/2dnAP9oaAD/aWkA/2xs + AP9xcgD/e3oA/4KBAP+HhQD/iIUA/5KPAP+HgwD/e3QA/3p0AP96dAD/eXIA/3ZvAP9xbAD/cGwA/3Ns + AP92bwD/eXEA/3xzAP99cwD/fXIA/3twAP96bwD/eW0A/3txAP+AeAD/fHQA/3FpAP9yaAD/cmgA/3Fn + AP9xZwD/cmgA/3FnAP9tZwD/bGYA/2tlAP9qYwD/Z2IA/2ZhAP9mYQD/ZGAA/2RgAP9jYAD/ZGAA/2Rg + AP9jXwD/Y2AA/2NiAP9mZgD/amcA/2NhAP9fXQD/XVsA/1tZAP9ZVwD/VVUA/1NRAP9RTgD/UEwA/05L + AP9MSAD/0c/GxNPQzrLIxMCnwLu2n7Wwq5bp6OfdExIR2QAAAI8AAAB5AAAAZgAAAFcAAABKAAAAPAAA + ADEAAAAmAAAAEAAAABUAAAAeAAAAJgAAADEAAABGAAAAXgAAAMXb2tnpy8fDn8vGwqLTz8qp3dnVssnK + u8fGybbRy9C82M7SvtzQ1cDg0tfB4tPYweLT18Hi0tjB4tPXweLT1sHi09XB4tLUwOLS1MDi0tTB4tPU + weLT1cDi1NXA4tTVwOLU1sDi1dbB4tbXweLX18Hi19jB4tjYweLY2MHi2NjB4tjYwOLY18Di3dzJ4dnZ + xOHX1r/h1tW/4dbWwODW1r/g19a/39bWv9/W1r/f19a/39jXv9/Z2L/f29m/39vZv9/c2r/e3ty/3tva + v97Z17/e2de/3tnXv97Z17/e2Na/3tfWvt7X1r/e2Na+3tjWv97Z17/e2de+3trXv97a177f2de/39nW + v9/Z1r/f2de+39rZv9/Z2L/f19bA39fWv9/Y1b/f2NW/39jVv9/Y1b/f2NW/4NjVv+DX1b/g19W+4NfU + vuDW1b/g1tW/4NbVv+DW1L/g1tS/4NbUvuDV077g1dO+4NXTvuDV077g1NO+4dXUvuHV1L7h1NO+4dPS + vuHT0r7h09G+4dLRvuHS0b3h0M+94M7Mu93LybjZx8W008G+rcvSzsu2y8fFq8O/vKO9uLSdtrGrlevp + 5twTEhHYAAAAiwAAAHIAAABgAAAAUwAAAEYAAAA4AAAALQAAACMAAAAOAAAAEwAAABsAAAAjAAAALgAA + AEEAAABWAAAAxdLRz93LxsGcyMTAn87KxaTU0Mqq3trYsOPg4Lfn5OS+6ubowuzo6sXs6evG7Onrxuzp + 68bs6evG7Onrxuzp68bs6evG7Onrxuzq68bs6evG7errxuzp68fs6evH7Onrx+zq68br6uvG7Orrxuzq + 68bs6uvG7Orrxuzq68bs6erG7Onqxuvo6sbq6OjF6efpxero6sTq6OnE6+jpw+ro6cPo5ufC6ebnwejl + 58Lo5ufB6Obnwefk58Hn5OfB5+Tnwefk58Hm5efA5uXnwOfl58Dn5efA5+XnwOfm58Dn5ufA5+bnwOfm + 58Dn5ufA6ObnwOfm58Dn5efA5+bnwefm58Hn5ufB5+bnwefm58Hn5efC6Obnwejm58Hp5ufB6Obnwujm + 58Lo5ufC6Obnwujm6MPo5ujD6Obow+jm6MPo5+jD6ejpw+ro6cPq6OnD6ujpw+ro6cPp5+jD6efow+fl + 58Tn5efE5+XnxOfl58Tm5ebE5uXmxObl5sTm5ebE5uXmxObl5sTn5ebF5+Xmxefl5sXn5ObE5OLiwuDf + 4L7d29q419TUscvHxavFwb2lwLu3oLq1sZu3sayV4uDf0REQENYAAACEAAAAbQAAAFoAAABNAAAAQQAA + ADUAAAAqAAAAIAAAAA0AAAASAAAAGQAAACAAAAApAAAAOgAAAE8AAACtcG9u5NzZ1a/EwLmYy8fBoM7J + xKPRzsmo1dLOrdfU0LDZ1dOz3NfVtdzZ1bbc2dW23NnVttzZ1bbb2NW23NnVttzY1bbb2NW23NnVttvY + 1bbc2dW23NjUttvY1Lfa2NS33NnVttzZ1bbb2dW23NnVttzZ1bbc2dW229nUttvZ1Lbb2NS22tfVtdvX + 1LXZ1tO02tbTs9nW07HZ1dOy2NXRsdfU0LDX1NCw1tLQsNXTz6/V08+v1dPOrtXSzq7V0s6u1dLOrtXS + zq7W0s6u1tLOrtbSzq7W0s6u1tLOrtbSzq7W0s6u1tLOrtbSzq7W0s6u1tLOrtbSzq7V086v1dPPr9XT + z7DW0tCw1tLQsNbT0LDX1NCw19TQsNfU0LDX1NCw19TQsNfU0LHX09Cx19PQsdfT0LHX1NCx19XRsdjV + 0rHY1dKx2NXSsdjW0rHY1dKx2NXRsdfU0LHX09Cx1tLPstbSz7LW0s+z1dHPs9TRzrPU0c2z1NHNs9TR + zrPU0c2z1NHOtNTRzrTU0c601NHOtNPQzbPRzsyzz8zJsMzJxazIxcGpw7+8o8C7t6C9uLOdtK+qldLN + yaaHhoXfBQUFxAAAAHkAAABkAAAAUwAAAEYAAAA7AAAAMAAAACYAAAAdAAAACwAAAA8AAAAVAAAAHAAA + ACUAAAAyAAAARwAAAHkSERDm29nX19DMxpzDvreXysS+ncrIwqDNyMSjzsvFpc/Lx6bRzcin0c3Ip9HN + yKfRzcin0c3Ip9LOyKfSzsin0s7Ip9LOyKfRzcin0s7Ip9LOyKfSzsin0s3IqNHNyajRzsin0c7Ip9HO + yKfRzsin0c7Ip9HOyKfRzsmn0c7Jp9HMx6fQzMimz8vHps/LxaXPy8WkzsrFos7JxKPMxsOizMbBocvH + waDKx8GgycXAoMnFvp/Jxb+fyca/n8nFv5/JxL+fycS/n8nEv5/Jxr+eycW/nsnFv57Jxb+eycW/nsnF + v57Jxb+eycW/nsnGv57Jxr+fyca/n8nGwKDJxcCgycXBocnFwaHJxcGhysbBoMzGwaHMxsGhzMbBocvH + waHLxsGhy8XCosvFwqLLxcKiy8XCoszJw6LNycSizcnEos3JxKLNycSizcjEos3Hw6LNx8OizMfCosvG + waPJxcGjycXBo8jEwaTIxMCkx8S/pMfEv6THxMCkyMTApMfDv6XHw7+lx8O/pcfDv6XHw7+lx8O/pcXB + vaXDwLykwr66o7+7t5+9ubWdu7axnLSvqZW+urSV4+DeyyspKO0AAAChAAAAbAAAAFoAAABLAAAAQAAA + ADUAAAArAAAAIgAAABkAAAAJAAAADQAAABMAAAAZAAAAIQAAACoAAAA6AAAAXgMCAqdVVVT13tzZz+fk + 3arHwruWwr63lcPAuZbFwbuXx8G8mMfCvJjHwbyYx8G8mMfBvJjHwryYyMO8mMjDvJjIw7yYyMO8mMfC + vJjIw7yYyMO8mMjDvJjIxLyZx8S9mcfEvJnHw7yYx8O8mMfDvJjHw7yYxsG7mMbBu5jGwbuYxsC6l8XA + upbDvrmVw764lcG8tpTBu7WTwLu0k765spK+ubGQvbexj763sY+9uLGPvbiwjry4r467t6+Ou7evjru2 + r467tq+Ou7avjru3r468tq+Ovbavjb22r428tq+NvLavjby2r428tq+Nu7avjru2r467tq+OvLawj7y2 + sJC8tbCQvLawkL23sZC+ubGPvrixkL64sZC+uLGQvriykb63spG+t7KRvreykb63spG/ubOQwLu0kcC7 + s5HAu7ORwLuzkcG6tJLBubSSwbm0kr+5s5K+uLKTvLexk7u2sZS7trGUurWwlLm1sJS4ta+UurWvlLm1 + sJW5tK+VubSvlbm0r5W5tK+VubSvlbizr5W4s66WuLOulrezrpa3sq2VtrCrlLSvqpK3sa2T1tHOpOPi + 38hsbGrzCQgIwQAAAHsAAABfAAAATgAAAEIAAAA4AAAALwAAACUAAAAeAAAAFQAAAAgAAAALAAAAEAAA + ABQAAAAbAAAAIwAAAC4AAABLAAAAYQAAAKk3NzfxgoF/4eHg3tH39vPS8vHu0vPx79Lz8u/S8/Hv0vPx + 79Lz8e/S8/Hv0vPy79Lz8u/S8/Lv0vPy79Lz8u/S8/Lv0vXy79L08u/S8/Lv0vPy79Lz8u/S8/Lv0vPy + 79Lz8u/S8/Lv0vPy79Ly8e7S8/Hu0vPw7tLz8O/S8/Hu0fLx7tDx8O3Q8e/tz/Hu7NDv7uvQ7+3rz/Du + 687w7evO8O3rzu/t687w7uvO7+3rzu/t687v7evO7+3rzu/t687v7evO7+3rzu/t687v7erN7+3qzfHt + 683y7uzM8u7szPLu7M3y7uzN8e7szfDt7M7x7ezO8e3szvHu7M7x7+zO8e/szvHv7M7x7+zO8e/szvLv + 7M7z7+3O8+/tzvPv7c7z7+3O8+/tzvPw7c7z8O3O8/DtzvPw7c7z8O3O8+/tz/Pw7c/z8O3P8vDsz/Lv + 7M/y7+zP8e7sz/Hu7M/x7uzP7+7r0PHu7M/x7uvQ8O3r0PDt69Dw7evQ8O3r0PDt69Dw7evQ8O3r0fDt + 69Hw7evR8O3r0fDt69Dw7evR8/Dt0Ojl49CPjYzdQD8/8gEBAcMAAAB5AAAAXwAAAFAAAABCAAAAOQAA + ADAAAAAoAAAAIAAAABkAAAASAAAABgAAAAgAAAANAAAAEAAAABUAAAAcAAAAJAAAADcAAABMAAAAYAAA + AIYEAwO9KSko6TEwMOMvLy7jLy8u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8u + LuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8vLuMvLy7jLy4u4y8u + LuMvLy7jLy8u4y8vLuMwLy7jLy8u4y8vLuMvLy7jMC8u4zAvLuMwLy7jLy8u4y8vLuMvLy7jLy8u4y8v + LuMvLy7jLy8u4y8vLuMvLy7jLy8u4y8vLuMvLy7jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAv + L+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAv + L+MwLy/jMC8v4zAvL+MwLy7jMC8u4zAvLuMwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy7jMS8v4zAv + LuMwLy7jMC8u4zAvLuMwLy7jMC8u4zAvLuMwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MxMDDjLS0s5woJ + CMwAAACWAAAAdAAAAFsAAABOAAAAQgAAADgAAAAwAAAAKAAAACIAAAAbAAAAFAAAAA4AAAAHAAAACAAA + AAwAAAAQAAAAFQAAABsAAAAiAAAALAAAADkAAABGAAAAUAAAAGAAAABsAAAAcAAAAHIAAABzAAAAdQAA + AHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAA + AHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHcAAAB2AAAAdgAA + AHYAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAA + AHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAA + AHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAA + AHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHYAAAB3AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAA + AHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHUAAAB0AAAAbAAAAGAAAABXAAAATAAAAEIAAAA4AAAAMQAA + ACsAAAAkAAAAHwAAABkAAAATAAAADgAAAAUAAAAGAAAACQAAAAwAAAAQAAAAFQAAABoAAAAhAAAAKAAA + ADEAAAA4AAAAPwAAAEMAAABIAAAASwAAAEwAAABOAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAATwAA + AE0AAABJAAAARQAAAD4AAAA4AAAAMwAAAC0AAAAoAAAAIwAAAB0AAAAYAAAAEwAAAA4AAAAKAAAABAAA + AAUAAAAHAAAACQAAAAwAAAAPAAAAFAAAABgAAAAdAAAAIgAAACYAAAArAAAALgAAADEAAAAzAAAANQAA + ADYAAAA3AAAAOAAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANgAAADMAAAAyAAAALgAAACoAAAAnAAAAIwAA + AB8AAAAbAAAAFgAAABEAAAAOAAAACwAAAAgAAAACAAAAAwAAAAUAAAAHAAAACQAAAAsAAAAPAAAAEwAA + ABUAAAAYAAAAHAAAAB8AAAAhAAAAJAAAACYAAAAnAAAAKAAAACkAAAAqAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAAoAAAAJgAAACUAAAAjAAAAIAAAAB4AAAAaAAAAFwAAABQAAAARAAAADQAAAAoAAAAJAAAABgAA + AAEAAAACAAAAAwAAAAQAAAAHAAAACAAAAAsAAAAOAAAAEAAAABEAAAAVAAAAFwAAABkAAAAcAAAAHQAA + AB0AAAAfAAAAHwAAACAAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAdAAAAHQAAABsAAAAYAAAAFgAA + ABMAAAARAAAADwAAAA0AAAAJAAAABwAAAAcAAAADAAAAAQAAAAEAAAACAAAAAwAAAAQAAAAFAAAABwAA + AAkAAAALAAAADAAAAA4AAAAQAAAAEgAAABQAAAAVAAAAFQAAABcAAAAXAAAAGAAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABUAAAAVAAAAEwAAABEAAAAPAAAADgAAAAwAAAAKAAAACAAAAAYAAAAFAAAABAAA + AAIAAAABAAAAAQAAAAEAAAACAAAAAwAAAAMAAAAFAAAABgAAAAcAAAAIAAAACgAAAAsAAAAMAAAADQAA + AA8AAAAPAAAADwAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAPAAAADwAAAA4AAAANAAAACwAA + AAsAAAAJAAAACAAAAAYAAAAFAAAABAAAAAMAAAADAAAAAQAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAA + AAIAAAADAAAABAAAAAQAAAAFAAAABwAAAAcAAAAIAAAACQAAAAkAAAAJAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAkAAAAJAAAACQAAAAcAAAAHAAAABgAAAAUAAAAEAAAABAAAAAIAAAACAAAAAgAA + AAEAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAIAAAADAAAAAwAAAAQAAAAFAAAABQAA + AAYAAAAHAAAABwAAAAcAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABwAAAAcAAAAHAAAABQAA + AAUAAAAFAAAABAAAAAMAAAADAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEA + IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABgAAAA4AAAAXAAAAIAAAACcAAAArAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAArAAAAJwAAAB8AAAAXAAAADQAAAAYAAAAGAAAADgAAAB0AAAAtAAAAPQAA + AEgAAABOAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABOAAAASAAAAD0AAAAtAAAAHAAAAA0AAAALAAAAGQAA + ADAAAABHAAAAWwAAAGkAAABwAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABwAAAAaQAAAF0AAABIAAAALwAA + ABgAAAARAAAAJAAAAEEAAABsCgoLpBgYGLIWFxe0FxcXtBcXF7QXFxe0FxcXtRcXGLQXFxi0FxgYtBcY + GLQXGBi0GBgYtBcYGLQXFxi0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe1FxcXtRcXF7UXFxe0FxcXtBcX + F7QXFxe0FhcXtBYWF7QWFhe0FhYWtBYWF7QXFxe0FxcXtBcXF7QXFxe0FxcXtBcXF7QYGBi1AQECpgAA + AHkAAABfAAAAQQAAACQAAAAXAAAALAAAAF05OTe7joiApZOMgpSRiICTjIR6kod/dZCEe3KPgHlvjn54 + bY18dWuMeXJni3lyZ4t5cWeLeG5mi3lvZot7cmiKgHdsi4N7coyIf3aMjIJ4jIyFeo2NhnuOjYd8j4+H + fo+Qh3+PkYh/j5KJf4+SiYCPk4uAkJOMgpCTjIKQlIyCkJOLgZCPiH6OjIR6jYuCeIyMg3mNj4d9jpGJ + gI+SioCOfnlzshcXF7UAAABxAAAAUAAAAC4AAAAbAAAAMAkJCYmSjIasnpWJcLKmnYW/s6yQvbKrkbqv + p4+3rKWNtaujjLOqoYuxp5+KsKWdia6knYmuo52JrqKdiq+knYmypp+JtKqjibitp4q7saqKvLKri7yz + q4u7s6yMvLOtjLyzrYy9s66NvbSujb21ro29ta6OvLaujru2ro68tq6Ovbevjry1ro66s6yMuLKri7ex + rIu5s6+Mu7SyjbStqYaelY10n5WIbGdlYb0AAACJAAAAVgAAADMAAAAcAAAAMhESEpKpoZqlsriymXPd + 4+tx4Ofyc+Dn83Xg5/N24ObzeeHl83zi5fJ/4uTyguPk8oXj4vKH4+LyieTg8ozl3/KP5d/yk+bf8pfo + 4PKc6eLyoOrj8qTs4vKo7uLzrfDi8rLz4fK29uHzvPjh88T64fPO++Tz3vvq8+z78/P5+/nz//v98//7 + /vP/+/3y//v38vz77fL3++Lz9vvR8/P5vu7V1rm7qaKbdX98d7UAAACRAAAAWQAAADYAAAAdAAAAMxAQ + EJGwqKKsws7JsEjd5P882d//Pdna/z7Z1/8/2dX/QdnT/0ba0v9K29D/S9vO/07by/9Q3Mn/U9zH/1be + xf9a4cP/XeTC/2Lowv9o78T/cPXH/336zv+M/db/nf/g/7L/6v/F//H/2v/5/+///f/3//z/+f/8//r/ + +v/y/+v/4f/e/7/92v+3/dn/wv7O/8r/sf/V/Zv/2vyO/9f9jP/Q5r7WvbOxgn57d7gAAACRAAAAWgAA + ADcAAAAdAAAAMw8PD5G0q6avxtLPtjzT2f8v0NP/MtDR/zPPz/800Mv/N9DJ/zrQyP880cX/PdLD/0DV + wf9F2cL/St7E/1LlyP9b7M3/ZvLT/3H42P97/d3/gv/g/4v/5P+Z/+j/qf/r/7n/7P/E/+f/x//b/7// + zP+0/L//pfm1/5n3r/+M9qv/ePWs/3P3uP+C+sP/hf3J/5D9y/+q+7n/uO2R/7XXZ//P2a3Zxb27iIB9 + ebkAAACRAAAAWgAAADcAAAAdAAAAMw8PD5G1rqiwx9PQtzjS1f8sz9D/MdDP/zLRzv811M7/OdfP/z/b + 0f9E4dX/TOjY/1Pu3P9a9OD/YPni/2X74f9q/N//bv7d/3T/2/96/9r/gf/X/4r+1P+Q/Mv/kfi//43z + sP+F7p//gOmT/4Hmjf+G5Yr/j+WI/5bmh/+a5ob/nOKG/57ahv+k14n/qdyM/6zmkP+k7pT/n/CW/6Hi + hf/K27fayL+9i4J/e7oAAACRAAAAWgAAADYAAAAdAAAAMw8PD5G3r6qxydXRuT7Y1/8z2dX/Ot3Y/0Di + 3P9F6N//SOrg/0nq2/9M6tb/TujQ/0/myf9R58P/VerB/1zwwv9k9cL/a/fA/2/yuf9w6q//buKh/2vb + lf9r2Y3/dNmM/33bi/+C24f/h9uC/4jafv+K1Hr/ic10/4fFbf+Ivmj/jLhg/5K3Vf+Ttkv/lLVO/5m2 + Vf+kvl3/rsti/7HXbf/S4LzbysLAjYOAfLsAAACQAAAAWgAAADYAAAAdAAAAMw8PD5G4sKyzytfTukbh + 3P853tb/PNvR/z/azf8/2Mj/QNTC/z/Quf9D0bb/Ste4/1Leuv9a5L3/X+S5/1/esP9f1qL/X8+X/2HM + kP9lz4z/bNOJ/3HWiP9314T/ftWD/4PRf/9+yHP/eb5o/3m4Y/97s1//f7Bc/4WwVv+MtVH/j7xS/5DA + W/+TxGT/nMVl/6HDYP+kwFj/qLtS/6mzQP/Qz6LczcfHkISBfrwAAACQAAAAWgAAADYAAAAdAAAAMw8P + D5G5sq60y9bSuz/Kwf8yxLf/NsO0/zvHtv9Bzbv/RtXA/0vZv/9O2rv/Udaz/1PQqf9VyqH/WMia/13L + lf9j0JL/adOQ/27VjP9w04b/cM5+/3DHdf9wwm//e8Nx/4bGcf+CwWX/gb9e/4i/Xv+Mw1z/kMdc/5DM + Yf+Mz27/i8tz/47BbP+PuWD/kbJU/5KoSf+WokH/mJw6/5aRKv/Iw5vc0MzKkYWCf70AAACQAAAAWgAA + ADYAAAAdAAAAMg8PD5G6s6+2zNbRvELFuP84xrb/QM27/0XSvf9J1L3/StK3/0vMrP9MyKT/Ucug/1rR + of9j2KH/a9ye/3Dcl/9x2o//c9eI/3fVgf961Xz/ftV2/4DUcP+F02r/ldRu/5nTbv+JyWX/gcZi/4PH + XP+FwlT/grdU/32pVf98nUn/fJM8/3uLNP98hi//gIMr/4SBKP+IgCf/i4Em/4x8Gv/GvZbd08/Nk4eE + gb0AAACQAAAAWgAAADYAAAAdAAAAMg8PD5G8tbC2ztnTvUrQvv8+yrT/Qsqv/0fMrf9P07H/WN22/1/l + t/9j6rT/au2v/3Lsqf956qP/gead/4LilP+A3Ir/f9N+/33Mc/97xGn/d7th/3KyXf9vr2H/d7Zx/3O4 + cP9pr1n/cadC/3icNP90ji//coYq/3SDJv92giT/d38j/3h8If96eiD/fHgg/4B4IP+DeSD/h3oi/4h2 + F//Eu5be1tHQlYeEgb4AAACQAAAAWgAAADYAAAAdAAAAMg8PD5G8tbG4z9nTvlbXvf9S2rv/WuK//2Hp + wv9o7ML/be2//2zps/9p4KX/adWX/2nMjP9txIH/cLx3/22zbf9nqWP/ZKJd/2GdW/9dmlv/XJlc/1yc + W/9lpVn/drBT/3imO/9xjyf/b4Qk/2yAJf9sfiT/cH4j/3aAIv96fx//ense/3l4Hv95dx3/e3Ue/351 + Hv+Adh//hHcf/4VyFf/Dupbe19PSl4eFgr8AAACQAAAAWgAAADYAAAAdAAAAMg8PD5G9trO40dvVv2Te + v/9Y17P/Vs+o/1PHnP9Tv5T/U7mO/1KzhP9Qqnb/UKFr/1OeZv9anmP/YKFk/2CfYv9cmV3/XJhc/1yY + V/9emFD/ZJpH/2eYOv9wmS//fZ0p/3aPJP9qfSH/an0h/25/IP9yfh7/dX4d/3yAHf99fxz/e3oc/3l2 + HP94dBv/eXMc/3tzHP99dBz/gnQd/4JvEv/CuZXe2NTUmIiGg8AAAACQAAAAWgAAADYAAAAdAAAAMg8P + D5C9t7W50NjSwE+3lv9Bq4f/QqF9/0KddP9FnXL/SJ5w/0uebf9Lmmf/TJVi/1CUYP9ZmV//YqFe/2Wf + Wf9imVL/ZZlM/2eYQ/9olDn/Zo0s/2aFJP90jSL/f5Yj/3KHH/9peRz/bHsb/3F+Gv91gRr/eoAa/4CD + Gv9/gBn/fHsa/3l2Gv94chn/eHEa/3lxGf98cRr/gHIb/4BsEP/BuJTf2dbWmoiGg8AAAACQAAAAWgAA + ADYAAAAdAAAAMg8PD5C+ura60NbQwUmjgP8/nHP/QpVs/0GRZv9EkmX/R5Vn/0uYZv9NlmH/T5Nb/1SU + V/9fmlT/a6JT/26hTP9tm0P/b5g7/2iOL/9khCX/Zn8g/26AHf97jR7/fZAe/3GBG/9reRj/b3wX/3SB + F/95gxj/foMX/4SGGP+Dghj/fnwY/3p2GP93chj/d3AY/3hvGP96bxj/fXAZ/31qDv/BuJTg3NjXm4mH + hMEAAACQAAAAWgAAADYAAAAdAAAAMg8PDpC/ure70NbPwUmedP9Al2r/Qo9k/0OLX/9FjF3/SZBc/06T + Wv9Qk1b/U5JR/1qTTP9onEj/eKVE/3qhPf9vlDH/bIwo/2mDIf9rgBz/bX0Z/3B+GP96ixr/fI4a/3F/ + F/9ufBb/cn8V/3qEFf99gxb/gYUW/4eHFv+Fgxb/f3wV/3t1Fv94chb/d28W/3duFv94bhb/fG4X/3to + DP/AuJTg3dnYm4mHhMEAAACQAAAAWgAAADYAAAAdAAAAMg8ODpC/u7i70NbPwkuabf9ClGH/RI1a/0WH + U/9JiFH/TItP/1GOTv9XlEr/XZdG/2aZQP92ojz/gaY1/3eYLP9uiiP/c4oe/3KEGv9wfxX/bnsU/3KA + Fv99jxj/fo8Y/3KAFP9yfhT/eIMU/4CIFP9+hRP/hogU/4iIFP+FgxT/f3wT/3x2E/95cxT/eHAU/3dt + Ff93bRX/e20V/3hmCv/At5Pg3dnanYqIhcEAAACQAAAAWgAAADYAAAAdAAAAMg4ODpDAvLm80dbPwk6Y + Y/9Gk1b/R4pQ/0iCSP9Kgkb/UIhD/1uUQv9kmz7/ap87/3OhNf94nSz/fZok/3mSIP92ihv/e4wZ/3aF + Fv9xgBT/bnwS/3aFE/+DkxX/hZIV/3aDEv94gxL/f4cS/4SMEv+BhxH/iYoR/4iJEv+EgxL/gHwQ/3x3 + Ef97dBL/eXET/3duE/94bRP/eWwU/3dlCf/At5Ph3trbnYqIhcIAAACQAAAAWgAAADYAAAAdAAAAMg8O + DpDAvLm80dbNw1GUWP9Jkk3/TIhH/0yAP/9Vizz/YJc6/2WYN/9upTX/cKAv/22OJf93kSD/g5oe/3+S + HP97ixf/go0W/3qGFP90gBL/c38R/3+LE/+LmRT/ipUU/3yGEf9+iBH/hY0R/4aNEf+FiQ7/iYsP/4iI + D/+EgRD/f3wP/314D/99dhD/fHMR/3pvEv95bRL/em0S/3dmB//AuJLh3trbnouIhsIAAACQAAAAWgAA + ADYAAAAdAAAAMg8ODpDAvLq80tXNw1SSUP9LkEP/U44//16VOv9hlDT/ZZgx/26sL/9qmCf/ZYIg/3CJ + Hv9/lRz/ipsa/4WSGv+AixX/hI0T/3yGEv94gQ//eYMQ/4aSEv+SnhL/i5YR/4CKD/+Ciw7/ipEQ/4iN + D/+Jiw3/i4wN/4iGDP+EgQ7/gHsN/394Df+BeA//gHUP/35yEP99bhH/fG0R/3loBv/BuZLh39zcn4uJ + hsIAAACPAAAAWgAAADYAAAAdAAAAMg8PD5HBvLq90tXMxFWRR/9Znz3/ZaM6/2CPMP9koC7/aa4t/2WN + JP9kfR//a4Qd/3eNG/+Flhj/j5sX/4iSGv+CihL/g4wQ/32GDv96gg7/focO/42XEP+XoBD/jZUP/4WN + Df+Hjg3/j5QP/4iMDv+NjAz/jooM/4mECv+Cfwz/f3oL/4F4DP+DeA3/gnUN/4BzDv9+bw//fW4P/3xr + BP/Cu5Lh39zcn4uJhsMAAACQAAAAWgAAADYAAAAdAAAAMg8PD5HAvLu+09bMxGOjQv9hpjb/X5cx/2Wu + Lv9ipCn/XH4h/2WAHv9qghz/b4Ua/32NF/+LlhX/kpoW/4mQGP+CiA//g4sN/3+GDP98gwv/g4oM/5Sb + Dv+coQ//jZMN/4iODP+MkQz/kJYN/4uLDP+Rjgr/j4oL/4mDCf+CfQr/gHkK/4J4C/+DeAz/g3YN/4Bz + Df9/bw3/fm8N/35uA//DvZLh3tzcoIuJhsMAAACPAAAAWgAAADYAAAAdAAAAMg8PD5HCvbu91NjMxF+Z + O/9boTD/Zr4z/16YKP9YdR//X3sd/2iDG/9sghj/coUX/4COFP+NlxP/kpkW/4iOFf+CiAz/hYkM/4CF + Cv9/hQn/iI4L/5qeDf+doQ3/jZIL/4uQC/+RlQv/kpQL/46MCf+Ujwn/j4kJ/4mDCP+DfQn/gXkI/4N5 + CP+DeAr/gnYL/39yDP9+bwv/gHEM/4BxAv/EvpHh39vcoIuIhcQAAACPAAAAWgAAADYAAAAdAAAAMg8P + D5DCvby+09TLxGCiOf9hwTH/W5cp/1l3H/9beBv/YXwZ/2uDF/9tgRX/dYUT/4OOEv+Plg//kpcT/4eM + Ev+DiAr/hYkJ/4KFCP+Bhgj/jpII/56hC/+doAv/jZEJ/46RCv+WmAr/k5EJ/5KOCP+Ujwj/j4kI/4mC + B/+DfQb/gXoG/4N5B/+Cdwn/gXQK/35xCv99bwn/gHIL/4FzAP/Ev5Hi3drboYqIhcQAAACPAAAAWgAA + ADYAAAAdAAAAMg8PD5DBvLy/1dzMxWG4N/9WkSX/WoUi/1t8HP9cdxn/YnsW/2uBFP9vgBH/d4UQ/4WN + EP+OlQv/kZUQ/4aKEP+Dhgf/hYgH/4KEB/+Ehgf/lJUH/6GiCv+cnQn/kZEH/5OSCP+ZmAn/ko8I/5WQ + B/+Vjwf/j4gH/4mCBv+EfQX/gnoF/4J4Bv+Cdgf/fnQI/3twCP97cAj/gXQK/4F1AP/Ev5Hi3djbooqI + hcQAAACPAAAAWgAAADYAAAAdAAAAMg8PD5DBvr2/1NbLxlmELP9Wih//XIkg/1x7Gf9cdhb/Y3kU/2x/ + Ef9ufw7/eYQN/4SNDP+Nkwj/kZQQ/4WJDf+EhQX/hoYF/4KEBv+GhwX/mJgG/6OkBv+bmgf/k5EH/5aV + Bv+Zlwf/ko8F/5eRBv+VjgX/jocG/4iBBf+EfAT/g3sE/4J4Bf9/dQb/fHIG/3pvBv97cQb/gnYJ/4J3 + AP/Ev5Di3NnbooqIhcQAAACPAAAAWgAAADYAAAAdAAAAMg8PDpDDvr2/1NXLxleCKf9Xixz/XIoe/1t6 + GP9ddBX/Y3cS/2t8D/9vfQ3/eYIM/4SLC/+MkQj/kJIS/4SGDP+DhAP/hYUF/4KDBf+KiQX/m5oG/6Ok + Bf+YlgX/k5AG/5iWBv+Wkwb/lI8F/5iRBv+Tiwb/jYQG/4d/BP+EfAP/g3sE/4B4Bf99dAT/enAF/3du + Bv96cQb/gHYI/4J3AP/EwI/j3Nnbo4qIhcUAAACPAAAAWgAAADYAAAAdAAAAMg8PDpDDv77A1dXMxliA + KP9Wihv/XYob/1x6Fv9dchP/YnUQ/2t7Dv9tfAz/eIEL/4SKCv+Kjwf/jpET/4KECf+BggP/g4MF/4KC + Bv+NiwX/nZwF/6KiBv+VkwX/k5AG/5iVBv+Tjwb/lY4G/5ePBv+QiQb/i4IG/4V9BP+DfAP/g3oF/391 + Bf96cQT/dW4E/3RuBf94cQb/f3cI/4F5AP/EwY7j29nbpIqIhcUAAACPAAAAWgAAADYAAAAdAAAAMg8O + DpHEwL7A1dbMxll+Jv9XiRj/XooZ/1t6Ff9bcBL/YnMP/2l5DP9segv/d4AJ/4OJCP+KjQf/jpAV/4CC + CP+AgQP/gYIE/4GBBf+PjQX/n50G/6GeBf+Ujwb/lZAG/5iTBf+SiwX/lo4F/5WMBv+PhgX/iIAF/4R7 + A/+DewT/gngF/350BP93cAT/cm0E/3JtBP93cgX/fHcH/4B5AP/Bvo3j29jbpImIhcYAAACPAAAAWgAA + ADYAAAAdAAAAMg4ODpDEwL/A1tbMxll8I/9YhhX/XooY/1x5FP9cbxD/YXEN/2h3DP9teAr/dn8I/4GH + CP+Jiwf/jY4V/36AB/9/gAT/f4AD/4KBBP+Sjwb/oJ4G/56ZBv+SjAf/lY8G/5WQBf+RiQb/l4wG/5OJ + Bf+NgwX/h34E/4N6A/+DeQT/gHYE/3xyBP91bgT/cGsD/3FtBP91cQX/e3gG/3t3AP+9uo3j3NrbpYmI + hcYAAACPAAAAWgAAADYAAAAdAAAAMg4ODpDFwb/A1tfNx1d6If9XhBP/XokW/115Ev9bbg3/X3AM/2d0 + C/9sdgn/dX0H/4GGB/+IiQf/jI0W/3x+Bf9+fgP/fn4D/4OABP+UkQX/oZ4G/5qUBv+RiQf/lY4F/5KL + Bf+Qhwf/looG/5CFBf+LgQX/hnwE/4J4Bf+BdgX/fnME/3pwBP9zbAT/b2oD/3FtA/90cQT/e3oF/3Nw + AP+6uI3j3drbpYqIhcYAAACPAAAAWgAAADYAAAAdAAAAMg8ODpDHw8HB1tfNx1Z4H/9XghL/XogT/1x5 + EP9abA3/Xm4L/2VyCf9qdQf/dXwH/4GEBv+Ghwb/i4sY/3p7Bf98fQT/fHwD/4SBBP+VkwX/oZ0G/5WP + Bv+QiAX/k40F/4+HBf+Rhgb/k4cF/4yCBf+KgAT/hHkE/4F3Bf+AdQT/fHIE/3ZuBP9wawT/b2oD/3Bs + A/9zcQP/eXgF/21pAP+5tY3j3drbpYqIhsYAAACPAAAAWgAAADYAAAAdAAAAMg4ODpDHw8LB2NjOx1Z1 + H/9Vfw//XYYR/1x3Dv9Zag3/XmwK/2NxCP9qcwb/dHsG/3+DBf+EhQb/iYkZ/3h4A/96ewT/enoE/4WC + BP+XlAT/npsF/4+KBf+Phgb/kIkF/4yDBf+RhQb/kIMF/4p/BP+IfwP/gXcF/4B1BP9+cwT/enAE/3Ns + BP9wagP/b2oD/29sA/90cgP/dHMF/2diAP+2s4zj3drcpoqIhsYAAACPAAAAWgAAADYAAAAdAAAAMg4O + DpDHxMPB2NjOx1VyHf9Teg3/XIQQ/1x2Df9ZaQv/XWsI/2JwB/9pcQb/c3kG/36BBP+ChAf/hocZ/3V2 + Av94eAX/eXgE/4aDA/+ZlAX/m5cF/4yFBf+NhgX/jYUE/4mABP+PgwT/i4AE/4l+BP+FewT/f3QE/390 + BP98cgT/d24E/3JrA/9vagP/b2sD/29sA/9zcwP/bm0D/2FdAP+0sozj3drcpoqIhsYAAACPAAAAWgAA + ADYAAAAdAAAAMg4ODpDJxcTB2dnPx1RvG/9Sdgz/W4EO/1x1C/9ZaQn/W2kH/2BuBf9ocQX/cncG/3t+ + A/+Aggj/hIUY/3JzAv92dgX/eHcE/4iEBP+YlAX/lpIE/4iCBf+KgwX/iIAD/4h/BP+NgQT/h30E/4d+ + BP+BeAT/f3ME/31yBP96cAT/dG0E/3BqA/9uagP/bmsD/3BtA/9xcQP/aWcC/1xYAP+zsIvj3trcpoqI + hsYAAACPAAAAWgAAADYAAAAdAAAAMg4ODpDKx8XB2drQyFNtGf9Rcgv/W34N/1t0Cv9YaAj/WmcH/19s + Bv9mbwX/cXYE/3l8Av9/gQr/goIW/3BxAv91dAT/d3YE/4mFBP+YlAX/kYwF/4Z/Bf+GfwT/g3sE/4h+ + BP+JfgT/hXsD/4Z8BP99dAT/fXIE/3txBP93bgT/cWsD/25pAv9tagL/bWoC/3FvA/9tbAP/ZGID/1dU + AP+xrovk39vcqIqIhscAAACPAAAAWgAAADYAAAAbAAAAMQ4ODo/Kx8XB2NjOxlFpFv9NbQb/V3oJ/1hx + Bv9UZQT/V2QE/1xoA/9kbAH/bnMA/3Z5AP99fwr/fX4S/2xtAP9xcAH/dnUB/4iFAv+VkQL/i4QB/4F7 + Av9/eAH/f3cC/4R7Af+EegH/g3gB/4J4Af94bwH/eW8C/3duAf9yawL/bWgA/2tnAP9rZwD/a2kA/25t + AP9mZQD/YF0A/1JOAP+uq4nj3tvcp4qIhscAAACNAAAAWAAAADUAAAAYAAAALBAPD4zKxsS/0tHHvVZt + Hf5TcA//XHsQ/111Dv9aag3/XWkO/2NtDP9qcQr/c3gL/3p8Cv+Bgxf/foEa/3BxCP91dAv/e3sM/42L + Df+XlA3/ioQN/4R+Df9/eQz/g3wM/4iAC/+GfAz/iH8M/4J5DP99dAz/fXQM/3lzDP91bwv/cm0K/3Ft + Cf9xbQr/cnEK/3FwCv9paAv/ZGIK/1ZSB/+ppofa2NXVoYyKiMYAAACJAAAAUgAAADAAAAAUAAAAJAsL + C4K/vLi/1dHLo8zNwMHS1MbM1NbHztXWx87U1cfO1dXHztXVx8/W1sfO2NfHztjXx87Z18jO19bHzNXU + xcvV08PK1dTDydfVw8nY1sPJ1tTDyNbTw8jV08PJ1tPDydfUw8nW08PK19TEytbUxMrW08PK1tPEy9bT + xMvW1MXL1tPFy9XSw8vU0cPM09HCzNLRwszRz8LM0c7CzMnHu8XGwruwzcjEmYSCgMYAAAB7AAAARgAA + ACgAAAAOAAAAGgAAAFNpaGbH2NTOsuDc2avi3duv4t3br+Pe26/j3tuv49/br+Lf27Dh39uv4d7br+Hd + 26/g29qu3trYrNzY1qnb1tOo2dXSp9jU0afY09Gn2NXRptnU0aba1NGl2dXRptnU0qfZ1NOo2tbUqNvW + 1Kjb1tSp3NbVqd3Y1qnd2dap3dfWqtrW1KrY1NOs19TSrNfT0qzX09Ks19PSrdbRz6vQy8envrq2vTEx + MLgAAABXAAAANQAAAB4AAAAJAAAAEgAAACcAAABnMzMyq09OTbRMS0qzS0tKtExLSrRMS0q0TEtKtExL + SrRLS0q0S0tKtEtLSrRLS0qzS0pJs0pJSbNLSkizSkpJs0pKSLNKSkizSkpIs0tJSLNLSkmyS0pJsktK + SbNLSkmzS0pJs0tKSbNMSkmzTEpJs0xKSbNMSkmzTEpJs0tKSbNLSkmzS0pJs0tKSbNLSkmzS0lJs0tK + SbRNTEu2Hh0dowAAAF4AAAA4AAAAJQAAABMAAAAFAAAACwAAABYAAAAhAAAALQAAADcAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADoAAAA6AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOgAAADsAAAA6AAAAMwAAACsAAAAhAAAAFQAAAAsAAAACAAAABAAAAAkAAAAOAAAAEwAA + ABcAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAYAAAAFwAAABMAAAAOAAAACAAAAAQAAAAAAAAAAQAA + AAIAAAAEAAAABwAAAAkAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACQAAAAcAAAAEAAAAAgAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAoAAAAIAAAAEAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAABAAAAA4AAAAfAAAALQAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAA + ADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAA + ADIAAAApAAAAGQAAAAoAAAAMAAAAJAAAAEQAAABhAAAAawAAAGsAAABrAAAAawAAAGwAAABsAAAAbAAA + AGwAAABsAAAAbAAAAGwAAABsAAAAawAAAGsAAABrAAAAawAAAGsAAABrAAAAawAAAGsAAABrAAAAbAAA + AGwAAABsAAAAaAAAAFcAAAA7AAAAGgAAABcAAAA+ExMSkD07OKo7ODWpODUyqDczMKg1Mi+nNDEupzMw + LaczMC2nMzAtpzQxLqY2MzCnODUypzk2M6c5NzOoOjc0qDs3Nag7ODWoOzg1qDs4Nag7ODWoOzg1qDk3 + NKc4NTKnOTYypzs5Nqg5NzSuCQkJlwAAAFsAAAAuAAAAHAYGBmmCfHamr6adhbevp5GyqqKQraWdjami + mYumn5aKpJyUiaSalImkm5OJqJ+Xia6lnoq0qqOKta2li7WtpYy1rqaNtq6njbawpo22saeOt7Opj7mz + q4+8squPua+ojLWsp4u4rquNt62oiaiek3llYVysAAAAfAAAADoAAAAeEA8PdbClnqGF19nWY+Hn9mng + 5PZs3+L1cOHh9XXi3/V44t31e+La9X/j2PWE5Nf1iefX9ZDr2fWY8Nv1o/Tf9bL35PXB+un11Pzu9eX9 + 8vX2/fn1/v759fX99vXu/PL18P3e9fD9x/bu/bfzy860qIiBfp0AAACHAAAAPQAAAB4ODg1zvbGsrmza + 3uwp09b/MtLR/zTSzf8508r/PdTH/0HXxf9H3MX/UOPI/1rry/9m89D/c/vV/4P/3f+Z/+X/s//s/8f/ + 6v/P/9//yf7R/7z8yP+p/Lz/jfq+/5D9yf+f/8T/ufyk/8Dre//P17a/j4iIowAAAIYAAAA+AAAAHg4O + DXPAtK+xadjZ6yfR0f811tP/O9vV/0Hg1v9H5tf/T+vX/1fx1v9f99f/af3X/3L/1f96+8//f/XF/4Xx + uP+J7ar/humY/4Tmi/+I4oT/jN5//4/YfP+U0Hj/nc12/6HVfv+j4ob/p+SD/8/YvcGTjIumAAAAhgAA + AD4AAAAeDg4Nc8G2srNx4dzrMtzV/z/c0v9C3dD/RNvI/0jcwf9P377/V+O7/1zjtP9h3qn/Zdmd/2nW + kv9s1In/ctOC/37SgP9+y3X/fsJr/4G7Zf+Ft13/i7hY/5G9WP+Vv1r/nL5a/6W8Vf+uv1H/09S0w5SQ + kKgAAACFAAAAPgAAAB4ODg5zw7m1tW/RyewuxLb/PMq4/0PQvP9I0rj/TNCv/1PPqP9az6H/YdCZ/2fS + j/9u1In/c9OB/3bPd/99y3D/jcxw/4XEZP+Ewl//i8Vb/4vDX/+IvmP/h7Rd/4qpUP+PoEL/kpg4/5aQ + K//OyKrFmJWVqwAAAIUAAAA+AAAAHg4ODXPEura2ddTG7DjKs/9H0LX/Udi4/1netf9f4a7/aeWo/3bl + of994Zb/fNmH/3vPeP96x23/d79l/3q+af+Bwm//dbZY/3mrQ/94mzn/dY40/3eFLP94fiT/enoh/395 + IP+EeSD/inod/83FqcabmJisAAAAhQAAAD4AAAAeDg4Nc8W7uLiE4MztUNy6/1zfuP9j37X/Zdyq/2LP + lf9jwoP/arl4/2uxbf9kpWP/YJ1c/16aWP9fmlL/bKNM/3aiO/9tiCb/bH8j/258If91fh//en0e/3l4 + Hf95dRz/fHQd/4B2Hv+GdRr/zcWqx5yamq0AAACFAAAAPgAAAB4ODg5zxr27uYDOtu1DtY//R6mB/0ik + ef9LonP/S5pn/06UYP9aml//Yp5c/2CYVP9jmEv/ZJQ8/2aMK/93kyP/d40g/2l6Hf9ufRz/dX8b/36B + G/9/fxr/eXca/3hyGv96cRr/fXIb/4JxF//MxKrJnZubrwAAAIUAAAA+AAAAHg4ODnPHwL66draa7jiU + av9Bj2T/RJFj/0qWY/9Nk13/U5JV/2SdUf9xo0r/bpk8/2qNLf9mgSH/bH4b/3yNHf90hRv/bHoX/3SB + Fv97gxf/g4YX/4OBF/97dxf/d3EX/3hvF/96bhj/f20U/83FqsmfnJ2wAAAAhQAAAD4AAAAeDg4Oc8jB + wLx4sZHuO5Bd/0SJWP9IiVP/T45R/1aUTP9hl0X/dqM9/3ueMv9wjCT/cIUc/259Fv9wfhb/fY4Y/3WE + Fv9xfhT/fIUU/4CGFP+HiBX/hIEU/3x4E/94cRX/d24V/3htFf98axH/zMWqyqCenrEAAACFAAAAPgAA + AB4ODg5zyMLBvHuvhu5AjU3/SIJH/06GQv9bkj//aKA8/3CeMv96mif/e5Qf/3mLGf96hxb/cH4S/3aD + E/+GlRX/fIkT/3uEEv+DixH/hYkQ/4mKEf+DgRH/fXgQ/3t0Ev95bxP/eGwT/3pqDv/MxarLoZ6fsgAA + AIUAAAA+AAAAHg4ODnPJw8K9fat87kaMP/9XjTz/YJQ1/2qjMv9qmCn/bYkg/4CWHP+FlRr/gYwV/36I + Ev92gBD/gYwR/5CcE/+DjRD/hIwP/4iPEP+Jiw3/iYkO/4N/Dv9+eA7/gHcP/35yEP97bRH/e2sM/83G + qsyhn6CzAAAAhQAAAD4AAAAeDg4Oc8jCw76Dr3PuV5w0/2OcMv9lpCz/ZZAk/2d/Hf91ihr/ipkY/4yV + Gf+DixH/f4gO/3uDDf+LlA//lp4Q/4ePDf+LkQ7/i48O/46MC/+Khgv/gX0L/4F4DP+Ddw3/gXQO/35u + Dv9/bgr/z8mqzKGfoLMAAACFAAAAPgAAAB4ODg5zyMPEvomzbe5apyv/YqYs/1uAIP9kfRv/bYMZ/3yM + Fv+PmBT/jJIW/4OJDf+Bhgr/gIYK/5WaDf+ZnQ3/ipAL/5GVDP+Pjwr/ko0K/4uFCf+CfAj/gnkJ/4N3 + C/+Acwz/fm8L/4FyCP/QyqrNoZ+gswAAAIUAAAA+AAAAHg4ODnPJwsW+ib9r7leoJf9afyD/XHca/2iB + F/9wghT/gIwR/5CXD/+KjxH/hIcJ/4OGCP+FiQj/nJ4K/5mbCv+PkQn/lpYK/5OPCP+Tjgj/ioQH/4N8 + Bv+CeQf/gnYI/31yCf98cAn/g3YG/9DKqc2gnZ+1AAAAhQAAAD4AAAAeDg4Oc8nExr+Fr2TvUYYZ/1t+ + HP9ddxb/aX4S/3GBD/+Ciw3/kJUL/4mMD/+EhgX/g4UG/4qLBv+goQf/mZgH/5WTB/+WlAf/lZAG/5SN + Bv+Kggb/hHwE/4J5Bf9/dQb/enAH/3xxB/+EeAX/z8qozp+dn7UAAACEAAAAPgAAAB4ODg5zy8XHv4Ke + X+9ShhT/XH8Z/15zE/9oeg//cX4N/4GJCv+Okgv/iIoO/4ODA/+CgwX/j44F/6GhBv+XlAX/lpQG/5WR + Bf+XkAb/kYkG/4iABf+EfAP/gXgF/3tyBP92bgX/e3IG/4N6A//Py6fOn52ftQAAAIQAAAA+AAAAHg4O + DnPLxsjAg55d71OFEf9dfxb/XXER/2d3Df9vfAr/gIcI/4yQDP+Ghw3/gIEC/4GBBf+TkQX/oZ8G/5WQ + Bv+XkgX/lI4F/5aOBv+OhQX/hX0E/4N7BP9/dQX/dm8E/3JtBP93cwX/gXsB/87Kp8+fnZ+2AAAAhAAA + AD4AAAAeDg4Oc8zHycCDnFzvU4MN/11+FP9dbw//ZnQM/295Cf9+hQf/i40N/4OEDP9+fgL/gYAE/5eU + Bv+fmwb/k40G/5WPBf+Tigb/lIkG/4uCBf+EewT/gngE/31yBP9zbAP/cGwD/3ZzBP98eAD/ysemz5+d + n7cAAACEAAAAPgAAAB4ODg5zzcnKwYKaWe9TgQr/XX4R/1tsDP9jcgr/bXcH/32CBv+Jiw3/gIEM/3t7 + A/+CgAT/mpYF/5uVBv+Rigb/kYoF/5KHBv+QhAX/iX8E/4J3Bf9/dQT/eXAE/3BrBP9wbAP/dnQD/3Rx + AP/HxKbPoJ6gtwAAAIQAAAA+AAAAHg4ODnPPyszBgpdZ71B8B/9cfA//WmoL/2FvCP9sdQb/fIAE/4eI + Dv99fgz/eHgD/4KABP+blwX/lI8F/46GBf+NhAX/kIQF/4yABP+FewT/f3UE/31yBP91bQT/b2oD/29s + A/90cwP/a2gA/8XBptCgnqC3AAAAhAAAAD4AAAAeDg4Oc9HMzsGBlFbvTnYE/1x5Df9aaQn/X2wG/2py + Bv95fQP/hIUO/3l6C/91dQP/g4AE/5qWBf+OiAX/ioIE/4mABP+LgAT/iH0E/4F3BP9+cgT/eW8E/3Fr + A/9uagP/cG0D/29vAv9jXwD/w8Cm0KGeoLgAAACEAAAAPgAAAB4ODg5z0s7Pwn6RU/FKbgD/WXUH/1Vl + Bf9baAP/Z28B/3V4AP9/gQz/c3QF/3FwAP+DgAH/lZEB/4aAAf+CegH/hHsA/4Z7AP+DeQD/e3EA/3lv + Af9zawH/bGcA/2toAP9ubAD/aGYA/1pXAP/BvqXRop+guAAAAIQAAAA9AAAAGhAPD3HRzM69g5JZ7FNy + DP9hexT/Xm0S/2RvEf9vdg//e38O/4WHHf93ehP/eHgP/4yKEf+XkxH/iIIR/4R9EP+KgRD/ioAR/4d/ + EP+AdxD/fXYQ/3dyD/90cA7/dHEO/3V0D/9sag//X1wM/725o8qjoKG3AAAAgAAAADgAAAARCAgIX7e0 + sL3e3dK13NzOxd7ez8bd3M/G3t3Pxt/ez8bh3s/G4N3Pxd3azMLc2crB3drJv93ayb/c2Mm/3NjIv93Z + yb/d2crB3drKwd3YysHd2cvB3drMwtzYysLa1snD2dbIw9jVycTT0MTA19LMqoqHhbsAAABpAAAAKwAA + AAsAAAAqLy4tj3t5d698eXmte3h4rXt5eK17eXitenl4rXp4eK15d3eseHV2q3d1dap2dHSpdXN0qXZ0 + dKl3dHSodnR1qXd1dap3dXWqeHV2qnh2dqp5dnaqeHV1q3Z0dat2dHSsdnR0rHh2dqxubGqwGhkZiAAA + ADgAAAAaAAAABQAAAA4AAAAdAAAAMAAAADUAAAA1AAAANQAAADUAAAA1AAAANQAAADUAAAA1AAAANQAA + ADUAAAA1AAAANQAAADYAAAA1AAAANQAAADUAAAA1AAAANQAAADUAAAA1AAAANQAAADUAAAA1AAAANQAA + ADQAAAAlAAAAGAAAAAsAAAABAAAAAwAAAAYAAAAKAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAA + AAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAA + AAwAAAAMAAAADAAAAAoAAAAGAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAABgAAAAwAAAAAQAgAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAcAAAAaAAAAMQAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAA + ADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADgAAAAnAAAADwAAABUAAABKDAsKhg8N + DI8ODAuODQsKjg0LCo4MCwqODAsKjg0LCo4NCwuODQwLjg4MC44ODAyODgwMjg0MDI4NDAyODQwMjg0M + C44MDAuODg0NjwkJCY4AAABhAAAAKgAAACYyMC6KmpSMnKGclZ2alY6blZGKmZKOhpeQi4SXkYqEl5WO + iJeclZCYoJmTmJ+ak5mgm5SaoJ2UmqKelZumn5mbq5+bm6ebl5mkmpeZpZyYlo+Hf5YgHx6XAAAAQgAA + AC9kWVWRm9nZy1vg5fRi3t/0Zt7c9Gze2fNw3tXzdeHT833l0/OH7NbzlPPb86f55PTB/O702v/y9Oj/ + 8/Tv//P04f/u9Nj/6/Pj/8706Puu8svNtKc9OjuaAAAASgAAAC5pXVqVid3d4CPS1P8x1ND/ONjP/z/d + z/9I5c//VO7S/2L41v9y/9j/gP/Y/5T91P+k+sr/qPa3/6TyqP+b757/jOmb/5Ppo/+j8qH/seyH/87T + ub1APD6aAAAASgAAAC1qXluWjuHd4C/a1P8/3NL/RN7O/0rgyP9U5MP/XOe9/2Tlsf9q4KT/btuU/3XY + if99037/fMpv/4LDaP+KwGH/ksBd/5m/Wv+hwFv/rMhg/9HSub5BPkCcAAAASQAAAC1rYF6XkNnR4S/H + t/9Bzrn/SdO3/1DTrv9c1qb/Z9ec/27Wjv901IH/d890/4LLcP+IyG3/gcBc/4a7VP+EtFb/g6pR/4ie + RP+NlDb/lo4t/87HrsFDQkSdAAAASQAAAC1rYF+YmuDS4kXXuf9Y3rv/YuO2/2XepP9v15T/d82F/3K+ + c/9ts2b/aqxe/3SyXv91qUv/cZQy/3GHKv92gCT/eHke/3l1HP9/dRz/iXgf/87Hr8NFREaeAAAASQAA + AC1rYmKZn9vI40a+l/9OtIn/Ua5//0+hbf9Wm2L/YZ5e/2CYVP9glEj/Y441/3aWKP9wgx7/a3oc/3V+ + G/9+gBr/enga/3hyGv97cRr/hHQc/87HsMVFRUafAAAASQAAACxtZmaalsWu5DeQZP9CjGD/SZJf/06R + WP9dmFD/cqJI/26VNv9phSP/bX4a/3qLG/9vfhj/c38W/36EF/+FhRf/fXkW/3dwF/94bhb/gHAX/8/I + scZHRkifAAAASQAAACxtZ2ibmcKl5TyLUv9Hg0z/Uo1I/2GaQ/9ynjf/fJsp/3WKHP9ygRb/cn8U/3+P + Fv91ghP/fYcT/4WJEv+HhhP/fnoS/3lxE/93bRP/fG0U/8/IssdHRkifAAAASQAAACxtZ2mbnL+b5UWK + Pv9YjDr/Zp40/2uXKv92kR//g5Ua/4GMFf94gxH/fYkR/4yYE/+BihD/h44Q/4mLDv+GhA7/f3kO/391 + EP97bhD/fW0R/9DJsslHR0mgAAAASQAAACxsZ2ucosKS5lidMP9joS3/ZI8k/2mBG/+Bkhf/jZYY/4OK + EP98hAz/ipIO/5ObD/+Ijw3/jZEN/46LC/+GgQr/gXkL/4N3Df9/cAz/gXEO/9HMsslHR0mgAAAASQAA + ACxtZ2ycpsqN5linJv9bgyD/Y3sZ/3GEFv+JkxL/jpMT/4OIC/+AhQn/lJgL/5aaC/+Pkwv/k5EJ/5GM + Cf+GgAj/gnkI/4J2Cv99cAn/g3UL/9LMsspHRkmhAAAASAAAACxtaG2do8WJ5lGJGf9beBn/ZnwT/3SD + D/+KkQz/jI8O/4SFBv+Ehgb/m5wH/5iYB/+VlAf/lZEH/5KLBv+GfwX/gnkF/390B/96bwb/hXkJ/9HM + sMtHRkmhAAAASAAAACxuaW6dobWE51GDEf9cdxX/ZngQ/3SADP+Ijgr/iowN/4GCBP+HhwX/np0F/5eU + Bv+Wkwb/lo8G/4+HBv+FfQT/gXkE/3lwBP92bwT/hHsH/9HNr8xGRkmhAAAASAAAACxuam6dorWD51KC + Df9cdhP/ZHQN/3J9Cf+Hiwn/h4gN/35/A/+KiQX/n5wG/5WQBv+VjgX/lYsG/4uCBf+DewT/f3UE/3Nt + A/9zbwP/gHsG/87Lr8xGRkmiAAAASAAAACxva2+dorSB51J/Cf9cdA//YXAL/3F6B/+FiAn/hIQN/3t7 + A/+OiwT/nJgG/5KLBv+SiQb/kYYF/4h+BP+BdwX/e3EE/3BrA/9ybwL/eHYE/8vIr81HRkmiAAAASAAA + ACxwbXGeorGB51B6BP9bcg3/X2wI/293Bv+ChQj/f4AN/3h4A/+QjAT/lpEF/42FBf+OgwX/jIEE/4R5 + BP9+cwT/dm0E/29qA/9xbwL/b2wD/8jFr81IR0miAAAASAAAACxyb3Keoa5+6UtwAP9YbQb/WmcD/2px + AP99fwT/eHkJ/3NyAP+OiwH/jogB/4R8AP+HfQD/hXsA/31yAP94bgD/b2kA/2xoAP9tawD/Yl8A/8bD + rs9IR0mjAAAASAAAACl0cXScprGE41Z1D/9idhb/ZG8U/3R6Ef+Ehhj/fn8Z/3x8Ev+WkxP/jokT/4eA + E/+NgxP/ioET/4N6E/99dhL/dnIR/3d0Ef9zchH/ZmMP/sbCsMlLSkuiAAAARAAAABhKSEeN09HJw9DR + w8rR0MPK0dDDy9PRw8rU0cPK0c7Bx8/MvsXQzb3E0My9xM/MvcTQzL3F0c2+xdDMvsbQzb/Gz8y/x83K + vcjMyb3Jyse8xsK+uLwtLSyQAAAALgAAAAgAAAAyJCMjbSwrLHErKitwKyorcCoqK3AqKStwKSkqcCko + Km8oKCpvKSgqbykoKm8pKCpvKSgqbykpKm8qKSpvKikqcCkoKnApKCpwKyoscR0cHG8AAAA6AAAAFAAA + AAIAAAAFAAAACAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAA + AAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAsAAAAKAAAABAAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA + AEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA + AEEAAABBAAAAQSgAAAAUAAAAKAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAJgAA + AEMAAABIAAAARwAAAEcAAABHAAAARwAAAEcAAABHAAAARwAAAEcAAABHAAAARwAAAEcAAABHAAAARwAA + AEcAAAA0AAAAFQAAACIWFRN0PzUxlDwwLJI4LSqQNiwokDUqJ481KiiPOC4rkDowLpA5MS6RODEvkTcx + L5E1Mi+RNjIvkTQwLpA0MDCQNjIylRAPDoQAAAA5AAAAPXd1cJyfzsy9k8rIxZLGwsOTxL7BlMG6wZjD + usGhyr/BqtHEwrTWycPC2c/D0dzTxN7e2MTg3tnE2NvRwtvbwcPS0bOsX1xYnAAAAFYAAAA9jI+Mqk/h + 5v8w2Nn/O9zW/0Tg1f9O6NT/XPLX/2382v+A/9//nP/j/7b/3v/B/8//vf3D/6f5vf+n+8L/vP+m/9Pv + qOh1b3CeAAAAVwAAADyNkI2tUuHd+jbZ0v9B3c//SeDJ/1XmxP9g6r3/auix/3Hhof973ZH/gNZ//3/N + b/+Gx2f/jsVj/5jEYv+gyF//xdeT5nh0daIAAABWAAAAPI6Rjq5X1cf6Pc66/0zXuv9V2a//ZNqk/27Y + lP9z04L/dsxy/4HJcP+CwmX/gbdR/4KtTv+Bo0n/hpc8/4uJJ/+4rm3nfHp7pQAAAFYAAAA8kZOQsGvg + xvpT17H/X9ep/2DMkv9rwYD/bbVw/2eoYf9lolT/c6hL/3CVM/9vgyX/dX4g/3h4HP95chv/fG8T/7Gj + aOh/fX6nAAAAVgAAADySlJCyYruZ+0Gccf9Jmmv/TJJf/1yYV/9om03/ZI86/2iGJf94jB3/bXsY/3R/ + GP+Agxn/fXoY/3dxGf93axD/rqFm6YB/gKgAAABVAAAAPJKUj7Nfpnv7QIVS/02MT/9cl0n/c6A7/3eV + Kv9wgxr/cH4V/3uLF/90gBT/f4YU/4eHFP9/exP/eHAU/3NnC/+rnmPqgoCCqQAAAFUAAAA8kpOPs2aj + Z/tPiTz/Ypo2/2yXK/98lR//gpAY/3uFEv97hxH/iJUS/4GKEf+IjA//iIcO/4B7Dv99dBD/dmgH/6uf + YeqDgYOqAAAAVQAAADyTk4+0da9X+1+gLP9kjiP/bYMa/4mVF/+JkBT/foUM/4mQDv+SmQ7/ipAN/4+O + DP+KhQr/gXkL/4N2DP96awP/rqNg6oOBg6sAAABVAAAAPJSVj7V2uE37WIcd/2J6F/91hhP/jZUR/4iM + Dv+BhQf/k5YJ/5eZCv+Tkwn/lI8I/4qDB/+Cegf/gXUJ/3lsAP+xp17rgoCDrAAAAFUAAAA8lJSPtXCd + QfxYexX/ZHkS/3eDDf+MkQz/hogJ/4SEBf+amgb/mZcG/5aTBv+Vjgb/iYEF/4J6BP97cQX/d20A/7Gq + XOuBgIOtAAAAVQAAADyVlJC1cZg8/Fl7Ef9jdA7/dX8J/4qNDP+Cgwj/hIQE/52aBv+XkgX/lY8F/5KJ + Bv+GfgT/gHYE/3RtBP9zbgD/r6pa7IGAg64AAABVAAAAPJaVkLZxlTj8WXkM/2BvC/9zfAf/h4oM/35/ + B/+GhAP/nJcG/5OMBv+TiQb/jYMF/4N5Bf98cgT/cGsD/3BtAP+no1nsgoCDrgAAAFUAAAA8l5aStm+P + NPxXdgj/XmsI/3F4Bf+EhQv/eXkH/4eFBP+XkgX/jIQF/42DBf+IfQT/f3QE/3ZuBP9vawP/a2oA/56a + WOyCgIOuAAAAVQAAADyZmJS4ZYIm/01qAP9TYAD/Z24A/3h6AP9tbQD/goAA/4qDAP9+dgD/gngA/3tx + AP90aQD/amMA/2dlAP9dWwD/kY5P8ISDha8AAABVAAAAM5eVkbGyvY7jo7B16aasd+mwsnXouLd66LCv + dOa8uXPlvLdz5beyc+W7tHPmt7F05rOudOavq3Pmrqty56akcei/u5vWe3l5rQAAAEgAAAASKikoaG5r + bpFtam6PbGptj2tpbY9pZ2yOaGZqjGZkaYtmZGmLZ2Vqi2dlaoxoZmuMaWdrjGlna41nZmqNaWdrjmVj + ZJAdHBtrAAAAHwAAAAMAAAAJAAAAFQAAABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAABYAAAAWAAAAFgAA + ABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAAA4AAAAGAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA + AEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEoAAAAEAAAACAA + AAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAEAAAABXAAAAVQAAAFUAAABVAAAAVQAA + AFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFcAAABMAAAAHwQEBD5WVFCVc3JuoWpqZp5nZ2KdZmRgnGpo + Y51wbmmdcXBrnnRybZ95dHGffnRzn3txb558dXCdTUpFmAABAVQXDg1Qj7m4w1jj5vRe3tv0ZuHY9G/n + 1vN/8tr0k/zi9LH/6vTP/+n02//i9M//3fTK/9n03/+58qenk68DAQRlGQ8OToS7uc8u29f/OtvP/0Xg + yf9U6sX/Ze69/3Lrrv+C5Z7/idyI/4rUd/+Mzm//ls5v/6/YdP+lp5O7BAIGYhkPEE+KubLQP9bB/1Db + vf9b3K3/a9mb/3HQhP9yxnD/fcRq/322VP9+p0b/gJtA/4WOMf+ZkDP/pJ+MvQUFCGMYEBJPkbqu0U7K + pP9WwJL/WbN7/2asa/9moVn/ZZdE/3OYNP9tgiH/dX0c/3p4Gf93bxf/insl/6SejcAFBgljGRMWUI6r + m9M+kWL/R4tX/1aUT/9vnUH/bo0q/22AGf93hhf/c34V/4KGFf+AfRb/dm4U/4V3If+ln47BBgYJYxkU + GFCQqJHUS41G/12UOv9tmC7/gJYe/3yIFP96hRH/hJAS/4KKEP+Jig//gX0P/3txD/+Edhz/paCPwwYG + CWMYFBlQlqyJ1F6jMP9jjSL/c4cY/4yVFf+BiA7/iI8N/5GYDf+NkQz/jYkK/4J7Cv+BdAr/iXoX/6ei + j8QGBgljGBQaUJeuhdVYjx//YngV/3uIEP+Nkg7/g4UI/5OVB/+YmQj/lZII/4+IBv+DegX/fXIF/4p+ + E/+no47FBgYJYxkWG1CVo4HVV4IV/2J1EP96hAr/iowL/4KCBP+YlgX/mJUG/5aQBf+MhAX/gngE/3Zu + A/+HgBH/pqONxgYGCWMZFhxQlqJ/1liAD/9gcAz/d38I/4aHC/+AgAT/mZUG/5SNBv+SiAb/iH0E/31z + BP9wawH/gH4P/6OhjMYGBgpjGhcdUJagftdTdwb/W2oF/3J4Av99fgj/fXsA/5OOAf+KggH/in4B/4B1 + AP91bAD/bWkA/3RyCf+gnYzIBwcKZBoYHVGhqIrWZoIc/216Hf+Bhhv/iYoh/42LGv+blhv/koob/5SK + G/+LgRv/gXsa/357F/98eiL/paKUxwcHCmMGBgcxenl0oJydkbaZmI20mpmNtZmXjLOYloiwmJaIsJiV + iLCZlomxmZWKsZiVirKWlImzmZeNtGpoZp0BAQE9AAAABQAAAB4AAAAqAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACsAAAAjAAAACgAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEE= + + + \ No newline at end of file diff --git a/OnTopReplica/StartupOptions/Factory.cs b/OnTopReplica/StartupOptions/Factory.cs new file mode 100644 index 0000000..8602911 --- /dev/null +++ b/OnTopReplica/StartupOptions/Factory.cs @@ -0,0 +1,118 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Drawing; +using System.ComponentModel; +using OnTopReplica.Properties; +using OnTopReplica.WindowSeekers; + +namespace OnTopReplica.StartupOptions { + class Factory { + + static Factory() { + //Custom type conversion attributes + TypeDescriptor.AddAttributes(typeof(Size), new TypeConverterAttribute(typeof(SizeConverter))); + TypeDescriptor.AddAttributes(typeof(ScreenPosition), new TypeConverterAttribute(typeof(ScreenPositionConverter))); + TypeDescriptor.AddAttributes(typeof(Rectangle), new TypeConverterAttribute(typeof(RectangleConverter))); + } + + public static Options CreateOptions(string[] args) { + var options = new Options(); + + LoadSettings(options); + + ParseCommandLine(args, options); + + return options; + } + + private static void LoadSettings(Options options) { + if (Settings.Default.RestoreSizeAndPosition) { + options.StartLocation = Settings.Default.RestoreLastPosition; + options.StartSize = Settings.Default.RestoreLastSize; + } + + if (Settings.Default.RestoreLastWindow) { + var handle = Settings.Default.RestoreLastWindowHwnd; + var title = Settings.Default.RestoreLastWindowTitle; + var className = Settings.Default.RestoreLastWindowClass; + + var seeker = new RestoreWindowSeeker(new IntPtr(handle), title, className); + seeker.SkipNotVisibleWindows = true; + seeker.Refresh(); + var resultHandle = seeker.Windows.FirstOrDefault(); + + if (resultHandle != null) { + //Load window + options.WindowId = resultHandle.Handle; + } +#if DEBUG + else { + Console.WriteLine("Couldn't find window to restore."); + } +#endif + } + } + + private static void ParseCommandLine(string[] args, Options options) { + var cmdOptions = new NDesk.Options.OptionSet() + .Add("windowId=", "Window handle ({HWND}) to be cloned.", id => { + options.WindowId = new IntPtr(id); + }) + .Add("windowTitle=", "{TITLE} of the window to be cloned.", s => { + options.WindowTitle = s; + }) + .Add("windowClass=", "{CLASS} of the window to be cloned.", s => { + options.WindowClass = s; + }) + .Add("v|visible", "If set, only clones windows that are visible.", s => { + options.MustBeVisible = true; + }) + .Add("size=", "Target {SIZE} of the cloned thumbnail.", s => { + options.StartSize = s; + }) + .Add("position=", "Target {COORDINATES} of the OnTopReplica window.", s => { + options.StartLocation = new Point(s.Width, s.Height); + options.StartScreenPosition = null; + }) + .Add("screenPosition=", "Resolution independent window position on current screen, with locking (TR|TL|C|BR|BL).", pos => { + options.StartLocation = null; + options.StartScreenPosition = pos; + }) + .Add("r|region=", "Region {BOUNDS} of the original window.", region => { + options.Region = region; + }) + .Add("o|opacity=", "Opacity of the window (0-255).", opacity => { + options.Opacity = opacity; + }) + .Add("clickForwarding", "Enables click forwarding.", s => { + options.EnableClickForwarding = true; + }) + .Add("chromeOff", "Disables the window's chrome (border).", s => { + options.DisableChrome = true; + }) + .Add("fs|fullscreen", "Starts up in fullscreen mode.", s => { + options.Fullscreen = true; + }) + .Add("h|help|?", "Show command line help.", s => { + options.Status = CliStatus.Information; + }); + + List values; + try { + values = cmdOptions.Parse(args); + } + catch (NDesk.Options.OptionException ex) { + options.DebugMessageWriter.WriteLine(ex.Message); + options.DebugMessageWriter.WriteLine("Try 'OnTopReplica /help' for more information."); + options.Status = CliStatus.Error; + } + + if (options.Status == CliStatus.Information) { + cmdOptions.WriteOptionDescriptions(options.DebugMessageWriter); + } + } + + } +} diff --git a/OnTopReplica/StartupOptions/Options.cs b/OnTopReplica/StartupOptions/Options.cs new file mode 100644 index 0000000..1980a42 --- /dev/null +++ b/OnTopReplica/StartupOptions/Options.cs @@ -0,0 +1,154 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Drawing; +using System.IO; +using OnTopReplica.WindowSeekers; + +namespace OnTopReplica.StartupOptions { + + /// + /// Represents startup options that can be set via CLI scripting (or other stuff). + /// + class Options { + + public Options() { + Status = CliStatus.Ok; + Opacity = 255; + DisableChrome = false; + MustBeVisible = false; + Fullscreen = false; + } + + #region Position and size + + public Point? StartLocation { get; set; } + + public ScreenPosition? StartScreenPosition { get; set; } + + public Size? StartSize { get; set; } + + #endregion + + #region Window cloning + + public IntPtr? WindowId { get; set; } + + public string WindowTitle { get; set; } + + public string WindowClass { get; set; } + + public Rectangle? Region { get; set; } + + public bool MustBeVisible { get; set; } + + #endregion + + #region Options + + public bool EnableClickForwarding { get; set; } + + public byte Opacity { get; set; } + + public bool DisableChrome { get; set; } + + public bool Fullscreen { get; set; } + + #endregion + + #region Debug info + + StringBuilder _sb = new StringBuilder(); + TextWriter _sbWriter; + + public CliStatus Status { get; set; } + + /// + /// Gets a debug message writer. + /// + public TextWriter DebugMessageWriter { + get { + if (_sbWriter == null) { + _sbWriter = new StringWriter(_sb); + } + return _sbWriter; + } + } + + /// + /// Gets the debug message. + /// + public string DebugMessage { + get { + if(_sbWriter != null) + _sbWriter.Flush(); + return _sb.ToString(); + } + } + + #endregion + + #region Application + + public void Apply(MainForm form) { + //GUI + form.IsChromeVisible = !DisableChrome; + form.Opacity = (double)Opacity / 255.0; + + //Thumbnail cloning + WindowHandle handle = null; + if (WindowId.HasValue) { + handle = WindowHandle.FromHandle(WindowId.Value); + } + else if (WindowTitle != null) { + var seeker = new ByTitleWindowSeeker(WindowTitle) { + OwnerHandle = form.Handle, + SkipNotVisibleWindows = MustBeVisible + }; + seeker.Refresh(); + + handle = seeker.Windows.FirstOrDefault(); + } + else if (WindowClass != null) { + var seeker = new ByClassWindowSeeker(WindowClass) { + OwnerHandle = form.Handle, + SkipNotVisibleWindows = MustBeVisible + }; + seeker.Refresh(); + + handle = seeker.Windows.FirstOrDefault(); + } + if (handle != null) { + form.SetThumbnail(handle, Region); + } + + //Size + if (StartSize.HasValue) { + form.ClientSize = StartSize.Value; + } + + //Position + if (StartLocation.HasValue) { + form.Location = StartLocation.Value; + } + else if (StartScreenPosition.HasValue) { + form.PositionLock = StartScreenPosition.Value; + } + + //Other features + if (EnableClickForwarding) { + form.ClickForwardingEnabled = true; + } + + //Fullscreen + if (Fullscreen) { + form.IsFullscreen = true; + } + } + + #endregion + + } + +} diff --git a/OnTopReplica/StartupOptions/RectangleConverter.cs b/OnTopReplica/StartupOptions/RectangleConverter.cs new file mode 100644 index 0000000..00c8608 --- /dev/null +++ b/OnTopReplica/StartupOptions/RectangleConverter.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel; +using System.Drawing; +using System.Text.RegularExpressions; + +namespace OnTopReplica.StartupOptions { + class RectangleConverter : TypeConverter { + + public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { + if (value != null) { + var sVal = value.ToString(); + return Convert(sVal); + } + else + return base.ConvertFrom(context, culture, value); + } + + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { + return sourceType == typeof(string); + } + + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { + return destinationType == typeof(Rectangle); + } + + public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { + if (value != null && destinationType == typeof(Rectangle)) { + var sVal = value.ToString(); + return Convert(sVal); + } + else + return base.ConvertTo(context, culture, value, destinationType); + } + + static Regex _sizeRegex = new Regex("^\\D*(?\\d*)\\s*,\\s*(?\\d*)\\s*,\\s*(?\\d*)\\s*,\\s*(?\\d*)\\D*$", + RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.Singleline); + + private Rectangle Convert(string s) { + var match = _sizeRegex.Match(s); + + var x = match.Groups["x"]; + var y = match.Groups["y"]; + var width = match.Groups["width"]; + var height = match.Groups["height"]; + + if (match.Success && x.Success && y.Success && width.Success && height.Success) { + var xVal = int.Parse(x.Value); + var yVal = int.Parse(y.Value); + var widthVal = int.Parse(width.Value); + var heightVal = int.Parse(height.Value); + + return new Rectangle(xVal, yVal, widthVal, heightVal); + } + else + throw new ArgumentException("Cannot convert '" + s + "' to rectangle."); + } + + } +} diff --git a/OnTopReplica/StartupOptions/ScreenPositionConverter.cs b/OnTopReplica/StartupOptions/ScreenPositionConverter.cs new file mode 100644 index 0000000..18ca1a5 --- /dev/null +++ b/OnTopReplica/StartupOptions/ScreenPositionConverter.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel; + +namespace OnTopReplica.StartupOptions { + class ScreenPositionConverter : TypeConverter { + + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { + if (sourceType == typeof(string)) + return true; + + return base.CanConvertFrom(context, sourceType); + } + + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { + if (destinationType == typeof(ScreenPosition)) + return true; + + return base.CanConvertTo(context, destinationType); + } + + public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { + var sValue = value.ToString(); + + switch (sValue) { + case "TL": + return ScreenPosition.TopLeft; + case "TR": + return ScreenPosition.TopRight; + case "BL": + return ScreenPosition.BottomLeft; + case "BR": + return ScreenPosition.BottomRight; + case "C": + return ScreenPosition.Center; + default: + throw new ArgumentException("Invalid screen position value '" + sValue + "'."); + } + } + + public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { + if (destinationType == typeof(ScreenPosition)) + return ConvertFrom(context, culture, value); + + return base.ConvertTo(context, culture, value, destinationType); + } + + } +} diff --git a/OnTopReplica/StartupOptions/SizeConverter.cs b/OnTopReplica/StartupOptions/SizeConverter.cs new file mode 100644 index 0000000..9dd018e --- /dev/null +++ b/OnTopReplica/StartupOptions/SizeConverter.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel; +using System.Drawing; +using System.Text.RegularExpressions; + +namespace OnTopReplica.StartupOptions { + + class SizeConverter : TypeConverter { + + public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { + if (value != null) { + var sVal = value.ToString(); + return StringToSize(sVal); + } + else + return base.ConvertFrom(context, culture, value); + } + + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { + return (sourceType == typeof(string) || sourceType == typeof(Size)); + } + + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { + return (destinationType == typeof(Size) || destinationType == typeof(string)); + } + + public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { + if (value == null) + return base.ConvertTo(context, culture, value, destinationType); + + if (destinationType == typeof(Size)) { + var sVal = value.ToString(); + return StringToSize(sVal); + } + else if (destinationType == typeof(string)) { + if (value is Size) { + Size sValue = (Size)value; + return string.Format("{0}, {1}", sValue.Width, sValue.Height); + } + + return value.ToString(); + } + else + return base.ConvertTo(context, culture, value, destinationType); + } + + static Regex _sizeRegex = new Regex("^\\D*(?\\d*)\\s*,\\s*(?\\d*)\\D*$", + RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.Singleline); + + private Size StringToSize(string s) { + var match = _sizeRegex.Match(s); + + var x = match.Groups["x"]; + var y = match.Groups["y"]; + + if (!match.Success || !x.Success || !y.Success) + throw new ArgumentException("Cannot convert '" + s + "' to coordinates pair."); + + var xVal = Int32.Parse(x.Value); + var yVal = Int32.Parse(y.Value); + + return new Size(xVal, yVal); + } + + } + +} diff --git a/OnTopReplica/StoredRegion.cs b/OnTopReplica/StoredRegion.cs new file mode 100644 index 0000000..f8337a1 --- /dev/null +++ b/OnTopReplica/StoredRegion.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.Drawing; + +namespace OnTopReplica { + + [Serializable] + public class StoredRegion : IXmlSerializable { + + public StoredRegion() { + } + + public StoredRegion(Rectangle r, string n) { + Bounds = r; + Name = n; + } + + public Rectangle Bounds { + get; + set; + } + + public string Name { + get; + set; + } + + public override string ToString() { + return Name; + } + + + #region IXmlSerializable Members + + public System.Xml.Schema.XmlSchema GetSchema() { + return null; + } + + public void ReadXml(System.Xml.XmlReader reader) { + if (reader.MoveToAttribute("name")) + Name = reader.Value; + else + throw new Exception(); + + reader.Read(); + + XmlSerializer x = new XmlSerializer(typeof(Rectangle)); + Bounds = (Rectangle)x.Deserialize(reader); + } + + public void WriteXml(System.Xml.XmlWriter writer) { + writer.WriteAttributeString("name", Name); + + XmlSerializer x = new XmlSerializer(typeof(Rectangle)); + x.Serialize(writer, Bounds); + } + + #endregion + } + +} diff --git a/OnTopReplica/StoredRegionArray.cs b/OnTopReplica/StoredRegionArray.cs new file mode 100644 index 0000000..1a948c6 --- /dev/null +++ b/OnTopReplica/StoredRegionArray.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Collections; +using System.Xml.Serialization; + +namespace OnTopReplica { + + public class StoredRegionArray : ArrayList, IXmlSerializable { + + #region IXmlSerializable Members + + public System.Xml.Schema.XmlSchema GetSchema() { + return null; + } + + public void ReadXml(System.Xml.XmlReader reader) { + this.Clear(); + XmlSerializer x = new XmlSerializer(typeof(StoredRegion)); + while (reader.ReadToFollowing("StoredRegion")) { + object o = x.Deserialize(reader); + + if (o is StoredRegion) + this.Add(o); + } + } + + public void WriteXml(System.Xml.XmlWriter writer) { + XmlSerializer x = new XmlSerializer(typeof(StoredRegion)); + foreach (StoredRegion sr in this) { + x.Serialize(writer, sr); + } + } + + #endregion + + } + +} diff --git a/OnTopReplica/StoredRegionComparer.cs b/OnTopReplica/StoredRegionComparer.cs new file mode 100644 index 0000000..cfc9438 --- /dev/null +++ b/OnTopReplica/StoredRegionComparer.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Collections; + +namespace OnTopReplica { + + /// + /// Compares two StoredRegions based on their name. + /// + class StoredRegionComparer : IComparer { + + #region IComparer Members + + public int Compare(object x, object y) { + StoredRegion a = x as StoredRegion; + StoredRegion b = y as StoredRegion; + + if (a == null || b == null) + return -1; //this is wrong, but anyway + + return a.Name.CompareTo(b.Name); + } + + #endregion + + } +} diff --git a/OnTopReplica/Strings.cs.resx b/OnTopReplica/Strings.cs.resx new file mode 100644 index 0000000..2360dd2 --- /dev/null +++ b/OnTopReplica/Strings.cs.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Vytvořil: % + Link % is replaced by string AboutAuthorContent. + + + Přerušit aktualizaci. + + + Zobrazit podrobnosti o aplikaci OnTopReplica. + + + Resetovat nastavení OnTopReplica. + + + Aktualizovat OnTopReplica. + + + Rádi byste přispěli k vývoji projektu? Jste vřele vítáni při spolupráci na stávajících nebo nových překladech, případně si můžete stáhnout % ze serveru CodePlex. + + + zdrojové kódy + + + OnTopReplica je založena na knihovně WindowsFormsAero a několika dalších knihovnách a zdrojích. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Více informací + + + Spolupráce + + + Zásluhy + + + Licence + + + Aktualizace + + + Aplikace je vydána pod % licencí, která splňuje požadavky "open-source" definice dle OSI. + + + Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému. + + + O programu OnTopReplica + + + Překlady: % + {0} translators (do not end with period) + + + Aktualizuj! + + + Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. + + + Verze: % + + + Resetovat nastavení okna? + + + &Resetovat +Všechna nastavení budou ztracena. + + + Operace "Resetovat okno" je vhodná k inicializaci všech nastavení pokud jste například ztratili kontrolu nad oknem nebo jej přesunuli mimo viditelnou plochu obrazovky. + + + Resetovat + + + Resetovat nastavení? + + + Operace "Resetovat nastavení" smaže veškerá uživatelská nastavení aplikace OnTopReplica a vrátí nastavení do stejného stavu jako po instalaci (všechny uložené informace, jako například uložené výřezy oken, budou ztraceny). + + + Resetovat nastavení + + + &Storno + & marks the ALT+[] shortcut + + + Označte výřez pomocí myši. + + + Podrobnosti + + + Podrobnosti k Windows Aero + + + Windows Aero je k dispozici pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce 'Desktop Composition' není povolena. + + + Pro pokračování je nutné povolit funkci "Desktop Composition" výběrem tématu 'Windows Aero' v nastavení vzhledu Windows. + +Uvedené lze provést například kliknutním pravým tlačítkem myši na plochu a zvolením akce "Přizpůsobit". + + + Podrobnosti k chybě + + + Chyba: + + + Zvolené okno bylo zavřeno nebo již není platné z jiných důvodů. + + + Chyba + + + Funkce 'Desktop Composition' není ve vašem systému podporována. +Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce Desktop Composition není podporována + + + Náhled nebyl nahrán. + + + Nelze vytvořit náhled. + + + Nelze vložit okno. + + + Kontrola aktualizací se nezdařila. + + + Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte <a href="http://ontopreplica.codeplex.com">domácí stránku aplikace OnTopReplica</a>). + + + Aplikaci OnTopReplica se nepodařilo zjistit, zda existuje nová verze. Zkontrolujte, zda jste připojeni k síti Internet. Pokud ano, je možné, že webové stránky projektu jsou dočasně mimo provoz. + + + Režim + + + Vždy na vrchu + + + Nastaví aplikaci OnTopReplica, aby zůstávala vždy na vrchu. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Standardní + + + Aplikace OnTopReplica se bude chovat jako běžné okno. Jiná okna mohou překrýt okno aplikace. + + + Aplikace OnTopReplica přes celou obrazovku + + + Zrušit + + + Povolit seskupení + + + Výběrem více položek aktivujete seskupení + + + Seskupení je aktivní + + + Seskupení + + + Okna + Column Header of list, simply refers to available windows to be cloned + + + Domácí stránka: www.codeplex.com/ontopreplica. + + + Přejete si povolit "přeposílání kliknutí"? + + + V tomto režimu aplikace OnTopReplica přeposílá kliknutí levého tlačítka myši do zdrojového okna (je tedy možné provádět základní ovládání zdrojového okna bez nutnosti jej aktivovat). + +Ukončit režim "přeposíání kliknutí" je možné opětovným vyvolání položky v menu. + + + Přeposílání kliknutí + + + Povolit "Proklikávání" v celoobrazovkovém režimu? + + + "Proklikávání" funguje pouze pokud je povoleno v menu a okno má nastavenou průhlednost. + + + V tomto režimu se bude okno roztažené přes celou obrazovku chovat jako poloprůhledná vrstva, přes kterou bude možné "proklikávat" na podložená okna. + +K návratu do standardního režimu je možné přejít kdykoli dvojklikem na ikonu v oznamovací oblasti (traye). + + + Ne. +Režim "Proklikávání" je možné zvolit později v menu + + + Používat "Proklikávání" + + + Režim "Proklikávání" + + + Aplikace OnTopReplica byla aktualizována. + + + Pro použití aktualizací je potřeba aplikaci OnTopReplica restartovat. + + + Aktualizace proběhla úspěšně + + + OnTopReplica je aktuální. + + + Žádná aktualizace není k dispozici. + + + Jazyk + + + O aplikaci... + + + Skryje hlavní okno a zobrazí informace "O aplikaci". + + + Okraj + + + Přepínač, který definuje, zda má aplikace OnTopReplica viditelný okraj okna. + + + Přeposílání kliknutí + + + Zapne "přeposílání kliknutí" do zdrojového okna. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Zavřít + + + Ukončí aplikaci OnTopReplica. + + + 2:1 Dvojnásobná + + + Celá obrazovka + + + 1:2 Poloviční + + + 1:1 Jako zdroj + + + 1:4 Čtvrtinová + + + Seskupení + + + OnTopReplica bude automaticky přepínat mezi okny z uživatelsky definované skupiny tak, že zobrazeno bude vždy to naposledy deaktivované okno. + + + 100% (neprůhledné) + + + Nastaví aplikaci OnTopReplica jako neprůhlednou. + + + 25% + + + Nastaví průhlednost na 25%. + + + 50% + + + Nastaví průhlednost na 50%. + + + 75% + + + Nastaví průhlednost na 75%. + + + Průhlednost + + + Otevřít + + + Zobrazí aplikaci OnTopReplica. + + + Dolní levý roh + + + Dolní pravý roh + + + Uprostřed + + + Vypnuto + + + Umístění + + + Automatická pozice aplikace OnTopReplica vzhledem k obrazovce. + + + Horní levý roh + + + Horní pravý rok + + + Opustit celoobrazovkový režim + + + Ukládat pozici a velikost okna + + + Přepínač, který definuje, zda si má aplikace OnTopReplica ukládat poslední pozici a velikost okna a obnovovat tyto údaje po restartování aplikace. + + + Minimalizovat do traye + + + Minimalizuje aplikaci OnTopReplica jako ikonu v systémové oblasti. + + + Vybrat výřez... + + + Přepne do režimu "výřezu", který umožní zvolit pouze část okna jako náhled. + + + Resetovat nastavení okna + + + Resetuje nastavení a pozici okna aplikace OnTopReplica. + + + Velikost + + + Obnovit naposledy zobrazené okno + + + Pokud je zatrženo, OnTopReplica se pokusí po spuštění obnovit naposledy zobrazované okno. + + + Nastavení... + + + Zobrazí okno s nastavením. + + + Přepnout do okna + + + Přepne do zdrojového okna a skryje aplikaci OnTopReplica. + + + Vybrat okno + + + - žádné - + + + Zobrazí seznam oken, které je možné použít jako zdroj. + + + - celé okno - + + + Aktuální výřez: + + + Smazat + + + Hotovo + + + Výška + + + Reset + + + Uložit + + + Uložené výřezy + + + Výřezy: + + + Šířka + + + Začněte klepnutím sem pravým tlačítkem myši... + + + Zavřít toto okno + + + Tyto klávesové zkratky jsou platné napříč systémem a je možné je použít i pokud OnTopReplica není aktivním oknem. + + + Zobrazit/Skrýt + + + Klávesové zkratky: + + + Jazyk: + + + Vyžaduje restart. + + + Nastavení + + + Zrušit aktualizaci +Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. + + + Pokračovat +Instalovat OnTopReplica {0}. + + + Nová verze bude automaticky stažena a nainstalována. + + + Nainstalovaná verze: {0} +Dostupná verze: {1} + + + Verze {0} je k dispozici + + + staženo {0}/{1} bajtů. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Stahování... + + + Poslední verze aplikace OnTopReplica je již nainstalována. Aktualizace se kontrolují automaticky při každém spuštění. + +Na <a href="website">oficiálních stránkách</a> můžete sledovat aktuální vývoj aplikace nebo hlásit chyby či navrhovat vylepšení. + The website link should be enclosed in <a href="website"></a> tags. + + + Poslední stabilní verze byla vydána {0}. + {0} last version release date + + + OnTopReplica je aktuální + + + Instalovat +OnTopReplica bude nyní ukončena a spustí se aktualizace. + + + Nová verze {0} OnTopReplica je připravena k instalaci. + + + Aktualizace je připravena + + + Aktualizace OnTopReplica + + + + Must not be localized. Leave blank in non-default languages. + + + + Can be left blank. + + + + Must not be localized. Leave blank in non-default languages. + + + + Probably doesn't need localization. :) + + + Advanced + + \ No newline at end of file diff --git a/OnTopReplica/Strings.da.resx b/OnTopReplica/Strings.da.resx new file mode 100644 index 0000000..ea2a6a7 --- /dev/null +++ b/OnTopReplica/Strings.da.resx @@ -0,0 +1,650 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Annuller updateringen. + + + Vis detaljer om OnTopReplica. + + + Nulstil alle OnTopReplica indstillinger. + + + Opdater OnTopReplica nu. + + + En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. + + + Opdater nu! + + + OnTopReplica checker automatiskt for opdateringer. + + + + Probably doesn't need localization. :) + + + Nulstil vinduet helt? + + + &NulstilAlle ændringer vil blive tabt. + + + Kan bruges til at nulstille alle indstillinger hvis du mister kontrollen over vinduet eller hvis det er flyttet uden for skærmen. + + + Nulstil + + + Nulstil indstillinger? + + + Dette nulstiller OnTopReplica til standard indstillingerne (alle gemte informationer, som gemte områder, vil blive slettet). + + + Nulstil indstillingerne + + + &Annuller + & marks the ALT+[] shortcut + + + Tegn områder med musen + + + Detaljer + + + Detaljer om Windows Aero + + + Windows Aero er kun tilgængelig op Windows Vista Home Premium eller højere. + + + Windows Aero effekter er ikke slået til + + + Du skal aktiverere "Windows Aero" som tema i Windows.For at gøre dette skal du højreklikke på skrivebordet og vælge personlige indstillinger. + + + Fejl detaljer. + + + Fejl: + + + Vinduet du har valgt er lukket eller er ikke gyldigt mere. + + + Fejl + + + Windows Aero effekter er ikke understøttet af dit styresystem. +Dette program kræver Windows Vista Home Premium eller bedre. + + + Skrivebords komposition ikke understøttet + + + Ingen miniature indlæst. + + + Kan ikke lave miniature. + + + Kunne ikke passes til vinduet. + + + Kan ikke søge efter opdateringer. + + + OnTopReplica blev ikke installeret ved hjælp af 'ClickOnce'. Du bliver nødt til at opdatere manuelt (besøg <a href="http://ontopreplica.codeplex.com">OnTopReplica's hjemmeside</a>). + + + Tilstande + + + Altid øverst + + + Får OnTopReplica til altid at være øverst. + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Standard + + + Opfører sig som et almindeligt vindue. Du kan trække andre viduer ind over OnTopReplica. + + + OnTopReplica fuld skærm + + + Hjemmeside: www.codeplex.com/ontopreplica. + + + Ønsker du at aktivere "click forwarding"? + + + Hvis denne funktion er aktiveret vil OnTopReplica vidersende alle venstr museklik til det klonede vindue (dette gør dig i stand til at udføre basis musefunktioner i det klonede vindue uden at skulle aktivere det). + +For at afslutte denne funktion skal du højreklikke på OnTopReplica og deaktivere "Click forwarding" i menuen. + + + Click forwarding + + + Ønskes gennem klik i fuldskærms tilstand? + + + Gennem klik virker kun hvis det er blevet aktiveret i gendan undermenuen og hvis vinduet er delvist gennemsigtigt. + + + I denne tilstand vil fuld skærm vinduet opføre sig som et delvist gennemsigtigt lag, hvilket gør dig i stand til at klikke på de underliggende vinduer. + +For at komme tilbage til normal tilstand, dobbeltklik på OnTopReplica ikonet i meddelelsesområdet på proceslinjen. + + + Nej. +Du kan aktivere gennem klik senere. + + + Brug gennem klik. + + + Gennem klik tilstand + + + OnTopReplica er blevet opdateret. + + + For at benytte den opdaterede udgave af OnTopReplica skal du genstarte programmet. + + + Opdatering fuldført + + + OnTopReplice er opdateret. + + + Ingen opdateringer er tilgængelige + + + Sprog + + + Om... + + + Skjuler hoved vinduet og viser om boxen. + + + Krom + + + Vælger Chrome kanten rundt om vinduet til/fra + + + Click forwarding + + + Aktiver "click forwarding" til det klonede vindue + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Luk + + + Lukker OnTopReplica. + + + 2:1 dobbelt + + + Fuld skærm + + + 1:2 halv + + + 1:1 Pas til vinduet + + + 1:4 kvart + + + 100% (uigennemsigtig) + + + Sæt OnTopReplica til at være helt uigennemsigtig. + + + 25% + + + Sætter OnTopReplica til 25% uigennemsigtighed. + + + 50% + + + Sætter OnTopReplica til 50% uigennemsigtighed. + + + 75% + + + Sætter OnTopReplica til 75% uigennemsigtighed. + + + Uigennemsigtighed + + + åben + + + Viser OnTopReplica. + + + Nederst venstre + + + Nederst højre + + + Position + + + Sæt OnTopReplica automatiskt på den aktuelle skærm. + + + Øverst venstre + + + Øverst højre + + + Afslut fuldskærm tilstand. + + + Gendan sidste position og størrelse + + + Vælger om OnTopReplica skal gemme sidst brugte størrelse og position, til næste gang det starter op. + + + Minimer til systembakken. + + + Minimere OnTopReplica til systembakken. + + + Vælg område... + + + Skifter til "område tilstand", der tillader dig at vælge et begrænset område af kildens vindue som miniature. + + + Nulstil vinduet + + + Nulstiller OnTopReplica indstillingerne og hoved vinduet. + + + Genskab + + + Skift til vindue + + + Skifter til kilde vinduet og gemmer OnTopReplica. + + + Vælg vindue + + + - ingen - + + + Viser en liste af vinduer du kan bruge som miniature kilde. + + + - hele - + + + Aktuelt område: + + + Slet + + + Færdig + + + Højde + + + Nulstil + + + Gem + + + Gemte områder + + + Områder: + + + Bredde + + + Højreklik her for at starte... + + + Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes. + + + FortsætInstaller OnTopReplica + + + Den nye version vil automatiskt blive downloaded og installeret. + + + Installeret version: {0} +Tilgængelig version: {1} + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann. + Must not be localized. Leave blank in non-default languages. + + + Version {0} + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Advanced + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + Center + + + Disabled + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + + \ No newline at end of file diff --git a/OnTopReplica/Strings.de.resx b/OnTopReplica/Strings.de.resx new file mode 100644 index 0000000..5197922 --- /dev/null +++ b/OnTopReplica/Strings.de.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Aktualisierungsprozess abbrechen. + + + Details über OnTopReplica anzeigen. + + + Alle Einstellungen zurücksetzen. + + + OnTopReplica jetzt aktualisieren. + + + Möchtest du dem Projekt helfen? Du kannst gerne existierende Übersetzungen verbessern, einen neue für deine Sprache hinzufügen, oder den % von CodePlex herunterladen. + + + Quelltext + + + OnTopReplica basiert auf der WindowsFormsAero Bibliothek und ein paar anderen Bibliotheken und Codequellen. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Lies die vollständige Quellenliste + + + Mitwirken + + + Quellen + + + Lizenz + + + Aktualisierungen + + + Das Programm ist unter der % Lizenz lizensiert, welche die Bedingungen der Definition von "open-source" nach OSI erfüllt. + + + Ein kleines echtzeit-Vorschaubild eines Fensters deiner Wahl, welches immer im Vordergrund bleibt. + + + Über OnTopReplica + + + Übersetzer: {0} + {0} translators (do not end with period) + + + Jetzt prüfen! + + + OnTopReplica sucht automatisch bei jedem Start nach Aktualisierungen. + + + Version {0} + + + + Probably doesn't need localization. :) + + + Fenster vollständig zurücksetzen? + + + &Zurücksetzen +Alle Einstellungen werden gelöscht. + + + Dies kann helfen, wenn die Kontrolle über das Fenster verloren wurde, oder es sich ausserhalb des sichtbaren Bereichs des Monitors befindet. + + + Zurücksetzen + + + Einstellungen zurücksetzen? + + + Dies wird alle Einstellungen löschen und OnTopReplica in den Installationszustand zurückführen (alle gespeicherten Daten, wie zum Beispiel gespeicherte Bereiche, gehen verloren). + + + Einstellungen zurücksetzen + + + {0}/{1} bytes heruntergeladen. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Version {0} ist verfügbar + + + Installieren +OnTopReplica wird geschlossen und die Aktualisierung installiert. + + + Eine neue Version kann von der offiziellen Webseite heruntergeladen und installiert werden. + + + OnTopReplica version {0} ist zur Installation auf dem Computer bereit. + + + &Abbrechen + & marks the ALT+[] shortcut + + + Zeichne Bereiche mit der Maus. + + + Details + + + Details zu Windows Aero + + + Windows Aero ist nur mit Windows Vista Home Premium or höher verfügbar. + + + 'Desktop-Gestaltung' ist nicht aktiviert. + + + Sie müssen die Desktop-Gestaltung aktivieren, indem sie 'Windows Aero' als das von Windows benutzte Anzeigeschema auswählen. + +Um dies zu tung rechtsklicken die auf den Desktop und wählen sie 'Anpassen'. + + + Fehler-details + + + Fehler: + + + Es scheint als wäre das gewählte Fenster geschlossen oder nicht länger gültig. + + + Fehler + + + Desktop-Gestaltung' wird auf diesem Betriebssystem nicht unterstützt. +Dieses Programm benötigt Windows Vista Home Premium oder besser. + + + Desktop-Gestaltung nicht unterstützt + + + Kein Vorschaubild geladen. + + + Vorschaubild konnte nicht erstellt werden + + + Das Fenster passt nicht in das Vorschaufenster. + + + Es konnte nicht nach Aktualisierungen gesucht werden. + + + Es scheint als wäre OnTopReplica nicht mittels 'ClickOnce' installiert. Sie werden manuell aktualisieren müssen (Besuchen sie <a href="http://ontopreplica.codeplex.com">OnTopReplica's Homepage</a>). + + + OnTopReplica konnte nicht nach einer Aktualisierung suchen. Stellen sie Sicher, dass sie mit dem Internet verbunden sind. Wenn sie mit dem Internet verbunden sind, könnte die Webseite temporäre Probleme haben. + + + Mode + + + Immer im Vordergrund + + + Erzwingt, dass OnTopReplica immer im Vordergrund bleibt. + + + Durchklicken + + + OnTopReplica wird alle Klicks an das darunterliegende Fenster weiterreichen. + + + Standard + + + Verhält sich wie ein normales Fenster. Andere Fenster können OnTopReplica verdecken. + + + OnTopReplica Vollbild + + + Deaktivieren + + + Modus aktivieren + + + Mehrere Fenster zum aktivieren auswählen. + + + Der Gruppenmodus ist aktiv. + + + Gruppenmodus: + + + Fenster + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Klickweiterleitung aktivieren? + + + OnTopReplica wird alle Linksklicks an das geklonte Fenster weiterreichen (dies erlaubt simple Interaktion ohne das andere Fenster zu aktivieren). + +Um diese Modus zu beenden ESC drücken. + + + Klickweiterleitung + + + Durchklickmodus aktivieren? + + + Durchklicken funktioniert nur, wenn es im "Grössen"-Menü aktiviert wurde und das Fenster semi-transparent ist. + + + In diesem Modus verhält sich das Vollbild-Fenster wie ein durchsichtiges Overlay und erlaubt es, die Fenster dahinter anzuklicken. + +Um zum normalen Modus zurückzukehren, reicht es, OnTopReplica über die Taskleiste oder das Benachrichtigungssymbol zu aktivieren. + + + Nein danke. +Durchklicken kann später aktiviert werden + + + Durchklicken aktivieren + + + Durchklick-Modus + + + OnTopReplica wurde aktualisiert. + + + Um die aktualisierte Version zu nutzen, muss OnTopReplica neu gestartet werden. + + + Aktualisierung abgeschlossen + + + OnTopReplica ist auf dem neuesten Stand. + + + Keine Aktualisierung verfügbar + + + Sprache + + + Über... + + + Versteckt das Hauptfenster und zeigt das Informationsfenster. + + + Erweitert + + + Fensterrahmen anzeigen + + + Schaltet den Fensterrahmen an und aus. + + + Klickweiterleitung aktivieren + + + Leitet klicks an das geklonte Fenster weiter. + + + Durchklicken aktivieren + + + OnTopReplica wird alle klicks an die darunterliegenden Fenster weiterleiten. + + + Schliessen + + + Schliesst OnTopReplica. + + + 2:1 Verdoppeln + + + Vollbild + + + 1:2 Halbieren + + + 1:1 An Fenster anpassen + + + 1:4 Vierteln + + + Gruppenmodus + + + OnTopReplica wird automatisch das zuletzt aktive Fenster aus einer benutzerdefinierten Gruppe klonen. + + + 100% (Undurchsichtig) + + + OnTopReplica ist völlig undurchsichtig. + + + 25% + + + OnTopReplica auf 25% Sichtbarkeit setzen. + + + 50% + + + OnTopReplica auf 50% Sichtbarkeit setzen. + + + 75% + + + OnTopReplica auf 75% Sichtbarkeit setzen. + + + Deckkraft + + + Öffnen + + + OnTopReplica anzeigen. + + + Unten Links + + + Unten Rechts + + + Mitte + + + Deaktiviert + + + Position feststlegen + + + OnTopReplica automatisch auf dem aktiven Bildschirm positionieren. + + + Oben Links + + + Oben Rechts + + + Vollbildmodus beenden + + + Letzte Position und Grösse merken + + + Legt fest, ob OnTopReplica beim Start die gleiche Position und Grösse haben soll, wie beim letzten Beenden. + + + Minimieren + + + Minimiert OnTopReplica in die Taskleiste (oder die Benachrichtigungsleiste). + + + Bereich wählen... + + + Wechselt zum "Bereichsmodus" welcher es erlaubt, nur einen ausgewählten Teil eines Fensters zu klonen. + + + Fenster zurücksetzen + + + Setzt OnTopReplica Einstellungen und das Fenster zurück. + + + Grösse + + + Letztes Fenster wieder wählen + + + OnTopReplica wird beim Start versuchen, das gleiche Fenster wie beim letzten beenden zu klonen. + + + Einstellungen... + + + Zeigt den Einstellungsdialog an. + + + Zum Fenster Wechseln + + + Wechselt zum geklonten Fenster und versteckt OnTopReplica. + + + Fenster wählen + + + - Keins - + + + Zeigt eine Liste von Fenstern die als Klonquelle gewählt werden können. + + + - Alles - + + + Aktueller Bereich: + + + Löschen + + + Fertig + + + Höhe + + + Zurücksetzen + + + Speichern + + + Gespeicherte Bereiche + + + Bereiche: + + + Breite + + + Hier rechtsklicken um zu beginnen... + + + Aktuelles Fenster klonen + + + Diese Tastenkombinationen können auch benutzt werden, wenn OnTopReplica nicht das aktive Fenster ist. + + + Zeigen/Verstecken + + + Tastenkombinationen: + + + Sprache: + + + Benötigt einen Neustart. + + + Herunterladen... + + + Aktualisierung bereit + + + Herunterladen +OnTopReplica {0} instalieren. + + + Aktualisierung abbrechen +OnTopReplica wird beim nächsten Start darauf hinweisen. + + + OnTopReplica ist aktuell + + + Neuste stabile Programmversion vom {0}. + {0} last version release date + + + Die aktuelle Version vom OnTopReplica ist schon installiert. Das Programm sucht automatisch bei jedem Start nach Aktualisierungen. + +Sie können über die Entwicklung von OnTopReplica auf dem Laufenden bleiben und verbesserungen vorschlagen indem sie die <a href="website">offizielle Webseite besuchen</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Einstellungen + + + OnTopReplica Aktualisierungen + + + Installierte Version: {0} +Verfügbare Version: {1} + + + Autor: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + + Must not be localized. Leave blank in non-default languages. + + \ No newline at end of file diff --git a/OnTopReplica/Strings.es.resx b/OnTopReplica/Strings.es.resx new file mode 100644 index 0000000..673af94 --- /dev/null +++ b/OnTopReplica/Strings.es.resx @@ -0,0 +1,650 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancela el progreso de actualización. + + + Muestra detalles acerca de OnTopReplica. + + + Reinicia la configuración de OnTopReplica a sus valores iniciales. + + + Actualiza OnTopReplica ahora. + + + Una copia liviana, en tiempo real y siempre encima de cualquier ventana. + + + Actualizar ahora! + + + OnTopReplica busca actualizaciones automáticamente. + + + + Probably doesn't need localization. :) + + + ¿Reiniciar la ventana? + + + &Reiniciar +Todos los ajustes se perderán. + + + Puede ser usado para reiniciar todos los ajustes si se ha perdido el control sobre las ventanas o se ha movido más allá de los bordes de la pantalla. + + + Reiniciar + + + ¿Reiniciar los ajustes? + + + Esta acción borrará todos los ajustes de OnTopReplica tras la instalación, volviendo a la configuración inicial (toda la información guardada, como las regiones personalizadas se perderán). + + + Reiniciar ajustes + + + &Cancelar + & marks the ALT+[] shortcut + + + Crea una región utilizando el ratón. + + + Detalles + + + Detalles en Windows Aero + + + Windows Aero sólo está disponible en Windows Vista o 7, en su versión Home Premium o superior. + + + La Composición de Escritorio no está activada. + + + Debe activar la Composición de Escritorio seleccionando "Windows Aero" como tema utilizado en Windows. + +Para ello, click derecho en el escritorio y buscar la opción en Personalizar. + + + Detalles del error + + + Error: + + + Parece que la ventana seleccionada ha sido cerrada o ya no es válida. + + + Error + + + La Composición de Escritorio no está soportada en su Sistema Operativo. +Es necesario utilizar Windows Vista o 7 en su versión Home Premium o superior. + + + Composición de Escritorio no soportada + + + No se ha clonado ninguna ventana. + + + Imposible clonar la ventana. + + + Imposible adaptar la ventana. + + + No se ha podido buscar actualizaciones. + + + Parece que OnTopReplica no ha podido ser instalado mediante "ClickOnce". Tendrá que actualizar manualmente visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + OnTopReplica no ha podido comprobar si hay una actualización disponible. Asegúrese de que está conectado a Internet. Si lo está, quizá la página oficial está temporalmente no disponible. + + + Modo + + + Siempre encima + + + OnTopReplica permanece siempre encima. + + + Click a través + + + OnTopReplica se comporta como una ventana transparente a través de la cual puede clickar lo que se encuentra detrás. + + + Ventana standard + + + OnTopReplica se comporta como una ventana corriente de Windows, por lo tanto puede estar en segundo plano. + + + OnTopReplica a pantalla completa + + + Desactivar + + + Activar modo + + + Seleccionar varias ventanas para activar. + + + Modo en grupo activado + + + Modo en grupo: + + + Ventanas + Column Header of list, simply refers to available windows to be cloned + + + Sitio oficial: www.codeplex.com/ontopreplica. + + + Desea activar el "Click en la ventana clonada"? + + + Si este modo está activado, OnTopReplica permitirá hacer click en la ventana clonada (de esta forma se podrán hacer operaciones básicas con el ratón sin tener que activar la ventana original). + +Para salir de este modo, pulsar ESC. + + + Click en la ventana clonada + + + Activar el modo Click a través? + + + Click a través solo funciona si se ha activado y la ventana es semi-transparente. + + + En este modo, la ventana clonada se volverá ventana parcialmente transparente, permitiendo hacer click en las otras ventanas de detrás. + +Para volver al modo normal en cualquier momento, activar OnTopReplica clickando en la barra de tareas (o en el icono del sistema). + + + No, gracias. +Se podrá activar Click a través más tarde + + + Utilizar Click a través + + + Modo Click a través + + + OnTopReplica ha sido actualizado. + + + Para poder utilizar la versión actualizada de OnTopReplica se ha de reiniciar la aplicación. + + + Actualización correcta. + + + OnTopReplica está actualizado. + + + No hay actualizaciones disponibles + + + Idioma + + + Acerca de + + + Oculta la ventana principal y muestra la ventana de "Acerca de" + + + Avanzado + + + Marco + + + Activa o desactiva el marco de la ventana. + + + Activar Click en la ventana clonada + + + Activa "Click en la ventana clonada" en la ventana que se ha clonado. + + + Activar Click a través + + + OnTopReplica se comporta como una ventana transparente a través de la cual puede hacer click sobre lo que se encuentra detrás. + + + Cerrar + + + Cierra OnToopReplica + + + 2:1 Doble + + + Pantalla completa + + + 1:2 Mitad + + + 1:1 Tamaño original + + + 1:4 Un cuarto + + + Modo en grupo + + + OnTopReplica clonará automáticamente una ventana de un grupo definido, eligiendo la que no ha estado en primer plano durante más tiempo. + + + 100% (opaco) + + + OnTopReplica será totalmente opaco. + + + Establece OnTopReplica al 25% de opacidad. + + + Establece OnTopReplica al 50% de opacidad. + + + Establece OnTopReplica al 75% de opacidad. + + + Opacidad + + + Abrir + + + Muestra OnTopReplica. + + + Abajo a la izquierda + + + Abajo a la derecha + + + Centrado + + + Desactivado + + + Posición + + + Posiciona automáticamente OnTopReplica sobre el monitor actual. + + + Arriba a la izquierda + + + Arriba a la derecha + + + Salir del modo pantalla completa + + + Restaurar última posición y tamaño + + + Activa o desactiva si OnTopReplica debe guardar la última posición y tamaño y usarla cuando se reinicie. + + + Minimizar + + + Minimiza OnTopReplica a la barra de tareas (o de sistema). + + + Seleccionar región + + + Activa o desactiva "Seleccionar región", que permite seleccionar una región específica de la ventana clonada. + + + Reiniciar ventana + + + Reinicia los ajustes de OnTopReplica y la ventana principal + + + Cambiar tamaño + + + Ir a la ventana original + + + Activa la ventana original y oculta OnTopReplica. + + + Seleccionar ventana + + + - ninguna - + + + Muestra una lista de ventanas que se pueden clonar. + + + - entera - + + + Región actual: + + + Borrar + + + Hecho + + + Altura + + + Reiniciar ventana + + + Guardar + + + Regiones guardadas + + + Regiones: + + + Anchura + + + Click derecho para empezar... + + + Cancelar actualización +OnTopReplica le preguntará la próxima vez que se ejecute. + + + Descargar +Instalar OnTopReplica {0} + + + La nueva versión puede ser descargada e instalada del sitio oficial. + + + Versión instalada: {0} +Versión disponible: {1} + + + Autor: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Contribuye con el proyecto. + Unfinished. + + + código fuente + + + OnTopReplica está basado en la librería WindowsFormsAero y otras librerías y códigos fuente. %. + + + Leer los créditos completos + + + Contribuir + + + Créditos + + + Licencia + + + Actualizaciones + + + La aplicación está bajo la licencia %, por lo que rigen los términos de la definición "open-source" especificada por OSI. + + + + Can be left blank. + + + Acerca de OnTopReplica + + + Traductores: {0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + Versión: {0} + + + 25% + + + 50% + + + 75% + + + Restaurar la última ventana clonada + + + Si está activado, OnTopReplica intentará restaurar la última ventana clonada al iniciarse. + + + Ajustes... + + + Muestra el panel de ajustes. + + + Clona ventana actual + + + Los atajos de teclado pueden ser utilizados aunque OnTopReplica no esté en primer plano. + + + Mostrar/ocultar + + + Atajos de teclado: + + + Idioma: + + + Requiere reinicio. + + + Ajustes + + + Versión {0} disponible + + + {0}/{1} bytes descargados. + + + Descargando... + + + La última versión de OnTopReplica ya está instalada. El programa buscará actualizaciones automáticamente con cada inicio. + +Puedes mantenerte informado del desarrollo de OnTopReplica, sugerir mejoras y nuevas características <a href="website">visitando la web oficial</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Última versión estable liberada en {0}. + {0} last version release date + + + OnTopReplica está actualizado + + + Instalar +OnTopReplica se cerrará y se instalará la actualización. + + + La versión de OnTopReplica {0} está lista para ser instalada en su ordenador. + + + Actualización lista + + + Actualizaciones de OnTopReplica + + \ No newline at end of file diff --git a/OnTopReplica/Strings.fi.resx b/OnTopReplica/Strings.fi.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.fi.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx new file mode 100644 index 0000000..a2177be --- /dev/null +++ b/OnTopReplica/Strings.it.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Creato da: %. + Link % is replaced by string AboutAuthorContent. + + + Annulla il processo di aggiornamento. + + + Mostra dettagli su OnTopReplica. + + + Resetta tutte le impostazioni di OnTopReplica. + + + Aggiorna OnTopReplica ora. + + + T'interessa partecipare? Ogni aiuto è ben accetto, sia che tu voglia migliorare una traduzione, aggiungerne una nuova oppure dare un'occhiata al % su CodePlex. + + + codice sorgente + + + OnTopReplica è basato sulla libreria WindowsFormsAero ed il codice di altri progetti open-source. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Leggi tutti i riferimenti + + + Contribuisci + + + Ringraziamenti + + + Licenza d'uso + + + Aggiornamenti + + + Questa applicazione è rilasciata sotto la licenza %, che rientra nella definizione di "open-source" data dal consorzio OSI. + + + Una copia in tempo reale e sempre in primo piano di una finestra a tua scelta. + + + A proposito di OnTopReplica + + + Traduttori: {0} + {0} translators (do not end with period) + + + Controlla! + + + OnTopReplica controlla automaticamente la presenza di aggiornamenti ad ogni avvio. + + + Versione {0} + + + + Probably doesn't need localization. :) + + + Ripristinare completamente la finestra? + + + &Ripristina +Tutte le impostazioni saranno perse. + + + Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. + + + Ripristino + + + Resettare impostazioni? + + + Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). + + + Reimposta + + + &Annulla + & marks the ALT+[] shortcut + + + Disegna una regione usando il mouse. + + + Dettagli + + + Dettagli su Windows Aero + + + Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. + + + Il servizio di Desktop Composition Aero non è attivo. + + + È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows. + +Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. + + + Dettagli errore + + + Errore: + + + Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. + + + Errore + + + La "composzione del desktop" non è supportata dal tuo sistema operativo. +È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. + + + Desktop Composition (DWM) non supportato + + + Nessuna finestra clonata al momento. + + + Impossibile clonare la finestra + + + Impossibile adattare la finestra. + + + Impossibile controllare gli aggiornamenti. + + + Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + Non è stato possibile controllare se esiste una versione più aggiornata di OnTopReplica. Verificare di essere connessi ad Internet. Se la connessione è attiva, è possibile che il sito ufficiale sia temporaneamente offline. + + + Modalità + + + Sempre in cima + + + OnTopReplica sarà sempre la finestra sopra a tutte le altre. + + + Click through + + + OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. + + + Normale + + + Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. + + + OnTopReplica a pieno schermo + + + Disattiva + + + Abilita modalità + + + Seleziona più finestre per attivare. + + + Modalità Gruppo attivata. + + + Modalità Gruppo di finestre: + + + Finestre + Column Header of list, simply refers to available windows to be cloned + + + Sito internet: www.codeplex.com/ontopreplica. + + + Attivare la modalità di inoltro dei clic? + + + In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano). + +Per uscire da questa modalità, usa il tasto ESC. + + + Inoltro dei clic + + + Attivare la modalità Click-Through? + + + La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. + + + In questa modalità la finestra clonata si comporterà come una maschera semitrasparente che permette di cliccare sulle finestre dietro di essa. + +Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). + + + No, grazie. +Puoi abilitare il Click-Through in futuro + + + Abilita Click-Through + + + Modalità Click-Through + + + OnTopReplica è stato aggiornato. + + + Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. + + + Aggiornamento completato + + + La versione più aggiornata è già installata. + + + Nessun aggiornamento disponibile + + + Lingua + + + A proposito di... + + + Nasconde la finestra principale e mostra una schermata di informazioni. + + + Avanzate + + + Bordo + + + Abilita o disabilita il bordo della finestra. + + + Inoltro dei clic + + + Attiva la modalità di "inoltro dei clic" alla finestra clonata. + + + Abilita Click-Through + + + OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa. + + + Chiudi + + + Termina OnTopReplica. + + + 2:1 Doppio + + + Tutto schermo + + + 1:2 Metà + + + 1:1 Clone esatto + + + 1:4 Quarto + + + Modalità Gruppo di finestre + + + OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo. + + + 100% (opaco) + + + Imposta OnTopReplica come finestra completamente opaca. + + + 25% + + + Imposta l'opacità di OnTopReplica al 25%. + + + 50% + + + Imposta l'opacità di OnTopReplica al 50%. + + + 75% + + + Imposta l'opacità di OnTopReplica al 75%. + + + Opacità + + + Apri + + + Attiva la finestra di OnTopReplica. + + + In basso a sinistra + + + In basso a destra + + + Centrato + + + Disabilitato + + + Blocco posizione + + + Posiziona automaticamente OnTopReplica sul monitor corrente. + + + In alto a sinistra + + + In alto a destra + + + Esci da tutto schermo + + + Ripristina posizione e grandezza + + + Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. + + + Minimizza + + + Riduce OnTopReplica ad un'icona nella barra delle applicazioni. + + + Seleziona regione... + + + Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. + + + Reimposta finestra + + + Reimposta OnTopReplica e la sua finestra principale. + + + Ridimensionamento + + + Ripristina ultima finestra + + + Se abilitato, all'avvio OnTopReplica tenterà di ripristinare l'ultima finestra precedentemente clonata. + + + Impostazioni... + + + Mostra il pannello delle impostazioni. + + + Vai alla finestra originale + + + Mostra la finestra originale e nasconde OnTopReplica. + + + Seleziona finestra + + + - nessuna - + + + Mostra una lista di finestre che è possibile clonare. + + + - intera - + + + Regione corrente: + + + Cancella + + + Chiudi + + + Altezza + + + Reset + + + Salva + + + Regioni memorizzate + + + Regioni: + + + Larghezza + + + Clic destro qui per iniziare... + + + Clona finestra corrente + + + Queste scorciatoie possono essere usate quando OnTopReplica non è attivo. + + + Nascondi + + + Scorciatoie: + + + Lingua: + + + Richiede un riavvio. + + + Impostazioni + + + Annulla aggiornamento +OnTopReplica si aggiornerà in un secondo momento. + + + Continua +Scarica OnTopReplica {0}. + + + Sarà possibile scaricare la nuova versione ed installarla. + + + Versione installata: {0} +Versione disponibile: {1} + + + Disponibile la versione {0} + + + Scaricati {0} byte su {1}. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Download in corso... + + + L'ultima versione di OnTopReplica è già installata. Il programma controllo automaticamente la presenza di aggiornamenti ad ogni avvio. + +Per tenersi aggiornati sullo sviluppo di OnTopReplica o suggerire miglioramenti, <a href="website">visitare il sito ufficiale</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Ultima versione stabile rilasciata il {0}. + {0} last version release date + + + OnTopReplica è aggiornato + + + Installa +OnTopReplica verrà chiuso e l'aggiornamento sarà installato. + + + La versione {0} di OnTopReplica è pronta ad essere installata sul tuo computer. + + + Aggiornamento pronto + + + Aggiornamenti di OnTopReplica + + + + Must not be localized. Leave blank in non-default languages. + + + + Can be left blank. + + + + Must not be localized. Leave blank in non-default languages. + + \ No newline at end of file diff --git a/OnTopReplica/Strings.no.resx b/OnTopReplica/Strings.no.resx new file mode 100644 index 0000000..3f04f24 --- /dev/null +++ b/OnTopReplica/Strings.no.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann. + Must not be localized. Leave blank in non-default languages. + + + Check now! + + + OnTopReplica automatically checks for updates at every start up. + + + Version {0} + + + + Probably doesn't need localization. :) + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + &Cancel + & marks the ALT+[] shortcut + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + + \ No newline at end of file diff --git a/OnTopReplica/Strings.pl.resx b/OnTopReplica/Strings.pl.resx new file mode 100644 index 0000000..bf277d9 --- /dev/null +++ b/OnTopReplica/Strings.pl.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Autor: %. + Link % is replaced by string AboutAuthorContent. + + + Przerwij proces aktualizacji. + + + Pokaż szczegóły dotyczące OnTopReplica. + + + Resetuj wszystkie ustawienia OnTopReplica. + + + Aktualizuj teraz OnTopReplica + + + Chcesz wesprzeć projekt? Możesz ulepszyć istniejące tłumaczenia, utworzyć nowe dla Twojego rodzimego języka lub sprawdzić % na CodePlex. + + + kod źródłowy + + + OnTopReplica jest oparty na bibliotece WindowsFormsAero oraz innych bibliotekach i kodzie źródłowym. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Przeczytaj więcej + + + Wsparcie + + + Zasługi + + + Licencja + + + Aktualizacje + + + Aplikacja jest licencjonowana na warunkach licencji %, która spełnia warunki definicji "open-source" definiowane przez OSI. + + + Miniatura "zawsze na wierzchu" pokazująca "na żywo" podgląd wybranego okna. + + + O programie OnTopReplica + + + Tłumaczenie: {0} + {0} translators (do not end with period) + + + Sprawdź teraz! + + + OnTopReplica automatycznie sprawdza dostępność aktualizacji po każdym uruchomieniu. + + + Wersja {0} + + + + Probably doesn't need localization. :) + + + Całkowicie zresetować okno? + + + &Zresetuj +Wszystkie ustawienia zostaną utracone. + + + Może być użyte do zresetowania ustawień, jeśli została utracona kontrola nad oknem, lub zostało ono przesunięte poza granice ekranu. + + + Zresetuj + + + Zresetować ustawienia? + + + Ta opcja usunie wszystkie ustawienia spersonalizowane OnTopReplica i przywróci program do stanu jak po instalacji (wszystkie zapisane ustawienia, jak regiony, zostaną utracone). + + + Zresetuj ustawienia + + + &Anuluj + & marks the ALT+[] shortcut + + + Utwórz region używając myszy. + + + Szczegóły + + + Szczegóły dot. Windows Aero + + + Windows Aero jest dostępne w wersji Windows Vista Home Premium i nowszych. + + + Kompozycje pulpitu są wyłączone. + + + Musisz włączyć kompozycje pulpitu wybierając 'Windows Aero' jako schemat używany przez Windows. + +Aby to uczynić kliknij prawym przyciskiem na pulpicie i wybierz 'Personalizuj'. + + + Szczegóły błędu + + + Błąd: + + + Wygląda na to, że wybrane okno zostało zamknięte lub nie jest już dostępne. + + + Błąd + + + Kompozycje pulpitu nie są wspierane przez Twój system operacyjny. +Aplikacja działa na Windows Vista Home Premium i nowszych. + + + Niewspierana kompozycja pulpitu + + + Nie załadowano miniatury. + + + Nie można utworzyć miniatury. + + + Nie można dopasować okna. + + + Nie można sprawdzić aktualizacji. + + + Wygląda na to, że OnTopReplica nie została zainstalowana przy użyciu 'ClickOnce'. Musisz ręcznie zaktualizować program (odwiedź <a href="http://ontopreplica.codeplex.com">stronę domową OnTopReplica's</a>). + + + Program OnTopReplica nie był w stanie sprawdzić, czy jest dostępna nowa wersja. Upewnij się, że Twoje połączenie z Internetem pracuje poprawnie. Jeśli tak, być może strona programu jest chwilowo niedostępna. + + + Tryb + + + Zawsze na wierzchu + + + Wymusza położenie okna OnTopReplica zawsze na wierzchu. + + + Kliknij-przez + + + OnTopReplica będzie się zachowywać jak półprzeźroczysta warstwa, co pozwoli Ci klikać na oknie położonym pod spodem. + + + Standardowe + + + Zachowanie jak normalne okno. Możesz przeciągnąć inne okna ponad OnTopReplica. + + + Pełny ekran OnTopReplica + + + Wyłącz + + + Włącz tryb grupowy + + + Wybierz kilka okien aby uaktywnić. + + + Tryb grupowy jest aktywny. + + + Tryb grupowy: + + + Okna + Column Header of list, simply refers to available windows to be cloned + + + Strona domowa: www.codeplex.com/ontopreplica. + + + Czy uaktywnić "przekazywanie kliknięć"? + + + Kiedy ten tryb jest aktywny, OnTopReplica będzie przekazywać kliknięcia przycisków myszy do okna, które jest klonowane (dzięki temu możesz wykonywać na tym oknie podstawowe operacje bez konieczności uaktywniania go). + +Naciśnij ESC aby zakończyć ten tryb. + + + Przekazywanie kliknięć + + + Włączyć tryb kliknij-przez? + + + Kliknij-przez działa tylko wtedy, gdy zostało włączone w podmenu 'Zmień rozmiar' i kiedy okno jest półprzeźroczyste. + + + W tym trybie okno na pełnym ekranie będzie się zachowywać jak półprzeźroczysta warstwa i będziesz w stanie kliknąć na oknie znajdującym się pod nim. + +Aby w dowolnym momencie powrócić do normalnego trybu aktywuj OnTopReplica klikając na pasku zadań (lub na ikonce w tacce systemowej). + + + Nie, dziękuję. +Możesz włączyć kliknij-przez później + + + Użyj kliknij-przez + + + Tryb kliknij-przez + + + Program OnTopReplica został zaktualizowany. + + + Aby używać zaktualizowanej wersji OnTopReplica musisz zrestartować aplikację. + + + Aktualizacja zakończona powodzeniem + + + Program OnTopReplica jest aktualny. + + + Brak dostępnych aktualizacji + + + Język + + + O... + + + Wyświetla informacje o programie. + + + Zaawansowane + + + Pokazuj ramkę okna + + + Przełącznik wyświetlania ramki okna. + + + Włącz przekazywanie kliknięć + + + Uaktywnia przekazywanie kliknięć do klonowanego okna. + + + Włącz kliknij-przez + + + OnTopReplica będzie się zachowywać jak półprzeźroczysta warstwa i będziesz w stanie kliknąć na oknie znajdującym się pod nim. + + + Zamknij + + + Zamyka OnTopReplica. + + + 2:1 Podwójny + + + Pełny ekran + + + 1:2 Połowa + + + 1:1 Rozmiar oryginalny + + + 1:4 Ćwiartka + + + Tryb grupowy + + + OnTopReplica automatycznie sklonuje okno ze zdefiniowanej przez użytkownika grupy przełączając na to, które było najwcześniej zdeaktywowane. + + + 100% (nieprzeźroczyste) + + + Ustawia OnTopReplica jako całkowicie nieprzeźroczyste. + + + 25% + + + Ustawia przeźroczystość OnTopReplica na 25%. + + + 50% + + + Ustawia przeźroczystość OnTopReplica na 50%. + + + 75% + + + Ustawia przeźroczystość OnTopReplica na 75%. + + + Przeźroczystość + + + Otwórz + + + Wyświetla OnTopReplica. + + + Dół Lewo + + + Dół Prawo + + + Środek + + + Wyłączone + + + Zablokuj pozycję + + + Automatycznie ustawia pozycję OnTopReplica na bieżącym ekranie. + + + Góra Lewo + + + Góra Prawo + + + Wyjdź z trybu pełnoekranowego + + + Zapamiętaj ostatnią pozycję i rozmiar + + + Wybierz, czy OnTopReplica powinien zapamiętać ostatnią pozycję i rozmiar i użyć ich ponownie przy kolejnym uruchomieniu. + + + Minimalizuj + + + Minimalizuje OnTopReplica do paska zadań (lub tacki systemowej). + + + Wybierz region... + + + Przełącza na "tryb regionu", w którym można zaznaczyć jako miniaturę określony obszar okna źródłowego. + + + Resetuj okno + + + Resetuje ustawienia OnTopReplica i okna głównego. + + + Zmień rozmiar + + + Przywróć ostatnio klonowane okno + + + Kiedy włączone, OnTopReplica będzie próbować podczas uruchomienia przywrócić ostatnio klonowane okno. + + + Ustawienia... + + + Wyświetla okno konfiguracji. + + + Przełącz na okno + + + Przełącza na okno źródłowe i ukrywa okno OnTopReplica. + + + Wybierz okno + + + - żadne - + + + Wyświetla listę okien, które możesz wybrać jako źródło miniatur. + + + - całe - + + + Bieżący region: + + + Usuń + + + Gotowe + + + Wysokość + + + Zresetuj + + + Zapisz + + + Zapisane regiony + + + Regiony: + + + Szerokość + + + Kliknij prawym tutaj aby rozpocząć... + + + Sklonuj bieżące okno + + + Skróty klawiszowe działają również wtedy, gdy okno OnTopReplica nie jest aktywne. + + + Pokaż/Ukryj + + + Klawisze skrótu: + + + Język: + + + Wymaga restartu. + + + Ustawienia + + + Anuluj aktualizację +OnTopReplica zapyta Cię przy następnym uruchomieniu. + + + Pobierz +Zainstaluj OnTopReplica {0}. + + + Nowa wersja może zostać pobrana i zainstalowana z oficjalnej strony programu. + + + Zainstalowana wersja: {0} +Dostępna wersja: {1} + + + Dostępna jest wersja {0} + + + pobrano {0}/{1} bajtów. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Pobieram... + + + Najnowsza wersja OnTopReplica jest już zainstalowana. Program automatycznie sprawdza dostępność aktualizacji po każdym uruchomieniu. + +Na <a href="website">oficjalnej stronie domowej</a> możesz znaleźć informacje o rozwoju OnTopReplica's oraz zaproponować nowe funkcje. + The website link should be enclosed in <a href="website"></a> tags. + + + Ostatnia wersja stabilna wydana {0}. + {0} last version release date + + + OnTopReplica jest aktualna + + + Zainstaluj +Aktualizacje zostaną zainstalowane po ponownym uruchomieniu OnTopReplica. + + + Wersja {0} OnTopReplica jest gotowa do zainstalowania. + + + Aktualizacja ukończona + + + Aktualizacje OnTopReplica + + + + Must not be localized. Leave blank in non-default languages. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + + Must not be localized. Leave blank in non-default languages. + + \ No newline at end of file diff --git a/OnTopReplica/Strings.pt-BR.resx b/OnTopReplica/Strings.pt-BR.resx new file mode 100644 index 0000000..6f4f6c9 --- /dev/null +++ b/OnTopReplica/Strings.pt-BR.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann. + Must not be localized. Leave blank in non-default languages. + + + Check now! + + + OnTopReplica automatically checks for updates at every start up. + + + Version {0} + + + OnTopReplica + Probably doesn't need localization. :) + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + &Cancel + & marks the ALT+[] shortcut + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + + \ No newline at end of file diff --git a/OnTopReplica/Strings.pt.resx b/OnTopReplica/Strings.pt.resx new file mode 100644 index 0000000..018dc88 --- /dev/null +++ b/OnTopReplica/Strings.pt.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + Check now! + + + OnTopReplica automatically checks for updates at every start up. + + + Version {0} + + + + Probably doesn't need localization. :) + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + &Cancel + & marks the ALT+[] shortcut + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx new file mode 100644 index 0000000..735ef67 --- /dev/null +++ b/OnTopReplica/Strings.resx @@ -0,0 +1,550 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + Lorenz Cuno Klopfenstein + Must not be localized. Leave blank in non-default languages. + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann. + Must not be localized. Leave blank in non-default languages. + + + Check now! + + + OnTopReplica automatically checks for updates at every start up. + + + Version {0} + + + OnTopReplica + Probably doesn't need localization. :) + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + &Cancel + & marks the ALT+[] shortcut + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + + \ No newline at end of file diff --git a/OnTopReplica/Strings.ru.resx b/OnTopReplica/Strings.ru.resx new file mode 100644 index 0000000..bb3d36d --- /dev/null +++ b/OnTopReplica/Strings.ru.resx @@ -0,0 +1,647 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Автор: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Остановить обновление + + + О программе + + + Установить настройки по умолчанию + + + Обновить программу + + + Хотите поддержать проект? Примите участие в улучшении готовых переводов, создайте свой на вашем родном языке или помогите улучшить % на «CodePlex». + + + источниках кода + + + Программа основана на библиотеке «WindowsFormsAero» и некоторых других библиотеках и источниках кода. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Прочитайте полные сведения об источниках + + + Принять участие в разработке + + + Сведения об источниках + + + Соглашение + + + Обновление + + + Программа выпущена в соответствии с лицензией %, которая подходит под определение программы с открытым исходом кодом в представлении OSI. + + + + Can be left blank. + + + Просмотр части выбранного вами окна — просто и легко, в реальном времени, всегда поверх остальных окон. + + + О программе + + + Переводчики: {0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + Обновить сейчас + + + Программа автоматически проверяет наличие обновлений при запуске + + + Версия {0} + + + + Probably doesn't need localization. :) + + + Сбросить окно? + + + &Сброс +Все настройки будут удалены. + + + Можно использовать для сброса всех настроек, если Вы утратили контроль над окном либо поместили его за пределы экрана. + + + Сброс + + + Сбросить настройки? + + + по умолчанию (вся сохраненная после установки информация вроде сохраненных областей будет утрачена). + + + Сбросить настройки + + + &Отмена + & marks the ALT+[] shortcut + + + Выберите области мышью + + + Подробности + + + Подробности о «Windows Aero» + + + Функция «Windows Aero» доступна только на системах «Windows», начиная с «Vista Home Premium», кроме версий «Starter» и «Home Basic» (по умолчанию). + + + Композиция слоев рабочего стола недоступна. + + + Для включения правой кнопкой мыши по рабочему столу и выберите «Персонализацию». + + + Описание ошибки + + + Ошибка: + + + Вероятно, выбранное окно было закрыто или больше не отвечает. + + + Ошибка + + + Для запуска программы требуется «Windows Vista Home Premium» или другие версии «Windows» с поддержкой «Aero». + + + Композиция слоев рабочего стола не поддерживается. + + + Окно просмотра не загружено. + + + Невозможно создать окно просмотра. + + + Невозможно уместить в окне. + + + Невозможно проверить обновления. + + + Вероятно, программа была установлена с использованием функции «ClickOnce». Вам необходимо обновить ее самостоятельно. (Посетите <a href="http://ontopreplica.codeplex.com"> домашнюю страницу программы</a>). + + + Программе не удалось проверить доступность новой версии. Удостоверьтесь, что подключение к Интернету присутствует. Если присутствует, сайт может временно не работать. + + + Режим + + + Всегда поверх других окон + + + Всегда удерживать программу поверх других окон. + + + Пропускать щелчки мышью + + + Программа будет работать, как прозрачный слой, позволяющий щелкать мышью по нижележащим окнам. + + + Обычный + + + Программа будет работать, как обычное окно. Вы сможете помещать другие окна поверх окна программы. + + + Полноэкранный режим + + + Отключить + + + Включить групповой режим + + + Для включения выберите несколько окон. + + + Групповой режим включен. + + + Групповой режим: + + + Окна + Column Header of list, simply refers to available windows to be cloned + + + Домашняя страница: www.codeplex.com/ontopreplica. + + + Хотите включить передачу щелчков мышью главному окну? + + + Нажать Esc для выхода из этого режима. + There appears to be a missing part. + + + Передача щелчков мышью главному окну. + This appears to be wrong. + + + Включить режим сквозных щелчков мышью? + + + Режим сквозных щелчков мышью работает, только когда он включен в подменю «Изменить размер» и окно полупрозрачно. + + + Для возвращения в обычный режим в любое время, разверните программу щелчком по ней в панели задач (или лотке). + + + Нет, спасибо +Вы можете включить сквозные щелчки мышью в другой раз. + + + Использовать сквозные щелчки мышью + + + Режим сквозных щелчков мышью + + + Программа обновлена. + + + Для использования обновленной версии программы ее необходимо перезапустить. + + + Обновление успешно + + + Используется последняя версия программы. + + + Обновлений нет + + + Язык + + + О программе... + + + Сворачивает главное окно и показывает окно «О программе». + + + Дополнительно + + + Показывать границу окна + + + Изменяет видимость границы окна. + + + Включить передачу щелчков мышью главному окну + + + Включить передачу щелчков мышью скопированному окну. + + + Включить сквозные щелчки мышью + + + Программа будет работать, как прозрачный слой, позволяющий щелкать мышью по нижележащим окнам. + + + Закрыть + + + Закрыть программу. + + + 2:1 Двойной + + + Полноэкранный режим + + + 1:2 Половина + + + 1:1 По размерам окна + + + 1:4 Четверть + + + Групповой режим + + + Программа автоматически скопирует окно из группы, определенной пользователем, переключаясь на то, которое побывало на переднем плане первым из всех. + Fixed + + + 100% (непрозрачный) + + + Делает программу полностью непрозрачной. + + + 25% + + + Делает программу прозрачной на 25%. + + + 50% + + + Делает программу прозрачной на 50%. + + + 75% + + + Делает программу прозрачной на 75%. + + + Прозрачность + + + Открыть + + + Показывает программу. + + + Снизу слева + + + Снизу справа + + + В центре + + + Отключено + + + Закрепить положение + + + Автоматически разместить программу на текущем экране. + + + Сверху слева + + + Сверху справа + + + Выйти из полноэкранного режима + + + Использовать последнее положение и размер + + + Сохранение программой своего последнего положения и размера с их использованием при запуске. + + + Свернуть + + + Сворачивает программу в панель задач (или лоток). + + + Выбрать область... + + + Переключается в «режим области», позволяющий выбирать для показа ограниченную область исходного окна. + + + Сбросить окно + + + Сбрасывает настройки программы и ее главное окно. + + + Изменить размер + + + Восстанавливать последнее копированное окно + + + Если включено, программа попытается при запуске восстановить окно, скопированное последним. + + + Настройки... + + + Показывает панель настроек. + + + Переключиться на окно + + + Переключается на исходное окно и скрывает программу. + + + Выбрать окно + + + - пусто - + + + Показывает список окон, которые можно выбрать в качестве источников для копирования. + + + - полностью - + + + Выбранная область: + + + Удалить + + + Готово + + + Высота + + + Сбросить + + + Сохранить + + + Сохраненные области + + + Области: + + + Ширина + + + Для начала щелкните тут правой кнопкой мыши... + + + Скопировать текущее окно + + + Эти глобальные сочетания клавиш можно использовать также когда программа на заднем плане. + + + Показать/Скрыть + + + Сочетания клавиш: + + + Язык: + + + Требуется перезапуск. + + + Настройки + + + Отменить обновление +Программа уведомит Вас об обновлении при следующем запуске. + + + Скачать +Установить программу «OnTopReplica» {0}. + + + Новую версию можно скачать и установить с официального сайта. + + + Установленная версия: {0}. +Доступная версия: {0}. + + + Доступна версия {0} + + + Скачано {0} из {1} + {0} downloaded bytes {1} total bytes + + + Загрузка... + + + Установлена последняя версия программы «OnTopReplica». Программа автоматически проверяет обновления при каждом запуске. + +Вы можете следить за обновлениями программы, предлагать улучшения и новые функции на <a href="website">сайте программы </a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Последняя стабильная версия выпущена {0}. + {0} last version release date + + + Вы пользуетесь последней версией программы + + + Установить +Программа будет закрыта для установки обновления. + + + «OnTopReplica» (версия {0}) готова к установке на вашем компьютере. + + + Обновление готово + + + Программа обновляется + + \ No newline at end of file diff --git a/OnTopReplica/Strings.tr.resx b/OnTopReplica/Strings.tr.resx new file mode 100644 index 0000000..aad4cfb --- /dev/null +++ b/OnTopReplica/Strings.tr.resx @@ -0,0 +1,652 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Yazar Hakkında: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Güncellemeyi iptal et. + + + OnTopRelica hakkında ayrıntıları görüntüle. + + + Bütün OnTopRelica ayarlarını sıfırla. + + + OnTopRelica'yı güncelle. + + + Programa katkıda bulunmak ister misiniz? Mevcut çevirileri geliştirmenizi memnuniyetle karşılarız, programı kendi dilinize çevirin veya %'e CodePlex'ten bir göz atın. + + + kaynak kod + + + OnTopReplica'nın temelinde WindowsFormsAero kütüphanesi ve bazı diğer kütüphaneler ile kaynak kodları vardır. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Tüm Yapımcıları Gör + + + Katkı + + + Yapımcılar + + + Lisans + + + Güncellemeler + + + Bu uygulama OSI tarafından belirtilmiş "açık-kaynak" tanımının koşullarını yerine getiren % lisansı tarafından lisanslanmıştır. + + + + Can be left blank. + + + Seçtiğiniz pencerenin hafif, gerçek zamanlı ve her zaman en üstteki küçük resmi. + + + OnTopReplica hakkında + + + Çevirmenler: {0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + Kontrol Et! + + + OnTopReplica her başlangıçta güncellemeleri otomatik olarak kontrol eder. + + + Versiyon {0} + + + OnTopReplica + Probably doesn't need localization. :) + + + Pencereyi tamamen yeniden ayarla? + + + &Reset +Bütün ayarlar kaybolacak. + + + Eğer pencere üzerindeki denetimizi kaybettiyseniz veya pencere ekran sınırları dışına çıktı ise kullanılabilir. + + + Sıfırla + + + Ayarları sıfırla? + + + Bu OnTopReplica'nın bütün ayarlarını silip, yüklemeden hemen sonraki haline geri döndürecektir (bütün kaydedilen bilgi, saklı bölgeler kaybolacaktır). + + + Ayarları sıfırla + + + &Vazgeç + & marks the ALT+[] shortcut + + + Farenizi kullarak bölgeler çizin. + + + Ayrıntılar + + + Windows Aero'da ki ayrıntılar + + + Windows Aero sadece Windows Vista Home Premium veya daha yüksek sürümlerde bulunmaktadır. + + + Masaüstü bileşimi aktif değil. + + + Windows tarafından kullanılan 'Windows Aero'yu tema olarak seçerek masaüstü bileşimini aktif etmelisiniz. + +Bunu yapmak için, masaüstüne sağ tıklayın ve Kişiselleştir'e tıklayın. + + + Hata detayları + + + Hata: + + + Seçtiğiniz pencere kapatılmış veya artık geçerli değil gibi görünüyor. + + + Hata + + + Masaüstü bileşimi İşletim Sisteminiz tarafından desteklenmiyor. +Bu programı Windows Vista Home Premium veya daha iyisinde çalıştırmalısınız. + + + Masaüstü Bileşimi Desteklenmiyor + + + Hiçbir küçükresim yüklenmedi. + + + Küçükresim yaratılamıyor + + + Pencereye oturtulamıyor. + + + Güncellemeler kontrol edilemiyor. + + + OnTopReplica 'ClickOnce' kullanılara yüklenmemiş gözüküyor. Elle güncellemeniz gerek (<a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>'i ziyaret edin). + + + OnTopReplica güncellenmiş bir versiyonun mevcut olup olmadığını denetleyemiyor. İnternete bağlı olduğunuzdan emin olun. Eğer bağlı iseniz websitesi geçici olarak servis dışı olabilir. + + + Mod + + + Her zaman üstte + + + OnTopReplica'nın her zaman en üstte kalması için zorlar. + + + Tıkla + + + OnTopReplica arkadaki pencerelere direkt tıklamanıza izin veren transparan bir kaplama gibi davranır. + + + Standart + + + Normal bir pencere gibi davranır. Diğer pencereleri OnTopReplica'nın üstüne getirebilirsiniz. + + + OnTopReplica tam ekran + + + Etkisizleştir + + + Grup modu etkinleştir + + + Etkinleştirilecek çoklu pencereleri seçiniz. + + + Grup değiştirme modu etkin. + + + Grup değiştirme modu: + + + Pencereler + Column Header of list, simply refers to available windows to be cloned + + + Anasayfa: www.codeplex.com/ontopreplica. + + + "tıkla yönlendir"'i etkinleştirmek ister misiniz? + Should be capitalized? + + + Eğer bu mod etkinleştirilmiş ise, OnTopReplica bütün sol fare tıklamalarını klonlanmış pencereye iletecektir(bu size klonlanmış pencere üzerinde onu aktifleştirmeden temel fare işlemlerinizi yapabilmenize izin verir). + +Bu moddan çıkmak için, ESC'ye basınız. + + + Tıkla yönlendir + + + Direkt-Tıkla modunu etkinleştir? + + + Direk-tıkla sadece Yeniden boyutlandır altmenüsünde etkinleştirildiyse ve pencere yarı-transparan ise çalışır. + + + Bu modda tamekran pencere kısmen transparan kaplama gibi davranır, arkasındaki pencerelere tıklamanıza izin verir. + +Herhangi bir zamanda normal moda dönmek için, OnTopReplica görev çubuğuna (veya sistem simgesine) tıklayarak aktifleştirin. + + + Hayır, teşekkür ederim +direkt-tıklayı daha sonra etkinleştirebilirsiniz. + Second sentence capitalized? + + + Direkt-Tıkla kullan + + + Direkt-Tıkla modu + + + OnTopReplica güncellendi. + + + OnTopReplica'nın güncellenmiş versiyonunu kullanmak için uygulamayı yeniden başlatmalısınız. + + + Güncelleme başarılı + + + OnTopReplica güncel. + + + Güncelleme mevcut değil + + + Dil + + + Hakkında... + + + Ana pencereyi gizler ve "hakkında" kutusunu gösterir. + + + Gelişmiş + + + Pencere kenarlığı göster + + + Pencere kenarlığı gösterimini değiştirir. + + + Tıkla yönlendir'i etkinleştir + + + Klonlanmış pencerede "tıkla yönlendir"'i etkinleştir. + + + Direkt-Tıkla'yı etkinleştir + + + OnTopReplica arkadaki pencerelere direkt tıklamanıza izin veren transparan bir kaplama gibi davranır. + + + Kapat + + + OnTopReplica'yı kapatır. + + + 2:1 Çift + + + Tamekran + + + 1:2 Yarım + + + 1:1 pencereye sığdır + + + 1:4 Çeyrek + + + Grup Değiştirme modu + + + OnTopReplica kullanıcı tanımlı gruptan bir pencereyi kopyalayıp, arkaplanda en son aktifleştirilen biri ile değiştirecektir. + + + 100% (opak) + + + OnTopReplica'yı tamamen opak olarak ayarlar. + + + 25% + + + OnTopReplica'yı 25% opaklığına ayarlar. + + + 50% + + + OnTopReplica'yı 50% opaklığına ayarlar. + + + 75% + + + OnTopReplica'yı 75% opaklığına ayarlar. + + + Opaklık + + + + + + OnTopReplica'yı görüntüler. + + + Sol Alt + + + Sağ Alt + + + Merkez + + + Devredışı + + + Konum kilidi + + + OnTopReplica'yı otomatik olarak şu anki ekrana konumlandırır. + + + Sol Üst + + + Sağ Üst + + + Tamekran modundan çık + + + Son pozisyona dön ve boyutlandır + + + OnTopReplica'nın son konumunu kaydedip kaydetmeyeceğini değiştirir ve boyutlandırıp bunu yeniden başladığında kullanır. + + + Küçült + + + OnTopReplica'yı görev çubuğuna (veya sistem kısayollarına) küçültür. + + + Bölge seçiniz... + + + "bölge modu"na geçer, bu size kaynak penceresinin küçük resminin kısıtlı bir bölgesini seçmenize izin verir. + + + Pencereyi sıfırla + + + OnTopReplica'nın ayarlarını ve ana penceresini sıfırlar. + + + Yeniden boyutlandır + + + Son klonlanan pencereyi geri yükle + + + Etkinleştirildiği zaman, OnTopReplica son klonlanan pencereyi başlangıçta yeniden yüklemeye çalışır. + + + Ayarlar... + + + Ayarlar panelini görüntüler. + + + Pencereye geç + + + Kaynak pencereye geçer ve OnTopReplica'yı gizler. + + + Pencere seç + + + - yok - + + + Küçük resim kaynağı halinde seçebileceğiniz pencere listesini görüntüler. + + + - tamamen - + + + Şu anki bölge: + + + Sil + + + Tamamlandı + + + Yükseklik + + + Sıfırla + + + Kaydet + + + Kayıtlı bölgeler + + + Bölgeler: + + + Genişlik + + + Başlamak için buraya sağ tıklayın... + + + Şu anki pencereyi klonla + + + Bu sistem genelinde kısayollar ayrıca OnTopReplica üstte olmadığı zaman kullanılabilir. + + + Göster/Gizle + + + Kısayollar: + + + Dil: + + + Yeniden başlatma gerektirir. + + + Ayarlar + + + Güncellemeden vazgeç +OnTopReplica sizi yeniden başlatıldığında uyaracaktır. + + + İndir +OnTopReplica {0} Yükle. + + + Yeni versiyon resmi siteden indirilebilir ve yüklenebilir. + + + Yüklü versiyon: {0}. +Kullanılabilir versiyon: {1}. + + + Versiyon {0} mevcut + + + {0}/{1} byte indirildi. + + + İndiriliyor... + + + OnTopReplica'nın en son sürümü zaten yüklenmiş. Program her başlangıçta güncellemeleri otomatik olarak denetler. + +OnTopReplica'nın geliştirilmesi, yeni özellik ve geliştirme önerileri hakkında by <a href="website">resmi internet sitesini ziyaret ederek</a> güncel kalabilirsiniz. + The website link should be enclosed in <a href="website"></a> tags. + + + En son kararlı versiyon {0} tarihinde yayınlandı. + {0} last version release date + + + OnTopReplica güncel + + + Yükle +OnTopReplica kapatılınca güncelleme yüklenmiş olacaktır. + + + OnTopReplica versiyon {0} bilgisayarınızda yüklenmeye hazır. + + + Güncelleme hazır + + + OnTopReplica güncellemeleri + + \ No newline at end of file diff --git a/OnTopReplica/Strings.zh-Hans.resx b/OnTopReplica/Strings.zh-Hans.resx new file mode 100644 index 0000000..b68ff04 --- /dev/null +++ b/OnTopReplica/Strings.zh-Hans.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 作者 % + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + 终止更新过程 + + + 展开关于OnTopReplica的详细内容 + + + 重置OnTopReplica的所有设定 + + + 现在更新OnTopReplica + + + 想为本项目出一份力吗?欢迎你参与到翻译工作中来,抑或检视从CodePlex处取得的 % + + + 源代码 + + + OnTopReplica基于WindowsFormsAero库和其他库及代码。% + Link % is replaced by string AboutCreditsSourcesContent. + + + 了解全部 + + + 贡献 + + + 制作 + + + 授权 + + + 更新 + + + 应用程序根据%许可获得授权,即指遵循OSI界定的“开源”条款 + + + 微软互惠授权(MS-RL) + Can be left blank. + + + 一个轻量级、实时、窗口缩略图置顶工具 + + + 关于OnTopReplica + + + 译者:{0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + 检查更新! + + + OnTopReplica自动在每次开启时检查更新 + + + 版本{0} + + + + Probably doesn't need localization. :) + + + 完全重置窗口吗? + + + &重置 +所有设定均会丢失 + + + 可以在没辙的时候用来重置所有设定 + + + 重置 + + + 重置设定吗? + + + 这将清除所有OnTopReplica的设定,并回到刚安装完的状态(所有保存的信息、保存的选区,均会丢失) + + + 重置设定 + + + &取消 + & marks the ALT+[] shortcut + + + 使用鼠标划出区域 + + + 详细信息 + + + Windows Aero的详细信息 + + + 为什么Windows Aero特效只在Windows Vista Home Premium或更高级版本中出现 + + + 未启用桌面组合 + + + 程序需要系统的Aero主题配合 + +桌面右击,个性化,选择主题 + + + 详细错误 + + + 错误: + + + 选中的窗口似乎已经关闭或已失效 + + + 错误 + + + 您的操作系统不支持桌面组合 +请在Windows Vista Home Premium或更高版本中运行 + + + 不支持桌面组合 + + + 无缩略图可加载 + + + 无法创建缩略图 + + + 无法适应窗口 + + + 无法检查更新 + + + OnTopReplica不是用“ClickOnce”方式安装的。您不得不手动更新了(访问 <a href="http://ontopreplica.codeplex.com">OnTopReplica的主页</a>) + + + OnTopReplica无法检测更新,请确保已连接到互联网。当然,也有可能是网站暂时关闭 + + + 模式 + + + 总是置顶 + + + 强制OnTopReplica置顶 + + + 点击穿过 + + + OnTopReplica会像一个透明的覆盖层并允许您点击其后面的窗口 + + + 标准模式 + + + 变回普通窗口,OnTopReplica会被其他窗口阻挡 + + + OnTopReplica全屏幕 + + + 取消 + + + 激活组模式 + + + 选择多个窗口以启用 + + + 自切换组模式已激活 + + + 自切换组模式: + + + 窗口 + Column Header of list, simply refers to available windows to be cloned + + + 主页:www.codeplex.com/ontopreplica + + + 您想启用“点击转发”吗? + + + 如果启用此模式,OnTopReplica会将所有鼠标点击转发到被克隆的窗口上(这将允许您绕过窗口激活直接对被克隆的窗口做一些基本的鼠标操作) + +想退出此模式,按ESC + + + 点击转发 + + + 启用点击穿过模式吗? + + + 点击穿过功能仅在缩放启用或窗口半透明的状态下方能工作 + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + 不了,谢谢 +等下再启用点击穿过 + + + 使用点击穿过 + + + 点击穿过模式 + + + OnTopReplica已更新 + + + 为能使用新版OnTopReplica,您必须重新启动本程序 + + + 更新成功 + + + OnTopReplica是最新的 + + + 没有可用的更新 + + + 语言 + + + 关于... + + + 隐藏著窗口,并显示“关于”对话框 + + + 高级 + + + 显示窗口边框 + + + 切换显示窗口边框 + + + 启用点击转发 + + + 对被克隆的窗口启用“点击转发” + + + 启用点击穿过 + + + OnTopReplica会像一个透明的覆盖层并允许您点击其后面的窗口 + + + 退出 + + + 关闭OnTopReplica + + + 200% + + + 全屏 + + + 50% + + + 100% + + + 25% + + + 自切换组模式 + + + OnTopReplica会自动定位到自切换组中最不活跃的那个程序,并克隆其窗口 + + + 100% + + + 把OnTopReplica设为完全不透明状态 + + + 25% + + + 把OnTopReplica的不透明度设为25% + + + 50% + + + 把OnTopReplica的不透明度设为50% + + + 75% + + + 把OnTopReplica的不透明度设为75% + + + 不透明度 + + + 打开 + + + 显示OnTopReplica + + + 左下 + + + 右下 + + + 中央 + + + 取消 + + + 锁定位置 + + + 自动在当前屏幕定位OnTopReplica + + + 左上 + + + 右上 + + + 退出全屏模式 + + + 记忆窗口大小和位置 + + + 选择是否记忆窗口大小和位置,并在下次运行时恢复 + + + 最小化 + + + 最小化到任务栏上 + + + 选择区域... + + + 截取部分窗口内容 + + + 重置窗口 + + + 重置OnTopReplica的设定及其主窗口 + + + 缩放 + + + 恢复上次克隆的窗口 + + + 激活此项,程序开启时将尝试恢复最后克隆的窗口 + + + 设置... + + + 显示设置面板 + + + 切换到窗口 + + + 切换到源窗口并隐藏OnTopReplica + + + 选取窗口 + + + - 无 - + + + 显示窗口列表以选择缩略图来源 + + + - 全部 - + + + 当前选区: + + + 删除 + + + 完成 + + + 高度 + + + 重来 + + + 保存 + + + 保存选区 + + + 选区: + + + 宽度 + + + 点击右键以开始... + + + 克隆当前窗口 + + + 全局快捷键,前后台运行均会响应 + + + 显示/隐藏 + + + 快捷键: + + + 语言: + + + 需要重启本程序 + + + 设置 + + + 取消更新 +OnTopReplica会在下次开启的时候提示更新 + + + 下载 +安装OnTopReplica{0} + + + 可以从官网上下载和安装程序的最新版 + + + 安装的版本:{0} +可用的版本:{1} + + + 版本{0}可用 + + + 下载了{0}/{1}字节 + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + 下载中... + + + 已安装最新版的OnTopReplica,程序每次开启都会自动检查更新。 + +你可以<a href="website">访问官网</a>来了解OnTopReplica的最新进展并提出自己的建议 + The website link should be enclosed in <a href="website"></a> tags. + + + 最新稳定版于{0}释出 + {0} last version release date + + + OnTopReplica是最新的 + + + 安装 +OnTopReplica将被关闭以安装更新 + + + 版本{0}的OnTopReplica已经准备在你电脑上安装 + + + 准备更新 + + + OnTopReplica更新 + + \ No newline at end of file diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs new file mode 100644 index 0000000..10e04bc --- /dev/null +++ b/OnTopReplica/ThumbnailPanel.cs @@ -0,0 +1,447 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using WindowsFormsAero.Dwm; +using WindowsFormsAero.ThemeText; +using System.Drawing; +using System.Windows.Forms.VisualStyles; +using OnTopReplica.Native; + +namespace OnTopReplica { + + class ThumbnailPanel : Panel { + + //DWM Thumbnail stuff + Thumbnail _thumbnail = null; + Rectangle _regionCurrent; + + //Labels + ThemedLabel _labelGlass; + + public ThumbnailPanel() { + InitFormComponents(); + } + + private void InitFormComponents() { + BackColor = Color.Black; + + //Themed Label + _labelGlass = new ThemedLabel { + Dock = DockStyle.Fill, + ForeColor = SystemColors.ControlText, + Location = Point.Empty, + Size = ClientSize, + Name = "labelGlass", + Text = Strings.RightClick, + TextAlign = HorizontalAlignment.Center, + TextAlignVertical = VerticalAlignment.Center + }; + this.Controls.Add(_labelGlass); + } + + #region Properties and settings + + /// + /// Gets or sets the region that is currently shown on the thumbnail. When set, also enabled region constrain. + /// + public Rectangle SelectedRegion { + get { + return _regionCurrent; + } + set { + _regionCurrent = value; + ConstrainToRegion = true; + } + } + + bool _regionEnabled = false; + + /// + /// Gets or sets whether the thumbnail is constrained to a region or not. + /// + public bool ConstrainToRegion { + get { + return _regionEnabled; + } + set { + _regionEnabled = value; + UpdateThubmnail(); + } + } + + bool _drawMouseRegions = false; + + /// + /// Gets or sets whether the control is is "region drawing" mode and reports them via events. + /// + public bool DrawMouseRegions { + get { + return _drawMouseRegions; + } + set { + //Set mode and reset region + _drawMouseRegions = value; + _drawingRegion = false; + + //Cursor change + Cursor = (value) ? Cursors.Cross : Cursors.Default; + + //Refresh gui + UpdateThubmnail(); + _labelGlass.Visible = !value; + this.Invalidate(); + } + } + + /// + /// Gets the target opacity of the thumbnail, depending on the control's state. + /// + protected byte ThumbnailOpacity { + get { + return (_drawMouseRegions) ? (byte)130 : (byte)255; + } + } + + /// + /// Gets or sets whether the control should report clicks made on the cloned thumbnail. + /// + public bool ReportThumbnailClicks { + get; + set; + } + + /// + /// Gets the thumbnail's original size. + /// + public Size ThumbnailOriginalSize { + get { + if (_thumbnail != null && !_thumbnail.IsInvalid) { + if (_regionEnabled) + return _regionCurrent.Size; + + return _thumbnail.SourceSize; + } + else + throw new Exception(Strings.ErrorNoThumbnail); + } + } + + #endregion + + #region GUI event handling + + protected override void OnResize(EventArgs eventargs) { + base.OnResize(eventargs); + UpdateThubmnail(); + } + + protected override void WndProc(ref Message m) { + base.WndProc(ref m); + + //Check whether this is a hit-test on "client" surface + if (m.Msg == WM.NCHITTEST && m.Result.ToInt32() == HT.CLIENT) { + //Check whether clicks must be reported + if(!DrawMouseRegions && !ReportThumbnailClicks /*&& !InputMethods.IsKeyPressed(VirtualKeyState.VK_SHIFT)*/){ + m.Result = new IntPtr(HT.TRANSPARENT); + } + } + } + + #endregion + + #region Thumbnail interface + + /// + /// Creates a new thumbnail of a certain window. + /// + /// Handle of the window to clone. + public void SetThumbnailHandle(WindowHandle handle) { + if (_thumbnail != null && !_thumbnail.IsInvalid) + _thumbnail.Close(); + + //Get form and register thumbnail on it + Form owner = this.TopLevelControl as Form; + if(owner == null) + throw new Exception("Internal error: ThumbnailPanel.TopLevelControl is not a Form."); + + _labelGlass.Visible = false; + + _thumbnail = DwmManager.Register(owner, handle.Handle); + ConstrainToRegion = false; //this also invokes a thumbnail update + } + + /// + /// Disposes current thumbnail and enters stand-by mode. + /// + public void UnsetThumbnail() { + if (_thumbnail != null && !_thumbnail.IsInvalid) + _thumbnail.Close(); + + _thumbnail = null; + _labelGlass.Visible = true; + } + + /// + /// Gets whether the control is currently displaying a thumbnail. + /// + public bool IsShowingThumbnail { + get { + return (_thumbnail != null && !_thumbnail.IsInvalid); + } + } + + int _padWidth = 0; + int _padHeight = 0; + Size _thumbnailSize; + + /// + /// Updates the thumbnail options and the right-click label. + /// + private void UpdateThubmnail() { + if (_thumbnail != null && !_thumbnail.IsInvalid){ + try { + Size sourceSize = ThumbnailOriginalSize; + _thumbnailSize = ComputeIdealSize(sourceSize, Size); + + _padWidth = (Size.Width - _thumbnailSize.Width) / 2; + _padHeight = (Size.Height - _thumbnailSize.Height) / 2; + + var target = new Rectangle(_padWidth, _padHeight, _thumbnailSize.Width, _thumbnailSize.Height); + Rectangle source = (_regionEnabled) ? _regionCurrent : new Rectangle(Point.Empty, _thumbnail.SourceSize); + + _thumbnail.Update(target, source, ThumbnailOpacity, true, true); + } + catch { + //Any error updating the thumbnail forces to unset (handle may not be valid anymore) + UnsetThumbnail(); + return; + } + } + } + + /// + /// Computes ideal thumbnail size given an original size and a target to fit. + /// + /// Size of the original thumbnail. + /// Size of the client area to fit. + private Size ComputeIdealSize(Size sourceSize, Size clientSize) { + double sourceRatio = (double)sourceSize.Width / (double)sourceSize.Height; + double clientRatio = (double)clientSize.Width / (double)clientSize.Height; + + Size ret; + if (sourceRatio >= clientRatio) { + ret = new Size(clientSize.Width, (int)((double)clientSize.Width / sourceRatio)); + } + else { + ret = new Size((int)((double)clientSize.Height * sourceRatio), clientSize.Height); + } + + return ret; + } + + #endregion + + #region Region drawing + + //Set if currently drawing a window (first click/drag was initiated) + bool _drawingRegion = false; + //Set if drawing was suspended because the mouse left the control + bool _drawingSuspended = false; + Point _regionStartPoint; + Point _regionLastPoint; + + public delegate void RegionDrawnHandler(object sender, Rectangle region); + + public event RegionDrawnHandler RegionDrawn; + + protected virtual void OnRegionDrawn(Rectangle region) { + //Fix region if necessary (bug report by Gunter, via comment) + if (region.Width < 1) region.Width = 1; + if (region.Height < 1) region.Height = 1; + + var evt = RegionDrawn; + if (evt != null) + evt(this, region); + } + + /// + /// Raises a RegionDrawn event, given a starting and an ending point of the drawn region. + /// + protected void RaiseRegionDrawn(Point start, Point end) { + if (_thumbnailSize.Width < 1 || _thumbnailSize.Height < 1) //causes DivBy0 + return; + + //Compute bounds + int left = Math.Min(start.X, end.X); + int right = Math.Max(start.X, end.X); + int top = Math.Min(start.Y, end.Y); + int bottom = Math.Max(start.Y, end.Y); + + //Clip to boundaries + left = Math.Max(0, left); + right = Math.Min(_thumbnailSize.Width, right); + top = Math.Max(0, top); + bottom = Math.Min(_thumbnailSize.Height, bottom); + + //Compute region rectangle in thumbnail coordinates + var startPoint = ClientToThumbnail(new Point(left, top)); + var endPoint = ClientToThumbnail(new Point(right, bottom)); + var final = new Rectangle( + startPoint, + new Size(endPoint.X - startPoint.X, endPoint.Y - startPoint.Y) + ); + + //Update region + SelectedRegion = final; + OnRegionDrawn(final); + } + + protected override void OnMouseDown(MouseEventArgs e) { + if (DrawMouseRegions && e.Button == MouseButtons.Left) { + //Start new region drawing + _drawingRegion = true; + _drawingSuspended = false; + _regionStartPoint = _regionLastPoint = e.Location; + + this.Invalidate(); + } + + base.OnMouseDown(e); + } + + protected override void OnMouseUp(MouseEventArgs e) { + if (DrawMouseRegions && e.Button == MouseButtons.Left) { + //Region completed + _drawingRegion = false; + _drawingSuspended = false; + RaiseRegionDrawn(_regionStartPoint, _regionLastPoint); + + this.Invalidate(); + } + + base.OnMouseUp(e); + } + + protected override void OnMouseLeave(EventArgs e) { + _drawingSuspended = true; + + this.Invalidate(); + + base.OnMouseLeave(e); + } + + protected override void OnMouseEnter(EventArgs e) { + _drawingSuspended = false; + + this.Invalidate(); + + base.OnMouseEnter(e); + } + + protected override void OnMouseMove(MouseEventArgs e) { + if (_drawingRegion && e.Button == MouseButtons.Left) { + //Continue drawing + _regionLastPoint = e.Location; + + this.Invalidate(); + } + else if(DrawMouseRegions && !_drawingRegion){ + //Keep track of region start point + _regionLastPoint = e.Location; + + this.Invalidate(); + } + + base.OnMouseMove(e); + } + + Pen penRed = new Pen(Color.FromArgb(255, Color.Red), 1.0f); + + protected override void OnPaint(PaintEventArgs e) { + if (_drawingRegion) { + //Is currently drawing, show rectangle + int left = Math.Min(_regionStartPoint.X, _regionLastPoint.X); + int right = Math.Max(_regionStartPoint.X, _regionLastPoint.X); + int top = Math.Min(_regionStartPoint.Y, _regionLastPoint.Y); + int bottom = Math.Max(_regionStartPoint.Y, _regionLastPoint.Y); + + e.Graphics.DrawRectangle(penRed, left, top, right - left, bottom - top); + } + else if (DrawMouseRegions && ! _drawingSuspended) { + //Show cursor coordinates + e.Graphics.DrawLine(penRed, new Point(0, _regionLastPoint.Y), new Point(ClientSize.Width, _regionLastPoint.Y)); + e.Graphics.DrawLine(penRed, new Point(_regionLastPoint.X, 0), new Point(_regionLastPoint.X, ClientSize.Height)); + } + + base.OnPaint(e); + } + + #endregion + + #region Thumbnail clone click + + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); + + if (_thumbnail == null) + return; + + //Raise clicking event to allow click forwarding + if (ReportThumbnailClicks) { + OnCloneClick(ClientToThumbnail(e.Location), e.Button, false); + } + } + + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); + + if (_thumbnail == null) + return; + + //Raise double clicking event to allow click forwarding + if (ReportThumbnailClicks) { + OnCloneClick(ClientToThumbnail(e.Location), e.Button, true); + } + } + + /// + /// Is raised when the thumbnail clone is clicked. + /// + public event EventHandler CloneClick; + + protected virtual void OnCloneClick(Point location, MouseButtons buttons, bool doubleClick){ + var evt = CloneClick; + if(evt != null) + evt(this, new CloneClickEventArgs(location, buttons, doubleClick)); + } + + #endregion + + /// + /// Convert a point in client coordinates to a point expressed in terms of a cloned thumbnail window. + /// + /// Point in client coordinates. + protected Point ClientToThumbnail(Point position) { + //Compensate padding + position.X -= _padWidth; + position.Y -= _padHeight; + + PointF proportionalPosition = new PointF( + (float)position.X / _thumbnailSize.Width, + (float)position.Y / _thumbnailSize.Height + ); + + //Get real pixel region info + Size source = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; + Point offset = (_regionEnabled) ? _regionCurrent.Location : Point.Empty; + + return new Point( + (int)((proportionalPosition.X * source.Width) + offset.X), + (int)((proportionalPosition.Y * source.Height) + offset.Y) + ); + } + + } + +} diff --git a/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs b/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs new file mode 100644 index 0000000..6482835 --- /dev/null +++ b/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Update { + class UpdateCheckCompletedEventArgs : EventArgs { + + public UpdateInformation Information { get; set; } + + public bool Success { get; set; } + + public Exception Error { get; set; } + + } +} diff --git a/OnTopReplica/Update/UpdateInformation.cs b/OnTopReplica/Update/UpdateInformation.cs new file mode 100644 index 0000000..662c8c4 --- /dev/null +++ b/OnTopReplica/Update/UpdateInformation.cs @@ -0,0 +1,101 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.IO; +using System.Xml; +using System.Reflection; + +namespace OnTopReplica.Update { + + /// + /// Contains information about the latest OnTopReplica update available. + /// + public class UpdateInformation { + + Version _latestVersion; + + /// + /// Gets the latest available version of the software. + /// + [XmlIgnore] + public Version LatestVersion { + get { + return _latestVersion; + } + set { + _latestVersion = value; + } + } + + [XmlElement("latestVersion")] + public string LatestVersionInternal { + get { + return _latestVersion.ToString(); + } + set { + _latestVersion = new Version(value); + } + } + + /// + /// Returns whether this update information instance represents data about + /// a new available version. + /// + public bool IsNewVersion { + get { + var currentVersion = CurrentVersion; + + return (LatestVersion > currentVersion); + } + } + + /// + /// Gets the currently installed version. + /// + public Version CurrentVersion { + get { + return Assembly.GetExecutingAssembly().GetName().Version; + } + } + + /// + /// Indicates when the latest version was released. + /// + [XmlElement("latestVersionRelease")] + public DateTime LatestVersionRelease { get; set; } + + /// + /// Gets the URL of the page that allows the user to download the updated installer. + /// + [XmlElement("downloadPage")] + public string DownloadPage { get; set; } + + /// + /// Gets the URL of the installer executable. + /// + /// New after version 3.3.1. + [XmlElement("downloadInstaller")] + public string DownloadInstaller { get; set; } + + /// + /// Deserializes an UpdateInformation object from a stream. + /// + public static UpdateInformation Deserialize(Stream source) { + var serializer = new XmlSerializer(typeof(UpdateInformation)); + var info = serializer.Deserialize(source) as UpdateInformation; + return info; + } + + public static string Serialize(UpdateInformation information) { + var serializer = new XmlSerializer(typeof(UpdateInformation)); + var sb = new StringBuilder(); + using(var writer = new StringWriter(sb)){ + serializer.Serialize(writer, information); + } + return sb.ToString(); + } + + } + +} diff --git a/OnTopReplica/Update/UpdateManager.cs b/OnTopReplica/Update/UpdateManager.cs new file mode 100644 index 0000000..826481a --- /dev/null +++ b/OnTopReplica/Update/UpdateManager.cs @@ -0,0 +1,278 @@ +using System; +using System.Diagnostics; +using System.IO; +using System.Net; +using System.Net.Cache; +using System.Windows.Forms; +using WindowsFormsAero.TaskDialog; + +namespace OnTopReplica.Update { + + /// + /// Handles update checking and information display. + /// + class UpdateManager { + + /// + /// Constructs a new update manager with an attached form. + /// + /// Form through which all GUI calls are made. Closing this form should terminate the application. + public UpdateManager(Form attachedForm) { + if (attachedForm == null) + throw new ArgumentNullException(); + + AttachedForm = attachedForm; + } + + /// + /// Gets or sets the attached form (through which all GUI calls are made). + /// + protected Form AttachedForm { get; private set; } + + #region Checking + + const string UpdateManifestUrl = "http://www.klopfenstein.net/public/Uploads/ontopreplica/update.xml"; + + /// + /// Gets the latest update information available. + /// + public UpdateInformation LastInformation { get; private set; } + + HttpWebRequest _checkRequest; + + /// + /// Checks for update asynchronously, updating update information. + /// When check is completed, raises update events. + /// + public void CheckForUpdate() { + if (_checkRequest != null) { + _checkRequest.Abort(); + } + + //Build web request + _checkRequest = (HttpWebRequest)HttpWebRequest.Create(UpdateManifestUrl); + _checkRequest.AllowAutoRedirect = true; + _checkRequest.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; + _checkRequest.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache); + + _checkRequest.BeginGetResponse(CheckForUpdateCallback, null); + } + + /// + /// Asynchronous callback that handles the update check request. + /// + private void CheckForUpdateCallback(IAsyncResult result) { + if (_checkRequest == null) + return; + + try { + var response = _checkRequest.EndGetResponse(result); + LastInformation = UpdateInformation.Deserialize(response.GetResponseStream()); + + OnUpdateCheckSuccess(LastInformation); + } + catch (Exception ex) { + OnUpdateCheckError(ex); + } + + _checkRequest = null; + } + + #endregion + + #region Eventing + + public event EventHandler UpdateCheckCompleted; + + protected virtual void OnUpdateCheckError(Exception ex) { + var evt = UpdateCheckCompleted; + if (evt != null) { + evt(this, new UpdateCheckCompletedEventArgs { + Success = false, + Error = ex + }); + } + } + + protected virtual void OnUpdateCheckSuccess(UpdateInformation information) { + var evt = UpdateCheckCompleted; + if (evt != null) { + evt(this, new UpdateCheckCompletedEventArgs { + Success = true, + Information = information + }); + } + } + + #endregion + + #region Updating + + HttpWebRequest _downloadRequest; + TaskDialog _updateDialog; + bool _updateDownloaded = false; + + /// + /// Asks confirmation for an update and installs the update. + /// + public void ConfirmAndInstall() { + if (LastInformation == null || !LastInformation.IsNewVersion) + return; + + AttachedForm.SafeInvoke(new Action(ConfirmAndInstallCore)); + } + + /// + /// Core delegate that asks for update confirmation and installs. Must be called from GUI thread. + /// + private void ConfirmAndInstallCore() { + _updateDialog = new TaskDialog { + Title = Strings.UpdateTitle, + Instruction = string.Format(Strings.UpdateAvailableInstruction, LastInformation.LatestVersion), + Content = Strings.UpdateAvailableContent, + CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, string.Format(Strings.UpdateAvailableCommandOk, LastInformation.LatestVersion)), + new CustomButton(Result.Cancel, Strings.UpdateAvailableCommandCancel) + }, + UseCommandLinks = true, + CommonIcon = TaskDialogIcon.Information, + ExpandedInformation = string.Format(Strings.UpdateAvailableExpanded, LastInformation.CurrentVersion, LastInformation.LatestVersion), + }; + _updateDialog.ButtonClick += delegate(object sender, ClickEventArgs args) { + if (args.ButtonID == (int)Result.OK) { + args.PreventClosing = true; + + if (_updateDownloaded) { + //Terminate application + AttachedForm.Close(); + + //Launch updater + Process.Start(UpdateInstallerPath); + } + else { + var downDlg = new TaskDialog { + Title = Strings.UpdateTitle, + Instruction = Strings.UpdateDownloadingInstruction, + ShowProgressBar = true, + ProgressBarMinRange = 0, + ProgressBarMaxRange = 100, + ProgressBarPosition = 0, + CommonButtons = TaskDialogButton.Cancel + }; + _updateDialog.Navigate(downDlg); + + _downloadRequest = (HttpWebRequest)HttpWebRequest.Create(LastInformation.DownloadInstaller); + _downloadRequest.BeginGetResponse(DownloadAsyncCallback, null); + } + } + }; + + _updateDialog.Show(AttachedForm); + } + + /// + /// Gets the target filename used when downloading the update from the Internet. + /// + private string UpdateInstallerPath { + get { + var downloadPath = Native.FilesystemMethods.DownloadsPath; + + string versionName = (LastInformation != null) ? + LastInformation.LatestVersion.ToString() : string.Empty; + string filename = string.Format("OnTopReplica-Update-{0}.exe", versionName); + + return Path.Combine(downloadPath, filename); + } + } + + /// + /// Handles background downloading. + /// + private void DownloadAsyncCallback(IAsyncResult result) { + if (_downloadRequest == null || _updateDialog == null) + return; + + try { + var response = _downloadRequest.EndGetResponse(result); + var responseStream = response.GetResponseStream(); + long total = response.ContentLength; + + byte[] buffer = new byte[1024]; + + using (var stream = new FileStream(UpdateInstallerPath, FileMode.Create)) { + int readTotal = 0; + while (true) { + int read = responseStream.Read(buffer, 0, buffer.Length); + readTotal += read; + + if (read <= 0) //EOF + break; + + stream.Write(buffer, 0, read); + + _updateDialog.Content = string.Format(Strings.UpdateDownloadingContent, readTotal, total); + _updateDialog.ProgressBarPosition = (int)((readTotal * 100.0) / total); + } + } + } + catch (Exception ex) { + DownloadShowError(ex.Message); + return; + } + + _updateDownloaded = true; + + var okDlg = new TaskDialog { + Title = Strings.UpdateTitle, + Instruction = Strings.UpdateReadyInstruction, + Content = string.Format(Strings.UpdateReadyContent, LastInformation.LatestVersion), + UseCommandLinks = true, + CommonButtons = TaskDialogButton.Cancel, + CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, Strings.UpdateReadyCommandOk) + } + }; + _updateDialog.Navigate(okDlg); + } + + private void DownloadShowError(string msg) { + if (_updateDialog == null) + return; + + _updateDialog.ProgressBarState = WindowsFormsAero.ProgressBar.States.Error; + _updateDialog.Content = msg; + } + + /// + /// Displays some information about the current installation and available updates. + /// + public void DisplayInfo() { + AttachedForm.SafeInvoke(new Action(DisplayInfoCore)); + } + + /// + /// Displays info. Called from GUI thread. + /// + private void DisplayInfoCore() { + //No updates, but need to inform the user + var dlg = new TaskDialog { + Title = Strings.UpdateTitle, + Instruction = Strings.UpdateInfoInstruction, + Content = Strings.UpdateInfoContent, + EnableHyperlinks = true, + CommonButtons = TaskDialogButton.Close, + AllowDialogCancellation = true, + CommonIcon = TaskDialogIcon.Information, + Footer = string.Format(Strings.UpdateInfoFooter, LastInformation.LatestVersionRelease.ToLongDateString()) + }; + dlg.HyperlinkClick += delegate(object sender, HyperlinkEventArgs args) { + Process.Start("http://ontopreplica.codeplex.com"); + }; + dlg.Show(AttachedForm); + } + + #endregion + + } + +} diff --git a/OnTopReplica/Win32Helper.cs b/OnTopReplica/Win32Helper.cs new file mode 100644 index 0000000..f14493d --- /dev/null +++ b/OnTopReplica/Win32Helper.cs @@ -0,0 +1,126 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + public static class Win32Helper { + + #region Injection + + /// Inject a fake left mouse click on a target window, on a location expressed in client coordinates. + /// Target window to click on. + /// Location of the mouse click expressed in client coordiantes of the target window. + /// True if a double click should be injected. + public static void InjectFakeMouseClick(IntPtr window, CloneClickEventArgs clickArgs) { + NPoint clientClickLocation = NPoint.FromPoint(clickArgs.ClientClickLocation); + NPoint scrClickLocation = WindowManagerMethods.ClientToScreen(window, clientClickLocation); + + //HACK (?) + //If target window has a Menu (which appears on the thumbnail) move the clicked location down + //in order to adjust (the menu isn't part of the window's client rect). + IntPtr hMenu = WindowMethods.GetMenu(window); + if (hMenu != IntPtr.Zero) + scrClickLocation.Y -= SystemInformation.MenuHeight; + + IntPtr hChild = GetRealChildControlFromPoint(window, scrClickLocation); + NPoint clntClickLocation = WindowManagerMethods.ScreenToClient(hChild, scrClickLocation); + + if (clickArgs.Buttons == MouseButtons.Left) { + if(clickArgs.IsDoubleClick) + InjectDoubleLeftMouseClick(hChild, clntClickLocation); + else + InjectLeftMouseClick(hChild, clntClickLocation); + } + else if (clickArgs.Buttons == MouseButtons.Right) { + if(clickArgs.IsDoubleClick) + InjectDoubleRightMouseClick(hChild, clntClickLocation); + else + InjectRightMouseClick(hChild, clntClickLocation); + } + } + + private static void InjectLeftMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.LBUTTONDOWN, new IntPtr(MK.LBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.LBUTTONUP, new IntPtr(MK.LBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Left click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectRightMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.RBUTTONDOWN, new IntPtr(MK.RBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.RBUTTONUP, new IntPtr(MK.RBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Right click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectDoubleLeftMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.LBUTTONDBLCLK, new IntPtr(MK.LBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Double left click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectDoubleRightMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.RBUTTONDBLCLK, new IntPtr(MK.RBUTTON), lParamClickLocation); + +#if DEBUG + Console.WriteLine("Double right click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + #endregion + + /// Returns the child control of a window corresponding to a screen location. + /// Parent window to explore. + /// Child control location in screen coordinates. + private static IntPtr GetRealChildControlFromPoint(IntPtr parent, NPoint scrClickLocation) { + IntPtr curr = parent, child = IntPtr.Zero; + do { + child = WindowManagerMethods.RealChildWindowFromPoint(curr, + WindowManagerMethods.ScreenToClient(curr, scrClickLocation)); + + if (child == IntPtr.Zero || child == curr) + break; + + //Update for next loop + curr = child; + } + while (true); + + //Safety check, shouldn't happen + if (curr == IntPtr.Zero) + curr = parent; + + return curr; + } + + /// + /// Gets a handle to the window that currently is in the foreground. + /// + /// May return null if call fails or no valid window selected. + public static WindowHandle GetCurrentForegroundWindow() { + IntPtr handle = WindowManagerMethods.GetForegroundWindow(); + if (handle == IntPtr.Zero) + return null; + + return new WindowHandle(handle); + } + + } +} diff --git a/OnTopReplica/WindowHandle.cs b/OnTopReplica/WindowHandle.cs new file mode 100644 index 0000000..0dfff94 --- /dev/null +++ b/OnTopReplica/WindowHandle.cs @@ -0,0 +1,136 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using OnTopReplica.Native; + +namespace OnTopReplica { + + /// + /// Helper class that keeps a window handle (HWND), + /// the title of the window and can load its icon. + /// + public class WindowHandle : System.Windows.Forms.IWin32Window { + + IntPtr _handle; + string _title; + + /// + /// Creates a new WindowHandle instance. The handle pointer must be valid, the title + /// may be null or empty and will be updated as requested. + /// + public WindowHandle(IntPtr p, string title) { + _handle = p; + _title = title; + } + + /// + /// Creates a new WindowHandle instance. Additional features of the handle will be queried as needed. + /// + /// + public WindowHandle(IntPtr p) { + _handle = p; + _title = null; + } + + public string Title { + get { + if (_title == null) { + _title = WindowMethods.GetWindowText(_handle) ?? string.Empty; + } + + return _title; + } + } + + Icon _icon = null; + bool _iconFetched = false; + public Icon Icon { + get { + if (!_iconFetched) { + //Fetch icon from window + IntPtr hIcon; + + if (MessagingMethods.SendMessageTimeout(_handle, WM.GETICON, new IntPtr(2), new IntPtr(0), + MessagingMethods.SendMessageTimeoutFlags.AbortIfHung | MessagingMethods.SendMessageTimeoutFlags.Block, 500, out hIcon) == IntPtr.Zero) { + hIcon = IntPtr.Zero; + } + + if (hIcon != IntPtr.Zero) { + _icon = Icon.FromHandle(hIcon); + } + else { + //Fetch icon from window class + hIcon = (IntPtr)WindowMethods.GetClassLong(_handle, WindowMethods.ClassLong.IconSmall); + + if (hIcon.ToInt64() != 0) { + _icon = Icon.FromHandle(hIcon); + } + } + } + + _iconFetched = true; + + return _icon; + } + } + + string _class = null; + + /// + /// Gets the window's class name. + /// + /// + /// This value is cached and is never null. + /// + public string Class { + get { + if (_class == null) { + _class = Native.WindowMethods.GetWindowClass(Handle) ?? string.Empty; + } + return _class; + } + } + + #region Object override + + public override string ToString() { + return _title; + } + + public override bool Equals(object obj) { + if (ReferenceEquals(obj, this)) + return true; + + System.Windows.Forms.IWin32Window win = obj as System.Windows.Forms.IWin32Window; + + if (win == null) + return false; + + return (win.Handle == _handle); + } + + public override int GetHashCode() { + return _handle.GetHashCode(); + } + + #endregion + + #region IWin32Window Members + + public IntPtr Handle { + get { return _handle; } + } + + #endregion + + /// + /// Creates a new windowHandle instance from a given IntPtr handle. + /// + /// Handle value. + public static WindowHandle FromHandle(IntPtr handle) { + return new WindowHandle(handle, null); + } + + } +} diff --git a/OnTopReplica/WindowListMenuManager.cs b/OnTopReplica/WindowListMenuManager.cs new file mode 100644 index 0000000..7c4f3d3 --- /dev/null +++ b/OnTopReplica/WindowListMenuManager.cs @@ -0,0 +1,202 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.WindowSeekers; +using OnTopReplica.Properties; + +namespace OnTopReplica { + /// + /// Manages the window list displayed when allowing the user to select a window to clone. + /// + class WindowListMenuManager { + + const int MaxWindowTitleLength = 55; + + readonly MainForm _owner; + readonly ContextMenuStrip _windowsMenu; + + public WindowListMenuManager(MainForm owner, ContextMenuStrip windowsMenu) { + _owner = owner; + _windowsMenu = windowsMenu; + + WindowSeeker = new TaskWindowSeeker() { + OwnerHandle = owner.Handle, + SkipNotVisibleWindows = true + }; + + //Bind events + windowsMenu.Opening += new System.ComponentModel.CancelEventHandler(WindowsMenu_opening); + } + + void WindowsMenu_opening(object sender, System.ComponentModel.CancelEventArgs e) { + WindowSeeker.Refresh(); + PopulateMenu(_owner.CurrentThumbnailWindowHandle); + } + + /// + /// Populates the menu with windows from the window seeker instance. + /// + /// Handle of the currently selected window or null if none selected. + private void PopulateMenu(WindowHandle currentSelection) { + var regions = GetStoredRegions(); + + _windowsMenu.Items.Clear(); + + //"None" selection + var nullTsi = new ToolStripMenuItem(Strings.MenuWindowsNone); + nullTsi.Tag = null; + nullTsi.Click += MenuWindowClickHandler; + nullTsi.Checked = (currentSelection == null); + _windowsMenu.Items.Add(nullTsi); + + //Add an item for each window + foreach (WindowHandle h in WindowSeeker.Windows) { + var tsi = new ToolStripMenuItem(); + + //Window title + if (h.Title.Length > MaxWindowTitleLength) { + tsi.Text = h.Title.Substring(0, MaxWindowTitleLength) + "..."; + tsi.ToolTipText = h.Title; + } + else + tsi.Text = h.Title; + + //Icon + if (h.Icon != null) { + try { + tsi.Image = h.Icon.ToBitmap(); + } + catch (Exception) { + tsi.Image = null; + } + } + + //Check if this is the currently displayed window + tsi.Checked = h.Equals(currentSelection); + + //Click handler + tsi.Tag = h; + tsi.Click += MenuWindowClickHandler; + + PopulateRegionsDropdown(tsi, h, regions); + + _windowsMenu.Items.Add(tsi); + } + } + + private void PopulateRegionsDropdown(ToolStripMenuItem parent, WindowHandle parentHandle, StoredRegion[] regions) { + parent.DropDownItems.Clear(); + + //No region + var nullRegionItem = new ToolStripMenuItem(Strings.MenuWindowsWholeRegion); + nullRegionItem.Tag = parentHandle; + nullRegionItem.Image = Resources.regions; + nullRegionItem.Click += MenuWindowClickHandler; + parent.DropDownItems.Add(nullRegionItem); + + //Video detector + var detectorItem = new ToolStripMenuItem("Autodetect plugin"); + detectorItem.Tag = parentHandle; + detectorItem.Click += MenuVideoCropperClickHandler; + parent.DropDownItems.Add(detectorItem); + + //Regions (if any) + if (regions == null || regions.Length == 0) + return; + + parent.DropDownItems.Add(new ToolStripSeparator()); + + foreach (StoredRegion region in regions) { + var regionItem = new ToolStripMenuItem(region.Name); + regionItem.Tag = new Tuple(parentHandle, region); + regionItem.Click += MenuRegionWindowClickHandler; + + parent.DropDownItems.Add(regionItem); + } + } + + private void MenuWindowClickHandler(object sender, EventArgs args) { + CommonClickHandler(); + + var tsi = (ToolStripMenuItem)sender; + if (tsi.Tag == null) { + _owner.UnsetThumbnail(); + } + else { + var handle = (WindowHandle)tsi.Tag; + _owner.SetThumbnail(handle, null); + } + } + + private void MenuRegionWindowClickHandler(object sender, EventArgs args) { + CommonClickHandler(); + + var tsi = (ToolStripMenuItem)sender; + var tuple = (Tuple)tsi.Tag; + _owner.SetThumbnail(tuple.Item1, + (tuple.Item2 != null) ? (System.Drawing.Rectangle?)tuple.Item2.Bounds : null); + } + + PluginRegionLocator _pluginRegionLocator = null; + + private void MenuVideoCropperClickHandler(object sender, EventArgs args){ + CommonClickHandler(); + + var tsi = (ToolStripMenuItem)sender; + var handle = (WindowHandle)tsi.Tag; + + if (_pluginRegionLocator == null) + _pluginRegionLocator = new PluginRegionLocator(); + + var detectedRegion = _pluginRegionLocator.LocatePluginRegion(handle); + _owner.SetThumbnail(handle, detectedRegion); + } + + private void CommonClickHandler() { + _windowsMenu.Close(); + foreach (ContextMenuStrip menu in _parentMenus) + menu.Close(); + } + + /// + /// Gets an array of stored regions. + /// + private StoredRegion[] GetStoredRegions() { + if (Settings.Default.SavedRegions == null || Settings.Default.SavedRegions.Count == 0) + return null; + + StoredRegion[] ret = new StoredRegion[Settings.Default.SavedRegions.Count]; + Settings.Default.SavedRegions.CopyTo(ret); + + Array.Sort(ret, (a, b) => { + return a.Name.CompareTo(b.Name); + }); + + return ret; + } + + /// + /// Gets or sets the window seeker instance used to list windows. + /// + public BaseWindowSeeker WindowSeeker { get; set; } + + ContextMenuStrip[] _parentMenus = new ContextMenuStrip[0]; + + /// + /// Gets the parent menus which are bound to the context menu handled by this manager. + /// + public ContextMenuStrip[] ParentMenus { + get { + return (ContextMenuStrip[])_parentMenus.Clone(); + } + set { + if(value == null) + _parentMenus = new ContextMenuStrip[0]; + else + _parentMenus = (ContextMenuStrip[])value.Clone(); + } + } + + } +} diff --git a/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs b/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs new file mode 100644 index 0000000..64cd055 --- /dev/null +++ b/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs @@ -0,0 +1,81 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + + /// + /// Base class for window seekers that can populate a list of window handles based on some criteria. + /// + abstract class BaseWindowSeeker { + + IList _list = new List(); + + /// + /// Get the matching windows from the last refresh. + /// + public virtual IList Windows { + get { + return _list; + } + protected set { + _list = value; + } + } + + /// + /// Forces a window list refresh. + /// + public virtual void Refresh() { + _list.Clear(); + + WindowManagerMethods.EnumWindows(RefreshCallback, IntPtr.Zero); + } + + private bool RefreshCallback(IntPtr hwnd, IntPtr lParam) { + bool cont = true; + + //Skip owner + if (hwnd == OwnerHandle) + return true; + + if (SkipNotVisibleWindows && !WindowManagerMethods.IsWindowVisible(hwnd)) + return true; + + //Extract basic properties + string title = WindowMethods.GetWindowText(hwnd); + + if (InspectWindow(hwnd, title, ref cont)) { + //Window has been picked + _list.Add(new WindowHandle(hwnd, title)); + } + + return cont; + } + + /// + /// Inspects a window and returns whether the window should be listed or not. + /// + /// Handle of the window. + /// Title of the window (if any). + /// Indicates whether the inspection loop should terminate after this window. + /// True if the window should be listed. + protected abstract bool InspectWindow(IntPtr hwnd, string title, ref bool terminate); + + /// + /// Gets or sets the window handle of the owner. + /// + /// + /// Windows with this handle will be automatically skipped. + /// + public IntPtr OwnerHandle { get; set; } + + /// + /// Gets or sets whether not visible windows should be skipped. + /// + public bool SkipNotVisibleWindows { get; set; } + + } + +} diff --git a/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs b/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs new file mode 100644 index 0000000..acf9c8b --- /dev/null +++ b/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + /// + /// Seeks a single window by matching its window class. + /// + /// + /// Class matching is exact and case-sensititve. + /// + class ByClassWindowSeeker : BaseWindowSeeker { + + public ByClassWindowSeeker(string className) { + if (className == null) + throw new ArgumentNullException(); + + ClassName = className; + } + + public string ClassName { get; private set; } + + protected override bool InspectWindow(IntPtr hwnd, string title, ref bool terminate) { + var wndClass = WindowMethods.GetWindowClass(hwnd); + + if (ClassName.Equals(wndClass, StringComparison.CurrentCulture)) { + return true; + } + + return false; + } + + } +} diff --git a/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs b/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs new file mode 100644 index 0000000..9564540 --- /dev/null +++ b/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + /// + /// Seeks a single window by approximately matching its title. + /// + /// + /// Title search is case-insensitive and matches only the beginning of the windows' titles. + /// + class ByTitleWindowSeeker : BaseWindowSeeker { + + public ByTitleWindowSeeker(string titleSeekString) { + if (titleSeekString == null) + throw new ArgumentNullException(); + + TitleMatch = titleSeekString.Trim().ToLower(); + } + + public string TitleMatch { get; private set; } + + protected override bool InspectWindow(IntPtr hwnd, string title, ref bool terminate) { + //Skip empty titles + if (string.IsNullOrEmpty(title)) + return false; + + //Skip non top-level windows + if (!WindowManagerMethods.IsTopLevel(hwnd)) + return false; + + var modTitle = title.Trim().ToLower(); + if (modTitle.StartsWith(TitleMatch)) { + terminate = true; //only one needed + return true; + } + + return false; + } + + } +} diff --git a/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs b/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs new file mode 100644 index 0000000..78e5c75 --- /dev/null +++ b/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs @@ -0,0 +1,115 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + + /// + /// Window seeker that attempts to locate a window to restore (by class, title and ID). + /// + class RestoreWindowSeeker : BaseWindowSeeker { + + public RestoreWindowSeeker(IntPtr handle, string title, string className){ + Handle = handle; + Title = title; + Class = className; + } + + public IntPtr Handle { get; private set; } + + public string Title { get; private set; } + + public string Class { get; private set; } + + bool _mustBeOrdered = true; + + public override void Refresh() { + //Whenever the window list is refreshed, the list must be reordered + _mustBeOrdered = true; + _points = new Dictionary(); + + base.Refresh(); + } + + Dictionary _points = new Dictionary(); + + protected override bool InspectWindow(IntPtr hwnd, string title, ref bool terminate) { + if (!WindowManagerMethods.IsTopLevel(hwnd)) + return false; + + int points = 0; + + //Class exact match + if (!string.IsNullOrEmpty(Class)) { + string wndClass = WindowMethods.GetWindowClass(hwnd); + if (Class.Equals(wndClass, StringComparison.InvariantCulture)) { + points += 10; + } + } + + //Title match (may not be exact, but let's try) + if (!string.IsNullOrEmpty(Title) && !string.IsNullOrEmpty(title)) { + if (title.StartsWith(Title, StringComparison.InvariantCultureIgnoreCase)) { + points += 10; + } + if (title.Equals(Title, StringComparison.InvariantCultureIgnoreCase)) { + points += 5; + } + } + + //Handle match (will probably not work, but anyhow) + if (Handle != IntPtr.Zero) { + if (Handle == hwnd) { + points += 10; + } + } + + //Store handle if it matches + if (points > 0) { + _points.Add(hwnd.ToInt64(), points); + } + + //Never store windows in base class list + return false; + } + + public override IList Windows { + get { + if (_mustBeOrdered) { + WindowHandle[] arr = new WindowHandle[base.Windows.Count]; + base.Windows.CopyTo(arr, 0); + Array.Sort(arr, new PointComparer(_points)); + + //Store ordered array + base.Windows = arr; + + _mustBeOrdered = false; + } + + return base.Windows; + } + } + + private class PointComparer : IComparer { + + public PointComparer(IDictionary pointDict) { + _pointDict = pointDict; + } + + IDictionary _pointDict; + + public int Compare(WindowHandle x, WindowHandle y) { + int px = 0; + _pointDict.TryGetValue(x.Handle.ToInt64(), out px); + int py = 0; + _pointDict.TryGetValue(y.Handle.ToInt64(), out py); + + return py.CompareTo(px); //inverse comparison (from max points to min) + } + + } + + } + +} diff --git a/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs b/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs new file mode 100644 index 0000000..bf02052 --- /dev/null +++ b/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + class TaskWindowSeeker : BaseWindowSeeker { + + protected override bool InspectWindow(IntPtr hwnd, string title, ref bool terminate) { + //Code taken from: http://www.thescarms.com/VBasic/alttab.aspx + + //Reject empty titles + if (string.IsNullOrEmpty(title)) + return false; + + //Accept windows that + // - are visible + // - do not have a parent + // - have no owner and are not Tool windows OR + // - have an owner and are App windows + if ((long)WindowManagerMethods.GetParent(hwnd) == 0) { + bool hasOwner = (long)WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; + WindowMethods.WindowExStyles exStyle = (WindowMethods.WindowExStyles)WindowMethods.GetWindowLong(hwnd, WindowMethods.WindowLong.ExStyle); + + if (((exStyle & WindowMethods.WindowExStyles.ToolWindow) == 0 && !hasOwner) || //unowned non-tool window + ((exStyle & WindowMethods.WindowExStyles.AppWindow) == WindowMethods.WindowExStyles.AppWindow && hasOwner)) { //owned application window + return true; + } + } + + return false; + } + + } +} diff --git a/OnTopReplica/WindowsFormsExtensions.cs b/OnTopReplica/WindowsFormsExtensions.cs new file mode 100644 index 0000000..d664dc1 --- /dev/null +++ b/OnTopReplica/WindowsFormsExtensions.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + /// + /// Extension methods for windows forms. + /// + static class WindowsFormsExtensions { + + /// + /// Internationalizes the text of a LinkLabel instance. + /// + /// Main text without link. Contains a '%' character which will be replaced by the link. + /// Linked text. + public static void Internationalize(this LinkLabel label, string text, string linkText) { + int linkIndex = text.IndexOf('%'); + if (linkIndex == -1) { + //Shouldn't happen, but try to fail with meaningful text + label.Text = text; + return; + } + + label.Text = text.Substring(0, linkIndex) + linkText + text.Substring(linkIndex + 1); + label.LinkArea = new LinkArea(linkIndex, linkText.Length); + } + + /// + /// Makes a safe GUI invoke on a form's GUI thread. + /// + /// The action to be executed on the GUI's thread. + /// + /// If the form is invalid or disposed, the action is not performed. + /// + public static void SafeInvoke(this Form form, Action action) { + if (form == null || form.IsDisposed) + return; + + if (form.InvokeRequired) { + form.Invoke(action); + } + else { + action(); + } + } + + } +} diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config new file mode 100644 index 0000000..d5be21d --- /dev/null +++ b/OnTopReplica/app.config @@ -0,0 +1,60 @@ + + + + +
    + + + + + + 255 + + + (Default) + + + True + + + True + + + True + + + True + + + False + + + False + + + 0, 0 + + + 0, 0 + + + False + + + + + + + + + 0 + + + [CTRL]+[SHIFT]+C + + + [CTRL]+[SHIFT]+O + + + + diff --git a/OriginalAssets/Logo.png b/OriginalAssets/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fd56566c12a0fde7aa080f73ddd305944fdcbdcf GIT binary patch literal 34066 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�<&}G` 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 Date: Sat, 13 Oct 2012 15:37:28 +0200 Subject: [PATCH 135/164] Added Windows 8 support. --- OnTopReplica/OnTopReplica.csproj | 76 ++++---------------------- OnTopReplica/PlatformSupport.cs | 4 +- OnTopReplica/Platforms/WindowsEight.cs | 16 ++++++ OnTopReplica/Platforms/WindowsSeven.cs | 1 - 4 files changed, 30 insertions(+), 67 deletions(-) create mode 100644 OnTopReplica/Platforms/WindowsEight.cs diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 6fcda6a..8ead39a 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -137,7 +137,18 @@ + + + True + True + Resources.resx + + + True + True + Settings.settings + Form @@ -168,66 +179,11 @@ GroupSwitchPanel.cs - - True - True - Strings.cs.resx - - - True - True - Strings.da.resx - - - True - True - Strings.de.resx - True True Strings.resx - - True - True - Strings.es.resx - - - True - True - Strings.fi.resx - - - True - True - Strings.it.resx - - - True - True - Strings.no.resx - - - True - True - Strings.pl.resx - - - True - True - Strings.pt-BR.resx - - - True - True - Strings.pt.resx - - - True - True - Strings.ru.resx - @@ -365,21 +321,11 @@ ResXFileCodeGenerator Strings.pt.Designer.cs - - True - Resources.resx - True - SettingsSingleFileGenerator Settings.Designer.cs - - True - Settings.settings - True - UserControl diff --git a/OnTopReplica/PlatformSupport.cs b/OnTopReplica/PlatformSupport.cs index e13570d..5ecb432 100644 --- a/OnTopReplica/PlatformSupport.cs +++ b/OnTopReplica/PlatformSupport.cs @@ -18,7 +18,9 @@ namespace OnTopReplica { return new Other(); if (os.Version.Major == 6) { - if (os.Version.Minor >= 1) + if (os.Version.Minor >= 2) + return new WindowsEight(); + else if (os.Version.Minor == 1) return new WindowsSeven(); else return new WindowsVista(); diff --git a/OnTopReplica/Platforms/WindowsEight.cs b/OnTopReplica/Platforms/WindowsEight.cs new file mode 100644 index 0000000..b5ef780 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsEight.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.Platforms { + class WindowsEight : WindowsSeven { + + public override void PostHandleFormInit(MainForm form) { + //Noop + } + + } +} diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs index 301957e..a494248 100644 --- a/OnTopReplica/Platforms/WindowsSeven.cs +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -56,7 +56,6 @@ namespace OnTopReplica.Platforms { } } - } } From bc7ad48fc390c26a8e47c008b3a09abb61a2472a Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 6 Nov 2012 20:28:06 +0100 Subject: [PATCH 136/164] Marginal clean up and fixing of context menu handlers. --- OnTopReplica/MainForm.cs | 4 ++-- OnTopReplica/MainForm_Gui.cs | 32 ++++++++--------------------- OnTopReplica/MainForm_MenuEvents.cs | 9 -------- 3 files changed, 10 insertions(+), 35 deletions(-) diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index d04dcb6..9e8e1d3 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -151,7 +151,7 @@ namespace OnTopReplica { //Same story as above (OnMouseDoubleClick) if (e.Button == System.Windows.Forms.MouseButtons.Right) { - OpenContextMenu(); + OpenContextMenu(null); } } @@ -166,7 +166,7 @@ namespace OnTopReplica { case WM.NCRBUTTONUP: //Open context menu if right button clicked on caption (i.e. all of the window area because of glass) if (m.WParam.ToInt32() == HT.CAPTION) { - OpenContextMenu(); + OpenContextMenu(null); m.Result = IntPtr.Zero; return; diff --git a/OnTopReplica/MainForm_Gui.cs b/OnTopReplica/MainForm_Gui.cs index cf7b094..39141fb 100644 --- a/OnTopReplica/MainForm_Gui.cs +++ b/OnTopReplica/MainForm_Gui.cs @@ -8,36 +8,20 @@ namespace OnTopReplica { /// /// Opens the context menu. /// - public void OpenContextMenu() { + /// Optional position of the mouse, relative to which the menu is shown. + public void OpenContextMenu(Point? position) { + Point menuPosition = MousePosition; + if (position.HasValue) + menuPosition = position.Value; + if (IsFullscreen) { - menuFullscreenContext.Show(MousePosition); + menuFullscreenContext.Show(menuPosition); } else { - menuContext.Show(MousePosition); + menuContext.Show(menuPosition); } } - private Point RecenterLocation(Control original, Control final) { - int origX = original.Location.X + original.Size.Width / 2; - int origY = original.Location.Y + original.Size.Height / 2; - - int finX = origX - final.Size.Width / 2; - int finY = origY - final.Size.Height / 2; - - //Check boundaries - var screen = Screen.FromControl(final); - if (finX < screen.WorkingArea.X) - finX = screen.WorkingArea.X; - if (finX + final.Size.Width > screen.WorkingArea.Width) - finX = screen.WorkingArea.Width - final.Size.Width; - if (finY < screen.WorkingArea.Y) - finY = screen.WorkingArea.Y; - if (finY + final.Size.Height > screen.WorkingArea.Height) - finY = screen.WorkingArea.Height - final.Size.Height; - - return new Point(finX, finY); - } - /// /// Gets the window's vertical chrome size. /// diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs index d699af8..fbf6d99 100644 --- a/OnTopReplica/MainForm_MenuEvents.cs +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -165,15 +165,6 @@ namespace OnTopReplica { } private void Menu_About_click(object sender, EventArgs e) { - /*this.Hide(); - - using (var box = new AboutForm()) { - box.Location = RecenterLocation(this, box); - box.ShowDialog(); - Location = RecenterLocation(box, this); - } - - this.Show();*/ this.SetSidePanel(new AboutPanel()); } From e5ba5c32e9bf9907a2ddd2d4666b69ff040d57af Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 6 Nov 2012 20:28:23 +0100 Subject: [PATCH 137/164] Updated version to 3.4. --- OnTopReplica/OnTopReplica.csproj | 2 +- OnTopReplica/Properties/AssemblyInfo.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 8ead39a..86f742f 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -50,7 +50,7 @@ publish.htm false 0 - 3.3.2.%2a + 3.4.0.%2a false true true diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs index 00001b5..f58a612 100644 --- a/OnTopReplica/Properties/AssemblyInfo.cs +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -33,5 +33,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.3.2.0")] -[assembly: AssemblyFileVersion("3.3.2.0")] +[assembly: AssemblyVersion("3.4.0.0")] +[assembly: AssemblyFileVersion("3.4.0.0")] From 726879dfdf2ad9ff28953a7f4b2368b23e9d50fd Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 6 Nov 2012 20:28:38 +0100 Subject: [PATCH 138/164] Updated NSIS installer scripts (with .NET 4.0 detection). --- Installer/DotNet.nsh | 32 ++++++++++++++++++++++++++++++++ Installer/script.nsi | 17 +++++++++++++++-- 2 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 Installer/DotNet.nsh diff --git a/Installer/DotNet.nsh b/Installer/DotNet.nsh new file mode 100644 index 0000000..055b392 --- /dev/null +++ b/Installer/DotNet.nsh @@ -0,0 +1,32 @@ +# .NET Installation checker + +!macro HasDotNet4 OutVar + Push "Install" ;reg key + Push "Software\Microsoft\NET Framework Setup\NDP\v4\Client" ;v4.0 client reg node + Call HasDotNet4Core + Pop ${OutVar} +!macroend + +!define HasDotNet4 "!insertmacro HasDotNet4" + +Function HasDotNet4Core + Pop $R0 ;reg node to check + Pop $R1 ;reg key + + ReadRegDWORD $R3 HKLM $R0 $R1 + + ;MessageBox MB_OK "$R0 \ $R1 value is $R3" + ;IntOp $R8 $R3 % 1 ;logical AND with 1 (should evaluate to 1 in $R8) + + IntCmp $R3 1 has hasNot has ;jump if >= 1 + + has: + Push 1 + Goto exit + + hasNot: + Push 0 + Goto exit + + exit: +FunctionEnd diff --git a/Installer/script.nsi b/Installer/script.nsi index 483b12e..7c31cc1 100644 --- a/Installer/script.nsi +++ b/Installer/script.nsi @@ -1,6 +1,7 @@ # INCLUDES !include MUI2.nsh ;Modern interface !include LogicLib.nsh ;nsDialogs +!include "DotNet.nsh" # INIT Name "OnTopReplica" @@ -47,14 +48,26 @@ RequestExecutionLevel user # LANGUAGES !insertmacro MUI_LANGUAGE "English" +# INITIALIZATION AND ERROR CHECKING +Function .onInit + ${HasDotNet4} $R0 + ${If} $R0 == 2 + ;noop + ${Else} + MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "Microsoft .NET Framework 4.0 appears not to be installed.$\n$\nOnTopReplica requires .NET 4.0 to run: please install it before running the installer.$\n$\nDo you wish to proceed anyway?" IDOK proceedAnyway + Abort ".NET 4.0 required to install" + proceedAnyway: + ${EndIf} +FunctionEnd + # CALLBACKS Function RegisterApplication ;Register uninstaller into Add/Remove panel (for local user only) WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayName" "OnTopReplica" WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayIcon" "$\"$INSTDIR\OnTopReplica.exe$\"" WriteRegStr HKCU "${REG_UNINSTALL}" "Publisher" "Lorenz Cuno Klopfenstein" - WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayVersion" "3.3.1.0" - WriteRegDWord HKCU "${REG_UNINSTALL}" "EstimatedSize" 960 ;KB + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayVersion" "3.4" + WriteRegDWord HKCU "${REG_UNINSTALL}" "EstimatedSize" 922 ;KB WriteRegStr HKCU "${REG_UNINSTALL}" "HelpLink" "${WEBSITE_LINK}" WriteRegStr HKCU "${REG_UNINSTALL}" "URLInfoAbout" "${WEBSITE_LINK}" WriteRegStr HKCU "${REG_UNINSTALL}" "InstallLocation" "$\"$INSTDIR$\"" From 6dfa6615d37201b626aa0e4a41df0d2266669b91 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 14 Nov 2012 14:50:22 +0100 Subject: [PATCH 139/164] Added ThumbnailRegion class to support relative regions. Refactored XML serialization for stored regions. Refactored several thumbnail cloning (and region) methods. Removed PluginRegionLocator. Moved to System.Diagnostics.Trace for debug messaging. --- OnTopReplica/AspectRatioForm.cs | 4 + OnTopReplica/GeometryExtensions.cs | 19 + OnTopReplica/MainForm.cs | 43 +- OnTopReplica/MessagePumpManager.cs | 15 +- .../GroupSwitchManager.cs | 15 +- .../ShellInterceptProcessor.cs | 2 +- OnTopReplica/OnTopReplica.csproj | 7 +- OnTopReplica/OnTopReplica.exe.manifest | 4 + OnTopReplica/PluginRegionLocator.cs | 21 +- OnTopReplica/ScreenPosition.cs | 4 +- OnTopReplica/SidePanelContainer.cs | 1 - OnTopReplica/SidePanels/AboutPanel.cs | 1 - OnTopReplica/SidePanels/AboutPanelContents.cs | 1 - OnTopReplica/SidePanels/OptionsPanel.cs | 1 - .../SidePanels/RegionPanel.Designer.cs | 57 +- OnTopReplica/SidePanels/RegionPanel.cs | 131 +- OnTopReplica/SidePanels/RegionPanel.resx | 6 +- .../StartupOptions/CommandLineReportForm.cs | 1 - OnTopReplica/StartupOptions/Factory.cs | 11 +- OnTopReplica/StartupOptions/Options.cs | 2 +- OnTopReplica/StoredRegion.cs | 49 +- OnTopReplica/StoredRegionArray.cs | 130 +- OnTopReplica/Strings.resx | 1183 +++++++++-------- OnTopReplica/ThumbnailPanel.cs | 155 ++- OnTopReplica/ThumbnailRegion.cs | 222 ++++ OnTopReplica/Win32Helper.cs | 8 +- OnTopReplica/WindowHandle.cs | 7 +- OnTopReplica/WindowListMenuManager.cs | 10 +- 28 files changed, 1333 insertions(+), 777 deletions(-) create mode 100644 OnTopReplica/ThumbnailRegion.cs diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs index 8d32192..4fe4f68 100644 --- a/OnTopReplica/AspectRatioForm.cs +++ b/OnTopReplica/AspectRatioForm.cs @@ -111,6 +111,10 @@ namespace OnTopReplica { /// True if the size of the form should be refreshed to match the new aspect ratio. public void SetAspectRatio(Size aspectRatioSource, bool forceRefresh) { AspectRatio = ((double)aspectRatioSource.Width / (double)aspectRatioSource.Height); + +#if DEBUG + System.Diagnostics.Trace.WriteLine(string.Format("Setting aspect ratio of {0} (for {1}).", AspectRatio, aspectRatioSource)); +#endif if (forceRefresh) { KeepAspectRatio = true; diff --git a/OnTopReplica/GeometryExtensions.cs b/OnTopReplica/GeometryExtensions.cs index d11a61a..5f61feb 100644 --- a/OnTopReplica/GeometryExtensions.cs +++ b/OnTopReplica/GeometryExtensions.cs @@ -50,6 +50,25 @@ namespace OnTopReplica { ctrl.MinimumSize = minimumClientSize.Expand(offset); } + /// + /// Attempts to fit a size structure to another fixed destination size, by maintaining + /// the original aspect ratio. + /// + public static Size Fit(this Size sourceSize, Size destinationSize) { + double sourceRatio = (double)sourceSize.Width / (double)sourceSize.Height; + double clientRatio = (double)destinationSize.Width / (double)destinationSize.Height; + + Size ret; + if (sourceRatio >= clientRatio) { + ret = new Size(destinationSize.Width, (int)((double)destinationSize.Width / sourceRatio)); + } + else { + ret = new Size((int)((double)destinationSize.Height * sourceRatio), destinationSize.Height); + } + + return ret; + } + } } diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 9e8e1d3..4a2c9ce 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -229,11 +229,6 @@ namespace OnTopReplica { //ESCAPE else if (e.KeyCode == Keys.Escape) { - -#if DEBUG - Console.WriteLine("Received ESCAPE"); -#endif - //Disable click-through if (ClickThroughEnabled) { ClickThroughEnabled = false; @@ -307,27 +302,22 @@ namespace OnTopReplica { /// Sets a new thumbnail. ///
    /// Handle to the window to clone. - /// Region of the window to clone. - public void SetThumbnail(WindowHandle handle, Rectangle? region) { + /// Region of the window to clone or null. + public void SetThumbnail(WindowHandle handle, ThumbnailRegion region) { try { + System.Diagnostics.Trace.WriteLine(string.Format("Cloning window HWND {0} of class {1}.", handle.Handle, handle.Class)); + CurrentThumbnailWindowHandle = handle; - _thumbnailPanel.SetThumbnailHandle(handle); - -#if DEBUG - string windowClass = WindowMethods.GetWindowClass(handle.Handle); - Console.WriteLine("Cloning window HWND {0} of class {1}.", handle.Handle, windowClass); -#endif - - if (region.HasValue) - _thumbnailPanel.SelectedRegion = region.Value; - else - _thumbnailPanel.ConstrainToRegion = false; + _thumbnailPanel.SetThumbnailHandle(handle, region); //Set aspect ratio (this will resize the form), do not refresh if in fullscreen - SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize, !IsFullscreen); + SetAspectRatio(_thumbnailPanel.ThumbnailPixelSize, !IsFullscreen); } catch (Exception ex) { + System.Diagnostics.Trace.Fail("Unable to set thumbnail.", ex.ToString()); + ThumbnailError(ex, false, Strings.ErrorUnableToCreateThumbnail); + _thumbnailPanel.UnsetThumbnail(); } } @@ -365,7 +355,7 @@ namespace OnTopReplica { /// /// Gets or sets the region displayed of the current thumbnail. /// - public Rectangle? SelectedThumbnailRegion { + public ThumbnailRegion SelectedThumbnailRegion { get { if (!_thumbnailPanel.IsShowingThumbnail || !_thumbnailPanel.ConstrainToRegion) return null; @@ -376,14 +366,9 @@ namespace OnTopReplica { if (!_thumbnailPanel.IsShowingThumbnail) return; - if (value.HasValue) { - _thumbnailPanel.SelectedRegion = value.Value; - SetAspectRatio(value.Value.Size, true); - } - else { - _thumbnailPanel.ConstrainToRegion = false; - SetAspectRatio(_thumbnailPanel.ThumbnailOriginalSize, true); - } + _thumbnailPanel.SelectedRegion = value; + + SetAspectRatio(_thumbnailPanel.ThumbnailPixelSize, true); FixPositionAndSize(); } @@ -423,7 +408,7 @@ namespace OnTopReplica { /// Scale of the thumbnail to consider. private void FitToThumbnail(double p) { try { - Size originalSize = _thumbnailPanel.ThumbnailOriginalSize; + Size originalSize = _thumbnailPanel.ThumbnailPixelSize; Size fittedSize = new Size((int)(originalSize.Width * p), (int)(originalSize.Height * p)); ClientSize = fittedSize; } diff --git a/OnTopReplica/MessagePumpManager.cs b/OnTopReplica/MessagePumpManager.cs index 20993d7..ad2b48d 100644 --- a/OnTopReplica/MessagePumpManager.cs +++ b/OnTopReplica/MessagePumpManager.cs @@ -15,9 +15,7 @@ namespace OnTopReplica { _processors[processor.GetType()] = processor; processor.Initialize(form); -#if DEBUG - Console.WriteLine("Registered message pump processor: {0}", processor.GetType()); -#endif + System.Diagnostics.Trace.WriteLine(string.Format("Registered message pump processor: {0}", processor.GetType())); } /// @@ -32,18 +30,13 @@ namespace OnTopReplica { Console.Error.WriteLine("Failed to register shell hook window."); } else { -#if DEBUG - Console.WriteLine("Shell hook window registered successfully."); -#endif + System.Diagnostics.Trace.WriteLine("Shell hook window registered successfully."); } //Register message pump processors Register(new WindowKeeper(), form); Register(new HotKeyManager(), form); Register(new GroupSwitchManager(), form); -#if DEBUG - //Register(new ShellInterceptProcessor(), form); -#endif } /// @@ -75,9 +68,7 @@ namespace OnTopReplica { Console.Error.WriteLine("Failed to deregister shell hook window."); } else { -#if DEBUG - Console.WriteLine("Deregistered shell hook window successfully."); -#endif + System.Diagnostics.Trace.WriteLine("Deregistered shell hook window successfully."); } foreach (var processor in _processors.Values) { diff --git a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs index 2bfd3e9..e665ef9 100644 --- a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs +++ b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; -using System.Diagnostics; using System.Reflection; using System.IO; using System.Windows.Forms; @@ -72,9 +71,7 @@ namespace OnTopReplica.MessagePumpProcessors { } private void HandleForegroundWindowChange(IntPtr activeWindow) { -#if DEBUG - Console.Write("New active window (h {0}). ", activeWindow); -#endif + System.Diagnostics.Trace.WriteLine(string.Format("New active window (h {0}). ", activeWindow)); //Seek window in tracked handles WindowHandleWrapper activated = null; @@ -84,10 +81,8 @@ namespace OnTopReplica.MessagePumpProcessors { } if (activated == null) { -#if DEBUG - //new foreground window is not tracked - Console.WriteLine("Active window is not tracked."); -#endif + //New foreground window is not tracked + System.Diagnostics.Trace.WriteLine("Active window is not tracked."); return; } @@ -98,9 +93,7 @@ namespace OnTopReplica.MessagePumpProcessors { //Get least recently used var next = _lruHandles[0]; -#if DEBUG - Console.WriteLine("Tracked. Switching to {0} (last use: {1}).", next.WindowHandle.Title, next.LastTimeUsed); -#endif + System.Diagnostics.Trace.WriteLine(string.Format("Tracked. Switching to {0} (last use: {1}).", next.WindowHandle.Title, next.LastTimeUsed)); Form.SetThumbnail(next.WindowHandle, null); } diff --git a/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs b/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs index dc4f899..ca95066 100644 --- a/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs +++ b/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs @@ -17,7 +17,7 @@ namespace OnTopReplica.MessagePumpProcessors { if (msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { int hookCode = msg.WParam.ToInt32(); - Console.WriteLine("Hook msg #{0}: {1}", hookCode, msg.LParam); + System.Diagnostics.Trace.WriteLine(string.Format("Hook msg #{0}: {1}", hookCode, msg.LParam)); } return false; diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 86f742f..851ded4 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -72,7 +72,8 @@ pdbonly true bin\Release\ - TRACE + + prompt 4 @@ -91,11 +92,10 @@ - - + ..\Lib\WindowsFormsAero.dll @@ -184,6 +184,7 @@ True Strings.resx + diff --git a/OnTopReplica/OnTopReplica.exe.manifest b/OnTopReplica/OnTopReplica.exe.manifest index b9febc2..0928f9f 100644 --- a/OnTopReplica/OnTopReplica.exe.manifest +++ b/OnTopReplica/OnTopReplica.exe.manifest @@ -9,8 +9,12 @@ + + + + Lightweight clone of a window. diff --git a/OnTopReplica/PluginRegionLocator.cs b/OnTopReplica/PluginRegionLocator.cs index ad0b419..eaebb70 100644 --- a/OnTopReplica/PluginRegionLocator.cs +++ b/OnTopReplica/PluginRegionLocator.cs @@ -12,10 +12,18 @@ namespace OnTopReplica { static PluginRegionLocator() { _pluginClassNames = new HashSet() { - "aPluginWinClass", //Opera 11 Flash plugin - "MacromediaFlashPlayerActiveX", //IE 9 Flash plugin - "NativeWindowClass", //Google Chrome Flash plugin - "GeckoPluginWindow", //Firefox 9 Flash plugin + //Opera 11 Flash plugin + "aPluginWinClass", + + //IE 9 Flash plugin + "MacromediaFlashPlayerActiveX", + + //Google Chrome + "NativeWindowClass", //Flash plugin + "Chrome_RenderWidgetHostHWND", //Tab content + + //Firefox 9 Flash plugin + "GeckoPluginWindow", }; } @@ -79,10 +87,7 @@ namespace OnTopReplica { //Class name check string cl = WindowMethods.GetWindowClass(handle); - -#if DEBUG - Console.Out.WriteLine("Child window, class {0}", cl); -#endif + System.Diagnostics.Trace.WriteLine(string.Format("Child window, class {0}", cl)); if (_pluginClassNames.Contains(cl)) { //Found plugin window, stop now diff --git a/OnTopReplica/ScreenPosition.cs b/OnTopReplica/ScreenPosition.cs index 6808b9d..0a99d6c 100644 --- a/OnTopReplica/ScreenPosition.cs +++ b/OnTopReplica/ScreenPosition.cs @@ -76,9 +76,7 @@ namespace OnTopReplica { var move = end.Difference(start); -#if DEBUG - Console.WriteLine("From {0} to {1} => {2}.", start, end, move); -#endif + System.Diagnostics.Trace.WriteLine(string.Format("From {0} to {1} => {2}.", start, end, move)); var original = form.Location; form.Location = new Point(original.X + move.X, original.Y + move.Y); diff --git a/OnTopReplica/SidePanelContainer.cs b/OnTopReplica/SidePanelContainer.cs index f124b24..9a195a6 100644 --- a/OnTopReplica/SidePanelContainer.cs +++ b/OnTopReplica/SidePanelContainer.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.ComponentModel; -using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; diff --git a/OnTopReplica/SidePanels/AboutPanel.cs b/OnTopReplica/SidePanels/AboutPanel.cs index 949d2bc..87da71a 100644 --- a/OnTopReplica/SidePanels/AboutPanel.cs +++ b/OnTopReplica/SidePanels/AboutPanel.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.ComponentModel; using System.Drawing; -using System.Data; using System.Text; using System.Windows.Forms; using WindowsFormsAero.Dwm; diff --git a/OnTopReplica/SidePanels/AboutPanelContents.cs b/OnTopReplica/SidePanels/AboutPanelContents.cs index b6a6bad..84738b2 100644 --- a/OnTopReplica/SidePanels/AboutPanelContents.cs +++ b/OnTopReplica/SidePanels/AboutPanelContents.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.ComponentModel; using System.Drawing; -using System.Data; using System.Text; using System.Windows.Forms; using OnTopReplica.Update; diff --git a/OnTopReplica/SidePanels/OptionsPanel.cs b/OnTopReplica/SidePanels/OptionsPanel.cs index 1669c37..d09cdaa 100644 --- a/OnTopReplica/SidePanels/OptionsPanel.cs +++ b/OnTopReplica/SidePanels/OptionsPanel.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.ComponentModel; using System.Drawing; -using System.Data; using System.Text; using System.Windows.Forms; using OnTopReplica.Properties; diff --git a/OnTopReplica/SidePanels/RegionPanel.Designer.cs b/OnTopReplica/SidePanels/RegionPanel.Designer.cs index 616d3fb..f716e1c 100644 --- a/OnTopReplica/SidePanels/RegionPanel.Designer.cs +++ b/OnTopReplica/SidePanels/RegionPanel.Designer.cs @@ -25,6 +25,7 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.groupRegions = new System.Windows.Forms.GroupBox(); + this.checkRelative = new System.Windows.Forms.CheckBox(); this.textRegionName = new OnTopReplica.FocusedTextBox(); this.numH = new System.Windows.Forms.NumericUpDown(); this.numW = new System.Windows.Forms.NumericUpDown(); @@ -50,6 +51,7 @@ // // groupRegions // + this.groupRegions.Controls.Add(this.checkRelative); this.groupRegions.Controls.Add(this.textRegionName); this.groupRegions.Controls.Add(this.numH); this.groupRegions.Controls.Add(this.numW); @@ -68,11 +70,25 @@ this.groupRegions.Dock = System.Windows.Forms.DockStyle.Fill; this.groupRegions.Location = new System.Drawing.Point(6, 6); this.groupRegions.Name = "groupRegions"; - this.groupRegions.Size = new System.Drawing.Size(218, 158); + this.groupRegions.Size = new System.Drawing.Size(218, 180); this.groupRegions.TabIndex = 0; this.groupRegions.TabStop = false; this.groupRegions.Text = "Regions:"; // + // checkRelative + // + this.checkRelative.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.checkRelative.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; + this.checkRelative.Location = new System.Drawing.Point(6, 119); + this.checkRelative.Name = "checkRelative"; + this.checkRelative.Size = new System.Drawing.Size(206, 18); + this.checkRelative.TabIndex = 12; + this.checkRelative.Text = "Relative to border"; + this.checkRelative.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.checkRelative.UseVisualStyleBackColor = true; + this.checkRelative.CheckedChanged += new System.EventHandler(this.CheckRelative_checked); + // // textRegionName // this.textRegionName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) @@ -89,8 +105,9 @@ // // numH // + this.numH.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.numH.Enabled = false; - this.numH.Location = new System.Drawing.Point(150, 93); + this.numH.Location = new System.Drawing.Point(169, 93); this.numH.Maximum = new decimal(new int[] { 100000, 0, @@ -108,8 +125,9 @@ // // numW // + this.numW.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.numW.Enabled = false; - this.numW.Location = new System.Drawing.Point(150, 67); + this.numW.Location = new System.Drawing.Point(169, 67); this.numW.Maximum = new decimal(new int[] { 100000, 0, @@ -128,7 +146,7 @@ // numY // this.numY.Enabled = false; - this.numY.Location = new System.Drawing.Point(29, 93); + this.numY.Location = new System.Drawing.Point(55, 93); this.numY.Maximum = new decimal(new int[] { 100000, 0, @@ -147,7 +165,7 @@ // numX // this.numX.Enabled = false; - this.numX.Location = new System.Drawing.Point(29, 67); + this.numX.Location = new System.Drawing.Point(55, 67); this.numX.Maximum = new decimal(new int[] { 100000, 0, @@ -165,10 +183,10 @@ // // buttonDone // - this.buttonDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.buttonDone.Image = global::OnTopReplica.Properties.Resources.xiao_ok; this.buttonDone.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; - this.buttonDone.Location = new System.Drawing.Point(142, 129); + this.buttonDone.Location = new System.Drawing.Point(142, 151); this.buttonDone.Name = "buttonDone"; this.buttonDone.Size = new System.Drawing.Size(70, 23); this.buttonDone.TabIndex = 9; @@ -179,8 +197,8 @@ // // buttonReset // - this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.buttonReset.Location = new System.Drawing.Point(66, 129); + this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonReset.Location = new System.Drawing.Point(66, 151); this.buttonReset.Name = "buttonReset"; this.buttonReset.Size = new System.Drawing.Size(70, 23); this.buttonReset.TabIndex = 8; @@ -190,20 +208,22 @@ // // labelHeight // + this.labelHeight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.labelHeight.ForeColor = System.Drawing.SystemColors.ControlDark; - this.labelHeight.Location = new System.Drawing.Point(81, 96); + this.labelHeight.Location = new System.Drawing.Point(104, 95); this.labelHeight.Name = "labelHeight"; - this.labelHeight.Size = new System.Drawing.Size(63, 17); + this.labelHeight.Size = new System.Drawing.Size(60, 18); this.labelHeight.TabIndex = 9; this.labelHeight.Text = "Height"; this.labelHeight.TextAlign = System.Drawing.ContentAlignment.TopRight; // // labelWidth // + this.labelWidth.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.labelWidth.ForeColor = System.Drawing.SystemColors.ControlDark; - this.labelWidth.Location = new System.Drawing.Point(81, 70); + this.labelWidth.Location = new System.Drawing.Point(107, 69); this.labelWidth.Name = "labelWidth"; - this.labelWidth.Size = new System.Drawing.Size(63, 17); + this.labelWidth.Size = new System.Drawing.Size(57, 18); this.labelWidth.TabIndex = 8; this.labelWidth.Text = "Width"; this.labelWidth.TextAlign = System.Drawing.ContentAlignment.TopRight; @@ -213,7 +233,7 @@ this.labelY.ForeColor = System.Drawing.SystemColors.ControlDark; this.labelY.Location = new System.Drawing.Point(6, 96); this.labelY.Name = "labelY"; - this.labelY.Size = new System.Drawing.Size(17, 17); + this.labelY.Size = new System.Drawing.Size(43, 17); this.labelY.TabIndex = 5; this.labelY.Text = "Y"; this.labelY.TextAlign = System.Drawing.ContentAlignment.TopRight; @@ -223,7 +243,7 @@ this.labelX.ForeColor = System.Drawing.SystemColors.ControlDark; this.labelX.Location = new System.Drawing.Point(6, 70); this.labelX.Name = "labelX"; - this.labelX.Size = new System.Drawing.Size(17, 17); + this.labelX.Size = new System.Drawing.Size(43, 17); this.labelX.TabIndex = 4; this.labelX.Text = "X"; this.labelX.TextAlign = System.Drawing.ContentAlignment.TopRight; @@ -259,7 +279,7 @@ this.buttonSave.Name = "buttonSave"; this.buttonSave.Size = new System.Drawing.Size(23, 23); this.buttonSave.TabIndex = 1; - this.buttonSave.UseVisualStyleBackColor = true; + this.buttonSave.UseVisualStyleBackColor = false; this.buttonSave.Click += new System.EventHandler(this.Save_click); // // comboRegions @@ -281,10 +301,10 @@ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.groupRegions); - this.MinimumSize = new System.Drawing.Size(230, 170); + this.MinimumSize = new System.Drawing.Size(230, 185); this.Name = "RegionPanel"; this.Padding = new System.Windows.Forms.Padding(6); - this.Size = new System.Drawing.Size(230, 170); + this.Size = new System.Drawing.Size(230, 192); this.groupRegions.ResumeLayout(false); this.groupRegions.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.numH)).EndInit(); @@ -314,5 +334,6 @@ private System.Windows.Forms.NumericUpDown numX; private FocusedTextBox textRegionName; private System.Windows.Forms.ToolTip toolTip; + private System.Windows.Forms.CheckBox checkRelative; } } diff --git a/OnTopReplica/SidePanels/RegionPanel.cs b/OnTopReplica/SidePanels/RegionPanel.cs index 29ce999..521cbda 100644 --- a/OnTopReplica/SidePanels/RegionPanel.cs +++ b/OnTopReplica/SidePanels/RegionPanel.cs @@ -22,18 +22,18 @@ namespace OnTopReplica.SidePanels { _regionDrawnHandler = new ThumbnailPanel.RegionDrawnHandler(ThumbnailPanel_RegionDrawn); } + /// + /// Localizes the dialog's labels. + /// private void Localize() { this.SuspendLayout(); groupRegions.Text = Strings.RegionsTitle; comboRegions.CueBannerText = Strings.RegionsStoredRegions; labelCurrentRegion.Text = Strings.RegionsCurrentRegion; - //labelX - //labelY - labelWidth.Text = Strings.RegionsWidth; - labelHeight.Text = Strings.RegionsHeight; buttonReset.Text = Strings.RegionsResetButton; buttonDone.Text = Strings.RegionsDoneButton; + UpdateRegionLabels(); toolTip.SetToolTip(buttonSave, Strings.RegionsSaveButton); toolTip.SetToolTip(buttonDelete, Strings.RegionsDeleteButton); @@ -41,6 +41,48 @@ namespace OnTopReplica.SidePanels { this.ResumeLayout(); } + /// + /// Updates the labels for the region value selectors and the relative mode checkbox. + /// + private void UpdateRegionControls(ThumbnailRegion region) { + checkRelative.Checked = region.Relative; + + if (region.Relative) { + Padding p = region.BoundsAsPadding; + numX.Value = p.Left; + numY.Value = p.Top; + numW.Value = p.Right; + numH.Value = p.Bottom; + } + else { + Rectangle r = region.Bounds; + numX.Value = r.X; + numY.Value = r.Y; + numW.Value = r.Width; + numH.Value = r.Height; + } + + UpdateRegionLabels(); + } + + /// + /// Updates the labels of region selectors based on the dialog's state. + /// + private void UpdateRegionLabels() { + if (checkRelative.Checked) { + labelX.Text = Strings.RegionsLeft; + labelY.Text = Strings.RegionsTop; + labelWidth.Text = Strings.RegionsRight; + labelHeight.Text = Strings.RegionsBottom; + } + else { + labelX.Text = Strings.RegionsX; + labelY.Text = Strings.RegionsY; + labelWidth.Text = Strings.RegionsWidth; + labelHeight.Text = Strings.RegionsHeight; + } + } + public override string Title { get { return Strings.MenuRegion; @@ -52,22 +94,25 @@ namespace OnTopReplica.SidePanels { public override void OnFirstShown(MainForm form) { base.OnFirstShown(form); - //Init shown region if needed - if (form.SelectedThumbnailRegion.HasValue) - SetRegion(form.SelectedThumbnailRegion.Value); + //Init shown region if current thumbnail is clipped to region + if (form.SelectedThumbnailRegion != null) { + SetRegion(form.SelectedThumbnailRegion); + } + //Enable region drawing form.ThumbnailPanel.DrawMouseRegions = true; form.ThumbnailPanel.RegionDrawn += _regionDrawnHandler; } public override void OnClosing(MainForm form) { base.OnClosing(form); - + + //Reset region drawing form.ThumbnailPanel.DrawMouseRegions = false; form.ThumbnailPanel.RegionDrawn -= _regionDrawnHandler; } - void ThumbnailPanel_RegionDrawn(object sender, Rectangle region) { + void ThumbnailPanel_RegionDrawn(object sender, ThumbnailRegion region) { SetRegion(region); } @@ -83,7 +128,7 @@ namespace OnTopReplica.SidePanels { return; } - SetRegion(region.Bounds); + SetRegion(region.Region); //Select right combobox if (comboRegions.Items.Contains(region)) { @@ -95,16 +140,13 @@ namespace OnTopReplica.SidePanels { /// Sets the current selected region to a specific region rectangle. /// /// The region boundaries. - public void SetRegion(Rectangle region) { + public void SetRegion(ThumbnailRegion region) { try { _ignoreValueChanges = true; - numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = true; + UpdateRegionControls(region); - numX.Value = region.Left; - numY.Value = region.Top; - numW.Value = region.Width; - numH.Value = region.Height; + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = true; } finally { _ignoreValueChanges = false; @@ -122,6 +164,8 @@ namespace OnTopReplica.SidePanels { numX.Value = numY.Value = numW.Value = numH.Value = 0; numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = false; + checkRelative.Checked = false; + UpdateRegionLabels(); buttonSave.Enabled = false; @@ -134,30 +178,48 @@ namespace OnTopReplica.SidePanels { #endregion + /// + /// Constructs a ThumbnailRegion from the dialog's current state. + /// + protected ThumbnailRegion ConstructCurrentRegion() { + Rectangle bounds = new Rectangle { + X = (int)numX.Value, + Y = (int)numY.Value, + Width = (int)numW.Value, + Height = (int)numH.Value + }; + + ThumbnailRegion newRegion = new ThumbnailRegion(bounds, checkRelative.Checked); + + return newRegion; + } + /// /// Adds a new stored region. /// /// Region bounds. /// Name of the region. - private void AddRegion(Rectangle rectangle, string regionName) { - var region = new StoredRegion(rectangle, regionName); + /// Whether the region is relative to the border. + private void StoreCurrentRegion(string regionName) { + StoredRegion storedRegion = new StoredRegion(this.ConstructCurrentRegion(), regionName); - int index = comboRegions.Items.Add(region); + int index = comboRegions.Items.Add(storedRegion); comboRegions.SelectedIndex = index; if (Settings.Default.SavedRegions == null) Settings.Default.SavedRegions = new StoredRegionArray(); - Settings.Default.SavedRegions.Add(region); + Settings.Default.SavedRegions.Add(storedRegion); } /// /// Internal event raised when a change occurs in the selected region. /// /// Region bounds. - protected virtual void OnRegionSet(Rectangle regionBounds) { + protected virtual void OnRegionSet(ThumbnailRegion region) { //Forward region to thumbnail - ParentForm.SelectedThumbnailRegion = regionBounds; + ParentForm.SelectedThumbnailRegion = region; + //Have region, allowed to save buttonSave.Enabled = true; } @@ -193,10 +255,7 @@ namespace OnTopReplica.SidePanels { private void Save_confirm(object sender, EventArgs e) { if (!string.IsNullOrEmpty(textRegionName.Text)) { - AddRegion( - new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value), - textRegionName.Text - ); + StoreCurrentRegion(textRegionName.Text); } //Hide textbox and show button again @@ -222,7 +281,7 @@ namespace OnTopReplica.SidePanels { if (_ignoreValueChanges) return; - OnRegionSet(new Rectangle((int)numX.Value, (int)numY.Value, (int)numW.Value, (int)numH.Value)); + OnRegionSet(ConstructCurrentRegion()); } private void RegionCombo_index_change(object sender, EventArgs e) { @@ -235,10 +294,26 @@ namespace OnTopReplica.SidePanels { if (region == null) return; - SetRegion(region.Bounds); + SetRegion(region.Region); } } + private void CheckRelative_checked(object sender, EventArgs e) { + if (_ignoreValueChanges) + return; + + //Get current region and switch mode + var region = ConstructCurrentRegion(); + region.Relative = !region.Relative; //this must be reversed because the GUI has already switched state when calling ConstructCurrentRegion() + if (checkRelative.Checked) + region.SwitchToRelative(ParentForm.ThumbnailPanel.ThumbnailOriginalSize); + else + region.SwitchToAbsolute(ParentForm.ThumbnailPanel.ThumbnailOriginalSize); + + //Update GUI + SetRegion(region); + } + #endregion } diff --git a/OnTopReplica/SidePanels/RegionPanel.resx b/OnTopReplica/SidePanels/RegionPanel.resx index a5979aa..026c576 100644 --- a/OnTopReplica/SidePanels/RegionPanel.resx +++ b/OnTopReplica/SidePanels/RegionPanel.resx @@ -112,12 +112,12 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 17, 17 \ No newline at end of file diff --git a/OnTopReplica/StartupOptions/CommandLineReportForm.cs b/OnTopReplica/StartupOptions/CommandLineReportForm.cs index 90eea63..e3315ca 100644 --- a/OnTopReplica/StartupOptions/CommandLineReportForm.cs +++ b/OnTopReplica/StartupOptions/CommandLineReportForm.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.ComponentModel; -using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; diff --git a/OnTopReplica/StartupOptions/Factory.cs b/OnTopReplica/StartupOptions/Factory.cs index 8602911..dbc0a5e 100644 --- a/OnTopReplica/StartupOptions/Factory.cs +++ b/OnTopReplica/StartupOptions/Factory.cs @@ -47,11 +47,9 @@ namespace OnTopReplica.StartupOptions { //Load window options.WindowId = resultHandle.Handle; } -#if DEBUG else { - Console.WriteLine("Couldn't find window to restore."); + System.Diagnostics.Trace.WriteLine("Couldn't find window to restore."); } -#endif } } @@ -80,8 +78,11 @@ namespace OnTopReplica.StartupOptions { options.StartLocation = null; options.StartScreenPosition = pos; }) - .Add("r|region=", "Region {BOUNDS} of the original window.", region => { - options.Region = region; + .Add("r|region=", "Region {BOUNDS} of the cloned window.", region => { + options.Region = new ThumbnailRegion(region); + }) + .Add("p|padding=", "Padding {BOUNDS} of the clone.", padding => { + options.Region = new ThumbnailRegion(padding); }) .Add("o|opacity=", "Opacity of the window (0-255).", opacity => { options.Opacity = opacity; diff --git a/OnTopReplica/StartupOptions/Options.cs b/OnTopReplica/StartupOptions/Options.cs index 1980a42..0e3cb94 100644 --- a/OnTopReplica/StartupOptions/Options.cs +++ b/OnTopReplica/StartupOptions/Options.cs @@ -39,7 +39,7 @@ namespace OnTopReplica.StartupOptions { public string WindowClass { get; set; } - public Rectangle? Region { get; set; } + public ThumbnailRegion Region { get; set; } public bool MustBeVisible { get; set; } diff --git a/OnTopReplica/StoredRegion.cs b/OnTopReplica/StoredRegion.cs index f8337a1..d2d6894 100644 --- a/OnTopReplica/StoredRegion.cs +++ b/OnTopReplica/StoredRegion.cs @@ -6,21 +6,17 @@ using System.Drawing; namespace OnTopReplica { - [Serializable] - public class StoredRegion : IXmlSerializable { + public class StoredRegion { - public StoredRegion() { - } + public StoredRegion(ThumbnailRegion r, string name) { + Region = r; + Name = name; + } - public StoredRegion(Rectangle r, string n) { - Bounds = r; - Name = n; - } - - public Rectangle Bounds { - get; - set; - } + public ThumbnailRegion Region { + get; + set; + } public string Name { get; @@ -31,33 +27,6 @@ namespace OnTopReplica { return Name; } - - #region IXmlSerializable Members - - public System.Xml.Schema.XmlSchema GetSchema() { - return null; - } - - public void ReadXml(System.Xml.XmlReader reader) { - if (reader.MoveToAttribute("name")) - Name = reader.Value; - else - throw new Exception(); - - reader.Read(); - - XmlSerializer x = new XmlSerializer(typeof(Rectangle)); - Bounds = (Rectangle)x.Deserialize(reader); - } - - public void WriteXml(System.Xml.XmlWriter writer) { - writer.WriteAttributeString("name", Name); - - XmlSerializer x = new XmlSerializer(typeof(Rectangle)); - x.Serialize(writer, Bounds); - } - - #endregion } } diff --git a/OnTopReplica/StoredRegionArray.cs b/OnTopReplica/StoredRegionArray.cs index 1a948c6..f140178 100644 --- a/OnTopReplica/StoredRegionArray.cs +++ b/OnTopReplica/StoredRegionArray.cs @@ -3,10 +3,18 @@ using System.Collections.Generic; using System.Text; using System.Collections; using System.Xml.Serialization; +using System.Xml; +using System.Xml.Linq; namespace OnTopReplica { - public class StoredRegionArray : ArrayList, IXmlSerializable { + /// + /// Strongly styped array of StoredRegion elements. + /// + /// + /// Handles XML serialization. + /// + public class StoredRegionArray : List, IXmlSerializable { #region IXmlSerializable Members @@ -16,22 +24,122 @@ namespace OnTopReplica { public void ReadXml(System.Xml.XmlReader reader) { this.Clear(); - XmlSerializer x = new XmlSerializer(typeof(StoredRegion)); - while (reader.ReadToFollowing("StoredRegion")) { - object o = x.Deserialize(reader); - if (o is StoredRegion) - this.Add(o); - } + var doc = XDocument.Load(reader); + foreach (var xmlRegion in doc.Descendants("StoredRegion")) { + System.Diagnostics.Debug.WriteLine(string.Format("Found region '{0}'.", xmlRegion.Attribute("name"))); + + StoredRegion parsedRegion = ParseStoredRegion(xmlRegion); + if (parsedRegion != null) { + this.Add(parsedRegion); + } + } } + private StoredRegion ParseStoredRegion(XElement xmlRegion) { + var xName = xmlRegion.Attribute("name"); + if (xName == null || string.IsNullOrWhiteSpace(xName.Value)) { + System.Diagnostics.Debug.Fail("Parsed stored region has no name attribute."); + return null; + } + + ThumbnailRegion region = ParseRegion(xmlRegion); + if (region == null) { + System.Diagnostics.Debug.Fail("Parsed stored region has no valid region."); + return null; + } + + return new StoredRegion(region, xName.Value); + } + + private ThumbnailRegion ParseRegion(XElement xmlRegion) { + var xRectangle = xmlRegion.Element("Rectangle"); + if (xRectangle != null) { + System.Drawing.Rectangle rectangle = ParseRectangle(xRectangle); + return new ThumbnailRegion(rectangle); + } + + var xPadding = xmlRegion.Element("Padding"); + if (xPadding != null) { + System.Windows.Forms.Padding padding = ParsePadding(xPadding); + return new ThumbnailRegion(padding); + } + + return null; + } + + private System.Windows.Forms.Padding ParsePadding(XElement xPadding) { + var p = new System.Windows.Forms.Padding(); + try { + p.Left = Int32.Parse(xPadding.Element("Left").Value); + p.Top = Int32.Parse(xPadding.Element("Top").Value); + p.Right = Int32.Parse(xPadding.Element("Right").Value); + p.Bottom = Int32.Parse(xPadding.Element("Bottom").Value); + } + catch (Exception ex) { + System.Diagnostics.Debug.Fail("Failure while parsing padding data.", ex.ToString()); + } + return p; + } + + private System.Drawing.Rectangle ParseRectangle(XElement xRectangle) { + var r = new System.Drawing.Rectangle(); + try { + r.X = Int32.Parse(xRectangle.Element("X").Value); + r.Y = Int32.Parse(xRectangle.Element("Y").Value); + r.Width = Int32.Parse(xRectangle.Element("Width").Value); + r.Height = Int32.Parse(xRectangle.Element("Height").Value); + } + catch (Exception ex) { + System.Diagnostics.Debug.Fail("Failure while parsing rectangle data.", ex.ToString()); + } + return r; + } + public void WriteXml(System.Xml.XmlWriter writer) { - XmlSerializer x = new XmlSerializer(typeof(StoredRegion)); - foreach (StoredRegion sr in this) { - x.Serialize(writer, sr); - } + foreach (var region in this) { + WriteRegion(writer, region); + } } + private void WriteRegion(XmlWriter writer, StoredRegion region) { + writer.WriteStartElement("StoredRegion"); + writer.WriteAttributeString("name", region.Name); + + if (region.Region.Relative) { + WriteRelativeRegion(writer, region); + } + else { + WriteAbsoluteRegion(writer, region); + } + + writer.WriteEndElement(); + } + + private void WriteAbsoluteRegion(XmlWriter writer, StoredRegion region) { + writer.WriteStartElement("Rectangle"); + + var bounds = region.Region.Bounds; + writer.WriteElementString("X", bounds.X.ToString()); + writer.WriteElementString("Y", bounds.Y.ToString()); + writer.WriteElementString("Width", bounds.Width.ToString()); + writer.WriteElementString("Height", bounds.Height.ToString()); + + writer.WriteEndElement(); + } + + private void WriteRelativeRegion(XmlWriter writer, StoredRegion region) { + writer.WriteStartElement("Padding"); + + var padding = region.Region.BoundsAsPadding; + writer.WriteElementString("Left", padding.Left.ToString()); + writer.WriteElementString("Top", padding.Top.ToString()); + writer.WriteElementString("Right", padding.Right.ToString()); + writer.WriteElementString("Bottom", padding.Bottom.ToString()); + + writer.WriteEndElement(); + } + #endregion } diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx index 735ef67..d778409 100644 --- a/OnTopReplica/Strings.resx +++ b/OnTopReplica/Strings.resx @@ -1,550 +1,673 @@ - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Created by: %. - Link % is replaced by string AboutAuthorContent. - - - Lorenz Cuno Klopfenstein - Must not be localized. Leave blank in non-default languages. - - - Abort update process. - - - Show details about OnTopReplica. - - - Reset all OnTopReplica settings. - - - Update OnTopReplica now. - - - Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. - - - source code - - - OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. - Link % is replaced by string AboutCreditsSourcesContent. - - - Read the full credits - - - Contribute - - - Credits - - - License - - - Updates - - - The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. - - - Microsoft Reciprocal (MS-RL) - Can be left blank. - - - A lightweight, real-time, always on top thumbnail of a window of your choice. - - - About OnTopReplica - - - Translators: {0} - {0} translators (do not end with period) - - - Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann. - Must not be localized. Leave blank in non-default languages. - - - Check now! - - - OnTopReplica automatically checks for updates at every start up. - - - Version {0} - - - OnTopReplica - Probably doesn't need localization. :) - - - Reset window completely? - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + Lorenz Cuno Klopfenstein + Must not be localized. Leave blank in non-default languages. + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann. + Must not be localized. Leave blank in non-default languages. + + + Check now! + + + OnTopReplica automatically checks for updates at every start up. + + + Version {0} + + + OnTopReplica + Probably doesn't need localization. :) + + + Reset window completely? + + &Reset -All settings will be lost. - - - Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. - - - Reset - - - Reset settings? - - - This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). - - - Reset settings - - - &Cancel - & marks the ALT+[] shortcut - - - Draw regions using mouse. - - - Details - - - Details on Windows Aero - - - Windows Aero is only available on Windows Vista Home Premium or higher. - - - 'Desktop Composition' is not enabled. - - +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + &Cancel + & marks the ALT+[] shortcut + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. -To do so, right-click on the desktop and click on Personalize. - - - Error details - - - Error: - - - It appears that the selected window has been closed or is not valid anymore. - - - Error - - +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + Desktop Composition' is not supported on your Operating System. -You must run this application on Windows Vista Home Premium or better. - - - Desktop Composition unsupported - - - No thumbnail loaded. - - - Unable to create thumbnail - - - Unable to fit window. - - - Unable to check for updates. - - - It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). - - - OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. - - - Mode - - - Always on top - - - Forces OnTopReplica to stay always on top. - - - Click through - - - OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. - - - Standard - - - Behaves like an ordinary window. You can bring other windows above OnTopReplica. - - - OnTopReplica fullscreen - - - Disable - - - Enable Group mode - - - Select multiple windows to enable. - - - Group switch mode is enabled. - - - Group switch mode: - - - Windows - Column Header of list, simply refers to available windows to be cloned - - - Homepage: www.codeplex.com/ontopreplica. - - - Do you want to enable "click forwarding"? - - +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). -To exit this mode, push ESC. - - - Click forwarding - - - Enable Click-Through mode? - - - Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. - - +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. -To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). - - +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + No, thank you. -You can enable click-through later - - - Use Click-Through - - - Click-Through mode - - - OnTopReplica has been updated. - - - In order to use the updated version of OnTopReplica you'll have to restart the application. - - - Update successful - - - OnTopReplica is up to date. - - - No update available - - - Language - - - About... - - - Hides the main window and displays the "about" box. - - - Advanced - - - Show window border - - - Toggles the display of the window border. - - - Enable Click forwarding - - - Enable "click forwarding" to the cloned window. - - - Enable Click-Through - - - OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. - - - Close - - - Closes OnTopReplica. - - - 2:1 Double - - - Fullscreen - - - 1:2 Half - - - 1:1 Fit to window - - - 1:4 Quarter - - - Group Switch mode - - - OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. - - - 100% (opaque) - - - Sets OnTopReplica to be completely opaque. - - - 25% - - - Sets OnTopReplica to 25% opacity. - - - 50% - - - Sets OnTopReplica to 50% opacity. - - - 75% - - - Sets OnTopReplica to 75% opacity. - - - Opacity - - - Open - - - Displays OnTopReplica. - - - Bottom Left - - - Bottom Right - - - Center - - - Disabled - - - Position lock - - - Automatically position OnTopReplica on the current screen. - - - Top Left - - - Top Right - - - Quit fullscreen mode - - - Recall last position and size - - - Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. - - - Minimize - - - Minimizes OnTopReplica to the task bar (or the tray). - - - Select region... - - - Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. - - - Reset window - - - Resets OnTopReplica settings and its main window. - - - Resize - - - Restore last cloned window - - - When enabled, OnTopReplica will attempt to restore the last cloned window on start up. - - - Settings... - - - Displays the settings panel. - - - Switch to window - - - Switches to the source window and hides OnTopReplica. - - - Select window - - - - none - - - - Displays a list of window you can select as thumbnail source. - - - - whole - - - - Current region: - - - Delete - - - Done - - - Height - - - Reset - - - Save - - - Stored regions - - - Regions: - - - Width - - - Right-click here to start... - - - Clone current window - - - These system-wide shortcuts can also be used when OnTopReplica is not in focus. - - - Show/Hide - - - Hot keys: - - - Language: - - - Requires a restart. - - - Settings - - +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + Cancel update -OnTopReplica will prompt you the next time it is started. - - +OnTopReplica will prompt you the next time it is started. + + Download -Install OnTopReplica {0}. - - - The new version can be downloaded and installed from the official website. - - +Install OnTopReplica {0}. + + + The new version can be downloaded and installed from the official website. + + Installed version: {0} -Available version: {1} - - - Version {0} available - - - {0}/{1} bytes downloaded. +Available version: {1} + + + Version {0} available + + + {0}/{1} bytes downloaded. {0} downloaded bytes {1} total bytes {0} bytes geladen von {1} bytes gesamt {0} downloaded bytes {1} total bytes {0} downloaded bytes {1} total bytes -{0} downloaded bytes {1} total bytes - - - Downloading... - - +{0} downloaded bytes {1} total bytes + + + Downloading... + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. -You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. - The website link should be enclosed in <a href="website"></a> tags. - - - Latest stable version released on {0}. - {0} last version release date - - - OnTopReplica is up to date - - +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + Install -OnTopReplica will be closed and the update installed. - - - OnTopReplica version {0} is ready to be installed on your computer. - - - Update ready - - - OnTopReplica updates - +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + + + Bottom + + + Left + + + Right + + + Top + + + X + + + Y + \ No newline at end of file diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs index 10e04bc..bd0b81d 100644 --- a/OnTopReplica/ThumbnailPanel.cs +++ b/OnTopReplica/ThumbnailPanel.cs @@ -14,7 +14,6 @@ namespace OnTopReplica { //DWM Thumbnail stuff Thumbnail _thumbnail = null; - Rectangle _regionCurrent; //Labels ThemedLabel _labelGlass; @@ -42,16 +41,19 @@ namespace OnTopReplica { #region Properties and settings + ThumbnailRegion _currentRegion; + /// - /// Gets or sets the region that is currently shown on the thumbnail. When set, also enabled region constrain. + /// Gets or sets the region that is currently shown on the thumbnail. When set, also enables region constrain. /// - public Rectangle SelectedRegion { + public ThumbnailRegion SelectedRegion { get { - return _regionCurrent; + return _currentRegion; } set { - _regionCurrent = value; - ConstrainToRegion = true; + _currentRegion = value; + _regionEnabled = (value != null); + UpdateThubmnail(); } } @@ -65,8 +67,10 @@ namespace OnTopReplica { return _regionEnabled; } set { - _regionEnabled = value; - UpdateThubmnail(); + if (_regionEnabled != value) { + _regionEnabled = value; + UpdateThubmnail(); + } } } @@ -112,18 +116,50 @@ namespace OnTopReplica { } /// - /// Gets the thumbnail's original size. + /// Gets the thumbnail's size (in effectively thumbnailed pixels). /// + /// + /// This size varies if the thumbnail has been cropped to a region. + /// + public Size ThumbnailPixelSize { + get { + if (_thumbnail != null && !_thumbnail.IsInvalid) { + if (_regionEnabled) { + return _currentRegion.ComputeRegionSize(_thumbnail.SourceSize); + } + else { + //Thumbnail is not cropped, return full thumbnail source size + return _thumbnail.SourceSize; + } + } + else { +#if DEBUG + throw new InvalidOperationException(Strings.ErrorNoThumbnail); +#else + return Size.Empty; +#endif + } + } + } + + /// + /// Gets the thumbnailed window's original size. + /// + /// + /// This size is not influenced by the region cropping applied to the thumbnail. + /// public Size ThumbnailOriginalSize { get { if (_thumbnail != null && !_thumbnail.IsInvalid) { - if (_regionEnabled) - return _regionCurrent.Size; - return _thumbnail.SourceSize; } - else - throw new Exception(Strings.ErrorNoThumbnail); + else { +#if DEBUG + throw new InvalidOperationException(Strings.ErrorNoThumbnail); +#else + return Size.Empty; +#endif + } } } @@ -156,9 +192,14 @@ namespace OnTopReplica { /// Creates a new thumbnail of a certain window. /// /// Handle of the window to clone. - public void SetThumbnailHandle(WindowHandle handle) { - if (_thumbnail != null && !_thumbnail.IsInvalid) - _thumbnail.Close(); + /// Optional region. + public void SetThumbnailHandle(WindowHandle handle, ThumbnailRegion region) { + System.Diagnostics.Trace.WriteLine(string.Format("Setting thumbnail to handle {0}, with region {1}.", handle, region), "ThumbnailPanel"); + + if (_thumbnail != null && !_thumbnail.IsInvalid) { + _thumbnail.Close(); + _thumbnail = null; + } //Get form and register thumbnail on it Form owner = this.TopLevelControl as Form; @@ -167,16 +208,22 @@ namespace OnTopReplica { _labelGlass.Visible = false; + //Register new thumbnail, disable regioning directly and refresh _thumbnail = DwmManager.Register(owner, handle.Handle); - ConstrainToRegion = false; //this also invokes a thumbnail update + _currentRegion = region; + _regionEnabled = (region != null); + UpdateThubmnail(); } /// /// Disposes current thumbnail and enters stand-by mode. /// public void UnsetThumbnail() { - if (_thumbnail != null && !_thumbnail.IsInvalid) - _thumbnail.Close(); + System.Diagnostics.Trace.WriteLine("Unsetting thumbnail."); + + if (_thumbnail != null && !_thumbnail.IsInvalid) { + _thumbnail.Close(); + } _thumbnail = null; _labelGlass.Visible = true; @@ -201,14 +248,16 @@ namespace OnTopReplica { private void UpdateThubmnail() { if (_thumbnail != null && !_thumbnail.IsInvalid){ try { - Size sourceSize = ThumbnailOriginalSize; - _thumbnailSize = ComputeIdealSize(sourceSize, Size); - + //Get thumbnail size and attempt to fit to control, with padding + Size sourceSize = ThumbnailPixelSize; + _thumbnailSize = sourceSize.Fit(Size); _padWidth = (Size.Width - _thumbnailSize.Width) / 2; _padHeight = (Size.Height - _thumbnailSize.Height) / 2; + System.Diagnostics.Debug.WriteLine("Fitting {0} inside {1} as {2}. Padding {3},{4}.", sourceSize, Size, _thumbnailSize, _padWidth, _padHeight); + var target = new Rectangle(_padWidth, _padHeight, _thumbnailSize.Width, _thumbnailSize.Height); - Rectangle source = (_regionEnabled) ? _regionCurrent : new Rectangle(Point.Empty, _thumbnail.SourceSize); + Rectangle source = (_regionEnabled) ? _currentRegion.ComputeRegionRectangle(_thumbnail.SourceSize) : new Rectangle(Point.Empty, _thumbnail.SourceSize); _thumbnail.Update(target, source, ThumbnailOpacity, true, true); } @@ -220,30 +269,12 @@ namespace OnTopReplica { } } - /// - /// Computes ideal thumbnail size given an original size and a target to fit. - /// - /// Size of the original thumbnail. - /// Size of the client area to fit. - private Size ComputeIdealSize(Size sourceSize, Size clientSize) { - double sourceRatio = (double)sourceSize.Width / (double)sourceSize.Height; - double clientRatio = (double)clientSize.Width / (double)clientSize.Height; - - Size ret; - if (sourceRatio >= clientRatio) { - ret = new Size(clientSize.Width, (int)((double)clientSize.Width / sourceRatio)); - } - else { - ret = new Size((int)((double)clientSize.Height * sourceRatio), clientSize.Height); - } - - return ret; - } - #endregion #region Region drawing + const int MinimumRegionSize = 1; + //Set if currently drawing a window (first click/drag was initiated) bool _drawingRegion = false; //Set if drawing was suspended because the mouse left the control @@ -251,18 +282,20 @@ namespace OnTopReplica { Point _regionStartPoint; Point _regionLastPoint; - public delegate void RegionDrawnHandler(object sender, Rectangle region); + public delegate void RegionDrawnHandler(object sender, ThumbnailRegion region); public event RegionDrawnHandler RegionDrawn; protected virtual void OnRegionDrawn(Rectangle region) { //Fix region if necessary (bug report by Gunter, via comment) - if (region.Width < 1) region.Width = 1; - if (region.Height < 1) region.Height = 1; + if (region.Width < MinimumRegionSize) + region.Width = MinimumRegionSize; + if (region.Height < MinimumRegionSize) + region.Height = MinimumRegionSize; var evt = RegionDrawn; if (evt != null) - evt(this, region); + evt(this, new ThumbnailRegion(region)); } /// @@ -272,7 +305,7 @@ namespace OnTopReplica { if (_thumbnailSize.Width < 1 || _thumbnailSize.Height < 1) //causes DivBy0 return; - //Compute bounds + //Compute bounds and clip to boundaries int left = Math.Min(start.X, end.X); int right = Math.Max(start.X, end.X); int top = Math.Min(start.Y, end.Y); @@ -288,12 +321,15 @@ namespace OnTopReplica { var startPoint = ClientToThumbnail(new Point(left, top)); var endPoint = ClientToThumbnail(new Point(right, bottom)); var final = new Rectangle( - startPoint, - new Size(endPoint.X - startPoint.X, endPoint.Y - startPoint.Y) + startPoint.X, + startPoint.Y, + endPoint.X - startPoint.X, + endPoint.Y - startPoint.Y ); - //Update region - SelectedRegion = final; + System.Diagnostics.Trace.WriteLine(string.Format("Drawn from {0} to {1}, as region {2}.", start, end, final)); + + //Signal OnRegionDrawn(final); } @@ -356,7 +392,7 @@ namespace OnTopReplica { base.OnMouseMove(e); } - Pen penRed = new Pen(Color.FromArgb(255, Color.Red), 1.0f); + readonly static Pen RedPen = new Pen(Color.FromArgb(255, Color.Red), 1.5f); //TODO: check width protected override void OnPaint(PaintEventArgs e) { if (_drawingRegion) { @@ -366,12 +402,12 @@ namespace OnTopReplica { int top = Math.Min(_regionStartPoint.Y, _regionLastPoint.Y); int bottom = Math.Max(_regionStartPoint.Y, _regionLastPoint.Y); - e.Graphics.DrawRectangle(penRed, left, top, right - left, bottom - top); + e.Graphics.DrawRectangle(RedPen, left, top, right - left, bottom - top); } else if (DrawMouseRegions && ! _drawingSuspended) { //Show cursor coordinates - e.Graphics.DrawLine(penRed, new Point(0, _regionLastPoint.Y), new Point(ClientSize.Width, _regionLastPoint.Y)); - e.Graphics.DrawLine(penRed, new Point(_regionLastPoint.X, 0), new Point(_regionLastPoint.X, ClientSize.Height)); + e.Graphics.DrawLine(RedPen, new Point(0, _regionLastPoint.Y), new Point(ClientSize.Width, _regionLastPoint.Y)); + e.Graphics.DrawLine(RedPen, new Point(_regionLastPoint.X, 0), new Point(_regionLastPoint.X, ClientSize.Height)); } base.OnPaint(e); @@ -427,14 +463,15 @@ namespace OnTopReplica { position.X -= _padWidth; position.Y -= _padHeight; + //Determine position in fractional terms (on the size of the thumbnail control) PointF proportionalPosition = new PointF( (float)position.X / _thumbnailSize.Width, (float)position.Y / _thumbnailSize.Height ); //Get real pixel region info - Size source = (_regionEnabled) ? _regionCurrent.Size : _thumbnail.SourceSize; - Point offset = (_regionEnabled) ? _regionCurrent.Location : Point.Empty; + Size source = ThumbnailPixelSize; + Point offset = (_regionEnabled) ? SelectedRegion.Offset : Point.Empty; return new Point( (int)((proportionalPosition.X * source.Width) + offset.X), diff --git a/OnTopReplica/ThumbnailRegion.cs b/OnTopReplica/ThumbnailRegion.cs new file mode 100644 index 0000000..20cfcf9 --- /dev/null +++ b/OnTopReplica/ThumbnailRegion.cs @@ -0,0 +1,222 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + + /// + /// Represents a thumbnail region. + /// + /// + /// A ThumbnailRegion can work in absolute or in relative mode. + /// In absolute mode, the region is expressed in absolute pixel values, as expressed by the value of the + /// property. + /// In relative mode, the region is expressed in padding pixels from the borders of the source. Internally this + /// is still represented by the property. Properties of the Rectangle value are mapped as follows: + /// Rectangle.X = Padding.Left + /// Rectangle.Y = Padding.Top + /// Rectangle.Width = Padding.Right + /// Rectangle.Height = Padding.Bottom + /// + public class ThumbnailRegion { + + /// + /// Creates a ThumbnailRegion from a padding value relative to the thumbnail borders. + /// + public ThumbnailRegion(Padding padding) { + _bounds = new Rectangle { + X = padding.Left, + Y = padding.Top, + Width = padding.Right, + Height = padding.Bottom + }; + Relative = true; + } + + /// + /// Creates a ThumbnailRegion from a bounds rectangle (in absolute terms). + /// + public ThumbnailRegion(Rectangle rectangle) { + _bounds = rectangle; + Relative = false; + } + + /// + /// Creates a ThumbnailRegion from a rectangle, either expressing values in relative or in absolute terms. + /// + public ThumbnailRegion(Rectangle paddingOrBounds, bool relative) { + _bounds = paddingOrBounds; + Relative = relative; + } + + private Rectangle _bounds; + + /// + /// Gets or sets the bounds of the thumbnail region. + /// + public Rectangle Bounds { + get { +#if DEBUG + if (Relative) + throw new InvalidOperationException("Not allowed to use ThumbnailRegion Bounds as Rectangle value (in relative mode)."); +#endif + + return _bounds; + } + set { + _bounds = value; + Relative = false; + } + } + + /// + /// Gets or sets whether the bounds are expressed relative to the thumbnail borders. + /// + public bool Relative { + get; + set; + } + + /// + /// Sets the relative bounds of the region. Switches to relative mode. + /// + /// Padding in relative terms from the borders. + public void SetRelativeBounds(Padding padding) { + Bounds = new Rectangle { + X = padding.Left, + Y = padding.Top, + Width = padding.Right, + Height = padding.Bottom + }; + Relative = true; + } + + /// + /// Gets the bounds of the thumbnail region as relative padding from the thumbnail borders. + /// + /// Makes sense only in relative mode. + public Padding BoundsAsPadding { + get { +#if DEBUG + if (!Relative) + throw new InvalidOperationException("Not allowed to use ThumbnailRegion Bounds as Padding value (not in relative mode)."); +#endif + + return new Padding { + Left = _bounds.X, + Top = _bounds.Y, + Right = _bounds.Width, + Bottom = _bounds.Height + }; + } + } + + /// + /// Gets the offset of the region. + /// + /// + /// The offset is expressed as a point of displacement from the up-right corner (0,0) of the original source. + /// + public Point Offset { + get { + //This is equal in both absolute and relative mode + return _bounds.Location; + } + } + + const int MinimumRegionSize = 8; + + /// + /// Computes the effective region representing the bounds inside a source thumbnail of a certain size. + /// + /// Size of the full thumbnail source. + /// Bounds inside the thumbnail. + protected Rectangle ComputeRegion(Size sourceSize) { + Rectangle ret; + + //Compute + if (Relative) { + ret = new Rectangle { + X = _bounds.X, + Y = _bounds.Y, + Width = sourceSize.Width - _bounds.X - _bounds.Width, + Height = sourceSize.Height - _bounds.Y - _bounds.Height + }; + } + else { + ret = _bounds; + } + + //Constrain to bounds + if (ret.X + ret.Width > sourceSize.Width) + ret.Width = sourceSize.Width - ret.X; + if (ret.Y + ret.Height > sourceSize.Height) + ret.Height = sourceSize.Height - ret.Y; + + return ret; + } + + /// + /// Computes a rectangle representing the bounds of the region inside a source thumbnail of a certain size. + /// + /// Size of the full thumbnail source. + /// Bounds inside the thumbnail. + public Rectangle ComputeRegionRectangle(Size sourceSize) { + return ComputeRegion(sourceSize); + } + + /// + /// Computes a value representing the size of the region inside a source thumbnail of a certain size. + /// + /// Size of the full thumbnail source. + /// Size of the bounds inside the thumbnail. + public Size ComputeRegionSize(Size sourceSize) { + return ComputeRegion(sourceSize).Size; + } + + /// + /// Switches the region to relative mode, according to a source thumbnail of a given size. + /// + /// Size of the full thumbnail source. + public void SwitchToRelative(Size sourceSize) { + if (Relative) + return; + + var relativeBounds = new Padding { + Left = _bounds.X, + Top = _bounds.Y, + Right = sourceSize.Width - (_bounds.X + _bounds.Width), + Bottom = sourceSize.Height - (_bounds.Y + _bounds.Height) + }; + + this.SetRelativeBounds(relativeBounds); + } + + /// + /// Switches the region to absolute mode, according to a source thumbnail of a given size. + /// + /// Size of the full thumbnail source. + public void SwitchToAbsolute(Size sourceSize) { + if (!Relative) + return; + + var absoluteBounds = new Rectangle { + X = _bounds.X, + Y = _bounds.Y, + Width = (sourceSize.Width - _bounds.Width) - _bounds.X, + Height = (sourceSize.Height - _bounds.Height) - _bounds.Y + }; + + Bounds = absoluteBounds; + } + + public override string ToString() { + return string.Format("({0}, {1})", _bounds, (Relative) ? "relative" : "absolute"); + } + + } + +} diff --git a/OnTopReplica/Win32Helper.cs b/OnTopReplica/Win32Helper.cs index f14493d..618c69e 100644 --- a/OnTopReplica/Win32Helper.cs +++ b/OnTopReplica/Win32Helper.cs @@ -49,7 +49,7 @@ namespace OnTopReplica { MessagingMethods.PostMessage(child, WM.LBUTTONUP, new IntPtr(MK.LBUTTON), lParamClickLocation); #if DEBUG - Console.WriteLine("Left click on window #" + child.ToString() + " at " + clientLocation.ToString()); + System.Diagnostics.Debug.WriteLine("Left click on window #" + child.ToString() + " at " + clientLocation.ToString()); #endif } @@ -60,7 +60,7 @@ namespace OnTopReplica { MessagingMethods.PostMessage(child, WM.RBUTTONUP, new IntPtr(MK.RBUTTON), lParamClickLocation); #if DEBUG - Console.WriteLine("Right click on window #" + child.ToString() + " at " + clientLocation.ToString()); + System.Diagnostics.Debug.WriteLine("Right click on window #" + child.ToString() + " at " + clientLocation.ToString()); #endif } @@ -70,7 +70,7 @@ namespace OnTopReplica { MessagingMethods.PostMessage(child, WM.LBUTTONDBLCLK, new IntPtr(MK.LBUTTON), lParamClickLocation); #if DEBUG - Console.WriteLine("Double left click on window #" + child.ToString() + " at " + clientLocation.ToString()); + System.Diagnostics.Debug.WriteLine("Double left click on window #" + child.ToString() + " at " + clientLocation.ToString()); #endif } @@ -80,7 +80,7 @@ namespace OnTopReplica { MessagingMethods.PostMessage(child, WM.RBUTTONDBLCLK, new IntPtr(MK.RBUTTON), lParamClickLocation); #if DEBUG - Console.WriteLine("Double right click on window #" + child.ToString() + " at " + clientLocation.ToString()); + System.Diagnostics.Debug.WriteLine("Double right click on window #" + child.ToString() + " at " + clientLocation.ToString()); #endif } diff --git a/OnTopReplica/WindowHandle.cs b/OnTopReplica/WindowHandle.cs index 0dfff94..e2d4851 100644 --- a/OnTopReplica/WindowHandle.cs +++ b/OnTopReplica/WindowHandle.cs @@ -95,7 +95,12 @@ namespace OnTopReplica { #region Object override public override string ToString() { - return _title; + if (string.IsNullOrWhiteSpace(_title)) { + return string.Format("#{0}", _handle.ToInt64()); + } + else { + return string.Format("#{0} ({1})", _handle.ToInt64(), _title); + } } public override bool Equals(object obj) { diff --git a/OnTopReplica/WindowListMenuManager.cs b/OnTopReplica/WindowListMenuManager.cs index 7c4f3d3..a79fa74 100644 --- a/OnTopReplica/WindowListMenuManager.cs +++ b/OnTopReplica/WindowListMenuManager.cs @@ -96,10 +96,10 @@ namespace OnTopReplica { parent.DropDownItems.Add(nullRegionItem); //Video detector - var detectorItem = new ToolStripMenuItem("Autodetect plugin"); + /*var detectorItem = new ToolStripMenuItem("Autodetect plugin"); detectorItem.Tag = parentHandle; detectorItem.Click += MenuVideoCropperClickHandler; - parent.DropDownItems.Add(detectorItem); + parent.DropDownItems.Add(detectorItem);*/ //Regions (if any) if (regions == null || regions.Length == 0) @@ -135,10 +135,10 @@ namespace OnTopReplica { var tsi = (ToolStripMenuItem)sender; var tuple = (Tuple)tsi.Tag; _owner.SetThumbnail(tuple.Item1, - (tuple.Item2 != null) ? (System.Drawing.Rectangle?)tuple.Item2.Bounds : null); + (tuple.Item2 != null) ? (ThumbnailRegion)tuple.Item2.Region : null); } - PluginRegionLocator _pluginRegionLocator = null; + /*PluginRegionLocator _pluginRegionLocator = null; private void MenuVideoCropperClickHandler(object sender, EventArgs args){ CommonClickHandler(); @@ -151,7 +151,7 @@ namespace OnTopReplica { var detectedRegion = _pluginRegionLocator.LocatePluginRegion(handle); _owner.SetThumbnail(handle, detectedRegion); - } + }*/ private void CommonClickHandler() { _windowsMenu.Close(); From d6c31c2999035bc1fbc7ac8f85a42a73b4b42d39 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 14 Nov 2012 15:22:26 +0100 Subject: [PATCH 140/164] Updated aspect ratio algorithm to adapt vertical position changes. --- OnTopReplica/AspectRatioForm.cs | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs index 4fe4f68..f3ba895 100644 --- a/OnTopReplica/AspectRatioForm.cs +++ b/OnTopReplica/AspectRatioForm.cs @@ -18,6 +18,9 @@ namespace OnTopReplica { /// /// Gets or sets whether the form should keep its aspect ratio. /// + /// + /// Refreshes the window's size if set to true. + /// [Description("Enables fixed aspect ratio for this form."), Category("Appearance"), DefaultValue(true)] public bool KeepAspectRatio { get { @@ -74,12 +77,29 @@ namespace OnTopReplica { public void RefreshAspectRatio() { int newWidth = ClientSize.Width; int newHeight = (int)((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical; - if (newHeight < FromSizeToClientSize(MinimumSize).Height) { - newHeight = FromSizeToClientSize(MinimumSize).Height; + + //Adapt height if it doesn't respect the form's minimum size + Size clientMinimumSize = FromSizeToClientSize(MinimumSize); + if (newHeight < clientMinimumSize.Height) { + newHeight = clientMinimumSize.Height; newWidth = (int)((newHeight - ExtraPadding.Vertical) * AspectRatio) + ExtraPadding.Horizontal; } + //Adapt height if it exceeds the screen's height + var workingArea = Screen.GetWorkingArea(this); + if (newHeight >= workingArea.Height) { + newHeight = workingArea.Height; + newWidth = (int)((newHeight - ExtraPadding.Vertical) * AspectRatio) + ExtraPadding.Horizontal; + } + + //Update size ClientSize = new Size(newWidth, newHeight); + + //Move form vertically to adapt to new size + if (Location.Y + Size.Height > workingArea.Y + workingArea.Height) { + int offsetY = (workingArea.Y + workingArea.Height) - (Location.Y + Size.Height); + Location = new Point(Location.X, Location.Y - offsetY); + } } /// @@ -111,13 +131,14 @@ namespace OnTopReplica { /// True if the size of the form should be refreshed to match the new aspect ratio. public void SetAspectRatio(Size aspectRatioSource, bool forceRefresh) { AspectRatio = ((double)aspectRatioSource.Width / (double)aspectRatioSource.Height); + _keepAspectRatio = true; #if DEBUG System.Diagnostics.Trace.WriteLine(string.Format("Setting aspect ratio of {0} (for {1}).", AspectRatio, aspectRatioSource)); #endif if (forceRefresh) { - KeepAspectRatio = true; + RefreshAspectRatio(); } } From 4eacee503e5e475f63d71a7d987bc8443320a91f Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 14 Nov 2012 15:56:03 +0100 Subject: [PATCH 141/164] Caching in NativeToolStripRenderer to reduce memory usage (System.Version). --- OnTopReplica/NativeToolStripRenderer.cs | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/OnTopReplica/NativeToolStripRenderer.cs b/OnTopReplica/NativeToolStripRenderer.cs index b4d94f3..4427e04 100644 --- a/OnTopReplica/NativeToolStripRenderer.cs +++ b/OnTopReplica/NativeToolStripRenderer.cs @@ -37,7 +37,8 @@ namespace Asztal.Szótár { //See http://msdn2.microsoft.com/en-us/library/bb773210.aspx - "Parts and States" #region Parts and States - enum MenuParts : int { + + enum MenuParts : int { MENU_MENUITEM_TMSCHEMA = 1, MENU_MENUDROPDOWN_TMSCHEMA = 2, MENU_MENUBARITEM_TMSCHEMA = 3, @@ -106,9 +107,11 @@ namespace Asztal.Szótár { } const int RP_BACKGROUND = 6; + #endregion #region Theme helpers + Padding GetThemeMargins(IDeviceContext dc, MarginTypes marginType) { NativeMethods.MARGINS margins; try { @@ -137,9 +140,11 @@ namespace Asztal.Szótár { return hot ? (int)MenuBarItemStates.MBI_DISABLEDHOT : (int)MenuBarItemStates.MBI_DISABLED; } } + #endregion #region Theme subclasses + public ToolbarTheme Theme { get; set; } @@ -177,6 +182,7 @@ namespace Asztal.Szótár { return VisualStyleElement.CreateElement(SubclassPrefix + element.ClassName, element.Part, element.State); } + #endregion VisualStyleRenderer renderer; @@ -380,12 +386,20 @@ namespace Asztal.Szótár { } #endregion + private static bool? _isSupportedCache = null; + public static bool IsSupported { get { - if (!VisualStyleRenderer.IsSupported) - return false; + if (_isSupportedCache.HasValue) + return _isSupportedCache.Value; - return VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement("MENU", (int)MenuParts.MENU_BARBACKGROUND, (int)MenuBarStates.MB_ACTIVE)); + if (!VisualStyleRenderer.IsSupported) { + _isSupportedCache = false; + return false; + } + + _isSupportedCache = VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement("MENU", (int)MenuParts.MENU_BARBACKGROUND, (int)MenuBarStates.MB_ACTIVE)); + return _isSupportedCache.Value; } } } From 9544a97d4b14077339cc71df8dfe879d4b45aae0 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 14 Nov 2012 16:25:21 +0100 Subject: [PATCH 142/164] Updated NDesk.Options source file. --- OnTopReplica/NDesk/Options/Options.cs | 2145 ++++++++++++------------- 1 file changed, 1042 insertions(+), 1103 deletions(-) diff --git a/OnTopReplica/NDesk/Options/Options.cs b/OnTopReplica/NDesk/Options/Options.cs index 871d2d7..24c4552 100644 --- a/OnTopReplica/NDesk/Options/Options.cs +++ b/OnTopReplica/NDesk/Options/Options.cs @@ -1,1103 +1,1042 @@ -// -// Options.cs -// -// Authors: -// Jonathan Pryor -// -// Copyright (C) 2008 Novell (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - -// Compile With: -// gmcs -debug+ -r:System.Core Options.cs -o:NDesk.Options.dll -// gmcs -debug+ -d:LINQ -r:System.Core Options.cs -o:NDesk.Options.dll -// -// The LINQ version just changes the implementation of -// OptionSet.Parse(IEnumerable), and confers no semantic changes. - -// -// A Getopt::Long-inspired option parsing library for C#. -// -// NDesk.Options.OptionSet is built upon a key/value table, where the -// key is a option format string and the value is a delegate that is -// invoked when the format string is matched. -// -// Option format strings: -// Regex-like BNF Grammar: -// name: .+ -// type: [=:] -// sep: ( [^{}]+ | '{' .+ '}' )? -// aliases: ( name type sep ) ( '|' name type sep )* -// -// Each '|'-delimited name is an alias for the associated action. If the -// format string ends in a '=', it has a required value. If the format -// string ends in a ':', it has an optional value. If neither '=' or ':' -// is present, no value is supported. `=' or `:' need only be defined on one -// alias, but if they are provided on more than one they must be consistent. -// -// Each alias portion may also end with a "key/value separator", which is used -// to split option values if the option accepts > 1 value. If not specified, -// it defaults to '=' and ':'. If specified, it can be any character except -// '{' and '}' OR the *string* between '{' and '}'. If no separator should be -// used (i.e. the separate values should be distinct arguments), then "{}" -// should be used as the separator. -// -// Options are extracted either from the current option by looking for -// the option name followed by an '=' or ':', or is taken from the -// following option IFF: -// - The current option does not contain a '=' or a ':' -// - The current option requires a value (i.e. not a Option type of ':') -// -// The `name' used in the option format string does NOT include any leading -// option indicator, such as '-', '--', or '/'. All three of these are -// permitted/required on any named option. -// -// Option bundling is permitted so long as: -// - '-' is used to start the option group -// - all of the bundled options are a single character -// - at most one of the bundled options accepts a value, and the value -// provided starts from the next character to the end of the string. -// -// This allows specifying '-a -b -c' as '-abc', and specifying '-D name=value' -// as '-Dname=value'. -// -// Option processing is disabled by specifying "--". All options after "--" -// are returned by OptionSet.Parse() unchanged and unprocessed. -// -// Unprocessed options are returned from OptionSet.Parse(). -// -// Examples: -// int verbose = 0; -// OptionSet p = new OptionSet () -// .Add ("v", v => ++verbose) -// .Add ("name=|value=", v => Console.WriteLine (v)); -// p.Parse (new string[]{"-v", "--v", "/v", "-name=A", "/name", "B", "extra"}); -// -// The above would parse the argument string array, and would invoke the -// lambda expression three times, setting `verbose' to 3 when complete. -// It would also print out "A" and "B" to standard output. -// The returned array would contain the string "extra". -// -// C# 3.0 collection initializers are supported and encouraged: -// var p = new OptionSet () { -// { "h|?|help", v => ShowHelp () }, -// }; -// -// System.ComponentModel.TypeConverter is also supported, allowing the use of -// custom data types in the callback type; TypeConverter.ConvertFromString() -// is used to convert the value option to an instance of the specified -// type: -// -// var p = new OptionSet () { -// { "foo=", (Foo f) => Console.WriteLine (f.ToString ()) }, -// }; -// -// Random other tidbits: -// - Boolean options (those w/o '=' or ':' in the option format string) -// are explicitly enabled if they are followed with '+', and explicitly -// disabled if they are followed with '-': -// string a = null; -// var p = new OptionSet () { -// { "a", s => a = s }, -// }; -// p.Parse (new string[]{"-a"}); // sets v != null -// p.Parse (new string[]{"-a+"}); // sets v != null -// p.Parse (new string[]{"-a-"}); // sets v == null -// - -using System; -using System.Collections; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.ComponentModel; -using System.Globalization; -using System.IO; -using System.Runtime.Serialization; -using System.Security.Permissions; -using System.Text; -using System.Text.RegularExpressions; - -#if LINQ -using System.Linq; -#endif - -#if TEST -using NDesk.Options; -#endif - -namespace NDesk.Options { - - public class OptionValueCollection : IList, IList { - - List values = new List (); - OptionContext c; - - internal OptionValueCollection (OptionContext c) - { - this.c = c; - } - - #region ICollection - void ICollection.CopyTo (Array array, int index) {(values as ICollection).CopyTo (array, index);} - bool ICollection.IsSynchronized {get {return (values as ICollection).IsSynchronized;}} - object ICollection.SyncRoot {get {return (values as ICollection).SyncRoot;}} - #endregion - - #region ICollection - public void Add (string item) {values.Add (item);} - public void Clear () {values.Clear ();} - public bool Contains (string item) {return values.Contains (item);} - public void CopyTo (string[] array, int arrayIndex) {values.CopyTo (array, arrayIndex);} - public bool Remove (string item) {return values.Remove (item);} - public int Count {get {return values.Count;}} - public bool IsReadOnly {get {return false;}} - #endregion - - #region IEnumerable - IEnumerator IEnumerable.GetEnumerator () {return values.GetEnumerator ();} - #endregion - - #region IEnumerable - public IEnumerator GetEnumerator () {return values.GetEnumerator ();} - #endregion - - #region IList - int IList.Add (object value) {return (values as IList).Add (value);} - bool IList.Contains (object value) {return (values as IList).Contains (value);} - int IList.IndexOf (object value) {return (values as IList).IndexOf (value);} - void IList.Insert (int index, object value) {(values as IList).Insert (index, value);} - void IList.Remove (object value) {(values as IList).Remove (value);} - void IList.RemoveAt (int index) {(values as IList).RemoveAt (index);} - bool IList.IsFixedSize {get {return false;}} - object IList.this [int index] {get {return this [index];} set {(values as IList)[index] = value;}} - #endregion - - #region IList - public int IndexOf (string item) {return values.IndexOf (item);} - public void Insert (int index, string item) {values.Insert (index, item);} - public void RemoveAt (int index) {values.RemoveAt (index);} - - private void AssertValid (int index) - { - if (c.Option == null) - throw new InvalidOperationException ("OptionContext.Option is null."); - if (index >= c.Option.MaxValueCount) - throw new ArgumentOutOfRangeException ("index"); - if (c.Option.OptionValueType == OptionValueType.Required && - index >= values.Count) - throw new OptionException (string.Format ( - c.OptionSet.MessageLocalizer ("Missing required value for option '{0}'."), c.OptionName), - c.OptionName); - } - - public string this [int index] { - get { - AssertValid (index); - return index >= values.Count ? null : values [index]; - } - set { - values [index] = value; - } - } - #endregion - - public List ToList () - { - return new List (values); - } - - public string[] ToArray () - { - return values.ToArray (); - } - - public override string ToString () - { - return string.Join (", ", values.ToArray ()); - } - } - - public class OptionContext { - private Option option; - private string name; - private int index; - private OptionSet set; - private OptionValueCollection c; - - public OptionContext (OptionSet set) - { - this.set = set; - this.c = new OptionValueCollection (this); - } - - public Option Option { - get {return option;} - set {option = value;} - } - - public string OptionName { - get {return name;} - set {name = value;} - } - - public int OptionIndex { - get {return index;} - set {index = value;} - } - - public OptionSet OptionSet { - get {return set;} - } - - public OptionValueCollection OptionValues { - get {return c;} - } - } - - public enum OptionValueType { - None, - Optional, - Required, - } - - public abstract class Option { - string prototype, description; - string[] names; - OptionValueType type; - int count; - string[] separators; - - protected Option (string prototype, string description) - : this (prototype, description, 1) - { - } - - protected Option (string prototype, string description, int maxValueCount) - { - if (prototype == null) - throw new ArgumentNullException ("prototype"); - if (prototype.Length == 0) - throw new ArgumentException ("Cannot be the empty string.", "prototype"); - if (maxValueCount < 0) - throw new ArgumentOutOfRangeException ("maxValueCount"); - - this.prototype = prototype; - this.names = prototype.Split ('|'); - this.description = description; - this.count = maxValueCount; - this.type = ParsePrototype (); - - if (this.count == 0 && type != OptionValueType.None) - throw new ArgumentException ( - "Cannot provide maxValueCount of 0 for OptionValueType.Required or " + - "OptionValueType.Optional.", - "maxValueCount"); - if (this.type == OptionValueType.None && maxValueCount > 1) - throw new ArgumentException ( - string.Format ("Cannot provide maxValueCount of {0} for OptionValueType.None.", maxValueCount), - "maxValueCount"); - if (Array.IndexOf (names, "<>") >= 0 && - ((names.Length == 1 && this.type != OptionValueType.None) || - (names.Length > 1 && this.MaxValueCount > 1))) - throw new ArgumentException ( - "The default option handler '<>' cannot require values.", - "prototype"); - } - - public string Prototype {get {return prototype;}} - public string Description {get {return description;}} - public OptionValueType OptionValueType {get {return type;}} - public int MaxValueCount {get {return count;}} - - public string[] GetNames () - { - return (string[]) names.Clone (); - } - - public string[] GetValueSeparators () - { - if (separators == null) - return new string [0]; - return (string[]) separators.Clone (); - } - - protected static T Parse (string value, OptionContext c) - { - TypeConverter conv = TypeDescriptor.GetConverter(typeof(T)); - T t = default (T); - try { - if (value != null) - t = (T) conv.ConvertFromString (value); - } - catch (Exception e) { - throw new OptionException ( - string.Format ( - c.OptionSet.MessageLocalizer ("Could not convert string `{0}' to type {1} for option `{2}'."), - value, typeof (T).Name, c.OptionName), - c.OptionName, e); - } - return t; - } - - internal string[] Names {get {return names;}} - internal string[] ValueSeparators {get {return separators;}} - - static readonly char[] NameTerminator = new char[]{'=', ':'}; - - private OptionValueType ParsePrototype () - { - char type = '\0'; - List seps = new List (); - for (int i = 0; i < names.Length; ++i) { - string name = names [i]; - if (name.Length == 0) - throw new ArgumentException ("Empty option names are not supported.", "prototype"); - - int end = name.IndexOfAny (NameTerminator); - if (end == -1) - continue; - names [i] = name.Substring (0, end); - if (type == '\0' || type == name [end]) - type = name [end]; - else - throw new ArgumentException ( - string.Format ("Conflicting option types: '{0}' vs. '{1}'.", type, name [end]), - "prototype"); - AddSeparators (name, end, seps); - } - - if (type == '\0') - return OptionValueType.None; - - if (count <= 1 && seps.Count != 0) - throw new ArgumentException ( - string.Format ("Cannot provide key/value separators for Options taking {0} value(s).", count), - "prototype"); - if (count > 1) { - if (seps.Count == 0) - this.separators = new string[]{":", "="}; - else if (seps.Count == 1 && seps [0].Length == 0) - this.separators = null; - else - this.separators = seps.ToArray (); - } - - return type == '=' ? OptionValueType.Required : OptionValueType.Optional; - } - - private static void AddSeparators (string name, int end, ICollection seps) - { - int start = -1; - for (int i = end+1; i < name.Length; ++i) { - switch (name [i]) { - case '{': - if (start != -1) - throw new ArgumentException ( - string.Format ("Ill-formed name/value separator found in \"{0}\".", name), - "prototype"); - start = i+1; - break; - case '}': - if (start == -1) - throw new ArgumentException ( - string.Format ("Ill-formed name/value separator found in \"{0}\".", name), - "prototype"); - seps.Add (name.Substring (start, i-start)); - start = -1; - break; - default: - if (start == -1) - seps.Add (name [i].ToString ()); - break; - } - } - if (start != -1) - throw new ArgumentException ( - string.Format ("Ill-formed name/value separator found in \"{0}\".", name), - "prototype"); - } - - public void Invoke (OptionContext c) - { - OnParseComplete (c); - c.OptionName = null; - c.Option = null; - c.OptionValues.Clear (); - } - - protected abstract void OnParseComplete (OptionContext c); - - public override string ToString () - { - return Prototype; - } - } - - [Serializable] - public class OptionException : Exception { - private string option; - - public OptionException () - { - } - - public OptionException (string message, string optionName) - : base (message) - { - this.option = optionName; - } - - public OptionException (string message, string optionName, Exception innerException) - : base (message, innerException) - { - this.option = optionName; - } - - protected OptionException (SerializationInfo info, StreamingContext context) - : base (info, context) - { - this.option = info.GetString ("OptionName"); - } - - public string OptionName { - get {return this.option;} - } - - [SecurityPermission (SecurityAction.LinkDemand, SerializationFormatter = true)] - public override void GetObjectData (SerializationInfo info, StreamingContext context) - { - base.GetObjectData (info, context); - info.AddValue ("OptionName", option); - } - } - - public delegate void OptionAction (TKey key, TValue value); - - public class OptionSet : KeyedCollection - { - public OptionSet () - : this (delegate (string f) {return f;}) - { - } - - public OptionSet (Converter localizer) - { - this.localizer = localizer; - } - - Converter localizer; - - public Converter MessageLocalizer { - get {return localizer;} - } - - protected override string GetKeyForItem (Option item) - { - if (item == null) - throw new ArgumentNullException ("option"); - if (item.Names != null && item.Names.Length > 0) - return item.Names [0]; - // This should never happen, as it's invalid for Option to be - // constructed w/o any names. - throw new InvalidOperationException ("Option has no names!"); - } - - [Obsolete ("Use KeyedCollection.this[string]")] - protected Option GetOptionForName (string option) - { - if (option == null) - throw new ArgumentNullException ("option"); - try { - return base [option]; - } - catch (KeyNotFoundException) { - return null; - } - } - - protected override void InsertItem (int index, Option item) - { - base.InsertItem (index, item); - AddImpl (item); - } - - protected override void RemoveItem (int index) - { - base.RemoveItem (index); - Option p = Items [index]; - // KeyedCollection.RemoveItem() handles the 0th item - for (int i = 1; i < p.Names.Length; ++i) { - Dictionary.Remove (p.Names [i]); - } - } - - protected override void SetItem (int index, Option item) - { - base.SetItem (index, item); - RemoveItem (index); - AddImpl (item); - } - - private void AddImpl (Option option) - { - if (option == null) - throw new ArgumentNullException ("option"); - List added = new List (option.Names.Length); - try { - // KeyedCollection.InsertItem/SetItem handle the 0th name. - for (int i = 1; i < option.Names.Length; ++i) { - Dictionary.Add (option.Names [i], option); - added.Add (option.Names [i]); - } - } - catch (Exception) { - foreach (string name in added) - Dictionary.Remove (name); - throw; - } - } - - public new OptionSet Add (Option option) - { - base.Add (option); - return this; - } - - sealed class ActionOption : Option { - Action action; - - public ActionOption (string prototype, string description, int count, Action action) - : base (prototype, description, count) - { - if (action == null) - throw new ArgumentNullException ("action"); - this.action = action; - } - - protected override void OnParseComplete (OptionContext c) - { - action (c.OptionValues); - } - } - - public OptionSet Add (string prototype, Action action) - { - return Add (prototype, null, action); - } - - public OptionSet Add (string prototype, string description, Action action) - { - if (action == null) - throw new ArgumentNullException ("action"); - Option p = new ActionOption (prototype, description, 1, - delegate (OptionValueCollection v) { action (v [0]); }); - base.Add (p); - return this; - } - - public OptionSet Add (string prototype, OptionAction action) - { - return Add (prototype, null, action); - } - - public OptionSet Add (string prototype, string description, OptionAction action) - { - if (action == null) - throw new ArgumentNullException ("action"); - Option p = new ActionOption (prototype, description, 2, - delegate (OptionValueCollection v) {action (v [0], v [1]);}); - base.Add (p); - return this; - } - - sealed class ActionOption : Option { - Action action; - - public ActionOption (string prototype, string description, Action action) - : base (prototype, description, 1) - { - if (action == null) - throw new ArgumentNullException ("action"); - this.action = action; - } - - protected override void OnParseComplete (OptionContext c) - { - action (Parse (c.OptionValues [0], c)); - } - } - - sealed class ActionOption : Option { - OptionAction action; - - public ActionOption (string prototype, string description, OptionAction action) - : base (prototype, description, 2) - { - if (action == null) - throw new ArgumentNullException ("action"); - this.action = action; - } - - protected override void OnParseComplete (OptionContext c) - { - action ( - Parse (c.OptionValues [0], c), - Parse (c.OptionValues [1], c)); - } - } - - public OptionSet Add (string prototype, Action action) - { - return Add (prototype, null, action); - } - - public OptionSet Add (string prototype, string description, Action action) - { - return Add (new ActionOption (prototype, description, action)); - } - - public OptionSet Add (string prototype, OptionAction action) - { - return Add (prototype, null, action); - } - - public OptionSet Add (string prototype, string description, OptionAction action) - { - return Add (new ActionOption (prototype, description, action)); - } - - protected virtual OptionContext CreateOptionContext () - { - return new OptionContext (this); - } - -#if LINQ - public List Parse (IEnumerable arguments) - { - bool process = true; - OptionContext c = CreateOptionContext (); - c.OptionIndex = -1; - var def = GetOptionForName ("<>"); - var unprocessed = - from argument in arguments - where ++c.OptionIndex >= 0 && (process || def != null) - ? process - ? argument == "--" - ? (process = false) - : !Parse (argument, c) - ? def != null - ? Unprocessed (null, def, c, argument) - : true - : false - : def != null - ? Unprocessed (null, def, c, argument) - : true - : true - select argument; - List r = unprocessed.ToList (); - if (c.Option != null) - c.Option.Invoke (c); - return r; - } -#else - public List Parse (IEnumerable arguments) - { - OptionContext c = CreateOptionContext (); - c.OptionIndex = -1; - bool process = true; - List unprocessed = new List (); - Option def = Contains ("<>") ? this ["<>"] : null; - foreach (string argument in arguments) { - ++c.OptionIndex; - if (argument == "--") { - process = false; - continue; - } - if (!process) { - Unprocessed (unprocessed, def, c, argument); - continue; - } - if (!Parse (argument, c)) - Unprocessed (unprocessed, def, c, argument); - } - if (c.Option != null) - c.Option.Invoke (c); - return unprocessed; - } -#endif - - private static bool Unprocessed (ICollection extra, Option def, OptionContext c, string argument) - { - if (def == null) { - extra.Add (argument); - return false; - } - c.OptionValues.Add (argument); - c.Option = def; - c.Option.Invoke (c); - return false; - } - - private readonly Regex ValueOption = new Regex ( - @"^(?--|-|/)(?[^:=]+)((?[:=])(?.*))?$"); - - protected bool GetOptionParts (string argument, out string flag, out string name, out string sep, out string value) - { - if (argument == null) - throw new ArgumentNullException ("argument"); - - flag = name = sep = value = null; - Match m = ValueOption.Match (argument); - if (!m.Success) { - return false; - } - flag = m.Groups ["flag"].Value; - name = m.Groups ["name"].Value; - if (m.Groups ["sep"].Success && m.Groups ["value"].Success) { - sep = m.Groups ["sep"].Value; - value = m.Groups ["value"].Value; - } - return true; - } - - protected virtual bool Parse (string argument, OptionContext c) - { - if (c.Option != null) { - ParseValue (argument, c); - return true; - } - - string f, n, s, v; - if (!GetOptionParts (argument, out f, out n, out s, out v)) - return false; - - Option p; - if (Contains (n)) { - p = this [n]; - c.OptionName = f + n; - c.Option = p; - switch (p.OptionValueType) { - case OptionValueType.None: - c.OptionValues.Add (n); - c.Option.Invoke (c); - break; - case OptionValueType.Optional: - case OptionValueType.Required: - ParseValue (v, c); - break; - } - return true; - } - // no match; is it a bool option? - if (ParseBool (argument, n, c)) - return true; - // is it a bundled option? - if (ParseBundledValue (f, string.Concat (n + s + v), c)) - return true; - - return false; - } - - private void ParseValue (string option, OptionContext c) - { - if (option != null) - foreach (string o in c.Option.ValueSeparators != null - ? option.Split (c.Option.ValueSeparators, StringSplitOptions.None) - : new string[]{option}) { - c.OptionValues.Add (o); - } - if (c.OptionValues.Count == c.Option.MaxValueCount || - c.Option.OptionValueType == OptionValueType.Optional) - c.Option.Invoke (c); - else if (c.OptionValues.Count > c.Option.MaxValueCount) { - throw new OptionException (localizer (string.Format ( - "Error: Found {0} option values when expecting {1}.", - c.OptionValues.Count, c.Option.MaxValueCount)), - c.OptionName); - } - } - - private bool ParseBool (string option, string n, OptionContext c) - { - Option p; - string rn; - if (n.Length >= 1 && (n [n.Length-1] == '+' || n [n.Length-1] == '-') && - Contains ((rn = n.Substring (0, n.Length-1)))) { - p = this [rn]; - string v = n [n.Length-1] == '+' ? option : null; - c.OptionName = option; - c.Option = p; - c.OptionValues.Add (v); - p.Invoke (c); - return true; - } - return false; - } - - private bool ParseBundledValue (string f, string n, OptionContext c) - { - if (f != "-") - return false; - for (int i = 0; i < n.Length; ++i) { - Option p; - string opt = f + n [i].ToString (); - string rn = n [i].ToString (); - if (!Contains (rn)) { - if (i == 0) - return false; - throw new OptionException (string.Format (localizer ( - "Cannot bundle unregistered option '{0}'."), opt), opt); - } - p = this [rn]; - switch (p.OptionValueType) { - case OptionValueType.None: - Invoke (c, opt, n, p); - break; - case OptionValueType.Optional: - case OptionValueType.Required: { - string v = n.Substring (i+1); - c.Option = p; - c.OptionName = opt; - ParseValue (v.Length != 0 ? v : null, c); - return true; - } - default: - throw new InvalidOperationException ("Unknown OptionValueType: " + p.OptionValueType); - } - } - return true; - } - - private static void Invoke (OptionContext c, string name, string value, Option option) - { - c.OptionName = name; - c.Option = option; - c.OptionValues.Add (value); - option.Invoke (c); - } - - private const int OptionWidth = 29; - - public void WriteOptionDescriptions (TextWriter o) - { - foreach (Option p in this) { - int written = 0; - if (!WriteOptionPrototype (o, p, ref written)) - continue; - - if (written < OptionWidth) - o.Write (new string (' ', OptionWidth - written)); - else { - o.WriteLine (); - o.Write (new string (' ', OptionWidth)); - } - - List lines = GetLines (localizer (GetDescription (p.Description))); - o.WriteLine (lines [0]); - string prefix = new string (' ', OptionWidth+2); - for (int i = 1; i < lines.Count; ++i) { - o.Write (prefix); - o.WriteLine (lines [i]); - } - } - } - - bool WriteOptionPrototype (TextWriter o, Option p, ref int written) - { - string[] names = p.Names; - - int i = GetNextOptionIndex (names, 0); - if (i == names.Length) - return false; - - if (names [i].Length == 1) { - Write (o, ref written, " -"); - Write (o, ref written, names [0]); - } - else { - Write (o, ref written, " --"); - Write (o, ref written, names [0]); - } - - for ( i = GetNextOptionIndex (names, i+1); - i < names.Length; i = GetNextOptionIndex (names, i+1)) { - Write (o, ref written, ", "); - Write (o, ref written, names [i].Length == 1 ? "-" : "--"); - Write (o, ref written, names [i]); - } - - if (p.OptionValueType == OptionValueType.Optional || - p.OptionValueType == OptionValueType.Required) { - if (p.OptionValueType == OptionValueType.Optional) { - Write (o, ref written, localizer ("[")); - } - Write (o, ref written, localizer ("=" + GetArgumentName (0, p.MaxValueCount, p.Description))); - string sep = p.ValueSeparators != null && p.ValueSeparators.Length > 0 - ? p.ValueSeparators [0] - : " "; - for (int c = 1; c < p.MaxValueCount; ++c) { - Write (o, ref written, localizer (sep + GetArgumentName (c, p.MaxValueCount, p.Description))); - } - if (p.OptionValueType == OptionValueType.Optional) { - Write (o, ref written, localizer ("]")); - } - } - return true; - } - - static int GetNextOptionIndex (string[] names, int i) - { - while (i < names.Length && names [i] == "<>") { - ++i; - } - return i; - } - - static void Write (TextWriter o, ref int n, string s) - { - n += s.Length; - o.Write (s); - } - - private static string GetArgumentName (int index, int maxIndex, string description) - { - if (description == null) - return maxIndex == 1 ? "VALUE" : "VALUE" + (index + 1); - string[] nameStart; - if (maxIndex == 1) - nameStart = new string[]{"{0:", "{"}; - else - nameStart = new string[]{"{" + index + ":"}; - for (int i = 0; i < nameStart.Length; ++i) { - int start, j = 0; - do { - start = description.IndexOf (nameStart [i], j); - } while (start >= 0 && j != 0 ? description [j++ - 1] == '{' : false); - if (start == -1) - continue; - int end = description.IndexOf ("}", start); - if (end == -1) - continue; - return description.Substring (start + nameStart [i].Length, end - start - nameStart [i].Length); - } - return maxIndex == 1 ? "VALUE" : "VALUE" + (index + 1); - } - - private static string GetDescription (string description) - { - if (description == null) - return string.Empty; - StringBuilder sb = new StringBuilder (description.Length); - int start = -1; - for (int i = 0; i < description.Length; ++i) { - switch (description [i]) { - case '{': - if (i == start) { - sb.Append ('{'); - start = -1; - } - else if (start < 0) - start = i + 1; - break; - case '}': - if (start < 0) { - if ((i+1) == description.Length || description [i+1] != '}') - throw new InvalidOperationException ("Invalid option description: " + description); - ++i; - sb.Append ("}"); - } - else { - sb.Append (description.Substring (start, i - start)); - start = -1; - } - break; - case ':': - if (start < 0) - goto default; - start = i + 1; - break; - default: - if (start < 0) - sb.Append (description [i]); - break; - } - } - return sb.ToString (); - } - - private static List GetLines (string description) - { - List lines = new List (); - if (string.IsNullOrEmpty (description)) { - lines.Add (string.Empty); - return lines; - } - int length = 80 - OptionWidth - 2; - int start = 0, end; - do { - end = GetLineEnd (start, length, description); - bool cont = false; - if (end < description.Length) { - char c = description [end]; - if (c == '-' || (char.IsWhiteSpace (c) && c != '\n')) - ++end; - else if (c != '\n') { - cont = true; - --end; - } - } - lines.Add (description.Substring (start, end - start)); - if (cont) { - lines [lines.Count-1] += "-"; - } - start = end; - if (start < description.Length && description [start] == '\n') - ++start; - } while (end < description.Length); - return lines; - } - - private static int GetLineEnd (int start, int length, string description) - { - int end = Math.Min (start + length, description.Length); - int sep = -1; - for (int i = start; i < end; ++i) { - switch (description [i]) { - case ' ': - case '\t': - case '\v': - case '-': - case ',': - case '.': - case ';': - sep = i; - break; - case '\n': - return i; - } - } - if (sep == -1 || end == description.Length) - return end; - return sep; - } - } -} - +// +// Options.cs (version 0.2.1) +// +// Authors: +// Jonathan Pryor +// +// Copyright (C) 2008 Novell (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +// Compile With: +// gmcs -debug+ -r:System.Core Options.cs -o:NDesk.Options.dll +// gmcs -debug+ -d:LINQ -r:System.Core Options.cs -o:NDesk.Options.dll +// +// The LINQ version just changes the implementation of +// OptionSet.Parse(IEnumerable), and confers no semantic changes. + +// +// A Getopt::Long-inspired option parsing library for C#. +// +// NDesk.Options.OptionSet is built upon a key/value table, where the +// key is a option format string and the value is a delegate that is +// invoked when the format string is matched. +// +// Option format strings: +// Regex-like BNF Grammar: +// name: .+ +// type: [=:] +// sep: ( [^{}]+ | '{' .+ '}' )? +// aliases: ( name type sep ) ( '|' name type sep )* +// +// Each '|'-delimited name is an alias for the associated action. If the +// format string ends in a '=', it has a required value. If the format +// string ends in a ':', it has an optional value. If neither '=' or ':' +// is present, no value is supported. `=' or `:' need only be defined on one +// alias, but if they are provided on more than one they must be consistent. +// +// Each alias portion may also end with a "key/value separator", which is used +// to split option values if the option accepts > 1 value. If not specified, +// it defaults to '=' and ':'. If specified, it can be any character except +// '{' and '}' OR the *string* between '{' and '}'. If no separator should be +// used (i.e. the separate values should be distinct arguments), then "{}" +// should be used as the separator. +// +// Options are extracted either from the current option by looking for +// the option name followed by an '=' or ':', or is taken from the +// following option IFF: +// - The current option does not contain a '=' or a ':' +// - The current option requires a value (i.e. not a Option type of ':') +// +// The `name' used in the option format string does NOT include any leading +// option indicator, such as '-', '--', or '/'. All three of these are +// permitted/required on any named option. +// +// Option bundling is permitted so long as: +// - '-' is used to start the option group +// - all of the bundled options are a single character +// - at most one of the bundled options accepts a value, and the value +// provided starts from the next character to the end of the string. +// +// This allows specifying '-a -b -c' as '-abc', and specifying '-D name=value' +// as '-Dname=value'. +// +// Option processing is disabled by specifying "--". All options after "--" +// are returned by OptionSet.Parse() unchanged and unprocessed. +// +// Unprocessed options are returned from OptionSet.Parse(). +// +// Examples: +// int verbose = 0; +// OptionSet p = new OptionSet () +// .Add ("v", v => ++verbose) +// .Add ("name=|value=", v => Console.WriteLine (v)); +// p.Parse (new string[]{"-v", "--v", "/v", "-name=A", "/name", "B", "extra"}); +// +// The above would parse the argument string array, and would invoke the +// lambda expression three times, setting `verbose' to 3 when complete. +// It would also print out "A" and "B" to standard output. +// The returned array would contain the string "extra". +// +// C# 3.0 collection initializers are supported and encouraged: +// var p = new OptionSet () { +// { "h|?|help", v => ShowHelp () }, +// }; +// +// System.ComponentModel.TypeConverter is also supported, allowing the use of +// custom data types in the callback type; TypeConverter.ConvertFromString() +// is used to convert the value option to an instance of the specified +// type: +// +// var p = new OptionSet () { +// { "foo=", (Foo f) => Console.WriteLine (f.ToString ()) }, +// }; +// +// Random other tidbits: +// - Boolean options (those w/o '=' or ':' in the option format string) +// are explicitly enabled if they are followed with '+', and explicitly +// disabled if they are followed with '-': +// string a = null; +// var p = new OptionSet () { +// { "a", s => a = s }, +// }; +// p.Parse (new string[]{"-a"}); // sets v != null +// p.Parse (new string[]{"-a+"}); // sets v != null +// p.Parse (new string[]{"-a-"}); // sets v == null +// + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Globalization; +using System.IO; +using System.Runtime.Serialization; +using System.Security.Permissions; +using System.Text; +using System.Text.RegularExpressions; + +#if LINQ +using System.Linq; +#endif + +#if TEST +using NDesk.Options; +#endif + +namespace NDesk.Options { + + public class OptionValueCollection : IList, IList { + + List values = new List(); + OptionContext c; + + internal OptionValueCollection(OptionContext c) { + this.c = c; + } + + #region ICollection + void ICollection.CopyTo(Array array, int index) { (values as ICollection).CopyTo(array, index); } + bool ICollection.IsSynchronized { get { return (values as ICollection).IsSynchronized; } } + object ICollection.SyncRoot { get { return (values as ICollection).SyncRoot; } } + #endregion + + #region ICollection + public void Add(string item) { values.Add(item); } + public void Clear() { values.Clear(); } + public bool Contains(string item) { return values.Contains(item); } + public void CopyTo(string[] array, int arrayIndex) { values.CopyTo(array, arrayIndex); } + public bool Remove(string item) { return values.Remove(item); } + public int Count { get { return values.Count; } } + public bool IsReadOnly { get { return false; } } + #endregion + + #region IEnumerable + IEnumerator IEnumerable.GetEnumerator() { return values.GetEnumerator(); } + #endregion + + #region IEnumerable + public IEnumerator GetEnumerator() { return values.GetEnumerator(); } + #endregion + + #region IList + int IList.Add(object value) { return (values as IList).Add(value); } + bool IList.Contains(object value) { return (values as IList).Contains(value); } + int IList.IndexOf(object value) { return (values as IList).IndexOf(value); } + void IList.Insert(int index, object value) { (values as IList).Insert(index, value); } + void IList.Remove(object value) { (values as IList).Remove(value); } + void IList.RemoveAt(int index) { (values as IList).RemoveAt(index); } + bool IList.IsFixedSize { get { return false; } } + object IList.this[int index] { get { return this[index]; } set { (values as IList)[index] = value; } } + #endregion + + #region IList + public int IndexOf(string item) { return values.IndexOf(item); } + public void Insert(int index, string item) { values.Insert(index, item); } + public void RemoveAt(int index) { values.RemoveAt(index); } + + private void AssertValid(int index) { + if (c.Option == null) + throw new InvalidOperationException("OptionContext.Option is null."); + if (index >= c.Option.MaxValueCount) + throw new ArgumentOutOfRangeException("index"); + if (c.Option.OptionValueType == OptionValueType.Required && + index >= values.Count) + throw new OptionException(string.Format( + c.OptionSet.MessageLocalizer("Missing required value for option '{0}'."), c.OptionName), + c.OptionName); + } + + public string this[int index] { + get { + AssertValid(index); + return index >= values.Count ? null : values[index]; + } + set { + values[index] = value; + } + } + #endregion + + public List ToList() { + return new List(values); + } + + public string[] ToArray() { + return values.ToArray(); + } + + public override string ToString() { + return string.Join(", ", values.ToArray()); + } + } + + public class OptionContext { + private Option option; + private string name; + private int index; + private OptionSet set; + private OptionValueCollection c; + + public OptionContext(OptionSet set) { + this.set = set; + this.c = new OptionValueCollection(this); + } + + public Option Option { + get { return option; } + set { option = value; } + } + + public string OptionName { + get { return name; } + set { name = value; } + } + + public int OptionIndex { + get { return index; } + set { index = value; } + } + + public OptionSet OptionSet { + get { return set; } + } + + public OptionValueCollection OptionValues { + get { return c; } + } + } + + public enum OptionValueType { + None, + Optional, + Required, + } + + public abstract class Option { + string prototype, description; + string[] names; + OptionValueType type; + int count; + string[] separators; + + protected Option(string prototype, string description) + : this(prototype, description, 1) { + } + + protected Option(string prototype, string description, int maxValueCount) { + if (prototype == null) + throw new ArgumentNullException("prototype"); + if (prototype.Length == 0) + throw new ArgumentException("Cannot be the empty string.", "prototype"); + if (maxValueCount < 0) + throw new ArgumentOutOfRangeException("maxValueCount"); + + this.prototype = prototype; + this.names = prototype.Split('|'); + this.description = description; + this.count = maxValueCount; + this.type = ParsePrototype(); + + if (this.count == 0 && type != OptionValueType.None) + throw new ArgumentException( + "Cannot provide maxValueCount of 0 for OptionValueType.Required or " + + "OptionValueType.Optional.", + "maxValueCount"); + if (this.type == OptionValueType.None && maxValueCount > 1) + throw new ArgumentException( + string.Format("Cannot provide maxValueCount of {0} for OptionValueType.None.", maxValueCount), + "maxValueCount"); + if (Array.IndexOf(names, "<>") >= 0 && + ((names.Length == 1 && this.type != OptionValueType.None) || + (names.Length > 1 && this.MaxValueCount > 1))) + throw new ArgumentException( + "The default option handler '<>' cannot require values.", + "prototype"); + } + + public string Prototype { get { return prototype; } } + public string Description { get { return description; } } + public OptionValueType OptionValueType { get { return type; } } + public int MaxValueCount { get { return count; } } + + public string[] GetNames() { + return (string[])names.Clone(); + } + + public string[] GetValueSeparators() { + if (separators == null) + return new string[0]; + return (string[])separators.Clone(); + } + + protected static T Parse(string value, OptionContext c) { + TypeConverter conv = TypeDescriptor.GetConverter(typeof(T)); + T t = default(T); + try { + if (value != null) + t = (T)conv.ConvertFromString(value); + } + catch (Exception e) { + throw new OptionException( + string.Format( + c.OptionSet.MessageLocalizer("Could not convert string `{0}' to type {1} for option `{2}'."), + value, typeof(T).Name, c.OptionName), + c.OptionName, e); + } + return t; + } + + internal string[] Names { get { return names; } } + internal string[] ValueSeparators { get { return separators; } } + + static readonly char[] NameTerminator = new char[] { '=', ':' }; + + private OptionValueType ParsePrototype() { + char type = '\0'; + List seps = new List(); + for (int i = 0; i < names.Length; ++i) { + string name = names[i]; + if (name.Length == 0) + throw new ArgumentException("Empty option names are not supported.", "prototype"); + + int end = name.IndexOfAny(NameTerminator); + if (end == -1) + continue; + names[i] = name.Substring(0, end); + if (type == '\0' || type == name[end]) + type = name[end]; + else + throw new ArgumentException( + string.Format("Conflicting option types: '{0}' vs. '{1}'.", type, name[end]), + "prototype"); + AddSeparators(name, end, seps); + } + + if (type == '\0') + return OptionValueType.None; + + if (count <= 1 && seps.Count != 0) + throw new ArgumentException( + string.Format("Cannot provide key/value separators for Options taking {0} value(s).", count), + "prototype"); + if (count > 1) { + if (seps.Count == 0) + this.separators = new string[] { ":", "=" }; + else if (seps.Count == 1 && seps[0].Length == 0) + this.separators = null; + else + this.separators = seps.ToArray(); + } + + return type == '=' ? OptionValueType.Required : OptionValueType.Optional; + } + + private static void AddSeparators(string name, int end, ICollection seps) { + int start = -1; + for (int i = end + 1; i < name.Length; ++i) { + switch (name[i]) { + case '{': + if (start != -1) + throw new ArgumentException( + string.Format("Ill-formed name/value separator found in \"{0}\".", name), + "prototype"); + start = i + 1; + break; + case '}': + if (start == -1) + throw new ArgumentException( + string.Format("Ill-formed name/value separator found in \"{0}\".", name), + "prototype"); + seps.Add(name.Substring(start, i - start)); + start = -1; + break; + default: + if (start == -1) + seps.Add(name[i].ToString()); + break; + } + } + if (start != -1) + throw new ArgumentException( + string.Format("Ill-formed name/value separator found in \"{0}\".", name), + "prototype"); + } + + public void Invoke(OptionContext c) { + OnParseComplete(c); + c.OptionName = null; + c.Option = null; + c.OptionValues.Clear(); + } + + protected abstract void OnParseComplete(OptionContext c); + + public override string ToString() { + return Prototype; + } + } + + [Serializable] + public class OptionException : Exception { + private string option; + + public OptionException() { + } + + public OptionException(string message, string optionName) + : base(message) { + this.option = optionName; + } + + public OptionException(string message, string optionName, Exception innerException) + : base(message, innerException) { + this.option = optionName; + } + + protected OptionException(SerializationInfo info, StreamingContext context) + : base(info, context) { + this.option = info.GetString("OptionName"); + } + + public string OptionName { + get { return this.option; } + } + + [SecurityPermission(SecurityAction.LinkDemand, SerializationFormatter = true)] + public override void GetObjectData(SerializationInfo info, StreamingContext context) { + base.GetObjectData(info, context); + info.AddValue("OptionName", option); + } + } + + public delegate void OptionAction(TKey key, TValue value); + + public class OptionSet : KeyedCollection { + public OptionSet() + : this(delegate(string f) { return f; }) { + } + + public OptionSet(Converter localizer) { + this.localizer = localizer; + } + + Converter localizer; + + public Converter MessageLocalizer { + get { return localizer; } + } + + protected override string GetKeyForItem(Option item) { + if (item == null) + throw new ArgumentNullException("option"); + if (item.Names != null && item.Names.Length > 0) + return item.Names[0]; + // This should never happen, as it's invalid for Option to be + // constructed w/o any names. + throw new InvalidOperationException("Option has no names!"); + } + + [Obsolete("Use KeyedCollection.this[string]")] + protected Option GetOptionForName(string option) { + if (option == null) + throw new ArgumentNullException("option"); + try { + return base[option]; + } + catch (KeyNotFoundException) { + return null; + } + } + + protected override void InsertItem(int index, Option item) { + base.InsertItem(index, item); + AddImpl(item); + } + + protected override void RemoveItem(int index) { + base.RemoveItem(index); + Option p = Items[index]; + // KeyedCollection.RemoveItem() handles the 0th item + for (int i = 1; i < p.Names.Length; ++i) { + Dictionary.Remove(p.Names[i]); + } + } + + protected override void SetItem(int index, Option item) { + base.SetItem(index, item); + RemoveItem(index); + AddImpl(item); + } + + private void AddImpl(Option option) { + if (option == null) + throw new ArgumentNullException("option"); + List added = new List(option.Names.Length); + try { + // KeyedCollection.InsertItem/SetItem handle the 0th name. + for (int i = 1; i < option.Names.Length; ++i) { + Dictionary.Add(option.Names[i], option); + added.Add(option.Names[i]); + } + } + catch (Exception) { + foreach (string name in added) + Dictionary.Remove(name); + throw; + } + } + + public new OptionSet Add(Option option) { + base.Add(option); + return this; + } + + sealed class ActionOption : Option { + Action action; + + public ActionOption(string prototype, string description, int count, Action action) + : base(prototype, description, count) { + if (action == null) + throw new ArgumentNullException("action"); + this.action = action; + } + + protected override void OnParseComplete(OptionContext c) { + action(c.OptionValues); + } + } + + public OptionSet Add(string prototype, Action action) { + return Add(prototype, null, action); + } + + public OptionSet Add(string prototype, string description, Action action) { + if (action == null) + throw new ArgumentNullException("action"); + Option p = new ActionOption(prototype, description, 1, + delegate(OptionValueCollection v) { action(v[0]); }); + base.Add(p); + return this; + } + + public OptionSet Add(string prototype, OptionAction action) { + return Add(prototype, null, action); + } + + public OptionSet Add(string prototype, string description, OptionAction action) { + if (action == null) + throw new ArgumentNullException("action"); + Option p = new ActionOption(prototype, description, 2, + delegate(OptionValueCollection v) { action(v[0], v[1]); }); + base.Add(p); + return this; + } + + sealed class ActionOption : Option { + Action action; + + public ActionOption(string prototype, string description, Action action) + : base(prototype, description, 1) { + if (action == null) + throw new ArgumentNullException("action"); + this.action = action; + } + + protected override void OnParseComplete(OptionContext c) { + action(Parse(c.OptionValues[0], c)); + } + } + + sealed class ActionOption : Option { + OptionAction action; + + public ActionOption(string prototype, string description, OptionAction action) + : base(prototype, description, 2) { + if (action == null) + throw new ArgumentNullException("action"); + this.action = action; + } + + protected override void OnParseComplete(OptionContext c) { + action( + Parse(c.OptionValues[0], c), + Parse(c.OptionValues[1], c)); + } + } + + public OptionSet Add(string prototype, Action action) { + return Add(prototype, null, action); + } + + public OptionSet Add(string prototype, string description, Action action) { + return Add(new ActionOption(prototype, description, action)); + } + + public OptionSet Add(string prototype, OptionAction action) { + return Add(prototype, null, action); + } + + public OptionSet Add(string prototype, string description, OptionAction action) { + return Add(new ActionOption(prototype, description, action)); + } + + protected virtual OptionContext CreateOptionContext() { + return new OptionContext(this); + } + +#if LINQ + public List Parse (IEnumerable arguments) + { + bool process = true; + OptionContext c = CreateOptionContext (); + c.OptionIndex = -1; + var def = GetOptionForName ("<>"); + var unprocessed = + from argument in arguments + where ++c.OptionIndex >= 0 && (process || def != null) + ? process + ? argument == "--" + ? (process = false) + : !Parse (argument, c) + ? def != null + ? Unprocessed (null, def, c, argument) + : true + : false + : def != null + ? Unprocessed (null, def, c, argument) + : true + : true + select argument; + List r = unprocessed.ToList (); + if (c.Option != null) + c.Option.Invoke (c); + return r; + } +#else + public List Parse(IEnumerable arguments) { + OptionContext c = CreateOptionContext(); + c.OptionIndex = -1; + bool process = true; + List unprocessed = new List(); + Option def = Contains("<>") ? this["<>"] : null; + foreach (string argument in arguments) { + ++c.OptionIndex; + if (argument == "--") { + process = false; + continue; + } + if (!process) { + Unprocessed(unprocessed, def, c, argument); + continue; + } + if (!Parse(argument, c)) + Unprocessed(unprocessed, def, c, argument); + } + if (c.Option != null) + c.Option.Invoke(c); + return unprocessed; + } +#endif + + private static bool Unprocessed(ICollection extra, Option def, OptionContext c, string argument) { + if (def == null) { + extra.Add(argument); + return false; + } + c.OptionValues.Add(argument); + c.Option = def; + c.Option.Invoke(c); + return false; + } + + private readonly Regex ValueOption = new Regex( + @"^(?--|-|/)(?[^:=]+)((?[:=])(?.*))?$"); + + protected bool GetOptionParts(string argument, out string flag, out string name, out string sep, out string value) { + if (argument == null) + throw new ArgumentNullException("argument"); + + flag = name = sep = value = null; + Match m = ValueOption.Match(argument); + if (!m.Success) { + return false; + } + flag = m.Groups["flag"].Value; + name = m.Groups["name"].Value; + if (m.Groups["sep"].Success && m.Groups["value"].Success) { + sep = m.Groups["sep"].Value; + value = m.Groups["value"].Value; + } + return true; + } + + protected virtual bool Parse(string argument, OptionContext c) { + if (c.Option != null) { + ParseValue(argument, c); + return true; + } + + string f, n, s, v; + if (!GetOptionParts(argument, out f, out n, out s, out v)) + return false; + + Option p; + if (Contains(n)) { + p = this[n]; + c.OptionName = f + n; + c.Option = p; + switch (p.OptionValueType) { + case OptionValueType.None: + c.OptionValues.Add(n); + c.Option.Invoke(c); + break; + case OptionValueType.Optional: + case OptionValueType.Required: + ParseValue(v, c); + break; + } + return true; + } + // no match; is it a bool option? + if (ParseBool(argument, n, c)) + return true; + // is it a bundled option? + if (ParseBundledValue(f, string.Concat(n + s + v), c)) + return true; + + return false; + } + + private void ParseValue(string option, OptionContext c) { + if (option != null) + foreach (string o in c.Option.ValueSeparators != null + ? option.Split(c.Option.ValueSeparators, StringSplitOptions.None) + : new string[] { option }) { + c.OptionValues.Add(o); + } + if (c.OptionValues.Count == c.Option.MaxValueCount || + c.Option.OptionValueType == OptionValueType.Optional) + c.Option.Invoke(c); + else if (c.OptionValues.Count > c.Option.MaxValueCount) { + throw new OptionException(localizer(string.Format( + "Error: Found {0} option values when expecting {1}.", + c.OptionValues.Count, c.Option.MaxValueCount)), + c.OptionName); + } + } + + private bool ParseBool(string option, string n, OptionContext c) { + Option p; + string rn; + if (n.Length >= 1 && (n[n.Length - 1] == '+' || n[n.Length - 1] == '-') && + Contains((rn = n.Substring(0, n.Length - 1)))) { + p = this[rn]; + string v = n[n.Length - 1] == '+' ? option : null; + c.OptionName = option; + c.Option = p; + c.OptionValues.Add(v); + p.Invoke(c); + return true; + } + return false; + } + + private bool ParseBundledValue(string f, string n, OptionContext c) { + if (f != "-") + return false; + for (int i = 0; i < n.Length; ++i) { + Option p; + string opt = f + n[i].ToString(); + string rn = n[i].ToString(); + if (!Contains(rn)) { + if (i == 0) + return false; + throw new OptionException(string.Format(localizer( + "Cannot bundle unregistered option '{0}'."), opt), opt); + } + p = this[rn]; + switch (p.OptionValueType) { + case OptionValueType.None: + Invoke(c, opt, n, p); + break; + case OptionValueType.Optional: + case OptionValueType.Required: { + string v = n.Substring(i + 1); + c.Option = p; + c.OptionName = opt; + ParseValue(v.Length != 0 ? v : null, c); + return true; + } + default: + throw new InvalidOperationException("Unknown OptionValueType: " + p.OptionValueType); + } + } + return true; + } + + private static void Invoke(OptionContext c, string name, string value, Option option) { + c.OptionName = name; + c.Option = option; + c.OptionValues.Add(value); + option.Invoke(c); + } + + private const int OptionWidth = 29; + + public void WriteOptionDescriptions(TextWriter o) { + foreach (Option p in this) { + int written = 0; + if (!WriteOptionPrototype(o, p, ref written)) + continue; + + if (written < OptionWidth) + o.Write(new string(' ', OptionWidth - written)); + else { + o.WriteLine(); + o.Write(new string(' ', OptionWidth)); + } + + List lines = GetLines(localizer(GetDescription(p.Description))); + o.WriteLine(lines[0]); + string prefix = new string(' ', OptionWidth + 2); + for (int i = 1; i < lines.Count; ++i) { + o.Write(prefix); + o.WriteLine(lines[i]); + } + } + } + + bool WriteOptionPrototype(TextWriter o, Option p, ref int written) { + string[] names = p.Names; + + int i = GetNextOptionIndex(names, 0); + if (i == names.Length) + return false; + + if (names[i].Length == 1) { + Write(o, ref written, " -"); + Write(o, ref written, names[0]); + } + else { + Write(o, ref written, " --"); + Write(o, ref written, names[0]); + } + + for (i = GetNextOptionIndex(names, i + 1); + i < names.Length; i = GetNextOptionIndex(names, i + 1)) { + Write(o, ref written, ", "); + Write(o, ref written, names[i].Length == 1 ? "-" : "--"); + Write(o, ref written, names[i]); + } + + if (p.OptionValueType == OptionValueType.Optional || + p.OptionValueType == OptionValueType.Required) { + if (p.OptionValueType == OptionValueType.Optional) { + Write(o, ref written, localizer("[")); + } + Write(o, ref written, localizer("=" + GetArgumentName(0, p.MaxValueCount, p.Description))); + string sep = p.ValueSeparators != null && p.ValueSeparators.Length > 0 + ? p.ValueSeparators[0] + : " "; + for (int c = 1; c < p.MaxValueCount; ++c) { + Write(o, ref written, localizer(sep + GetArgumentName(c, p.MaxValueCount, p.Description))); + } + if (p.OptionValueType == OptionValueType.Optional) { + Write(o, ref written, localizer("]")); + } + } + return true; + } + + static int GetNextOptionIndex(string[] names, int i) { + while (i < names.Length && names[i] == "<>") { + ++i; + } + return i; + } + + static void Write(TextWriter o, ref int n, string s) { + n += s.Length; + o.Write(s); + } + + private static string GetArgumentName(int index, int maxIndex, string description) { + if (description == null) + return maxIndex == 1 ? "VALUE" : "VALUE" + (index + 1); + string[] nameStart; + if (maxIndex == 1) + nameStart = new string[] { "{0:", "{" }; + else + nameStart = new string[] { "{" + index + ":" }; + for (int i = 0; i < nameStart.Length; ++i) { + int start, j = 0; + do { + start = description.IndexOf(nameStart[i], j); + } while (start >= 0 && j != 0 ? description[j++ - 1] == '{' : false); + if (start == -1) + continue; + int end = description.IndexOf("}", start); + if (end == -1) + continue; + return description.Substring(start + nameStart[i].Length, end - start - nameStart[i].Length); + } + return maxIndex == 1 ? "VALUE" : "VALUE" + (index + 1); + } + + private static string GetDescription(string description) { + if (description == null) + return string.Empty; + StringBuilder sb = new StringBuilder(description.Length); + int start = -1; + for (int i = 0; i < description.Length; ++i) { + switch (description[i]) { + case '{': + if (i == start) { + sb.Append('{'); + start = -1; + } + else if (start < 0) + start = i + 1; + break; + case '}': + if (start < 0) { + if ((i + 1) == description.Length || description[i + 1] != '}') + throw new InvalidOperationException("Invalid option description: " + description); + ++i; + sb.Append("}"); + } + else { + sb.Append(description.Substring(start, i - start)); + start = -1; + } + break; + case ':': + if (start < 0) + goto default; + start = i + 1; + break; + default: + if (start < 0) + sb.Append(description[i]); + break; + } + } + return sb.ToString(); + } + + private static List GetLines(string description) { + List lines = new List(); + if (string.IsNullOrEmpty(description)) { + lines.Add(string.Empty); + return lines; + } + int length = 80 - OptionWidth - 2; + int start = 0, end; + do { + end = GetLineEnd(start, length, description); + bool cont = false; + if (end < description.Length) { + char c = description[end]; + if (c == '-' || (char.IsWhiteSpace(c) && c != '\n')) + ++end; + else if (c != '\n') { + cont = true; + --end; + } + } + lines.Add(description.Substring(start, end - start)); + if (cont) { + lines[lines.Count - 1] += "-"; + } + start = end; + if (start < description.Length && description[start] == '\n') + ++start; + } while (end < description.Length); + return lines; + } + + private static int GetLineEnd(int start, int length, string description) { + int end = Math.Min(start + length, description.Length); + int sep = -1; + for (int i = start; i < end; ++i) { + switch (description[i]) { + case ' ': + case '\t': + case '\v': + case '-': + case ',': + case '.': + case ';': + sep = i; + break; + case '\n': + return i; + } + } + if (sep == -1 || end == description.Length) + return end; + return sep; + } + } +} + From 7e1daf59d277d4e4006664a0b53bcf712bed5126 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 14 Nov 2012 16:46:20 +0100 Subject: [PATCH 143/164] Added relative border padding to command line parsing. Improved command line documentation. Refactored some command line type conversion classes. --- OnTopReplica/OnTopReplica.csproj | 2 + OnTopReplica/StartupOptions/Factory.cs | 16 +++-- .../StartupOptions/FourValueTypeConverter.cs | 71 +++++++++++++++++++ .../StartupOptions/PaddingConverter.cs | 21 ++++++ .../StartupOptions/RectangleConverter.cs | 56 +++------------ 5 files changed, 112 insertions(+), 54 deletions(-) create mode 100644 OnTopReplica/StartupOptions/FourValueTypeConverter.cs create mode 100644 OnTopReplica/StartupOptions/PaddingConverter.cs diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 851ded4..3d0c03b 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -179,6 +179,8 @@ GroupSwitchPanel.cs + + True True diff --git a/OnTopReplica/StartupOptions/Factory.cs b/OnTopReplica/StartupOptions/Factory.cs index dbc0a5e..9bc3ec5 100644 --- a/OnTopReplica/StartupOptions/Factory.cs +++ b/OnTopReplica/StartupOptions/Factory.cs @@ -6,6 +6,7 @@ using System.Drawing; using System.ComponentModel; using OnTopReplica.Properties; using OnTopReplica.WindowSeekers; +using System.Windows.Forms; namespace OnTopReplica.StartupOptions { class Factory { @@ -15,6 +16,7 @@ namespace OnTopReplica.StartupOptions { TypeDescriptor.AddAttributes(typeof(Size), new TypeConverterAttribute(typeof(SizeConverter))); TypeDescriptor.AddAttributes(typeof(ScreenPosition), new TypeConverterAttribute(typeof(ScreenPositionConverter))); TypeDescriptor.AddAttributes(typeof(Rectangle), new TypeConverterAttribute(typeof(RectangleConverter))); + TypeDescriptor.AddAttributes(typeof(Padding), new TypeConverterAttribute(typeof(PaddingConverter))); } public static Options CreateOptions(string[] args) { @@ -58,7 +60,7 @@ namespace OnTopReplica.StartupOptions { .Add("windowId=", "Window handle ({HWND}) to be cloned.", id => { options.WindowId = new IntPtr(id); }) - .Add("windowTitle=", "{TITLE} of the window to be cloned.", s => { + .Add("windowTitle=", "Partial {TITLE} of the window to be cloned.", s => { options.WindowTitle = s; }) .Add("windowClass=", "{CLASS} of the window to be cloned.", s => { @@ -67,24 +69,24 @@ namespace OnTopReplica.StartupOptions { .Add("v|visible", "If set, only clones windows that are visible.", s => { options.MustBeVisible = true; }) - .Add("size=", "Target {SIZE} of the cloned thumbnail.", s => { + .Add("size=", "Target {WIDTH,HEIGHT} of the cloned thumbnail.", s => { options.StartSize = s; }) - .Add("position=", "Target {COORDINATES} of the OnTopReplica window.", s => { + .Add("position=", "Target {X,Y} of the OnTopReplica window.", s => { options.StartLocation = new Point(s.Width, s.Height); options.StartScreenPosition = null; }) - .Add("screenPosition=", "Resolution independent window position on current screen, with locking (TR|TL|C|BR|BL).", pos => { + .Add("screenPosition=", "Resolution independent window position on current screen, with locking. Values: {TR|TL|C|BR|BL}.", pos => { options.StartLocation = null; options.StartScreenPosition = pos; }) - .Add("r|region=", "Region {BOUNDS} of the cloned window.", region => { + .Add("r|region=", "Region {X,Y,W,H} of the cloned window.", region => { options.Region = new ThumbnailRegion(region); }) - .Add("p|padding=", "Padding {BOUNDS} of the clone.", padding => { + .Add("p|padding=", "Region padding {LEFT,TOP,RIGHT,BOTTOM} of the clone.", padding => { options.Region = new ThumbnailRegion(padding); }) - .Add("o|opacity=", "Opacity of the window (0-255).", opacity => { + .Add("o|opacity=", "Opacity of the window: {0-255}.", opacity => { options.Opacity = opacity; }) .Add("clickForwarding", "Enables click forwarding.", s => { diff --git a/OnTopReplica/StartupOptions/FourValueTypeConverter.cs b/OnTopReplica/StartupOptions/FourValueTypeConverter.cs new file mode 100644 index 0000000..17029d4 --- /dev/null +++ b/OnTopReplica/StartupOptions/FourValueTypeConverter.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.ComponentModel; +using System.Text.RegularExpressions; + +namespace OnTopReplica.StartupOptions { + abstract class FourValueTypeConverter : TypeConverter { + + public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { + if (value != null) { + var sVal = value.ToString(); + return Convert(sVal); + } + else + return base.ConvertFrom(context, culture, value); + } + + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { + return sourceType == typeof(string); + } + + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { + return destinationType == typeof(T); + } + + public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { + if (value != null && destinationType == typeof(T)) { + var sVal = value.ToString(); + return Convert(sVal); + } + else + return base.ConvertTo(context, culture, value, destinationType); + } + + static Regex _sizeRegex = new Regex("^\\D*(?\\d*)\\s*,\\s*(?\\d*)\\s*,\\s*(?\\d*)\\s*,\\s*(?\\d*)\\D*$", + RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.Singleline); + + private T Convert(string s) { + var match = _sizeRegex.Match(s); + + var v1 = match.Groups["one"]; + var v2 = match.Groups["two"]; + var v3 = match.Groups["three"]; + var v4 = match.Groups["four"]; + + if (match.Success && v1.Success && v2.Success && v3.Success && v4.Success) { + int v1v, v2v, v3v, v4v; + bool v1b, v2b, v3b, v4b; + v1b = Int32.TryParse(v1.Value, out v1v); + v2b = Int32.TryParse(v2.Value, out v2v); + v3b = Int32.TryParse(v3.Value, out v3v); + v4b = Int32.TryParse(v4.Value, out v4v); + + if (v1b && v2b && v3b && v4b) { + return CreateValue(v1v, v2v, v3v, v4v); + } + else { + throw new ArgumentException("Argument '" + s + "' contains a non numeric value."); + } + } + else { + throw new ArgumentException("Argument '" + s + "' is in the wrong format."); + } + } + + protected abstract T CreateValue(int v1, int v2, int v3, int v4); + + } +} diff --git a/OnTopReplica/StartupOptions/PaddingConverter.cs b/OnTopReplica/StartupOptions/PaddingConverter.cs new file mode 100644 index 0000000..777394f --- /dev/null +++ b/OnTopReplica/StartupOptions/PaddingConverter.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.ComponentModel; +using System.Windows.Forms; + +namespace OnTopReplica.StartupOptions { + class PaddingConverter : FourValueTypeConverter { + + protected override Padding CreateValue(int v1, int v2, int v3, int v4) { + return new Padding { + Left = v1, + Top = v2, + Right = v3, + Bottom = v4 + }; + } + + } +} diff --git a/OnTopReplica/StartupOptions/RectangleConverter.cs b/OnTopReplica/StartupOptions/RectangleConverter.cs index 00c8608..624fee1 100644 --- a/OnTopReplica/StartupOptions/RectangleConverter.cs +++ b/OnTopReplica/StartupOptions/RectangleConverter.cs @@ -6,56 +6,18 @@ using System.Drawing; using System.Text.RegularExpressions; namespace OnTopReplica.StartupOptions { - class RectangleConverter : TypeConverter { - public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { - if (value != null) { - var sVal = value.ToString(); - return Convert(sVal); - } - else - return base.ConvertFrom(context, culture, value); - } + class RectangleConverter : FourValueTypeConverter { - public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { - return sourceType == typeof(string); - } - - public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { - return destinationType == typeof(Rectangle); - } - - public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { - if (value != null && destinationType == typeof(Rectangle)) { - var sVal = value.ToString(); - return Convert(sVal); - } - else - return base.ConvertTo(context, culture, value, destinationType); - } - - static Regex _sizeRegex = new Regex("^\\D*(?\\d*)\\s*,\\s*(?\\d*)\\s*,\\s*(?\\d*)\\s*,\\s*(?\\d*)\\D*$", - RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.Singleline); - - private Rectangle Convert(string s) { - var match = _sizeRegex.Match(s); - - var x = match.Groups["x"]; - var y = match.Groups["y"]; - var width = match.Groups["width"]; - var height = match.Groups["height"]; - - if (match.Success && x.Success && y.Success && width.Success && height.Success) { - var xVal = int.Parse(x.Value); - var yVal = int.Parse(y.Value); - var widthVal = int.Parse(width.Value); - var heightVal = int.Parse(height.Value); - - return new Rectangle(xVal, yVal, widthVal, heightVal); - } - else - throw new ArgumentException("Cannot convert '" + s + "' to rectangle."); + protected override Rectangle CreateValue(int v1, int v2, int v3, int v4) { + return new Rectangle { + X = v1, + Y = v2, + Width = v3, + Height = v4 + }; } } + } From 56a9007f06271c44756cdfbf4c7c7ea3c71388a6 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 14 Nov 2012 17:31:52 +0100 Subject: [PATCH 144/164] Refactored and improved the window seeking classes. --- OnTopReplica/OnTopReplica.csproj | 2 + OnTopReplica/StartupOptions/Options.cs | 2 + .../WindowSeekers/BaseWindowSeeker.cs | 39 ++++------ .../WindowSeekers/ByClassWindowSeeker.cs | 24 +++--- .../WindowSeekers/ByTitleWindowSeeker.cs | 31 ++++---- OnTopReplica/WindowSeekers/IWindowSeeker.cs | 23 ++++++ .../WindowSeekers/PointBasedWindowSeeker.cs | 55 +++++++++++++ .../WindowSeekers/RestoreWindowSeeker.cs | 78 +++---------------- .../WindowSeekers/TaskWindowSeeker.cs | 35 ++++++--- 9 files changed, 165 insertions(+), 124 deletions(-) create mode 100644 OnTopReplica/WindowSeekers/IWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/PointBasedWindowSeeker.cs diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 3d0c03b..0a59067 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -191,6 +191,8 @@ + + diff --git a/OnTopReplica/StartupOptions/Options.cs b/OnTopReplica/StartupOptions/Options.cs index 0e3cb94..d741f21 100644 --- a/OnTopReplica/StartupOptions/Options.cs +++ b/OnTopReplica/StartupOptions/Options.cs @@ -119,6 +119,8 @@ namespace OnTopReplica.StartupOptions { handle = seeker.Windows.FirstOrDefault(); } + + //Set any found handle if (handle != null) { form.SetThumbnail(handle, Region); } diff --git a/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs b/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs index 64cd055..6a00ed5 100644 --- a/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs +++ b/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs @@ -6,36 +6,29 @@ using OnTopReplica.Native; namespace OnTopReplica.WindowSeekers { /// - /// Base class for window seekers that can populate a list of window handles based on some criteria. + /// Base class for window seekers that can populate a list of window handles based on some criteria and with basic filtering. /// - abstract class BaseWindowSeeker { + abstract class BaseWindowSeeker : IWindowSeeker { - IList _list = new List(); + #region IWindowSeeker /// /// Get the matching windows from the last refresh. /// - public virtual IList Windows { - get { - return _list; - } - protected set { - _list = value; - } + public abstract IList Windows { + get; } /// /// Forces a window list refresh. /// public virtual void Refresh() { - _list.Clear(); - WindowManagerMethods.EnumWindows(RefreshCallback, IntPtr.Zero); } - private bool RefreshCallback(IntPtr hwnd, IntPtr lParam) { - bool cont = true; + #endregion + private bool RefreshCallback(IntPtr hwnd, IntPtr lParam) { //Skip owner if (hwnd == OwnerHandle) return true; @@ -45,23 +38,17 @@ namespace OnTopReplica.WindowSeekers { //Extract basic properties string title = WindowMethods.GetWindowText(hwnd); + var handle = new WindowHandle(hwnd, title); - if (InspectWindow(hwnd, title, ref cont)) { - //Window has been picked - _list.Add(new WindowHandle(hwnd, title)); - } - - return cont; + return InspectWindow(handle); } /// - /// Inspects a window and returns whether the window should be listed or not. + /// Inspects a window and return whether inspection should continue. /// - /// Handle of the window. - /// Title of the window (if any). - /// Indicates whether the inspection loop should terminate after this window. - /// True if the window should be listed. - protected abstract bool InspectWindow(IntPtr hwnd, string title, ref bool terminate); + /// Handle of the window. + /// True if inspection should continue. False stops current refresh operation. + protected abstract bool InspectWindow(WindowHandle handle); /// /// Gets or sets the window handle of the owner. diff --git a/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs b/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs index acf9c8b..e6e73dc 100644 --- a/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs +++ b/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs @@ -8,9 +8,10 @@ namespace OnTopReplica.WindowSeekers { /// Seeks a single window by matching its window class. /// /// - /// Class matching is exact and case-sensititve. + /// Class matching is case-sensitive and prefers perfect matches, also accepting + /// partial matches (when the class matches the beginning of the target class name). /// - class ByClassWindowSeeker : BaseWindowSeeker { + class ByClassWindowSeeker : PointBasedWindowSeeker { public ByClassWindowSeeker(string className) { if (className == null) @@ -21,15 +22,20 @@ namespace OnTopReplica.WindowSeekers { public string ClassName { get; private set; } - protected override bool InspectWindow(IntPtr hwnd, string title, ref bool terminate) { - var wndClass = WindowMethods.GetWindowClass(hwnd); + protected override int EvaluatePoints(WindowHandle handle) { + if(string.IsNullOrEmpty(handle.Class)) + return -1; - if (ClassName.Equals(wndClass, StringComparison.CurrentCulture)) { - return true; - } + int points = 0; - return false; + //Partial match + if (handle.Class.StartsWith(ClassName, StringComparison.InvariantCulture)) + points += 10; + + if (handle.Class.Equals(ClassName, StringComparison.InvariantCulture)) + points += 10; + + return points; } - } } diff --git a/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs b/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs index 9564540..c551392 100644 --- a/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs +++ b/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs @@ -10,34 +10,37 @@ namespace OnTopReplica.WindowSeekers { /// /// Title search is case-insensitive and matches only the beginning of the windows' titles. /// - class ByTitleWindowSeeker : BaseWindowSeeker { + class ByTitleWindowSeeker : PointBasedWindowSeeker { public ByTitleWindowSeeker(string titleSeekString) { if (titleSeekString == null) throw new ArgumentNullException(); - TitleMatch = titleSeekString.Trim().ToLower(); + TitleMatch = titleSeekString.Trim(); } public string TitleMatch { get; private set; } - protected override bool InspectWindow(IntPtr hwnd, string title, ref bool terminate) { + protected override int EvaluatePoints(WindowHandle handle) { //Skip empty titles - if (string.IsNullOrEmpty(title)) - return false; + if (string.IsNullOrEmpty(handle.Title)) + return -1; //Skip non top-level windows - if (!WindowManagerMethods.IsTopLevel(hwnd)) - return false; + if (!WindowManagerMethods.IsTopLevel(handle.Handle)) + return -1; - var modTitle = title.Trim().ToLower(); - if (modTitle.StartsWith(TitleMatch)) { - terminate = true; //only one needed - return true; - } + int points = 0; - return false; + //Give points for partial match + if (handle.Title.StartsWith(TitleMatch, StringComparison.InvariantCultureIgnoreCase)) + points += 10; + + //Give points for exact match + if (handle.Title.Equals(TitleMatch, StringComparison.InvariantCultureIgnoreCase)) + points += 10; + + return points; } - } } diff --git a/OnTopReplica/WindowSeekers/IWindowSeeker.cs b/OnTopReplica/WindowSeekers/IWindowSeeker.cs new file mode 100644 index 0000000..42e4024 --- /dev/null +++ b/OnTopReplica/WindowSeekers/IWindowSeeker.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace OnTopReplica.WindowSeekers { + /// + /// Interface for window seekers. + /// + interface IWindowSeeker { + + /// + /// Get the list of matching windows, ordered by priority (optionally). + /// + IList Windows { get; } + + /// + /// Refreshes the list of windows. + /// + void Refresh(); + + } +} diff --git a/OnTopReplica/WindowSeekers/PointBasedWindowSeeker.cs b/OnTopReplica/WindowSeekers/PointBasedWindowSeeker.cs new file mode 100644 index 0000000..92241f7 --- /dev/null +++ b/OnTopReplica/WindowSeekers/PointBasedWindowSeeker.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace OnTopReplica.WindowSeekers { + /// + /// Window seeker that uses a point system to get a list of matching windows listed by optimality. + /// + abstract class PointBasedWindowSeeker : BaseWindowSeeker { + + IList _currentWindowList = new List(); + + public override IList Windows { + get { + return _currentWindowList; + } + } + + List> _sortingList = null; + + public override void Refresh() { + _sortingList = new List>(); + + base.Refresh(); + + //Sort and store + _currentWindowList = (from t in _sortingList + orderby t.Item1 descending + select t.Item2).ToList(); + + _sortingList = null; + } + + protected override bool InspectWindow(WindowHandle handle) { + int points = EvaluatePoints(handle); + if(points >= 0){ + _sortingList.Add(new Tuple(points, handle)); + } + + return true; + } + + /// + /// Evalutes the points for a window handle. + /// + /// Handle to the window. + /// + /// Number of points. Higher points identify better suited windows. + /// Windows with negative points are discarded altogether. + /// + protected abstract int EvaluatePoints(WindowHandle handle); + + } +} diff --git a/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs b/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs index 78e5c75..5c06e05 100644 --- a/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs +++ b/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs @@ -8,7 +8,7 @@ namespace OnTopReplica.WindowSeekers { /// /// Window seeker that attempts to locate a window to restore (by class, title and ID). /// - class RestoreWindowSeeker : BaseWindowSeeker { + class RestoreWindowSeeker : PointBasedWindowSeeker { public RestoreWindowSeeker(IntPtr handle, string title, string className){ Handle = handle; @@ -22,94 +22,40 @@ namespace OnTopReplica.WindowSeekers { public string Class { get; private set; } - bool _mustBeOrdered = true; - - public override void Refresh() { - //Whenever the window list is refreshed, the list must be reordered - _mustBeOrdered = true; - _points = new Dictionary(); - - base.Refresh(); - } - - Dictionary _points = new Dictionary(); - - protected override bool InspectWindow(IntPtr hwnd, string title, ref bool terminate) { - if (!WindowManagerMethods.IsTopLevel(hwnd)) - return false; + protected override int EvaluatePoints(WindowHandle handle) { + if (!WindowManagerMethods.IsTopLevel(handle.Handle)) { + return -1; + } int points = 0; //Class exact match if (!string.IsNullOrEmpty(Class)) { - string wndClass = WindowMethods.GetWindowClass(hwnd); - if (Class.Equals(wndClass, StringComparison.InvariantCulture)) { + string wndClass = handle.Class; + if (wndClass.StartsWith(Class, StringComparison.InvariantCulture)){ points += 10; } } //Title match (may not be exact, but let's try) - if (!string.IsNullOrEmpty(Title) && !string.IsNullOrEmpty(title)) { - if (title.StartsWith(Title, StringComparison.InvariantCultureIgnoreCase)) { + if (!string.IsNullOrEmpty(Title) && !string.IsNullOrEmpty(handle.Title)) { + if (handle.Title.StartsWith(Title, StringComparison.InvariantCultureIgnoreCase)) { points += 10; } - if (title.Equals(Title, StringComparison.InvariantCultureIgnoreCase)) { + if (handle.Title.Equals(Title, StringComparison.InvariantCultureIgnoreCase)) { points += 5; } } //Handle match (will probably not work, but anyhow) if (Handle != IntPtr.Zero) { - if (Handle == hwnd) { + if (Handle == handle.Handle) { points += 10; } } - //Store handle if it matches - if (points > 0) { - _points.Add(hwnd.ToInt64(), points); - } - - //Never store windows in base class list - return false; + return points; } - - public override IList Windows { - get { - if (_mustBeOrdered) { - WindowHandle[] arr = new WindowHandle[base.Windows.Count]; - base.Windows.CopyTo(arr, 0); - Array.Sort(arr, new PointComparer(_points)); - - //Store ordered array - base.Windows = arr; - - _mustBeOrdered = false; - } - - return base.Windows; - } - } - - private class PointComparer : IComparer { - - public PointComparer(IDictionary pointDict) { - _pointDict = pointDict; - } - - IDictionary _pointDict; - - public int Compare(WindowHandle x, WindowHandle y) { - int px = 0; - _pointDict.TryGetValue(x.Handle.ToInt64(), out px); - int py = 0; - _pointDict.TryGetValue(y.Handle.ToInt64(), out py); - - return py.CompareTo(px); //inverse comparison (from max points to min) - } - - } - } } diff --git a/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs b/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs index bf02052..c074da9 100644 --- a/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs +++ b/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs @@ -4,32 +4,49 @@ using System.Text; using OnTopReplica.Native; namespace OnTopReplica.WindowSeekers { + /// + /// Window seeker that attempts to mimic ALT+TAB behavior in filtering windows to show. + /// class TaskWindowSeeker : BaseWindowSeeker { - protected override bool InspectWindow(IntPtr hwnd, string title, ref bool terminate) { + List _list = new List(); + + public override IList Windows { + get { + return _list; + } + } + + public override void Refresh() { + _list.Clear(); + + base.Refresh(); + } + + protected override bool InspectWindow(WindowHandle handle) { //Code taken from: http://www.thescarms.com/VBasic/alttab.aspx //Reject empty titles - if (string.IsNullOrEmpty(title)) - return false; + if (string.IsNullOrEmpty(handle.Title)) + return true; //Accept windows that // - are visible // - do not have a parent // - have no owner and are not Tool windows OR // - have an owner and are App windows - if ((long)WindowManagerMethods.GetParent(hwnd) == 0) { - bool hasOwner = (long)WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; - WindowMethods.WindowExStyles exStyle = (WindowMethods.WindowExStyles)WindowMethods.GetWindowLong(hwnd, WindowMethods.WindowLong.ExStyle); + if ((long)WindowManagerMethods.GetParent(handle.Handle) == 0) { + bool hasOwner = (long)WindowManagerMethods.GetWindow(handle.Handle, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; + WindowMethods.WindowExStyles exStyle = (WindowMethods.WindowExStyles)WindowMethods.GetWindowLong(handle.Handle, WindowMethods.WindowLong.ExStyle); if (((exStyle & WindowMethods.WindowExStyles.ToolWindow) == 0 && !hasOwner) || //unowned non-tool window ((exStyle & WindowMethods.WindowExStyles.AppWindow) == WindowMethods.WindowExStyles.AppWindow && hasOwner)) { //owned application window - return true; + + _list.Add(handle); } } - return false; + return true; } - } } From d84c3d5ee26440455051b415427a9f53c85d033e Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 14 Nov 2012 17:51:07 +0100 Subject: [PATCH 145/164] Moved update checking to Application idle event. --- OnTopReplica/Program.cs | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs index f76d2dc..4d0cd98 100644 --- a/OnTopReplica/Program.cs +++ b/OnTopReplica/Program.cs @@ -55,17 +55,7 @@ namespace OnTopReplica { //Show form using (_mainForm = new MainForm(options)) { - //Start up update manager - Update = new UpdateManager(_mainForm); - Update.UpdateCheckCompleted += new EventHandler(UpdateManager_CheckCompleted); - bool doneCheck = false; - _mainForm.Shown += delegate { - if (doneCheck) return; - doneCheck = true; - - //Delay first update check to when form is visible - Update.CheckForUpdate(); - }; + Application.Idle += _handlerIdleUpdater; //Enter GUI loop Application.Run(_mainForm); @@ -77,6 +67,19 @@ namespace OnTopReplica { } } + private static EventHandler _handlerIdleUpdater = new EventHandler(Application_Idle); + + /// + /// Callback detecting application idle time. + /// + static void Application_Idle(object sender, EventArgs e) { + Application.Idle -= _handlerIdleUpdater; + + Update = new UpdateManager(_mainForm); + Update.UpdateCheckCompleted += new EventHandler(UpdateManager_CheckCompleted); + Update.CheckForUpdate(); + } + /// /// Callback that handles update checking. /// @@ -87,12 +90,12 @@ namespace OnTopReplica { } } else { - Console.Error.WriteLine("Failed to check updates. {0}", e.Error); + System.Diagnostics.Trace.WriteLine(string.Format("Failed to check updates. {0}", e.Error)); } } static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { - string dump = string.Format("OnTopReplica-dump-{0}{1}{2}{3}{4}.txt", + string dump = string.Format("OnTopReplica-dump-{0}{1}{2}-{3}{4}.txt", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute); string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), dump); @@ -106,7 +109,7 @@ namespace OnTopReplica { sw.WriteLine("Last exception:"); sw.WriteLine(e.ExceptionObject.ToString()); sw.WriteLine(); - sw.WriteLine("OnTopReplica v. {0}", Assembly.GetEntryAssembly().GetName().Version); + sw.WriteLine("OnTopReplica v.{0}", Assembly.GetEntryAssembly().GetName().Version); sw.WriteLine("OS: {0}", Environment.OSVersion.ToString()); sw.WriteLine(".NET: {0}", Environment.Version.ToString()); sw.WriteLine("Aero DWM: {0}", WindowsFormsAero.OsSupport.IsCompositionEnabled); From 83848dc5d6b6f9b49635f968fbff05b09b3b5746 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 14 Nov 2012 17:56:48 +0100 Subject: [PATCH 146/164] Fixed installer script for 3.4 release. --- Installer/script.nsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Installer/script.nsi b/Installer/script.nsi index 7c31cc1..7d78b4d 100644 --- a/Installer/script.nsi +++ b/Installer/script.nsi @@ -51,7 +51,7 @@ RequestExecutionLevel user # INITIALIZATION AND ERROR CHECKING Function .onInit ${HasDotNet4} $R0 - ${If} $R0 == 2 + ${If} $R0 == 1 ;noop ${Else} MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "Microsoft .NET Framework 4.0 appears not to be installed.$\n$\nOnTopReplica requires .NET 4.0 to run: please install it before running the installer.$\n$\nDo you wish to proceed anyway?" IDOK proceedAnyway From 9e20af4b065b199eb0b746b8662b13b7b1862c39 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 15 Nov 2012 19:40:04 +0100 Subject: [PATCH 147/164] Adapting the form to a multiple of the thumbnail's size does now respect the form position lock. --- OnTopReplica/MainForm.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 4a2c9ce..4eb353e 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -411,6 +411,7 @@ namespace OnTopReplica { Size originalSize = _thumbnailPanel.ThumbnailPixelSize; Size fittedSize = new Size((int)(originalSize.Width * p), (int)(originalSize.Height * p)); ClientSize = fittedSize; + RefreshScreenLock(); } catch (Exception ex) { ThumbnailError(ex, false, Strings.ErrorUnableToFit); From 53c45bdcbc5e24d1ce448d6369f60a5fabb9e4da Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 27 Nov 2012 01:57:34 +0100 Subject: [PATCH 148/164] Updated WindowsFormsAero library. Fixed Windows 8 compatibility (Aero Peek fixed). --- Lib/WindowsFormsAero.dll | Bin 96768 -> 97280 bytes Lib/WindowsFormsAero.pdb | Bin 220672 -> 249344 bytes Lib/WindowsFormsAero.xml | 1291 ++++++++++++------------ OnTopReplica/Platforms/WindowsEight.cs | 4 - OnTopReplica/Platforms/WindowsSeven.cs | 2 +- 5 files changed, 653 insertions(+), 644 deletions(-) diff --git a/Lib/WindowsFormsAero.dll b/Lib/WindowsFormsAero.dll index 8b0c5c22cb6cbab85f5ad5dc5770ede29ac27d07..3148026148ba2a2d82929e4245e859633fdd706a 100644 GIT binary patch literal 97280 zcmdqK2Ygh;_cuKEZuahGQ%C~YRLBw_T+#>x0-^WNdxswoAV3hZkPS61281XIq9~|{ ziUm}pSO5zO3Wz8Qh=2_c6-7|7fC3ise9xKL%?6Rb|L1w$&-;Jh)qL-K&pC6Z-kG^` z3%!QlEi6KaApBKS2=OwG^lQg>V<>|*GzQlZB+t=K)WIDe{Z zTz*lJyTmoNz*Rh>$W>V6>eOd|YpQ#EL1tK(qpot@x3dsEHH-Kmd`n+nYNv!=J46c+ zqC^wIkkWa}5q2TG21m*rg>{*4ggF0n6sMqvoPHM3ZjlfX{D0+9QE4Kw;I{{b;rDi` zh--guXd)D{C-2cj;=t6gLbhuL61II+*)6yAA=-I5>vt6+gpq6e%3*kturI*4*P-+X^;-!FYTG5uNGj%ftYL^8#FBTzbX4Z!?C3S&5 zFAg#lA)eH6W&#~zO;o-kb%$=ch?=#5?qmw;SB+pq_S6CKq5^~TQbH3Q%#qq#k$Pll zF;hs^I3RZFHr-N9r_>#VIGXC%Kpj)*=t%>bVU+tex+Tc!N%wOZJ40D#^3h^8RL3kj z2E-QCvw}qz)FSF5GRQMhN0BY=MzC@iNW3uuIAqI16M1NggIR?&hsADqGgS&EbvJKPp-=X|4HY~p6*4?QtbH*beqN0fFo z8a1v*X|^SFG+Q7;-d&nN@vCVjwSsrIk5OY3c=s@k@xH~!B$szD2b|uwaSVbdr;~fO z)7*~~s5F`pG@TCSQYwjod<2VQ$OneD$RKx1ctug9(rg9hX$?SyT#d$%s7LAcC3KWo zL$3*n(p{QM2=9M59B$=W^o{}xw^cWs)op1tB8^Dfs<7ZF-HpzMaLmx^wn$r~aaUpE z(@{ayEM^-dfkRt51aUdR+JOxNrGkRCC+Zo2zQS!{b9aD1cRDT6;YJj4VYY&*x;4_8 zZi}><9icR2W2GkRDv%@lfw`DUp8AN+HRHt~g#m%a37nL*s51r8d2Q%c6aCh}S@~bt zWmuePT8y+l@XyxDO!^LtbAuGB#QB%`2@gt&7;7CWt$+LH{P;@Q8AX@1pqEl*m>3ou zGPb~Zm}L>eaHQXV>1zo_ZrL}?JfBx93#DtP2?Gq1*QSF38e>`zn#$tk00cOZrGNtv zRPzZqFjqR^wlTZIYkG)siy4%Ld^z-EQ0hfVT1m5E?Wg7&t*VJq|!%^9eZ6 z!XFQ3B1gbHBqMO3Qjf8Z^}#+p2P)IWs6y%D%wjW#&x`{|H^e94K&4-t6dWPcr{}<6 zJ;oabiEj3$V#S$#WNAyo$!rzsj{=tTaNQ~GYM7m522k^cZlbZ-Yc(=o4s!~iZh`4G zpKop^pE26KdRCC=ha=4uT;Z4oC=(e@G!w;4mPa>+28Sc9hVmDx(|KsP5fy`qoNF(^ zO^hMCSUV_Fs4XJkBXuk?Ljg1uWz~}5%fRC*YN*pcO_QBGH9Y;{oaRz^;(XRc0yZ8~ z2U4;|J@+6Sb#pKl*br>Nwi;3~kLCd{_Q2l0- z+HEFSn!~VVe~u{%>0CeF@c&l4sOzRj(i^8&880xse~R}k@*B+MBa8H!x{2m6GVD6_ z93wqUFD1EdagRXeqlAU31{0uWjs%x16r<~Zz|2uB!f0S*be4Y7u}C0)n1Dw^nU<;C zrpTj=9~NcdLESwDCQdgefw}0pF_2)%6H5oHH;xYBLEd<>o9RcsiZX=TJqvy3QdmEkwiV1zoY zGUij|8R>dVDwZIVP;Jsj<2H(-0~E59@;WT5KE#umQ&t^nm zU+*~3KZ|jOO^e5(L}*wR%0!k-1AE+vk=ax%R%TwYI9Wc$%qd7D6;lH@2UnZ4mR6pr zq;Bl=pl=&x3CK$7U>?tkvB;RF*NAaWHj$)}+J&W->qvtBW)oz+HWn@Rq#x8}0@kz0 zl?b78P|j9G$VIx%Jd0&Wgql;;vex5<3OzR)Ynk+Dvkwl%=;YJLo5M35F!yA9h}jKt zo2Qs)sM#09E{Wl6WEi!wbOX((B_dJ$x^xj?h=_Vccz_5CN7$03ixnimPv^3mb5U#+ zTuH$i<^yy<(QcM>9#gYSvITUAF&9c!E_Js{c85Hyl7}VoaF;x+rURVbE$MQmCf4bO zesgoQ$JJvQBhH6bbhp_%ERw}+Y#26RK;{2kiTy1?f={#h8=DspI?m5{QE!6r_V30jJQjr zcF{|z#$}i8j+UWuI~Nijs5k&Y3!i`k5VZ6OH~>K_pMV1pwDt)&06`m{fCCV;^$9ot zK|7y-0}!K>pMV1pboL2206`a@fCCWJCBYrKIUDVmjtikF zK|;h?JlG^K%v}JC&ujwIde<>^RyAc4n5JCEG^VO4o4~aGbxdQcnz9K@v4ROoovgbi zBaarR2UDd#kF0`812S2ly9#0AwCJUD)_LLs4A}sNr0^Tcc$O-LYyiVFGNkpARkT7c z48<7ebXY=copE)~n?eST4*aD#VjO8ktRqd2bLg%~$beBbkL)QKL(UserKadH7IP@TI#aJ2KPhX3XI8mno6OSH(eR(dH7#qJWcAQlBQ78vfDXcNPo#8?|hJ73skaM!^> z+0TGImWO=Kge%!h$edZ5QV%P6lJsX`e-`#6^r&ZQG*JdMCw0KL-)B6|kaK<3LhE>x;3X~p6kshk%@9A9|kJI}X@npSZRZUOT3rTNWpOx_f z>+?qOBDs8xs-}k$QTa%U^sLt_-?i~Ly?+r;malQu^i=ssdgJm{#tSUpjpE66&#s!D zYIl+%y&LqG%6OdKzlbNx*Q9ECs(d89arr9a1(xqd@vv=;{@Ju@dT23fKawInOoD&! zpV!9Y^!`OWS-zaA>8bLO^v30@j2BqG8^x>6=ka$2f7m+^$b#sPznS>E2Y=0<2k7RT z7$@bZn7f7qJV5Fm+A4HoW^y#YBfyMK&)hj|M!`U{aV({AEq5q_R&x#_(@hxzQzD76 z(J>by!`%=vwVPWC0j4k-opO`e0R?G+jcYB32P-AR?M0}$m6dds=l+iJSWR4nIXt)^ zG_co6V%_Gx1tOcf#kJmfhT>Y%OX>8>eFY9=Ffjj5u$0cC+z0$YT$%Wb!MRVnMK7g3 zo<2(+13aXSmz_I(q&%v)F;_KDBPvH3vX|CQFQqP&-dr97qu0|*sh411ijOL~TyS`r zkcav3z@?Gv4+En?H1z?VcrD&wOt&&Di|p|8Lv$%=EFv~Scc0EeLBGs0_m!hjLb!74C6!g zF?^_54km9F7%@W~ey@#RN=uZHoB;{Th9@t+yrI1fZ*>xo->Ug00rFkLZ?5t!dV2g*> zmC{bes|7Q@wz7y%&@7eb1lK3q$onFL&;X5O%zvutL)04bR6!OTT<4Qj6l&n2#ybNY z^ni`xl=~`ah4|C@hw8Z|Ev_eDT2wccX|V%J3%AK-8sDNeXnVorKn^yHv21rphB`>V zeF`^@C=ISNogvOpn0|#gGP6-4O2bxm6Vzrvmen>JhW;wsY>8pK%@!3P3!+fm4KnxpAwMYyrMrijyxGuan*dT1ZtjZHVdB+2RIy-_#D86_V;sW!{ zTF;}$NPVhDu6vud5^>s(_?1pCSiO`;{iv42Js|KX;X()~hra#c~D~oCL+2D+|sE zMptbqlEt{!``tR-&-%kCc#=QQven2OVwYbmTTO{;`NiC7<_5TOZzO-_CiY5Q(TyDW z1yt8n1msBxo}<`Y0WNelUk{_LQFI@+d!B+$^96SJB9O0b+rk(p6rP>f0ukNk+lr%$ zcDl#7w;|}0RQy#@G1?~?ByGxIGlXpDybBWOu>8}_mmt*5mx111R0&)-Z*LC1Lef4Q ze3gQIIk=sI{U})cHX6Y@fPyh*Bq|A+#u5~hS7jMJuaWscvMD8WUDSkdzYd|~sCDed zsSdP*#O65~^JxDeNWf0zb0?{E_Zv9Gdfo(jX+*)DuB)(?jiH-=Qg|0x^5~$OcDR-g zDk;I=EGnZbiy(@!n|)9#$|RK!7MPbSQ;~v7A5L#iisLk+sT!PS4IEPO6b9K@+;oyv zvOUC5I^Vrjc^xwdmVe*3AnA>-V=ChfhhN{m#oyu$*Gox8Hz4VV`D8X_qiP-oUpEgV zy>T8Y;|1p7Z}E@^l2IP$=*t6kPpJp;Gi$OdI;r*`rY^{0*%y6c>ZB}|z11hCuE}EV zqoz+xotMS37b~&(78Rc+Sn4)N%-rh}&sS&j!$udvL1Mu~+WK$}2}K_j$9Jcre4L(&^1$s*=VsA@@E? z$KSiC&%z_;fmP-^kkB?J?CI2VzpLztSoj>I@(rQ#(VbNeK!EEyDd4~a-3&vb>6VxX z4MyC*Wu>aV+X+W3N+K1kSDx{H9i7*tyY}34Q~L%E32tg%IbLwOdVnB?huqY4 zGDj+3RLSlG0H^yPP)QFVn36gi<6bniQ4F8yXt)m`r@PMn@}+C3Rfhu@9VVkTm61M_ zTn-n|A0du=^i(CFM~TvSXc4_+)!@38rzWoM3>(j(X;w1>Sy59dxA!rMFI%s=Zbncm zqPAJ}k#zkrxi0tRM4DprMmqn^SI>A-Mdgh(^FBc=u0q^ZlyMrV5`Ri==Y2+cDx?bj z3P;juK-3q4+{a;(6qa3EH=`(TahS1BK!n4|%E-SUGP-AwoAXKmu09HIWn-nx>2WR5 z{gN8+g$Qc!9iue{t|R!2IG2 z`;IDw@(ep^>(FaOi9^%SPL=y9W=Ad^*lR4ML-|a*H!M?j*T0|9E z>IU*s9`{>Iy&!b%($S3`iN_VZ6h_{EpuA%+@y;XeG|v;qbKfSfVN5Jd=>Z=#K}m|f z|D(_9Cj|6Lt6i1!I&-166X-lmKS`2ixi-AenmhzL@&7onIf^50+r%2pO^xb z;`u%?1uDf0d}0bzif{FaDNre1=o3?*QoP6~ra+~*+$W|$rT8|Vm;#mJ+kIjRREih- z#1yC$-{BKepi+FNPfUSI@e-ey0+r&WJ~0JuEZ(ag3tNcZnVqPc7{DD^f5`rAiIz_e zUZRFlGW2;}G*NxoiMfrMBRz>ylaMYw|I7 zC;BS;iZX1n6Uc|&Y41aMu0DUq9*c1<)U^8xCtK$m4UysaKnL(`j|0}v>+pP3=FBIu*q(LQddS~ ztPJDXuof9o+ofBLBo`5Cv2?rP5@mR21e}_Rlo3Sk@+oom65M?m4G@z})<|LuuE_2{ zYh2;8h8Bo;tb!Mc@)<}}n;Zh`R#A)U*<${|)_($XTSF?xg^ZzCN&iI}Uj4}n z7v03_$#6P(^~BEz7IIvyrSOcq#?PqnOA=Z+-LPC4qC6-Y2O zFdbjssvA*8pjTUzt zzA!3Yg-t88XiJ;$uxI$Tm`Q>ms zs;bNo5{3fkevKiXL6stpzVp=e9`fVDl3BRU0oa8@@~=pU30Mk4T;CGM{4HDY$Kx-8gtis^*YWx{-}-g!^#TVjDp&f6e7!bosvCH#Tq} zMYnh!fF=b`j9EOZIRu|H#&yDxe(F)uAn&t?X~F*6L$LD1BRO{hfF!H@l0+qW&@ZV8 z39pqW!WT|WTrO^aBb-|$m^JYzbCA0h`N9?}y+wsNW)kX5zj-5!I5-TV$(14s4&y2` z+%Cky{9!k1BVYu(lX1{(UW%GJILKWG)I~3lX4^3GQ>vKic`SSy$2!PMfK9vmAyawM zZ>F;HbKMz}gWPq=trYzS19PJxQe?R6K|!-3PeamRGz^9{Y#QWFsf?6Qk&>lIMxrT@ zCOzeK97SpzhebJMQV*;WS(pX>M%V-cs`7`ag6ksEU>D`#Mt8W-KEk|v_e zs?5yNO{`2(8PJ?7YlD;I+E6N*e*GsCr0671-Qq zR1w%SQ8VotR41Jsn^A2%w{l>fnk)H1GXHe>C~UnGY2M@W1U1Az-Sr%fuAKzfkC5Z3 z_jzhieuCWl0tHP>7ru>YcRDh`bC)LrAvtk5ld@gwebMDkl)O3RYh%oS0@vPj&SxT) zZ=J;ZRMfnBDW%DyHkNj8Avq3*_zd?^2HbB@m!PVU>qcHaHHPda#i>oO%i*}m-7p}L z%DC<EJZ8aiI0Fh4RMe4q7oC{t*feHC%}eO3yf1}UTbJ}c+-an%X| z@3WHK-`{72C#qB4R_4l;+}uYc9;>_rW5<}EX0fR6R^-TMWn#>h)J8>kF&@VZtV^*s zA|IqPi>MuAuuaM`6AHRDMg371xH=Un=#Nq2YBc(i9wp+vlaLF%8tT1?ii6kF+8{!D zh}jEG=|MdibJ4jdF12;lxJeQI$W#A0vhSWl)wnUfsQe`cZ{dG8er(nFlW!FNdgZR= zi|?KC&r!MDHBs*RbPl6#+R3`<>8~5e@*qPM!PX+?syf0Ok=SZ<#5AVwY&4}%!;s=R zI8{BUUB}$Y>Q74Y<)gA5qOby@Pj+~zP*K9lEfXd1#wleL0ju{0)y?_n_4l@_dEJDR zZ>!IB&<$MY==?yI#r&8{OywPkbWGF@pZFOeW)FYGn0Ua^fTX)$f>VXMCc0K{zpMuC z`JoEYiH!`r*eKtL{1x>i--(pnPfs^=H)@{8R9&<|nhktu;!R6VNK2(UMN^@bV!YG1 zo?^Vy`RJqvLLJ^>5NgBrNGt{SiRIH}pQ^Ix{9Te8`i;BBujLw-$QPX_js9)^oSeVP zEcxsAH06l~XAX3iIgRG`TBRsQ4`j+fzWC}h2xL3txa_Yg+O_I{G<+|i;u+8?6~5PJ zkEd1*+|>0|v9J9*QQVN?VTdMQTTNYO;%y_NvN3#?ou%b7|FvZoY57;BB~`!~Na@_7 zYx?#$(hu{}QEEyT*1*DhjDq+y%13mJ@uF+e;S)N@=Y4R!`3t=8b8FrskmEfh^(2k#4@7aAValEdARx}N`WM2eL9B{uU=V7>G(9HuAX78?aDCURkT zKcK|<0Ud`~LDt26EWVn`siL5VDNvcXrZWFT7nRoZ{%+;|g-izP;GlGj@^sWosT6Kh zEybg4bgvW#C{deqHyuNhBegqnM=Ez^5|nP&YttoRw`+w(dMOnL8})p2cPE1yTtr%^ z{7A*aOhygDGa0u`U}>PFCSoPG)ip|LH&${3UZbSeWFWwwlm1lp5Z1q#U^s#-22H3+(4u1)jO38?mTSZa}+?nGsTao4=*z^*~V_I_`C1 z%$S5)wz+#kQk|~qi4KK$a;2Cq+KCS3?H!w&+9kx69*k#6dm&o(%UC?&7^>EU+dN8)$*hE=oMO3wH)I;f~DEX8T*xyi5rd5Jq!BwpR+6-Fp|wONwniy}OW=YpGt5VVaBna6?+*SR9glpd zJOs;7Y(T=1R-~v>=hg{upXrO)E>p#f4@fc6S|uLd#7{?Eq2tgvPjg=y^&xKH85V3Y zIgE^CoE_AsRG+-wd81Sbvhx|4*RjF(rpO6x^7N-Rahd~gkk=H)kuI`9dng0By#@iz z!GPj-(0koO5ONsl%?ma1X~ZBhGM-ARdY4BL}?7caKC!a_R6x zpF?zI(^*rkIxRUJg(aVK&RvxF4vfzMIwh++4b z%lRKtFQt-H4~h(OaycK5401S^J_Z?{1W(Jd81_}}QLrm{6r!-;^mvjS!u>1xL`$&E z91X2|48R^UG}KNXsCpOgxx4crk)_{Fjl1$t4PP8{EL4@1DzoVx2VrWeZjQ$>>Ce%$ zk{}oI3ALG$$cN@+xP<(<-)G-u0a;D}#AZ7s!3CVdjWxI<@hU##p~-J_Q2%O;@?*Uo z84xE^ccxax!oEDmYY3?dW``MWETtVW(wF)U$N!nH*Z^M%S(>PheBoLE*AQk~oU$oK z$VqF8GvuVO;W_yTDDevo71nUH!%P!vSVygFJ34CwMrFDgj~87GzCE8BsKpB&ti^jB zN{dhQCEy(J{z_*Py=F#_p5Y>eF0}Dp3(q^G<6SXnRFA}s^_z*&=w+lnPHP>k7#%pY zlZUqQfaQe4GXgf808L_7$QfPLa{z+hNH7X>2n8@IS-cd`O-=^-OQfeAJPPP$iptbw z5)X%%0=kJsy8|m&6Ki%FI(U6v2S=0$V@DCBIOVVe!$$_xb+W6XqAi|k9)cY52W!YN zD$Xq(&^PpO6(O)yNn-%ky4Z^65>G&BT43)UcdjX;xu`z8(8DU+%fW@Y+>i|1O_$s2 zsqi6p)bVu|-@de257Npz1nedsZYuY%4Y{L^3W25n&bUl)G%SZ^ujQ3AZpOLLWSN~(aoRPLv9M2sFPNxm&kE(46^7CN;>5Pzo+ zYj=}1O5@fMYVRYl+fCZjB7F=c`7+mDBkMn1qo4^UP%C2d$xJK}R+dMOv`B+fT_ z^7Bg^)sC_3Pl@PH*a1g>!VBv1O+V`oBaNL?t!-4w!@6=zZ z-*W&0Or=u5fo;B7$1o&5 zeCiP2=)}>6lNb+$kt*Psvkb~m<$aAtDt|WeOZnqK<$Vo19zgLu27vL>@J=E_tV*M) zO2hRJQseQ7i18oLLkT281Gj}4O5UCh_>Q1TV2&>V4xj?&`UD(+pwuVe0JdG)AgZ%b zgbdWm!W>8v4Bo!vWxG&4;Q7MHdF626f7bE}CdEU8d}XiltR>m8F`l)&jS|JPmV6v+ zc0mHg1A_3_BnjLz(3Mh^^xo@AH(yu!;dP}}>-GHRUROHgy3*3BQh9FmMfqvZGT?bc zd|Bdl_%=2Gfn zbK&Ps@)P7;LI&hZ?UUriyXIn5WOwNzK}R3#n{g)|xAmtzs4LoY&R0PN_{w~YBu zqyDRYdoZQb-~XjwbeJ_f*b;8Hg#E++{&Z@D8RaF}Z*8c1^~3ZV{4eeM=hZp9bL`g# zZ~FSJqR$`b_thgq&#WEu-Ln&Zd~V85o2FlUac0F1Z^fJQD|X!qdw4$l=KOCzxbNIM z8@^gs`1QI8XP=q;!}HUB*fQ&vR~BA=b4kU%D@IIA3jxa?AeM>p07B*wc^A}us^!@!5=?)ZpCeL zn>NYr-?!I=4>n#p`uuMnKEL|zMNOMD$saX*$L5C-7&M@7m(HE4hgko*@ZGoDm;UtL z)5*!T@&9ip_FOsj&hKBmGiX3Rc)MfayceH&7y1d=^@Y`0c@pZx6`)ONsQ4M)~cHyDE;X|6s>@ z$h&pzf>?tG_OCd-7yrMoZWSoCig)j+_~_X=B}J(1E}c47oY+?J@rH_zH?Chz z^#EbTN%9Z-ikI9KJLXjEDX%!Vs^Zu)6`wv=@yX_j4UwU$x z><@_hHO`#HeS7DHIpQ6lVcoiR>W?FzKz0M6qze`KIB1^!c^$;21Bqurf+n`_)gB)+ zSQheUz7^axu4{j6+Rnu$dD%iC=t-xtZ-tnVCB(TgLbP}Q4}wiw{c68fP{fvW9$GTM zJ)vY)esO{5n_pN|lG(fSK-bLd%*I*69-WDvVrkp0Q~QC<`z*cpvjP44)wpfhJ*#q$ z^}N5W>-*;)to7Q(4Z;2HO-VlaLX&~d^&D{1l*5lT-d8mA)1j-@Ju%psY;8Ym{*#Zb zT=_uMr=7FkPT1Gk-evv=gGAY51AXcD{Hix6O|E4{bjaYSi!3>&wlT z>K_Zb61ii9zPN1Z)lOvs?)UzOi&$ua<>B z2B&A`u3YiT^0l`w55Il=_qR>@z#Pws z1uqaIOMkBULaPN=9xW<3Kd!Xy=(EQ^TBEHSt2fWj|DyNt+Z${yTxr&KC3v2_@=ohk zw|(b*vG3`~*t^%9dVWRm>z+p2ey#rGw)N#fr%#=VPMx~h((LWG>OU~|smCG)eD=%0 z+t2LUJ?oWGuN^(Q(J>|S>%vzS4gTo6uFJn0`N?gEv)4_(x9hrZ_awi!rq;{xt?xS$ zQZRPpg#)G4&C8qLv(=h6vgdb~zj^obE-4MaDo+YIboV<4a=x^6Zy0QBx$wqKHCo?0 z*J>HJ_tUn)$L}a!+n{}`@n`Hs&E9=2@#9fHyK#2U6CGb%w(3;zicG3> z6ZWR}{UY+cPe$IcKGXBU>_an`9Ju|`hOQ}_ySzPnNMfT7!v=gddBNp{o%RpOwztxs z@UDG*;9q>)!Ls)sG0Co-sasa&#i3U|A*u=W8XS4_~!EsZd=y#SlfPszWQUR z;c0V6hpqYZe|qDckoBeGoQr#oYcc2Rwe#on${#ImU+Hrtf=WLF1ikGR_^|lt1U_-8r0 zp&@(^{-z9=<0&ban%Td=A0pjjdHV_ z6l68et@HQ9W)zhaPA%}IKA@mPN2ahg=3n3To#_9xR`r$*{9@|83qSjKXS-e<-rrmI z^PNAw7anidQJMdWBW@Uq9XL91T#Vyb{0)WAHXZT${Z#zt7Da->MWRF$ z<2XfhR^d5#*wrlxne|4f1RtSyiy7cFVF(f5Nz8%+siH{v@ID1!-Wo5)K%FereehVT zG#P-n)9{}g>6Eb9BA8`Kvw>m~)KlSs{1n1ZKkx#W&Ox$LG6SqYyn#rK|0&WS_#Y2* z@?SODIYdj8(S~rL#v>!M@Ln1jk3;HFsG;QEObf+K#P5jk6#Q4!5AG<4>QVST0wDsNnz1Mmq(rh znmLG_xJulvi3KIDl1VeBjxEYBoKoN8au*j)EG){O;_?*EEy&bTDlKPB8=qfNP-#p# zhv$+)oJ(5906wd@SS9(zQ8KB(<;kB4xADD^p_v8HO_@TuD9!S^ zCLjY;uEZ`JAn~~30!ngVzUQV+h51w56EnpYH244b^BQ^NpE|E8&-<}{_#dBd8k5k! z#UwR;bt=wBD^ASpP*^fGe_Fb$s`!6rpv=mi&~!qx35^{#oi8is)RrTQ-u8_6 zu_jlV5ZH|rvF&m4mf$p`Gj;&}@-axz=}f=GZakV?-{4!sZpX!_z>kVUzfdY$zyIq6 zu#*4is%}+vktV29eo4Mfr?i7HA&F`PouSdMvlfkkt_H6~C+t{97jXX%EkCmwC2p$Q z8U8oW^0RA?t?$+j-_(gdw+NQ`)%hF-u!m$nKkE*>`yt- zBkP-0f8-r~{@zEgBrUk7$qysGzMA^bmCqW+dfwkS|n)~b5j~#t=Wv^H7 zA9FG1wkLl--b;CjwT`Q?q+eE-HxUSpuCwZ+fgcpSw!Z}V_RsYp|D)Ua*#D4r)>^A} zzNb---F<5;`eR69&1_?JV@Kv)9iIBK?}A&Kcgs0j;|?6AMI3JbbjRA^9bUC>9+9}P zB;wOX{rs0>Mb6cZ#+lSbZQmKQvfklK`mKL#40+_!YHJSfef_?%4PN}~ zovrgHY}>r%h29rmSWxW!1rt%e%kz!?NdZY0_cZhiyK5bWP(&;=ZqW z`DOdKVL2B*@340Hft_7`9`f|}4q3bx5)SfE*&^gZE z)D<&nv6!8e-6)qNRxB^D1oGgTd!7)haeQwA!UIZ*F`R;7i2YQEHJB6X3>qNpr{slb zoxDNaIzbl;KHh|`!xZ;eaQa~g(S}rPs~H>u@_W5(`oI#Uz7Bsw@rQjSk&i!Yj*_h? zh4MlC;chs6D^>*IkL1|g5;O?Wg>N1FZNOhY*dQx(uY;cZX1~PgkM^udj-4-6T0=~? zPPRHQD9;8iwa&I0VmTy+c!co@*0#||zLCQ(!Nwu>L*fuSIs6u*-9k3|Io3t%QQV7a zV1yZl$Ti4+54ITyj1n&zPZ&|+XP{Gbuw~nvq6gy$#(c&Jj8hpsj4OZ+vC1~v>J*Q2 z_-PKewUCFOV@W$Qj`A=!j#3oyl*49>@1S&1q9XZpvLW8CL)s3hr2UBT_DqU(d)6$x zUG+-VlUc}59C<5mLN+UN2ruRw&T)vC<`m9l{G=uqctn*c#{*1BPYWqD1j9YQe7&HpE}Uj>0}{_~D#o znrpZa_iFWl4$%Sl{2UrXaZezOQs)!K0G*;R zpL$~n&>>!7`F=*%ShC3j!e%VllmQL#;#ex(9>z0_SAY(YFm5)^py$WkH!e!-9!GgN z&iEapb394<0}XNWc=GTf<4(pCjK4CzSMXW^o$nYF7&S2;qeT+#WLhDk{~~bikHkBg z8b%UgQ^CS8y4aY_guN9Sj2CdRT5QC3@vJml!SWq2E51SQ6gqStKo$*YUDlm~7b|#O z_HrJUal+8jnf=Agt~Fv7s*x^OYr-s%nL}&FER9*H){0phZ6w~f4%6B)>kQUPL~7lT z*9ac<;zYDI2%aLucx{SSTf}H1*m6F+SVf|C6SF0VS5M?=XE~p%v?nyH7^XGQg0)Do z1D3VL2(2Ls8-X!yB%XTwkCvlR`98v5v>2te(#nv+DKQ1{#)6R!HwmE|tL149=zapL zEhZ_3J7{1F+H0ket+wAQ*5U&& zD#HjcE7(UIZvw~rKs(DR6hT)Hy6;e95n`U@K1+M?six}`Zv#@df;n`mvuzyjgoeAm zu-%39qQwcV2DA5>eXZC>%)V9ZG_&(y)M6Jbe_0~LuZqP7QH%Yq)z{JOME#(NdbIdc z%h2seuM1dhOyL=vdVer0KHizZ>5anV9u3xzea>PpL10vdQ+&qR^=zFkRTjXqv#{$q zdKmid3b5K>Em*gXy|}=rMBA7(QtW+Zt--h_bLzdoP-)`3peeW|*Gq53>~avD@BP4J zpQo{4BpCH_8x|C`!CG?))xe^~O^PKjn*m1kl4_;%Zw@h}&=@RQ+^l!z66IRy{3{0| z%O2K|_;)*Q*ZVOW2-Zt1)(7a+%ST$N&hFGlKsUrlLZu!x8Unqxalmrh1iZ|5$#z%_ zE~~H|1?qOfV8$@U2u3Fm|JtXWV$HPoMV9WhA4d3DpwGhz`)F-&*;z(Cn8IO<$-(45 zhcS<_ALD4oB1SLcGRB7(pJCj}xR>!W#;+NFWwbiTb0lLtV?)MHjKdixF_tpk$M`hk z3yiNZe!_U3Q4b-XH5grtX^hPnJ2CcT9L$){Sjae?(aX4)aV6s#Mr`E5^UI988ILfY zVEl&h3ZoWEmf?(vjG2tB7<(`dV=Q2t!C20CKjS*aEsVPu4>6u#JkMCc7#c=t)nrU% zY{l4}aRlQ;#+i%@8J9DzVSJWx8{=-qLyTWA{=|5dv3fYARi817u@z%4#vzQ;85c4x zWn97dB;yvw-Hb;VPc#0?D5{bF5XKnBx{Qq(+cI`%9LhL>aRy^K;|j*78DC-C$M_lJ z_l$oqhDT6Z@r?BtGZ}LjJ23WT9LYG5aVFz@#s?WUGwx#ifbnz2bBvc6wMa@Ulre^} z4r3F>4vf7SM=(xh^fKPf_$cEh#@&oZ8NXuuiLrt)G>X!y$(YWV%h;W97~=%SS&R!A zmoq-j_#)$O#)FKXFn-7QE2FJCr4qwfm$5Npd&WMD!x;-1OBfe0-pBYP;|q+t89!t^ z#rO+jPz_2Yim^6hbH*-={TcHaix_WaT*A1D@iE3{7++xA&bXWLL&h_Ve=vqdQ;M}1 z8#8uf9LzY8v6S&H#wQrJGVWyD$M_NBw~Ut=ZBFtW%~+qYIb&zWL5vd^OBfe2E@OO% zaXsTU#y_AB6Q4sVU68RP(mkHwyY{I}RYfiZDp zxj4>cXkshl#Q2d2-xi+_{3Ct>VnrvAO|Jw>WdP%F#?inWaUo%?(XT8yF-i0*YslDv zv0vh0NG39tCLTq2apETU+>l5!(Gl2a;tR&mS`@yO@j@+1#hyf1ld*A9Pn$*9>P)sF zR-Jo*m+CwWOsV@ka8zBA+)?)};FBDFzbXE!fy-$Fp99~iH2l)A*p2Mz*AL>zx zK`E3UR|?fbs}!0gN2D}>c5Vu#{vd~6;_zoFWd9dqa(xPStxs_$*QdBk>Sx;fm7Qro zHSk9Rid#2z5&SeuT@37%x)eApm0KirIl>;sg^Vj0pJv>ix)R!VQpx{`)Kv(_q){nG zGWKjp9z4KE@j%uQd!%?P>l4^?YlIXddNrb0lNZCpCQr@@`GH z1LriQI$YP3Y(8cT%OOdN9I_vuL-O@G@50h(b{yEM8A&EE-plwZe=a4V{T@>WUy72PwC zqxD%U{ruCpKeTlcMkhJX%9&Kos&YQ{wx+S`HlQIMV|<$NImTC7w+b=DF2?s+@)_e9 z#!HO0HWW9K(bWchNi=5c%s3dRiTdrH3DHF3cAJ3h+Pwhm(~f$6WP7TC=IzO5RQrRF z-_Me-f&I#U>_8)o){(F}(AR>a<6}bymqm0UjAyLJn8ujRII&S|sL%fA*p{$t)u|;* zzOoK3dp);1BwacY_F){#c%^Z7zs>kg9%zdgXEM%bT*7!CP!nr9QQM_D~KO@%QvcDJ|dDQbwpdl9LW#T5x z-Fb8-KE&wEjt(=#+PtIq$0E1pp@)b)B#$^i;fOC-@;%4;mF=&xpRlgvC!s6(Y0wp( zBU*PQ`+kg*7;hmI_mfS;6CB>yH6Cfb%(31k4=T?GyGDl%F8iACGGkablB6-VXB^Eq zlkqOb4UD@OPcdF#tlpjCCNs7HQYv&-4(Of<`Dn(ejAe`~8P_mwVtkwNB;zGU(IeCE zC!t4QTmfY;wqYE>IFs=n#`TPEGahHWz-aABaceR*VeH9R0`%3!ik`P4pAR#x2a=q6 z-Ag?;8H3AqGwx@6J(nbhIDCrnJmXcyuwJBf0kL1$i(22A{WI#nJBRx*4rd(4=;`$v zv5>MPvI84)0?;hHFM&o{#tX8F@a(_&cMcH%a0cQyFs^yE6^}`r=OL z{Rb@FjB|m$70U~~so(DJT{&O8o?AVfu4f5#JE5%)VFZW6I2A6+zAoYmWBVBi*j*dStlU1qNCq3D*lZ&O z%*|}RxC53Ju~h0fo<(e`!cH>VBhDJxu>3{Ei?B7v-HZxpDF)lxB3Bu;1%BmVdDuZ| z?PvW&h?wGMBSg5^!R%I~HyOJJN0_Y?FWaUIywIIYURH{?ZHq*_=*g^H9I!nklEwGT z?h!|A&*7cKk~(C0kNDE|3U97L+oW?Y`Xi*#nP41LIf+d51Bgmf{9{)pY_ltib9pMn3z0ml9;Yo z-IyL=^du&gwo%MMYoS=6Sf`k5JUDQtWbm0SCW}={_Y5p=5|1nP5-e{L&jwgd5w9xU zIap2=yA-l6pMJpHpZra)$v;9NRk}KH2d#6&Uy3!3%ZAR0dysTiwFjFk+A-T>FN}*f zO7SW>>+JW%H2`~Bu_wT87N->33+5HE4W#8~VDm&@W_z>?aZQX{=w&oY!5$gk!YC8f z6ssHG4lGu&j`4ZMeBn~8UwkjHbY^?R==g!g0^ycA?mf4PSyfoMpOqQ6iWQRCx5t+o z3&q2V?Tar1Tc_C3_=DC(Vv}Ou#%GH~;w8zD!rex>IObiVJWcC*l4_dd1or=AYm@Kx6 zw-tLgF$L_9V&@WT*|v#~6}ysH7wikg>@_vxC2>}bUVd##U?|yQ_NND z&RVr>Z-@not*KQP>`ukD*3yhO#l4EXTgwKvTCvY-b+qjgPbzk{Rvy?!#X2P=i``z&=)NJal`+DaEEiw?|kS$@;t*y0=7#V)sG!mdI3W19W>uj$$uCw^s~PY*$jA z_O{4Z?9-$kU^grF3v~O$Ld6`e9$;$~OLpaHxG$+#3+Ubv2Ndh?>T7#fe5}|+*B~$# zUKXNuzu9%rx?eO<>>gLP*e|jbTL;~HqLpI1pnFerQS2mi?~A^Q{Q}+lVuWHw?Ss|> zqCl~FwX?+mF-@^f&>a+W70ZY2pjf0B%~glQa>Zz_IwaO8HV^SW5E~VH0P#K$+ZB5O zy2E0hVtb)GERHGmDRdu-uN3*+TfhmL8 zaOjST`if11?wDwz*kb68i4KZA4&6thk78S)`$+tU*?h4td4%m_aff2ZlE>LT6>AiW ztdk%<6Sx_S-+Yl$$7B0UMi(-pnuYvt4zE|udQvXfVZ7#iB0J|hcDi%|3rR}n~ zPqF%7SHydY^{n@$?RUJvEaQy@`$M!+tPGZaiW0>ZgZ(8oDE4T*-)vXKX~i~zRfxnE z6Lnv33`0sFXKHM>=7(pIuB>m}fcfVg(V$}v~rVM#5;&*H%v`dMweO>4(& zKIWr%yIniYOkPa{Ykw+TL~4R?Xl5sY-=40twsB}B%;a3<&=NbdPMl`TubGwGFQ%@v zIkXFk1*NUDg=j%t$gQCbbfcBHKbtE1S5&{fyc6gvZ5b*+VBe?V75>!4V*^z~r<6swcI z)*h`5Q!E#{Xl;^WeV}t{(-bR!&Z*tPY_Gi(x)|*?#TG*squs68{m{i~4=A=4x>)To zX65!5)00J<_KaeCaFG$G?NID!`g8VpZLead)3<_srq~7O60{1%f-<&()#ys~vezCB zmZ;?@Rx2Y})YLjERzD*JtRJ(5_N_&GX65#F8F^YQ&7)Y~j2>X~6&nM~ByF)` zb2G9+220c4P;4exhW3YID>8T48){|`na_35HPRX>_BvR$)@m(jIO*BL|bhkvwQ7FvrgLEYP%IXn{^uOUB!OQItO+{ zF|Eo}`^rx=)(qX@%N1iha|h2iUKQRWvzhovi((Shc3u zFVI5!a820Lnr;fdNvok)i>6z^>L@m(>CWIOTAE^$n(hH>p;&p-wf3o62gO!4T@Thz zu`NvxT8p${itR;uMcO3A&OqnZrYZJ2bZ+ey#o}|;+NWu^DVCbE9&DvzU2^iY>DnWT z4a(^Owo$R-oP*Y4ZL4AnbFxLTwnwpTIR}G1+Ix!a$vF!4nPL&mz6dVSzEUiu*%`23 z6zkgTpmm1!yJAC{Ws4bFa9>$x9_VIjk&4|4-Av7;*dx%*(oDrRKsQTkrr18{W@~K~ z`vkh#T5o3Z%$cK=FYo4W<9x?&x2cLtYf35xZ~-2+xv zv7xzZ?en#C#m45Y2W!r3w@y2y3$&-C4kJoS$F15+ezqrgk@lgVwRe>J&*G1B^BlMN z*>|};9k=`0#oT_5#eVij?ij~%KMQIx*|EaUqFcBfEB!3FMNh{A+C_hQ33yt(?;tAs z9&xV4LC1p{efxqK)!8cT_94W|#g!J->IuytA|#oh&b zTD#1Q+V7-ey_SflhRO1imggNCv_8D;NV;sXNgE}Z{WNm6S(~8PPsrJ3&CN`<%5&P? z{&)!j&mN8>pR(-FYhm<;Jl1uYt^RPlphYXzp_LZ$f>u|t@vYX{U)0hSo6%}LSW9Mm z?KI15(K;$dBjy%uptM9j6U0{SIcBovw`y5<*4UT&HZ5WdFc_7}fkM+9#563a@HE$#}eb_o^0?FYudh-`47&^;IoNvAwOb#jBdB*fHp~Ygvk& zhHksoirF6VORGoiuW8GfQC(vXLVL*1!b5gwYyB)bxTf^mc+SS~vRacC5HTP;Q6r)|ux3vz6(XQs(+9b(%S972CmeSF#=05Fx z#b{S^pZ1Niq+QK-v})rh{c`)L*2&^sEk?14ty93#navl|!1k+r(k^&X$a{X4Qm1~% zAwRpjb;FROT4#t~vq*`9WDnUygsx8L5TZOCWZYl_|1CR-fW zE-UtIn=<2s)_lCo=N_<=+HA!>hUMql7R64tnH_veJ0%(JTXYIJrA;c}cwl`(zSiDk zwoA1AcUmC_#ki)tT)P)7w3258=;6 z(pkI!EL5M(y7^*xyY2Qc{Z3{19CX$6HHz&5i_o_!%hT<4heYZhDE2$zRo6dZR&KA| z{-8Bl|3We9FVXsMinVXQKg6kDRg8L;Q?EXm^Jy<^e*+KXie1LXSUaVyuH0y%3ZTo-KT^yCU55UR zVs}B8sh?Nu5$G~?`*bRw9EBU|%_QTIy`kP!F`E0c^!tk0lCNGG>4_dHrqQH<8DP4uS}qjhUjeY0Y;Zf&Z+%uLSA^bJ^f-agai z&Cq80x2#(!-t2N9w549ZgtU}i53P-!BbnWqm#4MW+bEWl*8?n%ne^Gt?{mI(GPFH2 z^d(oDyzfH0=@b1v6Yx|!`L}QiS3-SkFLqEgdmp9St9kM&LI?WUEqUQ#BXl==St%Cw zyftj3?on(B*nilPMxyLqC&NbRbN%Uw@QM2UlG*8Q=Vbj+#prJ5Wc_Ky7WdB6ZqlDq zY(?)LV6P}fyS-ENHx;AZ-YNRKiaplb7Cu$~hMAn5rs_X2lh@%>^@cO3y!YDaI((|0 zqZnO>Pu1HfR-;dBc#%F(vF6MsE7qM^nPOv@tyIj*Y=dGCG25lsCT1TiwujkI%;ZX^ zNbfn5awg9)w?0rZe!jr1kNjWUeG7b?MY;F9?{4;zwrMtPZ9)rdX$vjX($XTW7U(9~ zBukTQnoW8E%65}%o0aWun%%UGfFu=_Dje|$3W`S%Q0viisCYfzS}#ZI!6PVoz-#$H z4;A%*;*p#B{r}I*yZdf7<=nn=zVG)@^52n zLz4cZE{cBQ!%NF`r)yB-55Z}xpGmCm1en?nfR@s9=Fp?6>8Ij975xcG=a)byWl|jX za}sLf9T*mog6ud0f*9u$060O(Pz zK(Fc$p17bp1-JWhgxYGC@a!$2t*)Em_NX^aOYy3=zXH8Ry-PxG2kJCEicj%MYBlNu zaQh6;f9~l_0hZ~m^qEhur0hK1UEcpc+#i?n>ax&nDfSfDqlsJNXNBi0C5o-SSLObR zi}IAXUo4@m>;%*Ne?elpHwBO%w>GFzvn7Y~Pl0-jI92|udsa2&RB`|7bp5PXM)&CU zf6J{)dO9R*D~>oAg^@ zA8@(9Ebik#Tm2)@qkahVs$aP1zje7^aJhYb%=3S=X8)u7)pGdvP_&fXZJ+_Uwbfi8 zzPcqjuTDqLBErIXmhfRj&lWtlg!pO@+#Yoy(5p58Yg7x+r#1oosuvhg+kioJ z6%eOhusvd{A-FwiOeo`q&b&>ETcbPYtQ||~66ri20;jG1LikVR{`a(M9apF9=GU4^ zKTFHxRJHcX`E*NIbLwXiZS`)+|9w)HkBa+0H?n`i758T{-zd#$!kiyddOGDPp`f!i zZS{GeM;!%v)i;1O>N`N6dKCC?Y3awoW2;{S(Gu1$1+Hw@sFx+K4kg_qbZ-Tnv2czG zs8hhnr+z25IM*eiI_C{8`k8P$wXZ{UOCVjB)KYG@n@88U?$O$ay$=igvqan{M|j^SGaN zDz`iTy4`9WqThPlv2-8N`6(c89yJccSLQ@+TD#s*qFaWpQ_yh_A=Jj1561lz(5wCt zSfd^X^85$&$*ui1^vRvzwA6iY+i+9=9|3yRmxcbAq;o>t`ngl*`Oe7xN})dW&q%?q zn3|=Y5&VM-UxM3~zT;8$7UuTD*vqYvQOu`mLGj}>1GV2gxPxi|P|u)jwFGXDS|Jp- z4Bc)mZ8t@`H%Kf!8|OUSBXe?RHm+N#6RSprkc*Id!QwuLWpDO{>q5WhQK5 zb;s=AEf`eC?XPS*6Zv9jNPTx(3TGgGvu(KUad4ikP6|FN*d#nJ*vakRMhe{Dz8jPm zW?G)>w|}?J^4tMzk`oG_Q=i`cXx-=37X*KH2Hk(^d9?0v@ZaJi{@3;S{F67y{ zx^DJKRde}{y5*kpFF$SeY7Znl`&mU>K~UpKQ8$^hV)-oyV|;K;W3!ca3v+PQX-Z7EnagpJ1`!`p7FZ3)@zQuRUe))<{lzOx8hc%=>5!wqn zZSgnz>Sk;JZo+wtC0DA34QjdI>MPqpdEJ$@4Kb|!eLnC`&kdJ9*f3XePU%r@o34Dg zVWChM`h$ig;$9)RR`7Fn_R60(u-1Olz*xT*d{I!%33=Xl<%~IZi<}P&od^~%@HNvW^B=7%$4%7WQsOx5l9S}>*->^KBGd&k+h zdxuhusWaP~=fu?cJ2qJ;3tDnaZP@W{e@tx>><1q6T)U%V4rK)%b(5q{Ok(|X$Cf$xh|pC#K&icIaL#7ypBrxrZnpT8%@$L5)^pZXFQ5m}wj-u4 zz3TOIUhs5YHG)_@h;_ts`Bf~-z*Wq7UfjC@be{Db5j-mR zJ>Yhc$#&}mIJaBxfPG_3EcRmR*H_&iIElFLm>Yv-JD<)SgqWhuUQE%JEv9IH5>qO9 zJ9xNTd)%IpeE;0-R#TE~jJs@*Ve&gQF?B(50YcYV>+Lw;%49^y|GS<3|HW)EiR4 z@Ln%%EMn5f$Gy70+?YB$9E40*JMT)Z2*=c2Deq}V)ZeBq3@?&CHR+}0!Xc!?mi&{{ zZQyxY@DIQvR?Wbdk^hE)JHt(iZfF%)c{E9%I%2(g;BUY~UEQSC4IBs_v8b`{FsW@H z_+t2o8XWj&;BN1awto%oy#wD0pHy!jcpA9b_iQ*N5<8;aJMaQR?;EIDlo9!46nEe= zihJ!Dsk@Bg4t+*(FFqrCGe^9i9|)ZFIXr8D=&N}%#u4|Lv&PjA2Y7;KM*pBXhEVi( zL7d_VP{K0?(Q_q-P3nTdk1meME@ezbK#!@dg50T$Deg(e6!#*>MOMeqK0gm>Xqmiz zkbQ)uJ}#R1xZ-LyTi2yCCZ!aU>WzbIus_7TzsJ1)IM})5q&G0syX0B#@}ccZUhrNp zv~$Vlpn-S6-7@r@8mndy_=2}EG_qt;_6Q%dmJc07thWrkb;)DaZ9-?;U^*W{tiKw1 zu5MCsk1$m8ouR*7(p2-*(5HZZ9Qyo{egE~0ihGpcZM_8C(>u1{Z0ver~$0cO?Pfg|b`U{T!$JfPkSyjFbxIHB$Z-k=TxZ-nJbK;5Js0N$cL z3%nKf83A=WY%ef(Ro?*Kr5*&{i@UA@>LZf3kEtKPeZS=Slj=use^#9UenI^lcvN`4 zCi(oPl;}Yz#Y0kxN2C;ws$YWh$5O@<68fZsJ|&^QQvZU`XVi1R=P)A-sOLpiFRMSn ztt^inP+p5A4OlGcOx)HLQ1w;-^tl#g*l5jyd!f|;3|sSoORR;!W!56#3hQj(D(gJp zT5A<>9rh9fYJ>G!;6}k#>;yvoRx7a6iUE79ZeX940B*BbM^{?g;NEHN01jCLz+r1Q zFl%LjBi3GE(b@+*U|j>e*1|zsHDSFOc!Tve;EmQhfHzsU0&lVI0N!f-74UZJ9^jqU zM}T)(9|zuReFFFq>odTQSziF&k5(IiebChn?GvI^P zlfZ|plfXx;-vA%Aeg}l*2=IjUN8po|?Fp!-EI;s9)=c0tRtWf<^(x@=)&k(mRv4)4 zr9iKJE-+x951eVQ1=ic^fphIkfQ@zwaG~7+4BK76C3Y`xnY|Ub!oCu?%1!~-+Pi@3 z?5lwr1UK3vaJSlHzz+Kjz)t&mV2^zRu+KgO+-Cm;@Jjn#z@7H(z#;qnz+wA?z^vei z{b9I^_Q!w+>?6Qy?N0+I?9T&lu#W<7w7(9#$^I7b7W+HETkS`Hx7&{a@3emkyvu$9 zc(45w@FVuGfgiJf3%uX{1Mrjf%fQdt?2lg%JZf8B$lvw>ziH0^K4{kiAF}5GAF)pZ zK5Cx{{IR_Rc*0%|e9~SCd`j?F_8PdKvDX2gvo8idZ#M&9w%dWq(+Tu?HUk5mEx?(c zD}eQ$oxr)CG_cY0df-A&9vJo%flEB&z-68{0#|t61YG605xCZKGjN^fFM%68?*VS~ z+zD*;+zssTdG?8nr{`5ZyWyVeeb}l~BVL6QSKngKF4!JuvIL0XX721T6ag0(ijpF5tDk+kq3l_XBV6 zeGqt~@58{Gd>;ee;yVJo)%R)O?Y_?g@AMr7-sSr`@Lu1yY9VuZ?j!QtXMEHf&-ths zp7&8pyzHZXP=1!w>u27E{nYtcagPZ7fdBNFkc|H<;DrAi;0=C`I5+xNz`R|+=RL}Vbt)O}yISHzlB_}fj%wc_iW6<0{0J3ciFy}W2{YG)$6kr|Q5?~$O z8ekpW9^goEXMiK-T>)y;djr&U9|=%nd@R5=bARB>S!l@tj-j6oEP?wAf#txXfrpWY zZw8o?2l14kdI(R!+dZt+gX&Q{E2w@P_!qcO1fByv8F&Hs6rLVbzY46G6;#h4w3kCDKn_7l@(V#q@@SBf{92Hb{AQ36doW0eJrty@9+f=&SmK_L zxX%gYd7->46jjT)led;>25LFGm|4q~R$t56#oXGTs&mwjW;~{rtKX^5)Gb#}t32=} z^^Ll7;eMq4T+r>%O7$+)+q6>MqwYCprFx%wFL1H?_1P=&-QWx1UL*KA#9FCZ1UCsK zp*A7(3ZYyrSWttYyh+`B&SjGFWq3+mXiz<%E~)#fT5Lb24p}d$CubkBo>q4QnX9|4 zO`snZ`eD$2Is35Cj|u%aC@boZTko^KQFmPEj|=??>jBj}`cj`-_ zpw0Ay_S0%4R11m?d|I8HyIknYg=e{hzRBL?T|MVbc8m9nIrrGi!#(yK|C5dP*bC4* zp0FQKJDOTN%=29yh8`6>A*j5hc)Uy@EbfhhU-dqqvS;2^BdOKUeN^0Eh5O{96XI4r ziR)wjH;Q|w;9Y`81(lyXVZn`pI|c6&yvNU69ToRi#eLHMl5h3AlYYuG7EnlDcjFNpS~* zl4elS43hs4C|?R43eND)Xgm}|oz6cDoZEOf_&z%WWax2F@{PwqK@AG!M3ALB8Eo=gSB*r#l2DRo?6zzJ@}3}YD6est$jePJo|X8C3!qZLy6F}zqq=W`%KCNy(EjV+~{{bNR zm(P63XD?U|`je+E7fKA2w=Rf*QUsDG1NVyyGRDpF9s*^_!b3Be@*$xg1|`1mFyamX zB_}gy_VmVLR`X8}&SGeA)=R#NPG1hn*MX!g2jz*= zW1w7fMocKNS$twf+!@gS@{9~9$Pe5m1|OO~9J(3ACVuYGd1 z3Q3xR8wGa?P6*y5cvSF&plT3)!Q~Ai;Re+2l8r)%f%2tLtbtFAfqu!-okGum0{IJn z2J}NqCxm_o?oTc~B=keVb6DJmLI35_!$LVehkfd#U~t~k>guzD^C+L-JbC&&)<_KW zcb^>-N^BmVbu7$$J}zi2qI;2GL@*^dDX7kp5(#b;+$oq6oD{rU@R;DDbI2bNObJd3 z-Ys}c@Nq#L#pH7ZBZ4WxNx{1Xj|o10E;+69h)2&So)A>4=ne~R6x=EJ_-f(5fVfET z#2UKQTH@mu5;v}+4pi%(RA*ecpF1S%}r{JPE=@G${;0Nq;>ON~<(ex;Oe~7=kJ?GS&=Dnin z4E%-hw-SG=@OJ_J*5Yp+{sP#u`^q`^28Cze9DHxVKZ!3ntOv?r4ctJle>>EZbx+m( zrp`Ni&g>Pl$Ll{>f4u&Op_8E(Lp2SrYFN?G-7wPdmkpn6_)&vz&YU?PoV&iMz3KX< z8=9VMdbTNe+O9Jj!k2{a34b#DNO;zwGZrsiylin{@sY*fSiEn^dzKtq@{J`AF8S$_ zrHpAvjz@qKXrVR0?+>?I7nY6&TCThai$SKQxT!q6E@ zNq_CqR{^gP_iam0gZn+_lRp1E;*~%Tp5@2hU@dk7XTUWR^P^dqJ=VcD8@_sA2=6cr z$juzwbTwC9qUNbMWRg(xRX)joXZe!p6Un}F7;>(xa# z^{`I8O|8c|)1_Et+Nj=xo5k-y3hzYj^ z{`?%q{hhegGP>t1BmWY?b%I^X8274WjGJH94ELDOCj}1)zF+WON#V1C4+@@G)&~A( zmoX>ya^h)%=L$vzwM?!OcTw;L!P^Co2!2)YQ9&)4d(QtBQvRgi*90FC{Dt82g7zx% z%v{A1HLaqx#uCBX{B*At`fFA(SIw(f_HJtan3r~b z<(exj+|&<^6i}A|X)i$?jV6&`$tuyl28% z0=oqZK>ru)DFoDSfR<{9glyFY#2OIfRIi=|+SuJV6O`XUPW4z@4}%hiY;Y^1U@zWh zZM7K)YaX=}?yW%Fr;7JuTWts8Zdkk}+iHhk5*pva4g_%kQna!AOdN##a6d2*wvyPl zgk3cxXJa4YLf|;Y1l;@#wAD3`kcFKI;u|3q*hT{_>{46|_w|C47&mZxFwn+3a|G@i z1mA+v+qiR$_*RT5mby{!Z798sZ=Dj~juPWWU%|hSmUXk>JJ60Sj7DAHc_(CGslODw z6{WZFo=?0DW0Zw+j>OwBR@oT2h<89LxW`!VPDlloKtKy)*%ffVU+@EvkfrVd+UjnV zg!_X)8*2wCxbGGG5aeX5`+ye4z%<++2I59#d`r|;hXwx{`+K;@Tkvmi10iff1^*Uz z3|iQOA$|hiF}2kZ!3QuBTk4ZQ8@HJi;QqAWXYnmnTYUy-slUVMY^%=!E$rEh!~J<6 zET>T$Htq-`K8>+}91X)t^ugmijZ0 z$5al%Z2{4bt+&JN0mAkPx7JyzM$m7)0~DWNzLBU$khc<1naH$ff5p&W4#~r2ElW!55Rq%bvHs+0MWaxdw?sg`#`zC`Y_z91=m=IL0Jp5 z)kW4{1J~gjJ?OK7msx)c_a@lX*w_Jj0PZfqZtGK^#I4VO(gQ?)u|5ZPFVI#A>+^8; z32wE%2+9`0ZPu4T-!6ECbqw^&1+TQe3i=Mgr1f>suL9yedE7~6tDS-a)^Sh<1=H3) zfIbAY)NbqBaPJZvw!Q;O2593>iihF8T5yl`Jy5cOIg9tM=YckMr~V1IAQ$^lu5xi!P>~i{REGLa+~!8+_wsT!1_5TcL8neSN${G z_X&R3Itj{$1V4f`C=07tPlNKe*sDVu2HNTq*1rHBfc+6#FA%L4YgTBzT)D!|*6)E| zvi<Q<#hRFf9WUZHtUrSC_k!QH{tU`@@MRwhyI&sQ!&VLOyOtmL zJ$&ED#(o%%|EfP&vp{)X@I`AjC@%ml?0ALXeo63;)*Mj&1jP5N?0LX|Js*@H5Ho1I z2{^-E0Gw%`4xDA5iO^Tsi{PFoINx3jN+ZyQRohayPXpR&fqf3#3xOEd?B#Hu0kqYb z_IYrJff&E+SHr#BJ|FI7KueuxuZH_v!BzGeP*wwR?!~?k?n?zD_C=s<6l}KFgWdwP zvAgy!5`_ft8ra&TaMPM*+b>O!l zuN6}#@TqE_wMl-xR+ssWo8QgqR|xl737pL3Z@&u6rw*BvaE0@7UtH~h_PNIXuKZqS zpOoM0ZQli?Puge5@0;w`%I}-)KKXsCy%)b0c0C_m?^O|Nj^}CoDr=tSIr*LMd1*bS zKvt8-`&uvf7I@~#@9Cbi@awa#@#uWNOMaDgo9FDs;CQKb0#Pvg zDgVcdD3IUMf6yTkTuD1nMXObRuA<@V2353LwZ`uxj{K@$q!soGnG2;tyOdgmP`Wq3 z&ABn%1-OqIH}3)nU|z-|^+v^`t^$icG zv+&o7zg_sd5q}@$D>E|Nl^+_*rY})j^*5;7@}qkSk@RSOhJ$mni(htqCv^uP!{HC_(x!&m4> z%ifN0e8M}M$+;3R`AUprGex(%E1erFN9@8!zB9Q(bx~XQLlosAB+{wT!C^{;((B0# z7RN@@(?sh{7vu}#C;+~Sp5J4h+%uZr4gNxNYE&hP_!xLW;Q@Wl2g}>CDHPdFK?L(r za*`AHh`DOcj*T{_htU*V&QeU>L?T6enss2Tm^RhenHorERbn`WPnerlqCI^OnCgkg zy8Eh&uIoj$x5gB{nBAO3`%)eFp!yr|nfO$;CzV5z?b%eJ(2>p}ld1zXlTEYnbmjL+ z-5OGJYVhjaqxmu9IF3)sXH(-Q50b6)P-}*tj2}h2kl!BjiTHxr!tb%;qw4xueWU60 zmJH4rLlS7f&X?q)2L{u+;qx>0$U`UU-?TM+o|bvX*S=MAtgkE56YFk^Lnh_}@l2^J zl|!2xb&6jOTTiEU(l8FR14HDCAbr?WJpW=X2;r>_SdEz!Ul+$#_p+ERLgHI#FSD zyGz{CD%!K9wo>i@E%?Iy0IJi~CtC8kU76i3f^LiDINkYTW*4ealv9~(v_V0|az&>= zZQ0Don%15?bilYP#n>P;OKV>r@}JPZ3G)ziL{~#buN%ukqv&5%Y8j1x??@s&x-T;bt&m9VO6&gQaGC~YzRg~d zsg)+oJh9YByC4k6y-;jTXVbf(ZB%4rBs;EF4i@wH`uteBIh8|WrYw?bceSiB8^&M}d4ZNvtq4;+`AiNKO|>e{ zHgUI=`Bajn?PzT&Ihv`*3TOw2*pnI>V)`xlECfnUHjh+MH_n#PG-SRtQygYjQrfHf zM}}Av+Si@l&$OABc#f`?Y&wbo&{;zb7@C+9Q=~oTNguTTi6BHQJh_rta;EP+>_xTRh$u?Gx{t@ZEcT|&>Zh=MH(G_eZ7(Hgkfw>AZAw=p4u7f z-h?lqClfuLvA*Vh=$meOTcd3il$Ne!BHGuD?5Jk#PISbgovo@_0%BbeJk1GVQZnc? zw{$aFYj3=#HNF*@k05>&@!Mj(i9QvTxGnwB=16xp^4QW$?y^78rxS;)RNod8sc(xA zquU@p$Sl#fy)%l?u4H?(ubPPTBK>{wL<@w3qH-YIl1O&PJ2XXn5F>e}klG@x(O7r9 zABnPd;t7YhHQwLc8Ex)wYeSaXw{|9V7CMmyT`aorTqiS~u|(gNSahqyCiT|V-`Uw4 z-4>cr~TVtq1 z$!kkrr$lBnQ1P#v3<`y&+g>KLMz?guTcc%yBc(`B4-;rZKQ0IM#kyRqEs^e)XeXmf zp4qf}6R0sn>x!ekoTNx->4AbZyM>{UX;-YfE3!?RFbE>Z7&`_${H>Hv zH|nCbvmGU6c%mmB??e+q_tQ1XT8lwI4D5e)*;n#y*%aO07k9!?&fc<5 znuxAVWRG%?XGQxu;(drl59no&R41O??qnMpi0Y`6I=yIu-R+F3tE&e+msLD15$zp} zJ@KvRhj6sSd$zYm`Xb^M$zK-l@9josK_E0&tWEM1>+b3A>qMHm)_SAJ7jzMLri75x z*AnTKr*uR+rMgjTrqKymC##jVJeOL1TVGeSyPsa^^6mnZ2|DwwF=*MycAXW*fW#c} zK)#N%yQSQLyIWjc7y*&a7N-MuqYC$w!lsa2?i@Rar5o{W!Rd%;XQ*?AecT1-p z1gNi>p%S5A%3t!fHg~pkZqgjRQ==Gy6U7O4Md_Lv#Sok*PIxH_T9nqV$P?U7_Tbb} zAVO&ctC$3PD661 z*B$F?jYT@+(!jyX@mHD&wOPqW9U?_>1|*btiy5xqgt{uVFUQ>z@6qLA!!u(FSm|?$ z$r(X!tW~RSM+0^x+MDCsm<5LtZPmKh@pJH+!qVI)4a4C;TXH9$Guo^x!{MRkiHRbU z##XAxil#TE;Tf+kmlIZM4o;IYt+b-SIbkJcr!g7kil*j-m6@rTohBd|+}aV1iW1S2 zr?M&$nNrA|@woJk=r&z9j-P6{qzht~8!grn>FI;UMa^LBk_Ld@XTn6AHTTBRh)pZR z02FI+4Juu&v9dCN$E6M6b9Z!jd!Y>Cy)yj3$Lz4K;N(!!WyXDY`(nCbz=`L!VCrM| zsDUEAm^tcE7U57I@(_muYRW01$b-tr(I%9K+s}z$8y+Ro3Z&H=Z9@(_ocL(?G6B>| zlsO=!EN}XdAIx8*I<&XcH94hn;*|SOm@;Vvg+<_9{%rTM94Vf22xQlveLzc+eD}1Fey>P|XR=unmYn9j8l7}H! zec&20-;();&NtyHqzw*#)!XWZO3tcqC!(t4lO>c`K~}8OL-NS7Z$rshm0T&rB%s&0 zODUARNWyVXlZF!{iS%I&y&yTzE=mN8VpzVx>P1lkT;2`BRF&q2GD}sMPPWV-PwgMg zO49t@0H}(^fU!b4!{xlp9xS`+Wv3XOT3+IkZpa(GoxWlSw6Nt^ACi(3&ag~?+}9#+ zjFZ$@L2oK$vEL(Xu|oG4_v;Grv0?!m9?qUqU!HY{CK4$)3yPOxF<40+^i%mHlXOM0 zCdr}nt`ydK`!Yo=NE=TqS168-4a%asAxVos_cvbGW>i<|fI~&D_Ku~~iIFrkkm1w{ z&++MQh~CDP`}Alom1T#5Cj*HN@5e5WE!@(*isso*rqEHQ<;v= zR9y5@VW;qy=u`O}IZWku=u`N$h^8=?<)#~KX=`0~tSTbYjAXIVp?CN7mPJ-?`Z4KK zg)tsBaoC>B-mQMXRN6Fr+*-+x6-(M+N)&f6V^bfw>nxTt)x+$aGLSK21$RfRoZw9t z;yle&hteGQ5I2o{T9D4Zs@OBQ)I=qn{7!f1O;fo0(tUY7VU|dz3}j3hO8W8~RytGT z5S&D*rjoZiZ#3Ri?KN!xW1zyD(`b>IJ=jgtv)?JC1gD?eE9Ul?YOnB_ZA~g4Y|%lf z6;`&Vu{W6+RGY`rV`U&w9q@ z&|C$o45+9`8lhlomkQjB0@~w>4ZD?n8QE1u!Swvnu)=RfQFmp#CzEFTZ%Af^ddfM3 zyIf=v>3H3l=j74tH>_?_sehIys8dKL(iEyGg)>EUc@4jd!dbs$SsW%@+}Lx*urrQ| zXI9HT!&4@>1X#{!712biqNDxjS&ey++i&8yN!3-#+*MOe)an4*B}j?HVc5j26^SFY zvd{3833{M(`Y{^Bpc>Q`6PW8Fv$UOH+ci$Si(wL1HJ#m19&e`!D-EX8gvoSDH>N$A1wv7Fkj8U3u>Y~Ch3`SoSQ%<*FjT&;xk%m!~lf`MIM5~1ADc)2W zz>tA6J8h*VxzsZ-_vDD8=fuc)hDUPXk}7a46`WgNIs|Mth7rs)^*y}s8BLhbnFyqvZ$$g9VDrr zgqJofUW}T-L`+#s2yH&lieTGf2rzHKLxqqr`E>C(q-nUsTqfx-NZGUylSNu^s(4Nh zd#0D`K?V{qrbEuy$cPR}8|IK#awD!=Eu@fszRp3iRa{DQzJO!M7pR8$MtPy&G>rLyGGN6Vd+t@`Afrm zY;de#)K&sUdwTgMo@>wRAoPlcRb-upo2*mYlpdEktQg_xU?!ggy`KwWj%Bn|N999>ubguiZ>eOO=GI_I{n%*& zs&ZcuO+s}c5;{{wQ_fIC}o~< zSefQ<@!`1ak^_bG0*5Xh2_!f@z$FHnoln!!UDQ&e9WNBqdsbqN-&nFcF2`aTO;oz;@&y7w?7VFRwC(?JB|6`-bW%jOD7x@6Z0FREB;v}R} z#HJNtdg4+(Ghh}A7;*rUx}i3heWHend33fk&s<=k9)T#K<}BHSS5U=Hd&t;nyV>z- z4hwOta-`E&SHytjb9QVfjpya}NFYsd`C6FC>Bd68&bo?^qy{s^akV8=$k4=Elgk;5 z=U~J`Q@KKh z3ldPUsRL$l!?2Nsm5U|V>G@i>c5RKoY)J2Q!>j?eGBg=%RXU^%8{KPKv0vI5YuRpS zFoVLTczkQJCmP*kXwhvgo&7Y5ZR?F=kDUQYIfSB;IV{r`j7>32h~)@I`E6SVh(2JO zceWR#MdMZ2S)HeT(FZil)*5)H(j>&J8!@dZ;jR^>=|kczoefu}b>dDo%lr-{$*Cfy8LlX19CJ7rX9@|sRXp=i&XYa^QqGgxZGO4KBG|FdZv2}r>jSZaA9J)#fVOQ>pG$$yKVw zM7f&WwNMsxg;?2BOUEBdYQfdXT?(MwZ?tOz`KzXS8+43nx_f~8-Yrq`RF#=+o<3SM2`HOVu19z$|lg)BqG`tBMj6$;;D-7dhfo})q zq>_&299!yb5o@eOud#ZCgT|HkiFL!KtB)=*kyhRDKDdQjJ2e?Lm+euZic8zh_C#R& z2_rB3mIx+296T_t=1y1$b;EpJZH4)5R9xNht{9E;^#MF(EdH81`$Qhtt8}+e^Zp+h z!c+kVU4~#g;E)RDAYT$^ig@ZRCx_&u|MgZ-*sUrll|DU4vMV{~6rHqmNV$JVe?i@0 z@4=i8O%_M>IT)41LB1lEfRuh2DIHkdg>?1n6;oGbFW!;Lp4R;Soc8KI$u{fOwT^p( zaa6T2haovsd1zAPG36koXy2(cC!%ime7@l*cZmu@vdCACsi{=3v|tRtT26BsqqF3r zBVWYCNX`vO9^8ICp62&cHR~NeuDNNSGm&w&LfrAnTxJw;j?m%koUDrJ>12gZ-auev zkxuPFZL&eJEIBNE>iK>*T#`X?B+^Cs73hH3yPTTDsUc&yr*qXBYfhjCa`HEjks);; zqnAzxGG_Uq_c&d^eB!(LyQBN?Nj_M z*-@-;4j}}t7?%DB2KFFLtjQIUqq_$%CrwvU+Hq_ad2}~McIeyF=asHkmTyHeN%0+c2kjz)MI%z!BjWOxG12WucxYGIYo?D)?ViIMh zujDI9q0CX3o}4UTGMY}{jX&#px7TyW#PmT-=@daSoQNPZFw7h0@&cv_=KZZyv8ZTh z51i{SWwYD^N@2RLr0Pp-<Mxj;ZpP`9Rv zDa9Qbv6V-Ze3E#{Cu}V#eaVEw==dF0$Dc?SrL_92y%w7`Sl=)uyH#_#3Mq+asvxGM zps(L>O4CuwFkMc5Hn`rts-9>9sa&hVXslXZ{lg9>=i){P+9%t^dKIn4hBr>*8XS=4(8SgBy5Uk+9HLf) z;i|K{KT>#uk%id14tL>QT;zoSal4EWK{CUV8Z5)$DqF$5UdRT5%$#Bqu$8a$w<$9=7BW*Icu zvArkS%TxC_P!1{%g(N$8$|}hd{!>V$^Z#v0y*{ds4<_}&;!fwH0G*0CLYS;fyMl_d zRB~8Y9;45-;{Y@77)VBNLfl2hx@+@x-U1Nm$4e_Sinr)k8%~Gu6lAikGt!PD%h8ri zSl4AJPgo~=dgJXl&xJb&a15$M?TYl`JP}UFObx}+)y`(TJ16ytM@DdtS>kjJOSc7w zb>ikIuq4>q*O|n5S)9rjFN$NbnCy+T#^OnHfdP|(jFQdKBu@IsK{sZz+nj^f?(WEz zSUXMuX`hanL~k@@>Mqw*1=Y!Hw{w)|^2yFPf%6$h4>5aU$@>BE212BEs9 zk7FKO3dEsu9P;bK(JP!lEN9m(Ga>7(0(UVCrHWIR*DXXzpuY!av~U7z>hoACQ^g3w zEeCAHJi>)Dh^?;DoA`3@x--9@npkyUz9SB!m3YSv-%<2Czwtx{xboq)655&?l|wKI zyqI8^7#thL9JfR?e!XwzgeJxYaS;x8#WlA%!Bgp#x7|t-?s^%Q3sq#$r3Q=QY=hoo z7?iti)ZnNd6XDS7mMTL&?Uu#65#uq7cp2BKWrka6 z%9IvTM|R~nhVoI4V&r8;(h&3|4D{(cO3MC3M+67Fr~3P#IVG|Vj<>a;R)wJB%Q1K+ zhXZz<+j*1|szSosvA0wTg+>%L!+t0iYILLF!;!#V6;8p@$wQ{G?tUBzl_6Kg7IWav zadS%K9{tn?6H+y&z!5h0Xk;v@tJs``D-uPk8pYVX8?OO+EnkP4p(=`(+i|(W2g^2X za@QEMg}q7mof(p$#0#LAd%Db;2lz_wO0u2Wmdao$KtISGsNcw@gzAyLi#Ew3BzVxg6keHc>s?w#D{a`8Uwrd2F)!!~lhlx0&BaCA zf~*STvf|yaKESjuYgQ#xfz!q!x?#uApc>HkInj#+SuCev&qNM2nTwtV#oTQd7A2f} zopxjTDHB1M(Boa4iC{5M#mCCmt--{XtNILr)jIAl&Z;clA^_RE!t1W=mKD@6&fcjm zFkr4Zl%|@(+qIm0#iT1SHULG^&6OwZi{WNFym}4DMT_i$Vx559FC6t8!^ujydJK0h zbJ0A)ef%s>vteNcC*7!b%{e!;O6P@ZQ1<-wC0N=m<;u9`rbU^);w@4vK=rc=Dg%Nt zuYV}2Yu>xd$se?1=_u@QssJOQfqZIoNSiKY3Qm{ILGJp*2r6ms7$)e2Xg0l1FXE<+ zjYB~Wqv`7!!M020lUPB=JAP(}vPK5XJYJNr;uPJrOelW6BB(}&OC24$y23M3%(>Pv zMvOH8YA7{Y7*1s)h4L#+e-2irDO_qM!$mn2H6jumajhecAUa+XuwE!<8qeJXLk8D59VE5@oIi@<81G5wgb(l;#j z4QK*1y3jAfYQJ2Hs?x^5#I{pC7%t+y0OQ`Vx&+=?-|IB%bH1<(IKPB4dQ?@YqvU33ukOp zy7qLz(3rXL>Hu`fA)I5a4rs}bjEi=w4#KX}P#P`ORTw9a#!##r2ZOMzyJpj6TKiaL zsO)p18ktoGU=1`~6=m^af5#(_cYq9!%NllQdp!xa%ak=!H*;FGNf(B$w zy8JLM2oB^A=ndI2S%zxeL$MLUg-qxsXA6N7$;>Oq33hBB(l6fsjVPsK<6;)EpQB&eZ!-99D_7^8_Kbx zmo>B7Rr$Ks@I<`2z?`!`mr?l<9(RRNG0u2LVBj}s!dS!ToR}&1q?*p+nBXw7EzZf3cHU^_Xw<^s9jdh9@vN>JQ-QLH(In=dI-nTAl% zx}ne&D>!eaGRc(YM)Qc>T*zii`Y`*tYR)tIlc2-xj{h%nmVgmJIb zvMhpAFe6Um)RSOL-uT$9(9pP5voDX7P-`UVZPD^HRZB`+*OUvY{hN53vyRH)DpkZC zt#U~#d#st`a5dxJk!S%Mgu*9W!gU2GUB2VwK!EELxUA;zEstGg;|? zobfPS(ZPgrw>Hx*ecwfVR1YZRoe~kpC(woUCZnX)na=IT)dFS?MB8_TYSEe(juwn1 zB34~*+Pai27Lzc(vtY*oYf#M)zL*D;+q+RAjNh8yv(nLfP)nE=Q}HpR%&v#$^e8qz zI9yZ);ur|F+_0f%Mg?cSAq6OT+S87?S9Baaos z!LUuYOw;KTG_23C+O);?#s4f zZapE?lBN(JjK!!m#4X#MltD@D$s0Qq`JkBg2$Qp2L_Y17vg$!d-bu^WpzddD^D|yM z4Z|&37Gm;PQEYwHbsH?FV06#a*)ffm%b6S#F@ko%PzbXC<3oA(!7vx&Ax9nzh?sb4 zahAeKf9#W_+C?OcEI&%};!(M=fEV{Z8Wx~Ro!j!~aFpi@pWiwAR&DDv^ zw5E`lAM9|8>5Nll(oit?pikhz`U$1^HM@OzPP$TeqjKNUeoVSzB}QER9aArpwPB@>SLkhi^?a0}QF1*C?j9clsx*|#% z1=UrQ8M7*DFx|?XRHa+Vv#?y}HuBKXqPcyU(Y!Va$IVN8=gaNZDpT?jPng#w1q-<% zha0SCF%yoLC!EFhgG9Gm3`2xf%s)5{)I$xI&8FH;z`vCorH?Lbb<`WGQd^fA(dc^B zWu)OLdKQ$prV5KuiOf!?p6i)TsCyU}p$3atqw(-a(-F)t;k?tq1P%QHyRlj+xJL+G ziUOOh{>W5%qJWEP1X@~%U4LX)X&VzPhsV#^Tg_C<^-9Z zCA|`3IoHm|QC!^kmd%yd*WA2$_mWFxWk628RwG>9WOl1VFHE2~~xbi|7M7uzq z6Vs)~c7+82@KLf%r83Q3$W0!34VP*@j9O0P-_=ZW^K@ylrUsGT7;;vf%YP%qi(2qJ z%7M>iZR|lhl&`z4C;`^fe*9AI$Vp^BB$G#(3+Q*OJxU8x4v{9)E7vPSuyj48?Wka> zkIZU87-nEd1MO^nv;49wSpGrGapVg&937rOSx4}X zWo0V{&uYz6-I_Opmr}rD2hwDZ(>-0SIaQ2)q>LMMB;_e_PSEX}TFf3@A?{ zQmJo5I#%P9Kz#$lHn zfneBccvvQIhr)HWCSGVVToYEH`5+AZKu7_~CE)eJSF?;kkQZ|j=985d->Bn<@%R;C zO4K4Yi6D+sS9 zypDi`m3JfKKEvekojc`y4WS+n_0}-JN8o4ly!aBc^5WBY$~&8Y_{z&~(s}0)<`VEk zbCSeibEW%>K62jSpa|p`_=Mv5%tRTFa0Ntg$ z=Mz>DRue8DtRY-PSWk!$+6e804#H)GO@wYj4`DN*myjUz5&8+&5UwR$M|dOQdcp)@ zl5mjlCc+JbHxu4Mcq`#9!rg=q67C_~OSq5lA;O0VA0Zqjpz=|J1e@R?u$g*m2tIIor217QwfE@2*lpK$cfC!9$L6BZFJAgm#*C0s~&4dEifIs!h6i3|}u z1ojqh4Z%n769R-Fp_Wij2oV|xa|m+@^9ZjZG!mK!VZtK9S%k%eC4{AfvkB)AmJyZ{ zRuNVcE+DKStR+km4ier(xPkCy!dnQp5Z+0+oA5!xJp_EU8>J-J1P_7T(OX0C5&VPz zAxNkt%plAp%p%kgW)tcOAwmOTKB1AYjgTZv5Z*z!h42Bw3Bu!q|3!F$@Fd~qgkKQ; zneY?=|L~DYZ=f+42;jG|5t>T>Ha42yI-l}bpw}on&=`Ox&{#)hZQDK@s>h}}s)fJS z_SM2)>-9BEytyWL5-@Jy2cUldtwTNS!HH_XW5pUBG zZxhcQ+H;2PrD_}}V%90d?}3;Q0&fjQ zq`EpER5~aDJXiu|gln`zIH1Vau~_(FRvIP0Ky`X(8|nCgjDr+*5ZT;Grk%pHljC1# zatVe?3mIG@lDyk$SSaEH+Lmn-13(D0Qz#ff8Yb@3g1pZW{<5<0mpQa`W!gH2wzf=L z>(Ew|X)7Gssxoa=AY9Yf7;I{6q-?`12TRv5*@-*=8&R3~X_)2pp{TYmh-#xOfQ@jn z_{&gycz2rWU1omQncubMcZK;~HPij(<9!Y~2(yaS`0HZX4?~LA!81nB$3-$t6zX*% z)a&4E7!&H4o`N({%nKVPjxZ0`0d&kyG5Y6f6k6J+1V4w?f<~`NZ>|YQ0P%C;M$bS^ z)ag3wVP_8n*`*rm8zvs|DhoXk{S5BC%YFMN+2nXs{&+=!Sd zCX}4P!v>;{Kjdl1GHMJFVQXn*Os|XRZ$(;;sq_S$1rZ#aavi=~) z)88oX->VxrnD4?U;Aw^M@WzG#G^D)WQb##Pe4f*ZXP}&GUsB$fx*RUN278;K1-t|5 z&s3Ibg0NAS=KGMl)i5j6!RmB=(MBFKZRKG~=6(^w{aP~jOX=W&Mrc?cWVDH&geD#r zT^kggYd7L|rt+algeD#gqCwa`ANxy9Ei?wEvU_VddBmKN4)lr|3NIZ{Hd;-?EU0Zd z8XI*xd;IgS?{#|w_* zdB^dx<9Nw&{J}UH6xt~|VqGA>HiW;8d{8T3;wHKvN)I|Qqyeqo!-g^0LwXNdM;%%R zMn{f)HGJWtBdUM8_|q`C;|xnRRjoi`DO`VhTA@WY>IfPAv!~rs%~(7wg!7|eEW8)O z*!mB{^fXNKOn6eoaHbHZiDwqa)P}O188juy z!9gKwoAKzG>=>Lwc>EaC{1!EzA8(J1=(IL!mSYMudFZ;JA44Ej6m?W!q0eul2RvAV z#3pan1-%&oR$z`l(AY3}2ZY!V0DFM1qX=k}nb^Wc8$Ae}XQ8F$SINZe*r?T(T464Q zOY6dC_(hD$5>qAvVg!nkHe2fADv9Yxrx2Hp>Jk=&gZ2=y)Q0MWAktHby(*nfOSM;| zuzwhqZRyc)W|yuGpC>JWEVdCZ)P>Pcu z*Z)R4`ZMqi_A^wl)|qY2_j}B|vGRvXVBs9aN^V#hO4a(ksB389(B4;DYFT^` zrwR&Tx#I7X@v*U*xEqj z#RF1>LVhqK1!Xg3bH--ZSVeQj)4D9xfz21w@ZF5nwK*`Zvx%)0c7&Gc=6~*~byJL|WJoesTB?ktaMA${d=Kx@ zkv0kI*wi>0b{HlbS#$-AH$w%CMaBKN2&O#b$ryy8E)8oUc9-0ct3`+9umMM>QRz)+ z;aGO$%eYc~mWoe1&a-E6aD&y0j#j|ztU^DUWOdi9=zo}mAn~H5^8dA@D?9Hn4jf3S zU^|J>Bv%g*f67D8=*5y-z@K5)5N*361(^?D}cQ_j3|bjz~-?`78g+YjZ(#2 z1rxi4Sg}zJ2j@`_)Ztg=FQ0;MVI9^GprrWnV1*8z4lz=bVc?yICD?^kQ$bi*?8ZiX zp&14_9C<@K5jn8TQj04DLs`36!*Uo1g~8<2T8J4=|Ke9l`8+WV!{!ZO|P5;*0*QsLz>|tDg=qPqM)y>Drg_=g{hEMn&S~G zbu8^WuYAr^SH$U-YBb5}V>RqMBbfuZj0um}Tiwyc^5efjpL;J{5x!6P-B14JtL-9$hWB)RI$GlXRYfWD%J=*HTMgkrStZdCw(SSu|||S}Gbgs{W_O zOAqZ56K^Xx{?gw=rhy@57u!!R|?xGraZx~{nLT?jjFA^ zEE3=dIhD|!@cvA3Sif%SD?X7DTe#feSyEGBtS?Zpnlw{koQL8&VA4{T_u&Ehi8?oV z;ml$F2LpLwl&8uYt$qYYPssuX*D2}3X0nu9q>sS@3#JDwRhYIKdT@yxrs~s${U2x~ zO3mb!#!SqrLkE}FZ~zM(e6?QCIe4KTyC&Chy_PfYgBN3i9s|L3u77(Q4z9;rQp3_l zVVQVyXs>pBF_fC&_ckoWjuE&1FSAs%Vgz$m2Pkl7)_|Ec>W$Ys%F<3Q9KnYW!@GIE zP#ET=yHKAHm%K3@G@`lRZ%#&(v5e37+z&Tz+k2My7-!P@Zz8@!0DmAukr^Q zX5knAy9YEGzqQ4}!Ty=D&C@W3h%>oR6xst@f(E}Ig~k7&J$fY}wD%lKorU2>*E6kG zoxyNOU&|=%5m|mM2C7w61C^NcrH9NViswzaT+s~Ai!F5qA0cDGDUv_mQsjG9NOBj*q z-b0v7+4c6qumlt&y*fV>##Qcc~Rz1&-gbJp(yhIe>CAz2a&t1mYUV z;rviIhjW>z{864^hoF%F>Hx-@?yCV2O*i(;JpYVP3JYFn{LuA7OR3da;KopPERhP@%Oj0(g4VVGq@qmqUvvk#P-g}HOjiRdnv zbg;cxV`(@z&e?Fo!RzWso7@q^1R6j1pOwCFA=j4j13pm&>_WP%F`Jmqy^!r1pMy~&2Qy^}s z%h-*y!om4b94z|Z?VZn06G0TmXO#pK4IxB4c-n*B+NLc_ZH@6qQV1l3Dm1{M3AWG{ zuxLZ0Ub*Rk81=--c;)87s|oS1@nZZ3{Pp?H>@LtYpeIaZn(c09XWqPhv-|eVo9~;- zNw~hky8}laCZ&|qs=AXUwvLw;l9A3UZ{fbi1G=gI>W~T1geVR>XETR_4PBzOy1!=Q zCwXH4IVTQG3tqQmIUQ$Y9cGuJpg7W?vY%V?S}UBnr{6~M+jo>)tVbE3R@O7gKD9yy zL)F23xY-sY-|}=}kcn$t-I|Rb(lDp5649asPKn44S+sY}A?&j3bRw_Z73v34?RN8{ zzgRuOuT>Ru4zCNIc`%It5pBYDg3emqXVo5JJeVTTK=xqJ8@*^)kwBwCyCi|%(7&!g zmf44^so9Bg915L?{AbS?>v^U;bU8ky#~hnh5og1yBCw`fOE1f44OLZw^w z6$0%mVeqX_Uj^x&BB}OjP3HkZmjizp02x4Rn_@* z-S~HVE1%_@k_31zX&H#(_E84h_>YIGCtu~J*p}Y<0ukN{RCUhYKK_m-(JBa~w^Z z5-8zi_OoDbOSb5zfp0%?_243M_f@pN6A~I=@4OIU2D>7g2UVf5CoOK+Vc#2|j+L$% z)hcsV$nFkEUx&LFI@+ZV13M7)EdH7$Qpj)ip|obpq=~+8pTN{OGUgW03J;XMLsdJR zy=>9L*yDat4r+VG){VF>T7>oroC;|lA-GlUPiUo?T=!zW7c7=qQ3cU;W$4^0k3)LP`I++&DnZU~SD2;9j ucgr_#>)hjx>%g-jNm@w6=T4Qh4|=A%p4vOL^qP?ljc*Gie3t$@3H$~)UA~_H literal 96768 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 z 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 literal 220672 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 U9B9sg<{W6wf#w|eb?3l;0AE)vUjP6A diff --git a/Lib/WindowsFormsAero.xml b/Lib/WindowsFormsAero.xml index b683480..17ac4eb 100644 --- a/Lib/WindowsFormsAero.xml +++ b/Lib/WindowsFormsAero.xml @@ -4,135 +4,114 @@ WindowsFormsAero + + + Base form class that automatically sets its font according to the Windows UX guidelines. + + + + + Constructs a new Aero styled form. + + + + Common Task Dialog buttons. OK is the default button. + + + Stores a Task Dialog message that will be sent to a dialog in order to update its state. + + + Simple int, int message. + + + Simple int, bool message. + + + Simple bool, bool message. + + + Simple bool, int message. + + + Simple int, long (hi word and lo word) message. + + + Text updating message. + The string will be marshaled: the Message must be correctly disposed after use. + + + Navigation message. + The config structure will be marshaled: must be correctly disposed after use. + + + Text values that can be updated. + Control style and notification constants - - Gets or sets the cue text that is displayed on the TextBox control. + + Occurs when the split label is clicked. - - Gets or sets whether the Cue text should be displyed even when the control has keybord focus. - If true, the Cue text will disappear as soon as the user starts typing. + + Occurs when the split label is clicked, but before the associated + context menu is displayed by the control. - - A standard WinForms text box presenting the common Vista "search" interface. - Reacts on user input by raising "SearchStarted" events. + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. - - Puts the focus on the text box and moves the caret to the end of the text, without selecting it. + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. Exposed for backward compatibility. - - - Clean up any resources being used. - - true if managed resources should be disposed; otherwise, false. + + Provides data for the clicking of split buttons and the opening + of context menus. - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - + + Represents the bounding box of the clicked button. + A menu should be opened, with top-left coordinates in the left-bottom point of + the rectangle and with width equal (or greater) than the width of the rectangle. - + + Set to true if you want to prevent the menu from opening. + + + Margins structure for the Glass Sheet effect. + + - Raised when the Text of the search box has changed. + Returns whether a point in client coordinates is outside the margins defined by this instance. + Point in client coordinates. - + - Raised after an interval after the last user input. + Gets the margins value as a padding instance. + - + - Raised when the user clicks on the X to cancel the search. + Gets a static readonly 0-pixel margin. + This margin returns true on the IsNull property. - - Gets or sets the background Color of the button when the mouse hovers on it. - - - Gets or sets the ForeColor of the control when the search box is active. - - - Gets or sets the BackColor of the control when the search box is active. - - - Gets or sets the ForeColor of the control when the search box is inactive. - - - Gets or sets the BackColor of the control when the search box is inactive. - - - Temporary ForeColor property of the control. You should use InactiveForeColor and ActiveForeColor instead. - - - Temporary BackColor property of the control. You should use InactiveBackColor and ActiveBackColor instead. - - - Gets or sets the text that is shown on top of the text box when the user hasn't entered any text. - - - Gets or sets the font used in the search text box. - Equals to the Font property. - - - Gets or sets the font used to write the "inactivity label" on top of the control when the user hasn't entered any text. - - + - Overall Font property of the control. - Property changes are forwarded to the ActiveFont and InactiveFont property. + Gets whether this margin represents a negative measure on each side. + + Used to specify non-existing margins on glass frames. + - - Returns true if the user entered some text in the search textbox. - - + - Gets or sets the delay in milliseconds between when the text is edited - and the search event is raised. + Gets whether this margin measures 0 pixels on each side. - - - Gets or sets whether the control raises a SearchStarted event after user input. - - - - - Gets or sets whether the control raises a SearchStarted event when the user hits the Enter key. - - - - Class that aggregates the results of an "indirect" Task Dialog. - - - Results returned by Task Dialogs when closed by the user. - - - Direct Task Dialog call. - - - Indirect Task Dialog call. Allows complex dialogs with interaction logic (via callback). - - - The Task Dialog config structure. - - - Flags used in TaskDialogConfig struct. - From CommCtrl.h. - - - Notifications returned by Task Dialogs to the callback. - From CommCtrl.h. - - - Messages that can be sent to Task Dialogs. - From CommCtrl.h. - Displays a dialog box that can contain text, icons, buttons, command links, radio buttons and/or a progress bar. @@ -414,224 +393,134 @@ Occurs when the user clicks on the expand button of the dialog, before the dialog is expanded. - + + A standard WinForms text box presenting the common Vista "search" interface. + Reacts on user input by raising "SearchStarted" events. + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + Puts the focus on the text box and moves the caret to the end of the text, without selecting it. + + + + Raised when the Text of the search box has changed. + + + + + Raised after an interval after the last user input. + + + + + Raised when the user clicks on the X to cancel the search. + + + + Gets or sets the background Color of the button when the mouse hovers on it. + + + Gets or sets the ForeColor of the control when the search box is active. + + + Gets or sets the BackColor of the control when the search box is active. + + + Gets or sets the ForeColor of the control when the search box is inactive. + + + Gets or sets the BackColor of the control when the search box is inactive. + + + Temporary ForeColor property of the control. You should use InactiveForeColor and ActiveForeColor instead. + + + Temporary BackColor property of the control. You should use InactiveBackColor and ActiveBackColor instead. + + + Gets or sets the text that is shown on top of the text box when the user hasn't entered any text. + + + Gets or sets the font used in the search text box. + Equals to the Font property. + + + Gets or sets the font used to write the "inactivity label" on top of the control when the user hasn't entered any text. + + + + Overall Font property of the control. + Property changes are forwarded to the ActiveFont and InactiveFont property. + + + + Returns true if the user entered some text in the search textbox. + + + + Gets or sets the delay in milliseconds between when the text is edited + and the search event is raised. + + + + + Gets or sets whether the control raises a SearchStarted event after user input. + + + + + Gets or sets whether the control raises a SearchStarted event when the user hits the Enter key. + + + A strongly-typed resource class, for looking up localized strings, etc. - + Returns the cached ResourceManager instance used by this class. - + Overrides the current thread's CurrentUICulture property for all resource lookups using this strongly typed resource class. - - - Looks up a localized string similar to Common Controls library version 6.0 not loaded. Must run on Vista and must provide a manifest.. - + + Represents a custom button shown on a Task Dialog. - - - Looks up a localized string similar to Desktop composition is not enabled.. - + + Instantiates a new custom button with an ID and a text. + Unique ID that will be returned by the Task Dialog if the button is clicked. + Use values greater than 8 to prevent conflicts with common buttons. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. - - - Looks up a localized string similar to Desktop composition is not supported by operating system.. - + + Instantiates a new custom button with an ID and a text. + Common ID that will be returned by the Task Dialog if the button is clicked. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. - - - Looks up a localized string similar to Unable to get thumbnail's original size.. - + + Unique ID that will be returned by the Task Dialog if the button is clicked. - - - Looks up a localized string similar to Unable to update thumbnail properties.. - - - - - Looks up a localized string similar to Source and target windows cannot be the same.. - - - - - Looks up a localized string similar to Native call to {0} failed.. - - - - - Looks up a localized string similar to Failed to create TaskDialog.. - - - - - Static class providing information about the current support for Vista-only features. - - - - - Gets whether the running operating system is Windows Vista or a more recent version. - - - - - Gets whether the running operating system is Windows Seven or a more recent version. - - - - Is true if the DWM composition engine is currently enabled. - - - - A vertical panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. - - - This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also - I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. - - - - - Constructor - - - We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will - be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls - to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black - box). This should help to isolate the developer from having to research this. - - To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. - - - - - - When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of - the control so that it fits our theme by default. The developer can still change this as they desire after it's added. - - - - - - The actual painting of the background of our control. - - - - The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. - - - - - This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this - control on top of the glass surface of an Aero form. - - - - - - Handles incoming Windows Messages. - - - - On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on - the form. This has a little extra overhead but also provides the ability to lay this control directly on the - glass and have it rendered correctly. - - - - - Whether or not the control needs to be rendered on the Glass surface. - - - This is false by default, it should only be toggled to true if the control needs to lay directly on - the glass surface of the form. - - - - Stores a Task Dialog message that will be sent to a dialog in order to update its state. - - - Simple int, int message. - - - Simple int, bool message. - - - Simple bool, bool message. - - - Simple bool, int message. - - - Simple int, long (hi word and lo word) message. - - - Text updating message. - The string will be marshaled: the Message must be correctly disposed after use. - - - Navigation message. - The config structure will be marshaled: must be correctly disposed after use. - - - Text values that can be updated. - - - - Base form class that automatically sets its font according to the Windows UX guidelines. - - - - - Constructs a new Aero styled form. - - - - Handle to a DWM Thumbnail. - - - Updates the thumbnail's display settings. - Drawing region on destination window. - Origin region from source window. - Opacity. 0 is transparent, 255 opaque. - Visibility flag. - If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. - - - Updates the thumbnail's display settings. - Drawing region on destination window. - Opacity. 0 is transparent, 255 opaque. - Visibility flag. - If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. - - - Returns true if the handle is valid, false if the handle has been closed or hasn't been initialized. - - - Sets the thumbnail opacity value, from 0 to 255 (opaque). - - - Sets whether only the client area of the thumbnailed window should be shown or - the entire window area. - - - Area in the destination window on which the thumbnail should be drawn. - - - Region of the source window that should be drawn. - - - Sets whether the thumbnail should be drawn or not. - - - Gets the thumbnail's original size. + + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. @@ -665,291 +554,6 @@ Gets or sets whether the text should be trimmed to the last word and an ellipse should be placed at the end of the line. - - - Determines a window's Flip 3D policy. - - - - - Default Flip 3D behavior. - - - - - Excludes the window from Flip 3D and hides it behind the animation. - - - - - Excludes the window from Flip 3D and shows it above the animation. - - - - - The labeled divider provides a Aero styled divider with an optional caption, - similiar to what is seen in the Control Panel dialogs of Windows 7 and Vista. - - - - - Constructor - - - - - The actual painting of the background of our control. - - - - The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. - - - - - The position of the divider line. - - - The default value is the center position which is consistent on how this type of divider has been used throughout the Windows - 7 and Vista UI's. - - - - - The color of the divider line. - - - - - The text that should be used for the caption. If the caption is set to blank and the divider position is set to center then - a simple divider line will be drawn. - - - After a change is made to the text property we want to invalidate the control so it triggers a new paint message being sent. - - - - - The positions that the divider line can be drawn in - - - - - The divider will be centered after the text caption and will begin drawing after the string. This is the default behavior. - - - - - The divider will be drawn below the text caption. - - - - Common Task Dialog buttons. OK is the default button. - - - Main DWM class, provides Thumbnail registration, glass sheet effect and blur behind. - - - Registers a thumbnail to be drawn on a Windows Form. - The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). - The Windows Form instance on which to draw the thumbnail. - The handle (HWND) of the window that has to be drawn. - A Thumbnail instance, needed to unregister and to update properties. - - - Registers a thumbnail to be drawn on a window. - The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). - The handle (HWND) of the window on which the thumbnail will be drawn. - The handle (HWND) of the window that has to be drawn. - A Thumbnail instance, needed to unregister and to update properties. - - - Unregisters the thumbnail handle. - The handle is unvalid after the call and should not be used again. - A handle to a registered thumbnail. - - - Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. - - - Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. - - - - Enable the Aero "Blur Behind" effect on a specific region. Background of the region must be black. - - - Disables the Aero "Blur Behind" effect. - - - Extends the Aero "Glass Frame" into the client area. Background must be black. - - - Extends the Aero "Glass Frame" into the client area. Background must be black. - - - Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. - - - Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. - - - Disables the Aero "Glass Frame". - - - Disables the Aero "Glass Frame". - - - - Sets a window's Flip 3D policy. - - Form whose policy is to be set. - Desired Flip 3D policy. - Is ignored on OSs that do not support Aero. - - - - Disallows Aero Peek on a window (or allows it). - - Form whose Aero Peek preview should be disabled. - True if Aero Peek should be disabled for the window. - Is ignored on OSs that do not support Aero Peek. - - - - Sets a window's state in order to exclude (or include) it in Aero Peek. - - Form whose Aero Peek exclusion state is to be set. - Set to true to exlude the window from Aero Peek. - Is ignored on OSs that do not support Aero Peek. - - - - A strongly-typed resource class, for looking up localized strings, etc. - - - - - Returns the cached ResourceManager instance used by this class. - - - - - Overrides the current thread's CurrentUICulture property for all - resource lookups using this strongly typed resource class. - - - - Returns the active windows on the current thread. - - - Sets the origin of the thumbnail and shows the thumbnail on the control. - The Form instance that will be thumbnailed. - True if the control should automatically update itself in case the thumbnailed - form changes size or is closed. - - - Forces and update of the thumbnail. - Use this method if you know that the thumbnailed window has been resized and the thumbnail control should react to these changes. - - - Represents a custom button shown on a Task Dialog. - - - Instantiates a new custom button with an ID and a text. - Unique ID that will be returned by the Task Dialog if the button is clicked. - Use values greater than 8 to prevent conflicts with common buttons. - Text label shown on the button. If you enable Command Links, a newline here - separates the upper from the lower string on the button. - - - Instantiates a new custom button with an ID and a text. - Common ID that will be returned by the Task Dialog if the button is clicked. - Text label shown on the button. If you enable Command Links, a newline here - separates the upper from the lower string on the button. - - - Unique ID that will be returned by the Task Dialog if the button is clicked. - - - Text label shown on the button. If you enable Command Links, a newline here - separates the upper from the lower string on the button. - - - - Applies a glow on the themed text. - - - - - Default glow size. - - - - - Glow size used commonly by Office 2007 in titles. - - - - - Precise glow effect. - - - - - Instantiates a new glow effect for themed text. - - Size of the glow effect. - - - - Gets or sets the size of the glow effect. - - - - Common Task Dialog icons. Determine the look of the main instruction. - - - - Form that automatically handles glass margins and mouse dragging. - - - - - Construct a new form without glass margins. - - - - Gets or sets the glass margins of the form. - This property should be used when setting the margins from code. - - - Gets or sets the glass margins of the form. - This property should be used when setting the margins through the designer. - - - Gets or sets whether mouse dragging should be handled automatically. - - - Gets or sets whether the extended glass margin is enabled or not. - - - - Gets or sets whether the window title and icon should be hidden. - - - The window caption will still be visible, but title text and icon will not be. - A form with a hidden title will look like an Explorer window on Windows Vista or Windows 7. - - - - - Gets or sets whether the window caption should be hidden altogether. - - - Should be set before handle creation. - - A horizontal panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. @@ -1053,66 +657,475 @@ As soon as the form is disposed, the handler will be disposed as well. - - Occurs when the split label is clicked. - - - Occurs when the split label is clicked, but before the associated - context menu is displayed by the control. - - - Gets or sets the associated context menu that is displayed when the split - glyph of the button is clicked. - - - Gets or sets the associated context menu that is displayed when the split - glyph of the button is clicked. Exposed for backward compatibility. - - - Provides data for the clicking of split buttons and the opening - of context menus. - - - Represents the bounding box of the clicked button. - A menu should be opened, with top-left coordinates in the left-bottom point of - the rectangle and with width equal (or greater) than the width of the rectangle. - - - Set to true if you want to prevent the menu from opening. - - - Margins structure for the Glass Sheet effect. - - + - Returns whether a point in client coordinates is outside the margins defined by this instance. - - Point in client coordinates. - - - - Gets the margins value as a padding instance. - - - - - - Gets a static readonly 0-pixel margin. - This margin returns true on the IsNull property. + The labeled divider provides a Aero styled divider with an optional caption, + similiar to what is seen in the Control Panel dialogs of Windows 7 and Vista. - + - Gets whether this margin represents a negative measure on each side. + Constructor + + + + The actual painting of the background of our control. + + - Used to specify non-existing margins on glass frames. + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. - + - Gets whether this margin measures 0 pixels on each side. + The position of the divider line. + + The default value is the center position which is consistent on how this type of divider has been used throughout the Windows + 7 and Vista UI's. + + + + + The color of the divider line. + + + + + The text that should be used for the caption. If the caption is set to blank and the divider position is set to center then + a simple divider line will be drawn. + + + After a change is made to the text property we want to invalidate the control so it triggers a new paint message being sent. + + + + + The positions that the divider line can be drawn in + + + + + The divider will be centered after the text caption and will begin drawing after the string. This is the default behavior. + + + + + The divider will be drawn below the text caption. + + + + + A vertical panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. + + + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. + + + + + Constructor + + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. + + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. + + + + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + + + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + + + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + + + + Handle to a DWM Thumbnail. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Origin region from source window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Returns true if the handle is valid, false if the handle has been closed or hasn't been initialized. + + + Sets the thumbnail opacity value, from 0 to 255 (opaque). + + + Sets whether only the client area of the thumbnailed window should be shown or + the entire window area. + + + Area in the destination window on which the thumbnail should be drawn. + + + Region of the source window that should be drawn. + + + Sets whether the thumbnail should be drawn or not. + + + Gets the thumbnail's original size. + + + Main DWM class, provides Thumbnail registration, glass sheet effect and blur behind. + + + Registers a thumbnail to be drawn on a Windows Form. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The Windows Form instance on which to draw the thumbnail. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Registers a thumbnail to be drawn on a window. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The handle (HWND) of the window on which the thumbnail will be drawn. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Unregisters the thumbnail handle. + The handle is unvalid after the call and should not be used again. + A handle to a registered thumbnail. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + + Enable the Aero "Blur Behind" effect on a specific region. Background of the region must be black. + + + Disables the Aero "Blur Behind" effect. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Disables the Aero "Glass Frame". + + + Disables the Aero "Glass Frame". + + + + Sets a window's Flip 3D policy. + + Form whose policy is to be set. + Desired Flip 3D policy. + Is ignored on OSs that do not support Aero. + + + + Disallows Aero Peek on a window (or allows it). + + Form whose Aero Peek preview should be disabled. + True if Aero Peek should be disabled for the window. + Is ignored on OSs that do not support Aero Peek. + + + + Sets a window's state in order to exclude (or include) it in Aero Peek. + + Form whose Aero Peek exclusion state is to be set. + Set to true to exlude the window from Aero Peek. + Is ignored on OSs that do not support Aero Peek. + + + + Sets a window's state in order to exclude (or include) it in Aero Peek. + + Form whose Aero Peek exclusion state is to be set. + Set to true to exlude the window from Aero Peek. + Is ignored on OSs that do not support Aero Peek. + + + Returns the active windows on the current thread. + + + Sets the origin of the thumbnail and shows the thumbnail on the control. + The Form instance that will be thumbnailed. + True if the control should automatically update itself in case the thumbnailed + form changes size or is closed. + + + Forces and update of the thumbnail. + Use this method if you know that the thumbnailed window has been resized and the thumbnail control should react to these changes. + + + + Static class providing information about the current support for Vista-only features. + + + + + Gets whether the running operating system is Windows Vista or a more recent version. + + + + + Gets whether the running operating system is Windows Seven or a more recent version. + + + + + Gets whether the running operating system is Windows 8 or a more recent version. + + + + Is true if the DWM composition engine is currently enabled. + + + + Form that automatically handles glass margins and mouse dragging. + + + + + Construct a new form without glass margins. + + + + Gets or sets the glass margins of the form. + This property should be used when setting the margins from code. + + + Gets or sets the glass margins of the form. + This property should be used when setting the margins through the designer. + + + Gets or sets whether mouse dragging should be handled automatically. + + + Gets or sets whether the extended glass margin is enabled or not. + + + + Gets or sets whether the window title and icon should be hidden. + + + The window caption will still be visible, but title text and icon will not be. + A form with a hidden title will look like an Explorer window on Windows Vista or Windows 7. + + + + + Gets or sets whether the window caption should be hidden altogether. + + + Should be set before handle creation. + + + + + Applies a glow on the themed text. + + + + + Default glow size. + + + + + Glow size used commonly by Office 2007 in titles. + + + + + Precise glow effect. + + + + + Instantiates a new glow effect for themed text. + + Size of the glow effect. + + + + Gets or sets the size of the glow effect. + + + + Direct Task Dialog call. + + + Indirect Task Dialog call. Allows complex dialogs with interaction logic (via callback). + + + The Task Dialog config structure. + + + Flags used in TaskDialogConfig struct. + From CommCtrl.h. + + + Notifications returned by Task Dialogs to the callback. + From CommCtrl.h. + + + Messages that can be sent to Task Dialogs. + From CommCtrl.h. + + + + Determines a window's Flip 3D policy. + + + + + Default Flip 3D behavior. + + + + + Excludes the window from Flip 3D and hides it behind the animation. + + + + + Excludes the window from Flip 3D and shows it above the animation. + + + + Common Task Dialog icons. Determine the look of the main instruction. + + + Class that aggregates the results of an "indirect" Task Dialog. + + + Results returned by Task Dialogs when closed by the user. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Common Controls library version 6.0 not loaded. Must run on Vista and must provide a manifest.. + + + + + Looks up a localized string similar to Desktop composition is not enabled.. + + + + + Looks up a localized string similar to Desktop composition is not supported by operating system.. + + + + + Looks up a localized string similar to Unable to get thumbnail's original size.. + + + + + Looks up a localized string similar to Unable to update thumbnail properties.. + + + + + Looks up a localized string similar to Source and target windows cannot be the same.. + + + + + Looks up a localized string similar to Native call to {0} failed.. + + + + + Looks up a localized string similar to Failed to create TaskDialog.. + + + + Gets or sets the cue text that is displayed on the TextBox control. + + + Gets or sets whether the Cue text should be displyed even when the control has keybord focus. + If true, the Cue text will disappear as soon as the user starts typing. diff --git a/OnTopReplica/Platforms/WindowsEight.cs b/OnTopReplica/Platforms/WindowsEight.cs index b5ef780..c305954 100644 --- a/OnTopReplica/Platforms/WindowsEight.cs +++ b/OnTopReplica/Platforms/WindowsEight.cs @@ -8,9 +8,5 @@ using OnTopReplica.Native; namespace OnTopReplica.Platforms { class WindowsEight : WindowsSeven { - public override void PostHandleFormInit(MainForm form) { - //Noop - } - } } diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs index a494248..9d768a9 100644 --- a/OnTopReplica/Platforms/WindowsSeven.cs +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -14,7 +14,7 @@ namespace OnTopReplica.Platforms { public override void PostHandleFormInit(MainForm form) { DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); - DwmManager.SetExludeFromPeek(form, true); + DwmManager.SetExcludeFromPeek(form, true); DwmManager.SetDisallowPeek(form, true); } From c73605d9ca71473326c4025a3ad02a2efdf1ca1d Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 27 Nov 2012 02:25:28 +0100 Subject: [PATCH 149/164] Added F11 fullscreen switch. --- OnTopReplica/MainForm.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 4eb353e..958650a 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -227,6 +227,12 @@ namespace OnTopReplica { } } + //F11 Fullscreen switch + else if (e.KeyCode == Keys.F11) { + e.Handled = true; + IsFullscreen = !IsFullscreen; + } + //ESCAPE else if (e.KeyCode == Keys.Escape) { //Disable click-through From 1a6197d892951b707aee973fd2be77d73331989c Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 27 Nov 2012 03:33:09 +0100 Subject: [PATCH 150/164] Fix for issue #33: window position/size now restores correctly even when chrome is disabled on closing. --- OnTopReplica/AspectRatioForm.cs | 5 ++-- OnTopReplica/Program.cs | 5 ++++ OnTopReplica/StartupOptions/Factory.cs | 6 +++-- OnTopReplica/StartupOptions/Options.cs | 33 ++++++++++++++++---------- 4 files changed, 32 insertions(+), 17 deletions(-) diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs index f3ba895..9701e3c 100644 --- a/OnTopReplica/AspectRatioForm.cs +++ b/OnTopReplica/AspectRatioForm.cs @@ -96,10 +96,11 @@ namespace OnTopReplica { ClientSize = new Size(newWidth, newHeight); //Move form vertically to adapt to new size - if (Location.Y + Size.Height > workingArea.Y + workingArea.Height) { + //REMOVED: allows the window to correctly be restored slightly off screen + /*if (Location.Y + Size.Height > workingArea.Y + workingArea.Height) { int offsetY = (workingArea.Y + workingArea.Height) - (Location.Y + Size.Height); Location = new Point(Location.X, Location.Y - offsetY); - } + }*/ } /// diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs index 4d0cd98..12971ee 100644 --- a/OnTopReplica/Program.cs +++ b/OnTopReplica/Program.cs @@ -60,7 +60,12 @@ namespace OnTopReplica { //Enter GUI loop Application.Run(_mainForm); + //HACK: re-enable chrome to fix position persistence (ideally, chrome status should be stored and restored - but this is not always possible) + if (!_mainForm.IsChromeVisible) + _mainForm.IsChromeVisible = true; + //Persist settings + System.Diagnostics.Trace.WriteLine(string.Format("Persisting {0} size {1} to settings.", _mainForm.Location, _mainForm.ClientSize)); Settings.Default.RestoreLastPosition = _mainForm.Location; Settings.Default.RestoreLastSize = _mainForm.ClientSize; Settings.Default.Save(); diff --git a/OnTopReplica/StartupOptions/Factory.cs b/OnTopReplica/StartupOptions/Factory.cs index 9bc3ec5..ee44ca2 100644 --- a/OnTopReplica/StartupOptions/Factory.cs +++ b/OnTopReplica/StartupOptions/Factory.cs @@ -33,6 +33,8 @@ namespace OnTopReplica.StartupOptions { if (Settings.Default.RestoreSizeAndPosition) { options.StartLocation = Settings.Default.RestoreLastPosition; options.StartSize = Settings.Default.RestoreLastSize; + + System.Diagnostics.Trace.WriteLine(string.Format("Restoring window at {0} size {1}.", Settings.Default.RestoreLastPosition, Settings.Default.RestoreLastSize)); } if (Settings.Default.RestoreLastWindow) { @@ -74,11 +76,11 @@ namespace OnTopReplica.StartupOptions { }) .Add("position=", "Target {X,Y} of the OnTopReplica window.", s => { options.StartLocation = new Point(s.Width, s.Height); - options.StartScreenPosition = null; + options.StartPositionLock = null; }) .Add("screenPosition=", "Resolution independent window position on current screen, with locking. Values: {TR|TL|C|BR|BL}.", pos => { options.StartLocation = null; - options.StartScreenPosition = pos; + options.StartPositionLock = pos; }) .Add("r|region=", "Region {X,Y,W,H} of the cloned window.", region => { options.Region = new ThumbnailRegion(region); diff --git a/OnTopReplica/StartupOptions/Options.cs b/OnTopReplica/StartupOptions/Options.cs index d741f21..d36e2bb 100644 --- a/OnTopReplica/StartupOptions/Options.cs +++ b/OnTopReplica/StartupOptions/Options.cs @@ -25,7 +25,7 @@ namespace OnTopReplica.StartupOptions { public Point? StartLocation { get; set; } - public ScreenPosition? StartScreenPosition { get; set; } + public ScreenPosition? StartPositionLock { get; set; } public Size? StartSize { get; set; } @@ -96,7 +96,7 @@ namespace OnTopReplica.StartupOptions { form.IsChromeVisible = !DisableChrome; form.Opacity = (double)Opacity / 255.0; - //Thumbnail cloning + //Seek handle for thumbnail cloning WindowHandle handle = null; if (WindowId.HasValue) { handle = WindowHandle.FromHandle(WindowId.Value); @@ -119,23 +119,30 @@ namespace OnTopReplica.StartupOptions { handle = seeker.Windows.FirstOrDefault(); } - - //Set any found handle - if (handle != null) { - form.SetThumbnail(handle, Region); + + //Position lock + if (StartPositionLock.HasValue) { + form.PositionLock = StartPositionLock.Value; } - //Size - if (StartSize.HasValue) { + //Size and location start values + if (StartLocation.HasValue && StartSize.HasValue) { + form.StartPosition = System.Windows.Forms.FormStartPosition.Manual; + form.Location = StartLocation.Value; form.ClientSize = StartSize.Value; } - - //Position - if (StartLocation.HasValue) { + else if (StartLocation.HasValue) { + form.StartPosition = System.Windows.Forms.FormStartPosition.WindowsDefaultBounds; form.Location = StartLocation.Value; } - else if (StartScreenPosition.HasValue) { - form.PositionLock = StartScreenPosition.Value; + else if (StartSize.HasValue) { + form.StartPosition = System.Windows.Forms.FormStartPosition.WindowsDefaultLocation; + form.ClientSize = StartSize.Value; + } + + //Clone any found handle + if (handle != null) { + form.SetThumbnail(handle, Region); } //Other features From f4023f4163ec56fefdf7f5e53d7d82d9a9b3f5c3 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Thu, 29 Nov 2012 13:52:09 +0100 Subject: [PATCH 151/164] Fixed installer (includes .config files with runtime information). --- Installer/script.nsi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Installer/script.nsi b/Installer/script.nsi index 7d78b4d..611c9c3 100644 --- a/Installer/script.nsi +++ b/Installer/script.nsi @@ -67,7 +67,7 @@ Function RegisterApplication WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayIcon" "$\"$INSTDIR\OnTopReplica.exe$\"" WriteRegStr HKCU "${REG_UNINSTALL}" "Publisher" "Lorenz Cuno Klopfenstein" WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayVersion" "3.4" - WriteRegDWord HKCU "${REG_UNINSTALL}" "EstimatedSize" 922 ;KB + WriteRegDWord HKCU "${REG_UNINSTALL}" "EstimatedSize" 992 ;KB WriteRegStr HKCU "${REG_UNINSTALL}" "HelpLink" "${WEBSITE_LINK}" WriteRegStr HKCU "${REG_UNINSTALL}" "URLInfoAbout" "${WEBSITE_LINK}" WriteRegStr HKCU "${REG_UNINSTALL}" "InstallLocation" "$\"$INSTDIR$\"" @@ -105,6 +105,7 @@ Section "!OnTopReplica" OnTopReplica ;Main installation File "..\OnTopReplica\bin\Release\OnTopReplica.exe" + File "..\OnTopReplica\bin\Release\OnTopReplica.exe.config" File "..\OnTopReplica\bin\Release\WindowsFormsAero.dll" ;Text stuff From 9119e242bce5b7c1949a987dbde83b406d37f63a Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Sun, 30 Dec 2012 12:35:43 +0100 Subject: [PATCH 152/164] Fix issue #35: do not restore previous window if none selected on shutdown. --- OnTopReplica/MainForm.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 958650a..45b6a24 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -86,6 +86,11 @@ namespace OnTopReplica { Settings.Default.RestoreLastWindowHwnd = CurrentThumbnailWindowHandle.Handle.ToInt64(); Settings.Default.RestoreLastWindowClass = CurrentThumbnailWindowHandle.Class; } + else { + Settings.Default.RestoreLastWindowTitle = string.Empty; + Settings.Default.RestoreLastWindowHwnd = 0; + Settings.Default.RestoreLastWindowClass = string.Empty; + } _msgPumpManager.Dispose(); Program.Platform.CloseForm(this); From 1d6769ee2693f3c1a9e3c8ef779c1de32be8a785 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 26 Feb 2013 15:12:19 +0100 Subject: [PATCH 153/164] Added basic WiX installer (prototype). --- Installer/wix-compile.bat | 2 ++ Installer/wix-package.wxs | 71 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 Installer/wix-compile.bat create mode 100644 Installer/wix-package.wxs diff --git a/Installer/wix-compile.bat b/Installer/wix-compile.bat new file mode 100644 index 0000000..4564844 --- /dev/null +++ b/Installer/wix-compile.bat @@ -0,0 +1,2 @@ +"C:\Program Files (x86)\WiX Toolset v3.7\bin\candle.exe" wix-package.wxs +"C:\Program Files (x86)\WiX Toolset v3.7\bin\light.exe" wix-package.wixobj \ No newline at end of file diff --git a/Installer/wix-package.wxs b/Installer/wix-package.wxs new file mode 100644 index 0000000..7535d7f --- /dev/null +++ b/Installer/wix-package.wxs @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 6e86338cda44a210a14f1f0d44f11d13683e2223 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Mon, 29 Apr 2013 18:38:58 +0200 Subject: [PATCH 154/164] Added new Fullscreen modes and settings entry. Updated 2 button icons. --- .hgignore | 9 + Docs/Settings List.txt | 7 + Graphics/Raster/help.png | Bin 0 -> 1163 bytes Graphics/Raster/minimize.png | Bin 0 -> 1110 bytes Graphics/Vector/help.psd | Bin 0 -> 596155 bytes Graphics/Vector/minimize.psd | Bin 0 -> 675278 bytes Installer/DotNet.nsh | 32 + Installer/header.bmp | Bin 0 -> 25818 bytes Installer/script.nsi | 140 ++ Installer/update.xml | 6 + Lib/WindowsFormsAero.dll | Bin 0 -> 97280 bytes Lib/WindowsFormsAero.pdb | Bin 0 -> 249344 bytes Lib/WindowsFormsAero.xml | 1131 ++++++++++++ OnTopReplica.sln | 20 + OnTopReplica/AspectRatioForm.cs | 238 +++ OnTopReplica/Assets/25.png | Bin 0 -> 639 bytes OnTopReplica/Assets/arrow_down.png | Bin 0 -> 218 bytes OnTopReplica/Assets/arrow_up.png | Bin 0 -> 209 bytes OnTopReplica/Assets/back.png | Bin 0 -> 150765 bytes OnTopReplica/Assets/clickforwarding.png | Bin 0 -> 951 bytes OnTopReplica/Assets/component.png | Bin 0 -> 731 bytes OnTopReplica/Assets/desktop.png | Bin 0 -> 794 bytes OnTopReplica/Assets/empty-window.ico | Bin 0 -> 10806 bytes OnTopReplica/Assets/flag_czech.png | Bin 0 -> 241 bytes OnTopReplica/Assets/flag_danish.png | Bin 0 -> 347 bytes OnTopReplica/Assets/flag_germany.png | Bin 0 -> 202 bytes OnTopReplica/Assets/flag_ita.png | Bin 0 -> 209 bytes OnTopReplica/Assets/flag_poland.png | Bin 0 -> 183 bytes OnTopReplica/Assets/flag_spanish.png | Bin 0 -> 300 bytes OnTopReplica/Assets/flag_usa.png | Bin 0 -> 355 bytes OnTopReplica/Assets/flags.pdn | Bin 0 -> 4030 bytes OnTopReplica/Assets/fullscreen.png | Bin 0 -> 396 bytes OnTopReplica/Assets/groupmode.png | Bin 0 -> 837 bytes OnTopReplica/Assets/icon-new-red.ico | Bin 0 -> 86918 bytes OnTopReplica/Assets/icon-new.ico | Bin 0 -> 86918 bytes OnTopReplica/Assets/icon.ico | Bin 0 -> 7358 bytes OnTopReplica/Assets/icon.png | Bin 0 -> 7335 bytes OnTopReplica/Assets/list.png | Bin 0 -> 681 bytes OnTopReplica/Assets/newicon.png | Bin 0 -> 770 bytes OnTopReplica/Assets/pos_bottomleft.pdn | Bin 0 -> 6696 bytes OnTopReplica/Assets/pos_bottomleft.png | Bin 0 -> 267 bytes OnTopReplica/Assets/pos_bottomright.png | Bin 0 -> 267 bytes OnTopReplica/Assets/pos_center.png | Bin 0 -> 231 bytes OnTopReplica/Assets/pos_null.png | Bin 0 -> 250 bytes OnTopReplica/Assets/pos_topleft.png | Bin 0 -> 280 bytes OnTopReplica/Assets/pos_topright.png | Bin 0 -> 278 bytes OnTopReplica/Assets/reduce.png | Bin 0 -> 259 bytes OnTopReplica/Assets/regions.png | Bin 0 -> 296 bytes OnTopReplica/Assets/regions_new.png | Bin 0 -> 207 bytes OnTopReplica/Assets/screenshot-icon.ico | Bin 0 -> 99678 bytes OnTopReplica/Assets/window16.png | Bin 0 -> 862 bytes OnTopReplica/Assets/window_border16.png | Bin 0 -> 683 bytes OnTopReplica/Assets/window_multiple.pdn | Bin 0 -> 8806 bytes OnTopReplica/Assets/window_multiple16.ico | Bin 0 -> 894 bytes OnTopReplica/Assets/window_multiple16.png | Bin 0 -> 1012 bytes OnTopReplica/Assets/window_multiple48.png | Bin 0 -> 1736 bytes OnTopReplica/Assets/window_opacity16.png | Bin 0 -> 894 bytes OnTopReplica/Assets/window_opacity_new.png | Bin 0 -> 810 bytes OnTopReplica/Assets/window_switch.pdn | Bin 0 -> 10464 bytes OnTopReplica/Assets/window_switch.png | Bin 0 -> 456 bytes OnTopReplica/Assets/windows.png | Bin 0 -> 28010 bytes OnTopReplica/Assets/x-oblique.png | Bin 0 -> 3459 bytes OnTopReplica/Assets/xiao_add.png | Bin 0 -> 753 bytes OnTopReplica/Assets/xiao_arrow.png | Bin 0 -> 437 bytes OnTopReplica/Assets/xiao_delete.png | Bin 0 -> 715 bytes OnTopReplica/Assets/xiao_down.png | Bin 0 -> 761 bytes OnTopReplica/Assets/xiao_help.png | Bin 0 -> 752 bytes OnTopReplica/Assets/xiao_ok.png | Bin 0 -> 752 bytes OnTopReplica/Assets/xiao_up.png | Bin 0 -> 744 bytes OnTopReplica/Assets/xiao_wrench.png | Bin 0 -> 459 bytes OnTopReplica/CREDITS.txt | 12 + OnTopReplica/CloneClickEventArgs.cs | 32 + OnTopReplica/CloseRequestEventArgs.cs | 14 + OnTopReplica/FocusedTextBox.cs | 70 + OnTopReplica/FullscreenFormManager.cs | 117 ++ OnTopReplica/FullscreenMode.cs | 39 + OnTopReplica/GeometryExtensions.cs | 74 + OnTopReplica/HotKeyTextBox.cs | 56 + OnTopReplica/IMessagePumpProcessor.cs | 15 + OnTopReplica/ImageComboBox.cs | 77 + OnTopReplica/LICENSE.txt | 21 + OnTopReplica/MainForm.Designer.cs | 600 +++++++ OnTopReplica/MainForm.cs | 422 +++++ OnTopReplica/MainForm.resx | 321 ++++ OnTopReplica/MainForm_ChildForms.cs | 93 + OnTopReplica/MainForm_Features.cs | 130 ++ OnTopReplica/MainForm_Gui.cs | 118 ++ OnTopReplica/MainForm_MenuEvents.cs | 203 +++ OnTopReplica/MessagePumpManager.cs | 84 + .../BaseMessagePumpProcessor.cs | 39 + .../GroupSwitchManager.cs | 136 ++ .../MessagePumpProcessors/HotKeyManager.cs | 167 ++ .../ShellInterceptProcessor.cs | 34 + .../MessagePumpProcessors/WindowKeeper.cs | 40 + OnTopReplica/NDesk/Options/Options.cs | 1042 +++++++++++ OnTopReplica/Native/CommonControls.cs | 30 + OnTopReplica/Native/ErrorMethods.cs | 37 + OnTopReplica/Native/FilesystemMethods.cs | 51 + OnTopReplica/Native/HT.cs | 14 + OnTopReplica/Native/HookMethods.cs | 50 + OnTopReplica/Native/HotKeyMethods.cs | 78 + OnTopReplica/Native/ITaskBarList.cs | 45 + OnTopReplica/Native/InputMethods.cs | 25 + OnTopReplica/Native/MK.cs | 14 + OnTopReplica/Native/MessagingMethods.cs | 34 + OnTopReplica/Native/Point.cs | 36 + OnTopReplica/Native/Rectangle.cs | 55 + OnTopReplica/Native/VirtualKeyState.cs | 193 ++ OnTopReplica/Native/WM.cs | 28 + OnTopReplica/Native/WMSZ.cs | 15 + OnTopReplica/Native/WindowManagerMethods.cs | 103 ++ OnTopReplica/Native/WindowMethods.cs | 141 ++ OnTopReplica/Native/WindowsSevenMethods.cs | 20 + OnTopReplica/NativeToolStripRenderer.cs | 601 +++++++ OnTopReplica/NotificationIcon.cs | 85 + OnTopReplica/OnTopReplica.csproj | 536 ++++++ OnTopReplica/OnTopReplica.csproj.user | 23 + OnTopReplica/OnTopReplica.exe.manifest | 26 + OnTopReplica/PlatformSupport.cs | 93 + OnTopReplica/Platforms/DebugPlatform.cs | 22 + OnTopReplica/Platforms/Other.cs | 16 + OnTopReplica/Platforms/WindowsEight.cs | 12 + OnTopReplica/Platforms/WindowsSeven.cs | 61 + OnTopReplica/Platforms/WindowsVista.cs | 52 + OnTopReplica/Platforms/WindowsXp.cs | 15 + OnTopReplica/PluginRegionLocator.cs | 102 ++ OnTopReplica/Program.cs | 128 ++ OnTopReplica/Properties/AssemblyInfo.cs | 37 + OnTopReplica/Properties/Resources.resx | 238 +++ OnTopReplica/Properties/Settings.settings | 60 + OnTopReplica/Properties/app.manifest | 26 + OnTopReplica/Resources/help.png | Bin 0 -> 1163 bytes OnTopReplica/Resources/minimize.png | Bin 0 -> 1110 bytes OnTopReplica/ScreenPosition.cs | 87 + OnTopReplica/SidePanel.cs | 73 + OnTopReplica/SidePanelContainer.Designer.cs | 46 + OnTopReplica/SidePanelContainer.cs | 108 ++ OnTopReplica/SidePanelContainer.resx | 120 ++ .../SidePanels/AboutPanel.Designer.cs | 74 + OnTopReplica/SidePanels/AboutPanel.cs | 33 + OnTopReplica/SidePanels/AboutPanel.resx | 120 ++ .../SidePanels/AboutPanelContents.Designer.cs | 265 +++ OnTopReplica/SidePanels/AboutPanelContents.cs | 99 ++ .../SidePanels/AboutPanelContents.resx | 120 ++ .../SidePanels/GroupSwitchPanel.Designer.cs | 131 ++ OnTopReplica/SidePanels/GroupSwitchPanel.cs | 89 + OnTopReplica/SidePanels/GroupSwitchPanel.resx | 120 ++ .../SidePanels/OptionsPanel.Designer.cs | 200 +++ OnTopReplica/SidePanels/OptionsPanel.cs | 127 ++ OnTopReplica/SidePanels/OptionsPanel.resx | 120 ++ .../SidePanels/RegionPanel.Designer.cs | 339 ++++ OnTopReplica/SidePanels/RegionPanel.cs | 321 ++++ OnTopReplica/SidePanels/RegionPanel.resx | 123 ++ OnTopReplica/StartupOptions/CliStatus.cs | 21 + .../CommandLineReportForm.Designer.cs | 116 ++ .../StartupOptions/CommandLineReportForm.cs | 30 + .../StartupOptions/CommandLineReportForm.resx | 1574 +++++++++++++++++ OnTopReplica/StartupOptions/Factory.cs | 123 ++ .../StartupOptions/FourValueTypeConverter.cs | 71 + OnTopReplica/StartupOptions/Options.cs | 163 ++ .../StartupOptions/PaddingConverter.cs | 21 + .../StartupOptions/RectangleConverter.cs | 23 + .../StartupOptions/ScreenPositionConverter.cs | 50 + OnTopReplica/StartupOptions/SizeConverter.cs | 69 + OnTopReplica/StoredRegion.cs | 32 + OnTopReplica/StoredRegionArray.cs | 147 ++ OnTopReplica/StoredRegionComparer.cs | 28 + OnTopReplica/Strings.cs.resx | 655 +++++++ OnTopReplica/Strings.da.resx | 650 +++++++ OnTopReplica/Strings.de.resx | 655 +++++++ OnTopReplica/Strings.es.resx | 650 +++++++ OnTopReplica/Strings.fi.resx | 15 + OnTopReplica/Strings.it.resx | 655 +++++++ OnTopReplica/Strings.no.resx | 655 +++++++ OnTopReplica/Strings.pl.resx | 655 +++++++ OnTopReplica/Strings.pt-BR.resx | 655 +++++++ OnTopReplica/Strings.pt.resx | 655 +++++++ OnTopReplica/Strings.resx | 673 +++++++ OnTopReplica/Strings.ru.resx | 647 +++++++ OnTopReplica/Strings.tr.resx | 652 +++++++ OnTopReplica/Strings.zh-Hans.resx | 655 +++++++ OnTopReplica/ThumbnailPanel.cs | 484 +++++ OnTopReplica/ThumbnailRegion.cs | 222 +++ .../Update/UpdateCheckCompletedEventArgs.cs | 15 + OnTopReplica/Update/UpdateInformation.cs | 101 ++ OnTopReplica/Update/UpdateManager.cs | 278 +++ OnTopReplica/Win32Helper.cs | 126 ++ OnTopReplica/WindowHandle.cs | 141 ++ OnTopReplica/WindowListMenuManager.cs | 202 +++ .../WindowSeekers/BaseWindowSeeker.cs | 68 + .../WindowSeekers/ByClassWindowSeeker.cs | 41 + .../WindowSeekers/ByTitleWindowSeeker.cs | 46 + OnTopReplica/WindowSeekers/IWindowSeeker.cs | 23 + .../WindowSeekers/PointBasedWindowSeeker.cs | 55 + .../WindowSeekers/RestoreWindowSeeker.cs | 61 + .../WindowSeekers/TaskWindowSeeker.cs | 52 + OnTopReplica/WindowsFormsExtensions.cs | 50 + OnTopReplica/app.config | 63 + OriginalAssets/Logo.png | Bin 0 -> 34066 bytes OriginalAssets/icon.pdn | Bin 0 -> 30322 bytes OriginalAssets/new-icon.png | Bin 0 -> 24269 bytes 201 files changed, 24379 insertions(+) create mode 100644 .hgignore create mode 100644 Docs/Settings List.txt create mode 100644 Graphics/Raster/help.png create mode 100644 Graphics/Raster/minimize.png create mode 100644 Graphics/Vector/help.psd create mode 100644 Graphics/Vector/minimize.psd create mode 100644 Installer/DotNet.nsh create mode 100644 Installer/header.bmp create mode 100644 Installer/script.nsi create mode 100644 Installer/update.xml create mode 100644 Lib/WindowsFormsAero.dll create mode 100644 Lib/WindowsFormsAero.pdb create mode 100644 Lib/WindowsFormsAero.xml create mode 100644 OnTopReplica.sln create mode 100644 OnTopReplica/AspectRatioForm.cs create mode 100644 OnTopReplica/Assets/25.png create mode 100644 OnTopReplica/Assets/arrow_down.png create mode 100644 OnTopReplica/Assets/arrow_up.png create mode 100644 OnTopReplica/Assets/back.png create mode 100644 OnTopReplica/Assets/clickforwarding.png create mode 100644 OnTopReplica/Assets/component.png create mode 100644 OnTopReplica/Assets/desktop.png create mode 100644 OnTopReplica/Assets/empty-window.ico create mode 100644 OnTopReplica/Assets/flag_czech.png create mode 100644 OnTopReplica/Assets/flag_danish.png create mode 100644 OnTopReplica/Assets/flag_germany.png create mode 100644 OnTopReplica/Assets/flag_ita.png create mode 100644 OnTopReplica/Assets/flag_poland.png create mode 100644 OnTopReplica/Assets/flag_spanish.png create mode 100644 OnTopReplica/Assets/flag_usa.png create mode 100644 OnTopReplica/Assets/flags.pdn create mode 100644 OnTopReplica/Assets/fullscreen.png create mode 100644 OnTopReplica/Assets/groupmode.png create mode 100644 OnTopReplica/Assets/icon-new-red.ico create mode 100644 OnTopReplica/Assets/icon-new.ico create mode 100644 OnTopReplica/Assets/icon.ico create mode 100644 OnTopReplica/Assets/icon.png create mode 100644 OnTopReplica/Assets/list.png create mode 100644 OnTopReplica/Assets/newicon.png create mode 100644 OnTopReplica/Assets/pos_bottomleft.pdn create mode 100644 OnTopReplica/Assets/pos_bottomleft.png create mode 100644 OnTopReplica/Assets/pos_bottomright.png create mode 100644 OnTopReplica/Assets/pos_center.png create mode 100644 OnTopReplica/Assets/pos_null.png create mode 100644 OnTopReplica/Assets/pos_topleft.png create mode 100644 OnTopReplica/Assets/pos_topright.png create mode 100644 OnTopReplica/Assets/reduce.png create mode 100644 OnTopReplica/Assets/regions.png create mode 100644 OnTopReplica/Assets/regions_new.png create mode 100644 OnTopReplica/Assets/screenshot-icon.ico create mode 100644 OnTopReplica/Assets/window16.png create mode 100644 OnTopReplica/Assets/window_border16.png create mode 100644 OnTopReplica/Assets/window_multiple.pdn create mode 100644 OnTopReplica/Assets/window_multiple16.ico create mode 100644 OnTopReplica/Assets/window_multiple16.png create mode 100644 OnTopReplica/Assets/window_multiple48.png create mode 100644 OnTopReplica/Assets/window_opacity16.png create mode 100644 OnTopReplica/Assets/window_opacity_new.png create mode 100644 OnTopReplica/Assets/window_switch.pdn create mode 100644 OnTopReplica/Assets/window_switch.png create mode 100644 OnTopReplica/Assets/windows.png create mode 100644 OnTopReplica/Assets/x-oblique.png create mode 100644 OnTopReplica/Assets/xiao_add.png create mode 100644 OnTopReplica/Assets/xiao_arrow.png create mode 100644 OnTopReplica/Assets/xiao_delete.png create mode 100644 OnTopReplica/Assets/xiao_down.png create mode 100644 OnTopReplica/Assets/xiao_help.png create mode 100644 OnTopReplica/Assets/xiao_ok.png create mode 100644 OnTopReplica/Assets/xiao_up.png create mode 100644 OnTopReplica/Assets/xiao_wrench.png create mode 100644 OnTopReplica/CREDITS.txt create mode 100644 OnTopReplica/CloneClickEventArgs.cs create mode 100644 OnTopReplica/CloseRequestEventArgs.cs create mode 100644 OnTopReplica/FocusedTextBox.cs create mode 100644 OnTopReplica/FullscreenFormManager.cs create mode 100644 OnTopReplica/FullscreenMode.cs create mode 100644 OnTopReplica/GeometryExtensions.cs create mode 100644 OnTopReplica/HotKeyTextBox.cs create mode 100644 OnTopReplica/IMessagePumpProcessor.cs create mode 100644 OnTopReplica/ImageComboBox.cs create mode 100644 OnTopReplica/LICENSE.txt create mode 100644 OnTopReplica/MainForm.Designer.cs create mode 100644 OnTopReplica/MainForm.cs create mode 100644 OnTopReplica/MainForm.resx create mode 100644 OnTopReplica/MainForm_ChildForms.cs create mode 100644 OnTopReplica/MainForm_Features.cs create mode 100644 OnTopReplica/MainForm_Gui.cs create mode 100644 OnTopReplica/MainForm_MenuEvents.cs create mode 100644 OnTopReplica/MessagePumpManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs create mode 100644 OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/HotKeyManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs create mode 100644 OnTopReplica/MessagePumpProcessors/WindowKeeper.cs create mode 100644 OnTopReplica/NDesk/Options/Options.cs create mode 100644 OnTopReplica/Native/CommonControls.cs create mode 100644 OnTopReplica/Native/ErrorMethods.cs create mode 100644 OnTopReplica/Native/FilesystemMethods.cs create mode 100644 OnTopReplica/Native/HT.cs create mode 100644 OnTopReplica/Native/HookMethods.cs create mode 100644 OnTopReplica/Native/HotKeyMethods.cs create mode 100644 OnTopReplica/Native/ITaskBarList.cs create mode 100644 OnTopReplica/Native/InputMethods.cs create mode 100644 OnTopReplica/Native/MK.cs create mode 100644 OnTopReplica/Native/MessagingMethods.cs create mode 100644 OnTopReplica/Native/Point.cs create mode 100644 OnTopReplica/Native/Rectangle.cs create mode 100644 OnTopReplica/Native/VirtualKeyState.cs create mode 100644 OnTopReplica/Native/WM.cs create mode 100644 OnTopReplica/Native/WMSZ.cs create mode 100644 OnTopReplica/Native/WindowManagerMethods.cs create mode 100644 OnTopReplica/Native/WindowMethods.cs create mode 100644 OnTopReplica/Native/WindowsSevenMethods.cs create mode 100644 OnTopReplica/NativeToolStripRenderer.cs create mode 100644 OnTopReplica/NotificationIcon.cs create mode 100644 OnTopReplica/OnTopReplica.csproj create mode 100644 OnTopReplica/OnTopReplica.csproj.user create mode 100644 OnTopReplica/OnTopReplica.exe.manifest create mode 100644 OnTopReplica/PlatformSupport.cs create mode 100644 OnTopReplica/Platforms/DebugPlatform.cs create mode 100644 OnTopReplica/Platforms/Other.cs create mode 100644 OnTopReplica/Platforms/WindowsEight.cs create mode 100644 OnTopReplica/Platforms/WindowsSeven.cs create mode 100644 OnTopReplica/Platforms/WindowsVista.cs create mode 100644 OnTopReplica/Platforms/WindowsXp.cs create mode 100644 OnTopReplica/PluginRegionLocator.cs create mode 100644 OnTopReplica/Program.cs create mode 100644 OnTopReplica/Properties/AssemblyInfo.cs create mode 100644 OnTopReplica/Properties/Resources.resx create mode 100644 OnTopReplica/Properties/Settings.settings create mode 100644 OnTopReplica/Properties/app.manifest create mode 100644 OnTopReplica/Resources/help.png create mode 100644 OnTopReplica/Resources/minimize.png create mode 100644 OnTopReplica/ScreenPosition.cs create mode 100644 OnTopReplica/SidePanel.cs create mode 100644 OnTopReplica/SidePanelContainer.Designer.cs create mode 100644 OnTopReplica/SidePanelContainer.cs create mode 100644 OnTopReplica/SidePanelContainer.resx create mode 100644 OnTopReplica/SidePanels/AboutPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/AboutPanel.cs create mode 100644 OnTopReplica/SidePanels/AboutPanel.resx create mode 100644 OnTopReplica/SidePanels/AboutPanelContents.Designer.cs create mode 100644 OnTopReplica/SidePanels/AboutPanelContents.cs create mode 100644 OnTopReplica/SidePanels/AboutPanelContents.resx create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.resx create mode 100644 OnTopReplica/SidePanels/OptionsPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/OptionsPanel.cs create mode 100644 OnTopReplica/SidePanels/OptionsPanel.resx create mode 100644 OnTopReplica/SidePanels/RegionPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/RegionPanel.cs create mode 100644 OnTopReplica/SidePanels/RegionPanel.resx create mode 100644 OnTopReplica/StartupOptions/CliStatus.cs create mode 100644 OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs create mode 100644 OnTopReplica/StartupOptions/CommandLineReportForm.cs create mode 100644 OnTopReplica/StartupOptions/CommandLineReportForm.resx create mode 100644 OnTopReplica/StartupOptions/Factory.cs create mode 100644 OnTopReplica/StartupOptions/FourValueTypeConverter.cs create mode 100644 OnTopReplica/StartupOptions/Options.cs create mode 100644 OnTopReplica/StartupOptions/PaddingConverter.cs create mode 100644 OnTopReplica/StartupOptions/RectangleConverter.cs create mode 100644 OnTopReplica/StartupOptions/ScreenPositionConverter.cs create mode 100644 OnTopReplica/StartupOptions/SizeConverter.cs create mode 100644 OnTopReplica/StoredRegion.cs create mode 100644 OnTopReplica/StoredRegionArray.cs create mode 100644 OnTopReplica/StoredRegionComparer.cs create mode 100644 OnTopReplica/Strings.cs.resx create mode 100644 OnTopReplica/Strings.da.resx create mode 100644 OnTopReplica/Strings.de.resx create mode 100644 OnTopReplica/Strings.es.resx create mode 100644 OnTopReplica/Strings.fi.resx create mode 100644 OnTopReplica/Strings.it.resx create mode 100644 OnTopReplica/Strings.no.resx create mode 100644 OnTopReplica/Strings.pl.resx create mode 100644 OnTopReplica/Strings.pt-BR.resx create mode 100644 OnTopReplica/Strings.pt.resx create mode 100644 OnTopReplica/Strings.resx create mode 100644 OnTopReplica/Strings.ru.resx create mode 100644 OnTopReplica/Strings.tr.resx create mode 100644 OnTopReplica/Strings.zh-Hans.resx create mode 100644 OnTopReplica/ThumbnailPanel.cs create mode 100644 OnTopReplica/ThumbnailRegion.cs create mode 100644 OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs create mode 100644 OnTopReplica/Update/UpdateInformation.cs create mode 100644 OnTopReplica/Update/UpdateManager.cs create mode 100644 OnTopReplica/Win32Helper.cs create mode 100644 OnTopReplica/WindowHandle.cs create mode 100644 OnTopReplica/WindowListMenuManager.cs create mode 100644 OnTopReplica/WindowSeekers/BaseWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/IWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/PointBasedWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/TaskWindowSeeker.cs create mode 100644 OnTopReplica/WindowsFormsExtensions.cs create mode 100644 OnTopReplica/app.config create mode 100644 OriginalAssets/Logo.png create mode 100644 OriginalAssets/icon.pdn create mode 100644 OriginalAssets/new-icon.png diff --git a/.hgignore b/.hgignore new file mode 100644 index 0000000..74e09be --- /dev/null +++ b/.hgignore @@ -0,0 +1,9 @@ +glob:OnTopReplica.suo +glob:bin/* +glob:obj/* +glob:publish/* +glob:*Thumbs.db +glob:Installer/OnTopReplica-Setup.exe +syntax: glob +*.Designer.cs +*.suo diff --git a/Docs/Settings List.txt b/Docs/Settings List.txt new file mode 100644 index 0000000..b54e994 --- /dev/null +++ b/Docs/Settings List.txt @@ -0,0 +1,7 @@ +OPTIONS + ++ Language + Drop down list with icons + Restart notice + ++ Shortcuts \ No newline at end of file diff --git a/Graphics/Raster/help.png b/Graphics/Raster/help.png new file mode 100644 index 0000000000000000000000000000000000000000..299ccbf9ad14a3a2abce2d1d07d7259faf74dc6f GIT binary patch literal 1163 zcmbVMOK8+u7>FQfhzhHIqya0W^ebh7T##LKO&djxh|2(6Gk$ zKZM;B6&bQiWn9khkWJ*ojnF1ucRYfosP3M+XPBc9g9;qBU4{N|;}#8UOQCls^K9PB zz!7`fgbxQM`b*}-s3}==&sNY~mkEIbu>tB%)eYpjLQnI`WFBraG?+HQqY6FaR5@P& z8RSEdj0-W7R8=4Fn3{2nlu#H?0G8z>$h83E4IunB9 z<@0mIZZMlDk}{@lcnlY38OI6Znzjyb5q@`LUhAMV?m?yq12pEFAcE|nGDOTDP84xwo7PYb8dhQ*Mv=7o9NDB*`H$Nj1LWr{1QUd zW(5>R5JtfW@<3)l1e(i zusD7wmgW|zz;HTO`eZTJJkTW_HXTJ^kCx~F1vED literal 0 HcmV?d00001 diff --git a/Graphics/Raster/minimize.png b/Graphics/Raster/minimize.png new file mode 100644 index 0000000000000000000000000000000000000000..f6684e583981191fabe21d762a9ff9537cec7dd2 GIT binary patch literal 1110 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

    4m_PT&$ zD|U6yf+(|pb|gaYC9P_0g8N5CG?yc?{9>DyB4tUm|Rz!7b z(b#Nb+cr!@;++;-?3jpGjXSZs{AM*^aKTeGP1CSO8yj5{$(rNCvNl+A*K?9%d4Gp3 zDJ$z|Yaq#z2x+2_-b9ESLdmOrZ(DAWVN(qaA*4^%N<>R&Rio6xP8AbY9@*B*q*! zhYQSmq_ccuObevzrnZ~9#8z8gb@M-Je!H{Yr7XL}xAs$}r7=|782`airYQ(tW%{Vz zy5O0yLcM1y$Ji&c-U6un{-q#q+nVbil;t+JS-LV!4My{q`0I5orrhvQlbi9}f`1GU z{gbIZhHhDd%|xYyVhWfL8CTHXmd4Jp9po#gZLr;LV)l+ctp5CTj*}Kq8kTH%)}r1U=f=2&wPmxn0jj!mgm6E^p#QPq)qxqW$=; zP6{#7#zwiH={ib*wtS*p%zoD2OWVJ8UvCMmFJ@Cxx^X_&Kc=qp9p_*WvVARw>$#xKh0`>_uXUIcWzGG3 z@Gn*NbMrsa>Dk-+}3PmHwVp4c&{q;08a&@-Urj@WwwpkDxtTlG8RS{zN?cbE*p!Kb*l>kro=9h{+6KKs|LN{y1sO3NEVE=7XQ}*uO zK;z!EtzBvZJ4Vwd?XO zcN5>zZK>=KZRdailY|CDCa_YVC|Cwo@jK(5K%;nP7Kx!AyqS*EF$J91A#~9J-PVrF zr5f$-T2w`ldOLe*Rf}>E9#ms1zns4u6e07Bn+bj(XPNL z50~WDH)tVcpUk^hODj=^JFpeicXUhhAi$ZL1FO-X-KzeDC}3`M zY9Ciz*-6t_N`JNPW0qAAnjE2sswWmxZeLBHNxAAO@T9@d?`6$>-8_eQ>=5ty;Dr3k z+k4v>McW5rHMXVkz3q%$MO#BcCnj5n$=#|cZqgsl9EYr>ir74D56qJBp7Su^4(s3pYmtXJq}Qt*mjn3JSi^M#nlWM5ko`2{6$ zlLp9Pcs2NfYZyVYzo2s&!4w_rIAako5&>o`$-IGl&4^hs8|}te?sE}!kKtllM9E?V z^tk{UMM;*eK%-D9g@M6>UF2Y>H~(JEG}s0HjErjt7!SC7JyOFx?z04G&&{&+rS!2m z8?RQoYv^^X8ZXs9lGVWP$^w!Tc)z?KFb+zQ%}oCcca`+V)FPtAqIpg560z6V@04#G z+n!sMw=CPu;_8=XjCg&`X~Qp~7f7e$TW3PCc3FBj^q1N<`Zs*4QaNw2HM;56*elcs z_VXT}ikBU)Ov6>bTAzt{fE!I+gj`@_ePvZS7-Fv2z=BRUT!==%=IUMNo`m#hRbzKh zA?&N&eH94qwQ_P8KsBy6k>nHEp z{;U9)@-`BV43g^#@!1dse+*#(42+c$J|q0fUlUIwucXc+wW47WhsiaV<8v00uVXX* zP{eVq;TShedhJ-O7Z$;Nh;zc>Fd*Dld`;O){NIGEltjXDVtB+9BA@umv!19S{qF{x z>fU?=`HA{PBS*W@HgNJWUNjln13QPdvvdfzfc9+ta{L^+d-yW^6?*vW4|pQo_Kz$^ zOA`#?%eSZ_k%jyiwj&D9+kw1{=JLEswqa_ys&zToMy}g38ZMR7HyeWGbC4q|TVpz` zUzw}&hQCp)WPU|XlYK#)K?O?di}#`vBss})Oo})>>?Y>DsA|?5^l8!h5vl*x7LTXSqD`1lL-nL~jA%o9iRi#};%_1{IUfi-;&aaCnp9FICo{*3 zbe#PoPETIT-WHrk*02fFpOI79StFF@GQLf=p4UzAl?w4ZfTiWxE7R$9`>(qLh=b36hc4 z)30^B^2Mb*2V@q_liP-Bg}>s)p>LKFIUg|JQ}1$i<0i&j=M3P!`)%cX!3!rhaG&7b zjPy{nfis=>l=7W@lw^Pnu}NhA5*|B*+?8s>o=lk&AtrA(V}iYuFbkB_ot@ z9V?e5CI4j2VzojKG4HbU#ZqPm3y}h3Qd!B-T}(PF$oCdg!E%|L$^6B9IzkCROb77> zaya9<=n`}+qfX>gbcj(Z%v~>MLwhbLL$?L z)%K7ix?H)VXfi!bk-qL0eUaQbs)p_=3taGt_COXr={Y?_q#vc`(LK#qh)-xgO!45& zv>k@BLNX1ht6Y~%OVnF));)JX=PNfK(AXmkZ&tWkd}sX_mxQkT!H1}o8(9XY!c zT!2HuKKWr_RG60>1D@q|QIQLAvrki)Api3N&`#5-%BO%Xw7+6Au&HW`+yrLkc*xqI zYZAhxw_uM#w@c}W1TTfm5AnA>MEV)=_Ro7U@6a~MufZ>%qGd;sK9vupdr+0xX_E73 zMZ8op8PggXEbhh%yuu|u*kOC3xDgjHq7CXv=_~v*WW3}xp{L@G_!}`hi!Yu=e7EMB zsDwlfX%&7ZJ(+V`lt_AIPZMg$`$s6sGs!x}I0Q+Y&xo(^5J4H$nVW?Q24qc!;4}js z5-zY-0GU%SkTI(4W&C6R-bz#EiM|Ws;X6gH{2%3|LVvz6bD|)Q_cd-8pTgH%DZVxx$YM89Z7zQ+~GWfxu68Duc*hBJGUx;DIGumX>qxNJ8c; z;VOY zFJ?dDS#2DawUJr`n#NRECVyZ3>C)%Cp}J$~9B#X*Wpy~`ka58h0ms)c=*edHYd_f2 z+0%JdBNV#7?t1YSz&q2Ivbcg6V|m54^=bNls(vh=p!=)F!T-LF4s37@Ht>PRt(Mee z@c(qkT!;E%cB+;EfX1X6Wd1gN3ux84dpaNR*O)==b12upUyFckbX}rzgVowBR_#L! zj>tl7FiwNTRk!FNa7DgT?P#*0@<&XVW(s<|f3BK?KIJ+?a|_M4!75O=&=Cr$ z)i1?9sJc+A$Mxj}XdUo?WVu>Nm>O+T6%o1?JyISdj-PQyb%W4n(;|bC<3}jOwc0wW zs>)3}iF!X5t>(}?*Pd66r>%*esyIgjF2XC8(r7a*N+(*h&0$FoeRQTELbOHP!b+O@ zDtBehE!A4ikF_z1Q=H}~o?O7mU9?2Dj}tM2Ag|_tZ2lJeu?!=!;Jum+Qoo8%sw+}L|AxES})3&ftNlI*^RLk-erx(Il$x8QtgC_0hOC(S ztbq#3U3$^-8@%89gXIcDGHFA@ckoYZou40=;SpKY0WD7<_<~7IL(rjAkA_;C{J~lv5*u^fvEaeHJ-?{hhiPa^K1ardaaJCEE<$ z6hH4&Ll9-@B!zJd#orp0dVy&fp(<4kfvns-w8fQGu^w;w%38aUX86FGxgv1hy z5I?E67RR4#jb%OiFI92HQmPEd9X791)UCT@oGstC;=1mq?B?Q4wed27msHD;^-mIO z7yMau`E&oHbakioXL9$OHtFZDJ8H1j1X{6Iw@}-=c%ycm7U(sgDN?_gv|s&F)M(8m z{LjiR@EPbUtWKNRpII!AtM2nC?OA5o=w9C77ufxv(r1QtV?`y%Hlcg4s?eI9`UGtq zHI}vIqc#I8=&8HDq4thQ_aO?VzAY3(3}`tEA}M1;GJZz&-zvOCmhPr7H-#>#(nnESiCkM5I_ z-sw+Yx9Un;Jv}X~v?YQb>#J$P(L-HlH5urxcE2re7}gUMxAZ@1S634+C}mN{RG#aq zovnE8@vzm+W4SP2Tw@qF$tAZSZ$(zYmeyZY7fNh3;WdlPBbWjZx+(>F2hv!R zn70tN3A|vnKcW(P&hG`{FZgZyow!!S(XIX^XR9k((BA3uG5) zGJIj~9LOqU@Tz6df6(@R?y#wtQu`|WGVJPsw88=8n5LeRt*CX%)N<>W<7ii_d@*Oi z2tY4xa`q44FZ`O=mEhfkT;B{ZfH=Y44ZocC6|?sr$kW;$}dt3 zpy^di>X@v{fag@`$~0gX^~eH4&28$7aaRcQY39CtIVA4;`o#RRT)fP#=mF<5`A+Fk z4!P!jg^c5vd7^p>yMF}%aEhHj|9v%&J!M=yfy;vTW@Zr-HFaNdpUK@N!-dnO2S`ID zlO+(q*|LY?g&9vOQKAXU_f;})wNvW zsUoAMp!!WIOO>55zhb(AzkE^UkbIKQ+wv2#mT`$hSFXAzJ)PGYZl04pt7(mRLSA8g z1aVSfwK=9bq9og3OX+kui78xa_rVRuKD8fsIlmjF~N*6*yC+?Dn)RGj#+&J>BNty z`GF!~hd{s4mn$M6Z?L|pde{&S9La|N#M8X$;lcQCW2Q5LNPyO`vTH<<_DW?sX$e!kwJPWRS_GZk16Noe23Ii?pbg4vuQQWT_sF5T~l7}!7kwh zRnpkLs9)7Xtox-;Ywoey)*C>VS;X+C5L?#zIZzOe@O~?9MV-JgQ|CG!OJ25TQm`#(baaUaGQgST`W$6XWsShaK-b& z_Kr!6!zDf~o$xJX)W)=;^A$%d`D;H_9WpzF9jZi=JfJ%1AOQ%P7V@45f|Prd63;-b>$cS^;%T}E7goxp zt%%nEXWCNKY9JWeik5+!3m#!EK=&m+#yP-ug+$^$ALmIf@R9R(M;++n1H%l}Y>@$yXky^38d7lNsJ71~0~tf{N`Npc2V z%J3qcgS=RIo2-Lf@^7RhAy&DFsC@Y6KNQ7F=82sJ+0NLD8xJF+sJI6R&+&QA38ut?u}G5N_Cj zqY&4x0OB_ge=Jhq_maRawuG0&(eV;%5m4GDS~}81cSTG@b<^`ohtTbGN?Hk~fo@)I z^(fGHExe6AMnCM_j9)-+7}17E3~S>LQj_2h_!PJk;x~U%$#K+p9w(KFcHsVwd4Rsj zH7zVc|K#?(qAL zLW#l7!I%OeYLuE}y+7PZJ_F6y$3t~6S}nV{1TNNer}!WgYUk)4WRdc-9}DTHeCce1 zPM0hgp#%o-{HCqs4G?C-Hs}OsgC(QrJgnJtXMHEU-f%HG0a2#kyMJVn zv8>aK!See!5aU!;S<>2?>DCQ~X&Uru<4|dY=F8dkG{D-33 zGk4J@gG;bcv|Q*Sz!{nWc0JF7b_-FH6haR|USGD4u18Os`jsd&H9O?Yn(f% zKmwF=xAF|(9;Yw6jF`wNj(3SU|(_MQoPv3BNX*C4lRWsYw#|T zJC&30Vu?#uJN}(`VSE@NUsMuWOlT6`@LorV5ji_zNZ0vRTi}l@>QZc`_ATNp_J`(g zYt$B2&CHsHyP~pN(~6H$42PV?QxpMSw{U+eCOcLU&+<2pP?UWbl7)uI!}^(jmVdz3 znOrip*!KpfHOp|xI(7&SN6}e7WriKpTy+d2PT&hhD14e^N8VpxmiR~E+u|)^TFITX zHnCrMU2K@>SJkYb58`!zMIKDaH^7H6pCr?P?tds+87^NmtLzDAtI$-LRrFLCT-}iR zRdA!`=*n)vM$pb6h2TD9y~hU863FhcfkGJcfB$(V7YpI5flq+F{FUIXMH6|?pf#yJ zyk^+96<>KIM0Jn@uNi5*2;`fPO=Hve)6n4~J;b26vBB!?iOx1Zp+vb?gYY_5eiLb#}WSq>|}eA)CEqg=j3_oOISO|#^olK zmi$k^Q&u-6&V4QGH)Yyb1UsHOy7rNia5H+1qdnK>-Kb=#S9S(BDKFupS1 z25eh9V=(2eGU_=X#<(*?p7Oq$qKtCm@jlt0C1QP=m z(dqolZeQsB0?)B}27x^)3kjzCs^(W+qc2us@)GDa3Se>%ZM%GV^d}lkR_@q9$v8yJb-D zO66D;t%<#7gaX^vGV>;soY$@`_>!?nlT&;&K0~c5t6WA_FR0i&AER!m%5mOME35Le zT2kY||C^PJ%OFpUPia?)mwI~n&y4Y^xmA&ChLstBv}JCJVW8LimCD(mB4@A~4z!N1 zU>>4+L>4eZIam`>yvq8_&-8Tp6L8;}+45P?6=8Cj8m9BPFFOQBIF~9ouxD25rWD&b zLe((jX!xF@QdtAy_l8R8NtAyaKspY+JoKf6h4J=5N{pC#=LqRJjFZ*k*z<3+7@%KD z$EOtPC3^@n((1(T2!~cTh=Ymgp*5mL;t3yHQ48^>^CWQ=vDRvFq|ruqz3MOG`?R+O zuf(gvRKst5xcwr-59&$%$M>oy8AsD8&I!_c%rEjSyy3awGdn3$)l9L<#vf@MsHm~Sx#bv>0<>sN@qM!g$c+oP6teynQoc_ z*k*s%cpLD*s(Ba8(h;ht%*?M|lm5vx3-C`uqhT+wC2E|W2ln-Ut~(0Jo$0F=Lbf}& z=`4_k*5?hx(Wt7zLE|cDVS1$g39KRhg3bUx8wshcKs@k=Xd96O9=B^lk!Kx(H3KN0 zKT@cG5m|+k^eGtj293@RTNJ-Uy8|~n;+Tep+u=V}y%8VeQLCAapX;zx<&VGf=XqxE z2vvZs-9bLF!Cp(JtXVUlvEFe;WT>7|4lgpQ>?n6V(5fKHutSXeEA_(2^CQ3cZ?#bN zv^2eDB|BzKit0JrC;XMtz*1~FX1#Dom(6DV{eLKtrdU*-wpbl4iivxo zd@MW?u2Kku;R|oc8A5ya9dfKN$ss_}%DeG@s0g(}`6z9?3Zra|JFJ|cI2(?XtK>Hq z-k0Uc54nGnIm((HFyd_f`2U|u@93$>PED-rGUi^4N$s3mup;||&-XsLI>8ljct6N?G+=HhyGiu1*)0!QCxlR{a?g1xQ^I7hI zU;m*f%SZZ|cD!vOs58E`r2u>K-!c)2jt^*pqSB&58;+u<1O?QmpxeA;mUi@Krvvpj&)z(MIaECJ3Q? z&8dblYGp0$jb=cSH;0;7vW;WbVFLDKJZ z!!Sn_Z*yA-WR0FQM%eDNh0n9PO?@TD^JtGwc00J@k% z;M<^9p9NqP$2RmTXE%dXdus#ukcV3!S70rQ~p z=u0(E;OFN70N0T)+Y@998rXg-a~LGoC*|f?uXKMDbiz__y5eJq*_9z>yODR(1}jU^ zs;EcR?${Y~2Py|}9=3htQ-sRaZyT~Ow`(a`-q^o*%X6D?m$6<2@9-ze@0Cm^>`pb6 zohNohjj5oKNOLEY+mXK6>d5aYpISmvR?$5*f2Xgd$8+{&{X++#`}5#*LD`YQt@NIh zh7u9|dSrCjT*er0O36va|6}VdprU-f$A3{o1q(z`u?3NC5Tv`ibAg2oU}0g|?(SZ? zyFoyaPzD14q=3(9FJ?Gw*^ioa_C#^OOsd7`nRbhexlVb%Ewwzjcbs;a0yq8 z4!j~>L9PzHAY|o@N0J2U$zNmM^V$Oq;-|St`;Cci9MRUsgd$GyqI9eu)xVnV-C5Bn zY6vhZ3nJYMaV>tAw=w*Wydya_nk20W5XR+*@7h(w4~crWM#sAeuPutfCQ&`A9(biT zF-5EV-qrh)qJx*!tc6vCO;)Z;dKnd2RuEtt>ssPx=N1Pk-nQj;oR{>^qF`(`)v1b= zzAKU}Yy@V;#u2|{DH7FSj^M!*c2XL2BJGKPcurfUj!i#I4fI-fDwhiRYxm~9s~AsN zos1Bq0QLcZgqaM34BK3fOk(DfL^@~?jPjF04nQB-=wvU-RnY}OgJIj|T2#T6a*c!p zP&}_X*%Ok54^91?os@kpotW#C-~@b-x6Bu%^plKQ8-q;?%r*{#Bn21dC={(UBIXx- z7w1jFj)GKdck-e_78IR&08tgcG~K(X#is}eM>bleWin96jmDXKQ3vKITygQisKwY< z?4sCYTq?#t0g5{W*^=ynSC3nm`T`&0Ell5yZ?x>n(8WLA(3|0f|J!?zv=qQ_Dt$l8 zDO!aNL>tFh(!PV&ChF6uvCESm(zLv;0raRtmKy<|sFV$UX-(9BJMZM-pypCqL=C$kf6l87;)GA4+wYJB^>LOwvz5sJasR>oEHo)uOMF zvP!S4B{3akWzqWa>=J)Zlf)AWf%)mAHS!Y{1{oj<(77s8gR<8sI8%>eqWJ{;Re7Y`Uy8FKwu~2wdzwJtR_9J6ujh=W6sMBd zr$T^f-K^J6-!lSP9)`~|448j3`$4@-&v}ZS6sA;ktuYjix zC8(7dBl=~iZ<$jX!`Shxg>z3>bc}W~_j1xolzpB>>LLgwpPn|E&;&mZEDWF)s%5?2 zb04t-qNlHcI0ZeRAwYeFw$D+R`_z1BGVpfMP^j;|>HeWhKZuw-=EQS)OMPS^zzeUl*syaf5&GJCxg9xWk?R zJBKjV(}CSboYe>^OhNR|mmz5wSb!uK`ehZOGBR(0UC=vX0g&71qrMli6EIPBjX7w{ zm7Tdc4%oFC>hKEeKbwtMo4%P8UtkY(Ae94eW$BW-V)8*3New=qAW@`JJ2hx3sdUFz z$Qe?D`rZ8Xq`z%mX$y=3cC&ZEQ_>SyXMn4KK`fi-?yMC|rjIkIl=0FwA1q@~cQk?; z8C>s~~k=(+;!DY2I`7 z{@fR=e^v^fmmFIr&9_QzE!~!WGp(sOAc~#=l&5(c0v}7S+n_TKOLe!O2Bu5G)w5wh z);~)d{R{IZ;&-kpHa$iJSb%fV^}YLXKr0G@n2ba&0%QMxD*Qu3CwkfDO&n z7wK)0SN`JcyO2V-V=f_SxF8hvJ9KrScRs-N0m2MkZoVCHx1diyRZ{^X?!whb+#2ioE0M1iy~ro0S#d&|122@Hglks$J*}n15}f zaAo#-d^IR9M?_eYFq3U2pEI#-{*!+99Cnl^3sWv6o8kKrJ`f0Qu z^;5iw?^&8dlJlPHw7OIkgBx^onu*pY=17`CIg@hC?4HwwUzA-;q9=p^#H6Fi+oQ6` zOHwcTt|mvPNAB??4*`{j$xyPhytJmMKeAGlv(aVHzr78~4ob&IrteJ6!=DAFL?Q`R zS$H2af*1_5=MiS12D@Gmx!E8sIf;|)I;SNMJO5sgTuc^ZHYEhBnq3zWj%DPUdIw^^ z!bQcJr!WBIBF)d3*`mL`P0WLN3RH-w#Y`mS7ooA~VQl0U>^0AFWED=|mW2F+1L_k{ zTX9m&Dbx@SFegv^XP;+v7o4K>C!Q@lM7bII1(8je@YFy&r0{K?7dcQe^u89EQ-GRn zMKcu6yq5VqOAGGLDNnR12Z5>L_nEG|4U_- z=C6}56Ar_7i(iDigx?e0^jK36DD1bX{d87usoR7P@l(d3xtrKr=rtyfkJB z?{(Cz02Hq+_Lp-dPm%D*d?RlvIdjWWfnmz`Wn>{V)o@N80-4K+`KcmKMBMLaV~%Fx zh<`i#PD-@XXZAQ?)U1yECjG?b)0}S^v&$N}tr>sY66`NaUXW75bO&TanKCWYOZ}#p zI=~($bEaxmvDsp#9@ubmI`cF5*RlpyIQZq9mO|kC6DIf4z@XESRx}g@>wAp`&t93XpB%b0W!?C*$-PMoKbPLQAFIY)$0wDRFTpD3H)3`ZViZ9$&N z5sE>f=_U|GSeUUajqBIpsvmk9`$ zN!I_R5;}1h#@R3g?i*v$+Xt`9Ks%`6-qU{>=iv^}kLwC>2@Kt35%?t9-Ty=F#Rdp+ z!WLtv1jb%Buz&cuds?vPc~WBoY!S~-Hyv|>XSFN{XT}`R9ySAoR#|^HUR?%6jj-TM!7QSeo;nL+o(5i)7x$kls=j3t!#;KsKRquGn<>otU{^lLd zd$Q1!jV?%-qe#ltDP&~|qjEY5$v$Nq5F%;sW%jS473MG4{36i~2pe29rTKufwTQjY zn;DG`n3tc=Lm#jnVB36_vku}+_r|fJa7E^1<~3Z&4ppWM*R0vfe2n8Q%%@WcvHynx zFf%CQ-fU(B<(=a+;|pcVd^sbZ(z3mRp-E}hG-s@*9AB75)1(yrmkOC>*l?`96Bs@m zH^(9RNA@A})$~1V?d`8=H1y@gYh0m`fYQhssu@Q_rOyLC?C9yX9#P~?~0 z@wK~SLN*+)D~ugm+R&gIr?gBY^3+FjRQ|tS)YrG>Nz`xW+3HuZC~I`}#`p;XQB_ak z=mziVx}@o)Ej5M7@yeYkw}8Yssz|wFgse~d4CH{-4MEqx7A zTS_hs0x8D@&K($jPM$!Xr@VnB2f@$w-Y!`VHMC4Aj>~q_Z&h5*QP=rV9F!Bdv`Dck zr$@Pt`9?28osro^(!|*FQ2jvUk7ne$2;kAX8B$P0#cU;US%;S=m43oeUpz_w zWd2@kMeo-u6UEarbpk|->8zy;empHs>2HMpU#j{?3kjz>G}Fmeh=5&?glfftt=ZfKu*yNI@Cd-X3*|HZo#`(8y}?I-L-@Dhm7pCt z+-P?QE^%92YxZG3K_WNznN4}p$Gn-%E0Y7@dMf3FK*WR6XWmXZKyJ2wf9^M&Rq)k3 zcJ|irA^3{;ndq1ThA%NLr0|{fsdz?_%_dU93{p*{nP7+Em8iShA<^u!KI*7Fn8N`W z)Mv<{5D~gPZaN|flj2hu4aTmv)``i&_HR;;yMi-P*+fjkrVhw30;DlH+tcVhzcyD#HYA@?*KWV=))b3~*b;VWakW ztFc?aD*hbS)!4nkGS*t}q_8d~&dMy@mbqOQ6n%y%RXIjjO0kfB-lHaWWn?-Zks^`b zJYI{(K``G^k!{RS;E3S5*R7DN`~#N9L)Y_lbuFWMcxP2k;eSzVq}Fz;ss`wX_kO5Y zf`q$!lrll8KFf*&V{!sq|!o1h=uGg9B@t~R{{sDjO`-IsB1ekO%V7n})_L0^)6!wPd+ z;Gd&ZU@_?fu@QM6A`BDa;b=E#QcuBC(>2NJi1lmtq#Z;Q&gsG-`J4Q@5lrGl(9I%T zzBH^0nUMyFGC?_o+r%cJSGdaKN6=SI;PJy4oc6WUr^+jzloatJcb~T(QI|mXKS&JD z!v>EN3jkT+NFqNhBx;P<=JF|aGx4hN=a?g;W!kJ1AW8YHAuAJy?UBf;#uI(jSSw&9 zfnLnq)auYJjPs%L2qMGNB`)eJ{jPCER1ke!J36_Z{(YWe*SWqE|H1Wnoe_2AKJd2? z2BfM4@8W+9T@o%FampoqQk( z2Mh;X35w4u$T;qJ4s4iJWZ(g2f#oYbVVdASa}*LxhsC7>d{6_4iRpKtrYV~;GZK>k z4WNlYNV;-uj-v*!E@#EAA)qw3Y~`A4R_??ch2>F4qAVZ~q)sd*+XJjfK;&v9XeV31 zh67wvYx4sfw9}&D1Nz?prwR_OI0!+{d(4PCDOO?G1#ConcEWYwOalt2_*ACyc(FIz!`SfU;0OM~<>css78kQ{a&uajjL<%`dYy&D^Y-|vTu z|APN!-3MWV%ZOyzc;u_!2f+qOoAa(w6V0-8RUSA9j2jJEaO_^Qv$M8f6)@L|ML#$(G867GL z-+4DWOaxqhAL_*3Kd%d~fE0$T$ydu>5&koMIA<{Wa#R{DE}rIfBJXz64{H(J7_esR zRd{E*!xC%MfsEC2R1p)~5A2JPz$&u_<8P(Wz-`GIk#SH0V6EqaobBl^tS;wfW`ehR z<%WXPmuyA60FBL2m@dp_fOo2Ku1VV^aV)#LFVTn2t*wHk5;I=N*S z5}f^Y$qK~UoTfR75P^~=nSrikm#54?4yQay^U5v>-HLsT|x6izR?K9Bp$bfP))R zyN)QpznG^Ae?>?rLtsGk1l7Q1hbXaZ2FkMgyMjQ| ztLAkT^oQh2%R#2$uO;;fy-}aVfx+gnRN(`c()cvNWixKPT!7i+mRK#=pjL&rLdVQg z`Iq2@!4ERk3S{Apap=PH(a`~yiqzun>^+Y(P1Dx9CyKPgV=`Uc{LFGwI}llkgf&yh|CW}v)U=mtve?GGTqiJv>vmJxh?gp1*Kq^{93*4u93VbUukl2y@ zI{6{-Q-m&HD`~m6UD^kdhP`fvF=>r~Z~7gQxi&m&gp{SCM_fbt*JFeA;}R40ZiKK~y1w!kv zuSqEaJFgunR{R}y+frS5&|RREG#+P7FK`d%qsl6xE&1U569OM%mj@@r-@+aYn+;il zV@FZl7vX`ix2+I_poE*-+UF_kV zkh>OJ3W(Y9Tdx)L=eRDnK*r^4o0CWUi~Oe2p-I`#q8H_;=BD~L=0aej&L%Kk-bZtE zUTFTet$}%);cSiHg%{zlISTXFJExq{BSAieeNk$V4Twg+!_dkigcCITByxw@g&YL3 zck80;o5)`ppWtPvt#cIN%KQ^1mjY!tbYx(b0{78R7i^7p+FiX}d=m!AFIg{4EV-yk5zY7X&aE-{U~; zo0x$K&+SH;@?YZA@nG2)*u=E8oyw}cQhUMLp>LphyPpJq`$rB|LV*8 z3gRYp)QN@kqTaL0Lv5qh7&xLFsDT^xkOkC4^+{#@{`2tsSC?B^nYUkueP3x;;A7K< zQhCVL?d@gZ;d`|(l~xgviz3PnM*-$$^r_rADu2a1>uRqU4OO*^QV7Fun3yQaqSCho z7Q4k{X~IhDV$ByVQ>=}5ReG?yfo^m1MJn@@i@S7PG}_itx*_(y@fN8|!osbN(y7GS z)wS~DNn00Q7GFp)o0Ej>oXatYdCECYNJ#u;6DF)l{$jLVcrCSU3rGY6JX`fgJe6j& zuw9^*;W#G=``ZH${>^Tj%6Z!9<<Kt#^T&)q3cR;Kyf5ljr(;kZ+g2$e{1|U*7m*~Gdut2 z@7(2OkhPm>*kW|j_?hWav)$%?77$C0RkQUmn>)5Y?APzHbqIIN-OF)maz5sA$92|S z)5Fly!z;FB#LU*cB8?@Vw^3{T2R zMyGI7D*#<-htn@)+ylPPS_skt?}S)GJ+dQmQgT5scpf%ixtpgzURa4}C~8OULk*%2 zVUA-@;m+eH3FnFDNN35XDJQ8Dv}5!!#t3te)z9wcv~e4G)%;R{M9383#Q74SG)@*I zcT-pw?<(0)y1evH*@yB+71t|IRgF}4)zs7q>+to^hS)~$ChO*HEh}4ow!UbaYMbXenZZ*B_YXA;i${o~*@xl}`;OTj*>QCB(ci~j z9iJILIkEpl!%4|0;^~|-@n^lxnVnxhsWSQU!nKQsFST42U%^~WyXJr0a%%nbg6StW z&d>DSEWJgzoqosnuF1XC_dea9elYT|`VsDN>=Wy!E1y1lcJz7q3;0XFSDRnGdwu*( z@mu7(==atiR(*K!@%X38&xK$7zi#>ZarVSF#rL!yhCg2ZZ26V+TjTe@pM<%Vqw;J~ z%VHBX`jWAwPt{d5)-B((V#~@+t2V6G(bU#jy+%V@Rr}}KkL#Z3Os_w;;rhlqy7xET z-+Xt=&8^qBUD|$j$N0{}dI$CUcXb=I?`}4%H>x$RHmNc#H&d8PECkBdz_g~>P;5zd zBzw{xvIEtTw3q0FcgDNmT?uX^cd7@&lj9}umimXw}{=dMf5d?9I44@%IuQCO%Dik^DO4ed=exY}(I^1;9m_Dw%(>euBP(XCa@V zAG6=(yvcnDdzSY&|33Uq!A#+G#QCD*$RSh@x(QQ(72_CqtTI}m^p}u>DehETnjw7? zV>RP9^EK-x`wZtGx0$El(*$rKKolZ&mY7I&W$Lo;^5=>h#ivV#OIylh<>ZRo%7iMv zYP%Z!TJ1X3y3h4b8m1f1G#zT**V5ct(I#nUb&xtyU3uN09zbuxzNo&?{-6Q>{XPf0 z2fYq@5BUuHjRcH_9Evy`JC=MT<0$l4!ExL;eS&*Je6sjd)#;`)U1txR8#{k$^74gS z7oS{ufBDB%wQE|}w@evL+u!h-3BQ?gEBiL)4)d=3UgiDz2dxjg9`!vw@MQSup=U>) zAAfQ6<>ObM->AOTdbjPp$%j23JwJtfj{lPJ6*>$1miIm92k>XiFR$O`e{|;Rf8pXq z(~H4sCzh%$vr>=H$Xs5q0=*Ku3cDJsiP0)rldlb4o3buK$9ui~2E&auy3U*2HoItGvqTRS^r z`|W$yIcPX8aQw3OwbMiAn=V&e&$^AfAMzOV?DOjMZuY73t@JDLmj{Rgg+aVvZU`ro z9mWplM6e^-QS4}T3@4Tw$BP#vh!Q19vgG2FQf0qTl~$8pn^6aB$ZX7N2DN}&A#Kq1 z?Dm|F+zwbrUPpc#ytSaIumMq9RD~=&=f$tCF0{4!{HMny_xd{uOHL`_(2 zXkBQ1SVKf(bW?nDYD-ottPR~x?GScWc6D@*^qlLxyYFNFvVm>;_Z$cx%sI#!Y8*Z` za{rLZ;q7CdM>3DHjm1*?lumk^ibSNg7Axb|{N zZFx5~+j!Yp z+3m2`+@rGRy~6{?D|^SC_B%Jbl)7@=2<~|v>7LPE{@zYL7QQ?Ebo@2^{{(ytd=_*o z_+rRJ=ulW!cwK}-*$%MLxiP7+;c=evwh6lu*C#DY`kwqU{P9)`8&73WjoIR!C=ZV1C7t)d^uN2v4Y1DI+o69>b`5L}4* zq!px3F9qm6laBTm?fm4I$4_+C%Is9hS67XWpM%e%@%(_d>=+@}-)~V^{87TXfxEDrma!M#aqd&9}EV-toCxc(3mMg@+3t z1wSr(^7NVAbLNZbSH`c&Z>HW^z88OZ`ziQy`&ZT3gl`?+zx;Ikh5J47N7(?#%Jd|Z zG)am(Uq)&ro*$SYl@T$O+N1_zCM}3`g2;d}NWY0k!pF!NBxi>O6fN?qpA$qp&*ss7 zVg@JYoEtHjb*{gh2xDfIPZLWSp49ck8}v{}0?C{P3hO5IQ0w++laZ7s-$w~{#qb9| z2o^HwnX?2J@r6D|0z{ZnCL?t6O~`MFOSn70A;co~n$V-9<;(^4?xbh5&e?}}v%10i z%3I>A#!g$~gUjCa9>X(=V@tj9cV!z%X9=OAkDwUBCI0@9w?sTA*p5X4F_OO8<1)Gy z-EG2UwY)spj$<{b_W*FGt0Bd+c;m8JVjsRoF_;A-cuL$u%m}~uINQg>Pt3QUN3mxP zM&B{Vp6t^;;fa0JsolK+XVRRexP>dLogp;h^(x{s75Gz%)?g|@BBIzP5+&@^Pbh4} z@%CGoE@xL1lZfzyT-@gN`OZi>koCmcIc!#qyNZ{stb5Td0K3?o7jZV8=9IFT_XAh)q>295EsHG@7vKPuTm*QMRXT&2lrrs3PD!77f}sKTh52YQTLRgCe&Qo_Wf^4j* zOK5q|ZZblveqX*vPc27`Vrjw>?WPXuQ`s}&0JT7(ff}K%6}khiQ%>@L0qZFxY_N4b zg~w2RnndTd)?Uh?RW&N_1EgN98E#CZ+E>U0WXiD;1#*~zmW=?GQXE8m{za6Hyi997 z%2p=s$pYH@{=kd6G}W%*q4QM7*0=^MN<)JwA4jpP-d1#q{H9DhHGq6rcGK?>xku<| zHAFtjy71^4t?$H`pnkE-h^^QCkJVA*aimVGDkL~-;y+}@LA36n+cI zOJsYkbjTK*-wzj14_%2mZ%?^?CjP*8%95kywQMqMXbpEKS+lpkaEA1tRV{gtbfWr~ zZwKk3BF6F-=?8b}j+W#BzW3A{(R+MG|32Y*ykqrVJ{a%I7I5$2MFkTa2thqrll7C( z>WgER5oK2439d&OL$9%nqHmzt-0%=ql$VT8^T$eZdYAB)$g|5&aj23;Mg-eIv^nnvYcanyfyS8T z?()u~53@uTuV}UOo~bv2`;GGBEdH`uO7}1~v9h8}#J*Gdi0;S|C_-WHnAwtR@so@I zp^euwx-&P?LPE1;YFyth2<)yrmc&D~Rdtnd&NPmfQrQu;ITPVo@nYP8N@wG8Cs!>BM;Y?#^b`9-zqwBK1%!409QzSCO(0ifwl^Z z@TeFze+R+AqnLAy7-sIl@*q7pS5>}>etC#e;zT>#tR^p^UX$8Lw<&KPTqC+d>4MA% zN+}u9CwTD`OZT4~O^UtQTV^u_d)A{&Q@H)0SFtzWtnr(yikl!Yli0Jb5w;1xvj~ud z{7cM$=#|_i##VO(JD;v@*2L7Mem}FlbW4eFaJ?c!KGbkldRnR?))mK!`1s92Q$aX* z8(*7e7!}9)#{TB^fpwF4)GU)xLr*#NrzETP%Yh~Gt}3tk9;t5GnDD#kP%#9zO~8>^ zgTi?vv1a69PA>nv8<&;LNi#EJ*f8o&zABz>2Pp3m-qAEw*DaCO^u&*1VE@>_Hd%LfOzo6pYujRhyYN)QB}_HH zuDT^lohvKLh&aKf${x5rWr~C=OsDC5*2oF7;zfrx^k>RK4vg1s7a!@x^QA&ayBGR5 z-=|SClf(6@8ji?j+m)w zt7%t)Mwf9`yr|Ax5D1j^Yf|YHh z=p!Z+Z^@U_)ukuN-Ju+jh}`T9h%^F0Axb1%rKo$uD(h z6%~F|Y+{C`MMxJh!a_a@Z_pE+)p=qX!^DKWm^wZ}t-CFM)poJkOPW}6qx_uc8$(e- z6dWsDBM0)%14<=PoF^e!LL1h1r#|iv=4z8QEIM6txT$Vq)$!KnRl@Sj;-}@?OKj+M z#WV6<1x~UyiEHW;ahotZ_`X2SBRHjT^Vmq^U#ztZ=b_PBQFD3gmdaoCkYc?uel>u0 zx7fd&1ZT^Pi+fUo#XF=k!AQYc;X|h#oZs9*;}^_9ruV_uwcC0US^$;Y_BaKsY-1Cg zW~;ba+n)bbI$rTIWlA(wvNm`NzeTFC_Z_E#f5iAE6U;I?XkT;k;IihUm8N|L^6RCe zopIDA1+lp@zfhW8`zR$>lwYwtXo?>%|G4)gCs4>YzQEkgdO28IgE=zL>{4-K=#D(5 z6xzR%YN)X249H(9-PXiO*(frqZVW2pZ&RKZTf^BT);6ACd}4EYtGah%chzv)&SRGe zg-t}PE`eOiP_wG9w%(vn zg=&p-@m3@hRuhXkNy}`cX zbknbz2%bh=Z$%k)V->x0DP(6^mYfk6qX?HQ_FJfQD`f9U;J@Sa7_DH#7*{*0+unAh zRCqO!n_IcUI@9{~n5wD;RXyPT(zj(%vA^U`3P|991f-x*6LmSCry?Wn!rG)gB|htw7&s18bTU)lO>* z8UdEaHl7}M#u=zB>Smy?RR*`ZgO`;0)Gv!g%L6O+`@+QL3hO;O{6#{l(H2$%>tX%< z!Jn9uGL^n_mpbjyil{Hfz+B|T+b)5BIBx(N!6b3OTLq?+nPwd$k7I){0)>% zb*=||I3ALl`9vFV3&c+(UcD~DCQ4g}7GD8>)%1Zop1!U2DaSN|QgMQ{&l6A#XFA$07T=)H?B343 zLu1#P44f=wi3fY63OQv%J4AW|p4b#54oz#WwH7>&*jcfOSK(=(nB=(G%!)mkk9PZU z)98YliUE&WeX)IyY9)r;(009SVg8%OVZ~^gS52do6Mn6nD2n#@rr5*Rws|cYV;|iO z;e2JlYRvkFTY5#;yRi*!WdF9Hnnn4Qjke_<0KaPVi{FITl`oXu^tdkX5VqSq7Wr_q zb~8A&O!Ml&{-mA_B0=}^w)5nbt(O}I@>3f2)tm<$t8Oa)9u6-nFV^%Jl}AYy+dLM& z;mz!>;KVa8R0sE~9{`D*y1IL9NM~CM+b!~UD}8@JKxK7U^+0%HnP2H!j{*5=*$SH% z!UF=W-Cdk*tZ>DvqrWgDmet4yOc+|Se-@Jt`PuUab1V_m_7V#Ydeu;e3w3!}wGy9h z$tYe-xT22`=8@VIPDgiV)|0-Wz4vRAk|5nZt4K={*S3Bn{tRlaZy}ku9I9MH zB3sH7>&RR6Zwaa>D)Jjgtk|oV*~8XM9_rs=>#$LJoiM~8k@B{Oh?@5*i=KkvI=TmjDNxGa;#e`(q;ZVJ4v+;n}^ zCADk?_lo6hX*BD}uHU=}##$NY5UnwU;W!AcU4o6E&4tO;v#E2rry=bhH z52S4w&dgz^&K@6RrdE2DaC&E>=su~E4v%Yes9I*^;_H;3dc8tB>Kcyu>CJ+}ILCg7D-)V^= z(!8Tl_|zw?F_`b~XkOXF=`i0aA7X9OKgws&C)lq}+^;joA&;n6t?EMH}FoG2g)7T82vx|9SkV@{E4WRFdTdgRgZ+NI7qFU1+?!Y zmz{~sZqHX7^AR;TNDep_RJ02k%@MLooVs0ByvvM_?0pj#yR2~V!|z*IF#W;r_0E9H zz2B;0BP-h8l{WYsub+^;acryz6xo~C$ynUtT?srHGws6#Tn481=55?4=JI$eeiL>{ zmp-0`O;Nz{U$M6dT?9Oin)!~n7Vi?`MZ7_6=$Idr^u;WQNeSTJ+627~5Z zZco8(;I5Xwz@BCka6lZ7wK(GuK9#`?A`lX3zioqv6;#*PYAEXp%j?~!QzdW5X3=2z zbn89L2FV9WDdxT?3hRy?;U7=`fNSAy3_OS*V)@#15tq|`y@Viro1?GkB9*s094ya_kYMvow1RJ~9wlI_d8GKMth)I78W zdA@n7*&ZdTyC5=0!z!Pkw_+eAztSAAcOwr;|+~ukw#etP0 ze~|V)!%cd~A8m4>GwM-;02PjYQB??_VAV>N`(MQcimk1K@yFQUr%w@;C*hZRiwwrz zjI1s?b`aNSkEHH1764H2wpnBanpWSP`T^5k{?k7N`$alp^%IZa@ShqWqA$B&{DQb~ zx?(t}2zumC0}QEmkj$?~t?6A`^a*X;!cK)^603!N-?01S->pXRc3jGXGP)*O_q>3{ zK%)<#XZ9A7l z)uB8Y)S~oLT_Y(y<(8QCGFko=px!LNw2mb}&K9wmY7e>a@sE^t3{ zlzf8++h0tkat_u^kb~JSoIbJ{^If5wY{)pAEF#;|xxT|>AT7=+hCD`Ha(j%tyJX_D zKIx?V(|`&IFZHNSB87>D*a%Xf09L>vCGjki21z9LL*F%|2`0kwHra;OdCQCBQSW}T zpZK5}*H=!gEx%l~gh(z4V7U{ivfFSDv0W@nd`rA1*ye*HIdF0<5u{;;#msl2xbyG{ z1ktipbzcVIO+#G8L&BBn38pjQZnzI4>K%nP44u$OiZ&+d$aHRG=}0^&Ofdn>iQt`JVioGmhl2u|1K zxBQpL8)H%)9u?bhh--?vU6RWFjmA^kSWhsXxtExCur~4Q8Fz3#UO4)De4RxCeIqgZ zQV~y1K6)6)wIw^XH?TjEE)^%Ru929O9_D3IX3jIlLlP*?jsA;-^E^j4Aq|_qp~1*T z7k6=^xI>55aTarI+i0xQtTPH5<``2(u3%hb(6ZkvPt}#g=F&}Q^`6Ew6m`s8K)p)2 zJUPknkT;DCux6$9t*e=nq6f0)jI)A%5|aLzHvs)kx8@v+X{X^?$33d3HyJ(V%IH5W z`8fL#t_a#f2ZEzjeBgRhOseb?e;40J)2TWGZlo5L)<)f++?F}J$5ILeL^CpF z9n0WME%W5)s=-PI_kc>{0(wS|@+2b~w5<;JliJ>Z0&7sUtE{3R6jpJQy9Q;8sKqRX zJjvd8Mx9wSaei)Y82P9UbhMIeF@vl zhOA&eIzFP9ExNPsjI0k?P?IMSqgM0fA_?j=CP|C~5@oytLM*WW&EVG)F`2g98^opvZO$sNk3D{GvKtQs>acNa~{(#!0TSjzk2Oq6%NiL3$bnBpV8k4Xut5^7>w_uBDH z@Lon;>@CEofhE<3gr5x!721SBX?LjsK}hjZBoerJL}??TFS$YVfv6IsF0dj(9j|f$ zBn_h~Rwn69|K=(k=4gFa`3gp@lsbL_UPN)sety zql_4dm`5queTJ2WqV&4WH-kKN4$|{*a~s25%8(kHaf= z4zte)!x*41>P3`y)XvnZmGo9+iZ;tHmwhKpN;eeO<)n+qvWP@={!h`L09`JMFLCH) zy=8we%4Y;H*7uB*o3&wT!b@zM9EA{hbnQoizND(MFMCq7th6XW#^=a)`A=|ui8>vq zEIRj_5rqDMxwL0{+2p?8)rX3&cD@u`m3?SAjF(C5>e<_PLq`7 zkjOITj~ivs+nJZU+si1!$ZDTr_5ei?C2Q!8$7_inwr+w>3B&5{$Difht`Pbw7pyAO z9W0n1g#Jb;^n4b&MWuBZakPZkc&jLpb+B#=ayhD^stEZ2{hF;>#tG`h9~8|ab-I>{$+3sF;m!-P}?C$n8j)C2Ej&baK`8Xe*4|DzJ`p}B<#+_72R&VWMnkBK`ltX_M@>@q`CVJjch68i$K8ts80*s6M#6W=PY3ChaG!WAo z#`;)U+Rz6q%-UjI01y+CtMh>$A&0aOyTS8+icF5gK0x#s95U4P3XxZ$9UYIjpIKL0 z!njTqFX{(i%Z`UNE8(Do|BN(vLI_u5g&ujH8ewxiw`YnR;hBcjJvuQ7jTq5GnGtT3S6O|h40 zZqm#2<)`WC zv}ydJ87NPyEmVHo&Np3?hsD3sua_u;U#Zx_o1QzRHT;t!+Y0 z1mkF9S#@jKH|tIPvhBX67_~8ex2{_;HTZ(^nWW6KSGrWN*I|{w30t6x>WXah5iD-4 zZ9LE5HGHbgC>yjUo8D)Bsy?bW#&dLjYTw`vB_ccG*(2E}@^tX$-@%S*KX(4?&E;Qi zjqh+|1U8tPu9XpLKGpIv4^NH@(Auf3<<>OAhU$v$!C8 zXf!K~@UB?R;6=7;JCajfN`pa&)$(A06$F>31Q)ZXzXxYqnb$*m(V)OoMq07&tW!Bx3W<}31JBt4Jm+7JeX15`QD=)y#Dtv-`7Dw#D*GSm^ z^?fld!IyU8^at|}H9ydRY3_A#$}LeJO=g+1f1$QV^u_J8yp?~S-P{6@?XN8u8Fk8Vch1abkO@)%>Z+T^I6?f)~D4GvLTKg zJn;m`{6;n&N@TW_jN3DTS(91ZuVfA<-0Zl+$_f)V-T{_*Keq7Mqg)ni&v2Yp-;f># z`S8r+IdCtTf6yN~Qv7b$8)$lFOkX9~mvF3o2vmd#M+jd{-oMRc@NbtK%>~HcCQb4R zIsyN6EL`A2#vfS8+gp5c=n6*8bnHz+$qAip^~gXNR=*3G=QH2L=89Zu)bF@zqp7kUa^`*~Nkeh(;0@8G%xOJagsus-tPBp#%in5uOnKyxy?YHd#q9&B+VPolx-P0_CbYFU%h!iB)^3v&_!Js93iYn*RHJ!! zZCga0=yu3@m{Uh2Z`ixeA}Q|KdDOTsb7|Ll-He2t&3Y9a)^EKb`|bl6&WahXTa^mI z4BOkHH1sXRKfI_ViR`=QaQ)8Wy*tBemS?(l_8SKh&NR={62mT8cPImWstx(lIj(eN zpm37i7||@O@YybEAF1SjX*Bi7yYc9FidT~#Bbw?Yt7F>IHqhR({-PJ=CIWvk+G8%U z16galdN})lKTih9H#nqAJ1Gx2&U^o&K45=u_=h&kelEq+huI&gw;8WEi*r(0GdMAu zz5v-Ao!12R56;g=Pf77Y(S`TqQo-Wg7zN}VuV+)WSgXXDwiE549HKu$&Se)c?YWOO zd9k$cr*(LC9Q5Sj8p2PF^!z%KjcU@+HFBi9srDCzAT1Z&q;`tS$hEXDLQ)o+kY)>X&i)P&m#m{L^JCi{OZn`lrhFDdXTa!TQv`i4-DdP->iF_(e18l!RpP*P6 z70K8y-r~84)rCF2>x`=$Ty#1HZ|G_2e@i&pzS0s(8q?Uu2g!xjD8fFmnMR^gNsNTdLVEOIidOt7(yw*+Q9;<9-jy5XiqcO zfj1cmk;|bV<|hvhbPxD-y@6c>7>^R!VxYRaguN4JFz#kQ0*;_HoaMj|Tq&oLowzNT z^FMZfL=m`yXiVXhYW^h3wHtdDV6{o_jQd zz<$qN7`~fhfbs51kOB={sbTgj$%n$3Z{?*OIjr^4D%~fRL@eR11x5?6Ri*(#f!$Us z+m2ThzKs1G6}!7}?r@9$x0carI(gtO)1vwbk7q4YxK?Dc4ok`D zcL9<}zfr-C9eae=JyT^) zcV*p@)oh#toEB|zQ?Vamxfg%Y*Z0Ql+ev43uv>1>Pc=)_GKN>326SMYGdGtVVWRq` zEe6&WRb^NQkS@99md=KG){7fx`}daYeM=uT(B3kM9@X8g+E4FkHF0tovGuaDMa((o z$}J0-?{(wCQdr;Rj&AmBcYfc69$MM)ti9W5od=qmvuQ7eG^$DTh@NfiJ@f~ywxvQw zPwn4njm&CeKQAbu2>jGi|rj(3E zRsrJ8+1vs4%8-A#MeI9k9k_m+b0>D957Dy&qfl3LOkF(!BVn>_+)vyZ<_HskySRAC zh?3TsYK70j;UT%O1$yRs50*j5@oh+xOxADYev~|^UCqr92S}&EcZ4krD+~&}iyUBI z-o=zh@K`J>_#X5xa?{lUedaDdHiO$}2n}H73gysNQ5N8iu^|jkI3yrN*&903KF! zC%1vSq)UP)gBOKhcau=8rq{4@5p#*S#FPzT03Dfgb&f1wu|wM>a*r!8P{eo#m8T zJ|tyw*t(xVo}7Jhi^~mgHvjq_nxY#Y**07DjG)qgmBtY-^OlRRk!O+qCn}{>|=_m~!W4Y$EXAZjL;hp>1`Mni;S3<0W&M8!;bI3$vT}MHs{K&e8IJ zvhF5S@Opvj03k+U3!FLVMo#}Ort};4T+28~J~vqVL-Y_HLS2Ly97~)k@Q1!-U*L~} z4#uCyE<=)lWoS24=DZD2Lz{<6Bqt=Jnuf(2L>A34;c1~aVlTk+UlJDc19?N)6L^a; zdAt|;2hH=}hkQd^oc*}p;2VPp;`3Vj#v7uIs?X|uf?J9s+}V7&OpbTq6-Y|5g0M_c zVq7hnB3S01i)3M^omX;6i1)xY@${Na4G)AuQ@rZ5V5MOL?8+O~F2&_wL#oj`G-#LX zVVo_pOWfu^k9$ktZ>y8Wsw^H1L&w_!6rGD&s|(fU17XQD3%WGU}*~ zj6H;S%D(&Eb?tncUl!kc}Kf;f{s{4i@Z{XCe)Q}pO564 z++!zmVa;*Ba`?Dxs?%+F4u3_*HsfL3KC_M9nJ`6?pgBcMW?fOir24Ygij9<68TVyl zsBN1Ti-+h%z9V2wCdqLEe=P8(U2OpAu!*1>O@A(yt6LabS&Nm0jC*B%ayKTL5i0r3 zijCHYjsh;e(E^km<~WhJo?~n~rr!v=RD+tE&_PkZiVI~i{S=AN;!>i_5&UnfQ8E>L z8a-S17<}aOo4*(Q<~RuhA&1uMI%na)NC5W<0bkgpWbz9cneu2}Vo8hC8_P)lB6dQ{ zqiTfn5w_1E{#dTeaWZ-zR=0fCI;&z0Ce>xd4#5G1Tt=XiWknLS_^l*S)SR9p$`D+S zS})kj``{zs?LfadPC?VScUqh@#OnL{r>eyU55d$CH3d)GCGAzU6$gkL}#H<>rlW=K~WEJZEiMVf!NY!x~x zJt8^$_0kldHCUD~$Z;wHqFGamgVo-|VBhMjHFs%>`O(*-DQbpOrUB;&W0QGQAi8qOB>h{9_e(xies z11aJ)4^|nyhtWL}vEx+kTOQ4Fp<(Js%72q}5Z?fOGm8oT5{?>4q?kM}T`Kuhic)Pu z#czy}-=qh5l}HH8Z2Nk_L*R+UyY3^cLGDn~PM-ncO>DZ95Man*IOOishB2O{tWYf- zF?qd}-DREk3KjF%6YS3kCUGFMvGxpjTvle0fu-Q7>Kt%2UZ#%&N98Wk_;LOu*DGzo z#bH|MXE4%hnW!IB*}vmQgFj47gGbrP#f74}@{(1_vkJEUvH`tC^(llY~`2(uT98`je`QRUFMO#pdjEWxw=pQnYNh zxFmE?yjSpi-5J3kFWMmlGa!27PYc5;7oV@*Vyt&|2)i;@?ggZalK9m4gqXE^i!JLn&EOTTT3!aoa2!8TuFu z>C_E@XVu^6i`@}f~7t1oANE{?CMVE>n~qB@5&FLt~x zl(Q|cQu&?J?=F@Kz;$->1kb>$^6Iu6>>W3$DGU8U?y1X0mlYkijB>l4fg7`zseDzV` z`G7a_W`2XaL`=jg?7I1@5I>n~i>>Jg^r*qzxSSMZ_0TyNW|}Skj5Y^bcB*mRwEuqLA}xZq-SpqanryUs^{e-l9! zuJ#Gg$^2v@cZtYDc+Gx1Zv~c)?i-4%YNzM+A-LP+Cp%9Q?6Y3Byd~m?4r6%-zpoK!S!AfD|{``*I_-j|oOR|6Nbu%;&9MY5(=!FCJ3 zY)WI-_%>@FaqL|a6ze#{HgwTeum>Hxa}BzdX6oLK#Fu?*<8Y-}u8m^&XL5`cfeqpH z)mz|rUz6q|Jj)d)&xAhMToBek&ylW?Ph}QuV^@i=rp(+b6-4eh-%!n;kUXhIfjtkW z8p-HAUxjAnNVg`D)o>r!&KLZFe;^rs6y+Q0m(C9Pv$E8dv(l$Kc=gxB|0SKXoD9qeC=ZgEy8?MSG1Q`9HvEl#qr z;ogSn;u2rJ>X6{P>t1Oo&&?JUOh@{;_j*gM%c+tMgXv-E>*f{%uw!Livvzt?mAO{g z9zIL2kVX13RbirMu9qZl`Fz_h{s5Z6?e1OL#HC^#{&lsb51Q9oN_UK{TVh<4wADOW z^E!N*?w8`MFQU988FYOlF$tP&FYqhThm6IC-Kz>K*?Z67pxldtG5Awkru0C>z?i7E z?WAWxyXzlP&a69YUO>C%*sA%5>9O*=R0*76%s5m^!By(_JfR%PeLk>`n!IIocNA@T zOm^#Bxf*3Oo1_8?};oW;!mvaB^|HB&GGOcSe z>t#$@^GzTn=vi$U@WyM6agg2Ml&0Fl5wD&mZUAMBu?NO-6_wj}!SJ5ky1p~;Uun-f zZb0=h0Zn~SWzbV=3bfTL!q5w4I2n|eAkJ!r=svWE{(Rpj!9SJ3LnOX77wX;1%S}7f zeg;d9acyiu%Y&ZPWFXC6Ir=l)S58-yW4O_){}%behv+Bw*~`N#T?dWQ;#_jiO|da; zpzW#fam?z56N0FqHx>r(m={y`3yXCguSh|j+Smv?xwZ7xy_mM5(stmbdO|L~XQ@J$ z*4t($^Nd;9FkSpK=%e|pu-QwkOW+fnJ>>_mWScypA2Jf&ymz`Ow{rEs4ntWksTDxFR?lai~B_dAmt z@#&V8lvjk8`~jLfNl3J(W0bJ%gN*-Z^P(zQ8itK$7hA+q-yFgX(-)msKq#jRdruM{ zGsc^qkP{gyo`!Oe=|xyg3uL~|JWs#I>WS=P)&Lq$J75pH@$a`)3z6~1GI58v$vxqO z&2V=$i+B%SkEN4w&<*@->Rd>)?G^2RP+-I_#v$;dM;Ge{Xu0lHA(vh{VyTLdOz%?R z-iY#zqX9)V9FVUfhZS=2*uSYm58D?IsFOM>?56`Zgq&?9& zrRsosiC%&yDlqP8qQ7i>#%D=6=NU%GRf*_2$5Y zvY~!j>+6b=&OI7Jl|%DA@Fjk3-Sl!g(b?pho<=UvPTGj0UX-!i9T*gT>ZRW$ilbxq z17)fEG_BF)Uj~k=_f>XvodSJvhUN=p_XxYKhqhcH{W279{EJFe)Vuv+xCm0u9cM18 zu-&6))>M9IKEPUoYgN0jh6tO%)j%9+TG=b$J^B8Yzu6ts%V94$a>gjPYH%0Ja5jhT zMiuX7(;v_Rnz|SQ+DnxK)17YNtYJQ46qHS1jj(98%m9Qe&#(lx9@ylzf%BZLKK+8q zh3*bLrEP-X#trm|kdxvR{XF;z_{^|^hf2pXM_A5jeyouJV`x9HA4JwZ<~W0-Qw5ai z;;DnFl!wCo^&Qk+0bY)$3Hk1<6ZDa3RLM97AN{aA{{c@*4mTn4DY4mC>re$qlMa{;uQJO?#ef&E@Z41zYFnW?iHl1T?J6k$YXbj zi`zW=ZjeSb`B~SI9@b5j%qQP8pQ8Vd^3{MA3TZ(a_Y@huUfvyij~OI-;QA4mib;<- z5QIC&_bnshy4Tc{lVV%HisQ(^4OaS0N>NQ@!Bgr1!|jy0bPu&hu$*yI>g0NnHNa~= z+D&lU-_)xkP8+&qxj?+rYZld!PPRMHaO8g)x(jwt<1DL^>uDEtslkB^Om6Gi$ExBh z4&-oI{cEKYX=J}^#IvGr!1rw>_AU-Um-*wpu-(;Eg zZ-Ry>OFGU#eCnv`d?=fGTM!FH(uOGgkUzaX?_VgK(UO!2?O+}W8V6Ma<6Ic<1U9tK z9$dh=)h+=ia84Sxa^7=#`QDtjoCfk9&JRvU-coQS=S1QFxQ+8HPyy}-=ek5fo4`$b zuCluXj|d*cbKyrX*R|57C}nca9x$E#VJ`#r+t#nDd=G&Seo;4}I9J z0zl=@md^mF*r4kG#IhXpJkTy-5$k~`B6Cg_J7OeHJ&!%eyB9FTNkq>(e*kB3sk?YA zwFz#1!>TsC(l)c&bPmWB)@5}f;RrBaLCS6bAgL<;CVPs=6tIK6pP%o1g`-6-5A`r_ zHvZc@oB5;;)SO{{uw3B&U@b9zA&g>G>6T?r7-4#Q#1{f|+46vS>=5Bm=Up6E^!Ly- zW^A`_QxS7p+drCF%z~zH?nb7dwg{ifd}!ik;aTN6QQT)>iZaLlZ(vybz`2%vgExAx zj`3z!dgC+3&weL0lkvTi4L369j)eOjWtP`!c6?+0s20TOSnZlfe>EVM_BqShYTk{W zBC&s2e{F*BV@0bXL-3%A10wu?@ljQd{E0-H?X^5dvQ2C{mQ3B`7lJD2`y78DZ&>DT zkx)f?Wi1ncMdyr*Bvfe}+pPPr|KGUq?O$ z%6^+&&}ykh;)Yz1Ol3)s`65DD7ndoxlW~YUmY=rC2G(KweV@TG=s3qc@OpKgSns7S-Ap?@#HiW#Y zJylIb=2K&UPca+vVS1F0W%QNb&*loq`Cw(uDpi&!BDWIS7cif3hU90b@Tc1CT5(vc-q zZIb7(P9QvK1M4?=wD=DYQLsi-05oh47}=Ow7~akgXPehcu)~}H2R$0X`C?_thmp6+ zXxSo!$R$gvxc`!DMOV0G`31rx_(y6J|0b*p-^j~`z1C--U!dy_jffH=)@Wq|lC6sE zl0RY_SS-#K4iiI!mjqbepdg9wow|tk9{X?O6HJLVu6IEW_mJ8C`nnUtd z$y(J_=(b3vI6%OJqhzwY@qDpldy0bRE^^w4p-=d)ynZ2_7}sGhm&yHPag@4Q#>jq( zMb(**tMG-Mh`%Su(B$Rfd2f_)DT^_q%z0w~8ZY|bHH9$Fp`t+)GzuH&ke^K^B_eB_hH zT|bo?tnAm2OP0$0lzTE>N^Z%1#Xb^=C4oW30$(A{gEx|s0ol(&P9mtHL+4QY4B@GF zTkccND!r$lggW*+|NfA1vacL6xD*~Y$x$vLSuMX-A=xe8BmkY z>!}o*W@6`ZB>J7`>r{p&8C@PpQ@lg6{ANlC+}gDj!Uym(+YnwP?8zHn`%rd~anz!h zZmyhH9V$MSvrzX$v?g`78WAWW0~Jeozc+l5^k9{1NkU)biY*S?&-KUZYhAU^7~9RS z)t4$djT)sed#BD@?v%1$bxU$4a=e@_D%|i&GKT+aEl1FV32b#(EV2|!vJRPVFkH;! zYR3wuafW_nHd$*>KTTn(ycN9>$7C<1;D$qDOccKs7P#{#*$$#_kz3eoYi@&?{;zpn zZES^?p}|bccGlV&@=^ko2Q}#t1{q0_vY|!1LXxmAEk`R}WB?7^s{8TL)^Yfsp>EZ2q)qEvwE2`nP8Sv7baYj^cp6IzRQ8O;TL^aT zHwl))l4c9>NJd_L7

      qW|ll--y_kpzrDEcQmy9EJb-I>4&)}0 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 z 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

      Q#qp?GoY!Avo$!BR2H!A6e7V4tYj;FO5z;BL0b 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%0DqDId!GjW8nCv5 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 literal 0 HcmV?d00001 diff --git a/Installer/DotNet.nsh b/Installer/DotNet.nsh new file mode 100644 index 0000000..055b392 --- /dev/null +++ b/Installer/DotNet.nsh @@ -0,0 +1,32 @@ +# .NET Installation checker + +!macro HasDotNet4 OutVar + Push "Install" ;reg key + Push "Software\Microsoft\NET Framework Setup\NDP\v4\Client" ;v4.0 client reg node + Call HasDotNet4Core + Pop ${OutVar} +!macroend + +!define HasDotNet4 "!insertmacro HasDotNet4" + +Function HasDotNet4Core + Pop $R0 ;reg node to check + Pop $R1 ;reg key + + ReadRegDWORD $R3 HKLM $R0 $R1 + + ;MessageBox MB_OK "$R0 \ $R1 value is $R3" + ;IntOp $R8 $R3 % 1 ;logical AND with 1 (should evaluate to 1 in $R8) + + IntCmp $R3 1 has hasNot has ;jump if >= 1 + + has: + Push 1 + Goto exit + + hasNot: + Push 0 + Goto exit + + exit: +FunctionEnd diff --git a/Installer/header.bmp b/Installer/header.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7326b9c94076c8120ed837e0ccc93af0066fe9d5 GIT binary patch literal 25818 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 KA>PL3{`nV$p^qy7 literal 0 HcmV?d00001 diff --git a/Installer/script.nsi b/Installer/script.nsi new file mode 100644 index 0000000..611c9c3 --- /dev/null +++ b/Installer/script.nsi @@ -0,0 +1,140 @@ +# INCLUDES +!include MUI2.nsh ;Modern interface +!include LogicLib.nsh ;nsDialogs +!include "DotNet.nsh" + +# INIT +Name "OnTopReplica" +InstallDir "$LOCALAPPDATA\OnTopReplica" +OutFile "OnTopReplica-Setup.exe" +RequestExecutionLevel user + +# REFS +!define REG_UNINSTALL "Software\Microsoft\Windows\CurrentVersion\Uninstall\OnTopReplica" +!define START_LINK_DIR "$STARTMENU\Programs\OnTopReplica" +!define START_LINK_RUN "$STARTMENU\Programs\OnTopReplica\OnTopReplica.lnk" +!define START_LINK_UNINSTALLER "$STARTMENU\Programs\OnTopReplica\Uninstall OnTopReplica.lnk" +!define UNINSTALLER_NAME "OnTopReplica-Uninstall.exe" +!define WEBSITE_LINK "http://www.klopfenstein.net/lorenz.aspx/ontopreplica" + +# GRAPHICS +!define MUI_ICON "..\OnTopReplica\Assets\icon-new.ico" +!define MUI_UNICON "..\OnTopReplica\Assets\icon-new-red.ico" +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_RIGHT +!define MUI_HEADERIMAGE_BITMAP "header.bmp" +!define MUI_HEADERIMAGE_UNBITMAP "header.bmp" +#!define MUI_WELCOMEFINISHPAGE_BITMAP "banner.bmp" +#!define MUI_UNWELCOMEFINISHPAGE_BITMAP "banner.bmp" + +# TEXT AND SETTINGS +!define MUI_PAGE_HEADER_TEXT "OnTopReplica" + +!define MUI_FINISHPAGE_RUN "$INSTDIR\OnTopReplica.exe" +;!define MUI_FINISHPAGE_RUN_TEXT "Run OnTopReplica now." + +;Do not skip to finish automatially +!define MUI_FINISHPAGE_NOAUTOCLOSE +!define MUI_UNFINISHPAGE_NOAUTOCLOSE + +# PAGE DEFINITIONS +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +# LANGUAGES +!insertmacro MUI_LANGUAGE "English" + +# INITIALIZATION AND ERROR CHECKING +Function .onInit + ${HasDotNet4} $R0 + ${If} $R0 == 1 + ;noop + ${Else} + MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "Microsoft .NET Framework 4.0 appears not to be installed.$\n$\nOnTopReplica requires .NET 4.0 to run: please install it before running the installer.$\n$\nDo you wish to proceed anyway?" IDOK proceedAnyway + Abort ".NET 4.0 required to install" + proceedAnyway: + ${EndIf} +FunctionEnd + +# CALLBACKS +Function RegisterApplication + ;Register uninstaller into Add/Remove panel (for local user only) + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayName" "OnTopReplica" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayIcon" "$\"$INSTDIR\OnTopReplica.exe$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "Publisher" "Lorenz Cuno Klopfenstein" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayVersion" "3.4" + WriteRegDWord HKCU "${REG_UNINSTALL}" "EstimatedSize" 992 ;KB + WriteRegStr HKCU "${REG_UNINSTALL}" "HelpLink" "${WEBSITE_LINK}" + WriteRegStr HKCU "${REG_UNINSTALL}" "URLInfoAbout" "${WEBSITE_LINK}" + WriteRegStr HKCU "${REG_UNINSTALL}" "InstallLocation" "$\"$INSTDIR$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "InstallSource" "$\"$EXEDIR$\"" + WriteRegDWord HKCU "${REG_UNINSTALL}" "NoModify" 1 + WriteRegDWord HKCU "${REG_UNINSTALL}" "NoRepair" 1 + WriteRegStr HKCU "${REG_UNINSTALL}" "UninstallString" "$\"$INSTDIR\${UNINSTALLER_NAME}$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "Comments" "Uninstalls OnTopReplica." + + ;Links + SetShellVarContext current + CreateDirectory "${START_LINK_DIR}" + CreateShortCut "${START_LINK_RUN}" "$INSTDIR\OnTopReplica.exe" + CreateShortCut "${START_LINK_UNINSTALLER}" "$INSTDIR\${UNINSTALLER_NAME}" +FunctionEnd + +Function un.DeregisterApplication + ;Deregister uninstaller from Add/Remove panel + DeleteRegKey HKCU "${REG_UNINSTALL}" + + ;Start menu links + SetShellVarContext current + RMDir /r "${START_LINK_DIR}" +FunctionEnd + +# INSTALL SECTIONS +Section "!OnTopReplica" OnTopReplica + SectionIn RO + + SetOutPath $INSTDIR + SetOverwrite on + + ;Ensure that old VistaControls.dll is removed + Delete "$INSTDIR\VistaControls.dll" + + ;Main installation + File "..\OnTopReplica\bin\Release\OnTopReplica.exe" + File "..\OnTopReplica\bin\Release\OnTopReplica.exe.config" + File "..\OnTopReplica\bin\Release\WindowsFormsAero.dll" + + ;Text stuff + File "..\OnTopReplica\bin\Release\CREDITS.txt" + File "..\OnTopReplica\bin\Release\LICENSE.txt" + + ;Install localization files + SetOutPath "$INSTDIR\it" + File "..\OnTopReplica\bin\Release\it\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\cs" + File "..\OnTopReplica\bin\Release\cs\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\da" + File "..\OnTopReplica\bin\Release\da\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\de" + File "..\OnTopReplica\bin\Release\de\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\es" + File "..\OnTopReplica\bin\Release\es\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\pl" + File "..\OnTopReplica\bin\Release\pl\OnTopReplica.resources.dll" + + ;Uninstaller + WriteUninstaller "$INSTDIR\${UNINSTALLER_NAME}" + Call RegisterApplication +SectionEnd + +Section "Uninstall" + ;Remove whole directory (no data is stored there anyway) + RMDir /r "$INSTDIR" + + ;Remove uninstaller + Call un.DeregisterApplication +SectionEnd diff --git a/Installer/update.xml b/Installer/update.xml new file mode 100644 index 0000000..e2a1f35 --- /dev/null +++ b/Installer/update.xml @@ -0,0 +1,6 @@ + + + 3.3.2.0 + 2011-06-07T01:00:00Z + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + \ No newline at end of file diff --git a/Lib/WindowsFormsAero.dll b/Lib/WindowsFormsAero.dll new file mode 100644 index 0000000000000000000000000000000000000000..3148026148ba2a2d82929e4245e859633fdd706a GIT binary patch literal 97280 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 literal 0 HcmV?d00001 diff --git a/Lib/WindowsFormsAero.pdb b/Lib/WindowsFormsAero.pdb new file mode 100644 index 0000000000000000000000000000000000000000..15f18562611cf04d66236b390b00a9edebaea946 GIT binary patch literal 249344 zcmeF44V=_P{l|A@IRQBZ1w}+X;DA#eJP;KW<=_rHlqb1UQBS$!ZsAUjyX$sAFx17U z%qXeQd_dD8Lq#RShY}OZ)C$uQjfzr>N{y6^@*&gz`!n;K-QTT?-tMjD{keJF=f1o9 z`_6o4zBBWk$KTAfy6Wb}NaMU{Uhy%-Lx<)~E1R5m!id7c+-`kK$^y830)ZgpulyU+ zMLz@rf6@;f?*D}b#=IwYKp?hntCO=ixXTuRUB++6zxJ#Fo9nwe1>S6RD#pKiz`Lzx z?qK|6Yhb^hjSP-aA?V=&QWtpdy%4lhjDH>O|Fs5E<^O_?{QrNQ=l;Z1Me^P{}0is$by=>s`|$H71fI((Z+>y7e%9u4I`=}fny@g)yK@Ms}Dzx znRjAEQ*+~m;nsx->-^?$Br>HM{pG0R zbNkdlNB+0Ze9Km>-<*5K_{a8rrst}%z~&j>+UJ%>C!K!X%YXS*&sF2?_x*1C+_^pH zJ=61{qXU6AyG(hg^45l;r)n;rdf%>zTbDO~=Q?#8<^FW{)nC2s(VyKg>7B^+KRE2- z%j~Zm|3B#($X5RU;juB7e)Y(^FMV~?<0qee$uBPcq^G+hepUn7%K!bJi(Yra;B&7z zYVzdWPgWNFszbl+Lj&2$|KjH>AIcs2oo|F{pZ@U=$4oq{eWbo4mf6bxXGT2O?Ne*2 z9$LA3<;>f2ZtSrC?WAaBEC261?at{-PCD_{+LiZwb^r5zbz3`0{$3x=Y~}wWhfEyV z``*bHe)DsM*Npte>hXKMV%v!VvX%c+Yrg!)Gr#oJyUw~}^8OEfW%}#wB>8)NG_#fe z#V7yc=c9YfIjd@S#p`Php4n}$S8O{`K(_M#msbp&bk1r2es%MN(u=;lNEh6p*d_pLcn`E35L~JZ1mI?~R{&@Gm>Y z|9e^fFF$ea9h-N*G46nuYJYfhV;;K(J6wCvK(^|C-^T|}c;>CE`W|z{UAOHRb#>qN zkoJx^vZj}%^}p4po)B5SX%q&-{t-+1eY+Uq}e z-8EMhKfLHqpML(*_LBa+J)YUh|08~Q?x8mg*tYI7C)_c7{3# znZ59*T~`-O>@s%7TYI}++e`YhmH%T_oxFSar}AG3ulV)!6|ao1Z7=EH+vAz7{10FM z%oEr388doSbx5YbLd(c3( z^8e5-UtW7;W#Q;S|0*at@-Kn!w}-TM#4&sOzs6O*vEQ7vKX~}({m;Gs#qJLmb?CNz zXdqkl|E-@rQdnAc<9lD2`;)hO{_>c=w~y3!#4=m?-}ld-f4%FOm%dkd_0d0kcfl=Z zcWAbKXdqkpU-tO)&G+TkKYqtgrhaOlA;ppQk@}8UW-I?sdFz&Ej~xG{{Z7B&vHhZ( z&iQVKX4{7bvX%e0g|4`%;hp<_bk8Lh_1iZ7Utee+sqctow(|d+Yc~$~TkbzEE57o< z4b8Kk?pXh8Cq*k;`G0ZVmRTEyf3CTy@0(qh%>3^Y?IihoeKfO`|382D&}Yy8%ZPW* zJ?hsFk9(#0wY^@k?L-0D%Ktm_-UO}Z~XMZse8R*+ld0QmH)}-|7ru!A)pU96zGNU!$3c9I5+|v3GzUHFaQh$ z`Ct$j42FOLa1_vj(oirA3mcK+L02)CP&_b(Tw$Ox26f6RZ!9`#R zSPCu%+K{;nTmtlR-en*LvX%eI=l_14u&)Kzf$PByU=6qt+yuS>ZU(o2Z-Q@uwcy*} zR`4CL4%`NA2X}z=;7)KCxEpK$nrOHOd=G2{_k#Pt{on!ceeeVDAlL*R0zU)~gU#R( z@FVbJ@F@5Rcnmxao&Y}uKLbApTfmdx7vL%IH25X>6?g`01aUKY<*bV*#{tey$ zZ-TeL+u%Ro9q?c9E_e^wb;ot~xB*+8(!2mE2=wcYC#>i5G(-oU?FG#ji3p93N(WVh=N66F}MgU0ZYNf;L~6kxCC4Z zE(0-;t^7|u|M%;JeJ!{STn}ylYru`*Ch!e#Gq?qO6MPG-1>Xj@g71KJ;5KkOxC5*Q zcY?dX-CzUwF1QDL4{QYYg8RVz-~sS`@B{E5*aRK|KLihh&EOI6Bk*JJDEJ9@3_K2= z06zsk13w2_z?0w?;3@Dl_$Bxicm`|*&w}T`ufaC(8}M83JFp%69{d434_*K-f;3e=fcm@0o>;!)YuY%XWF7OZVI`}8p4gLlG4c-86g15li;6LCU@L%vQ zcn|1qzij1y^7+4q5OyDMDCi3g1O33^;0SOe&?!Ov!2mE2|83~Zy=cVBx~rX(=^5dKX*v0~;PFK{~B-V!xgw?s|QEm6f>1JyXOafxmo3Z!@U zQ?gG3u%_VPXW{n9)^+cw^A5L51leXcAw1`I9)?-#U(zvL( zIvlB(Syvrh#Fcj=N-|anzP-SjTws~&B~frH5+Acvc-myyip?E^nbzn;34Y&Yh3SdiVv^kO#jjM%G&VE5 zdlbveJ&N{Q2E{gh)8n4*WlS%AHoq!n&X_X2JpI@tU*(vd?9#^Ox{DiWKkH{!HQ4(q z)61jUcmPcqZoxi#?y|rC6mBFj8r1jMVA&)k#aL!^V819}SgIz}UqF7WN00Ud)Kn!m5UvsdWtt z(vJyIkmq{Ob9$1clk(a{3+Fae)tQ@Z=cRRRue1>Ldrx0FF_>1>z|bXwKB2?|lJESd zFF&4o6~{~?5!ZoArVS*`n3zsrMT^dI<{d-Z3#@3-SIxXb1!vO$B)Ovg>1YJghWxE-`n);CxYiG=s?- z-yoAQxeFt`cp%&x%*T5r-ke@`rU>HQ6K|F;(uO&dsdbTPX1%w1d}h{rb2CV3&)B#r zqqOU^XIo}XD$aZe*Bq`k&E^-qnfX8N%PLkER+|n81ilQMTh)!#Kd>h^u{SHIU~P9+ z`GDM#16jocfrFT_2W!Cd;0L`})dPNaN-nFuKrYmYl`bH6TF*e>E8zJ3St$ks@Yj&! z*K#KQYsFBjW7>&u5-8;R)`MBO%wZJ_Tn8RN)*GNlSKb zo~$-}16l#JTCEjYx!d7?8I0PGRc(;UT}eD12g&Xp`2Uf@&#UOLfVj$aC7$D;5?9cf z)pD?%JUOHXtH6BTllv{tXMt3b6F$!*}l{^acpunqpjeBXlp3(3a|!KHjI zARp%vuN%C$owKLFKGNS0`(t5nC%I63^75<3YQMBUxNwfK^(x4KgXJL;|L^ccy{Jbhjj`#NS-r6Z%l_2rz znV(m+!twt4jT;TGYKwUF%+ISD?|2`3=$6A2t}KCg^~}$!Qtf#EbJ63sidUswyn5#6 zRSk8#=N(krPrRzR;?*-huWFa$efNpR+2U2L6R)26d1Xl)@5{CKUoBo)81d?vpH~*d z@&5UXJ#P`OEQ@&c%+D*!<#^Xz_^;{Wl|>V;p80uYJsj^Tx18{-cx6?@t7m>*SyIPa zH}ZuG#48IcUOn^k%E~$3?-!qVpm_Zj(9bK2=6JvT-9zpWuPmg()iXb@EP&&kuzTD@ z@yarYSI_*svJ#H>wR8WyUc9m>;?*-huPl?}{qeVc-Cw-2T;kO;Kd&s5<2`C;phCQh zfq3=I&#M;4@y>YhwQb^6OC(-B^Yf}za=eSSz56@ys*S$4Uq7@So(0S1r1D^~}$! z9)sfz_g(p}c-4~-ub%mN)!I7V$=~0#T)b+9#j9t2UiDBM@AMniOc1YnF5=ZQKd)L) z#~Ye;_n*W|RWZDJ=I2!_>3I7N>|ZWkwVn!B&-}dVjX2)!OCK}#;dn2;dgkXUb)a&9^t1n(X^Yg0L;dr-P`rttEj`GTxp80vzgK@my zeSMJORgXsD>Y1Ncy&A{+m4e+rQ@HBwh*!`2yy_)7-nu~J*Tt*eqj>eq&#PXA<9)T^ z{$1i#??SwK=I7<7_qlBC|4F|8`G)?sOmqw6_dK&~X(Sq6$e!=`=Mlw?_4Ra=nURf* zI5o`ja9wraK;Luq{T0~(zTajoYKYb?43A(~%U+JAvT*a_I@VQN_$z6yV(w=?`_1#P zcxKPJq551mv$4LedTC&vKo0xAL!qCJf90|7o%7t3O@q4b^WYsDE5$R79pIy&A=)Fd zB|z~oeVag_Grv6*z&z`Fj>4E2INF4*eR*;NEHVE}f`Od-JRJm>@GJ{Q?Yve=U8Jg> zq5aHocmbRT2Rii}hkxx=lz->vh?MbfHoGJwK=Ma?SQ-d36#VU>igPjXk)O$4oY#^* zxoqWs^8L?;(d=0X(tF$E{W^ga0$Z+v=3N4XuVm!w1Fo4Zt@<7b1eWLW_CPMR!1=R! z4aW1x?{5kIy5MiA@pml##>M?@GkKWW-=&_v%Z$HK#@}wjQCPAAa(yf@b+m}jwIBx8 zgHM9XR{kg7{~QY1y5h>6@%`kmA)bWP zGVtGpXX6%($Jrm=k@%xq5XggqK!4~k=m2Plw}wJU4)Io%!gF;?V+gry<$uTh&sLx9 z?SHoNKl%RWO#6GP@9Fo=DA`GUvr%4MSKmrb_02in2go_1#H;J2b@OY_WC|`L zD~Q+keEc3}!V9WzXq?2lwx3}R^*qniW${|sbjU2L89O;%>;b$5@p`IptDO3wvRgG^ z8CVUn;j)$g$@f2JV*j(1_s(X{=&U?WZG#U)&(gnav23txv23txaaZ0l&Bco5(iiC( z=oZfl%~i>%KeC?Bo3oS$CeZ)Uzij1y^8L@5va{RXn$82%7XLylmxv^8L>t-oy^^7IrRg zNQY2U4sTCSU)!{K}u> z_0Ng*_04a^BRj3JCS1>)z3-XRrGGxGEL^>)xh}eN#LRH>!n#OAlWB^VKTJF66d9o{ zMS3{En^$6b!q~2C<$v=1&(;Ro`LRu&?ygtlJoh(rcb3!Li0Wu#b9(tB-AjhcpJ85E z(EI()VY_p7IT6_7DcS;slHB^V0J4U0eNnf%&XG1F0sN%e7I`jEo$or?0r}|u~4c~S*AoJBK zqHU77)sx9mM%?`ynQuFpk?hMX^#&RKbiRSiE_4`FPP3K&sqTOFr}Ir@9^lCgD4i3S z{9hc#EMcRqYTKmSLN9^-biRem!<|g!rL&v)QQ>D|V-94oS$%;UX&#S1CY`5rPWoJ{4Xua;zzJ|}BxH>*>x2$?V0 z%Kzm1pC9mK`SXv>ML7%n>B^E0^I4ab^QUVcWHmck%C|Pka{Y|eo-BX5I%(|aWcll# zw}_cZo;i7;?lx_`EHVE>$Xo8@`O9Pm^0Jlx$@f2hPx#U;`sJmNldb$uzW+H>{kin)_R{0;@9sx>dNIMFev9ctWKiCd^QlG) zCpdpTbw^HrCr9N%awcihLEHQBTRnMR(KoVlk$0S5p7%}=dmYr}Y*RTb(S!=lugCq7 zH^Gyat^7~E|CxEJxH|}W(_Q+?!ckkLGfS7V9W%X|x01LN@(?-meR7m-PL}5KHlT}s z_>&*U=k|%PMb8V7GkHwsDV=#dyT`(nEf>d4UWhCu#$9jXc!!JQtnfTu9;h{)Q3mIk z*c-P8Wi%7oaz|NW{vV92{3E>jg5D=LRxgU2T^FrwTof$}+wC{m%Kzm1pQkywGa629 zw30JQpVMWRgKWa`ed+5%`l=IhrZz@ALGWavOD8Mp$?~eIk$5PwKA(^^t#MH#Y)nEM zWxbF>R$pXYlO$_uxN31YLs`zImU>3c-@naP{-?VCd79Cj{l}bL&i4{&Qq_#ljAW8m zuFqcJEwKCBy~B~E!$rMzLWhw|S;*_6b9}kh7MW{2nQqNaDLew1{r4!-=3XW;T|cn9 zH!*UePp3yBb8IS^#cXq9b6IQTWh?)a?|*LX{Ey4WU0(Y9efa*Q?;9=Cr*f0_9M_)a zfNC)Ma(R|NO&bdxka>eY?8)fG69_YNWc&JebIMIs%_yy}6K*MZk-DRGZm$Zl z-j>*FM4q!A$ewnn>^@zfn9LVllURrqhHT}3^8L?@vzDKNoI%Jr9Xc3#HgpKI4q5=c z6iR<3_GReN&~HPBLca?g27LlL9Qr(T1oYp~QGvkajJI{hbL;@<@lfo9&U%iGf{uYs zgpP%t1;t**=0Z<`HbBQgKMOq>x&}%dV>&x@JXGg=7DImxrH{CL2Xr#ub*|>AP_0Lz z@0iZBoC4LEl&3*;wj^nc=}gF}P@VNi+ZUS;oesSeIsbXr^i1dz(6gYw zfuf_>E6~}{e?iZI?n?%q3q25e9`sOX1@uVh1<(+&50T;!sR|(}#42%!)38IFNF73h zAyQ#KkAao|?J=7NDzcXU$@f2NzgdV>gwTMcl6?#q0t&!!U?i9Z4hM(E*QwEsw^kN3 z>tF_nmp#8Q-1JiT!-2*?+Tz=XTvGXwIcp z*y`tP268G7nldkfs{1|x$`D%TgU2YlrhFh@kDT=UL024o(@Y!RV&Xc~gW`RP2Ypt0 zM72lYaG%9(qsB9#$Rvf<w@*`H*!3!Fi<86nB7XGS zN-qrT9%1AW#u4!_ls>x#6*Oy8;>Y~N_mWX&NbkUSobB3CQ1;#QWBhTx0bbRUHBjmB zMrda`#+}*a6ym?qovr*&zW-VBZZqh%5G zlSlnF>3eby^6XkcYI$3YJiGT$b*kD+pURbxt^7~E|5^PJC&OQFfA6J9v>SWu26$yz z<-*RPr%uP84gZnxe6sW3K{IbBIsS70S5L;vPz|q{mx*=ejgii#O|s=)@~-xDp)#Z} z{Ppag`042@hjvanwLJPIrX0TE$$QhtI|O-Z*Q~s8gm34XgQWQVbrs>U9*P5$Xa(rw z5a*E$WDf<0#nWx)k5k8kxpNZ_=9x{png1n>mgz1fY&$0$MElvx|K$6h)y~KLVQw;P)-DjP5`VC$vws{i4(UiRX1a$YfJgMWo2P#;8hzV>W@!3zuEcBAh~1x`THmA(~T*tY0&+kv!Dk;*+*#F-!q}w zo7b8Cx80-HD{lWQ;j?p-K{HROaMX57rrbIBRb0=5s+?3n3!oQ3$3W*mi=mZJ+t*?w zW6J#?_wrnfy++@(qSt_0WIvgSXN?#PJ^er;! zQGfA}xUNe1-Oe*6+S?GnsjkT_!;k9rB~aP(%b;qzVS$93erb5314RI2_#-t(oa-B`yB>K3@YdfcB?Ur=r&+EJJFP&|Gsz1-Y z5V1VyJtkb~PW5d>i#+I0#MDm7Rwd`byhL zdD(;?{q_)4?a&XQM?g12kAnUPIu`mU)W)wraU1{&z)^8I(q+Vp>o7hmOuxN(9RIQ} zPe5glehSTlGM+W#qAgJE#qG=tf$jedj)$GC{7=6B`59y?Keig#2gT*d=GwWg)cpg- z-o_t$fQj>gE&OS|O8F(5EFJi5HTP>6Tf5!(JG_NIJKvOA-t(Tk7mUAz9acQ;Tv2L& zfAak8F#dYS<*8oUd7hxT|4Q-n+qJ*KuQuUj=)q9#_Au%6zn`UkfX*|K(>vmFlo@m1 zh3=%N1S`NApuLq_!An4b^1v7{8#IB{U_ICZc7PD!^#eslChfn<5v%Kzm1pWXV0ljqhTyI_OlmRe%|kChJkd+B4H z+Dn$%KVR$FH}N|j_x?@axc=#Bw&DGoe6kkA_!e{y3=mO2-?&hoihB1G$0yO&F{A z-Ijr1y!>F!11o^sNuJ-6p-1t(2&!~WfbyG}yPXLw;XCuLW^TU*dMe+kMrLky33NK& zbGccI-I2BhP%mH)~2KWFRxzYl67 z{4%`vW86DOqsZeH@4+OuN13!QDxb;kB)L5!>w;G65ufsJ$7Z~DjAz$)|HQs|GNGo1 zZDi@JFWx5m7|3Dm%f3&eKAs$X?6~88yqsn#ocU=+!^|oUZq-BCr}g}}6FVw?$K&i% zw(>vu{%3`+Xy(Q3AN#5}wa4srqO$9`>PX7x7y&)k7$@a(j6+|Z%f|Vi>*P&-BF%X{ zl~?{}k+~W#wD!GB+crDByFCguiZJdROU!?Cn=@&Yr}tUm8jc@w`5c*87hPD@Wb+^& zWfbCHejUH!sX+SsbX3iE1cHqYtMmEA7NR9t~2=Kr1O@Fu6jq_(w|IBo^vcRa4_CfZik zwx-RQIf0uu6kw+L?D~pJyf~^1Imi4$&SNf)>MPC)H|S9826O2}dVMgb6DRK_PoC_) zb9W=}NheQxg|i^x~23hP7JF8YG=J+5p9*( zPhjS*dhl6=_&}g`yBDDUK^Zgs57Tcxl+Ws?kYDr$%sa}|Z!?_}$b z<=``51^6uZ9QZuA0(=2n3BCwcf-iwDgR8(Q@D=b?@HMa+Tn(-PUkBHM>%jHk2CxR) z2yO!305^kMz&F9Sz*_Kaa4Yx@SO;zcw}U&tdT=MW3)~GhfbW8P!1usLa4)zI+z%cA z-v>Vc4}wkLA@D=+FxU(p0Y3si29JWDfXBe&;0f?k@H6mpumwB`egU2WPlI2AUx8=9 zR`4u%4*VKy1HS>k1-}E^!SBHz!1Le*@FMsl_!HOx{tW&C{t8|KFN0UW-@s1rckn8B z4eSE{0I!38g5BU>;NRd4@FsW*ybb;X-U0sw?}GP0Ajlus2Xq3m*_{FFNP&F;>qvpF zpc`QCeV{wY1^WZ-z3BneARPz}0=+E?~Xp6M6sha^iJ4_zch- ziS|aZuAw!Jz!l&N;7agCuoAE~5%@A-Z9?l3fvz!2c3ZSw{->#HUj&CE}$#u2KEEp zK`z)I8~}QNp5Q=m5YRaXy}`ktFdW9@FH_-mYK z$J$Fg8A_*f-QiJNo-G;fj2kZtjF?0EsB6gZG{y#-FEjJ8q#YK75asIzOce&&If2)U%^Z%_LI?n&MdgwU+ z-|C^`{C}&54?6$U7w$J}RsC43c3U_Zj|6lV2<-qnEf~MV8KhC`;HpX-| z>^vPm8&}LckGYs@3G?#)ZCn3w9Cb zCc;q|&fiBBZ>vsu*`y7By3FtiP^S~HT4)$iJymV{x zTRlb4RK%UmxgS{K)&HrD7kNkJ$L9c7!6|;n(^eaxwj!Ogf^A%B>Go-PH`1*z%RI2lTKX9(E<(X`D zkBjo(wf|3haq!!Js%nlsM_-KgoL*=DSMrm1-SbaM-m9-6yY+FM|3Ad!nc1sg-aR>* z?|qSv?qUO>!=bWWZBJjv`Tyut`+T!}=fH=Z|8L%Vb7w4P=`8+D-oR#m z6(G;ON!jT*|KD68kzU`xtCz0r%l7&IEysi{&$4zhS8A|<^XKO~#LJ$Q!vmFDcP@S# z&#HGa&8BmL*4&VD|3#)fTZdo#=XJO7Yj#iF669}CuAKRFJt`FOB{y(>y z=(JMQn$}prtM9HI{;1FYckRB*x2Ep4w)yKFd%|<-i6Ag9aW-WbuHm(P<-%Dt1* zasGd8`Nwhozp?qg^JtZ!ZOOOwT42E)YKi&JyCEIt|9kpi?dlVC{(l4UYD<2vInXA| zKThP`pPY{K|8<@~iFq$E#C%oqINP;>FR&Oar+HWB`l7#&>-_)2koD~&JloAX>h|RL z%*upI(?)Mib(%{MlsUVO^Z!3=A47_A;`)If)%pL)<?)>n=t8QSM5$4*6aejV$+F_{Ru{V|O>XhLGL73}?q zu`bB2#g6m;+r#<)_8tJ;)m{p8Z~O$H^ZCbt{vaRd9RFEh4k!m_0{NK`$PH8(8e$iD zh?QgOZveF8{QoNI0qf?U==1*ziR1aiaRT%LsMh!AK&zpZP|aV>g?<*wZ?S8jtog>i z1Dy}O3t9`k7g`711icX2asI#Eqtgj}NXK$tL@%03UkTN|sV_rA0qy@zoXecg?;q#+ z|B`3#f=+$z`nQRr|2%%XhLifdddfsh^M>o7+PlEn9qi5QIR8J0F5Lb;&J#hOiTeir z*XRGMSyvg5d)CW8(d4uF?Y+IJ%gA=apSWYd-n*On9fjX}GDMSQbe#Xs7$ErZp8qd< z6awQ^0C3FJnL5n7^*VM?=efl4pq%MKUDlljeb}d{K0@Li1v~efIG5R9-Wm6se14rU zWCuIW|L4vpbYjo@{@`>n7p-R*1cP%GGOoZ4C?$; zQ-)M-%7I+R`Tw8n^Z#X&?H!w`+v}&ubM@(-HhG^o=U)EoJ(;QfJ>&V?YW#Ja|L?{C zoafIKSs7*GMCU=>&g9tGP$$NB&CtLQ-a&;M6{%DDz;qme*6#HzkhaJLrvpFkr8Y^TB!a0N>{pjkTup$-h=GcGghcmigV*IeLkMFJ(cIn zgT3(l{~E8%^pZk6$2kx=ujYArQJKlYeFLtHcAWoTSg5u@=c+WHuXaBVs&=YBv?sg6dos`4lV25&eDGHo6oz=^RLxv?q!T|K=l`FH z9=fBKbD+{q1(bD?kM#V1|GW-!jmwokhak5rJNml@x|#e_IrQ8Aamqa0OiRrF+bDPT zylB2A+5a~^UibW?c>mAerX;r!{_|uy&i~Ks{Qo@PJH+wx`FZJ2=eVdiqKVMF5Q>8xOCK8Um7em!2odhLL=B^%|nY(&euQd0pH$zY3xm{~4pkGo0%D@aT zDc;V-DBSkmlVJSL6#6&1ThutU&ysl-v>)_rPv&eWLnqU2>-}clbvARIe2#sd?^-v# z33>taR;boZ?}b)Ew?M0)TcLBIe}Yy+--gye_d#|TDkD1&S^%97Erc=*jE#qCJ@qW8 z)>AKlE`TnCqQjWRGgSSU&f{)?GB;<=PWc{`Ivd*r{S@@)Q1lf06%>7=E8Vs3?qN@+ zGkB)_QXWnMx|gV}pZmu1VFhWocb^2~cc^sbw2x1ou$ynoTo67a}=z#$@TSp%Hg;7i3H=eNT#V2 z$gL(U#pP;fH|RA`_P*#&gV+%0^-z`TTvO&xqP&fbr!$}Dj~Sbqx?g-7etU8{gzAI( zV78vyc{ILaYZGg7cfzZ9+-3X>N8bMNGi~nKPu!*s1~xM2e*(M!bjVE~PzXvvJy-$O zfQ?`)*a^B*!9%d0=8gZSQby!xzT<8<#{0*`-dM0K9JPJ0^4jpi@bpG)7Y#Q=Cq$#o zb#oU*!xS+0UbxN^QaH|UTlQwWuM=-uMwy8lv1N)KnI3UR+m= zaJ65GIC2fu=fr_7%-r>>zcI<>L7s=m;)Z|Tf8bW-4GFL}Pf<*7|~ zFs@5~o(`Z0Yu<#iy*!tlzp87y`7S%W^dpYOF4 zLX|mvmXkXBm`~;oy*RJpr*}lfdye_0-T}Qx z+%QlADnJyh1Rs?P5wNTO8$2OuYn>y%a&G2JP(O5>|1T|QT$8gM>eop+c0)Rq-EeyU zU!MQp@*Nd>CRlR(beFW8+7##ZCk-=DfYE`kUFf$DWf*?(y666OA=NrSYufe?ng<%J zzJWJ6WY!NR&@C8Y`Y3uoVZ@B4C`Y43Xm1mJh!%56BhIReEUKz6i!QBKA4YkTemk`1 zvx5SvWH`(~+|fkenvMQcy3Z@kF#p(@a!?(CKy$LG%0Ma7=QZrh!*%0quS z+~&n|Y&@2xt;qRY%Xr#89=vOTc-?asKcel$kN%gvhoYt$KK0L3Ui{BXrc5+*MWm_4 z@70Y9o2sIv#-EL2YuaU7ev{KxpoSN>+7k1h2%JX@sj$&wi?EY*O}H(dOVb0+@KmYT(hIx&W+4?lJEE8@Xs!1IZ+;f(g|Mbyvo^okW zTQ{S@BtY@sMcl{XNBoXQ@s}!q7k^V9kI!d`NBs^x*VrxT`3ZVHlHZj+i0?UluF2dI z%Wv|ld`|df9B;0i3^&V<{Ho6QpVvgAn7W90ro8t*n>DGpT>exC(PxWi&EcpiXZb{S z3~3z1^TR1zk}rOhGk;i(O;-P{&x4lb$mPK{FAqF|6w^P>v1eTKMRld&%qC?*I_;|~ zuTD-8{Xe-}OU!@TryP4GHeY?`nq?wKeNyH3%|Lxp*MCy}5}mFO(1qL zv<$i&dKUC+P|a1^cWnlfj}_oJPy~+Vsq%IpI1%&(hlAdRDs3*`*1%_Na?sdkrAcF= zRX|Q-FX>M6ol2|bJC!!gcOC<+glgne1yz}v3nkuWzLWTw`ObyVFuyAe^PwT)X!nQ? zf#!jM;9#J=qlW>#XEY4-HhO;tf7b2>jSW^DsY~V#Oo*8SRU8`wHjd3u%9-v%jSYY< zhLYF17d2J{T>?eN+WTtsuY6Ek^__I;&eRz3HTk1_(C^9z<|dcl0VNM&KZafoeH{83 z=r5q3gFXxWJk*vWED9;N=~ca{1EaAEL*bH5$|FDQ48{NA{C~xPd^YRTUx6ylDi^!? zy$5(j47dTkEUkn*O{=v7yaRe1$XX5<2g*S$Pz75J)`Klz2Y3hcBEyD(5>N@2fK^}} zcob|0yMg97Uq?lbL{o?>UY)h(+(6ae#fJ}kyj3seYlq6AU*HIuauMbJs-*MdaiV*daiP#=PEC$ zo*(Ny&)LKC(cW{}qE!Bm^Pa05rFwomzboCc$uE#*&7*IlfI>`P4C3==){ZEpwy&57 zPkqH|dV-nt(_EgZ4yw-B{7=-S5WkHBa`UMx(gpcM9c-WH|NnISE02Beoad%|*jY#= zba>V0b!Qf=RUyO4MmcvH3|mS(8=?8-l8YA3h)i#cmMv;(YP2V1rc-~MO!rQGo|KRC z%RC*KFDA*1pGADeqHy!l$s9_&s9Eh&*eM zDhIkVcoUF+=STKb*+pN`Z;wa1akBhP#m@tvyU(9XXTl$SNKcydDn>hzp-5XXz|il^vX#vo`s zs6S=%GHCLZuPyph(+E%cm;qJ(odH#RWJlflbqPLq;-`lJ$wP{ zCbN3(Wa?cyIgJ&a`xi3rOd->s&`fmdWX{%L4d<8nZ)9$CGBsu?t8HZMqkgHky^HH1 zGAgr9<`z$;zudfm%mCS)mr|&<={D+gN z^kqq=8;69tDpy*T(|3^BnU1TmGcHoA(lnX%Vex9rwu?BgCme<0{AsMG>cAMtKh`UBV?90BSRvK(k^HXb zQbnrgqrB(c_V8SDb8gI-@XwmSym{oBeWtSGe^woBrnhM2N)`TRHQ`9KuEDftCR}wb z{Ldqei<+y^hFeqhKdWKTsNZG!TKtZ+k?zKHV~m6DPUramCesuz#a&IFpTAk+`7M+2 zuFG>*k5{Q6;3_P!{|R^%14dJ);(2bnENbV(r1N3<}Iz)^O-CCfvS(5Vfr{E0a2-ORh7aO81JN?USdD-*Na? z+L^14h0uVDpP3UjZ9*{KM^v3rcygMTP@ZXCLi0mKo_~KB_55!8&Oyyj7$-lK_G4fw zew4-;(EXt^q3GPqHIQCTCJe+B57zQx#n9Q%5H%}A&U9vm#IEI@XsC;~;%EEMiF>L2 z`Eg#r&SOyaV_K7R{v^lteN(4*4*ZIH6;$b+Yy2M(@TXT{*#2zlFfcDBjQL&|wI&Ru zC!u$hN!w3N><4r8ad1yAsn{t6dvbeMsChZu_8#_ZR&7XvUxN zAY%OI#{H@M+J0ohUy$GW0J%%x*O^}`V~U&Y|D{g%W$;ROG5(~xsNu44e*1C< ze)i+n_0aCnyP&D)#&%m9KLHvW2dE)lw*Ie<2v}fAqtj=DOwX z!+#Ix{ZQ;|;QP@2(1)M{p$|i;*MZGY>R8}MP|CPDzpfej9N#a6ZiC(m{S9;-bUXA3 z=dL0^S(E>_?*=q1p9K-WUaZ}Yy@ zZs>Nt{|m~PD)0vMU@Fd=&=JtLp<4Uzj3tyk3Yq+#$@e~d9t*S=LT9fo;5XIr8PEw} za3II4&7vVzx9$0>-{IMDe7+Sr66(IM^}dfVWkYGVZFVr;_ACD=KgPWmu=yDb+P16{ z^kANZplTVo|HbT)$$`pNvL;~Nrp$!Bjpb{(rYrsaZ9qb1E`mh%WRDdX01=fK_!FCWj6dq6lD!>)sX0Qe90HMA- z2c@7AtN`jC$qu74(@%mcP+XR8`og36UC-60NcH?U@44ztES<#)I%6 zKW<;#I6B&jpPQef{2F(FM@3dJCiwjjuYZ^{|GR_pKwk zG`n>~*%{|POPY5kr8ylvOJ_E3?E2p(Y=PY2mYDzSRm<78pru|jk%8?omciyhVh^Fe z-$gYsZ4Fhyx0kRRdEd>{ITwaabD|I74}&6Z)^sS=rtg5hVj)w9ySE6#rYW&s#~%ji zH}bJ5X5Y?{CXAke5Y@w9_j`C_VX9qV4FWfSC%|^F8+1Xq_V%d#l#_bJD~C#BJ+YTA zP2VZ9yq-BhPNF|L6kdfvpV*{rgz-Cs*yueuy9Y^qntQ!4WHaUb@=h>*Mj3h3)4(G| zRvz&%4znLn7;-1FO^jki`BfYbY9Zt0BI_?znr0e)o2F9y@A7ytTgIslkMlm4!7KG) zhfN!L7LbXc{)%j+vD|ew#i_1rEpbLfmbGr@_VT%!X!{i|N=KC&$fKJ?+V%EXUn%kh8?e zvD*SBvh8GIxR%4c;8K|>#NQeqe~#Db;wYak=FUy0eQT);7sn!1cATrX`utnsc;5%a zu`N2;;mI2-L7w{^@_zII@}!dz{A~d8=XgIVom`#{F8Q7M3SKu|8{`CD3dCeb@ylXvq$Jk_=|9?W>Wlo+sn4qDm-j~2k z(&y%FyL$!GUuSn9?=B~=%$>_HxxTLH*qWJ*+~T#gZDnSeCli|-cYj9a^FEo%#(G{@ zoEZ);5K|^;bhdhD3VDA)UKfm_X>Lj5q$Sn$i)zA?n;RDzk!_Jz;q@{7b)K_Xb4Iq1 z*Fs!I=~F*6AK3m;Vm?)A>I3A|56;E~JV$Ge%a)UdQNn(#Ny!?;Hy~mG6unkvWXc$6WevBcT^S)%TqP9RSYeb3gEf zcwgG~A%gL~g_=9{dF6@-Pv0j%rP^W>ejfhw%-(sWZHZvonV@O^`D$!#y*}Vh$B+8y zQ=uAHPKO=>odHEhX0CS#^bEdh{H(t2$x!umbK&ZVMsqpMB$pXxdoIf$XmMP=;%eJ| zdsaPP>2D?a=jRa4etbXIgf}$qPw}?xvVFIRuPx$z0sM;h9H`=51y#K1!kBnhLly5D zDEVT}`%&J^=X=X|U+BfVphdi;AKT^z~WhSgKaa}2V+is>l&n5=H;=bJYJEny{+y14V zga0i2J@NNB@oJE0mA-UU@T*#I2`{Vr7bcMmj|H_~ico>Qe3v7la(leW|XSE31+WpjF{}jIp`)5#vy#=bUpM)yx zUqD-ieMUTNrO(><)a7#Qb9&-?5z)VmJG*P_{hDnJyh2J68Vumf~C0(qbWRDfk*HFy9#4R(P{ zT?mhEE)4r*9P>qScLJ|b#>m*9e#zkdpJDjd_*C{^W!;8l-w#!gl0Qx#aPY>|b)@|w z|7=^<3wjLSyRs^t%iOW-l>c3{&d0E^#dRHJ_kljGJ62ES6cPl(>n$|Wbkm? zEiwQ1Au+F??CE0)=SS65)w2hUcirPVP|Y~E7xB_sfc!fC0p6IObjp+&7u9+>hggN1 z?LH*&C`o>v>P5|w#^waqV0aWYKhNC8=9+M`Il&^%Xy+h5GCjXi< z%6~f+A&&9A6sPdf3V5-p&yv%qsi}5;LaW^M==^ttIxCR z6q`>Pr%GRxtGM3l_^xs779JGAPdo#=J^rKNSG@fEjrBE7uO;C~b#q-)w2}6d{zKwy z%+~cs?R-QKkMis0l-%4wJc5MHdm}kR$9rXMR+v33I?hD-^&xpm0di+lIXP}DF!jqBG`?oZPbhOK3P$Wqc+~TImo%u$x(XRAjj?BtWjmh$p$!AiJbLLPI+UCy>FS61+{sr%_wn2RleNAV7aG7NX?}QIbN;uIOw6x2CSJZJ7<~ECb^(+wuNozks!= zgk#oksN-f#fax@2sXV9+Q|mEWk3BRVHg-8+%WA@It2_}eMkg<4)}5u;nMUjFCw)Y#B%`W3(p&J-knb&C_5!ul?y53%}OfWe3&Y z+p117ZVaeIQBklG+zcK7PlK00AP-%D(O@d51u?J&e9~Pi`>(V+cRzC?3z;;Ko?QRW zZ~w*Xo_`efpTj*(56kYtwC(LjvHsiDB^deuXAm!S;)2Ah7jlV{_e+8;K? z_@ipzZ-DXV>eSlqR*r1P#yr+_!3$tF=-!{I1a^6L-(L=oMPE0O7)xL~K z%9nD_?)L~J+-P{d?d0gCiy8AWk|8~*zguU*O4uohRDQ|jp&#W7Nj5fd090ob=VD9U zyn(`40;ATuT|4Lx<0vnTqrEVOnlLo)l?X$&_w!yDk|!rUDi8eif2$tg{QZ<0(Z`Dz zYoqt1{U0kmUiZAM^SOWIs{P|xLv|RrF|9Onx?AgOSOUnOu z_({C(d0X?pHU0k&dgn9Uy#va_^xKks_gL1}dio=O;;sVyy+oxmk207)k^U7=H%{bT zeB)d_)|d0)>5Q>7GSv5;8lD&B_jKB6sFlR@Kbgo}307fuk+;Xp<)|-zRS#^6c5#{AlG(UsPY8ksOyUov$f(jwR;* zeB|ieJyTz&L}o0CM(S$9Hfe25*VCT7(|z)4k!R2F=Ew5JGHwNEAP#1ptq}e-K>UtJ z`(NdqX3LxQO6-qSA4ztvExLE_fco3BI^t;04oAR*$jqvm8WYJ(^$Q0;8BcIppWVYr zxsKVj!~Oxg=4$)&rcqK#hI8K_J%&j?2hP89Sxc!rDaPv6KbHvZ|SKf7; z|Bn)IF|djXuoi3rPlJ#9{Qn?v&^m@F;^WH%a~E3s>c9W%J_du1U)?J||9lfpr=E|} zPstD2F_ddVy2}$zdGFj5?4|DYHILL**|VK_#k0!X)9U7ep1_0rIbQ!*Ae()5=|FL# ze8+X5&Q!X6dFh4ZzppRv=7e28`wn=Vn~pAYmVwd5jE1tN`no7bBvdbeL3-%H1NPc# zoju_A)W(UwYdpR!+c-T}Tv9zB$?tluE@i6cqxjwFBk`R59*vPS+D^N7b_!|pk25wX zQaILsUu!weRqIdDSxQ>9+4KjO9eO*1x-IjqCmg8_=(*JJp+0>bQVrDYXV{hzNukAV^obBES7 z(0%c_A1%QF#8mI1`QO2~(#wCPe=QaJQLr7n33{N60+5UU#2sP&&;Gl^THgP)%GjpF zJu#Hq`2AliOq>FN&qB#JbB69KJU@=lZ~HSj2dp*oK%jlWA9qvg$2)eG#fF0J%$@a9ZiS=;8>7nN=2Hp0`($x~lLX97*FYtY_~bab68 zE7jc3y~sMu$x_I8Lk-7|ajH_(96x62Q7Qf&0P^Q} z-B~8s9k2al@22jkfk$Pjbvm)_yVHrvPAPbHl(kQ)|85*x!)LkuEiwPkq|LvJOfuCY zgZWF!ohkQD#uHxHei>)MvneAPc8`&h;p&BrZ|eDYjqT{dnems}#}TGp=xhj`@o(3n z)wi(mNgYO^7sg1a!a$X=5Ib|#J}V4Yw_F>ly0xDAv>9vzJAuMb8z;YnLodL#ZKI*2 zhgz;M6{jK)0hfStTC~xH-C@MZ{?Ei%)PQAR4cG{_f}Nl{4Edl4%mz`g608Txe^+*2 zQeZfLouo)gT{izs|9??*|_)A4WQ}@wD&%ZuaE)+ttqS^mg*f!coK- zg=Qkh)vbKbrsff@b7Wo)Wh~?R>(ZjSmG1?*r+!VpfciB<;_Z{wXX-kX2d|#@hpG+@ zFn)E1ukM`v|8xGos^}~VgUW-;C*A8Mcc3Na|2Z&prqMP>_D+3<_kJ@?mnr8m8`HCsuN`)6+7VvSdau#<5&2_YA{ zxXCuLN75Y0HLa?lYJTEu@|*Edh=2KY{7S?W$jL~tZ|+_@aN~L$oiI( zW$j#>WKH+(4&Lm^l1+226j`@BS*GnUcdZuNqe&-mKerRYwJGH3{Qs><@;;99|6fj$89%k}L(czC zeO`LY^tv+x*Mw}&`t>`N^uD_%+4juB_~iqc=-TD2?$?v^%btepgN&Wyfyx(oYtILm zRu!$T&8RH7yp5%hHywEeetFZ`m9{us%uA4MN~4phdk5wGX`F$~ll?Nwt0D_Z*b>(` zzfCgLPS6MSY#t+txChoUZ(NMox?kKNKXL`lV zl`y?w=5Lt8p?@%*^gRaD*5{kPg5+8I$3V%1VA~sPuyJ%#@t0U9vi2)=oKJ#RVGtMm z92M_NNQSjViFZ$Aik*xS!#^(`A8RvG^G-9o<#AqH-&6B4wjmy~rsiee1H5zM zytZDY=B+inm2qBM4^s1f%J7~U=e1=xHSfhq@wH_yHScFUUN_#E=oQ>b^tyF0Yb1c~ zU?3li1G7OBSP9mGZD1GZQNVm6m#TWA^Y5&(&eiyHM?(hF) zGVkXfCnlfsl4@_)!Me|PT3vN>W2A9jbOc_G9i@0|Wx5Q0!-nITU6-)JC}b(iUQO zPmQ-1Y8R}o68DFw>!kKat{;B)gR)Lx_Bqn-FeW^eFcNK!c%zq?IYH(?Mb{Mz@5 zcjHG@VKI=Ct-l!?vJq?nJHR`jkcKKUv8s7yqrK5ayy@uC)pvJ>^kyXn$C^{zv5t_l z!(abcJe%Ll{-P|(9pe=oznx*-BIjKvS2oQjcUoP;EY*J(Z@sf9*VPj9Uw47!ne_?2 z+L=oo3p}lHaaiYy&uB1bTqM>4p7#7ZKOeVENVo2*9Hx2))ahhp3Y}boPL67+lZniV z&u`Ws##~)zC&<$&L(;S2uDYnQZuOUXfBiX>ah21SvCB8CM7S&DKwmkG!jtK*Q{P7B*PTr1FH17rIITpPi1WGu=JTz{yxGZA zIw$DlmXbPu`(I-?nX~Yy$k!>Cqg+|fU|!0VYd8PVzxte$NTDp##9kM{ntWL@a}a5?{Y?>cnx`}gbOOv+VS(0B#mJB2bM=>YHf8(f^?5Vb^5_LyP%71gbN7 z?HSD{L-kqb_}Vq274X=y88qdTucjScq7OLCsIl3o+niZ397?}O{b#e@gKo^8l2Opv z{LWmZIotR+s0t#>II+&WMUq2rDTlSD9CnrDuu`AHTU{19LpZU1Wy?@v+}4RO3W1!~ zla*GDm3u+4&xEZrh7(~_^1IFRV0=G}UvJ~_BQsM3Jp?*|Z5v;Pp2~N|8d_tFeFu6v zv@_bX@$SNWaUXz1C9bZ2=GvY-_@6*g+re(o3uO%hrJxeTKyA2sLAv+uP{Cr@QE3-VkYsF9Jz`O6|_mFGNEl$<_} zyWkR`aC6(z>EycieF}_p`|l9s{?y5hr!zZpoqngv0OIzw#Qg7z+1C^{Wb0k#YX?^+VnP6MX3_<@Jy9x~Mjgq+?TD+MKM_ zo-BV^JsepFJ6TFw8)dnC3#pPOrRxY}@l3I=DU&kh=G=C91^JXbJbknrYwEdzPxX8xzw5coWUA-%)8c!xQ$45uW}d66qV^>N)*B<6mk| z_565#Z+)KHv8l^br(>P}FSpDR^M4?LZkXuVjHEr@yU}kK{D|N2NJmN|`r4z8mBv)h zrDNq?K^NL#!kx)@748n zOkbJhXQRi~>(Y+pl6AS()8$y?IG0bL!-_p!mW89Pv)j&6c`b8vFiFSjh+iN4%AezPI;Jf5bYWFR?cUbb>!YQ;c%6VWwz7S~U?9&6 zSY?1QfpG)q%J0V~_BF;Nm^j5WH_QGgGxpLva96a{6%M<{I-k$>9L0S2Y#%JK{-?4a z|8n#z2y?KRM;pg?+kZ;E2T4N;nVI3xT<8en_xkvuTt zv$LRT%NSD<&-b7IuejMhLTcHy#^1oWK5ZMHTAvHxl|HGWMxPDFZ+<}QylzjI-dEtEp+8;lwO?bx;UVp+XgdP#shi(5->*G57$$sAeRry+DsLokUtZUTsyKS#H z6ITTbCmmMm1MVC6(f4mcsW+N?HSck(g)#;=??4nmZzb6$K_o2*J1bzUO><6Kfp_`!7pbtaO zgKma4LLY&C8u}Bct;Yk1lg<)7AFBAB;L%f|(}?4^cpPQVt?f*G=I+l3vkN>whpN0k z3B_)hvpfMlG(5LxbZS}99W1!DKbFnx!9*V<6ew6_nO}vhb%U6A}b~0#erg%Dm zLVdtJ7YJOgJpC>7FzD}1xTg@tAtsF7{HFMw=2_M&_KQz2+RgiuoA2XkAfZG9ncTsH5!zIdawel0UN;)LK%zl{f&~o_6clKJV4=k}K)}QX2@n)5)C6(^Y4gwgQD||CEwpxp z4qIq#2OD)~ z-{;xp_4)jAB%E?~sMxyxFCwg7FG^&< z$Q3QC|DCY@b2O~>aeL8|^px+@p9Ny$dcVjp9Apaj2UH)GMV3uf8bwBqg?@He7uw~S2JT4ecz%M9c?$$dw`-mjQIjjS@1{p zjp#c}<;Zc^&O=Jwn;+bTXDOH#WN!GbM4Ct2yY&9iC{Gpk5+Cw9#AhK=>dPV|=@Q@H{#2+=mpNTBP!Pl2Lp}f_Tc8e0(lu-Gea( z>+}7M*lK;xO0^R*-d_jg`Y!%T+WscfKN*Y=zc3GY5_to^e;X-f@^_HbgTzzF*~s5T zQqID+YxDUshll5UVL5}Y@EpkJ57#me2%_ykS(bbsI2rN|^~B5Y%X>YN&k`PnJE1K>Bxa*4X(Li>R#W06 z&!w&TE3*@Kv2%`W{`dB{KyGqfp(6avq60cbh6ksN@&6Iib@%A_KkUua{fblOwlp>- z!_L-rN+EkTQ}>%%Tbfyhv*&_Qx6EgN(Rn~Ow<-FZNCGQ;Wq-^Ae7wZ_-{Cs0BK#cy z$-jAeT;%!xu0NJ_NbzJ+q@VBj-+lf+8JnG@Yj~2^nuhv3cmrcTxmKtMe+Q!Qmn>j~ z^1$}f`3;SH5RwPh@&$tic~e`*VmvEN$UDtq>-xS{JUJErp6l^qpLS=yOZv=iYpats zMC^q(>MrY*4J$i4;?Dnn&%){J!cn^h{E;zZ^!)#`rvHD^`Tw`j>4voa1)cv-G9+@y z({krwZq?aX@5e6dOR4Bw%Cj6VN4{qLqBJsG(q{Q31+Bq3Wj?)xd2VPU7I$*&Ua$E4 zxrWajhBz7WGWgn~eERxwpLiZ)ye!vf72$6lJiqKbGN0}PkF?#==WF{Kzs7hC{g{lM zMk4c(*CGe9PMOULr|%1uzFpg(tkkzmF6Z7>AlG%+T!y?JDRC)6-i{oDlzwg;Qu=cG zk#L^PcqIKfyLu8`zlWTFd-UalP2b-&WX#A7li>`zFAQTku4k6Dak^osVsx8Y|2w`oSY zvRUKxxJmf5er3tNvT#YA9%28_3HptxzFO-=`a5e;-8<0DNu=NV(J~$XY=U^Bn_jEd zav48%ByGB+zTAx*g(Tmxm2(j$C9?VJ`UJPJ_a!^lzXXEC(`x zeheH0N5LtOO(u;3!+E|l9RCF)*^Q>ZC-eV8PzoxzSAtw^Za46MHMj|sb8jNJng2g( z?o;`Hk^L|J%(DM);s0g!zxXlT{ukRtjQxs2+AkwB+pd!KmPsgmmyDAn&w0l&T=x&q zG-^Xi8nq)SUx^2hRmcaCHOO_yHOTeIhmfB~egnAy`D@6Bkc>YQzl1!D`~vb-tB(Zkg_KGW#mXC>swtnA-{tB7?SfPx~h<0MXo?@K{g||BG)4yMQ%oZ9r@eH zZOFYysVl#W{3gG%;qmdGQBGrgfGe*Cx3blp8V{_D;9Z*+{exU;#Vp(!~f zd`h#WmHy~~hE?Hj3nB%IFS=l@F^>sJXn zUoNtA4eQDEm(&+!auit^l``vBDI8xbG7jmBDtpJ_{i>|5$`y^rR5-p_6p2SK`a6${ z^PG-}%LnKGr`L&Sno`f9q|cT7kUm%DZ8sz3`QpW%|Bs2Rmos0~enQ$iEi>_Fi{c*m zL=K~WC}NcGQ*5M<({d31Tvz&G(HC9e*jXfHCZ6LX#vyW8U>KX?c*5)o@Ix+|u~a|$ zG4y2(!TYLe85nWR0MqDiDnKph0Gq*Xa1a~?r$F{J`Xw+8RDpW1qnzh#;5f);fol|~ z0JUH<*bQC;CqVXm+(9{54mN@v;1D;Z?tac~wCR?^Rca!?O8fL-7KI1bK$5eybeKn17;8^AWO2OI)NK{jdQ?bI1bEUp_> zguhp_r1^acoTPK+`TzU4CA#kZAG!T!ZkW2RAZa|LZ_aMgLgP4!$8Q!u-V+6l-&s8ltS|74x?Im1sJmZZA zKLZbKL*SW!WX&tg50$4X!jnEPycQj;6Y=Zy9v}P)@gXdMN9Klbhkk4-Qu-$4SztW! zJ?ri~S}!gfAL?u1p&JN1%qs)Wtw@QF^iRSwkS8AUJr_BnF`Ln|&--f8(YkSAo{!>> zK^n^~9h$uo}Yft<5~RlUv&JoDQNHOtryIY7Q|nUtTY3YzN8X344u7uVzm>?*$W_RE zdOCR?CFNTBItlLsp#e@L%J_c+8NC(k0SCcR@D^aYm?#93Kp9vD8o@^J7}y711pg5) zn!Hs1FYj2&Mc$;YuQ9$arUD12jP?KbOxNA}+W*Jx|GCgJf#@8wyshp*-nyP*aw=u} zg3lT*bsjkY|D;Z3zAxna74}%#wWH(Luab5ho^}hH?cA%`_4T~Kc5!{Zw)v6=5?=3H zilm@(J!zcs|5kMVAzUR#EKb%_3_YLQ=QMOQ)wSw#hGG(<1beY{eF>-dHztw? zv{T`^L_PYG&|k>!Z{4KzPxP}g^j9{ies9nJmjFB$@n7;R8Xkh5kg^xW#g$!suIy>( zWj9YUm5ZX9y1q^t>RH^}%6R8sEopERh`#Gc*$`vKg+a>ycQ3fFdUoZVHS)iN_2R;) z&%Hd1{=7oot&vO0kYC>*jC!UwcVxY0ak7~YZl}(_xH!J<_1XF4Js!F8RD{3V;L~%# z`6+8R{lNEAypn!f+v}`UJ1@N6Zo_{#SD8&q>Rqw z_aI76K0R;CyzbmS$U@{ir0~iZ1-CFp zS%IwJcN>x^Y?nT>m-EEx!4j|#%u8{0QE9Z@%SyGGGA{Rho=fpVIPXR>4+v}D!bx52 zf;XJA@hK$ex*xe5`DNs%k>5hzhx`p>EmGEXX==Lu7`Y1h17tn&Rpe^qo5(fDw~=d+ zXOW*l4k3)6MHV7SqpoqtW+dxgi58@+_fi+T?m!anu6vQBU)L%mjb2w9@&V*mkPjlM zQal>X`SNZlJQ`;_A_oBNVql84dr{4e$Y56=Jpk97XOum8M7S(IzIitu+I z?U0@o&d-eT-)_@&_vrX9I&SOh``^-@U&_9Y0fdV#qsLgy+go`iA{YHf>Ux@Z{v+d> z;3VyP%sZE-(3a-~V&}Tvhtqxxbd_MzW5sCKwPs~Ez71B_&SH!X?;lVdzEA;0di4aLjO7nIg;PZ z$GdV^OVICGT$x(i*Rmb|{9qh5gIU9oF^u@DIC-nOg@f?hE z(AQ_d!lB=Xi05F)9O5K$Fyk9x5sq4*d7UL=lW^toHw;XXvQ{N^8vjFD(By>i4aFlo zOP+?5ah0qwX*!oB{{K4v{}{Y-McbUkG)hl02urm&8Rz0l*_E=h&FoyaFMUC8+IuN) znR9b*+bXOrrCg`3C6Mg%c**!WBVLy>o|iO|F#B4-e&dU#V+{(2olp9g1)TBSzzJhX zDH9j*J%cQrJ7jVd#kAW?;regRC2{K`m!~893c?kQ*IjV^*tsNL@@@`kIlpBUM|fS@ zI)}&2`DkFmb)|~%_ip(9+W91I{lMpQ)3wGY?Sx4pBSl zQ{|bA?7 z#1DVM`@3_H;&nMv*1{>yA?y^lu55mLxqOBHv4K z+U7^sW+VH*r`(?8D4~W`q)mDsxNR8;W9Ca4=W8`$6f!{DMt*mD?mErd;ncvK@G{5F zZOMqwrPMP?52|V^%{aR-Tu~0@@3~~I)@4hxzHsvz#a7L*)LN79v9^)>J?99Uy_)M9Bjv1~aLvMwG)=gkum4exQo*fnTw|w%YWduO zT{d<@u=_Xj-`7v0cFA=*SCcX=HZ#oTvcZ~vVk1ctXQSodV)|}9GbFR@_&G}3@!zjj z(&KvLPRRQOI7rw!2v;?gRdn6Guk|fDNALDd1su`(Y0p#`dQN|ky4uh=(T^O5jDw~*b+yAWjDpqMK0h-a#WK<0 znyn)IrTpYB=tqu6jH5Eb(Fw=b`jO+5aV&~(JOIaE^#g~uMIW61-}mngcv|kZMI#w= z`1MWlYbA|uDBEE@jj#Ujs+YK5N?+(@+_?&9%jFuYBK&0yKDWWS!d$LzT>gIlBgPet z*JE&f)wv{I^VYTUJ;!8yWwV@I91aVWK=me$&YPg!kt-Uv4D|Id5is`^fA24+>?n$`y_8cj2va-i-MAS^T}pTjxAsoHD2O z>o?)_^ZdiJ=}6u>r;J%YIRBr0VYYZ>T}ep7CrH2lQ_laF4~fmK;{!5{jeY97{M!SE z3bd3&9rG>~p3Fr5nQ{vlCoSw$TSM^Ne--h$BbH>E;?uHIt?Cq#r#pk7Z(;hhYF5`~I z_jlmda|sAnOnm!`dz36daz*oZFWh>z0S*#xSv!c1jVhaMB+t5xrbF~^5UZ<|#BcA`_ToTVda{2h| zt(bW2gKHptPHNuJkLU0^Z>=qGM&tN2y#E!?{}1(5%59_%myGXC8{z4D$kwrKSQyID ze$sb(G+*`D^SOLGb0yzSs^MKvmR$PAJA((*az*p?8F*(quaw<>se z>AX@ueR9Ehe&MU3H7&a2MtFOZ*3MlrB1E}coc|E+d!1Y2+|S(J_w6?BXuJ==y~epE z-isU7tnH|2sYI_HRyJ>&ZmR|p*?A?d{mARjUDp|JG`lVm2>(8Nh~m-d|3*L0lkt(bT|2j3IUC-LkDKJVjdWCIu1Bo*N=`!#ca-}#pC zoVTTUb;FwZjdg2!S6-d#ka1a87r6ceuK(d&xA&dP>&C`W8lk0;cpZZ4r_LqsoXMAw z7x3LdK9J6*q2;q`;rYU0!dZ>I*t&jr&d0qfFpK+V%pc$LMmuYxU(POTUlX3+UHmf< z{XV*v1y8TjaLF}IMfm$Xak!m%RH$pTWgQlNaqLa~^7N{ghoM|HvC9)|bvOx|u^J<=HW zhS&4+Pz>)2@a}hB?T`D^UV1xH!e)icIQ{^xKkv>JN!i}zrLSW?W_)1*O{o)q4&Prp z-<@?2G_29@A@(K>JzjZ5>UlKpUWDfp%(X+EpuJkMwjtSApGwAFl~J!38;mbH*LexP z#SuQf26TUCGTCj^*qb;y=V{}#Bn=V%3pkhm0ysTghu8x9zlKEAG=2ll&pW3q6tpz^ z7?rrL3T@>X!g_2>A|ZCJE6=0{;05ixwTa!&Hj}or1e+b;X3;|n^Y9)MB4WpTSZ!h6B*<5^Fbw5C6Tu+X} zW3Ja!guj1BRMtTzoC)c3EV2@(vxIFQHlpu3A)mOn4$R~JubS=q#kBjA~yXU zSKs4PQ7jSCbkP6UXGB~VF=q>LwY?X;smso>*EsC4V4!&ujurjLQ7~RZAD!#{Jsin? z;PAd{`3=g^;t7TP2RPcCBWAx!A>o>Uo!GdZmjTSIZNM$r5#Di>G>_hIPd0}BNhsyK z$N@dvJEA>wXdmP(|IOuVc4%YfpZPe^MND zk68M9loD^7KFW7Y*oXGH)E;f!pOuwLtf(%-33S_2y1LIQUYBe@H+`;}?w5+!{czAt zpR1<(p5k?92Hiy=46HBPzND&TMbeaoy?1bh_u0ykvJY@RvI6(p zk(J0L$WJ0`kX6W9WHoXvauM<~NOahZpY4tQd1K6$|?lnGSSOEaY5_uxC)xU8)@Yb2yV=4DuF! z(-d}n6iE{n&ecVyi@3m==vs)JfV>Mi5xD|+6S5vjAJ`>>>B&f0_?d$I98&V(VPq-t z5hNU4+mO?cdcMN=L^gXh6>{c+pSv)b|KH0^ zqNDqX^lS^^xeU|-xz5LPoAG?ycs_xgihdcgJKuyvHoMfaX;u8ajCJVg{-P||ryBN{ z3a^AkuJduu!*7Wj6==dwGuoZ~FqlFn&<{7>lKqpYweNw^0A371^w zZKbRWKY0@Pmmq=c&-NxFu2MZ1UZ^NG0dMboYry9q;Ne4y>2 zYLw_oxXMg-tm$SWX92lhKv(R4zeS8B65y>bRW9zInq7incS}gZhcQjxOLA^mb76ZoKf!oZrndM z?!PqdzY5&f!#xjfIaemV2VVCD#dE(NxIdhVx9;VM=l-9@eZsi^&bUvexEI4cr5m^I z(TV5&N#NFZrzGCG&nBMx|1s`U#{EymeLBTm4!6ALosPHer-|o&H*jmbC0|ckeoKBz z{tN^qK(2p9_bTMikRy@*7C2ja#P#1VP`-Yi!KZsrvJyr3m&un!TP|aef!3yHBZqSG zeP-I~evy^y_S?`iJ$HPiRZiA`0|bKiu3U4evWuP-VcXwQsCPPpYFrR3fvOE zXq$F5x&yd(4N~IC8KPa1?jlDaMv{)2dq>Bb>4^W1#hJCL@E#^a+wKOGN! z<{y7HKkx6;S8>LZ*+k=^&+X$m$}CKtR{eecKS4^&4;-IP<;Mw2S1C)G`Ek3&L*%fK z8|g8#K9AP3h%@uND(Gw8NuKNT+bO!_Zf%C zVT}7f#px8DR{H!go})hK>-QlfKlFKFJV(+vL=NNhinW~I?Hu~7FP`HwLI18)JoFh| zJjZ8^L*y_LRu_|hs-DR`BHkGk;Aeh3N#Ehitb1Pwwo^hl8qw9~J6YjbkLX6{A;K%|FK1UtvL_xz zPC{-&PDO403wy;gRoRN0JkIn8+f?Z2DJAHl;Z})=P{UF$N zrtD;nrOzRb6IR+_dJ`Q=5-!gyrG4gigUm=oy%kNg{C zKI0uZKSr*hjQjJMrROvAh{F$r?o{2hp+RKcO#u$~#CI^ZYc}FH6Y!ko)l-ox85*XN9$WNv{du zlyv%BeAA>$>dH09GUT;L=E#XrNSV8hMy^Eiefn_z`&eWXzl)KQALEf{=ek& z7f7F1kzYjqJ#r&b@^=$b*6V(e=l@fm!gm3rjBgWOq_hP;L;f1Sb7)L?FS2Vm^4F1+ z-NfU_Qsj4$<;dSeu0%e8tVfFdYUFS6dzancZSwcb{b}T0+@C`}g?t%_Ti5?U{yy?u z)&1ULfm%dXDZ9H1v5R`m zN6>XA@~6mZ2EnCw0KIFgfTl&~g?vX#^x17I!Z76559)C5spLOMCTzjt3%RO1o zk}E$^7S01G;QwEe4vgzhb5zz6iH?u*9T2b!><34{3Gf~m!eqS|%mCG(5o`pHfqmdG zI1WyOJUYx#U>c|ZwV(rR2D`uka1@*ZLs*0^2IXKmSO>O(z2GpA?-OM+9GC>kK`mGZ zwt>CiC^!WQN!&@G1~h_gU@tfdPJzNQ+(9*13pRt@;6-o(WRoeQKn17;o561IA~*rE z$*fVJ3eZ%i7%)DjbJm_4UT}5U`RRf1QnnbYy|(=&;LJlMEKFW2RXLf-iTr+niXn0|6-DIhR6>!1?3wl!bANMz z-oI_M${dsLF45oT7!-pHf+Ot;+F~b-DjWnYl9{l;2O7|LaYT zG5L_C=OUB$FI4?`CLgWR-wQ0fTc~g1U!BS6CI^{(ow_UTPn)cy-plVrA5r;Ow%0yk2!P&;MJ7lIXg7^gIH2UVLe1c}Og% z!x?9J`2HZ)E5ar7LBA#vws$;iVXtwrJ$$`-L0vQ38{0%r_GRosmS8Wot}pjb@Ou*X zi;(|r{#=_V8p==UlY*50JCaSUA|*~2{~TQRH%j`6jqfRV#o{6Tk6$;TQ(RLoFist9daNSg7Twz~r-?)4))d}Mo6&UpoX`5T>ToSL@ zeBkeaqM?*9GHyszV=H#9+uvc7aZCx&x}=(%XRv@2~w|T0l6lkFXNn>kT)W4M$(LiXYWH3pI{!gAIO2vb5Jd!x* z$tA^>IuWiJ*vlG>hgr*0e3)sby2KB{f{l#D^|_J6Rr5P5l^@Z#&PIPYI&*^EJ%sHe zDL&1EcstS}*i{C*PX)U(_(OM;m|){5;jW^+tp)4A4zM4*0^S1Iw8^8uEKmd1ftRgc zc@~c)EgmxY42dhh^C1xV@KlvgPEh$Sk&ye(o7`e@fwjLY2C4gV_Ir!B-D(e^)jw#>zx|9UZJ%S8RmJg??b`x_~1QXDe-8*eN2Sz3^Msq2qO zi{J9J2<>!RlHI-4b!~M`?Py6`QGgw5xXc)t|C+A16|}>t_N+HbUBJbjPm2#Ew& zw0(aLoxhBRv9gJ-@Y4E`Or9>|xk2f|U)C#gUw0nqNBV)szx@-959^`11Fdd^_dCNI ztbL1*wB>SnyDI-5f@iSvg!sstvVG$@V?2w5z^>=vnc_U`+qPs2Wv2%HLqPOh=Q`^P zDN?Dj(?HPH@&a=s`Fio=5$zK_Z+$#cD-8fwG|m5%F#fWKQOddO3Dphemoy&9nE> z$P_|xDPuWLJLk!^j<_%t8`gK=dD(d+?fQYI(RiYH^yl!r;XI_9(ex@lGG?d&+Gk`X ziYz{oj1~4jU0Ii;=Of6gkgSR6{skmsps+`A5bJV-7{Lr;FQ7b+@b#!#+_l}!3T-ey zX)%>k{x34W$06w=r40!C8)fZA{HBcyW1}09Ls|clwZGxaWaJvoF2|v)SxX$G?a+2M zJ?^27rp8E2$FSG$9X4`b+sZ8QKU@;OTK$*RG>xx}k?8(~4O^a{ASEAWBPDDy78;M7 z8{CTs%Q(Vx6OeVu8^Ng5_)5a3?Ph%V7}CI@-+Zh^SKGeyS(ni?t43GCOS=@#lU#z7 zXOv5kOy9#kJkm3KKS7`WNw_BV2-8M%v|ZD^Zu}(Q7+=XhT+8uKcvm1LZ|*amI^ zOCCwQR`Z+TQTTqs3}h3(31j$PLOx|ezF8$>&Eer`qcofo_+QpV zHi8{sKR5zTg6umPmxEcL1~h_=Up%bdz8v&m#KX64wVmGr*f0szh|KSo=wFO zf9e*ieA4_oM?seRx80yJXP(O0cE9v?{hd!bh+e1JyuV zgm(kRAjw8{mFix4+SKse=SJj0?oU9`~wp)FD-QxYsr}X|gyFa;7f4^+?YkZ0Re#zYB zgJj~*mf0$wv~-(StiSW=@WuVxCZDzR9&PDeY3hsxAAJ6AMFN*F2Fd+ROZ&L_zv#MqwC+di`G2JOzmK;&Br~|8Z39`C zd%)8|#`V3J^D?IEHitiMJW}udnuE@tIFF3$`+=vN{y?s1d?+HhZ#qwi&!x|KGvgy` zxpGmgQ&%}Wr<^Cmr|&#IhhLOp3GY_r7FhjEFi(ljt@jbGQ3G{u?K1Ch1?w@9U9Mk>incjkv%6d`;_OeE2>V z{7BE&v_8ep*GR_@zB1&M@Y9}z`C2)0G{5H|#~~?;AI-;e9Kg zulYRauNhOwC1tyn@zqAK1MCM!z)5fx6q10GKsi_rI>2VI7aRsB!C6p9DRL%cmbVd;LQ zsM%FPx=-1y^-f)edjtE6Q{f2`eWykwCp37_whBB zVbOTq4c8Ip@_6aFT=ek0OGoEBY<$uD;vKr&A3LANt&e=(CzQwo1+HlPc-JBK4d;{i zEm>Pv-|}G1`qpHh%E%7mipK3;xZZLuiCZ7JJROI~gQ1LgeG0CBajtZ{7Oq|mF}l4e z|IW9;_@Z%J4&OQFOUJEW_)f*dZv}jpGf@e{qjdbNC+b`Lmb1<;S2TW~hVLrpOUJKY z_>LG~v|RGeW^R%5rQ?^X34O`GSwnipuNJ-=oi81~e&O3|e9`#T!8hIcBz_AYNVYZB zt#`t{#BY>L`njU{w-UZt&L{EfN50L*7meR4`0j8%iQk--w)$jSzm%7=G4W#$Z0;iG zllb)mpSPQ9Eg_@v<9*-U`ljSXv>d)H<< z*Jk62=G$lB+Ui^qw?1@dz~{2JkW z!a2LeuWy{5rYB3}YjSTOYYR9Xr_XAXhYA?Qs3nxjbHxjO$Hb z;Cv^IFB&(Vz2*MQ`8;lYG zJOIxO=b6j0Lx-N;vQHV1*&xZbt4|1-TOg7>M#6dhUHySOmw-cO&ydl>g!t%3WM zNEja^jE$)rv>1S|=ANo8ZD>b*1{4N1+bq4KBko2^mEL` z#wT(x`^&~sG9<3Tp=;>z9CrtOeJ@|~OxM2SIhGlR$ibAb3GCT*4qd;F=U5T+^$a}W zcs#60#dCbxI7AMn6&qTdapFQRY;kN*CVspd6!MI=4DmVLf3=i!}%aK zgKfXK@acMPJl}eBrA&SfDSV$tW|nK=({z?s^+l}v=#`mrB@acMHeEfC>KHXC<>8Wdx@qE8we7lVA z@xb??9`V!l#dyBo3Vi80u4{wwd`}wRZyVq51itQdT=GxX`{MbY4t(kO=~`Vp-}j7f zzwtd2_8Wd3@q9lt zzE_OzM}eqhZ>Zv?({{^^=eJm23L z-$~o@7=)HGk&_h63=%o@ag+6QeJdjB%bf* z#z%t@+OsTVTzjVL9PxaEuo=vV+}mqir-{fJiKCI^l@-s0QY?Obv*u&B_0LdN`;-^x^ zm+S@UVyYLUjA7ZY(M5L_ydTHwMd>jbhRRR9?&Iez&d?6E1z}du55Po$rwfAki%F<(^AeK zs!pYA4)4;Z@6WdXhlM!Jpo7;raaL+xE&cr@?#sn`Xh>_;4ZBA3n>Dtu*HPpcezPtW z_B@Kbk>9N4g!3y|R|se2F?a2%;J!$SD|4F=SCQ5H<~^J)DL-Av<;aJTb;vIw8;~23 z_ancAWXzQKGV+&@k02S#B))?D8uF`1#u$msNX7!;yvl5LLP=ichSBWAuzK=g-to(2 zY%6)4OCFD96q?J<&dKcB%uN(qI^KvJPCCgM`@@ho1pOSwtJ#cO_5PJ1{UmNWH&4&6 zvbiVirCeVpJkm~WN6MpuZz3h#zJ<)@jSzWvEsy;1G3FlJbZ*T%B$fwKrgi|izGMFF zKwib~Uq?z=|BbA~7ut}&$?u1dPavO0?%_UdW#TE(NB%C7HZ1Jb9EtoMzo`d_KR`+u z%I3|GoRDUdk&;GLU^4g+(2=0r^YBVt)w!ykFUrqub(JuM`6YQ4;!j?MI`JLkICOU- zrA{71PDlO)vJ80?c{?(jaNUWNy`=-mlYwFGxEwhV6a)GGfSj*?4Pe!bi$0GuO(gzS z5}u1RNK9HpI{@l|9NzdC*auz&C%}84a4~wI0@Q*HU>n#6UIZt>Sx~fu_6aNp9bgC8 z4~~N~U+@Xisa0`*`c*Z~fL zqu>k}axZBF%0Vqy2eyH|;0QPgvOh(bz%)<=)`Bju1MCM!!6}eOg)ag#KsBfbx0cFU zi=1AedsQzFhXBm&cJRX0iHQ;Sl3Po-rp=W1tJJQ5{JuP~uz5*qV?&31OwVo9&1{mg zj%PM>D3?cGcuVPr`>H?vmNbXd@f#DjCp&cGXjKba4&6rGg3Z*D`gD8}ge%z0ZLDi= z7nACaHvDlrbyvI6k_0_dIvs}C%Q&tp977TouIXvrwc)-l8o93CQ(dw1wWkuoBUhb@ z@b_`np01!m1}9s4@;$$&OxN8nWzX-0_Um@r`&-u$g469@Tit`Qr89cZwyl!q?DdV? z!%J9YZSGR`?UL0AX)-d;2=VpOL!!WyW$7mWf0y)X@$_2Q+-<#7_DFBWM)Y0B*CWSY zV7*kvRB`T94O+UQQ1;XA>^)yu-ta&}dMAQ#ND#a0q&JYt+O3yMo0_LL zg*2EZf#R}eKKxJrm)mOmq3N)s@lPU)(#1VP(e>I)&OOF?MPSoEyWxD$Ipz6PKXLkV zj}elHT+w*azvpgpPI*Sxy$JLwj?VXp@kQhKf5Ere`66-j%`d%4Q?FO2W8(K)@O{Vm zB!0cvr|x;@Jj-%49i#DLY>@l7^GLkJuo6(iDXhF)lYiqFmFucO4XEaFKXx)nE+YoGSPVs5I zi0A7vzK4zP3&D0$4?ZpH@qAwoHtDk+w7kaiebe~9WqgkX+u{_THKOOhS8%eX2X9=&h+)6(OxJwbnVYir|r9leED zgVJ{DZg!EeRW@lgHf9_)R^wc{YGrzSIE3;)Ru8ahw+FVVbW*qAf9a}KX`6MyW^uAH zS=XMd&;y@5t<=qI>eDtSgN-y?3tQ_}HFT^ejBcZDW|Ne*WPIq4ef)P6UAdy|A!pI& z{tFcxZ|Nvkb;$cBKK_$7L3G{yQpSIAV>ju`=Oo_eyvqSP4=99J(qFEDAaji7agy~6 zxvp0c{+2?NU2bs-*?wtb07(-GtG6#2|M>bhf%-;qr^VCu7M@=*SG)t=R@#q686!wQorKUY83I3v>J_+ zw)i^apl}Aw^`UR`c>cTPsl<65aoY^WTRT%i;&?kC?;DK|bxu2RuLpWx>vPFR()w~{ z*!V=c(|3KnZ~8ORb1O+Z`k7EETvzXD9h*uW^EumlF}ixsbXTXt!8#!R${?pQWQqH& z_f`KE3Wvw@P|%lfch}eZrXOj4i^+TSza}Z+y-@yBHgmW4WB#jO@%b<1TJoPP3HeV_ zlmGIayKByy|GUZi10dVxzNHv@noD|RXXKCG3u#hP8p%sZt4v+JXS%E>xWAHqnYwz< zbnDW(G6%}k)qAG9GOf!w^gVR-p6Svzc%IAo2ib}8hW6H$c8VGIbqz%CtNv8_L=Us% z^N5VJkb6Jpx^~cq-zkyGH<-0#`dX4Av57&c$fZ>(w@g+!`4cLKUZrv#eW&O(+5MO1 z>F+UPRK86)755j+{!JQg`CT_m<(p=|eZ2mD_2VkXnBLpV^!G~?4zU}~7(?VsSF3EI zQIy}$Gky{IFc6unR5_8sv;2OC@-OnWaFm7+wyaZ<>#w( zAaehC%df{RU&ouB@3(!)>?WJuQp?xpF&6tA%im`i2*~fBm^^3xBH~351YJMWzHOxgG_I_<;QRa{m95R_-72@^9^ftZhsA*ktv6x|RQLTls&9fvmVcPQxbhRcj}nH2Ip9=ci0Q zH%9dyH96B{zR5R=)cqNgTdbVdnVfENkjZziRsEMt?lf69T<_->s(jemr>3Fi|CM&1 zL2j0W+uE_$_#wY}E*9jw{4c-Xuy*)StG`c_>HTM{J)CFl&D&O=W}DrQu2a1gR-fNw ztRem_wR-%x#bdbD+egP5-(4yjjOSJB|0dh-6{FPs+tzN^S^a&~`oo#a)xGWxmCsuL z`;?`_+jjqXliN*>H~)V2QMG&7z;?!%{=o`q+-$u}*XD=i-;4^zFTtlT_o zGK=wxq(`T<@87omefD&{KYOyu>E@oae0bX0v1hD(e`2ocy=iibwZ~6b`5iq{-5<7a z-EZyY>(>50W9{s-=AN{6^Ht05o%VZ-<>Tm?>fgK9sQi)T<2kDz)6L)KEkB>I{QQcg zU%uHTt=_y~=|1^h^>2K+$~u$JS$&$9r}yVsy1#DjlP%o_Sv&u-`D+fQZbQx-PZ+m-Fqxy?1pXw|hvWoQn z3zq-WtzI=*`aeEP-FJRUC3`~x|8~pQ|E%Z#kFk0>+RE|EmT#q29?n_1FTGRK<4ybh zI(1j-?|93fXD$8STx{uQ`O<0mvB~mdg_Ywbs~6KPU&h=0*_W&RIm@SWHePwx>fu*x z{Qs))HCTSlvvTvK$$YC9Z&-O-WOgg8+`MY-_j6XC-k7btOHKdjYxQ@7)u(3$>F=jL zq4GHk{}X2Sw%z}k-G9NtvB1)Cg|%Z#O>e;%^=F>dubCgw-?OcKd(-OK+t$CZ7cQiC z@O3TmfmY+$h_wy|Op0fPA$MSDprTY7{<=s`y2k(MtzEnhZSIEP#QhD1oo)wlq z!z=avqxO4+rNeEe_m0K?Rm;~$m#cnOfy&p+{oSkecaHItT79D0g?g7`{oK-0{XO2~ zM6(-ixi{sQf7hsdW1h+tmd;Pu@1&*M$UDs4(o4P*DtYndM3qljyLX%E zj~}G>D=q!Lw6zHarP^d|Gy^7WkM^QLmW|Ek6NdCSk&Ej@-$ zSNC@hJ(_3v^{Rz?ftBl#CLbN5{y${-{j!yh zF;?%NwEP@x`SU`#>UYjidCv0hHgDI>?oo^9PRp04?Eae;{;yd2kGAxF$hBNE|JQV=v~qO5^Z%c=^c`t>Ke6`yCClg6EngnGO#SP$a=XIHUyijWGc6w; zxBK%lv%}x811ruUWZ$*8Kg6x!-T@mDV1- zWc4IzdOOXobBTq+!oS|yqtWJm&eHjumH%fxW*DQaYGW{)Z(F-F+WN_yThzY~&i~hR_|JO&|4b`Ko9@zhj<<2e>oz_Z zKU(ikxAOk1m8=2+9f)*$;E?vizb)2Ha7Uh5y06kbXh@)p-7?@tOHxY4sZw@11G_0kVmQ&fk}Y83GcSZvw7YZ zl6QX+yTLwi6r2L@fdWD?3QPl4U>RrykAQ990C)u)2XBD{ZTb)}0?Yyxpb=~YTY>D| z-470d)8H(~BOwaG46q!m1sz~B*bVl9gWxDQ0ZxJUKtT?B&VcL{k$t5bz%FnA90sp| z;nhE zi{L1Dj8d@=90V_dqu>OPGZ)_j1@!3?z%)<=mVtWE3O0akU>7(54ue-f3FCuWunuem zJHQ^W9~=V5z)5f#&BiIUdfIZ+CI0^EoA%$QDkjl6g zbO1U3Y&X~kUIeGWdtlU1!Ud**WuP9kf=9qEuooN#uYk9}88C#lXapz$HJ}!(13SQe za0na$C&6iO78DL64M91m1|2{S>DUb9JgR-*Ab1fR1t-8MP*6ztKp9vDTEPae4eSMn z!7Jbl;FYSx2v7`Wfm*N*Yz2G3A#ebb!rZH;^-i4uTiKQE&pB z0`Gxr#zNCT8K?rwKs{&$8-SeevkM#s$AP?VHUgA@3Qz+Y!8))JYy~^O9&iX80Vly} za2Djz#}tA|UIIPy%Lw3Qz+Y!49w=90A9`X^_Wya}k&X%0V^g0P=F^X7Cu; z4fcV9;6-p0oB;2E>>|2wWjbI(v z3ig2g;0QPdPJ+|mEGQgHxWNoi4c3AV&;>Sw$G~o|4;%z9f}`LBcn@TcBix`0)Pr4M zFE{`WgX7>Wa0W;xIRX@e5-~6datcO)X`l)$1Fhf@unp`52f!=fICu*b-$W8fq> z4e}-sMoZ-Fy_ zt)Ph^U<4=zvw-h=lXt5|+rI0%sp);LhX=_0$O|!%7k}JVb;6#x(z;vHwlfBbt?aAp z`2vsIs*c%COYbS)8*C%I_F|0Nsk_-tPuq>k&fv_jQ+KnwHN78D#wQxj?t5MJzUhA? zt$)UNWDhtgo8V_+Sfc#FrX~Ig<9rTgyrsUnrLkev`gA(0p87Y9v~v4dq2;IwpYCBlZ{4cK&iZ8i{I-^+?tZAQ`9a$Go=6E>VWOtRj$}`j z4ZUyrq*-)NS^(7pW z%wWeAmb&iY&WQk{t|u1iaSk3`Cf zl;^86@=fn)-I+mskJhy-WA-0QeqL$$k(`lkOZSHRmCX$u4IEbZIX+#|)Y{UV42KDN zc~_mlRg$EB_!qJZ@J9SsP)zlxi>*{7Vx2}0rvaylSditxo+0iz8 zSmk|8P5%l)+cu}OqobucqhC@Tv!zXTTY2B(%Fu_N-&S?ZmNwUIj|E%lLuaq*Xm}u* zeq%Y^rmBwF(!aTFRj%`%-&S?ZHd0m(1=}=lj2L?!sgBuFe%*Fdp7WmHR&~slGVHcngKd;I9ct%Q9kY#;_Eo0BQNo;KT+Hq;dlo2->+ zx$SAAZf3(+)9aV4p(u~%LHDtkx|TY(_E00$NgSso_{a4N2RGX#uRlk(- z=Ve{ivx2@PLxzpInGI#nZEA*!&En+hwq*O-&=<6)c+|~oD0e{!C^~|2~=bSTG1CxI5_7?SlBusIto7qtI+-8^ARJF9HjJ&+6 zo7qtA+-AryX|)d(CsG;7tS8`7Q?i? z>X|)p_cFYzhrPzu!>#USM?3F!1y`qeCBFB4GP!35Cec_o*`$)m@FsqK)(*C>c+G{ex94V-7t2$;&9rSR^`lhF|eYU2mZe_CZzKrvV zRL|_Gk3N5vwa{4mNOpS|RM-5Ve!3s8T+k2Aa`!`Z%@69R=UdfC2}h*8y04~TRb>9J z?q)|ljn2id${4FN?8IGlZy}t{aU$H8{ycs@pzdZD3ELxC;-A=Y!v7i?u6D-G9m!O^ zQ+Kl?Y|baoo~{aG*myg2H@isxwU#->RniVCO^QeFn|`GKl4n&{#hi1X_f4PnBbsK{ z#iZGFmS%PM?Qtk04%g9k+RSElJu53DV=7GQt{io6cwe&D?ED}j&wssd`jK&HF>$z# zexaT-nw+bBPD4jiU2BR&&A1Rjys}f2nRlR z7}eeEB5jg9o4YRLXS|)dn;mV^l*k&{O_HCHQzGtUCe+x#Ja%?RM_a?n&JI2h>-P&I+buo^No|Jd#qzjHr-oD6OZFj{FtnB-?1}aBMNu(U@5BIz4>b>A^NeTJu{*ItLWcsW3OqZ~`?uHm$y=S_SG?C}J12fV@ z@0o5S|CUq61}3!b%P2xVjYt$y>8|c(NB(*Fl84-G7uDDMs$WW9;`+yfzJ7c+s;~D= zKQd>Sl$-Yd&g6p?<#W?vQa7`q&v1^@!A8=ak1J!~Wk>IuKKbfnfDYzr#DOD0nwPc) zhBSw|na#8`$MIm(^IdVhZ~C;ao^Mi4K9rFcdN1gf&ZInec-98p)qG-uuivJ=4WZ*6 zbu$~vh4+)<*A1aeSGMzI<&L_AZF7eWWf(e2QbzwAk9} zB;oWlmG!J*X=iHIb~deSu4`Z+%KcZj;D2c{k`J3NV54qkLztXL`mOWvsGHf;r^`}3 z=}?^LStsM4d-R!8V-tNhBm16p<>bf=>*OXbxPTkdR zHFeg-Fvn9LIHs+LuClF82QcIs|+)MZc4ZDuFW zA2My!&1|U8UM3UtMa7AhwuUtg&8%oN$x=wu+(r&{NUzJOj@eSLy-apw+D3^ZbxHNi zo_g-~Zv}hlKbNd+q5WxGZ(SLuYhs>CYt=J*##3&;oVKet^rIKHS3R?5T;=KYO0XCH zo@W)Qo7qI>X0uo$Q_h|?>Si{y86HkqGb;}5O{zkLui-UOvZC=+J+mhT++Nnrl=H&& zs%Q4pO)rzOcBcGGR@F5omo)KQEZLUwt34V9)ipn;tL{f0>t2@D@9T%^njh3%FV`HV zf*XMmFmICnZ&?`}jj<%jB;AJk_r=O&WRe!b`PAL) zB7K$Y>+2TI3_EpKJ9)p!`Q-V-IC+L9=@N;c^QpVpMf#_M?_;O#W=H?zbx`&Tj!RU^ zx@B`+V}vkL2UW*xBmLBlV4IrzblV)@;Z+^8rA~T03uynw$#|ywmVi{cs=L`yKRvu` z^Hn?B3Xt9jkj@j;G26&o|8&|`b`hjZJ*?_(cGN>}KPWnEpY1s}%d>gYEg8C(#pqt< zx{-EC{4I^qEmhsA)2U}325GM{b@g5d@6_qkEpL~ky($fT+uaTI9cxo*s`pKwI_3I@ zgMK@GZg+jXZ~D|F@1rNtR;d3KNf|N|v=oQBnGN;GZDcQQX&4vuv{5&+p$@st*gv7VZ^`sX{_hF8GUlpEu8y>A zdf)U3vzM0w@+CjyWp{nOZ~ElD>#qy?VNE6!7q4%6-}K3M*FTZ+e{nZ`y|4O`=dNEt zUy`q5xt7*QS=9TcPh08w`+~ld_nL0{df)UTV|Y1RS^b~W!eee3p5T|xXVuMYB6D(i zZmwz6(?;FQCekLpmEx&vUr^V^=)aNm$TXL_n;mVU*Av-WuHma}zq7NEnPJ*S-OMJ^ z79I*VmF){VJK8xGTTY(_8Be$E~N*LGPPB^~Uv&2L0LX)oh0l z15Y=-Z~D|7*O&3Sl-sZn7Kw-65BgI-IR9VMLDr?bzEgA({dNBT^hh}of3rf}n%kM2 zQ`g+gB!x#WseDv-&BqeTzxVH_f}PZ{csq4BJL-U!Woc8hWL$t*Ac~X$bu*jDm|gm* ztc-S1@0l*~iKf$(3|)!C6zg-R5f&e7>1pT%_;#l}810lPK#E^&%rEMy=b7wzRlnHtiJdQGd7V{vv!l*>I!&WJP1!AM$8t$$ zYimo`f#kNTW43kadE}m`ZE6;|s59BNem;v_A>rH))ipm>ru~q$mlS`>51rGxC+>&p znjfpuao830L)Y>b)OD;{OR}ZXO?Awc1oimKdp^p4Cu>6wB^nn#T#xt&IZ-{!S9k1%7T}xjX_^O znlXtK|Uz87DD^y4yh*qju5f(&}b5q>FQ%$gnAId5|3sX)bj)ySncAJ|QMPey+Og z<8Y1wI3|R4D9r78^z-T-IHs0H#v)z8PTKEyJ9Rg^NM6Z4>B5L07JxHtJ?Jv@ssO$AXRX%&iNbQje4sbvHXotlQ<$ zzNEQ&+NrzQ(YCnVx?m@K@z2xMUF~GAh1(S|-kZQWxz={IB^s$TQFpV8jLEl}oj)-0 zG}Qa1&zRiDiDwumesKQ(FXsGzX@ef29*qt4@WSi(su%L7bQR^t>#_9rYEKpJXlM=( zO(GL{&tKJ3`+CZe_lqY}_DjOZD`J`|OR8hGlqIiUTd6C`Z4Y@O|K$9JM%Dw_*wUJ8>u6y2Lc0DIQZ7>5k#y)H zzs9o`PLI)TexUb_D>AlzE9g_UIveYkB-``_02}ao*-#y`B~83+EGJR)4FA+d!Nr|S zl?i4lj;dp}^e>+NM^d&*=3IK;^ds|K$@l+i=l?UkOQmBm`90LeNw-AW-_7B^j1Rh} zquvkcSb9sOe4GjTQmYoyN~HbQ`=(F%h>mSD&&Zd$kUG;pGQN8+-0xmT^j`3{gm!^*P>7 z-OY})@V>S+*vU9i#tBso&5^xs>Si{igWDWWarLxOH?yJ5_jpxMF0Q}8xKiECj<&(= zq|GR?b(r(5UzKS3Pn{k~kK@5k(j$KTO5FqBR5=&j<5orbE8hava2gs(kW|{Mo7qIt z<3O+xuAVmPW;T&NP}*hXku)TXVgG#h{hO*|wxo&opYpt=BsI2+w^bdpr9breWs?sj z=UJaqH?v`G>}`2tu<71D>pjzDPVBmpUsog~PU${E?*-kGTkF!gM`LvLp6RYk>&_sJ zGyT{y1l0&@+4LuG?=8_l5Jq_Nr(0)Mt-p zHt)b1Z3Am>+UerMR)D}0r!6RtW>7|!F5>YG2* ze^1NZ!5>KnY4M|NRV909wdL`)PIb)>+5q>XXqboP{ryl~^MiK4`-2_94+%$QyN4p0 z4(e`p)PJ|jD|GI7J9Rg^NWJd}cFK1b>nN)me1CFs)n_C7g;h`OWuD>n{#1nbLiVa> z_K|vDKitcKq*c8rkZKVFonP{5+=eJcIv!(uf`i&atymz*g zCs)@o*;!my-_VlzE|Th*J@wx0w*`BN`-SaQ&+Mu1-gXV)3^i?kXmsZ!=_wnUSX`ne zrqf+@%$9oYwi|-2aG&2+b<7rDeQa_n*e+pzLQC`NhBfmW>(YB#)Xi+D+itUrv)Zmm z+#YMAZe~Nh_Anj}HuAhyotP!J1plbc0FQEml_)Z(QoDhdb+LIJ^|AeX~YP!8VV z{N9;)cQ^B8r}>&b&rzQY{JUTFKmU1WW@lz+W@l$vc)(-vQwUevG3&=_+o;oO??U!} z+diU9^*LQCPb}v&se1gT(ac$V@+p+!4!4~L+dT1_W^B*;aa!uJUdvAQhGPumw5ej? zy{BsZIen@wZ|JA**9w^!XnL(br>8D!dgrm%-1fTW*=$6T#MyFAL;cnE_WqP672`Oq zmUlYptj=duu`k{B(ahFU7cY|6L}UNMbI?Fp8@BhAa@RvYMCwMIMtk1*r`+gu`-k;UIdy`R4a+$VWktt~vTvS0-nQqQU&@90 zoj$S9uRZ7dQXbUrssa4kbIvbiK;u1bPYHM6alGZ6hH{|ck05Phy|KAHXZ)5|q^|u+ z<5%wKJWmO%I~wce4J)|z8aG*6G}g^``D=(Q=j?IKRr9#fnD%hMbw{xs+Fvc#Q@2z* zc5?{(c6U-nEbnZk+TIspo$mXg%0z4ZIBk3XJe)8<9!}8tQ_`gI8%vrd1m;gIZ*43f zU0Q}$$2zk!LR^OJdFP)vssCL_&jd4W?C;;6cm7Q~VfWNK&-gd}HPb`Zx@^xo|J(;O z{MVB3`}w!$t$%6z)&JbBBtEn^Hac)I;;8g7vo>zBYiO2NKyP^o#ma5x~sZ& z3a?G~z&gu29rah^_o&gu?O|-ko_GGK!|K0oq+Umsm8IHSd*1n{9;^SA#=n&1{{HQG z=Reh+j~?an%X*LFW6wMP)ME{w=tuhv@QlHpH~uTCxgJ{Y-!%UF&wbi+&M((O{Yn^P z1}NWSZ22y$OqB~Mzhmrt)yeb>;&|KhChW4RRNK7F_?LX?Urz0L=b!7V>6EocF8qGw z&YpMvQ`dDG<#dd#2mSop^Uiu|#05O{L^Nu9l3Vn-%@IuokDbEax=X(rfdA(a5#z|LoPCcmBC2sQ>BY^>}k_`tO-!&pZFENt{+2|I#Mt zs_i6BmUEf~iKc{nwl)eimUEi6M00VhVO1cVhOX|OIPI2mn)XB^?a_Es?hE(evYgY< zR%jkeTV&%_sIi>Wr25~|9wm0{ibL0=#&NWMtXAs0_MsYSgA#iKYpoxrrJibEdX3Ra z-X|*^ja_d{XZ<;SsxMwfdp4kLPjCG>eX1VcZ1l61(DPt8m0Wjw-ub5)Ue06A+~$YaD%4rt z=~DIi0i(0`#n$%j)8;a-n68_acRK2t+N)x|+}fMdIgrlsPDh{N(cTVGQ=YW{#6AiDb`LIf}bvXZCL9 zTFm43zZ34H&AbcT4Wuu351=VwJqh1|2eKaFHgG$*1FQm6g@~j^`-20(f#4u;FgOHE z1q~nv@}Lnkfo5*&9jv(z4D*`U0|Nvg}zb z*Hx~+ypJsF4P*_p)FHEVJnxsu-p+D8<+*qim4FFgcd!ST2=)YffxW>b@If#c>;tBN zeL*SM572z^ex9uVjv|@^PWJY+?YD3-%c}NUxPQyip6(NQv%9y2hiTM?UU`Jn+uG67 zU3jAXw3Ay-Hg7NWmbUe7dN_Tohi^CQ;aifQC$KX}-{Q6*1#CAi>*Hp-pnF+qyIY~W z8G{^3s@Z|cjQDz6mM(6S_eOd*PYjbROyy=qns1=&e*uKAb1Fo3?&Gz%1!n3cBh0~- z9g3ORgKI%+&yd2AGAK(<*l^8_ilTCOW!v{XL+aNj;Z&X`80aA zpI~)*C)U1#<(+O}qLc5+r0;LO&hl0#?}Ta}Y$^?`wKt3HiMv`)S0Qm!o7Ruh()g)% zmC;HXv$fWb)6!^aI!kEOUB8iy-aC5y{IR^#(a@@Hh0%%4+<-dEI~_M@)yWMcZO>n~ zYd8ebZp?$?QMkoCg z8S9uWTH@ft)0lkzgK&hl0#Ym)R@l+l^7_T)PTIo2|s6sOH{PDA}ujXWc@ z`B|v3oYSQ0oje~+>?8@(e6+mNrRv=>qmy)rtwNpUosN2^W9pZU?r2^^vyocQ=Od4( zlKlrQ?{ukpb~T+$nZGz}$*Jtc-_Em*WUnd9ISutp^I!y>QqlNpd+mAWpE{=VTNl!S z9q-L=*>lb>bxQq?piJ)S`L*Y)-&V?t#-ob9%B};%!=88kDJxoE@843ti<12f7wgAq zDKDz6W6g$?out7T~E^K2e z9{{!fUZZRnb0HgZW%wX{l2Y@lU4BN@~u1kyA& zexi>eaqfNqSv@7i@kLrdu}^y>0)Y2Hk$x$;?4me1GZb2cY8 zmc|1k*~?1Y>(1u#P#IwiW2W6$GEd@a%JcaqcZ=OfURFmpyZW{UTT%~Jz8FZGltsHm z$_zU#7v-z#Yieq$26JDiiQ6rihZkG(L-|->tCTZlmZP?@va-Is&fajt*RIuk=M_`Y zXgY*qb8M(R@$c{EYYkCzb7gs1qrBvZ3)|a2k}@K01V>{pl*YuK8y=S0$u;{|)R?c! zRn_FR$ZW)RW3&pK@8+$f)`sHrV)Xpoq1ERDxRuhAbDx1KU8 zc4mk2bQ=30pTX-ctzENQmvnSR^;Kn6wdJ*XgAM2Bk_}{th5AaKt@YKRx7-2#r|DR&7HLDvp#~f}w_Io;9}gdjPpvokFcmpQ4QT2ba?Wr({7$n@H| z_?yg8{@9a44Wz7j`71hJlZn2-`Mo(lgE6Kjqt`~s^U)}Jn0SoiI6VJLCKTb!_KHzW zS#4uQW6loEHq!SzJUWnTCr;->mWTSjbK`l?S+)yT>K?S)KO=U3tgUZq%Gn?{VtYZ< zLOBp8b3YP|4WT(vGbZb3cTawzvRr*rMMblnI71umV;@v7cG(c>W9w63J94S4X|AoU z&JAXc;@IeQsj#@mNsy#z{_g_g>bdj~kD_}L<(jLj8tZEEM!J!-92SrFbnO0UXg;oy zu@PV@UOSNNz;8Q{QEhcud2?9>k0Ff<=i%|uQtGF;e~?B=+tkqY!l1s>991!*t!=Cu zT)FsgB?=1U`mdz^A;?1aY6E+1#O zorLQu8W_$tYSwM!n&qR*r9s7QM_VhlR&LBzoF*wCjA_ej>TC1423M^&V(+NvI#;)@ zb9HNeu#A}gZE3%$IhMkk9Y7=I|Ld!2W$$ir;XKVnZ(>i})g)5VIXjfjS-oz<;i$g3 zxx67)X^n(!%!rmsz&LHQR)*#V+I<-|@y^x8QI^KdF(S(~pJ+`yL8!9*b^43IzxsRHBd9Hkr_Sy>WKPyA+a$#C!ak!>5SJ9Mfs&_Rq zoX)yvs>|a}m(Eq8a_Z8_n}hDkMzyt7)s+oRw!seDIwWfJuIKVlo~GuJnZlM1bj0*= zQ%zpp7PKyGZ+7$-SNB`=z8adROXkVr`+|Gs$kV@?JkJ3JIcIl5G|x-tx=@}@r{itz zeHC>Lm5upkH(3`>+ee~D-Tn1`Y>Bz4p?iZorE^?T1kA}ci|+B;(TrnC(g1|0rv>p6B*o1loM{}#`$61 z1}9@8aXz;ePR2drTv0Q>iDL9TCp6D|ZhQJe`tZu<8sM^YO9I@ra0eOdg>hLAcT5IX zP8%a*HF17iX2I$8BZ$~Z`eaO}W!^PYh8M0U#ksC#%q>ra>AHt8cSTC4*F#7N^Ghk6 z>+Z!mc^6B=^11KA?PYx0v8?-P!hA8HlV>CoGjwA~)Dan6D_mAwI^lN8&@G3Xl)=fn zUm6$Jg)u%QUmk+H#p!(RG$NvHrO(|Cr`M0^gxE=#-wJR)h12q)?Tm;;C+~o1Tjz5l zxuDR-`JD8n^?LixW+dCtDop5^n{PbN6r*+fkUWEHl zMwn$3^sMVJ6Hdd@qXZ+@=vX+d)7q{n*A4e>`2**3%LCk{0q%aN4%|X?PC>UEU=V=W{dQ8Z1@7T>^Jl2KOYKwgrBelgRw6{H%x5`rzy2 zy@=g2>@5iB76)_}1$37Mbh2MvRy^+u=$;MeUVxMNNO6AJ-wxS>(MUBwBC_JG{VfbQmi?#=+W7EarDe#TDXd4E9n za6tEDK(`^FdlimLXdFLdCvka;6M9aM;z78rxEW>Xc7Rj=dQ{ym0o|m4t~#J=2(9toFK|61VWS&2A5eP_b`SqlFETn`U= zM!62TuUp0q{3$Cd2=j>dX4j+R;Ii7R4mh==M=>GM>w)Xeu=hM1{~JdUh@I&E3{m3J z;B)We25^Y;?Q=)LU6aAR4)^U0?lvAqY25uV*9N#B!)2x6*#P$^IKAii_WlN^=kzGi zmV6n#OSWzYIQ6eb)$JP4O$_KN0=oKu?$Cg4Wgm5nN*icMII<8Qeq$D<90@X250Dzcx4>JNfx?0US-XaXxotfV&A!{p(Qzk-B*| z+zb<9;zv1Y$g{5B1UMbr`(f6@?Vk~5FPz?Qeccz}vg*oL1Kb?}?q0a8a`uCO?!f@} z7~K0Z()TKywvl?RG(X>f)3KV*O)RnRh>2gHn+%r~W;qbBs=H{f*a>vQV^+~45TzxLB4TnTeK z0@N@yEy|Tb=ymtGgW$AI`rL;C+%a&PpT2H>K({2oofQc4TsSRfzP*bAy2}E(YXZ6( z1G=xlW#!qufiS-l&^;8;Jr>YCAJDxV(7hGV{WGB3mQF#|b>9&#D_=?iy1fIs>VWRR zfbQ^s?udZygn({gK-U-0of*)5Dxg~t(A^Nw-4xK>9nh@}=pG2@9tr544d`A7=>8bc z{WYN5nvPVtG<-O}ov4GWvQz=r1^4L;?k%_*Gq|hv%x-tT38(8L{J3nhcQTjYbH~H! z{axp=#k{ohXTY_&xcJ<&aN5pmUsH9j!Rh_T=eC}dJk#*GiEy)>J?;N!n0;`)8Qe>7 zUy}&qeBFx4$@2i8dj$@uaX$C%eUi4v=XQb{ouMm%)459Rzlv9h-UkC*1ze*GQ^yLb zI~8tG2KOwSUK?NcN4T3abl1>HE^(apapX^l=UTYEU4Hu9^ZO?4u3lr+{Q-_HsBu2G zeQ6Z6I!?=*{3&L-;kI!0d~WG}$#w9#)8Oy2I7eXgk@DZ4&*1Duv!pZgKq)-DD<_b{B6U7!0UoR%eqZLyQ+y$Yw- z)aOPr=umq;w;i0?^SN;W-3J1?J>U*^vGc<`Ii=IGC|)HEr@(35^tq1*xC`J)BoJJQ z`PcpZ~oD2 z)47=mo^DiiQU-l)0^APHzt5Gy(Zm?%bH~H!_4B#Uz;T%d)U69}e+t-}P?OyMe0vAO zosnU04V=!S__~p`NuJT2j@=gg+7YhBo$)aNmH_IS)U~@59w+=>86; z{Uu*Fr7k-S^>EsT___wT9W(6B34}R6pz8_f&W6+S;>YE7xUBU38cyfyeBEd=EQ>3L z%SwAaT!TwH-PG90bw2}+s$`tc-43U9%;)ZdBdP=H{uI#3gq+rQKg@A(+PCq!d2o9D zeD1_Rm>&;tm%-`1$`A84IBi>fZgqgWFJSMHfbNNa?$v|?;y#}X!FugBHC{hOh2KOr)WPHz3?g<)~<1)C)Ly~nKewdAL z40Vk2xy5kWp7~raoVHm$cQ)Lv8DU%tEBIHa3s+-957_I0J9vwM)37R+teN%0oRUxOjXu`_ zr(+nOI|pvO%QMY$`BS2BCEUIl+z;Ti|DyL7)x8C$`8nC?l^fBRjN^Q654f$Ie})|vmKKG?Sm|us} zy!Lh94RDVKxK{$)+X3!9P1$jo6yOdDa7V)FIJMN}tLEny;WV#(?rSMd`#-8%1*i8M zpSwSxdk{|hHooq$fbMCy9bDXf-79btGq`s(Cw&cHw;P;}B^i>(PRiLqaCGU7^SK^4 ztw%n$98TlubDs_9t`F#Lh0{8c4s%OZ)4xk1OU=;z1J~nsw7aM4IXRY_p5YcKM(}?0 zD6aWv#>HdUOL9B

      HyY)97SjH4dBm$rH*o?XA6`ne1DrT=1nr-Wy=yVGt?EUZ@By%b za}PL-BtLRs1$YwdMq_q7xCOik%12oAal8*~JCe1k;L|BQ$nRZ7(I*1ef?tB&sW>Nq z8^Ciw)=PgB+zMU?wcA9|1>ixj^BA;XC3p*zZOdMrpn3lmcCO0!E`h&^WD75nnoT6- zt@z@Ux;13+%J@aI7W2z&__%pOu{->3LRj&3i7oE+tRaOFZ(>(`D0W}7;&tiG^oqWe zyj9uacEc;)a`H-DOY$@IMT+7|RT4xhwBjSx?`7M5--;+MI{m{bI%DJ4|5|jLyi$Gh zxA-)rvL?L;Uhx6x#&+&|62;|+lok6{p4+Xic>8|+H=7R(B^b9~LQ8s|x8lRIscJEM zw-vAUc4R9)0Lj?YHfzNPkYuaoN5B0eiVv{=rVz#J`)%}4yj=HhC|)U92?pAgq4>a3 zTP+kXmYBqQ4Q!g6Al$YHo2HM=+pP{ZArQMiSHGrk(_684SAyar;worrvw`BnkPG5o zGq<%(HV`O2n8Lc2-WQg#W-!DEi7o+5@{NjU1-LTxt_Qi*h+(8Ro zpdZ4mR9}xTK0fZH_u_>vKjlq!5l7M6e|Y;33?~@F=s)rUCxa{Ns-hF)zbrTW@Bdp4 zTwYqfMgCo@XEWT3{?T&Dwv`wEv-#=^W*vO>%NI_$^<6yA;UhIC9kyg)ceLMI z-+1fnXl2jL1zp{3CvEyi-`Zr5Hqemx{{sq4OH@I*0rONa0_y3CgMy6>}q(y1z zc6%82{tJEoZ+QRb;r*X8W>wwZz;buBrGy){Y|l5m|MQ?ejXS*m^TMLPCG0jS9^U_% z92nmJc@sZMoph^)_kSMV|CwxG!@~)&N}2B83s+pJ&=FEO1%F zxd+IP$MN<6n2-OOvB%F2dDOg-u_;)$mtD{B=<#;?>_VQ8>-XB9z~7T# zJ$MQ{4W0qN0?z^|^IzfkRd6$qcYwYQZUJ|KyTILGHMj?S1KbPNfNz4e;65OE_igYU zAp0S%1K$JR2R{I^r{)jAkHC+CtR?sf_$hc0JOmyFKLd||N5Rj*FMzz;A$wl`5=a)w zdIgqRnthOD?Vzl&W~pE_6*K^{Ey{yN&;**nXcxnGr=q{8^}8WM}j$kqHp$i1TY`8f(4)rw1Wi#PDe!4< z5x5w923!I@3s!(j!DZlc;Bs&UxDs3it_Gh6*MMumb>Mn%1NZ`132p>m1YZJQ1~-AP zfUkm^!Pmgo!7boca2vQC+ySKS-3jgjcZ1d79`FrtFIWS<3D$!9z_-A+!FRxS!8-6g z@O|(Da6kAV_!0Oqkoxfx@Kf+0cnCZUeg+-^kAk0rUx3HJYehXdzFM{8Jm%z*574RzfZ}1xUAMktd2k<(01N;&E3A_pZ7rX`j z4E_TC3jPNE4*miD3El?p0GU9S_rA6STY(W^B#?DHTZ7SH8!!fJ3$_EY#%X)70~ib5 z4R!?Y0pq}U@LupfuoKuBydQi3>;iTL{{?mfC13*B9qa)nf<3`rU~e!9d=N|q`+zB6 zUr-A617)Bb$d_*`K^3S5HJ}#MfqJk%H~<_74g#`v^bjx=G=Ln)gGSH9-Bjt29 zun2U5#o$D666gXagC(FFECnA0y`Ts5fm6V#;54udoDR+aXM(f9$H2$I*>T(%3>hzX literal 0 HcmV?d00001 diff --git a/Lib/WindowsFormsAero.xml b/Lib/WindowsFormsAero.xml new file mode 100644 index 0000000..17ac4eb --- /dev/null +++ b/Lib/WindowsFormsAero.xml @@ -0,0 +1,1131 @@ + + + + WindowsFormsAero + + + + + Base form class that automatically sets its font according to the Windows UX guidelines. + + + + + Constructs a new Aero styled form. + + + + Common Task Dialog buttons. OK is the default button. + + + Stores a Task Dialog message that will be sent to a dialog in order to update its state. + + + Simple int, int message. + + + Simple int, bool message. + + + Simple bool, bool message. + + + Simple bool, int message. + + + Simple int, long (hi word and lo word) message. + + + Text updating message. + The string will be marshaled: the Message must be correctly disposed after use. + + + Navigation message. + The config structure will be marshaled: must be correctly disposed after use. + + + Text values that can be updated. + + + + Control style and notification constants + + + + Occurs when the split label is clicked. + + + Occurs when the split label is clicked, but before the associated + context menu is displayed by the control. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. Exposed for backward compatibility. + + + Provides data for the clicking of split buttons and the opening + of context menus. + + + Represents the bounding box of the clicked button. + A menu should be opened, with top-left coordinates in the left-bottom point of + the rectangle and with width equal (or greater) than the width of the rectangle. + + + Set to true if you want to prevent the menu from opening. + + + Margins structure for the Glass Sheet effect. + + + + Returns whether a point in client coordinates is outside the margins defined by this instance. + + Point in client coordinates. + + + + Gets the margins value as a padding instance. + + + + + + Gets a static readonly 0-pixel margin. + This margin returns true on the IsNull property. + + + + + Gets whether this margin represents a negative measure on each side. + + + Used to specify non-existing margins on glass frames. + + + + + Gets whether this margin measures 0 pixels on each side. + + + + Displays a dialog box that can contain text, icons, buttons, command links, radio buttons and/or a progress bar. + + + Displays a task dialog that has a message. + The text to display. + + + Displays a task dialog that has a message and a title. + The text to display. + The title bar caption of the dialog. + + + Displays a task dialog that has a message, a title and an instruction. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + + + Displays a task dialog that has a message, a title, an instruction and one or more buttons. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + + + Displays a task dialog that has a message, a title, an instruction, one or more buttons and an icon. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + The icon to display. + + + Initializes a new Task Dialog instance without text. + + + Initializes a new Task Dialog instance with text. + The main instruction to display. + + + Initializes a new Task Dialog instance with an instruction and a title. + The main instruction to display. + The title of the Task Dialog. + + + Initializes a new Task Dialog instance with an instruction, a title and some content text. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + + + Initializes a new Task Dialog instance with an instruction, a title, some content text and a specific button. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. + + + Initializes a new Task Dialog instance with an instruction, a title, some content text, a specific button and an icon. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. + The icon to display. + + + Injects a virtual button click. + Numeric id of the clicked button. + + + Injects a virtual radio button click. + Numeric id of the clicked radio button. + + + Injects a virtual checkbox click. + New state of the verification checkbox. + Sets whether the checkbox should have focus after state change. + + + Enables or disables a button of the dialog. + Id of the button whose state will be changed. + New state of the button. + + + Enables or disables a radio button of the dialog. + Id of the radio button whose state will be changed. + New state of the button. + + + Creates a new Task Dialog setup and replaces the existing one. Note that the window will not be + destroyed and that you should keep the existing TaskDialog reference (event handlers will still be + registered). The existing Task Dialog will simply reset and use the options of the new one. + An instance of Task Dialog, whose settings will be copied into the existing dialog. + You may safely destroy the nextDialog instance after use (do not register to events on it). + + + Adds or removes an UAC Shield icon from a button. + Id of the button. + Sets whether to display a Shield icon or not. + + + Sets whether the dialog's progress bar should be in standard or in marquee mode. + True if the progress bar should be displayed in marquee mode (no explicit progress). + + + Sets whether the dialog's progress bar should be in standard or in marquee mode and sets its marquee speed. + True if the progress bar should be displayed in marquee mode (no explicit progress). + Speed of the progress bar in marquee mode. + + + Common native callback for Task Dialogs. Will route events to the user event handler. + TODO: Currently unused, would need complex marshaling of data. + + + Prepares the internal configuration structure. + Allocates some unmanaged memory, must always be followed by a PostConfig() call. + + + Frees the unmanages memory allocated by PreConfig(). + + + Displays the task dialog without an explicit parent. + + + Displays the task dialog with an explicit parent window. + Handle to the dialog's parent window. + + + Displays the task dialog with an explicit parent form. + Instance of the dialog's parent form. + + + Is true if the task dialog is currently displayed. + + + Gets or sets the title of the dialog. + + + Gets or sets the icon of the dialog, from a set of common icons. + + + Gets or sets the icon of the dialog, from a custom Icon instance. + + + Gets or sets the dialog's buttons, from one or more common button types. + + + Gets or sets a set of custom buttons which will be displayed on the dialog. + These buttons can also be shown as Command Links optionally. + + + Gets or sets the integer identificator of the dialog's default button. + + + Gets or sets a set of custom buttons which will be displayed as radio buttons. + + + Gets or sets the identificator of the enabled radio button by default. + + + Gets or sets the text that will be shown next to a verification checkbox. + + + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, + when the dialog is in expanded mode. + + + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, + when the dialog is in collapsed mode. + + + Gets or sets the icon shown in the dialog's footer, from a set of common icons. + + + Gets or sets the icon shown in the dialog's footer, from a custom Icon instance. + + + Explicitly sets the desiderd width in pixels of the dialog. + Will be set automatically by the task dialog to an optimal size. + + + Gets or Sets the Main Instruction text of the TaskDialog. + Text written in blue and slightly bigger font in Windows Aero. + + + Gets or sets the Content text of the TaskDialog. + Text written with standard font, right below the Main instruction. + + + Gets or Sets the expanded information text, that will be optionally shown + by clicking on the Expand control. + + + Gets or Sets the Footer text. + + + Gets or sets the current Progress bar value. + + + Gets of sets the minimum value allowed by the Progress bar. + + + Gets or sets the maximum value allowed by the Progress bar. + + + Gets or sets the current Progress bar state. + Determines the bar's color and behavior. + + + Enables or disables Hyperlinks in the content (in the form of <A HREF="link">). + + + Gets or sets whether the dialog can be cancelled (ESC, ALT+F4 and X button) even if no Cancel button has been specified. + + + Gets or sets whether Command Link buttons should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). + + + Gets or sets whether Command Link buttons wihtout icon should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). + + + Gets or sets whether the ExpandedInformation should be shown in the Footer area (instead of under the Content text). + + + Gets or sets whether the ExpandedInformation is visible on dialog creation. + + + Gets or sets whether the Verification checkbox should be checked when the dialog is shown. + + + Gets or sets whether a progress bar should be displayed on the dialog. + + + Sets or gets whether the user specified callback (if any) should be called every 200ms. + + + Gets or sets whether the dialog should be positioned centered on the parent window. + + + Enables or disables right to left reading order. + + + Gets or sets whether there should be a selected radio button by default when the dialog is shown. + + + Gets or sets whether the dialog may be minimized or not. + + + Occurs when the Task Dialog is first created and before it is displayed (is sent after Construction event). + + + Occurs when the user clicks a button or a command link. By default the Dialog is closed after the notification. + + + Occurs when the user clicks on a Hyperlink in the Content text. + + + Occurs when a navigation event is raised. + + + Occurs approximately every 200ms if the Task Dialog callback timer is enabled. + + + Occurs when the Task Dialog is destroyed and the handle to the dialog is not valid anymore. + + + Occurs when the user selects a radio button. + + + Occurs when the Task Dialog is constructed and before it is displayed (is sent before Creation event). + + + Occurs when the user switches the state of the Verification Checkbox. + + + Occurs when the user presses F1 when the Task Dialog has focus. + + + Occurs when the user clicks on the expand button of the dialog, before the dialog is expanded. + + + A standard WinForms text box presenting the common Vista "search" interface. + Reacts on user input by raising "SearchStarted" events. + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + Puts the focus on the text box and moves the caret to the end of the text, without selecting it. + + + + Raised when the Text of the search box has changed. + + + + + Raised after an interval after the last user input. + + + + + Raised when the user clicks on the X to cancel the search. + + + + Gets or sets the background Color of the button when the mouse hovers on it. + + + Gets or sets the ForeColor of the control when the search box is active. + + + Gets or sets the BackColor of the control when the search box is active. + + + Gets or sets the ForeColor of the control when the search box is inactive. + + + Gets or sets the BackColor of the control when the search box is inactive. + + + Temporary ForeColor property of the control. You should use InactiveForeColor and ActiveForeColor instead. + + + Temporary BackColor property of the control. You should use InactiveBackColor and ActiveBackColor instead. + + + Gets or sets the text that is shown on top of the text box when the user hasn't entered any text. + + + Gets or sets the font used in the search text box. + Equals to the Font property. + + + Gets or sets the font used to write the "inactivity label" on top of the control when the user hasn't entered any text. + + + + Overall Font property of the control. + Property changes are forwarded to the ActiveFont and InactiveFont property. + + + + Returns true if the user entered some text in the search textbox. + + + + Gets or sets the delay in milliseconds between when the text is edited + and the search event is raised. + + + + + Gets or sets whether the control raises a SearchStarted event after user input. + + + + + Gets or sets whether the control raises a SearchStarted event when the user hits the Enter key. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + Represents a custom button shown on a Task Dialog. + + + Instantiates a new custom button with an ID and a text. + Unique ID that will be returned by the Task Dialog if the button is clicked. + Use values greater than 8 to prevent conflicts with common buttons. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + Instantiates a new custom button with an ID and a text. + Common ID that will be returned by the Task Dialog if the button is clicked. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + Unique ID that will be returned by the Task Dialog if the button is clicked. + + + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + + A Label containing some text that will be drawn with glowing border on top of the Glass Sheet effect. + + + + Size of the glow effect around the text. + + + Enables or disables the glow effect around the text. + + + Shadow type. + + + Gets or sets the horizontal text alignment setting. + + + Gets or sets the vertical text alignment setting. + + + Gets or sets whether the text will be laid out on a single line or on multiple lines. + + + Gets or sets whether the text lines over the label's border should be trimmed with an ellipsis. + + + Gets or sets whether the text should break only at the end of a word. + + + Gets or sets whether the text should be trimmed to the last word and an ellipse should be placed at the end of the line. + + + + A horizontal panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. + + + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. + + + + + Constructor + + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. + + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. + + + + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + + + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + + + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + + + + + Adds a handler on the Form that enables the user to move the window around + by clicking on a glass margin (or the title bar, as usual). + + The form that will be controlled. + Margins of the glass sheet. + + Eventual UI elements on the glass sheet will prevent the handler from receiving events + (except the ThemeText control, which manually redirects mouse events to the form). + + + + + Adds a handler on the Form that automatically paints the glass background black + + The form that will be controlled. + Margins of the glass sheet. + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + The labeled divider provides a Aero styled divider with an optional caption, + similiar to what is seen in the Control Panel dialogs of Windows 7 and Vista. + + + + + Constructor + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + The position of the divider line. + + + The default value is the center position which is consistent on how this type of divider has been used throughout the Windows + 7 and Vista UI's. + + + + + The color of the divider line. + + + + + The text that should be used for the caption. If the caption is set to blank and the divider position is set to center then + a simple divider line will be drawn. + + + After a change is made to the text property we want to invalidate the control so it triggers a new paint message being sent. + + + + + The positions that the divider line can be drawn in + + + + + The divider will be centered after the text caption and will begin drawing after the string. This is the default behavior. + + + + + The divider will be drawn below the text caption. + + + + + A vertical panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. + + + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. + + + + + Constructor + + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. + + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. + + + + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + + + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + + + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + + + + Handle to a DWM Thumbnail. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Origin region from source window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Returns true if the handle is valid, false if the handle has been closed or hasn't been initialized. + + + Sets the thumbnail opacity value, from 0 to 255 (opaque). + + + Sets whether only the client area of the thumbnailed window should be shown or + the entire window area. + + + Area in the destination window on which the thumbnail should be drawn. + + + Region of the source window that should be drawn. + + + Sets whether the thumbnail should be drawn or not. + + + Gets the thumbnail's original size. + + + Main DWM class, provides Thumbnail registration, glass sheet effect and blur behind. + + + Registers a thumbnail to be drawn on a Windows Form. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The Windows Form instance on which to draw the thumbnail. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Registers a thumbnail to be drawn on a window. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The handle (HWND) of the window on which the thumbnail will be drawn. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Unregisters the thumbnail handle. + The handle is unvalid after the call and should not be used again. + A handle to a registered thumbnail. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + + Enable the Aero "Blur Behind" effect on a specific region. Background of the region must be black. + + + Disables the Aero "Blur Behind" effect. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Disables the Aero "Glass Frame". + + + Disables the Aero "Glass Frame". + + + + Sets a window's Flip 3D policy. + + Form whose policy is to be set. + Desired Flip 3D policy. + Is ignored on OSs that do not support Aero. + + + + Disallows Aero Peek on a window (or allows it). + + Form whose Aero Peek preview should be disabled. + True if Aero Peek should be disabled for the window. + Is ignored on OSs that do not support Aero Peek. + + + + Sets a window's state in order to exclude (or include) it in Aero Peek. + + Form whose Aero Peek exclusion state is to be set. + Set to true to exlude the window from Aero Peek. + Is ignored on OSs that do not support Aero Peek. + + + + Sets a window's state in order to exclude (or include) it in Aero Peek. + + Form whose Aero Peek exclusion state is to be set. + Set to true to exlude the window from Aero Peek. + Is ignored on OSs that do not support Aero Peek. + + + Returns the active windows on the current thread. + + + Sets the origin of the thumbnail and shows the thumbnail on the control. + The Form instance that will be thumbnailed. + True if the control should automatically update itself in case the thumbnailed + form changes size or is closed. + + + Forces and update of the thumbnail. + Use this method if you know that the thumbnailed window has been resized and the thumbnail control should react to these changes. + + + + Static class providing information about the current support for Vista-only features. + + + + + Gets whether the running operating system is Windows Vista or a more recent version. + + + + + Gets whether the running operating system is Windows Seven or a more recent version. + + + + + Gets whether the running operating system is Windows 8 or a more recent version. + + + + Is true if the DWM composition engine is currently enabled. + + + + Form that automatically handles glass margins and mouse dragging. + + + + + Construct a new form without glass margins. + + + + Gets or sets the glass margins of the form. + This property should be used when setting the margins from code. + + + Gets or sets the glass margins of the form. + This property should be used when setting the margins through the designer. + + + Gets or sets whether mouse dragging should be handled automatically. + + + Gets or sets whether the extended glass margin is enabled or not. + + + + Gets or sets whether the window title and icon should be hidden. + + + The window caption will still be visible, but title text and icon will not be. + A form with a hidden title will look like an Explorer window on Windows Vista or Windows 7. + + + + + Gets or sets whether the window caption should be hidden altogether. + + + Should be set before handle creation. + + + + + Applies a glow on the themed text. + + + + + Default glow size. + + + + + Glow size used commonly by Office 2007 in titles. + + + + + Precise glow effect. + + + + + Instantiates a new glow effect for themed text. + + Size of the glow effect. + + + + Gets or sets the size of the glow effect. + + + + Direct Task Dialog call. + + + Indirect Task Dialog call. Allows complex dialogs with interaction logic (via callback). + + + The Task Dialog config structure. + + + Flags used in TaskDialogConfig struct. + From CommCtrl.h. + + + Notifications returned by Task Dialogs to the callback. + From CommCtrl.h. + + + Messages that can be sent to Task Dialogs. + From CommCtrl.h. + + + + Determines a window's Flip 3D policy. + + + + + Default Flip 3D behavior. + + + + + Excludes the window from Flip 3D and hides it behind the animation. + + + + + Excludes the window from Flip 3D and shows it above the animation. + + + + Common Task Dialog icons. Determine the look of the main instruction. + + + Class that aggregates the results of an "indirect" Task Dialog. + + + Results returned by Task Dialogs when closed by the user. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Common Controls library version 6.0 not loaded. Must run on Vista and must provide a manifest.. + + + + + Looks up a localized string similar to Desktop composition is not enabled.. + + + + + Looks up a localized string similar to Desktop composition is not supported by operating system.. + + + + + Looks up a localized string similar to Unable to get thumbnail's original size.. + + + + + Looks up a localized string similar to Unable to update thumbnail properties.. + + + + + Looks up a localized string similar to Source and target windows cannot be the same.. + + + + + Looks up a localized string similar to Native call to {0} failed.. + + + + + Looks up a localized string similar to Failed to create TaskDialog.. + + + + Gets or sets the cue text that is displayed on the TextBox control. + + + Gets or sets whether the Cue text should be displyed even when the control has keybord focus. + If true, the Cue text will disappear as soon as the user starts typing. + + + diff --git a/OnTopReplica.sln b/OnTopReplica.sln new file mode 100644 index 0000000..1c732a8 --- /dev/null +++ b/OnTopReplica.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C# Express 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OnTopReplica", "OnTopReplica\OnTopReplica.csproj", "{E626BD6E-BF38-4EB7-A128-5CA6F40EF557}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs new file mode 100644 index 0000000..9701e3c --- /dev/null +++ b/OnTopReplica/AspectRatioForm.cs @@ -0,0 +1,238 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Runtime.InteropServices; +using System.Windows.Forms; +using OnTopReplica.Native; +using WindowsFormsAero.Dwm.Helpers; + +namespace OnTopReplica { + + /// + /// Form that automatically keeps a certain aspect ratio and resizes without flickering. + /// + public class AspectRatioForm : GlassForm { + + bool _keepAspectRatio = true; + + /// + /// Gets or sets whether the form should keep its aspect ratio. + /// + /// + /// Refreshes the window's size if set to true. + /// + [Description("Enables fixed aspect ratio for this form."), Category("Appearance"), DefaultValue(true)] + public bool KeepAspectRatio { + get { + return _keepAspectRatio; + } + set { + _keepAspectRatio = value; + + if (value) + RefreshAspectRatio(); + } + } + + double _aspectRatio = 1.0; + + /// + /// Gets or sets the form's aspect ratio that will be kept automatically when resizing. + /// + [Description("Determines this form's fixed aspect ratio."), Category("Appearance"), DefaultValue(1.0)] + public double AspectRatio { + get { + return _aspectRatio; + } + set { + if (value <= 0.0 || Double.IsInfinity(value)) + return; + + _aspectRatio = value; + } + } + + Padding _extraPadding; + + /// + /// Gets or sets some additional internal padding of the form that is ignored when keeping the aspect ratio. + /// + [Description("Sets some padding inside the form's client area that is ignored when keeping the aspect ratio."), + Category("Appearance")] + public Padding ExtraPadding { + get { + return _extraPadding; + } + set { + _extraPadding = value; + + if(KeepAspectRatio) + RefreshAspectRatio(); + } + } + + /// + /// Forces the form to update its height based on the current aspect ratio setting. + /// + public void RefreshAspectRatio() { + int newWidth = ClientSize.Width; + int newHeight = (int)((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical; + + //Adapt height if it doesn't respect the form's minimum size + Size clientMinimumSize = FromSizeToClientSize(MinimumSize); + if (newHeight < clientMinimumSize.Height) { + newHeight = clientMinimumSize.Height; + newWidth = (int)((newHeight - ExtraPadding.Vertical) * AspectRatio) + ExtraPadding.Horizontal; + } + + //Adapt height if it exceeds the screen's height + var workingArea = Screen.GetWorkingArea(this); + if (newHeight >= workingArea.Height) { + newHeight = workingArea.Height; + newWidth = (int)((newHeight - ExtraPadding.Vertical) * AspectRatio) + ExtraPadding.Horizontal; + } + + //Update size + ClientSize = new Size(newWidth, newHeight); + + //Move form vertically to adapt to new size + //REMOVED: allows the window to correctly be restored slightly off screen + /*if (Location.Y + Size.Height > workingArea.Y + workingArea.Height) { + int offsetY = (workingArea.Y + workingArea.Height) - (Location.Y + Size.Height); + Location = new Point(Location.X, Location.Y - offsetY); + }*/ + } + + /// + /// Adjusts the size of the form by a pixel increment while keeping its aspect ratio. + /// + /// Change of size in pixels. + public void AdjustSize(int pixelOffset) { + Size origSize = Size; + + //Resize to new width (clamped to max allowed size and minimum form size) + int newWidth = Math.Max(Math.Min(origSize.Width + pixelOffset, + SystemInformation.MaxWindowTrackSize.Width), + MinimumSize.Width); + + //Determine new height while keeping aspect ratio + int newHeight = (int)((newWidth - ExtraPadding.Horizontal - clientSizeConversionWidth) / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; + + //Apply and move form to recenter + Size = new Size(newWidth, newHeight); + int deltaX = Size.Width - origSize.Width; + int deltaY = Size.Height - origSize.Height; + Location = new System.Drawing.Point(Location.X - (deltaX / 2), Location.Y - (deltaY / 2)); + } + + /// + /// Updates the aspect ratio of the form and optionally forces a refresh. + /// + /// Size from which aspect ratio should be computed. + /// True if the size of the form should be refreshed to match the new aspect ratio. + public void SetAspectRatio(Size aspectRatioSource, bool forceRefresh) { + AspectRatio = ((double)aspectRatioSource.Width / (double)aspectRatioSource.Height); + _keepAspectRatio = true; + +#if DEBUG + System.Diagnostics.Trace.WriteLine(string.Format("Setting aspect ratio of {0} (for {1}).", AspectRatio, aspectRatioSource)); +#endif + + if (forceRefresh) { + RefreshAspectRatio(); + } + } + + #region Event overriding + + protected override void OnResizeEnd(EventArgs e) { + base.OnResizeEnd(e); + + //Ensure that the ClientSize of the form is always respected + //(not ensured by the WM_SIZING message alone because of rounding errors and the chrome space) + if (KeepAspectRatio) { + var newHeight = (int)Math.Round(((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical); + ClientSize = new Size(ClientSize.Width, newHeight); + } + } + + /// + /// Override WM_SIZING message to restrict resizing. + /// Taken from: http://www.vcskicks.com/maintain-aspect-ratio.php + /// Improved with code from: http://stoyanoff.info/blog/2010/06/27/resizing-forms-while-keeping-aspect-ratio/ + /// + protected override void WndProc(ref Message m) { + if (KeepAspectRatio && m.Msg == WM.SIZING) { + var rc = (Native.NRectangle)Marshal.PtrToStructure(m.LParam, typeof(Native.NRectangle)); + int res = m.WParam.ToInt32(); + + int width = (rc.Right - rc.Left) - clientSizeConversionWidth - ExtraPadding.Horizontal; + int height = (rc.Bottom - rc.Top) - clientSizeConversionHeight - ExtraPadding.Vertical; + + if (res == WMSZ.LEFT || res == WMSZ.RIGHT) { + //Left or right resize, adjust top and bottom + int targetHeight = (int)(width / AspectRatio); + int diffHeight = height - targetHeight; + + rc.Top += (int)(diffHeight / 2.0); + rc.Bottom = rc.Top + targetHeight + ExtraPadding.Vertical + clientSizeConversionHeight; + } + else if (res == WMSZ.TOP || res == WMSZ.BOTTOM) { + //Up or down resize, adjust left and right + int targetWidth = (int)(height * AspectRatio); + int diffWidth = width - targetWidth; + + rc.Left += (int)(diffWidth / 2.0); + rc.Right = rc.Left + targetWidth + ExtraPadding.Horizontal + clientSizeConversionWidth; + } + else if (res == WMSZ.RIGHT + WMSZ.BOTTOM || res == WMSZ.LEFT + WMSZ.BOTTOM) { + //Lower corner resize, adjust bottom + rc.Bottom = rc.Top + (int)(width / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; + } + else if (res == WMSZ.LEFT + WMSZ.TOP || res == WMSZ.RIGHT + WMSZ.TOP) { + //Upper corner resize, adjust top + rc.Top = rc.Bottom - (int)(width / AspectRatio) - ExtraPadding.Vertical - clientSizeConversionHeight; + } + + Marshal.StructureToPtr(rc, m.LParam, false); + } + + base.WndProc(ref m); + } + + #endregion + + #region ClientSize/Size conversion helpers + + int clientSizeConversionWidth, clientSizeConversionHeight; + + /// + /// Converts a client size measurement to a window size measurement. + /// + /// Size of the window's client area. + /// Size of the whole window. + public Size FromClientSizeToSize(Size clientSize) { + return new Size(clientSize.Width + clientSizeConversionWidth, clientSize.Height + clientSizeConversionHeight); + } + + /// + /// Converts a window size measurement to a client size measurement. + /// + /// Size of the whole window. + /// Size of the window's client area. + public Size FromSizeToClientSize(Size size) { + return new Size(size.Width - clientSizeConversionWidth, size.Height - clientSizeConversionHeight); + } + + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + clientSizeConversionWidth = Size.Width - ClientSize.Width; + clientSizeConversionHeight = Size.Height - ClientSize.Height; + } + + #endregion + + } + +} diff --git a/OnTopReplica/Assets/25.png b/OnTopReplica/Assets/25.png new file mode 100644 index 0000000000000000000000000000000000000000..e98a5dda4366693f7bae7194ede43e7da9befd9a GIT binary patch literal 639 zcmV-_0)YLAP)@Pd1f>O+aux zK?~z2D(hDve&Nl$xUO7raAe@weRt-adFFlRS?+K+z-P=vkLzF8=ROH>gSbLOkG^-r zE8-_YMJNdQ<;x4l3heiLh{xklsZ??%lj*_Z@d$3W8ypS?%U&**(dl#=olGXV-EQ|g z7!1n2UeD+Nolq{9b5^UhAc`WmTrSWHlcAr%Znq2T^;+=xe9&&UjRM>4RwCv=AOJR- z4Ui2+qY;e9W46ib^#UbPM-(SQ%we$$dTchE8)OxTMbk8>*Xv7c@oOv=;|REZqoS0g z19OZH@Z-wqbh1FF(}Bfe@svm;9_bs8ri4Nv8Smx9ddx8j;JKn^vza-&-7X}P$wz$y z#^h$R3537w?Yx6i_49SHSfm&CFCAPQS>AC(ESV-yDwXoI&SWyDje;QL5r-obMB)4r zU;F(&V~#{3fXBI`BG0jB(4I8lc|K3RY&Hu7oQjM&L)IQiS^O^27)z2Q34XsHEEWsY zYBgxJT8up$4nsPfX7?}{3_w-YA&&C$p(@^HyVus&6xB+%A_Q+*=z757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVN2)+ICY~;iAsWHS2@*yR>@O^BF=$KY z$YeMf>@Ivlq-NVg-t-))&Mt|RUYE=U%|ovWC;3Q79A#KJTkBeuNQ*O2KZB>MpUXO@ GgeCw)7e2)R literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/arrow_up.png b/OnTopReplica/Assets/arrow_up.png new file mode 100644 index 0000000000000000000000000000000000000000..b34489e747f6c4d65d4f2bb82693fe6535d8e783 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@q#X;^)4C~IxyaaMs(j9#r85lP9 zbN@+X1@aY=J%W507^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVN2)+I+MX_sAsWHS2@;zg*ss)M&umCs x^hGIK!AseUx5D(%<%VG8zb1mBUSC347&NW5uD!bX|2|L~gQu&X%Q~loCIAd3JJA3D literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/back.png b/OnTopReplica/Assets/back.png new file mode 100644 index 0000000000000000000000000000000000000000..d5cfc9f16a5141391fbb6051cc6382cd52c23a28 GIT binary patch literal 150765 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�l==v9-BOCPv*ENV#bGR0oHk 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 bF9!ZU+yv;L96J+*00000NkvXXu0mjf5|;Bq literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/clickforwarding.png b/OnTopReplica/Assets/clickforwarding.png new file mode 100644 index 0000000000000000000000000000000000000000..66d9bc80fde385d142fef3f29cf7817a404de259 GIT binary patch literal 951 zcmV;o14#UdP)_ROnYA*=AP;U%I zAV$MaO@wM&G*l%a)Lpi_-A=nZ+nG7Xvs1))LN`Z-e+eAi-xY0r<+Y2;S2bje z$w{xK>$7@5x0s@kUoT%y_8#f^n1w@C_2I_l(eB@VSYcnE!H3&kz>b~-%$sTVsBe-t zqi4hwe7bulcJ`kDDHPxr9DD9xd%ov@V7lDStpj-g~ zalaUKRk#pUOLPPq=fhX6;X>jlPJDX`e}3MNX|sUNz3q7J!F6Er8mblqlUd02e*_48 z_AJ7w34|;I{Vi>HIQ|A$nd(}09PX}1)6e620e!7A~y&-82i1?Kpxv1)(sDsA>*pPY-SghP1JJ zqpQchJ3H9)=zHrLKHK-MVI!Y%;ABhwf|ABtzc0uCmRh}O^OG-+j9wZ3W9(8wZVde` ZzyLCuV;%72pw9pR002ovPDHLkV1jSLx#s`? literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/component.png b/OnTopReplica/Assets/component.png new file mode 100644 index 0000000000000000000000000000000000000000..c1796148e6e9d38079060282af20f44099970f5a GIT binary patch literal 731 zcmV<10wn#3P)004R= z004l4008;_004mL004C`008P>0026e000+nl3&F}00009a7bBm000XT000XT0n*)m z`~Uy|7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$BHmT?0B>(^dJxN4CR5(wKlUryL zK@^6MAigLHO1+@e78QI@48?#%u|5Q~6e&W5Dp)U7q0)#HLCH%%3Mz_tDJ?~amY^2t zOA+xwu@r(J+M19iy(F79mkr4V4K9ID2>kxLLJVyJS@;;{%sK!3XJ&SlEc?E`kS>P0 zNj({~T@}~zoT~GW4`j1{On~?h5Pl6U)Qs_Ga=9h}?rfpJ6)n&V1Rn#TJ|J@wjJ-4j zxL#LP$U7kSXTNMhcw#Gz5#e57#);6Ubzq^%)O!K*E>#rq4#^+HJixpQm}Bu==Rf9e zQ|ulPc?zVS8v@@e3UG%aVn$*+5N!jL7ILDDvuwvW zXe-!iWaN%4-tCZ4`vI|*xA0S6Xh%A*4LRkodGGEXiE1-;GnV$%qo7{I=O+?p(GFrf zsx>76+8I=RcH|a#NV*ID539`+&nLUhm^OO~+Dt3nIc2!wJD?p4ZH+J?W$f;`C2t>H z5C`psNOIts1UVn;JSIn~J!iv?VQV*OBpb+DvYqTA4J&Nd^oP}u^cS%>oLGX`a2Ego N002ovPDHLkV1g_eD)#^Y literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/desktop.png b/OnTopReplica/Assets/desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..1f6a7f4bb706a4d9e2b81257c1dca8fc045f8f9d GIT binary patch literal 794 zcmV+#1LgdQP)ezU0v0~n=;2C zMiWEah^V-7;Rm=ET)A=Qr}z#2f`~gmKnMt~qM$}GniyhYhUc5Qy9Q6^C8E_7UDR;u zo}ol^|9KFRgj5l`fRF-O2M7@`vJO531n1zYihuU11gZjg>>y#GM3$ol5HSJbdJ4F+ zta0;F0v9BVF$muAOnLGzivq$~%(h~zt#1*a*?`m$B6dZ9(s|sw-olf+(+H74;RJc959_ z-R=>J5iMiMXHA^-(rwd*Mx^$uu(&YQz}roY7heox%&ZP-e_2jR4N|IVR1C$^BbHQg!~3s4(ad7ZPj+zo z>I%At)mT8XF`93Mv=u{F)0GDVbL46X)N^E`6D+N)V(s$)J6+4m0v0cyN28hZu%=U* z0gGV+$3jCqdif?S=@Fyc!9}C7;WNyXBdl)~*f<_S^X1j{cZUQkHMS2bSVq(rBM8g2 zkFVG4Zeyr?HIK)05{J{*(0ca<3vrBB->l;OaK4? literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/empty-window.ico b/OnTopReplica/Assets/empty-window.ico new file mode 100644 index 0000000000000000000000000000000000000000..ca5edce1402e54eb04e80c5c2ca8916f7ccf019b GIT binary patch literal 10806 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

      vF9gJ@Je|yRw3>4@pRamq~Dp4(LNsCb6l7h zFxvaNhK=nl!`NSOj9@<~LcbHR8(Zi-?bzqmVqdcv`#kx*DcXy|zJwn4;!U`(*6XtM zj+#2#MpqUmJu}!_!ajxt_svc5psmeq)~oT`DX9s26!tFMjWViKzhI7x21lGZu5#B<7XuwJcp5;yRJ8 zU1`>!YgM{NrRxkj7hKG_G!x+Ukk@USwOe{7agC6_K8VxYjO&+vIv;Z~b3d2v?b7^7 z*CGeF$Av!1-2d{r>~k)=W$N44hct6%=h-8=uGs3Q8HmoicrJY}%|qLm-Ec1?;`cb_ z`+B-2|KF=N>vUaC^E}PRm~AqHn9GLILq}Zp zzJ*_Y@By#7vcg?cRpG8Ct1Nd_R+KsMTSEuTo-+r2FX*U(Rg{&|YcBl$(DR#*f2}Df KNIv}U*na?MF7@;P literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_czech.png b/OnTopReplica/Assets/flag_czech.png new file mode 100644 index 0000000000000000000000000000000000000000..8308ed84ed70128030d13e6315cf7864c24d4e18 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ#}*A-ZN!DMTwp+jv*HQ$q5p_8V)aiYp>eCn8LvE|M%Zso#F><2Y8gOitsQyu<72b z?8+$KAmz}N{Xy!3v)iZt@}8=DB$hL_m>hay$fFRZ+{XCko-E7U?z06Oxc_;1O3t2amNsq%TE^h%>gTe~DWM4f&;U;T literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_danish.png b/OnTopReplica/Assets/flag_danish.png new file mode 100644 index 0000000000000000000000000000000000000000..d39d4c1917c8e11a5b4a713cb900312b21c89195 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8oo45Zzdi4M2&;Pe<`LC`0f7R;$r%(UC zfB(O+@qb?4|NHj+KXBl`l+?R(mw*ON`7uKTXq{q7kY6y6ix)7=KX^eAs5sHn#WAGf z)|B(^d<_mf&VlD0UhFO3@n5qurG-WMNOaxN?gteI%RAPtO5OBCxrys2``Hik4jSof zy1TF_RAHyLcA2}Wk(EioB(EZ09%t>lvPyAN!Zie>ud;V8xNjMA}dc9#}Etu-a8o&D`^Kj<7B9?m;P|~1}`_z6b4UMKbLh*2~7Z`TRk`c literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_ita.png b/OnTopReplica/Assets/flag_ita.png new file mode 100644 index 0000000000000000000000000000000000000000..6254b92e285af9d1c75c2dcf9fabad7d7475623c GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_poland.png b/OnTopReplica/Assets/flag_poland.png new file mode 100644 index 0000000000000000000000000000000000000000..9a7d5f6bf342512b9aade8a010208fbc04e10e4d GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ#}iF>xNjMB6Uv}#}Etu!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8X6a5n0T@z;_sg8IR|$ zNC65;mbgZg1m~xflqVLYG6W=M=9TFAxrQi|8S9zqnR<5pc>q*Y>*?YcV&R{hAW`rk zFz}zf>WoIAvkH5sNPqah|44m^&cFYs&3R1>OH4WJm^VF}uHEvl{xua1Mz1@R9lO|LWha|K`Uk`AkWh@H&v^$N%~KYd${ZPE*iz oo1!@7_@M*Kn;Fl0i&!%-Yzopr081=vMgRZ+ literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_usa.png b/OnTopReplica/Assets/flag_usa.png new file mode 100644 index 0000000000000000000000000000000000000000..aed8f11f9992b987e25e3344be224bfc6294d3c2 GIT binary patch literal 355 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon-new.ico b/OnTopReplica/Assets/icon-new.ico new file mode 100644 index 0000000000000000000000000000000000000000..18362992f3fec1ff3742fd8b63d393500a8b5cc2 GIT binary patch literal 86918 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 A{r~^~ literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon.ico b/OnTopReplica/Assets/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..791a5e2abbe1788c3b7920ec0c87ababd4691435 GIT binary patch literal 7358 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 QzVN^OFZTb>|Gz2lpGUyLN&o-= literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon.png b/OnTopReplica/Assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d87244edd38607b98111a0e4759f8eddeae7ba71 GIT binary patch literal 7335 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 N002ovPDHLkV1l0s81euB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/list.png b/OnTopReplica/Assets/list.png new file mode 100644 index 0000000000000000000000000000000000000000..33b1ff0345e156591927d0d05e1ecfd9f064a89c GIT binary patch literal 681 zcmV;a0#^NrP)A}HuaqOhR5=&~SiQC$Qz3cHA?yv$u#j9hbRHa8V# zuG)sEJK9d`>});Xe6fR9df>;ty*qo}=Y7t5gudvFJ1xd$XHimFY%&z;KlAK1+rlO8 zEw*}H)-LzsjDd}A7z-{u*8^JX36l%T5~oJj%;w-t2zG{ zxYQVY+I#tAPAM+y?+?t~qxzN2W+3FhJwIFCWqDGPrdTrZ)#L2)hp`8I1h`?p=)OAI z1p_dG9CG+vabVP?4B5m4%g8CF7#lpOg+V9Ho1(=z3RF5{T*k9n6BwKbE&k2QbJezd zbav)P+~ultJVu=lZE!4;3odZ0BG4E3J>qelp7PjRq;z?fZ{PbZ?SYy$A82lC_ZIQA z>&+`cs-Fk7APq+Oee|7ocJil$oQm9yc=$y3)y@tl8~7L*9~=G9eT|*s0$yMR{M~p- zA+}Sfdw7Uo5xf(JV~Mx5Ly`JVgMk;R`ACTzI5aLVXwLgI=MWF}p8x{@XDi290elMa P00000NkvXXu0mjf+9*5T literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/newicon.png b/OnTopReplica/Assets/newicon.png new file mode 100644 index 0000000000000000000000000000000000000000..37017ad33c7c87a6c2f945feeef56ba0acf1fb3e GIT binary patch literal 770 zcmV+d1O5DoP)ox1a z7VLs78w-Twn-Av3{~$|-zu*G^SqOdx;hVJ}AMnBQ&Dz2Hn4Ot^S0z!i;tt))?&_@0 z$jFQ=0pMwOX>*$5zg>pb(cZZtgfGAO_PeJ?_wOyHF(!zJCQXxS-2F;O$=42AMKy`D zR{lCUIeq@q55Ky_t;0_jj~+h${`GI4OIIMx4-s66UL0h$2W;Exgl!8Q8bsbRO?dX? zs~6QTKY!+!K{wr2mfJJvxWn`*)C@j7;JKBhLr`boHsDuvaOCzlPd;FlB7vN zpZ73iWlX`OcGq#khQZAY>KlR_8=Sxf%LKyB5r%P=;OrcO=yL^3;u_a&b@}O%>cL@v zO@e0V5G}o#;lP@0MWz$du44L$=qAm}e*pyLG+?njLtWg$W;Wn5ZMZujHa#U|@IWvr zGG8`vfS*V;rE7rvs%_Gb-I|KA`&Eyt%HY&1E;>bOB2q^g%6+EdcO2nEO;$)dfGMhe zuy51XpWMWGQ{r@OaoM-H!`lC@6_*llwj40FYsAs#p@MTh3!r(*$bb&*^=Q7r-2;P< zWQOzTaoPsFZv;cCvAn8rwc>hXuv$|Iv!B(C8N!i=7G}_ezu<6>n7bM7?De>J`v9wW z1DAuxvMpGSpd0cLsNw4cikD4Fgy0}0N;%u?mtSn%7!ajoot3)sraag?L}`yn^cX$Q z+K3HXJK`;Fr`IoEY$%>}ZF6@18{?u-(`ige$IF;<)*bspTj zFHZE;tCNv)d6CsUpgp2}NK60YICDtw=RX1r0DQbuM9q8juK)l507*qoM6N<$g4OVC A-~a#s literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_bottomleft.pdn b/OnTopReplica/Assets/pos_bottomleft.pdn new file mode 100644 index 0000000000000000000000000000000000000000..6658542355e57545d1b138be337b56d0ed15ad29 GIT binary patch literal 6696 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 HDWM4fG=x-j literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_bottomright.png b/OnTopReplica/Assets/pos_bottomright.png new file mode 100644 index 0000000000000000000000000000000000000000..96ba61893ba568efaf9bb9835d5329dbfe26c4db GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9}FK5etQUh2#kmRT2WL`C{*P zJP?+)m}qA9|8i4PfPqKPizytJV&dcbn;er4A7t=i7GzLs>D>2Zg)bw}LIzJ)KbLh* G2~7YYM^pg- literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_center.png b/OnTopReplica/Assets/pos_center.png new file mode 100644 index 0000000000000000000000000000000000000000..d672a20baab23469fa22cbf4d711e4ae2c6c2e60 GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$179u0Iceio!iz978PplV_M@Ui!b(d-|e;2@=dw2UhYe`FUohv4(_7TONa7>EQzm zIgP@Z$)D|YH8@zCk92V66x?VuxqkinVxan}1CO5Y8!~I~9Z8%pLE{_K(wmYD3x!y+ Um;83;1zN%2>FVdQ&MBb@00?tREdT%j literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_null.png b/OnTopReplica/Assets/pos_null.png new file mode 100644 index 0000000000000000000000000000000000000000..ea301953f4a137a0c2a6c12010b7234431bd3a53 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9}FK5etQUh2#kmRT2WL`C{*P pJP?+)u(-uR0qGPfD8YB{i+h- z5t8O(YhV(5lAgjN(|LC)8IumM=*;A_ kY?eJ_(y-*g@em${tp58O7Cx@M26QEZr>mdKI;Vst00-D*CIA2c literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/regions_new.png b/OnTopReplica/Assets/regions_new.png new file mode 100644 index 0000000000000000000000000000000000000000..25947b96dedbc6263707383ff7bb5ce7bf0e4a4d GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X3O!vMLn>}1r6eRgU`i5Hc$TKXTf_RuT%k=ypuYW)iH6!V z{o@=eCXGL21lSoqDl6r(NA6b9{kM0%%TlySL|m!d9m;Y>lp_f zt|QkMBz|b~s4cKvoaoSMu)snySk*Xi%3MY!9)_5W`rqzs3j7VUoWax8&t;ucLK6V& C9z^W` literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/screenshot-icon.ico b/OnTopReplica/Assets/screenshot-icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3251e44fcf9b29c72083eb6543466410d9926753 GIT binary patch literal 99678 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
      w$YD8-Q{R!9jryL4g5{Kz1u|y=6WF!x~3Q FFaU5&7=Zu) literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window16.png b/OnTopReplica/Assets/window16.png new file mode 100644 index 0000000000000000000000000000000000000000..0d594cbb8fb50b1c90044cae1f363e35d36b6a87 GIT binary patch literal 862 zcmV-k1EKthP)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$9Fmkdbk^le#xJg7o zR5(wilm9Q&aU91#|BR57WWsf&(#*G}FSyPr%Y>pYIOi=P4%h9*A)QvF!a3(lzN|vF zHhnXh`Et(P=RWtjJKsr2>c?mAR6o>g*}S*c_TFoIKHiVldwVg=P7i0FNoDzIV&bOA z1ZyLsMve@Pn#j8$1L+?aBLl;e#K=0x%=|K0TwWu*W1f7Vy|$O{Nwuy!ospIgVR!6D zgk~8KU1Y)qC5vbUi_lyX4rdtQCpAJyOgNrvL2wa|Qz{3d%BK-iH3xb9C>Wv{fiTsK z$U++=N(aPu90$JZAf4W`9PqzAgTUf>gq1AeY~^Q&AFLv_b{z`+Bp7AgIDMVp z42S32Adqs{n_|JfYgTwk?GR*7;aI^ef|LsgSARmJW(AV!HC%kM4rPl8OsUp@bHz49 z&=LG)G@Q)BEtvvt@bH#xrN6qVA6NGksx~tiwRRjL3JAJog+~etmm~^E;ozC}xBkh0 z^yBL{P}0tVDQOtP895K%R12IF%y6av_pATcPtb0lw1WbaPe%}xZN;7>Go0ehaJ~FT z-?7E-Q~gK3^b;GuLH!dTuNj74nuUfxCtWRE{uZ55fMC(ir^I>hW80Ed;%r#3z9$(EWx3W z7-Y)Jz|=PNWVAegL*5P=2xprm3rj0xYIc!~OmL*Pe~2`9y(YSjKGM|LNA#VqNK;2I o(Y5yw?Xzz3Sl=bv=`u4v0HYLIW}ceXwg3PC07*qoM6N<$g2#Gr*Z=?k literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_border16.png b/OnTopReplica/Assets/window_border16.png new file mode 100644 index 0000000000000000000000000000000000000000..b9bc0b092087debf2200041e8334bcf20f508a05 GIT binary patch literal 683 zcmV;c0#yBpP)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$9Fmkdbk^le#1xZ9f zR5(wqlig3!Q5=W4?z%Thpe!I0ejuVwNyCJkqnH_5G1pp+%qAiT=$tasD09wgX0Ekf z)+(*^&*>sm-gLwADUT2ij4HQC0cKulA#{1t_QuqH}~WIKyj?%1~AKXo@Cj9!}%Fmd4Saq#~Ta z986HwouV@G23zz!j*(9^jD6+godt}?dNTm6)sK59CBi9=h;Vr*PEkjk;-I+qq_JLl zOYPMU93B0PYy2DTyNeVxWC3(SZ8cm!ki-(2NAk{L@WnBQQdoLlb7=4#b;BR2zww2p zi3OVPeaCb>3!t}m(kLoeyF|Ecmcljx@Fytk+DLzq)AyG!x%x5{RsnT=ag5$s_O%Lt zcOFycdVOb>{+Wl%6lVkW*90gJ%%N?Gp%nmq`=9mCK3c}ym}Q_o7(mw=L+y!CaB)pP zy}|Db{Rc~&d;EivrbwoO!r~XCBVS_Y9*MlY1{7)oO3knNy+b)I(kdjk^Ao~A%$#(e RGs*w}002ovPDHLkV1h^TF@yjB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_multiple.pdn b/OnTopReplica/Assets/window_multiple.pdn new file mode 100644 index 0000000000000000000000000000000000000000..2641e329e05972bf982e65852fb0269808fce01c GIT binary patch literal 8806 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 BaXbJ3 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_multiple16.ico b/OnTopReplica/Assets/window_multiple16.ico new file mode 100644 index 0000000000000000000000000000000000000000..6c48346dd69e92f341301e5d260e9d4befbbe0db GIT binary patch literal 894 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_switch.pdn b/OnTopReplica/Assets/window_switch.pdn new file mode 100644 index 0000000000000000000000000000000000000000..72bcc91da1b19273df35affdb8d985bfa6af0bc2 GIT binary patch literal 10464 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_switch.png b/OnTopReplica/Assets/window_switch.png new file mode 100644 index 0000000000000000000000000000000000000000..987ef8eea5050eb07f43ac3f3fa443d0359f85a6 GIT binary patch literal 456 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_arrow.png b/OnTopReplica/Assets/xiao_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..ca39d4820e0858e3519c1d6e238b171950cc53a3 GIT binary patch literal 437 zcmV;m0ZRUfP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ-J4r-ARCwCNlQB;MK@^0)6*0;shK|yNYW)TL0b*-nVPiCE2Uaw8R(3R2Xon_- zA7Eo;q_ELgs12MnL}P;_gg`j%IL))r(}ZK8pzt-jJDHulc{{5_glTGqDQh;^D5XXc zQpM^qkQstcZg+GR01;uFja0EJ&mvO(5V`b39z`TotV(ciq6OdSoNb-j)H_gV!HZ+C zFsA+OgLTbo7h*s}3<3tP?5}ESO;}ol{DnrrTyIBGqwoqxnQ{yva#hQzdThSar`fhhQ0rbd8SfKAh*YQFET?gt5vEcY_9HKYy zar*AafqH}J_#go!<54_+ek3s&pCI72o29}H8>T0{w!b;UxC&CJl(K*XU>P)eK;viq fO|Sa*-}p5E1l@+qVnZ^Q00000NkvXXu0mjfU7@ez literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_delete.png b/OnTopReplica/Assets/xiao_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7e3c06c7072ab8bd2992ec1db3040dde5bb9ff GIT binary patch literal 715 zcmV;+0yO=JP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;QAtEWRCwB?lRr#TaS+Ep?@wES8fe1+O&LfK8xlI{8g*x!>LAes`A> z9LM3)^m+c07Z?Ms02iyicfd2?5un!sqjMjSsn?hwN=semVg$QSL$JN#RSsjy*PU4M zg$#jkH;MS`5#XK-AWPza?D1e{a$uW;Z@p*; zu%AqWVIl`Y$dWivH$=zKDVJ2ROqyt{vZf+RG9ImjW7&oaP<3-lEf%8ywyyDW{wn{H z*mM$8RnaVa*9D|=>Pjx1injXwl=E3|?8e!G$cZ*T`E-hOPF-=gFuA<5c(@(MYHkN# z3x;7}=;eAd4DhvJHMeuP9cOZRXVC>@AiJ4VW>V{G$Q?b%!4Qt*#j;E+%fykq$iWbD zM-Qp>H8zvVOa`)U3ma2|djEWU_Tgp2ccG--2%d`K>x>}F0^nd;0;Qb7_qVIO|MKJR z_-bNyV`@;Z+X7G=UrpSG#M3*MQrG)BTVq{;mL7oAQE_i;KmY3H%WwCAJ)r20<@h!B x&&R!hA7}-4qZ*J0e$^`1u2FCthyT&<0RU|@782+2Qd0l`002ovPDHLkV1n3wH?;r& literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_down.png b/OnTopReplica/Assets/xiao_down.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf7a5d1c0ad4f723223346040b778b0a4a73fd7 GIT binary patch literal 761 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;e@R3^RCwB?lTAoeQ5c4wd*{xGKVXhhG)$nNHVApxN-S)y+eD68$d%o{G z=ToGVT$udIAw+;d;5u;mfcpr%2A%^>>EM^4b~KJ+Fr+Gz$;27X#-lXU1!VRY$#1%m z{IIe$R`li2ff2wz17G^Lqt#X816L9h!;o`fFBj}pgrTi9%DJW}FK1RJje@DEiuw#d zEu|d}g~kWE6BtF<%0o^-dR8YrtCJG}XB1(eJ3%-U8b2sCFetjtt*(|Bzk#0uEC*~C zQhjk!eQ|6z;C>4D4Rp1{D7wzAvVo!~y-g?U$mBr?uO|sOdgs})}bg$Z@C9* zNb3woH1_v=JPE5C+kvtp4#2{S4nS*D49|gBy@ndnI*&Bb@g$~Y0NtXd?ih9NOjMZ8rTgviD2e(C6h%WyQ1CEJi?@s0>@I$Kyg4>JdVXTw zIr0iXVRLNw;U>J&Z#=qN+t`+@K6R!Uppenma~n%D-(Ng<3akT#l1Mo|jdQ~t5ugUB r1u73{0px%`rJGCBs7NXKAN(BvYQHHQ=RzG>00000NkvXXu0mjfkH<^r literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_help.png b/OnTopReplica/Assets/xiao_help.png new file mode 100644 index 0000000000000000000000000000000000000000..df861f96e0c4f211756f6aa44252f0e35fad1739 GIT binary patch literal 752 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;c1c7*RCwB?lf6$9aTv!xcfGbi5keuD;E~uwkr0h-2u5QZp5K7pe`CZpackz08Kmz*7l@8ulLg4IrNRP`bP+yO#CIhuBhS9 zYdVN1LAu0Y7i&*QV99CW(Uh3P327 z;Bkq9ar@duRAAqNFHxl;weBvNIyd-%7axC+vmNikV9=BRa+W#VeLlcG@FxR~4UvAi z0`PDZj4VjiaP@2p^UK@Az%vOz5QM%!a|7`M$XI#7y~VP4ECjld_v2XzG&k@`i1n2K zqD$&@dnERfHd&`E+}Pg9J0Tg}umQ-L(9$R&x}?sECYo6XO*bk4N6XL(DM&66-E?E) zSS3JK*H+S+7Q}{(X>;6eL=H;+36F@TXR-CnMhT#)yR%ASFIZb$Px8>fE@aU=lb@r{ zR|SA5Ky6JGN+N}(?#=>;0PEu;lhIg$CT|X(3oOgRFf1bdGLe26!?3U{3!e*`yg8z= z1nc7?ljR;{;z@OLX>`sbJ?d#Yg(5n{(-yrm`M*%(5oz|hk?SPpRu$CErBO2RWC_qU zwP;3%LSxpQDX(T;z8{qRv^RPY1PR9hfh?+~^I>_1-^<^g#wLcwx~3M*iYWl;*u>D| z7`#(%J-J(dx+Cm6*?I;b9apwe+bi?G-aL2?Yys(_NI1TY(V>tBs0HeQ>OwdJq=3WX i%f)RJ9LM2*?B4+H@(<#P|3};a0000%t*xm literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_ok.png b/OnTopReplica/Assets/xiao_ok.png new file mode 100644 index 0000000000000000000000000000000000000000..fc5029a25f4417ad92afa7489f464874dc3318df GIT binary patch literal 752 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;c1c7*RCwB?lTAoeQ5c4wGk2VE(s3N6G)+pYjcFT2iI8xUB#|3YcWp$mz?IZO zSK_9YK}q7KU52X+0|{Dagx0{|UpUcV)RYchW}N?f?%cU8)Qh9bUicR0<@+Aa$2qSs zO%ovmN9vt#bN~ZDH*n+7{tV0lQ!|}w@~GD|O~i3P?|kEcB9xa67h1V^{xYTIUI3zM zgr9$Zu>N})!!!nGI@hL70eapwJaD@_&u=$(Ly19}1X(ly>^N~z3^9d;ud~F{`w!pT zU4LN#`rco6C_>ThwcaOPvX5rOG0B$zoQfM)%){H|R~V+@e0^tC+5oaLH&kEMj8+&Y zo>I{?4SAxz_?KDoeLyRWQ(x6gR_2BPYydVP`YOw6h-OqWGJ__yyjuO{XS!vP>6S&J z8I{Vi8f-%J9jpfkyJ#wK+DW8h1Vi7gYhS9aV>=XNx@FPw5~&!at_p-*G+6)uJ)1?- z(s|AOD{Xn_v0x91O+g~TG<9nQJ#B2Hl1Xwo7}@Hw296JpY;}>*HF8-PHw$PUh25xSHNuXW_T!0=iJQfAPl#F;B%FS0{2oSL%$3!~eU0o9M&@Z!LQE_DWd z?Enn=+R>y$mpTqyxD77>)z8A{_M`D41p*Tjn=VLbQG(G8e)-fVpTKKLdh5@*oN)!gMGHPz-ng*P)jN i_JIU&I*tFMe**wrqevEjZknS20000P)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;Zb?KzRCwB?lS@ccQ5eU6=gyrgI+i+!(lmmGkwlPU_CUhgxNXxyR}q4bUbL%4 zD``=?=&3?P`!?Z9U1+$deBgr=3pAly>7=*uG50lh?rCwI$#mHt4xICy@B5waaL!*y zDG@@DRYT8|2DAg0fpa_I_rM#VZ@jb4&E`re5xW5mJyY!=Mf5h+RB$XFrL-hST>A~5 zb%S>c-^lo~W4yDjZy%uk#pJbUq~O_=i#24zu#pBQ69Do;P!xtx8eR`CV5H3JlU?=C zbAZ#m(^^Oo&W+}i7{F#4q=eB49f0$v;s^l;!w?0Y4$hGAW!_jvt*ZcJ(r#Dd(HNV+ zFAHopC?05yGte4mbVA2=gS}0l@o0=p+U){R0E7@NRb?e4w!pGrY$hnqYM?dF*o=;4 zL1GK4%1RJIwB!IvNUaZRD#?_O?fCx`?}pfpPcr4BX(~!ctp`xE39ctGZ3j<6+ei?5 zc_ANwwh=1_QbP*18^%Yba{$ja=TfFwiw~CT?>pUcyxjbNreNA0zHNQUUBNU~`t`LW zg{s7L9c(8US!LI*>rkjl^tB|WvCLuVch{El$5@>0 z#!9UJ?I8Hdg_SpZ?v38!00000(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ-QAtEWRCwCFlD$d;K@^3*6*q-K0ycuMjg>xukCGyrI+&NyO4&w>nT5QEg`~9F zMl9?k44OdL*-7A7xU0qp{(+~t%(-_y?r>hsV!ms@Ll0Nrkv>2yk`)4^H`fO9Sf;OL^zwWO1K>GUS(=%SD$ zfNfyk7^AW*RTPEFvTPFB2eu`>JmE3Gq=Yc_@0XbacK{&-y!V6=yQuqYG{{pJ2 z!h26uRiFQZy%rqqz=AEVZr1@xlCWGZNs?q8;GZV>;F4Zr_@_w@2d@LpxqLJl^#I1> z@mqYgqB^eKy3TYn002ovPDHLkV1gvj B#S{Pl literal 0 HcmV?d00001 diff --git a/OnTopReplica/CREDITS.txt b/OnTopReplica/CREDITS.txt new file mode 100644 index 0000000..a870696 --- /dev/null +++ b/OnTopReplica/CREDITS.txt @@ -0,0 +1,12 @@ +OnTopReplica credits +-------------------- + +This application was inspired by Switcher (http://insentient.net) and other DWM based application. + +All Aero controls are part of the open-source WindowsFormsAero (http://windowsformsaero.codeplex.com) library for .NET. + +Some DWM example code has ben taken from user Ookii (http://www.ookii.org) on Channel 9 MSDN. + +The NativeToolstripRenderer class has been taken from asztal.net (http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet). + +Some of the icons used by OnTopReplica have been taken from VistaICO.com and the Xiao icon set. diff --git a/OnTopReplica/CloneClickEventArgs.cs b/OnTopReplica/CloneClickEventArgs.cs new file mode 100644 index 0000000..2c137fe --- /dev/null +++ b/OnTopReplica/CloneClickEventArgs.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + /// + /// EventArgs structure for clicks on a cloned window. + /// + public class CloneClickEventArgs : EventArgs { + + public Point ClientClickLocation { get; set; } + + public bool IsDoubleClick { get; set; } + + public MouseButtons Buttons { get; set; } + + public CloneClickEventArgs(Point location, MouseButtons buttons) { + ClientClickLocation = location; + Buttons = buttons; + IsDoubleClick = false; + } + + public CloneClickEventArgs(Point location, MouseButtons buttons, bool doubleClick) { + ClientClickLocation = location; + Buttons = buttons; + IsDoubleClick = doubleClick; + } + + } +} diff --git a/OnTopReplica/CloseRequestEventArgs.cs b/OnTopReplica/CloseRequestEventArgs.cs new file mode 100644 index 0000000..377ce99 --- /dev/null +++ b/OnTopReplica/CloseRequestEventArgs.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; + +namespace OnTopReplica { + public class CloseRequestEventArgs : EventArgs { + + public WindowHandle LastWindowHandle { get; set; } + + public Rectangle? LastRegion { get; set; } + + } +} diff --git a/OnTopReplica/FocusedTextBox.cs b/OnTopReplica/FocusedTextBox.cs new file mode 100644 index 0000000..b2a2cc6 --- /dev/null +++ b/OnTopReplica/FocusedTextBox.cs @@ -0,0 +1,70 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using WindowsFormsAero; +using System.Windows.Forms; + +namespace OnTopReplica { + + class FocusedTextBox : System.Windows.Forms.TextBox { + + protected override bool IsInputChar(char charCode) { + if (charCode == '\n' || charCode == '\r') + return true; + + return base.IsInputChar(charCode); + } + + protected override void OnKeyUp(KeyEventArgs e) { + if (e.KeyCode == Keys.Return) { + if(!string.IsNullOrEmpty(Text)) + OnConfirmInput(); + + e.Handled = true; + e.SuppressKeyPress = true; + } + else if (e.KeyCode == Keys.Escape) { + OnAbortInput(); + + e.Handled = true; + e.SuppressKeyPress = true; + } + + //Console.WriteLine("{0} ({1})", e.KeyCode, e.KeyValue); + + base.OnKeyUp(e); + } + + //List of characters to ignore on KeyPress events (because they generate bell rings) + readonly char[] IgnoreChars = new char[] { + (char)27, (char)13 + }; + + protected override void OnKeyPress(KeyPressEventArgs e) { + if (IgnoreChars.Contains(e.KeyChar)) { + e.Handled = true; + } + + base.OnKeyPress(e); + } + + public event EventHandler ConfirmInput; + + protected virtual void OnConfirmInput() { + var evt = ConfirmInput; + if (evt != null) + evt(this, EventArgs.Empty); + } + + public event EventHandler AbortInput; + + protected virtual void OnAbortInput() { + var evt = AbortInput; + if (evt != null) + evt(this, EventArgs.Empty); + } + + } + +} diff --git a/OnTopReplica/FullscreenFormManager.cs b/OnTopReplica/FullscreenFormManager.cs new file mode 100644 index 0000000..1263c3d --- /dev/null +++ b/OnTopReplica/FullscreenFormManager.cs @@ -0,0 +1,117 @@ +using OnTopReplica.Properties; +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + class FullscreenFormManager { + + private readonly MainForm _mainForm; + + public FullscreenFormManager(MainForm form) { + _mainForm = form; + IsFullscreen = false; + } + + Point _preFullscreenLocation; + Size _preFullscreenSize; + FormBorderStyle _preFullscreenBorderStyle; + + public bool IsFullscreen { + get; + private set; + } + + public void SwitchFullscreen() { + SwitchFullscreen(Settings.Default.GetFullscreenMode()); + } + + public void SwitchFullscreen(FullscreenMode mode) { + if (IsFullscreen) { + MoveToFullscreenMode(mode); + return; + } + + if (!_mainForm.ThumbnailPanel.IsShowingThumbnail) + return; + + //On switch, always hide side panels + _mainForm.CloseSidePanel(); + + //Store state + _preFullscreenLocation = _mainForm.Location; + _preFullscreenSize = _mainForm.ClientSize; + _preFullscreenBorderStyle = _mainForm.FormBorderStyle; + + //Change state to fullscreen + _mainForm.FormBorderStyle = FormBorderStyle.None; + MoveToFullscreenMode(mode); + + CommonCompleteSwitch(true); + } + + private void MoveToFullscreenMode(FullscreenMode mode) { + var screens = Screen.AllScreens; + + var currentScreen = Screen.FromControl(_mainForm); + Size size = _mainForm.Size; + Point location = _mainForm.Location; + + switch (mode) { + case FullscreenMode.Standard: + default: + size = currentScreen.WorkingArea.Size; + location = currentScreen.WorkingArea.Location; + break; + + case FullscreenMode.Fullscreen: + size = currentScreen.Bounds.Size; + location = currentScreen.Bounds.Location; + break; + + case FullscreenMode.AllScreens: + size = SystemInformation.VirtualScreen.Size; + location = SystemInformation.VirtualScreen.Location; + break; + } + + _mainForm.Size = size; + _mainForm.Location = location; + } + + public void SwitchBack() { + if (!IsFullscreen) + return; + + //Restore state + _mainForm.FormBorderStyle = _preFullscreenBorderStyle; + _mainForm.Location = _preFullscreenLocation; + _mainForm.ClientSize = _preFullscreenSize; + _mainForm.RefreshAspectRatio(); + + CommonCompleteSwitch(false); + } + + private void CommonCompleteSwitch(bool enabled) { + //UI stuff switching + _mainForm.GlassEnabled = !enabled; + _mainForm.TopMost = !enabled; + _mainForm.HandleMouseMove = !enabled; + + IsFullscreen = enabled; + + Program.Platform.OnFormStateChange(_mainForm); + } + + public void Toggle() { + if (IsFullscreen) + SwitchBack(); + else + SwitchFullscreen(Settings.Default.GetFullscreenMode()); + } + + } +} diff --git a/OnTopReplica/FullscreenMode.cs b/OnTopReplica/FullscreenMode.cs new file mode 100644 index 0000000..83f4700 --- /dev/null +++ b/OnTopReplica/FullscreenMode.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Xml.Serialization; +using OnTopReplica.Properties; + +namespace OnTopReplica { + /// + /// Describes a fullscreen mode. + /// + enum FullscreenMode { + Standard, + Fullscreen, + AllScreens + } + + static class FullscreenModeExtensions { + + /// + /// Gets the fullscreen mode as an enumeration value. + /// + public static FullscreenMode GetFullscreenMode(this Settings settings) { + FullscreenMode retMode = FullscreenMode.Standard; + + Enum.TryParse(settings.FullscreenMode, out retMode); + + return retMode; + } + + /// + /// Sets the fullscreen mode. + /// + public static void SetFullscreenMode(this Settings settings, FullscreenMode mode) { + settings.FullscreenMode = mode.ToString(); + } + + } +} diff --git a/OnTopReplica/GeometryExtensions.cs b/OnTopReplica/GeometryExtensions.cs new file mode 100644 index 0000000..5f61feb --- /dev/null +++ b/OnTopReplica/GeometryExtensions.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + + /// + /// Common geometry extension methods. + /// + static class GeometryExtensions { + + /// + /// Returns the difference (offset vector) between two points. + /// + public static Point Difference(this Point a, Point b) { + return new Point(a.X - b.X, a.Y - b.Y); + } + + /// + /// Expands a size value by a padding distance. + /// + public static Size Expand(this Size size, Padding padding) { + return new Size(size.Width + padding.Horizontal, size.Height + padding.Vertical); + } + + /// + /// Expands a size value by a size distance. + /// + public static Size Expand(this Size size, Size expandSize) { + return new Size(size.Width + expandSize.Width, size.Height + expandSize.Height); + } + + /// + /// Computes the difference between two size values. + /// + public static Size Difference(this Size a, Size b) { + return new Size(a.Width - b.Width, a.Height - b.Height); + } + + /// + /// Ensures that the minimum size of a control respects a minimum + /// client size area. + /// + /// Control whose MinimumSize should be altered. + /// Minimum client size value to ensure. + public static void EnsureMinimumClientSize(this Control ctrl, Size minimumClientSize) { + Size offset = ctrl.Size.Difference(ctrl.ClientSize); + ctrl.MinimumSize = minimumClientSize.Expand(offset); + } + + /// + /// Attempts to fit a size structure to another fixed destination size, by maintaining + /// the original aspect ratio. + /// + public static Size Fit(this Size sourceSize, Size destinationSize) { + double sourceRatio = (double)sourceSize.Width / (double)sourceSize.Height; + double clientRatio = (double)destinationSize.Width / (double)destinationSize.Height; + + Size ret; + if (sourceRatio >= clientRatio) { + ret = new Size(destinationSize.Width, (int)((double)destinationSize.Width / sourceRatio)); + } + else { + ret = new Size((int)((double)destinationSize.Height * sourceRatio), destinationSize.Height); + } + + return ret; + } + + } + +} diff --git a/OnTopReplica/HotKeyTextBox.cs b/OnTopReplica/HotKeyTextBox.cs new file mode 100644 index 0000000..9abcead --- /dev/null +++ b/OnTopReplica/HotKeyTextBox.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + class HotKeyTextBox : TextBox { + + protected override void OnCreateControl() { + ReadOnly = true; + + base.OnCreateControl(); + } + + readonly Keys[] IgnoredKeys = new Keys[] { + Keys.ControlKey, + Keys.Control, + Keys.Alt, + Keys.Menu, + Keys.ShiftKey, + Keys.Shift, + Keys.LWin, + Keys.RWin + }; + + readonly Keys[] CancelKeys = new Keys[] { + Keys.Back, + Keys.Escape + }; + + protected override void OnKeyUp(KeyEventArgs e) { + if (CancelKeys.Contains(e.KeyCode)) { + Text = string.Empty; + } + else if (!IgnoredKeys.Contains(e.KeyCode)) { + var sb = new StringBuilder(); + if (e.Control) + sb.Append("[CTRL]+"); + if (e.Alt) + sb.Append("[ALT]+"); + if (e.Shift) + sb.Append("[SHIFT]+"); + sb.Append(e.KeyCode.ToString()); + + Text = sb.ToString(); + } + + e.Handled = true; + base.OnKeyUp(e); + } + + } + +} diff --git a/OnTopReplica/IMessagePumpProcessor.cs b/OnTopReplica/IMessagePumpProcessor.cs new file mode 100644 index 0000000..824b9e5 --- /dev/null +++ b/OnTopReplica/IMessagePumpProcessor.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + interface IMessagePumpProcessor : IDisposable { + + void Initialize(MainForm form); + + bool Process(ref Message msg); + + } +} diff --git a/OnTopReplica/ImageComboBox.cs b/OnTopReplica/ImageComboBox.cs new file mode 100644 index 0000000..c68522f --- /dev/null +++ b/OnTopReplica/ImageComboBox.cs @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Drawing; + +namespace OnTopReplica { + class ImageComboBox : ComboBox { + + public ImageComboBox() { + DrawMode = DrawMode.OwnerDrawFixed; + } + + protected override void OnDrawItem(DrawItemEventArgs ea) { + ea.DrawBackground(); + ea.DrawFocusRectangle(); + + if (ea.Index == -1) + return; + + Rectangle bounds = ea.Bounds; + var foreBrush = new SolidBrush(ea.ForeColor); + int textLeftBound = (IconList == null) ? bounds.Left : bounds.Left + IconList.ImageSize.Width; + + var drawObject = Items[ea.Index]; + if (drawObject is ImageComboBoxItem) { + var drawItem = (ImageComboBoxItem)drawObject; + + if (drawItem.ImageListIndex != -1 && IconList != null) { + //ea.Graphics.FillRectangle(Brushes.Gray, bounds.Left, bounds.Top, IconList.ImageSize.Width, IconList.ImageSize.Height); + ea.Graphics.DrawImage(IconList.Images[drawItem.ImageListIndex], bounds.Left, bounds.Top); + } + + ea.Graphics.DrawString(drawItem.Text, ea.Font, foreBrush, textLeftBound, bounds.Top); + } + else { + ea.Graphics.DrawString(drawObject.ToString(), ea.Font, foreBrush, textLeftBound, bounds.Top); + } + + base.OnDrawItem(ea); + } + + public ImageList IconList { get; set; } + + } + + class ImageComboBoxItem { + + public ImageComboBoxItem() { + Text = ""; + ImageListIndex = -1; + } + + public ImageComboBoxItem(string text) { + if (text == null) + throw new ArgumentNullException(); + + Text = text; + ImageListIndex = -1; + } + + public ImageComboBoxItem(string text, int imageListIndex) { + if (text == null) + throw new ArgumentNullException(); + + Text = text; + ImageListIndex = imageListIndex; + } + + public string Text { get; private set; } + + public int ImageListIndex { get; private set; } + + public object Tag { get; set; } + + } +} diff --git a/OnTopReplica/LICENSE.txt b/OnTopReplica/LICENSE.txt new file mode 100644 index 0000000..fed0f94 --- /dev/null +++ b/OnTopReplica/LICENSE.txt @@ -0,0 +1,21 @@ +Microsoft Reciprocal License (Ms-RL) + +This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software. + +1. Definitions +The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. +A "contribution" is the original software, or any additions or changes to the software. +A "contributor" is any person that distributes its contribution under this license. +"Licensed patents" are a contributor's patent claims that read directly on its contribution. + +2. Grant of Rights +(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. +(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. + +3. Conditions and Limitations +(A) Reciprocal Grants- For any file you distribute that contains code from the software (in source code or binary format), you must provide recipients the source code to that file along with a copy of this license, which license will govern that file. You may license other files that are entirely your own work and do not contain code from the software under any terms you choose. +(B) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +(C) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. +(D) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. +(E) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. +(F) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs new file mode 100644 index 0000000..356788c --- /dev/null +++ b/OnTopReplica/MainForm.Designer.cs @@ -0,0 +1,600 @@ +namespace OnTopReplica +{ + partial class MainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.menuContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.menuContextWindows = new System.Windows.Forms.ToolStripMenuItem(); + this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); + this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.switchToWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.selectRegionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.advancedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickForwardingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickThroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.groupSwitchModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.restoreLastClonedWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextOpacity = new System.Windows.Forms.ToolStripMenuItem(); + this.menuOpacity = new System.Windows.Forms.ContextMenuStrip(this.components); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); + this.fullOpacityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.resizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuResize = new System.Windows.Forms.ContextMenuStrip(this.components); + this.doubleToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.fitToWindowToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.halfToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.quarterToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.fullscreenToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.restorePositionAndSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.dockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.disabledToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.centerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.chromeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.reduceToIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); + this.fullSelectWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFullscreenContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.modeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuModeStandardToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuModeFullscreenToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuModeAllScreensToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.enableClickthroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullExitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContext.SuspendLayout(); + this.menuWindows.SuspendLayout(); + this.menuOpacity.SuspendLayout(); + this.menuResize.SuspendLayout(); + this.menuFullscreenContext.SuspendLayout(); + this.SuspendLayout(); + // + // menuContext + // + this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuContextWindows, + this.switchToWindowToolStripMenuItem, + this.selectRegionToolStripMenuItem, + this.advancedToolStripMenuItem, + this.menuContextOpacity, + this.resizeToolStripMenuItem, + this.dockToolStripMenuItem, + this.chromeToolStripMenuItem, + this.reduceToIconToolStripMenuItem, + this.toolStripSeparator1, + this.settingsToolStripMenuItem, + this.aboutToolStripMenuItem, + this.menuContextClose}); + this.menuContext.Name = "menuContext"; + this.menuContext.Size = new System.Drawing.Size(187, 274); + this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); + // + // menuContextWindows + // + this.menuContextWindows.DropDown = this.menuWindows; + this.menuContextWindows.Image = global::OnTopReplica.Properties.Resources.list; + this.menuContextWindows.Name = "menuContextWindows"; + this.menuContextWindows.Size = new System.Drawing.Size(186, 22); + this.menuContextWindows.Text = global::OnTopReplica.Strings.MenuWindows; + this.menuContextWindows.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // + // menuWindows + // + this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.noneToolStripMenuItem}); + this.menuWindows.Name = "menuWindows"; + this.menuWindows.Size = new System.Drawing.Size(118, 26); + // + // noneToolStripMenuItem + // + this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; + this.noneToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; + // + // switchToWindowToolStripMenuItem + // + this.switchToWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_arrow; + this.switchToWindowToolStripMenuItem.Name = "switchToWindowToolStripMenuItem"; + this.switchToWindowToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.switchToWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSwitch; + this.switchToWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSwitchTT; + this.switchToWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_Switch_click); + // + // selectRegionToolStripMenuItem + // + this.selectRegionToolStripMenuItem.Enabled = false; + this.selectRegionToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.regions; + this.selectRegionToolStripMenuItem.Name = "selectRegionToolStripMenuItem"; + this.selectRegionToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.selectRegionToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRegion; + this.selectRegionToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRegionTT; + this.selectRegionToolStripMenuItem.Click += new System.EventHandler(this.Menu_Region_click); + // + // advancedToolStripMenuItem + // + this.advancedToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.clickForwardingToolStripMenuItem, + this.clickThroughToolStripMenuItem, + this.groupSwitchModeToolStripMenuItem, + this.restoreLastClonedWindowToolStripMenuItem}); + this.advancedToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_wrench; + this.advancedToolStripMenuItem.Name = "advancedToolStripMenuItem"; + this.advancedToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.advancedToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAdvanced; + this.advancedToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Advanced_opening); + // + // clickForwardingToolStripMenuItem + // + this.clickForwardingToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; + this.clickForwardingToolStripMenuItem.Name = "clickForwardingToolStripMenuItem"; + this.clickForwardingToolStripMenuItem.Size = new System.Drawing.Size(218, 22); + this.clickForwardingToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickForwarding; + this.clickForwardingToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickForwardingTT; + this.clickForwardingToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickForwarding_click); + // + // clickThroughToolStripMenuItem + // + this.clickThroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.clickThroughToolStripMenuItem.Name = "clickThroughToolStripMenuItem"; + this.clickThroughToolStripMenuItem.Size = new System.Drawing.Size(218, 22); + this.clickThroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.clickThroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.clickThroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // groupSwitchModeToolStripMenuItem + // + this.groupSwitchModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.groupmode; + this.groupSwitchModeToolStripMenuItem.Name = "groupSwitchModeToolStripMenuItem"; + this.groupSwitchModeToolStripMenuItem.Size = new System.Drawing.Size(218, 22); + this.groupSwitchModeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuGroupSwitch; + this.groupSwitchModeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuGroupSwitchTT; + this.groupSwitchModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_GroupSwitchMode_click); + // + // restoreLastClonedWindowToolStripMenuItem + // + this.restoreLastClonedWindowToolStripMenuItem.Name = "restoreLastClonedWindowToolStripMenuItem"; + this.restoreLastClonedWindowToolStripMenuItem.Size = new System.Drawing.Size(218, 22); + this.restoreLastClonedWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRestoreLast; + this.restoreLastClonedWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRestoreLastTT; + this.restoreLastClonedWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_RestoreLastWindow_click); + // + // menuContextOpacity + // + this.menuContextOpacity.DropDown = this.menuOpacity; + this.menuContextOpacity.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.menuContextOpacity.Name = "menuContextOpacity"; + this.menuContextOpacity.Size = new System.Drawing.Size(186, 22); + this.menuContextOpacity.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // menuOpacity + // + this.menuOpacity.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripMenuItem1, + this.toolStripMenuItem2, + this.toolStripMenuItem3, + this.toolStripMenuItem4}); + this.menuOpacity.Name = "menuOpacity"; + this.menuOpacity.OwnerItem = this.menuContextOpacity; + this.menuOpacity.ShowCheckMargin = true; + this.menuOpacity.ShowImageMargin = false; + this.menuOpacity.Size = new System.Drawing.Size(154, 92); + this.menuOpacity.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Opacity_opening); + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Checked = true; + this.toolStripMenuItem1.CheckState = System.Windows.Forms.CheckState.Checked; + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem1.Tag = 1D; + this.toolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuOp100; + this.toolStripMenuItem1.ToolTipText = global::OnTopReplica.Strings.MenuOp100TT; + this.toolStripMenuItem1.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem2 + // + this.toolStripMenuItem2.Name = "toolStripMenuItem2"; + this.toolStripMenuItem2.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem2.Tag = 0.75D; + this.toolStripMenuItem2.Text = global::OnTopReplica.Strings.MenuOp75; + this.toolStripMenuItem2.ToolTipText = global::OnTopReplica.Strings.MenuOp75TT; + this.toolStripMenuItem2.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem3 + // + this.toolStripMenuItem3.Name = "toolStripMenuItem3"; + this.toolStripMenuItem3.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem3.Tag = 0.5D; + this.toolStripMenuItem3.Text = global::OnTopReplica.Strings.MenuOp50; + this.toolStripMenuItem3.ToolTipText = global::OnTopReplica.Strings.MenuOp50TT; + this.toolStripMenuItem3.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem4 + // + this.toolStripMenuItem4.Name = "toolStripMenuItem4"; + this.toolStripMenuItem4.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem4.Tag = 0.25D; + this.toolStripMenuItem4.Text = global::OnTopReplica.Strings.MenuOp25; + this.toolStripMenuItem4.ToolTipText = global::OnTopReplica.Strings.MenuOp25TT; + this.toolStripMenuItem4.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // fullOpacityToolStripMenuItem + // + this.fullOpacityToolStripMenuItem.DropDown = this.menuOpacity; + this.fullOpacityToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.fullOpacityToolStripMenuItem.Name = "fullOpacityToolStripMenuItem"; + this.fullOpacityToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullOpacityToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // resizeToolStripMenuItem + // + this.resizeToolStripMenuItem.DropDown = this.menuResize; + this.resizeToolStripMenuItem.Enabled = false; + this.resizeToolStripMenuItem.Name = "resizeToolStripMenuItem"; + this.resizeToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.resizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResize; + // + // menuResize + // + this.menuResize.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.doubleToolStripMenuItem1, + this.fitToWindowToolStripMenuItem1, + this.halfToolStripMenuItem1, + this.quarterToolStripMenuItem1, + this.toolStripSeparator3, + this.fullscreenToolStripMenuItem1, + this.toolStripSeparator2, + this.restorePositionAndSizeToolStripMenuItem}); + this.menuResize.Name = "menuResize"; + this.menuResize.OwnerItem = this.resizeToolStripMenuItem; + this.menuResize.Size = new System.Drawing.Size(218, 148); + this.menuResize.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Resize_opening); + // + // doubleToolStripMenuItem1 + // + this.doubleToolStripMenuItem1.Name = "doubleToolStripMenuItem1"; + this.doubleToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.doubleToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitDouble; + this.doubleToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Double); + // + // fitToWindowToolStripMenuItem1 + // + this.fitToWindowToolStripMenuItem1.Name = "fitToWindowToolStripMenuItem1"; + this.fitToWindowToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.fitToWindowToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitOriginal; + this.fitToWindowToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_FitToWindow); + // + // halfToolStripMenuItem1 + // + this.halfToolStripMenuItem1.Name = "halfToolStripMenuItem1"; + this.halfToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.halfToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitHalf; + this.halfToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Half); + // + // quarterToolStripMenuItem1 + // + this.quarterToolStripMenuItem1.Name = "quarterToolStripMenuItem1"; + this.quarterToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.quarterToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitQuarter; + this.quarterToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Quarter); + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(214, 6); + // + // fullscreenToolStripMenuItem1 + // + this.fullscreenToolStripMenuItem1.Image = global::OnTopReplica.Properties.Resources.fullscreen; + this.fullscreenToolStripMenuItem1.Name = "fullscreenToolStripMenuItem1"; + this.fullscreenToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.fullscreenToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitFullscreen; + this.fullscreenToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Fullscreen); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(214, 6); + // + // restorePositionAndSizeToolStripMenuItem + // + this.restorePositionAndSizeToolStripMenuItem.Name = "restorePositionAndSizeToolStripMenuItem"; + this.restorePositionAndSizeToolStripMenuItem.Size = new System.Drawing.Size(217, 22); + this.restorePositionAndSizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRecall; + this.restorePositionAndSizeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRecallTT; + this.restorePositionAndSizeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Resize_RecallPosition_click); + // + // dockToolStripMenuItem + // + this.dockToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.disabledToolStripMenuItem, + this.topLeftToolStripMenuItem, + this.topRightToolStripMenuItem, + this.centerToolStripMenuItem, + this.bottomLeftToolStripMenuItem, + this.bottomRightToolStripMenuItem}); + this.dockToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_null; + this.dockToolStripMenuItem.Name = "dockToolStripMenuItem"; + this.dockToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.dockToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosition; + this.dockToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuPositionTT; + this.dockToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Position_Opening); + // + // disabledToolStripMenuItem + // + this.disabledToolStripMenuItem.Checked = true; + this.disabledToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; + this.disabledToolStripMenuItem.Name = "disabledToolStripMenuItem"; + this.disabledToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.disabledToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosDisabled; + this.disabledToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_Disable); + // + // topLeftToolStripMenuItem + // + this.topLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topleft; + this.topLeftToolStripMenuItem.Name = "topLeftToolStripMenuItem"; + this.topLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopLeft; + this.topLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopLeft); + // + // topRightToolStripMenuItem + // + this.topRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topright; + this.topRightToolStripMenuItem.Name = "topRightToolStripMenuItem"; + this.topRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopRight; + this.topRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopRight); + // + // centerToolStripMenuItem + // + this.centerToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_center; + this.centerToolStripMenuItem.Name = "centerToolStripMenuItem"; + this.centerToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.centerToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosCenter; + this.centerToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_Center); + // + // bottomLeftToolStripMenuItem + // + this.bottomLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomleft; + this.bottomLeftToolStripMenuItem.Name = "bottomLeftToolStripMenuItem"; + this.bottomLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomLeft; + this.bottomLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomLeft); + // + // bottomRightToolStripMenuItem + // + this.bottomRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomright; + this.bottomRightToolStripMenuItem.Name = "bottomRightToolStripMenuItem"; + this.bottomRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomRight; + this.bottomRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomRight); + // + // chromeToolStripMenuItem + // + this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem"; + this.chromeToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.chromeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuChrome; + this.chromeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuChromeTT; + this.chromeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Chrome_click); + // + // reduceToIconToolStripMenuItem + // + this.reduceToIconToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.minimize; + this.reduceToIconToolStripMenuItem.Name = "reduceToIconToolStripMenuItem"; + this.reduceToIconToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.reduceToIconToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReduce; + this.reduceToIconToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuReduceTT; + this.reduceToIconToolStripMenuItem.Click += new System.EventHandler(this.Menu_Reduce_click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(183, 6); + // + // settingsToolStripMenuItem + // + this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; + this.settingsToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.settingsToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSettings; + this.settingsToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSettingsTT; + this.settingsToolStripMenuItem.Click += new System.EventHandler(this.Menu_Settings_click); + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.help; + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.aboutToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAbout; + this.aboutToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAboutTT; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.Menu_About_click); + // + // menuContextClose + // + this.menuContextClose.Image = global::OnTopReplica.Properties.Resources.close_new; + this.menuContextClose.Name = "menuContextClose"; + this.menuContextClose.Size = new System.Drawing.Size(186, 22); + this.menuContextClose.Text = global::OnTopReplica.Strings.MenuClose; + this.menuContextClose.Click += new System.EventHandler(this.Menu_Close_click); + // + // fullSelectWindowToolStripMenuItem + // + this.fullSelectWindowToolStripMenuItem.DropDown = this.menuWindows; + this.fullSelectWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.list; + this.fullSelectWindowToolStripMenuItem.Name = "fullSelectWindowToolStripMenuItem"; + this.fullSelectWindowToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullSelectWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindows; + this.fullSelectWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // + // menuFullscreenContext + // + this.menuFullscreenContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fullSelectWindowToolStripMenuItem, + this.modeToolStripMenuItem, + this.fullOpacityToolStripMenuItem, + this.enableClickthroughToolStripMenuItem, + this.fullExitToolStripMenuItem}); + this.menuFullscreenContext.Name = "menuFullscreenContext"; + this.menuFullscreenContext.Size = new System.Drawing.Size(190, 136); + // + // modeToolStripMenuItem + // + this.modeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuModeStandardToolStripMenuItem, + this.menuModeFullscreenToolStripMenuItem, + this.menuModeAllScreensToolStripMenuItem}); + this.modeToolStripMenuItem.Name = "modeToolStripMenuItem"; + this.modeToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.modeToolStripMenuItem.Text = "Mode"; + this.modeToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Fullscreen_Mode_opening); + // + // menuModeStandardToolStripMenuItem + // + this.menuModeStandardToolStripMenuItem.Name = "menuModeStandardToolStripMenuItem"; + this.menuModeStandardToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.menuModeStandardToolStripMenuItem.Text = "Standard"; + this.menuModeStandardToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_Mode_Standard_click); + // + // menuModeFullscreenToolStripMenuItem + // + this.menuModeFullscreenToolStripMenuItem.Name = "menuModeFullscreenToolStripMenuItem"; + this.menuModeFullscreenToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.menuModeFullscreenToolStripMenuItem.Text = "Fullscreen"; + this.menuModeFullscreenToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_Mode_Fullscreen_click); + // + // menuModeAllScreensToolStripMenuItem + // + this.menuModeAllScreensToolStripMenuItem.Name = "menuModeAllScreensToolStripMenuItem"; + this.menuModeAllScreensToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.menuModeAllScreensToolStripMenuItem.Text = "All screens"; + this.menuModeAllScreensToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_Mode_AllScreens_click); + // + // enableClickthroughToolStripMenuItem + // + this.enableClickthroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; + this.enableClickthroughToolStripMenuItem.Name = "enableClickthroughToolStripMenuItem"; + this.enableClickthroughToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.enableClickthroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.enableClickthroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.enableClickthroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // fullExitToolStripMenuItem + // + this.fullExitToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; + this.fullExitToolStripMenuItem.Name = "fullExitToolStripMenuItem"; + this.fullExitToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullExitToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuQuitFullscreen; + this.fullExitToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_ExitFullscreen_click); + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.Control; + this.ClientSize = new System.Drawing.Size(324, 232); + this.ControlBox = false; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.HideCaption = true; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.MinimumSize = new System.Drawing.Size(44, 44); + this.Name = "MainForm"; + this.Text = "OnTopReplica"; + this.TopMost = true; + this.menuContext.ResumeLayout(false); + this.menuWindows.ResumeLayout(false); + this.menuOpacity.ResumeLayout(false); + this.menuResize.ResumeLayout(false); + this.menuFullscreenContext.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ContextMenuStrip menuContext; + private System.Windows.Forms.ToolStripMenuItem menuContextWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextClose; + private System.Windows.Forms.ContextMenuStrip menuWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextOpacity; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.ContextMenuStrip menuOpacity; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem4; + private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem reduceToIconToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem selectRegionToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem resizeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem switchToWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem dockToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topRightToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomRightToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuResize; + private System.Windows.Forms.ToolStripMenuItem doubleToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fitToWindowToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem halfToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem quarterToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fullscreenToolStripMenuItem1; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripMenuItem chromeToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuFullscreenContext; + private System.Windows.Forms.ToolStripMenuItem fullSelectWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullOpacityToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullExitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem advancedToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickForwardingToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickThroughToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem groupSwitchModeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem enableClickthroughToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem centerToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem disabledToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; + private System.Windows.Forms.ToolStripMenuItem restorePositionAndSizeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem restoreLastClonedWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem modeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem menuModeStandardToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem menuModeFullscreenToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem menuModeAllScreensToolStripMenuItem; + } +} + diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs new file mode 100644 index 0000000..9450846 --- /dev/null +++ b/OnTopReplica/MainForm.cs @@ -0,0 +1,422 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Native; +using OnTopReplica.Properties; +using OnTopReplica.StartupOptions; +using OnTopReplica.Update; +using OnTopReplica.WindowSeekers; +using WindowsFormsAero.Dwm; +using WindowsFormsAero.TaskDialog; + +namespace OnTopReplica { + + partial class MainForm : AspectRatioForm { + + //GUI elements + ThumbnailPanel _thumbnailPanel; + + //Managers + readonly MessagePumpManager _msgPumpManager = new MessagePumpManager(); + WindowListMenuManager _windowListManager; + public FullscreenFormManager FullscreenManager { get; private set; } + + Options _startupOptions; + + public MainForm(Options startupOptions) { + _startupOptions = startupOptions; + + FullscreenManager = new FullscreenFormManager(this); + + //WinForms init pass + InitializeComponent(); + + //Store default values + DefaultNonClickTransparencyKey = this.TransparencyKey; + DefaultBorderStyle = this.FormBorderStyle; + + //Thumbnail panel + _thumbnailPanel = new ThumbnailPanel { + Location = Point.Empty, + Dock = DockStyle.Fill + }; + _thumbnailPanel.CloneClick += new EventHandler(Thumbnail_CloneClick); + Controls.Add(_thumbnailPanel); + + //Set native renderer on context menus + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer( + menuContext, menuWindows, menuOpacity, menuResize, menuFullscreenContext + ); + + //Set to Key event preview + this.KeyPreview = true; + } + + #region Event override + + protected override void OnHandleCreated(EventArgs e){ + base.OnHandleCreated(e); + + //Window init + KeepAspectRatio = false; + GlassEnabled = true; + GlassMargins = new Margins(-1); + + //Managers + _msgPumpManager.Initialize(this); + _windowListManager = new WindowListMenuManager(this, menuWindows); + _windowListManager.ParentMenus = new System.Windows.Forms.ContextMenuStrip[] { + menuContext, menuFullscreenContext + }; + + //Platform specific form initialization + Program.Platform.PostHandleFormInit(this); + } + + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + //Apply startup options + _startupOptions.Apply(this); + } + + protected override void OnClosing(CancelEventArgs e) { + //Store last thumbnail, if any + if (_thumbnailPanel.IsShowingThumbnail && CurrentThumbnailWindowHandle != null) { + Settings.Default.RestoreLastWindowTitle = CurrentThumbnailWindowHandle.Title; + Settings.Default.RestoreLastWindowHwnd = CurrentThumbnailWindowHandle.Handle.ToInt64(); + Settings.Default.RestoreLastWindowClass = CurrentThumbnailWindowHandle.Class; + } + + _msgPumpManager.Dispose(); + Program.Platform.CloseForm(this); + + base.OnClosing(e); + } + + protected override void OnMove(EventArgs e) { + base.OnMove(e); + + AdjustSidePanelLocation(); + } + + protected override void OnResizeEnd(EventArgs e) { + base.OnResizeEnd(e); + + RefreshScreenLock(); + } + + protected override void OnActivated(EventArgs e) { + base.OnActivated(e); + + //Deactivate click-through if form is reactivated + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + + Program.Platform.RestoreForm(this); + } + + protected override void OnDeactivate(EventArgs e) { + base.OnDeactivate(e); + + //HACK: sometimes, even if TopMost is true, the window loses its "always on top" status. + // This is a fix attempt that probably won't work... + if (!FullscreenManager.IsFullscreen) { //fullscreen mode doesn't use TopMost + TopMost = false; + TopMost = true; + } + } + + protected override void OnMouseWheel(MouseEventArgs e) { + base.OnMouseWheel(e); + + if (!FullscreenManager.IsFullscreen) { + int change = (int)(e.Delta / 6.0); //assumes a mouse wheel "tick" is in the 80-120 range + AdjustSize(change); + RefreshScreenLock(); + } + } + + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); + + //This is handled by the WM_NCLBUTTONDBLCLK msg handler usually (because the GlassForm translates + //clicks on client to clicks on caption). But if fullscreen mode disables GlassForm dragging, we need + //this auxiliary handler to switch mode. + FullscreenManager.Toggle(); + } + + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); + + //Same story as above (OnMouseDoubleClick) + if (e.Button == System.Windows.Forms.MouseButtons.Right) { + OpenContextMenu(null); + } + } + + protected override void WndProc(ref Message m) { + if (_msgPumpManager != null) { + if (_msgPumpManager.PumpMessage(ref m)) { + return; + } + } + + switch (m.Msg) { + case WM.NCRBUTTONUP: + //Open context menu if right button clicked on caption (i.e. all of the window area because of glass) + if (m.WParam.ToInt32() == HT.CAPTION) { + OpenContextMenu(null); + + m.Result = IntPtr.Zero; + return; + } + break; + + case WM.NCLBUTTONDBLCLK: + //Toggle fullscreen mode if double click on caption (whole glass area) + if (m.WParam.ToInt32() == HT.CAPTION) { + FullscreenManager.Toggle(); + + m.Result = IntPtr.Zero; + return; + } + break; + + case WM.NCHITTEST: + //Make transparent to hit-testing if in click through mode + if (ClickThroughEnabled && (ModifierKeys & Keys.Alt) != Keys.Alt) { + m.Result = (IntPtr)HT.TRANSPARENT; + return; + } + break; + } + + base.WndProc(ref m); + } + + #endregion + + #region Keyboard event handling + + protected override void OnKeyUp(KeyEventArgs e) { + base.OnKeyUp(e); + + //ALT + if (e.Modifiers == Keys.Alt) { + if (e.KeyCode == Keys.Enter) { + e.Handled = true; + FullscreenManager.Toggle(); + } + + else if (e.KeyCode == Keys.D1 || e.KeyCode == Keys.NumPad1) { + FitToThumbnail(0.25); + } + + else if (e.KeyCode == Keys.D2 || e.KeyCode == Keys.NumPad2) { + FitToThumbnail(0.5); + } + + else if (e.KeyCode == Keys.D3 || e.KeyCode == Keys.NumPad3 || + e.KeyCode == Keys.D0 || e.KeyCode == Keys.NumPad0) { + FitToThumbnail(1.0); + } + + else if (e.KeyCode == Keys.D4 || e.KeyCode == Keys.NumPad4) { + FitToThumbnail(2.0); + } + } + + //F11 Fullscreen switch + else if (e.KeyCode == Keys.F11) { + e.Handled = true; + FullscreenManager.Toggle(); + } + + //ESCAPE + else if (e.KeyCode == Keys.Escape) { + //Disable click-through + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + //Toggle fullscreen + else if (FullscreenManager.IsFullscreen) { + FullscreenManager.SwitchBack(); + } + //Disable click forwarding + else if (ClickForwardingEnabled) { + ClickForwardingEnabled = false; + } + } + } + + #endregion + + #region Thumbnail operation + + /// + /// Sets a new thumbnail. + /// + /// Handle to the window to clone. + /// Region of the window to clone or null. + public void SetThumbnail(WindowHandle handle, ThumbnailRegion region) { + try { + System.Diagnostics.Trace.WriteLine(string.Format("Cloning window HWND {0} of class {1}.", handle.Handle, handle.Class)); + + CurrentThumbnailWindowHandle = handle; + _thumbnailPanel.SetThumbnailHandle(handle, region); + + //Set aspect ratio (this will resize the form), do not refresh if in fullscreen + SetAspectRatio(_thumbnailPanel.ThumbnailPixelSize, !FullscreenManager.IsFullscreen); + } + catch (Exception ex) { + System.Diagnostics.Trace.Fail("Unable to set thumbnail.", ex.ToString()); + + ThumbnailError(ex, false, Strings.ErrorUnableToCreateThumbnail); + _thumbnailPanel.UnsetThumbnail(); + } + } + + /// + /// Enables group mode on a list of window handles. + /// + /// List of window handles. + public void SetThumbnailGroup(IList handles) { + if (handles.Count == 0) + return; + + //At last one thumbnail + SetThumbnail(handles[0], null); + + //Handle if no real group + if (handles.Count == 1) + return; + + CurrentThumbnailWindowHandle = null; + _msgPumpManager.Get().EnableGroupMode(handles); + } + + /// + /// Disables the cloned thumbnail. + /// + public void UnsetThumbnail() { + //Unset handle + CurrentThumbnailWindowHandle = null; + _thumbnailPanel.UnsetThumbnail(); + + //Disable aspect ratio + KeepAspectRatio = false; + } + + /// + /// Gets or sets the region displayed of the current thumbnail. + /// + public ThumbnailRegion SelectedThumbnailRegion { + get { + if (!_thumbnailPanel.IsShowingThumbnail || !_thumbnailPanel.ConstrainToRegion) + return null; + + return _thumbnailPanel.SelectedRegion; + } + set { + if (!_thumbnailPanel.IsShowingThumbnail) + return; + + _thumbnailPanel.SelectedRegion = value; + + SetAspectRatio(_thumbnailPanel.ThumbnailPixelSize, true); + + FixPositionAndSize(); + } + } + + const int FixMargin = 10; + + /// + /// Fixes the form's position and size, ensuring it is fully displayed in the current screen. + /// + private void FixPositionAndSize() { + var screen = Screen.FromControl(this); + + if (Width > screen.WorkingArea.Width) { + Width = screen.WorkingArea.Width - FixMargin; + } + if (Height > screen.WorkingArea.Height) { + Height = screen.WorkingArea.Height - FixMargin; + } + if (Location.X + Width > screen.WorkingArea.Right) { + Location = new Point(screen.WorkingArea.Right - Width - FixMargin, Location.Y); + } + if (Location.Y + Height > screen.WorkingArea.Bottom) { + Location = new Point(Location.X, screen.WorkingArea.Bottom - Height - FixMargin); + } + } + + private void ThumbnailError(Exception ex, bool suppress, string title) { + if (!suppress) { + ShowErrorDialog(title, Strings.ErrorGenericThumbnailHandleError, ex.Message); + } + + UnsetThumbnail(); + } + + /// Automatically sizes the window in order to accomodate the thumbnail p times. + /// Scale of the thumbnail to consider. + private void FitToThumbnail(double p) { + try { + Size originalSize = _thumbnailPanel.ThumbnailPixelSize; + Size fittedSize = new Size((int)(originalSize.Width * p), (int)(originalSize.Height * p)); + ClientSize = fittedSize; + RefreshScreenLock(); + } + catch (Exception ex) { + ThumbnailError(ex, false, Strings.ErrorUnableToFit); + } + } + + #endregion + + #region Accessors + + /// + /// Gets the form's thumbnail panel. + /// + public ThumbnailPanel ThumbnailPanel { + get { + return _thumbnailPanel; + } + } + + /// + /// Gets the form's message pump manager. + /// + public MessagePumpManager MessagePumpManager { + get { + return _msgPumpManager; + } + } + + /// + /// Gets the form's window list drop down menu. + /// + public ContextMenuStrip MenuWindows { + get { + return menuWindows; + } + } + + /// + /// Retrieves the window handle of the currently cloned thumbnail. + /// + public WindowHandle CurrentThumbnailWindowHandle { + get; + private set; + } + + #endregion + + } +} diff --git a/OnTopReplica/MainForm.resx b/OnTopReplica/MainForm.resx new file mode 100644 index 0000000..5ef7664 --- /dev/null +++ b/OnTopReplica/MainForm.resx @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + 142, 17 + + + 275, 17 + + + 578, 17 + + + 399, 17 + + + + + AAABAAIAMDAAAAEAIACoJQAAJgAAABAQAAABACAAaAQAAM4lAAAoAAAAMAAAAGAAAAABACAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAAAAFwAAACAAAAAnAAAAKwAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAAKwAAACcAAAAfAAAAFwAAAA0AAAAGAAAABgAAAA4AAAAdAAAALQAAAD0AAABIAAAATgAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATgAAAEgAAAA9AAAALQAAABwAAAANAAAACwAAABkAAAAwAAAARwAA + AFsAAABpAAAAcAAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcAAAAGkAAABdAAAASAAAAC8AAAAYAAAAEQAA + ACQAAABBAAAAbAoKC6QYGBiyFhcXtBcXF7QXFxe0FxcXtBcXF7UXFxi0FxcYtBcYGLQXGBi0FxgYtBgY + GLQXGBi0FxcYtBcXF7QXFxe0FxcXtBcXF7QXFxe0FxcXtRcXF7UXFxe1FxcXtBcXF7QXFxe0FxcXtBYX + F7QWFhe0FhYXtBYWFrQWFhe0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe0GBgYtQEBAqYAAAB5AAAAXwAA + AEEAAAAkAAAAFwAAACwAAABdOTk3u46IgKWTjIKUkYiAk4yEepKHf3WQhHtyj4B5b45+eG2NfHVrjHly + Z4t5cmeLeXFni3huZot5b2aLe3JoioB3bIuDe3KMiH92jIyCeIyMhXqNjYZ7jo2HfI+Ph36PkId/j5GI + f4+SiX+PkomAj5OLgJCTjIKQk4yCkJSMgpCTi4GQj4h+joyEeo2LgniMjIN5jY+HfY6RiYCPkoqAjn55 + c7IXFxe1AAAAcQAAAFAAAAAuAAAAGwAAADAJCQmJkoyGrJ6ViXCypp2Fv7OskL2yq5G6r6ePt6yljbWr + o4yzqqGLsaefirClnYmupJ2JrqOdia6inYqvpJ2JsqafibSqo4m4raeKu7Gqiryyq4u8s6uLu7OsjLyz + rYy8s62MvbOujb20ro29ta6NvbWujry2ro67tq6OvLaujr23r468ta6OurOsjLiyq4u3sayLubOvjLu0 + so20ramGnpWNdJ+ViGxnZWG9AAAAiQAAAFYAAAAzAAAAHAAAADIREhKSqaGapbK4splz3ePrceDn8nPg + 5/N14OfzduDm83nh5fN84uXyf+Lk8oLj5PKF4+Lyh+Pi8onk4PKM5d/yj+Xf8pPm3/KX6ODynOni8qDq + 4/Kk7OLyqO7i863w4vKy8+Hytvbh87z44fPE+uHzzvvk89776vPs+/Pz+fv58//7/fP/+/7z//v98v/7 + 9/L8++3y9/vi8/b70fPz+b7u1da5u6mim3V/fHe1AAAAkQAAAFkAAAA2AAAAHQAAADMQEBCRsKiirMLO + ybBI3eT/PNnf/z3Z2v8+2df/P9nV/0HZ0/9G2tL/StvQ/0vbzv9O28v/UNzJ/1Pcx/9W3sX/WuHD/13k + wv9i6ML/aO/E/3D1x/99+s7/jP3W/53/4P+y/+r/xf/x/9r/+f/v//3/9//8//n//P/6//r/8v/r/+H/ + 3v+//dr/t/3Z/8L+zv/K/7H/1f2b/9r8jv/X/Yz/0Oa+1r2zsYJ+e3e4AAAAkQAAAFoAAAA3AAAAHQAA + ADMPDw+RtKumr8bSz7Y809n/L9DT/zLQ0f8zz8//NNDL/zfQyf860Mj/PNHF/z3Sw/9A1cH/RdnC/0re + xP9S5cj/W+zN/2by0/9x+Nj/e/3d/4L/4P+L/+T/mf/o/6n/6/+5/+z/xP/n/8f/2/+//8z/tPy//6X5 + tf+Z96//jPar/3j1rP9z97j/gvrD/4X9yf+Q/cv/qvu5/7jtkf+112f/z9mt2cW9u4iAfXm5AAAAkQAA + AFoAAAA3AAAAHQAAADMPDw+Rta6osMfT0Lc40tX/LM/Q/zHQz/8y0c7/NdTO/znXz/8/29H/ROHV/0zo + 2P9T7tz/WvTg/2D54v9l++H/avzf/27+3f90/9v/ev/a/4H/1/+K/tT/kPzL/5H4v/+N87D/he6f/4Dp + k/+B5o3/huWK/4/liP+W5of/muaG/5zihv+e2ob/pNeJ/6ncjP+s5pD/pO6U/5/wlv+h4oX/ytu32si/ + vYuCf3u6AAAAkQAAAFoAAAA2AAAAHQAAADMPDw+Rt6+qscnV0bk+2Nf/M9nV/zrd2P9A4tz/Rejf/0jq + 4P9J6tv/TOrW/07o0P9P5sn/UefD/1Xqwf9c8ML/ZPXC/2v3wP9v8rn/cOqv/27iof9r25X/a9mN/3TZ + jP9924v/gtuH/4fbgv+I2n7/itR6/4nNdP+HxW3/iL5o/4y4YP+St1X/k7ZL/5S1Tv+ZtlX/pL5d/67L + Yv+x123/0uC828rCwI2DgHy7AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RuLCss8rX07pG4dz/Od7W/zzb + 0f8/2s3/P9jI/0DUwv8/0Ln/Q9G2/0rXuP9S3rr/WuS9/1/kuf9f3rD/X9ai/1/Pl/9hzJD/Zc+M/2zT + if9x1oj/d9eE/37Vg/+D0X//fshz/3m+aP95uGP/e7Nf/3+wXP+FsFb/jLVR/4+8Uv+QwFv/k8Rk/5zF + Zf+hw2D/pMBY/6i7Uv+ps0D/0M+i3M3Hx5CEgX68AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RubKutMvW + 0rs/ysH/MsS3/zbDtP87x7b/Qc27/0bVwP9L2b//Ttq7/1HWs/9T0Kn/Vcqh/1jImv9dy5X/Y9CS/2nT + kP9u1Yz/cNOG/3DOfv9wx3X/cMJv/3vDcf+GxnH/gsFl/4G/Xv+Iv17/jMNc/5DHXP+QzGH/jM9u/4vL + c/+OwWz/j7lg/5GyVP+SqEn/lqJB/5icOv+WkSr/yMOb3NDMypGFgn+9AAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+RurOvtszW0bxCxbj/OMa2/0DNu/9F0r3/SdS9/0rSt/9LzKz/TMik/1HLoP9a0aH/Y9ih/2vc + nv9w3Jf/cdqP/3PXiP931YH/etV8/37Vdv+A1HD/hdNq/5XUbv+Z027/icll/4HGYv+Dx1z/hcJU/4K3 + VP99qVX/fJ1J/3yTPP97izT/fIYv/4CDK/+EgSj/iIAn/4uBJv+MfBr/xr2W3dPPzZOHhIG9AAAAkAAA + AFoAAAA2AAAAHQAAADIPDw+RvLWwts7Z071K0L7/Psq0/0LKr/9HzK3/T9Ox/1jdtv9f5bf/Y+q0/2rt + r/9y7Kn/eeqj/4Hmnf+C4pT/gNyK/3/Tfv99zHP/e8Rp/3e7Yf9ysl3/b69h/3e2cf9zuHD/aa9Z/3Gn + Qv94nDT/dI4v/3KGKv90gyb/doIk/3d/I/94fCH/enog/3x4IP+AeCD/g3kg/4d6Iv+Idhf/xLuW3tbR + 0JWHhIG+AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvLWxuM/Z075W173/Utq7/1riv/9h6cL/aOzC/23t + v/9s6bP/aeCl/2nVl/9pzIz/bcSB/3C8d/9ts23/Z6lj/2SiXf9hnVv/XZpb/1yZXP9cnFv/ZaVZ/3aw + U/94pjv/cY8n/2+EJP9sgCX/bH4k/3B+I/92gCL/en8f/3p7Hv95eB7/eXcd/3t1Hv9+dR7/gHYf/4R3 + H/+FchX/w7qW3tfT0peHhYK/AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvbazuNHb1b9k3r//WNez/1bP + qP9Tx5z/U7+U/1O5jv9Ss4T/UKp2/1Cha/9Tnmb/Wp5j/2ChZP9gn2L/XJld/1yYXP9cmFf/XphQ/2Sa + R/9nmDr/cJkv/32dKf92jyT/an0h/2p9If9ufyD/cn4e/3V+Hf98gB3/fX8c/3t6HP95dhz/eHQb/3lz + HP97cxz/fXQc/4J0Hf+CbxL/wrmV3tjU1JiIhoPAAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+Qvbe1udDY + 0sBPt5b/QauH/0Khff9CnXT/RZ1y/0iecP9Lnm3/S5pn/0yVYv9QlGD/WZlf/2KhXv9ln1n/YplS/2WZ + TP9nmEP/aJQ5/2aNLP9mhST/dI0i/3+WI/9yhx//aXkc/2x7G/9xfhr/dYEa/3qAGv+Agxr/f4AZ/3x7 + Gv95dhr/eHIZ/3hxGv95cRn/fHEa/4ByG/+AbBD/wbiU39nW1pqIhoPAAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+Qvrq2utDW0MFJo4D/P5xz/0KVbP9BkWb/RJJl/0eVZ/9LmGb/TZZh/0+TW/9UlFf/X5pU/2ui + U/9uoUz/bZtD/2+YO/9oji//ZIQl/2Z/IP9ugB3/e40e/32QHv9xgRv/a3kY/298F/90gRf/eYMY/36D + F/+Ehhj/g4IY/358GP96dhj/d3IY/3dwGP94bxj/em8Y/31wGf99ag7/wbiU4NzY15uJh4TBAAAAkAAA + AFoAAAA2AAAAHQAAADIPDw6Qv7q3u9DWz8FJnnT/QJdq/0KPZP9Di1//RYxd/0mQXP9Ok1r/UJNW/1OS + Uf9ak0z/aJxI/3ilRP96oT3/b5Qx/2yMKP9pgyH/a4Ac/219Gf9wfhj/eosa/3yOGv9xfxf/bnwW/3J/ + Ff96hBX/fYMW/4GFFv+Hhxb/hYMW/398Ff97dRb/eHIW/3dvFv93bhb/eG4W/3xuF/97aAz/wLiU4N3Z + 2JuJh4TBAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6Qv7u4u9DWz8JLmm3/QpRh/0SNWv9Fh1P/SYhR/0yL + T/9Rjk7/V5RK/12XRv9mmUD/dqI8/4GmNf93mCz/booj/3OKHv9yhBr/cH8V/257FP9ygBb/fY8Y/36P + GP9ygBT/cn4U/3iDFP+AiBT/foUT/4aIFP+IiBT/hYMU/398E/98dhP/eXMU/3hwFP93bRX/d20V/3tt + Ff94Zgr/wLeT4N3Z2p2KiIXBAAAAkAAAAFoAAAA2AAAAHQAAADIODg6QwLy5vNHWz8JOmGP/RpNW/0eK + UP9Igkj/SoJG/1CIQ/9blEL/ZJs+/2qfO/9zoTX/eJ0s/32aJP95kiD/doob/3uMGf92hRb/cYAU/258 + Ev92hRP/g5MV/4WSFf92gxL/eIMS/3+HEv+EjBL/gYcR/4mKEf+IiRL/hIMS/4B8EP98dxH/e3QS/3lx + E/93bhP/eG0T/3lsFP93ZQn/wLeT4d7a252KiIXCAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6QwLy5vNHW + zcNRlFj/SZJN/0yIR/9MgD//VYs8/2CXOv9lmDf/bqU1/3CgL/9tjiX/d5Eg/4OaHv9/khz/e4sX/4KN + Fv96hhT/dIAS/3N/Ef9/ixP/i5kU/4qVFP98hhH/fogR/4WNEf+GjRH/hYkO/4mLD/+IiA//hIEQ/398 + D/99eA//fXYQ/3xzEf96bxL/eW0S/3ptEv93Zgf/wLiS4d7a256LiIbCAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDg6QwLy6vNLVzcNUklD/S5BD/1OOP/9elTr/YZQ0/2WYMf9urC//apgn/2WCIP9wiR7/f5Uc/4qb + Gv+Fkhr/gIsV/4SNE/98hhL/eIEP/3mDEP+GkhL/kp4S/4uWEf+Aig//gosO/4qREP+IjQ//iYsN/4uM + Df+Ihgz/hIEO/4B7Df9/eA3/gXgP/4B1D/9+chD/fW4R/3xtEf95aAb/wbmS4d/c3J+LiYbCAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Rwby6vdLVzMRVkUf/WZ89/2WjOv9gjzD/ZKAu/2muLf9ljST/ZH0f/2uE + Hf93jRv/hZYY/4+bF/+Ikhr/gooS/4OMEP99hg7/eoIO/36HDv+NlxD/l6AQ/42VD/+FjQ3/h44N/4+U + D/+IjA7/jYwM/46KDP+JhAr/gn8M/396C/+BeAz/g3gN/4J1Df+Acw7/fm8P/31uD/98awT/wruS4d/c + 3J+LiYbDAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RwLy7vtPWzMRjo0L/YaY2/1+XMf9lri7/YqQp/1x+ + If9lgB7/aoIc/2+FGv99jRf/i5YV/5KaFv+JkBj/gogP/4OLDf9/hgz/fIML/4OKDP+Umw7/nKEP/42T + Df+Ijgz/jJEM/5CWDf+Liwz/kY4K/4+KC/+Jgwn/gn0K/4B5Cv+CeAv/g3gM/4N2Df+Acw3/f28N/35v + Df9+bgP/w72S4d7c3KCLiYbDAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Rwr27vdTYzMRfmTv/W6Ew/2a+ + M/9emCj/WHUf/197Hf9ogxv/bIIY/3KFF/+AjhT/jZcT/5KZFv+IjhX/gogM/4WJDP+AhQr/f4UJ/4iO + C/+ang3/naEN/42SC/+LkAv/kZUL/5KUC/+OjAn/lI8J/4+JCf+Jgwj/g30J/4F5CP+DeQj/g3gK/4J2 + C/9/cgz/fm8L/4BxDP+AcQL/xL6R4d/b3KCLiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Qwr28vtPU + y8Rgojn/YcEx/1uXKf9Zdx//W3gb/2F8Gf9rgxf/bYEV/3WFE/+DjhL/j5YP/5KXE/+HjBL/g4gK/4WJ + Cf+ChQj/gYYI/46SCP+eoQv/naAL/42RCf+OkQr/lpgK/5ORCf+Sjgj/lI8I/4+JCP+Jggf/g30G/4F6 + Bv+DeQf/gncJ/4F0Cv9+cQr/fW8J/4ByC/+BcwD/xL+R4t3a26GKiIXEAAAAjwAAAFoAAAA2AAAAHQAA + ADIPDw+Qwby8v9XczMVhuDf/VpEl/1qFIv9bfBz/XHcZ/2J7Fv9rgRT/b4AR/3eFEP+FjRD/jpUL/5GV + EP+GihD/g4YH/4WIB/+ChAf/hIYH/5SVB/+hogr/nJ0J/5GRB/+Tkgj/mZgJ/5KPCP+VkAf/lY8H/4+I + B/+Jggb/hH0F/4J6Bf+CeAb/gnYH/350CP97cAj/e3AI/4F0Cv+BdQD/xL+R4t3Y26KKiIXEAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Qwb69v9TWy8ZZhCz/Voof/1yJIP9cexn/XHYW/2N5FP9sfxH/bn8O/3mE + Df+EjQz/jZMI/5GUEP+FiQ3/hIUF/4aGBf+ChAb/hocF/5iYBv+jpAb/m5oH/5ORB/+WlQb/mZcH/5KP + Bf+XkQb/lY4F/46HBv+IgQX/hHwE/4N7BP+CeAX/f3UG/3xyBv96bwb/e3EG/4J2Cf+CdwD/xL+Q4tzZ + 26KKiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw769v9TVy8ZXgin/V4sc/1yKHv9behj/XXQV/2N3 + Ev9rfA//b30N/3mCDP+Eiwv/jJEI/5CSEv+Ehgz/g4QD/4WFBf+CgwX/iokF/5uaBv+jpAX/mJYF/5OQ + Bv+Ylgb/lpMG/5SPBf+YkQb/k4sG/42EBv+HfwT/hHwD/4N7BP+AeAX/fXQE/3pwBf93bgb/enEG/4B2 + CP+CdwD/xMCP49zZ26OKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw7++wNXVzMZYgCj/Voob/12K + G/9cehb/XXIT/2J1EP9rew7/bXwM/3iBC/+Eigr/io8H/46RE/+ChAn/gYID/4ODBf+Cggb/jYsF/52c + Bf+iogb/lZMF/5OQBv+YlQb/k48G/5WOBv+Xjwb/kIkG/4uCBv+FfQT/g3wD/4N6Bf9/dQX/enEE/3Vu + BP90bgX/eHEG/393CP+BeQD/xMGO49vZ26SKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6RxMC+wNXW + zMZZfib/V4kY/16KGf9behX/W3AS/2JzD/9peQz/bHoL/3eACf+DiQj/io0H/46QFf+Aggj/gIED/4GC + BP+BgQX/j40F/5+dBv+hngX/lI8G/5WQBv+YkwX/kosF/5aOBf+VjAb/j4YF/4iABf+EewP/g3sE/4J4 + Bf9+dAT/d3AE/3JtBP9ybQT/d3IF/3x3B/+AeQD/wb6N49vY26SJiIXGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QxMC/wNbWzMZZfCP/WIYV/16KGP9ceRT/XG8Q/2FxDf9odwz/bXgK/3Z/CP+Bhwj/iYsH/42O + Ff9+gAf/f4AE/3+AA/+CgQT/ko8G/6CeBv+emQb/kowH/5WPBv+VkAX/kYkG/5eMBv+TiQX/jYMF/4d+ + BP+DegP/g3kE/4B2BP98cgT/dW4E/3BrA/9xbQT/dXEF/3t4Bv97dwD/vbqN49za26WJiIXGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QxcG/wNbXzcdXeiH/V4QT/16JFv9deRL/W24N/19wDP9ndAv/bHYJ/3V9 + B/+Bhgf/iIkH/4yNFv98fgX/fn4D/35+A/+DgAT/lJEF/6GeBv+alAb/kYkH/5WOBf+SiwX/kIcH/5aK + Bv+QhQX/i4EF/4Z8BP+CeAX/gXYF/35zBP96cAT/c2wE/29qA/9xbQP/dHEE/3t6Bf9zcAD/uriN493a + 26WKiIXGAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6Qx8PBwdbXzcdWeB//V4IS/16IE/9ceRD/WmwN/15u + C/9lcgn/anUH/3V8B/+BhAb/hocG/4uLGP96ewX/fH0E/3x8A/+EgQT/lZMF/6GdBv+Vjwb/kIgF/5ON + Bf+PhwX/kYYG/5OHBf+MggX/ioAE/4R5BP+BdwX/gHUE/3xyBP92bgT/cGsE/29qA/9wbAP/c3ED/3l4 + Bf9taQD/ubWN493a26WKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8PCwdjYzsdWdR//VX8P/12G + Ef9cdw7/WWoN/15sCv9jcQj/anMG/3R7Bv9/gwX/hIUG/4mJGf94eAP/ensE/3p6BP+FggT/l5QE/56b + Bf+PigX/j4YG/5CJBf+MgwX/kYUG/5CDBf+KfwT/iH8D/4F3Bf+AdQT/fnME/3pwBP9zbAT/cGoD/29q + A/9vbAP/dHID/3RzBf9nYgD/trOM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8TDwdjY + zsdVch3/U3oN/1yEEP9cdg3/WWkL/11rCP9icAf/aXEG/3N5Bv9+gQT/goQH/4aHGf91dgL/eHgF/3l4 + BP+GgwP/mZQF/5uXBf+MhQX/jYYF/42FBP+JgAT/j4ME/4uABP+JfgT/hXsE/390BP9/dAT/fHIE/3du + BP9yawP/b2oD/29rA/9vbAP/c3MD/25tA/9hXQD/tLKM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QycXEwdnZz8dUbxv/UnYM/1uBDv9cdQv/WWkJ/1tpB/9gbgX/aHEF/3J3Bv97fgP/gIII/4SF + GP9ycwL/dnYF/3h3BP+IhAT/mJQF/5aSBP+IggX/ioMF/4iAA/+IfwT/jYEE/4d9BP+HfgT/gXgE/39z + BP99cgT/enAE/3RtBP9wagP/bmoD/25rA/9wbQP/cXED/2lnAv9cWAD/s7CL497a3KaKiIbGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QysfFwdna0MhTbRn/UXIL/1t+Df9bdAr/WGgI/1pnB/9fbAb/Zm8F/3F2 + BP95fAL/f4EK/4KCFv9wcQL/dXQE/3d2BP+JhQT/mJQF/5GMBf+GfwX/hn8E/4N7BP+IfgT/iX4E/4V7 + A/+GfAT/fXQE/31yBP97cQT/d24E/3FrA/9uaQL/bWoC/21qAv9xbwP/bWwD/2RiA/9XVAD/sa6L5N/b + 3KiKiIbHAAAAjwAAAFoAAAA2AAAAGwAAADEODg6PysfFwdjYzsZRaRb/TW0G/1d6Cf9YcQb/VGUE/1dk + BP9caAP/ZGwB/25zAP92eQD/fX8K/31+Ev9sbQD/cXAB/3Z1Af+IhQL/lZEC/4uEAf+BewL/f3gB/393 + Av+EewH/hHoB/4N4Af+CeAH/eG8B/3lvAv93bgH/cmsC/21oAP9rZwD/a2cA/2tpAP9ubQD/ZmUA/2Bd + AP9STgD/rquJ497b3KeKiIbHAAAAjQAAAFgAAAA1AAAAGAAAACwQDw+MysbEv9LRx71WbR3+U3AP/1x7 + EP9ddQ7/WmoN/11pDv9jbQz/anEK/3N4C/96fAr/gYMX/36BGv9wcQj/dXQL/3t7DP+Niw3/l5QN/4qE + Df+Efg3/f3kM/4N8DP+IgAv/hnwM/4h/DP+CeQz/fXQM/310DP95cwz/dW8L/3JtCv9xbQn/cW0K/3Jx + Cv9xcAr/aWgL/2RiCv9WUgf/qaaH2tjV1aGMiojGAAAAiQAAAFIAAAAwAAAAFAAAACQLCwuCv7y4v9XR + y6PMzcDB0tTGzNTWx87V1sfO1NXHztXVx87V1cfP1tbHztjXx87Y18fO2dfIztfWx8zV1MXL1dPDytXU + w8nX1cPJ2NbDydbUw8jW08PI1dPDydbTw8nX1MPJ1tPDytfUxMrW1MTK1tPDytbTxMvW08TL1tTFy9bT + xcvV0sPL1NHDzNPRwszS0cLM0c/CzNHOwszJx7vFxsK7sM3IxJmEgoDGAAAAewAAAEYAAAAoAAAADgAA + ABoAAABTaWhmx9jUzrLg3Nmr4t3br+Ld26/j3tuv497br+Pf26/i39uw4d/br+He26/h3duv4Nvart7a + 2Kzc2Nap29bTqNnV0qfY1NGn2NPRp9jV0abZ1NGm2tTRpdnV0abZ1NKn2dTTqNrW1Kjb1tSo29bUqdzW + 1and2Nap3dnWqd3X1qra1tSq2NTTrNfU0qzX09Ks19PSrNfT0q3W0c+r0MvHp766tr0xMTC4AAAAVwAA + ADUAAAAeAAAACQAAABIAAAAnAAAAZzMzMqtPTk20TEtKs0tLSrRMS0q0TEtKtExLSrRMS0q0S0tKtEtL + SrRLS0q0S0tKs0tKSbNKSUmzS0pIs0pKSbNKSkizSkpIs0pKSLNLSUizS0pJsktKSbJLSkmzS0pJs0tK + SbNLSkmzTEpJs0xKSbNMSkmzTEpJs0xKSbNLSkmzS0pJs0tKSbNLSkmzS0pJs0tJSbNLSkm0TUxLth4d + HaMAAABeAAAAOAAAACUAAAATAAAABQAAAAsAAAAWAAAAIQAAAC0AAAA3AAAAOgAAADoAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADoAAAA7AAAAOgAAADMAAAArAAAAIQAAABUAAAALAAAAAgAAAAQAAAAJAAAADgAAABMAAAAXAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGAAAABcAAAATAAAADgAAAAgAAAAEAAAAAAAAAAEAAAACAAAABAAA + AAcAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAkAAAAHAAAABAAAAAIAAAABAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBIAAAAAAAPIEKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ABEAAABAAAAAVwAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABXAAAATAAA + AB8EBAQ+VlRQlXNybqFqamaeZ2dinWZkYJxqaGOdcG5pnXFwa550cm2feXRxn350c597cW+efHVwnU1K + RZgAAQFUFw4NUI+5uMNY4+b0Xt7b9Gbh2PRv59bzf/La9JP84vSx/+r0z//p9Nv/4vTP/930yv/Z9N// + ufKnp5OvAwEEZRkPDk6Eu7nPLtvX/zrbz/9F4Mn/VOrF/2Xuvf9y667/guWe/4nciP+K1Hf/jM5v/5bO + b/+v2HT/paeTuwQCBmIZDxBPirmy0D/Wwf9Q273/W9yt/2vZm/9x0IT/csZw/33Eav99tlT/fqdG/4Cb + QP+FjjH/mZAz/6SfjL0FBQhjGBAST5G6rtFOyqT/VsCS/1mze/9mrGv/ZqFZ/2WXRP9zmDT/bYIh/3V9 + HP96eBn/d28X/4p7Jf+kno3ABQYJYxkTFlCOq5vTPpFi/0eLV/9WlE//b51B/26NKv9tgBn/d4YX/3N+ + Ff+ChhX/gH0W/3ZuFP+FdyH/pZ+OwQYGCWMZFBhQkKiR1EuNRv9dlDr/bZgu/4CWHv98iBT/eoUR/4SQ + Ev+CihD/iYoP/4F9D/97cQ//hHYc/6Wgj8MGBgljGBQZUJasidReozD/Y40i/3OHGP+MlRX/gYgO/4iP + Df+RmA3/jZEM/42JCv+Cewr/gXQK/4l6F/+noo/EBgYJYxgUGlCXroXVWI8f/2J4Ff97iBD/jZIO/4OF + CP+TlQf/mJkI/5WSCP+PiAb/g3oF/31yBf+KfhP/p6OOxQYGCWMZFhtQlaOB1VeCFf9idRD/eoQK/4qM + C/+CggT/mJYF/5iVBv+WkAX/jIQF/4J4BP92bgP/h4AR/6ajjcYGBgljGRYcUJaif9ZYgA//YHAM/3d/ + CP+Ghwv/gIAE/5mVBv+UjQb/kogG/4h9BP99cwT/cGsB/4B+D/+joYzGBgYKYxoXHVCWoH7XU3cG/1tq + Bf9yeAL/fX4I/317AP+TjgH/ioIB/4p+Af+AdQD/dWwA/21pAP90cgn/oJ2MyAcHCmQaGB1RoaiK1maC + HP9teh3/gYYb/4mKIf+Nixr/m5Yb/5KKG/+Uihv/i4Eb/4F7Gv9+exf/fHoi/6WilMcHBwpjBgYHMXp5 + dKCcnZG2mZiNtJqZjbWZl4yzmJaIsJiWiLCYlYiwmZaJsZmVirGYlYqylpSJs5mXjbRqaGadAQEBPQAA + AAUAAAAeAAAAKgAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAArAAAAIwAA + AAoAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxB + + + \ No newline at end of file diff --git a/OnTopReplica/MainForm_ChildForms.cs b/OnTopReplica/MainForm_ChildForms.cs new file mode 100644 index 0000000..b9cdbac --- /dev/null +++ b/OnTopReplica/MainForm_ChildForms.cs @@ -0,0 +1,93 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Drawing; + +namespace OnTopReplica { + + partial class MainForm { + + //SidePanel _currentSidePanel = null; + SidePanelContainer _sidePanelContainer = null; + + /// + /// Opens a new side panel. + /// + /// The side panel to embed. + public void SetSidePanel(SidePanel panel) { + if (IsSidePanelOpen) { + CloseSidePanel(); + } + + _sidePanelContainer = new SidePanelContainer(this); + _sidePanelContainer.SetSidePanel(panel); + _sidePanelContainer.Location = ComputeSidePanelLocation(_sidePanelContainer); + _sidePanelContainer.Show(this); + } + + /// + /// Closes the current side panel. + /// + public void CloseSidePanel() { + if (_sidePanelContainer == null || _sidePanelContainer.IsDisposed) { + _sidePanelContainer = null; + return; + } + + _sidePanelContainer.Hide(); + _sidePanelContainer.FreeSidePanel(); + } + + /// + /// Gets whether a side panel is currently shown. + /// + public bool IsSidePanelOpen { + get { + if (_sidePanelContainer == null) + return false; + if (_sidePanelContainer.IsDisposed) { + _sidePanelContainer = null; + return false; + } + + return _sidePanelContainer.Visible; + } + } + + /// + /// Moves the side panel based on the main form's current location. + /// + protected void AdjustSidePanelLocation() { + if (!IsSidePanelOpen) + return; + + _sidePanelContainer.Location = ComputeSidePanelLocation(_sidePanelContainer); + } + + /// + /// Computes the target location of a side panel form that ensures it is visible on the current + /// screen that contains the main form. + /// + private Point ComputeSidePanelLocation(Form sidePanel) { + //Check if moving the panel on the form's right would put it off-screen + var screen = Screen.FromControl(this); + if (Location.X + Width + sidePanel.Width > screen.WorkingArea.Right) { + return new Point(Location.X - sidePanel.Width, Location.Y); + } + else { + return new Point(Location.X + Width, Location.Y); + } + } + + void SidePanel_RequestClosing(object sender, EventArgs e) { + CloseSidePanel(); + } + + void Thumbnail_CloneClick(object sender, CloneClickEventArgs e) { + Win32Helper.InjectFakeMouseClick(CurrentThumbnailWindowHandle.Handle, e); + } + + } + +} diff --git a/OnTopReplica/MainForm_Features.cs b/OnTopReplica/MainForm_Features.cs new file mode 100644 index 0000000..2e2586a --- /dev/null +++ b/OnTopReplica/MainForm_Features.cs @@ -0,0 +1,130 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Properties; +using WindowsFormsAero.TaskDialog; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + //Contains some feature implementations of MainForm + partial class MainForm { + + #region Click forwarding + + public bool ClickForwardingEnabled { + get { + return _thumbnailPanel.ReportThumbnailClicks; + } + set { + if (value && Settings.Default.FirstTimeClickForwarding) { + TaskDialog dlg = new TaskDialog(Strings.InfoClickForwarding, Strings.InfoClickForwardingTitle, Strings.InfoClickForwardingContent) { + CommonButtons = TaskDialogButton.Yes | TaskDialogButton.No + }; + if (dlg.Show(this).CommonButton == Result.No) + return; + + Settings.Default.FirstTimeClickForwarding = false; + } + + _thumbnailPanel.ReportThumbnailClicks = value; + } + } + + #endregion + + #region Click-through + + bool _clickThrough = false; + readonly Color DefaultNonClickTransparencyKey; + + public bool ClickThroughEnabled { + get { + return _clickThrough; + } + set { + //Adjust opacity if fully opaque + /*if (value && Opacity == 1.0) + Opacity = 0.75; + if (!value) + Opacity = 1.0;*/ + + //Enable transparency and force as top-most + TransparencyKey = (value) ? Color.Black : DefaultNonClickTransparencyKey; + if (value) + TopMost = true; + + _clickThrough = value; + } + } + + #endregion + + #region Chrome + + readonly FormBorderStyle DefaultBorderStyle; // = FormBorderStyle.Sizable; // FormBorderStyle.SizableToolWindow; + + public bool IsChromeVisible { + get { + return (FormBorderStyle == DefaultBorderStyle); + } + set { + //Cancel hiding chrome if no thumbnail is shown + if (!value && !_thumbnailPanel.IsShowingThumbnail) + return; + + if (!value) { + Location = new Point { + X = Location.X + SystemInformation.FrameBorderSize.Width, + Y = Location.Y + SystemInformation.FrameBorderSize.Height + }; + FormBorderStyle = FormBorderStyle.None; + } + else if(value) { + Location = new Point { + X = Location.X - SystemInformation.FrameBorderSize.Width, + Y = Location.Y - SystemInformation.FrameBorderSize.Height + }; + FormBorderStyle = DefaultBorderStyle; + } + + Program.Platform.OnFormStateChange(this); + Invalidate(); + } + } + + #endregion + + #region Position lock + + ScreenPosition? _positionLock = null; + + /// + /// Gets or sets the screen position where the window is currently locked in. + /// + public ScreenPosition? PositionLock { + get { + return _positionLock; + } + set { + if (value != null) + this.SetScreenPosition(value.Value); + + _positionLock = value; + } + } + + /// + /// Refreshes window position if in lock mode. + /// + private void RefreshScreenLock() { + //If locked in position, move accordingly + if (PositionLock.HasValue) { + this.SetScreenPosition(PositionLock.Value); + } + } + + #endregion + + } +} diff --git a/OnTopReplica/MainForm_Gui.cs b/OnTopReplica/MainForm_Gui.cs new file mode 100644 index 0000000..fe909cb --- /dev/null +++ b/OnTopReplica/MainForm_Gui.cs @@ -0,0 +1,118 @@ +using System.Drawing; +using System.Windows.Forms; +using WindowsFormsAero.TaskDialog; + +namespace OnTopReplica { + partial class MainForm { + + /// + /// Opens the context menu. + /// + /// Optional position of the mouse, relative to which the menu is shown. + public void OpenContextMenu(Point? position) { + Point menuPosition = MousePosition; + if (position.HasValue) + menuPosition = position.Value; + + if (FullscreenManager.IsFullscreen) { + menuFullscreenContext.Show(menuPosition); + } + else { + menuContext.Show(menuPosition); + } + } + + /// + /// Gets the window's vertical chrome size. + /// + public int ChromeBorderVertical { + get { + if (IsChromeVisible) + return SystemInformation.FrameBorderSize.Height; + else + return 0; + } + } + + /// + /// Gets the window's horizontal chrome size. + /// + public int ChromeBorderHorizontal { + get { + if (IsChromeVisible) + return SystemInformation.FrameBorderSize.Width; + else + return 0; + } + } + + /// + /// Displays an error task dialog. + /// + /// Main instruction of the error dialog. + /// Detailed informations about the error. + /// Expanded error codes/messages. + private void ShowErrorDialog(string mainInstruction, string explanation, string errorMessage) { + TaskDialog dlg = new TaskDialog(mainInstruction, Strings.ErrorGenericTitle, explanation) { + CommonIcon = TaskDialogIcon.Stop, + IsExpanded = false + }; + + if (!string.IsNullOrEmpty(errorMessage)) { + dlg.ExpandedInformation = Strings.ErrorGenericInfoText + errorMessage; + dlg.ExpandedControlText = Strings.ErrorGenericInfoButton; + } + + dlg.Show(this); + } + + /// + /// Ensures that the main form is visible (either closing the fullscreen mode or reactivating from task icon). + /// + public void EnsureMainFormVisible() { + //Reset special modes + FullscreenManager.SwitchBack(); + ClickThroughEnabled = false; + Opacity = 1.0; + + //Restore main form in a platform-dependent method + Program.Platform.RestoreForm(this); + } + + /// + /// Opens a confirmation dialog to confirm whether to reset the main form or not. + /// + public void ResetMainFormWithConfirmation() { + var dlg = new TaskDialog(Strings.AskReset, Strings.AskResetTitle, Strings.AskResetContent); + dlg.UseCommandLinks = true; + dlg.CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, Strings.AskResetButtonOk), + new CustomButton(Result.Cancel, Strings.ButtonCancel) + }; + dlg.CommonIcon = TaskDialogIcon.Information; + + if (dlg.Show(this).CommonButton == Result.OK) { + ResetMainForm(); + } + } + + /// + /// Resets the main form to its initial state. + /// + public void ResetMainForm() { + //Reset form settings + UnsetThumbnail(); + CloseSidePanel(); + + //Reset location and size (edge of the screen, min size) + Point nuLoc = Screen.PrimaryScreen.WorkingArea.Location; + nuLoc.Offset(40, 40); + Location = nuLoc; + Size = new Size(240, 220); + + this.Show(); + this.Activate(); + } + + } +} diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs new file mode 100644 index 0000000..eb9ad0c --- /dev/null +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -0,0 +1,203 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using WindowsFormsAero.TaskDialog; +using OnTopReplica.SidePanels; + +namespace OnTopReplica { + partial class MainForm { + + private void Menu_opening(object sender, CancelEventArgs e) { + //Cancel if currently in "fullscreen" mode or a side panel is open + if (FullscreenManager.IsFullscreen || IsSidePanelOpen) { + e.Cancel = true; + return; + } + + bool showing = _thumbnailPanel.IsShowingThumbnail; + + selectRegionToolStripMenuItem.Enabled = showing; + switchToWindowToolStripMenuItem.Enabled = showing; + resizeToolStripMenuItem.Enabled = showing; + chromeToolStripMenuItem.Checked = IsChromeVisible; + clickForwardingToolStripMenuItem.Checked = ClickForwardingEnabled; + chromeToolStripMenuItem.Enabled = showing; + clickThroughToolStripMenuItem.Enabled = showing; + clickForwardingToolStripMenuItem.Enabled = showing; + } + + private void Menu_Switch_click(object sender, EventArgs e) { + if (CurrentThumbnailWindowHandle == null) + return; + + Program.Platform.HideForm(this); + Native.WindowManagerMethods.SetForegroundWindow(CurrentThumbnailWindowHandle.Handle); + } + + private void Menu_Advanced_opening(object sender, EventArgs e) { + restoreLastClonedWindowToolStripMenuItem.Checked = Settings.Default.RestoreLastWindow; + } + + private void Menu_GroupSwitchMode_click(object sender, EventArgs e) { + SetSidePanel(new SidePanels.GroupSwitchPanel()); + } + + private void Menu_RestoreLastWindow_click(object sender, EventArgs e) { + Settings.Default.RestoreLastWindow = !Settings.Default.RestoreLastWindow; + } + + private void Menu_ClickForwarding_click(object sender, EventArgs e) { + ClickForwardingEnabled = !ClickForwardingEnabled; + } + + private void Menu_ClickThrough_click(object sender, EventArgs e) { + ClickThroughEnabled = true; + } + + private void Menu_Opacity_opening(object sender, CancelEventArgs e) { + ToolStripMenuItem[] items = { + toolStripMenuItem1, + toolStripMenuItem2, + toolStripMenuItem3, + toolStripMenuItem4 + }; + + foreach (ToolStripMenuItem i in items) { + if (((double)i.Tag) == this.Opacity) + i.Checked = true; + else + i.Checked = false; + } + } + + private void Menu_Opacity_click(object sender, EventArgs e) { + //Get clicked menu item + ToolStripMenuItem tsi = sender as ToolStripMenuItem; + + if (tsi != null && this.Visible) { + //Get opacity from the tag + this.Opacity = (double)tsi.Tag; + Program.Platform.OnFormStateChange(this); + } + } + + private void Menu_Region_click(object sender, EventArgs e) { + SetSidePanel(new OnTopReplica.SidePanels.RegionPanel()); + } + + private void Menu_Resize_opening(object sender, CancelEventArgs e) { + if (!_thumbnailPanel.IsShowingThumbnail) + e.Cancel = true; + + restorePositionAndSizeToolStripMenuItem.Checked = Settings.Default.RestoreSizeAndPosition; + } + + private void Menu_Resize_Double(object sender, EventArgs e) { + FitToThumbnail(2.0); + } + + private void Menu_Resize_FitToWindow(object sender, EventArgs e) { + FitToThumbnail(1.0); + } + + private void Menu_Resize_Half(object sender, EventArgs e) { + FitToThumbnail(0.5); + } + + private void Menu_Resize_Quarter(object sender, EventArgs e) { + FitToThumbnail(0.25); + } + + private void Menu_Resize_Fullscreen(object sender, EventArgs e) { + FullscreenManager.SwitchFullscreen(); + } + + private void Menu_Resize_RecallPosition_click(object sender, EventArgs e) { + Settings.Default.RestoreSizeAndPosition = !Settings.Default.RestoreSizeAndPosition; + } + + private void Menu_Position_Opening(object sender, EventArgs e) { + disabledToolStripMenuItem.Checked = (PositionLock == null); + topLeftToolStripMenuItem.Checked = (PositionLock == ScreenPosition.TopLeft); + topRightToolStripMenuItem.Checked = (PositionLock == ScreenPosition.TopRight); + centerToolStripMenuItem.Checked = (PositionLock == ScreenPosition.Center); + bottomLeftToolStripMenuItem.Checked = (PositionLock == ScreenPosition.BottomLeft); + bottomRightToolStripMenuItem.Checked = (PositionLock == ScreenPosition.BottomRight); + } + + private void Menu_Position_Disable(object sender, EventArgs e) { + PositionLock = null; + } + + private void Menu_Position_TopLeft(object sender, EventArgs e) { + PositionLock = ScreenPosition.TopLeft; + } + + private void Menu_Position_TopRight(object sender, EventArgs e) { + PositionLock = ScreenPosition.TopRight; + } + + private void Menu_Position_Center(object sender, EventArgs e) { + PositionLock = ScreenPosition.Center; + } + + private void Menu_Position_BottomLeft(object sender, EventArgs e) { + PositionLock = ScreenPosition.BottomLeft; + } + + private void Menu_Position_BottomRight(object sender, EventArgs e) { + PositionLock = ScreenPosition.BottomRight; + } + + private void Menu_Reduce_click(object sender, EventArgs e) { + //Hide form in a platform specific way + Program.Platform.HideForm(this); + } + + private void Menu_Chrome_click(object sender, EventArgs e) { + IsChromeVisible = !IsChromeVisible; + } + + private void Menu_Settings_click(object sender, EventArgs e) { + this.SetSidePanel(new OptionsPanel()); + } + + private void Menu_About_click(object sender, EventArgs e) { + this.SetSidePanel(new AboutPanel()); + } + + private void Menu_Close_click(object sender, EventArgs e) { + this.Close(); + } + + private void Menu_Fullscreen_ExitFullscreen_click(object sender, EventArgs e) { + FullscreenManager.SwitchBack(); + } + + private void Menu_Fullscreen_Mode_opening(object sender, EventArgs e) { + var mode = Settings.Default.GetFullscreenMode(); + + menuModeStandardToolStripMenuItem.Checked = (mode == FullscreenMode.Standard); + menuModeFullscreenToolStripMenuItem.Checked = (mode == FullscreenMode.Fullscreen); + menuModeAllScreensToolStripMenuItem.Checked = (mode == FullscreenMode.AllScreens); + } + + private void Menu_Fullscreen_Mode_Standard_click(object sender, EventArgs e) { + Settings.Default.SetFullscreenMode(FullscreenMode.Standard); + FullscreenManager.SwitchFullscreen(FullscreenMode.Standard); + } + + private void Menu_Fullscreen_Mode_Fullscreen_click(object sender, EventArgs e) { + Settings.Default.SetFullscreenMode(FullscreenMode.Fullscreen); + FullscreenManager.SwitchFullscreen(FullscreenMode.Fullscreen); + } + + private void Menu_Fullscreen_Mode_AllScreens_click(object sender, EventArgs e) { + Settings.Default.SetFullscreenMode(FullscreenMode.AllScreens); + FullscreenManager.SwitchFullscreen(FullscreenMode.AllScreens); + } + + } +} diff --git a/OnTopReplica/MessagePumpManager.cs b/OnTopReplica/MessagePumpManager.cs new file mode 100644 index 0000000..ad2b48d --- /dev/null +++ b/OnTopReplica/MessagePumpManager.cs @@ -0,0 +1,84 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using OnTopReplica.MessagePumpProcessors; +using OnTopReplica.Native; + +namespace OnTopReplica { + class MessagePumpManager : IDisposable { + + Dictionary _processors = new Dictionary(); + + public MainForm Form { get; private set; } + + private void Register(IMessagePumpProcessor processor, MainForm form) { + _processors[processor.GetType()] = processor; + processor.Initialize(form); + + System.Diagnostics.Trace.WriteLine(string.Format("Registered message pump processor: {0}", processor.GetType())); + } + + /// + /// Instantiates all message pump processors and registers them on the main form. + /// + /// + public void Initialize(MainForm form) { + Form = form; + + //Register window shell hook + if (!HookMethods.RegisterShellHookWindow(form.Handle)) { + Console.Error.WriteLine("Failed to register shell hook window."); + } + else { + System.Diagnostics.Trace.WriteLine("Shell hook window registered successfully."); + } + + //Register message pump processors + Register(new WindowKeeper(), form); + Register(new HotKeyManager(), form); + Register(new GroupSwitchManager(), form); + } + + /// + /// Run the registered message pump processors. + /// + /// Message to process. + /// True if the message has been handled internally. + public bool PumpMessage(ref Message msg) { + foreach (var processor in _processors.Values) { + if (processor.Process(ref msg)) + return true; + } + + return false; + } + + /// + /// Get the instance of a registered message pump processor. + /// Throws if instance not found. + /// + public T Get() { + return (T)_processors[typeof(T)]; + } + + #region IDisposable Members + + public void Dispose() { + if (!HookMethods.DeregisterShellHookWindow(Form.Handle)) { + Console.Error.WriteLine("Failed to deregister shell hook window."); + } + else { + System.Diagnostics.Trace.WriteLine("Deregistered shell hook window successfully."); + } + + foreach (var processor in _processors.Values) { + processor.Dispose(); + } + _processors.Clear(); + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs new file mode 100644 index 0000000..cfb2c5a --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.MessagePumpProcessors { + abstract class BaseMessagePumpProcessor : IMessagePumpProcessor { + + protected MainForm Form { get; private set; } + + #region IMessagePumpProcessor Members + + public virtual void Initialize(MainForm form) { + Form = form; + } + + public abstract bool Process(ref Message msg); + + #endregion + + protected abstract void Shutdown(); + + bool _isDisposed = false; + + #region IDisposable Members + + public void Dispose() { + if (_isDisposed) + return; + + Shutdown(); + + _isDisposed = true; + } + + #endregion + + } +} diff --git a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs new file mode 100644 index 0000000..e665ef9 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs @@ -0,0 +1,136 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Reflection; +using System.IO; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + class GroupSwitchManager : BaseMessagePumpProcessor { + + bool _active = false; + List _lruHandles; + + /// + /// Enables group switch mode. + /// + /// List of window handles to track. + public void EnableGroupMode(IList handles) { + if (handles == null || handles.Count == 0) + return; + + //Okey dokey, will now track handles + TrackHandles(handles); + _active = true; + } + + /// + /// Initializes the LRU sorted list of window handles. + /// + private void TrackHandles(IList handles) { + _lruHandles = new List(handles.Count); + var now = DateTime.Now; + + foreach(var h in handles){ + _lruHandles.Add(new WindowHandleWrapper { + WindowHandle = h, + LastTimeUsed = now + }); + } + } + + /// + /// Disables group switch mode. + /// + public void Disable() { + if (!_active) + return; + + _lruHandles = null; + _active = false; + } + + /// + /// Processes the message pump. + /// + public override bool Process(ref Message msg) { + if (_active && msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + if (hookCode == HookMethods.HSHELL_WINDOWACTIVATED || + hookCode == HookMethods.HSHELL_RUDEAPPACTIVATED) { + + IntPtr activeHandle = msg.LParam; + HandleForegroundWindowChange(activeHandle); + } + } + + return false; + } + + private void HandleForegroundWindowChange(IntPtr activeWindow) { + System.Diagnostics.Trace.WriteLine(string.Format("New active window (h {0}). ", activeWindow)); + + //Seek window in tracked handles + WindowHandleWrapper activated = null; + foreach (var i in _lruHandles) { + if (i.WindowHandle.Handle == activeWindow) + activated = i; + } + + if (activated == null) { + //New foreground window is not tracked + System.Diagnostics.Trace.WriteLine("Active window is not tracked."); + return; + } + + //Update tracked handle + activated.LastTimeUsed = DateTime.Now; + _lruHandles.Sort(new LruDateTimeComparer()); + + //Get least recently used + var next = _lruHandles[0]; + + System.Diagnostics.Trace.WriteLine(string.Format("Tracked. Switching to {0} (last use: {1}).", next.WindowHandle.Title, next.LastTimeUsed)); + + Form.SetThumbnail(next.WindowHandle, null); + } + + protected override void Shutdown() { + Disable(); + } + + /// + /// Gets whether the group switch manager ia active. + /// + public bool IsActive { + get { + return _active; + } + } + + #region List sorting stuff + + class WindowHandleWrapper { + public WindowHandle WindowHandle { get; set; } + public DateTime LastTimeUsed { get; set; } + } + + class LruDateTimeComparer : IComparer { + + #region IComparer Members + + public int Compare(WindowHandleWrapper x, WindowHandleWrapper y) { + return x.LastTimeUsed.CompareTo(y.LastTimeUsed); + } + + #endregion + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs new file mode 100644 index 0000000..ab68d38 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs @@ -0,0 +1,167 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; +using OnTopReplica.Properties; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// HotKey registration helper. + /// + class HotKeyManager : BaseMessagePumpProcessor { + + public HotKeyManager() { + Enabled = true; + } + + delegate void HotKeyHandler(); + + /// + /// Wraps hot key handler registration data. + /// + private class HotKeyHandlerRegistration : IDisposable { + private HotKeyHandlerRegistration() { + } + + private HotKeyHandlerRegistration(IntPtr hwnd, int key, HotKeyHandler handler) { + if (hwnd == IntPtr.Zero) + throw new ArgumentException(); + if (handler == null) + throw new ArgumentNullException(); + + _hwnd = hwnd; + RegistrationKey = key; + Handler = handler; + } + + static int _lastUsedKey = 0; + + /// + /// Registers a new hotkey and returns a handle to the registration. + /// + /// Returns null on failure. + public static HotKeyHandlerRegistration Register(Form owner, int keyCode, int modifiers, HotKeyHandler handler) { + var key = ++_lastUsedKey; + + if (!HotKeyMethods.RegisterHotKey(owner.Handle, key, modifiers, keyCode)) { + Console.Error.WriteLine("Failed to create hotkey on keys {0}.", keyCode); + return null; + } + + return new HotKeyHandlerRegistration(owner.Handle, key, handler); + } + + IntPtr _hwnd; + public int RegistrationKey { get; private set; } + public HotKeyHandler Handler { get; private set; } + + public void Dispose() { + if (!HotKeyMethods.UnregisterHotKey(_hwnd, RegistrationKey)) { + Console.Error.WriteLine("Failed to unregister hotkey #{0}.", RegistrationKey); + } + } + } + + Dictionary _handlers = new Dictionary(); + + public override void Initialize(MainForm form) { + base.Initialize(form); + + RefreshHotkeys(); + } + + public override bool Process(ref Message msg) { + if (Enabled && msg.Msg == HotKeyMethods.WM_HOTKEY) { + int keyId = msg.WParam.ToInt32(); + if (!_handlers.ContainsKey(keyId)) + return false; + + _handlers[keyId].Handler.Invoke(); + } + + return false; + } + + public bool Enabled { get; set; } + + /// + /// Refreshes registered hotkeys from Settings. + /// + /// + /// Application settings contain hotkey registration strings that are used + /// automatically by this registration process. + /// + public void RefreshHotkeys() { + ClearHandlers(); + + RegisterHandler(Settings.Default.HotKeyCloneCurrent, HotKeyCloneHandler); + RegisterHandler(Settings.Default.HotKeyShowHide, HotKeyShowHideHandler); + } + + private void RegisterHandler(string spec, HotKeyHandler handler) { + if (string.IsNullOrEmpty(spec)) + return; //this can happen and is allowed => simply don't register + if (handler == null) + throw new ArgumentNullException(); + + int modifiers = 0, keyCode = 0; + + try { + HotKeyMethods.TranslateStringToKeyValues(spec, out modifiers, out keyCode); + } + catch (ArgumentException) { + //TODO: swallowed exception + return; + } + + var reg = HotKeyHandlerRegistration.Register(Form, keyCode, modifiers, handler); + if(reg != null) + _handlers.Add(reg.RegistrationKey, reg); + } + + private void ClearHandlers() { + foreach (var hotkey in _handlers) { + hotkey.Value.Dispose(); + } + _handlers.Clear(); + } + + protected override void Shutdown() { + ClearHandlers(); + } + + #region Hotkey callbacks + + /// + /// Handles "show/hide" hotkey. Ensures the form is in restored state and switches + /// between shown and hidden states. + /// + void HotKeyShowHideHandler() { + Form.FullscreenManager.SwitchBack(); + + if (!Program.Platform.IsHidden(Form)) { + Program.Platform.HideForm(Form); + } + else { + Form.EnsureMainFormVisible(); + } + } + + /// + /// Handles the "clone current" hotkey. + /// + void HotKeyCloneHandler() { + var handle = Win32Helper.GetCurrentForegroundWindow(); + if (handle.Handle == Form.Handle) + return; + + Form.SetThumbnail(handle, null); + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs b/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs new file mode 100644 index 0000000..ca95066 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + +#if DEBUG + + /// + /// Basic shell message interceptor to use for debugging. + /// + class ShellInterceptProcessor : BaseMessagePumpProcessor { + + public override bool Process(ref Message msg) { + if (msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + + System.Diagnostics.Trace.WriteLine(string.Format("Hook msg #{0}: {1}", hookCode, msg.LParam)); + } + + return false; + } + + protected override void Shutdown() { + + } + + } + +#endif + +} diff --git a/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs new file mode 100644 index 0000000..4a0c548 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// Listens for shell events and closes the thumbnail if a cloned window is destroyed. + /// + class WindowKeeper : BaseMessagePumpProcessor { + + public override bool Process(ref Message msg) { + if (Form.CurrentThumbnailWindowHandle != null && + msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + + if (hookCode == HookMethods.HSHELL_WINDOWDESTROYED) { + //Check whether the destroyed window is the one we were cloning + IntPtr destroyedHandle = msg.LParam; + if (destroyedHandle == Form.CurrentThumbnailWindowHandle.Handle) { + //Disable group switch mode, since a window of the group has been destroyed + Form.MessagePumpManager.Get().Disable(); + + //Disable cloning + Form.UnsetThumbnail(); + } + } + } + + return false; + } + + protected override void Shutdown() { + + } + } + +} diff --git a/OnTopReplica/NDesk/Options/Options.cs b/OnTopReplica/NDesk/Options/Options.cs new file mode 100644 index 0000000..24c4552 --- /dev/null +++ b/OnTopReplica/NDesk/Options/Options.cs @@ -0,0 +1,1042 @@ +// +// Options.cs (version 0.2.1) +// +// Authors: +// Jonathan Pryor +// +// Copyright (C) 2008 Novell (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +// Compile With: +// gmcs -debug+ -r:System.Core Options.cs -o:NDesk.Options.dll +// gmcs -debug+ -d:LINQ -r:System.Core Options.cs -o:NDesk.Options.dll +// +// The LINQ version just changes the implementation of +// OptionSet.Parse(IEnumerable), and confers no semantic changes. + +// +// A Getopt::Long-inspired option parsing library for C#. +// +// NDesk.Options.OptionSet is built upon a key/value table, where the +// key is a option format string and the value is a delegate that is +// invoked when the format string is matched. +// +// Option format strings: +// Regex-like BNF Grammar: +// name: .+ +// type: [=:] +// sep: ( [^{}]+ | '{' .+ '}' )? +// aliases: ( name type sep ) ( '|' name type sep )* +// +// Each '|'-delimited name is an alias for the associated action. If the +// format string ends in a '=', it has a required value. If the format +// string ends in a ':', it has an optional value. If neither '=' or ':' +// is present, no value is supported. `=' or `:' need only be defined on one +// alias, but if they are provided on more than one they must be consistent. +// +// Each alias portion may also end with a "key/value separator", which is used +// to split option values if the option accepts > 1 value. If not specified, +// it defaults to '=' and ':'. If specified, it can be any character except +// '{' and '}' OR the *string* between '{' and '}'. If no separator should be +// used (i.e. the separate values should be distinct arguments), then "{}" +// should be used as the separator. +// +// Options are extracted either from the current option by looking for +// the option name followed by an '=' or ':', or is taken from the +// following option IFF: +// - The current option does not contain a '=' or a ':' +// - The current option requires a value (i.e. not a Option type of ':') +// +// The `name' used in the option format string does NOT include any leading +// option indicator, such as '-', '--', or '/'. All three of these are +// permitted/required on any named option. +// +// Option bundling is permitted so long as: +// - '-' is used to start the option group +// - all of the bundled options are a single character +// - at most one of the bundled options accepts a value, and the value +// provided starts from the next character to the end of the string. +// +// This allows specifying '-a -b -c' as '-abc', and specifying '-D name=value' +// as '-Dname=value'. +// +// Option processing is disabled by specifying "--". All options after "--" +// are returned by OptionSet.Parse() unchanged and unprocessed. +// +// Unprocessed options are returned from OptionSet.Parse(). +// +// Examples: +// int verbose = 0; +// OptionSet p = new OptionSet () +// .Add ("v", v => ++verbose) +// .Add ("name=|value=", v => Console.WriteLine (v)); +// p.Parse (new string[]{"-v", "--v", "/v", "-name=A", "/name", "B", "extra"}); +// +// The above would parse the argument string array, and would invoke the +// lambda expression three times, setting `verbose' to 3 when complete. +// It would also print out "A" and "B" to standard output. +// The returned array would contain the string "extra". +// +// C# 3.0 collection initializers are supported and encouraged: +// var p = new OptionSet () { +// { "h|?|help", v => ShowHelp () }, +// }; +// +// System.ComponentModel.TypeConverter is also supported, allowing the use of +// custom data types in the callback type; TypeConverter.ConvertFromString() +// is used to convert the value option to an instance of the specified +// type: +// +// var p = new OptionSet () { +// { "foo=", (Foo f) => Console.WriteLine (f.ToString ()) }, +// }; +// +// Random other tidbits: +// - Boolean options (those w/o '=' or ':' in the option format string) +// are explicitly enabled if they are followed with '+', and explicitly +// disabled if they are followed with '-': +// string a = null; +// var p = new OptionSet () { +// { "a", s => a = s }, +// }; +// p.Parse (new string[]{"-a"}); // sets v != null +// p.Parse (new string[]{"-a+"}); // sets v != null +// p.Parse (new string[]{"-a-"}); // sets v == null +// + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Globalization; +using System.IO; +using System.Runtime.Serialization; +using System.Security.Permissions; +using System.Text; +using System.Text.RegularExpressions; + +#if LINQ +using System.Linq; +#endif + +#if TEST +using NDesk.Options; +#endif + +namespace NDesk.Options { + + public class OptionValueCollection : IList, IList { + + List values = new List(); + OptionContext c; + + internal OptionValueCollection(OptionContext c) { + this.c = c; + } + + #region ICollection + void ICollection.CopyTo(Array array, int index) { (values as ICollection).CopyTo(array, index); } + bool ICollection.IsSynchronized { get { return (values as ICollection).IsSynchronized; } } + object ICollection.SyncRoot { get { return (values as ICollection).SyncRoot; } } + #endregion + + #region ICollection + public void Add(string item) { values.Add(item); } + public void Clear() { values.Clear(); } + public bool Contains(string item) { return values.Contains(item); } + public void CopyTo(string[] array, int arrayIndex) { values.CopyTo(array, arrayIndex); } + public bool Remove(string item) { return values.Remove(item); } + public int Count { get { return values.Count; } } + public bool IsReadOnly { get { return false; } } + #endregion + + #region IEnumerable + IEnumerator IEnumerable.GetEnumerator() { return values.GetEnumerator(); } + #endregion + + #region IEnumerable + public IEnumerator GetEnumerator() { return values.GetEnumerator(); } + #endregion + + #region IList + int IList.Add(object value) { return (values as IList).Add(value); } + bool IList.Contains(object value) { return (values as IList).Contains(value); } + int IList.IndexOf(object value) { return (values as IList).IndexOf(value); } + void IList.Insert(int index, object value) { (values as IList).Insert(index, value); } + void IList.Remove(object value) { (values as IList).Remove(value); } + void IList.RemoveAt(int index) { (values as IList).RemoveAt(index); } + bool IList.IsFixedSize { get { return false; } } + object IList.this[int index] { get { return this[index]; } set { (values as IList)[index] = value; } } + #endregion + + #region IList + public int IndexOf(string item) { return values.IndexOf(item); } + public void Insert(int index, string item) { values.Insert(index, item); } + public void RemoveAt(int index) { values.RemoveAt(index); } + + private void AssertValid(int index) { + if (c.Option == null) + throw new InvalidOperationException("OptionContext.Option is null."); + if (index >= c.Option.MaxValueCount) + throw new ArgumentOutOfRangeException("index"); + if (c.Option.OptionValueType == OptionValueType.Required && + index >= values.Count) + throw new OptionException(string.Format( + c.OptionSet.MessageLocalizer("Missing required value for option '{0}'."), c.OptionName), + c.OptionName); + } + + public string this[int index] { + get { + AssertValid(index); + return index >= values.Count ? null : values[index]; + } + set { + values[index] = value; + } + } + #endregion + + public List ToList() { + return new List(values); + } + + public string[] ToArray() { + return values.ToArray(); + } + + public override string ToString() { + return string.Join(", ", values.ToArray()); + } + } + + public class OptionContext { + private Option option; + private string name; + private int index; + private OptionSet set; + private OptionValueCollection c; + + public OptionContext(OptionSet set) { + this.set = set; + this.c = new OptionValueCollection(this); + } + + public Option Option { + get { return option; } + set { option = value; } + } + + public string OptionName { + get { return name; } + set { name = value; } + } + + public int OptionIndex { + get { return index; } + set { index = value; } + } + + public OptionSet OptionSet { + get { return set; } + } + + public OptionValueCollection OptionValues { + get { return c; } + } + } + + public enum OptionValueType { + None, + Optional, + Required, + } + + public abstract class Option { + string prototype, description; + string[] names; + OptionValueType type; + int count; + string[] separators; + + protected Option(string prototype, string description) + : this(prototype, description, 1) { + } + + protected Option(string prototype, string description, int maxValueCount) { + if (prototype == null) + throw new ArgumentNullException("prototype"); + if (prototype.Length == 0) + throw new ArgumentException("Cannot be the empty string.", "prototype"); + if (maxValueCount < 0) + throw new ArgumentOutOfRangeException("maxValueCount"); + + this.prototype = prototype; + this.names = prototype.Split('|'); + this.description = description; + this.count = maxValueCount; + this.type = ParsePrototype(); + + if (this.count == 0 && type != OptionValueType.None) + throw new ArgumentException( + "Cannot provide maxValueCount of 0 for OptionValueType.Required or " + + "OptionValueType.Optional.", + "maxValueCount"); + if (this.type == OptionValueType.None && maxValueCount > 1) + throw new ArgumentException( + string.Format("Cannot provide maxValueCount of {0} for OptionValueType.None.", maxValueCount), + "maxValueCount"); + if (Array.IndexOf(names, "<>") >= 0 && + ((names.Length == 1 && this.type != OptionValueType.None) || + (names.Length > 1 && this.MaxValueCount > 1))) + throw new ArgumentException( + "The default option handler '<>' cannot require values.", + "prototype"); + } + + public string Prototype { get { return prototype; } } + public string Description { get { return description; } } + public OptionValueType OptionValueType { get { return type; } } + public int MaxValueCount { get { return count; } } + + public string[] GetNames() { + return (string[])names.Clone(); + } + + public string[] GetValueSeparators() { + if (separators == null) + return new string[0]; + return (string[])separators.Clone(); + } + + protected static T Parse(string value, OptionContext c) { + TypeConverter conv = TypeDescriptor.GetConverter(typeof(T)); + T t = default(T); + try { + if (value != null) + t = (T)conv.ConvertFromString(value); + } + catch (Exception e) { + throw new OptionException( + string.Format( + c.OptionSet.MessageLocalizer("Could not convert string `{0}' to type {1} for option `{2}'."), + value, typeof(T).Name, c.OptionName), + c.OptionName, e); + } + return t; + } + + internal string[] Names { get { return names; } } + internal string[] ValueSeparators { get { return separators; } } + + static readonly char[] NameTerminator = new char[] { '=', ':' }; + + private OptionValueType ParsePrototype() { + char type = '\0'; + List seps = new List(); + for (int i = 0; i < names.Length; ++i) { + string name = names[i]; + if (name.Length == 0) + throw new ArgumentException("Empty option names are not supported.", "prototype"); + + int end = name.IndexOfAny(NameTerminator); + if (end == -1) + continue; + names[i] = name.Substring(0, end); + if (type == '\0' || type == name[end]) + type = name[end]; + else + throw new ArgumentException( + string.Format("Conflicting option types: '{0}' vs. '{1}'.", type, name[end]), + "prototype"); + AddSeparators(name, end, seps); + } + + if (type == '\0') + return OptionValueType.None; + + if (count <= 1 && seps.Count != 0) + throw new ArgumentException( + string.Format("Cannot provide key/value separators for Options taking {0} value(s).", count), + "prototype"); + if (count > 1) { + if (seps.Count == 0) + this.separators = new string[] { ":", "=" }; + else if (seps.Count == 1 && seps[0].Length == 0) + this.separators = null; + else + this.separators = seps.ToArray(); + } + + return type == '=' ? OptionValueType.Required : OptionValueType.Optional; + } + + private static void AddSeparators(string name, int end, ICollection seps) { + int start = -1; + for (int i = end + 1; i < name.Length; ++i) { + switch (name[i]) { + case '{': + if (start != -1) + throw new ArgumentException( + string.Format("Ill-formed name/value separator found in \"{0}\".", name), + "prototype"); + start = i + 1; + break; + case '}': + if (start == -1) + throw new ArgumentException( + string.Format("Ill-formed name/value separator found in \"{0}\".", name), + "prototype"); + seps.Add(name.Substring(start, i - start)); + start = -1; + break; + default: + if (start == -1) + seps.Add(name[i].ToString()); + break; + } + } + if (start != -1) + throw new ArgumentException( + string.Format("Ill-formed name/value separator found in \"{0}\".", name), + "prototype"); + } + + public void Invoke(OptionContext c) { + OnParseComplete(c); + c.OptionName = null; + c.Option = null; + c.OptionValues.Clear(); + } + + protected abstract void OnParseComplete(OptionContext c); + + public override string ToString() { + return Prototype; + } + } + + [Serializable] + public class OptionException : Exception { + private string option; + + public OptionException() { + } + + public OptionException(string message, string optionName) + : base(message) { + this.option = optionName; + } + + public OptionException(string message, string optionName, Exception innerException) + : base(message, innerException) { + this.option = optionName; + } + + protected OptionException(SerializationInfo info, StreamingContext context) + : base(info, context) { + this.option = info.GetString("OptionName"); + } + + public string OptionName { + get { return this.option; } + } + + [SecurityPermission(SecurityAction.LinkDemand, SerializationFormatter = true)] + public override void GetObjectData(SerializationInfo info, StreamingContext context) { + base.GetObjectData(info, context); + info.AddValue("OptionName", option); + } + } + + public delegate void OptionAction(TKey key, TValue value); + + public class OptionSet : KeyedCollection { + public OptionSet() + : this(delegate(string f) { return f; }) { + } + + public OptionSet(Converter localizer) { + this.localizer = localizer; + } + + Converter localizer; + + public Converter MessageLocalizer { + get { return localizer; } + } + + protected override string GetKeyForItem(Option item) { + if (item == null) + throw new ArgumentNullException("option"); + if (item.Names != null && item.Names.Length > 0) + return item.Names[0]; + // This should never happen, as it's invalid for Option to be + // constructed w/o any names. + throw new InvalidOperationException("Option has no names!"); + } + + [Obsolete("Use KeyedCollection.this[string]")] + protected Option GetOptionForName(string option) { + if (option == null) + throw new ArgumentNullException("option"); + try { + return base[option]; + } + catch (KeyNotFoundException) { + return null; + } + } + + protected override void InsertItem(int index, Option item) { + base.InsertItem(index, item); + AddImpl(item); + } + + protected override void RemoveItem(int index) { + base.RemoveItem(index); + Option p = Items[index]; + // KeyedCollection.RemoveItem() handles the 0th item + for (int i = 1; i < p.Names.Length; ++i) { + Dictionary.Remove(p.Names[i]); + } + } + + protected override void SetItem(int index, Option item) { + base.SetItem(index, item); + RemoveItem(index); + AddImpl(item); + } + + private void AddImpl(Option option) { + if (option == null) + throw new ArgumentNullException("option"); + List added = new List(option.Names.Length); + try { + // KeyedCollection.InsertItem/SetItem handle the 0th name. + for (int i = 1; i < option.Names.Length; ++i) { + Dictionary.Add(option.Names[i], option); + added.Add(option.Names[i]); + } + } + catch (Exception) { + foreach (string name in added) + Dictionary.Remove(name); + throw; + } + } + + public new OptionSet Add(Option option) { + base.Add(option); + return this; + } + + sealed class ActionOption : Option { + Action action; + + public ActionOption(string prototype, string description, int count, Action action) + : base(prototype, description, count) { + if (action == null) + throw new ArgumentNullException("action"); + this.action = action; + } + + protected override void OnParseComplete(OptionContext c) { + action(c.OptionValues); + } + } + + public OptionSet Add(string prototype, Action action) { + return Add(prototype, null, action); + } + + public OptionSet Add(string prototype, string description, Action action) { + if (action == null) + throw new ArgumentNullException("action"); + Option p = new ActionOption(prototype, description, 1, + delegate(OptionValueCollection v) { action(v[0]); }); + base.Add(p); + return this; + } + + public OptionSet Add(string prototype, OptionAction action) { + return Add(prototype, null, action); + } + + public OptionSet Add(string prototype, string description, OptionAction action) { + if (action == null) + throw new ArgumentNullException("action"); + Option p = new ActionOption(prototype, description, 2, + delegate(OptionValueCollection v) { action(v[0], v[1]); }); + base.Add(p); + return this; + } + + sealed class ActionOption : Option { + Action action; + + public ActionOption(string prototype, string description, Action action) + : base(prototype, description, 1) { + if (action == null) + throw new ArgumentNullException("action"); + this.action = action; + } + + protected override void OnParseComplete(OptionContext c) { + action(Parse(c.OptionValues[0], c)); + } + } + + sealed class ActionOption : Option { + OptionAction action; + + public ActionOption(string prototype, string description, OptionAction action) + : base(prototype, description, 2) { + if (action == null) + throw new ArgumentNullException("action"); + this.action = action; + } + + protected override void OnParseComplete(OptionContext c) { + action( + Parse(c.OptionValues[0], c), + Parse(c.OptionValues[1], c)); + } + } + + public OptionSet Add(string prototype, Action action) { + return Add(prototype, null, action); + } + + public OptionSet Add(string prototype, string description, Action action) { + return Add(new ActionOption(prototype, description, action)); + } + + public OptionSet Add(string prototype, OptionAction action) { + return Add(prototype, null, action); + } + + public OptionSet Add(string prototype, string description, OptionAction action) { + return Add(new ActionOption(prototype, description, action)); + } + + protected virtual OptionContext CreateOptionContext() { + return new OptionContext(this); + } + +#if LINQ + public List Parse (IEnumerable arguments) + { + bool process = true; + OptionContext c = CreateOptionContext (); + c.OptionIndex = -1; + var def = GetOptionForName ("<>"); + var unprocessed = + from argument in arguments + where ++c.OptionIndex >= 0 && (process || def != null) + ? process + ? argument == "--" + ? (process = false) + : !Parse (argument, c) + ? def != null + ? Unprocessed (null, def, c, argument) + : true + : false + : def != null + ? Unprocessed (null, def, c, argument) + : true + : true + select argument; + List r = unprocessed.ToList (); + if (c.Option != null) + c.Option.Invoke (c); + return r; + } +#else + public List Parse(IEnumerable arguments) { + OptionContext c = CreateOptionContext(); + c.OptionIndex = -1; + bool process = true; + List unprocessed = new List(); + Option def = Contains("<>") ? this["<>"] : null; + foreach (string argument in arguments) { + ++c.OptionIndex; + if (argument == "--") { + process = false; + continue; + } + if (!process) { + Unprocessed(unprocessed, def, c, argument); + continue; + } + if (!Parse(argument, c)) + Unprocessed(unprocessed, def, c, argument); + } + if (c.Option != null) + c.Option.Invoke(c); + return unprocessed; + } +#endif + + private static bool Unprocessed(ICollection extra, Option def, OptionContext c, string argument) { + if (def == null) { + extra.Add(argument); + return false; + } + c.OptionValues.Add(argument); + c.Option = def; + c.Option.Invoke(c); + return false; + } + + private readonly Regex ValueOption = new Regex( + @"^(?--|-|/)(?[^:=]+)((?[:=])(?.*))?$"); + + protected bool GetOptionParts(string argument, out string flag, out string name, out string sep, out string value) { + if (argument == null) + throw new ArgumentNullException("argument"); + + flag = name = sep = value = null; + Match m = ValueOption.Match(argument); + if (!m.Success) { + return false; + } + flag = m.Groups["flag"].Value; + name = m.Groups["name"].Value; + if (m.Groups["sep"].Success && m.Groups["value"].Success) { + sep = m.Groups["sep"].Value; + value = m.Groups["value"].Value; + } + return true; + } + + protected virtual bool Parse(string argument, OptionContext c) { + if (c.Option != null) { + ParseValue(argument, c); + return true; + } + + string f, n, s, v; + if (!GetOptionParts(argument, out f, out n, out s, out v)) + return false; + + Option p; + if (Contains(n)) { + p = this[n]; + c.OptionName = f + n; + c.Option = p; + switch (p.OptionValueType) { + case OptionValueType.None: + c.OptionValues.Add(n); + c.Option.Invoke(c); + break; + case OptionValueType.Optional: + case OptionValueType.Required: + ParseValue(v, c); + break; + } + return true; + } + // no match; is it a bool option? + if (ParseBool(argument, n, c)) + return true; + // is it a bundled option? + if (ParseBundledValue(f, string.Concat(n + s + v), c)) + return true; + + return false; + } + + private void ParseValue(string option, OptionContext c) { + if (option != null) + foreach (string o in c.Option.ValueSeparators != null + ? option.Split(c.Option.ValueSeparators, StringSplitOptions.None) + : new string[] { option }) { + c.OptionValues.Add(o); + } + if (c.OptionValues.Count == c.Option.MaxValueCount || + c.Option.OptionValueType == OptionValueType.Optional) + c.Option.Invoke(c); + else if (c.OptionValues.Count > c.Option.MaxValueCount) { + throw new OptionException(localizer(string.Format( + "Error: Found {0} option values when expecting {1}.", + c.OptionValues.Count, c.Option.MaxValueCount)), + c.OptionName); + } + } + + private bool ParseBool(string option, string n, OptionContext c) { + Option p; + string rn; + if (n.Length >= 1 && (n[n.Length - 1] == '+' || n[n.Length - 1] == '-') && + Contains((rn = n.Substring(0, n.Length - 1)))) { + p = this[rn]; + string v = n[n.Length - 1] == '+' ? option : null; + c.OptionName = option; + c.Option = p; + c.OptionValues.Add(v); + p.Invoke(c); + return true; + } + return false; + } + + private bool ParseBundledValue(string f, string n, OptionContext c) { + if (f != "-") + return false; + for (int i = 0; i < n.Length; ++i) { + Option p; + string opt = f + n[i].ToString(); + string rn = n[i].ToString(); + if (!Contains(rn)) { + if (i == 0) + return false; + throw new OptionException(string.Format(localizer( + "Cannot bundle unregistered option '{0}'."), opt), opt); + } + p = this[rn]; + switch (p.OptionValueType) { + case OptionValueType.None: + Invoke(c, opt, n, p); + break; + case OptionValueType.Optional: + case OptionValueType.Required: { + string v = n.Substring(i + 1); + c.Option = p; + c.OptionName = opt; + ParseValue(v.Length != 0 ? v : null, c); + return true; + } + default: + throw new InvalidOperationException("Unknown OptionValueType: " + p.OptionValueType); + } + } + return true; + } + + private static void Invoke(OptionContext c, string name, string value, Option option) { + c.OptionName = name; + c.Option = option; + c.OptionValues.Add(value); + option.Invoke(c); + } + + private const int OptionWidth = 29; + + public void WriteOptionDescriptions(TextWriter o) { + foreach (Option p in this) { + int written = 0; + if (!WriteOptionPrototype(o, p, ref written)) + continue; + + if (written < OptionWidth) + o.Write(new string(' ', OptionWidth - written)); + else { + o.WriteLine(); + o.Write(new string(' ', OptionWidth)); + } + + List lines = GetLines(localizer(GetDescription(p.Description))); + o.WriteLine(lines[0]); + string prefix = new string(' ', OptionWidth + 2); + for (int i = 1; i < lines.Count; ++i) { + o.Write(prefix); + o.WriteLine(lines[i]); + } + } + } + + bool WriteOptionPrototype(TextWriter o, Option p, ref int written) { + string[] names = p.Names; + + int i = GetNextOptionIndex(names, 0); + if (i == names.Length) + return false; + + if (names[i].Length == 1) { + Write(o, ref written, " -"); + Write(o, ref written, names[0]); + } + else { + Write(o, ref written, " --"); + Write(o, ref written, names[0]); + } + + for (i = GetNextOptionIndex(names, i + 1); + i < names.Length; i = GetNextOptionIndex(names, i + 1)) { + Write(o, ref written, ", "); + Write(o, ref written, names[i].Length == 1 ? "-" : "--"); + Write(o, ref written, names[i]); + } + + if (p.OptionValueType == OptionValueType.Optional || + p.OptionValueType == OptionValueType.Required) { + if (p.OptionValueType == OptionValueType.Optional) { + Write(o, ref written, localizer("[")); + } + Write(o, ref written, localizer("=" + GetArgumentName(0, p.MaxValueCount, p.Description))); + string sep = p.ValueSeparators != null && p.ValueSeparators.Length > 0 + ? p.ValueSeparators[0] + : " "; + for (int c = 1; c < p.MaxValueCount; ++c) { + Write(o, ref written, localizer(sep + GetArgumentName(c, p.MaxValueCount, p.Description))); + } + if (p.OptionValueType == OptionValueType.Optional) { + Write(o, ref written, localizer("]")); + } + } + return true; + } + + static int GetNextOptionIndex(string[] names, int i) { + while (i < names.Length && names[i] == "<>") { + ++i; + } + return i; + } + + static void Write(TextWriter o, ref int n, string s) { + n += s.Length; + o.Write(s); + } + + private static string GetArgumentName(int index, int maxIndex, string description) { + if (description == null) + return maxIndex == 1 ? "VALUE" : "VALUE" + (index + 1); + string[] nameStart; + if (maxIndex == 1) + nameStart = new string[] { "{0:", "{" }; + else + nameStart = new string[] { "{" + index + ":" }; + for (int i = 0; i < nameStart.Length; ++i) { + int start, j = 0; + do { + start = description.IndexOf(nameStart[i], j); + } while (start >= 0 && j != 0 ? description[j++ - 1] == '{' : false); + if (start == -1) + continue; + int end = description.IndexOf("}", start); + if (end == -1) + continue; + return description.Substring(start + nameStart[i].Length, end - start - nameStart[i].Length); + } + return maxIndex == 1 ? "VALUE" : "VALUE" + (index + 1); + } + + private static string GetDescription(string description) { + if (description == null) + return string.Empty; + StringBuilder sb = new StringBuilder(description.Length); + int start = -1; + for (int i = 0; i < description.Length; ++i) { + switch (description[i]) { + case '{': + if (i == start) { + sb.Append('{'); + start = -1; + } + else if (start < 0) + start = i + 1; + break; + case '}': + if (start < 0) { + if ((i + 1) == description.Length || description[i + 1] != '}') + throw new InvalidOperationException("Invalid option description: " + description); + ++i; + sb.Append("}"); + } + else { + sb.Append(description.Substring(start, i - start)); + start = -1; + } + break; + case ':': + if (start < 0) + goto default; + start = i + 1; + break; + default: + if (start < 0) + sb.Append(description[i]); + break; + } + } + return sb.ToString(); + } + + private static List GetLines(string description) { + List lines = new List(); + if (string.IsNullOrEmpty(description)) { + lines.Add(string.Empty); + return lines; + } + int length = 80 - OptionWidth - 2; + int start = 0, end; + do { + end = GetLineEnd(start, length, description); + bool cont = false; + if (end < description.Length) { + char c = description[end]; + if (c == '-' || (char.IsWhiteSpace(c) && c != '\n')) + ++end; + else if (c != '\n') { + cont = true; + --end; + } + } + lines.Add(description.Substring(start, end - start)); + if (cont) { + lines[lines.Count - 1] += "-"; + } + start = end; + if (start < description.Length && description[start] == '\n') + ++start; + } while (end < description.Length); + return lines; + } + + private static int GetLineEnd(int start, int length, string description) { + int end = Math.Min(start + length, description.Length); + int sep = -1; + for (int i = start; i < end; ++i) { + switch (description[i]) { + case ' ': + case '\t': + case '\v': + case '-': + case ',': + case '.': + case ';': + sep = i; + break; + case '\n': + return i; + } + } + if (sep == -1 || end == description.Length) + return end; + return sep; + } + } +} + diff --git a/OnTopReplica/Native/CommonControls.cs b/OnTopReplica/Native/CommonControls.cs new file mode 100644 index 0000000..bf2123c --- /dev/null +++ b/OnTopReplica/Native/CommonControls.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + public static class CommonControls { + + [DllImport("comctl32.dll", EntryPoint = "InitCommonControlsEx", CallingConvention = CallingConvention.StdCall)] + static extern bool InitCommonControlsEx(ref INITCOMMONCONTROLSEX iccex); + + const int ICC_STANDARD_CLASSES = 0x00004000; + const int ICC_WIN95_CLASSES = 0x000000FF; + + public static bool InitStandard() { + INITCOMMONCONTROLSEX ex = new INITCOMMONCONTROLSEX(); + ex.dwSize = 8; + ex.dwICC = ICC_STANDARD_CLASSES | ICC_WIN95_CLASSES; + + return InitCommonControlsEx(ref ex); + } + + } + + struct INITCOMMONCONTROLSEX { + public int dwSize; + public int dwICC; + } + +} diff --git a/OnTopReplica/Native/ErrorMethods.cs b/OnTopReplica/Native/ErrorMethods.cs new file mode 100644 index 0000000..f1863eb --- /dev/null +++ b/OnTopReplica/Native/ErrorMethods.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 error handling methods. + /// + static class ErrorMethods { + + [DllImport("kernel32.dll")] + static extern uint FormatMessage(uint dwFlags, IntPtr lpSource, + int dwMessageId, uint dwLanguageId, [Out] StringBuilder lpBuffer, + uint nSize, IntPtr Arguments); + + /// + /// Gets a string representation of a Win32 error code. + /// + /// ID of the Win32 error code. + /// String representation of the error. + public static string GetErrorMessage(int msgCode) { + var sb = new StringBuilder(300); + FormatMessage((uint)(0x00001000), IntPtr.Zero, msgCode, 0, sb, 299, IntPtr.Zero); + return sb.ToString(); + } + + /// + /// Gets a string representation of the last Win32 error on this thread. + /// + public static string GetLastErrorMessage() { + int errorCode = Marshal.GetLastWin32Error(); + return GetErrorMessage(errorCode); + } + + } +} diff --git a/OnTopReplica/Native/FilesystemMethods.cs b/OnTopReplica/Native/FilesystemMethods.cs new file mode 100644 index 0000000..d48d741 --- /dev/null +++ b/OnTopReplica/Native/FilesystemMethods.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.IO; + +namespace OnTopReplica.Native { + + /// + /// Native methods for filesystem interop. + /// + static class FilesystemMethods { + + /// + /// Gets the path to the current user's download path. + /// + /// + /// Code taken from http://stackoverflow.com/questions/3795023/downloads-folder-not-special-enough + /// + public static string DownloadsPath { + get { + string path = null; + + //Requires Vista or superior + if (Environment.OSVersion.Version.Major >= 6) { + IntPtr pathPtr; + Guid folderId = FolderDownloads; + int hr = SHGetKnownFolderPath(ref folderId, 0, IntPtr.Zero, out pathPtr); + if (hr == 0) { + path = Marshal.PtrToStringUni(pathPtr); + Marshal.FreeCoTaskMem(pathPtr); + return path; + } + } + + //Fallback code + path = Path.GetDirectoryName(Environment.GetFolderPath(Environment.SpecialFolder.Personal)); + path = Path.Combine(path, "Downloads"); + return path; + } + } + + + static readonly Guid FolderDownloads = new Guid("374DE290-123F-4565-9164-39C4925E467B"); + + [DllImport("shell32.dll", CharSet = CharSet.Auto)] + private static extern int SHGetKnownFolderPath(ref Guid id, int flags, IntPtr token, out IntPtr path); + + } + +} diff --git a/OnTopReplica/Native/HT.cs b/OnTopReplica/Native/HT.cs new file mode 100644 index 0000000..231e928 --- /dev/null +++ b/OnTopReplica/Native/HT.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Win32 Hit Testing codes. + /// + static class HT { + public const int TRANSPARENT = -1; + public const int CLIENT = 1; + public const int CAPTION = 2; + } +} diff --git a/OnTopReplica/Native/HookMethods.cs b/OnTopReplica/Native/HookMethods.cs new file mode 100644 index 0000000..ea24f29 --- /dev/null +++ b/OnTopReplica/Native/HookMethods.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using System.Text; + +namespace OnTopReplica.Native { + + /// + /// Helpers for interop with native Windows hooks. + /// + static class HookMethods { + + static HookMethods() { + WM_SHELLHOOKMESSAGE = RegisterWindowMessage("SHELLHOOK"); + if (WM_SHELLHOOKMESSAGE == 0) + Console.Error.WriteLine("Failed to register SHELLHOOK Windows message."); + } + + public static int WM_SHELLHOOKMESSAGE { + get; + private set; + } + + public const int HSHELL_WINDOWACTIVATED = 4; + public const int HSHELL_RUDEAPPACTIVATED = HSHELL_WINDOWACTIVATED | HSHELL_HIGHBIT; + const int HSHELL_HIGHBIT = 0x8000; + public const int HSHELL_WINDOWDESTROYED = 2; + public const int HSHELL_WINDOWCREATED = 1; + + /// + /// Registers the WM_ID for a window message. + /// + /// Name of the window message. + [DllImport("User32.dll")] + public static extern int RegisterWindowMessage(string wndMessageName); + + /// + /// Registers a window as a shell hook window. + /// + [DllImport("User32.dll")] + public static extern bool RegisterShellHookWindow(IntPtr hwnd); + + /// + /// Deregisters a window as a shell hook window. + /// + [DllImport("User32.dll")] + public static extern bool DeregisterShellHookWindow(IntPtr hwnd); + + } +} diff --git a/OnTopReplica/Native/HotKeyMethods.cs b/OnTopReplica/Native/HotKeyMethods.cs new file mode 100644 index 0000000..d40fee4 --- /dev/null +++ b/OnTopReplica/Native/HotKeyMethods.cs @@ -0,0 +1,78 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Windows.Forms; + +namespace OnTopReplica.Native { + + [Flags] + public enum HotKeyModifiers : int { + Alt = 0x1, + Control = 0x2, + Shift = 0x4, + Windows = 0x8 + } + + /// + /// Static native methods for HotKey management. + /// + static class HotKeyMethods { + + public const int WM_HOTKEY = 0x312; + + [DllImport("user32.dll")] + public static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vlc); + + [DllImport("user32.dll")] + public static extern bool UnregisterHotKey(IntPtr hWnd, int id); + + /// + /// Translates a key combination specification into key code values. + /// + /// Key combination specification (see remarks). + /// Modifier values. + /// Key values. + /// + /// Specification can contain one single key value (from the enumeration System.Windows.Forms.Keys) + /// preceded by modifier strings (each one separated by a single '+'). + /// For instance: + /// [CTRL]+[ALT]+A + /// or + /// [ALT]+[SHIFT]+O + /// + public static void TranslateStringToKeyValues(string hotkeySpec, out int modifiers, out int keys) { + if (string.IsNullOrEmpty(hotkeySpec)) + throw new ArgumentNullException(); + + modifiers = 0; + keys = 0; + + if (ExtractModifier(ref hotkeySpec, "[CTRL]+")) + modifiers |= (int)HotKeyModifiers.Control; + if (ExtractModifier(ref hotkeySpec, "[ALT]+")) + modifiers |= (int)HotKeyModifiers.Alt; + if (ExtractModifier(ref hotkeySpec, "[SHIFT]+")) + modifiers |= (int)HotKeyModifiers.Shift; + + //Attempt to translate last part (should be single key) + try { + var keyValue = Enum.Parse(typeof(Keys), hotkeySpec, true); + keys = (int)keyValue; + } + catch (ArgumentException) { + throw new ArgumentException("Couldn't parse key value '" + hotkeySpec + "'."); + } + } + + private static bool ExtractModifier(ref string spec, string modifier) { + int modIndex = spec.IndexOf(modifier); + if (modIndex == -1) + return false; + + spec = spec.Remove(modIndex, modifier.Length); + return true; + } + + } +} diff --git a/OnTopReplica/Native/ITaskBarList.cs b/OnTopReplica/Native/ITaskBarList.cs new file mode 100644 index 0000000..e4a53bb --- /dev/null +++ b/OnTopReplica/Native/ITaskBarList.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + [ComImport, + Guid("56fdf342-fd6d-11d0-958a-006097c9a090"), + InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] + public interface ITaskbarList { + /// + /// Initializes the taskbar list object. This method must be called before any other ITaskbarList methods can be called. + /// + void HrInit(); + + /// + /// Adds an item to the taskbar. + /// + /// A handle to the window to be added to the taskbar. + void AddTab([In] IntPtr hWnd); + + /// + /// Deletes an item from the taskbar. + /// + /// A handle to the window to be deleted from the taskbar. + void DeleteTab([In] IntPtr hWnd); + + /// + /// Activates an item on the taskbar. The window is not actually activated; the window's item on the taskbar is merely displayed as active. + /// + /// A handle to the window on the taskbar to be displayed as active. + void ActivateTab([In] IntPtr hWnd); + + /// + /// Marks a taskbar item as active but does not visually activate it. + /// + /// A handle to the window to be marked as active. + void SetActiveAlt([In] IntPtr hWnd); + } + + [ComImport] + [Guid("56fdf344-fd6d-11d0-958a-006097c9a090")] + public class CoTaskbarList { + } +} diff --git a/OnTopReplica/Native/InputMethods.cs b/OnTopReplica/Native/InputMethods.cs new file mode 100644 index 0000000..fe8233e --- /dev/null +++ b/OnTopReplica/Native/InputMethods.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + static class InputMethods { + + [DllImport("user32.dll")] + static extern short GetKeyState(VirtualKeyState nVirtKey); + + const int KeyToggled = 0x1; + + const int KeyPressed = 0x8000; + + public static bool IsKeyPressed(VirtualKeyState virtKey) { + return (GetKeyState(virtKey) & KeyPressed) != 0; + } + + public static bool IsKeyToggled(VirtualKeyState virtKey) { + return (GetKeyState(virtKey) & KeyToggled) != 0; + } + + } +} diff --git a/OnTopReplica/Native/MK.cs b/OnTopReplica/Native/MK.cs new file mode 100644 index 0000000..90c7e90 --- /dev/null +++ b/OnTopReplica/Native/MK.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Mouse click codes. + /// + static class MK { + public const int LBUTTON = 0x0001; + public const int RBUTTON = 0x0002; + public const int MBUTTON = 0x0010; + } +} diff --git a/OnTopReplica/Native/MessagingMethods.cs b/OnTopReplica/Native/MessagingMethods.cs new file mode 100644 index 0000000..cabe03e --- /dev/null +++ b/OnTopReplica/Native/MessagingMethods.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common methods for Win32 messaging. + /// + static class MessagingMethods { + + [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)] + public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + [Flags] + public enum SendMessageTimeoutFlags : uint { + AbortIfHung = 2, + Block = 1, + Normal = 0 + } + + [DllImport("user32.dll")] + public static extern IntPtr SendMessageTimeout(IntPtr hwnd, uint message, IntPtr wparam, IntPtr lparam, SendMessageTimeoutFlags flags, uint timeout, out IntPtr result); + + [return: MarshalAs(UnmanagedType.Bool)] + [DllImport("user32.dll", SetLastError = false)] + public static extern bool PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + public static IntPtr MakeLParam(int LoWord, int HiWord) { + return new IntPtr((HiWord << 16) | (LoWord & 0xffff)); + } + + } +} diff --git a/OnTopReplica/Native/Point.cs b/OnTopReplica/Native/Point.cs new file mode 100644 index 0000000..c34db85 --- /dev/null +++ b/OnTopReplica/Native/Point.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Native Point structure. + /// + [StructLayout(LayoutKind.Sequential)] + public struct NPoint { + public int X, Y; + + public NPoint(int x, int y) { + X = x; + Y = y; + } + + public NPoint(NPoint copy) { + X = copy.X; + Y = copy.Y; + } + + public static NPoint FromPoint(System.Drawing.Point point) { + return new NPoint(point.X, point.Y); + } + + public System.Drawing.Point ToPoint() { + return new System.Drawing.Point(X, Y); + } + + public override string ToString() { + return "{" + X + "," + Y + "}"; + } + } +} diff --git a/OnTopReplica/Native/Rectangle.cs b/OnTopReplica/Native/Rectangle.cs new file mode 100644 index 0000000..cb138c8 --- /dev/null +++ b/OnTopReplica/Native/Rectangle.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// A native Rectangle Structure. + [StructLayout(LayoutKind.Sequential)] + struct NRectangle { + public NRectangle(int left, int top, int right, int bottom) { + Left = left; + Top = top; + Right = right; + Bottom = bottom; + } + + public NRectangle(System.Drawing.Rectangle rect) { + Left = rect.X; + Top = rect.Y; + Right = rect.Right; + Bottom = rect.Bottom; + } + + public int Left; + public int Top; + public int Right; + public int Bottom; + + public int Width { + get { + return Right - Left; + } + } + public int Height { + get { + return Bottom - Top; + } + } + + public System.Drawing.Rectangle ToRectangle() { + return new System.Drawing.Rectangle(Left, Top, Right - Left, Bottom - Top); + } + + public System.Drawing.Size Size { + get { + return new System.Drawing.Size(Width, Height); + } + } + + public override string ToString() { + return string.Format("{{{0},{1},{2},{3}}}", Left, Top, Right, Bottom); + } + + } +} diff --git a/OnTopReplica/Native/VirtualKeyState.cs b/OnTopReplica/Native/VirtualKeyState.cs new file mode 100644 index 0000000..91e94a0 --- /dev/null +++ b/OnTopReplica/Native/VirtualKeyState.cs @@ -0,0 +1,193 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + enum VirtualKeyState : int { + VK_LBUTTON = 0x01, + VK_RBUTTON = 0x02, + VK_CANCEL = 0x03, + VK_MBUTTON = 0x04, + // + VK_XBUTTON1 = 0x05, + VK_XBUTTON2 = 0x06, + // + VK_BACK = 0x08, + VK_TAB = 0x09, + // + VK_CLEAR = 0x0C, + VK_RETURN = 0x0D, + // + VK_SHIFT = 0x10, + VK_CONTROL = 0x11, + VK_MENU = 0x12, + VK_PAUSE = 0x13, + VK_CAPITAL = 0x14, + // + VK_KANA = 0x15, + VK_HANGEUL = 0x15, /* old name - should be here for compatibility */ + VK_HANGUL = 0x15, + VK_JUNJA = 0x17, + VK_FINAL = 0x18, + VK_HANJA = 0x19, + VK_KANJI = 0x19, + // + VK_ESCAPE = 0x1B, + // + VK_CONVERT = 0x1C, + VK_NONCONVERT = 0x1D, + VK_ACCEPT = 0x1E, + VK_MODECHANGE = 0x1F, + // + VK_SPACE = 0x20, + VK_PRIOR = 0x21, + VK_NEXT = 0x22, + VK_END = 0x23, + VK_HOME = 0x24, + VK_LEFT = 0x25, + VK_UP = 0x26, + VK_RIGHT = 0x27, + VK_DOWN = 0x28, + VK_SELECT = 0x29, + VK_PRINT = 0x2A, + VK_EXECUTE = 0x2B, + VK_SNAPSHOT = 0x2C, + VK_INSERT = 0x2D, + VK_DELETE = 0x2E, + VK_HELP = 0x2F, + // + VK_LWIN = 0x5B, + VK_RWIN = 0x5C, + VK_APPS = 0x5D, + // + VK_SLEEP = 0x5F, + // + VK_NUMPAD0 = 0x60, + VK_NUMPAD1 = 0x61, + VK_NUMPAD2 = 0x62, + VK_NUMPAD3 = 0x63, + VK_NUMPAD4 = 0x64, + VK_NUMPAD5 = 0x65, + VK_NUMPAD6 = 0x66, + VK_NUMPAD7 = 0x67, + VK_NUMPAD8 = 0x68, + VK_NUMPAD9 = 0x69, + VK_MULTIPLY = 0x6A, + VK_ADD = 0x6B, + VK_SEPARATOR = 0x6C, + VK_SUBTRACT = 0x6D, + VK_DECIMAL = 0x6E, + VK_DIVIDE = 0x6F, + VK_F1 = 0x70, + VK_F2 = 0x71, + VK_F3 = 0x72, + VK_F4 = 0x73, + VK_F5 = 0x74, + VK_F6 = 0x75, + VK_F7 = 0x76, + VK_F8 = 0x77, + VK_F9 = 0x78, + VK_F10 = 0x79, + VK_F11 = 0x7A, + VK_F12 = 0x7B, + VK_F13 = 0x7C, + VK_F14 = 0x7D, + VK_F15 = 0x7E, + VK_F16 = 0x7F, + VK_F17 = 0x80, + VK_F18 = 0x81, + VK_F19 = 0x82, + VK_F20 = 0x83, + VK_F21 = 0x84, + VK_F22 = 0x85, + VK_F23 = 0x86, + VK_F24 = 0x87, + // + VK_NUMLOCK = 0x90, + VK_SCROLL = 0x91, + // + VK_OEM_NEC_EQUAL = 0x92, // '=' key on numpad + // + VK_OEM_FJ_JISHO = 0x92, // 'Dictionary' key + VK_OEM_FJ_MASSHOU = 0x93, // 'Unregister word' key + VK_OEM_FJ_TOUROKU = 0x94, // 'Register word' key + VK_OEM_FJ_LOYA = 0x95, // 'Left OYAYUBI' key + VK_OEM_FJ_ROYA = 0x96, // 'Right OYAYUBI' key + // + VK_LSHIFT = 0xA0, + VK_RSHIFT = 0xA1, + VK_LCONTROL = 0xA2, + VK_RCONTROL = 0xA3, + VK_LMENU = 0xA4, + VK_RMENU = 0xA5, + // + VK_BROWSER_BACK = 0xA6, + VK_BROWSER_FORWARD = 0xA7, + VK_BROWSER_REFRESH = 0xA8, + VK_BROWSER_STOP = 0xA9, + VK_BROWSER_SEARCH = 0xAA, + VK_BROWSER_FAVORITES = 0xAB, + VK_BROWSER_HOME = 0xAC, + // + VK_VOLUME_MUTE = 0xAD, + VK_VOLUME_DOWN = 0xAE, + VK_VOLUME_UP = 0xAF, + VK_MEDIA_NEXT_TRACK = 0xB0, + VK_MEDIA_PREV_TRACK = 0xB1, + VK_MEDIA_STOP = 0xB2, + VK_MEDIA_PLAY_PAUSE = 0xB3, + VK_LAUNCH_MAIL = 0xB4, + VK_LAUNCH_MEDIA_SELECT = 0xB5, + VK_LAUNCH_APP1 = 0xB6, + VK_LAUNCH_APP2 = 0xB7, + // + VK_OEM_1 = 0xBA, // ';:' for US + VK_OEM_PLUS = 0xBB, // '+' any country + VK_OEM_COMMA = 0xBC, // ',' any country + VK_OEM_MINUS = 0xBD, // '-' any country + VK_OEM_PERIOD = 0xBE, // '.' any country + VK_OEM_2 = 0xBF, // '/?' for US + VK_OEM_3 = 0xC0, // '`~' for US + // + VK_OEM_4 = 0xDB, // '[{' for US + VK_OEM_5 = 0xDC, // '\|' for US + VK_OEM_6 = 0xDD, // ']}' for US + VK_OEM_7 = 0xDE, // ''"' for US + VK_OEM_8 = 0xDF, + // + VK_OEM_AX = 0xE1, // 'AX' key on Japanese AX kbd + VK_OEM_102 = 0xE2, // "<>" or "\|" on RT 102-key kbd. + VK_ICO_HELP = 0xE3, // Help key on ICO + VK_ICO_00 = 0xE4, // 00 key on ICO + // + VK_PROCESSKEY = 0xE5, + // + VK_ICO_CLEAR = 0xE6, + // + VK_PACKET = 0xE7, + // + VK_OEM_RESET = 0xE9, + VK_OEM_JUMP = 0xEA, + VK_OEM_PA1 = 0xEB, + VK_OEM_PA2 = 0xEC, + VK_OEM_PA3 = 0xED, + VK_OEM_WSCTRL = 0xEE, + VK_OEM_CUSEL = 0xEF, + VK_OEM_ATTN = 0xF0, + VK_OEM_FINISH = 0xF1, + VK_OEM_COPY = 0xF2, + VK_OEM_AUTO = 0xF3, + VK_OEM_ENLW = 0xF4, + VK_OEM_BACKTAB = 0xF5, + // + VK_ATTN = 0xF6, + VK_CRSEL = 0xF7, + VK_EXSEL = 0xF8, + VK_EREOF = 0xF9, + VK_PLAY = 0xFA, + VK_ZOOM = 0xFB, + VK_NONAME = 0xFC, + VK_PA1 = 0xFD, + VK_OEM_CLEAR = 0xFE + } +} diff --git a/OnTopReplica/Native/WM.cs b/OnTopReplica/Native/WM.cs new file mode 100644 index 0000000..eddcd01 --- /dev/null +++ b/OnTopReplica/Native/WM.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Windows Message codes. + /// + static class WM { + public const int GETICON = 0x7f; + public const int SIZING = 0x214; + public const int NCHITTEST = 0x84; + public const int NCPAINT = 0x0085; + public const int LBUTTONDOWN = 0x0201; + public const int LBUTTONUP = 0x0202; + public const int LBUTTONDBLCLK = 0x0203; + public const int RBUTTONDOWN = 0x0204; + public const int RBUTTONUP = 0x0205; + public const int RBUTTONDBLCLK = 0x0206; + public const int NCLBUTTONUP = 0x00A2; + public const int NCLBUTTONDOWN = 0x00A1; + public const int NCLBUTTONDBLCLK = 0x00A3; + public const int NCRBUTTONUP = 0x00A5; + public const int SYSCOMMAND = 0x0112; + public const int GETTEXT = 0x000D; + public const int GETTEXTLENGTH = 0x000E; + } +} diff --git a/OnTopReplica/Native/WMSZ.cs b/OnTopReplica/Native/WMSZ.cs new file mode 100644 index 0000000..2052280 --- /dev/null +++ b/OnTopReplica/Native/WMSZ.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Win32 sizing codes (used by WM_SIZING message). + /// + static class WMSZ { + public const int LEFT = 1; + public const int RIGHT = 2; + public const int TOP = 3; + public const int BOTTOM = 6; + } +} diff --git a/OnTopReplica/Native/WindowManagerMethods.cs b/OnTopReplica/Native/WindowManagerMethods.cs new file mode 100644 index 0000000..fdf4cb2 --- /dev/null +++ b/OnTopReplica/Native/WindowManagerMethods.cs @@ -0,0 +1,103 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 Window Manager native methods. + /// + static class WindowManagerMethods { + + [DllImport("user32.dll")] + public static extern IntPtr GetForegroundWindow(); + + [DllImport("user32.dll")] + public static extern IntPtr RealChildWindowFromPoint(IntPtr parent, NPoint point); + + [return: MarshalAs(UnmanagedType.Bool)] + public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool EnumChildWindows(IntPtr hWnd, EnumWindowsProc lpEnumFunc, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool IsWindowVisible(IntPtr hWnd); + + [DllImport("user32.dll")] + public static extern IntPtr GetDesktopWindow(); + + [DllImport("user32.dll")] + static extern bool ClientToScreen(IntPtr hwnd, ref NPoint point); + + /// + /// Converts a point in client coordinates of a window to screen coordinates. + /// + /// Handle to the window of the original point. + /// Point expressed in client coordinates. + /// Point expressed in screen coordinates. + public static NPoint ClientToScreen(IntPtr hwnd, NPoint clientPoint) { + NPoint localCopy = new NPoint(clientPoint); + + if (ClientToScreen(hwnd, ref localCopy)) + return localCopy; + else + return new NPoint(); + } + + [DllImport("user32.dll")] + static extern bool ScreenToClient(IntPtr hwnd, ref NPoint point); + + /// + /// Converts a point in screen coordinates in client coordinates relative to a window. + /// + /// Handle of the window whose client coordinate system should be used. + /// Point expressed in screen coordinates. + /// Point expressed in client coordinates. + public static NPoint ScreenToClient(IntPtr hwnd, NPoint screenPoint) { + NPoint localCopy = new NPoint(screenPoint); + + if (ScreenToClient(hwnd, ref localCopy)) + return localCopy; + else + return new NPoint(); + } + + [DllImport("user32.dll", CharSet = CharSet.Auto)] + public static extern IntPtr GetParent(IntPtr hWnd); + + [DllImport("user32.dll", SetLastError = false)] + public static extern bool SetForegroundWindow(IntPtr hwnd); + + public enum GetWindowMode : uint { + GW_HWNDFIRST = 0, + GW_HWNDLAST = 1, + GW_HWNDNEXT = 2, + GW_HWNDPREV = 3, + GW_OWNER = 4, + GW_CHILD = 5, + GW_ENABLEDPOPUP = 6 + } + + [DllImport("user32.dll")] + public static extern IntPtr GetWindow(IntPtr hwnd, GetWindowMode mode); + + /// + /// Checks whether a window is a top-level window (has no owner nor parent window). + /// + /// Handle to the window to check. + public static bool IsTopLevel(IntPtr hwnd) { + bool hasParent = WindowManagerMethods.GetParent(hwnd).ToInt64() != 0; + bool hasOwner = WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER).ToInt64() != 0; + + return (!hasParent && !hasOwner); + } + + } +} diff --git a/OnTopReplica/Native/WindowMethods.cs b/OnTopReplica/Native/WindowMethods.cs new file mode 100644 index 0000000..06caede --- /dev/null +++ b/OnTopReplica/Native/WindowMethods.cs @@ -0,0 +1,141 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 methods for operating on windows. + /// + static class WindowMethods { + + [DllImport("user32.dll", SetLastError = true)] + public static extern bool GetClientRect(IntPtr handle, out NRectangle rect); + + [DllImport("user32.dll", SetLastError = true)] + public static extern bool GetWindowRect(IntPtr handle, out NRectangle rect); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern int GetWindowTextLength(IntPtr hWnd); + + /// + /// Gets a window's text via API call. + /// + /// Window handle. + /// Title of the window. + public static string GetWindowText(IntPtr hwnd) { + int length = GetWindowTextLength(hwnd); + + if (length > 0) { + StringBuilder sb = new StringBuilder(length + 1); + if (WindowMethods.GetWindowText(hwnd, sb, sb.Capacity) > 0) + return sb.ToString(); + else + return String.Empty; + } + else + return String.Empty; + } + + const int MaxClassLength = 255; + + public static string GetWindowClass(IntPtr hwnd) { + var sb = new StringBuilder(MaxClassLength + 1); + RealGetWindowClass(hwnd, sb, MaxClassLength); + return sb.ToString(); + } + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern uint RealGetWindowClass(IntPtr hwnd, [Out] StringBuilder lpString, uint maxCount); + + public enum WindowLong { + WndProc = (-4), + HInstance = (-6), + HwndParent = (-8), + Style = (-16), + ExStyle = (-20), + UserData = (-21), + Id = (-12) + } + + public enum ClassLong { + Icon = -14, + IconSmall = -34 + } + + [Flags] + public enum WindowStyles : long { + None = 0, + Disabled = 0x8000000L, + Minimize = 0x20000000L, + MinimizeBox = 0x20000L, + Visible = 0x10000000L + } + + [Flags] + public enum WindowExStyles : long { + AppWindow = 0x40000, + Layered = 0x80000, + NoActivate = 0x8000000L, + ToolWindow = 0x80, + TopMost = 8, + Transparent = 0x20 + } + + public static IntPtr GetWindowLong(IntPtr hWnd, WindowLong i) { + if (IntPtr.Size == 8) { + return GetWindowLongPtr64(hWnd, i); + } + else { + return new IntPtr(GetWindowLong32(hWnd, i)); + } + } + + [DllImport("user32.dll", EntryPoint = "GetWindowLong")] + static extern int GetWindowLong32(IntPtr hWnd, WindowLong nIndex); + + [DllImport("user32.dll", EntryPoint = "GetWindowLongPtr")] + static extern IntPtr GetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex); + + public static IntPtr SetWindowLong(IntPtr hWnd, WindowLong i, IntPtr dwNewLong) { + if (IntPtr.Size == 8) { + return SetWindowLongPtr64(hWnd, i, dwNewLong); + } + else { + return new IntPtr(SetWindowLong32(hWnd, i, dwNewLong.ToInt32())); + } + } + + [DllImport("user32.dll", EntryPoint = "SetWindowLong")] + static extern int SetWindowLong32(IntPtr hWnd, WindowLong nIndex, int dwNewLong); + + [DllImport("user32.dll", EntryPoint = "SetWindowLongPtr")] + static extern IntPtr SetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex, IntPtr dwNewLong); + + #region Class styles + + [DllImport("user32.dll", EntryPoint = "GetClassLongPtrW")] + static extern IntPtr GetClassLong64(IntPtr hWnd, int nIndex); + + [DllImport("user32.dll", EntryPoint = "GetClassLongW")] + static extern int GetClassLong32(IntPtr hWnd, int nIndex); + + public static IntPtr GetClassLong(IntPtr hWnd, ClassLong i) { + if (IntPtr.Size == 8) { + return GetClassLong64(hWnd, (int)i); + } + else { + return new IntPtr(GetClassLong32(hWnd, (int)i)); + } + } + + #endregion + + [DllImport("user32.dll")] + public static extern IntPtr GetMenu(IntPtr hwnd); + + } +} diff --git a/OnTopReplica/Native/WindowsSevenMethods.cs b/OnTopReplica/Native/WindowsSevenMethods.cs new file mode 100644 index 0000000..88e5cf5 --- /dev/null +++ b/OnTopReplica/Native/WindowsSevenMethods.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + + static class WindowsSevenMethods { + + [DllImport("shell32.dll")] + internal static extern void SetCurrentProcessExplicitAppUserModelID( + [MarshalAs(UnmanagedType.LPWStr)] string appId); + + [DllImport("shell32.dll")] + internal static extern void GetCurrentProcessExplicitAppUserModelID( + [Out(), MarshalAs(UnmanagedType.LPWStr)] out string appId); + + } + +} diff --git a/OnTopReplica/NativeToolStripRenderer.cs b/OnTopReplica/NativeToolStripRenderer.cs new file mode 100644 index 0000000..4427e04 --- /dev/null +++ b/OnTopReplica/NativeToolStripRenderer.cs @@ -0,0 +1,601 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Diagnostics.CodeAnalysis; +using System.Windows.Forms; +using System.Windows.Forms.VisualStyles; +using System.Runtime.InteropServices; + +namespace Asztal.Szótár { + public enum ToolbarTheme { + Toolbar, + MediaToolbar, + CommunicationsToolbar, + BrowserTabBar + } + + /// + /// Renders a toolstrip using the UxTheme API via VisualStyleRenderer. Visual styles must be supported for this to work; if you need to support other operating systems use + /// + class UXThemeToolStripRenderer : ToolStripSystemRenderer { + /// + /// It shouldn't be necessary to P/Invoke like this, however a bug in VisualStyleRenderer.GetMargins forces my hand. + /// + static internal class NativeMethods { + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct MARGINS { + public int cxLeftWidth; + public int cxRightWidth; + public int cyTopHeight; + public int cyBottomHeight; + } + + [DllImport("uxtheme", ExactSpelling = true)] + public extern static Int32 GetThemeMargins(IntPtr hTheme, IntPtr hdc, int iPartId, int iStateId, int iPropId, IntPtr rect, out MARGINS pMargins); + } + + //See http://msdn2.microsoft.com/en-us/library/bb773210.aspx - "Parts and States" + #region Parts and States + + enum MenuParts : int { + MENU_MENUITEM_TMSCHEMA = 1, + MENU_MENUDROPDOWN_TMSCHEMA = 2, + MENU_MENUBARITEM_TMSCHEMA = 3, + MENU_MENUBARDROPDOWN_TMSCHEMA = 4, + MENU_CHEVRON_TMSCHEMA = 5, + MENU_SEPARATOR_TMSCHEMA = 6, + MENU_BARBACKGROUND = 7, + MENU_BARITEM = 8, + MENU_POPUPBACKGROUND = 9, + MENU_POPUPBORDERS = 10, + MENU_POPUPCHECK = 11, + MENU_POPUPCHECKBACKGROUND = 12, + MENU_POPUPGUTTER = 13, + MENU_POPUPITEM = 14, + MENU_POPUPSEPARATOR = 15, + MENU_POPUPSUBMENU = 16, + MENU_SYSTEMCLOSE = 17, + MENU_SYSTEMMAXIMIZE = 18, + MENU_SYSTEMMINIMIZE = 19, + MENU_SYSTEMRESTORE = 20 + } + + enum MenuBarStates : int { + MB_ACTIVE = 1, + MB_INACTIVE = 2 + } + + enum MenuBarItemStates : int { + MBI_NORMAL = 1, + MBI_HOT = 2, + MBI_PUSHED = 3, + MBI_DISABLED = 4, + MBI_DISABLEDHOT = 5, + MBI_DISABLEDPUSHED = 6 + } + + enum MenuPopupItemStates : int { + MPI_NORMAL = 1, + MPI_HOT = 2, + MPI_DISABLED = 3, + MPI_DISABLEDHOT = 4 + } + + enum MenuPopupCheckStates : int { + MC_CHECKMARKNORMAL = 1, + MC_CHECKMARKDISABLED = 2, + MC_BULLETNORMAL = 3, + MC_BULLETDISABLED = 4 + } + + enum MenuPopupCheckBackgroundStates : int { + MCB_DISABLED = 1, + MCB_NORMAL = 2, + MCB_BITMAP = 3 + } + + enum MenuPopupSubMenuStates : int { + MSM_NORMAL = 1, + MSM_DISABLED = 2 + } + + enum MarginTypes : int { + TMT_SIZINGMARGINS = 3601, + TMT_CONTENTMARGINS = 3602, + TMT_CAPTIONMARGINS = 3603 + } + + const int RP_BACKGROUND = 6; + + #endregion + + #region Theme helpers + + Padding GetThemeMargins(IDeviceContext dc, MarginTypes marginType) { + NativeMethods.MARGINS margins; + try { + IntPtr hDC = dc.GetHdc(); + if (0 == NativeMethods.GetThemeMargins(renderer.Handle, hDC, renderer.Part, renderer.State, (int)marginType, IntPtr.Zero, out margins)) + return new Padding(margins.cxLeftWidth, margins.cyTopHeight, margins.cxRightWidth, margins.cyBottomHeight); + return new Padding(-1); + } finally { + dc.ReleaseHdc(); + } + } + + private static int GetItemState(ToolStripItem item) { + bool pressed = item.Pressed; + bool hot = item.Selected; + + if (item.Owner.IsDropDown) { + if (item.Enabled) + return hot ? (int)MenuPopupItemStates.MPI_HOT : (int)MenuPopupItemStates.MPI_NORMAL; + return hot ? (int)MenuPopupItemStates.MPI_DISABLEDHOT : (int)MenuPopupItemStates.MPI_DISABLED; + } else { + if (pressed) + return item.Enabled ? (int)MenuBarItemStates.MBI_PUSHED : (int)MenuBarItemStates.MBI_DISABLEDPUSHED; + if (item.Enabled) + return hot ? (int)MenuBarItemStates.MBI_HOT : (int)MenuBarItemStates.MBI_NORMAL; + return hot ? (int)MenuBarItemStates.MBI_DISABLEDHOT : (int)MenuBarItemStates.MBI_DISABLED; + } + } + + #endregion + + #region Theme subclasses + + public ToolbarTheme Theme { + get; set; + } + + private string RebarClass { + get { + return SubclassPrefix + "Rebar"; + } + } + + private string ToolbarClass { + get { + return SubclassPrefix + "ToolBar"; + } + } + + private string MenuClass { + get { + return SubclassPrefix + "Menu"; + } + } + + private string SubclassPrefix { + get { + switch (Theme) { + case ToolbarTheme.MediaToolbar: return "Media::"; + case ToolbarTheme.CommunicationsToolbar: return "Communications::"; + case ToolbarTheme.BrowserTabBar: return "BrowserTabBar::"; + default: return string.Empty; + } + } + } + + private VisualStyleElement Subclass(VisualStyleElement element) { + return VisualStyleElement.CreateElement(SubclassPrefix + element.ClassName, + element.Part, element.State); + } + + #endregion + + VisualStyleRenderer renderer; + + public UXThemeToolStripRenderer(ToolbarTheme theme) { + Theme = theme; + renderer = new VisualStyleRenderer(VisualStyleElement.Button.PushButton.Normal); + } + + #region Borders + protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPBORDERS, 0); + if (e.ToolStrip.IsDropDown) { + Region oldClip = e.Graphics.Clip; + + //Tool strip borders are rendered *after* the content, for some reason. + //So we have to exclude the inside of the popup otherwise we'll draw over it. + Rectangle insideRect = e.ToolStrip.ClientRectangle; + insideRect.Inflate(-1, -1); + e.Graphics.ExcludeClip(insideRect); + + renderer.DrawBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.AffectedBounds); + + //Restore the old clip in case the Graphics is used again (does that ever happen?) + e.Graphics.Clip = oldClip; + } + } + #endregion + + #region Backgrounds + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { + int partId = e.Item.Owner.IsDropDown ? (int)MenuParts.MENU_POPUPITEM : (int)MenuParts.MENU_BARITEM; + renderer.SetParameters(MenuClass, partId, GetItemState(e.Item)); + + Rectangle bgRect = e.Item.ContentRectangle; + + Padding content = GetThemeMargins(e.Graphics, MarginTypes.TMT_CONTENTMARGINS), + sizing = GetThemeMargins(e.Graphics, MarginTypes.TMT_SIZINGMARGINS), + caption = GetThemeMargins(e.Graphics, MarginTypes.TMT_CAPTIONMARGINS); + + if (!e.Item.Owner.IsDropDown) { + bgRect.Y = 0; + bgRect.Height = e.ToolStrip.Height; + bgRect.Inflate(-1, -1); //GetMargins here perhaps? + } + + renderer.DrawBackground(e.Graphics, bgRect, bgRect); + } + + protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e) { + //Draw the background using Rebar & RP_BACKGROUND (or, if that is not available, fall back to + //Rebar.Band.Normal) + if (VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement(RebarClass, RP_BACKGROUND, 0))) { + renderer.SetParameters(RebarClass, RP_BACKGROUND, 0); + } else { + renderer.SetParameters(RebarClass, 0, 0); + //renderer.SetParameters(VisualStyleElement.Taskbar.BackgroundBottom.Normal); + //renderer.SetParameters(Subclass(VisualStyleElement.Rebar.Band.Normal)); + } + + if (renderer.IsBackgroundPartiallyTransparent()) + renderer.DrawParentBackground(e.Graphics, e.ToolStripPanel.ClientRectangle, e.ToolStripPanel); + + renderer.DrawBackground(e.Graphics, e.ToolStripPanel.ClientRectangle); + + //Draw the etched edges of each row. + //renderer.SetParameters(Subclass(VisualStyleElement.Rebar.Band.Normal)); + //foreach (ToolStripPanelRow row in e.ToolStripPanel.Rows) { + // Rectangle rowBounds = row.Bounds; + // rowBounds.Offset(0, -1); + // renderer.DrawEdge(e.Graphics, rowBounds, Edges.Top, EdgeStyle.Etched, EdgeEffects.None); + //} + + e.Handled = true; + } + + //Render the background of an actual menu bar, dropdown menu or toolbar. + protected override void OnRenderToolStripBackground(System.Windows.Forms.ToolStripRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPBACKGROUND, 0); + } else { + //It's a MenuStrip or a ToolStrip. If it's contained inside a larger panel, it should have a + //transparent background, showing the panel's background. + + if (e.ToolStrip.Parent is ToolStripPanel) { + //The background should be transparent, because the ToolStripPanel's background will be visible. + //(Of course, we assume the ToolStripPanel is drawn using the same theme, but it's not my fault + //if someone does that.) + return; + } else { + //A lone toolbar/menubar should act like it's inside a toolbox, I guess. + //Maybe I should use the MenuClass in the case of a MenuStrip, although that would break + //the other themes... + if(VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement(RebarClass, RP_BACKGROUND, 0))) + renderer.SetParameters(RebarClass, RP_BACKGROUND, 0); + else + renderer.SetParameters(RebarClass, 0, 0); + } + } + + if (renderer.IsBackgroundPartiallyTransparent()) + renderer.DrawParentBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.ToolStrip); + + renderer.DrawBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.AffectedBounds); + } + + protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e) { + //e.Graphics.FillRectangle(Brushes.RosyBrown, e.ToolStripContentPanel.ClientRectangle); + //base.OnRenderToolStripContentPanelBackground(e); + } + + //Some sort of chevron thing? + //protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e) { + // base.OnRenderOverflowButtonBackground(e); + //} + #endregion + + #region Text + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { + int partId = e.Item.Owner.IsDropDown ? (int)MenuParts.MENU_POPUPITEM : (int)MenuParts.MENU_BARITEM; + renderer.SetParameters(MenuClass, partId, GetItemState(e.Item)); + Color color = renderer.GetColor(ColorProperty.TextColor); + + if(e.Item.Owner.IsDropDown || e.Item.Owner is MenuStrip) + e.TextColor = color; + + base.OnRenderItemText(e); + } + #endregion + + #region Glyphs + + //protected override void OnRenderGrip(ToolStripGripRenderEventArgs e) { + // if (e.GripStyle == ToolStripGripStyle.Visible) { + // renderer.SetParameters(VisualStyleElement.Rebar.Gripper.Normal); + // renderer.DrawBackground(e.Graphics, e.GripBounds, e.AffectedBounds); + // } + //} + + protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPGUTTER, 0); + Rectangle displayRect = e.ToolStrip.DisplayRectangle, + marginRect = new Rectangle(0, displayRect.Top, displayRect.Left, displayRect.Height); + //e.Graphics.DrawRectangle(Pens.Black, marginRect); + renderer.DrawBackground(e.Graphics, marginRect, marginRect); + } + } + + protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPSEPARATOR, 0); + Rectangle rect = new Rectangle(e.ToolStrip.DisplayRectangle.Left, 0, e.ToolStrip.DisplayRectangle.Width, e.Item.Height); + renderer.DrawBackground(e.Graphics, rect, rect); + } else { + base.OnRenderSeparator(e); + } + } + + protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { + ToolStripMenuItem item = e.Item as ToolStripMenuItem; + if (item != null) { + if (item.Checked) { + Rectangle rect = e.Item.ContentRectangle; + rect.Width = rect.Height; + + //Center the checkmark horizontally in the gutter (looks ugly, though) + //rect.X = (e.ToolStrip.DisplayRectangle.Left - rect.Width) / 2; + + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPCHECKBACKGROUND, e.Item.Enabled ? (int)MenuPopupCheckBackgroundStates.MCB_NORMAL : (int)MenuPopupCheckBackgroundStates.MCB_DISABLED); + renderer.DrawBackground(e.Graphics, rect); + + Padding margins = GetThemeMargins(e.Graphics, MarginTypes.TMT_SIZINGMARGINS); + + rect = new Rectangle(rect.X + margins.Left, rect.Y + margins.Top, + rect.Width - margins.Horizontal, + rect.Height - margins.Vertical); + + //I don't think ToolStrip even supports radio box items. So no need to render them. + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPCHECK, e.Item.Enabled ? (int)MenuPopupCheckStates.MC_CHECKMARKNORMAL : (int)MenuPopupCheckStates.MC_CHECKMARKDISABLED); + + renderer.DrawBackground(e.Graphics, rect); + } + } else { + base.OnRenderItemCheck(e); + } + } + + //This is broken for RTL + protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { + int stateId = e.Item.Enabled ? (int)MenuPopupSubMenuStates.MSM_NORMAL : (int)MenuPopupSubMenuStates.MSM_DISABLED; + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPSUBMENU, stateId); + renderer.DrawBackground(e.Graphics, e.ArrowRectangle); + } + + protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e) { + renderer.SetParameters(RebarClass, VisualStyleElement.Rebar.Chevron.Normal.Part, VisualStyleElement.Rebar.Chevron.Normal.State); + renderer.DrawBackground(e.Graphics, e.Item.ContentRectangle); + + //base.OnRenderOverflowButtonBackground(e); + } + #endregion + + private static bool? _isSupportedCache = null; + + public static bool IsSupported { + get { + if (_isSupportedCache.HasValue) + return _isSupportedCache.Value; + + if (!VisualStyleRenderer.IsSupported) { + _isSupportedCache = false; + return false; + } + + _isSupportedCache = VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement("MENU", (int)MenuParts.MENU_BARBACKGROUND, (int)MenuBarStates.MB_ACTIVE)); + return _isSupportedCache.Value; + } + } + } + + /// + /// Renders a toolstrip using UXTheme if possible, and switches back to the default + /// ToolStripRenderer when UXTheme-based rendering is not available. + /// Designed for menu bars and context menus - it is not guaranteed to work with anything else. + /// + /// + /// NativeToolStripRenderer.SetToolStripRenderer(toolStrip1, toolStrip2, contextMenuStrip1); + /// + /// + /// toolStrip1.Renderer = new NativeToolStripRenderer(); + /// + public class NativeToolStripRenderer : ToolStripRenderer { + UXThemeToolStripRenderer nativeRenderer; + ToolStripRenderer defaultRenderer; + ToolStrip toolStrip; + + //NativeToolStripRenderer looks best with no padding - but keep the old padding in case the + //visual styles become unsupported again (e.g. user changes to windows classic skin) + Padding defaultPadding; + + #region Constructors + /// + /// Creates a NativeToolStripRenderer for a particular ToolStrip. NativeToolStripRenderer will subscribe to some events + /// of this ToolStrip. + /// + /// The toolstrip for this NativeToolStripRenderer. NativeToolStripRenderer will subscribe to some events + /// of this ToolStrip. + public NativeToolStripRenderer(ToolStrip toolStrip, ToolbarTheme theme) { + if (toolStrip == null) + throw new ArgumentNullException("toolStrip", "ToolStrip cannot be null."); + + Theme = theme; + + this.toolStrip = toolStrip; + defaultRenderer = toolStrip.Renderer; + + defaultPadding = toolStrip.Padding; + toolStrip.SystemColorsChanged += new EventHandler(toolStrip_SystemColorsChanged); + + //Can't initialize here - constructor throws if visual styles not enabled + //nativeRenderer = new NativeToolStripRenderer(); + } + + public NativeToolStripRenderer(ToolStripPanel panel, ToolbarTheme theme) { + if (panel == null) + throw new ArgumentNullException("panel", "Panel cannot be null."); + + Theme = theme; + + this.toolStrip = null; + defaultRenderer = panel.Renderer; + } + #endregion + + public ToolbarTheme Theme { get; set; } + + void toolStrip_SystemColorsChanged(object sender, EventArgs e) { + if (toolStrip == null) + return; + + if (UXThemeToolStripRenderer.IsSupported) + toolStrip.Padding = Padding.Empty; + else + toolStrip.Padding = defaultPadding; + } + + //This is indeed called every time a menu part is rendered, but I can't + //find a way of caching it that I can be sure has no race conditions. + //The check is no longer very costly, anyway. + protected ToolStripRenderer ActualRenderer { + get { + bool nativeSupported = UXThemeToolStripRenderer.IsSupported; + + if (nativeSupported) { + if (nativeRenderer == null) + nativeRenderer = new UXThemeToolStripRenderer(Theme); + return nativeRenderer; + } + + return defaultRenderer; + } + } + + #region InitializeXXX + protected override void Initialize(ToolStrip toolStrip) { + base.Initialize(toolStrip); + + toolStrip.Padding = Padding.Empty; + + if (/*!(toolStrip is MenuStrip) &&*/ toolStrip.Parent is ToolStripPanel) { + toolStrip.BackColor = Color.Transparent; + } + } + + protected override void InitializePanel(ToolStripPanel toolStripPanel) { + base.InitializePanel(toolStripPanel); + } + + protected override void InitializeItem(ToolStripItem item) { + base.InitializeItem(item); + } + #endregion + + #region SetToolStripRenderer + /// + /// Sets the renderer of each ToolStrip to a NativeToolStripRenderer. A convenience method. + /// + /// A parameter list of ToolStrips. + [SuppressMessage("Microsoft.Design", "CA1062")] //The parameter array is actually checked. + public static void SetToolStripRenderer(ToolbarTheme theme, params Control[] toolStrips) { + foreach (Control ts in toolStrips) { + if (ts == null) + throw new ArgumentNullException("toolStrips", "ToolStrips cannot contain a null reference."); + } + + foreach (Control ts in toolStrips) { + if (ts is ToolStrip) { + ToolStrip t = (ToolStrip)ts; + t.Renderer = new NativeToolStripRenderer(t, theme); + } else if (ts is ToolStripPanel) { + ToolStripPanel t = (ToolStripPanel)ts; + t.Renderer = new NativeToolStripRenderer(t, theme); + } else + throw new ArgumentException("Can't set the renderer for a " + ts.GetType().Name); + } + } + + public static void SetToolStripRenderer(params Control[] toolStrips) { + SetToolStripRenderer(ToolbarTheme.Toolbar, toolStrips); + } + #endregion + + #region Overridden Methods - Deferred to actual renderer + protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { + ActualRenderer.DrawArrow(e); + } + + protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawButtonBackground(e); + } + + protected override void OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawDropDownButtonBackground(e); + } + + protected override void OnRenderGrip(ToolStripGripRenderEventArgs e) { + ActualRenderer.DrawGrip(e); + } + + protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { + ActualRenderer.DrawImageMargin(e); + } + + protected override void OnRenderItemBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawItemBackground(e); + } + + protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { + ActualRenderer.DrawItemCheck(e); + } + + protected override void OnRenderItemImage(ToolStripItemImageRenderEventArgs e) { + ActualRenderer.DrawItemImage(e); + } + + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { + ActualRenderer.DrawItemText(e); + } + + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawMenuItemBackground(e); + } + + protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e) { + ActualRenderer.DrawSeparator(e); + } + + protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e) { + ActualRenderer.DrawToolStripBackground(e); + } + + protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { + ActualRenderer.DrawToolStripBorder(e); + } + + protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e) { + ActualRenderer.DrawToolStripContentPanelBackground(e); + } + + protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e) { + ActualRenderer.DrawToolStripPanelBackground(e); + } + #endregion + } +} diff --git a/OnTopReplica/NotificationIcon.cs b/OnTopReplica/NotificationIcon.cs new file mode 100644 index 0000000..08292ae --- /dev/null +++ b/OnTopReplica/NotificationIcon.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica { + /// + /// Notification icon that installs itself in the "tray" and manipulates the OnTopReplica main form. + /// + class NotificationIcon : IDisposable { + + public NotificationIcon(MainForm form) { + Form = form; + Install(); + } + + public MainForm Form { get; private set; } + + NotifyIcon _taskIcon; + ContextMenuStrip _contextMenu; + + private void Install() { + _contextMenu = new ContextMenuStrip(); + _contextMenu.Items.AddRange(new ToolStripItem[] { + new ToolStripMenuItem(Strings.MenuOpen, Resources.icon, TaskIconOpen_click) { + ToolTipText = Strings.MenuOpenTT, + }, + new ToolStripMenuItem(Strings.MenuWindows, Resources.list){ + DropDown = Form.MenuWindows, + ToolTipText = Strings.MenuWindowsTT + }, + new ToolStripMenuItem(Strings.MenuReset, null, TaskIconReset_click){ + ToolTipText = Strings.MenuResetTT + }, + new ToolStripMenuItem(Strings.MenuClose, Resources.close_new, TaskIconExit_click){ + ToolTipText = Strings.MenuCloseTT + } + }); + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(_contextMenu); + + _taskIcon = new NotifyIcon { + Text = Strings.ApplicationName, + Icon = Resources.icon_new, + Visible = true, + ContextMenuStrip = _contextMenu + }; + _taskIcon.DoubleClick += new EventHandler(TaskIcon_doubleclick); + } + + #region IDisposable Members + + public void Dispose() { + //Destroy NotifyIcon + if (_taskIcon != null) { + _taskIcon.Visible = false; + _taskIcon.Dispose(); + _taskIcon = null; + } + } + + #endregion + + #region Task Icon events + + void TaskIcon_doubleclick(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconOpen_click(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconReset_click(object sender, EventArgs e) { + Form.ResetMainFormWithConfirmation(); + } + + private void TaskIconExit_click(object sender, EventArgs e) { + Form.Close(); + } + + #endregion + + } +} diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj new file mode 100644 index 0000000..0f3f4cf --- /dev/null +++ b/OnTopReplica/OnTopReplica.csproj @@ -0,0 +1,536 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557} + WinExe + Properties + OnTopReplica + OnTopReplica + v4.0 + 512 + Assets\icon-new.ico + false + false + Internet + OnTopReplica.Program + + + false + A305A505E19CF40E069521C80C13AB3C900EDB7C + OnTopReplica_1_TemporaryKey.pfx + false + + + + + 3.5 + + + + publish\ + true + Disk + true + Background + 1 + Weeks + true + false + true + http://www.klopfenstein.net/public/Uploads/ontopreplica/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + en + OnTopReplica + Lorenz Cuno Klopfenstein + true + publish.htm + false + 0 + 3.4.0.%2a + false + true + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + false + true + + + pdbonly + true + bin\Release\ + + + prompt + 4 + + + true + false + + + + + + + + + OnTopReplica.exe.manifest + + + + + + + + + ..\Lib\WindowsFormsAero.dll + + + + + Form + + + + + + + + Component + + + Component + + + Form + + + Form + + + Form + + + Form + + + + + + + + + + + + + + + + + True + True + Resources.resx + + + True + True + Settings.settings + + + Form + + + SidePanelContainer.cs + + + UserControl + + + AboutPanel.cs + + + UserControl + + + AboutPanelContents.cs + + + UserControl + + + OptionsPanel.cs + + + UserControl + + + GroupSwitchPanel.cs + + + + + True + True + Strings.resx + + + + + + + + + + + + + SidePanelContainer.cs + + + AboutPanel.cs + + + AboutPanelContents.cs + + + ResXFileCodeGenerator + Strings.pl.Designer.cs + + + ResXFileCodeGenerator + Strings.Designer.cs + + + ResXFileCodeGenerator + Strings.ru.Designer.cs + + + + + + + + + + + + + + + + + UserControl + + + + Form + + + CommandLineReportForm.cs + + + + + + + + + + + + + + + + + Component + + + Form + + + MainForm.cs + + + + + + GroupSwitchPanel.cs + + + OptionsPanel.cs + + + CommandLineReportForm.cs + + + ResXFileCodeGenerator + Strings.cs.Designer.cs + + + ResXFileCodeGenerator + Strings.da.Designer.cs + + + ResXFileCodeGenerator + Strings.de.Designer.cs + + + ResXFileCodeGenerator + Strings.es.Designer.cs + + + ResXFileCodeGenerator + Strings.fi.Designer.cs + + + ResXFileCodeGenerator + Strings.it.Designer.cs + Designer + + + MainForm.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + RegionPanel.cs + Designer + + + ResXFileCodeGenerator + Strings.no.Designer.cs + + + ResXFileCodeGenerator + Strings.pt-BR.Designer.cs + + + ResXFileCodeGenerator + Strings.pt.Designer.cs + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + UserControl + + + RegionPanel.cs + + + + + Component + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Always + + + Always + + + + + + + + + + + + + + + + + + + + + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 2.0 %28x86%29 + true + + + False + .NET Framework 3.0 %28x86%29 + false + + + False + .NET Framework 3.5 + false + + + False + .NET Framework 3.5 SP1 + false + + + + + + + + + + + + + + + + + + + + + + + + + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Include + True + Satellite + + + False + + + + + Include + True + Satellite + + + False + + + + + Include + True + Satellite + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.csproj.user b/OnTopReplica/OnTopReplica.csproj.user new file mode 100644 index 0000000..4b61895 --- /dev/null +++ b/OnTopReplica/OnTopReplica.csproj.user @@ -0,0 +1,23 @@ + + + + publish\ + http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/download.aspx%3ffile=ontopreplica%252fsetup.exe/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/|http://lorenz.klopfenstein.net/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&page=on_top_replica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&page=programming_on_top_replica + http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/ + + + en-US + false + + + ProjectFiles + + + false + + + + + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.exe.manifest b/OnTopReplica/OnTopReplica.exe.manifest new file mode 100644 index 0000000..0928f9f --- /dev/null +++ b/OnTopReplica/OnTopReplica.exe.manifest @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + Lightweight clone of a window. + + + + + + \ No newline at end of file diff --git a/OnTopReplica/PlatformSupport.cs b/OnTopReplica/PlatformSupport.cs new file mode 100644 index 0000000..5ecb432 --- /dev/null +++ b/OnTopReplica/PlatformSupport.cs @@ -0,0 +1,93 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Platforms; +using System.Windows.Forms; + +namespace OnTopReplica { + + abstract class PlatformSupport { + + /// + /// Creates a concrete PlatformSupport instance based on the OS the app is running on. + /// + public static PlatformSupport Create() { + var os = Environment.OSVersion; + + if (os.Platform != PlatformID.Win32NT) + return new Other(); + + if (os.Version.Major == 6) { + if (os.Version.Minor >= 2) + return new WindowsEight(); + else if (os.Version.Minor == 1) + return new WindowsSeven(); + else + return new WindowsVista(); + } + else if (os.Version.Major > 6) { + //Ensures forward compatibility + return new WindowsSeven(); + } + else { + //Generic NT + return new WindowsXp(); + } + } + + /// + /// Checks whether OnTopReplica is compatible with the platform. + /// + /// Returns false if OnTopReplica cannot run and should terminate right away. + public abstract bool CheckCompatibility(); + + /// + /// Initializes a form before it is fully constructed and before the window handle has been created. + /// + public virtual void PreHandleFormInit() { + } + + /// + /// Initializes a form after its handle has been created. + /// + /// Form to initialize. + public virtual void PostHandleFormInit(MainForm form) { + } + + /// + /// Called before closing a form. Called once during a form's lifetime. + /// + public virtual void CloseForm(MainForm form) { + } + + /// + /// Hides the main form in a way that it can be restored later by the user. + /// + /// Form to hide. + public virtual void HideForm(MainForm form) { + } + + /// + /// Gets whether the form is currently hidden or not. + /// + public virtual bool IsHidden(MainForm form) { + return false; + } + + /// + /// Restores the main form to its default state after is has been hidden. + /// Can be called whether the form is hidden or not. + /// + /// Form to restore. + public virtual void RestoreForm(MainForm form) { + } + + /// + /// Called when the form changes its state, without calling into or . + /// Enables inheritors to update the form's state on each state change. + /// + public virtual void OnFormStateChange(MainForm form) { + } + + } +} diff --git a/OnTopReplica/Platforms/DebugPlatform.cs b/OnTopReplica/Platforms/DebugPlatform.cs new file mode 100644 index 0000000..8b8da3a --- /dev/null +++ b/OnTopReplica/Platforms/DebugPlatform.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Platforms { + +#if DEBUG + + /// + /// Fake platform for debugging. + /// + class DebugPlatform : PlatformSupport { + + public override bool CheckCompatibility() { + return true; + } + + } + +#endif + +} diff --git a/OnTopReplica/Platforms/Other.cs b/OnTopReplica/Platforms/Other.cs new file mode 100644 index 0000000..abd253d --- /dev/null +++ b/OnTopReplica/Platforms/Other.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.Platforms { + class Other : PlatformSupport { + + public override bool CheckCompatibility() { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, + MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + } +} diff --git a/OnTopReplica/Platforms/WindowsEight.cs b/OnTopReplica/Platforms/WindowsEight.cs new file mode 100644 index 0000000..c305954 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsEight.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.Platforms { + class WindowsEight : WindowsSeven { + + } +} diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs new file mode 100644 index 0000000..c24ee7c --- /dev/null +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -0,0 +1,61 @@ +using System; +using System.Windows.Forms; +using OnTopReplica.Native; +using WindowsFormsAero.Dwm; + +namespace OnTopReplica.Platforms { + + class WindowsSeven : WindowsVista { + + public override void PreHandleFormInit() { + //Set Application ID + WindowsSevenMethods.SetCurrentProcessExplicitAppUserModelID("LorenzCunoKlopfenstein.OnTopReplica.MainForm"); + } + + public override void PostHandleFormInit(MainForm form) { + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + DwmManager.SetExcludeFromPeek(form, true); + DwmManager.SetDisallowPeek(form, true); + } + + public override void HideForm(MainForm form) { + form.Opacity = 0; + } + + public override bool IsHidden(MainForm form) { + return (form.Opacity == 0.0); + } + + public override void RestoreForm(MainForm form) { + if (form.Opacity == 0.0) + form.Opacity = 1.0; + + form.Show(); + } + + /*public override void OnFormStateChange(MainForm form) { + //SetWindowStyle(form); + }*/ + + /// + /// Used to alter the window style. Not used anymore. + /// + private void SetWindowStyle(MainForm form) { + if (!form.FullscreenManager.IsFullscreen) { + //This hides the app from ALT+TAB + //Note that when minimized, it will be shown as an (ugly) minimized tool window + //thus we do not minimize, but set to transparent when hiding + long exStyle = WindowMethods.GetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle).ToInt64(); + + exStyle |= (long)(WindowMethods.WindowExStyles.ToolWindow); + //exStyle &= ~(long)(WindowMethods.WindowExStyles.AppWindow); + + WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle, new IntPtr(exStyle)); + + //WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.HwndParent, WindowManagerMethods.GetDesktopWindow()); + } + } + + } + +} diff --git a/OnTopReplica/Platforms/WindowsVista.cs b/OnTopReplica/Platforms/WindowsVista.cs new file mode 100644 index 0000000..368db7f --- /dev/null +++ b/OnTopReplica/Platforms/WindowsVista.cs @@ -0,0 +1,52 @@ +using System; +using System.Windows.Forms; +using WindowsFormsAero.Dwm; + +namespace OnTopReplica.Platforms { + + class WindowsVista : PlatformSupport { + + public override bool CheckCompatibility() { + if (!WindowsFormsAero.OsSupport.IsCompositionEnabled) { + MessageBox.Show(Strings.ErrorDwmOffContent, Strings.ErrorDwmOff, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + return true; + } + + NotificationIcon _icon; + + public override void PostHandleFormInit(MainForm form) { + //Do not show in task bar, but display notify icon + //NOTE: this effectively makes Windows ignore the Flip 3D policy set above (on Windows 7) + //NOTE: this also makes HotKey registration critically fail on Windows 7 + form.ShowInTaskbar = false; + + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + + _icon = new NotificationIcon(form); + } + + public override void CloseForm(MainForm form) { + if (_icon != null) { + _icon.Dispose(); + _icon = null; + } + } + + public override bool IsHidden(MainForm form) { + return !form.Visible; + } + + public override void HideForm(MainForm form) { + form.Hide(); + } + + public override void RestoreForm(MainForm form) { + form.Show(); + } + + } + +} diff --git a/OnTopReplica/Platforms/WindowsXp.cs b/OnTopReplica/Platforms/WindowsXp.cs new file mode 100644 index 0000000..88d3895 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsXp.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.Platforms { + class WindowsXp : PlatformSupport { + + public override bool CheckCompatibility() { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + } +} diff --git a/OnTopReplica/PluginRegionLocator.cs b/OnTopReplica/PluginRegionLocator.cs new file mode 100644 index 0000000..eaebb70 --- /dev/null +++ b/OnTopReplica/PluginRegionLocator.cs @@ -0,0 +1,102 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using OnTopReplica.Native; + +namespace OnTopReplica { + /// + /// Facility class that attempts to locate the region occupied by plugins inside another window. + /// + class PluginRegionLocator { + + static PluginRegionLocator() { + _pluginClassNames = new HashSet() { + //Opera 11 Flash plugin + "aPluginWinClass", + + //IE 9 Flash plugin + "MacromediaFlashPlayerActiveX", + + //Google Chrome + "NativeWindowClass", //Flash plugin + "Chrome_RenderWidgetHostHWND", //Tab content + + //Firefox 9 Flash plugin + "GeckoPluginWindow", + }; + } + + static readonly HashSet _pluginClassNames; + + /// + /// Attempts to locate a plugin region inside a window. + /// + /// The handle to the parent window. + /// The region where a plugin window is located or null if none found. + public Rectangle? LocatePluginRegion(WindowHandle handle) { + if (handle == null) + throw new ArgumentNullException(); + + WindowManagerMethods.EnumChildWindows(handle.Handle, LocatingWndProc, IntPtr.Zero); + + if (_selectedHandle != null) { + Console.Out.WriteLine("Selected {0} '{1}' (class {2})", _selectedHandle.Handle, _selectedHandle.Title, _selectedHandle.Class); + + NRectangle rect; + WindowMethods.GetWindowRect(_selectedHandle.Handle, out rect); + + NRectangle clientRect; + WindowMethods.GetClientRect(_selectedHandle.Handle, out clientRect); + + Console.Out.WriteLine("WindowRect: {0}", rect); + + NRectangle ownerRect; + WindowMethods.GetWindowRect(handle.Handle, out ownerRect); + + Console.Out.WriteLine("Owner WindowRect: {0}", ownerRect); + + var ret = new Rectangle { + X = rect.Left - ownerRect.Left, + Y = rect.Top - ownerRect.Top, + Width = clientRect.Width, + Height = clientRect.Height + }; + + //Safety check (this may happen when the plugin client area is 0 pixel large) + if (ret.Width < 0 || ret.Height < 0) + return null; + + Console.Out.WriteLine("Selected region: {0}", ret); + + return ret; + } + else { + Console.Out.WriteLine("None found."); + return null; + } + } + + WindowHandle _selectedHandle = null; + + private bool LocatingWndProc(IntPtr handle, IntPtr lParam) { + //Skip non visible windows + if (!WindowManagerMethods.IsWindowVisible(handle)) { + return true; + } + + //Class name check + string cl = WindowMethods.GetWindowClass(handle); + System.Diagnostics.Trace.WriteLine(string.Format("Child window, class {0}", cl)); + + if (_pluginClassNames.Contains(cl)) { + //Found plugin window, stop now + _selectedHandle = new WindowHandle(handle); + return false; + } + + return true; + } + + } +} diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs new file mode 100644 index 0000000..12971ee --- /dev/null +++ b/OnTopReplica/Program.cs @@ -0,0 +1,128 @@ +using System; +using System.IO; +using System.Reflection; +using System.Threading; +using System.Windows.Forms; +using OnTopReplica.Properties; +using OnTopReplica.StartupOptions; +using OnTopReplica.Update; + +namespace OnTopReplica { + + static class Program { + + public static PlatformSupport Platform { get; private set; } + + public static UpdateManager Update { get; private set; } + + static MainForm _mainForm; + + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main(string[] args) { + //Hook fatal abort handler + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); + + //Initialize and check for platform support + Platform = PlatformSupport.Create(); + if (!Platform.CheckCompatibility()) + return; + Platform.PreHandleFormInit(); + + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + + //Update settings if needed + if (Settings.Default.MustUpdate) { + Settings.Default.Upgrade(); + Settings.Default.MustUpdate = false; + } + + //Load startup options + var options = StartupOptions.Factory.CreateOptions(args); + string optionsMessage = options.DebugMessage; + if (!string.IsNullOrEmpty(optionsMessage)) { //show dialog if debug message present or if parsing failed + var dlg = new CommandLineReportForm(options.Status, optionsMessage); + dlg.ShowDialog(); + } + if (options.Status == CliStatus.Information || options.Status == CliStatus.Error) + return; + + //Load language + Thread.CurrentThread.CurrentUICulture = Settings.Default.Language; + + //Show form + using (_mainForm = new MainForm(options)) { + Application.Idle += _handlerIdleUpdater; + + //Enter GUI loop + Application.Run(_mainForm); + + //HACK: re-enable chrome to fix position persistence (ideally, chrome status should be stored and restored - but this is not always possible) + if (!_mainForm.IsChromeVisible) + _mainForm.IsChromeVisible = true; + + //Persist settings + System.Diagnostics.Trace.WriteLine(string.Format("Persisting {0} size {1} to settings.", _mainForm.Location, _mainForm.ClientSize)); + Settings.Default.RestoreLastPosition = _mainForm.Location; + Settings.Default.RestoreLastSize = _mainForm.ClientSize; + Settings.Default.Save(); + } + } + + private static EventHandler _handlerIdleUpdater = new EventHandler(Application_Idle); + + /// + /// Callback detecting application idle time. + /// + static void Application_Idle(object sender, EventArgs e) { + Application.Idle -= _handlerIdleUpdater; + + Update = new UpdateManager(_mainForm); + Update.UpdateCheckCompleted += new EventHandler(UpdateManager_CheckCompleted); + Update.CheckForUpdate(); + } + + /// + /// Callback that handles update checking. + /// + static void UpdateManager_CheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + if (e.Success && e.Information != null) { + if (e.Information.IsNewVersion) { + Update.ConfirmAndInstall(); + } + } + else { + System.Diagnostics.Trace.WriteLine(string.Format("Failed to check updates. {0}", e.Error)); + } + } + + static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { + string dump = string.Format("OnTopReplica-dump-{0}{1}{2}-{3}{4}.txt", + DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, + DateTime.Now.Hour, DateTime.Now.Minute); + string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), dump); + + using (var s = new FileStream(path, FileMode.Create)) { + using (var sw = new StreamWriter(s)) { + sw.WriteLine("OnTopReplica Dump file"); + sw.WriteLine("This file has been created because OnTopReplica crashed."); + sw.WriteLine("Please send it to lck@klopfenstein.net to help fix the bug that caused the crash."); + sw.WriteLine(); + sw.WriteLine("Last exception:"); + sw.WriteLine(e.ExceptionObject.ToString()); + sw.WriteLine(); + sw.WriteLine("OnTopReplica v.{0}", Assembly.GetEntryAssembly().GetName().Version); + sw.WriteLine("OS: {0}", Environment.OSVersion.ToString()); + sw.WriteLine(".NET: {0}", Environment.Version.ToString()); + sw.WriteLine("Aero DWM: {0}", WindowsFormsAero.OsSupport.IsCompositionEnabled); + sw.WriteLine("Launch command: {0}", Environment.CommandLine); + sw.WriteLine("UTC time: {0} {1}", DateTime.UtcNow.ToShortDateString(), DateTime.UtcNow.ToShortTimeString()); + } + } + } + + } +} diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..f58a612 --- /dev/null +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -0,0 +1,37 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("OnTopReplica")] +[assembly: AssemblyDescription("Real-time, always on top thumbnail of a window of your choice.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Lorenz Cuno Klopfenstein")] +[assembly: AssemblyProduct("OnTopReplica")] +[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2010")] +//[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2007")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("015090d1-7559-4c59-b9d1-e7e066c4a948")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("3.4.0.0")] +[assembly: AssemblyFileVersion("3.4.0.0")] diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx new file mode 100644 index 0000000..d5899e8 --- /dev/null +++ b/OnTopReplica/Properties/Resources.resx @@ -0,0 +1,238 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + ..\Assets\flag_ita.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\x-oblique.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\component.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\25.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_multiple16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\regions_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_null.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_opacity_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\clickforwarding.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\newicon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\back.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_czech.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_switch.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\desktop.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_danish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_ok.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_wrench.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\list.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\icon-new.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\fullscreen.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_down.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_border16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_usa.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\groupmode.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_center.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_spanish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_poland.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_germany.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\minimize.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\help.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/OnTopReplica/Properties/Settings.settings b/OnTopReplica/Properties/Settings.settings new file mode 100644 index 0000000..5535ca5 --- /dev/null +++ b/OnTopReplica/Properties/Settings.settings @@ -0,0 +1,60 @@ + + + + + + + + + 255 + + + (Default) + + + True + + + True + + + True + + + True + + + False + + + False + + + 0, 0 + + + 0, 0 + + + False + + + + + + + + + 0 + + + [CTRL]+[SHIFT]+C + + + [CTRL]+[SHIFT]+O + + + Standard + + + \ No newline at end of file diff --git a/OnTopReplica/Properties/app.manifest b/OnTopReplica/Properties/app.manifest new file mode 100644 index 0000000..c29c96a --- /dev/null +++ b/OnTopReplica/Properties/app.manifest @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/Resources/help.png b/OnTopReplica/Resources/help.png new file mode 100644 index 0000000000000000000000000000000000000000..299ccbf9ad14a3a2abce2d1d07d7259faf74dc6f GIT binary patch literal 1163 zcmbVMOK8+u7>FQfhzhHIqya0W^ebh7T##LKO&djxh|2(6Gk$ zKZM;B6&bQiWn9khkWJ*ojnF1ucRYfosP3M+XPBc9g9;qBU4{N|;}#8UOQCls^K9PB zz!7`fgbxQM`b*}-s3}==&sNY~mkEIbu>tB%)eYpjLQnI`WFBraG?+HQqY6FaR5@P& z8RSEdj0-W7R8=4Fn3{2nlu#H?0G8z>$h83E4IunB9 z<@0mIZZMlDk}{@lcnlY38OI6Znzjyb5q@`LUhAMV?m?yq12pEFAcE|nGDOTDP84xwo7PYb8dhQ*Mv=7o9NDB*`H$Nj1LWr{1QUd zW(5>R5JtfW@<3)l1e(i zusD7wmgW|zz;HTO`eZTJJkTW_HXTJ^kCx~F1vED literal 0 HcmV?d00001 diff --git a/OnTopReplica/Resources/minimize.png b/OnTopReplica/Resources/minimize.png new file mode 100644 index 0000000000000000000000000000000000000000..f6684e583981191fabe21d762a9ff9537cec7dd2 GIT binary patch literal 1110 zcmbVLO-$2Z7%mV9L5S1%6Fo>%)IeZsyPs~Y4CvO)Epf1nMV6Q-UHgqS(0--;U}F~n zgAwC_7_TNqZ)%Jtp5!2jnn2X62T%T8JQz*9m}r7u$A%sVCN^!qzvp@0pYMH_)5E7b z+K#pn1ksU9NEtl3oUgS7|2w~L%6K?}VmUMl3#cSpfDl!f2V_#0CqM?s>fH1O=qHG# zf|kvpTsmx>I!)7Y||83g`mkWwdGVUl_sOm0%XAB zb1MwXk{st@{Q-_+`$#XtdT9o~oSXFv0Z#A+$=X9|*=^Webp;97ilv!Ig9hm+%6T}0!W8y&D+Jw4rM86) zyOt=NGP*3AH0xn#U3cQDqHUA`f85v+ZD;39KxcprXDkKZN1>}u#<|8AU=4Dxt_xpLDFBae1`B8w#k~)v( + /// Describes a resolution independent screen position. + ///

      0=!QTCBlc!H@IMpRQX)kb#O>HRNd@sC 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∈Z=)0kK^)#rVb9Z%g?vCeU1qBH~kXDoi5dsbb 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%0A?S53!X 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%0D7$7l`9o;&_^Vd6K;U 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

    + enum ScreenPosition { + TopLeft, + TopRight, + BottomLeft, + BottomRight, + Center + } + + /// + /// Extension methods for ScreenPositions. + /// + static class ScreenPositionExtensions { + + /// + /// Gets the coordinates point matching an independent screen position value. + /// + /// Screen position value. + /// Pixel point in screen coordinates. + public static Point ResolveScreenPosition(this Screen screen, ScreenPosition position) { + var rect = screen.WorkingArea; + + return ResolveScreenPositionToRectangle(rect, position); + } + + /// + /// Gets the coordinates matching an independent screen position value. + /// + /// Target control for which the coordinates should be resolved. + /// Screen position value. + /// Pixel point in screen coordinates. + public static Point ResolveScreenPositionEdge(this Control ctrl, ScreenPosition position) { + var ctrlRegion = ctrl.RectangleToScreen(ctrl.ClientRectangle); + + return ResolveScreenPositionToRectangle(ctrlRegion, position); + } + + private static Point ResolveScreenPositionToRectangle(Rectangle rect, ScreenPosition position) { + switch (position) { + case ScreenPosition.TopLeft: + return new Point(rect.X, rect.Y); + case ScreenPosition.TopRight: + return new Point(rect.X + rect.Width, rect.Y); + case ScreenPosition.BottomLeft: + return new Point(rect.X, rect.Y + rect.Height); + case ScreenPosition.BottomRight: + return new Point(rect.X + rect.Width, rect.Y + rect.Height); + case ScreenPosition.Center: + return new Point(rect.X + (rect.Width / 2), rect.Y + (rect.Height / 2)); + default: + throw new ArgumentException("Invalid ScreenPosition value."); + } + } + + /// + /// Sets the form's screen position in independent coordinates. + /// + /// + /// Position is set relative to the form's current screen. + /// + public static void SetScreenPosition(this MainForm form, ScreenPosition position) { + var screen = Screen.FromControl(form); + + var start = form.ResolveScreenPositionEdge(position); + var end = screen.ResolveScreenPosition(position); + + var move = end.Difference(start); + + System.Diagnostics.Trace.WriteLine(string.Format("From {0} to {1} => {2}.", start, end, move)); + + var original = form.Location; + form.Location = new Point(original.X + move.X, original.Y + move.Y); + } + + } + +} diff --git a/OnTopReplica/SidePanel.cs b/OnTopReplica/SidePanel.cs new file mode 100644 index 0000000..d66f010 --- /dev/null +++ b/OnTopReplica/SidePanel.cs @@ -0,0 +1,73 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using WindowsFormsAero.Dwm; +using System.Drawing; + +namespace OnTopReplica { + + /// + /// Represents a side panel that can be embedded in OnTopReplica. + /// + class SidePanel : UserControl { + + protected override void OnCreateControl() { + if (!DesignMode) { + Dock = DockStyle.Fill; + } + + base.OnCreateControl(); + } + + /// + /// Gets the panel's parent form. + /// + protected MainForm ParentForm { get; private set; } + + /// + /// Raised when the side panel requests to be closed. + /// + public event EventHandler RequestClosing; + + protected virtual void OnRequestClosing() { + var evt = RequestClosing; + if (evt != null) + evt(this, EventArgs.Empty); + } + + /// + /// Is called when the side panel is embedded and first shown. + /// + /// Parent form that is embedding the side panel. + public virtual void OnFirstShown(MainForm form) { + ParentForm = form; + } + + /// + /// Is called before removing the side panel. + /// + /// Parent form that is embedding the side panel. + public virtual void OnClosing(MainForm form) { + } + + /// + /// Gets the side panel's title. + /// + public virtual string Title { + get { + return "Side panel"; + } + } + + /// + /// Gets the panel's desired glass margins or null if no glass surface is required. + /// + public virtual Margins? GlassMargins { + get { + return null; + } + } + + } +} diff --git a/OnTopReplica/SidePanelContainer.Designer.cs b/OnTopReplica/SidePanelContainer.Designer.cs new file mode 100644 index 0000000..1c6f3e1 --- /dev/null +++ b/OnTopReplica/SidePanelContainer.Designer.cs @@ -0,0 +1,46 @@ +namespace OnTopReplica { + partial class SidePanelContainer { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.SuspendLayout(); + // + // SidePanelContainer + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(287, 346); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.MinimizeBox = false; + this.Name = "SidePanelContainer"; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; + this.Text = "Side Panel container"; + this.TopMost = true; + this.ResumeLayout(false); + + } + + #endregion + } +} \ No newline at end of file diff --git a/OnTopReplica/SidePanelContainer.cs b/OnTopReplica/SidePanelContainer.cs new file mode 100644 index 0000000..9a195a6 --- /dev/null +++ b/OnTopReplica/SidePanelContainer.cs @@ -0,0 +1,108 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using WindowsFormsAero.Dwm.Helpers; + +namespace OnTopReplica { + /// + /// Acts as a form that can contain a SidePanel instance. + /// + partial class SidePanelContainer : GlassForm { + + EventHandler RequestClosingHandler; + + MainForm _parent; + + public SidePanelContainer(MainForm mainForm) { + InitializeComponent(); + + _parent = mainForm; + RequestClosingHandler = new EventHandler(Panel_RequestClosing); + } + + void Panel_RequestClosing(object sender, EventArgs e) { + FreeSidePanel(); + this.Close(); + } + + protected override void OnClosing(CancelEventArgs e) { + base.OnClosing(e); + + //Ensure side panel closing code is run + FreeSidePanel(); + } + + /// + /// Sets a new side panel and refreshes the window. The panel is + /// managed by the SidePanelContainer from now on. + /// + /// SidePanel to embed and to manage. + public void SetSidePanel(SidePanel panel) { + panel.OnFirstShown(_parent); + + this.SuspendLayout(); + + //Title + this.Text = panel.Title; + + //Set panel + CurrentSidePanel = panel; + panel.RequestClosing += RequestClosingHandler; + this.Controls.Add(panel); + + var minSize = panel.MinimumSize.Expand(this.Padding); + this.ClientSize = minSize; + this.EnsureMinimumClientSize(minSize); + + //Enable glass if needed + var margins = panel.GlassMargins; + if (margins.HasValue) { + this.GlassMargins = margins.Value; + this.GlassEnabled = true; + } + else + this.GlassEnabled = false; + + this.ResumeLayout(); + } + + /// + /// Removes the current side panel and disposes it. + /// + public void FreeSidePanel() { + if (CurrentSidePanel == null) + return; + + this.SuspendLayout(); + + FreeSidePanelCore(); + + this.ResumeLayout(); + } + + /// + /// Removes the current side panel and disposes it (doesn't suspend layout). + /// + private void FreeSidePanelCore() { + CurrentSidePanel.OnClosing(_parent); + + //Free hook + CurrentSidePanel.RequestClosing -= RequestClosingHandler; + + //Remove + this.Controls.Remove(CurrentSidePanel); + + //Free + CurrentSidePanel.Dispose(); + CurrentSidePanel = null; + } + + public SidePanel CurrentSidePanel { + get; + private set; + } + } +} diff --git a/OnTopReplica/SidePanelContainer.resx b/OnTopReplica/SidePanelContainer.resx new file mode 100644 index 0000000..29dcb1b --- /dev/null +++ b/OnTopReplica/SidePanelContainer.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/AboutPanel.Designer.cs b/OnTopReplica/SidePanels/AboutPanel.Designer.cs new file mode 100644 index 0000000..fc86628 --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanel.Designer.cs @@ -0,0 +1,74 @@ +namespace OnTopReplica.SidePanels { + partial class AboutPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.labelVersion = new WindowsFormsAero.ThemeText.ThemedLabel(); + this.panelContents = new OnTopReplica.SidePanels.AboutPanelContents(); + this.SuspendLayout(); + // + // labelVersion + // + this.labelVersion.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelVersion.Location = new System.Drawing.Point(0, 270); + this.labelVersion.Name = "labelVersion"; + this.labelVersion.Padding = new System.Windows.Forms.Padding(0, 0, 0, 3); + this.labelVersion.Size = new System.Drawing.Size(265, 20); + this.labelVersion.TabIndex = 0; + this.labelVersion.Text = "Version"; + this.labelVersion.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.labelVersion.TextAlignVertical = System.Windows.Forms.VisualStyles.VerticalAlignment.Bottom; + // + // panelContents + // + this.panelContents.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panelContents.AutoScroll = true; + this.panelContents.Location = new System.Drawing.Point(6, 6); + this.panelContents.Margin = new System.Windows.Forms.Padding(6); + this.panelContents.Name = "panelContents"; + this.panelContents.Size = new System.Drawing.Size(253, 255); + this.panelContents.TabIndex = 1; + // + // AboutPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.panelContents); + this.Controls.Add(this.labelVersion); + this.MinimumSize = new System.Drawing.Size(265, 290); + this.Name = "AboutPanel"; + this.Size = new System.Drawing.Size(265, 290); + this.ResumeLayout(false); + + } + + #endregion + + private WindowsFormsAero.ThemeText.ThemedLabel labelVersion; + private AboutPanelContents panelContents; + + } +} diff --git a/OnTopReplica/SidePanels/AboutPanel.cs b/OnTopReplica/SidePanels/AboutPanel.cs new file mode 100644 index 0000000..679c2d3 --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanel.cs @@ -0,0 +1,33 @@ +using OnTopReplica.Properties; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using WindowsFormsAero.Dwm; + +namespace OnTopReplica.SidePanels { + partial class AboutPanel : SidePanel { + + public AboutPanel() { + InitializeComponent(); + + //Display version number + labelVersion.Text = string.Format(Strings.AboutVersion, Application.ProductVersion); + } + + public override string Title { + get { + return Strings.AboutTitle; + } + } + + public override Margins? GlassMargins { + get { + return new Margins(0, 0, 0, labelVersion.Height); + } + } + + } +} diff --git a/OnTopReplica/SidePanels/AboutPanel.resx b/OnTopReplica/SidePanels/AboutPanel.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs b/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs new file mode 100644 index 0000000..819852c --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs @@ -0,0 +1,265 @@ +namespace OnTopReplica.SidePanels { + partial class AboutPanelContents { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.labelTranslators = new System.Windows.Forms.Label(); + this.linkCredits = new System.Windows.Forms.LinkLabel(); + this.progressUpdate = new WindowsFormsAero.ProgressBar(); + this.buttonUpdate = new System.Windows.Forms.Button(); + this.lblUpdateDisclaimer = new System.Windows.Forms.Label(); + this.labeledDivider2 = new WindowsFormsAero.LabeledDivider(); + this.labeledDivider1 = new WindowsFormsAero.LabeledDivider(); + this.linkHomepage = new System.Windows.Forms.LinkLabel(); + this.linkAuthor = new System.Windows.Forms.LinkLabel(); + this.lblSlogan = new System.Windows.Forms.Label(); + this.labeledDivider3 = new WindowsFormsAero.LabeledDivider(); + this.linkLicense = new System.Windows.Forms.LinkLabel(); + this.labeledDivider4 = new WindowsFormsAero.LabeledDivider(); + this.linkContribute = new System.Windows.Forms.LinkLabel(); + this.SuspendLayout(); + // + // labelTranslators + // + this.labelTranslators.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelTranslators.AutoEllipsis = true; + this.labelTranslators.Location = new System.Drawing.Point(0, 289); + this.labelTranslators.Name = "labelTranslators"; + this.labelTranslators.Size = new System.Drawing.Size(240, 101); + this.labelTranslators.TabIndex = 31; + this.labelTranslators.Text = "Translators:"; + // + // linkCredits + // + this.linkCredits.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.linkCredits.AutoEllipsis = true; + this.linkCredits.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkCredits.Location = new System.Drawing.Point(0, 223); + this.linkCredits.Name = "linkCredits"; + this.linkCredits.Size = new System.Drawing.Size(240, 57); + this.linkCredits.TabIndex = 30; + this.linkCredits.TabStop = true; + this.linkCredits.Text = "%CREDITS%"; + this.linkCredits.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkCredits_click); + // + // progressUpdate + // + this.progressUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.progressUpdate.Location = new System.Drawing.Point(0, 155); + this.progressUpdate.Name = "progressUpdate"; + this.progressUpdate.Size = new System.Drawing.Size(132, 23); + this.progressUpdate.Style = System.Windows.Forms.ProgressBarStyle.Marquee; + this.progressUpdate.TabIndex = 29; + this.progressUpdate.Visible = false; + // + // buttonUpdate + // + this.buttonUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonUpdate.Location = new System.Drawing.Point(138, 155); + this.buttonUpdate.Name = "buttonUpdate"; + this.buttonUpdate.Size = new System.Drawing.Size(102, 23); + this.buttonUpdate.TabIndex = 28; + this.buttonUpdate.Text = global::OnTopReplica.Strings.AboutUpdatesCheckNow; + this.buttonUpdate.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonUpdate.UseVisualStyleBackColor = true; + this.buttonUpdate.Click += new System.EventHandler(this.UpdateButton_click); + // + // lblUpdateDisclaimer + // + this.lblUpdateDisclaimer.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblUpdateDisclaimer.AutoEllipsis = true; + this.lblUpdateDisclaimer.Location = new System.Drawing.Point(0, 108); + this.lblUpdateDisclaimer.Name = "lblUpdateDisclaimer"; + this.lblUpdateDisclaimer.Size = new System.Drawing.Size(240, 44); + this.lblUpdateDisclaimer.TabIndex = 27; + this.lblUpdateDisclaimer.Text = "OnTopReplica automatically checks for updates at every start up."; + // + // labeledDivider2 + // + this.labeledDivider2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labeledDivider2.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); + this.labeledDivider2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); + this.labeledDivider2.Location = new System.Drawing.Point(0, 197); + this.labeledDivider2.Name = "labeledDivider2"; + this.labeledDivider2.Size = new System.Drawing.Size(240, 23); + this.labeledDivider2.TabIndex = 26; + this.labeledDivider2.Text = global::OnTopReplica.Strings.AboutDividerCredits; + // + // labeledDivider1 + // + this.labeledDivider1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labeledDivider1.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); + this.labeledDivider1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); + this.labeledDivider1.Location = new System.Drawing.Point(0, 82); + this.labeledDivider1.Name = "labeledDivider1"; + this.labeledDivider1.Size = new System.Drawing.Size(240, 23); + this.labeledDivider1.TabIndex = 25; + this.labeledDivider1.Text = global::OnTopReplica.Strings.AboutDividerUpdates; + // + // linkHomepage + // + this.linkHomepage.AutoSize = true; + this.linkHomepage.BackColor = System.Drawing.Color.Transparent; + this.linkHomepage.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkHomepage.Location = new System.Drawing.Point(0, 54); + this.linkHomepage.Name = "linkHomepage"; + this.linkHomepage.Size = new System.Drawing.Size(167, 17); + this.linkHomepage.TabIndex = 23; + this.linkHomepage.TabStop = true; + this.linkHomepage.Text = "http://ontopreplica.codeplex.com"; + this.linkHomepage.UseCompatibleTextRendering = true; + this.linkHomepage.VisitedLinkColor = System.Drawing.Color.Blue; + this.linkHomepage.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkHomepage_clicked); + // + // linkAuthor + // + this.linkAuthor.AutoSize = true; + this.linkAuthor.BackColor = System.Drawing.Color.Transparent; + this.linkAuthor.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkAuthor.LinkColor = System.Drawing.Color.Blue; + this.linkAuthor.Location = new System.Drawing.Point(0, 33); + this.linkAuthor.Name = "linkAuthor"; + this.linkAuthor.Size = new System.Drawing.Size(72, 17); + this.linkAuthor.TabIndex = 22; + this.linkAuthor.TabStop = true; + this.linkAuthor.Text = "%AUTHOR%"; + this.linkAuthor.UseCompatibleTextRendering = true; + this.linkAuthor.VisitedLinkColor = System.Drawing.Color.Blue; + this.linkAuthor.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkAuthor_clicked); + // + // lblSlogan + // + this.lblSlogan.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblSlogan.AutoEllipsis = true; + this.lblSlogan.BackColor = System.Drawing.Color.Transparent; + this.lblSlogan.Location = new System.Drawing.Point(0, 0); + this.lblSlogan.Name = "lblSlogan"; + this.lblSlogan.Size = new System.Drawing.Size(240, 33); + this.lblSlogan.TabIndex = 24; + this.lblSlogan.Text = "A lightweight, real-time, always on top thumbnail of a window of your choice."; + // + // labeledDivider3 + // + this.labeledDivider3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labeledDivider3.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); + this.labeledDivider3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); + this.labeledDivider3.Location = new System.Drawing.Point(0, 393); + this.labeledDivider3.Name = "labeledDivider3"; + this.labeledDivider3.Size = new System.Drawing.Size(240, 23); + this.labeledDivider3.TabIndex = 32; + this.labeledDivider3.Text = "License"; + // + // linkLicense + // + this.linkLicense.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.linkLicense.AutoEllipsis = true; + this.linkLicense.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLicense.Location = new System.Drawing.Point(0, 419); + this.linkLicense.Name = "linkLicense"; + this.linkLicense.Size = new System.Drawing.Size(240, 81); + this.linkLicense.TabIndex = 33; + this.linkLicense.TabStop = true; + this.linkLicense.Text = "%LICENSE%"; + this.linkLicense.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkLicense_click); + // + // labeledDivider4 + // + this.labeledDivider4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labeledDivider4.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); + this.labeledDivider4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); + this.labeledDivider4.Location = new System.Drawing.Point(0, 503); + this.labeledDivider4.Name = "labeledDivider4"; + this.labeledDivider4.Size = new System.Drawing.Size(240, 23); + this.labeledDivider4.TabIndex = 34; + this.labeledDivider4.Text = "Contribute"; + // + // linkContribute + // + this.linkContribute.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.linkContribute.AutoEllipsis = true; + this.linkContribute.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkContribute.Location = new System.Drawing.Point(0, 529); + this.linkContribute.Name = "linkContribute"; + this.linkContribute.Size = new System.Drawing.Size(240, 84); + this.linkContribute.TabIndex = 35; + this.linkContribute.TabStop = true; + this.linkContribute.Text = "%CONTRIBUTE%"; + this.linkContribute.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkContribute_clicked); + // + // AboutPanelContents + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoScroll = true; + this.Controls.Add(this.linkContribute); + this.Controls.Add(this.labeledDivider4); + this.Controls.Add(this.linkLicense); + this.Controls.Add(this.labeledDivider3); + this.Controls.Add(this.labelTranslators); + this.Controls.Add(this.linkCredits); + this.Controls.Add(this.progressUpdate); + this.Controls.Add(this.buttonUpdate); + this.Controls.Add(this.lblUpdateDisclaimer); + this.Controls.Add(this.labeledDivider2); + this.Controls.Add(this.labeledDivider1); + this.Controls.Add(this.linkHomepage); + this.Controls.Add(this.linkAuthor); + this.Controls.Add(this.lblSlogan); + this.Margin = new System.Windows.Forms.Padding(6); + this.Name = "AboutPanelContents"; + this.Size = new System.Drawing.Size(243, 613); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label labelTranslators; + private System.Windows.Forms.LinkLabel linkCredits; + private WindowsFormsAero.ProgressBar progressUpdate; + private System.Windows.Forms.Button buttonUpdate; + private System.Windows.Forms.Label lblUpdateDisclaimer; + private WindowsFormsAero.LabeledDivider labeledDivider2; + private WindowsFormsAero.LabeledDivider labeledDivider1; + private System.Windows.Forms.LinkLabel linkHomepage; + private System.Windows.Forms.LinkLabel linkAuthor; + private System.Windows.Forms.Label lblSlogan; + private WindowsFormsAero.LabeledDivider labeledDivider3; + private System.Windows.Forms.LinkLabel linkLicense; + private WindowsFormsAero.LabeledDivider labeledDivider4; + private System.Windows.Forms.LinkLabel linkContribute; + + } +} diff --git a/OnTopReplica/SidePanels/AboutPanelContents.cs b/OnTopReplica/SidePanels/AboutPanelContents.cs new file mode 100644 index 0000000..84738b2 --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanelContents.cs @@ -0,0 +1,99 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Update; +using System.Diagnostics; +using WindowsFormsAero.TaskDialog; +using System.IO; + +namespace OnTopReplica.SidePanels { + public partial class AboutPanelContents : UserControl { + + EventHandler _updateHandler; + + public AboutPanelContents() { + InitializeComponent(); + + LocalizePanel(); + } + + private void LocalizePanel() { + lblSlogan.Text = Strings.AboutSlogan; + linkAuthor.Internationalize(Strings.AboutAuthor, Strings.AboutAuthorContent); + labeledDivider1.Text = Strings.AboutDividerUpdates; + lblUpdateDisclaimer.Text = Strings.AboutUpdatesDisclaimer; + buttonUpdate.Text = Strings.AboutUpdatesCheckNow; + labeledDivider2.Text = Strings.AboutDividerCredits; + linkCredits.Internationalize(Strings.AboutCreditsSources, Strings.AboutCreditsSourcesContent); + labelTranslators.Text = string.Format(Strings.AboutTranslators, Strings.AboutTranslatorsContent); + labeledDivider3.Text = Strings.AboutDividerLicense; + linkLicense.Internationalize(Strings.AboutLicense, Strings.AboutLicenseContent); + labeledDivider4.Text = Strings.AboutDividerContribute; + linkContribute.Internationalize(Strings.AboutContribute, Strings.AboutContributeContent); + } + + protected override void OnHandleCreated(EventArgs e) { + base.OnHandleCreated(e); + + if (!DesignMode) { + //Updating + _updateHandler = new EventHandler(UpdateCheckCompleted); + Program.Update.UpdateCheckCompleted += _updateHandler; + } + } + + protected override void OnHandleDestroyed(EventArgs e) { + base.OnHandleDestroyed(e); + + if (!DesignMode) { + Program.Update.UpdateCheckCompleted -= _updateHandler; + } + } + + private void LinkHomepage_clicked(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://ontopreplica.codeplex.com"); + } + + private void LinkAuthor_clicked(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://lorenz.klopfenstein.net"); + } + + private void LinkCredits_click(object sender, LinkLabelLinkClickedEventArgs e) { + var exeDir = Path.GetDirectoryName(Application.ExecutablePath); + var filePath = Path.Combine(exeDir, "CREDITS.txt"); + + Process.Start(filePath); + } + + void UpdateButton_click(object sender, System.EventArgs e) { + progressUpdate.Visible = true; + + Program.Update.CheckForUpdate(); + } + + void UpdateCheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + this.Invoke(new Action(() => { + if (!e.Success || e.Information == null) { + //TODO + MessageBox.Show("Failed to download update info."); + } + else if (!e.Information.IsNewVersion) { + Program.Update.DisplayInfo(); + } + + progressUpdate.Visible = false; + })); + } + + private void LinkLicense_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://opensource.org/licenses/ms-rl.html"); + } + + private void LinkContribute_clicked(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://ontopreplica.codeplex.com/SourceControl/list/changesets"); + } + } +} diff --git a/OnTopReplica/SidePanels/AboutPanelContents.resx b/OnTopReplica/SidePanels/AboutPanelContents.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanelContents.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs new file mode 100644 index 0000000..c3d8cc6 --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs @@ -0,0 +1,131 @@ +namespace OnTopReplica.SidePanels { + partial class GroupSwitchPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.labelStatus = new System.Windows.Forms.Label(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonEnable = new System.Windows.Forms.Button(); + this.listWindows = new System.Windows.Forms.ListView(); + this.colName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.groupBox1.SuspendLayout(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.labelStatus); + this.groupBox1.Controls.Add(this.buttonCancel); + this.groupBox1.Controls.Add(this.buttonEnable); + this.groupBox1.Controls.Add(this.listWindows); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Location = new System.Drawing.Point(6, 6); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(271, 325); + this.groupBox1.TabIndex = 1; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Group switch mode:"; + // + // labelStatus + // + this.labelStatus.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelStatus.Location = new System.Drawing.Point(3, 276); + this.labelStatus.Name = "labelStatus"; + this.labelStatus.Size = new System.Drawing.Size(262, 17); + this.labelStatus.TabIndex = 3; + this.labelStatus.Text = "-"; + this.labelStatus.TextAlign = System.Drawing.ContentAlignment.BottomRight; + // + // buttonCancel + // + this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonCancel.Location = new System.Drawing.Point(195, 296); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(70, 23); + this.buttonCancel.TabIndex = 2; + this.buttonCancel.Text = global::OnTopReplica.Strings.GroupSwitchModeDisableButton; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(this.Cancel_click); + // + // buttonEnable + // + this.buttonEnable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonEnable.Image = global::OnTopReplica.Properties.Resources.xiao_ok; + this.buttonEnable.Location = new System.Drawing.Point(55, 296); + this.buttonEnable.Name = "buttonEnable"; + this.buttonEnable.Size = new System.Drawing.Size(134, 23); + this.buttonEnable.TabIndex = 1; + this.buttonEnable.Text = global::OnTopReplica.Strings.GroupSwitchModeEnableButton; + this.buttonEnable.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonEnable.UseVisualStyleBackColor = true; + this.buttonEnable.Click += new System.EventHandler(this.Enable_click); + // + // listWindows + // + this.listWindows.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.listWindows.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.colName}); + this.listWindows.FullRowSelect = true; + this.listWindows.GridLines = true; + this.listWindows.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; + this.listWindows.HideSelection = false; + this.listWindows.LabelWrap = false; + this.listWindows.Location = new System.Drawing.Point(6, 19); + this.listWindows.Name = "listWindows"; + this.listWindows.Size = new System.Drawing.Size(259, 254); + this.listWindows.TabIndex = 0; + this.listWindows.UseCompatibleStateImageBehavior = false; + this.listWindows.View = System.Windows.Forms.View.List; + // + // colName + // + this.colName.Text = global::OnTopReplica.Strings.GroupSwitchModeWindows; + this.colName.Width = 187; + // + // GroupSwitchPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox1); + this.MinimumSize = new System.Drawing.Size(240, 240); + this.Name = "GroupSwitchPanel"; + this.Padding = new System.Windows.Forms.Padding(6); + this.Size = new System.Drawing.Size(283, 337); + this.groupBox1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Label labelStatus; + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Button buttonEnable; + private System.Windows.Forms.ListView listWindows; + private System.Windows.Forms.ColumnHeader colName; + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.cs new file mode 100644 index 0000000..66183f5 --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.cs @@ -0,0 +1,89 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using OnTopReplica.MessagePumpProcessors; +using OnTopReplica.WindowSeekers; + +namespace OnTopReplica.SidePanels { + partial class GroupSwitchPanel : SidePanel { + public GroupSwitchPanel() { + InitializeComponent(); + + LocalizePanel(); + } + + private void LocalizePanel() { + groupBox1.Text = Strings.GroupSwitchModeTitle; + buttonEnable.Text = Strings.GroupSwitchModeEnableButton; + buttonCancel.Text = Strings.GroupSwitchModeDisableButton; + } + + public override string Title { + get { + return Strings.MenuGroupSwitch; + } + } + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + LoadWindowList(); + + labelStatus.Text = (ParentForm.MessagePumpManager.Get().IsActive) ? + Strings.GroupSwitchModeStatusEnabled : + Strings.GroupSwitchModeStatusDisabled; + } + + private void LoadWindowList() { + var manager = new TaskWindowSeeker { + SkipNotVisibleWindows = true + }; + manager.Refresh(); + + var imageList = new ImageList(); + imageList.ColorDepth = ColorDepth.Depth32Bit; + foreach (var w in manager.Windows) { + var item = new ListViewItem(w.Title) { + Tag = w + }; + + if (w.Icon != null) { + imageList.Images.Add(w.Icon); + item.ImageIndex = imageList.Images.Count - 1; + } + + listWindows.Items.Add(item); + } + listWindows.SmallImageList = imageList; + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + if (_enableOnClose && listWindows.SelectedItems.Count > 0) { + List ret = new List(); + foreach (ListViewItem i in listWindows.SelectedItems) { + ret.Add((WindowHandle)i.Tag); + } + + form.SetThumbnailGroup(ret); + } + else { + form.MessagePumpManager.Get().Disable(); + } + } + + bool _enableOnClose = false; + + private void Enable_click(object sender, EventArgs e) { + _enableOnClose = true; + OnRequestClosing(); + } + + private void Cancel_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + } + +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.resx b/OnTopReplica/SidePanels/GroupSwitchPanel.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/OptionsPanel.Designer.cs b/OnTopReplica/SidePanels/OptionsPanel.Designer.cs new file mode 100644 index 0000000..601eb05 --- /dev/null +++ b/OnTopReplica/SidePanels/OptionsPanel.Designer.cs @@ -0,0 +1,200 @@ +namespace OnTopReplica.SidePanels { + partial class OptionsPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.btnClose = new System.Windows.Forms.Button(); + this.panelMain = new System.Windows.Forms.Panel(); + this.groupHotkeys = new System.Windows.Forms.GroupBox(); + this.label1 = new System.Windows.Forms.Label(); + this.lblHotKeyShowHide = new System.Windows.Forms.Label(); + this.txtHotKeyShowHide = new OnTopReplica.HotKeyTextBox(); + this.lblHotKeyClone = new System.Windows.Forms.Label(); + this.txtHotKeyClone = new OnTopReplica.HotKeyTextBox(); + this.groupLanguage = new System.Windows.Forms.GroupBox(); + this.comboLanguage = new OnTopReplica.ImageComboBox(); + this.lblLanguage = new System.Windows.Forms.Label(); + this.panelMain.SuspendLayout(); + this.groupHotkeys.SuspendLayout(); + this.groupLanguage.SuspendLayout(); + this.SuspendLayout(); + // + // btnClose + // + this.btnClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnClose.Location = new System.Drawing.Point(189, 211); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(75, 23); + this.btnClose.TabIndex = 0; + this.btnClose.Text = global::OnTopReplica.Strings.MenuClose; + this.btnClose.UseVisualStyleBackColor = true; + this.btnClose.Click += new System.EventHandler(this.Close_click); + // + // panelMain + // + this.panelMain.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panelMain.AutoScroll = true; + this.panelMain.Controls.Add(this.groupHotkeys); + this.panelMain.Controls.Add(this.groupLanguage); + this.panelMain.Location = new System.Drawing.Point(6, 6); + this.panelMain.Name = "panelMain"; + this.panelMain.Size = new System.Drawing.Size(258, 199); + this.panelMain.TabIndex = 1; + // + // groupHotkeys + // + this.groupHotkeys.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupHotkeys.Controls.Add(this.label1); + this.groupHotkeys.Controls.Add(this.lblHotKeyShowHide); + this.groupHotkeys.Controls.Add(this.txtHotKeyShowHide); + this.groupHotkeys.Controls.Add(this.lblHotKeyClone); + this.groupHotkeys.Controls.Add(this.txtHotKeyClone); + this.groupHotkeys.Location = new System.Drawing.Point(3, 77); + this.groupHotkeys.Name = "groupHotkeys"; + this.groupHotkeys.Size = new System.Drawing.Size(252, 113); + this.groupHotkeys.TabIndex = 1; + this.groupHotkeys.TabStop = false; + this.groupHotkeys.Text = "Hot keys:"; + // + // label1 + // + this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.label1.Location = new System.Drawing.Point(6, 68); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(156, 43); + this.label1.TabIndex = 4; + this.label1.Text = "These system-wide shortcuts can also be used when OnTopReplica is not in focus."; + // + // lblHotKeyShowHide + // + this.lblHotKeyShowHide.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.lblHotKeyShowHide.Location = new System.Drawing.Point(168, 22); + this.lblHotKeyShowHide.Name = "lblHotKeyShowHide"; + this.lblHotKeyShowHide.Size = new System.Drawing.Size(78, 17); + this.lblHotKeyShowHide.TabIndex = 3; + this.lblHotKeyShowHide.Text = "Show/Hide"; + // + // txtHotKeyShowHide + // + this.txtHotKeyShowHide.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtHotKeyShowHide.Location = new System.Drawing.Point(6, 19); + this.txtHotKeyShowHide.Name = "txtHotKeyShowHide"; + this.txtHotKeyShowHide.ReadOnly = true; + this.txtHotKeyShowHide.Size = new System.Drawing.Size(156, 20); + this.txtHotKeyShowHide.TabIndex = 2; + // + // lblHotKeyClone + // + this.lblHotKeyClone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.lblHotKeyClone.Location = new System.Drawing.Point(168, 48); + this.lblHotKeyClone.Name = "lblHotKeyClone"; + this.lblHotKeyClone.Size = new System.Drawing.Size(78, 29); + this.lblHotKeyClone.TabIndex = 1; + this.lblHotKeyClone.Text = "Clone current window"; + // + // txtHotKeyClone + // + this.txtHotKeyClone.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtHotKeyClone.Location = new System.Drawing.Point(6, 45); + this.txtHotKeyClone.Name = "txtHotKeyClone"; + this.txtHotKeyClone.ReadOnly = true; + this.txtHotKeyClone.Size = new System.Drawing.Size(156, 20); + this.txtHotKeyClone.TabIndex = 0; + // + // groupLanguage + // + this.groupLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupLanguage.Controls.Add(this.comboLanguage); + this.groupLanguage.Controls.Add(this.lblLanguage); + this.groupLanguage.Location = new System.Drawing.Point(3, 3); + this.groupLanguage.Name = "groupLanguage"; + this.groupLanguage.Size = new System.Drawing.Size(252, 68); + this.groupLanguage.TabIndex = 0; + this.groupLanguage.TabStop = false; + this.groupLanguage.Text = "Language:"; + // + // comboLanguage + // + this.comboLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.comboLanguage.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; + this.comboLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboLanguage.FormattingEnabled = true; + this.comboLanguage.IconList = null; + this.comboLanguage.Location = new System.Drawing.Point(9, 19); + this.comboLanguage.Name = "comboLanguage"; + this.comboLanguage.Size = new System.Drawing.Size(237, 21); + this.comboLanguage.TabIndex = 2; + this.comboLanguage.SelectedIndexChanged += new System.EventHandler(this.LanguageBox_IndexChange); + // + // lblLanguage + // + this.lblLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblLanguage.Location = new System.Drawing.Point(6, 43); + this.lblLanguage.Name = "lblLanguage"; + this.lblLanguage.Size = new System.Drawing.Size(240, 22); + this.lblLanguage.TabIndex = 1; + this.lblLanguage.Text = "Requires a restart."; + // + // OptionsPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoScroll = true; + this.Controls.Add(this.panelMain); + this.Controls.Add(this.btnClose); + this.MinimumSize = new System.Drawing.Size(270, 240); + this.Name = "OptionsPanel"; + this.Padding = new System.Windows.Forms.Padding(6); + this.Size = new System.Drawing.Size(270, 240); + this.panelMain.ResumeLayout(false); + this.groupHotkeys.ResumeLayout(false); + this.groupHotkeys.PerformLayout(); + this.groupLanguage.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button btnClose; + private System.Windows.Forms.Panel panelMain; + private System.Windows.Forms.GroupBox groupLanguage; + private System.Windows.Forms.Label lblLanguage; + private ImageComboBox comboLanguage; + private System.Windows.Forms.GroupBox groupHotkeys; + private HotKeyTextBox txtHotKeyClone; + private System.Windows.Forms.Label lblHotKeyShowHide; + private HotKeyTextBox txtHotKeyShowHide; + private System.Windows.Forms.Label lblHotKeyClone; + private System.Windows.Forms.Label label1; + } +} diff --git a/OnTopReplica/SidePanels/OptionsPanel.cs b/OnTopReplica/SidePanels/OptionsPanel.cs new file mode 100644 index 0000000..d09cdaa --- /dev/null +++ b/OnTopReplica/SidePanels/OptionsPanel.cs @@ -0,0 +1,127 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Properties; +using System.Globalization; + +namespace OnTopReplica.SidePanels { + partial class OptionsPanel : SidePanel { + + public OptionsPanel() { + InitializeComponent(); + + LocalizePanel(); + } + + private void LocalizePanel() { + groupLanguage.Text = Strings.SettingsLanguageTitle; + lblLanguage.Text = Strings.SettingsRestartRequired; + + groupHotkeys.Text = Strings.SettingsHotKeyTitle; + lblHotKeyShowHide.Text = Strings.SettingsHotKeyShowHide; + lblHotKeyClone.Text = Strings.SettingsHotKeyClone; + label1.Text = Strings.SettingsHotKeyDescription; + + btnClose.Text = Strings.MenuClose; + } + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + PopulateLanguageComboBox(); + + //Stop hotkey handling and load current shortcuts + form.MessagePumpManager.Get().Enabled = false; + txtHotKeyShowHide.Text = Settings.Default.HotKeyShowHide; + txtHotKeyClone.Text = Settings.Default.HotKeyCloneCurrent; + } + + private void Close_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + public override string Title { + get { + return Strings.SettingsTitle; + } + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + //Update hotkey settings and update processor + Settings.Default.HotKeyShowHide = txtHotKeyShowHide.Text; + Settings.Default.HotKeyCloneCurrent = txtHotKeyClone.Text; + var manager = form.MessagePumpManager.Get(); + manager.RefreshHotkeys(); + manager.Enabled = true; + } + + #region Language + + class CultureWrapper { + public CultureWrapper(string name, CultureInfo culture, Image img) { + Culture = culture; + Image = img; + Name = name; + } + public CultureInfo Culture { get; set; } + public Image Image { get; set; } + public string Name { get; set; } + } + + CultureWrapper[] _languageList = { + new CultureWrapper("English", new CultureInfo("en-US"), Resources.flag_usa), + new CultureWrapper("Čeština", new CultureInfo("cs-CZ"), Resources.flag_czech), + new CultureWrapper("Dansk", new CultureInfo("da-DK"), Resources.flag_danish), + new CultureWrapper("Deutsch", new CultureInfo("de-DE"), Resources.flag_germany), + new CultureWrapper("Español", new CultureInfo("es-ES"), Resources.flag_spanish), + new CultureWrapper("Italiano", new CultureInfo("it-IT"), Resources.flag_ita), + new CultureWrapper("Polski", new CultureInfo("pl-PL"), Resources.flag_poland), + }; + + private void PopulateLanguageComboBox() { + comboLanguage.Items.Clear(); + + var imageList = new ImageList() { + ImageSize = new Size(16, 16), + ColorDepth = ColorDepth.Depth32Bit + }; + comboLanguage.IconList = imageList; + + int selectedIndex = -1; + foreach (var langPair in _languageList) { + var item = new ImageComboBoxItem(langPair.Name, imageList.Images.Count) { + Tag = langPair.Culture + }; + imageList.Images.Add(langPair.Image); + comboLanguage.Items.Add(item); + + if (langPair.Culture.Equals(CultureInfo.CurrentUICulture)) { + selectedIndex = comboLanguage.Items.Count - 1; + } + } + + //Handle case when there is not explicitly set culture (default to first one, i.e. english) + if (CultureInfo.CurrentUICulture.Equals(CultureInfo.InvariantCulture)) + selectedIndex = 0; + + comboLanguage.SelectedIndex = selectedIndex; + } + + private void LanguageBox_IndexChange(object sender, EventArgs e) { + var item = comboLanguage.SelectedItem as ImageComboBoxItem; + if (item == null) + return; + + Settings.Default.Language = item.Tag as CultureInfo; + } + + #endregion + + } + +} diff --git a/OnTopReplica/SidePanels/OptionsPanel.resx b/OnTopReplica/SidePanels/OptionsPanel.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/OnTopReplica/SidePanels/OptionsPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/RegionPanel.Designer.cs b/OnTopReplica/SidePanels/RegionPanel.Designer.cs new file mode 100644 index 0000000..f716e1c --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.Designer.cs @@ -0,0 +1,339 @@ +namespace OnTopReplica.SidePanels { + partial class RegionPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + this.groupRegions = new System.Windows.Forms.GroupBox(); + this.checkRelative = new System.Windows.Forms.CheckBox(); + this.textRegionName = new OnTopReplica.FocusedTextBox(); + this.numH = new System.Windows.Forms.NumericUpDown(); + this.numW = new System.Windows.Forms.NumericUpDown(); + this.numY = new System.Windows.Forms.NumericUpDown(); + this.numX = new System.Windows.Forms.NumericUpDown(); + this.buttonDone = new System.Windows.Forms.Button(); + this.buttonReset = new System.Windows.Forms.Button(); + this.labelHeight = new System.Windows.Forms.Label(); + this.labelWidth = new System.Windows.Forms.Label(); + this.labelY = new System.Windows.Forms.Label(); + this.labelX = new System.Windows.Forms.Label(); + this.labelCurrentRegion = new System.Windows.Forms.Label(); + this.buttonDelete = new System.Windows.Forms.Button(); + this.buttonSave = new System.Windows.Forms.Button(); + this.comboRegions = new WindowsFormsAero.ComboBox(); + this.toolTip = new System.Windows.Forms.ToolTip(this.components); + this.groupRegions.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).BeginInit(); + this.SuspendLayout(); + // + // groupRegions + // + this.groupRegions.Controls.Add(this.checkRelative); + this.groupRegions.Controls.Add(this.textRegionName); + this.groupRegions.Controls.Add(this.numH); + this.groupRegions.Controls.Add(this.numW); + this.groupRegions.Controls.Add(this.numY); + this.groupRegions.Controls.Add(this.numX); + this.groupRegions.Controls.Add(this.buttonDone); + this.groupRegions.Controls.Add(this.buttonReset); + this.groupRegions.Controls.Add(this.labelHeight); + this.groupRegions.Controls.Add(this.labelWidth); + this.groupRegions.Controls.Add(this.labelY); + this.groupRegions.Controls.Add(this.labelX); + this.groupRegions.Controls.Add(this.labelCurrentRegion); + this.groupRegions.Controls.Add(this.buttonDelete); + this.groupRegions.Controls.Add(this.buttonSave); + this.groupRegions.Controls.Add(this.comboRegions); + this.groupRegions.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupRegions.Location = new System.Drawing.Point(6, 6); + this.groupRegions.Name = "groupRegions"; + this.groupRegions.Size = new System.Drawing.Size(218, 180); + this.groupRegions.TabIndex = 0; + this.groupRegions.TabStop = false; + this.groupRegions.Text = "Regions:"; + // + // checkRelative + // + this.checkRelative.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.checkRelative.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; + this.checkRelative.Location = new System.Drawing.Point(6, 119); + this.checkRelative.Name = "checkRelative"; + this.checkRelative.Size = new System.Drawing.Size(206, 18); + this.checkRelative.TabIndex = 12; + this.checkRelative.Text = "Relative to border"; + this.checkRelative.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.checkRelative.UseVisualStyleBackColor = true; + this.checkRelative.CheckedChanged += new System.EventHandler(this.CheckRelative_checked); + // + // textRegionName + // + this.textRegionName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textRegionName.BackColor = System.Drawing.SystemColors.ActiveCaption; + this.textRegionName.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; + this.textRegionName.Location = new System.Drawing.Point(6, 44); + this.textRegionName.Name = "textRegionName"; + this.textRegionName.Size = new System.Drawing.Size(208, 20); + this.textRegionName.TabIndex = 11; + this.textRegionName.Visible = false; + this.textRegionName.ConfirmInput += new System.EventHandler(this.Save_confirm); + this.textRegionName.AbortInput += new System.EventHandler(this.Save_lost); + // + // numH + // + this.numH.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numH.Enabled = false; + this.numH.Location = new System.Drawing.Point(169, 93); + this.numH.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numH.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numH.Name = "numH"; + this.numH.Size = new System.Drawing.Size(43, 20); + this.numH.TabIndex = 7; + this.numH.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numW + // + this.numW.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numW.Enabled = false; + this.numW.Location = new System.Drawing.Point(169, 67); + this.numW.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numW.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numW.Name = "numW"; + this.numW.Size = new System.Drawing.Size(43, 20); + this.numW.TabIndex = 6; + this.numW.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numY + // + this.numY.Enabled = false; + this.numY.Location = new System.Drawing.Point(55, 93); + this.numY.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numY.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numY.Name = "numY"; + this.numY.Size = new System.Drawing.Size(43, 20); + this.numY.TabIndex = 5; + this.numY.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numX + // + this.numX.Enabled = false; + this.numX.Location = new System.Drawing.Point(55, 67); + this.numX.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numX.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numX.Name = "numX"; + this.numX.Size = new System.Drawing.Size(43, 20); + this.numX.TabIndex = 4; + this.numX.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // buttonDone + // + this.buttonDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDone.Image = global::OnTopReplica.Properties.Resources.xiao_ok; + this.buttonDone.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonDone.Location = new System.Drawing.Point(142, 151); + this.buttonDone.Name = "buttonDone"; + this.buttonDone.Size = new System.Drawing.Size(70, 23); + this.buttonDone.TabIndex = 9; + this.buttonDone.Text = global::OnTopReplica.Strings.RegionsDoneButton; + this.buttonDone.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonDone.UseVisualStyleBackColor = true; + this.buttonDone.Click += new System.EventHandler(this.Close_click); + // + // buttonReset + // + this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonReset.Location = new System.Drawing.Point(66, 151); + this.buttonReset.Name = "buttonReset"; + this.buttonReset.Size = new System.Drawing.Size(70, 23); + this.buttonReset.TabIndex = 8; + this.buttonReset.Text = global::OnTopReplica.Strings.RegionsResetButton; + this.buttonReset.UseVisualStyleBackColor = true; + this.buttonReset.Click += new System.EventHandler(this.Reset_click); + // + // labelHeight + // + this.labelHeight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.labelHeight.ForeColor = System.Drawing.SystemColors.ControlDark; + this.labelHeight.Location = new System.Drawing.Point(104, 95); + this.labelHeight.Name = "labelHeight"; + this.labelHeight.Size = new System.Drawing.Size(60, 18); + this.labelHeight.TabIndex = 9; + this.labelHeight.Text = "Height"; + this.labelHeight.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // labelWidth + // + this.labelWidth.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.labelWidth.ForeColor = System.Drawing.SystemColors.ControlDark; + this.labelWidth.Location = new System.Drawing.Point(107, 69); + this.labelWidth.Name = "labelWidth"; + this.labelWidth.Size = new System.Drawing.Size(57, 18); + this.labelWidth.TabIndex = 8; + this.labelWidth.Text = "Width"; + this.labelWidth.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // labelY + // + this.labelY.ForeColor = System.Drawing.SystemColors.ControlDark; + this.labelY.Location = new System.Drawing.Point(6, 96); + this.labelY.Name = "labelY"; + this.labelY.Size = new System.Drawing.Size(43, 17); + this.labelY.TabIndex = 5; + this.labelY.Text = "Y"; + this.labelY.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // labelX + // + this.labelX.ForeColor = System.Drawing.SystemColors.ControlDark; + this.labelX.Location = new System.Drawing.Point(6, 70); + this.labelX.Name = "labelX"; + this.labelX.Size = new System.Drawing.Size(43, 17); + this.labelX.TabIndex = 4; + this.labelX.Text = "X"; + this.labelX.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // labelCurrentRegion + // + this.labelCurrentRegion.AutoSize = true; + this.labelCurrentRegion.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelCurrentRegion.Location = new System.Drawing.Point(6, 47); + this.labelCurrentRegion.Name = "labelCurrentRegion"; + this.labelCurrentRegion.Size = new System.Drawing.Size(76, 13); + this.labelCurrentRegion.TabIndex = 3; + this.labelCurrentRegion.Text = "Current region:"; + // + // buttonDelete + // + this.buttonDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDelete.Enabled = false; + this.buttonDelete.Image = global::OnTopReplica.Properties.Resources.xiao_delete; + this.buttonDelete.Location = new System.Drawing.Point(191, 18); + this.buttonDelete.Name = "buttonDelete"; + this.buttonDelete.Size = new System.Drawing.Size(23, 23); + this.buttonDelete.TabIndex = 3; + this.buttonDelete.UseVisualStyleBackColor = true; + this.buttonDelete.Click += new System.EventHandler(this.Delete_click); + // + // buttonSave + // + this.buttonSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonSave.Enabled = false; + this.buttonSave.Image = global::OnTopReplica.Properties.Resources.xiao_add; + this.buttonSave.Location = new System.Drawing.Point(168, 18); + this.buttonSave.Name = "buttonSave"; + this.buttonSave.Size = new System.Drawing.Size(23, 23); + this.buttonSave.TabIndex = 1; + this.buttonSave.UseVisualStyleBackColor = false; + this.buttonSave.Click += new System.EventHandler(this.Save_click); + // + // comboRegions + // + this.comboRegions.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.comboRegions.CueBannerText = global::OnTopReplica.Strings.RegionsStoredRegions; + this.comboRegions.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboRegions.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.comboRegions.FormattingEnabled = true; + this.comboRegions.Location = new System.Drawing.Point(6, 19); + this.comboRegions.Name = "comboRegions"; + this.comboRegions.Size = new System.Drawing.Size(160, 21); + this.comboRegions.TabIndex = 0; + this.comboRegions.SelectedIndexChanged += new System.EventHandler(this.RegionCombo_index_change); + // + // RegionPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupRegions); + this.MinimumSize = new System.Drawing.Size(230, 185); + this.Name = "RegionPanel"; + this.Padding = new System.Windows.Forms.Padding(6); + this.Size = new System.Drawing.Size(230, 192); + this.groupRegions.ResumeLayout(false); + this.groupRegions.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupRegions; + private System.Windows.Forms.Button buttonDelete; + private System.Windows.Forms.Button buttonSave; + private WindowsFormsAero.ComboBox comboRegions; + private System.Windows.Forms.Button buttonDone; + private System.Windows.Forms.Button buttonReset; + private System.Windows.Forms.Label labelHeight; + private System.Windows.Forms.Label labelWidth; + private System.Windows.Forms.Label labelY; + private System.Windows.Forms.Label labelX; + private System.Windows.Forms.Label labelCurrentRegion; + private System.Windows.Forms.NumericUpDown numH; + private System.Windows.Forms.NumericUpDown numW; + private System.Windows.Forms.NumericUpDown numY; + private System.Windows.Forms.NumericUpDown numX; + private FocusedTextBox textRegionName; + private System.Windows.Forms.ToolTip toolTip; + private System.Windows.Forms.CheckBox checkRelative; + } +} diff --git a/OnTopReplica/SidePanels/RegionPanel.cs b/OnTopReplica/SidePanels/RegionPanel.cs new file mode 100644 index 0000000..521cbda --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.cs @@ -0,0 +1,321 @@ +using System; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica.SidePanels { + + partial class RegionPanel : SidePanel { + + public RegionPanel() { + InitializeComponent(); + + Localize(); + + //Copy settings into combo box + if (Settings.Default.SavedRegions != null) { + foreach (object o in Settings.Default.SavedRegions) { + comboRegions.Items.Add(o); + } + } + + _regionDrawnHandler = new ThumbnailPanel.RegionDrawnHandler(ThumbnailPanel_RegionDrawn); + } + + /// + /// Localizes the dialog's labels. + /// + private void Localize() { + this.SuspendLayout(); + + groupRegions.Text = Strings.RegionsTitle; + comboRegions.CueBannerText = Strings.RegionsStoredRegions; + labelCurrentRegion.Text = Strings.RegionsCurrentRegion; + buttonReset.Text = Strings.RegionsResetButton; + buttonDone.Text = Strings.RegionsDoneButton; + UpdateRegionLabels(); + + toolTip.SetToolTip(buttonSave, Strings.RegionsSaveButton); + toolTip.SetToolTip(buttonDelete, Strings.RegionsDeleteButton); + + this.ResumeLayout(); + } + + /// + /// Updates the labels for the region value selectors and the relative mode checkbox. + /// + private void UpdateRegionControls(ThumbnailRegion region) { + checkRelative.Checked = region.Relative; + + if (region.Relative) { + Padding p = region.BoundsAsPadding; + numX.Value = p.Left; + numY.Value = p.Top; + numW.Value = p.Right; + numH.Value = p.Bottom; + } + else { + Rectangle r = region.Bounds; + numX.Value = r.X; + numY.Value = r.Y; + numW.Value = r.Width; + numH.Value = r.Height; + } + + UpdateRegionLabels(); + } + + /// + /// Updates the labels of region selectors based on the dialog's state. + /// + private void UpdateRegionLabels() { + if (checkRelative.Checked) { + labelX.Text = Strings.RegionsLeft; + labelY.Text = Strings.RegionsTop; + labelWidth.Text = Strings.RegionsRight; + labelHeight.Text = Strings.RegionsBottom; + } + else { + labelX.Text = Strings.RegionsX; + labelY.Text = Strings.RegionsY; + labelWidth.Text = Strings.RegionsWidth; + labelHeight.Text = Strings.RegionsHeight; + } + } + + public override string Title { + get { + return Strings.MenuRegion; + } + } + + ThumbnailPanel.RegionDrawnHandler _regionDrawnHandler; + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + //Init shown region if current thumbnail is clipped to region + if (form.SelectedThumbnailRegion != null) { + SetRegion(form.SelectedThumbnailRegion); + } + + //Enable region drawing + form.ThumbnailPanel.DrawMouseRegions = true; + form.ThumbnailPanel.RegionDrawn += _regionDrawnHandler; + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + //Reset region drawing + form.ThumbnailPanel.DrawMouseRegions = false; + form.ThumbnailPanel.RegionDrawn -= _regionDrawnHandler; + } + + void ThumbnailPanel_RegionDrawn(object sender, ThumbnailRegion region) { + SetRegion(region); + } + + #region Interface + + /// + /// Sets the current selected region to a specific instance of a stored region. + /// + /// A stored region instance or null to reset. + public void SetRegion(StoredRegion region) { + if (region == null) { + Reset(); + return; + } + + SetRegion(region.Region); + + //Select right combobox + if (comboRegions.Items.Contains(region)) { + comboRegions.SelectedItem = region; + } + } + + /// + /// Sets the current selected region to a specific region rectangle. + /// + /// The region boundaries. + public void SetRegion(ThumbnailRegion region) { + try { + _ignoreValueChanges = true; + + UpdateRegionControls(region); + + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = true; + } + finally { + _ignoreValueChanges = false; + } + + OnRegionSet(region); + } + + /// + /// Resets the selected region and disables the num spinners. + /// + public void Reset() { + try { + _ignoreValueChanges = true; + + numX.Value = numY.Value = numW.Value = numH.Value = 0; + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = false; + checkRelative.Checked = false; + UpdateRegionLabels(); + + buttonSave.Enabled = false; + + comboRegions.SelectedIndex = -1; + } + finally { + _ignoreValueChanges = false; + } + } + + #endregion + + /// + /// Constructs a ThumbnailRegion from the dialog's current state. + /// + protected ThumbnailRegion ConstructCurrentRegion() { + Rectangle bounds = new Rectangle { + X = (int)numX.Value, + Y = (int)numY.Value, + Width = (int)numW.Value, + Height = (int)numH.Value + }; + + ThumbnailRegion newRegion = new ThumbnailRegion(bounds, checkRelative.Checked); + + return newRegion; + } + + /// + /// Adds a new stored region. + /// + /// Region bounds. + /// Name of the region. + /// Whether the region is relative to the border. + private void StoreCurrentRegion(string regionName) { + StoredRegion storedRegion = new StoredRegion(this.ConstructCurrentRegion(), regionName); + + int index = comboRegions.Items.Add(storedRegion); + comboRegions.SelectedIndex = index; + + if (Settings.Default.SavedRegions == null) + Settings.Default.SavedRegions = new StoredRegionArray(); + Settings.Default.SavedRegions.Add(storedRegion); + } + + /// + /// Internal event raised when a change occurs in the selected region. + /// + /// Region bounds. + protected virtual void OnRegionSet(ThumbnailRegion region) { + //Forward region to thumbnail + ParentForm.SelectedThumbnailRegion = region; + + //Have region, allowed to save + buttonSave.Enabled = true; + } + + #region GUI event handlers + + private void Close_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + private void Reset_click(object sender, EventArgs e) { + Reset(); + ParentForm.SelectedThumbnailRegion = null; + } + + private void Delete_click(object sender, EventArgs e) { + if (comboRegions.SelectedIndex < 0) + return; + + var origIndex = comboRegions.SelectedIndex; + Settings.Default.SavedRegions.RemoveAt(origIndex); + comboRegions.Items.RemoveAt(origIndex); + + if (comboRegions.Items.Count > 0) + comboRegions.SelectedIndex = 0; + } + + private void Save_click(object sender, EventArgs e) { + //Display textbox instead of button + buttonSave.Enabled = buttonDelete.Enabled = false; + textRegionName.Visible = true; + textRegionName.Focus(); + } + + private void Save_confirm(object sender, EventArgs e) { + if (!string.IsNullOrEmpty(textRegionName.Text)) { + StoreCurrentRegion(textRegionName.Text); + } + + //Hide textbox and show button again + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Enabled = buttonDelete.Enabled = true; + } + + private void Save_lost(object sender, EventArgs e) { + //Reset textbox + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Enabled = buttonDelete.Enabled = true; + buttonSave.Focus(); + } + + // Used to signal to the value change handler that all events should be temporarily ignored. + bool _ignoreValueChanges = false; + + private void RegionValueSpinner_value_change(object sender, EventArgs e) { + if (_ignoreValueChanges) + return; + + OnRegionSet(ConstructCurrentRegion()); + } + + private void RegionCombo_index_change(object sender, EventArgs e) { + buttonDelete.Enabled = (comboRegions.SelectedIndex >= 0); + + if (comboRegions.SelectedIndex >= 0) { + //Load region + var region = comboRegions.SelectedItem as StoredRegion; + + if (region == null) + return; + + SetRegion(region.Region); + } + } + + private void CheckRelative_checked(object sender, EventArgs e) { + if (_ignoreValueChanges) + return; + + //Get current region and switch mode + var region = ConstructCurrentRegion(); + region.Relative = !region.Relative; //this must be reversed because the GUI has already switched state when calling ConstructCurrentRegion() + if (checkRelative.Checked) + region.SwitchToRelative(ParentForm.ThumbnailPanel.ThumbnailOriginalSize); + else + region.SwitchToAbsolute(ParentForm.ThumbnailPanel.ThumbnailOriginalSize); + + //Update GUI + SetRegion(region); + } + + #endregion + + } + +} diff --git a/OnTopReplica/SidePanels/RegionPanel.resx b/OnTopReplica/SidePanels/RegionPanel.resx new file mode 100644 index 0000000..026c576 --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + \ No newline at end of file diff --git a/OnTopReplica/StartupOptions/CliStatus.cs b/OnTopReplica/StartupOptions/CliStatus.cs new file mode 100644 index 0000000..a445e68 --- /dev/null +++ b/OnTopReplica/StartupOptions/CliStatus.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.StartupOptions { + public enum CliStatus { + /// + /// No errors while parsing. + /// + Ok, + /// + /// User asked for help. + /// + Information, + /// + /// Error while parsing. + /// + Error + } + +} diff --git a/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs b/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs new file mode 100644 index 0000000..9a2ec68 --- /dev/null +++ b/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs @@ -0,0 +1,116 @@ +namespace OnTopReplica.StartupOptions { + partial class CommandLineReportForm { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CommandLineReportForm)); + this.buttonOk = new System.Windows.Forms.Button(); + this.labelInstruction = new System.Windows.Forms.Label(); + this.txtDescription = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.txtCliArgs = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // buttonOk + // + this.buttonOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonOk.DialogResult = System.Windows.Forms.DialogResult.OK; + this.buttonOk.Location = new System.Drawing.Point(440, 200); + this.buttonOk.Name = "buttonOk"; + this.buttonOk.Size = new System.Drawing.Size(75, 23); + this.buttonOk.TabIndex = 0; + this.buttonOk.Text = "OK"; + this.buttonOk.UseVisualStyleBackColor = true; + // + // labelInstruction + // + this.labelInstruction.AutoSize = true; + this.labelInstruction.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelInstruction.ForeColor = System.Drawing.SystemColors.HotTrack; + this.labelInstruction.Location = new System.Drawing.Point(12, 10); + this.labelInstruction.Name = "labelInstruction"; + this.labelInstruction.Size = new System.Drawing.Size(112, 21); + this.labelInstruction.TabIndex = 1; + this.labelInstruction.Text = "Command line"; + // + // txtDescription + // + this.txtDescription.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtDescription.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.txtDescription.Location = new System.Drawing.Point(12, 42); + this.txtDescription.Multiline = true; + this.txtDescription.Name = "txtDescription"; + this.txtDescription.ReadOnly = true; + this.txtDescription.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.txtDescription.Size = new System.Drawing.Size(503, 152); + this.txtDescription.TabIndex = 2; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(13, 205); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(60, 13); + this.label1.TabIndex = 3; + this.label1.Text = "Arguments:"; + // + // txtCliArgs + // + this.txtCliArgs.Location = new System.Drawing.Point(79, 202); + this.txtCliArgs.Name = "txtCliArgs"; + this.txtCliArgs.ReadOnly = true; + this.txtCliArgs.Size = new System.Drawing.Size(355, 20); + this.txtCliArgs.TabIndex = 4; + // + // CommandLineReportForm + // + this.AcceptButton = this.buttonOk; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.ControlLightLight; + this.ClientSize = new System.Drawing.Size(527, 235); + this.Controls.Add(this.txtCliArgs); + this.Controls.Add(this.label1); + this.Controls.Add(this.txtDescription); + this.Controls.Add(this.labelInstruction); + this.Controls.Add(this.buttonOk); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "CommandLineReportForm"; + this.Text = "Command line parameters"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button buttonOk; + private System.Windows.Forms.Label labelInstruction; + private System.Windows.Forms.TextBox txtDescription; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox txtCliArgs; + } +} \ No newline at end of file diff --git a/OnTopReplica/StartupOptions/CommandLineReportForm.cs b/OnTopReplica/StartupOptions/CommandLineReportForm.cs new file mode 100644 index 0000000..e3315ca --- /dev/null +++ b/OnTopReplica/StartupOptions/CommandLineReportForm.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.StartupOptions { + public partial class CommandLineReportForm : Form { + + public CommandLineReportForm(CliStatus status, string message) { + InitializeComponent(); + + switch (status) { + case CliStatus.Information: + labelInstruction.Text = "Command line help"; + break; + + case CliStatus.Error: + labelInstruction.Text = "Command line parsing error"; + break; + } + + txtDescription.Text = message; + + txtCliArgs.Text = Environment.CommandLine; + } + + } +} diff --git a/OnTopReplica/StartupOptions/CommandLineReportForm.resx b/OnTopReplica/StartupOptions/CommandLineReportForm.resx new file mode 100644 index 0000000..b6de04b --- /dev/null +++ b/OnTopReplica/StartupOptions/CommandLineReportForm.resx @@ -0,0 +1,1574 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAYAgIAAAAEAIAAoCAEAZgAAADAwAAABACAAqCUAAI4IAQAgIAAAAQAgAKgQAAA2LgEAGBgAAAEA + IACICQAA3j4BABQUAAABACAAuAYAAGZIAQAQEAAAAQAgAGgEAAAeTwEAKAAAAIAAAAAAAQAAAQAgAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAMAAAAGAAAABwAAAAoAAAANAAAADwAA + ABEAAAAVAAAAGAAAABoAAAAdAAAAHgAAACAAAAAhAAAAIgAAACIAAAAjAAAAIwAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACAAAAAfAAAAHgAAABwAAAAZAAAAFwAAABMAAAAQAAAADgAAAAsAAAAIAAAABwAAAAQAAAACAAAAAgAA + AAMAAAAEAAAABQAAAAkAAAALAAAADgAAABIAAAAWAAAAGQAAAB0AAAAgAAAAJAAAACcAAAAqAAAAKwAA + AC0AAAAvAAAALwAAADAAAAAwAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAuAAAALQAAACsAAAApAAAAJgAAACIAAAAfAAAAHAAA + ABgAAAAUAAAAEAAAAAwAAAAKAAAABwAAAAQAAAADAAAABAAAAAYAAAAIAAAADAAAAA8AAAATAAAAGAAA + AB0AAAAiAAAAJgAAACoAAAAuAAAAMQAAADQAAAA2AAAAOAAAADoAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOgAA + ADkAAAA4AAAANgAAADMAAAAwAAAALAAAACgAAAAlAAAAIAAAABsAAAAWAAAAEQAAAA4AAAAKAAAABwAA + AAQAAAAFAAAACAAAAAsAAAAPAAAAEwAAABkAAAAfAAAAJQAAACoAAAAvAAAANQAAADoAAAA+AAAAQQAA + AEQAAABGAAAASAAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABIAAAARwAAAEUAAABDAAAAQAAAADwAAAA4AAAAMwAA + AC0AAAAoAAAAIgAAABwAAAAWAAAAEgAAAA0AAAAJAAAABQAAAAcAAAALAAAADQAAABIAAAAYAAAAIAAA + ACYAAAAtAAAANAAAADoAAABAAAAARgAAAEsAAABPAAAAUQAAAFQAAABWAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFYAAABVAAAAUwAAAFAAAABOAAAASQAAAEQAAAA+AAAAOAAAADEAAAAqAAAAIwAAAB0AAAAWAAAAEAAA + AAsAAAAGAAAACAAAAA0AAAARAAAAFwAAAB8AAAAmAAAALgAAADcAAAA+AAAARgAAAEwAAABSAAAAVwAA + AFwAAABfAAAAYgAAAGMAAABkAAAAZQAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAYwAAAGMAAABhAAAAXgAAAFoAAABVAAAAUAAA + AEoAAABDAAAAOgAAADIAAAAqAAAAIwAAABwAAAAVAAAADgAAAAgAAAAKAAAAEAAAABUAAAAdAAAAJAAA + AC0AAAA2AAAAQAAAAEkAAABRAAAAWAAAAF4AAABkAAAAaQAAAGwAAABuAAAAcAAAAHEAAAByAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABwAAAAbwAAAG4AAABqAAAAZwAAAGIAAABcAAAAVQAAAE4AAABFAAAAPAAAADIAAAApAAAAIAAA + ABoAAAASAAAACQAAAA0AAAATAAAAGQAAACEAAAArAAAANQAAAD8AAABJAAAAUwAAAFwAAABlAAAAawAA + AHEAAAB2AAAAeQAAAHsAAAB9AAAAfwAAAH8AAAB+AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH0AAAB8AAAAfAAAAHcAAAB0AAAAbQAA + AGcAAABgAAAAWAAAAE8AAABFAAAAOgAAADAAAAAmAAAAHgAAABUAAAALAAAADwAAABYAAAAeAAAAJgAA + ADAAAAA8AAAASAAAAFQAAABeAAAAagAAAHQAAAB8AAAAgwAAAIcAAACLAAAAjAAAAI0AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjQAAAI0AAACLAAAAhwAAAIEAAAB6AAAAcgAAAGoAAABiAAAAWAAAAE0AAABCAAAANwAA + ACwAAAAiAAAAGQAAAA0AAAARAAAAGQAAACEAAAAqAAAANQAAAEIAAABPAAAAXgAAAG0AAAB8AAAAkAAA + AKAAAACkAAAAqAAAAKoAAACrAAAArAAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACsAAAAqwAAAKoAAAChAAAAlAAA + AIgAAAB9AAAAcwAAAGoAAABgAAAAVQAAAEkAAAA9AAAAMQAAACYAAAAdAAAADwAAABQAAAAbAAAAJQAA + AC4AAAA5AAAARwAAAFcAAABpAAAAgwAAALMMDAzWTk5O8FxcXOxZWVjrWVlY61lZWetaWVnrWllZ61pZ + WetbWlrrWlpa61paWutaWlrrW1pa61paW+taW1vrW1tb61tbW+tbW1vrW1tb61tbW+tbW1vqW1tb6ltb + W+pcW1zqXFtb6lxbW+pcW1vqXFtb6lxbW+pcW1vqXFtb6lxcXOpcXFzqXFxc6lxbW+pcW1vqW1tb6ltb + W+pbW1vqW1tb6lpaW+paWlrqWlpa6lpaWupaWlrqWlpa6lpaWupZWVrqWlla6lpZWepaWlrqWlpa6lpb + WutaW1rrWlta61pbWutaWlrrWlpa61taWutaWlrrWlpa61paWutaWlrrWlpa61paWutaWlrrWlpa61pa + WutaWlrrWlpa61paWutaWlnqWlpZ6lpZWepaWVnqWllZ6lpZWepaWVnqWllZ6lpaWepaWlnqWVlZ61pa + WepaWlnrWlpZ6lpaWupaWlrqWlpa6ltaWupbWlvqWlpa6lpaWupaWlrqWlpa6ltaWupaWlrqWlpa6lpa + WepaWlnqWlpZ6lpaWepbW1vrVFRU7RcXFuEAAADEAAAAngAAAIMAAAB4AAAAcgAAAGYAAABbAAAATwAA + AEMAAAA2AAAAKwAAACEAAAAQAAAAFgAAAB8AAAAoAAAAMgAAAEAAAABRAAAAZQAAAIEAAADLWVlY8ZmY + lc/HwburzsfBp8rGvafKxL2oycO7psbAuaXFvrilxL62pMO+taPBurKjvbiwo7+4r6G9tq6iu7Wtoby0 + rKG6s6yhubOrobeyqqG3s6qgt7KpoLeyqZ62saietK+mnrKupJ6zrqWes66lnrOupZ6zrqWes66lnrOt + pZ6zrKWesquknbKrpJ2yq6Sds6ylnrKspZ60raWdtK6lnbavp524saieurGpn7qzq5+7ta2fvLevnr63 + sZ/AubGfwbqxn8K6sp/FvbSew7yzoMS+tZ/EvrSfxL+1oMS/taHEv7WhxL+1ocW/tqLFv7aixsC4ocfA + uaHHwLmhx8C5ocfAuaHHwLmhyMG5ocjBuaHIwbmhyMG5ocjBuaHIwrqiycK6osnCuaDJwrmhycO7ocnD + u6HJw7uhycO7ocnDu6HJw7uhycK6ocnCuqHKw7uhycK7ocjCuqHHw7mgxsG4oMa+tqDEvbagxLy0nsO7 + sp7BurGew7yznsK7s5/EvLSfxb21nsW+tZ/Gv7igxsC5oMjDuqLJwrqiycO7os3GvqPIw7uloZ6cxWZl + ZO0JCQjdAAAAogAAAIQAAAB7AAAAbQAAAGAAAABUAAAASAAAADsAAAAvAAAAIwAAABIAAAAYAAAAIQAA + ACoAAAA1AAAARAAAAFgAAAB7BQUExHBvbu/Lx8Ktpp2Qd3xxY2RxZVhjcmdZY3JnW2JzZlhhcGZXYW1h + VmBqYFFeZ1xMXmRZSl1hV0hdYVZFXGBURFtdUEFaW01AWlhNP1lXTT1ZVUs7WFJKOlhSSTlYU0g5V1FH + N1dORTRWS0IxVkxBMVZMQTFWTEExVkxBMVZMQTFWTD8xVkw/MVZLPTBWSjwvVUo9MFZMPzFWTEAxVU5B + MVVRQzNVUkU0VVVIOVZZSztWWk09VltPQVdfU0VXYlVIV2NXSFdmWUlXaFpKV2pdTlhqX05YaWBPWGlf + TlhqYE9YamBPWWpgT1lrYVFZbGFSWmxhUlpuYVVabmFVWm9iVlpvYlZab2JWWnBjVlpyZVZacmVWWnJl + VlpyZVZacmVWWnNmV1xzZ1hcdGdYXHRnWF11altddWpbXXVqW111altddWpbXXVqW110aVtddmlaXXZq + Wlx1aVtddGdZXG9lV1twZFRabGBSWmpeUVlqXU1XZ1xMV2lcS1dpXUxXZltMWGleTlhrX09YbWFRWm1i + VFpvZFdbcmVYXHBkVltwZFdccGNVXHNpWluflIdszcfCn4WEg+kODg3XAAAAnQAAAIMAAABzAAAAZgAA + AFkAAABLAAAAPQAAADIAAAAmAAAAFAAAABoAAAAjAAAALQAAADkAAABJAAAAYQAAAI8cGxrmz83JwI2E + eG2Bd2ptioB1dJGIfHeUiYF5l46EepmQh3yakYh8mZKIe5aPhXuUjIJ6k4uAepGJf3mPiH14kId7d46E + e3aLgnh2ioN5doqDeHWKgnd0h4B1dISAdXSFgHV0hn90c4N8cXODe3FygnpvcoJ6b3KCem9ygnpvcoJ5 + b3KCd29ygndvcoJ3b3J/d21ygHducoJ3b3KDem9xhXxwcYZ8cXGGfXJyiYB1couCd3KMhHhyjYZ7c4+G + fXOSiX9zk4p/c5WMgHOWjYF0lo2CdJaPhHSWj4N0lo+EdJeQhXWXkIV1l5GFdpiRhnaYkYd2mZGIdpqR + iHaakIh2mpCIdpqQiHaakIh2m5GIdpySiHackoh2nJKIdpySiHackoh2nZOJd52UiXedlYl4nZWJeJ2W + i3idlot4nZaLeJ2Wi3idlot4nZaLeJ+YjXiflot4npaLeJ2Ui3iblIl3mpKIdpmQh3aYj4d2mJCEdJWN + gnSTjIJ0l4+EdJWNg3WVjoN1mJCEdZmRhXaakId2mpOId5qRiHaZj4Z1lIyCdJKJfnKLg3hvh3xwbH91 + Z2eCeGxi1NDLrjY1NOoAAAC0AAAAjAAAAHgAAABpAAAAXQAAAE4AAABAAAAANQAAACgAAAAUAAAAGQAA + ACMAAAAuAAAAOgAAAE0AAABkAAAAt4OCgeKupp+JiX9zcpGJf3iZk4d8o5yTg6qknYmwqqOMtK2nkLaw + qpK4sauTt7GqkrWvqZK0r6iRs62nkbOspY+xrKSPsaqkjq+po46vqqKOrqmija6poYyuqaGMrKigjKuo + oIyrqKCMq6Wdi6qlnYqqpZ2KqaOciqmjnIqpopyKqaKciqminIqpopyKqaKciqmjnIupo5yLqaKciqqk + nYqtpp6Kraaeiq6noIqvqaGKr6uii7GspIuzrKaLs66ni7Wvp4u3sKmLuLGqi7ewqYy3sKmMt7KrjLey + qoy3sqqMt7Krjbeyq423squNt7KrjbiyrI24sqyNuLKsjbmzrY65s62OubOtjrmzrY66tK2OurStjrq0 + rY66tK2OurStjru0rY67ta2PurWtj7q1rY+6ta6PurWuj7q1ro+6ta6PurWuj7q1ro+8t6+PvLWuj7y2 + ro+7ta6PubStj7m0rY65s6yOuLKsjbiyqoy4squMtbCpjLewqYu1samMtrCpjLeyq4y4sauNubOtjrq0 + rY64sauOtrGqjLOtpYmuqKCFpqCXgJ2Ui3mUjIF0joR5cIF3bGmknZR4lpST1wcHB8wAAACRAAAAfgAA + AGwAAABfAAAAUAAAAEIAAAA2AAAAKgAAABYAAAAcAAAAJQAAAC8AAAA8AAAAUAAAAGkAAADJ0tHP2pWM + g3eWjIJ6nZWNgKijm4m+saqOzLy2l9PFv6HZy8Wm3M/Kq97RzK3dz8ut3c/KrNzPyqvczsmr287JqtvN + yarazcep2s7IqdnMyKnZzMep2MzGqNjMxqjYzMan18vGp9XKxafVysWn1srFp9XKxabVysWm1MnEptTI + xKbUyMSm1MjEptPIxKbTyMSm08nEp9PJxKfUycWn1srFptbKxabWysam18vHptfMyKbXzcmn2M7Jp9nO + yqfZzsqn2c/Kp9vRy6fb0Mun2tDLp9rQzKfa0cyn2tHMqNrQzKjZ0M2o2dDNqNnQzKjZ0Myo2tDNqNrQ + zajZ0M6o2tDOqdrQzqna0M6p2tDPqdrRz6nZ0c+p2dHPqdnRz6nZ0c+p2NDOqdnRzqrZ0c6q2NHOqtjR + zqrY0c6q19HOqtfRzarX0c2q1tLOqtXRzarW0c2q1dHMqtTQzKnU0cyq1NDLqdTPzKnTz8uo08/KqNLO + yqjTz8qn0s7Jp9LOyqjTz8qn0s7KqNPQy6jU0cyp1NDNqtPPzajPzMqky8fFnsO/vpa5s7GLrqehhqOa + kXyXjoR2jIR5cYqBdWvf29jHExIS2gAAAJUAAACAAAAAbgAAAGAAAABSAAAARAAAADgAAAArAAAAFgAA + ABsAAAAlAAAAMAAAAD0AAABUAAAAbAAAAMjT0c/fnZOJe52Vi3+qo5yJvbStk6TJyrqi1NbKq9rc0LDf + 4dey4eTasuLl3LHh49yx4OTcseDj27Lg49uw4eLcseDi27Hg49uy4OLbsuDi2rLg4dqy4OHas+Di2rTh + 4dq04OHateDg2rXg4dq24OHatuDg2bbg4Nm24eDZtt/f2bfg39m44N/ZueDf2brg39q54N7auuDe2rrh + 39m74d/ZvOHf2b3h4Nm+4uHZveLh2sDj4trB5OLawuXj2sPl5NrF5eTaxubk2sbl49rG5eTaxuXi2sbl + 4trG5eHax+Xh2sjm4trJ5eLayuXi2srm4trM5uHazObh2s3n4NrO59/azuff2s7o39rQ6d/a0erf2tHr + 39rT697a0+ze2tXt3trX7d/b1+7g29nu4dvb7uLb3e7i293u4tve7uPb4e7j2+Xu5dvp7ufb7O7n2+7v + 6tvw7urb7+7s2+/u7Nvv7uza7u3s2u7t7Nrv7eza7u3s2u/t7Nru7eza7+7t2u3u7tru7e7a7+7w2u/t + 7tvw7uvb7u3l2uzr3Nbp59TR5ePKy93bv8LCvbWYsKuhh6GakXyVjIF1jYV6bt7d2swTExLaAAAAmAAA + AIEAAABvAAAAYQAAAFMAAABFAAAAOQAAACwAAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAydTS + 0d+hmZCAp5+XhbeyqpLTxL+fW9vm9jjg7f8/3ur/P97r/z/c6f8+2+f/Pdvn/z7b6P8+2+j/Qdzm/0Hc + 5v9B3Ob/Qtvm/0Pc5v9E3OX/Rtzk/0je5f9L3uX/TN/k/03f5P9Q3+T/Ud7k/1Hf4v9T3+P/VeDi/1bg + 4f9Y4OH/WuHh/1zh4P9e4eH/X+Hf/17h3/9g4d7/YuLe/2Pi3v9l4t7/Z+Te/2nj3v9q497/bebe/3Hm + 4P9y59//defh/3nn4v976OL/fOnj/37p4/+B6eP/guni/4Lq4f+G6+H/iezg/4rs3v+M7N//j+3e/5Pv + 3v+V8d//mPPe/5r13f+c9t3/nvjd/6L73P+k/Nv/qf3b/67+2/+w/9v/s//a/7X/2/+3/9v/vP/d/8T/ + 4P/N/+T/1v/n/9//7v/o//T/8P/3//f/+v/8//v////+//////////////////////////////////// + ///////////////////////////9////9v////D////n////2////87////C////t////67///+q/9PQ + xKy9ubOSraWdhJqTiXmRiX1w4N3azBMSEtoAAACYAAAAggAAAHAAAABiAAAAVAAAAEYAAAA6AAAALAAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADJ1NPR36WfloOspZ6KwLu0mt3Qy6xm2+LyQdvk/0bb + 4/9F2uP/Rtni/0fa4f9H2uH/SNvi/0nb4v9K2+D/S9vh/0vb3/9M29//Tdvf/03b3v9P3N3/Utze/1Pd + 3f9U3d3/Vt7d/1fe3P9X3dz/WN7b/1zf2v9e4Nn/YN/Z/2Dg2v9f39n/YN/X/2Hf1v9g4Nb/YuDW/2Th + 1f9m4dX/Z+LU/2rh0/9s4tP/beLT/27j0v9w5ND/ceXQ/3Ll0f9059D/debS/3jo1P976tX/f+zX/4Ts + 2f+F7tv/ifDc/43w3f+R8t7/kvXf/5P23/+W997/mvne/5z83v+f/d7/o/3g/6f+4f+r/+L/rf/j/6// + 4v+z/+P/uP/j/7z/5P/C/+b/yf7m/9L+6f/b/uv/5v7w/+/+9P/3/vn//P/9//////////////////// + ///////////////+///7/v//+P78//r+/v///v/////7///+8f/8/uf/+v7d//j+1P/2/sv/8/6//+/+ + tP/s/6z/7P+m/+z+o//s/6H/6f+j/+r/n//n/53/2tnOuMfCvpyzr6aKoJmPfJSMgnLg3dvNExIS2gAA + AJgAAACDAAAAcQAAAGMAAABUAAAARgAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbgAA + AMnU09Hfp6CYhbGro47FwLuf5djUtWLa3/Q62N7/Qdjd/0HY3f9B2dz/Q9na/0PZ2/9E2dv/Rdna/0Xa + 2f9H2tj/R9nY/0ja2P9I2tj/SNrY/0ra1v9L29X/TNvV/03c1f9Q3NX/UtzV/1Td1P9U3dP/Vd7S/1bd + 0f9W3dD/V97P/1fezv9Y3s3/Wd7M/1nezP9c3sv/Xd/K/1/fyv9h4Mn/Y+DJ/2Liyf9j48j/ZuTI/2jm + x/9p5sj/a+bI/2zox/9u6cf/cOrI/3HsyP9178f/d/DI/3nyyf999cv/gvjO/4f60f+L/df/k//a/5n/ + 3v+d/+L/o//k/6j/5P+t/uT/tP/k/7r+5f/B/uj/yv3t/9T+8v/d/vb/6f74//P++v/5//z/+//9//3/ + /v///////////////////////////////v////v////6////+f////b/+/3y/+v87v/g/ez/3v3p/9f8 + 4//i/d//6f3Q/+P+u//f/63/2P+k/9L/nf/N/5j/zv2V/8/9kv/Q/Y//0PyN/9P8jP/V+pD/wPac/6T3 + pv/Z3tbBzsnFo7mzrI+lnpR+mI+GdOHd3M0TEhLaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAyAAAAPgAAAFQAAABuAAAAydTT0eCqpJqGs66okcnFwKXq3Nm7bN/l9UXd + 5f9M3eX/Td3l/0zd4v9L297/SNvc/0Xa2f9F2dj/RNrV/0PZ0v9E2dL/RdnR/0TY0P9F2ND/RtnP/0na + zv9M3M//TtzP/1Hbzv9Q3Mz/TtvK/07Zyf9P2sn/UNrH/1Dbxv9S28X/VNvF/1XcxP9V3MT/Vt3E/1je + xP9Y3sP/Wd/C/1vhwv9c4sL/X+LB/2Dlwf9j5sD/ZebB/2Xowv9n6sH/aevC/2ruwf9s8cH/bvPC/3D2 + w/9y+cT/dvzE/3n+xv99/8j/gf/I/4f+zP+Q/s//mv7W/6v+3/+8/ur/yv3y/9b+9v/e/vn/5v77/+r+ + /P/t/v7/7P7///H////4///////////////////////////////////////+//3/+f/5//T/9P7n/+z/ + 2f/l/s7/3v/F/9D+wf+5+8L/ofrD/5n8xf+X+8b/l/rF/577yf+j+83/pvvH/7D9uv+8/af/yPyb/8v7 + lv/K+ZL/yfiP/8v2jP/S94//2viS/+T6kv/c+ZX/rfKe/93i2sfSzcqovbexkqihmICakYh14N3bzhMS + EtoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAdAAAAJwAAADIAAAA+AAAAVAAA + AG4AAADJ1NPR4KulnIa2sauSzMfEqO/h3sFc19n2MdLU/zjS1P850tT/OtPT/znS0f850dH/OdLP/znR + zf860sz/O9LM/zrSyv870cr/PNHJ/z3Syf8+0cf/PtHG/0LRxv9D0cX/QdDD/0HSwf9B0sH/RNLA/0XR + wP9G0sD/RtO//0bUvv9J1L3/Sta+/0zVvf9O1rz/Tti7/07Xu/9P2bz/Udu7/1Ldu/9V3br/VuG7/1jj + u/9Z5rv/Wum8/1ztvP9e8b7/YvW+/2X5v/9p/MH/b/3G/3X+yf98/s3/h/7U/5X93f+g/eT/p/3p/639 + 6f+z/ev/t/7s/7j+7v+z/e3/s/7r/7b+7v+9/vT/y/73/9z+/P/w////+//8//r/+//2/vf/7/7x/+b+ + 6f/e/uL/2P7f/9L/3f/P/tb/y/7N/8n/x/+//sD/r/26/6n9tv+j+7H/gfmx/2z4sv9o97P/aPi2/2j4 + tv9v+Lj/ffq//376wP97+8P/hfvL/4j6yP+k+r7/w/iy/9j5qP/d+Z7/2/eV/9r1j//U9IT/z/B5/83t + cP++5G7/4uTazdTQzqzAu7SVqqOagpyTinbh3tzPExIS2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAAB0AAAAnAAAAMgAAAD4AAABUAAAAbgAAAMnU09HgrqafiLizrJPNycap8OLfwlPU + 2fYlzNT/Lc3T/y3O0/8tzdH/LczQ/yzN0P8uztD/Ls7P/y/Nz/8wzM7/MM7M/zHMyv8wzMr/MM3I/zPM + x/8zzcf/Nc3H/zfOxv84zsX/Oc/F/zvPxf860MP/O9DD/zvQw/880MH/PNLA/z/Tv/9A1MD/Q9XA/0bW + v/9G2MD/R9nA/0fbwf9J38H/S+LB/03mv/9N6sH/Uu3D/1jxxf9f9Mn/Z/fM/2z50P90+tb/gPzc/4v+ + 4/+R/ej/kv3s/5T98P+Y/fL/mv3x/5f+7/+S/+r/jf/i/47/3v+P/97/lf/f/6L+5P+x/un/wP7t/8z+ + 8f/U/u7/1v7o/9H+3v/I/tP/vv/N/7b/x/+x/8T/rv+//67/uf+h/7b/i/+0/4T+sv+B/rH/g/2u/3/8 + r/9w+bD/Zfex/2Hyr/9c8K7/WfGx/2bzuP9t9bv/bve7/3j6vv9++8H/fvq+/4H7wf+S+8j/kvvM/5j7 + 1f+b/dT/qP3E/7T4o/+864X/u990/7bZbf+z1mr/sNFl/6/LX//j5NnO19PQrsG8tZasppyDnpWNd+Lf + 3M4TEhLaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAyAAAAPgAA + AFQAAABuAAAAydTT0uGtp6CKubSulc7Lxqrw4t/DVtbd9ijQ1/8v0Nf/L9DW/y/Q1v8x0dX/MdLU/zLR + 1P8y0NT/MtDT/zLR0P8z0tD/NNHP/zXSz/83087/OdTO/zrUz/881c7/PNXN/z3Wzf881sz/P9fL/z/W + yv9A2Mv/QdnL/0Payf9F3cr/R97K/0jhyv9I5Mv/SOfK/0nry/9N7s7/UvDP/1n10v9h+tf/afzb/3H9 + 4/97/ej/hP/u/4v/8/+N//b/jf/3/47/+P+Q//j/jv73/4j/8f+F/uz/gf/l/3//4f+B/tv/hP/Z/4z/ + 3v+X/+T/pv/t/7f+8//F/fb/0P3z/8/+6v/I/t7/vv/V/7P/yv+m/77/mv+0/5T/rv+S/6j/kP6k/5H8 + oP+S+p7/lfed/5b0nP+U8pz/kPGc/43vnv+G7Z//gOyf/37qof9566T/de2o/3jxsf+A9bn/jvXC/5n3 + yf+c+cz/qfrQ/6H7zP+S/Mf/lPrK/4/6yf+J+sT/lPrB/5b5vP+X+Lr/mfe3/5vyp/+k5pD/rtV6/7LL + b/+xym//rshr/+Tk2s7X1NCuwby2lq6mnoWgl4944+HdzxMTEtoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1dPS4bCpoYq5s66VzsvHqvHk + 4MNW1dn3J87T/y/P1P8vztP/L8/S/zHP0v8x0ND/MdDQ/zLQ0P800dD/NdLP/zbUzv821M7/N9TO/znU + zv861c7/OtXN/zvWzP871sz/PNfN/z3Xzf9A2sz/QdzL/0Lezf9D38z/ReLL/0bmy/9I6M3/TuvS/1Tw + 1v9c9Nr/ZPfh/2r56P9z++3/e/vy/3z98/97/fX/fP30/3v98/96/fH/eP3t/3f96P90/eT/dP3e/3L+ + 2v9x/9b/c//R/3j+0P98/tH/gv/Z/4/+4f+d/uj/qP7r/7P96v+1/eT/sP7a/6j+z/+g/8b/l/+8/47/ + sv+K/6r/if2n/4j7pP+I96D/h/Sb/4jvl/+H7ZX/h+mR/4fnjv+F44z/huCJ/4jehf+J24P/kNuD/5je + h/+g5Iv/qOqO/6/wkv+39Zn/tveb/67zmP+q7Jv/seql/7brsv+x7bL/rfC2/6/0vv+w98L/qfe7/6P1 + sf+i9Kv/mvWi/5z0n/+e86L/m/Wn/5r0pv+c65X/nth+/6DEav+lu2P/4+Paz9jU0a/DvreYrqighaKa + kHnj4N3PExIS2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjU09LhsKqii7u1r5bOy8ir8ePhxFXU1vcnzdD/L87R/y/P0f8w0ND/M9DR/zPS + z/8z0tD/NNPQ/zPTzv810s3/NNPN/zbUzf821M3/ONbN/zrVzf87183/O9jM/zzZzP89283/P97M/0Lg + z/9G49D/TOfT/1Pr2P9a7t7/XvLk/2L16v9q+O//bvrx/2778f9r/PD/aPzt/2f96f9n/OT/Zvzg/2X9 + 3f9k/dj/ZP3V/2T90v9l/s7/af7K/2v+yP9s/sf/b/7I/3T+zP98/tH/h/7Y/5H+3v+a/+L/nf7d/5n/ + 0v+T/sX/iv66/4X9s/+D/K//gfqp/3/3pP9/86L/fvCe/4Dsmv+B6Zb/gOaS/4DikP+A343/gNyM/4Da + iv+A2Ij/gtiF/4bZhf+O3of/l+SK/57qjP+k747/qfKQ/6fxjP+i7ob/n+iD/53jgP+a3Hv/mth3/5nV + df+a0XL/mdBz/5rPcv+gznb/rNR+/7bdhP+85Yj/wO2M/77wkf+w8ZH/pu+Q/57ujv+c7o7/ou6Y/6Tx + m/+n8Jf/ouaI/5rOcP/i5NrO19TRr8S/uZmwqaKHopuSe+Ti3c8TEhLaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNTS0uKzrKOLu7awl9DM + yKvx4+DEVtXW9ynP0f8w0NL/MdHS/zHT0P8z0tD/M9LO/zPSzf8z0s7/MtTN/zTTzv811c//N9fP/znY + zv872s7/PNvR/z7d0/9C4dX/SeXZ/1Dp3f9V7uP/V/Hn/1316/9h9+//Yfru/1/66/9c+ej/Wvrj/1n5 + 3f9Y+dj/VvjV/1f50f9X+M7/WvjL/1v3yf9c9sb/XfXD/171wv9g9sH/Y/nB/2b8wf9r/sT/cP/H/3r/ + zv+C/9f/if7Y/4z+1f+L/Mz/gvu9/3z5sv9396z/dPWm/3Pxov9z7Z7/deqc/3jom/975Zj/fOGW/3re + k/9424//eteN/3jWif971ob/fNWG/37WhP+D2IT/i96J/5Pki/+Z6oz/n+6O/6Lvjf+e7Ir/l+aG/5Xg + gP+R23z/j9Z4/5DRd/+Qz3X/kMxz/5DKcf+Rx23/kcZq/5HDaP+TwWX/l8Bh/5m/Wv+bvlP/m71Q/52+ + U/+kwl3/q81q/7XZdP+6437/teh+/6voef+n6Xv/pumD/6zskv+y75v/r++a/+Tn38/X1NGwxL65mbCq + o4ilnpN85OLe0BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI1dPS4rOtpIy9ubGX0M3IrPHj4cVZ19j3KtHQ/zHSz/8v0s7/MNLN/zHT + zv8x083/NNTO/zbVz/8419H/O9rT/z7f1/9D5Nv/SOjg/03s5f9R7uj/UvLr/1T17f9W9+3/Vvbr/1H1 + 5/9Q9OH/TPPZ/0zx1f9L79D/S+7M/07syP9P7Mb/UerD/1Lqwv9T6cH/U+m//1Xovv9V57v/V+m6/1nr + uf9d77r/YvW//2j5xP9v/cr/d/7Q/33+0v+B/c7/gfrK/3v2v/9086//be6l/2rpoP9q5J3/a+Gb/2vf + mP9t3ZT/bduS/27Zkf9x15D/c9WP/3TTjf9304r/eNGI/3nSh/981Yb/gtiG/4veiP+S5Yv/lOqK/5fs + i/+Y7In/lOmG/47ggv+J13z/htJ4/4jOdf+IzHT/iclx/4rGb/+Kxm3/i8Nr/4vCav+NwGn/jL1o/427 + Zv+QumP/krpe/5e5Vv+cuVD/mrlO/5e6Tv+WuVL/k7ZV/5G1VP+Ss1P/lbRU/6C8XP+tyGT/t9Rp/7rc + a/+1327/suB5/7Lkjv+565//5efgz9jU0bDEv7qasquliKefln3j4d7QExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjV09LitK2mjL23 + spjRzcmt8uTixVbX1fcp0c3/M9PP/zTV0f8219P/OtrW/z3e2v9D4t7/R+bj/0rr6P9N7+z/UPPu/1H0 + 7v9Q9e3/TvHp/0vv4/9H7N3/Q+nV/0Hlz/9C5Mv/Q+HH/0bhxf9H38P/Sd7C/0ndwP9L3L//TNy+/03d + uv9O3bf/UNy3/1Hdtv9S37X/VeS2/1rruv9h8sH/Z/jH/2/7y/91/dD/dvvN/3f2xv9z8r3/be2w/2jo + pf9k4p//ZN2c/2Xamf9l2Jf/aNeU/2nVk/9p05D/adKN/2fQif9pzYb/acuF/23Nh/930Yj/fNWL/4Pa + jP+K4Y7/j+aN/5Dojf+S6Yv/keeI/4zhgv+G233/gdN6/3/Mdv+ByHP/gsZx/4PEb/+ExG7/hMJr/4PA + av+EvWj/hLxl/4a6Zf+Gt2P/h7di/4e1Yf+LtF//j7Ra/5W1Vf+Yt07/mLdI/5a3Sv+RtlD/j7ZT/5C2 + Vv+Ttlj/lbZY/5u2Wf+duFv/m7dZ/56zVv+jtVj/q7xa/7PFWf+4y1z/ts1i/7rUd//l5t7P2dXSscXA + vJuyraWJqKCWfeTi3tATEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNXU0uK0raiOvreymdLOyq7x5OLGX9/d9zff3f9B5OH/Q+fk/0Lq + 5v9E6+j/RO3p/0Xu6f9G7OX/ROjg/0Pm2/9B4tb/P+HR/z/fzv8+38z/QN3J/0Daxv9A2cT/QdjB/0TW + v/9F1Lz/RdS7/0fTu/9J1Lr/SdS2/0vVtf9L1bT/TNex/07asf9U4Lb/Wui9/2DxxP9m98v/bPnO/3D4 + zv9u9MX/bO68/2jns/9i4af/YNye/13Ymf9f05b/YNOX/2LRlv9k0ZP/Y9CP/2XPjf9kzIr/ZMmI/2PH + hf9myYT/a86G/3XUh/972ov/g+KO/4zokf+M6JD/jOeP/43ki/+I3oT/gtZ+/33PeP95yXP/esZw/3vE + b/98wm3/fcFs/3++af9/vWf/f7tl/3+5ZP+At2P/gLdh/4G1YP+Ds17/g7Jd/4SwXf+Hslv/jLJX/5Oy + T/+Vtkn/lrdH/5G4Sf+Nt07/irZT/4u2WP+SuFr/lrpc/5q8Xv+evF//oL1d/6G9Xf+jvlz/p7xa/6e7 + WP+muVX/qrlU/6y3Uv+ttUz/tbVI/+bk2dDa1tSyx8G9nLStp4unoJh/5OLf0RMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tTT47Sw + qI++ubSZ0c3KrvDi4MZj6eb3N+jk/z7o4P895d3/O+HY/zrd0/852c7/ONfL/znWyP871sj/PdfJ/z/Y + yv8+2Mr/QdnJ/0DXxf8/0r7/QdC7/0DQuv9B0bn/RNG4/0TQtv9E0bT/RtC0/0fRs/9J0rD/TNaw/1Dd + tv9Y5r//X+/H/2X0zP9p9c7/afHH/2Xrvv9h47P/Xtur/1zWov9b0p3/WtCZ/1zOlf9ezJT/YMyT/1/K + kf9hy5D/YcmN/1/Hif9fx4b/ZMiF/2nMh/9v1In/dNuL/33ijf+C55H/gOaO/4Hjif+C3oj/gdqG/3/V + gv9/0H//f8t6/3zIdf97xXL/esFu/3i/av95vmj/erxm/3q7ZP96uGP/fLdh/3y2X/9+tF7/frNd/3+y + Xf+BsFv/gbBa/4OwWv+GsFn/i7JU/5G0Tv+Vtkf/k7lF/4+8SP+JvFL/ibxZ/429YP+SwWT/mMRl/57F + Zv+ix2b/o8Zl/6LDYf+iwV3/o75a/6O9WP+kulb/pLhT/6S2UP+mtE7/qLRL/6mySv+ssUX/5eTa0NnX + 1LLGwr2dtq6ojKmimYDk4uDRExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjW1NPjtbCqj7+6tJrRzcqv8eTjx13c1Pcw1Mv/ONLK/zfR + x/840cf/N9HG/zjRxP850MX/OtLF/z3SxP88z8H/PM28/zzKuf89yrr/QM27/0HPvP9Bz7v/Qc65/0HO + tv9CzbP/Rc2w/0bPsP9J1LL/T926/1fmxP9d7cj/YvDM/2Lvyv9g6L//Xd+1/1rarP9X1ab/WNCi/1fN + nP9Xy5j/V8uX/1rJlf9cyJP/XceR/1/Gjv9exYz/YMSL/2LGiP9nzIr/bdON/3Tbjv954pH/feaS/3zm + jv944Iv/d9qG/3TTgP9xz3z/dM16/3bJef94yHr/fMd5/4HHd/+AxHT/fMJv/3q+a/94u2f/eLlj/3m3 + Yf96tWD/e7Rg/3y0Xv97s1z/fbJb/3+xWv+CsVn/g7FY/4OxV/+GsFf/i7NT/5C2Tv+Uu0n/k79K/43E + U/+Kxl7/i8Vn/5DGbP+Tx27/lshv/5jJbf+Zx2n/m8Rm/5vAZP+cv2D/nL9c/5+/WP+jv1b/psBW/6fD + U/+rw1L/rsJP/66/Tf+wvUn/r7tG/7C3Q//m5NnQ2tbVs8jEvp63saiMq6OagOTi4NETEhHaAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNbU + 0+O2sauQv7u0m9LOyq/y5uPHXdPM9y/Lw/81zcP/NszC/zbMwP80yr3/Nsi6/znEuP84xLb/Ose3/zzL + uv8/z7z/QM6+/0HQvv9Czrz/Qcu2/0HIsf9EyrD/RtCz/0nVuP9Q38D/VOjI/1rrzP9d68r/W+bD/1ff + t/9U163/VNKn/1TOpP9VyqD/VMme/1bInP9YyJn/VsaX/1fHk/9XxpH/WMaP/13Fjf9fx4z/Y8yN/2nT + kf9w25P/deGS/3rllf9545L/dN+L/3HYh/9w0oP/bs9//2/Le/9vyHf/bcZ0/3DDcv90w3L/dsNz/3rE + dP9/xXP/g8N0/4HCcP99vmr/e7tn/3q3Y/95tV//erVe/3u0Xf99tF3/f7Vb/3+1Wf+BtVj/g7ZZ/4e2 + WP+Lt1j/j7lW/5S9T/+Wwkz/lMhQ/4/NWv+Mz2r/itB1/4zNeP+Qy3X/k8p0/5XKcv+Xym//l8xp/5rM + Z/+ezmT/oM1i/6DKXv+hyFv/o8VX/6TBUv+kvU7/o7dL/6KxSf+iq0P/naQ+/5yeOv+cmTf/nJY2/+Th + 2dHc2dWzycS+nrexqo2rpZyB5OLg0hMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tTT47axq5HBvLWc0s/Lr/Lm5Mdbzsb3LcO4/zXD + uf84wrj/NsK2/zbEtv84xbn/Oca3/zjHt/88yLj/Pci3/z3Fs/8/w7D/QMax/0HMt/9H1b7/TNzD/1Dk + yf9U6c7/VujN/1blx/9T3r7/T9ax/07OqP9PyqP/UMqi/1HIof9Tx5//U8ed/1PFmf9TxJf/VsOV/1jD + k/9bxZT/X8iU/2LNk/9o1ZX/bNyV/3Hglv9z5Jf/dOSU/3LekP9v1or/btCH/23Og/9tzH7/bsp7/2/H + ef9ux3b/b8V0/2/Ecf9vwW//cMBt/3XAbv93wW//fcNx/4TDb/+Gw2//hMFr/4G+Z/9/vWT/fbpg/326 + Xf9+vF7/grtc/4a8XP+Jv1z/i8Fc/4/CWv+SxFr/l8VY/5nJVv+ZzlP/ldNW/4/VZf+J13T/idd//4vW + gf+P1n7/k9V7/5LSdf+TzXD/kshq/5HCZv+PvmD/j7la/4+0Vf+Nq0//i6JK/4qcRv+KmEH/i5Q9/4uS + O/+MkTj/jpA3/5OPNf+UjzT/lZAz/5ePMv+YjjD/5OLZ0dzZ1bTJxL6euLOrjqylnYLk4uDTExIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjW1NPjtrGrksC8tp3T0Muw8+flx1vJwfcwv7T/N8K2/zXDtv82wrX/NsOz/zjBsv84wK//Ob+t/zu/ + rv8+xbT/Q9K+/0fZxP9M4cv/UOfS/1Hq0f9R5sz/UN/E/07Yuv9M0LD/SMmm/0jHo/9LxqL/TsWf/07F + nv9QxJz/UcGa/1HBmP9Vw5j/V8eY/1zMmf9h0Jv/aNef/27dn/9v4J7/ceOb/3LimP9v3pX/bdiP/2zT + iv9s0If/bM2C/23LgP9uyn7/b8l7/23Jev9vyHf/ccV0/3HFcv9xxG//csJt/3HAav9zv2n/eMFq/33E + bf+FxnH/jclx/47Lb/+Mymz/i8to/4nLZP+JzGL/is1h/4zNYv+R0GP/lNJi/5jRYP+b0GD/nNFc/5nV + W/+U2F7/jttk/4rabv+F1Xr/g9CC/4TLgP+GxHf/iL9t/4e4Zv+FsGD/gqdY/36hUP9+mkv/fpVH/32R + RP98j0D/f409/4GMPP+EjTn/h4w3/4iNNf+LjDX/jYwz/4+MMP+PjC7/kYot/5OLLf+UiSz/loks/5iJ + Kv/k4tnS3NrWtcnFv5+3squPr6ifgubj4tITEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNXU0+S3sayTwbu3nNPQzLDy5+XIXce/9zC9 + sP83v7H/N7+u/za9rv83vq7/OcGw/z3Jt/9C0b7/R9jE/0vgy/9P5M//TeLN/07hyP9O28P/S9S6/0jM + rv9Hx6X/SMek/0jGpf9JxqP/SsWg/0vDnP9OwZr/TsOb/1PHmv9YzZ7/XNKi/2TapP9q3qf/a+Gk/23i + o/9v4qD/cN+b/27alv9r15H/atKL/2nQif9rzof/bc6F/3DOgf9wzn//csx9/3LMef9yy3f/csp2/3PJ + cv9zxnH/dcdu/3THbP93yGv/e8tr/4DPa/+J023/kthx/5rcd/+h4Xz/oeF6/57gdP+a3m//ltxq/5PZ + Zv+U1WL/ltJe/5fQW/+Ry13/islf/4XLX/+Az17/fM5g/33HZP9/v2j/fbVs/32uZ/99qF7/f6NU/36d + Tv98mUj/e5VD/3qRP/97jjv/e445/3uMNv99jTP/f4wz/3+KMv+EiTD/hYgu/4WILf+Hhiv/iIYr/4uF + Kv+LhCr/jIQq/42EJ/+OhCf/j4Qn/5KEJ/+UhSf/lYUl/+Th2dLd2de1ysTAoLm0rI+wqaGE5uXi0hMS + EdkAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI1dXT5LmzrZLBvLed1NHMsfLn5chcyLz3L7ys/ze/rv85xLL/Psu6/0LRwP9F1sX/SdvI/0nd + yf9J28P/SNe+/0rUu/9IzbT/Rser/0fGp/9IyKn/Ssqs/0rKqv9KyKb/Scah/0vDnf9Ox57/U82h/1fU + pf9e2qr/ZOCr/2Tiqv9o4qj/auKm/2zgo/9t3p3/bdyZ/27Ylf9w1pP/cNeP/2/UjP9w1Ir/cNOI/3PT + hv9y04T/ctN//3TRfP930Hr/eNB2/3nRdv9+1Xb/gtl3/4bedv+J4Xb/jOV3/5Dpd/+R6Xf/j+V0/5Tj + dP+a4XT/nd92/5/ddv+c13D/lc5l/43EWv+IvVP/hLZP/4C0Uv93tV//brlk/2m8Yv9svlz/dLtS/3q2 + Tf9/rkv/gaZK/3+hSf99nET/fJk//3yVO/97kzf/eZAz/3qPM/96jDD/fIou/3yILP97hyz/e4cr/3yF + Kv9+hSn/f4Mp/4GCJ/+Cgib/goEm/4SAJf+GgCb/h4Al/4h/Jf+JgCX/i38k/4yBJf+NgCX/kYEl/5OB + JP+SgSP/5eLZ0t3Z1rbLxcGhu7Suj7GrooTm5eLSExIR2QAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjV1dPkurStksO9t57U0cyx8ublyV/Q + wvc3zLv/Q9PB/0bWxv9H2cf/RdfC/0LRu/9Bzrb/Qsux/0TGrP9Ew6f/Q8Om/0fHq/9Ky67/S82y/0zM + sP9Nyab/T8mj/1POp/9X1az/Wtyw/17isf9h47D/Y+Os/2Xiqv9m4qf/aOGk/2vgof9q3p7/bd2c/3Hb + mf9z3Jf/dduV/3fbk/933Y//dd2N/3bdiv953Yn/fd6E/4Ddhf+C4Yb/h+WG/4rphv+O7Yb/ke2G/4/t + g/+O6X//jOJ5/4fbcv+D1W3/gc1n/37FX/98vVv/g7tZ/4e8Wf+Lu1j/jbpY/4m3Wf+Aslv/da9j/2mu + a/9fsHL/WrZ0/1+5af9tuFP/f7NC/4WvPf+GqDr/hKE4/3+ZN/97lDX/d5Ey/3aOLv92iy3/doos/3eJ + LP94iCv/eIcq/3mGKv95hSn/eIMn/3mCJ/95gSb/eYAl/3x/Jf99fSX/fHwj/358I/9/eyL/gXsi/4J7 + Iv+DeyL/g3wj/4Z7I/+IfSP/i30j/419JP+NfST/j34j/5B9Iv/k4dnT3NrYtszHwqG9t6+Qsqujhebk + 4tMTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNbV0+S6tK2Sw764ntTRzbLx5uPJatvP90DWxP9D077/Qcu2/z/Isf9Axq3/QMKq/0HA + qP9Cwaj/Q8Wq/0fIrf9Ky6//S82v/07Nq/9S0qr/V9ix/1zguP9h57z/Yuu8/2Hqt/9g6LP/Y+ev/2Pm + q/9j5ar/ZuWm/2rjpP9t5KD/cOOf/3TkoP945p3/fOab/4DonP+D6pv/huya/4fvmP+J8Jj/je+Y/4/t + lv+N6JH/i+OM/4nghv+F2oL/gdR8/3zLc/94w2n/crli/3KzXP9yrlj/catU/3CpUP9wp0//b6dN/3Kp + UP93rFf/eK9j/3iycv90t3//Z7eI/1+2iP9atn//W7Vt/2WxV/90sEP/gas1/4WnM/+DoDL/fpky/3iT + MP90jS//cIou/3GHLf9xhyr/c4Yq/3OGKf91hin/d4Uo/3eDKP93gif/eIEm/3Z/Jf92fiT/dn0j/3h8 + I/96eyP/e3oi/3x6Iv97eSH/fnkh/394If+AeiH/gXoh/4N5If+EeiL/hHoi/4Z7I/+HfCP/iX0j/418 + I/+PfST/kH0i/+Th2dPd2ti2zMjDob23sJGyqqOF5uTi0xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tXT5Lu0rpPDv7mf1dLOsvPm + 5clj0L/3OMWu/0DErf8/xKz/QMOq/0HEqv9Dxqv/RMes/0bMrP9K0a3/UNSu/1TZsf9a4bn/YOq//2Tw + xP9l8sX/ZPHB/2Tvu/9j77j/ZO+0/2Tvs/9n7rD/au2r/2ztqv9y76n/d++p/3zyqP+A86f/hfSm/4ny + pf+N8aL/j+6i/47nnf+K4pf/hduR/4LTiP99zIL/eMV4/3K7cP9ttGj/arBh/2qtXP9rq1v/a6lX/2up + Vf9uqFP/bqZU/2ylU/9so1T/aaJY/2WgXf9joWL/YqVv/2GrfP9isIb/Y7iK/2m7hP9rt3H/brRb/3Kv + Rf92qjb/eqQx/32fMP97mS7/dpIt/3KMLf9uiCz/bIUr/2yEK/9tgyr/b4Mp/2+DJ/9xgib/coIm/3SC + Jf91gST/dYAk/3d/JP92fiP/d30j/3p7If95eiD/eXkg/3p5H/96eR//e3ge/3p3IP98eCD/f3cg/393 + IP+AeCD/gXkf/4J4IP+DeSH/hXkh/4Z5If+JeiL/inoh/417Iv+OeyH/5eHZ097c2bfNycOivbawkrOs + pIbm5OLTExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjW1dPkvLavlMO+uKDV0s2y8+fnyWTNvPg5xaz/Qciw/0TMsv9Hz7D/StOw/03Y + sv9Q3LT/VOG3/1rnv/9d7MT/YO7H/2TwyP9l8cb/aPDF/2vxw/9r8b7/bfK+/2/yu/9v8bb/c/K0/3by + sv969LD/fvKt/3zup/9966T/feei/3vgm/962ZP/edGO/3bKhv9zxIH/cLx6/225dP9ptW7/aLFp/2av + Zv9ormL/a61f/2usW/9qqln/aqhX/2mmVv9oo1b/ZaBZ/2SfWf9inWD/XZxi/12dZP9bn2j/V59q/1qj + a/9fqGz/Za1r/22wZv92tV3/fbZQ/3+xQv97qzn/d6Iy/3WZLv9zkCr/cIso/2+HKf9uhCn/bIQp/2qD + KP9qgij/bYIn/26AJv9vgCX/cYAk/3KAI/91gCP/d4Ei/3iAIv94fyH/en8f/3l9H/96fCD/enof/3l5 + H/94eB7/eXge/3h4Hv95eB7/e3cf/3t2Hv98dR7/fnYf/4B3IP+Adx//gXcf/4J4IP+EeCD/h3ch/4l3 + IP+JeCH/i3kh/416If/k4dnT3tvZt83Iw6O9uLGRs62khefl4tMTEhHZAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNXU0+W+uLGVxL+6n9TR + zrPx5ubKa9nA90XWtP9Q27r/VN+7/1bivP9Z5cH/XebG/1/ox/9j6cj/ZerL/2bqy/9q68n/a+rF/23q + wv9x68D/c+7A/3Lvvv9y7Lj/ceas/3Dlq/9v4qf/atqf/2fRlf9lyY3/YcWJ/2DAhf9gu4D/YLZ5/2Kz + df9ksnP/ZrFv/2exbf9psmv/abFo/2isZP9mqWD/Zqdd/2elXP9mo1r/ZaFa/2KfXf9hm2D/X5th/1ya + Yf9ammL/Wppj/1ubY/9am2H/W55f/12fXf9doFn/YqJT/2mlT/9yqUz/e65K/4GzRf+BsDz/e6Y0/3Wa + L/9wkCr/bYcn/2yCJf9qgSb/bIIn/22CJv9tgib/bYEm/22AJf9vgCT/bn4j/3F/I/90fyP/coAi/3aA + Iv95fyH/e38g/3t+H/96fh7/e3we/3t7IP95eR7/eXge/3h3Hf94dx3/eHYd/3l2H/96dR3/fHUe/3x1 + Hv99dR7/fnUe/392Hv+AdiD/gHYe/4J3H/+Fdx//hncg/4l3IP+LeCH/jHgg/+Xh2tTf29m4zcrEor+5 + s5KyraaH5eXj1BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI1tXT5b62sZXEv7uh1dHPtPDm5sp54sj3WODB/2PhyP9m5Mr/ZeTM/2bi + yv9l4sj/ZeLE/2Tiwv9i47v/ZOCz/2bgsv9m4LL/aN+w/2rfsf9n2qf/YtKf/1/Om/9by5n/WcOR/1a6 + hv9TtoL/UrN+/1Wve/9VrXf/WKx0/1mrc/9crG//YKts/2Ksa/9mrGn/aKtm/2ipZP9np2L/ZKNf/2Cg + Xf9fnV//X5xg/12bYv9cmmP/XJlj/1qYYv9amGL/WZld/1qYW/9cmVv/XJtY/16bVf9fnFH/YpxN/2Ob + R/9pnkP/cqVA/3qpP/99qzz/fqg3/3mgMP91lir/c40o/22IJf9qgiT/bIEk/2uAJf9sgCX/aoEk/2yA + I/9tgCP/boAj/25+I/9wfiH/cn4h/3N+If91gCD/eIAg/3qAH/98fh7/fH4e/3t9Hf96fB3/enkd/3l4 + Hf95eB3/eHcd/3d2HP94dhz/eXUd/3p0Hf97dB3/e3Qd/3x0Hf99dR3/fnYd/391Hv+Adh7/gnYe/4J2 + Hv+Edx//iHYf/4p4H/+Jdx7/5OHa1N/d2rjPysWjvrmzk7Gtpojm5ePUExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjW1dPlvLexlsTA + u6HV0s+08Obly33hz/hZ3cT/Xt3C/1zevf9b3rj/Wty2/1resv9Y3K3/Wdmo/1vWpv9b1KT/WNCk/1XG + m/9TvZD/U7uO/1K9kv9UvpP/UreJ/1Gygv9RsX//UbB9/1GreP9Sp3P/UqZw/1Smbv9WpGr/WKNn/1ui + Zv9epGP/YqVi/2OlY/9lpWT/ZaNl/2GgZ/9dnWb/Wppj/1qZYv9dml//XJpg/1yZXv9cmVr/W5dZ/1yY + Vv9cmFX/XJdT/12YUP9gmE3/ZJlI/2SZRf9lmkD/apw9/3CfOf90oDb/dp0y/3adLv96nS3/epgq/3iS + J/9ziyX/bYQj/2l/I/9pfiL/aX4j/2t/Iv9tfyL/bX8i/25/If9wgCD/cn4f/3J+Hv90fR7/dn4e/3p+ + Hv97gB7/fIAd/3yAHP98fhz/fH0d/3t8Hf96ehv/eXgc/3h3Hf93dhz/eHQc/3h0HP94dRz/eXUc/3ly + G/95cxz/e3Mc/310Hf98dBz/fnUe/351Hv+AdR3/g3Yd/4Z1Hv+Hdh//iXcf/4l1Hv/k4trU39zauM7K + xaS9uLOUtK+oiOfl49QSEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNbV1OW/ubOWxMC7odXTz7Tx5ufLdt/B+FHasv9Y2bL/V9eu/1jU + q/9WzaX/VMae/1C/lv9JupP/SLiR/0mxi/9KsIb/S7GG/020i/9PtYz/T66D/06sf/9OrX7/UK9//0+o + dv9Po2//T6Jt/1Cha/9Qn2b/Upxk/1SdY/9VnWH/WZxh/1mdZP9bn2b/XqBo/1+gav9goWb/YJ9k/12d + Yf9dml3/XJhb/12YWf9dmFj/XplW/16ZVP9dmVP/X5hQ/2CYTv9gl0v/YphG/2WYQv9omj//apo7/2ya + Nv9sljL/aZEu/2uSKv9zlSn/e5so/4CdJ/99lif/d5Am/3KIJP9rgCH/aX0h/2l8IP9pfSD/a34g/21/ + IP9ufx//b34f/3F+Hf9zfx3/c34c/3V+Hf92fhz/en8d/3yCHP9+ghv/fYAc/31+HP98fRz/fHsc/3p6 + HP95eBz/eXYc/3h1G/94dBv/eHQb/3hzG/95chv/eXIb/3lyG/96chv/e3Ib/3xyG/9+cxz/f3Md/4B0 + Hf+DdB3/hXQd/4V0Hf+HdR//iHUe/+Ti2tTf3Nq5zsrFpMC6s5S0sKiJ5uXj1RMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tXU5b65 + s5bEwryg1dPPtPLo6Mty0LT4S8Kg/029nP9JuZf/R7aT/0WxkP9ErYv/RauI/0Wog/9GqoH/RamB/0ir + g/9IqH//SKZ7/0qlef9Kp3z/Tap9/02kdf9NoHH/TKFt/02ia/9PnGX/UJlh/0+aYf9PlmP/UJZl/1CX + ZP9TmGX/V5tm/1udZf9dn2T/YKBj/2KhYf9joF3/YZ1a/2CYWP9emVb/YJlV/2GZVP9gmVL/YJhP/2CY + TP9il0j/ZJdF/2SXQv9olz7/a5k7/2yZN/9pkzD/ZYsr/2SGJv9niSb/cJAm/3mVJP+AmyT/f5kl/3qT + I/91jCP/b4Qg/2p8H/9pex3/aHse/2p8Hv9sfR7/bn0c/29+HP9yfR3/c38b/3V/G/90fhz/dX4c/3d/ + G/99gBz/foIc/3+CGv9+ghr/fn8b/319G/98exv/enka/3l3Gf95dhv/eHQb/3dzGv93cxr/d3Ea/3ly + G/95chv/eXIb/3pyG/97chv/fHIb/31zG/9/chz/f3Ic/4JzHf+Ecxz/hXQd/4d1Hv+HdB3/5OLZ1d7c + 2rnPysWkv7u0lbOwqInm5ePVExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjW1dTlvbi0l8XCvaLW09C18urqy2S7ovg7rYv/RLCO/0Ov + jP9DrIn/RKiF/0Slgv9EpH7/QqB7/0Khef9DoHb/RKB1/0addP9In3T/SaF0/0mgc/9Lnmz/TZ9s/02h + bP9MnWj/S5hl/02YZ/9LlmT/SpNj/02TZf9NlGT/UZZh/1WYYf9aml//Xp1f/2CgXv9joV3/ZaJd/2Wg + Wv9jnFf/YZpU/2CZUf9imlH/ZZtP/2SYTP9kl0f/ZpZE/2aWQP9plz7/apg7/22XN/9pkTD/ZIoq/2CE + Jv9igyT/Z4Uk/26KI/91jyP/fJUk/3+YJf99liT/eY8h/3SJIP9tgh3/aXod/2h6HP9pexz/bHoc/258 + HP9vfRn/cH0Z/3J+HP91gRz/dYAa/3WAGf94fhr/fIAc/3+CGv+Agxv/f4Ma/3+CGf9/fxn/fn4a/318 + Gv97eRn/eXcZ/3l2Gf94dBv/d3Ma/3dzGf93cRr/eXEb/3lyG/96cBn/enAZ/3twGf98chv/e3Ea/39y + HP9/chz/gnEb/4RzHP+Dchv/hXMc/4VyG//l4tnV4N3buc7Lx6a/vbaWta+piufl49UTEhHZAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNbW + 1OW+uLSXxcK+otbTz7Xz6+vLZred+DumhP9CqYf/Q6eE/0Gkgf9BoX3/Qp94/0CbdP9BmXP/Q5pw/0OZ + bP9EmW3/RJpt/0ecbf9ImWj/Spto/0ufbP9LnWr/Spdo/0ubaf9KmGn/SpNm/0uVY/9MlGL/T5Nf/1GU + Xf9Tllz/WJhc/1ybXP9gnlr/Y6Ba/2aiWf9po1j/aKFW/2adUv9lmk//ZZlM/2eaS/9pm0n/Z5lE/2mY + QP9qlz//bJg8/2yYOP9nkDL/ZIgr/2GDJ/9ggiP/Y4Mj/2aCI/9shCL/dIki/3mOIf99kyL/f5Yj/3yT + If94jSD/c4ce/2x/G/9peRv/ankb/2t5Gf9sehr/bnwa/3B9GP9wfhj/c4Aa/3WDGv92ghr/d4EY/3qA + GP99ghr/gIQa/4GEGf+Bgxr/gYIZ/4CBGf9/gBj/fnwY/3x5Gf97eBr/encZ/3h1Gv95dBn/eHMY/3hx + Gf93cBn/eHEa/3lwGf95cBn/eXAZ/3pwGf98cRv/fXAa/31wGv+AcRv/gnEa/4NyG/+Fcxz/hXIb/+Xi + 2tXg3du6zszHpr+8tpa2r6mK5+Xj1hISEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tbV5b+8tZfGwr2j19TRtvTs7MxksZX4OZ56/0Gi + f/9Aon3/QZ94/0Kcdf9CmnL/QJhw/0GTa/9Bkmf/Q5Vn/0OYaf9ElGX/RpRl/0aZaP9ImWv/R5Vn/0mZ + af9KnGv/SZdk/0uXY/9Nl2L/TZNf/06TXP9QlFv/U5NZ/1WWWf9amVj/X5tX/2OeV/9moVb/aaNX/22k + U/9solL/ap5N/2maSf9pmkf/a5pE/22ZQv9tmT//bpk8/26YOP9qkjP/Y4gs/2CEKP9igiX/ZIIj/2WC + Iv9ngSH/an8g/3CEH/93iB7/eo0e/36SIf9/lCH/fI8g/3eJH/9yhBz/bXsa/2p4Gf9reRj/a3oY/257 + Gf9vfRn/cH4W/3KAFv91ghj/d4QZ/3aDGf94gBf/fIEX/32DGP+AhRj/goYY/4SEGf+Dgxn/goIY/4GA + GP9/fRf/fXoY/3x4Gf97dxn/eXQZ/3l0Gf94chn/d3EY/3ZwF/93cRj/eXEY/3lwGf95bxj/eW8Y/3tw + Gf99cBr/fXAa/4BwGv+CcRv/g3Ia/4RxGv+EcRn/5eLZ1eDd3LvQzMemwr23lrexq4vn5ePWEhIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjW1tXlwLy1mMbEvqPX1NG29OzszGSukPg4mnT/P5x3/0Gedv9CnXT/Qppx/0GVa/9Ckmf/Q5Jn/0KT + Z/9CkGT/RI9j/0SSaP9FlWr/RZFl/0iTaP9Mm2r/TJdl/0uVY/9OmWP/TZZf/06TXP9QlFz/T5NZ/1CS + V/9Vk1b/WJZV/1yYVP9gmlX/ZZ9T/2qhUv9to1L/b6RP/2+hSv9tnkb/a5pD/2yaQf9vmj//cZo8/3KZ + Ov9ukzT/ZYst/2OFJ/9jgyX/ZYIl/2SAI/9mgCH/aIAf/2mAHf9vfhz/coIc/3aIHf97jR//fpIe/3+R + H/97ix7/eIgd/3GCGv9sexn/a3kY/2t6GP9texn/b3sZ/3B9F/9xfxb/c4EX/3eEGP96gxn/eYEY/3qA + F/99ghf/f4QX/4KFF/+Ehhj/hIQX/4ODGP+Cghj/gYAY/399F/99ehf/e3gY/3p2F/95dBf/eHMY/3dy + GP93chf/d3AX/3hwF/95cBn/eG8Y/3hvGP95bxj/enAZ/3xvGf98bxn/fHAZ/39xGf+CcBn/hHEa/4Rx + Gf/l4tnW4N3cu9HMx6bDvbiXuLOsi+fl49YSEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNfW1eXAvLWYx8O+o9fU0bb07O3MY6qL+DiW + bf9BnHT/Qpxz/0Gab/9Cl2v/Q5Rp/0KTZv9DjmT/QYxj/0GOZv9DkWb/RY9j/0WQYv9HlWX/SZVk/0mS + X/9NmGL/Tphh/02UW/9Oll3/UJRb/1GRVv9Sk1f/U5JU/1eSU/9ZlVH/XJhQ/2KbUP9nnk7/baFO/3Kj + Tf90o0n/dKFF/3CdQv9umj7/cJo8/3ScO/9xmTb/a48v/2WIKf9lhSf/ZoQl/2aDIv9ngiD/aIAe/2l/ + Hf9rfhz/bH4b/29+G/9ygxv/dogc/3uMHf99kBz/fpAd/3qKHP93hxv/cIEY/2t7Gf9rehj/bHoY/258 + F/9wfhX/cH4U/3J/Ff91gRf/eoUY/3yEGP97ghj/fIEX/36DF/+BhRf/hIYY/4SGGP+Fhhj/hIQY/4OB + F/+CgBj/gH0X/356Fv98eBj/eXUX/3l0F/94cxj/d3IX/3ZxF/93cBf/eHAX/3dvF/94bxj/eG8Y/3hu + GP95bxj/e24Y/3xvGf98bxn/f3AZ/4FvGf+EcRr/g3AZ/+Xh2dbg3ty70c3JpsS/uJe5tKyL5+Xj1hIS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI19bV5cC8tpnHw76j19TRtvTs7cxiqon4OJZo/0Cabf9Cm23/Qplt/0GWav9BkWf/Qo1j/0CN + Y/9CjWH/Q41f/0OLX/9Gj2D/SJFf/0eOXv9JkV3/S5de/0uSWv9PlFv/TpZc/1CSVv9Sk1b/VJNU/1WQ + Uv9XklH/WJJP/1uVT/9gmEv/ZZxJ/2ygSf9xo0j/d6RF/3qkQv94okH/dp89/3OZOf9ylzb/bpQy/2mN + LP9piij/aIgn/2iEJP9ogyL/aIIf/2qAHf9rfxz/bH8b/21+Gv9tfBn/b34Z/3OBGP92hxr/eYob/32Q + HP99jxr/eosa/3eIGv9wgBj/bHsY/2x6F/9ufBf/b30X/3B+Ff9xfxX/dIEU/3mDFv98hRf/fYQX/3uC + Fv98ghX/foQW/4KGFf+GiBb/hocX/4aGF/+GhRb/hIEY/4OAF/+BfhX/f3oV/3x3F/97dhb/eXQW/3lz + F/93chb/d3EW/3hwF/94cBf/d28W/3huFv94bhb/d20W/3luF/97bhj/fG8Y/35uGP+Abxj/gG8Z/4Jw + Gf+Cbxf/5eLZ1uHe3LvRzsmmxL+4l7myrIzn5eTWEhIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjX1tXlv723msjEv6XY1dK39e3tzWOo + hPg5lGX/QZlr/0KZbf9Dl2z/QpNp/0KQZf9CjGH/Qoxd/0SLXP9Filz/Rotd/0eLW/9Hi1n/SZBb/0qP + WP9NkFb/UJRZ/0+TVv9RkVb/U5VW/1KSUf9Uk1D/VpBN/1eSTP9Zk0z/X5ZJ/2SaRv9snUX/cqBF/3ak + Qf97pj//faY9/32kPP95njf/cJQx/2uOLP9qjCn/bYwn/22LJP9rhyD/bIMg/2yBHv9sgB3/bX8c/25+ + Gv9ufRn/b3wX/257Fv9vfRf/c4IZ/3eGGf96ihv/fpAb/32PG/96jBn/d4gY/3B/F/9texb/bnsU/29+ + FP9xfxX/cX8U/3KBFP93ghT/fIQV/36HF/9+hBX/fYIV/32CFf9/hhX/g4YV/4eIFf+Hhxb/h4YV/4aF + Fv+Eghf/gn8V/4F+FP9+exP/fXcV/3x2Ff96dBX/enMW/3hxFP94cRX/d28W/3dvFv93bxb/d28W/3du + Fv93bRb/eW4V/3ptF/96bhb/fW8X/39uF/+Abxf/gHAZ/4JvF//l49rW4d/cvNLNyafDvriYuLKsjebl + 5NcSEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNfW1eXAvbeax8W/pdjV0rf07O7NZKeD+DiRZP9Clmr/RJlr/0OXaP9Dk2T/RJBg/0SN + Xv9EiVr/RIlY/0WKWf9Fh1f/R4pW/0mMVf9Ji1T/TI5U/0+RVP9QjlP/UpNS/1KSUf9Uk0//VZVN/1WS + S/9Ykkr/WpJH/16WRf9lmUP/bJ1B/3KfQf92oj7/e6U8/4GnPP+Epzn/fqE1/3KVL/9rjCj/a4wm/26M + Jf9xjSL/cIoi/26GIP9uhB3/boEc/25/G/9ufhn/cH8W/299Ff9uehb/bnoW/3B+F/9zgxj/eIkZ/3uO + Gf9/khr/fY8a/3qNGP93hxf/cH4V/258E/9vfRT/cH4U/3OAFf90gBX/dIEU/3mDE/99hxT/f4cW/36G + FP99hBT/f4MT/4KHFf+FiBb/iIkV/4iIFf+GhhX/hoQW/4WCFv+CgBT/gH0U/398E/99eBT/fHYW/3p0 + Ff95cxX/eXIV/3hxFf93bxb/d28V/3dvFv93bhX/d20V/3dtFf94bRX/eW0W/3ltFf99bhb/f20W/39t + Fv9/bhf/gW4W/+bi2tbh3ty80c3JqMO+uJm6tK6N5+bl1hISEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tXV5sG9t5rIxb+l19bSt/Tt + 7s1jo4H4O5Bi/0SWZ/9ElmX/RZVj/0WUYf9Djlz/RYpY/0SJV/9Eh1X/RYZS/0mJU/9JiFL/SohP/02N + Uf9NjE//To1O/1KQUP9Tj0z/VZNN/1STSf9Yk0n/WpRH/16WRv9hl0P/ZJpC/2qbQP9vnT3/dKA7/3uj + Of+Bpzj/hKg3/3+jMv94mS7/cJAo/2yKJP9uiiP/cowi/3ONIP9zih7/cYYe/3CFGf9ygxj/cYEX/3B/ + Ff9vfhT/bn0U/256Fv9uexT/cX8W/3WFF/95ixf/fpAY/4GTGP9+jxf/fo8X/3mIFv9wfRT/b30T/3F+ + Ff9yfhb/dIAV/3iCFP95ghX/fIYU/4GKFf+AiBX/foQT/32DEv9/hRP/hYgV/4mKFv+HiBX/h4gU/4eH + FP+GgxX/hIEV/4OAE/+BfRP/f3wU/316Ev98eBT/enQT/3lzFP95cxT/eXMU/3hxFP94bxX/eG8V/3dt + Ff93bRX/d20V/3htFf95bRX/eW0V/3xtFf9+bRb/fm0W/39uF/+AbRX/5uLa1uHe3LzQzcmoxL+6mb21 + r43o5+XWEhIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjX1dXmw723msjFv6XY1dK39OzvzWWkfvg7jlv/RJRi/0eXY/9JlmD/RZBc/0aN + Wf9GjFb/Q4ZQ/0SEUP9IiE//SYVN/0mGTv9LiEz/TIdJ/0+MS/9PjUr/Uo1K/1WPSv9WkEf/WpZF/16X + Rf9hm0P/ZJtC/2aaQP9omz7/bZs7/3OeOf96ojf/g6Y2/4GmMv99oiz/epsp/3mVKP9yjyT/bYki/3KK + If92jB7/dYse/3WJHP91hxn/coQZ/3OCF/9ygRX/b34U/3B+FP9vfRT/bnsV/257E/9xfxX/doUW/3qL + Fv+AkRf/gJMY/36PFv+CkBj/eIcV/3B+FP9wfxX/cn8T/3OAE/93gRP/eYIU/3yEE/+AiRT/gYsU/4GJ + E/9+hBP/fYMS/4CGE/+GiRT/iIkT/4mKFP+HiBT/h4cV/4aEFP+EgRP/g4AT/4F9E/9+ehL/fHoR/3t3 + Ev96dBP/enMU/3lzFP95chP/eHAU/3hvFP93bhT/d20V/3dtFf93bBX/eG0V/3ltFf95bBX/em0V/3xs + Ff9+bRb/f24X/4BtFf/m4trX4d7dvdHOyajFv7qZvLWvjejn5dYSEhHZAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNbW1ebDvbeaycXApdfW + 0bf07u/NZqJ6+DyOWP9Gll//RpVc/0iVWv9Hklr/RYxX/0WIUP9Ghk7/R4RL/0qCS/9Lhkr/SoVK/0yG + R/9OiUf/T4hG/1CKR/9TjEP/V5FD/12XRP9jnEP/Zp5B/2aeQP9mnD3/aZo6/22aOf9znzj/e6Y1/36m + Mv98oS//eJsq/3qaJf98mST/epUm/3OOIv9xiR7/dYod/3iMGv96jBr/eYoZ/3eHGf91hBj/dIMW/3KB + FP9wfxP/cH0U/298E/9ufBP/bnwT/3OCE/94iBT/fI0V/4KTFv+Bkhb/gpEV/4aUFv95hxX/cIAU/3KB + E/90gRP/d4IS/3mCEv95gxL/fIUS/4KKEv+EjBP/gooR/3+GEv9/hBH/gocS/4iKE/+JixL/iYoS/4iI + Ev+HhhP/hoUT/4SCEv+DgBP/gX0Q/396EP99ehD/fHcS/3t0E/97dRH/e3MT/3pyFP95cRT/eHAT/3dv + E/93bhT/d24U/3dsFP94bBT/eW0V/3htFP95bRX/em0V/31sFf99bRb/gG0V/+bi2tfi3929087KqMTA + upm7ta6N6efl1hISEdkAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI1tbV5sK+uJvJxcCl19bRt/Pu781mo3j4PIxU/0aTWP9Jlln/SJVY/0aR + Vf9GjVL/R4hO/0iDSf9Igkf/S4RI/0uDRv9NhEX/TIVF/06EQ/9QiEL/U4xA/1yTQf9gmkD/ZZ9A/2if + Pv9lnjz/ZZs7/2mYOf9umzj/dqQ2/3mpMf93oy3/dZkq/3WVJ/96mST/fpoi/36aJP98lCP/dYwd/3SJ + G/93ihr/eo0Z/3uNGf96ixj/eYgY/3aEFf90hBX/coIU/3F/FP9wfhP/bn0T/298Ev9wfhP/dYYS/3uL + FP9/jxT/hpQV/4aTFP+FlBX/iJUW/3eGE/91gRH/dYMS/3iEEf96hBH/e4US/3yFEf9/iBH/hIwT/4aN + FP+DihH/gIYR/4GFEP+GhxD/iYsR/4mLEf+JihL/iIkQ/4aHEf+FhRL/hIIS/4OBEf+Bfg//f3sR/315 + Ef98dxH/e3YQ/3t2EP96dRL/e3QT/3lxFP95cBP/eHAS/3duE/93bhT/eW4T/3htE/94bRP/eG0U/3ts + E/99axX/fWwV/31tFv+AbhT/5uLb1+Lf3b3TzsqpxMC6mbu2sI7p5+XWEhIR2QAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjX1tXmw764m8jF + v6bY1tK49O7wzmiidPg/i0//R5JV/0iUVP9KlFT/SZBR/0qMTf9Kh0r/SYRG/0mCRP9KgUP/TYNC/0yC + QP9Og0D/UIc//1qOPv9gmD7/ZJw+/2efPP9mnTv/Zps4/2aZOP9qmTj/c6E1/3itNf93qS//b5kp/26Q + Jv90kCP/eZUi/3+aIP+AmSL/gJkg/36TIP93ixv/dYob/3qMGP98jBn/fY0Z/36MGP98hxb/eIUV/3aE + E/9zgRX/c4EU/3J/Ev9wfhH/cX4R/3OAEv95hhL/gIwT/4STFf+Jlxb/hpQW/4qXFf+KlhX/eYUS/3iC + Ef95hBD/e4YS/32GEv99hxL/f4cS/4KLEP+HjxL/ho4S/4OKEf+Ahw//gYcO/4aKD/+JixD/iYsQ/4mL + EP+HiBD/h4UR/4aEEf+DghD/gX8P/4B9Dv9+ehH/fXgR/3x2EP97dxH/e3YQ/3x0Ev99cxP/e3IS/3tx + Ev96bxP/eW4S/3luEv95bhT/eG0T/3htE/94bRP/e20T/31sE/98bRP/fm4V/4BuE//m4tvX4d/dvdLO + y6rFwLuavLawjunn5dYSEhHZAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNfW1ebCvribx8XAptjW0rn07e/OaKBw+ECJS/9JkVH/SpNR/0yU + Uf9NkE//S4xJ/0yHRv9MgkP/S4FA/0uAP/9LgT7/ToQ9/1WKPP9clTz/Yps8/2aePf9mmzr/Zpk4/2OY + Nf9mmDX/bZw1/3erNf94tDL/b58s/2yMJ/9siCX/cI0i/3eTIP99lyD/gJkf/4ObHv+BmB3/f5Me/3mM + Gv94iRj/eYsY/3+NF/+Cjhj/gYsX/3+IFf97hRT/doQT/3SCFP90gRP/cn8R/3J/Ef9yfxH/doIT/32I + E/+CjhP/iJUU/4uYFf+IlRT/j5wU/4qVFP98hRL/e4US/3yFEf9+hxL/focS/3+HEf+AiRD/hI4R/4qQ + E/+HjhL/gooP/4KHDv+DiA//h4sP/4mLD/+Jiw//iIsQ/4iIEP+IhRD/hYMR/4OBEP+CgBD/gH0P/356 + D/98eBD/fHcP/352EP9+dxD/fXUP/310EP98cxD/e3IS/3twE/96bxP/eW4S/3htEv94bRL/eG0T/3ht + E/96bRP/fGwT/3xsE/9+bhX/gG4T/+bi29fh392+0s7LqsXAu5q9tq+O6efl1hISEdkAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI19bV5sK/ + uZzGxb+m19XSufTt785soHD4QopJ/0iQTP9LlE7/TJVO/02QTP9MjUf/TYdD/02DQv9MgD//ToA8/1OG + PP9ZkDr/YJk5/2WeOf9knTn/Ypg4/2OUNv9llDL/aZky/3OmMv95uTP/c7Av/2mRKP9mgiX/a4Uj/3GL + If91kCD/fJQe/3+YH/+CmR//hZwc/4SaHP+DlB3/fIsZ/3qIGP99ixf/g44V/4SPFv+CjBX/f4gU/3uG + Ev95hBP/d4IS/3Z/Ef90fxD/c4AR/3aCEf96hhL/gIsT/4WSFP+LlxX/jJoT/4qXEv+TnxX/iJMT/32H + Ef99hxL/fokR/4CKEP+Aig//gIgR/4OMEP+JkBL/ipES/4eNEf+EiQ7/g4cM/4aJDv+Kiw//iowQ/4mL + D/+Jig7/iYgO/4eFEP+GgxH/hIAP/4N/D/+BfRD/f3oP/314D/9+eA//fncP/353EP9+dxD/fXYP/3x0 + Ef97chL/e3IR/3pwEv96cBL/eW4Q/3ttEP97bRL/e20S/3ttEv98bBP/fWwT/39uFP+AbxL/5ePb1+Lf + 3b7TzsuqxcC7mry2r4/p5+XWEhIR2QAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjX1tXmw764m8jFwKbW1dK58+3wzmudbPhDiEP/S5BL/0qU + S/9LlEr/T5JI/06LRP9OhkH/TIM9/1CDPP9YjDv/YJc6/2SdOf9lnTj/ZJg3/2OUNP9hkDL/Y5Ix/2ye + L/92tTL/eb8w/2yiK/9kgiT/ZoAi/2eFIv9tiCD/c40f/3eRH/99lB7/gpgd/4eaHP+Imxr/hpkc/4SU + Hv97ixn/eogX/4CLFv+DjxX/hI8V/4KMFP9/iBP/e4YT/3qEEv94gRH/d4AQ/3aBD/90gRD/eIMR/3yI + Ef+CjRP/iZQU/42aEv+NmxP/jJkS/5WgFf+GkRL/fogR/3+HEf9/iQ//gIsP/4GLD/+BiQ//hY0Q/4uT + Ef+MlBH/h40R/4WJD/+EiA3/iIoO/4uLDv+LjA//iYoO/4mJDf+Ihw3/hoUO/4WDD/+EgA//g34O/4F8 + Dv+Aeg3/fngO/354Dv9+eA7/f3YP/393EP9+dg//fXQQ/31zEf98cxD/fHER/3twEv97bxL/fG0R/3xt + Ef98bRH/fG0S/3xsEv99bRT/gG8T/4FwEv/l49vX4t/dvtPOyqrFwLubvLawkOnn5dYSEhHZAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNfW + 1ebDv7mcyMbBptjW07nz7fDOa55o+ESHQP9Lj0f/TZRH/06VRv9QkEP/UIs//1GIPv9Uizv/XZM7/2ac + Of9mnzj/Y5w2/1+TNf9ejjH/X44v/2eSL/9xqzD/eMMy/3G6Lv9kjib/Ynsg/2R/If9mgyH/aYce/3CK + Hv92jR7/eZEe/4CVHf+DmRr/h5kZ/4ebGf+KmRv/iJUf/36LF/99iBX/gYsV/4SNFP+FjhX/gosU/3+J + E/97hhL/eYMR/3iDEP93gg//d4EP/3eCD/95hBH/fokR/4WQEf+LlhL/kJwR/4+bEv+RnBL/lqEU/4SO + EP9/ig//gIoO/4GMDv+DjBD/g4sP/4OKD/+HjxD/jJQQ/4uTEf+GjRH/hIkO/4aJDP+IjA3/i40N/4yN + Dv+Kiw3/iYkN/4iHDf+HhQ3/hYQM/4SADv+Dfw//gX0N/4B6DP9+eAz/f3kO/354Df+Cdw7/gncP/4J2 + D/+BdRD/gHQP/4B0Dv9/chD/f3AR/31uEf99bhH/fG0Q/3xtEf98bRH/fG0R/35uE/+AcBL/gXAS/+bj + 29ji392908/KqsXBu5u9uLGP6Obl1xIREdkAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI19bV5sO/uZzJxsGm2NbTufTu8c5snGb4RIY9/02Q + RP9Ok0T/UZND/1GQQf9TkT7/XZU8/2KcPP9moTr/Zp43/2GXM/9ejzH/W4sw/1+LLv9pmC3/dr0x/3bK + Mv9qqSv/YYEj/2F7IP9kgSD/ZoIg/2eFH/9uhx3/cowd/3ePHf9+kRz/gZYa/4WYGf+KmRj/i5oX/4yZ + HP+KlR//gYsV/3+IFP+BjBT/hI8S/4SOE/+CihL/gIgQ/32GEv97hRD/eoMP/3qDD/95gw//eYMP/3yG + EP+BixH/h5IR/46ZEv+TnRL/kZsT/5WfE/+VnxH/go0P/4GLDv+Diw//hI4O/4SMD/+Diw7/hYwP/4yQ + EP+PlBH/jJIQ/4iMEP+Gig3/h4kN/4qMDP+NjQ3/jYwO/4mKDP+IiA3/ioUM/4iFDP+Egw3/g38N/4J+ + Dv+Aew3/f3kN/354Df9+eA3/f3gN/4J4Df+CeA7/gncP/4F1D/+AdA7/gHQO/39yEP9+cBD/fm8Q/31u + Ef99bRD/fG0Q/3xtEP9+bRL/gXAS/4JyEf+DchH/5uPb2OHg3b7Sz8urxsO8m725sY/o5uXXEhER2QAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjZ19bnwr64m8rGwabZ19O59O7yzmybY/hFhzn/TY5A/0+RP/9SlkH/WZpA/2GiP/9opDz/Z6M5/2Ka + NP9ekjH/XIsv/1yJLf9hjCz/bKUt/3bPMv9xxy//Y5Qn/2F6Iv9ifSL/ZIAh/2WBIP9ogx7/bIQd/3GH + Hv90jB3/epAd/3+TGv+Clhn/h5kY/42bGP+NmhX/jpoc/4uVIf+AihT/fogS/4KNFP+FjhL/ho4R/4KK + EP9/iBD/fYUR/3yFD/97gw7/e4MO/3qDDv97gw7/fogP/4SOD/+KlA//kJsR/5WfEv+SnBH/maES/5Kc + EP+CjQ//g4wO/4SMDv+Gjg//ho0O/4WMDf+Hjw7/jpQQ/5CWEP+MkhD/iIwP/4WKDP+Jiwz/jo0N/5CM + DP+PjAz/jIoK/4uHC/+KhAv/hoQL/4OBDf+Dfw7/gX0M/397C/9+egz/f3gM/4F3DP+CeQ3/gngN/4J4 + Df+CeA3/gHYO/4B1Dv9/dA7/f3MO/39yEP9+cBH/fW8P/3xuD/98bRD/fW0Q/39vEv+BcBH/gnIS/4V0 + D//m5NrY4uDevtTRzKvHw72bu7avjuno5tkTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNrY1+jCvbecysbBqNnX07n07/LObJtg+ESF + NP9NjD3/VJc+/12kQP9mq0D/aas8/2ikN/9imDP/XI0w/1uJLf9diiz/Y5It/2+2L/9x1zH/ZrIt/2GF + Jf9ifCL/ZIEg/2SBH/9lgR7/aIEd/2qDHv9uhRv/cYob/3eMGv98kBv/gJMa/4eWGf+Jmhj/jZoW/46a + FP+Qmh7/jJUh/4GKEf+AiBL/g4oR/4WNEv+FjRD/gooO/4CJD/99hg7/fIQP/3uDD/97gw7/e4MO/3uE + D/+BiQ7/h5AP/42XD/+TnhD/l6AP/5OcD/+cpBL/kZkQ/4WODf+Gjgz/hY4M/4ePDv+Gjg7/hYwN/4mP + Dv+Plg7/kJcP/4uQDv+Hig7/hokM/4qLDP+OjQz/kY0N/4+LDP+NiQv/jIcL/4mEC/+Hgwr/hYEL/4F9 + Df+AfAz/f3oL/355C/+AeQz/gncM/4N4DP+CeA3/g3gN/4N3Dv+CdQ3/gnUN/4JzDf+Acw7/f3IO/4Bw + Dv9/bw//fW4O/3xuDv9+bg7/gHAQ/4BxEP+CcxH/hnUR/+bk29jj4N6+1NHMq8bDvZy5tK6N6unn2hMS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI2djX6MG9t5zKxsGn2dfTuvTv8s9rmV74RYUx/1SWO/9gpj7/Z7E//2mvPf9mpTn/YJgz/16O + L/9ciCz/X4os/2idLv9xyjH/bNIx/2CYKf9deyP/YX4i/2WDIf9lgx//Z4Ie/2iCH/9qgh3/bYMd/3CG + G/9zihn/eIwZ/32QGv+Ekxf/ipYY/4yaF/+QmhX/kJoT/5GaHv+MlCD/f4gR/4CHEv+EihH/hY0Q/4OM + D/+Ciw//gIkM/36GDf99hQ7/e4QN/3uEDf97hAz/foUN/4KKDf+JkQ7/kJgP/5WdEP+Wng7/lJwP/52k + Ev+Olg7/ho4N/4aODP+Ijwz/iI8M/4eODf+IjQ7/jJMO/5GYDf+Qlg7/i44O/4eJDf+JiQv/jYwL/4+O + Cv+RjAv/kIoM/4yIC/+Lhgv/iYQL/4iBCv+EgAr/gX0M/4B8DP+AeQr/f3gK/4F4DP+Bdwv/gngM/4J4 + Df+Ddwz/hHcM/4N1Df+CdA3/gXQN/4B0Dv9/cg3/gHAN/39wDv9+bw//fW8P/35vD/+AcBD/gnIP/4R1 + EP+GdxH/5uTb2OPg3r7U0MurxsS9nLi0rY7q6efaExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2NfowL24ncnHwqjZ1tO59O7yz3Cd + XPhPkjL/YKc7/2auO/9nrjv/Y6U4/16ZNP9bkS//XIst/2COLP9qrS7/cNoy/2bDLf9bgyP/Wncj/15+ + Iv9igSD/ZYIf/2eDIP9ogx//aoId/2qCHP9sghz/cYUZ/3WKGP96jBj/gJAY/4eTF/+Klhb/jZkV/5GY + Ff+QmRL/kpsf/4uUH/9/hxD/gIcS/4OJEP+Fiw//hIwP/4GKDv+AiA3/f4YN/36FDP98hAv/e4QL/3yE + C/9/hwv/hIwO/4uSDv+SmRD/mJ8Q/5idDv+ang7/nqQQ/4uUDv+Gjg3/ho4M/4mPDP+Jjwz/iI0L/4mP + Df+PlQ7/lJkN/5CVDf+Jjg7/h4oM/4yKDP+Qjgz/kI4K/5GNC/+Pigv/jIgL/4uGC/+JhAr/iIEK/4R/ + Cf+BfQv/gHwM/4F5Cv+CeAv/gngM/4J4DP+CeAz/gngM/4N4DP+Edwz/g3YN/4J1Df9/dQz/f3MN/4Bz + Df+AcAz/fnAM/31vD/9/bw//f28P/4BwD/+Ccw//hXYR/4d4EP/m5NvY4+Dev9TQy6vIxL2cubStjurp + 59oTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNnY1+jBvbidyMfCqdnW1Lrz7fLPd6pc+FmeMP9jqTj/Y6k2/2CjNv9dmzX/XJUx/12Q + Lv9ili7/bsAx/2zhMv9grir/WHgj/1l4IP9bfCH/Xn8f/2SCHv9mgh7/aYMe/2qCHP9rghr/a4QY/2+E + Gv9zhhr/d4oY/32NF/+DkBX/h5QU/4uWFP+OmBX/kZgV/5GYE/+UmSH/jJId/4GJDP+Bhw7/hIkP/4WL + Dv+Fiw7/g4gM/4KHDf+AhQz/foUL/32EC/99hAv/fYUL/4CIC/+GjQ3/jZQN/5SbD/+ZoQ7/l54N/56i + Dv+eog//jJEN/4mPDP+Kjwz/i5AN/4qPDP+Kjgv/jZAM/5GWDf+UmQ3/kZUN/4qNC/+JiQv/j4wL/5KO + Cf+Sjgr/ko0L/5CKCv+OiAn/i4cJ/4mECv+HgQr/hn8K/4N9Cv9/fAr/gXkJ/4J4Cf+CeQv/g3gL/4R5 + Cv+EeAz/hHgM/4N3C/+Ddg3/gnUN/4F1DP+Bcw3/gHIM/4BxDf9+bwz/fm4N/35vDP9/cAz/gXIN/4N0 + D/+FdhD/h3kO/+bk2tji4N6/1NDLq8XDvZ24s62O7Onn2hMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2djX6MO+uJzJx8Ko2NbTuvLs + 8s96sFv4V58t/1ygM/9cnjT/W5w0/1yaM/9flzD/ZqIw/27TNP9p2zH/XJon/1dxIf9ZeSD/WHog/1x6 + IP9ffh3/Y4Ee/2aCHP9oghz/aYEb/2uBGP9sghn/boQZ/3KHF/95ihf/fo0V/4OPFP+GkxP/i5YT/5CX + FP+SmRT/kJcT/5OXIf+Mkhr/gYgK/3+GDf+DiA7/hYwO/4WLDf+DiQ3/gYcK/4CFCv99hQr/foQJ/36E + Cf+AhAv/g4kK/4iPDP+QlQ3/mJwN/5ygDf+anQ3/oaQO/5yeDf+MkAz/i48L/4uQDP+LkAz/jI4M/4yP + C/+OkQ3/kpcN/5SZDP+Okgz/iYwL/4uJCv+Qjgr/kpAJ/5KPCv+RjQr/kIoK/46ICf+Lhwn/iIMI/4eC + Cf+Gfwr/gnwJ/357CP+AeQj/gXkI/4F5Cf+CeQr/gnkK/4N4Cf+DeAv/hHgM/4J1C/+CdQv/gXQM/39z + Df9+cgz/f3EL/35vDP9+bgv/fnAM/4ByDf+CdA7/hHYQ/4Z3Ef+HeQ//5uTa2OPg3r/T0MusxsO8nbu0 + ro3r6efaExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjZ2dfow7+5nMvIw6fa2NS68+zzz3erWfhRlCr/VZUw/1eXMv9anDL/YJ8x/2my + Mv9u4Df/Zc0y/1qJJv9XciH/WXoh/1p7H/9aeR7/Xnoe/2F+Hv9kgR3/aIQa/2qDGv9qghn/bIMX/22C + GP9vhBj/dIgW/3qKFf9+jRX/hJEU/4iVE/+MmBP/kZkU/5GZEv+QlxL/k5cj/4uQGf+Ahgr/gIYO/4SJ + Df+Giw3/hooN/4SIC/+Chwr/gIUK/3+GCv9/hQr/gIUK/4GGCf+Fiwv/i5EM/5GXDf+anQ3/naAO/5ue + Df+ipg3/lpwL/4uRC/+LkAv/i5EL/4yRCv+Mjwv/jJAL/5CUC/+WmQv/lZkL/46RCv+Liwr/josK/5KO + Cv+Tjwr/k44K/5KMCv+Qigr/jogJ/4yGCf+KhAn/h4EI/4R+Cf+DfAn/gHsI/4F5CP+Begj/gnoJ/4J5 + Cv+DeQr/g3gJ/4N3Cv+Ddwz/gnYL/4J1C/+BdAz/gHIM/39xC/9/cAv/fm8L/39vDP9/cAz/gHIN/4J0 + Dv+FdhD/h3kQ/4l7D//n5NvY4+Dev9PRy6vIxL2cubStjuro5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnZ1+jDv7mcy8fDp9rY + 1Lr07/TPdKJV+E2IJf9VkC7/V5cw/1+jMv9qwDb/bOk5/2C/MP9Zgif/WHYk/1p6If9Zeh//W3kd/1t4 + HP9dehv/Yn4d/2aBG/9pgxj/bIIY/2uDF/9sghf/boIW/3KDFv91hxT/e4oU/4CNFP+HkRP/ipUS/4+X + E/+RmBH/kZgP/4+WEf+TmSL/iI8V/3+FCP+Bhgz/hIoN/4aKC/+FiQr/g4cJ/4OHCf+BhQj/f4QJ/3+E + Cf+AhQn/g4cJ/4eMCv+Nkwv/lJkM/5ufDP+coA3/nJ8M/6OmDv+TmQv/i5IK/4uRCv+Nkgv/jpEK/4yQ + Cv+OkQr/k5gK/5qaC/+Wlgz/j48K/42MCf+QjQj/k44K/5SQCf+Ujwn/kowJ/4+KCP+Nhwj/jIYJ/4qD + CP+HgQj/hH8I/4N8CP+Cewj/gXoH/4J6B/+DeQj/g3kH/4N5CP+DeAn/gncJ/4N3Cf+BdQr/gHQK/4Bz + C/9/cwv/fnIL/31xCv99bwr/fnAM/39wC/+Bcwz/g3UN/4V3Dv+Ieg//inwO/+bk2tji4N6/1NHMq8fD + vJ23sayQ6ejm2xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI2djX6MS+up3MxsOp2tfUuvTv9M9xnFT4TIQl/1iQLv9gozH/a882/2vo + Of9gsS//WYQm/1l/JP9afSH/W3of/1t6Hv9beRz/W3gb/117Gv9hfhv/Z4EZ/2qDGP9sghf/a4MX/22C + Ff9vghT/coMV/3WGE/98ixT/go0T/4aREv+MlBL/kJYR/5GXEP+Rlw//kJYR/5OYIf+HjhL/gIUJ/4GF + DP+Eig3/howL/4aJCv+Ehwn/g4cJ/4GFCP+AhAn/gIQI/4CFCP+Dhwn/h40J/4+UC/+Ymgv/naAM/5yg + DP+eoA3/oaUN/5KXCf+LkQn/jJEK/42RCv+NkQr/jJEJ/4+UCv+VmQr/mpoL/5WUC/+Qjgr/jowJ/5KO + CP+Ujwn/lJEH/5SPCf+SjQj/kIsI/46ICP+MhQj/ioMI/4eCB/+EgAb/g3wH/4F6CP+Begf/gnoH/4N5 + B/+DeQb/g3kI/4N4Cf+DeAn/g3cJ/4F1Cv+AdAr/fnML/35zC/99cQr/fXAK/31vCv99cAv/fnEL/4F0 + DP+Ddg3/hXgN/4h7D/+KfA3/5uTa2eLg3r/U0MysxsG8nrexrJDp6ObbExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2NfoxL66nczH + xKna1tO69O/zz3GaVPhNhiT/XaIv/2jWN/9o5Dn/XKUt/1mGJ/9Zhib/WYIi/1t9H/9beh3/XHoc/115 + G/9deBr/XnoZ/2F+Gv9ogRj/bIMW/2uCFv9rghb/boEU/3CBE/9zgxT/d4cT/3qLEv+CjhP/h5AR/4uT + Ef+Olg//kZYQ/5CWDv+PlRH/lJgh/4eMEf9+hQf/gYYL/4aKC/+Gigr/hokK/4SHCf+Dhwn/goYJ/4GF + Cf+Chgj/gYUH/4OJBv+Jjwf/kpUH/5qbCf+foQz/nKAL/6CkCv+hpAr/kJQJ/42QCf+NkAn/jpEK/42R + Cv+Okgn/k5UJ/5qYC/+ZmQr/k5MK/4+NCf+PjAj/ko4I/5SRBv+UkQf/k48I/5GLB/+Qign/jogI/4yF + CP+JgQj/hoEH/4N/Bf+DfAf/gnsI/4F6Bv+Aegf/gnkI/4J3B/+DeAj/gncJ/4N4Cf+Bdgj/gXQK/4Bz + Cf+Acwv/f3IK/31wCP99bwn/fW8J/39wCv9/cgv/gHMK/4N1DP+Gdw3/iHoN/4t+Df/n5drZ4uHev9LP + y6zFv7yft7KskOro5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNnY1+jDvrqdzMfEqNrW1Lr17vPPcp1S+FWfJf9k3DX/YNk1/1qZ + LP9ZiSj/W4wn/1qHJP9ZgiD/WXwd/1t5HP9cehv/XXka/114Gv9gexn/ZX4X/2iBFv9rghb/a4IV/2yB + Ff9wgBT/cYET/3OEEv95hxH/fYsR/4ONEP+IjxH/i5IP/4+WD/+Qlg3/j5YK/5CVEP+TliD/hooO/4GD + B/+BhQr/hYkL/4WJCf+FiQj/hIcI/4OGCf+ChQf/goUH/4KFB/+ChQf/hYoI/4uQCP+Ulgf/m50I/5+g + DP+cnwv/pKYK/56hC/+Skwj/kZII/5GRCP+Skgn/kZAK/5GRCf+Wlgv/mpoK/5maCv+Tkgj/j40I/5GM + CP+Ujwj/l5EI/5aRCP+Tjgj/kYwI/5CLB/+OiAf/i4QI/4mCB/+HgAX/hX4G/4J8Bf+CfAb/gXsE/4B6 + Bf+Cegf/gngG/4J4Bv+Cdwf/gncI/4F2CP+AdAn/f3QJ/35zCP99cgn/fHAJ/3tvCP98cAn/fXEJ/39y + Cf+BdAr/hHcN/4Z6DP+Iew3/in0N/+bk2tni4d6/0s/LrcXAvJ+3sqyQ6ejm2xMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2djX6MO+ + up7Lx8Sp2tbUu/Ts8896ulX4Wt0r/1rKMf9VjSj/V4op/1mQKP9aiiX/Wocj/1mAH/9Zexz/XHob/114 + G/9ceBr/XHcY/196F/9lfRX/aIAV/2uCFv9tgRX/boEU/29/Ev9xgRL/c4QQ/3qGD/9/ihH/g4wR/4iP + EP+Lkg7/j5YN/4+WC/+QlAj/kZUR/5KWIf+EiA3/gYQH/4KFCf+Fhwr/h4gJ/4aIB/+Fhwj/hIUI/4KF + B/+DhQf/goUH/4KFCP+Iigf/j5AI/5aYCP+cngj/n6EL/52fCv+mpwv/nZwL/5GSB/+RkQf/kpII/5KS + CP+RkAj/k5EJ/5iWC/+bmwn/mJcI/5KQBv+QjQf/ko4G/5WRCP+XkQb/lpAH/5ONCP+Riwj/kIoF/46H + Bv+Mgwj/iYMG/4iABv+Ffgf/hHwF/4F8Bf+CeQb/gnkH/4J4B/+DeQj/gngH/4J3B/+Cdwb/gXYJ/390 + Cf9+cwn/fHEI/3twCP97cAj/e28I/3pvCP99cgr/gHMJ/4N1C/+Edw7/hnoN/4h9DP+Kfw3/5uXb2eLg + 3r/Sz8utxcC8n7exq5Hp6ObbExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2dfow767nsvHw6na1tS69Ojy0HzoWvhQuCX/UYIl/1aG + Jf9ZkCf/Wo4m/1uLI/9ahSH/WoAd/1t8G/9beRn/XHgZ/1x4GP9cdxf/XnkW/2R8Ff9ofxT/bIEU/26B + E/9tgBH/boAQ/3CCEP90gw7/e4YP/3+KEP+EjRH/iJAO/4yTDf+OlQv/jpUJ/4+UCP+QkxD/kZUh/4OI + C/+AhAb/gYUI/4SICP+Ghwf/hocG/4WGBv+Dhgb/goQH/4KEBv+BhAb/hIYH/4mMBv+Rkgb/mJoG/52e + B/+enwn/np8J/6WnCv+amgf/kpEI/5KSCP+TkQf/kpII/5KRB/+Vkwj/mZgJ/5qbCv+WlAn/kY4H/5CM + CP+Tjgf/lpAH/5aRBv+Wjwf/lI0I/5KKB/+QiAX/jYYH/4uECP+IggX/hn8F/4V9B/+EfAX/g3wF/4N6 + Bv+DeQX/gngF/4N4CP+Bdgb/gXYG/4F2Bv9/dQf/fXMI/3xyCP98cQn/e3AI/3pvB/96bwf/em8I/31y + Cf9/cgj/gnYK/4R4DP+FeQz/iX0N/4p/Df/m5dvZ4uDfwNLOy67Fv7yft7KskOro5tsTEhHaAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnZ + 1+jCv7ueysfDqdjX07v17fPQcaxQ+Ep2G/9UfyT/Vooj/1qPJf9ajiX/XIsi/1uGIP9bgB3/XXwb/1x5 + Gf9ceBj/XHgW/1x3Fv9geRb/ZHsU/2h+E/9tgRP/bYAS/21/EP9vgA//cYIO/3eED/98hg7/f4kP/4SN + Dv+IkQ3/i5MM/42UCv+PlQr/j5MI/5CTE/+RlR//g4gI/4CEBv+ChQj/hYgH/4eIB/+Ghwb/hIYG/4OG + Bv+ChAb/goQG/4OFB/+Fhwf/i40G/5OTB/+amwb/np8H/5+gCP+iogj/p6cK/5iXCP+Tkgj/k5MI/5SS + CP+Skgj/k5EH/5aUCP+amQj/mpkJ/5WTCP+Rjgf/kI0G/5SPB/+XkQf/l5EG/5eRB/+Ujgb/kosG/5CJ + B/+Nhwf/i4MG/4iBBv+GfwX/hX0F/4R8BP+EfAT/g3sE/4N7A/+DegT/gnkG/4J3Bv+AdQX/gXYG/4B1 + Bv99cwf/e3EH/3twB/97cAf/em8H/3pvB/97cQf/fXMI/4F1CP+Ddwr/hHkL/4Z7C/+Kfg3/in8M/+Xl + 2tng397A0s3KrsXAu5+3sqyQ6ujm2xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2dnX6MK/up7LyMSp2tfUu/Xw89BvjEv4SnYa/1KC + If9WiSL/Wo8j/1qPI/9ciyH/XIUf/1yBHf9cfBv/XXgY/1t3F/9beBX/XHcU/2F2Ff9lehP/aX0T/2x/ + Ef9tfw//bX4P/29/Dv9wgA3/doMN/3qGDf+AiA3/g4wN/4eQC/+KkQr/jpMJ/4+UCP+Nkgf/kZMU/5GU + Hv+Chwb/foMF/4OEBv+Ghgb/iYgG/4eGBf+EhQX/hIUG/4OEBv+DhAb/g4UG/4eHBf+OjQX/lZUG/5ub + B/+goQX/oJ8G/6WjB/+lpAj/lpQF/5ORBv+Ukwf/lJMH/5SSB/+Ukwb/lpYH/5yaCP+amAf/lJIE/5GN + BP+Sjgb/lpEG/5eSB/+YkQb/l5AF/5ONBP+RiwX/j4gF/4yGBf+LhAX/iIEF/4Z+Bf+FfQT/hHwD/4R8 + A/+DewT/g3sE/4J7A/+CeQT/gXcF/4F2Bv+Bdgb/f3MF/31yB/97cQb/e3EF/3pvBv96bwf/enAH/3xy + Bv9/cwf/gXUJ/4N3Cv+Fegr/h3wM/4l+DP+LgQr/5eXa2eDf3cDSzsquxcG8n7eyrJDp6ObbExIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMja2dfow7+6nsvIxKna19W89fD10G+RS/hJdxj/UoEg/1aIIf9ajyD/XJAg/12LH/9chR//XIEc/1x8 + GP9ceRb/W3YW/112FP9fdBT/YXcU/2R6E/9ofRH/bH8Q/21/EP9tfg//bn4O/3F/Df94gg3/e4UO/3+I + DP+DjAz/h48L/4yRC/+PlAr/j5MH/5CRBv+SlBX/kJId/4GGBf9/ggX/goMF/4SGBP+IhwX/h4YF/4SF + Bf+DhAX/g4QG/4OEBv+DhQT/h4kE/4+NBf+WlQX/m5wG/6CiBv+foAX/paUG/6OiB/+Vkwb/k5IG/5ST + B/+Ukwf/lJIH/5WTBf+Zlwb/nJoH/5mVBv+TkAX/kY4E/5SPBf+XkQb/mJEG/5iRBv+Wjgb/lIwF/5KK + Bf+PiAb/jIUH/4uCBv+IgQX/hn4F/4V9A/+EfAP/hHwD/4N7BP+DewT/gnkF/4J4Bv+AdgT/gXYG/350 + Bf99cwX/fHIH/3txBv96bwf/eW4G/3lvBv96cQX/fHIH/31zB/9/dQn/gncK/4V6Cv+HfAv/iX4N/4uB + C//m5NrZ4t/dwNHOy67FwbyftbCrkeno5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNrZ1+jFv7yezMjEqdrX1bz18PXQbpBJ+Eh1 + F/9SgB//Vocg/1mPH/9ckCD/XIwe/1yFH/9bgBv/WnsY/1t3Fv9bdhb/XnUU/190Ff9hdhP/ZHkS/2h8 + Ef9rfBD/bX4Q/21+D/9vfQ7/dH8N/3iCDf97hA3/f4gL/4OLC/+Ijgn/ipEK/4yTCP+Pkgf/kY4I/5KU + Gf+Okhz/gYUE/3+BBf+ChAX/hIcE/4iGBf+GhQT/hIUG/4OEBv+DhAb/g4QG/4OFBf+IiQT/j5AF/5eW + B/+enQX/oaIG/6CgBP+npwb/n58F/5SSBv+UkQb/k5EG/5SSB/+Tkgb/lZQF/5uZBv+bmgj/lZIF/5GO + A/+SjgT/lJAF/5eRBv+YkQb/mJEG/5WOBP+Tiwb/kYkF/4+HBf+LhAb/ioEG/4eABf+FfgX/hHwD/4R8 + BP+EfAX/hHwF/4N7A/+CeQX/gXcG/393BP9+dgP/fXQF/3xzBP97cQX/e3EG/3puB/95bgb/eW8G/3px + Bf98cgf/fXMH/351CP+CeAj/hHkK/4Z8C/+Ifw3/jIEL/+bk2tng3t7B0c7LrsXBvZ+3squR6ujm2xMS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI2tjX6MTAvJ7MyMWp29jWvPXw9dBtkEj4R3QX/1GAHv9Whx7/Wo8g/1yRIP9cjB3/XIYc/1yA + G/9cehj/W3YW/1x0Ff9dcxX/XnQV/2F1Ev9jeRH/Z3wQ/2p7D/9sfBD/bnwN/298Df90fg3/d4EN/3qE + DP9+iAv/hIoK/4iNCv+KkAn/jZIJ/42RCP+Ojwj/k5Qc/46RG/+BgwL/f4AG/4KCBP+EhQT/h4UF/4aF + Bf+ChAb/goMF/4KDBf+DhAX/hIUF/4uKBf+RkAb/mJgG/5+eBv+goQb/oKAF/6inBv+cmwX/k5EG/5OQ + Bf+UkQb/lJEG/5SRBv+WlQb/m5kH/5mYBv+Tkgb/kY4E/5ONBv+Vjwb/mJEG/5iRBv+XjwX/lIwF/5KL + Bv+QiQf/joUG/4qCBf+JgQX/h4AF/4V+A/+EfAP/hHwD/4R7Bf+EfAX/g3sD/4J5BP+BdwX/fncF/311 + BP99cwX/e3EF/3twBf96bwX/d28G/3ZuBf93bwX/eXEF/3xxBv98cgb/f3YH/4B3CP+Eewn/hn0K/4iA + Cv+Mgwn/5uPa2uDf3cDS0MquxMG8oLayrJLq6ObbExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMja2dfoxcC8ns3Jxanb2Na89vD20G6O + SfhIdBX/UX8d/1WGHf9bjR7/XJAe/12MHf9bhhr/XH8Z/117F/9cdxX/XXMU/15zFP9echP/X3QS/2N3 + Ef9oeg//a3wO/2x9Dv9tew3/bnsN/3J+DP91gAv/eoMM/3+HCv+DiQr/ho0J/4mPCf+MkAr/jI8J/4uO + B/+TlR3/jY8Z/3+BAv9/fwX/goIE/4KEA/+GhAT/hYQG/4KDBf+Cgwb/goIG/4KDBf+Hhgb/jYsF/5OR + Bf+ZmAX/n58G/5+fBv+hoQb/p6UG/5mXBP+SkAX/lJEG/5SRBv+TkAb/lJEF/5iVBv+bmAb/mJYF/5KQ + Bf+QjAb/k4sH/5eQBf+YkQb/mJAG/5WOBv+TjAb/kYoH/4+HBv+NhAf/ioIG/4mBBf+GfwT/hHwD/4R8 + A/+EfAP/g3sE/4N7BP+DegT/gXgF/4B2BP9+dQT/fHMF/3tyBP97cQb/em8F/3duBP90bgX/dG4F/3Ru + Bf93cAX/enIH/31zB/9/dgf/gHgI/4N7Cf+FfAn/iYAI/4uDCf/l49ra4N/ewdHPy67EwLugtrKrkuro + 5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNrZ1+jFwLyfzcnFqdvY1rz28PbQcI1I+Eh0FP9Rfhz/VYUe/1qNHf9djx7/XYwc/1yH + Gf9dgBn/XHsW/1t3FP9ccxT/XnMU/15yE/9edBH/YncQ/2d5D/9qfA3/a3wN/2x8Df9tfA3/c30L/3WA + DP96ggv/f4YK/4SJCv+HjQn/iI8J/4qPCP+Ljwn/io4I/5KWIP+Ljhb/f4EC/35/BP+BggT/g4QD/4OE + BP+DhAT/goMF/4KDBv+Cggb/goMF/4eGBv+NiwX/lJIF/5uYBv+fnwb/n54G/6SiB/+lpQf/lZMF/5KQ + Bf+TkAX/lJEG/5OQBf+UkQX/mZQF/5qXBv+WkwX/ko0G/5CLB/+TjAf/l5AF/5iRBv+XjwX/lY0F/5OL + Bv+RigX/j4YG/4yDBv+JgQX/iIAF/4V9BP+EfAP/hHwD/4N7A/+DewT/g3sE/4N5Bv+Bdwb/gHYE/390 + BP98cwT/enEE/3pwBf93bgT/dG4F/3RuBf90bgX/dG4F/3VvBP93cQb/fHMH/392B/+BeAj/gXoI/4R9 + Cf+JgQj/i4QJ/+Xk2trg397B0c/LrsTAu6C2sqyS6ejm2xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2tnX6MXAvJ/NyMWq29jWvPbx + 9tBvjUf4R3IV/1F9Hf9VhR7/Wo0d/12QHf9djRv/XIgZ/12BFv9cexb/W3YU/1xzE/9echP/XnET/2Bz + EP9kdhD/aHkP/2t7DP9rewz/bHwM/2x8DP9xfQv/dn4L/3mDCP9/hQn/g4kJ/4eMCf+IjQr/io8I/4uP + CP+LjQj/k5Yi/4uMFP9/gAD/fn8E/4GCA/+DhAP/g4QE/4OEBP+Cggb/goIG/4KCBv+CgwX/h4YG/46M + Bf+Ukwb/nJoF/5+fBv+fngb/o6QF/6GiBv+TkQX/k5AG/5OQBf+UkQb/k5AG/5WSBv+ZlQb/mZYF/5SR + Bf+RjQb/kosG/5ONBf+XkAX/mJEG/5aPBv+UjAj/kokH/5CHBv+OhQb/jIMG/4mBBf+IgAX/hX0E/4R8 + A/+EfAT/g3sE/4N7BP+DewT/gnkF/4B2Bv9/dAX/fXQF/3xyBv93cQT/dnAE/3RuBP90bgX/dG4F/3Ru + Bf90bgX/dXAE/3dyBf95dAf/fnYH/4F4CP+Bewn/hH0L/4mCCv+Kgwj/5eTa2uDg3sHRz8uuw8C7obWy + rJPq6ObbExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjZ2NfpxcC8n83Jxarc2ta89vH20G+MR/hIcRT/UHwc/1SEG/9ZjBz/W5Ac/12M + G/9dhxj/XYAW/1x7Fv9bdhT/W3MT/11xEv9dcRH/X3IQ/2R1D/9peQ3/a3oN/2p6C/9rewz/bHoL/298 + Cv91fwr/eoII/36FCf+CiQn/howJ/4iOCP+Ljgn/io0I/4qNCP+UliT/iYsS/32AAP99fgP/gYEE/4KD + A/+CgwT/goME/4GBBf+BgQX/gYEF/4KCBv+HhwX/jo0F/5WTBf+cmwX/oJ8G/6CdBf+mpgX/n54F/5OP + Bf+TkAb/lJAF/5SQBf+Tjwb/lpMF/5mVBv+ZlQb/lI8E/5GLBf+SigX/lI0F/5eQBv+XkAX/lo0G/5OL + B/+RiQX/j4YE/42EBf+LggX/iIAF/4Z+BP+EfAP/hHwD/4N7BP+DewT/g3sE/4N7BP+CeAX/gXYG/390 + BP98cwX/e3EF/3dwBP90bgP/dG4E/3NtBP9zbQT/c20E/3VvBf93cQX/d3IF/3l0B/97dQf/f3gH/4J6 + CP+Ffgj/ioMJ/4mAB//l5Nra4N/dwdHNyq/DwLuhtbKsk+ro5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnY1+nGwbyfzsvGqdza + 1rz28fXQb4tG+ElyEv9SfBr/VYQb/1qMG/9dkBv/Xowb/12HGP9dgBf/XHsW/1p2E/9bchL/XHES/11x + Ef9fchD/ZHUP/2d4Df9qeQ3/anoM/2t7DP9teQz/cXsJ/3V/Cv95ggn/foUI/4GICf+GjAn/iY0I/4qO + Cf+KjQf/io0J/5SWJ/+IiQ//fYAA/31+A/+BgQT/goMD/4KDBP+BggT/gYEF/4GBBf+BgQX/gYIG/4mI + Bf+RjQX/lpQH/52bBv+hngb/oJ0F/6imBv+cmAX/k48E/5OQBv+VkAb/lY8F/5aPBf+ZkwX/mpUG/5eT + BP+TjQX/kYsE/5KKBf+VjQX/mJAG/5ePBf+WjQb/lIsG/5GIBf+PhgX/jIMF/4qCBf+IfwX/hn0E/4R8 + Av+EfAP/g3sE/4N7BP+DewT/gnoF/4F4Bf+AdQX/f3QE/3xzA/97cQX/d3AE/3NtA/9zbQT/c20E/3Fr + BP9ybQT/dG8F/3dwBf93cgX/eXQG/3p2B/98eAf/gXoJ/4aBB/+Iggf/hXsH/+Xj2trg3t3C0c3Kr8PA + u6G1sqyT6efm3BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI2djX6cfDvp7Py8aq3drWvPfy99BwikX4SXER/1N8Gf9Wgxn/Wowa/2CP + Gf9fjBn/XYYZ/1yAF/9cexb/WnYT/1pyEv9dcBL/XG8Q/2BxEP9kdA7/ZncM/2l4DP9peQz/ankL/2t5 + Cv9xfAr/dX4J/3iBCP99hQj/gYgI/4WKCP+JjAj/i44I/4qMBv+KjQr/lJUp/4aGDf99fgD/fH4E/3+A + BP+BggT/gYIE/4CCBP+AgQT/gIAE/4GBBf+Dgwb/i4kE/5KPBf+Ylgf/nZwF/6GeB/+gnwX/qKQH/5mU + Bf+Tjgb/kpAG/5SOBf+Vjwb/lZAF/5iSBf+alAX/lZAE/5KKBv+RiQb/k4wG/5eOBf+XjgX/lo4G/5WM + Bf+TiQb/kYYE/4+EBv+Lgwb/iYEF/4d+Bf+EfAT/g3wD/4R7BP+DewX/g3sE/4N7A/+CeAb/gHYF/350 + BP99cwX/fHID/3pwBP93bwP/cm4D/3JsBf9ybQX/cGsD/3FtBP9zbgX/d3EE/3dzBf95dQX/enYG/3t3 + B/+Aewj/hoEH/4aBCP+Aegb/5OLZ2uDe3cLRzcqvw8C7obWyrJTp5+bcExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2Nfpx8O+oM/K + xqvd2da89/L30G+KRfhJbxH/U3oZ/1WCGf9aixn/X48Y/16LGP9dhxj/XH8W/1x7E/9bdRL/XHER/11v + EP9dbg//YHAP/2NzDf9mdgz/aHgM/2l4DP9pdwv/a3gJ/3B7Cf91fQj/eIAI/32EB/+Bhwj/hIkJ/4iL + CP+LjAf/iIwH/4uMDP+VlSr/hIUK/3x9Av97fAT/f4EE/4GCBP+BggT/gIAD/39/BP+AgAP/gIAE/4WD + BP+MiAX/k5AG/5iYBf+enQX/n5wH/6KgBv+mogb/l5EE/5SNBv+Ujgb/lI0G/5ONBv+VkAX/l5MF/5iT + Bv+UjwX/kYkF/5GJBv+UjAb/lo4G/5iOBv+XjAb/lIoG/5GHBv+PhQX/jYUF/4qCBv+IgAT/hn4D/4R7 + Av+DegT/g3oD/4N6A/+CegP/gXkD/4F4BP+AdQT/fXQF/3xzBf96cAT/eXAE/3VuA/9ybQP/cGwD/3Bs + A/9wbAP/cW0E/3NvBP91cQX/dnIE/3h0Bv96dgb/fHkH/4F9Bv+GgAb/gn4H/3x4Bv/k4tna4N/ewtHP + y6/EwbyhtbKslOnn5twTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNnY1+nHw72gz8rHq93a17z38vbQbotF+EhuD/9Rehj/VoEY/1uJ + GP9ejhf/XowW/1yHF/9cgBb/XXoU/110Ev9ccBH/XXAP/11vDv9fbw7/YnIN/2V1Df9odwv/aXcL/2t3 + C/9vdwn/cnoJ/3R9B/94fwj/fIQH/4CGB/+FiQj/iIoJ/4mLB/+HiwX/i4sP/5SVKv+ChAf/fHwB/3t7 + A/9/gAT/gIAE/4CABP+AgAT/f38D/39/A/+BgQX/hoMF/4yJBf+SkAb/mZgG/6CdBf+fmwX/paEH/6Ke + Bv+TjgT/k40F/5OMB/+UjQj/k4wH/5aQBf+ZkgX/lpEG/5KMBP+QiAX/kYgF/5SMBv+VjAf/mIwI/5WK + Bv+SiAX/kIYG/46EBf+Nggb/ioEG/4h/Bf+GfQT/g3sC/4R6A/+DeQP/hHoD/4J4BP+BdwX/gHYE/4B1 + BP99cwT/fHIE/3pwBP91bwT/dG4E/3JtBP9wawP/b2oD/3BsA/9xbQT/cm8E/3NxBP91cgX/dnMG/3l1 + Bv98eQf/gn0I/4R/B/99egj/eXQG/+Ti2drg4N7C0c/Lr8PAu6K1sqyU6efm3BMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2dnX6cfD + vaDPyser3drYvPfy99FuiUT5SG4P/1J5GP9WgBf/WogY/16OF/9fixb/XYcX/1yAFv9eeRP/XXUR/1xx + D/9cbw7/XG8N/19vDf9icgz/ZXUL/2h2DP9odgv/anYK/293Cf9xeQj/dHwH/3iABv98gwb/f4YH/4SJ + CP+Hign/iIoI/4iJBf+LjBH/lJQp/4CDBP97fAL/e3sF/35+BP+AgAT/gIAE/4B/BP9/fgT/f38E/4CA + BP+Ggwb/jYoF/5SRBf+blwb/oJwH/5+bBv+logb/n5sF/5KMBf+RjAf/kowH/5OMB/+TjQf/lpAF/5iR + BP+Vjwb/kYoF/5CHBv+Qhwb/lIoG/5eLB/+Xiwf/lIkF/5GHBf+PhQX/jYMF/4uBBP+KgQX/iH8E/4V7 + Bf+EegT/g3kD/4J4BP+DeAX/gncF/4F3Bf+AdQX/f3QE/31zBP97cgP/eW8D/3htBf90bQT/cWwD/29q + A/9vagP/cGwD/3FtBP9ybwT/c3AD/3RxBP92cwb/eXQG/3x7Bv+Afgb/gH0H/3t3CP94cgf/5OPa2uDg + 3sLRz8uvw8C7orWyrJTp5+bcExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2dfpx8O9oM/MyKvd29i89/L30W6IRPlHbQ7/UngW/1Z/ + F/9aiBf/XY4Y/16KFv9chhb/XoEW/115E/9ddBD/W3AO/1tuDf9cbgz/X3AN/2JyDP9ldAv/Z3UL/2h2 + C/9qdgr/a3YJ/3F5Cf90fAf/eIAG/3yDB/9/hQb/hIkI/4iKCP+Iigj/h4gF/4yNFf+UlCj/gIME/3t8 + A/97fAT/fX8E/4CAA/+AgAT/fn4D/359BP9/fgT/gIAE/4eDBP+Oiwb/lJIF/5uYBf+gnAb/n5sG/6ak + Bf+blgb/kYwG/5GLB/+TjAf/kosG/5KLBv+WkAX/l5EE/5ONBv+PiAb/kIcG/5CHB/+UiQb/losH/5aK + Bv+ThwX/kYUG/4+DBf+MgwX/i4EE/4uBBf+JgAP/hHoE/4R6BP+DeQX/gngF/4J3Bv+CdwX/gXcF/4B0 + Bf9/cwT/fHME/3pxA/94bgT/dm0E/3JsBP9xawP/b2oD/29qA/9vawL/cW0D/3JvBP9zcAP/c3EE/3Zz + Bf94dQb/fXwF/39+B/97eAj/d3QH/3VxBv/k4tra4N/dwtDOyrDFwLuiuLKslOnn5twTEhHaAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnZ + 1+nIxL+g0M3Jq93b2L338/fRbYdD+UdsDf9ReBb/VX0W/1uIF/9djBb/XooW/12HFf9egBT/XXoR/1x0 + D/9bbg7/W24N/1ttDP9ebg3/YXEL/2RzCv9mdAv/aHUK/2h0Cf9rdgn/cHgI/3R7B/93gAf/eoIH/3+E + B/+FiQj/iIoH/4iKCP+FhwT/jo4Y/5KSKP+AgQL/ensD/3l7BP99fgT/gH8D/39/BP9/fgT/fn0D/39+ + BP+BgAT/iIMD/4+LBf+Vkwb/nJkF/5+bBv+fmwb/p6QG/5aSBP+Riwb/kooG/5KLBv+RigX/k4wF/5aQ + Bf+VjwT/kYoE/46FBv+OhQb/kIcH/5SKB/+WigX/lYkF/5KGBv+QhAX/jIIF/4uBBf+LgQX/i4AE/4h+ + A/+DegP/g3kE/4N4Bv+Cdwb/gXcF/4F2Bf+AdQX/f3QE/31zA/97cQT/enAE/3huA/90bgT/cmsD/3Fr + BP9vagP/b2oD/29rAv9xbgP/cm8D/3JvA/90cQT/dnQE/3h3Bf9+fQX/fXsG/3h1B/92cgj/c24G/+Ti + 2trf393C0M7KsMXAu6K3sqyU6efm3BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2dnY6cnFv6DRzcmr3dvYvffz99Fth0L5RmwL/1B2 + FP9WfhX/XIcX/1+LFv9eihX/XYcT/16AEv9cfA//XHMO/1tuDv9abQ3/WmwL/1xuDP9hcAz/ZHIK/2V0 + Cv9odQv/Z3MJ/2x1B/9veAf/c3wH/3Z/CP96ggb/gIUI/4OICP+HiQj/hogH/4SFAv+PkBz/kJIm/35/ + AP94eQX/enoG/319Bf9+fQT/fn4E/319A/99fAP/fn0F/4CABP+JhQX/kIwE/5WUBf+dmgb/n5sG/6Cd + B/+loAb/lI4E/5CKBv+RiQf/kYkH/5GKBf+SjQP/lJAE/5ONBv+QiAX/joUG/4+GBv+Rhwf/k4oG/5aK + Bv+ThwX/kIYF/46EBf+Lggb/in8G/4uBBf+LgQT/hnwE/4N4A/+Bdwb/gncF/4F4Bf+AdgX/gXYF/390 + BP9/cwT/fHME/3lxA/94bwX/d24E/3JsBP9ybAT/cWoD/29rA/9vagP/cGwD/3FsBP9wbQT/c28D/3Ry + A/92dAT/enkF/318Bv96eAb/dXIG/3RwB/9xbAX/4+LZ2uDf3cLRzsqwxcC7oreyrJTp5+bcExIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjb2tnoy8bAoNHOyKve29i9+PP40W6GQvlFagv/T3YU/1V9Ff9ahhX/XosV/16KFP9ehRH/XIAS/1t7 + D/9acw//Wm0M/1trDf9bawz/XG0M/19vDP9kcQr/ZXMK/2VyCP9ncwj/aXUH/3B4B/9zewf/dnwI/3yB + B/+AhAf/g4cG/4aIB/+Fhgb/hIQD/4+QIf+OkCP/fX4A/3d4Bf95egX/fX0E/359A/98fQL/fH0D/318 + BP9/fQX/g4AE/4iGBP+QjAT/lpQG/5yaBf+dmQb/o54H/6KcBf+Riwb/kIoF/5GJBv+QiAb/kYkF/5KM + BP+TjgT/kowG/42GBf+NhAX/j4UG/5KHB/+TiAX/lYgF/5KHBv+PhAX/jYIE/4qABf+KgAT/i4EF/4qA + BP+FeQP/gncF/4F3Bf+BdwX/gXcF/4B2BP9/dAT/f3QE/31zBP97cQP/em8E/3hvBP90bQT/cmsE/3Br + BP9vawT/b2oD/3BrA/9wbAP/cW0E/3BtA/9ybwP/c3EE/3Z0Bf96eQb/e3sH/3d0Bv9zcQX/cm0G/29p + Bf/j4tna4N/dwtHOyrDFwLuit7KtlOnn5t0TEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNva2ejLxsGh0M7JrN7b2b348/jRbIVB+UZp + Cv9QdRT/VHwU/1qEFf9eihT/XokT/1yGEP9dgBH/XHgQ/1tzD/9abQ3/WWsN/1lqDP9bbQv/YG0L/2Ny + Cf9kcwn/ZXII/2dzCP9rdAb/b3cF/3J5B/91fAj/fIEF/4CEBv+ChQX/hIYE/4WGBv+EhAL/kZIl/4yO + If99fQD/d3gE/3h6BP98fAT/fXwE/3x8BP97fAT/e3wE/399Bf+EgAT/ioYE/5COA/+YlQX/nZkF/5yY + BP+loAb/nZcG/5CKBf+PiAX/kYkF/5CIBf+RiAX/kYoG/5KMBv+QiAX/jYQG/4yDBP+PhQb/kYYG/5KI + Bf+Thgb/kIQF/46CBv+MgQX/iX8E/4l/A/+LgQX/iH8E/4J4Bf+CdwX/gXcF/4F3Bf+AdQX/f3QE/390 + BP9+cwT/fHMD/3lwA/95bwT/d24D/3JsA/9yawT/cGoD/29qA/9vagP/cGsE/3BsA/9vbAP/cG0D/3Fv + Av9zcgT/dnUF/3l5Bv94dgX/c3EF/3JvBv9wbAX/bmcG/+Pi2drg393C0c7KsMTAvKK2sq2V6efm3RMS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI29rZ6MvHwqHRzsqs39zZvfj0+NFthED5RmgL/1B0E/9UexL/WYMU/12JE/9diBL/XIUQ/11/ + EP9ceBD/W3IP/1psDv9Yagz/WWoL/1xrCv9gbgv/Y3EJ/2RyCf9lcgj/Z3II/2t0Bf9vdwb/cnkH/3R8 + B/97gAX/f4MG/4GEBP+DhQT/hIUF/4KDAv+Rkyf/iosd/3x8AP92dgX/eHkE/3t8BP98fAT/e3wE/3p7 + A/97fAT/fnwE/4WAA/+KhgT/kY4E/5iVBP+bmQX/m5gF/6SgBf+YlAX/jokF/46HBv+PhwX/j4cG/5CI + Bf+Rigb/kosG/46GBf+Mgwb/jIIF/4+EBv+RhQb/k4cG/5GGBf+PhAX/jYEF/4qABP+JfgP/iYAD/4uB + BP+GfAT/gXcF/4F3Bf+BdwX/gHYE/4B2Bf9/dAT/f3QE/31zBP97cQP/enAD/3duBf90bQT/cmsE/3Jr + BP9wagP/b2oD/29qA/9vagP/b2wD/29sA/9wbQP/cW8C/3NxA/93dQX/eHkF/3VzBP9ybwX/cW0H/29p + Bv9sZQX/4+LZ2uHf3MLRzsqwxMC8o7ayrZXp5+bdExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjb2tnoy8fCodPPyqzf3Nm9+PT40W6E + QflFZgv/UHIT/1R5Ev9YghP/W4gS/1yIEv9cgw//XH4O/1x4Dv9bcw7/Wm0N/1hqDP9Zagv/XGoK/15u + Cv9icQj/ZHIJ/2RxCP9ncgf/a3MG/252Bf9xeAf/c3wG/3t/Bf9/gwb/gYQE/4OEBP+DhAT/goMD/5KT + LP+IiBr/enoA/3R1BP94eAT/ensE/3t8BP96ewT/eXoE/3p7Bf99fAT/hYED/4uIBP+SjgT/mZUE/5uY + Bv+bmAb/o6AE/5OOA/+NiAX/jYYG/4+GBv+Phgb/kIgF/5GKBv+RiQX/jYUE/4yCBv+Ngwf/j4QG/5GE + Bv+Thgb/kYUF/46DBP+MgAT/iX4D/4l+BP+KgQT/ioED/4R6BP+BdgX/gXYF/4B2BP+AdgT/f3UE/390 + BP9+cwP/fHME/3txBf96cAT/dm8E/3JtBP9yawT/cGoD/3BqA/9vagP/b2oD/29rA/9vbAP/b2wD/29t + A/9xbwP/dHEC/3h2BP93dgX/cnAF/3BuBf9vawb/bWYH/2pkBP/j4tna4d/dw9HNyrDEwLyjtrKtlenn + 5t0TEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNrZ2enLx8Oh08/MrN/d2r349fjRbYNB+UVmCf9OcRL/U3cT/1Z/Ev9ahxH/XIcR/12C + D/9bfg3/XHgN/1tyDf9ZbQv/WGkM/1ppC/9cagr/X20I/2JxCP9icQf/ZHEI/2ZyBv9rcwX/bnUG/3F3 + B/92ewX/fH8G/36ABf+AgwX/goMD/4OEBP+CggX/k5Mw/4aHF/95eQD/dHQE/3d3Bf95egX/ensE/3p6 + Bf95eQX/eXoG/3x8BP+EgQP/jIkD/5OPBf+alQX/nJcG/56ZBv+gnQX/j4sE/4yHBP+Lhgb/jocF/4+F + Bf+QiAT/kYkF/4+HBf+KgwX/iYIF/4yDBv+Pgwb/kIUG/5GGBv+PgwT/jYEE/4t/BP+IfQP/iH0D/4yB + Bf+IfwX/gXgD/4B2Bf+AdQX/gHUF/4B1Bf9/dAT/f3QF/31zBP97cgP/enAE/3luBP92bQP/c20E/3Jr + BP9vagP/b2oD/29qA/9vawL/cGwD/3BsA/9vbAP/cG4D/3FvA/9zcgL/d3cE/3RzBf9vbQX/bWwD/21o + Bf9rZQf/aGEE/+Lh2dvh393D0c3KsMTAvKO2sq2V6ejm3RMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2trZ6cvIxKLTz8yt4N3avfj1 + +NFsgkD5RWQJ/05vEf9RdRH/Vn0Q/1qEEf9chRD/XIEQ/1x9D/9cdg7/XHEO/1lsDP9YaAr/WmkK/1xq + Cf9fbQj/YXAH/2JwB/9icAb/ZXAG/2pxB/9tdQb/cHkG/3Z8Bf96fwT/fYAD/3+CBP+CggT/gYID/4CC + Bf+TlDH/g4UT/3Z5AP9zdAT/eHYE/3l5Bf95eQX/eHgE/3l5Bf95eQX/fXsD/4WCBP+MiQP/k48E/5uW + Bv+alQX/oJsG/56aBP+NiQP/i4UF/4yEBv+MhQb/jYUE/4+HA/+PhwT/jYQE/4iBBf+IgAT/ioID/46D + BP+QhQT/j4UE/42BA/+LfwT/iX4E/4d8A/+KfwT/jIEF/4Z8Bf9/dQP/f3QE/4B1Bf9/dAT/f3QE/35z + BP99cgP/e3ED/3pwBP96cAT/eG0E/3RsBP9ybAP/cWoD/29qA/9vagP/b2oD/25rA/9vbAP/b2sC/29s + A/9wbQP/cXAC/3R0A/91dQP/b24D/2xrBP9raQT/a2UE/2ljBf9mYQX/4uDZ2+Hf3cPRzcqwxL+8o7ay + rZXp6ObdExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMja2tnpzMjEodTQzKzg3dq9+PX40WuBP/lEYwj/T24R/1FzEP9VfQ//WoMP/1yE + D/9agRD/W3wO/1t1D/9ccQ3/WmwK/1hoCv9ZaAn/XGoJ/19sCf9hbQn/Ym8H/2JwBv9lcAb/anEH/21y + B/9xeAj/dXsH/3p8BP99gQT/foEE/3+BBP9+gQL/gYIH/5SUMv+Bgw7/dXgB/3JzBP93dQX/eHgF/3h5 + BP94eAT/eHgE/3h4BP9+fAT/hoIF/42JA/+UkAT/mZUH/5eTBf+hnQT/mpUF/4yIBP+LhAX/i4QF/4qE + BP+LhQX/j4cD/46HBP+KggX/h38D/4d/BP+KggP/jYIE/46CBP+NggT/ioAE/4l/A/+HfQT/hnwE/4t/ + BP+KgAT/g3kD/350BP9/dAT/f3QE/390BP9+cwP/fnME/31yBP96cAT/enAE/3lvA/91bgP/c2wF/3Jr + BP9xagP/b2oD/29qA/9vaQP/b2oD/29sAv9uawL/b2wD/3BtBP9ycQP/dXQD/3JyAv9sawP/a2oD/2lm + BP9oZAX/ZmIE/2RgA//i4Nnb4d/dw9HNyrDEv7yjtrKtleno5t0TEhHaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNra2enMyMSh1NDMrODe + 27359fnRbIE/+URjB/9NbBD/UXIQ/1Z6D/9ZgRD/W4MP/1uAD/9cewz/XXYL/1xxDP9abAr/WGgJ/1lo + Cv9baQj/XmsJ/2BtB/9hbwb/Ym8G/2VvBf9qcQb/bHQF/3B2Bv90eQb/eX0E/3x/BP99gAT/foED/31/ + Av+Bgwr/lJQ0/3+BDf91dwP/cnEE/3Z1BP93dwX/eHcF/3d3BP93dwT/eHgF/358A/+GgwT/jYkE/5SQ + Bf+YlQX/l5QF/6GeBf+UkAT/i4UE/4uEBf+LgwX/ioIF/4qEBP+MhgT/jIUE/4iABP+GfwP/h4AE/4qB + BP+NggT/joIE/42BBf+KgAX/iH4E/4Z8A/+GfQP/ioAE/4d9Bf+AdgT/f3QE/390BP9/dAT/f3QF/35z + A/99cgT/fHEF/3pwBP96cAX/dW4E/3RtBP9zbAT/cGoD/3BqA/9vagP/bmoC/29rA/9vawP/bmsD/25r + Av9vbAP/cG4E/3NyA/90cwP/b24D/2tqA/9raQP/aWUE/2diBf9lYAX/ZF4D/+Lg2dvi393D0c7KsMS/ + vKO2sq2V6ejm3RMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI2trZ6c7JxaHV0cys4d7bvvn2+dFsgT/4RGEG/01sD/9RcQ//VXkO/1iA + EP9bgg//XH8O/1x6Df9ddgr/W3EL/1psCv9YaAn/WWgK/1ppB/9dagj/X2wG/2FvBf9ibwb/ZG8F/2lw + Bv9scwX/cHYG/3R5Bv94fAT/e34D/3yABP9+gQP/fH4B/4KDDP+TlDP/fX8K/3R1A/9xcQT/dHUE/3d3 + Bf93dwX/d3YE/3d2BP94dwX/fnwE/4aDA/+OigT/lZAG/5eTBP+YlAX/n50E/5GMBP+KgwX/ioMF/4qD + Bv+JgQb/ioIE/4qEBP+KggP/h34D/4Z9A/+HfwX/ioAE/42CBf+OggT/i4AF/4l+BP+HfAT/hHsD/4Z9 + A/+KgAT/hXwF/311BP9/dAT/f3QE/390BP9/dAX/fXID/3xwBP97cAX/enAD/3lvA/90bQT/cmwE/3Js + BP9xaQP/bmoD/29qA/9uagP/bmsC/29rA/9uawP/bmsC/29sA/9xbgP/c3MC/3NyA/9sbAL/a2gC/2lm + A/9nYwT/ZGEF/2NfBP9iXAL/4uHZ2+Lf3cPRzcqxxL+8o7ayrZXp6ObdExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMja2tnpzsnGodXR + zKzh3tu++fb60WyAPvhEYAX/TWsN/09wD/9VeA//WX4O/1yADv9cfg7/WnoM/1x2Cv9bcAn/WWsJ/1dn + Cv9YZwj/WmgG/11pCP9ebAj/YG4F/2FuBf9jbgb/aHAF/21zBv9udgb/dHgE/3h7Bf97fgP/fIAD/32A + A/97fQD/g4UQ/5GRMv97fQb/dHQE/3BxBf9zcwT/dnYE/3Z1BP92dQP/dnUE/3l3Bf9/fAT/h4QE/46K + BP+VkAb/lpIE/5qWBf+emwT/jogD/4mDBf+IggX/iIEF/4mABP+KgwT/ioME/4eAA/+FfAL/hnwE/4h+ + BP+KgAT/i4EF/4uABP+JfgT/h30D/4V7BP+EegX/iH8D/4qABP+DeQP/e3MD/31zBP9+cwT/fnMD/35z + A/99cQX/e3AF/3pwBP94bwP/d24D/3NtBP9ybAT/cmoE/3BpAv9uaQL/bmkC/25qAv9tagL/bmsD/25r + A/9uawL/b2wD/3FuA/90cwP/cG8C/2tpAv9oaAH/Z2QC/2ViBP9iYAP/YV4E/19aAv/i4dnb4d7dw9HN + yrHEv7yjt7Ktluno590TEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNva2enQy8ai1tPOreHe27759frRa389+ENgBf9Nag3/UG8N/1N3 + D/9YfA//W38N/1t9Df9Zegz/XHYK/1twCf9Zagn/V2cJ/1ZlB/9aZgf/W2kG/11rBv9gbQX/YG0E/2Nt + Bf9obwX/bHIG/291Bv90eAT/eHkG/3p8BP98gAL/fH4C/3l7AP+EhhX/kJAx/3t8A/9xcwP/cHAF/3N0 + BP92dAX/dXQE/3V0BP91dAT/eHcF/399BP+GhAT/j4oF/5WRBP+VkAX/nJgF/5qXA/+MhQX/iYIF/4iB + Bf+GgAb/iIAF/4iBBP+HgAX/hX0E/4R8A/+GfAP/iH4E/4qABP+KgAT/iYAE/4l+BP+FfAP/g3oE/4V6 + Bf+KfwX/iH0F/391Bf98cgT/fXME/35zBP99cwT/fXID/3xxBf96cQX/eW8D/3dtBP90bgX/c20E/3Jr + A/9vagL/bmoD/25pAv9uaQL/bmoC/25rA/9uawP/bmsD/25rAv9wbQL/cnED/3NyBP9tbAP/amgC/2Zm + Av9kYwT/Y2AD/2JfBP9gXQT/XlgD/+Lh2dvh3t3D0c3KscTAvKS4sq2X6ejn3RMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI29rZ6dDL + xqHW086s4d/cvvr2+tFrfz34Ql4G/0xpDf9Pbg3/VHUO/1h7Dv9afwz/W3wM/1p5C/9adgn/Wm8I/1lq + CP9WZgn/VmUH/1lmCP9caAf/XmoG/2BrBv9hawb/Y24E/2hwBP9scQX/b3QE/3N3BP93egX/ensD/3p+ + A/97fgP/eHsA/4aGGv+Ojy//eXwC/29xA/9vcQT/c3QE/3V0BP91dAT/dHMD/3V0BP93eQP/gH0D/4iE + BP+PiwX/k5AF/5OPBP+dmQX/l5IF/4iBBf+HgAX/h4EF/4aABP+GfwT/hn8D/4V9A/+DegP/gnoD/4R8 + A/+GfwT/iX4E/4l+BP+IfgP/iH0D/4R6BP+DeQP/hnsE/4p/BP+DewX/e3MF/3xyA/99cgP/fXID/3ty + A/97cQT/enAE/3pwBP94bgT/d20F/3NtBP9yawP/cmoD/29pAv9uaQL/bWgC/21qAv9tagP/bWoD/21q + Av9uawP/bmsC/3BtAv9zcgP/cXAD/2tqA/9oZgP/ZWQE/2NiBP9hXgP/YFwD/15bAv9bVwH/4eDZ2+Hf + 3cTRzsuyxcC8pLeyrZbp6OfdExIR2gAAAJgAAACCAAAAcAAAAGIAAABUAAAARgAAADoAAAAtAAAAFgAA + ABsAAAAlAAAAMAAAAD4AAABUAAAAbQAAAMjb2tnp0MzHodbTz63h39y9+fb60mp+PPlBXQX/S2gN/09s + Df9Tcw3/V3oN/1p8DP9afAz/WnkK/1pzCf9abgn/WWoI/1ZmCP9WZQf/WWYI/1xoB/9daQj/XmoG/2Bs + Bv9jbQT/Z28F/2lxBf9vdAT/cncD/3Z6A/93fAP/eX0C/3p9Av93egD/iIke/4yMLP94eQH/bnED/25w + A/9ycgT/dHMF/3RzBf90cwP/dXQD/3l5BP+BfgT/iIQE/4+LBP+TjwX/lI8E/56ZBf+RjgT/hoEE/4Z/ + Bf+GfgT/hX0E/4V+A/+FfQP/gnoE/4F4Bf+CeAX/hXsE/4Z+BP+IfgT/iX4F/4h9A/+FegT/g3gD/4N4 + A/+HfAP/ioAE/4B4A/96cQP/e3ID/3txBP97cQT/e3EE/3pwBP96cAT/enAE/3huBP93bQX/c2wF/3Jr + A/9vagP/bmkD/21oAv9uaQP/bWkD/21pA/9saAH/bWoC/25rA/9vbAP/cnAC/3JxA/9tbQP/aWcC/2dl + A/9lYwP/Yl8E/2FdA/9fWwP/XVkD/1pWAf/i4Nnb4d7dw9HPy7LFwLykt7Ktluno590TEhHaAAAAmAAA + AIIAAABwAAAAYgAAAFQAAABGAAAAOQAAACsAAAAWAAAAGwAAACUAAAAwAAAAPQAAAFMAAABsAAAAyNva + 2enQzMeh1tLOreDe2r349PrRan47+UJdAv9LaA7/Tm0N/1JzDP9WeQz/WnsM/1p7DP9ZeAr/WnMJ/1pu + Cf9Zagj/VWUH/1ZlB/9YZgj/WmcH/1xpCP9eagb/X2wF/2JsBP9obgb/anEF/250A/9zdwP/dXoC/3h8 + Av96fAL/enwD/3Z5AP+JiyP/i4so/3Z4AP9tbwL/bm8D/3JxBf9zcwX/c3IF/3RzBf91dAP/eXkD/4F/ + BP+IhQX/kIwF/5KPBf+UkAT/nZgF/46JBP+GfwT/hn8F/4Z+BP+DfAX/g3wE/4J7A/+AeQX/gHgF/4N5 + Bf+FewT/hnwE/4h+BP+HfgP/hnwD/4R6BP+CeAT/hHkD/4l/BP+IfgT/fXUD/3tyA/96cQT/e3EF/3tx + Bf96cAT/enAE/3pwBP95bwX/eG4E/3VsBf9ybAX/cGoD/29qA/9taQP/bWgC/25pA/9taAP/bWkD/2xp + Av9tawP/bWsE/29tA/9ycAT/cG4E/2poA/9oZgP/ZmQD/2RhA/9hXgT/X10C/1xZAv9bWAP/WVUC/+Hf + 2Nrg3tzC0c3LssTAvKS3sq2W6ejn3RMSEdoAAACXAAAAgQAAAG8AAABhAAAAUwAAAEUAAAA5AAAALAAA + ABYAAAAbAAAAJQAAAC8AAAA8AAAAUgAAAGsAAADI3Nva6dDMxqHU0s2s393ZvPfz+M5rfjv4Q10C/0tn + Df9Oawz/UHEL/1V3C/9Zegv/WXoL/1h3Cf9acwn/Wm4I/1hpB/9VZQf/VWQG/1dlBv9ZZgf/XGgG/15q + Bv9fawT/Y2wE/2htBf9qcAP/bXQD/3J3A/91eQL/d3wD/3l7A/95ewP/dXgA/4mLJ/+IiSX/dHYA/2xv + Av9tbwP/cHAD/3JyBP9zcgT/c3IE/3R0BP95eAP/gH4E/4mGBv+Piwb/kI0F/5WSBf+blwX/i4UF/4Z+ + BP+EfQT/g3wF/4F7Bf+BegT/f3gF/353BP9/dwT/gnkG/4N8A/+FfQT/hn4D/4V9A/+EewP/g3kE/4F3 + Bf+DegT/iX8E/4V8A/98cQT/e3AE/3pwBP97cQX/enAE/3pwBP96cAT/eG8E/3dtBf91bQT/cmwD/3Fq + A/9vagP/bmkC/21oAv9taAL/bGgC/2xoAv9saAL/bWkC/21rA/9sawL/bm4C/3FvA/9ubQP/aWcD/2hl + A/9lYgT/Y2AE/2FdA/9eWwL/W1kC/1pXAv9YVAL/397X19/c28DQzMmxw8C7pLeyrpfp6OfdExIR2gAA + AJcAAACBAAAAbgAAAGAAAABSAAAARAAAADgAAAArAAAAFAAAABkAAAAjAAAALgAAADoAAABPAAAAaQAA + AMjc29rp0MvGodTQy6rd2ti59PD0yWp8O/dDWwL/TGYM/09pDP9Rbgz/VHUK/1h6Cv9YeAr/WHUJ/1px + B/9Ybgf/VmgG/1VlBv9VZAb/V2UG/1pmBv9cZgb/XWkG/19rBP9jbAT/aG0D/2pwA/9scwT/cHYC/3Z3 + BP92eQX/eHoD/3h6Af91dwD/iowr/4aHIf9zdQH/am0D/21uBP9wcAP/cXED/3JyBP9zcgT/dHME/3l5 + A/+AgAX/iYYG/4+LBP+QjAP/lpME/5eTBf+IgQX/hH0E/4J9BP+BfAT/gHoF/4B5Bv99dgT/fXUE/391 + BP+CeAT/g3sE/4V8A/+FfAP/hHoE/4N5BP+BdwX/gHYE/4V7BP+IfwT/f3cE/3lvBP96cAT/enAE/3pw + BP96cAT/eXAD/3hvBP92bwT/c20D/3NsBP9xagP/b2oD/29qAv9uaQL/bWgC/21oAv9saAL/bGgC/2xo + Av9taQL/bGoC/2xrA/9vbwL/b28D/2ppAv9oZgL/ZmUC/2NiA/9hXwT/YVwD/11ZAv9bWAP/WVUC/1dS + Av/c2tPT3NnYvc7Lx67Dv7ujt7Kuluno590TEhHaAAAAlQAAAH8AAABsAAAAXwAAAFAAAABCAAAANgAA + ACkAAAAUAAAAGgAAACIAAAAsAAAAOAAAAE0AAABnAAAAx9zb2unPy8Sf0s3JqNnX1LXw7PDCaHo69UJb + Av9MZAv/TmkL/1BsC/9Vcwv/V3cK/1d3Cv9XdQj/WXIH/1dtB/9WaAb/VGQF/1NkBv9XZAb/WmUG/1xn + B/9daAT/YGoE/2JrA/9mbAP/aW8C/2xxBP9vdQP/c3cE/3Z4BP94eQT/eHgE/3R3AP+LjS//g4Uc/3N1 + AP9pbQL/bW0D/29vA/9vbwP/cHAD/3FyA/90cwT/eXkE/4CABf+Jhgb/jowF/46LBv+WkwX/k48E/4Z/ + Bf+DfQX/gnwE/4F7Bf+AeQb/fncF/3l0BP97dQT/fncE/4B4BP+DewP/hXsF/4V6BP+DeAX/g3cF/4B2 + Bf+AdwX/h34E/4Z+Bf99cwT/em8E/3pwBP96bwP/em8D/3pwBP94bwP/dm8E/3RuBf9zbgT/cmwD/3Bq + A/9uaQL/bmkC/25oA/9saAL/bGgC/2xoAv9saAL/bGgC/2xoA/9raQL/bWwC/3BvAv9tbAP/Z2YC/2Zl + A/9kYwP/YmAC/19eA/9eWwT/W1kB/1lWAv9XVAT/VVEB/9fWzszY1tS4y8fEq8K9uKG2sq2V6ejn3RMS + EdoAAACTAAAAfAAAAGkAAABcAAAATgAAAEAAAAA0AAAAKAAAABIAAAAYAAAAIAAAACkAAAA1AAAASgAA + AGMAAADG29rZ6M3JxJ/Oysam19PPsOzn67hgcy32OFQA/0BcAP9CXwD/RWUA/0prAP9MbgD/TG0A/01t + AP9QagD/TWQA/0xgAP9KWwD/SlsA/01bAP9QXAD/Ul4A/1VgAP9VYAD/V2IA/1xkAP9hZwD/ZGoA/2dt + AP9rbwD/bnAA/29xAP9vcAD/bG8A/4SHJf94egv/aWwA/2FjAP9jZgD/ZmcA/2dnAP9oaAD/aWkA/2xs + AP9xcgD/e3oA/4KBAP+HhQD/iIUA/5KPAP+HgwD/e3QA/3p0AP96dAD/eXIA/3ZvAP9xbAD/cGwA/3Ns + AP92bwD/eXEA/3xzAP99cwD/fXIA/3twAP96bwD/eW0A/3txAP+AeAD/fHQA/3FpAP9yaAD/cmgA/3Fn + AP9xZwD/cmgA/3FnAP9tZwD/bGYA/2tlAP9qYwD/Z2IA/2ZhAP9mYQD/ZGAA/2RgAP9jYAD/ZGAA/2Rg + AP9jXwD/Y2AA/2NiAP9mZgD/amcA/2NhAP9fXQD/XVsA/1tZAP9ZVwD/VVUA/1NRAP9RTgD/UEwA/05L + AP9MSAD/0c/GxNPQzrLIxMCnwLu2n7Wwq5bp6OfdExIR2QAAAI8AAAB5AAAAZgAAAFcAAABKAAAAPAAA + ADEAAAAmAAAAEAAAABUAAAAeAAAAJgAAADEAAABGAAAAXgAAAMXb2tnpy8fDn8vGwqLTz8qp3dnVssnK + u8fGybbRy9C82M7SvtzQ1cDg0tfB4tPYweLT18Hi0tjB4tPXweLT1sHi09XB4tLUwOLS1MDi0tTB4tPU + weLT1cDi1NXA4tTVwOLU1sDi1dbB4tbXweLX18Hi19jB4tjYweLY2MHi2NjB4tjYwOLY18Di3dzJ4dnZ + xOHX1r/h1tW/4dbWwODW1r/g19a/39bWv9/W1r/f19a/39jXv9/Z2L/f29m/39vZv9/c2r/e3ty/3tva + v97Z17/e2de/3tnXv97Z17/e2Na/3tfWvt7X1r/e2Na+3tjWv97Z17/e2de+3trXv97a177f2de/39nW + v9/Z1r/f2de+39rZv9/Z2L/f19bA39fWv9/Y1b/f2NW/39jVv9/Y1b/f2NW/4NjVv+DX1b/g19W+4NfU + vuDW1b/g1tW/4NbVv+DW1L/g1tS/4NbUvuDV077g1dO+4NXTvuDV077g1NO+4dXUvuHV1L7h1NO+4dPS + vuHT0r7h09G+4dLRvuHS0b3h0M+94M7Mu93LybjZx8W008G+rcvSzsu2y8fFq8O/vKO9uLSdtrGrlevp + 5twTEhHYAAAAiwAAAHIAAABgAAAAUwAAAEYAAAA4AAAALQAAACMAAAAOAAAAEwAAABsAAAAjAAAALgAA + AEEAAABWAAAAxdLRz93LxsGcyMTAn87KxaTU0Mqq3trYsOPg4Lfn5OS+6ubowuzo6sXs6evG7Onrxuzp + 68bs6evG7Onrxuzp68bs6evG7Onrxuzq68bs6evG7errxuzp68fs6evH7Onrx+zq68br6uvG7Orrxuzq + 68bs6uvG7Orrxuzq68bs6erG7Onqxuvo6sbq6OjF6efpxero6sTq6OnE6+jpw+ro6cPo5ufC6ebnwejl + 58Lo5ufB6Obnwefk58Hn5OfB5+Tnwefk58Hm5efA5uXnwOfl58Dn5efA5+XnwOfm58Dn5ufA5+bnwOfm + 58Dn5ufA6ObnwOfm58Dn5efA5+bnwefm58Hn5ufB5+bnwefm58Hn5efC6Obnwejm58Hp5ufB6Obnwujm + 58Lo5ufC6Obnwujm6MPo5ujD6Obow+jm6MPo5+jD6ejpw+ro6cPq6OnD6ujpw+ro6cPp5+jD6efow+fl + 58Tn5efE5+XnxOfl58Tm5ebE5uXmxObl5sTm5ebE5uXmxObl5sTn5ebF5+Xmxefl5sXn5ObE5OLiwuDf + 4L7d29q419TUscvHxavFwb2lwLu3oLq1sZu3sayV4uDf0REQENYAAACEAAAAbQAAAFoAAABNAAAAQQAA + ADUAAAAqAAAAIAAAAA0AAAASAAAAGQAAACAAAAApAAAAOgAAAE8AAACtcG9u5NzZ1a/EwLmYy8fBoM7J + xKPRzsmo1dLOrdfU0LDZ1dOz3NfVtdzZ1bbc2dW23NnVttzZ1bbb2NW23NnVttzY1bbb2NW23NnVttvY + 1bbc2dW23NjUttvY1Lfa2NS33NnVttzZ1bbb2dW23NnVttzZ1bbc2dW229nUttvZ1Lbb2NS22tfVtdvX + 1LXZ1tO02tbTs9nW07HZ1dOy2NXRsdfU0LDX1NCw1tLQsNXTz6/V08+v1dPOrtXSzq7V0s6u1dLOrtXS + zq7W0s6u1tLOrtbSzq7W0s6u1tLOrtbSzq7W0s6u1tLOrtbSzq7W0s6u1tLOrtbSzq7V086v1dPPr9XT + z7DW0tCw1tLQsNbT0LDX1NCw19TQsNfU0LDX1NCw19TQsNfU0LHX09Cx19PQsdfT0LHX1NCx19XRsdjV + 0rHY1dKx2NXSsdjW0rHY1dKx2NXRsdfU0LHX09Cx1tLPstbSz7LW0s+z1dHPs9TRzrPU0c2z1NHNs9TR + zrPU0c2z1NHOtNTRzrTU0c601NHOtNPQzbPRzsyzz8zJsMzJxazIxcGpw7+8o8C7t6C9uLOdtK+qldLN + yaaHhoXfBQUFxAAAAHkAAABkAAAAUwAAAEYAAAA7AAAAMAAAACYAAAAdAAAACwAAAA8AAAAVAAAAHAAA + ACUAAAAyAAAARwAAAHkSERDm29nX19DMxpzDvreXysS+ncrIwqDNyMSjzsvFpc/Lx6bRzcin0c3Ip9HN + yKfRzcin0c3Ip9LOyKfSzsin0s7Ip9LOyKfRzcin0s7Ip9LOyKfSzsin0s3IqNHNyajRzsin0c7Ip9HO + yKfRzsin0c7Ip9HOyKfRzsmn0c7Jp9HMx6fQzMimz8vHps/LxaXPy8WkzsrFos7JxKPMxsOizMbBocvH + waDKx8GgycXAoMnFvp/Jxb+fyca/n8nFv5/JxL+fycS/n8nEv5/Jxr+eycW/nsnFv57Jxb+eycW/nsnF + v57Jxb+eycW/nsnGv57Jxr+fyca/n8nGwKDJxcCgycXBocnFwaHJxcGhysbBoMzGwaHMxsGhzMbBocvH + waHLxsGhy8XCosvFwqLLxcKiy8XCoszJw6LNycSizcnEos3JxKLNycSizcjEos3Hw6LNx8OizMfCosvG + waPJxcGjycXBo8jEwaTIxMCkx8S/pMfEv6THxMCkyMTApMfDv6XHw7+lx8O/pcfDv6XHw7+lx8O/pcXB + vaXDwLykwr66o7+7t5+9ubWdu7axnLSvqZW+urSV4+DeyyspKO0AAAChAAAAbAAAAFoAAABLAAAAQAAA + ADUAAAArAAAAIgAAABkAAAAJAAAADQAAABMAAAAZAAAAIQAAACoAAAA6AAAAXgMCAqdVVVT13tzZz+fk + 3arHwruWwr63lcPAuZbFwbuXx8G8mMfCvJjHwbyYx8G8mMfBvJjHwryYyMO8mMjDvJjIw7yYyMO8mMfC + vJjIw7yYyMO8mMjDvJjIxLyZx8S9mcfEvJnHw7yYx8O8mMfDvJjHw7yYxsG7mMbBu5jGwbuYxsC6l8XA + upbDvrmVw764lcG8tpTBu7WTwLu0k765spK+ubGQvbexj763sY+9uLGPvbiwjry4r467t6+Ou7evjru2 + r467tq+Ou7avjru3r468tq+Ovbavjb22r428tq+NvLavjby2r428tq+Nu7avjru2r467tq+OvLawj7y2 + sJC8tbCQvLawkL23sZC+ubGPvrixkL64sZC+uLGQvriykb63spG+t7KRvreykb63spG/ubOQwLu0kcC7 + s5HAu7ORwLuzkcG6tJLBubSSwbm0kr+5s5K+uLKTvLexk7u2sZS7trGUurWwlLm1sJS4ta+UurWvlLm1 + sJW5tK+VubSvlbm0r5W5tK+VubSvlbizr5W4s66WuLOulrezrpa3sq2VtrCrlLSvqpK3sa2T1tHOpOPi + 38hsbGrzCQgIwQAAAHsAAABfAAAATgAAAEIAAAA4AAAALwAAACUAAAAeAAAAFQAAAAgAAAALAAAAEAAA + ABQAAAAbAAAAIwAAAC4AAABLAAAAYQAAAKk3NzfxgoF/4eHg3tH39vPS8vHu0vPx79Lz8u/S8/Hv0vPx + 79Lz8e/S8/Hv0vPy79Lz8u/S8/Lv0vPy79Lz8u/S8/Lv0vXy79L08u/S8/Lv0vPy79Lz8u/S8/Lv0vPy + 79Lz8u/S8/Lv0vPy79Ly8e7S8/Hu0vPw7tLz8O/S8/Hu0fLx7tDx8O3Q8e/tz/Hu7NDv7uvQ7+3rz/Du + 687w7evO8O3rzu/t687w7uvO7+3rzu/t687v7evO7+3rzu/t687v7evO7+3rzu/t687v7erN7+3qzfHt + 683y7uzM8u7szPLu7M3y7uzN8e7szfDt7M7x7ezO8e3szvHu7M7x7+zO8e/szvHv7M7x7+zO8e/szvLv + 7M7z7+3O8+/tzvPv7c7z7+3O8+/tzvPw7c7z8O3O8/DtzvPw7c7z8O3O8+/tz/Pw7c/z8O3P8vDsz/Lv + 7M/y7+zP8e7sz/Hu7M/x7uzP7+7r0PHu7M/x7uvQ8O3r0PDt69Dw7evQ8O3r0PDt69Dw7evQ8O3r0fDt + 69Hw7evR8O3r0fDt69Dw7evR8/Dt0Ojl49CPjYzdQD8/8gEBAcMAAAB5AAAAXwAAAFAAAABCAAAAOQAA + ADAAAAAoAAAAIAAAABkAAAASAAAABgAAAAgAAAANAAAAEAAAABUAAAAcAAAAJAAAADcAAABMAAAAYAAA + AIYEAwO9KSko6TEwMOMvLy7jLy8u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8u + LuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8vLuMvLy7jLy4u4y8u + LuMvLy7jLy8u4y8vLuMwLy7jLy8u4y8vLuMvLy7jMC8u4zAvLuMwLy7jLy8u4y8vLuMvLy7jLy8u4y8v + LuMvLy7jLy8u4y8vLuMvLy7jLy8u4y8vLuMvLy7jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAv + L+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAv + L+MwLy/jMC8v4zAvL+MwLy7jMC8u4zAvLuMwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy7jMS8v4zAv + LuMwLy7jMC8u4zAvLuMwLy7jMC8u4zAvLuMwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MxMDDjLS0s5woJ + CMwAAACWAAAAdAAAAFsAAABOAAAAQgAAADgAAAAwAAAAKAAAACIAAAAbAAAAFAAAAA4AAAAHAAAACAAA + AAwAAAAQAAAAFQAAABsAAAAiAAAALAAAADkAAABGAAAAUAAAAGAAAABsAAAAcAAAAHIAAABzAAAAdQAA + AHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAA + AHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHcAAAB2AAAAdgAA + AHYAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAA + AHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAA + AHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAA + AHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHYAAAB3AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAA + AHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHUAAAB0AAAAbAAAAGAAAABXAAAATAAAAEIAAAA4AAAAMQAA + ACsAAAAkAAAAHwAAABkAAAATAAAADgAAAAUAAAAGAAAACQAAAAwAAAAQAAAAFQAAABoAAAAhAAAAKAAA + ADEAAAA4AAAAPwAAAEMAAABIAAAASwAAAEwAAABOAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAATwAA + AE0AAABJAAAARQAAAD4AAAA4AAAAMwAAAC0AAAAoAAAAIwAAAB0AAAAYAAAAEwAAAA4AAAAKAAAABAAA + AAUAAAAHAAAACQAAAAwAAAAPAAAAFAAAABgAAAAdAAAAIgAAACYAAAArAAAALgAAADEAAAAzAAAANQAA + ADYAAAA3AAAAOAAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANgAAADMAAAAyAAAALgAAACoAAAAnAAAAIwAA + AB8AAAAbAAAAFgAAABEAAAAOAAAACwAAAAgAAAACAAAAAwAAAAUAAAAHAAAACQAAAAsAAAAPAAAAEwAA + ABUAAAAYAAAAHAAAAB8AAAAhAAAAJAAAACYAAAAnAAAAKAAAACkAAAAqAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAAoAAAAJgAAACUAAAAjAAAAIAAAAB4AAAAaAAAAFwAAABQAAAARAAAADQAAAAoAAAAJAAAABgAA + AAEAAAACAAAAAwAAAAQAAAAHAAAACAAAAAsAAAAOAAAAEAAAABEAAAAVAAAAFwAAABkAAAAcAAAAHQAA + AB0AAAAfAAAAHwAAACAAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAdAAAAHQAAABsAAAAYAAAAFgAA + ABMAAAARAAAADwAAAA0AAAAJAAAABwAAAAcAAAADAAAAAQAAAAEAAAACAAAAAwAAAAQAAAAFAAAABwAA + AAkAAAALAAAADAAAAA4AAAAQAAAAEgAAABQAAAAVAAAAFQAAABcAAAAXAAAAGAAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABUAAAAVAAAAEwAAABEAAAAPAAAADgAAAAwAAAAKAAAACAAAAAYAAAAFAAAABAAA + AAIAAAABAAAAAQAAAAEAAAACAAAAAwAAAAMAAAAFAAAABgAAAAcAAAAIAAAACgAAAAsAAAAMAAAADQAA + AA8AAAAPAAAADwAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAPAAAADwAAAA4AAAANAAAACwAA + AAsAAAAJAAAACAAAAAYAAAAFAAAABAAAAAMAAAADAAAAAQAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAA + AAIAAAADAAAABAAAAAQAAAAFAAAABwAAAAcAAAAIAAAACQAAAAkAAAAJAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAkAAAAJAAAACQAAAAcAAAAHAAAABgAAAAUAAAAEAAAABAAAAAIAAAACAAAAAgAA + AAEAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAIAAAADAAAAAwAAAAQAAAAFAAAABQAA + AAYAAAAHAAAABwAAAAcAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABwAAAAcAAAAHAAAABQAA + AAUAAAAFAAAABAAAAAMAAAADAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEA + IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABgAAAA4AAAAXAAAAIAAAACcAAAArAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAArAAAAJwAAAB8AAAAXAAAADQAAAAYAAAAGAAAADgAAAB0AAAAtAAAAPQAA + AEgAAABOAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABOAAAASAAAAD0AAAAtAAAAHAAAAA0AAAALAAAAGQAA + ADAAAABHAAAAWwAAAGkAAABwAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABwAAAAaQAAAF0AAABIAAAALwAA + ABgAAAARAAAAJAAAAEEAAABsCgoLpBgYGLIWFxe0FxcXtBcXF7QXFxe0FxcXtRcXGLQXFxi0FxgYtBcY + GLQXGBi0GBgYtBcYGLQXFxi0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe1FxcXtRcXF7UXFxe0FxcXtBcX + F7QXFxe0FhcXtBYWF7QWFhe0FhYWtBYWF7QXFxe0FxcXtBcXF7QXFxe0FxcXtBcXF7QYGBi1AQECpgAA + AHkAAABfAAAAQQAAACQAAAAXAAAALAAAAF05OTe7joiApZOMgpSRiICTjIR6kod/dZCEe3KPgHlvjn54 + bY18dWuMeXJni3lyZ4t5cWeLeG5mi3lvZot7cmiKgHdsi4N7coyIf3aMjIJ4jIyFeo2NhnuOjYd8j4+H + fo+Qh3+PkYh/j5KJf4+SiYCPk4uAkJOMgpCTjIKQlIyCkJOLgZCPiH6OjIR6jYuCeIyMg3mNj4d9jpGJ + gI+SioCOfnlzshcXF7UAAABxAAAAUAAAAC4AAAAbAAAAMAkJCYmSjIasnpWJcLKmnYW/s6yQvbKrkbqv + p4+3rKWNtaujjLOqoYuxp5+KsKWdia6knYmuo52JrqKdiq+knYmypp+JtKqjibitp4q7saqKvLKri7yz + q4u7s6yMvLOtjLyzrYy9s66NvbSujb21ro29ta6OvLaujru2ro68tq6Ovbevjry1ro66s6yMuLKri7ex + rIu5s6+Mu7SyjbStqYaelY10n5WIbGdlYb0AAACJAAAAVgAAADMAAAAcAAAAMhESEpKpoZqlsriymXPd + 4+tx4Ofyc+Dn83Xg5/N24ObzeeHl83zi5fJ/4uTyguPk8oXj4vKH4+LyieTg8ozl3/KP5d/yk+bf8pfo + 4PKc6eLyoOrj8qTs4vKo7uLzrfDi8rLz4fK29uHzvPjh88T64fPO++Tz3vvq8+z78/P5+/nz//v98//7 + /vP/+/3y//v38vz77fL3++Lz9vvR8/P5vu7V1rm7qaKbdX98d7UAAACRAAAAWQAAADYAAAAdAAAAMxAQ + EJGwqKKsws7JsEjd5P882d//Pdna/z7Z1/8/2dX/QdnT/0ba0v9K29D/S9vO/07by/9Q3Mn/U9zH/1be + xf9a4cP/XeTC/2Lowv9o78T/cPXH/336zv+M/db/nf/g/7L/6v/F//H/2v/5/+///f/3//z/+f/8//r/ + +v/y/+v/4f/e/7/92v+3/dn/wv7O/8r/sf/V/Zv/2vyO/9f9jP/Q5r7WvbOxgn57d7gAAACRAAAAWgAA + ADcAAAAdAAAAMw8PD5G0q6avxtLPtjzT2f8v0NP/MtDR/zPPz/800Mv/N9DJ/zrQyP880cX/PdLD/0DV + wf9F2cL/St7E/1LlyP9b7M3/ZvLT/3H42P97/d3/gv/g/4v/5P+Z/+j/qf/r/7n/7P/E/+f/x//b/7// + zP+0/L//pfm1/5n3r/+M9qv/ePWs/3P3uP+C+sP/hf3J/5D9y/+q+7n/uO2R/7XXZ//P2a3Zxb27iIB9 + ebkAAACRAAAAWgAAADcAAAAdAAAAMw8PD5G1rqiwx9PQtzjS1f8sz9D/MdDP/zLRzv811M7/OdfP/z/b + 0f9E4dX/TOjY/1Pu3P9a9OD/YPni/2X74f9q/N//bv7d/3T/2/96/9r/gf/X/4r+1P+Q/Mv/kfi//43z + sP+F7p//gOmT/4Hmjf+G5Yr/j+WI/5bmh/+a5ob/nOKG/57ahv+k14n/qdyM/6zmkP+k7pT/n/CW/6Hi + hf/K27fayL+9i4J/e7oAAACRAAAAWgAAADYAAAAdAAAAMw8PD5G3r6qxydXRuT7Y1/8z2dX/Ot3Y/0Di + 3P9F6N//SOrg/0nq2/9M6tb/TujQ/0/myf9R58P/VerB/1zwwv9k9cL/a/fA/2/yuf9w6q//buKh/2vb + lf9r2Y3/dNmM/33bi/+C24f/h9uC/4jafv+K1Hr/ic10/4fFbf+Ivmj/jLhg/5K3Vf+Ttkv/lLVO/5m2 + Vf+kvl3/rsti/7HXbf/S4LzbysLAjYOAfLsAAACQAAAAWgAAADYAAAAdAAAAMw8PD5G4sKyzytfTukbh + 3P853tb/PNvR/z/azf8/2Mj/QNTC/z/Quf9D0bb/Ste4/1Leuv9a5L3/X+S5/1/esP9f1qL/X8+X/2HM + kP9lz4z/bNOJ/3HWiP9314T/ftWD/4PRf/9+yHP/eb5o/3m4Y/97s1//f7Bc/4WwVv+MtVH/j7xS/5DA + W/+TxGT/nMVl/6HDYP+kwFj/qLtS/6mzQP/Qz6LczcfHkISBfrwAAACQAAAAWgAAADYAAAAdAAAAMw8P + D5G5sq60y9bSuz/Kwf8yxLf/NsO0/zvHtv9Bzbv/RtXA/0vZv/9O2rv/Udaz/1PQqf9VyqH/WMia/13L + lf9j0JL/adOQ/27VjP9w04b/cM5+/3DHdf9wwm//e8Nx/4bGcf+CwWX/gb9e/4i/Xv+Mw1z/kMdc/5DM + Yf+Mz27/i8tz/47BbP+PuWD/kbJU/5KoSf+WokH/mJw6/5aRKv/Iw5vc0MzKkYWCf70AAACQAAAAWgAA + ADYAAAAdAAAAMg8PD5G6s6+2zNbRvELFuP84xrb/QM27/0XSvf9J1L3/StK3/0vMrP9MyKT/Ucug/1rR + of9j2KH/a9ye/3Dcl/9x2o//c9eI/3fVgf961Xz/ftV2/4DUcP+F02r/ldRu/5nTbv+JyWX/gcZi/4PH + XP+FwlT/grdU/32pVf98nUn/fJM8/3uLNP98hi//gIMr/4SBKP+IgCf/i4Em/4x8Gv/GvZbd08/Nk4eE + gb0AAACQAAAAWgAAADYAAAAdAAAAMg8PD5G8tbC2ztnTvUrQvv8+yrT/Qsqv/0fMrf9P07H/WN22/1/l + t/9j6rT/au2v/3Lsqf956qP/gead/4LilP+A3Ir/f9N+/33Mc/97xGn/d7th/3KyXf9vr2H/d7Zx/3O4 + cP9pr1n/cadC/3icNP90ji//coYq/3SDJv92giT/d38j/3h8If96eiD/fHgg/4B4IP+DeSD/h3oi/4h2 + F//Eu5be1tHQlYeEgb4AAACQAAAAWgAAADYAAAAdAAAAMg8PD5G8tbG4z9nTvlbXvf9S2rv/WuK//2Hp + wv9o7ML/be2//2zps/9p4KX/adWX/2nMjP9txIH/cLx3/22zbf9nqWP/ZKJd/2GdW/9dmlv/XJlc/1yc + W/9lpVn/drBT/3imO/9xjyf/b4Qk/2yAJf9sfiT/cH4j/3aAIv96fx//ense/3l4Hv95dx3/e3Ue/351 + Hv+Adh//hHcf/4VyFf/Dupbe19PSl4eFgr8AAACQAAAAWgAAADYAAAAdAAAAMg8PD5G9trO40dvVv2Te + v/9Y17P/Vs+o/1PHnP9Tv5T/U7mO/1KzhP9Qqnb/UKFr/1OeZv9anmP/YKFk/2CfYv9cmV3/XJhc/1yY + V/9emFD/ZJpH/2eYOv9wmS//fZ0p/3aPJP9qfSH/an0h/25/IP9yfh7/dX4d/3yAHf99fxz/e3oc/3l2 + HP94dBv/eXMc/3tzHP99dBz/gnQd/4JvEv/CuZXe2NTUmIiGg8AAAACQAAAAWgAAADYAAAAdAAAAMg8P + D5C9t7W50NjSwE+3lv9Bq4f/QqF9/0KddP9FnXL/SJ5w/0uebf9Lmmf/TJVi/1CUYP9ZmV//YqFe/2Wf + Wf9imVL/ZZlM/2eYQ/9olDn/Zo0s/2aFJP90jSL/f5Yj/3KHH/9peRz/bHsb/3F+Gv91gRr/eoAa/4CD + Gv9/gBn/fHsa/3l2Gv94chn/eHEa/3lxGf98cRr/gHIb/4BsEP/BuJTf2dbWmoiGg8AAAACQAAAAWgAA + ADYAAAAdAAAAMg8PD5C+ura60NbQwUmjgP8/nHP/QpVs/0GRZv9EkmX/R5Vn/0uYZv9NlmH/T5Nb/1SU + V/9fmlT/a6JT/26hTP9tm0P/b5g7/2iOL/9khCX/Zn8g/26AHf97jR7/fZAe/3GBG/9reRj/b3wX/3SB + F/95gxj/foMX/4SGGP+Dghj/fnwY/3p2GP93chj/d3AY/3hvGP96bxj/fXAZ/31qDv/BuJTg3NjXm4mH + hMEAAACQAAAAWgAAADYAAAAdAAAAMg8PDpC/ure70NbPwUmedP9Al2r/Qo9k/0OLX/9FjF3/SZBc/06T + Wv9Qk1b/U5JR/1qTTP9onEj/eKVE/3qhPf9vlDH/bIwo/2mDIf9rgBz/bX0Z/3B+GP96ixr/fI4a/3F/ + F/9ufBb/cn8V/3qEFf99gxb/gYUW/4eHFv+Fgxb/f3wV/3t1Fv94chb/d28W/3duFv94bhb/fG4X/3to + DP/AuJTg3dnYm4mHhMEAAACQAAAAWgAAADYAAAAdAAAAMg8ODpC/u7i70NbPwkuabf9ClGH/RI1a/0WH + U/9JiFH/TItP/1GOTv9XlEr/XZdG/2aZQP92ojz/gaY1/3eYLP9uiiP/c4oe/3KEGv9wfxX/bnsU/3KA + Fv99jxj/fo8Y/3KAFP9yfhT/eIMU/4CIFP9+hRP/hogU/4iIFP+FgxT/f3wT/3x2E/95cxT/eHAU/3dt + Ff93bRX/e20V/3hmCv/At5Pg3dnanYqIhcEAAACQAAAAWgAAADYAAAAdAAAAMg4ODpDAvLm80dbPwk6Y + Y/9Gk1b/R4pQ/0iCSP9Kgkb/UIhD/1uUQv9kmz7/ap87/3OhNf94nSz/fZok/3mSIP92ihv/e4wZ/3aF + Fv9xgBT/bnwS/3aFE/+DkxX/hZIV/3aDEv94gxL/f4cS/4SMEv+BhxH/iYoR/4iJEv+EgxL/gHwQ/3x3 + Ef97dBL/eXET/3duE/94bRP/eWwU/3dlCf/At5Ph3trbnYqIhcIAAACQAAAAWgAAADYAAAAdAAAAMg8O + DpDAvLm80dbNw1GUWP9Jkk3/TIhH/0yAP/9Vizz/YJc6/2WYN/9upTX/cKAv/22OJf93kSD/g5oe/3+S + HP97ixf/go0W/3qGFP90gBL/c38R/3+LE/+LmRT/ipUU/3yGEf9+iBH/hY0R/4aNEf+FiQ7/iYsP/4iI + D/+EgRD/f3wP/314D/99dhD/fHMR/3pvEv95bRL/em0S/3dmB//AuJLh3trbnouIhsIAAACQAAAAWgAA + ADYAAAAdAAAAMg8ODpDAvLq80tXNw1SSUP9LkEP/U44//16VOv9hlDT/ZZgx/26sL/9qmCf/ZYIg/3CJ + Hv9/lRz/ipsa/4WSGv+AixX/hI0T/3yGEv94gQ//eYMQ/4aSEv+SnhL/i5YR/4CKD/+Ciw7/ipEQ/4iN + D/+Jiw3/i4wN/4iGDP+EgQ7/gHsN/394Df+BeA//gHUP/35yEP99bhH/fG0R/3loBv/BuZLh39zcn4uJ + hsIAAACPAAAAWgAAADYAAAAdAAAAMg8PD5HBvLq90tXMxFWRR/9Znz3/ZaM6/2CPMP9koC7/aa4t/2WN + JP9kfR//a4Qd/3eNG/+Flhj/j5sX/4iSGv+CihL/g4wQ/32GDv96gg7/focO/42XEP+XoBD/jZUP/4WN + Df+Hjg3/j5QP/4iMDv+NjAz/jooM/4mECv+Cfwz/f3oL/4F4DP+DeA3/gnUN/4BzDv9+bw//fW4P/3xr + BP/Cu5Lh39zcn4uJhsMAAACQAAAAWgAAADYAAAAdAAAAMg8PD5HAvLu+09bMxGOjQv9hpjb/X5cx/2Wu + Lv9ipCn/XH4h/2WAHv9qghz/b4Ua/32NF/+LlhX/kpoW/4mQGP+CiA//g4sN/3+GDP98gwv/g4oM/5Sb + Dv+coQ//jZMN/4iODP+MkQz/kJYN/4uLDP+Rjgr/j4oL/4mDCf+CfQr/gHkK/4J4C/+DeAz/g3YN/4Bz + Df9/bw3/fm8N/35uA//DvZLh3tzcoIuJhsMAAACPAAAAWgAAADYAAAAdAAAAMg8PD5HCvbu91NjMxF+Z + O/9boTD/Zr4z/16YKP9YdR//X3sd/2iDG/9sghj/coUX/4COFP+NlxP/kpkW/4iOFf+CiAz/hYkM/4CF + Cv9/hQn/iI4L/5qeDf+doQ3/jZIL/4uQC/+RlQv/kpQL/46MCf+Ujwn/j4kJ/4mDCP+DfQn/gXkI/4N5 + CP+DeAr/gnYL/39yDP9+bwv/gHEM/4BxAv/EvpHh39vcoIuIhcQAAACPAAAAWgAAADYAAAAdAAAAMg8P + D5DCvby+09TLxGCiOf9hwTH/W5cp/1l3H/9beBv/YXwZ/2uDF/9tgRX/dYUT/4OOEv+Plg//kpcT/4eM + Ev+DiAr/hYkJ/4KFCP+Bhgj/jpII/56hC/+doAv/jZEJ/46RCv+WmAr/k5EJ/5KOCP+Ujwj/j4kI/4mC + B/+DfQb/gXoG/4N5B/+Cdwn/gXQK/35xCv99bwn/gHIL/4FzAP/Ev5Hi3drboYqIhcQAAACPAAAAWgAA + ADYAAAAdAAAAMg8PD5DBvLy/1dzMxWG4N/9WkSX/WoUi/1t8HP9cdxn/YnsW/2uBFP9vgBH/d4UQ/4WN + EP+OlQv/kZUQ/4aKEP+Dhgf/hYgH/4KEB/+Ehgf/lJUH/6GiCv+cnQn/kZEH/5OSCP+ZmAn/ko8I/5WQ + B/+Vjwf/j4gH/4mCBv+EfQX/gnoF/4J4Bv+Cdgf/fnQI/3twCP97cAj/gXQK/4F1AP/Ev5Hi3djbooqI + hcQAAACPAAAAWgAAADYAAAAdAAAAMg8PD5DBvr2/1NbLxlmELP9Wih//XIkg/1x7Gf9cdhb/Y3kU/2x/ + Ef9ufw7/eYQN/4SNDP+Nkwj/kZQQ/4WJDf+EhQX/hoYF/4KEBv+GhwX/mJgG/6OkBv+bmgf/k5EH/5aV + Bv+Zlwf/ko8F/5eRBv+VjgX/jocG/4iBBf+EfAT/g3sE/4J4Bf9/dQb/fHIG/3pvBv97cQb/gnYJ/4J3 + AP/Ev5Di3NnbooqIhcQAAACPAAAAWgAAADYAAAAdAAAAMg8PDpDDvr2/1NXLxleCKf9Xixz/XIoe/1t6 + GP9ddBX/Y3cS/2t8D/9vfQ3/eYIM/4SLC/+MkQj/kJIS/4SGDP+DhAP/hYUF/4KDBf+KiQX/m5oG/6Ok + Bf+YlgX/k5AG/5iWBv+Wkwb/lI8F/5iRBv+Tiwb/jYQG/4d/BP+EfAP/g3sE/4B4Bf99dAT/enAF/3du + Bv96cQb/gHYI/4J3AP/EwI/j3Nnbo4qIhcUAAACPAAAAWgAAADYAAAAdAAAAMg8PDpDDv77A1dXMxliA + KP9Wihv/XYob/1x6Fv9dchP/YnUQ/2t7Dv9tfAz/eIEL/4SKCv+Kjwf/jpET/4KECf+BggP/g4MF/4KC + Bv+NiwX/nZwF/6KiBv+VkwX/k5AG/5iVBv+Tjwb/lY4G/5ePBv+QiQb/i4IG/4V9BP+DfAP/g3oF/391 + Bf96cQT/dW4E/3RuBf94cQb/f3cI/4F5AP/EwY7j29nbpIqIhcUAAACPAAAAWgAAADYAAAAdAAAAMg8O + DpHEwL7A1dbMxll+Jv9XiRj/XooZ/1t6Ff9bcBL/YnMP/2l5DP9segv/d4AJ/4OJCP+KjQf/jpAV/4CC + CP+AgQP/gYIE/4GBBf+PjQX/n50G/6GeBf+Ujwb/lZAG/5iTBf+SiwX/lo4F/5WMBv+PhgX/iIAF/4R7 + A/+DewT/gngF/350BP93cAT/cm0E/3JtBP93cgX/fHcH/4B5AP/Bvo3j29jbpImIhcYAAACPAAAAWgAA + ADYAAAAdAAAAMg4ODpDEwL/A1tbMxll8I/9YhhX/XooY/1x5FP9cbxD/YXEN/2h3DP9teAr/dn8I/4GH + CP+Jiwf/jY4V/36AB/9/gAT/f4AD/4KBBP+Sjwb/oJ4G/56ZBv+SjAf/lY8G/5WQBf+RiQb/l4wG/5OJ + Bf+NgwX/h34E/4N6A/+DeQT/gHYE/3xyBP91bgT/cGsD/3FtBP91cQX/e3gG/3t3AP+9uo3j3NrbpYmI + hcYAAACPAAAAWgAAADYAAAAdAAAAMg4ODpDFwb/A1tfNx1d6If9XhBP/XokW/115Ev9bbg3/X3AM/2d0 + C/9sdgn/dX0H/4GGB/+IiQf/jI0W/3x+Bf9+fgP/fn4D/4OABP+UkQX/oZ4G/5qUBv+RiQf/lY4F/5KL + Bf+Qhwf/looG/5CFBf+LgQX/hnwE/4J4Bf+BdgX/fnME/3pwBP9zbAT/b2oD/3FtA/90cQT/e3oF/3Nw + AP+6uI3j3drbpYqIhcYAAACPAAAAWgAAADYAAAAdAAAAMg8ODpDHw8HB1tfNx1Z4H/9XghL/XogT/1x5 + EP9abA3/Xm4L/2VyCf9qdQf/dXwH/4GEBv+Ghwb/i4sY/3p7Bf98fQT/fHwD/4SBBP+VkwX/oZ0G/5WP + Bv+QiAX/k40F/4+HBf+Rhgb/k4cF/4yCBf+KgAT/hHkE/4F3Bf+AdQT/fHIE/3ZuBP9wawT/b2oD/3Bs + A/9zcQP/eXgF/21pAP+5tY3j3drbpYqIhsYAAACPAAAAWgAAADYAAAAdAAAAMg4ODpDHw8LB2NjOx1Z1 + H/9Vfw//XYYR/1x3Dv9Zag3/XmwK/2NxCP9qcwb/dHsG/3+DBf+EhQb/iYkZ/3h4A/96ewT/enoE/4WC + BP+XlAT/npsF/4+KBf+Phgb/kIkF/4yDBf+RhQb/kIMF/4p/BP+IfwP/gXcF/4B1BP9+cwT/enAE/3Ns + BP9wagP/b2oD/29sA/90cgP/dHMF/2diAP+2s4zj3drcpoqIhsYAAACPAAAAWgAAADYAAAAdAAAAMg4O + DpDHxMPB2NjOx1VyHf9Teg3/XIQQ/1x2Df9ZaQv/XWsI/2JwB/9pcQb/c3kG/36BBP+ChAf/hocZ/3V2 + Av94eAX/eXgE/4aDA/+ZlAX/m5cF/4yFBf+NhgX/jYUE/4mABP+PgwT/i4AE/4l+BP+FewT/f3QE/390 + BP98cgT/d24E/3JrA/9vagP/b2sD/29sA/9zcwP/bm0D/2FdAP+0sozj3drcpoqIhsYAAACPAAAAWgAA + ADYAAAAdAAAAMg4ODpDJxcTB2dnPx1RvG/9Sdgz/W4EO/1x1C/9ZaQn/W2kH/2BuBf9ocQX/cncG/3t+ + A/+Aggj/hIUY/3JzAv92dgX/eHcE/4iEBP+YlAX/lpIE/4iCBf+KgwX/iIAD/4h/BP+NgQT/h30E/4d+ + BP+BeAT/f3ME/31yBP96cAT/dG0E/3BqA/9uagP/bmsD/3BtA/9xcQP/aWcC/1xYAP+zsIvj3trcpoqI + hsYAAACPAAAAWgAAADYAAAAdAAAAMg4ODpDKx8XB2drQyFNtGf9Rcgv/W34N/1t0Cv9YaAj/WmcH/19s + Bv9mbwX/cXYE/3l8Av9/gQr/goIW/3BxAv91dAT/d3YE/4mFBP+YlAX/kYwF/4Z/Bf+GfwT/g3sE/4h+ + BP+JfgT/hXsD/4Z8BP99dAT/fXIE/3txBP93bgT/cWsD/25pAv9tagL/bWoC/3FvA/9tbAP/ZGID/1dU + AP+xrovk39vcqIqIhscAAACPAAAAWgAAADYAAAAbAAAAMQ4ODo/Kx8XB2NjOxlFpFv9NbQb/V3oJ/1hx + Bv9UZQT/V2QE/1xoA/9kbAH/bnMA/3Z5AP99fwr/fX4S/2xtAP9xcAH/dnUB/4iFAv+VkQL/i4QB/4F7 + Av9/eAH/f3cC/4R7Af+EegH/g3gB/4J4Af94bwH/eW8C/3duAf9yawL/bWgA/2tnAP9rZwD/a2kA/25t + AP9mZQD/YF0A/1JOAP+uq4nj3tvcp4qIhscAAACNAAAAWAAAADUAAAAYAAAALBAPD4zKxsS/0tHHvVZt + Hf5TcA//XHsQ/111Dv9aag3/XWkO/2NtDP9qcQr/c3gL/3p8Cv+Bgxf/foEa/3BxCP91dAv/e3sM/42L + Df+XlA3/ioQN/4R+Df9/eQz/g3wM/4iAC/+GfAz/iH8M/4J5DP99dAz/fXQM/3lzDP91bwv/cm0K/3Ft + Cf9xbQr/cnEK/3FwCv9paAv/ZGIK/1ZSB/+ppofa2NXVoYyKiMYAAACJAAAAUgAAADAAAAAUAAAAJAsL + C4K/vLi/1dHLo8zNwMHS1MbM1NbHztXWx87U1cfO1dXHztXVx8/W1sfO2NfHztjXx87Z18jO19bHzNXU + xcvV08PK1dTDydfVw8nY1sPJ1tTDyNbTw8jV08PJ1tPDydfUw8nW08PK19TEytbUxMrW08PK1tPEy9bT + xMvW1MXL1tPFy9XSw8vU0cPM09HCzNLRwszRz8LM0c7CzMnHu8XGwruwzcjEmYSCgMYAAAB7AAAARgAA + ACgAAAAOAAAAGgAAAFNpaGbH2NTOsuDc2avi3duv4t3br+Pe26/j3tuv49/br+Lf27Dh39uv4d7br+Hd + 26/g29qu3trYrNzY1qnb1tOo2dXSp9jU0afY09Gn2NXRptnU0aba1NGl2dXRptnU0qfZ1NOo2tbUqNvW + 1Kjb1tSp3NbVqd3Y1qnd2dap3dfWqtrW1KrY1NOs19TSrNfT0qzX09Ks19PSrdbRz6vQy8envrq2vTEx + MLgAAABXAAAANQAAAB4AAAAJAAAAEgAAACcAAABnMzMyq09OTbRMS0qzS0tKtExLSrRMS0q0TEtKtExL + SrRLS0q0S0tKtEtLSrRLS0qzS0pJs0pJSbNLSkizSkpJs0pKSLNKSkizSkpIs0tJSLNLSkmyS0pJsktK + SbNLSkmzS0pJs0tKSbNMSkmzTEpJs0xKSbNMSkmzTEpJs0tKSbNLSkmzS0pJs0tKSbNLSkmzS0lJs0tK + SbRNTEu2Hh0dowAAAF4AAAA4AAAAJQAAABMAAAAFAAAACwAAABYAAAAhAAAALQAAADcAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADoAAAA6AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOgAAADsAAAA6AAAAMwAAACsAAAAhAAAAFQAAAAsAAAACAAAABAAAAAkAAAAOAAAAEwAA + ABcAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAYAAAAFwAAABMAAAAOAAAACAAAAAQAAAAAAAAAAQAA + AAIAAAAEAAAABwAAAAkAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACQAAAAcAAAAEAAAAAgAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAoAAAAIAAAAEAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAABAAAAA4AAAAfAAAALQAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAA + ADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAA + ADIAAAApAAAAGQAAAAoAAAAMAAAAJAAAAEQAAABhAAAAawAAAGsAAABrAAAAawAAAGwAAABsAAAAbAAA + AGwAAABsAAAAbAAAAGwAAABsAAAAawAAAGsAAABrAAAAawAAAGsAAABrAAAAawAAAGsAAABrAAAAbAAA + AGwAAABsAAAAaAAAAFcAAAA7AAAAGgAAABcAAAA+ExMSkD07OKo7ODWpODUyqDczMKg1Mi+nNDEupzMw + LaczMC2nMzAtpzQxLqY2MzCnODUypzk2M6c5NzOoOjc0qDs3Nag7ODWoOzg1qDs4Nag7ODWoOzg1qDk3 + NKc4NTKnOTYypzs5Nqg5NzSuCQkJlwAAAFsAAAAuAAAAHAYGBmmCfHamr6adhbevp5GyqqKQraWdjami + mYumn5aKpJyUiaSalImkm5OJqJ+Xia6lnoq0qqOKta2li7WtpYy1rqaNtq6njbawpo22saeOt7Opj7mz + q4+8squPua+ojLWsp4u4rquNt62oiaiek3llYVysAAAAfAAAADoAAAAeEA8PdbClnqGF19nWY+Hn9mng + 5PZs3+L1cOHh9XXi3/V44t31e+La9X/j2PWE5Nf1iefX9ZDr2fWY8Nv1o/Tf9bL35PXB+un11Pzu9eX9 + 8vX2/fn1/v759fX99vXu/PL18P3e9fD9x/bu/bfzy860qIiBfp0AAACHAAAAPQAAAB4ODg1zvbGsrmza + 3uwp09b/MtLR/zTSzf8508r/PdTH/0HXxf9H3MX/UOPI/1rry/9m89D/c/vV/4P/3f+Z/+X/s//s/8f/ + 6v/P/9//yf7R/7z8yP+p/Lz/jfq+/5D9yf+f/8T/ufyk/8Dre//P17a/j4iIowAAAIYAAAA+AAAAHg4O + DXPAtK+xadjZ6yfR0f811tP/O9vV/0Hg1v9H5tf/T+vX/1fx1v9f99f/af3X/3L/1f96+8//f/XF/4Xx + uP+J7ar/humY/4Tmi/+I4oT/jN5//4/YfP+U0Hj/nc12/6HVfv+j4ob/p+SD/8/YvcGTjIumAAAAhgAA + AD4AAAAeDg4Nc8G2srNx4dzrMtzV/z/c0v9C3dD/RNvI/0jcwf9P377/V+O7/1zjtP9h3qn/Zdmd/2nW + kv9s1In/ctOC/37SgP9+y3X/fsJr/4G7Zf+Ft13/i7hY/5G9WP+Vv1r/nL5a/6W8Vf+uv1H/09S0w5SQ + kKgAAACFAAAAPgAAAB4ODg5zw7m1tW/RyewuxLb/PMq4/0PQvP9I0rj/TNCv/1PPqP9az6H/YdCZ/2fS + j/9u1In/c9OB/3bPd/99y3D/jcxw/4XEZP+Ewl//i8Vb/4vDX/+IvmP/h7Rd/4qpUP+PoEL/kpg4/5aQ + K//OyKrFmJWVqwAAAIUAAAA+AAAAHg4ODXPEura2ddTG7DjKs/9H0LX/Udi4/1netf9f4a7/aeWo/3bl + of994Zb/fNmH/3vPeP96x23/d79l/3q+af+Bwm//dbZY/3mrQ/94mzn/dY40/3eFLP94fiT/enoh/395 + IP+EeSD/inod/83FqcabmJisAAAAhQAAAD4AAAAeDg4Nc8W7uLiE4MztUNy6/1zfuP9j37X/Zdyq/2LP + lf9jwoP/arl4/2uxbf9kpWP/YJ1c/16aWP9fmlL/bKNM/3aiO/9tiCb/bH8j/258If91fh//en0e/3l4 + Hf95dRz/fHQd/4B2Hv+GdRr/zcWqx5yamq0AAACFAAAAPgAAAB4ODg5zxr27uYDOtu1DtY//R6mB/0ik + ef9LonP/S5pn/06UYP9aml//Yp5c/2CYVP9jmEv/ZJQ8/2aMK/93kyP/d40g/2l6Hf9ufRz/dX8b/36B + G/9/fxr/eXca/3hyGv96cRr/fXIb/4JxF//MxKrJnZubrwAAAIUAAAA+AAAAHg4ODnPHwL66draa7jiU + av9Bj2T/RJFj/0qWY/9Nk13/U5JV/2SdUf9xo0r/bpk8/2qNLf9mgSH/bH4b/3yNHf90hRv/bHoX/3SB + Fv97gxf/g4YX/4OBF/97dxf/d3EX/3hvF/96bhj/f20U/83FqsmfnJ2wAAAAhQAAAD4AAAAeDg4Oc8jB + wLx4sZHuO5Bd/0SJWP9IiVP/T45R/1aUTP9hl0X/dqM9/3ueMv9wjCT/cIUc/259Fv9wfhb/fY4Y/3WE + Fv9xfhT/fIUU/4CGFP+HiBX/hIEU/3x4E/94cRX/d24V/3htFf98axH/zMWqyqCenrEAAACFAAAAPgAA + AB4ODg5zyMLBvHuvhu5AjU3/SIJH/06GQv9bkj//aKA8/3CeMv96mif/e5Qf/3mLGf96hxb/cH4S/3aD + E/+GlRX/fIkT/3uEEv+DixH/hYkQ/4mKEf+DgRH/fXgQ/3t0Ev95bxP/eGwT/3pqDv/MxarLoZ6fsgAA + AIUAAAA+AAAAHg4ODnPJw8K9fat87kaMP/9XjTz/YJQ1/2qjMv9qmCn/bYkg/4CWHP+FlRr/gYwV/36I + Ev92gBD/gYwR/5CcE/+DjRD/hIwP/4iPEP+Jiw3/iYkO/4N/Dv9+eA7/gHcP/35yEP97bRH/e2sM/83G + qsyhn6CzAAAAhQAAAD4AAAAeDg4Oc8jCw76Dr3PuV5w0/2OcMv9lpCz/ZZAk/2d/Hf91ihr/ipkY/4yV + Gf+DixH/f4gO/3uDDf+LlA//lp4Q/4ePDf+LkQ7/i48O/46MC/+Khgv/gX0L/4F4DP+Ddw3/gXQO/35u + Dv9/bgr/z8mqzKGfoLMAAACFAAAAPgAAAB4ODg5zyMPEvomzbe5apyv/YqYs/1uAIP9kfRv/bYMZ/3yM + Fv+PmBT/jJIW/4OJDf+Bhgr/gIYK/5WaDf+ZnQ3/ipAL/5GVDP+Pjwr/ko0K/4uFCf+CfAj/gnkJ/4N3 + C/+Acwz/fm8L/4FyCP/QyqrNoZ+gswAAAIUAAAA+AAAAHg4ODnPJwsW+ib9r7leoJf9afyD/XHca/2iB + F/9wghT/gIwR/5CXD/+KjxH/hIcJ/4OGCP+FiQj/nJ4K/5mbCv+PkQn/lpYK/5OPCP+Tjgj/ioQH/4N8 + Bv+CeQf/gnYI/31yCf98cAn/g3YG/9DKqc2gnZ+1AAAAhQAAAD4AAAAeDg4Oc8nExr+Fr2TvUYYZ/1t+ + HP9ddxb/aX4S/3GBD/+Ciw3/kJUL/4mMD/+EhgX/g4UG/4qLBv+goQf/mZgH/5WTB/+WlAf/lZAG/5SN + Bv+Kggb/hHwE/4J5Bf9/dQb/enAH/3xxB/+EeAX/z8qozp+dn7UAAACEAAAAPgAAAB4ODg5zy8XHv4Ke + X+9ShhT/XH8Z/15zE/9oeg//cX4N/4GJCv+Okgv/iIoO/4ODA/+CgwX/j44F/6GhBv+XlAX/lpQG/5WR + Bf+XkAb/kYkG/4iABf+EfAP/gXgF/3tyBP92bgX/e3IG/4N6A//Py6fOn52ftQAAAIQAAAA+AAAAHg4O + DnPLxsjAg55d71OFEf9dfxb/XXER/2d3Df9vfAr/gIcI/4yQDP+Ghw3/gIEC/4GBBf+TkQX/oZ8G/5WQ + Bv+XkgX/lI4F/5aOBv+OhQX/hX0E/4N7BP9/dQX/dm8E/3JtBP93cwX/gXsB/87Kp8+fnZ+2AAAAhAAA + AD4AAAAeDg4Oc8zHycCDnFzvU4MN/11+FP9dbw//ZnQM/295Cf9+hQf/i40N/4OEDP9+fgL/gYAE/5eU + Bv+fmwb/k40G/5WPBf+Tigb/lIkG/4uCBf+EewT/gngE/31yBP9zbAP/cGwD/3ZzBP98eAD/ysemz5+d + n7cAAACEAAAAPgAAAB4ODg5zzcnKwYKaWe9TgQr/XX4R/1tsDP9jcgr/bXcH/32CBv+Jiw3/gIEM/3t7 + A/+CgAT/mpYF/5uVBv+Rigb/kYoF/5KHBv+QhAX/iX8E/4J3Bf9/dQT/eXAE/3BrBP9wbAP/dnQD/3Rx + AP/HxKbPoJ6gtwAAAIQAAAA+AAAAHg4ODnPPyszBgpdZ71B8B/9cfA//WmoL/2FvCP9sdQb/fIAE/4eI + Dv99fgz/eHgD/4KABP+blwX/lI8F/46GBf+NhAX/kIQF/4yABP+FewT/f3UE/31yBP91bQT/b2oD/29s + A/90cwP/a2gA/8XBptCgnqC3AAAAhAAAAD4AAAAeDg4Oc9HMzsGBlFbvTnYE/1x5Df9aaQn/X2wG/2py + Bv95fQP/hIUO/3l6C/91dQP/g4AE/5qWBf+OiAX/ioIE/4mABP+LgAT/iH0E/4F3BP9+cgT/eW8E/3Fr + A/9uagP/cG0D/29vAv9jXwD/w8Cm0KGeoLgAAACEAAAAPgAAAB4ODg5z0s7Pwn6RU/FKbgD/WXUH/1Vl + Bf9baAP/Z28B/3V4AP9/gQz/c3QF/3FwAP+DgAH/lZEB/4aAAf+CegH/hHsA/4Z7AP+DeQD/e3EA/3lv + Af9zawH/bGcA/2toAP9ubAD/aGYA/1pXAP/BvqXRop+guAAAAIQAAAA9AAAAGhAPD3HRzM69g5JZ7FNy + DP9hexT/Xm0S/2RvEf9vdg//e38O/4WHHf93ehP/eHgP/4yKEf+XkxH/iIIR/4R9EP+KgRD/ioAR/4d/ + EP+AdxD/fXYQ/3dyD/90cA7/dHEO/3V0D/9sag//X1wM/725o8qjoKG3AAAAgAAAADgAAAARCAgIX7e0 + sL3e3dK13NzOxd7ez8bd3M/G3t3Pxt/ez8bh3s/G4N3Pxd3azMLc2crB3drJv93ayb/c2Mm/3NjIv93Z + yb/d2crB3drKwd3YysHd2cvB3drMwtzYysLa1snD2dbIw9jVycTT0MTA19LMqoqHhbsAAABpAAAAKwAA + AAsAAAAqLy4tj3t5d698eXmte3h4rXt5eK17eXitenl4rXp4eK15d3eseHV2q3d1dap2dHSpdXN0qXZ0 + dKl3dHSodnR1qXd1dap3dXWqeHV2qnh2dqp5dnaqeHV1q3Z0dat2dHSsdnR0rHh2dqxubGqwGhkZiAAA + ADgAAAAaAAAABQAAAA4AAAAdAAAAMAAAADUAAAA1AAAANQAAADUAAAA1AAAANQAAADUAAAA1AAAANQAA + ADUAAAA1AAAANQAAADYAAAA1AAAANQAAADUAAAA1AAAANQAAADUAAAA1AAAANQAAADUAAAA1AAAANQAA + ADQAAAAlAAAAGAAAAAsAAAABAAAAAwAAAAYAAAAKAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAA + AAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAA + AAwAAAAMAAAADAAAAAoAAAAGAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAABgAAAAwAAAAAQAgAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAcAAAAaAAAAMQAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAA + ADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADgAAAAnAAAADwAAABUAAABKDAsKhg8N + DI8ODAuODQsKjg0LCo4MCwqODAsKjg0LCo4NCwuODQwLjg4MC44ODAyODgwMjg0MDI4NDAyODQwMjg0M + C44MDAuODg0NjwkJCY4AAABhAAAAKgAAACYyMC6KmpSMnKGclZ2alY6blZGKmZKOhpeQi4SXkYqEl5WO + iJeclZCYoJmTmJ+ak5mgm5SaoJ2UmqKelZumn5mbq5+bm6ebl5mkmpeZpZyYlo+Hf5YgHx6XAAAAQgAA + AC9kWVWRm9nZy1vg5fRi3t/0Zt7c9Gze2fNw3tXzdeHT833l0/OH7NbzlPPb86f55PTB/O702v/y9Oj/ + 8/Tv//P04f/u9Nj/6/Pj/8706Puu8svNtKc9OjuaAAAASgAAAC5pXVqVid3d4CPS1P8x1ND/ONjP/z/d + z/9I5c//VO7S/2L41v9y/9j/gP/Y/5T91P+k+sr/qPa3/6TyqP+b757/jOmb/5Ppo/+j8qH/seyH/87T + ub1APD6aAAAASgAAAC1qXluWjuHd4C/a1P8/3NL/RN7O/0rgyP9U5MP/XOe9/2Tlsf9q4KT/btuU/3XY + if99037/fMpv/4LDaP+KwGH/ksBd/5m/Wv+hwFv/rMhg/9HSub5BPkCcAAAASQAAAC1rYF6XkNnR4S/H + t/9Bzrn/SdO3/1DTrv9c1qb/Z9ec/27Wjv901IH/d890/4LLcP+IyG3/gcBc/4a7VP+EtFb/g6pR/4ie + RP+NlDb/lo4t/87HrsFDQkSdAAAASQAAAC1rYF+YmuDS4kXXuf9Y3rv/YuO2/2XepP9v15T/d82F/3K+ + c/9ts2b/aqxe/3SyXv91qUv/cZQy/3GHKv92gCT/eHke/3l1HP9/dRz/iXgf/87Hr8NFREaeAAAASQAA + AC1rYmKZn9vI40a+l/9OtIn/Ua5//0+hbf9Wm2L/YZ5e/2CYVP9glEj/Y441/3aWKP9wgx7/a3oc/3V+ + G/9+gBr/enga/3hyGv97cRr/hHQc/87HsMVFRUafAAAASQAAACxtZmaalsWu5DeQZP9CjGD/SZJf/06R + WP9dmFD/cqJI/26VNv9phSP/bX4a/3qLG/9vfhj/c38W/36EF/+FhRf/fXkW/3dwF/94bhb/gHAX/8/I + scZHRkifAAAASQAAACxtZ2ibmcKl5TyLUv9Hg0z/Uo1I/2GaQ/9ynjf/fJsp/3WKHP9ygRb/cn8U/3+P + Fv91ghP/fYcT/4WJEv+HhhP/fnoS/3lxE/93bRP/fG0U/8/IssdHRkifAAAASQAAACxtZ2mbnL+b5UWK + Pv9YjDr/Zp40/2uXKv92kR//g5Ua/4GMFf94gxH/fYkR/4yYE/+BihD/h44Q/4mLDv+GhA7/f3kO/391 + EP97bhD/fW0R/9DJsslHR0mgAAAASQAAACxsZ2ucosKS5lidMP9joS3/ZI8k/2mBG/+Bkhf/jZYY/4OK + EP98hAz/ipIO/5ObD/+Ijw3/jZEN/46LC/+GgQr/gXkL/4N3Df9/cAz/gXEO/9HMsslHR0mgAAAASQAA + ACxtZ2ycpsqN5linJv9bgyD/Y3sZ/3GEFv+JkxL/jpMT/4OIC/+AhQn/lJgL/5aaC/+Pkwv/k5EJ/5GM + Cf+GgAj/gnkI/4J2Cv99cAn/g3UL/9LMsspHRkmhAAAASAAAACxtaG2do8WJ5lGJGf9beBn/ZnwT/3SD + D/+KkQz/jI8O/4SFBv+Ehgb/m5wH/5iYB/+VlAf/lZEH/5KLBv+GfwX/gnkF/390B/96bwb/hXkJ/9HM + sMtHRkmhAAAASAAAACxuaW6dobWE51GDEf9cdxX/ZngQ/3SADP+Ijgr/iowN/4GCBP+HhwX/np0F/5eU + Bv+Wkwb/lo8G/4+HBv+FfQT/gXkE/3lwBP92bwT/hHsH/9HNr8xGRkmhAAAASAAAACxuam6dorWD51KC + Df9cdhP/ZHQN/3J9Cf+Hiwn/h4gN/35/A/+KiQX/n5wG/5WQBv+VjgX/lYsG/4uCBf+DewT/f3UE/3Nt + A/9zbwP/gHsG/87Lr8xGRkmiAAAASAAAACxva2+dorSB51J/Cf9cdA//YXAL/3F6B/+FiAn/hIQN/3t7 + A/+OiwT/nJgG/5KLBv+SiQb/kYYF/4h+BP+BdwX/e3EE/3BrA/9ybwL/eHYE/8vIr81HRkmiAAAASAAA + ACxwbXGeorGB51B6BP9bcg3/X2wI/293Bv+ChQj/f4AN/3h4A/+QjAT/lpEF/42FBf+OgwX/jIEE/4R5 + BP9+cwT/dm0E/29qA/9xbwL/b2wD/8jFr81IR0miAAAASAAAACxyb3Keoa5+6UtwAP9YbQb/WmcD/2px + AP99fwT/eHkJ/3NyAP+OiwH/jogB/4R8AP+HfQD/hXsA/31yAP94bgD/b2kA/2xoAP9tawD/Yl8A/8bD + rs9IR0mjAAAASAAAACl0cXScprGE41Z1D/9idhb/ZG8U/3R6Ef+Ehhj/fn8Z/3x8Ev+WkxP/jokT/4eA + E/+NgxP/ioET/4N6E/99dhL/dnIR/3d0Ef9zchH/ZmMP/sbCsMlLSkuiAAAARAAAABhKSEeN09HJw9DR + w8rR0MPK0dDDy9PRw8rU0cPK0c7Bx8/MvsXQzb3E0My9xM/MvcTQzL3F0c2+xdDMvsbQzb/Gz8y/x83K + vcjMyb3Jyse8xsK+uLwtLSyQAAAALgAAAAgAAAAyJCMjbSwrLHErKitwKyorcCoqK3AqKStwKSkqcCko + Km8oKCpvKSgqbykoKm8pKCpvKSgqbykpKm8qKSpvKikqcCkoKnApKCpwKyoscR0cHG8AAAA6AAAAFAAA + AAIAAAAFAAAACAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAA + AAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAsAAAAKAAAABAAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA + AEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA + AEEAAABBAAAAQSgAAAAUAAAAKAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAJgAA + AEMAAABIAAAARwAAAEcAAABHAAAARwAAAEcAAABHAAAARwAAAEcAAABHAAAARwAAAEcAAABHAAAARwAA + AEcAAAA0AAAAFQAAACIWFRN0PzUxlDwwLJI4LSqQNiwokDUqJ481KiiPOC4rkDowLpA5MS6RODEvkTcx + L5E1Mi+RNjIvkTQwLpA0MDCQNjIylRAPDoQAAAA5AAAAPXd1cJyfzsy9k8rIxZLGwsOTxL7BlMG6wZjD + usGhyr/BqtHEwrTWycPC2c/D0dzTxN7e2MTg3tnE2NvRwtvbwcPS0bOsX1xYnAAAAFYAAAA9jI+Mqk/h + 5v8w2Nn/O9zW/0Tg1f9O6NT/XPLX/2382v+A/9//nP/j/7b/3v/B/8//vf3D/6f5vf+n+8L/vP+m/9Pv + qOh1b3CeAAAAVwAAADyNkI2tUuHd+jbZ0v9B3c//SeDJ/1XmxP9g6r3/auix/3Hhof973ZH/gNZ//3/N + b/+Gx2f/jsVj/5jEYv+gyF//xdeT5nh0daIAAABWAAAAPI6Rjq5X1cf6Pc66/0zXuv9V2a//ZNqk/27Y + lP9z04L/dsxy/4HJcP+CwmX/gbdR/4KtTv+Bo0n/hpc8/4uJJ/+4rm3nfHp7pQAAAFYAAAA8kZOQsGvg + xvpT17H/X9ep/2DMkv9rwYD/bbVw/2eoYf9lolT/c6hL/3CVM/9vgyX/dX4g/3h4HP95chv/fG8T/7Gj + aOh/fX6nAAAAVgAAADySlJCyYruZ+0Gccf9Jmmv/TJJf/1yYV/9om03/ZI86/2iGJf94jB3/bXsY/3R/ + GP+Agxn/fXoY/3dxGf93axD/rqFm6YB/gKgAAABVAAAAPJKUj7Nfpnv7QIVS/02MT/9cl0n/c6A7/3eV + Kv9wgxr/cH4V/3uLF/90gBT/f4YU/4eHFP9/exP/eHAU/3NnC/+rnmPqgoCCqQAAAFUAAAA8kpOPs2aj + Z/tPiTz/Ypo2/2yXK/98lR//gpAY/3uFEv97hxH/iJUS/4GKEf+IjA//iIcO/4B7Dv99dBD/dmgH/6uf + YeqDgYOqAAAAVQAAADyTk4+0da9X+1+gLP9kjiP/bYMa/4mVF/+JkBT/foUM/4mQDv+SmQ7/ipAN/4+O + DP+KhQr/gXkL/4N2DP96awP/rqNg6oOBg6sAAABVAAAAPJSVj7V2uE37WIcd/2J6F/91hhP/jZUR/4iM + Dv+BhQf/k5YJ/5eZCv+Tkwn/lI8I/4qDB/+Cegf/gXUJ/3lsAP+xp17rgoCDrAAAAFUAAAA8lJSPtXCd + QfxYexX/ZHkS/3eDDf+MkQz/hogJ/4SEBf+amgb/mZcG/5aTBv+Vjgb/iYEF/4J6BP97cQX/d20A/7Gq + XOuBgIOtAAAAVQAAADyVlJC1cZg8/Fl7Ef9jdA7/dX8J/4qNDP+Cgwj/hIQE/52aBv+XkgX/lY8F/5KJ + Bv+GfgT/gHYE/3RtBP9zbgD/r6pa7IGAg64AAABVAAAAPJaVkLZxlTj8WXkM/2BvC/9zfAf/h4oM/35/ + B/+GhAP/nJcG/5OMBv+TiQb/jYMF/4N5Bf98cgT/cGsD/3BtAP+no1nsgoCDrgAAAFUAAAA8l5aStm+P + NPxXdgj/XmsI/3F4Bf+EhQv/eXkH/4eFBP+XkgX/jIQF/42DBf+IfQT/f3QE/3ZuBP9vawP/a2oA/56a + WOyCgIOuAAAAVQAAADyZmJS4ZYIm/01qAP9TYAD/Z24A/3h6AP9tbQD/goAA/4qDAP9+dgD/gngA/3tx + AP90aQD/amMA/2dlAP9dWwD/kY5P8ISDha8AAABVAAAAM5eVkbGyvY7jo7B16aasd+mwsnXouLd66LCv + dOa8uXPlvLdz5beyc+W7tHPmt7F05rOudOavq3Pmrqty56akcei/u5vWe3l5rQAAAEgAAAASKikoaG5r + bpFtam6PbGptj2tpbY9pZ2yOaGZqjGZkaYtmZGmLZ2Vqi2dlaoxoZmuMaWdrjGlna41nZmqNaWdrjmVj + ZJAdHBtrAAAAHwAAAAMAAAAJAAAAFQAAABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAABYAAAAWAAAAFgAA + ABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAAA4AAAAGAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA + AEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEoAAAAEAAAACAA + AAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAEAAAABXAAAAVQAAAFUAAABVAAAAVQAA + AFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFcAAABMAAAAHwQEBD5WVFCVc3JuoWpqZp5nZ2KdZmRgnGpo + Y51wbmmdcXBrnnRybZ95dHGffnRzn3txb558dXCdTUpFmAABAVQXDg1Qj7m4w1jj5vRe3tv0ZuHY9G/n + 1vN/8tr0k/zi9LH/6vTP/+n02//i9M//3fTK/9n03/+58qenk68DAQRlGQ8OToS7uc8u29f/OtvP/0Xg + yf9U6sX/Ze69/3Lrrv+C5Z7/idyI/4rUd/+Mzm//ls5v/6/YdP+lp5O7BAIGYhkPEE+KubLQP9bB/1Db + vf9b3K3/a9mb/3HQhP9yxnD/fcRq/322VP9+p0b/gJtA/4WOMf+ZkDP/pJ+MvQUFCGMYEBJPkbqu0U7K + pP9WwJL/WbN7/2asa/9moVn/ZZdE/3OYNP9tgiH/dX0c/3p4Gf93bxf/insl/6SejcAFBgljGRMWUI6r + m9M+kWL/R4tX/1aUT/9vnUH/bo0q/22AGf93hhf/c34V/4KGFf+AfRb/dm4U/4V3If+ln47BBgYJYxkU + GFCQqJHUS41G/12UOv9tmC7/gJYe/3yIFP96hRH/hJAS/4KKEP+Jig//gX0P/3txD/+Edhz/paCPwwYG + CWMYFBlQlqyJ1F6jMP9jjSL/c4cY/4yVFf+BiA7/iI8N/5GYDf+NkQz/jYkK/4J7Cv+BdAr/iXoX/6ei + j8QGBgljGBQaUJeuhdVYjx//YngV/3uIEP+Nkg7/g4UI/5OVB/+YmQj/lZII/4+IBv+DegX/fXIF/4p+ + E/+no47FBgYJYxkWG1CVo4HVV4IV/2J1EP96hAr/iowL/4KCBP+YlgX/mJUG/5aQBf+MhAX/gngE/3Zu + A/+HgBH/pqONxgYGCWMZFhxQlqJ/1liAD/9gcAz/d38I/4aHC/+AgAT/mZUG/5SNBv+SiAb/iH0E/31z + BP9wawH/gH4P/6OhjMYGBgpjGhcdUJagftdTdwb/W2oF/3J4Av99fgj/fXsA/5OOAf+KggH/in4B/4B1 + AP91bAD/bWkA/3RyCf+gnYzIBwcKZBoYHVGhqIrWZoIc/216Hf+Bhhv/iYoh/42LGv+blhv/koob/5SK + G/+LgRv/gXsa/357F/98eiL/paKUxwcHCmMGBgcxenl0oJydkbaZmI20mpmNtZmXjLOYloiwmJaIsJiV + iLCZlomxmZWKsZiVirKWlImzmZeNtGpoZp0BAQE9AAAABQAAAB4AAAAqAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACsAAAAjAAAACgAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEE= + + + \ No newline at end of file diff --git a/OnTopReplica/StartupOptions/Factory.cs b/OnTopReplica/StartupOptions/Factory.cs new file mode 100644 index 0000000..ee44ca2 --- /dev/null +++ b/OnTopReplica/StartupOptions/Factory.cs @@ -0,0 +1,123 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Drawing; +using System.ComponentModel; +using OnTopReplica.Properties; +using OnTopReplica.WindowSeekers; +using System.Windows.Forms; + +namespace OnTopReplica.StartupOptions { + class Factory { + + static Factory() { + //Custom type conversion attributes + TypeDescriptor.AddAttributes(typeof(Size), new TypeConverterAttribute(typeof(SizeConverter))); + TypeDescriptor.AddAttributes(typeof(ScreenPosition), new TypeConverterAttribute(typeof(ScreenPositionConverter))); + TypeDescriptor.AddAttributes(typeof(Rectangle), new TypeConverterAttribute(typeof(RectangleConverter))); + TypeDescriptor.AddAttributes(typeof(Padding), new TypeConverterAttribute(typeof(PaddingConverter))); + } + + public static Options CreateOptions(string[] args) { + var options = new Options(); + + LoadSettings(options); + + ParseCommandLine(args, options); + + return options; + } + + private static void LoadSettings(Options options) { + if (Settings.Default.RestoreSizeAndPosition) { + options.StartLocation = Settings.Default.RestoreLastPosition; + options.StartSize = Settings.Default.RestoreLastSize; + + System.Diagnostics.Trace.WriteLine(string.Format("Restoring window at {0} size {1}.", Settings.Default.RestoreLastPosition, Settings.Default.RestoreLastSize)); + } + + if (Settings.Default.RestoreLastWindow) { + var handle = Settings.Default.RestoreLastWindowHwnd; + var title = Settings.Default.RestoreLastWindowTitle; + var className = Settings.Default.RestoreLastWindowClass; + + var seeker = new RestoreWindowSeeker(new IntPtr(handle), title, className); + seeker.SkipNotVisibleWindows = true; + seeker.Refresh(); + var resultHandle = seeker.Windows.FirstOrDefault(); + + if (resultHandle != null) { + //Load window + options.WindowId = resultHandle.Handle; + } + else { + System.Diagnostics.Trace.WriteLine("Couldn't find window to restore."); + } + } + } + + private static void ParseCommandLine(string[] args, Options options) { + var cmdOptions = new NDesk.Options.OptionSet() + .Add("windowId=", "Window handle ({HWND}) to be cloned.", id => { + options.WindowId = new IntPtr(id); + }) + .Add("windowTitle=", "Partial {TITLE} of the window to be cloned.", s => { + options.WindowTitle = s; + }) + .Add("windowClass=", "{CLASS} of the window to be cloned.", s => { + options.WindowClass = s; + }) + .Add("v|visible", "If set, only clones windows that are visible.", s => { + options.MustBeVisible = true; + }) + .Add("size=", "Target {WIDTH,HEIGHT} of the cloned thumbnail.", s => { + options.StartSize = s; + }) + .Add("position=", "Target {X,Y} of the OnTopReplica window.", s => { + options.StartLocation = new Point(s.Width, s.Height); + options.StartPositionLock = null; + }) + .Add("screenPosition=", "Resolution independent window position on current screen, with locking. Values: {TR|TL|C|BR|BL}.", pos => { + options.StartLocation = null; + options.StartPositionLock = pos; + }) + .Add("r|region=", "Region {X,Y,W,H} of the cloned window.", region => { + options.Region = new ThumbnailRegion(region); + }) + .Add("p|padding=", "Region padding {LEFT,TOP,RIGHT,BOTTOM} of the clone.", padding => { + options.Region = new ThumbnailRegion(padding); + }) + .Add("o|opacity=", "Opacity of the window: {0-255}.", opacity => { + options.Opacity = opacity; + }) + .Add("clickForwarding", "Enables click forwarding.", s => { + options.EnableClickForwarding = true; + }) + .Add("chromeOff", "Disables the window's chrome (border).", s => { + options.DisableChrome = true; + }) + .Add("fs|fullscreen", "Starts up in fullscreen mode.", s => { + options.Fullscreen = true; + }) + .Add("h|help|?", "Show command line help.", s => { + options.Status = CliStatus.Information; + }); + + List values; + try { + values = cmdOptions.Parse(args); + } + catch (NDesk.Options.OptionException ex) { + options.DebugMessageWriter.WriteLine(ex.Message); + options.DebugMessageWriter.WriteLine("Try 'OnTopReplica /help' for more information."); + options.Status = CliStatus.Error; + } + + if (options.Status == CliStatus.Information) { + cmdOptions.WriteOptionDescriptions(options.DebugMessageWriter); + } + } + + } +} diff --git a/OnTopReplica/StartupOptions/FourValueTypeConverter.cs b/OnTopReplica/StartupOptions/FourValueTypeConverter.cs new file mode 100644 index 0000000..17029d4 --- /dev/null +++ b/OnTopReplica/StartupOptions/FourValueTypeConverter.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.ComponentModel; +using System.Text.RegularExpressions; + +namespace OnTopReplica.StartupOptions { + abstract class FourValueTypeConverter : TypeConverter { + + public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { + if (value != null) { + var sVal = value.ToString(); + return Convert(sVal); + } + else + return base.ConvertFrom(context, culture, value); + } + + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { + return sourceType == typeof(string); + } + + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { + return destinationType == typeof(T); + } + + public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { + if (value != null && destinationType == typeof(T)) { + var sVal = value.ToString(); + return Convert(sVal); + } + else + return base.ConvertTo(context, culture, value, destinationType); + } + + static Regex _sizeRegex = new Regex("^\\D*(?\\d*)\\s*,\\s*(?\\d*)\\s*,\\s*(?\\d*)\\s*,\\s*(?\\d*)\\D*$", + RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.Singleline); + + private T Convert(string s) { + var match = _sizeRegex.Match(s); + + var v1 = match.Groups["one"]; + var v2 = match.Groups["two"]; + var v3 = match.Groups["three"]; + var v4 = match.Groups["four"]; + + if (match.Success && v1.Success && v2.Success && v3.Success && v4.Success) { + int v1v, v2v, v3v, v4v; + bool v1b, v2b, v3b, v4b; + v1b = Int32.TryParse(v1.Value, out v1v); + v2b = Int32.TryParse(v2.Value, out v2v); + v3b = Int32.TryParse(v3.Value, out v3v); + v4b = Int32.TryParse(v4.Value, out v4v); + + if (v1b && v2b && v3b && v4b) { + return CreateValue(v1v, v2v, v3v, v4v); + } + else { + throw new ArgumentException("Argument '" + s + "' contains a non numeric value."); + } + } + else { + throw new ArgumentException("Argument '" + s + "' is in the wrong format."); + } + } + + protected abstract T CreateValue(int v1, int v2, int v3, int v4); + + } +} diff --git a/OnTopReplica/StartupOptions/Options.cs b/OnTopReplica/StartupOptions/Options.cs new file mode 100644 index 0000000..35f1b4e --- /dev/null +++ b/OnTopReplica/StartupOptions/Options.cs @@ -0,0 +1,163 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Drawing; +using System.IO; +using OnTopReplica.WindowSeekers; + +namespace OnTopReplica.StartupOptions { + + /// + /// Represents startup options that can be set via CLI scripting (or other stuff). + /// + class Options { + + public Options() { + Status = CliStatus.Ok; + Opacity = 255; + DisableChrome = false; + MustBeVisible = false; + Fullscreen = false; + } + + #region Position and size + + public Point? StartLocation { get; set; } + + public ScreenPosition? StartPositionLock { get; set; } + + public Size? StartSize { get; set; } + + #endregion + + #region Window cloning + + public IntPtr? WindowId { get; set; } + + public string WindowTitle { get; set; } + + public string WindowClass { get; set; } + + public ThumbnailRegion Region { get; set; } + + public bool MustBeVisible { get; set; } + + #endregion + + #region Options + + public bool EnableClickForwarding { get; set; } + + public byte Opacity { get; set; } + + public bool DisableChrome { get; set; } + + public bool Fullscreen { get; set; } + + #endregion + + #region Debug info + + StringBuilder _sb = new StringBuilder(); + TextWriter _sbWriter; + + public CliStatus Status { get; set; } + + /// + /// Gets a debug message writer. + /// + public TextWriter DebugMessageWriter { + get { + if (_sbWriter == null) { + _sbWriter = new StringWriter(_sb); + } + return _sbWriter; + } + } + + /// + /// Gets the debug message. + /// + public string DebugMessage { + get { + if(_sbWriter != null) + _sbWriter.Flush(); + return _sb.ToString(); + } + } + + #endregion + + #region Application + + public void Apply(MainForm form) { + //GUI + form.IsChromeVisible = !DisableChrome; + form.Opacity = (double)Opacity / 255.0; + + //Seek handle for thumbnail cloning + WindowHandle handle = null; + if (WindowId.HasValue) { + handle = WindowHandle.FromHandle(WindowId.Value); + } + else if (WindowTitle != null) { + var seeker = new ByTitleWindowSeeker(WindowTitle) { + OwnerHandle = form.Handle, + SkipNotVisibleWindows = MustBeVisible + }; + seeker.Refresh(); + + handle = seeker.Windows.FirstOrDefault(); + } + else if (WindowClass != null) { + var seeker = new ByClassWindowSeeker(WindowClass) { + OwnerHandle = form.Handle, + SkipNotVisibleWindows = MustBeVisible + }; + seeker.Refresh(); + + handle = seeker.Windows.FirstOrDefault(); + } + + //Position lock + if (StartPositionLock.HasValue) { + form.PositionLock = StartPositionLock.Value; + } + + //Size and location start values + if (StartLocation.HasValue && StartSize.HasValue) { + form.StartPosition = System.Windows.Forms.FormStartPosition.Manual; + form.Location = StartLocation.Value; + form.ClientSize = StartSize.Value; + } + else if (StartLocation.HasValue) { + form.StartPosition = System.Windows.Forms.FormStartPosition.WindowsDefaultBounds; + form.Location = StartLocation.Value; + } + else if (StartSize.HasValue) { + form.StartPosition = System.Windows.Forms.FormStartPosition.WindowsDefaultLocation; + form.ClientSize = StartSize.Value; + } + + //Clone any found handle + if (handle != null) { + form.SetThumbnail(handle, Region); + } + + //Other features + if (EnableClickForwarding) { + form.ClickForwardingEnabled = true; + } + + //Fullscreen + if (Fullscreen) { + form.FullscreenManager.SwitchFullscreen(); + } + } + + #endregion + + } + +} diff --git a/OnTopReplica/StartupOptions/PaddingConverter.cs b/OnTopReplica/StartupOptions/PaddingConverter.cs new file mode 100644 index 0000000..777394f --- /dev/null +++ b/OnTopReplica/StartupOptions/PaddingConverter.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.ComponentModel; +using System.Windows.Forms; + +namespace OnTopReplica.StartupOptions { + class PaddingConverter : FourValueTypeConverter { + + protected override Padding CreateValue(int v1, int v2, int v3, int v4) { + return new Padding { + Left = v1, + Top = v2, + Right = v3, + Bottom = v4 + }; + } + + } +} diff --git a/OnTopReplica/StartupOptions/RectangleConverter.cs b/OnTopReplica/StartupOptions/RectangleConverter.cs new file mode 100644 index 0000000..624fee1 --- /dev/null +++ b/OnTopReplica/StartupOptions/RectangleConverter.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel; +using System.Drawing; +using System.Text.RegularExpressions; + +namespace OnTopReplica.StartupOptions { + + class RectangleConverter : FourValueTypeConverter { + + protected override Rectangle CreateValue(int v1, int v2, int v3, int v4) { + return new Rectangle { + X = v1, + Y = v2, + Width = v3, + Height = v4 + }; + } + + } + +} diff --git a/OnTopReplica/StartupOptions/ScreenPositionConverter.cs b/OnTopReplica/StartupOptions/ScreenPositionConverter.cs new file mode 100644 index 0000000..18ca1a5 --- /dev/null +++ b/OnTopReplica/StartupOptions/ScreenPositionConverter.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel; + +namespace OnTopReplica.StartupOptions { + class ScreenPositionConverter : TypeConverter { + + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { + if (sourceType == typeof(string)) + return true; + + return base.CanConvertFrom(context, sourceType); + } + + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { + if (destinationType == typeof(ScreenPosition)) + return true; + + return base.CanConvertTo(context, destinationType); + } + + public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { + var sValue = value.ToString(); + + switch (sValue) { + case "TL": + return ScreenPosition.TopLeft; + case "TR": + return ScreenPosition.TopRight; + case "BL": + return ScreenPosition.BottomLeft; + case "BR": + return ScreenPosition.BottomRight; + case "C": + return ScreenPosition.Center; + default: + throw new ArgumentException("Invalid screen position value '" + sValue + "'."); + } + } + + public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { + if (destinationType == typeof(ScreenPosition)) + return ConvertFrom(context, culture, value); + + return base.ConvertTo(context, culture, value, destinationType); + } + + } +} diff --git a/OnTopReplica/StartupOptions/SizeConverter.cs b/OnTopReplica/StartupOptions/SizeConverter.cs new file mode 100644 index 0000000..9dd018e --- /dev/null +++ b/OnTopReplica/StartupOptions/SizeConverter.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel; +using System.Drawing; +using System.Text.RegularExpressions; + +namespace OnTopReplica.StartupOptions { + + class SizeConverter : TypeConverter { + + public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { + if (value != null) { + var sVal = value.ToString(); + return StringToSize(sVal); + } + else + return base.ConvertFrom(context, culture, value); + } + + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { + return (sourceType == typeof(string) || sourceType == typeof(Size)); + } + + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { + return (destinationType == typeof(Size) || destinationType == typeof(string)); + } + + public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { + if (value == null) + return base.ConvertTo(context, culture, value, destinationType); + + if (destinationType == typeof(Size)) { + var sVal = value.ToString(); + return StringToSize(sVal); + } + else if (destinationType == typeof(string)) { + if (value is Size) { + Size sValue = (Size)value; + return string.Format("{0}, {1}", sValue.Width, sValue.Height); + } + + return value.ToString(); + } + else + return base.ConvertTo(context, culture, value, destinationType); + } + + static Regex _sizeRegex = new Regex("^\\D*(?\\d*)\\s*,\\s*(?\\d*)\\D*$", + RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.Singleline); + + private Size StringToSize(string s) { + var match = _sizeRegex.Match(s); + + var x = match.Groups["x"]; + var y = match.Groups["y"]; + + if (!match.Success || !x.Success || !y.Success) + throw new ArgumentException("Cannot convert '" + s + "' to coordinates pair."); + + var xVal = Int32.Parse(x.Value); + var yVal = Int32.Parse(y.Value); + + return new Size(xVal, yVal); + } + + } + +} diff --git a/OnTopReplica/StoredRegion.cs b/OnTopReplica/StoredRegion.cs new file mode 100644 index 0000000..d2d6894 --- /dev/null +++ b/OnTopReplica/StoredRegion.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.Drawing; + +namespace OnTopReplica { + + public class StoredRegion { + + public StoredRegion(ThumbnailRegion r, string name) { + Region = r; + Name = name; + } + + public ThumbnailRegion Region { + get; + set; + } + + public string Name { + get; + set; + } + + public override string ToString() { + return Name; + } + + } + +} diff --git a/OnTopReplica/StoredRegionArray.cs b/OnTopReplica/StoredRegionArray.cs new file mode 100644 index 0000000..f140178 --- /dev/null +++ b/OnTopReplica/StoredRegionArray.cs @@ -0,0 +1,147 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Collections; +using System.Xml.Serialization; +using System.Xml; +using System.Xml.Linq; + +namespace OnTopReplica { + + /// + /// Strongly styped array of StoredRegion elements. + /// + /// + /// Handles XML serialization. + /// + public class StoredRegionArray : List, IXmlSerializable { + + #region IXmlSerializable Members + + public System.Xml.Schema.XmlSchema GetSchema() { + return null; + } + + public void ReadXml(System.Xml.XmlReader reader) { + this.Clear(); + + var doc = XDocument.Load(reader); + foreach (var xmlRegion in doc.Descendants("StoredRegion")) { + System.Diagnostics.Debug.WriteLine(string.Format("Found region '{0}'.", xmlRegion.Attribute("name"))); + + StoredRegion parsedRegion = ParseStoredRegion(xmlRegion); + if (parsedRegion != null) { + this.Add(parsedRegion); + } + } + } + + private StoredRegion ParseStoredRegion(XElement xmlRegion) { + var xName = xmlRegion.Attribute("name"); + if (xName == null || string.IsNullOrWhiteSpace(xName.Value)) { + System.Diagnostics.Debug.Fail("Parsed stored region has no name attribute."); + return null; + } + + ThumbnailRegion region = ParseRegion(xmlRegion); + if (region == null) { + System.Diagnostics.Debug.Fail("Parsed stored region has no valid region."); + return null; + } + + return new StoredRegion(region, xName.Value); + } + + private ThumbnailRegion ParseRegion(XElement xmlRegion) { + var xRectangle = xmlRegion.Element("Rectangle"); + if (xRectangle != null) { + System.Drawing.Rectangle rectangle = ParseRectangle(xRectangle); + return new ThumbnailRegion(rectangle); + } + + var xPadding = xmlRegion.Element("Padding"); + if (xPadding != null) { + System.Windows.Forms.Padding padding = ParsePadding(xPadding); + return new ThumbnailRegion(padding); + } + + return null; + } + + private System.Windows.Forms.Padding ParsePadding(XElement xPadding) { + var p = new System.Windows.Forms.Padding(); + try { + p.Left = Int32.Parse(xPadding.Element("Left").Value); + p.Top = Int32.Parse(xPadding.Element("Top").Value); + p.Right = Int32.Parse(xPadding.Element("Right").Value); + p.Bottom = Int32.Parse(xPadding.Element("Bottom").Value); + } + catch (Exception ex) { + System.Diagnostics.Debug.Fail("Failure while parsing padding data.", ex.ToString()); + } + return p; + } + + private System.Drawing.Rectangle ParseRectangle(XElement xRectangle) { + var r = new System.Drawing.Rectangle(); + try { + r.X = Int32.Parse(xRectangle.Element("X").Value); + r.Y = Int32.Parse(xRectangle.Element("Y").Value); + r.Width = Int32.Parse(xRectangle.Element("Width").Value); + r.Height = Int32.Parse(xRectangle.Element("Height").Value); + } + catch (Exception ex) { + System.Diagnostics.Debug.Fail("Failure while parsing rectangle data.", ex.ToString()); + } + return r; + } + + public void WriteXml(System.Xml.XmlWriter writer) { + foreach (var region in this) { + WriteRegion(writer, region); + } + } + + private void WriteRegion(XmlWriter writer, StoredRegion region) { + writer.WriteStartElement("StoredRegion"); + writer.WriteAttributeString("name", region.Name); + + if (region.Region.Relative) { + WriteRelativeRegion(writer, region); + } + else { + WriteAbsoluteRegion(writer, region); + } + + writer.WriteEndElement(); + } + + private void WriteAbsoluteRegion(XmlWriter writer, StoredRegion region) { + writer.WriteStartElement("Rectangle"); + + var bounds = region.Region.Bounds; + writer.WriteElementString("X", bounds.X.ToString()); + writer.WriteElementString("Y", bounds.Y.ToString()); + writer.WriteElementString("Width", bounds.Width.ToString()); + writer.WriteElementString("Height", bounds.Height.ToString()); + + writer.WriteEndElement(); + } + + private void WriteRelativeRegion(XmlWriter writer, StoredRegion region) { + writer.WriteStartElement("Padding"); + + var padding = region.Region.BoundsAsPadding; + writer.WriteElementString("Left", padding.Left.ToString()); + writer.WriteElementString("Top", padding.Top.ToString()); + writer.WriteElementString("Right", padding.Right.ToString()); + writer.WriteElementString("Bottom", padding.Bottom.ToString()); + + writer.WriteEndElement(); + } + + #endregion + + } + +} diff --git a/OnTopReplica/StoredRegionComparer.cs b/OnTopReplica/StoredRegionComparer.cs new file mode 100644 index 0000000..cfc9438 --- /dev/null +++ b/OnTopReplica/StoredRegionComparer.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Collections; + +namespace OnTopReplica { + + /// + /// Compares two StoredRegions based on their name. + /// + class StoredRegionComparer : IComparer { + + #region IComparer Members + + public int Compare(object x, object y) { + StoredRegion a = x as StoredRegion; + StoredRegion b = y as StoredRegion; + + if (a == null || b == null) + return -1; //this is wrong, but anyway + + return a.Name.CompareTo(b.Name); + } + + #endregion + + } +} diff --git a/OnTopReplica/Strings.cs.resx b/OnTopReplica/Strings.cs.resx new file mode 100644 index 0000000..2360dd2 --- /dev/null +++ b/OnTopReplica/Strings.cs.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Vytvořil: % + Link % is replaced by string AboutAuthorContent. + + + Přerušit aktualizaci. + + + Zobrazit podrobnosti o aplikaci OnTopReplica. + + + Resetovat nastavení OnTopReplica. + + + Aktualizovat OnTopReplica. + + + Rádi byste přispěli k vývoji projektu? Jste vřele vítáni při spolupráci na stávajících nebo nových překladech, případně si můžete stáhnout % ze serveru CodePlex. + + + zdrojové kódy + + + OnTopReplica je založena na knihovně WindowsFormsAero a několika dalších knihovnách a zdrojích. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Více informací + + + Spolupráce + + + Zásluhy + + + Licence + + + Aktualizace + + + Aplikace je vydána pod % licencí, která splňuje požadavky "open-source" definice dle OSI. + + + Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému. + + + O programu OnTopReplica + + + Překlady: % + {0} translators (do not end with period) + + + Aktualizuj! + + + Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. + + + Verze: % + + + Resetovat nastavení okna? + + + &Resetovat +Všechna nastavení budou ztracena. + + + Operace "Resetovat okno" je vhodná k inicializaci všech nastavení pokud jste například ztratili kontrolu nad oknem nebo jej přesunuli mimo viditelnou plochu obrazovky. + + + Resetovat + + + Resetovat nastavení? + + + Operace "Resetovat nastavení" smaže veškerá uživatelská nastavení aplikace OnTopReplica a vrátí nastavení do stejného stavu jako po instalaci (všechny uložené informace, jako například uložené výřezy oken, budou ztraceny). + + + Resetovat nastavení + + + &Storno + & marks the ALT+[] shortcut + + + Označte výřez pomocí myši. + + + Podrobnosti + + + Podrobnosti k Windows Aero + + + Windows Aero je k dispozici pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce 'Desktop Composition' není povolena. + + + Pro pokračování je nutné povolit funkci "Desktop Composition" výběrem tématu 'Windows Aero' v nastavení vzhledu Windows. + +Uvedené lze provést například kliknutním pravým tlačítkem myši na plochu a zvolením akce "Přizpůsobit". + + + Podrobnosti k chybě + + + Chyba: + + + Zvolené okno bylo zavřeno nebo již není platné z jiných důvodů. + + + Chyba + + + Funkce 'Desktop Composition' není ve vašem systému podporována. +Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce Desktop Composition není podporována + + + Náhled nebyl nahrán. + + + Nelze vytvořit náhled. + + + Nelze vložit okno. + + + Kontrola aktualizací se nezdařila. + + + Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte <a href="http://ontopreplica.codeplex.com">domácí stránku aplikace OnTopReplica</a>). + + + Aplikaci OnTopReplica se nepodařilo zjistit, zda existuje nová verze. Zkontrolujte, zda jste připojeni k síti Internet. Pokud ano, je možné, že webové stránky projektu jsou dočasně mimo provoz. + + + Režim + + + Vždy na vrchu + + + Nastaví aplikaci OnTopReplica, aby zůstávala vždy na vrchu. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Standardní + + + Aplikace OnTopReplica se bude chovat jako běžné okno. Jiná okna mohou překrýt okno aplikace. + + + Aplikace OnTopReplica přes celou obrazovku + + + Zrušit + + + Povolit seskupení + + + Výběrem více položek aktivujete seskupení + + + Seskupení je aktivní + + + Seskupení + + + Okna + Column Header of list, simply refers to available windows to be cloned + + + Domácí stránka: www.codeplex.com/ontopreplica. + + + Přejete si povolit "přeposílání kliknutí"? + + + V tomto režimu aplikace OnTopReplica přeposílá kliknutí levého tlačítka myši do zdrojového okna (je tedy možné provádět základní ovládání zdrojového okna bez nutnosti jej aktivovat). + +Ukončit režim "přeposíání kliknutí" je možné opětovným vyvolání položky v menu. + + + Přeposílání kliknutí + + + Povolit "Proklikávání" v celoobrazovkovém režimu? + + + "Proklikávání" funguje pouze pokud je povoleno v menu a okno má nastavenou průhlednost. + + + V tomto režimu se bude okno roztažené přes celou obrazovku chovat jako poloprůhledná vrstva, přes kterou bude možné "proklikávat" na podložená okna. + +K návratu do standardního režimu je možné přejít kdykoli dvojklikem na ikonu v oznamovací oblasti (traye). + + + Ne. +Režim "Proklikávání" je možné zvolit později v menu + + + Používat "Proklikávání" + + + Režim "Proklikávání" + + + Aplikace OnTopReplica byla aktualizována. + + + Pro použití aktualizací je potřeba aplikaci OnTopReplica restartovat. + + + Aktualizace proběhla úspěšně + + + OnTopReplica je aktuální. + + + Žádná aktualizace není k dispozici. + + + Jazyk + + + O aplikaci... + + + Skryje hlavní okno a zobrazí informace "O aplikaci". + + + Okraj + + + Přepínač, který definuje, zda má aplikace OnTopReplica viditelný okraj okna. + + + Přeposílání kliknutí + + + Zapne "přeposílání kliknutí" do zdrojového okna. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Zavřít + + + Ukončí aplikaci OnTopReplica. + + + 2:1 Dvojnásobná + + + Celá obrazovka + + + 1:2 Poloviční + + + 1:1 Jako zdroj + + + 1:4 Čtvrtinová + + + Seskupení + + + OnTopReplica bude automaticky přepínat mezi okny z uživatelsky definované skupiny tak, že zobrazeno bude vždy to naposledy deaktivované okno. + + + 100% (neprůhledné) + + + Nastaví aplikaci OnTopReplica jako neprůhlednou. + + + 25% + + + Nastaví průhlednost na 25%. + + + 50% + + + Nastaví průhlednost na 50%. + + + 75% + + + Nastaví průhlednost na 75%. + + + Průhlednost + + + Otevřít + + + Zobrazí aplikaci OnTopReplica. + + + Dolní levý roh + + + Dolní pravý roh + + + Uprostřed + + + Vypnuto + + + Umístění + + + Automatická pozice aplikace OnTopReplica vzhledem k obrazovce. + + + Horní levý roh + + + Horní pravý rok + + + Opustit celoobrazovkový režim + + + Ukládat pozici a velikost okna + + + Přepínač, který definuje, zda si má aplikace OnTopReplica ukládat poslední pozici a velikost okna a obnovovat tyto údaje po restartování aplikace. + + + Minimalizovat do traye + + + Minimalizuje aplikaci OnTopReplica jako ikonu v systémové oblasti. + + + Vybrat výřez... + + + Přepne do režimu "výřezu", který umožní zvolit pouze část okna jako náhled. + + + Resetovat nastavení okna + + + Resetuje nastavení a pozici okna aplikace OnTopReplica. + + + Velikost + + + Obnovit naposledy zobrazené okno + + + Pokud je zatrženo, OnTopReplica se pokusí po spuštění obnovit naposledy zobrazované okno. + + + Nastavení... + + + Zobrazí okno s nastavením. + + + Přepnout do okna + + + Přepne do zdrojového okna a skryje aplikaci OnTopReplica. + + + Vybrat okno + + + - žádné - + + + Zobrazí seznam oken, které je možné použít jako zdroj. + + + - celé okno - + + + Aktuální výřez: + + + Smazat + + + Hotovo + + + Výška + + + Reset + + + Uložit + + + Uložené výřezy + + + Výřezy: + + + Šířka + + + Začněte klepnutím sem pravým tlačítkem myši... + + + Zavřít toto okno + + + Tyto klávesové zkratky jsou platné napříč systémem a je možné je použít i pokud OnTopReplica není aktivním oknem. + + + Zobrazit/Skrýt + + + Klávesové zkratky: + + + Jazyk: + + + Vyžaduje restart. + + + Nastavení + + + Zrušit aktualizaci +Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. + + + Pokračovat +Instalovat OnTopReplica {0}. + + + Nová verze bude automaticky stažena a nainstalována. + + + Nainstalovaná verze: {0} +Dostupná verze: {1} + + + Verze {0} je k dispozici + + + staženo {0}/{1} bajtů. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Stahování... + + + Poslední verze aplikace OnTopReplica je již nainstalována. Aktualizace se kontrolují automaticky při každém spuštění. + +Na <a href="website">oficiálních stránkách</a> můžete sledovat aktuální vývoj aplikace nebo hlásit chyby či navrhovat vylepšení. + The website link should be enclosed in <a href="website"></a> tags. + + + Poslední stabilní verze byla vydána {0}. + {0} last version release date + + + OnTopReplica je aktuální + + + Instalovat +OnTopReplica bude nyní ukončena a spustí se aktualizace. + + + Nová verze {0} OnTopReplica je připravena k instalaci. + + + Aktualizace je připravena + + + Aktualizace OnTopReplica + + + + Must not be localized. Leave blank in non-default languages. + + + + Can be left blank. + + + + Must not be localized. Leave blank in non-default languages. + + + + Probably doesn't need localization. :) + + + Advanced + + \ No newline at end of file diff --git a/OnTopReplica/Strings.da.resx b/OnTopReplica/Strings.da.resx new file mode 100644 index 0000000..ea2a6a7 --- /dev/null +++ b/OnTopReplica/Strings.da.resx @@ -0,0 +1,650 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Annuller updateringen. + + + Vis detaljer om OnTopReplica. + + + Nulstil alle OnTopReplica indstillinger. + + + Opdater OnTopReplica nu. + + + En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. + + + Opdater nu! + + + OnTopReplica checker automatiskt for opdateringer. + + + + Probably doesn't need localization. :) + + + Nulstil vinduet helt? + + + &NulstilAlle ændringer vil blive tabt. + + + Kan bruges til at nulstille alle indstillinger hvis du mister kontrollen over vinduet eller hvis det er flyttet uden for skærmen. + + + Nulstil + + + Nulstil indstillinger? + + + Dette nulstiller OnTopReplica til standard indstillingerne (alle gemte informationer, som gemte områder, vil blive slettet). + + + Nulstil indstillingerne + + + &Annuller + & marks the ALT+[] shortcut + + + Tegn områder med musen + + + Detaljer + + + Detaljer om Windows Aero + + + Windows Aero er kun tilgængelig op Windows Vista Home Premium eller højere. + + + Windows Aero effekter er ikke slået til + + + Du skal aktiverere "Windows Aero" som tema i Windows.For at gøre dette skal du højreklikke på skrivebordet og vælge personlige indstillinger. + + + Fejl detaljer. + + + Fejl: + + + Vinduet du har valgt er lukket eller er ikke gyldigt mere. + + + Fejl + + + Windows Aero effekter er ikke understøttet af dit styresystem. +Dette program kræver Windows Vista Home Premium eller bedre. + + + Skrivebords komposition ikke understøttet + + + Ingen miniature indlæst. + + + Kan ikke lave miniature. + + + Kunne ikke passes til vinduet. + + + Kan ikke søge efter opdateringer. + + + OnTopReplica blev ikke installeret ved hjælp af 'ClickOnce'. Du bliver nødt til at opdatere manuelt (besøg <a href="http://ontopreplica.codeplex.com">OnTopReplica's hjemmeside</a>). + + + Tilstande + + + Altid øverst + + + Får OnTopReplica til altid at være øverst. + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Standard + + + Opfører sig som et almindeligt vindue. Du kan trække andre viduer ind over OnTopReplica. + + + OnTopReplica fuld skærm + + + Hjemmeside: www.codeplex.com/ontopreplica. + + + Ønsker du at aktivere "click forwarding"? + + + Hvis denne funktion er aktiveret vil OnTopReplica vidersende alle venstr museklik til det klonede vindue (dette gør dig i stand til at udføre basis musefunktioner i det klonede vindue uden at skulle aktivere det). + +For at afslutte denne funktion skal du højreklikke på OnTopReplica og deaktivere "Click forwarding" i menuen. + + + Click forwarding + + + Ønskes gennem klik i fuldskærms tilstand? + + + Gennem klik virker kun hvis det er blevet aktiveret i gendan undermenuen og hvis vinduet er delvist gennemsigtigt. + + + I denne tilstand vil fuld skærm vinduet opføre sig som et delvist gennemsigtigt lag, hvilket gør dig i stand til at klikke på de underliggende vinduer. + +For at komme tilbage til normal tilstand, dobbeltklik på OnTopReplica ikonet i meddelelsesområdet på proceslinjen. + + + Nej. +Du kan aktivere gennem klik senere. + + + Brug gennem klik. + + + Gennem klik tilstand + + + OnTopReplica er blevet opdateret. + + + For at benytte den opdaterede udgave af OnTopReplica skal du genstarte programmet. + + + Opdatering fuldført + + + OnTopReplice er opdateret. + + + Ingen opdateringer er tilgængelige + + + Sprog + + + Om... + + + Skjuler hoved vinduet og viser om boxen. + + + Krom + + + Vælger Chrome kanten rundt om vinduet til/fra + + + Click forwarding + + + Aktiver "click forwarding" til det klonede vindue + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Luk + + + Lukker OnTopReplica. + + + 2:1 dobbelt + + + Fuld skærm + + + 1:2 halv + + + 1:1 Pas til vinduet + + + 1:4 kvart + + + 100% (uigennemsigtig) + + + Sæt OnTopReplica til at være helt uigennemsigtig. + + + 25% + + + Sætter OnTopReplica til 25% uigennemsigtighed. + + + 50% + + + Sætter OnTopReplica til 50% uigennemsigtighed. + + + 75% + + + Sætter OnTopReplica til 75% uigennemsigtighed. + + + Uigennemsigtighed + + + åben + + + Viser OnTopReplica. + + + Nederst venstre + + + Nederst højre + + + Position + + + Sæt OnTopReplica automatiskt på den aktuelle skærm. + + + Øverst venstre + + + Øverst højre + + + Afslut fuldskærm tilstand. + + + Gendan sidste position og størrelse + + + Vælger om OnTopReplica skal gemme sidst brugte størrelse og position, til næste gang det starter op. + + + Minimer til systembakken. + + + Minimere OnTopReplica til systembakken. + + + Vælg område... + + + Skifter til "område tilstand", der tillader dig at vælge et begrænset område af kildens vindue som miniature. + + + Nulstil vinduet + + + Nulstiller OnTopReplica indstillingerne og hoved vinduet. + + + Genskab + + + Skift til vindue + + + Skifter til kilde vinduet og gemmer OnTopReplica. + + + Vælg vindue + + + - ingen - + + + Viser en liste af vinduer du kan bruge som miniature kilde. + + + - hele - + + + Aktuelt område: + + + Slet + + + Færdig + + + Højde + + + Nulstil + + + Gem + + + Gemte områder + + + Områder: + + + Bredde + + + Højreklik her for at starte... + + + Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes. + + + FortsætInstaller OnTopReplica + + + Den nye version vil automatiskt blive downloaded og installeret. + + + Installeret version: {0} +Tilgængelig version: {1} + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann. + Must not be localized. Leave blank in non-default languages. + + + Version {0} + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Advanced + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + Center + + + Disabled + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + + \ No newline at end of file diff --git a/OnTopReplica/Strings.de.resx b/OnTopReplica/Strings.de.resx new file mode 100644 index 0000000..5197922 --- /dev/null +++ b/OnTopReplica/Strings.de.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Aktualisierungsprozess abbrechen. + + + Details über OnTopReplica anzeigen. + + + Alle Einstellungen zurücksetzen. + + + OnTopReplica jetzt aktualisieren. + + + Möchtest du dem Projekt helfen? Du kannst gerne existierende Übersetzungen verbessern, einen neue für deine Sprache hinzufügen, oder den % von CodePlex herunterladen. + + + Quelltext + + + OnTopReplica basiert auf der WindowsFormsAero Bibliothek und ein paar anderen Bibliotheken und Codequellen. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Lies die vollständige Quellenliste + + + Mitwirken + + + Quellen + + + Lizenz + + + Aktualisierungen + + + Das Programm ist unter der % Lizenz lizensiert, welche die Bedingungen der Definition von "open-source" nach OSI erfüllt. + + + Ein kleines echtzeit-Vorschaubild eines Fensters deiner Wahl, welches immer im Vordergrund bleibt. + + + Über OnTopReplica + + + Übersetzer: {0} + {0} translators (do not end with period) + + + Jetzt prüfen! + + + OnTopReplica sucht automatisch bei jedem Start nach Aktualisierungen. + + + Version {0} + + + + Probably doesn't need localization. :) + + + Fenster vollständig zurücksetzen? + + + &Zurücksetzen +Alle Einstellungen werden gelöscht. + + + Dies kann helfen, wenn die Kontrolle über das Fenster verloren wurde, oder es sich ausserhalb des sichtbaren Bereichs des Monitors befindet. + + + Zurücksetzen + + + Einstellungen zurücksetzen? + + + Dies wird alle Einstellungen löschen und OnTopReplica in den Installationszustand zurückführen (alle gespeicherten Daten, wie zum Beispiel gespeicherte Bereiche, gehen verloren). + + + Einstellungen zurücksetzen + + + {0}/{1} bytes heruntergeladen. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Version {0} ist verfügbar + + + Installieren +OnTopReplica wird geschlossen und die Aktualisierung installiert. + + + Eine neue Version kann von der offiziellen Webseite heruntergeladen und installiert werden. + + + OnTopReplica version {0} ist zur Installation auf dem Computer bereit. + + + &Abbrechen + & marks the ALT+[] shortcut + + + Zeichne Bereiche mit der Maus. + + + Details + + + Details zu Windows Aero + + + Windows Aero ist nur mit Windows Vista Home Premium or höher verfügbar. + + + 'Desktop-Gestaltung' ist nicht aktiviert. + + + Sie müssen die Desktop-Gestaltung aktivieren, indem sie 'Windows Aero' als das von Windows benutzte Anzeigeschema auswählen. + +Um dies zu tung rechtsklicken die auf den Desktop und wählen sie 'Anpassen'. + + + Fehler-details + + + Fehler: + + + Es scheint als wäre das gewählte Fenster geschlossen oder nicht länger gültig. + + + Fehler + + + Desktop-Gestaltung' wird auf diesem Betriebssystem nicht unterstützt. +Dieses Programm benötigt Windows Vista Home Premium oder besser. + + + Desktop-Gestaltung nicht unterstützt + + + Kein Vorschaubild geladen. + + + Vorschaubild konnte nicht erstellt werden + + + Das Fenster passt nicht in das Vorschaufenster. + + + Es konnte nicht nach Aktualisierungen gesucht werden. + + + Es scheint als wäre OnTopReplica nicht mittels 'ClickOnce' installiert. Sie werden manuell aktualisieren müssen (Besuchen sie <a href="http://ontopreplica.codeplex.com">OnTopReplica's Homepage</a>). + + + OnTopReplica konnte nicht nach einer Aktualisierung suchen. Stellen sie Sicher, dass sie mit dem Internet verbunden sind. Wenn sie mit dem Internet verbunden sind, könnte die Webseite temporäre Probleme haben. + + + Mode + + + Immer im Vordergrund + + + Erzwingt, dass OnTopReplica immer im Vordergrund bleibt. + + + Durchklicken + + + OnTopReplica wird alle Klicks an das darunterliegende Fenster weiterreichen. + + + Standard + + + Verhält sich wie ein normales Fenster. Andere Fenster können OnTopReplica verdecken. + + + OnTopReplica Vollbild + + + Deaktivieren + + + Modus aktivieren + + + Mehrere Fenster zum aktivieren auswählen. + + + Der Gruppenmodus ist aktiv. + + + Gruppenmodus: + + + Fenster + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Klickweiterleitung aktivieren? + + + OnTopReplica wird alle Linksklicks an das geklonte Fenster weiterreichen (dies erlaubt simple Interaktion ohne das andere Fenster zu aktivieren). + +Um diese Modus zu beenden ESC drücken. + + + Klickweiterleitung + + + Durchklickmodus aktivieren? + + + Durchklicken funktioniert nur, wenn es im "Grössen"-Menü aktiviert wurde und das Fenster semi-transparent ist. + + + In diesem Modus verhält sich das Vollbild-Fenster wie ein durchsichtiges Overlay und erlaubt es, die Fenster dahinter anzuklicken. + +Um zum normalen Modus zurückzukehren, reicht es, OnTopReplica über die Taskleiste oder das Benachrichtigungssymbol zu aktivieren. + + + Nein danke. +Durchklicken kann später aktiviert werden + + + Durchklicken aktivieren + + + Durchklick-Modus + + + OnTopReplica wurde aktualisiert. + + + Um die aktualisierte Version zu nutzen, muss OnTopReplica neu gestartet werden. + + + Aktualisierung abgeschlossen + + + OnTopReplica ist auf dem neuesten Stand. + + + Keine Aktualisierung verfügbar + + + Sprache + + + Über... + + + Versteckt das Hauptfenster und zeigt das Informationsfenster. + + + Erweitert + + + Fensterrahmen anzeigen + + + Schaltet den Fensterrahmen an und aus. + + + Klickweiterleitung aktivieren + + + Leitet klicks an das geklonte Fenster weiter. + + + Durchklicken aktivieren + + + OnTopReplica wird alle klicks an die darunterliegenden Fenster weiterleiten. + + + Schliessen + + + Schliesst OnTopReplica. + + + 2:1 Verdoppeln + + + Vollbild + + + 1:2 Halbieren + + + 1:1 An Fenster anpassen + + + 1:4 Vierteln + + + Gruppenmodus + + + OnTopReplica wird automatisch das zuletzt aktive Fenster aus einer benutzerdefinierten Gruppe klonen. + + + 100% (Undurchsichtig) + + + OnTopReplica ist völlig undurchsichtig. + + + 25% + + + OnTopReplica auf 25% Sichtbarkeit setzen. + + + 50% + + + OnTopReplica auf 50% Sichtbarkeit setzen. + + + 75% + + + OnTopReplica auf 75% Sichtbarkeit setzen. + + + Deckkraft + + + Öffnen + + + OnTopReplica anzeigen. + + + Unten Links + + + Unten Rechts + + + Mitte + + + Deaktiviert + + + Position feststlegen + + + OnTopReplica automatisch auf dem aktiven Bildschirm positionieren. + + + Oben Links + + + Oben Rechts + + + Vollbildmodus beenden + + + Letzte Position und Grösse merken + + + Legt fest, ob OnTopReplica beim Start die gleiche Position und Grösse haben soll, wie beim letzten Beenden. + + + Minimieren + + + Minimiert OnTopReplica in die Taskleiste (oder die Benachrichtigungsleiste). + + + Bereich wählen... + + + Wechselt zum "Bereichsmodus" welcher es erlaubt, nur einen ausgewählten Teil eines Fensters zu klonen. + + + Fenster zurücksetzen + + + Setzt OnTopReplica Einstellungen und das Fenster zurück. + + + Grösse + + + Letztes Fenster wieder wählen + + + OnTopReplica wird beim Start versuchen, das gleiche Fenster wie beim letzten beenden zu klonen. + + + Einstellungen... + + + Zeigt den Einstellungsdialog an. + + + Zum Fenster Wechseln + + + Wechselt zum geklonten Fenster und versteckt OnTopReplica. + + + Fenster wählen + + + - Keins - + + + Zeigt eine Liste von Fenstern die als Klonquelle gewählt werden können. + + + - Alles - + + + Aktueller Bereich: + + + Löschen + + + Fertig + + + Höhe + + + Zurücksetzen + + + Speichern + + + Gespeicherte Bereiche + + + Bereiche: + + + Breite + + + Hier rechtsklicken um zu beginnen... + + + Aktuelles Fenster klonen + + + Diese Tastenkombinationen können auch benutzt werden, wenn OnTopReplica nicht das aktive Fenster ist. + + + Zeigen/Verstecken + + + Tastenkombinationen: + + + Sprache: + + + Benötigt einen Neustart. + + + Herunterladen... + + + Aktualisierung bereit + + + Herunterladen +OnTopReplica {0} instalieren. + + + Aktualisierung abbrechen +OnTopReplica wird beim nächsten Start darauf hinweisen. + + + OnTopReplica ist aktuell + + + Neuste stabile Programmversion vom {0}. + {0} last version release date + + + Die aktuelle Version vom OnTopReplica ist schon installiert. Das Programm sucht automatisch bei jedem Start nach Aktualisierungen. + +Sie können über die Entwicklung von OnTopReplica auf dem Laufenden bleiben und verbesserungen vorschlagen indem sie die <a href="website">offizielle Webseite besuchen</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Einstellungen + + + OnTopReplica Aktualisierungen + + + Installierte Version: {0} +Verfügbare Version: {1} + + + Autor: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + + Must not be localized. Leave blank in non-default languages. + + \ No newline at end of file diff --git a/OnTopReplica/Strings.es.resx b/OnTopReplica/Strings.es.resx new file mode 100644 index 0000000..673af94 --- /dev/null +++ b/OnTopReplica/Strings.es.resx @@ -0,0 +1,650 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancela el progreso de actualización. + + + Muestra detalles acerca de OnTopReplica. + + + Reinicia la configuración de OnTopReplica a sus valores iniciales. + + + Actualiza OnTopReplica ahora. + + + Una copia liviana, en tiempo real y siempre encima de cualquier ventana. + + + Actualizar ahora! + + + OnTopReplica busca actualizaciones automáticamente. + + + + Probably doesn't need localization. :) + + + ¿Reiniciar la ventana? + + + &Reiniciar +Todos los ajustes se perderán. + + + Puede ser usado para reiniciar todos los ajustes si se ha perdido el control sobre las ventanas o se ha movido más allá de los bordes de la pantalla. + + + Reiniciar + + + ¿Reiniciar los ajustes? + + + Esta acción borrará todos los ajustes de OnTopReplica tras la instalación, volviendo a la configuración inicial (toda la información guardada, como las regiones personalizadas se perderán). + + + Reiniciar ajustes + + + &Cancelar + & marks the ALT+[] shortcut + + + Crea una región utilizando el ratón. + + + Detalles + + + Detalles en Windows Aero + + + Windows Aero sólo está disponible en Windows Vista o 7, en su versión Home Premium o superior. + + + La Composición de Escritorio no está activada. + + + Debe activar la Composición de Escritorio seleccionando "Windows Aero" como tema utilizado en Windows. + +Para ello, click derecho en el escritorio y buscar la opción en Personalizar. + + + Detalles del error + + + Error: + + + Parece que la ventana seleccionada ha sido cerrada o ya no es válida. + + + Error + + + La Composición de Escritorio no está soportada en su Sistema Operativo. +Es necesario utilizar Windows Vista o 7 en su versión Home Premium o superior. + + + Composición de Escritorio no soportada + + + No se ha clonado ninguna ventana. + + + Imposible clonar la ventana. + + + Imposible adaptar la ventana. + + + No se ha podido buscar actualizaciones. + + + Parece que OnTopReplica no ha podido ser instalado mediante "ClickOnce". Tendrá que actualizar manualmente visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + OnTopReplica no ha podido comprobar si hay una actualización disponible. Asegúrese de que está conectado a Internet. Si lo está, quizá la página oficial está temporalmente no disponible. + + + Modo + + + Siempre encima + + + OnTopReplica permanece siempre encima. + + + Click a través + + + OnTopReplica se comporta como una ventana transparente a través de la cual puede clickar lo que se encuentra detrás. + + + Ventana standard + + + OnTopReplica se comporta como una ventana corriente de Windows, por lo tanto puede estar en segundo plano. + + + OnTopReplica a pantalla completa + + + Desactivar + + + Activar modo + + + Seleccionar varias ventanas para activar. + + + Modo en grupo activado + + + Modo en grupo: + + + Ventanas + Column Header of list, simply refers to available windows to be cloned + + + Sitio oficial: www.codeplex.com/ontopreplica. + + + Desea activar el "Click en la ventana clonada"? + + + Si este modo está activado, OnTopReplica permitirá hacer click en la ventana clonada (de esta forma se podrán hacer operaciones básicas con el ratón sin tener que activar la ventana original). + +Para salir de este modo, pulsar ESC. + + + Click en la ventana clonada + + + Activar el modo Click a través? + + + Click a través solo funciona si se ha activado y la ventana es semi-transparente. + + + En este modo, la ventana clonada se volverá ventana parcialmente transparente, permitiendo hacer click en las otras ventanas de detrás. + +Para volver al modo normal en cualquier momento, activar OnTopReplica clickando en la barra de tareas (o en el icono del sistema). + + + No, gracias. +Se podrá activar Click a través más tarde + + + Utilizar Click a través + + + Modo Click a través + + + OnTopReplica ha sido actualizado. + + + Para poder utilizar la versión actualizada de OnTopReplica se ha de reiniciar la aplicación. + + + Actualización correcta. + + + OnTopReplica está actualizado. + + + No hay actualizaciones disponibles + + + Idioma + + + Acerca de + + + Oculta la ventana principal y muestra la ventana de "Acerca de" + + + Avanzado + + + Marco + + + Activa o desactiva el marco de la ventana. + + + Activar Click en la ventana clonada + + + Activa "Click en la ventana clonada" en la ventana que se ha clonado. + + + Activar Click a través + + + OnTopReplica se comporta como una ventana transparente a través de la cual puede hacer click sobre lo que se encuentra detrás. + + + Cerrar + + + Cierra OnToopReplica + + + 2:1 Doble + + + Pantalla completa + + + 1:2 Mitad + + + 1:1 Tamaño original + + + 1:4 Un cuarto + + + Modo en grupo + + + OnTopReplica clonará automáticamente una ventana de un grupo definido, eligiendo la que no ha estado en primer plano durante más tiempo. + + + 100% (opaco) + + + OnTopReplica será totalmente opaco. + + + Establece OnTopReplica al 25% de opacidad. + + + Establece OnTopReplica al 50% de opacidad. + + + Establece OnTopReplica al 75% de opacidad. + + + Opacidad + + + Abrir + + + Muestra OnTopReplica. + + + Abajo a la izquierda + + + Abajo a la derecha + + + Centrado + + + Desactivado + + + Posición + + + Posiciona automáticamente OnTopReplica sobre el monitor actual. + + + Arriba a la izquierda + + + Arriba a la derecha + + + Salir del modo pantalla completa + + + Restaurar última posición y tamaño + + + Activa o desactiva si OnTopReplica debe guardar la última posición y tamaño y usarla cuando se reinicie. + + + Minimizar + + + Minimiza OnTopReplica a la barra de tareas (o de sistema). + + + Seleccionar región + + + Activa o desactiva "Seleccionar región", que permite seleccionar una región específica de la ventana clonada. + + + Reiniciar ventana + + + Reinicia los ajustes de OnTopReplica y la ventana principal + + + Cambiar tamaño + + + Ir a la ventana original + + + Activa la ventana original y oculta OnTopReplica. + + + Seleccionar ventana + + + - ninguna - + + + Muestra una lista de ventanas que se pueden clonar. + + + - entera - + + + Región actual: + + + Borrar + + + Hecho + + + Altura + + + Reiniciar ventana + + + Guardar + + + Regiones guardadas + + + Regiones: + + + Anchura + + + Click derecho para empezar... + + + Cancelar actualización +OnTopReplica le preguntará la próxima vez que se ejecute. + + + Descargar +Instalar OnTopReplica {0} + + + La nueva versión puede ser descargada e instalada del sitio oficial. + + + Versión instalada: {0} +Versión disponible: {1} + + + Autor: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Contribuye con el proyecto. + Unfinished. + + + código fuente + + + OnTopReplica está basado en la librería WindowsFormsAero y otras librerías y códigos fuente. %. + + + Leer los créditos completos + + + Contribuir + + + Créditos + + + Licencia + + + Actualizaciones + + + La aplicación está bajo la licencia %, por lo que rigen los términos de la definición "open-source" especificada por OSI. + + + + Can be left blank. + + + Acerca de OnTopReplica + + + Traductores: {0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + Versión: {0} + + + 25% + + + 50% + + + 75% + + + Restaurar la última ventana clonada + + + Si está activado, OnTopReplica intentará restaurar la última ventana clonada al iniciarse. + + + Ajustes... + + + Muestra el panel de ajustes. + + + Clona ventana actual + + + Los atajos de teclado pueden ser utilizados aunque OnTopReplica no esté en primer plano. + + + Mostrar/ocultar + + + Atajos de teclado: + + + Idioma: + + + Requiere reinicio. + + + Ajustes + + + Versión {0} disponible + + + {0}/{1} bytes descargados. + + + Descargando... + + + La última versión de OnTopReplica ya está instalada. El programa buscará actualizaciones automáticamente con cada inicio. + +Puedes mantenerte informado del desarrollo de OnTopReplica, sugerir mejoras y nuevas características <a href="website">visitando la web oficial</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Última versión estable liberada en {0}. + {0} last version release date + + + OnTopReplica está actualizado + + + Instalar +OnTopReplica se cerrará y se instalará la actualización. + + + La versión de OnTopReplica {0} está lista para ser instalada en su ordenador. + + + Actualización lista + + + Actualizaciones de OnTopReplica + + \ No newline at end of file diff --git a/OnTopReplica/Strings.fi.resx b/OnTopReplica/Strings.fi.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.fi.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx new file mode 100644 index 0000000..a2177be --- /dev/null +++ b/OnTopReplica/Strings.it.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Creato da: %. + Link % is replaced by string AboutAuthorContent. + + + Annulla il processo di aggiornamento. + + + Mostra dettagli su OnTopReplica. + + + Resetta tutte le impostazioni di OnTopReplica. + + + Aggiorna OnTopReplica ora. + + + T'interessa partecipare? Ogni aiuto è ben accetto, sia che tu voglia migliorare una traduzione, aggiungerne una nuova oppure dare un'occhiata al % su CodePlex. + + + codice sorgente + + + OnTopReplica è basato sulla libreria WindowsFormsAero ed il codice di altri progetti open-source. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Leggi tutti i riferimenti + + + Contribuisci + + + Ringraziamenti + + + Licenza d'uso + + + Aggiornamenti + + + Questa applicazione è rilasciata sotto la licenza %, che rientra nella definizione di "open-source" data dal consorzio OSI. + + + Una copia in tempo reale e sempre in primo piano di una finestra a tua scelta. + + + A proposito di OnTopReplica + + + Traduttori: {0} + {0} translators (do not end with period) + + + Controlla! + + + OnTopReplica controlla automaticamente la presenza di aggiornamenti ad ogni avvio. + + + Versione {0} + + + + Probably doesn't need localization. :) + + + Ripristinare completamente la finestra? + + + &Ripristina +Tutte le impostazioni saranno perse. + + + Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. + + + Ripristino + + + Resettare impostazioni? + + + Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). + + + Reimposta + + + &Annulla + & marks the ALT+[] shortcut + + + Disegna una regione usando il mouse. + + + Dettagli + + + Dettagli su Windows Aero + + + Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. + + + Il servizio di Desktop Composition Aero non è attivo. + + + È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows. + +Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. + + + Dettagli errore + + + Errore: + + + Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. + + + Errore + + + La "composzione del desktop" non è supportata dal tuo sistema operativo. +È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. + + + Desktop Composition (DWM) non supportato + + + Nessuna finestra clonata al momento. + + + Impossibile clonare la finestra + + + Impossibile adattare la finestra. + + + Impossibile controllare gli aggiornamenti. + + + Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + Non è stato possibile controllare se esiste una versione più aggiornata di OnTopReplica. Verificare di essere connessi ad Internet. Se la connessione è attiva, è possibile che il sito ufficiale sia temporaneamente offline. + + + Modalità + + + Sempre in cima + + + OnTopReplica sarà sempre la finestra sopra a tutte le altre. + + + Click through + + + OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. + + + Normale + + + Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. + + + OnTopReplica a pieno schermo + + + Disattiva + + + Abilita modalità + + + Seleziona più finestre per attivare. + + + Modalità Gruppo attivata. + + + Modalità Gruppo di finestre: + + + Finestre + Column Header of list, simply refers to available windows to be cloned + + + Sito internet: www.codeplex.com/ontopreplica. + + + Attivare la modalità di inoltro dei clic? + + + In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano). + +Per uscire da questa modalità, usa il tasto ESC. + + + Inoltro dei clic + + + Attivare la modalità Click-Through? + + + La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. + + + In questa modalità la finestra clonata si comporterà come una maschera semitrasparente che permette di cliccare sulle finestre dietro di essa. + +Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). + + + No, grazie. +Puoi abilitare il Click-Through in futuro + + + Abilita Click-Through + + + Modalità Click-Through + + + OnTopReplica è stato aggiornato. + + + Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. + + + Aggiornamento completato + + + La versione più aggiornata è già installata. + + + Nessun aggiornamento disponibile + + + Lingua + + + A proposito di... + + + Nasconde la finestra principale e mostra una schermata di informazioni. + + + Avanzate + + + Bordo + + + Abilita o disabilita il bordo della finestra. + + + Inoltro dei clic + + + Attiva la modalità di "inoltro dei clic" alla finestra clonata. + + + Abilita Click-Through + + + OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa. + + + Chiudi + + + Termina OnTopReplica. + + + 2:1 Doppio + + + Tutto schermo + + + 1:2 Metà + + + 1:1 Clone esatto + + + 1:4 Quarto + + + Modalità Gruppo di finestre + + + OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo. + + + 100% (opaco) + + + Imposta OnTopReplica come finestra completamente opaca. + + + 25% + + + Imposta l'opacità di OnTopReplica al 25%. + + + 50% + + + Imposta l'opacità di OnTopReplica al 50%. + + + 75% + + + Imposta l'opacità di OnTopReplica al 75%. + + + Opacità + + + Apri + + + Attiva la finestra di OnTopReplica. + + + In basso a sinistra + + + In basso a destra + + + Centrato + + + Disabilitato + + + Blocco posizione + + + Posiziona automaticamente OnTopReplica sul monitor corrente. + + + In alto a sinistra + + + In alto a destra + + + Esci da tutto schermo + + + Ripristina posizione e grandezza + + + Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. + + + Minimizza + + + Riduce OnTopReplica ad un'icona nella barra delle applicazioni. + + + Seleziona regione... + + + Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. + + + Reimposta finestra + + + Reimposta OnTopReplica e la sua finestra principale. + + + Ridimensionamento + + + Ripristina ultima finestra + + + Se abilitato, all'avvio OnTopReplica tenterà di ripristinare l'ultima finestra precedentemente clonata. + + + Impostazioni... + + + Mostra il pannello delle impostazioni. + + + Vai alla finestra originale + + + Mostra la finestra originale e nasconde OnTopReplica. + + + Seleziona finestra + + + - nessuna - + + + Mostra una lista di finestre che è possibile clonare. + + + - intera - + + + Regione corrente: + + + Cancella + + + Chiudi + + + Altezza + + + Reset + + + Salva + + + Regioni memorizzate + + + Regioni: + + + Larghezza + + + Clic destro qui per iniziare... + + + Clona finestra corrente + + + Queste scorciatoie possono essere usate quando OnTopReplica non è attivo. + + + Nascondi + + + Scorciatoie: + + + Lingua: + + + Richiede un riavvio. + + + Impostazioni + + + Annulla aggiornamento +OnTopReplica si aggiornerà in un secondo momento. + + + Continua +Scarica OnTopReplica {0}. + + + Sarà possibile scaricare la nuova versione ed installarla. + + + Versione installata: {0} +Versione disponibile: {1} + + + Disponibile la versione {0} + + + Scaricati {0} byte su {1}. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Download in corso... + + + L'ultima versione di OnTopReplica è già installata. Il programma controllo automaticamente la presenza di aggiornamenti ad ogni avvio. + +Per tenersi aggiornati sullo sviluppo di OnTopReplica o suggerire miglioramenti, <a href="website">visitare il sito ufficiale</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Ultima versione stabile rilasciata il {0}. + {0} last version release date + + + OnTopReplica è aggiornato + + + Installa +OnTopReplica verrà chiuso e l'aggiornamento sarà installato. + + + La versione {0} di OnTopReplica è pronta ad essere installata sul tuo computer. + + + Aggiornamento pronto + + + Aggiornamenti di OnTopReplica + + + + Must not be localized. Leave blank in non-default languages. + + + + Can be left blank. + + + + Must not be localized. Leave blank in non-default languages. + + \ No newline at end of file diff --git a/OnTopReplica/Strings.no.resx b/OnTopReplica/Strings.no.resx new file mode 100644 index 0000000..3f04f24 --- /dev/null +++ b/OnTopReplica/Strings.no.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann. + Must not be localized. Leave blank in non-default languages. + + + Check now! + + + OnTopReplica automatically checks for updates at every start up. + + + Version {0} + + + + Probably doesn't need localization. :) + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + &Cancel + & marks the ALT+[] shortcut + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + + \ No newline at end of file diff --git a/OnTopReplica/Strings.pl.resx b/OnTopReplica/Strings.pl.resx new file mode 100644 index 0000000..bf277d9 --- /dev/null +++ b/OnTopReplica/Strings.pl.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Autor: %. + Link % is replaced by string AboutAuthorContent. + + + Przerwij proces aktualizacji. + + + Pokaż szczegóły dotyczące OnTopReplica. + + + Resetuj wszystkie ustawienia OnTopReplica. + + + Aktualizuj teraz OnTopReplica + + + Chcesz wesprzeć projekt? Możesz ulepszyć istniejące tłumaczenia, utworzyć nowe dla Twojego rodzimego języka lub sprawdzić % na CodePlex. + + + kod źródłowy + + + OnTopReplica jest oparty na bibliotece WindowsFormsAero oraz innych bibliotekach i kodzie źródłowym. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Przeczytaj więcej + + + Wsparcie + + + Zasługi + + + Licencja + + + Aktualizacje + + + Aplikacja jest licencjonowana na warunkach licencji %, która spełnia warunki definicji "open-source" definiowane przez OSI. + + + Miniatura "zawsze na wierzchu" pokazująca "na żywo" podgląd wybranego okna. + + + O programie OnTopReplica + + + Tłumaczenie: {0} + {0} translators (do not end with period) + + + Sprawdź teraz! + + + OnTopReplica automatycznie sprawdza dostępność aktualizacji po każdym uruchomieniu. + + + Wersja {0} + + + + Probably doesn't need localization. :) + + + Całkowicie zresetować okno? + + + &Zresetuj +Wszystkie ustawienia zostaną utracone. + + + Może być użyte do zresetowania ustawień, jeśli została utracona kontrola nad oknem, lub zostało ono przesunięte poza granice ekranu. + + + Zresetuj + + + Zresetować ustawienia? + + + Ta opcja usunie wszystkie ustawienia spersonalizowane OnTopReplica i przywróci program do stanu jak po instalacji (wszystkie zapisane ustawienia, jak regiony, zostaną utracone). + + + Zresetuj ustawienia + + + &Anuluj + & marks the ALT+[] shortcut + + + Utwórz region używając myszy. + + + Szczegóły + + + Szczegóły dot. Windows Aero + + + Windows Aero jest dostępne w wersji Windows Vista Home Premium i nowszych. + + + Kompozycje pulpitu są wyłączone. + + + Musisz włączyć kompozycje pulpitu wybierając 'Windows Aero' jako schemat używany przez Windows. + +Aby to uczynić kliknij prawym przyciskiem na pulpicie i wybierz 'Personalizuj'. + + + Szczegóły błędu + + + Błąd: + + + Wygląda na to, że wybrane okno zostało zamknięte lub nie jest już dostępne. + + + Błąd + + + Kompozycje pulpitu nie są wspierane przez Twój system operacyjny. +Aplikacja działa na Windows Vista Home Premium i nowszych. + + + Niewspierana kompozycja pulpitu + + + Nie załadowano miniatury. + + + Nie można utworzyć miniatury. + + + Nie można dopasować okna. + + + Nie można sprawdzić aktualizacji. + + + Wygląda na to, że OnTopReplica nie została zainstalowana przy użyciu 'ClickOnce'. Musisz ręcznie zaktualizować program (odwiedź <a href="http://ontopreplica.codeplex.com">stronę domową OnTopReplica's</a>). + + + Program OnTopReplica nie był w stanie sprawdzić, czy jest dostępna nowa wersja. Upewnij się, że Twoje połączenie z Internetem pracuje poprawnie. Jeśli tak, być może strona programu jest chwilowo niedostępna. + + + Tryb + + + Zawsze na wierzchu + + + Wymusza położenie okna OnTopReplica zawsze na wierzchu. + + + Kliknij-przez + + + OnTopReplica będzie się zachowywać jak półprzeźroczysta warstwa, co pozwoli Ci klikać na oknie położonym pod spodem. + + + Standardowe + + + Zachowanie jak normalne okno. Możesz przeciągnąć inne okna ponad OnTopReplica. + + + Pełny ekran OnTopReplica + + + Wyłącz + + + Włącz tryb grupowy + + + Wybierz kilka okien aby uaktywnić. + + + Tryb grupowy jest aktywny. + + + Tryb grupowy: + + + Okna + Column Header of list, simply refers to available windows to be cloned + + + Strona domowa: www.codeplex.com/ontopreplica. + + + Czy uaktywnić "przekazywanie kliknięć"? + + + Kiedy ten tryb jest aktywny, OnTopReplica będzie przekazywać kliknięcia przycisków myszy do okna, które jest klonowane (dzięki temu możesz wykonywać na tym oknie podstawowe operacje bez konieczności uaktywniania go). + +Naciśnij ESC aby zakończyć ten tryb. + + + Przekazywanie kliknięć + + + Włączyć tryb kliknij-przez? + + + Kliknij-przez działa tylko wtedy, gdy zostało włączone w podmenu 'Zmień rozmiar' i kiedy okno jest półprzeźroczyste. + + + W tym trybie okno na pełnym ekranie będzie się zachowywać jak półprzeźroczysta warstwa i będziesz w stanie kliknąć na oknie znajdującym się pod nim. + +Aby w dowolnym momencie powrócić do normalnego trybu aktywuj OnTopReplica klikając na pasku zadań (lub na ikonce w tacce systemowej). + + + Nie, dziękuję. +Możesz włączyć kliknij-przez później + + + Użyj kliknij-przez + + + Tryb kliknij-przez + + + Program OnTopReplica został zaktualizowany. + + + Aby używać zaktualizowanej wersji OnTopReplica musisz zrestartować aplikację. + + + Aktualizacja zakończona powodzeniem + + + Program OnTopReplica jest aktualny. + + + Brak dostępnych aktualizacji + + + Język + + + O... + + + Wyświetla informacje o programie. + + + Zaawansowane + + + Pokazuj ramkę okna + + + Przełącznik wyświetlania ramki okna. + + + Włącz przekazywanie kliknięć + + + Uaktywnia przekazywanie kliknięć do klonowanego okna. + + + Włącz kliknij-przez + + + OnTopReplica będzie się zachowywać jak półprzeźroczysta warstwa i będziesz w stanie kliknąć na oknie znajdującym się pod nim. + + + Zamknij + + + Zamyka OnTopReplica. + + + 2:1 Podwójny + + + Pełny ekran + + + 1:2 Połowa + + + 1:1 Rozmiar oryginalny + + + 1:4 Ćwiartka + + + Tryb grupowy + + + OnTopReplica automatycznie sklonuje okno ze zdefiniowanej przez użytkownika grupy przełączając na to, które było najwcześniej zdeaktywowane. + + + 100% (nieprzeźroczyste) + + + Ustawia OnTopReplica jako całkowicie nieprzeźroczyste. + + + 25% + + + Ustawia przeźroczystość OnTopReplica na 25%. + + + 50% + + + Ustawia przeźroczystość OnTopReplica na 50%. + + + 75% + + + Ustawia przeźroczystość OnTopReplica na 75%. + + + Przeźroczystość + + + Otwórz + + + Wyświetla OnTopReplica. + + + Dół Lewo + + + Dół Prawo + + + Środek + + + Wyłączone + + + Zablokuj pozycję + + + Automatycznie ustawia pozycję OnTopReplica na bieżącym ekranie. + + + Góra Lewo + + + Góra Prawo + + + Wyjdź z trybu pełnoekranowego + + + Zapamiętaj ostatnią pozycję i rozmiar + + + Wybierz, czy OnTopReplica powinien zapamiętać ostatnią pozycję i rozmiar i użyć ich ponownie przy kolejnym uruchomieniu. + + + Minimalizuj + + + Minimalizuje OnTopReplica do paska zadań (lub tacki systemowej). + + + Wybierz region... + + + Przełącza na "tryb regionu", w którym można zaznaczyć jako miniaturę określony obszar okna źródłowego. + + + Resetuj okno + + + Resetuje ustawienia OnTopReplica i okna głównego. + + + Zmień rozmiar + + + Przywróć ostatnio klonowane okno + + + Kiedy włączone, OnTopReplica będzie próbować podczas uruchomienia przywrócić ostatnio klonowane okno. + + + Ustawienia... + + + Wyświetla okno konfiguracji. + + + Przełącz na okno + + + Przełącza na okno źródłowe i ukrywa okno OnTopReplica. + + + Wybierz okno + + + - żadne - + + + Wyświetla listę okien, które możesz wybrać jako źródło miniatur. + + + - całe - + + + Bieżący region: + + + Usuń + + + Gotowe + + + Wysokość + + + Zresetuj + + + Zapisz + + + Zapisane regiony + + + Regiony: + + + Szerokość + + + Kliknij prawym tutaj aby rozpocząć... + + + Sklonuj bieżące okno + + + Skróty klawiszowe działają również wtedy, gdy okno OnTopReplica nie jest aktywne. + + + Pokaż/Ukryj + + + Klawisze skrótu: + + + Język: + + + Wymaga restartu. + + + Ustawienia + + + Anuluj aktualizację +OnTopReplica zapyta Cię przy następnym uruchomieniu. + + + Pobierz +Zainstaluj OnTopReplica {0}. + + + Nowa wersja może zostać pobrana i zainstalowana z oficjalnej strony programu. + + + Zainstalowana wersja: {0} +Dostępna wersja: {1} + + + Dostępna jest wersja {0} + + + pobrano {0}/{1} bajtów. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Pobieram... + + + Najnowsza wersja OnTopReplica jest już zainstalowana. Program automatycznie sprawdza dostępność aktualizacji po każdym uruchomieniu. + +Na <a href="website">oficjalnej stronie domowej</a> możesz znaleźć informacje o rozwoju OnTopReplica's oraz zaproponować nowe funkcje. + The website link should be enclosed in <a href="website"></a> tags. + + + Ostatnia wersja stabilna wydana {0}. + {0} last version release date + + + OnTopReplica jest aktualna + + + Zainstaluj +Aktualizacje zostaną zainstalowane po ponownym uruchomieniu OnTopReplica. + + + Wersja {0} OnTopReplica jest gotowa do zainstalowania. + + + Aktualizacja ukończona + + + Aktualizacje OnTopReplica + + + + Must not be localized. Leave blank in non-default languages. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + + Must not be localized. Leave blank in non-default languages. + + \ No newline at end of file diff --git a/OnTopReplica/Strings.pt-BR.resx b/OnTopReplica/Strings.pt-BR.resx new file mode 100644 index 0000000..6f4f6c9 --- /dev/null +++ b/OnTopReplica/Strings.pt-BR.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann. + Must not be localized. Leave blank in non-default languages. + + + Check now! + + + OnTopReplica automatically checks for updates at every start up. + + + Version {0} + + + OnTopReplica + Probably doesn't need localization. :) + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + &Cancel + & marks the ALT+[] shortcut + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + + \ No newline at end of file diff --git a/OnTopReplica/Strings.pt.resx b/OnTopReplica/Strings.pt.resx new file mode 100644 index 0000000..018dc88 --- /dev/null +++ b/OnTopReplica/Strings.pt.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + Check now! + + + OnTopReplica automatically checks for updates at every start up. + + + Version {0} + + + + Probably doesn't need localization. :) + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + &Cancel + & marks the ALT+[] shortcut + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx new file mode 100644 index 0000000..d778409 --- /dev/null +++ b/OnTopReplica/Strings.resx @@ -0,0 +1,673 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + Lorenz Cuno Klopfenstein + Must not be localized. Leave blank in non-default languages. + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann. + Must not be localized. Leave blank in non-default languages. + + + Check now! + + + OnTopReplica automatically checks for updates at every start up. + + + Version {0} + + + OnTopReplica + Probably doesn't need localization. :) + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + &Cancel + & marks the ALT+[] shortcut + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + + + Bottom + + + Left + + + Right + + + Top + + + X + + + Y + + \ No newline at end of file diff --git a/OnTopReplica/Strings.ru.resx b/OnTopReplica/Strings.ru.resx new file mode 100644 index 0000000..bb3d36d --- /dev/null +++ b/OnTopReplica/Strings.ru.resx @@ -0,0 +1,647 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Автор: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Остановить обновление + + + О программе + + + Установить настройки по умолчанию + + + Обновить программу + + + Хотите поддержать проект? Примите участие в улучшении готовых переводов, создайте свой на вашем родном языке или помогите улучшить % на «CodePlex». + + + источниках кода + + + Программа основана на библиотеке «WindowsFormsAero» и некоторых других библиотеках и источниках кода. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Прочитайте полные сведения об источниках + + + Принять участие в разработке + + + Сведения об источниках + + + Соглашение + + + Обновление + + + Программа выпущена в соответствии с лицензией %, которая подходит под определение программы с открытым исходом кодом в представлении OSI. + + + + Can be left blank. + + + Просмотр части выбранного вами окна — просто и легко, в реальном времени, всегда поверх остальных окон. + + + О программе + + + Переводчики: {0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + Обновить сейчас + + + Программа автоматически проверяет наличие обновлений при запуске + + + Версия {0} + + + + Probably doesn't need localization. :) + + + Сбросить окно? + + + &Сброс +Все настройки будут удалены. + + + Можно использовать для сброса всех настроек, если Вы утратили контроль над окном либо поместили его за пределы экрана. + + + Сброс + + + Сбросить настройки? + + + по умолчанию (вся сохраненная после установки информация вроде сохраненных областей будет утрачена). + + + Сбросить настройки + + + &Отмена + & marks the ALT+[] shortcut + + + Выберите области мышью + + + Подробности + + + Подробности о «Windows Aero» + + + Функция «Windows Aero» доступна только на системах «Windows», начиная с «Vista Home Premium», кроме версий «Starter» и «Home Basic» (по умолчанию). + + + Композиция слоев рабочего стола недоступна. + + + Для включения правой кнопкой мыши по рабочему столу и выберите «Персонализацию». + + + Описание ошибки + + + Ошибка: + + + Вероятно, выбранное окно было закрыто или больше не отвечает. + + + Ошибка + + + Для запуска программы требуется «Windows Vista Home Premium» или другие версии «Windows» с поддержкой «Aero». + + + Композиция слоев рабочего стола не поддерживается. + + + Окно просмотра не загружено. + + + Невозможно создать окно просмотра. + + + Невозможно уместить в окне. + + + Невозможно проверить обновления. + + + Вероятно, программа была установлена с использованием функции «ClickOnce». Вам необходимо обновить ее самостоятельно. (Посетите <a href="http://ontopreplica.codeplex.com"> домашнюю страницу программы</a>). + + + Программе не удалось проверить доступность новой версии. Удостоверьтесь, что подключение к Интернету присутствует. Если присутствует, сайт может временно не работать. + + + Режим + + + Всегда поверх других окон + + + Всегда удерживать программу поверх других окон. + + + Пропускать щелчки мышью + + + Программа будет работать, как прозрачный слой, позволяющий щелкать мышью по нижележащим окнам. + + + Обычный + + + Программа будет работать, как обычное окно. Вы сможете помещать другие окна поверх окна программы. + + + Полноэкранный режим + + + Отключить + + + Включить групповой режим + + + Для включения выберите несколько окон. + + + Групповой режим включен. + + + Групповой режим: + + + Окна + Column Header of list, simply refers to available windows to be cloned + + + Домашняя страница: www.codeplex.com/ontopreplica. + + + Хотите включить передачу щелчков мышью главному окну? + + + Нажать Esc для выхода из этого режима. + There appears to be a missing part. + + + Передача щелчков мышью главному окну. + This appears to be wrong. + + + Включить режим сквозных щелчков мышью? + + + Режим сквозных щелчков мышью работает, только когда он включен в подменю «Изменить размер» и окно полупрозрачно. + + + Для возвращения в обычный режим в любое время, разверните программу щелчком по ней в панели задач (или лотке). + + + Нет, спасибо +Вы можете включить сквозные щелчки мышью в другой раз. + + + Использовать сквозные щелчки мышью + + + Режим сквозных щелчков мышью + + + Программа обновлена. + + + Для использования обновленной версии программы ее необходимо перезапустить. + + + Обновление успешно + + + Используется последняя версия программы. + + + Обновлений нет + + + Язык + + + О программе... + + + Сворачивает главное окно и показывает окно «О программе». + + + Дополнительно + + + Показывать границу окна + + + Изменяет видимость границы окна. + + + Включить передачу щелчков мышью главному окну + + + Включить передачу щелчков мышью скопированному окну. + + + Включить сквозные щелчки мышью + + + Программа будет работать, как прозрачный слой, позволяющий щелкать мышью по нижележащим окнам. + + + Закрыть + + + Закрыть программу. + + + 2:1 Двойной + + + Полноэкранный режим + + + 1:2 Половина + + + 1:1 По размерам окна + + + 1:4 Четверть + + + Групповой режим + + + Программа автоматически скопирует окно из группы, определенной пользователем, переключаясь на то, которое побывало на переднем плане первым из всех. + Fixed + + + 100% (непрозрачный) + + + Делает программу полностью непрозрачной. + + + 25% + + + Делает программу прозрачной на 25%. + + + 50% + + + Делает программу прозрачной на 50%. + + + 75% + + + Делает программу прозрачной на 75%. + + + Прозрачность + + + Открыть + + + Показывает программу. + + + Снизу слева + + + Снизу справа + + + В центре + + + Отключено + + + Закрепить положение + + + Автоматически разместить программу на текущем экране. + + + Сверху слева + + + Сверху справа + + + Выйти из полноэкранного режима + + + Использовать последнее положение и размер + + + Сохранение программой своего последнего положения и размера с их использованием при запуске. + + + Свернуть + + + Сворачивает программу в панель задач (или лоток). + + + Выбрать область... + + + Переключается в «режим области», позволяющий выбирать для показа ограниченную область исходного окна. + + + Сбросить окно + + + Сбрасывает настройки программы и ее главное окно. + + + Изменить размер + + + Восстанавливать последнее копированное окно + + + Если включено, программа попытается при запуске восстановить окно, скопированное последним. + + + Настройки... + + + Показывает панель настроек. + + + Переключиться на окно + + + Переключается на исходное окно и скрывает программу. + + + Выбрать окно + + + - пусто - + + + Показывает список окон, которые можно выбрать в качестве источников для копирования. + + + - полностью - + + + Выбранная область: + + + Удалить + + + Готово + + + Высота + + + Сбросить + + + Сохранить + + + Сохраненные области + + + Области: + + + Ширина + + + Для начала щелкните тут правой кнопкой мыши... + + + Скопировать текущее окно + + + Эти глобальные сочетания клавиш можно использовать также когда программа на заднем плане. + + + Показать/Скрыть + + + Сочетания клавиш: + + + Язык: + + + Требуется перезапуск. + + + Настройки + + + Отменить обновление +Программа уведомит Вас об обновлении при следующем запуске. + + + Скачать +Установить программу «OnTopReplica» {0}. + + + Новую версию можно скачать и установить с официального сайта. + + + Установленная версия: {0}. +Доступная версия: {0}. + + + Доступна версия {0} + + + Скачано {0} из {1} + {0} downloaded bytes {1} total bytes + + + Загрузка... + + + Установлена последняя версия программы «OnTopReplica». Программа автоматически проверяет обновления при каждом запуске. + +Вы можете следить за обновлениями программы, предлагать улучшения и новые функции на <a href="website">сайте программы </a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Последняя стабильная версия выпущена {0}. + {0} last version release date + + + Вы пользуетесь последней версией программы + + + Установить +Программа будет закрыта для установки обновления. + + + «OnTopReplica» (версия {0}) готова к установке на вашем компьютере. + + + Обновление готово + + + Программа обновляется + + \ No newline at end of file diff --git a/OnTopReplica/Strings.tr.resx b/OnTopReplica/Strings.tr.resx new file mode 100644 index 0000000..aad4cfb --- /dev/null +++ b/OnTopReplica/Strings.tr.resx @@ -0,0 +1,652 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Yazar Hakkında: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Güncellemeyi iptal et. + + + OnTopRelica hakkında ayrıntıları görüntüle. + + + Bütün OnTopRelica ayarlarını sıfırla. + + + OnTopRelica'yı güncelle. + + + Programa katkıda bulunmak ister misiniz? Mevcut çevirileri geliştirmenizi memnuniyetle karşılarız, programı kendi dilinize çevirin veya %'e CodePlex'ten bir göz atın. + + + kaynak kod + + + OnTopReplica'nın temelinde WindowsFormsAero kütüphanesi ve bazı diğer kütüphaneler ile kaynak kodları vardır. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Tüm Yapımcıları Gör + + + Katkı + + + Yapımcılar + + + Lisans + + + Güncellemeler + + + Bu uygulama OSI tarafından belirtilmiş "açık-kaynak" tanımının koşullarını yerine getiren % lisansı tarafından lisanslanmıştır. + + + + Can be left blank. + + + Seçtiğiniz pencerenin hafif, gerçek zamanlı ve her zaman en üstteki küçük resmi. + + + OnTopReplica hakkında + + + Çevirmenler: {0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + Kontrol Et! + + + OnTopReplica her başlangıçta güncellemeleri otomatik olarak kontrol eder. + + + Versiyon {0} + + + OnTopReplica + Probably doesn't need localization. :) + + + Pencereyi tamamen yeniden ayarla? + + + &Reset +Bütün ayarlar kaybolacak. + + + Eğer pencere üzerindeki denetimizi kaybettiyseniz veya pencere ekran sınırları dışına çıktı ise kullanılabilir. + + + Sıfırla + + + Ayarları sıfırla? + + + Bu OnTopReplica'nın bütün ayarlarını silip, yüklemeden hemen sonraki haline geri döndürecektir (bütün kaydedilen bilgi, saklı bölgeler kaybolacaktır). + + + Ayarları sıfırla + + + &Vazgeç + & marks the ALT+[] shortcut + + + Farenizi kullarak bölgeler çizin. + + + Ayrıntılar + + + Windows Aero'da ki ayrıntılar + + + Windows Aero sadece Windows Vista Home Premium veya daha yüksek sürümlerde bulunmaktadır. + + + Masaüstü bileşimi aktif değil. + + + Windows tarafından kullanılan 'Windows Aero'yu tema olarak seçerek masaüstü bileşimini aktif etmelisiniz. + +Bunu yapmak için, masaüstüne sağ tıklayın ve Kişiselleştir'e tıklayın. + + + Hata detayları + + + Hata: + + + Seçtiğiniz pencere kapatılmış veya artık geçerli değil gibi görünüyor. + + + Hata + + + Masaüstü bileşimi İşletim Sisteminiz tarafından desteklenmiyor. +Bu programı Windows Vista Home Premium veya daha iyisinde çalıştırmalısınız. + + + Masaüstü Bileşimi Desteklenmiyor + + + Hiçbir küçükresim yüklenmedi. + + + Küçükresim yaratılamıyor + + + Pencereye oturtulamıyor. + + + Güncellemeler kontrol edilemiyor. + + + OnTopReplica 'ClickOnce' kullanılara yüklenmemiş gözüküyor. Elle güncellemeniz gerek (<a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>'i ziyaret edin). + + + OnTopReplica güncellenmiş bir versiyonun mevcut olup olmadığını denetleyemiyor. İnternete bağlı olduğunuzdan emin olun. Eğer bağlı iseniz websitesi geçici olarak servis dışı olabilir. + + + Mod + + + Her zaman üstte + + + OnTopReplica'nın her zaman en üstte kalması için zorlar. + + + Tıkla + + + OnTopReplica arkadaki pencerelere direkt tıklamanıza izin veren transparan bir kaplama gibi davranır. + + + Standart + + + Normal bir pencere gibi davranır. Diğer pencereleri OnTopReplica'nın üstüne getirebilirsiniz. + + + OnTopReplica tam ekran + + + Etkisizleştir + + + Grup modu etkinleştir + + + Etkinleştirilecek çoklu pencereleri seçiniz. + + + Grup değiştirme modu etkin. + + + Grup değiştirme modu: + + + Pencereler + Column Header of list, simply refers to available windows to be cloned + + + Anasayfa: www.codeplex.com/ontopreplica. + + + "tıkla yönlendir"'i etkinleştirmek ister misiniz? + Should be capitalized? + + + Eğer bu mod etkinleştirilmiş ise, OnTopReplica bütün sol fare tıklamalarını klonlanmış pencereye iletecektir(bu size klonlanmış pencere üzerinde onu aktifleştirmeden temel fare işlemlerinizi yapabilmenize izin verir). + +Bu moddan çıkmak için, ESC'ye basınız. + + + Tıkla yönlendir + + + Direkt-Tıkla modunu etkinleştir? + + + Direk-tıkla sadece Yeniden boyutlandır altmenüsünde etkinleştirildiyse ve pencere yarı-transparan ise çalışır. + + + Bu modda tamekran pencere kısmen transparan kaplama gibi davranır, arkasındaki pencerelere tıklamanıza izin verir. + +Herhangi bir zamanda normal moda dönmek için, OnTopReplica görev çubuğuna (veya sistem simgesine) tıklayarak aktifleştirin. + + + Hayır, teşekkür ederim +direkt-tıklayı daha sonra etkinleştirebilirsiniz. + Second sentence capitalized? + + + Direkt-Tıkla kullan + + + Direkt-Tıkla modu + + + OnTopReplica güncellendi. + + + OnTopReplica'nın güncellenmiş versiyonunu kullanmak için uygulamayı yeniden başlatmalısınız. + + + Güncelleme başarılı + + + OnTopReplica güncel. + + + Güncelleme mevcut değil + + + Dil + + + Hakkında... + + + Ana pencereyi gizler ve "hakkında" kutusunu gösterir. + + + Gelişmiş + + + Pencere kenarlığı göster + + + Pencere kenarlığı gösterimini değiştirir. + + + Tıkla yönlendir'i etkinleştir + + + Klonlanmış pencerede "tıkla yönlendir"'i etkinleştir. + + + Direkt-Tıkla'yı etkinleştir + + + OnTopReplica arkadaki pencerelere direkt tıklamanıza izin veren transparan bir kaplama gibi davranır. + + + Kapat + + + OnTopReplica'yı kapatır. + + + 2:1 Çift + + + Tamekran + + + 1:2 Yarım + + + 1:1 pencereye sığdır + + + 1:4 Çeyrek + + + Grup Değiştirme modu + + + OnTopReplica kullanıcı tanımlı gruptan bir pencereyi kopyalayıp, arkaplanda en son aktifleştirilen biri ile değiştirecektir. + + + 100% (opak) + + + OnTopReplica'yı tamamen opak olarak ayarlar. + + + 25% + + + OnTopReplica'yı 25% opaklığına ayarlar. + + + 50% + + + OnTopReplica'yı 50% opaklığına ayarlar. + + + 75% + + + OnTopReplica'yı 75% opaklığına ayarlar. + + + Opaklık + + + + + + OnTopReplica'yı görüntüler. + + + Sol Alt + + + Sağ Alt + + + Merkez + + + Devredışı + + + Konum kilidi + + + OnTopReplica'yı otomatik olarak şu anki ekrana konumlandırır. + + + Sol Üst + + + Sağ Üst + + + Tamekran modundan çık + + + Son pozisyona dön ve boyutlandır + + + OnTopReplica'nın son konumunu kaydedip kaydetmeyeceğini değiştirir ve boyutlandırıp bunu yeniden başladığında kullanır. + + + Küçült + + + OnTopReplica'yı görev çubuğuna (veya sistem kısayollarına) küçültür. + + + Bölge seçiniz... + + + "bölge modu"na geçer, bu size kaynak penceresinin küçük resminin kısıtlı bir bölgesini seçmenize izin verir. + + + Pencereyi sıfırla + + + OnTopReplica'nın ayarlarını ve ana penceresini sıfırlar. + + + Yeniden boyutlandır + + + Son klonlanan pencereyi geri yükle + + + Etkinleştirildiği zaman, OnTopReplica son klonlanan pencereyi başlangıçta yeniden yüklemeye çalışır. + + + Ayarlar... + + + Ayarlar panelini görüntüler. + + + Pencereye geç + + + Kaynak pencereye geçer ve OnTopReplica'yı gizler. + + + Pencere seç + + + - yok - + + + Küçük resim kaynağı halinde seçebileceğiniz pencere listesini görüntüler. + + + - tamamen - + + + Şu anki bölge: + + + Sil + + + Tamamlandı + + + Yükseklik + + + Sıfırla + + + Kaydet + + + Kayıtlı bölgeler + + + Bölgeler: + + + Genişlik + + + Başlamak için buraya sağ tıklayın... + + + Şu anki pencereyi klonla + + + Bu sistem genelinde kısayollar ayrıca OnTopReplica üstte olmadığı zaman kullanılabilir. + + + Göster/Gizle + + + Kısayollar: + + + Dil: + + + Yeniden başlatma gerektirir. + + + Ayarlar + + + Güncellemeden vazgeç +OnTopReplica sizi yeniden başlatıldığında uyaracaktır. + + + İndir +OnTopReplica {0} Yükle. + + + Yeni versiyon resmi siteden indirilebilir ve yüklenebilir. + + + Yüklü versiyon: {0}. +Kullanılabilir versiyon: {1}. + + + Versiyon {0} mevcut + + + {0}/{1} byte indirildi. + + + İndiriliyor... + + + OnTopReplica'nın en son sürümü zaten yüklenmiş. Program her başlangıçta güncellemeleri otomatik olarak denetler. + +OnTopReplica'nın geliştirilmesi, yeni özellik ve geliştirme önerileri hakkında by <a href="website">resmi internet sitesini ziyaret ederek</a> güncel kalabilirsiniz. + The website link should be enclosed in <a href="website"></a> tags. + + + En son kararlı versiyon {0} tarihinde yayınlandı. + {0} last version release date + + + OnTopReplica güncel + + + Yükle +OnTopReplica kapatılınca güncelleme yüklenmiş olacaktır. + + + OnTopReplica versiyon {0} bilgisayarınızda yüklenmeye hazır. + + + Güncelleme hazır + + + OnTopReplica güncellemeleri + + \ No newline at end of file diff --git a/OnTopReplica/Strings.zh-Hans.resx b/OnTopReplica/Strings.zh-Hans.resx new file mode 100644 index 0000000..b68ff04 --- /dev/null +++ b/OnTopReplica/Strings.zh-Hans.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 作者 % + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + 终止更新过程 + + + 展开关于OnTopReplica的详细内容 + + + 重置OnTopReplica的所有设定 + + + 现在更新OnTopReplica + + + 想为本项目出一份力吗?欢迎你参与到翻译工作中来,抑或检视从CodePlex处取得的 % + + + 源代码 + + + OnTopReplica基于WindowsFormsAero库和其他库及代码。% + Link % is replaced by string AboutCreditsSourcesContent. + + + 了解全部 + + + 贡献 + + + 制作 + + + 授权 + + + 更新 + + + 应用程序根据%许可获得授权,即指遵循OSI界定的“开源”条款 + + + 微软互惠授权(MS-RL) + Can be left blank. + + + 一个轻量级、实时、窗口缩略图置顶工具 + + + 关于OnTopReplica + + + 译者:{0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + 检查更新! + + + OnTopReplica自动在每次开启时检查更新 + + + 版本{0} + + + + Probably doesn't need localization. :) + + + 完全重置窗口吗? + + + &重置 +所有设定均会丢失 + + + 可以在没辙的时候用来重置所有设定 + + + 重置 + + + 重置设定吗? + + + 这将清除所有OnTopReplica的设定,并回到刚安装完的状态(所有保存的信息、保存的选区,均会丢失) + + + 重置设定 + + + &取消 + & marks the ALT+[] shortcut + + + 使用鼠标划出区域 + + + 详细信息 + + + Windows Aero的详细信息 + + + 为什么Windows Aero特效只在Windows Vista Home Premium或更高级版本中出现 + + + 未启用桌面组合 + + + 程序需要系统的Aero主题配合 + +桌面右击,个性化,选择主题 + + + 详细错误 + + + 错误: + + + 选中的窗口似乎已经关闭或已失效 + + + 错误 + + + 您的操作系统不支持桌面组合 +请在Windows Vista Home Premium或更高版本中运行 + + + 不支持桌面组合 + + + 无缩略图可加载 + + + 无法创建缩略图 + + + 无法适应窗口 + + + 无法检查更新 + + + OnTopReplica不是用“ClickOnce”方式安装的。您不得不手动更新了(访问 <a href="http://ontopreplica.codeplex.com">OnTopReplica的主页</a>) + + + OnTopReplica无法检测更新,请确保已连接到互联网。当然,也有可能是网站暂时关闭 + + + 模式 + + + 总是置顶 + + + 强制OnTopReplica置顶 + + + 点击穿过 + + + OnTopReplica会像一个透明的覆盖层并允许您点击其后面的窗口 + + + 标准模式 + + + 变回普通窗口,OnTopReplica会被其他窗口阻挡 + + + OnTopReplica全屏幕 + + + 取消 + + + 激活组模式 + + + 选择多个窗口以启用 + + + 自切换组模式已激活 + + + 自切换组模式: + + + 窗口 + Column Header of list, simply refers to available windows to be cloned + + + 主页:www.codeplex.com/ontopreplica + + + 您想启用“点击转发”吗? + + + 如果启用此模式,OnTopReplica会将所有鼠标点击转发到被克隆的窗口上(这将允许您绕过窗口激活直接对被克隆的窗口做一些基本的鼠标操作) + +想退出此模式,按ESC + + + 点击转发 + + + 启用点击穿过模式吗? + + + 点击穿过功能仅在缩放启用或窗口半透明的状态下方能工作 + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + 不了,谢谢 +等下再启用点击穿过 + + + 使用点击穿过 + + + 点击穿过模式 + + + OnTopReplica已更新 + + + 为能使用新版OnTopReplica,您必须重新启动本程序 + + + 更新成功 + + + OnTopReplica是最新的 + + + 没有可用的更新 + + + 语言 + + + 关于... + + + 隐藏著窗口,并显示“关于”对话框 + + + 高级 + + + 显示窗口边框 + + + 切换显示窗口边框 + + + 启用点击转发 + + + 对被克隆的窗口启用“点击转发” + + + 启用点击穿过 + + + OnTopReplica会像一个透明的覆盖层并允许您点击其后面的窗口 + + + 退出 + + + 关闭OnTopReplica + + + 200% + + + 全屏 + + + 50% + + + 100% + + + 25% + + + 自切换组模式 + + + OnTopReplica会自动定位到自切换组中最不活跃的那个程序,并克隆其窗口 + + + 100% + + + 把OnTopReplica设为完全不透明状态 + + + 25% + + + 把OnTopReplica的不透明度设为25% + + + 50% + + + 把OnTopReplica的不透明度设为50% + + + 75% + + + 把OnTopReplica的不透明度设为75% + + + 不透明度 + + + 打开 + + + 显示OnTopReplica + + + 左下 + + + 右下 + + + 中央 + + + 取消 + + + 锁定位置 + + + 自动在当前屏幕定位OnTopReplica + + + 左上 + + + 右上 + + + 退出全屏模式 + + + 记忆窗口大小和位置 + + + 选择是否记忆窗口大小和位置,并在下次运行时恢复 + + + 最小化 + + + 最小化到任务栏上 + + + 选择区域... + + + 截取部分窗口内容 + + + 重置窗口 + + + 重置OnTopReplica的设定及其主窗口 + + + 缩放 + + + 恢复上次克隆的窗口 + + + 激活此项,程序开启时将尝试恢复最后克隆的窗口 + + + 设置... + + + 显示设置面板 + + + 切换到窗口 + + + 切换到源窗口并隐藏OnTopReplica + + + 选取窗口 + + + - 无 - + + + 显示窗口列表以选择缩略图来源 + + + - 全部 - + + + 当前选区: + + + 删除 + + + 完成 + + + 高度 + + + 重来 + + + 保存 + + + 保存选区 + + + 选区: + + + 宽度 + + + 点击右键以开始... + + + 克隆当前窗口 + + + 全局快捷键,前后台运行均会响应 + + + 显示/隐藏 + + + 快捷键: + + + 语言: + + + 需要重启本程序 + + + 设置 + + + 取消更新 +OnTopReplica会在下次开启的时候提示更新 + + + 下载 +安装OnTopReplica{0} + + + 可以从官网上下载和安装程序的最新版 + + + 安装的版本:{0} +可用的版本:{1} + + + 版本{0}可用 + + + 下载了{0}/{1}字节 + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + 下载中... + + + 已安装最新版的OnTopReplica,程序每次开启都会自动检查更新。 + +你可以<a href="website">访问官网</a>来了解OnTopReplica的最新进展并提出自己的建议 + The website link should be enclosed in <a href="website"></a> tags. + + + 最新稳定版于{0}释出 + {0} last version release date + + + OnTopReplica是最新的 + + + 安装 +OnTopReplica将被关闭以安装更新 + + + 版本{0}的OnTopReplica已经准备在你电脑上安装 + + + 准备更新 + + + OnTopReplica更新 + + \ No newline at end of file diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs new file mode 100644 index 0000000..bd0b81d --- /dev/null +++ b/OnTopReplica/ThumbnailPanel.cs @@ -0,0 +1,484 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using WindowsFormsAero.Dwm; +using WindowsFormsAero.ThemeText; +using System.Drawing; +using System.Windows.Forms.VisualStyles; +using OnTopReplica.Native; + +namespace OnTopReplica { + + class ThumbnailPanel : Panel { + + //DWM Thumbnail stuff + Thumbnail _thumbnail = null; + + //Labels + ThemedLabel _labelGlass; + + public ThumbnailPanel() { + InitFormComponents(); + } + + private void InitFormComponents() { + BackColor = Color.Black; + + //Themed Label + _labelGlass = new ThemedLabel { + Dock = DockStyle.Fill, + ForeColor = SystemColors.ControlText, + Location = Point.Empty, + Size = ClientSize, + Name = "labelGlass", + Text = Strings.RightClick, + TextAlign = HorizontalAlignment.Center, + TextAlignVertical = VerticalAlignment.Center + }; + this.Controls.Add(_labelGlass); + } + + #region Properties and settings + + ThumbnailRegion _currentRegion; + + /// + /// Gets or sets the region that is currently shown on the thumbnail. When set, also enables region constrain. + /// + public ThumbnailRegion SelectedRegion { + get { + return _currentRegion; + } + set { + _currentRegion = value; + _regionEnabled = (value != null); + UpdateThubmnail(); + } + } + + bool _regionEnabled = false; + + /// + /// Gets or sets whether the thumbnail is constrained to a region or not. + /// + public bool ConstrainToRegion { + get { + return _regionEnabled; + } + set { + if (_regionEnabled != value) { + _regionEnabled = value; + UpdateThubmnail(); + } + } + } + + bool _drawMouseRegions = false; + + /// + /// Gets or sets whether the control is is "region drawing" mode and reports them via events. + /// + public bool DrawMouseRegions { + get { + return _drawMouseRegions; + } + set { + //Set mode and reset region + _drawMouseRegions = value; + _drawingRegion = false; + + //Cursor change + Cursor = (value) ? Cursors.Cross : Cursors.Default; + + //Refresh gui + UpdateThubmnail(); + _labelGlass.Visible = !value; + this.Invalidate(); + } + } + + /// + /// Gets the target opacity of the thumbnail, depending on the control's state. + /// + protected byte ThumbnailOpacity { + get { + return (_drawMouseRegions) ? (byte)130 : (byte)255; + } + } + + /// + /// Gets or sets whether the control should report clicks made on the cloned thumbnail. + /// + public bool ReportThumbnailClicks { + get; + set; + } + + /// + /// Gets the thumbnail's size (in effectively thumbnailed pixels). + /// + /// + /// This size varies if the thumbnail has been cropped to a region. + /// + public Size ThumbnailPixelSize { + get { + if (_thumbnail != null && !_thumbnail.IsInvalid) { + if (_regionEnabled) { + return _currentRegion.ComputeRegionSize(_thumbnail.SourceSize); + } + else { + //Thumbnail is not cropped, return full thumbnail source size + return _thumbnail.SourceSize; + } + } + else { +#if DEBUG + throw new InvalidOperationException(Strings.ErrorNoThumbnail); +#else + return Size.Empty; +#endif + } + } + } + + /// + /// Gets the thumbnailed window's original size. + /// + /// + /// This size is not influenced by the region cropping applied to the thumbnail. + /// + public Size ThumbnailOriginalSize { + get { + if (_thumbnail != null && !_thumbnail.IsInvalid) { + return _thumbnail.SourceSize; + } + else { +#if DEBUG + throw new InvalidOperationException(Strings.ErrorNoThumbnail); +#else + return Size.Empty; +#endif + } + } + } + + #endregion + + #region GUI event handling + + protected override void OnResize(EventArgs eventargs) { + base.OnResize(eventargs); + UpdateThubmnail(); + } + + protected override void WndProc(ref Message m) { + base.WndProc(ref m); + + //Check whether this is a hit-test on "client" surface + if (m.Msg == WM.NCHITTEST && m.Result.ToInt32() == HT.CLIENT) { + //Check whether clicks must be reported + if(!DrawMouseRegions && !ReportThumbnailClicks /*&& !InputMethods.IsKeyPressed(VirtualKeyState.VK_SHIFT)*/){ + m.Result = new IntPtr(HT.TRANSPARENT); + } + } + } + + #endregion + + #region Thumbnail interface + + /// + /// Creates a new thumbnail of a certain window. + /// + /// Handle of the window to clone. + /// Optional region. + public void SetThumbnailHandle(WindowHandle handle, ThumbnailRegion region) { + System.Diagnostics.Trace.WriteLine(string.Format("Setting thumbnail to handle {0}, with region {1}.", handle, region), "ThumbnailPanel"); + + if (_thumbnail != null && !_thumbnail.IsInvalid) { + _thumbnail.Close(); + _thumbnail = null; + } + + //Get form and register thumbnail on it + Form owner = this.TopLevelControl as Form; + if(owner == null) + throw new Exception("Internal error: ThumbnailPanel.TopLevelControl is not a Form."); + + _labelGlass.Visible = false; + + //Register new thumbnail, disable regioning directly and refresh + _thumbnail = DwmManager.Register(owner, handle.Handle); + _currentRegion = region; + _regionEnabled = (region != null); + UpdateThubmnail(); + } + + /// + /// Disposes current thumbnail and enters stand-by mode. + /// + public void UnsetThumbnail() { + System.Diagnostics.Trace.WriteLine("Unsetting thumbnail."); + + if (_thumbnail != null && !_thumbnail.IsInvalid) { + _thumbnail.Close(); + } + + _thumbnail = null; + _labelGlass.Visible = true; + } + + /// + /// Gets whether the control is currently displaying a thumbnail. + /// + public bool IsShowingThumbnail { + get { + return (_thumbnail != null && !_thumbnail.IsInvalid); + } + } + + int _padWidth = 0; + int _padHeight = 0; + Size _thumbnailSize; + + /// + /// Updates the thumbnail options and the right-click label. + /// + private void UpdateThubmnail() { + if (_thumbnail != null && !_thumbnail.IsInvalid){ + try { + //Get thumbnail size and attempt to fit to control, with padding + Size sourceSize = ThumbnailPixelSize; + _thumbnailSize = sourceSize.Fit(Size); + _padWidth = (Size.Width - _thumbnailSize.Width) / 2; + _padHeight = (Size.Height - _thumbnailSize.Height) / 2; + + System.Diagnostics.Debug.WriteLine("Fitting {0} inside {1} as {2}. Padding {3},{4}.", sourceSize, Size, _thumbnailSize, _padWidth, _padHeight); + + var target = new Rectangle(_padWidth, _padHeight, _thumbnailSize.Width, _thumbnailSize.Height); + Rectangle source = (_regionEnabled) ? _currentRegion.ComputeRegionRectangle(_thumbnail.SourceSize) : new Rectangle(Point.Empty, _thumbnail.SourceSize); + + _thumbnail.Update(target, source, ThumbnailOpacity, true, true); + } + catch { + //Any error updating the thumbnail forces to unset (handle may not be valid anymore) + UnsetThumbnail(); + return; + } + } + } + + #endregion + + #region Region drawing + + const int MinimumRegionSize = 1; + + //Set if currently drawing a window (first click/drag was initiated) + bool _drawingRegion = false; + //Set if drawing was suspended because the mouse left the control + bool _drawingSuspended = false; + Point _regionStartPoint; + Point _regionLastPoint; + + public delegate void RegionDrawnHandler(object sender, ThumbnailRegion region); + + public event RegionDrawnHandler RegionDrawn; + + protected virtual void OnRegionDrawn(Rectangle region) { + //Fix region if necessary (bug report by Gunter, via comment) + if (region.Width < MinimumRegionSize) + region.Width = MinimumRegionSize; + if (region.Height < MinimumRegionSize) + region.Height = MinimumRegionSize; + + var evt = RegionDrawn; + if (evt != null) + evt(this, new ThumbnailRegion(region)); + } + + /// + /// Raises a RegionDrawn event, given a starting and an ending point of the drawn region. + /// + protected void RaiseRegionDrawn(Point start, Point end) { + if (_thumbnailSize.Width < 1 || _thumbnailSize.Height < 1) //causes DivBy0 + return; + + //Compute bounds and clip to boundaries + int left = Math.Min(start.X, end.X); + int right = Math.Max(start.X, end.X); + int top = Math.Min(start.Y, end.Y); + int bottom = Math.Max(start.Y, end.Y); + + //Clip to boundaries + left = Math.Max(0, left); + right = Math.Min(_thumbnailSize.Width, right); + top = Math.Max(0, top); + bottom = Math.Min(_thumbnailSize.Height, bottom); + + //Compute region rectangle in thumbnail coordinates + var startPoint = ClientToThumbnail(new Point(left, top)); + var endPoint = ClientToThumbnail(new Point(right, bottom)); + var final = new Rectangle( + startPoint.X, + startPoint.Y, + endPoint.X - startPoint.X, + endPoint.Y - startPoint.Y + ); + + System.Diagnostics.Trace.WriteLine(string.Format("Drawn from {0} to {1}, as region {2}.", start, end, final)); + + //Signal + OnRegionDrawn(final); + } + + protected override void OnMouseDown(MouseEventArgs e) { + if (DrawMouseRegions && e.Button == MouseButtons.Left) { + //Start new region drawing + _drawingRegion = true; + _drawingSuspended = false; + _regionStartPoint = _regionLastPoint = e.Location; + + this.Invalidate(); + } + + base.OnMouseDown(e); + } + + protected override void OnMouseUp(MouseEventArgs e) { + if (DrawMouseRegions && e.Button == MouseButtons.Left) { + //Region completed + _drawingRegion = false; + _drawingSuspended = false; + RaiseRegionDrawn(_regionStartPoint, _regionLastPoint); + + this.Invalidate(); + } + + base.OnMouseUp(e); + } + + protected override void OnMouseLeave(EventArgs e) { + _drawingSuspended = true; + + this.Invalidate(); + + base.OnMouseLeave(e); + } + + protected override void OnMouseEnter(EventArgs e) { + _drawingSuspended = false; + + this.Invalidate(); + + base.OnMouseEnter(e); + } + + protected override void OnMouseMove(MouseEventArgs e) { + if (_drawingRegion && e.Button == MouseButtons.Left) { + //Continue drawing + _regionLastPoint = e.Location; + + this.Invalidate(); + } + else if(DrawMouseRegions && !_drawingRegion){ + //Keep track of region start point + _regionLastPoint = e.Location; + + this.Invalidate(); + } + + base.OnMouseMove(e); + } + + readonly static Pen RedPen = new Pen(Color.FromArgb(255, Color.Red), 1.5f); //TODO: check width + + protected override void OnPaint(PaintEventArgs e) { + if (_drawingRegion) { + //Is currently drawing, show rectangle + int left = Math.Min(_regionStartPoint.X, _regionLastPoint.X); + int right = Math.Max(_regionStartPoint.X, _regionLastPoint.X); + int top = Math.Min(_regionStartPoint.Y, _regionLastPoint.Y); + int bottom = Math.Max(_regionStartPoint.Y, _regionLastPoint.Y); + + e.Graphics.DrawRectangle(RedPen, left, top, right - left, bottom - top); + } + else if (DrawMouseRegions && ! _drawingSuspended) { + //Show cursor coordinates + e.Graphics.DrawLine(RedPen, new Point(0, _regionLastPoint.Y), new Point(ClientSize.Width, _regionLastPoint.Y)); + e.Graphics.DrawLine(RedPen, new Point(_regionLastPoint.X, 0), new Point(_regionLastPoint.X, ClientSize.Height)); + } + + base.OnPaint(e); + } + + #endregion + + #region Thumbnail clone click + + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); + + if (_thumbnail == null) + return; + + //Raise clicking event to allow click forwarding + if (ReportThumbnailClicks) { + OnCloneClick(ClientToThumbnail(e.Location), e.Button, false); + } + } + + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); + + if (_thumbnail == null) + return; + + //Raise double clicking event to allow click forwarding + if (ReportThumbnailClicks) { + OnCloneClick(ClientToThumbnail(e.Location), e.Button, true); + } + } + + /// + /// Is raised when the thumbnail clone is clicked. + /// + public event EventHandler CloneClick; + + protected virtual void OnCloneClick(Point location, MouseButtons buttons, bool doubleClick){ + var evt = CloneClick; + if(evt != null) + evt(this, new CloneClickEventArgs(location, buttons, doubleClick)); + } + + #endregion + + /// + /// Convert a point in client coordinates to a point expressed in terms of a cloned thumbnail window. + /// + /// Point in client coordinates. + protected Point ClientToThumbnail(Point position) { + //Compensate padding + position.X -= _padWidth; + position.Y -= _padHeight; + + //Determine position in fractional terms (on the size of the thumbnail control) + PointF proportionalPosition = new PointF( + (float)position.X / _thumbnailSize.Width, + (float)position.Y / _thumbnailSize.Height + ); + + //Get real pixel region info + Size source = ThumbnailPixelSize; + Point offset = (_regionEnabled) ? SelectedRegion.Offset : Point.Empty; + + return new Point( + (int)((proportionalPosition.X * source.Width) + offset.X), + (int)((proportionalPosition.Y * source.Height) + offset.Y) + ); + } + + } + +} diff --git a/OnTopReplica/ThumbnailRegion.cs b/OnTopReplica/ThumbnailRegion.cs new file mode 100644 index 0000000..20cfcf9 --- /dev/null +++ b/OnTopReplica/ThumbnailRegion.cs @@ -0,0 +1,222 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + + /// + /// Represents a thumbnail region. + /// + /// + /// A ThumbnailRegion can work in absolute or in relative mode. + /// In absolute mode, the region is expressed in absolute pixel values, as expressed by the value of the + /// property. + /// In relative mode, the region is expressed in padding pixels from the borders of the source. Internally this + /// is still represented by the property. Properties of the Rectangle value are mapped as follows: + /// Rectangle.X = Padding.Left + /// Rectangle.Y = Padding.Top + /// Rectangle.Width = Padding.Right + /// Rectangle.Height = Padding.Bottom + /// + public class ThumbnailRegion { + + /// + /// Creates a ThumbnailRegion from a padding value relative to the thumbnail borders. + /// + public ThumbnailRegion(Padding padding) { + _bounds = new Rectangle { + X = padding.Left, + Y = padding.Top, + Width = padding.Right, + Height = padding.Bottom + }; + Relative = true; + } + + /// + /// Creates a ThumbnailRegion from a bounds rectangle (in absolute terms). + /// + public ThumbnailRegion(Rectangle rectangle) { + _bounds = rectangle; + Relative = false; + } + + /// + /// Creates a ThumbnailRegion from a rectangle, either expressing values in relative or in absolute terms. + /// + public ThumbnailRegion(Rectangle paddingOrBounds, bool relative) { + _bounds = paddingOrBounds; + Relative = relative; + } + + private Rectangle _bounds; + + /// + /// Gets or sets the bounds of the thumbnail region. + /// + public Rectangle Bounds { + get { +#if DEBUG + if (Relative) + throw new InvalidOperationException("Not allowed to use ThumbnailRegion Bounds as Rectangle value (in relative mode)."); +#endif + + return _bounds; + } + set { + _bounds = value; + Relative = false; + } + } + + /// + /// Gets or sets whether the bounds are expressed relative to the thumbnail borders. + /// + public bool Relative { + get; + set; + } + + /// + /// Sets the relative bounds of the region. Switches to relative mode. + /// + /// Padding in relative terms from the borders. + public void SetRelativeBounds(Padding padding) { + Bounds = new Rectangle { + X = padding.Left, + Y = padding.Top, + Width = padding.Right, + Height = padding.Bottom + }; + Relative = true; + } + + /// + /// Gets the bounds of the thumbnail region as relative padding from the thumbnail borders. + /// + /// Makes sense only in relative mode. + public Padding BoundsAsPadding { + get { +#if DEBUG + if (!Relative) + throw new InvalidOperationException("Not allowed to use ThumbnailRegion Bounds as Padding value (not in relative mode)."); +#endif + + return new Padding { + Left = _bounds.X, + Top = _bounds.Y, + Right = _bounds.Width, + Bottom = _bounds.Height + }; + } + } + + /// + /// Gets the offset of the region. + /// + /// + /// The offset is expressed as a point of displacement from the up-right corner (0,0) of the original source. + /// + public Point Offset { + get { + //This is equal in both absolute and relative mode + return _bounds.Location; + } + } + + const int MinimumRegionSize = 8; + + /// + /// Computes the effective region representing the bounds inside a source thumbnail of a certain size. + /// + /// Size of the full thumbnail source. + /// Bounds inside the thumbnail. + protected Rectangle ComputeRegion(Size sourceSize) { + Rectangle ret; + + //Compute + if (Relative) { + ret = new Rectangle { + X = _bounds.X, + Y = _bounds.Y, + Width = sourceSize.Width - _bounds.X - _bounds.Width, + Height = sourceSize.Height - _bounds.Y - _bounds.Height + }; + } + else { + ret = _bounds; + } + + //Constrain to bounds + if (ret.X + ret.Width > sourceSize.Width) + ret.Width = sourceSize.Width - ret.X; + if (ret.Y + ret.Height > sourceSize.Height) + ret.Height = sourceSize.Height - ret.Y; + + return ret; + } + + /// + /// Computes a rectangle representing the bounds of the region inside a source thumbnail of a certain size. + /// + /// Size of the full thumbnail source. + /// Bounds inside the thumbnail. + public Rectangle ComputeRegionRectangle(Size sourceSize) { + return ComputeRegion(sourceSize); + } + + /// + /// Computes a value representing the size of the region inside a source thumbnail of a certain size. + /// + /// Size of the full thumbnail source. + /// Size of the bounds inside the thumbnail. + public Size ComputeRegionSize(Size sourceSize) { + return ComputeRegion(sourceSize).Size; + } + + /// + /// Switches the region to relative mode, according to a source thumbnail of a given size. + /// + /// Size of the full thumbnail source. + public void SwitchToRelative(Size sourceSize) { + if (Relative) + return; + + var relativeBounds = new Padding { + Left = _bounds.X, + Top = _bounds.Y, + Right = sourceSize.Width - (_bounds.X + _bounds.Width), + Bottom = sourceSize.Height - (_bounds.Y + _bounds.Height) + }; + + this.SetRelativeBounds(relativeBounds); + } + + /// + /// Switches the region to absolute mode, according to a source thumbnail of a given size. + /// + /// Size of the full thumbnail source. + public void SwitchToAbsolute(Size sourceSize) { + if (!Relative) + return; + + var absoluteBounds = new Rectangle { + X = _bounds.X, + Y = _bounds.Y, + Width = (sourceSize.Width - _bounds.Width) - _bounds.X, + Height = (sourceSize.Height - _bounds.Height) - _bounds.Y + }; + + Bounds = absoluteBounds; + } + + public override string ToString() { + return string.Format("({0}, {1})", _bounds, (Relative) ? "relative" : "absolute"); + } + + } + +} diff --git a/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs b/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs new file mode 100644 index 0000000..6482835 --- /dev/null +++ b/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Update { + class UpdateCheckCompletedEventArgs : EventArgs { + + public UpdateInformation Information { get; set; } + + public bool Success { get; set; } + + public Exception Error { get; set; } + + } +} diff --git a/OnTopReplica/Update/UpdateInformation.cs b/OnTopReplica/Update/UpdateInformation.cs new file mode 100644 index 0000000..662c8c4 --- /dev/null +++ b/OnTopReplica/Update/UpdateInformation.cs @@ -0,0 +1,101 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.IO; +using System.Xml; +using System.Reflection; + +namespace OnTopReplica.Update { + + /// + /// Contains information about the latest OnTopReplica update available. + /// + public class UpdateInformation { + + Version _latestVersion; + + /// + /// Gets the latest available version of the software. + /// + [XmlIgnore] + public Version LatestVersion { + get { + return _latestVersion; + } + set { + _latestVersion = value; + } + } + + [XmlElement("latestVersion")] + public string LatestVersionInternal { + get { + return _latestVersion.ToString(); + } + set { + _latestVersion = new Version(value); + } + } + + /// + /// Returns whether this update information instance represents data about + /// a new available version. + /// + public bool IsNewVersion { + get { + var currentVersion = CurrentVersion; + + return (LatestVersion > currentVersion); + } + } + + /// + /// Gets the currently installed version. + /// + public Version CurrentVersion { + get { + return Assembly.GetExecutingAssembly().GetName().Version; + } + } + + /// + /// Indicates when the latest version was released. + /// + [XmlElement("latestVersionRelease")] + public DateTime LatestVersionRelease { get; set; } + + /// + /// Gets the URL of the page that allows the user to download the updated installer. + /// + [XmlElement("downloadPage")] + public string DownloadPage { get; set; } + + /// + /// Gets the URL of the installer executable. + /// + /// New after version 3.3.1. + [XmlElement("downloadInstaller")] + public string DownloadInstaller { get; set; } + + /// + /// Deserializes an UpdateInformation object from a stream. + /// + public static UpdateInformation Deserialize(Stream source) { + var serializer = new XmlSerializer(typeof(UpdateInformation)); + var info = serializer.Deserialize(source) as UpdateInformation; + return info; + } + + public static string Serialize(UpdateInformation information) { + var serializer = new XmlSerializer(typeof(UpdateInformation)); + var sb = new StringBuilder(); + using(var writer = new StringWriter(sb)){ + serializer.Serialize(writer, information); + } + return sb.ToString(); + } + + } + +} diff --git a/OnTopReplica/Update/UpdateManager.cs b/OnTopReplica/Update/UpdateManager.cs new file mode 100644 index 0000000..826481a --- /dev/null +++ b/OnTopReplica/Update/UpdateManager.cs @@ -0,0 +1,278 @@ +using System; +using System.Diagnostics; +using System.IO; +using System.Net; +using System.Net.Cache; +using System.Windows.Forms; +using WindowsFormsAero.TaskDialog; + +namespace OnTopReplica.Update { + + /// + /// Handles update checking and information display. + /// + class UpdateManager { + + /// + /// Constructs a new update manager with an attached form. + /// + /// Form through which all GUI calls are made. Closing this form should terminate the application. + public UpdateManager(Form attachedForm) { + if (attachedForm == null) + throw new ArgumentNullException(); + + AttachedForm = attachedForm; + } + + /// + /// Gets or sets the attached form (through which all GUI calls are made). + /// + protected Form AttachedForm { get; private set; } + + #region Checking + + const string UpdateManifestUrl = "http://www.klopfenstein.net/public/Uploads/ontopreplica/update.xml"; + + /// + /// Gets the latest update information available. + /// + public UpdateInformation LastInformation { get; private set; } + + HttpWebRequest _checkRequest; + + /// + /// Checks for update asynchronously, updating update information. + /// When check is completed, raises update events. + /// + public void CheckForUpdate() { + if (_checkRequest != null) { + _checkRequest.Abort(); + } + + //Build web request + _checkRequest = (HttpWebRequest)HttpWebRequest.Create(UpdateManifestUrl); + _checkRequest.AllowAutoRedirect = true; + _checkRequest.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; + _checkRequest.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache); + + _checkRequest.BeginGetResponse(CheckForUpdateCallback, null); + } + + /// + /// Asynchronous callback that handles the update check request. + /// + private void CheckForUpdateCallback(IAsyncResult result) { + if (_checkRequest == null) + return; + + try { + var response = _checkRequest.EndGetResponse(result); + LastInformation = UpdateInformation.Deserialize(response.GetResponseStream()); + + OnUpdateCheckSuccess(LastInformation); + } + catch (Exception ex) { + OnUpdateCheckError(ex); + } + + _checkRequest = null; + } + + #endregion + + #region Eventing + + public event EventHandler UpdateCheckCompleted; + + protected virtual void OnUpdateCheckError(Exception ex) { + var evt = UpdateCheckCompleted; + if (evt != null) { + evt(this, new UpdateCheckCompletedEventArgs { + Success = false, + Error = ex + }); + } + } + + protected virtual void OnUpdateCheckSuccess(UpdateInformation information) { + var evt = UpdateCheckCompleted; + if (evt != null) { + evt(this, new UpdateCheckCompletedEventArgs { + Success = true, + Information = information + }); + } + } + + #endregion + + #region Updating + + HttpWebRequest _downloadRequest; + TaskDialog _updateDialog; + bool _updateDownloaded = false; + + /// + /// Asks confirmation for an update and installs the update. + /// + public void ConfirmAndInstall() { + if (LastInformation == null || !LastInformation.IsNewVersion) + return; + + AttachedForm.SafeInvoke(new Action(ConfirmAndInstallCore)); + } + + /// + /// Core delegate that asks for update confirmation and installs. Must be called from GUI thread. + /// + private void ConfirmAndInstallCore() { + _updateDialog = new TaskDialog { + Title = Strings.UpdateTitle, + Instruction = string.Format(Strings.UpdateAvailableInstruction, LastInformation.LatestVersion), + Content = Strings.UpdateAvailableContent, + CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, string.Format(Strings.UpdateAvailableCommandOk, LastInformation.LatestVersion)), + new CustomButton(Result.Cancel, Strings.UpdateAvailableCommandCancel) + }, + UseCommandLinks = true, + CommonIcon = TaskDialogIcon.Information, + ExpandedInformation = string.Format(Strings.UpdateAvailableExpanded, LastInformation.CurrentVersion, LastInformation.LatestVersion), + }; + _updateDialog.ButtonClick += delegate(object sender, ClickEventArgs args) { + if (args.ButtonID == (int)Result.OK) { + args.PreventClosing = true; + + if (_updateDownloaded) { + //Terminate application + AttachedForm.Close(); + + //Launch updater + Process.Start(UpdateInstallerPath); + } + else { + var downDlg = new TaskDialog { + Title = Strings.UpdateTitle, + Instruction = Strings.UpdateDownloadingInstruction, + ShowProgressBar = true, + ProgressBarMinRange = 0, + ProgressBarMaxRange = 100, + ProgressBarPosition = 0, + CommonButtons = TaskDialogButton.Cancel + }; + _updateDialog.Navigate(downDlg); + + _downloadRequest = (HttpWebRequest)HttpWebRequest.Create(LastInformation.DownloadInstaller); + _downloadRequest.BeginGetResponse(DownloadAsyncCallback, null); + } + } + }; + + _updateDialog.Show(AttachedForm); + } + + /// + /// Gets the target filename used when downloading the update from the Internet. + /// + private string UpdateInstallerPath { + get { + var downloadPath = Native.FilesystemMethods.DownloadsPath; + + string versionName = (LastInformation != null) ? + LastInformation.LatestVersion.ToString() : string.Empty; + string filename = string.Format("OnTopReplica-Update-{0}.exe", versionName); + + return Path.Combine(downloadPath, filename); + } + } + + /// + /// Handles background downloading. + /// + private void DownloadAsyncCallback(IAsyncResult result) { + if (_downloadRequest == null || _updateDialog == null) + return; + + try { + var response = _downloadRequest.EndGetResponse(result); + var responseStream = response.GetResponseStream(); + long total = response.ContentLength; + + byte[] buffer = new byte[1024]; + + using (var stream = new FileStream(UpdateInstallerPath, FileMode.Create)) { + int readTotal = 0; + while (true) { + int read = responseStream.Read(buffer, 0, buffer.Length); + readTotal += read; + + if (read <= 0) //EOF + break; + + stream.Write(buffer, 0, read); + + _updateDialog.Content = string.Format(Strings.UpdateDownloadingContent, readTotal, total); + _updateDialog.ProgressBarPosition = (int)((readTotal * 100.0) / total); + } + } + } + catch (Exception ex) { + DownloadShowError(ex.Message); + return; + } + + _updateDownloaded = true; + + var okDlg = new TaskDialog { + Title = Strings.UpdateTitle, + Instruction = Strings.UpdateReadyInstruction, + Content = string.Format(Strings.UpdateReadyContent, LastInformation.LatestVersion), + UseCommandLinks = true, + CommonButtons = TaskDialogButton.Cancel, + CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, Strings.UpdateReadyCommandOk) + } + }; + _updateDialog.Navigate(okDlg); + } + + private void DownloadShowError(string msg) { + if (_updateDialog == null) + return; + + _updateDialog.ProgressBarState = WindowsFormsAero.ProgressBar.States.Error; + _updateDialog.Content = msg; + } + + /// + /// Displays some information about the current installation and available updates. + /// + public void DisplayInfo() { + AttachedForm.SafeInvoke(new Action(DisplayInfoCore)); + } + + /// + /// Displays info. Called from GUI thread. + /// + private void DisplayInfoCore() { + //No updates, but need to inform the user + var dlg = new TaskDialog { + Title = Strings.UpdateTitle, + Instruction = Strings.UpdateInfoInstruction, + Content = Strings.UpdateInfoContent, + EnableHyperlinks = true, + CommonButtons = TaskDialogButton.Close, + AllowDialogCancellation = true, + CommonIcon = TaskDialogIcon.Information, + Footer = string.Format(Strings.UpdateInfoFooter, LastInformation.LatestVersionRelease.ToLongDateString()) + }; + dlg.HyperlinkClick += delegate(object sender, HyperlinkEventArgs args) { + Process.Start("http://ontopreplica.codeplex.com"); + }; + dlg.Show(AttachedForm); + } + + #endregion + + } + +} diff --git a/OnTopReplica/Win32Helper.cs b/OnTopReplica/Win32Helper.cs new file mode 100644 index 0000000..618c69e --- /dev/null +++ b/OnTopReplica/Win32Helper.cs @@ -0,0 +1,126 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + public static class Win32Helper { + + #region Injection + + /// Inject a fake left mouse click on a target window, on a location expressed in client coordinates. + /// Target window to click on. + /// Location of the mouse click expressed in client coordiantes of the target window. + /// True if a double click should be injected. + public static void InjectFakeMouseClick(IntPtr window, CloneClickEventArgs clickArgs) { + NPoint clientClickLocation = NPoint.FromPoint(clickArgs.ClientClickLocation); + NPoint scrClickLocation = WindowManagerMethods.ClientToScreen(window, clientClickLocation); + + //HACK (?) + //If target window has a Menu (which appears on the thumbnail) move the clicked location down + //in order to adjust (the menu isn't part of the window's client rect). + IntPtr hMenu = WindowMethods.GetMenu(window); + if (hMenu != IntPtr.Zero) + scrClickLocation.Y -= SystemInformation.MenuHeight; + + IntPtr hChild = GetRealChildControlFromPoint(window, scrClickLocation); + NPoint clntClickLocation = WindowManagerMethods.ScreenToClient(hChild, scrClickLocation); + + if (clickArgs.Buttons == MouseButtons.Left) { + if(clickArgs.IsDoubleClick) + InjectDoubleLeftMouseClick(hChild, clntClickLocation); + else + InjectLeftMouseClick(hChild, clntClickLocation); + } + else if (clickArgs.Buttons == MouseButtons.Right) { + if(clickArgs.IsDoubleClick) + InjectDoubleRightMouseClick(hChild, clntClickLocation); + else + InjectRightMouseClick(hChild, clntClickLocation); + } + } + + private static void InjectLeftMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.LBUTTONDOWN, new IntPtr(MK.LBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.LBUTTONUP, new IntPtr(MK.LBUTTON), lParamClickLocation); + +#if DEBUG + System.Diagnostics.Debug.WriteLine("Left click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectRightMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.RBUTTONDOWN, new IntPtr(MK.RBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.RBUTTONUP, new IntPtr(MK.RBUTTON), lParamClickLocation); + +#if DEBUG + System.Diagnostics.Debug.WriteLine("Right click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectDoubleLeftMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.LBUTTONDBLCLK, new IntPtr(MK.LBUTTON), lParamClickLocation); + +#if DEBUG + System.Diagnostics.Debug.WriteLine("Double left click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectDoubleRightMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.RBUTTONDBLCLK, new IntPtr(MK.RBUTTON), lParamClickLocation); + +#if DEBUG + System.Diagnostics.Debug.WriteLine("Double right click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + #endregion + + /// Returns the child control of a window corresponding to a screen location. + /// Parent window to explore. + /// Child control location in screen coordinates. + private static IntPtr GetRealChildControlFromPoint(IntPtr parent, NPoint scrClickLocation) { + IntPtr curr = parent, child = IntPtr.Zero; + do { + child = WindowManagerMethods.RealChildWindowFromPoint(curr, + WindowManagerMethods.ScreenToClient(curr, scrClickLocation)); + + if (child == IntPtr.Zero || child == curr) + break; + + //Update for next loop + curr = child; + } + while (true); + + //Safety check, shouldn't happen + if (curr == IntPtr.Zero) + curr = parent; + + return curr; + } + + /// + /// Gets a handle to the window that currently is in the foreground. + /// + /// May return null if call fails or no valid window selected. + public static WindowHandle GetCurrentForegroundWindow() { + IntPtr handle = WindowManagerMethods.GetForegroundWindow(); + if (handle == IntPtr.Zero) + return null; + + return new WindowHandle(handle); + } + + } +} diff --git a/OnTopReplica/WindowHandle.cs b/OnTopReplica/WindowHandle.cs new file mode 100644 index 0000000..e2d4851 --- /dev/null +++ b/OnTopReplica/WindowHandle.cs @@ -0,0 +1,141 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using OnTopReplica.Native; + +namespace OnTopReplica { + + /// + /// Helper class that keeps a window handle (HWND), + /// the title of the window and can load its icon. + /// + public class WindowHandle : System.Windows.Forms.IWin32Window { + + IntPtr _handle; + string _title; + + /// + /// Creates a new WindowHandle instance. The handle pointer must be valid, the title + /// may be null or empty and will be updated as requested. + /// + public WindowHandle(IntPtr p, string title) { + _handle = p; + _title = title; + } + + /// + /// Creates a new WindowHandle instance. Additional features of the handle will be queried as needed. + /// + /// + public WindowHandle(IntPtr p) { + _handle = p; + _title = null; + } + + public string Title { + get { + if (_title == null) { + _title = WindowMethods.GetWindowText(_handle) ?? string.Empty; + } + + return _title; + } + } + + Icon _icon = null; + bool _iconFetched = false; + public Icon Icon { + get { + if (!_iconFetched) { + //Fetch icon from window + IntPtr hIcon; + + if (MessagingMethods.SendMessageTimeout(_handle, WM.GETICON, new IntPtr(2), new IntPtr(0), + MessagingMethods.SendMessageTimeoutFlags.AbortIfHung | MessagingMethods.SendMessageTimeoutFlags.Block, 500, out hIcon) == IntPtr.Zero) { + hIcon = IntPtr.Zero; + } + + if (hIcon != IntPtr.Zero) { + _icon = Icon.FromHandle(hIcon); + } + else { + //Fetch icon from window class + hIcon = (IntPtr)WindowMethods.GetClassLong(_handle, WindowMethods.ClassLong.IconSmall); + + if (hIcon.ToInt64() != 0) { + _icon = Icon.FromHandle(hIcon); + } + } + } + + _iconFetched = true; + + return _icon; + } + } + + string _class = null; + + /// + /// Gets the window's class name. + /// + /// + /// This value is cached and is never null. + /// + public string Class { + get { + if (_class == null) { + _class = Native.WindowMethods.GetWindowClass(Handle) ?? string.Empty; + } + return _class; + } + } + + #region Object override + + public override string ToString() { + if (string.IsNullOrWhiteSpace(_title)) { + return string.Format("#{0}", _handle.ToInt64()); + } + else { + return string.Format("#{0} ({1})", _handle.ToInt64(), _title); + } + } + + public override bool Equals(object obj) { + if (ReferenceEquals(obj, this)) + return true; + + System.Windows.Forms.IWin32Window win = obj as System.Windows.Forms.IWin32Window; + + if (win == null) + return false; + + return (win.Handle == _handle); + } + + public override int GetHashCode() { + return _handle.GetHashCode(); + } + + #endregion + + #region IWin32Window Members + + public IntPtr Handle { + get { return _handle; } + } + + #endregion + + /// + /// Creates a new windowHandle instance from a given IntPtr handle. + /// + /// Handle value. + public static WindowHandle FromHandle(IntPtr handle) { + return new WindowHandle(handle, null); + } + + } +} diff --git a/OnTopReplica/WindowListMenuManager.cs b/OnTopReplica/WindowListMenuManager.cs new file mode 100644 index 0000000..a79fa74 --- /dev/null +++ b/OnTopReplica/WindowListMenuManager.cs @@ -0,0 +1,202 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.WindowSeekers; +using OnTopReplica.Properties; + +namespace OnTopReplica { + /// + /// Manages the window list displayed when allowing the user to select a window to clone. + /// + class WindowListMenuManager { + + const int MaxWindowTitleLength = 55; + + readonly MainForm _owner; + readonly ContextMenuStrip _windowsMenu; + + public WindowListMenuManager(MainForm owner, ContextMenuStrip windowsMenu) { + _owner = owner; + _windowsMenu = windowsMenu; + + WindowSeeker = new TaskWindowSeeker() { + OwnerHandle = owner.Handle, + SkipNotVisibleWindows = true + }; + + //Bind events + windowsMenu.Opening += new System.ComponentModel.CancelEventHandler(WindowsMenu_opening); + } + + void WindowsMenu_opening(object sender, System.ComponentModel.CancelEventArgs e) { + WindowSeeker.Refresh(); + PopulateMenu(_owner.CurrentThumbnailWindowHandle); + } + + /// + /// Populates the menu with windows from the window seeker instance. + /// + /// Handle of the currently selected window or null if none selected. + private void PopulateMenu(WindowHandle currentSelection) { + var regions = GetStoredRegions(); + + _windowsMenu.Items.Clear(); + + //"None" selection + var nullTsi = new ToolStripMenuItem(Strings.MenuWindowsNone); + nullTsi.Tag = null; + nullTsi.Click += MenuWindowClickHandler; + nullTsi.Checked = (currentSelection == null); + _windowsMenu.Items.Add(nullTsi); + + //Add an item for each window + foreach (WindowHandle h in WindowSeeker.Windows) { + var tsi = new ToolStripMenuItem(); + + //Window title + if (h.Title.Length > MaxWindowTitleLength) { + tsi.Text = h.Title.Substring(0, MaxWindowTitleLength) + "..."; + tsi.ToolTipText = h.Title; + } + else + tsi.Text = h.Title; + + //Icon + if (h.Icon != null) { + try { + tsi.Image = h.Icon.ToBitmap(); + } + catch (Exception) { + tsi.Image = null; + } + } + + //Check if this is the currently displayed window + tsi.Checked = h.Equals(currentSelection); + + //Click handler + tsi.Tag = h; + tsi.Click += MenuWindowClickHandler; + + PopulateRegionsDropdown(tsi, h, regions); + + _windowsMenu.Items.Add(tsi); + } + } + + private void PopulateRegionsDropdown(ToolStripMenuItem parent, WindowHandle parentHandle, StoredRegion[] regions) { + parent.DropDownItems.Clear(); + + //No region + var nullRegionItem = new ToolStripMenuItem(Strings.MenuWindowsWholeRegion); + nullRegionItem.Tag = parentHandle; + nullRegionItem.Image = Resources.regions; + nullRegionItem.Click += MenuWindowClickHandler; + parent.DropDownItems.Add(nullRegionItem); + + //Video detector + /*var detectorItem = new ToolStripMenuItem("Autodetect plugin"); + detectorItem.Tag = parentHandle; + detectorItem.Click += MenuVideoCropperClickHandler; + parent.DropDownItems.Add(detectorItem);*/ + + //Regions (if any) + if (regions == null || regions.Length == 0) + return; + + parent.DropDownItems.Add(new ToolStripSeparator()); + + foreach (StoredRegion region in regions) { + var regionItem = new ToolStripMenuItem(region.Name); + regionItem.Tag = new Tuple(parentHandle, region); + regionItem.Click += MenuRegionWindowClickHandler; + + parent.DropDownItems.Add(regionItem); + } + } + + private void MenuWindowClickHandler(object sender, EventArgs args) { + CommonClickHandler(); + + var tsi = (ToolStripMenuItem)sender; + if (tsi.Tag == null) { + _owner.UnsetThumbnail(); + } + else { + var handle = (WindowHandle)tsi.Tag; + _owner.SetThumbnail(handle, null); + } + } + + private void MenuRegionWindowClickHandler(object sender, EventArgs args) { + CommonClickHandler(); + + var tsi = (ToolStripMenuItem)sender; + var tuple = (Tuple)tsi.Tag; + _owner.SetThumbnail(tuple.Item1, + (tuple.Item2 != null) ? (ThumbnailRegion)tuple.Item2.Region : null); + } + + /*PluginRegionLocator _pluginRegionLocator = null; + + private void MenuVideoCropperClickHandler(object sender, EventArgs args){ + CommonClickHandler(); + + var tsi = (ToolStripMenuItem)sender; + var handle = (WindowHandle)tsi.Tag; + + if (_pluginRegionLocator == null) + _pluginRegionLocator = new PluginRegionLocator(); + + var detectedRegion = _pluginRegionLocator.LocatePluginRegion(handle); + _owner.SetThumbnail(handle, detectedRegion); + }*/ + + private void CommonClickHandler() { + _windowsMenu.Close(); + foreach (ContextMenuStrip menu in _parentMenus) + menu.Close(); + } + + /// + /// Gets an array of stored regions. + /// + private StoredRegion[] GetStoredRegions() { + if (Settings.Default.SavedRegions == null || Settings.Default.SavedRegions.Count == 0) + return null; + + StoredRegion[] ret = new StoredRegion[Settings.Default.SavedRegions.Count]; + Settings.Default.SavedRegions.CopyTo(ret); + + Array.Sort(ret, (a, b) => { + return a.Name.CompareTo(b.Name); + }); + + return ret; + } + + /// + /// Gets or sets the window seeker instance used to list windows. + /// + public BaseWindowSeeker WindowSeeker { get; set; } + + ContextMenuStrip[] _parentMenus = new ContextMenuStrip[0]; + + /// + /// Gets the parent menus which are bound to the context menu handled by this manager. + /// + public ContextMenuStrip[] ParentMenus { + get { + return (ContextMenuStrip[])_parentMenus.Clone(); + } + set { + if(value == null) + _parentMenus = new ContextMenuStrip[0]; + else + _parentMenus = (ContextMenuStrip[])value.Clone(); + } + } + + } +} diff --git a/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs b/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs new file mode 100644 index 0000000..6a00ed5 --- /dev/null +++ b/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + + /// + /// Base class for window seekers that can populate a list of window handles based on some criteria and with basic filtering. + /// + abstract class BaseWindowSeeker : IWindowSeeker { + + #region IWindowSeeker + + /// + /// Get the matching windows from the last refresh. + /// + public abstract IList Windows { + get; + } + + /// + /// Forces a window list refresh. + /// + public virtual void Refresh() { + WindowManagerMethods.EnumWindows(RefreshCallback, IntPtr.Zero); + } + + #endregion + + private bool RefreshCallback(IntPtr hwnd, IntPtr lParam) { + //Skip owner + if (hwnd == OwnerHandle) + return true; + + if (SkipNotVisibleWindows && !WindowManagerMethods.IsWindowVisible(hwnd)) + return true; + + //Extract basic properties + string title = WindowMethods.GetWindowText(hwnd); + var handle = new WindowHandle(hwnd, title); + + return InspectWindow(handle); + } + + /// + /// Inspects a window and return whether inspection should continue. + /// + /// Handle of the window. + /// True if inspection should continue. False stops current refresh operation. + protected abstract bool InspectWindow(WindowHandle handle); + + /// + /// Gets or sets the window handle of the owner. + /// + /// + /// Windows with this handle will be automatically skipped. + /// + public IntPtr OwnerHandle { get; set; } + + /// + /// Gets or sets whether not visible windows should be skipped. + /// + public bool SkipNotVisibleWindows { get; set; } + + } + +} diff --git a/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs b/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs new file mode 100644 index 0000000..e6e73dc --- /dev/null +++ b/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + /// + /// Seeks a single window by matching its window class. + /// + /// + /// Class matching is case-sensitive and prefers perfect matches, also accepting + /// partial matches (when the class matches the beginning of the target class name). + /// + class ByClassWindowSeeker : PointBasedWindowSeeker { + + public ByClassWindowSeeker(string className) { + if (className == null) + throw new ArgumentNullException(); + + ClassName = className; + } + + public string ClassName { get; private set; } + + protected override int EvaluatePoints(WindowHandle handle) { + if(string.IsNullOrEmpty(handle.Class)) + return -1; + + int points = 0; + + //Partial match + if (handle.Class.StartsWith(ClassName, StringComparison.InvariantCulture)) + points += 10; + + if (handle.Class.Equals(ClassName, StringComparison.InvariantCulture)) + points += 10; + + return points; + } + } +} diff --git a/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs b/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs new file mode 100644 index 0000000..c551392 --- /dev/null +++ b/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + /// + /// Seeks a single window by approximately matching its title. + /// + /// + /// Title search is case-insensitive and matches only the beginning of the windows' titles. + /// + class ByTitleWindowSeeker : PointBasedWindowSeeker { + + public ByTitleWindowSeeker(string titleSeekString) { + if (titleSeekString == null) + throw new ArgumentNullException(); + + TitleMatch = titleSeekString.Trim(); + } + + public string TitleMatch { get; private set; } + + protected override int EvaluatePoints(WindowHandle handle) { + //Skip empty titles + if (string.IsNullOrEmpty(handle.Title)) + return -1; + + //Skip non top-level windows + if (!WindowManagerMethods.IsTopLevel(handle.Handle)) + return -1; + + int points = 0; + + //Give points for partial match + if (handle.Title.StartsWith(TitleMatch, StringComparison.InvariantCultureIgnoreCase)) + points += 10; + + //Give points for exact match + if (handle.Title.Equals(TitleMatch, StringComparison.InvariantCultureIgnoreCase)) + points += 10; + + return points; + } + } +} diff --git a/OnTopReplica/WindowSeekers/IWindowSeeker.cs b/OnTopReplica/WindowSeekers/IWindowSeeker.cs new file mode 100644 index 0000000..42e4024 --- /dev/null +++ b/OnTopReplica/WindowSeekers/IWindowSeeker.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace OnTopReplica.WindowSeekers { + /// + /// Interface for window seekers. + /// + interface IWindowSeeker { + + /// + /// Get the list of matching windows, ordered by priority (optionally). + /// + IList Windows { get; } + + /// + /// Refreshes the list of windows. + /// + void Refresh(); + + } +} diff --git a/OnTopReplica/WindowSeekers/PointBasedWindowSeeker.cs b/OnTopReplica/WindowSeekers/PointBasedWindowSeeker.cs new file mode 100644 index 0000000..92241f7 --- /dev/null +++ b/OnTopReplica/WindowSeekers/PointBasedWindowSeeker.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace OnTopReplica.WindowSeekers { + /// + /// Window seeker that uses a point system to get a list of matching windows listed by optimality. + /// + abstract class PointBasedWindowSeeker : BaseWindowSeeker { + + IList _currentWindowList = new List(); + + public override IList Windows { + get { + return _currentWindowList; + } + } + + List> _sortingList = null; + + public override void Refresh() { + _sortingList = new List>(); + + base.Refresh(); + + //Sort and store + _currentWindowList = (from t in _sortingList + orderby t.Item1 descending + select t.Item2).ToList(); + + _sortingList = null; + } + + protected override bool InspectWindow(WindowHandle handle) { + int points = EvaluatePoints(handle); + if(points >= 0){ + _sortingList.Add(new Tuple(points, handle)); + } + + return true; + } + + /// + /// Evalutes the points for a window handle. + /// + /// Handle to the window. + /// + /// Number of points. Higher points identify better suited windows. + /// Windows with negative points are discarded altogether. + /// + protected abstract int EvaluatePoints(WindowHandle handle); + + } +} diff --git a/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs b/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs new file mode 100644 index 0000000..5c06e05 --- /dev/null +++ b/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + + /// + /// Window seeker that attempts to locate a window to restore (by class, title and ID). + /// + class RestoreWindowSeeker : PointBasedWindowSeeker { + + public RestoreWindowSeeker(IntPtr handle, string title, string className){ + Handle = handle; + Title = title; + Class = className; + } + + public IntPtr Handle { get; private set; } + + public string Title { get; private set; } + + public string Class { get; private set; } + + protected override int EvaluatePoints(WindowHandle handle) { + if (!WindowManagerMethods.IsTopLevel(handle.Handle)) { + return -1; + } + + int points = 0; + + //Class exact match + if (!string.IsNullOrEmpty(Class)) { + string wndClass = handle.Class; + if (wndClass.StartsWith(Class, StringComparison.InvariantCulture)){ + points += 10; + } + } + + //Title match (may not be exact, but let's try) + if (!string.IsNullOrEmpty(Title) && !string.IsNullOrEmpty(handle.Title)) { + if (handle.Title.StartsWith(Title, StringComparison.InvariantCultureIgnoreCase)) { + points += 10; + } + if (handle.Title.Equals(Title, StringComparison.InvariantCultureIgnoreCase)) { + points += 5; + } + } + + //Handle match (will probably not work, but anyhow) + if (Handle != IntPtr.Zero) { + if (Handle == handle.Handle) { + points += 10; + } + } + + return points; + } + } + +} diff --git a/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs b/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs new file mode 100644 index 0000000..c074da9 --- /dev/null +++ b/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + /// + /// Window seeker that attempts to mimic ALT+TAB behavior in filtering windows to show. + /// + class TaskWindowSeeker : BaseWindowSeeker { + + List _list = new List(); + + public override IList Windows { + get { + return _list; + } + } + + public override void Refresh() { + _list.Clear(); + + base.Refresh(); + } + + protected override bool InspectWindow(WindowHandle handle) { + //Code taken from: http://www.thescarms.com/VBasic/alttab.aspx + + //Reject empty titles + if (string.IsNullOrEmpty(handle.Title)) + return true; + + //Accept windows that + // - are visible + // - do not have a parent + // - have no owner and are not Tool windows OR + // - have an owner and are App windows + if ((long)WindowManagerMethods.GetParent(handle.Handle) == 0) { + bool hasOwner = (long)WindowManagerMethods.GetWindow(handle.Handle, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; + WindowMethods.WindowExStyles exStyle = (WindowMethods.WindowExStyles)WindowMethods.GetWindowLong(handle.Handle, WindowMethods.WindowLong.ExStyle); + + if (((exStyle & WindowMethods.WindowExStyles.ToolWindow) == 0 && !hasOwner) || //unowned non-tool window + ((exStyle & WindowMethods.WindowExStyles.AppWindow) == WindowMethods.WindowExStyles.AppWindow && hasOwner)) { //owned application window + + _list.Add(handle); + } + } + + return true; + } + } +} diff --git a/OnTopReplica/WindowsFormsExtensions.cs b/OnTopReplica/WindowsFormsExtensions.cs new file mode 100644 index 0000000..d664dc1 --- /dev/null +++ b/OnTopReplica/WindowsFormsExtensions.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + /// + /// Extension methods for windows forms. + /// + static class WindowsFormsExtensions { + + /// + /// Internationalizes the text of a LinkLabel instance. + /// + /// Main text without link. Contains a '%' character which will be replaced by the link. + /// Linked text. + public static void Internationalize(this LinkLabel label, string text, string linkText) { + int linkIndex = text.IndexOf('%'); + if (linkIndex == -1) { + //Shouldn't happen, but try to fail with meaningful text + label.Text = text; + return; + } + + label.Text = text.Substring(0, linkIndex) + linkText + text.Substring(linkIndex + 1); + label.LinkArea = new LinkArea(linkIndex, linkText.Length); + } + + /// + /// Makes a safe GUI invoke on a form's GUI thread. + /// + /// The action to be executed on the GUI's thread. + /// + /// If the form is invalid or disposed, the action is not performed. + /// + public static void SafeInvoke(this Form form, Action action) { + if (form == null || form.IsDisposed) + return; + + if (form.InvokeRequired) { + form.Invoke(action); + } + else { + action(); + } + } + + } +} diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config new file mode 100644 index 0000000..06326b9 --- /dev/null +++ b/OnTopReplica/app.config @@ -0,0 +1,63 @@ + + + + +
    + + + + + + 255 + + + (Default) + + + True + + + True + + + True + + + True + + + False + + + False + + + 0, 0 + + + 0, 0 + + + False + + + + + + + + + 0 + + + [CTRL]+[SHIFT]+C + + + [CTRL]+[SHIFT]+O + + + Standard + + + + diff --git a/OriginalAssets/Logo.png b/OriginalAssets/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fd56566c12a0fde7aa080f73ddd305944fdcbdcf GIT binary patch literal 34066 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�<&}G` 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 Date: Mon, 29 Apr 2013 18:40:01 +0200 Subject: [PATCH 155/164] Ignoring *.suo files. --- .hgignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgignore b/.hgignore index 6d66599..58f82cc 100644 --- a/.hgignore +++ b/.hgignore @@ -7,3 +7,4 @@ glob:*.psd glob:Installer/OnTopReplica-Setup.exe syntax: glob *.Designer.cs +*.suo From c4866b743f434f9adee36c524f4a93efd1f1275d Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 15 Oct 2013 14:47:24 +0200 Subject: [PATCH 156/164] Added files to ignore. --- .hgignore | 0 Docs/Settings List.txt | 7 + Installer/DotNet.nsh | 32 + Installer/header.bmp | Bin 0 -> 25818 bytes Installer/script.nsi | 140 ++ Installer/update.xml | 6 + Installer/wix-compile.bat | 2 + Installer/wix-package.wxs | 71 + Lib/WindowsFormsAero.dll | Bin 0 -> 97280 bytes Lib/WindowsFormsAero.pdb | Bin 0 -> 249344 bytes Lib/WindowsFormsAero.xml | 1131 ++++++++++++ OnTopReplica.sln | 20 + OnTopReplica/AspectRatioForm.cs | 238 +++ OnTopReplica/Assets/25.png | Bin 0 -> 639 bytes OnTopReplica/Assets/arrow_down.png | Bin 0 -> 218 bytes OnTopReplica/Assets/arrow_up.png | Bin 0 -> 209 bytes OnTopReplica/Assets/back.png | Bin 0 -> 150765 bytes OnTopReplica/Assets/clickforwarding.png | Bin 0 -> 951 bytes OnTopReplica/Assets/component.png | Bin 0 -> 731 bytes OnTopReplica/Assets/desktop.png | Bin 0 -> 794 bytes OnTopReplica/Assets/empty-window.ico | Bin 0 -> 10806 bytes OnTopReplica/Assets/flag_czech.png | Bin 0 -> 241 bytes OnTopReplica/Assets/flag_danish.png | Bin 0 -> 347 bytes OnTopReplica/Assets/flag_germany.png | Bin 0 -> 202 bytes OnTopReplica/Assets/flag_ita.png | Bin 0 -> 209 bytes OnTopReplica/Assets/flag_poland.png | Bin 0 -> 183 bytes OnTopReplica/Assets/flag_spanish.png | Bin 0 -> 300 bytes OnTopReplica/Assets/flag_usa.png | Bin 0 -> 355 bytes OnTopReplica/Assets/flags.pdn | Bin 0 -> 4030 bytes OnTopReplica/Assets/fullscreen.png | Bin 0 -> 396 bytes OnTopReplica/Assets/groupmode.png | Bin 0 -> 837 bytes OnTopReplica/Assets/icon-new-red.ico | Bin 0 -> 86918 bytes OnTopReplica/Assets/icon-new.ico | Bin 0 -> 86918 bytes OnTopReplica/Assets/icon.ico | Bin 0 -> 7358 bytes OnTopReplica/Assets/icon.png | Bin 0 -> 7335 bytes OnTopReplica/Assets/list.png | Bin 0 -> 681 bytes OnTopReplica/Assets/newicon.png | Bin 0 -> 770 bytes OnTopReplica/Assets/pos_bottomleft.pdn | Bin 0 -> 6696 bytes OnTopReplica/Assets/pos_bottomleft.png | Bin 0 -> 267 bytes OnTopReplica/Assets/pos_bottomright.png | Bin 0 -> 267 bytes OnTopReplica/Assets/pos_center.png | Bin 0 -> 231 bytes OnTopReplica/Assets/pos_null.png | Bin 0 -> 250 bytes OnTopReplica/Assets/pos_topleft.png | Bin 0 -> 280 bytes OnTopReplica/Assets/pos_topright.png | Bin 0 -> 278 bytes OnTopReplica/Assets/reduce.png | Bin 0 -> 259 bytes OnTopReplica/Assets/regions.png | Bin 0 -> 296 bytes OnTopReplica/Assets/regions_new.png | Bin 0 -> 207 bytes OnTopReplica/Assets/screenshot-icon.ico | Bin 0 -> 99678 bytes OnTopReplica/Assets/window16.png | Bin 0 -> 862 bytes OnTopReplica/Assets/window_border16.png | Bin 0 -> 683 bytes OnTopReplica/Assets/window_multiple.pdn | Bin 0 -> 8806 bytes OnTopReplica/Assets/window_multiple16.ico | Bin 0 -> 894 bytes OnTopReplica/Assets/window_multiple16.png | Bin 0 -> 1012 bytes OnTopReplica/Assets/window_multiple48.png | Bin 0 -> 1736 bytes OnTopReplica/Assets/window_opacity16.png | Bin 0 -> 894 bytes OnTopReplica/Assets/window_opacity_new.png | Bin 0 -> 810 bytes OnTopReplica/Assets/window_switch.pdn | Bin 0 -> 10464 bytes OnTopReplica/Assets/window_switch.png | Bin 0 -> 456 bytes OnTopReplica/Assets/windows.png | Bin 0 -> 28010 bytes OnTopReplica/Assets/x-oblique.png | Bin 0 -> 3459 bytes OnTopReplica/Assets/xiao_add.png | Bin 0 -> 753 bytes OnTopReplica/Assets/xiao_arrow.png | Bin 0 -> 437 bytes OnTopReplica/Assets/xiao_delete.png | Bin 0 -> 715 bytes OnTopReplica/Assets/xiao_down.png | Bin 0 -> 761 bytes OnTopReplica/Assets/xiao_help.png | Bin 0 -> 752 bytes OnTopReplica/Assets/xiao_ok.png | Bin 0 -> 752 bytes OnTopReplica/Assets/xiao_up.png | Bin 0 -> 744 bytes OnTopReplica/Assets/xiao_wrench.png | Bin 0 -> 459 bytes OnTopReplica/CREDITS.txt | 12 + OnTopReplica/CloneClickEventArgs.cs | 32 + OnTopReplica/CloseRequestEventArgs.cs | 14 + OnTopReplica/FocusedTextBox.cs | 70 + OnTopReplica/GeometryExtensions.cs | 74 + OnTopReplica/HotKeyTextBox.cs | 56 + OnTopReplica/IMessagePumpProcessor.cs | 15 + OnTopReplica/ImageComboBox.cs | 77 + OnTopReplica/LICENSE.txt | 21 + OnTopReplica/MainForm.Designer.cs | 560 ++++++ OnTopReplica/MainForm.cs | 474 +++++ OnTopReplica/MainForm.resx | 321 ++++ OnTopReplica/MainForm_ChildForms.cs | 93 + OnTopReplica/MainForm_Features.cs | 130 ++ OnTopReplica/MainForm_Gui.cs | 118 ++ OnTopReplica/MainForm_MenuEvents.cs | 180 ++ OnTopReplica/MessagePumpManager.cs | 84 + .../BaseMessagePumpProcessor.cs | 39 + .../GroupSwitchManager.cs | 136 ++ .../MessagePumpProcessors/HotKeyManager.cs | 168 ++ .../ShellInterceptProcessor.cs | 34 + .../MessagePumpProcessors/WindowKeeper.cs | 40 + OnTopReplica/NDesk/Options/Options.cs | 1042 +++++++++++ OnTopReplica/Native/CommonControls.cs | 30 + OnTopReplica/Native/ErrorMethods.cs | 37 + OnTopReplica/Native/FilesystemMethods.cs | 51 + OnTopReplica/Native/HT.cs | 14 + OnTopReplica/Native/HookMethods.cs | 50 + OnTopReplica/Native/HotKeyMethods.cs | 78 + OnTopReplica/Native/ITaskBarList.cs | 45 + OnTopReplica/Native/InputMethods.cs | 25 + OnTopReplica/Native/MK.cs | 14 + OnTopReplica/Native/MessagingMethods.cs | 34 + OnTopReplica/Native/Point.cs | 36 + OnTopReplica/Native/Rectangle.cs | 55 + OnTopReplica/Native/VirtualKeyState.cs | 193 ++ OnTopReplica/Native/WM.cs | 28 + OnTopReplica/Native/WMSZ.cs | 15 + OnTopReplica/Native/WindowManagerMethods.cs | 103 ++ OnTopReplica/Native/WindowMethods.cs | 141 ++ OnTopReplica/Native/WindowsSevenMethods.cs | 20 + OnTopReplica/NativeToolStripRenderer.cs | 601 +++++++ OnTopReplica/NotificationIcon.cs | 85 + OnTopReplica/OnTopReplica.csproj | 532 ++++++ OnTopReplica/OnTopReplica.csproj.user | 23 + OnTopReplica/OnTopReplica.exe.manifest | 26 + OnTopReplica/PlatformSupport.cs | 93 + OnTopReplica/Platforms/DebugPlatform.cs | 22 + OnTopReplica/Platforms/Other.cs | 16 + OnTopReplica/Platforms/WindowsEight.cs | 12 + OnTopReplica/Platforms/WindowsSeven.cs | 61 + OnTopReplica/Platforms/WindowsVista.cs | 52 + OnTopReplica/Platforms/WindowsXp.cs | 15 + OnTopReplica/PluginRegionLocator.cs | 102 ++ OnTopReplica/Program.cs | 128 ++ OnTopReplica/Properties/AssemblyInfo.cs | 37 + OnTopReplica/Properties/Resources.resx | 239 +++ OnTopReplica/Properties/Settings.settings | 57 + OnTopReplica/Properties/app.manifest | 26 + OnTopReplica/ScreenPosition.cs | 87 + OnTopReplica/SidePanel.cs | 73 + OnTopReplica/SidePanelContainer.Designer.cs | 46 + OnTopReplica/SidePanelContainer.cs | 108 ++ OnTopReplica/SidePanelContainer.resx | 120 ++ .../SidePanels/AboutPanel.Designer.cs | 74 + OnTopReplica/SidePanels/AboutPanel.cs | 32 + OnTopReplica/SidePanels/AboutPanel.resx | 120 ++ .../SidePanels/AboutPanelContents.Designer.cs | 265 +++ OnTopReplica/SidePanels/AboutPanelContents.cs | 99 ++ .../SidePanels/AboutPanelContents.resx | 120 ++ .../SidePanels/GroupSwitchPanel.Designer.cs | 131 ++ OnTopReplica/SidePanels/GroupSwitchPanel.cs | 89 + OnTopReplica/SidePanels/GroupSwitchPanel.resx | 120 ++ .../SidePanels/OptionsPanel.Designer.cs | 200 +++ OnTopReplica/SidePanels/OptionsPanel.cs | 127 ++ OnTopReplica/SidePanels/OptionsPanel.resx | 120 ++ .../SidePanels/RegionPanel.Designer.cs | 339 ++++ OnTopReplica/SidePanels/RegionPanel.cs | 321 ++++ OnTopReplica/SidePanels/RegionPanel.resx | 123 ++ OnTopReplica/StartupOptions/CliStatus.cs | 21 + .../CommandLineReportForm.Designer.cs | 116 ++ .../StartupOptions/CommandLineReportForm.cs | 30 + .../StartupOptions/CommandLineReportForm.resx | 1574 +++++++++++++++++ OnTopReplica/StartupOptions/Factory.cs | 123 ++ .../StartupOptions/FourValueTypeConverter.cs | 71 + OnTopReplica/StartupOptions/Options.cs | 163 ++ .../StartupOptions/PaddingConverter.cs | 21 + .../StartupOptions/RectangleConverter.cs | 23 + .../StartupOptions/ScreenPositionConverter.cs | 50 + OnTopReplica/StartupOptions/SizeConverter.cs | 69 + OnTopReplica/StoredRegion.cs | 32 + OnTopReplica/StoredRegionArray.cs | 147 ++ OnTopReplica/StoredRegionComparer.cs | 28 + OnTopReplica/Strings.cs.resx | 655 +++++++ OnTopReplica/Strings.da.resx | 650 +++++++ OnTopReplica/Strings.de.resx | 655 +++++++ OnTopReplica/Strings.es.resx | 650 +++++++ OnTopReplica/Strings.fi.resx | 15 + OnTopReplica/Strings.it.resx | 655 +++++++ OnTopReplica/Strings.no.resx | 655 +++++++ OnTopReplica/Strings.pl.resx | 655 +++++++ OnTopReplica/Strings.pt-BR.resx | 655 +++++++ OnTopReplica/Strings.pt.resx | 655 +++++++ OnTopReplica/Strings.resx | 673 +++++++ OnTopReplica/Strings.ru.resx | 647 +++++++ OnTopReplica/Strings.tr.resx | 652 +++++++ OnTopReplica/Strings.zh-Hans.resx | 655 +++++++ OnTopReplica/ThumbnailPanel.cs | 484 +++++ OnTopReplica/ThumbnailRegion.cs | 222 +++ .../Update/UpdateCheckCompletedEventArgs.cs | 15 + OnTopReplica/Update/UpdateInformation.cs | 101 ++ OnTopReplica/Update/UpdateManager.cs | 278 +++ OnTopReplica/Win32Helper.cs | 126 ++ OnTopReplica/WindowHandle.cs | 141 ++ OnTopReplica/WindowListMenuManager.cs | 202 +++ .../WindowSeekers/BaseWindowSeeker.cs | 68 + .../WindowSeekers/ByClassWindowSeeker.cs | 41 + .../WindowSeekers/ByTitleWindowSeeker.cs | 46 + OnTopReplica/WindowSeekers/IWindowSeeker.cs | 23 + .../WindowSeekers/PointBasedWindowSeeker.cs | 55 + .../WindowSeekers/RestoreWindowSeeker.cs | 61 + .../WindowSeekers/TaskWindowSeeker.cs | 52 + OnTopReplica/WindowsFormsExtensions.cs | 50 + OnTopReplica/app.config | 60 + OriginalAssets/Logo.png | Bin 0 -> 34066 bytes OriginalAssets/icon.pdn | Bin 0 -> 30322 bytes OriginalAssets/new-icon.png | Bin 0 -> 24269 bytes 195 files changed, 24267 insertions(+) create mode 100644 .hgignore create mode 100644 Docs/Settings List.txt create mode 100644 Installer/DotNet.nsh create mode 100644 Installer/header.bmp create mode 100644 Installer/script.nsi create mode 100644 Installer/update.xml create mode 100644 Installer/wix-compile.bat create mode 100644 Installer/wix-package.wxs create mode 100644 Lib/WindowsFormsAero.dll create mode 100644 Lib/WindowsFormsAero.pdb create mode 100644 Lib/WindowsFormsAero.xml create mode 100644 OnTopReplica.sln create mode 100644 OnTopReplica/AspectRatioForm.cs create mode 100644 OnTopReplica/Assets/25.png create mode 100644 OnTopReplica/Assets/arrow_down.png create mode 100644 OnTopReplica/Assets/arrow_up.png create mode 100644 OnTopReplica/Assets/back.png create mode 100644 OnTopReplica/Assets/clickforwarding.png create mode 100644 OnTopReplica/Assets/component.png create mode 100644 OnTopReplica/Assets/desktop.png create mode 100644 OnTopReplica/Assets/empty-window.ico create mode 100644 OnTopReplica/Assets/flag_czech.png create mode 100644 OnTopReplica/Assets/flag_danish.png create mode 100644 OnTopReplica/Assets/flag_germany.png create mode 100644 OnTopReplica/Assets/flag_ita.png create mode 100644 OnTopReplica/Assets/flag_poland.png create mode 100644 OnTopReplica/Assets/flag_spanish.png create mode 100644 OnTopReplica/Assets/flag_usa.png create mode 100644 OnTopReplica/Assets/flags.pdn create mode 100644 OnTopReplica/Assets/fullscreen.png create mode 100644 OnTopReplica/Assets/groupmode.png create mode 100644 OnTopReplica/Assets/icon-new-red.ico create mode 100644 OnTopReplica/Assets/icon-new.ico create mode 100644 OnTopReplica/Assets/icon.ico create mode 100644 OnTopReplica/Assets/icon.png create mode 100644 OnTopReplica/Assets/list.png create mode 100644 OnTopReplica/Assets/newicon.png create mode 100644 OnTopReplica/Assets/pos_bottomleft.pdn create mode 100644 OnTopReplica/Assets/pos_bottomleft.png create mode 100644 OnTopReplica/Assets/pos_bottomright.png create mode 100644 OnTopReplica/Assets/pos_center.png create mode 100644 OnTopReplica/Assets/pos_null.png create mode 100644 OnTopReplica/Assets/pos_topleft.png create mode 100644 OnTopReplica/Assets/pos_topright.png create mode 100644 OnTopReplica/Assets/reduce.png create mode 100644 OnTopReplica/Assets/regions.png create mode 100644 OnTopReplica/Assets/regions_new.png create mode 100644 OnTopReplica/Assets/screenshot-icon.ico create mode 100644 OnTopReplica/Assets/window16.png create mode 100644 OnTopReplica/Assets/window_border16.png create mode 100644 OnTopReplica/Assets/window_multiple.pdn create mode 100644 OnTopReplica/Assets/window_multiple16.ico create mode 100644 OnTopReplica/Assets/window_multiple16.png create mode 100644 OnTopReplica/Assets/window_multiple48.png create mode 100644 OnTopReplica/Assets/window_opacity16.png create mode 100644 OnTopReplica/Assets/window_opacity_new.png create mode 100644 OnTopReplica/Assets/window_switch.pdn create mode 100644 OnTopReplica/Assets/window_switch.png create mode 100644 OnTopReplica/Assets/windows.png create mode 100644 OnTopReplica/Assets/x-oblique.png create mode 100644 OnTopReplica/Assets/xiao_add.png create mode 100644 OnTopReplica/Assets/xiao_arrow.png create mode 100644 OnTopReplica/Assets/xiao_delete.png create mode 100644 OnTopReplica/Assets/xiao_down.png create mode 100644 OnTopReplica/Assets/xiao_help.png create mode 100644 OnTopReplica/Assets/xiao_ok.png create mode 100644 OnTopReplica/Assets/xiao_up.png create mode 100644 OnTopReplica/Assets/xiao_wrench.png create mode 100644 OnTopReplica/CREDITS.txt create mode 100644 OnTopReplica/CloneClickEventArgs.cs create mode 100644 OnTopReplica/CloseRequestEventArgs.cs create mode 100644 OnTopReplica/FocusedTextBox.cs create mode 100644 OnTopReplica/GeometryExtensions.cs create mode 100644 OnTopReplica/HotKeyTextBox.cs create mode 100644 OnTopReplica/IMessagePumpProcessor.cs create mode 100644 OnTopReplica/ImageComboBox.cs create mode 100644 OnTopReplica/LICENSE.txt create mode 100644 OnTopReplica/MainForm.Designer.cs create mode 100644 OnTopReplica/MainForm.cs create mode 100644 OnTopReplica/MainForm.resx create mode 100644 OnTopReplica/MainForm_ChildForms.cs create mode 100644 OnTopReplica/MainForm_Features.cs create mode 100644 OnTopReplica/MainForm_Gui.cs create mode 100644 OnTopReplica/MainForm_MenuEvents.cs create mode 100644 OnTopReplica/MessagePumpManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs create mode 100644 OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/HotKeyManager.cs create mode 100644 OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs create mode 100644 OnTopReplica/MessagePumpProcessors/WindowKeeper.cs create mode 100644 OnTopReplica/NDesk/Options/Options.cs create mode 100644 OnTopReplica/Native/CommonControls.cs create mode 100644 OnTopReplica/Native/ErrorMethods.cs create mode 100644 OnTopReplica/Native/FilesystemMethods.cs create mode 100644 OnTopReplica/Native/HT.cs create mode 100644 OnTopReplica/Native/HookMethods.cs create mode 100644 OnTopReplica/Native/HotKeyMethods.cs create mode 100644 OnTopReplica/Native/ITaskBarList.cs create mode 100644 OnTopReplica/Native/InputMethods.cs create mode 100644 OnTopReplica/Native/MK.cs create mode 100644 OnTopReplica/Native/MessagingMethods.cs create mode 100644 OnTopReplica/Native/Point.cs create mode 100644 OnTopReplica/Native/Rectangle.cs create mode 100644 OnTopReplica/Native/VirtualKeyState.cs create mode 100644 OnTopReplica/Native/WM.cs create mode 100644 OnTopReplica/Native/WMSZ.cs create mode 100644 OnTopReplica/Native/WindowManagerMethods.cs create mode 100644 OnTopReplica/Native/WindowMethods.cs create mode 100644 OnTopReplica/Native/WindowsSevenMethods.cs create mode 100644 OnTopReplica/NativeToolStripRenderer.cs create mode 100644 OnTopReplica/NotificationIcon.cs create mode 100644 OnTopReplica/OnTopReplica.csproj create mode 100644 OnTopReplica/OnTopReplica.csproj.user create mode 100644 OnTopReplica/OnTopReplica.exe.manifest create mode 100644 OnTopReplica/PlatformSupport.cs create mode 100644 OnTopReplica/Platforms/DebugPlatform.cs create mode 100644 OnTopReplica/Platforms/Other.cs create mode 100644 OnTopReplica/Platforms/WindowsEight.cs create mode 100644 OnTopReplica/Platforms/WindowsSeven.cs create mode 100644 OnTopReplica/Platforms/WindowsVista.cs create mode 100644 OnTopReplica/Platforms/WindowsXp.cs create mode 100644 OnTopReplica/PluginRegionLocator.cs create mode 100644 OnTopReplica/Program.cs create mode 100644 OnTopReplica/Properties/AssemblyInfo.cs create mode 100644 OnTopReplica/Properties/Resources.resx create mode 100644 OnTopReplica/Properties/Settings.settings create mode 100644 OnTopReplica/Properties/app.manifest create mode 100644 OnTopReplica/ScreenPosition.cs create mode 100644 OnTopReplica/SidePanel.cs create mode 100644 OnTopReplica/SidePanelContainer.Designer.cs create mode 100644 OnTopReplica/SidePanelContainer.cs create mode 100644 OnTopReplica/SidePanelContainer.resx create mode 100644 OnTopReplica/SidePanels/AboutPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/AboutPanel.cs create mode 100644 OnTopReplica/SidePanels/AboutPanel.resx create mode 100644 OnTopReplica/SidePanels/AboutPanelContents.Designer.cs create mode 100644 OnTopReplica/SidePanels/AboutPanelContents.cs create mode 100644 OnTopReplica/SidePanels/AboutPanelContents.resx create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.cs create mode 100644 OnTopReplica/SidePanels/GroupSwitchPanel.resx create mode 100644 OnTopReplica/SidePanels/OptionsPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/OptionsPanel.cs create mode 100644 OnTopReplica/SidePanels/OptionsPanel.resx create mode 100644 OnTopReplica/SidePanels/RegionPanel.Designer.cs create mode 100644 OnTopReplica/SidePanels/RegionPanel.cs create mode 100644 OnTopReplica/SidePanels/RegionPanel.resx create mode 100644 OnTopReplica/StartupOptions/CliStatus.cs create mode 100644 OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs create mode 100644 OnTopReplica/StartupOptions/CommandLineReportForm.cs create mode 100644 OnTopReplica/StartupOptions/CommandLineReportForm.resx create mode 100644 OnTopReplica/StartupOptions/Factory.cs create mode 100644 OnTopReplica/StartupOptions/FourValueTypeConverter.cs create mode 100644 OnTopReplica/StartupOptions/Options.cs create mode 100644 OnTopReplica/StartupOptions/PaddingConverter.cs create mode 100644 OnTopReplica/StartupOptions/RectangleConverter.cs create mode 100644 OnTopReplica/StartupOptions/ScreenPositionConverter.cs create mode 100644 OnTopReplica/StartupOptions/SizeConverter.cs create mode 100644 OnTopReplica/StoredRegion.cs create mode 100644 OnTopReplica/StoredRegionArray.cs create mode 100644 OnTopReplica/StoredRegionComparer.cs create mode 100644 OnTopReplica/Strings.cs.resx create mode 100644 OnTopReplica/Strings.da.resx create mode 100644 OnTopReplica/Strings.de.resx create mode 100644 OnTopReplica/Strings.es.resx create mode 100644 OnTopReplica/Strings.fi.resx create mode 100644 OnTopReplica/Strings.it.resx create mode 100644 OnTopReplica/Strings.no.resx create mode 100644 OnTopReplica/Strings.pl.resx create mode 100644 OnTopReplica/Strings.pt-BR.resx create mode 100644 OnTopReplica/Strings.pt.resx create mode 100644 OnTopReplica/Strings.resx create mode 100644 OnTopReplica/Strings.ru.resx create mode 100644 OnTopReplica/Strings.tr.resx create mode 100644 OnTopReplica/Strings.zh-Hans.resx create mode 100644 OnTopReplica/ThumbnailPanel.cs create mode 100644 OnTopReplica/ThumbnailRegion.cs create mode 100644 OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs create mode 100644 OnTopReplica/Update/UpdateInformation.cs create mode 100644 OnTopReplica/Update/UpdateManager.cs create mode 100644 OnTopReplica/Win32Helper.cs create mode 100644 OnTopReplica/WindowHandle.cs create mode 100644 OnTopReplica/WindowListMenuManager.cs create mode 100644 OnTopReplica/WindowSeekers/BaseWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/IWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/PointBasedWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs create mode 100644 OnTopReplica/WindowSeekers/TaskWindowSeeker.cs create mode 100644 OnTopReplica/WindowsFormsExtensions.cs create mode 100644 OnTopReplica/app.config create mode 100644 OriginalAssets/Logo.png create mode 100644 OriginalAssets/icon.pdn create mode 100644 OriginalAssets/new-icon.png diff --git a/.hgignore b/.hgignore new file mode 100644 index 0000000..e69de29 diff --git a/Docs/Settings List.txt b/Docs/Settings List.txt new file mode 100644 index 0000000..b54e994 --- /dev/null +++ b/Docs/Settings List.txt @@ -0,0 +1,7 @@ +OPTIONS + ++ Language + Drop down list with icons + Restart notice + ++ Shortcuts \ No newline at end of file diff --git a/Installer/DotNet.nsh b/Installer/DotNet.nsh new file mode 100644 index 0000000..055b392 --- /dev/null +++ b/Installer/DotNet.nsh @@ -0,0 +1,32 @@ +# .NET Installation checker + +!macro HasDotNet4 OutVar + Push "Install" ;reg key + Push "Software\Microsoft\NET Framework Setup\NDP\v4\Client" ;v4.0 client reg node + Call HasDotNet4Core + Pop ${OutVar} +!macroend + +!define HasDotNet4 "!insertmacro HasDotNet4" + +Function HasDotNet4Core + Pop $R0 ;reg node to check + Pop $R1 ;reg key + + ReadRegDWORD $R3 HKLM $R0 $R1 + + ;MessageBox MB_OK "$R0 \ $R1 value is $R3" + ;IntOp $R8 $R3 % 1 ;logical AND with 1 (should evaluate to 1 in $R8) + + IntCmp $R3 1 has hasNot has ;jump if >= 1 + + has: + Push 1 + Goto exit + + hasNot: + Push 0 + Goto exit + + exit: +FunctionEnd diff --git a/Installer/header.bmp b/Installer/header.bmp new file mode 100644 index 0000000000000000000000000000000000000000..7326b9c94076c8120ed837e0ccc93af0066fe9d5 GIT binary patch literal 25818 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 KA>PL3{`nV$p^qy7 literal 0 HcmV?d00001 diff --git a/Installer/script.nsi b/Installer/script.nsi new file mode 100644 index 0000000..611c9c3 --- /dev/null +++ b/Installer/script.nsi @@ -0,0 +1,140 @@ +# INCLUDES +!include MUI2.nsh ;Modern interface +!include LogicLib.nsh ;nsDialogs +!include "DotNet.nsh" + +# INIT +Name "OnTopReplica" +InstallDir "$LOCALAPPDATA\OnTopReplica" +OutFile "OnTopReplica-Setup.exe" +RequestExecutionLevel user + +# REFS +!define REG_UNINSTALL "Software\Microsoft\Windows\CurrentVersion\Uninstall\OnTopReplica" +!define START_LINK_DIR "$STARTMENU\Programs\OnTopReplica" +!define START_LINK_RUN "$STARTMENU\Programs\OnTopReplica\OnTopReplica.lnk" +!define START_LINK_UNINSTALLER "$STARTMENU\Programs\OnTopReplica\Uninstall OnTopReplica.lnk" +!define UNINSTALLER_NAME "OnTopReplica-Uninstall.exe" +!define WEBSITE_LINK "http://www.klopfenstein.net/lorenz.aspx/ontopreplica" + +# GRAPHICS +!define MUI_ICON "..\OnTopReplica\Assets\icon-new.ico" +!define MUI_UNICON "..\OnTopReplica\Assets\icon-new-red.ico" +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_RIGHT +!define MUI_HEADERIMAGE_BITMAP "header.bmp" +!define MUI_HEADERIMAGE_UNBITMAP "header.bmp" +#!define MUI_WELCOMEFINISHPAGE_BITMAP "banner.bmp" +#!define MUI_UNWELCOMEFINISHPAGE_BITMAP "banner.bmp" + +# TEXT AND SETTINGS +!define MUI_PAGE_HEADER_TEXT "OnTopReplica" + +!define MUI_FINISHPAGE_RUN "$INSTDIR\OnTopReplica.exe" +;!define MUI_FINISHPAGE_RUN_TEXT "Run OnTopReplica now." + +;Do not skip to finish automatially +!define MUI_FINISHPAGE_NOAUTOCLOSE +!define MUI_UNFINISHPAGE_NOAUTOCLOSE + +# PAGE DEFINITIONS +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES + +# LANGUAGES +!insertmacro MUI_LANGUAGE "English" + +# INITIALIZATION AND ERROR CHECKING +Function .onInit + ${HasDotNet4} $R0 + ${If} $R0 == 1 + ;noop + ${Else} + MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "Microsoft .NET Framework 4.0 appears not to be installed.$\n$\nOnTopReplica requires .NET 4.0 to run: please install it before running the installer.$\n$\nDo you wish to proceed anyway?" IDOK proceedAnyway + Abort ".NET 4.0 required to install" + proceedAnyway: + ${EndIf} +FunctionEnd + +# CALLBACKS +Function RegisterApplication + ;Register uninstaller into Add/Remove panel (for local user only) + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayName" "OnTopReplica" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayIcon" "$\"$INSTDIR\OnTopReplica.exe$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "Publisher" "Lorenz Cuno Klopfenstein" + WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayVersion" "3.4" + WriteRegDWord HKCU "${REG_UNINSTALL}" "EstimatedSize" 992 ;KB + WriteRegStr HKCU "${REG_UNINSTALL}" "HelpLink" "${WEBSITE_LINK}" + WriteRegStr HKCU "${REG_UNINSTALL}" "URLInfoAbout" "${WEBSITE_LINK}" + WriteRegStr HKCU "${REG_UNINSTALL}" "InstallLocation" "$\"$INSTDIR$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "InstallSource" "$\"$EXEDIR$\"" + WriteRegDWord HKCU "${REG_UNINSTALL}" "NoModify" 1 + WriteRegDWord HKCU "${REG_UNINSTALL}" "NoRepair" 1 + WriteRegStr HKCU "${REG_UNINSTALL}" "UninstallString" "$\"$INSTDIR\${UNINSTALLER_NAME}$\"" + WriteRegStr HKCU "${REG_UNINSTALL}" "Comments" "Uninstalls OnTopReplica." + + ;Links + SetShellVarContext current + CreateDirectory "${START_LINK_DIR}" + CreateShortCut "${START_LINK_RUN}" "$INSTDIR\OnTopReplica.exe" + CreateShortCut "${START_LINK_UNINSTALLER}" "$INSTDIR\${UNINSTALLER_NAME}" +FunctionEnd + +Function un.DeregisterApplication + ;Deregister uninstaller from Add/Remove panel + DeleteRegKey HKCU "${REG_UNINSTALL}" + + ;Start menu links + SetShellVarContext current + RMDir /r "${START_LINK_DIR}" +FunctionEnd + +# INSTALL SECTIONS +Section "!OnTopReplica" OnTopReplica + SectionIn RO + + SetOutPath $INSTDIR + SetOverwrite on + + ;Ensure that old VistaControls.dll is removed + Delete "$INSTDIR\VistaControls.dll" + + ;Main installation + File "..\OnTopReplica\bin\Release\OnTopReplica.exe" + File "..\OnTopReplica\bin\Release\OnTopReplica.exe.config" + File "..\OnTopReplica\bin\Release\WindowsFormsAero.dll" + + ;Text stuff + File "..\OnTopReplica\bin\Release\CREDITS.txt" + File "..\OnTopReplica\bin\Release\LICENSE.txt" + + ;Install localization files + SetOutPath "$INSTDIR\it" + File "..\OnTopReplica\bin\Release\it\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\cs" + File "..\OnTopReplica\bin\Release\cs\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\da" + File "..\OnTopReplica\bin\Release\da\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\de" + File "..\OnTopReplica\bin\Release\de\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\es" + File "..\OnTopReplica\bin\Release\es\OnTopReplica.resources.dll" + SetOutPath "$INSTDIR\pl" + File "..\OnTopReplica\bin\Release\pl\OnTopReplica.resources.dll" + + ;Uninstaller + WriteUninstaller "$INSTDIR\${UNINSTALLER_NAME}" + Call RegisterApplication +SectionEnd + +Section "Uninstall" + ;Remove whole directory (no data is stored there anyway) + RMDir /r "$INSTDIR" + + ;Remove uninstaller + Call un.DeregisterApplication +SectionEnd diff --git a/Installer/update.xml b/Installer/update.xml new file mode 100644 index 0000000..e2a1f35 --- /dev/null +++ b/Installer/update.xml @@ -0,0 +1,6 @@ + + + 3.3.2.0 + 2011-06-07T01:00:00Z + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + \ No newline at end of file diff --git a/Installer/wix-compile.bat b/Installer/wix-compile.bat new file mode 100644 index 0000000..4564844 --- /dev/null +++ b/Installer/wix-compile.bat @@ -0,0 +1,2 @@ +"C:\Program Files (x86)\WiX Toolset v3.7\bin\candle.exe" wix-package.wxs +"C:\Program Files (x86)\WiX Toolset v3.7\bin\light.exe" wix-package.wixobj \ No newline at end of file diff --git a/Installer/wix-package.wxs b/Installer/wix-package.wxs new file mode 100644 index 0000000..7535d7f --- /dev/null +++ b/Installer/wix-package.wxs @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Lib/WindowsFormsAero.dll b/Lib/WindowsFormsAero.dll new file mode 100644 index 0000000000000000000000000000000000000000..3148026148ba2a2d82929e4245e859633fdd706a GIT binary patch literal 97280 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 literal 0 HcmV?d00001 diff --git a/Lib/WindowsFormsAero.pdb b/Lib/WindowsFormsAero.pdb new file mode 100644 index 0000000000000000000000000000000000000000..15f18562611cf04d66236b390b00a9edebaea946 GIT binary patch literal 249344 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 literal 0 HcmV?d00001 diff --git a/Lib/WindowsFormsAero.xml b/Lib/WindowsFormsAero.xml new file mode 100644 index 0000000..17ac4eb --- /dev/null +++ b/Lib/WindowsFormsAero.xml @@ -0,0 +1,1131 @@ + + + + WindowsFormsAero + + + + + Base form class that automatically sets its font according to the Windows UX guidelines. + + + + + Constructs a new Aero styled form. + + + + Common Task Dialog buttons. OK is the default button. + + + Stores a Task Dialog message that will be sent to a dialog in order to update its state. + + + Simple int, int message. + + + Simple int, bool message. + + + Simple bool, bool message. + + + Simple bool, int message. + + + Simple int, long (hi word and lo word) message. + + + Text updating message. + The string will be marshaled: the Message must be correctly disposed after use. + + + Navigation message. + The config structure will be marshaled: must be correctly disposed after use. + + + Text values that can be updated. + + + + Control style and notification constants + + + + Occurs when the split label is clicked. + + + Occurs when the split label is clicked, but before the associated + context menu is displayed by the control. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. + + + Gets or sets the associated context menu that is displayed when the split + glyph of the button is clicked. Exposed for backward compatibility. + + + Provides data for the clicking of split buttons and the opening + of context menus. + + + Represents the bounding box of the clicked button. + A menu should be opened, with top-left coordinates in the left-bottom point of + the rectangle and with width equal (or greater) than the width of the rectangle. + + + Set to true if you want to prevent the menu from opening. + + + Margins structure for the Glass Sheet effect. + + + + Returns whether a point in client coordinates is outside the margins defined by this instance. + + Point in client coordinates. + + + + Gets the margins value as a padding instance. + + + + + + Gets a static readonly 0-pixel margin. + This margin returns true on the IsNull property. + + + + + Gets whether this margin represents a negative measure on each side. + + + Used to specify non-existing margins on glass frames. + + + + + Gets whether this margin measures 0 pixels on each side. + + + + Displays a dialog box that can contain text, icons, buttons, command links, radio buttons and/or a progress bar. + + + Displays a task dialog that has a message. + The text to display. + + + Displays a task dialog that has a message and a title. + The text to display. + The title bar caption of the dialog. + + + Displays a task dialog that has a message, a title and an instruction. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + + + Displays a task dialog that has a message, a title, an instruction and one or more buttons. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + + + Displays a task dialog that has a message, a title, an instruction, one or more buttons and an icon. + The text to display. + The title bar caption of the dialog. + The instruction shown below the main text. + Value that specifies which button or buttons to display. + The icon to display. + + + Initializes a new Task Dialog instance without text. + + + Initializes a new Task Dialog instance with text. + The main instruction to display. + + + Initializes a new Task Dialog instance with an instruction and a title. + The main instruction to display. + The title of the Task Dialog. + + + Initializes a new Task Dialog instance with an instruction, a title and some content text. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + + + Initializes a new Task Dialog instance with an instruction, a title, some content text and a specific button. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. + + + Initializes a new Task Dialog instance with an instruction, a title, some content text, a specific button and an icon. + The main instruction to display. + The title of the Task Dialog. + The content text that will be displayes below the main instruction. + Specifies one or more buttons to be displayed on the bottom of the dialog, instead of the default OK button. + The icon to display. + + + Injects a virtual button click. + Numeric id of the clicked button. + + + Injects a virtual radio button click. + Numeric id of the clicked radio button. + + + Injects a virtual checkbox click. + New state of the verification checkbox. + Sets whether the checkbox should have focus after state change. + + + Enables or disables a button of the dialog. + Id of the button whose state will be changed. + New state of the button. + + + Enables or disables a radio button of the dialog. + Id of the radio button whose state will be changed. + New state of the button. + + + Creates a new Task Dialog setup and replaces the existing one. Note that the window will not be + destroyed and that you should keep the existing TaskDialog reference (event handlers will still be + registered). The existing Task Dialog will simply reset and use the options of the new one. + An instance of Task Dialog, whose settings will be copied into the existing dialog. + You may safely destroy the nextDialog instance after use (do not register to events on it). + + + Adds or removes an UAC Shield icon from a button. + Id of the button. + Sets whether to display a Shield icon or not. + + + Sets whether the dialog's progress bar should be in standard or in marquee mode. + True if the progress bar should be displayed in marquee mode (no explicit progress). + + + Sets whether the dialog's progress bar should be in standard or in marquee mode and sets its marquee speed. + True if the progress bar should be displayed in marquee mode (no explicit progress). + Speed of the progress bar in marquee mode. + + + Common native callback for Task Dialogs. Will route events to the user event handler. + TODO: Currently unused, would need complex marshaling of data. + + + Prepares the internal configuration structure. + Allocates some unmanaged memory, must always be followed by a PostConfig() call. + + + Frees the unmanages memory allocated by PreConfig(). + + + Displays the task dialog without an explicit parent. + + + Displays the task dialog with an explicit parent window. + Handle to the dialog's parent window. + + + Displays the task dialog with an explicit parent form. + Instance of the dialog's parent form. + + + Is true if the task dialog is currently displayed. + + + Gets or sets the title of the dialog. + + + Gets or sets the icon of the dialog, from a set of common icons. + + + Gets or sets the icon of the dialog, from a custom Icon instance. + + + Gets or sets the dialog's buttons, from one or more common button types. + + + Gets or sets a set of custom buttons which will be displayed on the dialog. + These buttons can also be shown as Command Links optionally. + + + Gets or sets the integer identificator of the dialog's default button. + + + Gets or sets a set of custom buttons which will be displayed as radio buttons. + + + Gets or sets the identificator of the enabled radio button by default. + + + Gets or sets the text that will be shown next to a verification checkbox. + + + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, + when the dialog is in expanded mode. + + + Gets or sets the text displayed on the control that enables the user to expand and collapse the dialog, + when the dialog is in collapsed mode. + + + Gets or sets the icon shown in the dialog's footer, from a set of common icons. + + + Gets or sets the icon shown in the dialog's footer, from a custom Icon instance. + + + Explicitly sets the desiderd width in pixels of the dialog. + Will be set automatically by the task dialog to an optimal size. + + + Gets or Sets the Main Instruction text of the TaskDialog. + Text written in blue and slightly bigger font in Windows Aero. + + + Gets or sets the Content text of the TaskDialog. + Text written with standard font, right below the Main instruction. + + + Gets or Sets the expanded information text, that will be optionally shown + by clicking on the Expand control. + + + Gets or Sets the Footer text. + + + Gets or sets the current Progress bar value. + + + Gets of sets the minimum value allowed by the Progress bar. + + + Gets or sets the maximum value allowed by the Progress bar. + + + Gets or sets the current Progress bar state. + Determines the bar's color and behavior. + + + Enables or disables Hyperlinks in the content (in the form of <A HREF="link">). + + + Gets or sets whether the dialog can be cancelled (ESC, ALT+F4 and X button) even if no Cancel button has been specified. + + + Gets or sets whether Command Link buttons should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). + + + Gets or sets whether Command Link buttons wihtout icon should be used instead of standard custom buttons (doesn't apply to custom buttons, like OK or Cancel). + + + Gets or sets whether the ExpandedInformation should be shown in the Footer area (instead of under the Content text). + + + Gets or sets whether the ExpandedInformation is visible on dialog creation. + + + Gets or sets whether the Verification checkbox should be checked when the dialog is shown. + + + Gets or sets whether a progress bar should be displayed on the dialog. + + + Sets or gets whether the user specified callback (if any) should be called every 200ms. + + + Gets or sets whether the dialog should be positioned centered on the parent window. + + + Enables or disables right to left reading order. + + + Gets or sets whether there should be a selected radio button by default when the dialog is shown. + + + Gets or sets whether the dialog may be minimized or not. + + + Occurs when the Task Dialog is first created and before it is displayed (is sent after Construction event). + + + Occurs when the user clicks a button or a command link. By default the Dialog is closed after the notification. + + + Occurs when the user clicks on a Hyperlink in the Content text. + + + Occurs when a navigation event is raised. + + + Occurs approximately every 200ms if the Task Dialog callback timer is enabled. + + + Occurs when the Task Dialog is destroyed and the handle to the dialog is not valid anymore. + + + Occurs when the user selects a radio button. + + + Occurs when the Task Dialog is constructed and before it is displayed (is sent before Creation event). + + + Occurs when the user switches the state of the Verification Checkbox. + + + Occurs when the user presses F1 when the Task Dialog has focus. + + + Occurs when the user clicks on the expand button of the dialog, before the dialog is expanded. + + + A standard WinForms text box presenting the common Vista "search" interface. + Reacts on user input by raising "SearchStarted" events. + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + Puts the focus on the text box and moves the caret to the end of the text, without selecting it. + + + + Raised when the Text of the search box has changed. + + + + + Raised after an interval after the last user input. + + + + + Raised when the user clicks on the X to cancel the search. + + + + Gets or sets the background Color of the button when the mouse hovers on it. + + + Gets or sets the ForeColor of the control when the search box is active. + + + Gets or sets the BackColor of the control when the search box is active. + + + Gets or sets the ForeColor of the control when the search box is inactive. + + + Gets or sets the BackColor of the control when the search box is inactive. + + + Temporary ForeColor property of the control. You should use InactiveForeColor and ActiveForeColor instead. + + + Temporary BackColor property of the control. You should use InactiveBackColor and ActiveBackColor instead. + + + Gets or sets the text that is shown on top of the text box when the user hasn't entered any text. + + + Gets or sets the font used in the search text box. + Equals to the Font property. + + + Gets or sets the font used to write the "inactivity label" on top of the control when the user hasn't entered any text. + + + + Overall Font property of the control. + Property changes are forwarded to the ActiveFont and InactiveFont property. + + + + Returns true if the user entered some text in the search textbox. + + + + Gets or sets the delay in milliseconds between when the text is edited + and the search event is raised. + + + + + Gets or sets whether the control raises a SearchStarted event after user input. + + + + + Gets or sets whether the control raises a SearchStarted event when the user hits the Enter key. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + Represents a custom button shown on a Task Dialog. + + + Instantiates a new custom button with an ID and a text. + Unique ID that will be returned by the Task Dialog if the button is clicked. + Use values greater than 8 to prevent conflicts with common buttons. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + Instantiates a new custom button with an ID and a text. + Common ID that will be returned by the Task Dialog if the button is clicked. + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + Unique ID that will be returned by the Task Dialog if the button is clicked. + + + Text label shown on the button. If you enable Command Links, a newline here + separates the upper from the lower string on the button. + + + + A Label containing some text that will be drawn with glowing border on top of the Glass Sheet effect. + + + + Size of the glow effect around the text. + + + Enables or disables the glow effect around the text. + + + Shadow type. + + + Gets or sets the horizontal text alignment setting. + + + Gets or sets the vertical text alignment setting. + + + Gets or sets whether the text will be laid out on a single line or on multiple lines. + + + Gets or sets whether the text lines over the label's border should be trimmed with an ellipsis. + + + Gets or sets whether the text should break only at the end of a word. + + + Gets or sets whether the text should be trimmed to the last word and an ellipse should be placed at the end of the line. + + + + A horizontal panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. + + + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. + + + + + Constructor + + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. + + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. + + + + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + + + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + + + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + + + + + Adds a handler on the Form that enables the user to move the window around + by clicking on a glass margin (or the title bar, as usual). + + The form that will be controlled. + Margins of the glass sheet. + + Eventual UI elements on the glass sheet will prevent the handler from receiving events + (except the ThemeText control, which manually redirects mouse events to the form). + + + + + Adds a handler on the Form that automatically paints the glass background black + + The form that will be controlled. + Margins of the glass sheet. + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + + + + Handler will be kept alive by the event references on the form. + As soon as the form is disposed, the handler will be disposed as well. + + + + + The labeled divider provides a Aero styled divider with an optional caption, + similiar to what is seen in the Control Panel dialogs of Windows 7 and Vista. + + + + + Constructor + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + The position of the divider line. + + + The default value is the center position which is consistent on how this type of divider has been used throughout the Windows + 7 and Vista UI's. + + + + + The color of the divider line. + + + + + The text that should be used for the caption. If the caption is set to blank and the divider position is set to center then + a simple divider line will be drawn. + + + After a change is made to the text property we want to invalidate the control so it triggers a new paint message being sent. + + + + + The positions that the divider line can be drawn in + + + + + The divider will be centered after the text caption and will begin drawing after the string. This is the default behavior. + + + + + The divider will be drawn below the text caption. + + + + + A vertical panel which resembles what is used for information and navigation in the Control Panel of Windows 7 and Vista. + + + This control is meant to be used on the left hand side of a form, it creates a graphic border on the right hand side. Also + I have VB code for this control if anyone needs it, just send me an e-mail at bpell@indiana.edu or blakepell@hotmail.com. + + + + + Constructor + + + We are by default setting the background color to Color.Transparent. The reason for this is that a lot of controls that will + be used with this, namingly the Label and LinkLabel default their back color to the color of the panel and for those controls + to display properly on this panel, their BackColor will need to be Color.Transparent (otherwise, they'll display as a black + box). This should help to isolate the developer from having to research this. + + To reduce flicker, especially when glass is enabled, I had to set all three of the below styles. + + + + + + When a control is added, we will check the type and if it meets certain criteria will change some default behaviors of + the control so that it fits our theme by default. The developer can still change this as they desire after it's added. + + + + + + The actual painting of the background of our control. + + + + The colors in use here were extracted from an image of the Control Panel taken from a Windows 7 RC1 installation. + + + + + This procedure will redraw any control, given it's handl as an image on the form. This is necessary if you want to lay this + control on top of the glass surface of an Aero form. + + + + + + Handles incoming Windows Messages. + + + + On the paint event and if the RenderOnGlass is set to true, we will redraw the control as an image directly on + the form. This has a little extra overhead but also provides the ability to lay this control directly on the + glass and have it rendered correctly. + + + + + Whether or not the control needs to be rendered on the Glass surface. + + + This is false by default, it should only be toggled to true if the control needs to lay directly on + the glass surface of the form. + + + + Handle to a DWM Thumbnail. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Origin region from source window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Updates the thumbnail's display settings. + Drawing region on destination window. + Opacity. 0 is transparent, 255 opaque. + Visibility flag. + If true, only the client area of the window will be rendered. Otherwise, the borders will be be rendered as well. + + + Returns true if the handle is valid, false if the handle has been closed or hasn't been initialized. + + + Sets the thumbnail opacity value, from 0 to 255 (opaque). + + + Sets whether only the client area of the thumbnailed window should be shown or + the entire window area. + + + Area in the destination window on which the thumbnail should be drawn. + + + Region of the source window that should be drawn. + + + Sets whether the thumbnail should be drawn or not. + + + Gets the thumbnail's original size. + + + Main DWM class, provides Thumbnail registration, glass sheet effect and blur behind. + + + Registers a thumbnail to be drawn on a Windows Form. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The Windows Form instance on which to draw the thumbnail. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Registers a thumbnail to be drawn on a window. + The thumbnail will not be drawn until you update the thumbnail's properties calling Update(). + The handle (HWND) of the window on which the thumbnail will be drawn. + The handle (HWND) of the window that has to be drawn. + A Thumbnail instance, needed to unregister and to update properties. + + + Unregisters the thumbnail handle. + The handle is unvalid after the call and should not be used again. + A handle to a registered thumbnail. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + Enable the Aero "Blur Behind" effect on the whole client area. Background must be black. + + + + Enable the Aero "Blur Behind" effect on a specific region. Background of the region must be black. + + + Disables the Aero "Blur Behind" effect. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" into the client area. Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Extends the Aero "Glass Frame" to the whole client area ("Glass Sheet" effect). Background must be black. + + + Disables the Aero "Glass Frame". + + + Disables the Aero "Glass Frame". + + + + Sets a window's Flip 3D policy. + + Form whose policy is to be set. + Desired Flip 3D policy. + Is ignored on OSs that do not support Aero. + + + + Disallows Aero Peek on a window (or allows it). + + Form whose Aero Peek preview should be disabled. + True if Aero Peek should be disabled for the window. + Is ignored on OSs that do not support Aero Peek. + + + + Sets a window's state in order to exclude (or include) it in Aero Peek. + + Form whose Aero Peek exclusion state is to be set. + Set to true to exlude the window from Aero Peek. + Is ignored on OSs that do not support Aero Peek. + + + + Sets a window's state in order to exclude (or include) it in Aero Peek. + + Form whose Aero Peek exclusion state is to be set. + Set to true to exlude the window from Aero Peek. + Is ignored on OSs that do not support Aero Peek. + + + Returns the active windows on the current thread. + + + Sets the origin of the thumbnail and shows the thumbnail on the control. + The Form instance that will be thumbnailed. + True if the control should automatically update itself in case the thumbnailed + form changes size or is closed. + + + Forces and update of the thumbnail. + Use this method if you know that the thumbnailed window has been resized and the thumbnail control should react to these changes. + + + + Static class providing information about the current support for Vista-only features. + + + + + Gets whether the running operating system is Windows Vista or a more recent version. + + + + + Gets whether the running operating system is Windows Seven or a more recent version. + + + + + Gets whether the running operating system is Windows 8 or a more recent version. + + + + Is true if the DWM composition engine is currently enabled. + + + + Form that automatically handles glass margins and mouse dragging. + + + + + Construct a new form without glass margins. + + + + Gets or sets the glass margins of the form. + This property should be used when setting the margins from code. + + + Gets or sets the glass margins of the form. + This property should be used when setting the margins through the designer. + + + Gets or sets whether mouse dragging should be handled automatically. + + + Gets or sets whether the extended glass margin is enabled or not. + + + + Gets or sets whether the window title and icon should be hidden. + + + The window caption will still be visible, but title text and icon will not be. + A form with a hidden title will look like an Explorer window on Windows Vista or Windows 7. + + + + + Gets or sets whether the window caption should be hidden altogether. + + + Should be set before handle creation. + + + + + Applies a glow on the themed text. + + + + + Default glow size. + + + + + Glow size used commonly by Office 2007 in titles. + + + + + Precise glow effect. + + + + + Instantiates a new glow effect for themed text. + + Size of the glow effect. + + + + Gets or sets the size of the glow effect. + + + + Direct Task Dialog call. + + + Indirect Task Dialog call. Allows complex dialogs with interaction logic (via callback). + + + The Task Dialog config structure. + + + Flags used in TaskDialogConfig struct. + From CommCtrl.h. + + + Notifications returned by Task Dialogs to the callback. + From CommCtrl.h. + + + Messages that can be sent to Task Dialogs. + From CommCtrl.h. + + + + Determines a window's Flip 3D policy. + + + + + Default Flip 3D behavior. + + + + + Excludes the window from Flip 3D and hides it behind the animation. + + + + + Excludes the window from Flip 3D and shows it above the animation. + + + + Common Task Dialog icons. Determine the look of the main instruction. + + + Class that aggregates the results of an "indirect" Task Dialog. + + + Results returned by Task Dialogs when closed by the user. + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Common Controls library version 6.0 not loaded. Must run on Vista and must provide a manifest.. + + + + + Looks up a localized string similar to Desktop composition is not enabled.. + + + + + Looks up a localized string similar to Desktop composition is not supported by operating system.. + + + + + Looks up a localized string similar to Unable to get thumbnail's original size.. + + + + + Looks up a localized string similar to Unable to update thumbnail properties.. + + + + + Looks up a localized string similar to Source and target windows cannot be the same.. + + + + + Looks up a localized string similar to Native call to {0} failed.. + + + + + Looks up a localized string similar to Failed to create TaskDialog.. + + + + Gets or sets the cue text that is displayed on the TextBox control. + + + Gets or sets whether the Cue text should be displyed even when the control has keybord focus. + If true, the Cue text will disappear as soon as the user starts typing. + + + diff --git a/OnTopReplica.sln b/OnTopReplica.sln new file mode 100644 index 0000000..1c732a8 --- /dev/null +++ b/OnTopReplica.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual C# Express 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OnTopReplica", "OnTopReplica\OnTopReplica.csproj", "{E626BD6E-BF38-4EB7-A128-5CA6F40EF557}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs new file mode 100644 index 0000000..9701e3c --- /dev/null +++ b/OnTopReplica/AspectRatioForm.cs @@ -0,0 +1,238 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Runtime.InteropServices; +using System.Windows.Forms; +using OnTopReplica.Native; +using WindowsFormsAero.Dwm.Helpers; + +namespace OnTopReplica { + + /// + /// Form that automatically keeps a certain aspect ratio and resizes without flickering. + /// + public class AspectRatioForm : GlassForm { + + bool _keepAspectRatio = true; + + /// + /// Gets or sets whether the form should keep its aspect ratio. + /// + /// + /// Refreshes the window's size if set to true. + /// + [Description("Enables fixed aspect ratio for this form."), Category("Appearance"), DefaultValue(true)] + public bool KeepAspectRatio { + get { + return _keepAspectRatio; + } + set { + _keepAspectRatio = value; + + if (value) + RefreshAspectRatio(); + } + } + + double _aspectRatio = 1.0; + + /// + /// Gets or sets the form's aspect ratio that will be kept automatically when resizing. + /// + [Description("Determines this form's fixed aspect ratio."), Category("Appearance"), DefaultValue(1.0)] + public double AspectRatio { + get { + return _aspectRatio; + } + set { + if (value <= 0.0 || Double.IsInfinity(value)) + return; + + _aspectRatio = value; + } + } + + Padding _extraPadding; + + /// + /// Gets or sets some additional internal padding of the form that is ignored when keeping the aspect ratio. + /// + [Description("Sets some padding inside the form's client area that is ignored when keeping the aspect ratio."), + Category("Appearance")] + public Padding ExtraPadding { + get { + return _extraPadding; + } + set { + _extraPadding = value; + + if(KeepAspectRatio) + RefreshAspectRatio(); + } + } + + /// + /// Forces the form to update its height based on the current aspect ratio setting. + /// + public void RefreshAspectRatio() { + int newWidth = ClientSize.Width; + int newHeight = (int)((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical; + + //Adapt height if it doesn't respect the form's minimum size + Size clientMinimumSize = FromSizeToClientSize(MinimumSize); + if (newHeight < clientMinimumSize.Height) { + newHeight = clientMinimumSize.Height; + newWidth = (int)((newHeight - ExtraPadding.Vertical) * AspectRatio) + ExtraPadding.Horizontal; + } + + //Adapt height if it exceeds the screen's height + var workingArea = Screen.GetWorkingArea(this); + if (newHeight >= workingArea.Height) { + newHeight = workingArea.Height; + newWidth = (int)((newHeight - ExtraPadding.Vertical) * AspectRatio) + ExtraPadding.Horizontal; + } + + //Update size + ClientSize = new Size(newWidth, newHeight); + + //Move form vertically to adapt to new size + //REMOVED: allows the window to correctly be restored slightly off screen + /*if (Location.Y + Size.Height > workingArea.Y + workingArea.Height) { + int offsetY = (workingArea.Y + workingArea.Height) - (Location.Y + Size.Height); + Location = new Point(Location.X, Location.Y - offsetY); + }*/ + } + + /// + /// Adjusts the size of the form by a pixel increment while keeping its aspect ratio. + /// + /// Change of size in pixels. + public void AdjustSize(int pixelOffset) { + Size origSize = Size; + + //Resize to new width (clamped to max allowed size and minimum form size) + int newWidth = Math.Max(Math.Min(origSize.Width + pixelOffset, + SystemInformation.MaxWindowTrackSize.Width), + MinimumSize.Width); + + //Determine new height while keeping aspect ratio + int newHeight = (int)((newWidth - ExtraPadding.Horizontal - clientSizeConversionWidth) / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; + + //Apply and move form to recenter + Size = new Size(newWidth, newHeight); + int deltaX = Size.Width - origSize.Width; + int deltaY = Size.Height - origSize.Height; + Location = new System.Drawing.Point(Location.X - (deltaX / 2), Location.Y - (deltaY / 2)); + } + + /// + /// Updates the aspect ratio of the form and optionally forces a refresh. + /// + /// Size from which aspect ratio should be computed. + /// True if the size of the form should be refreshed to match the new aspect ratio. + public void SetAspectRatio(Size aspectRatioSource, bool forceRefresh) { + AspectRatio = ((double)aspectRatioSource.Width / (double)aspectRatioSource.Height); + _keepAspectRatio = true; + +#if DEBUG + System.Diagnostics.Trace.WriteLine(string.Format("Setting aspect ratio of {0} (for {1}).", AspectRatio, aspectRatioSource)); +#endif + + if (forceRefresh) { + RefreshAspectRatio(); + } + } + + #region Event overriding + + protected override void OnResizeEnd(EventArgs e) { + base.OnResizeEnd(e); + + //Ensure that the ClientSize of the form is always respected + //(not ensured by the WM_SIZING message alone because of rounding errors and the chrome space) + if (KeepAspectRatio) { + var newHeight = (int)Math.Round(((ClientSize.Width - ExtraPadding.Horizontal) / AspectRatio) + ExtraPadding.Vertical); + ClientSize = new Size(ClientSize.Width, newHeight); + } + } + + /// + /// Override WM_SIZING message to restrict resizing. + /// Taken from: http://www.vcskicks.com/maintain-aspect-ratio.php + /// Improved with code from: http://stoyanoff.info/blog/2010/06/27/resizing-forms-while-keeping-aspect-ratio/ + /// + protected override void WndProc(ref Message m) { + if (KeepAspectRatio && m.Msg == WM.SIZING) { + var rc = (Native.NRectangle)Marshal.PtrToStructure(m.LParam, typeof(Native.NRectangle)); + int res = m.WParam.ToInt32(); + + int width = (rc.Right - rc.Left) - clientSizeConversionWidth - ExtraPadding.Horizontal; + int height = (rc.Bottom - rc.Top) - clientSizeConversionHeight - ExtraPadding.Vertical; + + if (res == WMSZ.LEFT || res == WMSZ.RIGHT) { + //Left or right resize, adjust top and bottom + int targetHeight = (int)(width / AspectRatio); + int diffHeight = height - targetHeight; + + rc.Top += (int)(diffHeight / 2.0); + rc.Bottom = rc.Top + targetHeight + ExtraPadding.Vertical + clientSizeConversionHeight; + } + else if (res == WMSZ.TOP || res == WMSZ.BOTTOM) { + //Up or down resize, adjust left and right + int targetWidth = (int)(height * AspectRatio); + int diffWidth = width - targetWidth; + + rc.Left += (int)(diffWidth / 2.0); + rc.Right = rc.Left + targetWidth + ExtraPadding.Horizontal + clientSizeConversionWidth; + } + else if (res == WMSZ.RIGHT + WMSZ.BOTTOM || res == WMSZ.LEFT + WMSZ.BOTTOM) { + //Lower corner resize, adjust bottom + rc.Bottom = rc.Top + (int)(width / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; + } + else if (res == WMSZ.LEFT + WMSZ.TOP || res == WMSZ.RIGHT + WMSZ.TOP) { + //Upper corner resize, adjust top + rc.Top = rc.Bottom - (int)(width / AspectRatio) - ExtraPadding.Vertical - clientSizeConversionHeight; + } + + Marshal.StructureToPtr(rc, m.LParam, false); + } + + base.WndProc(ref m); + } + + #endregion + + #region ClientSize/Size conversion helpers + + int clientSizeConversionWidth, clientSizeConversionHeight; + + /// + /// Converts a client size measurement to a window size measurement. + /// + /// Size of the window's client area. + /// Size of the whole window. + public Size FromClientSizeToSize(Size clientSize) { + return new Size(clientSize.Width + clientSizeConversionWidth, clientSize.Height + clientSizeConversionHeight); + } + + /// + /// Converts a window size measurement to a client size measurement. + /// + /// Size of the whole window. + /// Size of the window's client area. + public Size FromSizeToClientSize(Size size) { + return new Size(size.Width - clientSizeConversionWidth, size.Height - clientSizeConversionHeight); + } + + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + clientSizeConversionWidth = Size.Width - ClientSize.Width; + clientSizeConversionHeight = Size.Height - ClientSize.Height; + } + + #endregion + + } + +} diff --git a/OnTopReplica/Assets/25.png b/OnTopReplica/Assets/25.png new file mode 100644 index 0000000000000000000000000000000000000000..e98a5dda4366693f7bae7194ede43e7da9befd9a GIT binary patch literal 639 zcmV-_0)YLAP)@Pd1f>O+aux zK?~z2D(hDve&Nl$xUO7raAe@weRt-adFFlRS?+K+z-P=vkLzF8=ROH>gSbLOkG^-r zE8-_YMJNdQ<;x4l3heiLh{xklsZ??%lj*_Z@d$3W8ypS?%U&**(dl#=olGXV-EQ|g z7!1n2UeD+Nolq{9b5^UhAc`WmTrSWHlcAr%Znq2T^;+=xe9&&UjRM>4RwCv=AOJR- z4Ui2+qY;e9W46ib^#UbPM-(SQ%we$$dTchE8)OxTMbk8>*Xv7c@oOv=;|REZqoS0g z19OZH@Z-wqbh1FF(}Bfe@svm;9_bs8ri4Nv8Smx9ddx8j;JKn^vza-&-7X}P$wz$y z#^h$R3537w?Yx6i_49SHSfm&CFCAPQS>AC(ESV-yDwXoI&SWyDje;QL5r-obMB)4r zU;F(&V~#{3fXBI`BG0jB(4I8lc|K3RY&Hu7oQjM&L)IQiS^O^27)z2Q34XsHEEWsY zYBgxJT8up$4nsPfX7?}{3_w-YA&&C$p(@^HyVus&6xB+%A_Q+*=z757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVN2)+ICY~;iAsWHS2@*yR>@O^BF=$KY z$YeMf>@Ivlq-NVg-t-))&Mt|RUYE=U%|ovWC;3Q79A#KJTkBeuNQ*O2KZB>MpUXO@ GgeCw)7e2)R literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/arrow_up.png b/OnTopReplica/Assets/arrow_up.png new file mode 100644 index 0000000000000000000000000000000000000000..b34489e747f6c4d65d4f2bb82693fe6535d8e783 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@q#X;^)4C~IxyaaMs(j9#r85lP9 zbN@+X1@aY=J%W507^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10LZZYq zq9iy!t)x7$D3u`~F*C13&(AePq0Cs%*lgwVN2)+I+MX_sAsWHS2@;zg*ss)M&umCs x^hGIK!AseUx5D(%<%VG8zb1mBUSC347&NW5uD!bX|2|L~gQu&X%Q~loCIAd3JJA3D literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/back.png b/OnTopReplica/Assets/back.png new file mode 100644 index 0000000000000000000000000000000000000000..d5cfc9f16a5141391fbb6051cc6382cd52c23a28 GIT binary patch literal 150765 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�l==v9-BOCPv*ENV#bGR0oHk z1Z!&Qo~`!bi90EZ47#l>on@oUVq2+lxI5+9oE>nLp8(BveFb-$Upw!IxPIE!lqQ?+ zVvB6HxTn*;MXI$~lEK|1%wT_wdS#<1jr*lAjkf`#@L$MLgLvdH*7;}CK6B5auXW94 ztZ^-2uW_wseylffSBrB+t1ve5p$Hu;brx@hQzmzXV;1Kn{XNJyo@DM$!XTWpCGh>UZBb0F0sKeNQ=_cJ@}iJWdKk=FX}-}^UM z$ky)Pf_tFG_;=00LV`k_1Ep@R2HAxo9%_%Sv1tV)EfH0ugV;9huCq3$wC-%k?y;@k z(`0LksO!s#m^UGU}3~FuZCsrH_)3d%!L}v6m7TW~Rh?}dh14q& z;DqDQRu~lGnnMi%EJ0A9TfRepdjZ|gHP6Ai&t;t^Qy;GS`W?^<$3 z=u&)2=#+Yh?c`NSH{y3o48|he1IhZ|9w8XPY0p z#b$T>b}MBDZKooKy+fIYLsHqC?Xql)m}GH&P!({uI@NK%3+Ur+iR@u*jxV>~9GCgi zCa*N=*C@a@Vz%o`fU<#~&RZ{n1Zn(rl62u`nmplJpB&~Izij(YJhGXqJqlQ>y=z#j z+?u!_iVOKGML8I8M~jz__O1qixMZ`JIp(n50W3>(+1w?%LdjeDV#S+cY!dPd)r-W% z>eoFQB@10@qzm-LvR73_()pSq#VhJU#XLo!{3UtOKXeY{g@dFa&rfd!6fG|zY7RW; zq%zvMN;U@!S%AM#0-6A%$S&5L zyO1f@94v7S*jSu{r9H+(X@#S-?5d$OMOE20MpoIH!>eo>u+LJzr_tJ!)oE3m(P3Q^ z*Jxc8QDa+)-S`SPN;y;tmB2NM0Zbu4DS!ZoO&;7N2g(K{SplW?83D!AbiX3|G;h=( zUWJro??OtFcM&BK$9@w6EA8Xs2>ZCa1C-dT{nVI*F3K+4i^eNbqulcBBJn#V0K_iL zJ)ataW5B^E-h%*3pi7Q@fD0VNEuZEKP`m+*7eMiJ$)$VXh1>2m3t~>XUd*!JL2Mh z-0qf6{ZW(6#h5$q2YD86t1OHCoic~J#Zb=O?9syc#;=>R$+wRAbwrNM#+Wp#FMU(& zHfYiq>(L4O9I&jz?A2$YG}IuOf;A|(KT+okR(oW#KJv?=t@6&JedtrpSn1ioSfMTF zy^k7XxgbxBQ-tDW;vCUC+8n`BryTAQ$6U@^hFsoa$3n>)#uDiwWwGLQVX4>CWfRf)$A@aKI@n^{IQs72*a3~1r8Rn2stB``DkaY?P37mx7b&o@g zMciF)*N)g8TSsZ#T}NrzWui1;FQpNwmpQ81wjPdBkK)}FQEgirU1w91)M{Oo)ooRo z)@fB9Q*ToqR&85~UHOs#00I>P6f(ui^Mia#>~j1{?6RROpCY>qpJLl|pJGayU#Wen zUkL>cLIPr!2*rC9+3vwxRN{O~?P4R%)R^=E+OC2_4$(RL93pqMQX}xLu5kB!3R#1Y z>D3${NUxA$`J;&UL)rxgp?JIIQM~|(r(1!8yGuS!66QI$;>8UvPC0ZZmpqzdSQFEj zJtELo{3eAY+RVcOO>hHK1(=j@5u{i&z(JE~a%dJn&<+;CInW2jkYXN_tIua~;Vf)z z4xNR;LngqXd(?4gkwbikq+>j4;)swE+{Lvsma=UX84PQ5xU8fZ%$?8#mE1&H6q3CdwmZ3JEUD(WLezJNWs2Q6>>KjP27#1?X0ido7rDFmoPT?Wm4A1 zq*#9*lxn-qkj4ZY+)srWoHc;u6Hz8_wIo;kkt|=lN}VlS>5{`<>6hcMBCv@1exQl5 z9Pj>mS5b&f!dy)7=1L&x5>c+?EmfXyu`!SLhD#oQk#nJFp>vsRp`lc{0CfkZc-8Y| zm713|CgnUsrQ-h>O6C7BAcPJ6wTIfR5lH|L+sSLJ;Q|@ty%*o@AQaU>y&q znR63LJ7ODRD~kD+-Sw2F-Szg3yX&cDz)}xb>L62ejeTuIm3>WE6{QL(SS6gKJf*{` zEU$lOX>z+&2{tf`v8PgqGbRNA<+gcv(@L&?DVbuC4q}_-Ut*U5DAIjPD5*%TQlMo2 zGHMcFNyNQ))GT{&FV?5nemByw81F*rF1(pOID z_X2dW@~HtBMezqDelB@bU*~*#Z$JVEp?D(Ya(6ADxw#h7U0n-lE-nQ$C&1$9luI)L z7`r@lyQSxg=;ZQX28364LNX-9GV!Ahya5H5KRu9tIlR{ zNI>-YY!<}S<+AD892O0(Ld9EE?C~>kl--8}c7Vk;YA@d!XV3vYt8 zURTBb9Qz^b+|nJ^#wJ^T8k=IZ#wnfti6oQ1T9m>6NQgNsagKPUyg>Sav_Q5(mMebW zki%adTu6I2s)D*Kq=CNFsZ{W`BwvgnMaf$NY!dSGq;CM0MSx|YYd-fiuOj{e*K+Br z&SlE^PNj;M<;CiGqOyPJ9Qwb{Vr6&Q5ZPU}L>3|`%XJ4S+{444MW#zHuCXS;cp);C z%E3cVD!a?x0!tQBEE0;W4k|PU38{>Bs^!lW^-_tFLDVdkGz_lNY7bE0C{R+1J&}lr zlX(_c;v4PTQNXwDskd*9tG91P+J*YVzA>(zVg@Mn0HqF~n9v5ULFcPFyc&R1*;R&D zQp$s>Y|A2QZA#-?Y>M;ytcvpoZ3`3HtP7$|)_FnYlw7>4D+j=2`9ny|=b2DAAaEipFocM|u`gBO)59VLAI4 zq2x)e~Ikxn^5 zj)298YrS(GUFV!j)52NQL1w0^;Ivp-eLO;x zclfvSf70axkW3cp5B4@`CTA-k`5xMW@%V4iBHnCBXKl(!-o7a-W&1|wY{pk;8E=qe zVa&advmS;0=RTeEb(BOcn|A`|_m=Ti0$j+nfFq@Wl7!uOC5xgC+)Z422Dxm{Ry&D9d5vT>c$ zX-ni-?vv{|Aab6IOryx}=i=J(=TNYdpIbm7fx+J~2Mj=YevgEzWPnN(^^<=Og-C_m!&&NL>!~KdQWH~WUmaa< zUl~OA!Vb3(~r*3yOxU^RoM`a}!!^a{y3QaHU;laD`nu zph*WXsexsb6vSl2L_m`Ohl%$qrR)g+AOYp}yP+8Wa))TYGR$C=+DG~o+eg4z!h8#< zp+S|Dki>3!Q1J*Oub_=Y?NSC`8GAPjV{7yyLMfXmQuj|NDn#(b8&A&*Icv)Jl#SvHy+ww0lXZROj- z*%6H~_dN%>+rxVJ+gz%cKWK8L1asG1%fxDs_Bd4OteLQrR+t9eDOjF z_CN#$iUs^a#e80&>J@$=TD(QddERBRe>S}$A<6Hh5QTV1iw7t~F=9b4An36}T0};& zhCsx3NQf-LH5v2&h5=xZfRObDU@PdMTI!BmGQur#dmR1-#sZB67}9O17FaT|F6bj& zg^K?^{tkR64e44k>L0+;j`XWFvB{$5_(n<-9K{S!8URW?AgM!bVge{NyBjFgyBi!T z0ZIj2r97&RQigGs(#UE`aRdN?yA*_0+2u#p+2tj)+U4dB*yNP#v(7@y+|z869$~Ug z!#E27u}i`6-{in@08(a`5C8`OEOGv2_Oa0JfHM1-fO2YdK!rn8K)FMtf0;wLU#UZw zZwWONpoDlAI|TWbI0QzUX#qL=S$>s2v;0h_`96iiT<=}2bWfi$ng@2)-Q5cSM}Y%G zb#^VFI^o)gcYGOK3mo+LAt4<=(Yh7U)p%)x3Q{;1(&bM1G?{Y&O&Z+5l4K1FMW|DR z73U=U+>>HnNGqG`T+HC;;UE}OVWJ(((B&~`kON?$qD5>EC!qiqTSFn+2JK-hT|R54 zHkZ9ao5%dgrGmXZu${dvYLNXyL_cS%R|DreT@hZ?kj=ILg18BrivWbZQIgI15)b|c zWxn7GLq2zXa3+0SLb~l|yHf1dx@R!gsPnjM3>BP@UCpf3jy0TBiUR(J(j37`jK8l? zXLDBsW;(pLC)H|sLyg-H)ui|ZKp<;=&K=G!eP_bBoDPCiR==G3V*235d z`fI@jtOfdf;e34O6+xkDo&YUgbh-WmfWS5K0YpB)$j1X-GGIrPkq;|WfCm<56^MMY ze!zO}JLDSo@bHu0Cn5M>>cMA#qoB_Lf8GIqc255r7C1~NmB=L1vMvWW3k?EDa1s*M zvVC@zGz`wwp4x8Ln$${Z0VvHFnQubsWd6M3V({lRl zQ{$TKlS8WQlHn?eaFqlo9&ebB3o5sdMT{YZqC6T-5*1iMiv%R$h+&8!fF;DY41kn5 z1p1az1AK~UegMfgzLVu${xjdZ{uhC#>5RZ5_Xx*5+)Q`%ETFj{4MU1WcXBUsFyePd z3}lK0!9A!N{9upTy@;mr03hzgbh%qGL*`n{khl~w#jXW(kw-C87)7x7#b?C4ir>WC zl3yk4g#7}RXBC@?H_kr?gzkX!i>iZr02~U^GFv!_jj<38Qo!B`?a&u+x9bWx+qHSD zZTbSv4<5CwttjTdiymZc@o!^qHdeAXD|6YK6q)R=0m?>s4*N@J0}A-{IIq55l_yxI zDinUEE#R+p%i*lqolgBEC3WZOz;xPb$71d(CllvGw0T#mN-*Z0%YR>-O*)8Zxhz|- z%sGqoPHd{(()2W&C2skGx1>cX3m~#0}zc&p}|R6^5up`2hz&<3JR_VMtlhq5&En zWQV^+I=~B&_w#X0x(OLcNDA?NG8Xick!ArVx0g<2!(B*abvsx<$?T$|E+K&-od^H@ zy_EKv!}hJk19mN$-IS)3cKgPp7F%;tE43l9nOYA>O!1A>+C7aFw0NmiP$gigh-sjd z$C#<5yBnz`h{d}asD)5Ll*u7Ks?I(y(qx|#S!)M6l+5s2`}BksN?P6kCAI#z zO>*rpH7RGnHZi8rJ|Vc;J|1wy1y)jH11s%ff~xE-E#80%`zR<93dd(*PzXQ?4y>dF z1(eeRp#VVR=U;|jlPY6)`;^eU0&D4>1&7!kjpropEf>VD4Zn$9GWW5a;3|$D0K~JH zX28!}TUxw;g#<)}pT1T?3bzuv+_RJ^a|a-RMC?|~79k4U3K@Lo0tOF-JvZq9pIvrV z!m9pF#LPS)WQ28akzUaq$Qp!n56BL(g{#=WRjd#J2y2I95qGblm;^@T?;_xLuV(^k1(RE2nH2*3lOe0*P{2-mE03=lhX+$Mr`Cigx z=2EgEfKv#kDI_Bxuv|lPFhE%6LHQ&!&jESy-MMR0bihC-a-eJ|1E6Gd!Cg8X+A}&S z?U`NFRybHo#R2=Kii4EK!a-Xz?$-mBdekVU#Ab(Dbiitmepvv)W@Gv82C4-RI7A7+ zD2_2Z6ymx7_w!@Sv^-qr>@quKN7dVBMb$ZEMAq4-hnpyAVJ7?3=z3~$a+iHl`9W%8 z!*NP{#S!~G8GW?4C~OjjR8uX01fhc!SVfHl6cK@c17aV7>)@a&hoGQJT0lSrEx^B$ z?iWx=_YJ6^d;3+;y#R`*Z#m5!4&%P3gXLOzQs4qmoLVl59IJj68socIdfy7V9&Vw9 zqgVielz>G6Xk>^o_adgmql6)LFJ+1ViNLj($pAG%Gwy#&HT!8kF24->uq8$!zsk2vI5akNuF?t1RX5Y zB8xHk`-UV>vM3_YVPR&z-NMjf)&fI`;#GNxa=x@g{j#J~HBVZmeo0gJA8?SaOCqA@ zl9cGVEF=1_D2Tz!I%3~t7vj)mU*hoP0OG)9FJkbjE75n!iRe79BU*oz5lz2{h=!lJ zL=9Z0WQYM+?BOOPD1gM0p4k&cLwNWH;XKb(Fa+lqq!an1`ydt$%xTV5=tLd~N*}`l zNp=s76yR`Z%jk4yP4A?&0Gg)k9{WbPn7Q&Gr5>s)9I!WKblTS@w^3^nn`u>vO%9a_ zP1N$ZCTdw+qkZX~CTai8W(V<{>BP}nsiJps?17$;5PzF9v-__ti!jTeHM@^12 zQIjGYsEP5d4)J*d)ID`a9b%hK&~{gk&|)(B9d<=E(xQWFsFA_dw20s;hcG|^QA2`W z08-@;5L8L`52|AL1ywVAvGxwEVtPTI0hJ7QzY2yMELGOy^=2-Lr~Gi|XW1G1_9Ee^Nln80OoBcXDmrD_9mlpdHvd`H2JsZt|l( zkG;)Mz}e~uK#YahAS~p53pd$pDCB~ZOSwwVS5fj~45wA*#-m7w=?~0lj05p5AxDW@fc|*R$elp(h zBM#p1C-zti<^iFDhb}zNAbg!MM_OL@u%@Mnr zf&u%gv`%VeQmaFGVyi=0VhgP_zL{D~0ut9a2S{v_LmtvD3m^a`ixde6ln!S}MN9!K z$$%wsR|73Ex`7rSQBU0y)nFf+M9_8@A7sQdpJME4JHv>sI6{w1>t#fQ*VDs7Y8^s@ zYw&v@)wJNCYFZG034j2IgCFksK;8hwE4Z5BiRccw1ynIzA!q+erW4%7(Z7OWjBI4; zOGbpc?(0fz-*t_;{gPN!bX2GeZeS=pOBgb*Qkv8gDHaNN5mGLQA#jI-Aob#Uma;e= zWo$OY^eAI7T}zpC*HStSGf`C6GKRf(EsGL6z_ZQ59!Ty9u65iH*UG<p7nXb+Xs_ zH8Iy3N_n3GqBW{~-p2rDwJMMQ5k^>6sq*;%MErrKSiC}2EPYQ^ELpB97Qc(QOj#mY zYABMt?ODuOvZsXdW>Tg7;(%fnHVJu)aDHT=tWffrv{1Z2QiLHzq*&@Q&C4zo@_CV^ zynjBuA|Yuz&&9*dAzCl+h_;J7g1F2lh)Y7E^NNV*xC&SROxINj(F0(*u1SgR>vE#| znv&?ht|bO<7>I%EuEfv{cL3u}9K9V*oVv4zICLYJ=)K`gv|Uyab-xISiX*6R08KGm zrHG6GgoJ{W#dXLy2uLi~a2e8R2I=j2{fxHUK6)$E3|N}7x*6t-ZU=KlmtB2E2cs^n z!@-o^MXkvhu&*xLZ(rGb%(k+6m{OiUNG(h2urEz+r4}c)I20wcI26P+(@5n(xc~)# zIAmd+iI^VO!bp#8VWa|>6hM-^yOECigPyRvkr^LjrtjHhro{r5-AKt|BFwbt^Z|#c zn&XVfu5+x2jx*e_nq%zHq)tXiXdNRc#N-edTtg24DE@%P4|)y=%`>=);So~HaL4Cv zLA7*O$T_fv;S^ZSG6q!Bjs8_kJ)A}7U(VLX5=?c|MVYGirdomj=ZfZwQd#;CU+P^> zlX#ZWM1VqwREv*P3u16ln{YhfAf9C$re_(80Z?e9+{&2%glX?u%AvTFux%lmfF_nz z+&+#~_A$WGYmB+`*K3RT>vY9}&zvfFYrQeW8`8~K<6O!5SX+Q8-h2xjA6fv(7kq#-A1jb* zy{9gb0ubpkb+H(dEyeZQ$`Ty4Es?#cER!sDDitkCsHHDTD5We6%4NRhl`mMJFA&XF z6vabyI1C8~=_Vu~P+Q(0y%lN(EKNwk%sG8D3@Os; z0ZUz0FT<4HO|MDoqF1MOI#gzK(<<@?Y2}rN?aCTY*p*fsvcm=;wJ43C7bLaQ^5HCb zds=9@ajgzHaV@m0xE4BEytMS#CR$o-Gc7f)m7W461C~T6A-0(j55>haGh%l)F?K^S zyBZnMQH}Jd$OcAaY#Tki;2=A!L@2LzJn1E-oWs~`3gS(;S*d- z^A4$DcmfQMU=tmHu-rmwnXVxwrZYZw3O2Ef!8J?+oJAj0!_oy-v$X+LEVX|nOBGbZ zRAlet%bT%D*n2}G?Yyp(n0}FncDHkdzEv#JJ$RmFOfFo5<5tFCyO*+<&>SG;YzNPB z7S*$yWA9$hp+L5fjaxa_%B766)1!*LBe;e4Q^G#Z_N)=kw%C5o5B`lvu}YZV8H!k2 z;3D5*uVgcsUICP^k#cP`mhis>EE@pI7lso4dcd;IP$K+HUo2RwFA=UWlv^t~$8o=R@3~&#I`VFVp^Ed03{00L`F9=!lRm)VMvWalDb$S zo#(`U<-=Ux#158EXg%FKw2tl>VuFLz!9f5=a4o|n7!DF@VmP4=F#;9??(2h1Ol@E- zOA}PXRtMIwRRL8TMPM~Y?qAK8MYV7x1xG~UmdgrJ&ozax^`eYlFpO9IwD7o|6%4os ziv=iDq@i!n?TLF@tuH~E^uI1eAuI23QJ|^zAP=fnI!hZJF zr2Xvg&;i@xQN!8nRLnsQf@8KMAVutr`Xbhs#vHN(H9Fp zfj%~r3RWA-1*<$8xF7np@K(Cl@mA=HMepN{C-12Xgv(V0I7L{9ckvd9m#Rv{OEl%u zx1cvQWwOPZGWjA+nc{WCh3Ycp0!^v>Rb7p0zDvFA6`yMHynrI^OTh)~{|q2~mpDZ4 zB{tD_nTvXZk7Au?Q8z?F({+h&QTJukC@(-k>>wc_fgwTpe?$Nrf^-|CWTexO(DdAr z6aBZP#Ne2W*f*vk2JUEy{#$y;1)z8mgSY$;eQ@nN2hI(z_KqvY*2W8}mg-+bO=ZK} z#-ja9b8bJiA#Z?IkD}g`+s~-Y8)Vev4lt^6`dO7(JUzMY;B z-_D3nXlKSHwzFar+E_6O?d)A~t;}dB3X0s*!U&IRWrfAIGD84PaC8$r2r)3Nj~&o( zlIJ&cN$h*zs?@vhg2=0SnCFSV%Ol*(au05xyM{I}T_C5B2Bsrq46SDx!s=Q2Fq}gV zuV-sQ>Y1vLI+iln#83blc~Biw7KmfE0Vb9>xRx#2)y@-?9~be7D^gzf6&bhgtcaa~ zJrHanGJPu846h0n&9j2-;8DqFUSayPkGvcGmJ;cmpf#+Sxo?gl`z-dN1} z+z}4qTq^v`xm3K?sYJ8}>Cq=nCBoIl63It~645GSspLb)Qt?WcD$xpWGyi@6R*bk; z@ZU8Q372ULgzspJL`zjg!X>I=(OYnm#oBV&8`^RO08zfKsZcD`m8%x0%N4JxD^P!w zD__x;V@R=9{gO-Le_+gnOtS_7$PgT35PMHOMDO%@k z$M){qF6}+H-CFzZc(?4m9oV%0R!HOEtpIcTEtmSHYnu9+U!{fv^VK1Ok7FTF6cmr;<>L(fm|rsd%*c24CXYIf^s`>f8h4jJYX z^z@?rjI`7qdTLT9Jvp(Ho|H&15)(U^@d*TD4?u~FBj~YM$0QJ}T?qsy8Zk1yof(M-WiQ;Rn|9cnRGCZq;cqo471v5m#i)s?!pBTrZF2UBz+0rXkg< zl1=fhU33zV19;%~;lbaFRBH$j3_^R! zc$J5?FAp6mfP*y&4!Q2ThV?Z*)^HVz$nKXA;LL$CClvN1C~y(7Zn41fLik?W6`@5I zc&-ZJ79wKr9Wk+QR6_LL#P@GX+uLtQ+uE)xTH9`^T3TaMtz>=5Q zN6Q5;Iq7}$Y{V?2aT)bT>FHf(>8V}6F;dJYnaRZm=t*h4w8WGyW_(g7YY%{ljqh}b zjqjqz#COtn#S_eEz!RC&!H!7mV26x*of&bs4xUb1FK>cic^IjNwfTeRv~77uv|wLYmM9mI}Zq z!_6E;L?c&*C=E4pBq3(D7!n0HumwT&Y<@^Rn~TVS*kNWaD}A4kS$SGaZ@Vm}HJy`E z3y+HIquaO?pIWY+PZh@&vH;>)$=%^u#r+AOZ1=9={peN0+Xij*su6teQN`Or%Dsxa z8O8fIu9cik_-tcS4&8_j7HSgIAo#h1a?xsl z@{vo$93apK&jpgEH&Xv-o-e&RJ{;i@VuC?N~3^+xoFOj@~Zr37B zv3#MXME;t#OtC;$p?noU%-2?FUe;A==IJZ{;X_jYKFvFT^lC2v*$)`@<6+;6hkh?o ztsy`$i1iRD070$?aBqN&xbD9$Ao^}V*8z(~faIFM0t(qC?jqy0IZ!OHJO{)A44Iyh zX&Amox=JgqTS;J0%kOYwI`#W z8JpD2+?~|Th)L{b?uzebMkjPJBNIEB0E8I^h|s~}gh0XZ1Scr5gBy_0!SRpp;QH+$ zxIVERZ0}ft?G;OKJOPXQu2zm)S})7B?q`wnf$IvVpGS3$Cq}i#-U~8)(ILJrrk$e= zZ(^&%n^-DH8DeHB0E#TEkt2<0;!46BxuUQpt|+vTBM50=^Fz&SZfGNy6JqAD0S%K> zU_FN((Z;1^>=#nuCiaczMU?6@V%yYxLffzwp0#fc&&s=+wFA!a6F}JxV15K7+k9&I z0EG8Fw8g82|E*^=Z?k8$;2Xe#6icwtt&;Z@Qn3x*wZbm~Te$0EdRd=G_n^hw$X)AF zA^6m}oWI5iZ&GwD<*hcB@;@?`3065(idH&Ti9T?wf`e3w-*c)IFE>^KkV@$?#|r6E zL%H~E0JFroM)syplX$UrllTp%8qz_e3w5RP*K}nv)F6uaDBS16IbH@N^K{k!fid?N zkes|^AWmG?62~toiKCa~#E~mf;_x*IaR_P9ehVNxVjto@5*`4s7lrr`;t+rs03`i@ zg#?CF-*vdo-{6SgG-5zAr*1e!C)|nzg{)aRNkE>jNhfK?8vp7Mtw_~cFALi{t_s?E zZU|ZjZt|P=-V!wR-sGDBkh$%usJ`i{sIK{%$kcpYQqz1xQr&W0R@r=0QQ34;QQmY* zQ`US(U)nb2QrtP_Rn$G^SI|A`Q_wx`lh--wmrLCC$!Wgfl2vy}n_2m*G^6OaFgHQpI+b%#cPlBgD+31)Djv;Cdbv;MhmD3n`fgg|?Na#5VP3Mb^c~ z1y-@Wf*pZo(m{BngKUF-fVM*4`_%Hb_|);g^{(Y_hBg6+uK~}s z_bTCfk80jJ-#Y$hA#J?1vAyh1BfB_jJZkwLJL7GNj%EB+PAJkHD+DW{4*LG}a}e2HSj!=j?+ulAJ3iTMUnpk z8WNZ`vR1hyY;V0JXluP9Xl=VHXl}bEYU;i&H1EC5Z#Zy=UEgzqTi1G(Z)&_Ks%g3; zs&2d@s%*R}t^hRU&DX?bP-*jZX>sEgM>RcH>PvJv{HkZoX$? zH_s!Xo9`aq#dF)!#dAe;-qXc(itFMUWAP@%xGtVPb5NigxFpw}p46*inkBD|wo)Ye8_>K2d?qT8fT^+n_0d@QzeBmH|HT>_q0SLhO z*0+wg*|%P}$)`^EwYN#Q5&F`*R$y@uj~d~6_Zs0k=rgR>0-jIty*1(OypI$2GFAsQ z@m9H43qN$O60UTvM2b}@T;WtHe9yU3vfQm&vdpzs_Ks_fbSXf28(QL2t$5R^TE5t& zO1=ns-LYD^(79Iinul4wAfQt@->pvh3Tl#h`U>?+i2pf24v>y&eOodAk4p+{hd?-A(tbn~@T14IQp6nsWOYGoVRBD4u^;#mbX z33lQE-VxU$*q(Dpw7upecU$Gp{2x;H@wY~{3BC(x5Nz?O6>f%$Yz7pYeCq{Y1C)(^ z4Z<&d>qHx%FMR4m>%D44>pV@O&pb>3q*k;B*PnQsL?8Q@gsc4;1goOExgW;#@>cpc z3Rbw+3g36C5xwVFg&L$%)aI96#cdk{x;?ts@=hLEk$))Z;RG^a%vhRwVAhjQW?8hwDeyk5(o6{jU#*u3( zNKPC@JaJ7!{Cr(QoVl(e&fjz-F5Pk`F5UEn0*Q+^BcLea!c9PQGXyc1`0bWI@#{?= z;`B`q;>0Z{V)&MhICN8u{Sf?jZp%??h|$(Xkq!syhWm7p1wWa7T@kiJt*BL6+OCM2 zka{(?UKX37hL(%M`libQQ_~fGZTmGrP0vk!_5M4&%Ds2E6@9n3GBs=q4FG+&jaH(ZmYnXf8S>#wPj8?S4U8g6J3 z&9`(3&Et;oZ4)kW?RPz6d+z$j^xO;F)pgG=x^2=ks$<+Ea_^)|__2GAVaM-kLXM8A zf(NcBf@+Qn1GD#X0+Rc=ekuKI-{gLdH{_Mv&+|;`<9Vd?@!XU9_^wI4d>6ptl+?#} zOzPnq6MOguK%(E%E6~RG@HBu$wWo)#jO!LC5_M037W?7GPmUwDB28sc2E{LI*@@M4Nzudv=Jn0Ldo26~6`2EZiB= z%-a#%EZ82@Ec`LFRk$s-NAyF^0m0Vt z{OU#Pee1=a`_@a=`P7R)^QsrG^{N-G@u?Smg6q{Db>fe_OoCP3Cdr3hb>fvlEut0C zJ;L`RI{C}}8pZFr)`*rN)q2Od20wRDBU<8ID|yS!q*&}~k#do%Nd-U@07SI_dKEy- zcQUD7aja3z11K-Kng4@;3}J_S?^PKJb5e42vH%Rg*oU3*eb-eM9RL&uuB$OZq9zXG znuKN;I)04Ujw>x^`+#Ma{NSwpo#)X@39l&$(7T~!R0+>RH%eTTU@gg<~ z&)tTwK6^WeICuu*9~Dy`xSl@Qn5yKz07cy2B^OE zlE?&SscpU@u4%j~s%p9{u57(3tU#SozJH8UdSHxGGH{z;jMS{K;gYbxbWxlS<<(sf z=a|k(vTM&vvT83#GionN(oL5nY4w-nsdbm+$@Q1zNp+VMiFKD0@%2{}dm65&f@5eZnryYBmj^-TGN3_tJ>KKnQ<==_tAfL|Z_1Po8Q z__bWp_~soEd8ZEYyx=09fCg}I+yRSg>HyCLa!MT#IHvXsjBo{ga=%cY&@a#?_KP$L z{d`qoFJGD1FI2?$@#SzD8GwX}T{LIo%{LGToh#&bhNLG2*OICWDErx5n;aaa;gmmh4_Xf>E*Lu|gw|dR1t__;`&JC)Uog38ioa;0%xzzs$ zi}XPh%Y*17%|$V~R8rIxa?}+Hz(Gn0I7m?NFF%0Tk2LClMSuo61V9eo)DXkaQRw7t zE%D2kj`(d%Py7mCez}Dj2RaS?3Kuzpag(#RJpc#*!p7h^Y!IHm?Mqy^69|P8m+r*0 zUmlHXyF41xdf`q)%b7cYO(#aZ8;_5=n-7i}>xXWu>UwX>OzqdiwQ!W0){Ek*=8LF7 zE{Vz;FNw>VkYWLrlAc?F;)CPd!Xp#Bf}v4C9&uBYYrZPVsk=Y|BFcg?;4UN}sW|Td zsX$i0ol+HL7H_&F+he*Yj|DKKV(KodcbP7$qU)}xBTZK|5vJ?< zu=-p2u!cK^kcJ88;KqAyLG9CC0mF}i{4f8$+wa;RiM}^}PxAil_ZY8%DG$%e>zH8w zRpFL>MC_U}#C1snASt~(0Kzw>4Dj`-{bF76fKUriGzo)3RpJ0&nba>*B=rkqiG2bo zq9mc0FNV8_;(Galggz0!?3jeR?}mnRY*fQOHmYU~URN=zf0of>dWE!IokD74r_esC zQ%H&E5ZFZ!BHO4Ap>%`M{wnhTZ$m_fa6>?|aJ`RN^tpe7c%7eFwAQ~-_Ni}^bWK2`FR(c z=|_NM6|@riz^6gB!pAIs-@8G++}kXF*UKzh=G!D$8q_X(d-tGZNoc3^Esr|+Vz+w5 z8_p)wAaD=&di84_4eAB%X7#J?X6<};v*u-Jo@@Pout2wL6k7H^$Zi!1ZD%N^gQv!g+czm0~P zFOEgmUmn|CcV%?9>C#wK&DpV#nvxg(RjoC9Nmtlpc#EYvj_=1Y?Fx{H!j(?v;2?L~1i93=^$B-We< zAQz+-Kunk9_>akAOc!LkOc!O*xQ;YkQbw3AE5iUxXx$}jcwf>4o33bsYOm=6OxJb( zwKt4@&0~%}hiARL&piwGy76a>=e0lgxL^4r!R^??U9O$8e$I_k?oKtgjE=?Ul*Zg+ z5`E@Du`YeTNSnS-q)rOBoPLQwGJ7qydpA8A==!3gY`k{5^d_ zZfw7hlYrkuuR0-T_Fqvmhi@zC2W~29T^AM9qN5V~_+Bw3s!M1W-3dTC#nw@s5-Vs2 z^b@o_vP1kMv<=z{V7?D;7j1#Q4Qm%|4s92H186pdwuv@IwoAU+)h*hPd654_@iE?d zoQMBByhF4uumuj%B>vQ=NdiEm9|tzeR{OU|KSEp;&?H+K&?NuBze&EruSx!%Uz1|F zPm}yzXqj)ba;Z;~;%)Cn)e_%k#hc+>(#0_Y$~XMm6pK6>6$_DWz2;Ji8ulZ6|LTTTk9LHlMs>Y&vnr(R^~$6>_VG>Q0Thn@)~-)SMpkuKr~#pz{1^XywJx zsPc96?AnMRZ8M4kIKR!wAt= zVePUFVeQf{BHAVEclV0dWgif%%RaZ-=G^|6k#=lMSF@OOefCCC@QLGGVReS(g zRs^-k-wSA#FZXX&EW_u^5SK!4`!=hV__e6t^l4Tv_G!_ey{lRj(WP1#*{ggluwA*p zt5G%Iqe1fuG|#h9GtaB}KQzVrVjraE5(@{WNMR=HG6%3gu>b=|=0t)6ke)+y@HX~aM%Bd0aW(PlT@CT; zq?$N2rXfyYpb;=Yj_p6+c5Fjz1sKgx)A8F*<`Z|E8cvKl*Pj@3t~);FXhN(xI_6jn zRUR92t~fg8RE}77Y}~o@#JF4W&*NT2r^kH@ejN+SKQ|tp_uE87?k^MJIcFv!vVNI} z$UHk4m410TI_=iOsMKqZf>O>s^hy4C#xrsMUFU?(F@1dV9d(@fnk=^Vf@F8ic}Yz5 zIdOE&IZ0IAd3j{*1$j6W28RiSLTWF{gK94*0&6cS0ucRcFUkE(mlZyU-Zht%o`A=r z`m)-+=8DFx^@hRq&^} zw9fj<+hzh~jraVebrYVF%G=JOqVrl|&d+Lo=0Q0xWv>K)hyjR*oj53BCJ%}kiGyNV z;-JIZFHAxb9A?KQ&gAq>*!9&#>g(oR}r1k4bT^19kTV|glt`Shy1h1 zPTAVHe#xil2ZU?#jtD+Z91^b%?U1etY?FQ%)GA*Y*ed@ZuuZWds7?J|aJzDOP`h#& zuHOl4Q!Nc>QNA763P9S_Zvu?P{;eb+y4QVMwF`aQbgu;xngwBfn)wlZ+E)TPbR--v zdH$yX=>r_S7C_hlWX?_cNH@7g>NzAgun`DQ$o-5#Xzxup%S|{7v=41vQu}YAGX)*6 z2%rFjgMfnsf>Y1m5>FHqoXdRBV*2`!{biH!(&cG z!{d$x!{f&M;W0zr(Fw<#V-qfrTh{Rj&&(5dz0-f5@J%~;H!$_gy};y4)1k??A4VmP zKaNS5c$^%6=V5x>rRl`jV|Qa>M(%~h?7!eEoorKdsagHyh$n%mBb>QNVY?R|Gy-L#LyJnJWEdKfHf zc@QEb9!B!pAB6MFGXdP{2@iJJHAi;-867kIh?Iepj0RZ%Nf;DU5(XudJwsyKq#?0Q z;W4>Y<8O+c{nzC?2ChiASDlh=&pa&Ow!2UELrjl+>#knOce{E3NG|~Ck!}Vso1m|; z-Wb&@`!cczfb__|i0G27ht`F6%07$ilC6#Cmad8Dlz$T0E&F(PzjSrZVd<*k3uh0^c_Me4jSMEB@`ec~Skkm!kUq;kUW}`AKQ3kNtN5V3Q_Us@z7D5gkS|kN9a1>1Kk~)Ak?g6xONyj*F z8?Hh^f%U#SXeW=N=!c8!8`WS23v0_~sB6ZR#IXrQ`>*$ut-sz=w49kxHT^uMY{V#r z`S=}8!|_pV{qZ|mxQ79N7;2#E6Jy3osN%%9WBIXhr_!V2P9-A%1S&c_=2CEY+$I0e zgk#>JaYN3b38(Bs6UHnk^YC5A^uu?Z(hlBrNcdWdiFjies z8Y(WR^$k}w+C!5rnhOtoRo9<}s;)f=Qk;A2D<7Klkk#C9mQ-9bh%0V7i>hxq39BdE z_%)NBy!shmZvDd`cFUs(R@=`6i|h zfb`10hBn6ZDZY&ElW&Obm9LNPk$oQ3BVPw-K0{m^*)3la*{%E}s#~@ikbH#eRgqot z4`chKEAxgWE3yxZ-rv zY_xe<#K09gCVQbvj5%;fXdp|pxD23y(^#OfxXavb`QR;V4q|U(KgQZg?Yj+NEFxh6 z7$h7oA^@2KWe$+NBrId%r3v_ z%BmQ3XI9ECCi>2NR=fpi+2)k}l5gS$pioy~@>5J<5-wdK9Z7d*mx4dlW0NUV-?2+>mT} z#zD!uX$NJ?Vh82#gmtTyhIFZxKyL+iY8D4~Y2OIy1|Xf<*8v9r(Jct<)V&JL59~C& z9N1-?2fY-~{T~LT^_UIOcG89*&e##%=V`>iB|7GlHz3-uFzUQi}2OzcAHM084Drw(sz2wxCoA~l$ zFVW@4o`N$o9{hb1PTYp;dQRzOJ-g(Ro>hEB&n&v)NH4kSL@T}KOf9|cN-ewTMya^t zX;*pA$F^$P*V^vs(*KaUwyu7lR@9#nq1dr-9|W=Q!7 zu2;wO1CV~@DuA>yx=;B5v;xq)AJMB?9@VFQcUQk^S^SW4Y5F1M+Zjg`OLp&7z7^UF zK)N+=gaVMzZr#G*Uc+n9f}n2wt3f@6`2gePpl;(l=s(-RA|0gVhz-#UH65`cnntXN z)?>Cr3)FnnmLN{r5q;+!uz|>gyKqpHbLVsmFx(`eA%OuPe+$r9+=T;oK}YNcM(9ak zpuLvbWe%L7+vIpV(y~#ExZ?oT-ch*C81`IHe*l=ay`v-`s%8j)Xc`B{)aHRPb^YMD zx^C~d#&l>>UUU4OwC1-NQPqVRQRS(7vhw2-(z4-ECF&0);7}G1kE;rYC$s=Wmv?kr z3qZ6vfF%3aq#^6rT|>t3gdu(S9ss%Lm~sRTa^$Wt>ByuZ@$g-J{NZ~B0Ac_fj=K-t zcZ@lB&v6%G^uha1kx<0pdoE!=&$@+PeBvE)>v#X)JAVWP-TWgk;I}8f{zqn9{RZzl z`wZN7_3oc?^Xi{+@f@6Sb03)TbQ_xXblp4ar-Rlx}!7 zN_%W3R()bNQT6kKbmf@`If~P>IkMvqQl$qT#z_VrM2NZ{28a$k2@w4HG>Cucu{ZbP zV^7X6({Ajc2?MM4vYJ_RK|?RRprsXF)KiPE80?EKJ5q|SIN23lcD60P>TF$f)!C}# zn#+#Tn;t)vjeBpeyzBF0^_1VX>IeQ?Yaa!FU;j9GOUt9kZ`&V6ZZ^+`d{aN`yQzNM zWn;%}^;a!dBpY%@Bwxhulda!9Ap1OeK)DWZtc@K~eHuHYUITp`JE&g0dr3l7BKMYzpn2KG!yXfPsw3+>^XaFA;pi~6rZNZTweWD**3RQ~zY@81KB z7MB4qcTn^LmZ4Ee`_LUR0Fkr;n&zQVSrbkmng>S}W;jXx(5SL*a7<|eC^ZA)>gvI9 zW#yp>dFAo@vhuStqO!9Ogr&bsNs5n6%2A*z3Wvv(1;b;Syb%(RaZS$1geL3Qgf{c& zU0ufUyZZFwle*Mn_jD;oC-uot;?YTC!tkU%et6QjXP5-!z5#$3V-DOm0uE!;!Fxsk zVvNAOFswrlOgV-?L8l(L2VH*Z8vscB$NmiW8~rQH=hE*1-Xjk@Jcp)TJ$t8J-Fv58 z-1?^7T>EESoqJ|oo%&|ojs3G8#(`Nc{lJX3ZeZ3&JBSX}(5$ZtQtW#Wpcr}(DBCw1 zB0cmVS~BurkLcusG~sU#vIW0BEaIPeSin8^B$spb&ph_6ztWj^{z_z=|7#Z=-7s3i z9an1kb%Q-pFaTn(1t>Pf7agsOFBq)~E*N*@pEv%5xV_+#^S1m;Za)-WaoJjY-SzvD zo8DVW?|6S(Htw^ze9CWA)uX_#>mG-0M1AvB*OTZC-A{wR82a6FeeVOebyYW9)@7g8 zuZ=&V{&deF?V9*~nvdi5YF6(aQm+Cmt6~61%%J9jm?6!Im?7 z=mGWHQG@CwQ3IMcqXyKANjUJ`MQKMg3sa70UfVUKT@W^)pC8_5cqP2w_%bvvyx-}+ z2T05C94IYENJwlfptKx?NLb)3EpU{Uqa-Z0me1PpS=R|WqUSVR=2v^7@0r@20MTXv5&)u2KRTgLLw%BZbkdM=41mB{0Ej-}*gb7L zV%+dO9RSe-5JLiEMR;8QJ;eRz$3AX*AGo>pO}jXE&$v4EOuHC+X50< z?Vj~e_sn{#dS*QoJ+toeo(CSX-Upu2-UnWi-iO|z-UmLy-iN;Yfroy)p+|w-y^n%9 z2OmbV4?o(?{N+go!8ueyDmf6Z%S z!A^u6V3U z|Hb*k)RT@Y6OI}_h~2LRAnNyG2Gq-U4{Da}9@4(Ed#`?J%s%bgyN1+D0Lz=vgWAQ> zfFpWH`+D?V&BExt+Shg;&@M&Sf{`g{{^?n1-uZ`;oO6#PIj3i2 zS;z0mGe_tc?dY?A+UR}sfs5z)C!QW-e+IhW z{a1wRLd>i3hRY zHBLuwskSlaDA)fesJn%>0>h5PDs~Vq%f7tvqYGvc&m=(2C;qRAD1iY7X-Di2m zS+`|LN1fk^+pk}`dr-F|WEWP%wEG{K(J`nKI7{#`wRQqN&& z11ue6?edEaF?8OJ7&u2Ex=vAuHn>gO2@28jGnHsL32@HP&=ep$WB<1Qa*fyCdyUr$ zwLnccsn~=uc{4`j8~Sev>H&;t;Et#kpwvLs00n?Z0EnaYtDm^xl={ z_uf_J^-n5t4o=ClPtD4+etRU&y!cp}e)gdv?c}s7b@;w2`OsY@3Un0!Q6-Gr)x;l} zRL?ocJzdPmef=)fBhg2uj8RY|AORpqv8D`UdKFBjSo^0O1NTik20(s800hw+@`60~ z%@{oP&FI_@K5%qB`^3X#?9ULV`~QlBqKuRO3O8K+!(TuA*jd{%YtZ!07*)Nq&Z_Qd zH%0dYH+km+H(BQccfjEx1}q{#0zkY0h&KT7=5{{xWOqLDVs$SpY5S1K{ls;53>60&w!oh{tVi2?Dz2Pd!I!7*!wtQTi@f|KMX$J zvvu#2nk3GeqJ;g zurBYq`)An~UDsw^a9xvq!S$1zOCGE9u6lk{cFSXx`L5@OT@PJWHa_xQVR{_&e(lrn z<#o@ZmN)+%zpVX9;yW!*l9tvyie6H5FZivji{6V9kGU+~wcof1pu7$(+_m3nLCgWe zt11MG#Q?F#rOQz_gJC{PP;c0?Bh( zpm`2T8`dw1{FY+?;y4QZpXbuBp>sCG;5pJ^Y%Bn^9HS78_)gYY?%9Gp_7|NKCicJ7fX_3~p` z^7%*Vq+cGY6OZ0k#2=be#vi<^i~}&ShwrIlj@(lN5OwtMls0nszAkcjN*8|kzBcU8 zls@Fplpz?f1i?iD;1~eJXmOBzGfv)nXPmtD%{Y4^dJN7uy6>HKavhv?bQzj;blN*> zbUgLg-FWA(V8gwCMeFbV-$?D`|1Vr~>(4;d@u#lJy$^9vYSt+4e&8tUdgv(WdEhMW znso&r?gEJ42?v3=5WDN42dm?eJCk_mK_?!0(Ex@6M8%pyJoK?69(vhA*2F_^E5NmL z=!xHs;ok$cpZUY{$J2j$ZySCVu(j{0|JKe&{@=Af4%k9G3EABFIOLm-$6=c~pF{$V z-5dKJCw@8bBz?pFC;96~o>YB){7L<~qfe{X?t5Cgw)aW?nwFgKbs`yJ!G<(iH*2Vrjt3eH-Mh8o| z3(!O#x~Gmjd|wkm!f|*?Ln`FZeO>Uu`?{cm_w@k>ru6=(LHrI(>wWjn7`^w+IC|}! zHh2OU_q{WYZUDt~aK;IMI5`c?Iy+)*9GG#^<63w8k%#uu?}3`}e?_Y9{@+ODHbHqlCD`J9K=!7HR~einsw%P&bo0s9=LHjXI()o!R;>@ccOdR)d+fcPc#$Zu22lfaG5PXfMbeGKVZ+#lEuI)+m z+K#7jpLRV>S~Ku8Z#x*`t4?|DBo=ph-ZmzkrOlFxAvJp*J5jUrpS2;F6GVH*8b?CwS>X0M%HNnHv z`k+J8`hbH|I)BIy@;Nx8_lCR<%;=F~>D`fLxk0V~#d&DP=maNm9Go>82Ok*G!E)3M z&NyoaW}Vc7vo5MbkKB}Jp7|Ay3&amR~j+xN^PHUwZ}E3ZPwMUb=K9k^`VP(+d~(t_J{5} zS{}In)bhY%d&@(wA6p)JZfkwywYBx3*Y_Pyytni|_4)R|AD)|s|8V=};2$2FdY<}h zY<=SQRnwEe4NXr2zA!%xTn~K?t!sP|xEA+6ZF&;4ruk{`$Bj=zRyREf`>6S8^s1&O zyH>V5iT$AcS>lSWry1|{J7cTC3 zmhnc*laxixk5d-bKZ<{?_HoRDs>ji zz}OR=C+yn0&)Bsg4QoAk*}8e(1?#4sGdAY-lN2*RsRtx=kg0xzQd2i#UtM>UQUz!# z0ZTcYrVQ|uHXNrGn@>0t0i42?Uzi2$7ub27m$|v!H-$O9qv9;MN+y&6S4r=`D@_F` zDZLZYt@|H z<7U-5eWe-CYGp7r>)<$>4c=Eq)}I-YoK>VN9K z@$m1CUmg6zbwlS9zb~4f_^mfT@n1&*((p8JZ36%?p@U_98t}3CN#N>+r~a!C(!}@?JQ*K^#Ty=gS>#_??}4Jb0;C|6pNGmo1<7jd69luBDuE$Ff98kBq)fe zL0XPd+MAEswKa`UT3e6VH+P<*G!2}!F(1BS({SLDRek?i>$=X<6jRf2+nNRvkP&Jn zAgKT><#k8x%K%Pk{Rp+V;iyAV{ZWSkD8KF)HLu|qE!TXUp3``WmDTbKC$sI6Aie9R zD6RL7IJI|7oPu;Lxo<+6*fSwXK#cDl$KkyRIgZ&Xb|Vdo>A0(i?z$_F8oIBJ{Q03V z;__3Muv>q6gx>t!E#$`UZb833aSS{%qd^Bt?GIo8h}!4iwAT9&;5ay=^MH%E@1NBI z5FH%EfK5WZ)4o{?AcnyQdi~(6PB-+xpamrAfd_ik0N?;1^8Q()tZ&93?R#L9;9Au8 z&?r3k*oA-gcW>VHzXG^-{^iHH`Ij&I(jR`zqfb2ruBg<(kr)}ZI9p}4?TWre&D{n`GMOufbs*N*a}#_Z=7}8(m3PxZR51Z=B63< zO^vheUpGGR+SvTS^Q-1r_YEBn-M`rP#Bn{e4mHnbO%Hw6njiRnTK~j<4M6$0?rGra zy2k;l>YoIDSobt|W&P7&01~{S_G!?2rl-NnYaa(Kt9=~&PR--crL|9k-!?soSYmn> z@n-GQ$i;O}BNx>_i+a8O_qc`TXR)t!{=R2H=O6L&+kQ`erS11@z>)J(&mRTH}~BKlA6Bzmy!I`)$Vk`7D34p^SoAsxp700|4?-+*BKcUlIAnJf6o*6_dA zEl90iw1-J3pe9mBNRfcp`LnZNZqh~as9A;5uhokAFv59Ke%R zH$uy-AEBk!AE&38f2OB4pJAo6p5r9rg%OF}w?qluqvH7PaY-D~uh^am#qOSQSqv22 zJ*J528ka|Qj?2S4C*)!MNU=s{4I$^Bx&+<&!!z*CpWXqt{&4rZ^3=`ucC9eU)%KK|5=ec=yp=FNZkFs}XSNjvwar^E4QuGGQD zPL!@kPAJkHQJ_1*L5x;yGtN6(AG+>nn|1jKY1j6aS(iCL9=LC9df@S0<3sl?W;jU0 ztlMVu1NTi04?MqyHr7Az`m*7n*M^2!&o3Hgyw*3)c&=-mb^omYq2t=YM=onRAGm(f zH0|}VdD?rmdB$&5!;IgDb<+VW>t+L1)IAJXVR{t!p6OB0a?`_*Wi^jO-l={Zvb5?+ z@RF)0VN0r?guMwZu6`W4sQOXp>ot$VQG`~GC#{GcsO#q)L@%!UPFWEHr=e5U00!=I+zJju%Gx3l6bmE}nR5M)$P{c2 zk{79$C0h1Y<~ASa^zUn=S{7)m+na}NTAPm8v@{*IX#zX|gkm-i+ciM-jYr@f!*;dk znALQiw5=XIXI%+cDh^)RQNH)W&QcWnCC$feis2+hwZoJG(=a8!ZkUn>SO5qmyZ$IG ztNti8v+js}di^jht!|i>T6ct&TzAAFsqQE(vHoX9g82+9zWF>SuKlVYw(GVyrh8Pf z3+Wfe+!ayXW3tGuQCWEBs64E5Oddi^$b&m3 z(8&>HkOZ)Z`)2hbz#{CKG4Ok40LYAi+cj-qcg+}B5VLpIk#PX&)#+y*4wwG$pkDdQ zjdJb}H#-1iyYG>+P0u4oD`M8T6WT${IBjp8b^Nh)%5hukw9^kQ)6QF4X57AOnsV9F zH08Rvamw`@^Nh!)h8d5qp^bp#OK3yG1Ml?>vp%0UJn&kF^=A#UUTf=Tyw@~7@cyLZ zk;m%3N3N^8AG)tQiCPf1BIP`UBVfEwi1yzs2UWMjYJqmxN`eEd}>W5J;RX>dW?*P(E!T~6H zP6CGKuym2}gf&5a)(ck|`sF8L?=Nr|bfCIV;4`>RCke+3P{;z_vYrEkl%<$|QP7in zDV81jInAYA;beXO4};aQXU;qKJ#yU9^T26)#{=V!?X!;CpslUbq@2D3C|jDQT{fGiT)r{i zciGf%A8_1r-&lXo{mc6Mo*U|?+}4|>-9N9J_E=XpSbsnrFS=ub&BAUOyf9ZrxPSGSgJxJGJ)%msU>&E`i>v zx*xE(dMfCRs;QtwRntMQ*USbltey#3P(2&+YW2gA`EZq&p?TGhB44U_^j`vmeDDY1 z7Ja9768!*!1fmD)ZW0_gNcYbW*4;lN6$3;A*vHuSE4oe)`Dc1D2~0Z7zr!-u5`NJZ zMtlJVAb9}_`T2{saPzQLJLbUJnue`fn~zwvVB7@`V$*0oVr>Ql^-vvPF_{nB)?!^_ zK5SP7RYK*Y8V=i*HXMS33{#4`PTCX>p0_SIe#1KNTF1I*$JpV7&0mO@DA&uj`-EY6qt^nt>Uu3NR@5&gd|MrIign&`O6M z=_G(eJOBql$|ZpKeSo8HM#t@+(X;!e^{n1$J+pgCNAH}`p@XHPw%^xMiThd#F{QI3 zruDWRQ+n&chmKYwkDYe>^3<^7-0%ABN1qyh-1o?78&b8c#H`cz?Xxah+Gd=#w9Ghe z1}xt+-FMp5c;98C`M&E{^^>k&)=#=@sGoFO4}D&D*L9uguIt*`d+wjs-t$;vy665$ z?LD{EwNvgN0hU$J%G&#$AJpFWT2Vjc^?v89`|_Syw|85neU>#$1uivB1-)H89lQiE zyjA@mWO2<**c;U|!HcS=gBDiZho*uSRNfDMweo(*{HpuGFIV0RnO8Lx@_#C)L;pJt zGIH6LICR05IEanBy}w!$gTGi?oT3kK^qqoZkZ=GDGIsrJgLI4(#!5(7@V&ift%?1= z?L^!Oc;G^~|H577_D`Pg)RWFZ?w>q&lK(ZrLb}JWl?4#EM>7T|Er1}+`Wq0qh6!m_ zE#m(J2&D{g01!$EVsYIe+rqlTb_MueUdsu)+`hB6IY+M8WdD5IHtYCJyNrWZDCs?C zsj1B;>{IH8smZ1z_DQH+66=N?0EhzsafmgI(02or7(lZNiiRQ~0744`ETN_&j1bc> zJ=k=V5ma}Q8PIr^>)(7);78n&_;lS>dUs7Kyx=CDU6X3}&bw+iz~Txy4^AkZPCsyT zy#Cb7IQdtw{{CM3E5GkSU#0D-7j+jrd8QHXm0+vVL@Ao}4Zs~sD{B6gK^XB#`r*B%PoHjL0J8wkV z^_6+bd4u`B^B3kx=k@gy&Y#y!IIpX}>$27~;r40Ggxi{$yY3%Dt7|9SKdPN{U1ged zUs*Hh@j>;Z=Zfk{ulH*1dM?NHyLFSE%bM?dE+wWs-fo`qS<-Od_pRD{{)+*{8`V=G zaFCFN)zhJ`Rlz|3!>g53A@eJyLtd_!37uDQ|G%*R@#65*WegQwyh+8&-R$scQEOu4 ziZy_-CJvmpCHCRrA0mN)YxJE)%7xm5bQMx0DBS>t1f>VDANK}--D!d4zNy9ot;D*#?uboU!(kiJL5iWGIY4X+5cBE}+U1%K+2qt6vCBd+pNY;`#(@izbbyk2 z>W*E?iJSJx`!CricAudoVkbWyue}>~}{*C9^a#if!F)DZKoK(7Y-`6`j=gl?o=VbxUnlCH(h2*g zwSvKE05YTD0uD~^l%Cy#^a^5h--m-t>1kwo)j6xT2PBk^X`OAywBCkvkhUp<72w#> zde87v%RS@v)_cZnEq9S(-FMvDJ?;2C>Y^i>+0HZw^cRc0OYRgN&xdg^@RJ1 zs&V)CswX^`<5=*!HRJBfaG+}`pn1FcuGf(G`7WxS^jlap;s09Y zUH=7DcLV2FOa{FIy6N7h0W5R-Ay(}G$N~r^iklnfigYsoLH%Kk6w9U#YZK~_8l+g&0E2|1f&>Jh z{4YQNNkQE~+x+^20OXKOZrwqfoccqyS%4-JN(WG=LF`hSk5f_xexoFhTz5!3bBC62 zcAOD^;udYsflKt*&eOErfF-8-2-2%zhbRCLX&MF~BXfWthCo61>4ZQ)5`cUDwId8a zz~WPLl;K@H!t|^jW_nZ~Ww_TKXS$hAuv}|?W;r*W6F9ZrmKnS5YYpAgdOd0hUFSWm zmKam2yGB*2V^ey?wWsd#i9ft#lYeC{0zHhl}+|qj2_-*T?ZdPTa(z{#KR(C>tE*y44f3;-e|uHa1hWt{%IavMKjbejoqXn2>EJzhI% zON?B#Ar4)##Y1mP>_3ZIyAPLM7$*97Q0y%Uh^0Bj^Q zJBR_KWZkG?+K*uef5f`IjdTxmu~3UNx57bM0SFFrH9+-{spYUOx>z|*2zf6 z65&V*-KQPm4_~Ioow~z}{p~Je_iq!dn3K2J(fcmZqnb}LBI`%!;ih3~7(lTAQZqsg zsy*ru2zUZepZL`tW%$+|W%vLTZ#ao(^$5cQu((%`&|OVOnXb6+Tr;iXlN(RnL}R~u2*>{L2@CbW#6NiD5=QtNIC^f7g0fzoliu@NM(BaWk~3W!&-Wrn`CJT#FW!#&G%i_Hr;bw(|FH?)W?mJ&Z_~+D)YGWhjn+ISJq9q ztf(1tgWTUkTwXoqx~zKC^&P~em1Ay8sz%+HRNZlZvtrD1F~;r}RgQYSUNz>kuzb{O zLFFCq1=V9d^P4AqUul}~n^z4$D#v~Qdw}$e{6zF(-=pt1^z%>H3)w*&Ks|E$I+Zwo z3+{4DKwP^e127`u+HD?j`3{%3belo^dfS0Gaf3=6ze*v7FH?|K*%1d&xDTR^>4VGk zk-(77VoAkN!=S^}Np`p}7T<$ZjqHpa1Sm%?BVPQeedxEJTDwl}Y{8yO6JTkAvzXET zZ9u98K&(wIM{H|Rp8yc+YSb!~jYq8DAlBso1%OzWm=9YQn-5tP0h9tLA0izD?qQt` zSh5-p+GN6A(vf4%^4oAGVKeJwc5bJWtzo{01}n z>;xz3!Xzj1+ypQD#4S$Pz&Tb(>(BIH)F?rKB@jh?0M>91nlFlY@7iH#gy9K!)C|+z z5lKK?5S?m9n52v~M_GoN<7|EPQI@u1n5n54VXCT*u~Yy?QFl%tZ@em#wU4PK9rv|j z03+(ZuNNMB$bN}=zfH@K|i#P>$kQ}0FX%?0MTu3nJ|9SJZ9X~ zG-mv|Y1Ft8uUh@mJnp!mVccm$K z^#|gIjT5db&Esw>0LlBNap&cA0HnqOh|4=j!InZxsz=@4s=V#Cxay9_;;P#oi>mK< zyk2$3dm#x&`E9RPt8RPGuejs=3N){3)aRx8F|Yp~AjIJxiLS%jiSFU;L=Se-Ex-Vl z-V*@k)DAqzI|#CnKXnbj+~E+{?g)tMIA4ApXUnhS6yWtyHeMM@Cw{r(K>SSBF#zW9 zB>-~{6TEPkK|n)xzWT{}1&%@%@SS8k*wPXvU512dNBiEhJ6aE4{HbN+^7f{~7q>T} zo-xCH8jz070fG(|U?Bmi`WukL0OYWBX%hfJEQSgJ&EJ3kk{rM>2go7Y4Adm)NV(Dg zNh+?Bah+6mn34z=iLX0^8sw0Doarz%7BR+jh_cIch#GA^VjoGsK@MGJhyOCp3%fWe z2)S}!7<_3`6m;SiFR>q_S8tf`NT-O_(<VYZkM?LrSt6J_leb{u@Wu8z6D4Ch}#?0cib1jO4usqEH&5s;1pKM)-Uw?f;9jzimtjw3%3oly5MU;!}w7(?khzJut; zhT*_zxXW+WNRzBlpEwX#;U+f$$_>1L;Ras7aB~!HGsYm!kJ0evLT<;W_TSbdV z)6wr?{1P6cVcvlxVIVYG;|v(q1bGBO9;;lgK7=4BwJt%FOApi#M1=%V5rVLOBN7Cu za*hz>em)E36%&Fm&qU_4AqeY7v;dkwWxuCpIC(FR13@?^Ak1-y@(tRr!LbJ#?$HDt z|I5;5*^$~Fx5M?lo`)LxJrCCOdK@TecHNh#7eNqV2nO}RnCaS$@+%1P>_V~x-qrA} zg4|W}{V_(_hJn2w+N}`97i>o9<%1;gMxuD%DG+;x6^K2;v?6yryWS~~DDD(VWp|3? zxU5jlr48;7s7H45byz{SjP2l7k8NXDk8EL;4{m2_di)vboqqJhj%_q$ z>o!_E1c`6k>IiWt@vU1(2`yV4Vq3P_$F%y{J!;u%^QdXt#)r+@Hbk{-TOZZz|JlP< z|4*Y^wy%58>bEw!b^FKB&D+;RH3zJI(7gS_$fg~uA{qlexZe`6GO}&^dkpMu7WwD)sZ%4KTL6BWh^^}w=ps#Al}+ss1~(-(wRtHU+we`vc9GKD zF2Ie6(*u50CCfUkoI}izVbG6qEDkI8u^6|+B$Y59BUPdy%R?+YMqv+FWMYZaeT-Kk zR8>y*iWS}5j-i0bl=(kXc-Nc0xH;^vZAJwNZsJ3U~QdZ z_v2DgP(&erCy^kKW(US3ND!VsO0sR}``yv-x85lb_(Fuuz~?RmL8^FJ1<{JEf*@5~ z!?a?>?E=95L$N+_X6CX`^4 zVj&|Uwtx{HSID@VSVq5-X{Lo~YpJ27jgGg9>S;ICHMHvx<{E^#`nbUP3dSc8g#IUh zAdCwSRrKEso&5eq{#QUOHa-_lCB_@*K!RI6Y|=-ru7)t=1Qmd%W`zU_4N$SzvhSfG;y zi-eXje@fYqKPA6^8!4@8n?rKPHoJt5t+om6el~HfejAi++cuzGAKS9+v&YR_*F`t` zeG=X1xAtL!-A^|RZ-2`-bd1`1n=S9iu;Y*mqV0yz_NRd0dGY# z?pS)SX$KNy$CAgb0gDsb{a=sk2w3!}ZP%+vl7$iN5TtGQ0*EsIe#h>Y?zINb3vbyo z7h{qa?l$jv9-_N>79mQimWqXZ+QQT>wy2o1v`QXVUn?@i`e`~tea$EO{KJ+hff|LP1+QY#8cVWfpls2019Por!cO(l@nXs z$c}+nk2KY+=o||xD%-?-fRZdSt(wennXeRHrJiaLz@CS#(V?XM>lV89`^A!cX({et&;gYDiJ{t zp)VxyLAwbhmo-5kiRYaeLC`87iX16|1QAIg$Fv|?k?@ulau9+PKoE_Db4x8{1LjSY z#N~!sN)IiR((mZpX!tIQ)1&&$)a0&h6xHw!a@oWVl4&x)!7$-xSA;c?%-(G_$({Zi z5<2`pSGI3o4^ci-c5GW0*XH+0Z0okQk6X5_K?(LzG$BZ%--lpTWW%=i?>B5)`2gt= z*|_apyjvdG?Eg+=)AnV!6z{EwhV2k!`;zd6fH%S$b}YWzwBvQK2nq8lZogj`+p%*& zO#9B4quO@Ozu&s+sUY`SLSDGnvS&_sbMSL_ns+|~f@G1Du{jiFOg0%U(jyzPFvlWQtgj%`QIuszAPxj!AI1#WK@8{*LXK%c@;D)oWY1jOp>2zuYQ*2Re0-;kWh!8UZruO#{E_YJQ+xd}#T&3r z*%k0fe24#9{4f8SxQ=Zf#kKmcM!Kwe+~mJ18YLFwSP4;(9{%q_mgQg>zMHZPW!GCs zm8Fr5{!8xH2fT3)f`r!xEP^bH?$mF8^=|!+g<%al7u;>w`SShdo%0{H2hGD5z2-%? z?w%Xb984t0obZ<5=a4A>SwUhlNXnQDj6u*^(*$zFW;;L@2c?pb1;k>El0c*jWJxKo zS7wzuD6`A#mFdM02+xU-Mu|awY##m%(k5Po?edrzBT{BMY0wr>Aq&<-il{T`fN_Nln>#$Cn>u}?TRJyIHFvr`sO=I(nmdINR))5HqR(6eqryc;OTu4DXi4Tr9-K$6Rl<`VAkx~MF1`6I)`yii!n_+8(^Ja24g z{Ay@*Iaktv6?6;h=eS~*GdSM+6F40OL88>`Q;_B)2KV1ZY8WRX)y!`J5`^_Ngg}YK zJW2?Hm3bt{-vm*y51{ngH$wL?pw2 zT@t1diSKAcB1{nr0Uyc2!+S1dVBgkASfOe$1d+G^I!Z6+TUx6iRP-J3j)LDKhZaal zNF4j?8kyZSwbTaU*xa{xqr}?sdG<)adhFZ!)H3P6u6SbS+T7t?Ycq#-tx4(&{3x+2 zV0A)Qz$%P)K2Wv=tc=AVJ+@{0ipMSf?_!Ly{C-owGL%+tM>Yl!a)9kiFqnS>EC!42 zHEe$kEW|fd7T&81Sa7F4;N`Hofcbaocg(xpxZ}mJ#-O>8t-&umZreTQaa-_n5&wBX zAOi$>j1+lFCZx!8cnTp-Y!;q#>>Rey^uWS&ndWBi(BVV*0h=bSaRaeg*+u+Ny<*r$sdd8czKxj*3c zl~a$4*e4^k%Q3>mU){x-8>rxy*(NS zJ>6^iJY4nd?uy)MnLM^!BD-HGl0XhIBoP4t-~--mwU7%Sh=>)c5i)OU#0-p4=tvi5 z4D6=`(MTbPlmbb}fCOReZ)#XOy4a@8 zYq9hA3#$)!@pj#gxncEz z&xh6r&IxS@dhTx1f4Ibo&9GC(q~nhtl2|1mPX?p1Zl!kat2?zDFJgdt%#&1>pEmN_3eTi zC2joch0UC+5avpL4d+sJ75h?_g>^B*#Qq~q&$^I;Jy^K2>wJ6(>l{+%9L6zcu@3Wd zvW|5o*TOzs+Q|K}qLcSSb+_mWOy3b8k+vhH`bSfmp%?fe4MJ|di zl?X7H=R+7SL6};^2CO@35d;x2ZfQmITN<(REscnV)PNvjYl7TTTjg-LSwILPwY#a6 zKoHqRq{)WsTG{$*TIpxkHHuHKt7Pl0spM;KXcQmcE_PjW&*Z%tU+wxZwQb8P&Cs?F zN+)-%ES%W;o@RXCitMqy%TtDSy_3`%xGbS3@a_1H9ZTcecfJ|h8n`67C2%pOg%{t) z_~U-_j@RxrBR#Bw1T26k^U;F9c__nPyjQ8zRWR^^# zPl#eaogRcR=*JPFKn^Q21A3waBZQfLPmE!R@e9T=kR_H_TY(TM802S`I4JWC4oa=r z7SfPVmO-QfVw_@?B@U9rV*Mos?c+GLQ*@k~_7Ji}#TU^q#p`?@`?n%e${6?33=Etk zWZlu!bHd761)&X{@>{K)UN>7iHr;6J^t#^CrMPP87G2SG@-CIO3;rx>;a$`=@cziJ zvass7e%)Pz82lOYvKLYov%c+>{x)Q;rW>9dg&e#1d_Z6N#;VD z=kGNI&O!e_D+e*nO9=9mOq5WBBs0XKwF-du@z%7M6@o~T*|7>C$MjfbRv==qAD8R+ z&w)Ss2}qa}tvyl&vRE9H#ntvowb?E%tBe$zT118*)JG`8qGR$MAI7R^QA#x}60+RK z+4u;h);SzEtK3a0cD@5)!cxlVp*W*{E5k&;nODoaUfC(R*4E{IwY788l{Q=y*Vg6r zXH&QQVpW&;f}vY@p|qXHzU=y-=7 z7jO?oY1#WB%swQ_UL4X2fiS^Hk=>9Z2r04?1cDtny%>NNQ@jvFZ53n-A;>*7Z!^Xx zJ`lwlcwu1gi89O`;}o|$DuL@=l~93J7N!Xiy7f4vG9Ae+bW?GWT9fV3+W-IgsLQ@P_@+ImP%rWfxIoSxuKS9 zz?ftM1X>SaJ_GA+LXaCO*;+`kh7bgzKoG@;*R=9gc=!G_jbbG}8U5aMt?P;_8u{|8 z1@7hW^~)q;)w%q7EK&kQZVtw;;iw#ucwafU4(myUsd+*To~8A>lNIW zwcug$>Lc-j{cKhqe<@9T* z2A3<@mFz1et-MRMUGhI0y4^3fb#J=Rj;lu7yFJf0^|+p|>y@1|c8h)~ZWEj>XcnB& zH1d8@)nNQl!TmAI!aJ2=;(VWK;GIm?aZV)Z*xx3UA>~Pz#+o9GG_k(qPZu?7{#QQQ#{E*mE&K_J@6da}H?2giKgK#!}=K~EV z5ClM)?U2MDY>U7c1ZlDbEd=5E+*9*60dMrZ@ZR%Y9^W0ZxIq-i!Brq(WY}FSMJXl; zQ}IM$D!vfq7$51vhdA6jS^?)_sgRvu5HWLVL@q^5e0pJ%fSy||pd}fFPEjRdD)xa< zP=1jyh$n^SiyhF~-BL+yG0SBGVK$)j`WynSN78%-VUQq_PrzCT1UY0MAzfBOln+sI zK@i3JkYpv&X2taa#k<$FZp*J}UEjH?c3pNgU-8y8m160Q0@o!G#!YV|HE&*=-5>C} zW@O(Y?f4h3s>Z)qm_2cLLDu+zm(xZ<<|p*;ekrDB*F1b;d+x)woi9L^Igu^9=0KGH ze1gPf*ec`F2_OT}hX}EN_~W;hS44ld)S3}vHZ5jnxt`8;&4^(wzpQ=8@o&r~i?tlf zp~Qh0jA3H1w(AFOxOWFiK6gCS^Az{8()$&f}RB=yaRq(#eF!PS588}}j z>)FSWblk5J%dyR*jC%yKe34MfJ)C9c9V~4W9jxh6>~9@%+t)Sb71BMvX;0IDYp}je z9+X!l3W_V`?R=lU%pf{ade();)}WIWBXr-AKWu1raS1l zM;-s+0Xk7)O(zE=c-l_)tqDP-27YEu4m{672xINfmR2+AVHIbF*%FL+o=up)OEbOZ z0ztAVF=!t@&LKy~tNlS^y)=}utldRSvgv^_0-G zQpcO|TI!8hHT615v1_p!+LbsB{c?OE{SwZ@U&Nx~A1KEzV9n(BG$ZqTb`|H>f=2GS z(l+7Qs$Rv<9X(!WI(mG6>ge5ky1mEqhx#7bDRYnHq`q5nvb0rnqM%9et-4-tJinIz zb#@K!SY{>fXu5@WG}Xj8l5F67k*MPwhA;<}<(vb`V&1-l67Ie<13#p=QL?A8-z~U% z%qys8a`Ud9iOqrS!=8Z^ovs1-)uQdO#a#brE!Ph>NN&YFUt4g6k?;Kit`BwwZ;F5* z0CMm=Ad5TXunGb>tb!m#2sy;Ff}q^u-%&vj6$DWU*nov(VL}#{Ftw0=TP1KtpBAR( zQ*Ud8juC|-N_3fkoM04^GOIZD`E_i&R14Q8s#Iiyt@s--jr=*JSdSF>6lK^tur^dB zT^kBPZmDG-AxTz4mQ~;blwK>ZspTuLK@dptE?7>;0p3P`DI{46NtRsED&7E#FKb*E zUDmk2c3JKI>J_cWLVTEK!Sy1qm&3|D=Rd6UotM<+|6P>AKoNy_#O;bR}L(yNran6sK{%h)eMPz;WLT*wghJZk|7nY2ROy z%bDj=bj-6EX4cPH)vPmF_3WQ?-Qv?Ny>35r^lm-X+3R<*tIy}Vjy}&5HNA>&jlI(2 z<=v963)_XqG%bRo`3<5kRdu2x*)@VMGAaaz(~ux32Ht^WJp|G7_TonSkc2Yc9%U&v zIIe^flw8i+rE3-kwhnvl=p1to=$+WKy?1i6f9IIDUv-b`*4#>=Z%h$yGw$y4c~HpR z6j{je#=TyiNEr`YEa8p`09TY_3dkb|G9UqB?BxYmykZ!9)_SoiP7g;2-i7n@E%&6pU$g5#}o@f%R4=>_> z3R%`+0FU&Le0(!sw&tb^f*?U|sip-1D=}z)@46a-sAmO{6X^j#6oepeUR5iWpyYZ3 zDYE#A)(wJqzJ?ZZxV>^&>%QQ!*6n4q^Dk-L=3UWxzIe63bMB1-x91<|H_b_C@qZ4V ze)!J|lCH5=rsmr#lXC5q2|18qMw02&m>!o{Qv`$gc+70Y6JpGQsa|V;R+1S}h}8J^ zvTHU;teYY+RSe=V^Mw+N9D|v!$1%AiB0V0)W|5;XbsPzKtb#nwc7!05@JHE{JCCx- zVUKdip-7m}*gVIZDFu!&DO4QZ{MzoO`F?By?u-w za_`&_$gUPFpN5RX@`6uK|CQs6!xlFY~RylYzb7a`7E z^q;?`^_X*6uLE^J)l!@845X4TIsN*5TK$;N!ctRE{Gl@bZ4Us08{+&$~LXO!PFT8^wq*#CiAw7=GMR}D= zdI(Trkt2~N_klG*P=19!h9F3pFf3Gt;`tVyZ$h9OG1-pS@o%px^Ql)73mh+H>8O7e zRykhOH8}oZYN1{*wmAJ(-atFAsi2?3ap7N*i|J>v`SE9nawehJRK_y<3Ofz1m0IJ(~vIJ&bK~_nc~xYrIaNz@9GIgF>D( zvXCdi{a#`qf-C}v!-p_joNDAi7B*yI0VeuL5Iz!wkc01p>0&B&4m;k_5D6k6VM8P# zh#gv6U=s#GAjt--ovgpD7JY`Ft%ES1V0C`&y#n#aQDwq4aeDshL?i#hSiN9XWQpX1 z+gka`TN?R$*uJtNRHImqWO?TXA&7QX5XGA}kRV8t#o+bpYQ>`K5agQ1ZQ)go`zu#9 zZVMm`eM3N*u zrgw|DBHT$VfGGUPLN51y0gr?2^K2aXWn#UA08_jII?kh51;I8I2!iy`@+go6g76(6 zi&YTFK_tiqv=BtN9+G?pN!B4*K0$virh-4dsghz0B3X@{!yn$!NLS&E{rit~;+63x z;d^m<(Ta#-$@0(w**gG&$loHyAmB}ifdr8+zOHtC9ql5d%B$DZZVMsFE7#R-3(%jB z{!3R;VquDSE&)V&9y~jOBw`FgNI@h?d^Qq;_`}b^Gw}`(KO;)7lzdxdh8nVz*eg{A zwB>f#z-XsTQ=>e~oBns!M41sLk=VcWf60Rd!l$x0#G&kZDhOnWM#4nl-2;e%1R)_o zND)}M4}YBFaQATzDGVhUKzTJINNhIwI=BW=u0W(KkOqQ~|HSy^BDjEL`5o=~N4ZYt zALmie#i^*jWa(&Ui>v8pOfAfxsyi8{Yr0*2tm)#Nvb3|mFREdk#Fa-U5{j7L;?(1D zTyOMEf{t-4QP2J=&B#6qS&n2?aK6Z{;U3Ow;2tXK79VUHaNplG;JdGHFd(FN&~H!g zz~mjvcw5pc1->a}o==jQ zw<*cU_D|dpCgHL;gZQm`#ge7icE1GUls7OwS&US99pWsyrBS?kP35`}EFc5{^RKDgUxFm_ zFini{hsO($gpgy-HI!KY+h@!FKYwQx;BO>C1_DBgS!P9<{TWe?rKpfF1w^{oC^ZH< zrCM(TX>65QMJUyfG)dSAoR|k;W<+^ff?3BbgeXXmY%CCB3<4=0K@O`R5amI9jzc8c z89_+l5aljJfgGgU0D_QjVSm`oxGc(bj9DNEnGobMm=+|La`AC4gDhS$NV<1Ru zF7+31Ha3rXCMK8q6V_NxXO=quP*~-1%GApKzP6itvZ0TAqP~~^ZA~}-xUPx&HLgE8 zhV3d}C6+NU#mhR9sAqkVY+xNuF|iJ&Tet@^D!BVIYqmM& zL{>o{%6bgWtpjvOVoi`)L9iOX8XF;3VLBK{A&7J()=O4k;QlUVxR&F2S*S*~?6yY! zR(PR&>4Q?qlE-?<8xPB+i^EG~uiq*}f~e)MV!W~t$pSePFIy8t<@OSUnTNsrTqMa0 zSGDeQu4~<&du9YlL|XilX*r1Jq#03Wr6AhbfqWtau_ngf(jrA=j}pvInOjQ8Vyi4L z*(kL}TV;N^jWubWN<)-ikcJQh#3ba9A7j?*5hQ^i4pDKrqz4$l6M{sb47&$r1R)Y+ zRuIxnB*zUUN-T&nEl3vWGLawv=|TAeqCgNb1fiUVB)>wMb7;>Jf*?)KJcb}>PlF%8 zDR5G$b~>3>LOY?hFuyf6bB@>b^1p5#5FTq95FTwB5FM@R6doyU;C_)~;T%rZu@5Hd zSO<~~?0u;Q*1l9TJ0z`wvnQj97o6L`4Jzys?W*Wg1lA9E1$GZ^4d@y2+ul30)xUFS zvmbWuZZ!U4roffkovGh zNQEpEh(d-iBqWPHb_v@>Xhb&m2p|YV`5eNmhb*6hbvT2v7NP+08jM9g!uI;rU=_Bk ze1P?mm6-k|SOGcSg(ScEQKsfLN)R?uuFJx803g3k-qkzO!jJ2xpZMf ziEP2`0>#T1%+JR-WgY~1@v6pkE|TO0Fz2eq1A@3e8wrw2vLaE%HNabX;}rCu=SmgBC7<#7;Tir6*kI}s*TD*h?9?`$t<*wOHtd$;6LLr zQYIQagg8;kTn7kZPn1|FuSoYmxH8A#PF%Kq7^JxkLLt*lq|XgZ09;3V6(tu@UOg2A z&wqdmU|Nt|%HIX~8HoZx93hA!1aX8Qj;CVsolZiM?;htnop_w*^ey_w<5aY-6ANj_ zvJH%*`X=s|jlIGn?ZeV9I)`P4+lM6woBO2)s=CGdw6(mwSWpZ}(zEtJm|(1x1f^Lx zyE3Y{fmwC@9ojZwKxvnFyJ^79ziDWb-@wqet-V9re8J|nAs?UWA@@y&L09k6ewk-M zx5Pu;E^*Im5xHhJiWFJ(B6)hPNS0P5kRV;eNfv=9(IOPYn*@Bw!HY$S6{{1lV|6?h z`pm~Vp-Y@zNKdnfobzi1w8BOKwWNjPsBYj=(kg`H7@dFwVeCwjQEU8P`CPkHBiM3W@Rol4K=#@3va90&6AjLX_p9>S;l+ zU1ceF6AO$>z#G`(wK!BOTXa*acnvdM3va0vub})|5LV>+azu$@{=;&`yogfQ7efo( z=3dvhK95ps4i+6Di0iWP*M?s zV1REOm=h^O%zzOsQECzANsux`38vO5K~tD`D3loE;_Hw{$YBdT~tDz zLnIDs5kx?kdmtR#QRY|$303BT89}iAavlAvSWCGA87^aL_!7#mix`vqfff4;kmfhM zM}m-lg(xVo9M3|Qp8-lN%4tj$|A<6+njlD(?;ysB$NALbv3XA4p#SxweCn|nmD5r1 zWsI73Bv$Qw7ze)&8Jf5Un+L=Pdd5BW^^SY&?VfN8>7DQlZX0$D*0l(O(oD=xm$&9&xRmr`Gg=FpGrcAl8Qn1G}Gdw;txFqf8;5UgOKDYct0)8 zKgD^PEW}LLELK6Le}|ai!tca^*kmL~y4LP-Zkc^_k;Ueru5Lq=u69EtlIFhFY!i`P zZg&p{w8E2A_IGejJ`CqjLgVr%w=h<@8J9z`mRR5_$}9*%Cgk`NLR_3q5HgVT&Q*3?WCp(^udq_!1n!M#{snYT6-u zHv3?VhIRle`1^4G*WThN46^PPF6SK zB{dGZNs4-8Vs)oXq-vK5@>-?*tOf};vtG(U!mv|OVx?4ynUIB%U=q<2Ok$eSC~|@@ z)W-&~V~kEjc~mYUJt`MEJT4d6#pr~#7_Zo5RPr`r!{>(VTF&~E3f^b22Hv_yCBk+0 zi}`CKii95{S=QVukgSF*AEI3aVIYWjCFFSTj#jz?EQc`fAW@bob6Ay$%H_&?Y|{W;>`1mKvqEjN-WYNB#*Vk z!oWTXM|>l*O6>2ejkXb`H5x zYl#IeVPoW<*bsRUT!_OU9Y2R4P7q)K zZxsX_17Croz$yqhjIAw)Aj(0AvLEb2s_ez;eMp>!7L4zq?8bhuAXO!Mr>RvK*fb#D z(KqfMFgWGq-#h8Ctz*>9udZLdrMy+_n_nl`jD1o*=~aAh2;-Ge$M?)`5V{xi%H1o5 zJX{+`HY>V@x62@lbZ{h4(mk?W)Hb|DR59!+C>eC+7xpN)noc<&NUvj5Vwm7Uv`Z`#2yHN5f#94^LTdzQp1xT3rNRyYab^<{Zb8le`0-i^r zJZpk%R1%U9WT-JSHPa_rt00)#eF{pX)PI2xgAnLnMfvwgsH6nVaoz8XN7dmsXRm zsg0B?S*7GFiE7FvoR9w#33D+nj|w>)e^=%?o+rS$lXG!-;xT3OT4>K$OEMwGN@=IvA^RvI-KTat?`A(f2@_ z;8-<%H|`k@!Y3bg;v=Vl_##&TPBm^%*RlNzYWdr$yQF>{BW_zzmihKfc=|vXpZWoX zx2a3&RnR2z%&6hHr`7P>GHQj2oJO%Cze6fRa!Ad?o|3we&7z@^9m2tpUHrk(UHsm$ z?cDm&%^c&fC%bgeomtrH>Z0yY&~w{l^z3FSEvr%LgoL3YVJIopB64E2gp_EJI3!p^ zc5x=5ZH!55^VlHTfZ3+cqji$?(K_*GQDu^K(dFV#9+pYgMwdy~;LE}vA(2+6SMom0 ztmdprGV`$pB3XIAM6%*uq4eE*g_7kE1%gN*h!lcI2tgnRA&7i2cpWSXE0n#8cHx~u z*9ExSYe86{Vm=ldUkWWy%nQ{*4z2tJOa)^GO94Tik@AX2kPNjA#K24wW}q@P7(Am* z#}sY`0fd?UIkDa`4IxdMRUXKKH4vgrQzKc>rr@Zp6{8NojoIOvu8wr2 zveo`_Rh#`KQxoOS;ws8Tt;z91da>j03HgK|)L(IJ(Yd&MN2?&<4EjGojMEV32MBcv ztMK3B-ARaX0up>1ON>GCsb4GeosQx6zlzJVmRLl3d_g1#e&^scPW!<=hyg)pdmv6Q z2qK8pIPV03AOLKKH2(Np_BPzc;)nC{TX5loZ>E{!gCyC6ZTQ|DhkRU*%+6UfqPdD5%~p(LkSEXwbY2~|B(zH!8p*EQzH9U9ri85|8^4~+yd zyGOUV;Jfd1u+Pm&-Q`NnZIMxOn&sr|Mj0uyQEH!7C$>wjlGr9xNNnOO zBpdKq?ayOPlJ&7B>8B{i)#|hTGtoAoZE%2&xIB}LnT%|R?2e=Y?L`#8)X*c$RcK*AW9Zw$h1o0 zFe45j4^jp{Psi^OQ@U30b1VN>y8Kg|+0?(snPM*(i+EeYLnC1v=Ya&xLWlLlIACfa~fj&fP-3uASaOq1SbFz#ED3dudz;Y z3><|lM{y}D}Hw_VIG9&}}+9D^VMF8!ms>E`zNng9Sy(Md!>RKuge&V6G6w3e}L z)P~WmRMV(8rDV{ZtnP6msXE>4bJ`Sk+06=@tR{s`MuTiaTAlRslp5Lkq$=sBiItLd z2^Ps(rAe|j)`$c#NI!aH5U+k@kgST^r>e=(5al7tvZ$1N(gTcR zB9rs&Bakrn07@)}I~bdUL89BqDiRWe5X1q3kgg}>lds0-ldj<2uFK#Oo-fAdQ~roo zQ7+(auitaZDCY~zj=z@IQO;GhQP0+O(0;D%bUstjO8=>>hIU$QcKRWs)aev%j68`8 zCcc9NC$QT7Eu=UeuclcAK}*Q-CHhCe7wG@HAbTN62*xFQP;Q~ba<&SBF-aiW9kYU< z^@kXKU@K(tjnz7D#$|XuF$IiGXuXjvo;dpJfpW|}u7u&LEM+MYbZmKsg(uV02_;Ax zv87um!fLv(en85v>=p5Jonmf5o0zR?6|r(!#LV0_iHoLJPB)BrIMsPFZTUnHC4{^0B5t{9aB0 zq#?waWu`QnmS;v79Is9PUw|}mX2jiqbP46xMO+^72V}Vbev8i|pGW&EIEVYZ z&f+q>pH+ItGi5bSrz=|MKh}4-{Lt9TJk`+4I$7J!{7%=vIH9u8k7txRe}ltWU*kmM zu>_6tQHWs`1hO0^z=5rU5aIyX2lfJ#SWdyyV-RbJMI?w-km(YO=1(LDAqZNlAn0#K zn)qN#zBeHVZeHvN|-XFizL2`Esoc*MM)-}0OwNp`E?>* zNsEw+Pc^VBd-$xXejXFYiy1|2BD%Uw;+)qiq2+ffsM$*CrR=z5+M*cy3m3(EKS^8eAS-#?t8Cy(D(&Z2Jl4VGgx1;pZr4RM8H=_*lB@Ya; z#Zh|s;z*rh(fxA8Yf(D+!f1oyl~|K(0c4vWV^YkAO!FYhix6fmQssFt2hutFLit-!U^WYo=`UUUL;v$Kk!5N%hJe{B-|CpHX zcq+Y!`h8&~?WDQY<-59W=85Kh&hd@`{x_`yykm_6++(Iz=25ko{$*kT?FddW5`r9p zI0uy)rvqSG5RFp^`oU;-<2eXtQFamK6-2Nm2q6d92A&FnJ_K?0iM0ws_rfjqo&bU{ z+<_~EQJ|H@6*8r`6i*Uc!W2UkQCt~Y5LeFO$LTm+rJl=)Hwf5?W6fp`~ zM08U(pH|t=bTapGs3n~eM+ievwJT6wDIC;&o_3|9UUv0k+iix%LpBbL9ojHFesKNJ z`0mf}Zk=Il%evCBEo%z~y*|$C^;nbJ>A5<)-Q&ZI7WY-DO|BmxVOFL#$lpt@m#;{u zmM>RU%HN5rkS&Wf%ifML%a%r)q;G;HQG_5y+3Qh8`Jx8~`D+ghiiP)euCGMsTo*)? zE9T=<4=+XN6!W4@vKN(R#oRcv9Opn}bMBNqL+L>b((_A*KXN;y1KJ|&r@|k5ezE;i za?#Hr#wkS(Xdw)-SrNZalwze88>OLoqtaBjL20Pjs4TBQnTAz!4K^|ozn5*54ga1H z25mO3GtDX>#evvNtwRjb=23>$AsR{ZFhfg4aU!sep{<0{M89AznoouK1l z4;C=+81Y6v)uq*5q*=o9EHu>GI8w-Zr zH&l%IuJ0V*^;ysO-gQG`2R|7e+q<@HY}dz)wTir_E6j~!@GJ`sQTR){_!0?0#u zR+v0u>pS*U5r6!DCm$)Ih7?6cJ7syLozhUdQE6y^I1M&R9Rw;t@@R;$O&NqKc8JR= zBE@DEl47z793EvBlA=KrrgDLOWO{+a-vzk~Ny4mXNul5tQspMrO0GkeYq(bE3f4rf zK#ohvD)OHgqg+Iv5af5X=g~qClvirNg20>M^um;X2i$870&s8jJH6=4STc#$NuR&Jpp!o-y(MzH#Zk-ce~tYrklZ zxtSBJtzhoXETab{6cB>Y13^H%7Sp^1bpLn=0{p-hJo^G4+|=TO)*EG(7Y=lJLLNd8 zH$cdtz%;Q{5R_aH#6=WW#1cXhzLjD&H@1Yu0qoc^Ha_6OaRCe*0j4W;JX*Y-=agXN zQxi-AN}^dv#`Y9aN|nSRvsP?}q_Hh*7ub|_^EQitRe zxZm2=@m*_rCPF?M9^b#Zf8xN0T@xXzn#Kd)FCX_^Svb6Dg?hl}-Q1o{%d_l1;MjZUJ(hR#UJ)G#MlF(pjG1!S&f?#30Y=aqLd;a zWFX|oC+@qNA&+QFNx%U=n}+yZ4K9!?HrqoIJEgIHgR-&-G;fSE)!W3DR@%mBjrNaJ z<)rBB5{IblBGQAbB8NzDKeNywB2#M@o>Ayr*A zmmtia;9?2{fdIc_%yAw!JpPLI9Nt+4L3;)w{X`@Po__$Rk~EIrLxPjw1o##M_Ty;3 z#!dFe&{_q-_fn4F`qVGLVQ?_1fO;^al(t`6;j*u$gB#L0BH7bFAqgIsknILRePfcH zt%H(4QwujhWoB;2?f3o=1%fz35QbF{oNn|%e-rS=&maih6SzYZH(buGz^5PN=s!&m zlv*OlB8)2}1aaY^<;E4VIgo`NSIlO{m9Sl6OWAbX@8yicShScjjuT2TDoQa*oSsKk z8U!Syi+#L_Z$yA+<*Gc}Bf-eO{aBQ*EbkU1^`-6J0-lZP~DRP06tP zN4l}itIZRBt6Ii)ts0p)^#0KJk(EOeM^7zoHB`Ew79&(InOAxI&{7DakHWueXivsv~SS4@jSw6lFpxdYxgSY??O zhG?gsRk%G-4LMY}QBn0&6hfA1VTg8Cpj+J7kl{kcF7TMi}FkwiX+nGhA(DXw4n;C`nHz0>q5Twl&h;teJ zOW-0wY60m2_#K=Fzor(D&!uW8XHzgp$BfyTR5it#AhUv?q&i8=VkJWmToM669FODq zYj6x4B}mj#kASCwK#~J^-k+$Y?Zfp%A!zsDqV8baY9CZs?Xs(>Pq4FlOdQxZDG%tI zkZ$iAm-u&&i~U-LBwG!QoGm$erf*__i%$X}NFl=;N#cpm(|Mrp4msSE1xy86xw6n% zhE_70AP_?sSL8A+ND-5ZmJLzZv4t!q62%43V~Zh335N!#5QU0#p~RN6$r!JYfIYB- zC^p#aXoJ=D4T%+!&#@-59(i&Mo_@-%5R+5p@Hn@W9IY-VJ=7W;qKYl{4-9oSk=1QB5!J0W_dvL%$?lH6);_G*f;$Fu z_Mtf?4mXiBHz3S)lx5d4iX5&WU9bj1x&$tQKQao)7t#yJzo$bGw7-IL=>-(bU{QVs zXVMBOKY`P!1(YAasZ=fHWUAKjJ8%O1Z<7ls$CC>jzXr#^(WC-L4A3b@aP80+NRGpa zTE~NsgAfGc59;280%}M?fzuv{6r5Dx6ofm6cO@2310l_h#6stQ^fLPP;#!t}O$Xnv zZ9urSdsO7xJu2MXIU@3D8x(EAxf5^fBoc(}j1++&Y$_yi1QguWMaCg4QhXW5 z9;sp%SI)J;ITP#_1ZMkV;^Rl*yU2hLe9$Gp$dGyVZ$sXdfA+gSL zPC~8wbIR&xOb}u!w+v-anb`r;y3-UB!WfBm8bTN=kcOau5XeBXN;91_L`$-wndxiF zA;`Y~S;|Op5Cu5IsLIHX(MIF>VO|+2DzDTbGPlG&5^V(j-94?*A-uHG{*JNEHms_} z_I6FHT`0I&*=%>iRBwO1tjgi4#^`V*Pv>wMCE6u?p5bC5q&(D4*F3BF4!a6EzbxD^P33n8q6fG?A#1vxy! zK?raFa##gPDx`)$qF}Vac#rW1br%NifjA$(17nc@%zmM~a`wmN5q>z@yEUnZ?wh4^ z*<4u7@-en>H`Vp^L0A-Ad`H4y-T|^;W(9(jacm&TMzA5a zoVy;PtdG<2KgD^IbxNaPEsoNDth9*M#8-${Csav*cvW(Z^n;W-*~-*<`Fm-Nt}8Oz zT$g8ex-HM`bzfF6&7RNJ7^EE6fKFpS zgTqr<%FOuxtBHhh#B^H%SqNr@DKe7K|0jP>8LK?Fi+5TYK=kzvap=c_81NV%LC6mw zM3lPRAyQTDa6hk{6p;@>(1z!ik?ugGFh~@dU+!=VNprKLf^@^wNV;C#YJat^!{JJO zr^BV%4$_|$&6JD!I?5j<7Rm*+p7dLG3Hf|xG2|$w{DSr@+MhE^C}+@~20vyLQBI*f zm09F?G6RBS6j4urG1C`*`*NE8av#3~3byt9idW!uGR_pJ(j44JQo*?dAx3%+PnzDyw)+5p6Nj zhUgRG6cYl0B8Wo>Gu=WWBvB#W7vP;WZGhH5j??PNu^2cxL_b|D}78g!&9gCe;$zkH!Rc3q{lK~;<5Qj()s~|`c zM_ips!F&7{%Eo_bEC|A~B?JLa1;I4&tRSB#4ZO9OF8&xN7}r3Q)flgQ2v#Xg{P&e+ z5f%wW@5NV$R>W6|mLpl-fh^0C>*Q}GH!3iL<@#n?tLu`C4#nck9=F%C2R#?%4|%<+ z8uebNp74A{JGFU1)ztR+olk;a8hdhN-q@3G=8jE%JGX!8@blG^yXKTnJ_C30{`;Z# zih6scrQShVQBP8u>mW)LY6QBLXdnN`4+gDUrxTB zS5CPGSx{b)ujH1KFF~3=AcJc?? z(Dwsdl8R}*zz0J3q!c-O0|-L*Od{kcbasOzifQOFT%{_-{lk*PV!9}ym?6YB8~OM` zFh9${B*_}3p7)W`z+VkMgfOch&ihIuA2*rsS72~Y zupFYigEDMcLZuXIAd;ntHPR)Cb&4g4_436K=JnKOw?*mgZm(u^xh>4^eWmPjt zS=B^RRy2|z4gp1Jw#q|Rnrf#p)=;o8NP#djRH2119rPlOI5qNN~TvOo}KpLJ%YQE>b28vfNf1a2dIQd<)!E87S9P zdh#{=VP654!6k_EC&amk{sqYMJ2($Y zhqiu~Q=Nm%?>h(CCtLfOCmOn$-&VHLkC)Xre_ddv9m_3u{3^Q)f|OE^WR*I70S;r| z)*-Z*;&s}eS>m)Wql6X$_CT0musgk&7KC;u&b0@oLJr7+DPEdC*oGM{Kd=QK3-U$l zlU(Ao33%h1j$X+{G*8@I?~ZSySOrNcX2|g@gGf?*D_(-W2tN}7KH%ZvJ1)Mc#Yrl0 zVFPAL8OtSI&!%UZSh^dkr{8N{?x5G)oMG=5Aj}-d@?7~;z_TYvT?zY8 zP#&XHdjz6E6eM~8c_JZB1h|KiExgD?xm#o+he4X#S~EFRW5O51OyrvyBd!`X66Zk3 zS2RY-WpGJtpj=ex0R&O$9DhguJoa4usxmm9%hOZN=IN}QLH{R+a~cBu0GUo{&D4{n zRkV|p&5RR`U94|A26@MOMg?E@jPQ}DUSYH|6Zw3>DpE9?g$$bpPf z>i*0!>b{IJT1aM@)1J&yS}^u+1wou$c;1PAV0x)@Kw2qnJMd2{b@l^W!4}Bkn_5cq z0h>}wAxNo{XG*EF2c&@@G&i)0lw!IZ;}RK=5P~2@L_nBS;*9YJ1Sw`f5UU)3$xJF? zx!^7@IzAHQjH`-hNo8zmayg5Dl4f9&@#SGsZl#O8rjBk`Qctrfs&}@@t#RIvZeo6( zXn-K)>`xPrAPMEuf*?)SAYDF!B!nQVP=bAc#mD#2Ux|VI3Z%-rD7%)&8->`#D|kD> zBz!BuELe*5l_dazh!=xJ@s;A&kS?z#R?8PA)W{Yj*DGE|vdm9ua+{ah>OL>M!+kDf zc_F9Ib58D%*K>Kpo1Q&EnmVY;rVa{lR5o>zmG$kQjf_6YN^=((*el!m9IP~VL!2%W zevbrkkT%T}h~ucl7(i)mbc8sLSV1SCU~v#_J=H3aep;S5lxZ>GF^ERuJcK||-~sxP zkSLxMs0BX3DTT~EI;JyDW_15okUW6m#=p`k!PTOo3D2| zuF_GzF0No4v$QaeHurJ9gfK@2$HiX^jEfJ0gZ-oY16{-Xef7PZy=C<-Au1z%PgWT< zIJ1lvlvVD$D+_XDm(g})mC*tq&i0HlXa9^cx*ufPnqKDYJA)6Ve>VYdNaG1SfO~4G zvm1m`pf86sRzZLmh>}a`!sJp0A1yDrgu%r-Hef**Cf>UwmeL^z!#N3pB$q*sGL|DD z2)?34PSUYRiRCQ&I3Fh& zSZm_-oR5@x4g}$@0w18vS_$4m`LzPPi&c6E!iOMy2m(1wqBj8q5x;>nS&XwLi@@OxYxXw*(a(^MY*?mq*o5yoVmuF9qb_mkm zNmX`qIiqz_wxQn&+PbL97SP;Dh~ubi#5v2$a_Sq}j`vKaPZX$gs_&tiU zrWI+^0$CuB1@aK$pv4Nhl^6)~7(^p^9)c)CE%|}ImJ+F}B}bIkQ0^gp!po~1??9F? zaJ$q(2?aO74Ty6cTm@GOD=3%2r2-52BKQMb!1ngvAkcZOner{7z-0o7pvGdLbaVtkpWqaJ}!hl?s`hb_&F zgDrjB1Kq>IeUN4E@RU4cWJ(b{{6rcIk%F3gxx38G%)r75#*SPAJs?|8+m4Is{DEI) zIc;l3In5Vr&M0^G0h@3Ys&_^?!!x6t?g3fcfh$mClriOKWocz}3BElq1|lFxEo1O; z{+)*pmvWQK7;M~J&q^T#DPu5_%3SElF}-$PlKWaO?*HL*X=t>&%K)G=0T>s(gn)UZ~io4FsP7`ZEP z9QQq>#|lCYTmk{61p!NuByS>7mOz#_aC`h>$g&9Il-D2(1QEXi79>_mUrwx&&QGe6 z&BM;%7qO*&Zep$cd91L{NvwB&F1hI$xh(GQ1NHU}XJtnxfFK=Rw3$9l+1X8>c{lyO zy~}9^XJsqIA!sHf>UL7L^f)S8dnpiwqU;#3S9T5BDZ2;ll^y*^on9mn5~rbq5?9ma z7+cxw7y}+dm}rRe5W+;6>nV{)ocpFaa)hytd{19P2?uvTn6B0_6w=%(tESwpi@RT&5cTDWxHo)Ij*~a!OuV-%6Rx*5Z_0F3ij8B%1?wzS~ z_JSOq5XB=yM|X!Tu0WAq&XA#%rkB$tY2^%YYB@uM8y^LL54iYtJSR=(!cNz@u<&yx z2JQ^Jqo~1ktfJCh6H55_RnLnC|_ID6jC9t#yey z?poaL_;G@Pw+8KMT#fo6F0fmL+aEv3sAR9qsb;;0kEX83t>!Gxtl+$pYUVCWH1VDa z0x=+naB;jz{5oz~Sp-R5Lw_L>UGb0s4GM!3CT&y$c(#&}ZU31ARK6rRkYYxCxR998+~n3R)7zArAQLgI$u2 zX$vu|f&i-^D7`*I3qjbQBpEnslZ+^_FpGu$YTQ!)VIpR*(7um$CB%6TtibbfTxR!9 zs)e@<7dyO_UCmpXTg!bjyNbIct&+bOcXz#xG=U((SCJ?Sv03t!1ha4f(qukPE53y7 zE%R`4aV}(;n^-M<9;oYL8Z#|eV|LoDvN#3ho1Jz-m_VdX zfZF6t;IA?{Zv%cfQ?jMB*2TA?o#oTqFYsv}6nJ-!^1OP-xt=|vJok=4fm>Y{M`38; zC<<$tvRpGmnqgo_AO_@M2s4cg0pO$0#XAmQ17^Cx#RV_`J>9^h0Ve=KAO{BMz$yr^ z1Gc~>73qN)tEdCOr#7Z&?7N=T-uV+^a7Uk6OUd^c$EKIK!F2HVL2qJ_aqL(1bJS588 zq)N#PnE84h1NmoHkX8)N+d7ySfAAmxMCnujIgsL6fM5L4{~q$3gg7U_x8OMV zrli{GSWy-AD~NLx9Dy`n6jV_UgF^+C)PrC@1lp&qpoM5GPJ7T|n>%ec1PanrP|@GXhFoOrLo6v)(k0bh9FeY>BZM@3RRxomZDMe3mu}?PrW@HdkYocc{ieHWi{SdR7`2(t{5yoK{87^DkOUh&^Ri}8ox zbwG?kUQINM782=^R3UmfqgpsWt5*0@MxAh8T8(gSN|pEpNHPZ{*K?TldNvb8Z^S_- zgN?ErSAv?WY?PJtw$^FiMhvo>Tb)rlaUg^kNCCv@R^X4{!%DZcFM=3Czy~~l-v`}< zEWLy*Y-LX`myji{rQ<-oRn4?tv4Vci(nLFJX>>YkZge_hZlwNXYM`AqHPU`CG&-HahjzZ#*HcgG>Zm7l zb&lVb*Et<8t8@Cgw8rUJX|2;&;AmN`(-8>s1vp$><#Z4nD5`SWUtCGsS6Jy3f)DlV zDXgLe7gRb2X)By}6;#r9q90gLMGMeY(zoNCKk!pmI&aOdfFKplzQ6};%CB(t2A)GfiV4epYF#tf;eBRy8;%t1*4s(1uyB9-^#5n)E=P z9#@Fs4IzBd_k=jENE8XA5aXQyK#*Q81mQps4g}#q4t8`;A1ey7Jm~3TMnay5-hSr2 z-d;v{PcP$cZyz(Pr{CpvcRwSvyWizzSD(v`u71Y#&VI(V&LQTN?qSB|-ciP-zH!FI zfpNwk;KINJz&(X{Rch zoljbtoW3(PJDo5#(Y`e_I~_MP(Y`h`Iv>;5J0I26JAYYTM>~R#?|cCcmo?B1me$h_ zl+@Aoq1{_r=NwX8OWOm2K~Qn6^RA*A$WiOO0|XS*K#&@`e?hggpSFs=75HkV@d2BF zH^lK&SJFKohr6nR?xwDwEAT7_GCWIE7KS*#!bOx@$q?pOy6`nsOrExy!7Zt0vh__& zmbs0=tmI;E%-Ri%v}RM!iRrWgH`y<+y`JK`tPNh`76M?sWXD4 zTKI2+rT7vR;G?|azmaU=FHW`y7Nt~(Uc=R>3vt~k!2<9y&Y;XstPsshsuaDLR3V<5 zSRsA^rPdq_*q_5Cch9CEMkI$3DWW&y*eo#N7_AWytqF3NaE#V~zTOJ@71QsGl{jt- zam;u&;JE_ZRWNoyDMgf1M4HHyJw0B^-rg-%ak~4w;<|ek5JV0^B+)&+qK7@b0tg~_ z(Az7B?CoPm00_c{Agnt*{e&Q_+r51*p%CR}Z@Rjm^U|#MTaJkem$h_Dw z!1$wc(B(qcu*+{fW32Q26Rcl{CRyi(r#NSaCOJP3O>)nG(|u#S)1AYdA6ojDr|LSL zPgb=$eOKA$bOO>GuWX?mw=_F_ZESTuW^AP&HMP;dG_*J$fi#CrP0ojn&Gdu%Cg%f& zCg**4w-@~oT_ZhshM@8W=Urv>^uV%u=N*tIptO#@y|j+uUs}uXE3Tz)Ev{wwLY&P7 zbqpVEEqxQ@@zz#5d*Tn?LtRaGS64AyRh1B=iXm53Im^^l5Twdkj8$-vs*)i9d{w0j z4{-A<8EjQ0i-kTDE9Z>-3ML)@&bgq@g;rG0q?R{1J6bxNC>0$PlBL6$RN6$h*VMA@ z@~T)ixs}|F*%s~w$g)1Gf=lozScmVPtj)A=KF%<6)_~PBV2YRb0a%HPBHn{2E6~21 zR>50N4A5r>5J|PVui^(bqAqkGxS_PSw zgg}R%l|ecJ1AboJL@YYe;xO2c?d;*jboNRgclUWfkWCM}d%dE1dtD)i>;2wdw}{?e z#l7Bsad=Ok=uU6HAgs5aAKKf;zlHW@Zy)zY?*R9DZy)b!UqAawUqACw?*RK!-vIL> z_@jT2b)kQd`5VMJ-#y4Y*EQ&J4$_G}Wp#)15pcMwoqnjYjefAQjd7r|#buwRjj`9< zN)G|SrWVF-$P)x{cIlhwf%<0p4qcOTfWC?0uWMv%!(J)BvIhEA;0rdF)-!xc>ge7@ z^$f3~I)-OaJ>8?Qmf;RuwY4q^O|^?mQ^Sy=m1wJ7#Q4J(VSkkX@Bw!QHr}%UGryX_ zzycpVAA7L!u+1dDibc(!}sf2|@@0UP;9iZ*rxGkmDt*AXVZQA;#R4YRU6p zPD=GNI)g>bViAH&^SPDjQVY_|2%@)aKyu*cU|JX=VWuS_#2|j3kY-kpe`z7ebn@VQ zjtL)AHQL7LEOw79wf51qEu@D{9Zpfr9rVby9?t#leo;hEpFF&~-!;6q&;3qs-=?tM zKJU=p0qKfs3|TnNJZt#5#H95o28e*R68fJapJ;FZOH^%=C)2}Cnro_j`{#*9V_$7ib=hCnjbpZ5jJ?%e^pNTfdT><-V>dqS76f*p zyvfBI;&=g1;0}@8%jy}fr40;4 zQ3FF()Zij5tY=6H>s`c}Iu{WZ>;#%xlvuS8q=vy!*SfIPH7+c5Et9FLbz!J#T=gLwtH}RdzN1{j4g%%B(8>dte2=f3h5(#C`|uvdn7!TbWh-r5Tm{ zH}QG7CAgk+G1}MhE%rsJRs2^|D}@Wwst7@Z3&8x;Dj@_BLJ;ALxC(V{N{#6G)EY4a zc}B+{RzZw^7laUl7>E2bL1xp$D$R@()-r1*U1o(aRoJ22Lb{+epq)+_{AZyIGgR8d zfmjfuudsQ9WQo>S*hT3rc2VVKyGWhc?!KYQA;MDU5RQ$KcWW9Q@6@$Ag|+pvP+swF zL5!Py1Mb%c1~y;oAMizj_+1(3_qo(R;QnX-fZ}4`pyERBp!E0tLGf?>17ZjwIM+WU z_yz4*$a4nb{4_AcJv}hQ{&8T4b*g`e{eAxs=Vady`$X>$>)W1T*74q9_BY^I?)^yc-1m?F!*$=-U#=m8Q__&0aREMez}?;0 z&kU;Vb=g_n?GgwA2&%f6{*|3B+kjtX7juiHo#|_7bMb*hKIV28Z&Ry_m$B8w6Y{w0 zTA6O;ElgLSC~J0+l{GV^rOix9NfT34+{hFbH82H$54iZ_RJ{FIB09wb`ZrDLfC)}`L(PK`8DkI;In+BM}9TuliX_VS|rIDECjAm z)pA#B>e(L_HnCQfwy@qWZDp;5I4cSoIV)6k{N?xz_B+`%{AKu1>04Pf{H0(CWLc6` zBUlV^tb*VJK(D4%O$!1RfcfC1^lI_ERHR2*jpPLk&Ywq%LHe_tAjawBFrdV;LJZ7_ zvWrNNS!NRBpHfVx$8s!jLS%m zOMU(FKl=tYK@h(SeSUN1aUjtKd3mw(F zz@YGZaB^T!aAI(X_wB$C@A%*__nX0C&auG}&Q}A&oTCH7>?3_6oG&2F;hqupp}sNh zL6m6wN1sUdP5i?xRF$w>p1JdXDXCfs(Q{RNQ|`*27>TD0;|D?`L*0t`8B-v!OHwv-irJ>&bz8Q z-tvMb&O5~|>}92G?6*o<*h@8y+$Fj7yf+}t;;dT!>kwrTzV!PlK3uvmqgK2iqek>H zF3_HzQ7d{WqeeV0qgFB(vsN#p*NW$WXLkmRNDyNDVKA}1LIy{!Tn>rAe3plAkNN- zf4Bxt{EtTf(q{W#|Hs3B@_*d?CjLj^H~J6xmVqZy-|h*VLm%aBY8>Qx*9~wy>-yQA zHT@iS$m3Sk%~n))vE&t9Oqr#VDY102B<2p5$k@penmSl~z%zER@I6AD0cm9sFw0xn zE~PDOdPxh*xwwT%15QQFENWpRn*zuMjck&(fo-pCWZMB-U;{R2n>e3q8#(JW4eU>~ z_3U-%f1+vNti@NT)@bUvAA!}Xdfux1dhQ2#^$?_%KO+eD-TXT4^87mfGJ?E%{#&^X z?4{^0QPm6H&^GfHmo)Phm9%jd6*O~S)iekf=G6-qWY-H`&a4&8$EW4y%`g`q0eS(< z0ncUDiJr{?`gDo)PdW7H6BrBxGlO^Q03K;FJD7he3L(e;Ee~2^EsdBgmNv@zAyR5IYy99YIB5nTASK43D zRoMTotFSv?X14nkoYPl3oV7HOe{Sf)L8)%mPwhS2(_I5nB!~wg2;|uE-N3Lv1PT0h zXebZ~;{WyF@MZ|&c@*+|IXL2WWN1YG#n6Zhg2)aIj))HojfnRRjfnORjS54+o}p2G z@X#nP2<#dh|=|n`q;vXUN#@_%-w9R zxr@z)G%RBWn+aSD?QFWfjqR*!W6{dnSk$sMmLvX`ol@M!BA2vsNX4xjdtg`G#<3}E zb5n(spN7vkIT3p7oF zm$faz`I=VIJZ-D!MOBMvZeEk{g`6hwoa{yj((sJVVEv0AgcMKH1mhCxtkz8V^|$ta zlj7-&*S`rv4D4qH`Eh7tPAjV~+%ZwoQRzV=oZz##m>#In=>Z>3~rNdbqAO0D~htHH(*q=swT3<>2 z!B|TsJ&|~f{3UiD{fESL^uI+4ARqoqARBxl zkn~Im#T^rTQS%s2&@jT|*A8=e)k9ovg#(=w?$* zom@v_2Zv(p;F1jO9Fo4BYhT{Zu`BQ3+LX3)HeUdc&iKAc&iHAcpntD@mChK^4=?G=dS?oYFqis)vf$x;B9rQV5zEw|E9WG zute3we*-L5H;NXingp-mlh+ILn?$du8bu56z4({WpP$z#nwQ%oelfREJQwZr`OT6! zsuuBc_@?~-KN93=njk%h1Th$9$}jZw*8Z$8)9FHtQT|<+e~w>f79UYwL4sIF5Ca}# z5i(kDwtc8KTLmHHxDR+V%j!Q_9i@FM1 z2x4~uDFZ?5&qIuJXo1~XNb@t&=8U0=blOlw`4Pv5PZ_GofOHb=cZM3r6Z#s*TehnSzB1K09!1K0X{vQRVybpLtg9v+ zGSpBHnj0MV*Y(i%bq=%k4h%~|`bXS?2S>K<9v_^UBII5aiIX)==r@90&ef5h|@bMWcN-9SOZVE%)!5082x{_(7XO((>f-( zPAy|RYQq@cv2KJ*sU6~zs)hv)6~jWiiebKO#W2stGRWU(9^`E>^$XUU`h}kv`vvO^ zxJgmp!&|HG;eV{_=B+`yTHh`BP}j|01>P^~=C3U6;=NbaC0J3~$zNXDDSW4-gTJh} zQ}9+%r*LUer{GPrOVBPx`+8A_Xi;IO@Kv-6!7Bxwq6L~xlvf?1moy#XdFpo2i|Tgq zTvZ1Wq+L8m)%FahhxJwyVhUAO;H(#A5d+xQMj5 zfcAH!#&3}0{B(K{g4jb4dqR$%AjWAhBM1qCAVI1~Cy*or#|<^)Z*UIf7*gabaMUVC z9r=j4mU0*eyAI)mWK7^1Hwhv;gk!Nz*0-Blg*pvFFzot*<*d=FiM z@rPT$(AX9vNWiw?v7HcP_m<(YeMpdln@7g?`HYV5@*WxYM}lne92xh89Gl!m$Glx3 zk79J(T{b%IDjgkHNPuW`LM9xYkP3#!rTn1@F?VoW!htyK-U$)2XF}}KJt<^#PYCH< z6CxV=PF+)cYWEWkrS}P&(*1-<>iUc2&@siaYnkBLHjeXcYRCB-YDRe*YQ_ZXt44*N zRgUo2RgCaIsTdNiwG4{Zn1@7bOhcm8#zEnSV3lz|_`acExKiIITtT4g6D~*lPI<3j zSy_+pt+F1`(()eRlCm!0lF}~W;*xIB>t$V{MI~LLSBtwKNVn(}vq}=qzBsDvk77q#B6unV79qt zO%IFBWu3+55?UmPElRA77a-2>fJl#DksRkxg8c%{;^$UDrW3^BM`MM_mBl8 z7U=}qZ>@qfWbqh_lhlrNAdRzV=jK~p_tzq#IV9|$owQ1?KZV7%Ln z=O7#_-ifm+f%;m<07Jdgc5{=HKg8Kq-|gbp)Wg}*GAQuv9h3WvjC*ey9pC0XI=<6u zbnJlV==c%$(ea~hBjfv#9zpVv@$C>~n{;G+i)47*2ZC%8j*WZp0dH)=l{+@!#zD&- zn@})ECloFt6EZr%;JA#|KOuF3G}N9+38iOJOolY1u1T>&*QCg>j`Up#}n3Pty7$Jjg$OO>L!G1YsQ6Zs>XyLfz?%`q7N%aMXM~M;`c2hqLt+Ezu8%-YD-EFD@Stzh2fST2$62ezmkm zw6LsKyr8UC^m0j$XnskLohO^pv{B~GlH1$ z-48RSZmsSACe5rIGqOyJff*|TeEMK^J;f>xku1}K#LVyr?cW61NC*-!Lpa*IAPgHQ zZzEwsjb>u}VM9QaS5`qF!ez9CAQw@h0lN$6{|?Th|0`MuVhcfRX9Tf>AoheHKY&x< zdvMZF;cx=&w-}=w2VX;yW5z1-SCHf=jsPDq)sn1&fP)a`07|d@U>}4DG1pV~Sn8?4 zAc(-+;Iz|NPYr}90Vu_`n;M<`jSWtI1m*_kE%>=Fq`^&!&YO&_G;d3*vu9NY)3a%a zojzE+zz+q!8 z=^#?&07@{(LD`2AECeF#G1n0ZLM75;7a-&agd_oIw?hbjNaBYxDqGP)4w^4oA4swZ zeQ)52E%+YTcJFRzptiGCp$MK2Hl+g)q^5~=o3D}QMxY>3E3MJwCYulDq5q(}niB*O4sC4)e{Ud0_e*THPn(qAcs{D5CnFCK%~kJLJ%Ac-VRCpfgjk4Qp^`ehc`nSA4syv zRPW@C_Yj2UVQQwio0_PuXcai8A~!ZW%k)h&NqM7_SYPiXDzBvpboDg8q0O0B+t1;4 z3=7yj!!lOixF>UH+>bFf5rhN@aUP%8PaB&&L>-$v>Nq}m1PQXAG(NeTG&T`vKQ`%a zH#X@9L3}qto(>(slK~r0c4_Dc28r zrrcI`Pr1I=HR-mZV@mOE$CPY&$E0i-$LVFSK z{{To38wi3i2(dso%~|a4`WZ81XCMvau>BERSxylN0#1VOu)uf%?Qx{YH+m!priYI~ z2qXykOWY)R1RO@190CWy0sL$qriS-oW-A1bn;XH~2yMx8pQjhCKX#(sL<{KL6 zTx_rB>KdHcx&|6c*Fa|)n;DFXP8WJ@ADhjpD3QMdLo}w z@kH@o1pjYmT>m4#XM_xd97L%#Ey*mz^RyKI4k66bcQXU|zo!dPc3CAc+hPSBd$25a zF_7hv$z&I8G}=BSN-T_5BGKN*bA-W&MMBd?VhnNzl7vBw&~l^AEpQWQaswbiFvV-c zAl+zl3Ge>|PX!?o1k4KZ3;Jil&w8`{8E{%>v4Bb`2tW|bU{zrTtBSH0gg~NTw7ZSflptLVWhZ8~0wKf>$P$2?SRe=$f>8ZX zl5NES6anl0dta~_V)#G;$l>G#APCI^&+fn~2+A%9;v_XTIY|snPGa;Sh!X^H;zJTH z-~hIvna+YNOhXfcfi3lPY_F%`*{QsVLDjd=9SvZR bF9!ZU+yv;L96J+*00000NkvXXu0mjf5|;Bq literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/clickforwarding.png b/OnTopReplica/Assets/clickforwarding.png new file mode 100644 index 0000000000000000000000000000000000000000..66d9bc80fde385d142fef3f29cf7817a404de259 GIT binary patch literal 951 zcmV;o14#UdP)_ROnYA*=AP;U%I zAV$MaO@wM&G*l%a)Lpi_-A=nZ+nG7Xvs1))LN`Z-e+eAi-xY0r<+Y2;S2bje z$w{xK>$7@5x0s@kUoT%y_8#f^n1w@C_2I_l(eB@VSYcnE!H3&kz>b~-%$sTVsBe-t zqi4hwe7bulcJ`kDDHPxr9DD9xd%ov@V7lDStpj-g~ zalaUKRk#pUOLPPq=fhX6;X>jlPJDX`e}3MNX|sUNz3q7J!F6Er8mblqlUd02e*_48 z_AJ7w34|;I{Vi>HIQ|A$nd(}09PX}1)6e620e!7A~y&-82i1?Kpxv1)(sDsA>*pPY-SghP1JJ zqpQchJ3H9)=zHrLKHK-MVI!Y%;ABhwf|ABtzc0uCmRh}O^OG-+j9wZ3W9(8wZVde` ZzyLCuV;%72pw9pR002ovPDHLkV1jSLx#s`? literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/component.png b/OnTopReplica/Assets/component.png new file mode 100644 index 0000000000000000000000000000000000000000..c1796148e6e9d38079060282af20f44099970f5a GIT binary patch literal 731 zcmV<10wn#3P)004R= z004l4008;_004mL004C`008P>0026e000+nl3&F}00009a7bBm000XT000XT0n*)m z`~Uy|7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$BHmT?0B>(^dJxN4CR5(wKlUryL zK@^6MAigLHO1+@e78QI@48?#%u|5Q~6e&W5Dp)U7q0)#HLCH%%3Mz_tDJ?~amY^2t zOA+xwu@r(J+M19iy(F79mkr4V4K9ID2>kxLLJVyJS@;;{%sK!3XJ&SlEc?E`kS>P0 zNj({~T@}~zoT~GW4`j1{On~?h5Pl6U)Qs_Ga=9h}?rfpJ6)n&V1Rn#TJ|J@wjJ-4j zxL#LP$U7kSXTNMhcw#Gz5#e57#);6Ubzq^%)O!K*E>#rq4#^+HJixpQm}Bu==Rf9e zQ|ulPc?zVS8v@@e3UG%aVn$*+5N!jL7ILDDvuwvW zXe-!iWaN%4-tCZ4`vI|*xA0S6Xh%A*4LRkodGGEXiE1-;GnV$%qo7{I=O+?p(GFrf zsx>76+8I=RcH|a#NV*ID539`+&nLUhm^OO~+Dt3nIc2!wJD?p4ZH+J?W$f;`C2t>H z5C`psNOIts1UVn;JSIn~J!iv?VQV*OBpb+DvYqTA4J&Nd^oP}u^cS%>oLGX`a2Ego N002ovPDHLkV1g_eD)#^Y literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/desktop.png b/OnTopReplica/Assets/desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..1f6a7f4bb706a4d9e2b81257c1dca8fc045f8f9d GIT binary patch literal 794 zcmV+#1LgdQP)ezU0v0~n=;2C zMiWEah^V-7;Rm=ET)A=Qr}z#2f`~gmKnMt~qM$}GniyhYhUc5Qy9Q6^C8E_7UDR;u zo}ol^|9KFRgj5l`fRF-O2M7@`vJO531n1zYihuU11gZjg>>y#GM3$ol5HSJbdJ4F+ zta0;F0v9BVF$muAOnLGzivq$~%(h~zt#1*a*?`m$B6dZ9(s|sw-olf+(+H74;RJc959_ z-R=>J5iMiMXHA^-(rwd*Mx^$uu(&YQz}roY7heox%&ZP-e_2jR4N|IVR1C$^BbHQg!~3s4(ad7ZPj+zo z>I%At)mT8XF`93Mv=u{F)0GDVbL46X)N^E`6D+N)V(s$)J6+4m0v0cyN28hZu%=U* z0gGV+$3jCqdif?S=@Fyc!9}C7;WNyXBdl)~*f<_S^X1j{cZUQkHMS2bSVq(rBM8g2 zkFVG4Zeyr?HIK)05{J{*(0ca<3vrBB->l;OaK4? literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/empty-window.ico b/OnTopReplica/Assets/empty-window.ico new file mode 100644 index 0000000000000000000000000000000000000000..ca5edce1402e54eb04e80c5c2ca8916f7ccf019b GIT binary patch literal 10806 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

    vF9gJ@Je|yRw3>4@pRamq~Dp4(LNsCb6l7h zFxvaNhK=nl!`NSOj9@<~LcbHR8(Zi-?bzqmVqdcv`#kx*DcXy|zJwn4;!U`(*6XtM zj+#2#MpqUmJu}!_!ajxt_svc5psmeq)~oT`DX9s26!tFMjWViKzhI7x21lGZu5#B<7XuwJcp5;yRJ8 zU1`>!YgM{NrRxkj7hKG_G!x+Ukk@USwOe{7agC6_K8VxYjO&+vIv;Z~b3d2v?b7^7 z*CGeF$Av!1-2d{r>~k)=W$N44hct6%=h-8=uGs3Q8HmoicrJY}%|qLm-Ec1?;`cb_ z`+B-2|KF=N>vUaC^E}PRm~AqHn9GLILq}Zp zzJ*_Y@By#7vcg?cRpG8Ct1Nd_R+KsMTSEuTo-+r2FX*U(Rg{&|YcBl$(DR#*f2}Df KNIv}U*na?MF7@;P literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_czech.png b/OnTopReplica/Assets/flag_czech.png new file mode 100644 index 0000000000000000000000000000000000000000..8308ed84ed70128030d13e6315cf7864c24d4e18 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ#}*A-ZN!DMTwp+jv*HQ$q5p_8V)aiYp>eCn8LvE|M%Zso#F><2Y8gOitsQyu<72b z?8+$KAmz}N{Xy!3v)iZt@}8=DB$hL_m>hay$fFRZ+{XCko-E7U?z06Oxc_;1O3t2amNsq%TE^h%>gTe~DWM4f&;U;T literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_danish.png b/OnTopReplica/Assets/flag_danish.png new file mode 100644 index 0000000000000000000000000000000000000000..d39d4c1917c8e11a5b4a713cb900312b21c89195 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8oo45Zzdi4M2&;Pe<`LC`0f7R;$r%(UC zfB(O+@qb?4|NHj+KXBl`l+?R(mw*ON`7uKTXq{q7kY6y6ix)7=KX^eAs5sHn#WAGf z)|B(^d<_mf&VlD0UhFO3@n5qurG-WMNOaxN?gteI%RAPtO5OBCxrys2``Hik4jSof zy1TF_RAHyLcA2}Wk(EioB(EZ09%t>lvPyAN!Zie>ud;V8xNjMA}dc9#}Etu-a8o&D`^Kj<7B9?m;P|~1}`_z6b4UMKbLh*2~7Z`TRk`c literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_ita.png b/OnTopReplica/Assets/flag_ita.png new file mode 100644 index 0000000000000000000000000000000000000000..6254b92e285af9d1c75c2dcf9fabad7d7475623c GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_poland.png b/OnTopReplica/Assets/flag_poland.png new file mode 100644 index 0000000000000000000000000000000000000000..9a7d5f6bf342512b9aade8a010208fbc04e10e4d GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ#}iF>xNjMB6Uv}#}Etu!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8X6a5n0T@z;_sg8IR|$ zNC65;mbgZg1m~xflqVLYG6W=M=9TFAxrQi|8S9zqnR<5pc>q*Y>*?YcV&R{hAW`rk zFz}zf>WoIAvkH5sNPqah|44m^&cFYs&3R1>OH4WJm^VF}uHEvl{xua1Mz1@R9lO|LWha|K`Uk`AkWh@H&v^$N%~KYd${ZPE*iz oo1!@7_@M*Kn;Fl0i&!%-Yzopr081=vMgRZ+ literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/flag_usa.png b/OnTopReplica/Assets/flag_usa.png new file mode 100644 index 0000000000000000000000000000000000000000..aed8f11f9992b987e25e3344be224bfc6294d3c2 GIT binary patch literal 355 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon-new.ico b/OnTopReplica/Assets/icon-new.ico new file mode 100644 index 0000000000000000000000000000000000000000..18362992f3fec1ff3742fd8b63d393500a8b5cc2 GIT binary patch literal 86918 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 A{r~^~ literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon.ico b/OnTopReplica/Assets/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..791a5e2abbe1788c3b7920ec0c87ababd4691435 GIT binary patch literal 7358 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 QzVN^OFZTb>|Gz2lpGUyLN&o-= literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/icon.png b/OnTopReplica/Assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d87244edd38607b98111a0e4759f8eddeae7ba71 GIT binary patch literal 7335 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 N002ovPDHLkV1l0s81euB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/list.png b/OnTopReplica/Assets/list.png new file mode 100644 index 0000000000000000000000000000000000000000..33b1ff0345e156591927d0d05e1ecfd9f064a89c GIT binary patch literal 681 zcmV;a0#^NrP)A}HuaqOhR5=&~SiQC$Qz3cHA?yv$u#j9hbRHa8V# zuG)sEJK9d`>});Xe6fR9df>;ty*qo}=Y7t5gudvFJ1xd$XHimFY%&z;KlAK1+rlO8 zEw*}H)-LzsjDd}A7z-{u*8^JX36l%T5~oJj%;w-t2zG{ zxYQVY+I#tAPAM+y?+?t~qxzN2W+3FhJwIFCWqDGPrdTrZ)#L2)hp`8I1h`?p=)OAI z1p_dG9CG+vabVP?4B5m4%g8CF7#lpOg+V9Ho1(=z3RF5{T*k9n6BwKbE&k2QbJezd zbav)P+~ultJVu=lZE!4;3odZ0BG4E3J>qelp7PjRq;z?fZ{PbZ?SYy$A82lC_ZIQA z>&+`cs-Fk7APq+Oee|7ocJil$oQm9yc=$y3)y@tl8~7L*9~=G9eT|*s0$yMR{M~p- zA+}Sfdw7Uo5xf(JV~Mx5Ly`JVgMk;R`ACTzI5aLVXwLgI=MWF}p8x{@XDi290elMa P00000NkvXXu0mjf+9*5T literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/newicon.png b/OnTopReplica/Assets/newicon.png new file mode 100644 index 0000000000000000000000000000000000000000..37017ad33c7c87a6c2f945feeef56ba0acf1fb3e GIT binary patch literal 770 zcmV+d1O5DoP)ox1a z7VLs78w-Twn-Av3{~$|-zu*G^SqOdx;hVJ}AMnBQ&Dz2Hn4Ot^S0z!i;tt))?&_@0 z$jFQ=0pMwOX>*$5zg>pb(cZZtgfGAO_PeJ?_wOyHF(!zJCQXxS-2F;O$=42AMKy`D zR{lCUIeq@q55Ky_t;0_jj~+h${`GI4OIIMx4-s66UL0h$2W;Exgl!8Q8bsbRO?dX? zs~6QTKY!+!K{wr2mfJJvxWn`*)C@j7;JKBhLr`boHsDuvaOCzlPd;FlB7vN zpZ73iWlX`OcGq#khQZAY>KlR_8=Sxf%LKyB5r%P=;OrcO=yL^3;u_a&b@}O%>cL@v zO@e0V5G}o#;lP@0MWz$du44L$=qAm}e*pyLG+?njLtWg$W;Wn5ZMZujHa#U|@IWvr zGG8`vfS*V;rE7rvs%_Gb-I|KA`&Eyt%HY&1E;>bOB2q^g%6+EdcO2nEO;$)dfGMhe zuy51XpWMWGQ{r@OaoM-H!`lC@6_*llwj40FYsAs#p@MTh3!r(*$bb&*^=Q7r-2;P< zWQOzTaoPsFZv;cCvAn8rwc>hXuv$|Iv!B(C8N!i=7G}_ezu<6>n7bM7?De>J`v9wW z1DAuxvMpGSpd0cLsNw4cikD4Fgy0}0N;%u?mtSn%7!ajoot3)sraag?L}`yn^cX$Q z+K3HXJK`;Fr`IoEY$%>}ZF6@18{?u-(`ige$IF;<)*bspTj zFHZE;tCNv)d6CsUpgp2}NK60YICDtw=RX1r0DQbuM9q8juK)l507*qoM6N<$g4OVC A-~a#s literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_bottomleft.pdn b/OnTopReplica/Assets/pos_bottomleft.pdn new file mode 100644 index 0000000000000000000000000000000000000000..6658542355e57545d1b138be337b56d0ed15ad29 GIT binary patch literal 6696 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 HDWM4fG=x-j literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_bottomright.png b/OnTopReplica/Assets/pos_bottomright.png new file mode 100644 index 0000000000000000000000000000000000000000..96ba61893ba568efaf9bb9835d5329dbfe26c4db GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9}FK5etQUh2#kmRT2WL`C{*P zJP?+)m}qA9|8i4PfPqKPizytJV&dcbn;er4A7t=i7GzLs>D>2Zg)bw}LIzJ)KbLh* G2~7YYM^pg- literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_center.png b/OnTopReplica/Assets/pos_center.png new file mode 100644 index 0000000000000000000000000000000000000000..d672a20baab23469fa22cbf4d711e4ae2c6c2e60 GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucLCF%=h?3y^w370~qEv=}#LT=BJwMkFg)(D3 zQ$179u0Iceio!iz978PplV_M@Ui!b(d-|e;2@=dw2UhYe`FUohv4(_7TONa7>EQzm zIgP@Z$)D|YH8@zCk92V66x?VuxqkinVxan}1CO5Y8!~I~9Z8%pLE{_K(wmYD3x!y+ Um;83;1zN%2>FVdQ&MBb@00?tREdT%j literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/pos_null.png b/OnTopReplica/Assets/pos_null.png new file mode 100644 index 0000000000000000000000000000000000000000..ea301953f4a137a0c2a6c12010b7234431bd3a53 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq9fFFuY1&V6d9Oz#v{QXIG#NP(q@_ zHKHUqKdq!Zu_%=xATcwqM9}FK5etQUh2#kmRT2WL`C{*P pJP?+)u(-uR0qGPfD8YB{i+h- z5t8O(YhV(5lAgjN(|LC)8IumM=*;A_ kY?eJ_(y-*g@em${tp58O7Cx@M26QEZr>mdKI;Vst00-D*CIA2c literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/regions_new.png b/OnTopReplica/Assets/regions_new.png new file mode 100644 index 0000000000000000000000000000000000000000..25947b96dedbc6263707383ff7bb5ce7bf0e4a4d GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X3O!vMLn>}1r6eRgU`i5Hc$TKXTf_RuT%k=ypuYW)iH6!V z{o@=eCXGL21lSoqDl6r(NA6b9{kM0%%TlySL|m!d9m;Y>lp_f zt|QkMBz|b~s4cKvoaoSMu)snySk*Xi%3MY!9)_5W`rqzs3j7VUoWax8&t;ucLK6V& C9z^W` literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/screenshot-icon.ico b/OnTopReplica/Assets/screenshot-icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3251e44fcf9b29c72083eb6543466410d9926753 GIT binary patch literal 99678 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
    w$YD8-Q{R!9jryL4g5{Kz1u|y=6WF!x~3Q FFaU5&7=Zu) literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window16.png b/OnTopReplica/Assets/window16.png new file mode 100644 index 0000000000000000000000000000000000000000..0d594cbb8fb50b1c90044cae1f363e35d36b6a87 GIT binary patch literal 862 zcmV-k1EKthP)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$9Fmkdbk^le#xJg7o zR5(wilm9Q&aU91#|BR57WWsf&(#*G}FSyPr%Y>pYIOi=P4%h9*A)QvF!a3(lzN|vF zHhnXh`Et(P=RWtjJKsr2>c?mAR6o>g*}S*c_TFoIKHiVldwVg=P7i0FNoDzIV&bOA z1ZyLsMve@Pn#j8$1L+?aBLl;e#K=0x%=|K0TwWu*W1f7Vy|$O{Nwuy!ospIgVR!6D zgk~8KU1Y)qC5vbUi_lyX4rdtQCpAJyOgNrvL2wa|Qz{3d%BK-iH3xb9C>Wv{fiTsK z$U++=N(aPu90$JZAf4W`9PqzAgTUf>gq1AeY~^Q&AFLv_b{z`+Bp7AgIDMVp z42S32Adqs{n_|JfYgTwk?GR*7;aI^ef|LsgSARmJW(AV!HC%kM4rPl8OsUp@bHz49 z&=LG)G@Q)BEtvvt@bH#xrN6qVA6NGksx~tiwRRjL3JAJog+~etmm~^E;ozC}xBkh0 z^yBL{P}0tVDQOtP895K%R12IF%y6av_pATcPtb0lw1WbaPe%}xZN;7>Go0ehaJ~FT z-?7E-Q~gK3^b;GuLH!dTuNj74nuUfxCtWRE{uZ55fMC(ir^I>hW80Ed;%r#3z9$(EWx3W z7-Y)Jz|=PNWVAegL*5P=2xprm3rj0xYIc!~OmL*Pe~2`9y(YSjKGM|LNA#VqNK;2I o(Y5yw?Xzz3Sl=bv=`u4v0HYLIW}ceXwg3PC07*qoM6N<$g2#Gr*Z=?k literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_border16.png b/OnTopReplica/Assets/window_border16.png new file mode 100644 index 0000000000000000000000000000000000000000..b9bc0b092087debf2200041e8334bcf20f508a05 GIT binary patch literal 683 zcmV;c0#yBpP)Px#1ZP1_K>z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy7<5HgbW?9;ba!ELWdKlNX>N2bPDNB8b~7$9Fmkdbk^le#1xZ9f zR5(wqlig3!Q5=W4?z%Thpe!I0ejuVwNyCJkqnH_5G1pp+%qAiT=$tasD09wgX0Ekf z)+(*^&*>sm-gLwADUT2ij4HQC0cKulA#{1t_QuqH}~WIKyj?%1~AKXo@Cj9!}%Fmd4Saq#~Ta z986HwouV@G23zz!j*(9^jD6+godt}?dNTm6)sK59CBi9=h;Vr*PEkjk;-I+qq_JLl zOYPMU93B0PYy2DTyNeVxWC3(SZ8cm!ki-(2NAk{L@WnBQQdoLlb7=4#b;BR2zww2p zi3OVPeaCb>3!t}m(kLoeyF|Ecmcljx@Fytk+DLzq)AyG!x%x5{RsnT=ag5$s_O%Lt zcOFycdVOb>{+Wl%6lVkW*90gJ%%N?Gp%nmq`=9mCK3c}ym}Q_o7(mw=L+y!CaB)pP zy}|Db{Rc~&d;EivrbwoO!r~XCBVS_Y9*MlY1{7)oO3knNy+b)I(kdjk^Ao~A%$#(e RGs*w}002ovPDHLkV1h^TF@yjB literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_multiple.pdn b/OnTopReplica/Assets/window_multiple.pdn new file mode 100644 index 0000000000000000000000000000000000000000..2641e329e05972bf982e65852fb0269808fce01c GIT binary patch literal 8806 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 BaXbJ3 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_multiple16.ico b/OnTopReplica/Assets/window_multiple16.ico new file mode 100644 index 0000000000000000000000000000000000000000..6c48346dd69e92f341301e5d260e9d4befbbe0db GIT binary patch literal 894 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_switch.pdn b/OnTopReplica/Assets/window_switch.pdn new file mode 100644 index 0000000000000000000000000000000000000000..72bcc91da1b19273df35affdb8d985bfa6af0bc2 GIT binary patch literal 10464 zcmch5dt6&pwm%Hd*wRvawOUkaeNSw81ae?n8k0asfDqm<$B7{?0!dEDlK|yZ?X=@) zMaQw;8Kz}?_Vc@5%g>+w1f}J)#a72kQR|3fX#=GNdX)wWmXOC;zr7Qv#ZTuqbMGH> z_?&h2^Sjqxdwtj1q$s%hvGDqsFaPXe20)dCChWfmQrCuzCtTbw`iQCsH99F=GN*QWNCx8xI9l-UFwijiSz0#WjSRPnp{(< zJ-fkDR#+f1$};SA8B(@}Z>$t6${JNhc8<|jTEkVQX4=v-3Bs<*Od^a`c4ISNpIa`; z)$$v1L|QGGBP!N5h6GpMvbK; zsoB_EZY|C!;W*08^+oj+&AE2Iu7T~et8yhos@PVj&gV#z)Y+o4Bz`8T%1z294D}q2 zE}O`+Hs#yv3$&bSuB0w4w<)>A?nt+&a!NDmQHwP*rzE4yDj*F-qExm{q86a8s*Gx# zge$3VN^RNYjtX&&mC#iah4%6?v5{jl*)6G=B~p!{sxhyu!DvmX7pG_(Ir=JrzA3kf zUBfombYxDGHZ5J5&&T8J`ljSsS(>UOS>0$(<`Pno(5$c57h)aQmPQd@ZRA)D75ORY zB6by5R%uYOGj&L}3NBi|P-m-7u^ChXjwzE}p)eVXRjJMSdTz2V$(SrI(C4Ss+bUEV zhgIchA}a+7eNAm@v&2|gnNqJ!X;7t>aqA>Wsg4{@t)R9}$Iq0M%EZc)#?0d6+-5WB zaO9G;mFdQcwCeI2aYb5AL8>ZQAF% zE-7$uiHv+c;Y@8NODk%mO;WX)C~Hb4^cjS%oXa)Z(;U_10#2G$p(-j*vX+UpbyX$F z>>{F`E2&QtCJF0>jv^;%tEsK6vFj9Sr6JwGWtWpWnX@(p9cHQ7n37zbU!>>j6hwW2 zwNz}((~}xuWknSs$S1jl>}qSKNaUz(;Bw6kd}n2{y0A1)Tia-8l%%Ohwx-r>lNHpH zbyd~QG^rlrXet_vDyJyLPH1!~jfSFTvQe8R(xAPQYNbtTDj^z`IVwYnR-w>0WpYV; zmKl0+Q(7ITI!$0tC2AWqM5CUYTEjNgaPr9dvYOf^w$-XDwv;LM2Zq_QDMEJ${{jW^Nn_`FwZHf zV&^D05)qLh&}0ZXNy0p})+W;z)zx!~MUnW;Yk-XVmif?Al^!inK}RuoiG^#kz)i$eHp?`Qok*!v*Q|7Ck zWn_cem}Ru-^(!L~sHD_sv8oL}LZxm_#()19qLv^O>B@9&N+u^wot%*wg_ZrcWjc~d zn?Y@~#-NVqP;QP2X71=v(q3t^sLfKfRe?9dx|XpctO{+cN@p>V7PTreEG#nOXJNNo zk6VD#e1Xnl#a4-pO$}{fvyjy5)k-T$_Lj}1Cbd$h(CeDjs?CK8gStYYx2b;|fOo!X zaoVB{!!Z~OEf{ zn`4Ef0dK+_B_wS|Yb5d%OLWj`mY78gg+)Y!MMs5&-)LQ-!lITKEo!4hXVux&7+FZF z)Jy0;zrhjxWXjU|v9b7Y!dNUUZbAYd0BZ#nE0L%|ZzOK|$?*kGK`vF)ljdl-RAK~)h@&L#A$I%G~xF~#{>#mO+ z0-e>MFa_gBkP1st<|dPwG^x#2o!Sy(v6(drrFunh6gwENR))%hJCvDb%2Jb+592a&io;vrNC3&)fQjrch#vDipl z8}TrzgoOwBf=jGTSZqe(+K43F9*G_O|IY>NFRKl5Jqo0yY7~_eR?@uEAlF%zLf4v5 z)?CbTIKZzk$c;FSNKn{aW00fFQjU^~3sv9yf~{%Sw_?f#Thp&^ z#T*Q_a<6NR!k+Zsb7QPzOs!sRRLM+{_h0X|_&5Zi4hy@GG#eE9#VU6FV45RPAqqS0 zjfj9VUX(?tFeWd%LquDw_<*m!FZ_h_Qni6JI|X`D*{}g&pac+(zpM--mOS$aDu+d3 zn*3v?VMQYGX)n9J#NZr*Hoj745h#=mS~JR`suldhkZiwNS$oP<0TaXC94+(5O)>b5zZ7m%08*eW<3yDP-4r?2#U>MBy zAPf%`!ZGcGFpr?Zau^&0f-rnkScFMq2~Z^*!QhY(gc0Hf92HbfK2sAPnBBC&9mu2+p*o}!9i&ocK>$qtvYJ;i168})RGE^1^ ze<@_uDJ(_7+j^`@twHHQt-|Q&ejOVgz5$mosnE0JYhmHxm~I&Tx?5?mR*IX-kO;>w z<{;ivIHn&~^aeo_ zLBhNXAw7mltY0C4AC?@8$B_skVKN4hFc1F@5~f}VNr6hNS|sqpQeuJ4jFHx0tKlae zTMj>K@b2*wk1c?oHFy{JiN`y^Pk2x_RA8xb4J&yQu4#~1gEhrZ{Nuq7>JP4uDl9D$ z;aHL2=sHwbgSEj=eCXg&KZeA&5_BEF9ia_lZ!bM|FZw?9slu3BCoAAk+-pJk9=&%v+feW{NN10aqs~{Q+v8*sY751Jh+NDzure5 zg-)gt+~AW1*i;YXb~g2~{NZlGx91SRn{(j$9Rp|lE|@2oGpB)izzc2xz$8X`#3 za{zWSJcb6h%ltA!bu!c=!1LqkfBlA`3V_N3@Z-_nxjzT`&p^Kp^aAc4@129r-)*BR zreiMCQ32?F6TrT6)-48zLd(9yK<}DUiKhXr;Cd6>@u%h|Vf7@mPeSLKQ}hD?v@AT! zP~)S_9~pRYr_U_}*iP-82I(ZwnF#MyfcJO0-H!n5y95sf;A56cE(Tf%iOwFR6(t6$ zz{A`%2M^3a>G1%XlJ5n!7bm>-AcPXntKM_4>%l?b-afkRHIO5?)qNlAIe2K3E4zv5-uER8 zUV`I;KV#^#gZmH8EsS^XI}InvyP#A0*rnM4(sz0eE~0MtTkQ5*=1JFovbXmw7}mi& z1kSwOcI!0##=(`I@!2z%@}Ai;GeADNhWP=F?*8H>cRvyB=$|EjO}6#Qvw=h^(R&VV zy<&o^Q?~nN4_%2f!PLP%r=Q~5?(>XyzqJz$L^i_H6X^p7TMzcQUT1GXW;pyB!1>N7 zKlv7$o|+jjST7#y5B!#ar?AUSQRCWh=&-6^CeH~g8T+2Ggc0W5Cqeq*m(v47pT9(( z{dQ(xa6Pky*Ye?)6CItK{8WWijn?8$12i+E6IT`<@k1{1SwFxGw}+Voo)_8~K#Sg> z2vY#DkQjhmfCV2w%-V-OmxW^RH6ljd_AezOgXjfJIz#&*F^kvSHs_yQ_+nPL9ksvg zhwru_e*Q4q&>GH8XK5V*55o>3kRxYrC*FVip$h492Z#{&OuqP!F}*WOy#Lrnm4mYGRH z>jpZT7Vx@XeFwgE%xRva2eu(xA4LXcY2N6z1)BaL=_0S!15$d22_9q3yQYA-6W)It z?M5~H>#OvL`-9x~s7E}!jl(=2O$|}g^M3sC>@-oL_jvaVcdnhH@BNnEI81wK9;0m| zk3kDsBKN()*!jOf;B9K*ymmG0X^j}>-8Y*C-lrWh4_cl!FK2V7Ky%U_E4Z9!bSAYZryEpuI)Xs7=PpG$87 zkG*xaeRwaqb@=J4uTh7+yJp&F22jl0#~keKp6H;ko3Fpn@daHGaGe2BAnv@Z2c)9P zwijE4J+R_QUpI5{gNq$gRA3z*pz#fix{!W0>%~nAyG*Xnh!y8MZuz2bf&Li2zDVri zSuaXkUwo2ej-I(PfKKi0=TMl?_{oDTaJcSZiW6Fpw#r>7d?k3s<=Ydc2RyD1y|kM- z!}FY&rsG`xgTxhSosyUtI7|7w(C2geKO=TS%k)4y#}$7WJkN9u5DwTU_fu|vFMT1Q zpLc?wPri+m0qxd=mKDe_t_Kw8G8kd&>Df!f^qzO#=^p7I*Td%rTptnr+XB+o)5ik|$0_B*J%1oS+!io+#yd`c zrtgwx4h>A19q4_~)jH;(BHkJCO%D)zVE2Xim9E=5_csEOL|hplo`aYR@zD$8(ZjUF z&-)WuR(bAsWS`DYZSIthMa%&87obAqdu^hD$7`O+9cyL%bGZVQU7~aM^1`}5o)-b&8!S-qRV0&LQgT{3*V4DW&aVC3jzL}p>{L8SE2n9Y?*^BFKqWhgcpQfPOH&Qnu1hlaKg*Aa=m+$xm00 zcI;)Sg}4#u|LUb}XaR>SjCpK-jO#Y^w!Zk`%_t-tB`W725hVlPBI>piXo;hQ`!zOJ zslf|LO!PE-7}`?G*41c@)yPJOl}F(I#}?i_PVj^PZy@Bv|6tRb(H!0+>e~Ik@Vy}7 z5>V5`4(i#EsXEBK%JqFIJ=EHe9aAvaw+Tp_;awAPmtBzzZ)FI7ka`hm#Ce@faSrb4^*o23^3hEl^JqUHf6e{fXQ4rfqj!EXMcPAp z#=8Ccx}9#=g!Y#B{RqSij~_-W!qD@ctCa|N$~b!&sR<2p0Y6ORonC}F|2ZH>wl}xQ z0+2Y}AnuC>*g~F;R7aC&S(B9oNA@bTx&fA}uX>m=T`sIw5 zL&ZH1K_6gvd)`9<2RdG8Lnv#>r!0{S{ml~*znB^xKZ`D)c6!&dGxr}t{}&-c|FLbT z>+ZRQmt0@n))x1|TaKH?xIJS)9WgvkPFikx;^~yby#v0x{>0nCK%();>|j|BqlF8G z$6c?wY15wvshOc~p6~aje^fC*9!W@Eg)o$0c~(8a^_(3CWRvsptKeeS-OB8am%X!O z*&VyiEhJKLf1RLrc^*CcK6TzO-P{SV{`|T?`@Xhw^KfKV=1<@H2Y)|Vm%h|!u ze?i^HXbQ#aM1T6uQ*X(~q8EJWUT&D>JzK{%>L7F}FQ58rV#ptn*N|t9YU!hfbAb;S z=(?NxO1|%9M1=`2+QeiRyz`XL)wJmF_ZYROv4ii$diMwNj>B2QxdrMBywuKoCLc?9 z|6N%9TltqUKV|;x27)P?^ZHG*@~;Mo08}#TU4PmW7`Oy9J3yg- z2GM2Yw+!zMAdnKjXW#&um+A$V2;gIMh`$Jc`xSt@>0RG+U7o!%)N?yHFC6aj?SP}c z5ufWR2JS;w5J>;%Ip8CJry0nn;%+~!rFVTcBpq}uG^`wZ&fWJHt$5dr&;5T!4@(D6 zb*=e0fVjCeVT&LAY_Ol68JZje^XV0k)bgeLp7%~tqbI%wcPlzbp$S$~dsYv<#9KE= f&NqB=#~pg(RroLM#EDzwvkT~wRho4Rrpf;U^;a;g literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/window_switch.png b/OnTopReplica/Assets/window_switch.png new file mode 100644 index 0000000000000000000000000000000000000000..987ef8eea5050eb07f43ac3f3fa443d0359f85a6 GIT binary patch literal 456 zcmV;(0XP1MP)L@?7krY0000j3d}GchM&TU4`Kv@IN>RHch;R@sca-{oQ5F2$Xc9I&giuiCNC+b z@zBG?f8UqUg67v#pYpwT4SX;C4|T=t=12XP58ms$&U=sRYZ!rB^8V~QNPho0_S*0N zx1YHjBc~dcfzGU*2zaL@@Q4T?wc-pa-1HK}XyiCvksEpR9!55v9m*HPv)mS3tj0+J zsBAd!s-(twY=w$jyv84X75tMxA)1pdpS<9r7c;stJrhrC@S3z}!PDhr1Js9Y5 zM^Bb}m!+gZ7R!VOAO{xTAwUfCmSn)$#+&F#varFbIe^y8*`?x=<>ejxw{DS98b+C6 zV_lrMq=c(qXNNquQixFpHVZyFuG!hMJ9~Ne3e9!#Xd7AYZsjxHB@Knf)bBOOZmr1N zzbCJ6>i2Fx-#@Z3b>7>bZ+*8gho5`=eh>WiWBzP@w2bz7XGvs>`kmr=XIEyWh|A1^^)8?o$&X1dI7X3`d_2xjT9At#EQ^bvr-^WBfI8P1OS%IBVH zh5S*v21_Jz`KtECWj*aRA(q@)dRBxUsE2^a! zJ!sclzfl4Rr`xP_k~&LRsKEjGkv7MLn%37|;>6Kr1`CQi&C38xHB+mS6{1UrKXzr_ z83mZ7Tk1PREIl&mwrT0XpYEfZa~0CeqPEb$FH9foo^H<2=@R+vFYcPsNF+Zdz-SLNBh3Ja zzu1+P!zWy#`9>UI*u-GOa>~dFnnhA^q^>|8cR7J(T$`+%KGlyukTa>tOnGuFb^p(ZJ&%d8s5Jz)?nAO<8)!y6P zr#q!}WSWqT9vPGJ6eHS`N&`G-@=Eb}#5B~}-JhGUUE|I71(VOR4Q-#Ui2*2LE3g%@ z)n1zLYIe;F&>gyKT!~8iv#(R<^MJ|EpA+WxN|3N_*@xq1v`R6Ztgp>>X_7P?d^1-L zSsq-KWl+4}izxa~c$XPIl$=%5)B%1*9yD|B5NAM3uCNoq6h*BCcoK@)4Pfue@(=|(=8(j z@p4zP;uRx`U=_95ZJkX3?HIATJ)c)aj#&>2Wg_W@#F`kco?4W&P<0-ztS!LO)52>n z{R{C^2x(+Dn1xote_Zs$+FeTnI7pAaalD->+jN|hB^Hy)&hhnk#!JaxRq5-<%T+p0 zI2r+tv&27tFGzw9A;jYq89B^8KcrTsy_LO4WC{|7IsgOqNMg6>dcK{hzUx*E`P~FM zZ!zWE+bDW5Lw4ck=NF333f-Im2m%+NjgZMqhA9S++|+iH0{_3LPFC4Z%&%eaJF*i< zgyKx6PN3Eb&wnfE^TszpiI>5@ zW?`s4uPvFNBmeCfAmf>G*r*ACm8AmS0N|BEgy@mJk1_AYg72mxSQoQ`N{&pYrzF zc=Gwo*4R#UX_3u?xM}$)npbr2CoyMl53aIb1XUieGLkq89IVX@@hH$;wcB_Uwpn1#RC^0`CC!~q(1-<4T??v3ct3LS%T^jmg3HemwJ_0=S_Cb z3b8&TlaxOywFHxfqDB`a1V%>!Hx(8BL`PA+vwYRa)hUu5@gwfBkAc;&1n+*r-jjH5 z+Lsc>tHOaZH#l^P!g#2Ugj-z&{fYU{fv#MKpP}=%JRI=iSoZ5py?xej}jZ7#wHh_+gmk+w@7)AaV zGWhi)`(VXGn0N>s!vt4wK|%78u*`nMrY`sMS6P1vK|<#Q>_0?+BkRl?lmbOfnT4k=uD5HK5yoOb-0cD< z-H%4rpAz**7oV&5Km2ycq4HF*UPr$1ZNFH=5~+>APw5!k+j1)_<|YL}2@^Zq(gUjO zw=NnqQz9lni9gHKJl-fw4nBaus>17}1d?DgQaQZ=XJ$ma{3I)GT^<&Ra{!9VI<-+0J9KqUFeCt6CLnR_3UbqM$_q79-Kay1%aD z_QY&WE27?Q7#ji8Fykjpc1k_EBLXX0&v2fQ4y=5S@Hz?(Bp;K+~0M36_8A? zQK+7;UFb6g!$QNHPy9T{+K89rP|k2hW1JNOy-KxNz--Xbmnl)olxRSDZD0^Pr!m%o zWHuT5TY{Gm@{4utx`v2=2oSq+D5m*#PlNlt);DQ zTQz#ZV_Q>%pgs|yB*<0c?IhtiI>N1N8yg`dJ&-SiJuiPl^HI{4$-l=R*4!NQXO0O&?0$3StxqEazWdY6t&_%ykM$?vahs&!W!vvimSd_NnD1SyZ z)Zrz0?5j@biAbmc9@PQ4iIUj`AwqTiCgn3vG6?2g+oY9RTLcmMa%Z#lbcoXf{h4s& zb*k589sR(qg+$+R8Ul$>dlEgc+$aiAKMwx;Dv7K(G?B$k!JiXWQ0^b6!{+ zC{7l%DvcJt9$JNfQqlg>EV ztJx2b2wyP<%pLV3Ru+phykT~M(uAk4|d&FueBqJ|t z@1nzJK~%f+?^vfn0)MWEcC%xm1ob~xi@)n)!2O={M%rd7L%bW=C3-@mHT)}AXd=m% z3(ONjdz`?^;I@$aiS1>|6{MHvm5KmM3D&DHSX>k<@asy6&^ z`;!GI`U{+v2`NRtn{L5Z5Cr$Khw1VO6wQ)x9@zd&j6WLJ0)7Q2fq1(0bw^``iu&eZ zzO6#ZWsuRvG_n1)1V%qO`((yYC9@*Ke6oGJpc*qOdws_85)FZz3O3)gC#1ZK+cU45#{dM8O;@|vcI&a!OFG^9tD&25>O zsxUb3y=Q1uwE{p&eK;&ao(D8e#k1M7#jK>EmU}qTDf3?cFYGme&A%7BhV7-CQ%kpp zc)rDj1De!*5-3Oe4?UbTH zRRjOn$~P4}zD*e7W-ConBGj}iMut<|Rya;Y-N(5|H_)9f1Avprv^%A?o;t|`Bye_l zgwo+^nym$$&weGa-jxaXt;X|HNkB#SPi~h~`FuEUhP*^n+WFS7z8FVZNRyPBQoD{8p>P)7L~ubOlsx0f*Ollj z^4G|Sgs<7AAOi@(4w%RxvdKIDFT$%>Ds#*I&X>jfxK5rn{YlUlWRV1Ab3B_Pj(3NL z8GauhuSWuVcm)nIZH&RFD$#0iB^DfN*zwZPq=kh;`YP=xfH;K|ND%S8l>qK6-(fvZ zegwIQW^K76X1!^7*ip^KdCq-uDB4f(+psSv)b=dmHTP2CbIyMQTbYY4MN(oDyt3W3 zsN6GULE1VPA$a;1YW|RXBPatXz&zk^wU&b9cm3c@bvr?y`Z26x)#yi!6!p~$fk5f_ z4*CW>u4wz>nb1tLhsh=3!b4JtKX#0M&-(o(gTMLFDzbdS*hT!=5oO&2em7^SgE=>; z9#cSWTRE3bWeFKSc(#|(oh}&A`0f3LCOlaz8vmoBIuq|E7>(cd@pS|D!E|{M!ku;h zPe_qAib+*LCySVWC0ohkeeHV?)i6y4W1kF8Q>l`0r(?sh7~K;Oo$YX(D6498=>uWK z!XeSk$9R5XmtMW4{PsScXrW=n{a}K-d@fyNB2X&i-*f?8+8(TYFLUZHniujF#O9A7 zw-UHK9=F%SF2VM)ZD$o4sw%F+f6Uj>14h@oXZ*<&s_ zD9AnrCX2K0)P1H)V*Kdc6o}sZBTE(5_KzkOim46$RBJsJw7y-Q$f&*S)%OBW^`?D- z7cj%P?bFctNFYR6n$U_8k&li+N7nVwoX^junI>zV(-TYeAAjujr7PQu>wvePkA|Q) zCR;!>Tmn*A3D@P~;R(t_G&+R~J)8PZIXZYN7{hFMw5!%eXoi|3XAq(ofv;gcE;x!T zG)1_3)%BAOj~x#nAG;2L!wzigtkZ@|6w0au?0q$&1eKbApHtoT`ER*QLLbrEr$Q-= zdvH>4INxcCZP0S>rRax{{objH0e0m$7 z7VUSCiA9OcH_LN4lZ$#q)r$zAbRD%}R#er$?{cGRUsbQCif9M{No&)rFnI~&^3rxh zuW&F+fpSn2_toh$d}XltQ{2#j1LX**ALHN7pGfF8KI)X8!A{9%Z1@UxzD$dNeY_OM zWPJvGABB?GIKXZ=Xjtk30RGR37SUDKiqlPs^k*5(S_W@Jaba6*T)01+={^(kkULn0 zk)(GLlt;)%*!#&}^*FaF(cs!z1^N`u$6#bo2J^g6tGKzZ(IE>wRPQNdK6bVryI#ud zR5e|0J;jc&Rk0t+wbxkNZM*~KM=KTq+qul0Vm%q{zO(t1B`I z3FPWYpJ!VbTO1*;`W6Gnwzy`n?J<|-KL?Ol=j9hC2yBfKAls*ZAHhQNjTo>Ab?s)- z@FpPEm1#bUK;PGn4?N0`+$eHB$eE zJrqx65U49;GcxPX4`*ew;B0y(Ymm^raxXti1(?gz@wi# zgzZHGFEZbx^Bcc09TXfE9&{d*)p2*Z?=2Y;8X!vRfMt#Mp@IEb4Pk*a_#by51on}f6#kExm+o+-(1(}>@-we zjZ)pa3;r$?mxB$S(fP%lVuB5*^=EjFSH+ORptfw1M`-B1VJ?A^KCqqYYzBSr12y(7+YPA9# zWe5CRfr8x|S5jIqzzw$#7dQGZf0K@c)o{eF%kyQ_MS4VS+c7X~Pwzr=d|vA0Z*#=@ z1~*~0ruRd#N%6b^fHgw7f_PSvyTq6X0(4Pmi?s?5H~8@-2Owz-vwevUoN+?4X2jsy z(dRt9gr6aF*^iW7*nO}PGM;@d#}`C8LcNx|qxl4O42p?yYnu`2uMq-AMRC{-dg58x zH(;AZ6qYyA(!=fWFkw&qR?N%zs~-nNF{>*2j(zA!S1#UO41Wd_c0J4waD>(FCI zQ1%QCKI~y6jwp}WnB&s@ zBipETon{H+rMp%A^1(SybD$7{7`HW7WY5<5MCKGOmu5ZeO1592@WQ#3_rSauE1yJk z1g0!rmQ@By`O>O6%WZRL9vqLscFrwaTSy;FuDj3i*}aS}W+DfY;R*234n2);t_Cvls1B}D;%nuWr9oa_@09{ zEAw|ym;3>wBR}#?D#fU8m(FkFM5RB!c$F^Z2Wr;tzw(AbR>ZKud+vDpc?dRcFeSh0 zd1)A~56O-!5}edPv7y0EHA5Je@CA?)4Df@zU-;d?b=m#+O3z}aGr3s!>V!3g1n^cl z!nj`HZ6hb`h)T^X=hg|(bLuWNGjsN00FmfZ2eeMK;!DQN>W1Z+K3JWMpx)+tV4 z)j>qXgSf(1lSnZrM2&Ljpi}R{=$~{#?Th(dRJ;3Cgyi$P(~svyP*9Wpd+4yjVb$}D zg?8ZIah(F^QH*q$j~|NC8|+zFVr!MW7qYL+QnG2zV_O3n+BF3nn~m+;+VJXuy~!5$ z)$aY)B;LK>Quv`%jDMmT&D)^ZNQ*Xbu5o_j$PYd z?T-&!21geaOMq%}Bd=DIgzVo={SBmp(GSjrJ1>qoOX3eRKaydj7_5+vwN|tu4c{FQ zN9VP^$bM(}^0}rnm1@E~e*cilyGCN;o1lqU&yhia0qT`IU@;cQ{e!v6b;fi~(%q<# z1}ia#2l?Xb$|7rql;EZj^KIa)!|?QX2$%(v_XR_9_lId}8_ zDFv_;eQ3tL*Xq*EPG@85;B{H`OQa-%6FusAc$#P zS)8GPGLM%OWmYc|#O)3t;S%YYfN;ROEcWba+HG4fm@(K^O8Y;g~gqej-HdyKnT%_!_^lGk%EfGDqRTmm+VK>V67BKQO!W&@IRw}=6v+iEfY@< zCJ}|7aj_r25C<8BGLlhXJVKc!zT5^)Cj3Kbfe@C4=SzrcB3o$J4~4VTjJG(Kwys$! z)=EKY!c&+h^USjcFiygv4b}d)H1Y*#LYgYud=j}2t!6Cpv~bU zFJ1q3r$S%R`L{>~gGsQv+Kqpid06%;mN&df7NR#{k*mP#h6^db1J;%!mJ*B{_9_&C zN7#aG3#DRd)sV#)96lzEup55z1z)3=X!e2FeM}@2Xpk54A5|(5&iJbgfa%IprJw#- z!f{FhXUc3oFE1xiL~x&^)AD6jjDL(JY9iC8* zG~E^sgbrL>a4`4$u+%rZBV0$ru_eaODm|2#UZjbC&;l8(U%k<85}X*P#=L^0SbCo2!Lh_>CX6VHs$s=MpNg zxbTQ_{dEB0y>WYDuD|qOw*W7{$3QzY)O(uLV4=*@o8DjyMxiKE3O>v6ctZ!HzbG;a zAUkCf8lbLP7agA7tt4lGS)C#Be-x43M_~V>bIY|Ek`YCjI9DpW@i^TPCYH4nAhj2F z+GYgd1k1NG4G_unFmnF2`2#v29Lt+!njZ0G14I1WDGe059QfCELGP$utCF7Jo&rKHJ>^FvHkkWn24 zCi&{_lXIc!6FECrq$O{`&i2GioTjWV8?Qtt*}b?)7rs&-ebcKG821CPzR7xINzcM> zV`ge=Sr2LbOGur}R!X%(MBf1x;sF(^#P%c~WyZ6G3`Vd*1?iAN5gJ;Vovht<`Zp)< z#Rx*aDp%kvL`A2d@^LcKckgG)?*FI`9dX3c^Zv)HB1xYfsnmp&_Df|=0FS8X9x!*; zbXpO0`ZK9}Hxi581hKGjSqAaEKQ6Obc`6!DAOGI*TFu;lUm>hu;-HF1CTr=EG--k! z;>v14>(@c19brb5Pj#eE|K@Y&N?k@t*iE(yjxU2jk?wkc7 zr_Y{NlHOk)|1sda_K7Z?+Sm*Fsm|?`?0Zqu3EywG(NxEu?E}LILi8fO8#`=@#E(ju z3Qqc8JFtQqvuD%P*(Jb1d&@N~=m?Z5zbMeA2On|4>RzN2XfHMx9UD|uswtMB@4T2u zrrGrwaQR&k`$3PNoFDmY$wGO^WK43nA${EEEN`d$4E@0g3?eL8*|&!iVgSD?)htgc z&Q?jo4M3iMiuQkEo1!C4N1S+VAB=W06vul$ZiiN#2mfwJh^t(0LsJFH$^T8xEK2tZ zgCKY)S#!^v$W2kEP_0SNapt`GV- zGYJEdSRS(d4=%^6npJRVn#r*v970VMPq4M)y{j`SggMcY_2|E14rA9fz)eMe7Y|$z zxlZC8yc+1_AEs^p2YobtGGqM=KJ|-)(fl_>PLg~a-T^*CNio@IGcAE*cw6z${;>8* zuR}?6gFW5VUfRLu4{e0Sorh+A1iIM}svcx9XS`w8w`TbV#pJ{ed}UC(qvUm`a{TYX zekh$(L`V#xOo-`}I{j((E$u15dJI+O;{a>f-|2gpHB3t%CII{LuWh=o{t0hgwB7#b zngN4kKQBkicE|GB@>zX&J1AGgISWIeCBtwwGi51A>aK!&w^6&}^SkC0kWU!rXYmN)^ zu^Q%0PqT#nekzBY=NC(Qhr9hy8PBAr>_3o)25h5V%?M->tpu`u5gknT)Cx!(`K7^U zA!4HK;LrCB<7=g$y=ge>NM#AKam2(#sxuGFhNlGay?o>A<<9%4V~LeMT*G%ICg9t6 z%`r;mG+8y;zh7^eJtRw%YQ;}&>L?J@vUbFmL57VtSG>@BBkH@bO;e=!sE0KeZ5b~< z6~elM*cThde2@eD2sfx$3+i-j$bq>CVfkj8${N zHhb;iLlu+U;AZ{LiuArO=RQ8Ew5@4zl=($XrBn!_Cj4KdzPBt%Mj9VB?wJNNGhRU< zTSylrIuAQ_ZeMKOKJIx+wgosTXWsB!$|c?|waYYi|1~vhX$k$@DInW&Qc`ceMM}6c zt+v=cVM=Y0B~LBowp4Z#<#L256; zrNE%FZo52(|Cu$UX?JkRH<$2_IfgCE(Ytiory&z-`ga;vvN{NhL;0^y@D)Z(-WFvH zoi~genS>Gxhjx=#PUw8Jco`gko&Zk3=75z{SLLj+K$+fiw-iHAuzYtOV&nHzO$Yhf zHDg!e8qDw}^SAm)Zswqmz&YLlFO_27BL`Psx{8#2o6Y8kd*NnvMt@jRIGTvLORI*+ z8VbHdg(-<-wUaOjieCZo-n05)!+66tis}P*A_N=z$Gc5tbD%1Q??BBZzy&YX6osjO zvlQ%U_~%KM$M)Cfo!m9{wj~Q)tiSa5IBSMmw(UC;0fGBJG6sK&<%GKd4|493ac_Oj zNF9Wf<=!nRa1$)wXRI7@1J#i7R8KWAFVscUMR?gm%Z%;h<<2O7E*0-WgZq*r_>OMuKLU=9 zJV|fk+%0t9)O2Uo5nKbb2qOFb-rOj+HlFQ{$djy5ujrbJ=#WkO3rHex7bNDQfuW-WI=7s6@VBnxk2w+xlJ!$u9e!AX?3^odgZ5`iZTz zBEm#Y>ZyDHN<)q^Rc71@Uo2cO3MdFAn_~>>xYB1Rh^S+~;E%}q$ML}vj<@6*_V%@*-NdG^@DbJ~?a2l&o$ri6r|AXxmU#rQUwX)KnVd_q? z_{Ed``VE9Xw*q;NlH+R4#sL8;T3n<^{Vg=3J0yPG#+W=pB>jZOqPHfP;f9a~@c6Hg zE_RT}7#%!k`TEN9!M{l!J#wiRb|FPW27D8{sxLo>7e6@QcS?A$8~D}>O`rGk#~be- zzxX$3+D^}&MGZ-ec?|)ydy2UWFg)9H=5^QMn~%a+b#14=@e6`oj#LN^_;Xk>(lQek z7M7lS6Fh#H$V{PxV)ST`iZ1`I&|hF_pW`wCB(fPVX@bzgZrxe^w z@E2whoJzd^^g>Ny@3e2L=ebe*n|BpVA1@39%wDi}rZC@UH#Y$v6!6e67+PmlXIj^z z<#Aum2=eh!7P7wm)4603w~%*@eZbGwAC8$F-n(VYfZioUy_A^^#KU=!b%`@k87J#6 zzD*d@tR`ajJa}4%e`VYKW7s@@;P)iJ*BWPo4NVbEy;(i>Gf5od7lbB1U^o-s9#}0M z(%cF?VIoHFY=4=dA67+TZ61p$knD;cL63Tm5xNkJOggVsUs>lXs&te1k9R2qU%unS0KeD&~L94QYFUM$Iuz{M0-~6_Y*qO z->N~8wHLvM)7bFK;vcL8X>PeSgG4Lh;rMjJtz2^bKXQd=G92?|bWx*nO8O#3Qsk=P zFg;}Ut;ax#D18&dvH-5sZI-Ps^gK>5daxL>7K)G%z+1+wYa$y+q~5(!%o5^*&W$HY zzH5<9dWtPrlG5#K|6`c>YHllGBEEv9tDvU1nbGZEjq(3WZGYLqs0_tP?DaGvu%wGL zlJ-}>j4dl1l&a0s0iG0ZVp?=4Qoacj)WEcKJ2;=}6v~8$=GEUV48DXot)x@eqgvy}*`QV<4 zc9M>fM4P7q?N;nqey2vx@6rN3y`{5Vrl8yd9jknIL^tqRu`YPeMdYK(5XfdJI-FN%Be%*|%r> zXU(;<7jdKZ?9NLkcW29;<(sj#1?DO|<-NwS@Ps{MrrvI24xxyds1d9Di4pVTcngYfWdV;<4lFPhu14N(xu{)j%4!tCO;K zwbh;-KADy%XSu``cN@9)@vr6Ud+&`pX;udhD^gBM%pf+4fcejafy(srkprzSPj`eJ zoUYrCn0C%Yt<+zJarpU_v8{Mf6_bnPZ~UaTyc>?8bh%&^<~~~sfH7TfZj8XuKb8j{ zEReBv821hjJ7Vjukp?}SIu%LEqJ@t!HS2|xuedkB+JqdoL{M4Sbje^(;2?5XRn}=r>j|(#Y|L z)P1l+>RK2yWN?{Wc4**u`ix>~n(!&xn|A4(8ksbG>U;8i{M6vYz%j0g721wY2c3C; zUGWVy6{7qdT2xU|H-i*I5obrBRJ8Gr`u>Dbr}U=3V1pt+Z69~77!zHgFeup;f+eNAO^{}Ir6J80dVZuYAg&8H54s{cm9 ziVOBEs6{7z5p<%9bvfpA86x2CLSMRrfRVyI72pClPxlt}!|5Y`@uiQFU$Oo4C7cvNlRSb{m7#r8N@mulixKSgt@pRP)vpMjP zG~l^sU(x9ebOBgoGuWAV3Q16F?-+CmK+RKs5)ON(f)9JFl{RocGvoY8d5#Pfq-`5_ zSFzhJ_zC?(g_$=3uE}1H5?DCV1eVXFc_f)Fj`mp2#leZ6p2i-s>0DD&h6JmYETjcs z0cwJVxl>eQc=2v^Um)?qAtn{T&0>6~ydBiZ1VEc38(EU*+HGrAcOCyv+2)G3n;Xe0 zY>7)S>F)`9rP=b*^0S&Mbcf&O%#ygOtisXt5*Q&b{4+*D<^n|4a@01u^H#w^QgC1k zFXeG9VbsQ(@ThJ0K$A?7XP&LiLbc zrq93`5c|_V3$B_DHqyjAbzMrn{hkD5QDkqtzcdn8T)>I$jG>GB3yo5SFFq$K|A`nP ztah2TWsGu_pKTJ>d({~KsqV>~rvnh#K`Rl z)8nyq(3lCDy$<^-@TDWaRMv08@@U5qvl+$;SZ3aiq=YhnTNDZV;1$#x z&+k5|>8PDXdQCz;j{QgOCX(*UwIEn4h_lvpOp;f?B(FyKbpLe4s#q08g1)`GOPLHe zl=zhKh<_)bbg>(KgIV(kQS#7uJhKncO znnZcC&IDbWA(hyOVg%_lBI8+YgKfwg5Gl_n5E)j+>bfU>v)LwB)_qDP%}Mx3`HGY6 z%Yp~hJT|Q;q3D<z4O0dI4X*bJ8N z8+%3POkq-}Yyr7_^8wCPRrx@^9iTvC-2p(3x%*aib64M)BbMM|tgWE%+3C9#PI`3* z_@3=fA=mQP}z-%@wV+D;{N4dDl^a zeH>;ZN4Rnin)@^&OxN*AQFtg7ibP;CQwx;oFxvXU$bO73!{JYbFOASqZwX-S#Bu<3 z{ZCOa3D1wg3NyFt+Wm$!I(s*G&RNtDzeAM;6~yZssB*m4N}0F&5MS)H=w?6= zD2jQfQh>j`0j(Ko{P1`g^3TxtXAP$3eStlOl?Q;T>B z#A~@7`o{_@{!I*FPYs_-22eK4koU8=-Z zJi4Ow?9U40G&46dvaJwvqJMh5(RCgP;P`UqLPsWfECt{HVblXeV)ojOGMDhBI|Nkm zVvvJg+%#;mmd{n+&+o~g8yPO*ks_e@xzBXc$=;r>_r#bgF8ZG=qxgb@L;J_zj?|VF zY0De;$-hyBHZb^WWA`p!lhi4zV%_-OC6cBJEu7OjKGDfy1XlV=_^%|3)%O-?XDPpi zX4Cf(*_VHY)oQ~w z9rt8BULqlQ$}*9muu)SNpi6S$h`N$N$Xv1tEK`jSD=i9%#2Wjw9Dtbzc7yxflH#n> zWVG0`Yfy(fh}0@7@yLu9%x8ysX!pXqu-XW1Q;2{Ygra3vATdL6k4`J0#Vfuf3}QMu z5Oo|PvnU2I>zLEO&L>IV&pE6&Ut68* z+nbHJ?;VVeYWYEb%}s~tx@Qa|bMVcMWKeZ~O}@RIrzd323-J1>fJ6pY-AZ@kA3tO% zaE4^B;_dFWTNOtKAENg1_)3qNw*<4XtYenfpLIu_LhV)FNlyw=~cI#LM$ zzA4CQPCLsqj1*6tCs^KDH``QOQ;G0YrC4r1q5mi3Lt=EbPumduy6E(G8+FY8EJB4D ztl}gJwvEXAi_=AF%nhpX41(wP&rYfrFJ057Ii?|kDN>Tp%@?=$O+Z4W-m%MT>7Iet zX6mFhZIvert%$l(-{#j03J~Yw1{J7$W%D(1?T9Jn zd9wV7sOynqJ?N}>JJIAO=vY*C4{_B7&+oMzF7_tN%!}x-P3`-M41O>rE%ojVuFMwq zMZQbEu~I_W27#bRL0FQlufnzs z9?yV|saXpqJe?5A!4TO3X)iayz0t&S)94KwQg_jXb1+KlrdnxYTJ9|p% zr^zAqv(0hekH;6GDHZ?BP;LEA<+#*MQbF&MtF+jhZ&PbS3lmZ(Bhu-h zY4JTYN}5Kv)!)!DLgTzo2rndFmzT~K#fQSpu73++ZC(b+3e(b;;St=1 zz}eG9h2hMhRmL{}7t7=O7=`Fwhze%6MPIBRJEoYdBz%f&B4F!Uw*1>xDg$NH^aTYC z+->l}^F>;HIvwSJ3voVuWKqO~XM~Clft9U%3y8rTELD`%)B92qQO_iTnFwn%CE>P@ z_XzGZeh3RHEv-K9!+%Iof8{wzgn13&ux43|_vUA^Uo&3rlMW9^|DrKx{u=0@f;b&z zJ6)xI$JB+7et?%AbR~A%VDD(4+132|Jm*!NcKUIQdahzsXbJ&15nf8CVSJq| z5$M993os|Sn-2PlBLk=6x^rPWO$#z#ppX4{D;W$ZKefD#8-<*FEK2kwW0SbMLLENF$1N2R3$AL_PYvwoI|% zv{6H5-=(;)n#aX$)a27QI-jWI2pRldGUJ7GwgmwA5$qQsLE9pXM4Ijox6od1!*jg! zA}*>89~H4%|FO@z!A8DqYDEAVM0%}aMO#U%-&Od`MZcdrAKs}&42Z1bv!KM zBB0EmRgZdMJR#zguJWN9ailDu*pV+NXm1Fe%MpoO! zC+GdK3w~c*ZGcGEovAXQNE`H(vW4JNZ{ItXD?0N+p=@4o7Rfo4CD_69>-qdCd6=)% zg6IRmoArP1GhWi~i`^C(KjAgihm@rY(1$i#W!f+k2NlGaPg@&-eW{NE(Z9I0K{PyA zs!gYQ&=Y{l(f4eRr>piX_yPNgp;=tlN`>Z6gn9)~3TXa8$};RvA3&!}?g*w<^f$4@ zq-X88^w+B#u)w^G(fo*ecoM zd?T~4geq@b5d%rMW#Vm<8X>`DWPNhye~Z}Md@cOM{?n;Sm1_C^8yts$Xc*1H=0^0N z|1P`=g-@4p)VbxPEZLPahS}|^L zBPasG1kEYkB%evVtC|R`fZg?3e$}E&y-Q%=Ym8|w*M3?f4EhteweC&1-ep0;e|8Cs z65dY*o^;RM*_@#sm^=wJC--pY8=?9YqV!3n;=l3d*|y@JG46WM-!!C+Su*4fqbt0V zpEk_4r2p-}3^B>AE_SmN>HV3FN-Y-b_!4dN6IZ_N!+&)rsLW~OyN5l={~0q5?2SpGEdj~nAyT{2;`{g@O{yl=OFB&y*HsAP!E@pIkQq@Ct8Md?_EL&Y$ilau2^r%B zK&j*!l9UQBzKel9-dm1J_T@pepV8JxLry1h@V{Gu(_gV5B^6i|(jUdtE@lgloNOa) zPz?cg$hO8$RinFkaa7X{e4r@Iw+AarCSj5AuJ4&vKeenuGgGh{p0f3~`{`e^kDr_M z*?R+kTudJ1n6RLLaxV44QbG?(u#m_IDIPxywX*7O+1IzWG@4@D@k#G5ziVUnM1Q&F zfBKRQ0-r;obek_6{wk&!t{ap#bGqooi>B}9-l!oo@RM=dQ^RRke)K-pH3Ak@)rY8x zhxPF+T)hbw^9Nn5pD9cMI#Yb+HWYc0$um7@1;$g^ey+7fxDft@UoFJCYdTws+*8L4)8`4RXF;QqnUu+3v!-~ zr}T^squb3;{H}$v`71^EswRBs7Tl;dRLQP%=hlAo zoD@;k;BECC-@MIl$+C?+7P2jTI*|qK+f~dDP1n9LC)$T0&z5&p92&}NC*Jbdyxm^V z`w)*Lg6+8Tu1*z8KA-F^%WcKo+fBTU}B^BmyR z1^EA`YR4Xk{tS~DJ3|cq47Vk+9HS@de0l_C!e}OqZ9wU{DTn$mb{e(_Je@kH_hsJY zA#8q$!r*>sMA)^Pgx)(yM*-=*N`QbOh$tY^J5r?!(n~^DKw_b&R7C}) z_YMgiQF?Eo7lA;i0a6a%_n-COo||(qYi6yvm|1)Fv!6ZhyZ5u5*WNh2>`rysT!^nm zVC9WTp*akWig7|rl=++V)z7=qQVgK@JJ5yvqYM%ugN}XXT%+H>AE>ux1FVS~zZ~;- zh~2l`^l90D{-S*NUGk^GFA1i1^|`TWO21xv6_kUbRZqthh7iN*%}CP^Pw&ADWAlqD zBqMNHZ>A&old~fmBNz6%63KSvp+jy=(UBE4NI9frm=vCm7(NWaOgaP$6t7`ki*dN(%cw7*-N~fF!rzi5v)vSD2A%Fd_O)fN zd~zJBmGGafwRCDLGtys=B`zP|&)tDaEm`V{tg|ZHqRoOf-#JD-jLt#-t+OY4m7r}n zTH~rMFyG0Y3U)AmbVYjC+7qq4XqD@1;_!bn?*7)K5etfXSFn_Drv60ws|WLj+I?J; z-E{dOwm{fPY zXE42{0H3oNw|~xnxt1uvCQ)_Ln=r-Ks<~^axb4$IZugDJ>BRfr@%}+HXX>-U-#nR& z@tHL=c|nZ)L1_aS4nc`LI;e1?0exvG|StRu=G10_9rZChtc*KO~<2 zd-02ExDolKYg>6GM&$Cj`5H)pa$53LhDcz1Wc$|{kwIP&xJBsK+X|J8E+H`#Rc9!_ zOTVSbQi4|QlFW(2Z-$Jp?x&5SKE~~51dIME46LRB#Jvpn1E^(6X&Xo7W`_3V;}cJs zrT6g+4@Ig$-&DoGMd6w4*SxftN*-~il#*<1>|Z4bAHz4s-&0HSBEiQ00a@9$3R}<* zVqNHm8@WaWl!Vtqq1+?a)xbyZ$w!)Xh-=0ImcfVm?I&YK&*-K9f^V=yYO8cZ19<__ zSNJ8I0%*KxPqk(ceZAyw?rv&v>y{6gjMs}*qBy3R8p~AL{qLSLAIzX@w`wSoLm(Dq z6Ino^Am=sgj;5kIq^yO|3g#@ZvX05Ss=}XYq?4zbf*7GAGM=i*D0H$@sc6{wcnIbYgVz`E_f&9Y2Bd>#oyX zsL{JSZ;d+E9}qr>8{D*eNLKSdp(fe5kx`*PFp@FBxc)5jPF38mWUacNKT&^9+B;65 zq6-sVPb>6Xl$4iTF8zd`$!=9iJCL8aW!vmB>JpZMct;weJK^hF&A>2bf3*d{$J9TL zbxoezkuMbgm4~DS0X#&7m0snF&+w-cEVRn*|8vV)Y=dtTKi)E9)Bc$*9HcAw5uvqc zHX~|o{GZ%XaISxBx=xYbUtCKZFfBItR~JQ3nH``?130pPuH`}5v*3?U(h#x`#7@V{ zFsY{Y%Jd`|>n{WUbrz4PY`_iq9_Et{j>@y^Ra+4Lfvc&$#Qz$|@eT>LoY_1e;}{@> z6;yC^4x(SL1oqES3ZdT_VP7cjI^8n`Q$ISo{!#j$obnc{u3VfpoWg|C)ywY_3%K|f zrD^u(%fF8fqO^zx&rORFqM5Rc3^%?PQSWRrk!{K})Ao}Ccd|w=-zq~P9rqxt%L*5^ zV)1_=H>=$!)Y{%Ap(*QTiQ@N7fE$&c2r1RpV^5`;-@RdT{2%eascULm2Tu3CitkxKo?6`@M8Ow^|cVO+hDFExnKhd9k>bT*m13cFE$Ae6p(^zzwh zK%(;xbJB>Wwe3)=K4s%4is&9bqT^Kb58}N7{-3Gh&o_?9gul&sQgeq=#*(xDFrr+i zh!uF^2ZJxRm@20XUA@t`SkH&w$|T(Azn^y};wIvN)0iP9R-L5w^rdd>BDI2a3eeR} zb{nHb{l$A<;)ki*%i;n`D6^lafI+>F){ZJ(v4w%4hk(Ug}EkqVL`EueEQ> z8i%kcQy-rSi8owF*zXly`<#n$7(g9^0Oo`iXDj4OAInc13?z0@Xq?PLpVhp*6ztw< zw|w&?kdsC7QQ5T-6!0po60?uZ+3y`q1#*$%DGTVnWejqpzx6B;^IpD58Sc(G{9DW_ zac~P@4Crw1`k-*>&4+kVGMq{NMYP=`jH810m^y6+qCKqd{qFq-f-}-LfitTICa-Yg zBvjyk0W)PE_Ft#K>k!Ribf3gLhfP;A=n$Qg$u_-{SaUC21)_Kz0JkoL`JeCw^Oi+F z=t3UM9M8W7ei4u_3MRGwU!KXFa7nROK%3n+7I)Rp9i_ZB!MRE6XBVm0o+uvVL&+$+ zr<&%LPV_$goO-cjC1`ij3D#BvT^mcn&{McTz6%dLkIh7uWSwB9g6y17OG~?M5bJ7r zzv$vBC*-G5q&)%$%xPISMQT(1tpD6e&KFzo@`4p1R1^&Aj8mt8LKlS~BEZ~4fY9(2 z!wLX!_Rp_?*m@{U=@%w0vJD{3GyR&g=!+Z{Yk$VritapR{t?AuJJ;wzB9oQ~U zeTj2UetX=97MZm@EM4i)!Iv&Be2im!{T;;6QqZ2=1=D{H$zcBb<7hf%&y(zKN?1r7 z!Tm+=C%a&kabmTaV9AV$G);xds_38T_r+&_uY>H^G|A`#Zo_EsJGze|ppE6}LE60@ z{)bO;^F`M;Lg-cRM3bERwZaMuEe`*%L}1tZ`1@*%An>C6XdbxjQr}R(>ks3B3$1~# z8kU-0Pou(VWZI6*a`N_8m#aEpaebO;Jx9r&WG#2=Lz>nq9iewplfS-@Im1%aoI(0e zP@aQNqSdc=k}nT<`CVFM4f%Iy$r0rw{Z0~@wG$k-aqB-3CCA{(@meqok3J5@uEj&t)~LYX#qL3 zvJG1uhk31a4PY|E@i+copT&?^R!hEN@ZurHz`DYPAo1LS%|3%Jb?m92UH)6;L5>&y zf|eCS;mdIQwjkm(bVuLYjzrHuwbtKbz!Et34T%<|&=N(6tXHa&ldijm<`MA#EWxpsw z(cydt5kyFW9t~GTU%)Y+j3TKmWE^_*AZJXr?U7`5(=quvh5W`pipmUDM8M=sBkwVX z6NgUo1F9y<8a&VIY|Y8#`GkIw)`alyCBHhVi*9Z>Cb|EWp!5$gQyK3iHd(KKEYB-i zO1aBZqg>^}m0yuJJ^D_K;`n0bl-n5h1BwsaOt`&&<@w?FzU{UX{b2n81wH;rNMUhn z#sy4J-7}5|QbVY-^MG(-FF=(>=aDp$>R8^n9_Gj6%WqWLlPC8r4$G!dNUx+V?3<1& z6-`Dc-MPywJ@cmw{I%x>Ru^!?WC)TbZ}<$ zBH}XTHG%H^rbo;xHc}scPQKVNr8ahvbDlfATmA6ol#AXEl+lOta$a5{s20X&*0lPS zQ~=5WpmZR4zswN6GPKy@?*Z^!))MfnYzTp6*@sifv>paUUiC(mo=dOr6M8FFKJZ6T zqrx{H^W>ISE|peU`&Io@^TvM>Sm&`mVNd(~qd`E&0xRO56_G(DSnnV!VXiTSfD-! zNOSBmlhs4c<6G*#O@{PLL$*S$z+Yd=6V16G6firx;kG zoW3HNDmxnB4cE9t;d)gtM_|3}GwGEMf>AUb++nsWtAikKXzrC$p{zRlQgw$%c~_}< zlJoOEyWMzf@LAP({Y(*kifc+DdqE=L*0q`%nNyX(!X33v=a95RuMXTDTaB3>=oN&Z zAelvDtEP(hV5IT7>*`!P&2h}9h^uFe@M}mt=9$_jTF$VIje$)M+Fv;?{a88n@L$jU zKYiPr`Q_DYyz_t)Tw&j<40n3)H0QfH_4uD*8rJ}r#)?_`-}^DPNv|}-+<4r%NGw`8 zhXP${HOn(y-YB2eI(`8(mkZ{;+MUq=&i|dtU)-v+M6YgdQ#xGDO&|8IP@!{3h#OF> zO69Z~4x{3L9Jt^r+LGYO&v%XprGR%_g7_lVT=()(edRVzbv50Xj6O`;Ry1{m27$?T z*6x{ml~#=<>@yixV;+;D);wbxeAquUGIbb=?t8I?W+GsS1mfy%0u9!{LfW~>a(QpB z)q?Nqmr`~fL1%k&m*0DZpLNZ8LBt8g+CPBdCdNUz0KN}H9!<7D_0Z3caG)O%NAXMP zD+8>3s7&Xs^D1c@GREZZPq})4yMMXTxBybYA?Jsueo-_kzNnrCR6CrAMO}f)9Txj6 z+D|odaw=W~)c3A2ed#Yjq#r6f64vn*uhf1twAIe?PnUTFSb}A=S@b-Ec_AV(96}q#*o&| z0ndb*V>Wb7-in}KBn7`_6w67Bfk*lNv#o;rEqWdtQXW8CR8FUlLmvm+o}zpa`8Rud zR8q#tz3Bcp_MD=b{_*q|B=tGEUaO(AvG8hAzfrK0jx5;i3t&k}h)Kka|~m*Kib zS*g*Ns!^$ak;$+bTrj9|sC_A5*wNJMu6ZGc8yi-Kqpt9ft|a>~viwkj$cPWvyWZw4 zS{2FphFD(4YHH6a9yZa{H~BnXdh`r`cV|M*YtuMYkv+-zx7}$u%ukDgO}Ll#6JP8r zJDz$R4+650P>>4jwuo%9)(*dqjjX%dGK1W=QNavdGu9A>EB}&)zh^1-Fymkev4XiX zHBVpSleBgm=#5781MU(&qdue#qS3X|J6&v+U`Rwu9V zH>ID0%dJ`)I-*F)i3PK%PtDrI&@5BHCd1zZ(=4=xvACDeq04!qH}vv*&aV@d>;{Gx z^*fb7r<#5LE$=rB`HP)N?B}EE%}Hlf?E7`(DJAh|%p-dw5iK^Yr)Qe>Rx%g~NOOw8 zph%@Px*%+iad1&k^59NmA$^J9vUeQ|ixF z#CPRqQC@d=TW|0@6$wrjpnf|yT#t_-8FP^yG2Zj(uF~o2WSD~{>?^O7y9HrIg2cf8 z52m;)3?4vsXv9mJE&`-GB!SHbt7?FeEBFXi)XSNU04lisQcr_J7@b~`yXpZYckOn) z%>rb8IV^+(zUNoj-V8ru>RjcjY@Cbhmj!Rse@mMz-)q5)$LYJxf?Jm4C;v$ksH~KA?NgY;s5kuu)l6^+`2zK zJV-lr*F2~{3Wbake?Dj1;4^+_`+yLe{Qdpb{c*~p?{dV1bD*lyW)}bPVg5z1%{9fX zMb>q;9n;b0sUz^?PZu=QdIrK%0`+Dgn3aHh;@*qL0?z94`$XutZpaLAJ%mt_ z_`_5OL_&)Kk^WaxJ_}6|uht3$7c`$^Sl|v_^}GJfbB>e168agnqzJF&CN!UBh(Co& zJq>QhfTs2Aukh5+%HxVn@@bj)69!h^6QwMCQ z+{+9~{gWWMyB*2*HZyzW^Z|zjsi{}&Gtk-wxxjI`C`sI!-KzsgykdX2^ZK*$0LjMl zfamszJInhGe#?YWsx%`*|LUgHE+zkK&IoAIshM@G+3~NoUOB|_gczciAsttw(a>X7 zU%LxgX*($ORSLO?Un?07J&j2~MYH8!bW5jICgtN#SPFbO27@WGeJKWmIZ}eJuVWTB zxLUy1DR1zLEsxiO7VN4X9F~$<9`ob}3mQnO%xm8vNAoZB4GhTnwnnj}kj=mI5kJHY zz;`6?$vaQQ6iLyrH?QB|q5Zh>`Om9cH{|2W)TPV5E~wsCe5*5RhJ-vmu+>_=I@p89 zB}R}(H?}+H=jN>9_DHk$$+I_@9iSJtKYsxG(}(U4$)!yre(hG?0VAg?B1xfV?>b_N z@~#*)&-b2&5-@|IXiStX*yF|V8*eGI)~);tkg9xXu-mY6NfBm7nSJX;V$ z&tmX)ok;B@Je~h;uHAwfDSC}IWJo!5&n3aP2ASU;Ky$EwTAiEaOgrFrYFS*yosiD= z$eW=-ne~ziw|S#%RD#xK$&NYiwBCT=iVL@q>4H`ehU?0F6=o;r@m$s|WCkJrtLZ%h z{-r8gO{(o&@{aRv{MwbJU;RvJgFo0H$A_1&y^8`ClVwJD1fMOBIJq}<*X3W{&w=0t zLtQG6uGWQixv_>|+c{JhoVc!cSOPibUpdIhU)_ZsMPM5UO9!hcoP}n5K4D;Y2I6nI z2Uz^QGR3sgGkwjA1}&kxeZEvWe1cU8j!*Zh<9rut)o-kWuxbVGN<54 za`JecCecoHi#^S|{_Q*0a9cfzOvtitc^%=`kxINch@vO1?(!0@h&v_NgENP&q`bwx zp|q~i0rn6-2PDfP_5KfJ+jvQV!IejG%)B>XYs80ZWQecWuD~ZdnjbO1nPzBMX&e9V z=a6`tyo$bVsJe$H+o`l(&{PkLrBNTvWqVnIb$sZKi4lcz@e^JI2qU$Y*sX z>;HC2qaa&T;cY&p5Mr2|j9x$wlL`P;>LiW30X;(i4Zv5IO8N~wtG}Hs{itdeS6|Mr z5T;f_7gx4hyYS;u^|jpxI3!J|=K)>hN(BzoemFRd@gq)pVWEU=wpPrP&&zCQ+otGO zaOkC`X2iZSVJBsH8BRD9UkE6Y@t`R1(e|O)+be|L|5Q2a`ywEiT=i<1y3a42`~8Z2 zIir?&s8qh(N=7y9ccG;pn1!oyZR%oV8y2T}`l?G=v zHZ3h<%;F4+=+4;VRp_U&M0@OQP2xZw%$H&-#CMHlcz>0JKm4o1!x|uunc?lD`$epu;&CD($+YS~GUKMSx z@~;NrfD*93yPoPn+Q`c!kLG!g`i9Zm+%Ii3k^6s1a082dF>!Vy)iE}HF+YG>_(SJ& z0N6drvX;hMg}!8xOG|A=s4=x5Q19*c1i=Um3ux8__%-)&Snh5H{Zfae6~v$EF$N&W_lS#g+h|eAgt0I*ry?~TgXJu;)hrn$@<+$tTAJ!9$Fka9v1poV>+%C6qr>1)aK1p#O z=2fHCpF5t*H;>=jQ;at-(oCu8;cMQfE-GQEEqU5F{a*MSo!Tn2in zM{n>oPu?uH0WQjMg>a}sbV6zqTTo6xwMY&W0Wh`CW;BjPs}D`vGEu<=P+5r++f?_2a9FU9dkk@B~$2qyY ztEZ5wdy2j(Zs*K%aT16ndnmyngue9x=zq`m_GPs8L64`MXh6;Mp?h%!_fz!Xs7?Zb&(P5DMLM51c3{AB)anpgH?-c5*#CfbKst0#d{LIO(03n zs&0d$r29?X+v!V@!z@deFHSv!(l!Dpbm+?4@lrf??P=&HBcKfaW~JrVrW49J1B+4H z=2%}Mpw_Yg$zH35TqQ91u5b}Xvmo&fSKFML0Xvj$0uggSi4zHGuOyo-Ft#iL64TWq z*x1@aQUI){^JoFuwWXn}++XaUR;>QMqy%S`ubf(ROhZKw`7|D*5B5F!C+-DLm}vQ# z4Y~=7CR=yBkCIX8V81u=Sv!%?})pIm&13Z^q=J(=Z7*AWOQ?N_v!Wq=_vPp1V4PVImN?jn?>4IKJr9%M@()Mt0~| zjaVC&CC&N15JP_C!BP}GG?MUS&;Aa~2K{wbb>xz=wuT}6tgjNfOU~DUx3kq$Mc})x z8bdwT7~r#jTjzcr`Ylf9)&>;{*t2S=vP zJ3L4by{r?QWDi@B+|8f+v-9~Qt$@$BpMNG&XoCoBUOodfHzx_-U#X>2q_}YzJ979l zklIh8TcautItf5s}81{?{5hbzR&D6)1nn za5Ue(GaRv~k$8{9liRThHa{CPZ&NVq0Psob&2*;A~ zXTFdvWRB$K0WGARFj&3Hrk36{83K)ZKqO5|mh?)Q3aWc{hiYyEzUGk!imbUrq*-tx@uEi#YT#mgqe>aS9#KQ_dwISg#&hJL>cw?8Y;nSv`d)JR9zhwbo4O>t#%-+29Q zE8y-B@zNo#<7-Cuw)}Dqj?f6bB2fJ04VD~BHHrfH&^#h-2Elk?HY4U*V1UDv_U*3$ z0bZ&XUy@y7WCnF=&tBEGE1}{I+9hbp9x2NOMpJDOX2R5k=g-|A z+p}mEMTQR?^~>O2Zn*b(?-Z_W!|N)ZriIuS)vNFqikFnA^n*DMu2$FLq9Zm&&uiXQ z8TU!FJ!yM#WwvxTT%_T7#Rt6nM;+P6<0}hCDMS|IIZ*(Tp}pb$?7TRM{)WrbybNV+ z=E)Ge81QLy&98PE*>~*(1CjVd7U9PR@#!Xpf&xs+>EohXHu#+Kp7(seotuK>>#E=-wGfuv@+vSTq{nD5l}2b)mDIT!45(pz+vq3MG@ z;I;j@@{#+qu4p}WgJNM1`GnP40qp??R;uLpHz!Ws!#!hCPyB!P^OIhnBnxwWB-V#f zE(5DZkwa45o=?gvEj3YKwlCFKy z8?vRmdBhx?NuR%YAZv|go>BBCVJQy^t5o_3+2rJddEO7u`y}0##CYNtnSqQA<`vRmRPMVKDKihp zrY5;$21) z6B_YPHXpLv$V*bbC3l6fZt|MK5rapA6t(fnGRO=sm5-&5y#~eJO}!SIf_hxUL@Gae z^CfSBY}aA0La?a;XFjE4mDjMWYZ6=HXQ$o5;W)(~W#y6gdlQ!v|3v@y_x4L=RWSu4 zhEES$IkQ;SE6PzYoR`tYpS#Ms)yB*St%V$19LV`zJ4|5!#r*~>L`<32sGnclA`^N3;)W~ z^1@RUM^J9Wh0UCf8fIEh-}%D*DO~&!UFcSE10iVSmsq|P!58n7++(Pj^;f(0x1i0o zE>lMIgzulh@4sEM9p9^ftQ`Dg)AilEtdew%I5K`(Dgu>pza91M zXChf?G`e*+xp39eN|BoXjr_l>-Hek5cRc);jCSbVp0lQn$7kIOa5}LQx*G_l<6ax6+{!MpWth7Mzvk~Xg($SrN7^L|lw-$BWI40b0 z$J$p_2njL1ORTefcn65k6|`1o+K?bim-)-Y^zI+9BukX#ll(icHpvW=B@;!?+j4%) zjcp{=8?j-y^afm8m5BS)znr(h&&muPLE;aoSmKCFWS^a zJ8%7wycH|PG5q_ktD)p&(O$l4pOsDqISr|!n^PGb`)H&YZKvoUg_GUGR{+~gp}(XP ze$4zut&hIQ%dXyz92SGJeH{!)NIua$uAkgAWkK&KmrUnAAlhr3J)VS>$cz-_;SF`( zWvUE)e!fcm3Obz0v5luhJ&}1hC)@;oJdU|IE zBiIqAKbT?!)pl~q7bYIQZqmcZkFWYGa4XB<`|nM9SsX7<1W5SDI>rb8s)g| zRt!?rdfkz96uNoIov98O7uq!8krRP3LauKwX8~A#aSTiQB`Pu7004&%004{+008|`004nN004b?008NW002DY000@xb3BE2000U( zX+uL$P-t&-Z*ypGa3D!TLm+T+Z)Rz1WdHz3$DNjUR8-d%htIutdZEoQ0#b(FyTAa_ zdy`&8VVD_UC<6{NG_fI~0ue<-nj%P0#DLLIBvwSR5EN9f2P6n6F&ITuEN@2Ei>|D^ z_ww@lRz|vC zuzLs)$;-`!o*{AqUjza0dRV*yaMRE;fKCVhpQKsoe1Yhg01=zBIT!&C1$=TK@rP|Ibo3vKKm@PqnO#LJhq6%Ij6Hz*<$V$@wQAMN5qJ)hzm2h zoGcOF60t^#FqJFfH{#e-4l@G)6iI9sa9D{VHW4w29}?su;^hF~NC{tY+*d5%WDCTX za!E_i;d2ub1#}&jF5T4HnnCyEWTkKf0>c0%E1Ah>(_PY1)0w;+02c53Su*0<(nUqK zG_|(0G&D0Z{i;y^b@OjZ+}lNZ8Th$p5Uu}MTtq^NHl*T1?CO*}7&0ztZsv2j*bmJyf3G7=Z`5B*PvzoDiKdLpOAxi2$L0#SX*@cY z_n(^h55xYX#km%V()bZjV~l{*bt*u9?FT3d5g^g~#a;iSZ@&02Abxq_DwB(I|L-^b zXThc7C4-yrInE_0gw7K3GZ**7&k~>k0Z0NWkO#^@9q0fwx1%qj zZ=)yBuQ3=54Wo^*!gyjLF-e%Um=erBOdIALW)L%unZshS@>qSW9o8Sq#0s#5*edK% z>{;v(b^`kbN5rY%%y90wC>#%$kE_5P!JWYk;U;klcqzOl-UjcFXXA75rT9jCH~u<) z0>40zCTJ7v2qAyk54cquI@7b&LHdZ`+zlTss6bJ7%PQ)z$cROu4wBhpu-r)01) zS~6}jY?%U?gEALn#wiFzo#H}aQ8rT=DHkadR18&{>P1bW7E`~Y4p3)hWn`DhhRJ5j z*2tcg9i<^OEt(fCg;q*CP8+7ZTcWhYX$fb^_9d-LhL+6BEtPYWVlfKTBusSTASKKb%HuWJzl+By+?gkLq)?+BTu761 zjmyXF)a;mc^>(B7bo*HQ1NNg1st!zt28YLv>W*y3CdWx9U8f|cqfXDAO`Q48?auQq zHZJR2&bcD49Ip>EY~kKEPV6Wm+eXFV)D)_R=tM0@&p?(!V*Qu1PXHG9o^ zTY0bZ?)4%01p8F`JoeS|<@=<@RE7GY07EYX@lwd>4oW|Yi!o+Su@M`;WuSK z8LKk71XR(_RKHM1xJ5XYX`fk>`6eqY>qNG6HZQwBM=xi4&Sb88?zd}EYguc1@>KIS z<&CX#T35dwS|7K*XM_5Nf(;WJJvJWRMA($P>8E^?{IdL4o5MGE7bq2MEEwP7v8AO@ zqL5!WvekBL-8R%V?zVyL=G&{be=K4bT`e{#t|)$A!YaA?jp;X)-+bB;zhj`(vULAW z%ue3U;av{94wp%n<(7@__S@Z2PA@Mif3+uO&y|X06?J#oSi8M;ejj_^(0<4Lt#wLu#dYrva1Y$6_o(k^&}yhSh&h;f@JVA>W8b%o zZ=0JGnu?n~9O4}sJsfnnx7n(>`H13?(iXTy*fM=I`sj`CT)*pTHEgYKqqP+u1IL8N zo_-(u{qS+0<2@%BCt82d{Gqm;(q7a7b>wu+b|!X?c13m#p7cK1({0<`{-e>4hfb-U zsyQuty7Ua;Ou?B?XLHZaol8GAb3Wnxcu!2v{R_`T4=x`(GvqLI{-*2AOSimk zUAw*F_TX^n@STz9kDQ z$NC=!KfXWC8h`dn#xL(D3Z9UkR7|Q&Hcy#Notk!^zVUSB(}`#4&lYA1f0h2V_PNgU zAAWQEt$#LRcH#y9#i!p(Udq2b^lI6wp1FXzN3T;~FU%Lck$-deE#qz9yYP3D3t8{6 z?<+s(e(3(_^YOu_)K8!O1p}D#{JO;G(*OVf32;bRa{vGf5&!@T5&_cPe*6Fc02p*d zSaefwW^{L9a%BKeVQFr3E>1;MAa*k@Gd8K`;w1n80+2~WK~y+Tb&_33lTjGQt%xGL zD55g(q9V&=3%aZu3z->})0?80A5Chr3%^$3%0|sLwa}Q#a$>V(HSLRKADSN|Sq!m@ z+)6@WO0GFyziE7rU(AK?{l8>`=4{3=PZj^Fow_WZlI~!B%@=PPf;98 zpDQFk&1n~|kBVJ7DSXd#L4w9fA|597d7F#jHe`eT?=ETJ(jEruXam03z_gX}i@%Zv zy~aFX;0|DKg1a(vaT8a07#=VIy%oTq8B9wNymi??zY%z(0v@Ws_0+(vOOG}gRUdG& zW4#334#BUrzzYq~T?uqtBd`Q$QGzqe!C4gG>=uk@(mcJg9a+M4=$KvJ<^o{I3iOZx z58Kqh<8wf3;XG`TfqQxpOrru0rPy7S62FJ=6+)GTLQw*Cx(iI0>gxJi)g((xA(0QUdQ9Le-8q_H6xe0rp=%1V%5xPqPA3 zhAh4d;{)=fZGy>YX|j`b+JIN(QScv2K4zQp5U5TU;Hj(0n9`?#?X1SgC5flwL_!YX z%LNmcCKYUV4LH8ne8HZm!PLnxsXvOD2gUH|Qw7*>DZtoe3ErPdvJn(?yCg&ZSJn;1c^xr|2=D$<{*3)Rd7fl{-)X+ zmzlA1-4>z1wYiwkXYz1+80HNYAN@Ir_q6-tC6rwserT~&u)4nN#2XZEC(U(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;cS%G+RCwB?lS@dHQ5c4wGymu~-o^{%9Z8G8RD>C{XwgncqBfG!#+_k7tEi1D zaZ|Jk3KBPMLc>iN25wqtl%OzpB|$;*j?;{D{m+^IpVLBTGNo1T?)}a=58wItUZJ%{ z2tit16HVDbFVG2GJ1&0%#(<&Gjs=yztF=a)1awU_^%}x>(^%a`ZACprrNsb*0zo!* z)>zz}!PfTu(T;_oGl09F8Xpw6J+In*olt0#Ac}xH&3WYjuvDtAq0)!U zi4chgkW!+gWVm&T;npdXlt?L$&T=9&RQj+~st>>c;1Hs_yrhPZ8NgH~^DBPlSNxg5 zroE|5LS}&Sk{TRBbRT^W5KiIEayf~{!=$hoZk^(!(tdEOha?t7?lOc^cryTiq-7yx z0vnru$&?8Uhk-(Y*2xSYnXs4Qu~A9nzFarpy4#sj#GToP8Cq?uaH%pkTO zA3q50;!5R_R0^d`lrl4q(mtsau2dce!Chke@p0gI4@yKu_q*optF`THT5CjAh!py- z_8kcFvx}&9*7JR1l97A!mHL<7aR3k`u(uo<@NZ31Zd{-^s|-Usv26?6wlK7l;;b^t zjSKjoe&imy2qjQ%EZg{G4F9L+Oj j0yqSsz}YnZkA4pT#uh|15Y85r00000NkvXXu0mjfEy_$d literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_arrow.png b/OnTopReplica/Assets/xiao_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..ca39d4820e0858e3519c1d6e238b171950cc53a3 GIT binary patch literal 437 zcmV;m0ZRUfP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ-J4r-ARCwCNlQB;MK@^0)6*0;shK|yNYW)TL0b*-nVPiCE2Uaw8R(3R2Xon_- zA7Eo;q_ELgs12MnL}P;_gg`j%IL))r(}ZK8pzt-jJDHulc{{5_glTGqDQh;^D5XXc zQpM^qkQstcZg+GR01;uFja0EJ&mvO(5V`b39z`TotV(ciq6OdSoNb-j)H_gV!HZ+C zFsA+OgLTbo7h*s}3<3tP?5}ESO;}ol{DnrrTyIBGqwoqxnQ{yva#hQzdThSar`fhhQ0rbd8SfKAh*YQFET?gt5vEcY_9HKYy zar*AafqH}J_#go!<54_+ek3s&pCI72o29}H8>T0{w!b;UxC&CJl(K*XU>P)eK;viq fO|Sa*-}p5E1l@+qVnZ^Q00000NkvXXu0mjfU7@ez literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_delete.png b/OnTopReplica/Assets/xiao_delete.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7e3c06c7072ab8bd2992ec1db3040dde5bb9ff GIT binary patch literal 715 zcmV;+0yO=JP)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;QAtEWRCwB?lRr#TaS+Ep?@wES8fe1+O&LfK8xlI{8g*x!>LAes`A> z9LM3)^m+c07Z?Ms02iyicfd2?5un!sqjMjSsn?hwN=semVg$QSL$JN#RSsjy*PU4M zg$#jkH;MS`5#XK-AWPza?D1e{a$uW;Z@p*; zu%AqWVIl`Y$dWivH$=zKDVJ2ROqyt{vZf+RG9ImjW7&oaP<3-lEf%8ywyyDW{wn{H z*mM$8RnaVa*9D|=>Pjx1injXwl=E3|?8e!G$cZ*T`E-hOPF-=gFuA<5c(@(MYHkN# z3x;7}=;eAd4DhvJHMeuP9cOZRXVC>@AiJ4VW>V{G$Q?b%!4Qt*#j;E+%fykq$iWbD zM-Qp>H8zvVOa`)U3ma2|djEWU_Tgp2ccG--2%d`K>x>}F0^nd;0;Qb7_qVIO|MKJR z_-bNyV`@;Z+X7G=UrpSG#M3*MQrG)BTVq{;mL7oAQE_i;KmY3H%WwCAJ)r20<@h!B x&&R!hA7}-4qZ*J0e$^`1u2FCthyT&<0RU|@782+2Qd0l`002ovPDHLkV1n3wH?;r& literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_down.png b/OnTopReplica/Assets/xiao_down.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf7a5d1c0ad4f723223346040b778b0a4a73fd7 GIT binary patch literal 761 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;e@R3^RCwB?lTAoeQ5c4wd*{xGKVXhhG)$nNHVApxN-S)y+eD68$d%o{G z=ToGVT$udIAw+;d;5u;mfcpr%2A%^>>EM^4b~KJ+Fr+Gz$;27X#-lXU1!VRY$#1%m z{IIe$R`li2ff2wz17G^Lqt#X816L9h!;o`fFBj}pgrTi9%DJW}FK1RJje@DEiuw#d zEu|d}g~kWE6BtF<%0o^-dR8YrtCJG}XB1(eJ3%-U8b2sCFetjtt*(|Bzk#0uEC*~C zQhjk!eQ|6z;C>4D4Rp1{D7wzAvVo!~y-g?U$mBr?uO|sOdgs})}bg$Z@C9* zNb3woH1_v=JPE5C+kvtp4#2{S4nS*D49|gBy@ndnI*&Bb@g$~Y0NtXd?ih9NOjMZ8rTgviD2e(C6h%WyQ1CEJi?@s0>@I$Kyg4>JdVXTw zIr0iXVRLNw;U>J&Z#=qN+t`+@K6R!Uppenma~n%D-(Ng<3akT#l1Mo|jdQ~t5ugUB r1u73{0px%`rJGCBs7NXKAN(BvYQHHQ=RzG>00000NkvXXu0mjfkH<^r literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_help.png b/OnTopReplica/Assets/xiao_help.png new file mode 100644 index 0000000000000000000000000000000000000000..df861f96e0c4f211756f6aa44252f0e35fad1739 GIT binary patch literal 752 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;c1c7*RCwB?lf6$9aTv!xcfGbi5keuD;E~uwkr0h-2u5QZp5K7pe`CZpackz08Kmz*7l@8ulLg4IrNRP`bP+yO#CIhuBhS9 zYdVN1LAu0Y7i&*QV99CW(Uh3P327 z;Bkq9ar@duRAAqNFHxl;weBvNIyd-%7axC+vmNikV9=BRa+W#VeLlcG@FxR~4UvAi z0`PDZj4VjiaP@2p^UK@Az%vOz5QM%!a|7`M$XI#7y~VP4ECjld_v2XzG&k@`i1n2K zqD$&@dnERfHd&`E+}Pg9J0Tg}umQ-L(9$R&x}?sECYo6XO*bk4N6XL(DM&66-E?E) zSS3JK*H+S+7Q}{(X>;6eL=H;+36F@TXR-CnMhT#)yR%ASFIZb$Px8>fE@aU=lb@r{ zR|SA5Ky6JGN+N}(?#=>;0PEu;lhIg$CT|X(3oOgRFf1bdGLe26!?3U{3!e*`yg8z= z1nc7?ljR;{;z@OLX>`sbJ?d#Yg(5n{(-yrm`M*%(5oz|hk?SPpRu$CErBO2RWC_qU zwP;3%LSxpQDX(T;z8{qRv^RPY1PR9hfh?+~^I>_1-^<^g#wLcwx~3M*iYWl;*u>D| z7`#(%J-J(dx+Cm6*?I;b9apwe+bi?G-aL2?Yys(_NI1TY(V>tBs0HeQ>OwdJq=3WX i%f)RJ9LM2*?B4+H@(<#P|3};a0000%t*xm literal 0 HcmV?d00001 diff --git a/OnTopReplica/Assets/xiao_ok.png b/OnTopReplica/Assets/xiao_ok.png new file mode 100644 index 0000000000000000000000000000000000000000..fc5029a25f4417ad92afa7489f464874dc3318df GIT binary patch literal 752 zcmV(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;c1c7*RCwB?lTAoeQ5c4wGk2VE(s3N6G)+pYjcFT2iI8xUB#|3YcWp$mz?IZO zSK_9YK}q7KU52X+0|{Dagx0{|UpUcV)RYchW}N?f?%cU8)Qh9bUicR0<@+Aa$2qSs zO%ovmN9vt#bN~ZDH*n+7{tV0lQ!|}w@~GD|O~i3P?|kEcB9xa67h1V^{xYTIUI3zM zgr9$Zu>N})!!!nGI@hL70eapwJaD@_&u=$(Ly19}1X(ly>^N~z3^9d;ud~F{`w!pT zU4LN#`rco6C_>ThwcaOPvX5rOG0B$zoQfM)%){H|R~V+@e0^tC+5oaLH&kEMj8+&Y zo>I{?4SAxz_?KDoeLyRWQ(x6gR_2BPYydVP`YOw6h-OqWGJ__yyjuO{XS!vP>6S&J z8I{Vi8f-%J9jpfkyJ#wK+DW8h1Vi7gYhS9aV>=XNx@FPw5~&!at_p-*G+6)uJ)1?- z(s|AOD{Xn_v0x91O+g~TG<9nQJ#B2Hl1Xwo7}@Hw296JpY;}>*HF8-PHw$PUh25xSHNuXW_T!0=iJQfAPl#F;B%FS0{2oSL%$3!~eU0o9M&@Z!LQE_DWd z?Enn=+R>y$mpTqyxD77>)z8A{_M`D41p*Tjn=VLbQG(G8e)-fVpTKKLdh5@*oN)!gMGHPz-ng*P)jN i_JIU&I*tFMe**wrqevEjZknS20000P)(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ;Zb?KzRCwB?lS@ccQ5eU6=gyrgI+i+!(lmmGkwlPU_CUhgxNXxyR}q4bUbL%4 zD``=?=&3?P`!?Z9U1+$deBgr=3pAly>7=*uG50lh?rCwI$#mHt4xICy@B5waaL!*y zDG@@DRYT8|2DAg0fpa_I_rM#VZ@jb4&E`re5xW5mJyY!=Mf5h+RB$XFrL-hST>A~5 zb%S>c-^lo~W4yDjZy%uk#pJbUq~O_=i#24zu#pBQ69Do;P!xtx8eR`CV5H3JlU?=C zbAZ#m(^^Oo&W+}i7{F#4q=eB49f0$v;s^l;!w?0Y4$hGAW!_jvt*ZcJ(r#Dd(HNV+ zFAHopC?05yGte4mbVA2=gS}0l@o0=p+U){R0E7@NRb?e4w!pGrY$hnqYM?dF*o=;4 zL1GK4%1RJIwB!IvNUaZRD#?_O?fCx`?}pfpPcr4BX(~!ctp`xE39ctGZ3j<6+ei?5 zc_ANwwh=1_QbP*18^%Yba{$ja=TfFwiw~CT?>pUcyxjbNreNA0zHNQUUBNU~`t`LW zg{s7L9c(8US!LI*>rkjl^tB|WvCLuVch{El$5@>0 z#!9UJ?I8Hdg_SpZ?v38!00000(_`g8%^e{{R4h=>PzAFaQARU;qF*m;eA5Z<1fd zMgRZ-QAtEWRCwCFlD$d;K@^3*6*q-K0ycuMjg>xukCGyrI+&NyO4&w>nT5QEg`~9F zMl9?k44OdL*-7A7xU0qp{(+~t%(-_y?r>hsV!ms@Ll0Nrkv>2yk`)4^H`fO9Sf;OL^zwWO1K>GUS(=%SD$ zfNfyk7^AW*RTPEFvTPFB2eu`>JmE3Gq=Yc_@0XbacK{&-y!V6=yQuqYG{{pJ2 z!h26uRiFQZy%rqqz=AEVZr1@xlCWGZNs?q8;GZV>;F4Zr_@_w@2d@LpxqLJl^#I1> z@mqYgqB^eKy3TYn002ovPDHLkV1gvj B#S{Pl literal 0 HcmV?d00001 diff --git a/OnTopReplica/CREDITS.txt b/OnTopReplica/CREDITS.txt new file mode 100644 index 0000000..a870696 --- /dev/null +++ b/OnTopReplica/CREDITS.txt @@ -0,0 +1,12 @@ +OnTopReplica credits +-------------------- + +This application was inspired by Switcher (http://insentient.net) and other DWM based application. + +All Aero controls are part of the open-source WindowsFormsAero (http://windowsformsaero.codeplex.com) library for .NET. + +Some DWM example code has ben taken from user Ookii (http://www.ookii.org) on Channel 9 MSDN. + +The NativeToolstripRenderer class has been taken from asztal.net (http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet). + +Some of the icons used by OnTopReplica have been taken from VistaICO.com and the Xiao icon set. diff --git a/OnTopReplica/CloneClickEventArgs.cs b/OnTopReplica/CloneClickEventArgs.cs new file mode 100644 index 0000000..2c137fe --- /dev/null +++ b/OnTopReplica/CloneClickEventArgs.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + /// + /// EventArgs structure for clicks on a cloned window. + /// + public class CloneClickEventArgs : EventArgs { + + public Point ClientClickLocation { get; set; } + + public bool IsDoubleClick { get; set; } + + public MouseButtons Buttons { get; set; } + + public CloneClickEventArgs(Point location, MouseButtons buttons) { + ClientClickLocation = location; + Buttons = buttons; + IsDoubleClick = false; + } + + public CloneClickEventArgs(Point location, MouseButtons buttons, bool doubleClick) { + ClientClickLocation = location; + Buttons = buttons; + IsDoubleClick = doubleClick; + } + + } +} diff --git a/OnTopReplica/CloseRequestEventArgs.cs b/OnTopReplica/CloseRequestEventArgs.cs new file mode 100644 index 0000000..377ce99 --- /dev/null +++ b/OnTopReplica/CloseRequestEventArgs.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; + +namespace OnTopReplica { + public class CloseRequestEventArgs : EventArgs { + + public WindowHandle LastWindowHandle { get; set; } + + public Rectangle? LastRegion { get; set; } + + } +} diff --git a/OnTopReplica/FocusedTextBox.cs b/OnTopReplica/FocusedTextBox.cs new file mode 100644 index 0000000..b2a2cc6 --- /dev/null +++ b/OnTopReplica/FocusedTextBox.cs @@ -0,0 +1,70 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using WindowsFormsAero; +using System.Windows.Forms; + +namespace OnTopReplica { + + class FocusedTextBox : System.Windows.Forms.TextBox { + + protected override bool IsInputChar(char charCode) { + if (charCode == '\n' || charCode == '\r') + return true; + + return base.IsInputChar(charCode); + } + + protected override void OnKeyUp(KeyEventArgs e) { + if (e.KeyCode == Keys.Return) { + if(!string.IsNullOrEmpty(Text)) + OnConfirmInput(); + + e.Handled = true; + e.SuppressKeyPress = true; + } + else if (e.KeyCode == Keys.Escape) { + OnAbortInput(); + + e.Handled = true; + e.SuppressKeyPress = true; + } + + //Console.WriteLine("{0} ({1})", e.KeyCode, e.KeyValue); + + base.OnKeyUp(e); + } + + //List of characters to ignore on KeyPress events (because they generate bell rings) + readonly char[] IgnoreChars = new char[] { + (char)27, (char)13 + }; + + protected override void OnKeyPress(KeyPressEventArgs e) { + if (IgnoreChars.Contains(e.KeyChar)) { + e.Handled = true; + } + + base.OnKeyPress(e); + } + + public event EventHandler ConfirmInput; + + protected virtual void OnConfirmInput() { + var evt = ConfirmInput; + if (evt != null) + evt(this, EventArgs.Empty); + } + + public event EventHandler AbortInput; + + protected virtual void OnAbortInput() { + var evt = AbortInput; + if (evt != null) + evt(this, EventArgs.Empty); + } + + } + +} diff --git a/OnTopReplica/GeometryExtensions.cs b/OnTopReplica/GeometryExtensions.cs new file mode 100644 index 0000000..5f61feb --- /dev/null +++ b/OnTopReplica/GeometryExtensions.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + + /// + /// Common geometry extension methods. + /// + static class GeometryExtensions { + + /// + /// Returns the difference (offset vector) between two points. + /// + public static Point Difference(this Point a, Point b) { + return new Point(a.X - b.X, a.Y - b.Y); + } + + /// + /// Expands a size value by a padding distance. + /// + public static Size Expand(this Size size, Padding padding) { + return new Size(size.Width + padding.Horizontal, size.Height + padding.Vertical); + } + + /// + /// Expands a size value by a size distance. + /// + public static Size Expand(this Size size, Size expandSize) { + return new Size(size.Width + expandSize.Width, size.Height + expandSize.Height); + } + + /// + /// Computes the difference between two size values. + /// + public static Size Difference(this Size a, Size b) { + return new Size(a.Width - b.Width, a.Height - b.Height); + } + + /// + /// Ensures that the minimum size of a control respects a minimum + /// client size area. + /// + /// Control whose MinimumSize should be altered. + /// Minimum client size value to ensure. + public static void EnsureMinimumClientSize(this Control ctrl, Size minimumClientSize) { + Size offset = ctrl.Size.Difference(ctrl.ClientSize); + ctrl.MinimumSize = minimumClientSize.Expand(offset); + } + + /// + /// Attempts to fit a size structure to another fixed destination size, by maintaining + /// the original aspect ratio. + /// + public static Size Fit(this Size sourceSize, Size destinationSize) { + double sourceRatio = (double)sourceSize.Width / (double)sourceSize.Height; + double clientRatio = (double)destinationSize.Width / (double)destinationSize.Height; + + Size ret; + if (sourceRatio >= clientRatio) { + ret = new Size(destinationSize.Width, (int)((double)destinationSize.Width / sourceRatio)); + } + else { + ret = new Size((int)((double)destinationSize.Height * sourceRatio), destinationSize.Height); + } + + return ret; + } + + } + +} diff --git a/OnTopReplica/HotKeyTextBox.cs b/OnTopReplica/HotKeyTextBox.cs new file mode 100644 index 0000000..9abcead --- /dev/null +++ b/OnTopReplica/HotKeyTextBox.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + class HotKeyTextBox : TextBox { + + protected override void OnCreateControl() { + ReadOnly = true; + + base.OnCreateControl(); + } + + readonly Keys[] IgnoredKeys = new Keys[] { + Keys.ControlKey, + Keys.Control, + Keys.Alt, + Keys.Menu, + Keys.ShiftKey, + Keys.Shift, + Keys.LWin, + Keys.RWin + }; + + readonly Keys[] CancelKeys = new Keys[] { + Keys.Back, + Keys.Escape + }; + + protected override void OnKeyUp(KeyEventArgs e) { + if (CancelKeys.Contains(e.KeyCode)) { + Text = string.Empty; + } + else if (!IgnoredKeys.Contains(e.KeyCode)) { + var sb = new StringBuilder(); + if (e.Control) + sb.Append("[CTRL]+"); + if (e.Alt) + sb.Append("[ALT]+"); + if (e.Shift) + sb.Append("[SHIFT]+"); + sb.Append(e.KeyCode.ToString()); + + Text = sb.ToString(); + } + + e.Handled = true; + base.OnKeyUp(e); + } + + } + +} diff --git a/OnTopReplica/IMessagePumpProcessor.cs b/OnTopReplica/IMessagePumpProcessor.cs new file mode 100644 index 0000000..824b9e5 --- /dev/null +++ b/OnTopReplica/IMessagePumpProcessor.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + interface IMessagePumpProcessor : IDisposable { + + void Initialize(MainForm form); + + bool Process(ref Message msg); + + } +} diff --git a/OnTopReplica/ImageComboBox.cs b/OnTopReplica/ImageComboBox.cs new file mode 100644 index 0000000..c68522f --- /dev/null +++ b/OnTopReplica/ImageComboBox.cs @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Drawing; + +namespace OnTopReplica { + class ImageComboBox : ComboBox { + + public ImageComboBox() { + DrawMode = DrawMode.OwnerDrawFixed; + } + + protected override void OnDrawItem(DrawItemEventArgs ea) { + ea.DrawBackground(); + ea.DrawFocusRectangle(); + + if (ea.Index == -1) + return; + + Rectangle bounds = ea.Bounds; + var foreBrush = new SolidBrush(ea.ForeColor); + int textLeftBound = (IconList == null) ? bounds.Left : bounds.Left + IconList.ImageSize.Width; + + var drawObject = Items[ea.Index]; + if (drawObject is ImageComboBoxItem) { + var drawItem = (ImageComboBoxItem)drawObject; + + if (drawItem.ImageListIndex != -1 && IconList != null) { + //ea.Graphics.FillRectangle(Brushes.Gray, bounds.Left, bounds.Top, IconList.ImageSize.Width, IconList.ImageSize.Height); + ea.Graphics.DrawImage(IconList.Images[drawItem.ImageListIndex], bounds.Left, bounds.Top); + } + + ea.Graphics.DrawString(drawItem.Text, ea.Font, foreBrush, textLeftBound, bounds.Top); + } + else { + ea.Graphics.DrawString(drawObject.ToString(), ea.Font, foreBrush, textLeftBound, bounds.Top); + } + + base.OnDrawItem(ea); + } + + public ImageList IconList { get; set; } + + } + + class ImageComboBoxItem { + + public ImageComboBoxItem() { + Text = ""; + ImageListIndex = -1; + } + + public ImageComboBoxItem(string text) { + if (text == null) + throw new ArgumentNullException(); + + Text = text; + ImageListIndex = -1; + } + + public ImageComboBoxItem(string text, int imageListIndex) { + if (text == null) + throw new ArgumentNullException(); + + Text = text; + ImageListIndex = imageListIndex; + } + + public string Text { get; private set; } + + public int ImageListIndex { get; private set; } + + public object Tag { get; set; } + + } +} diff --git a/OnTopReplica/LICENSE.txt b/OnTopReplica/LICENSE.txt new file mode 100644 index 0000000..fed0f94 --- /dev/null +++ b/OnTopReplica/LICENSE.txt @@ -0,0 +1,21 @@ +Microsoft Reciprocal License (Ms-RL) + +This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software. + +1. Definitions +The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law. +A "contribution" is the original software, or any additions or changes to the software. +A "contributor" is any person that distributes its contribution under this license. +"Licensed patents" are a contributor's patent claims that read directly on its contribution. + +2. Grant of Rights +(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create. +(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software. + +3. Conditions and Limitations +(A) Reciprocal Grants- For any file you distribute that contains code from the software (in source code or binary format), you must provide recipients the source code to that file along with a copy of this license, which license will govern that file. You may license other files that are entirely your own work and do not contain code from the software under any terms you choose. +(B) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks. +(C) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically. +(D) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software. +(E) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license. +(F) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement. diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs new file mode 100644 index 0000000..1c0ec00 --- /dev/null +++ b/OnTopReplica/MainForm.Designer.cs @@ -0,0 +1,560 @@ +namespace OnTopReplica +{ + partial class MainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.menuContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.menuContextWindows = new System.Windows.Forms.ToolStripMenuItem(); + this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); + this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullSelectWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.switchToWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.selectRegionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.advancedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickForwardingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickThroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.groupSwitchModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.restoreLastClonedWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextOpacity = new System.Windows.Forms.ToolStripMenuItem(); + this.menuOpacity = new System.Windows.Forms.ContextMenuStrip(this.components); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); + this.resizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuResize = new System.Windows.Forms.ContextMenuStrip(this.components); + this.doubleToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.fitToWindowToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.halfToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.quarterToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.fullscreenToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.restorePositionAndSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.dockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.disabledToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.centerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.chromeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.reduceToIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); + this.fullOpacityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFullscreenContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.enableClickthroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullExitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContext.SuspendLayout(); + this.menuWindows.SuspendLayout(); + this.menuOpacity.SuspendLayout(); + this.menuResize.SuspendLayout(); + this.menuFullscreenContext.SuspendLayout(); + this.SuspendLayout(); + // + // menuContext + // + this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuContextWindows, + this.switchToWindowToolStripMenuItem, + this.selectRegionToolStripMenuItem, + this.advancedToolStripMenuItem, + this.menuContextOpacity, + this.resizeToolStripMenuItem, + this.dockToolStripMenuItem, + this.chromeToolStripMenuItem, + this.reduceToIconToolStripMenuItem, + this.toolStripSeparator1, + this.settingsToolStripMenuItem, + this.aboutToolStripMenuItem, + this.menuContextClose}); + this.menuContext.Name = "menuContext"; + this.menuContext.Size = new System.Drawing.Size(187, 296); + this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); + // + // menuContextWindows + // + this.menuContextWindows.DropDown = this.menuWindows; + this.menuContextWindows.Image = global::OnTopReplica.Properties.Resources.list; + this.menuContextWindows.Name = "menuContextWindows"; + this.menuContextWindows.Size = new System.Drawing.Size(186, 22); + this.menuContextWindows.Text = global::OnTopReplica.Strings.MenuWindows; + this.menuContextWindows.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // + // menuWindows + // + this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.noneToolStripMenuItem}); + this.menuWindows.Name = "menuWindows"; + this.menuWindows.OwnerItem = this.menuContextWindows; + this.menuWindows.Size = new System.Drawing.Size(118, 26); + // + // noneToolStripMenuItem + // + this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; + this.noneToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; + // + // fullSelectWindowToolStripMenuItem + // + this.fullSelectWindowToolStripMenuItem.DropDown = this.menuWindows; + this.fullSelectWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.list; + this.fullSelectWindowToolStripMenuItem.Name = "fullSelectWindowToolStripMenuItem"; + this.fullSelectWindowToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullSelectWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindows; + this.fullSelectWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // + // switchToWindowToolStripMenuItem + // + this.switchToWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_arrow; + this.switchToWindowToolStripMenuItem.Name = "switchToWindowToolStripMenuItem"; + this.switchToWindowToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.switchToWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSwitch; + this.switchToWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSwitchTT; + this.switchToWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_Switch_click); + // + // selectRegionToolStripMenuItem + // + this.selectRegionToolStripMenuItem.Enabled = false; + this.selectRegionToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.regions; + this.selectRegionToolStripMenuItem.Name = "selectRegionToolStripMenuItem"; + this.selectRegionToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.selectRegionToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRegion; + this.selectRegionToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRegionTT; + this.selectRegionToolStripMenuItem.Click += new System.EventHandler(this.Menu_Region_click); + // + // advancedToolStripMenuItem + // + this.advancedToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.clickForwardingToolStripMenuItem, + this.clickThroughToolStripMenuItem, + this.groupSwitchModeToolStripMenuItem, + this.restoreLastClonedWindowToolStripMenuItem}); + this.advancedToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_wrench; + this.advancedToolStripMenuItem.Name = "advancedToolStripMenuItem"; + this.advancedToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.advancedToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAdvanced; + this.advancedToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Advanced_opening); + // + // clickForwardingToolStripMenuItem + // + this.clickForwardingToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; + this.clickForwardingToolStripMenuItem.Name = "clickForwardingToolStripMenuItem"; + this.clickForwardingToolStripMenuItem.Size = new System.Drawing.Size(218, 22); + this.clickForwardingToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickForwarding; + this.clickForwardingToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickForwardingTT; + this.clickForwardingToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickForwarding_click); + // + // clickThroughToolStripMenuItem + // + this.clickThroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.clickThroughToolStripMenuItem.Name = "clickThroughToolStripMenuItem"; + this.clickThroughToolStripMenuItem.Size = new System.Drawing.Size(218, 22); + this.clickThroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.clickThroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.clickThroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // groupSwitchModeToolStripMenuItem + // + this.groupSwitchModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.groupmode; + this.groupSwitchModeToolStripMenuItem.Name = "groupSwitchModeToolStripMenuItem"; + this.groupSwitchModeToolStripMenuItem.Size = new System.Drawing.Size(218, 22); + this.groupSwitchModeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuGroupSwitch; + this.groupSwitchModeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuGroupSwitchTT; + this.groupSwitchModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_GroupSwitchMode_click); + // + // restoreLastClonedWindowToolStripMenuItem + // + this.restoreLastClonedWindowToolStripMenuItem.Name = "restoreLastClonedWindowToolStripMenuItem"; + this.restoreLastClonedWindowToolStripMenuItem.Size = new System.Drawing.Size(218, 22); + this.restoreLastClonedWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRestoreLast; + this.restoreLastClonedWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRestoreLastTT; + this.restoreLastClonedWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_RestoreLastWindow_click); + // + // menuContextOpacity + // + this.menuContextOpacity.DropDown = this.menuOpacity; + this.menuContextOpacity.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.menuContextOpacity.Name = "menuContextOpacity"; + this.menuContextOpacity.Size = new System.Drawing.Size(186, 22); + this.menuContextOpacity.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // menuOpacity + // + this.menuOpacity.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripMenuItem1, + this.toolStripMenuItem2, + this.toolStripMenuItem3, + this.toolStripMenuItem4}); + this.menuOpacity.Name = "menuOpacity"; + this.menuOpacity.OwnerItem = this.fullOpacityToolStripMenuItem; + this.menuOpacity.ShowCheckMargin = true; + this.menuOpacity.ShowImageMargin = false; + this.menuOpacity.Size = new System.Drawing.Size(154, 92); + this.menuOpacity.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Opacity_opening); + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Checked = true; + this.toolStripMenuItem1.CheckState = System.Windows.Forms.CheckState.Checked; + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem1.Tag = 1D; + this.toolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuOp100; + this.toolStripMenuItem1.ToolTipText = global::OnTopReplica.Strings.MenuOp100TT; + this.toolStripMenuItem1.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem2 + // + this.toolStripMenuItem2.Name = "toolStripMenuItem2"; + this.toolStripMenuItem2.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem2.Tag = 0.75D; + this.toolStripMenuItem2.Text = global::OnTopReplica.Strings.MenuOp75; + this.toolStripMenuItem2.ToolTipText = global::OnTopReplica.Strings.MenuOp75TT; + this.toolStripMenuItem2.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem3 + // + this.toolStripMenuItem3.Name = "toolStripMenuItem3"; + this.toolStripMenuItem3.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem3.Tag = 0.5D; + this.toolStripMenuItem3.Text = global::OnTopReplica.Strings.MenuOp50; + this.toolStripMenuItem3.ToolTipText = global::OnTopReplica.Strings.MenuOp50TT; + this.toolStripMenuItem3.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem4 + // + this.toolStripMenuItem4.Name = "toolStripMenuItem4"; + this.toolStripMenuItem4.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem4.Tag = 0.25D; + this.toolStripMenuItem4.Text = global::OnTopReplica.Strings.MenuOp25; + this.toolStripMenuItem4.ToolTipText = global::OnTopReplica.Strings.MenuOp25TT; + this.toolStripMenuItem4.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // resizeToolStripMenuItem + // + this.resizeToolStripMenuItem.DropDown = this.menuResize; + this.resizeToolStripMenuItem.Enabled = false; + this.resizeToolStripMenuItem.Name = "resizeToolStripMenuItem"; + this.resizeToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.resizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResize; + // + // menuResize + // + this.menuResize.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.doubleToolStripMenuItem1, + this.fitToWindowToolStripMenuItem1, + this.halfToolStripMenuItem1, + this.quarterToolStripMenuItem1, + this.toolStripSeparator3, + this.fullscreenToolStripMenuItem1, + this.toolStripSeparator2, + this.restorePositionAndSizeToolStripMenuItem}); + this.menuResize.Name = "menuResize"; + this.menuResize.OwnerItem = this.resizeToolStripMenuItem; + this.menuResize.Size = new System.Drawing.Size(218, 170); + this.menuResize.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Resize_opening); + // + // doubleToolStripMenuItem1 + // + this.doubleToolStripMenuItem1.Name = "doubleToolStripMenuItem1"; + this.doubleToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.doubleToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitDouble; + this.doubleToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Double); + // + // fitToWindowToolStripMenuItem1 + // + this.fitToWindowToolStripMenuItem1.Name = "fitToWindowToolStripMenuItem1"; + this.fitToWindowToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.fitToWindowToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitOriginal; + this.fitToWindowToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_FitToWindow); + // + // halfToolStripMenuItem1 + // + this.halfToolStripMenuItem1.Name = "halfToolStripMenuItem1"; + this.halfToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.halfToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitHalf; + this.halfToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Half); + // + // quarterToolStripMenuItem1 + // + this.quarterToolStripMenuItem1.Name = "quarterToolStripMenuItem1"; + this.quarterToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.quarterToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitQuarter; + this.quarterToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Quarter); + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(214, 6); + // + // fullscreenToolStripMenuItem1 + // + this.fullscreenToolStripMenuItem1.Image = global::OnTopReplica.Properties.Resources.fullscreen; + this.fullscreenToolStripMenuItem1.Name = "fullscreenToolStripMenuItem1"; + this.fullscreenToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.fullscreenToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitFullscreen; + this.fullscreenToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Fullscreen); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(214, 6); + // + // restorePositionAndSizeToolStripMenuItem + // + this.restorePositionAndSizeToolStripMenuItem.Name = "restorePositionAndSizeToolStripMenuItem"; + this.restorePositionAndSizeToolStripMenuItem.Size = new System.Drawing.Size(217, 22); + this.restorePositionAndSizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRecall; + this.restorePositionAndSizeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRecallTT; + this.restorePositionAndSizeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Resize_RecallPosition_click); + // + // dockToolStripMenuItem + // + this.dockToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.disabledToolStripMenuItem, + this.topLeftToolStripMenuItem, + this.topRightToolStripMenuItem, + this.centerToolStripMenuItem, + this.bottomLeftToolStripMenuItem, + this.bottomRightToolStripMenuItem}); + this.dockToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_null; + this.dockToolStripMenuItem.Name = "dockToolStripMenuItem"; + this.dockToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.dockToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosition; + this.dockToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuPositionTT; + this.dockToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Position_Opening); + // + // disabledToolStripMenuItem + // + this.disabledToolStripMenuItem.Checked = true; + this.disabledToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; + this.disabledToolStripMenuItem.Name = "disabledToolStripMenuItem"; + this.disabledToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.disabledToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosDisabled; + this.disabledToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_Disable); + // + // topLeftToolStripMenuItem + // + this.topLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topleft; + this.topLeftToolStripMenuItem.Name = "topLeftToolStripMenuItem"; + this.topLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopLeft; + this.topLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopLeft); + // + // topRightToolStripMenuItem + // + this.topRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topright; + this.topRightToolStripMenuItem.Name = "topRightToolStripMenuItem"; + this.topRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopRight; + this.topRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopRight); + // + // centerToolStripMenuItem + // + this.centerToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_center; + this.centerToolStripMenuItem.Name = "centerToolStripMenuItem"; + this.centerToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.centerToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosCenter; + this.centerToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_Center); + // + // bottomLeftToolStripMenuItem + // + this.bottomLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomleft; + this.bottomLeftToolStripMenuItem.Name = "bottomLeftToolStripMenuItem"; + this.bottomLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomLeft; + this.bottomLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomLeft); + // + // bottomRightToolStripMenuItem + // + this.bottomRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomright; + this.bottomRightToolStripMenuItem.Name = "bottomRightToolStripMenuItem"; + this.bottomRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomRight; + this.bottomRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomRight); + // + // chromeToolStripMenuItem + // + this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem"; + this.chromeToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.chromeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuChrome; + this.chromeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuChromeTT; + this.chromeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Chrome_click); + // + // reduceToIconToolStripMenuItem + // + this.reduceToIconToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.reduce; + this.reduceToIconToolStripMenuItem.Name = "reduceToIconToolStripMenuItem"; + this.reduceToIconToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.reduceToIconToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReduce; + this.reduceToIconToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuReduceTT; + this.reduceToIconToolStripMenuItem.Click += new System.EventHandler(this.Menu_Reduce_click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(183, 6); + // + // settingsToolStripMenuItem + // + this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; + this.settingsToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.settingsToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSettings; + this.settingsToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSettingsTT; + this.settingsToolStripMenuItem.Click += new System.EventHandler(this.Menu_Settings_click); + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_help; + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.aboutToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAbout; + this.aboutToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAboutTT; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.Menu_About_click); + // + // menuContextClose + // + this.menuContextClose.Image = global::OnTopReplica.Properties.Resources.close_new; + this.menuContextClose.Name = "menuContextClose"; + this.menuContextClose.Size = new System.Drawing.Size(186, 22); + this.menuContextClose.Text = global::OnTopReplica.Strings.MenuClose; + this.menuContextClose.Click += new System.EventHandler(this.Menu_Close_click); + // + // fullOpacityToolStripMenuItem + // + this.fullOpacityToolStripMenuItem.DropDown = this.menuOpacity; + this.fullOpacityToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.fullOpacityToolStripMenuItem.Name = "fullOpacityToolStripMenuItem"; + this.fullOpacityToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullOpacityToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // menuFullscreenContext + // + this.menuFullscreenContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fullSelectWindowToolStripMenuItem, + this.fullOpacityToolStripMenuItem, + this.enableClickthroughToolStripMenuItem, + this.fullExitToolStripMenuItem}); + this.menuFullscreenContext.Name = "menuFullscreenContext"; + this.menuFullscreenContext.Size = new System.Drawing.Size(190, 92); + // + // enableClickthroughToolStripMenuItem + // + this.enableClickthroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; + this.enableClickthroughToolStripMenuItem.Name = "enableClickthroughToolStripMenuItem"; + this.enableClickthroughToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.enableClickthroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.enableClickthroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.enableClickthroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // fullExitToolStripMenuItem + // + this.fullExitToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; + this.fullExitToolStripMenuItem.Name = "fullExitToolStripMenuItem"; + this.fullExitToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullExitToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuQuitFullscreen; + this.fullExitToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_ExitFullscreen_click); + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.Control; + this.ClientSize = new System.Drawing.Size(318, 226); + this.ControlBox = false; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.HideCaption = true; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.MinimumSize = new System.Drawing.Size(44, 44); + this.Name = "MainForm"; + this.Text = "OnTopReplica"; + this.TopMost = true; + this.menuContext.ResumeLayout(false); + this.menuWindows.ResumeLayout(false); + this.menuOpacity.ResumeLayout(false); + this.menuResize.ResumeLayout(false); + this.menuFullscreenContext.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ContextMenuStrip menuContext; + private System.Windows.Forms.ToolStripMenuItem menuContextWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextClose; + private System.Windows.Forms.ContextMenuStrip menuWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextOpacity; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.ContextMenuStrip menuOpacity; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem4; + private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem reduceToIconToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem selectRegionToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem resizeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem switchToWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem dockToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topRightToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomRightToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuResize; + private System.Windows.Forms.ToolStripMenuItem doubleToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fitToWindowToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem halfToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem quarterToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fullscreenToolStripMenuItem1; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripMenuItem chromeToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuFullscreenContext; + private System.Windows.Forms.ToolStripMenuItem fullSelectWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullOpacityToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullExitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem advancedToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickForwardingToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickThroughToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem groupSwitchModeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem enableClickthroughToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem centerToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem disabledToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; + private System.Windows.Forms.ToolStripMenuItem restorePositionAndSizeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem restoreLastClonedWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem; + } +} + diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs new file mode 100644 index 0000000..45b6a24 --- /dev/null +++ b/OnTopReplica/MainForm.cs @@ -0,0 +1,474 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Native; +using OnTopReplica.Properties; +using OnTopReplica.StartupOptions; +using OnTopReplica.Update; +using OnTopReplica.WindowSeekers; +using WindowsFormsAero.Dwm; +using WindowsFormsAero.TaskDialog; + +namespace OnTopReplica { + + partial class MainForm : AspectRatioForm { + + //GUI elements + ThumbnailPanel _thumbnailPanel; + + //Managers + MessagePumpManager _msgPumpManager = new MessagePumpManager(); + WindowListMenuManager _windowListManager; + + Options _startupOptions; + + public MainForm(Options startupOptions) { + _startupOptions = startupOptions; + + //WinForms init pass + InitializeComponent(); + + //Store default values + DefaultNonClickTransparencyKey = this.TransparencyKey; + DefaultBorderStyle = this.FormBorderStyle; + + //Thumbnail panel + _thumbnailPanel = new ThumbnailPanel { + Location = Point.Empty, + Dock = DockStyle.Fill + }; + _thumbnailPanel.CloneClick += new EventHandler(Thumbnail_CloneClick); + Controls.Add(_thumbnailPanel); + + //Set native renderer on context menus + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer( + menuContext, menuWindows, menuOpacity, menuResize, menuFullscreenContext + ); + + //Set to Key event preview + this.KeyPreview = true; + } + + #region Event override + + protected override void OnHandleCreated(EventArgs e){ + base.OnHandleCreated(e); + + //Window init + KeepAspectRatio = false; + GlassEnabled = true; + GlassMargins = new Margins(-1); + + //Managers + _msgPumpManager.Initialize(this); + _windowListManager = new WindowListMenuManager(this, menuWindows); + _windowListManager.ParentMenus = new System.Windows.Forms.ContextMenuStrip[] { + menuContext, menuFullscreenContext + }; + + //Platform specific form initialization + Program.Platform.PostHandleFormInit(this); + } + + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + //Apply startup options + _startupOptions.Apply(this); + } + + protected override void OnClosing(CancelEventArgs e) { + //Store last thumbnail, if any + if (_thumbnailPanel.IsShowingThumbnail && CurrentThumbnailWindowHandle != null) { + Settings.Default.RestoreLastWindowTitle = CurrentThumbnailWindowHandle.Title; + Settings.Default.RestoreLastWindowHwnd = CurrentThumbnailWindowHandle.Handle.ToInt64(); + Settings.Default.RestoreLastWindowClass = CurrentThumbnailWindowHandle.Class; + } + else { + Settings.Default.RestoreLastWindowTitle = string.Empty; + Settings.Default.RestoreLastWindowHwnd = 0; + Settings.Default.RestoreLastWindowClass = string.Empty; + } + + _msgPumpManager.Dispose(); + Program.Platform.CloseForm(this); + + base.OnClosing(e); + } + + protected override void OnMove(EventArgs e) { + base.OnMove(e); + + AdjustSidePanelLocation(); + } + + protected override void OnResizeEnd(EventArgs e) { + base.OnResizeEnd(e); + + RefreshScreenLock(); + } + + protected override void OnActivated(EventArgs e) { + base.OnActivated(e); + + //Deactivate click-through if form is reactivated + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + + Program.Platform.RestoreForm(this); + } + + protected override void OnDeactivate(EventArgs e) { + base.OnDeactivate(e); + + //HACK: sometimes, even if TopMost is true, the window loses its "always on top" status. + // This is a fix attempt that probably won't work... + if (!IsFullscreen) { //fullscreen mode doesn't use TopMost + TopMost = false; + TopMost = true; + } + } + + protected override void OnMouseWheel(MouseEventArgs e) { + base.OnMouseWheel(e); + + if (!IsFullscreen) { + int change = (int)(e.Delta / 6.0); //assumes a mouse wheel "tick" is in the 80-120 range + AdjustSize(change); + RefreshScreenLock(); + } + } + + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); + + //This is handled by the WM_NCLBUTTONDBLCLK msg handler usually (because the GlassForm translates + //clicks on client to clicks on caption). But if fullscreen mode disables GlassForm dragging, we need + //this auxiliary handler to switch mode. + IsFullscreen = !IsFullscreen; + } + + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); + + //Same story as above (OnMouseDoubleClick) + if (e.Button == System.Windows.Forms.MouseButtons.Right) { + OpenContextMenu(null); + } + } + + protected override void WndProc(ref Message m) { + if (_msgPumpManager != null) { + if (_msgPumpManager.PumpMessage(ref m)) { + return; + } + } + + switch (m.Msg) { + case WM.NCRBUTTONUP: + //Open context menu if right button clicked on caption (i.e. all of the window area because of glass) + if (m.WParam.ToInt32() == HT.CAPTION) { + OpenContextMenu(null); + + m.Result = IntPtr.Zero; + return; + } + break; + + case WM.NCLBUTTONDBLCLK: + //Toggle fullscreen mode if double click on caption (whole glass area) + if (m.WParam.ToInt32() == HT.CAPTION) { + IsFullscreen = !IsFullscreen; + + m.Result = IntPtr.Zero; + return; + } + break; + + case WM.NCHITTEST: + //Make transparent to hit-testing if in click through mode + if (ClickThroughEnabled && (ModifierKeys & Keys.Alt) != Keys.Alt) { + m.Result = (IntPtr)HT.TRANSPARENT; + return; + } + break; + } + + base.WndProc(ref m); + } + + #endregion + + #region Keyboard event handling + + protected override void OnKeyUp(KeyEventArgs e) { + base.OnKeyUp(e); + + //ALT + if (e.Modifiers == Keys.Alt) { + if (e.KeyCode == Keys.Enter) { + e.Handled = true; + IsFullscreen = !IsFullscreen; + } + + else if (e.KeyCode == Keys.D1 || e.KeyCode == Keys.NumPad1) { + FitToThumbnail(0.25); + } + + else if (e.KeyCode == Keys.D2 || e.KeyCode == Keys.NumPad2) { + FitToThumbnail(0.5); + } + + else if (e.KeyCode == Keys.D3 || e.KeyCode == Keys.NumPad3 || + e.KeyCode == Keys.D0 || e.KeyCode == Keys.NumPad0) { + FitToThumbnail(1.0); + } + + else if (e.KeyCode == Keys.D4 || e.KeyCode == Keys.NumPad4) { + FitToThumbnail(2.0); + } + } + + //F11 Fullscreen switch + else if (e.KeyCode == Keys.F11) { + e.Handled = true; + IsFullscreen = !IsFullscreen; + } + + //ESCAPE + else if (e.KeyCode == Keys.Escape) { + //Disable click-through + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + //Toggle fullscreen + else if (IsFullscreen) { + IsFullscreen = false; + } + //Disable click forwarding + else if (ClickForwardingEnabled) { + ClickForwardingEnabled = false; + } + } + } + + #endregion + + #region Fullscreen + + bool _isFullscreen = false; + Point _preFullscreenLocation; + Size _preFullscreenSize; + FormBorderStyle _preFullscreenBorderStyle; + + public bool IsFullscreen { + get { + return _isFullscreen; + } + set { + if (IsFullscreen == value) + return; + if (value && !_thumbnailPanel.IsShowingThumbnail) + return; + + CloseSidePanel(); //on switch, always hide side panels + + //Location and size + if (value) { + _preFullscreenLocation = Location; + _preFullscreenSize = ClientSize; + _preFullscreenBorderStyle = FormBorderStyle; + + FormBorderStyle = FormBorderStyle.None; + var currentScreen = Screen.FromControl(this); + Size = currentScreen.WorkingArea.Size; + Location = currentScreen.WorkingArea.Location; + } + else { + FormBorderStyle = _preFullscreenBorderStyle; + Location = _preFullscreenLocation; + ClientSize = _preFullscreenSize; + RefreshAspectRatio(); + } + + //Common + GlassEnabled = !value; + TopMost = !value; + HandleMouseMove = !value; + + _isFullscreen = value; + + Program.Platform.OnFormStateChange(this); + } + } + + #endregion + + #region Thumbnail operation + + /// + /// Sets a new thumbnail. + /// + /// Handle to the window to clone. + /// Region of the window to clone or null. + public void SetThumbnail(WindowHandle handle, ThumbnailRegion region) { + try { + System.Diagnostics.Trace.WriteLine(string.Format("Cloning window HWND {0} of class {1}.", handle.Handle, handle.Class)); + + CurrentThumbnailWindowHandle = handle; + _thumbnailPanel.SetThumbnailHandle(handle, region); + + //Set aspect ratio (this will resize the form), do not refresh if in fullscreen + SetAspectRatio(_thumbnailPanel.ThumbnailPixelSize, !IsFullscreen); + } + catch (Exception ex) { + System.Diagnostics.Trace.Fail("Unable to set thumbnail.", ex.ToString()); + + ThumbnailError(ex, false, Strings.ErrorUnableToCreateThumbnail); + _thumbnailPanel.UnsetThumbnail(); + } + } + + /// + /// Enables group mode on a list of window handles. + /// + /// List of window handles. + public void SetThumbnailGroup(IList handles) { + if (handles.Count == 0) + return; + + //At last one thumbnail + SetThumbnail(handles[0], null); + + //Handle if no real group + if (handles.Count == 1) + return; + + CurrentThumbnailWindowHandle = null; + _msgPumpManager.Get().EnableGroupMode(handles); + } + + /// + /// Disables the cloned thumbnail. + /// + public void UnsetThumbnail() { + //Unset handle + CurrentThumbnailWindowHandle = null; + _thumbnailPanel.UnsetThumbnail(); + + //Disable aspect ratio + KeepAspectRatio = false; + } + + /// + /// Gets or sets the region displayed of the current thumbnail. + /// + public ThumbnailRegion SelectedThumbnailRegion { + get { + if (!_thumbnailPanel.IsShowingThumbnail || !_thumbnailPanel.ConstrainToRegion) + return null; + + return _thumbnailPanel.SelectedRegion; + } + set { + if (!_thumbnailPanel.IsShowingThumbnail) + return; + + _thumbnailPanel.SelectedRegion = value; + + SetAspectRatio(_thumbnailPanel.ThumbnailPixelSize, true); + + FixPositionAndSize(); + } + } + + const int FixMargin = 10; + + /// + /// Fixes the form's position and size, ensuring it is fully displayed in the current screen. + /// + private void FixPositionAndSize() { + var screen = Screen.FromControl(this); + + if (Width > screen.WorkingArea.Width) { + Width = screen.WorkingArea.Width - FixMargin; + } + if (Height > screen.WorkingArea.Height) { + Height = screen.WorkingArea.Height - FixMargin; + } + if (Location.X + Width > screen.WorkingArea.Right) { + Location = new Point(screen.WorkingArea.Right - Width - FixMargin, Location.Y); + } + if (Location.Y + Height > screen.WorkingArea.Bottom) { + Location = new Point(Location.X, screen.WorkingArea.Bottom - Height - FixMargin); + } + } + + private void ThumbnailError(Exception ex, bool suppress, string title) { + if (!suppress) { + ShowErrorDialog(title, Strings.ErrorGenericThumbnailHandleError, ex.Message); + } + + UnsetThumbnail(); + } + + /// Automatically sizes the window in order to accomodate the thumbnail p times. + /// Scale of the thumbnail to consider. + private void FitToThumbnail(double p) { + try { + Size originalSize = _thumbnailPanel.ThumbnailPixelSize; + Size fittedSize = new Size((int)(originalSize.Width * p), (int)(originalSize.Height * p)); + ClientSize = fittedSize; + RefreshScreenLock(); + } + catch (Exception ex) { + ThumbnailError(ex, false, Strings.ErrorUnableToFit); + } + } + + #endregion + + #region Accessors + + /// + /// Gets the form's thumbnail panel. + /// + public ThumbnailPanel ThumbnailPanel { + get { + return _thumbnailPanel; + } + } + + /// + /// Gets the form's message pump manager. + /// + public MessagePumpManager MessagePumpManager { + get { + return _msgPumpManager; + } + } + + /// + /// Gets the form's window list drop down menu. + /// + public ContextMenuStrip MenuWindows { + get { + return menuWindows; + } + } + + /// + /// Retrieves the window handle of the currently cloned thumbnail. + /// + public WindowHandle CurrentThumbnailWindowHandle { + get; + private set; + } + + #endregion + + } +} diff --git a/OnTopReplica/MainForm.resx b/OnTopReplica/MainForm.resx new file mode 100644 index 0000000..5ef7664 --- /dev/null +++ b/OnTopReplica/MainForm.resx @@ -0,0 +1,321 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + + 142, 17 + + + 275, 17 + + + 578, 17 + + + 399, 17 + + + + + AAABAAIAMDAAAAEAIACoJQAAJgAAABAQAAABACAAaAQAAM4lAAAoAAAAMAAAAGAAAAABACAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAYAAAAOAAAAFwAAACAAAAAnAAAAKwAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAAKwAAACcAAAAfAAAAFwAAAA0AAAAGAAAABgAAAA4AAAAdAAAALQAAAD0AAABIAAAATgAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATgAAAEgAAAA9AAAALQAAABwAAAANAAAACwAAABkAAAAwAAAARwAA + AFsAAABpAAAAcAAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcAAAAGkAAABdAAAASAAAAC8AAAAYAAAAEQAA + ACQAAABBAAAAbAoKC6QYGBiyFhcXtBcXF7QXFxe0FxcXtBcXF7UXFxi0FxcYtBcYGLQXGBi0FxgYtBgY + GLQXGBi0FxcYtBcXF7QXFxe0FxcXtBcXF7QXFxe0FxcXtRcXF7UXFxe1FxcXtBcXF7QXFxe0FxcXtBYX + F7QWFhe0FhYXtBYWFrQWFhe0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe0GBgYtQEBAqYAAAB5AAAAXwAA + AEEAAAAkAAAAFwAAACwAAABdOTk3u46IgKWTjIKUkYiAk4yEepKHf3WQhHtyj4B5b45+eG2NfHVrjHly + Z4t5cmeLeXFni3huZot5b2aLe3JoioB3bIuDe3KMiH92jIyCeIyMhXqNjYZ7jo2HfI+Ph36PkId/j5GI + f4+SiX+PkomAj5OLgJCTjIKQk4yCkJSMgpCTi4GQj4h+joyEeo2LgniMjIN5jY+HfY6RiYCPkoqAjn55 + c7IXFxe1AAAAcQAAAFAAAAAuAAAAGwAAADAJCQmJkoyGrJ6ViXCypp2Fv7OskL2yq5G6r6ePt6yljbWr + o4yzqqGLsaefirClnYmupJ2JrqOdia6inYqvpJ2JsqafibSqo4m4raeKu7Gqiryyq4u8s6uLu7OsjLyz + rYy8s62MvbOujb20ro29ta6NvbWujry2ro67tq6OvLaujr23r468ta6OurOsjLiyq4u3sayLubOvjLu0 + so20ramGnpWNdJ+ViGxnZWG9AAAAiQAAAFYAAAAzAAAAHAAAADIREhKSqaGapbK4splz3ePrceDn8nPg + 5/N14OfzduDm83nh5fN84uXyf+Lk8oLj5PKF4+Lyh+Pi8onk4PKM5d/yj+Xf8pPm3/KX6ODynOni8qDq + 4/Kk7OLyqO7i863w4vKy8+Hytvbh87z44fPE+uHzzvvk89776vPs+/Pz+fv58//7/fP/+/7z//v98v/7 + 9/L8++3y9/vi8/b70fPz+b7u1da5u6mim3V/fHe1AAAAkQAAAFkAAAA2AAAAHQAAADMQEBCRsKiirMLO + ybBI3eT/PNnf/z3Z2v8+2df/P9nV/0HZ0/9G2tL/StvQ/0vbzv9O28v/UNzJ/1Pcx/9W3sX/WuHD/13k + wv9i6ML/aO/E/3D1x/99+s7/jP3W/53/4P+y/+r/xf/x/9r/+f/v//3/9//8//n//P/6//r/8v/r/+H/ + 3v+//dr/t/3Z/8L+zv/K/7H/1f2b/9r8jv/X/Yz/0Oa+1r2zsYJ+e3e4AAAAkQAAAFoAAAA3AAAAHQAA + ADMPDw+RtKumr8bSz7Y809n/L9DT/zLQ0f8zz8//NNDL/zfQyf860Mj/PNHF/z3Sw/9A1cH/RdnC/0re + xP9S5cj/W+zN/2by0/9x+Nj/e/3d/4L/4P+L/+T/mf/o/6n/6/+5/+z/xP/n/8f/2/+//8z/tPy//6X5 + tf+Z96//jPar/3j1rP9z97j/gvrD/4X9yf+Q/cv/qvu5/7jtkf+112f/z9mt2cW9u4iAfXm5AAAAkQAA + AFoAAAA3AAAAHQAAADMPDw+Rta6osMfT0Lc40tX/LM/Q/zHQz/8y0c7/NdTO/znXz/8/29H/ROHV/0zo + 2P9T7tz/WvTg/2D54v9l++H/avzf/27+3f90/9v/ev/a/4H/1/+K/tT/kPzL/5H4v/+N87D/he6f/4Dp + k/+B5o3/huWK/4/liP+W5of/muaG/5zihv+e2ob/pNeJ/6ncjP+s5pD/pO6U/5/wlv+h4oX/ytu32si/ + vYuCf3u6AAAAkQAAAFoAAAA2AAAAHQAAADMPDw+Rt6+qscnV0bk+2Nf/M9nV/zrd2P9A4tz/Rejf/0jq + 4P9J6tv/TOrW/07o0P9P5sn/UefD/1Xqwf9c8ML/ZPXC/2v3wP9v8rn/cOqv/27iof9r25X/a9mN/3TZ + jP9924v/gtuH/4fbgv+I2n7/itR6/4nNdP+HxW3/iL5o/4y4YP+St1X/k7ZL/5S1Tv+ZtlX/pL5d/67L + Yv+x123/0uC828rCwI2DgHy7AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RuLCss8rX07pG4dz/Od7W/zzb + 0f8/2s3/P9jI/0DUwv8/0Ln/Q9G2/0rXuP9S3rr/WuS9/1/kuf9f3rD/X9ai/1/Pl/9hzJD/Zc+M/2zT + if9x1oj/d9eE/37Vg/+D0X//fshz/3m+aP95uGP/e7Nf/3+wXP+FsFb/jLVR/4+8Uv+QwFv/k8Rk/5zF + Zf+hw2D/pMBY/6i7Uv+ps0D/0M+i3M3Hx5CEgX68AAAAkAAAAFoAAAA2AAAAHQAAADMPDw+RubKutMvW + 0rs/ysH/MsS3/zbDtP87x7b/Qc27/0bVwP9L2b//Ttq7/1HWs/9T0Kn/Vcqh/1jImv9dy5X/Y9CS/2nT + kP9u1Yz/cNOG/3DOfv9wx3X/cMJv/3vDcf+GxnH/gsFl/4G/Xv+Iv17/jMNc/5DHXP+QzGH/jM9u/4vL + c/+OwWz/j7lg/5GyVP+SqEn/lqJB/5icOv+WkSr/yMOb3NDMypGFgn+9AAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+RurOvtszW0bxCxbj/OMa2/0DNu/9F0r3/SdS9/0rSt/9LzKz/TMik/1HLoP9a0aH/Y9ih/2vc + nv9w3Jf/cdqP/3PXiP931YH/etV8/37Vdv+A1HD/hdNq/5XUbv+Z027/icll/4HGYv+Dx1z/hcJU/4K3 + VP99qVX/fJ1J/3yTPP97izT/fIYv/4CDK/+EgSj/iIAn/4uBJv+MfBr/xr2W3dPPzZOHhIG9AAAAkAAA + AFoAAAA2AAAAHQAAADIPDw+RvLWwts7Z071K0L7/Psq0/0LKr/9HzK3/T9Ox/1jdtv9f5bf/Y+q0/2rt + r/9y7Kn/eeqj/4Hmnf+C4pT/gNyK/3/Tfv99zHP/e8Rp/3e7Yf9ysl3/b69h/3e2cf9zuHD/aa9Z/3Gn + Qv94nDT/dI4v/3KGKv90gyb/doIk/3d/I/94fCH/enog/3x4IP+AeCD/g3kg/4d6Iv+Idhf/xLuW3tbR + 0JWHhIG+AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvLWxuM/Z075W173/Utq7/1riv/9h6cL/aOzC/23t + v/9s6bP/aeCl/2nVl/9pzIz/bcSB/3C8d/9ts23/Z6lj/2SiXf9hnVv/XZpb/1yZXP9cnFv/ZaVZ/3aw + U/94pjv/cY8n/2+EJP9sgCX/bH4k/3B+I/92gCL/en8f/3p7Hv95eB7/eXcd/3t1Hv9+dR7/gHYf/4R3 + H/+FchX/w7qW3tfT0peHhYK/AAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RvbazuNHb1b9k3r//WNez/1bP + qP9Tx5z/U7+U/1O5jv9Ss4T/UKp2/1Cha/9Tnmb/Wp5j/2ChZP9gn2L/XJld/1yYXP9cmFf/XphQ/2Sa + R/9nmDr/cJkv/32dKf92jyT/an0h/2p9If9ufyD/cn4e/3V+Hf98gB3/fX8c/3t6HP95dhz/eHQb/3lz + HP97cxz/fXQc/4J0Hf+CbxL/wrmV3tjU1JiIhoPAAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+Qvbe1udDY + 0sBPt5b/QauH/0Khff9CnXT/RZ1y/0iecP9Lnm3/S5pn/0yVYv9QlGD/WZlf/2KhXv9ln1n/YplS/2WZ + TP9nmEP/aJQ5/2aNLP9mhST/dI0i/3+WI/9yhx//aXkc/2x7G/9xfhr/dYEa/3qAGv+Agxr/f4AZ/3x7 + Gv95dhr/eHIZ/3hxGv95cRn/fHEa/4ByG/+AbBD/wbiU39nW1pqIhoPAAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDw+Qvrq2utDW0MFJo4D/P5xz/0KVbP9BkWb/RJJl/0eVZ/9LmGb/TZZh/0+TW/9UlFf/X5pU/2ui + U/9uoUz/bZtD/2+YO/9oji//ZIQl/2Z/IP9ugB3/e40e/32QHv9xgRv/a3kY/298F/90gRf/eYMY/36D + F/+Ehhj/g4IY/358GP96dhj/d3IY/3dwGP94bxj/em8Y/31wGf99ag7/wbiU4NzY15uJh4TBAAAAkAAA + AFoAAAA2AAAAHQAAADIPDw6Qv7q3u9DWz8FJnnT/QJdq/0KPZP9Di1//RYxd/0mQXP9Ok1r/UJNW/1OS + Uf9ak0z/aJxI/3ilRP96oT3/b5Qx/2yMKP9pgyH/a4Ac/219Gf9wfhj/eosa/3yOGv9xfxf/bnwW/3J/ + Ff96hBX/fYMW/4GFFv+Hhxb/hYMW/398Ff97dRb/eHIW/3dvFv93bhb/eG4W/3xuF/97aAz/wLiU4N3Z + 2JuJh4TBAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6Qv7u4u9DWz8JLmm3/QpRh/0SNWv9Fh1P/SYhR/0yL + T/9Rjk7/V5RK/12XRv9mmUD/dqI8/4GmNf93mCz/booj/3OKHv9yhBr/cH8V/257FP9ygBb/fY8Y/36P + GP9ygBT/cn4U/3iDFP+AiBT/foUT/4aIFP+IiBT/hYMU/398E/98dhP/eXMU/3hwFP93bRX/d20V/3tt + Ff94Zgr/wLeT4N3Z2p2KiIXBAAAAkAAAAFoAAAA2AAAAHQAAADIODg6QwLy5vNHWz8JOmGP/RpNW/0eK + UP9Igkj/SoJG/1CIQ/9blEL/ZJs+/2qfO/9zoTX/eJ0s/32aJP95kiD/doob/3uMGf92hRb/cYAU/258 + Ev92hRP/g5MV/4WSFf92gxL/eIMS/3+HEv+EjBL/gYcR/4mKEf+IiRL/hIMS/4B8EP98dxH/e3QS/3lx + E/93bhP/eG0T/3lsFP93ZQn/wLeT4d7a252KiIXCAAAAkAAAAFoAAAA2AAAAHQAAADIPDg6QwLy5vNHW + zcNRlFj/SZJN/0yIR/9MgD//VYs8/2CXOv9lmDf/bqU1/3CgL/9tjiX/d5Eg/4OaHv9/khz/e4sX/4KN + Fv96hhT/dIAS/3N/Ef9/ixP/i5kU/4qVFP98hhH/fogR/4WNEf+GjRH/hYkO/4mLD/+IiA//hIEQ/398 + D/99eA//fXYQ/3xzEf96bxL/eW0S/3ptEv93Zgf/wLiS4d7a256LiIbCAAAAkAAAAFoAAAA2AAAAHQAA + ADIPDg6QwLy6vNLVzcNUklD/S5BD/1OOP/9elTr/YZQ0/2WYMf9urC//apgn/2WCIP9wiR7/f5Uc/4qb + Gv+Fkhr/gIsV/4SNE/98hhL/eIEP/3mDEP+GkhL/kp4S/4uWEf+Aig//gosO/4qREP+IjQ//iYsN/4uM + Df+Ihgz/hIEO/4B7Df9/eA3/gXgP/4B1D/9+chD/fW4R/3xtEf95aAb/wbmS4d/c3J+LiYbCAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Rwby6vdLVzMRVkUf/WZ89/2WjOv9gjzD/ZKAu/2muLf9ljST/ZH0f/2uE + Hf93jRv/hZYY/4+bF/+Ikhr/gooS/4OMEP99hg7/eoIO/36HDv+NlxD/l6AQ/42VD/+FjQ3/h44N/4+U + D/+IjA7/jYwM/46KDP+JhAr/gn8M/396C/+BeAz/g3gN/4J1Df+Acw7/fm8P/31uD/98awT/wruS4d/c + 3J+LiYbDAAAAkAAAAFoAAAA2AAAAHQAAADIPDw+RwLy7vtPWzMRjo0L/YaY2/1+XMf9lri7/YqQp/1x+ + If9lgB7/aoIc/2+FGv99jRf/i5YV/5KaFv+JkBj/gogP/4OLDf9/hgz/fIML/4OKDP+Umw7/nKEP/42T + Df+Ijgz/jJEM/5CWDf+Liwz/kY4K/4+KC/+Jgwn/gn0K/4B5Cv+CeAv/g3gM/4N2Df+Acw3/f28N/35v + Df9+bgP/w72S4d7c3KCLiYbDAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Rwr27vdTYzMRfmTv/W6Ew/2a+ + M/9emCj/WHUf/197Hf9ogxv/bIIY/3KFF/+AjhT/jZcT/5KZFv+IjhX/gogM/4WJDP+AhQr/f4UJ/4iO + C/+ang3/naEN/42SC/+LkAv/kZUL/5KUC/+OjAn/lI8J/4+JCf+Jgwj/g30J/4F5CP+DeQj/g3gK/4J2 + C/9/cgz/fm8L/4BxDP+AcQL/xL6R4d/b3KCLiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw+Qwr28vtPU + y8Rgojn/YcEx/1uXKf9Zdx//W3gb/2F8Gf9rgxf/bYEV/3WFE/+DjhL/j5YP/5KXE/+HjBL/g4gK/4WJ + Cf+ChQj/gYYI/46SCP+eoQv/naAL/42RCf+OkQr/lpgK/5ORCf+Sjgj/lI8I/4+JCP+Jggf/g30G/4F6 + Bv+DeQf/gncJ/4F0Cv9+cQr/fW8J/4ByC/+BcwD/xL+R4t3a26GKiIXEAAAAjwAAAFoAAAA2AAAAHQAA + ADIPDw+Qwby8v9XczMVhuDf/VpEl/1qFIv9bfBz/XHcZ/2J7Fv9rgRT/b4AR/3eFEP+FjRD/jpUL/5GV + EP+GihD/g4YH/4WIB/+ChAf/hIYH/5SVB/+hogr/nJ0J/5GRB/+Tkgj/mZgJ/5KPCP+VkAf/lY8H/4+I + B/+Jggb/hH0F/4J6Bf+CeAb/gnYH/350CP97cAj/e3AI/4F0Cv+BdQD/xL+R4t3Y26KKiIXEAAAAjwAA + AFoAAAA2AAAAHQAAADIPDw+Qwb69v9TWy8ZZhCz/Voof/1yJIP9cexn/XHYW/2N5FP9sfxH/bn8O/3mE + Df+EjQz/jZMI/5GUEP+FiQ3/hIUF/4aGBf+ChAb/hocF/5iYBv+jpAb/m5oH/5ORB/+WlQb/mZcH/5KP + Bf+XkQb/lY4F/46HBv+IgQX/hHwE/4N7BP+CeAX/f3UG/3xyBv96bwb/e3EG/4J2Cf+CdwD/xL+Q4tzZ + 26KKiIXEAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw769v9TVy8ZXgin/V4sc/1yKHv9behj/XXQV/2N3 + Ev9rfA//b30N/3mCDP+Eiwv/jJEI/5CSEv+Ehgz/g4QD/4WFBf+CgwX/iokF/5uaBv+jpAX/mJYF/5OQ + Bv+Ylgb/lpMG/5SPBf+YkQb/k4sG/42EBv+HfwT/hHwD/4N7BP+AeAX/fXQE/3pwBf93bgb/enEG/4B2 + CP+CdwD/xMCP49zZ26OKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDw6Qw7++wNXVzMZYgCj/Voob/12K + G/9cehb/XXIT/2J1EP9rew7/bXwM/3iBC/+Eigr/io8H/46RE/+ChAn/gYID/4ODBf+Cggb/jYsF/52c + Bf+iogb/lZMF/5OQBv+YlQb/k48G/5WOBv+Xjwb/kIkG/4uCBv+FfQT/g3wD/4N6Bf9/dQX/enEE/3Vu + BP90bgX/eHEG/393CP+BeQD/xMGO49vZ26SKiIXFAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6RxMC+wNXW + zMZZfib/V4kY/16KGf9behX/W3AS/2JzD/9peQz/bHoL/3eACf+DiQj/io0H/46QFf+Aggj/gIED/4GC + BP+BgQX/j40F/5+dBv+hngX/lI8G/5WQBv+YkwX/kosF/5aOBf+VjAb/j4YF/4iABf+EewP/g3sE/4J4 + Bf9+dAT/d3AE/3JtBP9ybQT/d3IF/3x3B/+AeQD/wb6N49vY26SJiIXGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QxMC/wNbWzMZZfCP/WIYV/16KGP9ceRT/XG8Q/2FxDf9odwz/bXgK/3Z/CP+Bhwj/iYsH/42O + Ff9+gAf/f4AE/3+AA/+CgQT/ko8G/6CeBv+emQb/kowH/5WPBv+VkAX/kYkG/5eMBv+TiQX/jYMF/4d+ + BP+DegP/g3kE/4B2BP98cgT/dW4E/3BrA/9xbQT/dXEF/3t4Bv97dwD/vbqN49za26WJiIXGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QxcG/wNbXzcdXeiH/V4QT/16JFv9deRL/W24N/19wDP9ndAv/bHYJ/3V9 + B/+Bhgf/iIkH/4yNFv98fgX/fn4D/35+A/+DgAT/lJEF/6GeBv+alAb/kYkH/5WOBf+SiwX/kIcH/5aK + Bv+QhQX/i4EF/4Z8BP+CeAX/gXYF/35zBP96cAT/c2wE/29qA/9xbQP/dHEE/3t6Bf9zcAD/uriN493a + 26WKiIXGAAAAjwAAAFoAAAA2AAAAHQAAADIPDg6Qx8PBwdbXzcdWeB//V4IS/16IE/9ceRD/WmwN/15u + C/9lcgn/anUH/3V8B/+BhAb/hocG/4uLGP96ewX/fH0E/3x8A/+EgQT/lZMF/6GdBv+Vjwb/kIgF/5ON + Bf+PhwX/kYYG/5OHBf+MggX/ioAE/4R5BP+BdwX/gHUE/3xyBP92bgT/cGsE/29qA/9wbAP/c3ED/3l4 + Bf9taQD/ubWN493a26WKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8PCwdjYzsdWdR//VX8P/12G + Ef9cdw7/WWoN/15sCv9jcQj/anMG/3R7Bv9/gwX/hIUG/4mJGf94eAP/ensE/3p6BP+FggT/l5QE/56b + Bf+PigX/j4YG/5CJBf+MgwX/kYUG/5CDBf+KfwT/iH8D/4F3Bf+AdQT/fnME/3pwBP9zbAT/cGoD/29q + A/9vbAP/dHID/3RzBf9nYgD/trOM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAAADIODg6Qx8TDwdjY + zsdVch3/U3oN/1yEEP9cdg3/WWkL/11rCP9icAf/aXEG/3N5Bv9+gQT/goQH/4aHGf91dgL/eHgF/3l4 + BP+GgwP/mZQF/5uXBf+MhQX/jYYF/42FBP+JgAT/j4ME/4uABP+JfgT/hXsE/390BP9/dAT/fHIE/3du + BP9yawP/b2oD/29rA/9vbAP/c3MD/25tA/9hXQD/tLKM493a3KaKiIbGAAAAjwAAAFoAAAA2AAAAHQAA + ADIODg6QycXEwdnZz8dUbxv/UnYM/1uBDv9cdQv/WWkJ/1tpB/9gbgX/aHEF/3J3Bv97fgP/gIII/4SF + GP9ycwL/dnYF/3h3BP+IhAT/mJQF/5aSBP+IggX/ioMF/4iAA/+IfwT/jYEE/4d9BP+HfgT/gXgE/39z + BP99cgT/enAE/3RtBP9wagP/bmoD/25rA/9wbQP/cXED/2lnAv9cWAD/s7CL497a3KaKiIbGAAAAjwAA + AFoAAAA2AAAAHQAAADIODg6QysfFwdna0MhTbRn/UXIL/1t+Df9bdAr/WGgI/1pnB/9fbAb/Zm8F/3F2 + BP95fAL/f4EK/4KCFv9wcQL/dXQE/3d2BP+JhQT/mJQF/5GMBf+GfwX/hn8E/4N7BP+IfgT/iX4E/4V7 + A/+GfAT/fXQE/31yBP97cQT/d24E/3FrA/9uaQL/bWoC/21qAv9xbwP/bWwD/2RiA/9XVAD/sa6L5N/b + 3KiKiIbHAAAAjwAAAFoAAAA2AAAAGwAAADEODg6PysfFwdjYzsZRaRb/TW0G/1d6Cf9YcQb/VGUE/1dk + BP9caAP/ZGwB/25zAP92eQD/fX8K/31+Ev9sbQD/cXAB/3Z1Af+IhQL/lZEC/4uEAf+BewL/f3gB/393 + Av+EewH/hHoB/4N4Af+CeAH/eG8B/3lvAv93bgH/cmsC/21oAP9rZwD/a2cA/2tpAP9ubQD/ZmUA/2Bd + AP9STgD/rquJ497b3KeKiIbHAAAAjQAAAFgAAAA1AAAAGAAAACwQDw+MysbEv9LRx71WbR3+U3AP/1x7 + EP9ddQ7/WmoN/11pDv9jbQz/anEK/3N4C/96fAr/gYMX/36BGv9wcQj/dXQL/3t7DP+Niw3/l5QN/4qE + Df+Efg3/f3kM/4N8DP+IgAv/hnwM/4h/DP+CeQz/fXQM/310DP95cwz/dW8L/3JtCv9xbQn/cW0K/3Jx + Cv9xcAr/aWgL/2RiCv9WUgf/qaaH2tjV1aGMiojGAAAAiQAAAFIAAAAwAAAAFAAAACQLCwuCv7y4v9XR + y6PMzcDB0tTGzNTWx87V1sfO1NXHztXVx87V1cfP1tbHztjXx87Y18fO2dfIztfWx8zV1MXL1dPDytXU + w8nX1cPJ2NbDydbUw8jW08PI1dPDydbTw8nX1MPJ1tPDytfUxMrW1MTK1tPDytbTxMvW08TL1tTFy9bT + xcvV0sPL1NHDzNPRwszS0cLM0c/CzNHOwszJx7vFxsK7sM3IxJmEgoDGAAAAewAAAEYAAAAoAAAADgAA + ABoAAABTaWhmx9jUzrLg3Nmr4t3br+Ld26/j3tuv497br+Pf26/i39uw4d/br+He26/h3duv4Nvart7a + 2Kzc2Nap29bTqNnV0qfY1NGn2NPRp9jV0abZ1NGm2tTRpdnV0abZ1NKn2dTTqNrW1Kjb1tSo29bUqdzW + 1and2Nap3dnWqd3X1qra1tSq2NTTrNfU0qzX09Ks19PSrNfT0q3W0c+r0MvHp766tr0xMTC4AAAAVwAA + ADUAAAAeAAAACQAAABIAAAAnAAAAZzMzMqtPTk20TEtKs0tLSrRMS0q0TEtKtExLSrRMS0q0S0tKtEtL + SrRLS0q0S0tKs0tKSbNKSUmzS0pIs0pKSbNKSkizSkpIs0pKSLNLSUizS0pJsktKSbJLSkmzS0pJs0tK + SbNLSkmzTEpJs0xKSbNMSkmzTEpJs0xKSbNLSkmzS0pJs0tKSbNLSkmzS0pJs0tJSbNLSkm0TUxLth4d + HaMAAABeAAAAOAAAACUAAAATAAAABQAAAAsAAAAWAAAAIQAAAC0AAAA3AAAAOgAAADoAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADoAAAA7AAAAOgAAADMAAAArAAAAIQAAABUAAAALAAAAAgAAAAQAAAAJAAAADgAAABMAAAAXAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGAAAABcAAAATAAAADgAAAAgAAAAEAAAAAAAAAAEAAAACAAAABAAA + AAcAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAkAAAAHAAAABAAAAAIAAAABAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAA + AAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA8gQAAAAAAADyBAAAAAAAAPIEAAAAAAAA + 8gQAAAAAAADyBIAAAAAAAPIEKAAAABAAAAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ABEAAABAAAAAVwAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFUAAABXAAAATAAA + AB8EBAQ+VlRQlXNybqFqamaeZ2dinWZkYJxqaGOdcG5pnXFwa550cm2feXRxn350c597cW+efHVwnU1K + RZgAAQFUFw4NUI+5uMNY4+b0Xt7b9Gbh2PRv59bzf/La9JP84vSx/+r0z//p9Nv/4vTP/930yv/Z9N// + ufKnp5OvAwEEZRkPDk6Eu7nPLtvX/zrbz/9F4Mn/VOrF/2Xuvf9y667/guWe/4nciP+K1Hf/jM5v/5bO + b/+v2HT/paeTuwQCBmIZDxBPirmy0D/Wwf9Q273/W9yt/2vZm/9x0IT/csZw/33Eav99tlT/fqdG/4Cb + QP+FjjH/mZAz/6SfjL0FBQhjGBAST5G6rtFOyqT/VsCS/1mze/9mrGv/ZqFZ/2WXRP9zmDT/bYIh/3V9 + HP96eBn/d28X/4p7Jf+kno3ABQYJYxkTFlCOq5vTPpFi/0eLV/9WlE//b51B/26NKv9tgBn/d4YX/3N+ + Ff+ChhX/gH0W/3ZuFP+FdyH/pZ+OwQYGCWMZFBhQkKiR1EuNRv9dlDr/bZgu/4CWHv98iBT/eoUR/4SQ + Ev+CihD/iYoP/4F9D/97cQ//hHYc/6Wgj8MGBgljGBQZUJasidReozD/Y40i/3OHGP+MlRX/gYgO/4iP + Df+RmA3/jZEM/42JCv+Cewr/gXQK/4l6F/+noo/EBgYJYxgUGlCXroXVWI8f/2J4Ff97iBD/jZIO/4OF + CP+TlQf/mJkI/5WSCP+PiAb/g3oF/31yBf+KfhP/p6OOxQYGCWMZFhtQlaOB1VeCFf9idRD/eoQK/4qM + C/+CggT/mJYF/5iVBv+WkAX/jIQF/4J4BP92bgP/h4AR/6ajjcYGBgljGRYcUJaif9ZYgA//YHAM/3d/ + CP+Ghwv/gIAE/5mVBv+UjQb/kogG/4h9BP99cwT/cGsB/4B+D/+joYzGBgYKYxoXHVCWoH7XU3cG/1tq + Bf9yeAL/fX4I/317AP+TjgH/ioIB/4p+Af+AdQD/dWwA/21pAP90cgn/oJ2MyAcHCmQaGB1RoaiK1maC + HP9teh3/gYYb/4mKIf+Nixr/m5Yb/5KKG/+Uihv/i4Eb/4F7Gv9+exf/fHoi/6WilMcHBwpjBgYHMXp5 + dKCcnZG2mZiNtJqZjbWZl4yzmJaIsJiWiLCYlYiwmZaJsZmVirGYlYqylpSJs5mXjbRqaGadAQEBPQAA + AAUAAAAeAAAAKgAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAArAAAAIwAA + AAoAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxB + + + \ No newline at end of file diff --git a/OnTopReplica/MainForm_ChildForms.cs b/OnTopReplica/MainForm_ChildForms.cs new file mode 100644 index 0000000..b9cdbac --- /dev/null +++ b/OnTopReplica/MainForm_ChildForms.cs @@ -0,0 +1,93 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Drawing; + +namespace OnTopReplica { + + partial class MainForm { + + //SidePanel _currentSidePanel = null; + SidePanelContainer _sidePanelContainer = null; + + /// + /// Opens a new side panel. + /// + /// The side panel to embed. + public void SetSidePanel(SidePanel panel) { + if (IsSidePanelOpen) { + CloseSidePanel(); + } + + _sidePanelContainer = new SidePanelContainer(this); + _sidePanelContainer.SetSidePanel(panel); + _sidePanelContainer.Location = ComputeSidePanelLocation(_sidePanelContainer); + _sidePanelContainer.Show(this); + } + + /// + /// Closes the current side panel. + /// + public void CloseSidePanel() { + if (_sidePanelContainer == null || _sidePanelContainer.IsDisposed) { + _sidePanelContainer = null; + return; + } + + _sidePanelContainer.Hide(); + _sidePanelContainer.FreeSidePanel(); + } + + /// + /// Gets whether a side panel is currently shown. + /// + public bool IsSidePanelOpen { + get { + if (_sidePanelContainer == null) + return false; + if (_sidePanelContainer.IsDisposed) { + _sidePanelContainer = null; + return false; + } + + return _sidePanelContainer.Visible; + } + } + + /// + /// Moves the side panel based on the main form's current location. + /// + protected void AdjustSidePanelLocation() { + if (!IsSidePanelOpen) + return; + + _sidePanelContainer.Location = ComputeSidePanelLocation(_sidePanelContainer); + } + + /// + /// Computes the target location of a side panel form that ensures it is visible on the current + /// screen that contains the main form. + /// + private Point ComputeSidePanelLocation(Form sidePanel) { + //Check if moving the panel on the form's right would put it off-screen + var screen = Screen.FromControl(this); + if (Location.X + Width + sidePanel.Width > screen.WorkingArea.Right) { + return new Point(Location.X - sidePanel.Width, Location.Y); + } + else { + return new Point(Location.X + Width, Location.Y); + } + } + + void SidePanel_RequestClosing(object sender, EventArgs e) { + CloseSidePanel(); + } + + void Thumbnail_CloneClick(object sender, CloneClickEventArgs e) { + Win32Helper.InjectFakeMouseClick(CurrentThumbnailWindowHandle.Handle, e); + } + + } + +} diff --git a/OnTopReplica/MainForm_Features.cs b/OnTopReplica/MainForm_Features.cs new file mode 100644 index 0000000..2e2586a --- /dev/null +++ b/OnTopReplica/MainForm_Features.cs @@ -0,0 +1,130 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Properties; +using WindowsFormsAero.TaskDialog; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + //Contains some feature implementations of MainForm + partial class MainForm { + + #region Click forwarding + + public bool ClickForwardingEnabled { + get { + return _thumbnailPanel.ReportThumbnailClicks; + } + set { + if (value && Settings.Default.FirstTimeClickForwarding) { + TaskDialog dlg = new TaskDialog(Strings.InfoClickForwarding, Strings.InfoClickForwardingTitle, Strings.InfoClickForwardingContent) { + CommonButtons = TaskDialogButton.Yes | TaskDialogButton.No + }; + if (dlg.Show(this).CommonButton == Result.No) + return; + + Settings.Default.FirstTimeClickForwarding = false; + } + + _thumbnailPanel.ReportThumbnailClicks = value; + } + } + + #endregion + + #region Click-through + + bool _clickThrough = false; + readonly Color DefaultNonClickTransparencyKey; + + public bool ClickThroughEnabled { + get { + return _clickThrough; + } + set { + //Adjust opacity if fully opaque + /*if (value && Opacity == 1.0) + Opacity = 0.75; + if (!value) + Opacity = 1.0;*/ + + //Enable transparency and force as top-most + TransparencyKey = (value) ? Color.Black : DefaultNonClickTransparencyKey; + if (value) + TopMost = true; + + _clickThrough = value; + } + } + + #endregion + + #region Chrome + + readonly FormBorderStyle DefaultBorderStyle; // = FormBorderStyle.Sizable; // FormBorderStyle.SizableToolWindow; + + public bool IsChromeVisible { + get { + return (FormBorderStyle == DefaultBorderStyle); + } + set { + //Cancel hiding chrome if no thumbnail is shown + if (!value && !_thumbnailPanel.IsShowingThumbnail) + return; + + if (!value) { + Location = new Point { + X = Location.X + SystemInformation.FrameBorderSize.Width, + Y = Location.Y + SystemInformation.FrameBorderSize.Height + }; + FormBorderStyle = FormBorderStyle.None; + } + else if(value) { + Location = new Point { + X = Location.X - SystemInformation.FrameBorderSize.Width, + Y = Location.Y - SystemInformation.FrameBorderSize.Height + }; + FormBorderStyle = DefaultBorderStyle; + } + + Program.Platform.OnFormStateChange(this); + Invalidate(); + } + } + + #endregion + + #region Position lock + + ScreenPosition? _positionLock = null; + + /// + /// Gets or sets the screen position where the window is currently locked in. + /// + public ScreenPosition? PositionLock { + get { + return _positionLock; + } + set { + if (value != null) + this.SetScreenPosition(value.Value); + + _positionLock = value; + } + } + + /// + /// Refreshes window position if in lock mode. + /// + private void RefreshScreenLock() { + //If locked in position, move accordingly + if (PositionLock.HasValue) { + this.SetScreenPosition(PositionLock.Value); + } + } + + #endregion + + } +} diff --git a/OnTopReplica/MainForm_Gui.cs b/OnTopReplica/MainForm_Gui.cs new file mode 100644 index 0000000..39141fb --- /dev/null +++ b/OnTopReplica/MainForm_Gui.cs @@ -0,0 +1,118 @@ +using System.Drawing; +using System.Windows.Forms; +using WindowsFormsAero.TaskDialog; + +namespace OnTopReplica { + partial class MainForm { + + /// + /// Opens the context menu. + /// + /// Optional position of the mouse, relative to which the menu is shown. + public void OpenContextMenu(Point? position) { + Point menuPosition = MousePosition; + if (position.HasValue) + menuPosition = position.Value; + + if (IsFullscreen) { + menuFullscreenContext.Show(menuPosition); + } + else { + menuContext.Show(menuPosition); + } + } + + /// + /// Gets the window's vertical chrome size. + /// + public int ChromeBorderVertical { + get { + if (IsChromeVisible) + return SystemInformation.FrameBorderSize.Height; + else + return 0; + } + } + + /// + /// Gets the window's horizontal chrome size. + /// + public int ChromeBorderHorizontal { + get { + if (IsChromeVisible) + return SystemInformation.FrameBorderSize.Width; + else + return 0; + } + } + + /// + /// Displays an error task dialog. + /// + /// Main instruction of the error dialog. + /// Detailed informations about the error. + /// Expanded error codes/messages. + private void ShowErrorDialog(string mainInstruction, string explanation, string errorMessage) { + TaskDialog dlg = new TaskDialog(mainInstruction, Strings.ErrorGenericTitle, explanation) { + CommonIcon = TaskDialogIcon.Stop, + IsExpanded = false + }; + + if (!string.IsNullOrEmpty(errorMessage)) { + dlg.ExpandedInformation = Strings.ErrorGenericInfoText + errorMessage; + dlg.ExpandedControlText = Strings.ErrorGenericInfoButton; + } + + dlg.Show(this); + } + + /// + /// Ensures that the main form is visible (either closing the fullscreen mode or reactivating from task icon). + /// + public void EnsureMainFormVisible() { + //Reset special modes + IsFullscreen = false; + ClickThroughEnabled = false; + Opacity = 1.0; + + //Restore main form in a platform-dependent method + Program.Platform.RestoreForm(this); + } + + /// + /// Opens a confirmation dialog to confirm whether to reset the main form or not. + /// + public void ResetMainFormWithConfirmation() { + var dlg = new TaskDialog(Strings.AskReset, Strings.AskResetTitle, Strings.AskResetContent); + dlg.UseCommandLinks = true; + dlg.CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, Strings.AskResetButtonOk), + new CustomButton(Result.Cancel, Strings.ButtonCancel) + }; + dlg.CommonIcon = TaskDialogIcon.Information; + + if (dlg.Show(this).CommonButton == Result.OK) { + ResetMainForm(); + } + } + + /// + /// Resets the main form to its initial state. + /// + public void ResetMainForm() { + //Reset form settings + UnsetThumbnail(); + CloseSidePanel(); + + //Reset location and size (edge of the screen, min size) + Point nuLoc = Screen.PrimaryScreen.WorkingArea.Location; + nuLoc.Offset(40, 40); + Location = nuLoc; + Size = new Size(240, 220); + + this.Show(); + this.Activate(); + } + + } +} diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs new file mode 100644 index 0000000..fbf6d99 --- /dev/null +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -0,0 +1,180 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using WindowsFormsAero.TaskDialog; +using OnTopReplica.SidePanels; + +namespace OnTopReplica { + partial class MainForm { + + private void Menu_opening(object sender, CancelEventArgs e) { + //Cancel if currently in "fullscreen" mode or a side panel is open + if (IsFullscreen || IsSidePanelOpen) { + e.Cancel = true; + return; + } + + bool showing = _thumbnailPanel.IsShowingThumbnail; + + selectRegionToolStripMenuItem.Enabled = showing; + switchToWindowToolStripMenuItem.Enabled = showing; + resizeToolStripMenuItem.Enabled = showing; + chromeToolStripMenuItem.Checked = IsChromeVisible; + clickForwardingToolStripMenuItem.Checked = ClickForwardingEnabled; + chromeToolStripMenuItem.Enabled = showing; + clickThroughToolStripMenuItem.Enabled = showing; + clickForwardingToolStripMenuItem.Enabled = showing; + } + + private void Menu_Switch_click(object sender, EventArgs e) { + if (CurrentThumbnailWindowHandle == null) + return; + + Program.Platform.HideForm(this); + Native.WindowManagerMethods.SetForegroundWindow(CurrentThumbnailWindowHandle.Handle); + } + + private void Menu_Advanced_opening(object sender, EventArgs e) { + restoreLastClonedWindowToolStripMenuItem.Checked = Settings.Default.RestoreLastWindow; + } + + private void Menu_GroupSwitchMode_click(object sender, EventArgs e) { + SetSidePanel(new SidePanels.GroupSwitchPanel()); + } + + private void Menu_RestoreLastWindow_click(object sender, EventArgs e) { + Settings.Default.RestoreLastWindow = !Settings.Default.RestoreLastWindow; + } + + private void Menu_ClickForwarding_click(object sender, EventArgs e) { + ClickForwardingEnabled = !ClickForwardingEnabled; + } + + private void Menu_ClickThrough_click(object sender, EventArgs e) { + ClickThroughEnabled = true; + } + + private void Menu_Opacity_opening(object sender, CancelEventArgs e) { + ToolStripMenuItem[] items = { + toolStripMenuItem1, + toolStripMenuItem2, + toolStripMenuItem3, + toolStripMenuItem4 + }; + + foreach (ToolStripMenuItem i in items) { + if (((double)i.Tag) == this.Opacity) + i.Checked = true; + else + i.Checked = false; + } + } + + private void Menu_Opacity_click(object sender, EventArgs e) { + //Get clicked menu item + ToolStripMenuItem tsi = sender as ToolStripMenuItem; + + if (tsi != null && this.Visible) { + //Get opacity from the tag + this.Opacity = (double)tsi.Tag; + Program.Platform.OnFormStateChange(this); + } + } + + private void Menu_Region_click(object sender, EventArgs e) { + SetSidePanel(new OnTopReplica.SidePanels.RegionPanel()); + } + + private void Menu_Resize_opening(object sender, CancelEventArgs e) { + if (!_thumbnailPanel.IsShowingThumbnail) + e.Cancel = true; + + restorePositionAndSizeToolStripMenuItem.Checked = Settings.Default.RestoreSizeAndPosition; + } + + private void Menu_Resize_Double(object sender, EventArgs e) { + FitToThumbnail(2.0); + } + + private void Menu_Resize_FitToWindow(object sender, EventArgs e) { + FitToThumbnail(1.0); + } + + private void Menu_Resize_Half(object sender, EventArgs e) { + FitToThumbnail(0.5); + } + + private void Menu_Resize_Quarter(object sender, EventArgs e) { + FitToThumbnail(0.25); + } + + private void Menu_Resize_Fullscreen(object sender, EventArgs e) { + IsFullscreen = true; + } + + private void Menu_Resize_RecallPosition_click(object sender, EventArgs e) { + Settings.Default.RestoreSizeAndPosition = !Settings.Default.RestoreSizeAndPosition; + } + + private void Menu_Position_Opening(object sender, EventArgs e) { + disabledToolStripMenuItem.Checked = (PositionLock == null); + topLeftToolStripMenuItem.Checked = (PositionLock == ScreenPosition.TopLeft); + topRightToolStripMenuItem.Checked = (PositionLock == ScreenPosition.TopRight); + centerToolStripMenuItem.Checked = (PositionLock == ScreenPosition.Center); + bottomLeftToolStripMenuItem.Checked = (PositionLock == ScreenPosition.BottomLeft); + bottomRightToolStripMenuItem.Checked = (PositionLock == ScreenPosition.BottomRight); + } + + private void Menu_Position_Disable(object sender, EventArgs e) { + PositionLock = null; + } + + private void Menu_Position_TopLeft(object sender, EventArgs e) { + PositionLock = ScreenPosition.TopLeft; + } + + private void Menu_Position_TopRight(object sender, EventArgs e) { + PositionLock = ScreenPosition.TopRight; + } + + private void Menu_Position_Center(object sender, EventArgs e) { + PositionLock = ScreenPosition.Center; + } + + private void Menu_Position_BottomLeft(object sender, EventArgs e) { + PositionLock = ScreenPosition.BottomLeft; + } + + private void Menu_Position_BottomRight(object sender, EventArgs e) { + PositionLock = ScreenPosition.BottomRight; + } + + private void Menu_Reduce_click(object sender, EventArgs e) { + //Hide form in a platform specific way + Program.Platform.HideForm(this); + } + + private void Menu_Chrome_click(object sender, EventArgs e) { + IsChromeVisible = !IsChromeVisible; + } + + private void Menu_Settings_click(object sender, EventArgs e) { + this.SetSidePanel(new OptionsPanel()); + } + + private void Menu_About_click(object sender, EventArgs e) { + this.SetSidePanel(new AboutPanel()); + } + + private void Menu_Close_click(object sender, EventArgs e) { + this.Close(); + } + + private void Menu_Fullscreen_ExitFullscreen_click(object sender, EventArgs e) { + IsFullscreen = false; + } + + } +} diff --git a/OnTopReplica/MessagePumpManager.cs b/OnTopReplica/MessagePumpManager.cs new file mode 100644 index 0000000..ad2b48d --- /dev/null +++ b/OnTopReplica/MessagePumpManager.cs @@ -0,0 +1,84 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using OnTopReplica.MessagePumpProcessors; +using OnTopReplica.Native; + +namespace OnTopReplica { + class MessagePumpManager : IDisposable { + + Dictionary _processors = new Dictionary(); + + public MainForm Form { get; private set; } + + private void Register(IMessagePumpProcessor processor, MainForm form) { + _processors[processor.GetType()] = processor; + processor.Initialize(form); + + System.Diagnostics.Trace.WriteLine(string.Format("Registered message pump processor: {0}", processor.GetType())); + } + + /// + /// Instantiates all message pump processors and registers them on the main form. + /// + /// + public void Initialize(MainForm form) { + Form = form; + + //Register window shell hook + if (!HookMethods.RegisterShellHookWindow(form.Handle)) { + Console.Error.WriteLine("Failed to register shell hook window."); + } + else { + System.Diagnostics.Trace.WriteLine("Shell hook window registered successfully."); + } + + //Register message pump processors + Register(new WindowKeeper(), form); + Register(new HotKeyManager(), form); + Register(new GroupSwitchManager(), form); + } + + /// + /// Run the registered message pump processors. + /// + /// Message to process. + /// True if the message has been handled internally. + public bool PumpMessage(ref Message msg) { + foreach (var processor in _processors.Values) { + if (processor.Process(ref msg)) + return true; + } + + return false; + } + + /// + /// Get the instance of a registered message pump processor. + /// Throws if instance not found. + /// + public T Get() { + return (T)_processors[typeof(T)]; + } + + #region IDisposable Members + + public void Dispose() { + if (!HookMethods.DeregisterShellHookWindow(Form.Handle)) { + Console.Error.WriteLine("Failed to deregister shell hook window."); + } + else { + System.Diagnostics.Trace.WriteLine("Deregistered shell hook window successfully."); + } + + foreach (var processor in _processors.Values) { + processor.Dispose(); + } + _processors.Clear(); + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs new file mode 100644 index 0000000..cfb2c5a --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/BaseMessagePumpProcessor.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.MessagePumpProcessors { + abstract class BaseMessagePumpProcessor : IMessagePumpProcessor { + + protected MainForm Form { get; private set; } + + #region IMessagePumpProcessor Members + + public virtual void Initialize(MainForm form) { + Form = form; + } + + public abstract bool Process(ref Message msg); + + #endregion + + protected abstract void Shutdown(); + + bool _isDisposed = false; + + #region IDisposable Members + + public void Dispose() { + if (_isDisposed) + return; + + Shutdown(); + + _isDisposed = true; + } + + #endregion + + } +} diff --git a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs new file mode 100644 index 0000000..e665ef9 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs @@ -0,0 +1,136 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Reflection; +using System.IO; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + class GroupSwitchManager : BaseMessagePumpProcessor { + + bool _active = false; + List _lruHandles; + + /// + /// Enables group switch mode. + /// + /// List of window handles to track. + public void EnableGroupMode(IList handles) { + if (handles == null || handles.Count == 0) + return; + + //Okey dokey, will now track handles + TrackHandles(handles); + _active = true; + } + + /// + /// Initializes the LRU sorted list of window handles. + /// + private void TrackHandles(IList handles) { + _lruHandles = new List(handles.Count); + var now = DateTime.Now; + + foreach(var h in handles){ + _lruHandles.Add(new WindowHandleWrapper { + WindowHandle = h, + LastTimeUsed = now + }); + } + } + + /// + /// Disables group switch mode. + /// + public void Disable() { + if (!_active) + return; + + _lruHandles = null; + _active = false; + } + + /// + /// Processes the message pump. + /// + public override bool Process(ref Message msg) { + if (_active && msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + if (hookCode == HookMethods.HSHELL_WINDOWACTIVATED || + hookCode == HookMethods.HSHELL_RUDEAPPACTIVATED) { + + IntPtr activeHandle = msg.LParam; + HandleForegroundWindowChange(activeHandle); + } + } + + return false; + } + + private void HandleForegroundWindowChange(IntPtr activeWindow) { + System.Diagnostics.Trace.WriteLine(string.Format("New active window (h {0}). ", activeWindow)); + + //Seek window in tracked handles + WindowHandleWrapper activated = null; + foreach (var i in _lruHandles) { + if (i.WindowHandle.Handle == activeWindow) + activated = i; + } + + if (activated == null) { + //New foreground window is not tracked + System.Diagnostics.Trace.WriteLine("Active window is not tracked."); + return; + } + + //Update tracked handle + activated.LastTimeUsed = DateTime.Now; + _lruHandles.Sort(new LruDateTimeComparer()); + + //Get least recently used + var next = _lruHandles[0]; + + System.Diagnostics.Trace.WriteLine(string.Format("Tracked. Switching to {0} (last use: {1}).", next.WindowHandle.Title, next.LastTimeUsed)); + + Form.SetThumbnail(next.WindowHandle, null); + } + + protected override void Shutdown() { + Disable(); + } + + /// + /// Gets whether the group switch manager ia active. + /// + public bool IsActive { + get { + return _active; + } + } + + #region List sorting stuff + + class WindowHandleWrapper { + public WindowHandle WindowHandle { get; set; } + public DateTime LastTimeUsed { get; set; } + } + + class LruDateTimeComparer : IComparer { + + #region IComparer Members + + public int Compare(WindowHandleWrapper x, WindowHandleWrapper y) { + return x.LastTimeUsed.CompareTo(y.LastTimeUsed); + } + + #endregion + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs new file mode 100644 index 0000000..7b1b93e --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs @@ -0,0 +1,168 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; +using OnTopReplica.Properties; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// HotKey registration helper. + /// + class HotKeyManager : BaseMessagePumpProcessor { + + public HotKeyManager() { + Enabled = true; + } + + delegate void HotKeyHandler(); + + /// + /// Wraps hot key handler registration data. + /// + private class HotKeyHandlerRegistration : IDisposable { + private HotKeyHandlerRegistration() { + } + + private HotKeyHandlerRegistration(IntPtr hwnd, int key, HotKeyHandler handler) { + if (hwnd == IntPtr.Zero) + throw new ArgumentException(); + if (handler == null) + throw new ArgumentNullException(); + + _hwnd = hwnd; + RegistrationKey = key; + Handler = handler; + } + + static int _lastUsedKey = 0; + + /// + /// Registers a new hotkey and returns a handle to the registration. + /// + /// Returns null on failure. + public static HotKeyHandlerRegistration Register(Form owner, int keyCode, int modifiers, HotKeyHandler handler) { + var key = ++_lastUsedKey; + + if (!HotKeyMethods.RegisterHotKey(owner.Handle, key, modifiers, keyCode)) { + Console.Error.WriteLine("Failed to create hotkey on keys {0}.", keyCode); + return null; + } + + return new HotKeyHandlerRegistration(owner.Handle, key, handler); + } + + IntPtr _hwnd; + public int RegistrationKey { get; private set; } + public HotKeyHandler Handler { get; private set; } + + public void Dispose() { + if (!HotKeyMethods.UnregisterHotKey(_hwnd, RegistrationKey)) { + Console.Error.WriteLine("Failed to unregister hotkey #{0}.", RegistrationKey); + } + } + } + + Dictionary _handlers = new Dictionary(); + + public override void Initialize(MainForm form) { + base.Initialize(form); + + RefreshHotkeys(); + } + + public override bool Process(ref Message msg) { + if (Enabled && msg.Msg == HotKeyMethods.WM_HOTKEY) { + int keyId = msg.WParam.ToInt32(); + if (!_handlers.ContainsKey(keyId)) + return false; + + _handlers[keyId].Handler.Invoke(); + } + + return false; + } + + public bool Enabled { get; set; } + + /// + /// Refreshes registered hotkeys from Settings. + /// + /// + /// Application settings contain hotkey registration strings that are used + /// automatically by this registration process. + /// + public void RefreshHotkeys() { + ClearHandlers(); + + RegisterHandler(Settings.Default.HotKeyCloneCurrent, HotKeyCloneHandler); + RegisterHandler(Settings.Default.HotKeyShowHide, HotKeyShowHideHandler); + } + + private void RegisterHandler(string spec, HotKeyHandler handler) { + if (string.IsNullOrEmpty(spec)) + return; //this can happen and is allowed => simply don't register + if (handler == null) + throw new ArgumentNullException(); + + int modifiers = 0, keyCode = 0; + + try { + HotKeyMethods.TranslateStringToKeyValues(spec, out modifiers, out keyCode); + } + catch (ArgumentException) { + //TODO: swallowed exception + return; + } + + var reg = HotKeyHandlerRegistration.Register(Form, keyCode, modifiers, handler); + if(reg != null) + _handlers.Add(reg.RegistrationKey, reg); + } + + private void ClearHandlers() { + foreach (var hotkey in _handlers) { + hotkey.Value.Dispose(); + } + _handlers.Clear(); + } + + protected override void Shutdown() { + ClearHandlers(); + } + + #region Hotkey callbacks + + /// + /// Handles "show/hide" hotkey. Ensures the form is in restored state and switches + /// between shown and hidden states. + /// + void HotKeyShowHideHandler() { + if (Form.IsFullscreen) + Form.IsFullscreen = false; + + if (!Program.Platform.IsHidden(Form)) { + Program.Platform.HideForm(Form); + } + else { + Form.EnsureMainFormVisible(); + } + } + + /// + /// Handles the "clone current" hotkey. + /// + void HotKeyCloneHandler() { + var handle = Win32Helper.GetCurrentForegroundWindow(); + if (handle.Handle == Form.Handle) + return; + + Form.SetThumbnail(handle, null); + } + + #endregion + + } + +} diff --git a/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs b/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs new file mode 100644 index 0000000..ca95066 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + +#if DEBUG + + /// + /// Basic shell message interceptor to use for debugging. + /// + class ShellInterceptProcessor : BaseMessagePumpProcessor { + + public override bool Process(ref Message msg) { + if (msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + + System.Diagnostics.Trace.WriteLine(string.Format("Hook msg #{0}: {1}", hookCode, msg.LParam)); + } + + return false; + } + + protected override void Shutdown() { + + } + + } + +#endif + +} diff --git a/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs new file mode 100644 index 0000000..4a0c548 --- /dev/null +++ b/OnTopReplica/MessagePumpProcessors/WindowKeeper.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// Listens for shell events and closes the thumbnail if a cloned window is destroyed. + /// + class WindowKeeper : BaseMessagePumpProcessor { + + public override bool Process(ref Message msg) { + if (Form.CurrentThumbnailWindowHandle != null && + msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { + int hookCode = msg.WParam.ToInt32(); + + if (hookCode == HookMethods.HSHELL_WINDOWDESTROYED) { + //Check whether the destroyed window is the one we were cloning + IntPtr destroyedHandle = msg.LParam; + if (destroyedHandle == Form.CurrentThumbnailWindowHandle.Handle) { + //Disable group switch mode, since a window of the group has been destroyed + Form.MessagePumpManager.Get().Disable(); + + //Disable cloning + Form.UnsetThumbnail(); + } + } + } + + return false; + } + + protected override void Shutdown() { + + } + } + +} diff --git a/OnTopReplica/NDesk/Options/Options.cs b/OnTopReplica/NDesk/Options/Options.cs new file mode 100644 index 0000000..24c4552 --- /dev/null +++ b/OnTopReplica/NDesk/Options/Options.cs @@ -0,0 +1,1042 @@ +// +// Options.cs (version 0.2.1) +// +// Authors: +// Jonathan Pryor +// +// Copyright (C) 2008 Novell (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +// Compile With: +// gmcs -debug+ -r:System.Core Options.cs -o:NDesk.Options.dll +// gmcs -debug+ -d:LINQ -r:System.Core Options.cs -o:NDesk.Options.dll +// +// The LINQ version just changes the implementation of +// OptionSet.Parse(IEnumerable), and confers no semantic changes. + +// +// A Getopt::Long-inspired option parsing library for C#. +// +// NDesk.Options.OptionSet is built upon a key/value table, where the +// key is a option format string and the value is a delegate that is +// invoked when the format string is matched. +// +// Option format strings: +// Regex-like BNF Grammar: +// name: .+ +// type: [=:] +// sep: ( [^{}]+ | '{' .+ '}' )? +// aliases: ( name type sep ) ( '|' name type sep )* +// +// Each '|'-delimited name is an alias for the associated action. If the +// format string ends in a '=', it has a required value. If the format +// string ends in a ':', it has an optional value. If neither '=' or ':' +// is present, no value is supported. `=' or `:' need only be defined on one +// alias, but if they are provided on more than one they must be consistent. +// +// Each alias portion may also end with a "key/value separator", which is used +// to split option values if the option accepts > 1 value. If not specified, +// it defaults to '=' and ':'. If specified, it can be any character except +// '{' and '}' OR the *string* between '{' and '}'. If no separator should be +// used (i.e. the separate values should be distinct arguments), then "{}" +// should be used as the separator. +// +// Options are extracted either from the current option by looking for +// the option name followed by an '=' or ':', or is taken from the +// following option IFF: +// - The current option does not contain a '=' or a ':' +// - The current option requires a value (i.e. not a Option type of ':') +// +// The `name' used in the option format string does NOT include any leading +// option indicator, such as '-', '--', or '/'. All three of these are +// permitted/required on any named option. +// +// Option bundling is permitted so long as: +// - '-' is used to start the option group +// - all of the bundled options are a single character +// - at most one of the bundled options accepts a value, and the value +// provided starts from the next character to the end of the string. +// +// This allows specifying '-a -b -c' as '-abc', and specifying '-D name=value' +// as '-Dname=value'. +// +// Option processing is disabled by specifying "--". All options after "--" +// are returned by OptionSet.Parse() unchanged and unprocessed. +// +// Unprocessed options are returned from OptionSet.Parse(). +// +// Examples: +// int verbose = 0; +// OptionSet p = new OptionSet () +// .Add ("v", v => ++verbose) +// .Add ("name=|value=", v => Console.WriteLine (v)); +// p.Parse (new string[]{"-v", "--v", "/v", "-name=A", "/name", "B", "extra"}); +// +// The above would parse the argument string array, and would invoke the +// lambda expression three times, setting `verbose' to 3 when complete. +// It would also print out "A" and "B" to standard output. +// The returned array would contain the string "extra". +// +// C# 3.0 collection initializers are supported and encouraged: +// var p = new OptionSet () { +// { "h|?|help", v => ShowHelp () }, +// }; +// +// System.ComponentModel.TypeConverter is also supported, allowing the use of +// custom data types in the callback type; TypeConverter.ConvertFromString() +// is used to convert the value option to an instance of the specified +// type: +// +// var p = new OptionSet () { +// { "foo=", (Foo f) => Console.WriteLine (f.ToString ()) }, +// }; +// +// Random other tidbits: +// - Boolean options (those w/o '=' or ':' in the option format string) +// are explicitly enabled if they are followed with '+', and explicitly +// disabled if they are followed with '-': +// string a = null; +// var p = new OptionSet () { +// { "a", s => a = s }, +// }; +// p.Parse (new string[]{"-a"}); // sets v != null +// p.Parse (new string[]{"-a+"}); // sets v != null +// p.Parse (new string[]{"-a-"}); // sets v == null +// + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Globalization; +using System.IO; +using System.Runtime.Serialization; +using System.Security.Permissions; +using System.Text; +using System.Text.RegularExpressions; + +#if LINQ +using System.Linq; +#endif + +#if TEST +using NDesk.Options; +#endif + +namespace NDesk.Options { + + public class OptionValueCollection : IList, IList { + + List values = new List(); + OptionContext c; + + internal OptionValueCollection(OptionContext c) { + this.c = c; + } + + #region ICollection + void ICollection.CopyTo(Array array, int index) { (values as ICollection).CopyTo(array, index); } + bool ICollection.IsSynchronized { get { return (values as ICollection).IsSynchronized; } } + object ICollection.SyncRoot { get { return (values as ICollection).SyncRoot; } } + #endregion + + #region ICollection + public void Add(string item) { values.Add(item); } + public void Clear() { values.Clear(); } + public bool Contains(string item) { return values.Contains(item); } + public void CopyTo(string[] array, int arrayIndex) { values.CopyTo(array, arrayIndex); } + public bool Remove(string item) { return values.Remove(item); } + public int Count { get { return values.Count; } } + public bool IsReadOnly { get { return false; } } + #endregion + + #region IEnumerable + IEnumerator IEnumerable.GetEnumerator() { return values.GetEnumerator(); } + #endregion + + #region IEnumerable + public IEnumerator GetEnumerator() { return values.GetEnumerator(); } + #endregion + + #region IList + int IList.Add(object value) { return (values as IList).Add(value); } + bool IList.Contains(object value) { return (values as IList).Contains(value); } + int IList.IndexOf(object value) { return (values as IList).IndexOf(value); } + void IList.Insert(int index, object value) { (values as IList).Insert(index, value); } + void IList.Remove(object value) { (values as IList).Remove(value); } + void IList.RemoveAt(int index) { (values as IList).RemoveAt(index); } + bool IList.IsFixedSize { get { return false; } } + object IList.this[int index] { get { return this[index]; } set { (values as IList)[index] = value; } } + #endregion + + #region IList + public int IndexOf(string item) { return values.IndexOf(item); } + public void Insert(int index, string item) { values.Insert(index, item); } + public void RemoveAt(int index) { values.RemoveAt(index); } + + private void AssertValid(int index) { + if (c.Option == null) + throw new InvalidOperationException("OptionContext.Option is null."); + if (index >= c.Option.MaxValueCount) + throw new ArgumentOutOfRangeException("index"); + if (c.Option.OptionValueType == OptionValueType.Required && + index >= values.Count) + throw new OptionException(string.Format( + c.OptionSet.MessageLocalizer("Missing required value for option '{0}'."), c.OptionName), + c.OptionName); + } + + public string this[int index] { + get { + AssertValid(index); + return index >= values.Count ? null : values[index]; + } + set { + values[index] = value; + } + } + #endregion + + public List ToList() { + return new List(values); + } + + public string[] ToArray() { + return values.ToArray(); + } + + public override string ToString() { + return string.Join(", ", values.ToArray()); + } + } + + public class OptionContext { + private Option option; + private string name; + private int index; + private OptionSet set; + private OptionValueCollection c; + + public OptionContext(OptionSet set) { + this.set = set; + this.c = new OptionValueCollection(this); + } + + public Option Option { + get { return option; } + set { option = value; } + } + + public string OptionName { + get { return name; } + set { name = value; } + } + + public int OptionIndex { + get { return index; } + set { index = value; } + } + + public OptionSet OptionSet { + get { return set; } + } + + public OptionValueCollection OptionValues { + get { return c; } + } + } + + public enum OptionValueType { + None, + Optional, + Required, + } + + public abstract class Option { + string prototype, description; + string[] names; + OptionValueType type; + int count; + string[] separators; + + protected Option(string prototype, string description) + : this(prototype, description, 1) { + } + + protected Option(string prototype, string description, int maxValueCount) { + if (prototype == null) + throw new ArgumentNullException("prototype"); + if (prototype.Length == 0) + throw new ArgumentException("Cannot be the empty string.", "prototype"); + if (maxValueCount < 0) + throw new ArgumentOutOfRangeException("maxValueCount"); + + this.prototype = prototype; + this.names = prototype.Split('|'); + this.description = description; + this.count = maxValueCount; + this.type = ParsePrototype(); + + if (this.count == 0 && type != OptionValueType.None) + throw new ArgumentException( + "Cannot provide maxValueCount of 0 for OptionValueType.Required or " + + "OptionValueType.Optional.", + "maxValueCount"); + if (this.type == OptionValueType.None && maxValueCount > 1) + throw new ArgumentException( + string.Format("Cannot provide maxValueCount of {0} for OptionValueType.None.", maxValueCount), + "maxValueCount"); + if (Array.IndexOf(names, "<>") >= 0 && + ((names.Length == 1 && this.type != OptionValueType.None) || + (names.Length > 1 && this.MaxValueCount > 1))) + throw new ArgumentException( + "The default option handler '<>' cannot require values.", + "prototype"); + } + + public string Prototype { get { return prototype; } } + public string Description { get { return description; } } + public OptionValueType OptionValueType { get { return type; } } + public int MaxValueCount { get { return count; } } + + public string[] GetNames() { + return (string[])names.Clone(); + } + + public string[] GetValueSeparators() { + if (separators == null) + return new string[0]; + return (string[])separators.Clone(); + } + + protected static T Parse(string value, OptionContext c) { + TypeConverter conv = TypeDescriptor.GetConverter(typeof(T)); + T t = default(T); + try { + if (value != null) + t = (T)conv.ConvertFromString(value); + } + catch (Exception e) { + throw new OptionException( + string.Format( + c.OptionSet.MessageLocalizer("Could not convert string `{0}' to type {1} for option `{2}'."), + value, typeof(T).Name, c.OptionName), + c.OptionName, e); + } + return t; + } + + internal string[] Names { get { return names; } } + internal string[] ValueSeparators { get { return separators; } } + + static readonly char[] NameTerminator = new char[] { '=', ':' }; + + private OptionValueType ParsePrototype() { + char type = '\0'; + List seps = new List(); + for (int i = 0; i < names.Length; ++i) { + string name = names[i]; + if (name.Length == 0) + throw new ArgumentException("Empty option names are not supported.", "prototype"); + + int end = name.IndexOfAny(NameTerminator); + if (end == -1) + continue; + names[i] = name.Substring(0, end); + if (type == '\0' || type == name[end]) + type = name[end]; + else + throw new ArgumentException( + string.Format("Conflicting option types: '{0}' vs. '{1}'.", type, name[end]), + "prototype"); + AddSeparators(name, end, seps); + } + + if (type == '\0') + return OptionValueType.None; + + if (count <= 1 && seps.Count != 0) + throw new ArgumentException( + string.Format("Cannot provide key/value separators for Options taking {0} value(s).", count), + "prototype"); + if (count > 1) { + if (seps.Count == 0) + this.separators = new string[] { ":", "=" }; + else if (seps.Count == 1 && seps[0].Length == 0) + this.separators = null; + else + this.separators = seps.ToArray(); + } + + return type == '=' ? OptionValueType.Required : OptionValueType.Optional; + } + + private static void AddSeparators(string name, int end, ICollection seps) { + int start = -1; + for (int i = end + 1; i < name.Length; ++i) { + switch (name[i]) { + case '{': + if (start != -1) + throw new ArgumentException( + string.Format("Ill-formed name/value separator found in \"{0}\".", name), + "prototype"); + start = i + 1; + break; + case '}': + if (start == -1) + throw new ArgumentException( + string.Format("Ill-formed name/value separator found in \"{0}\".", name), + "prototype"); + seps.Add(name.Substring(start, i - start)); + start = -1; + break; + default: + if (start == -1) + seps.Add(name[i].ToString()); + break; + } + } + if (start != -1) + throw new ArgumentException( + string.Format("Ill-formed name/value separator found in \"{0}\".", name), + "prototype"); + } + + public void Invoke(OptionContext c) { + OnParseComplete(c); + c.OptionName = null; + c.Option = null; + c.OptionValues.Clear(); + } + + protected abstract void OnParseComplete(OptionContext c); + + public override string ToString() { + return Prototype; + } + } + + [Serializable] + public class OptionException : Exception { + private string option; + + public OptionException() { + } + + public OptionException(string message, string optionName) + : base(message) { + this.option = optionName; + } + + public OptionException(string message, string optionName, Exception innerException) + : base(message, innerException) { + this.option = optionName; + } + + protected OptionException(SerializationInfo info, StreamingContext context) + : base(info, context) { + this.option = info.GetString("OptionName"); + } + + public string OptionName { + get { return this.option; } + } + + [SecurityPermission(SecurityAction.LinkDemand, SerializationFormatter = true)] + public override void GetObjectData(SerializationInfo info, StreamingContext context) { + base.GetObjectData(info, context); + info.AddValue("OptionName", option); + } + } + + public delegate void OptionAction(TKey key, TValue value); + + public class OptionSet : KeyedCollection { + public OptionSet() + : this(delegate(string f) { return f; }) { + } + + public OptionSet(Converter localizer) { + this.localizer = localizer; + } + + Converter localizer; + + public Converter MessageLocalizer { + get { return localizer; } + } + + protected override string GetKeyForItem(Option item) { + if (item == null) + throw new ArgumentNullException("option"); + if (item.Names != null && item.Names.Length > 0) + return item.Names[0]; + // This should never happen, as it's invalid for Option to be + // constructed w/o any names. + throw new InvalidOperationException("Option has no names!"); + } + + [Obsolete("Use KeyedCollection.this[string]")] + protected Option GetOptionForName(string option) { + if (option == null) + throw new ArgumentNullException("option"); + try { + return base[option]; + } + catch (KeyNotFoundException) { + return null; + } + } + + protected override void InsertItem(int index, Option item) { + base.InsertItem(index, item); + AddImpl(item); + } + + protected override void RemoveItem(int index) { + base.RemoveItem(index); + Option p = Items[index]; + // KeyedCollection.RemoveItem() handles the 0th item + for (int i = 1; i < p.Names.Length; ++i) { + Dictionary.Remove(p.Names[i]); + } + } + + protected override void SetItem(int index, Option item) { + base.SetItem(index, item); + RemoveItem(index); + AddImpl(item); + } + + private void AddImpl(Option option) { + if (option == null) + throw new ArgumentNullException("option"); + List added = new List(option.Names.Length); + try { + // KeyedCollection.InsertItem/SetItem handle the 0th name. + for (int i = 1; i < option.Names.Length; ++i) { + Dictionary.Add(option.Names[i], option); + added.Add(option.Names[i]); + } + } + catch (Exception) { + foreach (string name in added) + Dictionary.Remove(name); + throw; + } + } + + public new OptionSet Add(Option option) { + base.Add(option); + return this; + } + + sealed class ActionOption : Option { + Action action; + + public ActionOption(string prototype, string description, int count, Action action) + : base(prototype, description, count) { + if (action == null) + throw new ArgumentNullException("action"); + this.action = action; + } + + protected override void OnParseComplete(OptionContext c) { + action(c.OptionValues); + } + } + + public OptionSet Add(string prototype, Action action) { + return Add(prototype, null, action); + } + + public OptionSet Add(string prototype, string description, Action action) { + if (action == null) + throw new ArgumentNullException("action"); + Option p = new ActionOption(prototype, description, 1, + delegate(OptionValueCollection v) { action(v[0]); }); + base.Add(p); + return this; + } + + public OptionSet Add(string prototype, OptionAction action) { + return Add(prototype, null, action); + } + + public OptionSet Add(string prototype, string description, OptionAction action) { + if (action == null) + throw new ArgumentNullException("action"); + Option p = new ActionOption(prototype, description, 2, + delegate(OptionValueCollection v) { action(v[0], v[1]); }); + base.Add(p); + return this; + } + + sealed class ActionOption : Option { + Action action; + + public ActionOption(string prototype, string description, Action action) + : base(prototype, description, 1) { + if (action == null) + throw new ArgumentNullException("action"); + this.action = action; + } + + protected override void OnParseComplete(OptionContext c) { + action(Parse(c.OptionValues[0], c)); + } + } + + sealed class ActionOption : Option { + OptionAction action; + + public ActionOption(string prototype, string description, OptionAction action) + : base(prototype, description, 2) { + if (action == null) + throw new ArgumentNullException("action"); + this.action = action; + } + + protected override void OnParseComplete(OptionContext c) { + action( + Parse(c.OptionValues[0], c), + Parse(c.OptionValues[1], c)); + } + } + + public OptionSet Add(string prototype, Action action) { + return Add(prototype, null, action); + } + + public OptionSet Add(string prototype, string description, Action action) { + return Add(new ActionOption(prototype, description, action)); + } + + public OptionSet Add(string prototype, OptionAction action) { + return Add(prototype, null, action); + } + + public OptionSet Add(string prototype, string description, OptionAction action) { + return Add(new ActionOption(prototype, description, action)); + } + + protected virtual OptionContext CreateOptionContext() { + return new OptionContext(this); + } + +#if LINQ + public List Parse (IEnumerable arguments) + { + bool process = true; + OptionContext c = CreateOptionContext (); + c.OptionIndex = -1; + var def = GetOptionForName ("<>"); + var unprocessed = + from argument in arguments + where ++c.OptionIndex >= 0 && (process || def != null) + ? process + ? argument == "--" + ? (process = false) + : !Parse (argument, c) + ? def != null + ? Unprocessed (null, def, c, argument) + : true + : false + : def != null + ? Unprocessed (null, def, c, argument) + : true + : true + select argument; + List r = unprocessed.ToList (); + if (c.Option != null) + c.Option.Invoke (c); + return r; + } +#else + public List Parse(IEnumerable arguments) { + OptionContext c = CreateOptionContext(); + c.OptionIndex = -1; + bool process = true; + List unprocessed = new List(); + Option def = Contains("<>") ? this["<>"] : null; + foreach (string argument in arguments) { + ++c.OptionIndex; + if (argument == "--") { + process = false; + continue; + } + if (!process) { + Unprocessed(unprocessed, def, c, argument); + continue; + } + if (!Parse(argument, c)) + Unprocessed(unprocessed, def, c, argument); + } + if (c.Option != null) + c.Option.Invoke(c); + return unprocessed; + } +#endif + + private static bool Unprocessed(ICollection extra, Option def, OptionContext c, string argument) { + if (def == null) { + extra.Add(argument); + return false; + } + c.OptionValues.Add(argument); + c.Option = def; + c.Option.Invoke(c); + return false; + } + + private readonly Regex ValueOption = new Regex( + @"^(?--|-|/)(?[^:=]+)((?[:=])(?.*))?$"); + + protected bool GetOptionParts(string argument, out string flag, out string name, out string sep, out string value) { + if (argument == null) + throw new ArgumentNullException("argument"); + + flag = name = sep = value = null; + Match m = ValueOption.Match(argument); + if (!m.Success) { + return false; + } + flag = m.Groups["flag"].Value; + name = m.Groups["name"].Value; + if (m.Groups["sep"].Success && m.Groups["value"].Success) { + sep = m.Groups["sep"].Value; + value = m.Groups["value"].Value; + } + return true; + } + + protected virtual bool Parse(string argument, OptionContext c) { + if (c.Option != null) { + ParseValue(argument, c); + return true; + } + + string f, n, s, v; + if (!GetOptionParts(argument, out f, out n, out s, out v)) + return false; + + Option p; + if (Contains(n)) { + p = this[n]; + c.OptionName = f + n; + c.Option = p; + switch (p.OptionValueType) { + case OptionValueType.None: + c.OptionValues.Add(n); + c.Option.Invoke(c); + break; + case OptionValueType.Optional: + case OptionValueType.Required: + ParseValue(v, c); + break; + } + return true; + } + // no match; is it a bool option? + if (ParseBool(argument, n, c)) + return true; + // is it a bundled option? + if (ParseBundledValue(f, string.Concat(n + s + v), c)) + return true; + + return false; + } + + private void ParseValue(string option, OptionContext c) { + if (option != null) + foreach (string o in c.Option.ValueSeparators != null + ? option.Split(c.Option.ValueSeparators, StringSplitOptions.None) + : new string[] { option }) { + c.OptionValues.Add(o); + } + if (c.OptionValues.Count == c.Option.MaxValueCount || + c.Option.OptionValueType == OptionValueType.Optional) + c.Option.Invoke(c); + else if (c.OptionValues.Count > c.Option.MaxValueCount) { + throw new OptionException(localizer(string.Format( + "Error: Found {0} option values when expecting {1}.", + c.OptionValues.Count, c.Option.MaxValueCount)), + c.OptionName); + } + } + + private bool ParseBool(string option, string n, OptionContext c) { + Option p; + string rn; + if (n.Length >= 1 && (n[n.Length - 1] == '+' || n[n.Length - 1] == '-') && + Contains((rn = n.Substring(0, n.Length - 1)))) { + p = this[rn]; + string v = n[n.Length - 1] == '+' ? option : null; + c.OptionName = option; + c.Option = p; + c.OptionValues.Add(v); + p.Invoke(c); + return true; + } + return false; + } + + private bool ParseBundledValue(string f, string n, OptionContext c) { + if (f != "-") + return false; + for (int i = 0; i < n.Length; ++i) { + Option p; + string opt = f + n[i].ToString(); + string rn = n[i].ToString(); + if (!Contains(rn)) { + if (i == 0) + return false; + throw new OptionException(string.Format(localizer( + "Cannot bundle unregistered option '{0}'."), opt), opt); + } + p = this[rn]; + switch (p.OptionValueType) { + case OptionValueType.None: + Invoke(c, opt, n, p); + break; + case OptionValueType.Optional: + case OptionValueType.Required: { + string v = n.Substring(i + 1); + c.Option = p; + c.OptionName = opt; + ParseValue(v.Length != 0 ? v : null, c); + return true; + } + default: + throw new InvalidOperationException("Unknown OptionValueType: " + p.OptionValueType); + } + } + return true; + } + + private static void Invoke(OptionContext c, string name, string value, Option option) { + c.OptionName = name; + c.Option = option; + c.OptionValues.Add(value); + option.Invoke(c); + } + + private const int OptionWidth = 29; + + public void WriteOptionDescriptions(TextWriter o) { + foreach (Option p in this) { + int written = 0; + if (!WriteOptionPrototype(o, p, ref written)) + continue; + + if (written < OptionWidth) + o.Write(new string(' ', OptionWidth - written)); + else { + o.WriteLine(); + o.Write(new string(' ', OptionWidth)); + } + + List lines = GetLines(localizer(GetDescription(p.Description))); + o.WriteLine(lines[0]); + string prefix = new string(' ', OptionWidth + 2); + for (int i = 1; i < lines.Count; ++i) { + o.Write(prefix); + o.WriteLine(lines[i]); + } + } + } + + bool WriteOptionPrototype(TextWriter o, Option p, ref int written) { + string[] names = p.Names; + + int i = GetNextOptionIndex(names, 0); + if (i == names.Length) + return false; + + if (names[i].Length == 1) { + Write(o, ref written, " -"); + Write(o, ref written, names[0]); + } + else { + Write(o, ref written, " --"); + Write(o, ref written, names[0]); + } + + for (i = GetNextOptionIndex(names, i + 1); + i < names.Length; i = GetNextOptionIndex(names, i + 1)) { + Write(o, ref written, ", "); + Write(o, ref written, names[i].Length == 1 ? "-" : "--"); + Write(o, ref written, names[i]); + } + + if (p.OptionValueType == OptionValueType.Optional || + p.OptionValueType == OptionValueType.Required) { + if (p.OptionValueType == OptionValueType.Optional) { + Write(o, ref written, localizer("[")); + } + Write(o, ref written, localizer("=" + GetArgumentName(0, p.MaxValueCount, p.Description))); + string sep = p.ValueSeparators != null && p.ValueSeparators.Length > 0 + ? p.ValueSeparators[0] + : " "; + for (int c = 1; c < p.MaxValueCount; ++c) { + Write(o, ref written, localizer(sep + GetArgumentName(c, p.MaxValueCount, p.Description))); + } + if (p.OptionValueType == OptionValueType.Optional) { + Write(o, ref written, localizer("]")); + } + } + return true; + } + + static int GetNextOptionIndex(string[] names, int i) { + while (i < names.Length && names[i] == "<>") { + ++i; + } + return i; + } + + static void Write(TextWriter o, ref int n, string s) { + n += s.Length; + o.Write(s); + } + + private static string GetArgumentName(int index, int maxIndex, string description) { + if (description == null) + return maxIndex == 1 ? "VALUE" : "VALUE" + (index + 1); + string[] nameStart; + if (maxIndex == 1) + nameStart = new string[] { "{0:", "{" }; + else + nameStart = new string[] { "{" + index + ":" }; + for (int i = 0; i < nameStart.Length; ++i) { + int start, j = 0; + do { + start = description.IndexOf(nameStart[i], j); + } while (start >= 0 && j != 0 ? description[j++ - 1] == '{' : false); + if (start == -1) + continue; + int end = description.IndexOf("}", start); + if (end == -1) + continue; + return description.Substring(start + nameStart[i].Length, end - start - nameStart[i].Length); + } + return maxIndex == 1 ? "VALUE" : "VALUE" + (index + 1); + } + + private static string GetDescription(string description) { + if (description == null) + return string.Empty; + StringBuilder sb = new StringBuilder(description.Length); + int start = -1; + for (int i = 0; i < description.Length; ++i) { + switch (description[i]) { + case '{': + if (i == start) { + sb.Append('{'); + start = -1; + } + else if (start < 0) + start = i + 1; + break; + case '}': + if (start < 0) { + if ((i + 1) == description.Length || description[i + 1] != '}') + throw new InvalidOperationException("Invalid option description: " + description); + ++i; + sb.Append("}"); + } + else { + sb.Append(description.Substring(start, i - start)); + start = -1; + } + break; + case ':': + if (start < 0) + goto default; + start = i + 1; + break; + default: + if (start < 0) + sb.Append(description[i]); + break; + } + } + return sb.ToString(); + } + + private static List GetLines(string description) { + List lines = new List(); + if (string.IsNullOrEmpty(description)) { + lines.Add(string.Empty); + return lines; + } + int length = 80 - OptionWidth - 2; + int start = 0, end; + do { + end = GetLineEnd(start, length, description); + bool cont = false; + if (end < description.Length) { + char c = description[end]; + if (c == '-' || (char.IsWhiteSpace(c) && c != '\n')) + ++end; + else if (c != '\n') { + cont = true; + --end; + } + } + lines.Add(description.Substring(start, end - start)); + if (cont) { + lines[lines.Count - 1] += "-"; + } + start = end; + if (start < description.Length && description[start] == '\n') + ++start; + } while (end < description.Length); + return lines; + } + + private static int GetLineEnd(int start, int length, string description) { + int end = Math.Min(start + length, description.Length); + int sep = -1; + for (int i = start; i < end; ++i) { + switch (description[i]) { + case ' ': + case '\t': + case '\v': + case '-': + case ',': + case '.': + case ';': + sep = i; + break; + case '\n': + return i; + } + } + if (sep == -1 || end == description.Length) + return end; + return sep; + } + } +} + diff --git a/OnTopReplica/Native/CommonControls.cs b/OnTopReplica/Native/CommonControls.cs new file mode 100644 index 0000000..bf2123c --- /dev/null +++ b/OnTopReplica/Native/CommonControls.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + public static class CommonControls { + + [DllImport("comctl32.dll", EntryPoint = "InitCommonControlsEx", CallingConvention = CallingConvention.StdCall)] + static extern bool InitCommonControlsEx(ref INITCOMMONCONTROLSEX iccex); + + const int ICC_STANDARD_CLASSES = 0x00004000; + const int ICC_WIN95_CLASSES = 0x000000FF; + + public static bool InitStandard() { + INITCOMMONCONTROLSEX ex = new INITCOMMONCONTROLSEX(); + ex.dwSize = 8; + ex.dwICC = ICC_STANDARD_CLASSES | ICC_WIN95_CLASSES; + + return InitCommonControlsEx(ref ex); + } + + } + + struct INITCOMMONCONTROLSEX { + public int dwSize; + public int dwICC; + } + +} diff --git a/OnTopReplica/Native/ErrorMethods.cs b/OnTopReplica/Native/ErrorMethods.cs new file mode 100644 index 0000000..f1863eb --- /dev/null +++ b/OnTopReplica/Native/ErrorMethods.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 error handling methods. + /// + static class ErrorMethods { + + [DllImport("kernel32.dll")] + static extern uint FormatMessage(uint dwFlags, IntPtr lpSource, + int dwMessageId, uint dwLanguageId, [Out] StringBuilder lpBuffer, + uint nSize, IntPtr Arguments); + + /// + /// Gets a string representation of a Win32 error code. + /// + /// ID of the Win32 error code. + /// String representation of the error. + public static string GetErrorMessage(int msgCode) { + var sb = new StringBuilder(300); + FormatMessage((uint)(0x00001000), IntPtr.Zero, msgCode, 0, sb, 299, IntPtr.Zero); + return sb.ToString(); + } + + /// + /// Gets a string representation of the last Win32 error on this thread. + /// + public static string GetLastErrorMessage() { + int errorCode = Marshal.GetLastWin32Error(); + return GetErrorMessage(errorCode); + } + + } +} diff --git a/OnTopReplica/Native/FilesystemMethods.cs b/OnTopReplica/Native/FilesystemMethods.cs new file mode 100644 index 0000000..d48d741 --- /dev/null +++ b/OnTopReplica/Native/FilesystemMethods.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.IO; + +namespace OnTopReplica.Native { + + /// + /// Native methods for filesystem interop. + /// + static class FilesystemMethods { + + /// + /// Gets the path to the current user's download path. + /// + /// + /// Code taken from http://stackoverflow.com/questions/3795023/downloads-folder-not-special-enough + /// + public static string DownloadsPath { + get { + string path = null; + + //Requires Vista or superior + if (Environment.OSVersion.Version.Major >= 6) { + IntPtr pathPtr; + Guid folderId = FolderDownloads; + int hr = SHGetKnownFolderPath(ref folderId, 0, IntPtr.Zero, out pathPtr); + if (hr == 0) { + path = Marshal.PtrToStringUni(pathPtr); + Marshal.FreeCoTaskMem(pathPtr); + return path; + } + } + + //Fallback code + path = Path.GetDirectoryName(Environment.GetFolderPath(Environment.SpecialFolder.Personal)); + path = Path.Combine(path, "Downloads"); + return path; + } + } + + + static readonly Guid FolderDownloads = new Guid("374DE290-123F-4565-9164-39C4925E467B"); + + [DllImport("shell32.dll", CharSet = CharSet.Auto)] + private static extern int SHGetKnownFolderPath(ref Guid id, int flags, IntPtr token, out IntPtr path); + + } + +} diff --git a/OnTopReplica/Native/HT.cs b/OnTopReplica/Native/HT.cs new file mode 100644 index 0000000..231e928 --- /dev/null +++ b/OnTopReplica/Native/HT.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Win32 Hit Testing codes. + /// + static class HT { + public const int TRANSPARENT = -1; + public const int CLIENT = 1; + public const int CAPTION = 2; + } +} diff --git a/OnTopReplica/Native/HookMethods.cs b/OnTopReplica/Native/HookMethods.cs new file mode 100644 index 0000000..ea24f29 --- /dev/null +++ b/OnTopReplica/Native/HookMethods.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using System.Text; + +namespace OnTopReplica.Native { + + /// + /// Helpers for interop with native Windows hooks. + /// + static class HookMethods { + + static HookMethods() { + WM_SHELLHOOKMESSAGE = RegisterWindowMessage("SHELLHOOK"); + if (WM_SHELLHOOKMESSAGE == 0) + Console.Error.WriteLine("Failed to register SHELLHOOK Windows message."); + } + + public static int WM_SHELLHOOKMESSAGE { + get; + private set; + } + + public const int HSHELL_WINDOWACTIVATED = 4; + public const int HSHELL_RUDEAPPACTIVATED = HSHELL_WINDOWACTIVATED | HSHELL_HIGHBIT; + const int HSHELL_HIGHBIT = 0x8000; + public const int HSHELL_WINDOWDESTROYED = 2; + public const int HSHELL_WINDOWCREATED = 1; + + /// + /// Registers the WM_ID for a window message. + /// + /// Name of the window message. + [DllImport("User32.dll")] + public static extern int RegisterWindowMessage(string wndMessageName); + + /// + /// Registers a window as a shell hook window. + /// + [DllImport("User32.dll")] + public static extern bool RegisterShellHookWindow(IntPtr hwnd); + + /// + /// Deregisters a window as a shell hook window. + /// + [DllImport("User32.dll")] + public static extern bool DeregisterShellHookWindow(IntPtr hwnd); + + } +} diff --git a/OnTopReplica/Native/HotKeyMethods.cs b/OnTopReplica/Native/HotKeyMethods.cs new file mode 100644 index 0000000..d40fee4 --- /dev/null +++ b/OnTopReplica/Native/HotKeyMethods.cs @@ -0,0 +1,78 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.Windows.Forms; + +namespace OnTopReplica.Native { + + [Flags] + public enum HotKeyModifiers : int { + Alt = 0x1, + Control = 0x2, + Shift = 0x4, + Windows = 0x8 + } + + /// + /// Static native methods for HotKey management. + /// + static class HotKeyMethods { + + public const int WM_HOTKEY = 0x312; + + [DllImport("user32.dll")] + public static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vlc); + + [DllImport("user32.dll")] + public static extern bool UnregisterHotKey(IntPtr hWnd, int id); + + /// + /// Translates a key combination specification into key code values. + /// + /// Key combination specification (see remarks). + /// Modifier values. + /// Key values. + /// + /// Specification can contain one single key value (from the enumeration System.Windows.Forms.Keys) + /// preceded by modifier strings (each one separated by a single '+'). + /// For instance: + /// [CTRL]+[ALT]+A + /// or + /// [ALT]+[SHIFT]+O + /// + public static void TranslateStringToKeyValues(string hotkeySpec, out int modifiers, out int keys) { + if (string.IsNullOrEmpty(hotkeySpec)) + throw new ArgumentNullException(); + + modifiers = 0; + keys = 0; + + if (ExtractModifier(ref hotkeySpec, "[CTRL]+")) + modifiers |= (int)HotKeyModifiers.Control; + if (ExtractModifier(ref hotkeySpec, "[ALT]+")) + modifiers |= (int)HotKeyModifiers.Alt; + if (ExtractModifier(ref hotkeySpec, "[SHIFT]+")) + modifiers |= (int)HotKeyModifiers.Shift; + + //Attempt to translate last part (should be single key) + try { + var keyValue = Enum.Parse(typeof(Keys), hotkeySpec, true); + keys = (int)keyValue; + } + catch (ArgumentException) { + throw new ArgumentException("Couldn't parse key value '" + hotkeySpec + "'."); + } + } + + private static bool ExtractModifier(ref string spec, string modifier) { + int modIndex = spec.IndexOf(modifier); + if (modIndex == -1) + return false; + + spec = spec.Remove(modIndex, modifier.Length); + return true; + } + + } +} diff --git a/OnTopReplica/Native/ITaskBarList.cs b/OnTopReplica/Native/ITaskBarList.cs new file mode 100644 index 0000000..e4a53bb --- /dev/null +++ b/OnTopReplica/Native/ITaskBarList.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + [ComImport, + Guid("56fdf342-fd6d-11d0-958a-006097c9a090"), + InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] + public interface ITaskbarList { + /// + /// Initializes the taskbar list object. This method must be called before any other ITaskbarList methods can be called. + /// + void HrInit(); + + /// + /// Adds an item to the taskbar. + /// + /// A handle to the window to be added to the taskbar. + void AddTab([In] IntPtr hWnd); + + /// + /// Deletes an item from the taskbar. + /// + /// A handle to the window to be deleted from the taskbar. + void DeleteTab([In] IntPtr hWnd); + + /// + /// Activates an item on the taskbar. The window is not actually activated; the window's item on the taskbar is merely displayed as active. + /// + /// A handle to the window on the taskbar to be displayed as active. + void ActivateTab([In] IntPtr hWnd); + + /// + /// Marks a taskbar item as active but does not visually activate it. + /// + /// A handle to the window to be marked as active. + void SetActiveAlt([In] IntPtr hWnd); + } + + [ComImport] + [Guid("56fdf344-fd6d-11d0-958a-006097c9a090")] + public class CoTaskbarList { + } +} diff --git a/OnTopReplica/Native/InputMethods.cs b/OnTopReplica/Native/InputMethods.cs new file mode 100644 index 0000000..fe8233e --- /dev/null +++ b/OnTopReplica/Native/InputMethods.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + static class InputMethods { + + [DllImport("user32.dll")] + static extern short GetKeyState(VirtualKeyState nVirtKey); + + const int KeyToggled = 0x1; + + const int KeyPressed = 0x8000; + + public static bool IsKeyPressed(VirtualKeyState virtKey) { + return (GetKeyState(virtKey) & KeyPressed) != 0; + } + + public static bool IsKeyToggled(VirtualKeyState virtKey) { + return (GetKeyState(virtKey) & KeyToggled) != 0; + } + + } +} diff --git a/OnTopReplica/Native/MK.cs b/OnTopReplica/Native/MK.cs new file mode 100644 index 0000000..90c7e90 --- /dev/null +++ b/OnTopReplica/Native/MK.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Mouse click codes. + /// + static class MK { + public const int LBUTTON = 0x0001; + public const int RBUTTON = 0x0002; + public const int MBUTTON = 0x0010; + } +} diff --git a/OnTopReplica/Native/MessagingMethods.cs b/OnTopReplica/Native/MessagingMethods.cs new file mode 100644 index 0000000..cabe03e --- /dev/null +++ b/OnTopReplica/Native/MessagingMethods.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common methods for Win32 messaging. + /// + static class MessagingMethods { + + [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)] + public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + [Flags] + public enum SendMessageTimeoutFlags : uint { + AbortIfHung = 2, + Block = 1, + Normal = 0 + } + + [DllImport("user32.dll")] + public static extern IntPtr SendMessageTimeout(IntPtr hwnd, uint message, IntPtr wparam, IntPtr lparam, SendMessageTimeoutFlags flags, uint timeout, out IntPtr result); + + [return: MarshalAs(UnmanagedType.Bool)] + [DllImport("user32.dll", SetLastError = false)] + public static extern bool PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam); + + public static IntPtr MakeLParam(int LoWord, int HiWord) { + return new IntPtr((HiWord << 16) | (LoWord & 0xffff)); + } + + } +} diff --git a/OnTopReplica/Native/Point.cs b/OnTopReplica/Native/Point.cs new file mode 100644 index 0000000..c34db85 --- /dev/null +++ b/OnTopReplica/Native/Point.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Native Point structure. + /// + [StructLayout(LayoutKind.Sequential)] + public struct NPoint { + public int X, Y; + + public NPoint(int x, int y) { + X = x; + Y = y; + } + + public NPoint(NPoint copy) { + X = copy.X; + Y = copy.Y; + } + + public static NPoint FromPoint(System.Drawing.Point point) { + return new NPoint(point.X, point.Y); + } + + public System.Drawing.Point ToPoint() { + return new System.Drawing.Point(X, Y); + } + + public override string ToString() { + return "{" + X + "," + Y + "}"; + } + } +} diff --git a/OnTopReplica/Native/Rectangle.cs b/OnTopReplica/Native/Rectangle.cs new file mode 100644 index 0000000..cb138c8 --- /dev/null +++ b/OnTopReplica/Native/Rectangle.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// A native Rectangle Structure. + [StructLayout(LayoutKind.Sequential)] + struct NRectangle { + public NRectangle(int left, int top, int right, int bottom) { + Left = left; + Top = top; + Right = right; + Bottom = bottom; + } + + public NRectangle(System.Drawing.Rectangle rect) { + Left = rect.X; + Top = rect.Y; + Right = rect.Right; + Bottom = rect.Bottom; + } + + public int Left; + public int Top; + public int Right; + public int Bottom; + + public int Width { + get { + return Right - Left; + } + } + public int Height { + get { + return Bottom - Top; + } + } + + public System.Drawing.Rectangle ToRectangle() { + return new System.Drawing.Rectangle(Left, Top, Right - Left, Bottom - Top); + } + + public System.Drawing.Size Size { + get { + return new System.Drawing.Size(Width, Height); + } + } + + public override string ToString() { + return string.Format("{{{0},{1},{2},{3}}}", Left, Top, Right, Bottom); + } + + } +} diff --git a/OnTopReplica/Native/VirtualKeyState.cs b/OnTopReplica/Native/VirtualKeyState.cs new file mode 100644 index 0000000..91e94a0 --- /dev/null +++ b/OnTopReplica/Native/VirtualKeyState.cs @@ -0,0 +1,193 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + enum VirtualKeyState : int { + VK_LBUTTON = 0x01, + VK_RBUTTON = 0x02, + VK_CANCEL = 0x03, + VK_MBUTTON = 0x04, + // + VK_XBUTTON1 = 0x05, + VK_XBUTTON2 = 0x06, + // + VK_BACK = 0x08, + VK_TAB = 0x09, + // + VK_CLEAR = 0x0C, + VK_RETURN = 0x0D, + // + VK_SHIFT = 0x10, + VK_CONTROL = 0x11, + VK_MENU = 0x12, + VK_PAUSE = 0x13, + VK_CAPITAL = 0x14, + // + VK_KANA = 0x15, + VK_HANGEUL = 0x15, /* old name - should be here for compatibility */ + VK_HANGUL = 0x15, + VK_JUNJA = 0x17, + VK_FINAL = 0x18, + VK_HANJA = 0x19, + VK_KANJI = 0x19, + // + VK_ESCAPE = 0x1B, + // + VK_CONVERT = 0x1C, + VK_NONCONVERT = 0x1D, + VK_ACCEPT = 0x1E, + VK_MODECHANGE = 0x1F, + // + VK_SPACE = 0x20, + VK_PRIOR = 0x21, + VK_NEXT = 0x22, + VK_END = 0x23, + VK_HOME = 0x24, + VK_LEFT = 0x25, + VK_UP = 0x26, + VK_RIGHT = 0x27, + VK_DOWN = 0x28, + VK_SELECT = 0x29, + VK_PRINT = 0x2A, + VK_EXECUTE = 0x2B, + VK_SNAPSHOT = 0x2C, + VK_INSERT = 0x2D, + VK_DELETE = 0x2E, + VK_HELP = 0x2F, + // + VK_LWIN = 0x5B, + VK_RWIN = 0x5C, + VK_APPS = 0x5D, + // + VK_SLEEP = 0x5F, + // + VK_NUMPAD0 = 0x60, + VK_NUMPAD1 = 0x61, + VK_NUMPAD2 = 0x62, + VK_NUMPAD3 = 0x63, + VK_NUMPAD4 = 0x64, + VK_NUMPAD5 = 0x65, + VK_NUMPAD6 = 0x66, + VK_NUMPAD7 = 0x67, + VK_NUMPAD8 = 0x68, + VK_NUMPAD9 = 0x69, + VK_MULTIPLY = 0x6A, + VK_ADD = 0x6B, + VK_SEPARATOR = 0x6C, + VK_SUBTRACT = 0x6D, + VK_DECIMAL = 0x6E, + VK_DIVIDE = 0x6F, + VK_F1 = 0x70, + VK_F2 = 0x71, + VK_F3 = 0x72, + VK_F4 = 0x73, + VK_F5 = 0x74, + VK_F6 = 0x75, + VK_F7 = 0x76, + VK_F8 = 0x77, + VK_F9 = 0x78, + VK_F10 = 0x79, + VK_F11 = 0x7A, + VK_F12 = 0x7B, + VK_F13 = 0x7C, + VK_F14 = 0x7D, + VK_F15 = 0x7E, + VK_F16 = 0x7F, + VK_F17 = 0x80, + VK_F18 = 0x81, + VK_F19 = 0x82, + VK_F20 = 0x83, + VK_F21 = 0x84, + VK_F22 = 0x85, + VK_F23 = 0x86, + VK_F24 = 0x87, + // + VK_NUMLOCK = 0x90, + VK_SCROLL = 0x91, + // + VK_OEM_NEC_EQUAL = 0x92, // '=' key on numpad + // + VK_OEM_FJ_JISHO = 0x92, // 'Dictionary' key + VK_OEM_FJ_MASSHOU = 0x93, // 'Unregister word' key + VK_OEM_FJ_TOUROKU = 0x94, // 'Register word' key + VK_OEM_FJ_LOYA = 0x95, // 'Left OYAYUBI' key + VK_OEM_FJ_ROYA = 0x96, // 'Right OYAYUBI' key + // + VK_LSHIFT = 0xA0, + VK_RSHIFT = 0xA1, + VK_LCONTROL = 0xA2, + VK_RCONTROL = 0xA3, + VK_LMENU = 0xA4, + VK_RMENU = 0xA5, + // + VK_BROWSER_BACK = 0xA6, + VK_BROWSER_FORWARD = 0xA7, + VK_BROWSER_REFRESH = 0xA8, + VK_BROWSER_STOP = 0xA9, + VK_BROWSER_SEARCH = 0xAA, + VK_BROWSER_FAVORITES = 0xAB, + VK_BROWSER_HOME = 0xAC, + // + VK_VOLUME_MUTE = 0xAD, + VK_VOLUME_DOWN = 0xAE, + VK_VOLUME_UP = 0xAF, + VK_MEDIA_NEXT_TRACK = 0xB0, + VK_MEDIA_PREV_TRACK = 0xB1, + VK_MEDIA_STOP = 0xB2, + VK_MEDIA_PLAY_PAUSE = 0xB3, + VK_LAUNCH_MAIL = 0xB4, + VK_LAUNCH_MEDIA_SELECT = 0xB5, + VK_LAUNCH_APP1 = 0xB6, + VK_LAUNCH_APP2 = 0xB7, + // + VK_OEM_1 = 0xBA, // ';:' for US + VK_OEM_PLUS = 0xBB, // '+' any country + VK_OEM_COMMA = 0xBC, // ',' any country + VK_OEM_MINUS = 0xBD, // '-' any country + VK_OEM_PERIOD = 0xBE, // '.' any country + VK_OEM_2 = 0xBF, // '/?' for US + VK_OEM_3 = 0xC0, // '`~' for US + // + VK_OEM_4 = 0xDB, // '[{' for US + VK_OEM_5 = 0xDC, // '\|' for US + VK_OEM_6 = 0xDD, // ']}' for US + VK_OEM_7 = 0xDE, // ''"' for US + VK_OEM_8 = 0xDF, + // + VK_OEM_AX = 0xE1, // 'AX' key on Japanese AX kbd + VK_OEM_102 = 0xE2, // "<>" or "\|" on RT 102-key kbd. + VK_ICO_HELP = 0xE3, // Help key on ICO + VK_ICO_00 = 0xE4, // 00 key on ICO + // + VK_PROCESSKEY = 0xE5, + // + VK_ICO_CLEAR = 0xE6, + // + VK_PACKET = 0xE7, + // + VK_OEM_RESET = 0xE9, + VK_OEM_JUMP = 0xEA, + VK_OEM_PA1 = 0xEB, + VK_OEM_PA2 = 0xEC, + VK_OEM_PA3 = 0xED, + VK_OEM_WSCTRL = 0xEE, + VK_OEM_CUSEL = 0xEF, + VK_OEM_ATTN = 0xF0, + VK_OEM_FINISH = 0xF1, + VK_OEM_COPY = 0xF2, + VK_OEM_AUTO = 0xF3, + VK_OEM_ENLW = 0xF4, + VK_OEM_BACKTAB = 0xF5, + // + VK_ATTN = 0xF6, + VK_CRSEL = 0xF7, + VK_EXSEL = 0xF8, + VK_EREOF = 0xF9, + VK_PLAY = 0xFA, + VK_ZOOM = 0xFB, + VK_NONAME = 0xFC, + VK_PA1 = 0xFD, + VK_OEM_CLEAR = 0xFE + } +} diff --git a/OnTopReplica/Native/WM.cs b/OnTopReplica/Native/WM.cs new file mode 100644 index 0000000..eddcd01 --- /dev/null +++ b/OnTopReplica/Native/WM.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Windows Message codes. + /// + static class WM { + public const int GETICON = 0x7f; + public const int SIZING = 0x214; + public const int NCHITTEST = 0x84; + public const int NCPAINT = 0x0085; + public const int LBUTTONDOWN = 0x0201; + public const int LBUTTONUP = 0x0202; + public const int LBUTTONDBLCLK = 0x0203; + public const int RBUTTONDOWN = 0x0204; + public const int RBUTTONUP = 0x0205; + public const int RBUTTONDBLCLK = 0x0206; + public const int NCLBUTTONUP = 0x00A2; + public const int NCLBUTTONDOWN = 0x00A1; + public const int NCLBUTTONDBLCLK = 0x00A3; + public const int NCRBUTTONUP = 0x00A5; + public const int SYSCOMMAND = 0x0112; + public const int GETTEXT = 0x000D; + public const int GETTEXTLENGTH = 0x000E; + } +} diff --git a/OnTopReplica/Native/WMSZ.cs b/OnTopReplica/Native/WMSZ.cs new file mode 100644 index 0000000..2052280 --- /dev/null +++ b/OnTopReplica/Native/WMSZ.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Native { + /// + /// Native Win32 sizing codes (used by WM_SIZING message). + /// + static class WMSZ { + public const int LEFT = 1; + public const int RIGHT = 2; + public const int TOP = 3; + public const int BOTTOM = 6; + } +} diff --git a/OnTopReplica/Native/WindowManagerMethods.cs b/OnTopReplica/Native/WindowManagerMethods.cs new file mode 100644 index 0000000..fdf4cb2 --- /dev/null +++ b/OnTopReplica/Native/WindowManagerMethods.cs @@ -0,0 +1,103 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 Window Manager native methods. + /// + static class WindowManagerMethods { + + [DllImport("user32.dll")] + public static extern IntPtr GetForegroundWindow(); + + [DllImport("user32.dll")] + public static extern IntPtr RealChildWindowFromPoint(IntPtr parent, NPoint point); + + [return: MarshalAs(UnmanagedType.Bool)] + public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool EnumWindows(EnumWindowsProc lpEnumFunc, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool EnumChildWindows(IntPtr hWnd, EnumWindowsProc lpEnumFunc, IntPtr lParam); + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool IsWindowVisible(IntPtr hWnd); + + [DllImport("user32.dll")] + public static extern IntPtr GetDesktopWindow(); + + [DllImport("user32.dll")] + static extern bool ClientToScreen(IntPtr hwnd, ref NPoint point); + + /// + /// Converts a point in client coordinates of a window to screen coordinates. + /// + /// Handle to the window of the original point. + /// Point expressed in client coordinates. + /// Point expressed in screen coordinates. + public static NPoint ClientToScreen(IntPtr hwnd, NPoint clientPoint) { + NPoint localCopy = new NPoint(clientPoint); + + if (ClientToScreen(hwnd, ref localCopy)) + return localCopy; + else + return new NPoint(); + } + + [DllImport("user32.dll")] + static extern bool ScreenToClient(IntPtr hwnd, ref NPoint point); + + /// + /// Converts a point in screen coordinates in client coordinates relative to a window. + /// + /// Handle of the window whose client coordinate system should be used. + /// Point expressed in screen coordinates. + /// Point expressed in client coordinates. + public static NPoint ScreenToClient(IntPtr hwnd, NPoint screenPoint) { + NPoint localCopy = new NPoint(screenPoint); + + if (ScreenToClient(hwnd, ref localCopy)) + return localCopy; + else + return new NPoint(); + } + + [DllImport("user32.dll", CharSet = CharSet.Auto)] + public static extern IntPtr GetParent(IntPtr hWnd); + + [DllImport("user32.dll", SetLastError = false)] + public static extern bool SetForegroundWindow(IntPtr hwnd); + + public enum GetWindowMode : uint { + GW_HWNDFIRST = 0, + GW_HWNDLAST = 1, + GW_HWNDNEXT = 2, + GW_HWNDPREV = 3, + GW_OWNER = 4, + GW_CHILD = 5, + GW_ENABLEDPOPUP = 6 + } + + [DllImport("user32.dll")] + public static extern IntPtr GetWindow(IntPtr hwnd, GetWindowMode mode); + + /// + /// Checks whether a window is a top-level window (has no owner nor parent window). + /// + /// Handle to the window to check. + public static bool IsTopLevel(IntPtr hwnd) { + bool hasParent = WindowManagerMethods.GetParent(hwnd).ToInt64() != 0; + bool hasOwner = WindowManagerMethods.GetWindow(hwnd, WindowManagerMethods.GetWindowMode.GW_OWNER).ToInt64() != 0; + + return (!hasParent && !hasOwner); + } + + } +} diff --git a/OnTopReplica/Native/WindowMethods.cs b/OnTopReplica/Native/WindowMethods.cs new file mode 100644 index 0000000..06caede --- /dev/null +++ b/OnTopReplica/Native/WindowMethods.cs @@ -0,0 +1,141 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + /// + /// Common Win32 methods for operating on windows. + /// + static class WindowMethods { + + [DllImport("user32.dll", SetLastError = true)] + public static extern bool GetClientRect(IntPtr handle, out NRectangle rect); + + [DllImport("user32.dll", SetLastError = true)] + public static extern bool GetWindowRect(IntPtr handle, out NRectangle rect); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount); + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern int GetWindowTextLength(IntPtr hWnd); + + /// + /// Gets a window's text via API call. + /// + /// Window handle. + /// Title of the window. + public static string GetWindowText(IntPtr hwnd) { + int length = GetWindowTextLength(hwnd); + + if (length > 0) { + StringBuilder sb = new StringBuilder(length + 1); + if (WindowMethods.GetWindowText(hwnd, sb, sb.Capacity) > 0) + return sb.ToString(); + else + return String.Empty; + } + else + return String.Empty; + } + + const int MaxClassLength = 255; + + public static string GetWindowClass(IntPtr hwnd) { + var sb = new StringBuilder(MaxClassLength + 1); + RealGetWindowClass(hwnd, sb, MaxClassLength); + return sb.ToString(); + } + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern uint RealGetWindowClass(IntPtr hwnd, [Out] StringBuilder lpString, uint maxCount); + + public enum WindowLong { + WndProc = (-4), + HInstance = (-6), + HwndParent = (-8), + Style = (-16), + ExStyle = (-20), + UserData = (-21), + Id = (-12) + } + + public enum ClassLong { + Icon = -14, + IconSmall = -34 + } + + [Flags] + public enum WindowStyles : long { + None = 0, + Disabled = 0x8000000L, + Minimize = 0x20000000L, + MinimizeBox = 0x20000L, + Visible = 0x10000000L + } + + [Flags] + public enum WindowExStyles : long { + AppWindow = 0x40000, + Layered = 0x80000, + NoActivate = 0x8000000L, + ToolWindow = 0x80, + TopMost = 8, + Transparent = 0x20 + } + + public static IntPtr GetWindowLong(IntPtr hWnd, WindowLong i) { + if (IntPtr.Size == 8) { + return GetWindowLongPtr64(hWnd, i); + } + else { + return new IntPtr(GetWindowLong32(hWnd, i)); + } + } + + [DllImport("user32.dll", EntryPoint = "GetWindowLong")] + static extern int GetWindowLong32(IntPtr hWnd, WindowLong nIndex); + + [DllImport("user32.dll", EntryPoint = "GetWindowLongPtr")] + static extern IntPtr GetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex); + + public static IntPtr SetWindowLong(IntPtr hWnd, WindowLong i, IntPtr dwNewLong) { + if (IntPtr.Size == 8) { + return SetWindowLongPtr64(hWnd, i, dwNewLong); + } + else { + return new IntPtr(SetWindowLong32(hWnd, i, dwNewLong.ToInt32())); + } + } + + [DllImport("user32.dll", EntryPoint = "SetWindowLong")] + static extern int SetWindowLong32(IntPtr hWnd, WindowLong nIndex, int dwNewLong); + + [DllImport("user32.dll", EntryPoint = "SetWindowLongPtr")] + static extern IntPtr SetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex, IntPtr dwNewLong); + + #region Class styles + + [DllImport("user32.dll", EntryPoint = "GetClassLongPtrW")] + static extern IntPtr GetClassLong64(IntPtr hWnd, int nIndex); + + [DllImport("user32.dll", EntryPoint = "GetClassLongW")] + static extern int GetClassLong32(IntPtr hWnd, int nIndex); + + public static IntPtr GetClassLong(IntPtr hWnd, ClassLong i) { + if (IntPtr.Size == 8) { + return GetClassLong64(hWnd, (int)i); + } + else { + return new IntPtr(GetClassLong32(hWnd, (int)i)); + } + } + + #endregion + + [DllImport("user32.dll")] + public static extern IntPtr GetMenu(IntPtr hwnd); + + } +} diff --git a/OnTopReplica/Native/WindowsSevenMethods.cs b/OnTopReplica/Native/WindowsSevenMethods.cs new file mode 100644 index 0000000..88e5cf5 --- /dev/null +++ b/OnTopReplica/Native/WindowsSevenMethods.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; + +namespace OnTopReplica.Native { + + static class WindowsSevenMethods { + + [DllImport("shell32.dll")] + internal static extern void SetCurrentProcessExplicitAppUserModelID( + [MarshalAs(UnmanagedType.LPWStr)] string appId); + + [DllImport("shell32.dll")] + internal static extern void GetCurrentProcessExplicitAppUserModelID( + [Out(), MarshalAs(UnmanagedType.LPWStr)] out string appId); + + } + +} diff --git a/OnTopReplica/NativeToolStripRenderer.cs b/OnTopReplica/NativeToolStripRenderer.cs new file mode 100644 index 0000000..4427e04 --- /dev/null +++ b/OnTopReplica/NativeToolStripRenderer.cs @@ -0,0 +1,601 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using System.Diagnostics.CodeAnalysis; +using System.Windows.Forms; +using System.Windows.Forms.VisualStyles; +using System.Runtime.InteropServices; + +namespace Asztal.Szótár { + public enum ToolbarTheme { + Toolbar, + MediaToolbar, + CommunicationsToolbar, + BrowserTabBar + } + + /// + /// Renders a toolstrip using the UxTheme API via VisualStyleRenderer. Visual styles must be supported for this to work; if you need to support other operating systems use + /// + class UXThemeToolStripRenderer : ToolStripSystemRenderer { + /// + /// It shouldn't be necessary to P/Invoke like this, however a bug in VisualStyleRenderer.GetMargins forces my hand. + /// + static internal class NativeMethods { + [StructLayout(LayoutKind.Sequential, Pack = 1)] + public struct MARGINS { + public int cxLeftWidth; + public int cxRightWidth; + public int cyTopHeight; + public int cyBottomHeight; + } + + [DllImport("uxtheme", ExactSpelling = true)] + public extern static Int32 GetThemeMargins(IntPtr hTheme, IntPtr hdc, int iPartId, int iStateId, int iPropId, IntPtr rect, out MARGINS pMargins); + } + + //See http://msdn2.microsoft.com/en-us/library/bb773210.aspx - "Parts and States" + #region Parts and States + + enum MenuParts : int { + MENU_MENUITEM_TMSCHEMA = 1, + MENU_MENUDROPDOWN_TMSCHEMA = 2, + MENU_MENUBARITEM_TMSCHEMA = 3, + MENU_MENUBARDROPDOWN_TMSCHEMA = 4, + MENU_CHEVRON_TMSCHEMA = 5, + MENU_SEPARATOR_TMSCHEMA = 6, + MENU_BARBACKGROUND = 7, + MENU_BARITEM = 8, + MENU_POPUPBACKGROUND = 9, + MENU_POPUPBORDERS = 10, + MENU_POPUPCHECK = 11, + MENU_POPUPCHECKBACKGROUND = 12, + MENU_POPUPGUTTER = 13, + MENU_POPUPITEM = 14, + MENU_POPUPSEPARATOR = 15, + MENU_POPUPSUBMENU = 16, + MENU_SYSTEMCLOSE = 17, + MENU_SYSTEMMAXIMIZE = 18, + MENU_SYSTEMMINIMIZE = 19, + MENU_SYSTEMRESTORE = 20 + } + + enum MenuBarStates : int { + MB_ACTIVE = 1, + MB_INACTIVE = 2 + } + + enum MenuBarItemStates : int { + MBI_NORMAL = 1, + MBI_HOT = 2, + MBI_PUSHED = 3, + MBI_DISABLED = 4, + MBI_DISABLEDHOT = 5, + MBI_DISABLEDPUSHED = 6 + } + + enum MenuPopupItemStates : int { + MPI_NORMAL = 1, + MPI_HOT = 2, + MPI_DISABLED = 3, + MPI_DISABLEDHOT = 4 + } + + enum MenuPopupCheckStates : int { + MC_CHECKMARKNORMAL = 1, + MC_CHECKMARKDISABLED = 2, + MC_BULLETNORMAL = 3, + MC_BULLETDISABLED = 4 + } + + enum MenuPopupCheckBackgroundStates : int { + MCB_DISABLED = 1, + MCB_NORMAL = 2, + MCB_BITMAP = 3 + } + + enum MenuPopupSubMenuStates : int { + MSM_NORMAL = 1, + MSM_DISABLED = 2 + } + + enum MarginTypes : int { + TMT_SIZINGMARGINS = 3601, + TMT_CONTENTMARGINS = 3602, + TMT_CAPTIONMARGINS = 3603 + } + + const int RP_BACKGROUND = 6; + + #endregion + + #region Theme helpers + + Padding GetThemeMargins(IDeviceContext dc, MarginTypes marginType) { + NativeMethods.MARGINS margins; + try { + IntPtr hDC = dc.GetHdc(); + if (0 == NativeMethods.GetThemeMargins(renderer.Handle, hDC, renderer.Part, renderer.State, (int)marginType, IntPtr.Zero, out margins)) + return new Padding(margins.cxLeftWidth, margins.cyTopHeight, margins.cxRightWidth, margins.cyBottomHeight); + return new Padding(-1); + } finally { + dc.ReleaseHdc(); + } + } + + private static int GetItemState(ToolStripItem item) { + bool pressed = item.Pressed; + bool hot = item.Selected; + + if (item.Owner.IsDropDown) { + if (item.Enabled) + return hot ? (int)MenuPopupItemStates.MPI_HOT : (int)MenuPopupItemStates.MPI_NORMAL; + return hot ? (int)MenuPopupItemStates.MPI_DISABLEDHOT : (int)MenuPopupItemStates.MPI_DISABLED; + } else { + if (pressed) + return item.Enabled ? (int)MenuBarItemStates.MBI_PUSHED : (int)MenuBarItemStates.MBI_DISABLEDPUSHED; + if (item.Enabled) + return hot ? (int)MenuBarItemStates.MBI_HOT : (int)MenuBarItemStates.MBI_NORMAL; + return hot ? (int)MenuBarItemStates.MBI_DISABLEDHOT : (int)MenuBarItemStates.MBI_DISABLED; + } + } + + #endregion + + #region Theme subclasses + + public ToolbarTheme Theme { + get; set; + } + + private string RebarClass { + get { + return SubclassPrefix + "Rebar"; + } + } + + private string ToolbarClass { + get { + return SubclassPrefix + "ToolBar"; + } + } + + private string MenuClass { + get { + return SubclassPrefix + "Menu"; + } + } + + private string SubclassPrefix { + get { + switch (Theme) { + case ToolbarTheme.MediaToolbar: return "Media::"; + case ToolbarTheme.CommunicationsToolbar: return "Communications::"; + case ToolbarTheme.BrowserTabBar: return "BrowserTabBar::"; + default: return string.Empty; + } + } + } + + private VisualStyleElement Subclass(VisualStyleElement element) { + return VisualStyleElement.CreateElement(SubclassPrefix + element.ClassName, + element.Part, element.State); + } + + #endregion + + VisualStyleRenderer renderer; + + public UXThemeToolStripRenderer(ToolbarTheme theme) { + Theme = theme; + renderer = new VisualStyleRenderer(VisualStyleElement.Button.PushButton.Normal); + } + + #region Borders + protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPBORDERS, 0); + if (e.ToolStrip.IsDropDown) { + Region oldClip = e.Graphics.Clip; + + //Tool strip borders are rendered *after* the content, for some reason. + //So we have to exclude the inside of the popup otherwise we'll draw over it. + Rectangle insideRect = e.ToolStrip.ClientRectangle; + insideRect.Inflate(-1, -1); + e.Graphics.ExcludeClip(insideRect); + + renderer.DrawBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.AffectedBounds); + + //Restore the old clip in case the Graphics is used again (does that ever happen?) + e.Graphics.Clip = oldClip; + } + } + #endregion + + #region Backgrounds + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { + int partId = e.Item.Owner.IsDropDown ? (int)MenuParts.MENU_POPUPITEM : (int)MenuParts.MENU_BARITEM; + renderer.SetParameters(MenuClass, partId, GetItemState(e.Item)); + + Rectangle bgRect = e.Item.ContentRectangle; + + Padding content = GetThemeMargins(e.Graphics, MarginTypes.TMT_CONTENTMARGINS), + sizing = GetThemeMargins(e.Graphics, MarginTypes.TMT_SIZINGMARGINS), + caption = GetThemeMargins(e.Graphics, MarginTypes.TMT_CAPTIONMARGINS); + + if (!e.Item.Owner.IsDropDown) { + bgRect.Y = 0; + bgRect.Height = e.ToolStrip.Height; + bgRect.Inflate(-1, -1); //GetMargins here perhaps? + } + + renderer.DrawBackground(e.Graphics, bgRect, bgRect); + } + + protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e) { + //Draw the background using Rebar & RP_BACKGROUND (or, if that is not available, fall back to + //Rebar.Band.Normal) + if (VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement(RebarClass, RP_BACKGROUND, 0))) { + renderer.SetParameters(RebarClass, RP_BACKGROUND, 0); + } else { + renderer.SetParameters(RebarClass, 0, 0); + //renderer.SetParameters(VisualStyleElement.Taskbar.BackgroundBottom.Normal); + //renderer.SetParameters(Subclass(VisualStyleElement.Rebar.Band.Normal)); + } + + if (renderer.IsBackgroundPartiallyTransparent()) + renderer.DrawParentBackground(e.Graphics, e.ToolStripPanel.ClientRectangle, e.ToolStripPanel); + + renderer.DrawBackground(e.Graphics, e.ToolStripPanel.ClientRectangle); + + //Draw the etched edges of each row. + //renderer.SetParameters(Subclass(VisualStyleElement.Rebar.Band.Normal)); + //foreach (ToolStripPanelRow row in e.ToolStripPanel.Rows) { + // Rectangle rowBounds = row.Bounds; + // rowBounds.Offset(0, -1); + // renderer.DrawEdge(e.Graphics, rowBounds, Edges.Top, EdgeStyle.Etched, EdgeEffects.None); + //} + + e.Handled = true; + } + + //Render the background of an actual menu bar, dropdown menu or toolbar. + protected override void OnRenderToolStripBackground(System.Windows.Forms.ToolStripRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPBACKGROUND, 0); + } else { + //It's a MenuStrip or a ToolStrip. If it's contained inside a larger panel, it should have a + //transparent background, showing the panel's background. + + if (e.ToolStrip.Parent is ToolStripPanel) { + //The background should be transparent, because the ToolStripPanel's background will be visible. + //(Of course, we assume the ToolStripPanel is drawn using the same theme, but it's not my fault + //if someone does that.) + return; + } else { + //A lone toolbar/menubar should act like it's inside a toolbox, I guess. + //Maybe I should use the MenuClass in the case of a MenuStrip, although that would break + //the other themes... + if(VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement(RebarClass, RP_BACKGROUND, 0))) + renderer.SetParameters(RebarClass, RP_BACKGROUND, 0); + else + renderer.SetParameters(RebarClass, 0, 0); + } + } + + if (renderer.IsBackgroundPartiallyTransparent()) + renderer.DrawParentBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.ToolStrip); + + renderer.DrawBackground(e.Graphics, e.ToolStrip.ClientRectangle, e.AffectedBounds); + } + + protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e) { + //e.Graphics.FillRectangle(Brushes.RosyBrown, e.ToolStripContentPanel.ClientRectangle); + //base.OnRenderToolStripContentPanelBackground(e); + } + + //Some sort of chevron thing? + //protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e) { + // base.OnRenderOverflowButtonBackground(e); + //} + #endregion + + #region Text + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { + int partId = e.Item.Owner.IsDropDown ? (int)MenuParts.MENU_POPUPITEM : (int)MenuParts.MENU_BARITEM; + renderer.SetParameters(MenuClass, partId, GetItemState(e.Item)); + Color color = renderer.GetColor(ColorProperty.TextColor); + + if(e.Item.Owner.IsDropDown || e.Item.Owner is MenuStrip) + e.TextColor = color; + + base.OnRenderItemText(e); + } + #endregion + + #region Glyphs + + //protected override void OnRenderGrip(ToolStripGripRenderEventArgs e) { + // if (e.GripStyle == ToolStripGripStyle.Visible) { + // renderer.SetParameters(VisualStyleElement.Rebar.Gripper.Normal); + // renderer.DrawBackground(e.Graphics, e.GripBounds, e.AffectedBounds); + // } + //} + + protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPGUTTER, 0); + Rectangle displayRect = e.ToolStrip.DisplayRectangle, + marginRect = new Rectangle(0, displayRect.Top, displayRect.Left, displayRect.Height); + //e.Graphics.DrawRectangle(Pens.Black, marginRect); + renderer.DrawBackground(e.Graphics, marginRect, marginRect); + } + } + + protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e) { + if (e.ToolStrip.IsDropDown) { + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPSEPARATOR, 0); + Rectangle rect = new Rectangle(e.ToolStrip.DisplayRectangle.Left, 0, e.ToolStrip.DisplayRectangle.Width, e.Item.Height); + renderer.DrawBackground(e.Graphics, rect, rect); + } else { + base.OnRenderSeparator(e); + } + } + + protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { + ToolStripMenuItem item = e.Item as ToolStripMenuItem; + if (item != null) { + if (item.Checked) { + Rectangle rect = e.Item.ContentRectangle; + rect.Width = rect.Height; + + //Center the checkmark horizontally in the gutter (looks ugly, though) + //rect.X = (e.ToolStrip.DisplayRectangle.Left - rect.Width) / 2; + + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPCHECKBACKGROUND, e.Item.Enabled ? (int)MenuPopupCheckBackgroundStates.MCB_NORMAL : (int)MenuPopupCheckBackgroundStates.MCB_DISABLED); + renderer.DrawBackground(e.Graphics, rect); + + Padding margins = GetThemeMargins(e.Graphics, MarginTypes.TMT_SIZINGMARGINS); + + rect = new Rectangle(rect.X + margins.Left, rect.Y + margins.Top, + rect.Width - margins.Horizontal, + rect.Height - margins.Vertical); + + //I don't think ToolStrip even supports radio box items. So no need to render them. + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPCHECK, e.Item.Enabled ? (int)MenuPopupCheckStates.MC_CHECKMARKNORMAL : (int)MenuPopupCheckStates.MC_CHECKMARKDISABLED); + + renderer.DrawBackground(e.Graphics, rect); + } + } else { + base.OnRenderItemCheck(e); + } + } + + //This is broken for RTL + protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { + int stateId = e.Item.Enabled ? (int)MenuPopupSubMenuStates.MSM_NORMAL : (int)MenuPopupSubMenuStates.MSM_DISABLED; + renderer.SetParameters(MenuClass, (int)MenuParts.MENU_POPUPSUBMENU, stateId); + renderer.DrawBackground(e.Graphics, e.ArrowRectangle); + } + + protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e) { + renderer.SetParameters(RebarClass, VisualStyleElement.Rebar.Chevron.Normal.Part, VisualStyleElement.Rebar.Chevron.Normal.State); + renderer.DrawBackground(e.Graphics, e.Item.ContentRectangle); + + //base.OnRenderOverflowButtonBackground(e); + } + #endregion + + private static bool? _isSupportedCache = null; + + public static bool IsSupported { + get { + if (_isSupportedCache.HasValue) + return _isSupportedCache.Value; + + if (!VisualStyleRenderer.IsSupported) { + _isSupportedCache = false; + return false; + } + + _isSupportedCache = VisualStyleRenderer.IsElementDefined(VisualStyleElement.CreateElement("MENU", (int)MenuParts.MENU_BARBACKGROUND, (int)MenuBarStates.MB_ACTIVE)); + return _isSupportedCache.Value; + } + } + } + + /// + /// Renders a toolstrip using UXTheme if possible, and switches back to the default + /// ToolStripRenderer when UXTheme-based rendering is not available. + /// Designed for menu bars and context menus - it is not guaranteed to work with anything else. + /// + /// + /// NativeToolStripRenderer.SetToolStripRenderer(toolStrip1, toolStrip2, contextMenuStrip1); + /// + /// + /// toolStrip1.Renderer = new NativeToolStripRenderer(); + /// + public class NativeToolStripRenderer : ToolStripRenderer { + UXThemeToolStripRenderer nativeRenderer; + ToolStripRenderer defaultRenderer; + ToolStrip toolStrip; + + //NativeToolStripRenderer looks best with no padding - but keep the old padding in case the + //visual styles become unsupported again (e.g. user changes to windows classic skin) + Padding defaultPadding; + + #region Constructors + /// + /// Creates a NativeToolStripRenderer for a particular ToolStrip. NativeToolStripRenderer will subscribe to some events + /// of this ToolStrip. + /// + /// The toolstrip for this NativeToolStripRenderer. NativeToolStripRenderer will subscribe to some events + /// of this ToolStrip. + public NativeToolStripRenderer(ToolStrip toolStrip, ToolbarTheme theme) { + if (toolStrip == null) + throw new ArgumentNullException("toolStrip", "ToolStrip cannot be null."); + + Theme = theme; + + this.toolStrip = toolStrip; + defaultRenderer = toolStrip.Renderer; + + defaultPadding = toolStrip.Padding; + toolStrip.SystemColorsChanged += new EventHandler(toolStrip_SystemColorsChanged); + + //Can't initialize here - constructor throws if visual styles not enabled + //nativeRenderer = new NativeToolStripRenderer(); + } + + public NativeToolStripRenderer(ToolStripPanel panel, ToolbarTheme theme) { + if (panel == null) + throw new ArgumentNullException("panel", "Panel cannot be null."); + + Theme = theme; + + this.toolStrip = null; + defaultRenderer = panel.Renderer; + } + #endregion + + public ToolbarTheme Theme { get; set; } + + void toolStrip_SystemColorsChanged(object sender, EventArgs e) { + if (toolStrip == null) + return; + + if (UXThemeToolStripRenderer.IsSupported) + toolStrip.Padding = Padding.Empty; + else + toolStrip.Padding = defaultPadding; + } + + //This is indeed called every time a menu part is rendered, but I can't + //find a way of caching it that I can be sure has no race conditions. + //The check is no longer very costly, anyway. + protected ToolStripRenderer ActualRenderer { + get { + bool nativeSupported = UXThemeToolStripRenderer.IsSupported; + + if (nativeSupported) { + if (nativeRenderer == null) + nativeRenderer = new UXThemeToolStripRenderer(Theme); + return nativeRenderer; + } + + return defaultRenderer; + } + } + + #region InitializeXXX + protected override void Initialize(ToolStrip toolStrip) { + base.Initialize(toolStrip); + + toolStrip.Padding = Padding.Empty; + + if (/*!(toolStrip is MenuStrip) &&*/ toolStrip.Parent is ToolStripPanel) { + toolStrip.BackColor = Color.Transparent; + } + } + + protected override void InitializePanel(ToolStripPanel toolStripPanel) { + base.InitializePanel(toolStripPanel); + } + + protected override void InitializeItem(ToolStripItem item) { + base.InitializeItem(item); + } + #endregion + + #region SetToolStripRenderer + /// + /// Sets the renderer of each ToolStrip to a NativeToolStripRenderer. A convenience method. + /// + /// A parameter list of ToolStrips. + [SuppressMessage("Microsoft.Design", "CA1062")] //The parameter array is actually checked. + public static void SetToolStripRenderer(ToolbarTheme theme, params Control[] toolStrips) { + foreach (Control ts in toolStrips) { + if (ts == null) + throw new ArgumentNullException("toolStrips", "ToolStrips cannot contain a null reference."); + } + + foreach (Control ts in toolStrips) { + if (ts is ToolStrip) { + ToolStrip t = (ToolStrip)ts; + t.Renderer = new NativeToolStripRenderer(t, theme); + } else if (ts is ToolStripPanel) { + ToolStripPanel t = (ToolStripPanel)ts; + t.Renderer = new NativeToolStripRenderer(t, theme); + } else + throw new ArgumentException("Can't set the renderer for a " + ts.GetType().Name); + } + } + + public static void SetToolStripRenderer(params Control[] toolStrips) { + SetToolStripRenderer(ToolbarTheme.Toolbar, toolStrips); + } + #endregion + + #region Overridden Methods - Deferred to actual renderer + protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { + ActualRenderer.DrawArrow(e); + } + + protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawButtonBackground(e); + } + + protected override void OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawDropDownButtonBackground(e); + } + + protected override void OnRenderGrip(ToolStripGripRenderEventArgs e) { + ActualRenderer.DrawGrip(e); + } + + protected override void OnRenderImageMargin(ToolStripRenderEventArgs e) { + ActualRenderer.DrawImageMargin(e); + } + + protected override void OnRenderItemBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawItemBackground(e); + } + + protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e) { + ActualRenderer.DrawItemCheck(e); + } + + protected override void OnRenderItemImage(ToolStripItemImageRenderEventArgs e) { + ActualRenderer.DrawItemImage(e); + } + + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) { + ActualRenderer.DrawItemText(e); + } + + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) { + ActualRenderer.DrawMenuItemBackground(e); + } + + protected override void OnRenderSeparator(ToolStripSeparatorRenderEventArgs e) { + ActualRenderer.DrawSeparator(e); + } + + protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e) { + ActualRenderer.DrawToolStripBackground(e); + } + + protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { + ActualRenderer.DrawToolStripBorder(e); + } + + protected override void OnRenderToolStripContentPanelBackground(ToolStripContentPanelRenderEventArgs e) { + ActualRenderer.DrawToolStripContentPanelBackground(e); + } + + protected override void OnRenderToolStripPanelBackground(ToolStripPanelRenderEventArgs e) { + ActualRenderer.DrawToolStripPanelBackground(e); + } + #endregion + } +} diff --git a/OnTopReplica/NotificationIcon.cs b/OnTopReplica/NotificationIcon.cs new file mode 100644 index 0000000..08292ae --- /dev/null +++ b/OnTopReplica/NotificationIcon.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica { + /// + /// Notification icon that installs itself in the "tray" and manipulates the OnTopReplica main form. + /// + class NotificationIcon : IDisposable { + + public NotificationIcon(MainForm form) { + Form = form; + Install(); + } + + public MainForm Form { get; private set; } + + NotifyIcon _taskIcon; + ContextMenuStrip _contextMenu; + + private void Install() { + _contextMenu = new ContextMenuStrip(); + _contextMenu.Items.AddRange(new ToolStripItem[] { + new ToolStripMenuItem(Strings.MenuOpen, Resources.icon, TaskIconOpen_click) { + ToolTipText = Strings.MenuOpenTT, + }, + new ToolStripMenuItem(Strings.MenuWindows, Resources.list){ + DropDown = Form.MenuWindows, + ToolTipText = Strings.MenuWindowsTT + }, + new ToolStripMenuItem(Strings.MenuReset, null, TaskIconReset_click){ + ToolTipText = Strings.MenuResetTT + }, + new ToolStripMenuItem(Strings.MenuClose, Resources.close_new, TaskIconExit_click){ + ToolTipText = Strings.MenuCloseTT + } + }); + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer(_contextMenu); + + _taskIcon = new NotifyIcon { + Text = Strings.ApplicationName, + Icon = Resources.icon_new, + Visible = true, + ContextMenuStrip = _contextMenu + }; + _taskIcon.DoubleClick += new EventHandler(TaskIcon_doubleclick); + } + + #region IDisposable Members + + public void Dispose() { + //Destroy NotifyIcon + if (_taskIcon != null) { + _taskIcon.Visible = false; + _taskIcon.Dispose(); + _taskIcon = null; + } + } + + #endregion + + #region Task Icon events + + void TaskIcon_doubleclick(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconOpen_click(object sender, EventArgs e) { + Form.EnsureMainFormVisible(); + } + + private void TaskIconReset_click(object sender, EventArgs e) { + Form.ResetMainFormWithConfirmation(); + } + + private void TaskIconExit_click(object sender, EventArgs e) { + Form.Close(); + } + + #endregion + + } +} diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj new file mode 100644 index 0000000..0a59067 --- /dev/null +++ b/OnTopReplica/OnTopReplica.csproj @@ -0,0 +1,532 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557} + WinExe + Properties + OnTopReplica + OnTopReplica + v4.0 + 512 + Assets\icon-new.ico + false + false + Internet + OnTopReplica.Program + + + false + A305A505E19CF40E069521C80C13AB3C900EDB7C + OnTopReplica_1_TemporaryKey.pfx + false + + + + + 3.5 + + + + publish\ + true + Disk + true + Background + 1 + Weeks + true + false + true + http://www.klopfenstein.net/public/Uploads/ontopreplica/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + en + OnTopReplica + Lorenz Cuno Klopfenstein + true + publish.htm + false + 0 + 3.4.0.%2a + false + true + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + false + true + + + pdbonly + true + bin\Release\ + + + prompt + 4 + + + true + false + + + + + + + + + OnTopReplica.exe.manifest + + + + + + + + + ..\Lib\WindowsFormsAero.dll + + + + + Form + + + + + + Component + + + Component + + + Form + + + Form + + + Form + + + Form + + + + + + + + + + + + + + + + + True + True + Resources.resx + + + True + True + Settings.settings + + + Form + + + SidePanelContainer.cs + + + UserControl + + + AboutPanel.cs + + + UserControl + + + AboutPanelContents.cs + + + UserControl + + + OptionsPanel.cs + + + UserControl + + + GroupSwitchPanel.cs + + + + + True + True + Strings.resx + + + + + + + + + + + + + SidePanelContainer.cs + + + AboutPanel.cs + + + AboutPanelContents.cs + + + ResXFileCodeGenerator + Strings.pl.Designer.cs + + + ResXFileCodeGenerator + Strings.Designer.cs + + + ResXFileCodeGenerator + Strings.ru.Designer.cs + + + + + + + + + + + + + + + + + UserControl + + + + Form + + + CommandLineReportForm.cs + + + + + + + + + + + + + + + + + Component + + + Form + + + MainForm.cs + + + + + + GroupSwitchPanel.cs + + + OptionsPanel.cs + + + CommandLineReportForm.cs + + + ResXFileCodeGenerator + Strings.cs.Designer.cs + + + ResXFileCodeGenerator + Strings.da.Designer.cs + + + ResXFileCodeGenerator + Strings.de.Designer.cs + + + ResXFileCodeGenerator + Strings.es.Designer.cs + + + ResXFileCodeGenerator + Strings.fi.Designer.cs + + + ResXFileCodeGenerator + Strings.it.Designer.cs + Designer + + + MainForm.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + RegionPanel.cs + Designer + + + ResXFileCodeGenerator + Strings.no.Designer.cs + + + ResXFileCodeGenerator + Strings.pt-BR.Designer.cs + + + ResXFileCodeGenerator + Strings.pt.Designer.cs + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + UserControl + + + RegionPanel.cs + + + + + Component + + + + + + + + + + + + + + + + + + + + + + + + + + + + Always + + + Always + + + + + + + + + + + + + + + + + + + + + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 2.0 %28x86%29 + true + + + False + .NET Framework 3.0 %28x86%29 + false + + + False + .NET Framework 3.5 + false + + + False + .NET Framework 3.5 SP1 + false + + + + + + + + + + + + + + + + + + + + + + + + + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Include + True + Satellite + + + False + + + + + Include + True + Satellite + + + False + + + + + Include + True + Satellite + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.csproj.user b/OnTopReplica/OnTopReplica.csproj.user new file mode 100644 index 0000000..4b61895 --- /dev/null +++ b/OnTopReplica/OnTopReplica.csproj.user @@ -0,0 +1,23 @@ + + + + publish\ + http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/download.aspx%3ffile=ontopreplica%252fsetup.exe/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/|http://lorenz.klopfenstein.net/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&page=on_top_replica|http://www.klopfenstein.net/loader.php%3fsection=lorenz&page=programming_on_top_replica + http://www.klopfenstein.net/public/Uploads/ontopreplica/|http://www.klopfenstein.net/lorenz/programming/ontopreplica/ + + + en-US + false + + + ProjectFiles + + + false + + + + + + \ No newline at end of file diff --git a/OnTopReplica/OnTopReplica.exe.manifest b/OnTopReplica/OnTopReplica.exe.manifest new file mode 100644 index 0000000..0928f9f --- /dev/null +++ b/OnTopReplica/OnTopReplica.exe.manifest @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + Lightweight clone of a window. + + + + + + \ No newline at end of file diff --git a/OnTopReplica/PlatformSupport.cs b/OnTopReplica/PlatformSupport.cs new file mode 100644 index 0000000..5ecb432 --- /dev/null +++ b/OnTopReplica/PlatformSupport.cs @@ -0,0 +1,93 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Platforms; +using System.Windows.Forms; + +namespace OnTopReplica { + + abstract class PlatformSupport { + + /// + /// Creates a concrete PlatformSupport instance based on the OS the app is running on. + /// + public static PlatformSupport Create() { + var os = Environment.OSVersion; + + if (os.Platform != PlatformID.Win32NT) + return new Other(); + + if (os.Version.Major == 6) { + if (os.Version.Minor >= 2) + return new WindowsEight(); + else if (os.Version.Minor == 1) + return new WindowsSeven(); + else + return new WindowsVista(); + } + else if (os.Version.Major > 6) { + //Ensures forward compatibility + return new WindowsSeven(); + } + else { + //Generic NT + return new WindowsXp(); + } + } + + /// + /// Checks whether OnTopReplica is compatible with the platform. + /// + /// Returns false if OnTopReplica cannot run and should terminate right away. + public abstract bool CheckCompatibility(); + + /// + /// Initializes a form before it is fully constructed and before the window handle has been created. + /// + public virtual void PreHandleFormInit() { + } + + /// + /// Initializes a form after its handle has been created. + /// + /// Form to initialize. + public virtual void PostHandleFormInit(MainForm form) { + } + + /// + /// Called before closing a form. Called once during a form's lifetime. + /// + public virtual void CloseForm(MainForm form) { + } + + /// + /// Hides the main form in a way that it can be restored later by the user. + /// + /// Form to hide. + public virtual void HideForm(MainForm form) { + } + + /// + /// Gets whether the form is currently hidden or not. + /// + public virtual bool IsHidden(MainForm form) { + return false; + } + + /// + /// Restores the main form to its default state after is has been hidden. + /// Can be called whether the form is hidden or not. + /// + /// Form to restore. + public virtual void RestoreForm(MainForm form) { + } + + /// + /// Called when the form changes its state, without calling into or . + /// Enables inheritors to update the form's state on each state change. + /// + public virtual void OnFormStateChange(MainForm form) { + } + + } +} diff --git a/OnTopReplica/Platforms/DebugPlatform.cs b/OnTopReplica/Platforms/DebugPlatform.cs new file mode 100644 index 0000000..8b8da3a --- /dev/null +++ b/OnTopReplica/Platforms/DebugPlatform.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Platforms { + +#if DEBUG + + /// + /// Fake platform for debugging. + /// + class DebugPlatform : PlatformSupport { + + public override bool CheckCompatibility() { + return true; + } + + } + +#endif + +} diff --git a/OnTopReplica/Platforms/Other.cs b/OnTopReplica/Platforms/Other.cs new file mode 100644 index 0000000..abd253d --- /dev/null +++ b/OnTopReplica/Platforms/Other.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.Platforms { + class Other : PlatformSupport { + + public override bool CheckCompatibility() { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, + MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + } +} diff --git a/OnTopReplica/Platforms/WindowsEight.cs b/OnTopReplica/Platforms/WindowsEight.cs new file mode 100644 index 0000000..c305954 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsEight.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; + +namespace OnTopReplica.Platforms { + class WindowsEight : WindowsSeven { + + } +} diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs new file mode 100644 index 0000000..9d768a9 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -0,0 +1,61 @@ +using System; +using System.Windows.Forms; +using OnTopReplica.Native; +using WindowsFormsAero.Dwm; + +namespace OnTopReplica.Platforms { + + class WindowsSeven : WindowsVista { + + public override void PreHandleFormInit() { + //Set Application ID + WindowsSevenMethods.SetCurrentProcessExplicitAppUserModelID("LorenzCunoKlopfenstein.OnTopReplica.MainForm"); + } + + public override void PostHandleFormInit(MainForm form) { + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + DwmManager.SetExcludeFromPeek(form, true); + DwmManager.SetDisallowPeek(form, true); + } + + public override void HideForm(MainForm form) { + form.Opacity = 0; + } + + public override bool IsHidden(MainForm form) { + return (form.Opacity == 0.0); + } + + public override void RestoreForm(MainForm form) { + if (form.Opacity == 0.0) + form.Opacity = 1.0; + + form.Show(); + } + + /*public override void OnFormStateChange(MainForm form) { + //SetWindowStyle(form); + }*/ + + /// + /// Used to alter the window style. Not used anymore. + /// + private void SetWindowStyle(MainForm form) { + if (!form.IsFullscreen) { + //This hides the app from ALT+TAB + //Note that when minimized, it will be shown as an (ugly) minimized tool window + //thus we do not minimize, but set to transparent when hiding + long exStyle = WindowMethods.GetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle).ToInt64(); + + exStyle |= (long)(WindowMethods.WindowExStyles.ToolWindow); + //exStyle &= ~(long)(WindowMethods.WindowExStyles.AppWindow); + + WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle, new IntPtr(exStyle)); + + //WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.HwndParent, WindowManagerMethods.GetDesktopWindow()); + } + } + + } + +} diff --git a/OnTopReplica/Platforms/WindowsVista.cs b/OnTopReplica/Platforms/WindowsVista.cs new file mode 100644 index 0000000..368db7f --- /dev/null +++ b/OnTopReplica/Platforms/WindowsVista.cs @@ -0,0 +1,52 @@ +using System; +using System.Windows.Forms; +using WindowsFormsAero.Dwm; + +namespace OnTopReplica.Platforms { + + class WindowsVista : PlatformSupport { + + public override bool CheckCompatibility() { + if (!WindowsFormsAero.OsSupport.IsCompositionEnabled) { + MessageBox.Show(Strings.ErrorDwmOffContent, Strings.ErrorDwmOff, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + return true; + } + + NotificationIcon _icon; + + public override void PostHandleFormInit(MainForm form) { + //Do not show in task bar, but display notify icon + //NOTE: this effectively makes Windows ignore the Flip 3D policy set above (on Windows 7) + //NOTE: this also makes HotKey registration critically fail on Windows 7 + form.ShowInTaskbar = false; + + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + + _icon = new NotificationIcon(form); + } + + public override void CloseForm(MainForm form) { + if (_icon != null) { + _icon.Dispose(); + _icon = null; + } + } + + public override bool IsHidden(MainForm form) { + return !form.Visible; + } + + public override void HideForm(MainForm form) { + form.Hide(); + } + + public override void RestoreForm(MainForm form) { + form.Show(); + } + + } + +} diff --git a/OnTopReplica/Platforms/WindowsXp.cs b/OnTopReplica/Platforms/WindowsXp.cs new file mode 100644 index 0000000..88d3895 --- /dev/null +++ b/OnTopReplica/Platforms/WindowsXp.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.Platforms { + class WindowsXp : PlatformSupport { + + public override bool CheckCompatibility() { + MessageBox.Show(Strings.ErrorNoDwm, Strings.ErrorNoDwmTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); + return false; + } + + } +} diff --git a/OnTopReplica/PluginRegionLocator.cs b/OnTopReplica/PluginRegionLocator.cs new file mode 100644 index 0000000..eaebb70 --- /dev/null +++ b/OnTopReplica/PluginRegionLocator.cs @@ -0,0 +1,102 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using OnTopReplica.Native; + +namespace OnTopReplica { + /// + /// Facility class that attempts to locate the region occupied by plugins inside another window. + /// + class PluginRegionLocator { + + static PluginRegionLocator() { + _pluginClassNames = new HashSet() { + //Opera 11 Flash plugin + "aPluginWinClass", + + //IE 9 Flash plugin + "MacromediaFlashPlayerActiveX", + + //Google Chrome + "NativeWindowClass", //Flash plugin + "Chrome_RenderWidgetHostHWND", //Tab content + + //Firefox 9 Flash plugin + "GeckoPluginWindow", + }; + } + + static readonly HashSet _pluginClassNames; + + /// + /// Attempts to locate a plugin region inside a window. + /// + /// The handle to the parent window. + /// The region where a plugin window is located or null if none found. + public Rectangle? LocatePluginRegion(WindowHandle handle) { + if (handle == null) + throw new ArgumentNullException(); + + WindowManagerMethods.EnumChildWindows(handle.Handle, LocatingWndProc, IntPtr.Zero); + + if (_selectedHandle != null) { + Console.Out.WriteLine("Selected {0} '{1}' (class {2})", _selectedHandle.Handle, _selectedHandle.Title, _selectedHandle.Class); + + NRectangle rect; + WindowMethods.GetWindowRect(_selectedHandle.Handle, out rect); + + NRectangle clientRect; + WindowMethods.GetClientRect(_selectedHandle.Handle, out clientRect); + + Console.Out.WriteLine("WindowRect: {0}", rect); + + NRectangle ownerRect; + WindowMethods.GetWindowRect(handle.Handle, out ownerRect); + + Console.Out.WriteLine("Owner WindowRect: {0}", ownerRect); + + var ret = new Rectangle { + X = rect.Left - ownerRect.Left, + Y = rect.Top - ownerRect.Top, + Width = clientRect.Width, + Height = clientRect.Height + }; + + //Safety check (this may happen when the plugin client area is 0 pixel large) + if (ret.Width < 0 || ret.Height < 0) + return null; + + Console.Out.WriteLine("Selected region: {0}", ret); + + return ret; + } + else { + Console.Out.WriteLine("None found."); + return null; + } + } + + WindowHandle _selectedHandle = null; + + private bool LocatingWndProc(IntPtr handle, IntPtr lParam) { + //Skip non visible windows + if (!WindowManagerMethods.IsWindowVisible(handle)) { + return true; + } + + //Class name check + string cl = WindowMethods.GetWindowClass(handle); + System.Diagnostics.Trace.WriteLine(string.Format("Child window, class {0}", cl)); + + if (_pluginClassNames.Contains(cl)) { + //Found plugin window, stop now + _selectedHandle = new WindowHandle(handle); + return false; + } + + return true; + } + + } +} diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs new file mode 100644 index 0000000..12971ee --- /dev/null +++ b/OnTopReplica/Program.cs @@ -0,0 +1,128 @@ +using System; +using System.IO; +using System.Reflection; +using System.Threading; +using System.Windows.Forms; +using OnTopReplica.Properties; +using OnTopReplica.StartupOptions; +using OnTopReplica.Update; + +namespace OnTopReplica { + + static class Program { + + public static PlatformSupport Platform { get; private set; } + + public static UpdateManager Update { get; private set; } + + static MainForm _mainForm; + + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main(string[] args) { + //Hook fatal abort handler + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); + + //Initialize and check for platform support + Platform = PlatformSupport.Create(); + if (!Platform.CheckCompatibility()) + return; + Platform.PreHandleFormInit(); + + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + + //Update settings if needed + if (Settings.Default.MustUpdate) { + Settings.Default.Upgrade(); + Settings.Default.MustUpdate = false; + } + + //Load startup options + var options = StartupOptions.Factory.CreateOptions(args); + string optionsMessage = options.DebugMessage; + if (!string.IsNullOrEmpty(optionsMessage)) { //show dialog if debug message present or if parsing failed + var dlg = new CommandLineReportForm(options.Status, optionsMessage); + dlg.ShowDialog(); + } + if (options.Status == CliStatus.Information || options.Status == CliStatus.Error) + return; + + //Load language + Thread.CurrentThread.CurrentUICulture = Settings.Default.Language; + + //Show form + using (_mainForm = new MainForm(options)) { + Application.Idle += _handlerIdleUpdater; + + //Enter GUI loop + Application.Run(_mainForm); + + //HACK: re-enable chrome to fix position persistence (ideally, chrome status should be stored and restored - but this is not always possible) + if (!_mainForm.IsChromeVisible) + _mainForm.IsChromeVisible = true; + + //Persist settings + System.Diagnostics.Trace.WriteLine(string.Format("Persisting {0} size {1} to settings.", _mainForm.Location, _mainForm.ClientSize)); + Settings.Default.RestoreLastPosition = _mainForm.Location; + Settings.Default.RestoreLastSize = _mainForm.ClientSize; + Settings.Default.Save(); + } + } + + private static EventHandler _handlerIdleUpdater = new EventHandler(Application_Idle); + + /// + /// Callback detecting application idle time. + /// + static void Application_Idle(object sender, EventArgs e) { + Application.Idle -= _handlerIdleUpdater; + + Update = new UpdateManager(_mainForm); + Update.UpdateCheckCompleted += new EventHandler(UpdateManager_CheckCompleted); + Update.CheckForUpdate(); + } + + /// + /// Callback that handles update checking. + /// + static void UpdateManager_CheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + if (e.Success && e.Information != null) { + if (e.Information.IsNewVersion) { + Update.ConfirmAndInstall(); + } + } + else { + System.Diagnostics.Trace.WriteLine(string.Format("Failed to check updates. {0}", e.Error)); + } + } + + static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { + string dump = string.Format("OnTopReplica-dump-{0}{1}{2}-{3}{4}.txt", + DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, + DateTime.Now.Hour, DateTime.Now.Minute); + string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), dump); + + using (var s = new FileStream(path, FileMode.Create)) { + using (var sw = new StreamWriter(s)) { + sw.WriteLine("OnTopReplica Dump file"); + sw.WriteLine("This file has been created because OnTopReplica crashed."); + sw.WriteLine("Please send it to lck@klopfenstein.net to help fix the bug that caused the crash."); + sw.WriteLine(); + sw.WriteLine("Last exception:"); + sw.WriteLine(e.ExceptionObject.ToString()); + sw.WriteLine(); + sw.WriteLine("OnTopReplica v.{0}", Assembly.GetEntryAssembly().GetName().Version); + sw.WriteLine("OS: {0}", Environment.OSVersion.ToString()); + sw.WriteLine(".NET: {0}", Environment.Version.ToString()); + sw.WriteLine("Aero DWM: {0}", WindowsFormsAero.OsSupport.IsCompositionEnabled); + sw.WriteLine("Launch command: {0}", Environment.CommandLine); + sw.WriteLine("UTC time: {0} {1}", DateTime.UtcNow.ToShortDateString(), DateTime.UtcNow.ToShortTimeString()); + } + } + } + + } +} diff --git a/OnTopReplica/Properties/AssemblyInfo.cs b/OnTopReplica/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..f58a612 --- /dev/null +++ b/OnTopReplica/Properties/AssemblyInfo.cs @@ -0,0 +1,37 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("OnTopReplica")] +[assembly: AssemblyDescription("Real-time, always on top thumbnail of a window of your choice.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Lorenz Cuno Klopfenstein")] +[assembly: AssemblyProduct("OnTopReplica")] +[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2010")] +//[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2007")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("015090d1-7559-4c59-b9d1-e7e066c4a948")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("3.4.0.0")] +[assembly: AssemblyFileVersion("3.4.0.0")] diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx new file mode 100644 index 0000000..b097806 --- /dev/null +++ b/OnTopReplica/Properties/Resources.resx @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Assets\flag_ita.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\x-oblique.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\component.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\25.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_multiple16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\regions_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_null.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_opacity_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\clickforwarding.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\newicon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_help.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\back.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_czech.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_switch.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\desktop.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_danish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\reduce.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_ok.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_wrench.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\list.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\icon-new.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\fullscreen.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_down.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_border16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_usa.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\groupmode.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_center.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_spanish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_poland.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + + ..\Assets\flag_germany.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/OnTopReplica/Properties/Settings.settings b/OnTopReplica/Properties/Settings.settings new file mode 100644 index 0000000..fb6e917 --- /dev/null +++ b/OnTopReplica/Properties/Settings.settings @@ -0,0 +1,57 @@ + + + + + + + + + 255 + + + (Default) + + + True + + + True + + + True + + + True + + + False + + + False + + + 0, 0 + + + 0, 0 + + + False + + + + + + + + + 0 + + + [CTRL]+[SHIFT]+C + + + [CTRL]+[SHIFT]+O + + + \ No newline at end of file diff --git a/OnTopReplica/Properties/app.manifest b/OnTopReplica/Properties/app.manifest new file mode 100644 index 0000000..c29c96a --- /dev/null +++ b/OnTopReplica/Properties/app.manifest @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/ScreenPosition.cs b/OnTopReplica/ScreenPosition.cs new file mode 100644 index 0000000..0a99d6c --- /dev/null +++ b/OnTopReplica/ScreenPosition.cs @@ -0,0 +1,87 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using System.Drawing; + +namespace OnTopReplica { + + /// + /// Describes a resolution independent screen position. + /// + enum ScreenPosition { + TopLeft, + TopRight, + BottomLeft, + BottomRight, + Center + } + + /// + /// Extension methods for ScreenPositions. + /// + static class ScreenPositionExtensions { + + /// + /// Gets the coordinates point matching an independent screen position value. + /// + /// Screen position value. + /// Pixel point in screen coordinates. + public static Point ResolveScreenPosition(this Screen screen, ScreenPosition position) { + var rect = screen.WorkingArea; + + return ResolveScreenPositionToRectangle(rect, position); + } + + /// + /// Gets the coordinates matching an independent screen position value. + /// + /// Target control for which the coordinates should be resolved. + /// Screen position value. + /// Pixel point in screen coordinates. + public static Point ResolveScreenPositionEdge(this Control ctrl, ScreenPosition position) { + var ctrlRegion = ctrl.RectangleToScreen(ctrl.ClientRectangle); + + return ResolveScreenPositionToRectangle(ctrlRegion, position); + } + + private static Point ResolveScreenPositionToRectangle(Rectangle rect, ScreenPosition position) { + switch (position) { + case ScreenPosition.TopLeft: + return new Point(rect.X, rect.Y); + case ScreenPosition.TopRight: + return new Point(rect.X + rect.Width, rect.Y); + case ScreenPosition.BottomLeft: + return new Point(rect.X, rect.Y + rect.Height); + case ScreenPosition.BottomRight: + return new Point(rect.X + rect.Width, rect.Y + rect.Height); + case ScreenPosition.Center: + return new Point(rect.X + (rect.Width / 2), rect.Y + (rect.Height / 2)); + default: + throw new ArgumentException("Invalid ScreenPosition value."); + } + } + + /// + /// Sets the form's screen position in independent coordinates. + /// + /// + /// Position is set relative to the form's current screen. + /// + public static void SetScreenPosition(this MainForm form, ScreenPosition position) { + var screen = Screen.FromControl(form); + + var start = form.ResolveScreenPositionEdge(position); + var end = screen.ResolveScreenPosition(position); + + var move = end.Difference(start); + + System.Diagnostics.Trace.WriteLine(string.Format("From {0} to {1} => {2}.", start, end, move)); + + var original = form.Location; + form.Location = new Point(original.X + move.X, original.Y + move.Y); + } + + } + +} diff --git a/OnTopReplica/SidePanel.cs b/OnTopReplica/SidePanel.cs new file mode 100644 index 0000000..d66f010 --- /dev/null +++ b/OnTopReplica/SidePanel.cs @@ -0,0 +1,73 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using WindowsFormsAero.Dwm; +using System.Drawing; + +namespace OnTopReplica { + + /// + /// Represents a side panel that can be embedded in OnTopReplica. + /// + class SidePanel : UserControl { + + protected override void OnCreateControl() { + if (!DesignMode) { + Dock = DockStyle.Fill; + } + + base.OnCreateControl(); + } + + /// + /// Gets the panel's parent form. + /// + protected MainForm ParentForm { get; private set; } + + /// + /// Raised when the side panel requests to be closed. + /// + public event EventHandler RequestClosing; + + protected virtual void OnRequestClosing() { + var evt = RequestClosing; + if (evt != null) + evt(this, EventArgs.Empty); + } + + /// + /// Is called when the side panel is embedded and first shown. + /// + /// Parent form that is embedding the side panel. + public virtual void OnFirstShown(MainForm form) { + ParentForm = form; + } + + /// + /// Is called before removing the side panel. + /// + /// Parent form that is embedding the side panel. + public virtual void OnClosing(MainForm form) { + } + + /// + /// Gets the side panel's title. + /// + public virtual string Title { + get { + return "Side panel"; + } + } + + /// + /// Gets the panel's desired glass margins or null if no glass surface is required. + /// + public virtual Margins? GlassMargins { + get { + return null; + } + } + + } +} diff --git a/OnTopReplica/SidePanelContainer.Designer.cs b/OnTopReplica/SidePanelContainer.Designer.cs new file mode 100644 index 0000000..56103f0 --- /dev/null +++ b/OnTopReplica/SidePanelContainer.Designer.cs @@ -0,0 +1,46 @@ +namespace OnTopReplica { + partial class SidePanelContainer { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.SuspendLayout(); + // + // SidePanelContainer + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(246, 300); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.MinimizeBox = false; + this.Name = "SidePanelContainer"; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; + this.Text = "Side Panel container"; + this.TopMost = true; + this.ResumeLayout(false); + + } + + #endregion + } +} \ No newline at end of file diff --git a/OnTopReplica/SidePanelContainer.cs b/OnTopReplica/SidePanelContainer.cs new file mode 100644 index 0000000..9a195a6 --- /dev/null +++ b/OnTopReplica/SidePanelContainer.cs @@ -0,0 +1,108 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using WindowsFormsAero.Dwm.Helpers; + +namespace OnTopReplica { + /// + /// Acts as a form that can contain a SidePanel instance. + /// + partial class SidePanelContainer : GlassForm { + + EventHandler RequestClosingHandler; + + MainForm _parent; + + public SidePanelContainer(MainForm mainForm) { + InitializeComponent(); + + _parent = mainForm; + RequestClosingHandler = new EventHandler(Panel_RequestClosing); + } + + void Panel_RequestClosing(object sender, EventArgs e) { + FreeSidePanel(); + this.Close(); + } + + protected override void OnClosing(CancelEventArgs e) { + base.OnClosing(e); + + //Ensure side panel closing code is run + FreeSidePanel(); + } + + /// + /// Sets a new side panel and refreshes the window. The panel is + /// managed by the SidePanelContainer from now on. + /// + /// SidePanel to embed and to manage. + public void SetSidePanel(SidePanel panel) { + panel.OnFirstShown(_parent); + + this.SuspendLayout(); + + //Title + this.Text = panel.Title; + + //Set panel + CurrentSidePanel = panel; + panel.RequestClosing += RequestClosingHandler; + this.Controls.Add(panel); + + var minSize = panel.MinimumSize.Expand(this.Padding); + this.ClientSize = minSize; + this.EnsureMinimumClientSize(minSize); + + //Enable glass if needed + var margins = panel.GlassMargins; + if (margins.HasValue) { + this.GlassMargins = margins.Value; + this.GlassEnabled = true; + } + else + this.GlassEnabled = false; + + this.ResumeLayout(); + } + + /// + /// Removes the current side panel and disposes it. + /// + public void FreeSidePanel() { + if (CurrentSidePanel == null) + return; + + this.SuspendLayout(); + + FreeSidePanelCore(); + + this.ResumeLayout(); + } + + /// + /// Removes the current side panel and disposes it (doesn't suspend layout). + /// + private void FreeSidePanelCore() { + CurrentSidePanel.OnClosing(_parent); + + //Free hook + CurrentSidePanel.RequestClosing -= RequestClosingHandler; + + //Remove + this.Controls.Remove(CurrentSidePanel); + + //Free + CurrentSidePanel.Dispose(); + CurrentSidePanel = null; + } + + public SidePanel CurrentSidePanel { + get; + private set; + } + } +} diff --git a/OnTopReplica/SidePanelContainer.resx b/OnTopReplica/SidePanelContainer.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/OnTopReplica/SidePanelContainer.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/AboutPanel.Designer.cs b/OnTopReplica/SidePanels/AboutPanel.Designer.cs new file mode 100644 index 0000000..fc86628 --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanel.Designer.cs @@ -0,0 +1,74 @@ +namespace OnTopReplica.SidePanels { + partial class AboutPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.labelVersion = new WindowsFormsAero.ThemeText.ThemedLabel(); + this.panelContents = new OnTopReplica.SidePanels.AboutPanelContents(); + this.SuspendLayout(); + // + // labelVersion + // + this.labelVersion.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelVersion.Location = new System.Drawing.Point(0, 270); + this.labelVersion.Name = "labelVersion"; + this.labelVersion.Padding = new System.Windows.Forms.Padding(0, 0, 0, 3); + this.labelVersion.Size = new System.Drawing.Size(265, 20); + this.labelVersion.TabIndex = 0; + this.labelVersion.Text = "Version"; + this.labelVersion.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.labelVersion.TextAlignVertical = System.Windows.Forms.VisualStyles.VerticalAlignment.Bottom; + // + // panelContents + // + this.panelContents.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panelContents.AutoScroll = true; + this.panelContents.Location = new System.Drawing.Point(6, 6); + this.panelContents.Margin = new System.Windows.Forms.Padding(6); + this.panelContents.Name = "panelContents"; + this.panelContents.Size = new System.Drawing.Size(253, 255); + this.panelContents.TabIndex = 1; + // + // AboutPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.panelContents); + this.Controls.Add(this.labelVersion); + this.MinimumSize = new System.Drawing.Size(265, 290); + this.Name = "AboutPanel"; + this.Size = new System.Drawing.Size(265, 290); + this.ResumeLayout(false); + + } + + #endregion + + private WindowsFormsAero.ThemeText.ThemedLabel labelVersion; + private AboutPanelContents panelContents; + + } +} diff --git a/OnTopReplica/SidePanels/AboutPanel.cs b/OnTopReplica/SidePanels/AboutPanel.cs new file mode 100644 index 0000000..87da71a --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanel.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using WindowsFormsAero.Dwm; + +namespace OnTopReplica.SidePanels { + partial class AboutPanel : SidePanel { + + public AboutPanel() { + InitializeComponent(); + + //Display version number + labelVersion.Text = string.Format(Strings.AboutVersion, Application.ProductVersion); + } + + public override string Title { + get { + return Strings.AboutTitle; + } + } + + public override Margins? GlassMargins { + get { + return new Margins(0, 0, 0, labelVersion.Height); + } + } + + } +} diff --git a/OnTopReplica/SidePanels/AboutPanel.resx b/OnTopReplica/SidePanels/AboutPanel.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs b/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs new file mode 100644 index 0000000..819852c --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanelContents.Designer.cs @@ -0,0 +1,265 @@ +namespace OnTopReplica.SidePanels { + partial class AboutPanelContents { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.labelTranslators = new System.Windows.Forms.Label(); + this.linkCredits = new System.Windows.Forms.LinkLabel(); + this.progressUpdate = new WindowsFormsAero.ProgressBar(); + this.buttonUpdate = new System.Windows.Forms.Button(); + this.lblUpdateDisclaimer = new System.Windows.Forms.Label(); + this.labeledDivider2 = new WindowsFormsAero.LabeledDivider(); + this.labeledDivider1 = new WindowsFormsAero.LabeledDivider(); + this.linkHomepage = new System.Windows.Forms.LinkLabel(); + this.linkAuthor = new System.Windows.Forms.LinkLabel(); + this.lblSlogan = new System.Windows.Forms.Label(); + this.labeledDivider3 = new WindowsFormsAero.LabeledDivider(); + this.linkLicense = new System.Windows.Forms.LinkLabel(); + this.labeledDivider4 = new WindowsFormsAero.LabeledDivider(); + this.linkContribute = new System.Windows.Forms.LinkLabel(); + this.SuspendLayout(); + // + // labelTranslators + // + this.labelTranslators.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelTranslators.AutoEllipsis = true; + this.labelTranslators.Location = new System.Drawing.Point(0, 289); + this.labelTranslators.Name = "labelTranslators"; + this.labelTranslators.Size = new System.Drawing.Size(240, 101); + this.labelTranslators.TabIndex = 31; + this.labelTranslators.Text = "Translators:"; + // + // linkCredits + // + this.linkCredits.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.linkCredits.AutoEllipsis = true; + this.linkCredits.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkCredits.Location = new System.Drawing.Point(0, 223); + this.linkCredits.Name = "linkCredits"; + this.linkCredits.Size = new System.Drawing.Size(240, 57); + this.linkCredits.TabIndex = 30; + this.linkCredits.TabStop = true; + this.linkCredits.Text = "%CREDITS%"; + this.linkCredits.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkCredits_click); + // + // progressUpdate + // + this.progressUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.progressUpdate.Location = new System.Drawing.Point(0, 155); + this.progressUpdate.Name = "progressUpdate"; + this.progressUpdate.Size = new System.Drawing.Size(132, 23); + this.progressUpdate.Style = System.Windows.Forms.ProgressBarStyle.Marquee; + this.progressUpdate.TabIndex = 29; + this.progressUpdate.Visible = false; + // + // buttonUpdate + // + this.buttonUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonUpdate.Location = new System.Drawing.Point(138, 155); + this.buttonUpdate.Name = "buttonUpdate"; + this.buttonUpdate.Size = new System.Drawing.Size(102, 23); + this.buttonUpdate.TabIndex = 28; + this.buttonUpdate.Text = global::OnTopReplica.Strings.AboutUpdatesCheckNow; + this.buttonUpdate.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonUpdate.UseVisualStyleBackColor = true; + this.buttonUpdate.Click += new System.EventHandler(this.UpdateButton_click); + // + // lblUpdateDisclaimer + // + this.lblUpdateDisclaimer.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblUpdateDisclaimer.AutoEllipsis = true; + this.lblUpdateDisclaimer.Location = new System.Drawing.Point(0, 108); + this.lblUpdateDisclaimer.Name = "lblUpdateDisclaimer"; + this.lblUpdateDisclaimer.Size = new System.Drawing.Size(240, 44); + this.lblUpdateDisclaimer.TabIndex = 27; + this.lblUpdateDisclaimer.Text = "OnTopReplica automatically checks for updates at every start up."; + // + // labeledDivider2 + // + this.labeledDivider2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labeledDivider2.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); + this.labeledDivider2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); + this.labeledDivider2.Location = new System.Drawing.Point(0, 197); + this.labeledDivider2.Name = "labeledDivider2"; + this.labeledDivider2.Size = new System.Drawing.Size(240, 23); + this.labeledDivider2.TabIndex = 26; + this.labeledDivider2.Text = global::OnTopReplica.Strings.AboutDividerCredits; + // + // labeledDivider1 + // + this.labeledDivider1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labeledDivider1.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); + this.labeledDivider1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); + this.labeledDivider1.Location = new System.Drawing.Point(0, 82); + this.labeledDivider1.Name = "labeledDivider1"; + this.labeledDivider1.Size = new System.Drawing.Size(240, 23); + this.labeledDivider1.TabIndex = 25; + this.labeledDivider1.Text = global::OnTopReplica.Strings.AboutDividerUpdates; + // + // linkHomepage + // + this.linkHomepage.AutoSize = true; + this.linkHomepage.BackColor = System.Drawing.Color.Transparent; + this.linkHomepage.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkHomepage.Location = new System.Drawing.Point(0, 54); + this.linkHomepage.Name = "linkHomepage"; + this.linkHomepage.Size = new System.Drawing.Size(167, 17); + this.linkHomepage.TabIndex = 23; + this.linkHomepage.TabStop = true; + this.linkHomepage.Text = "http://ontopreplica.codeplex.com"; + this.linkHomepage.UseCompatibleTextRendering = true; + this.linkHomepage.VisitedLinkColor = System.Drawing.Color.Blue; + this.linkHomepage.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkHomepage_clicked); + // + // linkAuthor + // + this.linkAuthor.AutoSize = true; + this.linkAuthor.BackColor = System.Drawing.Color.Transparent; + this.linkAuthor.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkAuthor.LinkColor = System.Drawing.Color.Blue; + this.linkAuthor.Location = new System.Drawing.Point(0, 33); + this.linkAuthor.Name = "linkAuthor"; + this.linkAuthor.Size = new System.Drawing.Size(72, 17); + this.linkAuthor.TabIndex = 22; + this.linkAuthor.TabStop = true; + this.linkAuthor.Text = "%AUTHOR%"; + this.linkAuthor.UseCompatibleTextRendering = true; + this.linkAuthor.VisitedLinkColor = System.Drawing.Color.Blue; + this.linkAuthor.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkAuthor_clicked); + // + // lblSlogan + // + this.lblSlogan.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblSlogan.AutoEllipsis = true; + this.lblSlogan.BackColor = System.Drawing.Color.Transparent; + this.lblSlogan.Location = new System.Drawing.Point(0, 0); + this.lblSlogan.Name = "lblSlogan"; + this.lblSlogan.Size = new System.Drawing.Size(240, 33); + this.lblSlogan.TabIndex = 24; + this.lblSlogan.Text = "A lightweight, real-time, always on top thumbnail of a window of your choice."; + // + // labeledDivider3 + // + this.labeledDivider3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labeledDivider3.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); + this.labeledDivider3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); + this.labeledDivider3.Location = new System.Drawing.Point(0, 393); + this.labeledDivider3.Name = "labeledDivider3"; + this.labeledDivider3.Size = new System.Drawing.Size(240, 23); + this.labeledDivider3.TabIndex = 32; + this.labeledDivider3.Text = "License"; + // + // linkLicense + // + this.linkLicense.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.linkLicense.AutoEllipsis = true; + this.linkLicense.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkLicense.Location = new System.Drawing.Point(0, 419); + this.linkLicense.Name = "linkLicense"; + this.linkLicense.Size = new System.Drawing.Size(240, 81); + this.linkLicense.TabIndex = 33; + this.linkLicense.TabStop = true; + this.linkLicense.Text = "%LICENSE%"; + this.linkLicense.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkLicense_click); + // + // labeledDivider4 + // + this.labeledDivider4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labeledDivider4.DividerColor = System.Drawing.Color.FromArgb(((int)(((byte)(176)))), ((int)(((byte)(191)))), ((int)(((byte)(222))))); + this.labeledDivider4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(51)))), ((int)(((byte)(170))))); + this.labeledDivider4.Location = new System.Drawing.Point(0, 503); + this.labeledDivider4.Name = "labeledDivider4"; + this.labeledDivider4.Size = new System.Drawing.Size(240, 23); + this.labeledDivider4.TabIndex = 34; + this.labeledDivider4.Text = "Contribute"; + // + // linkContribute + // + this.linkContribute.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.linkContribute.AutoEllipsis = true; + this.linkContribute.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline; + this.linkContribute.Location = new System.Drawing.Point(0, 529); + this.linkContribute.Name = "linkContribute"; + this.linkContribute.Size = new System.Drawing.Size(240, 84); + this.linkContribute.TabIndex = 35; + this.linkContribute.TabStop = true; + this.linkContribute.Text = "%CONTRIBUTE%"; + this.linkContribute.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkContribute_clicked); + // + // AboutPanelContents + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoScroll = true; + this.Controls.Add(this.linkContribute); + this.Controls.Add(this.labeledDivider4); + this.Controls.Add(this.linkLicense); + this.Controls.Add(this.labeledDivider3); + this.Controls.Add(this.labelTranslators); + this.Controls.Add(this.linkCredits); + this.Controls.Add(this.progressUpdate); + this.Controls.Add(this.buttonUpdate); + this.Controls.Add(this.lblUpdateDisclaimer); + this.Controls.Add(this.labeledDivider2); + this.Controls.Add(this.labeledDivider1); + this.Controls.Add(this.linkHomepage); + this.Controls.Add(this.linkAuthor); + this.Controls.Add(this.lblSlogan); + this.Margin = new System.Windows.Forms.Padding(6); + this.Name = "AboutPanelContents"; + this.Size = new System.Drawing.Size(243, 613); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label labelTranslators; + private System.Windows.Forms.LinkLabel linkCredits; + private WindowsFormsAero.ProgressBar progressUpdate; + private System.Windows.Forms.Button buttonUpdate; + private System.Windows.Forms.Label lblUpdateDisclaimer; + private WindowsFormsAero.LabeledDivider labeledDivider2; + private WindowsFormsAero.LabeledDivider labeledDivider1; + private System.Windows.Forms.LinkLabel linkHomepage; + private System.Windows.Forms.LinkLabel linkAuthor; + private System.Windows.Forms.Label lblSlogan; + private WindowsFormsAero.LabeledDivider labeledDivider3; + private System.Windows.Forms.LinkLabel linkLicense; + private WindowsFormsAero.LabeledDivider labeledDivider4; + private System.Windows.Forms.LinkLabel linkContribute; + + } +} diff --git a/OnTopReplica/SidePanels/AboutPanelContents.cs b/OnTopReplica/SidePanels/AboutPanelContents.cs new file mode 100644 index 0000000..84738b2 --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanelContents.cs @@ -0,0 +1,99 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Update; +using System.Diagnostics; +using WindowsFormsAero.TaskDialog; +using System.IO; + +namespace OnTopReplica.SidePanels { + public partial class AboutPanelContents : UserControl { + + EventHandler _updateHandler; + + public AboutPanelContents() { + InitializeComponent(); + + LocalizePanel(); + } + + private void LocalizePanel() { + lblSlogan.Text = Strings.AboutSlogan; + linkAuthor.Internationalize(Strings.AboutAuthor, Strings.AboutAuthorContent); + labeledDivider1.Text = Strings.AboutDividerUpdates; + lblUpdateDisclaimer.Text = Strings.AboutUpdatesDisclaimer; + buttonUpdate.Text = Strings.AboutUpdatesCheckNow; + labeledDivider2.Text = Strings.AboutDividerCredits; + linkCredits.Internationalize(Strings.AboutCreditsSources, Strings.AboutCreditsSourcesContent); + labelTranslators.Text = string.Format(Strings.AboutTranslators, Strings.AboutTranslatorsContent); + labeledDivider3.Text = Strings.AboutDividerLicense; + linkLicense.Internationalize(Strings.AboutLicense, Strings.AboutLicenseContent); + labeledDivider4.Text = Strings.AboutDividerContribute; + linkContribute.Internationalize(Strings.AboutContribute, Strings.AboutContributeContent); + } + + protected override void OnHandleCreated(EventArgs e) { + base.OnHandleCreated(e); + + if (!DesignMode) { + //Updating + _updateHandler = new EventHandler(UpdateCheckCompleted); + Program.Update.UpdateCheckCompleted += _updateHandler; + } + } + + protected override void OnHandleDestroyed(EventArgs e) { + base.OnHandleDestroyed(e); + + if (!DesignMode) { + Program.Update.UpdateCheckCompleted -= _updateHandler; + } + } + + private void LinkHomepage_clicked(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://ontopreplica.codeplex.com"); + } + + private void LinkAuthor_clicked(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://lorenz.klopfenstein.net"); + } + + private void LinkCredits_click(object sender, LinkLabelLinkClickedEventArgs e) { + var exeDir = Path.GetDirectoryName(Application.ExecutablePath); + var filePath = Path.Combine(exeDir, "CREDITS.txt"); + + Process.Start(filePath); + } + + void UpdateButton_click(object sender, System.EventArgs e) { + progressUpdate.Visible = true; + + Program.Update.CheckForUpdate(); + } + + void UpdateCheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { + this.Invoke(new Action(() => { + if (!e.Success || e.Information == null) { + //TODO + MessageBox.Show("Failed to download update info."); + } + else if (!e.Information.IsNewVersion) { + Program.Update.DisplayInfo(); + } + + progressUpdate.Visible = false; + })); + } + + private void LinkLicense_click(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://opensource.org/licenses/ms-rl.html"); + } + + private void LinkContribute_clicked(object sender, LinkLabelLinkClickedEventArgs e) { + Process.Start("http://ontopreplica.codeplex.com/SourceControl/list/changesets"); + } + } +} diff --git a/OnTopReplica/SidePanels/AboutPanelContents.resx b/OnTopReplica/SidePanels/AboutPanelContents.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/OnTopReplica/SidePanels/AboutPanelContents.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs new file mode 100644 index 0000000..c3d8cc6 --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.Designer.cs @@ -0,0 +1,131 @@ +namespace OnTopReplica.SidePanels { + partial class GroupSwitchPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.labelStatus = new System.Windows.Forms.Label(); + this.buttonCancel = new System.Windows.Forms.Button(); + this.buttonEnable = new System.Windows.Forms.Button(); + this.listWindows = new System.Windows.Forms.ListView(); + this.colName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.groupBox1.SuspendLayout(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.labelStatus); + this.groupBox1.Controls.Add(this.buttonCancel); + this.groupBox1.Controls.Add(this.buttonEnable); + this.groupBox1.Controls.Add(this.listWindows); + this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupBox1.Location = new System.Drawing.Point(6, 6); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(271, 325); + this.groupBox1.TabIndex = 1; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Group switch mode:"; + // + // labelStatus + // + this.labelStatus.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.labelStatus.Location = new System.Drawing.Point(3, 276); + this.labelStatus.Name = "labelStatus"; + this.labelStatus.Size = new System.Drawing.Size(262, 17); + this.labelStatus.TabIndex = 3; + this.labelStatus.Text = "-"; + this.labelStatus.TextAlign = System.Drawing.ContentAlignment.BottomRight; + // + // buttonCancel + // + this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonCancel.Location = new System.Drawing.Point(195, 296); + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.Size = new System.Drawing.Size(70, 23); + this.buttonCancel.TabIndex = 2; + this.buttonCancel.Text = global::OnTopReplica.Strings.GroupSwitchModeDisableButton; + this.buttonCancel.UseVisualStyleBackColor = true; + this.buttonCancel.Click += new System.EventHandler(this.Cancel_click); + // + // buttonEnable + // + this.buttonEnable.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonEnable.Image = global::OnTopReplica.Properties.Resources.xiao_ok; + this.buttonEnable.Location = new System.Drawing.Point(55, 296); + this.buttonEnable.Name = "buttonEnable"; + this.buttonEnable.Size = new System.Drawing.Size(134, 23); + this.buttonEnable.TabIndex = 1; + this.buttonEnable.Text = global::OnTopReplica.Strings.GroupSwitchModeEnableButton; + this.buttonEnable.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonEnable.UseVisualStyleBackColor = true; + this.buttonEnable.Click += new System.EventHandler(this.Enable_click); + // + // listWindows + // + this.listWindows.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.listWindows.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.colName}); + this.listWindows.FullRowSelect = true; + this.listWindows.GridLines = true; + this.listWindows.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; + this.listWindows.HideSelection = false; + this.listWindows.LabelWrap = false; + this.listWindows.Location = new System.Drawing.Point(6, 19); + this.listWindows.Name = "listWindows"; + this.listWindows.Size = new System.Drawing.Size(259, 254); + this.listWindows.TabIndex = 0; + this.listWindows.UseCompatibleStateImageBehavior = false; + this.listWindows.View = System.Windows.Forms.View.List; + // + // colName + // + this.colName.Text = global::OnTopReplica.Strings.GroupSwitchModeWindows; + this.colName.Width = 187; + // + // GroupSwitchPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupBox1); + this.MinimumSize = new System.Drawing.Size(240, 240); + this.Name = "GroupSwitchPanel"; + this.Padding = new System.Windows.Forms.Padding(6); + this.Size = new System.Drawing.Size(283, 337); + this.groupBox1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Label labelStatus; + private System.Windows.Forms.Button buttonCancel; + private System.Windows.Forms.Button buttonEnable; + private System.Windows.Forms.ListView listWindows; + private System.Windows.Forms.ColumnHeader colName; + } +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.cs b/OnTopReplica/SidePanels/GroupSwitchPanel.cs new file mode 100644 index 0000000..66183f5 --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.cs @@ -0,0 +1,89 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; +using OnTopReplica.MessagePumpProcessors; +using OnTopReplica.WindowSeekers; + +namespace OnTopReplica.SidePanels { + partial class GroupSwitchPanel : SidePanel { + public GroupSwitchPanel() { + InitializeComponent(); + + LocalizePanel(); + } + + private void LocalizePanel() { + groupBox1.Text = Strings.GroupSwitchModeTitle; + buttonEnable.Text = Strings.GroupSwitchModeEnableButton; + buttonCancel.Text = Strings.GroupSwitchModeDisableButton; + } + + public override string Title { + get { + return Strings.MenuGroupSwitch; + } + } + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + LoadWindowList(); + + labelStatus.Text = (ParentForm.MessagePumpManager.Get().IsActive) ? + Strings.GroupSwitchModeStatusEnabled : + Strings.GroupSwitchModeStatusDisabled; + } + + private void LoadWindowList() { + var manager = new TaskWindowSeeker { + SkipNotVisibleWindows = true + }; + manager.Refresh(); + + var imageList = new ImageList(); + imageList.ColorDepth = ColorDepth.Depth32Bit; + foreach (var w in manager.Windows) { + var item = new ListViewItem(w.Title) { + Tag = w + }; + + if (w.Icon != null) { + imageList.Images.Add(w.Icon); + item.ImageIndex = imageList.Images.Count - 1; + } + + listWindows.Items.Add(item); + } + listWindows.SmallImageList = imageList; + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + if (_enableOnClose && listWindows.SelectedItems.Count > 0) { + List ret = new List(); + foreach (ListViewItem i in listWindows.SelectedItems) { + ret.Add((WindowHandle)i.Tag); + } + + form.SetThumbnailGroup(ret); + } + else { + form.MessagePumpManager.Get().Disable(); + } + } + + bool _enableOnClose = false; + + private void Enable_click(object sender, EventArgs e) { + _enableOnClose = true; + OnRequestClosing(); + } + + private void Cancel_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + } + +} diff --git a/OnTopReplica/SidePanels/GroupSwitchPanel.resx b/OnTopReplica/SidePanels/GroupSwitchPanel.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/OnTopReplica/SidePanels/GroupSwitchPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/OptionsPanel.Designer.cs b/OnTopReplica/SidePanels/OptionsPanel.Designer.cs new file mode 100644 index 0000000..601eb05 --- /dev/null +++ b/OnTopReplica/SidePanels/OptionsPanel.Designer.cs @@ -0,0 +1,200 @@ +namespace OnTopReplica.SidePanels { + partial class OptionsPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.btnClose = new System.Windows.Forms.Button(); + this.panelMain = new System.Windows.Forms.Panel(); + this.groupHotkeys = new System.Windows.Forms.GroupBox(); + this.label1 = new System.Windows.Forms.Label(); + this.lblHotKeyShowHide = new System.Windows.Forms.Label(); + this.txtHotKeyShowHide = new OnTopReplica.HotKeyTextBox(); + this.lblHotKeyClone = new System.Windows.Forms.Label(); + this.txtHotKeyClone = new OnTopReplica.HotKeyTextBox(); + this.groupLanguage = new System.Windows.Forms.GroupBox(); + this.comboLanguage = new OnTopReplica.ImageComboBox(); + this.lblLanguage = new System.Windows.Forms.Label(); + this.panelMain.SuspendLayout(); + this.groupHotkeys.SuspendLayout(); + this.groupLanguage.SuspendLayout(); + this.SuspendLayout(); + // + // btnClose + // + this.btnClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnClose.Location = new System.Drawing.Point(189, 211); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(75, 23); + this.btnClose.TabIndex = 0; + this.btnClose.Text = global::OnTopReplica.Strings.MenuClose; + this.btnClose.UseVisualStyleBackColor = true; + this.btnClose.Click += new System.EventHandler(this.Close_click); + // + // panelMain + // + this.panelMain.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.panelMain.AutoScroll = true; + this.panelMain.Controls.Add(this.groupHotkeys); + this.panelMain.Controls.Add(this.groupLanguage); + this.panelMain.Location = new System.Drawing.Point(6, 6); + this.panelMain.Name = "panelMain"; + this.panelMain.Size = new System.Drawing.Size(258, 199); + this.panelMain.TabIndex = 1; + // + // groupHotkeys + // + this.groupHotkeys.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupHotkeys.Controls.Add(this.label1); + this.groupHotkeys.Controls.Add(this.lblHotKeyShowHide); + this.groupHotkeys.Controls.Add(this.txtHotKeyShowHide); + this.groupHotkeys.Controls.Add(this.lblHotKeyClone); + this.groupHotkeys.Controls.Add(this.txtHotKeyClone); + this.groupHotkeys.Location = new System.Drawing.Point(3, 77); + this.groupHotkeys.Name = "groupHotkeys"; + this.groupHotkeys.Size = new System.Drawing.Size(252, 113); + this.groupHotkeys.TabIndex = 1; + this.groupHotkeys.TabStop = false; + this.groupHotkeys.Text = "Hot keys:"; + // + // label1 + // + this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.label1.Location = new System.Drawing.Point(6, 68); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(156, 43); + this.label1.TabIndex = 4; + this.label1.Text = "These system-wide shortcuts can also be used when OnTopReplica is not in focus."; + // + // lblHotKeyShowHide + // + this.lblHotKeyShowHide.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.lblHotKeyShowHide.Location = new System.Drawing.Point(168, 22); + this.lblHotKeyShowHide.Name = "lblHotKeyShowHide"; + this.lblHotKeyShowHide.Size = new System.Drawing.Size(78, 17); + this.lblHotKeyShowHide.TabIndex = 3; + this.lblHotKeyShowHide.Text = "Show/Hide"; + // + // txtHotKeyShowHide + // + this.txtHotKeyShowHide.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtHotKeyShowHide.Location = new System.Drawing.Point(6, 19); + this.txtHotKeyShowHide.Name = "txtHotKeyShowHide"; + this.txtHotKeyShowHide.ReadOnly = true; + this.txtHotKeyShowHide.Size = new System.Drawing.Size(156, 20); + this.txtHotKeyShowHide.TabIndex = 2; + // + // lblHotKeyClone + // + this.lblHotKeyClone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.lblHotKeyClone.Location = new System.Drawing.Point(168, 48); + this.lblHotKeyClone.Name = "lblHotKeyClone"; + this.lblHotKeyClone.Size = new System.Drawing.Size(78, 29); + this.lblHotKeyClone.TabIndex = 1; + this.lblHotKeyClone.Text = "Clone current window"; + // + // txtHotKeyClone + // + this.txtHotKeyClone.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtHotKeyClone.Location = new System.Drawing.Point(6, 45); + this.txtHotKeyClone.Name = "txtHotKeyClone"; + this.txtHotKeyClone.ReadOnly = true; + this.txtHotKeyClone.Size = new System.Drawing.Size(156, 20); + this.txtHotKeyClone.TabIndex = 0; + // + // groupLanguage + // + this.groupLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.groupLanguage.Controls.Add(this.comboLanguage); + this.groupLanguage.Controls.Add(this.lblLanguage); + this.groupLanguage.Location = new System.Drawing.Point(3, 3); + this.groupLanguage.Name = "groupLanguage"; + this.groupLanguage.Size = new System.Drawing.Size(252, 68); + this.groupLanguage.TabIndex = 0; + this.groupLanguage.TabStop = false; + this.groupLanguage.Text = "Language:"; + // + // comboLanguage + // + this.comboLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.comboLanguage.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; + this.comboLanguage.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboLanguage.FormattingEnabled = true; + this.comboLanguage.IconList = null; + this.comboLanguage.Location = new System.Drawing.Point(9, 19); + this.comboLanguage.Name = "comboLanguage"; + this.comboLanguage.Size = new System.Drawing.Size(237, 21); + this.comboLanguage.TabIndex = 2; + this.comboLanguage.SelectedIndexChanged += new System.EventHandler(this.LanguageBox_IndexChange); + // + // lblLanguage + // + this.lblLanguage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lblLanguage.Location = new System.Drawing.Point(6, 43); + this.lblLanguage.Name = "lblLanguage"; + this.lblLanguage.Size = new System.Drawing.Size(240, 22); + this.lblLanguage.TabIndex = 1; + this.lblLanguage.Text = "Requires a restart."; + // + // OptionsPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoScroll = true; + this.Controls.Add(this.panelMain); + this.Controls.Add(this.btnClose); + this.MinimumSize = new System.Drawing.Size(270, 240); + this.Name = "OptionsPanel"; + this.Padding = new System.Windows.Forms.Padding(6); + this.Size = new System.Drawing.Size(270, 240); + this.panelMain.ResumeLayout(false); + this.groupHotkeys.ResumeLayout(false); + this.groupHotkeys.PerformLayout(); + this.groupLanguage.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button btnClose; + private System.Windows.Forms.Panel panelMain; + private System.Windows.Forms.GroupBox groupLanguage; + private System.Windows.Forms.Label lblLanguage; + private ImageComboBox comboLanguage; + private System.Windows.Forms.GroupBox groupHotkeys; + private HotKeyTextBox txtHotKeyClone; + private System.Windows.Forms.Label lblHotKeyShowHide; + private HotKeyTextBox txtHotKeyShowHide; + private System.Windows.Forms.Label lblHotKeyClone; + private System.Windows.Forms.Label label1; + } +} diff --git a/OnTopReplica/SidePanels/OptionsPanel.cs b/OnTopReplica/SidePanels/OptionsPanel.cs new file mode 100644 index 0000000..d09cdaa --- /dev/null +++ b/OnTopReplica/SidePanels/OptionsPanel.cs @@ -0,0 +1,127 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Properties; +using System.Globalization; + +namespace OnTopReplica.SidePanels { + partial class OptionsPanel : SidePanel { + + public OptionsPanel() { + InitializeComponent(); + + LocalizePanel(); + } + + private void LocalizePanel() { + groupLanguage.Text = Strings.SettingsLanguageTitle; + lblLanguage.Text = Strings.SettingsRestartRequired; + + groupHotkeys.Text = Strings.SettingsHotKeyTitle; + lblHotKeyShowHide.Text = Strings.SettingsHotKeyShowHide; + lblHotKeyClone.Text = Strings.SettingsHotKeyClone; + label1.Text = Strings.SettingsHotKeyDescription; + + btnClose.Text = Strings.MenuClose; + } + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + PopulateLanguageComboBox(); + + //Stop hotkey handling and load current shortcuts + form.MessagePumpManager.Get().Enabled = false; + txtHotKeyShowHide.Text = Settings.Default.HotKeyShowHide; + txtHotKeyClone.Text = Settings.Default.HotKeyCloneCurrent; + } + + private void Close_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + public override string Title { + get { + return Strings.SettingsTitle; + } + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + //Update hotkey settings and update processor + Settings.Default.HotKeyShowHide = txtHotKeyShowHide.Text; + Settings.Default.HotKeyCloneCurrent = txtHotKeyClone.Text; + var manager = form.MessagePumpManager.Get(); + manager.RefreshHotkeys(); + manager.Enabled = true; + } + + #region Language + + class CultureWrapper { + public CultureWrapper(string name, CultureInfo culture, Image img) { + Culture = culture; + Image = img; + Name = name; + } + public CultureInfo Culture { get; set; } + public Image Image { get; set; } + public string Name { get; set; } + } + + CultureWrapper[] _languageList = { + new CultureWrapper("English", new CultureInfo("en-US"), Resources.flag_usa), + new CultureWrapper("Čeština", new CultureInfo("cs-CZ"), Resources.flag_czech), + new CultureWrapper("Dansk", new CultureInfo("da-DK"), Resources.flag_danish), + new CultureWrapper("Deutsch", new CultureInfo("de-DE"), Resources.flag_germany), + new CultureWrapper("Español", new CultureInfo("es-ES"), Resources.flag_spanish), + new CultureWrapper("Italiano", new CultureInfo("it-IT"), Resources.flag_ita), + new CultureWrapper("Polski", new CultureInfo("pl-PL"), Resources.flag_poland), + }; + + private void PopulateLanguageComboBox() { + comboLanguage.Items.Clear(); + + var imageList = new ImageList() { + ImageSize = new Size(16, 16), + ColorDepth = ColorDepth.Depth32Bit + }; + comboLanguage.IconList = imageList; + + int selectedIndex = -1; + foreach (var langPair in _languageList) { + var item = new ImageComboBoxItem(langPair.Name, imageList.Images.Count) { + Tag = langPair.Culture + }; + imageList.Images.Add(langPair.Image); + comboLanguage.Items.Add(item); + + if (langPair.Culture.Equals(CultureInfo.CurrentUICulture)) { + selectedIndex = comboLanguage.Items.Count - 1; + } + } + + //Handle case when there is not explicitly set culture (default to first one, i.e. english) + if (CultureInfo.CurrentUICulture.Equals(CultureInfo.InvariantCulture)) + selectedIndex = 0; + + comboLanguage.SelectedIndex = selectedIndex; + } + + private void LanguageBox_IndexChange(object sender, EventArgs e) { + var item = comboLanguage.SelectedItem as ImageComboBoxItem; + if (item == null) + return; + + Settings.Default.Language = item.Tag as CultureInfo; + } + + #endregion + + } + +} diff --git a/OnTopReplica/SidePanels/OptionsPanel.resx b/OnTopReplica/SidePanels/OptionsPanel.resx new file mode 100644 index 0000000..5ea0895 --- /dev/null +++ b/OnTopReplica/SidePanels/OptionsPanel.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/RegionPanel.Designer.cs b/OnTopReplica/SidePanels/RegionPanel.Designer.cs new file mode 100644 index 0000000..f716e1c --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.Designer.cs @@ -0,0 +1,339 @@ +namespace OnTopReplica.SidePanels { + partial class RegionPanel { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + this.groupRegions = new System.Windows.Forms.GroupBox(); + this.checkRelative = new System.Windows.Forms.CheckBox(); + this.textRegionName = new OnTopReplica.FocusedTextBox(); + this.numH = new System.Windows.Forms.NumericUpDown(); + this.numW = new System.Windows.Forms.NumericUpDown(); + this.numY = new System.Windows.Forms.NumericUpDown(); + this.numX = new System.Windows.Forms.NumericUpDown(); + this.buttonDone = new System.Windows.Forms.Button(); + this.buttonReset = new System.Windows.Forms.Button(); + this.labelHeight = new System.Windows.Forms.Label(); + this.labelWidth = new System.Windows.Forms.Label(); + this.labelY = new System.Windows.Forms.Label(); + this.labelX = new System.Windows.Forms.Label(); + this.labelCurrentRegion = new System.Windows.Forms.Label(); + this.buttonDelete = new System.Windows.Forms.Button(); + this.buttonSave = new System.Windows.Forms.Button(); + this.comboRegions = new WindowsFormsAero.ComboBox(); + this.toolTip = new System.Windows.Forms.ToolTip(this.components); + this.groupRegions.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).BeginInit(); + this.SuspendLayout(); + // + // groupRegions + // + this.groupRegions.Controls.Add(this.checkRelative); + this.groupRegions.Controls.Add(this.textRegionName); + this.groupRegions.Controls.Add(this.numH); + this.groupRegions.Controls.Add(this.numW); + this.groupRegions.Controls.Add(this.numY); + this.groupRegions.Controls.Add(this.numX); + this.groupRegions.Controls.Add(this.buttonDone); + this.groupRegions.Controls.Add(this.buttonReset); + this.groupRegions.Controls.Add(this.labelHeight); + this.groupRegions.Controls.Add(this.labelWidth); + this.groupRegions.Controls.Add(this.labelY); + this.groupRegions.Controls.Add(this.labelX); + this.groupRegions.Controls.Add(this.labelCurrentRegion); + this.groupRegions.Controls.Add(this.buttonDelete); + this.groupRegions.Controls.Add(this.buttonSave); + this.groupRegions.Controls.Add(this.comboRegions); + this.groupRegions.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupRegions.Location = new System.Drawing.Point(6, 6); + this.groupRegions.Name = "groupRegions"; + this.groupRegions.Size = new System.Drawing.Size(218, 180); + this.groupRegions.TabIndex = 0; + this.groupRegions.TabStop = false; + this.groupRegions.Text = "Regions:"; + // + // checkRelative + // + this.checkRelative.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.checkRelative.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; + this.checkRelative.Location = new System.Drawing.Point(6, 119); + this.checkRelative.Name = "checkRelative"; + this.checkRelative.Size = new System.Drawing.Size(206, 18); + this.checkRelative.TabIndex = 12; + this.checkRelative.Text = "Relative to border"; + this.checkRelative.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.checkRelative.UseVisualStyleBackColor = true; + this.checkRelative.CheckedChanged += new System.EventHandler(this.CheckRelative_checked); + // + // textRegionName + // + this.textRegionName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textRegionName.BackColor = System.Drawing.SystemColors.ActiveCaption; + this.textRegionName.ForeColor = System.Drawing.SystemColors.ActiveCaptionText; + this.textRegionName.Location = new System.Drawing.Point(6, 44); + this.textRegionName.Name = "textRegionName"; + this.textRegionName.Size = new System.Drawing.Size(208, 20); + this.textRegionName.TabIndex = 11; + this.textRegionName.Visible = false; + this.textRegionName.ConfirmInput += new System.EventHandler(this.Save_confirm); + this.textRegionName.AbortInput += new System.EventHandler(this.Save_lost); + // + // numH + // + this.numH.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numH.Enabled = false; + this.numH.Location = new System.Drawing.Point(169, 93); + this.numH.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numH.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numH.Name = "numH"; + this.numH.Size = new System.Drawing.Size(43, 20); + this.numH.TabIndex = 7; + this.numH.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numW + // + this.numW.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.numW.Enabled = false; + this.numW.Location = new System.Drawing.Point(169, 67); + this.numW.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numW.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numW.Name = "numW"; + this.numW.Size = new System.Drawing.Size(43, 20); + this.numW.TabIndex = 6; + this.numW.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numY + // + this.numY.Enabled = false; + this.numY.Location = new System.Drawing.Point(55, 93); + this.numY.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numY.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numY.Name = "numY"; + this.numY.Size = new System.Drawing.Size(43, 20); + this.numY.TabIndex = 5; + this.numY.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // numX + // + this.numX.Enabled = false; + this.numX.Location = new System.Drawing.Point(55, 67); + this.numX.Maximum = new decimal(new int[] { + 100000, + 0, + 0, + 0}); + this.numX.Minimum = new decimal(new int[] { + 100000, + 0, + 0, + -2147483648}); + this.numX.Name = "numX"; + this.numX.Size = new System.Drawing.Size(43, 20); + this.numX.TabIndex = 4; + this.numX.ValueChanged += new System.EventHandler(this.RegionValueSpinner_value_change); + // + // buttonDone + // + this.buttonDone.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDone.Image = global::OnTopReplica.Properties.Resources.xiao_ok; + this.buttonDone.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.buttonDone.Location = new System.Drawing.Point(142, 151); + this.buttonDone.Name = "buttonDone"; + this.buttonDone.Size = new System.Drawing.Size(70, 23); + this.buttonDone.TabIndex = 9; + this.buttonDone.Text = global::OnTopReplica.Strings.RegionsDoneButton; + this.buttonDone.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; + this.buttonDone.UseVisualStyleBackColor = true; + this.buttonDone.Click += new System.EventHandler(this.Close_click); + // + // buttonReset + // + this.buttonReset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonReset.Location = new System.Drawing.Point(66, 151); + this.buttonReset.Name = "buttonReset"; + this.buttonReset.Size = new System.Drawing.Size(70, 23); + this.buttonReset.TabIndex = 8; + this.buttonReset.Text = global::OnTopReplica.Strings.RegionsResetButton; + this.buttonReset.UseVisualStyleBackColor = true; + this.buttonReset.Click += new System.EventHandler(this.Reset_click); + // + // labelHeight + // + this.labelHeight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.labelHeight.ForeColor = System.Drawing.SystemColors.ControlDark; + this.labelHeight.Location = new System.Drawing.Point(104, 95); + this.labelHeight.Name = "labelHeight"; + this.labelHeight.Size = new System.Drawing.Size(60, 18); + this.labelHeight.TabIndex = 9; + this.labelHeight.Text = "Height"; + this.labelHeight.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // labelWidth + // + this.labelWidth.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.labelWidth.ForeColor = System.Drawing.SystemColors.ControlDark; + this.labelWidth.Location = new System.Drawing.Point(107, 69); + this.labelWidth.Name = "labelWidth"; + this.labelWidth.Size = new System.Drawing.Size(57, 18); + this.labelWidth.TabIndex = 8; + this.labelWidth.Text = "Width"; + this.labelWidth.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // labelY + // + this.labelY.ForeColor = System.Drawing.SystemColors.ControlDark; + this.labelY.Location = new System.Drawing.Point(6, 96); + this.labelY.Name = "labelY"; + this.labelY.Size = new System.Drawing.Size(43, 17); + this.labelY.TabIndex = 5; + this.labelY.Text = "Y"; + this.labelY.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // labelX + // + this.labelX.ForeColor = System.Drawing.SystemColors.ControlDark; + this.labelX.Location = new System.Drawing.Point(6, 70); + this.labelX.Name = "labelX"; + this.labelX.Size = new System.Drawing.Size(43, 17); + this.labelX.TabIndex = 4; + this.labelX.Text = "X"; + this.labelX.TextAlign = System.Drawing.ContentAlignment.TopRight; + // + // labelCurrentRegion + // + this.labelCurrentRegion.AutoSize = true; + this.labelCurrentRegion.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelCurrentRegion.Location = new System.Drawing.Point(6, 47); + this.labelCurrentRegion.Name = "labelCurrentRegion"; + this.labelCurrentRegion.Size = new System.Drawing.Size(76, 13); + this.labelCurrentRegion.TabIndex = 3; + this.labelCurrentRegion.Text = "Current region:"; + // + // buttonDelete + // + this.buttonDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonDelete.Enabled = false; + this.buttonDelete.Image = global::OnTopReplica.Properties.Resources.xiao_delete; + this.buttonDelete.Location = new System.Drawing.Point(191, 18); + this.buttonDelete.Name = "buttonDelete"; + this.buttonDelete.Size = new System.Drawing.Size(23, 23); + this.buttonDelete.TabIndex = 3; + this.buttonDelete.UseVisualStyleBackColor = true; + this.buttonDelete.Click += new System.EventHandler(this.Delete_click); + // + // buttonSave + // + this.buttonSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonSave.Enabled = false; + this.buttonSave.Image = global::OnTopReplica.Properties.Resources.xiao_add; + this.buttonSave.Location = new System.Drawing.Point(168, 18); + this.buttonSave.Name = "buttonSave"; + this.buttonSave.Size = new System.Drawing.Size(23, 23); + this.buttonSave.TabIndex = 1; + this.buttonSave.UseVisualStyleBackColor = false; + this.buttonSave.Click += new System.EventHandler(this.Save_click); + // + // comboRegions + // + this.comboRegions.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.comboRegions.CueBannerText = global::OnTopReplica.Strings.RegionsStoredRegions; + this.comboRegions.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboRegions.FlatStyle = System.Windows.Forms.FlatStyle.System; + this.comboRegions.FormattingEnabled = true; + this.comboRegions.Location = new System.Drawing.Point(6, 19); + this.comboRegions.Name = "comboRegions"; + this.comboRegions.Size = new System.Drawing.Size(160, 21); + this.comboRegions.TabIndex = 0; + this.comboRegions.SelectedIndexChanged += new System.EventHandler(this.RegionCombo_index_change); + // + // RegionPanel + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupRegions); + this.MinimumSize = new System.Drawing.Size(230, 185); + this.Name = "RegionPanel"; + this.Padding = new System.Windows.Forms.Padding(6); + this.Size = new System.Drawing.Size(230, 192); + this.groupRegions.ResumeLayout(false); + this.groupRegions.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numH)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numW)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numY)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numX)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupRegions; + private System.Windows.Forms.Button buttonDelete; + private System.Windows.Forms.Button buttonSave; + private WindowsFormsAero.ComboBox comboRegions; + private System.Windows.Forms.Button buttonDone; + private System.Windows.Forms.Button buttonReset; + private System.Windows.Forms.Label labelHeight; + private System.Windows.Forms.Label labelWidth; + private System.Windows.Forms.Label labelY; + private System.Windows.Forms.Label labelX; + private System.Windows.Forms.Label labelCurrentRegion; + private System.Windows.Forms.NumericUpDown numH; + private System.Windows.Forms.NumericUpDown numW; + private System.Windows.Forms.NumericUpDown numY; + private System.Windows.Forms.NumericUpDown numX; + private FocusedTextBox textRegionName; + private System.Windows.Forms.ToolTip toolTip; + private System.Windows.Forms.CheckBox checkRelative; + } +} diff --git a/OnTopReplica/SidePanels/RegionPanel.cs b/OnTopReplica/SidePanels/RegionPanel.cs new file mode 100644 index 0000000..521cbda --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.cs @@ -0,0 +1,321 @@ +using System; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; + +namespace OnTopReplica.SidePanels { + + partial class RegionPanel : SidePanel { + + public RegionPanel() { + InitializeComponent(); + + Localize(); + + //Copy settings into combo box + if (Settings.Default.SavedRegions != null) { + foreach (object o in Settings.Default.SavedRegions) { + comboRegions.Items.Add(o); + } + } + + _regionDrawnHandler = new ThumbnailPanel.RegionDrawnHandler(ThumbnailPanel_RegionDrawn); + } + + /// + /// Localizes the dialog's labels. + /// + private void Localize() { + this.SuspendLayout(); + + groupRegions.Text = Strings.RegionsTitle; + comboRegions.CueBannerText = Strings.RegionsStoredRegions; + labelCurrentRegion.Text = Strings.RegionsCurrentRegion; + buttonReset.Text = Strings.RegionsResetButton; + buttonDone.Text = Strings.RegionsDoneButton; + UpdateRegionLabels(); + + toolTip.SetToolTip(buttonSave, Strings.RegionsSaveButton); + toolTip.SetToolTip(buttonDelete, Strings.RegionsDeleteButton); + + this.ResumeLayout(); + } + + /// + /// Updates the labels for the region value selectors and the relative mode checkbox. + /// + private void UpdateRegionControls(ThumbnailRegion region) { + checkRelative.Checked = region.Relative; + + if (region.Relative) { + Padding p = region.BoundsAsPadding; + numX.Value = p.Left; + numY.Value = p.Top; + numW.Value = p.Right; + numH.Value = p.Bottom; + } + else { + Rectangle r = region.Bounds; + numX.Value = r.X; + numY.Value = r.Y; + numW.Value = r.Width; + numH.Value = r.Height; + } + + UpdateRegionLabels(); + } + + /// + /// Updates the labels of region selectors based on the dialog's state. + /// + private void UpdateRegionLabels() { + if (checkRelative.Checked) { + labelX.Text = Strings.RegionsLeft; + labelY.Text = Strings.RegionsTop; + labelWidth.Text = Strings.RegionsRight; + labelHeight.Text = Strings.RegionsBottom; + } + else { + labelX.Text = Strings.RegionsX; + labelY.Text = Strings.RegionsY; + labelWidth.Text = Strings.RegionsWidth; + labelHeight.Text = Strings.RegionsHeight; + } + } + + public override string Title { + get { + return Strings.MenuRegion; + } + } + + ThumbnailPanel.RegionDrawnHandler _regionDrawnHandler; + + public override void OnFirstShown(MainForm form) { + base.OnFirstShown(form); + + //Init shown region if current thumbnail is clipped to region + if (form.SelectedThumbnailRegion != null) { + SetRegion(form.SelectedThumbnailRegion); + } + + //Enable region drawing + form.ThumbnailPanel.DrawMouseRegions = true; + form.ThumbnailPanel.RegionDrawn += _regionDrawnHandler; + } + + public override void OnClosing(MainForm form) { + base.OnClosing(form); + + //Reset region drawing + form.ThumbnailPanel.DrawMouseRegions = false; + form.ThumbnailPanel.RegionDrawn -= _regionDrawnHandler; + } + + void ThumbnailPanel_RegionDrawn(object sender, ThumbnailRegion region) { + SetRegion(region); + } + + #region Interface + + /// + /// Sets the current selected region to a specific instance of a stored region. + /// + /// A stored region instance or null to reset. + public void SetRegion(StoredRegion region) { + if (region == null) { + Reset(); + return; + } + + SetRegion(region.Region); + + //Select right combobox + if (comboRegions.Items.Contains(region)) { + comboRegions.SelectedItem = region; + } + } + + /// + /// Sets the current selected region to a specific region rectangle. + /// + /// The region boundaries. + public void SetRegion(ThumbnailRegion region) { + try { + _ignoreValueChanges = true; + + UpdateRegionControls(region); + + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = true; + } + finally { + _ignoreValueChanges = false; + } + + OnRegionSet(region); + } + + /// + /// Resets the selected region and disables the num spinners. + /// + public void Reset() { + try { + _ignoreValueChanges = true; + + numX.Value = numY.Value = numW.Value = numH.Value = 0; + numX.Enabled = numY.Enabled = numW.Enabled = numH.Enabled = false; + checkRelative.Checked = false; + UpdateRegionLabels(); + + buttonSave.Enabled = false; + + comboRegions.SelectedIndex = -1; + } + finally { + _ignoreValueChanges = false; + } + } + + #endregion + + /// + /// Constructs a ThumbnailRegion from the dialog's current state. + /// + protected ThumbnailRegion ConstructCurrentRegion() { + Rectangle bounds = new Rectangle { + X = (int)numX.Value, + Y = (int)numY.Value, + Width = (int)numW.Value, + Height = (int)numH.Value + }; + + ThumbnailRegion newRegion = new ThumbnailRegion(bounds, checkRelative.Checked); + + return newRegion; + } + + /// + /// Adds a new stored region. + /// + /// Region bounds. + /// Name of the region. + /// Whether the region is relative to the border. + private void StoreCurrentRegion(string regionName) { + StoredRegion storedRegion = new StoredRegion(this.ConstructCurrentRegion(), regionName); + + int index = comboRegions.Items.Add(storedRegion); + comboRegions.SelectedIndex = index; + + if (Settings.Default.SavedRegions == null) + Settings.Default.SavedRegions = new StoredRegionArray(); + Settings.Default.SavedRegions.Add(storedRegion); + } + + /// + /// Internal event raised when a change occurs in the selected region. + /// + /// Region bounds. + protected virtual void OnRegionSet(ThumbnailRegion region) { + //Forward region to thumbnail + ParentForm.SelectedThumbnailRegion = region; + + //Have region, allowed to save + buttonSave.Enabled = true; + } + + #region GUI event handlers + + private void Close_click(object sender, EventArgs e) { + OnRequestClosing(); + } + + private void Reset_click(object sender, EventArgs e) { + Reset(); + ParentForm.SelectedThumbnailRegion = null; + } + + private void Delete_click(object sender, EventArgs e) { + if (comboRegions.SelectedIndex < 0) + return; + + var origIndex = comboRegions.SelectedIndex; + Settings.Default.SavedRegions.RemoveAt(origIndex); + comboRegions.Items.RemoveAt(origIndex); + + if (comboRegions.Items.Count > 0) + comboRegions.SelectedIndex = 0; + } + + private void Save_click(object sender, EventArgs e) { + //Display textbox instead of button + buttonSave.Enabled = buttonDelete.Enabled = false; + textRegionName.Visible = true; + textRegionName.Focus(); + } + + private void Save_confirm(object sender, EventArgs e) { + if (!string.IsNullOrEmpty(textRegionName.Text)) { + StoreCurrentRegion(textRegionName.Text); + } + + //Hide textbox and show button again + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Enabled = buttonDelete.Enabled = true; + } + + private void Save_lost(object sender, EventArgs e) { + //Reset textbox + textRegionName.Visible = false; + textRegionName.Text = string.Empty; + + buttonSave.Enabled = buttonDelete.Enabled = true; + buttonSave.Focus(); + } + + // Used to signal to the value change handler that all events should be temporarily ignored. + bool _ignoreValueChanges = false; + + private void RegionValueSpinner_value_change(object sender, EventArgs e) { + if (_ignoreValueChanges) + return; + + OnRegionSet(ConstructCurrentRegion()); + } + + private void RegionCombo_index_change(object sender, EventArgs e) { + buttonDelete.Enabled = (comboRegions.SelectedIndex >= 0); + + if (comboRegions.SelectedIndex >= 0) { + //Load region + var region = comboRegions.SelectedItem as StoredRegion; + + if (region == null) + return; + + SetRegion(region.Region); + } + } + + private void CheckRelative_checked(object sender, EventArgs e) { + if (_ignoreValueChanges) + return; + + //Get current region and switch mode + var region = ConstructCurrentRegion(); + region.Relative = !region.Relative; //this must be reversed because the GUI has already switched state when calling ConstructCurrentRegion() + if (checkRelative.Checked) + region.SwitchToRelative(ParentForm.ThumbnailPanel.ThumbnailOriginalSize); + else + region.SwitchToAbsolute(ParentForm.ThumbnailPanel.ThumbnailOriginalSize); + + //Update GUI + SetRegion(region); + } + + #endregion + + } + +} diff --git a/OnTopReplica/SidePanels/RegionPanel.resx b/OnTopReplica/SidePanels/RegionPanel.resx new file mode 100644 index 0000000..026c576 --- /dev/null +++ b/OnTopReplica/SidePanels/RegionPanel.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 17, 17 + + \ No newline at end of file diff --git a/OnTopReplica/StartupOptions/CliStatus.cs b/OnTopReplica/StartupOptions/CliStatus.cs new file mode 100644 index 0000000..a445e68 --- /dev/null +++ b/OnTopReplica/StartupOptions/CliStatus.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.StartupOptions { + public enum CliStatus { + /// + /// No errors while parsing. + /// + Ok, + /// + /// User asked for help. + /// + Information, + /// + /// Error while parsing. + /// + Error + } + +} diff --git a/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs b/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs new file mode 100644 index 0000000..9a2ec68 --- /dev/null +++ b/OnTopReplica/StartupOptions/CommandLineReportForm.Designer.cs @@ -0,0 +1,116 @@ +namespace OnTopReplica.StartupOptions { + partial class CommandLineReportForm { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(CommandLineReportForm)); + this.buttonOk = new System.Windows.Forms.Button(); + this.labelInstruction = new System.Windows.Forms.Label(); + this.txtDescription = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.txtCliArgs = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // buttonOk + // + this.buttonOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.buttonOk.DialogResult = System.Windows.Forms.DialogResult.OK; + this.buttonOk.Location = new System.Drawing.Point(440, 200); + this.buttonOk.Name = "buttonOk"; + this.buttonOk.Size = new System.Drawing.Size(75, 23); + this.buttonOk.TabIndex = 0; + this.buttonOk.Text = "OK"; + this.buttonOk.UseVisualStyleBackColor = true; + // + // labelInstruction + // + this.labelInstruction.AutoSize = true; + this.labelInstruction.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelInstruction.ForeColor = System.Drawing.SystemColors.HotTrack; + this.labelInstruction.Location = new System.Drawing.Point(12, 10); + this.labelInstruction.Name = "labelInstruction"; + this.labelInstruction.Size = new System.Drawing.Size(112, 21); + this.labelInstruction.TabIndex = 1; + this.labelInstruction.Text = "Command line"; + // + // txtDescription + // + this.txtDescription.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtDescription.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.txtDescription.Location = new System.Drawing.Point(12, 42); + this.txtDescription.Multiline = true; + this.txtDescription.Name = "txtDescription"; + this.txtDescription.ReadOnly = true; + this.txtDescription.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; + this.txtDescription.Size = new System.Drawing.Size(503, 152); + this.txtDescription.TabIndex = 2; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(13, 205); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(60, 13); + this.label1.TabIndex = 3; + this.label1.Text = "Arguments:"; + // + // txtCliArgs + // + this.txtCliArgs.Location = new System.Drawing.Point(79, 202); + this.txtCliArgs.Name = "txtCliArgs"; + this.txtCliArgs.ReadOnly = true; + this.txtCliArgs.Size = new System.Drawing.Size(355, 20); + this.txtCliArgs.TabIndex = 4; + // + // CommandLineReportForm + // + this.AcceptButton = this.buttonOk; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.ControlLightLight; + this.ClientSize = new System.Drawing.Size(527, 235); + this.Controls.Add(this.txtCliArgs); + this.Controls.Add(this.label1); + this.Controls.Add(this.txtDescription); + this.Controls.Add(this.labelInstruction); + this.Controls.Add(this.buttonOk); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "CommandLineReportForm"; + this.Text = "Command line parameters"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button buttonOk; + private System.Windows.Forms.Label labelInstruction; + private System.Windows.Forms.TextBox txtDescription; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.TextBox txtCliArgs; + } +} \ No newline at end of file diff --git a/OnTopReplica/StartupOptions/CommandLineReportForm.cs b/OnTopReplica/StartupOptions/CommandLineReportForm.cs new file mode 100644 index 0000000..e3315ca --- /dev/null +++ b/OnTopReplica/StartupOptions/CommandLineReportForm.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica.StartupOptions { + public partial class CommandLineReportForm : Form { + + public CommandLineReportForm(CliStatus status, string message) { + InitializeComponent(); + + switch (status) { + case CliStatus.Information: + labelInstruction.Text = "Command line help"; + break; + + case CliStatus.Error: + labelInstruction.Text = "Command line parsing error"; + break; + } + + txtDescription.Text = message; + + txtCliArgs.Text = Environment.CommandLine; + } + + } +} diff --git a/OnTopReplica/StartupOptions/CommandLineReportForm.resx b/OnTopReplica/StartupOptions/CommandLineReportForm.resx new file mode 100644 index 0000000..b6de04b --- /dev/null +++ b/OnTopReplica/StartupOptions/CommandLineReportForm.resx @@ -0,0 +1,1574 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAYAgIAAAAEAIAAoCAEAZgAAADAwAAABACAAqCUAAI4IAQAgIAAAAQAgAKgQAAA2LgEAGBgAAAEA + IACICQAA3j4BABQUAAABACAAuAYAAGZIAQAQEAAAAQAgAGgEAAAeTwEAKAAAAIAAAAAAAQAAAQAgAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAMAAAAGAAAABwAAAAoAAAANAAAADwAA + ABEAAAAVAAAAGAAAABoAAAAdAAAAHgAAACAAAAAhAAAAIgAAACIAAAAjAAAAIwAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAAACIAAAAiAAAAIgAA + ACAAAAAfAAAAHgAAABwAAAAZAAAAFwAAABMAAAAQAAAADgAAAAsAAAAIAAAABwAAAAQAAAACAAAAAgAA + AAMAAAAEAAAABQAAAAkAAAALAAAADgAAABIAAAAWAAAAGQAAAB0AAAAgAAAAJAAAACcAAAAqAAAAKwAA + AC0AAAAvAAAALwAAADAAAAAwAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAvAAAALwAA + AC8AAAAvAAAALwAAAC8AAAAvAAAALwAAAC8AAAAuAAAALQAAACsAAAApAAAAJgAAACIAAAAfAAAAHAAA + ABgAAAAUAAAAEAAAAAwAAAAKAAAABwAAAAQAAAADAAAABAAAAAYAAAAIAAAADAAAAA8AAAATAAAAGAAA + AB0AAAAiAAAAJgAAACoAAAAuAAAAMQAAADQAAAA2AAAAOAAAADoAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOgAA + ADkAAAA4AAAANgAAADMAAAAwAAAALAAAACgAAAAlAAAAIAAAABsAAAAWAAAAEQAAAA4AAAAKAAAABwAA + AAQAAAAFAAAACAAAAAsAAAAPAAAAEwAAABkAAAAfAAAAJQAAACoAAAAvAAAANQAAADoAAAA+AAAAQQAA + AEQAAABGAAAASAAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAASQAA + AEkAAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABIAAAARwAAAEUAAABDAAAAQAAAADwAAAA4AAAAMwAA + AC0AAAAoAAAAIgAAABwAAAAWAAAAEgAAAA0AAAAJAAAABQAAAAcAAAALAAAADQAAABIAAAAYAAAAIAAA + ACYAAAAtAAAANAAAADoAAABAAAAARgAAAEsAAABPAAAAUQAAAFQAAABWAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAAAFcAAABXAAAAVwAA + AFYAAABVAAAAUwAAAFAAAABOAAAASQAAAEQAAAA+AAAAOAAAADEAAAAqAAAAIwAAAB0AAAAWAAAAEAAA + AAsAAAAGAAAACAAAAA0AAAARAAAAFwAAAB8AAAAmAAAALgAAADcAAAA+AAAARgAAAEwAAABSAAAAVwAA + AFwAAABfAAAAYgAAAGMAAABkAAAAZQAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAA + AGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAYwAAAGMAAABhAAAAXgAAAFoAAABVAAAAUAAA + AEoAAABDAAAAOgAAADIAAAAqAAAAIwAAABwAAAAVAAAADgAAAAgAAAAKAAAAEAAAABUAAAAdAAAAJAAA + AC0AAAA2AAAAQAAAAEkAAABRAAAAWAAAAF4AAABkAAAAaQAAAGwAAABuAAAAcAAAAHEAAAByAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABwAAAAbwAAAG4AAABqAAAAZwAAAGIAAABcAAAAVQAAAE4AAABFAAAAPAAAADIAAAApAAAAIAAA + ABoAAAASAAAACQAAAA0AAAATAAAAGQAAACEAAAArAAAANQAAAD8AAABJAAAAUwAAAFwAAABlAAAAawAA + AHEAAAB2AAAAeQAAAHsAAAB9AAAAfwAAAH8AAAB+AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAA + AH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH8AAAB/AAAAfwAAAH0AAAB8AAAAfAAAAHcAAAB0AAAAbQAA + AGcAAABgAAAAWAAAAE8AAABFAAAAOgAAADAAAAAmAAAAHgAAABUAAAALAAAADwAAABYAAAAeAAAAJgAA + ADAAAAA8AAAASAAAAFQAAABeAAAAagAAAHQAAAB8AAAAgwAAAIcAAACLAAAAjAAAAI0AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAAAI4AAACOAAAAjgAA + AI4AAACOAAAAjQAAAI0AAACLAAAAhwAAAIEAAAB6AAAAcgAAAGoAAABiAAAAWAAAAE0AAABCAAAANwAA + ACwAAAAiAAAAGQAAAA0AAAARAAAAGQAAACEAAAAqAAAANQAAAEIAAABPAAAAXgAAAG0AAAB8AAAAkAAA + AKAAAACkAAAAqAAAAKoAAACrAAAArAAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAA + AK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACtAAAArQAAAK0AAACsAAAAqwAAAKoAAAChAAAAlAAA + AIgAAAB9AAAAcwAAAGoAAABgAAAAVQAAAEkAAAA9AAAAMQAAACYAAAAdAAAADwAAABQAAAAbAAAAJQAA + AC4AAAA5AAAARwAAAFcAAABpAAAAgwAAALMMDAzWTk5O8FxcXOxZWVjrWVlY61lZWetaWVnrWllZ61pZ + WetbWlrrWlpa61paWutaWlrrW1pa61paW+taW1vrW1tb61tbW+tbW1vrW1tb61tbW+tbW1vqW1tb6ltb + W+pcW1zqXFtb6lxbW+pcW1vqXFtb6lxbW+pcW1vqXFtb6lxcXOpcXFzqXFxc6lxbW+pcW1vqW1tb6ltb + W+pbW1vqW1tb6lpaW+paWlrqWlpa6lpaWupaWlrqWlpa6lpaWupZWVrqWlla6lpZWepaWlrqWlpa6lpb + WutaW1rrWlta61pbWutaWlrrWlpa61taWutaWlrrWlpa61paWutaWlrrWlpa61paWutaWlrrWlpa61pa + WutaWlrrWlpa61paWutaWlnqWlpZ6lpZWepaWVnqWllZ6lpZWepaWVnqWllZ6lpaWepaWlnqWVlZ61pa + WepaWlnrWlpZ6lpaWupaWlrqWlpa6ltaWupbWlvqWlpa6lpaWupaWlrqWlpa6ltaWupaWlrqWlpa6lpa + WepaWlnqWlpZ6lpaWepbW1vrVFRU7RcXFuEAAADEAAAAngAAAIMAAAB4AAAAcgAAAGYAAABbAAAATwAA + AEMAAAA2AAAAKwAAACEAAAAQAAAAFgAAAB8AAAAoAAAAMgAAAEAAAABRAAAAZQAAAIEAAADLWVlY8ZmY + lc/HwburzsfBp8rGvafKxL2oycO7psbAuaXFvrilxL62pMO+taPBurKjvbiwo7+4r6G9tq6iu7Wtoby0 + rKG6s6yhubOrobeyqqG3s6qgt7KpoLeyqZ62saietK+mnrKupJ6zrqWes66lnrOupZ6zrqWes66lnrOt + pZ6zrKWesquknbKrpJ2yq6Sds6ylnrKspZ60raWdtK6lnbavp524saieurGpn7qzq5+7ta2fvLevnr63 + sZ/AubGfwbqxn8K6sp/FvbSew7yzoMS+tZ/EvrSfxL+1oMS/taHEv7WhxL+1ocW/tqLFv7aixsC4ocfA + uaHHwLmhx8C5ocfAuaHHwLmhyMG5ocjBuaHIwbmhyMG5ocjBuaHIwrqiycK6osnCuaDJwrmhycO7ocnD + u6HJw7uhycO7ocnDu6HJw7uhycK6ocnCuqHKw7uhycK7ocjCuqHHw7mgxsG4oMa+tqDEvbagxLy0nsO7 + sp7BurGew7yznsK7s5/EvLSfxb21nsW+tZ/Gv7igxsC5oMjDuqLJwrqiycO7os3GvqPIw7uloZ6cxWZl + ZO0JCQjdAAAAogAAAIQAAAB7AAAAbQAAAGAAAABUAAAASAAAADsAAAAvAAAAIwAAABIAAAAYAAAAIQAA + ACoAAAA1AAAARAAAAFgAAAB7BQUExHBvbu/Lx8Ktpp2Qd3xxY2RxZVhjcmdZY3JnW2JzZlhhcGZXYW1h + VmBqYFFeZ1xMXmRZSl1hV0hdYVZFXGBURFtdUEFaW01AWlhNP1lXTT1ZVUs7WFJKOlhSSTlYU0g5V1FH + N1dORTRWS0IxVkxBMVZMQTFWTEExVkxBMVZMQTFWTD8xVkw/MVZLPTBWSjwvVUo9MFZMPzFWTEAxVU5B + MVVRQzNVUkU0VVVIOVZZSztWWk09VltPQVdfU0VXYlVIV2NXSFdmWUlXaFpKV2pdTlhqX05YaWBPWGlf + TlhqYE9YamBPWWpgT1lrYVFZbGFSWmxhUlpuYVVabmFVWm9iVlpvYlZab2JWWnBjVlpyZVZacmVWWnJl + VlpyZVZacmVWWnNmV1xzZ1hcdGdYXHRnWF11altddWpbXXVqW111altddWpbXXVqW110aVtddmlaXXZq + Wlx1aVtddGdZXG9lV1twZFRabGBSWmpeUVlqXU1XZ1xMV2lcS1dpXUxXZltMWGleTlhrX09YbWFRWm1i + VFpvZFdbcmVYXHBkVltwZFdccGNVXHNpWluflIdszcfCn4WEg+kODg3XAAAAnQAAAIMAAABzAAAAZgAA + AFkAAABLAAAAPQAAADIAAAAmAAAAFAAAABoAAAAjAAAALQAAADkAAABJAAAAYQAAAI8cGxrmz83JwI2E + eG2Bd2ptioB1dJGIfHeUiYF5l46EepmQh3yakYh8mZKIe5aPhXuUjIJ6k4uAepGJf3mPiH14kId7d46E + e3aLgnh2ioN5doqDeHWKgnd0h4B1dISAdXSFgHV0hn90c4N8cXODe3FygnpvcoJ6b3KCem9ygnpvcoJ5 + b3KCd29ygndvcoJ3b3J/d21ygHducoJ3b3KDem9xhXxwcYZ8cXGGfXJyiYB1couCd3KMhHhyjYZ7c4+G + fXOSiX9zk4p/c5WMgHOWjYF0lo2CdJaPhHSWj4N0lo+EdJeQhXWXkIV1l5GFdpiRhnaYkYd2mZGIdpqR + iHaakIh2mpCIdpqQiHaakIh2m5GIdpySiHackoh2nJKIdpySiHackoh2nZOJd52UiXedlYl4nZWJeJ2W + i3idlot4nZaLeJ2Wi3idlot4nZaLeJ+YjXiflot4npaLeJ2Ui3iblIl3mpKIdpmQh3aYj4d2mJCEdJWN + gnSTjIJ0l4+EdJWNg3WVjoN1mJCEdZmRhXaakId2mpOId5qRiHaZj4Z1lIyCdJKJfnKLg3hvh3xwbH91 + Z2eCeGxi1NDLrjY1NOoAAAC0AAAAjAAAAHgAAABpAAAAXQAAAE4AAABAAAAANQAAACgAAAAUAAAAGQAA + ACMAAAAuAAAAOgAAAE0AAABkAAAAt4OCgeKupp+JiX9zcpGJf3iZk4d8o5yTg6qknYmwqqOMtK2nkLaw + qpK4sauTt7GqkrWvqZK0r6iRs62nkbOspY+xrKSPsaqkjq+po46vqqKOrqmija6poYyuqaGMrKigjKuo + oIyrqKCMq6Wdi6qlnYqqpZ2KqaOciqmjnIqpopyKqaKciqminIqpopyKqaKciqmjnIupo5yLqaKciqqk + nYqtpp6Kraaeiq6noIqvqaGKr6uii7GspIuzrKaLs66ni7Wvp4u3sKmLuLGqi7ewqYy3sKmMt7KrjLey + qoy3sqqMt7Krjbeyq423squNt7KrjbiyrI24sqyNuLKsjbmzrY65s62OubOtjrmzrY66tK2OurStjrq0 + rY66tK2OurStjru0rY67ta2PurWtj7q1rY+6ta6PurWuj7q1ro+6ta6PurWuj7q1ro+8t6+PvLWuj7y2 + ro+7ta6PubStj7m0rY65s6yOuLKsjbiyqoy4squMtbCpjLewqYu1samMtrCpjLeyq4y4sauNubOtjrq0 + rY64sauOtrGqjLOtpYmuqKCFpqCXgJ2Ui3mUjIF0joR5cIF3bGmknZR4lpST1wcHB8wAAACRAAAAfgAA + AGwAAABfAAAAUAAAAEIAAAA2AAAAKgAAABYAAAAcAAAAJQAAAC8AAAA8AAAAUAAAAGkAAADJ0tHP2pWM + g3eWjIJ6nZWNgKijm4m+saqOzLy2l9PFv6HZy8Wm3M/Kq97RzK3dz8ut3c/KrNzPyqvczsmr287JqtvN + yarazcep2s7IqdnMyKnZzMep2MzGqNjMxqjYzMan18vGp9XKxafVysWn1srFp9XKxabVysWm1MnEptTI + xKbUyMSm1MjEptPIxKbTyMSm08nEp9PJxKfUycWn1srFptbKxabWysam18vHptfMyKbXzcmn2M7Jp9nO + yqfZzsqn2c/Kp9vRy6fb0Mun2tDLp9rQzKfa0cyn2tHMqNrQzKjZ0M2o2dDNqNnQzKjZ0Myo2tDNqNrQ + zajZ0M6o2tDOqdrQzqna0M6p2tDPqdrRz6nZ0c+p2dHPqdnRz6nZ0c+p2NDOqdnRzqrZ0c6q2NHOqtjR + zqrY0c6q19HOqtfRzarX0c2q1tLOqtXRzarW0c2q1dHMqtTQzKnU0cyq1NDLqdTPzKnTz8uo08/KqNLO + yqjTz8qn0s7Jp9LOyqjTz8qn0s7KqNPQy6jU0cyp1NDNqtPPzajPzMqky8fFnsO/vpa5s7GLrqehhqOa + kXyXjoR2jIR5cYqBdWvf29jHExIS2gAAAJUAAACAAAAAbgAAAGAAAABSAAAARAAAADgAAAArAAAAFgAA + ABsAAAAlAAAAMAAAAD0AAABUAAAAbAAAAMjT0c/fnZOJe52Vi3+qo5yJvbStk6TJyrqi1NbKq9rc0LDf + 4dey4eTasuLl3LHh49yx4OTcseDj27Lg49uw4eLcseDi27Hg49uy4OLbsuDi2rLg4dqy4OHas+Di2rTh + 4dq04OHateDg2rXg4dq24OHatuDg2bbg4Nm24eDZtt/f2bfg39m44N/ZueDf2brg39q54N7auuDe2rrh + 39m74d/ZvOHf2b3h4Nm+4uHZveLh2sDj4trB5OLawuXj2sPl5NrF5eTaxubk2sbl49rG5eTaxuXi2sbl + 4trG5eHax+Xh2sjm4trJ5eLayuXi2srm4trM5uHazObh2s3n4NrO59/azuff2s7o39rQ6d/a0erf2tHr + 39rT697a0+ze2tXt3trX7d/b1+7g29nu4dvb7uLb3e7i293u4tve7uPb4e7j2+Xu5dvp7ufb7O7n2+7v + 6tvw7urb7+7s2+/u7Nvv7uza7u3s2u7t7Nrv7eza7u3s2u/t7Nru7eza7+7t2u3u7tru7e7a7+7w2u/t + 7tvw7uvb7u3l2uzr3Nbp59TR5ePKy93bv8LCvbWYsKuhh6GakXyVjIF1jYV6bt7d2swTExLaAAAAmAAA + AIEAAABvAAAAYQAAAFMAAABFAAAAOQAAACwAAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAydTS + 0d+hmZCAp5+XhbeyqpLTxL+fW9vm9jjg7f8/3ur/P97r/z/c6f8+2+f/Pdvn/z7b6P8+2+j/Qdzm/0Hc + 5v9B3Ob/Qtvm/0Pc5v9E3OX/Rtzk/0je5f9L3uX/TN/k/03f5P9Q3+T/Ud7k/1Hf4v9T3+P/VeDi/1bg + 4f9Y4OH/WuHh/1zh4P9e4eH/X+Hf/17h3/9g4d7/YuLe/2Pi3v9l4t7/Z+Te/2nj3v9q497/bebe/3Hm + 4P9y59//defh/3nn4v976OL/fOnj/37p4/+B6eP/guni/4Lq4f+G6+H/iezg/4rs3v+M7N//j+3e/5Pv + 3v+V8d//mPPe/5r13f+c9t3/nvjd/6L73P+k/Nv/qf3b/67+2/+w/9v/s//a/7X/2/+3/9v/vP/d/8T/ + 4P/N/+T/1v/n/9//7v/o//T/8P/3//f/+v/8//v////+//////////////////////////////////// + ///////////////////////////9////9v////D////n////2////87////C////t////67///+q/9PQ + xKy9ubOSraWdhJqTiXmRiX1w4N3azBMSEtoAAACYAAAAggAAAHAAAABiAAAAVAAAAEYAAAA6AAAALAAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADJ1NPR36WfloOspZ6KwLu0mt3Qy6xm2+LyQdvk/0bb + 4/9F2uP/Rtni/0fa4f9H2uH/SNvi/0nb4v9K2+D/S9vh/0vb3/9M29//Tdvf/03b3v9P3N3/Utze/1Pd + 3f9U3d3/Vt7d/1fe3P9X3dz/WN7b/1zf2v9e4Nn/YN/Z/2Dg2v9f39n/YN/X/2Hf1v9g4Nb/YuDW/2Th + 1f9m4dX/Z+LU/2rh0/9s4tP/beLT/27j0v9w5ND/ceXQ/3Ll0f9059D/debS/3jo1P976tX/f+zX/4Ts + 2f+F7tv/ifDc/43w3f+R8t7/kvXf/5P23/+W997/mvne/5z83v+f/d7/o/3g/6f+4f+r/+L/rf/j/6// + 4v+z/+P/uP/j/7z/5P/C/+b/yf7m/9L+6f/b/uv/5v7w/+/+9P/3/vn//P/9//////////////////// + ///////////////+///7/v//+P78//r+/v///v/////7///+8f/8/uf/+v7d//j+1P/2/sv/8/6//+/+ + tP/s/6z/7P+m/+z+o//s/6H/6f+j/+r/n//n/53/2tnOuMfCvpyzr6aKoJmPfJSMgnLg3dvNExIS2gAA + AJgAAACDAAAAcQAAAGMAAABUAAAARgAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbgAA + AMnU09Hfp6CYhbGro47FwLuf5djUtWLa3/Q62N7/Qdjd/0HY3f9B2dz/Q9na/0PZ2/9E2dv/Rdna/0Xa + 2f9H2tj/R9nY/0ja2P9I2tj/SNrY/0ra1v9L29X/TNvV/03c1f9Q3NX/UtzV/1Td1P9U3dP/Vd7S/1bd + 0f9W3dD/V97P/1fezv9Y3s3/Wd7M/1nezP9c3sv/Xd/K/1/fyv9h4Mn/Y+DJ/2Liyf9j48j/ZuTI/2jm + x/9p5sj/a+bI/2zox/9u6cf/cOrI/3HsyP9178f/d/DI/3nyyf999cv/gvjO/4f60f+L/df/k//a/5n/ + 3v+d/+L/o//k/6j/5P+t/uT/tP/k/7r+5f/B/uj/yv3t/9T+8v/d/vb/6f74//P++v/5//z/+//9//3/ + /v///////////////////////////////v////v////6////+f////b/+/3y/+v87v/g/ez/3v3p/9f8 + 4//i/d//6f3Q/+P+u//f/63/2P+k/9L/nf/N/5j/zv2V/8/9kv/Q/Y//0PyN/9P8jP/V+pD/wPac/6T3 + pv/Z3tbBzsnFo7mzrI+lnpR+mI+GdOHd3M0TEhLaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAyAAAAPgAAAFQAAABuAAAAydTT0eCqpJqGs66okcnFwKXq3Nm7bN/l9UXd + 5f9M3eX/Td3l/0zd4v9L297/SNvc/0Xa2f9F2dj/RNrV/0PZ0v9E2dL/RdnR/0TY0P9F2ND/RtnP/0na + zv9M3M//TtzP/1Hbzv9Q3Mz/TtvK/07Zyf9P2sn/UNrH/1Dbxv9S28X/VNvF/1XcxP9V3MT/Vt3E/1je + xP9Y3sP/Wd/C/1vhwv9c4sL/X+LB/2Dlwf9j5sD/ZebB/2Xowv9n6sH/aevC/2ruwf9s8cH/bvPC/3D2 + w/9y+cT/dvzE/3n+xv99/8j/gf/I/4f+zP+Q/s//mv7W/6v+3/+8/ur/yv3y/9b+9v/e/vn/5v77/+r+ + /P/t/v7/7P7///H////4///////////////////////////////////////+//3/+f/5//T/9P7n/+z/ + 2f/l/s7/3v/F/9D+wf+5+8L/ofrD/5n8xf+X+8b/l/rF/577yf+j+83/pvvH/7D9uv+8/af/yPyb/8v7 + lv/K+ZL/yfiP/8v2jP/S94//2viS/+T6kv/c+ZX/rfKe/93i2sfSzcqovbexkqihmICakYh14N3bzhMS + EtoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAdAAAAJwAAADIAAAA+AAAAVAAA + AG4AAADJ1NPR4KulnIa2sauSzMfEqO/h3sFc19n2MdLU/zjS1P850tT/OtPT/znS0f850dH/OdLP/znR + zf860sz/O9LM/zrSyv870cr/PNHJ/z3Syf8+0cf/PtHG/0LRxv9D0cX/QdDD/0HSwf9B0sH/RNLA/0XR + wP9G0sD/RtO//0bUvv9J1L3/Sta+/0zVvf9O1rz/Tti7/07Xu/9P2bz/Udu7/1Ldu/9V3br/VuG7/1jj + u/9Z5rv/Wum8/1ztvP9e8b7/YvW+/2X5v/9p/MH/b/3G/3X+yf98/s3/h/7U/5X93f+g/eT/p/3p/639 + 6f+z/ev/t/7s/7j+7v+z/e3/s/7r/7b+7v+9/vT/y/73/9z+/P/w////+//8//r/+//2/vf/7/7x/+b+ + 6f/e/uL/2P7f/9L/3f/P/tb/y/7N/8n/x/+//sD/r/26/6n9tv+j+7H/gfmx/2z4sv9o97P/aPi2/2j4 + tv9v+Lj/ffq//376wP97+8P/hfvL/4j6yP+k+r7/w/iy/9j5qP/d+Z7/2/eV/9r1j//U9IT/z/B5/83t + cP++5G7/4uTazdTQzqzAu7SVqqOagpyTinbh3tzPExIS2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAAB0AAAAnAAAAMgAAAD4AAABUAAAAbgAAAMnU09HgrqafiLizrJPNycap8OLfwlPU + 2fYlzNT/Lc3T/y3O0/8tzdH/LczQ/yzN0P8uztD/Ls7P/y/Nz/8wzM7/MM7M/zHMyv8wzMr/MM3I/zPM + x/8zzcf/Nc3H/zfOxv84zsX/Oc/F/zvPxf860MP/O9DD/zvQw/880MH/PNLA/z/Tv/9A1MD/Q9XA/0bW + v/9G2MD/R9nA/0fbwf9J38H/S+LB/03mv/9N6sH/Uu3D/1jxxf9f9Mn/Z/fM/2z50P90+tb/gPzc/4v+ + 4/+R/ej/kv3s/5T98P+Y/fL/mv3x/5f+7/+S/+r/jf/i/47/3v+P/97/lf/f/6L+5P+x/un/wP7t/8z+ + 8f/U/u7/1v7o/9H+3v/I/tP/vv/N/7b/x/+x/8T/rv+//67/uf+h/7b/i/+0/4T+sv+B/rH/g/2u/3/8 + r/9w+bD/Zfex/2Hyr/9c8K7/WfGx/2bzuP9t9bv/bve7/3j6vv9++8H/fvq+/4H7wf+S+8j/kvvM/5j7 + 1f+b/dT/qP3E/7T4o/+864X/u990/7bZbf+z1mr/sNFl/6/LX//j5NnO19PQrsG8tZasppyDnpWNd+Lf + 3M4TEhLaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAyAAAAPgAA + AFQAAABuAAAAydTT0uGtp6CKubSulc7Lxqrw4t/DVtbd9ijQ1/8v0Nf/L9DW/y/Q1v8x0dX/MdLU/zLR + 1P8y0NT/MtDT/zLR0P8z0tD/NNHP/zXSz/83087/OdTO/zrUz/881c7/PNXN/z3Wzf881sz/P9fL/z/W + yv9A2Mv/QdnL/0Payf9F3cr/R97K/0jhyv9I5Mv/SOfK/0nry/9N7s7/UvDP/1n10v9h+tf/afzb/3H9 + 4/97/ej/hP/u/4v/8/+N//b/jf/3/47/+P+Q//j/jv73/4j/8f+F/uz/gf/l/3//4f+B/tv/hP/Z/4z/ + 3v+X/+T/pv/t/7f+8//F/fb/0P3z/8/+6v/I/t7/vv/V/7P/yv+m/77/mv+0/5T/rv+S/6j/kP6k/5H8 + oP+S+p7/lfed/5b0nP+U8pz/kPGc/43vnv+G7Z//gOyf/37qof9566T/de2o/3jxsf+A9bn/jvXC/5n3 + yf+c+cz/qfrQ/6H7zP+S/Mf/lPrK/4/6yf+J+sT/lPrB/5b5vP+X+Lr/mfe3/5vyp/+k5pD/rtV6/7LL + b/+xym//rshr/+Tk2s7X1NCuwby2lq6mnoWgl4944+HdzxMTEtoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1dPS4bCpoYq5s66VzsvHqvHk + 4MNW1dn3J87T/y/P1P8vztP/L8/S/zHP0v8x0ND/MdDQ/zLQ0P800dD/NdLP/zbUzv821M7/N9TO/znU + zv861c7/OtXN/zvWzP871sz/PNfN/z3Xzf9A2sz/QdzL/0Lezf9D38z/ReLL/0bmy/9I6M3/TuvS/1Tw + 1v9c9Nr/ZPfh/2r56P9z++3/e/vy/3z98/97/fX/fP30/3v98/96/fH/eP3t/3f96P90/eT/dP3e/3L+ + 2v9x/9b/c//R/3j+0P98/tH/gv/Z/4/+4f+d/uj/qP7r/7P96v+1/eT/sP7a/6j+z/+g/8b/l/+8/47/ + sv+K/6r/if2n/4j7pP+I96D/h/Sb/4jvl/+H7ZX/h+mR/4fnjv+F44z/huCJ/4jehf+J24P/kNuD/5je + h/+g5Iv/qOqO/6/wkv+39Zn/tveb/67zmP+q7Jv/seql/7brsv+x7bL/rfC2/6/0vv+w98L/qfe7/6P1 + sf+i9Kv/mvWi/5z0n/+e86L/m/Wn/5r0pv+c65X/nth+/6DEav+lu2P/4+Paz9jU0a/DvreYrqighaKa + kHnj4N3PExIS2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjU09LhsKqii7u1r5bOy8ir8ePhxFXU1vcnzdD/L87R/y/P0f8w0ND/M9DR/zPS + z/8z0tD/NNPQ/zPTzv810s3/NNPN/zbUzf821M3/ONbN/zrVzf87183/O9jM/zzZzP89283/P97M/0Lg + z/9G49D/TOfT/1Pr2P9a7t7/XvLk/2L16v9q+O//bvrx/2778f9r/PD/aPzt/2f96f9n/OT/Zvzg/2X9 + 3f9k/dj/ZP3V/2T90v9l/s7/af7K/2v+yP9s/sf/b/7I/3T+zP98/tH/h/7Y/5H+3v+a/+L/nf7d/5n/ + 0v+T/sX/iv66/4X9s/+D/K//gfqp/3/3pP9/86L/fvCe/4Dsmv+B6Zb/gOaS/4DikP+A343/gNyM/4Da + iv+A2Ij/gtiF/4bZhf+O3of/l+SK/57qjP+k747/qfKQ/6fxjP+i7ob/n+iD/53jgP+a3Hv/mth3/5nV + df+a0XL/mdBz/5rPcv+gznb/rNR+/7bdhP+85Yj/wO2M/77wkf+w8ZH/pu+Q/57ujv+c7o7/ou6Y/6Tx + m/+n8Jf/ouaI/5rOcP/i5NrO19TRr8S/uZmwqaKHopuSe+Ti3c8TEhLaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNTS0uKzrKOLu7awl9DM + yKvx4+DEVtXW9ynP0f8w0NL/MdHS/zHT0P8z0tD/M9LO/zPSzf8z0s7/MtTN/zTTzv811c//N9fP/znY + zv872s7/PNvR/z7d0/9C4dX/SeXZ/1Dp3f9V7uP/V/Hn/1316/9h9+//Yfru/1/66/9c+ej/Wvrj/1n5 + 3f9Y+dj/VvjV/1f50f9X+M7/WvjL/1v3yf9c9sb/XfXD/171wv9g9sH/Y/nB/2b8wf9r/sT/cP/H/3r/ + zv+C/9f/if7Y/4z+1f+L/Mz/gvu9/3z5sv9396z/dPWm/3Pxov9z7Z7/deqc/3jom/975Zj/fOGW/3re + k/9424//eteN/3jWif971ob/fNWG/37WhP+D2IT/i96J/5Pki/+Z6oz/n+6O/6Lvjf+e7Ir/l+aG/5Xg + gP+R23z/j9Z4/5DRd/+Qz3X/kMxz/5DKcf+Rx23/kcZq/5HDaP+TwWX/l8Bh/5m/Wv+bvlP/m71Q/52+ + U/+kwl3/q81q/7XZdP+6437/teh+/6voef+n6Xv/pumD/6zskv+y75v/r++a/+Tn38/X1NGwxL65mbCq + o4ilnpN85OLe0BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI1dPS4rOtpIy9ubGX0M3IrPHj4cVZ19j3KtHQ/zHSz/8v0s7/MNLN/zHT + zv8x083/NNTO/zbVz/8419H/O9rT/z7f1/9D5Nv/SOjg/03s5f9R7uj/UvLr/1T17f9W9+3/Vvbr/1H1 + 5/9Q9OH/TPPZ/0zx1f9L79D/S+7M/07syP9P7Mb/UerD/1Lqwv9T6cH/U+m//1Xovv9V57v/V+m6/1nr + uf9d77r/YvW//2j5xP9v/cr/d/7Q/33+0v+B/c7/gfrK/3v2v/9086//be6l/2rpoP9q5J3/a+Gb/2vf + mP9t3ZT/bduS/27Zkf9x15D/c9WP/3TTjf9304r/eNGI/3nSh/981Yb/gtiG/4veiP+S5Yv/lOqK/5fs + i/+Y7In/lOmG/47ggv+J13z/htJ4/4jOdf+IzHT/iclx/4rGb/+Kxm3/i8Nr/4vCav+NwGn/jL1o/427 + Zv+QumP/krpe/5e5Vv+cuVD/mrlO/5e6Tv+WuVL/k7ZV/5G1VP+Ss1P/lbRU/6C8XP+tyGT/t9Rp/7rc + a/+1327/suB5/7Lkjv+565//5efgz9jU0bDEv7qasquliKefln3j4d7QExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjV09LitK2mjL23 + spjRzcmt8uTixVbX1fcp0c3/M9PP/zTV0f8219P/OtrW/z3e2v9D4t7/R+bj/0rr6P9N7+z/UPPu/1H0 + 7v9Q9e3/TvHp/0vv4/9H7N3/Q+nV/0Hlz/9C5Mv/Q+HH/0bhxf9H38P/Sd7C/0ndwP9L3L//TNy+/03d + uv9O3bf/UNy3/1Hdtv9S37X/VeS2/1rruv9h8sH/Z/jH/2/7y/91/dD/dvvN/3f2xv9z8r3/be2w/2jo + pf9k4p//ZN2c/2Xamf9l2Jf/aNeU/2nVk/9p05D/adKN/2fQif9pzYb/acuF/23Nh/930Yj/fNWL/4Pa + jP+K4Y7/j+aN/5Dojf+S6Yv/keeI/4zhgv+G233/gdN6/3/Mdv+ByHP/gsZx/4PEb/+ExG7/hMJr/4PA + av+EvWj/hLxl/4a6Zf+Gt2P/h7di/4e1Yf+LtF//j7Ra/5W1Vf+Yt07/mLdI/5a3Sv+RtlD/j7ZT/5C2 + Vv+Ttlj/lbZY/5u2Wf+duFv/m7dZ/56zVv+jtVj/q7xa/7PFWf+4y1z/ts1i/7rUd//l5t7P2dXSscXA + vJuyraWJqKCWfeTi3tATEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNXU0uK0raiOvreymdLOyq7x5OLGX9/d9zff3f9B5OH/Q+fk/0Lq + 5v9E6+j/RO3p/0Xu6f9G7OX/ROjg/0Pm2/9B4tb/P+HR/z/fzv8+38z/QN3J/0Daxv9A2cT/QdjB/0TW + v/9F1Lz/RdS7/0fTu/9J1Lr/SdS2/0vVtf9L1bT/TNex/07asf9U4Lb/Wui9/2DxxP9m98v/bPnO/3D4 + zv9u9MX/bO68/2jns/9i4af/YNye/13Ymf9f05b/YNOX/2LRlv9k0ZP/Y9CP/2XPjf9kzIr/ZMmI/2PH + hf9myYT/a86G/3XUh/972ov/g+KO/4zokf+M6JD/jOeP/43ki/+I3oT/gtZ+/33PeP95yXP/esZw/3vE + b/98wm3/fcFs/3++af9/vWf/f7tl/3+5ZP+At2P/gLdh/4G1YP+Ds17/g7Jd/4SwXf+Hslv/jLJX/5Oy + T/+Vtkn/lrdH/5G4Sf+Nt07/irZT/4u2WP+SuFr/lrpc/5q8Xv+evF//oL1d/6G9Xf+jvlz/p7xa/6e7 + WP+muVX/qrlU/6y3Uv+ttUz/tbVI/+bk2dDa1tSyx8G9nLStp4unoJh/5OLf0RMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tTT47Sw + qI++ubSZ0c3KrvDi4MZj6eb3N+jk/z7o4P895d3/O+HY/zrd0/852c7/ONfL/znWyP871sj/PdfJ/z/Y + yv8+2Mr/QdnJ/0DXxf8/0r7/QdC7/0DQuv9B0bn/RNG4/0TQtv9E0bT/RtC0/0fRs/9J0rD/TNaw/1Dd + tv9Y5r//X+/H/2X0zP9p9c7/afHH/2Xrvv9h47P/Xtur/1zWov9b0p3/WtCZ/1zOlf9ezJT/YMyT/1/K + kf9hy5D/YcmN/1/Hif9fx4b/ZMiF/2nMh/9v1In/dNuL/33ijf+C55H/gOaO/4Hjif+C3oj/gdqG/3/V + gv9/0H//f8t6/3zIdf97xXL/esFu/3i/av95vmj/erxm/3q7ZP96uGP/fLdh/3y2X/9+tF7/frNd/3+y + Xf+BsFv/gbBa/4OwWv+GsFn/i7JU/5G0Tv+Vtkf/k7lF/4+8SP+JvFL/ibxZ/429YP+SwWT/mMRl/57F + Zv+ix2b/o8Zl/6LDYf+iwV3/o75a/6O9WP+kulb/pLhT/6S2UP+mtE7/qLRL/6mySv+ssUX/5eTa0NnX + 1LLGwr2dtq6ojKmimYDk4uDRExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjW1NPjtbCqj7+6tJrRzcqv8eTjx13c1Pcw1Mv/ONLK/zfR + x/840cf/N9HG/zjRxP850MX/OtLF/z3SxP88z8H/PM28/zzKuf89yrr/QM27/0HPvP9Bz7v/Qc65/0HO + tv9CzbP/Rc2w/0bPsP9J1LL/T926/1fmxP9d7cj/YvDM/2Lvyv9g6L//Xd+1/1rarP9X1ab/WNCi/1fN + nP9Xy5j/V8uX/1rJlf9cyJP/XceR/1/Gjv9exYz/YMSL/2LGiP9nzIr/bdON/3Tbjv954pH/feaS/3zm + jv944Iv/d9qG/3TTgP9xz3z/dM16/3bJef94yHr/fMd5/4HHd/+AxHT/fMJv/3q+a/94u2f/eLlj/3m3 + Yf96tWD/e7Rg/3y0Xv97s1z/fbJb/3+xWv+CsVn/g7FY/4OxV/+GsFf/i7NT/5C2Tv+Uu0n/k79K/43E + U/+Kxl7/i8Vn/5DGbP+Tx27/lshv/5jJbf+Zx2n/m8Rm/5vAZP+cv2D/nL9c/5+/WP+jv1b/psBW/6fD + U/+rw1L/rsJP/66/Tf+wvUn/r7tG/7C3Q//m5NnQ2tbVs8jEvp63saiMq6OagOTi4NETEhHaAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNbU + 0+O2sauQv7u0m9LOyq/y5uPHXdPM9y/Lw/81zcP/NszC/zbMwP80yr3/Nsi6/znEuP84xLb/Ose3/zzL + uv8/z7z/QM6+/0HQvv9Czrz/Qcu2/0HIsf9EyrD/RtCz/0nVuP9Q38D/VOjI/1rrzP9d68r/W+bD/1ff + t/9U163/VNKn/1TOpP9VyqD/VMme/1bInP9YyJn/VsaX/1fHk/9XxpH/WMaP/13Fjf9fx4z/Y8yN/2nT + kf9w25P/deGS/3rllf9545L/dN+L/3HYh/9w0oP/bs9//2/Le/9vyHf/bcZ0/3DDcv90w3L/dsNz/3rE + dP9/xXP/g8N0/4HCcP99vmr/e7tn/3q3Y/95tV//erVe/3u0Xf99tF3/f7Vb/3+1Wf+BtVj/g7ZZ/4e2 + WP+Lt1j/j7lW/5S9T/+Wwkz/lMhQ/4/NWv+Mz2r/itB1/4zNeP+Qy3X/k8p0/5XKcv+Xym//l8xp/5rM + Z/+ezmT/oM1i/6DKXv+hyFv/o8VX/6TBUv+kvU7/o7dL/6KxSf+iq0P/naQ+/5yeOv+cmTf/nJY2/+Th + 2dHc2dWzycS+nrexqo2rpZyB5OLg0hMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tTT47axq5HBvLWc0s/Lr/Lm5Mdbzsb3LcO4/zXD + uf84wrj/NsK2/zbEtv84xbn/Oca3/zjHt/88yLj/Pci3/z3Fs/8/w7D/QMax/0HMt/9H1b7/TNzD/1Dk + yf9U6c7/VujN/1blx/9T3r7/T9ax/07OqP9PyqP/UMqi/1HIof9Tx5//U8ed/1PFmf9TxJf/VsOV/1jD + k/9bxZT/X8iU/2LNk/9o1ZX/bNyV/3Hglv9z5Jf/dOSU/3LekP9v1or/btCH/23Og/9tzH7/bsp7/2/H + ef9ux3b/b8V0/2/Ecf9vwW//cMBt/3XAbv93wW//fcNx/4TDb/+Gw2//hMFr/4G+Z/9/vWT/fbpg/326 + Xf9+vF7/grtc/4a8XP+Jv1z/i8Fc/4/CWv+SxFr/l8VY/5nJVv+ZzlP/ldNW/4/VZf+J13T/idd//4vW + gf+P1n7/k9V7/5LSdf+TzXD/kshq/5HCZv+PvmD/j7la/4+0Vf+Nq0//i6JK/4qcRv+KmEH/i5Q9/4uS + O/+MkTj/jpA3/5OPNf+UjzT/lZAz/5ePMv+YjjD/5OLZ0dzZ1bTJxL6euLOrjqylnYLk4uDTExIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjW1NPjtrGrksC8tp3T0Muw8+flx1vJwfcwv7T/N8K2/zXDtv82wrX/NsOz/zjBsv84wK//Ob+t/zu/ + rv8+xbT/Q9K+/0fZxP9M4cv/UOfS/1Hq0f9R5sz/UN/E/07Yuv9M0LD/SMmm/0jHo/9LxqL/TsWf/07F + nv9QxJz/UcGa/1HBmP9Vw5j/V8eY/1zMmf9h0Jv/aNef/27dn/9v4J7/ceOb/3LimP9v3pX/bdiP/2zT + iv9s0If/bM2C/23LgP9uyn7/b8l7/23Jev9vyHf/ccV0/3HFcv9xxG//csJt/3HAav9zv2n/eMFq/33E + bf+FxnH/jclx/47Lb/+Mymz/i8to/4nLZP+JzGL/is1h/4zNYv+R0GP/lNJi/5jRYP+b0GD/nNFc/5nV + W/+U2F7/jttk/4rabv+F1Xr/g9CC/4TLgP+GxHf/iL9t/4e4Zv+FsGD/gqdY/36hUP9+mkv/fpVH/32R + RP98j0D/f409/4GMPP+EjTn/h4w3/4iNNf+LjDX/jYwz/4+MMP+PjC7/kYot/5OLLf+UiSz/loks/5iJ + Kv/k4tnS3NrWtcnFv5+3squPr6ifgubj4tITEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNXU0+S3sayTwbu3nNPQzLDy5+XIXce/9zC9 + sP83v7H/N7+u/za9rv83vq7/OcGw/z3Jt/9C0b7/R9jE/0vgy/9P5M//TeLN/07hyP9O28P/S9S6/0jM + rv9Hx6X/SMek/0jGpf9JxqP/SsWg/0vDnP9OwZr/TsOb/1PHmv9YzZ7/XNKi/2TapP9q3qf/a+Gk/23i + o/9v4qD/cN+b/27alv9r15H/atKL/2nQif9rzof/bc6F/3DOgf9wzn//csx9/3LMef9yy3f/csp2/3PJ + cv9zxnH/dcdu/3THbP93yGv/e8tr/4DPa/+J023/kthx/5rcd/+h4Xz/oeF6/57gdP+a3m//ltxq/5PZ + Zv+U1WL/ltJe/5fQW/+Ry13/islf/4XLX/+Az17/fM5g/33HZP9/v2j/fbVs/32uZ/99qF7/f6NU/36d + Tv98mUj/e5VD/3qRP/97jjv/e445/3uMNv99jTP/f4wz/3+KMv+EiTD/hYgu/4WILf+Hhiv/iIYr/4uF + Kv+LhCr/jIQq/42EJ/+OhCf/j4Qn/5KEJ/+UhSf/lYUl/+Th2dLd2de1ysTAoLm0rI+wqaGE5uXi0hMS + EdkAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI1dXT5LmzrZLBvLed1NHMsfLn5chcyLz3L7ys/ze/rv85xLL/Psu6/0LRwP9F1sX/SdvI/0nd + yf9J28P/SNe+/0rUu/9IzbT/Rser/0fGp/9IyKn/Ssqs/0rKqv9KyKb/Scah/0vDnf9Ox57/U82h/1fU + pf9e2qr/ZOCr/2Tiqv9o4qj/auKm/2zgo/9t3p3/bdyZ/27Ylf9w1pP/cNeP/2/UjP9w1Ir/cNOI/3PT + hv9y04T/ctN//3TRfP930Hr/eNB2/3nRdv9+1Xb/gtl3/4bedv+J4Xb/jOV3/5Dpd/+R6Xf/j+V0/5Tj + dP+a4XT/nd92/5/ddv+c13D/lc5l/43EWv+IvVP/hLZP/4C0Uv93tV//brlk/2m8Yv9svlz/dLtS/3q2 + Tf9/rkv/gaZK/3+hSf99nET/fJk//3yVO/97kzf/eZAz/3qPM/96jDD/fIou/3yILP97hyz/e4cr/3yF + Kv9+hSn/f4Mp/4GCJ/+Cgib/goEm/4SAJf+GgCb/h4Al/4h/Jf+JgCX/i38k/4yBJf+NgCX/kYEl/5OB + JP+SgSP/5eLZ0t3Z1rbLxcGhu7Suj7GrooTm5eLSExIR2QAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjV1dPkurStksO9t57U0cyx8ublyV/Q + wvc3zLv/Q9PB/0bWxv9H2cf/RdfC/0LRu/9Bzrb/Qsux/0TGrP9Ew6f/Q8Om/0fHq/9Ky67/S82y/0zM + sP9Nyab/T8mj/1POp/9X1az/Wtyw/17isf9h47D/Y+Os/2Xiqv9m4qf/aOGk/2vgof9q3p7/bd2c/3Hb + mf9z3Jf/dduV/3fbk/933Y//dd2N/3bdiv953Yn/fd6E/4Ddhf+C4Yb/h+WG/4rphv+O7Yb/ke2G/4/t + g/+O6X//jOJ5/4fbcv+D1W3/gc1n/37FX/98vVv/g7tZ/4e8Wf+Lu1j/jbpY/4m3Wf+Aslv/da9j/2mu + a/9fsHL/WrZ0/1+5af9tuFP/f7NC/4WvPf+GqDr/hKE4/3+ZN/97lDX/d5Ey/3aOLv92iy3/doos/3eJ + LP94iCv/eIcq/3mGKv95hSn/eIMn/3mCJ/95gSb/eYAl/3x/Jf99fSX/fHwj/358I/9/eyL/gXsi/4J7 + Iv+DeyL/g3wj/4Z7I/+IfSP/i30j/419JP+NfST/j34j/5B9Iv/k4dnT3NrYtszHwqG9t6+Qsqujhebk + 4tMTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNbV0+S6tK2Sw764ntTRzbLx5uPJatvP90DWxP9D077/Qcu2/z/Isf9Axq3/QMKq/0HA + qP9Cwaj/Q8Wq/0fIrf9Ky6//S82v/07Nq/9S0qr/V9ix/1zguP9h57z/Yuu8/2Hqt/9g6LP/Y+ev/2Pm + q/9j5ar/ZuWm/2rjpP9t5KD/cOOf/3TkoP945p3/fOab/4DonP+D6pv/huya/4fvmP+J8Jj/je+Y/4/t + lv+N6JH/i+OM/4nghv+F2oL/gdR8/3zLc/94w2n/crli/3KzXP9yrlj/catU/3CpUP9wp0//b6dN/3Kp + UP93rFf/eK9j/3iycv90t3//Z7eI/1+2iP9atn//W7Vt/2WxV/90sEP/gas1/4WnM/+DoDL/fpky/3iT + MP90jS//cIou/3GHLf9xhyr/c4Yq/3OGKf91hin/d4Uo/3eDKP93gif/eIEm/3Z/Jf92fiT/dn0j/3h8 + I/96eyP/e3oi/3x6Iv97eSH/fnkh/394If+AeiH/gXoh/4N5If+EeiL/hHoi/4Z7I/+HfCP/iX0j/418 + I/+PfST/kH0i/+Th2dPd2ti2zMjDob23sJGyqqOF5uTi0xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tXT5Lu0rpPDv7mf1dLOsvPm + 5clj0L/3OMWu/0DErf8/xKz/QMOq/0HEqv9Dxqv/RMes/0bMrP9K0a3/UNSu/1TZsf9a4bn/YOq//2Tw + xP9l8sX/ZPHB/2Tvu/9j77j/ZO+0/2Tvs/9n7rD/au2r/2ztqv9y76n/d++p/3zyqP+A86f/hfSm/4ny + pf+N8aL/j+6i/47nnf+K4pf/hduR/4LTiP99zIL/eMV4/3K7cP9ttGj/arBh/2qtXP9rq1v/a6lX/2up + Vf9uqFP/bqZU/2ylU/9so1T/aaJY/2WgXf9joWL/YqVv/2GrfP9isIb/Y7iK/2m7hP9rt3H/brRb/3Kv + Rf92qjb/eqQx/32fMP97mS7/dpIt/3KMLf9uiCz/bIUr/2yEK/9tgyr/b4Mp/2+DJ/9xgib/coIm/3SC + Jf91gST/dYAk/3d/JP92fiP/d30j/3p7If95eiD/eXkg/3p5H/96eR//e3ge/3p3IP98eCD/f3cg/393 + IP+AeCD/gXkf/4J4IP+DeSH/hXkh/4Z5If+JeiL/inoh/417Iv+OeyH/5eHZ097c2bfNycOivbawkrOs + pIbm5OLTExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjW1dPkvLavlMO+uKDV0s2y8+fnyWTNvPg5xaz/Qciw/0TMsv9Hz7D/StOw/03Y + sv9Q3LT/VOG3/1rnv/9d7MT/YO7H/2TwyP9l8cb/aPDF/2vxw/9r8b7/bfK+/2/yu/9v8bb/c/K0/3by + sv969LD/fvKt/3zup/9966T/feei/3vgm/962ZP/edGO/3bKhv9zxIH/cLx6/225dP9ptW7/aLFp/2av + Zv9ormL/a61f/2usW/9qqln/aqhX/2mmVv9oo1b/ZaBZ/2SfWf9inWD/XZxi/12dZP9bn2j/V59q/1qj + a/9fqGz/Za1r/22wZv92tV3/fbZQ/3+xQv97qzn/d6Iy/3WZLv9zkCr/cIso/2+HKf9uhCn/bIQp/2qD + KP9qgij/bYIn/26AJv9vgCX/cYAk/3KAI/91gCP/d4Ei/3iAIv94fyH/en8f/3l9H/96fCD/enof/3l5 + H/94eB7/eXge/3h4Hv95eB7/e3cf/3t2Hv98dR7/fnYf/4B3IP+Adx//gXcf/4J4IP+EeCD/h3ch/4l3 + IP+JeCH/i3kh/416If/k4dnT3tvZt83Iw6O9uLGRs62khefl4tMTEhHZAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNXU0+W+uLGVxL+6n9TR + zrPx5ubKa9nA90XWtP9Q27r/VN+7/1bivP9Z5cH/XebG/1/ox/9j6cj/ZerL/2bqy/9q68n/a+rF/23q + wv9x68D/c+7A/3Lvvv9y7Lj/ceas/3Dlq/9v4qf/atqf/2fRlf9lyY3/YcWJ/2DAhf9gu4D/YLZ5/2Kz + df9ksnP/ZrFv/2exbf9psmv/abFo/2isZP9mqWD/Zqdd/2elXP9mo1r/ZaFa/2KfXf9hm2D/X5th/1ya + Yf9ammL/Wppj/1ubY/9am2H/W55f/12fXf9doFn/YqJT/2mlT/9yqUz/e65K/4GzRf+BsDz/e6Y0/3Wa + L/9wkCr/bYcn/2yCJf9qgSb/bIIn/22CJv9tgib/bYEm/22AJf9vgCT/bn4j/3F/I/90fyP/coAi/3aA + Iv95fyH/e38g/3t+H/96fh7/e3we/3t7IP95eR7/eXge/3h3Hf94dx3/eHYd/3l2H/96dR3/fHUe/3x1 + Hv99dR7/fnUe/392Hv+AdiD/gHYe/4J3H/+Fdx//hncg/4l3IP+LeCH/jHgg/+Xh2tTf29m4zcrEor+5 + s5KyraaH5eXj1BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI1tXT5b62sZXEv7uh1dHPtPDm5sp54sj3WODB/2PhyP9m5Mr/ZeTM/2bi + yv9l4sj/ZeLE/2Tiwv9i47v/ZOCz/2bgsv9m4LL/aN+w/2rfsf9n2qf/YtKf/1/Om/9by5n/WcOR/1a6 + hv9TtoL/UrN+/1Wve/9VrXf/WKx0/1mrc/9crG//YKts/2Ksa/9mrGn/aKtm/2ipZP9np2L/ZKNf/2Cg + Xf9fnV//X5xg/12bYv9cmmP/XJlj/1qYYv9amGL/WZld/1qYW/9cmVv/XJtY/16bVf9fnFH/YpxN/2Ob + R/9pnkP/cqVA/3qpP/99qzz/fqg3/3mgMP91lir/c40o/22IJf9qgiT/bIEk/2uAJf9sgCX/aoEk/2yA + I/9tgCP/boAj/25+I/9wfiH/cn4h/3N+If91gCD/eIAg/3qAH/98fh7/fH4e/3t9Hf96fB3/enkd/3l4 + Hf95eB3/eHcd/3d2HP94dhz/eXUd/3p0Hf97dB3/e3Qd/3x0Hf99dR3/fnYd/391Hv+Adh7/gnYe/4J2 + Hv+Edx//iHYf/4p4H/+Jdx7/5OHa1N/d2rjPysWjvrmzk7Gtpojm5ePUExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjW1dPlvLexlsTA + u6HV0s+08Obly33hz/hZ3cT/Xt3C/1zevf9b3rj/Wty2/1resv9Y3K3/Wdmo/1vWpv9b1KT/WNCk/1XG + m/9TvZD/U7uO/1K9kv9UvpP/UreJ/1Gygv9RsX//UbB9/1GreP9Sp3P/UqZw/1Smbv9WpGr/WKNn/1ui + Zv9epGP/YqVi/2OlY/9lpWT/ZaNl/2GgZ/9dnWb/Wppj/1qZYv9dml//XJpg/1yZXv9cmVr/W5dZ/1yY + Vv9cmFX/XJdT/12YUP9gmE3/ZJlI/2SZRf9lmkD/apw9/3CfOf90oDb/dp0y/3adLv96nS3/epgq/3iS + J/9ziyX/bYQj/2l/I/9pfiL/aX4j/2t/Iv9tfyL/bX8i/25/If9wgCD/cn4f/3J+Hv90fR7/dn4e/3p+ + Hv97gB7/fIAd/3yAHP98fhz/fH0d/3t8Hf96ehv/eXgc/3h3Hf93dhz/eHQc/3h0HP94dRz/eXUc/3ly + G/95cxz/e3Mc/310Hf98dBz/fnUe/351Hv+AdR3/g3Yd/4Z1Hv+Hdh//iXcf/4l1Hv/k4trU39zauM7K + xaS9uLOUtK+oiOfl49QSEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNbV1OW/ubOWxMC7odXTz7Tx5ufLdt/B+FHasv9Y2bL/V9eu/1jU + q/9WzaX/VMae/1C/lv9JupP/SLiR/0mxi/9KsIb/S7GG/020i/9PtYz/T66D/06sf/9OrX7/UK9//0+o + dv9Po2//T6Jt/1Cha/9Qn2b/Upxk/1SdY/9VnWH/WZxh/1mdZP9bn2b/XqBo/1+gav9goWb/YJ9k/12d + Yf9dml3/XJhb/12YWf9dmFj/XplW/16ZVP9dmVP/X5hQ/2CYTv9gl0v/YphG/2WYQv9omj//apo7/2ya + Nv9sljL/aZEu/2uSKv9zlSn/e5so/4CdJ/99lif/d5Am/3KIJP9rgCH/aX0h/2l8IP9pfSD/a34g/21/ + IP9ufx//b34f/3F+Hf9zfx3/c34c/3V+Hf92fhz/en8d/3yCHP9+ghv/fYAc/31+HP98fRz/fHsc/3p6 + HP95eBz/eXYc/3h1G/94dBv/eHQb/3hzG/95chv/eXIb/3lyG/96chv/e3Ib/3xyG/9+cxz/f3Md/4B0 + Hf+DdB3/hXQd/4V0Hf+HdR//iHUe/+Ti2tTf3Nq5zsrFpMC6s5S0sKiJ5uXj1RMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tXU5b65 + s5bEwryg1dPPtPLo6Mty0LT4S8Kg/029nP9JuZf/R7aT/0WxkP9ErYv/RauI/0Wog/9GqoH/RamB/0ir + g/9IqH//SKZ7/0qlef9Kp3z/Tap9/02kdf9NoHH/TKFt/02ia/9PnGX/UJlh/0+aYf9PlmP/UJZl/1CX + ZP9TmGX/V5tm/1udZf9dn2T/YKBj/2KhYf9joF3/YZ1a/2CYWP9emVb/YJlV/2GZVP9gmVL/YJhP/2CY + TP9il0j/ZJdF/2SXQv9olz7/a5k7/2yZN/9pkzD/ZYsr/2SGJv9niSb/cJAm/3mVJP+AmyT/f5kl/3qT + I/91jCP/b4Qg/2p8H/9pex3/aHse/2p8Hv9sfR7/bn0c/29+HP9yfR3/c38b/3V/G/90fhz/dX4c/3d/ + G/99gBz/foIc/3+CGv9+ghr/fn8b/319G/98exv/enka/3l3Gf95dhv/eHQb/3dzGv93cxr/d3Ea/3ly + G/95chv/eXIb/3pyG/97chv/fHIb/31zG/9/chz/f3Ic/4JzHf+Ecxz/hXQd/4d1Hv+HdB3/5OLZ1d7c + 2rnPysWkv7u0lbOwqInm5ePVExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjW1dTlvbi0l8XCvaLW09C18urqy2S7ovg7rYv/RLCO/0Ov + jP9DrIn/RKiF/0Slgv9EpH7/QqB7/0Khef9DoHb/RKB1/0addP9In3T/SaF0/0mgc/9Lnmz/TZ9s/02h + bP9MnWj/S5hl/02YZ/9LlmT/SpNj/02TZf9NlGT/UZZh/1WYYf9aml//Xp1f/2CgXv9joV3/ZaJd/2Wg + Wv9jnFf/YZpU/2CZUf9imlH/ZZtP/2SYTP9kl0f/ZpZE/2aWQP9plz7/apg7/22XN/9pkTD/ZIoq/2CE + Jv9igyT/Z4Uk/26KI/91jyP/fJUk/3+YJf99liT/eY8h/3SJIP9tgh3/aXod/2h6HP9pexz/bHoc/258 + HP9vfRn/cH0Z/3J+HP91gRz/dYAa/3WAGf94fhr/fIAc/3+CGv+Agxv/f4Ma/3+CGf9/fxn/fn4a/318 + Gv97eRn/eXcZ/3l2Gf94dBv/d3Ma/3dzGf93cRr/eXEb/3lyG/96cBn/enAZ/3twGf98chv/e3Ea/39y + HP9/chz/gnEb/4RzHP+Dchv/hXMc/4VyG//l4tnV4N3buc7Lx6a/vbaWta+piufl49UTEhHZAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNbW + 1OW+uLSXxcK+otbTz7Xz6+vLZred+DumhP9CqYf/Q6eE/0Gkgf9BoX3/Qp94/0CbdP9BmXP/Q5pw/0OZ + bP9EmW3/RJpt/0ecbf9ImWj/Spto/0ufbP9LnWr/Spdo/0ubaf9KmGn/SpNm/0uVY/9MlGL/T5Nf/1GU + Xf9Tllz/WJhc/1ybXP9gnlr/Y6Ba/2aiWf9po1j/aKFW/2adUv9lmk//ZZlM/2eaS/9pm0n/Z5lE/2mY + QP9qlz//bJg8/2yYOP9nkDL/ZIgr/2GDJ/9ggiP/Y4Mj/2aCI/9shCL/dIki/3mOIf99kyL/f5Yj/3yT + If94jSD/c4ce/2x/G/9peRv/ankb/2t5Gf9sehr/bnwa/3B9GP9wfhj/c4Aa/3WDGv92ghr/d4EY/3qA + GP99ghr/gIQa/4GEGf+Bgxr/gYIZ/4CBGf9/gBj/fnwY/3x5Gf97eBr/encZ/3h1Gv95dBn/eHMY/3hx + Gf93cBn/eHEa/3lwGf95cBn/eXAZ/3pwGf98cRv/fXAa/31wGv+AcRv/gnEa/4NyG/+Fcxz/hXIb/+Xi + 2tXg3du6zszHpr+8tpa2r6mK5+Xj1hISEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tbV5b+8tZfGwr2j19TRtvTs7MxksZX4OZ56/0Gi + f/9Aon3/QZ94/0Kcdf9CmnL/QJhw/0GTa/9Bkmf/Q5Vn/0OYaf9ElGX/RpRl/0aZaP9ImWv/R5Vn/0mZ + af9KnGv/SZdk/0uXY/9Nl2L/TZNf/06TXP9QlFv/U5NZ/1WWWf9amVj/X5tX/2OeV/9moVb/aaNX/22k + U/9solL/ap5N/2maSf9pmkf/a5pE/22ZQv9tmT//bpk8/26YOP9qkjP/Y4gs/2CEKP9igiX/ZIIj/2WC + Iv9ngSH/an8g/3CEH/93iB7/eo0e/36SIf9/lCH/fI8g/3eJH/9yhBz/bXsa/2p4Gf9reRj/a3oY/257 + Gf9vfRn/cH4W/3KAFv91ghj/d4QZ/3aDGf94gBf/fIEX/32DGP+AhRj/goYY/4SEGf+Dgxn/goIY/4GA + GP9/fRf/fXoY/3x4Gf97dxn/eXQZ/3l0Gf94chn/d3EY/3ZwF/93cRj/eXEY/3lwGf95bxj/eW8Y/3tw + Gf99cBr/fXAa/4BwGv+CcRv/g3Ia/4RxGv+EcRn/5eLZ1eDd3LvQzMemwr23lrexq4vn5ePWEhIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjW1tXlwLy1mMbEvqPX1NG29OzszGSukPg4mnT/P5x3/0Gedv9CnXT/Qppx/0GVa/9Ckmf/Q5Jn/0KT + Z/9CkGT/RI9j/0SSaP9FlWr/RZFl/0iTaP9Mm2r/TJdl/0uVY/9OmWP/TZZf/06TXP9QlFz/T5NZ/1CS + V/9Vk1b/WJZV/1yYVP9gmlX/ZZ9T/2qhUv9to1L/b6RP/2+hSv9tnkb/a5pD/2yaQf9vmj//cZo8/3KZ + Ov9ukzT/ZYst/2OFJ/9jgyX/ZYIl/2SAI/9mgCH/aIAf/2mAHf9vfhz/coIc/3aIHf97jR//fpIe/3+R + H/97ix7/eIgd/3GCGv9sexn/a3kY/2t6GP9texn/b3sZ/3B9F/9xfxb/c4EX/3eEGP96gxn/eYEY/3qA + F/99ghf/f4QX/4KFF/+Ehhj/hIQX/4ODGP+Cghj/gYAY/399F/99ehf/e3gY/3p2F/95dBf/eHMY/3dy + GP93chf/d3AX/3hwF/95cBn/eG8Y/3hvGP95bxj/enAZ/3xvGf98bxn/fHAZ/39xGf+CcBn/hHEa/4Rx + Gf/l4tnW4N3cu9HMx6bDvbiXuLOsi+fl49YSEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNfW1eXAvLWYx8O+o9fU0bb07O3MY6qL+DiW + bf9BnHT/Qpxz/0Gab/9Cl2v/Q5Rp/0KTZv9DjmT/QYxj/0GOZv9DkWb/RY9j/0WQYv9HlWX/SZVk/0mS + X/9NmGL/Tphh/02UW/9Oll3/UJRb/1GRVv9Sk1f/U5JU/1eSU/9ZlVH/XJhQ/2KbUP9nnk7/baFO/3Kj + Tf90o0n/dKFF/3CdQv9umj7/cJo8/3ScO/9xmTb/a48v/2WIKf9lhSf/ZoQl/2aDIv9ngiD/aIAe/2l/ + Hf9rfhz/bH4b/29+G/9ygxv/dogc/3uMHf99kBz/fpAd/3qKHP93hxv/cIEY/2t7Gf9rehj/bHoY/258 + F/9wfhX/cH4U/3J/Ff91gRf/eoUY/3yEGP97ghj/fIEX/36DF/+BhRf/hIYY/4SGGP+Fhhj/hIQY/4OB + F/+CgBj/gH0X/356Fv98eBj/eXUX/3l0F/94cxj/d3IX/3ZxF/93cBf/eHAX/3dvF/94bxj/eG8Y/3hu + GP95bxj/e24Y/3xvGf98bxn/f3AZ/4FvGf+EcRr/g3AZ/+Xh2dbg3ty70c3JpsS/uJe5tKyL5+Xj1hIS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI19bV5cC8tpnHw76j19TRtvTs7cxiqon4OJZo/0Cabf9Cm23/Qplt/0GWav9BkWf/Qo1j/0CN + Y/9CjWH/Q41f/0OLX/9Gj2D/SJFf/0eOXv9JkV3/S5de/0uSWv9PlFv/TpZc/1CSVv9Sk1b/VJNU/1WQ + Uv9XklH/WJJP/1uVT/9gmEv/ZZxJ/2ygSf9xo0j/d6RF/3qkQv94okH/dp89/3OZOf9ylzb/bpQy/2mN + LP9piij/aIgn/2iEJP9ogyL/aIIf/2qAHf9rfxz/bH8b/21+Gv9tfBn/b34Z/3OBGP92hxr/eYob/32Q + HP99jxr/eosa/3eIGv9wgBj/bHsY/2x6F/9ufBf/b30X/3B+Ff9xfxX/dIEU/3mDFv98hRf/fYQX/3uC + Fv98ghX/foQW/4KGFf+GiBb/hocX/4aGF/+GhRb/hIEY/4OAF/+BfhX/f3oV/3x3F/97dhb/eXQW/3lz + F/93chb/d3EW/3hwF/94cBf/d28W/3huFv94bhb/d20W/3luF/97bhj/fG8Y/35uGP+Abxj/gG8Z/4Jw + Gf+Cbxf/5eLZ1uHe3LvRzsmmxL+4l7myrIzn5eTWEhIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjX1tXlv723msjEv6XY1dK39e3tzWOo + hPg5lGX/QZlr/0KZbf9Dl2z/QpNp/0KQZf9CjGH/Qoxd/0SLXP9Filz/Rotd/0eLW/9Hi1n/SZBb/0qP + WP9NkFb/UJRZ/0+TVv9RkVb/U5VW/1KSUf9Uk1D/VpBN/1eSTP9Zk0z/X5ZJ/2SaRv9snUX/cqBF/3ak + Qf97pj//faY9/32kPP95njf/cJQx/2uOLP9qjCn/bYwn/22LJP9rhyD/bIMg/2yBHv9sgB3/bX8c/25+ + Gv9ufRn/b3wX/257Fv9vfRf/c4IZ/3eGGf96ihv/fpAb/32PG/96jBn/d4gY/3B/F/9texb/bnsU/29+ + FP9xfxX/cX8U/3KBFP93ghT/fIQV/36HF/9+hBX/fYIV/32CFf9/hhX/g4YV/4eIFf+Hhxb/h4YV/4aF + Fv+Eghf/gn8V/4F+FP9+exP/fXcV/3x2Ff96dBX/enMW/3hxFP94cRX/d28W/3dvFv93bxb/d28W/3du + Fv93bRb/eW4V/3ptF/96bhb/fW8X/39uF/+Abxf/gHAZ/4JvF//l49rW4d/cvNLNyafDvriYuLKsjebl + 5NcSEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNfW1eXAvbeax8W/pdjV0rf07O7NZKeD+DiRZP9Clmr/RJlr/0OXaP9Dk2T/RJBg/0SN + Xv9EiVr/RIlY/0WKWf9Fh1f/R4pW/0mMVf9Ji1T/TI5U/0+RVP9QjlP/UpNS/1KSUf9Uk0//VZVN/1WS + S/9Ykkr/WpJH/16WRf9lmUP/bJ1B/3KfQf92oj7/e6U8/4GnPP+Epzn/fqE1/3KVL/9rjCj/a4wm/26M + Jf9xjSL/cIoi/26GIP9uhB3/boEc/25/G/9ufhn/cH8W/299Ff9uehb/bnoW/3B+F/9zgxj/eIkZ/3uO + Gf9/khr/fY8a/3qNGP93hxf/cH4V/258E/9vfRT/cH4U/3OAFf90gBX/dIEU/3mDE/99hxT/f4cW/36G + FP99hBT/f4MT/4KHFf+FiBb/iIkV/4iIFf+GhhX/hoQW/4WCFv+CgBT/gH0U/398E/99eBT/fHYW/3p0 + Ff95cxX/eXIV/3hxFf93bxb/d28V/3dvFv93bhX/d20V/3dtFf94bRX/eW0W/3ltFf99bhb/f20W/39t + Fv9/bhf/gW4W/+bi2tbh3ty80c3JqMO+uJm6tK6N5+bl1hISEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI1tXV5sG9t5rIxb+l19bSt/Tt + 7s1jo4H4O5Bi/0SWZ/9ElmX/RZVj/0WUYf9Djlz/RYpY/0SJV/9Eh1X/RYZS/0mJU/9JiFL/SohP/02N + Uf9NjE//To1O/1KQUP9Tj0z/VZNN/1STSf9Yk0n/WpRH/16WRv9hl0P/ZJpC/2qbQP9vnT3/dKA7/3uj + Of+Bpzj/hKg3/3+jMv94mS7/cJAo/2yKJP9uiiP/cowi/3ONIP9zih7/cYYe/3CFGf9ygxj/cYEX/3B/ + Ff9vfhT/bn0U/256Fv9uexT/cX8W/3WFF/95ixf/fpAY/4GTGP9+jxf/fo8X/3mIFv9wfRT/b30T/3F+ + Ff9yfhb/dIAV/3iCFP95ghX/fIYU/4GKFf+AiBX/foQT/32DEv9/hRP/hYgV/4mKFv+HiBX/h4gU/4eH + FP+GgxX/hIEV/4OAE/+BfRP/f3wU/316Ev98eBT/enQT/3lzFP95cxT/eXMU/3hxFP94bxX/eG8V/3dt + Ff93bRX/d20V/3htFf95bRX/eW0V/3xtFf9+bRb/fm0W/39uF/+AbRX/5uLa1uHe3LzQzcmoxL+6mb21 + r43o5+XWEhIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjX1dXmw723msjFv6XY1dK39OzvzWWkfvg7jlv/RJRi/0eXY/9JlmD/RZBc/0aN + Wf9GjFb/Q4ZQ/0SEUP9IiE//SYVN/0mGTv9LiEz/TIdJ/0+MS/9PjUr/Uo1K/1WPSv9WkEf/WpZF/16X + Rf9hm0P/ZJtC/2aaQP9omz7/bZs7/3OeOf96ojf/g6Y2/4GmMv99oiz/epsp/3mVKP9yjyT/bYki/3KK + If92jB7/dYse/3WJHP91hxn/coQZ/3OCF/9ygRX/b34U/3B+FP9vfRT/bnsV/257E/9xfxX/doUW/3qL + Fv+AkRf/gJMY/36PFv+CkBj/eIcV/3B+FP9wfxX/cn8T/3OAE/93gRP/eYIU/3yEE/+AiRT/gYsU/4GJ + E/9+hBP/fYMS/4CGE/+GiRT/iIkT/4mKFP+HiBT/h4cV/4aEFP+EgRP/g4AT/4F9E/9+ehL/fHoR/3t3 + Ev96dBP/enMU/3lzFP95chP/eHAU/3hvFP93bhT/d20V/3dtFf93bBX/eG0V/3ltFf95bBX/em0V/3xs + Ff9+bRb/f24X/4BtFf/m4trX4d7dvdHOyajFv7qZvLWvjejn5dYSEhHZAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNbW1ebDvbeaycXApdfW + 0bf07u/NZqJ6+DyOWP9Gll//RpVc/0iVWv9Hklr/RYxX/0WIUP9Ghk7/R4RL/0qCS/9Lhkr/SoVK/0yG + R/9OiUf/T4hG/1CKR/9TjEP/V5FD/12XRP9jnEP/Zp5B/2aeQP9mnD3/aZo6/22aOf9znzj/e6Y1/36m + Mv98oS//eJsq/3qaJf98mST/epUm/3OOIv9xiR7/dYod/3iMGv96jBr/eYoZ/3eHGf91hBj/dIMW/3KB + FP9wfxP/cH0U/298E/9ufBP/bnwT/3OCE/94iBT/fI0V/4KTFv+Bkhb/gpEV/4aUFv95hxX/cIAU/3KB + E/90gRP/d4IS/3mCEv95gxL/fIUS/4KKEv+EjBP/gooR/3+GEv9/hBH/gocS/4iKE/+JixL/iYoS/4iI + Ev+HhhP/hoUT/4SCEv+DgBP/gX0Q/396EP99ehD/fHcS/3t0E/97dRH/e3MT/3pyFP95cRT/eHAT/3dv + E/93bhT/d24U/3dsFP94bBT/eW0V/3htFP95bRX/em0V/31sFf99bRb/gG0V/+bi2tfi3929087KqMTA + upm7ta6N6efl1hISEdkAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI1tbV5sK+uJvJxcCl19bRt/Pu781mo3j4PIxU/0aTWP9Jlln/SJVY/0aR + Vf9GjVL/R4hO/0iDSf9Igkf/S4RI/0uDRv9NhEX/TIVF/06EQ/9QiEL/U4xA/1yTQf9gmkD/ZZ9A/2if + Pv9lnjz/ZZs7/2mYOf9umzj/dqQ2/3mpMf93oy3/dZkq/3WVJ/96mST/fpoi/36aJP98lCP/dYwd/3SJ + G/93ihr/eo0Z/3uNGf96ixj/eYgY/3aEFf90hBX/coIU/3F/FP9wfhP/bn0T/298Ev9wfhP/dYYS/3uL + FP9/jxT/hpQV/4aTFP+FlBX/iJUW/3eGE/91gRH/dYMS/3iEEf96hBH/e4US/3yFEf9/iBH/hIwT/4aN + FP+DihH/gIYR/4GFEP+GhxD/iYsR/4mLEf+JihL/iIkQ/4aHEf+FhRL/hIIS/4OBEf+Bfg//f3sR/315 + Ef98dxH/e3YQ/3t2EP96dRL/e3QT/3lxFP95cBP/eHAS/3duE/93bhT/eW4T/3htE/94bRP/eG0U/3ts + E/99axX/fWwV/31tFv+AbhT/5uLb1+Lf3b3TzsqpxMC6mbu2sI7p5+XWEhIR2QAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjX1tXmw764m8jF + v6bY1tK49O7wzmiidPg/i0//R5JV/0iUVP9KlFT/SZBR/0qMTf9Kh0r/SYRG/0mCRP9KgUP/TYNC/0yC + QP9Og0D/UIc//1qOPv9gmD7/ZJw+/2efPP9mnTv/Zps4/2aZOP9qmTj/c6E1/3itNf93qS//b5kp/26Q + Jv90kCP/eZUi/3+aIP+AmSL/gJkg/36TIP93ixv/dYob/3qMGP98jBn/fY0Z/36MGP98hxb/eIUV/3aE + E/9zgRX/c4EU/3J/Ev9wfhH/cX4R/3OAEv95hhL/gIwT/4STFf+Jlxb/hpQW/4qXFf+KlhX/eYUS/3iC + Ef95hBD/e4YS/32GEv99hxL/f4cS/4KLEP+HjxL/ho4S/4OKEf+Ahw//gYcO/4aKD/+JixD/iYsQ/4mL + EP+HiBD/h4UR/4aEEf+DghD/gX8P/4B9Dv9+ehH/fXgR/3x2EP97dxH/e3YQ/3x0Ev99cxP/e3IS/3tx + Ev96bxP/eW4S/3luEv95bhT/eG0T/3htE/94bRP/e20T/31sE/98bRP/fm4V/4BuE//m4tvX4d/dvdLO + y6rFwLuavLawjunn5dYSEhHZAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNfW1ebCvribx8XAptjW0rn07e/OaKBw+ECJS/9JkVH/SpNR/0yU + Uf9NkE//S4xJ/0yHRv9MgkP/S4FA/0uAP/9LgT7/ToQ9/1WKPP9clTz/Yps8/2aePf9mmzr/Zpk4/2OY + Nf9mmDX/bZw1/3erNf94tDL/b58s/2yMJ/9siCX/cI0i/3eTIP99lyD/gJkf/4ObHv+BmB3/f5Me/3mM + Gv94iRj/eYsY/3+NF/+Cjhj/gYsX/3+IFf97hRT/doQT/3SCFP90gRP/cn8R/3J/Ef9yfxH/doIT/32I + E/+CjhP/iJUU/4uYFf+IlRT/j5wU/4qVFP98hRL/e4US/3yFEf9+hxL/focS/3+HEf+AiRD/hI4R/4qQ + E/+HjhL/gooP/4KHDv+DiA//h4sP/4mLD/+Jiw//iIsQ/4iIEP+IhRD/hYMR/4OBEP+CgBD/gH0P/356 + D/98eBD/fHcP/352EP9+dxD/fXUP/310EP98cxD/e3IS/3twE/96bxP/eW4S/3htEv94bRL/eG0T/3ht + E/96bRP/fGwT/3xsE/9+bhX/gG4T/+bi29fh392+0s7LqsXAu5q9tq+O6efl1hISEdkAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI19bV5sK/ + uZzGxb+m19XSufTt785soHD4QopJ/0iQTP9LlE7/TJVO/02QTP9MjUf/TYdD/02DQv9MgD//ToA8/1OG + PP9ZkDr/YJk5/2WeOf9knTn/Ypg4/2OUNv9llDL/aZky/3OmMv95uTP/c7Av/2mRKP9mgiX/a4Uj/3GL + If91kCD/fJQe/3+YH/+CmR//hZwc/4SaHP+DlB3/fIsZ/3qIGP99ixf/g44V/4SPFv+CjBX/f4gU/3uG + Ev95hBP/d4IS/3Z/Ef90fxD/c4AR/3aCEf96hhL/gIsT/4WSFP+LlxX/jJoT/4qXEv+TnxX/iJMT/32H + Ef99hxL/fokR/4CKEP+Aig//gIgR/4OMEP+JkBL/ipES/4eNEf+EiQ7/g4cM/4aJDv+Kiw//iowQ/4mL + D/+Jig7/iYgO/4eFEP+GgxH/hIAP/4N/D/+BfRD/f3oP/314D/9+eA//fncP/353EP9+dxD/fXYP/3x0 + Ef97chL/e3IR/3pwEv96cBL/eW4Q/3ttEP97bRL/e20S/3ttEv98bBP/fWwT/39uFP+AbxL/5ePb1+Lf + 3b7TzsuqxcC7mry2r4/p5+XWEhIR2QAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjX1tXmw764m8jFwKbW1dK58+3wzmudbPhDiEP/S5BL/0qU + S/9LlEr/T5JI/06LRP9OhkH/TIM9/1CDPP9YjDv/YJc6/2SdOf9lnTj/ZJg3/2OUNP9hkDL/Y5Ix/2ye + L/92tTL/eb8w/2yiK/9kgiT/ZoAi/2eFIv9tiCD/c40f/3eRH/99lB7/gpgd/4eaHP+Imxr/hpkc/4SU + Hv97ixn/eogX/4CLFv+DjxX/hI8V/4KMFP9/iBP/e4YT/3qEEv94gRH/d4AQ/3aBD/90gRD/eIMR/3yI + Ef+CjRP/iZQU/42aEv+NmxP/jJkS/5WgFf+GkRL/fogR/3+HEf9/iQ//gIsP/4GLD/+BiQ//hY0Q/4uT + Ef+MlBH/h40R/4WJD/+EiA3/iIoO/4uLDv+LjA//iYoO/4mJDf+Ihw3/hoUO/4WDD/+EgA//g34O/4F8 + Dv+Aeg3/fngO/354Dv9+eA7/f3YP/393EP9+dg//fXQQ/31zEf98cxD/fHER/3twEv97bxL/fG0R/3xt + Ef98bRH/fG0S/3xsEv99bRT/gG8T/4FwEv/l49vX4t/dvtPOyqrFwLubvLawkOnn5dYSEhHZAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNfW + 1ebDv7mcyMbBptjW07nz7fDOa55o+ESHQP9Lj0f/TZRH/06VRv9QkEP/UIs//1GIPv9Uizv/XZM7/2ac + Of9mnzj/Y5w2/1+TNf9ejjH/X44v/2eSL/9xqzD/eMMy/3G6Lv9kjib/Ynsg/2R/If9mgyH/aYce/3CK + Hv92jR7/eZEe/4CVHf+DmRr/h5kZ/4ebGf+KmRv/iJUf/36LF/99iBX/gYsV/4SNFP+FjhX/gosU/3+J + E/97hhL/eYMR/3iDEP93gg//d4EP/3eCD/95hBH/fokR/4WQEf+LlhL/kJwR/4+bEv+RnBL/lqEU/4SO + EP9/ig//gIoO/4GMDv+DjBD/g4sP/4OKD/+HjxD/jJQQ/4uTEf+GjRH/hIkO/4aJDP+IjA3/i40N/4yN + Dv+Kiw3/iYkN/4iHDf+HhQ3/hYQM/4SADv+Dfw//gX0N/4B6DP9+eAz/f3kO/354Df+Cdw7/gncP/4J2 + D/+BdRD/gHQP/4B0Dv9/chD/f3AR/31uEf99bhH/fG0Q/3xtEf98bRH/fG0R/35uE/+AcBL/gXAS/+bj + 29ji392908/KqsXBu5u9uLGP6Obl1xIREdkAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI19bV5sO/uZzJxsGm2NbTufTu8c5snGb4RIY9/02Q + RP9Ok0T/UZND/1GQQf9TkT7/XZU8/2KcPP9moTr/Zp43/2GXM/9ejzH/W4sw/1+LLv9pmC3/dr0x/3bK + Mv9qqSv/YYEj/2F7IP9kgSD/ZoIg/2eFH/9uhx3/cowd/3ePHf9+kRz/gZYa/4WYGf+KmRj/i5oX/4yZ + HP+KlR//gYsV/3+IFP+BjBT/hI8S/4SOE/+CihL/gIgQ/32GEv97hRD/eoMP/3qDD/95gw//eYMP/3yG + EP+BixH/h5IR/46ZEv+TnRL/kZsT/5WfE/+VnxH/go0P/4GLDv+Diw//hI4O/4SMD/+Diw7/hYwP/4yQ + EP+PlBH/jJIQ/4iMEP+Gig3/h4kN/4qMDP+NjQ3/jYwO/4mKDP+IiA3/ioUM/4iFDP+Egw3/g38N/4J+ + Dv+Aew3/f3kN/354Df9+eA3/f3gN/4J4Df+CeA7/gncP/4F1D/+AdA7/gHQO/39yEP9+cBD/fm8Q/31u + Ef99bRD/fG0Q/3xtEP9+bRL/gXAS/4JyEf+DchH/5uPb2OHg3b7Sz8urxsO8m725sY/o5uXXEhER2QAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjZ19bnwr64m8rGwabZ19O59O7yzmybY/hFhzn/TY5A/0+RP/9SlkH/WZpA/2GiP/9opDz/Z6M5/2Ka + NP9ekjH/XIsv/1yJLf9hjCz/bKUt/3bPMv9xxy//Y5Qn/2F6Iv9ifSL/ZIAh/2WBIP9ogx7/bIQd/3GH + Hv90jB3/epAd/3+TGv+Clhn/h5kY/42bGP+NmhX/jpoc/4uVIf+AihT/fogS/4KNFP+FjhL/ho4R/4KK + EP9/iBD/fYUR/3yFD/97gw7/e4MO/3qDDv97gw7/fogP/4SOD/+KlA//kJsR/5WfEv+SnBH/maES/5Kc + EP+CjQ//g4wO/4SMDv+Gjg//ho0O/4WMDf+Hjw7/jpQQ/5CWEP+MkhD/iIwP/4WKDP+Jiwz/jo0N/5CM + DP+PjAz/jIoK/4uHC/+KhAv/hoQL/4OBDf+Dfw7/gX0M/397C/9+egz/f3gM/4F3DP+CeQ3/gngN/4J4 + Df+CeA3/gHYO/4B1Dv9/dA7/f3MO/39yEP9+cBH/fW8P/3xuD/98bRD/fW0Q/39vEv+BcBH/gnIS/4V0 + D//m5NrY4uDevtTRzKvHw72bu7avjuno5tkTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNrY1+jCvbecysbBqNnX07n07/LObJtg+ESF + NP9NjD3/VJc+/12kQP9mq0D/aas8/2ikN/9imDP/XI0w/1uJLf9diiz/Y5It/2+2L/9x1zH/ZrIt/2GF + Jf9ifCL/ZIEg/2SBH/9lgR7/aIEd/2qDHv9uhRv/cYob/3eMGv98kBv/gJMa/4eWGf+Jmhj/jZoW/46a + FP+Qmh7/jJUh/4GKEf+AiBL/g4oR/4WNEv+FjRD/gooO/4CJD/99hg7/fIQP/3uDD/97gw7/e4MO/3uE + D/+BiQ7/h5AP/42XD/+TnhD/l6AP/5OcD/+cpBL/kZkQ/4WODf+Gjgz/hY4M/4ePDv+Gjg7/hYwN/4mP + Dv+Plg7/kJcP/4uQDv+Hig7/hokM/4qLDP+OjQz/kY0N/4+LDP+NiQv/jIcL/4mEC/+Hgwr/hYEL/4F9 + Df+AfAz/f3oL/355C/+AeQz/gncM/4N4DP+CeA3/g3gN/4N3Dv+CdQ3/gnUN/4JzDf+Acw7/f3IO/4Bw + Dv9/bw//fW4O/3xuDv9+bg7/gHAQ/4BxEP+CcxH/hnUR/+bk29jj4N6+1NHMq8bDvZy5tK6N6unn2hMS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI2djX6MG9t5zKxsGn2dfTuvTv8s9rmV74RYUx/1SWO/9gpj7/Z7E//2mvPf9mpTn/YJgz/16O + L/9ciCz/X4os/2idLv9xyjH/bNIx/2CYKf9deyP/YX4i/2WDIf9lgx//Z4Ie/2iCH/9qgh3/bYMd/3CG + G/9zihn/eIwZ/32QGv+Ekxf/ipYY/4yaF/+QmhX/kJoT/5GaHv+MlCD/f4gR/4CHEv+EihH/hY0Q/4OM + D/+Ciw//gIkM/36GDf99hQ7/e4QN/3uEDf97hAz/foUN/4KKDf+JkQ7/kJgP/5WdEP+Wng7/lJwP/52k + Ev+Olg7/ho4N/4aODP+Ijwz/iI8M/4eODf+IjQ7/jJMO/5GYDf+Qlg7/i44O/4eJDf+JiQv/jYwL/4+O + Cv+RjAv/kIoM/4yIC/+Lhgv/iYQL/4iBCv+EgAr/gX0M/4B8DP+AeQr/f3gK/4F4DP+Bdwv/gngM/4J4 + Df+Ddwz/hHcM/4N1Df+CdA3/gXQN/4B0Dv9/cg3/gHAN/39wDv9+bw//fW8P/35vD/+AcBD/gnIP/4R1 + EP+GdxH/5uTb2OPg3r7U0MurxsS9nLi0rY7q6efaExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2NfowL24ncnHwqjZ1tO59O7yz3Cd + XPhPkjL/YKc7/2auO/9nrjv/Y6U4/16ZNP9bkS//XIst/2COLP9qrS7/cNoy/2bDLf9bgyP/Wncj/15+ + Iv9igSD/ZYIf/2eDIP9ogx//aoId/2qCHP9sghz/cYUZ/3WKGP96jBj/gJAY/4eTF/+Klhb/jZkV/5GY + Ff+QmRL/kpsf/4uUH/9/hxD/gIcS/4OJEP+Fiw//hIwP/4GKDv+AiA3/f4YN/36FDP98hAv/e4QL/3yE + C/9/hwv/hIwO/4uSDv+SmRD/mJ8Q/5idDv+ang7/nqQQ/4uUDv+Gjg3/ho4M/4mPDP+Jjwz/iI0L/4mP + Df+PlQ7/lJkN/5CVDf+Jjg7/h4oM/4yKDP+Qjgz/kI4K/5GNC/+Pigv/jIgL/4uGC/+JhAr/iIEK/4R/ + Cf+BfQv/gHwM/4F5Cv+CeAv/gngM/4J4DP+CeAz/gngM/4N4DP+Edwz/g3YN/4J1Df9/dQz/f3MN/4Bz + Df+AcAz/fnAM/31vD/9/bw//f28P/4BwD/+Ccw//hXYR/4d4EP/m5NvY4+Dev9TQy6vIxL2cubStjurp + 59oTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNnY1+jBvbidyMfCqdnW1Lrz7fLPd6pc+FmeMP9jqTj/Y6k2/2CjNv9dmzX/XJUx/12Q + Lv9ili7/bsAx/2zhMv9grir/WHgj/1l4IP9bfCH/Xn8f/2SCHv9mgh7/aYMe/2qCHP9rghr/a4QY/2+E + Gv9zhhr/d4oY/32NF/+DkBX/h5QU/4uWFP+OmBX/kZgV/5GYE/+UmSH/jJId/4GJDP+Bhw7/hIkP/4WL + Dv+Fiw7/g4gM/4KHDf+AhQz/foUL/32EC/99hAv/fYUL/4CIC/+GjQ3/jZQN/5SbD/+ZoQ7/l54N/56i + Dv+eog//jJEN/4mPDP+Kjwz/i5AN/4qPDP+Kjgv/jZAM/5GWDf+UmQ3/kZUN/4qNC/+JiQv/j4wL/5KO + Cf+Sjgr/ko0L/5CKCv+OiAn/i4cJ/4mECv+HgQr/hn8K/4N9Cv9/fAr/gXkJ/4J4Cf+CeQv/g3gL/4R5 + Cv+EeAz/hHgM/4N3C/+Ddg3/gnUN/4F1DP+Bcw3/gHIM/4BxDf9+bwz/fm4N/35vDP9/cAz/gXIN/4N0 + D/+FdhD/h3kO/+bk2tji4N6/1NDLq8XDvZ24s62O7Onn2hMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2djX6MO+uJzJx8Ko2NbTuvLs + 8s96sFv4V58t/1ygM/9cnjT/W5w0/1yaM/9flzD/ZqIw/27TNP9p2zH/XJon/1dxIf9ZeSD/WHog/1x6 + IP9ffh3/Y4Ee/2aCHP9oghz/aYEb/2uBGP9sghn/boQZ/3KHF/95ihf/fo0V/4OPFP+GkxP/i5YT/5CX + FP+SmRT/kJcT/5OXIf+Mkhr/gYgK/3+GDf+DiA7/hYwO/4WLDf+DiQ3/gYcK/4CFCv99hQr/foQJ/36E + Cf+AhAv/g4kK/4iPDP+QlQ3/mJwN/5ygDf+anQ3/oaQO/5yeDf+MkAz/i48L/4uQDP+LkAz/jI4M/4yP + C/+OkQ3/kpcN/5SZDP+Okgz/iYwL/4uJCv+Qjgr/kpAJ/5KPCv+RjQr/kIoK/46ICf+Lhwn/iIMI/4eC + Cf+Gfwr/gnwJ/357CP+AeQj/gXkI/4F5Cf+CeQr/gnkK/4N4Cf+DeAv/hHgM/4J1C/+CdQv/gXQM/39z + Df9+cgz/f3EL/35vDP9+bgv/fnAM/4ByDf+CdA7/hHYQ/4Z3Ef+HeQ//5uTa2OPg3r/T0MusxsO8nbu0 + ro3r6efaExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjZ2dfow7+5nMvIw6fa2NS68+zzz3erWfhRlCr/VZUw/1eXMv9anDL/YJ8x/2my + Mv9u4Df/Zc0y/1qJJv9XciH/WXoh/1p7H/9aeR7/Xnoe/2F+Hv9kgR3/aIQa/2qDGv9qghn/bIMX/22C + GP9vhBj/dIgW/3qKFf9+jRX/hJEU/4iVE/+MmBP/kZkU/5GZEv+QlxL/k5cj/4uQGf+Ahgr/gIYO/4SJ + Df+Giw3/hooN/4SIC/+Chwr/gIUK/3+GCv9/hQr/gIUK/4GGCf+Fiwv/i5EM/5GXDf+anQ3/naAO/5ue + Df+ipg3/lpwL/4uRC/+LkAv/i5EL/4yRCv+Mjwv/jJAL/5CUC/+WmQv/lZkL/46RCv+Liwr/josK/5KO + Cv+Tjwr/k44K/5KMCv+Qigr/jogJ/4yGCf+KhAn/h4EI/4R+Cf+DfAn/gHsI/4F5CP+Begj/gnoJ/4J5 + Cv+DeQr/g3gJ/4N3Cv+Ddwz/gnYL/4J1C/+BdAz/gHIM/39xC/9/cAv/fm8L/39vDP9/cAz/gHIN/4J0 + Dv+FdhD/h3kQ/4l7D//n5NvY4+Dev9PRy6vIxL2cubStjuro5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnZ1+jDv7mcy8fDp9rY + 1Lr07/TPdKJV+E2IJf9VkC7/V5cw/1+jMv9qwDb/bOk5/2C/MP9Zgif/WHYk/1p6If9Zeh//W3kd/1t4 + HP9dehv/Yn4d/2aBG/9pgxj/bIIY/2uDF/9sghf/boIW/3KDFv91hxT/e4oU/4CNFP+HkRP/ipUS/4+X + E/+RmBH/kZgP/4+WEf+TmSL/iI8V/3+FCP+Bhgz/hIoN/4aKC/+FiQr/g4cJ/4OHCf+BhQj/f4QJ/3+E + Cf+AhQn/g4cJ/4eMCv+Nkwv/lJkM/5ufDP+coA3/nJ8M/6OmDv+TmQv/i5IK/4uRCv+Nkgv/jpEK/4yQ + Cv+OkQr/k5gK/5qaC/+Wlgz/j48K/42MCf+QjQj/k44K/5SQCf+Ujwn/kowJ/4+KCP+Nhwj/jIYJ/4qD + CP+HgQj/hH8I/4N8CP+Cewj/gXoH/4J6B/+DeQj/g3kH/4N5CP+DeAn/gncJ/4N3Cf+BdQr/gHQK/4Bz + C/9/cwv/fnIL/31xCv99bwr/fnAM/39wC/+Bcwz/g3UN/4V3Dv+Ieg//inwO/+bk2tji4N6/1NHMq8fD + vJ23sayQ6ejm2xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI2djX6MS+up3MxsOp2tfUuvTv9M9xnFT4TIQl/1iQLv9gozH/a882/2vo + Of9gsS//WYQm/1l/JP9afSH/W3of/1t6Hv9beRz/W3gb/117Gv9hfhv/Z4EZ/2qDGP9sghf/a4MX/22C + Ff9vghT/coMV/3WGE/98ixT/go0T/4aREv+MlBL/kJYR/5GXEP+Rlw//kJYR/5OYIf+HjhL/gIUJ/4GF + DP+Eig3/howL/4aJCv+Ehwn/g4cJ/4GFCP+AhAn/gIQI/4CFCP+Dhwn/h40J/4+UC/+Ymgv/naAM/5yg + DP+eoA3/oaUN/5KXCf+LkQn/jJEK/42RCv+NkQr/jJEJ/4+UCv+VmQr/mpoL/5WUC/+Qjgr/jowJ/5KO + CP+Ujwn/lJEH/5SPCf+SjQj/kIsI/46ICP+MhQj/ioMI/4eCB/+EgAb/g3wH/4F6CP+Begf/gnoH/4N5 + B/+DeQb/g3kI/4N4Cf+DeAn/g3cJ/4F1Cv+AdAr/fnML/35zC/99cQr/fXAK/31vCv99cAv/fnEL/4F0 + DP+Ddg3/hXgN/4h7D/+KfA3/5uTa2eLg3r/U0MysxsG8nrexrJDp6ObbExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2NfoxL66nczH + xKna1tO69O/zz3GaVPhNhiT/XaIv/2jWN/9o5Dn/XKUt/1mGJ/9Zhib/WYIi/1t9H/9beh3/XHoc/115 + G/9deBr/XnoZ/2F+Gv9ogRj/bIMW/2uCFv9rghb/boEU/3CBE/9zgxT/d4cT/3qLEv+CjhP/h5AR/4uT + Ef+Olg//kZYQ/5CWDv+PlRH/lJgh/4eMEf9+hQf/gYYL/4aKC/+Gigr/hokK/4SHCf+Dhwn/goYJ/4GF + Cf+Chgj/gYUH/4OJBv+Jjwf/kpUH/5qbCf+foQz/nKAL/6CkCv+hpAr/kJQJ/42QCf+NkAn/jpEK/42R + Cv+Okgn/k5UJ/5qYC/+ZmQr/k5MK/4+NCf+PjAj/ko4I/5SRBv+UkQf/k48I/5GLB/+Qign/jogI/4yF + CP+JgQj/hoEH/4N/Bf+DfAf/gnsI/4F6Bv+Aegf/gnkI/4J3B/+DeAj/gncJ/4N4Cf+Bdgj/gXQK/4Bz + Cf+Acwv/f3IK/31wCP99bwn/fW8J/39wCv9/cgv/gHMK/4N1DP+Gdw3/iHoN/4t+Df/n5drZ4uHev9LP + y6zFv7yft7KskOro5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNnY1+jDvrqdzMfEqNrW1Lr17vPPcp1S+FWfJf9k3DX/YNk1/1qZ + LP9ZiSj/W4wn/1qHJP9ZgiD/WXwd/1t5HP9cehv/XXka/114Gv9gexn/ZX4X/2iBFv9rghb/a4IV/2yB + Ff9wgBT/cYET/3OEEv95hxH/fYsR/4ONEP+IjxH/i5IP/4+WD/+Qlg3/j5YK/5CVEP+TliD/hooO/4GD + B/+BhQr/hYkL/4WJCf+FiQj/hIcI/4OGCf+ChQf/goUH/4KFB/+ChQf/hYoI/4uQCP+Ulgf/m50I/5+g + DP+cnwv/pKYK/56hC/+Skwj/kZII/5GRCP+Skgn/kZAK/5GRCf+Wlgv/mpoK/5maCv+Tkgj/j40I/5GM + CP+Ujwj/l5EI/5aRCP+Tjgj/kYwI/5CLB/+OiAf/i4QI/4mCB/+HgAX/hX4G/4J8Bf+CfAb/gXsE/4B6 + Bf+Cegf/gngG/4J4Bv+Cdwf/gncI/4F2CP+AdAn/f3QJ/35zCP99cgn/fHAJ/3tvCP98cAn/fXEJ/39y + Cf+BdAr/hHcN/4Z6DP+Iew3/in0N/+bk2tni4d6/0s/LrcXAvJ+3sqyQ6ejm2xMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2djX6MO+ + up7Lx8Sp2tbUu/Ts8896ulX4Wt0r/1rKMf9VjSj/V4op/1mQKP9aiiX/Wocj/1mAH/9Zexz/XHob/114 + G/9ceBr/XHcY/196F/9lfRX/aIAV/2uCFv9tgRX/boEU/29/Ev9xgRL/c4QQ/3qGD/9/ihH/g4wR/4iP + EP+Lkg7/j5YN/4+WC/+QlAj/kZUR/5KWIf+EiA3/gYQH/4KFCf+Fhwr/h4gJ/4aIB/+Fhwj/hIUI/4KF + B/+DhQf/goUH/4KFCP+Iigf/j5AI/5aYCP+cngj/n6EL/52fCv+mpwv/nZwL/5GSB/+RkQf/kpII/5KS + CP+RkAj/k5EJ/5iWC/+bmwn/mJcI/5KQBv+QjQf/ko4G/5WRCP+XkQb/lpAH/5ONCP+Riwj/kIoF/46H + Bv+Mgwj/iYMG/4iABv+Ffgf/hHwF/4F8Bf+CeQb/gnkH/4J4B/+DeQj/gngH/4J3B/+Cdwb/gXYJ/390 + Cf9+cwn/fHEI/3twCP97cAj/e28I/3pvCP99cgr/gHMJ/4N1C/+Edw7/hnoN/4h9DP+Kfw3/5uXb2eLg + 3r/Sz8utxcC8n7exq5Hp6ObbExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2dfow767nsvHw6na1tS69Ojy0HzoWvhQuCX/UYIl/1aG + Jf9ZkCf/Wo4m/1uLI/9ahSH/WoAd/1t8G/9beRn/XHgZ/1x4GP9cdxf/XnkW/2R8Ff9ofxT/bIEU/26B + E/9tgBH/boAQ/3CCEP90gw7/e4YP/3+KEP+EjRH/iJAO/4yTDf+OlQv/jpUJ/4+UCP+QkxD/kZUh/4OI + C/+AhAb/gYUI/4SICP+Ghwf/hocG/4WGBv+Dhgb/goQH/4KEBv+BhAb/hIYH/4mMBv+Rkgb/mJoG/52e + B/+enwn/np8J/6WnCv+amgf/kpEI/5KSCP+TkQf/kpII/5KRB/+Vkwj/mZgJ/5qbCv+WlAn/kY4H/5CM + CP+Tjgf/lpAH/5aRBv+Wjwf/lI0I/5KKB/+QiAX/jYYH/4uECP+IggX/hn8F/4V9B/+EfAX/g3wF/4N6 + Bv+DeQX/gngF/4N4CP+Bdgb/gXYG/4F2Bv9/dQf/fXMI/3xyCP98cQn/e3AI/3pvB/96bwf/em8I/31y + Cf9/cgj/gnYK/4R4DP+FeQz/iX0N/4p/Df/m5dvZ4uDfwNLOy67Fv7yft7KskOro5tsTEhHaAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnZ + 1+jCv7ueysfDqdjX07v17fPQcaxQ+Ep2G/9UfyT/Vooj/1qPJf9ajiX/XIsi/1uGIP9bgB3/XXwb/1x5 + Gf9ceBj/XHgW/1x3Fv9geRb/ZHsU/2h+E/9tgRP/bYAS/21/EP9vgA//cYIO/3eED/98hg7/f4kP/4SN + Dv+IkQ3/i5MM/42UCv+PlQr/j5MI/5CTE/+RlR//g4gI/4CEBv+ChQj/hYgH/4eIB/+Ghwb/hIYG/4OG + Bv+ChAb/goQG/4OFB/+Fhwf/i40G/5OTB/+amwb/np8H/5+gCP+iogj/p6cK/5iXCP+Tkgj/k5MI/5SS + CP+Skgj/k5EH/5aUCP+amQj/mpkJ/5WTCP+Rjgf/kI0G/5SPB/+XkQf/l5EG/5eRB/+Ujgb/kosG/5CJ + B/+Nhwf/i4MG/4iBBv+GfwX/hX0F/4R8BP+EfAT/g3sE/4N7A/+DegT/gnkG/4J3Bv+AdQX/gXYG/4B1 + Bv99cwf/e3EH/3twB/97cAf/em8H/3pvB/97cQf/fXMI/4F1CP+Ddwr/hHkL/4Z7C/+Kfg3/in8M/+Xl + 2tng397A0s3KrsXAu5+3sqyQ6ujm2xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2dnX6MK/up7LyMSp2tfUu/Xw89BvjEv4SnYa/1KC + If9WiSL/Wo8j/1qPI/9ciyH/XIUf/1yBHf9cfBv/XXgY/1t3F/9beBX/XHcU/2F2Ff9lehP/aX0T/2x/ + Ef9tfw//bX4P/29/Dv9wgA3/doMN/3qGDf+AiA3/g4wN/4eQC/+KkQr/jpMJ/4+UCP+Nkgf/kZMU/5GU + Hv+Chwb/foMF/4OEBv+Ghgb/iYgG/4eGBf+EhQX/hIUG/4OEBv+DhAb/g4UG/4eHBf+OjQX/lZUG/5ub + B/+goQX/oJ8G/6WjB/+lpAj/lpQF/5ORBv+Ukwf/lJMH/5SSB/+Ukwb/lpYH/5yaCP+amAf/lJIE/5GN + BP+Sjgb/lpEG/5eSB/+YkQb/l5AF/5ONBP+RiwX/j4gF/4yGBf+LhAX/iIEF/4Z+Bf+FfQT/hHwD/4R8 + A/+DewT/g3sE/4J7A/+CeQT/gXcF/4F2Bv+Bdgb/f3MF/31yB/97cQb/e3EF/3pvBv96bwf/enAH/3xy + Bv9/cwf/gXUJ/4N3Cv+Fegr/h3wM/4l+DP+LgQr/5eXa2eDf3cDSzsquxcG8n7eyrJDp6ObbExIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMja2dfow7+6nsvIxKna19W89fD10G+RS/hJdxj/UoEg/1aIIf9ajyD/XJAg/12LH/9chR//XIEc/1x8 + GP9ceRb/W3YW/112FP9fdBT/YXcU/2R6E/9ofRH/bH8Q/21/EP9tfg//bn4O/3F/Df94gg3/e4UO/3+I + DP+DjAz/h48L/4yRC/+PlAr/j5MH/5CRBv+SlBX/kJId/4GGBf9/ggX/goMF/4SGBP+IhwX/h4YF/4SF + Bf+DhAX/g4QG/4OEBv+DhQT/h4kE/4+NBf+WlQX/m5wG/6CiBv+foAX/paUG/6OiB/+Vkwb/k5IG/5ST + B/+Ukwf/lJIH/5WTBf+Zlwb/nJoH/5mVBv+TkAX/kY4E/5SPBf+XkQb/mJEG/5iRBv+Wjgb/lIwF/5KK + Bf+PiAb/jIUH/4uCBv+IgQX/hn4F/4V9A/+EfAP/hHwD/4N7BP+DewT/gnkF/4J4Bv+AdgT/gXYG/350 + Bf99cwX/fHIH/3txBv96bwf/eW4G/3lvBv96cQX/fHIH/31zB/9/dQn/gncK/4V6Cv+HfAv/iX4N/4uB + C//m5NrZ4t/dwNHOy67FwbyftbCrkeno5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNrZ1+jFv7yezMjEqdrX1bz18PXQbpBJ+Eh1 + F/9SgB//Vocg/1mPH/9ckCD/XIwe/1yFH/9bgBv/WnsY/1t3Fv9bdhb/XnUU/190Ff9hdhP/ZHkS/2h8 + Ef9rfBD/bX4Q/21+D/9vfQ7/dH8N/3iCDf97hA3/f4gL/4OLC/+Ijgn/ipEK/4yTCP+Pkgf/kY4I/5KU + Gf+Okhz/gYUE/3+BBf+ChAX/hIcE/4iGBf+GhQT/hIUG/4OEBv+DhAb/g4QG/4OFBf+IiQT/j5AF/5eW + B/+enQX/oaIG/6CgBP+npwb/n58F/5SSBv+UkQb/k5EG/5SSB/+Tkgb/lZQF/5uZBv+bmgj/lZIF/5GO + A/+SjgT/lJAF/5eRBv+YkQb/mJEG/5WOBP+Tiwb/kYkF/4+HBf+LhAb/ioEG/4eABf+FfgX/hHwD/4R8 + BP+EfAX/hHwF/4N7A/+CeQX/gXcG/393BP9+dgP/fXQF/3xzBP97cQX/e3EG/3puB/95bgb/eW8G/3px + Bf98cgf/fXMH/351CP+CeAj/hHkK/4Z8C/+Ifw3/jIEL/+bk2tng3t7B0c7LrsXBvZ+3squR6ujm2xMS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI2tjX6MTAvJ7MyMWp29jWvPXw9dBtkEj4R3QX/1GAHv9Whx7/Wo8g/1yRIP9cjB3/XIYc/1yA + G/9cehj/W3YW/1x0Ff9dcxX/XnQV/2F1Ev9jeRH/Z3wQ/2p7D/9sfBD/bnwN/298Df90fg3/d4EN/3qE + DP9+iAv/hIoK/4iNCv+KkAn/jZIJ/42RCP+Ojwj/k5Qc/46RG/+BgwL/f4AG/4KCBP+EhQT/h4UF/4aF + Bf+ChAb/goMF/4KDBf+DhAX/hIUF/4uKBf+RkAb/mJgG/5+eBv+goQb/oKAF/6inBv+cmwX/k5EG/5OQ + Bf+UkQb/lJEG/5SRBv+WlQb/m5kH/5mYBv+Tkgb/kY4E/5ONBv+Vjwb/mJEG/5iRBv+XjwX/lIwF/5KL + Bv+QiQf/joUG/4qCBf+JgQX/h4AF/4V+A/+EfAP/hHwD/4R7Bf+EfAX/g3sD/4J5BP+BdwX/fncF/311 + BP99cwX/e3EF/3twBf96bwX/d28G/3ZuBf93bwX/eXEF/3xxBv98cgb/f3YH/4B3CP+Eewn/hn0K/4iA + Cv+Mgwn/5uPa2uDf3cDS0MquxMG8oLayrJLq6ObbExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMja2dfoxcC8ns3Jxanb2Na89vD20G6O + SfhIdBX/UX8d/1WGHf9bjR7/XJAe/12MHf9bhhr/XH8Z/117F/9cdxX/XXMU/15zFP9echP/X3QS/2N3 + Ef9oeg//a3wO/2x9Dv9tew3/bnsN/3J+DP91gAv/eoMM/3+HCv+DiQr/ho0J/4mPCf+MkAr/jI8J/4uO + B/+TlR3/jY8Z/3+BAv9/fwX/goIE/4KEA/+GhAT/hYQG/4KDBf+Cgwb/goIG/4KDBf+Hhgb/jYsF/5OR + Bf+ZmAX/n58G/5+fBv+hoQb/p6UG/5mXBP+SkAX/lJEG/5SRBv+TkAb/lJEF/5iVBv+bmAb/mJYF/5KQ + Bf+QjAb/k4sH/5eQBf+YkQb/mJAG/5WOBv+TjAb/kYoH/4+HBv+NhAf/ioIG/4mBBf+GfwT/hHwD/4R8 + A/+EfAP/g3sE/4N7BP+DegT/gXgF/4B2BP9+dQT/fHMF/3tyBP97cQb/em8F/3duBP90bgX/dG4F/3Ru + Bf93cAX/enIH/31zB/9/dgf/gHgI/4N7Cf+FfAn/iYAI/4uDCf/l49ra4N/ewdHPy67EwLugtrKrkuro + 5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNrZ1+jFwLyfzcnFqdvY1rz28PbQcI1I+Eh0FP9Rfhz/VYUe/1qNHf9djx7/XYwc/1yH + Gf9dgBn/XHsW/1t3FP9ccxT/XnMU/15yE/9edBH/YncQ/2d5D/9qfA3/a3wN/2x8Df9tfA3/c30L/3WA + DP96ggv/f4YK/4SJCv+HjQn/iI8J/4qPCP+Ljwn/io4I/5KWIP+Ljhb/f4EC/35/BP+BggT/g4QD/4OE + BP+DhAT/goMF/4KDBv+Cggb/goMF/4eGBv+NiwX/lJIF/5uYBv+fnwb/n54G/6SiB/+lpQf/lZMF/5KQ + Bf+TkAX/lJEG/5OQBf+UkQX/mZQF/5qXBv+WkwX/ko0G/5CLB/+TjAf/l5AF/5iRBv+XjwX/lY0F/5OL + Bv+RigX/j4YG/4yDBv+JgQX/iIAF/4V9BP+EfAP/hHwD/4N7A/+DewT/g3sE/4N5Bv+Bdwb/gHYE/390 + BP98cwT/enEE/3pwBf93bgT/dG4F/3RuBf90bgX/dG4F/3VvBP93cQb/fHMH/392B/+BeAj/gXoI/4R9 + Cf+JgQj/i4QJ/+Xk2trg397B0c/LrsTAu6C2sqyS6ejm2xMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2tnX6MXAvJ/NyMWq29jWvPbx + 9tBvjUf4R3IV/1F9Hf9VhR7/Wo0d/12QHf9djRv/XIgZ/12BFv9cexb/W3YU/1xzE/9echP/XnET/2Bz + EP9kdhD/aHkP/2t7DP9rewz/bHwM/2x8DP9xfQv/dn4L/3mDCP9/hQn/g4kJ/4eMCf+IjQr/io8I/4uP + CP+LjQj/k5Yi/4uMFP9/gAD/fn8E/4GCA/+DhAP/g4QE/4OEBP+Cggb/goIG/4KCBv+CgwX/h4YG/46M + Bf+Ukwb/nJoF/5+fBv+fngb/o6QF/6GiBv+TkQX/k5AG/5OQBf+UkQb/k5AG/5WSBv+ZlQb/mZYF/5SR + Bf+RjQb/kosG/5ONBf+XkAX/mJEG/5aPBv+UjAj/kokH/5CHBv+OhQb/jIMG/4mBBf+IgAX/hX0E/4R8 + A/+EfAT/g3sE/4N7BP+DewT/gnkF/4B2Bv9/dAX/fXQF/3xyBv93cQT/dnAE/3RuBP90bgX/dG4F/3Ru + Bf90bgX/dXAE/3dyBf95dAf/fnYH/4F4CP+Bewn/hH0L/4mCCv+Kgwj/5eTa2uDg3sHRz8uuw8C7obWy + rJPq6ObbExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMjZ2NfpxcC8n83Jxarc2ta89vH20G+MR/hIcRT/UHwc/1SEG/9ZjBz/W5Ac/12M + G/9dhxj/XYAW/1x7Fv9bdhT/W3MT/11xEv9dcRH/X3IQ/2R1D/9peQ3/a3oN/2p6C/9rewz/bHoL/298 + Cv91fwr/eoII/36FCf+CiQn/howJ/4iOCP+Ljgn/io0I/4qNCP+UliT/iYsS/32AAP99fgP/gYEE/4KD + A/+CgwT/goME/4GBBf+BgQX/gYEF/4KCBv+HhwX/jo0F/5WTBf+cmwX/oJ8G/6CdBf+mpgX/n54F/5OP + Bf+TkAb/lJAF/5SQBf+Tjwb/lpMF/5mVBv+ZlQb/lI8E/5GLBf+SigX/lI0F/5eQBv+XkAX/lo0G/5OL + B/+RiQX/j4YE/42EBf+LggX/iIAF/4Z+BP+EfAP/hHwD/4N7BP+DewT/g3sE/4N7BP+CeAX/gXYG/390 + BP98cwX/e3EF/3dwBP90bgP/dG4E/3NtBP9zbQT/c20E/3VvBf93cQX/d3IF/3l0B/97dQf/f3gH/4J6 + CP+Ffgj/ioMJ/4mAB//l5Nra4N/dwdHNyq/DwLuhtbKsk+ro5tsTEhHaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnY1+nGwbyfzsvGqdza + 1rz28fXQb4tG+ElyEv9SfBr/VYQb/1qMG/9dkBv/Xowb/12HGP9dgBf/XHsW/1p2E/9bchL/XHES/11x + Ef9fchD/ZHUP/2d4Df9qeQ3/anoM/2t7DP9teQz/cXsJ/3V/Cv95ggn/foUI/4GICf+GjAn/iY0I/4qO + Cf+KjQf/io0J/5SWJ/+IiQ//fYAA/31+A/+BgQT/goMD/4KDBP+BggT/gYEF/4GBBf+BgQX/gYIG/4mI + Bf+RjQX/lpQH/52bBv+hngb/oJ0F/6imBv+cmAX/k48E/5OQBv+VkAb/lY8F/5aPBf+ZkwX/mpUG/5eT + BP+TjQX/kYsE/5KKBf+VjQX/mJAG/5ePBf+WjQb/lIsG/5GIBf+PhgX/jIMF/4qCBf+IfwX/hn0E/4R8 + Av+EfAP/g3sE/4N7BP+DewT/gnoF/4F4Bf+AdQX/f3QE/3xzA/97cQX/d3AE/3NtA/9zbQT/c20E/3Fr + BP9ybQT/dG8F/3dwBf93cgX/eXQG/3p2B/98eAf/gXoJ/4aBB/+Iggf/hXsH/+Xj2trg3t3C0c3Kr8PA + u6G1sqyT6efm3BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI2djX6cfDvp7Py8aq3drWvPfy99BwikX4SXER/1N8Gf9Wgxn/Wowa/2CP + Gf9fjBn/XYYZ/1yAF/9cexb/WnYT/1pyEv9dcBL/XG8Q/2BxEP9kdA7/ZncM/2l4DP9peQz/ankL/2t5 + Cv9xfAr/dX4J/3iBCP99hQj/gYgI/4WKCP+JjAj/i44I/4qMBv+KjQr/lJUp/4aGDf99fgD/fH4E/3+A + BP+BggT/gYIE/4CCBP+AgQT/gIAE/4GBBf+Dgwb/i4kE/5KPBf+Ylgf/nZwF/6GeB/+gnwX/qKQH/5mU + Bf+Tjgb/kpAG/5SOBf+Vjwb/lZAF/5iSBf+alAX/lZAE/5KKBv+RiQb/k4wG/5eOBf+XjgX/lo4G/5WM + Bf+TiQb/kYYE/4+EBv+Lgwb/iYEF/4d+Bf+EfAT/g3wD/4R7BP+DewX/g3sE/4N7A/+CeAb/gHYF/350 + BP99cwX/fHID/3pwBP93bwP/cm4D/3JsBf9ybQX/cGsD/3FtBP9zbgX/d3EE/3dzBf95dQX/enYG/3t3 + B/+Aewj/hoEH/4aBCP+Aegb/5OLZ2uDe3cLRzcqvw8C7obWyrJTp5+bcExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2Nfpx8O+oM/K + xqvd2da89/L30G+KRfhJbxH/U3oZ/1WCGf9aixn/X48Y/16LGP9dhxj/XH8W/1x7E/9bdRL/XHER/11v + EP9dbg//YHAP/2NzDf9mdgz/aHgM/2l4DP9pdwv/a3gJ/3B7Cf91fQj/eIAI/32EB/+Bhwj/hIkJ/4iL + CP+LjAf/iIwH/4uMDP+VlSr/hIUK/3x9Av97fAT/f4EE/4GCBP+BggT/gIAD/39/BP+AgAP/gIAE/4WD + BP+MiAX/k5AG/5iYBf+enQX/n5wH/6KgBv+mogb/l5EE/5SNBv+Ujgb/lI0G/5ONBv+VkAX/l5MF/5iT + Bv+UjwX/kYkF/5GJBv+UjAb/lo4G/5iOBv+XjAb/lIoG/5GHBv+PhQX/jYUF/4qCBv+IgAT/hn4D/4R7 + Av+DegT/g3oD/4N6A/+CegP/gXkD/4F4BP+AdQT/fXQF/3xzBf96cAT/eXAE/3VuA/9ybQP/cGwD/3Bs + A/9wbAP/cW0E/3NvBP91cQX/dnIE/3h0Bv96dgb/fHkH/4F9Bv+GgAb/gn4H/3x4Bv/k4tna4N/ewtHP + y6/EwbyhtbKslOnn5twTEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNnY1+nHw72gz8rHq93a17z38vbQbotF+EhuD/9Rehj/VoEY/1uJ + GP9ejhf/XowW/1yHF/9cgBb/XXoU/110Ev9ccBH/XXAP/11vDv9fbw7/YnIN/2V1Df9odwv/aXcL/2t3 + C/9vdwn/cnoJ/3R9B/94fwj/fIQH/4CGB/+FiQj/iIoJ/4mLB/+HiwX/i4sP/5SVKv+ChAf/fHwB/3t7 + A/9/gAT/gIAE/4CABP+AgAT/f38D/39/A/+BgQX/hoMF/4yJBf+SkAb/mZgG/6CdBf+fmwX/paEH/6Ke + Bv+TjgT/k40F/5OMB/+UjQj/k4wH/5aQBf+ZkgX/lpEG/5KMBP+QiAX/kYgF/5SMBv+VjAf/mIwI/5WK + Bv+SiAX/kIYG/46EBf+Nggb/ioEG/4h/Bf+GfQT/g3sC/4R6A/+DeQP/hHoD/4J4BP+BdwX/gHYE/4B1 + BP99cwT/fHIE/3pwBP91bwT/dG4E/3JtBP9wawP/b2oD/3BsA/9xbQT/cm8E/3NxBP91cgX/dnMG/3l1 + Bv98eQf/gn0I/4R/B/99egj/eXQG/+Ti2drg4N7C0c/Lr8PAu6K1sqyU6efm3BMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2dnX6cfD + vaDPyser3drYvPfy99FuiUT5SG4P/1J5GP9WgBf/WogY/16OF/9fixb/XYcX/1yAFv9eeRP/XXUR/1xx + D/9cbw7/XG8N/19vDf9icgz/ZXUL/2h2DP9odgv/anYK/293Cf9xeQj/dHwH/3iABv98gwb/f4YH/4SJ + CP+Hign/iIoI/4iJBf+LjBH/lJQp/4CDBP97fAL/e3sF/35+BP+AgAT/gIAE/4B/BP9/fgT/f38E/4CA + BP+Ggwb/jYoF/5SRBf+blwb/oJwH/5+bBv+logb/n5sF/5KMBf+RjAf/kowH/5OMB/+TjQf/lpAF/5iR + BP+Vjwb/kYoF/5CHBv+Qhwb/lIoG/5eLB/+Xiwf/lIkF/5GHBf+PhQX/jYMF/4uBBP+KgQX/iH8E/4V7 + Bf+EegT/g3kD/4J4BP+DeAX/gncF/4F3Bf+AdQX/f3QE/31zBP97cgP/eW8D/3htBf90bQT/cWwD/29q + A/9vagP/cGwD/3FtBP9ybwT/c3AD/3RxBP92cwb/eXQG/3x7Bv+Afgb/gH0H/3t3CP94cgf/5OPa2uDg + 3sLRz8uvw8C7orWyrJTp5+bcExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAA + ABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjZ2dfpx8O9oM/MyKvd29i89/L30W6IRPlHbQ7/UngW/1Z/ + F/9aiBf/XY4Y/16KFv9chhb/XoEW/115E/9ddBD/W3AO/1tuDf9cbgz/X3AN/2JyDP9ldAv/Z3UL/2h2 + C/9qdgr/a3YJ/3F5Cf90fAf/eIAG/3yDB/9/hQb/hIkI/4iKCP+Iigj/h4gF/4yNFf+UlCj/gIME/3t8 + A/97fAT/fX8E/4CAA/+AgAT/fn4D/359BP9/fgT/gIAE/4eDBP+Oiwb/lJIF/5uYBf+gnAb/n5sG/6ak + Bf+blgb/kYwG/5GLB/+TjAf/kosG/5KLBv+WkAX/l5EE/5ONBv+PiAb/kIcG/5CHB/+UiQb/losH/5aK + Bv+ThwX/kYUG/4+DBf+MgwX/i4EE/4uBBf+JgAP/hHoE/4R6BP+DeQX/gngF/4J3Bv+CdwX/gXcF/4B0 + Bf9/cwT/fHME/3pxA/94bgT/dm0E/3JsBP9xawP/b2oD/29qA/9vawL/cW0D/3JvBP9zcAP/c3EE/3Zz + Bf94dQb/fXwF/39+B/97eAj/d3QH/3VxBv/k4tra4N/dwtDOyrDFwLuiuLKslOnn5twTEhHaAAAAmQAA + AIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNnZ + 1+nIxL+g0M3Jq93b2L338/fRbYdD+UdsDf9ReBb/VX0W/1uIF/9djBb/XooW/12HFf9egBT/XXoR/1x0 + D/9bbg7/W24N/1ttDP9ebg3/YXEL/2RzCv9mdAv/aHUK/2h0Cf9rdgn/cHgI/3R7B/93gAf/eoIH/3+E + B/+FiQj/iIoH/4iKCP+FhwT/jo4Y/5KSKP+AgQL/ensD/3l7BP99fgT/gH8D/39/BP9/fgT/fn0D/39+ + BP+BgAT/iIMD/4+LBf+Vkwb/nJkF/5+bBv+fmwb/p6QG/5aSBP+Riwb/kooG/5KLBv+RigX/k4wF/5aQ + Bf+VjwT/kYoE/46FBv+OhQb/kIcH/5SKB/+WigX/lYkF/5KGBv+QhAX/jIIF/4uBBf+LgQX/i4AE/4h+ + A/+DegP/g3kE/4N4Bv+Cdwb/gXcF/4F2Bf+AdQX/f3QE/31zA/97cQT/enAE/3huA/90bgT/cmsD/3Fr + BP9vagP/b2oD/29rAv9xbgP/cm8D/3JvA/90cQT/dnQE/3h3Bf9+fQX/fXsG/3h1B/92cgj/c24G/+Ti + 2trf393C0M7KsMXAu6K3sqyU6efm3BMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAA + ABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2dnY6cnFv6DRzcmr3dvYvffz99Fth0L5RmwL/1B2 + FP9WfhX/XIcX/1+LFv9eihX/XYcT/16AEv9cfA//XHMO/1tuDv9abQ3/WmwL/1xuDP9hcAz/ZHIK/2V0 + Cv9odQv/Z3MJ/2x1B/9veAf/c3wH/3Z/CP96ggb/gIUI/4OICP+HiQj/hogH/4SFAv+PkBz/kJIm/35/ + AP94eQX/enoG/319Bf9+fQT/fn4E/319A/99fAP/fn0F/4CABP+JhQX/kIwE/5WUBf+dmgb/n5sG/6Cd + B/+loAb/lI4E/5CKBv+RiQf/kYkH/5GKBf+SjQP/lJAE/5ONBv+QiAX/joUG/4+GBv+Rhwf/k4oG/5aK + Bv+ThwX/kIYF/46EBf+Lggb/in8G/4uBBf+LgQT/hnwE/4N4A/+Bdwb/gncF/4F4Bf+AdgX/gXYF/390 + BP9/cwT/fHME/3lxA/94bwX/d24E/3JsBP9ybAT/cWoD/29rA/9vagP/cGwD/3FsBP9wbQT/c28D/3Ry + A/92dAT/enkF/318Bv96eAb/dXIG/3RwB/9xbAX/4+LZ2uDf3cLRzsqwxcC7oreyrJTp5+bcExIR2gAA + AJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAA + AMjb2tnoy8bAoNHOyKve29i9+PP40W6GQvlFagv/T3YU/1V9Ff9ahhX/XosV/16KFP9ehRH/XIAS/1t7 + D/9acw//Wm0M/1trDf9bawz/XG0M/19vDP9kcQr/ZXMK/2VyCP9ncwj/aXUH/3B4B/9zewf/dnwI/3yB + B/+AhAf/g4cG/4aIB/+Fhgb/hIQD/4+QIf+OkCP/fX4A/3d4Bf95egX/fX0E/359A/98fQL/fH0D/318 + BP9/fQX/g4AE/4iGBP+QjAT/lpQG/5yaBf+dmQb/o54H/6KcBf+Riwb/kIoF/5GJBv+QiAb/kYkF/5KM + BP+TjgT/kowG/42GBf+NhAX/j4UG/5KHB/+TiAX/lYgF/5KHBv+PhAX/jYIE/4qABf+KgAT/i4EF/4qA + BP+FeQP/gncF/4F3Bf+BdwX/gXcF/4B2BP9/dAT/f3QE/31zBP97cQP/em8E/3hvBP90bQT/cmsE/3Br + BP9vawT/b2oD/3BrA/9wbAP/cW0E/3BtA/9ybwP/c3EE/3Z0Bf96eQb/e3sH/3d0Bv9zcQX/cm0G/29p + Bf/j4tna4N/dwtHOyrDFwLuit7KtlOnn5t0TEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAA + AC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNva2ejLxsGh0M7JrN7b2b348/jRbIVB+UZp + Cv9QdRT/VHwU/1qEFf9eihT/XokT/1yGEP9dgBH/XHgQ/1tzD/9abQ3/WWsN/1lqDP9bbQv/YG0L/2Ny + Cf9kcwn/ZXII/2dzCP9rdAb/b3cF/3J5B/91fAj/fIEF/4CEBv+ChQX/hIYE/4WGBv+EhAL/kZIl/4yO + If99fQD/d3gE/3h6BP98fAT/fXwE/3x8BP97fAT/e3wE/399Bf+EgAT/ioYE/5COA/+YlQX/nZkF/5yY + BP+loAb/nZcG/5CKBf+PiAX/kYkF/5CIBf+RiAX/kYoG/5KMBv+QiAX/jYQG/4yDBP+PhQb/kYYG/5KI + Bf+Thgb/kIQF/46CBv+MgQX/iX8E/4l/A/+LgQX/iH8E/4J4Bf+CdwX/gXcF/4F3Bf+AdQX/f3QE/390 + BP9+cwT/fHMD/3lwA/95bwT/d24D/3JsA/9yawT/cGoD/29qA/9vagP/cGsE/3BsA/9vbAP/cG0D/3Fv + Av9zcgT/dnUF/3l5Bv94dgX/c3EF/3JvBv9wbAX/bmcG/+Pi2drg393C0c7KsMTAvKK2sq2V6efm3RMS + EdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAA + AG0AAADI29rZ6MvHwqHRzsqs39zZvfj0+NFthED5RmgL/1B0E/9UexL/WYMU/12JE/9diBL/XIUQ/11/ + EP9ceBD/W3IP/1psDv9Yagz/WWoL/1xrCv9gbgv/Y3EJ/2RyCf9lcgj/Z3II/2t0Bf9vdwb/cnkH/3R8 + B/97gAX/f4MG/4GEBP+DhQT/hIUF/4KDAv+Rkyf/iosd/3x8AP92dgX/eHkE/3t8BP98fAT/e3wE/3p7 + A/97fAT/fnwE/4WAA/+KhgT/kY4E/5iVBP+bmQX/m5gF/6SgBf+YlAX/jokF/46HBv+PhwX/j4cG/5CI + Bf+Rigb/kosG/46GBf+Mgwb/jIIF/4+EBv+RhQb/k4cG/5GGBf+PhAX/jYEF/4qABP+JfgP/iYAD/4uB + BP+GfAT/gXcF/4F3Bf+BdwX/gHYE/4B2Bf9/dAT/f3QE/31zBP97cQP/enAD/3duBf90bQT/cmsE/3Jr + BP9wagP/b2oD/29qA/9vagP/b2wD/29sA/9wbQP/cW8C/3NxA/93dQX/eHkF/3VzBP9ybwX/cW0H/29p + Bv9sZQX/4+LZ2uHf3MLRzsqwxMC8o7ayrZXp5+bdExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAA + ADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMjb2tnoy8fCodPPyqzf3Nm9+PT40W6E + QflFZgv/UHIT/1R5Ev9YghP/W4gS/1yIEv9cgw//XH4O/1x4Dv9bcw7/Wm0N/1hqDP9Zagv/XGoK/15u + Cv9icQj/ZHIJ/2RxCP9ncgf/a3MG/252Bf9xeAf/c3wG/3t/Bf9/gwb/gYQE/4OEBP+DhAT/goMD/5KT + LP+IiBr/enoA/3R1BP94eAT/ensE/3t8BP96ewT/eXoE/3p7Bf99fAT/hYED/4uIBP+SjgT/mZUE/5uY + Bv+bmAb/o6AE/5OOA/+NiAX/jYYG/4+GBv+Phgb/kIgF/5GKBv+RiQX/jYUE/4yCBv+Ngwf/j4QG/5GE + Bv+Thgb/kYUF/46DBP+MgAT/iX4D/4l+BP+KgQT/ioED/4R6BP+BdgX/gXYF/4B2BP+AdgT/f3UE/390 + BP9+cwP/fHME/3txBf96cAT/dm8E/3JtBP9yawT/cGoD/3BqA/9vagP/b2oD/29rA/9vbAP/b2wD/29t + A/9xbwP/dHEC/3h2BP93dgX/cnAF/3BuBf9vawb/bWYH/2pkBP/j4tna4d/dw9HNyrDEwLyjtrKtlenn + 5t0TEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAA + AFQAAABtAAAAyNrZ2enLx8Oh08/MrN/d2r349fjRbYNB+UVmCf9OcRL/U3cT/1Z/Ev9ahxH/XIcR/12C + D/9bfg3/XHgN/1tyDf9ZbQv/WGkM/1ppC/9cagr/X20I/2JxCP9icQf/ZHEI/2ZyBv9rcwX/bnUG/3F3 + B/92ewX/fH8G/36ABf+AgwX/goMD/4OEBP+CggX/k5Mw/4aHF/95eQD/dHQE/3d3Bf95egX/ensE/3p6 + Bf95eQX/eXoG/3x8BP+EgQP/jIkD/5OPBf+alQX/nJcG/56ZBv+gnQX/j4sE/4yHBP+Lhgb/jocF/4+F + Bf+QiAT/kYkF/4+HBf+KgwX/iYIF/4yDBv+Pgwb/kIUG/5GGBv+PgwT/jYEE/4t/BP+IfQP/iH0D/4yB + Bf+IfwX/gXgD/4B2Bf+AdQX/gHUF/4B1Bf9/dAT/f3QF/31zBP97cgP/enAE/3luBP92bQP/c20E/3Jr + BP9vagP/b2oD/29qA/9vawL/cGwD/3BsA/9vbAP/cG4D/3FvA/9zcgL/d3cE/3RzBf9vbQX/bWwD/21o + Bf9rZQf/aGEE/+Lh2dvh393D0c3KsMTAvKO2sq2V6ejm3RMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAA + AEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI2trZ6cvIxKLTz8yt4N3avfj1 + +NFsgkD5RWQJ/05vEf9RdRH/Vn0Q/1qEEf9chRD/XIEQ/1x9D/9cdg7/XHEO/1lsDP9YaAr/WmkK/1xq + Cf9fbQj/YXAH/2JwB/9icAb/ZXAG/2pxB/9tdQb/cHkG/3Z8Bf96fwT/fYAD/3+CBP+CggT/gYID/4CC + Bf+TlDH/g4UT/3Z5AP9zdAT/eHYE/3l5Bf95eQX/eHgE/3l5Bf95eQX/fXsD/4WCBP+MiQP/k48E/5uW + Bv+alQX/oJsG/56aBP+NiQP/i4UF/4yEBv+MhQb/jYUE/4+HA/+PhwT/jYQE/4iBBf+IgAT/ioID/46D + BP+QhQT/j4UE/42BA/+LfwT/iX4E/4d8A/+KfwT/jIEF/4Z8Bf9/dQP/f3QE/4B1Bf9/dAT/f3QE/35z + BP99cgP/e3ED/3pwBP96cAT/eG0E/3RsBP9ybAP/cWoD/29qA/9vagP/b2oD/25rA/9vbAP/b2sC/29s + A/9wbQP/cXAC/3R0A/91dQP/b24D/2xrBP9raQT/a2UE/2ljBf9mYQX/4uDZ2+Hf3cPRzcqwxL+8o7ay + rZXp6ObdExIR2gAAAJkAAACDAAAAcQAAAGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAA + AD4AAABUAAAAbQAAAMja2tnpzMjEodTQzKzg3dq9+PX40WuBP/lEYwj/T24R/1FzEP9VfQ//WoMP/1yE + D/9agRD/W3wO/1t1D/9ccQ3/WmwK/1hoCv9ZaAn/XGoJ/19sCf9hbQn/Ym8H/2JwBv9lcAb/anEH/21y + B/9xeAj/dXsH/3p8BP99gQT/foEE/3+BBP9+gQL/gYIH/5SUMv+Bgw7/dXgB/3JzBP93dQX/eHgF/3h5 + BP94eAT/eHgE/3h4BP9+fAT/hoIF/42JA/+UkAT/mZUH/5eTBf+hnQT/mpUF/4yIBP+LhAX/i4QF/4qE + BP+LhQX/j4cD/46HBP+KggX/h38D/4d/BP+KggP/jYIE/46CBP+NggT/ioAE/4l/A/+HfQT/hnwE/4t/ + BP+KgAT/g3kD/350BP9/dAT/f3QE/390BP9+cwP/fnME/31yBP96cAT/enAE/3lvA/91bgP/c2wF/3Jr + BP9xagP/b2oD/29qA/9vaQP/b2oD/29sAv9uawL/b2wD/3BtBP9ycQP/dXQD/3JyAv9sawP/a2oD/2lm + BP9oZAX/ZmIE/2RgA//i4Nnb4d/dw9HNyrDEv7yjtrKtleno5t0TEhHaAAAAmQAAAIMAAABxAAAAYwAA + AFUAAABHAAAAOgAAAC0AAAAXAAAAHAAAACYAAAAxAAAAPgAAAFQAAABtAAAAyNra2enMyMSh1NDMrODe + 27359fnRbIE/+URjB/9NbBD/UXIQ/1Z6D/9ZgRD/W4MP/1uAD/9cewz/XXYL/1xxDP9abAr/WGgJ/1lo + Cv9baQj/XmsJ/2BtB/9hbwb/Ym8G/2VvBf9qcQb/bHQF/3B2Bv90eQb/eX0E/3x/BP99gAT/foED/31/ + Av+Bgwr/lJQ0/3+BDf91dwP/cnEE/3Z1BP93dwX/eHcF/3d3BP93dwT/eHgF/358A/+GgwT/jYkE/5SQ + Bf+YlQX/l5QF/6GeBf+UkAT/i4UE/4uEBf+LgwX/ioIF/4qEBP+MhgT/jIUE/4iABP+GfwP/h4AE/4qB + BP+NggT/joIE/42BBf+KgAX/iH4E/4Z8A/+GfQP/ioAE/4d9Bf+AdgT/f3QE/390BP9/dAT/f3QF/35z + A/99cgT/fHEF/3pwBP96cAX/dW4E/3RtBP9zbAT/cGoD/3BqA/9vagP/bmoC/29rA/9vawP/bmsD/25r + Av9vbAP/cG4E/3NyA/90cwP/b24D/2tqA/9raQP/aWUE/2diBf9lYAX/ZF4D/+Lg2dvi393D0c7KsMS/ + vKO2sq2V6ejm3RMSEdoAAACZAAAAgwAAAHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAA + ADEAAAA+AAAAVAAAAG0AAADI2trZ6c7JxaHV0cys4d7bvvn2+dFsgT/4RGEG/01sD/9RcQ//VXkO/1iA + EP9bgg//XH8O/1x6Df9ddgr/W3EL/1psCv9YaAn/WWgK/1ppB/9dagj/X2wG/2FvBf9ibwb/ZG8F/2lw + Bv9scwX/cHYG/3R5Bv94fAT/e34D/3yABP9+gQP/fH4B/4KDDP+TlDP/fX8K/3R1A/9xcQT/dHUE/3d3 + Bf93dwX/d3YE/3d2BP94dwX/fnwE/4aDA/+OigT/lZAG/5eTBP+YlAX/n50E/5GMBP+KgwX/ioMF/4qD + Bv+JgQb/ioIE/4qEBP+KggP/h34D/4Z9A/+HfwX/ioAE/42CBf+OggT/i4AF/4l+BP+HfAT/hHsD/4Z9 + A/+KgAT/hXwF/311BP9/dAT/f3QE/390BP9/dAX/fXID/3xwBP97cAX/enAD/3lvA/90bQT/cmwE/3Js + BP9xaQP/bmoD/29qA/9uagP/bmsC/29rA/9uawP/bmsC/29sA/9xbgP/c3MC/3NyA/9sbAL/a2gC/2lm + A/9nYwT/ZGEF/2NfBP9iXAL/4uHZ2+Lf3cPRzcqxxL+8o7ayrZXp6ObdExIR2gAAAJkAAACDAAAAcQAA + AGMAAABVAAAARwAAADoAAAAtAAAAFwAAABwAAAAmAAAAMQAAAD4AAABUAAAAbQAAAMja2tnpzsnGodXR + zKzh3tu++fb60WyAPvhEYAX/TWsN/09wD/9VeA//WX4O/1yADv9cfg7/WnoM/1x2Cv9bcAn/WWsJ/1dn + Cv9YZwj/WmgG/11pCP9ebAj/YG4F/2FuBf9jbgb/aHAF/21zBv9udgb/dHgE/3h7Bf97fgP/fIAD/32A + A/97fQD/g4UQ/5GRMv97fQb/dHQE/3BxBf9zcwT/dnYE/3Z1BP92dQP/dnUE/3l3Bf9/fAT/h4QE/46K + BP+VkAb/lpIE/5qWBf+emwT/jogD/4mDBf+IggX/iIEF/4mABP+KgwT/ioME/4eAA/+FfAL/hnwE/4h+ + BP+KgAT/i4EF/4uABP+JfgT/h30D/4V7BP+EegX/iH8D/4qABP+DeQP/e3MD/31zBP9+cwT/fnMD/35z + A/99cQX/e3AF/3pwBP94bwP/d24D/3NtBP9ybAT/cmoE/3BpAv9uaQL/bmkC/25qAv9tagL/bmsD/25r + A/9uawL/b2wD/3FuA/90cwP/cG8C/2tpAv9oaAH/Z2QC/2ViBP9iYAP/YV4E/19aAv/i4dnb4d7dw9HN + yrHEv7yjt7Ktluno590TEhHaAAAAmQAAAIMAAABxAAAAYwAAAFUAAABHAAAAOgAAAC0AAAAXAAAAHAAA + ACYAAAAxAAAAPgAAAFQAAABtAAAAyNva2enQy8ai1tPOreHe27759frRa389+ENgBf9Nag3/UG8N/1N3 + D/9YfA//W38N/1t9Df9Zegz/XHYK/1twCf9Zagn/V2cJ/1ZlB/9aZgf/W2kG/11rBv9gbQX/YG0E/2Nt + Bf9obwX/bHIG/291Bv90eAT/eHkG/3p8BP98gAL/fH4C/3l7AP+EhhX/kJAx/3t8A/9xcwP/cHAF/3N0 + BP92dAX/dXQE/3V0BP91dAT/eHcF/399BP+GhAT/j4oF/5WRBP+VkAX/nJgF/5qXA/+MhQX/iYIF/4iB + Bf+GgAb/iIAF/4iBBP+HgAX/hX0E/4R8A/+GfAP/iH4E/4qABP+KgAT/iYAE/4l+BP+FfAP/g3oE/4V6 + Bf+KfwX/iH0F/391Bf98cgT/fXME/35zBP99cwT/fXID/3xxBf96cQX/eW8D/3dtBP90bgX/c20E/3Jr + A/9vagL/bmoD/25pAv9uaQL/bmoC/25rA/9uawP/bmsD/25rAv9wbQL/cnED/3NyBP9tbAP/amgC/2Zm + Av9kYwT/Y2AD/2JfBP9gXQT/XlgD/+Lh2dvh3t3D0c3KscTAvKS4sq2X6ejn3RMSEdoAAACZAAAAgwAA + AHEAAABjAAAAVQAAAEcAAAA6AAAALQAAABcAAAAcAAAAJgAAADEAAAA+AAAAVAAAAG0AAADI29rZ6dDL + xqHW086s4d/cvvr2+tFrfz34Ql4G/0xpDf9Pbg3/VHUO/1h7Dv9afwz/W3wM/1p5C/9adgn/Wm8I/1lq + CP9WZgn/VmUH/1lmCP9caAf/XmoG/2BrBv9hawb/Y24E/2hwBP9scQX/b3QE/3N3BP93egX/ensD/3p+ + A/97fgP/eHsA/4aGGv+Ojy//eXwC/29xA/9vcQT/c3QE/3V0BP91dAT/dHMD/3V0BP93eQP/gH0D/4iE + BP+PiwX/k5AF/5OPBP+dmQX/l5IF/4iBBf+HgAX/h4EF/4aABP+GfwT/hn8D/4V9A/+DegP/gnoD/4R8 + A/+GfwT/iX4E/4l+BP+IfgP/iH0D/4R6BP+DeQP/hnsE/4p/BP+DewX/e3MF/3xyA/99cgP/fXID/3ty + A/97cQT/enAE/3pwBP94bgT/d20F/3NtBP9yawP/cmoD/29pAv9uaQL/bWgC/21qAv9tagP/bWoD/21q + Av9uawP/bmsC/3BtAv9zcgP/cXAD/2tqA/9oZgP/ZWQE/2NiBP9hXgP/YFwD/15bAv9bVwH/4eDZ2+Hf + 3cTRzsuyxcC8pLeyrZbp6OfdExIR2gAAAJgAAACCAAAAcAAAAGIAAABUAAAARgAAADoAAAAtAAAAFgAA + ABsAAAAlAAAAMAAAAD4AAABUAAAAbQAAAMjb2tnp0MzHodbTz63h39y9+fb60mp+PPlBXQX/S2gN/09s + Df9Tcw3/V3oN/1p8DP9afAz/WnkK/1pzCf9abgn/WWoI/1ZmCP9WZQf/WWYI/1xoB/9daQj/XmoG/2Bs + Bv9jbQT/Z28F/2lxBf9vdAT/cncD/3Z6A/93fAP/eX0C/3p9Av93egD/iIke/4yMLP94eQH/bnED/25w + A/9ycgT/dHMF/3RzBf90cwP/dXQD/3l5BP+BfgT/iIQE/4+LBP+TjwX/lI8E/56ZBf+RjgT/hoEE/4Z/ + Bf+GfgT/hX0E/4V+A/+FfQP/gnoE/4F4Bf+CeAX/hXsE/4Z+BP+IfgT/iX4F/4h9A/+FegT/g3gD/4N4 + A/+HfAP/ioAE/4B4A/96cQP/e3ID/3txBP97cQT/e3EE/3pwBP96cAT/enAE/3huBP93bQX/c2wF/3Jr + A/9vagP/bmkD/21oAv9uaQP/bWkD/21pA/9saAH/bWoC/25rA/9vbAP/cnAC/3JxA/9tbQP/aWcC/2dl + A/9lYwP/Yl8E/2FdA/9fWwP/XVkD/1pWAf/i4Nnb4d7dw9HPy7LFwLykt7Ktluno590TEhHaAAAAmAAA + AIIAAABwAAAAYgAAAFQAAABGAAAAOQAAACsAAAAWAAAAGwAAACUAAAAwAAAAPQAAAFMAAABsAAAAyNva + 2enQzMeh1tLOreDe2r349PrRan47+UJdAv9LaA7/Tm0N/1JzDP9WeQz/WnsM/1p7DP9ZeAr/WnMJ/1pu + Cf9Zagj/VWUH/1ZlB/9YZgj/WmcH/1xpCP9eagb/X2wF/2JsBP9obgb/anEF/250A/9zdwP/dXoC/3h8 + Av96fAL/enwD/3Z5AP+JiyP/i4so/3Z4AP9tbwL/bm8D/3JxBf9zcwX/c3IF/3RzBf91dAP/eXkD/4F/ + BP+IhQX/kIwF/5KPBf+UkAT/nZgF/46JBP+GfwT/hn8F/4Z+BP+DfAX/g3wE/4J7A/+AeQX/gHgF/4N5 + Bf+FewT/hnwE/4h+BP+HfgP/hnwD/4R6BP+CeAT/hHkD/4l/BP+IfgT/fXUD/3tyA/96cQT/e3EF/3tx + Bf96cAT/enAE/3pwBP95bwX/eG4E/3VsBf9ybAX/cGoD/29qA/9taQP/bWgC/25pA/9taAP/bWkD/2xp + Av9tawP/bWsE/29tA/9ycAT/cG4E/2poA/9oZgP/ZmQD/2RhA/9hXgT/X10C/1xZAv9bWAP/WVUC/+Hf + 2Nrg3tzC0c3LssTAvKS3sq2W6ejn3RMSEdoAAACXAAAAgQAAAG8AAABhAAAAUwAAAEUAAAA5AAAALAAA + ABYAAAAbAAAAJQAAAC8AAAA8AAAAUgAAAGsAAADI3Nva6dDMxqHU0s2s393ZvPfz+M5rfjv4Q10C/0tn + Df9Oawz/UHEL/1V3C/9Zegv/WXoL/1h3Cf9acwn/Wm4I/1hpB/9VZQf/VWQG/1dlBv9ZZgf/XGgG/15q + Bv9fawT/Y2wE/2htBf9qcAP/bXQD/3J3A/91eQL/d3wD/3l7A/95ewP/dXgA/4mLJ/+IiSX/dHYA/2xv + Av9tbwP/cHAD/3JyBP9zcgT/c3IE/3R0BP95eAP/gH4E/4mGBv+Piwb/kI0F/5WSBf+blwX/i4UF/4Z+ + BP+EfQT/g3wF/4F7Bf+BegT/f3gF/353BP9/dwT/gnkG/4N8A/+FfQT/hn4D/4V9A/+EewP/g3kE/4F3 + Bf+DegT/iX8E/4V8A/98cQT/e3AE/3pwBP97cQX/enAE/3pwBP96cAT/eG8E/3dtBf91bQT/cmwD/3Fq + A/9vagP/bmkC/21oAv9taAL/bGgC/2xoAv9saAL/bWkC/21rA/9sawL/bm4C/3FvA/9ubQP/aWcD/2hl + A/9lYgT/Y2AE/2FdA/9eWwL/W1kC/1pXAv9YVAL/397X19/c28DQzMmxw8C7pLeyrpfp6OfdExIR2gAA + AJcAAACBAAAAbgAAAGAAAABSAAAARAAAADgAAAArAAAAFAAAABkAAAAjAAAALgAAADoAAABPAAAAaQAA + AMjc29rp0MvGodTQy6rd2ti59PD0yWp8O/dDWwL/TGYM/09pDP9Rbgz/VHUK/1h6Cv9YeAr/WHUJ/1px + B/9Ybgf/VmgG/1VlBv9VZAb/V2UG/1pmBv9cZgb/XWkG/19rBP9jbAT/aG0D/2pwA/9scwT/cHYC/3Z3 + BP92eQX/eHoD/3h6Af91dwD/iowr/4aHIf9zdQH/am0D/21uBP9wcAP/cXED/3JyBP9zcgT/dHME/3l5 + A/+AgAX/iYYG/4+LBP+QjAP/lpME/5eTBf+IgQX/hH0E/4J9BP+BfAT/gHoF/4B5Bv99dgT/fXUE/391 + BP+CeAT/g3sE/4V8A/+FfAP/hHoE/4N5BP+BdwX/gHYE/4V7BP+IfwT/f3cE/3lvBP96cAT/enAE/3pw + BP96cAT/eXAD/3hvBP92bwT/c20D/3NsBP9xagP/b2oD/29qAv9uaQL/bWgC/21oAv9saAL/bGgC/2xo + Av9taQL/bGoC/2xrA/9vbwL/b28D/2ppAv9oZgL/ZmUC/2NiA/9hXwT/YVwD/11ZAv9bWAP/WVUC/1dS + Av/c2tPT3NnYvc7Lx67Dv7ujt7Kuluno590TEhHaAAAAlQAAAH8AAABsAAAAXwAAAFAAAABCAAAANgAA + ACkAAAAUAAAAGgAAACIAAAAsAAAAOAAAAE0AAABnAAAAx9zb2unPy8Sf0s3JqNnX1LXw7PDCaHo69UJb + Av9MZAv/TmkL/1BsC/9Vcwv/V3cK/1d3Cv9XdQj/WXIH/1dtB/9WaAb/VGQF/1NkBv9XZAb/WmUG/1xn + B/9daAT/YGoE/2JrA/9mbAP/aW8C/2xxBP9vdQP/c3cE/3Z4BP94eQT/eHgE/3R3AP+LjS//g4Uc/3N1 + AP9pbQL/bW0D/29vA/9vbwP/cHAD/3FyA/90cwT/eXkE/4CABf+Jhgb/jowF/46LBv+WkwX/k48E/4Z/ + Bf+DfQX/gnwE/4F7Bf+AeQb/fncF/3l0BP97dQT/fncE/4B4BP+DewP/hXsF/4V6BP+DeAX/g3cF/4B2 + Bf+AdwX/h34E/4Z+Bf99cwT/em8E/3pwBP96bwP/em8D/3pwBP94bwP/dm8E/3RuBf9zbgT/cmwD/3Bq + A/9uaQL/bmkC/25oA/9saAL/bGgC/2xoAv9saAL/bGgC/2xoA/9raQL/bWwC/3BvAv9tbAP/Z2YC/2Zl + A/9kYwP/YmAC/19eA/9eWwT/W1kB/1lWAv9XVAT/VVEB/9fWzszY1tS4y8fEq8K9uKG2sq2V6ejn3RMS + EdoAAACTAAAAfAAAAGkAAABcAAAATgAAAEAAAAA0AAAAKAAAABIAAAAYAAAAIAAAACkAAAA1AAAASgAA + AGMAAADG29rZ6M3JxJ/Oysam19PPsOzn67hgcy32OFQA/0BcAP9CXwD/RWUA/0prAP9MbgD/TG0A/01t + AP9QagD/TWQA/0xgAP9KWwD/SlsA/01bAP9QXAD/Ul4A/1VgAP9VYAD/V2IA/1xkAP9hZwD/ZGoA/2dt + AP9rbwD/bnAA/29xAP9vcAD/bG8A/4SHJf94egv/aWwA/2FjAP9jZgD/ZmcA/2dnAP9oaAD/aWkA/2xs + AP9xcgD/e3oA/4KBAP+HhQD/iIUA/5KPAP+HgwD/e3QA/3p0AP96dAD/eXIA/3ZvAP9xbAD/cGwA/3Ns + AP92bwD/eXEA/3xzAP99cwD/fXIA/3twAP96bwD/eW0A/3txAP+AeAD/fHQA/3FpAP9yaAD/cmgA/3Fn + AP9xZwD/cmgA/3FnAP9tZwD/bGYA/2tlAP9qYwD/Z2IA/2ZhAP9mYQD/ZGAA/2RgAP9jYAD/ZGAA/2Rg + AP9jXwD/Y2AA/2NiAP9mZgD/amcA/2NhAP9fXQD/XVsA/1tZAP9ZVwD/VVUA/1NRAP9RTgD/UEwA/05L + AP9MSAD/0c/GxNPQzrLIxMCnwLu2n7Wwq5bp6OfdExIR2QAAAI8AAAB5AAAAZgAAAFcAAABKAAAAPAAA + ADEAAAAmAAAAEAAAABUAAAAeAAAAJgAAADEAAABGAAAAXgAAAMXb2tnpy8fDn8vGwqLTz8qp3dnVssnK + u8fGybbRy9C82M7SvtzQ1cDg0tfB4tPYweLT18Hi0tjB4tPXweLT1sHi09XB4tLUwOLS1MDi0tTB4tPU + weLT1cDi1NXA4tTVwOLU1sDi1dbB4tbXweLX18Hi19jB4tjYweLY2MHi2NjB4tjYwOLY18Di3dzJ4dnZ + xOHX1r/h1tW/4dbWwODW1r/g19a/39bWv9/W1r/f19a/39jXv9/Z2L/f29m/39vZv9/c2r/e3ty/3tva + v97Z17/e2de/3tnXv97Z17/e2Na/3tfWvt7X1r/e2Na+3tjWv97Z17/e2de+3trXv97a177f2de/39nW + v9/Z1r/f2de+39rZv9/Z2L/f19bA39fWv9/Y1b/f2NW/39jVv9/Y1b/f2NW/4NjVv+DX1b/g19W+4NfU + vuDW1b/g1tW/4NbVv+DW1L/g1tS/4NbUvuDV077g1dO+4NXTvuDV077g1NO+4dXUvuHV1L7h1NO+4dPS + vuHT0r7h09G+4dLRvuHS0b3h0M+94M7Mu93LybjZx8W008G+rcvSzsu2y8fFq8O/vKO9uLSdtrGrlevp + 5twTEhHYAAAAiwAAAHIAAABgAAAAUwAAAEYAAAA4AAAALQAAACMAAAAOAAAAEwAAABsAAAAjAAAALgAA + AEEAAABWAAAAxdLRz93LxsGcyMTAn87KxaTU0Mqq3trYsOPg4Lfn5OS+6ubowuzo6sXs6evG7Onrxuzp + 68bs6evG7Onrxuzp68bs6evG7Onrxuzq68bs6evG7errxuzp68fs6evH7Onrx+zq68br6uvG7Orrxuzq + 68bs6uvG7Orrxuzq68bs6erG7Onqxuvo6sbq6OjF6efpxero6sTq6OnE6+jpw+ro6cPo5ufC6ebnwejl + 58Lo5ufB6Obnwefk58Hn5OfB5+Tnwefk58Hm5efA5uXnwOfl58Dn5efA5+XnwOfm58Dn5ufA5+bnwOfm + 58Dn5ufA6ObnwOfm58Dn5efA5+bnwefm58Hn5ufB5+bnwefm58Hn5efC6Obnwejm58Hp5ufB6Obnwujm + 58Lo5ufC6Obnwujm6MPo5ujD6Obow+jm6MPo5+jD6ejpw+ro6cPq6OnD6ujpw+ro6cPp5+jD6efow+fl + 58Tn5efE5+XnxOfl58Tm5ebE5uXmxObl5sTm5ebE5uXmxObl5sTn5ebF5+Xmxefl5sXn5ObE5OLiwuDf + 4L7d29q419TUscvHxavFwb2lwLu3oLq1sZu3sayV4uDf0REQENYAAACEAAAAbQAAAFoAAABNAAAAQQAA + ADUAAAAqAAAAIAAAAA0AAAASAAAAGQAAACAAAAApAAAAOgAAAE8AAACtcG9u5NzZ1a/EwLmYy8fBoM7J + xKPRzsmo1dLOrdfU0LDZ1dOz3NfVtdzZ1bbc2dW23NnVttzZ1bbb2NW23NnVttzY1bbb2NW23NnVttvY + 1bbc2dW23NjUttvY1Lfa2NS33NnVttzZ1bbb2dW23NnVttzZ1bbc2dW229nUttvZ1Lbb2NS22tfVtdvX + 1LXZ1tO02tbTs9nW07HZ1dOy2NXRsdfU0LDX1NCw1tLQsNXTz6/V08+v1dPOrtXSzq7V0s6u1dLOrtXS + zq7W0s6u1tLOrtbSzq7W0s6u1tLOrtbSzq7W0s6u1tLOrtbSzq7W0s6u1tLOrtbSzq7V086v1dPPr9XT + z7DW0tCw1tLQsNbT0LDX1NCw19TQsNfU0LDX1NCw19TQsNfU0LHX09Cx19PQsdfT0LHX1NCx19XRsdjV + 0rHY1dKx2NXSsdjW0rHY1dKx2NXRsdfU0LHX09Cx1tLPstbSz7LW0s+z1dHPs9TRzrPU0c2z1NHNs9TR + zrPU0c2z1NHOtNTRzrTU0c601NHOtNPQzbPRzsyzz8zJsMzJxazIxcGpw7+8o8C7t6C9uLOdtK+qldLN + yaaHhoXfBQUFxAAAAHkAAABkAAAAUwAAAEYAAAA7AAAAMAAAACYAAAAdAAAACwAAAA8AAAAVAAAAHAAA + ACUAAAAyAAAARwAAAHkSERDm29nX19DMxpzDvreXysS+ncrIwqDNyMSjzsvFpc/Lx6bRzcin0c3Ip9HN + yKfRzcin0c3Ip9LOyKfSzsin0s7Ip9LOyKfRzcin0s7Ip9LOyKfSzsin0s3IqNHNyajRzsin0c7Ip9HO + yKfRzsin0c7Ip9HOyKfRzsmn0c7Jp9HMx6fQzMimz8vHps/LxaXPy8WkzsrFos7JxKPMxsOizMbBocvH + waDKx8GgycXAoMnFvp/Jxb+fyca/n8nFv5/JxL+fycS/n8nEv5/Jxr+eycW/nsnFv57Jxb+eycW/nsnF + v57Jxb+eycW/nsnGv57Jxr+fyca/n8nGwKDJxcCgycXBocnFwaHJxcGhysbBoMzGwaHMxsGhzMbBocvH + waHLxsGhy8XCosvFwqLLxcKiy8XCoszJw6LNycSizcnEos3JxKLNycSizcjEos3Hw6LNx8OizMfCosvG + waPJxcGjycXBo8jEwaTIxMCkx8S/pMfEv6THxMCkyMTApMfDv6XHw7+lx8O/pcfDv6XHw7+lx8O/pcXB + vaXDwLykwr66o7+7t5+9ubWdu7axnLSvqZW+urSV4+DeyyspKO0AAAChAAAAbAAAAFoAAABLAAAAQAAA + ADUAAAArAAAAIgAAABkAAAAJAAAADQAAABMAAAAZAAAAIQAAACoAAAA6AAAAXgMCAqdVVVT13tzZz+fk + 3arHwruWwr63lcPAuZbFwbuXx8G8mMfCvJjHwbyYx8G8mMfBvJjHwryYyMO8mMjDvJjIw7yYyMO8mMfC + vJjIw7yYyMO8mMjDvJjIxLyZx8S9mcfEvJnHw7yYx8O8mMfDvJjHw7yYxsG7mMbBu5jGwbuYxsC6l8XA + upbDvrmVw764lcG8tpTBu7WTwLu0k765spK+ubGQvbexj763sY+9uLGPvbiwjry4r467t6+Ou7evjru2 + r467tq+Ou7avjru3r468tq+Ovbavjb22r428tq+NvLavjby2r428tq+Nu7avjru2r467tq+OvLawj7y2 + sJC8tbCQvLawkL23sZC+ubGPvrixkL64sZC+uLGQvriykb63spG+t7KRvreykb63spG/ubOQwLu0kcC7 + s5HAu7ORwLuzkcG6tJLBubSSwbm0kr+5s5K+uLKTvLexk7u2sZS7trGUurWwlLm1sJS4ta+UurWvlLm1 + sJW5tK+VubSvlbm0r5W5tK+VubSvlbizr5W4s66WuLOulrezrpa3sq2VtrCrlLSvqpK3sa2T1tHOpOPi + 38hsbGrzCQgIwQAAAHsAAABfAAAATgAAAEIAAAA4AAAALwAAACUAAAAeAAAAFQAAAAgAAAALAAAAEAAA + ABQAAAAbAAAAIwAAAC4AAABLAAAAYQAAAKk3NzfxgoF/4eHg3tH39vPS8vHu0vPx79Lz8u/S8/Hv0vPx + 79Lz8e/S8/Hv0vPy79Lz8u/S8/Lv0vPy79Lz8u/S8/Lv0vXy79L08u/S8/Lv0vPy79Lz8u/S8/Lv0vPy + 79Lz8u/S8/Lv0vPy79Ly8e7S8/Hu0vPw7tLz8O/S8/Hu0fLx7tDx8O3Q8e/tz/Hu7NDv7uvQ7+3rz/Du + 687w7evO8O3rzu/t687w7uvO7+3rzu/t687v7evO7+3rzu/t687v7evO7+3rzu/t687v7erN7+3qzfHt + 683y7uzM8u7szPLu7M3y7uzN8e7szfDt7M7x7ezO8e3szvHu7M7x7+zO8e/szvHv7M7x7+zO8e/szvLv + 7M7z7+3O8+/tzvPv7c7z7+3O8+/tzvPw7c7z8O3O8/DtzvPw7c7z8O3O8+/tz/Pw7c/z8O3P8vDsz/Lv + 7M/y7+zP8e7sz/Hu7M/x7uzP7+7r0PHu7M/x7uvQ8O3r0PDt69Dw7evQ8O3r0PDt69Dw7evQ8O3r0fDt + 69Hw7evR8O3r0fDt69Dw7evR8/Dt0Ojl49CPjYzdQD8/8gEBAcMAAAB5AAAAXwAAAFAAAABCAAAAOQAA + ADAAAAAoAAAAIAAAABkAAAASAAAABgAAAAgAAAANAAAAEAAAABUAAAAcAAAAJAAAADcAAABMAAAAYAAA + AIYEAwO9KSko6TEwMOMvLy7jLy8u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8u + LuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8uLuMvLi7jLy4u4y8vLuMvLy7jLy4u4y8u + LuMvLy7jLy8u4y8vLuMwLy7jLy8u4y8vLuMvLy7jMC8u4zAvLuMwLy7jLy8u4y8vLuMvLy7jLy8u4y8v + LuMvLy7jLy8u4y8vLuMvLy7jLy8u4y8vLuMvLy7jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAv + L+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy/jMC8v4zAv + L+MwLy/jMC8v4zAvL+MwLy7jMC8u4zAvLuMwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MwLy7jMS8v4zAv + LuMwLy7jMC8u4zAvLuMwLy7jMC8u4zAvLuMwLy/jMC8v4zAvL+MwLy/jMC8v4zAvL+MxMDDjLS0s5woJ + CMwAAACWAAAAdAAAAFsAAABOAAAAQgAAADgAAAAwAAAAKAAAACIAAAAbAAAAFAAAAA4AAAAHAAAACAAA + AAwAAAAQAAAAFQAAABsAAAAiAAAALAAAADkAAABGAAAAUAAAAGAAAABsAAAAcAAAAHIAAABzAAAAdQAA + AHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAA + AHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHcAAAB2AAAAdgAA + AHYAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAA + AHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAA + AHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAA + AHcAAAB3AAAAdwAAAHcAAAB3AAAAdwAAAHYAAAB3AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAA + AHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHUAAAB0AAAAbAAAAGAAAABXAAAATAAAAEIAAAA4AAAAMQAA + ACsAAAAkAAAAHwAAABkAAAATAAAADgAAAAUAAAAGAAAACQAAAAwAAAAQAAAAFQAAABoAAAAhAAAAKAAA + ADEAAAA4AAAAPwAAAEMAAABIAAAASwAAAEwAAABOAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA + AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAATwAA + AE0AAABJAAAARQAAAD4AAAA4AAAAMwAAAC0AAAAoAAAAIwAAAB0AAAAYAAAAEwAAAA4AAAAKAAAABAAA + AAUAAAAHAAAACQAAAAwAAAAPAAAAFAAAABgAAAAdAAAAIgAAACYAAAArAAAALgAAADEAAAAzAAAANQAA + ADYAAAA3AAAAOAAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANwAA + ADcAAAA3AAAANwAAADcAAAA3AAAANwAAADcAAAA3AAAANgAAADMAAAAyAAAALgAAACoAAAAnAAAAIwAA + AB8AAAAbAAAAFgAAABEAAAAOAAAACwAAAAgAAAACAAAAAwAAAAUAAAAHAAAACQAAAAsAAAAPAAAAEwAA + ABUAAAAYAAAAHAAAAB8AAAAhAAAAJAAAACYAAAAnAAAAKAAAACkAAAAqAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAAACkAAAApAAAAKQAA + ACkAAAAoAAAAJgAAACUAAAAjAAAAIAAAAB4AAAAaAAAAFwAAABQAAAARAAAADQAAAAoAAAAJAAAABgAA + AAEAAAACAAAAAwAAAAQAAAAHAAAACAAAAAsAAAAOAAAAEAAAABEAAAAVAAAAFwAAABkAAAAcAAAAHQAA + AB0AAAAfAAAAHwAAACAAAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAA + AB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAfAAAAHwAAAB8AAAAdAAAAHQAAABsAAAAYAAAAFgAA + ABMAAAARAAAADwAAAA0AAAAJAAAABwAAAAcAAAADAAAAAQAAAAEAAAACAAAAAwAAAAQAAAAFAAAABwAA + AAkAAAALAAAADAAAAA4AAAAQAAAAEgAAABQAAAAVAAAAFQAAABcAAAAXAAAAGAAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAA + ABcAAAAXAAAAFwAAABUAAAAVAAAAEwAAABEAAAAPAAAADgAAAAwAAAAKAAAACAAAAAYAAAAFAAAABAAA + AAIAAAABAAAAAQAAAAEAAAACAAAAAwAAAAMAAAAFAAAABgAAAAcAAAAIAAAACgAAAAsAAAAMAAAADQAA + AA8AAAAPAAAADwAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAA + ABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAPAAAADwAAAA4AAAANAAAACwAA + AAsAAAAJAAAACAAAAAYAAAAFAAAABAAAAAMAAAADAAAAAQAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAA + AAIAAAADAAAABAAAAAQAAAAFAAAABwAAAAcAAAAIAAAACQAAAAkAAAAJAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAkAAAAJAAAACQAAAAcAAAAHAAAABgAAAAUAAAAEAAAABAAAAAIAAAACAAAAAgAA + AAEAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAIAAAADAAAAAwAAAAQAAAAFAAAABQAA + AAYAAAAHAAAABwAAAAcAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA + AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABwAAAAcAAAAHAAAABQAA + AAUAAAAFAAAABAAAAAMAAAADAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEA + IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABgAAAA4AAAAXAAAAIAAAACcAAAArAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAAACwAAAAsAAAALAAA + ACwAAAAsAAAALAAAACwAAAArAAAAJwAAAB8AAAAXAAAADQAAAAYAAAAGAAAADgAAAB0AAAAtAAAAPQAA + AEgAAABOAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABPAAAATwAA + AE8AAABPAAAATwAAAE8AAABPAAAATwAAAE8AAABOAAAASAAAAD0AAAAtAAAAHAAAAA0AAAALAAAAGQAA + ADAAAABHAAAAWwAAAGkAAABwAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAA + AHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABxAAAAcQAAAHEAAABwAAAAaQAAAF0AAABIAAAALwAA + ABgAAAARAAAAJAAAAEEAAABsCgoLpBgYGLIWFxe0FxcXtBcXF7QXFxe0FxcXtRcXGLQXFxi0FxgYtBcY + GLQXGBi0GBgYtBcYGLQXFxi0FxcXtBcXF7QXFxe0FxcXtBcXF7QXFxe1FxcXtRcXF7UXFxe0FxcXtBcX + F7QXFxe0FhcXtBYWF7QWFhe0FhYWtBYWF7QXFxe0FxcXtBcXF7QXFxe0FxcXtBcXF7QYGBi1AQECpgAA + AHkAAABfAAAAQQAAACQAAAAXAAAALAAAAF05OTe7joiApZOMgpSRiICTjIR6kod/dZCEe3KPgHlvjn54 + bY18dWuMeXJni3lyZ4t5cWeLeG5mi3lvZot7cmiKgHdsi4N7coyIf3aMjIJ4jIyFeo2NhnuOjYd8j4+H + fo+Qh3+PkYh/j5KJf4+SiYCPk4uAkJOMgpCTjIKQlIyCkJOLgZCPiH6OjIR6jYuCeIyMg3mNj4d9jpGJ + gI+SioCOfnlzshcXF7UAAABxAAAAUAAAAC4AAAAbAAAAMAkJCYmSjIasnpWJcLKmnYW/s6yQvbKrkbqv + p4+3rKWNtaujjLOqoYuxp5+KsKWdia6knYmuo52JrqKdiq+knYmypp+JtKqjibitp4q7saqKvLKri7yz + q4u7s6yMvLOtjLyzrYy9s66NvbSujb21ro29ta6OvLaujru2ro68tq6Ovbevjry1ro66s6yMuLKri7ex + rIu5s6+Mu7SyjbStqYaelY10n5WIbGdlYb0AAACJAAAAVgAAADMAAAAcAAAAMhESEpKpoZqlsriymXPd + 4+tx4Ofyc+Dn83Xg5/N24ObzeeHl83zi5fJ/4uTyguPk8oXj4vKH4+LyieTg8ozl3/KP5d/yk+bf8pfo + 4PKc6eLyoOrj8qTs4vKo7uLzrfDi8rLz4fK29uHzvPjh88T64fPO++Tz3vvq8+z78/P5+/nz//v98//7 + /vP/+/3y//v38vz77fL3++Lz9vvR8/P5vu7V1rm7qaKbdX98d7UAAACRAAAAWQAAADYAAAAdAAAAMxAQ + EJGwqKKsws7JsEjd5P882d//Pdna/z7Z1/8/2dX/QdnT/0ba0v9K29D/S9vO/07by/9Q3Mn/U9zH/1be + xf9a4cP/XeTC/2Lowv9o78T/cPXH/336zv+M/db/nf/g/7L/6v/F//H/2v/5/+///f/3//z/+f/8//r/ + +v/y/+v/4f/e/7/92v+3/dn/wv7O/8r/sf/V/Zv/2vyO/9f9jP/Q5r7WvbOxgn57d7gAAACRAAAAWgAA + ADcAAAAdAAAAMw8PD5G0q6avxtLPtjzT2f8v0NP/MtDR/zPPz/800Mv/N9DJ/zrQyP880cX/PdLD/0DV + wf9F2cL/St7E/1LlyP9b7M3/ZvLT/3H42P97/d3/gv/g/4v/5P+Z/+j/qf/r/7n/7P/E/+f/x//b/7// + zP+0/L//pfm1/5n3r/+M9qv/ePWs/3P3uP+C+sP/hf3J/5D9y/+q+7n/uO2R/7XXZ//P2a3Zxb27iIB9 + ebkAAACRAAAAWgAAADcAAAAdAAAAMw8PD5G1rqiwx9PQtzjS1f8sz9D/MdDP/zLRzv811M7/OdfP/z/b + 0f9E4dX/TOjY/1Pu3P9a9OD/YPni/2X74f9q/N//bv7d/3T/2/96/9r/gf/X/4r+1P+Q/Mv/kfi//43z + sP+F7p//gOmT/4Hmjf+G5Yr/j+WI/5bmh/+a5ob/nOKG/57ahv+k14n/qdyM/6zmkP+k7pT/n/CW/6Hi + hf/K27fayL+9i4J/e7oAAACRAAAAWgAAADYAAAAdAAAAMw8PD5G3r6qxydXRuT7Y1/8z2dX/Ot3Y/0Di + 3P9F6N//SOrg/0nq2/9M6tb/TujQ/0/myf9R58P/VerB/1zwwv9k9cL/a/fA/2/yuf9w6q//buKh/2vb + lf9r2Y3/dNmM/33bi/+C24f/h9uC/4jafv+K1Hr/ic10/4fFbf+Ivmj/jLhg/5K3Vf+Ttkv/lLVO/5m2 + Vf+kvl3/rsti/7HXbf/S4LzbysLAjYOAfLsAAACQAAAAWgAAADYAAAAdAAAAMw8PD5G4sKyzytfTukbh + 3P853tb/PNvR/z/azf8/2Mj/QNTC/z/Quf9D0bb/Ste4/1Leuv9a5L3/X+S5/1/esP9f1qL/X8+X/2HM + kP9lz4z/bNOJ/3HWiP9314T/ftWD/4PRf/9+yHP/eb5o/3m4Y/97s1//f7Bc/4WwVv+MtVH/j7xS/5DA + W/+TxGT/nMVl/6HDYP+kwFj/qLtS/6mzQP/Qz6LczcfHkISBfrwAAACQAAAAWgAAADYAAAAdAAAAMw8P + D5G5sq60y9bSuz/Kwf8yxLf/NsO0/zvHtv9Bzbv/RtXA/0vZv/9O2rv/Udaz/1PQqf9VyqH/WMia/13L + lf9j0JL/adOQ/27VjP9w04b/cM5+/3DHdf9wwm//e8Nx/4bGcf+CwWX/gb9e/4i/Xv+Mw1z/kMdc/5DM + Yf+Mz27/i8tz/47BbP+PuWD/kbJU/5KoSf+WokH/mJw6/5aRKv/Iw5vc0MzKkYWCf70AAACQAAAAWgAA + ADYAAAAdAAAAMg8PD5G6s6+2zNbRvELFuP84xrb/QM27/0XSvf9J1L3/StK3/0vMrP9MyKT/Ucug/1rR + of9j2KH/a9ye/3Dcl/9x2o//c9eI/3fVgf961Xz/ftV2/4DUcP+F02r/ldRu/5nTbv+JyWX/gcZi/4PH + XP+FwlT/grdU/32pVf98nUn/fJM8/3uLNP98hi//gIMr/4SBKP+IgCf/i4Em/4x8Gv/GvZbd08/Nk4eE + gb0AAACQAAAAWgAAADYAAAAdAAAAMg8PD5G8tbC2ztnTvUrQvv8+yrT/Qsqv/0fMrf9P07H/WN22/1/l + t/9j6rT/au2v/3Lsqf956qP/gead/4LilP+A3Ir/f9N+/33Mc/97xGn/d7th/3KyXf9vr2H/d7Zx/3O4 + cP9pr1n/cadC/3icNP90ji//coYq/3SDJv92giT/d38j/3h8If96eiD/fHgg/4B4IP+DeSD/h3oi/4h2 + F//Eu5be1tHQlYeEgb4AAACQAAAAWgAAADYAAAAdAAAAMg8PD5G8tbG4z9nTvlbXvf9S2rv/WuK//2Hp + wv9o7ML/be2//2zps/9p4KX/adWX/2nMjP9txIH/cLx3/22zbf9nqWP/ZKJd/2GdW/9dmlv/XJlc/1yc + W/9lpVn/drBT/3imO/9xjyf/b4Qk/2yAJf9sfiT/cH4j/3aAIv96fx//ense/3l4Hv95dx3/e3Ue/351 + Hv+Adh//hHcf/4VyFf/Dupbe19PSl4eFgr8AAACQAAAAWgAAADYAAAAdAAAAMg8PD5G9trO40dvVv2Te + v/9Y17P/Vs+o/1PHnP9Tv5T/U7mO/1KzhP9Qqnb/UKFr/1OeZv9anmP/YKFk/2CfYv9cmV3/XJhc/1yY + V/9emFD/ZJpH/2eYOv9wmS//fZ0p/3aPJP9qfSH/an0h/25/IP9yfh7/dX4d/3yAHf99fxz/e3oc/3l2 + HP94dBv/eXMc/3tzHP99dBz/gnQd/4JvEv/CuZXe2NTUmIiGg8AAAACQAAAAWgAAADYAAAAdAAAAMg8P + D5C9t7W50NjSwE+3lv9Bq4f/QqF9/0KddP9FnXL/SJ5w/0uebf9Lmmf/TJVi/1CUYP9ZmV//YqFe/2Wf + Wf9imVL/ZZlM/2eYQ/9olDn/Zo0s/2aFJP90jSL/f5Yj/3KHH/9peRz/bHsb/3F+Gv91gRr/eoAa/4CD + Gv9/gBn/fHsa/3l2Gv94chn/eHEa/3lxGf98cRr/gHIb/4BsEP/BuJTf2dbWmoiGg8AAAACQAAAAWgAA + ADYAAAAdAAAAMg8PD5C+ura60NbQwUmjgP8/nHP/QpVs/0GRZv9EkmX/R5Vn/0uYZv9NlmH/T5Nb/1SU + V/9fmlT/a6JT/26hTP9tm0P/b5g7/2iOL/9khCX/Zn8g/26AHf97jR7/fZAe/3GBG/9reRj/b3wX/3SB + F/95gxj/foMX/4SGGP+Dghj/fnwY/3p2GP93chj/d3AY/3hvGP96bxj/fXAZ/31qDv/BuJTg3NjXm4mH + hMEAAACQAAAAWgAAADYAAAAdAAAAMg8PDpC/ure70NbPwUmedP9Al2r/Qo9k/0OLX/9FjF3/SZBc/06T + Wv9Qk1b/U5JR/1qTTP9onEj/eKVE/3qhPf9vlDH/bIwo/2mDIf9rgBz/bX0Z/3B+GP96ixr/fI4a/3F/ + F/9ufBb/cn8V/3qEFf99gxb/gYUW/4eHFv+Fgxb/f3wV/3t1Fv94chb/d28W/3duFv94bhb/fG4X/3to + DP/AuJTg3dnYm4mHhMEAAACQAAAAWgAAADYAAAAdAAAAMg8ODpC/u7i70NbPwkuabf9ClGH/RI1a/0WH + U/9JiFH/TItP/1GOTv9XlEr/XZdG/2aZQP92ojz/gaY1/3eYLP9uiiP/c4oe/3KEGv9wfxX/bnsU/3KA + Fv99jxj/fo8Y/3KAFP9yfhT/eIMU/4CIFP9+hRP/hogU/4iIFP+FgxT/f3wT/3x2E/95cxT/eHAU/3dt + Ff93bRX/e20V/3hmCv/At5Pg3dnanYqIhcEAAACQAAAAWgAAADYAAAAdAAAAMg4ODpDAvLm80dbPwk6Y + Y/9Gk1b/R4pQ/0iCSP9Kgkb/UIhD/1uUQv9kmz7/ap87/3OhNf94nSz/fZok/3mSIP92ihv/e4wZ/3aF + Fv9xgBT/bnwS/3aFE/+DkxX/hZIV/3aDEv94gxL/f4cS/4SMEv+BhxH/iYoR/4iJEv+EgxL/gHwQ/3x3 + Ef97dBL/eXET/3duE/94bRP/eWwU/3dlCf/At5Ph3trbnYqIhcIAAACQAAAAWgAAADYAAAAdAAAAMg8O + DpDAvLm80dbNw1GUWP9Jkk3/TIhH/0yAP/9Vizz/YJc6/2WYN/9upTX/cKAv/22OJf93kSD/g5oe/3+S + HP97ixf/go0W/3qGFP90gBL/c38R/3+LE/+LmRT/ipUU/3yGEf9+iBH/hY0R/4aNEf+FiQ7/iYsP/4iI + D/+EgRD/f3wP/314D/99dhD/fHMR/3pvEv95bRL/em0S/3dmB//AuJLh3trbnouIhsIAAACQAAAAWgAA + ADYAAAAdAAAAMg8ODpDAvLq80tXNw1SSUP9LkEP/U44//16VOv9hlDT/ZZgx/26sL/9qmCf/ZYIg/3CJ + Hv9/lRz/ipsa/4WSGv+AixX/hI0T/3yGEv94gQ//eYMQ/4aSEv+SnhL/i5YR/4CKD/+Ciw7/ipEQ/4iN + D/+Jiw3/i4wN/4iGDP+EgQ7/gHsN/394Df+BeA//gHUP/35yEP99bhH/fG0R/3loBv/BuZLh39zcn4uJ + hsIAAACPAAAAWgAAADYAAAAdAAAAMg8PD5HBvLq90tXMxFWRR/9Znz3/ZaM6/2CPMP9koC7/aa4t/2WN + JP9kfR//a4Qd/3eNG/+Flhj/j5sX/4iSGv+CihL/g4wQ/32GDv96gg7/focO/42XEP+XoBD/jZUP/4WN + Df+Hjg3/j5QP/4iMDv+NjAz/jooM/4mECv+Cfwz/f3oL/4F4DP+DeA3/gnUN/4BzDv9+bw//fW4P/3xr + BP/Cu5Lh39zcn4uJhsMAAACQAAAAWgAAADYAAAAdAAAAMg8PD5HAvLu+09bMxGOjQv9hpjb/X5cx/2Wu + Lv9ipCn/XH4h/2WAHv9qghz/b4Ua/32NF/+LlhX/kpoW/4mQGP+CiA//g4sN/3+GDP98gwv/g4oM/5Sb + Dv+coQ//jZMN/4iODP+MkQz/kJYN/4uLDP+Rjgr/j4oL/4mDCf+CfQr/gHkK/4J4C/+DeAz/g3YN/4Bz + Df9/bw3/fm8N/35uA//DvZLh3tzcoIuJhsMAAACPAAAAWgAAADYAAAAdAAAAMg8PD5HCvbu91NjMxF+Z + O/9boTD/Zr4z/16YKP9YdR//X3sd/2iDG/9sghj/coUX/4COFP+NlxP/kpkW/4iOFf+CiAz/hYkM/4CF + Cv9/hQn/iI4L/5qeDf+doQ3/jZIL/4uQC/+RlQv/kpQL/46MCf+Ujwn/j4kJ/4mDCP+DfQn/gXkI/4N5 + CP+DeAr/gnYL/39yDP9+bwv/gHEM/4BxAv/EvpHh39vcoIuIhcQAAACPAAAAWgAAADYAAAAdAAAAMg8P + D5DCvby+09TLxGCiOf9hwTH/W5cp/1l3H/9beBv/YXwZ/2uDF/9tgRX/dYUT/4OOEv+Plg//kpcT/4eM + Ev+DiAr/hYkJ/4KFCP+Bhgj/jpII/56hC/+doAv/jZEJ/46RCv+WmAr/k5EJ/5KOCP+Ujwj/j4kI/4mC + B/+DfQb/gXoG/4N5B/+Cdwn/gXQK/35xCv99bwn/gHIL/4FzAP/Ev5Hi3drboYqIhcQAAACPAAAAWgAA + ADYAAAAdAAAAMg8PD5DBvLy/1dzMxWG4N/9WkSX/WoUi/1t8HP9cdxn/YnsW/2uBFP9vgBH/d4UQ/4WN + EP+OlQv/kZUQ/4aKEP+Dhgf/hYgH/4KEB/+Ehgf/lJUH/6GiCv+cnQn/kZEH/5OSCP+ZmAn/ko8I/5WQ + B/+Vjwf/j4gH/4mCBv+EfQX/gnoF/4J4Bv+Cdgf/fnQI/3twCP97cAj/gXQK/4F1AP/Ev5Hi3djbooqI + hcQAAACPAAAAWgAAADYAAAAdAAAAMg8PD5DBvr2/1NbLxlmELP9Wih//XIkg/1x7Gf9cdhb/Y3kU/2x/ + Ef9ufw7/eYQN/4SNDP+Nkwj/kZQQ/4WJDf+EhQX/hoYF/4KEBv+GhwX/mJgG/6OkBv+bmgf/k5EH/5aV + Bv+Zlwf/ko8F/5eRBv+VjgX/jocG/4iBBf+EfAT/g3sE/4J4Bf9/dQb/fHIG/3pvBv97cQb/gnYJ/4J3 + AP/Ev5Di3NnbooqIhcQAAACPAAAAWgAAADYAAAAdAAAAMg8PDpDDvr2/1NXLxleCKf9Xixz/XIoe/1t6 + GP9ddBX/Y3cS/2t8D/9vfQ3/eYIM/4SLC/+MkQj/kJIS/4SGDP+DhAP/hYUF/4KDBf+KiQX/m5oG/6Ok + Bf+YlgX/k5AG/5iWBv+Wkwb/lI8F/5iRBv+Tiwb/jYQG/4d/BP+EfAP/g3sE/4B4Bf99dAT/enAF/3du + Bv96cQb/gHYI/4J3AP/EwI/j3Nnbo4qIhcUAAACPAAAAWgAAADYAAAAdAAAAMg8PDpDDv77A1dXMxliA + KP9Wihv/XYob/1x6Fv9dchP/YnUQ/2t7Dv9tfAz/eIEL/4SKCv+Kjwf/jpET/4KECf+BggP/g4MF/4KC + Bv+NiwX/nZwF/6KiBv+VkwX/k5AG/5iVBv+Tjwb/lY4G/5ePBv+QiQb/i4IG/4V9BP+DfAP/g3oF/391 + Bf96cQT/dW4E/3RuBf94cQb/f3cI/4F5AP/EwY7j29nbpIqIhcUAAACPAAAAWgAAADYAAAAdAAAAMg8O + DpHEwL7A1dbMxll+Jv9XiRj/XooZ/1t6Ff9bcBL/YnMP/2l5DP9segv/d4AJ/4OJCP+KjQf/jpAV/4CC + CP+AgQP/gYIE/4GBBf+PjQX/n50G/6GeBf+Ujwb/lZAG/5iTBf+SiwX/lo4F/5WMBv+PhgX/iIAF/4R7 + A/+DewT/gngF/350BP93cAT/cm0E/3JtBP93cgX/fHcH/4B5AP/Bvo3j29jbpImIhcYAAACPAAAAWgAA + ADYAAAAdAAAAMg4ODpDEwL/A1tbMxll8I/9YhhX/XooY/1x5FP9cbxD/YXEN/2h3DP9teAr/dn8I/4GH + CP+Jiwf/jY4V/36AB/9/gAT/f4AD/4KBBP+Sjwb/oJ4G/56ZBv+SjAf/lY8G/5WQBf+RiQb/l4wG/5OJ + Bf+NgwX/h34E/4N6A/+DeQT/gHYE/3xyBP91bgT/cGsD/3FtBP91cQX/e3gG/3t3AP+9uo3j3NrbpYmI + hcYAAACPAAAAWgAAADYAAAAdAAAAMg4ODpDFwb/A1tfNx1d6If9XhBP/XokW/115Ev9bbg3/X3AM/2d0 + C/9sdgn/dX0H/4GGB/+IiQf/jI0W/3x+Bf9+fgP/fn4D/4OABP+UkQX/oZ4G/5qUBv+RiQf/lY4F/5KL + Bf+Qhwf/looG/5CFBf+LgQX/hnwE/4J4Bf+BdgX/fnME/3pwBP9zbAT/b2oD/3FtA/90cQT/e3oF/3Nw + AP+6uI3j3drbpYqIhcYAAACPAAAAWgAAADYAAAAdAAAAMg8ODpDHw8HB1tfNx1Z4H/9XghL/XogT/1x5 + EP9abA3/Xm4L/2VyCf9qdQf/dXwH/4GEBv+Ghwb/i4sY/3p7Bf98fQT/fHwD/4SBBP+VkwX/oZ0G/5WP + Bv+QiAX/k40F/4+HBf+Rhgb/k4cF/4yCBf+KgAT/hHkE/4F3Bf+AdQT/fHIE/3ZuBP9wawT/b2oD/3Bs + A/9zcQP/eXgF/21pAP+5tY3j3drbpYqIhsYAAACPAAAAWgAAADYAAAAdAAAAMg4ODpDHw8LB2NjOx1Z1 + H/9Vfw//XYYR/1x3Dv9Zag3/XmwK/2NxCP9qcwb/dHsG/3+DBf+EhQb/iYkZ/3h4A/96ewT/enoE/4WC + BP+XlAT/npsF/4+KBf+Phgb/kIkF/4yDBf+RhQb/kIMF/4p/BP+IfwP/gXcF/4B1BP9+cwT/enAE/3Ns + BP9wagP/b2oD/29sA/90cgP/dHMF/2diAP+2s4zj3drcpoqIhsYAAACPAAAAWgAAADYAAAAdAAAAMg4O + DpDHxMPB2NjOx1VyHf9Teg3/XIQQ/1x2Df9ZaQv/XWsI/2JwB/9pcQb/c3kG/36BBP+ChAf/hocZ/3V2 + Av94eAX/eXgE/4aDA/+ZlAX/m5cF/4yFBf+NhgX/jYUE/4mABP+PgwT/i4AE/4l+BP+FewT/f3QE/390 + BP98cgT/d24E/3JrA/9vagP/b2sD/29sA/9zcwP/bm0D/2FdAP+0sozj3drcpoqIhsYAAACPAAAAWgAA + ADYAAAAdAAAAMg4ODpDJxcTB2dnPx1RvG/9Sdgz/W4EO/1x1C/9ZaQn/W2kH/2BuBf9ocQX/cncG/3t+ + A/+Aggj/hIUY/3JzAv92dgX/eHcE/4iEBP+YlAX/lpIE/4iCBf+KgwX/iIAD/4h/BP+NgQT/h30E/4d+ + BP+BeAT/f3ME/31yBP96cAT/dG0E/3BqA/9uagP/bmsD/3BtA/9xcQP/aWcC/1xYAP+zsIvj3trcpoqI + hsYAAACPAAAAWgAAADYAAAAdAAAAMg4ODpDKx8XB2drQyFNtGf9Rcgv/W34N/1t0Cv9YaAj/WmcH/19s + Bv9mbwX/cXYE/3l8Av9/gQr/goIW/3BxAv91dAT/d3YE/4mFBP+YlAX/kYwF/4Z/Bf+GfwT/g3sE/4h+ + BP+JfgT/hXsD/4Z8BP99dAT/fXIE/3txBP93bgT/cWsD/25pAv9tagL/bWoC/3FvA/9tbAP/ZGID/1dU + AP+xrovk39vcqIqIhscAAACPAAAAWgAAADYAAAAbAAAAMQ4ODo/Kx8XB2NjOxlFpFv9NbQb/V3oJ/1hx + Bv9UZQT/V2QE/1xoA/9kbAH/bnMA/3Z5AP99fwr/fX4S/2xtAP9xcAH/dnUB/4iFAv+VkQL/i4QB/4F7 + Av9/eAH/f3cC/4R7Af+EegH/g3gB/4J4Af94bwH/eW8C/3duAf9yawL/bWgA/2tnAP9rZwD/a2kA/25t + AP9mZQD/YF0A/1JOAP+uq4nj3tvcp4qIhscAAACNAAAAWAAAADUAAAAYAAAALBAPD4zKxsS/0tHHvVZt + Hf5TcA//XHsQ/111Dv9aag3/XWkO/2NtDP9qcQr/c3gL/3p8Cv+Bgxf/foEa/3BxCP91dAv/e3sM/42L + Df+XlA3/ioQN/4R+Df9/eQz/g3wM/4iAC/+GfAz/iH8M/4J5DP99dAz/fXQM/3lzDP91bwv/cm0K/3Ft + Cf9xbQr/cnEK/3FwCv9paAv/ZGIK/1ZSB/+ppofa2NXVoYyKiMYAAACJAAAAUgAAADAAAAAUAAAAJAsL + C4K/vLi/1dHLo8zNwMHS1MbM1NbHztXWx87U1cfO1dXHztXVx8/W1sfO2NfHztjXx87Z18jO19bHzNXU + xcvV08PK1dTDydfVw8nY1sPJ1tTDyNbTw8jV08PJ1tPDydfUw8nW08PK19TEytbUxMrW08PK1tPEy9bT + xMvW1MXL1tPFy9XSw8vU0cPM09HCzNLRwszRz8LM0c7CzMnHu8XGwruwzcjEmYSCgMYAAAB7AAAARgAA + ACgAAAAOAAAAGgAAAFNpaGbH2NTOsuDc2avi3duv4t3br+Pe26/j3tuv49/br+Lf27Dh39uv4d7br+Hd + 26/g29qu3trYrNzY1qnb1tOo2dXSp9jU0afY09Gn2NXRptnU0aba1NGl2dXRptnU0qfZ1NOo2tbUqNvW + 1Kjb1tSp3NbVqd3Y1qnd2dap3dfWqtrW1KrY1NOs19TSrNfT0qzX09Ks19PSrdbRz6vQy8envrq2vTEx + MLgAAABXAAAANQAAAB4AAAAJAAAAEgAAACcAAABnMzMyq09OTbRMS0qzS0tKtExLSrRMS0q0TEtKtExL + SrRLS0q0S0tKtEtLSrRLS0qzS0pJs0pJSbNLSkizSkpJs0pKSLNKSkizSkpIs0tJSLNLSkmyS0pJsktK + SbNLSkmzS0pJs0tKSbNMSkmzTEpJs0xKSbNMSkmzTEpJs0tKSbNLSkmzS0pJs0tKSbNLSkmzS0lJs0tK + SbRNTEu2Hh0dowAAAF4AAAA4AAAAJQAAABMAAAAFAAAACwAAABYAAAAhAAAALQAAADcAAAA6AAAAOgAA + ADoAAAA6AAAAOgAAADoAAAA6AAAAOgAAADoAAAA6AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAAADsAAAA7AAAAOwAA + ADsAAAA7AAAAOgAAADsAAAA6AAAAMwAAACsAAAAhAAAAFQAAAAsAAAACAAAABAAAAAkAAAAOAAAAEwAA + ABcAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAZAAAAGQAA + ABkAAAAZAAAAGQAAABkAAAAZAAAAGQAAABkAAAAYAAAAFwAAABMAAAAOAAAACAAAAAQAAAAAAAAAAQAA + AAIAAAAEAAAABwAAAAkAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAA + AAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACQAAAAcAAAAEAAAAAgAA + AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAoAAAAIAAAAEAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAABAAAAA4AAAAfAAAALQAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAA + ADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAA + ADIAAAApAAAAGQAAAAoAAAAMAAAAJAAAAEQAAABhAAAAawAAAGsAAABrAAAAawAAAGwAAABsAAAAbAAA + AGwAAABsAAAAbAAAAGwAAABsAAAAawAAAGsAAABrAAAAawAAAGsAAABrAAAAawAAAGsAAABrAAAAbAAA + AGwAAABsAAAAaAAAAFcAAAA7AAAAGgAAABcAAAA+ExMSkD07OKo7ODWpODUyqDczMKg1Mi+nNDEupzMw + LaczMC2nMzAtpzQxLqY2MzCnODUypzk2M6c5NzOoOjc0qDs3Nag7ODWoOzg1qDs4Nag7ODWoOzg1qDk3 + NKc4NTKnOTYypzs5Nqg5NzSuCQkJlwAAAFsAAAAuAAAAHAYGBmmCfHamr6adhbevp5GyqqKQraWdjami + mYumn5aKpJyUiaSalImkm5OJqJ+Xia6lnoq0qqOKta2li7WtpYy1rqaNtq6njbawpo22saeOt7Opj7mz + q4+8squPua+ojLWsp4u4rquNt62oiaiek3llYVysAAAAfAAAADoAAAAeEA8PdbClnqGF19nWY+Hn9mng + 5PZs3+L1cOHh9XXi3/V44t31e+La9X/j2PWE5Nf1iefX9ZDr2fWY8Nv1o/Tf9bL35PXB+un11Pzu9eX9 + 8vX2/fn1/v759fX99vXu/PL18P3e9fD9x/bu/bfzy860qIiBfp0AAACHAAAAPQAAAB4ODg1zvbGsrmza + 3uwp09b/MtLR/zTSzf8508r/PdTH/0HXxf9H3MX/UOPI/1rry/9m89D/c/vV/4P/3f+Z/+X/s//s/8f/ + 6v/P/9//yf7R/7z8yP+p/Lz/jfq+/5D9yf+f/8T/ufyk/8Dre//P17a/j4iIowAAAIYAAAA+AAAAHg4O + DXPAtK+xadjZ6yfR0f811tP/O9vV/0Hg1v9H5tf/T+vX/1fx1v9f99f/af3X/3L/1f96+8//f/XF/4Xx + uP+J7ar/humY/4Tmi/+I4oT/jN5//4/YfP+U0Hj/nc12/6HVfv+j4ob/p+SD/8/YvcGTjIumAAAAhgAA + AD4AAAAeDg4Nc8G2srNx4dzrMtzV/z/c0v9C3dD/RNvI/0jcwf9P377/V+O7/1zjtP9h3qn/Zdmd/2nW + kv9s1In/ctOC/37SgP9+y3X/fsJr/4G7Zf+Ft13/i7hY/5G9WP+Vv1r/nL5a/6W8Vf+uv1H/09S0w5SQ + kKgAAACFAAAAPgAAAB4ODg5zw7m1tW/RyewuxLb/PMq4/0PQvP9I0rj/TNCv/1PPqP9az6H/YdCZ/2fS + j/9u1In/c9OB/3bPd/99y3D/jcxw/4XEZP+Ewl//i8Vb/4vDX/+IvmP/h7Rd/4qpUP+PoEL/kpg4/5aQ + K//OyKrFmJWVqwAAAIUAAAA+AAAAHg4ODXPEura2ddTG7DjKs/9H0LX/Udi4/1netf9f4a7/aeWo/3bl + of994Zb/fNmH/3vPeP96x23/d79l/3q+af+Bwm//dbZY/3mrQ/94mzn/dY40/3eFLP94fiT/enoh/395 + IP+EeSD/inod/83FqcabmJisAAAAhQAAAD4AAAAeDg4Nc8W7uLiE4MztUNy6/1zfuP9j37X/Zdyq/2LP + lf9jwoP/arl4/2uxbf9kpWP/YJ1c/16aWP9fmlL/bKNM/3aiO/9tiCb/bH8j/258If91fh//en0e/3l4 + Hf95dRz/fHQd/4B2Hv+GdRr/zcWqx5yamq0AAACFAAAAPgAAAB4ODg5zxr27uYDOtu1DtY//R6mB/0ik + ef9LonP/S5pn/06UYP9aml//Yp5c/2CYVP9jmEv/ZJQ8/2aMK/93kyP/d40g/2l6Hf9ufRz/dX8b/36B + G/9/fxr/eXca/3hyGv96cRr/fXIb/4JxF//MxKrJnZubrwAAAIUAAAA+AAAAHg4ODnPHwL66draa7jiU + av9Bj2T/RJFj/0qWY/9Nk13/U5JV/2SdUf9xo0r/bpk8/2qNLf9mgSH/bH4b/3yNHf90hRv/bHoX/3SB + Fv97gxf/g4YX/4OBF/97dxf/d3EX/3hvF/96bhj/f20U/83FqsmfnJ2wAAAAhQAAAD4AAAAeDg4Oc8jB + wLx4sZHuO5Bd/0SJWP9IiVP/T45R/1aUTP9hl0X/dqM9/3ueMv9wjCT/cIUc/259Fv9wfhb/fY4Y/3WE + Fv9xfhT/fIUU/4CGFP+HiBX/hIEU/3x4E/94cRX/d24V/3htFf98axH/zMWqyqCenrEAAACFAAAAPgAA + AB4ODg5zyMLBvHuvhu5AjU3/SIJH/06GQv9bkj//aKA8/3CeMv96mif/e5Qf/3mLGf96hxb/cH4S/3aD + E/+GlRX/fIkT/3uEEv+DixH/hYkQ/4mKEf+DgRH/fXgQ/3t0Ev95bxP/eGwT/3pqDv/MxarLoZ6fsgAA + AIUAAAA+AAAAHg4ODnPJw8K9fat87kaMP/9XjTz/YJQ1/2qjMv9qmCn/bYkg/4CWHP+FlRr/gYwV/36I + Ev92gBD/gYwR/5CcE/+DjRD/hIwP/4iPEP+Jiw3/iYkO/4N/Dv9+eA7/gHcP/35yEP97bRH/e2sM/83G + qsyhn6CzAAAAhQAAAD4AAAAeDg4Oc8jCw76Dr3PuV5w0/2OcMv9lpCz/ZZAk/2d/Hf91ihr/ipkY/4yV + Gf+DixH/f4gO/3uDDf+LlA//lp4Q/4ePDf+LkQ7/i48O/46MC/+Khgv/gX0L/4F4DP+Ddw3/gXQO/35u + Dv9/bgr/z8mqzKGfoLMAAACFAAAAPgAAAB4ODg5zyMPEvomzbe5apyv/YqYs/1uAIP9kfRv/bYMZ/3yM + Fv+PmBT/jJIW/4OJDf+Bhgr/gIYK/5WaDf+ZnQ3/ipAL/5GVDP+Pjwr/ko0K/4uFCf+CfAj/gnkJ/4N3 + C/+Acwz/fm8L/4FyCP/QyqrNoZ+gswAAAIUAAAA+AAAAHg4ODnPJwsW+ib9r7leoJf9afyD/XHca/2iB + F/9wghT/gIwR/5CXD/+KjxH/hIcJ/4OGCP+FiQj/nJ4K/5mbCv+PkQn/lpYK/5OPCP+Tjgj/ioQH/4N8 + Bv+CeQf/gnYI/31yCf98cAn/g3YG/9DKqc2gnZ+1AAAAhQAAAD4AAAAeDg4Oc8nExr+Fr2TvUYYZ/1t+ + HP9ddxb/aX4S/3GBD/+Ciw3/kJUL/4mMD/+EhgX/g4UG/4qLBv+goQf/mZgH/5WTB/+WlAf/lZAG/5SN + Bv+Kggb/hHwE/4J5Bf9/dQb/enAH/3xxB/+EeAX/z8qozp+dn7UAAACEAAAAPgAAAB4ODg5zy8XHv4Ke + X+9ShhT/XH8Z/15zE/9oeg//cX4N/4GJCv+Okgv/iIoO/4ODA/+CgwX/j44F/6GhBv+XlAX/lpQG/5WR + Bf+XkAb/kYkG/4iABf+EfAP/gXgF/3tyBP92bgX/e3IG/4N6A//Py6fOn52ftQAAAIQAAAA+AAAAHg4O + DnPLxsjAg55d71OFEf9dfxb/XXER/2d3Df9vfAr/gIcI/4yQDP+Ghw3/gIEC/4GBBf+TkQX/oZ8G/5WQ + Bv+XkgX/lI4F/5aOBv+OhQX/hX0E/4N7BP9/dQX/dm8E/3JtBP93cwX/gXsB/87Kp8+fnZ+2AAAAhAAA + AD4AAAAeDg4Oc8zHycCDnFzvU4MN/11+FP9dbw//ZnQM/295Cf9+hQf/i40N/4OEDP9+fgL/gYAE/5eU + Bv+fmwb/k40G/5WPBf+Tigb/lIkG/4uCBf+EewT/gngE/31yBP9zbAP/cGwD/3ZzBP98eAD/ysemz5+d + n7cAAACEAAAAPgAAAB4ODg5zzcnKwYKaWe9TgQr/XX4R/1tsDP9jcgr/bXcH/32CBv+Jiw3/gIEM/3t7 + A/+CgAT/mpYF/5uVBv+Rigb/kYoF/5KHBv+QhAX/iX8E/4J3Bf9/dQT/eXAE/3BrBP9wbAP/dnQD/3Rx + AP/HxKbPoJ6gtwAAAIQAAAA+AAAAHg4ODnPPyszBgpdZ71B8B/9cfA//WmoL/2FvCP9sdQb/fIAE/4eI + Dv99fgz/eHgD/4KABP+blwX/lI8F/46GBf+NhAX/kIQF/4yABP+FewT/f3UE/31yBP91bQT/b2oD/29s + A/90cwP/a2gA/8XBptCgnqC3AAAAhAAAAD4AAAAeDg4Oc9HMzsGBlFbvTnYE/1x5Df9aaQn/X2wG/2py + Bv95fQP/hIUO/3l6C/91dQP/g4AE/5qWBf+OiAX/ioIE/4mABP+LgAT/iH0E/4F3BP9+cgT/eW8E/3Fr + A/9uagP/cG0D/29vAv9jXwD/w8Cm0KGeoLgAAACEAAAAPgAAAB4ODg5z0s7Pwn6RU/FKbgD/WXUH/1Vl + Bf9baAP/Z28B/3V4AP9/gQz/c3QF/3FwAP+DgAH/lZEB/4aAAf+CegH/hHsA/4Z7AP+DeQD/e3EA/3lv + Af9zawH/bGcA/2toAP9ubAD/aGYA/1pXAP/BvqXRop+guAAAAIQAAAA9AAAAGhAPD3HRzM69g5JZ7FNy + DP9hexT/Xm0S/2RvEf9vdg//e38O/4WHHf93ehP/eHgP/4yKEf+XkxH/iIIR/4R9EP+KgRD/ioAR/4d/ + EP+AdxD/fXYQ/3dyD/90cA7/dHEO/3V0D/9sag//X1wM/725o8qjoKG3AAAAgAAAADgAAAARCAgIX7e0 + sL3e3dK13NzOxd7ez8bd3M/G3t3Pxt/ez8bh3s/G4N3Pxd3azMLc2crB3drJv93ayb/c2Mm/3NjIv93Z + yb/d2crB3drKwd3YysHd2cvB3drMwtzYysLa1snD2dbIw9jVycTT0MTA19LMqoqHhbsAAABpAAAAKwAA + AAsAAAAqLy4tj3t5d698eXmte3h4rXt5eK17eXitenl4rXp4eK15d3eseHV2q3d1dap2dHSpdXN0qXZ0 + dKl3dHSodnR1qXd1dap3dXWqeHV2qnh2dqp5dnaqeHV1q3Z0dat2dHSsdnR0rHh2dqxubGqwGhkZiAAA + ADgAAAAaAAAABQAAAA4AAAAdAAAAMAAAADUAAAA1AAAANQAAADUAAAA1AAAANQAAADUAAAA1AAAANQAA + ADUAAAA1AAAANQAAADYAAAA1AAAANQAAADUAAAA1AAAANQAAADUAAAA1AAAANQAAADUAAAA1AAAANQAA + ADQAAAAlAAAAGAAAAAsAAAABAAAAAwAAAAYAAAAKAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAA + AAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAA + AAwAAAAMAAAADAAAAAoAAAAGAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAABgAAAAwAAAAAQAgAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAcAAAAaAAAAMQAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAA + ADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADgAAAAnAAAADwAAABUAAABKDAsKhg8N + DI8ODAuODQsKjg0LCo4MCwqODAsKjg0LCo4NCwuODQwLjg4MC44ODAyODgwMjg0MDI4NDAyODQwMjg0M + C44MDAuODg0NjwkJCY4AAABhAAAAKgAAACYyMC6KmpSMnKGclZ2alY6blZGKmZKOhpeQi4SXkYqEl5WO + iJeclZCYoJmTmJ+ak5mgm5SaoJ2UmqKelZumn5mbq5+bm6ebl5mkmpeZpZyYlo+Hf5YgHx6XAAAAQgAA + AC9kWVWRm9nZy1vg5fRi3t/0Zt7c9Gze2fNw3tXzdeHT833l0/OH7NbzlPPb86f55PTB/O702v/y9Oj/ + 8/Tv//P04f/u9Nj/6/Pj/8706Puu8svNtKc9OjuaAAAASgAAAC5pXVqVid3d4CPS1P8x1ND/ONjP/z/d + z/9I5c//VO7S/2L41v9y/9j/gP/Y/5T91P+k+sr/qPa3/6TyqP+b757/jOmb/5Ppo/+j8qH/seyH/87T + ub1APD6aAAAASgAAAC1qXluWjuHd4C/a1P8/3NL/RN7O/0rgyP9U5MP/XOe9/2Tlsf9q4KT/btuU/3XY + if99037/fMpv/4LDaP+KwGH/ksBd/5m/Wv+hwFv/rMhg/9HSub5BPkCcAAAASQAAAC1rYF6XkNnR4S/H + t/9Bzrn/SdO3/1DTrv9c1qb/Z9ec/27Wjv901IH/d890/4LLcP+IyG3/gcBc/4a7VP+EtFb/g6pR/4ie + RP+NlDb/lo4t/87HrsFDQkSdAAAASQAAAC1rYF+YmuDS4kXXuf9Y3rv/YuO2/2XepP9v15T/d82F/3K+ + c/9ts2b/aqxe/3SyXv91qUv/cZQy/3GHKv92gCT/eHke/3l1HP9/dRz/iXgf/87Hr8NFREaeAAAASQAA + AC1rYmKZn9vI40a+l/9OtIn/Ua5//0+hbf9Wm2L/YZ5e/2CYVP9glEj/Y441/3aWKP9wgx7/a3oc/3V+ + G/9+gBr/enga/3hyGv97cRr/hHQc/87HsMVFRUafAAAASQAAACxtZmaalsWu5DeQZP9CjGD/SZJf/06R + WP9dmFD/cqJI/26VNv9phSP/bX4a/3qLG/9vfhj/c38W/36EF/+FhRf/fXkW/3dwF/94bhb/gHAX/8/I + scZHRkifAAAASQAAACxtZ2ibmcKl5TyLUv9Hg0z/Uo1I/2GaQ/9ynjf/fJsp/3WKHP9ygRb/cn8U/3+P + Fv91ghP/fYcT/4WJEv+HhhP/fnoS/3lxE/93bRP/fG0U/8/IssdHRkifAAAASQAAACxtZ2mbnL+b5UWK + Pv9YjDr/Zp40/2uXKv92kR//g5Ua/4GMFf94gxH/fYkR/4yYE/+BihD/h44Q/4mLDv+GhA7/f3kO/391 + EP97bhD/fW0R/9DJsslHR0mgAAAASQAAACxsZ2ucosKS5lidMP9joS3/ZI8k/2mBG/+Bkhf/jZYY/4OK + EP98hAz/ipIO/5ObD/+Ijw3/jZEN/46LC/+GgQr/gXkL/4N3Df9/cAz/gXEO/9HMsslHR0mgAAAASQAA + ACxtZ2ycpsqN5linJv9bgyD/Y3sZ/3GEFv+JkxL/jpMT/4OIC/+AhQn/lJgL/5aaC/+Pkwv/k5EJ/5GM + Cf+GgAj/gnkI/4J2Cv99cAn/g3UL/9LMsspHRkmhAAAASAAAACxtaG2do8WJ5lGJGf9beBn/ZnwT/3SD + D/+KkQz/jI8O/4SFBv+Ehgb/m5wH/5iYB/+VlAf/lZEH/5KLBv+GfwX/gnkF/390B/96bwb/hXkJ/9HM + sMtHRkmhAAAASAAAACxuaW6dobWE51GDEf9cdxX/ZngQ/3SADP+Ijgr/iowN/4GCBP+HhwX/np0F/5eU + Bv+Wkwb/lo8G/4+HBv+FfQT/gXkE/3lwBP92bwT/hHsH/9HNr8xGRkmhAAAASAAAACxuam6dorWD51KC + Df9cdhP/ZHQN/3J9Cf+Hiwn/h4gN/35/A/+KiQX/n5wG/5WQBv+VjgX/lYsG/4uCBf+DewT/f3UE/3Nt + A/9zbwP/gHsG/87Lr8xGRkmiAAAASAAAACxva2+dorSB51J/Cf9cdA//YXAL/3F6B/+FiAn/hIQN/3t7 + A/+OiwT/nJgG/5KLBv+SiQb/kYYF/4h+BP+BdwX/e3EE/3BrA/9ybwL/eHYE/8vIr81HRkmiAAAASAAA + ACxwbXGeorGB51B6BP9bcg3/X2wI/293Bv+ChQj/f4AN/3h4A/+QjAT/lpEF/42FBf+OgwX/jIEE/4R5 + BP9+cwT/dm0E/29qA/9xbwL/b2wD/8jFr81IR0miAAAASAAAACxyb3Keoa5+6UtwAP9YbQb/WmcD/2px + AP99fwT/eHkJ/3NyAP+OiwH/jogB/4R8AP+HfQD/hXsA/31yAP94bgD/b2kA/2xoAP9tawD/Yl8A/8bD + rs9IR0mjAAAASAAAACl0cXScprGE41Z1D/9idhb/ZG8U/3R6Ef+Ehhj/fn8Z/3x8Ev+WkxP/jokT/4eA + E/+NgxP/ioET/4N6E/99dhL/dnIR/3d0Ef9zchH/ZmMP/sbCsMlLSkuiAAAARAAAABhKSEeN09HJw9DR + w8rR0MPK0dDDy9PRw8rU0cPK0c7Bx8/MvsXQzb3E0My9xM/MvcTQzL3F0c2+xdDMvsbQzb/Gz8y/x83K + vcjMyb3Jyse8xsK+uLwtLSyQAAAALgAAAAgAAAAyJCMjbSwrLHErKitwKyorcCoqK3AqKStwKSkqcCko + Km8oKCpvKSgqbykoKm8pKCpvKSgqbykpKm8qKSpvKikqcCkoKnApKCpwKyoscR0cHG8AAAA6AAAAFAAA + AAIAAAAFAAAACAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAA + AAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAsAAAAKAAAABAAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA + AEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA + AEEAAABBAAAAQSgAAAAUAAAAKAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAJgAA + AEMAAABIAAAARwAAAEcAAABHAAAARwAAAEcAAABHAAAARwAAAEcAAABHAAAARwAAAEcAAABHAAAARwAA + AEcAAAA0AAAAFQAAACIWFRN0PzUxlDwwLJI4LSqQNiwokDUqJ481KiiPOC4rkDowLpA5MS6RODEvkTcx + L5E1Mi+RNjIvkTQwLpA0MDCQNjIylRAPDoQAAAA5AAAAPXd1cJyfzsy9k8rIxZLGwsOTxL7BlMG6wZjD + usGhyr/BqtHEwrTWycPC2c/D0dzTxN7e2MTg3tnE2NvRwtvbwcPS0bOsX1xYnAAAAFYAAAA9jI+Mqk/h + 5v8w2Nn/O9zW/0Tg1f9O6NT/XPLX/2382v+A/9//nP/j/7b/3v/B/8//vf3D/6f5vf+n+8L/vP+m/9Pv + qOh1b3CeAAAAVwAAADyNkI2tUuHd+jbZ0v9B3c//SeDJ/1XmxP9g6r3/auix/3Hhof973ZH/gNZ//3/N + b/+Gx2f/jsVj/5jEYv+gyF//xdeT5nh0daIAAABWAAAAPI6Rjq5X1cf6Pc66/0zXuv9V2a//ZNqk/27Y + lP9z04L/dsxy/4HJcP+CwmX/gbdR/4KtTv+Bo0n/hpc8/4uJJ/+4rm3nfHp7pQAAAFYAAAA8kZOQsGvg + xvpT17H/X9ep/2DMkv9rwYD/bbVw/2eoYf9lolT/c6hL/3CVM/9vgyX/dX4g/3h4HP95chv/fG8T/7Gj + aOh/fX6nAAAAVgAAADySlJCyYruZ+0Gccf9Jmmv/TJJf/1yYV/9om03/ZI86/2iGJf94jB3/bXsY/3R/ + GP+Agxn/fXoY/3dxGf93axD/rqFm6YB/gKgAAABVAAAAPJKUj7Nfpnv7QIVS/02MT/9cl0n/c6A7/3eV + Kv9wgxr/cH4V/3uLF/90gBT/f4YU/4eHFP9/exP/eHAU/3NnC/+rnmPqgoCCqQAAAFUAAAA8kpOPs2aj + Z/tPiTz/Ypo2/2yXK/98lR//gpAY/3uFEv97hxH/iJUS/4GKEf+IjA//iIcO/4B7Dv99dBD/dmgH/6uf + YeqDgYOqAAAAVQAAADyTk4+0da9X+1+gLP9kjiP/bYMa/4mVF/+JkBT/foUM/4mQDv+SmQ7/ipAN/4+O + DP+KhQr/gXkL/4N2DP96awP/rqNg6oOBg6sAAABVAAAAPJSVj7V2uE37WIcd/2J6F/91hhP/jZUR/4iM + Dv+BhQf/k5YJ/5eZCv+Tkwn/lI8I/4qDB/+Cegf/gXUJ/3lsAP+xp17rgoCDrAAAAFUAAAA8lJSPtXCd + QfxYexX/ZHkS/3eDDf+MkQz/hogJ/4SEBf+amgb/mZcG/5aTBv+Vjgb/iYEF/4J6BP97cQX/d20A/7Gq + XOuBgIOtAAAAVQAAADyVlJC1cZg8/Fl7Ef9jdA7/dX8J/4qNDP+Cgwj/hIQE/52aBv+XkgX/lY8F/5KJ + Bv+GfgT/gHYE/3RtBP9zbgD/r6pa7IGAg64AAABVAAAAPJaVkLZxlTj8WXkM/2BvC/9zfAf/h4oM/35/ + B/+GhAP/nJcG/5OMBv+TiQb/jYMF/4N5Bf98cgT/cGsD/3BtAP+no1nsgoCDrgAAAFUAAAA8l5aStm+P + NPxXdgj/XmsI/3F4Bf+EhQv/eXkH/4eFBP+XkgX/jIQF/42DBf+IfQT/f3QE/3ZuBP9vawP/a2oA/56a + WOyCgIOuAAAAVQAAADyZmJS4ZYIm/01qAP9TYAD/Z24A/3h6AP9tbQD/goAA/4qDAP9+dgD/gngA/3tx + AP90aQD/amMA/2dlAP9dWwD/kY5P8ISDha8AAABVAAAAM5eVkbGyvY7jo7B16aasd+mwsnXouLd66LCv + dOa8uXPlvLdz5beyc+W7tHPmt7F05rOudOavq3Pmrqty56akcei/u5vWe3l5rQAAAEgAAAASKikoaG5r + bpFtam6PbGptj2tpbY9pZ2yOaGZqjGZkaYtmZGmLZ2Vqi2dlaoxoZmuMaWdrjGlna41nZmqNaWdrjmVj + ZJAdHBtrAAAAHwAAAAMAAAAJAAAAFQAAABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAABYAAAAWAAAAFgAA + ABYAAAAWAAAAFgAAABYAAAAWAAAAFgAAAA4AAAAGAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAA + AEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEoAAAAEAAAACAA + AAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAEAAAABXAAAAVQAAAFUAAABVAAAAVQAA + AFUAAABVAAAAVQAAAFUAAABVAAAAVQAAAFcAAABMAAAAHwQEBD5WVFCVc3JuoWpqZp5nZ2KdZmRgnGpo + Y51wbmmdcXBrnnRybZ95dHGffnRzn3txb558dXCdTUpFmAABAVQXDg1Qj7m4w1jj5vRe3tv0ZuHY9G/n + 1vN/8tr0k/zi9LH/6vTP/+n02//i9M//3fTK/9n03/+58qenk68DAQRlGQ8OToS7uc8u29f/OtvP/0Xg + yf9U6sX/Ze69/3Lrrv+C5Z7/idyI/4rUd/+Mzm//ls5v/6/YdP+lp5O7BAIGYhkPEE+KubLQP9bB/1Db + vf9b3K3/a9mb/3HQhP9yxnD/fcRq/322VP9+p0b/gJtA/4WOMf+ZkDP/pJ+MvQUFCGMYEBJPkbqu0U7K + pP9WwJL/WbN7/2asa/9moVn/ZZdE/3OYNP9tgiH/dX0c/3p4Gf93bxf/insl/6SejcAFBgljGRMWUI6r + m9M+kWL/R4tX/1aUT/9vnUH/bo0q/22AGf93hhf/c34V/4KGFf+AfRb/dm4U/4V3If+ln47BBgYJYxkU + GFCQqJHUS41G/12UOv9tmC7/gJYe/3yIFP96hRH/hJAS/4KKEP+Jig//gX0P/3txD/+Edhz/paCPwwYG + CWMYFBlQlqyJ1F6jMP9jjSL/c4cY/4yVFf+BiA7/iI8N/5GYDf+NkQz/jYkK/4J7Cv+BdAr/iXoX/6ei + j8QGBgljGBQaUJeuhdVYjx//YngV/3uIEP+Nkg7/g4UI/5OVB/+YmQj/lZII/4+IBv+DegX/fXIF/4p+ + E/+no47FBgYJYxkWG1CVo4HVV4IV/2J1EP96hAr/iowL/4KCBP+YlgX/mJUG/5aQBf+MhAX/gngE/3Zu + A/+HgBH/pqONxgYGCWMZFhxQlqJ/1liAD/9gcAz/d38I/4aHC/+AgAT/mZUG/5SNBv+SiAb/iH0E/31z + BP9wawH/gH4P/6OhjMYGBgpjGhcdUJagftdTdwb/W2oF/3J4Av99fgj/fXsA/5OOAf+KggH/in4B/4B1 + AP91bAD/bWkA/3RyCf+gnYzIBwcKZBoYHVGhqIrWZoIc/216Hf+Bhhv/iYoh/42LGv+blhv/koob/5SK + G/+LgRv/gXsa/357F/98eiL/paKUxwcHCmMGBgcxenl0oJydkbaZmI20mpmNtZmXjLOYloiwmJaIsJiV + iLCZlomxmZWKsZiVirKWlImzmZeNtGpoZp0BAQE9AAAABQAAAB4AAAAqAAAAKQAAACkAAAApAAAAKQAA + ACkAAAApAAAAKQAAACkAAAApAAAAKQAAACsAAAAjAAAACgAArEEAAKxBAACsQQAArEEAAKxBAACsQQAA + rEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEE= + + + \ No newline at end of file diff --git a/OnTopReplica/StartupOptions/Factory.cs b/OnTopReplica/StartupOptions/Factory.cs new file mode 100644 index 0000000..ee44ca2 --- /dev/null +++ b/OnTopReplica/StartupOptions/Factory.cs @@ -0,0 +1,123 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Drawing; +using System.ComponentModel; +using OnTopReplica.Properties; +using OnTopReplica.WindowSeekers; +using System.Windows.Forms; + +namespace OnTopReplica.StartupOptions { + class Factory { + + static Factory() { + //Custom type conversion attributes + TypeDescriptor.AddAttributes(typeof(Size), new TypeConverterAttribute(typeof(SizeConverter))); + TypeDescriptor.AddAttributes(typeof(ScreenPosition), new TypeConverterAttribute(typeof(ScreenPositionConverter))); + TypeDescriptor.AddAttributes(typeof(Rectangle), new TypeConverterAttribute(typeof(RectangleConverter))); + TypeDescriptor.AddAttributes(typeof(Padding), new TypeConverterAttribute(typeof(PaddingConverter))); + } + + public static Options CreateOptions(string[] args) { + var options = new Options(); + + LoadSettings(options); + + ParseCommandLine(args, options); + + return options; + } + + private static void LoadSettings(Options options) { + if (Settings.Default.RestoreSizeAndPosition) { + options.StartLocation = Settings.Default.RestoreLastPosition; + options.StartSize = Settings.Default.RestoreLastSize; + + System.Diagnostics.Trace.WriteLine(string.Format("Restoring window at {0} size {1}.", Settings.Default.RestoreLastPosition, Settings.Default.RestoreLastSize)); + } + + if (Settings.Default.RestoreLastWindow) { + var handle = Settings.Default.RestoreLastWindowHwnd; + var title = Settings.Default.RestoreLastWindowTitle; + var className = Settings.Default.RestoreLastWindowClass; + + var seeker = new RestoreWindowSeeker(new IntPtr(handle), title, className); + seeker.SkipNotVisibleWindows = true; + seeker.Refresh(); + var resultHandle = seeker.Windows.FirstOrDefault(); + + if (resultHandle != null) { + //Load window + options.WindowId = resultHandle.Handle; + } + else { + System.Diagnostics.Trace.WriteLine("Couldn't find window to restore."); + } + } + } + + private static void ParseCommandLine(string[] args, Options options) { + var cmdOptions = new NDesk.Options.OptionSet() + .Add("windowId=", "Window handle ({HWND}) to be cloned.", id => { + options.WindowId = new IntPtr(id); + }) + .Add("windowTitle=", "Partial {TITLE} of the window to be cloned.", s => { + options.WindowTitle = s; + }) + .Add("windowClass=", "{CLASS} of the window to be cloned.", s => { + options.WindowClass = s; + }) + .Add("v|visible", "If set, only clones windows that are visible.", s => { + options.MustBeVisible = true; + }) + .Add("size=", "Target {WIDTH,HEIGHT} of the cloned thumbnail.", s => { + options.StartSize = s; + }) + .Add("position=", "Target {X,Y} of the OnTopReplica window.", s => { + options.StartLocation = new Point(s.Width, s.Height); + options.StartPositionLock = null; + }) + .Add("screenPosition=", "Resolution independent window position on current screen, with locking. Values: {TR|TL|C|BR|BL}.", pos => { + options.StartLocation = null; + options.StartPositionLock = pos; + }) + .Add("r|region=", "Region {X,Y,W,H} of the cloned window.", region => { + options.Region = new ThumbnailRegion(region); + }) + .Add("p|padding=", "Region padding {LEFT,TOP,RIGHT,BOTTOM} of the clone.", padding => { + options.Region = new ThumbnailRegion(padding); + }) + .Add("o|opacity=", "Opacity of the window: {0-255}.", opacity => { + options.Opacity = opacity; + }) + .Add("clickForwarding", "Enables click forwarding.", s => { + options.EnableClickForwarding = true; + }) + .Add("chromeOff", "Disables the window's chrome (border).", s => { + options.DisableChrome = true; + }) + .Add("fs|fullscreen", "Starts up in fullscreen mode.", s => { + options.Fullscreen = true; + }) + .Add("h|help|?", "Show command line help.", s => { + options.Status = CliStatus.Information; + }); + + List values; + try { + values = cmdOptions.Parse(args); + } + catch (NDesk.Options.OptionException ex) { + options.DebugMessageWriter.WriteLine(ex.Message); + options.DebugMessageWriter.WriteLine("Try 'OnTopReplica /help' for more information."); + options.Status = CliStatus.Error; + } + + if (options.Status == CliStatus.Information) { + cmdOptions.WriteOptionDescriptions(options.DebugMessageWriter); + } + } + + } +} diff --git a/OnTopReplica/StartupOptions/FourValueTypeConverter.cs b/OnTopReplica/StartupOptions/FourValueTypeConverter.cs new file mode 100644 index 0000000..17029d4 --- /dev/null +++ b/OnTopReplica/StartupOptions/FourValueTypeConverter.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.ComponentModel; +using System.Text.RegularExpressions; + +namespace OnTopReplica.StartupOptions { + abstract class FourValueTypeConverter : TypeConverter { + + public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { + if (value != null) { + var sVal = value.ToString(); + return Convert(sVal); + } + else + return base.ConvertFrom(context, culture, value); + } + + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { + return sourceType == typeof(string); + } + + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { + return destinationType == typeof(T); + } + + public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { + if (value != null && destinationType == typeof(T)) { + var sVal = value.ToString(); + return Convert(sVal); + } + else + return base.ConvertTo(context, culture, value, destinationType); + } + + static Regex _sizeRegex = new Regex("^\\D*(?\\d*)\\s*,\\s*(?\\d*)\\s*,\\s*(?\\d*)\\s*,\\s*(?\\d*)\\D*$", + RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.Singleline); + + private T Convert(string s) { + var match = _sizeRegex.Match(s); + + var v1 = match.Groups["one"]; + var v2 = match.Groups["two"]; + var v3 = match.Groups["three"]; + var v4 = match.Groups["four"]; + + if (match.Success && v1.Success && v2.Success && v3.Success && v4.Success) { + int v1v, v2v, v3v, v4v; + bool v1b, v2b, v3b, v4b; + v1b = Int32.TryParse(v1.Value, out v1v); + v2b = Int32.TryParse(v2.Value, out v2v); + v3b = Int32.TryParse(v3.Value, out v3v); + v4b = Int32.TryParse(v4.Value, out v4v); + + if (v1b && v2b && v3b && v4b) { + return CreateValue(v1v, v2v, v3v, v4v); + } + else { + throw new ArgumentException("Argument '" + s + "' contains a non numeric value."); + } + } + else { + throw new ArgumentException("Argument '" + s + "' is in the wrong format."); + } + } + + protected abstract T CreateValue(int v1, int v2, int v3, int v4); + + } +} diff --git a/OnTopReplica/StartupOptions/Options.cs b/OnTopReplica/StartupOptions/Options.cs new file mode 100644 index 0000000..d36e2bb --- /dev/null +++ b/OnTopReplica/StartupOptions/Options.cs @@ -0,0 +1,163 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Drawing; +using System.IO; +using OnTopReplica.WindowSeekers; + +namespace OnTopReplica.StartupOptions { + + /// + /// Represents startup options that can be set via CLI scripting (or other stuff). + /// + class Options { + + public Options() { + Status = CliStatus.Ok; + Opacity = 255; + DisableChrome = false; + MustBeVisible = false; + Fullscreen = false; + } + + #region Position and size + + public Point? StartLocation { get; set; } + + public ScreenPosition? StartPositionLock { get; set; } + + public Size? StartSize { get; set; } + + #endregion + + #region Window cloning + + public IntPtr? WindowId { get; set; } + + public string WindowTitle { get; set; } + + public string WindowClass { get; set; } + + public ThumbnailRegion Region { get; set; } + + public bool MustBeVisible { get; set; } + + #endregion + + #region Options + + public bool EnableClickForwarding { get; set; } + + public byte Opacity { get; set; } + + public bool DisableChrome { get; set; } + + public bool Fullscreen { get; set; } + + #endregion + + #region Debug info + + StringBuilder _sb = new StringBuilder(); + TextWriter _sbWriter; + + public CliStatus Status { get; set; } + + /// + /// Gets a debug message writer. + /// + public TextWriter DebugMessageWriter { + get { + if (_sbWriter == null) { + _sbWriter = new StringWriter(_sb); + } + return _sbWriter; + } + } + + /// + /// Gets the debug message. + /// + public string DebugMessage { + get { + if(_sbWriter != null) + _sbWriter.Flush(); + return _sb.ToString(); + } + } + + #endregion + + #region Application + + public void Apply(MainForm form) { + //GUI + form.IsChromeVisible = !DisableChrome; + form.Opacity = (double)Opacity / 255.0; + + //Seek handle for thumbnail cloning + WindowHandle handle = null; + if (WindowId.HasValue) { + handle = WindowHandle.FromHandle(WindowId.Value); + } + else if (WindowTitle != null) { + var seeker = new ByTitleWindowSeeker(WindowTitle) { + OwnerHandle = form.Handle, + SkipNotVisibleWindows = MustBeVisible + }; + seeker.Refresh(); + + handle = seeker.Windows.FirstOrDefault(); + } + else if (WindowClass != null) { + var seeker = new ByClassWindowSeeker(WindowClass) { + OwnerHandle = form.Handle, + SkipNotVisibleWindows = MustBeVisible + }; + seeker.Refresh(); + + handle = seeker.Windows.FirstOrDefault(); + } + + //Position lock + if (StartPositionLock.HasValue) { + form.PositionLock = StartPositionLock.Value; + } + + //Size and location start values + if (StartLocation.HasValue && StartSize.HasValue) { + form.StartPosition = System.Windows.Forms.FormStartPosition.Manual; + form.Location = StartLocation.Value; + form.ClientSize = StartSize.Value; + } + else if (StartLocation.HasValue) { + form.StartPosition = System.Windows.Forms.FormStartPosition.WindowsDefaultBounds; + form.Location = StartLocation.Value; + } + else if (StartSize.HasValue) { + form.StartPosition = System.Windows.Forms.FormStartPosition.WindowsDefaultLocation; + form.ClientSize = StartSize.Value; + } + + //Clone any found handle + if (handle != null) { + form.SetThumbnail(handle, Region); + } + + //Other features + if (EnableClickForwarding) { + form.ClickForwardingEnabled = true; + } + + //Fullscreen + if (Fullscreen) { + form.IsFullscreen = true; + } + } + + #endregion + + } + +} diff --git a/OnTopReplica/StartupOptions/PaddingConverter.cs b/OnTopReplica/StartupOptions/PaddingConverter.cs new file mode 100644 index 0000000..777394f --- /dev/null +++ b/OnTopReplica/StartupOptions/PaddingConverter.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.ComponentModel; +using System.Windows.Forms; + +namespace OnTopReplica.StartupOptions { + class PaddingConverter : FourValueTypeConverter { + + protected override Padding CreateValue(int v1, int v2, int v3, int v4) { + return new Padding { + Left = v1, + Top = v2, + Right = v3, + Bottom = v4 + }; + } + + } +} diff --git a/OnTopReplica/StartupOptions/RectangleConverter.cs b/OnTopReplica/StartupOptions/RectangleConverter.cs new file mode 100644 index 0000000..624fee1 --- /dev/null +++ b/OnTopReplica/StartupOptions/RectangleConverter.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel; +using System.Drawing; +using System.Text.RegularExpressions; + +namespace OnTopReplica.StartupOptions { + + class RectangleConverter : FourValueTypeConverter { + + protected override Rectangle CreateValue(int v1, int v2, int v3, int v4) { + return new Rectangle { + X = v1, + Y = v2, + Width = v3, + Height = v4 + }; + } + + } + +} diff --git a/OnTopReplica/StartupOptions/ScreenPositionConverter.cs b/OnTopReplica/StartupOptions/ScreenPositionConverter.cs new file mode 100644 index 0000000..18ca1a5 --- /dev/null +++ b/OnTopReplica/StartupOptions/ScreenPositionConverter.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel; + +namespace OnTopReplica.StartupOptions { + class ScreenPositionConverter : TypeConverter { + + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { + if (sourceType == typeof(string)) + return true; + + return base.CanConvertFrom(context, sourceType); + } + + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { + if (destinationType == typeof(ScreenPosition)) + return true; + + return base.CanConvertTo(context, destinationType); + } + + public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { + var sValue = value.ToString(); + + switch (sValue) { + case "TL": + return ScreenPosition.TopLeft; + case "TR": + return ScreenPosition.TopRight; + case "BL": + return ScreenPosition.BottomLeft; + case "BR": + return ScreenPosition.BottomRight; + case "C": + return ScreenPosition.Center; + default: + throw new ArgumentException("Invalid screen position value '" + sValue + "'."); + } + } + + public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { + if (destinationType == typeof(ScreenPosition)) + return ConvertFrom(context, culture, value); + + return base.ConvertTo(context, culture, value, destinationType); + } + + } +} diff --git a/OnTopReplica/StartupOptions/SizeConverter.cs b/OnTopReplica/StartupOptions/SizeConverter.cs new file mode 100644 index 0000000..9dd018e --- /dev/null +++ b/OnTopReplica/StartupOptions/SizeConverter.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel; +using System.Drawing; +using System.Text.RegularExpressions; + +namespace OnTopReplica.StartupOptions { + + class SizeConverter : TypeConverter { + + public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { + if (value != null) { + var sVal = value.ToString(); + return StringToSize(sVal); + } + else + return base.ConvertFrom(context, culture, value); + } + + public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { + return (sourceType == typeof(string) || sourceType == typeof(Size)); + } + + public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) { + return (destinationType == typeof(Size) || destinationType == typeof(string)); + } + + public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) { + if (value == null) + return base.ConvertTo(context, culture, value, destinationType); + + if (destinationType == typeof(Size)) { + var sVal = value.ToString(); + return StringToSize(sVal); + } + else if (destinationType == typeof(string)) { + if (value is Size) { + Size sValue = (Size)value; + return string.Format("{0}, {1}", sValue.Width, sValue.Height); + } + + return value.ToString(); + } + else + return base.ConvertTo(context, culture, value, destinationType); + } + + static Regex _sizeRegex = new Regex("^\\D*(?\\d*)\\s*,\\s*(?\\d*)\\D*$", + RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.Singleline); + + private Size StringToSize(string s) { + var match = _sizeRegex.Match(s); + + var x = match.Groups["x"]; + var y = match.Groups["y"]; + + if (!match.Success || !x.Success || !y.Success) + throw new ArgumentException("Cannot convert '" + s + "' to coordinates pair."); + + var xVal = Int32.Parse(x.Value); + var yVal = Int32.Parse(y.Value); + + return new Size(xVal, yVal); + } + + } + +} diff --git a/OnTopReplica/StoredRegion.cs b/OnTopReplica/StoredRegion.cs new file mode 100644 index 0000000..d2d6894 --- /dev/null +++ b/OnTopReplica/StoredRegion.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.Drawing; + +namespace OnTopReplica { + + public class StoredRegion { + + public StoredRegion(ThumbnailRegion r, string name) { + Region = r; + Name = name; + } + + public ThumbnailRegion Region { + get; + set; + } + + public string Name { + get; + set; + } + + public override string ToString() { + return Name; + } + + } + +} diff --git a/OnTopReplica/StoredRegionArray.cs b/OnTopReplica/StoredRegionArray.cs new file mode 100644 index 0000000..f140178 --- /dev/null +++ b/OnTopReplica/StoredRegionArray.cs @@ -0,0 +1,147 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Collections; +using System.Xml.Serialization; +using System.Xml; +using System.Xml.Linq; + +namespace OnTopReplica { + + /// + /// Strongly styped array of StoredRegion elements. + /// + /// + /// Handles XML serialization. + /// + public class StoredRegionArray : List, IXmlSerializable { + + #region IXmlSerializable Members + + public System.Xml.Schema.XmlSchema GetSchema() { + return null; + } + + public void ReadXml(System.Xml.XmlReader reader) { + this.Clear(); + + var doc = XDocument.Load(reader); + foreach (var xmlRegion in doc.Descendants("StoredRegion")) { + System.Diagnostics.Debug.WriteLine(string.Format("Found region '{0}'.", xmlRegion.Attribute("name"))); + + StoredRegion parsedRegion = ParseStoredRegion(xmlRegion); + if (parsedRegion != null) { + this.Add(parsedRegion); + } + } + } + + private StoredRegion ParseStoredRegion(XElement xmlRegion) { + var xName = xmlRegion.Attribute("name"); + if (xName == null || string.IsNullOrWhiteSpace(xName.Value)) { + System.Diagnostics.Debug.Fail("Parsed stored region has no name attribute."); + return null; + } + + ThumbnailRegion region = ParseRegion(xmlRegion); + if (region == null) { + System.Diagnostics.Debug.Fail("Parsed stored region has no valid region."); + return null; + } + + return new StoredRegion(region, xName.Value); + } + + private ThumbnailRegion ParseRegion(XElement xmlRegion) { + var xRectangle = xmlRegion.Element("Rectangle"); + if (xRectangle != null) { + System.Drawing.Rectangle rectangle = ParseRectangle(xRectangle); + return new ThumbnailRegion(rectangle); + } + + var xPadding = xmlRegion.Element("Padding"); + if (xPadding != null) { + System.Windows.Forms.Padding padding = ParsePadding(xPadding); + return new ThumbnailRegion(padding); + } + + return null; + } + + private System.Windows.Forms.Padding ParsePadding(XElement xPadding) { + var p = new System.Windows.Forms.Padding(); + try { + p.Left = Int32.Parse(xPadding.Element("Left").Value); + p.Top = Int32.Parse(xPadding.Element("Top").Value); + p.Right = Int32.Parse(xPadding.Element("Right").Value); + p.Bottom = Int32.Parse(xPadding.Element("Bottom").Value); + } + catch (Exception ex) { + System.Diagnostics.Debug.Fail("Failure while parsing padding data.", ex.ToString()); + } + return p; + } + + private System.Drawing.Rectangle ParseRectangle(XElement xRectangle) { + var r = new System.Drawing.Rectangle(); + try { + r.X = Int32.Parse(xRectangle.Element("X").Value); + r.Y = Int32.Parse(xRectangle.Element("Y").Value); + r.Width = Int32.Parse(xRectangle.Element("Width").Value); + r.Height = Int32.Parse(xRectangle.Element("Height").Value); + } + catch (Exception ex) { + System.Diagnostics.Debug.Fail("Failure while parsing rectangle data.", ex.ToString()); + } + return r; + } + + public void WriteXml(System.Xml.XmlWriter writer) { + foreach (var region in this) { + WriteRegion(writer, region); + } + } + + private void WriteRegion(XmlWriter writer, StoredRegion region) { + writer.WriteStartElement("StoredRegion"); + writer.WriteAttributeString("name", region.Name); + + if (region.Region.Relative) { + WriteRelativeRegion(writer, region); + } + else { + WriteAbsoluteRegion(writer, region); + } + + writer.WriteEndElement(); + } + + private void WriteAbsoluteRegion(XmlWriter writer, StoredRegion region) { + writer.WriteStartElement("Rectangle"); + + var bounds = region.Region.Bounds; + writer.WriteElementString("X", bounds.X.ToString()); + writer.WriteElementString("Y", bounds.Y.ToString()); + writer.WriteElementString("Width", bounds.Width.ToString()); + writer.WriteElementString("Height", bounds.Height.ToString()); + + writer.WriteEndElement(); + } + + private void WriteRelativeRegion(XmlWriter writer, StoredRegion region) { + writer.WriteStartElement("Padding"); + + var padding = region.Region.BoundsAsPadding; + writer.WriteElementString("Left", padding.Left.ToString()); + writer.WriteElementString("Top", padding.Top.ToString()); + writer.WriteElementString("Right", padding.Right.ToString()); + writer.WriteElementString("Bottom", padding.Bottom.ToString()); + + writer.WriteEndElement(); + } + + #endregion + + } + +} diff --git a/OnTopReplica/StoredRegionComparer.cs b/OnTopReplica/StoredRegionComparer.cs new file mode 100644 index 0000000..cfc9438 --- /dev/null +++ b/OnTopReplica/StoredRegionComparer.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Collections; + +namespace OnTopReplica { + + /// + /// Compares two StoredRegions based on their name. + /// + class StoredRegionComparer : IComparer { + + #region IComparer Members + + public int Compare(object x, object y) { + StoredRegion a = x as StoredRegion; + StoredRegion b = y as StoredRegion; + + if (a == null || b == null) + return -1; //this is wrong, but anyway + + return a.Name.CompareTo(b.Name); + } + + #endregion + + } +} diff --git a/OnTopReplica/Strings.cs.resx b/OnTopReplica/Strings.cs.resx new file mode 100644 index 0000000..2360dd2 --- /dev/null +++ b/OnTopReplica/Strings.cs.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Vytvořil: % + Link % is replaced by string AboutAuthorContent. + + + Přerušit aktualizaci. + + + Zobrazit podrobnosti o aplikaci OnTopReplica. + + + Resetovat nastavení OnTopReplica. + + + Aktualizovat OnTopReplica. + + + Rádi byste přispěli k vývoji projektu? Jste vřele vítáni při spolupráci na stávajících nebo nových překladech, případně si můžete stáhnout % ze serveru CodePlex. + + + zdrojové kódy + + + OnTopReplica je založena na knihovně WindowsFormsAero a několika dalších knihovnách a zdrojích. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Více informací + + + Spolupráce + + + Zásluhy + + + Licence + + + Aktualizace + + + Aplikace je vydána pod % licencí, která splňuje požadavky "open-source" definice dle OSI. + + + Nenáročný a instantní náhled libovolného otevřeného okna (nebo jeho výřezu) v systému. + + + O programu OnTopReplica + + + Překlady: % + {0} translators (do not end with period) + + + Aktualizuj! + + + Aplikace OnTopReplica automaticky kontroluje dostupné aktualizace. + + + Verze: % + + + Resetovat nastavení okna? + + + &Resetovat +Všechna nastavení budou ztracena. + + + Operace "Resetovat okno" je vhodná k inicializaci všech nastavení pokud jste například ztratili kontrolu nad oknem nebo jej přesunuli mimo viditelnou plochu obrazovky. + + + Resetovat + + + Resetovat nastavení? + + + Operace "Resetovat nastavení" smaže veškerá uživatelská nastavení aplikace OnTopReplica a vrátí nastavení do stejného stavu jako po instalaci (všechny uložené informace, jako například uložené výřezy oken, budou ztraceny). + + + Resetovat nastavení + + + &Storno + & marks the ALT+[] shortcut + + + Označte výřez pomocí myši. + + + Podrobnosti + + + Podrobnosti k Windows Aero + + + Windows Aero je k dispozici pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce 'Desktop Composition' není povolena. + + + Pro pokračování je nutné povolit funkci "Desktop Composition" výběrem tématu 'Windows Aero' v nastavení vzhledu Windows. + +Uvedené lze provést například kliknutním pravým tlačítkem myši na plochu a zvolením akce "Přizpůsobit". + + + Podrobnosti k chybě + + + Chyba: + + + Zvolené okno bylo zavřeno nebo již není platné z jiných důvodů. + + + Chyba + + + Funkce 'Desktop Composition' není ve vašem systému podporována. +Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premium a vyšších. + + + Funkce Desktop Composition není podporována + + + Náhled nebyl nahrán. + + + Nelze vytvořit náhled. + + + Nelze vložit okno. + + + Kontrola aktualizací se nezdařila. + + + Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte <a href="http://ontopreplica.codeplex.com">domácí stránku aplikace OnTopReplica</a>). + + + Aplikaci OnTopReplica se nepodařilo zjistit, zda existuje nová verze. Zkontrolujte, zda jste připojeni k síti Internet. Pokud ano, je možné, že webové stránky projektu jsou dočasně mimo provoz. + + + Režim + + + Vždy na vrchu + + + Nastaví aplikaci OnTopReplica, aby zůstávala vždy na vrchu. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Standardní + + + Aplikace OnTopReplica se bude chovat jako běžné okno. Jiná okna mohou překrýt okno aplikace. + + + Aplikace OnTopReplica přes celou obrazovku + + + Zrušit + + + Povolit seskupení + + + Výběrem více položek aktivujete seskupení + + + Seskupení je aktivní + + + Seskupení + + + Okna + Column Header of list, simply refers to available windows to be cloned + + + Domácí stránka: www.codeplex.com/ontopreplica. + + + Přejete si povolit "přeposílání kliknutí"? + + + V tomto režimu aplikace OnTopReplica přeposílá kliknutí levého tlačítka myši do zdrojového okna (je tedy možné provádět základní ovládání zdrojového okna bez nutnosti jej aktivovat). + +Ukončit režim "přeposíání kliknutí" je možné opětovným vyvolání položky v menu. + + + Přeposílání kliknutí + + + Povolit "Proklikávání" v celoobrazovkovém režimu? + + + "Proklikávání" funguje pouze pokud je povoleno v menu a okno má nastavenou průhlednost. + + + V tomto režimu se bude okno roztažené přes celou obrazovku chovat jako poloprůhledná vrstva, přes kterou bude možné "proklikávat" na podložená okna. + +K návratu do standardního režimu je možné přejít kdykoli dvojklikem na ikonu v oznamovací oblasti (traye). + + + Ne. +Režim "Proklikávání" je možné zvolit později v menu + + + Používat "Proklikávání" + + + Režim "Proklikávání" + + + Aplikace OnTopReplica byla aktualizována. + + + Pro použití aktualizací je potřeba aplikaci OnTopReplica restartovat. + + + Aktualizace proběhla úspěšně + + + OnTopReplica je aktuální. + + + Žádná aktualizace není k dispozici. + + + Jazyk + + + O aplikaci... + + + Skryje hlavní okno a zobrazí informace "O aplikaci". + + + Okraj + + + Přepínač, který definuje, zda má aplikace OnTopReplica viditelný okraj okna. + + + Přeposílání kliknutí + + + Zapne "přeposílání kliknutí" do zdrojového okna. + + + Proklikávání + + + Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken. + + + Zavřít + + + Ukončí aplikaci OnTopReplica. + + + 2:1 Dvojnásobná + + + Celá obrazovka + + + 1:2 Poloviční + + + 1:1 Jako zdroj + + + 1:4 Čtvrtinová + + + Seskupení + + + OnTopReplica bude automaticky přepínat mezi okny z uživatelsky definované skupiny tak, že zobrazeno bude vždy to naposledy deaktivované okno. + + + 100% (neprůhledné) + + + Nastaví aplikaci OnTopReplica jako neprůhlednou. + + + 25% + + + Nastaví průhlednost na 25%. + + + 50% + + + Nastaví průhlednost na 50%. + + + 75% + + + Nastaví průhlednost na 75%. + + + Průhlednost + + + Otevřít + + + Zobrazí aplikaci OnTopReplica. + + + Dolní levý roh + + + Dolní pravý roh + + + Uprostřed + + + Vypnuto + + + Umístění + + + Automatická pozice aplikace OnTopReplica vzhledem k obrazovce. + + + Horní levý roh + + + Horní pravý rok + + + Opustit celoobrazovkový režim + + + Ukládat pozici a velikost okna + + + Přepínač, který definuje, zda si má aplikace OnTopReplica ukládat poslední pozici a velikost okna a obnovovat tyto údaje po restartování aplikace. + + + Minimalizovat do traye + + + Minimalizuje aplikaci OnTopReplica jako ikonu v systémové oblasti. + + + Vybrat výřez... + + + Přepne do režimu "výřezu", který umožní zvolit pouze část okna jako náhled. + + + Resetovat nastavení okna + + + Resetuje nastavení a pozici okna aplikace OnTopReplica. + + + Velikost + + + Obnovit naposledy zobrazené okno + + + Pokud je zatrženo, OnTopReplica se pokusí po spuštění obnovit naposledy zobrazované okno. + + + Nastavení... + + + Zobrazí okno s nastavením. + + + Přepnout do okna + + + Přepne do zdrojového okna a skryje aplikaci OnTopReplica. + + + Vybrat okno + + + - žádné - + + + Zobrazí seznam oken, které je možné použít jako zdroj. + + + - celé okno - + + + Aktuální výřez: + + + Smazat + + + Hotovo + + + Výška + + + Reset + + + Uložit + + + Uložené výřezy + + + Výřezy: + + + Šířka + + + Začněte klepnutím sem pravým tlačítkem myši... + + + Zavřít toto okno + + + Tyto klávesové zkratky jsou platné napříč systémem a je možné je použít i pokud OnTopReplica není aktivním oknem. + + + Zobrazit/Skrýt + + + Klávesové zkratky: + + + Jazyk: + + + Vyžaduje restart. + + + Nastavení + + + Zrušit aktualizaci +Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu. + + + Pokračovat +Instalovat OnTopReplica {0}. + + + Nová verze bude automaticky stažena a nainstalována. + + + Nainstalovaná verze: {0} +Dostupná verze: {1} + + + Verze {0} je k dispozici + + + staženo {0}/{1} bajtů. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Stahování... + + + Poslední verze aplikace OnTopReplica je již nainstalována. Aktualizace se kontrolují automaticky při každém spuštění. + +Na <a href="website">oficiálních stránkách</a> můžete sledovat aktuální vývoj aplikace nebo hlásit chyby či navrhovat vylepšení. + The website link should be enclosed in <a href="website"></a> tags. + + + Poslední stabilní verze byla vydána {0}. + {0} last version release date + + + OnTopReplica je aktuální + + + Instalovat +OnTopReplica bude nyní ukončena a spustí se aktualizace. + + + Nová verze {0} OnTopReplica je připravena k instalaci. + + + Aktualizace je připravena + + + Aktualizace OnTopReplica + + + + Must not be localized. Leave blank in non-default languages. + + + + Can be left blank. + + + + Must not be localized. Leave blank in non-default languages. + + + + Probably doesn't need localization. :) + + + Advanced + + \ No newline at end of file diff --git a/OnTopReplica/Strings.da.resx b/OnTopReplica/Strings.da.resx new file mode 100644 index 0000000..ea2a6a7 --- /dev/null +++ b/OnTopReplica/Strings.da.resx @@ -0,0 +1,650 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Annuller updateringen. + + + Vis detaljer om OnTopReplica. + + + Nulstil alle OnTopReplica indstillinger. + + + Opdater OnTopReplica nu. + + + En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst. + + + Opdater nu! + + + OnTopReplica checker automatiskt for opdateringer. + + + + Probably doesn't need localization. :) + + + Nulstil vinduet helt? + + + &NulstilAlle ændringer vil blive tabt. + + + Kan bruges til at nulstille alle indstillinger hvis du mister kontrollen over vinduet eller hvis det er flyttet uden for skærmen. + + + Nulstil + + + Nulstil indstillinger? + + + Dette nulstiller OnTopReplica til standard indstillingerne (alle gemte informationer, som gemte områder, vil blive slettet). + + + Nulstil indstillingerne + + + &Annuller + & marks the ALT+[] shortcut + + + Tegn områder med musen + + + Detaljer + + + Detaljer om Windows Aero + + + Windows Aero er kun tilgængelig op Windows Vista Home Premium eller højere. + + + Windows Aero effekter er ikke slået til + + + Du skal aktiverere "Windows Aero" som tema i Windows.For at gøre dette skal du højreklikke på skrivebordet og vælge personlige indstillinger. + + + Fejl detaljer. + + + Fejl: + + + Vinduet du har valgt er lukket eller er ikke gyldigt mere. + + + Fejl + + + Windows Aero effekter er ikke understøttet af dit styresystem. +Dette program kræver Windows Vista Home Premium eller bedre. + + + Skrivebords komposition ikke understøttet + + + Ingen miniature indlæst. + + + Kan ikke lave miniature. + + + Kunne ikke passes til vinduet. + + + Kan ikke søge efter opdateringer. + + + OnTopReplica blev ikke installeret ved hjælp af 'ClickOnce'. Du bliver nødt til at opdatere manuelt (besøg <a href="http://ontopreplica.codeplex.com">OnTopReplica's hjemmeside</a>). + + + Tilstande + + + Altid øverst + + + Får OnTopReplica til altid at være øverst. + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Standard + + + Opfører sig som et almindeligt vindue. Du kan trække andre viduer ind over OnTopReplica. + + + OnTopReplica fuld skærm + + + Hjemmeside: www.codeplex.com/ontopreplica. + + + Ønsker du at aktivere "click forwarding"? + + + Hvis denne funktion er aktiveret vil OnTopReplica vidersende alle venstr museklik til det klonede vindue (dette gør dig i stand til at udføre basis musefunktioner i det klonede vindue uden at skulle aktivere det). + +For at afslutte denne funktion skal du højreklikke på OnTopReplica og deaktivere "Click forwarding" i menuen. + + + Click forwarding + + + Ønskes gennem klik i fuldskærms tilstand? + + + Gennem klik virker kun hvis det er blevet aktiveret i gendan undermenuen og hvis vinduet er delvist gennemsigtigt. + + + I denne tilstand vil fuld skærm vinduet opføre sig som et delvist gennemsigtigt lag, hvilket gør dig i stand til at klikke på de underliggende vinduer. + +For at komme tilbage til normal tilstand, dobbeltklik på OnTopReplica ikonet i meddelelsesområdet på proceslinjen. + + + Nej. +Du kan aktivere gennem klik senere. + + + Brug gennem klik. + + + Gennem klik tilstand + + + OnTopReplica er blevet opdateret. + + + For at benytte den opdaterede udgave af OnTopReplica skal du genstarte programmet. + + + Opdatering fuldført + + + OnTopReplice er opdateret. + + + Ingen opdateringer er tilgængelige + + + Sprog + + + Om... + + + Skjuler hoved vinduet og viser om boxen. + + + Krom + + + Vælger Chrome kanten rundt om vinduet til/fra + + + Click forwarding + + + Aktiver "click forwarding" til det klonede vindue + + + Klikke igennem + + + OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer. + + + Luk + + + Lukker OnTopReplica. + + + 2:1 dobbelt + + + Fuld skærm + + + 1:2 halv + + + 1:1 Pas til vinduet + + + 1:4 kvart + + + 100% (uigennemsigtig) + + + Sæt OnTopReplica til at være helt uigennemsigtig. + + + 25% + + + Sætter OnTopReplica til 25% uigennemsigtighed. + + + 50% + + + Sætter OnTopReplica til 50% uigennemsigtighed. + + + 75% + + + Sætter OnTopReplica til 75% uigennemsigtighed. + + + Uigennemsigtighed + + + åben + + + Viser OnTopReplica. + + + Nederst venstre + + + Nederst højre + + + Position + + + Sæt OnTopReplica automatiskt på den aktuelle skærm. + + + Øverst venstre + + + Øverst højre + + + Afslut fuldskærm tilstand. + + + Gendan sidste position og størrelse + + + Vælger om OnTopReplica skal gemme sidst brugte størrelse og position, til næste gang det starter op. + + + Minimer til systembakken. + + + Minimere OnTopReplica til systembakken. + + + Vælg område... + + + Skifter til "område tilstand", der tillader dig at vælge et begrænset område af kildens vindue som miniature. + + + Nulstil vinduet + + + Nulstiller OnTopReplica indstillingerne og hoved vinduet. + + + Genskab + + + Skift til vindue + + + Skifter til kilde vinduet og gemmer OnTopReplica. + + + Vælg vindue + + + - ingen - + + + Viser en liste af vinduer du kan bruge som miniature kilde. + + + - hele - + + + Aktuelt område: + + + Slet + + + Færdig + + + Højde + + + Nulstil + + + Gem + + + Gemte områder + + + Områder: + + + Bredde + + + Højreklik her for at starte... + + + Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes. + + + FortsætInstaller OnTopReplica + + + Den nye version vil automatiskt blive downloaded og installeret. + + + Installeret version: {0} +Tilgængelig version: {1} + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann. + Must not be localized. Leave blank in non-default languages. + + + Version {0} + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Advanced + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + Center + + + Disabled + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + + \ No newline at end of file diff --git a/OnTopReplica/Strings.de.resx b/OnTopReplica/Strings.de.resx new file mode 100644 index 0000000..5197922 --- /dev/null +++ b/OnTopReplica/Strings.de.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Aktualisierungsprozess abbrechen. + + + Details über OnTopReplica anzeigen. + + + Alle Einstellungen zurücksetzen. + + + OnTopReplica jetzt aktualisieren. + + + Möchtest du dem Projekt helfen? Du kannst gerne existierende Übersetzungen verbessern, einen neue für deine Sprache hinzufügen, oder den % von CodePlex herunterladen. + + + Quelltext + + + OnTopReplica basiert auf der WindowsFormsAero Bibliothek und ein paar anderen Bibliotheken und Codequellen. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Lies die vollständige Quellenliste + + + Mitwirken + + + Quellen + + + Lizenz + + + Aktualisierungen + + + Das Programm ist unter der % Lizenz lizensiert, welche die Bedingungen der Definition von "open-source" nach OSI erfüllt. + + + Ein kleines echtzeit-Vorschaubild eines Fensters deiner Wahl, welches immer im Vordergrund bleibt. + + + Über OnTopReplica + + + Übersetzer: {0} + {0} translators (do not end with period) + + + Jetzt prüfen! + + + OnTopReplica sucht automatisch bei jedem Start nach Aktualisierungen. + + + Version {0} + + + + Probably doesn't need localization. :) + + + Fenster vollständig zurücksetzen? + + + &Zurücksetzen +Alle Einstellungen werden gelöscht. + + + Dies kann helfen, wenn die Kontrolle über das Fenster verloren wurde, oder es sich ausserhalb des sichtbaren Bereichs des Monitors befindet. + + + Zurücksetzen + + + Einstellungen zurücksetzen? + + + Dies wird alle Einstellungen löschen und OnTopReplica in den Installationszustand zurückführen (alle gespeicherten Daten, wie zum Beispiel gespeicherte Bereiche, gehen verloren). + + + Einstellungen zurücksetzen + + + {0}/{1} bytes heruntergeladen. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Version {0} ist verfügbar + + + Installieren +OnTopReplica wird geschlossen und die Aktualisierung installiert. + + + Eine neue Version kann von der offiziellen Webseite heruntergeladen und installiert werden. + + + OnTopReplica version {0} ist zur Installation auf dem Computer bereit. + + + &Abbrechen + & marks the ALT+[] shortcut + + + Zeichne Bereiche mit der Maus. + + + Details + + + Details zu Windows Aero + + + Windows Aero ist nur mit Windows Vista Home Premium or höher verfügbar. + + + 'Desktop-Gestaltung' ist nicht aktiviert. + + + Sie müssen die Desktop-Gestaltung aktivieren, indem sie 'Windows Aero' als das von Windows benutzte Anzeigeschema auswählen. + +Um dies zu tung rechtsklicken die auf den Desktop und wählen sie 'Anpassen'. + + + Fehler-details + + + Fehler: + + + Es scheint als wäre das gewählte Fenster geschlossen oder nicht länger gültig. + + + Fehler + + + Desktop-Gestaltung' wird auf diesem Betriebssystem nicht unterstützt. +Dieses Programm benötigt Windows Vista Home Premium oder besser. + + + Desktop-Gestaltung nicht unterstützt + + + Kein Vorschaubild geladen. + + + Vorschaubild konnte nicht erstellt werden + + + Das Fenster passt nicht in das Vorschaufenster. + + + Es konnte nicht nach Aktualisierungen gesucht werden. + + + Es scheint als wäre OnTopReplica nicht mittels 'ClickOnce' installiert. Sie werden manuell aktualisieren müssen (Besuchen sie <a href="http://ontopreplica.codeplex.com">OnTopReplica's Homepage</a>). + + + OnTopReplica konnte nicht nach einer Aktualisierung suchen. Stellen sie Sicher, dass sie mit dem Internet verbunden sind. Wenn sie mit dem Internet verbunden sind, könnte die Webseite temporäre Probleme haben. + + + Mode + + + Immer im Vordergrund + + + Erzwingt, dass OnTopReplica immer im Vordergrund bleibt. + + + Durchklicken + + + OnTopReplica wird alle Klicks an das darunterliegende Fenster weiterreichen. + + + Standard + + + Verhält sich wie ein normales Fenster. Andere Fenster können OnTopReplica verdecken. + + + OnTopReplica Vollbild + + + Deaktivieren + + + Modus aktivieren + + + Mehrere Fenster zum aktivieren auswählen. + + + Der Gruppenmodus ist aktiv. + + + Gruppenmodus: + + + Fenster + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Klickweiterleitung aktivieren? + + + OnTopReplica wird alle Linksklicks an das geklonte Fenster weiterreichen (dies erlaubt simple Interaktion ohne das andere Fenster zu aktivieren). + +Um diese Modus zu beenden ESC drücken. + + + Klickweiterleitung + + + Durchklickmodus aktivieren? + + + Durchklicken funktioniert nur, wenn es im "Grössen"-Menü aktiviert wurde und das Fenster semi-transparent ist. + + + In diesem Modus verhält sich das Vollbild-Fenster wie ein durchsichtiges Overlay und erlaubt es, die Fenster dahinter anzuklicken. + +Um zum normalen Modus zurückzukehren, reicht es, OnTopReplica über die Taskleiste oder das Benachrichtigungssymbol zu aktivieren. + + + Nein danke. +Durchklicken kann später aktiviert werden + + + Durchklicken aktivieren + + + Durchklick-Modus + + + OnTopReplica wurde aktualisiert. + + + Um die aktualisierte Version zu nutzen, muss OnTopReplica neu gestartet werden. + + + Aktualisierung abgeschlossen + + + OnTopReplica ist auf dem neuesten Stand. + + + Keine Aktualisierung verfügbar + + + Sprache + + + Über... + + + Versteckt das Hauptfenster und zeigt das Informationsfenster. + + + Erweitert + + + Fensterrahmen anzeigen + + + Schaltet den Fensterrahmen an und aus. + + + Klickweiterleitung aktivieren + + + Leitet klicks an das geklonte Fenster weiter. + + + Durchklicken aktivieren + + + OnTopReplica wird alle klicks an die darunterliegenden Fenster weiterleiten. + + + Schliessen + + + Schliesst OnTopReplica. + + + 2:1 Verdoppeln + + + Vollbild + + + 1:2 Halbieren + + + 1:1 An Fenster anpassen + + + 1:4 Vierteln + + + Gruppenmodus + + + OnTopReplica wird automatisch das zuletzt aktive Fenster aus einer benutzerdefinierten Gruppe klonen. + + + 100% (Undurchsichtig) + + + OnTopReplica ist völlig undurchsichtig. + + + 25% + + + OnTopReplica auf 25% Sichtbarkeit setzen. + + + 50% + + + OnTopReplica auf 50% Sichtbarkeit setzen. + + + 75% + + + OnTopReplica auf 75% Sichtbarkeit setzen. + + + Deckkraft + + + Öffnen + + + OnTopReplica anzeigen. + + + Unten Links + + + Unten Rechts + + + Mitte + + + Deaktiviert + + + Position feststlegen + + + OnTopReplica automatisch auf dem aktiven Bildschirm positionieren. + + + Oben Links + + + Oben Rechts + + + Vollbildmodus beenden + + + Letzte Position und Grösse merken + + + Legt fest, ob OnTopReplica beim Start die gleiche Position und Grösse haben soll, wie beim letzten Beenden. + + + Minimieren + + + Minimiert OnTopReplica in die Taskleiste (oder die Benachrichtigungsleiste). + + + Bereich wählen... + + + Wechselt zum "Bereichsmodus" welcher es erlaubt, nur einen ausgewählten Teil eines Fensters zu klonen. + + + Fenster zurücksetzen + + + Setzt OnTopReplica Einstellungen und das Fenster zurück. + + + Grösse + + + Letztes Fenster wieder wählen + + + OnTopReplica wird beim Start versuchen, das gleiche Fenster wie beim letzten beenden zu klonen. + + + Einstellungen... + + + Zeigt den Einstellungsdialog an. + + + Zum Fenster Wechseln + + + Wechselt zum geklonten Fenster und versteckt OnTopReplica. + + + Fenster wählen + + + - Keins - + + + Zeigt eine Liste von Fenstern die als Klonquelle gewählt werden können. + + + - Alles - + + + Aktueller Bereich: + + + Löschen + + + Fertig + + + Höhe + + + Zurücksetzen + + + Speichern + + + Gespeicherte Bereiche + + + Bereiche: + + + Breite + + + Hier rechtsklicken um zu beginnen... + + + Aktuelles Fenster klonen + + + Diese Tastenkombinationen können auch benutzt werden, wenn OnTopReplica nicht das aktive Fenster ist. + + + Zeigen/Verstecken + + + Tastenkombinationen: + + + Sprache: + + + Benötigt einen Neustart. + + + Herunterladen... + + + Aktualisierung bereit + + + Herunterladen +OnTopReplica {0} instalieren. + + + Aktualisierung abbrechen +OnTopReplica wird beim nächsten Start darauf hinweisen. + + + OnTopReplica ist aktuell + + + Neuste stabile Programmversion vom {0}. + {0} last version release date + + + Die aktuelle Version vom OnTopReplica ist schon installiert. Das Programm sucht automatisch bei jedem Start nach Aktualisierungen. + +Sie können über die Entwicklung von OnTopReplica auf dem Laufenden bleiben und verbesserungen vorschlagen indem sie die <a href="website">offizielle Webseite besuchen</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Einstellungen + + + OnTopReplica Aktualisierungen + + + Installierte Version: {0} +Verfügbare Version: {1} + + + Autor: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + + Must not be localized. Leave blank in non-default languages. + + \ No newline at end of file diff --git a/OnTopReplica/Strings.es.resx b/OnTopReplica/Strings.es.resx new file mode 100644 index 0000000..673af94 --- /dev/null +++ b/OnTopReplica/Strings.es.resx @@ -0,0 +1,650 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancela el progreso de actualización. + + + Muestra detalles acerca de OnTopReplica. + + + Reinicia la configuración de OnTopReplica a sus valores iniciales. + + + Actualiza OnTopReplica ahora. + + + Una copia liviana, en tiempo real y siempre encima de cualquier ventana. + + + Actualizar ahora! + + + OnTopReplica busca actualizaciones automáticamente. + + + + Probably doesn't need localization. :) + + + ¿Reiniciar la ventana? + + + &Reiniciar +Todos los ajustes se perderán. + + + Puede ser usado para reiniciar todos los ajustes si se ha perdido el control sobre las ventanas o se ha movido más allá de los bordes de la pantalla. + + + Reiniciar + + + ¿Reiniciar los ajustes? + + + Esta acción borrará todos los ajustes de OnTopReplica tras la instalación, volviendo a la configuración inicial (toda la información guardada, como las regiones personalizadas se perderán). + + + Reiniciar ajustes + + + &Cancelar + & marks the ALT+[] shortcut + + + Crea una región utilizando el ratón. + + + Detalles + + + Detalles en Windows Aero + + + Windows Aero sólo está disponible en Windows Vista o 7, en su versión Home Premium o superior. + + + La Composición de Escritorio no está activada. + + + Debe activar la Composición de Escritorio seleccionando "Windows Aero" como tema utilizado en Windows. + +Para ello, click derecho en el escritorio y buscar la opción en Personalizar. + + + Detalles del error + + + Error: + + + Parece que la ventana seleccionada ha sido cerrada o ya no es válida. + + + Error + + + La Composición de Escritorio no está soportada en su Sistema Operativo. +Es necesario utilizar Windows Vista o 7 en su versión Home Premium o superior. + + + Composición de Escritorio no soportada + + + No se ha clonado ninguna ventana. + + + Imposible clonar la ventana. + + + Imposible adaptar la ventana. + + + No se ha podido buscar actualizaciones. + + + Parece que OnTopReplica no ha podido ser instalado mediante "ClickOnce". Tendrá que actualizar manualmente visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + OnTopReplica no ha podido comprobar si hay una actualización disponible. Asegúrese de que está conectado a Internet. Si lo está, quizá la página oficial está temporalmente no disponible. + + + Modo + + + Siempre encima + + + OnTopReplica permanece siempre encima. + + + Click a través + + + OnTopReplica se comporta como una ventana transparente a través de la cual puede clickar lo que se encuentra detrás. + + + Ventana standard + + + OnTopReplica se comporta como una ventana corriente de Windows, por lo tanto puede estar en segundo plano. + + + OnTopReplica a pantalla completa + + + Desactivar + + + Activar modo + + + Seleccionar varias ventanas para activar. + + + Modo en grupo activado + + + Modo en grupo: + + + Ventanas + Column Header of list, simply refers to available windows to be cloned + + + Sitio oficial: www.codeplex.com/ontopreplica. + + + Desea activar el "Click en la ventana clonada"? + + + Si este modo está activado, OnTopReplica permitirá hacer click en la ventana clonada (de esta forma se podrán hacer operaciones básicas con el ratón sin tener que activar la ventana original). + +Para salir de este modo, pulsar ESC. + + + Click en la ventana clonada + + + Activar el modo Click a través? + + + Click a través solo funciona si se ha activado y la ventana es semi-transparente. + + + En este modo, la ventana clonada se volverá ventana parcialmente transparente, permitiendo hacer click en las otras ventanas de detrás. + +Para volver al modo normal en cualquier momento, activar OnTopReplica clickando en la barra de tareas (o en el icono del sistema). + + + No, gracias. +Se podrá activar Click a través más tarde + + + Utilizar Click a través + + + Modo Click a través + + + OnTopReplica ha sido actualizado. + + + Para poder utilizar la versión actualizada de OnTopReplica se ha de reiniciar la aplicación. + + + Actualización correcta. + + + OnTopReplica está actualizado. + + + No hay actualizaciones disponibles + + + Idioma + + + Acerca de + + + Oculta la ventana principal y muestra la ventana de "Acerca de" + + + Avanzado + + + Marco + + + Activa o desactiva el marco de la ventana. + + + Activar Click en la ventana clonada + + + Activa "Click en la ventana clonada" en la ventana que se ha clonado. + + + Activar Click a través + + + OnTopReplica se comporta como una ventana transparente a través de la cual puede hacer click sobre lo que se encuentra detrás. + + + Cerrar + + + Cierra OnToopReplica + + + 2:1 Doble + + + Pantalla completa + + + 1:2 Mitad + + + 1:1 Tamaño original + + + 1:4 Un cuarto + + + Modo en grupo + + + OnTopReplica clonará automáticamente una ventana de un grupo definido, eligiendo la que no ha estado en primer plano durante más tiempo. + + + 100% (opaco) + + + OnTopReplica será totalmente opaco. + + + Establece OnTopReplica al 25% de opacidad. + + + Establece OnTopReplica al 50% de opacidad. + + + Establece OnTopReplica al 75% de opacidad. + + + Opacidad + + + Abrir + + + Muestra OnTopReplica. + + + Abajo a la izquierda + + + Abajo a la derecha + + + Centrado + + + Desactivado + + + Posición + + + Posiciona automáticamente OnTopReplica sobre el monitor actual. + + + Arriba a la izquierda + + + Arriba a la derecha + + + Salir del modo pantalla completa + + + Restaurar última posición y tamaño + + + Activa o desactiva si OnTopReplica debe guardar la última posición y tamaño y usarla cuando se reinicie. + + + Minimizar + + + Minimiza OnTopReplica a la barra de tareas (o de sistema). + + + Seleccionar región + + + Activa o desactiva "Seleccionar región", que permite seleccionar una región específica de la ventana clonada. + + + Reiniciar ventana + + + Reinicia los ajustes de OnTopReplica y la ventana principal + + + Cambiar tamaño + + + Ir a la ventana original + + + Activa la ventana original y oculta OnTopReplica. + + + Seleccionar ventana + + + - ninguna - + + + Muestra una lista de ventanas que se pueden clonar. + + + - entera - + + + Región actual: + + + Borrar + + + Hecho + + + Altura + + + Reiniciar ventana + + + Guardar + + + Regiones guardadas + + + Regiones: + + + Anchura + + + Click derecho para empezar... + + + Cancelar actualización +OnTopReplica le preguntará la próxima vez que se ejecute. + + + Descargar +Instalar OnTopReplica {0} + + + La nueva versión puede ser descargada e instalada del sitio oficial. + + + Versión instalada: {0} +Versión disponible: {1} + + + Autor: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Contribuye con el proyecto. + Unfinished. + + + código fuente + + + OnTopReplica está basado en la librería WindowsFormsAero y otras librerías y códigos fuente. %. + + + Leer los créditos completos + + + Contribuir + + + Créditos + + + Licencia + + + Actualizaciones + + + La aplicación está bajo la licencia %, por lo que rigen los términos de la definición "open-source" especificada por OSI. + + + + Can be left blank. + + + Acerca de OnTopReplica + + + Traductores: {0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + Versión: {0} + + + 25% + + + 50% + + + 75% + + + Restaurar la última ventana clonada + + + Si está activado, OnTopReplica intentará restaurar la última ventana clonada al iniciarse. + + + Ajustes... + + + Muestra el panel de ajustes. + + + Clona ventana actual + + + Los atajos de teclado pueden ser utilizados aunque OnTopReplica no esté en primer plano. + + + Mostrar/ocultar + + + Atajos de teclado: + + + Idioma: + + + Requiere reinicio. + + + Ajustes + + + Versión {0} disponible + + + {0}/{1} bytes descargados. + + + Descargando... + + + La última versión de OnTopReplica ya está instalada. El programa buscará actualizaciones automáticamente con cada inicio. + +Puedes mantenerte informado del desarrollo de OnTopReplica, sugerir mejoras y nuevas características <a href="website">visitando la web oficial</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Última versión estable liberada en {0}. + {0} last version release date + + + OnTopReplica está actualizado + + + Instalar +OnTopReplica se cerrará y se instalará la actualización. + + + La versión de OnTopReplica {0} está lista para ser instalada en su ordenador. + + + Actualización lista + + + Actualizaciones de OnTopReplica + + \ No newline at end of file diff --git a/OnTopReplica/Strings.fi.resx b/OnTopReplica/Strings.fi.resx new file mode 100644 index 0000000..f50a611 --- /dev/null +++ b/OnTopReplica/Strings.fi.resx @@ -0,0 +1,15 @@ + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/OnTopReplica/Strings.it.resx b/OnTopReplica/Strings.it.resx new file mode 100644 index 0000000..a2177be --- /dev/null +++ b/OnTopReplica/Strings.it.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Creato da: %. + Link % is replaced by string AboutAuthorContent. + + + Annulla il processo di aggiornamento. + + + Mostra dettagli su OnTopReplica. + + + Resetta tutte le impostazioni di OnTopReplica. + + + Aggiorna OnTopReplica ora. + + + T'interessa partecipare? Ogni aiuto è ben accetto, sia che tu voglia migliorare una traduzione, aggiungerne una nuova oppure dare un'occhiata al % su CodePlex. + + + codice sorgente + + + OnTopReplica è basato sulla libreria WindowsFormsAero ed il codice di altri progetti open-source. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Leggi tutti i riferimenti + + + Contribuisci + + + Ringraziamenti + + + Licenza d'uso + + + Aggiornamenti + + + Questa applicazione è rilasciata sotto la licenza %, che rientra nella definizione di "open-source" data dal consorzio OSI. + + + Una copia in tempo reale e sempre in primo piano di una finestra a tua scelta. + + + A proposito di OnTopReplica + + + Traduttori: {0} + {0} translators (do not end with period) + + + Controlla! + + + OnTopReplica controlla automaticamente la presenza di aggiornamenti ad ogni avvio. + + + Versione {0} + + + + Probably doesn't need localization. :) + + + Ripristinare completamente la finestra? + + + &Ripristina +Tutte le impostazioni saranno perse. + + + Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo. + + + Ripristino + + + Resettare impostazioni? + + + Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate). + + + Reimposta + + + &Annulla + & marks the ALT+[] shortcut + + + Disegna una regione usando il mouse. + + + Dettagli + + + Dettagli su Windows Aero + + + Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore. + + + Il servizio di Desktop Composition Aero non è attivo. + + + È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows. + +Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza. + + + Dettagli errore + + + Errore: + + + Sembra che la finestra selezionata sia stata chiusa o che non sia più valida. + + + Errore + + + La "composzione del desktop" non è supportata dal tuo sistema operativo. +È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica. + + + Desktop Composition (DWM) non supportato + + + Nessuna finestra clonata al momento. + + + Impossibile clonare la finestra + + + Impossibile adattare la finestra. + + + Impossibile controllare gli aggiornamenti. + + + Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando <a href="http://ontopreplica.codeplex.com">la homepage del progetto</a>. + + + Non è stato possibile controllare se esiste una versione più aggiornata di OnTopReplica. Verificare di essere connessi ad Internet. Se la connessione è attiva, è possibile che il sito ufficiale sia temporaneamente offline. + + + Modalità + + + Sempre in cima + + + OnTopReplica sarà sempre la finestra sopra a tutte le altre. + + + Click through + + + OnTopReplica si comporterà come uno schermo trasparente, che permette di cliccare sulle finestre al di sotto. + + + Normale + + + Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica. + + + OnTopReplica a pieno schermo + + + Disattiva + + + Abilita modalità + + + Seleziona più finestre per attivare. + + + Modalità Gruppo attivata. + + + Modalità Gruppo di finestre: + + + Finestre + Column Header of list, simply refers to available windows to be cloned + + + Sito internet: www.codeplex.com/ontopreplica. + + + Attivare la modalità di inoltro dei clic? + + + In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano). + +Per uscire da questa modalità, usa il tasto ESC. + + + Inoltro dei clic + + + Attivare la modalità Click-Through? + + + La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente. + + + In questa modalità la finestra clonata si comporterà come una maschera semitrasparente che permette di cliccare sulle finestre dietro di essa. + +Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni). + + + No, grazie. +Puoi abilitare il Click-Through in futuro + + + Abilita Click-Through + + + Modalità Click-Through + + + OnTopReplica è stato aggiornato. + + + Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione. + + + Aggiornamento completato + + + La versione più aggiornata è già installata. + + + Nessun aggiornamento disponibile + + + Lingua + + + A proposito di... + + + Nasconde la finestra principale e mostra una schermata di informazioni. + + + Avanzate + + + Bordo + + + Abilita o disabilita il bordo della finestra. + + + Inoltro dei clic + + + Attiva la modalità di "inoltro dei clic" alla finestra clonata. + + + Abilita Click-Through + + + OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa. + + + Chiudi + + + Termina OnTopReplica. + + + 2:1 Doppio + + + Tutto schermo + + + 1:2 Metà + + + 1:1 Clone esatto + + + 1:4 Quarto + + + Modalità Gruppo di finestre + + + OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo. + + + 100% (opaco) + + + Imposta OnTopReplica come finestra completamente opaca. + + + 25% + + + Imposta l'opacità di OnTopReplica al 25%. + + + 50% + + + Imposta l'opacità di OnTopReplica al 50%. + + + 75% + + + Imposta l'opacità di OnTopReplica al 75%. + + + Opacità + + + Apri + + + Attiva la finestra di OnTopReplica. + + + In basso a sinistra + + + In basso a destra + + + Centrato + + + Disabilitato + + + Blocco posizione + + + Posiziona automaticamente OnTopReplica sul monitor corrente. + + + In alto a sinistra + + + In alto a destra + + + Esci da tutto schermo + + + Ripristina posizione e grandezza + + + Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura. + + + Minimizza + + + Riduce OnTopReplica ad un'icona nella barra delle applicazioni. + + + Seleziona regione... + + + Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata. + + + Reimposta finestra + + + Reimposta OnTopReplica e la sua finestra principale. + + + Ridimensionamento + + + Ripristina ultima finestra + + + Se abilitato, all'avvio OnTopReplica tenterà di ripristinare l'ultima finestra precedentemente clonata. + + + Impostazioni... + + + Mostra il pannello delle impostazioni. + + + Vai alla finestra originale + + + Mostra la finestra originale e nasconde OnTopReplica. + + + Seleziona finestra + + + - nessuna - + + + Mostra una lista di finestre che è possibile clonare. + + + - intera - + + + Regione corrente: + + + Cancella + + + Chiudi + + + Altezza + + + Reset + + + Salva + + + Regioni memorizzate + + + Regioni: + + + Larghezza + + + Clic destro qui per iniziare... + + + Clona finestra corrente + + + Queste scorciatoie possono essere usate quando OnTopReplica non è attivo. + + + Nascondi + + + Scorciatoie: + + + Lingua: + + + Richiede un riavvio. + + + Impostazioni + + + Annulla aggiornamento +OnTopReplica si aggiornerà in un secondo momento. + + + Continua +Scarica OnTopReplica {0}. + + + Sarà possibile scaricare la nuova versione ed installarla. + + + Versione installata: {0} +Versione disponibile: {1} + + + Disponibile la versione {0} + + + Scaricati {0} byte su {1}. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Download in corso... + + + L'ultima versione di OnTopReplica è già installata. Il programma controllo automaticamente la presenza di aggiornamenti ad ogni avvio. + +Per tenersi aggiornati sullo sviluppo di OnTopReplica o suggerire miglioramenti, <a href="website">visitare il sito ufficiale</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Ultima versione stabile rilasciata il {0}. + {0} last version release date + + + OnTopReplica è aggiornato + + + Installa +OnTopReplica verrà chiuso e l'aggiornamento sarà installato. + + + La versione {0} di OnTopReplica è pronta ad essere installata sul tuo computer. + + + Aggiornamento pronto + + + Aggiornamenti di OnTopReplica + + + + Must not be localized. Leave blank in non-default languages. + + + + Can be left blank. + + + + Must not be localized. Leave blank in non-default languages. + + \ No newline at end of file diff --git a/OnTopReplica/Strings.no.resx b/OnTopReplica/Strings.no.resx new file mode 100644 index 0000000..3f04f24 --- /dev/null +++ b/OnTopReplica/Strings.no.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann. + Must not be localized. Leave blank in non-default languages. + + + Check now! + + + OnTopReplica automatically checks for updates at every start up. + + + Version {0} + + + + Probably doesn't need localization. :) + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + &Cancel + & marks the ALT+[] shortcut + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + + \ No newline at end of file diff --git a/OnTopReplica/Strings.pl.resx b/OnTopReplica/Strings.pl.resx new file mode 100644 index 0000000..bf277d9 --- /dev/null +++ b/OnTopReplica/Strings.pl.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Autor: %. + Link % is replaced by string AboutAuthorContent. + + + Przerwij proces aktualizacji. + + + Pokaż szczegóły dotyczące OnTopReplica. + + + Resetuj wszystkie ustawienia OnTopReplica. + + + Aktualizuj teraz OnTopReplica + + + Chcesz wesprzeć projekt? Możesz ulepszyć istniejące tłumaczenia, utworzyć nowe dla Twojego rodzimego języka lub sprawdzić % na CodePlex. + + + kod źródłowy + + + OnTopReplica jest oparty na bibliotece WindowsFormsAero oraz innych bibliotekach i kodzie źródłowym. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Przeczytaj więcej + + + Wsparcie + + + Zasługi + + + Licencja + + + Aktualizacje + + + Aplikacja jest licencjonowana na warunkach licencji %, która spełnia warunki definicji "open-source" definiowane przez OSI. + + + Miniatura "zawsze na wierzchu" pokazująca "na żywo" podgląd wybranego okna. + + + O programie OnTopReplica + + + Tłumaczenie: {0} + {0} translators (do not end with period) + + + Sprawdź teraz! + + + OnTopReplica automatycznie sprawdza dostępność aktualizacji po każdym uruchomieniu. + + + Wersja {0} + + + + Probably doesn't need localization. :) + + + Całkowicie zresetować okno? + + + &Zresetuj +Wszystkie ustawienia zostaną utracone. + + + Może być użyte do zresetowania ustawień, jeśli została utracona kontrola nad oknem, lub zostało ono przesunięte poza granice ekranu. + + + Zresetuj + + + Zresetować ustawienia? + + + Ta opcja usunie wszystkie ustawienia spersonalizowane OnTopReplica i przywróci program do stanu jak po instalacji (wszystkie zapisane ustawienia, jak regiony, zostaną utracone). + + + Zresetuj ustawienia + + + &Anuluj + & marks the ALT+[] shortcut + + + Utwórz region używając myszy. + + + Szczegóły + + + Szczegóły dot. Windows Aero + + + Windows Aero jest dostępne w wersji Windows Vista Home Premium i nowszych. + + + Kompozycje pulpitu są wyłączone. + + + Musisz włączyć kompozycje pulpitu wybierając 'Windows Aero' jako schemat używany przez Windows. + +Aby to uczynić kliknij prawym przyciskiem na pulpicie i wybierz 'Personalizuj'. + + + Szczegóły błędu + + + Błąd: + + + Wygląda na to, że wybrane okno zostało zamknięte lub nie jest już dostępne. + + + Błąd + + + Kompozycje pulpitu nie są wspierane przez Twój system operacyjny. +Aplikacja działa na Windows Vista Home Premium i nowszych. + + + Niewspierana kompozycja pulpitu + + + Nie załadowano miniatury. + + + Nie można utworzyć miniatury. + + + Nie można dopasować okna. + + + Nie można sprawdzić aktualizacji. + + + Wygląda na to, że OnTopReplica nie została zainstalowana przy użyciu 'ClickOnce'. Musisz ręcznie zaktualizować program (odwiedź <a href="http://ontopreplica.codeplex.com">stronę domową OnTopReplica's</a>). + + + Program OnTopReplica nie był w stanie sprawdzić, czy jest dostępna nowa wersja. Upewnij się, że Twoje połączenie z Internetem pracuje poprawnie. Jeśli tak, być może strona programu jest chwilowo niedostępna. + + + Tryb + + + Zawsze na wierzchu + + + Wymusza położenie okna OnTopReplica zawsze na wierzchu. + + + Kliknij-przez + + + OnTopReplica będzie się zachowywać jak półprzeźroczysta warstwa, co pozwoli Ci klikać na oknie położonym pod spodem. + + + Standardowe + + + Zachowanie jak normalne okno. Możesz przeciągnąć inne okna ponad OnTopReplica. + + + Pełny ekran OnTopReplica + + + Wyłącz + + + Włącz tryb grupowy + + + Wybierz kilka okien aby uaktywnić. + + + Tryb grupowy jest aktywny. + + + Tryb grupowy: + + + Okna + Column Header of list, simply refers to available windows to be cloned + + + Strona domowa: www.codeplex.com/ontopreplica. + + + Czy uaktywnić "przekazywanie kliknięć"? + + + Kiedy ten tryb jest aktywny, OnTopReplica będzie przekazywać kliknięcia przycisków myszy do okna, które jest klonowane (dzięki temu możesz wykonywać na tym oknie podstawowe operacje bez konieczności uaktywniania go). + +Naciśnij ESC aby zakończyć ten tryb. + + + Przekazywanie kliknięć + + + Włączyć tryb kliknij-przez? + + + Kliknij-przez działa tylko wtedy, gdy zostało włączone w podmenu 'Zmień rozmiar' i kiedy okno jest półprzeźroczyste. + + + W tym trybie okno na pełnym ekranie będzie się zachowywać jak półprzeźroczysta warstwa i będziesz w stanie kliknąć na oknie znajdującym się pod nim. + +Aby w dowolnym momencie powrócić do normalnego trybu aktywuj OnTopReplica klikając na pasku zadań (lub na ikonce w tacce systemowej). + + + Nie, dziękuję. +Możesz włączyć kliknij-przez później + + + Użyj kliknij-przez + + + Tryb kliknij-przez + + + Program OnTopReplica został zaktualizowany. + + + Aby używać zaktualizowanej wersji OnTopReplica musisz zrestartować aplikację. + + + Aktualizacja zakończona powodzeniem + + + Program OnTopReplica jest aktualny. + + + Brak dostępnych aktualizacji + + + Język + + + O... + + + Wyświetla informacje o programie. + + + Zaawansowane + + + Pokazuj ramkę okna + + + Przełącznik wyświetlania ramki okna. + + + Włącz przekazywanie kliknięć + + + Uaktywnia przekazywanie kliknięć do klonowanego okna. + + + Włącz kliknij-przez + + + OnTopReplica będzie się zachowywać jak półprzeźroczysta warstwa i będziesz w stanie kliknąć na oknie znajdującym się pod nim. + + + Zamknij + + + Zamyka OnTopReplica. + + + 2:1 Podwójny + + + Pełny ekran + + + 1:2 Połowa + + + 1:1 Rozmiar oryginalny + + + 1:4 Ćwiartka + + + Tryb grupowy + + + OnTopReplica automatycznie sklonuje okno ze zdefiniowanej przez użytkownika grupy przełączając na to, które było najwcześniej zdeaktywowane. + + + 100% (nieprzeźroczyste) + + + Ustawia OnTopReplica jako całkowicie nieprzeźroczyste. + + + 25% + + + Ustawia przeźroczystość OnTopReplica na 25%. + + + 50% + + + Ustawia przeźroczystość OnTopReplica na 50%. + + + 75% + + + Ustawia przeźroczystość OnTopReplica na 75%. + + + Przeźroczystość + + + Otwórz + + + Wyświetla OnTopReplica. + + + Dół Lewo + + + Dół Prawo + + + Środek + + + Wyłączone + + + Zablokuj pozycję + + + Automatycznie ustawia pozycję OnTopReplica na bieżącym ekranie. + + + Góra Lewo + + + Góra Prawo + + + Wyjdź z trybu pełnoekranowego + + + Zapamiętaj ostatnią pozycję i rozmiar + + + Wybierz, czy OnTopReplica powinien zapamiętać ostatnią pozycję i rozmiar i użyć ich ponownie przy kolejnym uruchomieniu. + + + Minimalizuj + + + Minimalizuje OnTopReplica do paska zadań (lub tacki systemowej). + + + Wybierz region... + + + Przełącza na "tryb regionu", w którym można zaznaczyć jako miniaturę określony obszar okna źródłowego. + + + Resetuj okno + + + Resetuje ustawienia OnTopReplica i okna głównego. + + + Zmień rozmiar + + + Przywróć ostatnio klonowane okno + + + Kiedy włączone, OnTopReplica będzie próbować podczas uruchomienia przywrócić ostatnio klonowane okno. + + + Ustawienia... + + + Wyświetla okno konfiguracji. + + + Przełącz na okno + + + Przełącza na okno źródłowe i ukrywa okno OnTopReplica. + + + Wybierz okno + + + - żadne - + + + Wyświetla listę okien, które możesz wybrać jako źródło miniatur. + + + - całe - + + + Bieżący region: + + + Usuń + + + Gotowe + + + Wysokość + + + Zresetuj + + + Zapisz + + + Zapisane regiony + + + Regiony: + + + Szerokość + + + Kliknij prawym tutaj aby rozpocząć... + + + Sklonuj bieżące okno + + + Skróty klawiszowe działają również wtedy, gdy okno OnTopReplica nie jest aktywne. + + + Pokaż/Ukryj + + + Klawisze skrótu: + + + Język: + + + Wymaga restartu. + + + Ustawienia + + + Anuluj aktualizację +OnTopReplica zapyta Cię przy następnym uruchomieniu. + + + Pobierz +Zainstaluj OnTopReplica {0}. + + + Nowa wersja może zostać pobrana i zainstalowana z oficjalnej strony programu. + + + Zainstalowana wersja: {0} +Dostępna wersja: {1} + + + Dostępna jest wersja {0} + + + pobrano {0}/{1} bajtów. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Pobieram... + + + Najnowsza wersja OnTopReplica jest już zainstalowana. Program automatycznie sprawdza dostępność aktualizacji po każdym uruchomieniu. + +Na <a href="website">oficjalnej stronie domowej</a> możesz znaleźć informacje o rozwoju OnTopReplica's oraz zaproponować nowe funkcje. + The website link should be enclosed in <a href="website"></a> tags. + + + Ostatnia wersja stabilna wydana {0}. + {0} last version release date + + + OnTopReplica jest aktualna + + + Zainstaluj +Aktualizacje zostaną zainstalowane po ponownym uruchomieniu OnTopReplica. + + + Wersja {0} OnTopReplica jest gotowa do zainstalowania. + + + Aktualizacja ukończona + + + Aktualizacje OnTopReplica + + + + Must not be localized. Leave blank in non-default languages. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + + Must not be localized. Leave blank in non-default languages. + + \ No newline at end of file diff --git a/OnTopReplica/Strings.pt-BR.resx b/OnTopReplica/Strings.pt-BR.resx new file mode 100644 index 0000000..6f4f6c9 --- /dev/null +++ b/OnTopReplica/Strings.pt-BR.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann. + Must not be localized. Leave blank in non-default languages. + + + Check now! + + + OnTopReplica automatically checks for updates at every start up. + + + Version {0} + + + OnTopReplica + Probably doesn't need localization. :) + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + &Cancel + & marks the ALT+[] shortcut + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + + \ No newline at end of file diff --git a/OnTopReplica/Strings.pt.resx b/OnTopReplica/Strings.pt.resx new file mode 100644 index 0000000..018dc88 --- /dev/null +++ b/OnTopReplica/Strings.pt.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + Check now! + + + OnTopReplica automatically checks for updates at every start up. + + + Version {0} + + + + Probably doesn't need localization. :) + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + &Cancel + & marks the ALT+[] shortcut + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + + \ No newline at end of file diff --git a/OnTopReplica/Strings.resx b/OnTopReplica/Strings.resx new file mode 100644 index 0000000..d778409 --- /dev/null +++ b/OnTopReplica/Strings.resx @@ -0,0 +1,673 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Created by: %. + Link % is replaced by string AboutAuthorContent. + + + Lorenz Cuno Klopfenstein + Must not be localized. Leave blank in non-default languages. + + + Abort update process. + + + Show details about OnTopReplica. + + + Reset all OnTopReplica settings. + + + Update OnTopReplica now. + + + Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex. + + + source code + + + OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Read the full credits + + + Contribute + + + Credits + + + License + + + Updates + + + The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI. + + + Microsoft Reciprocal (MS-RL) + Can be left blank. + + + A lightweight, real-time, always on top thumbnail of a window of your choice. + + + About OnTopReplica + + + Translators: {0} + {0} translators (do not end with period) + + + Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann. + Must not be localized. Leave blank in non-default languages. + + + Check now! + + + OnTopReplica automatically checks for updates at every start up. + + + Version {0} + + + OnTopReplica + Probably doesn't need localization. :) + + + Reset window completely? + + + &Reset +All settings will be lost. + + + Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary. + + + Reset + + + Reset settings? + + + This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost). + + + Reset settings + + + &Cancel + & marks the ALT+[] shortcut + + + Draw regions using mouse. + + + Details + + + Details on Windows Aero + + + Windows Aero is only available on Windows Vista Home Premium or higher. + + + 'Desktop Composition' is not enabled. + + + You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + +To do so, right-click on the desktop and click on Personalize. + + + Error details + + + Error: + + + It appears that the selected window has been closed or is not valid anymore. + + + Error + + + Desktop Composition' is not supported on your Operating System. +You must run this application on Windows Vista Home Premium or better. + + + Desktop Composition unsupported + + + No thumbnail loaded. + + + Unable to create thumbnail + + + Unable to fit window. + + + Unable to check for updates. + + + It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>). + + + OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down. + + + Mode + + + Always on top + + + Forces OnTopReplica to stay always on top. + + + Click through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Standard + + + Behaves like an ordinary window. You can bring other windows above OnTopReplica. + + + OnTopReplica fullscreen + + + Disable + + + Enable Group mode + + + Select multiple windows to enable. + + + Group switch mode is enabled. + + + Group switch mode: + + + Windows + Column Header of list, simply refers to available windows to be cloned + + + Homepage: www.codeplex.com/ontopreplica. + + + Do you want to enable "click forwarding"? + + + If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + +To exit this mode, push ESC. + + + Click forwarding + + + Enable Click-Through mode? + + + Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent. + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + No, thank you. +You can enable click-through later + + + Use Click-Through + + + Click-Through mode + + + OnTopReplica has been updated. + + + In order to use the updated version of OnTopReplica you'll have to restart the application. + + + Update successful + + + OnTopReplica is up to date. + + + No update available + + + Language + + + About... + + + Hides the main window and displays the "about" box. + + + Advanced + + + Show window border + + + Toggles the display of the window border. + + + Enable Click forwarding + + + Enable "click forwarding" to the cloned window. + + + Enable Click-Through + + + OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below. + + + Close + + + Closes OnTopReplica. + + + 2:1 Double + + + Fullscreen + + + 1:2 Half + + + 1:1 Fit to window + + + 1:4 Quarter + + + Group Switch mode + + + OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground. + + + 100% (opaque) + + + Sets OnTopReplica to be completely opaque. + + + 25% + + + Sets OnTopReplica to 25% opacity. + + + 50% + + + Sets OnTopReplica to 50% opacity. + + + 75% + + + Sets OnTopReplica to 75% opacity. + + + Opacity + + + Open + + + Displays OnTopReplica. + + + Bottom Left + + + Bottom Right + + + Center + + + Disabled + + + Position lock + + + Automatically position OnTopReplica on the current screen. + + + Top Left + + + Top Right + + + Quit fullscreen mode + + + Recall last position and size + + + Toggles whether OnTopReplica should store its last position and size and use them when it is restarted. + + + Minimize + + + Minimizes OnTopReplica to the task bar (or the tray). + + + Select region... + + + Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail. + + + Reset window + + + Resets OnTopReplica settings and its main window. + + + Resize + + + Restore last cloned window + + + When enabled, OnTopReplica will attempt to restore the last cloned window on start up. + + + Settings... + + + Displays the settings panel. + + + Switch to window + + + Switches to the source window and hides OnTopReplica. + + + Select window + + + - none - + + + Displays a list of window you can select as thumbnail source. + + + - whole - + + + Current region: + + + Delete + + + Done + + + Height + + + Reset + + + Save + + + Stored regions + + + Regions: + + + Width + + + Right-click here to start... + + + Clone current window + + + These system-wide shortcuts can also be used when OnTopReplica is not in focus. + + + Show/Hide + + + Hot keys: + + + Language: + + + Requires a restart. + + + Settings + + + Cancel update +OnTopReplica will prompt you the next time it is started. + + + Download +Install OnTopReplica {0}. + + + The new version can be downloaded and installed from the official website. + + + Installed version: {0} +Available version: {1} + + + Version {0} available + + + {0}/{1} bytes downloaded. + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + Downloading... + + + The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + +You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Latest stable version released on {0}. + {0} last version release date + + + OnTopReplica is up to date + + + Install +OnTopReplica will be closed and the update installed. + + + OnTopReplica version {0} is ready to be installed on your computer. + + + Update ready + + + OnTopReplica updates + + + Bottom + + + Left + + + Right + + + Top + + + X + + + Y + + \ No newline at end of file diff --git a/OnTopReplica/Strings.ru.resx b/OnTopReplica/Strings.ru.resx new file mode 100644 index 0000000..bb3d36d --- /dev/null +++ b/OnTopReplica/Strings.ru.resx @@ -0,0 +1,647 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Автор: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Остановить обновление + + + О программе + + + Установить настройки по умолчанию + + + Обновить программу + + + Хотите поддержать проект? Примите участие в улучшении готовых переводов, создайте свой на вашем родном языке или помогите улучшить % на «CodePlex». + + + источниках кода + + + Программа основана на библиотеке «WindowsFormsAero» и некоторых других библиотеках и источниках кода. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Прочитайте полные сведения об источниках + + + Принять участие в разработке + + + Сведения об источниках + + + Соглашение + + + Обновление + + + Программа выпущена в соответствии с лицензией %, которая подходит под определение программы с открытым исходом кодом в представлении OSI. + + + + Can be left blank. + + + Просмотр части выбранного вами окна — просто и легко, в реальном времени, всегда поверх остальных окон. + + + О программе + + + Переводчики: {0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + Обновить сейчас + + + Программа автоматически проверяет наличие обновлений при запуске + + + Версия {0} + + + + Probably doesn't need localization. :) + + + Сбросить окно? + + + &Сброс +Все настройки будут удалены. + + + Можно использовать для сброса всех настроек, если Вы утратили контроль над окном либо поместили его за пределы экрана. + + + Сброс + + + Сбросить настройки? + + + по умолчанию (вся сохраненная после установки информация вроде сохраненных областей будет утрачена). + + + Сбросить настройки + + + &Отмена + & marks the ALT+[] shortcut + + + Выберите области мышью + + + Подробности + + + Подробности о «Windows Aero» + + + Функция «Windows Aero» доступна только на системах «Windows», начиная с «Vista Home Premium», кроме версий «Starter» и «Home Basic» (по умолчанию). + + + Композиция слоев рабочего стола недоступна. + + + Для включения правой кнопкой мыши по рабочему столу и выберите «Персонализацию». + + + Описание ошибки + + + Ошибка: + + + Вероятно, выбранное окно было закрыто или больше не отвечает. + + + Ошибка + + + Для запуска программы требуется «Windows Vista Home Premium» или другие версии «Windows» с поддержкой «Aero». + + + Композиция слоев рабочего стола не поддерживается. + + + Окно просмотра не загружено. + + + Невозможно создать окно просмотра. + + + Невозможно уместить в окне. + + + Невозможно проверить обновления. + + + Вероятно, программа была установлена с использованием функции «ClickOnce». Вам необходимо обновить ее самостоятельно. (Посетите <a href="http://ontopreplica.codeplex.com"> домашнюю страницу программы</a>). + + + Программе не удалось проверить доступность новой версии. Удостоверьтесь, что подключение к Интернету присутствует. Если присутствует, сайт может временно не работать. + + + Режим + + + Всегда поверх других окон + + + Всегда удерживать программу поверх других окон. + + + Пропускать щелчки мышью + + + Программа будет работать, как прозрачный слой, позволяющий щелкать мышью по нижележащим окнам. + + + Обычный + + + Программа будет работать, как обычное окно. Вы сможете помещать другие окна поверх окна программы. + + + Полноэкранный режим + + + Отключить + + + Включить групповой режим + + + Для включения выберите несколько окон. + + + Групповой режим включен. + + + Групповой режим: + + + Окна + Column Header of list, simply refers to available windows to be cloned + + + Домашняя страница: www.codeplex.com/ontopreplica. + + + Хотите включить передачу щелчков мышью главному окну? + + + Нажать Esc для выхода из этого режима. + There appears to be a missing part. + + + Передача щелчков мышью главному окну. + This appears to be wrong. + + + Включить режим сквозных щелчков мышью? + + + Режим сквозных щелчков мышью работает, только когда он включен в подменю «Изменить размер» и окно полупрозрачно. + + + Для возвращения в обычный режим в любое время, разверните программу щелчком по ней в панели задач (или лотке). + + + Нет, спасибо +Вы можете включить сквозные щелчки мышью в другой раз. + + + Использовать сквозные щелчки мышью + + + Режим сквозных щелчков мышью + + + Программа обновлена. + + + Для использования обновленной версии программы ее необходимо перезапустить. + + + Обновление успешно + + + Используется последняя версия программы. + + + Обновлений нет + + + Язык + + + О программе... + + + Сворачивает главное окно и показывает окно «О программе». + + + Дополнительно + + + Показывать границу окна + + + Изменяет видимость границы окна. + + + Включить передачу щелчков мышью главному окну + + + Включить передачу щелчков мышью скопированному окну. + + + Включить сквозные щелчки мышью + + + Программа будет работать, как прозрачный слой, позволяющий щелкать мышью по нижележащим окнам. + + + Закрыть + + + Закрыть программу. + + + 2:1 Двойной + + + Полноэкранный режим + + + 1:2 Половина + + + 1:1 По размерам окна + + + 1:4 Четверть + + + Групповой режим + + + Программа автоматически скопирует окно из группы, определенной пользователем, переключаясь на то, которое побывало на переднем плане первым из всех. + Fixed + + + 100% (непрозрачный) + + + Делает программу полностью непрозрачной. + + + 25% + + + Делает программу прозрачной на 25%. + + + 50% + + + Делает программу прозрачной на 50%. + + + 75% + + + Делает программу прозрачной на 75%. + + + Прозрачность + + + Открыть + + + Показывает программу. + + + Снизу слева + + + Снизу справа + + + В центре + + + Отключено + + + Закрепить положение + + + Автоматически разместить программу на текущем экране. + + + Сверху слева + + + Сверху справа + + + Выйти из полноэкранного режима + + + Использовать последнее положение и размер + + + Сохранение программой своего последнего положения и размера с их использованием при запуске. + + + Свернуть + + + Сворачивает программу в панель задач (или лоток). + + + Выбрать область... + + + Переключается в «режим области», позволяющий выбирать для показа ограниченную область исходного окна. + + + Сбросить окно + + + Сбрасывает настройки программы и ее главное окно. + + + Изменить размер + + + Восстанавливать последнее копированное окно + + + Если включено, программа попытается при запуске восстановить окно, скопированное последним. + + + Настройки... + + + Показывает панель настроек. + + + Переключиться на окно + + + Переключается на исходное окно и скрывает программу. + + + Выбрать окно + + + - пусто - + + + Показывает список окон, которые можно выбрать в качестве источников для копирования. + + + - полностью - + + + Выбранная область: + + + Удалить + + + Готово + + + Высота + + + Сбросить + + + Сохранить + + + Сохраненные области + + + Области: + + + Ширина + + + Для начала щелкните тут правой кнопкой мыши... + + + Скопировать текущее окно + + + Эти глобальные сочетания клавиш можно использовать также когда программа на заднем плане. + + + Показать/Скрыть + + + Сочетания клавиш: + + + Язык: + + + Требуется перезапуск. + + + Настройки + + + Отменить обновление +Программа уведомит Вас об обновлении при следующем запуске. + + + Скачать +Установить программу «OnTopReplica» {0}. + + + Новую версию можно скачать и установить с официального сайта. + + + Установленная версия: {0}. +Доступная версия: {0}. + + + Доступна версия {0} + + + Скачано {0} из {1} + {0} downloaded bytes {1} total bytes + + + Загрузка... + + + Установлена последняя версия программы «OnTopReplica». Программа автоматически проверяет обновления при каждом запуске. + +Вы можете следить за обновлениями программы, предлагать улучшения и новые функции на <a href="website">сайте программы </a>. + The website link should be enclosed in <a href="website"></a> tags. + + + Последняя стабильная версия выпущена {0}. + {0} last version release date + + + Вы пользуетесь последней версией программы + + + Установить +Программа будет закрыта для установки обновления. + + + «OnTopReplica» (версия {0}) готова к установке на вашем компьютере. + + + Обновление готово + + + Программа обновляется + + \ No newline at end of file diff --git a/OnTopReplica/Strings.tr.resx b/OnTopReplica/Strings.tr.resx new file mode 100644 index 0000000..aad4cfb --- /dev/null +++ b/OnTopReplica/Strings.tr.resx @@ -0,0 +1,652 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Yazar Hakkında: %. + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + Güncellemeyi iptal et. + + + OnTopRelica hakkında ayrıntıları görüntüle. + + + Bütün OnTopRelica ayarlarını sıfırla. + + + OnTopRelica'yı güncelle. + + + Programa katkıda bulunmak ister misiniz? Mevcut çevirileri geliştirmenizi memnuniyetle karşılarız, programı kendi dilinize çevirin veya %'e CodePlex'ten bir göz atın. + + + kaynak kod + + + OnTopReplica'nın temelinde WindowsFormsAero kütüphanesi ve bazı diğer kütüphaneler ile kaynak kodları vardır. %. + Link % is replaced by string AboutCreditsSourcesContent. + + + Tüm Yapımcıları Gör + + + Katkı + + + Yapımcılar + + + Lisans + + + Güncellemeler + + + Bu uygulama OSI tarafından belirtilmiş "açık-kaynak" tanımının koşullarını yerine getiren % lisansı tarafından lisanslanmıştır. + + + + Can be left blank. + + + Seçtiğiniz pencerenin hafif, gerçek zamanlı ve her zaman en üstteki küçük resmi. + + + OnTopReplica hakkında + + + Çevirmenler: {0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + Kontrol Et! + + + OnTopReplica her başlangıçta güncellemeleri otomatik olarak kontrol eder. + + + Versiyon {0} + + + OnTopReplica + Probably doesn't need localization. :) + + + Pencereyi tamamen yeniden ayarla? + + + &Reset +Bütün ayarlar kaybolacak. + + + Eğer pencere üzerindeki denetimizi kaybettiyseniz veya pencere ekran sınırları dışına çıktı ise kullanılabilir. + + + Sıfırla + + + Ayarları sıfırla? + + + Bu OnTopReplica'nın bütün ayarlarını silip, yüklemeden hemen sonraki haline geri döndürecektir (bütün kaydedilen bilgi, saklı bölgeler kaybolacaktır). + + + Ayarları sıfırla + + + &Vazgeç + & marks the ALT+[] shortcut + + + Farenizi kullarak bölgeler çizin. + + + Ayrıntılar + + + Windows Aero'da ki ayrıntılar + + + Windows Aero sadece Windows Vista Home Premium veya daha yüksek sürümlerde bulunmaktadır. + + + Masaüstü bileşimi aktif değil. + + + Windows tarafından kullanılan 'Windows Aero'yu tema olarak seçerek masaüstü bileşimini aktif etmelisiniz. + +Bunu yapmak için, masaüstüne sağ tıklayın ve Kişiselleştir'e tıklayın. + + + Hata detayları + + + Hata: + + + Seçtiğiniz pencere kapatılmış veya artık geçerli değil gibi görünüyor. + + + Hata + + + Masaüstü bileşimi İşletim Sisteminiz tarafından desteklenmiyor. +Bu programı Windows Vista Home Premium veya daha iyisinde çalıştırmalısınız. + + + Masaüstü Bileşimi Desteklenmiyor + + + Hiçbir küçükresim yüklenmedi. + + + Küçükresim yaratılamıyor + + + Pencereye oturtulamıyor. + + + Güncellemeler kontrol edilemiyor. + + + OnTopReplica 'ClickOnce' kullanılara yüklenmemiş gözüküyor. Elle güncellemeniz gerek (<a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>'i ziyaret edin). + + + OnTopReplica güncellenmiş bir versiyonun mevcut olup olmadığını denetleyemiyor. İnternete bağlı olduğunuzdan emin olun. Eğer bağlı iseniz websitesi geçici olarak servis dışı olabilir. + + + Mod + + + Her zaman üstte + + + OnTopReplica'nın her zaman en üstte kalması için zorlar. + + + Tıkla + + + OnTopReplica arkadaki pencerelere direkt tıklamanıza izin veren transparan bir kaplama gibi davranır. + + + Standart + + + Normal bir pencere gibi davranır. Diğer pencereleri OnTopReplica'nın üstüne getirebilirsiniz. + + + OnTopReplica tam ekran + + + Etkisizleştir + + + Grup modu etkinleştir + + + Etkinleştirilecek çoklu pencereleri seçiniz. + + + Grup değiştirme modu etkin. + + + Grup değiştirme modu: + + + Pencereler + Column Header of list, simply refers to available windows to be cloned + + + Anasayfa: www.codeplex.com/ontopreplica. + + + "tıkla yönlendir"'i etkinleştirmek ister misiniz? + Should be capitalized? + + + Eğer bu mod etkinleştirilmiş ise, OnTopReplica bütün sol fare tıklamalarını klonlanmış pencereye iletecektir(bu size klonlanmış pencere üzerinde onu aktifleştirmeden temel fare işlemlerinizi yapabilmenize izin verir). + +Bu moddan çıkmak için, ESC'ye basınız. + + + Tıkla yönlendir + + + Direkt-Tıkla modunu etkinleştir? + + + Direk-tıkla sadece Yeniden boyutlandır altmenüsünde etkinleştirildiyse ve pencere yarı-transparan ise çalışır. + + + Bu modda tamekran pencere kısmen transparan kaplama gibi davranır, arkasındaki pencerelere tıklamanıza izin verir. + +Herhangi bir zamanda normal moda dönmek için, OnTopReplica görev çubuğuna (veya sistem simgesine) tıklayarak aktifleştirin. + + + Hayır, teşekkür ederim +direkt-tıklayı daha sonra etkinleştirebilirsiniz. + Second sentence capitalized? + + + Direkt-Tıkla kullan + + + Direkt-Tıkla modu + + + OnTopReplica güncellendi. + + + OnTopReplica'nın güncellenmiş versiyonunu kullanmak için uygulamayı yeniden başlatmalısınız. + + + Güncelleme başarılı + + + OnTopReplica güncel. + + + Güncelleme mevcut değil + + + Dil + + + Hakkında... + + + Ana pencereyi gizler ve "hakkında" kutusunu gösterir. + + + Gelişmiş + + + Pencere kenarlığı göster + + + Pencere kenarlığı gösterimini değiştirir. + + + Tıkla yönlendir'i etkinleştir + + + Klonlanmış pencerede "tıkla yönlendir"'i etkinleştir. + + + Direkt-Tıkla'yı etkinleştir + + + OnTopReplica arkadaki pencerelere direkt tıklamanıza izin veren transparan bir kaplama gibi davranır. + + + Kapat + + + OnTopReplica'yı kapatır. + + + 2:1 Çift + + + Tamekran + + + 1:2 Yarım + + + 1:1 pencereye sığdır + + + 1:4 Çeyrek + + + Grup Değiştirme modu + + + OnTopReplica kullanıcı tanımlı gruptan bir pencereyi kopyalayıp, arkaplanda en son aktifleştirilen biri ile değiştirecektir. + + + 100% (opak) + + + OnTopReplica'yı tamamen opak olarak ayarlar. + + + 25% + + + OnTopReplica'yı 25% opaklığına ayarlar. + + + 50% + + + OnTopReplica'yı 50% opaklığına ayarlar. + + + 75% + + + OnTopReplica'yı 75% opaklığına ayarlar. + + + Opaklık + + + + + + OnTopReplica'yı görüntüler. + + + Sol Alt + + + Sağ Alt + + + Merkez + + + Devredışı + + + Konum kilidi + + + OnTopReplica'yı otomatik olarak şu anki ekrana konumlandırır. + + + Sol Üst + + + Sağ Üst + + + Tamekran modundan çık + + + Son pozisyona dön ve boyutlandır + + + OnTopReplica'nın son konumunu kaydedip kaydetmeyeceğini değiştirir ve boyutlandırıp bunu yeniden başladığında kullanır. + + + Küçült + + + OnTopReplica'yı görev çubuğuna (veya sistem kısayollarına) küçültür. + + + Bölge seçiniz... + + + "bölge modu"na geçer, bu size kaynak penceresinin küçük resminin kısıtlı bir bölgesini seçmenize izin verir. + + + Pencereyi sıfırla + + + OnTopReplica'nın ayarlarını ve ana penceresini sıfırlar. + + + Yeniden boyutlandır + + + Son klonlanan pencereyi geri yükle + + + Etkinleştirildiği zaman, OnTopReplica son klonlanan pencereyi başlangıçta yeniden yüklemeye çalışır. + + + Ayarlar... + + + Ayarlar panelini görüntüler. + + + Pencereye geç + + + Kaynak pencereye geçer ve OnTopReplica'yı gizler. + + + Pencere seç + + + - yok - + + + Küçük resim kaynağı halinde seçebileceğiniz pencere listesini görüntüler. + + + - tamamen - + + + Şu anki bölge: + + + Sil + + + Tamamlandı + + + Yükseklik + + + Sıfırla + + + Kaydet + + + Kayıtlı bölgeler + + + Bölgeler: + + + Genişlik + + + Başlamak için buraya sağ tıklayın... + + + Şu anki pencereyi klonla + + + Bu sistem genelinde kısayollar ayrıca OnTopReplica üstte olmadığı zaman kullanılabilir. + + + Göster/Gizle + + + Kısayollar: + + + Dil: + + + Yeniden başlatma gerektirir. + + + Ayarlar + + + Güncellemeden vazgeç +OnTopReplica sizi yeniden başlatıldığında uyaracaktır. + + + İndir +OnTopReplica {0} Yükle. + + + Yeni versiyon resmi siteden indirilebilir ve yüklenebilir. + + + Yüklü versiyon: {0}. +Kullanılabilir versiyon: {1}. + + + Versiyon {0} mevcut + + + {0}/{1} byte indirildi. + + + İndiriliyor... + + + OnTopReplica'nın en son sürümü zaten yüklenmiş. Program her başlangıçta güncellemeleri otomatik olarak denetler. + +OnTopReplica'nın geliştirilmesi, yeni özellik ve geliştirme önerileri hakkında by <a href="website">resmi internet sitesini ziyaret ederek</a> güncel kalabilirsiniz. + The website link should be enclosed in <a href="website"></a> tags. + + + En son kararlı versiyon {0} tarihinde yayınlandı. + {0} last version release date + + + OnTopReplica güncel + + + Yükle +OnTopReplica kapatılınca güncelleme yüklenmiş olacaktır. + + + OnTopReplica versiyon {0} bilgisayarınızda yüklenmeye hazır. + + + Güncelleme hazır + + + OnTopReplica güncellemeleri + + \ No newline at end of file diff --git a/OnTopReplica/Strings.zh-Hans.resx b/OnTopReplica/Strings.zh-Hans.resx new file mode 100644 index 0000000..b68ff04 --- /dev/null +++ b/OnTopReplica/Strings.zh-Hans.resx @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 作者 % + Link % is replaced by string AboutAuthorContent. + + + + Must not be localized. Leave blank in non-default languages. + + + 终止更新过程 + + + 展开关于OnTopReplica的详细内容 + + + 重置OnTopReplica的所有设定 + + + 现在更新OnTopReplica + + + 想为本项目出一份力吗?欢迎你参与到翻译工作中来,抑或检视从CodePlex处取得的 % + + + 源代码 + + + OnTopReplica基于WindowsFormsAero库和其他库及代码。% + Link % is replaced by string AboutCreditsSourcesContent. + + + 了解全部 + + + 贡献 + + + 制作 + + + 授权 + + + 更新 + + + 应用程序根据%许可获得授权,即指遵循OSI界定的“开源”条款 + + + 微软互惠授权(MS-RL) + Can be left blank. + + + 一个轻量级、实时、窗口缩略图置顶工具 + + + 关于OnTopReplica + + + 译者:{0} + {0} translators (do not end with period) + + + + Must not be localized. Leave blank in non-default languages. + + + 检查更新! + + + OnTopReplica自动在每次开启时检查更新 + + + 版本{0} + + + + Probably doesn't need localization. :) + + + 完全重置窗口吗? + + + &重置 +所有设定均会丢失 + + + 可以在没辙的时候用来重置所有设定 + + + 重置 + + + 重置设定吗? + + + 这将清除所有OnTopReplica的设定,并回到刚安装完的状态(所有保存的信息、保存的选区,均会丢失) + + + 重置设定 + + + &取消 + & marks the ALT+[] shortcut + + + 使用鼠标划出区域 + + + 详细信息 + + + Windows Aero的详细信息 + + + 为什么Windows Aero特效只在Windows Vista Home Premium或更高级版本中出现 + + + 未启用桌面组合 + + + 程序需要系统的Aero主题配合 + +桌面右击,个性化,选择主题 + + + 详细错误 + + + 错误: + + + 选中的窗口似乎已经关闭或已失效 + + + 错误 + + + 您的操作系统不支持桌面组合 +请在Windows Vista Home Premium或更高版本中运行 + + + 不支持桌面组合 + + + 无缩略图可加载 + + + 无法创建缩略图 + + + 无法适应窗口 + + + 无法检查更新 + + + OnTopReplica不是用“ClickOnce”方式安装的。您不得不手动更新了(访问 <a href="http://ontopreplica.codeplex.com">OnTopReplica的主页</a>) + + + OnTopReplica无法检测更新,请确保已连接到互联网。当然,也有可能是网站暂时关闭 + + + 模式 + + + 总是置顶 + + + 强制OnTopReplica置顶 + + + 点击穿过 + + + OnTopReplica会像一个透明的覆盖层并允许您点击其后面的窗口 + + + 标准模式 + + + 变回普通窗口,OnTopReplica会被其他窗口阻挡 + + + OnTopReplica全屏幕 + + + 取消 + + + 激活组模式 + + + 选择多个窗口以启用 + + + 自切换组模式已激活 + + + 自切换组模式: + + + 窗口 + Column Header of list, simply refers to available windows to be cloned + + + 主页:www.codeplex.com/ontopreplica + + + 您想启用“点击转发”吗? + + + 如果启用此模式,OnTopReplica会将所有鼠标点击转发到被克隆的窗口上(这将允许您绕过窗口激活直接对被克隆的窗口做一些基本的鼠标操作) + +想退出此模式,按ESC + + + 点击转发 + + + 启用点击穿过模式吗? + + + 点击穿过功能仅在缩放启用或窗口半透明的状态下方能工作 + + + In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + +To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon). + + + 不了,谢谢 +等下再启用点击穿过 + + + 使用点击穿过 + + + 点击穿过模式 + + + OnTopReplica已更新 + + + 为能使用新版OnTopReplica,您必须重新启动本程序 + + + 更新成功 + + + OnTopReplica是最新的 + + + 没有可用的更新 + + + 语言 + + + 关于... + + + 隐藏著窗口,并显示“关于”对话框 + + + 高级 + + + 显示窗口边框 + + + 切换显示窗口边框 + + + 启用点击转发 + + + 对被克隆的窗口启用“点击转发” + + + 启用点击穿过 + + + OnTopReplica会像一个透明的覆盖层并允许您点击其后面的窗口 + + + 退出 + + + 关闭OnTopReplica + + + 200% + + + 全屏 + + + 50% + + + 100% + + + 25% + + + 自切换组模式 + + + OnTopReplica会自动定位到自切换组中最不活跃的那个程序,并克隆其窗口 + + + 100% + + + 把OnTopReplica设为完全不透明状态 + + + 25% + + + 把OnTopReplica的不透明度设为25% + + + 50% + + + 把OnTopReplica的不透明度设为50% + + + 75% + + + 把OnTopReplica的不透明度设为75% + + + 不透明度 + + + 打开 + + + 显示OnTopReplica + + + 左下 + + + 右下 + + + 中央 + + + 取消 + + + 锁定位置 + + + 自动在当前屏幕定位OnTopReplica + + + 左上 + + + 右上 + + + 退出全屏模式 + + + 记忆窗口大小和位置 + + + 选择是否记忆窗口大小和位置,并在下次运行时恢复 + + + 最小化 + + + 最小化到任务栏上 + + + 选择区域... + + + 截取部分窗口内容 + + + 重置窗口 + + + 重置OnTopReplica的设定及其主窗口 + + + 缩放 + + + 恢复上次克隆的窗口 + + + 激活此项,程序开启时将尝试恢复最后克隆的窗口 + + + 设置... + + + 显示设置面板 + + + 切换到窗口 + + + 切换到源窗口并隐藏OnTopReplica + + + 选取窗口 + + + - 无 - + + + 显示窗口列表以选择缩略图来源 + + + - 全部 - + + + 当前选区: + + + 删除 + + + 完成 + + + 高度 + + + 重来 + + + 保存 + + + 保存选区 + + + 选区: + + + 宽度 + + + 点击右键以开始... + + + 克隆当前窗口 + + + 全局快捷键,前后台运行均会响应 + + + 显示/隐藏 + + + 快捷键: + + + 语言: + + + 需要重启本程序 + + + 设置 + + + 取消更新 +OnTopReplica会在下次开启的时候提示更新 + + + 下载 +安装OnTopReplica{0} + + + 可以从官网上下载和安装程序的最新版 + + + 安装的版本:{0} +可用的版本:{1} + + + 版本{0}可用 + + + 下载了{0}/{1}字节 + {0} downloaded bytes {1} total bytes +{0} bytes geladen von {1} bytes gesamt +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes +{0} downloaded bytes {1} total bytes + + + 下载中... + + + 已安装最新版的OnTopReplica,程序每次开启都会自动检查更新。 + +你可以<a href="website">访问官网</a>来了解OnTopReplica的最新进展并提出自己的建议 + The website link should be enclosed in <a href="website"></a> tags. + + + 最新稳定版于{0}释出 + {0} last version release date + + + OnTopReplica是最新的 + + + 安装 +OnTopReplica将被关闭以安装更新 + + + 版本{0}的OnTopReplica已经准备在你电脑上安装 + + + 准备更新 + + + OnTopReplica更新 + + \ No newline at end of file diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs new file mode 100644 index 0000000..bd0b81d --- /dev/null +++ b/OnTopReplica/ThumbnailPanel.cs @@ -0,0 +1,484 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using WindowsFormsAero.Dwm; +using WindowsFormsAero.ThemeText; +using System.Drawing; +using System.Windows.Forms.VisualStyles; +using OnTopReplica.Native; + +namespace OnTopReplica { + + class ThumbnailPanel : Panel { + + //DWM Thumbnail stuff + Thumbnail _thumbnail = null; + + //Labels + ThemedLabel _labelGlass; + + public ThumbnailPanel() { + InitFormComponents(); + } + + private void InitFormComponents() { + BackColor = Color.Black; + + //Themed Label + _labelGlass = new ThemedLabel { + Dock = DockStyle.Fill, + ForeColor = SystemColors.ControlText, + Location = Point.Empty, + Size = ClientSize, + Name = "labelGlass", + Text = Strings.RightClick, + TextAlign = HorizontalAlignment.Center, + TextAlignVertical = VerticalAlignment.Center + }; + this.Controls.Add(_labelGlass); + } + + #region Properties and settings + + ThumbnailRegion _currentRegion; + + /// + /// Gets or sets the region that is currently shown on the thumbnail. When set, also enables region constrain. + /// + public ThumbnailRegion SelectedRegion { + get { + return _currentRegion; + } + set { + _currentRegion = value; + _regionEnabled = (value != null); + UpdateThubmnail(); + } + } + + bool _regionEnabled = false; + + /// + /// Gets or sets whether the thumbnail is constrained to a region or not. + /// + public bool ConstrainToRegion { + get { + return _regionEnabled; + } + set { + if (_regionEnabled != value) { + _regionEnabled = value; + UpdateThubmnail(); + } + } + } + + bool _drawMouseRegions = false; + + /// + /// Gets or sets whether the control is is "region drawing" mode and reports them via events. + /// + public bool DrawMouseRegions { + get { + return _drawMouseRegions; + } + set { + //Set mode and reset region + _drawMouseRegions = value; + _drawingRegion = false; + + //Cursor change + Cursor = (value) ? Cursors.Cross : Cursors.Default; + + //Refresh gui + UpdateThubmnail(); + _labelGlass.Visible = !value; + this.Invalidate(); + } + } + + /// + /// Gets the target opacity of the thumbnail, depending on the control's state. + /// + protected byte ThumbnailOpacity { + get { + return (_drawMouseRegions) ? (byte)130 : (byte)255; + } + } + + /// + /// Gets or sets whether the control should report clicks made on the cloned thumbnail. + /// + public bool ReportThumbnailClicks { + get; + set; + } + + /// + /// Gets the thumbnail's size (in effectively thumbnailed pixels). + /// + /// + /// This size varies if the thumbnail has been cropped to a region. + /// + public Size ThumbnailPixelSize { + get { + if (_thumbnail != null && !_thumbnail.IsInvalid) { + if (_regionEnabled) { + return _currentRegion.ComputeRegionSize(_thumbnail.SourceSize); + } + else { + //Thumbnail is not cropped, return full thumbnail source size + return _thumbnail.SourceSize; + } + } + else { +#if DEBUG + throw new InvalidOperationException(Strings.ErrorNoThumbnail); +#else + return Size.Empty; +#endif + } + } + } + + /// + /// Gets the thumbnailed window's original size. + /// + /// + /// This size is not influenced by the region cropping applied to the thumbnail. + /// + public Size ThumbnailOriginalSize { + get { + if (_thumbnail != null && !_thumbnail.IsInvalid) { + return _thumbnail.SourceSize; + } + else { +#if DEBUG + throw new InvalidOperationException(Strings.ErrorNoThumbnail); +#else + return Size.Empty; +#endif + } + } + } + + #endregion + + #region GUI event handling + + protected override void OnResize(EventArgs eventargs) { + base.OnResize(eventargs); + UpdateThubmnail(); + } + + protected override void WndProc(ref Message m) { + base.WndProc(ref m); + + //Check whether this is a hit-test on "client" surface + if (m.Msg == WM.NCHITTEST && m.Result.ToInt32() == HT.CLIENT) { + //Check whether clicks must be reported + if(!DrawMouseRegions && !ReportThumbnailClicks /*&& !InputMethods.IsKeyPressed(VirtualKeyState.VK_SHIFT)*/){ + m.Result = new IntPtr(HT.TRANSPARENT); + } + } + } + + #endregion + + #region Thumbnail interface + + /// + /// Creates a new thumbnail of a certain window. + /// + /// Handle of the window to clone. + /// Optional region. + public void SetThumbnailHandle(WindowHandle handle, ThumbnailRegion region) { + System.Diagnostics.Trace.WriteLine(string.Format("Setting thumbnail to handle {0}, with region {1}.", handle, region), "ThumbnailPanel"); + + if (_thumbnail != null && !_thumbnail.IsInvalid) { + _thumbnail.Close(); + _thumbnail = null; + } + + //Get form and register thumbnail on it + Form owner = this.TopLevelControl as Form; + if(owner == null) + throw new Exception("Internal error: ThumbnailPanel.TopLevelControl is not a Form."); + + _labelGlass.Visible = false; + + //Register new thumbnail, disable regioning directly and refresh + _thumbnail = DwmManager.Register(owner, handle.Handle); + _currentRegion = region; + _regionEnabled = (region != null); + UpdateThubmnail(); + } + + /// + /// Disposes current thumbnail and enters stand-by mode. + /// + public void UnsetThumbnail() { + System.Diagnostics.Trace.WriteLine("Unsetting thumbnail."); + + if (_thumbnail != null && !_thumbnail.IsInvalid) { + _thumbnail.Close(); + } + + _thumbnail = null; + _labelGlass.Visible = true; + } + + /// + /// Gets whether the control is currently displaying a thumbnail. + /// + public bool IsShowingThumbnail { + get { + return (_thumbnail != null && !_thumbnail.IsInvalid); + } + } + + int _padWidth = 0; + int _padHeight = 0; + Size _thumbnailSize; + + /// + /// Updates the thumbnail options and the right-click label. + /// + private void UpdateThubmnail() { + if (_thumbnail != null && !_thumbnail.IsInvalid){ + try { + //Get thumbnail size and attempt to fit to control, with padding + Size sourceSize = ThumbnailPixelSize; + _thumbnailSize = sourceSize.Fit(Size); + _padWidth = (Size.Width - _thumbnailSize.Width) / 2; + _padHeight = (Size.Height - _thumbnailSize.Height) / 2; + + System.Diagnostics.Debug.WriteLine("Fitting {0} inside {1} as {2}. Padding {3},{4}.", sourceSize, Size, _thumbnailSize, _padWidth, _padHeight); + + var target = new Rectangle(_padWidth, _padHeight, _thumbnailSize.Width, _thumbnailSize.Height); + Rectangle source = (_regionEnabled) ? _currentRegion.ComputeRegionRectangle(_thumbnail.SourceSize) : new Rectangle(Point.Empty, _thumbnail.SourceSize); + + _thumbnail.Update(target, source, ThumbnailOpacity, true, true); + } + catch { + //Any error updating the thumbnail forces to unset (handle may not be valid anymore) + UnsetThumbnail(); + return; + } + } + } + + #endregion + + #region Region drawing + + const int MinimumRegionSize = 1; + + //Set if currently drawing a window (first click/drag was initiated) + bool _drawingRegion = false; + //Set if drawing was suspended because the mouse left the control + bool _drawingSuspended = false; + Point _regionStartPoint; + Point _regionLastPoint; + + public delegate void RegionDrawnHandler(object sender, ThumbnailRegion region); + + public event RegionDrawnHandler RegionDrawn; + + protected virtual void OnRegionDrawn(Rectangle region) { + //Fix region if necessary (bug report by Gunter, via comment) + if (region.Width < MinimumRegionSize) + region.Width = MinimumRegionSize; + if (region.Height < MinimumRegionSize) + region.Height = MinimumRegionSize; + + var evt = RegionDrawn; + if (evt != null) + evt(this, new ThumbnailRegion(region)); + } + + /// + /// Raises a RegionDrawn event, given a starting and an ending point of the drawn region. + /// + protected void RaiseRegionDrawn(Point start, Point end) { + if (_thumbnailSize.Width < 1 || _thumbnailSize.Height < 1) //causes DivBy0 + return; + + //Compute bounds and clip to boundaries + int left = Math.Min(start.X, end.X); + int right = Math.Max(start.X, end.X); + int top = Math.Min(start.Y, end.Y); + int bottom = Math.Max(start.Y, end.Y); + + //Clip to boundaries + left = Math.Max(0, left); + right = Math.Min(_thumbnailSize.Width, right); + top = Math.Max(0, top); + bottom = Math.Min(_thumbnailSize.Height, bottom); + + //Compute region rectangle in thumbnail coordinates + var startPoint = ClientToThumbnail(new Point(left, top)); + var endPoint = ClientToThumbnail(new Point(right, bottom)); + var final = new Rectangle( + startPoint.X, + startPoint.Y, + endPoint.X - startPoint.X, + endPoint.Y - startPoint.Y + ); + + System.Diagnostics.Trace.WriteLine(string.Format("Drawn from {0} to {1}, as region {2}.", start, end, final)); + + //Signal + OnRegionDrawn(final); + } + + protected override void OnMouseDown(MouseEventArgs e) { + if (DrawMouseRegions && e.Button == MouseButtons.Left) { + //Start new region drawing + _drawingRegion = true; + _drawingSuspended = false; + _regionStartPoint = _regionLastPoint = e.Location; + + this.Invalidate(); + } + + base.OnMouseDown(e); + } + + protected override void OnMouseUp(MouseEventArgs e) { + if (DrawMouseRegions && e.Button == MouseButtons.Left) { + //Region completed + _drawingRegion = false; + _drawingSuspended = false; + RaiseRegionDrawn(_regionStartPoint, _regionLastPoint); + + this.Invalidate(); + } + + base.OnMouseUp(e); + } + + protected override void OnMouseLeave(EventArgs e) { + _drawingSuspended = true; + + this.Invalidate(); + + base.OnMouseLeave(e); + } + + protected override void OnMouseEnter(EventArgs e) { + _drawingSuspended = false; + + this.Invalidate(); + + base.OnMouseEnter(e); + } + + protected override void OnMouseMove(MouseEventArgs e) { + if (_drawingRegion && e.Button == MouseButtons.Left) { + //Continue drawing + _regionLastPoint = e.Location; + + this.Invalidate(); + } + else if(DrawMouseRegions && !_drawingRegion){ + //Keep track of region start point + _regionLastPoint = e.Location; + + this.Invalidate(); + } + + base.OnMouseMove(e); + } + + readonly static Pen RedPen = new Pen(Color.FromArgb(255, Color.Red), 1.5f); //TODO: check width + + protected override void OnPaint(PaintEventArgs e) { + if (_drawingRegion) { + //Is currently drawing, show rectangle + int left = Math.Min(_regionStartPoint.X, _regionLastPoint.X); + int right = Math.Max(_regionStartPoint.X, _regionLastPoint.X); + int top = Math.Min(_regionStartPoint.Y, _regionLastPoint.Y); + int bottom = Math.Max(_regionStartPoint.Y, _regionLastPoint.Y); + + e.Graphics.DrawRectangle(RedPen, left, top, right - left, bottom - top); + } + else if (DrawMouseRegions && ! _drawingSuspended) { + //Show cursor coordinates + e.Graphics.DrawLine(RedPen, new Point(0, _regionLastPoint.Y), new Point(ClientSize.Width, _regionLastPoint.Y)); + e.Graphics.DrawLine(RedPen, new Point(_regionLastPoint.X, 0), new Point(_regionLastPoint.X, ClientSize.Height)); + } + + base.OnPaint(e); + } + + #endregion + + #region Thumbnail clone click + + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); + + if (_thumbnail == null) + return; + + //Raise clicking event to allow click forwarding + if (ReportThumbnailClicks) { + OnCloneClick(ClientToThumbnail(e.Location), e.Button, false); + } + } + + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); + + if (_thumbnail == null) + return; + + //Raise double clicking event to allow click forwarding + if (ReportThumbnailClicks) { + OnCloneClick(ClientToThumbnail(e.Location), e.Button, true); + } + } + + /// + /// Is raised when the thumbnail clone is clicked. + /// + public event EventHandler CloneClick; + + protected virtual void OnCloneClick(Point location, MouseButtons buttons, bool doubleClick){ + var evt = CloneClick; + if(evt != null) + evt(this, new CloneClickEventArgs(location, buttons, doubleClick)); + } + + #endregion + + /// + /// Convert a point in client coordinates to a point expressed in terms of a cloned thumbnail window. + /// + /// Point in client coordinates. + protected Point ClientToThumbnail(Point position) { + //Compensate padding + position.X -= _padWidth; + position.Y -= _padHeight; + + //Determine position in fractional terms (on the size of the thumbnail control) + PointF proportionalPosition = new PointF( + (float)position.X / _thumbnailSize.Width, + (float)position.Y / _thumbnailSize.Height + ); + + //Get real pixel region info + Size source = ThumbnailPixelSize; + Point offset = (_regionEnabled) ? SelectedRegion.Offset : Point.Empty; + + return new Point( + (int)((proportionalPosition.X * source.Width) + offset.X), + (int)((proportionalPosition.Y * source.Height) + offset.Y) + ); + } + + } + +} diff --git a/OnTopReplica/ThumbnailRegion.cs b/OnTopReplica/ThumbnailRegion.cs new file mode 100644 index 0000000..20cfcf9 --- /dev/null +++ b/OnTopReplica/ThumbnailRegion.cs @@ -0,0 +1,222 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + + /// + /// Represents a thumbnail region. + /// + /// + /// A ThumbnailRegion can work in absolute or in relative mode. + /// In absolute mode, the region is expressed in absolute pixel values, as expressed by the value of the + /// property. + /// In relative mode, the region is expressed in padding pixels from the borders of the source. Internally this + /// is still represented by the property. Properties of the Rectangle value are mapped as follows: + /// Rectangle.X = Padding.Left + /// Rectangle.Y = Padding.Top + /// Rectangle.Width = Padding.Right + /// Rectangle.Height = Padding.Bottom + /// + public class ThumbnailRegion { + + /// + /// Creates a ThumbnailRegion from a padding value relative to the thumbnail borders. + /// + public ThumbnailRegion(Padding padding) { + _bounds = new Rectangle { + X = padding.Left, + Y = padding.Top, + Width = padding.Right, + Height = padding.Bottom + }; + Relative = true; + } + + /// + /// Creates a ThumbnailRegion from a bounds rectangle (in absolute terms). + /// + public ThumbnailRegion(Rectangle rectangle) { + _bounds = rectangle; + Relative = false; + } + + /// + /// Creates a ThumbnailRegion from a rectangle, either expressing values in relative or in absolute terms. + /// + public ThumbnailRegion(Rectangle paddingOrBounds, bool relative) { + _bounds = paddingOrBounds; + Relative = relative; + } + + private Rectangle _bounds; + + /// + /// Gets or sets the bounds of the thumbnail region. + /// + public Rectangle Bounds { + get { +#if DEBUG + if (Relative) + throw new InvalidOperationException("Not allowed to use ThumbnailRegion Bounds as Rectangle value (in relative mode)."); +#endif + + return _bounds; + } + set { + _bounds = value; + Relative = false; + } + } + + /// + /// Gets or sets whether the bounds are expressed relative to the thumbnail borders. + /// + public bool Relative { + get; + set; + } + + /// + /// Sets the relative bounds of the region. Switches to relative mode. + /// + /// Padding in relative terms from the borders. + public void SetRelativeBounds(Padding padding) { + Bounds = new Rectangle { + X = padding.Left, + Y = padding.Top, + Width = padding.Right, + Height = padding.Bottom + }; + Relative = true; + } + + /// + /// Gets the bounds of the thumbnail region as relative padding from the thumbnail borders. + /// + /// Makes sense only in relative mode. + public Padding BoundsAsPadding { + get { +#if DEBUG + if (!Relative) + throw new InvalidOperationException("Not allowed to use ThumbnailRegion Bounds as Padding value (not in relative mode)."); +#endif + + return new Padding { + Left = _bounds.X, + Top = _bounds.Y, + Right = _bounds.Width, + Bottom = _bounds.Height + }; + } + } + + /// + /// Gets the offset of the region. + /// + /// + /// The offset is expressed as a point of displacement from the up-right corner (0,0) of the original source. + /// + public Point Offset { + get { + //This is equal in both absolute and relative mode + return _bounds.Location; + } + } + + const int MinimumRegionSize = 8; + + /// + /// Computes the effective region representing the bounds inside a source thumbnail of a certain size. + /// + /// Size of the full thumbnail source. + /// Bounds inside the thumbnail. + protected Rectangle ComputeRegion(Size sourceSize) { + Rectangle ret; + + //Compute + if (Relative) { + ret = new Rectangle { + X = _bounds.X, + Y = _bounds.Y, + Width = sourceSize.Width - _bounds.X - _bounds.Width, + Height = sourceSize.Height - _bounds.Y - _bounds.Height + }; + } + else { + ret = _bounds; + } + + //Constrain to bounds + if (ret.X + ret.Width > sourceSize.Width) + ret.Width = sourceSize.Width - ret.X; + if (ret.Y + ret.Height > sourceSize.Height) + ret.Height = sourceSize.Height - ret.Y; + + return ret; + } + + /// + /// Computes a rectangle representing the bounds of the region inside a source thumbnail of a certain size. + /// + /// Size of the full thumbnail source. + /// Bounds inside the thumbnail. + public Rectangle ComputeRegionRectangle(Size sourceSize) { + return ComputeRegion(sourceSize); + } + + /// + /// Computes a value representing the size of the region inside a source thumbnail of a certain size. + /// + /// Size of the full thumbnail source. + /// Size of the bounds inside the thumbnail. + public Size ComputeRegionSize(Size sourceSize) { + return ComputeRegion(sourceSize).Size; + } + + /// + /// Switches the region to relative mode, according to a source thumbnail of a given size. + /// + /// Size of the full thumbnail source. + public void SwitchToRelative(Size sourceSize) { + if (Relative) + return; + + var relativeBounds = new Padding { + Left = _bounds.X, + Top = _bounds.Y, + Right = sourceSize.Width - (_bounds.X + _bounds.Width), + Bottom = sourceSize.Height - (_bounds.Y + _bounds.Height) + }; + + this.SetRelativeBounds(relativeBounds); + } + + /// + /// Switches the region to absolute mode, according to a source thumbnail of a given size. + /// + /// Size of the full thumbnail source. + public void SwitchToAbsolute(Size sourceSize) { + if (!Relative) + return; + + var absoluteBounds = new Rectangle { + X = _bounds.X, + Y = _bounds.Y, + Width = (sourceSize.Width - _bounds.Width) - _bounds.X, + Height = (sourceSize.Height - _bounds.Height) - _bounds.Y + }; + + Bounds = absoluteBounds; + } + + public override string ToString() { + return string.Format("({0}, {1})", _bounds, (Relative) ? "relative" : "absolute"); + } + + } + +} diff --git a/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs b/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs new file mode 100644 index 0000000..6482835 --- /dev/null +++ b/OnTopReplica/Update/UpdateCheckCompletedEventArgs.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace OnTopReplica.Update { + class UpdateCheckCompletedEventArgs : EventArgs { + + public UpdateInformation Information { get; set; } + + public bool Success { get; set; } + + public Exception Error { get; set; } + + } +} diff --git a/OnTopReplica/Update/UpdateInformation.cs b/OnTopReplica/Update/UpdateInformation.cs new file mode 100644 index 0000000..662c8c4 --- /dev/null +++ b/OnTopReplica/Update/UpdateInformation.cs @@ -0,0 +1,101 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml.Serialization; +using System.IO; +using System.Xml; +using System.Reflection; + +namespace OnTopReplica.Update { + + /// + /// Contains information about the latest OnTopReplica update available. + /// + public class UpdateInformation { + + Version _latestVersion; + + /// + /// Gets the latest available version of the software. + /// + [XmlIgnore] + public Version LatestVersion { + get { + return _latestVersion; + } + set { + _latestVersion = value; + } + } + + [XmlElement("latestVersion")] + public string LatestVersionInternal { + get { + return _latestVersion.ToString(); + } + set { + _latestVersion = new Version(value); + } + } + + /// + /// Returns whether this update information instance represents data about + /// a new available version. + /// + public bool IsNewVersion { + get { + var currentVersion = CurrentVersion; + + return (LatestVersion > currentVersion); + } + } + + /// + /// Gets the currently installed version. + /// + public Version CurrentVersion { + get { + return Assembly.GetExecutingAssembly().GetName().Version; + } + } + + /// + /// Indicates when the latest version was released. + /// + [XmlElement("latestVersionRelease")] + public DateTime LatestVersionRelease { get; set; } + + /// + /// Gets the URL of the page that allows the user to download the updated installer. + /// + [XmlElement("downloadPage")] + public string DownloadPage { get; set; } + + /// + /// Gets the URL of the installer executable. + /// + /// New after version 3.3.1. + [XmlElement("downloadInstaller")] + public string DownloadInstaller { get; set; } + + /// + /// Deserializes an UpdateInformation object from a stream. + /// + public static UpdateInformation Deserialize(Stream source) { + var serializer = new XmlSerializer(typeof(UpdateInformation)); + var info = serializer.Deserialize(source) as UpdateInformation; + return info; + } + + public static string Serialize(UpdateInformation information) { + var serializer = new XmlSerializer(typeof(UpdateInformation)); + var sb = new StringBuilder(); + using(var writer = new StringWriter(sb)){ + serializer.Serialize(writer, information); + } + return sb.ToString(); + } + + } + +} diff --git a/OnTopReplica/Update/UpdateManager.cs b/OnTopReplica/Update/UpdateManager.cs new file mode 100644 index 0000000..826481a --- /dev/null +++ b/OnTopReplica/Update/UpdateManager.cs @@ -0,0 +1,278 @@ +using System; +using System.Diagnostics; +using System.IO; +using System.Net; +using System.Net.Cache; +using System.Windows.Forms; +using WindowsFormsAero.TaskDialog; + +namespace OnTopReplica.Update { + + /// + /// Handles update checking and information display. + /// + class UpdateManager { + + /// + /// Constructs a new update manager with an attached form. + /// + /// Form through which all GUI calls are made. Closing this form should terminate the application. + public UpdateManager(Form attachedForm) { + if (attachedForm == null) + throw new ArgumentNullException(); + + AttachedForm = attachedForm; + } + + /// + /// Gets or sets the attached form (through which all GUI calls are made). + /// + protected Form AttachedForm { get; private set; } + + #region Checking + + const string UpdateManifestUrl = "http://www.klopfenstein.net/public/Uploads/ontopreplica/update.xml"; + + /// + /// Gets the latest update information available. + /// + public UpdateInformation LastInformation { get; private set; } + + HttpWebRequest _checkRequest; + + /// + /// Checks for update asynchronously, updating update information. + /// When check is completed, raises update events. + /// + public void CheckForUpdate() { + if (_checkRequest != null) { + _checkRequest.Abort(); + } + + //Build web request + _checkRequest = (HttpWebRequest)HttpWebRequest.Create(UpdateManifestUrl); + _checkRequest.AllowAutoRedirect = true; + _checkRequest.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; + _checkRequest.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache); + + _checkRequest.BeginGetResponse(CheckForUpdateCallback, null); + } + + /// + /// Asynchronous callback that handles the update check request. + /// + private void CheckForUpdateCallback(IAsyncResult result) { + if (_checkRequest == null) + return; + + try { + var response = _checkRequest.EndGetResponse(result); + LastInformation = UpdateInformation.Deserialize(response.GetResponseStream()); + + OnUpdateCheckSuccess(LastInformation); + } + catch (Exception ex) { + OnUpdateCheckError(ex); + } + + _checkRequest = null; + } + + #endregion + + #region Eventing + + public event EventHandler UpdateCheckCompleted; + + protected virtual void OnUpdateCheckError(Exception ex) { + var evt = UpdateCheckCompleted; + if (evt != null) { + evt(this, new UpdateCheckCompletedEventArgs { + Success = false, + Error = ex + }); + } + } + + protected virtual void OnUpdateCheckSuccess(UpdateInformation information) { + var evt = UpdateCheckCompleted; + if (evt != null) { + evt(this, new UpdateCheckCompletedEventArgs { + Success = true, + Information = information + }); + } + } + + #endregion + + #region Updating + + HttpWebRequest _downloadRequest; + TaskDialog _updateDialog; + bool _updateDownloaded = false; + + /// + /// Asks confirmation for an update and installs the update. + /// + public void ConfirmAndInstall() { + if (LastInformation == null || !LastInformation.IsNewVersion) + return; + + AttachedForm.SafeInvoke(new Action(ConfirmAndInstallCore)); + } + + /// + /// Core delegate that asks for update confirmation and installs. Must be called from GUI thread. + /// + private void ConfirmAndInstallCore() { + _updateDialog = new TaskDialog { + Title = Strings.UpdateTitle, + Instruction = string.Format(Strings.UpdateAvailableInstruction, LastInformation.LatestVersion), + Content = Strings.UpdateAvailableContent, + CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, string.Format(Strings.UpdateAvailableCommandOk, LastInformation.LatestVersion)), + new CustomButton(Result.Cancel, Strings.UpdateAvailableCommandCancel) + }, + UseCommandLinks = true, + CommonIcon = TaskDialogIcon.Information, + ExpandedInformation = string.Format(Strings.UpdateAvailableExpanded, LastInformation.CurrentVersion, LastInformation.LatestVersion), + }; + _updateDialog.ButtonClick += delegate(object sender, ClickEventArgs args) { + if (args.ButtonID == (int)Result.OK) { + args.PreventClosing = true; + + if (_updateDownloaded) { + //Terminate application + AttachedForm.Close(); + + //Launch updater + Process.Start(UpdateInstallerPath); + } + else { + var downDlg = new TaskDialog { + Title = Strings.UpdateTitle, + Instruction = Strings.UpdateDownloadingInstruction, + ShowProgressBar = true, + ProgressBarMinRange = 0, + ProgressBarMaxRange = 100, + ProgressBarPosition = 0, + CommonButtons = TaskDialogButton.Cancel + }; + _updateDialog.Navigate(downDlg); + + _downloadRequest = (HttpWebRequest)HttpWebRequest.Create(LastInformation.DownloadInstaller); + _downloadRequest.BeginGetResponse(DownloadAsyncCallback, null); + } + } + }; + + _updateDialog.Show(AttachedForm); + } + + /// + /// Gets the target filename used when downloading the update from the Internet. + /// + private string UpdateInstallerPath { + get { + var downloadPath = Native.FilesystemMethods.DownloadsPath; + + string versionName = (LastInformation != null) ? + LastInformation.LatestVersion.ToString() : string.Empty; + string filename = string.Format("OnTopReplica-Update-{0}.exe", versionName); + + return Path.Combine(downloadPath, filename); + } + } + + /// + /// Handles background downloading. + /// + private void DownloadAsyncCallback(IAsyncResult result) { + if (_downloadRequest == null || _updateDialog == null) + return; + + try { + var response = _downloadRequest.EndGetResponse(result); + var responseStream = response.GetResponseStream(); + long total = response.ContentLength; + + byte[] buffer = new byte[1024]; + + using (var stream = new FileStream(UpdateInstallerPath, FileMode.Create)) { + int readTotal = 0; + while (true) { + int read = responseStream.Read(buffer, 0, buffer.Length); + readTotal += read; + + if (read <= 0) //EOF + break; + + stream.Write(buffer, 0, read); + + _updateDialog.Content = string.Format(Strings.UpdateDownloadingContent, readTotal, total); + _updateDialog.ProgressBarPosition = (int)((readTotal * 100.0) / total); + } + } + } + catch (Exception ex) { + DownloadShowError(ex.Message); + return; + } + + _updateDownloaded = true; + + var okDlg = new TaskDialog { + Title = Strings.UpdateTitle, + Instruction = Strings.UpdateReadyInstruction, + Content = string.Format(Strings.UpdateReadyContent, LastInformation.LatestVersion), + UseCommandLinks = true, + CommonButtons = TaskDialogButton.Cancel, + CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, Strings.UpdateReadyCommandOk) + } + }; + _updateDialog.Navigate(okDlg); + } + + private void DownloadShowError(string msg) { + if (_updateDialog == null) + return; + + _updateDialog.ProgressBarState = WindowsFormsAero.ProgressBar.States.Error; + _updateDialog.Content = msg; + } + + /// + /// Displays some information about the current installation and available updates. + /// + public void DisplayInfo() { + AttachedForm.SafeInvoke(new Action(DisplayInfoCore)); + } + + /// + /// Displays info. Called from GUI thread. + /// + private void DisplayInfoCore() { + //No updates, but need to inform the user + var dlg = new TaskDialog { + Title = Strings.UpdateTitle, + Instruction = Strings.UpdateInfoInstruction, + Content = Strings.UpdateInfoContent, + EnableHyperlinks = true, + CommonButtons = TaskDialogButton.Close, + AllowDialogCancellation = true, + CommonIcon = TaskDialogIcon.Information, + Footer = string.Format(Strings.UpdateInfoFooter, LastInformation.LatestVersionRelease.ToLongDateString()) + }; + dlg.HyperlinkClick += delegate(object sender, HyperlinkEventArgs args) { + Process.Start("http://ontopreplica.codeplex.com"); + }; + dlg.Show(AttachedForm); + } + + #endregion + + } + +} diff --git a/OnTopReplica/Win32Helper.cs b/OnTopReplica/Win32Helper.cs new file mode 100644 index 0000000..618c69e --- /dev/null +++ b/OnTopReplica/Win32Helper.cs @@ -0,0 +1,126 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; +using System.Drawing; +using System.Windows.Forms; + +namespace OnTopReplica { + public static class Win32Helper { + + #region Injection + + /// Inject a fake left mouse click on a target window, on a location expressed in client coordinates. + /// Target window to click on. + /// Location of the mouse click expressed in client coordiantes of the target window. + /// True if a double click should be injected. + public static void InjectFakeMouseClick(IntPtr window, CloneClickEventArgs clickArgs) { + NPoint clientClickLocation = NPoint.FromPoint(clickArgs.ClientClickLocation); + NPoint scrClickLocation = WindowManagerMethods.ClientToScreen(window, clientClickLocation); + + //HACK (?) + //If target window has a Menu (which appears on the thumbnail) move the clicked location down + //in order to adjust (the menu isn't part of the window's client rect). + IntPtr hMenu = WindowMethods.GetMenu(window); + if (hMenu != IntPtr.Zero) + scrClickLocation.Y -= SystemInformation.MenuHeight; + + IntPtr hChild = GetRealChildControlFromPoint(window, scrClickLocation); + NPoint clntClickLocation = WindowManagerMethods.ScreenToClient(hChild, scrClickLocation); + + if (clickArgs.Buttons == MouseButtons.Left) { + if(clickArgs.IsDoubleClick) + InjectDoubleLeftMouseClick(hChild, clntClickLocation); + else + InjectLeftMouseClick(hChild, clntClickLocation); + } + else if (clickArgs.Buttons == MouseButtons.Right) { + if(clickArgs.IsDoubleClick) + InjectDoubleRightMouseClick(hChild, clntClickLocation); + else + InjectRightMouseClick(hChild, clntClickLocation); + } + } + + private static void InjectLeftMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.LBUTTONDOWN, new IntPtr(MK.LBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.LBUTTONUP, new IntPtr(MK.LBUTTON), lParamClickLocation); + +#if DEBUG + System.Diagnostics.Debug.WriteLine("Left click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectRightMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.RBUTTONDOWN, new IntPtr(MK.RBUTTON), lParamClickLocation); + MessagingMethods.PostMessage(child, WM.RBUTTONUP, new IntPtr(MK.RBUTTON), lParamClickLocation); + +#if DEBUG + System.Diagnostics.Debug.WriteLine("Right click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectDoubleLeftMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.LBUTTONDBLCLK, new IntPtr(MK.LBUTTON), lParamClickLocation); + +#if DEBUG + System.Diagnostics.Debug.WriteLine("Double left click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + private static void InjectDoubleRightMouseClick(IntPtr child, NPoint clientLocation) { + IntPtr lParamClickLocation = MessagingMethods.MakeLParam(clientLocation.X, clientLocation.Y); + + MessagingMethods.PostMessage(child, WM.RBUTTONDBLCLK, new IntPtr(MK.RBUTTON), lParamClickLocation); + +#if DEBUG + System.Diagnostics.Debug.WriteLine("Double right click on window #" + child.ToString() + " at " + clientLocation.ToString()); +#endif + } + + #endregion + + /// Returns the child control of a window corresponding to a screen location. + /// Parent window to explore. + /// Child control location in screen coordinates. + private static IntPtr GetRealChildControlFromPoint(IntPtr parent, NPoint scrClickLocation) { + IntPtr curr = parent, child = IntPtr.Zero; + do { + child = WindowManagerMethods.RealChildWindowFromPoint(curr, + WindowManagerMethods.ScreenToClient(curr, scrClickLocation)); + + if (child == IntPtr.Zero || child == curr) + break; + + //Update for next loop + curr = child; + } + while (true); + + //Safety check, shouldn't happen + if (curr == IntPtr.Zero) + curr = parent; + + return curr; + } + + /// + /// Gets a handle to the window that currently is in the foreground. + /// + /// May return null if call fails or no valid window selected. + public static WindowHandle GetCurrentForegroundWindow() { + IntPtr handle = WindowManagerMethods.GetForegroundWindow(); + if (handle == IntPtr.Zero) + return null; + + return new WindowHandle(handle); + } + + } +} diff --git a/OnTopReplica/WindowHandle.cs b/OnTopReplica/WindowHandle.cs new file mode 100644 index 0000000..e2d4851 --- /dev/null +++ b/OnTopReplica/WindowHandle.cs @@ -0,0 +1,141 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Drawing; +using OnTopReplica.Native; + +namespace OnTopReplica { + + /// + /// Helper class that keeps a window handle (HWND), + /// the title of the window and can load its icon. + /// + public class WindowHandle : System.Windows.Forms.IWin32Window { + + IntPtr _handle; + string _title; + + /// + /// Creates a new WindowHandle instance. The handle pointer must be valid, the title + /// may be null or empty and will be updated as requested. + /// + public WindowHandle(IntPtr p, string title) { + _handle = p; + _title = title; + } + + /// + /// Creates a new WindowHandle instance. Additional features of the handle will be queried as needed. + /// + /// + public WindowHandle(IntPtr p) { + _handle = p; + _title = null; + } + + public string Title { + get { + if (_title == null) { + _title = WindowMethods.GetWindowText(_handle) ?? string.Empty; + } + + return _title; + } + } + + Icon _icon = null; + bool _iconFetched = false; + public Icon Icon { + get { + if (!_iconFetched) { + //Fetch icon from window + IntPtr hIcon; + + if (MessagingMethods.SendMessageTimeout(_handle, WM.GETICON, new IntPtr(2), new IntPtr(0), + MessagingMethods.SendMessageTimeoutFlags.AbortIfHung | MessagingMethods.SendMessageTimeoutFlags.Block, 500, out hIcon) == IntPtr.Zero) { + hIcon = IntPtr.Zero; + } + + if (hIcon != IntPtr.Zero) { + _icon = Icon.FromHandle(hIcon); + } + else { + //Fetch icon from window class + hIcon = (IntPtr)WindowMethods.GetClassLong(_handle, WindowMethods.ClassLong.IconSmall); + + if (hIcon.ToInt64() != 0) { + _icon = Icon.FromHandle(hIcon); + } + } + } + + _iconFetched = true; + + return _icon; + } + } + + string _class = null; + + /// + /// Gets the window's class name. + /// + /// + /// This value is cached and is never null. + /// + public string Class { + get { + if (_class == null) { + _class = Native.WindowMethods.GetWindowClass(Handle) ?? string.Empty; + } + return _class; + } + } + + #region Object override + + public override string ToString() { + if (string.IsNullOrWhiteSpace(_title)) { + return string.Format("#{0}", _handle.ToInt64()); + } + else { + return string.Format("#{0} ({1})", _handle.ToInt64(), _title); + } + } + + public override bool Equals(object obj) { + if (ReferenceEquals(obj, this)) + return true; + + System.Windows.Forms.IWin32Window win = obj as System.Windows.Forms.IWin32Window; + + if (win == null) + return false; + + return (win.Handle == _handle); + } + + public override int GetHashCode() { + return _handle.GetHashCode(); + } + + #endregion + + #region IWin32Window Members + + public IntPtr Handle { + get { return _handle; } + } + + #endregion + + /// + /// Creates a new windowHandle instance from a given IntPtr handle. + /// + /// Handle value. + public static WindowHandle FromHandle(IntPtr handle) { + return new WindowHandle(handle, null); + } + + } +} diff --git a/OnTopReplica/WindowListMenuManager.cs b/OnTopReplica/WindowListMenuManager.cs new file mode 100644 index 0000000..a79fa74 --- /dev/null +++ b/OnTopReplica/WindowListMenuManager.cs @@ -0,0 +1,202 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.WindowSeekers; +using OnTopReplica.Properties; + +namespace OnTopReplica { + /// + /// Manages the window list displayed when allowing the user to select a window to clone. + /// + class WindowListMenuManager { + + const int MaxWindowTitleLength = 55; + + readonly MainForm _owner; + readonly ContextMenuStrip _windowsMenu; + + public WindowListMenuManager(MainForm owner, ContextMenuStrip windowsMenu) { + _owner = owner; + _windowsMenu = windowsMenu; + + WindowSeeker = new TaskWindowSeeker() { + OwnerHandle = owner.Handle, + SkipNotVisibleWindows = true + }; + + //Bind events + windowsMenu.Opening += new System.ComponentModel.CancelEventHandler(WindowsMenu_opening); + } + + void WindowsMenu_opening(object sender, System.ComponentModel.CancelEventArgs e) { + WindowSeeker.Refresh(); + PopulateMenu(_owner.CurrentThumbnailWindowHandle); + } + + /// + /// Populates the menu with windows from the window seeker instance. + /// + /// Handle of the currently selected window or null if none selected. + private void PopulateMenu(WindowHandle currentSelection) { + var regions = GetStoredRegions(); + + _windowsMenu.Items.Clear(); + + //"None" selection + var nullTsi = new ToolStripMenuItem(Strings.MenuWindowsNone); + nullTsi.Tag = null; + nullTsi.Click += MenuWindowClickHandler; + nullTsi.Checked = (currentSelection == null); + _windowsMenu.Items.Add(nullTsi); + + //Add an item for each window + foreach (WindowHandle h in WindowSeeker.Windows) { + var tsi = new ToolStripMenuItem(); + + //Window title + if (h.Title.Length > MaxWindowTitleLength) { + tsi.Text = h.Title.Substring(0, MaxWindowTitleLength) + "..."; + tsi.ToolTipText = h.Title; + } + else + tsi.Text = h.Title; + + //Icon + if (h.Icon != null) { + try { + tsi.Image = h.Icon.ToBitmap(); + } + catch (Exception) { + tsi.Image = null; + } + } + + //Check if this is the currently displayed window + tsi.Checked = h.Equals(currentSelection); + + //Click handler + tsi.Tag = h; + tsi.Click += MenuWindowClickHandler; + + PopulateRegionsDropdown(tsi, h, regions); + + _windowsMenu.Items.Add(tsi); + } + } + + private void PopulateRegionsDropdown(ToolStripMenuItem parent, WindowHandle parentHandle, StoredRegion[] regions) { + parent.DropDownItems.Clear(); + + //No region + var nullRegionItem = new ToolStripMenuItem(Strings.MenuWindowsWholeRegion); + nullRegionItem.Tag = parentHandle; + nullRegionItem.Image = Resources.regions; + nullRegionItem.Click += MenuWindowClickHandler; + parent.DropDownItems.Add(nullRegionItem); + + //Video detector + /*var detectorItem = new ToolStripMenuItem("Autodetect plugin"); + detectorItem.Tag = parentHandle; + detectorItem.Click += MenuVideoCropperClickHandler; + parent.DropDownItems.Add(detectorItem);*/ + + //Regions (if any) + if (regions == null || regions.Length == 0) + return; + + parent.DropDownItems.Add(new ToolStripSeparator()); + + foreach (StoredRegion region in regions) { + var regionItem = new ToolStripMenuItem(region.Name); + regionItem.Tag = new Tuple(parentHandle, region); + regionItem.Click += MenuRegionWindowClickHandler; + + parent.DropDownItems.Add(regionItem); + } + } + + private void MenuWindowClickHandler(object sender, EventArgs args) { + CommonClickHandler(); + + var tsi = (ToolStripMenuItem)sender; + if (tsi.Tag == null) { + _owner.UnsetThumbnail(); + } + else { + var handle = (WindowHandle)tsi.Tag; + _owner.SetThumbnail(handle, null); + } + } + + private void MenuRegionWindowClickHandler(object sender, EventArgs args) { + CommonClickHandler(); + + var tsi = (ToolStripMenuItem)sender; + var tuple = (Tuple)tsi.Tag; + _owner.SetThumbnail(tuple.Item1, + (tuple.Item2 != null) ? (ThumbnailRegion)tuple.Item2.Region : null); + } + + /*PluginRegionLocator _pluginRegionLocator = null; + + private void MenuVideoCropperClickHandler(object sender, EventArgs args){ + CommonClickHandler(); + + var tsi = (ToolStripMenuItem)sender; + var handle = (WindowHandle)tsi.Tag; + + if (_pluginRegionLocator == null) + _pluginRegionLocator = new PluginRegionLocator(); + + var detectedRegion = _pluginRegionLocator.LocatePluginRegion(handle); + _owner.SetThumbnail(handle, detectedRegion); + }*/ + + private void CommonClickHandler() { + _windowsMenu.Close(); + foreach (ContextMenuStrip menu in _parentMenus) + menu.Close(); + } + + /// + /// Gets an array of stored regions. + /// + private StoredRegion[] GetStoredRegions() { + if (Settings.Default.SavedRegions == null || Settings.Default.SavedRegions.Count == 0) + return null; + + StoredRegion[] ret = new StoredRegion[Settings.Default.SavedRegions.Count]; + Settings.Default.SavedRegions.CopyTo(ret); + + Array.Sort(ret, (a, b) => { + return a.Name.CompareTo(b.Name); + }); + + return ret; + } + + /// + /// Gets or sets the window seeker instance used to list windows. + /// + public BaseWindowSeeker WindowSeeker { get; set; } + + ContextMenuStrip[] _parentMenus = new ContextMenuStrip[0]; + + /// + /// Gets the parent menus which are bound to the context menu handled by this manager. + /// + public ContextMenuStrip[] ParentMenus { + get { + return (ContextMenuStrip[])_parentMenus.Clone(); + } + set { + if(value == null) + _parentMenus = new ContextMenuStrip[0]; + else + _parentMenus = (ContextMenuStrip[])value.Clone(); + } + } + + } +} diff --git a/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs b/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs new file mode 100644 index 0000000..6a00ed5 --- /dev/null +++ b/OnTopReplica/WindowSeekers/BaseWindowSeeker.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + + /// + /// Base class for window seekers that can populate a list of window handles based on some criteria and with basic filtering. + /// + abstract class BaseWindowSeeker : IWindowSeeker { + + #region IWindowSeeker + + /// + /// Get the matching windows from the last refresh. + /// + public abstract IList Windows { + get; + } + + /// + /// Forces a window list refresh. + /// + public virtual void Refresh() { + WindowManagerMethods.EnumWindows(RefreshCallback, IntPtr.Zero); + } + + #endregion + + private bool RefreshCallback(IntPtr hwnd, IntPtr lParam) { + //Skip owner + if (hwnd == OwnerHandle) + return true; + + if (SkipNotVisibleWindows && !WindowManagerMethods.IsWindowVisible(hwnd)) + return true; + + //Extract basic properties + string title = WindowMethods.GetWindowText(hwnd); + var handle = new WindowHandle(hwnd, title); + + return InspectWindow(handle); + } + + /// + /// Inspects a window and return whether inspection should continue. + /// + /// Handle of the window. + /// True if inspection should continue. False stops current refresh operation. + protected abstract bool InspectWindow(WindowHandle handle); + + /// + /// Gets or sets the window handle of the owner. + /// + /// + /// Windows with this handle will be automatically skipped. + /// + public IntPtr OwnerHandle { get; set; } + + /// + /// Gets or sets whether not visible windows should be skipped. + /// + public bool SkipNotVisibleWindows { get; set; } + + } + +} diff --git a/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs b/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs new file mode 100644 index 0000000..e6e73dc --- /dev/null +++ b/OnTopReplica/WindowSeekers/ByClassWindowSeeker.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + /// + /// Seeks a single window by matching its window class. + /// + /// + /// Class matching is case-sensitive and prefers perfect matches, also accepting + /// partial matches (when the class matches the beginning of the target class name). + /// + class ByClassWindowSeeker : PointBasedWindowSeeker { + + public ByClassWindowSeeker(string className) { + if (className == null) + throw new ArgumentNullException(); + + ClassName = className; + } + + public string ClassName { get; private set; } + + protected override int EvaluatePoints(WindowHandle handle) { + if(string.IsNullOrEmpty(handle.Class)) + return -1; + + int points = 0; + + //Partial match + if (handle.Class.StartsWith(ClassName, StringComparison.InvariantCulture)) + points += 10; + + if (handle.Class.Equals(ClassName, StringComparison.InvariantCulture)) + points += 10; + + return points; + } + } +} diff --git a/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs b/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs new file mode 100644 index 0000000..c551392 --- /dev/null +++ b/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + /// + /// Seeks a single window by approximately matching its title. + /// + /// + /// Title search is case-insensitive and matches only the beginning of the windows' titles. + /// + class ByTitleWindowSeeker : PointBasedWindowSeeker { + + public ByTitleWindowSeeker(string titleSeekString) { + if (titleSeekString == null) + throw new ArgumentNullException(); + + TitleMatch = titleSeekString.Trim(); + } + + public string TitleMatch { get; private set; } + + protected override int EvaluatePoints(WindowHandle handle) { + //Skip empty titles + if (string.IsNullOrEmpty(handle.Title)) + return -1; + + //Skip non top-level windows + if (!WindowManagerMethods.IsTopLevel(handle.Handle)) + return -1; + + int points = 0; + + //Give points for partial match + if (handle.Title.StartsWith(TitleMatch, StringComparison.InvariantCultureIgnoreCase)) + points += 10; + + //Give points for exact match + if (handle.Title.Equals(TitleMatch, StringComparison.InvariantCultureIgnoreCase)) + points += 10; + + return points; + } + } +} diff --git a/OnTopReplica/WindowSeekers/IWindowSeeker.cs b/OnTopReplica/WindowSeekers/IWindowSeeker.cs new file mode 100644 index 0000000..42e4024 --- /dev/null +++ b/OnTopReplica/WindowSeekers/IWindowSeeker.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace OnTopReplica.WindowSeekers { + /// + /// Interface for window seekers. + /// + interface IWindowSeeker { + + /// + /// Get the list of matching windows, ordered by priority (optionally). + /// + IList Windows { get; } + + /// + /// Refreshes the list of windows. + /// + void Refresh(); + + } +} diff --git a/OnTopReplica/WindowSeekers/PointBasedWindowSeeker.cs b/OnTopReplica/WindowSeekers/PointBasedWindowSeeker.cs new file mode 100644 index 0000000..92241f7 --- /dev/null +++ b/OnTopReplica/WindowSeekers/PointBasedWindowSeeker.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace OnTopReplica.WindowSeekers { + /// + /// Window seeker that uses a point system to get a list of matching windows listed by optimality. + /// + abstract class PointBasedWindowSeeker : BaseWindowSeeker { + + IList _currentWindowList = new List(); + + public override IList Windows { + get { + return _currentWindowList; + } + } + + List> _sortingList = null; + + public override void Refresh() { + _sortingList = new List>(); + + base.Refresh(); + + //Sort and store + _currentWindowList = (from t in _sortingList + orderby t.Item1 descending + select t.Item2).ToList(); + + _sortingList = null; + } + + protected override bool InspectWindow(WindowHandle handle) { + int points = EvaluatePoints(handle); + if(points >= 0){ + _sortingList.Add(new Tuple(points, handle)); + } + + return true; + } + + /// + /// Evalutes the points for a window handle. + /// + /// Handle to the window. + /// + /// Number of points. Higher points identify better suited windows. + /// Windows with negative points are discarded altogether. + /// + protected abstract int EvaluatePoints(WindowHandle handle); + + } +} diff --git a/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs b/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs new file mode 100644 index 0000000..5c06e05 --- /dev/null +++ b/OnTopReplica/WindowSeekers/RestoreWindowSeeker.cs @@ -0,0 +1,61 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + + /// + /// Window seeker that attempts to locate a window to restore (by class, title and ID). + /// + class RestoreWindowSeeker : PointBasedWindowSeeker { + + public RestoreWindowSeeker(IntPtr handle, string title, string className){ + Handle = handle; + Title = title; + Class = className; + } + + public IntPtr Handle { get; private set; } + + public string Title { get; private set; } + + public string Class { get; private set; } + + protected override int EvaluatePoints(WindowHandle handle) { + if (!WindowManagerMethods.IsTopLevel(handle.Handle)) { + return -1; + } + + int points = 0; + + //Class exact match + if (!string.IsNullOrEmpty(Class)) { + string wndClass = handle.Class; + if (wndClass.StartsWith(Class, StringComparison.InvariantCulture)){ + points += 10; + } + } + + //Title match (may not be exact, but let's try) + if (!string.IsNullOrEmpty(Title) && !string.IsNullOrEmpty(handle.Title)) { + if (handle.Title.StartsWith(Title, StringComparison.InvariantCultureIgnoreCase)) { + points += 10; + } + if (handle.Title.Equals(Title, StringComparison.InvariantCultureIgnoreCase)) { + points += 5; + } + } + + //Handle match (will probably not work, but anyhow) + if (Handle != IntPtr.Zero) { + if (Handle == handle.Handle) { + points += 10; + } + } + + return points; + } + } + +} diff --git a/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs b/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs new file mode 100644 index 0000000..c074da9 --- /dev/null +++ b/OnTopReplica/WindowSeekers/TaskWindowSeeker.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; +using System.Text; +using OnTopReplica.Native; + +namespace OnTopReplica.WindowSeekers { + /// + /// Window seeker that attempts to mimic ALT+TAB behavior in filtering windows to show. + /// + class TaskWindowSeeker : BaseWindowSeeker { + + List _list = new List(); + + public override IList Windows { + get { + return _list; + } + } + + public override void Refresh() { + _list.Clear(); + + base.Refresh(); + } + + protected override bool InspectWindow(WindowHandle handle) { + //Code taken from: http://www.thescarms.com/VBasic/alttab.aspx + + //Reject empty titles + if (string.IsNullOrEmpty(handle.Title)) + return true; + + //Accept windows that + // - are visible + // - do not have a parent + // - have no owner and are not Tool windows OR + // - have an owner and are App windows + if ((long)WindowManagerMethods.GetParent(handle.Handle) == 0) { + bool hasOwner = (long)WindowManagerMethods.GetWindow(handle.Handle, WindowManagerMethods.GetWindowMode.GW_OWNER) != 0; + WindowMethods.WindowExStyles exStyle = (WindowMethods.WindowExStyles)WindowMethods.GetWindowLong(handle.Handle, WindowMethods.WindowLong.ExStyle); + + if (((exStyle & WindowMethods.WindowExStyles.ToolWindow) == 0 && !hasOwner) || //unowned non-tool window + ((exStyle & WindowMethods.WindowExStyles.AppWindow) == WindowMethods.WindowExStyles.AppWindow && hasOwner)) { //owned application window + + _list.Add(handle); + } + } + + return true; + } + } +} diff --git a/OnTopReplica/WindowsFormsExtensions.cs b/OnTopReplica/WindowsFormsExtensions.cs new file mode 100644 index 0000000..d664dc1 --- /dev/null +++ b/OnTopReplica/WindowsFormsExtensions.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + + /// + /// Extension methods for windows forms. + /// + static class WindowsFormsExtensions { + + /// + /// Internationalizes the text of a LinkLabel instance. + /// + /// Main text without link. Contains a '%' character which will be replaced by the link. + /// Linked text. + public static void Internationalize(this LinkLabel label, string text, string linkText) { + int linkIndex = text.IndexOf('%'); + if (linkIndex == -1) { + //Shouldn't happen, but try to fail with meaningful text + label.Text = text; + return; + } + + label.Text = text.Substring(0, linkIndex) + linkText + text.Substring(linkIndex + 1); + label.LinkArea = new LinkArea(linkIndex, linkText.Length); + } + + /// + /// Makes a safe GUI invoke on a form's GUI thread. + /// + /// The action to be executed on the GUI's thread. + /// + /// If the form is invalid or disposed, the action is not performed. + /// + public static void SafeInvoke(this Form form, Action action) { + if (form == null || form.IsDisposed) + return; + + if (form.InvokeRequired) { + form.Invoke(action); + } + else { + action(); + } + } + + } +} diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config new file mode 100644 index 0000000..d5be21d --- /dev/null +++ b/OnTopReplica/app.config @@ -0,0 +1,60 @@ + + + + +
    + + + + + + 255 + + + (Default) + + + True + + + True + + + True + + + True + + + False + + + False + + + 0, 0 + + + 0, 0 + + + False + + + + + + + + + 0 + + + [CTRL]+[SHIFT]+C + + + [CTRL]+[SHIFT]+O + + + + diff --git a/OriginalAssets/Logo.png b/OriginalAssets/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fd56566c12a0fde7aa080f73ddd305944fdcbdcf GIT binary patch literal 34066 zcmY)VV_+uF6E=*-wv$b=v9Yo3WMgk^+qSu}ZQIz`cWm>HZJwOxeSZJ*o-Z@=p{J+2 zy6UQ{FcAuJ5{Phka3CNch*FZGN+2L$!0+c27^v^7&k;q)_YK!sOv72(&eYk>z|jOm z$k@)%ghoV2eeJwkE1FC_WBV!FiG;ba;#KKj5+JQR zp^UMVQWe72-7^M{YlwOc844mBXEFfQ#hiH^gq3*@>IfU$>nQ+xR5mdyw zzm5(kw8UJd0kN8uuR*O7t;;m-k>rBTtYmf5Wo$Cs$-8HwT~tj?)l|)N>B8IC+0;aQ zn4Xl>4>SWI=rY8!H;Ywd;*G>BPywEW4GP1(&6#$Jwe} zqE>>xlbr?L()IMc`u}H*z_2^19roKUE(5r`gH>16o%cVYHRNu%;jPLPkR#2&!w<&) zw#!MGC2u+bp0%%HrkpI~^*wa0-vjAjDrx-}7Z)-Gf%boMl1tOU0O#{~|GCSTAPPK~ zj0@@Hf*h0AFr=*`3`(rB=A`|8?9fis-Rb&&>Y*N`;C(RObqR?I#knWqBWl<(!r zpA7ZS_1cyzEiZcSQ*rP2^28=%l+DNOM)Dp%|93n9SRkbdfXS+dT<~+=*K79YFseB6oL>b=T*eXR6Of9*D!O(U(DzL)zQyAdto9n|nA;yELZ>DK?Z zg@Qr+0Q=^@pdOG?>alS~!|!pgC#9#lSG})MemA{8KKF9JrhRXNwm&F)UlMC`J_hHB zgz|29OXLD2*`O&a5S%w15^S~30<>2LS6LH>w5&d4t#oLoHOvV3g6@FtHHRKv>;l}S zlt)v)zJvQt;oW0IzV`J5_{-?CviG$z)9>-~!|(pJNCQl=okD|%KUfOKixiX4V97DX9I=F;fYQlCVOJ?IQp{&|CyngWMG&$##8 z;=H4?R3w+WU1oG0#r1k=B%TejF%Qk$!92fB4zCQ-Jq5+wMbFM-&8h9Ul=D2S6@Sqx z2gUNq`HKDA``*h=I3aK|;`bQ$(cJs0{`JiGb;}rr@M`yRlAfyzayFwk+QjHrNa%B* z$4~SBx2gA*e;y!ClNp78cT9b*iQLaud7u4hzK=d+-*>mKPrFaq>3zbXX7*1#0o{aTKO!iHR4&yYH!IUIiaky4?^fnalqdXt{NvFvi z=_}8KhQ+~p-W1%Yup!yE7yVO4MAn|!`4Mu5-u=tx0UV@A)n6u}g*(m>Q3D1DVC@2i z)s59QAEedDgHAGED8*m>y`QxoS^{s4wLTXTdY^sU_l$470WQbHUZ2_}AjcA5z=7Kv zn*R(tjWIBJuPBB@n47ynU+qJ_=V{ApO5iiw@Ad~Ce!aWN@8THdW+uL%C)kA;p;?x@ z7uM^Ar1_jz&Y%Km>nx`dZcrug80pC6Aq1{lE}?d()pvuM^V)J&FY9bdfU|WD#0Kne zGLn`@V3vvF4fiLA16olf1n^~erCf{lOkt!IXN2M1ZvFPlW}bcDlvnLpVm{$=M8MMT zEQ-;0e|I44>!|iUL~rW``GdR88*=wYF|801X4COded&KzWY{Md-T_Z-#UBq#POtYg zKW(o3k^1)bcCr28_u2OqP<9f~RpIHPqpG@DS>daCk`wl@rpzPk33AWX;(vgx+%RPi zmq)m7DwQRH6$g7qG;N<|0?7a3bdpDa*+2-ZX;ig@YpkSxV|MAWaLR%>arpXh$lSV6`8;MwZM38Yh#1E&h9tV`yS@|%4Fa2 zp8i{JY}>f?82L@{#Xb2yPcex-zwzhxoQtag;kDZaIkQY1(qLU)$P!5`P)( z{FD5`FnEWsV6K1@x9r|7XDx4c-K>k&W}E*AP0$^gd}@{B<-ZGxYfiIUDRy;AkdGUi z9H^~de&4M8%;?J;{Hjs5?mF807&Z(B*g#3`kV4H|`3^g`EI;fST@dQOU^FdsXC~71;B;{R- zvZn>6#gEf|R%qNtP`at30o%bZ-ASlj10Oc;f~@Fi!|lrC5!YM|Ihe{kFGav0z_#RA(HcoK|8gb+diOsxha{bL zl^fS`h5{b+2QEc~2Gf^325(Jci>l^DLeiIUFDKnB;Z_kk5l(Vp&e2KdENcGzc9RJP z+^37=Mmo46)0Hp)O&ik{_J9>4*a%C^$ql1NZKtDLTh&18P@SybcsOlj@?))GaTME7 zUpOf(_KyN#_Q`hG^g=-zO0Kbg6KoXCJclWFdFkbSh3cL?>91n&jmYiT7&C!=BWHML zFbV|++a~xib=A!$ZXRbjrKG?`D+}1Y|*)bHbj&Z5fUN}LU$_@WAp}_IRjiuO6QvgHA)s| z)#U^OxjY-yXD!9nyk}Y=*JneDj03LtVIC?<;)o~`kBKquDep5Cyrkm@p-`SjHQDp1 z$!SNNrGBb+F`+U2pjgD8ao0Em^z_p&u+X|1JUiQZhIiC;*`05{PbZ^_ivI()y)1iv zSdDpdIBAC*)i8*T8g~ZFd_0;FHUC|KscTtSZMpKF6Q4?3?0*8>)Fh&i_2uT!_urH9 zHtpb=sBDBdIWj=dcR8PY$Ck0LC_`l2fHw}vz@|QFw1H1GnWJ=&C3|)}%50Od0euki zLsrJq9v5Ay)1Q@|zJC`7eJezJL2L5+@!1DjQiR5$?abek`y40;mrF(cY6U5!Vy!#p z;|cHXJSb{e$tSt27)T*F4NyucZQ-+0|AVzG(r=1vh1OKi6WE@Xfs{^ktk9k%QiLIt zkxxEBP>0SOAs(+1yxa+s%5X~(mCfe7flkgtcxjYv5t3PW2c{7EBw5LHm(}nt$GS&l zlpiWqeK^^E#LBtsLF3@>FnFp_R$e_di6`d7xaNWlMKd1hN@yrVSzUVjgvW&?1YVl} zO@<720J-!ltX`ZU=~+vZApACiZQx*?>-kU>X@p3G}3#-)TZh;{1|AO%b<$+qBZf zwS!{cFbBYbCIAs33ZAN9I{MR&(p$2R0H_e- z!tf3UN^WP*a*U)7vScBGP`Fjsu|SUMyU9wH3on`iXRvGw1%2F6ofi7o#x;GddabHN zUmbn5llTaz2KlB2`B*48xdX~{%@_@i3aVBhXaLsPP~C@`1;dKUuVQm{I$8loZrac( zDC&yL0Ax9itee_*j3Oq-N>#HL2QEN%7xBE1&n-QD{QnysHAXsqyTVf z6-0`&nm6Vkt4YMAYf^quiH_~8kO3)rg^+V1P@ICNE1J_eRfy0xa_Z=HnN6F0uZsUv zK~nX(|1q2blKGGB(a3&5T>mlS_Q+qSW06HmvDODMREPPqp|9YI2F*&$lf%^vQzwy% zh3W4}vVJ+|z*!=^yH%ELW6IYR+3|9nmC*P1J#u%03H{MXAt$Jv$JO_L@m!JyO_rNf zT;>85$Lf}n>`aClIvnC+`-Ok8v6pHK8w2^E(GuUSuIVC9>PddWjyB{EVNf0D`DGb< z2C*{OWs~%Tm`hca8Qf*)_=Zh)EBDB2q*d`s>uhP}%Se|qxwVjviX7HD1L)-6co4Wr zod6>p_+fAADiHzDnHZ@cyxG_J`Z?*x3-|gb%h2D6H2(MBY5GA?eM-i=iu8z~ z?2pF&%>XdQWocm#;TY5mgC&ZKxIHlWruR$fUKe)xl!#Oz|Hurd&&bxPFhi7nD^@%j0Mp z$xEe|Lk`NFYUxZmB}^rBYWk33q=c{h#GmAHriPfZn`~}0F4d!c?>*e~VRIovA)tz5 z{{Ms5Dy}0&7?%@q$Yke96rKiR=RFR>40K%N08`;5G=C*2reasvbMUIlYfelCZU90U zlwkcP6-pLMXDG?)Pyt_a5zw*;!Q7vza=Gyzc%ZAbpbUwp_=&B-p(R~g3QaU!xsjeO z8rh_rmw^Ks3z%1rHv*&>_FyK#RZ0m(`-I5Tp4(UCBu$tR&GL+z)5_3B6aHSn zA!0{&Ah^$Z&dS38(|T)IWcoo)$ZVwelIA>(2)Bjq2`CBJgF4S13NCpyI4oC#>Kv?7 zIrFR4EkF#|rfZ93D<+D$hmG-`ZFj93j3%v#iYF)u=`Mx2KimVV$gv{8tN^Od#RCvh zG5wl@Rykmd3|F_aXldwAoD|RKVacAi35TlsQ_8kS2U%W$NJmBu+j+m(~h=_qt zvG3%T%`U&l0{;B?>sz*8L)~6Y;yM{Wx56M+z6rR=d( z>&c19A-dw zwa2mKqp%3%po2$FE>e7H3in~?-Ek_n=n*|eri`dIRhN{=l{Wc>M(Gec3({Zf{I@~} z112k>va^l)zhy>>X7T#RRNEk63JK2oM_O9caEGQMid)1T_aG(tKg_jLB{@~7x9I98bgN#YKLOT5V(XVJWmxeZpcj{i#?DrZKT=PX(l#e@uM>AmFt^H>b7(a(@m%m zTmbPp2Cd^N80UX{8SCOb3Y=yHCDa8OhYjKY8%7W%FI2^#QZvI6)AyV`i-N}L-@G;$eF#65p6iR>%Ifpn8BkWEfP5Lv%L82}GNPfsKeEDgt||e5 zWaTIx5-i%G|G~KGfQNI3D|?`|Iq#r1uwa4o>6d!DNYuDbM*x9_zm6vNIYGX*i;hmi zVbG~7tW9;86DgiuHA}pl@N?{TJBBY9nN$>*tD%EXMqn(xbZP(ZZ107Axd^MMiQVkS zc`;2nJjr8cUg0O@LgLhdEGpHpOcE*7Qf11UXAFI0*N9zrwE{k2WY>XLCpKa$hxV@n z+){}bs{aM4RmgzGE;n^TFcO&)tgujPuD8rQ=l+xU^pr&?pB8ETjWNqgC=VtRH>tC1 zJe2gRP2SJ-6}6^$6d?gR^uE>5K)__6Lf3Ee^tF0nUFt_;^`*c{FQ(2-dhtWKVs_)6 zm`GbToqs8TGKnBx8bB4BHiJ1b?K5xVL~CLp0=Jy>#~?v(Kd@Lg-}dW~1l9*teCM57 zL}i{}8aBJIng0n9jW*Qj!kX1`jJHb%TC^~DAmlQcf%K4fo}f!hTWx3bu1GG6V%GRK zL}wLgc|xEp)aUR(v*JkOna7QVH5$hG&*YdHnFI{WXHtK=cB+LCxg4QWG;QPC0B}u` z)2jXQvr%vDr4N+|HGZ-O*p&wdyIY9O)tg0XEdV%jV#5hTkZuoQ_H$~<)F40_^~1}UC0zrOM`(;te_;_ZQMs{{bKol z>^bikQh&EDQJ_>{xc$K~8X%d?7=hx?Pb@Lc$$sCw;h;=LvJD}ohQoAIQlDNLu>6T{ znx^&Rn_Udln~ye23fmj(4GQ<-4%(y`%2XOsDq$B1-Fn*2P`}BI{By-O?f(o01&JXi z`g#x)vl_J~C4SPBO1C6iq)pFZd%upR%kSLVXzWv|Yxm)x z19*zUt$C#Ne}O8EU{v67UjF?)1OcHZzE|L3zS}X}R&6qw%dKp{bgI?pdO@cYwLQ)k znC7mwQ;-R#iA|GI9L$g_HBnuVD0NJCO5|T##p9k)Sz}Cr@u#3_2-VtibVw_+;ZkV) zJ6k8^TTu9;GpZ$MVMQ_nqr3x(1ON5K`cWBlTH=d3C9@1xa5@vzAxs&w(|gz?jILcS zCNXeF0(yObh|LcD70M5H3vw!?y^R-=Kw+7o&oATWsPJFoUu|Q)*9JCt&O=X*zJk4z z4)P4X+v5#ri8q7t)9?2lV;V_R4%J`+U+ZR*%KUfa3^ar=Y4Y&Ac2^VkDY=Bn1K%ln zoJ@2&)2ZPEwp*~S|J8Alw2L zV5iB8r`2k=!e!+O>LCOeH&3CQH0(`J(xRYgBy?=l+YePxy~kcSXzwik-YPJJRsewU zEaGBbpGno)l#5VZ#BY}ooAhYe>ar4}I}or*&6PABfX{zmx?v0fnF{HAca{`WiGG2N zfF1{F55s1SoHxoHT^|1#;C{^GP>;8iu-QPiDi&O9UoanQXc{>rkkwJ!sra$=IZ0Jt z>6C6bTPErw>PR5){LevQonrmzMI_t)i=?M%8~xX|Zhr&e=>2bo@Sn-&YYPE0mzW!u z-M33RWB;a~2H0}upBhJUNAoTn+L4kp<~-Q#4EMpgzQzS_GQx76AU6v{Tp3}j50YCp z++luVzl6gP(7^849JpfU#1Zb%G(t2%jK?xL!@uIC*C}y}GIZk_=AUFQHs`-J~N-t$SH2grG1l4C@ zeNQh)>{&PCm!GxzFW+F-_KxaH-hcM5RNYzO&))4IiB!==1gKF&CK3<;Nos%GQgJn^ zlwgxT&g~&UWTuwqT7?aKKiMn%HII zKvr02^_z-Y)dSU>zf6%^Du9ROva!!0m}bG? z6jbHaxC+$SH+5Xb_TFqA&!@HL2R#;gK@ntU-FC>M$dk7eKfKa@xzGSq1&aTHV-Avy zGK~^=1Yg#9jr!aHwI{&Lh2m_cF##CO6Q>rZ$F=A0bY$+xjIP^=a42K8G9CkT@L7Xh zZrQm@jVNb#0xl(uY>jScFheXu-Aj$4iq6v_2uMthbR@nuL0vHY^~5Ms4pIt7`%zn^ zOd5zOA@j2Pg10%GvzY2R)s>YC_U&GaFFqqQtFHP^{r32&y#mr36T}!5_e@7@ajQ}_ zez^i}Hr4ksMkX_ymR&Q4cuw9evP><4ZTYa&l(JS5at4MMUPOz@i}vJArO_MLsHtno z>}X>drQLjbU8wjDv4qHig?3mw*72zYn*ynA$^H%feYOm?!2ZB6g32V&`t9r!QA4Ac zcd^F^MrG4yDqCYy=p5#2KQlKtdQ(4>c1W4+hGVP&C}UZa2>UU5yTRGpuv!lfS%MEydk5MwDnKgxTzjjJpS^09faHuu&v6CGmY$)x{deswMFyU@N0=jl z6FOr2tkI=#|18?i+&xVG6E+<6>8Y4wj)3^7)P+WoultNBVbwFV$_gTQ*vqRwP^gKK zsWTRm1U&2(naoTcHAyG7yw&Pqh6`gr9>~IWTEKx)e~YBL@_63ci(-dzF5F6^@KXgj z1G4_(scUrUKSrJnV&}cV_tXrs#c7(* z!%kM6)iGgt&?F>MC8R+(h&kJ*6O9t}%_v64c5|Wok3jL@6)e zr0gVTd>UiLDFO=SUhjY+hI%gNFvY(bZA2~S2^>Y+-AX1XXoskv)e+uljHgXb z)xh>Q_$G>{sSeXt&HEdbg zO<^R%^soafwEkCOcw2J1jp1<}eu-W}0M3tdXqVtyIWXP)v{1HVA#gw5)*L9%ksSN< z?e-};A}NOg>c;a0hmTOFzCTL(8u-R#*yfx_n!A>jV(PXkN3o8#;bm5lWrlYYb6Fzs zNCr^&eh}q5gM-cc!{V{t=y!6Jg6v5Eg4XQdDv7gnv*FYIt!Vw&)w9;4;IsLiPo7^| z;_rlXOPB56$<}2`tojjJ2bO(mduH>TXOzeoU`+T+28t}2=B3Tn$<_X#`0Sw?a0G_o zU^RP%3Chupy}cJ--J8r!#dH}wE9l9=7^J#KxAP{d@0pHWJJPVB`G+bDbWn@q9R6q*E#=N$>@El6uyhx# zGEzssU3knsg_CwG8FVuU_sECrE|tnY2NZAJ_qRU@`xMh`zNiT^{Ic}pAEMQQ7OsB{ zAT?3^K&5}U7%Ywg&v_F5m_G&-=qd{RI3~pZoR!rvJ^wX2S`)VCLH&g&>&M(d(d$GR z6Px8cSOk!mV-0r(x@;f;6O7=U+GSqdC$o$Us2K8Ohce?a%Uu1_Z8QpO^5Hhc*DWBM z7%p4)R5%A?rSd1J;6v@p(3UGjPxp-%W>gE$sx;X72e!BxfdlG@SB)5cB!aaSzwXNE z-a1)8xOI)~l++b@*{^DG0o#nJmuODn&ydzvNf02uEqY;x_tNg2|2!ga_vzbXdz|_` zuxsk$#`8P4m^!P(Xvh?AcCE*?X>T~mV4?dw#~bnV4ItWE>vTnp>2B9nnxG3XVHp$q zSd#dlJY;N(amaA0_tc8V7p;ZDYuP|Ih}pQ{Ft~Qh37dC+m6S-Rd{-`XBYcYWnI+v9 zFxX>=@XwL{PO-VZVyvXbl$Hpu&Fm1f;xy2temL`Z(xg#vNWB@dNtVvgsmoPs(SEIE z954ut7u@=!B1y^NY_CL+^Qi4u`RoFZdF)*q<5UAZ!p$0DDOo1pKrueP6T7L@gaaqc zt)l`Dm={1QdUzyUs{qZ4Swm zEwn*L373PHrJT2M)*cthMg`T&a|gsLU!c= z_0gM-I5LyCUXGU`zh4p^CBKOrVU21cw<%4}WIzYFzZ7r4juft0bu6gafw%+934>?@ zpkh5;S1d|Q_SbJ*+lx_P))FOJd>aXLHbc>T(PDnR5*30fgGr}@its~Ns6>mt!HOv-*=BJ_RLpgflXr%Z;FHG!HpNJ;14XQIw^-T1l0Rl``DDx&cnTP*f_ zfUF!Sf>kIU7^7_>4`I#f@8=*uOR?{Aj!aDPX?+QKZZ$LWiW(%4@ma935WR1d}(xKi@c0br@vSIu2Nd+r++ zGoE(aIVVYP^sUe}aowlmqYm^K%SokjXeM2$Wbj1%Kb=gA{aglGDUeHUd~-3g``QvP z$d3Uu{beiY71wEzh6pBsJ_YW@UU{rEn)H?d+VuVK1Y``6jr-iko5`b6Wb@UHdn(nd zwc3AG3!`RoI#Re-U75M>ksB|w@IEzU;_f`@(<%zSi)VWMzI*zE!VnI4(a-5LLi!=; zPsiE=I8~}t=Ll~kLH^c*c_o6}i{+sKNM&;3e5Q8;Z}G^2=Bf0?z0}v4KhH^T?7S@d z-&qCKDK`Y-1Xkyx3YxoqauSu-94{RsO(2Tdg-PF=xW6|C0@p7{Ol5l>l9dY6Wac9G zhQiQ73S?Og4P!YUDTLnuc%g#_cRQ|XX`YYXe5Pz{r@Mca|K5fMjPiE}zO~W5Jx@_z zM*x?Q4<1k0JoN_NS{nbkSSK%!>ToUhn|bqi$>*3}_2pzadD**k;OzHwGqkQ#W?8lQ znMb_hNV^@W>P)*fPQO0FE;my;zUP`=jU|%zP#R>{%2)Y41;0E|0N!Xlsv9T%$-R7ENqICB+4k$DjPGN#)Bg90KYU9@I#SmQkKh$F@H|ntF+6IMT-#|W zsOB~um{*T3g%DVl9EOI zdh|yMLP_mNuka>B=^Q;4$%O)GN7|M(9uu)SwKF6Qy@*P~bZ1IpgVbdM*2kn8?Aqc)cMgz~Ao_3k40G{aEUz&J(UGSyYIlKHl z*#UDFcZY&+f3x(KL9?&|?o1s%_+81`PyUY&Ya>Va!Oy;!t5K=pJKDjkWHWI zE=))EjaGBxb}TU!dZ42otU2w1x*L1EfZaKpJclen%gs-~E~ta$#Z5?lw@zii8>OSK zc6xv|+ZFsEWU#*VyBks;BFFAyZacWd7Z4TU%U7l@MrS8NF9?f(9{X_lC}w)?5JwZUm1Bq^M2 zQpkdMc=HuQM^AVWRA6Q_ydc5HbQ~8@!x!DYPUtGYW!5)gTi--zK#Z$7t9a4ZTS~lt z`aov44;MS~f{OvhE++x?`90~wS0Z*D5RKjY#_U6+m-Zb4&ui-u+6}yz$mG9_f@{R2 z-mp&|;WT)GEu6zW(}5N9INEkYkNFe~?%g0wsu2lHcy-fGcw#SI4f$RL-`(@Aj@%*q zAr!P+P_8k#(+k@QJwy_8JK*~;9u`uTq~p_=^>}i4^l>|>m2k2Ibhdb2zTm9s{p`QK zqFQ+l(Xu~#K#cnifF(n~6fA6}H@yspIV}6B70;Qm(Z)0?pJ|pF=KDLCV}B7R;Nh~^ zw`fb~%OVBY?zQ~LZ$<;Fcd-e6PLgZ+E^x}KJo%fqDSH(EYm&jUCnu0b_0_T3?-|PW z*ES=Jt(!>NwfKqOCbv)KAF&J+DcfL}D<(ZMTvmc!-INoEct@wch{|Ql123)!S31+`9Pv7vGuht)YG) zuU~Is2D~J95l(>uM?PvWO+%kX^uKzEqrVuTyO(VTss$QhJAj(ihhV?yud_Ck9HDI& z%38@(114p~BKRWV^Dc`t(CGqr|5QTAh{flmLAA}GA2N!EiHoBLf$A^g_?Hpx3M(Z0 zuRy|!O&YEX)@+o8AJ7fkJCxhJyWWUWJ4(lKKs?@a*V`@pRrhF5@#U$@{@nw}q>b1R zRpwCH;-KG@2{Mz8?>bh{$i(&yjKzw2u63$^Pa%{zk)?tl|JT}=P7!`X8R%D$2HiHT zh2rTKiu`7B+Ql(3Z9LJS(#Zjd(c4)RbsDQ(M<^IEPh_~N;ETrUgMbY#`*e`i;U|{T zS+kRD<<~~2^G8sx z>dVNSB)B1b*lAq|{Nf7H;JH;Iua$l0((O|4K^c>M^I(!)$TW>^z$T4MD?08hFC;dW zmffVd+^KY|BiM8*j@b>%QFAt4TQ{pp8F;*s+=ddq&kOS}MduFdh+%6Qpk2xjTj8h$3F8~By?`Aw+ZAB8jRNcMpW7ZaG zPss5v)390?aomRlfYebq2 z)B-pgwdCL{1`@*y^O^#J2uLBWr|?jl8B`TQ_vFT|?;5mAQ5v=UGg{QeWTgFTkVa%3 z9L5efDmwQo?ld@KX)b%lD+KqEVRk{kOcO)f9Gsb?H|LSG~eU*C@Yeo`$dydT3i+ZGW_m16fv@P4vz2?;`0%2L`5ae2B zIPh!%=pFX-?g^bYfPBnp5>6ukUFWc8zclS|XTT9F&}y#?z#l6~aXz|5a6Uo#T93TJE1jE{d}p_^k~}Bu)WIR2(XW z)OfC#%%|l$tSbl!lpgmKb{@Tfp&Kpdct#jxmCh%Icm~VU+XVzhnHg}@p^l_rb_w+w z%d?ZERc>pxe4sZ?Q;yNmqaHYIiCrPk3>#dkT=cfA=LrKHe%VmsOC?Y;3}K(n@@ExO z#`Km@L;`jtA64)tCRM|^ljXP#fsB~&cZKnZGn!vR#;2X(X+hyNnslu!5fqoAl?eOijz@#Ge z_O0g6ftcC>a);eYPpvG7)yStDOW@JZW_`Z~*lxc=_Oe{&>vunX5cf-9B`zOgKW&ei zrUhkO_;Q`~KzY1bDZ+~}Dk)f9qq%C@`;3SyS6hEwPGLm41@`?3x3yn<fId@dJ5FK*hssZBfrHg_NM)r;@|Y}LvE4I$<*}L(KLzs6QM9+ zzo-j%V_dr}Epews8_A?!nh0dsktvbi+G*|iE4?UC)uxoG<<`H4q4iF)2jbhF#IDAo zvHeZFJ$jtr5W4)J{CnXWdF(fW4t(v=jez*r=ajc0cOMA4_8zqZhAB~fXgAgH?;F*p z@HafE_@-D>*9?154om;Mbin7{?AuR0Q*JboE?GI)Tp2+Ga{*~6aAJi|49{KL-M_t= zQja$BE%KZHt|=(TOodIF{?so7_N{|(dBkb?4?wMLZ-wmwNfm_O)6RLt0kC-ppKusWsKby9O^MJ(C~mW9!w>x5EA zTLQKS$kKrrMryQ_1`P|Uq zeEq>_@N6Z5R;m#AgR}C2S=lkAl*++c2sXl?*1>_7Si+8;%PFBz(lz^p{W(ctwy1$< z%Cmv286FLXW40)aW$Az`_GwmYvxSZb^`_ZYYi^C_mJzvHK*XRF;k&vkwu7IPLLrTC zoc0jbl}ITV=2xy<)|@`^Tf$?y<~pqyyHnb~sy^O$y&YMx2MJrxsu=YzPL|n-egXO4 zJz^!O2ao@CN?wDA^QIrNbf65bZHRTtu^aH=F1h13F`z5d% z+}C>pmnQIzhV8EveMURemL z>3tAE0V_WoiK}+cq9JivmY`1xziR?2vTS%kW>h{XB&+ZBY-O63l-4E0rwh(dUCMgX zEGPl!%1+C!WFO#TyE1vO6KGIN~P#3Dz-D4$XXWd z%?a?FNh_U0Z^EVgNjhAo=HaMElbA;SnI|=Sx-IUJ5VEdMFSE&~iyu(Hb$DZitv?{f zImX~cn!TKE#_LP7f~3~lRk`gWw;3Lrx=U;z&Q={zUG@LYz!0X<BjYW^xs`qg4XBrX68}qHN<~jZiSTIV*qOa%? zFiJ2vWGbx^GrM5@h~g{jNDTua>{;AJK?p1jyYp-e-4aKx(49(uSQ5GZggLjn5V?DS zsaS9Q4(V>;?)55#ViKoY)y^RRnzq!F5P%{Usx>M**d4qd1QrY_#yV`y9XgI8dCoqu znzp0#gknlTVyR`lEeLZ$ewX$>8vbjsD<>%HK7^f*JPg{Hd8Ly)!B8^N?}J*8GS~tS zI~s|~H9CI?H!MZkSO* zW+8Vb*ks+E!TUGHp^Q6~r!w8B`m~=(Bl{Fr%j>>Sb04h9p%!?S9}J#gK=~5llsG-|E9}k8}Fx zkNcjkk?nxHul{=Tz0>v7!{x$lsT4mCBFPwIv7vn=mzZ0vogvEJJw}Og>grNIXlTOU+e?I<&LZ1)NqISXZ zW~6n}r8zb0eWs_ae3(VJ8UrA5x7_`^V&U}rySmTS8}6!xa6F9#aV|BJ!J*}nEbt}| zp^t@2$9U_@poH^o4yvI!l1H6o*ZApp`^hEX#6i7U=LN8O(sHa?eu#PqtJ{Fskboy_ zqy-12)2)#YMF4pw36_<-%ZJm%1VElo$;&=S%hs1f+5_-FeHy{K^Ql&=KD@8@P}cPP zKnL`!^0!t)wZ1;t7X%KmnJtBk(B%S+QbDxy(m&>2n6RRW;^T1Eiq}h%8M6M6Z#z~i z4}UjJie+-!y0UE(M{Ot_@yMpM1hDNRzOv1Mkg(Fsv4(_Dk2~%g37u6pMS_EkUT5g* ziIk$EB15!MD~|YtLaXcQGfcn!2Ujm~@Tq+*An9i;O+;@r-bBTmfC|`dp@H z3I0Hr(IpsspkSp6U2No?t$O&9Ylv33;X+SE<&dg_0rHyxc-4)f4*t3mpSyUPi$WoF zZk!PApL5{PGQT89!3I1PMC=-oO$S6gr|TAXW>F@ux`S`F`60aOK!1EaF6-|DJt4MX zj%nHo+jh*hBC%VIsNyp0X;-ffIt-yIQ89JY|J;DJF0dut zufa5Yw*wi8iW?R`CkknqtPiF{b^&Il62Ik~3OZgl;y9i1h)&WWa_SA2p4uM7T5Hv4 z6MBF``Vp!^sqK&|5t3sW%|-yxG@Ehx`N?iddY}YPq@!nDE_)f zzME!HQ8!nwq#9&{eCl(EcRCb)B@C}zZQsko*PUsp0M|$df2Px?!a-}r3eU)kYtH!# zgZ9@7|A@=p4JOo`SG@CM6jFZ;QdTYo=1Vd-+aOcL;W_)Xnn?|k1*?iZf*x zm60D~20H;8goVP;tQ%NGCE4KuIu9o~7;rxR#f9$V^j^ouDy0(l*)3L51?eL5mZ@iC z$t>7ITt4-DGwO4ZMeBb{xwrA3jMfSc#m}D+(4M5sXd7@{+uY#Jmdb=T?G~Ir8+DQUhx39pE8dZ?thNqK6uDCDN+3do_BW(Lm zyN0!j22CoSf)r)tGNV#9%ioOf#~fPW#KM0Pwza4Ft%J@g*4A@L1CG2iH|GO z^!FXBd@lIAD}48|ZU~Rxt?IGOkCb)=Q*0sJfUf+92H&;09l=VXkAK$J8b$c;-bG%A z++I}>jwicqT1widZRq9w7pWzpX=0RbViQ4N)}9#5&m|^Y@G`2_4f;*#al}QTq6qI} z$T}u9G_g?VG>KWpkd?UacQ&N!nYL^eyFXG6XLj;-i@DvZh!wTn7Pf&Y^a#g$?Y?;a z-x%NH7D9YOqj#Mv6ydSmYl57R19;)D+Vj?WOug+IIi@k07BNbN25JnGI5N2bEVkM@ z3-+IkVVASTc0Vc10oa=((+smfT7)f3RBAKu^(JLL{N}UmfUKA3hWx28)P}N0BJ3Oy$_lAd&=#z^xk+uYOMlsMfY8 zqkxN?XcJh^vHGPyyu?kzyx~x}BRZJ*m_D>spMPHb+VaS-c*=xSdamO4 z&o$M2;~H!6-B3%>q-8%6J6yr;dY_xGeH?^@BBEtn_qFY57+A8V-B9h4lbS78EA%TR zYr+E-f{;7ln+r}lGT(B;wEo04Hr&6jl+DnoXq%RJqt``zH?piUP?QcKj}v#OrI)C_ z2i_RRf*z~--*x}6-wGauZVYGvf-Zp<~ z!DRt5m;zR7wSK>yhlA9q<1S^irr6R_dy;7hW3Fu&g|3Ud&+?nhJxq|&zzv<->R6R| z4F`4PhCfN@BRzroesQJ!Y?=9bwOM&@=TYcY`ioFfKq5P74s9VbULY~W3D((Q*vOe; z&D_~Ub%PJowwJ+mo%5ARB#K;OY_%wK-H0%PH|aoKamWj3NXavkNE_Lc=Y^^Uaipz9 zT#8Prv6ZSR)VZc>E&r!x%=qVgOm!xo7MpLRkd9*93*u2{gp0{^Q>wry`*aOj}d)AhMcsUpqp2WU0bl$6&?QgonQ$5Rb63vI6oGq^9=%tRdGd3Ms)( z1#+w2eZ+c0_?z_7=+;H4?JW z{b&A?`4`?-*Qx---CWRXPuM*w_MeP3f$h6IT???qaqv11Uy!3GU& zi1{b~%cAhPRhSH_;&T57APw)&rgex$BR@BM9etP`k0j9iZ7OhjtLb)wnU$+JNfmr# zPJ2E}UNlCRu{|%8RtC)2P<(E-Uk&9RC`i^SqY)B*_x^+BLh*1q>B2_j$r+e`?;_1F zEQky}X7X+3j+Kpw|1LmKM{^s2q-MkuHc{(E23sD|UV=o~95(l}ctgbk&0DKfkbg}~roc#bhj9TO0Onymtz zF!K;9wa7>lx-?m6P!r0hphJ?g$^Q>g@4#JIxNHr_b~<*_amP;fj-8He+ukudwmVM8 z>Daby+qU`jckem(9b^50r$*JRRaLWQX{W?O9jELnIf;!#h$WXt)?O!W5$|54y`q=W z48afN-G-X1E4%4RaHW4|K_Ze~_=b%-rbYxp)jPTsxON1@?=R&*w?yH^)-|4JzF@T6 zE8-h$w0BP(5LbUcINI@^NOdy+ZfMISHQU{QO>T|cQ}uc9^VMl~9g*P^DX!LpxLnx^{{He?A6DpfaBm zk0wF_#VE|Cl5^mOXBq}>s-U0$g0(I<^!=e)WrTr8vYynQ&4gug;f+wr8O3|q@2GU5 z3?C&{--yWt+xXcWX~#C=F<1(9YA5_N8&zCIjjo`m`pJdzm1R*MyL<|wCiSNHs;;qA z11p8b@x}Nm)BjVCCzw)t9P0@&O+NNFqA;eG8Q~%b?h4wy_GWM@bk*@MT++jI zkUJmP+TC1APSwp6>JalI>AG|PCCBwV!(V{plN~h2Z+ZqPO`U4NRPqS}isL_e1P^;O znu_;z;EefXnvuxqPNvH|R7}11cf9HYC^>R#%MLUs7@5oT38Dj{>&bdjj(iZ~bA7eZ z&4^U*Xo6=ZzhzK%R?VI$jI0@dQ0lf(eDF29ApCr-p^0bVai{YBOBwiz$^B8x@XoBy zNwT{BSCFjpym^oTnVN zCE)?OuBT-iTl3VEXH73UwqbiP; zIjAP|lsM4iSGp}UWWLnrOw3^R*#~RJU|l|}bTn9$)on_qet88zJw^~2XrkuR)eg?? zE9fs9jo;-RDwY<(b~(>ZW5*`*^9OHJ|DedZfl*(KbP7J(MvD6?BrkmHfL#2;w#xPC zk~y?@-`;+7rEoy0S%OaXT_G&ovqSo7TJ*dvrDJS{tvoN+ebz8NYp7GD2w2GGpOUr{8~>e^ran)yu{Ph_XB%+k-5#!c9oV;d8TI zGN{J|7*bZqT#ooNZKMZgk2Ek1VwHLe@r4yt;b5L%dQ$5VLJ6BDqhG)43dOWHUU7Us{CS&!22 z)S*uI;_v+G5@krfh`H`pKXa)dY{ePwUqiYvJ|@qyi^iST=$Nq}>?v%I8J^zD>0Fo# zICC^YMt@(k1h6EOvv8z!-k$q``JWB`Y}*x{PSNX`O(>ZdL~1Tk(!v5FdF*2_C+lc6 z@1S|a@r~#a6}TFeYMNg}meA zEqc^{Ku~&#@#{^7jJH#vy4>PF4UN0KHr#XvsFiCt?PjL^i6kJ|6n1&An@2X?$IJa&q3-bif1xFqT->>f843 z?9JuSbi~A+SE4l!1MbF-ErR_&CjTuf_=t0FX@fCVjWIbsF*@MM@4OCSYS?TCBKz~} z^ga4`^*mjO`|~L8m0Mi0a?}-=E2>AQJCFXO^G6mtjZ?LmA*q@g=2s2#3>bkI>(3pU zi7iH6C?fg@Tvbe@r{5bGTKXlj-B?9A;gG^3jOxA;e_F$S7b~@7-^o2%(lpE`7g$)V zLUh15LHN8F^wsMc*MrU=fD|Czeprk-_)((AWm3Ex)`r;EdE=+P|7;}nDU4~7#Y@Ih z*8g7reYN4|xqre-6|AfW4Sw>U$!Qjv@x%xoNDL92<{)vRdGD4Joznz|cPM57e*FAA zf9N!!RaTY=KJ{@3AkIZpHL#C!UyP2D(S7`lpJ9!|!hK+^jnP2s9`TtK;^>Ipm#M2O z7-w8O)-V=;cz)@IDByR z9uTX4WoQ+e;0@$oWee0`^rTU5MW1qh z6qK-cQ!zO!f04JKFAEgkFy-H!f52?ZjX2aHCF*4uab8_!NTv>(x@)a)xvl@bVR*|$ zjm%r>{)1<*x~ipcPiP|7pcioi`b7G$irD2$1MaWVBQO(z6~-Y#`L1$K+NE-*yJdF; z$-mRN$N%#YNuQDH)W}J;R<>^NgR<&vf=7VlFIbd4lcVOE!^6W;q}?1aO;)LT*z5U` zj_q@slp5bgjb)~90>**)Gck|QP|I#$7;&s^;XrF0V6V6!Kx#0LbemzvD|V3 z#&Z><0#H{dCUzVzBU%N~C$KK~FRLQMzud=X^|o2dQobC;RNt9a85SaGmn8I1>AuV0hVb0$NO@0Wzkk4VRtQdb-g#EjyCI>^K_caRXQvJtUkN;~OlXn@z&CQwjEdeOQ8 z%ca7>8A-QBy=ui`x@9L80=9|Eh;pz%3&$SPp2y2+-h+@tLT9%lvkMsWb`*p6%HPbH z6-M|#!c-#RYpKAZg??>5@NG>xpR&Vss;_ZPxj5D18S`Ijv4$O=<#nEQov4(RyEv=u z{?$=w?mU0XjF&ZM{f!9@=d73@O3xz1gf1VjI#aK@ACATGNgXypV37+DQ z6a-K`<0;beAJ?l&9u+oV>EmLWQrOSGdw_?y*SoB@w;e1kJwbv=R7qGOVmDh&Xu1UY zo^Y3`-r`ZWAlgO3`n0MVIpYG*!Ygc(x-9~1aSWR%JNP-k6Kve)OG3*(;QM7d4~2Fi zT7FV?u)y7y9{pTA1OlOm-W9L{7O5o^< zxN(ugUDJffy_$sAy0hD(o4hhbO=G$}1%&7#+Ufc*XbDz9B0MD#)oRFoP z7N{!6sDk`AnDQ%J*1i2~=Q(QKY8kcP9Cxq_Jtv__cNU%y+ERFIR|n^*uz7yV@VVza zx=anTEV=9KD5NEjn+&A52f{XYR1Evx4CMWyKn*8wN4^J?uLY&lP6QDvP!XVw1DPoV zm5VZ4wQCPs#nEu0-6&bn9@$fW@LEj^?K2Xudm)%I5pOS~AxJ6ace0ci+$GB{H!nb* zhl&y(&kL61jq{9JmZgQe&!{G_A4#4Z6Ye$1zX(OJmVYhg<&;S(N>axtuhqH?Ao#;- zi#Zz1Xtt9@}eue{<$RsuY%+& z{qySsIxA<&fOD+>POtjtMcA9UkFyJ!(ry%IRYXGvrB?FLVWDf-rtif!`V|zg=lDCo zawcGUGHUz%o-ha#FsYyEEZ6{9`s)?PfhFNLEJOh6>{0 zgOh|X{)>k}8L`SU*W4X5*hzNta`DShdjij?D@*#&^vd}LE!7+JtUmCg_0PGdgPjnG ztCeIyzcdSPbaAiJ@w|C!I2X0hlgYl8a~jzFo;@cp(N(&3T6gDnjZHYBucMDw2-Ev@ zUKZtA=P>kX5FQiKRqsUgX=~*T?qO5&8}8v!EzELS6a8^M2Vqbgiu9EUoUDTQpPg$#h6S1l40{}%g5&q zO4}vbB>YbLoC8yDSpKv-K!^LN`6=y>$G`HDgn;y0VCSAp;p!JDFlg^q${dBE9yc$u4ml66KMBP!Xo>(IM*d2pc5^u>MC? zMqg-cyMIHZK?6mJQM0!FI|=wBJvDq&sF_%+-Q_YoIgVp?W@&!O`8{q9&JqTzn#wx& z@U)u>@$AsQ&$o?0T*U^h;JVYWc`!sG1~`$09 z0qMo&-j+6(f&xbLb5 zb;syC@tT9vRd9!M`xMD=J=ei{7blAsCVAk`8^v$L@4xMRA=Bf3?NkTMEccx^7n%vX zE`XTTrt1+xG@wq+tKQRLAkSY^ z4JB}}U#O;Oj@o6U7t_lHutW;%C*|l-1TFH5!N*2nYnRQ=#cJ&~40rgWZG0nrd)5qC z-iya0{3W?~jm-Quxvt1P%)+h4Jv=>4y+zX8U>2&i5;b5fV-V zYws-i8x(13nFp|!ywY(fJso0MBYpdW5cp0LJnqmF{zM6k9T{S&f2P&Iblqp~aL63t zmEx}^!NADQxaeuJ+zdUuVwlE(G)^gJ_rDt9egKo0grI7tOn9bh@0@TnxLV-AfWeWp z=}0TJ#c{Q@J9p@hmNOudN^ydRDV*Sp4W8J64;io_!?vf&nWL97Bnb82Hp{;vojEhy z7=0Rpg_bW}edi93(aP=^sGgILbJ;C?R4)B*;!MQ{=wTKlyI(+|d@kv$PTO z#<}GZ)S6Xzh~!PHvQP4WpV4*jgYmckr-cSMTK9+y4POJ75P#Z_!yU)8UBN#!tzH<`Whg|9;;@{nSU@m6uFWfa zz{-{Yp-1Mza($RmbAgO~RtWw94KbCr>YFyjeApQnT~R-|9Cn#Tz3$T;-Xy@-OxJ&X zMPYjdgL^4SOg&Smcy>Bv=}3PK#dCVjrz@-EuY~5f#`40~h5D(2bBr8QGPZU<)Epy5 zMScJ@vSa@O^gh3NgQmXRsx#f&xTuKqJ{9P@DwPxb9_3|3f6@M8xX~|b2ptDM^i%h| zu@c0TNIJ6zic`cSWmpZ~vf{y3e;+-;DK@_yna7bN8{J`uP3`U7hZ6snhG@+LmB0K) zRckM<3y-w(m_HIq*Rmjyau^+aw8gy7@UyIAE2l{vk{uO~7P+RHJAIqlIgWlg-+Vc6 z&Svl_9h2D^ObYYbAtIkv(MQ_;GT7>}TVLD;xORDJ_x#leK2i7M7FQtY zb(rtnknKW3UF@TfU}S`wAs|SJ?M8U+zt-BURj3+mKZ09%Ob;>5=>&$1gooN#Ls#S=g?ipdWonH?bG#$V;{8V8%{f2 zi#Ikt$Nxu`t_;H6MdF|}GGtgJp<8gjcX@n@VKbZeWkLy9hRnS%04Kf&L^YPQ> zIWM%7WQ&>h%;0@ifeN9B^%fbIgyf`Qy>6(oMJMPaY`pef?(VMIRhtuLBkbAf!9_s< z3UV!*&SQM1kc=g2bssOVhOfXrIgl48&FO7LVd_&EV*+4Q|zH%ZOp% z$~aiLIuJBLobJOz8h4#V=V-YlL0P{}BY86ShDe1Xh?^lrgRx)_w5H@`0){9NCs!OP z#~JMy*;iQtH!DoWHFdLRFO>+(L`@SKtW_29Az27E84zT5lXV^f@g9!9WB&Nocjll% zYIeqm0&8Y=>1r|q$v%+}ukVI!L`)rtp-wVg17?{eri#k6jkwF8kIG`T{_=-uD>^E%;?$ewUo#-6dHI9J3w*Eek*{4Muov$z%=2ATt8jW!<@?VJn&`=;Vzf?&mbfC0m zw?f)37xlZ0(WFF3KMNnCO{^?^=HM@?XD9A`)x;5H-tDcFqeti{A)k4o%zx-f=l7o4 z|D)gPx7ps!6hC#Kv!=P@8MwdqhrRai>#i?oK!8i$&{1aKjk!yCm>YjCB_+a#aeWqmw)yo?LO%OV2M&Jymn_I~#<;Xx^JzapfSi^S6H2U%%?!%>ut$P7IiEr5S!R5%Pb2fFe{um|;rFs!w10#d%ufP~o_0;XR*7vr-&_(yvuEE_% zJUP^d9TVd11!4~j3L+yUdbM1SL*=s?RP+sW!g2|iiD5t*@+GQ3Ty=yk8u0dm^!Zw@ zsQJa`i+dCC<<%$B$`a~u{B%Q2tnYVB_7Un!lJgt?=hn0FEG*aKS|IJCBIKkzzUwtj zwnTiZF%hp(eX@}%TAOIfSu@R$<1MkI0OgCe5bLy}lH@3!L&A{g8cs@efthG#q6C3- zFo;mYaZ$H;R5jUCu4S>*V=4wQ4EWn^U)cF86EEOej3ahVCOiZEO2mqgO(v*(3`(SK zFcgB%o{1aH!$s=pto^zPPIOZrf}KCX5;h@!-h+(X1nUO)`VO)67qw34>VqfN{uwFj za6sRv(fLe|6AXY_A}}#oI^>-BbR`XO4ov%6N-C~Jox`w*%*5ft@!=;^`5+S{hGCUl zxt>e$=Js8c7uef*n%Hq@z7hDS^84^xUtL~a?sPVPyWG&OdR?=B-y`|j?FyEo>4Tx9 zVsM49Em5YCQAArG5h+wtAZR4$pG>!K28G>$Xv)vZ3156mpK{%E*Wv6tl-&=SH*Qo|~+KG>Bsc9YDuT zTk@gA>q9ijH^vC`*PGm%C`qFVp^6JZqo@d+@3r&bzPxM|Zcmr$jXMW$n z%98k6T!AdQAp6|rAY1%uV7-D}B6ZWn8L-MBPLH)e7yL8TAc7OWg*=?FYf?@GG^eox z{>RfGB2M(sb%_A;xbPVdNd^weXyQm`by+*Pgbl~A}! zzcSV!c6|R*ah~49M(G%Dj(+FtxN)S>DQlm}n&v@NNC|m}v@$%yLP0Jf64I?S;*-0J63{o!UY0Df~&UeRNqqW*j+d>ur1ChPpv`?YE zHz3~x=H4&{7gBw*WuJ>LH~}Obr#*gsL9HaPFRsn#O-c>ERv!id^*8M`GmHbjAe2T< z`EXozz}E-lW@s%r@!4s2+Bm;?h2X19Wc`%lHa6lUW@Sd9rgVcZ6j{_;LHvm;8){=7 zj`24vuEWbada4fid-UkoNet}I+5Oq3F-@16UWoPTCNzp~VAB2I;J2Lil<3^1le2oYssOVqbTIJ=Hzqtz;P@=V-4^exgpep1Kt~cKXUVlQpn! zsS*;?2E>by&Ol~`CohGEX#LJmE!6Ynfw~*!a~mFTU@R)|oomo?(`rVq}&T#*-TmpC$Hp4NZUAguWY-!{iD zapZFnlh{Fo}-I2o;_`9IMt%ELhC`QR|3CQMe*&~Nk`r!&6`@ai7OPKW=F_T7u4 zzWV%txKI?LxnZ^Jt$=k!9Zpkx67*!YG5ji_oZx8F&>`d*UL7+7UD*8)5 zDNO;{xa&5{83GuQ*w1wmRf}v0o$;0LJFMV0U9|3647hZ}UhBJO_)5=@&)LGH#kPtW z3US%d*|Zp$_*IDGOC+)wcD1*4d>c4+7iR;*fpnT3x=Aeb5XSld*EHV(heQ=HqNd1t zddw~o!xn-6t%k5*Cs5jYSP-pb8S4W>ag-H9{6Khq5z^Bdkol&41WQs9A(1htmgiku zxEDNBbURd130&V2Rv7f@L|iU~%P3kc1J6gzyFxK!w#suqhD8dkAR*N_jp8L#WyasD zLWv;F0^5*3W}JI=txsz}b;356YO-U%aZ(bY8oOlTJYEVgWwm8yQRn5vrz8-gOm}x1 z{U_D&ZnQhe4MZsUe~OuilZDA`Ms%qusc7GhpR14LYo%O{RZCWEp|D8dwqPk>VVO7p ze*9)Dh|(&YbjzzHrD!hOIIcst?Jko1U9YNRwOKnFUffSZFxHZah*v!y!-;Pe$4>`v7Jk#nFl?7;s`hIk;5w}( zS|>0OlU(hl>BK`QWjdnx5mK&)U6+AOZFLrqr86RTDnls{`~T0A0-dFbj4T+1zExdD zgO7kF143RU~oPl5-Tn2RvX!F?eGMy?`7U&wz!y7Y`D zHAjmjoXq~sk#CMi>A%vKibf9(lXfff0mQNo!gebZmW73d0RF`Ux8I)DN-3*xb@1Q~ zkKJeCO_u?o_E7E<)t5LCwbA)Ia44uB);ZC`H-)E`3B@)x3)L3^_tx&5;h!iU?M$(Q z4i3v`&2zP-G%Dy8Mrs7nm@R_yL9{}SA_Kqog2>je$jg^Fz}r@i6R|hfE2So#f<13) za$+1-)NIH&v_&vV_#8zId!orH?#0iMf|x)QvLXFd>%t}L1;!>rLakFNq4lz5Fc(b? zSBAP7#8GsRQ>VzFou)epRm3%4qKwZ5EC>Otg@onMCU8H7>!I4)Az80#_a-Epc6gd$cQ9{);fSD+?mLMvmn&ZECf1y0UaRpv3>X1yfEui8m+R?z`uYQHHO;F`9vj=XrgNjc_1GLieB*HEtujW!YA4#$V zJZtrdWtTfYReyRT^ z@q^bU7-<7HM&*6A9kzwL=(u5bmS93WmuOc-`6TJRwOhz4+Gc>b83>(abfB2%j53Pm zgV-||H^v8M{cxQ@$pCuGd&Sw>D_E(D_g;VP0=iq@DwWvpLT-H|ZL*NSuSI)Frth_7 z{pFq%7h*4hGhR_PF~+Q`rFinmw>AHFheLxUGv5M=kShl1_dwA^=^Vx2hQE&roiM)>O{0k6BiF}yVnzV6^$)dac?y%2vchPtmnYt@7@2z;d zjab}n(sKJpskTm6bFkNiPJKDV{F}J@O}pdfJL(ZVt%P%SEQbKg$V#?!)~oc|3&v{3 z58Hf+7A*Sy6xPpujJ>bF@5hCYW9JRY0^&dc?h*ri`(By7qd5koc{omk#~t{|0m+CpRv03SaVQM&v3bjyTq(O1t%WoZ96ypEXi{4yl@Mz3E2qQREBQy;*|U8`1Cy%j}ng$;o~H*3*4{C7;;i2_*i*NK%RWxK&(u_RFYD#iShRlg; z{os9HLU2Q83k3+Uf*g7h>p9MFC&(@%B0+I_#l$_n+xD;}UZp+1U|>=(?M!BiIZQmj zvy-&;%zpu1R1e{|!Hkg38%SooLl@0pk7=zqbPAP9Rp^pWe+S&{io{5+g#!tCQ;wRZ znvKrTaCLpZYZRZ_MsDjia4i2a1)GFH3m)%}+oYhJ>)pJGYpi3ibTU^Bmn}FC>$jwV zcX|!$cbgL=jZUEUH3yQ?E2FdqrC?~KMHX3{WJDpDt}l2VaU zJj$GbeZ~^+iZWKGKLlZKaqKvagk)_?|2ho2;eiEN}H`21@HTJ_F*wQJbrn`(oBBMZuNN6x0NQFIv zK^X1|K>IvC&7GFz0xksV;CI|vi--Su4PJmV-5o-+rXxAqGbP{2X*Ty<#uix>sPRWA zv+z_7sbj>VrcTMI+_qdzz7qkj15!v*EvrMULajFFrmnbOL7F8HuoBN_ zl!Cx#WHHJ4bJkT4ANisAi$zfX0qKlg!$Kz#G8nHtxcl?=J?Vl75`}pZv$yps_YN}3 z3nh`1CJr3VMB-^?T{H=@Rl36DqoOQBbb*?T}~F@ z)c3fDq8yb-^%@ctDFP=GL(}Ln|7v^POgjp+c*3UD$;qLok4S893Ke1TGqXnzz#cCS z!7Z3;CN)G&&27OQVigb+781fnG(G{gZQs?${cAGax0nS#kY ziixKUPT1`M5%XNFNuH&jiyUFtR>Da1m|c=ur8UdYNe0eHscwN6CS{QwK6n9S{%VP4s4mW|QwaB0xn6DZqw%cY}RJqpOrqZov} zw#J7J`)1dQ+`Y!llXGlKaP>`dFpSEfLEuvhKDXwWXPyvlG3-fc14_`vbOKc(4zh|d zCKNZR%#S!|jKf=Us%O}SK9g=~j~3udl}&(>uy1?ZE}3nY5=Xn@*=!g&4{dC}km|&XYASxJ?ClRKk^8dr~KlJg* zbwFuRH9?{m(MCrU{IQE3Im27FhR7j!6%7#3goB5_9pM+=mgFPz z8s!$YUu@|s(lD{Wpi^BQsa0&_8ApPk6(GM(SK|#$Cshm|bZ*G%&Po+kLkpFGdCG(l z*|aSy_kz+4t=>#W=y`(6mR~}f%NcStV=ls1Yd$E{-rd89wT3j#fQA0XAeBQ@7(oni zkS_u5p3}uc^O&3l%V-!~-5KHw4bZ4T*=fxV64MZ{lIzjQ*=cD+`pnngYv?u>QOF6! zm!ruWh*nsEi;Q@GXOO=?A4lK?*atqN$4>3>{N8_l4&84_4Tu-Z$_6V6h+RSrHvQ@8ftaBI`POd_HXM1 zo22(tdSnzp*Q;?%iNahvcgt0ttBhzYxTZmZ(pt=Q?b1=_P(_07HV!U2>C4QI^GQ_z z`U3hkdC5|WRe!xs5a)zpz_y+%h>nkN8f=UXR z-`qR{Nk23tls|cj`t5K)3)ShqjmjGt&xVVb0@62$Q%4Bdjfrw5~Z&4XMp`}-LN}Fc0SXd&!@Nw z-9p{pu0@$#PnfU4&azb5LQm#Q0kCFJZ821GwW8=DyqR*ubmmC%t&T>+fwHq|7FUGQ z?-bwbcuaND2;>l(38eEuN$6|=WsG+Sc_;SYYqa(=mvk3UXXkk}HcQNddlZ#>;?)Zg zf6v2t<1w0**Yh<=>q&$l>$jb`#T|yWFnR%5$T>S9#eYzcngUY!M{bm`@VCf<5a&;T z!N$R^P+v#eFy2sx!2Z}BUcm+CSzuj)dnj==FhJ=OhDB2jAn~)J-73Vuh_d;$K<^ zDRl1IlZ)?hFFHYQg&@Gd2{&Vj$`cxUJr;shfGO3mD$D z9`5fa-=#O-RC+jnV>mSeDR?!tcTLh7zJ~I?2>ydlKvizoT4Uzg7s+O-3W|;M)x{zu z!E~Y{DZ0&BniBu|xU31XRa*DTpQY?rHvZnRK0*RJq@*G}Rd3;Zw3nqa0i$WyAky?}I4KCwP}-yJN~^X;T>BTmi4}>LY*I zht#zn8~EZzxePhl>@lh*65oR^wnQYmF!jW8{orB6 z8P>aH9KEB49Db^0f@Oq>goHst#}0M042V0w;{+Z(%CMuSeFEXS8}=*y158jm?|Iv! zZ}BaF>RpiW=Q{Q{4+0S>*Kqjx2}IBWycptk6i$Kf6RNLGzhMh*x#RI5W6R z<{z)6QP6Eg4}}bp*92t#S4Jwq(Z)W0AJ@?&vMP%-D;;NML@{}z21wOnlvui~RM#k@ zp*R}e^6PqITMe1IH7?c%g==RxQ#jF%yqaVu+wA!>YAPUuB_0{B30gX@r=ncbfg^){ zwfQrzAdo1x*ag>HC!OQcD|qsec~$*JgXvmja}XTd)%@XHw)jkBNsfPxESt;0EOv(w z7ITb!&jdf`k~EhF@+Qc#MQ7ejF0~H4GJifcW%~aZW{4 z^1o@UG#f6n50W&?AK>x5aVD{sJH{8OPi(V9klAKuu1K@0V^7*LrK>-PnF~a-v0 z%3F6K3JYt$5ro==kBj?wM`!k6nhHdUMhXdnFPyzQj(Q*u5+$6{GOR)D@RR80>O8I? z-e=#irIzZXQEc#7NnKG1YmN=E?L^MH;AK0$Z@p|oZtAy>^hor(0zxRzsEUY0d?*pi>SPGv+ z=~vN645q=Cj46q;GVFsxDR8{=*bVjl0A?g5Z4Bn+bC1fn_#VB{U-n$mR{lG5({!F7~C>i>%ouLe8b^7$n3`4tj0 zPr6+9x?5HD#Oe?rop9_osh?){MpTfX#@urSM(v-1{;MWnp|-@Hk723sMJqiMn-A}s z*o|X%wrP^tgso>TNx&<-W!cB9RAXtkBkS1N=db|4mz=6gq5xY;j~I+Lgd2osW8c5C zB3+w%#=-I6n}-y+^Oz9p;QoDBOHP|mcco_fd_A7FhZqZCQ_%DDH}_ju4kxVZSE6st zF*%-DOSaFEV5i?(dxkhV8+)I4UxA7+p1T%emWxTbO|+p*onX3O(Hxs=l_VZWhc_&0 zi|OylgR0Dx2LJsff!YD+)|`iXZ~5MX=gp(FG{`n-a=IGh1a$1$3>pX)N~OkQigH`A zB){LC(=&xNeE>yx!VdbABJ3XXGl031|3t8G;iKm2PbXzodt0U2e3D#mXW|@1cX3L! z7{wEi?wuaj32CTD;>-czsN${3MTA;`)v`Qi81Q%=UNF~$H)+Q}`Zv-pk5OMYW+mOG zdi$8zq=Ij?*$TmXg4c?#VPi5AYiSO^R7c>f)tOG8_R6nhYn=SQ3p{gMU-8cLjq=dM{kOu`ktyGe@mRxOa?`(P^F0 zT9MHz?BG7BDd9kDJbIorOKhO*iP&M{{*(4^+6DrxEdK0Iz0k~CCwZiGyhilFx$HZj zdcAB-ZEDW!`0zf0-{#e0;-lc|I!?!g$ro&>^TP2E0BSJums#xCoZEO}#Z%m)7VHh@ zLD?O*loS1!YxR9m{F-#i?RF?Sc*j*J*5=rP(+Y$7hFQmnIMic&=24zy_uF#N@}>x} z%y&?jz3zVyRwWkZ=mxBD^y(W5D|y?-XD?3Y^X-tH&qIsf$J3XmIic_$1kWQ0`Rhf_ zu}V99Z9MIkQB4zpej!$Cg+6jiseTXd`<2;gaf3{~x^-&)o&u}v-O89BD8F@8L5Sxk z{NMRBXB6)8-V-LWL=p3qoyj=|aP!oBrw;d1*C|JA*cPfn>>=H2o_i1FSseQ2+S zxT$}Md3^TXdb|WexISW*vR9x%`03vFbqT?T-F;fN@KxT znXTCjm4g)Rn5-~`iP8D?PkH)uwza(119>VWy2hyeyZ7@@^deYH(5CRHC#e#1>fSQy z#tP%nJ1#9q!PUTs^y~2^WvM)^pPILH9@a0#c=Q~j1~=|@wfP>F)=8$b>d<;oCJ)}A z+y5wnZHS+CN{cz#5%#B|hswBIL<6Qey%LMJc1PxH$^M|mvtr()Q0BaLJ`JA)lnY57 zv1>>Re6dx1oXfvI7axn-1vJ|YzCYEp86q70r+Su$nna~PRAw%&j$Jc1H~-7E^*l!M z9xeZQEB|?t)A15pzfcxi#F=b5#mz%0%&JpScoNOe%o+16X?oXRE?GV47TG@$-ky5P zBl)3jb=qP?Tu^ZCm__TdRTz|7C`b~`fOS?T4bgM!_3KK-wZYWP=x%jEJB=FO9eSD} zmhF+p3*lg;pV6j6dxltTYNKPP-CNJ2{5;4mb+0EP-)D~_4_sC-H%1YLl`3k4fL?^W zJxp?2YS)?Ew1q&O;1h}0O-59ICO=asPN|jMclTWsQq^{+$@fFu?=_mq?IxEETqSjnO?fvx%)-tEy@)h(|2Tyw42cfGg=Uf6`F9OGY z2Z>#eBz_M~U-wUbPpDt-0xFu(!)sKc@37!`e9#bglEaei+(nN262bh51#2eDYF=a@ zXUNRqwin4_C8@p?Un?P-bapGyf57$F0~GJ4N} zh2e`T4*d}%(z;oNbVW_rE7O^5LV9jLw2ty(jurLN5IvNV%yP(G=}YwC4I^wlPxYg*%5t!MlxV6zWs#qWniOW(S*->e2c5#) ztie_P-;Af+KX>{l%Q^F3`=>*jNsABve93YyeZ%T``bG=pr#S5IJI#OL*R{~~FPBzZ zd}#Yy;PKgRTm7r9ga6an-fb_4e5RVhaNp;_AHO)g&#zgY&%IX%8Z=oMvdTU9;~eqB z22%1#UJp8jk@Tvvl zhfLMI48KIqY%PM-qIM5!va%)l9Nund@)G@Q=3L46ImmQkxO<{3iu}fo~OpV zHK|zBoAC?NJ49K)a4wnc<>75_g3nj3oOX>pAx`Uc*`@=G3ywF}%K1&$!}Vm@diiyq zRTkWrIq;(STfKfq?Ty-6f#dV#isPRto=conSwHn|W|XgfL*0+>iy?iOrByr@`&V%W zo_Q~7p)dN$Sz~_F&Yeu>L@(LR=_+{NdFZm&uZKeGBzmCzz?E`>=lEAYXFbHH_~*mU z#@&0Ly)ys*A?wz|VyleVRTmx~Otz@tF9}!%?I8VoQ1eRPeDd@5(8Avg3gH(2?=gH? ztx(JL>Z9Cw;T3CLq07_cGWHfHepWoJb^cX3D^P*b_k2NNeHXF;RTGl+ijy>B;Eg&4HK9j??3aN zx^-1`Rrl1r=YHoq=bl?~n_LR<<|!+<1Z&I1Qqq~L+4poxlATqCRb}^%M?m2s#vmW1z9ff`P`}%e7c;AFXq_P z$|ZErKzOTCyCs#^!Z?Y51b!I8`by4vz9#JQd8Iaev4oN;Pp`(y zdIB2)Y;QA~p+MF7F9;~y8mPkaLQgWm!E-~R$~ri& z8=hPB816M=ftcB)&9MnIh=mmCnhRH9GEd24q>Z@N7xd{dbBZ=&ye*x@lr|5`RkBK@ zQ&JML(sbFJO&M^NLmJk513{w-m)c@!sVD6W7!e1R@H(WF1WjrYN0mZi6e(5bidL$^ zla&}HLn9?pMfqv1%$YHub<(7#aN3XxnOP6&WUY0LKsg*`N7ZR^nhYrF2`OWijNYlr z#%iq7VsRO{ENa!b>ZUyIPG*r5?@P)fsYH_1q$+j|V%6p(W{29T(Kv~8P7^VDg318F zW{O&EJ}GxAs#zdYPJF47vj@ztuqdlqHiVVJ0ondR7P;74|S`^61k^uPqWXld7f^RthT*w#1ut-!vPsIz zlsFkQDV=dgjY1<8JE2fgvO-82krQ>iRuSA4)*G@Zl!};*jA%-7sv0R)jb?w&n)hRM zi`T|Sqg6d_OzHWYU1JRpK6RoJG|?uDy=pKS2!l%-u331!vxGVoMsLWGvhnIbIa2gm z%hDL0GE|s+CM_iKs0s;Gs<__huVU~|uTU@swZ>AA%N%Z!sOoD9Yl`7XH=4+s(nQ!9 zEf&LR)|a<>3xc3@NwwOdppbHy*QAt2v=Y*o^`?T3w8^K*I;gssURiE}K0>%JUCvsXxtg7&q^<_^^R`t<7 zbJ3gC+Z2W}g`*xvHO=G=Dw9dV2dav2N#=38^ahQ&P@{}i-0!b>-1&q;W{Npwu8a`p z0vWYRCXbY=1g?R&w^%hrPtZvb4kL#ltOiw?rEYzms4+a{OHj3}$EwIOwW!T&XN@};SDyQ3m8dUMH0%vPAJ@1hE=^$nICiEPop{*E43#p1DEl-vs z83h*!Tj)r|>LY6eql~KEvZOs}Ml6^jFNDi(6JeKDP?XnFam1WK5)LF52>ARtiNj_R zaF4|)Mam9+I_SnhJSU_Gl;&38;9p%!~Ol z@@hpc;e%O9UdviaA!QVE+9L{c#pv;sBsQDh>QDQPDSI?57@QV&jj0$ZIj8Z;;g}f8 z%$hMYl7U!?#Oh{s)hkp2xw2hG*r5)}#gM&jOV`v~iY9qYsEXn)H0;#m&_pbhvL@o@ zR3+ps6M0%=5eP$p%`!Au6Z{w&^n@}B7pBjvf<}Kjm>_ATD{W!Rw2x#8T(yWL(-l)S zsuV)BB;(H&WyXM=Px?sQuFA@UdKiycs#-jtw($N^Oh!b4QO2Bc+szzZ$Y_F2izZ~1 z_$!Ts4B?F`p_DrR!!pPdNz6CgIe$4Ws2QK}~WQ(%=e3{H40j zO-rSAx}NrUNmbb<$4W6<265nubksy!Wo3_tuh(4JsK;usE4{uV%@^!OV>S@?sj`G# z=8gDDm_LN)iXk)au4b$;Ghfati*+*08*^v@&(VB_4i))iN)dA#Lu#2^>bJ>E2|rh_ zF+?Pku33FSvl&(3CMrlKXs1;zO=GTrtQN_}sYp4=I3#YhS}ONvW2H=(vFj^Em8F)* zX|%1BgrC0Nuz&*gKd zD^Y2ZuXQr)|d@bigJ$N?cwcr_B!DQ1` zt0gP#Q&gl`e~pg?$!rFZpk;@GA(SO9=M5WcLA6U|O7cpUt^|2Zt~Dp*HiblEQhSpX zpH*8htCP5ij!4NoQb|RG0F_0ER3;m=+f8YCPC^(A33thzca;@kwI{4dpjwqXUh)Myi%{Gi}rv|D+yt8 z%$JMAa*nFT5J;E2QD>om`k?Cx7QDUy!#Wbmgv3k`aTSr3Whj-zDapwNTclj|pb>*c zVU5|cMQ<6CSe%q4VyOCQ77G|{Q6cN48BT5tAZ@txQfw8$XiT91JlbCC6;1yye&mJ7`0UEHnO}- zlaGc=1X*U~FcMJ6Bm@$oHKvqMC`xIM(_!%$b4Hgbt1QXWMN`3HFNBI^gH%-u7-Duy zSf=p8!N_wVG^Gub1gY}YYG%U8Skq~X!DZuISzEvxOXht>7OUE-rHsp~v{=H~2<{7{ zLKfO?%sQ$_N@}tbey6AAuGaNgV~I$SxJ7T!M>8s-?9Rt{4Xbq-Gen(@$ZLv}Qz>__ zUV*f`)k%w1RZhh{@_IQ?Ntp$PK-9F8S6Dftl2iw!h%p~>__V2DHe}b^J>_a9f*8$O ztrf#$gilD6qlLO#9rZa1R=*%8EftT0l^Wf~R7mMHN>V;`w#Y`z5@){P37S9HBSZlhJGT5xH=Xwe{=h)wOy zs>&8qStTuny=+KLC@S8F%B-nm1e3~PQ{}=6y$|zH1Q`qS`Y@x;p_y2~=C;|UEZC1gK=5u^q?oxVSz*4{>g+wvwsmnE%WCZ6`hH%E~L?Y?1&ylbv961MN z_Gb(hdj_*GzLbSd<5(zEaB50^G-;GsLdmSpp9(~{GU@Qz)g*>yB0-zQqtw{UAzH6W zM>u1ZhI5uN)wIqan)fFX7@P4XBIb&M45MsWZII@TUag*YqRvn?Va&UerGh&lXg$1D zlPGyBMGeLU1rrR%Opdr7vVzT8cbL(vpH~T_g7hm{mDW>^QJCIi4Qcg~q*p63!;(nY zgH~RjNZ1thywxDFkg=jUQOrjeU(}vW!VyYR0hQn6V?tOUZ%9;pCRsdUvO8c5l#Otn zJmPcayriw7CtV&*P!+KoZT7rYZ_BvlCKY9iday(|sV=Au`J!M;`sH-NS4r0EkalfR z3m!DdVpg|=U?~rpC+vE?OkXgh!(5ow2VtaOp-mdEMK3V~5_((STBuNRjn(dPd5BCr zoE0d)TAPK8f>8-vD^I~u$1rJ~F{R^XRY1m3p$w@F2XJe~<>#Eyh#*(fsJ`qrnkyEI z-JXa@@<9}5vKr3qv)c7JhIC`bvdv2c?Nz6q#iUrlSf(}ZyfPiMn>3m##WGeOMcXt1 zGiTCg+)6HJHYI{qzt*5q3zk^2YPJ(qV<}1~_<*5iEK2K9((foHJO(l!iYEyMb>+xx zDiqF1SVv5+53yx5m5pMQL!*jDNMAHr!c0Y$X3R=+IcZnnM4VPzBnHA=i!o-Gm*;93 zlZQ409D*0m>+up(FHv@^W=(TQFeCW%_5>>PN;3hKFXgjS>Iw?^%IDycN!sAf^FAt$ zNsR(m)!QswH0sl6*l^gICCmVw5RGX)f;}p$ zg)dz>&6}}2meK@_C{-}PRdEKR z+!jkV8#UPj>S_uyLX^#xJaLpYcvE=Vio48=#w#sn88i{m5_x&T<}51A8k5oypo3Cp zI_t@iNeAiYsJe>IYAb2H$P0+Wpv-$b)~Y$k^93Q`t{IAC$zO8{aYw|*WD@$YNum_A zQHo7zYhgU< z%+e}Bp0bya0ISWqeNG4NvT$TBie`LeldrCJ|E=xd0Qy87*Eba~@j&GvjQSush9aM>R+X@rX-bPSZ&bPep>( zd^VbJ7K>56q~I;8@O0ekP{s6^%4xUwGM0)`@ZivW7Gpjtlkg?oW_K~AMI=V8scN+t zEeeJTRVceb>C0waxk^m$Q<4?ZVb4oS(Snj-5*3-oTaeYF3R;MoiD;N}_#}Rp#~NUf zJmaP8Q8LVg7-b-sfXh&!RL(QjGLwXnu+r~ICJSV-5LA_!P#{|j=W}+I67~-dN>ebz zmHJ6K6_QtDijXrKH`ueXgxjpqSG7pc<*?v}NZn~blktj>lKF$#tfrz=DQXEghBB?! z`?W^9L2#J$3e=u*+3{jBC?PNkOH}n5t;T>^0@1KlE=xyBQ76s?;DW~DvdEo9+#M)t zq9KheiiB~JLCZcG_k==9xPI_Bgg7g$m0-?Ag~ixHFh-?=Tr9zIQIwLa?oThl$oM{;vq?> zNF{kL&PNkPJSZudpu#0(m<*`L{bhX;zBy}#kWp5&h@>i2V_5JwD_*=%trer`kjs#C zlqxU^qU&@@&Q-iz7^WGjnzYjrvtVe^Pfv8YJIPdna&5v| zlt~RqzYlYn>wbiDa9n|^MOmpig-97bUNI{fi$aoehO;#fWk$jpDHp;bL@mZL18Ol2CTpY(~367LGvm~9g z8|^sGDK+w}LWNl%^6U0!CE!(RHCb;IW{A8gld8rOsW=<3BSu5EU)Y1&}rv4`C=0R$63fn7c|O!ZC+J9jll1<}CD?UUxi5!W^W7i$G#D zM@otYze)+C&aforM2Zelg-ghKzAVsXYt8SV z?J2K?s~BsUx=NqTcxquRUh|gFYMP3bB3zEmspAe8Vowwda-xvn9aXIdfvKT@mGfvz z!IaTn!V(r+sO)ke&Z5C=s0FlP3(7{^h}D;2d`?y-;7J!6ij)gEb1<0o227~Q57UHL zE|Y`Nlu)(DAr)n1`arE{l)HRUKb=X0EE>i~r5P`R6_A`@auys)Nw^fk)b2yTuWVC67mq+Rm z2`~2%nR32jE!Jd0nX1*5-YSpl%X-#YhVIX8$W=;Jlb+;#Y)X=;2Wx5t$%QdxJ};L? zF-Zg_QXI)>z+qslH0#o!X);PyXz0c@v2-#OEK9Ij6*8th<%qBxX2S`4G{T!*X`b@*k*1n;MDQ_UCkcpXgC%%lUD;7l3J1w~3maN%&Ih@)3eQ2EmCVn!-srSe2QWKBW~F2EH{N*gi5U@uG662-EI=gTI}AvFku)M1n3 zZmX@V@H+Xj*W(Y>G(@#%)8>4PG+?fkX^UNsqjrUca4|VQZql+wkA+jEQJc&hU~3M0 z#9?qo%&veXAImWrbE%9f)82?2u6@{?B9iAbb_H2YWC|X%R*^(}L0pBvbOdjOX#zcx zad7fdxtxw*GA5O*^B&w|6No4bCi8j+X+{Z$JEqO3%btL>qQ-JCeWZ-LWi=Pa6LKDd zG?TN$Wi<|QRTJv488K#1w>K=MS!--SO}@nyhC9|xJq6h zk>`q=OJ$A3 z?JgjhtYGvJY~9aFWkks8&csp`Ia_ow>S!8OJL+^D$yXhIFQtiDQm#lT>@G#2FRq2v zwHi&EP|{1*eN@gu;Aw-*B`91KdrBQIDXe6n6qS3b%DPPAsm4QD3gd%V4x@s;iiE2w z99*mr55zTwlEfFc^p@@tBIeFHOcJsdD@o9Z8>SUmr6&-pYZaNans?jXOx_*H#S0aS zU+pbeL#aSY?hUaDvmR#BLou7Z;#J1&3`r%+(U>wB*5txrRKXUM&ZMRs;LNBJiD@{N zt0_>4ts3-d)GlRNuf(e=S($a`%NdP2o`P=Q6tXeVq_N;YJ^p0YUGsXWy3tgJe2f;= zHXNzh-8H*LmbNOrb=>aOCNrg?##;;vLCVk@8e?_m(^9_fD$Cg@8&Bj2iPCHEL-MsK zDWyM0XjB<(jtG_nxk7GoDaoWJZx*r!C1;ZxIk+l{YShMH!DNp?XXOzDL7PlQs#%wV z4LCyDl0lu;l0uNJRLc62oXo*35{*5UByveBlOq{T0x}<~ti`J#Dr_~Sg?cpLPblij zvQutF!by!hEM+qWs9i0q&D)F#t)>`F=E$H*p)7E2i#3|#uw1Gli{k2VRuQB;k~roo z;_)1sLgc8UAW=!pEKeIGh$T}u6>Ek#K_p3u(X^?XZ!gJ1&!Ev;IId=<Tp$3u-JG3&zNtBg#Z+3eDH} zxW%H5No{x`Pz#0Q`a+yXl&Nr8VUcIGaT0DH$)hC9bYmJh$rIs3nJ6cTy2M&C_~EI- zpOrbo%A~atWkZsR#Of%7QkkS8U(d<46pgp^n%tlXmwXDiZxki!rjr=?0;sw~(F21(qmkKm4o$LNSgU7>Kylo1N@ zqT8)zFulf%R#XXB%$8FZ12S4071R=?Ma?Uq*XQhVt&Hbgia4I&Omfs|QdpU4&Q)?} zSVz4|CdeeBhsg%5rWy@dadk$cu~fVXnH{N`B}kaC796sqQj)-Ap)`_Iy6csAw60PK zNy6=xCjwFgLAf&PM;K!Q6QoMJgjGYAWDoKZ3gR7CAT?CuM0}xiB2$qhoP3Rnu_n|m zb=6SD1NqODC^-?K3WJ;!Q;>VhYKesNt1ERiU8S6Hw>u*u`tH2#q!< z;k~q5L8rZ1MLv^rYAvkE>$AI@WZdrNPzc(Uk?$TnBx)SA`985I_$W)2+M?%?3BF4d89z#K+P81!Ox?pov9j-vB=r4rK z_E5o-jx&K`ppfy=vYf|Tk||wvXM~Jo;;cDNWwMTR!cum??bQ@gFuKcGT!m(&1>9YW zs6yFzDGLKtufuBP41UZ?msmL0R;v+BOA3a31#bN%!yK)JGt8r^JnPTX33(bLN_Kh7 z!zPM!5GJTq5=};>FhyBttrSs@L;^(zl`pw!!5ZN=X*@8OWN_AH!D=a63i#~-Rn4!? z>n(LATdGy6RVJs-*#e9wPKOMXvrI&c>Zk>!_>cu=hK(kem5{Q93RAT^Iek>(swLAU zABibK^}M89w=-PWQI$u_E_EH1DJtcfCZVb@aMMPWO4Kwad4xtt$`w?pW#M$WuJLAk zXe4h&lCE4l&HJ5{7Wc>%O2!i^W^-OHk|oo2!5fKd3aNOu2!nK`JzaD_K5)kK86#&7 zh3s6JcH(rvX^>*ojKH}VS3skrW04ZvKM#dS+($W_+CaH(Fh_DyT%jyw(`-ax$tswb zNnV$R`E*EPF@#lc7on6jm4bBLP|TR&)+*~IgQ;Yia_2&ZngW*_6>hJ}YK>%3H3vf` zc~(fvWVo#mqS9_zs2tY_7|+X`q)@~Pay*h((Y)X445!0}x+Rzn!ML=l%9k;FrC>JJ zLg`Y)X^jYY!mIZeP`A=!hBUX3Zu0`HCKOE6W& zD7-#nC?ZAhbWq~QJx4Vu z(T^77QQW19&?pSKx{*#gRkCU|EKysO=7^iic$LmrIGWb5MI@So**3Jw*MxK_YmE4` zGEJmv$f;CeELU|3Van|m@UTx_2}rUf1L{lU3xe9qu&m%w`CwW?uB^dKV%e*L&v!84 zeASmy1{KP%hcD_KPRw4-kt!~Qr&!v?JFa|8t+`>18A983aca1YFR3woKcZmEP3Z<2P0;CyHEg4!Avta>4ww?rzI z9PZKkWF93ggHKv0!+yQrKsZd%gi;eAoV*#X+fv?iQdtT{B!1QyvPrFZRRGCwHf^Dj zFy|Ek37NHLEJiilW3c;6CbK^xgiZcvNW~Z{h|mGL5i(<+}&FE>b2d572HHt1mr z8};EZBP^u@$&ew%nj;xy#LlTa0l4ESlnN5cUw#`su`BCF3}5u3Tn zFy^XVnX{GMGO}ui@t{Ul#qny0R@k$Ns54(n1yekZC|xW=%Oxh9hc+FuAacQ+(>enI zV>SbG?`E5qqfx&vlx18&gwM#*8C%*CaztSUSCX|W)0mIL1WACl`|BB)R#v;`*8H?i8Z-vD*3htFccmzlx*Szp{9?w1XXd7#f1+;2g@@^8mrGR9N%67XVEX>^NxF;qSZY>+E^+x1m6$eV z%Cw6wnsVhAELimV-Fr{(b?yIQ+`XBY z<)vZ?f@Ny6t+5hJR-$ZdiDFAMPgkg(WMe)-eJ=eQUol1hrOD^_pEavDz$txwz2XvB^z_?zX|I?K zi{8Ps-kkiG={r9Q1I}0`Uz{=Eq}kqwp-eN0z5y>)p?i;J!bT7+7v%Q@ABRQifhkkw z_B4C`E?8AnK-YptKdQ3f?lz(S6mH?+1J40OI&5l7pcD!%$K=J z{@)W#kE^Elre?txNx(q!xfpkz3eKbYbHca;CRjMC$kSA5W~p3E#z^YY^H)jEQ_t)R z#}^1_?uC=Tx47&=#pkl7OoM}*Hf8F!{tq{ne4!H%>Yv@VXR`CZ*urOKx_y3R1o|(~@WiwrHb5mzcops67Oa9#JlL+6_ zdPx0m@!aExz6-L9Hq%V?d$9fQk>Bgc zwB8JUDKePZqi;Cy*>uSegU>w_p@T}y%yTi4=4(@XH1t&*{Xd8RrcS-6r<@rQSX}aV z(S6^9=ToPGsXf~|Z-L+HRrHLkr@_8uu=vvGrY?pxy%EkpU@`N&IWLy?^{$yZ1x)Q3 z;CV5!UPaFm&x?`6gD;Ee+2wgL3V86D7)2inPoS8&p964)5>}X2^vHWLoq)eLkSdof zhO@tNiA=R*F<;}Tl}qGH7FT)^&&nkM3&zD+PuZUh25iOZX#F|LXQ*Lo^%q)eV5{@3;m;;6w1z$Wtab0l z2QUim6&Iv@ZWS{$|5XaS<^NR5^d7$dhc*GPJZ}@zdno;qOZftvdq|uG@1Ek*D)iF$ zd0!Li{TO8Sg=6daUxW0eVvi-iB=x}aRg!eDzVB98oR`!C-FZnpy!{^}^&s|D zl8msv&jgE}qHq0{=4&U{M$pf&OPFgZ z{l@qHOa-ac$*XRC{gYoj-}+$9(Dn<(AD92awY1d)y6+?tQ<+cS#NT=K(d*a$uRrzc z*4^H(Te72_UDa)fhx`9HDuS0Ab^vs{LF*B)rUkm&yZe3zCf`0>9d8h?HNP)D`nwb0 zwSi#~+}1b&>l#KNe$c)HOpgC!r_p#82SW>nP5|B5YA}R|!_T#whb<-8lI}Q;e{La@6ny8 zJ_Nv~W*2nViX-_H0EhRCzYjYIKH3O|wty*zKz?I-_Pd}J0t+5I)V#LS+%pU8*@DiP z0HYJVL2lpl``fpUuU-g_-v<`FbrN(wR2~BN9{`gdBIBzsYBwf!!sDgjpUy&kodgen z{??@ntGfVkMSFT{;JYJWEwE;cW8%hPu=Z-u9D)7l{<7&A22b7rh<%{Zy0iHy=pH88 z-v_M);<2Gm;VcaN+c~i@vF4fX(BPO_H{KZNdHf_w}RHy$9{R! zd&rNvFZ?3C=PY>Tm)lyT@ee@flYt+0o6X0xnw@*rcl$fdfw|otLOTudjxP9U zPWzr+!_QsbJ-hr6IJR+Ybsy;I?{xp@ynO&_tu;P>{piN|pNKyf4}%7>b{E+FUi1J64skc^?z&sLVENo`WBWmH@k?M!n+2^=-Pr|a7T(r<`(>ke z@)uz8jphWjtv7TnSpEe_CmPMY*FHbq`1GD3G4xWW*C}KIEXckzdEL>!9t2130R3m5 z>oyU3_O|Z9egKCT>z~){{oewnh_8HG?CuaZ9qg_==mOxDIbdl1P;BIL-qL)7OfxBW;MSt8ctiJOq36mnMH4bUzwg)M;)5PZQmt zq5TVQ+xMLnz$pHF_X}t2PeH_YS6>H(LUo+$Kl||B?ws*^0QgJ)_>l*62f)Uy;Oox= z;inrGb?)7>Zomk1?FHd>$sv`_h0n(m2I(q?=QNrC+iav z6V~J~>c%&&I|CUC!c7D> zzOi%2`TW^4{ot^r>;{A>R+W025BkAPMcJlp&P zbZ^-;ui42AgUIMzXtthmV;(v&Y|x1fp0tue)u9-aA|i8ENBQHgRW{9 z=R7m4c-byW-~PVtqXp1Z0Dt%i-4Hy|jlU(rOFrtKIND>8Pe!0!g2CrNYiLw_9~#Bv z;OU1>gAp)!<%5SlM6Oy_>uX;P8SF{W?;P9w=;YejUGed~-L0>O7hf#?^YEV5pFZfU zdR^DJbo8MQ`(GJ20hV6^{^JgC{A(k7{{n%bYqZ}NW;Yh>8lJiDJMD*i>iUT2K=TiY zUFab~;(A1fq1s{kvp1gklb1w`6;t#`H zyNj>cjoh?q;_8>c0^qs>oEthT4t5`JI!D0w+aR^jIQiV@!o>@k<5xetVar{+U(=n0 zm|Y59%6FO#HH6k^>%s0&vo-MCqzHC^(bJ$abML|(E%Ca!I}*FWFPk0Ey;t`@y1RSb z>tp1qb({Eii2cnMKx=&SJzeqgU5k&5t-V4V-b?6Lb$`-)@Yul{UL3rA<6ykI^f~7k zSS2ooE^B4`Bxt;KZud*Zf4n>O37o=bzWvhI!P54g6JU?{Dm=emch{~F%RE+;?|X>< zc&PK%51xP}J8(_BXe8L=g-ugg|SGHdSvV@Jft4*tv8ncWxOKMXd^1>pL|dg|cT74N+WQjMRCeP1|Hy5`~& zolmL@FWsdtzW=9ZcNhoPj@;ick3op+0S_$)tu5lT@r7a=QuVpPPobi>b`6K0XneF8 zOiqe34*>#F*4yIqqav8vm^c8|oDr{s?ha6c(9?BfH;#(!t48+kHsl|lBs#A)mrOJt z8>|Ymb<=N~AZ;^-#bMp>hCL&ebvK@|w{MU;0Jv$%#m&j7yKWtuzk1KQW0xIrl2cB@ z(BUm)hf&D?e#LiJy_vqf@z(Okb#LEuTwI)p-OpS+j)@mNc!&UZ9sSHTeu6f zj`lal8%seKI^db@`|j+`{aWm)&KM*zqJ7oA?qwbDZD^U3Ti3qSGpfgTg4Sb$-`w-^ zBRX?sv^D;O>25K9_%R5crRye)_iT~Q*fk)WXeHZX>dXRYYk_wpMy2DH zYIo>lqdWv2?Gl6C=5h4y2fARh_}3Gl`>L*w-}>(p3hY;t&rHh?&pUQkw|mR$Fc@fc zZx|8(cG2*|FAnZHGjrd6 zSGVh;m8Qnv>SnC{*v8vB58nm)^?w-OczqkZ46onTMPIsCI5}r53$3t!_?h=RjjiBM zr@_k3Tc5)ILF9u+A!u_X}gdaO{cZ2L7)@ zuzIcZZk=HmY`<4rH>i6kamR@{?KePUal0{gLysA^>3-e?GhbUMg^cv#RR^ve9a;16 z1LE;(R?JvE@vR>pUm!{kL7u)>w@Em$@doh`u0EQ2Xm$5e3{K~^=49jPM(#Lxv~%Zk zpxWJb3N(*{54VEWE8yHi#}1FcZdZq%leOu06Z1`T*3S8ZV`RaiiFD-E7hd z%kB?0#;w!)!i^Aj_+ni7v9$1C;!3V7`ZEv zx7@h(F7>PDhR!MO7=p#G?o7}ArEbUM;W_Q2V4eQ<)|olrs__Lkz9!Dz2Z+UsX7|N15^upk=_3hsbd6=`4Zl*Q)(6%#^?teb(Ym6;` z%PR1<-(RWbl>kfgNUVZ5iUE$^1 z&#p190@t2-xNF$|qJ-Hpz+kr^RU_myh2F9nSS_@scx>GYxn9UKxy^*8N}@9Qi|S_81^wFbx*I z1U4>|<=5|eVf=pG--cgbdS>&k4b8@l|32QwPWFBL#9-U^2YU8hV9+)OYKi$>2$s&| zfrW2^zjnZyZtIiLg&%a^g>&~BI1Pi;HJca_E{E2Mt<`^?KJR@n4f^blTl{6~`ph7o6GHe<1w&!aqb1xVRg>?ojK){+o{oHlZ=L zbJd~2*C)kkV*}#xPmhwDzq8JK`-o561>LPrTy^NvEf1}}`L=I#Rhz!o*mCU9;PWlG zV42tos^iTS?S{Ay)J&tpW8l&DGjm>@xnwQ=)bQlK+uQ%qZyq~v?d==e4>dO&erNFU zXU}cze)sjMCzlM*IRw^#_@Cc?==Jzzw{>mk9I>r>kbDIESoWvz2knvNXP56An-jWS zKcr(G**!9`@jzwa#s9X}*&aJa{8IA?apR6L-)ZPz_6)AwGM0v8>kj;JQY5r_^S}e?Ej6Z7}?jX z4S{u&bM`IljuT+$6>$u<0B=F0jf?#c|6nC_rZbw(ta`*l7pbeMipRw@P%v;C%28JI{Xj z`@Me?R*17t=nhx5*=BBkd@$d=A~U)46X^dsK6At4`3Hbl_49@_0QAA{B_410)7QRiUvPAJXPtON_2GA{KLE2{yzVU6e#>R! zYvI}$hI9q!*Cw9))hPJxeI%H5_+j0q;*H`rKm2X?uIFIxMEBEmTe}1EmkrFzZ~rwo za-6vQHW*9pcx`OzTW_t{B^#ZW23H=MoG;2dKll_K9M~r`9{&`s$e*#F={fHm;>ep& zk^5G(yW(F~{-LDnJhSiG_DXaC_=l1IXkg@6zJKq+%jiXmx=rzgMscuqd~26`QuhjW zhwkJ}_gyLu4UXS)`=spc8?V{f|G!5?-B#^bUmI+EJJub4RYz^1FZuZgbCLBw9_Y|V zFP^(fH=a5*yhkmbS$)mdcfk};qq~{<=NGG@uesopq>zZ=~29q0%?)WN`EL3#yv^+kxxX8*%0RyO-Z>__eSCxG&CO#cKkWZjy>CqRyT0nd z_GWR$gWnS`+6KYi>Xs@$-8I(zTDr6Klyu|Uh4=$!L347?JFqMLho2bg)b0R7tp)Dq zM;G)0vgQCL*B{Zqc;RFNLU5T)_akr=63oaD4E`IPD+f3IZuwZF^s|jaFWo#Be0O&9 z$?v>7^t;>niTigQy&=DO@L%n}pTZy``+F%dxHg3gWpv*V@!n)(V7_Z$-j0EJr<&5E96dQYl3E`+vAnDMwU>9HN+k!Qj) zcCul{lzXpatozwvUuB9g@_b=}OaCd2V z?f&11Q@TX);m(ss*MKXRgX+jz(2QPb{?XXxhrn&!*U%q>JJxmk=X8e-gXe*`r#t_? zr*D}t{u`b3?A`;%mc8=Aa?tAQ^dA{(pINr?$f+$4t!Q5l{p3*ynEB#+a5k5AO~cdn z4ez<=va{mjAGW&fHHpDb0bFTZdU^yjX5QYt{J!sj6^A5UF!-$_6Klckhk-5+U@8l| zx3*p#Jofz$z|$kzlQ&G9Zaq<52O8_+{b#f{iznZNuJyN7VcAt8^2TnR6Kws-i3Oc) zNACxNFK5xK{v=Nv{MGx^dsmAS;OS47z49&c%z?_iTkqM}-MjKB;)h84NXv%3c1 zI0u&m-+iyqT5x)^>#;%c)m0~V6XT!(1}0$cZ?Zdm(vjM`=*WxVhUM9H0D0$lp}k5} zb=pt2glikf8x-~lT)}=__iAclRJybZhA!Rj`^o)--FN9_UC-g04sZPs+#1_UU$$xTpI<=hZr#L>%aDYRl%pejEC+3Z{~@*l1Ass=GS zy!Pg9J2wiWl>EuLPxf2k?ID>U5g zfc+5U{li<<;?K8l=|Cw2`18e!b`Q0-%zadxH+J10Hyry2nes_1{Of~DJL{kcZ-I?$ zmi9Vv#)ssI<3k|j{bnl#SL-JSb=^j@tAtQ`x6wTf!<6@rKnF)$KG2zb4zxZJ-vtfg zqm_?$79HAQY2N^LYhF+7Sw?^I;dLi}t>ZSHy?kU}|JuP*@2=hdBZyPT6gNgDN>-#j zedb-G*B|O0g!cH<%p32VbM??EWNV>K&3QE?+}b?wYF3Yml( z9R9U-;sCwkSI@wCeee`|@^EvIKivZUYi6#!yO0n+7y~=T>?eSD?o-hDG=I|scmlm! zymRc=?=M~VcItMW_{^Ts_06lrmpUh(TLW4r=cI4@VBf@R$on@f-%gDFD>2Fqp1NY! z@U6Rs7p%PTnu}8tU;wVz19RwW=LpyOUJ?z1Z=6`V>+H8m|=Ekw1Ib)-; z8HaDWW+(CRqmye#fX=*Yc;!K}J!q%cUTEsb)YjcjM`?T1mG}Te5Mg(Tn28j?c3gQR|yMjm+b*dC223Wj@ z7{U-@3^9gHUWa6o?0L=Xx3!-0-QLf+KiogyeE59!leK4Nub1chygwU0+~mrzx|EUE!6bSot!O0zmXCn>g&U4wSieo-=)O9!7v#ixzv923$ zFZ-oc)fKpE{2A>BGE3XTQ=;RIbY~?G?UnVViY?~_rT&OGKKx$6Atk#$Xb+CwSo`7T=!I}D10r^#;Y@z{hkeBb+T1n-81Lk z_KnNjX`A^;{~>3!y`}qR?YMl@k$K;-mVM~D((jC}?#$EL&sKhoh@x3_Uw&Thf3@@a z&arz^6kB*O@8q_AG>zevQ_`|IZ-~05rNmq=rs&4VYoimQUCUzmU z(#$vi_Au|wKmP5s6=OD3?0)r{!o}CiD^^up)BL!`*r{T!RKNIV-|FuCwzqonV!`!4 zw6~6CSeCk~gub`x*%$NmE!PnBw@f;i8`mw~IGW9NOuC}^yw15qmtQePxNhVU$u595 zV!xbJOdh+8z~8(*31@@?25eTTkq?Ut|2{N z{qCM7zg17m?tfl6uW@v1;qslw3s!fRzIt!`VyP^;7o|4VKdEc|?4y)X%yFwbUrRq) zz3@VWIhP5lzTM=i`$@LVpE*ZiSvM0-U_iXDrG5@K-`I&V6l+5`zwG!SRV;aJ@M_X` z^3BiuJ8Kw!MO`VCzc|f(c5?gUlTOr+G#>kx&By|bT~ql=PiNlo{P~*%1-CpO4_?z| zF1UB!!V8sLC9p#U>(l=${C{h}|F4{S;okqza%y;rK{CF zM1Rw)U2?y=)G8DIDXPLlE$taK{)8-WZ;!M6`EW;lo;wK{=COpD&x`s99}ezaoSH2t zzt3Jn!DV#2PQyX>cCH)3Zk0%h?@$vy^Gr}a+-5i(>LS|_vv{9s#^vRFM9Y`T_xTAe zvz_kaXEbZOo8kwwR3SZGuZ*#f!(%d>Rj@N71I+RZPHM5xB;cZ&7SX{%~ z{8TIt6iKRfCM8Mv!&%yRM$8_hrdIFsclhNwXQRB29rw$PZao|H%ZYS7`_`YDC>OGW z{&gpbRVX6pZe@FwOi(Uhn-nA-yV(#oW6sTNFV6xk}H5tc3hhKNoT)$`Aa`40)8>tqvwv5=E1j zvUx8UHFjcmhnlK&Z(x9Etr%j>YI)pn=hM+4?u2OLb8<894z)Q;=mdY345wCpb`fni z=mCrL8A+BAzyCRFmpYYq6LZce$#NQ+LHqSgO^7O3On*A=mySH45BV*JKGu8vqCgJo z(4!t1@KXV8*0Y*hNoVwAK#Y-t`YY$0_KVN(za-^LtXMG1FiYCr@Xq*nr=u3?Wv@c4>P$iT;(8rG_R8bk0+`;R5)ynZ3}9{N@h@;*0U}T0b*VivsAP69MPZRlxToU5uaGbP(lEF>8Uv*g9Ka9P7gm#`VAlA7+eMGOyFq4 zf1qM!^2-a77RP~rd7P@%mQ%!ZoQ3-kLNDa-op;Mm$WC_Futv%CEbXs_-r1r=Ov!tn zrbjx5s}E>kLrL?Mu1@jkf_$cT4vAMJ(~=_VNx@M);kOECU;TF)PsxF+b50QRUbFW&u zYaH(~-`pKBB4=)qY`;kBq}arb-i*_I46Gnj(0&lvh(q=hP!a$hcQ~%_=x? zI!{G!Lt!UzVq-}CeUkXUlA5F6xD0JEeAzE=D>_R4LYH2mNQR>J?`Y;eWbT6pi50r6 zcRM?xX3>jLOP}#^w|$`eCCTN~>%x|Hz44!2QEkWRhO@(UDj$f5^8H#@RGph@r3X^2 z(LF&^pX6%eBsZWuO{Rq8w8SvO8oQtx8hMysk|XCf8Oj zr$W}ErsFisP=hWSqP28PNoJwJWW5Hb;O`2&;1D#)^2|NIzwp{f_K@WDcdd6@qPCwF z9VGhRkamf5JdjQe=XoCtKsdq;!`#SoLCD$u13V2Ks?meY^xKSd-o>}RBTyhBbQp12 zL;WD(UbDst7d_guIupBZ{Tj z((3$0_mA1wdCC2M&Fr8FrwS> zV9L*DkNkGy8^dEedGRwlgUMTQ)~ARx%vil_F$7MZfrc4-@4~V(HUGfmiz+3bJ2ZT9 z2A|j|YcC$=Gn-`1k6nhij%+o2h^M0VobX;4bZb5vRLw$qM?a^V6HtqWjxUl&^fVVi z+N<|@=Hf`G_zrglB;e+0lUL{2_HsfG5q+e9sX;*mEz`oQ{wW^9%|?f!U(rTBcjBG} zXKIpIN_Y8tM!5K|`Su4LeMM5_?7RCxTFMK8n|%!B_7v0aiFG6Fvl6m{pG zKP#Wwm|lXTrn%6fnaDko8mt*l)(x?32TeUk7iNmyiLnK?EZXuM@5FN{?RTJX)sX~1 z3)`3wU=+Ct@GDMc89fR=O_V_c9MeHILi^igqL^&ODH9Po!-2;%4d~7;ic!DfJPY{d zxCBv!;(qbfNb9z8Z2eb69CqQQ@JIt(lrh5pge?4{qsT8X<$Z?hClPfR4bX5a%pz>7 zM{39hVN)cj^_0R*{aF4FmF3AB51H!iRCovWH=1bI`&YqCo4YV?hSRQdd({liSJtYF zG6N&koBcBh;gY}PVfX(3FOs>;{2z^Eus-O}=}6Q01r-xD5&Q2ycN4s99eoSU+%{x$ z0qs{r(bAkx+{{D?C6#!otfPcZV-U_&BhCCi>x_y44KCda4l$|9GHy=*AV+qv zm68IoA&qEKl?jvRAkX4Qv3U*~Yq;?LO6a&!NVHwHdEf5Ryr0&|dT)^R69$zu%_ik1 zgmq3ENcbtS&n}cJx!l19v@NqPsD@H zcN`nZ%MFShLzQQPG8~h8X@l~*r0ryRNP3%_d8Znkj@#V;WQG ztYwXUQRh8-5?$w_-=IuhXOlluOqf+m*2%BDZ;$4Nitw&pC#+2od8bTD9uGSAP$#F@ zmEZmgJ1KnbJjQvSnRn1#RQexiW_xUcGQ#*z!vejBu7_5wN<}IEr{PWHY~QFN4LzTL z@nAIELA8HmL*z`LQ}~9gkbm>YdexJ()<~NCCn>rCx1Rg}myf?x(P=r~{f6>xS1U~L zIcj!68HaF!q-#0SqvMrS8R>z?P7*gEa1qtTREYq?V)CetqacxA3mKp3EQ79ahI)$N zrXdcn=O8Ky9l$!dLuuPbbYhC0^Ko+z!MVbB9n8cnWNm`Jmx*$ zN@D?$#%PX3&rwUjhTyFT%LD9e6uM*_I~UC``VB@PFB<2l#9L?qhk7v7PbIE?cMJCR zN$Br+&GD}_F_Db8lhwMZ1n_w*8f-A>#7UwUd5>i*Ju2u(KXuVNlBtvUx z1}(b)o!Hn`!YzUl`&7yM%rd!-b%wsUO44yX>urqAV~x$q*&@MXCs;T7jMGIf=MRh1 z*wJ^4bB;vwELOr%Cak&E;i@|d65 zd9fNta*KePEd)kyg*T-;kox(WFdr$~Hd`&foz*3B!IpgwRXZp9q7KOIoUh z&Y1;`eST{0lDT`H7QjKta{baK+cyQB%1Dub)t@Wg*}+jVJ#t;wHYFXAK$QR0X(#ha z^S{lwV)oVre?KE1Mg_Tupbe~BwKs-VlJ4TTOL3#wt+BZl2vWd&-`1Ro#%=Krm0`?`84oH{(9^U+j`!qY|;c40}uPSdp z-sStk_RPy8bUWpzq|O9hm_ys2{&0U~h;5?Ux5O97rVAAmT4EYz8@0-5HP1a~Qidf;*fDKUs`U=1U+<*wCvu34Xt+M) zpu<1n{u*kbIPgfAjhy^xIR#Wyx_(a!p_N7v9Rt`8jBe)^{fjKs^?%)z8tsx8=2z z_uc40*%x-^OC1gAMo_NT(G_1Szp3JVI^5gO=68}$jA8BG>Q#5T7GQC5j@0V#ywOa4 z75b;eDZLLVY+d}2%EQ)1SKpzgCqge|Dm`JY6c0idLk0DC`r#Vzqt2w2cjuL>Oj?K@ znPlSR9TzL;p7{QnDrHsQS>HRincLo-r;8uI@?v<+mEzP6ReL^B2W0&sV^?T$^#z7* z0xVTJVvCBGL-OSTz?#ev;DWNqKVfi&zXOF+!Qvr)siY)#%a`UV<&j=>(MY9h61uD8 zqks%-XM@)gb25aLNyXz`CgCCR9(Fe5GFqc}Ith|G42(j2hl}v+q;eAmNyswhdmiol zknH1%fC{94DleJmg70a!6tYwP98@Fhb~>?U)+HTwRsC~&ChfECn)^9-z+N962$_sJ zO8{C?>25)6Co3Af9nC%?`v9a*;C&m)$MOkWhj7efDDi6e;09JUl{QdP{{jx!m%7#B zABmJ82c9c_!fR-M|m+uQv925&s&qSXDHa4^SuLkKpf@tz`p;jog# z>C(HJbpxK(`5i0|?>Z|>AEOZ{W*%~Bp%x<<8TeQ19pQ74Y z@Evg{dG^^SD!wE3fzaLALhF6+i;@4s`>{{C#S{BUH+mQeP8P{h_WP};gO@133$yUoW z+B&4ECs3BG+az^ecr`#nyk9{1!JrOfqIAxue2X?x3kRYnD9)#R%pL7bJzQ-9(mRxF zjmcSGwPzqz1O=Y0$<_%^Q<%l%k#zC+FuM>1DRVAhG3dK?Z@NN%!ySEUXnEfE=H%j* zkj3bo#*ko?;%}Xk1vD1M4>`C8JZM(BCqRCAlT#!vSK##QWzqntVDf8(fU;u;?}HMh zk6{e*Vj~?d;bzEfmK*BWaf6s2Ub;@p>^k}iJ?2VhAsKP@EkgC6o6_MHYs#?KPB99-p;IK7Qpa%#I`f~jG6sr^b9-Uz`PBG6KO z)tT8Cvvs%0KMplBZ+E53kgso-Z`WdQ*HR}SIt(aNTX&o%D~XL5OLKE* zJ@1Y#PS?2CQ@(~iQ@nTQJFBgSZ{JAx7 z?WXj{o|;amSsZ|psR|>(?E9G2K~Vq1wnOqhmq5N|6^I*wMzc5!K5k=f9R^MzjzuOY zJFN-+hpeUJf*h5Wd<Y4 zaPT&tA-BR%xHIUiXD4T{dfG%dEF*0!BxA&QSnB*-XoJ)nc-Ic9b;mpa24v%OH9WqU zHAs(%g&ICoo`n=dvrBWRN?IMzKEFIX~@ujtpiPPhgWN#a!~_O9=2)`7WUMs1EU@_jCljWNR*u$_)WB8h8)XHM0A#9ufIcHBQ4W^-J)u zP=Sp0`MgEH$dX8sDy|P67Ah3`b-c{8md@&%2EX!j$@#3uGYXfogMrE4jET`Q)`#yE z%0bwf7%iSbd6xBkh@JK;d#;i!#vFa=E?FaY@xB9!Q|-MN03*P_gD;g7^TQ?eR8G|0 z3(&G|oP$a;802>?9aXWKFr82>7NbMF2l}R&CvhE8EU<17JBCiH3Vx0rBecOS%T+_v z0-_iKUMhzn+w7QbLu1dTKF#Fx4?bK4m^uwS<9V@Y-V=51dT0~PExi(499w@v9f?ao zL(Rt-c6bpx0Amw!s?fa%Z}%I)sh^_>T?FLxJouT5o+eIL*_KLcA)jhWJM$`&sI4*c z11m4Rc1exm(h#g)Bkn`ojC`&cptY25;xZ`opj^#htwwmxM|xC##Nj2JVW!X3cT$(% zgkDI893H1OHOC?(RY=hm7LS2ZD0;mQ^jum&C5bhnBtwOekjtGP_gdIt>Z7 zJPkZ&#|=jdTP3Yj&vLDIn5`0zXyPM=)HRWyTRXkY2W2A@6dv*FzEEQZCdX@+TjAHh zHQdP(*xwH3&@43cTflL|H;d zKE)@uL4>HDn@d1?6&fJ85^bfFr)f$Yu*t)o0g@o6_mra^v44wrr$AD$8N>|7UL!T-; z3|FUiCM#i*>d5tV{D4?*iTgnXce$g6n{v$7#dIa3i5k`z5HY!t_xbD?B|xkg!3(Q) z1Ky|_?xsg5DseN2n^hoARD#6pC}mJfGeh3ZfEA*hyf2E;S`du3f?%bB_k}D&4uLoZ zLCeDYQ7`ZF+XijpecCpiTBuV;Q^_WR7gr|HI-%QTFr2+A@LQ!?L7Gn8l=8{xJWX&) zH(+EJfS?Gy1g)ZD1ceZWV>JP!Hlrkh-;rE35<5}VDiT|8SX4Cj$qHfs(}3Qu+L!Y5 zSwm{!HrOM|@};@F8>E}b0}92X@*V1B)_~vo9W|8Db%OkWF>a@D+aAzdRn|q3yB$%G zRu`XA=MJz-l&hkO4{|Y};`4-u3X7Wqs;$ZHsN9CV(SVArcSPkblDajZyMDO|-aJ0B zQ0p8}psiL%WrJ#kmO_L0sjr0EDW`>VOsdpY0%Yg3W+MD13Zb_L$mSBoCnZR(;N$U;bmw>ThP1di{Ba2)60m3J7fwBCvMqBIXHJ;1|{=5=~ zK2Piq8fJ4(K3d;?&Y3CinD>(W8aQVCtIhBFTxY5DBvGHvUwicVy#jsh(#F}YwNL!) z*x6OF+tP!vH_>LwY%V6aU1(+%kn~B}I>*Y@m%cdt^QHaj`_p*7dB2UTHQ>QhW0te* zUjFXyuw!26m~;hp?t-!R6KEpoOHW?0AEKpU4HYNOC9J zBzq_Xa$9Jgmn;?+WpCGeGQS~3q6#dv${0JvckrGXrS$6}bb?O)t+O>um!9>FT7S=g zO~g&Zdyi^tQ~|mQA?w%5s;@h9c^GtVMb--+NR$JL!eiG>^vO^Dm3+pWYbi3(<_I{5?4? zo4p|~nyT_Mll05KdWbNMy_2%s@|P`}-8)*^cp^DrU(vuiGI<$<(c$%0i1wE{?^ES| z6>+^-07X#l5Ft@{C^7yC-5h$>!033K?ex!UsadWqJE_L5{(f6{ZocyNuU$u3RTyEu zJi}5eP2zP6xbK3y4qGVOa_QEB^^aP%q>TxpA|`4Z1?(`+>}$vFbk+3)!QH4* ze9y?t1P1+EUnzBxgY1U*`_D0rTP7b~k2JjLycUkJ7x!_pIPfyROIHiXJ*i%Ax;Xaa zsoG#o^AOZqDt{oC*JWHe&C^YzJas!za~llcKp#cAiHshJA(nc~xU z^>sDU`2le=`Oxrw>$3w0QXkBD#e^J=N~W;{$$k&H%rhU>LRdcwRbr&}^n1_E>OVr; zdca}%EiL@L@uNS-`F>`cozveP8w28!qQ@8>=~*WAQszjPyl{iTOVd``rHl6&mQM&R zj_bHocl>fE4PyJ&j;3^en%wW(|MvY^@%0wZvG@C+d52>0KHi^B!f*Fg-Gl@2WWG_{{rj~{rXv~3$n8;n_c7s>mL8l5=aA47 zJ}xGwt55B6ya(;~`QdoY&q)dN%VURKgL9CJn|`?s}=cMSMg9`BXTomCp0)e~ zpXPLDh8D8kQTU_H7Zrh-oI(VaXA`Z*Qxi%Fx9v%_T&m=XsPNs=I!jmYa#h93v0%Q{ zAJNQpgx^+r`#+atYq$+_C~Df$zt=upB=`C=drbM19+JB$J!EtCyl-uAyL&{?en&P? zH2XH3{7ZUW>|NUs`-7xEvMv$J~+^yi``ri%l zbl!RbFoU8>0l$U8_L|dIT`*n=EGQniNqU|J(Tn~tY%bf(pV4WpS-GA6L*sg*f6)5Z z={@aB5<2DAq8Yf_x+S?(9-9E))JgtSUvGQ9Cp;| zvzY@vVpkd+@x_I}%7e zy-P*yu#rrdy^VXN(egUWFVpMSR$ma#_}vrfQ{$y_8i}Qy%JNfm`C3f>_AIxyzvNIE zMR2)KO;%lwQ5Fo4nHu*~)SxX0xDUQ9zM!&tSAq9urs!m=(Jf&9;BGg?{N1*D-P7qL zU3tU+P1E~%hNznF+Wp(7BzZ#H)76egOfS>3H9E+4EO!Pzr*GDdx{d76$GeVO?C0hP zhcF8h@bVCXaLM__s1NL?TyPQf7HzQJ&;m)Ri)+EW?B#*ThFD^QSU-FfRPweCwjqRd zH1kGl-CDp=*s$;wo}G{%?c>ufc8F7#!jW8xj0wZJs;9OrGQ9?ukqdh3oiyNxQ6iA> zik!6oo5~_X8F?dh`{|vq+b9<|ua7@78YVjDSnJV3+GB9v!U)k*+o1qJ@9?P?8Gz3o zWS1g8T7p;p9~su%9N#!Po;>rCXlz^eIcT~qBY4CpHNGBm=3UHzAjd*tu>s$f0D_~B zcE?%V4#CM$p9jaTl=@GN;#e04QAr%ACGIkk47irhrkL?p*}II-I46B^O5bS|GD-74 z6d>7Z-1hL+GT|Bkh|?r1z8|sbzw}^)?M|nU>(XUEPmnXT*$@v=9wX!OrLV-<>SdO} zF2Qrl_@Lwcj)ypW$Em1Cr*jJnAfV3+fU4jjIT9@4C6qFQ>PxrsKF_*`&z)ZEqa!=L z8edy~85ltZ0nK$caQFBcNUMyo;8AHL? zTx|-^WQIJBeH;xw6~JHGf*#dF*^}fN7i|dB!`(^mHK3sf#FrRMhNhB7hL)+#h+V^4 zQC-em(ec48EL1aiO*mlrkqtQ=6nj>ZkW{hy_2#drO^!xuoQn zw+u3rq2~cIg)6tG3qkJ#E*p*UvEb&1zy7YbIZb>y~t3%CnF zV1%|e`b(%VQo0x`&ejNwTXCi6FQevYueT%UBfSD0YknH;zV?SB|K((<2RN{hLRQV) zn=%8K#V1wZFjFj|@!X}^{bsa+_X-o1Hvxb$)PT=A35Y3MC{jEpM#`dU*v2Sw^Z|lX zjqM3BCyIlpXWdvF;Kpl?`wy)1w-$+H&g=cyXTh?#ff>5J!2B=MO6IBZ%U}6UjsjGn z3KoZ5#3&nX?;%|ZS^)u=BkLRV&n0;!<9pB~oem5c3{0)-AO$rq^M*4oh&%{_qLOV< zB>mJf-_CviRWdiVT~4u1B~he&2~dNh=F%XYazLn>@Kc`tih`ggR|lnKpZE%OfsK@d zzU2j%T%g+0(Qz~Xk3?g~`sdEu?5d}pB@@m#z(mmMX;$5w09Weq2i7-o(zcBGs<*=F zHe?k5N?^+yGp39Uf+v*N)$_mvTie#y+wLx?9jr;U*V4q`=Vfe?&|Z zr~)`)psR?%tE3v{O?qP}!cJq~pRAa%`+0`%#laap)wN6L{SK+>;T>YF@ z9iO-~^0CJ1oo{ZF8dsF?UmR@+6oz;W#e@P@YP&pZ#%B@UMI{g=CHx6&UGTD6#?B^*okqXdrr?^!Dz`EvBLa#-f1jM` zsi*(SjO1*spBasn3G%F$Y5#b+CN+fvsr>+WmlN_SLX|YJ3YnLkK!5OtoJ~SdGPb!T z4y=ZtWih1lWK0z#+_TYDYbAo`bl?Pz42LeuK~buK`d~bmDpJ-ZX=g_B2%ik>u@uUh zZ(vkA-^k;wmmlQ3`AKUGA$(v&vtkVyCi{S~4o5!DoZ1>5P7kpkOFyz0aO|xfLl_ml zeuhVgFhmnV1Bn_oG0fj4YiquFi2ZHWm&%vQ)F}vAJ4ihdj2K9Pt$*J&RF}aU?@7=l z=1O%pBa~{S?ZMa77I;i6YtS3Is^v&p1M9>FnlGLItF=}xjJk%4UOw9ryZl5zjKNn- zPM$^zhKBw@LyPh2Dhe>l!$X4Mpy9G0`c$6Q;-_lhL3>)jpSe$O%BHP;A7r_Al(^b& zW!iG0CfB!A%mBh3M+UMiS5FqgHT-c90RTbn!X>RrA^k!D+1smOJ+E|8l!Xi}FjL%K zS(WSnGIX&ZyCGDA--N#f90vW{L$!)`2bRh}-iKb{He1vWqk zBhWaGFldx>=vHaFe_;%+^?u-_RBXO31IuWHWlE%4|A>E+3L0Duy5mo9JL47%OMn{~ zp^hJvV5mMkIP%{o)*cHE&#WW%xF?5XO5FNaF;H;%CF^5;R%SGTbJ+T-2Z5_zxg&)Y zlt>jc?m$?nr*Oxd7&gX_u}deGe3Bnuq9&n4SGiG1u|Z54S;1;UcmScz=Y|Ow4@uN$ zA*lGizACOdcD!#Rc|p&D`r*JGU&@x5_A@3i8n2Z*fxHU?{xeXWp67`B%_(+nXsg?) z8a?~^QQL8-*55M33%MaJPVz0%n70WAx7;JDysVEfq%c7Ow!uDE0{pTc$XwK^PhQeI zah<~jzm9niEC3RQz()`x$m_T_mP*LMon&T-$sOB+c*<}i| zEw9dqi7XJE`I8>D7#)?YHfa4aFhaK{S%nz+yKx!f8{0X%SMGl|ndCvKpnhwq)bPVs z%I00K0K zmSWQ}WD>2;LekwE=M{8-URJdW+d2l`E>pnnH~?R(n*TdQgFo7O5MQBwo(m+0@grSVNCky{4pdxOX3I{F<#wQkXM- zD#-~Glns@*l#R@R0iKI8<`)T2=gKekqKsw&2e*6X?WcdOG4@7YYC-CcU1Ic{O%-hW z{+fRlE6(MHh*aq;G3BEt_2XuK?!&~?4UtVCR=4}p%q=*|pPuHj=uCbC^Rn{G0DMH! zGV9;jO%BlvAixTAF|0FsQ!?duD|HL)}^7;4RXb@~w}wc59S zgPfOo6RSm5FMY8HH##(7wDUviM9drs+TM>1w9|)iL0g3BH!+MbnOY*sg@>#IX=?kc z9bM2A1gia?LdHu-uzn4IrVaCl?}ZnViX0X#Bfz}?YJncza#DNUFMdVBdp*luhR;eT zA=&dYRm|g_@3Z|)=ciGG2W1VK?3VA$rn;Ss`0d2s+Am!qGXsV%12KgE#cPl4Ph2`# zehNG*csm_YSCB6pcA+=fJNrx$3F9>z{x6CY8w9J)_@52%-_s@wtw5ag0ud3VB6Hmq zJPaC-tf813`JdSv>#)_>l32r^Bdqge7i3tvq^l2}1pIOMuu)9ji)#`HvNI##CF(AV z0PHWk-s@z+Kb%W^rz|0SZNSGAMt?_^nt@KFNPm%qrZM{4oK-&N+O5c|J%Jh}XG8n+K_$UqdXo-kS zh)ll|QK~~$dR?E*)?G}V2vfxw8+?{6^}!dfiADVjWF%Xdg46i$q!j> z47@0VBSX%}A;@0mGQB1fv3mRog=9BOIF-qUpSxQ$OF~Gy1Sf4I1_fs`gNJ)re75ow zRCo-DK6Xh8bK@Q($%#$lMaXeC20XS~ee1kPuB;9dx^qdH9Ltom9c_{4%lL zS0PkHO-a=JUjG*brmhMEWHC?)0-A!;4523edo5sjeC1mjA&~k_E{!5rMy5Tu!I5h= z=-uVr*iO?dT>HKJEB(y147uUoVTa>WXNXmS9yTOs8Vfz4K)wT06(P*9LNf0s7Ky;5 zP!eRh=ea`HDAZ?mH78rz&+7NjfoAKmvN9h#o-goS>Geu4eyFK;mla=+vI_Z@d`wqt z*vrSCqY`K?OZyGGv&3(gN%8SgVN*y&fX-peUyj>z425w(W+P0z>~>BZ@Do}h;;WoNj= zrOvA%#A@r69qkwk*wbT+!|+Y?VeYN#4H zCwt3AOmP_G+)Rk4V`W=mba~i6i$+^RC}-Dkh-oy)kHnrcDa)uR7^64HwD;iT`bCCV zf#6w@?kYl-r>U!J`i_iGeVg5IC8K5W!lFVs z5%se|*DXsTX`~Ow=$e6iHxWkU`n%M+??pQej}%tpiGe3nX1&)~U*Qk-3nm1TItZI@ zm#|itAvheY$j-HJ;&yhQTL~llqKBvEsWtCLipn-6NU6lS*z!0?q%LuZ` zfHOI8zNvW#VMcvcqORCUwHfTjRhZ(SfMW7mXr#(WC59%nvHN&YpS%ynD4|NvBE(Mh z1$v(>e`o>#4fnOmTJ$k%we67Sun@?sW{Mz@nQ5|!6Yv@p2_FcBBbgC<(Bx%{M~J$j zAKX3O2v0vQ4on+f41k!3^<7gCRKi7eQ)3oX60;46QB-qzC&a#t)vmiR?R-_A`oIKTW`=-DixQ;j>%R-L(o6w*NyTScV*nS z>aG=%%6Y6BYba%HsF1EI1k~)m6;}PEgAs0hl}T2B#h%-&pr=B``#Ff~JOnwVWe{WfR{C5zsWtI&yi{Qs;x8 zi*JQAo}}*S5q+dFd>%5a6($Oop1&7k$?Q)=c2FBe@Pr559(?v z{SVnY%bw|>hKGx|DPZ7X_J;Rv(?c1_iV?&G1Dt(WC$lCfT8m{5qEcOeNR1hbdF5Dk z?wX_BEy}Mjn5VFlFZcE1b6~K4v9tY@4k(^na#~F>d8@+YmLa$T<@Mw$;Vdekj z^Qm+sIV64iwaQFXR+NrjD=>II5|bZC$X>dRTMj`!mSX$su_rIX&TWmOiwdn5D$DMR z7UK|$B1$&8G(GRQIs>S|uxA1=7;tS{N&TH>zB${4E$Vr6lx!~@=YTMT81pRpE&jWQ zy9@K{inRy>v}&|*(%&OJl$?RIj6u2FFnmwgrQ>t2Vd=Sb2E1r5s3WU<(w8y{kYLch zdH*B*Z+=RvBxS~x*;r3H*YwE0h+8m5{@KaA1k{-S|Z3Cnn`Jv@Yb<<)HGNfm=YCI#AKuXqp!d$cNoQr5xS{@cW9&Zf@)}%jKX9G4J;e! zX(wpUiAn2v5mHDncEoX8UzymmH=`qhMG9=cF-D;Q24RUFv^k@J+I|QMKCJ_E6yBOu z(C9pbDF->;5X zNunhB_(O;+U!8CDGGut31hbg%2570z9|zlwF<0w-@b>$oyCY9$p-F@Y?P7+RA12ue zE0u||tiFEZm!S)8@D2X!n|$c9-$IvZA3c{gFXP`mV@i?Vs!`s=obKt0j$C6T!FV~J z9k#}#j^0oxMj?~1(NZga?pDOrng4Ls((`sofoKHZb5TbioD<=mh+e>~MZF5$Z?h`S zfFigd;|xIZL2(uAF+%W(fJRQUst&5C;tEJGuknXLWF1`g-TbChJ z&Xy6e5lb7R9EJ>Y!Zg(S%6!tO z_I2j1Q+lxX5gH#wq|hFEhFrma`xXXzyP-5%wPL~SepiPM;s<)VBK{S8jh2in@F6){ zcb*iP(xmL`tYgjObd2|TX>FnTm?^)_3YoR=djd*DwKx$xzrInb0>po8Yy;>fJ;!Xq zGQ<|`0ARVV?wgM2$uk2FKu9k z`GDzIVS$M|f4Hb-jj2~qr2Vy77e9E5wtlrHYNXxmdWY%AraJ(+kwOQBGD9j`U4DbZ z?Wi9<4TfmWR^YZL@E%pTB>Bk>0mcdKac5x~Jy@aT9FL<;h!qB5R!r(Q@v75#gN%p2 zBOLNxB#(=#P;Ei~$&XpvwCdDz+U=D+kIJDa$IU8n!)Qo9jAz3!nhd3@CT!>@)Wy}< zI>ZW1{HsDLBT~#EBrNZsLPILe#h#e(BuVUpeza`NBI_p(u{7#X6iqg7 z(DL0H1Yv^UXac$4iaigq%zT*tn@o;TRkcAoZBbRt+4$#aUH_bkg3;=M`XUjxh5C*B zoUM`jse{1fN&hig7P4_0fXGV2$kKC=n&A67gKnW)OODj;nf*Q;mr|)t`L?7dZkGdX z*LicfJ$rG(N}XVA1U++Gr2T9v`okM9#Tq-B7*6jvF;gA& zIss$G16TjHW{us!WW#$e9`0Xrdqx2*U(_M-(4RVf%{^+ZVtnvs8DAQ zp4=5U(Z|pQnHRbYvFqNo@~M?mf5Q@v7RnKyk1(n>?EEYP!WTNbBWR^4vgLU62utLZ z)u-Ls&%6tuNy#TMLow_)2s|0k^mk*g0E!9v$Nov_WPDyLsit0Tg7h7yxo!te>8;%U zdnOWAN7=TizfoNGmS{G8p;GP)BjN?`1cxH}&KC;%RUFgfUIk+!GOlq^5MQGm6LoPr z2QW$ql7z|!lzkQW9X^SepNX@o)`j#?=_HR?3T*p@M_bnCU?qLOW~A3l;$y~Pn`OqO zXO0(cN$SP6NUW62S4&nh<>4{^TqdQ%!c_lZOPBN0FiCahtmdBzW_@IDYSw&rm z6V+`df7Gl)kxezQUS-9E?T41#YQC40n8uNU2h>Rz%d6ckxGJbbpEu?)0he~-n}ct& z*g<(?=AgU}zRNISzT_?MY5N#1l+h*a6c!oTgsizDTF83OlvlcuTK9lTU$Tz2 z82Y~~MUqV*W4BDKysSQ3NrFKL-u@?w>f@&PBkFdJNB#pOOF& z#2^6ay$*1Zb#Ub7X^}dOJH0XCr*4nRQUkJdt>(rEqtP0bXsAR0t^{^fEMFilZBv5x2 zb|4)vo(TJvHkiA=Mkyu)>jF$@u@OnS<-P*^8KHG~N@dXF<=UEO;Kc*_v1&G@H56?QN{yvI9 zOOSsQc|Z2;t%AlLbT^5*k4F+W_6LXMAcYJrJ+Vw}$ZjE-MX01p(b#Jh8-fVynL_8; z5OW(AAU7Zkzw|}z))Yj}7UrugKW3SGyfCKTXT(DIy}q5etHpo@5iD9=+8}{dZd`1` zGliR8Ue35V{Za24o7(u0v6vVUd7T7va5N|pI=1~{@FIRw2X8|7?THJJd1F;m7i)m> zjJR*UD)O#}#^;E7vDF6K+ljce`%0)Fp9dV)x_v}&ff);E?fJ?orgcue*0W2e|GKVT46;OdimOEXsWV2!^YC#&Bwj0 z^;dmV^3Bs71MV|DtAEkHJ;BE1p}F`E&M+E6BU+gz7QD?|BpwhxbBAOtQ$<+(q3wO< z=R^1A*yE7Z#^yiQM``*sV(g{=JiPV442Yn2XPAz@bLezYPBM}Z0SJQ)a}?ztTb&-X zw~6!y3g~s^?3<)xd7HOcfUe?-Kp_?1< zCxZaOgh@oipZvLvtu{bU_7+ShHZrnrO#YD3(>+2GfjZrs6T4pYO@?XZ?)6P@$ zBrrc1hVKD%!o6>Dwtl;xaq@QVYt=~s(STj;Kd-Id3>9T$;HaRr-MIza)V^!Cro~xS zEh1Y{%1~KB50^+s7i)RDFsJG%cx^WpdqCHPxtjYViKHa!gUpsc=O1g)?~m^x=fKl5 z@;^|lLZ}9hn^*p*ssiQ0yD1N3@!`AN)P>iLR-|j22w?WV4-FT?2aJ&ypW_KXni@@& zE(r*kT*7vVAHkc4lqM@eNDNGLB99rLpqyT)IP83P79|_^<)l(JE7V$HIxcg>Dktt9 zcMzyI7ikGjJlXoA;TSBj$t;7qCmJNL|EaM1t6Du zWIwS-xUrxk-MOPB$ zIrZPJ zvA~l)zY|=@O6bW`sd_2ev`xl5_(_dp1vA=7yg3dVaG90}5~<4+FY%hx(Ta!==cY)t z81m;$pMrBtk?-q-_@oo1=)hCleC7ac>65}rn;i(rS{BsAV}G1g@T^F%jGZK<8A*+c zZEH~?fX%%cI{xz2R5&+&dGwohEmv96mJdI%6P{spK#Ogx$mzH-2?rAFghAr1=7yCS>H$e5w-OynVGXI$#p4DnvEO z{N6%jV|4|d_*2Z*G41P)cM|%NiO67-Ns?gw5JrqAjT8Cv9u9=|7(<#r343)(UX7EA zot{JY+=Cg3){Z<+=j$J%-#9pIWmbrKf^j}?0+eIz!baSJWdh3<3kYDD-x z!NK{(+8bHD!shoj#P)KS6aBrmjHB`+$Z3@@G@B4CDqy67y%Ou=CS*UZKP-=h~>*d2YVZkYVNi3mLUt-swSc$Bby#`$Yu%lpm7rxXE+gr`CSbV&BmtlW= zcN+qk@li8pETJBXgMuK*?QK`30Wv6wP;8 zH*G5h$7qjjRx5%3{E6~sER}y$apAC$-8-2wu(aW3R9TZF<=i#QEpM1W)6VD`#*rwW z7NPmYj^pO|iRd3kI`N9%?{2d2Te-w)BI^&$s(#Sp`p+KBzZ)WJ<@HfjjWIW215=nF z>#Laz@$$RCtBxUp99AqO>OXZoUX#vWMiG%3=-udv3yvONbt7#FlF}W>0)H{TlnH*T z^sV4q4b>keFAoNLPDpY_Z{j&lLK{#{i@m|_ovdJauck)wlp42yNo9a7)OV&wO{Bec zykvqxQuCHvSe>|HFBfWM-F5Jhhs#qoQi0v&Ql})=={nyF_nP7l#kIm#%c{)-U5BFI&N-T@AhyA z8P}WMvc1uFYj{rJ6`MXHtBj=GSu#Ks z6%i~uH{U%V1@&v?F%@?*%FS8N=1r)j&qaSf75v+X?Ij=oni9GY7L`P>XSwFK4_P~< zO)8HG{ej_|L%37AAu|#nW;;5}^dAk;y>5OckcbO*WRZP@m$W2ZW*-S2W6e6Ue!dUr zS+$0M4klHWDbB8prgUX>m1PsznH9^AOd~X!KYyeXVoj0Jd7{ZH5}wHF!Ca>|ha0tX# zLp(PU8>P_YSe^KqV{G~+)nTE*Fy-w^zCl@-BQZ^6{RxIBMDMlz{I>X%S(xJ&(U(eN zH#F=2N(Yx~;fa+3wq=!uICWt&2YAA)a zZHh#uf7k8z{LeR}qlh~{r#<-BL%+i!B?Ok2SxJ=Mmhno_hDR=Gst{YT%)j?WnFG*? zP1aDoMOUQJSUxCGQ8>10I3!28g2+PnvqA!!so;B)N(iG%fkl~(W}&=a3>@eUPho>} zI20g)3ZOGM0OJEpXhBerh6>PMP5JvsyI;#N6%FF{CLt7(@YG5XH47x{9G>^l)oxrN z4m8|@tbIM*(aW2vh}cXlgoLsI7zRt%~aUpM)U(VDk2ymC_|{s*ID{=*Ov3|#wpFEO!G1Wl5zFB+Sj=reIsm>gXtu~EA#_G-`Lk}C|&0e zKihpP?r>h}XX}H{En76p6t4PAxI=T~y1 z@h{TWXzHE+=%Qr>RkVndQbayh?p|2j?5$xRRE?vQFXQ=j0qrYgEMp@^K|(-D0$#(w zzh53y{Gq&}ua8fQDM6M!CfFLgyXg!V`>Qm%?=Gq0*~3vjw6G<{WHXv zS^_^2RQm1JmqqOUFgRbge5^_GL$k4Qu;~%!YnDOz(GEL0Rja7Pg)mV&wihMGwhg3C z3}w@e^`&np+5HUJgOfxk7{jLv-djL38Ci8eUL^HgQ#DipP4r~xz&8e(C)hb<`j;33 zK~}vr!&y1kZU#i3F<1BMq5OIv_iN^zP8Uo)klpPz%YyE-3XpRaTLo#9yzt=dV5!aG_ zGMZuuJvyt^vZ)RPPd3(!dk`eLLnIH zt25;UMBU{vKhtyA;)mOHI0Fwe)OuVhVNm?CYA+jV;f#Woa`{dKo~G(zmy*RiYxDA64>Z6-OEGxvLy~(fHXXP02XqUT;P_Cf&uL zXD7BqSRP3H?GKsll^gJ_Ey(y#pOQSopTuBdO~80zjqpgegNoq3m4ivpB{*7OB$l76 z>A%a3IDO@!hDB`jLt(<;{HYy3j)v^kU;=}r$`n*v(@|KEB35(*viJqN`q_@}4ng(t z*K%BRKNpS-?^YvY%X?O5X$ntJ#ys9y>+q})NjmF$()%;;-r@sGza<(MHwn1DTU4Jl zxjN?jm+>$#fxQ%#AmRU%)xmD@aP>lM3zo@K?N_ z9B|1mm_;fR)TGj6Nc5yA0;dW>+p$4{?9Pf)eNd>Y_vfgLU*AWS7UsHA9}UShYWKDY zUQs{KLy!5+l{dNWRn&r4agK|dr8N(bC7P<{ZFgJviYlJjsnUj!q2G&0;QmK<4-5I@ zqr(i%kDra0;C`L+pn3JOJ3tRY7+}!s40ZfP6OUL-iujQlY~)@mFR90?_imq(bdA{= zbFF9o^Y0!_F2;@ZPl0)_35rRI91!XuX()<>XhXK-gDDv25R&--ye&aAnk<0L;@22pV9b>leMfr;CjV>jKd^ENARk9JCsFyQl?zZUlBbP z2$aJ}WPHcH@3V}JZ>h67$4E_h&6ReB21ml+ND})raeIm18~9$xy(%+$unz3|i zNHqF`w2em3t4$_htcIV(t}OQdjN8`Owbpch_7~mu#O|=F`MxIf5SKgRBuuI!eDU;* zm+H{Tv8VyhQhoJ>3O=lCWd;Ym0whi%w?LZ9_OHTevHt`-G$^o@1$2P zy_aDr^c%lu9I(MxT?`XPv#$4c-KJvKo1$1e>4T**qi!cxZ?!NQWWOzrJTW_oK7*hF zps3Gm(i4tPqF}?$zn|GH+yA}Ucv_rB@K1hmMz2v4A`?cc*w;A6?Rs(!5=mxs_w+Y6 zO0KO_@32CXIerY}2(EH{7y8Y?%Zz-pk;mbAm8%vbV7nF-2}$I;N*>&rAn4E$%Mc(^ntnWXrE;fd@cN!GIU zYYhGBC(rB&ugYKKv*k`%9p`|amp`2Uepoe0EC~J)kPDWR)@!bMd&3HCNihiCl;E{_ zj*-EUVZ2f=f#m7jmrmz~T^qDv=bvK!UFUAu*UPzA8{guDK9LnG#F{pw5C5tS7|ltb zD#sKd@ZvXQ{No-bt|~%R;rvT9Lv)1z)3cz~#f#6s{57eiYIpQ2<#uJdQ>K9mSBR5M zOtV^u$CorZh1MWgo<4-{DMRVrq5!UZ(W{zs+UZ$RX`QYyrLQnFNmEgY` z-y2G&>5VM@rqJb=kMbKVAMjG4Cc3y%s9l5>A)$Ll4CMCW!AD&r+-@?~&HwHc69{=; z8_1RM@~^svi4i=?u2x}x^psEjo2=cnyybcg$%HVlAg;2@6xvqSGKQyV)xSTRq~*XF z%vU_8Zp?OO_@i5=)>t(5>Idd;t>%t z$@ZuG5~0NvH`adQ4S))gWfH2IbMHRqe;=0sTKAr3!ubBtm@^7?JQ!#k%YEX*bvKaf zaj#itS==Pr#Sav2YZnV|_(vw$lXVda`sw>fy`i>@b@fs@gA28S^L{AmxY)`qz`REU0mbn{LMZUY?_5G(51x`3l{ruVJyx91! zdQD6r*x#{L$~;^6(C8IZL7$Ns*AQpK1;-Mf|8G2EM2Pd|_LK3GzWOJL5L6G0G{mwG zsjRJnP*)&3*@Yvu$aem{hntL#zf$7y^J?CmkJOR>@Mff9Ol`bxe*|X0B!*G`14|Xc zoP$lEJRtOc0b(AV;iStjqrt=^Jvs)cVaS+ka2uB({#9%X-ZTuY8%=tq^wJB_Yf`C~ z)?=*ub0vXg?;znkxwjQ_uhjoeUFpIRB6Sj#l~sTBi?7}9!2y;Q&nzu1D*�<&}G` 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 Date: Tue, 15 Oct 2013 15:07:04 +0200 Subject: [PATCH 157/164] Fixed corruption disaster. --- .hgignore | 8 + Graphics/Raster/help.png | Bin 0 -> 1163 bytes Graphics/Raster/minimize.png | Bin 0 -> 1110 bytes Graphics/Vector/help.psd | Bin 0 -> 596155 bytes Graphics/Vector/minimize.psd | Bin 0 -> 675278 bytes OnTopReplica/FullscreenFormManager.cs | 117 ++++ OnTopReplica/FullscreenMode.cs | 39 ++ OnTopReplica/MainForm.Designer.cs | 600 ++++++++++++++++++ OnTopReplica/MainForm.cs | 422 ++++++++++++ OnTopReplica/MainForm_Gui.cs | 118 ++++ OnTopReplica/MainForm_MenuEvents.cs | 203 ++++++ .../MessagePumpProcessors/HotKeyManager.cs | 167 +++++ OnTopReplica/OnTopReplica.csproj | 536 ++++++++++++++++ OnTopReplica/Platforms/WindowsSeven.cs | 61 ++ OnTopReplica/Properties/Resources.resx | 238 +++++++ OnTopReplica/Properties/Settings.settings | 60 ++ OnTopReplica/Resources/help.png | Bin 0 -> 1163 bytes OnTopReplica/Resources/minimize.png | Bin 0 -> 1110 bytes OnTopReplica/SidePanelContainer.Designer.cs | 46 ++ OnTopReplica/SidePanelContainer.resx | 120 ++++ OnTopReplica/SidePanels/AboutPanel.cs | 33 + OnTopReplica/StartupOptions/Options.cs | 163 +++++ OnTopReplica/app.config | 63 ++ 23 files changed, 2994 insertions(+) diff --git a/.hgignore b/.hgignore index e69de29..32783b8 100644 --- a/.hgignore +++ b/.hgignore @@ -0,0 +1,8 @@ +glob:OnTopReplica.suo +glob:bin/* +glob:obj/* +glob:publish/* +glob:*Thumbs.db +glob:Installer/OnTopReplica-Setup.exe +syntax: glob +*.suo diff --git a/Graphics/Raster/help.png b/Graphics/Raster/help.png index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..299ccbf9ad14a3a2abce2d1d07d7259faf74dc6f 100644 GIT binary patch literal 1163 zcmbVMOK8+u7>FQfhzhHIqya0W^ebh7T##LKO&djxh|2(6Gk$ zKZM;B6&bQiWn9khkWJ*ojnF1ucRYfosP3M+XPBc9g9;qBU4{N|;}#8UOQCls^K9PB zz!7`fgbxQM`b*}-s3}==&sNY~mkEIbu>tB%)eYpjLQnI`WFBraG?+HQqY6FaR5@P& z8RSEdj0-W7R8=4Fn3{2nlu#H?0G8z>$h83E4IunB9 z<@0mIZZMlDk}{@lcnlY38OI6Znzjyb5q@`LUhAMV?m?yq12pEFAcE|nGDOTDP84xwo7PYb8dhQ*Mv=7o9NDB*`H$Nj1LWr{1QUd zW(5>R5JtfW@<3)l1e(i zusD7wmgW|zz;HTO`eZTJJkTW_HXTJ^kCx~F1vED literal 0 HcmV?d00001 diff --git a/Graphics/Raster/minimize.png b/Graphics/Raster/minimize.png index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f6684e583981191fabe21d762a9ff9537cec7dd2 100644 GIT binary patch literal 1110 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

    4m_PT&$ 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

      qW|ll--y_kpzrDEcQmy9EJb-I>4&)}0 z$sN={+(jM2M*>p0uShCis*>!19xx{9S93|}tEHs)(1|1u{Yl|bEQufGknmw02_9}B z{=-pXA6_EnArkpVzX1*}Df)+Q=&#!IcO6m&`W}sb`(45K-@tPyx8VW23;zXvfbPer zf%uF_`X!O#GchSVmyzhXI`MzhBlbrlq90AcB47`EKn%cv|053iA2HFN?*rKJPhWvw z!0-R18Tu8NbD3}87Zj=Y7evYrh$N4R1kVW`3j+^Dj2m%M zpbE6`=c!;OSODK;8PQ*!APS%z9NNL59ULY(hfZ?XF^3(#q6+%im~*k0@Ep=D=%e2j zA7bq9;rW;Q=sUuv^bNGXBeWYJg#Wi8Da1tp_w`!B&||oMZ`c0%zhF_zxrpS)dfuLw+^r0$acU7zTU6A#f7B32uSU zz!UH*;ONi)3*0pL57P`$(gJkxS$z(=WkH;h1G?zTaH1%Nsuzdw*1pmPZ{(~WyiqAUZ@tBX$ zE<;Q_(Vj5)L5U2fm0&DXpcQ{Q+$Zik6`}LO=f=8&1HVkDQBMR z)HBa?TA8Ohoy_+-o0um${meHyL(JDYdznW%N0^5?=a>gNx0ug$zhpkqd&c}n?=SX! zcrovScfg&0!OeyCJk&qTL;gJ+1j&}**TXcADf(x&~Er7lS{0B?idtZWfEJ2%4pYo^04Ekw-1${Tyo*tR|(0#KA z=2NpI=0npQ=B{Ze`>ts%d&jhiy=}UdchhtO?}lkF@4D#@{#Dbx{L7}t_!mtt3f?rm zD>!TRt>6u_--IXNy&N;=1o&2C!I6K#Ekgap66D_2JmQw29q=Rmv{k2PR#WKl;yLvB zqNVhqr5nAoD2Tab8OvO^Ok=ND=JPIDl=ClG)bY<*Gz-pJbO=vdY!tq+uwQgy;jrlV z!h_=+D7~DRM*@8q1+AsrOSa+>T<-9 z{TdVHbzwDdEl=~hXRafZ=eP33bbdp2YB)N z{euNt{bIyDzDbe|KAB40-UZTiUKPq~z3Nogc($so_UzJV@#xiT^4P7l%HybZqsLX9 zdXEP>^%2I%I&V$|C;1NFTwPh){8Bc#NbeEJ>*`G*ea|QlL^BT%ooixL%_&s7|GP!)Iae zq2!nY$%sK3a{qMXJE^$enJA>5Bn|3HHlg+;3#K)3IlD5!onIgCFIo{7rcf!5RV<55 zmX^e1sT9Q&spUskY2-$)($0?R)Xj|Q)lZKcF-VPiV@gWYJK%f$l<2>-Q=>V})EG`Z zErwH@yB@CHo4? zlR^|q5~CFh6B4BP2^q>c@%d_5aTOXFagExk^0m6j@-6y_^4$gr@)J|y) zbrRw@O`x6_$Ei*74SbmQG4_`bgOkubn2Q+XBj3PwJ(fT1nJUzrHI*8(%&8{Jiml9a z;+1B235(K$#QABFlAP3dX;w;_a(Z&EYHD(sMsiZURzlJmow&pvz1YNIgXqL#Q=$@Y zf^Q6>lm5_&N#eACMr;zNKFLEIi*I8Nj(cIppu4va^Pm{({UX%e=OO3GlTt&TKCQ@~ zLlt?8nUY+4USW=hAU8Wel$9MW$;gr`rDmqck~6YZ6EaHF|T9n1g4~=R?rnQ;Hgta^#(5c=rL? zQD3A;)y3LWUObbEi!GS^qUCH(ksCj=&`*?B5UP-zAETI%pCpUR%T$TUEmDiht=0_B zY0(bNUauRRy+c1R`>;Vk_B8|l>__MV6#1hZpCo zh7?z-2NgAG`4@HT_!bW8`V@}oc@ZVe9ojIk{EoBnx9C&fH9{iY^0AXZJxHx=;Trs3N zRT@~GtL$G@uIf|OsNq$)PRpZmo3>l!0Ug)MOFAx<4|H5Be${fT;56LIIW_lkPIZ!7 z@C46b4vtk|E@JuJyAu9G6Z{8I2C_hEvy_sWbt%4O7Rg&Indp{fY(%pwFRa;@AKVlo z3}}iL`>jfnc(2S>@?2S}?ABPX>eASu?$p?);n1*O)4uUdO}mEsn)dZC)a~mzHHSJ* z6{t*d1u-~|G1!a#Z(oHNv?2y=m>(&Wm*iLW`^YG9L!~p&6U5$AF-KKRIhi=^eMoJR53Eu^Qch>rERwlnKdgQZZ z7I|&4AdfA}7`H7hjLQ}u)@e%!&tY>6-)?iNz;<)K$hxOmytHSvWO2_HMa!O1MT?$u zN)|nzDK6ajv*N-HoZ`aup!*+AR3ZlG{~-Flu@m|KdU!CJR=tKTJfc$Se?!gZ! zkkgPlISfrB`ysrCV&@`Sw$qMmce*pyJN=oZJ0sY|I}=#To!PvFJ1h9}hnfX*hc*e# zhxQ1~hRz60hwceYxBo1fGsubN3~=H(+x}tPhuR7KE$DmaM&#dHP=m1z`6qPc!|-7C zpax+S@1op?9Qc3|Ssv6Ri-U%=@SqvZKe(9YjoH!MF%L2y3na6#Xqq#Y#>^TkW@e5x zGA3i|S>v%`*67eF*6`5Btl@#@yy^Qn-t>JOf7;%E7=ivoEfV_P+>0@QcFr!;06;hN z0G`7b!@C%cAO}8<9Q+L)nV=@c=!_;Ao|z6zX*%jsrk!0*Q_s57l(Ru(a86Eo=dwxn zTs7&OTT9yK2TAMvG155y9%-I^Mw+KNM)MTMXuQF(lMHrY40_j-(Qn@*UlyA)^*)1F3M$%hBB)uI^O1JY# z@pdCgZf_!m+j~iT`wDnW;#d1 zbqF_zv~LlqzJomc0|ALYR3hPrY9#nbpZFh{5bxu8#C&Xx;yYI?h=Q;%OawU5-fO{y z858R>?D(_WC=mP}+n0d*FC7^BdW`$H2b6LY&mlqE>rK?aTt*Gbb$9?bQ3G;^NaKCf zUwnufh)>}^d_h=rh=3F~q112#L>CKUBP@o@urOVM2SS~(I72(0pdH`g!2f;?7$ka% zz&=GMo_fkk_ym3b93I4%(0&B4 ziwV9HVBd<^mkQA{P53NR;Ze-OBHfbcHwPpOf$&F?;ER;O7ikAO;E5aq=p6Uie-$M<^ef0eyG`|Km493G4{{2({@E5Z1!IFJQOz<4a0z*?{#J=_X~L1^xR=6?Da zv3O4Bp!^nw?KAow|2?7KFnz{d830G=>wm#bN3K5&&wm)G!}CBLh8Ai;)Mq0mi%|B1 z@le8eC`6&ACKcqCVkNM;^IAi4c#_$~sW$<6HoeD3;0CPkKevpPO=7}f$ zp%O~JD#z1L%9->`xtN~Hs_8q~O8QpTMqkUi=#gwQJ(La51KBRRFFQb=%TCZe*=71f z_7Q!c@`T=1eMxWQ0k2!|UT%W7P#be&9DE*!n+5-27V`fYxc@&B{=*E!!x-Z;eK!4W zu$X?2s|zx~El3pJ+AHhgxgt1Fa48zE&^2tG$EnXphou zouhP9=K{T@^DbT0d(2$a|CKqf54X&KW6l_G?CEjf#Z1DPLEjAigBkpXxoC$u;xR{) zUd)_M-y6@RM}{`^#WWB4cv=YEogPQ;Oi!oV(+lXPVFleVtY@wnwlG%=JD5v`8<~rS z{mccUVdk9C0p^U+DfYDS4fdq*m+VoKpV-6jUBNsMqov(H6_!MLml+(WXV5aO2+y zu$^GyRY%bO2B);ooKSxN-nPg0E?SA{vXv&Cv6)H7ZI{rYWzMvJnIAJ^8_w>sjpyyO zN#pIX$>R^&lnS<4uMqZGuM%ywZWnE~+9>X^8c^71H7Z$ebwbi@eM51b^;e1=HZLUY z@L$&0a$+EQ9S-`>p#LQ5*YHC9gFA8_M?Sq_kNO8kL)z!Gkaj!U(U7wzGvE}= z_BlrLwmK&AdmJ(a8yyOS>+Q=$UG}x&PWu)~huu2GcDt=gZFa-bR=dN}7Q0KbCi~B2 zEA4-hHac*MK+@pADKt28;z_t=e_!T4f%Z+D+Ajtm@AShu*AxDO8~g_k0~+!)rvXnJ z+Un`b^mzEO>)pe7UG8#0hg*uU-7QRKgfc4<^x<PT({i%}e&&hxiP@Lp@%!5zR=j-8!K@9GB%dyS| zL(y34hw*7cm>PA48&X@ud} z<^?q<=LEK^W(96m%Lp9SNDDlsnHu<(W=hc48Yw})tEL8X%0LQ~Ciw>Q@GfF-8U24F z4l%%`emB^L&l~Zxjwlsc9X*v+MVnJS{Gb)lj%;O=7q2WbkY5}TAuNc96Xk`cD&&Oc zC}xF~N;AT0mD563tEPl*QcnsU(nttBq8T50O)D<+k!F0@OSSkgPB|f*lL0AE8s`zl z;T^>N0{VUoOP+nHhymCNKcW*qYn97rWt=|M#m%8=_(A1y_H41-omUX+&(Dhq6J*E4 zh%%#-6w;%!6jP&$q{&e$loO*`RO2GotIH#|Ys5qz(u|J0q7@bSm1cC*Z)(v|oJvd- zCj-(+#y!DX82_^g@L-_5Cj+^ECUQRb5p9S^W1(qi1x2Xpu?$-=Vd{Z+Z z@e6E!Q437uRDu#Y8IVr$A;#fSJkAH`_g-l4DEQlh>AL$&3|6W~3;DXXGe`W|T>T(;Jin(mPcB()!eW)Ank3 zr=JJ+G`!P(R`W^Yl!44QjgwCDF6Q01A9pw#<4}lkDE-@mS&eN4+ED7?PhP4$8}t1mqPf`R3NiymQ-CJaf0Iy623l zx#gZ!cg_7o%`N9ARks{Y**%Aoxo30INp52PpT-U_fo)5< z(7L%vytH|P!s6y($)e_y63gcIB$iD-C|IuI6f9SQ#(y}Ok8?sLV$gsXK(Bo@a=$g> zbuh?%I*|Kx;{NYCJOj}sA(t+7a_*i+j@_o@(7lN4yO-1QZdbDH_GN6k!x*dXICe>Q z25(V!3D2Udk-wm;TQIL{NI19axX`@o9ijQUr$Vz1PH46kv~!|K4r9!BLBF>J^8nh- z(46#O5;h?Qo00!-C9>~j$huEPOZ&8GNxu;->Nh9L{>5a`Z$}IJ-D$zL0GhWgiso)h zX3Vw~Fmw8A*;)Oa?9Bc_)};R^YutaEHSYVKXT0?`JKy&se)9gJuG;73&W{#NCjFH7;GGb50BOYWl z8cc?xa+*GxNmEBFXv%0C>5ul2-sl+Vj@}^MktdAq?mrowT^y@3{0}=@;Y%at9qVyU zM4wCgF$UXF0|3o{J$MdcFP_8Lj~w_Qa`3~b13*oR?r~+(Ij&9G#|=sAxG8C(E=A*n z9jTx2B()PEq;@iqR8JO=%E?AjKDmixC-;){^8*d;!h#$b&BmN%4w|B$qWw;qp`xU!F~( z%XkOHmE|P3;tB8!$Q3*Ta;1!zD{UwY#f~o@!}eWlpMpOC_g^+3_N~2t*Wu)#-|^56 zJ_7v{&_9LvpM?i-0d)wM@Epihcn~)TehNbjYEtNq3edtuZz_uJW?><;5DUU(xDb2d zrVJJ%A7p@PfIzK90sRg+34Qd}8oG0#YXn{0x8T3r zh6jOe2<{SIcm+P;!EZr3?kQt2tbvDd4X`LTfhRH#3o{$|6llj|Tnry)VZn|`_jM20 z2VkyzeINV?ex9IiC(g(Ct0crc^z`_1P|&}E=U~v^>Cn}JuJQ-y`?&6B;7jlocmy6Z zSdfdbAeF*zQH8&vg9Wl7ybv?^6ISp-Jm616A#uP3@a0N?0e^`=zl6xkj{tTEiZS0( zFjQfPxd*hZ(Py(e@Som?|AT)f#Xpk5e!@L}8uuUUfDecSDd7Lb ze>jMLcLI#pg4_o8;SKx%PvZCg;eEWs-@Fc|f&5lY555Bs<1>x71NZ#N26%u_kN~nl zDX0bGUd&ps9&CZm0Ca}oL+pjt5x5O!;6+@A|M3aJ^aSDhb;9@f5&!xb_~Bo0+Q{`a zQ3Ih0??DM(gaG~n!GEA7z!?O97?1`EKqa&q&=2?z)Crx9(CLN8vK>0Rp>YrzC*XWs zg!+5%Jsx2Qf5!hgdI-MyU*PnR>+9fo2MrbCl(ChB zv9}WXkyb!wC3M=Lvko51Cg}7-X9zlb=>cMKA70GosLi>DN&E?Z<0C}sKiJc_OLZ4M z%mk>BxeF$I4+HoP+KPw=@_r4(Lv-on?4n6p^pUv^dG@)x+@r?cLk^Dj_^9&7JW`P#n0$Ee3+~7V6MP_ zx%@9UL--HVk^dXOf0!ac-3j8MgYnTYre9PSz;m&qZ)9Hdl{AdLkjB%e(hT}gT0nQD z74)98p5BqR(A&}ux+U94Z^`=ThHNKYlkKM~$|vcP$~AgZFLvBty%Pi#$x(N-I?Cg@Tc3Fk@S{k5?#~EqRU!E zbWyvCE@(H&^*QYL{OVd5+-1J~NZ5T@@4O8g2 zQ4Sq7DyG9m)ih?*$Q(3U&FnYoV)hzuWk!vMm_5b^m|e!FnPHRL%np;s?7)oQ*!~$D z+Xs5V*4N<7(f_$P^;qCky9oDuEpghP$D?;=Na#B1l`hPhMW^O0p<|}bbjZw)4w!}0 zUbA=_F-v21o8>XXW~I!K*$QTd*-CcMtexFvwt?+8+s5{qjqtXZ9ph~_zslQWexJ8~ z?$7+Lxg2jD=$r?}x3Az9p#A~64{UJxSdRRE8S-yycmN9pbY`9^9bI5Z2Q3!RsO56n zW$8&nmO(UV8O3a~Ok{d3GuSPb`Rr!PGIoSyiB3kcgPwN~#nYE6AOq)X_+v*U{Yj#NEt+LPIH`g`tuYwemvE9};Z ztL%CeD(&_tl-r$o* z?HOqILW7lM_wy7%_j>7x$Zk zk?UaTvk%LTA#8immTo`fJAN{1_SdHd|2b3}u$Za>?3r?Zcc#?epDpqWkZ*zYa?~E6U3Fm+stnhp(r_axikL_F;ntKB?#N_@d$Q?a z0c>hmI4?O&&QA#^ExwPC#>CB69x}R1&R51<}(eH^z*zVwO;Pv^|p& z?am}c`>_d8p}e@L7=CP2k{~)NOBfkhA`XwNlY~aDQ4ERPA`OZhkp)JcmIXxq2mB}v zjN}x71SkOUIPV8yE+7U+(D#v491H2l`7$sM(r~{s9{ENbkMiPFC@ao@(&J}SYP=;S z#V=zL;$4`yI3G49E|?b`7sZc^OAv(1GlZe?B5|<1MjbuMA;e+q>Z%%-3MOA07hM*f8^jBkNA<6RKUdKN_S+zS%2^Sat%}LC`edz0U==ap% zoKT1NfYzh_paJ86Z8Qi39(59Ot%v_mKb4#s=8$891vxa>l3jx{EpPB9+lFAqx*>*H z+K|dFZYbbcHq`PK*01F+sNcq)S3f40TYn9F&7WKQhhT0ECz!k99}Z&<>_%VvY7v7* zoD-VHpGCqrv|t{zBKKO2`_I5}HA}W_GO}*dCaX0@v~-O*Em^ae7Ola1DAu@%M%?TO6XHMxx0nkvS0O&dFVO)ooh%>j1Cnk(##w#V#@)xYy*v~YjZj4jxQao>Ty zZ(4;IK(k>DVz3r5=)^qeLjK>4{C_?2-wn72zfnwcH>r~OCOtCSWJ0E!=F*%^OK5hF zJgRXN$5cgw!(wyLk&PbY9O|u24WC35IZC^ZHFpN-JwTQhD^v{ zXfEjwEg`)jd(s{9BAua7(%P9onmhAJV`n|7;~^8Zox4eO=Q&atx=*UxeY1 z0W*@0Ed~yxH0Di;V-X}7OC#}EIf=&FNH8`){DViq9q^O{2mT`Ae(t~YAnqNAcLVxe zfE67ldo%FG#EoaBsv8CU`w zu@LbCIMJWO0e=nyeHNWNI|AOsBJBbA1#thR3uCwC9S-^&18x6<@SqMuADX5o z-~pUM9l}}oFBk9($|WNHRlFI_@A-aD#x#xA^;C!Cw=!V9dwsaI$y9145qzjzS-OU3?nvAvp*C2~F3$0{`VYJcygn zz60I^cfkijEP#~o@TDqz5iKlAr@<4MjT=LYut-Nc?gzrJz{T%Nob(tMv& z^&;K{f;i7YfA!H{Rp?4Sh7SJegyvV+ehr?0@4ye>89;aFXFm2Pfe)gB+7rZtGX(R1 z13)`CoD8`-un{2W90r<0paCa^=O97d0}BW~2qEXDd0-jv0%0HtNgJ49}u~$?f>(?_a^G zX~1_t4TK_~arD3pUlUG`3;?!sExUR z+L&{~VLBr`NT)=n>7@7;osfJ*M-^YtVJRwyz`=23936PY#H)t&p$}f-(EeFV0RKgb zS{F^auZS89#f5Z7$&TKVdeK#BC|#1t>4Gek&dGA6yf^euC!{WuM<#Qa?pXdtc zV-+R3qpC~S@XXkonoH@7mJ6NK_M@ZP;dEFho(}4y(SDs=+N)baqq^0!M|UOd)>}iv zdh2OOub+14@1{ZhBec!nGW8pLMq8#lXL_b`%qFmL8pmvS4SXHfM2XwOxi}5Z$Eh4! zye5mTP7~7w)GNI))rgKvTSy0{FQ-vM587=MM8if=w8J=&28}alz&MZkjmxOlxQ4bG zH_>L34rY_dW@e+w4raZ{L8fcQIcD9A516$xpE7G^acmn{4O;((!IpVB2dBLSu)mk! za$|*iol9|fv%p&0jHRP9WVCC2_}Rb`A#GlwPV21T!w)UZw*1=4J zbre%)oxs#sr?b`8d2FS18Czjp$1AgL@G7v0I-E-$sCV~9|G_R#)E>BCoo&a^x@9V~X89Cqu`{KW_KT_B-kxgg zJ*e8=pQ*GDW6JGgnNquCw%9I^IK0Z(IIWF-xpmz$|2XTqr6^dssu-$-mv>_gi?uxX+U6U%@ji}UP z9u;|5QGtge<$8EB*&YE*rbif)?h(tTx+k+K?%BK~_fmd>dz~QOyV@Tm!VDE%j(unLnQj z{8cD7z<@FXW>b2A1*HVoQc{33B?NdeaRGr$Y(NAX6A;Hn1*GvJ0t)!y0ab#~fEHnJ zz(!F}z)o>Mz;T6ufZGcG0pH;>CjvqsnB)%T;5qd9P!z^Nj(jT~xj$%)#k&{Ku0s4> zcCd`nLv$%6#Do$<=2Lu#70E*!C?>>%i3;&&B16KM@Q_$GG$e%=5|Yag3aJnTgft2L zLe`6XLx#lOAxFVY1+S2AvHeTr9l{BLV3M1N_bF)YhyG9^#vvKw0GjZ*3~|Z9xTHoX zQDTG^#YGrVY@|6wM=qhrNIMFTbfd6HUnV3ngb9j_W&a;uJm1JNzIVh*foDXQ z$RlFA$UX9~*e&vg*fsJSZ2uIxMR4N?++T4u2y+2iqY3cBu=GTlMr$)L7t;^}#3LPT zONdpVm{@g+!h4*%1%wiG0Hra-wD<1Y_l{N$0Wk350(l4tTf4-F$~9K9P(c1_h;gG$ieXlYO~?NpdHDG zNpzxs!V*;|BvGG&l4ejq(tPquwj$qT2l7t#Ag^S9#v?hLaZ8S4U6a#U=j0-uV^S^O zK54CBc~ZY{S<*qFZSocHP-vU<6LIlRmy&OWHhE_ll4qtFd1Njk_sr$wn&m<+Sw7^H6~Z`X#W41nDeUsheAYH| z1;`DzwiFogY#$Z0ip#;Z68S*|*1~Q6~ zcNHP;Kzls$;XmZ#dq4}OkW;}dawuFt_JvktSLi^?3q8oTFo0|dBN?m0BxXrr4!fwZ zlC>;s!7RO8KaqKwzG44B{zZrUKYvF}8Aopy< zIIP5TFdz`PgJl4(wWkFuRcZc8J(|1Hgv?jXC9_qF$#j(+%~|D6vzr2FR#OzsY)U1Q zrXn(KY9zy^4K%%J7c;f#G`L4oSN_aQZQ%Z<9$T;*@$N^TyP@3*AEc%Q`TuHoVQt9& z*B}P%$p6zOt^^TuNV=YG-?O+X_1pzyt--CXyh4xBlmO&?D9cqEP zk^gQ${zhle{Y!x(sr37ha(@KL z`qN0-Uq(v(t4Xo1pCo;UNTKg0DfB)e$=1I}aSKO^oByU4F_alYCv{Ce z;yZ#9%SbM$2k6Y65pV$~fd}9hOhWFzY(UJ{bpGSPB=y4!+>Yl!hT#G2h6jaTojD5q zeW(LC2oK;8o`pEd5PM7lV^bMu;-v%6hx06<&=I`J2a31> zrh-K%+HuJMi$N1ygy*3M&<5U!I|v6j@ULUQudm0?(V=S>0b+6OC-CP4s}T1x#5^7S zjzWKZp=*B>`p_J&fzdky58yof7yK&kDztBaTi`Z$n+H!s0ktSH_#$dpkm=&3<3(?o{8W`Qn z82f98{mpSbfG{GtLjnRm1)qU0zOpD;txf_RKStosae7Wy zz#6!N5D*74K@k}D9~!}G&6-Ve0&j;lwj2{|lTl za(yNE4m>=2LGU6byqNKNlsWjVrO_c_X2|7<#;R=05 zrxCGJ7`>C&`}k~moeA$l8TwLyDb0x#=vPJsx_A#KYI8nCZO(r%FW!Y0a~pLrH!wf1 zQYxaH18=1mr>jc1E%nf8fkp>3Hqmj6$x+PD!}xCuEjfTa>}S8Dy}aLPRDh?b@WSCe zuYs@RMr{(TMesxwhaOHhUkSzZDNl{w=S`ZC71EgQ}}&o7!6HQ`*)<%@{*}HndIQeayn;zz~)?yqJ?}Ds)J5D(%xUr`_6CG^FE9cw(Ej>4s3R zUJPx~OQg+u8MH}1pEl^1(R%$_>N04dPJ=G$FzBQ9DSN1G%5hpf^#-*}dqhpsU((9y z9MkxU25iUq*#xmS$7y&WE;p8_f57$_PWK0AV4XQdiH7mK*5LG+)N5!#n~j#!1|xUs zHuk4=#$nW9982vc$<$_&MXe@<)M8ReO(u=Baz;Bf&gfz4XACiQGY>H}GcPkMX5DA1 zX1!o4W^+vWzj%t%`lryoflJI;TdebOYTdU4{=daHA);xz+n3qtMc@0x(-oliduV+f<4lpHi_p`-w&$ET| zK4lB${lw>y@r7+o6IZUQi36pMB$EI1WVNi6R^JLH30#|!rvU9rYRJL+u|sLDoz z%50}o@iH?iT(+3mj~4uDPmSmUBSE76Wh z2h<+m8L0vX1IlrjO<9f>l;LPgX^u{m;^;|9jscY57*6qyaz^f$%EUV5vC&SIY?MUd`+tv7U zEq-3&iuWEk%P7l5m(pBKD8+RiCAu!91Xp{Cb9JLwS6_;D4WTHvXeQDvi3xYhX2aad z*buiyUa;FbUZC3`KfryA@9%z<@8|vq{0=zYIR3A=>4x0j4_+9whp_yc@L;fQ!k??~ z^L(@;!$V3b9$J*>X-ILNW)$nWh@w50QKY9cg?oBYm}d}$dPOoJUI|Q)S0)qaRl@pv z)${zkI(R2xfuMLIxI#RHo2L<{0Q-EJMEF(C_wVDo`S0hu`d{R`1U%ro`2U8_9B%?YY{4bWgQKBX`a^%49Jzlyyf9FQ&xL4L z8rmTb6j5ZLDuoB?Q%K+p3JRJ}fk8{jKggc^g51bA*q3~QL&+;RmhlWuW!!`FS=Znd ztV?hk&nb8-&oN{#-y!4z-#+9%_?71n%>6?U$2*U4KNNv;0yKNE>EcklDowgjlUHA+>j zNvdegQh8gE%GxSb+SaJzwhmKKTc4?*ZKf%&ZJAka+ZMCzwnOGwZTFaGwm)v3(f*!! zM%%YAY@XTrGuP?&`>}PZm%Mk7F<~m-xxx}258+1-ZPMJyoV&wXl^sqhpXjU7iD4?~ zj8}1Ix(YkgSE=VclQ<`_xqmu2*G$F)Sjgi+e3>{v?%hY;H`zi(lkHW27L(r_ zq}<+U<@6>iyDwW=eeA*Lt5$knv(oyymC`rWl-#$_l-Rey6yLwkEUy2oS#19`vzY$h zo5l2fZ5GozY!+)Ud4x;!!CCAanL+M7hklqxKfv6%#Nur7F8ry+pMq)V4^z<}rnxA6 znxE39g(+nyUdco0N*c;n;`DMQOm9&9^ofd{KA@QC^At6Gttn#q9#i=AyG&uzA2Ef_ zc-s^@^pz=e+VD-nrVg7K+)o`(VdD^XcPwOFA_Z8ogxr^7&mz8i<+ZW}bP81U6S*v z*W|qNbGa;M#=2|-SB|G?^E;NZ{s4O$)-o=wrwumJ2AjzLp=>kxKO{gH_-!67k1e)x z-{LH{E#7k78X}jiF>>CTDyOaaa@<-ahiz@L-_|d?Z3{Gh+a}p=JuI887i7Kl1zB(T zyKFZ7AlpsMo;Qwgd>L)9hBnwh8(?GJHZ+*+oR2%vV0MxJ?WPYP0{r)ogYIPw#{My~ zJzy)F1J1HO;0+NMs+mqs6$Df9iSW!ldl?YkQu!`OT9HNiJ5 z)9w)tQg=gx*>Ky41~Uy?o%_f?53&yC4*K9Q8qg8efE>mCG3?)o25{0$V^3Mhbjprk zas^)q1tue>v!D!GfPv-|L3N6Xo#GEqUSTl)HGIK|_&p5Y#L!^2?6{@D9H0-d*@&%@ z6KFuE*avc&-$XrweX3!959<)_WiQ12;sP@kNC+<2Gx2i+KNebrK>~wb4pc!05bzJu z&=)EEB7gkAbMO&=_buQ9+(vu|05-=yrV;(+S&q-c3-BWF8^+>3DSCB0x`-2# zb1x=`A*>O>kKg7)BbvnkaMJybxcJ?9cpBaZ`s86WcjtiUv)H&xmW55%ff7o@Rp4P9>_HR)Bn_$@cBm5cu3LnBp z@G*P}pTQSqXdxDSVNIL-+Z7!okR&bw@vfIbe3tl64|BzJ&x9&;GJKx^I zSc_rk4a*gAf|TP5r^pV|*bB zj5Qb~{B;BMnTVZ!Y)nV{m`^6Z6m4J)Ha1b8?UcWVvhSem6V&`1N4Z`JP zl#uV}&SCuzy!8v-Yjb`>T)f6! zt(VYZo}*8mMiY91*mw*-uH(m}_;D3KuHeT*=pYZG)jfbFbU*u)?xij6;S+bWGUW`l zxeE(M)SiNqzrgs(rSCbdKey#{W61jxr`GQ^hF-L12=bZ|Ez;!zSe$zJ87Q;qmkM^~_jH-7t63!=wE5;FuWQKQ04(rATKjs&(43Stl(g>Q2ka zI%YLhN33S)u+>5xvR=%54-M{%^pJDBVV21nva!-cahn%TDAb99G&sSY~SYM(=k z_Bc$`?GC-#cJUf*98^2Duj?*z0M;&tY*IxH%-R_a59Ul4G=2@;S zo^{&f*{Tg*U0Uzer?p-~TJ1GYtGt(Mh4)4+_qkn5eU53d?|Ciqy{?6RZ)(2(7n&dE3^}VAp;t9M^flA8uz#4Q zh7X&j`~-T;6nH;|%U%kX;7l&>+03!wcsjW^!~9O#W^<^u)`hxgRak(Qqs1(VNY$c< zTrG$w)x5|W&53N%?8pwyjGV0Lk<&C3HCI!kR%lAp77ax2H}yxKHuc3kWa^E1$uueU zV^dG;k1+f*F~g?cC-K!s)`$jkZy{41IFv`OlVRu|%Pcx*cS?skQ+qWrbx0kl3r+2*YfWuwJ54QV$4t#>7tET{pEheu z|BG2;#&@R1^kGv27)OIwX@l!UOsUG5{#7x@hTAJy=ZqgK@M9i+Oi#1Xlyq11rw6Dv zBT_vXN$SeTQfEe?Ix;FWA+t_xnQdy#>`_bR6g6kfGc{(dGBspvH`QeyG1X?@YgUu< zq*-;&`|xiVHr*tfBfN;6tJMA8YNncX#6dlC+*)!S{8&QU%;fz6ephO8wv)QEeKavA zOcQeA)s~Z{)|@;w=a#4`w_1(4&1%T&R9)VHYV&5BYVwwws`9s*D)a9!tH?iZR$lO! zSy{m!;Tsq>FqP$x@GNa`8GGljf2@gqfNe~_R`Yy81#69Ik4XjNG%?>^?FF7{EeKX~ zL5vy;l2u=jt=fV@)fQH&rm#WPMH5t6)T@f3nWpmMrKZy2&8Cv#gJ#7g=gf*qZkQF8 zyaWG&VFOcP@d!_rGVP__XRv*wmE6CLScH|$eBaCK1NbqqWVBjK#;d8sP4y)Ksx66B zO-Z7vN;6bhny-q|a+R0WsjRF`rDc;;Ts~bz<%>-Py=HiX>S0p`JX%96Fy%af{R7>sJ(z?J1dF@Sq42Al_nPprir>^KuXRvqotKL1 zf>l@-tpfII<=1B^uf9mR^;ODgXi`=~r!pG`mC-OyX^m@5sg1i$$&IH?NsSMi5}STy zN^Ja+$HS(ihM&1Y`RAB!9_t|m>mwEhh=qRg-d_3vKPJ*9_4rcSJXQtGcFJpZQ*MjD zvRfjQ)smphmULyb<}1CmTxqTKN^P5<RzFU?i~v6zEfe{mrSAEuPC(p zAEwYQ^oP!2Q<%ZTVbguo^Ca~@h}|7C>4#aIlQ5IV#yXTH{3;*hyI=fC?zK=tFZx5T zyJGwN71I~4=)QPG^`$Gazd#ZF6$-66MG_seD0b8?ya zv0P{TAh+qP<{ld1H1)i>A8H}z!xH*o8T|l#(7KfG|9LHUF>L^mi^xA0j+OVq@$y>a zBF{xW@>moi_eC*sTa+r-#d&gGTp_2$EplAkD~H8%WzV7#yTu1Ie(`zPE`D0Ji$0X? z!vARe0%p$!^M`eudhVnAZOgentRnwk!??7T{2%I|2+|-1g1`%$)>_DZ9eY65xd6XK zx-JyrWV0?Eie$a6PFCwWWwCC$#;seaG3##E=(TsreC;)jTJs0^N~2e^2V~UDCTbI7!WQ!Ht;E4L)0a`<}r5 zNi=}d>;pL?F7j}06j%a&oWqZM@Pm7$=sbShn*v492n;m$5=iHF00o@C&gcHf-+T=} z0=oxzYZ-N(f$i=ij7N781AH_ETM^juIYbqEh&`$4$;6XtvYM|(VsA6Ff~ zodwDMXe9V?Jq>Myi_wiX7y{bj#v!1P8?W&G-{D(6`(Lf3y=T+5ld;`+7aGt##Nd6{ zzkvOVtU;j*tsiC$$RpUL3M3m$K5y|f$7kTVF(d@mOw8?=9J`Pp__1aKKiG*Q-kR{#X217TZ-NEOW40c{9)4po0f)6!xr6mQ+IilBVk1n zM0xNgybZrILk}5;MnRjr@5s6kZ}f=>$U>v2g+9K>UCw?PD*Xv@@d*|A^ey-_}!7xlAvfwF0~|FsU~U7o)O@52Z1SNI#yw4{`1A)`o|tk6N|n}2(e z#L*r<=5RxSMwmuYxejRfoA*V1jH9s{;3xgT&>oDu-yK50Sc8!d)zAi$VF>2IQdk3< zU_0!ALvSaYMJu>~Ht{Ih#EWG7@1q&~^QQJ;to`^GdM%G>!`h$U?MHqUF zKg58sC#MV=p%Vrue+K0*AcI~;`D-bEGv)6<|JX~ud>Csdv2hRD#6xHwPojOiMH79B zZ1e-oHF7VG4>`UEh8}TKf4HfA80#L!z)$)E`-E77F>+6k0_@dbrxhDLXc1E=e-`C0 zq~zt4zn1bhQ~nORWgp#hgu0!Uu@~iCGXLL`vHuS>eiJW$MTu|R;&qNM!}BnrInXV1 z<*-J94Q=ScUj$O8I8>Z0?3L1X_1Ktz7BQLfr&9hb%3sLJhUJvMmhjw6`P>f!{o!SD z?iU$Eo=0tXmbQ3`Pd$O>kJE~eVc`Z`{{_Q@^N9VC@3H|ddl6- zS#p4XCy9{zIcsjPg6TK3&_C#{ABY^zCezP+$B^=OPUUx;k$d48do%!RhFmjCBHMuy ze6SgTy<|$vQ%TujQl^4uN4^L4m+A_ z|9Cs?vh&n!_MzJ1kf4o@nOe`iTGl#MYPD0nRywt6xl@;xIrnRc^K>n8p09;2D>dI` ztLD1y*BsZ=n&tM8X1cwo8SWox$m0i1^F(d^1@B?s&|r);C=VoJpX2c;at&VJ<;xtC zJ!Bi)T(rhLKr20>w9GR_OFVP5$g5Zjys9+Mt5I{j+cn#}M>D+#HN$7NhJ2Q4n$HGJ z@!hRK-#gXs_kjBRpH;8_Uo<)3KbnLN^Gp5*drv2E3FcCJPdd2{$Aih(k0s}$O;-Dl z(=tEw2Y+wP4+uraiPx+^?!OS2uc5#)O%1Hkl%Qq}1a+uCs8_wgLz*1CK$Fm7xh_HcFp{zMr2=MsoPY#SQPnOvqiuqTW9r|?~C9P|7LbIlDI zubH9l8VU>4)UYTGgeR*%JWIXd?0<-;P)|g?x*}TD8PTnYkyA7wa<1CZV%nm%sU`Xj zHAmm0rkERQjCn^5vHt>gL&p5fOW1l8`}Y-)XB5!}urr_UxA0?GD&MuzH$zd@8jN;U zU$n0##e}IlCSIK}>6#durwOqoYKyH_YiyHR;wGv&u1}5eGu05kRQ2(jRhMu;H3@gC zI`NvSlYXnJq<;cRyg}j!&oRxog8g$P8#pJUsY#@sxmWH z3=ghC&$G+pH6#BqCHyhqc+c4Rk@BT&+}4gUXV)iqEwWZsKUGq z733EvKfhdg1@+1;n4p}(eq|TVQD)&PWfbjHdeNOqE52k(Eq)n3g<(@_(Xc7appbh? z(FQklAZ+ht3cRhI^O57i7S=n{9-a8tSVqoQY@w1Odlj)Zr=Tc6`NiSNEsj@CahkG= zbCp$6s?3sFWt6rly>znD%4RC1Y`K!lwkxUpm=en`Dxv&E#g~7=@xMwaTXybhfX?zy`20tjYfjimNk8m&L-%0)VV|)7m zu`oz1aGcSP{(vvdUGxLKEwMp?wms2g)b$&%=>%DeY?yR(P^VF_9%sPdMdapP(fW03hYWyKv#zRy9(vkT_xY{ zR{3=I%ByFNJbTv4y=R}?dd|tU=Lxy={8_Hu-^s0u8N5L!-$+vSA#ClMNk7a+f0#S6 z4rO4@$T}3dRr&anGL`S2@iTB>99qhFc@H?tYrtEc1Htkbh?e_cvfKu9<0KIvwwu+l)HZxsrWo{?}hZkV)_Ao zT8C0HpElsVczg@RFCTDWe~{yBJ8+f5Y+u>W36GDIiWFgu4v5cUu*2_&oyoqv-p`K+}sbf04;0@=fiUH|CQwb&<@5rl)M$h0Yvbg zKe&PY@=>y0ZY|5@_Oe*+u5ru#HFkNp#w<_JsO8x*UtT8Dasq8Row%GzEZ;<+AAyT3 z0(_YZ;V1AP7^c#!mS030Q0}_bytHm)FHqM8;$S2DVEEH?h=xG$00*$yY|@x5mNIP_ z&*BLuPH0bH;pIG?-1;UP;+= zwx9=YV_e)${<)Ji0Jo!qK@fQC#{M4c??nTkIPD(;)?DQ5I68wj1VIci8Q5O}w8egc zdOw}JZwH)aAiT~A@F(~e0}?*KHtM@>D_R_O2Y1m2*r+A<5Ea1l}{5Xvtr@at6gSi04LKaj4C-xZv{;u^vVW%(g`8VKm%J~8K zB@1jXrk>OGp}}Cc23z^qNyJXbDeT`x|DQzzI47BCN+$PQod0Nuv>5j4T_J2V9x`4 zcG$Cc5PJ{7!|*6vha2$NEuJuAQa%oC#D?U+0j%2)ilNFBF>|e2gi%#$LN+=Shywzzgv5EnekFQU6yDdCQ!& zCzfa-c4#4Ptk=Mg50cSC%Frn$@Pp}5Xu=zX~HeZJ~;kWP(ybFZZ|I$J};`!ggWjpo0(}-=#q{H#O)* z6IssskbQvBAE@AuM)qy&{V;R~17qERu?Hj&;vgH!p$WRcSPL=}jJ+t!VJ&Qdov@Fr z`Y>xVPN5Z?CwIS$KJhe~!5_$Fzd$z_+57Sp$4}wU@D98UBkL{<-NDcxSPOAem+|2k z329ISwa|`@No0#tDStK@^dib%LHX+_e+${{PPC8xWcWwPD(}M11)AhK`TMJU;XMU=mS^4C$XEqafv_K#$`?~wf(dr{sdkbgrEy}_%mQNk;fYS=Uss2AWVF!YEK z+avkE@%VdmnQzdgzLX#JiNaPIdO#s{sK!PM<#$qkAN3eQ_n1TZ3n_m&<*%dcEtGvb zIr||jpF)?o4_)FKr_k&C{|TDG51d-e-QWs51UJ`U+^qjEHHgvJ98ajZ)04s2ipN$K zc1o~OONh2oKKH`FkH=|`8}!RH{CEUEuHwfP^oL7i`xj9dE}%l($FuXOG3O}pEQ;6} z?A`^Ze}Pf=AK*(c!umaUleTz;ws@ZPC{Nv7gONy$2Wj$A;CIZvOQLlZi~Ua3=PQz!7_IQ?>z_&AIoci_iC+G9WQv6nSV zyNQimyt4z(ZoAn!FWywnHgUEXisHs!@HNBzUl>w;#qjp5J;NWT^_6i9znmxM(WTDF z6MG@(IPuuYz)m4`sGzm$>G@X9hEDACVrMG7FdI9ID1SArv5hl#KaWnaqU$1_J)>o2 z?`x^~zqFKnK}%rqm=XT&h}7%B@aoMl?1gQHS+<7iG{f%k(bhy4_rRo2ZZ`|pcJoAS z8h0Or_S3sn^=Ety(j-Q>(`IYQ?x|S~hO3mX2Gl#TFa2ko`gPE$`Gk%L|%g z^`vH7|4FlKzR^tf1AnKrR6x*oV7=nB)2|zhkJ~V`ruvR<_z~<*N180a|0j z?_b&^Yq@Q z9G+0W!=KdW_>Fp{Qj^@asoU+4y4=rc zqWg7C^!TkNc>YrpycqF*!K>K65zpnAOUr4dK!=l+ z{I9Cf|JP~=_)-mlXb%SHF$OPC_p8`GpFtaBG3Ci5&)^cXj?3;++GH;MGtJLh1AdNZ zIo_J&AENGnSak-Zs3Ra-69S9W7FeOyzVns)He`=#LQknG z^s=hLUQ=b*XR1VlsYHMI2}1|Egx#~bYn($^-hj*$fVo;S4^Hd(WT4j;DR2p?cB`i!W zj(%CiF`udk4aT52dW6TQ^8?sFT}T`jlkdR>9xua>IruS%k6kgN)D~&0=13PcMER;N zDpa*mv8s+vQB`!7DxwQj9$lfbmn(VIPWPcSVhbf=+ zIeEz`%1y~uPD-(|Q>&Gg+N{j99%ZBrDLs9O($cpmHRG_7GwxGz<}*sl{1Cq9@i4EA z@DO&+RuBu=-d#^B(7-&uj@%!ANZT}#_GqB5$}+~ND1E&0(_NIC?xURa5M`xDE0gs( z85x;M&n!?{W`$C-8kLgOspRabO3GfO#GFlv&pD*H-1CafeG2{p|KT~aq?{2h(g&xp zcL>`%n@K@hNQ*em;dvkJ(N5pg5+lWV=E}{nQC5zlGIBhXo)f6loCu}lvi~7BO-Z?V zO3W)$LSDV%^E(umKd6|31&S`%ps2zFiY!F+E__1aMSte_9WYBO7~y`};HD0QZR36{ z>n1QJz|2;3ApB^heX8lFLVV3Av{Xu=y^;#ulvwDegrZQz7sV>BC`GZw*@`YMQB-lQ zB1_s8QPQXI(zyyNU8j)JeF`qSTR~-yDX{E4j^8S{lvxslz&*8G7pV7M>~8B~T z3eh>ApoRb(o(vQQzFRSK?b zQBc)n1y;?Lf7NRFRqv5+^%?n8Uz2yuyBxof4;qXw_*L>PTqCi7{oUB!+)FISOwIl%D+BOe)Z+@X=s#p zL$|ydX2_#)h1?r=$*u9UTpAydbK~zgel6Dq);^%axWg&h|6mWX(9gIqg>hjju>b>u z!~*_Q<4XblrO_^&`sgd;&`)gT)9NJeRxf$A1&2#97c_Zskrp>1xcw9S|Se#88 z;8Qfd1x+Xa#8=0mQL>$8Et_c$vYzHHEAE|ZIW1fk(-JgpT9(ERm1^`*qecx)lGzXi zPg@TM;XZ`l=iqPfZ^Xypn;gLYcI>T3hgh~0J#HCeBed|i9I}_7!7L{K<9+XitU-YB z3(aJ)&{CsVlcI&r-~~ZcAPQ1|3(o>hs0DPOA#N>LNs#Se6#$KR>t8s4)n&evYZ^(z_b@Ty8UtV_srY5okvvp(XJR7hFSMY%lh=okxWL`@k zub~syP>D6$F>;cN;iEvJxbkZjp5Oy)UrrlPwy_sz=0?Wm&72Ec8I!i5!Q93^81M&I zu%j4@9oXL~COPH=vIW?J1JB*S7s4O`a-kYJd7lp5xq-DPN8l0-{{{j01%ttVfpx~% zUX9(k*zChb%P!)OX3N~id9a^#K;U|S_CLrPkVDu$3`c(gKaS$ZQ5!Bew8t^p<2ZgC z4`(ux4294H1f8+@=okebJJ08diK8DgD0~Op$pPC7sN3Lf&PD81VkaAS$J%Y z3v?0s<_RYzsrd11c<-<9Pfe%ZUDUajdgfEdgnKy$FA#qh z(Z3#I4T@pUuyF&PfMC)h>aYTT3K7}?xe^n#1z?~jq?8uujq zlzi6sg_x21k$%Y0&_8|+ufnj#f}uN@!5A>K7*7a=M975-N@zkC=%oBU${(Waxs<&a z?PDcnuSfgXidJwt)()W;oFIQbPm^3hn|K~=;sd?MU;UAi-UVa*hoMD03s1r@P4_c~ z7GkuE3v~*>UJP|f$5t^mYAC;zwHRHL-A~!mDSIwuFQO|}QucbZf^EoEyU_~{Q^(VE z-399T7`n$>gw5x8Gh+7{j)wMO+zaC}{A{0PJNWZ0>ruWW*ZqVw7=Ke3wi4;;9Bh

      zxW&C3&%sYV{0IAA!bdWvZZ_C+Vckan^@zq!DmL;dze10*7v%=A@hE;=#gB)HkIUrS zm&p5#?D_)tY`Ks159f)EbM(nsREoRs=p-fHNzWa};;~;~ti>>V_!d3^Beac>f0?#; zmbQ4DxVT2%|1f#~L*)Gz$@}kDCFM6zejDX?F>LkG>Qk{X8ygELe4t;hL~44rHs@62Jv}?ws?T`DCgxzDG}I7 zqE=bhD8fc1HX5+ehK)|NfnM~8sYK*#Y%HSO)kMZt)Tw>w9Vcj+3#dfw1EGai6V0oz z`%6Bv

      LUdx>Gz7~(E-T3^7QbDS@yI7g1LH|P*r%zn<*J*)-UMQrRKMsLH9t;EM> z;&dZ^Y`~9o^b0#LD1RxvvYr((JK0Tk1h4KvDZ0k)p*M+Q_JQDofpLZ#e88pVRachc zxs!LoJXJi?7h|UqJN4LUFEN;A#2X}bAA4Vj%IMcLIQCNwjQddo7To>k7KR4%j34?>AeSCE!Q(@o z%&nZbyxN*r%VML|qnxySjE|O#4b#GLahg9aO>-@BHQSU{f8!w=MF^d4f=^!{khzP(f*O-I&cS< zyWK&|YkZl4xG}G=AFTy8<28qSJI}QB*N|<5rjAe0pk2E9?ef%TSE63KYE80hRJZ*E zb=gnWM0@sNaKDyzhjnUm*sT`FlWJxWWRv5|YIOQk4csHQ!3B&XJcs=&G4y`|mw4F6 z(0&`28J6j4DgMo+orWB(H0bE4K7MO!l2fp{ouk$1oTQ1)nd)#UP`gW++FWYY;@YBS z*Df`>4ywUzuIk)Ysn&gmYCMjs%Hsi5dOi;ytHSF?VD!Dkli0hM#8)h-v_Trv9*&!M zz9N?CA8j(7{^|1?i=Jbr4i7iAd-|)@GhEG{acc5PRfAWy>b;6o>&^ZLZ}vZUv;V<| z{SRm{<-W^R>bp%Pen(X7f4_?SpHX4JhwuaN>s+_EPTlXr_K7TFFo$VYHf@kWzQ;6Z zRvdXo1lRT;Gqw8JsL9Vs^?u%}^$%8!KleWHPgG? z<3~Gw)CXIsI@n&7!R{&#_E%|0n2JMURTPqECPu0v z$Eq}Zyow`SR2bo-{D@%XMnowmGEv!)>B@@CS7ub1GNS609^Ij|m;t54%u{mgIwi&K zQ)1j%CB)rOeEc8bTP4J^_8^WcGhC$oPh;~?8B^a1@;z8qPM%TB+5`OPz>fy}D2pGZ zf*2d+#yBcF##5Ow0ZNYzS6XbWQe#t;5|^XoxDqAB*D5i-T?q+&icgrMxWqMzP1>WF zq%(?2z6O7Qe zM0=$sx+x{mS4oK>N@RUbLQ<0Ald=?-T%_3KD#fIghS z@k-!#z2noo6`K~Mm^ALcke;BZboM`FU+bBBQ zQIXjmipcR-ID4hSa$*&lld6#1Tm|KpDKM`=0ePMB&z~m0{H5~A-!AWhJLOeyS)K*I zf-iZ@4(fdFWDj@I?ss5sR~tG|2l2?Xb1uh0o_92HKF}s*^iMW@lUT}k?}b(hDYR2? zp^JhFeH2*4Js^sr^z6XaPkMeZewIRasqRH-YdeF^m_K6<4Z{882MG8KU6r% zyTU_W75?&MpOOdrl-${;OM{)98(ien z;4Q}n?t|G7CHsaX$dMfjiN-fJ$+mH_Y?|iEx@o<3J;?zhy~{_z^s?GR3I zArRj@_?!dSz?eDX2pk)509P(9TaD@~9Z5sP4 zzz5hdkFjwv=L4?JTR|+YWL$zu$bke1;dQU&Xh2{CV|cC=qY+cBU_3YilQ7n#u-O%o zXjIz5xbf1mE|^8IuZKGr054M6*9g4NxhVY?__lf}vABwt*W%JT#)J)=3mX}eHqi&0 z(O@`wgA>^Be9RW?Q>B}18ABsl1Ac75k1Za&9su;o)-)*LH3E6d6u|k-dvC2rd5((z z9lj?BxPv3MS737%ICW5FdBjGby8AjLGTwc*sW|X@o%@uV$h^ z!S`H(H~1X=aqfF9pw5HTkL6^lz+M)%qEDhjV#^U*R%g)w&SCRB+z%Jw!CO!i$K-QrD- zZ^Q545Aa8L5B>sw8$$v~jC@YNd=bHYLUPeVn$bgM0KxY)mHwK>``XCHjrA9X?qKK; z)?g1_5C%z*4^_|%#$J?um=1Hv(-)IHu0)quPe#2Btzb8~>ml@lldQ|Q7tP=i^5~bz ztUlt~_V3XrM%IA5&(Y973q`T8N>=xPq}BB^EN#SW2)_NBM1(-A(p9 zK)KUV6y{RyVswd>=pGx$Xm3L=*u!3tBd8u{$e}NyO+1Ni@Gi~t^-b-=SbOq17`BbQ zAdkS$_J8ujin=*s&xgN?z+N(S$fNuU6odxKZl}3>X!Zg0oasnXbCISNlS!_mZX3`h zwxdn#Lz_5GJ?|k*u9CyQN_T#uCuq6Hv1sTY#u^Mmhqw=Z>BD!l$5-^rC#=EvkTn?Z zD+pV$*hxqGD8&CN%5J3W36$MK*#ne4L`~;V_9E)Fk`UTR-FBcC93+&D9Uu?T8c%Ub zy+`jDcaG(I8@L-z!JY7v5C6jcC-6SJO^XN}M`^4zPeNx6bH zbqPN%(k~AXANP}Q-%H-lT^7jKSD_VbVhFh%8%MBlj@5>7xtq*>jt0iA zsvoiWCHxhP@O~AZp)GFE77vs6UqXv{fV}@c?u~kmeETf1aT-5P(jIrxFUQeAj*@R5 z#*aJj;~;(*s~+|;nBPvH?BtW%DPbEewuPSDOyvG@{e|)PpV<5WjMME|xB~q<9+J<3>BLi zXIOpC3HvVOozCPt4&+=6E&K6p7h}g(w3rR_$r|}np9t(EP)qKEi60B_V;+9YMF*LU zA2aEf8N|mBkEZg8LE569*6O9lCZh-S(97KnVBMyFtILd)XSaBb;q-<#lDHq2Az!{4 z@M8T3Q<81=Tvln9m7}b%>3}^?Yz4CNhTp(2C2Gi&p{Zth8Z_s3FwCpeH>yFsquMoT zRFAqxPgU3Gd73z8l_reYuJ*A<)H?1ywTydG%@*&g$?6+m1>7y3!|s(}E?;5fy|9-*~IfGFX!>qt#=@Js_+y)M=Hc4(n1)u&!2{b(30c z*n?ryrzV?OYOq@pvZu6DrzD~IwdzI~RMp>TMlR;ekscE&sMsBvC;ynl^W2hl)%YK z3Y@9Lpp{Ap+Nt>9lZp+#qS%mM!&kt%gIip{)=BK|FF*?`M2myP`Ao%`3ik5eghbka zsbN`|NqIrm$_}(wW{{iGgM5`16rz-%C?y9cDk(Tai6I3_2&qtfXp`bXyA>NYT`^(H z6cxT*kr8()BH|&1N4&1^$S)KTIm~m`9>BfS`8f9XmM{%2CC`9`#l#}7O~Q{>{HVc? zBK*h-w@_-Bosz?xl^Euwgs?!xg@r3NJWjFPyCx`Z+soPv6l3tj(Fra1z#r8HVwRAj-R>2Yf6fl zViK$snP9K*1XqP6_$VYHNWqDb3Q9~+U{Zzx*em6qTrEG6WZ#s2`J^n6SL!BtrXH3@ z>IJ!{y#Sxc1O3G_b%ayY_aOFn)H5zN5|2%M1%DIm>L{%Ha7OAC{4TAX~+)8w6=FRzSBd1SQ6J+oJCnRDfmxk1iZtp3ZoPmbBo z!N)xQk=OXfh_yL)(*FCfzm4hU+BQ$=8`~0=C%jX^t`S;4U;2B`0 zYW@$r#gMkag)QS(WaQMd?|MD}4;!Zd7QQ6#xv&OuFMM{b8HIjgt?^ap4^^(< zBb(}ASy#u%sybDc)djMsuGZL^2^v!~RikQ_$*g9lOf{!TWFCb-$W;9mpg*9)?8p9g zY_1<5EuJ#64rR(z;&G6?qmSGdUsAity(ZEI_~Su8IkcK&(_$fuW?PMIcGQ?=4~=RL zka=^2%$hlYni+7KIk}96Z0YCmBG?9Z!WB-oH{nYv`6Do&!~RxmubxgiK9g(2EXF2| zEj%xuMlAAP0{(?kls9eU%;#{m3Ap;2HZi2g;4|mOlO$@q6 z;6W<*I($xohYua>0m05j?5^Nr3+B@g3-}nv+Ih4Aucgc;|K@!^{BoVa8VG!|1hb(r zhy_;s!FX^25AbIZM+7869uP!RX~3!c;gq#-kPE>5oOCa7G5!bqK=88%WDe)ULi%9| z*NA1rA~ZwUQr18~EClkN`(iX8n$!}^L5s{_96?N5EVKh>@Pt5!p+XtJ$z+I~3uw&w z%V9SGcMpmFGj#gL82lbsV@&z0R`6%5aB~e~0`68p?mGHlJ>S7|^Z@gWI}V=%J!C@Y>s$7@Vf#Z(#HT2IcR7odc^!WSZ$4 z>9Wm?Nn7ay!Y6qJa~Fa%U? z_Yuk3=l|gZ z&rgiv0&IasV#{QJ__zx{&O`uxa;A#sJwS)vMFmdZ3or87PxzbvXdd%4)}ADkDs}~;|Jg(JP4P@pjX(iR>ToKgmdMQ7}jv)K@(cS zG>&xQBNY6|H6H(w<5wEQb{n=Uu$y_3vG5G`@5cT;tbsA?88(daAA+mEpWf6$u5)}0 z9)~C3DR>5+gBOUCm#tW{;Xv}@2MOFeq=fYwoh;^G2(-mp=YcX;Y0lRg!cF}i2X5X+*qLo zO=J*FWG&F(Upz>nX{>@U2SbA}v_N(%fx=?^Hp&um=2hga#&4tSpc(d~dfZ8q z+)LA3L!0;&+QAnz*~tDEV-Jd9+t45$g#T@yZ9?ofU}q!s@jzz@L1&4_PA26S>pk-A zchH1>haYd_$8YfCS7ec|lYzZTmiaP%yhz^vJXzwiWXMkw%uitDF`iw=%SX|JjI|#R zgQ0(%gS+4-AO1^w{0ly%Z~iJ9>f(&{;YS@J@IRUIb6Cw$N@+E;VKZfSQ1&Fs9-!>$ zls%VvEk^fPO%H4)jCXVT9HS-f!IrTic_7pyjhuTc1M6ly*@(C6DRnJ9 zxrWGEjonqZSjq8IZ2le?wQip7jG{M(ptH0Et4}GxjrIyaMTo#g0yZ+xJh&Gp{j!Dl z*o6MD5glYb`omiMSVMcPB2HKEZy6pe<}Vl077J*_d7RX9h_Kn%{Uv`I%_(n5-8q#n zGSuEZYDAVkOkC_mm)eOgwUxYo6MeECO=u0;6uZ~4kdKX0&WI|Mh6e1kqIq-@6@8RH z1C3xIQL>hnVIK%B$1my9V^8z$U(h4|10yTGjN==&40R3+vkWC?IUcoRj*CA#8S1v6 zo32HRSxKMp4I!llV<(!rBw-^1r6UhJCD^ILP6Kw@h|q5A45E3=VI)~jFKuCG*+C-s z9KCj(PrL(P!^mBbTRA@Gg8txvjLs$IxEJ=_ncH#6*)X2VD($k!WJ%rl{Y`Y!X=p-I zSU=WJjP~KjWX{6|@_cx40L?Ny!WF4dZ@s>Y0892)h7 zsz-A-q+2|W?FRz5gawoL!cHD<;I$QQOg(6qnf#X0;23N5n%k?}%w3)4{^}SNruI>> zY8{=dmeHAN8pCf;j44(9m>SiMZC1_LE>(|X55_q5U|6hC8GD0DEl;V~@`{SA-cXVC z=PI;8e}E!*grWSNa4yMFThF(zPo`b8NjJY~-EL*0W=lskT6wCT-*K+B z4p+5xtg5V2RB6NSKiCwg%%)r=HuWmDouDGyJ{8!`R-WxD<&I}Hk=;pU*Mcmyih zBV0)yaZ2<^RRZ^oiT5m3ELu#AcZZ_6UrdzGLPhv&Rybcwh56pEP`~FD;`eus|5cbD z-%!9g>U|WuyK~94@`=SfroTD#15>c>Wad|Kq(zbF5BQPkH&!V=wo3GIRDzGY;(YuR z>l30F-)Keq^7{{dnTqr)QiOkv!u{J68qlwhfcXjz+@Qd~LkbAGPyRvA%0Kuc1qA=d zbH1SfW4d<-_IDO?J`|I87ZD3Q9^|!7-fP6i3SuOmcufm2SA3wgVgl?H72u+X0B?l{ z1S%{rLZN~23JFSAaB#kYf-4mm(xQNnUipX4m2c=e`Gg&ici4G(hCdA-$}9YPd9z2# zhqXDUsPjQ=ZZBmDUd|jFX7hLeUnby3J$+P4tmM#V$;4_@n1#YZ$160{Nx`8W3JUdC zU|6UE!eZnfo+7{ST=_<@{~@AD-jO}>Bti0sS|j(UeR7RHCzt3a;V(S?kKCf!`v50s z|9#lpR!KZo6OS;nig_-+@N+AwrEf~Ind=cViNr_*T1-%sjr^k=Axpq(;llX&_jG{s!L30Cq-u#;zkv)mIr<(3d2*TitS zB*x1bEygLSNRCOha!8&id%m!@OIe}uDYwg(8wlE@UWa#OlkyGEnK{B??A(t1O^uAr zEhDMfv}SUDo;UM4%PCaAXVUOBhBgbLO}sM3$tBHJ&S?&EN^_HAy00AAr(~ZVBfIoe zjb~kqZAO)BGTUK_tVkLyGq=kk>!ikJU4^$aF6#?fput$eLF&7siFj;dZ0aB$Vafz@ zE}l2y3qM1o96pmoTSd@k{`8Mqfw>&=tYnvKC)-?S@RChlpse#EWtEpC%e)*}12btxuuNM2awG)qB=s-QhBMd+%&+GB0m^3Ye z&(OUJrd_yYl$?hb%**0sRz@I~;cyv^SvDEw!A3X? z7YXuL;2-cku>XQOZ^7p3Uak@S#Nze_UxBmMOA^WUNNl z+sIUB&miUk4C=;UR>uHaM*#D?)~X}0>ZnZJELcZ?AB6i6xn6`%2sV7EW|#aVt`XQ= zF_p1tI$G2Wt`S4@1J6qaX#;$T#lIjv=h2M@Ly^`KS%WZf4Elu?C-8W11TOl9u-zUG zi9isy(`d%Ro^}c}7FD$EMRYw6&l2z-6L9#@%-Y^5oRipHI-6LS%h&|}hrRazi0az< zzBj%1jsgP+SP+JeiYS8E6$N`mKtU-=vG=Yqwj>&Ri_t{W)Krsbim94ndb{cECdMQ; zz0LRAXJ%l|nZe}V_j%rXzxP7&_q27^T6^ua_t|Uhea?)VjSV>NRZDy1T1Qw!%%BdS z^+GQfz{Ck~!)RUrTa*WZ_Mij67UkVZ=ujVJ7_N*$mMx&MZJ~fiarj5*gg*hl;COsF z5i>1qq+ggzJx9um_{xLj!n|f`5+_ zvIYa5b621aE;D{LF0zI?SVsT#I9Eq_7)rfDeAT;UbOU3gA2Y$gM%*+vfPI_!@d zIddC91P>Ol3+%Q5iYNABlf51c%6u6RpvM7x<3Ktn1lVH#EP$YWN5G@denwv9XEBR% zlp?nnnFYwn+)00oj4*im?BzX}{qQ~r4g+pgCO>asYsRhY9|tGEZQyo02B>Zf)P2Z@ zgp#+wH%?P0cMoBUElyK`rzps&)8G~GwJ4{oBX`hMAU7L%oet3kZ=(D+vj*pwiNEB1 zC*U?^68Jv068D1#04_!#-I5P^jQ#U21WxGjOgQtvzM(p}HLJf{&DWFOYH`29oy^;3*THVf!q&2%ZO*07X+K&fj7C zK6Ud6dVCtm3k|6(?C;O_LZ%R0E(8?(O9Xu>vk;c~2e}@^3j~2^kO;CtJ{U~2D&IvJ zPn0y3j7BAqV=b|IBN592auds#yI)JbU^CI&4r17YA&$AsHz>Z~TNs}a&3u9$AEC#G=5T%039eVEwlL8A2g zan^e{It__QD!_U;o74QjomvslPGROS_>kcl6cx33|-yPn4 zu*=!^)aU)IX2uhJ^jJCJT9UF%8KV4Nd2b_QGAD|E={4F5E0w+ESoe0UFl^Dubxnhs^+=VF>n~P0!i6-zdGG7F;*~un<2cYFrHfOp-Z#V>D zuSn#?Bcm%^GtfVWTtpu%-VZMvf{YQ!7=w&S$f!U@4S9k&Xd>TA*+iaTFK2G2wjL*T z|CBtz?|8F8K^0s1nW4w%PUJU0jyn_gA)hXTa?-`~-JEsA{VU1EETv8s(M}c+_s>O- zChDb;JV-ry%%a`0(f~PQu)<_yOv6)o4+O2s;4qb%nL-UtqIM^ef0#h+PeAr~6Q1^> zyQ6zQ!K3CN+Z`NlMxS-)u!1(Skp5yWb<#k7td2gTn%vY3*2Yw#$8_|lK#wxo?Ns!b zf*zBpmx=i4c&Nsr>1eo&#F8bHu9*55PJI;N{YA((<7^<^Fx~o1bg4VTkRQw#8-13d z%UtX-n|$R=>SQ{3({g;Hl=eDFbV5!tax#$9gVN{GN(zz1?_eNp1f?uOyP=AO>IedeXHaiSGhN8z{^caMc0i5Y)H(C_hm5KuUYLRcxI~We@MQ?{)BG>UY(bMs9 zk>m8S$Z`1zkbeLtk$Z$k+s;lr>cJ}Z7sgV4y7(&WQ|iyy&dWg*yYl@9CqFURDMSo( zjuic!JBWVHokd?4y(n!Z{T_T49G!%+mLyH$J!0a3@yO2By7-`F-06hLhLgEo0L#rgMFMup{JL~ z_w*Nep8WQMXOzhGj1xItT|^JBRMFilTV#9n5?S8;M5cFcM_%sT=&uWq6 zd!y*;dt4;?J|?>OeJm3FegVAy0B%M8-V|d0bo?NLVHev*j%RdXY>9qjq8W};U;Xft z-hOW6a(qNL-$0S&+fHQqMvHXT#-#c2{(~RyKlt?!dcS;;fZ3u` zzzUHNc!P*%O-x+SIng2LLlGDJi-;!|6CXtEkGx%(_#(rM)!nHFwzD~&&iR%#AiU=q zLChKABr?dwqz3qjl)w;?92g;z0y~Jrz|NuzYhyYGWs6S1y+ucIF$t`Ti4U0~I)v7V z*wAGnnn9T^?5Kzedssw#7ke;V&tiPZBY#9! z#upv20X~u)X-8hiT_lG3h|ZybqEl$NNC?%5_^<>K7uHpD2+t6);khD)TugMk5kkjr zDMdw8i-?FNqJ6|x5gvI&ghf6mLZjXhVNpMb@F>qKKKHt=}kD0 zLui5?!x*9$;v+rr*NhI#Ig^V?i0~3|5&j}JB1A+-M1T%L7uiKbMW%|#s2(CBs;_9T z8z#b|Cy21<86q@hp$LxIEP`SVi@?|iL_qADY`+&lv8+7+`;c`V^4Ay8ClnHQgKGAt za*m&T<=d}}GqF{Uo_Gfz=^XDMVq-jnF4|W_M)Up0n0BIFOtc7(;r)kL-hYVA7NH$@ z{~>OO2#Omk0^=)1Ks+nW;`#nU!Xe?CaG&r_cvbjz{ElNrDqs&~-r5&`?2kVV#2>+o z0r(@jj6{#Y)K5Nj)g2#6p>8@-H#*kEv`gSOI1~IuXhNt6PKXjg9pgkG7XvzG3ja>M z!64zs_k(>qPZQq!aE5o6YlK(ge&LyTx9~`Op6wNm8MU!CXD4OejLg-82|PdqbYxg4;#q~bu*^T;2#wKytBtq{*KF3o8Ch`qRz9H=2wY~7`8Y_Ieb{0NKX~H|H zr|?Sd4@L@4eVK6AHwriXI^mkKM>wb41)c?82p9ct!d1_jPRf7n5Muw~gg?c!i4xkx z2--vu{)k@u6td`zO)~J4F4!ann}lcC3IB9A;gjYqywd`NS6Ue09gOsj!XrIJxM%bb zt{H{GC1Zqe%A6t`GiM9?%vHv~fp67_%%{L-;Adf%!B__Q8<4qt6rtA`+QeAe1l#c= z$v<$u-!OauT~g3B0h>fpKf%3-|8rb~M|Usb*4Pr2@ zQa|C;n?H8(DsUDq`JTcdpNC3550`v8vV0nFK8~ADXO~X}=2O7@@n9xc07_o zF`s~+0q7v9gHU+TXfPeeS_rnl^e8w-KIS9vlahzIW-`8j+y#)y@1a!9 zz#rKbO+#(YXQ4|XG|}i2N|Ai2D_&U@4x=4V)Qwz*7YztojKmft*rEhmlyn8%01d7L z#Yd5gF#f0t+G9LU%XYoy8=XbYet*CNm>ppG06w2pwV#)xWrIy4vKnv|K|Y|(@7 zq=*?Y09(wU5mgNURA?22s$5B<+fDxFZVLN459aRy`3GcLu0ttVMBfa$fkY5RH3lxg z2Z1ACK-q%%?9ay@^RUM}>@g2L<^_Oo5C>8*a2^-|DsXxjHr+r+cn8k+9J!otZ~)d| zEavnw)LV{OR!|41nzM?0=xTfb1OYGL02olyp#n^*K<+ogk$wDQEqbg&k9F-qCy>oK zI+?XN)EW%C2A^1cl)=(@9PvvAt-QT}yczJG0N)`S$iZx+FW5vo+)O_Jytc3gW-GF` zf$IRpQ1T($HQOB=D{$dK?8U$gJ$6L_>O@Wq?7|kiDmhOfckYMg0q8$~*H5Abxsy?? z2w8c^NP~9=cm>~x{GGf9L-i3JkUs$j!A;eJnE(mN^i)9>g8^g9y+O$oFA#iO%{Ht;%;%Mw5@2NSs`Xegm0}Aji%DpYVB0XdL4#zWW<$ECV8yGSVpw>a^ zBXco6tThQG*Ak1YB;;hnzYn|z5}yu-?-=nOdi)JN-X`LDgAU_W^mrLPUL>x1p2+kf z&if1w^b`@S@i$RE6z7O*&cXc*Fy|oTdI(D$e#IvLAm+ZzT>EFtwSP#g`yRG28`+HG zSngIN-U7^PFm_nz@E!6$m(>TD;ULfAi>y$}5QB^^ULU>lHYFgAeSkoh(E5WEbe zdz}>y$n!#00CL(RBM$yaG?Ps79=Y%?fcHR}EWb%Yl(~~U$PS|2?dWkmQSmm>L|$SE zme@e8?7%~ArYpOToW!eG=m%=c_$xzl{ly}18JX{Z3qZQOY+|%rEa*mASH!?XPHpTR?2@G&{CDAD7%=0U?;Y?4!_t$8`;1+N^6PxR}pV7C(d1p9*faqA$~fa z_A-xndk#@>BfeUX9<%X}I;2!XA>WRvqy*DwBNa#~Bf~b87FLREGcMX8---MSIAU*H zmUlfmTnpCV7t4wJ7ZLZ*Bkt#G^~mT1cRej3lhWpp7s#W9_CwBKEf>E68&D2wliY9y2%lkbhyjjjnAy`m8_)R^lSp1DU>* zDHu5s$caTpXJqJ+lu0h42XgX|Q;1g##uCNI8Bczo9F1!6+=XNVHejjUT$NvTc>+)R zJGJ-+Fn*Ewet){+VDb+kpuecVKTFA*PNbcTqrHw{ZOkb2 zU}ZlNGm+B+@65w9`XOs5a`+t#tk4fz6jDnCcw;{Gk%wpZ#^Za@!}Ox}$wh}=;A9w& zA%;FTMv;F2tJ*U>plhv1w;9-Fsw>Y_J6G)Jjl2M4g&`%1GR0AzE_egKfr%c4)Jp;W z!PhX6#cxocZ7$m9P!(oWXbQmQv z97{zS1FsaPB|`7CMI<{N7G0h16N%0*i$s^NMWQPiad0dSKj_RFkVJg2D?Y%Zr9OdS zR}9be2*#Gw5uXp-165S_>E*{mQlgA>_(Q~ti_dF!x_<^_%o-c`5udhW1axih=Cgk6kOgl(r zSOey#5a%Q@-0Or5ut_oXGl=@i$4_#6okfP1C%GK*51zpy*|WV!@`@2%y*i36UP+=e z-_Pyj)l(#R7m9dtF&(@oh*+N)BF1N-(D`l>QLKrH@V!^G_kCGJ_h_VpJXeM3cpZ={H0ZA=GWe*eLb z-+%Dq_aDf`==_I@NdIvnBA`;V3z#Ru1FjLFfd@oL;N2oP@I?_E^oCy%_ES<@ab9_KeIRgwj(F_)2$tge3;7ZLt$EVQwNa#9Oov@fYDCAtEd^ z5_AxuVTmFnEL{YXiwPnq3}`n}__r$)e(f8DZ~L{vCt{EAj<`#BMLY|>WS>z2*h%>} zBX?CF{IP&OAs>Hae-b(sb8R3x=HVyZ@YfW4gfxTD>6}G)gr^8;&-WMF2Z_Llb|6Ls zM067VgpJ?3`d7V{+F`wKCAe<7OKA6fE! zq?LvEV}GV+!F2W~pw9?&8-R^^Q#aYvO)@q~z$TFi4&-p$g@3fS@QV%*zA<4yCwyY~ z9nRQf;nks=@a#|^JmQLkd)y@97GEb^;#Uag`0c_m{)BLdf1K^d;788!ET_!!eWc|B z2}uUiCP2j?!ZCCyLXUoV_#=8|p$nho@q<(bg340U6zu-;7P={YDAYuz=z-mDwnYYWtQ(FEgeRi z7*3l2WkrO8L+BUKs~`I1qDxwD#=JSy12zf4CVnYS!ZX=ZxFz`tm!u%!oZL=0CC3Vf zPTX)V%h}f z`=U$t0g(13_QhuHu}L5{@$Tj%+_F5#vG@qP%m8vKbRwBF;!K<-69>xb3Aiz9G?)(N zgUwt!0v-bI5lo;1c^Ekry$ZRD#?e2Hr%iwNCQRm{&xe(`4xZH9uhX%e89Hz571O7%11|7)5Y(UKw z6Y$5$_+u$;0?1cKN+wYc=+d3*q_#vHy0k-I(!jzKeVhk6;IM9V;$9H?fF25kWA38oH!`)KfQ6WpUiAMy_q@r9|zu(%eJO|Qfsr%?}Ov`KVHN0(0M z7=@jJ(8n9wxKK1vY)8X!CZFK}u!UTcG7MV`iv$UP`WS{!3`6Om2pL)jRuk0j#lUy- z0C=5-j}8O*21Nz+P(}Y(jX&1n3pLnaCdJ}hcXaB?^%zVUik`j{#|?Wia4}*cwwU0G z(w;c655O&`$w2$x(C0jF~Q3jsPTPKcbD=V&&*maA*jnJLq-q#sC{UBzn!>y1x1R1@y&~?El`g;1I8<4*p zo;$!!up8jgN-pF8TT4(Z0wUvDk(<~a0XI`O$EcTM_{OoWtQ+YKMu9p&!H!WMN1uf5 zOEH*Bo(C_1H__v*00PQ5z8BJiMFqtK)-<+vH*)S4pj`(d^AGa7 zAif|BbO6c3#obwpkx%Yp5V?U7%$koS?=gv3wVb>}74do<5p@&m78a5BSVi=3t$2@0 ze1{5plL+z^qW4Q=6JCIu`8yo7;~(~EL$+qZcKIyIhO}8;Ty#AKN3?Le+Na% zmTNHNdI(GTKcLT7fDsOnsUJC(aK7~si;N^zP-GD`_rmOjRKXCcLVgo;47?}8dn&vu zsV@12g(gbAgfgz9DzBqT58_I9;ZjeLm$!+SV6f>AVs@wjd&(x%gFYKipcAY&QLX(KhVlbpdZ znzQ`H+INZLe+9<(Pt0pDenRHw;B6pXNxIp6;3T#^V;&*yKSZ7EBPXoOVp8iB(B?l9_z5j8luTnM13oWFP9U6F2zR{ z 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

      Q#qp?GoY!Avo$!BR2H!A6e7V4tYj;FO5z;BL0b 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%0DqDId!GjW8nCv5 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 literal 0 HcmV?d00001 diff --git a/OnTopReplica/FullscreenFormManager.cs b/OnTopReplica/FullscreenFormManager.cs index e69de29..1263c3d 100644 --- a/OnTopReplica/FullscreenFormManager.cs +++ b/OnTopReplica/FullscreenFormManager.cs @@ -0,0 +1,117 @@ +using OnTopReplica.Properties; +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace OnTopReplica { + class FullscreenFormManager { + + private readonly MainForm _mainForm; + + public FullscreenFormManager(MainForm form) { + _mainForm = form; + IsFullscreen = false; + } + + Point _preFullscreenLocation; + Size _preFullscreenSize; + FormBorderStyle _preFullscreenBorderStyle; + + public bool IsFullscreen { + get; + private set; + } + + public void SwitchFullscreen() { + SwitchFullscreen(Settings.Default.GetFullscreenMode()); + } + + public void SwitchFullscreen(FullscreenMode mode) { + if (IsFullscreen) { + MoveToFullscreenMode(mode); + return; + } + + if (!_mainForm.ThumbnailPanel.IsShowingThumbnail) + return; + + //On switch, always hide side panels + _mainForm.CloseSidePanel(); + + //Store state + _preFullscreenLocation = _mainForm.Location; + _preFullscreenSize = _mainForm.ClientSize; + _preFullscreenBorderStyle = _mainForm.FormBorderStyle; + + //Change state to fullscreen + _mainForm.FormBorderStyle = FormBorderStyle.None; + MoveToFullscreenMode(mode); + + CommonCompleteSwitch(true); + } + + private void MoveToFullscreenMode(FullscreenMode mode) { + var screens = Screen.AllScreens; + + var currentScreen = Screen.FromControl(_mainForm); + Size size = _mainForm.Size; + Point location = _mainForm.Location; + + switch (mode) { + case FullscreenMode.Standard: + default: + size = currentScreen.WorkingArea.Size; + location = currentScreen.WorkingArea.Location; + break; + + case FullscreenMode.Fullscreen: + size = currentScreen.Bounds.Size; + location = currentScreen.Bounds.Location; + break; + + case FullscreenMode.AllScreens: + size = SystemInformation.VirtualScreen.Size; + location = SystemInformation.VirtualScreen.Location; + break; + } + + _mainForm.Size = size; + _mainForm.Location = location; + } + + public void SwitchBack() { + if (!IsFullscreen) + return; + + //Restore state + _mainForm.FormBorderStyle = _preFullscreenBorderStyle; + _mainForm.Location = _preFullscreenLocation; + _mainForm.ClientSize = _preFullscreenSize; + _mainForm.RefreshAspectRatio(); + + CommonCompleteSwitch(false); + } + + private void CommonCompleteSwitch(bool enabled) { + //UI stuff switching + _mainForm.GlassEnabled = !enabled; + _mainForm.TopMost = !enabled; + _mainForm.HandleMouseMove = !enabled; + + IsFullscreen = enabled; + + Program.Platform.OnFormStateChange(_mainForm); + } + + public void Toggle() { + if (IsFullscreen) + SwitchBack(); + else + SwitchFullscreen(Settings.Default.GetFullscreenMode()); + } + + } +} diff --git a/OnTopReplica/FullscreenMode.cs b/OnTopReplica/FullscreenMode.cs index e69de29..83f4700 100644 --- a/OnTopReplica/FullscreenMode.cs +++ b/OnTopReplica/FullscreenMode.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Xml.Serialization; +using OnTopReplica.Properties; + +namespace OnTopReplica { + ///

      + /// Describes a fullscreen mode. + /// + enum FullscreenMode { + Standard, + Fullscreen, + AllScreens + } + + static class FullscreenModeExtensions { + + /// + /// Gets the fullscreen mode as an enumeration value. + /// + public static FullscreenMode GetFullscreenMode(this Settings settings) { + FullscreenMode retMode = FullscreenMode.Standard; + + Enum.TryParse(settings.FullscreenMode, out retMode); + + return retMode; + } + + /// + /// Sets the fullscreen mode. + /// + public static void SetFullscreenMode(this Settings settings, FullscreenMode mode) { + settings.FullscreenMode = mode.ToString(); + } + + } +} diff --git a/OnTopReplica/MainForm.Designer.cs b/OnTopReplica/MainForm.Designer.cs index e69de29..356788c 100644 --- a/OnTopReplica/MainForm.Designer.cs +++ b/OnTopReplica/MainForm.Designer.cs @@ -0,0 +1,600 @@ +namespace OnTopReplica +{ + partial class MainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.menuContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.menuContextWindows = new System.Windows.Forms.ToolStripMenuItem(); + this.menuWindows = new System.Windows.Forms.ContextMenuStrip(this.components); + this.noneToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.switchToWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.selectRegionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.advancedToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickForwardingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.clickThroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.groupSwitchModeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.restoreLastClonedWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextOpacity = new System.Windows.Forms.ToolStripMenuItem(); + this.menuOpacity = new System.Windows.Forms.ContextMenuStrip(this.components); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); + this.fullOpacityToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.resizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuResize = new System.Windows.Forms.ContextMenuStrip(this.components); + this.doubleToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.fitToWindowToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.halfToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.quarterToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); + this.fullscreenToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.restorePositionAndSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.dockToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.disabledToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.topRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.centerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomLeftToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bottomRightToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.chromeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.reduceToIconToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContextClose = new System.Windows.Forms.ToolStripMenuItem(); + this.fullSelectWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuFullscreenContext = new System.Windows.Forms.ContextMenuStrip(this.components); + this.modeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuModeStandardToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuModeFullscreenToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuModeAllScreensToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.enableClickthroughToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fullExitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.menuContext.SuspendLayout(); + this.menuWindows.SuspendLayout(); + this.menuOpacity.SuspendLayout(); + this.menuResize.SuspendLayout(); + this.menuFullscreenContext.SuspendLayout(); + this.SuspendLayout(); + // + // menuContext + // + this.menuContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuContextWindows, + this.switchToWindowToolStripMenuItem, + this.selectRegionToolStripMenuItem, + this.advancedToolStripMenuItem, + this.menuContextOpacity, + this.resizeToolStripMenuItem, + this.dockToolStripMenuItem, + this.chromeToolStripMenuItem, + this.reduceToIconToolStripMenuItem, + this.toolStripSeparator1, + this.settingsToolStripMenuItem, + this.aboutToolStripMenuItem, + this.menuContextClose}); + this.menuContext.Name = "menuContext"; + this.menuContext.Size = new System.Drawing.Size(187, 274); + this.menuContext.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_opening); + // + // menuContextWindows + // + this.menuContextWindows.DropDown = this.menuWindows; + this.menuContextWindows.Image = global::OnTopReplica.Properties.Resources.list; + this.menuContextWindows.Name = "menuContextWindows"; + this.menuContextWindows.Size = new System.Drawing.Size(186, 22); + this.menuContextWindows.Text = global::OnTopReplica.Strings.MenuWindows; + this.menuContextWindows.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // + // menuWindows + // + this.menuWindows.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.noneToolStripMenuItem}); + this.menuWindows.Name = "menuWindows"; + this.menuWindows.Size = new System.Drawing.Size(118, 26); + // + // noneToolStripMenuItem + // + this.noneToolStripMenuItem.Name = "noneToolStripMenuItem"; + this.noneToolStripMenuItem.Size = new System.Drawing.Size(117, 22); + this.noneToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindowsNone; + // + // switchToWindowToolStripMenuItem + // + this.switchToWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_arrow; + this.switchToWindowToolStripMenuItem.Name = "switchToWindowToolStripMenuItem"; + this.switchToWindowToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.switchToWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSwitch; + this.switchToWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSwitchTT; + this.switchToWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_Switch_click); + // + // selectRegionToolStripMenuItem + // + this.selectRegionToolStripMenuItem.Enabled = false; + this.selectRegionToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.regions; + this.selectRegionToolStripMenuItem.Name = "selectRegionToolStripMenuItem"; + this.selectRegionToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.selectRegionToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRegion; + this.selectRegionToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRegionTT; + this.selectRegionToolStripMenuItem.Click += new System.EventHandler(this.Menu_Region_click); + // + // advancedToolStripMenuItem + // + this.advancedToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.clickForwardingToolStripMenuItem, + this.clickThroughToolStripMenuItem, + this.groupSwitchModeToolStripMenuItem, + this.restoreLastClonedWindowToolStripMenuItem}); + this.advancedToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.xiao_wrench; + this.advancedToolStripMenuItem.Name = "advancedToolStripMenuItem"; + this.advancedToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.advancedToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAdvanced; + this.advancedToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Advanced_opening); + // + // clickForwardingToolStripMenuItem + // + this.clickForwardingToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; + this.clickForwardingToolStripMenuItem.Name = "clickForwardingToolStripMenuItem"; + this.clickForwardingToolStripMenuItem.Size = new System.Drawing.Size(218, 22); + this.clickForwardingToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickForwarding; + this.clickForwardingToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickForwardingTT; + this.clickForwardingToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickForwarding_click); + // + // clickThroughToolStripMenuItem + // + this.clickThroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.clickThroughToolStripMenuItem.Name = "clickThroughToolStripMenuItem"; + this.clickThroughToolStripMenuItem.Size = new System.Drawing.Size(218, 22); + this.clickThroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.clickThroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.clickThroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // groupSwitchModeToolStripMenuItem + // + this.groupSwitchModeToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.groupmode; + this.groupSwitchModeToolStripMenuItem.Name = "groupSwitchModeToolStripMenuItem"; + this.groupSwitchModeToolStripMenuItem.Size = new System.Drawing.Size(218, 22); + this.groupSwitchModeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuGroupSwitch; + this.groupSwitchModeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuGroupSwitchTT; + this.groupSwitchModeToolStripMenuItem.Click += new System.EventHandler(this.Menu_GroupSwitchMode_click); + // + // restoreLastClonedWindowToolStripMenuItem + // + this.restoreLastClonedWindowToolStripMenuItem.Name = "restoreLastClonedWindowToolStripMenuItem"; + this.restoreLastClonedWindowToolStripMenuItem.Size = new System.Drawing.Size(218, 22); + this.restoreLastClonedWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRestoreLast; + this.restoreLastClonedWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRestoreLastTT; + this.restoreLastClonedWindowToolStripMenuItem.Click += new System.EventHandler(this.Menu_RestoreLastWindow_click); + // + // menuContextOpacity + // + this.menuContextOpacity.DropDown = this.menuOpacity; + this.menuContextOpacity.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.menuContextOpacity.Name = "menuContextOpacity"; + this.menuContextOpacity.Size = new System.Drawing.Size(186, 22); + this.menuContextOpacity.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // menuOpacity + // + this.menuOpacity.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripMenuItem1, + this.toolStripMenuItem2, + this.toolStripMenuItem3, + this.toolStripMenuItem4}); + this.menuOpacity.Name = "menuOpacity"; + this.menuOpacity.OwnerItem = this.menuContextOpacity; + this.menuOpacity.ShowCheckMargin = true; + this.menuOpacity.ShowImageMargin = false; + this.menuOpacity.Size = new System.Drawing.Size(154, 92); + this.menuOpacity.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Opacity_opening); + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Checked = true; + this.toolStripMenuItem1.CheckState = System.Windows.Forms.CheckState.Checked; + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem1.Tag = 1D; + this.toolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuOp100; + this.toolStripMenuItem1.ToolTipText = global::OnTopReplica.Strings.MenuOp100TT; + this.toolStripMenuItem1.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem2 + // + this.toolStripMenuItem2.Name = "toolStripMenuItem2"; + this.toolStripMenuItem2.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem2.Tag = 0.75D; + this.toolStripMenuItem2.Text = global::OnTopReplica.Strings.MenuOp75; + this.toolStripMenuItem2.ToolTipText = global::OnTopReplica.Strings.MenuOp75TT; + this.toolStripMenuItem2.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem3 + // + this.toolStripMenuItem3.Name = "toolStripMenuItem3"; + this.toolStripMenuItem3.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem3.Tag = 0.5D; + this.toolStripMenuItem3.Text = global::OnTopReplica.Strings.MenuOp50; + this.toolStripMenuItem3.ToolTipText = global::OnTopReplica.Strings.MenuOp50TT; + this.toolStripMenuItem3.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // toolStripMenuItem4 + // + this.toolStripMenuItem4.Name = "toolStripMenuItem4"; + this.toolStripMenuItem4.Size = new System.Drawing.Size(153, 22); + this.toolStripMenuItem4.Tag = 0.25D; + this.toolStripMenuItem4.Text = global::OnTopReplica.Strings.MenuOp25; + this.toolStripMenuItem4.ToolTipText = global::OnTopReplica.Strings.MenuOp25TT; + this.toolStripMenuItem4.Click += new System.EventHandler(this.Menu_Opacity_click); + // + // fullOpacityToolStripMenuItem + // + this.fullOpacityToolStripMenuItem.DropDown = this.menuOpacity; + this.fullOpacityToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.window_opacity; + this.fullOpacityToolStripMenuItem.Name = "fullOpacityToolStripMenuItem"; + this.fullOpacityToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullOpacityToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuOpacity; + // + // resizeToolStripMenuItem + // + this.resizeToolStripMenuItem.DropDown = this.menuResize; + this.resizeToolStripMenuItem.Enabled = false; + this.resizeToolStripMenuItem.Name = "resizeToolStripMenuItem"; + this.resizeToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.resizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuResize; + // + // menuResize + // + this.menuResize.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.doubleToolStripMenuItem1, + this.fitToWindowToolStripMenuItem1, + this.halfToolStripMenuItem1, + this.quarterToolStripMenuItem1, + this.toolStripSeparator3, + this.fullscreenToolStripMenuItem1, + this.toolStripSeparator2, + this.restorePositionAndSizeToolStripMenuItem}); + this.menuResize.Name = "menuResize"; + this.menuResize.OwnerItem = this.resizeToolStripMenuItem; + this.menuResize.Size = new System.Drawing.Size(218, 148); + this.menuResize.Opening += new System.ComponentModel.CancelEventHandler(this.Menu_Resize_opening); + // + // doubleToolStripMenuItem1 + // + this.doubleToolStripMenuItem1.Name = "doubleToolStripMenuItem1"; + this.doubleToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.doubleToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitDouble; + this.doubleToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Double); + // + // fitToWindowToolStripMenuItem1 + // + this.fitToWindowToolStripMenuItem1.Name = "fitToWindowToolStripMenuItem1"; + this.fitToWindowToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.fitToWindowToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitOriginal; + this.fitToWindowToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_FitToWindow); + // + // halfToolStripMenuItem1 + // + this.halfToolStripMenuItem1.Name = "halfToolStripMenuItem1"; + this.halfToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.halfToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitHalf; + this.halfToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Half); + // + // quarterToolStripMenuItem1 + // + this.quarterToolStripMenuItem1.Name = "quarterToolStripMenuItem1"; + this.quarterToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.quarterToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitQuarter; + this.quarterToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Quarter); + // + // toolStripSeparator3 + // + this.toolStripSeparator3.Name = "toolStripSeparator3"; + this.toolStripSeparator3.Size = new System.Drawing.Size(214, 6); + // + // fullscreenToolStripMenuItem1 + // + this.fullscreenToolStripMenuItem1.Image = global::OnTopReplica.Properties.Resources.fullscreen; + this.fullscreenToolStripMenuItem1.Name = "fullscreenToolStripMenuItem1"; + this.fullscreenToolStripMenuItem1.Size = new System.Drawing.Size(217, 22); + this.fullscreenToolStripMenuItem1.Text = global::OnTopReplica.Strings.MenuFitFullscreen; + this.fullscreenToolStripMenuItem1.Click += new System.EventHandler(this.Menu_Resize_Fullscreen); + // + // toolStripSeparator2 + // + this.toolStripSeparator2.Name = "toolStripSeparator2"; + this.toolStripSeparator2.Size = new System.Drawing.Size(214, 6); + // + // restorePositionAndSizeToolStripMenuItem + // + this.restorePositionAndSizeToolStripMenuItem.Name = "restorePositionAndSizeToolStripMenuItem"; + this.restorePositionAndSizeToolStripMenuItem.Size = new System.Drawing.Size(217, 22); + this.restorePositionAndSizeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuRecall; + this.restorePositionAndSizeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuRecallTT; + this.restorePositionAndSizeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Resize_RecallPosition_click); + // + // dockToolStripMenuItem + // + this.dockToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.disabledToolStripMenuItem, + this.topLeftToolStripMenuItem, + this.topRightToolStripMenuItem, + this.centerToolStripMenuItem, + this.bottomLeftToolStripMenuItem, + this.bottomRightToolStripMenuItem}); + this.dockToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_null; + this.dockToolStripMenuItem.Name = "dockToolStripMenuItem"; + this.dockToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.dockToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosition; + this.dockToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuPositionTT; + this.dockToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Position_Opening); + // + // disabledToolStripMenuItem + // + this.disabledToolStripMenuItem.Checked = true; + this.disabledToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked; + this.disabledToolStripMenuItem.Name = "disabledToolStripMenuItem"; + this.disabledToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.disabledToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosDisabled; + this.disabledToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_Disable); + // + // topLeftToolStripMenuItem + // + this.topLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topleft; + this.topLeftToolStripMenuItem.Name = "topLeftToolStripMenuItem"; + this.topLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopLeft; + this.topLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopLeft); + // + // topRightToolStripMenuItem + // + this.topRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_topright; + this.topRightToolStripMenuItem.Name = "topRightToolStripMenuItem"; + this.topRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.topRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosTopRight; + this.topRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_TopRight); + // + // centerToolStripMenuItem + // + this.centerToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_center; + this.centerToolStripMenuItem.Name = "centerToolStripMenuItem"; + this.centerToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.centerToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosCenter; + this.centerToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_Center); + // + // bottomLeftToolStripMenuItem + // + this.bottomLeftToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomleft; + this.bottomLeftToolStripMenuItem.Name = "bottomLeftToolStripMenuItem"; + this.bottomLeftToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomLeftToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomLeft; + this.bottomLeftToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomLeft); + // + // bottomRightToolStripMenuItem + // + this.bottomRightToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.pos_bottomright; + this.bottomRightToolStripMenuItem.Name = "bottomRightToolStripMenuItem"; + this.bottomRightToolStripMenuItem.Size = new System.Drawing.Size(145, 22); + this.bottomRightToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuPosBottomRight; + this.bottomRightToolStripMenuItem.Click += new System.EventHandler(this.Menu_Position_BottomRight); + // + // chromeToolStripMenuItem + // + this.chromeToolStripMenuItem.Name = "chromeToolStripMenuItem"; + this.chromeToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.chromeToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuChrome; + this.chromeToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuChromeTT; + this.chromeToolStripMenuItem.Click += new System.EventHandler(this.Menu_Chrome_click); + // + // reduceToIconToolStripMenuItem + // + this.reduceToIconToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.minimize; + this.reduceToIconToolStripMenuItem.Name = "reduceToIconToolStripMenuItem"; + this.reduceToIconToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.reduceToIconToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuReduce; + this.reduceToIconToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuReduceTT; + this.reduceToIconToolStripMenuItem.Click += new System.EventHandler(this.Menu_Reduce_click); + // + // toolStripSeparator1 + // + this.toolStripSeparator1.Name = "toolStripSeparator1"; + this.toolStripSeparator1.Size = new System.Drawing.Size(183, 6); + // + // settingsToolStripMenuItem + // + this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; + this.settingsToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.settingsToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuSettings; + this.settingsToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuSettingsTT; + this.settingsToolStripMenuItem.Click += new System.EventHandler(this.Menu_Settings_click); + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.help; + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(186, 22); + this.aboutToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuAbout; + this.aboutToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuAboutTT; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.Menu_About_click); + // + // menuContextClose + // + this.menuContextClose.Image = global::OnTopReplica.Properties.Resources.close_new; + this.menuContextClose.Name = "menuContextClose"; + this.menuContextClose.Size = new System.Drawing.Size(186, 22); + this.menuContextClose.Text = global::OnTopReplica.Strings.MenuClose; + this.menuContextClose.Click += new System.EventHandler(this.Menu_Close_click); + // + // fullSelectWindowToolStripMenuItem + // + this.fullSelectWindowToolStripMenuItem.DropDown = this.menuWindows; + this.fullSelectWindowToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.list; + this.fullSelectWindowToolStripMenuItem.Name = "fullSelectWindowToolStripMenuItem"; + this.fullSelectWindowToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullSelectWindowToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuWindows; + this.fullSelectWindowToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuWindowsTT; + // + // menuFullscreenContext + // + this.menuFullscreenContext.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fullSelectWindowToolStripMenuItem, + this.modeToolStripMenuItem, + this.fullOpacityToolStripMenuItem, + this.enableClickthroughToolStripMenuItem, + this.fullExitToolStripMenuItem}); + this.menuFullscreenContext.Name = "menuFullscreenContext"; + this.menuFullscreenContext.Size = new System.Drawing.Size(190, 136); + // + // modeToolStripMenuItem + // + this.modeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuModeStandardToolStripMenuItem, + this.menuModeFullscreenToolStripMenuItem, + this.menuModeAllScreensToolStripMenuItem}); + this.modeToolStripMenuItem.Name = "modeToolStripMenuItem"; + this.modeToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.modeToolStripMenuItem.Text = "Mode"; + this.modeToolStripMenuItem.DropDownOpening += new System.EventHandler(this.Menu_Fullscreen_Mode_opening); + // + // menuModeStandardToolStripMenuItem + // + this.menuModeStandardToolStripMenuItem.Name = "menuModeStandardToolStripMenuItem"; + this.menuModeStandardToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.menuModeStandardToolStripMenuItem.Text = "Standard"; + this.menuModeStandardToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_Mode_Standard_click); + // + // menuModeFullscreenToolStripMenuItem + // + this.menuModeFullscreenToolStripMenuItem.Name = "menuModeFullscreenToolStripMenuItem"; + this.menuModeFullscreenToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.menuModeFullscreenToolStripMenuItem.Text = "Fullscreen"; + this.menuModeFullscreenToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_Mode_Fullscreen_click); + // + // menuModeAllScreensToolStripMenuItem + // + this.menuModeAllScreensToolStripMenuItem.Name = "menuModeAllScreensToolStripMenuItem"; + this.menuModeAllScreensToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.menuModeAllScreensToolStripMenuItem.Text = "All screens"; + this.menuModeAllScreensToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_Mode_AllScreens_click); + // + // enableClickthroughToolStripMenuItem + // + this.enableClickthroughToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.clickforwarding; + this.enableClickthroughToolStripMenuItem.Name = "enableClickthroughToolStripMenuItem"; + this.enableClickthroughToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.enableClickthroughToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuClickThrough; + this.enableClickthroughToolStripMenuItem.ToolTipText = global::OnTopReplica.Strings.MenuClickThroughTT; + this.enableClickthroughToolStripMenuItem.Click += new System.EventHandler(this.Menu_ClickThrough_click); + // + // fullExitToolStripMenuItem + // + this.fullExitToolStripMenuItem.Image = global::OnTopReplica.Properties.Resources.close_new; + this.fullExitToolStripMenuItem.Name = "fullExitToolStripMenuItem"; + this.fullExitToolStripMenuItem.Size = new System.Drawing.Size(189, 22); + this.fullExitToolStripMenuItem.Text = global::OnTopReplica.Strings.MenuQuitFullscreen; + this.fullExitToolStripMenuItem.Click += new System.EventHandler(this.Menu_Fullscreen_ExitFullscreen_click); + // + // MainForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.Control; + this.ClientSize = new System.Drawing.Size(324, 232); + this.ControlBox = false; + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.HideCaption = true; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.MinimumSize = new System.Drawing.Size(44, 44); + this.Name = "MainForm"; + this.Text = "OnTopReplica"; + this.TopMost = true; + this.menuContext.ResumeLayout(false); + this.menuWindows.ResumeLayout(false); + this.menuOpacity.ResumeLayout(false); + this.menuResize.ResumeLayout(false); + this.menuFullscreenContext.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ContextMenuStrip menuContext; + private System.Windows.Forms.ToolStripMenuItem menuContextWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextClose; + private System.Windows.Forms.ContextMenuStrip menuWindows; + private System.Windows.Forms.ToolStripMenuItem menuContextOpacity; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.ContextMenuStrip menuOpacity; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem4; + private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem reduceToIconToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem selectRegionToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem resizeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem noneToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem switchToWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem dockToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem topRightToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomLeftToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bottomRightToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuResize; + private System.Windows.Forms.ToolStripMenuItem doubleToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fitToWindowToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem halfToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem quarterToolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem fullscreenToolStripMenuItem1; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripMenuItem chromeToolStripMenuItem; + private System.Windows.Forms.ContextMenuStrip menuFullscreenContext; + private System.Windows.Forms.ToolStripMenuItem fullSelectWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullOpacityToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem fullExitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem advancedToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickForwardingToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem clickThroughToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem groupSwitchModeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem enableClickthroughToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem centerToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem disabledToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; + private System.Windows.Forms.ToolStripMenuItem restorePositionAndSizeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem restoreLastClonedWindowToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem modeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem menuModeStandardToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem menuModeFullscreenToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem menuModeAllScreensToolStripMenuItem; + } +} + diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index e69de29..9450846 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -0,0 +1,422 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Native; +using OnTopReplica.Properties; +using OnTopReplica.StartupOptions; +using OnTopReplica.Update; +using OnTopReplica.WindowSeekers; +using WindowsFormsAero.Dwm; +using WindowsFormsAero.TaskDialog; + +namespace OnTopReplica { + + partial class MainForm : AspectRatioForm { + + //GUI elements + ThumbnailPanel _thumbnailPanel; + + //Managers + readonly MessagePumpManager _msgPumpManager = new MessagePumpManager(); + WindowListMenuManager _windowListManager; + public FullscreenFormManager FullscreenManager { get; private set; } + + Options _startupOptions; + + public MainForm(Options startupOptions) { + _startupOptions = startupOptions; + + FullscreenManager = new FullscreenFormManager(this); + + //WinForms init pass + InitializeComponent(); + + //Store default values + DefaultNonClickTransparencyKey = this.TransparencyKey; + DefaultBorderStyle = this.FormBorderStyle; + + //Thumbnail panel + _thumbnailPanel = new ThumbnailPanel { + Location = Point.Empty, + Dock = DockStyle.Fill + }; + _thumbnailPanel.CloneClick += new EventHandler(Thumbnail_CloneClick); + Controls.Add(_thumbnailPanel); + + //Set native renderer on context menus + Asztal.Szótár.NativeToolStripRenderer.SetToolStripRenderer( + menuContext, menuWindows, menuOpacity, menuResize, menuFullscreenContext + ); + + //Set to Key event preview + this.KeyPreview = true; + } + + #region Event override + + protected override void OnHandleCreated(EventArgs e){ + base.OnHandleCreated(e); + + //Window init + KeepAspectRatio = false; + GlassEnabled = true; + GlassMargins = new Margins(-1); + + //Managers + _msgPumpManager.Initialize(this); + _windowListManager = new WindowListMenuManager(this, menuWindows); + _windowListManager.ParentMenus = new System.Windows.Forms.ContextMenuStrip[] { + menuContext, menuFullscreenContext + }; + + //Platform specific form initialization + Program.Platform.PostHandleFormInit(this); + } + + protected override void OnShown(EventArgs e) { + base.OnShown(e); + + //Apply startup options + _startupOptions.Apply(this); + } + + protected override void OnClosing(CancelEventArgs e) { + //Store last thumbnail, if any + if (_thumbnailPanel.IsShowingThumbnail && CurrentThumbnailWindowHandle != null) { + Settings.Default.RestoreLastWindowTitle = CurrentThumbnailWindowHandle.Title; + Settings.Default.RestoreLastWindowHwnd = CurrentThumbnailWindowHandle.Handle.ToInt64(); + Settings.Default.RestoreLastWindowClass = CurrentThumbnailWindowHandle.Class; + } + + _msgPumpManager.Dispose(); + Program.Platform.CloseForm(this); + + base.OnClosing(e); + } + + protected override void OnMove(EventArgs e) { + base.OnMove(e); + + AdjustSidePanelLocation(); + } + + protected override void OnResizeEnd(EventArgs e) { + base.OnResizeEnd(e); + + RefreshScreenLock(); + } + + protected override void OnActivated(EventArgs e) { + base.OnActivated(e); + + //Deactivate click-through if form is reactivated + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + + Program.Platform.RestoreForm(this); + } + + protected override void OnDeactivate(EventArgs e) { + base.OnDeactivate(e); + + //HACK: sometimes, even if TopMost is true, the window loses its "always on top" status. + // This is a fix attempt that probably won't work... + if (!FullscreenManager.IsFullscreen) { //fullscreen mode doesn't use TopMost + TopMost = false; + TopMost = true; + } + } + + protected override void OnMouseWheel(MouseEventArgs e) { + base.OnMouseWheel(e); + + if (!FullscreenManager.IsFullscreen) { + int change = (int)(e.Delta / 6.0); //assumes a mouse wheel "tick" is in the 80-120 range + AdjustSize(change); + RefreshScreenLock(); + } + } + + protected override void OnMouseDoubleClick(MouseEventArgs e) { + base.OnMouseDoubleClick(e); + + //This is handled by the WM_NCLBUTTONDBLCLK msg handler usually (because the GlassForm translates + //clicks on client to clicks on caption). But if fullscreen mode disables GlassForm dragging, we need + //this auxiliary handler to switch mode. + FullscreenManager.Toggle(); + } + + protected override void OnMouseClick(MouseEventArgs e) { + base.OnMouseClick(e); + + //Same story as above (OnMouseDoubleClick) + if (e.Button == System.Windows.Forms.MouseButtons.Right) { + OpenContextMenu(null); + } + } + + protected override void WndProc(ref Message m) { + if (_msgPumpManager != null) { + if (_msgPumpManager.PumpMessage(ref m)) { + return; + } + } + + switch (m.Msg) { + case WM.NCRBUTTONUP: + //Open context menu if right button clicked on caption (i.e. all of the window area because of glass) + if (m.WParam.ToInt32() == HT.CAPTION) { + OpenContextMenu(null); + + m.Result = IntPtr.Zero; + return; + } + break; + + case WM.NCLBUTTONDBLCLK: + //Toggle fullscreen mode if double click on caption (whole glass area) + if (m.WParam.ToInt32() == HT.CAPTION) { + FullscreenManager.Toggle(); + + m.Result = IntPtr.Zero; + return; + } + break; + + case WM.NCHITTEST: + //Make transparent to hit-testing if in click through mode + if (ClickThroughEnabled && (ModifierKeys & Keys.Alt) != Keys.Alt) { + m.Result = (IntPtr)HT.TRANSPARENT; + return; + } + break; + } + + base.WndProc(ref m); + } + + #endregion + + #region Keyboard event handling + + protected override void OnKeyUp(KeyEventArgs e) { + base.OnKeyUp(e); + + //ALT + if (e.Modifiers == Keys.Alt) { + if (e.KeyCode == Keys.Enter) { + e.Handled = true; + FullscreenManager.Toggle(); + } + + else if (e.KeyCode == Keys.D1 || e.KeyCode == Keys.NumPad1) { + FitToThumbnail(0.25); + } + + else if (e.KeyCode == Keys.D2 || e.KeyCode == Keys.NumPad2) { + FitToThumbnail(0.5); + } + + else if (e.KeyCode == Keys.D3 || e.KeyCode == Keys.NumPad3 || + e.KeyCode == Keys.D0 || e.KeyCode == Keys.NumPad0) { + FitToThumbnail(1.0); + } + + else if (e.KeyCode == Keys.D4 || e.KeyCode == Keys.NumPad4) { + FitToThumbnail(2.0); + } + } + + //F11 Fullscreen switch + else if (e.KeyCode == Keys.F11) { + e.Handled = true; + FullscreenManager.Toggle(); + } + + //ESCAPE + else if (e.KeyCode == Keys.Escape) { + //Disable click-through + if (ClickThroughEnabled) { + ClickThroughEnabled = false; + } + //Toggle fullscreen + else if (FullscreenManager.IsFullscreen) { + FullscreenManager.SwitchBack(); + } + //Disable click forwarding + else if (ClickForwardingEnabled) { + ClickForwardingEnabled = false; + } + } + } + + #endregion + + #region Thumbnail operation + + /// + /// Sets a new thumbnail. + /// + /// Handle to the window to clone. + /// Region of the window to clone or null. + public void SetThumbnail(WindowHandle handle, ThumbnailRegion region) { + try { + System.Diagnostics.Trace.WriteLine(string.Format("Cloning window HWND {0} of class {1}.", handle.Handle, handle.Class)); + + CurrentThumbnailWindowHandle = handle; + _thumbnailPanel.SetThumbnailHandle(handle, region); + + //Set aspect ratio (this will resize the form), do not refresh if in fullscreen + SetAspectRatio(_thumbnailPanel.ThumbnailPixelSize, !FullscreenManager.IsFullscreen); + } + catch (Exception ex) { + System.Diagnostics.Trace.Fail("Unable to set thumbnail.", ex.ToString()); + + ThumbnailError(ex, false, Strings.ErrorUnableToCreateThumbnail); + _thumbnailPanel.UnsetThumbnail(); + } + } + + /// + /// Enables group mode on a list of window handles. + /// + /// List of window handles. + public void SetThumbnailGroup(IList handles) { + if (handles.Count == 0) + return; + + //At last one thumbnail + SetThumbnail(handles[0], null); + + //Handle if no real group + if (handles.Count == 1) + return; + + CurrentThumbnailWindowHandle = null; + _msgPumpManager.Get().EnableGroupMode(handles); + } + + /// + /// Disables the cloned thumbnail. + /// + public void UnsetThumbnail() { + //Unset handle + CurrentThumbnailWindowHandle = null; + _thumbnailPanel.UnsetThumbnail(); + + //Disable aspect ratio + KeepAspectRatio = false; + } + + /// + /// Gets or sets the region displayed of the current thumbnail. + /// + public ThumbnailRegion SelectedThumbnailRegion { + get { + if (!_thumbnailPanel.IsShowingThumbnail || !_thumbnailPanel.ConstrainToRegion) + return null; + + return _thumbnailPanel.SelectedRegion; + } + set { + if (!_thumbnailPanel.IsShowingThumbnail) + return; + + _thumbnailPanel.SelectedRegion = value; + + SetAspectRatio(_thumbnailPanel.ThumbnailPixelSize, true); + + FixPositionAndSize(); + } + } + + const int FixMargin = 10; + + /// + /// Fixes the form's position and size, ensuring it is fully displayed in the current screen. + /// + private void FixPositionAndSize() { + var screen = Screen.FromControl(this); + + if (Width > screen.WorkingArea.Width) { + Width = screen.WorkingArea.Width - FixMargin; + } + if (Height > screen.WorkingArea.Height) { + Height = screen.WorkingArea.Height - FixMargin; + } + if (Location.X + Width > screen.WorkingArea.Right) { + Location = new Point(screen.WorkingArea.Right - Width - FixMargin, Location.Y); + } + if (Location.Y + Height > screen.WorkingArea.Bottom) { + Location = new Point(Location.X, screen.WorkingArea.Bottom - Height - FixMargin); + } + } + + private void ThumbnailError(Exception ex, bool suppress, string title) { + if (!suppress) { + ShowErrorDialog(title, Strings.ErrorGenericThumbnailHandleError, ex.Message); + } + + UnsetThumbnail(); + } + + /// Automatically sizes the window in order to accomodate the thumbnail p times. + /// Scale of the thumbnail to consider. + private void FitToThumbnail(double p) { + try { + Size originalSize = _thumbnailPanel.ThumbnailPixelSize; + Size fittedSize = new Size((int)(originalSize.Width * p), (int)(originalSize.Height * p)); + ClientSize = fittedSize; + RefreshScreenLock(); + } + catch (Exception ex) { + ThumbnailError(ex, false, Strings.ErrorUnableToFit); + } + } + + #endregion + + #region Accessors + + /// + /// Gets the form's thumbnail panel. + /// + public ThumbnailPanel ThumbnailPanel { + get { + return _thumbnailPanel; + } + } + + /// + /// Gets the form's message pump manager. + /// + public MessagePumpManager MessagePumpManager { + get { + return _msgPumpManager; + } + } + + /// + /// Gets the form's window list drop down menu. + /// + public ContextMenuStrip MenuWindows { + get { + return menuWindows; + } + } + + /// + /// Retrieves the window handle of the currently cloned thumbnail. + /// + public WindowHandle CurrentThumbnailWindowHandle { + get; + private set; + } + + #endregion + + } +} diff --git a/OnTopReplica/MainForm_Gui.cs b/OnTopReplica/MainForm_Gui.cs index e69de29..fe909cb 100644 --- a/OnTopReplica/MainForm_Gui.cs +++ b/OnTopReplica/MainForm_Gui.cs @@ -0,0 +1,118 @@ +using System.Drawing; +using System.Windows.Forms; +using WindowsFormsAero.TaskDialog; + +namespace OnTopReplica { + partial class MainForm { + + /// + /// Opens the context menu. + /// + /// Optional position of the mouse, relative to which the menu is shown. + public void OpenContextMenu(Point? position) { + Point menuPosition = MousePosition; + if (position.HasValue) + menuPosition = position.Value; + + if (FullscreenManager.IsFullscreen) { + menuFullscreenContext.Show(menuPosition); + } + else { + menuContext.Show(menuPosition); + } + } + + /// + /// Gets the window's vertical chrome size. + /// + public int ChromeBorderVertical { + get { + if (IsChromeVisible) + return SystemInformation.FrameBorderSize.Height; + else + return 0; + } + } + + /// + /// Gets the window's horizontal chrome size. + /// + public int ChromeBorderHorizontal { + get { + if (IsChromeVisible) + return SystemInformation.FrameBorderSize.Width; + else + return 0; + } + } + + /// + /// Displays an error task dialog. + /// + /// Main instruction of the error dialog. + /// Detailed informations about the error. + /// Expanded error codes/messages. + private void ShowErrorDialog(string mainInstruction, string explanation, string errorMessage) { + TaskDialog dlg = new TaskDialog(mainInstruction, Strings.ErrorGenericTitle, explanation) { + CommonIcon = TaskDialogIcon.Stop, + IsExpanded = false + }; + + if (!string.IsNullOrEmpty(errorMessage)) { + dlg.ExpandedInformation = Strings.ErrorGenericInfoText + errorMessage; + dlg.ExpandedControlText = Strings.ErrorGenericInfoButton; + } + + dlg.Show(this); + } + + /// + /// Ensures that the main form is visible (either closing the fullscreen mode or reactivating from task icon). + /// + public void EnsureMainFormVisible() { + //Reset special modes + FullscreenManager.SwitchBack(); + ClickThroughEnabled = false; + Opacity = 1.0; + + //Restore main form in a platform-dependent method + Program.Platform.RestoreForm(this); + } + + /// + /// Opens a confirmation dialog to confirm whether to reset the main form or not. + /// + public void ResetMainFormWithConfirmation() { + var dlg = new TaskDialog(Strings.AskReset, Strings.AskResetTitle, Strings.AskResetContent); + dlg.UseCommandLinks = true; + dlg.CustomButtons = new CustomButton[] { + new CustomButton(Result.OK, Strings.AskResetButtonOk), + new CustomButton(Result.Cancel, Strings.ButtonCancel) + }; + dlg.CommonIcon = TaskDialogIcon.Information; + + if (dlg.Show(this).CommonButton == Result.OK) { + ResetMainForm(); + } + } + + /// + /// Resets the main form to its initial state. + /// + public void ResetMainForm() { + //Reset form settings + UnsetThumbnail(); + CloseSidePanel(); + + //Reset location and size (edge of the screen, min size) + Point nuLoc = Screen.PrimaryScreen.WorkingArea.Location; + nuLoc.Offset(40, 40); + Location = nuLoc; + Size = new Size(240, 220); + + this.Show(); + this.Activate(); + } + + } +} diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs index e69de29..eb9ad0c 100644 --- a/OnTopReplica/MainForm_MenuEvents.cs +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -0,0 +1,203 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using OnTopReplica.Properties; +using WindowsFormsAero.TaskDialog; +using OnTopReplica.SidePanels; + +namespace OnTopReplica { + partial class MainForm { + + private void Menu_opening(object sender, CancelEventArgs e) { + //Cancel if currently in "fullscreen" mode or a side panel is open + if (FullscreenManager.IsFullscreen || IsSidePanelOpen) { + e.Cancel = true; + return; + } + + bool showing = _thumbnailPanel.IsShowingThumbnail; + + selectRegionToolStripMenuItem.Enabled = showing; + switchToWindowToolStripMenuItem.Enabled = showing; + resizeToolStripMenuItem.Enabled = showing; + chromeToolStripMenuItem.Checked = IsChromeVisible; + clickForwardingToolStripMenuItem.Checked = ClickForwardingEnabled; + chromeToolStripMenuItem.Enabled = showing; + clickThroughToolStripMenuItem.Enabled = showing; + clickForwardingToolStripMenuItem.Enabled = showing; + } + + private void Menu_Switch_click(object sender, EventArgs e) { + if (CurrentThumbnailWindowHandle == null) + return; + + Program.Platform.HideForm(this); + Native.WindowManagerMethods.SetForegroundWindow(CurrentThumbnailWindowHandle.Handle); + } + + private void Menu_Advanced_opening(object sender, EventArgs e) { + restoreLastClonedWindowToolStripMenuItem.Checked = Settings.Default.RestoreLastWindow; + } + + private void Menu_GroupSwitchMode_click(object sender, EventArgs e) { + SetSidePanel(new SidePanels.GroupSwitchPanel()); + } + + private void Menu_RestoreLastWindow_click(object sender, EventArgs e) { + Settings.Default.RestoreLastWindow = !Settings.Default.RestoreLastWindow; + } + + private void Menu_ClickForwarding_click(object sender, EventArgs e) { + ClickForwardingEnabled = !ClickForwardingEnabled; + } + + private void Menu_ClickThrough_click(object sender, EventArgs e) { + ClickThroughEnabled = true; + } + + private void Menu_Opacity_opening(object sender, CancelEventArgs e) { + ToolStripMenuItem[] items = { + toolStripMenuItem1, + toolStripMenuItem2, + toolStripMenuItem3, + toolStripMenuItem4 + }; + + foreach (ToolStripMenuItem i in items) { + if (((double)i.Tag) == this.Opacity) + i.Checked = true; + else + i.Checked = false; + } + } + + private void Menu_Opacity_click(object sender, EventArgs e) { + //Get clicked menu item + ToolStripMenuItem tsi = sender as ToolStripMenuItem; + + if (tsi != null && this.Visible) { + //Get opacity from the tag + this.Opacity = (double)tsi.Tag; + Program.Platform.OnFormStateChange(this); + } + } + + private void Menu_Region_click(object sender, EventArgs e) { + SetSidePanel(new OnTopReplica.SidePanels.RegionPanel()); + } + + private void Menu_Resize_opening(object sender, CancelEventArgs e) { + if (!_thumbnailPanel.IsShowingThumbnail) + e.Cancel = true; + + restorePositionAndSizeToolStripMenuItem.Checked = Settings.Default.RestoreSizeAndPosition; + } + + private void Menu_Resize_Double(object sender, EventArgs e) { + FitToThumbnail(2.0); + } + + private void Menu_Resize_FitToWindow(object sender, EventArgs e) { + FitToThumbnail(1.0); + } + + private void Menu_Resize_Half(object sender, EventArgs e) { + FitToThumbnail(0.5); + } + + private void Menu_Resize_Quarter(object sender, EventArgs e) { + FitToThumbnail(0.25); + } + + private void Menu_Resize_Fullscreen(object sender, EventArgs e) { + FullscreenManager.SwitchFullscreen(); + } + + private void Menu_Resize_RecallPosition_click(object sender, EventArgs e) { + Settings.Default.RestoreSizeAndPosition = !Settings.Default.RestoreSizeAndPosition; + } + + private void Menu_Position_Opening(object sender, EventArgs e) { + disabledToolStripMenuItem.Checked = (PositionLock == null); + topLeftToolStripMenuItem.Checked = (PositionLock == ScreenPosition.TopLeft); + topRightToolStripMenuItem.Checked = (PositionLock == ScreenPosition.TopRight); + centerToolStripMenuItem.Checked = (PositionLock == ScreenPosition.Center); + bottomLeftToolStripMenuItem.Checked = (PositionLock == ScreenPosition.BottomLeft); + bottomRightToolStripMenuItem.Checked = (PositionLock == ScreenPosition.BottomRight); + } + + private void Menu_Position_Disable(object sender, EventArgs e) { + PositionLock = null; + } + + private void Menu_Position_TopLeft(object sender, EventArgs e) { + PositionLock = ScreenPosition.TopLeft; + } + + private void Menu_Position_TopRight(object sender, EventArgs e) { + PositionLock = ScreenPosition.TopRight; + } + + private void Menu_Position_Center(object sender, EventArgs e) { + PositionLock = ScreenPosition.Center; + } + + private void Menu_Position_BottomLeft(object sender, EventArgs e) { + PositionLock = ScreenPosition.BottomLeft; + } + + private void Menu_Position_BottomRight(object sender, EventArgs e) { + PositionLock = ScreenPosition.BottomRight; + } + + private void Menu_Reduce_click(object sender, EventArgs e) { + //Hide form in a platform specific way + Program.Platform.HideForm(this); + } + + private void Menu_Chrome_click(object sender, EventArgs e) { + IsChromeVisible = !IsChromeVisible; + } + + private void Menu_Settings_click(object sender, EventArgs e) { + this.SetSidePanel(new OptionsPanel()); + } + + private void Menu_About_click(object sender, EventArgs e) { + this.SetSidePanel(new AboutPanel()); + } + + private void Menu_Close_click(object sender, EventArgs e) { + this.Close(); + } + + private void Menu_Fullscreen_ExitFullscreen_click(object sender, EventArgs e) { + FullscreenManager.SwitchBack(); + } + + private void Menu_Fullscreen_Mode_opening(object sender, EventArgs e) { + var mode = Settings.Default.GetFullscreenMode(); + + menuModeStandardToolStripMenuItem.Checked = (mode == FullscreenMode.Standard); + menuModeFullscreenToolStripMenuItem.Checked = (mode == FullscreenMode.Fullscreen); + menuModeAllScreensToolStripMenuItem.Checked = (mode == FullscreenMode.AllScreens); + } + + private void Menu_Fullscreen_Mode_Standard_click(object sender, EventArgs e) { + Settings.Default.SetFullscreenMode(FullscreenMode.Standard); + FullscreenManager.SwitchFullscreen(FullscreenMode.Standard); + } + + private void Menu_Fullscreen_Mode_Fullscreen_click(object sender, EventArgs e) { + Settings.Default.SetFullscreenMode(FullscreenMode.Fullscreen); + FullscreenManager.SwitchFullscreen(FullscreenMode.Fullscreen); + } + + private void Menu_Fullscreen_Mode_AllScreens_click(object sender, EventArgs e) { + Settings.Default.SetFullscreenMode(FullscreenMode.AllScreens); + FullscreenManager.SwitchFullscreen(FullscreenMode.AllScreens); + } + + } +} diff --git a/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs index e69de29..ab68d38 100644 --- a/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs +++ b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs @@ -0,0 +1,167 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Windows.Forms; +using OnTopReplica.Native; +using OnTopReplica.Properties; + +namespace OnTopReplica.MessagePumpProcessors { + + /// + /// HotKey registration helper. + /// + class HotKeyManager : BaseMessagePumpProcessor { + + public HotKeyManager() { + Enabled = true; + } + + delegate void HotKeyHandler(); + + /// + /// Wraps hot key handler registration data. + /// + private class HotKeyHandlerRegistration : IDisposable { + private HotKeyHandlerRegistration() { + } + + private HotKeyHandlerRegistration(IntPtr hwnd, int key, HotKeyHandler handler) { + if (hwnd == IntPtr.Zero) + throw new ArgumentException(); + if (handler == null) + throw new ArgumentNullException(); + + _hwnd = hwnd; + RegistrationKey = key; + Handler = handler; + } + + static int _lastUsedKey = 0; + + /// + /// Registers a new hotkey and returns a handle to the registration. + /// + /// Returns null on failure. + public static HotKeyHandlerRegistration Register(Form owner, int keyCode, int modifiers, HotKeyHandler handler) { + var key = ++_lastUsedKey; + + if (!HotKeyMethods.RegisterHotKey(owner.Handle, key, modifiers, keyCode)) { + Console.Error.WriteLine("Failed to create hotkey on keys {0}.", keyCode); + return null; + } + + return new HotKeyHandlerRegistration(owner.Handle, key, handler); + } + + IntPtr _hwnd; + public int RegistrationKey { get; private set; } + public HotKeyHandler Handler { get; private set; } + + public void Dispose() { + if (!HotKeyMethods.UnregisterHotKey(_hwnd, RegistrationKey)) { + Console.Error.WriteLine("Failed to unregister hotkey #{0}.", RegistrationKey); + } + } + } + + Dictionary _handlers = new Dictionary(); + + public override void Initialize(MainForm form) { + base.Initialize(form); + + RefreshHotkeys(); + } + + public override bool Process(ref Message msg) { + if (Enabled && msg.Msg == HotKeyMethods.WM_HOTKEY) { + int keyId = msg.WParam.ToInt32(); + if (!_handlers.ContainsKey(keyId)) + return false; + + _handlers[keyId].Handler.Invoke(); + } + + return false; + } + + public bool Enabled { get; set; } + + /// + /// Refreshes registered hotkeys from Settings. + /// + /// + /// Application settings contain hotkey registration strings that are used + /// automatically by this registration process. + /// + public void RefreshHotkeys() { + ClearHandlers(); + + RegisterHandler(Settings.Default.HotKeyCloneCurrent, HotKeyCloneHandler); + RegisterHandler(Settings.Default.HotKeyShowHide, HotKeyShowHideHandler); + } + + private void RegisterHandler(string spec, HotKeyHandler handler) { + if (string.IsNullOrEmpty(spec)) + return; //this can happen and is allowed => simply don't register + if (handler == null) + throw new ArgumentNullException(); + + int modifiers = 0, keyCode = 0; + + try { + HotKeyMethods.TranslateStringToKeyValues(spec, out modifiers, out keyCode); + } + catch (ArgumentException) { + //TODO: swallowed exception + return; + } + + var reg = HotKeyHandlerRegistration.Register(Form, keyCode, modifiers, handler); + if(reg != null) + _handlers.Add(reg.RegistrationKey, reg); + } + + private void ClearHandlers() { + foreach (var hotkey in _handlers) { + hotkey.Value.Dispose(); + } + _handlers.Clear(); + } + + protected override void Shutdown() { + ClearHandlers(); + } + + #region Hotkey callbacks + + /// + /// Handles "show/hide" hotkey. Ensures the form is in restored state and switches + /// between shown and hidden states. + /// + void HotKeyShowHideHandler() { + Form.FullscreenManager.SwitchBack(); + + if (!Program.Platform.IsHidden(Form)) { + Program.Platform.HideForm(Form); + } + else { + Form.EnsureMainFormVisible(); + } + } + + /// + /// Handles the "clone current" hotkey. + /// + void HotKeyCloneHandler() { + var handle = Win32Helper.GetCurrentForegroundWindow(); + if (handle.Handle == Form.Handle) + return; + + Form.SetThumbnail(handle, null); + } + + #endregion + + } + +} diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index e69de29..0f3f4cf 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -0,0 +1,536 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {E626BD6E-BF38-4EB7-A128-5CA6F40EF557} + WinExe + Properties + OnTopReplica + OnTopReplica + v4.0 + 512 + Assets\icon-new.ico + false + false + Internet + OnTopReplica.Program + + + false + A305A505E19CF40E069521C80C13AB3C900EDB7C + OnTopReplica_1_TemporaryKey.pfx + false + + + + + 3.5 + + + + publish\ + true + Disk + true + Background + 1 + Weeks + true + false + true + http://www.klopfenstein.net/public/Uploads/ontopreplica/ + http://www.klopfenstein.net/lorenz.aspx/ontopreplica + en + OnTopReplica + Lorenz Cuno Klopfenstein + true + publish.htm + false + 0 + 3.4.0.%2a + false + true + true + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + false + true + + + pdbonly + true + bin\Release\ + + + prompt + 4 + + + true + false + + + + + + + + + OnTopReplica.exe.manifest + + + + + + + + + ..\Lib\WindowsFormsAero.dll + + + + + Form + + + + + + + + Component + + + Component + + + Form + + + Form + + + Form + + + Form + + + + + + + + + + + + + + + + + True + True + Resources.resx + + + True + True + Settings.settings + + + Form + + + SidePanelContainer.cs + + + UserControl + + + AboutPanel.cs + + + UserControl + + + AboutPanelContents.cs + + + UserControl + + + OptionsPanel.cs + + + UserControl + + + GroupSwitchPanel.cs + + + + + True + True + Strings.resx + + + + + + + + + + + + + SidePanelContainer.cs + + + AboutPanel.cs + + + AboutPanelContents.cs + + + ResXFileCodeGenerator + Strings.pl.Designer.cs + + + ResXFileCodeGenerator + Strings.Designer.cs + + + ResXFileCodeGenerator + Strings.ru.Designer.cs + + + + + + + + + + + + + + + + + UserControl + + + + Form + + + CommandLineReportForm.cs + + + + + + + + + + + + + + + + + Component + + + Form + + + MainForm.cs + + + + + + GroupSwitchPanel.cs + + + OptionsPanel.cs + + + CommandLineReportForm.cs + + + ResXFileCodeGenerator + Strings.cs.Designer.cs + + + ResXFileCodeGenerator + Strings.da.Designer.cs + + + ResXFileCodeGenerator + Strings.de.Designer.cs + + + ResXFileCodeGenerator + Strings.es.Designer.cs + + + ResXFileCodeGenerator + Strings.fi.Designer.cs + + + ResXFileCodeGenerator + Strings.it.Designer.cs + Designer + + + MainForm.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + RegionPanel.cs + Designer + + + ResXFileCodeGenerator + Strings.no.Designer.cs + + + ResXFileCodeGenerator + Strings.pt-BR.Designer.cs + + + ResXFileCodeGenerator + Strings.pt.Designer.cs + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + UserControl + + + RegionPanel.cs + + + + + Component + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Always + + + Always + + + + + + + + + + + + + + + + + + + + + + + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 2.0 %28x86%29 + true + + + False + .NET Framework 3.0 %28x86%29 + false + + + False + .NET Framework 3.5 + false + + + False + .NET Framework 3.5 SP1 + false + + + + + + + + + + + + + + + + + + + + + + + + + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Exclude + True + File + + + False + + + + + Include + True + Satellite + + + False + + + + + Include + True + Satellite + + + False + + + + + Include + True + Satellite + + + + + + + + + \ No newline at end of file diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs index e69de29..c24ee7c 100644 --- a/OnTopReplica/Platforms/WindowsSeven.cs +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -0,0 +1,61 @@ +using System; +using System.Windows.Forms; +using OnTopReplica.Native; +using WindowsFormsAero.Dwm; + +namespace OnTopReplica.Platforms { + + class WindowsSeven : WindowsVista { + + public override void PreHandleFormInit() { + //Set Application ID + WindowsSevenMethods.SetCurrentProcessExplicitAppUserModelID("LorenzCunoKlopfenstein.OnTopReplica.MainForm"); + } + + public override void PostHandleFormInit(MainForm form) { + DwmManager.SetWindowFlip3dPolicy(form, Flip3DPolicy.ExcludeAbove); + DwmManager.SetExcludeFromPeek(form, true); + DwmManager.SetDisallowPeek(form, true); + } + + public override void HideForm(MainForm form) { + form.Opacity = 0; + } + + public override bool IsHidden(MainForm form) { + return (form.Opacity == 0.0); + } + + public override void RestoreForm(MainForm form) { + if (form.Opacity == 0.0) + form.Opacity = 1.0; + + form.Show(); + } + + /*public override void OnFormStateChange(MainForm form) { + //SetWindowStyle(form); + }*/ + + /// + /// Used to alter the window style. Not used anymore. + /// + private void SetWindowStyle(MainForm form) { + if (!form.FullscreenManager.IsFullscreen) { + //This hides the app from ALT+TAB + //Note that when minimized, it will be shown as an (ugly) minimized tool window + //thus we do not minimize, but set to transparent when hiding + long exStyle = WindowMethods.GetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle).ToInt64(); + + exStyle |= (long)(WindowMethods.WindowExStyles.ToolWindow); + //exStyle &= ~(long)(WindowMethods.WindowExStyles.AppWindow); + + WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle, new IntPtr(exStyle)); + + //WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.HwndParent, WindowManagerMethods.GetDesktopWindow()); + } + } + + } + +} diff --git a/OnTopReplica/Properties/Resources.resx b/OnTopReplica/Properties/Resources.resx index e69de29..d5899e8 100644 --- a/OnTopReplica/Properties/Resources.resx +++ b/OnTopReplica/Properties/Resources.resx @@ -0,0 +1,238 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + ..\Assets\flag_ita.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_add.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\x-oblique.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\component.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\25.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_multiple16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_delete.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\regions_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_null.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_opacity_new.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomleft.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_topright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\clickforwarding.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\newicon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\back.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_up.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_czech.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_bottomright.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_switch.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\desktop.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_danish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_ok.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_wrench.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\list.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\icon-new.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\fullscreen.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_down.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\xiao_arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\window_border16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_usa.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\groupmode.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\pos_center.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_spanish.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_poland.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Assets\flag_germany.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\minimize.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\help.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/OnTopReplica/Properties/Settings.settings b/OnTopReplica/Properties/Settings.settings index e69de29..5535ca5 100644 --- a/OnTopReplica/Properties/Settings.settings +++ b/OnTopReplica/Properties/Settings.settings @@ -0,0 +1,60 @@ + + + + + + + + + 255 + + + (Default) + + + True + + + True + + + True + + + True + + + False + + + False + + + 0, 0 + + + 0, 0 + + + False + + + + + + + + + 0 + + + [CTRL]+[SHIFT]+C + + + [CTRL]+[SHIFT]+O + + + Standard + + + \ No newline at end of file diff --git a/OnTopReplica/Resources/help.png b/OnTopReplica/Resources/help.png index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..299ccbf9ad14a3a2abce2d1d07d7259faf74dc6f 100644 GIT binary patch literal 1163 zcmbVMOK8+u7>FQfhzhHIqya0W^ebh7T##LKO&djxh|2(6Gk$ zKZM;B6&bQiWn9khkWJ*ojnF1ucRYfosP3M+XPBc9g9;qBU4{N|;}#8UOQCls^K9PB zz!7`fgbxQM`b*}-s3}==&sNY~mkEIbu>tB%)eYpjLQnI`WFBraG?+HQqY6FaR5@P& z8RSEdj0-W7R8=4Fn3{2nlu#H?0G8z>$h83E4IunB9 z<@0mIZZMlDk}{@lcnlY38OI6Znzjyb5q@`LUhAMV?m?yq12pEFAcE|nGDOTDP84xwo7PYb8dhQ*Mv=7o9NDB*`H$Nj1LWr{1QUd zW(5>R5JtfW@<3)l1e(i zusD7wmgW|zz;HTO`eZTJJkTW_HXTJ^kCx~F1vED literal 0 HcmV?d00001 diff --git a/OnTopReplica/Resources/minimize.png b/OnTopReplica/Resources/minimize.png index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f6684e583981191fabe21d762a9ff9537cec7dd2 100644 GIT binary patch literal 1110 zcmbVLO-$2Z7%mV9L5S1%6Fo>%)IeZsyPs~Y4CvO)Epf1nMV6Q-UHgqS(0--;U}F~n zgAwC_7_TNqZ)%Jtp5!2jnn2X62T%T8JQz*9m}r7u$A%sVCN^!qzvp@0pYMH_)5E7b z+K#pn1ksU9NEtl3oUgS7|2w~L%6K?}VmUMl3#cSpfDl!f2V_#0CqM?s>fH1O=qHG# zf|kvpTsmx>I!)7Y||83g`mkWwdGVUl_sOm0%XAB zb1MwXk{st@{Q-_+`$#XtdT9o~oSXFv0Z#A+$=X9|*=^Webp;97ilv!Ig9hm+%6T}0!W8y&D+Jw4rM86) zyOt=NGP*3AH0xn#U3cQDqHUA`f85v+ZD;39KxcprXDkKZN1>}u#<|8AU=4Dxt_xpLDFBae1`B8w#k~)v( + /// Required designer variable. + ///

      0=!QTCBlc!H@IMpRQX)kb#O>HRNd@sC z?2N37oDk@tctJ*acdNZfo@=uvpKP|D167bqtv(U>*j}lVab#eqyxS1(eM{x9SGt}B>UB%(Z-c$s zoz^jMJN2o&pL&<)S)ill6phU+rb5aFB~_B=tHwr`ksImOAqH|CGuXeAJj5;WxI(@X z>YPlJmvpDiN(xiUR>wDd4>V1a z;AsQrL8Ht%9y<86?E|z2g)F=B!5*T#Pv6gNH@1@?C4}s>z zHz^=ECo)|%0GSY+uC7OJ`$uagp?f?lzTy0lu79x$Xaz*zLFAI-}-ecw2 zy^<*GRO(#mQrt71A$P|mkwJ<}cwca`%0SrqX8}DH zCApHhmtb&*&c*Ju+1*BJwG=r^-N-*#pOCj8v&cj*TA1|Ns4eS?={9Vt>JH-= zEa=AqOZ1DFPkkcwUc4!8g}TF{Oo#J2i43%!qYGA_q^mqx9u|)T+Vn`BO z2huuYLUjWf!C~XHyO>u49kqHc>Eol#5hl2Cwf54nj)SxV6(_9kP``lkX)mZh(5AfM z)buJw`VaDEjk$t_Tw2=|eTFo$c7+}!8@P7@K9X~U6MW3d#*%6`i0qPYb@U^5t3KJ- zkWax;7U9$+_(84@9#HF-UWrd)zDQKz7MumqVmy-{8H(Y}!e;>&@GFuopJ~K+x!A3V z$Wg^QmJoA*KQ@KL2WXxJMkXOYa!>@|oKL%gbn@L2CnDE`f@l{sNjxt!2i-6IJ76ys zshH|xkF8Ph+&1Bpf&Gq6cq25}rh}M-xLKScOxTp{$B>n1T3Q{Xl#EL_1U-|!ih2X% z@=c)uh=&pi*n#}5&h-gK`I=z2Tj(Fi&had^5Pom=t;j}KSX$!`aPMqXGftkHHcHc} zIG+H6!K#R;L*P4gbEpM$1b7j!6`ltc_@p7F&{_8(=wC>>(@^vR+GA^jt-!up((zKl zF560-53o~rso!c)vy9yukcgVEp&)MPFc5(&1GYgBQtVT0c57m|`y$bp&?y3S#A|Jf zu*pP-<$UZe@xi>Gx`h;^a#b+uoG?rsjb4gE057a0krrqig1w+2%*Gab7ho{ znB^o!8ptuW26R4IV|f}w$n{x83Ipkv>Z}YQ=f+=C4JRK&)u{(lLqk3Sv6M%^5luan z<9`mM>vPQ^@^w(3KE1dMZ;=7e2_03Vas!96% zkk@LienP-$;DYX=&kE2@XL4TvNp#bl_QM;rM{O@6kF+6H6Vd0?q4Zm=SMpva<+PL) zkBd3n^rqY=Jg9LgEh%VKgNecME2%fIIz1#P?H)B`?Wg5{(6p0US0pHPjbSWfZ9Pv2H6z97faS@!f)4 zwZDb${Cu>VBqu$Cw2AUgX3F*{zUTbt7 z1qz3Rc~Dv6?4VK9bm>|@FKUY7FV76}AC=Liom>EXcbG!LP?q&t(u8m{8gaNU&{z&XY z&snS>UgB9PV(g3bQTzd{U)~e-2D_=Gg}%k!scr{;$9(~=S;0fB`Qh1&DXvU#{L*HD_MObM%*A1HRk9Z1Vh`diAR*ozrH49+ zqR>6iYvOR=54eqV@q>^AlJfkHoFZ?ywxj8kqhkVklS;KYkF`@#mTKIc3Q0}`{j{-h zufSYwbCeKl(;f}o0)Exr4g6(R?0M{050lzQUQ-bd?Pb?qf=+78?2zHxcjr_l+27;+P<=)BrLe~M)lO7)|ME?KYq`e`dBNx zh{hrw>gG{@RwQ)%VJeUn+6^?WqLX1ChK zLCVIntfziY8k%@1ULEx%!fv;0(_m?claFDaVw+u*xt8OHRgUf)_+%PG=YU|bkDCh^ zp^?`bzc7PBmpAO@*abz@FXeslJ84=deCpL^Tr7FyMmGTRPfq#za@BV`iB6_DZDrD4 zfYYWe)#jp_*rtY6?C{8@dK33asL-SpfI+s#d7@{2M+~Q>60c>3!HNNHdi@C1GAEO6 zq9(|$TU!jxvN}sWMpjLGO0{6h*dmjX|0j}b1Vja)WrlW1eUPR8sBEF%CB2*CfLEW+ z{H(@pr}lux$>|jJ7Rt8!MO7dv)|S*%^s_}Uc^4PNx*Ir>g^}s{1+x0kG~I1Qblft&=eSQI7a)6_W68tFa)%F=QW@fYP0>wv!{4o6z!8_1H-sW^k|4;qb+qbmI;;1<+o z?_xZR`ry6*chEXIKfy<8108&DN3Fe$GmcT0EFJLEROf&JfByVGAz~{72AE%ihd2%x zFz{dR{dU3GlD}x!@?sXqoQMCsrYOB_z7kVZOV3s_$bVz}KOp`O#(#tS7fLfs zGfp#5Gg32DGuB6s&1j!KGvj^n(v0}^n>TOGpx=M^@X?I>^OrAQzkV}g|MBzZuV26a zi~rZQB&T27v!Z@)EiC=Lg{J(zxwhebcin;)J*;()wz7BjZ{;4nu~mHjN{{lNOWk1q z`7P+fvzv)$r#9(cpV(;pcx+?ixBoQ$o5TNb_+K9W%ftUZmi~J^{P%kJ@AdHionQVt zF8(_%{@>#w`QK}pU*K93uZGhbrZdZo28iR>r(n+Zn4Ln`?IO z?XEj`dmroM^#lA1R}V?9Uf8F&b7~j(=-77r<>4OvyWTCjPycEB+@9?8vo|a9*ETZ` z-R2y6YK$MZ)y#RdgTCtNZhFsy1B|`>M{AG#bBulV!a?yrr}irQkL`jV9quKcAKa>c z)7?#e_)p`1a>z92Q1I^@zHg-&KK0T%-|VjLdUl|C)1zZGy*E!+_gy&3Ie+S)$|MczC+&Q=#eQ;nW^`xg4eX)8Q^7=oGAH6A#|H|R#_WaVHJ?0#G zE2xiq%G+M|l`nXFx}xi!zw>*~o~}N6>?r?2-yy}d1N*^S`}bh?cI-kQZP)=lUET}5 z_)p_UZ>r;u9sgGjTg&BNc9s(F50o@LKT$fn|L@$D7ymBUdHgi}Xx~xc`2&5*tNRW> zH}>p9?`+uv-e0u~c(iy2@bo{8?>qjTL&VSj#ol{GHF~6LxY!<#$M(!@dz{8$dYnVs z-FD|3$T>%mGXjxC5*d*Mh#Uk6k%a;%gAf@+&Y33X9J`^(p-y#s)|@@-tmB5Bn|1UZ);1)2S9aFe*W5>Cq4fTTSaL8|*sDYhC-w zsyzpJl^&z?a@UE>QkUtJ64%-PmV;uc&kqE0w-2GiezAt#W|gY@Vymjp@UU1y$EXyo zu18By(Pmy-*67e$TIbeXD0J)3uXY*CsdOGCRyd6(mOD@Wx9kg`Ly6q2!(wHv-7*#A zT7#0qM4yy*_q1qI{fI2Bq8CwI(r#H(-0axIX>e+%*Ex3Q2p#&;YV02+R@o27R5^_N zx9pcl{&TNX_SQj(qUL6eg7Hk3tV!?GJ-^0zaYDtYBDJ_*zp$taS;1^W)#WwYG-ov0 zw58NrcgELQ_e9s)^hF45`~O>ZOC`?jmdV`QEtgkaYLQYM7{6)Ry!-%LIWI%tkE@b7 zgNAH+ubCjL)2uS3-AowYYSs|dY}ORsWZoLmXweqbVAcNLvQsYhkL?Pn>+5xr;zPri z)mEr z_usNr`S8=tYKg0py*DqlFI-Wn*}9J^-jeZSt*Axk&Z?&-PpIWYkEqjegBncifF{?s zPpiN=uAcOF(Pa2!%+*biwkZ3nggYgX%Te%Lqh#ku;&Ki@7n zxU0$mGUmAlGU%i&X}^ed=`ie)bSwtW4fKp`n!~hQy6u!grp=^MHgZBG$8tg~*J51b zzXlZC`3$h6uK}i-63ExL1_fr``wR>GCKE|qWumAH42Qz$0(9j#-Lr9+=HK~<64ck1 z89daJj2rKciJa<+PMT?sC(hI*rA@yqzdQU|yWi{ZdmaAw8v1=c{5~IkpAY}v?-js! z{+)I8`FB==lFEcm_2Ft9#hns^kz}YdmumXQ7<)gv@0!qx+5-mp)w_Tq2#~dxdZ!uI~aQ&vQ5LDa?J_rJj>iA zo;7Q>(6(f<(4l6m(5-2h=hZRD4e0A<1rK$T!=|c}Vwd=-gk^3jVd-T7OgI+L9N6l= z)`4Y&Ipmn&ws~er8-*6x%X}-wyugM(U20!BQI4(~tH3l5SNL`Im-;_yVg*fdGs2f? z#KcuvYU0Yv0+@IIUk9dv^)cJf|Yw@TX zXz=Q2ukjhEEb*J5(t?(Vxe06O=`YW72hP9h@XUc@;C{d}4Bp`z$3H1CO<$`prz{DP z%()gj?s%7Laete8ZF_@Pd%e(iKv3a3o?hs?m{63kl1fclep!BXki7~xa4eYm$Rn=4 z+kTM&-2WTKY?d1nH-u(6i_J*tWS@P(V6Ss=XS;{6vC*roTIk!)gL~f;f#*V!0KbsL zPkw0t3yuZnUk)rit0SJC>mFYZyIrau^|;!Qu+n5kn(aYm4-Ft$o!t&)jjgWrH4UB} zN|xSf~@c*lG|yF`$>+H>yi*?lUVAcGy;zH=~;c^&VX;q5D8)rOQZs zxyxi+x$k5`dFaH;^336c_p8G(SKDk~plQEVsp+xOsO>x5s}njfp-OBW*2x$4niZF~ z+tvu61GnC-lPW~_6RVttVk?}-qAR?{Vk)ttFALz@|Ma9#{tDo!DjpST81I&;*=*FQ zJI!`!p$Et1Big5x(`$!x809_Yg5q|&8eX$=6Rp9qBcs-#HxcgtqpBQ-@Kx@^_-db_ zmj!U|e{x(TfBA%`qIgiOs=rmGV!qg_Vl^}><6HzSE=%-)2%9 z+G^T>g*k*@vt_eylTC|Hll@C`P%QTM1A)vh+ZD18=G(;Y^iADVXcb0wDlhrmfoA9c3e0^D7*-Ka3v80t^X+q&>CVhKid*qij(62KF`#iIKDd1_ zBBEy?IBsAdIBlRiEO($eirillLmsG#$vrcGa^)jH`=FfT4^oBPkjd^uv3_ZdsG+~HO7o3 zP0-`hC#VogeERrV`PD)60-!?&s+Iv@8Q2_i4B`IYIB>7XGCA+*smyrN4bLN_z3Pu{81nm`Wb=8I5?Y#Ve{@l#qv83dvnZ#t`3?VUX zIyo_I>a09>$QS+9fv%;0!q&5Xw*TMf8~E>(7>93Fn#HfzTBj_xJEl!_+vWFl*a;fo zFCvwcV%iG0KK&$Wz!*LQHxrRXoQX+In~qI6JAek~!!w6`I2Hw3dM6xRtHVNF^qxT9 z_i4Fd=wqQ-)Jls@++436ad^m@-rj3lT-E9*mGA;ED!hyr=3z=uP4=pfvZhsq4RyVxbZQo)SeM*dPAQbzogx< zCcnwKl_YfSjV$pP4&(=p2b8Ccg|jlp!t*oE%yWkVv7bNzbYN*Cj(OVV`vPtItqO!Y z%s{;7yUcwjMlHeyW-L-#Mr~+SefC9#9nRI%Cg+xvI_I9SYV;7c%6}xNDsDKWGJ7ag zaCQLw>IdMN14BUqu(h-gi!@Dk%Ct~0194hx(|4H|GV~spHi&AQHc77;LFNnk?D=fy zklpOmoKWxBg%dgtgusjrCyeM1t4-|-6{h!}6_5`d7-ByHCUoFxXzUBr4L7SaES8(J zkdyrgyZ$LnY}*1NUN~uxEf}(3a(ZnAc^!5&sm-=cQ4O}8A+-)YLA4&e!F54Bq4lxd zq4kMfX9eV6`v5S-e*`Q=iQ__5)txd`owYhO{plV}y@5$3blaj@h;UwuAQ;z&Jpkq` zT937W)PbyyYe6=KH6q&rp+`VHx-+1`rvux7YY%LUI5VK&`ul(-@gra>NgNa_D?F)I zQkid8QXU+aHfdj!cNeaygqO@}rLxBi@~DHR>~z?N5D)th!rRR20$VJa{F;!@_WZ3r zO>Ql|&Hl~4&4FhIFrfoS^85);>EU*{g2Zx@ocPe_1I3O-Nvqn&@?IsYs*&tjZ6b9{ zKaVtIz>M!REQ;thDhuo|uJUa+5qh>+)Oobp)O)l#)_b&h)M45@&kSJSc<+QK{lh`A z{H^s`>6>E%4{mhM-&e1DB8e(_s^H66QIDj~YNw`6XywKYYv+dz=y0%ox_ob#LwIx< zmb-SDRG>R8D$$)b5T^=s7y8Tq?ybKa@nyf?s+77o(|PZk?%5mn>z>@#DczH{<2+UN zrLL;uiSw$2=qZ)V&@r_%D z^X^`W)K^PQcR%Z$y6}C&#!d0keNkP`iJTo}TgfYRT>%%pq!1T0tB~qFrI_h9uAJ*M zrb@9NRimLsH0jo`HppS!0;^%e0?T1jh}oIh6Wsrw4dLDQ21Y-Bzj6K2#j^d|l3XB( zpa5B$ls#$ps7+~X;F@%V*OE*e8fFl7vvNf1X$6wylv0KTtc}^ETBhlwW|qmMPL}bc zUbZn@!)N7b`Mp1n_J8tv^U8N0SL|K=g$M3SP=J_L3J|r3JQ8)n?udF~HpQ?`>*6?@ zRY|<%vQ)I`l1!}eqFlV;qCx`99}@HzR1)ld%IEq?rF)y_|! z6@nYTP{1A06mVN565KY#!jpC$hj*PE_U?Hgw;%YJZHf9DJrN7ke=HHC`&cRju^|(p zvmqC%y&;d&T33Ro;564&!_ErGIR7`0dGlM4A#ooNl{EoL+Y)3Mx}0R21?**6M{kkr zQr8Ji+rwV&i|?TkO`j;Y4G`wp=|+j4ACIh+Ee z$Gm9GkNlWTok7f|rch>6?HPIQkPRKOphG%z$kjFjG{a{(h|gg@GHjb}oA{XGl)0LX zrY*wX!kLZpEu9Ptsu}mkH;#HGwT^mawGR8_w{`_GTAFZ-mYT4F)`~L%9o_}c9J2rA zkf&`5@{M2)V&-*JU>UkoU=#m@?m$|jpeajPZmhW!AHh^~VD)%#c;m27V%wlkc6(1i zetT0$etS(=etT&+y}dZ%Y=EpE-vv4Ua>!KH090)gz<8EHm|~8Z7Qwqr>)1_(9dSM1 zDR-ITS}>pKSu{<+Rt!akHFO2Ww6_KjyP5-OUDY^RS7`*Tvk*_~;+&CxJLJGRWGSly znvOAGKF=ULj@V{_du*$yr)*U6W0phKY5|%yN5yc)G6TxG6GG}6!}0Ca!AU)pAvryQ za7qskPw8PsQhEx`$p7mgc@Jbm2fB_C-2XqzAlzUM5^%t^z;E-c6E}GF=}TNRd5Vc) z4v>9ITZut+)v;mi#o@8Nyl_$<8=u!#5S7uJZ zZglQIb~L#^>x}%{As0H3l~n;l#{lmCkw-iO^nQ`C&rY#<$m3FE)N+M=;&hc`=Agit z(Z=!+ROR{B^3ns_sEJ{H88NYgX|Y*@M3{>~9uc9-S@;i!Jm|pG(Ldon+yCo3?G+n& zJ}os1T&qNeE!I0kkJsB~^i((&G!(fNmlSvj8M*$gS!uz&i3t%yF$pQdvGG~Mak1G$ z2{4;G3m^xM1sRS78PzP- zuP#Lw^SB;0lzg9-)SQ4`JTYV_Bqe?{BsFU!JTZG1pO8It7XHJ5rmPIu+K9tK9kX45 zuI*NZ0eZdG)MK&D+H11cBC@x~g4ED#LocauZiybxKS(w`&NGJCN=92r*0?7RdI^22Ya2FJ) zC>--NH1`Br2Ah>SW-E>QmNUI(79*2}?%lIS;q{Xy#Nr`yDy`d!m)3%+jIOh9#8x_Y zV#>XG+^g_CZnfFnz5-g8ADh~J762JKQ0{yUC{lL;OGWmuNL_WiOhad_R!e`bQ%`SX zOxLn!&d{TI*(9uD)-;7ZW=_c&u;M0mAHa+^`;#QojzfYL7OnTDLZb zI=41Vt$TZr(4#%32GfyJeHH)}I?(TZ1(-57_XSFKH-z$cr@Q5D^i4@BHm}H=S3OmB zFWS%uEm%M#W=eWwWk^CKHPsX}tSoVTeV&arWM#PvF z1q<_E;;@=F8 zUiq$d>8@z?Q*j;sp&W|2qw1Bju7*omR85GOQAxwX^BA6^>NJ-jO@_mu4$JnD9>)fb zjWwJj)&nSx^?)4Wx#s~2mw?nxCNN$4?86l}BM zS&XC&g^-A4g_wXjg=EaMBE0QdIol4Nld&GtpjeG+Q!U{5n2#7i%xUH@!!#eYKNEm+ z`R$!jvG-@&FTLG4_rs^c&Ffc+j~>XdfQ()?khV$OlX4H=lnU^NeGndS&+j-dn`AR9 zpK3Xym}WMul5RSso?$$tm0<+uiqVuors0$+#3JJ?92H%CYo-43AG@bMeY@_-#m@zY zx2~~(m`oNBMI?fUmSKmY&VD;$UT*M=j{Uj>4hb^|vt{XM<0aWxm_NkpFDk|BEvP2w zE~qCU7PJ!)3wjWPGqG89>DB(>H(#mW`09U34=#Vn26wJyf!mS^;Fd-hxNYnU?%KE> z-gCCyy^pbc`q0N@Q!K#Xi9{gGAA%8&WkR%J{-Cv?08x6DJ>WFfH6U7N;!*b-B8{sb zyjHe<{#`b>{6!YHbU6WBdWZv86n(%|9T#xj1O;v)&5v)}8y?C3+Y!llmvyoC?M$tr>bReeCvu?7S~ zx06IO>|P8qY71wVvJv2#z2fOjUqT167aSsZ^LFt?^LDBHdHXE>yaTOh-jP)_@5C>f zbSWtub}uXJ_pIQZmfszIt<~>!_&;2SM7S=J;krnH>mtbvyB`PF1-xH*BhV###mkGn zc=nskmsuwWMg!qr9-!>+}EuT${;oZ4&NZ2l28B zAX!xxq-k3Ll7R~#n)x3jBk@n;YzdFUoU>K~FtjC%KYJdHE1GkR70f!MmdrY4m&`il zm&`fy1QV{sfg$&LGp&_mE^2zMX8F z_$0HAjpkGgdGIT`eTvIl{EN$L1Naq{*rLkQ0#g2$L$a(K$W+k+WSBuv z4D12b)blvcDtIpk6|+UMPhC$$=PcvB3Kp<|g;SV_vQd|$s$tih>LGV_Rkv4RRkL4V zRV}utsywi;S`c)4o;wg>9a3Q(QlUe(iYB1I41#WG3-Zl8PUu$HeJU#QX^uT%JcdZY{6J?X+`AFfasz!jDU@r3+fu8KSL?-ws4r2a>D|Agic@e7OH-8d{&QOwju*3!g2f zb?6$yK4yXDoHCJv$>~q_Wwk~HmDB`>3(NfD8wCNGjm20-BR81U$P8sQ(s8Ut>KSd6&1il=)t=nEDpFv z_D>7V+}Db%{1*7Oq3}FRe18Ett0fo1s3Q6a3gd!m=;7hbWL#ofc35^>R(O6}280w| z(3*Azo;#4PJaf1PvScIyT@~)V5eRq=!)(9M2=%1c6unYnYSL6W+FbiBN?C8nG{LyOv2MUAni#J`E94=-wq_`kS!wt@>P{iI6B$~ zg?h$2#fHd@Qd5V;Dl3;MA<}=K5*gddx6i0zy5tv9Jo(fN-)a&eusJR^tTQq?sXHQ; z+>MW>c1K3hI-?@#9j67Pef4LM4(ssDAy-BmFw_)|xH_79d|iX5B?jiJRVLQ+4OVtz z&8B|cwU#mUWwz-hg-&!P!>uSg&#Nja-LEN(5ZsAPjPCVM%ILu+QhI{ps9m8kw9eD= zZ-?{;*Fc_(7+|T(9TsYFsv2t&uhgDK;h_tO z4EKttJg-Jgvq5ndpoU=-Ko<()FqDG>H^6S*8^TQPj*b2W~PpR_~1bw$lPgU;pZm2_5Ki_m6n$lDh&8xyMzSN{h`1rOAE+)qzQEWa~J> ztMZWnp3`MY%x$rvB-hz+A}a05d<9OmE=3;Aj{J~jM**S9p)9}Ajmv8A$Y(a47LX1d zGOwNkSeqCv%a-*ptOWyH){Frme!?IpWXO<#=`-OwbXk_8I-M&~ zU49j|aL;eoO)9hNW|rEv6_=eBkO>`fuKfd0MSnglRJyWNp>TDvS^k&d5y`8abMmqc z>#7E2o0<-s4Q*fYsxF=|r;`#ffynV6)+=!BH{jXBb2_%Yb^_a85BM3xx9f{7vhU9* zwC^wAofeS&&D($s9SX$H?+N68T&tD-e!O4wtFBq`+YRfo%H=ysX53vhG<8!8n+nfD zM9pcW1WssXV@9-Tj)S@^)PNBe*>A-|4mfg=0~oILqacpWU@Y5akjOeMAorWM0Ok5; zCtRtoHY=sRnCZO#_nzrnKQyk1J*?P~(c~Q~TG98_+|r(?1jekWL@D$Uoj{Ub*zo%AGsc3Qxpk=s-r71f;BE z_oZAzwxs;L*QIgj6`5!hJojJ$^AOWn$~3C+{6GPxPjE0BS=b z)M8C4!gxhC$^d3FdP~Z&h$Zznokgv9okiVv?L|X~d7So=^{F}LefNjCmVbz}&wucT z>Zd=xS9E;iTROONGY#C5jsdqcgTWmWFK`#-e0UFSv-<#J_Eglza7#Qu?}=of&SRM% zt;g~qnj1M*}k-_QGw?sMz-VmwT`sW{ukAL}q1}=X?1edNw z1Nght;EJ**xTfm}ZkQs$Eo+nGJNEi857F6w;QB0oP>1=0+O9N4bypViEPGJiQG%#? zD(z@`D(>ijyy$vFN z_zXnc_yvSWNP=($H4v$01n@ex0B7iaf;A7^_p*(A>f%CpV&|Q{VHKRSZXQWqGf&D} zGf&T3vmiqld25!1dFxi?qPwNAg+;Xmr|>GL@m3g;wV zUJXR68G>jX6o`NsL@>-Cd{L3x?&zc^4qoZ&)`2-|mUuWH6Dh0a>C{yVGIh<8Nm;Wh zqO2k-Df6i6yeS7^-iUKOdBCOdRDejhE~3tV3h;1Ugh@z%7;#s zM2U-mL^(x}3Ud%5?8QjccLW3zucKJYkX@W@?3TX^al_pwXT?5*zHA-CT(U}IEh4F` zMH?P-#=e|6;#|$>bE{#rV`>-;p4CjDS2gQ2{M#Y==FcETTofeB$paG1K{B*VLAt&@ zAevx~2$n&+(Wt1+VCUpDZ?Eh{bRcckE|N8cO5se{kvS6%9QK$~1-sX^iq(#(W;J+K zv8%l+IpwDW#K1blp8o{IK!-T7hago>4rIU#B3s)SWb30&GELm}(kuhEl28$Ak&a0V z!I+FGuK?;OI-E7=n8@vS%;NPqGkCq|QeLZj1+U(#f?MTN!7KHx;PHLS3s1vyhq!+^ zB#1o#X)uGxR#gXNxc|>Hus$T4qMv44`fQL;xTQqLxamlbw2>hHyk5^xR=aCVVXF&~ z-|R}^H@X+{Ydy>O6+UG}0>3go&%cb%J|!R)*5R2$EUZJ4*nN;8Ck=8{RRI<5|7nJn zdo(l0Clo8sl^j&i9LX_iJjo-uKf*V+Eg+Cp?-{|b_DB*`VzNsrJXs~B-X($}zY+l_ zphUn3C@G<1PsekI_#Zz3anK=I4EBP+^GOsnWk82}Z-$ZCHpAR@y#VR9K(qCmB0J&+ ziEf0>IPaW#TmZAeKa^kW9a~oDO)BU5(#ko0#bu0u;xc+*aakTD_mupHL#o(akRvYv zXzGf9p{u>mGBVy|nOU!}ES+YVD9jkmKD0Lroz$G{nOzm_$KZzs@tFbma=JgEk{Xa( zNx^a}bAyU1vmu$m{EGBb0^&Y<6C}Vo#KSre#qNMyd2x`hA%D!$)7a%08fBw!A=&CGK z8LCg#85#E18aTC-nPaO8ZDI?Vj_EY2D=j?>!;4GxEf0yu*7?QYn|xx4&0cZ&O+GQK zM*k>w0~XJzKMf$^A8&%BAAfbo7QY4xli0IwG#@V2YKu;_>q-vvtLn9MAnYp}jr@2u7EzQkYhqfF zeO?UPnH@xTE%6|G);Q(_*Ex_A>+JK$wT^i_p-Tp@#x0dAJPjZb)*%@>q~7`wP$VxM zaaFGE2vl#bSF7EcZ`Ha!I;0}rHKKy3>(jC;?$GziZ!*DW)>@_{R9ffa1a?eso@22S z+pW@;6D!*)&D_>e_ zRK7Sqp#DSel!|Ecl$v(=sD=$|K*uYm+aR3KWnP>aeS{0zHP=z)X=n|{SfKtn< z*b>W{Y=K2BpN}dl#8`X0i-~OH0VIS^W_mw_N&bbnJ?yAB|aG#fAB@yqRchny0WxjO8Bz;ilAW0rYFV@`QSPLy1`5=$zX<ivc<3UO(Ynd}F2V=U00t-+!%s z{l|Ap_ila70irj^KukIrJk-X6hvwL0Q3sDbF%SDKaX-t)lEKF7GGThF3U~y}hqRY9 zqqUZGqcxX}A(qh^E4C2VD2)~G$kPBQ=l-x+{)I?i-=9Pp*3SL0Z10y3xZv)0WSBt^ zULW>94&hgVlVZ5UBoGB}nbDMzHE*1jHa% z<*{jy$`k7#wn%UD>mp5yZ;O=ge)}c|T>2;%T=|{=F5id%mnHncRTVdI zUDpoWG_wG=tqqUw+9M7hIBV{Ux~lIM3h!IA9 z*WBYYbeF#(($M*uNa_ANudujRK1u>Vd=n0SxZ($XeBcT$%A&w8YG&XHLLXc+ z(uOYT;EpBCACSN158^0!AO&*=SzB4y!y|K|3{kU_KGCw3I?+89jSa7gls-B2(IhMgIl_?;EtX& zxUVk-9vVmjaYG3pWhf4048?%Fp(s#-sGbTC@X=eq|Es?PpUdZg$HV);S6UVXC~5*f z4O8F=hX8HrabkzU9$2_U>>B&V?&yamZ0p7(ZR@5&vXi#;Xb^7Fwti{iwn1&;6XV8& z6|?4qdCS)LDeI2-aa7j}`Q72y8vWm>!-sEyfUiCRzHmNxKDY-0q+~##q6WaK8v|d2 zEpUgA21lEK18a2nuBmtIwn1>>Q@v=yQ{9y0r+V2Cdh%0!9^t7$8R4m6UDBFqW748U zbJ7g5EpZIhnJ{eIo%kXE7CK;|gCBJ8y?+-3OG*PA%;rL24icne1AL5Jft!{8p}k|+ zt|cb+sc|4-%OEmkOFubvOFt`h%YY6kO5HN7OxZB4Pg%5ROrExGNglIpCp@z6O71-c zAn?OCK_GPShYkVv?*N?Svn)mh;9(9D26K==12ph5_dP`0;dW8(u}{tXlQ)ebh?@pU zq)me?(xzcPY161UZPQqowro*PoUv{qj@h=QK62H z8|Fb~AlktG2xp4f^|KDza(9kexA!6}TLzOB&0;d=&4^iZ7I|5-mYmEPWM$?!swrc@ zp*5q+xizB&-I7`7+LBf6+MN9&KrpOB$X6eNz{@{?u)DBdP2wR)Qji15YMQV&$M`tW z0JR%!>b4nb6|m;(7_sPzNu066k|vP&>@j3=&WLqR&ae$LX9!i6Gho-8-QnDv-30%y z(5)$_!o4xK^b~-Q5B~&0zWxvdK?nSuYakJx4N6sz0cmP#AWg?$Kh*%am1OF?7H#FT z7~+7N_H~aNb@fXdu*c=}+Q#Q~*{0`p+SBqn9Qb){j&*qrE)99r?hScm9u0YXOg)8n z3Z6TJLWf}J5OwD&Ai#cel7bY-R98OA(n0KG7?^LQnc6QUSz%_P?E}X`-J|+_d{R4H zgL0akBB>3I$+SABTzV~}F|hY;uxd*=#B zmAnHo6~#f0y23sgp|zQ7XuO(jYBNW&a+yeW@EwS9#didIr8Ia4ssqu5{ZrC6Fe03uG&bf;{xnM2~;UqHIl4M0|Ua75FPep;Zbw8k*jo@baFjnge{`m=33 z+ftpvYUA9KO2fUgIDr9lx^Ebp;*-E7`(*NRd>PzqzjAJdeJ!E=Z3 zuRj1`m%aytyFY_Wsq28Ebnl=*Q+$)9FSpDwQk~(L>5MQ%xEHL_~Uw{#cg+J%&)qvKfwj|_5*H!UqJ zfRh*$Rva6YD2NWq5kv-a1o+?*0Y0cy5E)d)hZMbt=ME9jA@b63mFcSW@C_`QSmtgOG*ob5j$<61o zD1HS7UtI1TE-3X4D=B#q|8|JI^cBds_dTFVUpVBd{_?n3{mMdx=GBRM&D(tqs>;n( z2-C_EV>FLviKQ`7(HS&HVnVJ9IgI4N@*(<oQsSoD$+I920XY90-Nw&Iy82ml#2* zTa=*WMSuuche%k5gv(!otoz@B0+}Cn3srwwD^vYxwod)Wkq-Hrovq4>we{M@f+_u-$AS{pc1{^@GN%@=JBLWt zo-O}WnL|PXvw+i5dAEiJ_bi#9XYlCA^K`-4qCTKIPdx3+ih+;c9Ef;i_xa z;i~J-VJhq1kPw{8MqH@M1~KGC0OE(Qov=R^8Ekw*qj~hl1PM4 zTov~QSCyT?b%ZszWoiQZ4s?(2+iAky5Y+=o7v+6fSH(RgH-$ZQclkXXcey_2fn$z=Q@1ha!c_6xT|y@JW##|#FXy>N#)x>M)?+ySGfsPly3s{7Xn=0|1)qp_W`iG z_$@%)xelDfL;)I}iE&cZ0Vo}FU}0(x3{mbt+tv3(-4A=L8Wwb{5+8J|OoE?z5Ju3k zDnIB%wI=XHtu=5@t21y5(T!c#@53$`4Ft@Z4hKw|jrji-zdQU|AK(VZ!WoW*Jsb=B z+t+~$eBbN_d;eYFJ8uWL-$WYQ0TUZ{fN=3W(eMpCR>K7!sm6sIsicJ*sgfbgkYhDL z@UdEL@R533@U~88&||%xpk>3pzpZvx!ke;c6By$>8Oegm9uT?H7J zi+RCZ45Oq8Ts2LAoq;W|v~mN6PQJ(5UO`71A)$wAF}OoDV%VV?8N$RJs+Z!9)ayfc zwcA3U=yisy81{tBnf3=ynhymJTaJbdz5w6>9bBM;(}iz<>&+{`8)h+naO(Rissm3A zLx9$^0Vs19U}o=gtcM9Y)CvqcP>+f@P*086*T{|7(_}>KY6-%3v}?n+blbyL4ZFhT zO?z>Z7LRZvR>QbH02t`t3LTuG1Lnph;16?TE#L+n(9psA`Y#~p{w;u$5(hX%B@m*H0R9MzBM)Q8Jx6QL zr&j2|$HqPp>-xB;RlWF_6@607k^v=p(U23pU|bQkVA2{nWzicsjC_RewHb_RM-4ti*oH{KP&heqs-@F0sp|C!yKCC!yA{C$ZA0JE_FEn;>`rz#BSv zLI;nZz5*fFegx4Eu7CvTJ0M9(@-RtV>1hH2u^w$`z8GrmFzs*WIqKmWJmBCH-E9++ z)PamiZnGw)wAkdOG^02vjkc934R)O=)s9^$WzL-`d~|0j*QFzsxaY{tTDT?hQp*iLuP=q5)jq0TOX zSYww+s-nHo}S83^V1G(*H>vbp(S49dAH)XBfe&m*$N-Iq{?4j~DgVls=IiJ67y zyiBeOHGk=3rv;vOLo$8D2C>x)+~9@@}A{ z`ZQ2dd>Zly&uJtReE$Cde(${re4#_o`Ewxd`d1+B;rAd%=HfP0`RZzc=B+uV?t?Lg zu52&GP`@S9(yk`O)=LoQjAP;56DYyn=^6f5a;i@RE!l@aPx8&BC-`#c@qR*jtY6(T zXfb~E)E5E#-}}>ZhmiCC014N>0O=3EJmu0r*)oCu`<`73yrjxF(SD$N+ zDo?k;@RA)v>2a>{SrHggaEu;mO~Kn+A#5Ef8Ne-Y0e z{9qk$uwO0d`sX0);nxQ=neQL7lz&{{XyZvg^e9sHp~ z1niMYxqc4hJp5uWU*_vIuFAJ_#cJP=!XAKbfvQ9!520PoFh=sImTt5h+rZ3pr)Wa5 zYbrhtlZ(asGCXl1Tz6bN&n+yQ>k`g^RC3&KRcuU1HPbVs<~IRY=n!!3T@ZQxV?ezA z8OVEhZks9d`Err+=hNlNpAQP9er~T&78e$4YZh}2Eg1}R*Ib%4HZ|8iDmKG8B_zcy z$1C2mz&QrXwU3VG*~O%DZDW}n+qf#WeRLJe317`}j;Ln-7SA29&>`mhMIz?E3N`S=uHX!i5H$WhCh(G@U$h!XFA>+Y^>wK9H zW~wFM9qPFCVMn{zd0~_M{o-0R)dH9YWtSQ{68L65kzA|rK&DNi2i-oyE)Pwy%=O7P zBS++$J7lzgfwwUS~%ZpgFDsHa+yej5-B9fF_(0p4XrzV^3W&VzTC%EkUN(Q@Zc zz5Q3-Z|r^WeR-G69d@g-61h>+h$z&xkEt~D3Mn-W^(wZEbL3g4S#lh+P1s&!BTiVZ z5jQ2rkVnrpEG*A5=C)><<~L`X(taBd0v*E6{S~C0|0}$s^)H+JdvDFw-FSU)_>0%t z#;(3wJ#zo+qCv@Rb@^vs`FE$=}a}?cMyLIfO`+-QRm>9oFCpgVqgB#O6B#}MteUJ>6rZC z_1f7x@089+e!-fOy_Pj5C!I8`q!TfqYUSUn;o{P*00!XVdE<^}}z7 zlx=?ZI(PTl-za-`z98=1yA-o`|6%an14Yl>hY0)KhvsIxVz#=w5@_{Z*mtm_?4_`+ z?Jd7;>@B;E@|M|g^OD)YdP?s`W2AS}Jf!vt+@3|Ei%M>MWmzhHIcfGKZum> z{!N5)`2CxCCzn1Xf@|NzfE!nW!Oe%B;Ff{|xUFRl?ilHTyOtU!4{cSBBpnnF<(=gY zRM9dAI%w$wW3<$vHCplz?JRNV<0O6*>L_-U=pc5K`kRbWL_|7^UlFNmd{v}m;1429 z@WHEO@b%lN;K#p5gNxq;fnTn8f=l=9!DSh9a79%QT+`72w+xlRT~h^kU#KjQ`hS@F ztEjft?u{E>wA9_*-Een;B#=NL#0f+ofsjBTA%Oq^g1fsrv_OR_b@%R;+AekXQa38| zy`SfOzmw-rd;A^zM#k8qWlh#v-6PjEuQ~4^JP?Cjz+3DL3^5M;#f~5hc7V`ed(@n@ zgG7-nr2dsYe z<|GHO_CVf)rwurftpWf4^Bug*fkrk1HrWJth=9Lx;5deD>%*|-TNqaM4%5j5UEO#X zJvtI5P8P$oIXsxTgbs67lVO3r8!Rz#ftBWtu*S*`*4x;Cft?kY*js?PgE?3`n1Y?7 zG2k4Hz}3+Z+#LO0!aw`m4Sz>_5dMn!NcPnC zY1rTR|BD(z{=fUcLHB`crUxRVH-lW9Akc#hTsj+=yg={{kpM{<4g{?NTyrA9r5w>1 z39g$E+am#gPyvK93UIrs_~p?r|K@#5{(*Wo;tk_L#B=te@JF1d;Sc`;NKg%d3ub^H zsv!Vry%5y%mOA4=O!R<2Dihgi0YD3u09hUZ?(s?>WU2sP8U^_JC?IsGz-_AvhK532`5MvNZ2}O5@*B>ofzjcFi05wz${KeQ~c?r(<8T|BZRI&- zfuDkcW$(E1s5k65%}YjF;&Vn};xlG-;uCgD!eigf36D5?;vf2-&^+K?)7<7ih`Sp2 zF#aFmLv+;H1MRWk`$>NTWT*!5ylD`!Y9T}$tN^Xm21v!3L7JQW?-a88w*(sPV-$xs zAQMVo1j&?7c+r}Neo5MUoZRHQe&tEG{hN|*aXYm)dAqbX_{X&W@~>*I1U}H754xXp zGWcG~5%JyB{ULt`!ch$pR72>>`4DHY3{oxELKe;#a@=eNv&gQW(r8`-iN2iY(E&k^ z!lm*%!OFP)fP|!L{LIuV{Nl7eL2cTlfcCVD0o&3p1RhK~FT9X;Cg@Juv5-4y2PL;N zdZo8AcZU8Qh?qJKq;sc2#EN;4sJ{d{m3=gLPxcY<$?U@+{n>j%Z)Wcb>(A+t z_2+C3zmfYlK#pn%MKwgOmox|=27{F@{W zxu_10IxUY%J|<1bIuw$TcOaxFf1ji#zgNA6it6y7oaKJAkk9DL3<^4< z4O1RfM{4&eVzYP2k_)zn}aa{SimazVHy{GY$1|O@tbu6cAWn9|%e39^Y zhE%aXQJ%OnCOT`2GNGtbkx|wmFDh?S)RwnKc9b_q?ksOoo-A)r^_AB}^_ABks-pVJ z{su%&8T;QFG$;#_tv?q^Ef@Z*aa{JH5x@Fni-+FBRv(j_O?1ag)qXywON0T3awQSF z)5GJpB&sqyV&jUMqmnD?Rkc5>Wfvy>Wh_s z1C*$SaC9FMmQRN~{n=1qF@Lb$Vez{b{PJfV9;@$dqHMU{=3{@pf#ZFwG5{TRD3gx()y6W;{_toXap0CUOFBfWaVlUMEjsMmV zF=q-SEuRJjdNZNQV$QcFhxu>XT^B#@A}zbU*<MaO@UIqX;5!I{bPsSjOSaNXWrZCHuLIEmsMxCd0HLrVi0$=`}=k`1%|ZLilb^O z!;*`O<$0NTs*1#n*v9D8WLsp)sTNi8nWn!1(No5N zYR)9cTs8^HH%$K7Y&PXxr|py{+i{a`?RA)Xsn==6$(ouawKBk^upWeW0D68i+w$*W)cGq&7FI4mEF4P26oUi>G5IY6= zQM1QF@siQdv}V-%E&3xK?$aA~{p@_5bLaKPA3kfdVCN}UgU(|fjtz&X-sSsQyxcv0 zVaYrAYW23jl(5agdBU!+GHz#drC(=iC8w*jg45kv?%Tbq%y;v-63(W}rT#5_<$nV- zlTmhY_GqYBJmN?Dis3JJtkAiAax!+YZx(j^%DS<=mo4XRzKC1ja^Bsp^0b#{{t232 z>Je5*+(C{iVjov4>J7;9-yKrG-mNNP?MW_V_7)c~dzpMRZJ9%RYw*S_eQ9ZZJX14d+udcb~YE^WZBD}vOvUn_11 z@fML9+3z6`|LYaXz2>80Tw}-iTnmh+T#tzNzLB8u>d%Ywx>**QvpasMFwhzNj9T|olxTuTuyqSn?dcSgH<41$3W=Pzoh)0cFK)7R1v+_zRS z?%R%F$L|+{9KZkbM+Ryz>`E7go!+N|9XvA(+m1YljxRHG8U~k-Df_X0M$S*erAa?c z45EITSxbMKy9$0E6HWIHccBe8O+H0B7(L;(#G^0G`keHA8J6D!>X-1eQ=J zuz-5L1#IX2jq7a~c6KL*9XhUq?dU@ph`YnFT9`h(1Qw0Uf|aupVeL{CY|xW}zJ&k` z9a&&Z@CGwalz;F+vlnzHaAG=u8`~DhY-^yit-zmc0l_RYkh4r6j%f@T3_~=q{x{BT z#jqm>F>L2~lz~7VM9shmtPm#aX29%m@vv})5|%9vft71{u-cdj>#V$BgM&L5pfI`# z!4WKoc3?}g0i1^=;62U3!_yReJWYV@X#@gKLkRKE2Ze_o#FO+O;g1~Mi($J@Vc4e2 z7*>lsh=LC~I;k*5Hx?$2mBWmw!7yi@KP*^AhsA3>VVNNTR+>7&T1z|FU}KFuB1z_7x57?$z@(@_I9 zLIxwo2w}`5Uzjl62d2&?!py}kFn5JLEL>v+OV*pi3Oy58V_*au3=Pp9Redlu+5ncu z>%h)<4LBLE27>WQ@GxEh6ys&U`YYf&YYO-*o(+U`i_u?M4OD9*prU>I6c0RjFuVaT zU;-}G5A4-EuubKIO#z|`(aZJJXl=z7Tl zu+2wQ3c#*O0QQ{%aOgqoNw2x@$OHbbz2Esi_j&(E zz;EVcpe>pO?x+ST%Js4>4Z#;_UKToMj!Gq?m=6>1V)VNy1>mR+1cw|UIFt#&u|5!R z9f9DqH4vP81Hk!M0J!`U0Is(LKMBtSUq~aJZ1699n)oNaK>UMHB_4EZ4*u@m8T`$C zNAOqTfuJuQr-MFwUKf2NKNh~Byc9m8y$O847!clOy$!m-{xiUvF$tIpX95*zUjF)} zAU0bEQq=pG;O#+3b_Xt#226qfPj9K{yGK;WS7MUn3o%#niBvB6=+Pkg;Mo!Kp1dvO zo!4IRTkjL%0m_x&*FKMepV40h-DkcDy2&08U*!yhT=IJ>`4hlLHLy?(Or&{5>lcFz z_1zVAMj%H!)x# zoVr{3jDAe=l+h=7%zO}XpZz-I2IsZ(vfrD~^V|X18Qz;e0s+$}0{cIn*s?hwUAGXF zrYk{hs}E|F{a2ElzK5awK@f-amMaQ)#R``^r^U*iQd1)y)AA!8(JR9rFq*>eGdpGX zSUbb+vX6w_@x2swlXE}py5Fm?i`>`YXLzsW#|5txM+7hb2n3=UIH(4}l35V3c0Rz;s+I2;+;F2UXhD3>Il7`+!}U2x%n?ZFsgx%YLG9Q0@~HnAZQGxsv7QaV{y)?^vuvvOh9HwM!Nq-y=;--Xh6N?Uod$ zbxLc~Hc30uIzo4(wTB%`YYV%c)-1b|))0OttuEqDTJ2u|@zn7UhJa>TB6ix^^u9$ zHHysKDn&_Ng`z&MJhC&dG_p6ZM0qZ+NO>c#5K*AKk(;mV&-oJ&g6@NO_GFY#ngE%r zCPJ~nl+RTb(_S{%&3w@8Jg2`IzwBb2x7o=`mg|9H9(_lyD6lJC649Cz9#^MPrBkq=X_<-~O=@(hDk-r_q0O#|&{ovQlGU(=gHtb6grxi# z2%9_(qR}jC=Dd+;$NPwnO=$OD*Xm(6cP-VqxW{np@m+Rv_HHMv+q%Wex*hpJbsc`J z(iVXzw;@QLQX|pCR>(5KOB97ch3blcf|P20L2(tou&I())KktYI#tFi>?;%G_LT)> z{~3@?9t&|ZMnlfr5m2>g_}jK6I`_BD!>;a|i=8>3H~P>%n^`-1T~~MR^t5d1p%N-K zv*`t$+`#nq09kxG7?lpmvF06O8u*gO8jaXi~VZ06>@4%7I12=7xMLQWjnLWO|#4S8&R98S$=*A#zKznGWU#lwDw>2q`-BysxYH!G9wQtR0b{x-S zcHGWjHQ&l&*Wb+k6Cj_6W=N;$LfH(RPpJQYed|c<;{FlX$&-_?{byF{_M9=D(s9au zN!{u2;20eK)(hW$YLzkic1c4?>X|Es?*j7Iu%@vzRz1```E zSuZI6$5}7$oV#txX-{J82?{gf7(GyQgcas@$X~@cD2$~Z43G0U6dy-9oD)kqT%-0r z(iQD>^l+5d(SDWJ!RJxly-(GD0usjQLeV(vR+A3aw`Dle-@~wjr_c-n%3^fgoTt-# zd&AhuTNZN)`t8@GU3amFyXxjDzfAH8y5z<6|Hmhoet{*UToA~;{t1(lFUCfAUdjsh z?5mP_T<#1dT{$QvUAZA4UVbAbogWDM6Ob`l=VjF}?8-(AJF`;)sGD(6g{?>oAJnYb^JpIGsOcZr{H_8p8j{;SoFJ|eDAw7q32!yAkw{%AkzIP z5%EE4An{>o0P#_)!2R(~p8J!tT*A}GT-OKh_Mv3C&>qM}MO^h~3D8=(?(l zHNBjMRShf~Svas^O2&Z6!uSD;b&+qZ&Bd>6aopGTB>F2HmHe8(CcgIcC%j>BT?hDF zm$y=`^V=AIr*|0~-1~B0+=n(c?!zvY%`wo&A4C9?HS*!@Z@i{9`4_9-mc#XRNNq$ z?(l;_xBJ1T+y0c&tbeMhmcP<`EPt0$EPgk8BmcwO91f#A!q8ko9>|Fu7`E>)%0M6w zqUjojmA@E)<^GyBJO$>Dje}*=<*<5DFsxg{1wA7=7+R81-oOnk&~idspl7h{G={Yx52E}ghUL81 z)k%U0Bh)ZstPJK&6~Ur;ez0sg4OXr5gtf?n&@;n<5z0WAArHdZ&H@~eC~|Qy0+NFP z_&Df+FABs4+OLB!d(^bGTLsBz7%|uOPaH(gU^{vSZ5J`D0{Jl6cQGvSBc`K*kt0H3 z{MZ1PI++bKXHsD9d=e~N>HT4)aQml(t1r3UEUY=BkE*TK3KYrtT|N-$Zm3@leJ0sEDUz-8qE zAg-JT-Ye!H5jPwB{|I=@o(9fK=Yq|K#o%bL6kILPuYyCjmShKxbo9viM6e3;1dA9i zFi%AkAS%7UqR|U1HzKx@!Dvve z0ygc4&E8_?2Pl9$Mfruh;{C(vf%kXkH(p;|zIc5gd?ydM{~$jn{_uWE8XE9MHQ-SVF35i% zp?l$DvI=N+hTwxT_hgC-xcPd3iwOOEISm}+>EMuoD5C#%tfv3MHPe1NZKC~f>Y@E` z-bWpDIZplV+UN5Xf6wPL;Wgz0;fwbG@w@kP(jeub=OFa~d1!!wY9K7018&HF@J9E7 zg{(ARq`O(JmMG%n1Y{No+|X(qR~h4%a}4u`b1G}lIiK~-rGoj@wSoBs-_H1q-@^Dz z*hBy1c9j0n{UYr>@eXZ(^pg78<1_V{=Qr8|ukZ9*l<&-&e*k=tFXxVYInU+ufU$Z$ z@Qjv0fb|C8JDURs&Hd9E#GhU~pYKEo^Q&8w?`MLR^O2D4``)d@_nmvK?^|Lkdw|r< ze&ex|_1g0=^A-6#^CkH<#$)f#jJuSttQ*v?zL#m=IDPb?0ou$dKt#Tr4|*Pc ztLA_RosAM=wFbma#t=xf9rULXzA*eKAH0KEZ$0IHZ#*>quRJpRUwERUtH@P;&%B!a zo_cTMJfUpoJf)~fmg`G?#SCOV^O5;Krl|Q3DJlH>lwAHjpK{(^ zYCZ2Zt%G}uzKwg6zMtFAIK#cpxXHcBdco~ue&U~He-1d|`#JEi-zVXrKL8Bm%aM^M z=7+Lk;uSMMj(Xlv7E6CcJFNYp#GAa8k?mguG2I{Y`Luh!68~EaWk5eYG4MJgQ+Sn8 zEWE<37WOe)gqK*|!hhJig%{Yzh39>*2+wey2v2f8ijMey2;R^AAl}1!AF`W2G{8hP z_#h8NuwWX>Fx8i-AtNzPq56j1Ly7L_g*Xu@Lu5I~{@+OaaBR$)MRV9gE8tZ4&Vc^#p1@b(n}x3vXDUeMPlBjr6G6Lf%8zuDneVe~=D)~tTJ|8ref`Z8s(D|WFaE4D zfPO42B;Y`BgtS)}6R|5WNwFg^JF+LRG;*7;E^>>oBXYB7dt{gBNMvWw73Id@r^+_* z3uUwTg{mRs&j4roB=Da-1!VIlLhMqcx7JSjmTf$BAkS*nlYGYockOYn;?<#`#N%49ko zO5%F$i4*y6Q%OTQBjk#;@v9Ssn;r87M?FA>mSQw z*ze2m_uQTo$m!CA1h+=X`SSBmbmV{Sni^JQrh2cHgg79NWc@Z~~ zaw8sSa}e1P4-&H@9u5ikqZ)!xUM+g=SV&ns`e)wC(QnH(jCovbJoZ+d#e}|U=lQ40 zJvSUGqTBAu$lA^emoT9itB*2|E5kk-mXYAb3kiKZ-VBw09Zz|V~d{D1H>PD04 zxC`~TxyP$X>-Lq?thX2Wx^2qkGnz9*fz`}T$8c3Zi;{|OLGodAkyqak_L2q>60>|ND- zokz`cvFn}luybAdqmFE{oxZ07zkExJmq}YA16Nn;=T%lI@XIR^iPH)~6q=kcO=N~V zU7DiK3rbEd6ebrG2By>%2Bd5*5TqW?Akv2hf+meaIgAmI zHGSA%`84cd(-`b(=Sb{a&ou1Fjy1ZwcUVl`+~c&cbqi6iri)@*vXSYY)9S}aY2pXO z)(gYr)gjTr6=7OlnKGSInwaTZnw#lcR+G*y?@D8rA53LcTuWw^-c4Z_-c4l}+)Wz_ zkd7Y%36q9H{$%V`^;qm$+X(E!7G3Q4?g`kwy(@?J>@}URagW2ihFyep<=e@Yd0T1t zv~Ctvv&o+q*)9l?w1^@FO_Dg@28EW@5TC?s$k8$ys}mVbo8swB2Q;*%t8ui3#~OO| z!vsdv&_KkPQII-**yoZl*o}ta*u~D_*vTEJ|GyvQ4-PNU={#aMw&{?~?8*Z!s|xlJ z%`*0QJ0oY1X)qJYf;83*l_W^_iVX`PxFYFCz;+Fcpt)4fqe>E5TLY`(1U z?tUIgX@9Pwv^|d+3Wy%93)!Qw+m$GP(5i!--l~Hg>cy}f$8@l+({r(wGwViGpSGA@ zbkcEY=5f5C_6W&7`j9s<>;RP^+{ff|di})oJ%KXHp0IH5Ju%^4y%{pE-tsW=-gc?y z-d>64zP=ETz0X2CcD@bu*fBJaIC9vlLJYfBkMuv%-$zgeVD}-^e?BuDYrZrYtGTjb zMDb;#$=Q9@3zJYTMtuQqB|ArS6`mn``2z8k=``{m z&b0E0XLs}5&t2rYpMBdImd? z2ho9MF={UBV1>7aW0~)!57T~FG+O;})l}KX4f91G4OjYoFfpKhu(0s>Xk$nC=;-A9 z3GeFoiHx`V%pll);p45pNby!*)vlJ`GF&Xal{r~_Z^M~?-;OgMJnLvac*$WX&b6XF z7(E!a>j26?pd3WqC6qz9fnn*$2ZzZe#ad>Gkd3=@9AhH;P&LIrFr2}VqGfiY96EpDiJ>x~+h%=uGM^KdEz3<)^QodM>k*KN9f zAz11!Mn?oM2U|4TY>lifOS%<0j>Z;DW%ghk>j1{7hlN)}!om0IL&-i}t^* z@7Vved0{tb^U>~`?GM{8C_MDZ7Hr?ygZ)qd4%J|}d@fk8UH}d#hv9^Fdbyx}w==;6 z94OXc>xaglLU3TIat2GSGgxG!&k|>_s&)daW+$-TgxH4rZPSbUWqZ`|r|kvDLAzTH z-|U||d~x_-|Howr!Y7DMk z)`0VM1p6RouvNH%O*|sQ^_Oj->rdNCmmhYGE`#>%F5m69IDd24?flL0u+vw^b55Ue z{kV@#PjT;@-#ZRC4?4bf0^AE{aDMCxE<*v%v!{bKs=*22wrW0*QRd#;autxB4T0oo z1$d?-I0d+(watVOCHMw38lqZXw<$ z_Y&`Uop8V7b=Cc*_ha`P-tS1)yavgAUf_M60+iD};4>6Jm^BUX^Jjt&>bv_dn-0Qt zvmn@H!S7((m0ts04c_^atzI#h&QB=<(j#)H*L`v{InKIYRM?)h@vZ_>ry*Qt@ztJHYPDcSOP{~c`vP0WJj;ysJ;l^= zPB61L$5=(2qpWJqVRkd;5WCCofbVX<{l3Tj_HwTI?eTl&x6AJ{x5w`rZ;Ssoei!%a zkbuX`sX#;CT;SY^AX|*S=dYSD7^gqwUA+0M=NkKk_tk_|{Yr{)Unm=QRwN)F=ZCNk z`z!np_{H(}`K1ba{c;6+{K^Eo{Obfe{W}EPxjlj&?jgZe-lc%eyhj0DybpmJ`JaVt zf=|MhfT00T|06r#aH6I49+Q;_Q%3_ z9tVPhnCR;xZ-*dC*uzf{ZRKYKZRQsSbqT71It9%^8w0w7I|B9ww+EaJZVkK>+#EO{ zZVhO`TlC9T37X|t$Q+9ax%Hi$M#>w|WN)&?C9tqHmj zS{3{%v?BOzXc?mP4}ce{frqqK_-wQvWx=Rl$xBDR%UnI`Nv{5wTlwbWFXuSTJ(KRS z_DB-VvNw){?}-vnJ0pU*ZK1NDCW%T~FOHYhh||NX#RUtnL%Wk^p?w(hM+~Mf(S4JuO~zg* zaGZT2hq!8gx{uk8B(`(6hUeWDE%IwnNQ0`w6=CI}G4c{=Qe=@dM_DK>Q|3z>mATSx zWsY>8Dl7CKRc7cTRYvFwWk%@B$n-w|ROCmA&b3fx!h$)T8RO=saYCUMD4@j~Bfb%?MuQWjPap^D6v#Ybhy(xWqEh3a%! zjXG7fF(yT}J0?kXCPpi}7o!b-rq;@yMQdfxqlNpU%9 zsB^P&vCgF`!%-(I?57_naa+2xz}u)hhw0Fo;qOtK9Kb4%4-P1Z2@TCs$sjkz56s!RdBC`Ba5PLN1bP(~;| zN);QUj8BMCW@wel60Jhnpp`2(Yr|ECwKCOp^!YF$Lis3O9{D(KD1bA0Jjf=Fg7|5} zA#;Y#K+!bpUeyHba{V0abmN8*2OF#>@2quQ*j-89&{{^bt}XHFA@rs`C^$gJ2W~lLy_R0u1V&kXC`wp%9DIE+O+J<-3jc>3-PRsNAc{` zNAaBGp@E>$qakM8upb#?vD?L{_g;hcAGQp~j&2%{^>#1U+1hO~wxiR2X2V9p^71ya zQ9(1!KBIw6OswTHqN@S~vhpCQs6?XlFOqpe= zv6x)43%4L=hugZ89#4z7Ek4eQZYDXTlfx2ht)LyGJS{_e2Rjdr|^D zw-*aMb~N!lc5LU8cAWMn?Renl-t(U8w&g2-D1Ikm*sTJz1ELngj(4E`KgvODLmogI z@CcVm`gO<$DgI{!mUVSHmU?Z)2+cLaNy@91^Q2eoR|WJr8T(!$*itW&Ts$xOxVvBU z^&ngndf+cbc;NdINUnXk?k<;W-CVA0#yejj9c6fTh%KqsSOPfcZt%u@b z74m@4GuXQw>2Kr%wH!zK7isWpq`?z!>0&XjrVmrRSvWf6&B{rFH|uA!-WV>SyfIxv zd}C$c^2XlOalqBWZot#h<}KaI`W?^G>b=y`^1a%^;zPQ*`NuL-^N;N&W}kK$n|(TC zZ2I|*(NLU3&tN}#2YQeP(T04WO60@j_FmPP{7C&4J%zly#On%V}jDGnW82%2?*Z&=*rw6GUHbC+E z4bZr5J#1OG4)(7divPX?=pEdMau7Ah1IR;Jj3kuBP~E|>(6>4|LKr*3AEu6_!))Y1 zEI=N_668UwTwnuh7h8b-Qd2NpZiM#8>VxBo4M1424hf|-z+SN$gv(b##IofOzicUF zEnNboOO`;xknG-tVV%f>s5^~3AT*DXjC`0Vl*N!dz%ao_Y#1AcjqridV@NO&c@Wc( z2Qh1gCCo=2#Nv4duwwoOSi4{y=r3FiCJR@9)xxFVxNtG@9Toy*{(Rufn+u}3vms*6 zEQp&u15$@%Gnxl#Jc&FYDu8({e-ct-?ARmN`d=LU)V;o`lcqUm(iZULAWF9uWF^VP4L@5A7<{n)YVgkbx4~O0FdVQ1<2OS9 zW~c^(<#WIS`42Y8mvYcs2##pp-obe-*pdyE=Hy^34Y= z%gw%9)tP;>YBl?6-Ddb{aon|&sqY)+Vbvb}8l-tNBfTe~+#ukF7Wy|nvn@&dV9 z&uzi{*${xmyqRE%ya!v9!*D{i;5W<%0@D7jj%dt^WPpyYGW%s0U^!?jv-)NmWA(*0 z#p;u7j^#(Y63Y+v)fVsVn=IZrY_xdmu+@CPvDf?!?wHwY+$GbOPWMcoIlne}?DWO# zA?~-u0~}c0cLeKu$XNYfz!Ld#R>;P~q4&Zaok>DQ=N@{YbM8G+w2SDbKZy4+`{L|x z{Sg;p`_55iJAg~HeT~bsdF51S^U}G(`h|17^)r`ttEaA;EuXmVwtS2~V)2OZkHrJR zUGuwy*A}<%U#$D_zin^0qQnq7Sm_G>{{q&i2K#w40FU%PWyy44pxFZ^nmu4xFZ)h$ zS^v?~%XGk=kN%hYX6XsYj@wR)b5^pt?ga+7TY_-E}PrLoi;a# zhi&>v7i_MR?$})QcxBf|`r_~p@i*=Q5uDGEz~%H1fDQ8HoX|gKGV1-a7Eb~0>S@3; zm^H|?T=+i9t<~M16_SY!EE`8o|{6+6r!UgXX!a468!Wl}5 z+i6OT+ex1mw-Y{HZpVFgxgDh*bvr`6>~@g$*nJ=E1F4t#%VQ4}Ja^E5yq*4k0ee(~ z=k&?InLPnS3sLrd#rW^Cb(7wO8&7){W;5?z2!6$lKyQOSf41#;R)Fhix|DQ+rt&;W zi}yTCPbVLu=aUc6%gOs0_2j*bc5*Lc8+kYL0C^Ylyw?uaJ+E!70q-rWL7#3G_-tYW zb>k3#6Y^mwQzrs{);N%$yt{nam@ld|<6cD>PJF1coN-g(vfy$kdHvZShShOC*Yyx5 z*mEB{oU(_lrtV^EsXN)3wC(I7+BV-R+E(9Y+7{m~S~q78t&4MtzKPRM@9=xYX!HBV zZ1MZWZ1n%dY8V2*Bi&6$T1$k^$qAn~>UY$VQSW0{je4rtF!qkdeA3kzr@7~q9&3)v zXyymRe$KlC(APztl(v-{$?W!zV|V(eus8YVvOBn?>~?OQZ!5RMw}rRew~2Sew~=?1 zQ_p|KspWt6tL6{-RsI2RN6&#haUAOXkAlcKBYwm#(tVS-e8j_~wIlnJO~zhKbewf6 zmbmhe(#K>^INNcXgzwQM3Z``ghWoY#MEf@j61k0n3~qfuA+Ii=idPfR!mAG0!mA88 zz^@3n$S(_g#4io}z%LH`$}d6`4gq*fMOhS-^A1J(_M&F%eodG^>}AU0VRzG448NLg zH2Q3+{q&<+w`F_dybZUjn08$eT=%w6A+=E~<=G;5B&y2quh%@Ts~GGjrIdq&YfI)92~j z%wB|D$~G8vGShDA!BoQHU0N@_&2bEy_GmvsqawhkS|;X{OJ#y$ag?Y~oDiHJoFUE) zE)-`6*NC&k?I9WB9U}WbudKp#YzW<3Tun6xxq69PO&rd6zl^ zdzdvHyPh`>JD;yN;%KhTo*}ks9D2tsZsO2%OXYW!f>e|CsYxfDUFe& zOOiuVCAp!=l8Ue-Npo1DWNTQ0`+)-6|s9gr)-E-NBs&mxpzZ^D&f1L#iRA1f8$R<>C?88I(gfT)BGK?h5m9Tgq^=+KY+H>kBAG z6}e2i!c0H6tW-WVSu5nmp^T7HEen@LsZii{_DnKyBe2b zn;VTrwbk2At*^x|Dz7H5FDR#3WR$R-wT1rVm^=YXo+Szpr-w-SDdCZvWOWofIW?M< zTolDhX;d*&wnZ{hPblaqcjWZsR|;k#BH{l6LBn-HJsi82ieXptk?up<^H?3q-ZziH zwzV$AHn!=HXlk{dT-EF{zo?P4CcBPeno`YljH}=fm8Cqov?!1lm@gJ{a%D1RPPCk! zlOm_*7Ddo<8^US1Tf?Y%$3uPcZc8aS1ED^d17SWH{}+(z4F96Ru$xH#Uo1wwcjQ4F zKpwz$w2!fK(;Td&bDeHYr^STQjkr0v?QSd5TFHj-O*Gr61{NW#)}JD(7Wn#C1O+n7 z!^E_*Xo*i*io~b9FoaUx5KJlG8suGZT_*q`>O$IcEAk(DRt_uMW->N^tKE$B&8|xlyGR?NH+frzchH=I+t?nw z7JoXcDbSDFC>3}&ssg+klLX|Z0zSE^p6l7P#ox2}D95AumM^LCjh}n{cP_E^|MF9f z{D*XO4@%Jd0eS}eP!3`n@?qML4^p#h3|7{=7|ZX~AC8^hYnCi`^rXyk4&)1y0*Me0sulDhNg#Lcxd;^uB2_sxeX?wk9)-MU{>TssG; zuARSV|I3qv|Mwo8LHhd;(!V>=@85~8-+(k|@j)Fd_sA?P{pf1l#G@t?)JJS)M;yW} z6CcFu@%ED}So^#jDSPR7&t5+gu~+2j)*InT*c(qG?9C?P_f@&$_jM9n_Z`H$?*G@- zW$!Cjr#;`@aC?5a|1bZ!2Ny~)>?nE$y~u;ug0A0!e4q-X0dvsV7)j^GV(}Li=|o>x zKRWz^>D1u!HVb&?99J>VxEfN<5G_cjz3m96S^p1PXC2mN(zg9c0>Rzg-Q7ZfBtQZQ z5FijVxLbizC{UnKTv{jvid863YSi6bx4w0Ecc=4Rect2!UY33S_-&8f?e3YmW^S7E zysw$@@jH=3^F5j8!#FwDn{leqi+-w?N;^GHp`F?7;dAD)yU*zt?p`OqQK%<=dd}n` zzku!M>R6Cklj=r`jTMPmQH`Pc4;# zp4w^pKXulpJ@qu9K4X}BJY!qBKj&Gxy%1QszRb38d0A@i{Hor}`E|Fc)9Y2nj&HUb zIlet*Pp~Ktf|KcF5fgO-Tt%n?H1?YE!ek15tKn^nN8bTQlNss}^l43rpiiUsE zk>-3dRPg&`rt1CKM$6-~ldkI*4}GUEGy{jP0S0#8!VGM`$LZUA&(OE}QKD!0qfXc2 zXP1uo&lTEczcy-_{W=Vs{1?068Q2IJ#44EoUeIrW9A@5mgbE=CNrxOH{xu@-r^JM~ zSWYwmt4J}hrW_UPK_7%MWDpkWV2CxXv5Te!_Jm#tUriGnqzNyHH4JgGx<0%d(#7*s z;J`R#ZQQG*g-3yjf3X>IuyM%2`XPsE1N|z{FZ!bo{V1^y5DI^f2%O(Y$RCS{dSgk* zAmnA7u(F&j)=;#kHi_4f| z8CgTDD5r;2<#n*Of(F)CP{k$+ir5M?9btnmMP3a1%8_xfED7^v2slX^;T$0UUtnWB zWvmDL+l|cBu!*HQHiCWb##C)=9H@hhB7qb=Y*e6+4aU2Jw7xTN#j{GQG)i&xq|EIw&}v-qX;#R6-6Hpe=j%(3oFunBwy0~1wj zYOMC3JjTLK6I)PpusKT)oAH1|18kOOh)v6YTA;-cn{@$84Y2t#VAKFxtkuUBoAt5f zZvEd@NA;$xF6jNVzN7oi=7sJTn@>8QY<}u|u*SOYt+C!aE37{gYzk)$n821HOSmW4 z+8E*_8%=EIu7hp;^s!B-0k)1e!dBVF*s8=BTUNubO~%-Iq496)9-}FnA){Y5BSt@M zCk%hsZZ!OEx6|Oe-C=`o_J0|Cak#Dj(cziid&iG@ZybK=y|%{&uk5kWOM7fQ6KtlV zj4j~Y1v_08>3>^!RGK8Y@qkyPaZ>o&*BYd%zHa&VXC)2^adIKc8fIs;hJpm)iuxZvul~< zN7wll@7V5X8efy#P~k- zgUMabpXPTwvE?law!TThHZ#GNpzj131O>b=Lst>AOrfpG4jwOx?k}3Z@fYt$jd+Hm^Nr+q|UCvwlu(uzu>*VfDm&iREMOLCZ%zD=i-Stg(1N+iZT1w#WP~{e;;a z#x=8>j3?&T=pU@E(0KG@;B4|bdhwt>AD9?*wDhd7Z9XCH8l6)@LEz|Cr4s|0_13l%9 z)46~_r?Y`0&SwJGI-d&M>U@%Y!1*})FXyA2doG7KZ{7B@e|YR=W6GXD?72G-Q)hzR zlwqG5c+OBINgS&wffEfRe+bvY!)>3mR{+u5K3k5fTq z9w&loD93`DC`W@AQVs|AP!0tTQw{`=QTB&SQuc=I_S_S4(sLL0rssCYoYB7>!fWDTT0s&zJj(Td<}hb_%`~+@FVm|-WA3= z-c!aJ-exg7z(VX+zLV6YY?|un zG`8`Pgm8y_F|nSz_^I@5k$HYwB1`-?Mb2YRM%FXeN47K9MRqgS@Q0Wa{4v&Q{zleV z)PB}z)cJsssD}Y7qCNyJi<)8&M`8A0^uNKrveK9b?^%=KM|+O4(Dy4& zU(oW{l|jR?>w<@3cLfi`oeJ)cyA#qE_m35vNxf{L&K zL0wqCpf#*d&>h|@7!F?|SRLLi*v9J;9OHEgZtxZ+yo%^Z_#V-ofO&2I1VCXXIefcLM0_x{z^!iVQkWOvW?)7mmS$b8)_p37)Xtk3eyq=136Om1It z0k0>iG_pIXn%|Yw$X}GSC~9F+e^h(YXjEI$rs$TWgVD`NSE3t}o&#T_8i-Kk zSWFxzhza9dN#f5EDfFsB65Xm2Ll@_R_ph@Q+CSf2dV3W^eM33NWPDDT$Mw=+E_vLmf1x-GRlwk5SLt|_%Gt}(SIzCLwD{DRc=@wKUY1@luc2x?NF2&z** z$5*HRi2HBgP!U)Q&}&{GM)*)BhHlLhMpx&P(b;oevEYSXI{=chL&Ri}3)%}XCjuFP1IT%Nu&d2agI zl(LM6$z>TIlgcu_CYEJ5%jcN2wem3d!Zh@e-n8B7V!Sf&f*&y zeU!%Q0`!;HaIKeCM!I*E#rn3*P7G?Cl@?i>mlIc&QwK`*0zjUStm0JvhJoAWWP_FmHjzoR@Rr~nczs02+kBHew{4@H2}X;M?`0vNa!f^ zLhR`%w`_w5GWNc5O)tud*mJzO*1er8sX+#;m;R zto*#@?A*L1+1Yt3v$OIxWy7sL+39(=vNH1CW@hGnOwY>wlr|F_Lxg9NM0isQJ?}N( z{Tm4AWGn3Z?~p<}It|cdr@hGdLaN;IHh-<9EkR~o4dG6$by406s^bExDw4uW%hKWs zOL9_kii)x_3d?iT3hVPy3Onfy>fW(UI(5FGKeGKd-imRq0LKl(b^@p!Xt|*GJ~DI>PtE}#vQGp_Ki)Eo;CHc z{^hj^+@h+Kn4F5t>g_iZXOZD~8RXe)_4O%+6 zHgz2l?v<_4jFP7KpuGBIep+pMqM#->Bf4sK4!^28H?pcNC!%^Fn^(OilUKbrBfR=@ zdRW!-^ssp!Gr}uArq2YYBjW24gsy@A|4$7dgV@~*o&);uR}ZP66~pGl{vj9f#e+Ud zZT&3W`rcs6>LuYWrCm`zvlhk$X0|7WC$^-H0vhc{NIhc&jPg*El3hBi$k zbDQ=iahonBhBQ7)3~Kn26kPWuc_ugq5&q1>rFuC30p?&o$#nF;Ax@h4V8{wu2cj@_%#gvb+42o9;S?8<_b4`K0QgOqv0g*#V+|Yr{h~R;u z$e@9$NX}p@k2AP5oISWYls&kc8#s6|IAGve2y5x*Q2)N)VKaF&2cE}2HCO~SfckF( z{k3C|KR^z#cmol&Z&XE%o6Jb_H#$j_Pf`_&H~8x0t`9IvT^sBWzb1?lxtdSsj>oe& z<7w=`v00pe@d|dpcvB#2yf=WgdYs8zz0==+^?6_a@u$ANqo0_JRa2~)+^&Kev_cLB zYhV{-5R=e{FbW=YDdZ4s+u;54PH9xVTc0p@myJmAE;renonC6GJA4h|wg*^6Yz=Y> z*%D4+Z;AG1ZAqs2Z^@(iZJF!ix23_`cWbv7W9uqU#@6i=`qpzE^es=^eKvohcyFAd z&g3#Y3&-I(*gFh8ATa(3@ZiIn!T;|7{|`Q}{16G1992cLj+qE$AGMQ6IqIeucf?C8 z;xNM~_z=q~;9#)5-@yoH#vy?V?NF98?NEu6&*3^p@57xA-bYs0c^%neOFeShhI;ss zwdcW)wjKw5+0Wz*tiyw_2DZceuLu2+EzpAjIY<=fyNL%B4b6%B3n3kIU`G?pKBk-LGsk zaJzb3-|fmhJ(o*w4V*82Gn&bfKA3}5(1QW`W8lI2cS8@ve(=BG!{>kx&juf!cug3^ z+><9n+}9Qkxo<2UaNkmnao<7N>%O~&$9*4d*9R;emxp0G&X3}BoE~LpJ3XGQ<@mT( z)8R>%hW*nKb^B-A)a;&}RkeNgK*jdS`+u=_CCmZL{{-j{f&L=sg;)SNL>c5DxuBo) zH$wb71Qhm0ni%v(mCSsrBSCv>Btv;?uHf>{PTBFDi>lpwFEyJF{%TeqLewljMypzU zN>efaRHSV7dA^eA=T1eFFDn&{zigH_{(4l-=&ik1AghfnWHqq8tSWYsRl+nG zdCZoU#*xsJm?8x)3*jYAm4paxfiG;`|6&Y!ah8I9E9lPy{aKKMrTo#qgHX^zgc#2d zqQDs?&c6}K4kNN9MxrKINZbI6N$6l{NlmOErG{0dl(CkSJl2u@*hY$sT_uT_ zCV?;q;EN-iEQW9{P$D`LtZuA?HB8}uVFJK?X6p8;Si@5dYXkt1s#rY*{#k(%R-X&M zuNG)g!kV2xA26(hwN@!&tu=~Rdn2$z5$haOz`AD@e(T*(_@(z${=42g`LBB4>HIt_s#E1!`2VZWH{T zg^=C!0E56vWvsti`M1Far745$O1}&bDE%@zt@y*}n&MaE#|oc~-zt1C{wDv<2rIlb z#7b`rvGPo?CVU1xeI;xNd5j_KeK56#OvX(e8~bWtW3C1^iidnCOAQ;%2CCG48#Sm+ z8MmwcH11aYY0|Iy!(_SYchfPIZ>H;1zM5@S`C_(L`HT4pYy{^nn87wCOZXhN7OL3RSsh!`G_hq6wE9GA{~GOtgoYl&7t?f2KF8}!TFD_ur^%n)vz;F z3$8@c`Dq`a^VL2{`;&dH_6Pe??RWOo+HV{hwO%`PXuWb=qWQvcK=ZlN3XNw@t2LfF zPpUt0*{S~6<%s$t*NbZRUGJ;iaeb|R%jKKa4QH%#%^B-mb;kNL!6vZx!xnlEoT2C4 z3(jAl!Ts_+HY%9vuJPT&SLdS}SMRNBoZd^MS4%&Ds>;bFVKDD-m3G!qf6($ zN1ygR$};V{lrgQ_o*T4odG64>>3LZ5hUW#Xzp3}ME>mCYUhw>8aLyAOouy#o(-dq1 zm`(>R<91(Z5JrYjAFWq!{&!**zzC^TOF7Iwg>M|0pIHn`|X3(CE#ol$)90nGVep|6`!*y>JR+=^=|uy z8C~}km|XGAGQH?qWOm-S!t9)1o!J?`7PHfSon|Nfdd*Jw51SqLA2U1Zzrp;7|1R@G z%;V+*c{2 z^Kr_;Q%Rb_?~?V&j}y&BZwerPi1AT59T{kFER1J$FeKi7UvRq9?%)FFoxx?!+k>l} zw+1&jZwYC4*%Y$GWn;*Y%Z89qm-XC9m$lqIu4}kwTvvzQbsgirbzjB(;jxm7DJ$TF zp_yQBNhus82IGfb^JE3mw{%tFi%c!z-3&vaE9v&4XHuw&M+8jWebHRYosrRwTX{)t zo5Hg_HiQ*X)`gc-)`rigOoTUkt`1-1ITqgMIm%n%Il^1(xstbox}0~MI?TJ_H5l>I zdw}=NXDOWa)AwJ%bTL>1B4jL(B*C6{!iO9M^e9&uUC+}&f92Vbk7ZNj_NDu2ZBGg| z+Y}$+xGpB%V|7%T*C;>FXM|ruTgk7aE$1(w4fES*Ls8xIfv6#Rf7Cd=FKRQRH|h{$ zNz@fachocAF8&w4PCoWq^k2aKBH}ob3^foV{>YXY=j+lJ`?J?&AT4Npuw8VT0XpZ>};D3PwgbqE;cXrn-6|A9SBv4j{~Q%` zwA7rmXO64nmLi(Uy8J+cvFuQr<>`F4ffRvHZ(^EXcS0_!Q&1eZD87Q-5nsn?i*Mz$ z#xLPC$1e+NieDSl5Wg$9KK@K_UHpCELvU^U6o7-~&j1GzMX*4K_#;aQJt!ccYqN>y zLMeFvxr*pOr73YoxwH6WnYYsF*(}|avqCHfawA-NGGo0v(~|t#lQY>ZNd>`8iE~04 z605lNiH&fIPiJUt;y_qU;&@n9;D*?gEi77%%?OJ z#4&1flh{>R8KLDF`H`jRbD~Sqs$+`Nnqv#oyJKgiuZYc0-w>CZb|5Y%?P^?3`pcM{ z^l#C*=~Gd;X;b{^;7BC&I~}3B;Q6kUA#?^j&(T`&{tG0~mImOG`~Y8h%h z)ojB>m0X*avPicDvtwvgg$aRW`Ke*WIoWWkbWvPhR)rutt3DwsYf(Z*)=)xP*4l*B zti1`zS(g%0vYrW2vcANnX8nu>Vy1&*5b0|c%tJ9k7yr}%{P)3nc;DD4f+kzE(CQW| zp%u+;lKl;I<;4pE^xEc!ST@Y#xzv`UXL4RjEy!QtGHP)$&mMu0VEbVdMJnu4)doD{GAOC|nT3$eJ(U zBv+;I;wrOZ`Q?R)ymAPL%9|3yD|!;bDn{c&E4IaPE6&7nD;~y%lz)f~Df{^^ey1UH z2j<}dtb^l?Py^84(g~htF?fz1In>{4h`M|2$?ZL!GL7B7sx@7K2IY%Ftcu%tF1f8y z-l@%TtoVi`E`LD=KfG>MOlVzsEVr&PCZujjbjX5L{NM%KB7+v3=5gvC@YuBE|9>P3ahD`7T^rGy8@o$9;U=8Fj!{EcaSCCNqh#G1dF(cNF zIEht47E`j^S0jH}pi#z9h;`xs&n3D)+AF+I;1|-H7QpGrXR~|C0|R>-0s?xwSpmHx z{;b}ueyrY83}(-LhToF+e!h!;F?|>R{s*`JtVO87Vd%%%1>>I_f^`5Mw0{)x2goAo zC*)AgS_4AG8e4M78h5Gu2_NN*aev*!F}7LsDAz80RfJpc%2;aP$`l{g%3KR<7{$UAdX!yYhsG@5+1b^yTj;wBcV=pW)yC;Od_mKn}DIa-glCzjg%H z0rWz2uZ8#j8xX48L`J2XHBj*ub5h{`%pQZ1bQEp?0hdd?&y4 z2`;|tvs@YLOI+w1<~!3iEOex8SmxlfVWXY*hGVwg8}8V6t$SX_wIB{uRVnp)IC+^o_pF%J@*cpQ1-4j^4NRW&|}Xn1NYsp4PAHs zFmc`a>mMA4IoQ(=Js_Yzu?E(`BxEp<12jMmQ@#iMH+a#c6GRkuN&!Wk)+h2#TZ#mq zc904<<*vXu<*nv@%3sU#RIrZ6DZZ}z=_DPu)4AHNXXa|ToN3Z@Ioqq@e0DFj=0 z$8*^R>I?ki;U|{FL|e%{)&#bLKGctMJw9hPF1kKQz&nDr&`YT z?m}6cd&_04?`@H`x_?^Q^8N!U^E)4;&F_4Yna)ng;WmQ)80h!I*xO<3HIRc8Lk^O8 z3Zb~a5DL2jJqS06$oH8f!TXsC$>X`Ui1TwJar+mRQZ_FfWGr8L$eO>T%bLAn%bL87 zlresjByIGjK+5oKm88MD4hj8t%fsT*MbL{; zdkFTy978DUG(rN%A;PbM{w;)j?*GXEgb6NRq=X#4Dv@ozX^2^T(-SxOW+G|$-C9!b zyOWg84^K(WpMH|+KSLx`e#MF_O=XEGPR$il_}wfj|9h#399~V9#k+vL|6m>HF9-d_ zQ2TnQeJRvF=Pc-71pRBE4>^nv*)Oglyg*g82_bG{Q(o5Bfs1Fo~>=MMRXbq^JUx7nQ{-q7qn3 zR0JDAj-X8i0zf|kw3C5+(1sT^xbh!hY3Q$41dpi%$iX@PGPa6XmIAO8uuOy; zmQIqzQhCx?vP=p~*GOWSCJ8LNP#nuG0S3ge{0d-994o97$BJ9Tu;L!E-%7{Crj#y; z{ZPIy`c3Jj=oh8Wq92uhiF{DRV(%5P_)M@oykl1}P{6AC3Ru}l5i45*?n+qMUlA*X z!)Hs7!-_ewSfNB3D^*Ehr3Oi?+%Ab#7EAtCSt>E5x(rw)@k?!u#80(N5;iGNo= zD*jF5g7{~RyJ85w%m|M%RaVVCHu%`t;_@4tups*_siU~JuQ95?uPVDyJs@j zY(L3gv7J)9WQ&zA*kBbvbvoDp_8pi*{$L0D-CZ@L;fxen>}IL(%f(gsvm;>$m2< zOZ!;Wr}pW}j~xn?9y*jO-glg@c-OH>;f~Wnh1*U`oUzt)u-PAd@ZKKKRz*{jfPNIo zDY}`=CvOLZR}`ws6Sn}!bRyO7xFxCGbk9}2<}pX*sz;T|WsiE5iIbPGwDx=c(%I{Yb@#wwL%Th({&cX7 zoD6mmm&A0~Zy%s6iaAw|#t7uX%@RT=I_7I`5sXb=GH=_GzCo z?UO#$+Q(@P+Q(?^+DB-MwGY$!wGYx)Xdj?Y=j@PaVk!N z@IFBXJxowU*96+=oWPoVG|oeIUzD%L4qlMq=Fmus4P1fEx{wUpiI4)j)gg22#zLy> zS8?m@N4RbFE4Yj8mvaa0hq8cxJ0}a+jg;|V8#@LPUlATuY zvYnUlid=?xb6o~_HLm@n;JbMQ;&%ZNJxl?=l>z(hGlbFUEM;^k$CR`y+gV~$y0_BWWR~t|0@r+b z9N&I0M&PnED$Tu@pGR53pG{fJukh^R*Lg1Dw|Xw*cT?N>!_+qZgjWlHyH|7M39rV; zTiy+kZ@lXxe*oBfK_vE?4rYSy<|D$pMDUy$@I5~V_S@&ed4Kr|Xzwgz!qx%@(e=4h z`LRrYt>tM!rUS`5yBPg``UPfK()ttq;Z))>8rULW00Ul2XY zsEyvtm>+$_w>tW|Z&maw;5%bpH2wp9I+%@M9uRsAHMj=8^E~*ClZD{@i)7Kx*#?A- zv+YDC3MsNH^L^C^bJ#{b8DTb^DN!!%NdnJiL8?zfd=6tlT#;XGT)F@JxH|vpxHe{0 zTo1D{ZY8TCZjv=O?m$3U+?9aRxaX`nad7f;9A*Ok)4?H#^fMm3KluME`QZJ*_Z@{C zVsD8g+ES*6)|J@^kIwOs9xkS<_RR{^@5<#`wr55pp~bkGUudZ zvx}39f(w%?LJE=>aPyNFhUO*@gk~qN4$Vy78JdxFHY`2)QD{c;r;v=~-@zHlIA}UJ z0uf#&!&=M(zcm|bFc)f23BI?IjMi3bpwSu&(r}fFcyFb*Lg!qjR_mM~lltN?yXskd z_ww90pV`?-%vl*3LAmMqp;>9A;TdT)ytK4dxR|0ZA~|g|A~9`SL_*rB2tnF?UP9W3 zu!OX!(8M&%oeqwIeFxyZuR;!U8peNU9@GGGh{+lv8n0DFE9y*%{dG>F-8EFX_9{R1 z#tOFK{4%a}Wl4lfNl}b+&$=5CmGzDnmGv_`Dhr2A=XV@J_p%^^fpu`A0z6+0_>DU7d<(#PHz=Z^CL=;m zqdj?1Jw>{uj-gst6R2NR6=G3Z!E-8{8|9fjC(bXmIEf=D%m|MuDB$x8=0-&p)JH`W zbn$rw%Ok@JHb#UM9E}JqxXlYKcpDy?|06ssABRonO9HF~n1{bgq4xmBzZkQcgj2mJm{UE>Vb^S6vuh3q23Fq;2&j4;$eQ<^&8)=#;9(|Y zlJG1XhdI~_W8VV)bD|UaFTe*c?iNCAJ<$KqYf7l?aTKXs;wdv{F+;VWD?l%6QLuS( zN4R}#8{a*mHO`0IoZ=VMl*3{-&0z&L)iMK{7y1V@5Bsv3H!xVuhv>}a8#MpM*L1&z zZ@#|u_#fPcp9$xn28SA8EyCC*Ap;uih2DF}VcNh8*AL30`9lV%a>!O_&Y-)*tN|az ztffrNls=A8Tu-P~oz_EuWY@RezT`8{p~oN^YF9aFwDV!awr)0*fN-h5rjHMA%9p6 z-V?Hrf^`ZgXT1SRUvDFvw9Z8$b}dytVl6{0WKDo>;6$*o|LO>H#_BjL+Uj&GpVfty z-V^gIye3-By(X5LQYY4!cuwpyrmVhdNEv@&}b~O~Y-Gmsm-Bu)QyQ@^tHmU+^8$*q;H9*UID_57g zHCmstHCf+dYo4C_wsKwfZH+o^+j_KIw~cGMZriQlvh9+(^Ok4oPMbe#I&S)2B5N1;|NY=U4@n^IVGR^?*qF#VY$M`(*jdv1u%|5L zFhkMpFk9K>aJaJbk$7dNBbmyMM@p0&j@BwT9PN^~KRP03cXYd~?a^~GHb)-ISReW* zXLaz0{B-{GV{KjzSsc`T*#=k#pxpr4b9aLO-3uAaL4+b83t+?E96I!*cwbaOo)`6r zZWk?toh~_u+Fx=Px4lG{u(`~Zw7MK2X>}!0!tzS4xW&~9G4sD$M9r=Zike=V6fwSj zoNRRM9@+5f8xeympGBv$74+AG{z@2o&lZ>i@Zptvpa%iQo^k}CD98eW&m!atS%Aki zB67GVitHXJ609F;kt`k>37bB$A{#$)5;1&C6*YLm6w!MUDx&i=o~->ehphFiTv+pY ztB}U?AtALF8%e4!Pmokz-XEI9!djn9$m*YL$f}=R$x5Gn$O>QB!ZKg@ zLK0uogv7skVL=t5k?iWP*Eu$r(O))kh*Ccl;SOK`82ty!L4Psm*B^ik1~RCuQ?LeM>|Ds8{BA=1?}9$$AZAYy z(tClB)+a6&Z zOzaZIq&^`mGz5&0u|klEEe~b#-gE8SR`Hoi)4vokz!FSS}B4> z7m%@73wcU>k?=3^9^s!7142I}RtSBU94CE~Tu=HcwUzWmYCq|-)G5+OscWS7Qjdsl zq~8%=Nqr~1l*U3Yq_OZ!upH9NXp;YTW%{7?mp+*ie-)4@uhuL}1asKNcTT3WJL2ku!(JJyl_n)q;py5zRp9TJ34R4w{*XY-q6Kj*L1P?Rb4DG9jp%e+K@fy z!dZ7FkUy9i$Y4`g6GrZGKMee3Kk0|bywev*z1Gi?e4$??{>-34?5Sa`*ki*c(MLuL zMIRb~)6(=_`)e(wCfyr7t*@OaJ9OU;3c}UTHgZhw?V+G36~@SCuz;JyqR6{j9!@iZ$0#p`&XC z*p@7gJ)qazPfQ3}+=yQ}io_Rz8l=1ahC)~U?8MG7sIn($0m_GIJhcNff%;xrhWc(= zfyPdHsm6BtJdJJi1sYrEEgGBYof;b%eHxRDWg6=lt2Ng#wrH+l9Mqa%T+kZ#eWbmL z@j-VbV@huY1M4qmV1wykC!#2(5ka3!{J|AN??R=}!w>~@Eg15L5Nq=)&_&+ ztUU(HSZ54}0`3|Pu-+OkW&JeiV_}nCCN`Z8c1I%My-8DCB6`ImqT4*!?;b9S&PS@F z<9u_WeGx8_JHlwnn?eG$)&+$dOmO0i#yP3Rqnuom5l*qm3QoDna!!rOFsIRUh_ldi zfYWQ*&slEP$5~_6%h_SJgmc2Yn{(5mi}TvDlk?qj5eHi>Wd9RP1@F&BgbzG;&l!c# z-?4DlUo7+<#3`c#0u$nnI7jh~(OwE`BAJ?_;UR`ALiwh{p$Qg)+ziWpZobu0Zi!Vd zx6-PITW8(PZLwa=U2NUS9kf}*9k=P=Zn16W9Utn25=16moAOAW$B^ynKtCHba(0HDRkBT#6Z0zaiM0N zF?^ejD1k#OKh3#0GS{UsqS&<|qTF>sM6Fw0M628Uh$U_{5zF1HBG$Rji`e5)5%CwL zJmN8BZp0^#xe>ns>^>bFfQauR!S5wP4Iqa(2^qja$U=7Jh@*{p+GrxrN@!({tK?v& zk5W$>OS>~E*rZLsvuTQpajcI?a;=TdaIcBVr&LGH@thY`0Qlfl6g5RHjKco_2O+`}SO?dk2IoNkD0rT|1>iLbM9@0u%NZ@S zAT68aEZ&#rrO=h_ui2i#F=|Q)v#LwvJ5~$g-74c!JmJjf1UyAuCx{ID0i1^Dx)dZ&S7d*7ITbC z3qx%R^CMkya$>1zS&6<$85sfb=>?qF^s=Dn^tzy^^o2qE^r4{0^mQCw`hHG$+Eq3$ z?PVY@?OQ-Z8fH!B1+0Y|Fb`*-28Td@2Y9~?RZxR@2n|+Cqn`P?XwiHtQcJa~_=0)f z@>Lan8fA0Y21TV@%iP&K$Mm9TN@9V49-EiS;^*dacsV7(;W_hz!*be#LURT<+}t(n zklcNN!MT?Mf^%L31ZRI`1!v=b@HifxNq7!U!W`@a{jD|N`Rc&$)Pnb3Aci{YHBoE5 zIkA3$lW0vHRi=Etuj=gT0Nwm~!Dg8i;dV)L`EIdu;=JK{G5@gQ?0}G>Vs>y*bzo3& zTL7oHpT#MjV6uz%_y-nW@(V0_?iWz_#V=qM_MguEWOydwIrx)>?FRi#^|0@~5&QD4|Lvf^ zz6Cs28}uFkZ5{BPf1y08S)`9D7TJ*IEOZs0)!{9d-R`HB+8U@QXbCZkYU0_2HAK4v z)hAE_7i3Ub3yQp$3+7Ro3tBw=>-#+X>Q}q_)$exmU2xHbQTNQ1Ui;adR)amJa}}P) z6HtS_Q2#BUzXm+`Fwofr`rVK}^oXOmy_%?`*PJ-3$4Ml6iKkR*H(g1vn57xj6=WE` zD9j>gA>S^bL*V4!k>TvuQRwX3QR&3!Xm(_D^f}Nw#_i}GyKHG47i@gmpW1k}ezK#s z{C1emd8ol*n1h{=LrsGA=n}}GdcgOA7p@ur-!n)=g~LiHZ`crJ4%-T)47-ZQ4|&P* z2Ypq-1_HH%`a=v^OC!wu`r<7aed$)TzFAg2eU+9zeNE=xeZ6L0ePbqGeLIb*edmol zd!86kmV7dC@BVEzol_OC7GdtUg8o|2UC|HoFbMCShoS!;@__tR;QhuVP|CO_N*FgI z#*EvOBgWh%xuf3l>`^~e|5a=)`be0r_eit>btKuqb0p7zGBQ_>GSZ;yv8r3gePorE z`^a`pw~@0Nt}7pDxGevmaNbg(Gkd$0*bQ{BRcJF!38; z4*;Cg!rQ2eLN{8FI2#>ASR36X8IwM8-jn`Hl*u3!_sIw~*GYkz%Vd_S%Vdd)^JJ~E z(`2WT^D4+vs?F0!Dj7G#p&#YwYLRozjhg{MHq7r=(enZc~}oU z7#ra(4#*?;+Y#dIA|d7;MdY_f57GCSlf3rWlRfshi@EIak#yX{l(yf)m9g6!En~Yk zRoZ6nEGe6P^CYeJwMkg*8x*(PHz{Vm@2HsB-aDeEyWfbJ?D{TYvg^nHXFKR`0R1t@ zfCga93t`N)n;?VP0yO~bILHG+_ksU~Jir6)FLpX5jT}#FAiL8>1e?=VB+E0-!schF z!e(du$tGvHWaG0j!bayZgbmNl7Bcv&j->xrH%a%eaiaEL`-ocSuMsuRy(DU!`9hk` zCeU9q4nLFDf&YeaH-Prs9ngmZ+KHge1ML9FBD}zlJDo$w@)8jlUK2rjw`7sdEe)i7 z%aEXX+nS(p+m)bxhelAl%OR-TjUp)DOD8DaFF^|T8<5k9D9w0(I|&nm5C^D?z(pFYH4(2xoyp7Qj9UJs4*Za)vCz>MG<9kOyerMM(W6 z8L7UOLCUXH2nw%t2y(AY2-0tC2@-ES2x4#j2;_HRi1Z$s@!rE9#P8w3e-97bJDBKq zyMaspU<_*C4`XkKu~+Yb4CVl=fg_Lsfi?%UX&0ae;|fC7H$eXm=s!S6C+h63K`5! zSOYNj*--cN;|N8cfqgKbO#^Kg(6$0?L(tZIf{@a4grr{~B=H3y(ccKZ5F-K+6Cu+O z0i*zBKpQXvoDhO9tO#DzKn4O71MtHLxBml7)R)F2U1^N|pf81y733ankbC$+<`E`> zkpN_}gfJ>5VN^-Ps19f*VAMhQjk*a_Xer?*8b&|RD)bGlL0{2E^cn3!pU_eC0bNAz z(S7s|y#~Iaw+N#*{{>9emBAu#-hmM8IY4md0izl&bMUthqddk*@~ zfTsjZm=2bJ`z9q+A#+iY!s6P1sU#M2gzUvz91C+qu~3xAZ&HfzPh!5%cTy?ot56l` zGkF2=qeu(!gUBMndyyrCcOw0Sx8&u7H{>z&n!FypB5y}8$OqAL@;UTW&K$+H_Lrr0H&<6K2PSj+y-}eAxUc z`GEN+(S7E>#rK$DiQT|1Gc5VPU>(Rm4B@@IjkpMQfb$m|)ySXh^hI7+TZuiea1*;_ z?k9T9B246xRlLY~>kN^z)&(M`ZAwK>+RPI`0!*)wV57`Zh9qU)YIgukfP+yGZQx zrO9n!aFjOEBUIMY1*&W5>8cZqeARKrY}GMFh3YECeAN*~qv{GqhuU&RkJ_;BGPNP! z3H1Trt?K>0M>P6;uWIx#o@*{)e9?y6p0v9dSf`8rfBdHgbVPW~0{tNHd?D~XnwB|}ylGbuoruHzaKzooiM|*%(slAj{r`^YD z(dlJ%=`3Ll=ybD2b-P#_bvs!H^cJ!%>b0|;=(jOH8MHEg8?-R7;dC$sY5?PZ0Q%Q> z;I|^dYw!r@5Kj*6y4Y(drTVH=S=F^4^0=aKbqFDr%Y?vZ~{}{ z|AD=s{~{1-5DuOb{)jsj58rVii`Ww*g|@`$qP20>!lN;6Qp@->rG6euvnPzJ-^Jw{ zE#eAHIzrM++d^{9T7!$tnuE*Dn}Tc28-iQR>q8b>)P)RN)CNyj)&%dcst!J7H81#{ zb!G5-;FncJF#ZRa0p1^Ka05Kwxdg~R!1L@&0^ge;hBhQ=qVXgP((*)S@&0%(g(Wfm z8jJWr`fU;6Ce7h7=8a)Vmi1woR&}8T*0rH?Y-&QQY^p;WZ0Ch8vaJm5w<`}FvnvbT zYF`?9+`c6AmP1MCTl?9eKLBhu9mrwOL-?chDvbX${PB7y9eTZiO{v0YA`Q+wOgAMC zra6lCBzwv(O7K-{jSJLmj1D!aAdNV)lB+M_=+5#5|)4V!n6^qA>;V_+OsG zv-l^EI|DU11ll_w1K0qJf)5@lltsNox~Q}0|B?090dZa1`}dj|7~I|683+t+0}Sr& z?(Xgm0TLiVf`kwwLfnYEHBwJ*(>6`hRBqkdv}rQ$18s8q{k?yDIzTh?thM((`|S0c zea>)%hASP#`^tIpoh82NEk(h4_4yHImASENO0tq13NkZXbJO!ZveL`FGSVBo)6%=W zQ`6UbC#TPPC#CQ8PE0%P9iR3l_`)k8?N?qx+6#}wG{GxA$MJ9<{qR}|JQ!%7s6(v* zwqe;dQzt>=^;)#P-hw$$YcJYe?Jm<=>7&w69;j1Q8g5cr6m6AXkYJycm*$$5ljE73 zUBXYyuJwt}?(mJv9`=dJp7x2(-t7~WeUcxU{W?D~>of1jtY5sMvYvZJWeIpMd4l8N zoje>5XoIuRJ_;XXH`v@jG}$CdBhBhG*lfz^Y2vcm8(pOu>%A3gY6CROszVJ6Dx)m3 z%i_4HCCM%cMVY+V!a{yjL6uKrL91^>!CIg2!YO`O;i7kF;j&jq;T_MAf+wCK`9Fi_ zypTM>D;}j{EEHi*z!Llvv=6mntq-PAhmN(eXs}(GdOHlMqkWA~bDOhxZL6nzd9$Bd zQDd-PPJM(~T5Zgl#Og%Hn96kbh>CpA(27d$kn$F<;EDmypo&ReP{mGUtbRE4n>oiaULjb31~x(%Zs}5?iA!W117V;f-ldAq{!1K@H_@0S(Qd-^IUS!r8BJ zhm&8!aR=XqTlPNnpV;&3esc7#edgp{BY4G%CwK#We-?Qkf#&W$)O=t)=p8`aISBt@ zNP}vJ%or6zTy`PdYeda*r`CK26nR>57VwgH{Fc7B~@_P(7>c0Qeb zT%XQy8-C~ZHT=$F*4~}Bth_oNb3EIBwC1%wv+-yZyyDHWf4nf{eh`}52T}J9q2?Nf z{(98jcxG2b-iQcUqgWX3QC>(_G<%O|BBro4jPhru>zICPOv+ zCZct{CzA9%$FmGP#!EnhzWYRvp4-F*UDxrg+OFeAv|Pq-Xu52Cq~WyT2QA0ZKXn{N zU+BK%D*E6Q+Wio;7dPT~97jJuy9<6q-7NIy@jVm^LX?c}PfFNkK(X66%!qCFA|YGd zB>cDXW%&z%O1v%Ms%~52)m^rvt2=KgQg_-?tLC(&OVx49sItSBElT!V4k_Agxu#$@ z|4^Pg_r0R+>>o-tGtZS@a=r&14D#PM2~QNd6EpB&=5P-P>hY>=s67`^d+x^d|Gi=q zx}-)y`;5qcpB0P0V?`~NGepgo zi$%{nskqkphpauoXe(B3v&sC50-0XbCgZCnWO#KA!{C||Q}3D=Q}BccqxN(;hu6;%dSAQn?D^D3OISBpT(B8a+ zIq3k};PBrbOyLQ5FsHBw;VkxmTp)6}jC(My6Pesb{r?7&RNfXLg?D91?p+O%eb$7eHaY?c>}MXfUjP$7y2vD#F;?e zs~!w;E`fGBw4>og1YE%$j2i^+hsYFf*L{ab^*+1@cmiS%86^Bflvtn06XUT4(PJZE zg9V8@(WfD}K$Q$|BKjN?@8=lwpQEF{K;wRa5B=iqD|VpWH{s7i$Kk<1yBykC(2l)I z6nK-!{SNkEya|11>%Is55262vNc=Go>r*0>)bLc8MBj@OeWw7lfGM!Y-?3Q#DURr8 zEQ)@?iQtz(qF<*068{y6|HCZC+Ir;PiTw}{)Oux|>{EkV4F$>>e0lvc` zypDa~DEx=B@E=}7Grb4C06)Tq_!9`|Yw*>-fHw5;eUF5io3s&wDPpjP_u&oSBOEa# zA%9sUF&G(CvZlAU<^jTI2ZqX?*rP*n!XAi_bp{zvB%2jvG+FN1xND;0OAQ z{s02}CZJFLg+K`V4On>Y0x2Q}O~hb?7;F&(4>1IzE#l$1WWsAHX8b}m$hR4~UC`}^ z-a2S)fX);&=J5I3@cFyx3A~t3=oEbnKj>q62Tsf<^by|m5HY+D?f3p41Y*z^h4;Y5 z_Z>>8iwPw4vG2u7L?GNV;_=Z(UU$PqLzpQrpjMYm|ScCMK zIYN(^6Z8>th8{8(=tJf%`hazS9t;|=`Gp)^rqZ0y)J)+?#jPSw-leyb(J3( zS5^OFTu~J;FN2G!0@h0eiqKcYwSR4Vzr7y(2R(K6QynAr_Zn-2zfg4-daN46e5e}B zc%YWfxUW`7@2FSOTN(}YhGrYRuGvF(vmvKesDC4s3 z1;$0)*BR&a9x=}7f5$qd|EJKhzCic{z*BwMFA=CQ#RNL2y-o4l0SigiGjm1O_a@q` z&kW3j9_l)-pLF~(GV%Zngq_fZ3c8VOc?H4&}yH4b=?M9J9+!>Jr+-)NJx%)(xxXYq@xz|MZaPNyQa{nv7 zgZr!GHm*QwD_GzPq+cR1g4Jq++S?IRjuZAD*fZ$^YcYDu4$psZuwY$wbQU@5=qq;8 zF>OoGT>uJJ(4pIk!mcb?%bb?K~j4%Xvg{(PdI{hs(U=c9-3f zTV0MyEx25gns<3ydd}rDnHiU#WjDFJklW-eke~V&0!w1SgP^b6P;YtSG~xyS!43N# zJh1=4%b0n}(@yj#k0*K1BS?D5BU*M3FGY42FGqGKuUK|FuTpLsuU>9}*Cw}x*CV%? zHzYUbxj}Bmb4GsJbBFvU&x7)lp63)MJYQGX$a}0f#`{ru6c3;p;R#gMIB_)Myd`Yfo9_$;Ze^Est9>~l+P(B~ud0iW+R z`uWc^`uKwX1KNP`CG!6;82Lw{?v2KE#t78jVUlzt0^he7VJW;b%u!+?#7k~2C{TG* zV3gWqK%)A1K!(PKfP9V7fHIAdfEvwp0nM7j0bQCy0fU-r12$?61k7pm1?<-D4LGjd z9dKQzE8u;d4*zd;+x`Cl0^PQM@d9n|sXtEZ(7zLpS|<_fe7qjRo|ye{*n1FX##)HA z6PtwtTPy#rMot`P`5w0La#5lUau#(O|Lt+ProyGM86|= z+Mq3Xhe2!b5yR%-%Z5$C|1oL|{>rE!_^DBSkYEMFm;A;>cyUu>YD@g#Bh#5hgIJ2o;#ViSZ-X!>Ge!DY8|}pO+&4bu1K3R4H;AE*1}_{&XU8)o(la5{_5RvVY(eLF@~*C zNhZxv8K#Yq`R4VJWfrxObr#i;?Uq%M1DuM;jhwQ`d8^XMeOAShXRV7O-?T1_{M@=A z@>i>Z$QPV~NP*=`zC=H~k7dRk1GVZ>!wf2uW6Vku6FEf*>1zrS^0|5O<#svo4fa{_ zoemlC!w%{3(~ha}i;gMrCmfUFZ-K`SN%23~C&m9|mmG&Dg#W{naEt}?|8;1dEkQq& zVU3H|`68^di^XWHM4g68Oc{N}w(O2V7pdlaFU7hXe~rql5dD&jNYjF}c&nV$6x+;{ zY=^YuVyBek8t0_sHs{3TwJ!0=lP+<|J6vLuj=97n-E@vldgL6F^rK@;(ldvcB!T@) zK90ftQ0V_F&^%R+eyGGczXJ7EDXzPh3)64~_8wFiF}ljv2)C9wNz|9{m*`XkNdO+Y80ruR-f8xIIPBM z2hr+EcbT#ZALYWbK&|YOFvGN>Xp6*x1e@5rG>6FCT$k|Na@WwDM%R$sUf1B<4KBgC zTb+Y)4?6|sUULk{{m?NW=X=M1>^~d=vIMVqfPQ!l{eKRc$Li4!U=EDcqUOVEcY`#w zHEL61qdBvt!H!*C?bZC z>2dTg8FTP2S+MsjImGoXxoYcE@`0^S(RW;a;U7Toigz*oub~Z2L-TMm`T=Ze!gKdP zPYc%jtzy*BrcO2OCXDhn8=)e2F}W?CvgysfDoIU2TCok`h7t8K<{`Do)`7KIHhwiF zw!SrWwmvo8Ha<0@*8G|+R^BxSIo>r_EWK(zu<)$&(4cyUaXWM@&6i=Z$%-2aG&gFB^Kayl>#v{H>8|<5OeT27$>- zZlMj%q0Ns%b5|FR$8OyF0J?jj-w*#`Ev~%}Nm1Ug7G({aG17)@g%gKd#9{_LWg^!4 zDFqJ%tNZsyYV-RO^t}2q40wHo1|EGi`tE(5dTxE|b=~?lYrFRC*K+B*r0LT8K*Oo$ z8!gAK-?be(U+BE#D#qX`KiCdX0svc#OuWyN#x4xQrI4JC9a_c2%d*VHL;GS!IXOeMhII2zt4)3_BmzJJf}+< z=gdg$oGq!IcO{kcKBRO$oD|O|k^F^xlEnr+Q#6I)$ zD^{L~vmLsV$axSsw?fc-fSM1)2v51_% z7NDDQ5zI}6$|&<;S(t_al{IUBx%{NF?VAHx5E zCi4?$J^^S>6y4ARUx9DHcT8wW!hcbN&tgLK6m9Y>0A5HE_N0`+4{3q-fr(GB@fCm9 z`>NP)p@N!U3*LtrYJLa!4t)3y;qX0@P^ss_YAM4miaPint?(bZvEO0<9>h9$0b}qX zCgCp3qPkyz@39D9U_UsHkS-#$*Wp7vf;aFT_yY+3e+Wnwo&&D;6TWkSG~hcJBL*&F z@I(wD*l!Y#cV?Q~>OfKRD_Ry}lD zq0cQ1J%Ry0lb(8@PqEd`M8I7-9yX0ixzzc`u|42ltm2U z(8seESSoA*Ll-evuwIZ8^EdKg{6G=NGZ}h0&?<#i4Ro52M+bCzp)&}b5qK-((3*zM z0(5p^H_k!qhB<|vxIuUEf9@daTj;gd5W`KxaN}PH*!Ye=7M}MfF2)u}$qNglw1l3E zny`Km;xfKvdSd@f2=a@g4;dNsKBJJ{V^+{TW<9;bYNfYXUGyfapWa{%)9b7;x+642 zw}s~EHKCn!Q|JI)7d}bX*w^Wb$bGsj_61##_?6DVbvlckKWF}hKob6kH2eo;_z$Xh z{-cTt>t_W$=9khO#wQZa^r5&P-Is`@w9$4)-O!Aut6CX!NxOh9=#E#{9McR3)2a=o+%>rFY|f@z<|=gA z%7k%djXmpxjkoYon-JlHwz2H}wrT7oZZ3Ndw}ic$Tg6`FHn4Yc+t}N=-Ry1LLH1U= zG4>X_X_0xmZ6b4a`$T5#PKi$2y(YTJ?xE;}-M8Z7c7IB2M(BXEo5)^gf3Zd92=N`x3F6zFGsG91^Tp?#OT{<4 zREy8LG>Xr-v`cJq>64gpStl{+G9fVzFJ`059?3D6MQ^OLdGH^+wP~NXrO=|6qv%#oFUfgcu+%IsT6&t7 zBs0a!l$qca$c*#KWH#_>WX5>SGNZgs+4a1&vg>$bvO~OCxk27exdGl0`F`Fd`Ci^V zg&y9Qie0?l6gxcx|A(h&|0g)L+{2W93#XS$;n2sa_o%-p?F+;+4+BkE3jtiw89#Ta zDPKR?jXq)WWBgc!5q^r|I)1j|Fuzc7kYAy=mS3mX&u>-gKMS`LD{GMo6`~9p{<@X#2Ua{hZy&sGv2J|l{ zqV~t>?O+_%Ryg%@90l%x1i1W&d<%ulI1Bvh?4I9j7UC`q$5C_}3` zC||oVs7$*ds8**gs8y#ns86>#XjHc2vA$S0nXYKQVq0X8 zT61`WRzp~vPF-kqoUAh#m$GRY44!8kkQnNfC#!0;tcFb3a28(c@-c{U4c>`eF{SaNJZ9GgaFNR7B=krMtP_|7~f{7S>a>!! z$TB^;nv)jYYLyb*ZzjpP za6CZ!L;>zU$wwRH!T&%UBRMQuo2y7Yx%$+e%MohIb`Y!0beF*`A471naeCvex3Y)n2CY#v!UYqFnF`KCPEjE$y2W%qZF4~00y$8Or4v%|k z6%i}oyySh1y<2F5^Uyw0jD9G>I4DHDg*b-rx84HmJt)$l=0bC3T>)35GS5}AB-cwJ zKif|&D>FnVEj`jGDJ{-CE+xe(Iwi*@GP#r+kzCIWOYY)^CXd*LByYA2PTpq|lzhP^ zF!|n^z@)Fh@76(y0;`wYM?c)ih93w0gQciB!6q#G)+3fa{H>!@lA6mjsJ_gEQB`Uq zTw3BRUQo=F%`Ws+Ny`t?O3Vv4h|P&Hi_A*mgk@&g1ZNi824&XT24;5H24t?Y@z0!H zxI6i4FfMAuk(GOSA2Pex>b5@`qz&Kc2hMEtr&6T25 zSEWi-)rM4BZN)06aum&}beB#q=PM?a1*pfCgz82VM;V6{CYlEpW^nuq3axz$s;ztq z+QG0TzhK6~yI`-mSHU?muYz|>J@dab*l#$wQBb3w7d->bWbf-!>bN#eYr8h?)^ce$qv_o6wuW>4e>EIyf6;QR zd9LkH^J0~&=>L;-sC%I|-;A*c2B6#0hG!pi;Qo(p)Eqq`l-dXXq0fNg`#H?$K6~M? zUN`Ze9&c&C9)AVz?oef3SB#olSBko8SFXBCSB1KBSBsic*IE_Ft|?`Q&Rt3lou?J; zJKs{UYyU!#+xCkxxAiX-+twGWTtJ&2gXXSw>;(erq1)4my$8@P>BruGlp{&QsC(8) zQ{;M03Li0{;Pq=*{_CCC{B<7Up6h(1+=hc?ork039fy+?9EP$L?1#$a?S`7+i`A^WX*#NBF6Hd}3()(b8y%LOkX z^MxQ`vxO*OlZ6yvJRs@a z-;ngK-@wyV_Mx5U!A8(OiLp3?v51^=w_zOY#B(_Ipbhq|crd8{525}(iu(6Bixf{t zk^HhM$u8@W^s+fgE^|p@*`36e{Yi8=irCBPB(z*g%;i>`1l9v2a~y9z_8RyQi=?l> zx2r5p!wL#v<~~fNm@_S3DT^WAI>35E-AsGbqmB{*QCG|KbAthfAVZ zbjSk@ob-%<6>tVVnD`<<8o=at6$Ab127siloCLS=9>j6^<5jjHyos%t7xBN__QHcf zzAyK|ge+qp4s^L^;Q^h;9+XSC2jnV|apG7EE8+yKg$0=j7Us5C z5O`pL7=pz~3P2q9G4SrAlke{W_~853!L3y`Bj+*X+>4z5?ZJd2UvKEzL)RR-I?z>y zrsNyA_vCG8zXR@p_rL@20Rx^0VtIsE9_wI{Y5{-32@7U_coPYr1atxn^sg|$zJlOa z=o>I`0Bvvt$HH;=U}&b5eK3(1F$S*SJ{ag)AXMGE$p0` z@E=eahtgk^u?m;=u{)GM))gj(CVg-u^;3kw8cZT z#Rq7M2k=4e!w0#CJt^{CO zf6+z^rqH)Xo?eJP6uHGiD+5{u$g3Rr)FPK=XmvoV2U)I#&U$EUgvK;Je*uTgZulLC z;dh)vZ`{SMl#l2tvblnmy^OZFgcx3eN6nxO2+w+9<2f%f&{tzTB?GjzH6nLIegV*o zhF%J^a-dZVttxzKJ#<>2(+QnE=nO$;3>s6=n5T>I#xB5%IR`)JEF73KXr)ug>Lg+~ z!FWL@pmh8n1T5%_5DT|=F|j9w@rRfKeaq5Bf109Q9iZz?Z!p8?HY*<9N(NmQ%BQQs zWptTcLl@bNbU~zz&Wm)@S&_ALMsz)$5}lxvqH}aYY$qKTJ4i>x&(IO^TXb0BLpmV+ z9qp6(la^!!v{z0*d;UQn3jaZ#n9o-ZB_#%ZBP&KvL>1^iY+ZU&%$jaVxzRPb0J5O7Fol+{IlS&nILb;BPD>u_o(URIe+M{-g zcB|c_MfDG8hsHOwP4g*ZtEPalpz%Kha_}E8)qagB?y)xNJ`D!lQxK)QifVLC&5SN+ zInrqzKAq4FqoaE9bXYHq4(jL9e*F^Kr(Z>T4eDu+K`ZSx=%!r;YiXy!2<ttwLV9Rj@szZep^fCZd)gz9bCTfR&I#!JU2#oj+-Jp%gqv=<`%Fw zam(0~+#2?TT@!oUu9LmNZh$>zH_9G?7qi}OyU4KJL6IT5bE0eQ-W2V(`&6vY?q~5{ zyXWFPb^`Gp?%(`q47(fp@8T5m8m80>URYnczpgZhn?%hhn!o**E;uz4>%8t_rZ(lby<+;c3G0_ zayc#8>2gP^-Q}@VtMgCNtS%4@ik7j525*nA5N`7s5t|$#>T04$&*Dpz3|)v zz9D1A+gf;6o>#$E7=FVF_>LGu<)vlnp6 zKN^NLHe%U{n6~(1??Iq0jR#l=jriG%4*7aW_VfK@dikNU-QF>Bo!&|E?cN#kZQl9v zE#9RH&E7Q%jovK^4c@(qb>8b0YrUtHs=XJLD!q>>S9o7nDf9k7rPS*?@P~4Vm*5qj zx}hHeQTs>11Bykx7mYP`IIeFYrkM~)8V}Q?kuX!{V2G_qZ;-2GSD?3Sn}47}i(j~6 zlV6;2gKvs*oo|*(t#6@9wQr?rrEjBZg>R=?neUKVsqdtEvF~>ELf^w01-@4_@_Zj? z=K6l4k?Z?ZJ=aI@ijUF%ZzA_AaaeBQG`|#&niHqlS+vPSBOKsz^Zqjq-S zf=*`O0iBG1i@Iq6_rX^>X#u}$rv(VKUh)uaeivY`_~3WImj>~{zv;&ZztBqv7U-_2a$Z!hdUiylc1A?JURrpX zK}vX@VN!URQDS(5aeR1}aa{O%lbG;Xlj!ihCQ;#MOd`YHGKmQL!ZrLL?{6UYGnp8RU?Br-kPiO?aSR}yt~6(cnvHOIij#Ozl807vQE!0H zO@pI;F%FLW%P2Tfu*y3agIAINat=HgusIuTkOlt(adac5)+}*q%vPhCY$HZRmX%O( zrh{l+hMRO&nzuq~ioaT7a;SD}Vw8SVLV|I4LWWsre1Umze3eB|e4BY-{GfS2!jzeR z!Y(tv_>-o-@vnnVO?=~i27ej*#tMv9Sh+Xu5;TwH;dlfyU^Ey02V!Z*Yhxaps`Hho zyg;9d^DUYA`F0{%xvmnaIi7Nf*?uaqnZcS7=@ELNX>mqDX=$eZsd;98sg-8FsV!zc zsRO3`)JYTX)J0>j)MX>D)H_C=DNl?%lYa)!j69PBhAZ60()&EL4i(~f0Fz)Cbmik( zBVKEYnN(IHM@6ODlvirT$SScBPAzc~ODy6^#}@i1Mid09h2({62js@;`{tw=@pE#G zy>iNpJad{szacMY!oVYEr=EMx32;Z(E&GYCYt~PCu9?sDTr==(g5U<)`*ab;0+!zM zrKtV!IsjTgZ5f`uSb_S#Qj)T()G4Fdh*IFiBvd(w#8kRTMpSsqg_Qd%`Im*N`;Ddku1 zE61-3R^ru0sk+rBs=3x?sXNz}syWv-s5;g5syNncRCcJ@uH;a2OwqpPmV#aNV+C&I zk4m-`e=6ISzgXo$G5ok{^aGfH<{;>(MH|#({|8Ee%ofz0ZK!=aWGJ!&{zIn;g>+go z13DbpJ{|62UhRA-_qIS;m$nFbr?vzIht^C5`_^K4yViO+ZflRMZR-XZ+t#hpHZ4b` z*0kJ|TGRZoq;=B|(pHUs$Z#57$gXg@3jF}R&0wqnV-d78q3(rtZac1fcVYiUFP?wU zFG2wWO60c|&!AXq&hT7o%W@xZ7Iqo%6m=Z%6SwORleF!RleFnimt50dC}G`SD`C~& zCC=#|6|?NyB5KihSj4>dx`mR!2D3g4 zz1dKP?ra=GXEu|eHCxKioNXd?JnTkwW)rDQ?UT9*{Zs4_k2ke=DxP?_iMDPD#>OR3WuRT~b{% zBjrUKQd)E&g+)HeFNTurVmwJL=8(iibK5OqZF@wlt>2K) z)}L0{2F;0~|J{#OvjJ^@oYQ774(4(Fe;fRVowx@B^||R@)ZhD1e;+{odq{-Xcvgz= zAq`?3HYDa@4i-O-zzdU2Fh~Ho00aCGk~}!|_k&LloQE<04hG>9@Z~CVXzMZL+>7>Z z!apmYg%7oWHrRo209`&b9S`C;Acye`(4)8qaIsbnZDc=-ET~w^zWsc<)E6Y=Z7EO7PCj@S%`%(Js{gOE?yx8*l_Z z7&NV+X?O}A&{^ms4bh9xzXb46bd`b4Zelp`$>V~c1{S48I1yXJA92B=zz_Zi7A7m3 z(cZwp_69on4Rq=oh~te5_)FD zGWNh+gZ@qE-U4^P>)=iB7C`gTJrOJn5zG5p*o$I{3uX4$f5OM2IR+PR(H@`S0Q_t{ zmL_P#p)sgNQ}7o`y;_AGLTH9E4hU5lyJ#+u;jz!;ct1eLM_rU<^LQB>aIn)aonu zg6u`Tegt7%fJg8qLR`5Iwf{p}K=bTEy?zKD!C5rhZ8YCU=&tYK zM?3?9{{#F7#DIMVB#syq5rY=~l^G&-#5?$K48ow90KE+86+o{XS~bvVgiaf}qZ>N? z&>4moF$SGUeEw!+z5~N$KRkkyh~Nf1g7@JOe1o5!!YBBD_Fxd6{Q#>=KqBY|ImDm_ zeIqypHqiBeW*{_U;C-Y(F9$ls(7}Bm@Pyug5Ar(tB*+%7m{hiQp%f%Y)pq}{AfXqV6rw3GcO?Lg~qhXb^N zfC2vjQ_PRzI8WKl{9!OxpY{(m<~x) z&;f}$+Aq;e`y@MPNwSajNDb3&sc~AAo}-=8i?m(lFm02)Knt>O(Y*YpG^c<&$`tT) z9X#y#B?1Xz{D?#OQ%tw-tHb71#`Gg4OxMNn3<_BzI;F^^V@fYPp&bUH zw9O!v77SBp-Y|9 zv#?`qvE(u5ECZO+mJ!S;%XsF5Wg2swlf&G=DP)du%9*2_TIPCAGjkoMi#fy@WDQzv zWDQttX7yX`X7yQ}5bCkIA=GX4p-`vQcfuW3f3n-H1nhQrF)Mt9Q_KfA)!lVP{_d!I zajH4!h-*7G@E>g8KiC;CX6>w*Q(PCJad)Aba?d)#5es-tb2)n~>Mx@Pdr%0>aQIQtAtD;SI4@4X7z7eapdn#7X6^PaS z!)KVz??eA4PA#XwA#c=MnBKP|mU(A<=Yp#ajk{VfM_ufNhn+n{);jx%_B(}%_BzFg zbvq@Abvb2-bvWgTwL6uHwK-LbwKz44H#>KWH^Pf)aGsK=bKWjd>wHME+WC@XmGgb6 z3g@q+%AI}(_-3$wc#QUc3%XZ=aG50#`TIlP2Wwm}tTA~Kw9!k0)_a*S*LvCr_wrms zyF9$bJKO^$+T0@~TioL$o7_^Q8r`y_>fH*Z>f9@&YTWCktKB=KE8W-1l)I11l({d+ zmbmYiEp|UISLptZT!H(4)R0Ik61SOq2BSu z-UB}s8t^w@^!RavI(!^NTlgLljo!Xe^JK2 zmQ`RIPO&rieH`twE{H_~!3xw9qD$?;=B(x*u1I}=i$t}bmvn`1fLtl|=M?+IC>Hu8 zDHix-D&_eUDChW8C};aLs$}|ft7Q1BS55PoQBC#Pt(J^?q>_B@sweV4RZHamteVLG zOC^ynSmnMid?08qW0|oB%txc<#P1_$m$jfLT!z{sw5U14lvx+HhFulvBwiNmAzc*Y zBbSf;IXM9l%31z#su}*NYH9vC>Z$&v>dF3f8cF^gnh60zn(+afG-Lf2wPO62wW9rR zYeo5gq7~)$lSY)^Gxcac!76Vf-z%}GyW`OhU=~ZS4Txn3ar8!^_KudIrWkdqi!owU zMOz7#M%jxNMz~4kgn7wjhWaa}hJ>ml2S=+X1}AC82WM)<1s7_^1Xt@s2e;}(2CvnL z2%gjp3*Mm{8hl(gB8AqisjvD70HQpk;sVV$)-g4Dkek*sm4Y`Xhw&}Ye$5q>4t~r z>4k<@=!b+i>j#JT>j#F9>j#8y)AJ8Ms^=GWL(eztk*;6Z4?2FKe`@=M3Rby;T+gRq zxt$6x5KQ3bp=9_Uh@%BD)g=p2Wr_lors_~(iWxH}#YQ+I$w@3F(L*{Rfv*q~7oZXm z8>Sf=6QdIpldKmIouls`U1s1H-Duz&)2r_jvq7I9vsKSK=7_FW^mSd&=#O+fqrL}! zXnRHqR=J7xKb?+a63l@yFp!2mKr9V-t;FvonKG20sYy9m#*BLEAm)u$EimH7(b~ zhnlVl-)XtV|Doj?Cs^egaz2rTu>hvQde8%!GO*6hhCY^|d3oZLm8VK+`395>FD5>Z z%Z|=<5f9Jtln&1JRq)RWR`JPQFqQb zq~?@yRn;luLsiGL@6;SppQ<^e2-H`&1g#^vI3~da7zCYp@L%v+QULuTT=OkvQ*wzS zC6ww=EWDV=QX8SL5+{+MVh;(wBEF1wVW0x9FkIQKAYRp_AVbx;ph(rJpjO4Ppi|kg zU_{BGU|!L_;GlwC{uOz<{14>0x!)?-<~&uj$rdQBa1L7gp|!aX{Q&wvD|9R1OXQcL z-l;&%Rf(FX8v7rr)hVpTh=OZ4%z$cpVV`POQLid5N%u;B8JEg1Ij724d54NLdHae2 zdAo`lIc`OVtZl`58JmjD(l!+bq}G&Qma;B?U(%}dTWPD3-(@((@E^b_=&jrnHVxK+ zF6cIvp$(v&U5)Rbs72k`fZDfFlmeUJKQ!x-PqP_$HQO*fnw*4Pnmj}un|#IXn?fYH zjWLoojVY3A8uKNs8>=L&8r#J=jl*J=4RfLv4f{mR8!m~M*FO+3tNljQwB~m))9M!z zD;z6FKR|C~FVFyJL(a9(E`oM?BfbNq88uHEp1;t^AYPX=xpk|POSd68bz3s*yX~0V zZdW0jZf{|$?m#xDJ5t1=D@nw>D~D~?RlzpxY7sW>8Wb|>oE9?d+{-fPIM34WxX;vY z`V08V-jt4Tj^Gdczq^-Qg03&Ts=mYp9Q*F*Hf)xUoWY z@C>P}eVbGU{!1!-zc5sK|5{}cdQ)H!Id?SSx;wN>kas4uc1$~lOFemW^E{QIF-_uK&=t}+VUo-rJcXzw!QoQ0g@ zk#7iey`X6iO>^k!Abh10&_9Wy>=g9RfV1E{xFC$hs5DM~Xp_sj@I}nvi`ZdN;E6?I zI2I@wpbDUqZ=z3bBB2}jkQ=Y9GK7Ban8oq903QnNoQD4$4PF1E7>Cg0KvNH4E1$z2 zn2Wdvh+!UF)GfFaJByfG}ilY3m(8tcz{oR0EK@8ZN$Jv4C07E0snW!f3SeA6RLDR zbi?q@1ULs7&?|sW8FXr((TLi-l^&ty{s=YqL--&c;$D#VQTso@o|ONf_J0?(|J$g# z-$cdy2CC@S;h@|_W&Lsw#%-vrfc+PU0d+5lA_f`wKkD#%jG@cLJ9y9yf^G~nQ=yfE zoQk1QflsVO7c@bq4cwc@gb{-{^p&8kkAH22JYA8WA2cK2eI(*jGN6$UjZ%05RnV!2ztRkE1^0rW zPp-lTxs0~Bgxdc+e5rHjk27!qPT>GLiFchqCdc3`9YKE_f&NPn1Ns5}1BTLH@E^V; zY5Yq~cTHr-=LZ=U2#4uWa1AK^SXl#Sm zu@9r-B>wvvT(XC>2cu~ZdU`iT+-}6N!b|<9h~XRXF^Qlrm7r~acdbD?x*;z==!GMv zczjwK^2vct5p>F-Qv;nwWZMRVjx6daHR>`2)QXX*r^xlUWrqANR>wqT^q zW7N$FN zEBUlVwuCmzRneSWJ?_P1kGr~ z!&^zEDa~w}&@7;F%`)1kSwkB%n`l(4gGRIlXr0z54QtKNp!QB$t9^v}wJ%ej&VB09 z`I5SIerI&)2ww3erqvHjFx6UP>c{Ekm<23;{JvLLh!%B}XhGkA<_y=+w4n<;7Cwy| z1=9wjC>k|Nr1eH=w9Y7phK!16(5Qme8rM<3aVzy1_fn7XI!3q26r7SIAfw&n z0;ARB9Y%}E7tCgpUs+8iFIbHxf>l06?(gE1d({#7J79f_Qw=VO&^Ao5^QQ10EVOCd z(ws47Y0p^C;W39f{>-(UFy;U!hS|qSV)k+}nBAN_W*4V~*}j=IF#S8D4RC5X1a{%{zu<(W z24b1A!MzW*>a>n)%oyaZVfMj`>EU_{b#ViQJGc?TZMJd3t+pw`&9<4sO|}KX4cs!} zdTt%N7WXODaQoR++%a~g-DZ(;yS*Z1+|!~Z+`FR1+$Um1+@Hh>xqpcj+6q>AA6mCO zu?NK)OAfHj3;G_YH4w{~6P|nEtVI1T`qb@g$?9;n7jAWOXE!_fiZnO|i`F|viq<;D zi&i_PidH%1h*dZiiWi(E4#3taOh^IglOa^32sa@;zlv)qQHGu@_S(%p8-q`DoK zO>w&^o9z0LY?A8_;7^$(SAk5Di$LaWXk7|KKLnxf2GjU?17aEW!5Wi~nu{+&70adZYUEOQZSu*U zYvmI?Clum6w=2Z)jwr_Rt}DjyK2(hM_+BB};}3-x4}ts&uOsjCIJNH&#W(&++k;%JlJ*N#lperFcilCwnI-Bzk8k zCh!ZC;`o(HvHWJ`Xnvn^6n~>~1b?eaIRB7J82^e&DE8%qdVi}N>h*_GsFz@s+sOMg zmRoxx&<|iE7{aorCm3r?&=4X_)uD=19;!pdp=QkdkTt?tL5^bSf$oyY0eqPR{{ZPJf|AsNg0j>Df{Hc#gX=W>g1a<)gGV&@!J9R_gZHa@ z1z%M64EhiFTFoo)ckn{hD?p%n4SGjoF&4lS7zRBtSl{9AwTPz-zZb?zQf{0YWyTp$ zYMdo2DVEEQi*Xi@iuRBWi}H~Vjto)?h=@@23y)X#2~XGX4lmU3im1`>jOftdMXXcz zh?rA%kJzW?7I8t%HT=G+YuH!dH&xfr7eJtT85#!@Fc!edKAg3n1JuW%_Qq>rBCdBP ziBfv9GNmNzQev_hBR1JaC^E@WG&Ip&GAO}Y)-OIlkslYP;uROG<`J8w?jBp9?iN?A z<{H==7b$sy(|WryhBlpUg;t2jgnR4zbcUlMB0Wb^~* z1FfJ6e=ACXej3)==|Ys0Ay09cS`?jW%!tUeVufVbvjfvz#eLJfq`cGo%1$YH%8sd(N{*>*iVmqm3ihcp3U(=b#s*m>0k_w1z=fI>rGg0XbRF&%yQ1T&(x=Bq<_ajY9MFDJb89;h%3S#LsgU@%;a| zdJpibs`UH+J-4Ql9@2a7z4zXG@1%z`2!RkFbV4W6K?I}D-(77L*WGLt)7@hg z-92U*)xBz7RQFbk$nHZH5#8s^Bf1_o3-5Z>EUfbb^U#j3EJE6UoEOqQXL(--eW4TW z4>rR&4JNwSe*$kuA8Y*qbmv0+hhg?V4D%ZtBW{vC;x8E^;i}Y;I8D-Uiavfg+c(LdE*V_#}LM}N?Hj{K}U*H1fuZPa%SSO)hn+zUo&gT>tYU@r&b_bH zOY|xmiCpC>;j6d@#dN3yPsb{O(oHy-LCRlHK_7fwM=newLx)R zxkqtXc}kpD+%Jw(FN)*xe~8oM=ZfR9?^TY=eo~!)Z_hAu0$53%$Kf8J-feK#Orp6~ z;6F^G`_`g;*R%g%qlx%#vJ>x3ZsIlLCmu6l;yx26t}|)kGLtV(GZo@E(LR4{|GfJHR@yoO+MK-A%ol;4WW{ z_Fjkouo3@ZGun3>+H(i`f0v2a&)SLYtgG0}`ij+Ts94U%iN$Q1n9UZ5$!rxKN1Nzo z7m8+fxu|yWWy25d>^M)yzfRKsfa&rc_yqh%_AR9^f@v^8y$9iLhr5kFiryugQBzPnC<3AkY8k8gW4@c4e#}Q^H zR17E+U;~`laOe$!@ibxpahxWO)AfK(etIc?qtKHSa^eCPLH&kF@sHpicr;u!K!|H; z>!lmG4v3U>z+HO_zXd~m(+;x_=QcbbINeX;Kb%4T-+?eYCoFgX#mQZIV96qMJ`=77 zi+}(S#h#Q@KpdBu1TWLsFVm?nQTWBE`0( z@g_WrAwZ%Zhve~7yiXy&c^o_~>vwT{Cf`GJnNI3lN0SwwWh_$1XgC9|&<1c>J-{BA zhv0kU7hLD@F+ed0S{7sAX*FJpDT{PF7OC!d6hZ6{iN~KPz@H$F*GIrQe3898lGxYp z23KS?O|*nI9w4;;dN72TNd1E0bbFZlfWW6Wa2a?=;SD^?(wf4IXN zjIWabXEuB#)Tx$ITBuJK-C+PFKY|yrnEEV(X9eAJ4Yl0}*H*OpEUX6@GRGM{=g{o; zla1fv54?eH{{;L%WOM(;&353{F~sl@c!#|pe_=n$@9~3Plql+z#<%mSQw2N?aJ0eE z4F}hO5XV*e#(ngSd+|Z8;DcPk6S_z)?#7q8fH!uI_Be}6afV1w(<4sNlTP9Xog@YW zP5?vwfB1#}?>zoVbkx@dUJt$%LfsO`VHRA)@KjS;6C53Ia2*J7T)+o8j}LN=zHtX_ za)$nSid>vzPs;7I$1z?VB?AU$=vI2;VS3dediX(l{6W|a_zB*B0|UQdXgvoWXFtlr za9a_*8&h%+K1-aO z(q!PT6v#1ch1{mAlUwyIa#+6rZ>3KT=!ay#ev$0cFOxm`RkGV?gUlLjmtDsDWry)` z*=~G6wsLLI7Lylc#`GQ8WcDA~X#Rt2;QlNI7(AFam`a{?V+wR-8s_=kwj2sf^>WtO zK~9+a;I%~Hu_WQKWXpb=V%cj`g}>4ux7f7GtWB5fwC$H2wj;9Lc8P4Yosunf>tx1m zt8B8{D;w;O%6j`dWv%@~vc};>nRa+bR?Yt${3I*q&)vYgaK7rxv>gDyKZhcopZ4VN z#*19c| zHSVirwfl^$a=%4Za>8TE;|^KwaaATgo|B~>Z_9+|XUY<_yrh z7J>&8Lk{9twDvBjk@ESjk@9%7XcHGRnmy6)t3qXkL1#vMt;CT&TTrmac! zrp-xhW=%=GW(`TB=JmJ}ZVP1Liqw~s={s8_puPpIvi?YO@ zEy@z+EPe~;m0Xs3dGx`2a=_!J9JB^;tss_(OzyjwX(hv1t}>A2r}SioX*x4vb#3X% z#?5J&CXH$NX7y>M=C!Fc7B#8O^QzLi=2fN*SyrSiwJb|pYgL-Q!>XA3)fAz zQ=Mj-S(RgvR#jw`TvchESlMKgP}OA&y^yvXt|EF;T)u!=03v$_K3?eOfWp&e?`TVMhV@_IoX{0*G%L?To*nMxU6OmVY^ z6gCGadClSKtR{W~qbbEWr7_Div9Zu1zM*1XY(s-(Oyh!i(T&6Nq8gW5L^f_Rk7(R$ z7SV9ZEWF{WX;{OHrlIxknugSVZXQzey+ugP+`N0>yA7_{dfEZLDX<96ZqVAoTECTZ zzU`cI?a)aywd&s}E@TkFkIA_a^>LbEfCvI@E*|1#6no z{_qZi4tSe7@Lv|7H+s;0z4#CP=91b!Uy}PhC80l1;`$?0(f#r2$o@2Kcz>=gw7*0j z++V8?>TlNv_7Ca;`j=|```2sz`gUu4`%Y+ldhbiN6ctLr~n&jsJr3vdr)pd|8G%? z=~iMxqD;iB4_Aj;NED#hfom5#oZ#BN;#)^HG>W#FBl(eH)u1qQ(1 zN&bg`yB1L2HKWYSV3?0DfV%OQ3I_=w8*<>Xe->+ za2xjFr1G`s9rzD$dhF)>|2`4(1L*%l!a)`sF#^PKWIh9&IBxS}0YDr_6Ilpy;5)`7 zcZ`mHj0zs3(4)8TnN#2azW*ZlD|lbl(ay`K=!eG;4oXAIDA;5TKDi7jwu;`e4T62ihXo&yp2xWFWM7ajfr6}^*$-bpUb zlZ*3@@!6Nbo3eT}eQ_P*k#=s|Mh>WRKJ`t8H}W<-pxfyKgl^aaqdN!Zoq!?`Ie04I z61WVm=vWY1;Eg!oi;$BC0uc$Zcp_Qs7hxhcY)E^AL_Y$_wPP%t_~L_)f#+ofp^fo& zH{6ZX*>FFatmE`U>KP2D2Yhz-;6WL9?gLi=sYLAkZ$HW-JiiVe1CQ%jpjskUoDdAY zcob3i6U6aK4JUCKbgz=|SLsx*lGInvgDbL(CRzx02f402!F)h{)8LIFOn*3?;4{C5 zI5+Uz;4tujC&5$TY49v~9=r%%2CstGOt>b;PULM*L==7G{Y*|M*K!Y%L4@rp#N7@+ zvj2S?wP(2I!Jzxqz!Es4e*@S95Q|fg$+_?nv{)@_xfM;=jsG!-CoqPSumta8IqGp0 zI(aP$ZX=$=Ry>JasB6RhFmA(-FsR&%g!CvH`V~U_04@0gAl$VfV#!dylLi%PGpPSlX#bP6$L(nUd|Of#fh6zEt?~;3|Ws7LI1Tl@2(1sO2C$qwp+& zXE{96@NA^~?RXJ;=@m!uA`H7i?x&|d!%msEc=uDX^gWovlbE}?2L$dvfoH&D;6c2x zE9BxLdvh+(FV1nD)EUOeNv=`49Z%>O_liA=H+6(QdMiH2Vd6MM90&11_R}}^F;4d4 z74F81ndK9PjO?Jq?bL1?J$Vc5u^IPkGox>Y7(RmYO&!|Xm?@0uHYFQSX{Dt=Ln4rr0Yy-pRCohAH=?PAA9Nk8-QVLk{SIWv@OK zeyG=MAOQLMH%fw$PkPUWavfi!+f2C2@*tg5HeYdQ#Unnc>7s-^va#`-MR+c$z zlZpBJWeN9b8J~Yq7R`TL#vK1FqmCcRh|{++>@+9Cj&t%yZ*t&I{sZwp0Jn~3&k2Wl z;@Rb_k?l^lvf0@~Hn;@II@cIkh5RmgI;T3P1SEKA)wWx~Br#@$C` zvHMaP^H?pT9-C#@V~-4Z9+yGSyJf)hG3oRCqx5?IOX>0a8vLy4!H0Px?2t9<-q$~RmleG_DNWZ!>WK7)=x?J5Bx?bHHx=Yg>dPLI{dS25QdQDp&`iizL z^q<>326T~)_1(Wl2|4qw6Y|^M#duDWH{1a8H@~9 z^+m?3dm>WRT@g8&&WIvSM?{6DEuv1_8qun4j_lSpMGos4BA4pwqt@zbqqgg7q7Lb+ zqwdgGMm=a$5&1i#^2qnV7e?g~KY}@<>u_F3Vwsh~axayoCy(oRy^?sA5!-mIBBQYu zvM|m``r>_*?zj+DXKb{lEjCHp5}ToGip|qC#FXgkW2*GEv5iJGv7JU$v4h5yu}h3A z;--zu;Nh{6rlQx^>CG9iMNjhboophghR^s#E9rLV&&%qDoS?tTX3is(u zbT><#?b+l2tl;$o?~fAO0FT}2dg;ipk(LZsY0U6b>e55iRcX=Ma`xwxrluPgr{o|#o?k)G8!FD+}qyp*gV%jB%dc}dwD<|StDo|lk)VqSdK z6^pp6XTaYq;xa#*7nkuJ;CId8JC@IQD4-p{szTPdJPs365An3~yovW}3(cge$U(}B zJfx&3Kq)K?Q|A@N=&}ovj57){O;hvp&6D%XEfVwV=OyHK%!@A=oEKNHbY5)1dW)EX zTP&grZa0rAxNIJo|Fl_T{##}dd7qj`obnJ=W_h$Wtt?TWT$XN}P?~ERS6XTwQ(9{tUDjqE zRW@KASvFx7QMS%3ylmDqyzID1SlK0$(9+);hm^i$98&zLX>ifEX2FGX=6Aq#5T0%D z81~^TEhh({8#GsN-n|O#&Ctz#KnQIGCy;GAm{`oEdq0L6<*Y;l+P7JrFt2~(n4V$>1M z$(pd{ENw_L_kd`w(gn7(=mJ`Lb^a~f1EOV(*0*`5#;5tH+Pmo zYdq_}(RtMUtT)Ip!+xaoEdM9rH0%TFsUrvQR>ND;g8$LRdcTA7z6*2`v%pFsyPPGw z%Ui;_f+VCXQVHxzPz7{lsQkL})jnMnYVWQ_JdSRaXV;j@qib4m>)NikE;ypNEVxT? z?tEOFJN_chZU0uBTfb2`wf>|&4CgjDS5x05@D4Vj{o$@}r48EAot^Bv??U_bpu76f zJ%gqaFlZ-!gKpxp&{w<{hKlFH81Yz`B5n(F#C2gQ{zjcRE$o!}3x~yF;R>-I+#?Z7iFMCMV$<`r*mVD-?1OU?oGY5qThzH1?l!n<;4bc_4SMk(1~~UV zg!UZa-1j1lxGuI3=kfXCG|oLJ#{I=%JY4L?`sEXG^Je7s*w$Crxn z;*FwTyjOIK&WLvGLD7u7B--J3MK|=R=!d?QUE~?NLYBfiM83P=Zi2g_?|&Xp+!*KH z7o$BVIQKotJus*AVzI(f%vLyx$qG*~UJ)QhD_JAn+`NZ!r;mNbM!Gh&EV)|FDd6?^EnQ zSc(3pIP-P<2I>YA4(v9-$#8%NfgEfjc}xOKIveQZ8%gd4lDJ_x9c~Mg@L?)^7X$D& zH2&)xl>fzq^dDId=Q7%P1oXh&40k2m`P4auuSUZg1h3~h^#4ZgK{12=-YQJ&T3`lj zIoLV_;@C+XJBec_2b!Jv9DwNTyGZUXae(*Yl3f$%aD^E-GmpU5iOc?rA= zY3mNS>)E zPzosIU`S^_OhpgVh=&RO&~1F?9zOdd-}^IoPo`++MW7e%X1FWh&Rx$Ql+9d!v0cO$ zPG>l+_p$%r0KBA=MLh?5aLfP|roS-@5GxKm4lIVC`udv<1TH2B$5d8y|=71ULoGf;+%@a3{E6 zfEsUvSnjdL7jeQD@n(S*hG#)O?k{E0+`;2GuV(;--p3d3eF!`w<8b%E-2!(dT{o8; zC-RXn>gfgNd_p!mhd4Lz+zm+M4e#X&kN1N6!Bs#LBL?wYh~-f;PFC8pKg0u%A{6mN z9EKbCzpwz0VkwW1J$Ea<1(kT_ei`9q7u*eSm%^QKoE*R#K$x!ZSzo3P-bdM_4#|iR z`UTf{d<@XV5yJoTL!RULi{NGYis9t(>#m5XV7w6Gc(;Pz3GTrUp>Mno@dq^U2ggua z2H)XVnDKl*O3)AgBMLQ^%JmresKZM1SQ9=(C;Jlm@I8j{A{OHfEX5m`LP1WW)z{-m z%&=!*JDPnr+VL=6!3jKx3wQ+&q1z3=O7c&%`_21c819Af>-{kP$8XqwpoiNIhrkQ} zBMeoTh!>EJ9xjE8-y^|)_zV8SYxoa;Lihgxz5RQ%-79F!mt_qs{5C2I?>RKy(9midR<9Jcr(X2A%s9I`;|U_zk-MI{w2WXx)d=nGcbR2T`L}(YyDf%nMLS-FGLgaDZWRoJ?F`C_RMwevyd&$5UJJbd{J zKeHz})sr<_a_E8262vzR*MOwKlTSU$D8H8Sn<=$}@_QJbgK&&8RL9|&gku$DuSc(M z#V6Q91V@-k&hr1gWaVjkiQ(=o{{cUNxf}Qz-hYADzzg7U{Ge<2LHBcg(k1p_+{Lw8 zchWD;;Xjjc*aFV`pf;es`j$_1elsIl9jwARWx8j2w!kaosn;f8D?Bm%UzOkDO z&C+VS=t(>2;XCM?JBY!6PvCtMJP)n|!%)9SF76~3XW5%`ihglBUd%D}g51V_savIp zx>Qnf9URSYbTDoAz%vNXC_EGJtbk`dyTQ$v8;Xn?%c6(`5XWESWYdz+WlDU#Y=g zX_QIxc3EcLBTFrYWQoPNES|Sg7FlkTQOj8wu{n*%L4z)7o&@3YkoiaSXUlz_Elfn7RrQdO#^g8a49>>Gd<#dNE!2IrXdO0c^ux0ejIuOIh1qg-vMU)S@QU>)FGBtE=DrtVlT^FJYF?p4y~-XOj1ZPM-DBV8WD(&@2OIy}}$o98xZ^*kueo@b=V^L}ac zd`@Zb{JT=``5*9us@`*s-yq`f8$u4k$UoT3VQw9-R|T>BBbH^}8X5Ptk}+==8ODnl z^a+!G-&pDOO_3hoZ0YhXluq9=rNg&IY4dGXTKyI%&3=PQ6Z>Ks{HK+A|1GLo|NW|( zfK#e!|9e%H{?Di?{Qst|@c&F*;rG3|+;2|v0GwwcSlUF91F!*1^LjFz^%Z|xL@dLB zW-<^oUwVVQq$?;$I)fsW_Mil%H7H%x9F(hS3My7L1XZf)gBw(}!R_jr;68O#$Rc%R z$O?6N$c&~ebg!l~^n|83^s=@n4F?Sp$9hXmOpvN7CQ@A<9j_^kPSqAiXX}ch zi*yAsmHPacMtyF~0;8PRA*1ZrWk#8?>y0yFXN}Wij~S=N-ea5+`-E|F%wLRCVm>xb ziT)P+Y2K;Pt4z5G+Zcn2f(&>X>6b$fsK{EXOtsYdT8B2MZt(2y_N>Q4x zlAji=%1MjVWTwXJ(o@s)sj0cf$*CnKiK#WF32CjS@o9agv1#L`F=?w!qSJPmM5P@8 zcNs^f{l+*V^)=&&l#fgzQob>bNdC$64CU{Kb4w)u1?90)h1?h{X=$^QEYaRaZGlVNmO>TNo01fNksM{lkl8r zyswRXbAL2C3imF!*1@x^0KElz z3TXpST?BtInyZxa&SmKTa$`vSj7m2Izk?4wGC9)z?6<(2`4y{Pn23O>1gDT3k z0Tm5e|B5cHU&W}#w_>Hnr(&zdyW)`AyZpS`tNc-wXW1WB9;N@%c$9pl^(g*PcNlKN zex%j#8TR1}mXHI`2yb~g{s&9p>?+PX*KppqRx8nU^CYrvzJ%9#NN9b41lNZvf%S2U ze|@UTw?0ShQ(vm~s^=aM^_?n@`eBuO{gmQXzgcmuJE*wSol~4^9}%aTKZtYn2a0pm zS1PB;N#Nfn#kJhASr5X;^svFPa)vz~D==~*Yn-M5HQ_X*K=-6y)v z=SAP~cQI=JRE*odxv?K<8qURV_Sd2PsdGKtWpL-V(gq!9-v#KdZv2NnwBI229~jb$ z^{|y#4s#ERVGl7I4iJ;!2;rhh;etZZ4Ht`MxK>od1U)=Lxc}K>uz{k$agi|MQ|HDpoCuhhXHigLJ<#&o4*MCJ+2b{go&t@+Ayg) z<7Ig97z8-jEKTM$oqU2uouIIZez1(rwh0_y0z6NJuQLGuOyhsRWW=vn^06i4dH~)| z^4$P;Iox@0r%>nUVf=?NwC6bIzL%o?Cei;Z1mnbriG3chXJT;$J|LLR9Su@>PDeK+ zcs040rU1haFR$7SPSN=uU_yS0%Krm=B2#dV^08j>ZP*J`4R;aT8Pqv$F?&$p^?}zJ zUh8Sj|F1#+t|x{KY9TQ|U626qm1P9%Nd@cORi9voD`W&`?v2L7$^QxpqlCKeSS zAF~!LKJ0)q2S3_nZ_v#H@xCk`>G1nW@cvPruj6m~m=w?Pxrh1u%Y66mvWRvb0BwAv z8g9croYYn9J%Bf0Biefl{sWvQa4NUJyBF*S2f?9Va9GPC*p!2xH49=#4#Xb#BE)eb zjs;o{kF?22DtnT`Pf*y2W4wQv&pZKMkx`ne8}3H_Tn2YGp~h3+U_RKTlDaXMHa1xvXr@{D2aKd=eSybaBM3qHX?^y_hag7f$UR|)G`{D^l5(ePU&H?Ko^f=2`X zZw!WeV1B_hARn{W{{uAlduZ-=@gLsCe|Q~@`6~XyOZX2jqA#CEUp|Mvd={Pi3~@Y- zlKU-jJc-(S0#)`n3iL75>7ywAhiR;9yz?Lq%2jH0Kdc5^{RO|q@E!U1SQP4NjyiYd z)BF}H`tD_N@dCMc295a?`yZabfB21bppSbfe~|J=DSrvgG6}~jnrIzmZ>Gt1(R2r3 zKTb1VpzB;i^}fQhf1#&;0CWF^A%<_kN8oMnM=>Uk_SDal$b;dEg)5yB^5G~W{#wdz zrVDmZeh*!8kn;bx590#r_D&SV@8MdM3-}M`@gL5i`_B@`8R9ri9H;0XC+Q!Y zS;r?>PPwZY!kbXrJBZ)_Ucm`^$309dhP#y*e#zIc2jfR@a}UO6@V*6@y{Y%ju6`Lm z=q_?`j$E827pK`5a}xjIcKnB9_zy>k;|OuwN*srYxLZ= zyNSfGE95+xd5Cvj2Jh2a-+;Lr_$R!-2ZmwAjB#Tao+TG2(f!Bh7q`(bZe@%dVlT)6 z{D*z`4|~{$v70_ROB}n1V<&NJCm-8rm#yrb+Ja}u)fZ%9BmZ{cbsVOboF%IJWeq)f zHSJ;e#ieO-F-;t=!~4`P{O5T*366oo?9JKFINggEa|>R~F7|?Kr%kp=1{`_BUjj!Z z9CfsQGdvye^ujX)$70H!V#Kb)@7PZ39H7UZ!bQA7bWh>byh*k`0pHSkKgsWyO0Mad z`b?O9!C_+#En0&$uZGux5**?5f-eNFXi80nClj80cuJ{l6HIV|#e3-8Zpb?jx~ zw#Ajuu2IHx?J}zCkzxIi4CyCiP(LmG zMw_M22*=9kcIh^{Bwa>N$O2=ocr*D>I!wL-Kggr@Xn!XTMJ^mtU0GxExRGg|?Xt4k zhNXw8v8>=;waZLBWWp>^#?2#Tk$HlQTBOT}MXn6ZE0Tql6*6F1C;gT!(reWv-ByFr zWi>9H)~lq$dPdr8_DZYG?b2*>Nt$e)lt!C3q`~%M@GbaRuEKf7gF~?w+TR;~u-cPl zjyvmIVwrGI%ebwjjM+KMu)U8gv=5O1`xxnSNRl3hOzC#WlLhljq;r0iw9jvlR>yW} zaqN?3$1!Pinvw=5dJHE(YMqZuwevkv<@~r*Iy37!|63}YzXfy3W%zFQWm(|QGADpj zO<;=W6TG*GxJHO&$i-9!TpXm=)kC^m1EkY6LfYNpq|Gf=TG$)Y>{cj^?&VVNUMqF( zty1gJBh?-wQsp@*6`t#*+;djSypAd*UUw_Sp1)CwJYQ1^JwF29s0uxPR^9E#vLle? zP%z7?5SEFd@bfsvdqc$1Pb@v&dRgFYBkg!GE#5xT7Qi>N-!oHXyzokl{|5{an|4vn&{}ENL{{>Z!|8-Ti-=EZ3ejkEw)LFhi ztIq|o9D;XyIDH_3B_>z|hQe5S6H6C=Zx2*SOMrzm2F{ndKu@U&43NseaHTvjRw)Zi zR+R*1sfq#%RE0t1s)C?;bzV@rIyZPgogF-`&I(zr$qd=9Ne{VIlNNHPCN<*!b zz`wL9L0^NPv}fSj59gLB`d>6T03)EE*ImTb#^0MjU6_efhuKL*n5&eAaqq>jV5KlD zQk55$pw10TQ)h?eYO=ygG#Pj?>EW%~w1{49O2i^OcaV&qnBLc}3me8f3jT*Sk= z*oaqkvEd)+V#B@yKk80IG9KXE6w8vE<<4TT5Onjpoj966Eq||!)=O!$l@vugNkO!i zU8PHiY0|~Vbn9YcM|Cl=D|OMaTXa#e2X&FL zcjzKwuIa*KUeSd|zYo6DM@0RoKSudnCNJv~@WB#U=Yu}b!Ruz;uLTt>fr=BDt(Yd|h-xxjrhfK_8j8Kp&Afq7O@&(uF2% z1_yK@NoRGzi4SRm5?|H^CHzwt6#u0@D30G0hhqnvYm#Y)6#4<^2Cblu_bNa!&+}5z zo~b61ju(@X<|2t{-V&b{q{OC0sG`#1G?8hk+VHeoU07PFE+nl^7o6Uy3rZi-1*R|8 z2Bgnu{nPhr{L{~9{L&xP_@=$A_DOwD8heYN0OL$J05}FgE3eHJZ2jygI0& zZ|*{kPwu4JJ9nenD|esDGxxO0Gv@)7N6t$s_w4sn?pdE}+%vz|?t_05TvKq3!qo#; zE2zsh_&@OHqPg)>3P zLtlh%0ce8L-~koolm9~M&vH1f6zyAv{;x2SfJ$ret8@~dN>A~s3=og1aB;7S7grMJ zQk5^xRh8mc)hzR?`oy7XiP%@I6T8Y=#J2K;*i_sn*5xmVb=f;&Q~DpVE&Wc}0k>g4 z(qj1fsB0UXb)dWm52ytH1Kz|6bXOJpHE7Q|jkwpFi)(|uI5)V8Q-hDpZwL{GhG?;C zOcvY59I?j4v21J*i^eW7Zx|EPhG{Wr*eS;K$Hb`ak{H!KEk-qe731oU#iaV{8}|j8 zf^&qrc7bMitEqDd+&OS3S99;hTKtE4_MJDf|Dc8a2km;X>97*3j`=dL!$ZtF{Kc#z zTueIR#keCKf1^;e9o3@gXctxcLI(L1*g^#l(a;w#7=8oMYb5*wI^Jip4$cWU2jFZk z$Nzx0q7omDdS}2L-#{BQqdi;EejS|u??Qj~sKmJ6RJ47zqV97RrO%5bGNJY{+4Lm= zlG{gteNCVjQ9l7T07O*JSq9!UD*P%9|4#-0dk^3ogRcj)Q0H3mT?%&&+y)OQsvZAf z0sccb+OH4&J&67tLjR2z(TOdAJ>a0vH9|5L3}OI-Y>b8-qp&do9~}j&N%k(xmfOL7 zOad=rz`YATk!A3)g+@Bbbt9-G-vw}|!yQYVL#T$&0Qw(ZTZ%GU#62jM2%T69OgX?? zgZWHwZX9fUK`3C-S%VIO$?Y1Wf33gCD(1B4(?L8 zv*Avp&fzqrAH1%M(VnE!Y#IDh@UH~Z3eeM`&6wb9IN&)lz}$f!2VmmZkjUiAAX`sz zH*^AmU%#He@8`4U!J~Zdk9_~V8~5btg14EJRl=Q5$f?vhYK%TWeccJ)eg*u~@UIcd z0UN;#*i0N-bbvUvl8|iSNj`RkgA`E2!GPq>Qt&JV?b^lPPck`Q<+IO&H)Mcz z?gVvwqy+9v!i`&s_NKm`s~H39;D=Lf;3Snd{FhlCcY{4(FW5&c`^m`xa~5Q_EKHs8 zD(I(2!vKBbXbFpTI`xg~a;U`7gDhGu@ELN!bvb>sb;~e0fIAQFB=Q`-mOcRQe1?Ua0Kd%Xz+& z_xQqvOW?XJfV&><61X$qj-kE*@VeZ>H8^l;4^g&(&%kBiIR(yuv)~+{X%U!|`wQr9 za!Jc#-2$J&f&C%gh=(YAid;Mq+T_s@yb6e}lfdf~_UJv*N)uJ_RzBQGgcru2yx?`9 zjwUB4?=-jr7`O~P29C?%3SfvKvj5LM6rPh_c?>)Oo~5t6V1tnK;QE+IE-E07*IPKb zKF$XJO+4-c|9=lehvKkC6}zLvf>1)S_z>y%5Cy2S3Up}$dm`FUDBXA;18DRSJPE@- zj7jwJDwO0pH2Vzx#18z4y{Nj|P}*nF(N|DcPZQSP(3D@Hsy@O+MN4fqj! zEh=~|aR{7oO#Dz}k@yhFDCKPSe3Zab4M!8@x8n`;Q0gGQhv9x0`+ypr8~A?)pMwv;+vv>KxF^UZE=D0;p`5a7DZ7cX+bO%7 zE;&H?BQP2EVJxT1uBPj5LO<`M8y}G4?{e$)TB$m4nZxiexzJzS}WKRn@Z#8ZA6 zEu2gF#gtt^udAi}CdzNaALxQ(fHFtvkrU|kRkX%NqS%Q~aEP9IhFAB|O3#6R&}+U1 zb2sn?oWBJR0K?Eb1CEo6Tgk;ialf3OH&hzlqGZ z!@<2M=%?#Z{OjnWYskfFKDCNcR+70Dw8s?fu^i`VIel|ExmZpdzk~DPU-%8vfnf?X zOozKg51%z$F7Wuk6ADiZ9LaEGQhFX7#c)*ML)6041V;xPy_7pd1WWKCR*{iS^paa} zMUE2L1-yty$bkjGxaAdFPm~vSL9I=4k5^k`;oWrUShgFq^99mG)eE2-66aE9^WD$L1j6OQT zyfMuDHH05C$lNi&9M(sh^zyHpzjpDh1++?svP0UH!_unUAuY;7;3a8Ry(>+sPo+uy zwOpCUp~jX&pFM{~4m0b(N}exgid{-v6MDUjtF2{B&He`s{(~0(K^rZ7xdKEMlc? zUb3`WW=e}?zBE~tN~2Y^)LS=6t#zl=u;{C@p_OdcNI54!%4`owsogm#w!0=pwy%JH zf-k`jH!goY2=7)e^6$-Z3mCkQArG`SvGfv4x4l*t*jY)ty_2-qdrOmjkTf_%NWDY6 z)Hv0lpXVoIF)rPyh)6gp2!f%8_$cVSe!oRu7x2PND2CCPGr z4{(QUryrG*?kq##+~i9e__MqN!=R7XUA*5xEUm7JG`W~b1N&lXUEHPG)lVv2L#5m` zTFTfPQ{t8`#q5nKbSsqt_ZrDV0OWe~N{;84WO=TXOwY}d?zLY@^E#uXdOo0}c>YdF z_WXyE?C}NoQFWYp&-$@M3!o1Ku?!Aooe#PKSz{7QGqKbYOO2P2RC?J+xtFt)cyaGV z??5T=j*xusILY-+k!WHn1Sjqx4QtWRbh5inb z7vL^A0e+Gh5F+XPu61faf|3%Du1XHfS0x3Os}h3hRq;Wc>e%2RbxiQ2Iy!ixIx2XN zIx_gAIz0G3by)E8>ad`9)M0`D(S!$nuQ>$&))4w4yyFop_gQKz0L?tF3x}V-m4d=h zMRG$;BrDWbGD2M>HPlOzLIahAkZ>g~G*%TGnxcvc%TY&%m8he_Yt<3q?V9k2K}}f1 zQcY;Y26afpZgp_P33X7!z3Ra5=hOk=e^&>FeWnQv{a&-5@@L>$0qp5mV#AinA0icfl+;+3AJ zc&6tm9vS6|dq$JumeHfQW-L}*GS(>08N0+OQ0i|X(+TBw1Z(f`%18bWFKP!zD&n^ zmI3%S_*j;}*9TuKVb_4tQgkQWsc^@_9n!$L?Ok2jgF6N8s1B~bpefzqby!IKN8qOz7E*L# zK(%C2&4G?Mrifz&ajbM=()VDn2XFw2WFbbItR~5;$;Ijc-e1Arck;OteExp$0(eWh z;B4k2HJ}LY3_^~j&LPy-llmI=;8;wczbE0G0;|AkKo?_~#sQanY|!J2&@P*-@kJb2 z5PIN;kdN)rJZ6DPK*8Ioz}8LRRz7zRc#;FfpQM9!Zfqk5d?W|%M7YC8nFp3I2H~|> z3BQ5Uz_$U+fGuDf*ba7pU0_zrg4Bcsxg`q{2Nvh_j~mzK&^HbiuwbULhsnhuDsgZR zxP#AJ1HY5@1>~TYu>g147;QkE{i&}DyjJVsH*jtR20jB9Uq>$Bxqw69FrZpUshgh2 zaSc8Nv7EBOqo8fhk&kl;pa`FWL|=g9&W#8uzIew4z*PjabvgCUfjfcb3L(cHq|26i z8qst&IQR2t;5+gQ&+R;(1gF3ma2A~V1$XjDw-NCjesWIs$L zuTi0gj)S|TmYf&yRvO$<)Y+HZI#O4&gOp>a-!X6koCc&1AxK@o-QXT@30wj90=gMu z^`Ux!cY|Z7oSXiG;qfO?qkJq;VNR$Z zKhDG&?gyHLCeOwLDMm3@zyldUu`EWfFGI7fLfx-NQEtI6xCMXW z5IXV{I_e_6!Q*%nZ{i(%jncaLJ17tHXt);T*BE{vhR?yj&{ls()BF`p^9KII>*%UK z<3GHLrg{ng;RUV(c@ACo3~~IHIG!YqCzvpPLmbypUk{`F9-{L;NC&!#D!vbmcQ47i z%)6IxYA)ikT!httU#~?m#PBWn82khL37z>en)?Ozqdbegdm3H!TXOLP+U`33!!`Ve z2hf-I6UV*8ahW(Sq2w+S$Ibg;ET^ef!#YD3*+ugmqRX7--xV_QG~MVun)ZA2{M>)> z9lRfbx4=u_Dca*Y`tBO%+8-2exI*}LEF7tHwH#c8BFe6y>{_~F6J@tib{A#$Q}!_B zj?;yvsQp@o%2v9u;a(WWh~xq~{!xaL;m$2zFtq0W3j_Zf;05p~Fm$Vn>_@r4H6Z86 z#c6VJ3axum5-2~N(sC)gn6mjj5ZdJs{o^2U93YN;#IcwDu?H2*ohR`lHjs&({5wp` zoMlS6N>nd{kLWQ!fw>zn)c<*K4H&w(VThd+4fUAEuyBOKi}HhsJqnH_%Fm$uJjyPn z>~^{5Hz#!tWTM6-LqQ%ZOk#*uwN?xI4!QSp&mr+G85WZ5n^hu>ZmUL;fED zhGAwHen){}Snk0anx_<9_1HP;|e%x;b@}F4%mC~21dxnQvP2{FWHVia0q|k z4zgr$@?N6V48Okg4VdGdn^TWrI+|78JQQr;Ia3yVMsQhE7bkeU;RvE0k?_RhL8QQw z1y4R4#c)(o`#Q>Rq1-N_7{uooCo9vu+QJn(`-$!pBgrtDo+D%LfG@z0a#6v5VmjMn z%wfzFZl?MbMjVzkhC?)aAGkJX5njwFZ8A)oEM%Mv(l`3)qkW8(9^&XGjxH&MrwX1% zINI6O)_22|X{Hw3ITd$g4?9*)5aneu_FM24_=HycTF$|J*qp;4huw7?W~RUrrq?mv z8|H6AY8{*wa5})}4wpY%p>Rc0heWv2;L4FEg*^~TxiqNiq)x>i2sL{k)T2_RSuT~D zjZ&`JEoGY9rBriCN;FSNiTW>6toaapAtyPk>}C03*p9l=5q>Z{pQV>QOD*E+wqVU~ zWF(zhYiZNrKj^)rNgpT;`f#b&$4aeHlGGSwNHzCtspOt56(-eEX3{LBrrlC(IwD18 z%ca14qvV_KkzDf=l4E{Fvdy^q&g@OeGW$1=U&&EBPK&_1j>FreD@!XkmV7*R@w%P& zTZyIFS|v>urc!TiC$$#*_QO0Msk9813d=|-vy7Kgt5hkr%9bMQA}O%0lzf{;$+cM^ zIkrQRWj86Ab{iz!Znvb_-7YD1mnGTmX-TsEt0dcg3ci)Y)Ojns(;no&lk;m{)E%_( zx{3GeomqktOSQdDD(x(#%-&H->^-E&-d_qFLM6{3T5=r{C3}8`WX;c)Ovf@wcdV0C zrw&PR8k8jGrIP5pUJ_hpCC=rz#5!M+80V)X+UZS+ary*&%kN3EG=h7DH+{gDB`@dz zO+IiFOBJz{la~?~l@#H{9|O?i??LD1WCF}grvI0Ns4Q#B)jEEqI-!X;Kjso zjZ&;fzr=Vhktol#66v{1B0P^N;hq(0U8%n7A$4Z#{x5^%OmT2&E>p)?&mY?-Poj?_U&upMNX<-ruNZDSs_o6M@Kp zVB`pB1l6FF7pXn${s@DG%5{|E^Sh*v@b(v*_9cm_SLcm}=>K2kgbzESZLmNE_h zVmSLk=?5%#>Oci3;&pBaYi<6P%wv3rA~7Mx5*fnpUxqkJXsCw-hx$ukXs85)#wdPa zDT;4cuHqA3rg(=pC|==Rif6>A;t{b*agW%hxJBHm{D17d2UHcw7Pehv5k!YPlo`Lzedj4?!-OhV(K*261AJ^3#(?P!m?RyVcx8sF!N|EOg!9$v4@W^ z@(2{QJh}=4k8q*yIaKI*#)z7p^F$4g^`g4R0in|@UsP-QjnH*}B5Jt57c=1>2X{1F zec+Ngpdio&_`pfAqDeDie-C1BPh#KZ#9l3`2s7^*!o=H175kH66I=_IQ8^b*=W(V}Y02}09nj;P|ZT4;Fh73wW=gnDzH+HHPcXnK98cuZgv z-2LI|*|ahT6bNT)&>UWOcpJf6zXfw{ANX4_@Ag#_`hMD?W*Y;c+r~^(Yhxp{+weP} zZJdN=8xNt;rnOLS6C_j#997!%7s_qMP^p<<1rD~8K;jStrwQ(FgBM~l+{57O3tt#~ ziX4y^Hh|XyxOmeBEs1?w6L`3#x5h#f`))+ibpmE!PT33cHz=?z?b^A0Pb)%_QeO< z@ORe$Vy||@-$BHG9e4*q=PE*}iw;4W0bro(${^E~&fJxT?Mh|3BDiZO3hfOBgBY-Y zL2nbrPR8kq82oNf>E~i3oKbLf$HpCi%mK9mo^U%;=Y~|rwmta=cnv91w+r!CD9-?N zSLY&a2Gp7~A_IO;2KHWc03BK;7kg2Oo`{w&Sm`+cj01Bye;wDwABq0hxCeFZ1Oh>8xIN&OIiPx7iT~j>f>#$_ z&A#wQ!ao2E0?}#=u2s3w>C(B;G0c<%Uu_1PdcYZAPAujf$$H8cPJPEs1_4Paw6y$i;i*CnRuaN zB0477Fd1TSjltn#Xw(>NF{vLIOYS6&^EPrmJ~6I{Yp;o(opBuy1X{!049ShCvn`j% zH8?efkbfBt*C;>{Oe`r2P$ed}zvM)eg_xnijR*gjrAI!5c8S9t^U)y_pm7*Dj!MN* z*xczHU&)PfALr5@GtY}|v~%Y$Yyfw2xSLRCd(37wj5SEqQ+@m|oRW{r6_efBZ07)~ z#ALrRKe3SQVpS$Y*koA^Cg{fGDXhs;IFjdR!G1?T#a54F;{iY>NZzDag!RM* z;q(Q#-QaG3oh_-aK6R}!m2zW&S25SK>FE%KVr@$s#X`Agv z1TENOPZNR%{Bt+XwFg`5nZf5Z1XBk&S+A5dp=>Z=Q{ima!s-+HhaYy*<(_dE%FP6W7@B2Y?adk`D~*&r7j$0ntQ1hjSp zm7Y8w(}@=h3?RU!aZfJ+n~8FM%YppJ{u|JhQ-9b$-U#1P+* z2f0ARaE=(_3^V;xbkdVV9%Xcr5~8kRVwyr4?-&Lwz;JmODi@K5$x!5w1IZ%Jl+T~Y z=TI_0D)^$|Bm7UnePXLy#F^KLxvvsSTqLeKORRg6Sf-TxLlOCh<3uM%iR%H#F?jv zxyy*}juPMHV~afU4@ZcpvWR645!W3gzLe2Y3ObU|k%*3XbR0lOhS4jQ`pd6Hf0&tj^JDvD0g}5q-ST~WpR06Txe%fRYaqcd3 z>_o?QbZnztwxVMTIyRx>%Q}p83?6G~lhtGhR`KmB6t2K(%dzfqo;O&AhA+4er{q5d zvOo&hC)D84MZF2-+faT3G&@rgzXd|Py$&5~&>`1htR!MwfsWqinT>`oxCmzfNC*4DcCe9k2W!cVt-=;7@QY>S=$7&< z%2L{7G5Lpu=vaV`dFY5k$6R#GLC0)#%pwAgB|@EnZ^-9Brt-~XuAEFwVz6oq9y^KE zFB8dvO+<%85uCC+?FF(6%I>%nEEMW+=u*Bh_}@kGbt@QpG2e-vkqMDa+hC*Phj9M2j?rf(R}X$@sX(oi(WZY=9BhaEX2 z$f0l!h!x6kXwjw^C4Ti8kknf_<6Ulhdmo_0%fXfuF+A!3mK92A>WBsOZHHV8e5R750fZ$&!<@Z6+ zK(d*vfuL0b@GyURRU2B~51;U3B=Vy@{1~0&b4Uwxi1%tze|`8te?6vIeD2NnJ-O}l zP*WG(l&Vp(A$;a=*}zp#bWmy}f|XoEdu0#NPT5-os`!ZjmG;74wX5(`B|D=wK(taD zC0eRa6+Y?WF|U4MZDFC*h~*CR%HHiB?rx3m>gO;jPtK z@Jp$}OM8Ius5VM8t2Rxz>ns#*Iva$G4y(?p+Uiyn{yKWXSI0!Os%|Y>>e>r$T?f%z*I9V+TSgu=TZ(2i z1BAO?N8zg9L%8Tii6#akg_FS)(b!;ta5UtNI|c_tL;YOQK>s3mEE?#&6^r1Q2H$84 ze893Y{}N^eKl?#^*A_i((Bg|-TCpz1$AI6SG%ysNhUTIf&ndaHHpbPkv2dy7CY)=v z5KcyIL}PL>jf}eq2NS&4WVoo$gW2^==L>t&b;8bczo=t!MA({?3tQtyqK@%9F(3ZP zaE-9W2bpU0w88!$nEkeV=Zl_}9Osb>;c2EMnwnM>Zl-$Vb4)}NQ!CNf)J`~>IS2R1gGwpNowZL4|0+G?$^vf3vsEe{I|%L~H7f?q7N zc+2lC(I4O%3UA*!gdTQ;Kp>EPKj34_9E)SkIL8$ z`ogZZlc-a>nXt8KDQs*5g|%&0VPzXGEb9yr7Ih{HvpREyX`MB~q|RPpY?~vDY|aZ~ zn}@=r_FFNFdX9%98s0v2@dFSH{6Q<=WzXNafHTJ%gNAl0qMn_Wu(Q(>w)Q5Xw!M|G zwzn5nbsdF8U48?z9?w723lOIDIt!Efy@hf8Xi=*^?_a1tM;O%S{R{P3kytNV)U3;2 zN$Nfj`u1-{EH)oQ*#qF~S)V?@bezXJgfD0Tn(>_rXawr>*$&t=tRk!$>Iw^oTI5nJ zgsDRvVeHsY7&*F#T8>`Auu&Uf(5R!(Yt&QJY&1~RV4_;R@ob^fXr<6@v`c6?W(qBb z(?Z+fuBg`VwU~;%Xl-xY< zg=&*Bq1NQ4PCcQ1J4Iv|+?Y6U!jD`*Vr!)xnK+|iWS%Y)d%OG#8~p+Rn?x={Bq6skVv zLK){(lF2h4F7WXJZ9pf`8w>$4U;zR3Mk<&{Ky@5k!{MHa(bO{v?rzjE7%rIu@&?U- zGjM?0z8U!sPx2qlS%2Wo+`kp^kFUB=_N&GPdN?oxh(FHlkMsIdA%DdBbCQ1$$Gd}p zU_6)$*5PdN1eOI<_A+=XhQS>HS641;2U^4D1>AuXb*@j9Y+4ZewIudwP5kM{`ttzd zk3cmp(4z5bFqkob1=Gnp(2+Y}i(pwHE(&f7LO~?wj0Us7YOdKw=g-CHmvBD*mI7B# zxa6~7{?dfN1ITqq4%E30)vM*>2L7NWkU1bn>RhKY zJ^(L&iV&K;X@AK{F-)c^b1;M14go{aF&rHu&@ob%n;*V0#)ABY9dH5|dMt((CrA0$QLLRENGGksY$-Tl-xu;avomfDmnrhbO*NBjxDzCAdhiS1j6kNw=>*z z;Wiyd4ixuQoVzc zBPX7mK_0k`ywAjzmA{3O#8&1Zq=uitYw!fz6RPA}bVWHa_jzGU{=}%lJMWlHUvz4=bLtIsX z87qH}bt~H+;r$NW0hhoTaGaQ?fLP*)u%aII;BX?p(u`7CQocXsx2OD0G(jlk_n_=> z%8jDjXxQW%4#p9`PbIRG@4{F{EW4SeOaO)8F{pe8sQfKfxfbIEoY%l<1$X7Lo>bz@ zMBYJhfVgTuw%A8(x0iJXyNT;|kQ3TQ)U=gIYBM@2--pqI2r3*mjly*XQ|?IIXd-!o z87NqQJFlS|?FLyyeAn520u>4@V0#1ZQg9d~gS}w8P^Nq>qC-QeoYZJ^NXYIZyVqv03do^HcFoyBg|f9NSD#^# z-vFgerjiqyf^Wp2V-h+h3LiN9;0VMMJ5X*{%IrZ)MBo*JP%(;I%4ED`E}vEs0q+D^ zD7*yTf(ivv;M)pTfcb!t1Fp(pc>=Z=OCK3S{$Vt2GK&1eNOX)q$1vJuD1CM?d9rBo zb%W3`5FPz#mniy6B>(zyhRn+Jp*Fqnie9uwPrSM(YcP7!3wvOT9_WxmjT~Yn{|vw= z3TNeQVi>j9@(`5h^{8!gnA(RC=J$^PDZ;7vL>h4J^#P`+fIft4U~dg;FVYi|5P|fahn~W$5cLgOZi-R<0vjC^ryZ%8kjVxCsvxFVR%BwQyH!CtTIL2xs-) zqKQVdaMBnj8f(lHjWm`E2aRpQK|M`4s1^$cmFvPm`I(5TMjwE0m;pAZh3!FSAgAjA zhRiL{(+VvuInRe&Op7Wy!mEm*@Tg)Yn)2>kH%)&3LDNAvYdVW2RXv20R!h-HyRC54 z?jjmi>n$2oix%~C#tZxEvxQytmBLnMr?9PdP}o!}6}7c*fM;Sh^&bycv=KgF!n7L% zGwo>0*4G$bzW3s|2U?odP!{gGn!;75hH%!YC7h~Th(@~n{-iFy|4_q8G^o*3)T`+u z>gojuJH5`Lj(#s;qd!R0=D}<$gIU6oH8BkoWc)SdJF@Rx?CR%Vna5<#wTKkuIuRlnNd5n?l#@rI<_|hrtm6 zpIn0zWP=R=ui6kSZD5@X{MO_?I9?an0&6QZVPT~$%&hf=iM5F^vbGkrYS$HpwR!%* zrm4`kX(jY*+KU>tVM5n7Qs~%@6xwyjJlif7Rc*HjO`8-^rFJ2>Dm1O1D%L~|rrh3e zcDAj|0kx__8`u$+vvuOThM+F60hWAcR!3PF+i40z`x@j?j6_X)OHqU8l&aTt5Y_6r z32kyQTJ_qBs{En2O1*HQQGcjVt3O$&)?Xl0>unS&brXcL{ZXN8_pMN|dnCreKLGw7 zl-J?U#L4a z5o(P*g{q^UP;u-ilpK38VUGsf1sctxz;!h00V*#-IUU>5r(**1RFHrvvj|rpP)@>Y|FXwor5C9T2=TM#+WBxFFPpgDy=$D-Z;_ z14e$AabOM=TSFkV4+C?@b}EPDk>a_ya5&^zq_%Lhgrga729BUU-`TRYbR_m{OzhKy z{DTYekDHoMWnBy%7BHB2;8Y$omIoJja)M_I_S=F`5D7+unP3%0-ix#6P|*tnRu6d} zGkp?{4sf)g3eDkh15WHW1orI99F(au>mOXnKe!Wrd$0!HOO2DO(r~)KfR0S3X^Hc; zq(UvZpcN;zYy&!TECP%G)4_7E8>i34;OEiGv!rl`!PAcVwSvb3xPV4{uFuwnDw)H} zk~mSrllY73srd*_R;A&p(21%cz9t=-PTm$84&YQn2U6RY{b?+bmwGC4KKp{gw|I!2TfGC0d;c2s(zNL;fLTlohBCXw;DyQobW) z1Sb!l#K4SC4Bf@~hruP$j`sEClor4xfboDjTX)0RktJqj8ME98%O()^ib9237(^-PmpdTY%)+33da?cK{@S zB#;6Qf-H~=3h|MX#zLHMK60nTg-^BGF$$J!RZ2X=CgFtQ_S5@5OI{!Ns4jSLZUi;RZM zH3x|^6-6_Ae51%lCnv5?1ikXFY~9Jf3h= zK8un|RB@O{BO4u==*U3FL3E^{gI~BLx}HexKt78yANEzma@)yEq``NJy_cA;LTm#Y zfy_a?gYzl40ZxG;kV|aE+qNm+jC$08!x0WQBE{y^qctX%?*t7dH_@492!o?191)b= zAC94vFWQl4nLQ~x0*(PhGQ;R5V<~?cE;Wztvzq_Q zH5i$6-;1=;2f9@S+sgM~T!8Z^NCo@AHn0(_CFWjD{$UmQhn2*3D`=Ay#JS7Ru>>89 zX_tk>R11i_<`dh^V-T0`!8N~P{Qd%Sy?^r?xU^A9UqLt*^Y@gBHD-@7x zFuw5bfOkERU0im-`9cNV+LUQPndZP2G@xuJh9q}t=tbE+3{!rT-4H2yIPKOISb89~JP$ES@Dl&B9R-GCiy`!p!Q>yJX_IJS1?bcCX#D^YnD{G&5R<*JZiEEGh^ z?P%FR+M_K!DUkjVNP7e_A_byj6+F`Z@|GZPOOm@UkhjYopc{Q8l(irszvdsz;HV9U zJ=2(m@HjE0af8Q`>5UIuZ78=ry(WYaO=f4J=|yA7Kg{Ila<;obHu#3mufflX;aJ}K z#wc-%RN+rFs!SEwhA3A~SvqnoSg66FMajSAAKKDa0_d}C$bwp9drTw)TIbi zXP${3e{wN?_@^&z(uzD?OL9{_*R1WBJCNM)XlfvcZmwjE>wLX2L%fPF`6jdRL?VI`D%4_It097y;}UW$SQPv16T- z9lkl8`i_JvN*5c{VEU`a{1W)qgqzQv)tPIf$E_-JO>!|VYE?xO6~HTDa0 zwIjk@rCgXRJra}Q9|nH}yfOzAWXSvycmoe^`)+*ajGo4v1D#F6 zpc+pkYUc@kt#YAX^}d)$+0pRyhEL{z0*weexYc_BH};$Gog;c0aJ(Km?O7L7M^|0g z=xPh=>iWX6x{0vRwGw8mjWMm!NSM^*`G=Z5q81Z!L;bEoUq3?B)E_2l7)%zr1`CCb z{zjp#pCGjK@(FFf9#Rg{BpRF@+!{HmfJJ%$-D4a}S|OE~W~(7^JY*&&<*o8qeDfBc(y(flH zr{0v=2~K}&`e1GR05k>-_-qGibIbymf?9m8$+2p-szQ@ojGCRUP_d_h>=9>ggXjjp z8Ru!vHUM-5{lG{tgYTDf-cBa4htPxu+q+^A{5>dJu0`^-r7zaO2Ec)Rng6k+SSya1 z10(kJImT;?L{;8dqt<}IqalL{?~GwF6hNS3UC@}o-2?ct--++T*$!trjV*I&#~oaU zhWaPbbWicPLMUa+wMagcE!O}!fd+Qi0MzDt3t+;&0mYMw6jd8C|94cySPU*sbZ*&s zU2s|#D&)$^t`5Krv;@I?--~mGfXQGn*v54kT#p?b?}>0Ok?-R1uScvy`L4i`{d%Ad zoK`^QpbRl_4T{#Hit0`H8@P)Kjiy0xqJ;zLRt_efIF=U%^P&(h+QWSn}DJ>gc%=|H7;82{%;}KA;uw#TI_*7_lmaR41QdKnKSbLD(XQ3IuUs z5be>v1C5POv>gRzb2C~8l0X^PJ`^3PpC7iB>wpwFAU@aQb8YHu;*Jke6>WIczwlBm zZrYRy+Jj(pbf8T-X>r4?!GLebq{AFwi*8h+8^Xi5Af!9ThtlxV!79!_0E!qG?m~=(5?XS!vjCP4e$IzNgMopNQ*#H`MIE45-i%R!(!`==)_#t&Rrp`LS^gqcP3chegu-^~#2LnMg7y^cYkzh0!i;fBCh|wcI zVFv8Ud0<@mT+Sp4o5%$dW{^`@!?_7e;EELQg!aVVPH@}P#%8!r4cu6b=KD48BRM4> z&8e7lD!AAm4<>>bFa=BlGr(+YGFOuz1$!*QHx|(*3q6>;V~hC_nyq4hLhwBp^9sf#jnZ z|BZ`c2n;LNXl!D;6;M4zUSdDnBsJE1pd-tIJV+Dr68_{q`ViPsv1AHN+9+IU>w0jT z!Oe81vcA%;vYxVzvVKd!m%6QEehw=)0mp6wg(96Vqif0vm1HgUu)V$562TCXx!y~JGg0t3TY=FF$) zB=VgcB{)qHbLZnkcSkW`J_gKX{wm+ckwxRk97sA@f)wVkiTrIhUVP7tw(=bqTiD9A z5bxl81)hOh;37E7JpLr{T^X@%DKp;^=FCOR*bDgkWiB&(-quGII}pitB{$KXD)%PC z(GQ+Mw=hrVB*h?=WKp?oxqiD{~N%`vE8i#UKx43uW|I zpdP-MK7b|&qWn%oPL;pUx{bkN3!QcoIyU0O@^@L+(wOo$ zSu3AIDZ*u+Vx0=&+X|w;${fUPIM0AwkOpLv%I4))$53BWY$L{$&!TLlO*RoltVc)X zZ<4g8Tz_iWjtH&;Wp~AGx>J4xk<1`CM$la*VF|ekV>vCe9Tz)OUy1M)wkY(f_78B1bBBokIRI-SuWdS~fX zwwOk&JC*#yRAQ>B_{L-+s7dIUh<{ALPsa-%THlYd+fsHgWp}0Q9+b^*k}{|b;jCy% z8%XH`=tT0DeWGanNVubb+{!Ms9xMiO2$%-supozr(b$5wvQwTOEo=g;fjwo*=Rlf} zBXFa9Pb}{Zhc6s$;pjlQA$VvnRP^VTG8&JaM)WIJ%xvZscMx0xAG!5Z@LlElhb8dI zdQ0xnU!vhQWP^KR|?cwNxnqKst0eJ3MzMaYFvH}mkJ_(a{baf#?XJzxWev%V^&hd$fk7 zCExmRr8nxEV>$Wu5)ay=DJ|}f=ey&D&FCK8X2T(Gf80eB(}7U7+`izcoVGB! zQwM%?68~iNI8!)1U<8jjJhd4u?BQtudt=ITgQqzhzU;MUbPXXZ(T5frhP7fiV*#Vx zCUOI*?4RMg7aWuCsj0m6M=3KMQe}#y#xxE1vEP#KT5!BM;4imuXrf;S9zA%BsJS^D zwJFD*@)}aE6C6$P6dyiG3w0v@(2Ef+n*75A&WZ!;K?0u(!9DO%aqAxnU${E)UKQ%k zZQl=g15ZA?^Svv_ot2f~QiG=|Jk_a-K3v9dS-@ihPhI{wQoaj4xH+SVAK!LBVGnxK zKw(7>w!-r)8GS4n4J^s3TarV!CcgOZlxms99T-Gqr!f7Fh_ax=jS zJZdM%BrAUwJQSm;XB7Nla0clzUFR0-1>ArWpB<`mZ`Wb2j~-hsB~e>bRak3i2rD%$ zVWC!oe2SqkQ!^8$YPE%lT3unR)<_tsH5IkU#Tcr$7y24uLQf+~)TlCA=vIjp)ist2 z9rYbTN9~}{Q8^*1E8P{t;g6vFuJ8rw;RE{2u>pTd7Y=-ud5=0Z36s%ei5@c@WnrqV zCXBVJ2&1aigrTOMFd!eJU)56RRkaf}t2&ArTJAzuyQQdBt-a9Fp=Vc*5>={?78=!K zg}Tmiq0W0^)U*!@RV|)>(7YjrQ2*ZW%XL8h2Kb*LHUN!4eNcz*tkGk^aZ|Jyk%uv? zp(^yr#nh;-DRgvnL^WMQp{;99PQ{koN<*Pp(^XW_YaulB_zenjF)I3fg|fj2p=3Z0 z&|gZ>w2i zLRU|noK6*?$=aAItc_9U9lmOY*5p>|3YA(;LfObuC>i;2Q70zqj5@}{03(s{V!mU- zXP8Q1Xy9En{i$CVWw(Q`rAcKDsIe(FVBZ#4p~sA4#%M9Dr6lwWRYVQeLh?uq4(34L}{LWW{&95=R(w+z`|R zI(%2vf_GqAsR*UobShgqt{qNgkJIp+5)Vs(dY}ntj#IYF0G2@sK&xzyq`)c<93SQJgm(#DR@eGzFlc?tOmmiu(fP%C$%?wj2g_(wwzv2fjCf z*MO}q-)Yr>-=6#f)fBw1MksPI8W@lEaG^b1X%9CH=SCrJ4XKnnXazd(If8RWbM73l zp1~&>puy>(=tS9ml+9yBiX2dVs!)f|))ZsTv0CicNK+w?#6&k=K-$R!d;Dv zv4t15Xn`$wUyJaz0(Ai=dA9)V06yV0oO5R}0IdOubbvDONVKPXAIg{OfMgD+E|=Q! zoh2}4Uytv#9f<$nRg%1JpegVKG&hR}X-IUm)+EWSgLBi#0j51<)P={vd?P zMswaY@+T{~<^aSc;GyuRZeDQ6bwCXWCgn8M1 z$pKmLxt0q)NONk)`hMZ{WuGcBd8wRW(9GPP;Q%4%2-9G|qfL72aU(Vb*dm;Y^zj0; zN3UK?5b%kxdE^wfa!ocjiK~kD0lC80nEKWS*2p$$h7WR?h7V;+URhU)U_wQGKvxh3 zXkw-Zm6NXswvqVh0NO>72SLYhGhk1CfS`=v5* zYlTowPY?m3z#uRbaG4_Ln7}p$Oa;>cW>ri|=dz_(#UyzN+ZA99eP%uO*lY~y5=dd_ z^+Dt-sL&b&uUf`=dxSIGb!lfano1XLWocu{I}D5ll2g`C^34L0Yd%;6mI6$w_ygq{ zw(G$runp`2`#>T{qrYUDunwdF`4AuS6QSfOAc&{H18ao?+}3a#&`j!*TiRIKR@QSS zhyx43m%6QHe;wEewt($mC)fk_g9MNQ4uWh@07}6HbX+mz$2OdJA4mY}LL&Hn9KrrP z4*u~!B^6aQ^(vZGwW{e{aEiK&^nrImGU+d6i2>(y`I;Mk~f6K5AU_omG} zy_&c1Y1zuxuZ@4(z;;2w9XfXI(lsQkTlb#5diROw+b^>JfPvA2hYTG)V&teXW5-RH zI4Nez)M+zfXU>{4H*Vg7g^QLfUABDXs?}@Ot>3U|^OmjKckJA?XYalP@d=5^DXHlP zGY(~C=N!(>%RhSTcwuo#Y1zqBr_Y`{f8pXcm%hDn_1cY_w{G9PcmLs|$4{O;fARA5 zcW>Uk|M2ni_dopjbH$(i?~k=-9Q>#L|8KRwlCo@Z4e9dQ_`I%kdIP-PSh~H1^m`i| z-(GrtL+ScX_`a)jeh=yW-nf5j>Hh(AfcCNnbdp^lls?cyc7kx(3!>--gJeG#COg7t zdct_w6(-XcrpwMSTlR+ebce;VKdg`)Vl6#lqwEsfWS`hgr`RuhMH1a2P4>cH@dt9b}T$df>4n5?7>>^KPA9+P5c`JL#C)rJY`nh7*fUyh; ztU*+@#`*uHH~gp1(q6wB>{pBZ&SZbE*}og@e`~e>Y_$Jivwt($zgp~H4EDudLP<$k zSw&$2bq$RwRW$J%Ep6>;xK4Fl-5Pk0o<7Dftc3>|o8Ut@5f;IX@FN^adXmDGDt+l+ zoJrwJxKjHdIg~Pz_UP3oqF>a2L4${l7&UhMq$$&4XU(0zaLKY2tJkjIxOwaLox2$> zv?@Ryq z!$1D;k3anTz2%>N@lU__L%%rYs_~-8!~B_I4&xj7tf=k6hXw8B9OhwZ(#+q@VdnqO z<}k0mXee#r^|aKt-?L&g9Br3z=3g`vC;cxqxM(~tZf5pWp`mrZr^Nva9v%xsL-eEH z+u=723o7SwN&mgM+^gfiXeev$^`xwI-zO#h3mzU1$T*!k_;G1c?5}O{f6(w{Uip`| zFONHGJS%Bx_N1)2=i?KtA|98vng5`$4H||#RcJ__^S&f`-iPAkFKzK}cKFNO_@&}n zG^nG&^zjKVk4Gn4hCe#tH}8ItZ|14gA?D03Y&x;zXJwD-T{NPM8 z_j_l(`rJL^wdBUhrbkYs4trgaG8G%l{!oM+itvZuH2jM#{szBn&!;7hY7b938{IqS z?soe^)4sPZxGuYL#wq_qM&D<}DbwE-v3m?lhOvN_fI!AynUgG`;Bj$qOM(P zu8{6eiw2#`Ef{w>H+Ra-gE^D#C1y`}us3VM zqn()(o@_fb@yXUhF;BN1n!@();bys^^5tvBrscP7eb3&nKdSh-%c8tn-aE1{bxO-T z8|jt?u}cy#Eus|$u+S)M=a>eBoX*OugsxwbTa{NKjqtD36iw@t0i z-nR=ZdEpeD|JExu>yiKJw40rGC0*{5vhzYj_PR3>1+SwRNmOLgTOHM{~kVNH&%Op#K-7;uAke7+;-hRW_O+X z`e3i^cT%GAFD8t?R+Qy=%S8_jQ#T-XE44dThU)+E;40rO=S5(C}~V@%wWA z&i)q-Z>5HOsi6}Zx^KUo*7xZ7gz>l0@V?~#tU><$f|2YTo_ca`r8d}tPTcFSo_U=eWG;~8lI2y*Hfw(&n zTPXgXME|J#o6^7LApV{m(C`)wZwgwwyesgp)R2XS^ghSWCyl;Sk~kX;@^4yF$Nxsd z`@>GEZ}VFizA0$s@>Xid?J(taR@nAi>AjDiPabinG;!9u(xlnM-*Z3wE)Vfr?ES?T z{zlCC{)p7j-0;oOR?csZwh4Wk7d+*4cIft72YVHsPZ@HnG*RXtW|0S(Lk?ozN0|%x zZ^zzJ!y7bwCp8>v6Z$4Uc=GF5Z zhNHC2U&VI?O_X0AZ>IOWxOt=JC9OI=FAkV+|8&dM7cRPH6qSUWI+{P^T0zdldj*-( zALkv4eU_Cm{dxMqsV|ZbPJNk>KIPSc^r^4*rB4Gh{xV)2by9v_B*TV;^kH z9`|rV*2IS!vL`?It9Vi9p!B5Fx%$IX?)C1U^$fgpqrsTc$F8gLuD9BsRUVd^d3wN6 z;{UQl;{V;m|67g@yR@!g=;c-UL$5B+AAW6V-bnEGasW?@?Ztyr4%P0Qce1;D&Avm~ z(z%Ef*ed(QRC-FzzY`05jprAtdAPcA5qIvrO$;Orc7B(sZ# zfZ<^DU&e!z=Hk}*+FDnxSUa42(y(*>JCEU+Z~SJaJ?XF_{!Yl&ZP!EhulY7CbxC>m z%(>@!9Em;CGk@yoK1U~?jyM*Bu1Ti`fWct+U&gHqy5jOxz3QhQ**X=xcMi__-a9Jo zbKv*`uRF}y@;G?K^1DHs<8F4?J^gCO_=%T0r;NQ6k~Zp_ZU;wP?3pqAVmRmr27n=d z8J8|q5$EsK(m(dDLF4Qn-2KukT6a585iof3NB>F7Ui;6T^TdC7%>97%qwloaI`mfX z&OtXj?H+I=WN-f)-S$RZ?*+p5M%{=6gZ?rqlC6|~%<$CvAv3`7$3wwEKc;mb{yDkd z;ui@+_T1k;I_LWSn3Lb^kNx)ifw^~1@16VPzk+`>RNCzyJN#pZ-}j$?{New{AJV)1I!4{wKlF)V&OLi|{Y+CrCWbdMn#rqb2ECPiJFjnpRI#i^{anh^i4_N^YKOPDS z`cY~~>B~4dc<;RfBM)CYFyYk21JkdbJuv6N$@qCMOApL{R~*mZ7Zb=AODOWji`f2k zNDV(6@~ZiLmcPRfnP@l|R;eK|dhfmX;fJrqk2_r+KkfSI_}P!k66U=rP9Sgn2Y#vJ zH~u2_zZMm#f7I}ULPNyj=ZVq#?j;O8axGyD8m8Ph6+inad5HJFXdr+7#Rk7=_*(8S z=PNX1Hm~`8Hg?Er-~NY#p~F9?N)3bd-Af#D_-ewaGZ*3~-#i&V>$xHqBJJ?U{5^U5 zMZ}v5e6Z3aAvJ_Aex5XN-@T;h!&ehWoVk!N>E_9VSug*X3;ER! zzr?$LUB}Or8ftvbZqx94X@@Twk_YU&mpt(B)udr(E+kI4bs}Nbt6wzyk_)NS@LTTT zR}Eim@~5{yrzz}EsUf>v`|mSChJQ{AU-BZQ|K9s419Gk<4?cY%aU2?EzETV9%xYdl= znL6r4Ny-%X6@UN!-QVBIhy6_*KmMZO<6$%$4s55;aIn{s*O@)HKg#Kzb~``h_@(@i zOD7HudRjytLgoM}!P9lr^9UnKV@|u_UTafh2Q0bZGKwN zHStzyQ2x1Nq2H8b4}DmeKJ|5>Lc?!=e?LyVou4$HzkSdDcsO~%hpgmBHd`)!*l~uJ<7~pzX)Q z9f!Wj?=a(WSHerDE`M@ffbp6tt*^lVo~ z%<~-?Q^1U8I}go%y7N%nSL1W0rPBK&&2`@8wX%Pg?;r3!H)!zF(!g=oE;n0p_IlHO zh37jQ&MWIzdZci~`6EXsew&du;aYs|xLZ39kGZosXUx3~Ib-jy%bsw5UCv}M{oeYV zS$Dq{AG0jQ+dR)|Zwh?u-W>I7^Rmc4{KhvPBhTJd(V-Joinn}L>6T6_y5%5 zk!SWDA8}#Zv0<0i7Yrl*A9i(_BK{wBZAtz(5W{+asb7uvITqqgK{M^w$6DCFI^Np% z&IQj7=kB|VDSXy^@!{M4+cK_%B&L@~X2zc#khlF*|HAcU{YzJr^gp$@xc`~?MFY>p z6%IN-w{Xb$IoN4V;h6JtipHP&TD-|M6R(cBRee$9Y5m}|hwJ%!j$I31H5+~SrSH6h z4}#Yv-|V()*VXQc8@}n0zT!g9?1krg=FUCSt04At?_<+Xg%?ge*|%`=$*7{3lLNsJ zFygE6s=!!0D|V{#_=KBz`E5JbqF2r#hd+4_Pk$RYBjH)+C0ieKT)+BuhaHQqciKPa zO6R2Mm%66KTnx>aP~I(b+=U)lV=na09(^GqXVm#9Feqo#g`wGBi>E~f;=#$fYL~8? z7?r$i;C}dXvrg$h`wfWy+-}^~?*eD7dKS23{=>kvGsw$Kx)ro*%=HfYMqKN3VCdDZ z34^bMB}QNAkvQl|@1#Lj`hxx-n$KT{`=_djo8`4s%br`C9{KF#nqJ`@7+>Mrb8AKG z!7D$to-pr?@62h>{T7XT+-Bvl2LbB_-D|h0|J~p%k#{<6?RTf^w!XK!ZI8I!6NH0E zFksu);@b-v;?xs8jl56xCI>6r9OElIy|-3)c3fHE89wjl=0m4`YB6EVTb~(&U$u&h zL`$Ei0ZV&5X}`S3la4F8Kk2ff`{Pj1eMPs&y+Pj<-JV2!H7fS#DOJQf>Qp58*i|IA zZ&i`lJ)&ZNzsVnW4PNnT$B3Pew~a}?w`J0in;WJUUtJx0=JN76<=-rt_wB_6i>{W> zUv{m0!RqVf3)f#SU$psp`QmNY&n(-1?Zk@hSIfQv|7fVR*FSdn#}2>mH~-lmA}4>` zP2b!_-`p`K_3qY5xi>dWExEcj_RO~{XJ7ng$-K)K7cQh3Gp-Hr0an{S+7 zy6wiP<=d{8uKYSEG$c4yt4Q{#Q;`zXsv@aJL`8h$dyJ4>+YOiw&~8Pm7DLBuHJn6_*bH0 zZ%w6&L^PzdtW%MShGaA(L{0v9V91JB2e8Bb(W!U$O~|{kZ(7;qU9lIw**g2mh4pi9 zo?AKp?%Cyw@1I@1^1<1a>mHn1z2QO0+6@nmuiJ1xf9=MvLZyaAl^W85(ZD#F5IN;z zeDsP}@xyjLJ}@%%?*4Ik*Y{63ae04i`Ndtcub$sB=l0ok^B$a8wdnEbRV$vHUbFT| z$@;aA3pcKNT(Du?<0I?WJ^C6{?5im%lF*Ra%C;gcxMf8O8WPcvFlhO!gdsZ~#}7}v zdth|l^#ha8F#Tfr{@K^h?V5A<%;va9r`9cedTQPB=VcpKKQG#}`q|OVtDog=TJtPt z@0Ux7bpNdKat-;_^@1DCx@jNbk@acIijgpqmI&_6Bsn_yUhegjkEEy9-NAgdtSC@{&%H2mb^Q*d+EEpUCZ7c-m&aW=C&2D4{llc@@w#`hV<4p z6$gLOkkohb=j6yG-=*~5`ZRT5(!JE^!#7ffm0nIBTV9?NbNy`MjQgh&<~%P=nE$4j z+~CoDi$CPcM#Il&_&GH!;^*Xu$ud9qU0URp zr)m8Y?xzpTxtTtw_)7YS^A}UcUp<#HjU$IOJqAJg|P`H+H!Bs9dMAs!8X7QbpZ_=|?L z(D0v9dr$g4z0ZQT8Q~kAXGZLMl+*X%-Q0fpH;+e_TrP?}cP4N2jpD4ykB%Lj{W3je z*1NRSg>MrRmc2c&XW83*_~st`@@t^bklI-5C#fL=JD}mmw4M__XY`u)F01$2mxp`r zep1jU`F=@w=9QD-MQ4r=zEF}o_QtX7sSolpW<5_xoBmxw`n=cs(wDy8ov`Bd&OIw$ zZQs7~<=3Dhp0Qu(@@#XspMql2PH}d+bBcpGvI5OeZ ziri^8SLM#Ru{v+@^<{ahZY;}N{ijipq$7UJXj1iamY>!4S%ED+<+KldRoE{4?)iX$ z7jHM8b>e>O4F%WQAIK^1btv=9pn`OA0Q-uEpV`71fK@yLu%ux4l|=<(z@#gS3#MOQ zay0JSrN@?jv-H@qKaGmyYT}1O&YGXHeJwxd1T=qB5YYa?8NUwS+-f%T#1rp11^4~e zXI<~O@8G3AX({Ii9o~I<;IU0*14>u2?thUY_8&~_Kl}o5|Ao1Qlg`gAnsF|!Xx`bc z!H=oh;&YZum5+y8nSVUu@A;&xW%ElnojaX)>N&jNb?Z4<58JOvz14MR!j;~MJ1+J) zxbA%T;bmvS3+A1QD4d0lPA`ipn^rccY--ssFd9rMopxeI$=BdxdR6h^u$#uaTp!by zg+2|hTy5Zb@`-Cm!P^!ivfc#DOnuU6`Tlz$n>XJK*|X|uXyU?4VQF)S`=_7pkrQ*S zSMG$f;d$fF_RAl4b^sWXH}34Hym99y=6(%c9nv5d z=J&0Kq`VKBviD`j`5PVwuUd95Xj2@2_n$%RKj~_xgt3>qB#-(wBz5?uZfV0V^-3Fh zDLj41rARO+ZOEk&Uxm9lD&qA~XI0jMXq|arV|nzQlV|3SEjp)E1oYqaecLhX-uh2p z{L+8^Y}O!5ei*QJ?7g;|Mz9WH$nBsVgKl-)Ie=$H`ri!M9d)z&?#LUx_C((3yC?GI zz};ViD|t%dX>kMP^LO<%kH4*Fo%N$z)8vX)?RHf7^jclv9lh{-pRuv;T27txy49Rf z&wUpSe&V;h|6~7EeIEv{34ai@t`B*d-VeI2?{zQt;4%sQ-k02`zlmy)K;q4R=aA&4j0Rc?X8+sYzgjCvA+Azid7NQKdlhCM-REYr^WnTN5`F-I}zu=vK_`!dsIM6yBPW zTzGYQ>hX&+(~g(VOgr{x@Q;Q{JN;va|BLLf>6d=7lYX&-ezBE)v4MWEuJ5$Z>**J3 z=oiaJ?R~sxLhAjvDcN^oXXf9U5?6RLW^u`lm{p}WVm6fCn6j<(#?;-VH>SmxUY(It za&cC2$(cFH#i#!yDmJ5GJAHGft3|~wG;HtCrD78rHltz7z{PJi4c+)+?Z~~4SBy`+ zzj$)a?YT3K-i)1Fe0}Po6W6A!JaujA`u~r;_lj$B>-u&h_PSiwWnZ>s?+sLX?;S!5 zgcbs!6Ka3}q4(Z;tR`uBd`#30dmnF@G!*~cTVnk=AP2s;+fK2hp0qU{3ic#NP74`4hhI1 zPF@F+RjpQ2iS8d$^+Mk#BZqjCoVU>yrK2Ip!Pma^g{w=~prd!+04=otxpRDfr+ZRg zt9MdgJ)#m(>Xp=2@|!^PE(|1`-w8<%PeC%OL!y`@B+6@}%-Zr>x|Zv58YyHx)gW;? z#U%S}f_cekly&XPV7t~A-cH>E&RzrkPN9RnuJO-Xy%V0-`y@QCM3f>5eG&!=ynm1X zI3y#7l>c=|mM5Y-$l_aurpt1McJR+kXgbX>Ya)eQJeo+Uc^O4*eG%x`-S6fx*yj>D z)ZrO7)ZiEQqS7~Rs02~q8}}m5Cw?&ZH~H5g5!K=Ubx1;WNLA2+OuX6mEOqBkSz3V$ znL2SZ8TuI$>Bfa`QZ1@qB~hDSMAEwZz1?5*x`w@KLU~{%$^(lLbibIFxqh+3S;!^x zH-Q-REE3P}fRsn4AeHM8BqN7(1x?6OG5wLP=D3oh>Hi^z7(JU!N}J3!ppRveD_*Bl z8i$e{I{QQ127BBiMydj$Mv4%5h;0Ap*BSoNuhRTthEtKt?*K77F_84X4rxCf#3dn9 zQDZF|NB*9RcleyAjzSGWZ#+LzhX)`0})fhr&WF?wLcSQa8Z zAmUAGK;&q$f7I(lznE8um%qb*98w>hgr5#6$RSHX9qs>(zvU_0eWByMJ{GEn%@+|8 zW=eH3CM)#w-`0^!UR7B%wdC0KXN9|sCj^JSiw_E$hz|@Ok3%l8$RifjBL>yucYxUc zt;0`;bmWkV9CGB<(Ei_Wm9Av_xk%alQ>kjuVueQ3e4TdUbh}~dNS9$zcbjozd4*M9 zOsf5uPkhK!P*~`@5R{RI1%;1?2S&aL4~Tjl9uWOoKQkAL^HPtAF!>QWLk?vsM{ zxY6O`eqrI`{=t!N0t2H)5U+oS|2U*0hYaqAkSQVdGY3KYf6_`B)@-R--fpf*+4)_! zrt9mM8X>)}h{?@;2K0({)4I%h^KP#S@@tO@_t)-a(XTx+qDDO9BS$?Wqei_#qh5Q5 zME@2Lhw6}WVLPNVo`6i`kS!tdoi3^Pr9?_=sY=FZu2If>qFdSW-t7T^%&&ToF6uniKQVH96*`TMPnqi2n`{za0aq$RUI2 z1Z43%ggkM<)gp21a)pHI`vxiE+b*om&?_<9?zd8YO{3Vjib2)v!fu_?j5dRYum-(O zw;F>1*BYAv_gc?>x7v_?hnj=|M|%8or?mJ%rwABSAN2dhQG97|O~0+VfmLN8u&D0WTo znl!!_a;cb*2%)3>T=t+^PC}1HNpOcoja!RGi#_t7HX3zMo2=XInw{J1n|)iU%@M6u zO)2dbP3gbI*QBi&$hf!-a-JN6e1ZEb+^cK1Qk!eh~j6;4h1XF>C<1xe?)DGC3eG4V)`*Aj^i=q?1S=h8W3 zG=E^&r&y@pt6HSjtA)@n)ax@X)bFz?(C>Gl>-W3o{|-~>7?g?qv*l|s`{9`;#shsL z|D0-?zt2?hnOU6vgGVFtt0*~kN!UJcR>;#GWiobSLXj3IhcJF6maIE0nWjA?o1yhW zF_Z8DpQ$-S$RrHuW)OzR>4afxgl*dI@G={NSuMK6@S&P<=kwviJJCH5XDhxud`w?s z7tH`ZeDrr7eg736E7uP^j?_6`PqQgre|^-0Ktw$Vn*a77NTB`$ng8@3D37YgD!4${-YI;){5M>Tl6kie9DuY%`|v^MOryaBgoR zTs#>Jm#=xiRVI75!EFw=#r5HyJOLi4ssJNVe(i~_%y$+;$yIh^@vmGaVqf{lqF)6~ zMZSod3V)F>6Z#^9kT(Wvg#a8ZIk#q<}>$Ma(er30RG4!067F9hd`#= z;ENpm#1tR^s{;Wzi|>Bw&MThU{)g)IMW{y>a@?HMBgQU-H7+@ z#!1sO%dB@4`@(UuTiKX#VC9%`bmbU1z4Em=y`tZ`u;LlDu%gMXu%gz!pt1r{ZeRFI zAQ06d=-4(0MGhgzApkjqi^)PXRuf`zj z6>m)ZYeva2HE+zaYMxW*)z9qdRZR}`>KcdqnsQoxO%bAymS6oV{&fgO4q?b46gdR* z@YHcl0zrhauJrm^)eEpzHS z?egjxX?b;3j=A-vh(f2_`aGxHx?HEcUjjj>4k7>R5cc>Mg!1x0te6xeVbvg2*$~n+ zY)~fT_9;m>=tHbQ%xtJh+N2L9f6S3qF=FA<@Y+1Ssn<5AvB@!~vC=8Ksn|KYiH^uY zWIE?GX8Z>KaR|S56vB~11TQ!I%%oDWc*s!JLwStV_Y8vbN;=7JDa9c2eY^?E=qz)_ zyd27&Q#~8HC{eA=_L;2}&Y7)+u9>a5h%7|9Yi3J|YgTjeZverl4xy+H5!e66A&Qq1 zlElOzLrxj8aHO?ty!nr84ceD%qSsQUZs=UPQQX@^i}ax|yW%!?mxgNlppJ6Kv}gHl zX&qVaX&q_q=^e@L>FtSb8Ex@ynXSJA1n>C&93oI1Vt6RrYT+V)`c}ewE8?Zug(m&gzglNlr!{nw6i-MvUYF(1QOIL(lSXM5DIDaFbS0N2P93CEbLc zm1b2N9%bL@7U(_b8W{iF!#82T+b5~d$2+;l*DIyV&ok}W@9=*(9D(S^HzApa8FD1~ z(VUjl=VC1GW4VIne60#;s*RvO(xYbI+ocvz-=v*TP+^dlkZ)S;n@V|R8|(7iIw4_z z7LnNR6qMBG?4Q)@>YLK-?w#8CJ3uJfcSoQ)L|;DwF;8wn8sC#2d6GO|3#G)C%Veo@)GlglO1E8j zO1FJ*N;l0vwexp?Fys(}IO-_SpVRn;wMpm;$VrGkF{I7v<B6@^l?gqZYY<`@?G<_0KPo8HJ}r)~`yg#xyojY`qJ31%s8X!&3*}7v zUVQP-J-6{Qvucx0H+0q>QDM}XUTM%muQn>ruQkcdt24>Y{Us2A@`o7YkZ|)5q_bT7 zS|o6Fp@#4Jcqh-5{t=ER?bG}cb&DdJC7&hCvlnEX6DH*X15tmw%aD9JrBAWIs9UX6 zzuTb9pxYMp`+FA~^+pyM^rjW*bQPEC))tlPRs9->Lit17vCWWl>k#Cyon9{I`FpaJ z?exH_M_1aX*x75Bcx6kz3Tfx8h+8JjOS^_lN(Fknk&L0D`w+;3*c{z{Wx7ruu|TKa zluqh*$R`c>?$E@)ULY4+kcm=K6#i69Q;YZEguS8 zM6a)0WZE*ft>prbv*9eSm(~=2fa-)$i1J&BFr{&9xZ*f2T;Z)ILN83=t!bFTgl(we zgjgvT$LNI?#ne{GtpJ%Q;S-hrwAaB*Mh>iu)M!2B=)p7I96QyEWSRcLU)byBj{PxsH8O>zK zudrLneB!p2TIREr_$W*j|0qrs`zV7@po)G}K@e<3mh};azvKma*H=f)CQNNF1E%Q5 zA%+Y%w=Ww0Ipq(RuDih1$2KT~Fo9d5I&c^Lu)43T2#?fd;jxw^Jk=3fW78G+!Kp9& zo!3CzAGZs40yk*|B_Dhp0T>NO_+jV^xkUN!4Lt5cKg6z zM;+nh1xq-4+W;;+Ccq^QWwyNFroa*+B`R{7dTVH(`qU&}-Mm(5u+iFbp2BdAl9#*lz~=kL$tFiyCn1mLi;E zl!kv;Md2#9Alww-g}cIB@KBTk9*eUBiv$~RNU{L8Bs1_!Jq2N@Cm=5M7-XcFKoOzz zOMtdxGuR*633g|XfX&@&V8+e{CW7KXmQ)5qd0o&|vslw2IjpLY-9Iba_^v2A2YgcS z4q8?S4qjG_MkEF=D`f;Pg(-R#rV`3vEKdS`HS;xX^eog(JU**f`+ZV!3S3t7M$aHP1U-w8 zWu?TBWn3nrAY@s&JouwZeek?`W6-o_OVC?lTi|QbGeqZxfD>|{9ozv9XgyHxUIj}w zHn0*91q#X_EYR7ziHiA}KGEST(a2*(-6~*Ng%cOtAl|Z{Yb!%OdcjnqAnUid*EONY2XsUHsXVtOUwe^FK$6K0+ATEpq3rCpivS#N2rON(5a6Z(Qk@*Vb~hoW7Hbc zZrmFCE5K#@W^hIh&d7m=9PC+{!G%u{+(hNTO@;tYN+v*6qpn(zJU$tj1TN}WM=oeO z#m%evCd{ivB+jcRCeCZ*CeCY?Crs+pB#h|S$G-pO<7;VE+( zNhx!Lyp$PYW%3*S+T<6;4N2YP#-ujWhU7-GhLmdaUjuIc>)?9!5I7+RSC+>plj4N{ z5orjJRs%l;1MtFAzBvyavswk|Z*?ovhK%b{ zyG`p;Tg~gz>MiQht1N2MOD%uRzYeYkw}IQaL*RlOJeipwfQK7Ge)i2tt3Zf?E(EGr z{_xgx{Om;XU9u*J&l}q&%<8zMPZLl!sFi~9!II3EhE~ER zIe45q2yS;Tga6Zq5RUe}F`^<6FQWkQiiGcRc;l5QO`8v)I<7N5hJoYGmNCN=hqPW} zul!DL``kBa;4Xr2Nzdaq?D9X zN{Z>!lHzQ;l9F`$lHwFZqJ3#mynR{WuK>?&o517X)_)y5kV6RbU5MplM*SdskdBr5 zmZ_|~oT;Y$K7(NLE{$X}l4#)8A7&QT>SLW!=}4m&*!Yy?+Qe35Qwz$|916>mXhr4m zh*(-tSv0M z>W<}Uo4!aVxjc(A38@XWN-FTO%TIH3tw?YPt%;>&R!2F}t0NF$P6bt=PK6aAPDSOx zj>VjqT%uD` zs$pA;u+aK>##nvT^ux`FvA zChFMH>!g-a_~hC zfp^Y9JnL1+5WKgVFZE=(NSb4=0?Rv5j}v&=DyP)lplDcMspe2zr0t)PV-OdWVw&w0 zZB=d^0r(&Xp95RK@B9G>x%)RH zvR+=x5xVuIP~zcYx#W|ndKu<79dcX)ec}qO9dh~=4JvlIRhqsD#iW?PT*FMqRMS#& zoK3w!d_aSKQf3`FCa=~kG_TG)Ag|WaH@}ABMX&x9|8ej~4&irCLn_;aZ}}oumrF%& z&DDzCdD|g%d+4PQd*`qiwzf}3x8RwgZA!DMcX$mU%A-^#okBM#(#x@`(#iF!(xzur z=w}s`8zvQ28b=pYnuHZpnFbbA{tEEjx(WPH9Rkk(3DI{?KnDBYpNoVpe5exq=UuDN z#o=M$f4axTSewQqWJ+I2X=gsiQlh(+JpJ17;r5LhsYcb>bV8MRiDs=&u||DbA+fr= zfJ84X(#t3*)=w-hF^noM{T1Mc@(2F|n;{4}#NRu*mdkPcV;SGc=|=7oF9$h}b&vDk zXr2*ctD2UU%%8v#65n7gf?mnFx(q6WnD;6rYIUh)t9FxfRr)-0l%J<$1zE}GDvS!CQj|8a;nO(K^p$0V~XmlFx2m#m8kNvJ_+Ah zpQ=_@m#$e-lc`y}F%XFIhoCO2G*5=u}N2-=tt`>gdX36|6 zC>HaLU&a3$pT5%ypOw`IekZ*dL2tEpqQOezGT{p2_z3xNy$JcY6twquNBjP;5QTRs z!3yt6gXG_|hRBb$ZOB?E%0R;Rqk9KVGb~h|!~DDpvSsG{&Z@mP8 z?hhO)E^8dR)?c{HjnH{N0nKD6&j@+TPf7U6PALS)OlkPbOd0yiOk4ZOOuPEZ%mkq< zAi+y!w$M{%u4qHPpm%*k%pT19f}NPY)@_*9>3x{0>RwLqPc1x9yTvYiFd^DK_5obx1Q%TG#xr)zgx`;0rAgr9lJ~%pweeiV@ zTa2ZNEyiugLJS5oiZY1q3I1G%qkWa-ab=He>?R-&K8C?cO^D8iqVC_cfbgM6ZPh zhRrUpeTNO~J75e4P7>khKPqtY78cGv6o-pXh2SzfA6)0+hTFUxaG#$I9tp6(6G3KR z6?y`k!c4#?%m_llk3d}bA;<_n0Ht42Rfk?T--BKU{}O%v40>Jt56osuz--qC%pP^v zd{6;)osfb*&k4iPD|{#q;evDb*x=Hmr*MtwG2D8>2=~wr&_~P<;0en;U}e1vT&#D1 zkM$M^v)%*=)*B#)klzq6-LVaf5AFfd$wNT6`41?wFo7ESZLcaS0V-H!P*BwdX_660 zkS#!zN&yj98xZ!l1>p!=5J|8F(R4(v45Q60o=twGck{r~-_AQFy9 zprSfZK`b9pNd@s{>JQ0I+ZEX!+eP_)n>nRHnv8<64FU7*TfyYOZqPe<5QsM~ zg2vNFpv}bv+QQ;MKzkfjWo=L-8iS0n6-ZL3YvNA!YhpeQKg7alKg8l`Kg81!blRFk zwZocZo5L5GPKPD=9{V|5zulzDpxwCIF!hz%E4z&V3*cYdY$!g+u&?AoohF<^xp%>LX3Mkfw{9&#{dyayKStYFD61m>s*!5E$Ylki5M zp+otBBhyx~RJX4(?w((zgS@^<$9a8~$?*CrTjKc@+vvHZ)aEgR@AMeg=yiXkHQ+u# zeBsfhJ?Pn{voS!~x&_RUg9&mlxN!l@AKd{Pl!H)F24Rab2um4tFvb}GNz3Yox)E(v z$=c%!*2U+uY=G})*;v2NvYEc0v1PuW6qsA3p$w*DrwegInN$G6*M>K{$#?fxR>ytQ2*@Si@pXN8jPAs)fgA zMMu9+Siite*qFeN@)?0kilqSy%FO{28twiswY&ZLNWK0YdOZP6`aOZQ20cNQhTR(i zHpsyWIhY>*6Uf)jgWdfb;KIs?vKTJ#5D^DA^xdE-Xn&`untm}R*)40EdVEl|^M8-? z44K7+hfb@cgiNUxhD@qA1;5gM7SyNL9n_}Z6;f~58Cqr38CGW88CLWQ{&k=r2Xo|L zarG=X-oFZ-tPjAKj~)C(g~3-^{=0_)VZ{k=yhtJ1%$XRwPU=|uk88Mujj9Jlyw*sF zctywyA12m^_v$_iZ#8@tUTfSDS#HuESxjz^qMNoy<(jrfZUoqF-3-?IcYp27U)FmN#K!_5q5?mHWn?}FD5x%ayh(OKgsLOKhfjYb?4-WJ7?89Bhz-C32u%J`J7^{((TY z+YrY81R}+FzDCN3FNG^A%?0C$6TSrUh?@cRIn~^&)07(CY~U7GuOFOHYmk&sZB&?0 zVbYXPXx@~NYtfXLVcC?Jib%FDGe!c)(t5!)(y!~){RLU@xKn+fr1>IE}sDZ2j?Jy?Ha`K-~XB<&a#*y z%R7^zBtD*uR~U}d(C!H(SvC6_yH~nch8EaT6EZE`($g$LGn1`SGm|Lg8F4nX8PSMH z+uHPS+q(2H+xpZH+xnD^0DDvi>i+FujT~Grqdu(%e?v6eWk?dZvyvvkG@ps(n9Rlr zjAr4b29i~^+GDgWYC{ZNi+#+3GhM6`;;D|AQ8s=#;kNO)q11w$V7scEK)b5!0K4ie ze`-ypKeaZ)k6M?u5#WFv?2v;Ea&W(ldZf_2S{&QO@2LVeK4wYWpUuNQ8K*094Cl*9 zbY-e&HYO3w%A@t1b3@2MNj{cw;V#rnKL>ZZw?jmM2Q8cKPAjLoJ5=PmJ5=Vn+gIgy z*jHzH*wid*ony{15QDd<4QDoPb33b6+zAFMr6Byfs-UbAPl9`?$YETC6Qk zNxeElgIt(Ma!ijl3Wy0YkM;Ml&UAKhEVOqHEVgw?DYkJbEuuP=71}$M(;XZu^JuiH z97kGp)dNd07vBDfE?_RL%`(&5c}ZBS_b>^CA!e*sWRceN9)DT47Bn-Y^@g)tg6JS(2JD~ zQ}Z?KBC~XSd{MuYLo7MfB#c5Qg}4>#gvAtTM-&(61((we{L1M@-WB;K9+i2fZdJJ( z0Zzz)h8!GE?1kXVf1vrr1FJdghv!T9kG!qrJ2KqKak8t6`(AyU2!C;dj8bN`qJC_t zs!dP>iW<>>ot3^;FQ z0H=N1!1cs#2*0!kQt$8kL}&YBx{71pNC(UAzTrp5TLw99SM&<<M)=eHgYsBvf`VH&}MCJ4n8*D@3v8Svan^BT^-=J!&JsonaHW z@7n^QhZ!LK)TV{9Gnm1i9hi=ZlMHq5@9!&p&vqvFJ>Q+ASwYUwX(1_(Ng;LH2_Ykc zaS>a!F>yD!F?k>9aiX8p1jSeCov*jlRI;b!Os$8^n;uV@{sA9sYoDKdZEwIvfEUUi zy!LK}n0=VJyj__7hHaRR=Q}WU^B1<3etdK=cbWY{(lYnMuqAFDuSISd`$Zmg@&_IR z!UCU_!h(>4)V!3d_E(B8xRN@!4Jn$+`Wkb6i#6izG?Q{&L2JOEKx={}T z${-?P@8$qFw%ZNP9JPfD=gIKTEp52WgnA%2WZ{N@INT8vga=Z5@C3^ZZ1Nnyqre72 ziYy?h_!JZrpMbgo6X+^1f|>k7aFBlhUUD1p3}qm-6&OrWI|h?Fh`~fmVK6?hZL=fn z*-3#z2aMp@DFU3lqy%SfOT+m`B5;YBAFgq5!EJ7KxQ~ADF$p{c7Qx5BCBz8)LJvVq z=sw5@-2>QOIDNfQQ>-itmTWe{E{gRo!2Y&HXi9lEe>uNv$= zEC>5fio>A`0&wgqH=Mb}1{dx*-ApK#g}| zPp^T@(<`9#w zv%$X8PvGF$NATDA`*7;w9XNaG7F@i11Fl@T4mYn}g}c`-!=r2e05jUCa9lqReAmx{ z$o0QLYC}M4*G^D9{0Csq90g(YPlTCnfjB2>ClTfW5m|BI$IAmZ2@f3R8o=&A05&fz zU=2aU5rHiokxvBn3N2u7K@4gE*J~}{8zp=b8Yg@bd#AZ5F{LplJ)R-( zM1E=`2MLZRAR)v9qB7zjprQag$br)gIoN9fn%zE^wqF@^pc-f&`pxB;Xn%0pClVZ^9!wE8=6?AEYL< zXJw~|@31q(ak*LT^#GlnJ3!;mK2SJ)1jMhM1=)u;KoRZr6!^FRDy*zgt`U@>FWTWl>zWL8v(Z; zBFY%JQ;mTq4^d?Vyq!iMFle|cI&An+>b1dp?3lr%!i4@C#Yuxm-&h0=r zv=?xv4ukB~zd;rCKoFih00I{~s0#}NPF5ad@#-K>(gh(iBjBTvf!D_rcp^-JHwBSr z3jEckAn=U*L*zO6ljN|;JodH8q{5i-C~m@dNO{tvS7nOajh`}I5767O9f$|_f(mj_ zM0-80+m}!la}VV~tUwYJ1WhR{DC5*XmZ%G2CMF<6H3tC?3lIpkToX*N{2`QW`CX*U z;+trT#TSVI^99*qvq{Afvk~QSvqAiXd5`Kli*~hlmM!WN>jL`7K^r;XQ9h~q&q>fj zxtIx>i81AP3MK-4pf4c}S_*hj(IBm14analD3)KvT&zEf2H32K$Ji`Oq*;HIDzaXZ zuBR-@4p62PUs{de-&hW)j#E0-$I+@7X5{jyQwlZI zNu@s9QT%J0e)TuD9hz_Knh2u~wZsvJ3hfbE*#>|iav&iGjh~s=xxc{T#@}Gacok^u z4}iwc4t8R~U#(>2myMM*7j%e5GpZ(5lS;PsZx!4e#}tDdN0s6oN0hT^uke))FY(xr+Nt8`wvl#*V$6zaZop>F^fZQBNVf9?j&;|Ia;XV2V?Q{cpS3EbH4 zfIC0)s;d~^GEG)`-dag@icHWOBNBl!27xOsYbi@sHMAhtCzTTYPP$! zq71H9XUMHg_k~9xy7nzk|Al9^!3&Sf4FF^0ppP81kOLX@#Ms|B0q%_F!JGZYcVB+S zPd;Lt^PV!IQ_hNtV^mG8VRLGc7x}R)U9DGacQ2+h|Jg*&sphw5QMX;Y; zisid99WQ!!EMEG_P_#UMcZjM|lP^)X(p8^QU}x%WJ{NdKSJO$YBc@??V~s(Y@ewW)JvZ-4Bru z4}D5tJvN)ldwM)ecj`Fs3N^rLc zOmekNOmem@N^-JoN_4VqPH?hmiF3ATjd8Yai*~kdk6I5fLk=d$!TiV`a5=LJ%?|GU z5%b{Br4*LKQ&~KJjpPfR=+EcB)s`j6S(Bn5Qxva8$ciMICIsu#!hB8qyxlCK9BFn* zw)S4B*7i|pRt~wTmJao)6#K?x8@r}NTWWJWmD(ChwQY@A4=~@n1<1(3>c}o|KfMz| zuk2n;xW9KkgL(hke69n-C7egQi+Qg%=8LnJXUR$BrK)J8#1l-SqIB&8LXCV}{7fS# z?v!K`7v~H^myis7*Nk*Mx4JY#=lT>A$Hrt+T2rFALvy@^eM{VWfCX|e-MbTP5AOu8 zQ`;f((vHt5cX!R?KHfcA!n$jqn(1(R1^3mOVo{dDd|B~~Y@BLbnz~U)B9ZDDqvvTC zW*lY`V3DZp>yW198<@l)(5N@HiP+| z9pHRuE1F;2{5|n3!(8qqhLOsPoBG?%FtoPc+h5hnc7fi=&zM#tE*M=Qs~A|KL~^6! zEp2i%oeeXz{ZThagmNl18kgo5g-cJ4P|BzZS5A2rj*sn#P>pDhR1a>CQV(1oplsR< zmV36NUa`#(eq_^1+FzK-;=`DM7PSBGIlif`_vYT>o~M6jKI6F`*DA~#(kO}bti@{C zS1OvCmZ>-pi!{8@+b4q*3ax|Xi+qCQiW39mN-F*2iu(K%vw8!RQo4hb^{s;&Q?rcCEEW#Lo)zFhcRU@Z|=$&W;&TT$Z;#IkDtS*TSU^a zLsHG6RmPCiByXeApzI=7uj47xVC5;(=;bbrUIr=EQtl$v{K{FTa>xx^_`*Xj`?;5V z#(?*F02RXkjypF)$S%xq$|iLFz8TY2w;5B{vkg=B=FF!2w-0uwy=6TXJ;r_2e}wm` z%PRq4%8;;<{&O*sYQLlzwol$xs-IvlF<@aQKIlOee-UdVHe6yY`tp^Pc=x!CMAI8P zsmc+Wbm?oy^#BLtfco|(qA{3WwD)W)W5Cq5Y{rxfZpY+JU)Yj5d;gD^*{7!iXV`AJ zO>?l=OmYbuzT;6)pWq|Ny%jQ)cq?rxGNEcNJZWSmJVi4Vnhr4$n$0v8oNF-@ni?|{ ze)-Nsq-WAhv}4kIJ-`XGX*me(|C7=F8}%U6)^5U-bZx<8zu${VS-Q9_`s3|`fy)oi zxqWR+A+bA;J=ytl}aEUUG?-D7+-9$Ny1YpXU=npZk-U9_NaiF6ZYc9gZ(_ zZT8h}BKM~;E&iEFE&jLD+Uo%xXa)q;pab2>QCE)kzpa}vSp%CfiC+$EiuitRr~mhB zhh2Z%K5zTu-ffc~51ENS9`WIRFo{e3cq%8n#-Ypy{A!#ap}_`98Z4l#{uC_Ln7~7o z5nT?)2t_K7pj-Jdyv4D6pHy0pQIvsnrD8A*MHoz30|t|gGKhFIixCR@8GPWxPG>lO z$Qmx6HHPaqwBY6=9LhqZ;T~$hek95ZPbE2kLxu$euunh|i{>1#4}pli59YFW!9@lg z#7N(Ubg5g=D0vI|)}f;82iK3!1Nre;uxI)k z+}5QEWgv9)43ba=5rT3U*AWbcGK1MxdV%q9)MY*9cC5-11Z2h4sBz#Mu4TmE_gyN=(1KTh3*L#MC7 zu``$9)ZhQWxw9AGpR;G-+SxO3`|L@0`1dh*`u9=bICBK}&m01=(+5F%T|jQ%9uWKM zAaI{Q4v%l2MPpePfgPReu?su~7HLj+qQVc1y29|#QVi}piNjrA3Ah`9NJ3;wz`YVg zJ)##eE&=!F#ewOAI501X0sAMhRj$vXE4*Js7Wr4#1?2bc0r8^;falzCV7_@4*za8g zZsyy-&G#7CB{+cvCkT(VMS;;w0vG(7A@j7b6GoD@7= zkOKBa$#2}t5-WTw5=#PK#OH**O3bbUDD2%0lE{GkuNgu)&UfegA{V$KYI+gubu(^+viaxbrXcSm_R_33%KM^6smz* zvW(DY*vbQwy83Ppm0!s$;Rj_u zs&>nLRO^;oR{w8+%I;l&J+dD}∈Z=)0kK^)#rVb9Z%g?vCeU1qBH~kXDoi5dsbb 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%0A?S53!X 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%0D7$7l`9o;&_^Vd6K;U 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

    + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() { + this.SuspendLayout(); + // + // SidePanelContainer + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(287, 346); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow; + this.MinimizeBox = false; + this.Name = "SidePanelContainer"; + this.ShowInTaskbar = false; + this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; + this.Text = "Side Panel container"; + this.TopMost = true; + this.ResumeLayout(false); + + } + + #endregion + } +} \ No newline at end of file diff --git a/OnTopReplica/SidePanelContainer.resx b/OnTopReplica/SidePanelContainer.resx index e69de29..29dcb1b 100644 --- a/OnTopReplica/SidePanelContainer.resx +++ b/OnTopReplica/SidePanelContainer.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + \ No newline at end of file diff --git a/OnTopReplica/SidePanels/AboutPanel.cs b/OnTopReplica/SidePanels/AboutPanel.cs index e69de29..679c2d3 100644 --- a/OnTopReplica/SidePanels/AboutPanel.cs +++ b/OnTopReplica/SidePanels/AboutPanel.cs @@ -0,0 +1,33 @@ +using OnTopReplica.Properties; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using WindowsFormsAero.Dwm; + +namespace OnTopReplica.SidePanels { + partial class AboutPanel : SidePanel { + + public AboutPanel() { + InitializeComponent(); + + //Display version number + labelVersion.Text = string.Format(Strings.AboutVersion, Application.ProductVersion); + } + + public override string Title { + get { + return Strings.AboutTitle; + } + } + + public override Margins? GlassMargins { + get { + return new Margins(0, 0, 0, labelVersion.Height); + } + } + + } +} diff --git a/OnTopReplica/StartupOptions/Options.cs b/OnTopReplica/StartupOptions/Options.cs index e69de29..35f1b4e 100644 --- a/OnTopReplica/StartupOptions/Options.cs +++ b/OnTopReplica/StartupOptions/Options.cs @@ -0,0 +1,163 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Drawing; +using System.IO; +using OnTopReplica.WindowSeekers; + +namespace OnTopReplica.StartupOptions { + + /// + /// Represents startup options that can be set via CLI scripting (or other stuff). + /// + class Options { + + public Options() { + Status = CliStatus.Ok; + Opacity = 255; + DisableChrome = false; + MustBeVisible = false; + Fullscreen = false; + } + + #region Position and size + + public Point? StartLocation { get; set; } + + public ScreenPosition? StartPositionLock { get; set; } + + public Size? StartSize { get; set; } + + #endregion + + #region Window cloning + + public IntPtr? WindowId { get; set; } + + public string WindowTitle { get; set; } + + public string WindowClass { get; set; } + + public ThumbnailRegion Region { get; set; } + + public bool MustBeVisible { get; set; } + + #endregion + + #region Options + + public bool EnableClickForwarding { get; set; } + + public byte Opacity { get; set; } + + public bool DisableChrome { get; set; } + + public bool Fullscreen { get; set; } + + #endregion + + #region Debug info + + StringBuilder _sb = new StringBuilder(); + TextWriter _sbWriter; + + public CliStatus Status { get; set; } + + /// + /// Gets a debug message writer. + /// + public TextWriter DebugMessageWriter { + get { + if (_sbWriter == null) { + _sbWriter = new StringWriter(_sb); + } + return _sbWriter; + } + } + + /// + /// Gets the debug message. + /// + public string DebugMessage { + get { + if(_sbWriter != null) + _sbWriter.Flush(); + return _sb.ToString(); + } + } + + #endregion + + #region Application + + public void Apply(MainForm form) { + //GUI + form.IsChromeVisible = !DisableChrome; + form.Opacity = (double)Opacity / 255.0; + + //Seek handle for thumbnail cloning + WindowHandle handle = null; + if (WindowId.HasValue) { + handle = WindowHandle.FromHandle(WindowId.Value); + } + else if (WindowTitle != null) { + var seeker = new ByTitleWindowSeeker(WindowTitle) { + OwnerHandle = form.Handle, + SkipNotVisibleWindows = MustBeVisible + }; + seeker.Refresh(); + + handle = seeker.Windows.FirstOrDefault(); + } + else if (WindowClass != null) { + var seeker = new ByClassWindowSeeker(WindowClass) { + OwnerHandle = form.Handle, + SkipNotVisibleWindows = MustBeVisible + }; + seeker.Refresh(); + + handle = seeker.Windows.FirstOrDefault(); + } + + //Position lock + if (StartPositionLock.HasValue) { + form.PositionLock = StartPositionLock.Value; + } + + //Size and location start values + if (StartLocation.HasValue && StartSize.HasValue) { + form.StartPosition = System.Windows.Forms.FormStartPosition.Manual; + form.Location = StartLocation.Value; + form.ClientSize = StartSize.Value; + } + else if (StartLocation.HasValue) { + form.StartPosition = System.Windows.Forms.FormStartPosition.WindowsDefaultBounds; + form.Location = StartLocation.Value; + } + else if (StartSize.HasValue) { + form.StartPosition = System.Windows.Forms.FormStartPosition.WindowsDefaultLocation; + form.ClientSize = StartSize.Value; + } + + //Clone any found handle + if (handle != null) { + form.SetThumbnail(handle, Region); + } + + //Other features + if (EnableClickForwarding) { + form.ClickForwardingEnabled = true; + } + + //Fullscreen + if (Fullscreen) { + form.FullscreenManager.SwitchFullscreen(); + } + } + + #endregion + + } + +} diff --git a/OnTopReplica/app.config b/OnTopReplica/app.config index e69de29..06326b9 100644 --- a/OnTopReplica/app.config +++ b/OnTopReplica/app.config @@ -0,0 +1,63 @@ + + + + +
    + + + + + + 255 + + + (Default) + + + True + + + True + + + True + + + True + + + False + + + False + + + 0, 0 + + + 0, 0 + + + False + + + + + + + + + 0 + + + [CTRL]+[SHIFT]+C + + + [CTRL]+[SHIFT]+O + + + Standard + + + + From 15f56911683e2e9af31abcde45a23b418a22b79e Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Tue, 15 Oct 2013 15:07:28 +0200 Subject: [PATCH 158/164] Added designer files to source control (for a less painful checkout experience). --- OnTopReplica/Properties/Resources.Designer.cs | 453 +++++ OnTopReplica/Properties/Settings.Designer.cs | 241 +++ OnTopReplica/Strings.Designer.cs | 1644 +++++++++++++++++ 3 files changed, 2338 insertions(+) create mode 100644 OnTopReplica/Properties/Resources.Designer.cs create mode 100644 OnTopReplica/Properties/Settings.Designer.cs create mode 100644 OnTopReplica/Strings.Designer.cs diff --git a/OnTopReplica/Properties/Resources.Designer.cs b/OnTopReplica/Properties/Resources.Designer.cs new file mode 100644 index 0000000..f094914 --- /dev/null +++ b/OnTopReplica/Properties/Resources.Designer.cs @@ -0,0 +1,453 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18051 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.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() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("OnTopReplica.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap back { + get { + object obj = ResourceManager.GetObject("back", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap clickforwarding { + get { + object obj = ResourceManager.GetObject("clickforwarding", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap close_new { + get { + object obj = ResourceManager.GetObject("close_new", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap desktop { + get { + object obj = ResourceManager.GetObject("desktop", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap flag_czech { + get { + object obj = ResourceManager.GetObject("flag_czech", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap flag_danish { + get { + object obj = ResourceManager.GetObject("flag_danish", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap flag_germany { + get { + object obj = ResourceManager.GetObject("flag_germany", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap flag_ita { + get { + object obj = ResourceManager.GetObject("flag_ita", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap flag_poland { + get { + object obj = ResourceManager.GetObject("flag_poland", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap flag_spanish { + get { + object obj = ResourceManager.GetObject("flag_spanish", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap flag_usa { + get { + object obj = ResourceManager.GetObject("flag_usa", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap fullscreen { + get { + object obj = ResourceManager.GetObject("fullscreen", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap groupmode { + get { + object obj = ResourceManager.GetObject("groupmode", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap help { + get { + object obj = ResourceManager.GetObject("help", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap icon { + get { + object obj = ResourceManager.GetObject("icon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). + /// + internal static System.Drawing.Icon icon_new { + get { + object obj = ResourceManager.GetObject("icon_new", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap list { + get { + object obj = ResourceManager.GetObject("list", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap minimize { + get { + object obj = ResourceManager.GetObject("minimize", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap pos_bottomleft { + get { + object obj = ResourceManager.GetObject("pos_bottomleft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap pos_bottomright { + get { + object obj = ResourceManager.GetObject("pos_bottomright", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap pos_center { + get { + object obj = ResourceManager.GetObject("pos_center", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap pos_null { + get { + object obj = ResourceManager.GetObject("pos_null", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap pos_topleft { + get { + object obj = ResourceManager.GetObject("pos_topleft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap pos_topright { + get { + object obj = ResourceManager.GetObject("pos_topright", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap refresh { + get { + object obj = ResourceManager.GetObject("refresh", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap regions { + get { + object obj = ResourceManager.GetObject("regions", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap window_border16 { + get { + object obj = ResourceManager.GetObject("window_border16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap window_multiple16 { + get { + object obj = ResourceManager.GetObject("window_multiple16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap window_opacity { + get { + object obj = ResourceManager.GetObject("window_opacity", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap window_switch { + get { + object obj = ResourceManager.GetObject("window_switch", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap window16 { + get { + object obj = ResourceManager.GetObject("window16", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap xiao_add { + get { + object obj = ResourceManager.GetObject("xiao_add", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap xiao_arrow { + get { + object obj = ResourceManager.GetObject("xiao_arrow", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap xiao_component { + get { + object obj = ResourceManager.GetObject("xiao_component", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap xiao_delete { + get { + object obj = ResourceManager.GetObject("xiao_delete", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap xiao_down { + get { + object obj = ResourceManager.GetObject("xiao_down", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap xiao_ok { + get { + object obj = ResourceManager.GetObject("xiao_ok", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap xiao_up { + get { + object obj = ResourceManager.GetObject("xiao_up", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap xiao_wrench { + get { + object obj = ResourceManager.GetObject("xiao_wrench", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/OnTopReplica/Properties/Settings.Designer.cs b/OnTopReplica/Properties/Settings.Designer.cs new file mode 100644 index 0000000..b5038b9 --- /dev/null +++ b/OnTopReplica/Properties/Settings.Designer.cs @@ -0,0 +1,241 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18051 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica.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; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public global::OnTopReplica.StoredRegionArray SavedRegions { + get { + return ((global::OnTopReplica.StoredRegionArray)(this["SavedRegions"])); + } + set { + this["SavedRegions"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("255")] + public byte Opacity { + get { + return ((byte)(this["Opacity"])); + } + set { + this["Opacity"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("(Default)")] + public global::System.Globalization.CultureInfo Language { + get { + return ((global::System.Globalization.CultureInfo)(this["Language"])); + } + set { + this["Language"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool MustUpdate { + get { + return ((bool)(this["MustUpdate"])); + } + set { + this["MustUpdate"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool ClickThrough { + get { + return ((bool)(this["ClickThrough"])); + } + set { + this["ClickThrough"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool FirstTimeClickThrough { + get { + return ((bool)(this["FirstTimeClickThrough"])); + } + set { + this["FirstTimeClickThrough"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool FirstTimeClickForwarding { + get { + return ((bool)(this["FirstTimeClickForwarding"])); + } + set { + this["FirstTimeClickForwarding"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool FullscreenAlwaysOnTop { + get { + return ((bool)(this["FullscreenAlwaysOnTop"])); + } + set { + this["FullscreenAlwaysOnTop"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool RestoreSizeAndPosition { + get { + return ((bool)(this["RestoreSizeAndPosition"])); + } + set { + this["RestoreSizeAndPosition"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0, 0")] + public global::System.Drawing.Size RestoreLastSize { + get { + return ((global::System.Drawing.Size)(this["RestoreLastSize"])); + } + set { + this["RestoreLastSize"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0, 0")] + public global::System.Drawing.Point RestoreLastPosition { + get { + return ((global::System.Drawing.Point)(this["RestoreLastPosition"])); + } + set { + this["RestoreLastPosition"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool RestoreLastWindow { + get { + return ((bool)(this["RestoreLastWindow"])); + } + set { + this["RestoreLastWindow"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string RestoreLastWindowClass { + get { + return ((string)(this["RestoreLastWindowClass"])); + } + set { + this["RestoreLastWindowClass"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string RestoreLastWindowTitle { + get { + return ((string)(this["RestoreLastWindowTitle"])); + } + set { + this["RestoreLastWindowTitle"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0")] + public long RestoreLastWindowHwnd { + get { + return ((long)(this["RestoreLastWindowHwnd"])); + } + set { + this["RestoreLastWindowHwnd"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("[CTRL]+[SHIFT]+C")] + public string HotKeyCloneCurrent { + get { + return ((string)(this["HotKeyCloneCurrent"])); + } + set { + this["HotKeyCloneCurrent"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("[CTRL]+[SHIFT]+O")] + public string HotKeyShowHide { + get { + return ((string)(this["HotKeyShowHide"])); + } + set { + this["HotKeyShowHide"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("Standard")] + public string FullscreenMode { + get { + return ((string)(this["FullscreenMode"])); + } + set { + this["FullscreenMode"] = value; + } + } + } +} diff --git a/OnTopReplica/Strings.Designer.cs b/OnTopReplica/Strings.Designer.cs new file mode 100644 index 0000000..d1ed777 --- /dev/null +++ b/OnTopReplica/Strings.Designer.cs @@ -0,0 +1,1644 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18051 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace OnTopReplica { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Strings { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Strings() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("OnTopReplica.Strings", typeof(Strings).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Created by: %.. + /// + internal static string AboutAuthor { + get { + return ResourceManager.GetString("AboutAuthor", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Lorenz Cuno Klopfenstein. + /// + internal static string AboutAuthorContent { + get { + return ResourceManager.GetString("AboutAuthorContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Abort update process.. + /// + internal static string AboutButtonCancelTT { + get { + return ResourceManager.GetString("AboutButtonCancelTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show details about OnTopReplica.. + /// + internal static string AboutButtonExpanderTT { + get { + return ResourceManager.GetString("AboutButtonExpanderTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset all OnTopReplica settings.. + /// + internal static string AboutButtonResetTT { + get { + return ResourceManager.GetString("AboutButtonResetTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update OnTopReplica now.. + /// + internal static string AboutButtonUpdateTT { + get { + return ResourceManager.GetString("AboutButtonUpdateTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Care to contribute to the project? You are welcome to improve available translations, start a new one for your native language or to check out the % from CodePlex.. + /// + internal static string AboutContribute { + get { + return ResourceManager.GetString("AboutContribute", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to source code. + /// + internal static string AboutContributeContent { + get { + return ResourceManager.GetString("AboutContributeContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica is based upon the WindowsFormsAero library and some other libraries and code sources. %.. + /// + internal static string AboutCreditsSources { + get { + return ResourceManager.GetString("AboutCreditsSources", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Read the full credits. + /// + internal static string AboutCreditsSourcesContent { + get { + return ResourceManager.GetString("AboutCreditsSourcesContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Contribute. + /// + internal static string AboutDividerContribute { + get { + return ResourceManager.GetString("AboutDividerContribute", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Credits. + /// + internal static string AboutDividerCredits { + get { + return ResourceManager.GetString("AboutDividerCredits", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to License. + /// + internal static string AboutDividerLicense { + get { + return ResourceManager.GetString("AboutDividerLicense", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Updates. + /// + internal static string AboutDividerUpdates { + get { + return ResourceManager.GetString("AboutDividerUpdates", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The application is licensed under the % license, which meets the terms of the "open-source" definition specified by OSI.. + /// + internal static string AboutLicense { + get { + return ResourceManager.GetString("AboutLicense", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Microsoft Reciprocal (MS-RL). + /// + internal static string AboutLicenseContent { + get { + return ResourceManager.GetString("AboutLicenseContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A lightweight, real-time, always on top thumbnail of a window of your choice.. + /// + internal static string AboutSlogan { + get { + return ResourceManager.GetString("AboutSlogan", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to About OnTopReplica. + /// + internal static string AboutTitle { + get { + return ResourceManager.GetString("AboutTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Translators: {0}. + /// + internal static string AboutTranslators { + get { + return ResourceManager.GetString("AboutTranslators", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Christian Olaechea M., Daniel Zeus.EX, Federico Lorenzo, Goran Brecelj, Jan Romanczyk, Marco Kraxner, Patrik (batupata), Raúl Morillo, René Mihula, Roberto Leiro, Rodrigo Lourenço, Thomas Amundsen, Eric Hoffmann.. + /// + internal static string AboutTranslatorsContent { + get { + return ResourceManager.GetString("AboutTranslatorsContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Check now!. + /// + internal static string AboutUpdatesCheckNow { + get { + return ResourceManager.GetString("AboutUpdatesCheckNow", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica automatically checks for updates at every start up.. + /// + internal static string AboutUpdatesDisclaimer { + get { + return ResourceManager.GetString("AboutUpdatesDisclaimer", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Version {0}. + /// + internal static string AboutVersion { + get { + return ResourceManager.GetString("AboutVersion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica. + /// + internal static string ApplicationName { + get { + return ResourceManager.GetString("ApplicationName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset window completely?. + /// + internal static string AskReset { + get { + return ResourceManager.GetString("AskReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to &Reset + ///All settings will be lost.. + /// + internal static string AskResetButtonOk { + get { + return ResourceManager.GetString("AskResetButtonOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary.. + /// + internal static string AskResetContent { + get { + return ResourceManager.GetString("AskResetContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset. + /// + internal static string AskResetTitle { + get { + return ResourceManager.GetString("AskResetTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset settings?. + /// + internal static string AskSettingReset { + get { + return ResourceManager.GetString("AskSettingReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost).. + /// + internal static string AskSettingResetContent { + get { + return ResourceManager.GetString("AskSettingResetContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset settings. + /// + internal static string AskSettingResetTitle { + get { + return ResourceManager.GetString("AskSettingResetTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to &Cancel. + /// + internal static string ButtonCancel { + get { + return ResourceManager.GetString("ButtonCancel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Draw regions using mouse.. + /// + internal static string DrawRegions { + get { + return ResourceManager.GetString("DrawRegions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Details. + /// + internal static string ErrorDetailButton { + get { + return ResourceManager.GetString("ErrorDetailButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Details on Windows Aero. + /// + internal static string ErrorDetailsAero { + get { + return ResourceManager.GetString("ErrorDetailsAero", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Windows Aero is only available on Windows Vista Home Premium or higher.. + /// + internal static string ErrorDetailsAeroInfo { + get { + return ResourceManager.GetString("ErrorDetailsAeroInfo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 'Desktop Composition' is not enabled.. + /// + internal static string ErrorDwmOff { + get { + return ResourceManager.GetString("ErrorDwmOff", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows. + /// + ///To do so, right-click on the desktop and click on Personalize.. + /// + internal static string ErrorDwmOffContent { + get { + return ResourceManager.GetString("ErrorDwmOffContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error details. + /// + internal static string ErrorGenericInfoButton { + get { + return ResourceManager.GetString("ErrorGenericInfoButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error: . + /// + internal static string ErrorGenericInfoText { + get { + return ResourceManager.GetString("ErrorGenericInfoText", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to It appears that the selected window has been closed or is not valid anymore.. + /// + internal static string ErrorGenericThumbnailHandleError { + get { + return ResourceManager.GetString("ErrorGenericThumbnailHandleError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Error. + /// + internal static string ErrorGenericTitle { + get { + return ResourceManager.GetString("ErrorGenericTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Desktop Composition' is not supported on your Operating System. + ///You must run this application on Windows Vista Home Premium or better.. + /// + internal static string ErrorNoDwm { + get { + return ResourceManager.GetString("ErrorNoDwm", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Desktop Composition unsupported. + /// + internal static string ErrorNoDwmTitle { + get { + return ResourceManager.GetString("ErrorNoDwmTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No thumbnail loaded.. + /// + internal static string ErrorNoThumbnail { + get { + return ResourceManager.GetString("ErrorNoThumbnail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to create thumbnail. + /// + internal static string ErrorUnableToCreateThumbnail { + get { + return ResourceManager.GetString("ErrorUnableToCreateThumbnail", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to fit window.. + /// + internal static string ErrorUnableToFit { + get { + return ResourceManager.GetString("ErrorUnableToFit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unable to check for updates.. + /// + internal static string ErrorUpdate { + get { + return ResourceManager.GetString("ErrorUpdate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit <a href="http://ontopreplica.codeplex.com">OnTopReplica's homepage</a>).. + /// + internal static string ErrorUpdateContent { + get { + return ResourceManager.GetString("ErrorUpdateContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down.. + /// + internal static string ErrorUpdateContentGeneric { + get { + return ResourceManager.GetString("ErrorUpdateContentGeneric", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Mode. + /// + internal static string FullscreenMode { + get { + return ResourceManager.GetString("FullscreenMode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Always on top. + /// + internal static string FullscreenModeAlwaysOnTop { + get { + return ResourceManager.GetString("FullscreenModeAlwaysOnTop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Forces OnTopReplica to stay always on top.. + /// + internal static string FullscreenModeAlwaysOnTopTT { + get { + return ResourceManager.GetString("FullscreenModeAlwaysOnTopTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click through. + /// + internal static string FullscreenModeClickThrough { + get { + return ResourceManager.GetString("FullscreenModeClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.. + /// + internal static string FullscreenModeClickThroughTT { + get { + return ResourceManager.GetString("FullscreenModeClickThroughTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Standard. + /// + internal static string FullscreenModeNormal { + get { + return ResourceManager.GetString("FullscreenModeNormal", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Behaves like an ordinary window. You can bring other windows above OnTopReplica.. + /// + internal static string FullscreenModeNormalTT { + get { + return ResourceManager.GetString("FullscreenModeNormalTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica fullscreen. + /// + internal static string FullscreenTitle { + get { + return ResourceManager.GetString("FullscreenTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disable. + /// + internal static string GroupSwitchModeDisableButton { + get { + return ResourceManager.GetString("GroupSwitchModeDisableButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Group mode. + /// + internal static string GroupSwitchModeEnableButton { + get { + return ResourceManager.GetString("GroupSwitchModeEnableButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select multiple windows to enable.. + /// + internal static string GroupSwitchModeStatusDisabled { + get { + return ResourceManager.GetString("GroupSwitchModeStatusDisabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group switch mode is enabled.. + /// + internal static string GroupSwitchModeStatusEnabled { + get { + return ResourceManager.GetString("GroupSwitchModeStatusEnabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group switch mode:. + /// + internal static string GroupSwitchModeTitle { + get { + return ResourceManager.GetString("GroupSwitchModeTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Windows. + /// + internal static string GroupSwitchModeWindows { + get { + return ResourceManager.GetString("GroupSwitchModeWindows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Homepage: www.codeplex.com/ontopreplica.. + /// + internal static string Homepage { + get { + return ResourceManager.GetString("Homepage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Do you want to enable "click forwarding"?. + /// + internal static string InfoClickForwarding { + get { + return ResourceManager.GetString("InfoClickForwarding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it). + /// + ///To exit this mode, push ESC.. + /// + internal static string InfoClickForwardingContent { + get { + return ResourceManager.GetString("InfoClickForwardingContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click forwarding. + /// + internal static string InfoClickForwardingTitle { + get { + return ResourceManager.GetString("InfoClickForwardingTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click-Through mode?. + /// + internal static string InfoClickThrough { + get { + return ResourceManager.GetString("InfoClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent.. + /// + internal static string InfoClickThroughDetails { + get { + return ResourceManager.GetString("InfoClickThroughDetails", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it. + /// + ///To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon).. + /// + internal static string InfoClickThroughInformation { + get { + return ResourceManager.GetString("InfoClickThroughInformation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No, thank you. + ///You can enable click-through later. + /// + internal static string InfoClickThroughNo { + get { + return ResourceManager.GetString("InfoClickThroughNo", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Use Click-Through. + /// + internal static string InfoClickThroughOk { + get { + return ResourceManager.GetString("InfoClickThroughOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Click-Through mode. + /// + internal static string InfoClickThroughTitle { + get { + return ResourceManager.GetString("InfoClickThroughTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica has been updated.. + /// + internal static string InfoUpdated { + get { + return ResourceManager.GetString("InfoUpdated", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to In order to use the updated version of OnTopReplica you'll have to restart the application.. + /// + internal static string InfoUpdatedContent { + get { + return ResourceManager.GetString("InfoUpdatedContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update successful. + /// + internal static string InfoUpdatedTitle { + get { + return ResourceManager.GetString("InfoUpdatedTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica is up to date.. + /// + internal static string InfoUpToDate { + get { + return ResourceManager.GetString("InfoUpToDate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to No update available. + /// + internal static string InfoUpToDateTitle { + get { + return ResourceManager.GetString("InfoUpToDateTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Language. + /// + internal static string Language { + get { + return ResourceManager.GetString("Language", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to About.... + /// + internal static string MenuAbout { + get { + return ResourceManager.GetString("MenuAbout", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hides the main window and displays the "about" box.. + /// + internal static string MenuAboutTT { + get { + return ResourceManager.GetString("MenuAboutTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Advanced. + /// + internal static string MenuAdvanced { + get { + return ResourceManager.GetString("MenuAdvanced", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show window border. + /// + internal static string MenuChrome { + get { + return ResourceManager.GetString("MenuChrome", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles the display of the window border.. + /// + internal static string MenuChromeTT { + get { + return ResourceManager.GetString("MenuChromeTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click forwarding. + /// + internal static string MenuClickForwarding { + get { + return ResourceManager.GetString("MenuClickForwarding", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable "click forwarding" to the cloned window.. + /// + internal static string MenuClickForwardingTT { + get { + return ResourceManager.GetString("MenuClickForwardingTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enable Click-Through. + /// + internal static string MenuClickThrough { + get { + return ResourceManager.GetString("MenuClickThrough", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.. + /// + internal static string MenuClickThroughTT { + get { + return ResourceManager.GetString("MenuClickThroughTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Close. + /// + internal static string MenuClose { + get { + return ResourceManager.GetString("MenuClose", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Closes OnTopReplica.. + /// + internal static string MenuCloseTT { + get { + return ResourceManager.GetString("MenuCloseTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 2:1 Double. + /// + internal static string MenuFitDouble { + get { + return ResourceManager.GetString("MenuFitDouble", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fullscreen. + /// + internal static string MenuFitFullscreen { + get { + return ResourceManager.GetString("MenuFitFullscreen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:2 Half. + /// + internal static string MenuFitHalf { + get { + return ResourceManager.GetString("MenuFitHalf", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:1 Fit to window. + /// + internal static string MenuFitOriginal { + get { + return ResourceManager.GetString("MenuFitOriginal", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 1:4 Quarter. + /// + internal static string MenuFitQuarter { + get { + return ResourceManager.GetString("MenuFitQuarter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group Switch mode. + /// + internal static string MenuGroupSwitch { + get { + return ResourceManager.GetString("MenuGroupSwitch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground.. + /// + internal static string MenuGroupSwitchTT { + get { + return ResourceManager.GetString("MenuGroupSwitchTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 100% (opaque). + /// + internal static string MenuOp100 { + get { + return ResourceManager.GetString("MenuOp100", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to be completely opaque.. + /// + internal static string MenuOp100TT { + get { + return ResourceManager.GetString("MenuOp100TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 25%. + /// + internal static string MenuOp25 { + get { + return ResourceManager.GetString("MenuOp25", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 25% opacity.. + /// + internal static string MenuOp25TT { + get { + return ResourceManager.GetString("MenuOp25TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 50%. + /// + internal static string MenuOp50 { + get { + return ResourceManager.GetString("MenuOp50", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 50% opacity.. + /// + internal static string MenuOp50TT { + get { + return ResourceManager.GetString("MenuOp50TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to 75%. + /// + internal static string MenuOp75 { + get { + return ResourceManager.GetString("MenuOp75", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets OnTopReplica to 75% opacity.. + /// + internal static string MenuOp75TT { + get { + return ResourceManager.GetString("MenuOp75TT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Opacity. + /// + internal static string MenuOpacity { + get { + return ResourceManager.GetString("MenuOpacity", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open. + /// + internal static string MenuOpen { + get { + return ResourceManager.GetString("MenuOpen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Displays OnTopReplica.. + /// + internal static string MenuOpenTT { + get { + return ResourceManager.GetString("MenuOpenTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bottom Left. + /// + internal static string MenuPosBottomLeft { + get { + return ResourceManager.GetString("MenuPosBottomLeft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bottom Right. + /// + internal static string MenuPosBottomRight { + get { + return ResourceManager.GetString("MenuPosBottomRight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Center. + /// + internal static string MenuPosCenter { + get { + return ResourceManager.GetString("MenuPosCenter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disabled. + /// + internal static string MenuPosDisabled { + get { + return ResourceManager.GetString("MenuPosDisabled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Position lock. + /// + internal static string MenuPosition { + get { + return ResourceManager.GetString("MenuPosition", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatically position OnTopReplica on the current screen.. + /// + internal static string MenuPositionTT { + get { + return ResourceManager.GetString("MenuPositionTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Top Left. + /// + internal static string MenuPosTopLeft { + get { + return ResourceManager.GetString("MenuPosTopLeft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Top Right. + /// + internal static string MenuPosTopRight { + get { + return ResourceManager.GetString("MenuPosTopRight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Quit fullscreen mode. + /// + internal static string MenuQuitFullscreen { + get { + return ResourceManager.GetString("MenuQuitFullscreen", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Recall last position and size. + /// + internal static string MenuRecall { + get { + return ResourceManager.GetString("MenuRecall", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles whether OnTopReplica should store its last position and size and use them when it is restarted.. + /// + internal static string MenuRecallTT { + get { + return ResourceManager.GetString("MenuRecallTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimize. + /// + internal static string MenuReduce { + get { + return ResourceManager.GetString("MenuReduce", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimizes OnTopReplica to the task bar (or the tray).. + /// + internal static string MenuReduceTT { + get { + return ResourceManager.GetString("MenuReduceTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select region.... + /// + internal static string MenuRegion { + get { + return ResourceManager.GetString("MenuRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail.. + /// + internal static string MenuRegionTT { + get { + return ResourceManager.GetString("MenuRegionTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset window. + /// + internal static string MenuReset { + get { + return ResourceManager.GetString("MenuReset", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resets OnTopReplica settings and its main window.. + /// + internal static string MenuResetTT { + get { + return ResourceManager.GetString("MenuResetTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resize. + /// + internal static string MenuResize { + get { + return ResourceManager.GetString("MenuResize", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Restore last cloned window. + /// + internal static string MenuRestoreLast { + get { + return ResourceManager.GetString("MenuRestoreLast", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to When enabled, OnTopReplica will attempt to restore the last cloned window on start up.. + /// + internal static string MenuRestoreLastTT { + get { + return ResourceManager.GetString("MenuRestoreLastTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Settings.... + /// + internal static string MenuSettings { + get { + return ResourceManager.GetString("MenuSettings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Displays the settings panel.. + /// + internal static string MenuSettingsTT { + get { + return ResourceManager.GetString("MenuSettingsTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switch to window. + /// + internal static string MenuSwitch { + get { + return ResourceManager.GetString("MenuSwitch", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Switches to the source window and hides OnTopReplica.. + /// + internal static string MenuSwitchTT { + get { + return ResourceManager.GetString("MenuSwitchTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Select window. + /// + internal static string MenuWindows { + get { + return ResourceManager.GetString("MenuWindows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to - none -. + /// + internal static string MenuWindowsNone { + get { + return ResourceManager.GetString("MenuWindowsNone", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Displays a list of window you can select as thumbnail source.. + /// + internal static string MenuWindowsTT { + get { + return ResourceManager.GetString("MenuWindowsTT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to - whole -. + /// + internal static string MenuWindowsWholeRegion { + get { + return ResourceManager.GetString("MenuWindowsWholeRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Bottom. + /// + internal static string RegionsBottom { + get { + return ResourceManager.GetString("RegionsBottom", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Current region:. + /// + internal static string RegionsCurrentRegion { + get { + return ResourceManager.GetString("RegionsCurrentRegion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Delete. + /// + internal static string RegionsDeleteButton { + get { + return ResourceManager.GetString("RegionsDeleteButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Done. + /// + internal static string RegionsDoneButton { + get { + return ResourceManager.GetString("RegionsDoneButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Height. + /// + internal static string RegionsHeight { + get { + return ResourceManager.GetString("RegionsHeight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Left. + /// + internal static string RegionsLeft { + get { + return ResourceManager.GetString("RegionsLeft", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset. + /// + internal static string RegionsResetButton { + get { + return ResourceManager.GetString("RegionsResetButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Right. + /// + internal static string RegionsRight { + get { + return ResourceManager.GetString("RegionsRight", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Save. + /// + internal static string RegionsSaveButton { + get { + return ResourceManager.GetString("RegionsSaveButton", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stored regions. + /// + internal static string RegionsStoredRegions { + get { + return ResourceManager.GetString("RegionsStoredRegions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Regions:. + /// + internal static string RegionsTitle { + get { + return ResourceManager.GetString("RegionsTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Top. + /// + internal static string RegionsTop { + get { + return ResourceManager.GetString("RegionsTop", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Width. + /// + internal static string RegionsWidth { + get { + return ResourceManager.GetString("RegionsWidth", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to X. + /// + internal static string RegionsX { + get { + return ResourceManager.GetString("RegionsX", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Y. + /// + internal static string RegionsY { + get { + return ResourceManager.GetString("RegionsY", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Right-click here to start.... + /// + internal static string RightClick { + get { + return ResourceManager.GetString("RightClick", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Clone current window. + /// + internal static string SettingsHotKeyClone { + get { + return ResourceManager.GetString("SettingsHotKeyClone", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to These system-wide shortcuts can also be used when OnTopReplica is not in focus.. + /// + internal static string SettingsHotKeyDescription { + get { + return ResourceManager.GetString("SettingsHotKeyDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show/Hide. + /// + internal static string SettingsHotKeyShowHide { + get { + return ResourceManager.GetString("SettingsHotKeyShowHide", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hot keys:. + /// + internal static string SettingsHotKeyTitle { + get { + return ResourceManager.GetString("SettingsHotKeyTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Language:. + /// + internal static string SettingsLanguageTitle { + get { + return ResourceManager.GetString("SettingsLanguageTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Requires a restart.. + /// + internal static string SettingsRestartRequired { + get { + return ResourceManager.GetString("SettingsRestartRequired", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Settings. + /// + internal static string SettingsTitle { + get { + return ResourceManager.GetString("SettingsTitle", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cancel update + ///OnTopReplica will prompt you the next time it is started.. + /// + internal static string UpdateAvailableCommandCancel { + get { + return ResourceManager.GetString("UpdateAvailableCommandCancel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Download + ///Install OnTopReplica {0}.. + /// + internal static string UpdateAvailableCommandOk { + get { + return ResourceManager.GetString("UpdateAvailableCommandOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The new version can be downloaded and installed from the official website.. + /// + internal static string UpdateAvailableContent { + get { + return ResourceManager.GetString("UpdateAvailableContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Installed version: {0} + ///Available version: {1}. + /// + internal static string UpdateAvailableExpanded { + get { + return ResourceManager.GetString("UpdateAvailableExpanded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Version {0} available. + /// + internal static string UpdateAvailableInstruction { + get { + return ResourceManager.GetString("UpdateAvailableInstruction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {0}/{1} bytes downloaded.. + /// + internal static string UpdateDownloadingContent { + get { + return ResourceManager.GetString("UpdateDownloadingContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Downloading.... + /// + internal static string UpdateDownloadingInstruction { + get { + return ResourceManager.GetString("UpdateDownloadingInstruction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The latest version of OnTopReplica is already installed. The program automatically checks for updates at every start. + /// + ///You can keep up to date about OnTopReplica's development, suggest improvements and new features by <a href="website">visiting the official website</a>.. + /// + internal static string UpdateInfoContent { + get { + return ResourceManager.GetString("UpdateInfoContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Latest stable version released on {0}.. + /// + internal static string UpdateInfoFooter { + get { + return ResourceManager.GetString("UpdateInfoFooter", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica is up to date. + /// + internal static string UpdateInfoInstruction { + get { + return ResourceManager.GetString("UpdateInfoInstruction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Install + ///OnTopReplica will be closed and the update installed.. + /// + internal static string UpdateReadyCommandOk { + get { + return ResourceManager.GetString("UpdateReadyCommandOk", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica version {0} is ready to be installed on your computer.. + /// + internal static string UpdateReadyContent { + get { + return ResourceManager.GetString("UpdateReadyContent", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update ready. + /// + internal static string UpdateReadyInstruction { + get { + return ResourceManager.GetString("UpdateReadyInstruction", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to OnTopReplica updates. + /// + internal static string UpdateTitle { + get { + return ResourceManager.GetString("UpdateTitle", resourceCulture); + } + } + } +} From bc03f9298b8c3746afe9e0b5ba6545b4e1f355a2 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 16 Oct 2013 15:58:27 +0200 Subject: [PATCH 159/164] Feature added: Automatic transparency in click-through mode. Some minor clean up. --- OnTopReplica/MainForm.cs | 4 +- OnTopReplica/MainForm_Features.cs | 59 ++++++++++++++++++++------ OnTopReplica/MainForm_MenuEvents.cs | 7 ++- OnTopReplica/Native/WM.cs | 1 + OnTopReplica/Native/WindowMethods.cs | 16 +++++++ OnTopReplica/WindowsFormsExtensions.cs | 12 ++++++ 6 files changed, 82 insertions(+), 17 deletions(-) diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index 9450846..fed45b2 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -188,8 +188,10 @@ namespace OnTopReplica { case WM.NCHITTEST: //Make transparent to hit-testing if in click through mode - if (ClickThroughEnabled && (ModifierKeys & Keys.Alt) != Keys.Alt) { + if (ClickThroughEnabled) { m.Result = (IntPtr)HT.TRANSPARENT; + + RefreshClickThroughComeBack(); return; } break; diff --git a/OnTopReplica/MainForm_Features.cs b/OnTopReplica/MainForm_Features.cs index 2e2586a..594f23d 100644 --- a/OnTopReplica/MainForm_Features.cs +++ b/OnTopReplica/MainForm_Features.cs @@ -1,10 +1,9 @@ -using System; -using System.Collections.Generic; -using System.Text; +using OnTopReplica.Native; using OnTopReplica.Properties; -using WindowsFormsAero.TaskDialog; +using System; using System.Drawing; using System.Windows.Forms; +using WindowsFormsAero.TaskDialog; namespace OnTopReplica { //Contains some feature implementations of MainForm @@ -36,6 +35,7 @@ namespace OnTopReplica { #region Click-through bool _clickThrough = false; + readonly Color DefaultNonClickTransparencyKey; public bool ClickThroughEnabled { @@ -43,21 +43,56 @@ namespace OnTopReplica { return _clickThrough; } set { - //Adjust opacity if fully opaque - /*if (value && Opacity == 1.0) - Opacity = 0.75; - if (!value) - Opacity = 1.0;*/ - - //Enable transparency and force as top-most TransparencyKey = (value) ? Color.Black : DefaultNonClickTransparencyKey; - if (value) + if (value) { + //Re-force as top most (always helps in some cases) TopMost = true; + } _clickThrough = value; } } + //Must NOT be equal to any other valid opacity value + const double ClickThroughHoverOpacity = 0.6; + + Timer _clickThroughComeBackTimer = null; + long _clickThroughComeBackTicks; + const int ClickThroughComeBackTimerInterval = 1000; + + /// + /// When the mouse hovers over a fully opaque click-through form, + /// this fades the form to semi-transparency + /// and starts a timeout to get back to full opacity. + /// + private void RefreshClickThroughComeBack() { + if (this.Opacity == 1.0) { + this.Opacity = ClickThroughHoverOpacity; + } + + if (_clickThroughComeBackTimer == null) { + _clickThroughComeBackTimer = new Timer(); + _clickThroughComeBackTimer.Tick += _clickThroughComeBackTimer_Tick; + _clickThroughComeBackTimer.Interval = ClickThroughComeBackTimerInterval; + } + _clickThroughComeBackTicks = DateTime.UtcNow.Ticks; + _clickThroughComeBackTimer.Start(); + } + + void _clickThroughComeBackTimer_Tick(object sender, EventArgs e) { + var diff = DateTime.UtcNow.Subtract(new DateTime(_clickThroughComeBackTicks)); + if (diff.TotalSeconds > 2) { + var mousePointer = WindowMethods.GetCursorPos(); + + if (!this.ContainsMousePointer(mousePointer)) { + if (this.Opacity == ClickThroughHoverOpacity) { + this.Opacity = 1.0; + } + _clickThroughComeBackTimer.Stop(); + } + } + } + #endregion #region Chrome diff --git a/OnTopReplica/MainForm_MenuEvents.cs b/OnTopReplica/MainForm_MenuEvents.cs index eb9ad0c..09a0899 100644 --- a/OnTopReplica/MainForm_MenuEvents.cs +++ b/OnTopReplica/MainForm_MenuEvents.cs @@ -73,11 +73,10 @@ namespace OnTopReplica { } private void Menu_Opacity_click(object sender, EventArgs e) { - //Get clicked menu item - ToolStripMenuItem tsi = sender as ToolStripMenuItem; + ToolStripMenuItem tsi = (ToolStripMenuItem)sender; - if (tsi != null && this.Visible) { - //Get opacity from the tag + if (this.Visible) { + //Target opacity is stored in the item's tag this.Opacity = (double)tsi.Tag; Program.Platform.OnFormStateChange(this); } diff --git a/OnTopReplica/Native/WM.cs b/OnTopReplica/Native/WM.cs index eddcd01..dceaced 100644 --- a/OnTopReplica/Native/WM.cs +++ b/OnTopReplica/Native/WM.cs @@ -21,6 +21,7 @@ namespace OnTopReplica.Native { public const int NCLBUTTONDOWN = 0x00A1; public const int NCLBUTTONDBLCLK = 0x00A3; public const int NCRBUTTONUP = 0x00A5; + public const int NCMOUSELEAVE = 0x02A2; public const int SYSCOMMAND = 0x0112; public const int GETTEXT = 0x000D; public const int GETTEXTLENGTH = 0x000E; diff --git a/OnTopReplica/Native/WindowMethods.cs b/OnTopReplica/Native/WindowMethods.cs index 06caede..56d315b 100644 --- a/OnTopReplica/Native/WindowMethods.cs +++ b/OnTopReplica/Native/WindowMethods.cs @@ -9,6 +9,22 @@ namespace OnTopReplica.Native { ///
    static class WindowMethods { + public static System.Drawing.Point GetCursorPos() { + NPoint ret; + if (GetCursorPosInternal(out ret)) + return ret.ToPoint(); + else { +#if DEBUG + throw new InvalidOperationException("Unable to GetCursorPos"); +#else + return default(System.Drawing.Point); +#endif + } + } + + [DllImport("user32.dll", EntryPoint="GetCursorPos")] + private static extern bool GetCursorPosInternal(out NPoint point); + [DllImport("user32.dll", SetLastError = true)] public static extern bool GetClientRect(IntPtr handle, out NRectangle rect); diff --git a/OnTopReplica/WindowsFormsExtensions.cs b/OnTopReplica/WindowsFormsExtensions.cs index d664dc1..5da0358 100644 --- a/OnTopReplica/WindowsFormsExtensions.cs +++ b/OnTopReplica/WindowsFormsExtensions.cs @@ -46,5 +46,17 @@ namespace OnTopReplica { } } + /// + /// Checks whether a control contains a mouse pointer position in screen coordinates. + /// + /// Mouse pointer position in screen coordinates. + public static bool ContainsMousePointer(this Control ctrl, System.Drawing.Point screenCoordinates) { + var bb = new System.Drawing.Rectangle(ctrl.Location, ctrl.Size); + + //Console.Out.WriteLine("<{0},{1}> in {2}? {3}", screenCoordinates.X, screenCoordinates.Y, bb, bb.Contains(screenCoordinates)); + + return bb.Contains(screenCoordinates); + } + } } From 6cd21971cf4be048e0bba562610d0145678142a6 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 16 Oct 2013 16:08:59 +0200 Subject: [PATCH 160/164] Fixed bug #47: chromeOff CLI parameter works again --- OnTopReplica/StartupOptions/Options.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/OnTopReplica/StartupOptions/Options.cs b/OnTopReplica/StartupOptions/Options.cs index 35f1b4e..18091b0 100644 --- a/OnTopReplica/StartupOptions/Options.cs +++ b/OnTopReplica/StartupOptions/Options.cs @@ -92,8 +92,6 @@ namespace OnTopReplica.StartupOptions { #region Application public void Apply(MainForm form) { - //GUI - form.IsChromeVisible = !DisableChrome; form.Opacity = (double)Opacity / 255.0; //Seek handle for thumbnail cloning @@ -120,7 +118,6 @@ namespace OnTopReplica.StartupOptions { handle = seeker.Windows.FirstOrDefault(); } - //Position lock if (StartPositionLock.HasValue) { form.PositionLock = StartPositionLock.Value; } @@ -150,6 +147,8 @@ namespace OnTopReplica.StartupOptions { form.ClickForwardingEnabled = true; } + form.IsChromeVisible = !DisableChrome; + //Fullscreen if (Fullscreen) { form.FullscreenManager.SwitchFullscreen(); From dc031dcdb11e6b6de9c3d3cf48834f5bf6797d24 Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Wed, 16 Oct 2013 16:09:28 +0200 Subject: [PATCH 161/164] Improved title seeking (used from CLI when seeking for window by title). --- .../WindowSeekers/ByTitleWindowSeeker.cs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs b/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs index c551392..5850335 100644 --- a/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs +++ b/OnTopReplica/WindowSeekers/ByTitleWindowSeeker.cs @@ -16,7 +16,7 @@ namespace OnTopReplica.WindowSeekers { if (titleSeekString == null) throw new ArgumentNullException(); - TitleMatch = titleSeekString.Trim(); + TitleMatch = titleSeekString.Trim().ToLowerInvariant(); } public string TitleMatch { get; private set; } @@ -30,15 +30,19 @@ namespace OnTopReplica.WindowSeekers { if (!WindowManagerMethods.IsTopLevel(handle.Handle)) return -1; + string handleTitle = handle.Title.ToLowerInvariant(); int points = 0; //Give points for partial match - if (handle.Title.StartsWith(TitleMatch, StringComparison.InvariantCultureIgnoreCase)) - points += 10; - - //Give points for exact match - if (handle.Title.Equals(TitleMatch, StringComparison.InvariantCultureIgnoreCase)) + if (handleTitle.Equals(TitleMatch)) { + points += 20; + } + else if (handleTitle.StartsWith(TitleMatch)) { + points += 15; + } + else if (handleTitle.Contains(TitleMatch)) { points += 10; + } return points; } From 39a33a4a67fb31c8dbcdfdda1cdcd668f2993cdd Mon Sep 17 00:00:00 2001 From: Lorenz Cuno Klopfenstein Date: Mon, 21 Oct 2013 08:39:18 +0200 Subject: [PATCH 162/164] Added logging infrastructure. Switched to logging for most debug information output. --- OnTopReplica/AppPaths.cs | 34 +++++++++ OnTopReplica/AspectRatioForm.cs | 4 +- OnTopReplica/FocusedTextBox.cs | 2 - OnTopReplica/Log.cs | 74 +++++++++++++++++++ OnTopReplica/MainForm.cs | 4 +- OnTopReplica/MessagePumpManager.cs | 10 +-- .../GroupSwitchManager.cs | 5 +- .../MessagePumpProcessors/HotKeyManager.cs | 4 +- .../ShellInterceptProcessor.cs | 2 +- OnTopReplica/Native/HookMethods.cs | 5 +- OnTopReplica/OnTopReplica.csproj | 2 + OnTopReplica/PlatformSupport.cs | 8 ++ OnTopReplica/Program.cs | 30 ++++++-- OnTopReplica/ScreenPosition.cs | 2 +- OnTopReplica/StartupOptions/Factory.cs | 12 ++- OnTopReplica/StartupOptions/Options.cs | 2 + OnTopReplica/ThumbnailPanel.cs | 12 +-- OnTopReplica/WindowsFormsExtensions.cs | 2 - 18 files changed, 174 insertions(+), 40 deletions(-) create mode 100644 OnTopReplica/AppPaths.cs create mode 100644 OnTopReplica/Log.cs diff --git a/OnTopReplica/AppPaths.cs b/OnTopReplica/AppPaths.cs new file mode 100644 index 0000000..cea16b5 --- /dev/null +++ b/OnTopReplica/AppPaths.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; + +namespace OnTopReplica { + public static class AppPaths { + + const string AppDataFolder = "OnTopReplica"; + + public static void SetupPaths() { + var roamingAppData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); + var roamingAppDataApplicationPath = Path.Combine(roamingAppData, AppDataFolder); + + if (!Directory.Exists(roamingAppDataApplicationPath)) { + Directory.CreateDirectory(roamingAppDataApplicationPath); + } + PrivateRoamingFolderPath = roamingAppDataApplicationPath; + } + + public static string PrivateRoamingFolderPath { get; private set; } + + public static string GenerateCrashDumpPath() { + var now = DateTime.Now; + + string dump = string.Format("OnTopReplica-dump-{0}{1}{2}-{3}{4}.txt", + now.Year, now.Month, now.Day, + now.Hour, now.Minute); + + return Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), dump); + } + } +} diff --git a/OnTopReplica/AspectRatioForm.cs b/OnTopReplica/AspectRatioForm.cs index 9701e3c..06e298d 100644 --- a/OnTopReplica/AspectRatioForm.cs +++ b/OnTopReplica/AspectRatioForm.cs @@ -134,9 +134,7 @@ namespace OnTopReplica { AspectRatio = ((double)aspectRatioSource.Width / (double)aspectRatioSource.Height); _keepAspectRatio = true; -#if DEBUG - System.Diagnostics.Trace.WriteLine(string.Format("Setting aspect ratio of {0} (for {1}).", AspectRatio, aspectRatioSource)); -#endif + Log.Write("Setting new aspect ratio {0} (for {1})", AspectRatio, aspectRatioSource); if (forceRefresh) { RefreshAspectRatio(); diff --git a/OnTopReplica/FocusedTextBox.cs b/OnTopReplica/FocusedTextBox.cs index b2a2cc6..fcfb4c2 100644 --- a/OnTopReplica/FocusedTextBox.cs +++ b/OnTopReplica/FocusedTextBox.cs @@ -31,8 +31,6 @@ namespace OnTopReplica { e.SuppressKeyPress = true; } - //Console.WriteLine("{0} ({1})", e.KeyCode, e.KeyValue); - base.OnKeyUp(e); } diff --git a/OnTopReplica/Log.cs b/OnTopReplica/Log.cs new file mode 100644 index 0000000..ac1f967 --- /dev/null +++ b/OnTopReplica/Log.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; + +namespace OnTopReplica { + static class Log { + + const string LogFileName = "lastrun.log.txt"; + + private readonly static StreamWriter Writer; + + static Log() { + try { + var filepath = Path.Combine(AppPaths.PrivateRoamingFolderPath, LogFileName); + Writer = new StreamWriter(new FileStream(filepath, FileMode.Create)); + Writer.AutoFlush = true; + } + catch (Exception) { + Writer = null; + +#if DEBUG + throw; +#endif + } + } + + public static void Write(string message) { + WriteLine(message); + } + + public static void Write(string format, object arg0) { + WriteLine(string.Format(format, arg0)); + } + + public static void Write(string format, object arg0, object arg1) { + WriteLine(string.Format(format, arg0, arg1)); + } + + public static void Write(string format, params object[] args) { + WriteLine(string.Format(format, args)); + } + + public static void WriteDetails(string caption, string format, params object[] args) { + WriteLines(caption, string.Format(format, args)); + } + + public static void WriteException(string message, Exception exception) { + if (exception != null) { + WriteLines(message, exception.ToString()); + } + else { + WriteLines(message, "(no last exception)"); + } + } + + private static void WriteLine(string message) { + var s = string.Format("{0,-8:HH:mm:ss} {1}", DateTime.Now, message); + Writer.WriteLine(s); + } + + private static void WriteLines(params string[] messages) { + if (messages.Length > 0) + WriteLine(messages[0]); + if (messages.Length > 1) { + for (int i = 1; i < messages.Length; ++i) { + Writer.WriteLine(" {0}", messages[i]); + } + } + } + + } +} diff --git a/OnTopReplica/MainForm.cs b/OnTopReplica/MainForm.cs index fed45b2..9be80f9 100644 --- a/OnTopReplica/MainForm.cs +++ b/OnTopReplica/MainForm.cs @@ -266,7 +266,7 @@ namespace OnTopReplica { /// Region of the window to clone or null. public void SetThumbnail(WindowHandle handle, ThumbnailRegion region) { try { - System.Diagnostics.Trace.WriteLine(string.Format("Cloning window HWND {0} of class {1}.", handle.Handle, handle.Class)); + Log.Write("Cloning window HWND {0} of class {1}", handle.Handle, handle.Class); CurrentThumbnailWindowHandle = handle; _thumbnailPanel.SetThumbnailHandle(handle, region); @@ -275,7 +275,7 @@ namespace OnTopReplica { SetAspectRatio(_thumbnailPanel.ThumbnailPixelSize, !FullscreenManager.IsFullscreen); } catch (Exception ex) { - System.Diagnostics.Trace.Fail("Unable to set thumbnail.", ex.ToString()); + Log.WriteException("Unable to set new thumbnail", ex); ThumbnailError(ex, false, Strings.ErrorUnableToCreateThumbnail); _thumbnailPanel.UnsetThumbnail(); diff --git a/OnTopReplica/MessagePumpManager.cs b/OnTopReplica/MessagePumpManager.cs index ad2b48d..6d91797 100644 --- a/OnTopReplica/MessagePumpManager.cs +++ b/OnTopReplica/MessagePumpManager.cs @@ -15,7 +15,7 @@ namespace OnTopReplica { _processors[processor.GetType()] = processor; processor.Initialize(form); - System.Diagnostics.Trace.WriteLine(string.Format("Registered message pump processor: {0}", processor.GetType())); + Log.Write("Registered message pump processor: {0}", processor.GetType()); } /// @@ -27,10 +27,10 @@ namespace OnTopReplica { //Register window shell hook if (!HookMethods.RegisterShellHookWindow(form.Handle)) { - Console.Error.WriteLine("Failed to register shell hook window."); + Log.Write("Failed to register shell hook window"); } else { - System.Diagnostics.Trace.WriteLine("Shell hook window registered successfully."); + Log.Write("Shell hook window registered successfully"); } //Register message pump processors @@ -65,10 +65,10 @@ namespace OnTopReplica { public void Dispose() { if (!HookMethods.DeregisterShellHookWindow(Form.Handle)) { - Console.Error.WriteLine("Failed to deregister shell hook window."); + Log.Write("Failed to deregister shell hook window"); } else { - System.Diagnostics.Trace.WriteLine("Deregistered shell hook window successfully."); + Log.Write("Deregistered shell hook window successfully"); } foreach (var processor in _processors.Values) { diff --git a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs index e665ef9..76b9099 100644 --- a/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs +++ b/OnTopReplica/MessagePumpProcessors/GroupSwitchManager.cs @@ -71,8 +71,6 @@ namespace OnTopReplica.MessagePumpProcessors { } private void HandleForegroundWindowChange(IntPtr activeWindow) { - System.Diagnostics.Trace.WriteLine(string.Format("New active window (h {0}). ", activeWindow)); - //Seek window in tracked handles WindowHandleWrapper activated = null; foreach (var i in _lruHandles) { @@ -82,7 +80,6 @@ namespace OnTopReplica.MessagePumpProcessors { if (activated == null) { //New foreground window is not tracked - System.Diagnostics.Trace.WriteLine("Active window is not tracked."); return; } @@ -93,7 +90,7 @@ namespace OnTopReplica.MessagePumpProcessors { //Get least recently used var next = _lruHandles[0]; - System.Diagnostics.Trace.WriteLine(string.Format("Tracked. Switching to {0} (last use: {1}).", next.WindowHandle.Title, next.LastTimeUsed)); + Log.Write("Switched to tracked window: switching to {0} (last use: {1})", next.WindowHandle.Title, next.LastTimeUsed); Form.SetThumbnail(next.WindowHandle, null); } diff --git a/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs index ab68d38..7717b2a 100644 --- a/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs +++ b/OnTopReplica/MessagePumpProcessors/HotKeyManager.cs @@ -46,7 +46,7 @@ namespace OnTopReplica.MessagePumpProcessors { var key = ++_lastUsedKey; if (!HotKeyMethods.RegisterHotKey(owner.Handle, key, modifiers, keyCode)) { - Console.Error.WriteLine("Failed to create hotkey on keys {0}.", keyCode); + Log.Write("Failed to create hotkey on key {0} with modifiers {1}", keyCode, modifiers); return null; } @@ -59,7 +59,7 @@ namespace OnTopReplica.MessagePumpProcessors { public void Dispose() { if (!HotKeyMethods.UnregisterHotKey(_hwnd, RegistrationKey)) { - Console.Error.WriteLine("Failed to unregister hotkey #{0}.", RegistrationKey); + Log.Write("Failed to unregister hotkey #{0}", RegistrationKey); } } } diff --git a/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs b/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs index ca95066..fc13b6c 100644 --- a/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs +++ b/OnTopReplica/MessagePumpProcessors/ShellInterceptProcessor.cs @@ -17,7 +17,7 @@ namespace OnTopReplica.MessagePumpProcessors { if (msg.Msg == HookMethods.WM_SHELLHOOKMESSAGE) { int hookCode = msg.WParam.ToInt32(); - System.Diagnostics.Trace.WriteLine(string.Format("Hook msg #{0}: {1}", hookCode, msg.LParam)); + Log.Write("Hook msg #{0}: {1}", hookCode, msg.LParam); } return false; diff --git a/OnTopReplica/Native/HookMethods.cs b/OnTopReplica/Native/HookMethods.cs index ea24f29..273bb7f 100644 --- a/OnTopReplica/Native/HookMethods.cs +++ b/OnTopReplica/Native/HookMethods.cs @@ -12,8 +12,9 @@ namespace OnTopReplica.Native { static HookMethods() { WM_SHELLHOOKMESSAGE = RegisterWindowMessage("SHELLHOOK"); - if (WM_SHELLHOOKMESSAGE == 0) - Console.Error.WriteLine("Failed to register SHELLHOOK Windows message."); + if (WM_SHELLHOOKMESSAGE == 0) { + Log.Write("Failed to register SHELLHOOK window message"); + } } public static int WM_SHELLHOOKMESSAGE { diff --git a/OnTopReplica/OnTopReplica.csproj b/OnTopReplica/OnTopReplica.csproj index 0f3f4cf..16aad2e 100644 --- a/OnTopReplica/OnTopReplica.csproj +++ b/OnTopReplica/OnTopReplica.csproj @@ -101,6 +101,7 @@ + Form @@ -115,6 +116,7 @@ Component + Form diff --git a/OnTopReplica/PlatformSupport.cs b/OnTopReplica/PlatformSupport.cs index 5ecb432..ef81bdb 100644 --- a/OnTopReplica/PlatformSupport.cs +++ b/OnTopReplica/PlatformSupport.cs @@ -13,7 +13,15 @@ namespace OnTopReplica { /// public static PlatformSupport Create() { var os = Environment.OSVersion; + var platform = CreateFromOperatingSystem(os); + Log.Write("{0} detected, using support class {1}", + os.VersionString, platform.GetType().FullName); + + return platform; + } + + private static PlatformSupport CreateFromOperatingSystem(OperatingSystem os) { if (os.Platform != PlatformID.Win32NT) return new Other(); diff --git a/OnTopReplica/Program.cs b/OnTopReplica/Program.cs index 12971ee..b03599a 100644 --- a/OnTopReplica/Program.cs +++ b/OnTopReplica/Program.cs @@ -22,6 +22,15 @@ namespace OnTopReplica { ///

    [STAThread] static void Main(string[] args) { + try { + AppPaths.SetupPaths(); + } + catch (Exception ex) { + MessageBox.Show(string.Format("Unable to setup application folders: {0}", ex), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + + Log.Write("Launching OnTopReplica v.{0}", Application.ProductVersion); + //Hook fatal abort handler AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); @@ -31,6 +40,8 @@ namespace OnTopReplica { return; Platform.PreHandleFormInit(); + Log.Write("Platform support initialized"); + Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); @@ -65,7 +76,7 @@ namespace OnTopReplica { _mainForm.IsChromeVisible = true; //Persist settings - System.Diagnostics.Trace.WriteLine(string.Format("Persisting {0} size {1} to settings.", _mainForm.Location, _mainForm.ClientSize)); + Log.Write("Last position before shutdown: {0}, size: {1}", _mainForm.Location, _mainForm.Size); Settings.Default.RestoreLastPosition = _mainForm.Location; Settings.Default.RestoreLastSize = _mainForm.ClientSize; Settings.Default.Save(); @@ -90,20 +101,21 @@ namespace OnTopReplica { ///
    static void UpdateManager_CheckCompleted(object sender, UpdateCheckCompletedEventArgs e) { if (e.Success && e.Information != null) { + Log.Write("Updated check successful (latest version is {0})", e.Information.LatestVersion); + if (e.Information.IsNewVersion) { Update.ConfirmAndInstall(); } } else { - System.Diagnostics.Trace.WriteLine(string.Format("Failed to check updates. {0}", e.Error)); + Log.WriteException("Unable to check for updates", e.Error); } } static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { - string dump = string.Format("OnTopReplica-dump-{0}{1}{2}-{3}{4}.txt", - DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, - DateTime.Now.Hour, DateTime.Now.Minute); - string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory), dump); + Log.WriteException("Unhandled exception", e.ExceptionObject as Exception); + + string path = AppPaths.GenerateCrashDumpPath(); using (var s = new FileStream(path, FileMode.Create)) { using (var sw = new StreamWriter(s)) { @@ -114,14 +126,16 @@ namespace OnTopReplica { sw.WriteLine("Last exception:"); sw.WriteLine(e.ExceptionObject.ToString()); sw.WriteLine(); - sw.WriteLine("OnTopReplica v.{0}", Assembly.GetEntryAssembly().GetName().Version); + sw.WriteLine("OnTopReplica v.{0}", Application.ProductVersion); sw.WriteLine("OS: {0}", Environment.OSVersion.ToString()); sw.WriteLine(".NET: {0}", Environment.Version.ToString()); - sw.WriteLine("Aero DWM: {0}", WindowsFormsAero.OsSupport.IsCompositionEnabled); + sw.WriteLine("DWM: {0}", WindowsFormsAero.OsSupport.IsCompositionEnabled); sw.WriteLine("Launch command: {0}", Environment.CommandLine); sw.WriteLine("UTC time: {0} {1}", DateTime.UtcNow.ToShortDateString(), DateTime.UtcNow.ToShortTimeString()); } } + + Log.Write("Crash dump written to {0}", path); } } diff --git a/OnTopReplica/ScreenPosition.cs b/OnTopReplica/ScreenPosition.cs index 0a99d6c..b792b0b 100644 --- a/OnTopReplica/ScreenPosition.cs +++ b/OnTopReplica/ScreenPosition.cs @@ -76,7 +76,7 @@ namespace OnTopReplica { var move = end.Difference(start); - System.Diagnostics.Trace.WriteLine(string.Format("From {0} to {1} => {2}.", start, end, move)); + //System.Diagnostics.Trace.WriteLine(string.Format("From {0} to {1} => {2}.", start, end, move)); var original = form.Location; form.Location = new Point(original.X + move.X, original.Y + move.Y); diff --git a/OnTopReplica/StartupOptions/Factory.cs b/OnTopReplica/StartupOptions/Factory.cs index ee44ca2..cfb3401 100644 --- a/OnTopReplica/StartupOptions/Factory.cs +++ b/OnTopReplica/StartupOptions/Factory.cs @@ -34,7 +34,7 @@ namespace OnTopReplica.StartupOptions { options.StartLocation = Settings.Default.RestoreLastPosition; options.StartSize = Settings.Default.RestoreLastSize; - System.Diagnostics.Trace.WriteLine(string.Format("Restoring window at {0} size {1}.", Settings.Default.RestoreLastPosition, Settings.Default.RestoreLastSize)); + Log.Write("Restoring window at {0} size {1}", Settings.Default.RestoreLastPosition, Settings.Default.RestoreLastSize); } if (Settings.Default.RestoreLastWindow) { @@ -45,14 +45,20 @@ namespace OnTopReplica.StartupOptions { var seeker = new RestoreWindowSeeker(new IntPtr(handle), title, className); seeker.SkipNotVisibleWindows = true; seeker.Refresh(); + var resultHandle = seeker.Windows.FirstOrDefault(); if (resultHandle != null) { - //Load window + //Found a window: load it! options.WindowId = resultHandle.Handle; } else { - System.Diagnostics.Trace.WriteLine("Couldn't find window to restore."); + Log.WriteDetails("Failed to find window to restore from last use", + "HWND {0}, Title '{1}', Class '{2}'", + Settings.Default.RestoreLastWindowHwnd, + Settings.Default.RestoreLastWindowTitle, + Settings.Default.RestoreLastWindowClass + ); } } } diff --git a/OnTopReplica/StartupOptions/Options.cs b/OnTopReplica/StartupOptions/Options.cs index 18091b0..39ef5bf 100644 --- a/OnTopReplica/StartupOptions/Options.cs +++ b/OnTopReplica/StartupOptions/Options.cs @@ -92,6 +92,8 @@ namespace OnTopReplica.StartupOptions { #region Application public void Apply(MainForm form) { + Log.Write("Applying command line launch parameters"); + form.Opacity = (double)Opacity / 255.0; //Seek handle for thumbnail cloning diff --git a/OnTopReplica/ThumbnailPanel.cs b/OnTopReplica/ThumbnailPanel.cs index bd0b81d..f6135f3 100644 --- a/OnTopReplica/ThumbnailPanel.cs +++ b/OnTopReplica/ThumbnailPanel.cs @@ -194,7 +194,9 @@ namespace OnTopReplica { /// Handle of the window to clone. /// Optional region. public void SetThumbnailHandle(WindowHandle handle, ThumbnailRegion region) { - System.Diagnostics.Trace.WriteLine(string.Format("Setting thumbnail to handle {0}, with region {1}.", handle, region), "ThumbnailPanel"); + Log.WriteDetails("Setting new thumbnail", + "HWND {0}, region {1}", handle, region + ); if (_thumbnail != null && !_thumbnail.IsInvalid) { _thumbnail.Close(); @@ -203,8 +205,8 @@ namespace OnTopReplica { //Get form and register thumbnail on it Form owner = this.TopLevelControl as Form; - if(owner == null) - throw new Exception("Internal error: ThumbnailPanel.TopLevelControl is not a Form."); + if (owner == null) + throw new Exception("Internal error: ThumbnailPanel.TopLevelControl is not a Form."); _labelGlass.Visible = false; @@ -219,7 +221,7 @@ namespace OnTopReplica { /// Disposes current thumbnail and enters stand-by mode. ///
    protected override void WndProc(ref Message m) { if (KeepAspectRatio && m.Msg == WM.SIZING) { + var clientSizeConversion = ClientWindowDifference; + var rc = (Native.NRectangle)Marshal.PtrToStructure(m.LParam, typeof(Native.NRectangle)); int res = m.WParam.ToInt32(); - int width = (rc.Right - rc.Left) - clientSizeConversionWidth - ExtraPadding.Horizontal; - int height = (rc.Bottom - rc.Top) - clientSizeConversionHeight - ExtraPadding.Vertical; + int width = (rc.Right - rc.Left) - clientSizeConversion.Width - ExtraPadding.Horizontal; + int height = (rc.Bottom - rc.Top) - clientSizeConversion.Height - ExtraPadding.Vertical; if (res == WMSZ.LEFT || res == WMSZ.RIGHT) { //Left or right resize, adjust top and bottom @@ -173,7 +176,7 @@ namespace OnTopReplica { int diffHeight = height - targetHeight; rc.Top += (int)(diffHeight / 2.0); - rc.Bottom = rc.Top + targetHeight + ExtraPadding.Vertical + clientSizeConversionHeight; + rc.Bottom = rc.Top + targetHeight + ExtraPadding.Vertical + clientSizeConversion.Height; } else if (res == WMSZ.TOP || res == WMSZ.BOTTOM) { //Up or down resize, adjust left and right @@ -181,15 +184,15 @@ namespace OnTopReplica { int diffWidth = width - targetWidth; rc.Left += (int)(diffWidth / 2.0); - rc.Right = rc.Left + targetWidth + ExtraPadding.Horizontal + clientSizeConversionWidth; + rc.Right = rc.Left + targetWidth + ExtraPadding.Horizontal + clientSizeConversion.Width; } else if (res == WMSZ.RIGHT + WMSZ.BOTTOM || res == WMSZ.LEFT + WMSZ.BOTTOM) { //Lower corner resize, adjust bottom - rc.Bottom = rc.Top + (int)(width / AspectRatio) + ExtraPadding.Vertical + clientSizeConversionHeight; + rc.Bottom = rc.Top + (int)(width / AspectRatio) + ExtraPadding.Vertical + clientSizeConversion.Height; } else if (res == WMSZ.LEFT + WMSZ.TOP || res == WMSZ.RIGHT + WMSZ.TOP) { //Upper corner resize, adjust top - rc.Top = rc.Bottom - (int)(width / AspectRatio) - ExtraPadding.Vertical - clientSizeConversionHeight; + rc.Top = rc.Bottom - (int)(width / AspectRatio) - ExtraPadding.Vertical - clientSizeConversion.Height; } Marshal.StructureToPtr(rc, m.LParam, false); @@ -202,15 +205,15 @@ namespace OnTopReplica { #region ClientSize/Size conversion helpers - int clientSizeConversionWidth, clientSizeConversionHeight; - /// /// Converts a client size measurement to a window size measurement. /// /// Size of the window's client area. /// Size of the whole window. public Size FromClientSizeToSize(Size clientSize) { - return new Size(clientSize.Width + clientSizeConversionWidth, clientSize.Height + clientSizeConversionHeight); + var difference = ClientWindowDifference; + + return new Size(clientSize.Width + difference.Width, clientSize.Height + difference.Height); } /// @@ -219,18 +222,24 @@ namespace OnTopReplica { /// Size of the whole window. /// Size of the window's client area. public Size FromSizeToClientSize(Size size) { - return new Size(size.Width - clientSizeConversionWidth, size.Height - clientSizeConversionHeight); - } + var difference = ClientWindowDifference; - protected override void OnShown(EventArgs e) { - base.OnShown(e); - - clientSizeConversionWidth = Size.Width - ClientSize.Width; - clientSizeConversionHeight = Size.Height - ClientSize.Height; + return new Size(size.Width - difference.Width, size.Height - difference.Height); } #endregion + /// + /// Gets the difference in pixels between a client size value and a window size value (depending on window decoration). + /// + protected Size ClientWindowDifference { + get { + long style = WindowMethods.GetWindowLong(this.Handle, WindowMethods.WindowLong.Style).ToInt64(); + long exStyle = WindowMethods.GetWindowLong(this.Handle, WindowMethods.WindowLong.ExStyle).ToInt64(); + return WindowMethods.ConvertClientToWindowRect(new NRectangle(0, 0, 0, 0), style, exStyle).Size; + } + } + } } diff --git a/OnTopReplica/Native/Rectangle.cs b/OnTopReplica/Native/Rectangle.cs index cb138c8..1166648 100644 --- a/OnTopReplica/Native/Rectangle.cs +++ b/OnTopReplica/Native/Rectangle.cs @@ -2,8 +2,10 @@ using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; +using System.Drawing; namespace OnTopReplica.Native { + /// A native Rectangle Structure. [StructLayout(LayoutKind.Sequential)] struct NRectangle { @@ -52,4 +54,13 @@ namespace OnTopReplica.Native { } } + + static class NRectangleExtensions { + + public static NRectangle ToNativeRectangle(this Size size) { + return new NRectangle(0, 0, size.Width, size.Height); + } + + } + } diff --git a/OnTopReplica/Native/WindowMethods.cs b/OnTopReplica/Native/WindowMethods.cs index 56d315b..7345218 100644 --- a/OnTopReplica/Native/WindowMethods.cs +++ b/OnTopReplica/Native/WindowMethods.cs @@ -56,17 +56,6 @@ namespace OnTopReplica.Native { return String.Empty; } - const int MaxClassLength = 255; - - public static string GetWindowClass(IntPtr hwnd) { - var sb = new StringBuilder(MaxClassLength + 1); - RealGetWindowClass(hwnd, sb, MaxClassLength); - return sb.ToString(); - } - - [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] - static extern uint RealGetWindowClass(IntPtr hwnd, [Out] StringBuilder lpString, uint maxCount); - public enum WindowLong { WndProc = (-4), HInstance = (-6), @@ -77,11 +66,6 @@ namespace OnTopReplica.Native { Id = (-12) } - public enum ClassLong { - Icon = -14, - IconSmall = -34 - } - [Flags] public enum WindowStyles : long { None = 0, @@ -131,7 +115,23 @@ namespace OnTopReplica.Native { [DllImport("user32.dll", EntryPoint = "SetWindowLongPtr")] static extern IntPtr SetWindowLongPtr64(IntPtr hWnd, WindowLong nIndex, IntPtr dwNewLong); - #region Class styles + #region Window class + + const int MaxClassLength = 255; + + public static string GetWindowClass(IntPtr hwnd) { + var sb = new StringBuilder(MaxClassLength + 1); + RealGetWindowClass(hwnd, sb, MaxClassLength); + return sb.ToString(); + } + + [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] + static extern uint RealGetWindowClass(IntPtr hwnd, [Out] StringBuilder lpString, uint maxCount); + + public enum ClassLong { + Icon = -14, + IconSmall = -34 + } [DllImport("user32.dll", EntryPoint = "GetClassLongPtrW")] static extern IntPtr GetClassLong64(IntPtr hWnd, int nIndex); @@ -153,5 +153,28 @@ namespace OnTopReplica.Native { [DllImport("user32.dll")] public static extern IntPtr GetMenu(IntPtr hwnd); + /// + /// Converts client size rectangle to window rectangle, according to window styles. + /// + /// Client area bounding box. + /// Style of window to compute. + /// Extended style of window to compute. + public static NRectangle ConvertClientToWindowRect(NRectangle clientRectangle, long windowStyle, long extendedWindowStyle) { + NRectangle tmp = clientRectangle; + if (AdjustWindowRectEx(ref tmp, windowStyle, false, extendedWindowStyle)) { + return tmp; + } + else { +#if DEBUG + throw new InvalidOperationException("Failed to convert client rectangle to window rectangle"); +#else + return clientRectangle; +#endif + } + } + + [DllImport("user32.dll")] + private static extern bool AdjustWindowRectEx(ref NRectangle clientToWindowRect, long windowStyle, bool hasMenu, long extendedWindowStyle); + } } diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs index c24ee7c..4114f3b 100644 --- a/OnTopReplica/Platforms/WindowsSeven.cs +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -33,29 +33,6 @@ namespace OnTopReplica.Platforms { form.Show(); } - /*public override void OnFormStateChange(MainForm form) { - //SetWindowStyle(form); - }*/ - - /// - /// Used to alter the window style. Not used anymore. - /// - private void SetWindowStyle(MainForm form) { - if (!form.FullscreenManager.IsFullscreen) { - //This hides the app from ALT+TAB - //Note that when minimized, it will be shown as an (ugly) minimized tool window - //thus we do not minimize, but set to transparent when hiding - long exStyle = WindowMethods.GetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle).ToInt64(); - - exStyle |= (long)(WindowMethods.WindowExStyles.ToolWindow); - //exStyle &= ~(long)(WindowMethods.WindowExStyles.AppWindow); - - WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.ExStyle, new IntPtr(exStyle)); - - //WindowMethods.SetWindowLong(form.Handle, WindowMethods.WindowLong.HwndParent, WindowManagerMethods.GetDesktopWindow()); - } - } - } }