правим всплывающий список

This commit is contained in:
klavirshik 2024-08-29 19:17:35 +02:00
parent 6af2875ad1
commit 38b5531fb0
3 changed files with 151 additions and 104 deletions

View File

@ -195,6 +195,7 @@
this.flowLayoutPanel1.Size = new System.Drawing.Size(396, 657); this.flowLayoutPanel1.Size = new System.Drawing.Size(396, 657);
this.flowLayoutPanel1.TabIndex = 0; this.flowLayoutPanel1.TabIndex = 0;
this.flowLayoutPanel1.WrapContents = false; this.flowLayoutPanel1.WrapContents = false;
this.flowLayoutPanel1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.tabControl1_MouseClick);
// //
// tabPage2 // tabPage2
// //
@ -376,6 +377,7 @@
this.tabPage4.TabIndex = 3; this.tabPage4.TabIndex = 3;
this.tabPage4.Text = "Настройки"; this.tabPage4.Text = "Настройки";
this.tabPage4.UseVisualStyleBackColor = true; this.tabPage4.UseVisualStyleBackColor = true;
this.tabPage4.MouseClick += new System.Windows.Forms.MouseEventHandler(this.tabControl1_MouseClick);
// //
// button4 // button4
// //
@ -398,6 +400,7 @@
this.tabPage5.TabIndex = 4; this.tabPage5.TabIndex = 4;
this.tabPage5.Text = "О программе"; this.tabPage5.Text = "О программе";
this.tabPage5.UseVisualStyleBackColor = true; this.tabPage5.UseVisualStyleBackColor = true;
this.tabPage5.MouseClick += new System.Windows.Forms.MouseEventHandler(this.tabControl1_MouseClick);
// //
// pictureBox1 // pictureBox1
// //
@ -437,9 +440,11 @@
this.tb_comp.Name = "tb_comp"; this.tb_comp.Name = "tb_comp";
this.tb_comp.Size = new System.Drawing.Size(210, 20); this.tb_comp.Size = new System.Drawing.Size(210, 20);
this.tb_comp.TabIndex = 5; this.tb_comp.TabIndex = 5;
this.tb_comp.MouseClick += new System.Windows.Forms.MouseEventHandler(this.tb_comp_MouseClick);
this.tb_comp.TextChanged += new System.EventHandler(this.cb_comp_TextUpdate); this.tb_comp.TextChanged += new System.EventHandler(this.cb_comp_TextUpdate);
this.tb_comp.Enter += new System.EventHandler(this.tb_comp_Enter); this.tb_comp.Enter += new System.EventHandler(this.tb_comp_Enter);
this.tb_comp.Leave += new System.EventHandler(this.tb_comp_Leave); this.tb_comp.Leave += new System.EventHandler(this.tb_comp_Leave);
this.tb_comp.MouseCaptureChanged += new System.EventHandler(this.control_MouseCaptureChanged);
// //
// checkControl1 // checkControl1
// //

View File

@ -22,7 +22,6 @@ namespace Reseter2
{ {
//private FormHistory formHistory; //private FormHistory formHistory;
//System.Windows.Forms.CheckBox //System.Windows.Forms.CheckBox
private System.Windows.Forms.ListBox listBox;
private bool unSave; private bool unSave;
private bool FocusContext; private bool FocusContext;
private object selectItem; private object selectItem;
@ -30,7 +29,8 @@ namespace Reseter2
public event saveSetting Save; public event saveSetting Save;
public delegate void updateSetting(); public delegate void updateSetting();
public event updateSetting UpdateSetting; public event updateSetting UpdateSetting;
private ListBox ListComp;
private bool listFocus;
public Form1() public Form1()
{ {
@ -38,15 +38,15 @@ namespace Reseter2
//FileStream file = new FileStream("res.dat", FileMode.OpenOrCreate); //FileStream file = new FileStream("res.dat", FileMode.OpenOrCreate);
//try //try
//{ //{
//HistoryList.Hitem = (List<HistoryItem>)binaryFormatter.Deserialize(file); //HistoryList.Hitem = (List<HistoryItem>)binaryFormatter.Deserialize(file);
//file.Close(); //file.Close();
//file.Dispose(); //file.Dispose();
//} //}
//catch //catch
//{ //{
// file.Close(); // file.Close();
// file.Dispose(); // file.Dispose();
// MessageBox.Show("Ошибка чтения конфигурационных файлов.\n Перезапустите программу.", "Критическая ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); // MessageBox.Show("Ошибка чтения конфигурационных файлов.\n Перезапустите программу.", "Критическая ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
@ -55,24 +55,21 @@ namespace Reseter2
SGlobalSetting.LoadSetting(); SGlobalSetting.LoadSetting();
WordsList.MainCategory = SGlobalSetting.LoadWords();
this.listBox = new ListBox(); WordsList.MainCategory = SGlobalSetting.LoadWords();
this.Controls.Add(listBox); ListComp = new ListBox();
this.Controls.Add(ListComp);
// this.listBox. ListComp.LostFocus += tb_comp_Leave;
ListComp.GotFocus += tb_comp_Enter;
// ListComp.Enter += tb_comp_Enter;
// ListComp.MouseClick += tb_comp_MouseClick;
InitializeComponent(); InitializeComponent();
this.listBox.Location = new Point(tb_comp.Location.X, tb_comp.Location.Y+ tb_comp.Height);
this.listBox.Width = tb_comp.Width;
this.listBox.Height = tb_comp.Height*5;
this.listBox.Items.Add("Введите строку");
this.listBox.Leave += tb_comp_Leave;
this.listBox.Enter += tb_comp_Enter;
this.listBox.Visible = false;
this.Save += settingWordsControl1.Save; this.Save += settingWordsControl1.Save;
this.Save += settingSCCMControl1.Save; this.Save += settingSCCMControl1.Save;
this.Save += settingRebootControl1.Save; this.Save += settingRebootControl1.Save;
@ -81,12 +78,19 @@ namespace Reseter2
this.UpdateSetting += settingSCCMControl1.UpdateSetting; this.UpdateSetting += settingSCCMControl1.UpdateSetting;
this.UpdateSetting += settingRebootControl1.UpdateSetting; this.UpdateSetting += settingRebootControl1.UpdateSetting;
this.settingWordsControl1.UpdateTree = UpdateTree; this.settingWordsControl1.UpdateTree = UpdateTree;
// cb_comp.DropDownStyle = ComboBoxStyle.DropDown;
ListComp.Location = new Point(tb_comp.Location.X, tb_comp.Location.Y + tb_comp.Height);
ListComp.Width = tb_comp.Width;
ListComp.Visible = false;
//tb_comp.Controls.Add(ListComp);
checkControl1.updateCheck += CheckControl1_updateCheck; checkControl1.updateCheck += CheckControl1_updateCheck;
flowLayoutPanel1.AutoScrollMinSize = new Size(0, 658) ; flowLayoutPanel1.AutoScrollMinSize = new Size(0, 658);
flowLayoutPanel1.VerticalScroll.Visible = true; flowLayoutPanel1.VerticalScroll.Visible = true;
Reseter.SetForm(flowLayoutPanel1, this); Reseter.SetForm(flowLayoutPanel1, this);
HistoryList.Update += Update_lb; HistoryList.Update += Update_lb;
lb_history.DataSource = HistoryList.Hitem; lb_history.DataSource = HistoryList.Hitem;
@ -100,7 +104,7 @@ namespace Reseter2
tabControl1.SelectedIndex = 1; tabControl1.SelectedIndex = 1;
} }
public void UpdateTree() public void UpdateTree()
{ {
@ -130,8 +134,8 @@ namespace Reseter2
{ {
int Act; int Act;
int Cls; int Cls;
Reseter.Tick(out Act,out Cls) ; Reseter.Tick(out Act, out Cls);
if (Act>0) if (Act > 0)
{ {
ss_activ.Text = "Активно:" + Act; ss_activ.Text = "Активно:" + Act;
} }
@ -163,11 +167,11 @@ namespace Reseter2
lb_history.DisplayMember = "ToStr"; lb_history.DisplayMember = "ToStr";
} }
private void sm_RebootItem_Click(object sender, EventArgs e) private void sm_RebootItem_Click(object sender, EventArgs e)
{ {
if(selectItem is HistoryItem historyItem) if (selectItem is HistoryItem historyItem)
{ {
Reseter.AddTask(historyItem.GetComp()); Reseter.AddTask(historyItem.GetComp());
tabControl1.SelectedIndex = 0; tabControl1.SelectedIndex = 0;
@ -176,17 +180,17 @@ namespace Reseter2
private void lb_history_MouseMove(object sender, MouseEventArgs e) private void lb_history_MouseMove(object sender, MouseEventArgs e)
{ {
lb_history.SelectedIndex = lb_history.IndexFromPoint(e.Location); lb_history.SelectedIndex = lb_history.IndexFromPoint(e.Location);
} }
private void lb_history_MouseLeave(object sender, EventArgs e) private void lb_history_MouseLeave(object sender, EventArgs e)
{ {
if(!FocusContext) if (!FocusContext)
{ {
lb_history.SelectedIndex = -1; lb_history.SelectedIndex = -1;
} }
} }
private void cm_history_Opening(object sender, CancelEventArgs e) private void cm_history_Opening(object sender, CancelEventArgs e)
@ -197,13 +201,13 @@ namespace Reseter2
private void lb_history_MouseDown(object sender, MouseEventArgs e) private void lb_history_MouseDown(object sender, MouseEventArgs e)
{ {
// lb_history.SelectedIndex = lb_history.IndexFromPoint(e.Location); // lb_history.SelectedIndex = lb_history.IndexFromPoint(e.Location);
} }
private void cm_history_Closed(object sender, ToolStripDropDownClosedEventArgs e) private void cm_history_Closed(object sender, ToolStripDropDownClosedEventArgs e)
{ {
// selectItem = null; // selectItem = null;
FocusContext = false; FocusContext = false;
} }
@ -213,7 +217,7 @@ namespace Reseter2
bilderWords.ShowDialog(); bilderWords.ShowDialog();
} }
private void Form1_Load(object sender, EventArgs e) private void Form1_Load(object sender, EventArgs e)
{ {
@ -229,11 +233,11 @@ namespace Reseter2
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e) private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
{ {
// treeView1_treeViewChangeCheckBox(e.Node); // treeView1_treeViewChangeCheckBox(e.Node);
} }
private void treeView1_treeViewChangeCheckBox(TreeNode treeNode) private void treeView1_treeViewChangeCheckBox(TreeNode treeNode)
{ {
for (int i = 0; i < treeNode.Nodes.Count; i++) for (int i = 0; i < treeNode.Nodes.Count; i++)
@ -255,7 +259,7 @@ namespace Reseter2
{ {
if (treeNode.Nodes.Count == 0) if (treeNode.Nodes.Count == 0)
{ {
if(treeNode.Checked) if (treeNode.Checked)
{ {
return 1; return 1;
} }
@ -270,20 +274,20 @@ namespace Reseter2
int nodeCheked = 0; int nodeCheked = 0;
for (int i = 0; i < treeNode.Nodes.Count; i++) for (int i = 0; i < treeNode.Nodes.Count; i++)
{ {
if(treeView1_treeViewChangeRootCheckBox(treeNode.Nodes[i]) == 2) nedoCheked = true; if (treeView1_treeViewChangeRootCheckBox(treeNode.Nodes[i]) == 2) nedoCheked = true;
if (treeNode.Nodes[i].StateImageIndex == 1) nodeCheked++; if (treeNode.Nodes[i].StateImageIndex == 1) nodeCheked++;
//treeNo //treeNo
} }
int Cheked = 0; int Cheked = 0;
if (treeNode.Nodes.Count == nodeCheked) if (treeNode.Nodes.Count == nodeCheked)
{ {
Cheked = 1; Cheked = 1;
treeNode.Checked = true; treeNode.Checked = true;
treeNode.StateImageIndex = 1; treeNode.StateImageIndex = 1;
} }
else if(nodeCheked == 0) else if (nodeCheked == 0)
{ {
Cheked = 0; Cheked = 0;
treeNode.Checked = false; treeNode.Checked = false;
@ -296,37 +300,37 @@ namespace Reseter2
Cheked = 2; Cheked = 2;
} }
return Cheked; return Cheked;
} }
} }
private void treeView1_ChangePrentRootCheckBox(TreeNode treeNode) private void treeView1_ChangePrentRootCheckBox(TreeNode treeNode)
{ {
if (treeNode.Parent != null) if (treeNode.Parent != null)
{ {
//treeView1_treeViewChangeRootCheckBox(treeNode.Parent); //treeView1_treeViewChangeRootCheckBox(treeNode.Parent);
treeView1_ChangePrentRootCheckBox(treeNode.Parent); treeView1_ChangePrentRootCheckBox(treeNode.Parent);
} }
} }
private void treeView1_DoubleClick(object sender, EventArgs e) private void treeView1_DoubleClick(object sender, EventArgs e)
{ {
} }
private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e) private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{ {
if (e.Button == MouseButtons.Left && e.Node.Tag is WordsComp) if (e.Button == MouseButtons.Left && e.Node.Tag is WordsComp)
{ {
WordsComp wordsComp = (WordsComp)e.Node.Tag; WordsComp wordsComp = (WordsComp)e.Node.Tag;
DialogResult result = MessageBox.Show("Перезагрузить ПК: " + wordsComp.NameNode(),"Создание новой задачи", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); DialogResult result = MessageBox.Show("Перезагрузить ПК: " + wordsComp.NameNode(), "Создание новой задачи", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if(result == DialogResult.Yes) if (result == DialogResult.Yes)
{ {
Reseter.AddTask(wordsComp.GetComp()); Reseter.AddTask(wordsComp.GetComp());
tabControl1.SelectedIndex = 0; tabControl1.SelectedIndex = 0;
@ -336,7 +340,7 @@ namespace Reseter2
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{ {
TreeView tree = (TreeView)sender; TreeView tree = (TreeView)sender;
Rectangle BoundsNode = new(e.Node.Bounds.X - 43, e.Node.Bounds.Y, e.Node.Bounds.Width + 43, e.Node.Bounds.Height); Rectangle BoundsNode = new(e.Node.Bounds.X - 43, e.Node.Bounds.Y, e.Node.Bounds.Width + 43, e.Node.Bounds.Height);
@ -351,10 +355,10 @@ namespace Reseter2
{ {
tree.SelectedNode = null; tree.SelectedNode = null;
} }
} }
//tree.BeginUpdate(); //tree.BeginUpdate();
Rectangle BoundsIcon = new(e.Node.Bounds.X -43, e.Node.Bounds.Y + 2, 17, 18); Rectangle BoundsIcon = new(e.Node.Bounds.X - 43, e.Node.Bounds.Y + 2, 17, 18);
if (e.Button == MouseButtons.Left && BoundsIcon.Contains(e.Location)) if (e.Button == MouseButtons.Left && BoundsIcon.Contains(e.Location))
{ {
e.Node.Checked = !e.Node.Checked; e.Node.Checked = !e.Node.Checked;
@ -365,19 +369,19 @@ namespace Reseter2
else else
{ {
e.Node.StateImageIndex = 0; e.Node.StateImageIndex = 0;
} }
treeView1_treeViewChangeCheckBox(e.Node); treeView1_treeViewChangeCheckBox(e.Node);
treeView1_ChangePrentRootCheckBox(e.Node); treeView1_ChangePrentRootCheckBox(e.Node);
CheckControl1_interdmet(); CheckControl1_interdmet();
} }
// for (int i = 0; i < tree.Nodes.Count; i++) // for (int i = 0; i < tree.Nodes.Count; i++)
// { // {
// treeView1_treeViewChangeRootCheckBox(tree.Nodes[i]); // treeView1_treeViewChangeRootCheckBox(tree.Nodes[i]);
// } // }
} }
@ -389,7 +393,7 @@ namespace Reseter2
//TreeView tree = (TreeView)sender; //TreeView tree = (TreeView)sender;
//treeView1_treeViewChangeCheckBox(tree.Nodes[0]); //treeView1_treeViewChangeCheckBox(tree.Nodes[0]);
} }
private List<IComp> treeViewCheckOn(TreeNode node) private List<IComp> treeViewCheckOn(TreeNode node)
@ -415,14 +419,15 @@ namespace Reseter2
{ {
comps.AddRange(treeViewCheckOn(treeView1.Nodes[i])); comps.AddRange(treeViewCheckOn(treeView1.Nodes[i]));
} }
if(comps.Count == 0) if (comps.Count == 0)
{ {
MessageBox.Show("Не выбранно ни одного ПК"); MessageBox.Show("Не выбранно ни одного ПК");
return; return;
} }
DialogResult result = MessageBox.Show("Будет перезагруженно " + comps.Count() + " компьютеров.\nПродолжить?", DialogResult result = MessageBox.Show("Будет перезагруженно " + comps.Count() + " компьютеров.\nПродолжить?",
"Запуск многопоточной перезагрузки.", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); "Запуск многопоточной перезагрузки.", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (result == DialogResult.Yes) { if (result == DialogResult.Yes)
{
Reseter.AddTask(comps); Reseter.AddTask(comps);
checkControl1.set_state(false); checkControl1.set_state(false);
CheckControl1_updateCheck(false); CheckControl1_updateCheck(false);
@ -455,24 +460,24 @@ namespace Reseter2
private void CheckControl1_interdmet() private void CheckControl1_interdmet()
{ {
int chek_inter = 0; int chek_inter = 0;
int summ = 0; int summ = 0;
for (int i = 0; i < treeView1.Nodes.Count; i++) for (int i = 0; i < treeView1.Nodes.Count; i++)
{ {
int check = treeView1_treeViewChangeRootCheckBox(treeView1.Nodes[i]); int check = treeView1_treeViewChangeRootCheckBox(treeView1.Nodes[i]);
if (2 == check) chek_inter++; if (2 == check) chek_inter++;
if (1 == check) summ++; if (1 == check) summ++;
} }
if(treeView1.Nodes.Count == summ ) if (treeView1.Nodes.Count == summ)
{ {
checkControl1.set_state(true); checkControl1.set_state(true);
} }
else if(0 == summ) else if (0 == summ)
{ {
checkControl1.set_state(false); checkControl1.set_state(false);
} }
if ((summ < treeView1.Nodes.Count && summ > 0) || chek_inter > 0) if ((summ < treeView1.Nodes.Count && summ > 0) || chek_inter > 0)
{ {
checkControl1.set_intedmet(); checkControl1.set_intedmet();
} }
@ -503,15 +508,15 @@ namespace Reseter2
unSave = true; unSave = true;
UpdateSetting(); UpdateSetting();
} }
} }
else else
{ {
if(unSave && (settingRebootControl1.edited() || if (unSave && (settingRebootControl1.edited() ||
settingSCCMControl1.edited() || settingSCCMControl1.edited() ||
settingWordsControl1.edited())) settingWordsControl1.edited()))
{ {
DialogResult result = MessageBox.Show("Изменения не сохраненны. Продолжить?", "Изменения не сохраненны.", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); DialogResult result = MessageBox.Show("Изменения не сохраненны. Продолжить?", "Изменения не сохраненны.", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
switch (result) switch (result)
{ {
case DialogResult.Cancel: case DialogResult.Cancel:
@ -521,8 +526,8 @@ namespace Reseter2
unSave = false; unSave = false;
break; break;
} }
} }
} }
} }
@ -534,7 +539,7 @@ namespace Reseter2
private void WordsReboot_Click(object sender, EventArgs e) private void WordsReboot_Click(object sender, EventArgs e)
{ {
if(treeView1.SelectedNode.Tag is WordsComp) if (treeView1.SelectedNode.Tag is WordsComp)
{ {
WordsComp wordsComp = (WordsComp)treeView1.SelectedNode.Tag; WordsComp wordsComp = (WordsComp)treeView1.SelectedNode.Tag;
@ -545,47 +550,84 @@ namespace Reseter2
tabControl1.SelectedIndex = 0; tabControl1.SelectedIndex = 0;
} }
} }
} }
private void cb_comp_TextUpdate(object sender, EventArgs e) private void cb_comp_TextUpdate(object sender, EventArgs e)
{ {
Cursor.Current = Cursors.Default; Cursor.Current = Cursors.Default;
if(sender is ComboBox) if (sender is ComboBox)
{ {
ComboBox comboBox = (ComboBox)sender; ComboBox comboBox = (ComboBox)sender;
SSeaher.seaherMetod.Change(cb_comp_ResultUpdate, comboBox.Text); SSeaher.seaherMetod.Change(cb_comp_ResultUpdate, comboBox.Text);
} }
} }
public void cb_comp_ResultUpdate(List<string> Items) public void cb_comp_ResultUpdate(List<string> Items)
{ {
//if (Items.Count > 0) // if(cb_comp.Items.Count != Items.Count) cb_comp.DroppedDown = false;
// cb_comp.Items.Clear();
// cb_comp.Items.AddRange(Items.ToArray());
//// cb_comp.AutoCompleteCustomSource.Clear();
//// cb_comp.AutoCompleteCustomSource.AddRange(Items.ToArray());
//if(cb_comp.Items.Count != Items.Count) cb_comp.DroppedDown = false; // // cb_comp.AutoCompleteMode = AutoCompleteMode.None;
// cb_comp.Items.Clear(); // cb_comp.SelectionStart = cb_comp.Text.Length;
// cb_comp.Items.AddRange(Items.ToArray()); // cb_comp.DroppedDown = true;
//cb_comp.AutoCompleteCustomSource.Clear();
//// cb_comp.AutoCompleteCustomSource.AddRange(Items.ToArray());
// // cb_comp.AutoCompleteMode = AutoCompleteMode.None; // cb_comp.SelectedIndex = -1;
// cb_comp.SelectionStart = cb_comp.Text.Length;
// cb_comp.DroppedDown = true;
// cb_comp.SelectedIndex = -1;
}
private void tb_comp_Leave(object sender, EventArgs e)
{
if(listBox.Focused || tb_comp.Focused) listBox.Visible = false;
} }
private void tb_comp_Enter(object sender, EventArgs e) private void tb_comp_Enter(object sender, EventArgs e)
{ {
listBox.Visible = true; ListComp.Visible = true;
} }
private void tb_comp_MouseClick(object sender, MouseEventArgs e)
{
ListComp.Visible = true;
System.Console.WriteLine("click");
}
private void tb_comp_Leave(object sender, EventArgs e)
{
// System.Console.WriteLine("leav" + ListComp.Focused.ToString());
// if (!listFocus) ListComp.Visible = false;
//listFocus = false;
// if (!ListComp.Focused) ListComp.Visible = false;
}
private void tabControl1_MouseClick(object sender, MouseEventArgs e)
{
//ListComp.foc
// ListComp.Visible = false;
}
private void control_MouseCaptureChanged(object sender, EventArgs e)
{
Point clickPoint = ListComp.PointToClient(Cursor.Position);
if (!ListComp.Bounds.Contains(clickPoint))
{
// System.Console.WriteLine("out");
}
}
protected override void WndProc(ref Message m)
{
if ((m.Msg == 0x210 && m.WParam.ToInt32() == 513) || m.Msg == 0x201)
{
Point clickPoint = this.PointToClient(Cursor.Position);
if (!ListComp.Bounds.Contains(clickPoint))
{
ListComp.Visible = false;
}
System.Console.WriteLine("clickers");
}
base.WndProc(ref m);
}
} }
} }

View File

@ -131,7 +131,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACk ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACk
UQAAAk1TRnQBSQFMAgEBCQEAAZABBQGQAQUBGAEAARgBAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAFg UQAAAk1TRnQBSQFMAgEBCQEAAZgBBgGYAQYBGAEAARgBAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAFg
AwABSAMAAQEBAAEQBgABNhIAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/ AwABSAMAAQEBAAEQBgABNhIAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/kAAB/wF/ AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/kAAB/wF/
Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/ Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/
@ -490,7 +490,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABQ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABQ
CgAAAk1TRnQBSQFMAgEBAwEAATABBAEwAQQBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo CgAAAk1TRnQBSQFMAgEBAwEAATgBBQE4AQUBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA