commit 2e4d43679e9069e491935deeb00ddf8b669767d4 Author: zhengxuan.zhang Date: Fri Sep 2 08:41:21 2022 +0800 基于 ACS 进阶例程,初版提交 diff --git a/Motion/.vs/.NET Library (Advanced) Demo/v15/Server/sqlite3/db.lock b/Motion/.vs/.NET Library (Advanced) Demo/v15/Server/sqlite3/db.lock new file mode 100644 index 0000000..e69de29 diff --git a/Motion/.vs/.NET Library (Advanced) Demo/v15/Server/sqlite3/storage.ide b/Motion/.vs/.NET Library (Advanced) Demo/v15/Server/sqlite3/storage.ide new file mode 100644 index 0000000..56758a8 Binary files /dev/null and b/Motion/.vs/.NET Library (Advanced) Demo/v15/Server/sqlite3/storage.ide differ diff --git a/Motion/.vs/.NET Library (Advanced) Demo/v15/Server/sqlite3/storage.ide-shm b/Motion/.vs/.NET Library (Advanced) Demo/v15/Server/sqlite3/storage.ide-shm new file mode 100644 index 0000000..05f2bbb Binary files /dev/null and b/Motion/.vs/.NET Library (Advanced) Demo/v15/Server/sqlite3/storage.ide-shm differ diff --git a/Motion/.vs/.NET Library (Advanced) Demo/v15/Server/sqlite3/storage.ide-wal b/Motion/.vs/.NET Library (Advanced) Demo/v15/Server/sqlite3/storage.ide-wal new file mode 100644 index 0000000..1956ab8 Binary files /dev/null and b/Motion/.vs/.NET Library (Advanced) Demo/v15/Server/sqlite3/storage.ide-wal differ diff --git a/Motion/.vs/ACS Motion/v15/Server/sqlite3/db.lock b/Motion/.vs/ACS Motion/v15/Server/sqlite3/db.lock new file mode 100644 index 0000000..e69de29 diff --git a/Motion/.vs/ACS Motion/v15/Server/sqlite3/storage.ide b/Motion/.vs/ACS Motion/v15/Server/sqlite3/storage.ide new file mode 100644 index 0000000..56758a8 Binary files /dev/null and b/Motion/.vs/ACS Motion/v15/Server/sqlite3/storage.ide differ diff --git a/Motion/.vs/ACS Motion/v15/Server/sqlite3/storage.ide-shm b/Motion/.vs/ACS Motion/v15/Server/sqlite3/storage.ide-shm new file mode 100644 index 0000000..577a9e8 Binary files /dev/null and b/Motion/.vs/ACS Motion/v15/Server/sqlite3/storage.ide-shm differ diff --git a/Motion/.vs/ACS Motion/v15/Server/sqlite3/storage.ide-wal b/Motion/.vs/ACS Motion/v15/Server/sqlite3/storage.ide-wal new file mode 100644 index 0000000..da4ee64 Binary files /dev/null and b/Motion/.vs/ACS Motion/v15/Server/sqlite3/storage.ide-wal differ diff --git a/Motion/ACS Motion.sln b/Motion/ACS Motion.sln new file mode 100644 index 0000000..f114160 --- /dev/null +++ b/Motion/ACS Motion.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27428.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ACS Motion", "ACS Motion\ACS Motion.csproj", "{19741897-37D8-43EE-94A2-637975035CEA}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {19741897-37D8-43EE-94A2-637975035CEA}.Debug|x64.ActiveCfg = Debug|x64 + {19741897-37D8-43EE-94A2-637975035CEA}.Debug|x64.Build.0 = Debug|x64 + {19741897-37D8-43EE-94A2-637975035CEA}.Debug|x86.ActiveCfg = Debug|x86 + {19741897-37D8-43EE-94A2-637975035CEA}.Debug|x86.Build.0 = Debug|x86 + {19741897-37D8-43EE-94A2-637975035CEA}.Release|x64.ActiveCfg = Release|x64 + {19741897-37D8-43EE-94A2-637975035CEA}.Release|x64.Build.0 = Release|x64 + {19741897-37D8-43EE-94A2-637975035CEA}.Release|x86.ActiveCfg = Release|x86 + {19741897-37D8-43EE-94A2-637975035CEA}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {2AD1F058-954D-4783-8021-C4C483496DBA} + EndGlobalSection +EndGlobal diff --git a/Motion/ACS Motion/ACS Motion.csproj b/Motion/ACS Motion/ACS Motion.csproj new file mode 100644 index 0000000..0c7f24d --- /dev/null +++ b/Motion/ACS Motion/ACS Motion.csproj @@ -0,0 +1,119 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {19741897-37D8-43EE-94A2-637975035CEA} + WinExe + Properties + ACS_DotNET_Library_Advanced_Demo + ACS_DotNET_Library_Advanced_Demo + v2.0 + 512 + SAK + SAK + SAK + SAK + + + x86 + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + x86 + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\x64\Debug\ + DEBUG;TRACE + full + x64 + prompt + MinimumRecommendedRules.ruleset + + + bin\x64\Release\ + TRACE + true + pdbonly + x64 + prompt + MinimumRecommendedRules.ruleset + + + + False + ..\..\ACS.SPiiPlusNET.dll + + + + + + + + + + + Form + + + MainForm.cs + + + + + MainForm.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Motion/ACS Motion/Images/Error.bmp b/Motion/ACS Motion/Images/Error.bmp new file mode 100644 index 0000000..4d58925 Binary files /dev/null and b/Motion/ACS Motion/Images/Error.bmp differ diff --git a/Motion/ACS Motion/Images/Off.bmp b/Motion/ACS Motion/Images/Off.bmp new file mode 100644 index 0000000..782c5ac Binary files /dev/null and b/Motion/ACS Motion/Images/Off.bmp differ diff --git a/Motion/ACS Motion/Images/On.bmp b/Motion/ACS Motion/Images/On.bmp new file mode 100644 index 0000000..5017301 Binary files /dev/null and b/Motion/ACS Motion/Images/On.bmp differ diff --git a/Motion/ACS Motion/MainForm.Designer.cs b/Motion/ACS Motion/MainForm.Designer.cs new file mode 100644 index 0000000..a620515 --- /dev/null +++ b/Motion/ACS Motion/MainForm.Designer.cs @@ -0,0 +1,1849 @@ +namespace ACS_DotNET_Library_Advanced_Demo +{ + partial class MainForm + { + /// + /// 필수 디자이너 변수입니다. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 사용 중인 모든 리소스를 정리합니다. + /// + /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form 디자이너에서 생성한 코드 + + /// + /// 디자이너 지원에 필요한 메서드입니다. + /// 이 메서드의 내용을 코드 편집기로 수정하지 마십시오. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.txtPort = new System.Windows.Forms.TextBox(); + this.txtIP = new System.Windows.Forms.TextBox(); + this.btnClose = new System.Windows.Forms.Button(); + this.btnOpen = new System.Windows.Forms.Button(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.rdoTCP = new System.Windows.Forms.RadioButton(); + this.rdoSimu = new System.Windows.Forms.RadioButton(); + this.tmrMonitor = new System.Windows.Forms.Timer(this.components); + this.grpMotionTest = new System.Windows.Forms.GroupBox(); + this.btnHallAll = new System.Windows.Forms.Button(); + this.btnHalt = new System.Windows.Forms.Button(); + this.grpMst = new System.Windows.Forms.GroupBox(); + this.label16 = new System.Windows.Forms.Label(); + this.label15 = new System.Windows.Forms.Label(); + this.label14 = new System.Windows.Forms.Label(); + this.lblEnable = new System.Windows.Forms.Label(); + this.lblInPos = new System.Windows.Forms.Label(); + this.lblAcc = new System.Windows.Forms.Label(); + this.lblMoving = new System.Windows.Forms.Label(); + this.label13 = new System.Windows.Forms.Label(); + this.grpPositions = new System.Windows.Forms.GroupBox(); + this.btnSetZero = new System.Windows.Forms.Button(); + this.txtFVEL = new System.Windows.Forms.TextBox(); + this.txtPE = new System.Windows.Forms.TextBox(); + this.txtFPOS = new System.Windows.Forms.TextBox(); + this.label43 = new System.Windows.Forms.Label(); + this.txtRPOS = new System.Windows.Forms.TextBox(); + this.label12 = new System.Windows.Forms.Label(); + this.label11 = new System.Windows.Forms.Label(); + this.label10 = new System.Windows.Forms.Label(); + this.btnDisableAll = new System.Windows.Forms.Button(); + this.btnDisable = new System.Windows.Forms.Button(); + this.cboAxisNo = new System.Windows.Forms.ComboBox(); + this.btnEnable = new System.Windows.Forms.Button(); + this.grpJog = new System.Windows.Forms.GroupBox(); + this.btnJogPos = new System.Windows.Forms.Button(); + this.btnJogNeg = new System.Windows.Forms.Button(); + this.txtJogVel = new System.Windows.Forms.TextBox(); + this.chkUseVel = new System.Windows.Forms.CheckBox(); + this.grpProfile = new System.Windows.Forms.GroupBox(); + this.txtJerk = new System.Windows.Forms.TextBox(); + this.txtKdec = new System.Windows.Forms.TextBox(); + this.txtDec = new System.Windows.Forms.TextBox(); + this.txtAcc = new System.Windows.Forms.TextBox(); + this.txtVel = new System.Windows.Forms.TextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.grpPTP = new System.Windows.Forms.GroupBox(); + this.btnPTP_R_Pos = new System.Windows.Forms.Button(); + this.btnPTP_R_Neg = new System.Windows.Forms.Button(); + this.btnPTP = new System.Windows.Forms.Button(); + this.txtPTP_Pos = new System.Windows.Forms.TextBox(); + this.label8 = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.grpSafety = new System.Windows.Forms.GroupBox(); + this.lblEMG = new System.Windows.Forms.Label(); + this.lblRL7 = new System.Windows.Forms.Label(); + this.lblRL3 = new System.Windows.Forms.Label(); + this.lblLL7 = new System.Windows.Forms.Label(); + this.lblLL3 = new System.Windows.Forms.Label(); + this.lblRL6 = new System.Windows.Forms.Label(); + this.lblRL2 = new System.Windows.Forms.Label(); + this.lblLL6 = new System.Windows.Forms.Label(); + this.lblRL5 = new System.Windows.Forms.Label(); + this.lblLL2 = new System.Windows.Forms.Label(); + this.lblLL5 = new System.Windows.Forms.Label(); + this.lblRL1 = new System.Windows.Forms.Label(); + this.lblRL4 = new System.Windows.Forms.Label(); + this.lblLL1 = new System.Windows.Forms.Label(); + this.lblLL4 = new System.Windows.Forms.Label(); + this.lblRL0 = new System.Windows.Forms.Label(); + this.lblLL0 = new System.Windows.Forms.Label(); + this.label18 = new System.Windows.Forms.Label(); + this.label36 = new System.Windows.Forms.Label(); + this.label27 = new System.Windows.Forms.Label(); + this.label35 = new System.Windows.Forms.Label(); + this.label26 = new System.Windows.Forms.Label(); + this.label34 = new System.Windows.Forms.Label(); + this.label25 = new System.Windows.Forms.Label(); + this.label33 = new System.Windows.Forms.Label(); + this.label24 = new System.Windows.Forms.Label(); + this.label20 = new System.Windows.Forms.Label(); + this.label19 = new System.Windows.Forms.Label(); + this.label17 = new System.Windows.Forms.Label(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.lblPRG_Status = new System.Windows.Forms.Label(); + this.lblPRG_Status_LED = new System.Windows.Forms.Label(); + this.btnStopBuffer = new System.Windows.Forms.Button(); + this.btnRunBuffer = new System.Windows.Forms.Button(); + this.txtLabelName = new System.Windows.Forms.TextBox(); + this.cboBufferNo = new System.Windows.Forms.ComboBox(); + this.label22 = new System.Windows.Forms.Label(); + this.label32 = new System.Windows.Forms.Label(); + this.label21 = new System.Windows.Forms.Label(); + this.label28 = new System.Windows.Forms.Label(); + this.grpIO = new System.Windows.Forms.GroupBox(); + this.btnSW7 = new System.Windows.Forms.Button(); + this.btnSW6 = new System.Windows.Forms.Button(); + this.btnSW5 = new System.Windows.Forms.Button(); + this.btnSW4 = new System.Windows.Forms.Button(); + this.btnSW3 = new System.Windows.Forms.Button(); + this.btnSW2 = new System.Windows.Forms.Button(); + this.btnSW0 = new System.Windows.Forms.Button(); + this.btnSW1 = new System.Windows.Forms.Button(); + this.label29 = new System.Windows.Forms.Label(); + this.label23 = new System.Windows.Forms.Label(); + this.label42 = new System.Windows.Forms.Label(); + this.lblOUT7 = new System.Windows.Forms.Label(); + this.lblIN7 = new System.Windows.Forms.Label(); + this.label41 = new System.Windows.Forms.Label(); + this.lblOUT3 = new System.Windows.Forms.Label(); + this.lblIN3 = new System.Windows.Forms.Label(); + this.label40 = new System.Windows.Forms.Label(); + this.label39 = new System.Windows.Forms.Label(); + this.label38 = new System.Windows.Forms.Label(); + this.lblOUT6 = new System.Windows.Forms.Label(); + this.lblIN6 = new System.Windows.Forms.Label(); + this.label37 = new System.Windows.Forms.Label(); + this.lblOUT2 = new System.Windows.Forms.Label(); + this.lblIN2 = new System.Windows.Forms.Label(); + this.lblOUT5 = new System.Windows.Forms.Label(); + this.lblIN5 = new System.Windows.Forms.Label(); + this.label31 = new System.Windows.Forms.Label(); + this.label30 = new System.Windows.Forms.Label(); + this.lblOUT1 = new System.Windows.Forms.Label(); + this.lblIN1 = new System.Windows.Forms.Label(); + this.lblOUT0 = new System.Windows.Forms.Label(); + this.lblOUT4 = new System.Windows.Forms.Label(); + this.lblIN0 = new System.Windows.Forms.Label(); + this.lblIN4 = new System.Windows.Forms.Label(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.lstLog = new System.Windows.Forms.ListBox(); + this.btnEventProgramEnd = new System.Windows.Forms.Button(); + this.btnEventMotionEnd = new System.Windows.Forms.Button(); + this.rtxtTerminal = new System.Windows.Forms.RichTextBox(); + this.groupBox4 = new System.Windows.Forms.GroupBox(); + this.btnSend = new System.Windows.Forms.Button(); + this.txtCommand = new System.Windows.Forms.TextBox(); + this.groupBox1.SuspendLayout(); + this.grpMotionTest.SuspendLayout(); + this.grpMst.SuspendLayout(); + this.grpPositions.SuspendLayout(); + this.grpJog.SuspendLayout(); + this.grpProfile.SuspendLayout(); + this.grpPTP.SuspendLayout(); + this.grpSafety.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.grpIO.SuspendLayout(); + this.groupBox3.SuspendLayout(); + this.groupBox4.SuspendLayout(); + this.SuspendLayout(); + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.txtPort); + this.groupBox1.Controls.Add(this.txtIP); + this.groupBox1.Controls.Add(this.btnClose); + this.groupBox1.Controls.Add(this.btnOpen); + this.groupBox1.Controls.Add(this.label2); + this.groupBox1.Controls.Add(this.label1); + this.groupBox1.Controls.Add(this.rdoTCP); + this.groupBox1.Controls.Add(this.rdoSimu); + this.groupBox1.Location = new System.Drawing.Point(12, 12); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(273, 94); + this.groupBox1.TabIndex = 0; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Communication Setting"; + // + // txtPort + // + this.txtPort.Location = new System.Drawing.Point(171, 40); + this.txtPort.Name = "txtPort"; + this.txtPort.Size = new System.Drawing.Size(91, 21); + this.txtPort.TabIndex = 15; + this.txtPort.Text = "701"; + // + // txtIP + // + this.txtIP.Location = new System.Drawing.Point(171, 17); + this.txtIP.Name = "txtIP"; + this.txtIP.Size = new System.Drawing.Size(91, 21); + this.txtIP.TabIndex = 16; + this.txtIP.Text = "10.0.0.100"; + // + // btnClose + // + this.btnClose.Location = new System.Drawing.Point(181, 65); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(81, 23); + this.btnClose.TabIndex = 14; + this.btnClose.Text = "Disconnect"; + this.btnClose.UseVisualStyleBackColor = true; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // btnOpen + // + this.btnOpen.Location = new System.Drawing.Point(94, 65); + this.btnOpen.Name = "btnOpen"; + this.btnOpen.Size = new System.Drawing.Size(81, 23); + this.btnOpen.TabIndex = 13; + this.btnOpen.Text = "Connect"; + this.btnOpen.UseVisualStyleBackColor = true; + this.btnOpen.Click += new System.EventHandler(this.btnOpen_Click); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(102, 44); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(29, 12); + this.label2.TabIndex = 11; + this.label2.Text = "Port"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(102, 21); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(59, 12); + this.label1.TabIndex = 12; + this.label1.Text = "Remote IP"; + // + // rdoTCP + // + this.rdoTCP.AutoSize = true; + this.rdoTCP.Location = new System.Drawing.Point(6, 19); + this.rdoTCP.Name = "rdoTCP"; + this.rdoTCP.Size = new System.Drawing.Size(41, 16); + this.rdoTCP.TabIndex = 10; + this.rdoTCP.TabStop = true; + this.rdoTCP.Text = "TCP"; + this.rdoTCP.UseVisualStyleBackColor = true; + this.rdoTCP.CheckedChanged += new System.EventHandler(this.rdoTCP_CheckedChanged); + // + // rdoSimu + // + this.rdoSimu.AutoSize = true; + this.rdoSimu.Location = new System.Drawing.Point(6, 42); + this.rdoSimu.Name = "rdoSimu"; + this.rdoSimu.Size = new System.Drawing.Size(77, 16); + this.rdoSimu.TabIndex = 9; + this.rdoSimu.TabStop = true; + this.rdoSimu.Text = "Simulator"; + this.rdoSimu.UseVisualStyleBackColor = true; + this.rdoSimu.CheckedChanged += new System.EventHandler(this.rdoSimu_CheckedChanged); + // + // tmrMonitor + // + this.tmrMonitor.Interval = 50; + this.tmrMonitor.Tick += new System.EventHandler(this.tmrMonitor_Tick); + // + // grpMotionTest + // + this.grpMotionTest.Controls.Add(this.btnHallAll); + this.grpMotionTest.Controls.Add(this.btnHalt); + this.grpMotionTest.Controls.Add(this.grpMst); + this.grpMotionTest.Controls.Add(this.grpPositions); + this.grpMotionTest.Controls.Add(this.btnDisableAll); + this.grpMotionTest.Controls.Add(this.btnDisable); + this.grpMotionTest.Controls.Add(this.cboAxisNo); + this.grpMotionTest.Controls.Add(this.btnEnable); + this.grpMotionTest.Controls.Add(this.grpJog); + this.grpMotionTest.Controls.Add(this.grpProfile); + this.grpMotionTest.Controls.Add(this.grpPTP); + this.grpMotionTest.Controls.Add(this.label9); + this.grpMotionTest.Location = new System.Drawing.Point(12, 112); + this.grpMotionTest.Name = "grpMotionTest"; + this.grpMotionTest.Size = new System.Drawing.Size(570, 375); + this.grpMotionTest.TabIndex = 1; + this.grpMotionTest.TabStop = false; + this.grpMotionTest.Text = "Motion Test"; + // + // btnHallAll + // + this.btnHallAll.Location = new System.Drawing.Point(439, 257); + this.btnHallAll.Name = "btnHallAll"; + this.btnHallAll.Size = new System.Drawing.Size(120, 47); + this.btnHallAll.TabIndex = 10; + this.btnHallAll.Text = "Stop All"; + this.btnHallAll.UseVisualStyleBackColor = true; + this.btnHallAll.Click += new System.EventHandler(this.btnHallAll_Click); + // + // btnHalt + // + this.btnHalt.Location = new System.Drawing.Point(439, 206); + this.btnHalt.Name = "btnHalt"; + this.btnHalt.Size = new System.Drawing.Size(120, 47); + this.btnHalt.TabIndex = 10; + this.btnHalt.Text = "Stop (Halt)"; + this.btnHalt.UseVisualStyleBackColor = true; + this.btnHalt.Click += new System.EventHandler(this.btnHalt_Click); + // + // grpMst + // + this.grpMst.Controls.Add(this.label16); + this.grpMst.Controls.Add(this.label15); + this.grpMst.Controls.Add(this.label14); + this.grpMst.Controls.Add(this.lblEnable); + this.grpMst.Controls.Add(this.lblInPos); + this.grpMst.Controls.Add(this.lblAcc); + this.grpMst.Controls.Add(this.lblMoving); + this.grpMst.Controls.Add(this.label13); + this.grpMst.Location = new System.Drawing.Point(279, 198); + this.grpMst.Name = "grpMst"; + this.grpMst.Size = new System.Drawing.Size(154, 107); + this.grpMst.TabIndex = 9; + this.grpMst.TabStop = false; + this.grpMst.Text = "Motor State (MST)"; + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(9, 82); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(41, 12); + this.label16.TabIndex = 5; + this.label16.Text = "Enable"; + // + // label15 + // + this.label15.AutoSize = true; + this.label15.Location = new System.Drawing.Point(9, 61); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(71, 12); + this.label15.TabIndex = 5; + this.label15.Text = "In Position"; + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(9, 40); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(77, 12); + this.label14.TabIndex = 5; + this.label14.Text = "Accelerating"; + // + // lblEnable + // + this.lblEnable.Image = ((System.Drawing.Image)(resources.GetObject("lblEnable.Image"))); + this.lblEnable.Location = new System.Drawing.Point(120, 80); + this.lblEnable.Name = "lblEnable"; + this.lblEnable.Size = new System.Drawing.Size(19, 17); + this.lblEnable.TabIndex = 5; + // + // lblInPos + // + this.lblInPos.Image = ((System.Drawing.Image)(resources.GetObject("lblInPos.Image"))); + this.lblInPos.Location = new System.Drawing.Point(120, 59); + this.lblInPos.Name = "lblInPos"; + this.lblInPos.Size = new System.Drawing.Size(19, 17); + this.lblInPos.TabIndex = 5; + // + // lblAcc + // + this.lblAcc.Image = ((System.Drawing.Image)(resources.GetObject("lblAcc.Image"))); + this.lblAcc.Location = new System.Drawing.Point(120, 38); + this.lblAcc.Name = "lblAcc"; + this.lblAcc.Size = new System.Drawing.Size(19, 17); + this.lblAcc.TabIndex = 5; + // + // lblMoving + // + this.lblMoving.Image = ((System.Drawing.Image)(resources.GetObject("lblMoving.Image"))); + this.lblMoving.Location = new System.Drawing.Point(120, 17); + this.lblMoving.Name = "lblMoving"; + this.lblMoving.Size = new System.Drawing.Size(19, 17); + this.lblMoving.TabIndex = 5; + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(9, 19); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(41, 12); + this.label13.TabIndex = 5; + this.label13.Text = "Moving"; + // + // grpPositions + // + this.grpPositions.Controls.Add(this.btnSetZero); + this.grpPositions.Controls.Add(this.txtFVEL); + this.grpPositions.Controls.Add(this.txtPE); + this.grpPositions.Controls.Add(this.txtFPOS); + this.grpPositions.Controls.Add(this.label43); + this.grpPositions.Controls.Add(this.txtRPOS); + this.grpPositions.Controls.Add(this.label12); + this.grpPositions.Controls.Add(this.label11); + this.grpPositions.Controls.Add(this.label10); + this.grpPositions.Location = new System.Drawing.Point(279, 51); + this.grpPositions.Name = "grpPositions"; + this.grpPositions.Size = new System.Drawing.Size(280, 141); + this.grpPositions.TabIndex = 8; + this.grpPositions.TabStop = false; + this.grpPositions.Text = "Position"; + // + // btnSetZero + // + this.btnSetZero.Location = new System.Drawing.Point(88, 111); + this.btnSetZero.Name = "btnSetZero"; + this.btnSetZero.Size = new System.Drawing.Size(186, 23); + this.btnSetZero.TabIndex = 7; + this.btnSetZero.Text = "Set Zero Position"; + this.btnSetZero.UseVisualStyleBackColor = true; + this.btnSetZero.Click += new System.EventHandler(this.btnSetZero_Click); + // + // txtFVEL + // + this.txtFVEL.Location = new System.Drawing.Point(165, 64); + this.txtFVEL.Name = "txtFVEL"; + this.txtFVEL.ReadOnly = true; + this.txtFVEL.Size = new System.Drawing.Size(107, 21); + this.txtFVEL.TabIndex = 6; + this.txtFVEL.Text = "0.000"; + this.txtFVEL.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + // + // txtPE + // + this.txtPE.Location = new System.Drawing.Point(165, 86); + this.txtPE.Name = "txtPE"; + this.txtPE.ReadOnly = true; + this.txtPE.Size = new System.Drawing.Size(107, 21); + this.txtPE.TabIndex = 6; + this.txtPE.Text = "0.000"; + this.txtPE.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + // + // txtFPOS + // + this.txtFPOS.Location = new System.Drawing.Point(165, 42); + this.txtFPOS.Name = "txtFPOS"; + this.txtFPOS.ReadOnly = true; + this.txtFPOS.Size = new System.Drawing.Size(107, 21); + this.txtFPOS.TabIndex = 6; + this.txtFPOS.Text = "0.000"; + this.txtFPOS.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + // + // label43 + // + this.label43.AutoSize = true; + this.label43.Location = new System.Drawing.Point(6, 68); + this.label43.Name = "label43"; + this.label43.Size = new System.Drawing.Size(137, 12); + this.label43.TabIndex = 5; + this.label43.Text = "Actual Velocity (FVEL)"; + // + // txtRPOS + // + this.txtRPOS.Location = new System.Drawing.Point(165, 19); + this.txtRPOS.Name = "txtRPOS"; + this.txtRPOS.ReadOnly = true; + this.txtRPOS.Size = new System.Drawing.Size(107, 21); + this.txtRPOS.TabIndex = 6; + this.txtRPOS.Text = "0.000"; + this.txtRPOS.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(6, 90); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(119, 12); + this.label12.TabIndex = 5; + this.label12.Text = "Position Error (PE)"; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(6, 46); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(149, 12); + this.label11.TabIndex = 5; + this.label11.Text = "Feedback Position (FPOS)"; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(6, 23); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(155, 12); + this.label10.TabIndex = 5; + this.label10.Text = "Reference Position (RPOS)"; + // + // btnDisableAll + // + this.btnDisableAll.Location = new System.Drawing.Point(484, 19); + this.btnDisableAll.Name = "btnDisableAll"; + this.btnDisableAll.Size = new System.Drawing.Size(75, 23); + this.btnDisableAll.TabIndex = 7; + this.btnDisableAll.Text = "Disable All"; + this.btnDisableAll.UseVisualStyleBackColor = true; + this.btnDisableAll.Click += new System.EventHandler(this.btnDisableAll_Click); + // + // btnDisable + // + this.btnDisable.Location = new System.Drawing.Point(403, 19); + this.btnDisable.Name = "btnDisable"; + this.btnDisable.Size = new System.Drawing.Size(75, 23); + this.btnDisable.TabIndex = 7; + this.btnDisable.Text = "Disable"; + this.btnDisable.UseVisualStyleBackColor = true; + this.btnDisable.Click += new System.EventHandler(this.btnDisable_Click); + // + // cboAxisNo + // + this.cboAxisNo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cboAxisNo.FormattingEnabled = true; + this.cboAxisNo.Location = new System.Drawing.Point(115, 20); + this.cboAxisNo.Name = "cboAxisNo"; + this.cboAxisNo.Size = new System.Drawing.Size(60, 20); + this.cboAxisNo.TabIndex = 0; + this.cboAxisNo.SelectedIndexChanged += new System.EventHandler(this.cboAxisNo_SelectedIndexChanged); + // + // btnEnable + // + this.btnEnable.Location = new System.Drawing.Point(322, 18); + this.btnEnable.Name = "btnEnable"; + this.btnEnable.Size = new System.Drawing.Size(75, 23); + this.btnEnable.TabIndex = 7; + this.btnEnable.Text = "Enable"; + this.btnEnable.UseVisualStyleBackColor = true; + this.btnEnable.Click += new System.EventHandler(this.btnEnable_Click); + // + // grpJog + // + this.grpJog.Controls.Add(this.btnJogPos); + this.grpJog.Controls.Add(this.btnJogNeg); + this.grpJog.Controls.Add(this.txtJogVel); + this.grpJog.Controls.Add(this.chkUseVel); + this.grpJog.Location = new System.Drawing.Point(8, 311); + this.grpJog.Name = "grpJog"; + this.grpJog.Size = new System.Drawing.Size(425, 53); + this.grpJog.TabIndex = 0; + this.grpJog.TabStop = false; + this.grpJog.Text = "Jog"; + // + // btnJogPos + // + this.btnJogPos.Location = new System.Drawing.Point(316, 17); + this.btnJogPos.Name = "btnJogPos"; + this.btnJogPos.Size = new System.Drawing.Size(94, 23); + this.btnJogPos.TabIndex = 8; + this.btnJogPos.Text = "Positive >>"; + this.btnJogPos.UseVisualStyleBackColor = true; + this.btnJogPos.MouseDown += new System.Windows.Forms.MouseEventHandler(this.btnJogPos_MouseDown); + this.btnJogPos.MouseUp += new System.Windows.Forms.MouseEventHandler(this.btnJog_MouseUp); + // + // btnJogNeg + // + this.btnJogNeg.Location = new System.Drawing.Point(214, 17); + this.btnJogNeg.Name = "btnJogNeg"; + this.btnJogNeg.Size = new System.Drawing.Size(94, 23); + this.btnJogNeg.TabIndex = 8; + this.btnJogNeg.Text = "<< Negtive"; + this.btnJogNeg.UseVisualStyleBackColor = true; + this.btnJogNeg.MouseDown += new System.Windows.Forms.MouseEventHandler(this.btnJogNeg_MouseDown); + this.btnJogNeg.MouseUp += new System.Windows.Forms.MouseEventHandler(this.btnJog_MouseUp); + // + // txtJogVel + // + this.txtJogVel.Location = new System.Drawing.Point(114, 19); + this.txtJogVel.Name = "txtJogVel"; + this.txtJogVel.Size = new System.Drawing.Size(94, 21); + this.txtJogVel.TabIndex = 1; + this.txtJogVel.Text = "0"; + this.txtJogVel.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + // + // chkUseVel + // + this.chkUseVel.AutoSize = true; + this.chkUseVel.Location = new System.Drawing.Point(13, 21); + this.chkUseVel.Name = "chkUseVel"; + this.chkUseVel.Size = new System.Drawing.Size(96, 16); + this.chkUseVel.TabIndex = 0; + this.chkUseVel.Text = "Use Velocity"; + this.chkUseVel.UseVisualStyleBackColor = true; + // + // grpProfile + // + this.grpProfile.Controls.Add(this.txtJerk); + this.grpProfile.Controls.Add(this.txtKdec); + this.grpProfile.Controls.Add(this.txtDec); + this.grpProfile.Controls.Add(this.txtAcc); + this.grpProfile.Controls.Add(this.txtVel); + this.grpProfile.Controls.Add(this.label7); + this.grpProfile.Controls.Add(this.label6); + this.grpProfile.Controls.Add(this.label5); + this.grpProfile.Controls.Add(this.label4); + this.grpProfile.Controls.Add(this.label3); + this.grpProfile.Location = new System.Drawing.Point(8, 51); + this.grpProfile.Name = "grpProfile"; + this.grpProfile.Size = new System.Drawing.Size(265, 141); + this.grpProfile.TabIndex = 0; + this.grpProfile.TabStop = false; + this.grpProfile.Text = "Motion profile"; + // + // txtJerk + // + this.txtJerk.Location = new System.Drawing.Point(153, 111); + this.txtJerk.Name = "txtJerk"; + this.txtJerk.Size = new System.Drawing.Size(101, 21); + this.txtJerk.TabIndex = 4; + this.txtJerk.Text = "0"; + this.txtJerk.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + this.txtJerk.Enter += new System.EventHandler(this.TextBoxes_Enter); + this.txtJerk.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.TextBoxes_KeyPress); + this.txtJerk.Leave += new System.EventHandler(this.TextBoxes_Leave); + // + // txtKdec + // + this.txtKdec.Location = new System.Drawing.Point(153, 88); + this.txtKdec.Name = "txtKdec"; + this.txtKdec.Size = new System.Drawing.Size(101, 21); + this.txtKdec.TabIndex = 3; + this.txtKdec.Text = "0"; + this.txtKdec.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + this.txtKdec.Enter += new System.EventHandler(this.TextBoxes_Enter); + this.txtKdec.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.TextBoxes_KeyPress); + this.txtKdec.Leave += new System.EventHandler(this.TextBoxes_Leave); + // + // txtDec + // + this.txtDec.Location = new System.Drawing.Point(153, 65); + this.txtDec.Name = "txtDec"; + this.txtDec.Size = new System.Drawing.Size(101, 21); + this.txtDec.TabIndex = 2; + this.txtDec.Text = "0"; + this.txtDec.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + this.txtDec.Enter += new System.EventHandler(this.TextBoxes_Enter); + this.txtDec.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.TextBoxes_KeyPress); + this.txtDec.Leave += new System.EventHandler(this.TextBoxes_Leave); + // + // txtAcc + // + this.txtAcc.Location = new System.Drawing.Point(153, 42); + this.txtAcc.Name = "txtAcc"; + this.txtAcc.Size = new System.Drawing.Size(101, 21); + this.txtAcc.TabIndex = 1; + this.txtAcc.Text = "0"; + this.txtAcc.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + this.txtAcc.Enter += new System.EventHandler(this.TextBoxes_Enter); + this.txtAcc.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.TextBoxes_KeyPress); + this.txtAcc.Leave += new System.EventHandler(this.TextBoxes_Leave); + // + // txtVel + // + this.txtVel.Location = new System.Drawing.Point(153, 19); + this.txtVel.Name = "txtVel"; + this.txtVel.Size = new System.Drawing.Size(101, 21); + this.txtVel.TabIndex = 0; + this.txtVel.Text = "0"; + this.txtVel.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + this.txtVel.Enter += new System.EventHandler(this.TextBoxes_Enter); + this.txtVel.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.TextBoxes_KeyPress); + this.txtVel.Leave += new System.EventHandler(this.TextBoxes_Leave); + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(6, 115); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(71, 12); + this.label7.TabIndex = 5; + this.label7.Text = "Jerk (JERK)"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(6, 92); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(149, 12); + this.label6.TabIndex = 5; + this.label6.Text = "Kill Deceleration (KDEC)"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(6, 69); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(113, 12); + this.label5.TabIndex = 5; + this.label5.Text = "Deceleration (DEC)"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(6, 46); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(113, 12); + this.label4.TabIndex = 5; + this.label4.Text = "Acceleration (ACC)"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(6, 23); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(89, 12); + this.label3.TabIndex = 5; + this.label3.Text = "Velocity (VEL)"; + // + // grpPTP + // + this.grpPTP.Controls.Add(this.btnPTP_R_Pos); + this.grpPTP.Controls.Add(this.btnPTP_R_Neg); + this.grpPTP.Controls.Add(this.btnPTP); + this.grpPTP.Controls.Add(this.txtPTP_Pos); + this.grpPTP.Controls.Add(this.label8); + this.grpPTP.Location = new System.Drawing.Point(8, 198); + this.grpPTP.Name = "grpPTP"; + this.grpPTP.Size = new System.Drawing.Size(265, 107); + this.grpPTP.TabIndex = 0; + this.grpPTP.TabStop = false; + this.grpPTP.Text = "Point to Point (PTP)"; + // + // btnPTP_R_Pos + // + this.btnPTP_R_Pos.Location = new System.Drawing.Point(135, 76); + this.btnPTP_R_Pos.Name = "btnPTP_R_Pos"; + this.btnPTP_R_Pos.Size = new System.Drawing.Size(119, 23); + this.btnPTP_R_Pos.TabIndex = 7; + this.btnPTP_R_Pos.Text = "Relative Pos. (+)"; + this.btnPTP_R_Pos.UseVisualStyleBackColor = true; + this.btnPTP_R_Pos.Click += new System.EventHandler(this.btnPTP_R_Pos_Click); + // + // btnPTP_R_Neg + // + this.btnPTP_R_Neg.Location = new System.Drawing.Point(8, 76); + this.btnPTP_R_Neg.Name = "btnPTP_R_Neg"; + this.btnPTP_R_Neg.Size = new System.Drawing.Size(119, 23); + this.btnPTP_R_Neg.TabIndex = 7; + this.btnPTP_R_Neg.Text = "Relative Pos. (-)"; + this.btnPTP_R_Neg.UseVisualStyleBackColor = true; + this.btnPTP_R_Neg.Click += new System.EventHandler(this.btnPTP_R_Neg_Click); + // + // btnPTP + // + this.btnPTP.Location = new System.Drawing.Point(8, 47); + this.btnPTP.Name = "btnPTP"; + this.btnPTP.Size = new System.Drawing.Size(246, 23); + this.btnPTP.TabIndex = 7; + this.btnPTP.Text = "Move To Absolute Position"; + this.btnPTP.UseVisualStyleBackColor = true; + this.btnPTP.Click += new System.EventHandler(this.btnPTP_Click); + // + // txtPTP_Pos + // + this.txtPTP_Pos.Location = new System.Drawing.Point(153, 21); + this.txtPTP_Pos.Name = "txtPTP_Pos"; + this.txtPTP_Pos.Size = new System.Drawing.Size(101, 21); + this.txtPTP_Pos.TabIndex = 6; + this.txtPTP_Pos.Text = "0"; + this.txtPTP_Pos.TextAlign = System.Windows.Forms.HorizontalAlignment.Right; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(8, 24); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(119, 12); + this.label8.TabIndex = 5; + this.label8.Text = "Position && Distance"; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(13, 24); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(95, 12); + this.label9.TabIndex = 5; + this.label9.Text = "Select Axis No."; + // + // grpSafety + // + this.grpSafety.Controls.Add(this.lblEMG); + this.grpSafety.Controls.Add(this.lblRL7); + this.grpSafety.Controls.Add(this.lblRL3); + this.grpSafety.Controls.Add(this.lblLL7); + this.grpSafety.Controls.Add(this.lblLL3); + this.grpSafety.Controls.Add(this.lblRL6); + this.grpSafety.Controls.Add(this.lblRL2); + this.grpSafety.Controls.Add(this.lblLL6); + this.grpSafety.Controls.Add(this.lblRL5); + this.grpSafety.Controls.Add(this.lblLL2); + this.grpSafety.Controls.Add(this.lblLL5); + this.grpSafety.Controls.Add(this.lblRL1); + this.grpSafety.Controls.Add(this.lblRL4); + this.grpSafety.Controls.Add(this.lblLL1); + this.grpSafety.Controls.Add(this.lblLL4); + this.grpSafety.Controls.Add(this.lblRL0); + this.grpSafety.Controls.Add(this.lblLL0); + this.grpSafety.Controls.Add(this.label18); + this.grpSafety.Controls.Add(this.label36); + this.grpSafety.Controls.Add(this.label27); + this.grpSafety.Controls.Add(this.label35); + this.grpSafety.Controls.Add(this.label26); + this.grpSafety.Controls.Add(this.label34); + this.grpSafety.Controls.Add(this.label25); + this.grpSafety.Controls.Add(this.label33); + this.grpSafety.Controls.Add(this.label24); + this.grpSafety.Controls.Add(this.label20); + this.grpSafety.Controls.Add(this.label19); + this.grpSafety.Controls.Add(this.label17); + this.grpSafety.Location = new System.Drawing.Point(291, 12); + this.grpSafety.Name = "grpSafety"; + this.grpSafety.Size = new System.Drawing.Size(292, 94); + this.grpSafety.TabIndex = 2; + this.grpSafety.TabStop = false; + this.grpSafety.Text = "Safety State (FAULT)"; + // + // lblEMG + // + this.lblEMG.Image = ((System.Drawing.Image)(resources.GetObject("lblEMG.Image"))); + this.lblEMG.Location = new System.Drawing.Point(260, 46); + this.lblEMG.Name = "lblEMG"; + this.lblEMG.Size = new System.Drawing.Size(19, 17); + this.lblEMG.TabIndex = 5; + // + // lblRL7 + // + this.lblRL7.Image = ((System.Drawing.Image)(resources.GetObject("lblRL7.Image"))); + this.lblRL7.Location = new System.Drawing.Point(230, 67); + this.lblRL7.Name = "lblRL7"; + this.lblRL7.Size = new System.Drawing.Size(19, 17); + this.lblRL7.TabIndex = 5; + this.lblRL7.Tag = "17"; + // + // lblRL3 + // + this.lblRL3.Image = ((System.Drawing.Image)(resources.GetObject("lblRL3.Image"))); + this.lblRL3.Location = new System.Drawing.Point(142, 67); + this.lblRL3.Name = "lblRL3"; + this.lblRL3.Size = new System.Drawing.Size(19, 17); + this.lblRL3.TabIndex = 5; + this.lblRL3.Tag = "13"; + // + // lblLL7 + // + this.lblLL7.Image = ((System.Drawing.Image)(resources.GetObject("lblLL7.Image"))); + this.lblLL7.Location = new System.Drawing.Point(230, 46); + this.lblLL7.Name = "lblLL7"; + this.lblLL7.Size = new System.Drawing.Size(19, 17); + this.lblLL7.TabIndex = 5; + this.lblLL7.Tag = "7"; + // + // lblLL3 + // + this.lblLL3.Image = ((System.Drawing.Image)(resources.GetObject("lblLL3.Image"))); + this.lblLL3.Location = new System.Drawing.Point(142, 46); + this.lblLL3.Name = "lblLL3"; + this.lblLL3.Size = new System.Drawing.Size(19, 17); + this.lblLL3.TabIndex = 5; + this.lblLL3.Tag = "3"; + // + // lblRL6 + // + this.lblRL6.Image = ((System.Drawing.Image)(resources.GetObject("lblRL6.Image"))); + this.lblRL6.Location = new System.Drawing.Point(208, 67); + this.lblRL6.Name = "lblRL6"; + this.lblRL6.Size = new System.Drawing.Size(19, 17); + this.lblRL6.TabIndex = 5; + this.lblRL6.Tag = "16"; + // + // lblRL2 + // + this.lblRL2.Image = ((System.Drawing.Image)(resources.GetObject("lblRL2.Image"))); + this.lblRL2.Location = new System.Drawing.Point(120, 67); + this.lblRL2.Name = "lblRL2"; + this.lblRL2.Size = new System.Drawing.Size(19, 17); + this.lblRL2.TabIndex = 5; + this.lblRL2.Tag = "12"; + // + // lblLL6 + // + this.lblLL6.Image = ((System.Drawing.Image)(resources.GetObject("lblLL6.Image"))); + this.lblLL6.Location = new System.Drawing.Point(208, 46); + this.lblLL6.Name = "lblLL6"; + this.lblLL6.Size = new System.Drawing.Size(19, 17); + this.lblLL6.TabIndex = 5; + this.lblLL6.Tag = "6"; + // + // lblRL5 + // + this.lblRL5.Image = ((System.Drawing.Image)(resources.GetObject("lblRL5.Image"))); + this.lblRL5.Location = new System.Drawing.Point(186, 67); + this.lblRL5.Name = "lblRL5"; + this.lblRL5.Size = new System.Drawing.Size(19, 17); + this.lblRL5.TabIndex = 5; + this.lblRL5.Tag = "15"; + // + // lblLL2 + // + this.lblLL2.Image = ((System.Drawing.Image)(resources.GetObject("lblLL2.Image"))); + this.lblLL2.Location = new System.Drawing.Point(120, 46); + this.lblLL2.Name = "lblLL2"; + this.lblLL2.Size = new System.Drawing.Size(19, 17); + this.lblLL2.TabIndex = 5; + this.lblLL2.Tag = "2"; + // + // lblLL5 + // + this.lblLL5.Image = ((System.Drawing.Image)(resources.GetObject("lblLL5.Image"))); + this.lblLL5.Location = new System.Drawing.Point(186, 46); + this.lblLL5.Name = "lblLL5"; + this.lblLL5.Size = new System.Drawing.Size(19, 17); + this.lblLL5.TabIndex = 5; + this.lblLL5.Tag = "5"; + // + // lblRL1 + // + this.lblRL1.Image = ((System.Drawing.Image)(resources.GetObject("lblRL1.Image"))); + this.lblRL1.Location = new System.Drawing.Point(98, 67); + this.lblRL1.Name = "lblRL1"; + this.lblRL1.Size = new System.Drawing.Size(19, 17); + this.lblRL1.TabIndex = 5; + this.lblRL1.Tag = "11"; + // + // lblRL4 + // + this.lblRL4.Image = ((System.Drawing.Image)(resources.GetObject("lblRL4.Image"))); + this.lblRL4.Location = new System.Drawing.Point(164, 67); + this.lblRL4.Name = "lblRL4"; + this.lblRL4.Size = new System.Drawing.Size(19, 17); + this.lblRL4.TabIndex = 5; + this.lblRL4.Tag = "14"; + // + // lblLL1 + // + this.lblLL1.Image = ((System.Drawing.Image)(resources.GetObject("lblLL1.Image"))); + this.lblLL1.Location = new System.Drawing.Point(98, 46); + this.lblLL1.Name = "lblLL1"; + this.lblLL1.Size = new System.Drawing.Size(19, 17); + this.lblLL1.TabIndex = 5; + this.lblLL1.Tag = "1"; + // + // lblLL4 + // + this.lblLL4.Image = ((System.Drawing.Image)(resources.GetObject("lblLL4.Image"))); + this.lblLL4.Location = new System.Drawing.Point(164, 46); + this.lblLL4.Name = "lblLL4"; + this.lblLL4.Size = new System.Drawing.Size(19, 17); + this.lblLL4.TabIndex = 5; + this.lblLL4.Tag = "4"; + // + // lblRL0 + // + this.lblRL0.Image = ((System.Drawing.Image)(resources.GetObject("lblRL0.Image"))); + this.lblRL0.Location = new System.Drawing.Point(76, 67); + this.lblRL0.Name = "lblRL0"; + this.lblRL0.Size = new System.Drawing.Size(19, 17); + this.lblRL0.TabIndex = 5; + this.lblRL0.Tag = "10"; + // + // lblLL0 + // + this.lblLL0.Image = ((System.Drawing.Image)(resources.GetObject("lblLL0.Image"))); + this.lblLL0.Location = new System.Drawing.Point(76, 46); + this.lblLL0.Name = "lblLL0"; + this.lblLL0.Size = new System.Drawing.Size(19, 17); + this.lblLL0.TabIndex = 5; + this.lblLL0.Tag = "0"; + // + // label18 + // + this.label18.AutoSize = true; + this.label18.Location = new System.Drawing.Point(7, 72); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(71, 12); + this.label18.TabIndex = 5; + this.label18.Text = "Right Limit"; + // + // label36 + // + this.label36.AutoSize = true; + this.label36.Location = new System.Drawing.Point(234, 24); + this.label36.Name = "label36"; + this.label36.Size = new System.Drawing.Size(11, 12); + this.label36.TabIndex = 5; + this.label36.Text = "7"; + // + // label27 + // + this.label27.Location = new System.Drawing.Point(248, 15); + this.label27.Name = "label27"; + this.label27.Size = new System.Drawing.Size(43, 26); + this.label27.TabIndex = 5; + this.label27.Text = "EMG STOP"; + this.label27.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label35 + // + this.label35.AutoSize = true; + this.label35.Location = new System.Drawing.Point(212, 24); + this.label35.Name = "label35"; + this.label35.Size = new System.Drawing.Size(11, 12); + this.label35.TabIndex = 5; + this.label35.Text = "6"; + // + // label26 + // + this.label26.AutoSize = true; + this.label26.Location = new System.Drawing.Point(146, 24); + this.label26.Name = "label26"; + this.label26.Size = new System.Drawing.Size(11, 12); + this.label26.TabIndex = 5; + this.label26.Text = "3"; + // + // label34 + // + this.label34.AutoSize = true; + this.label34.Location = new System.Drawing.Point(190, 24); + this.label34.Name = "label34"; + this.label34.Size = new System.Drawing.Size(11, 12); + this.label34.TabIndex = 5; + this.label34.Text = "5"; + // + // label25 + // + this.label25.AutoSize = true; + this.label25.Location = new System.Drawing.Point(124, 24); + this.label25.Name = "label25"; + this.label25.Size = new System.Drawing.Size(11, 12); + this.label25.TabIndex = 5; + this.label25.Text = "2"; + // + // label33 + // + this.label33.AutoSize = true; + this.label33.Location = new System.Drawing.Point(168, 24); + this.label33.Name = "label33"; + this.label33.Size = new System.Drawing.Size(11, 12); + this.label33.TabIndex = 5; + this.label33.Text = "4"; + // + // label24 + // + this.label24.AutoSize = true; + this.label24.Location = new System.Drawing.Point(102, 24); + this.label24.Name = "label24"; + this.label24.Size = new System.Drawing.Size(11, 12); + this.label24.TabIndex = 5; + this.label24.Text = "1"; + // + // label20 + // + this.label20.AutoSize = true; + this.label20.Location = new System.Drawing.Point(80, 24); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(11, 12); + this.label20.TabIndex = 5; + this.label20.Text = "0"; + // + // label19 + // + this.label19.AutoSize = true; + this.label19.Location = new System.Drawing.Point(6, 24); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(47, 12); + this.label19.TabIndex = 5; + this.label19.Text = "Axis No"; + // + // label17 + // + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(7, 48); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(65, 12); + this.label17.TabIndex = 5; + this.label17.Text = "Left Limit"; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.lblPRG_Status); + this.groupBox2.Controls.Add(this.lblPRG_Status_LED); + this.groupBox2.Controls.Add(this.btnStopBuffer); + this.groupBox2.Controls.Add(this.btnRunBuffer); + this.groupBox2.Controls.Add(this.txtLabelName); + this.groupBox2.Controls.Add(this.cboBufferNo); + this.groupBox2.Controls.Add(this.label22); + this.groupBox2.Controls.Add(this.label32); + this.groupBox2.Controls.Add(this.label21); + this.groupBox2.Location = new System.Drawing.Point(589, 6); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(314, 100); + this.groupBox2.TabIndex = 3; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "Buffer Program Control"; + // + // lblPRG_Status + // + this.lblPRG_Status.AutoSize = true; + this.lblPRG_Status.Location = new System.Drawing.Point(100, 53); + this.lblPRG_Status.Name = "lblPRG_Status"; + this.lblPRG_Status.Size = new System.Drawing.Size(29, 12); + this.lblPRG_Status.TabIndex = 11; + this.lblPRG_Status.Text = "Stop"; + // + // lblPRG_Status_LED + // + this.lblPRG_Status_LED.Image = ((System.Drawing.Image)(resources.GetObject("lblPRG_Status_LED.Image"))); + this.lblPRG_Status_LED.Location = new System.Drawing.Point(75, 51); + this.lblPRG_Status_LED.Name = "lblPRG_Status_LED"; + this.lblPRG_Status_LED.Size = new System.Drawing.Size(19, 17); + this.lblPRG_Status_LED.TabIndex = 10; + this.lblPRG_Status_LED.Tag = "17"; + // + // btnStopBuffer + // + this.btnStopBuffer.Location = new System.Drawing.Point(240, 67); + this.btnStopBuffer.Name = "btnStopBuffer"; + this.btnStopBuffer.Size = new System.Drawing.Size(66, 23); + this.btnStopBuffer.TabIndex = 8; + this.btnStopBuffer.Text = "STOP"; + this.btnStopBuffer.UseVisualStyleBackColor = true; + this.btnStopBuffer.Click += new System.EventHandler(this.btnStopBuffer_Click); + // + // btnRunBuffer + // + this.btnRunBuffer.Location = new System.Drawing.Point(166, 67); + this.btnRunBuffer.Name = "btnRunBuffer"; + this.btnRunBuffer.Size = new System.Drawing.Size(66, 23); + this.btnRunBuffer.TabIndex = 8; + this.btnRunBuffer.Text = "RUN"; + this.btnRunBuffer.UseVisualStyleBackColor = true; + this.btnRunBuffer.Click += new System.EventHandler(this.btnRunBuffer_Click); + // + // txtLabelName + // + this.txtLabelName.Location = new System.Drawing.Point(206, 20); + this.txtLabelName.Name = "txtLabelName"; + this.txtLabelName.Size = new System.Drawing.Size(100, 21); + this.txtLabelName.TabIndex = 7; + // + // cboBufferNo + // + this.cboBufferNo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cboBufferNo.FormattingEnabled = true; + this.cboBufferNo.Location = new System.Drawing.Point(77, 22); + this.cboBufferNo.Name = "cboBufferNo"; + this.cboBufferNo.Size = new System.Drawing.Size(72, 20); + this.cboBufferNo.TabIndex = 6; + // + // label22 + // + this.label22.AutoSize = true; + this.label22.Location = new System.Drawing.Point(164, 25); + this.label22.Name = "label22"; + this.label22.Size = new System.Drawing.Size(35, 12); + this.label22.TabIndex = 5; + this.label22.Text = "Label"; + // + // label32 + // + this.label32.AutoSize = true; + this.label32.Location = new System.Drawing.Point(10, 53); + this.label32.Name = "label32"; + this.label32.Size = new System.Drawing.Size(41, 12); + this.label32.TabIndex = 5; + this.label32.Text = "Status"; + // + // label21 + // + this.label21.AutoSize = true; + this.label21.Location = new System.Drawing.Point(10, 26); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(65, 12); + this.label21.TabIndex = 5; + this.label21.Text = "Buffer No."; + // + // label28 + // + this.label28.AutoSize = true; + this.label28.Location = new System.Drawing.Point(5, 28); + this.label28.Name = "label28"; + this.label28.Size = new System.Drawing.Size(47, 12); + this.label28.TabIndex = 5; + this.label28.Text = "Bit No."; + // + // grpIO + // + this.grpIO.Controls.Add(this.btnSW7); + this.grpIO.Controls.Add(this.btnSW6); + this.grpIO.Controls.Add(this.btnSW5); + this.grpIO.Controls.Add(this.btnSW4); + this.grpIO.Controls.Add(this.btnSW3); + this.grpIO.Controls.Add(this.btnSW2); + this.grpIO.Controls.Add(this.btnSW0); + this.grpIO.Controls.Add(this.btnSW1); + this.grpIO.Controls.Add(this.label29); + this.grpIO.Controls.Add(this.label23); + this.grpIO.Controls.Add(this.label42); + this.grpIO.Controls.Add(this.lblOUT7); + this.grpIO.Controls.Add(this.lblIN7); + this.grpIO.Controls.Add(this.label41); + this.grpIO.Controls.Add(this.lblOUT3); + this.grpIO.Controls.Add(this.lblIN3); + this.grpIO.Controls.Add(this.label40); + this.grpIO.Controls.Add(this.label39); + this.grpIO.Controls.Add(this.label38); + this.grpIO.Controls.Add(this.lblOUT6); + this.grpIO.Controls.Add(this.lblIN6); + this.grpIO.Controls.Add(this.label37); + this.grpIO.Controls.Add(this.lblOUT2); + this.grpIO.Controls.Add(this.lblIN2); + this.grpIO.Controls.Add(this.lblOUT5); + this.grpIO.Controls.Add(this.lblIN5); + this.grpIO.Controls.Add(this.label31); + this.grpIO.Controls.Add(this.label30); + this.grpIO.Controls.Add(this.label28); + this.grpIO.Controls.Add(this.lblOUT1); + this.grpIO.Controls.Add(this.lblIN1); + this.grpIO.Controls.Add(this.lblOUT0); + this.grpIO.Controls.Add(this.lblOUT4); + this.grpIO.Controls.Add(this.lblIN0); + this.grpIO.Controls.Add(this.lblIN4); + this.grpIO.Location = new System.Drawing.Point(589, 112); + this.grpIO.Name = "grpIO"; + this.grpIO.Size = new System.Drawing.Size(314, 132); + this.grpIO.TabIndex = 4; + this.grpIO.TabStop = false; + this.grpIO.Text = "General I/O"; + // + // btnSW7 + // + this.btnSW7.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); + this.btnSW7.Location = new System.Drawing.Point(274, 97); + this.btnSW7.Name = "btnSW7"; + this.btnSW7.Size = new System.Drawing.Size(33, 25); + this.btnSW7.TabIndex = 7; + this.btnSW7.Text = "OFF"; + this.btnSW7.UseVisualStyleBackColor = true; + this.btnSW7.Click += new System.EventHandler(this.btnSW_Click); + // + // btnSW6 + // + this.btnSW6.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); + this.btnSW6.Location = new System.Drawing.Point(242, 97); + this.btnSW6.Name = "btnSW6"; + this.btnSW6.Size = new System.Drawing.Size(33, 25); + this.btnSW6.TabIndex = 6; + this.btnSW6.Text = "OFF"; + this.btnSW6.UseVisualStyleBackColor = true; + this.btnSW6.Click += new System.EventHandler(this.btnSW_Click); + // + // btnSW5 + // + this.btnSW5.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); + this.btnSW5.Location = new System.Drawing.Point(210, 97); + this.btnSW5.Name = "btnSW5"; + this.btnSW5.Size = new System.Drawing.Size(33, 25); + this.btnSW5.TabIndex = 5; + this.btnSW5.Text = "OFF"; + this.btnSW5.UseVisualStyleBackColor = true; + this.btnSW5.Click += new System.EventHandler(this.btnSW_Click); + // + // btnSW4 + // + this.btnSW4.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); + this.btnSW4.Location = new System.Drawing.Point(178, 97); + this.btnSW4.Name = "btnSW4"; + this.btnSW4.Size = new System.Drawing.Size(33, 25); + this.btnSW4.TabIndex = 4; + this.btnSW4.Text = "OFF"; + this.btnSW4.UseVisualStyleBackColor = true; + this.btnSW4.Click += new System.EventHandler(this.btnSW_Click); + // + // btnSW3 + // + this.btnSW3.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); + this.btnSW3.Location = new System.Drawing.Point(146, 97); + this.btnSW3.Name = "btnSW3"; + this.btnSW3.Size = new System.Drawing.Size(33, 25); + this.btnSW3.TabIndex = 3; + this.btnSW3.Text = "OFF"; + this.btnSW3.UseVisualStyleBackColor = true; + this.btnSW3.Click += new System.EventHandler(this.btnSW_Click); + // + // btnSW2 + // + this.btnSW2.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); + this.btnSW2.Location = new System.Drawing.Point(114, 97); + this.btnSW2.Name = "btnSW2"; + this.btnSW2.Size = new System.Drawing.Size(33, 25); + this.btnSW2.TabIndex = 2; + this.btnSW2.Text = "OFF"; + this.btnSW2.UseVisualStyleBackColor = true; + this.btnSW2.Click += new System.EventHandler(this.btnSW_Click); + // + // btnSW0 + // + this.btnSW0.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); + this.btnSW0.Location = new System.Drawing.Point(50, 97); + this.btnSW0.Name = "btnSW0"; + this.btnSW0.Size = new System.Drawing.Size(33, 25); + this.btnSW0.TabIndex = 0; + this.btnSW0.Text = "OFF"; + this.btnSW0.UseVisualStyleBackColor = true; + this.btnSW0.Click += new System.EventHandler(this.btnSW_Click); + // + // btnSW1 + // + this.btnSW1.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F); + this.btnSW1.Location = new System.Drawing.Point(82, 97); + this.btnSW1.Name = "btnSW1"; + this.btnSW1.Size = new System.Drawing.Size(33, 25); + this.btnSW1.TabIndex = 1; + this.btnSW1.Text = "OFF"; + this.btnSW1.UseVisualStyleBackColor = true; + this.btnSW1.Click += new System.EventHandler(this.btnSW_Click); + // + // label29 + // + this.label29.AutoSize = true; + this.label29.Location = new System.Drawing.Point(5, 74); + this.label29.Name = "label29"; + this.label29.Size = new System.Drawing.Size(41, 12); + this.label29.TabIndex = 5; + this.label29.Text = "Output"; + // + // label23 + // + this.label23.AutoSize = true; + this.label23.Location = new System.Drawing.Point(5, 51); + this.label23.Name = "label23"; + this.label23.Size = new System.Drawing.Size(35, 12); + this.label23.TabIndex = 5; + this.label23.Text = "Input"; + // + // label42 + // + this.label42.AutoSize = true; + this.label42.Location = new System.Drawing.Point(285, 28); + this.label42.Name = "label42"; + this.label42.Size = new System.Drawing.Size(11, 12); + this.label42.TabIndex = 5; + this.label42.Text = "7"; + // + // lblOUT7 + // + this.lblOUT7.Image = ((System.Drawing.Image)(resources.GetObject("lblOUT7.Image"))); + this.lblOUT7.Location = new System.Drawing.Point(281, 72); + this.lblOUT7.Name = "lblOUT7"; + this.lblOUT7.Size = new System.Drawing.Size(19, 17); + this.lblOUT7.TabIndex = 5; + this.lblOUT7.Tag = "7"; + // + // lblIN7 + // + this.lblIN7.Image = ((System.Drawing.Image)(resources.GetObject("lblIN7.Image"))); + this.lblIN7.Location = new System.Drawing.Point(281, 49); + this.lblIN7.Name = "lblIN7"; + this.lblIN7.Size = new System.Drawing.Size(19, 17); + this.lblIN7.TabIndex = 5; + this.lblIN7.Tag = "7"; + // + // label41 + // + this.label41.AutoSize = true; + this.label41.Location = new System.Drawing.Point(253, 28); + this.label41.Name = "label41"; + this.label41.Size = new System.Drawing.Size(11, 12); + this.label41.TabIndex = 5; + this.label41.Text = "6"; + // + // lblOUT3 + // + this.lblOUT3.Image = ((System.Drawing.Image)(resources.GetObject("lblOUT3.Image"))); + this.lblOUT3.Location = new System.Drawing.Point(153, 72); + this.lblOUT3.Name = "lblOUT3"; + this.lblOUT3.Size = new System.Drawing.Size(19, 17); + this.lblOUT3.TabIndex = 5; + this.lblOUT3.Tag = "3"; + // + // lblIN3 + // + this.lblIN3.Image = ((System.Drawing.Image)(resources.GetObject("lblIN3.Image"))); + this.lblIN3.Location = new System.Drawing.Point(153, 49); + this.lblIN3.Name = "lblIN3"; + this.lblIN3.Size = new System.Drawing.Size(19, 17); + this.lblIN3.TabIndex = 5; + this.lblIN3.Tag = "3"; + // + // label40 + // + this.label40.AutoSize = true; + this.label40.Location = new System.Drawing.Point(221, 28); + this.label40.Name = "label40"; + this.label40.Size = new System.Drawing.Size(11, 12); + this.label40.TabIndex = 5; + this.label40.Text = "5"; + // + // label39 + // + this.label39.AutoSize = true; + this.label39.Location = new System.Drawing.Point(189, 28); + this.label39.Name = "label39"; + this.label39.Size = new System.Drawing.Size(11, 12); + this.label39.TabIndex = 5; + this.label39.Text = "4"; + // + // label38 + // + this.label38.AutoSize = true; + this.label38.Location = new System.Drawing.Point(157, 28); + this.label38.Name = "label38"; + this.label38.Size = new System.Drawing.Size(11, 12); + this.label38.TabIndex = 5; + this.label38.Text = "3"; + // + // lblOUT6 + // + this.lblOUT6.Image = ((System.Drawing.Image)(resources.GetObject("lblOUT6.Image"))); + this.lblOUT6.Location = new System.Drawing.Point(249, 72); + this.lblOUT6.Name = "lblOUT6"; + this.lblOUT6.Size = new System.Drawing.Size(19, 17); + this.lblOUT6.TabIndex = 5; + this.lblOUT6.Tag = "6"; + // + // lblIN6 + // + this.lblIN6.Image = ((System.Drawing.Image)(resources.GetObject("lblIN6.Image"))); + this.lblIN6.Location = new System.Drawing.Point(249, 49); + this.lblIN6.Name = "lblIN6"; + this.lblIN6.Size = new System.Drawing.Size(19, 17); + this.lblIN6.TabIndex = 5; + this.lblIN6.Tag = "6"; + // + // label37 + // + this.label37.AutoSize = true; + this.label37.Location = new System.Drawing.Point(125, 28); + this.label37.Name = "label37"; + this.label37.Size = new System.Drawing.Size(11, 12); + this.label37.TabIndex = 5; + this.label37.Text = "2"; + // + // lblOUT2 + // + this.lblOUT2.Image = ((System.Drawing.Image)(resources.GetObject("lblOUT2.Image"))); + this.lblOUT2.Location = new System.Drawing.Point(121, 72); + this.lblOUT2.Name = "lblOUT2"; + this.lblOUT2.Size = new System.Drawing.Size(19, 17); + this.lblOUT2.TabIndex = 5; + this.lblOUT2.Tag = "2"; + // + // lblIN2 + // + this.lblIN2.Image = ((System.Drawing.Image)(resources.GetObject("lblIN2.Image"))); + this.lblIN2.Location = new System.Drawing.Point(121, 49); + this.lblIN2.Name = "lblIN2"; + this.lblIN2.Size = new System.Drawing.Size(19, 17); + this.lblIN2.TabIndex = 5; + this.lblIN2.Tag = "2"; + // + // lblOUT5 + // + this.lblOUT5.Image = ((System.Drawing.Image)(resources.GetObject("lblOUT5.Image"))); + this.lblOUT5.Location = new System.Drawing.Point(217, 72); + this.lblOUT5.Name = "lblOUT5"; + this.lblOUT5.Size = new System.Drawing.Size(19, 17); + this.lblOUT5.TabIndex = 5; + this.lblOUT5.Tag = "5"; + // + // lblIN5 + // + this.lblIN5.Image = ((System.Drawing.Image)(resources.GetObject("lblIN5.Image"))); + this.lblIN5.Location = new System.Drawing.Point(217, 49); + this.lblIN5.Name = "lblIN5"; + this.lblIN5.Size = new System.Drawing.Size(19, 17); + this.lblIN5.TabIndex = 5; + this.lblIN5.Tag = "5"; + // + // label31 + // + this.label31.AutoSize = true; + this.label31.Location = new System.Drawing.Point(93, 28); + this.label31.Name = "label31"; + this.label31.Size = new System.Drawing.Size(11, 12); + this.label31.TabIndex = 5; + this.label31.Text = "1"; + // + // label30 + // + this.label30.AutoSize = true; + this.label30.Location = new System.Drawing.Point(61, 28); + this.label30.Name = "label30"; + this.label30.Size = new System.Drawing.Size(11, 12); + this.label30.TabIndex = 5; + this.label30.Text = "0"; + // + // lblOUT1 + // + this.lblOUT1.Image = ((System.Drawing.Image)(resources.GetObject("lblOUT1.Image"))); + this.lblOUT1.Location = new System.Drawing.Point(89, 72); + this.lblOUT1.Name = "lblOUT1"; + this.lblOUT1.Size = new System.Drawing.Size(19, 17); + this.lblOUT1.TabIndex = 5; + this.lblOUT1.Tag = "1"; + // + // lblIN1 + // + this.lblIN1.Image = ((System.Drawing.Image)(resources.GetObject("lblIN1.Image"))); + this.lblIN1.Location = new System.Drawing.Point(89, 49); + this.lblIN1.Name = "lblIN1"; + this.lblIN1.Size = new System.Drawing.Size(19, 17); + this.lblIN1.TabIndex = 5; + this.lblIN1.Tag = "1"; + // + // lblOUT0 + // + this.lblOUT0.Image = ((System.Drawing.Image)(resources.GetObject("lblOUT0.Image"))); + this.lblOUT0.Location = new System.Drawing.Point(57, 72); + this.lblOUT0.Name = "lblOUT0"; + this.lblOUT0.Size = new System.Drawing.Size(19, 17); + this.lblOUT0.TabIndex = 5; + this.lblOUT0.Tag = "0"; + // + // lblOUT4 + // + this.lblOUT4.Image = ((System.Drawing.Image)(resources.GetObject("lblOUT4.Image"))); + this.lblOUT4.Location = new System.Drawing.Point(185, 72); + this.lblOUT4.Name = "lblOUT4"; + this.lblOUT4.Size = new System.Drawing.Size(19, 17); + this.lblOUT4.TabIndex = 5; + this.lblOUT4.Tag = "4"; + // + // lblIN0 + // + this.lblIN0.Image = ((System.Drawing.Image)(resources.GetObject("lblIN0.Image"))); + this.lblIN0.Location = new System.Drawing.Point(57, 49); + this.lblIN0.Name = "lblIN0"; + this.lblIN0.Size = new System.Drawing.Size(19, 17); + this.lblIN0.TabIndex = 5; + this.lblIN0.Tag = "0"; + // + // lblIN4 + // + this.lblIN4.Image = ((System.Drawing.Image)(resources.GetObject("lblIN4.Image"))); + this.lblIN4.Location = new System.Drawing.Point(185, 49); + this.lblIN4.Name = "lblIN4"; + this.lblIN4.Size = new System.Drawing.Size(19, 17); + this.lblIN4.TabIndex = 5; + this.lblIN4.Tag = "4"; + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.lstLog); + this.groupBox3.Controls.Add(this.btnEventProgramEnd); + this.groupBox3.Controls.Add(this.btnEventMotionEnd); + this.groupBox3.Location = new System.Drawing.Point(589, 250); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(314, 235); + this.groupBox3.TabIndex = 5; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "Callback (Event)"; + // + // lstLog + // + this.lstLog.FormattingEnabled = true; + this.lstLog.ItemHeight = 12; + this.lstLog.Location = new System.Drawing.Point(7, 50); + this.lstLog.Name = "lstLog"; + this.lstLog.Size = new System.Drawing.Size(299, 172); + this.lstLog.TabIndex = 1; + // + // btnEventProgramEnd + // + this.btnEventProgramEnd.Location = new System.Drawing.Point(159, 17); + this.btnEventProgramEnd.Name = "btnEventProgramEnd"; + this.btnEventProgramEnd.Size = new System.Drawing.Size(148, 23); + this.btnEventProgramEnd.TabIndex = 0; + this.btnEventProgramEnd.Text = "Program End"; + this.btnEventProgramEnd.UseVisualStyleBackColor = true; + this.btnEventProgramEnd.Click += new System.EventHandler(this.btnEventProgramEnd_Click); + // + // btnEventMotionEnd + // + this.btnEventMotionEnd.Location = new System.Drawing.Point(7, 17); + this.btnEventMotionEnd.Name = "btnEventMotionEnd"; + this.btnEventMotionEnd.Size = new System.Drawing.Size(148, 23); + this.btnEventMotionEnd.TabIndex = 0; + this.btnEventMotionEnd.Text = "Motion End"; + this.btnEventMotionEnd.UseVisualStyleBackColor = true; + this.btnEventMotionEnd.Click += new System.EventHandler(this.btnEventMotionEnd_Click); + // + // rtxtTerminal + // + this.rtxtTerminal.Location = new System.Drawing.Point(9, 47); + this.rtxtTerminal.Name = "rtxtTerminal"; + this.rtxtTerminal.Size = new System.Drawing.Size(875, 162); + this.rtxtTerminal.TabIndex = 6; + this.rtxtTerminal.Text = ""; + // + // groupBox4 + // + this.groupBox4.Controls.Add(this.btnSend); + this.groupBox4.Controls.Add(this.txtCommand); + this.groupBox4.Controls.Add(this.rtxtTerminal); + this.groupBox4.Location = new System.Drawing.Point(11, 493); + this.groupBox4.Name = "groupBox4"; + this.groupBox4.Size = new System.Drawing.Size(892, 220); + this.groupBox4.TabIndex = 7; + this.groupBox4.TabStop = false; + this.groupBox4.Text = "Communication Terminal"; + // + // btnSend + // + this.btnSend.Location = new System.Drawing.Point(784, 20); + this.btnSend.Name = "btnSend"; + this.btnSend.Size = new System.Drawing.Size(100, 23); + this.btnSend.TabIndex = 8; + this.btnSend.Text = "Send"; + this.btnSend.UseVisualStyleBackColor = true; + this.btnSend.Click += new System.EventHandler(this.btnSend_Click); + // + // txtCommand + // + this.txtCommand.Location = new System.Drawing.Point(9, 20); + this.txtCommand.Name = "txtCommand"; + this.txtCommand.Size = new System.Drawing.Size(769, 21); + this.txtCommand.TabIndex = 7; + this.txtCommand.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtCommand_KeyPress); + // + // MainForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.ClientSize = new System.Drawing.Size(914, 725); + this.Controls.Add(this.groupBox4); + this.Controls.Add(this.groupBox3); + this.Controls.Add(this.grpIO); + this.Controls.Add(this.groupBox2); + this.Controls.Add(this.grpSafety); + this.Controls.Add(this.grpMotionTest); + this.Controls.Add(this.groupBox1); + this.Name = "MainForm"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "ACS 运动控制器"; + this.Load += new System.EventHandler(this.Form1_Load); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.grpMotionTest.ResumeLayout(false); + this.grpMotionTest.PerformLayout(); + this.grpMst.ResumeLayout(false); + this.grpMst.PerformLayout(); + this.grpPositions.ResumeLayout(false); + this.grpPositions.PerformLayout(); + this.grpJog.ResumeLayout(false); + this.grpJog.PerformLayout(); + this.grpProfile.ResumeLayout(false); + this.grpProfile.PerformLayout(); + this.grpPTP.ResumeLayout(false); + this.grpPTP.PerformLayout(); + this.grpSafety.ResumeLayout(false); + this.grpSafety.PerformLayout(); + this.groupBox2.ResumeLayout(false); + this.groupBox2.PerformLayout(); + this.grpIO.ResumeLayout(false); + this.grpIO.PerformLayout(); + this.groupBox3.ResumeLayout(false); + this.groupBox4.ResumeLayout(false); + this.groupBox4.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Timer tmrMonitor; + private System.Windows.Forms.GroupBox grpMotionTest; + private System.Windows.Forms.ComboBox cboAxisNo; + private System.Windows.Forms.GroupBox grpJog; + private System.Windows.Forms.Button btnJogPos; + private System.Windows.Forms.Button btnJogNeg; + private System.Windows.Forms.TextBox txtJogVel; + private System.Windows.Forms.CheckBox chkUseVel; + private System.Windows.Forms.GroupBox grpProfile; + private System.Windows.Forms.Button btnDisable; + private System.Windows.Forms.Button btnEnable; + private System.Windows.Forms.TextBox txtJerk; + private System.Windows.Forms.TextBox txtKdec; + private System.Windows.Forms.TextBox txtDec; + private System.Windows.Forms.TextBox txtAcc; + private System.Windows.Forms.TextBox txtVel; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.GroupBox grpPTP; + private System.Windows.Forms.Button btnPTP_R_Neg; + private System.Windows.Forms.Button btnPTP; + private System.Windows.Forms.TextBox txtPTP_Pos; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.TextBox txtPort; + private System.Windows.Forms.TextBox txtIP; + private System.Windows.Forms.Button btnClose; + private System.Windows.Forms.Button btnOpen; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.RadioButton rdoTCP; + private System.Windows.Forms.RadioButton rdoSimu; + private System.Windows.Forms.Button btnHalt; + private System.Windows.Forms.GroupBox grpMst; + private System.Windows.Forms.Label label16; + private System.Windows.Forms.Label label15; + private System.Windows.Forms.Label label14; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.GroupBox grpPositions; + private System.Windows.Forms.Button btnSetZero; + private System.Windows.Forms.TextBox txtPE; + private System.Windows.Forms.TextBox txtFPOS; + private System.Windows.Forms.TextBox txtRPOS; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.Button btnDisableAll; + private System.Windows.Forms.Button btnPTP_R_Pos; + private System.Windows.Forms.Button btnHallAll; + private System.Windows.Forms.Label lblMoving; + private System.Windows.Forms.Label lblEnable; + private System.Windows.Forms.Label lblInPos; + private System.Windows.Forms.Label lblAcc; + private System.Windows.Forms.GroupBox grpSafety; + private System.Windows.Forms.Label lblEMG; + private System.Windows.Forms.Label lblRL7; + private System.Windows.Forms.Label lblRL3; + private System.Windows.Forms.Label lblLL7; + private System.Windows.Forms.Label lblLL3; + private System.Windows.Forms.Label lblRL6; + private System.Windows.Forms.Label lblRL2; + private System.Windows.Forms.Label lblLL6; + private System.Windows.Forms.Label lblRL5; + private System.Windows.Forms.Label lblLL2; + private System.Windows.Forms.Label lblLL5; + private System.Windows.Forms.Label lblRL1; + private System.Windows.Forms.Label lblRL4; + private System.Windows.Forms.Label lblLL1; + private System.Windows.Forms.Label lblLL4; + private System.Windows.Forms.Label lblRL0; + private System.Windows.Forms.Label lblLL0; + private System.Windows.Forms.Label label18; + private System.Windows.Forms.Label label36; + private System.Windows.Forms.Label label27; + private System.Windows.Forms.Label label35; + private System.Windows.Forms.Label label26; + private System.Windows.Forms.Label label34; + private System.Windows.Forms.Label label25; + private System.Windows.Forms.Label label33; + private System.Windows.Forms.Label label24; + private System.Windows.Forms.Label label20; + private System.Windows.Forms.Label label19; + private System.Windows.Forms.Label label17; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.ComboBox cboBufferNo; + private System.Windows.Forms.Label label21; + private System.Windows.Forms.Button btnStopBuffer; + private System.Windows.Forms.Button btnRunBuffer; + private System.Windows.Forms.TextBox txtLabelName; + private System.Windows.Forms.Label label22; + private System.Windows.Forms.Label label28; + private System.Windows.Forms.Label lblPRG_Status; + private System.Windows.Forms.Label lblPRG_Status_LED; + private System.Windows.Forms.GroupBox grpIO; + private System.Windows.Forms.Button btnSW7; + private System.Windows.Forms.Button btnSW6; + private System.Windows.Forms.Button btnSW5; + private System.Windows.Forms.Button btnSW4; + private System.Windows.Forms.Button btnSW3; + private System.Windows.Forms.Button btnSW2; + private System.Windows.Forms.Button btnSW0; + private System.Windows.Forms.Button btnSW1; + private System.Windows.Forms.Label label29; + private System.Windows.Forms.Label label23; + private System.Windows.Forms.Label label42; + private System.Windows.Forms.Label lblOUT7; + private System.Windows.Forms.Label lblIN7; + private System.Windows.Forms.Label label41; + private System.Windows.Forms.Label lblOUT3; + private System.Windows.Forms.Label lblIN3; + private System.Windows.Forms.Label label40; + private System.Windows.Forms.Label label39; + private System.Windows.Forms.Label label38; + private System.Windows.Forms.Label lblOUT6; + private System.Windows.Forms.Label lblIN6; + private System.Windows.Forms.Label label37; + private System.Windows.Forms.Label lblOUT2; + private System.Windows.Forms.Label lblIN2; + private System.Windows.Forms.Label lblOUT5; + private System.Windows.Forms.Label lblIN5; + private System.Windows.Forms.Label label31; + private System.Windows.Forms.Label label30; + private System.Windows.Forms.Label lblOUT1; + private System.Windows.Forms.Label lblIN1; + private System.Windows.Forms.Label lblOUT0; + private System.Windows.Forms.Label lblOUT4; + private System.Windows.Forms.Label lblIN0; + private System.Windows.Forms.Label lblIN4; + private System.Windows.Forms.Label label32; + private System.Windows.Forms.TextBox txtFVEL; + private System.Windows.Forms.Label label43; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.Button btnEventProgramEnd; + private System.Windows.Forms.Button btnEventMotionEnd; + private System.Windows.Forms.ListBox lstLog; + private System.Windows.Forms.RichTextBox rtxtTerminal; + private System.Windows.Forms.GroupBox groupBox4; + private System.Windows.Forms.Button btnSend; + private System.Windows.Forms.TextBox txtCommand; + } +} + diff --git a/Motion/ACS Motion/MainForm.cs b/Motion/ACS Motion/MainForm.cs new file mode 100644 index 0000000..cc091a3 --- /dev/null +++ b/Motion/ACS Motion/MainForm.cs @@ -0,0 +1,881 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using System.Threading; +using System.IO; + +using ACS.SPiiPlusNET; // ACS .NET Library +using System.Runtime.InteropServices; + +namespace ACS_DotNET_Library_Advanced_Demo +{ + public partial class MainForm : Form + { + private Api _ACS; + + private const int MAX_AXIS_COUNT = 32; + private const int MAX_BUFFER_CNT = 64; + + private const int MAX_UI_LIMIT_CNT = 8; + private const int MAX_UI_IO_CNT = 8; + + private int m_nTotalAxis = 0; + private int m_nTotalBuffer = 0; + private Axis[] m_arrAxisList = null; + + private bool m_bConnected = false; + + // For update values + private MotorStates m_nMotorState; + private ProgramStates m_nProgramState; + private object m_objReadVar = null; + private Array m_arrReadVector = null; + private double m_lfRPos, m_lfFPos, m_lfPE, m_lfFVEL; + private int m_nValues, m_nOutputState; + + + private Label[] m_lblLeftLimit; + private Label[] m_lblRightLimit; + private Label[] m_lblInput; + private Label[] m_lblOutput; + private Button[] m_btnOutput; + + public MainForm() + { + InitializeComponent(); + + _ACS = new Api(); + + // Register Event + _ACS.PHYSICALMOTIONEND += _ACS_PHYSICALMOTIONEND; + _ACS.PROGRAMEND += _ACS_PROGRAMEND; + } + + #region Initialize + private void Form1_Load(object sender, EventArgs e) + { + rdoTCP.Checked = true; + btnOpen.Enabled = true; + btnClose.Enabled = false; + + m_lblLeftLimit = new Label[MAX_UI_LIMIT_CNT]; + m_lblLeftLimit[0] = lblLL0; + m_lblLeftLimit[1] = lblLL1; + m_lblLeftLimit[2] = lblLL2; + m_lblLeftLimit[3] = lblLL3; + m_lblLeftLimit[4] = lblLL4; + m_lblLeftLimit[5] = lblLL5; + m_lblLeftLimit[6] = lblLL6; + m_lblLeftLimit[7] = lblLL7; + + m_lblRightLimit = new Label[MAX_UI_LIMIT_CNT]; + m_lblRightLimit[0] = lblRL0; + m_lblRightLimit[1] = lblRL1; + m_lblRightLimit[2] = lblRL2; + m_lblRightLimit[3] = lblRL3; + m_lblRightLimit[4] = lblRL4; + m_lblRightLimit[5] = lblRL5; + m_lblRightLimit[6] = lblRL6; + m_lblRightLimit[7] = lblRL7; + + m_lblInput = new Label[MAX_UI_IO_CNT]; + m_lblInput[0] = lblIN0; + m_lblInput[1] = lblIN1; + m_lblInput[2] = lblIN2; + m_lblInput[3] = lblIN3; + m_lblInput[4] = lblIN4; + m_lblInput[5] = lblIN5; + m_lblInput[6] = lblIN6; + m_lblInput[7] = lblIN7; + + m_lblOutput = new Label[MAX_UI_IO_CNT]; + m_lblOutput[0] = lblOUT0; + m_lblOutput[1] = lblOUT1; + m_lblOutput[2] = lblOUT2; + m_lblOutput[3] = lblOUT3; + m_lblOutput[4] = lblOUT4; + m_lblOutput[5] = lblOUT5; + m_lblOutput[6] = lblOUT6; + m_lblOutput[7] = lblOUT7; + + m_btnOutput = new Button[MAX_UI_IO_CNT]; + m_btnOutput[0] = btnSW0; + m_btnOutput[1] = btnSW1; + m_btnOutput[2] = btnSW2; + m_btnOutput[3] = btnSW3; + m_btnOutput[4] = btnSW4; + m_btnOutput[5] = btnSW5; + m_btnOutput[6] = btnSW6; + m_btnOutput[7] = btnSW7; + + //m_nFault = new int[MAX_AXIS_COUNT]; + //Array.Clear(m_nFault, 0, MAX_AXIS_COUNT); + m_nOutputState = 0; + + // Clear connection list from SPiiPlus UserMode-Driver (UMD) + TernminateUMD_Connection(); + } + + private void rdoTCP_CheckedChanged(object sender, EventArgs e) + { + txtIP.Enabled = true; + txtPort.Enabled = true; + } + + private void rdoSimu_CheckedChanged(object sender, EventArgs e) + { + txtIP.Enabled = false; + txtPort.Enabled = false; + } + #endregion + + #region Communication - Open / Close + private void btnOpen_Click(object sender, EventArgs e) + { + string strTemp; + int i; + //double lfTemp = 0.0f; + + try + { + if (rdoTCP.Checked) + { + // TCP/IP (Ethernet) + _ACS.OpenCommEthernetTCP( + txtIP.Text, // IP Address (Default : 10.0.0.100) + Convert.ToInt32(txtPort.Text.Trim()) // TCP/IP Port nubmer (default : 701) + ); + } + else if (rdoSimu.Checked) + { + // Simmulation mode + _ACS.OpenCommSimulator(); + } + m_bConnected = true; + + // Get Total number of axes + // Using Transaction function : return string text from controller, we need to convert to integer value + strTemp = _ACS.Transaction("?SYSINFO(13)"); + m_nTotalAxis = Convert.ToInt32(strTemp.Trim()); + + // Using Sysinfo function + //_ACS.GetSysInfo(_ACS.ACSC_SYS_NAXES_KEY, out lfTemp); + + // When we are using multi axes command (ex) ToPointM, HaltM, ...), we need to allocate the array size more 1. + // Because of the last delimeter (-1) + m_arrAxisList = new Axis[m_nTotalAxis + 1]; + for (i = 0; i < m_nTotalAxis; i++) + { + cboAxisNo.Items.Add(i.ToString()); + m_arrAxisList[i] = (Axis)i; + } + // Insert '-1' at the last + m_arrAxisList[m_nTotalAxis] = Axis.ACSC_NONE; + cboAxisNo.SelectedIndex = 0; + + // Update current motion paramter to UI. + UpdateProfile(); + + strTemp = _ACS.Transaction("?SYSINFO(10)"); + m_nTotalBuffer = Convert.ToInt32(strTemp.Trim()); + for (i = 0; i < m_nTotalBuffer; i++) { cboBufferNo.Items.Add(i.ToString()); } + cboBufferNo.SelectedIndex = 0; + + btnOpen.Enabled = false; + btnClose.Enabled = true; + + // Set updating timer + tmrMonitor.Interval = 50; + tmrMonitor.Start(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); + System.Diagnostics.Debug.WriteLine(ex.Message); + } + //catch (COMException comex) + //{ + // MessageBox.Show("Connection fail", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + // System.Diagnostics.Debug.WriteLine("Connection fail" + comex.Message); + + // m_bConnected = false; + // return; + //} + } + + private void btnClose_Click(object sender, EventArgs e) + { + if (m_bConnected) _ACS.CloseComm(); + + tmrMonitor.Stop(); + + btnOpen.Enabled = true; + btnClose.Enabled = false; + } + + + /// + /// Terminate connections from SPiiPlus User Mode Driver + /// - Maximum connections up to 10 in UMD + /// + private void TernminateUMD_Connection() + { + try + { + string terminateExceptionConnName = "ACS.Framework.exe"; + + ACSC_CONNECTION_DESC[] connectionList = _ACS.GetConnectionsList(); + for (int index = 0; index < connectionList.Length; index++) + { + + if (terminateExceptionConnName.CompareTo((string)connectionList[index].Application) != 0) + _ACS.TerminateConnection(connectionList[index]); + } + } + catch (Exception ex) + { + System.Diagnostics.Debug.WriteLine(ex.ToString()); + } + } + #endregion + + #region Update UI data from Controller + /// + /// Update Motion Profile from Controller + /// + private void UpdateProfile() + { + if (m_bConnected) + { + txtVel.Text = _ACS.GetVelocity((Axis)cboAxisNo.SelectedIndex).ToString(); + txtAcc.Text = _ACS.GetAcceleration((Axis)cboAxisNo.SelectedIndex).ToString(); + txtDec.Text = _ACS.GetDeceleration((Axis)cboAxisNo.SelectedIndex).ToString(); + txtKdec.Text = _ACS.GetKillDeceleration((Axis)cboAxisNo.SelectedIndex).ToString(); + txtJerk.Text = _ACS.GetJerk((Axis)cboAxisNo.SelectedIndex).ToString(); + } + } + + private void cboAxisNo_SelectedIndexChanged(object sender, EventArgs e) + { + UpdateProfile(); + } + + private void tmrMonitor_Tick(object sender, EventArgs e) + { + // Get selected axis number + int iAxisNo = cboAxisNo.SelectedIndex; + // Get selected buffer number + int iBufferNo = cboBufferNo.SelectedIndex; + + if (m_bConnected) + { + try + { + // Instruction 1. Using library functions - acsc_GetFPosition, acsc_GetRPosition, .... + // Instruction 2. Read ACS variable - Already defined almost things (FPOS, RPOS, ...) + // Motion parameters and state is array (Max length is total number of axes) + // + // * Library function can read only 1 axis information, so if you want to read several axes, you have to call the function many times. + // (This may cause communication delay.) + // Recommand (if you want to read many axes) : read/write variable using ReadVariable, ReadVariableScalar, ReadVariableVector, ReadVariableMatrix + + // + // Get Motor State + // ACSPL+ Variable : MST (integer) + m_nMotorState = _ACS.GetMotorState((Axis)iAxisNo); + + // Returned value is integer, you need to use bitmaks + if ((m_nMotorState & MotorStates.ACSC_MST_MOVE) != 0) lblMoving.Image = Properties.Resources.On; else lblMoving.Image = Properties.Resources.Off; + if ((m_nMotorState & MotorStates.ACSC_MST_INPOS) != 0) lblInPos.Image = Properties.Resources.On; else lblInPos.Image = Properties.Resources.Off; + if ((m_nMotorState & MotorStates.ACSC_MST_ACC) != 0) lblAcc.Image = Properties.Resources.On; else lblAcc.Image = Properties.Resources.Off; + if ((m_nMotorState & MotorStates.ACSC_MST_ENABLE) != 0) lblEnable.Image = Properties.Resources.On; else lblEnable.Image = Properties.Resources.Off; + + // Reference position + // ACSPL+ Variable : RPOS (real) + m_lfRPos = _ACS.GetRPosition((Axis)iAxisNo); + + // Feedback position (Encoder value) + // ACSPL+ Variable : FPO (real) + m_lfFPos = _ACS.GetFPosition((Axis)iAxisNo); + + // PE (Position Error) + // There is no function in library. We need to use ReadVariable function + m_lfPE = (double)_ACS.ReadVariable("PE", ProgramBuffer.ACSC_NONE, iAxisNo, iAxisNo); + + // Feedback Velocity + m_lfFVEL = (double)_ACS.ReadVariable("FVEL", ProgramBuffer.ACSC_NONE, iAxisNo, iAxisNo); + + txtRPOS.Text = String.Format("{0:0.0000}", m_lfRPos); + txtFPOS.Text = String.Format("{0:0.0000}", m_lfFPos); + txtPE.Text = String.Format("{0:0.0000}", m_lfPE); + txtFVEL.Text = String.Format("{0:0.0000}", m_lfFVEL); + + // Program State + // State : Compiled, Running, Suspended, Autoroutine is running (ON syntax) + // + // ACSPL+ Variable : PST (integer) + m_nProgramState = _ACS.GetProgramState((ProgramBuffer)iBufferNo); + if ((m_nProgramState & ProgramStates.ACSC_PST_RUN) != 0) + { + lblPRG_Status_LED.Image = Properties.Resources.On; + lblPRG_Status.Text = "Running"; + } + else + { + lblPRG_Status_LED.Image = Properties.Resources.Off; + lblPRG_Status.Text = "Stop"; + } + + // Read left/right hardware limits state + // ACSPL+ Variable : FAULT (integer) + m_objReadVar = _ACS.ReadVariableAsVector("FAULT", ProgramBuffer.ACSC_NONE, 0, m_nTotalAxis - 1, -1, -1); + if (m_objReadVar != null) + { + m_arrReadVector = m_objReadVar as Array; + if (m_arrReadVector != null) + { + for (int i = 0; i < m_nTotalAxis; i++) + { + UpdateLimitState(i, (int)m_arrReadVector.GetValue(i)); + } + } + } + + // Read digital input/output (Port means all of bits) + // If you want to read only 1 bit (not an integer), use "GetInput" function + m_nValues = _ACS.GetInputPort(0); // _ACS.ReadVariableAsVector("IN", -1, 0, 0, -1, -1); + UpdateIOState(m_nValues, true); + + m_nOutputState = _ACS.GetOutputPort(0); // _ACS.ReadVariableAsVector("OUT", -1, 0, 0, -1, -1); + UpdateIOState(m_nOutputState, false); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); + System.Diagnostics.Debug.WriteLine(ex.Message); + } + } + } + + // Update limit state + private void UpdateLimitState(int axisNo, int fault) + { + if (axisNo < MAX_UI_LIMIT_CNT) + { + if ((fault & (int)SafetyControlMasks.ACSC_SAFETY_LL) != 0) m_lblLeftLimit[axisNo].Image = Properties.Resources.Error; else m_lblLeftLimit[axisNo].Image = Properties.Resources.Off; + if ((fault & (int)SafetyControlMasks.ACSC_SAFETY_RL) != 0) m_lblRightLimit[axisNo].Image = Properties.Resources.Error; else m_lblRightLimit[axisNo].Image = Properties.Resources.Off; + } + } + + // Update general I/O stae + private void UpdateIOState(int value, bool isInput) + { + int bitUpCnt = 0x01; + + for (int i = 0; i < MAX_UI_IO_CNT; i++) + { + if (isInput) + { + // Input state + if ((value & bitUpCnt) != 0) m_lblInput[i].Image = Properties.Resources.On; + else m_lblInput[i].Image = Properties.Resources.Off; + } + else + { + // Output state + if ((value & bitUpCnt) != 0) + { + m_btnOutput[i].Text = "OFF"; + m_lblOutput[i].Image = Properties.Resources.On; + } + else + { + m_btnOutput[i].Text = "ON"; + m_lblOutput[i].Image = Properties.Resources.Off; + } + } + + // 0x01 => 0x02 => 0x04 => 0x08 ... increase bit number + bitUpCnt = (0x01) << (i + 1); + } + } + #endregion + + #region Motor Enable / Disable + private void btnEnable_Click(object sender, EventArgs e) + { + // Enable selected axis + _ACS.Enable((Axis)cboAxisNo.SelectedIndex); + + // If you want to enable several axes, + // + // Ex) Eanble three axes (0, 1, 6) + // + // int[] AxisList = new int[] { 0, 1, 6, -1 }; !!!! Important !! Must insert '-1' at the last + // _ACS.EnableM(AxisList); + } + + private void btnDisable_Click(object sender, EventArgs e) + { + // Disable selected axis + _ACS.Disable((Axis)cboAxisNo.SelectedIndex); + // Disable multi axes : DisableM(int[] axisList) + } + + private void btnDisableAll_Click(object sender, EventArgs e) + { + // Disable all of axes + _ACS.DisableAll(); + } + #endregion + + private void btnSetZero_Click(object sender, EventArgs e) + { + // Change current poisition as you want + // SetFPosition(Axis number, new position) + _ACS.SetFPosition((Axis)cboAxisNo.SelectedIndex, 0); + } + + #region Move to absolute position + private void btnPTP_Click(object sender, EventArgs e) + { + double lfTargetPos = 0.0f; + try + { + if (txtPTP_Pos.Text.Length > 0) + { + lfTargetPos = Convert.ToDouble(txtPTP_Pos.Text); + _ACS.ToPoint( + 0, // '0' - Absolute position + (Axis)cboAxisNo.SelectedIndex, // Axis number + lfTargetPos // Target position + ); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); + System.Diagnostics.Debug.WriteLine(ex.Message); + } + } + #endregion + + #region Move to relative position (from current position) + private void btnPTP_R_Neg_Click(object sender, EventArgs e) + { + double lfTargetPos = 0.0f; + try + { + if (txtPTP_Pos.Text.Length > 0) + { + lfTargetPos = Convert.ToDouble(txtPTP_Pos.Text); + if (lfTargetPos > 0) lfTargetPos = lfTargetPos * (-1); // Target position (from current position, step move) + + _ACS.ToPoint( + MotionFlags.ACSC_AMF_RELATIVE, // Flat + (Axis)cboAxisNo.SelectedIndex, // Axis number + lfTargetPos // Move distance + ); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); + System.Diagnostics.Debug.WriteLine(ex.Message); + } + } + + private void btnPTP_R_Pos_Click(object sender, EventArgs e) + { + double lfTargetPos = 0.0f; + try + { + if (txtPTP_Pos.Text.Length > 0) + { + lfTargetPos = Convert.ToDouble(txtPTP_Pos.Text); + if (lfTargetPos < 0) lfTargetPos = lfTargetPos * (-1); + + _ACS.ToPoint(MotionFlags.ACSC_AMF_RELATIVE, (Axis)cboAxisNo.SelectedIndex, lfTargetPos); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); + System.Diagnostics.Debug.WriteLine(ex.Message); + } + } + #endregion + + #region Stop motion using deceleration (halt command) + private void btnHalt_Click(object sender, EventArgs e) + { + try + { + _ACS.Halt((Axis)cboAxisNo.SelectedIndex); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); + System.Diagnostics.Debug.WriteLine(ex.Message); + } + } + + private void btnHallAll_Click(object sender, EventArgs e) + { + try + { + // There is no halt all command, so you need to user HaltM function + // + // ex) You want to stop 0, 2, 5 axis + // int[] m_arrAxisList = new int[] { 0, 2, 5, -1 }; + // + if (m_arrAxisList != null) _ACS.HaltM(m_arrAxisList); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); + System.Diagnostics.Debug.WriteLine(ex.Message); + } + } + #endregion + + #region JOG Command + // Move negative direction + private void btnJogNeg_MouseDown(object sender, MouseEventArgs e) + { + double lfVelocity = 0.0f; + + try + { + if (chkUseVel.Checked) + { + lfVelocity = Convert.ToDouble(txtJogVel.Text.Trim()); + if (lfVelocity > 0) lfVelocity = lfVelocity * (-1); // Negative direction : Using - (minus) velocity + + _ACS.Jog( + MotionFlags.ACSC_AMF_VELOCITY, // Velocity flag + (Axis)cboAxisNo.SelectedIndex, // Axis number + lfVelocity // Velocity + ); + } + else + { + _ACS.Jog(0, (Axis)cboAxisNo.SelectedIndex, (double)GlobalDirection.ACSC_NEGATIVE_DIRECTION); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); + System.Diagnostics.Debug.WriteLine(ex.Message); + } + } + // 정방향 이동 동작 + private void btnJogPos_MouseDown(object sender, MouseEventArgs e) + { + double lfVelocity = 0.0f; + + try + { + if (chkUseVel.Checked) + { + lfVelocity = Convert.ToDouble(txtJogVel.Text.Trim()); + if (lfVelocity < 0) lfVelocity = lfVelocity * (-1); + + _ACS.Jog(MotionFlags.ACSC_AMF_VELOCITY, (Axis)cboAxisNo.SelectedIndex, lfVelocity); + } + else + { + _ACS.Jog(0, (Axis)cboAxisNo.SelectedIndex, (double)GlobalDirection.ACSC_POSITIVE_DIRECTION); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); + System.Diagnostics.Debug.WriteLine(ex.Message); + } + } + // Stop JOG motion + private void btnJog_MouseUp(object sender, MouseEventArgs e) + { + _ACS.Halt((Axis)cboAxisNo.SelectedIndex); + } + #endregion + + #region Run/Stop Buffer Program + private void btnRunBuffer_Click(object sender, EventArgs e) + { + string temp; + + try + { + if (txtLabelName.Text.Length > 0) + { + temp = txtLabelName.Text.ToUpper(); + // Allow _ (Under bar) or A ~ Z characters + if (temp[0] != 0x5F && (temp[0] < 0x41 || temp[0] > 0x5A)) + { + MessageBox.Show("Wrong 'Label' name inputed.", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Information); + return; + } + + // Run buffer program from label position + _ACS.RunBuffer((ProgramBuffer)cboBufferNo.SelectedIndex, txtLabelName.Text.Trim()); + } + else + { + // Run buffer program from first line + _ACS.RunBuffer((ProgramBuffer)cboBufferNo.SelectedIndex, null); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); + System.Diagnostics.Debug.WriteLine(ex.Message); + } + } + + private void btnStopBuffer_Click(object sender, EventArgs e) + { + // Stop program + _ACS.StopBuffer((ProgramBuffer)cboBufferNo.SelectedIndex); + } + #endregion + + #region Change motion profile + private void TextBoxes_KeyPress(object sender, KeyPressEventArgs e) + { + try + { + double lfTemp = 0.0f; + TextBox textBox = sender as TextBox; + if (textBox != null) + { + // Allow numbers (0 ~ 9), . (DOT), Backspace + if ((e.KeyChar >= 0x30 && e.KeyChar <= 0x39) || e.KeyChar == 0x2E || e.KeyChar == 0x08 || e.KeyChar == (char)Keys.Return || e.KeyChar == (char)Keys.Enter) + { + if ((e.KeyChar == 0x2E) && (textBox.Text.Contains(Convert.ToString(0x2E)))) e.KeyChar = (char)0x00; + if (e.KeyChar == (char)Keys.Return || e.KeyChar == (char)Keys.Enter) + { + e.Handled = true; + + lfTemp = Convert.ToDouble(textBox.Text.Trim()); + switch (textBox.TabIndex) + { + // Immediately change value (On the fly) : SetVelocityImm() + // Affect next motion : SetVelocity() + + case 0: _ACS.SetVelocityImm((Axis)cboAxisNo.SelectedIndex, lfTemp); break; + case 1: _ACS.SetAccelerationImm((Axis)cboAxisNo.SelectedIndex, lfTemp); break; + case 2: _ACS.SetDecelerationImm((Axis)cboAxisNo.SelectedIndex, lfTemp); break; + case 3: _ACS.SetKillDecelerationImm((Axis)cboAxisNo.SelectedIndex, lfTemp); break; + case 4: _ACS.SetJerkImm((Axis)cboAxisNo.SelectedIndex, lfTemp); break; + } + + textBox.SelectAll(); + } + } + else e.KeyChar = (char)0x00; + } + } + catch (Exception ex) + { + System.Diagnostics.Debug.WriteLine("TextBoxes_KeyPress() Error\n" + ex.ToString()); + } + } + + private void TextBoxes_Enter(object sender, EventArgs e) + { + try + { + TextBox textBox = sender as TextBox; + if (textBox != null) textBox.SelectAll(); + } + catch (Exception ex) + { + System.Diagnostics.Debug.WriteLine("TextBoxes_Enter() Error\n" + ex.ToString()); + } + } + + private void TextBoxes_Leave(object sender, EventArgs e) + { + try + { + double lfTemp = 0.0f; + + TextBox textBox = sender as TextBox; + if (textBox == null) return; + + lfTemp = Convert.ToDouble(textBox.Text.Trim()); + switch (textBox.TabIndex) + { + case 0: _ACS.SetVelocityImm((Axis)cboAxisNo.SelectedIndex, lfTemp); break; + case 1: _ACS.SetAccelerationImm((Axis)cboAxisNo.SelectedIndex, lfTemp); break; + case 2: _ACS.SetDecelerationImm((Axis)cboAxisNo.SelectedIndex, lfTemp); break; + case 3: _ACS.SetKillDecelerationImm((Axis)cboAxisNo.SelectedIndex, lfTemp); break; + case 4: _ACS.SetJerkImm((Axis)cboAxisNo.SelectedIndex, lfTemp); break; + } + + textBox.SelectAll(); + } + catch (Exception ex) + { + System.Diagnostics.Debug.WriteLine("TextBoxes_Leave() Error\n" + ex.ToString()); + } + } + #endregion + + #region On and Off General Output + private void btnSW_Click(object sender, EventArgs e) + { + int nBitNo = 0x01; + + try + { + Button btn = sender as Button; + if (btn == null) return; + + nBitNo = btn.TabIndex; + nBitNo = (0x01) << nBitNo; + + if ((m_nOutputState & nBitNo) != 0) + { + // Set only 1 bit + _ACS.SetOutput( + 0, // Port number + btn.TabIndex, // Bit number + 0 // 0 = OFF, 1 = ON + ); + + // If your I/O device is EtherCAT type, you cannot use this function + // You can use WriteVariable function and Command function + // + // Ex) If EtherCAT mapped variable is 'EC_DOUT' + // Want to ON bit '3' + // _ACS.Command("EC_DOUT.3=1"); + } + else + { + _ACS.SetOutput(0, btn.TabIndex, 1); + } + } + catch (Exception ex) + { + System.Diagnostics.Debug.WriteLine("btnSW_Click() Error\n" + ex.ToString()); + } + } + #endregion + + #region Event + private void btnEventMotionEnd_Click(object sender, EventArgs e) + { + //_ACS.PHYSICALMOTIONEND +=_ACS_PHYSICALMOTIONEND; + _ACS.EnableEvent(Interrupts.ACSC_INTR_PHYSICAL_MOTION_END); + lstLog.Items.Add("PHYSICAL_MOTION_END event enabled"); + } + + void _ACS_PHYSICALMOTIONEND(AxisMasks axis) + { + int bit = 0x01; + int axisNo = 0; + // Param value is bit number + // Bit Number = Axis Number + for (int i = 0; i < 64; i++) + { + if ((int)axis == bit) + { + axisNo = i; + break; + } + bit = bit << 1; + } + + // Add log to ListBox + this.Invoke((MethodInvoker)delegate + { + lstLog.Items.Add(String.Format(" - Axis {0}, Stoppped", axisNo)); + lstLog.SelectedIndex = lstLog.Items.Count - 1; + }); + + } + + private void btnEventProgramEnd_Click(object sender, EventArgs e) + { + //_ACS.PROGRAMEND += _ACS_PROGRAMEND; + _ACS.EnableEvent(Interrupts.ACSC_INTR_PROGRAM_END); + lstLog.Items.Add("PROGRAM_END event enabled"); + } + + void _ACS_PROGRAMEND(BufferMasks buffer) + { + int bit = 0x01; + int bufferNo = 0; + // Param value is bit number + // Bit Number = Axis Number + for (int i = 0; i < 32; i++) + { + if ((int)buffer == bit) + { + bufferNo = i; + break; + } + bit = bit << 1; + } + + // Add log to ListBox + this.Invoke((MethodInvoker)delegate + { + lstLog.Items.Add(String.Format(" - Buffer {0}, Stoppped", bufferNo)); + lstLog.SelectedIndex = lstLog.Items.Count - 1; + }); + } + #endregion + + #region Communication Termial - Using Transaction function + private void txtCommand_KeyPress(object sender, KeyPressEventArgs e) + { + if (e.KeyChar == (char)Keys.Enter) + btnSend.PerformClick(); + } + + private void btnSend_Click(object sender, EventArgs e) + { + string temp = string.Empty; + if (m_bConnected) + { + try + { + AppendTextToTextBox("> " + txtCommand.Text.Trim()); + temp = _ACS.Transaction(txtCommand.Text.Trim()); + } + catch (ACS.SPiiPlusNET.ACSException ex) + { + temp = String.Format("?{0}", ex.ErrorCode); + } + finally + { + if (temp.Length > 0) + { + AppendTextToTextBox(temp); + AppendTextToTextBox(":"); + } + } + + txtCommand.Focus(); + txtCommand.SelectAll(); + } + } + + private void AppendTextToTextBox(string text) + { + rtxtTerminal.AppendText(text); + rtxtTerminal.AppendText(Environment.NewLine); + rtxtTerminal.ScrollToCaret(); + } + #endregion + } +} + diff --git a/Motion/ACS Motion/MainForm.resx b/Motion/ACS Motion/MainForm.resx new file mode 100644 index 0000000..0672ab8 --- /dev/null +++ b/Motion/ACS Motion/MainForm.resx @@ -0,0 +1,1153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + + Qk02BQAAAAAAADYEAAAoAAAAEAAAABAAAAABAAgAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAt7e3/7i4 + uP+8vLz/vb29/7+/v//BwcH/wsLC/8PDw//FxcX/xsbG/8fHx//IyMj/ycnJ/8rKyv/Ly8v/zMzM/83N + zf/Ozs7/z8/P/9DQ0P/R0dH/0tLS/9PT0//U1NT/1dXV/9bW1v/X19f/2NjY/9nZ2f/a2tr/29vb/9zc + 3P/d3d3/3t7e/9/f3//g4OD/4eHh/+Tk5P/39/f/+Pj4//n5+f//////AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA + AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/ygo + KCgmFwICAAIXJigoKCgoKCgXAgcPDw8PBwIXKCgoKCgPBw8PDw8PDw8PAgcoKCgfBxcXFw8PDw8PDw8C + FygoBxcXFxcXFxcPDw8PDwImHw8XFxcXFxcXFw8PDw8HFwcXFxcXFxcXFxcXDw8PDwIHHx8fHx8fFxcX + FxcPDw8ABx8fHx8fHx8XFxcXDw8PAg8fHx8fHx8fHxcXFw8PDwIfFx8lJSUfHx8XFxcXDwcXKA8lJSUl + Hx8fFxcXFw8CJigfFyUlJR8fHxcXFxcHFygoKBcXJR8fHx8XFxcHDygoKCgoHw8XHx8fFw8HHygoKCgo + KCgoHw8HBwcfKCgoKCg= + + + + 25 + + \ No newline at end of file diff --git a/Motion/ACS Motion/Program.cs b/Motion/ACS Motion/Program.cs new file mode 100644 index 0000000..b438565 --- /dev/null +++ b/Motion/ACS Motion/Program.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Windows.Forms; + +namespace ACS_DotNET_Library_Advanced_Demo +{ + static class Program + { + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new MainForm()); + } + } +} diff --git a/Motion/ACS Motion/Properties/AssemblyInfo.cs b/Motion/ACS Motion/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..6fe64c6 --- /dev/null +++ b/Motion/ACS Motion/Properties/AssemblyInfo.cs @@ -0,0 +1,23 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + + +[assembly: AssemblyTitle("ACS_DotNET_Library_Advanced_Demo")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("ACS_DotNET_Library_Advanced_Demo")] +[assembly: AssemblyCopyright("Copyright © 2019")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + + +[assembly: ComVisible(false)] + + +[assembly: Guid("6215eb36-92d3-4f96-9331-1e8cbda161f4")] + + +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Motion/ACS Motion/Properties/Resources.Designer.cs b/Motion/ACS Motion/Properties/Resources.Designer.cs new file mode 100644 index 0000000..4327a8d --- /dev/null +++ b/Motion/ACS Motion/Properties/Resources.Designer.cs @@ -0,0 +1,93 @@ +//------------------------------------------------------------------------------ +// +// 이 코드는 도구를 사용하여 생성되었습니다. +// 런타임 버전:4.0.30319.18408 +// +// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면 +// 이러한 변경 내용이 손실됩니다. +// +//------------------------------------------------------------------------------ + +namespace ACS_DotNET_Library_Advanced_Demo.Properties { + using System; + + + /// + /// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다. + /// + // 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder + // 클래스에서 자동으로 생성되었습니다. + // 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여 ResGen을 + // 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오. + [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() { + } + + /// + /// 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다. + /// + [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("ACS_DotNET_Library_Advanced_Demo.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대한 현재 스레드의 CurrentUICulture + /// 속성을 재정의합니다. + /// + [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 Error { + get { + object obj = ResourceManager.GetObject("Error", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Off { + get { + object obj = ResourceManager.GetObject("Off", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap On { + get { + object obj = ResourceManager.GetObject("On", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/Motion/ACS Motion/Properties/Resources.resx b/Motion/ACS Motion/Properties/Resources.resx new file mode 100644 index 0000000..c3b5e4e --- /dev/null +++ b/Motion/ACS Motion/Properties/Resources.resx @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + ..\Images\Error.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\Off.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Images\On.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Motion/ACS Motion/Properties/Settings.Designer.cs b/Motion/ACS Motion/Properties/Settings.Designer.cs new file mode 100644 index 0000000..b21dc61 --- /dev/null +++ b/Motion/ACS Motion/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18408 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace ACS_DotNET_Library_Advanced_Demo.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; + } + } + } +} diff --git a/Motion/ACS Motion/Properties/Settings.settings b/Motion/ACS Motion/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/Motion/ACS Motion/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Motion/ACS Motion/bin/Debug/ACS_DotNET_Library_Advanced_Demo.vshost.exe.manifest b/Motion/ACS Motion/bin/Debug/ACS_DotNET_Library_Advanced_Demo.vshost.exe.manifest new file mode 100644 index 0000000..061c9ca --- /dev/null +++ b/Motion/ACS Motion/bin/Debug/ACS_DotNET_Library_Advanced_Demo.vshost.exe.manifest @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/Motion/ACS Motion/obj/x64/Debug/ACS Motion.csproj.FileListAbsolute.txt b/Motion/ACS Motion/obj/x64/Debug/ACS Motion.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..8bf44a3 --- /dev/null +++ b/Motion/ACS Motion/obj/x64/Debug/ACS Motion.csproj.FileListAbsolute.txt @@ -0,0 +1,5 @@ +E:\HexagonProjects\2022-05-直线电机平台\LM-Middleware\Motion\ACS Motion\obj\x64\Debug\ACS Motion.csprojAssemblyReference.cache +E:\HexagonProjects\2022-05-直线电机平台\LM-Middleware\Motion\ACS Motion\obj\x64\Debug\ACS_DotNET_Library_Advanced_Demo.MainForm.resources +E:\HexagonProjects\2022-05-直线电机平台\LM-Middleware\Motion\ACS Motion\obj\x64\Debug\ACS_DotNET_Library_Advanced_Demo.Properties.Resources.resources +E:\HexagonProjects\2022-05-直线电机平台\LM-Middleware\Motion\ACS Motion\obj\x64\Debug\ACS Motion.csproj.GenerateResource.cache +E:\HexagonProjects\2022-05-直线电机平台\LM-Middleware\Motion\ACS Motion\obj\x64\Debug\ACS Motion.csproj.CoreCompileInputs.cache diff --git a/Motion/ACS Motion/obj/x64/Debug/ACS_DotNET_Library_Advanced_Demo.MainForm.resources b/Motion/ACS Motion/obj/x64/Debug/ACS_DotNET_Library_Advanced_Demo.MainForm.resources new file mode 100644 index 0000000..90f8531 Binary files /dev/null and b/Motion/ACS Motion/obj/x64/Debug/ACS_DotNET_Library_Advanced_Demo.MainForm.resources differ diff --git a/Motion/ACS Motion/obj/x64/Debug/ACS_DotNET_Library_Advanced_Demo.Properties.Resources.resources b/Motion/ACS Motion/obj/x64/Debug/ACS_DotNET_Library_Advanced_Demo.Properties.Resources.resources new file mode 100644 index 0000000..dc9d246 Binary files /dev/null and b/Motion/ACS Motion/obj/x64/Debug/ACS_DotNET_Library_Advanced_Demo.Properties.Resources.resources differ diff --git a/Motion/ACS Motion/obj/x64/Debug/build.force b/Motion/ACS Motion/obj/x64/Debug/build.force new file mode 100644 index 0000000..e69de29 diff --git a/Motion/ACS Motion/obj/x86/Debug/.NET Library (Advanced) Demo.csproj.CopyComplete b/Motion/ACS Motion/obj/x86/Debug/.NET Library (Advanced) Demo.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/Motion/ACS Motion/obj/x86/Debug/.NET Library (Advanced) Demo.csproj.FileListAbsolute.txt b/Motion/ACS Motion/obj/x86/Debug/.NET Library (Advanced) Demo.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..41f2bbb --- /dev/null +++ b/Motion/ACS Motion/obj/x86/Debug/.NET Library (Advanced) Demo.csproj.FileListAbsolute.txt @@ -0,0 +1,20 @@ +C:\Program Files (x86)\ACS Motion Control\SPiiPlus ADK Suite v3.02\SPiiPlus .NET Library\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\bin\Debug\ACS_DotNET_Library_Advanced_Demo.exe +C:\Program Files (x86)\ACS Motion Control\SPiiPlus ADK Suite v3.02\SPiiPlus .NET Library\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\bin\Debug\ACS_DotNET_Library_Advanced_Demo.pdb +C:\Program Files (x86)\ACS Motion Control\SPiiPlus ADK Suite v3.02\SPiiPlus .NET Library\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\bin\Debug\ACS.SPiiPlusNET.dll +C:\Program Files (x86)\ACS Motion Control\SPiiPlus ADK Suite v3.02\SPiiPlus .NET Library\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\obj\x86\Debug\.NET Library (Advanced) Demo.csprojResolveAssemblyReference.cache +C:\Program Files (x86)\ACS Motion Control\SPiiPlus ADK Suite v3.02\SPiiPlus .NET Library\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\obj\x86\Debug\ACS_DotNET_Library_Advanced_Demo.Form1.resources +C:\Program Files (x86)\ACS Motion Control\SPiiPlus ADK Suite v3.02\SPiiPlus .NET Library\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\obj\x86\Debug\ACS_DotNET_Library_Advanced_Demo.Properties.Resources.resources +C:\Program Files (x86)\ACS Motion Control\SPiiPlus ADK Suite v3.02\SPiiPlus .NET Library\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\obj\x86\Debug\.NET Library (Advanced) Demo.csproj.GenerateResource.Cache +C:\Program Files (x86)\ACS Motion Control\SPiiPlus ADK Suite v3.02\SPiiPlus .NET Library\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\obj\x86\Debug\ACS_DotNET_Library_Advanced_Demo.exe +C:\Program Files (x86)\ACS Motion Control\SPiiPlus ADK Suite v3.02\SPiiPlus .NET Library\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\obj\x86\Debug\ACS_DotNET_Library_Advanced_Demo.pdb +C:\Users\zhengxuan.zhang\Desktop\直线运动平台\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\bin\Debug\ACS_DotNET_Library_Advanced_Demo.exe +C:\Users\zhengxuan.zhang\Desktop\直线运动平台\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\bin\Debug\ACS_DotNET_Library_Advanced_Demo.pdb +C:\Users\zhengxuan.zhang\Desktop\直线运动平台\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\bin\Debug\ACS.SPiiPlusNET.dll +C:\Users\zhengxuan.zhang\Desktop\直线运动平台\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\obj\x86\Debug\.NET Library (Advanced) Demo.csprojAssemblyReference.cache +C:\Users\zhengxuan.zhang\Desktop\直线运动平台\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\obj\x86\Debug\ACS_DotNET_Library_Advanced_Demo.Form1.resources +C:\Users\zhengxuan.zhang\Desktop\直线运动平台\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\obj\x86\Debug\ACS_DotNET_Library_Advanced_Demo.Properties.Resources.resources +C:\Users\zhengxuan.zhang\Desktop\直线运动平台\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\obj\x86\Debug\.NET Library (Advanced) Demo.csproj.GenerateResource.cache +C:\Users\zhengxuan.zhang\Desktop\直线运动平台\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\obj\x86\Debug\.NET Library (Advanced) Demo.csproj.CoreCompileInputs.cache +C:\Users\zhengxuan.zhang\Desktop\直线运动平台\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\obj\x86\Debug\.NET Library (Advanced) Demo.csproj.CopyComplete +C:\Users\zhengxuan.zhang\Desktop\直线运动平台\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\obj\x86\Debug\ACS_DotNET_Library_Advanced_Demo.exe +C:\Users\zhengxuan.zhang\Desktop\直线运动平台\.NET Library (Advanced) Demo\.NET Library (Advanced) Demo\obj\x86\Debug\ACS_DotNET_Library_Advanced_Demo.pdb diff --git a/Motion/ACS Motion/obj/x86/Debug/ACS Motion.csproj.CopyComplete b/Motion/ACS Motion/obj/x86/Debug/ACS Motion.csproj.CopyComplete new file mode 100644 index 0000000..e69de29 diff --git a/Motion/ACS Motion/obj/x86/Debug/ACS Motion.csproj.FileListAbsolute.txt b/Motion/ACS Motion/obj/x86/Debug/ACS Motion.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..0f9107c --- /dev/null +++ b/Motion/ACS Motion/obj/x86/Debug/ACS Motion.csproj.FileListAbsolute.txt @@ -0,0 +1,10 @@ +E:\HexagonProjects\2022-05-直线电机平台\LM-Middleware\Motion\ACS Motion\bin\Debug\ACS_DotNET_Library_Advanced_Demo.exe +E:\HexagonProjects\2022-05-直线电机平台\LM-Middleware\Motion\ACS Motion\bin\Debug\ACS_DotNET_Library_Advanced_Demo.pdb +E:\HexagonProjects\2022-05-直线电机平台\LM-Middleware\Motion\ACS Motion\obj\x86\Debug\ACS Motion.csprojAssemblyReference.cache +E:\HexagonProjects\2022-05-直线电机平台\LM-Middleware\Motion\ACS Motion\obj\x86\Debug\ACS_DotNET_Library_Advanced_Demo.MainForm.resources +E:\HexagonProjects\2022-05-直线电机平台\LM-Middleware\Motion\ACS Motion\obj\x86\Debug\ACS_DotNET_Library_Advanced_Demo.Properties.Resources.resources +E:\HexagonProjects\2022-05-直线电机平台\LM-Middleware\Motion\ACS Motion\obj\x86\Debug\ACS Motion.csproj.GenerateResource.cache +E:\HexagonProjects\2022-05-直线电机平台\LM-Middleware\Motion\ACS Motion\obj\x86\Debug\ACS Motion.csproj.CoreCompileInputs.cache +E:\HexagonProjects\2022-05-直线电机平台\LM-Middleware\Motion\ACS Motion\obj\x86\Debug\ACS Motion.csproj.CopyComplete +E:\HexagonProjects\2022-05-直线电机平台\LM-Middleware\Motion\ACS Motion\obj\x86\Debug\ACS_DotNET_Library_Advanced_Demo.exe +E:\HexagonProjects\2022-05-直线电机平台\LM-Middleware\Motion\ACS Motion\obj\x86\Debug\ACS_DotNET_Library_Advanced_Demo.pdb diff --git a/Motion/ACS Motion/obj/x86/Debug/ACS_DotNET_Library_Advanced_Demo.Form1.resources b/Motion/ACS Motion/obj/x86/Debug/ACS_DotNET_Library_Advanced_Demo.Form1.resources new file mode 100644 index 0000000..90f8531 Binary files /dev/null and b/Motion/ACS Motion/obj/x86/Debug/ACS_DotNET_Library_Advanced_Demo.Form1.resources differ diff --git a/Motion/ACS Motion/obj/x86/Debug/ACS_DotNET_Library_Advanced_Demo.MainForm.resources b/Motion/ACS Motion/obj/x86/Debug/ACS_DotNET_Library_Advanced_Demo.MainForm.resources new file mode 100644 index 0000000..90f8531 Binary files /dev/null and b/Motion/ACS Motion/obj/x86/Debug/ACS_DotNET_Library_Advanced_Demo.MainForm.resources differ diff --git a/Motion/ACS Motion/obj/x86/Debug/ACS_DotNET_Library_Advanced_Demo.Properties.Resources.resources b/Motion/ACS Motion/obj/x86/Debug/ACS_DotNET_Library_Advanced_Demo.Properties.Resources.resources new file mode 100644 index 0000000..dc9d246 Binary files /dev/null and b/Motion/ACS Motion/obj/x86/Debug/ACS_DotNET_Library_Advanced_Demo.Properties.Resources.resources differ