From 2a3945d8729755e3bc245919a5ba7d106d2833bb Mon Sep 17 00:00:00 2001 From: wangsr Date: Wed, 25 Oct 2023 20:01:52 +0800 Subject: [PATCH] =?UTF-8?q?add=20-=20=E6=89=8B=E5=8A=A8=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E5=AE=8C=E6=88=90=20-=20=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E4=B8=8B=E8=BE=BE=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AutoControl/GelerWeterControl.cs | 185 +++++++++++++++--- .../AutoControl/InitAction.cs | 36 ++++ .../AutoControl/ManualAdd.Designer.cs | 105 ++++++++++ .../AutoControl/ManualAdd.cs | 70 +++++++ .../AutoControl/ManualAdd.resx | 120 ++++++++++++ .../LjPlanning/LjPlanningPlcHelp.cs | 2 - .../Mesnac.Action.ChemicalWeighing.csproj | 10 + DataBlockHelper/DBHelpers/DB2105Helper.cs | 4 +- .../EventConfig/小料称量/自动控制.xml | 8 + .../Data/MCProject/nodeForm/AutoControlC.xml | 2 +- 10 files changed, 509 insertions(+), 33 deletions(-) create mode 100644 Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/InitAction.cs create mode 100644 Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/ManualAdd.Designer.cs create mode 100644 Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/ManualAdd.cs create mode 100644 Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/ManualAdd.resx diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/GelerWeterControl.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/GelerWeterControl.cs index 0634150..9481c31 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/GelerWeterControl.cs +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/GelerWeterControl.cs @@ -17,25 +17,28 @@ using System.Windows.Forms; using Mesnac.Controls.Default; using Button = System.Windows.Forms.Button; using System.Data; +using Mesnac.Action.ChemicalWeighing.LjPlanning; +using Steema.TeeChart.Functions; namespace Mesnac.Action.ChemicalWeighing.AutoControl { internal class GelerWeterControl : ChemicalWeighingAction, IAction { - private List McControls; // 获取Query控件 + private List McControls; + RuntimeParameter _runtime; GelerWeterControlsEntity ControlsEntity = new GelerWeterControlsEntity(); + public static int choose; public void Run(RuntimeParameter runtime) { base.RunIni(runtime); //必须要调用 + this._runtime = runtime; + McControls = GetAllControls(); ControlImport(); - ControlsEntity.ChooseMaterial1.DataSource = StockMaterrialDbHelp.GetSiloMaterrial(); - ControlsEntity.ChooseMaterial2.DataSource = StockMaterrialDbHelp.GetSiloMaterrial(); - BottomSelect(runtime); } @@ -127,27 +130,45 @@ namespace Mesnac.Action.ChemicalWeighing.AutoControl { if(ControlsEntity.WetManualControl == runtime.Sender) { - + ManualAdd frm = new ManualAdd(); + choose = SingleSelect(); + DialogResult result = frm.ShowDialog(); + this._runtime.BaseControl.MCEnabled = false; + if (result == DialogResult.OK) + { + frm.Dispose(); + } + this._runtime.BaseControl.MCEnabled = true; } if (ControlsEntity.Download == runtime.Sender) { - float GelSpeed; - if (float.TryParse(Convert.ToString(ControlsEntity.GelSpeedSet.MCValue), out GelSpeed) - ) - { - - } List recipes = new List(); + int bin1 = Convert.ToInt32(ControlsEntity.ChooseMaterial1.MCValue.ToString()); + int bin2 = Convert.ToInt32(ControlsEntity.ChooseMaterial2.MCValue.ToString()); + if(bin1 == -1) + { + bin1 = 0; + } + if(bin2 == -1) + { + bin2 = 0; + } + RecipePlcView recipe1 = new RecipePlcView() { - + Bin = (ushort)bin1, + Set = Convert.ToSingle(ControlsEntity.MaterialWeight1.MCValue.ToString()), + Tolerance = Convert.ToSingle(ControlsEntity.MaterialTolerance1.MCValue.ToString()), + }; RecipePlcView recipe2 = new RecipePlcView() { - + Bin = (ushort)bin2, + Set = Convert.ToSingle(ControlsEntity.MaterialWeight2.MCValue.ToString()), + Tolerance = Convert.ToSingle(ControlsEntity.MaterialTolerance2.MCValue.ToString()), }; recipes.Add(recipe1); @@ -157,35 +178,43 @@ namespace Mesnac.Action.ChemicalWeighing.AutoControl Step step1 = new Step() { - + MixCode = 1, + MixSpeed = Convert.ToSingle(ControlsEntity.GelSpeedSet.MCValue.ToString()) }; Step step2 = new Step() { - + MixCode = 2, }; Step step3 = new Step() { - + MixCode = 3, + MixTime = Convert.ToUInt16(ControlsEntity.GelPosTimeC.MCValue.ToString()), + MixTemp = Convert.ToSingle(ControlsEntity.GelPosTimeA.MCValue.ToString()), + MixSpeed = Convert.ToSingle(ControlsEntity.GelNagTimeB.MCValue.ToString()) }; Step step4 = new Step() { - + MixCode = 4, }; Step step5 = new Step() { - + MixCode = 5, + MixTime = Convert.ToUInt16(ControlsEntity.GelWaterTime.MCValue.ToString()) }; Step step6 = new Step() { - + MixCode = 6, }; Step step7 = new Step() { - + MixCode = 5, + MixTime = Convert.ToUInt16(ControlsEntity.GelWaitTime.MCValue.ToString()) }; Step step8 = new Step() { - + MixCode = 7, + MixTime = Convert.ToUInt16(ControlsEntity.GelCloseHeatTime.MCValue.ToString()), + MixTemp = Convert.ToSingle(ControlsEntity.GelOutDelayTime.MCValue.ToString()) }; steps.Add(step1); @@ -201,23 +230,26 @@ namespace Mesnac.Action.ChemicalWeighing.AutoControl MixStep mixStep1 = new MixStep() { - + MixCode = 1, }; MixStep mixStep2 = new MixStep() { - + MixCode = 2, + SetValue = Convert.ToSingle(ControlsEntity.WetDryWeight.MCValue.ToString()) }; MixStep mixStep3 = new MixStep() { - + MixCode = 3, + MixTime = Convert.ToUInt16(ControlsEntity.WetMixTime.MCValue.ToString()) }; MixStep mixStep4 = new MixStep() { - + MixCode = 4, }; MixStep mixStep5 = new MixStep() { - + MixCode = 5, + MixTime = Convert.ToUInt16(ControlsEntity.WetOutDelayTime.MCValue.ToString()), }; mixSteps.Add(mixStep1); @@ -226,16 +258,113 @@ namespace Mesnac.Action.ChemicalWeighing.AutoControl mixSteps.Add(mixStep4); mixSteps.Add(mixStep5); + switch (SingleSelect()) + { + case 1: + LjPlanningPlcHelp.DownG1Recipe(recipes, steps); + LjPlanningPlcHelp.DownM1Recipe(mixSteps); + break; + case 2: + LjPlanningPlcHelp.DownG2Recipe(recipes, steps); + LjPlanningPlcHelp.DownM2Recipe(mixSteps); + break; + case 3: + LjPlanningPlcHelp.DownG3Recipe(recipes, steps); + LjPlanningPlcHelp.DownM3Recipe(mixSteps); + break; + case 4: + LjPlanningPlcHelp.DownG4Recipe(recipes, steps); + LjPlanningPlcHelp.DownM4Recipe(mixSteps); + break; + case 5: + LjPlanningPlcHelp.DownG5Recipe(recipes, steps); + LjPlanningPlcHelp.DownM5Recipe(mixSteps); + break; + case 6: + LjPlanningPlcHelp.DownG6Recipe(recipes, steps); + LjPlanningPlcHelp.DownM6Recipe(mixSteps); + break; + case 7: + LjPlanningPlcHelp.DownG7Recipe(recipes, steps); + LjPlanningPlcHelp.DownM7Recipe(mixSteps); + break; + case 8: + LjPlanningPlcHelp.DownG8Recipe(recipes, steps); + LjPlanningPlcHelp.DownM8Recipe(mixSteps); + break; + default: + MessageBox.Show("请选择一条产线!"); + return; + } + } if (ControlsEntity.LineStart == runtime.Sender) { - + switch (SingleSelect()) + { + case 1: + DB2105WriteHelper.WriteStartJob1(); + break; + case 2: + DB2105WriteHelper.WriteStartJob2(); + break; + case 3: + DB2105WriteHelper.WriteStartJob3(); + break; + case 4: + DB2105WriteHelper.WriteStartJob4(); + break; + case 5: + DB2105WriteHelper.WriteStartJob5(); + break; + case 6: + DB2105WriteHelper.WriteStartJob6(); + break; + case 7: + DB2105WriteHelper.WriteStartJob7(); + break; + case 8: + DB2105WriteHelper.WriteStartJob8(); + break; + default: + MessageBox.Show("请选择一条产线!"); + return; + } } if (ControlsEntity.LineStop == runtime.Sender) { - + switch (SingleSelect()) + { + case 1: + DB2105WriteHelper.WriteStopJob1(); + break; + case 2: + DB2105WriteHelper.WriteStopJob2(); + break; + case 3: + DB2105WriteHelper.WriteStopJob3(); + break; + case 4: + DB2105WriteHelper.WriteStopJob4(); + break; + case 5: + DB2105WriteHelper.WriteStopJob5(); + break; + case 6: + DB2105WriteHelper.WriteStopJob6(); + break; + case 7: + DB2105WriteHelper.WriteStopJob7(); + break; + case 8: + DB2105WriteHelper.WriteStopJob8(); + break; + default: + MessageBox.Show("请选择一条产线!"); + return; + } } } diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/InitAction.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/InitAction.cs new file mode 100644 index 0000000..1defa70 --- /dev/null +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/InitAction.cs @@ -0,0 +1,36 @@ +using Mesnac.Action.Base; +using Mesnac.Action.ChemicalWeighing.AutoControl.DB; +using Mesnac.Action.ChemicalWeighing.AutoControl.Entity; +using Mesnac.Controls.Default; +using Microsoft.Office.Interop.Excel; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using IAction = Mesnac.Action.Base.IAction; + +namespace Mesnac.Action.ChemicalWeighing.AutoControl +{ + public class InitAction : ChemicalWeighingAction, IAction + { + GelerWeterControlsEntity ControlsEntity = new GelerWeterControlsEntity(); + private List McControls; + + public void Run(RuntimeParameter runtime) + { + + base.RunIni(runtime); //必须要调用 + + McControls = GetAllControls(); + + ControlsEntity.ChooseMaterial1 = McControls.First(x => x.Name == "ChooseMaterial1") as MCCombobox; + ControlsEntity.ChooseMaterial2 = McControls.First(x => x.Name == "ChooseMaterial2") as MCCombobox; + + ControlsEntity.ChooseMaterial1.DataSource = StockMaterrialDbHelp.GetSiloMaterrial(); + ControlsEntity.ChooseMaterial2.DataSource = StockMaterrialDbHelp.GetSiloMaterrial(); + + } + } +} diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/ManualAdd.Designer.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/ManualAdd.Designer.cs new file mode 100644 index 0000000..c8a53fc --- /dev/null +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/ManualAdd.Designer.cs @@ -0,0 +1,105 @@ +namespace Mesnac.Action.ChemicalWeighing.AutoControl +{ + partial class ManualAdd + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.ManualWeight = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.button1 = new System.Windows.Forms.Button(); + this.label2 = new System.Windows.Forms.Label(); + this.ManualTolerance = new System.Windows.Forms.TextBox(); + this.SuspendLayout(); + // + // ManualWeight + // + this.ManualWeight.Location = new System.Drawing.Point(118, 50); + this.ManualWeight.Name = "ManualWeight"; + this.ManualWeight.Size = new System.Drawing.Size(121, 25); + this.ManualWeight.TabIndex = 0; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(60, 54); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(52, 15); + this.label1.TabIndex = 1; + this.label1.Text = "重量:"; + // + // button1 + // + this.button1.Location = new System.Drawing.Point(63, 147); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(176, 51); + this.button1.TabIndex = 2; + this.button1.Text = "确认"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(60, 85); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(52, 15); + this.label2.TabIndex = 4; + this.label2.Text = "公差:"; + // + // ManualTolerance + // + this.ManualTolerance.Location = new System.Drawing.Point(118, 81); + this.ManualTolerance.Name = "ManualTolerance"; + this.ManualTolerance.Size = new System.Drawing.Size(121, 25); + this.ManualTolerance.TabIndex = 3; + // + // ManualAdd + // + this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(312, 236); + this.Controls.Add(this.label2); + this.Controls.Add(this.ManualTolerance); + this.Controls.Add(this.button1); + this.Controls.Add(this.label1); + this.Controls.Add(this.ManualWeight); + this.Name = "ManualAdd"; + this.Text = "手动加粉"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox ManualWeight; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Button button1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox ManualTolerance; + } +} \ No newline at end of file diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/ManualAdd.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/ManualAdd.cs new file mode 100644 index 0000000..980a9d7 --- /dev/null +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/ManualAdd.cs @@ -0,0 +1,70 @@ +using DataBlockHelper.DBHelpers; +using Mesnac.Action.ChemicalWeighing.AutoControl.Entity; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Mesnac.Action.ChemicalWeighing.AutoControl +{ + public partial class ManualAdd : Form + { + public ManualAdd() + { + InitializeComponent(); + } + + private void button1_Click(object sender, EventArgs e) + { + SetValue value = new SetValue() + { + Value = Convert.ToSingle(ManualTolerance.Text), + Toterance = Convert.ToSingle(ManualWeight.Text) + }; + + switch (GelerWeterControl.choose) + { + case 1: + DB2105WriteHelper.WriteManScrewH1(); + DB2105WriteHelper.WriteSetValueH1(value); + break; + case 2: + DB2105WriteHelper.WriteManScrewH2(); + DB2105WriteHelper.WriteSetValueH1(value); + break; + case 3: + DB2105WriteHelper.WriteManScrewH3(); + DB2105WriteHelper.WriteSetValueH2(value); + break; + case 4: + DB2105WriteHelper.WriteManScrewH4(); + DB2105WriteHelper.WriteSetValueH2(value); + break; + case 5: + DB2105WriteHelper.WriteManScrewH5(); + DB2105WriteHelper.WriteSetValueH3(value); + break; + case 6: + DB2105WriteHelper.WriteManScrewH6(); + DB2105WriteHelper.WriteSetValueH3(value); + break; + case 7: + DB2105WriteHelper.WriteManScrewH7(); + DB2105WriteHelper.WriteSetValueH4(value); + break; + case 8: + DB2105WriteHelper.WriteManScrewH8(); + DB2105WriteHelper.WriteSetValueH4(value); + break; + default: + MessageBox.Show("当前未选择产线!"); + return; + } + } + } +} diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/ManualAdd.resx b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/ManualAdd.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/AutoControl/ManualAdd.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjPlanning/LjPlanningPlcHelp.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjPlanning/LjPlanningPlcHelp.cs index 5ad27b6..8ac4aa7 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjPlanning/LjPlanningPlcHelp.cs +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/LjPlanning/LjPlanningPlcHelp.cs @@ -447,7 +447,6 @@ namespace Mesnac.Action.ChemicalWeighing.LjPlanning } - #region 辅助方法 public static DryerView GetDryerD1 => GetDryerView(58); public static DryerView GetDryerD2 => GetDryerView(298); @@ -770,7 +769,6 @@ namespace Mesnac.Action.ChemicalWeighing.LjPlanning return ls; } - #endregion diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Mesnac.Action.ChemicalWeighing.csproj b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Mesnac.Action.ChemicalWeighing.csproj index 7560737..f565eb4 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Mesnac.Action.ChemicalWeighing.csproj +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Mesnac.Action.ChemicalWeighing.csproj @@ -225,6 +225,13 @@ + + + Form + + + ManualAdd.cs + @@ -723,6 +730,9 @@ FrmInsert.cs + + ManualAdd.cs + FrmBin.cs diff --git a/DataBlockHelper/DBHelpers/DB2105Helper.cs b/DataBlockHelper/DBHelpers/DB2105Helper.cs index 2cccf1d..d8e04dd 100644 --- a/DataBlockHelper/DBHelpers/DB2105Helper.cs +++ b/DataBlockHelper/DBHelpers/DB2105Helper.cs @@ -96,8 +96,8 @@ namespace DataBlockHelper.DBHelpers ls.Add(new SetValue() { No = no, - Value = PlcConnect.Instance.ByteTransform.TransSingle(b,0), - Toterance = PlcConnect.Instance.ByteTransform.TransSingle(b,4), + Value = PlcConnect.Instance.ByteTransform.TransSingle(b,0), + Toterance = PlcConnect.Instance.ByteTransform.TransSingle(b,4), }); start += 8; } diff --git a/Main/MCEdit/Data/EventConfig/小料称量/自动控制.xml b/Main/MCEdit/Data/EventConfig/小料称量/自动控制.xml index 1d541c9..30325b9 100644 --- a/Main/MCEdit/Data/EventConfig/小料称量/自动控制.xml +++ b/Main/MCEdit/Data/EventConfig/小料称量/自动控制.xml @@ -10,6 +10,10 @@ 湿混糊化机控制 湿混糊化机控制 + + 界面初始化 + 界面初始化 + @@ -21,12 +25,16 @@ + + + + \ No newline at end of file diff --git a/Main/MCEdit/Data/MCProject/nodeForm/AutoControlC.xml b/Main/MCEdit/Data/MCProject/nodeForm/AutoControlC.xml index de43051..baada35 100644 --- a/Main/MCEdit/Data/MCProject/nodeForm/AutoControlC.xml +++ b/Main/MCEdit/Data/MCProject/nodeForm/AutoControlC.xml @@ -1157,7 +1157,7 @@ 9 - AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAAAAAAAAAAABwMAAAAAAQAAAAAAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAL + AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAEAAAACAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAJBAAAAA0DBQQAAAAhTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uAwAAABU8R1VJRD5rX19CYWNraW5nRmllbGQVPE5hbWU+a19fQmFja2luZ0ZpZWxkFzxSZW1hcms+a19fQmFja2luZ0ZpZWxkAQEBAgAAAAYFAAAAIDhBNTZDMEI3QkNFNDRBRTY4MzUyMjFDQUEzRTExMzBFBgYAAAAP55WM6Z2i5Yid5aeL5YyWBgcAAAAP55WM6Z2i5Yid5aeL5YyWCw== AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAAAAAAAAAAABwMAAAAAAQAAAAAAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAAL