namespace Catalyst_Launcher
{
    using Catalyst_Launcher.My;
    using Microsoft.VisualBasic;
    using Microsoft.VisualBasic.CompilerServices;
    using Shell32;
    using System;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Drawing;
    using System.IO;
    using System.Net;
    using System.Runtime.CompilerServices;
    using System.Windows.Forms;

    [DesignerGenerated]
    public class Launcher : Form
    {
        [AccessedThroughProperty("Check")]
        private System.Windows.Forms.Timer _Check;
        [AccessedThroughProperty("Download")]
        private WebClient _Download;
        [AccessedThroughProperty("DownloadProgress")]
        private ProgressBar _DownloadProgress;
        [AccessedThroughProperty("DownloadTimer")]
        private System.Windows.Forms.Timer _DownloadTimer;
        [AccessedThroughProperty("Exit_Down")]
        private PictureBox _Exit_Down;
        [AccessedThroughProperty("Exit_Nor")]
        private PictureBox _Exit_Nor;
        [AccessedThroughProperty("Exit_Over")]
        private PictureBox _Exit_Over;
        [AccessedThroughProperty("LinkLabel1")]
        private LinkLabel _LinkLabel1;
        [AccessedThroughProperty("LinkLabel2")]
        private LinkLabel _LinkLabel2;
        [AccessedThroughProperty("patcher")]
        private Panel _patcher;
        [AccessedThroughProperty("PatchStart")]
        private System.Windows.Forms.Timer _PatchStart;
        [AccessedThroughProperty("PictureBox1")]
        private PictureBox _PictureBox1;
        [AccessedThroughProperty("ProgressData")]
        private Label _ProgressData;
        [AccessedThroughProperty("Start_Down")]
        private PictureBox _Start_Down;
        [AccessedThroughProperty("Start_Nor")]
        private PictureBox _Start_Nor;
        [AccessedThroughProperty("Start_Over")]
        private PictureBox _Start_Over;
        [AccessedThroughProperty("Status")]
        private Label _Status;
        [AccessedThroughProperty("Status2")]
        private Label _Status2;
        [AccessedThroughProperty("ToolTip1")]
        private ToolTip _ToolTip1;
        [AccessedThroughProperty("WebBrowser1")]
        private WebBrowser _WebBrowser1;
        [AccessedThroughProperty("WebBrowser2")]
        private WebBrowser _WebBrowser2;
        private IContainer components;
        public string FileName;
        public string Local;
        public bool Patched;
        private sqlconnector sql;
        public bool Stop_patcher;

        public Launcher()
        {
            base.Load += new EventHandler(this.Form1_Load);
            base.MouseEnter += new EventHandler(this.Form1_MouseEnter);
            this.Patched = false;
            this.sql = new sqlconnector();
            this.InitializeComponent();
        }

        private void CommunicateServer()
        {
            HttpWebRequest request = (HttpWebRequest) WebRequest.Create("http://www.Lugapha.com/patchdata/_patchlist.txt");
            HttpWebResponse response = null;
            try
            {
                response = (HttpWebResponse) request.GetResponse();
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    response.Close();
                    this.PatchCheck();
                }
            }
            catch (Exception exception1)
            {
                ProjectData.SetProjectError(exception1);
                Exception exception = exception1;
                this.Status.ForeColor = Color.Green;
                this.Status.Text = exception.Message;
                MessageBox.Show("Patch server is offline. Please try again later.");
                ProjectData.ClearProjectError();
            }
        }

        [DebuggerNonUserCode]
        protected override void Dispose(bool disposing)
        {
            try
            {
                if (disposing && (this.components != null))
                {
                    this.components.Dispose();
                }
            }
            finally
            {
                base.Dispose(disposing);
            }
        }

        private void DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
        {
            this.DownloadProgress.Value = e.ProgressPercentage;
            double num = Conversions.ToDouble(Strings.Format(((double) e.BytesReceived) / 1000000.0, "###0.00"));
            double num2 = Conversions.ToDouble(Strings.Format(((double) e.TotalBytesToReceive) / 1000000.0, "###0.00"));
            this.ProgressData.Show();
            this.ProgressData.Text = this.FileName + " " + Conversions.ToString(num) + "MB of " + Conversions.ToString(num2) + "MB";
        }

        private void DownloadProgressComplete(object sender, AsyncCompletedEventArgs e)
        {
            if (!e.Cancelled && (e.Error == null))
            {
                this.ProgressData.Hide();
                this.Status.Text = this.FileName + " Complete";
                this.Patch_client();
                this.Update_Patchfile();
                this.File_Cleanup();
                this.PatchStart.Start();
            }
        }

        private void DownloadTimer_Tick(object sender, EventArgs e)
        {
            if (!this.Download.IsBusy)
            {
                this.DownloadTimer.Stop();
            }
        }

        private void Exit_Down_Click(object sender, EventArgs e)
        {
        }

        private void Exit_Nor_MouseEnter(object sender, EventArgs e)
        {
            this.Exit_Nor.Hide();
            this.Exit_Over.Show();
        }

        private void Exit_Over_MouseDown(object sender, MouseEventArgs e)
        {
            this.Exit_Over.Hide();
            this.Exit_Down.Show();
        }

        [MethodImpl(MethodImplOptions.NoOptimization | MethodImplOptions.NoInlining)]
        private void Exit_Over_MouseUp(object sender, MouseEventArgs e)
        {
            this.Exit_Over.Show();
            this.Exit_Down.Hide();
            ProjectData.EndApp();
        }

        private void File_Cleanup()
        {
            this.Status.Text = "Cleaning up...";
            if (MyProject.Computer.FileSystem.FileExists("lugasoft_" + this.Local + ".zip"))
            {
                MyProject.Computer.FileSystem.DeleteFile("lugasoft_" + this.Local + ".zip");
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Control.CheckForIllegalCrossThreadCalls = false;
            this.LinkLabel1.Hide();
            this.LinkLabel2.Hide();
            this.Status2.Hide();
            this.Start_Nor.Hide();
            this.Start_Down.Hide();
            this.Start_Over.Hide();
            this.ProgressData.Hide();
            this.CommunicateServer();
        }

        private void Form1_MouseEnter(object sender, EventArgs e)
        {
            if (this.Patched)
            {
                this.Start_Nor.Show();
                this.Start_Over.Hide();
                this.Start_Down.Hide();
            }
            this.Exit_Nor.Show();
            this.Exit_Over.Hide();
            this.Exit_Down.Hide();
        }

        [DebuggerStepThrough]
        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            ComponentResourceManager manager = new ComponentResourceManager(typeof(Launcher));
            this.WebBrowser1 = new WebBrowser();
            this.PictureBox1 = new PictureBox();
            this.Start_Nor = new PictureBox();
            this.Start_Over = new PictureBox();
            this.Start_Down = new PictureBox();
            this.Exit_Nor = new PictureBox();
            this.Exit_Over = new PictureBox();
            this.Exit_Down = new PictureBox();
            this.DownloadProgress = new ProgressBar();
            this.patcher = new Panel();
            this.ProgressData = new Label();
            this.Status = new Label();
            this.LinkLabel2 = new LinkLabel();
            this.LinkLabel1 = new LinkLabel();
            this.WebBrowser2 = new WebBrowser();
            this.Status2 = new Label();
            this.ToolTip1 = new ToolTip(this.components);
            this.PatchStart = new System.Windows.Forms.Timer(this.components);
            this.DownloadTimer = new System.Windows.Forms.Timer(this.components);
            ((ISupportInitialize) this.PictureBox1).BeginInit();
            ((ISupportInitialize) this.Start_Nor).BeginInit();
            ((ISupportInitialize) this.Start_Over).BeginInit();
            ((ISupportInitialize) this.Start_Down).BeginInit();
            ((ISupportInitialize) this.Exit_Nor).BeginInit();
            ((ISupportInitialize) this.Exit_Over).BeginInit();
            ((ISupportInitialize) this.Exit_Down).BeginInit();
            this.patcher.SuspendLayout();
            this.SuspendLayout();
            this.WebBrowser1.AllowNavigation = false;
            this.WebBrowser1.AllowWebBrowserDrop = false;
            this.WebBrowser1.IsWebBrowserContextMenuEnabled = false;
            manager.ApplyResources(this.WebBrowser1, "WebBrowser1");
            this.WebBrowser1.Name = "WebBrowser1";
            this.WebBrowser1.ScrollBarsEnabled = false;
            this.WebBrowser1.TabStop = false;
            this.WebBrowser1.Url = new Uri("http://www.lugapha.com/notice.html", UriKind.Absolute);
            this.WebBrowser1.WebBrowserShortcutsEnabled = false;
            this.PictureBox1.BackColor = Color.Transparent;
            manager.ApplyResources(this.PictureBox1, "PictureBox1");
            this.PictureBox1.Name = "PictureBox1";
            this.PictureBox1.TabStop = false;
            this.Start_Nor.BackColor = Color.Transparent;
            this.Start_Nor.Cursor = Cursors.Hand;
            manager.ApplyResources(this.Start_Nor, "Start_Nor");
            this.Start_Nor.Name = "Start_Nor";
            this.Start_Nor.TabStop = false;
            this.Start_Over.BackColor = Color.Transparent;
            this.Start_Over.Cursor = Cursors.Hand;
            manager.ApplyResources(this.Start_Over, "Start_Over");
            this.Start_Over.Name = "Start_Over";
            this.Start_Over.TabStop = false;
            this.ToolTip1.SetToolTip(this.Start_Over, manager.GetString("Start_Over.ToolTip"));
            this.Start_Down.BackColor = Color.Transparent;
            this.Start_Down.Cursor = Cursors.Hand;
            manager.ApplyResources(this.Start_Down, "Start_Down");
            this.Start_Down.Name = "Start_Down";
            this.Start_Down.TabStop = false;
            this.Exit_Nor.BackColor = Color.Transparent;
            this.Exit_Nor.Cursor = Cursors.Hand;
            manager.ApplyResources(this.Exit_Nor, "Exit_Nor");
            this.Exit_Nor.Name = "Exit_Nor";
            this.Exit_Nor.TabStop = false;
            this.Exit_Over.BackColor = Color.Transparent;
            this.Exit_Over.Cursor = Cursors.Hand;
            manager.ApplyResources(this.Exit_Over, "Exit_Over");
            this.Exit_Over.Name = "Exit_Over";
            this.Exit_Over.TabStop = false;
            this.Exit_Down.BackColor = Color.Transparent;
            this.Exit_Down.Cursor = Cursors.Hand;
            manager.ApplyResources(this.Exit_Down, "Exit_Down");
            this.Exit_Down.Name = "Exit_Down";
            this.Exit_Down.TabStop = false;
            manager.ApplyResources(this.DownloadProgress, "DownloadProgress");
            this.DownloadProgress.Name = "DownloadProgress";
            manager.ApplyResources(this.patcher, "patcher");
            this.patcher.BackColor = SystemColors.InfoText;
            this.patcher.BorderStyle = BorderStyle.Fixed3D;
            this.patcher.Controls.Add(this.ProgressData);
            this.patcher.Controls.Add(this.Status);
            this.patcher.Controls.Add(this.LinkLabel2);
            this.patcher.Controls.Add(this.DownloadProgress);
            this.patcher.Controls.Add(this.LinkLabel1);
            this.patcher.Controls.Add(this.Start_Nor);
            this.patcher.Controls.Add(this.Start_Over);
            this.patcher.Controls.Add(this.Start_Down);
            this.patcher.Name = "patcher";
            manager.ApplyResources(this.ProgressData, "ProgressData");
            this.ProgressData.BackColor = Color.Transparent;
            this.ProgressData.ForeColor = Color.Chartreuse;
            this.ProgressData.Name = "ProgressData";
            manager.ApplyResources(this.Status, "Status");
            this.Status.ForeColor = Color.Yellow;
            this.Status.Name = "Status";
            manager.ApplyResources(this.LinkLabel2, "LinkLabel2");
            this.LinkLabel2.LinkColor = Color.Red;
            this.LinkLabel2.Name = "LinkLabel2";
            this.LinkLabel2.TabStop = true;
            this.ToolTip1.SetToolTip(this.LinkLabel2, manager.GetString("LinkLabel2.ToolTip"));
            manager.ApplyResources(this.LinkLabel1, "LinkLabel1");
            this.LinkLabel1.LinkColor = Color.Red;
            this.LinkLabel1.Name = "LinkLabel1";
            this.LinkLabel1.TabStop = true;
            manager.ApplyResources(this.WebBrowser2, "WebBrowser2");
            this.WebBrowser2.Name = "WebBrowser2";
            this.WebBrowser2.ScrollBarsEnabled = false;
            this.WebBrowser2.TabStop = false;
            this.WebBrowser2.Url = new Uri("https://www.youtube.com/embed/giA1QdIn8tc", UriKind.Absolute);
            manager.ApplyResources(this.Status2, "Status2");
            this.Status2.BackColor = Color.Black;
            this.Status2.ForeColor = Color.Red;
            this.Status2.Name = "Status2";
            this.ToolTip1.AutoPopDelay = 0x1f40;
            this.ToolTip1.BackColor = Color.LawnGreen;
            this.ToolTip1.InitialDelay = 0x3e8;
            this.ToolTip1.ReshowDelay = 100;
            this.ToolTip1.ToolTipTitle = "Help Center";
            this.PatchStart.Interval = 0xbb8;
            this.DownloadTimer.Interval = 500;
            manager.ApplyResources(this, "$this");
            this.AutoScaleMode = AutoScaleMode.Font;
            this.AutoValidate = AutoValidate.EnablePreventFocusChange;
            this.BackColor = Color.FromArgb(0xe0, 0xe0, 0xe0);
            this.Controls.Add(this.Status2);
            this.Controls.Add(this.WebBrowser2);
            this.Controls.Add(this.patcher);
            this.Controls.Add(this.WebBrowser1);
            this.Controls.Add(this.Exit_Down);
            this.Controls.Add(this.Exit_Over);
            this.Controls.Add(this.Exit_Nor);
            this.Controls.Add(this.PictureBox1);
            this.DoubleBuffered = true;
            this.ForeColor = Color.Black;
            this.FormBorderStyle = FormBorderStyle.None;
            this.MaximizeBox = false;
            this.MinimizeBox = false;
            this.Name = "Launcher";
            this.SizeGripStyle = SizeGripStyle.Show;
            this.TransparencyKey = Color.FromArgb(0xe0, 0xe0, 0xe0);
            ((ISupportInitialize) this.PictureBox1).EndInit();
            ((ISupportInitialize) this.Start_Nor).EndInit();
            ((ISupportInitialize) this.Start_Over).EndInit();
            ((ISupportInitialize) this.Start_Down).EndInit();
            ((ISupportInitialize) this.Exit_Nor).EndInit();
            ((ISupportInitialize) this.Exit_Over).EndInit();
            ((ISupportInitialize) this.Exit_Down).EndInit();
            this.patcher.ResumeLayout(false);
            this.patcher.PerformLayout();
            this.ResumeLayout(false);
            this.PerformLayout();
        }

        private void Patch_client()
        {
            if (MyProject.Computer.FileSystem.FileExists("lugasoft_" + this.Local + ".zip"))
            {
                if (MyProject.Computer.FileSystem.GetFileInfo("lugasoft_" + this.Local + ".zip").Length <= 0L)
                {
                    Interaction.MsgBox("The patch file is missing please contact \r\r  'Catalyst Support Team'\rhttp://www.Lugapha.com/contact", MsgBoxStyle.ApplicationModal, null);
                    this.Status.Text = "File not Found";
                    this.Stop_patcher = true;
                }
                else
                {
                    this.Status.Text = "Patching...";
                    string currentDirectory = Directory.GetCurrentDirectory();
                    try
                    {
                        Guid clsid = new Guid("13709620-C279-11CE-A49E-444553540000");
                        Shell shell = (Shell) Activator.CreateInstance(System.Type.GetTypeFromCLSID(clsid));
                        shell.NameSpace(currentDirectory).CopyHere(shell.NameSpace(currentDirectory + @"\lugasoft_" + this.Local + ".zip").Items(), 20);
                    }
                    catch (Exception exception1)
                    {
                        ProjectData.SetProjectError(exception1);
                        Exception exception = exception1;
                        Interaction.MsgBox(exception.Message + "\r" + currentDirectory + "lugasoft_" + this.Local + ".zip", MsgBoxStyle.ApplicationModal, null);
                        this.Stop_patcher = true;
                        ProjectData.ClearProjectError();
                    }
                }
            }
        }

        private void PatchCheck()
        {
            this.Status.Text = "Checking for required files...";
            string path = "patchlist.txt";
            string text = "0";
            if (!System.IO.File.Exists("patchlist.txt"))
            {
                System.IO.File.Create(path).Dispose();
                MyProject.Computer.FileSystem.WriteAllText("patchlist.txt", text, false);
                Application.Restart();
            }
            else
            {
                this.PatchStart.Start();
            }
        }

        private void patcher_MouseEnter(object sender, EventArgs e)
        {
            if (this.Patched)
            {
                this.Start_Nor.Show();
                this.Start_Over.Hide();
                this.Start_Down.Hide();
            }
            this.Exit_Nor.Show();
            this.Exit_Over.Hide();
            this.Exit_Down.Hide();
        }

        [MethodImpl(MethodImplOptions.NoOptimization | MethodImplOptions.NoInlining)]
        private void PatchStart_Tick(object sender, EventArgs e)
        {
            this.PatchStart.Stop();
            this.Status.Text = "Checking for updates...";
            WebClient client = new WebClient();
            int num = 1;
            string str = client.DownloadString("http://www.Lugapha.com/patchdata/_patcher_ver.txt");
            client.Dispose();
            if (num >= Conversions.ToDouble(str))
            {
                this.Local = MyProject.Computer.FileSystem.ReadAllText("patchlist.txt");
                string right = client.DownloadString("http://www.Lugapha.com/patchdata/_patchlist.txt");
                client.Dispose();
                this.Download = new WebClient();
                if (Operators.CompareString(this.Local, right, false) >= 0)
                {
                    this.UpToDate();
                }
                else
                {
                    this.Local = Conversions.ToString((double) (Conversions.ToDouble(this.Local) + 1.0));
                    this.Download.DownloadFileCompleted += new AsyncCompletedEventHandler(this.DownloadProgressComplete);
                    this.Download.DownloadProgressChanged += new DownloadProgressChangedEventHandler(this.DownloadProgressChanged);
                    this.FileName = "lugasoft_" + this.Local + ".zip";
                    if (Operators.ConditionalCompareObjectEqual(MyProject.Forms.download_worker.downloader(this.Local, this.FileName, this.Download), true, false))
                    {
                        this.Status.Text = "Downloading : ";
                    }
                    this.DownloadTimer.Start();
                }
            }
            else
            {
                this.Local = Conversions.ToString((int) (num + 1));
                this.Download.DownloadFileCompleted += new AsyncCompletedEventHandler(this.DownloadProgressComplete);
                this.Download.DownloadProgressChanged += new DownloadProgressChangedEventHandler(this.DownloadProgressChanged);
                this.FileName = "patcher_" + str + ".exe";
                if (Operators.ConditionalCompareObjectEqual(MyProject.Forms.download_worker.downloader(this.Local, this.FileName, this.Download), true, false))
                {
                    this.Status.Text = "Downloading : ";
                    Interaction.Shell("\"patcher_" + str + ".exe", AppWinStyle.NormalFocus, false, 0x3e8);
                    ProjectData.EndApp();
                }
            }
        }

        private void Start_Down_Click(object sender, EventArgs e)
        {
        }

        private void Start_Nor_MouseEnter(object sender, EventArgs e)
        {
            this.Start_Nor.Hide();
            this.Start_Over.Show();
        }

        private void Start_Nor_MouseLeave(object sender, EventArgs e)
        {
            this.Start_Over.Hide();
            this.Start_Down.Hide();
            this.Start_Nor.Show();
        }

        private void Start_Over_MouseDown(object sender, MouseEventArgs e)
        {
            this.Start_Over.Hide();
            this.Start_Down.Show();
        }

        private void Start_Over_MouseUp(object sender, MouseEventArgs e)
        {
            this.Start_Over.Show();
            this.Start_Down.Hide();
            this.StartGame();
        }

        [MethodImpl(MethodImplOptions.NoOptimization | MethodImplOptions.NoInlining)]
        private void StartGame()
        {
            Interaction.Shell("\"catalyst.bin\" -i 24.93.232.212 -osk_store http://www.Lugapha.com/store/index.php", AppWinStyle.NormalFocus, false, 0x3e8);
            ProjectData.EndApp();
        }

        private void Update_Patchfile()
        {
            string file = Application.StartupPath + @"\patchlist.txt";
            if (MyProject.Computer.FileSystem.FileExists(file))
            {
                MyProject.Computer.FileSystem.DeleteFile(file);
            }
            System.IO.File.Create("patchlist.txt").Dispose();
            MyProject.Computer.FileSystem.WriteAllText("patchlist.txt", this.Local, false);
        }

        private void UpToDate()
        {
            this.DownloadProgress.Hide();
            this.LinkLabel1.Show();
            this.LinkLabel2.Show();
            this.Status.Hide();
            this.Status2.Show();
            this.Status2.ForeColor = Color.Green;
            this.Status2.Text = "Client Version is up to Date";
            this.ProgressData.Hide();
            this.Start_Nor.Show();
            this.Patched = true;
        }

        internal virtual System.Windows.Forms.Timer Check
        {
            get => 
                this._Check
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                this._Check = value;
            }
        }

        public virtual WebClient Download
        {
            get => 
                this._Download
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                DownloadProgressChangedEventHandler handler = new DownloadProgressChangedEventHandler(this.DownloadProgressChanged);
                AsyncCompletedEventHandler handler2 = new AsyncCompletedEventHandler(this.DownloadProgressComplete);
                if (this._Download != null)
                {
                    this._Download.DownloadProgressChanged -= handler;
                    this._Download.DownloadFileCompleted -= handler2;
                }
                this._Download = value;
                if (this._Download != null)
                {
                    this._Download.DownloadProgressChanged += handler;
                    this._Download.DownloadFileCompleted += handler2;
                }
            }
        }

        internal virtual ProgressBar DownloadProgress
        {
            get => 
                this._DownloadProgress
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                this._DownloadProgress = value;
            }
        }

        internal virtual System.Windows.Forms.Timer DownloadTimer
        {
            get => 
                this._DownloadTimer
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                EventHandler handler = new EventHandler(this.DownloadTimer_Tick);
                if (this._DownloadTimer != null)
                {
                    this._DownloadTimer.Tick -= handler;
                }
                this._DownloadTimer = value;
                if (this._DownloadTimer != null)
                {
                    this._DownloadTimer.Tick += handler;
                }
            }
        }

        internal virtual PictureBox Exit_Down
        {
            get => 
                this._Exit_Down
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                EventHandler handler = new EventHandler(this.Exit_Down_Click);
                if (this._Exit_Down != null)
                {
                    this._Exit_Down.Click -= handler;
                }
                this._Exit_Down = value;
                if (this._Exit_Down != null)
                {
                    this._Exit_Down.Click += handler;
                }
            }
        }

        internal virtual PictureBox Exit_Nor
        {
            get => 
                this._Exit_Nor
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                EventHandler handler = new EventHandler(this.Exit_Nor_MouseEnter);
                if (this._Exit_Nor != null)
                {
                    this._Exit_Nor.MouseEnter -= handler;
                }
                this._Exit_Nor = value;
                if (this._Exit_Nor != null)
                {
                    this._Exit_Nor.MouseEnter += handler;
                }
            }
        }

        internal virtual PictureBox Exit_Over
        {
            get => 
                this._Exit_Over
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                MouseEventHandler handler = new MouseEventHandler(this.Exit_Over_MouseUp);
                MouseEventHandler handler2 = new MouseEventHandler(this.Exit_Over_MouseDown);
                if (this._Exit_Over != null)
                {
                    this._Exit_Over.MouseUp -= handler;
                    this._Exit_Over.MouseDown -= handler2;
                }
                this._Exit_Over = value;
                if (this._Exit_Over != null)
                {
                    this._Exit_Over.MouseUp += handler;
                    this._Exit_Over.MouseDown += handler2;
                }
            }
        }

        internal virtual LinkLabel LinkLabel1
        {
            get => 
                this._LinkLabel1
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                this._LinkLabel1 = value;
            }
        }

        internal virtual LinkLabel LinkLabel2
        {
            get => 
                this._LinkLabel2
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                this._LinkLabel2 = value;
            }
        }

        internal virtual Panel patcher
        {
            get => 
                this._patcher
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                EventHandler handler = new EventHandler(this.patcher_MouseEnter);
                if (this._patcher != null)
                {
                    this._patcher.MouseEnter -= handler;
                }
                this._patcher = value;
                if (this._patcher != null)
                {
                    this._patcher.MouseEnter += handler;
                }
            }
        }

        internal virtual System.Windows.Forms.Timer PatchStart
        {
            get => 
                this._PatchStart
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                EventHandler handler = new EventHandler(this.PatchStart_Tick);
                if (this._PatchStart != null)
                {
                    this._PatchStart.Tick -= handler;
                }
                this._PatchStart = value;
                if (this._PatchStart != null)
                {
                    this._PatchStart.Tick += handler;
                }
            }
        }

        internal virtual PictureBox PictureBox1
        {
            get => 
                this._PictureBox1
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                this._PictureBox1 = value;
            }
        }

        internal virtual Label ProgressData
        {
            get => 
                this._ProgressData
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                this._ProgressData = value;
            }
        }

        internal virtual PictureBox Start_Down
        {
            get => 
                this._Start_Down
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                EventHandler handler = new EventHandler(this.Start_Down_Click);
                if (this._Start_Down != null)
                {
                    this._Start_Down.Click -= handler;
                }
                this._Start_Down = value;
                if (this._Start_Down != null)
                {
                    this._Start_Down.Click += handler;
                }
            }
        }

        internal virtual PictureBox Start_Nor
        {
            get => 
                this._Start_Nor
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                EventHandler handler = new EventHandler(this.Start_Nor_MouseEnter);
                if (this._Start_Nor != null)
                {
                    this._Start_Nor.MouseEnter -= handler;
                }
                this._Start_Nor = value;
                if (this._Start_Nor != null)
                {
                    this._Start_Nor.MouseEnter += handler;
                }
            }
        }

        internal virtual PictureBox Start_Over
        {
            get => 
                this._Start_Over
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                MouseEventHandler handler = new MouseEventHandler(this.Start_Over_MouseUp);
                MouseEventHandler handler2 = new MouseEventHandler(this.Start_Over_MouseDown);
                if (this._Start_Over != null)
                {
                    this._Start_Over.MouseUp -= handler;
                    this._Start_Over.MouseDown -= handler2;
                }
                this._Start_Over = value;
                if (this._Start_Over != null)
                {
                    this._Start_Over.MouseUp += handler;
                    this._Start_Over.MouseDown += handler2;
                }
            }
        }

        internal virtual Label Status
        {
            get => 
                this._Status
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                this._Status = value;
            }
        }

        internal virtual Label Status2
        {
            get => 
                this._Status2
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                this._Status2 = value;
            }
        }

        internal virtual ToolTip ToolTip1
        {
            get => 
                this._ToolTip1
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                this._ToolTip1 = value;
            }
        }

        internal virtual WebBrowser WebBrowser1
        {
            get => 
                this._WebBrowser1
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                this._WebBrowser1 = value;
            }
        }

        internal virtual WebBrowser WebBrowser2
        {
            get => 
                this._WebBrowser2
            [MethodImpl(MethodImplOptions.Synchronized)]
            set
            {
                this._WebBrowser2 = value;
            }
        }
    }
}

