diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/FrmLineCoordinate.designer.cs b/FrmLineCoordinate.designer.cs index 3149abf..0a3fbb7 100644 --- a/FrmLineCoordinate.designer.cs +++ b/FrmLineCoordinate.designer.cs @@ -138,6 +138,7 @@ this.checkBoxX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.checkBoxX3.TabIndex = 88; this.checkBoxX3.Text = "管沟"; + this.checkBoxX3.Visible = false; this.checkBoxX3.CheckedChanged += new System.EventHandler(this.checkBoxX3_CheckedChanged); // // checkBoxX2 diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/FrmLineCoordinate.designer.cs b/FrmLineCoordinate.designer.cs index 3149abf..0a3fbb7 100644 --- a/FrmLineCoordinate.designer.cs +++ b/FrmLineCoordinate.designer.cs @@ -138,6 +138,7 @@ this.checkBoxX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.checkBoxX3.TabIndex = 88; this.checkBoxX3.Text = "管沟"; + this.checkBoxX3.Visible = false; this.checkBoxX3.CheckedChanged += new System.EventHandler(this.checkBoxX3_CheckedChanged); // // checkBoxX2 diff --git a/FrmpipeDeepstatis.Designer.cs b/FrmpipeDeepstatis.Designer.cs index ef5a119..2627350 100644 --- a/FrmpipeDeepstatis.Designer.cs +++ b/FrmpipeDeepstatis.Designer.cs @@ -36,13 +36,11 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -53,6 +51,7 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.dataGridViewX2 = new DevComponents.DotNetBar.Controls.DataGridViewX(); this.下限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.上限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,42 +69,18 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(123, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 9; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(123, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 6; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -139,14 +114,14 @@ this.条数, this.总长度}); this.dataGridViewX1.ContextMenuStrip = this.contextMenuStrip1; - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(3, 3); @@ -206,6 +181,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(786, 304); + this.chart1.TabIndex = 3; + this.chart1.Text = "chart1"; + // // dataGridViewX2 // this.dataGridViewX2.AllowUserToAddRows = false; @@ -213,14 +204,14 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.下限, this.上限}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; this.dataGridViewX2.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(493, 23); @@ -234,18 +225,18 @@ // // 下限 // - dataGridViewCellStyle1.Format = "N2"; - dataGridViewCellStyle1.NullValue = null; - this.下限.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.Format = "N2"; + dataGridViewCellStyle2.NullValue = null; + this.下限.DefaultCellStyle = dataGridViewCellStyle2; this.下限.HeaderText = "下限"; this.下限.Name = "下限"; this.下限.Width = 60; // // 上限 // - dataGridViewCellStyle6.Format = "N2"; - dataGridViewCellStyle6.NullValue = null; - this.上限.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle3.Format = "N2"; + dataGridViewCellStyle3.NullValue = null; + this.上限.DefaultCellStyle = dataGridViewCellStyle3; this.上限.HeaderText = "上限"; this.上限.Name = "上限"; this.上限.Width = 60; @@ -453,7 +444,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX2, 2, 0); this.tableLayoutPanel2.Controls.Add(this.lstpipeRadius, 2, 1); this.tableLayoutPanel2.Controls.Add(this.dataGridViewX2, 4, 1); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); @@ -467,21 +457,17 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(800, 194); this.tableLayoutPanel2.TabIndex = 11; // - // chart1 + // buttonX8 // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(786, 304); - this.chart1.TabIndex = 3; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(123, 23); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // FrmpipeDeepstatis // @@ -503,18 +489,16 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -543,5 +527,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/FrmLineCoordinate.designer.cs b/FrmLineCoordinate.designer.cs index 3149abf..0a3fbb7 100644 --- a/FrmLineCoordinate.designer.cs +++ b/FrmLineCoordinate.designer.cs @@ -138,6 +138,7 @@ this.checkBoxX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.checkBoxX3.TabIndex = 88; this.checkBoxX3.Text = "管沟"; + this.checkBoxX3.Visible = false; this.checkBoxX3.CheckedChanged += new System.EventHandler(this.checkBoxX3_CheckedChanged); // // checkBoxX2 diff --git a/FrmpipeDeepstatis.Designer.cs b/FrmpipeDeepstatis.Designer.cs index ef5a119..2627350 100644 --- a/FrmpipeDeepstatis.Designer.cs +++ b/FrmpipeDeepstatis.Designer.cs @@ -36,13 +36,11 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -53,6 +51,7 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.dataGridViewX2 = new DevComponents.DotNetBar.Controls.DataGridViewX(); this.下限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.上限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,42 +69,18 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(123, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 9; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(123, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 6; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -139,14 +114,14 @@ this.条数, this.总长度}); this.dataGridViewX1.ContextMenuStrip = this.contextMenuStrip1; - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(3, 3); @@ -206,6 +181,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(786, 304); + this.chart1.TabIndex = 3; + this.chart1.Text = "chart1"; + // // dataGridViewX2 // this.dataGridViewX2.AllowUserToAddRows = false; @@ -213,14 +204,14 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.下限, this.上限}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; this.dataGridViewX2.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(493, 23); @@ -234,18 +225,18 @@ // // 下限 // - dataGridViewCellStyle1.Format = "N2"; - dataGridViewCellStyle1.NullValue = null; - this.下限.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.Format = "N2"; + dataGridViewCellStyle2.NullValue = null; + this.下限.DefaultCellStyle = dataGridViewCellStyle2; this.下限.HeaderText = "下限"; this.下限.Name = "下限"; this.下限.Width = 60; // // 上限 // - dataGridViewCellStyle6.Format = "N2"; - dataGridViewCellStyle6.NullValue = null; - this.上限.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle3.Format = "N2"; + dataGridViewCellStyle3.NullValue = null; + this.上限.DefaultCellStyle = dataGridViewCellStyle3; this.上限.HeaderText = "上限"; this.上限.Name = "上限"; this.上限.Width = 60; @@ -453,7 +444,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX2, 2, 0); this.tableLayoutPanel2.Controls.Add(this.lstpipeRadius, 2, 1); this.tableLayoutPanel2.Controls.Add(this.dataGridViewX2, 4, 1); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); @@ -467,21 +457,17 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(800, 194); this.tableLayoutPanel2.TabIndex = 11; // - // chart1 + // buttonX8 // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(786, 304); - this.chart1.TabIndex = 3; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(123, 23); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // FrmpipeDeepstatis // @@ -503,18 +489,16 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -543,5 +527,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/FrmpipeDeepstatis.cs b/FrmpipeDeepstatis.cs index 8d915a9..f034488 100644 --- a/FrmpipeDeepstatis.cs +++ b/FrmpipeDeepstatis.cs @@ -12,41 +12,40 @@ namespace Cyberpipe { - public partial class FrmpipeDeepstatis :Office2007Form + public partial class FrmpipeDeepstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames; - + List pipeLayerNames = new List(); + GSOGeoPolygon3D polygon; static FrmpipeDeepstatis frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDeepstatis(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDeepstatis(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); - }else if (frm.WindowState == FormWindowState.Minimized) + } + else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } } - public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = globeControl; - pipeLayerNames = pipeLayers; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; + if (!pipeLayers[i].Contains("SG")) + { + pipeLayerNames.Add(pipeLayers[i]); + } } + //pipeLayerNames = pipeLayers; + polygon = _polygon; } /// /// 上限、下限按钮事件处理 @@ -121,7 +120,6 @@ dataGridViewX2.Rows.Remove(row); } } - /// /// 给表格绑定数据 /// @@ -130,12 +128,11 @@ { try { - dic.Clear() ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { @@ -159,7 +156,7 @@ row.Cells["总长度"].Value = Math.Round(result.sum, 2); dic.Add(layer.Caption + "," + row.Cells["埋深范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + } } @@ -176,8 +173,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -210,44 +205,13 @@ /// /// private void FrmpipeDeepstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } - } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层"); - return; } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - } + /// /// 全选 /// @@ -270,7 +234,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -292,25 +256,6 @@ /// private void buttonX8_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层"); - return; - } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - pipeDiameterStatis(null); - } - /// - /// 绘制区域分段统计 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层"); @@ -321,13 +266,8 @@ MessageBox.Show("请添加分段"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } - - /// /// 导出Excel按钮事件处理 /// @@ -406,7 +346,7 @@ MessageBox.Show("统计结果为空,请重新统计之后再导出Excel!", "提示"); } } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { MemberInfo memberInfo = e.Control.GetType().BaseType; @@ -452,11 +392,6 @@ private void FrmpipeDeepstatis_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } } diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/FrmLineCoordinate.designer.cs b/FrmLineCoordinate.designer.cs index 3149abf..0a3fbb7 100644 --- a/FrmLineCoordinate.designer.cs +++ b/FrmLineCoordinate.designer.cs @@ -138,6 +138,7 @@ this.checkBoxX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.checkBoxX3.TabIndex = 88; this.checkBoxX3.Text = "管沟"; + this.checkBoxX3.Visible = false; this.checkBoxX3.CheckedChanged += new System.EventHandler(this.checkBoxX3_CheckedChanged); // // checkBoxX2 diff --git a/FrmpipeDeepstatis.Designer.cs b/FrmpipeDeepstatis.Designer.cs index ef5a119..2627350 100644 --- a/FrmpipeDeepstatis.Designer.cs +++ b/FrmpipeDeepstatis.Designer.cs @@ -36,13 +36,11 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -53,6 +51,7 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.dataGridViewX2 = new DevComponents.DotNetBar.Controls.DataGridViewX(); this.下限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.上限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,42 +69,18 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(123, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 9; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(123, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 6; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -139,14 +114,14 @@ this.条数, this.总长度}); this.dataGridViewX1.ContextMenuStrip = this.contextMenuStrip1; - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(3, 3); @@ -206,6 +181,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(786, 304); + this.chart1.TabIndex = 3; + this.chart1.Text = "chart1"; + // // dataGridViewX2 // this.dataGridViewX2.AllowUserToAddRows = false; @@ -213,14 +204,14 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.下限, this.上限}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; this.dataGridViewX2.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(493, 23); @@ -234,18 +225,18 @@ // // 下限 // - dataGridViewCellStyle1.Format = "N2"; - dataGridViewCellStyle1.NullValue = null; - this.下限.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.Format = "N2"; + dataGridViewCellStyle2.NullValue = null; + this.下限.DefaultCellStyle = dataGridViewCellStyle2; this.下限.HeaderText = "下限"; this.下限.Name = "下限"; this.下限.Width = 60; // // 上限 // - dataGridViewCellStyle6.Format = "N2"; - dataGridViewCellStyle6.NullValue = null; - this.上限.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle3.Format = "N2"; + dataGridViewCellStyle3.NullValue = null; + this.上限.DefaultCellStyle = dataGridViewCellStyle3; this.上限.HeaderText = "上限"; this.上限.Name = "上限"; this.上限.Width = 60; @@ -453,7 +444,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX2, 2, 0); this.tableLayoutPanel2.Controls.Add(this.lstpipeRadius, 2, 1); this.tableLayoutPanel2.Controls.Add(this.dataGridViewX2, 4, 1); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); @@ -467,21 +457,17 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(800, 194); this.tableLayoutPanel2.TabIndex = 11; // - // chart1 + // buttonX8 // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(786, 304); - this.chart1.TabIndex = 3; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(123, 23); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // FrmpipeDeepstatis // @@ -503,18 +489,16 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -543,5 +527,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/FrmpipeDeepstatis.cs b/FrmpipeDeepstatis.cs index 8d915a9..f034488 100644 --- a/FrmpipeDeepstatis.cs +++ b/FrmpipeDeepstatis.cs @@ -12,41 +12,40 @@ namespace Cyberpipe { - public partial class FrmpipeDeepstatis :Office2007Form + public partial class FrmpipeDeepstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames; - + List pipeLayerNames = new List(); + GSOGeoPolygon3D polygon; static FrmpipeDeepstatis frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDeepstatis(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDeepstatis(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); - }else if (frm.WindowState == FormWindowState.Minimized) + } + else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } } - public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = globeControl; - pipeLayerNames = pipeLayers; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; + if (!pipeLayers[i].Contains("SG")) + { + pipeLayerNames.Add(pipeLayers[i]); + } } + //pipeLayerNames = pipeLayers; + polygon = _polygon; } /// /// 上限、下限按钮事件处理 @@ -121,7 +120,6 @@ dataGridViewX2.Rows.Remove(row); } } - /// /// 给表格绑定数据 /// @@ -130,12 +128,11 @@ { try { - dic.Clear() ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { @@ -159,7 +156,7 @@ row.Cells["总长度"].Value = Math.Round(result.sum, 2); dic.Add(layer.Caption + "," + row.Cells["埋深范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + } } @@ -176,8 +173,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -210,44 +205,13 @@ /// /// private void FrmpipeDeepstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } - } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层"); - return; } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - } + /// /// 全选 /// @@ -270,7 +234,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -292,25 +256,6 @@ /// private void buttonX8_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层"); - return; - } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - pipeDiameterStatis(null); - } - /// - /// 绘制区域分段统计 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层"); @@ -321,13 +266,8 @@ MessageBox.Show("请添加分段"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } - - /// /// 导出Excel按钮事件处理 /// @@ -406,7 +346,7 @@ MessageBox.Show("统计结果为空,请重新统计之后再导出Excel!", "提示"); } } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { MemberInfo memberInfo = e.Control.GetType().BaseType; @@ -452,11 +392,6 @@ private void FrmpipeDeepstatis_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } } diff --git a/FrmpipeDeepstatis.resx b/FrmpipeDeepstatis.resx index b2dd89f..e1ca348 100644 --- a/FrmpipeDeepstatis.resx +++ b/FrmpipeDeepstatis.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - True @@ -132,6 +129,9 @@ True + + 17, 17 + True diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/FrmLineCoordinate.designer.cs b/FrmLineCoordinate.designer.cs index 3149abf..0a3fbb7 100644 --- a/FrmLineCoordinate.designer.cs +++ b/FrmLineCoordinate.designer.cs @@ -138,6 +138,7 @@ this.checkBoxX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.checkBoxX3.TabIndex = 88; this.checkBoxX3.Text = "管沟"; + this.checkBoxX3.Visible = false; this.checkBoxX3.CheckedChanged += new System.EventHandler(this.checkBoxX3_CheckedChanged); // // checkBoxX2 diff --git a/FrmpipeDeepstatis.Designer.cs b/FrmpipeDeepstatis.Designer.cs index ef5a119..2627350 100644 --- a/FrmpipeDeepstatis.Designer.cs +++ b/FrmpipeDeepstatis.Designer.cs @@ -36,13 +36,11 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -53,6 +51,7 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.dataGridViewX2 = new DevComponents.DotNetBar.Controls.DataGridViewX(); this.下限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.上限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,42 +69,18 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(123, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 9; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(123, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 6; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -139,14 +114,14 @@ this.条数, this.总长度}); this.dataGridViewX1.ContextMenuStrip = this.contextMenuStrip1; - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(3, 3); @@ -206,6 +181,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(786, 304); + this.chart1.TabIndex = 3; + this.chart1.Text = "chart1"; + // // dataGridViewX2 // this.dataGridViewX2.AllowUserToAddRows = false; @@ -213,14 +204,14 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.下限, this.上限}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; this.dataGridViewX2.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(493, 23); @@ -234,18 +225,18 @@ // // 下限 // - dataGridViewCellStyle1.Format = "N2"; - dataGridViewCellStyle1.NullValue = null; - this.下限.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.Format = "N2"; + dataGridViewCellStyle2.NullValue = null; + this.下限.DefaultCellStyle = dataGridViewCellStyle2; this.下限.HeaderText = "下限"; this.下限.Name = "下限"; this.下限.Width = 60; // // 上限 // - dataGridViewCellStyle6.Format = "N2"; - dataGridViewCellStyle6.NullValue = null; - this.上限.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle3.Format = "N2"; + dataGridViewCellStyle3.NullValue = null; + this.上限.DefaultCellStyle = dataGridViewCellStyle3; this.上限.HeaderText = "上限"; this.上限.Name = "上限"; this.上限.Width = 60; @@ -453,7 +444,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX2, 2, 0); this.tableLayoutPanel2.Controls.Add(this.lstpipeRadius, 2, 1); this.tableLayoutPanel2.Controls.Add(this.dataGridViewX2, 4, 1); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); @@ -467,21 +457,17 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(800, 194); this.tableLayoutPanel2.TabIndex = 11; // - // chart1 + // buttonX8 // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(786, 304); - this.chart1.TabIndex = 3; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(123, 23); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // FrmpipeDeepstatis // @@ -503,18 +489,16 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -543,5 +527,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/FrmpipeDeepstatis.cs b/FrmpipeDeepstatis.cs index 8d915a9..f034488 100644 --- a/FrmpipeDeepstatis.cs +++ b/FrmpipeDeepstatis.cs @@ -12,41 +12,40 @@ namespace Cyberpipe { - public partial class FrmpipeDeepstatis :Office2007Form + public partial class FrmpipeDeepstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames; - + List pipeLayerNames = new List(); + GSOGeoPolygon3D polygon; static FrmpipeDeepstatis frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDeepstatis(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDeepstatis(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); - }else if (frm.WindowState == FormWindowState.Minimized) + } + else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } } - public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = globeControl; - pipeLayerNames = pipeLayers; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; + if (!pipeLayers[i].Contains("SG")) + { + pipeLayerNames.Add(pipeLayers[i]); + } } + //pipeLayerNames = pipeLayers; + polygon = _polygon; } /// /// 上限、下限按钮事件处理 @@ -121,7 +120,6 @@ dataGridViewX2.Rows.Remove(row); } } - /// /// 给表格绑定数据 /// @@ -130,12 +128,11 @@ { try { - dic.Clear() ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { @@ -159,7 +156,7 @@ row.Cells["总长度"].Value = Math.Round(result.sum, 2); dic.Add(layer.Caption + "," + row.Cells["埋深范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + } } @@ -176,8 +173,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -210,44 +205,13 @@ /// /// private void FrmpipeDeepstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } - } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层"); - return; } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - } + /// /// 全选 /// @@ -270,7 +234,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -292,25 +256,6 @@ /// private void buttonX8_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层"); - return; - } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - pipeDiameterStatis(null); - } - /// - /// 绘制区域分段统计 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层"); @@ -321,13 +266,8 @@ MessageBox.Show("请添加分段"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } - - /// /// 导出Excel按钮事件处理 /// @@ -406,7 +346,7 @@ MessageBox.Show("统计结果为空,请重新统计之后再导出Excel!", "提示"); } } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { MemberInfo memberInfo = e.Control.GetType().BaseType; @@ -452,11 +392,6 @@ private void FrmpipeDeepstatis_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } } diff --git a/FrmpipeDeepstatis.resx b/FrmpipeDeepstatis.resx index b2dd89f..e1ca348 100644 --- a/FrmpipeDeepstatis.resx +++ b/FrmpipeDeepstatis.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - True @@ -132,6 +129,9 @@ True + + 17, 17 + True diff --git a/FrmpipeDiametergather.Designer.cs b/FrmpipeDiametergather.Designer.cs index 2cb5d15..697b8aa 100644 --- a/FrmpipeDiametergather.Designer.cs +++ b/FrmpipeDiametergather.Designer.cs @@ -37,9 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea9 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -47,6 +45,8 @@ this.管径 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX3 = new DevComponents.DotNetBar.ButtonX(); @@ -56,46 +56,19 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(3, 167); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(108, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 14; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX8.Location = new System.Drawing.Point(3, 117); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(108, 24); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 11; - this.buttonX8.Text = "全区域分类汇总"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tableLayoutPanel1.SetColumnSpan(this.tabControl1, 6); @@ -172,22 +145,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(832, 285); + this.tabPage2.Size = new System.Drawing.Size(572, 274); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea9.AxisX.MajorGrid.Enabled = false; - chartArea9.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea9); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -244,7 +231,6 @@ this.clbPipeLine.Size = new System.Drawing.Size(240, 194); this.clbPipeLine.TabIndex = 1; this.clbPipeLine.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.clbPipeLine_ItemCheck); - //this.clbPipeLine.SelectedIndexChanged += new System.EventHandler(this.clbPipeLine_SelectedIndexChanged); // // labelX1 // @@ -300,25 +286,10 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(64, 194); this.tableLayoutPanel2.TabIndex = 15; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // tableLayoutPanel3 // this.tableLayoutPanel3.ColumnCount = 1; this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel3.Controls.Add(this.buttonX8, 0, 1); this.tableLayoutPanel3.Controls.Add(this.buttonX9, 0, 3); this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel3.Location = new System.Drawing.Point(439, 23); @@ -331,6 +302,19 @@ this.tableLayoutPanel3.Size = new System.Drawing.Size(114, 194); this.tableLayoutPanel3.TabIndex = 16; // + // buttonX9 + // + this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonX9.Location = new System.Drawing.Point(3, 167); + this.buttonX9.Name = "buttonX9"; + this.buttonX9.Size = new System.Drawing.Size(108, 24); + this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX9.TabIndex = 14; + this.buttonX9.Text = "开始统计"; + this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); + // // FrmpipeDiametergather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -349,11 +333,11 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.tableLayoutPanel3.ResumeLayout(false); this.ResumeLayout(false); @@ -361,8 +345,6 @@ #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -382,5 +364,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private TableLayoutPanel tableLayoutPanel3; + private ButtonX buttonX9; } } \ No newline at end of file diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/FrmLineCoordinate.designer.cs b/FrmLineCoordinate.designer.cs index 3149abf..0a3fbb7 100644 --- a/FrmLineCoordinate.designer.cs +++ b/FrmLineCoordinate.designer.cs @@ -138,6 +138,7 @@ this.checkBoxX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.checkBoxX3.TabIndex = 88; this.checkBoxX3.Text = "管沟"; + this.checkBoxX3.Visible = false; this.checkBoxX3.CheckedChanged += new System.EventHandler(this.checkBoxX3_CheckedChanged); // // checkBoxX2 diff --git a/FrmpipeDeepstatis.Designer.cs b/FrmpipeDeepstatis.Designer.cs index ef5a119..2627350 100644 --- a/FrmpipeDeepstatis.Designer.cs +++ b/FrmpipeDeepstatis.Designer.cs @@ -36,13 +36,11 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -53,6 +51,7 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.dataGridViewX2 = new DevComponents.DotNetBar.Controls.DataGridViewX(); this.下限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.上限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,42 +69,18 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(123, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 9; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(123, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 6; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -139,14 +114,14 @@ this.条数, this.总长度}); this.dataGridViewX1.ContextMenuStrip = this.contextMenuStrip1; - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(3, 3); @@ -206,6 +181,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(786, 304); + this.chart1.TabIndex = 3; + this.chart1.Text = "chart1"; + // // dataGridViewX2 // this.dataGridViewX2.AllowUserToAddRows = false; @@ -213,14 +204,14 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.下限, this.上限}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; this.dataGridViewX2.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(493, 23); @@ -234,18 +225,18 @@ // // 下限 // - dataGridViewCellStyle1.Format = "N2"; - dataGridViewCellStyle1.NullValue = null; - this.下限.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.Format = "N2"; + dataGridViewCellStyle2.NullValue = null; + this.下限.DefaultCellStyle = dataGridViewCellStyle2; this.下限.HeaderText = "下限"; this.下限.Name = "下限"; this.下限.Width = 60; // // 上限 // - dataGridViewCellStyle6.Format = "N2"; - dataGridViewCellStyle6.NullValue = null; - this.上限.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle3.Format = "N2"; + dataGridViewCellStyle3.NullValue = null; + this.上限.DefaultCellStyle = dataGridViewCellStyle3; this.上限.HeaderText = "上限"; this.上限.Name = "上限"; this.上限.Width = 60; @@ -453,7 +444,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX2, 2, 0); this.tableLayoutPanel2.Controls.Add(this.lstpipeRadius, 2, 1); this.tableLayoutPanel2.Controls.Add(this.dataGridViewX2, 4, 1); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); @@ -467,21 +457,17 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(800, 194); this.tableLayoutPanel2.TabIndex = 11; // - // chart1 + // buttonX8 // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(786, 304); - this.chart1.TabIndex = 3; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(123, 23); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // FrmpipeDeepstatis // @@ -503,18 +489,16 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -543,5 +527,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/FrmpipeDeepstatis.cs b/FrmpipeDeepstatis.cs index 8d915a9..f034488 100644 --- a/FrmpipeDeepstatis.cs +++ b/FrmpipeDeepstatis.cs @@ -12,41 +12,40 @@ namespace Cyberpipe { - public partial class FrmpipeDeepstatis :Office2007Form + public partial class FrmpipeDeepstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames; - + List pipeLayerNames = new List(); + GSOGeoPolygon3D polygon; static FrmpipeDeepstatis frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDeepstatis(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDeepstatis(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); - }else if (frm.WindowState == FormWindowState.Minimized) + } + else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } } - public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = globeControl; - pipeLayerNames = pipeLayers; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; + if (!pipeLayers[i].Contains("SG")) + { + pipeLayerNames.Add(pipeLayers[i]); + } } + //pipeLayerNames = pipeLayers; + polygon = _polygon; } /// /// 上限、下限按钮事件处理 @@ -121,7 +120,6 @@ dataGridViewX2.Rows.Remove(row); } } - /// /// 给表格绑定数据 /// @@ -130,12 +128,11 @@ { try { - dic.Clear() ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { @@ -159,7 +156,7 @@ row.Cells["总长度"].Value = Math.Round(result.sum, 2); dic.Add(layer.Caption + "," + row.Cells["埋深范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + } } @@ -176,8 +173,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -210,44 +205,13 @@ /// /// private void FrmpipeDeepstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } - } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层"); - return; } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - } + /// /// 全选 /// @@ -270,7 +234,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -292,25 +256,6 @@ /// private void buttonX8_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层"); - return; - } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - pipeDiameterStatis(null); - } - /// - /// 绘制区域分段统计 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层"); @@ -321,13 +266,8 @@ MessageBox.Show("请添加分段"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } - - /// /// 导出Excel按钮事件处理 /// @@ -406,7 +346,7 @@ MessageBox.Show("统计结果为空,请重新统计之后再导出Excel!", "提示"); } } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { MemberInfo memberInfo = e.Control.GetType().BaseType; @@ -452,11 +392,6 @@ private void FrmpipeDeepstatis_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } } diff --git a/FrmpipeDeepstatis.resx b/FrmpipeDeepstatis.resx index b2dd89f..e1ca348 100644 --- a/FrmpipeDeepstatis.resx +++ b/FrmpipeDeepstatis.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - True @@ -132,6 +129,9 @@ True + + 17, 17 + True diff --git a/FrmpipeDiametergather.Designer.cs b/FrmpipeDiametergather.Designer.cs index 2cb5d15..697b8aa 100644 --- a/FrmpipeDiametergather.Designer.cs +++ b/FrmpipeDiametergather.Designer.cs @@ -37,9 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea9 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -47,6 +45,8 @@ this.管径 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX3 = new DevComponents.DotNetBar.ButtonX(); @@ -56,46 +56,19 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(3, 167); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(108, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 14; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX8.Location = new System.Drawing.Point(3, 117); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(108, 24); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 11; - this.buttonX8.Text = "全区域分类汇总"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tableLayoutPanel1.SetColumnSpan(this.tabControl1, 6); @@ -172,22 +145,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(832, 285); + this.tabPage2.Size = new System.Drawing.Size(572, 274); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea9.AxisX.MajorGrid.Enabled = false; - chartArea9.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea9); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -244,7 +231,6 @@ this.clbPipeLine.Size = new System.Drawing.Size(240, 194); this.clbPipeLine.TabIndex = 1; this.clbPipeLine.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.clbPipeLine_ItemCheck); - //this.clbPipeLine.SelectedIndexChanged += new System.EventHandler(this.clbPipeLine_SelectedIndexChanged); // // labelX1 // @@ -300,25 +286,10 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(64, 194); this.tableLayoutPanel2.TabIndex = 15; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // tableLayoutPanel3 // this.tableLayoutPanel3.ColumnCount = 1; this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel3.Controls.Add(this.buttonX8, 0, 1); this.tableLayoutPanel3.Controls.Add(this.buttonX9, 0, 3); this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel3.Location = new System.Drawing.Point(439, 23); @@ -331,6 +302,19 @@ this.tableLayoutPanel3.Size = new System.Drawing.Size(114, 194); this.tableLayoutPanel3.TabIndex = 16; // + // buttonX9 + // + this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonX9.Location = new System.Drawing.Point(3, 167); + this.buttonX9.Name = "buttonX9"; + this.buttonX9.Size = new System.Drawing.Size(108, 24); + this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX9.TabIndex = 14; + this.buttonX9.Text = "开始统计"; + this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); + // // FrmpipeDiametergather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -349,11 +333,11 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.tableLayoutPanel3.ResumeLayout(false); this.ResumeLayout(false); @@ -361,8 +345,6 @@ #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -382,5 +364,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private TableLayoutPanel tableLayoutPanel3; + private ButtonX buttonX9; } } \ No newline at end of file diff --git a/FrmpipeDiametergather.cs b/FrmpipeDiametergather.cs index c09aaf1..0545383 100644 --- a/FrmpipeDiametergather.cs +++ b/FrmpipeDiametergather.cs @@ -16,15 +16,15 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeDiametergather frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDiametergather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDiametergather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if (frm.WindowState == FormWindowState.Minimized) @@ -33,23 +33,11 @@ } } - public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } - - } /// /// 窗体初始化事件处理 @@ -63,32 +51,7 @@ clbPipeLine.Items.Add(pipeLayerNames[i]); } } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } + /// /// 全选 /// @@ -154,14 +117,9 @@ MessageBox.Show("请选择图层!"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - + pipeDiameterStatis(polygon); + } /// /// 给表格绑定数据 /// @@ -392,10 +350,6 @@ private void FrmpipeDiametergather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/FrmLineCoordinate.designer.cs b/FrmLineCoordinate.designer.cs index 3149abf..0a3fbb7 100644 --- a/FrmLineCoordinate.designer.cs +++ b/FrmLineCoordinate.designer.cs @@ -138,6 +138,7 @@ this.checkBoxX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.checkBoxX3.TabIndex = 88; this.checkBoxX3.Text = "管沟"; + this.checkBoxX3.Visible = false; this.checkBoxX3.CheckedChanged += new System.EventHandler(this.checkBoxX3_CheckedChanged); // // checkBoxX2 diff --git a/FrmpipeDeepstatis.Designer.cs b/FrmpipeDeepstatis.Designer.cs index ef5a119..2627350 100644 --- a/FrmpipeDeepstatis.Designer.cs +++ b/FrmpipeDeepstatis.Designer.cs @@ -36,13 +36,11 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -53,6 +51,7 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.dataGridViewX2 = new DevComponents.DotNetBar.Controls.DataGridViewX(); this.下限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.上限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,42 +69,18 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(123, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 9; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(123, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 6; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -139,14 +114,14 @@ this.条数, this.总长度}); this.dataGridViewX1.ContextMenuStrip = this.contextMenuStrip1; - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(3, 3); @@ -206,6 +181,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(786, 304); + this.chart1.TabIndex = 3; + this.chart1.Text = "chart1"; + // // dataGridViewX2 // this.dataGridViewX2.AllowUserToAddRows = false; @@ -213,14 +204,14 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.下限, this.上限}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; this.dataGridViewX2.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(493, 23); @@ -234,18 +225,18 @@ // // 下限 // - dataGridViewCellStyle1.Format = "N2"; - dataGridViewCellStyle1.NullValue = null; - this.下限.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.Format = "N2"; + dataGridViewCellStyle2.NullValue = null; + this.下限.DefaultCellStyle = dataGridViewCellStyle2; this.下限.HeaderText = "下限"; this.下限.Name = "下限"; this.下限.Width = 60; // // 上限 // - dataGridViewCellStyle6.Format = "N2"; - dataGridViewCellStyle6.NullValue = null; - this.上限.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle3.Format = "N2"; + dataGridViewCellStyle3.NullValue = null; + this.上限.DefaultCellStyle = dataGridViewCellStyle3; this.上限.HeaderText = "上限"; this.上限.Name = "上限"; this.上限.Width = 60; @@ -453,7 +444,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX2, 2, 0); this.tableLayoutPanel2.Controls.Add(this.lstpipeRadius, 2, 1); this.tableLayoutPanel2.Controls.Add(this.dataGridViewX2, 4, 1); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); @@ -467,21 +457,17 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(800, 194); this.tableLayoutPanel2.TabIndex = 11; // - // chart1 + // buttonX8 // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(786, 304); - this.chart1.TabIndex = 3; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(123, 23); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // FrmpipeDeepstatis // @@ -503,18 +489,16 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -543,5 +527,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/FrmpipeDeepstatis.cs b/FrmpipeDeepstatis.cs index 8d915a9..f034488 100644 --- a/FrmpipeDeepstatis.cs +++ b/FrmpipeDeepstatis.cs @@ -12,41 +12,40 @@ namespace Cyberpipe { - public partial class FrmpipeDeepstatis :Office2007Form + public partial class FrmpipeDeepstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames; - + List pipeLayerNames = new List(); + GSOGeoPolygon3D polygon; static FrmpipeDeepstatis frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDeepstatis(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDeepstatis(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); - }else if (frm.WindowState == FormWindowState.Minimized) + } + else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } } - public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = globeControl; - pipeLayerNames = pipeLayers; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; + if (!pipeLayers[i].Contains("SG")) + { + pipeLayerNames.Add(pipeLayers[i]); + } } + //pipeLayerNames = pipeLayers; + polygon = _polygon; } /// /// 上限、下限按钮事件处理 @@ -121,7 +120,6 @@ dataGridViewX2.Rows.Remove(row); } } - /// /// 给表格绑定数据 /// @@ -130,12 +128,11 @@ { try { - dic.Clear() ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { @@ -159,7 +156,7 @@ row.Cells["总长度"].Value = Math.Round(result.sum, 2); dic.Add(layer.Caption + "," + row.Cells["埋深范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + } } @@ -176,8 +173,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -210,44 +205,13 @@ /// /// private void FrmpipeDeepstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } - } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层"); - return; } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - } + /// /// 全选 /// @@ -270,7 +234,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -292,25 +256,6 @@ /// private void buttonX8_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层"); - return; - } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - pipeDiameterStatis(null); - } - /// - /// 绘制区域分段统计 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层"); @@ -321,13 +266,8 @@ MessageBox.Show("请添加分段"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } - - /// /// 导出Excel按钮事件处理 /// @@ -406,7 +346,7 @@ MessageBox.Show("统计结果为空,请重新统计之后再导出Excel!", "提示"); } } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { MemberInfo memberInfo = e.Control.GetType().BaseType; @@ -452,11 +392,6 @@ private void FrmpipeDeepstatis_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } } diff --git a/FrmpipeDeepstatis.resx b/FrmpipeDeepstatis.resx index b2dd89f..e1ca348 100644 --- a/FrmpipeDeepstatis.resx +++ b/FrmpipeDeepstatis.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - True @@ -132,6 +129,9 @@ True + + 17, 17 + True diff --git a/FrmpipeDiametergather.Designer.cs b/FrmpipeDiametergather.Designer.cs index 2cb5d15..697b8aa 100644 --- a/FrmpipeDiametergather.Designer.cs +++ b/FrmpipeDiametergather.Designer.cs @@ -37,9 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea9 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -47,6 +45,8 @@ this.管径 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX3 = new DevComponents.DotNetBar.ButtonX(); @@ -56,46 +56,19 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(3, 167); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(108, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 14; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX8.Location = new System.Drawing.Point(3, 117); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(108, 24); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 11; - this.buttonX8.Text = "全区域分类汇总"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tableLayoutPanel1.SetColumnSpan(this.tabControl1, 6); @@ -172,22 +145,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(832, 285); + this.tabPage2.Size = new System.Drawing.Size(572, 274); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea9.AxisX.MajorGrid.Enabled = false; - chartArea9.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea9); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -244,7 +231,6 @@ this.clbPipeLine.Size = new System.Drawing.Size(240, 194); this.clbPipeLine.TabIndex = 1; this.clbPipeLine.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.clbPipeLine_ItemCheck); - //this.clbPipeLine.SelectedIndexChanged += new System.EventHandler(this.clbPipeLine_SelectedIndexChanged); // // labelX1 // @@ -300,25 +286,10 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(64, 194); this.tableLayoutPanel2.TabIndex = 15; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // tableLayoutPanel3 // this.tableLayoutPanel3.ColumnCount = 1; this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel3.Controls.Add(this.buttonX8, 0, 1); this.tableLayoutPanel3.Controls.Add(this.buttonX9, 0, 3); this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel3.Location = new System.Drawing.Point(439, 23); @@ -331,6 +302,19 @@ this.tableLayoutPanel3.Size = new System.Drawing.Size(114, 194); this.tableLayoutPanel3.TabIndex = 16; // + // buttonX9 + // + this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonX9.Location = new System.Drawing.Point(3, 167); + this.buttonX9.Name = "buttonX9"; + this.buttonX9.Size = new System.Drawing.Size(108, 24); + this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX9.TabIndex = 14; + this.buttonX9.Text = "开始统计"; + this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); + // // FrmpipeDiametergather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -349,11 +333,11 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.tableLayoutPanel3.ResumeLayout(false); this.ResumeLayout(false); @@ -361,8 +345,6 @@ #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -382,5 +364,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private TableLayoutPanel tableLayoutPanel3; + private ButtonX buttonX9; } } \ No newline at end of file diff --git a/FrmpipeDiametergather.cs b/FrmpipeDiametergather.cs index c09aaf1..0545383 100644 --- a/FrmpipeDiametergather.cs +++ b/FrmpipeDiametergather.cs @@ -16,15 +16,15 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeDiametergather frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDiametergather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDiametergather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if (frm.WindowState == FormWindowState.Minimized) @@ -33,23 +33,11 @@ } } - public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } - - } /// /// 窗体初始化事件处理 @@ -63,32 +51,7 @@ clbPipeLine.Items.Add(pipeLayerNames[i]); } } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } + /// /// 全选 /// @@ -154,14 +117,9 @@ MessageBox.Show("请选择图层!"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - + pipeDiameterStatis(polygon); + } /// /// 给表格绑定数据 /// @@ -392,10 +350,6 @@ private void FrmpipeDiametergather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } diff --git a/FrmpipeMaterialGather.Designer.cs b/FrmpipeMaterialGather.Designer.cs index d03f476..3ad7cbd 100644 --- a/FrmpipeMaterialGather.Designer.cs +++ b/FrmpipeMaterialGather.Designer.cs @@ -37,8 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); @@ -47,6 +46,8 @@ this.材质 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX4 = new DevComponents.DotNetBar.ButtonX(); @@ -60,31 +61,16 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(523, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(114, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 19; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // // buttonX8 // this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; @@ -95,7 +81,7 @@ this.buttonX8.Size = new System.Drawing.Size(114, 23); this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.buttonX8.TabIndex = 16; - this.buttonX8.Text = "全区域分类汇总"; + this.buttonX8.Text = "开始汇总"; this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // tabControl1 @@ -173,22 +159,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(547, 313); + this.tabPage2.Size = new System.Drawing.Size(669, 318); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea3.AxisX.MajorGrid.Enabled = false; - chartArea3.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea3); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -340,7 +340,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX1, 0, 0); this.tableLayoutPanel2.Controls.Add(this.clbPipeLine, 0, 1); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 4, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 4, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX4, 3, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.clbmaterials, 2, 1); @@ -360,20 +359,6 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(677, 194); this.tableLayoutPanel2.TabIndex = 21; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // FrmpipeMaterialGather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -392,18 +377,17 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/FrmLineCoordinate.designer.cs b/FrmLineCoordinate.designer.cs index 3149abf..0a3fbb7 100644 --- a/FrmLineCoordinate.designer.cs +++ b/FrmLineCoordinate.designer.cs @@ -138,6 +138,7 @@ this.checkBoxX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.checkBoxX3.TabIndex = 88; this.checkBoxX3.Text = "管沟"; + this.checkBoxX3.Visible = false; this.checkBoxX3.CheckedChanged += new System.EventHandler(this.checkBoxX3_CheckedChanged); // // checkBoxX2 diff --git a/FrmpipeDeepstatis.Designer.cs b/FrmpipeDeepstatis.Designer.cs index ef5a119..2627350 100644 --- a/FrmpipeDeepstatis.Designer.cs +++ b/FrmpipeDeepstatis.Designer.cs @@ -36,13 +36,11 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -53,6 +51,7 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.dataGridViewX2 = new DevComponents.DotNetBar.Controls.DataGridViewX(); this.下限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.上限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,42 +69,18 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(123, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 9; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(123, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 6; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -139,14 +114,14 @@ this.条数, this.总长度}); this.dataGridViewX1.ContextMenuStrip = this.contextMenuStrip1; - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(3, 3); @@ -206,6 +181,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(786, 304); + this.chart1.TabIndex = 3; + this.chart1.Text = "chart1"; + // // dataGridViewX2 // this.dataGridViewX2.AllowUserToAddRows = false; @@ -213,14 +204,14 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.下限, this.上限}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; this.dataGridViewX2.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(493, 23); @@ -234,18 +225,18 @@ // // 下限 // - dataGridViewCellStyle1.Format = "N2"; - dataGridViewCellStyle1.NullValue = null; - this.下限.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.Format = "N2"; + dataGridViewCellStyle2.NullValue = null; + this.下限.DefaultCellStyle = dataGridViewCellStyle2; this.下限.HeaderText = "下限"; this.下限.Name = "下限"; this.下限.Width = 60; // // 上限 // - dataGridViewCellStyle6.Format = "N2"; - dataGridViewCellStyle6.NullValue = null; - this.上限.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle3.Format = "N2"; + dataGridViewCellStyle3.NullValue = null; + this.上限.DefaultCellStyle = dataGridViewCellStyle3; this.上限.HeaderText = "上限"; this.上限.Name = "上限"; this.上限.Width = 60; @@ -453,7 +444,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX2, 2, 0); this.tableLayoutPanel2.Controls.Add(this.lstpipeRadius, 2, 1); this.tableLayoutPanel2.Controls.Add(this.dataGridViewX2, 4, 1); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); @@ -467,21 +457,17 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(800, 194); this.tableLayoutPanel2.TabIndex = 11; // - // chart1 + // buttonX8 // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(786, 304); - this.chart1.TabIndex = 3; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(123, 23); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // FrmpipeDeepstatis // @@ -503,18 +489,16 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -543,5 +527,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/FrmpipeDeepstatis.cs b/FrmpipeDeepstatis.cs index 8d915a9..f034488 100644 --- a/FrmpipeDeepstatis.cs +++ b/FrmpipeDeepstatis.cs @@ -12,41 +12,40 @@ namespace Cyberpipe { - public partial class FrmpipeDeepstatis :Office2007Form + public partial class FrmpipeDeepstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames; - + List pipeLayerNames = new List(); + GSOGeoPolygon3D polygon; static FrmpipeDeepstatis frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDeepstatis(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDeepstatis(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); - }else if (frm.WindowState == FormWindowState.Minimized) + } + else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } } - public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = globeControl; - pipeLayerNames = pipeLayers; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; + if (!pipeLayers[i].Contains("SG")) + { + pipeLayerNames.Add(pipeLayers[i]); + } } + //pipeLayerNames = pipeLayers; + polygon = _polygon; } /// /// 上限、下限按钮事件处理 @@ -121,7 +120,6 @@ dataGridViewX2.Rows.Remove(row); } } - /// /// 给表格绑定数据 /// @@ -130,12 +128,11 @@ { try { - dic.Clear() ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { @@ -159,7 +156,7 @@ row.Cells["总长度"].Value = Math.Round(result.sum, 2); dic.Add(layer.Caption + "," + row.Cells["埋深范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + } } @@ -176,8 +173,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -210,44 +205,13 @@ /// /// private void FrmpipeDeepstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } - } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层"); - return; } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - } + /// /// 全选 /// @@ -270,7 +234,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -292,25 +256,6 @@ /// private void buttonX8_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层"); - return; - } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - pipeDiameterStatis(null); - } - /// - /// 绘制区域分段统计 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层"); @@ -321,13 +266,8 @@ MessageBox.Show("请添加分段"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } - - /// /// 导出Excel按钮事件处理 /// @@ -406,7 +346,7 @@ MessageBox.Show("统计结果为空,请重新统计之后再导出Excel!", "提示"); } } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { MemberInfo memberInfo = e.Control.GetType().BaseType; @@ -452,11 +392,6 @@ private void FrmpipeDeepstatis_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } } diff --git a/FrmpipeDeepstatis.resx b/FrmpipeDeepstatis.resx index b2dd89f..e1ca348 100644 --- a/FrmpipeDeepstatis.resx +++ b/FrmpipeDeepstatis.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - True @@ -132,6 +129,9 @@ True + + 17, 17 + True diff --git a/FrmpipeDiametergather.Designer.cs b/FrmpipeDiametergather.Designer.cs index 2cb5d15..697b8aa 100644 --- a/FrmpipeDiametergather.Designer.cs +++ b/FrmpipeDiametergather.Designer.cs @@ -37,9 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea9 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -47,6 +45,8 @@ this.管径 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX3 = new DevComponents.DotNetBar.ButtonX(); @@ -56,46 +56,19 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(3, 167); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(108, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 14; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX8.Location = new System.Drawing.Point(3, 117); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(108, 24); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 11; - this.buttonX8.Text = "全区域分类汇总"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tableLayoutPanel1.SetColumnSpan(this.tabControl1, 6); @@ -172,22 +145,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(832, 285); + this.tabPage2.Size = new System.Drawing.Size(572, 274); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea9.AxisX.MajorGrid.Enabled = false; - chartArea9.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea9); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -244,7 +231,6 @@ this.clbPipeLine.Size = new System.Drawing.Size(240, 194); this.clbPipeLine.TabIndex = 1; this.clbPipeLine.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.clbPipeLine_ItemCheck); - //this.clbPipeLine.SelectedIndexChanged += new System.EventHandler(this.clbPipeLine_SelectedIndexChanged); // // labelX1 // @@ -300,25 +286,10 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(64, 194); this.tableLayoutPanel2.TabIndex = 15; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // tableLayoutPanel3 // this.tableLayoutPanel3.ColumnCount = 1; this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel3.Controls.Add(this.buttonX8, 0, 1); this.tableLayoutPanel3.Controls.Add(this.buttonX9, 0, 3); this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel3.Location = new System.Drawing.Point(439, 23); @@ -331,6 +302,19 @@ this.tableLayoutPanel3.Size = new System.Drawing.Size(114, 194); this.tableLayoutPanel3.TabIndex = 16; // + // buttonX9 + // + this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonX9.Location = new System.Drawing.Point(3, 167); + this.buttonX9.Name = "buttonX9"; + this.buttonX9.Size = new System.Drawing.Size(108, 24); + this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX9.TabIndex = 14; + this.buttonX9.Text = "开始统计"; + this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); + // // FrmpipeDiametergather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -349,11 +333,11 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.tableLayoutPanel3.ResumeLayout(false); this.ResumeLayout(false); @@ -361,8 +345,6 @@ #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -382,5 +364,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private TableLayoutPanel tableLayoutPanel3; + private ButtonX buttonX9; } } \ No newline at end of file diff --git a/FrmpipeDiametergather.cs b/FrmpipeDiametergather.cs index c09aaf1..0545383 100644 --- a/FrmpipeDiametergather.cs +++ b/FrmpipeDiametergather.cs @@ -16,15 +16,15 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeDiametergather frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDiametergather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDiametergather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if (frm.WindowState == FormWindowState.Minimized) @@ -33,23 +33,11 @@ } } - public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } - - } /// /// 窗体初始化事件处理 @@ -63,32 +51,7 @@ clbPipeLine.Items.Add(pipeLayerNames[i]); } } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } + /// /// 全选 /// @@ -154,14 +117,9 @@ MessageBox.Show("请选择图层!"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - + pipeDiameterStatis(polygon); + } /// /// 给表格绑定数据 /// @@ -392,10 +350,6 @@ private void FrmpipeDiametergather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } diff --git a/FrmpipeMaterialGather.Designer.cs b/FrmpipeMaterialGather.Designer.cs index d03f476..3ad7cbd 100644 --- a/FrmpipeMaterialGather.Designer.cs +++ b/FrmpipeMaterialGather.Designer.cs @@ -37,8 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); @@ -47,6 +46,8 @@ this.材质 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX4 = new DevComponents.DotNetBar.ButtonX(); @@ -60,31 +61,16 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(523, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(114, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 19; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // // buttonX8 // this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; @@ -95,7 +81,7 @@ this.buttonX8.Size = new System.Drawing.Size(114, 23); this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.buttonX8.TabIndex = 16; - this.buttonX8.Text = "全区域分类汇总"; + this.buttonX8.Text = "开始汇总"; this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // tabControl1 @@ -173,22 +159,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(547, 313); + this.tabPage2.Size = new System.Drawing.Size(669, 318); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea3.AxisX.MajorGrid.Enabled = false; - chartArea3.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea3); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -340,7 +340,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX1, 0, 0); this.tableLayoutPanel2.Controls.Add(this.clbPipeLine, 0, 1); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 4, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 4, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX4, 3, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.clbmaterials, 2, 1); @@ -360,20 +359,6 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(677, 194); this.tableLayoutPanel2.TabIndex = 21; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // FrmpipeMaterialGather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -392,18 +377,17 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; diff --git a/FrmpipeMaterialGather.cs b/FrmpipeMaterialGather.cs index 5ca8144..00a7565 100644 --- a/FrmpipeMaterialGather.cs +++ b/FrmpipeMaterialGather.cs @@ -16,13 +16,13 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeMaterialGather frm; - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeMaterialGather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeMaterialGather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if(frm.WindowState == FormWindowState.Minimized) @@ -31,21 +31,12 @@ } } - public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -82,31 +73,6 @@ } /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } - /// /// 全选按钮事件处理 /// /// @@ -284,28 +250,7 @@ return; } globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(null); - } - /// - /// 绘制区域分类汇总 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (clbmaterials.CheckedItems.Count == 0) - { - MessageBox.Show("请选择材质类型!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } /// @@ -316,10 +261,7 @@ private void FrmpipeMaterialGather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } /// diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/FrmLineCoordinate.designer.cs b/FrmLineCoordinate.designer.cs index 3149abf..0a3fbb7 100644 --- a/FrmLineCoordinate.designer.cs +++ b/FrmLineCoordinate.designer.cs @@ -138,6 +138,7 @@ this.checkBoxX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.checkBoxX3.TabIndex = 88; this.checkBoxX3.Text = "管沟"; + this.checkBoxX3.Visible = false; this.checkBoxX3.CheckedChanged += new System.EventHandler(this.checkBoxX3_CheckedChanged); // // checkBoxX2 diff --git a/FrmpipeDeepstatis.Designer.cs b/FrmpipeDeepstatis.Designer.cs index ef5a119..2627350 100644 --- a/FrmpipeDeepstatis.Designer.cs +++ b/FrmpipeDeepstatis.Designer.cs @@ -36,13 +36,11 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -53,6 +51,7 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.dataGridViewX2 = new DevComponents.DotNetBar.Controls.DataGridViewX(); this.下限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.上限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,42 +69,18 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(123, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 9; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(123, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 6; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -139,14 +114,14 @@ this.条数, this.总长度}); this.dataGridViewX1.ContextMenuStrip = this.contextMenuStrip1; - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(3, 3); @@ -206,6 +181,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(786, 304); + this.chart1.TabIndex = 3; + this.chart1.Text = "chart1"; + // // dataGridViewX2 // this.dataGridViewX2.AllowUserToAddRows = false; @@ -213,14 +204,14 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.下限, this.上限}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; this.dataGridViewX2.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(493, 23); @@ -234,18 +225,18 @@ // // 下限 // - dataGridViewCellStyle1.Format = "N2"; - dataGridViewCellStyle1.NullValue = null; - this.下限.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.Format = "N2"; + dataGridViewCellStyle2.NullValue = null; + this.下限.DefaultCellStyle = dataGridViewCellStyle2; this.下限.HeaderText = "下限"; this.下限.Name = "下限"; this.下限.Width = 60; // // 上限 // - dataGridViewCellStyle6.Format = "N2"; - dataGridViewCellStyle6.NullValue = null; - this.上限.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle3.Format = "N2"; + dataGridViewCellStyle3.NullValue = null; + this.上限.DefaultCellStyle = dataGridViewCellStyle3; this.上限.HeaderText = "上限"; this.上限.Name = "上限"; this.上限.Width = 60; @@ -453,7 +444,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX2, 2, 0); this.tableLayoutPanel2.Controls.Add(this.lstpipeRadius, 2, 1); this.tableLayoutPanel2.Controls.Add(this.dataGridViewX2, 4, 1); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); @@ -467,21 +457,17 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(800, 194); this.tableLayoutPanel2.TabIndex = 11; // - // chart1 + // buttonX8 // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(786, 304); - this.chart1.TabIndex = 3; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(123, 23); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // FrmpipeDeepstatis // @@ -503,18 +489,16 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -543,5 +527,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/FrmpipeDeepstatis.cs b/FrmpipeDeepstatis.cs index 8d915a9..f034488 100644 --- a/FrmpipeDeepstatis.cs +++ b/FrmpipeDeepstatis.cs @@ -12,41 +12,40 @@ namespace Cyberpipe { - public partial class FrmpipeDeepstatis :Office2007Form + public partial class FrmpipeDeepstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames; - + List pipeLayerNames = new List(); + GSOGeoPolygon3D polygon; static FrmpipeDeepstatis frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDeepstatis(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDeepstatis(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); - }else if (frm.WindowState == FormWindowState.Minimized) + } + else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } } - public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = globeControl; - pipeLayerNames = pipeLayers; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; + if (!pipeLayers[i].Contains("SG")) + { + pipeLayerNames.Add(pipeLayers[i]); + } } + //pipeLayerNames = pipeLayers; + polygon = _polygon; } /// /// 上限、下限按钮事件处理 @@ -121,7 +120,6 @@ dataGridViewX2.Rows.Remove(row); } } - /// /// 给表格绑定数据 /// @@ -130,12 +128,11 @@ { try { - dic.Clear() ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { @@ -159,7 +156,7 @@ row.Cells["总长度"].Value = Math.Round(result.sum, 2); dic.Add(layer.Caption + "," + row.Cells["埋深范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + } } @@ -176,8 +173,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -210,44 +205,13 @@ /// /// private void FrmpipeDeepstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } - } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层"); - return; } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - } + /// /// 全选 /// @@ -270,7 +234,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -292,25 +256,6 @@ /// private void buttonX8_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层"); - return; - } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - pipeDiameterStatis(null); - } - /// - /// 绘制区域分段统计 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层"); @@ -321,13 +266,8 @@ MessageBox.Show("请添加分段"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } - - /// /// 导出Excel按钮事件处理 /// @@ -406,7 +346,7 @@ MessageBox.Show("统计结果为空,请重新统计之后再导出Excel!", "提示"); } } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { MemberInfo memberInfo = e.Control.GetType().BaseType; @@ -452,11 +392,6 @@ private void FrmpipeDeepstatis_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } } diff --git a/FrmpipeDeepstatis.resx b/FrmpipeDeepstatis.resx index b2dd89f..e1ca348 100644 --- a/FrmpipeDeepstatis.resx +++ b/FrmpipeDeepstatis.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - True @@ -132,6 +129,9 @@ True + + 17, 17 + True diff --git a/FrmpipeDiametergather.Designer.cs b/FrmpipeDiametergather.Designer.cs index 2cb5d15..697b8aa 100644 --- a/FrmpipeDiametergather.Designer.cs +++ b/FrmpipeDiametergather.Designer.cs @@ -37,9 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea9 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -47,6 +45,8 @@ this.管径 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX3 = new DevComponents.DotNetBar.ButtonX(); @@ -56,46 +56,19 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(3, 167); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(108, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 14; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX8.Location = new System.Drawing.Point(3, 117); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(108, 24); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 11; - this.buttonX8.Text = "全区域分类汇总"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tableLayoutPanel1.SetColumnSpan(this.tabControl1, 6); @@ -172,22 +145,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(832, 285); + this.tabPage2.Size = new System.Drawing.Size(572, 274); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea9.AxisX.MajorGrid.Enabled = false; - chartArea9.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea9); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -244,7 +231,6 @@ this.clbPipeLine.Size = new System.Drawing.Size(240, 194); this.clbPipeLine.TabIndex = 1; this.clbPipeLine.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.clbPipeLine_ItemCheck); - //this.clbPipeLine.SelectedIndexChanged += new System.EventHandler(this.clbPipeLine_SelectedIndexChanged); // // labelX1 // @@ -300,25 +286,10 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(64, 194); this.tableLayoutPanel2.TabIndex = 15; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // tableLayoutPanel3 // this.tableLayoutPanel3.ColumnCount = 1; this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel3.Controls.Add(this.buttonX8, 0, 1); this.tableLayoutPanel3.Controls.Add(this.buttonX9, 0, 3); this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel3.Location = new System.Drawing.Point(439, 23); @@ -331,6 +302,19 @@ this.tableLayoutPanel3.Size = new System.Drawing.Size(114, 194); this.tableLayoutPanel3.TabIndex = 16; // + // buttonX9 + // + this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonX9.Location = new System.Drawing.Point(3, 167); + this.buttonX9.Name = "buttonX9"; + this.buttonX9.Size = new System.Drawing.Size(108, 24); + this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX9.TabIndex = 14; + this.buttonX9.Text = "开始统计"; + this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); + // // FrmpipeDiametergather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -349,11 +333,11 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.tableLayoutPanel3.ResumeLayout(false); this.ResumeLayout(false); @@ -361,8 +345,6 @@ #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -382,5 +364,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private TableLayoutPanel tableLayoutPanel3; + private ButtonX buttonX9; } } \ No newline at end of file diff --git a/FrmpipeDiametergather.cs b/FrmpipeDiametergather.cs index c09aaf1..0545383 100644 --- a/FrmpipeDiametergather.cs +++ b/FrmpipeDiametergather.cs @@ -16,15 +16,15 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeDiametergather frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDiametergather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDiametergather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if (frm.WindowState == FormWindowState.Minimized) @@ -33,23 +33,11 @@ } } - public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } - - } /// /// 窗体初始化事件处理 @@ -63,32 +51,7 @@ clbPipeLine.Items.Add(pipeLayerNames[i]); } } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } + /// /// 全选 /// @@ -154,14 +117,9 @@ MessageBox.Show("请选择图层!"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - + pipeDiameterStatis(polygon); + } /// /// 给表格绑定数据 /// @@ -392,10 +350,6 @@ private void FrmpipeDiametergather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } diff --git a/FrmpipeMaterialGather.Designer.cs b/FrmpipeMaterialGather.Designer.cs index d03f476..3ad7cbd 100644 --- a/FrmpipeMaterialGather.Designer.cs +++ b/FrmpipeMaterialGather.Designer.cs @@ -37,8 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); @@ -47,6 +46,8 @@ this.材质 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX4 = new DevComponents.DotNetBar.ButtonX(); @@ -60,31 +61,16 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(523, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(114, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 19; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // // buttonX8 // this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; @@ -95,7 +81,7 @@ this.buttonX8.Size = new System.Drawing.Size(114, 23); this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.buttonX8.TabIndex = 16; - this.buttonX8.Text = "全区域分类汇总"; + this.buttonX8.Text = "开始汇总"; this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // tabControl1 @@ -173,22 +159,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(547, 313); + this.tabPage2.Size = new System.Drawing.Size(669, 318); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea3.AxisX.MajorGrid.Enabled = false; - chartArea3.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea3); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -340,7 +340,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX1, 0, 0); this.tableLayoutPanel2.Controls.Add(this.clbPipeLine, 0, 1); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 4, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 4, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX4, 3, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.clbmaterials, 2, 1); @@ -360,20 +359,6 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(677, 194); this.tableLayoutPanel2.TabIndex = 21; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // FrmpipeMaterialGather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -392,18 +377,17 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; diff --git a/FrmpipeMaterialGather.cs b/FrmpipeMaterialGather.cs index 5ca8144..00a7565 100644 --- a/FrmpipeMaterialGather.cs +++ b/FrmpipeMaterialGather.cs @@ -16,13 +16,13 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeMaterialGather frm; - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeMaterialGather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeMaterialGather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if(frm.WindowState == FormWindowState.Minimized) @@ -31,21 +31,12 @@ } } - public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -82,31 +73,6 @@ } /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } - /// /// 全选按钮事件处理 /// /// @@ -284,28 +250,7 @@ return; } globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(null); - } - /// - /// 绘制区域分类汇总 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (clbmaterials.CheckedItems.Count == 0) - { - MessageBox.Show("请选择材质类型!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } /// @@ -316,10 +261,7 @@ private void FrmpipeMaterialGather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } /// diff --git a/Frmpipediameterstatis.Designer.cs b/Frmpipediameterstatis.Designer.cs index b219ce5..089b897 100644 --- a/Frmpipediameterstatis.Designer.cs +++ b/Frmpipediameterstatis.Designer.cs @@ -55,7 +55,6 @@ this.buttonX1 = new DevComponents.DotNetBar.ButtonX(); this.clbPipeLine = new System.Windows.Forms.CheckedListBox(); this.labelX1 = new DevComponents.DotNetBar.LabelX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -66,20 +65,20 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); this.buttonX7 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // // dataGridViewX2 @@ -278,18 +277,6 @@ this.labelX1.TabIndex = 0; this.labelX1.Text = "指定图层:"; // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(112, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 1; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -390,6 +377,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(776, 355); + this.chart1.TabIndex = 2; + this.chart1.Text = "chart1"; + // // tableLayoutPanel1 // this.tableLayoutPanel1.ColumnCount = 1; @@ -428,7 +431,6 @@ this.tableLayoutPanel2.Controls.Add(this.buttonX2, 1, 2); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); this.tableLayoutPanel2.Name = "tableLayoutPanel2"; @@ -453,33 +455,17 @@ this.buttonX7.Text = "删除行"; this.buttonX7.Click += new System.EventHandler(this.buttonX7_Click); // - // buttonX9 + // buttonX8 // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(112, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 4; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // chart1 - // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(776, 355); - this.chart1.TabIndex = 2; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(112, 24); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // Frmpipediameterstatis // @@ -502,9 +488,9 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } @@ -522,7 +508,6 @@ private ButtonX buttonX6; private ButtonX buttonX5; private ButtonX buttonX4; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private TabPage tabPage2; @@ -538,8 +523,8 @@ private TableLayoutPanel tableLayoutPanel1; private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; - private ButtonX buttonX9; private ButtonX buttonX7; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/FrmLineCoordinate.designer.cs b/FrmLineCoordinate.designer.cs index 3149abf..0a3fbb7 100644 --- a/FrmLineCoordinate.designer.cs +++ b/FrmLineCoordinate.designer.cs @@ -138,6 +138,7 @@ this.checkBoxX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.checkBoxX3.TabIndex = 88; this.checkBoxX3.Text = "管沟"; + this.checkBoxX3.Visible = false; this.checkBoxX3.CheckedChanged += new System.EventHandler(this.checkBoxX3_CheckedChanged); // // checkBoxX2 diff --git a/FrmpipeDeepstatis.Designer.cs b/FrmpipeDeepstatis.Designer.cs index ef5a119..2627350 100644 --- a/FrmpipeDeepstatis.Designer.cs +++ b/FrmpipeDeepstatis.Designer.cs @@ -36,13 +36,11 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -53,6 +51,7 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.dataGridViewX2 = new DevComponents.DotNetBar.Controls.DataGridViewX(); this.下限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.上限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,42 +69,18 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(123, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 9; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(123, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 6; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -139,14 +114,14 @@ this.条数, this.总长度}); this.dataGridViewX1.ContextMenuStrip = this.contextMenuStrip1; - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(3, 3); @@ -206,6 +181,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(786, 304); + this.chart1.TabIndex = 3; + this.chart1.Text = "chart1"; + // // dataGridViewX2 // this.dataGridViewX2.AllowUserToAddRows = false; @@ -213,14 +204,14 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.下限, this.上限}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; this.dataGridViewX2.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(493, 23); @@ -234,18 +225,18 @@ // // 下限 // - dataGridViewCellStyle1.Format = "N2"; - dataGridViewCellStyle1.NullValue = null; - this.下限.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.Format = "N2"; + dataGridViewCellStyle2.NullValue = null; + this.下限.DefaultCellStyle = dataGridViewCellStyle2; this.下限.HeaderText = "下限"; this.下限.Name = "下限"; this.下限.Width = 60; // // 上限 // - dataGridViewCellStyle6.Format = "N2"; - dataGridViewCellStyle6.NullValue = null; - this.上限.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle3.Format = "N2"; + dataGridViewCellStyle3.NullValue = null; + this.上限.DefaultCellStyle = dataGridViewCellStyle3; this.上限.HeaderText = "上限"; this.上限.Name = "上限"; this.上限.Width = 60; @@ -453,7 +444,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX2, 2, 0); this.tableLayoutPanel2.Controls.Add(this.lstpipeRadius, 2, 1); this.tableLayoutPanel2.Controls.Add(this.dataGridViewX2, 4, 1); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); @@ -467,21 +457,17 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(800, 194); this.tableLayoutPanel2.TabIndex = 11; // - // chart1 + // buttonX8 // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(786, 304); - this.chart1.TabIndex = 3; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(123, 23); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // FrmpipeDeepstatis // @@ -503,18 +489,16 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -543,5 +527,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/FrmpipeDeepstatis.cs b/FrmpipeDeepstatis.cs index 8d915a9..f034488 100644 --- a/FrmpipeDeepstatis.cs +++ b/FrmpipeDeepstatis.cs @@ -12,41 +12,40 @@ namespace Cyberpipe { - public partial class FrmpipeDeepstatis :Office2007Form + public partial class FrmpipeDeepstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames; - + List pipeLayerNames = new List(); + GSOGeoPolygon3D polygon; static FrmpipeDeepstatis frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDeepstatis(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDeepstatis(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); - }else if (frm.WindowState == FormWindowState.Minimized) + } + else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } } - public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = globeControl; - pipeLayerNames = pipeLayers; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; + if (!pipeLayers[i].Contains("SG")) + { + pipeLayerNames.Add(pipeLayers[i]); + } } + //pipeLayerNames = pipeLayers; + polygon = _polygon; } /// /// 上限、下限按钮事件处理 @@ -121,7 +120,6 @@ dataGridViewX2.Rows.Remove(row); } } - /// /// 给表格绑定数据 /// @@ -130,12 +128,11 @@ { try { - dic.Clear() ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { @@ -159,7 +156,7 @@ row.Cells["总长度"].Value = Math.Round(result.sum, 2); dic.Add(layer.Caption + "," + row.Cells["埋深范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + } } @@ -176,8 +173,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -210,44 +205,13 @@ /// /// private void FrmpipeDeepstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } - } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层"); - return; } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - } + /// /// 全选 /// @@ -270,7 +234,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -292,25 +256,6 @@ /// private void buttonX8_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层"); - return; - } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - pipeDiameterStatis(null); - } - /// - /// 绘制区域分段统计 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层"); @@ -321,13 +266,8 @@ MessageBox.Show("请添加分段"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } - - /// /// 导出Excel按钮事件处理 /// @@ -406,7 +346,7 @@ MessageBox.Show("统计结果为空,请重新统计之后再导出Excel!", "提示"); } } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { MemberInfo memberInfo = e.Control.GetType().BaseType; @@ -452,11 +392,6 @@ private void FrmpipeDeepstatis_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } } diff --git a/FrmpipeDeepstatis.resx b/FrmpipeDeepstatis.resx index b2dd89f..e1ca348 100644 --- a/FrmpipeDeepstatis.resx +++ b/FrmpipeDeepstatis.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - True @@ -132,6 +129,9 @@ True + + 17, 17 + True diff --git a/FrmpipeDiametergather.Designer.cs b/FrmpipeDiametergather.Designer.cs index 2cb5d15..697b8aa 100644 --- a/FrmpipeDiametergather.Designer.cs +++ b/FrmpipeDiametergather.Designer.cs @@ -37,9 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea9 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -47,6 +45,8 @@ this.管径 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX3 = new DevComponents.DotNetBar.ButtonX(); @@ -56,46 +56,19 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(3, 167); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(108, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 14; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX8.Location = new System.Drawing.Point(3, 117); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(108, 24); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 11; - this.buttonX8.Text = "全区域分类汇总"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tableLayoutPanel1.SetColumnSpan(this.tabControl1, 6); @@ -172,22 +145,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(832, 285); + this.tabPage2.Size = new System.Drawing.Size(572, 274); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea9.AxisX.MajorGrid.Enabled = false; - chartArea9.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea9); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -244,7 +231,6 @@ this.clbPipeLine.Size = new System.Drawing.Size(240, 194); this.clbPipeLine.TabIndex = 1; this.clbPipeLine.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.clbPipeLine_ItemCheck); - //this.clbPipeLine.SelectedIndexChanged += new System.EventHandler(this.clbPipeLine_SelectedIndexChanged); // // labelX1 // @@ -300,25 +286,10 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(64, 194); this.tableLayoutPanel2.TabIndex = 15; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // tableLayoutPanel3 // this.tableLayoutPanel3.ColumnCount = 1; this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel3.Controls.Add(this.buttonX8, 0, 1); this.tableLayoutPanel3.Controls.Add(this.buttonX9, 0, 3); this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel3.Location = new System.Drawing.Point(439, 23); @@ -331,6 +302,19 @@ this.tableLayoutPanel3.Size = new System.Drawing.Size(114, 194); this.tableLayoutPanel3.TabIndex = 16; // + // buttonX9 + // + this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonX9.Location = new System.Drawing.Point(3, 167); + this.buttonX9.Name = "buttonX9"; + this.buttonX9.Size = new System.Drawing.Size(108, 24); + this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX9.TabIndex = 14; + this.buttonX9.Text = "开始统计"; + this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); + // // FrmpipeDiametergather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -349,11 +333,11 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.tableLayoutPanel3.ResumeLayout(false); this.ResumeLayout(false); @@ -361,8 +345,6 @@ #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -382,5 +364,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private TableLayoutPanel tableLayoutPanel3; + private ButtonX buttonX9; } } \ No newline at end of file diff --git a/FrmpipeDiametergather.cs b/FrmpipeDiametergather.cs index c09aaf1..0545383 100644 --- a/FrmpipeDiametergather.cs +++ b/FrmpipeDiametergather.cs @@ -16,15 +16,15 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeDiametergather frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDiametergather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDiametergather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if (frm.WindowState == FormWindowState.Minimized) @@ -33,23 +33,11 @@ } } - public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } - - } /// /// 窗体初始化事件处理 @@ -63,32 +51,7 @@ clbPipeLine.Items.Add(pipeLayerNames[i]); } } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } + /// /// 全选 /// @@ -154,14 +117,9 @@ MessageBox.Show("请选择图层!"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - + pipeDiameterStatis(polygon); + } /// /// 给表格绑定数据 /// @@ -392,10 +350,6 @@ private void FrmpipeDiametergather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } diff --git a/FrmpipeMaterialGather.Designer.cs b/FrmpipeMaterialGather.Designer.cs index d03f476..3ad7cbd 100644 --- a/FrmpipeMaterialGather.Designer.cs +++ b/FrmpipeMaterialGather.Designer.cs @@ -37,8 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); @@ -47,6 +46,8 @@ this.材质 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX4 = new DevComponents.DotNetBar.ButtonX(); @@ -60,31 +61,16 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(523, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(114, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 19; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // // buttonX8 // this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; @@ -95,7 +81,7 @@ this.buttonX8.Size = new System.Drawing.Size(114, 23); this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.buttonX8.TabIndex = 16; - this.buttonX8.Text = "全区域分类汇总"; + this.buttonX8.Text = "开始汇总"; this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // tabControl1 @@ -173,22 +159,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(547, 313); + this.tabPage2.Size = new System.Drawing.Size(669, 318); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea3.AxisX.MajorGrid.Enabled = false; - chartArea3.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea3); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -340,7 +340,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX1, 0, 0); this.tableLayoutPanel2.Controls.Add(this.clbPipeLine, 0, 1); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 4, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 4, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX4, 3, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.clbmaterials, 2, 1); @@ -360,20 +359,6 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(677, 194); this.tableLayoutPanel2.TabIndex = 21; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // FrmpipeMaterialGather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -392,18 +377,17 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; diff --git a/FrmpipeMaterialGather.cs b/FrmpipeMaterialGather.cs index 5ca8144..00a7565 100644 --- a/FrmpipeMaterialGather.cs +++ b/FrmpipeMaterialGather.cs @@ -16,13 +16,13 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeMaterialGather frm; - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeMaterialGather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeMaterialGather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if(frm.WindowState == FormWindowState.Minimized) @@ -31,21 +31,12 @@ } } - public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -82,31 +73,6 @@ } /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } - /// /// 全选按钮事件处理 /// /// @@ -284,28 +250,7 @@ return; } globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(null); - } - /// - /// 绘制区域分类汇总 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (clbmaterials.CheckedItems.Count == 0) - { - MessageBox.Show("请选择材质类型!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } /// @@ -316,10 +261,7 @@ private void FrmpipeMaterialGather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } /// diff --git a/Frmpipediameterstatis.Designer.cs b/Frmpipediameterstatis.Designer.cs index b219ce5..089b897 100644 --- a/Frmpipediameterstatis.Designer.cs +++ b/Frmpipediameterstatis.Designer.cs @@ -55,7 +55,6 @@ this.buttonX1 = new DevComponents.DotNetBar.ButtonX(); this.clbPipeLine = new System.Windows.Forms.CheckedListBox(); this.labelX1 = new DevComponents.DotNetBar.LabelX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -66,20 +65,20 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); this.buttonX7 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // // dataGridViewX2 @@ -278,18 +277,6 @@ this.labelX1.TabIndex = 0; this.labelX1.Text = "指定图层:"; // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(112, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 1; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -390,6 +377,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(776, 355); + this.chart1.TabIndex = 2; + this.chart1.Text = "chart1"; + // // tableLayoutPanel1 // this.tableLayoutPanel1.ColumnCount = 1; @@ -428,7 +431,6 @@ this.tableLayoutPanel2.Controls.Add(this.buttonX2, 1, 2); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); this.tableLayoutPanel2.Name = "tableLayoutPanel2"; @@ -453,33 +455,17 @@ this.buttonX7.Text = "删除行"; this.buttonX7.Click += new System.EventHandler(this.buttonX7_Click); // - // buttonX9 + // buttonX8 // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(112, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 4; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // chart1 - // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(776, 355); - this.chart1.TabIndex = 2; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(112, 24); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // Frmpipediameterstatis // @@ -502,9 +488,9 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } @@ -522,7 +508,6 @@ private ButtonX buttonX6; private ButtonX buttonX5; private ButtonX buttonX4; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private TabPage tabPage2; @@ -538,8 +523,8 @@ private TableLayoutPanel tableLayoutPanel1; private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; - private ButtonX buttonX9; private ButtonX buttonX7; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/Frmpipediameterstatis.cs b/Frmpipediameterstatis.cs index 48ac35f..27f134b 100644 --- a/Frmpipediameterstatis.cs +++ b/Frmpipediameterstatis.cs @@ -11,44 +11,37 @@ namespace Cyberpipe { - public partial class Frmpipediameterstatis :Office2007Form + public partial class Frmpipediameterstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames ; - + List pipeLayerNames = new List(); static Frmpipediameterstatis frm; -// private MainFrm.PageControlStuct _pageControl; + GSOGeoPolygon3D polygon; + Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new Frmpipediameterstatis(_globeControl1, pipeLayers, visibleId); + frm = new Frmpipediameterstatis(_globeControl1, pipeLayers, _polygon); frm.Show(_globeControl1.Parent); } else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; - } + } } - public Frmpipediameterstatis(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public Frmpipediameterstatis(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; - pipeLayerNames = pipeLayers; -// _pageControl = pageControl; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; + if (!pipeLayers[i].Contains("SG")) + pipeLayerNames.Add(pipeLayers[i]); } - if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -56,13 +49,12 @@ /// /// private void Frmpipediameterstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } + } } - /// /// 上限按钮事件处理 /// @@ -75,7 +67,7 @@ DataGridViewRow row = dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; if (lstpipeRadius.SelectedItem != null) { - if (row.Cells["下限"].Value != null&& row.Cells["下限"].Value.ToString() != "") + if (row.Cells["下限"].Value != null && row.Cells["下限"].Value.ToString() != "") { double downRadius = Convert.ToDouble(row.Cells["下限"].Value); double upRadius = Convert.ToDouble(lstpipeRadius.SelectedItem.ToString()); @@ -138,13 +130,13 @@ private void buttonX7_Click(object sender, EventArgs e) { if (dataGridViewX2.SelectedCells.Count > 0) - { - DataGridViewRow row=dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; + { + DataGridViewRow row = dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; dataGridViewX2.Rows.Remove(row); } } - - Dictionary dic = new Dictionary(); + + /// /// 全区域分段统计 /// @@ -160,7 +152,7 @@ { MessageBox.Show("请添加分段!"); } - pipeDiameterStatis(null); + pipeDiameterStatis(polygon); } /// /// 给表格绑定数据 @@ -170,14 +162,15 @@ { try { - dic.Clear(); ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); - for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { + for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) + { GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); - for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { - + for (int j = 0; j < dataGridViewX2.Rows.Count; j++) + { object tempUp = dataGridViewX2.Rows[j].Cells["上限"].Value; double? upLimit = null; if (tempUp != null) upLimit = Convert.ToDouble(tempUp); @@ -185,27 +178,23 @@ object tempDown = dataGridViewX2.Rows[j].Cells["下限"].Value; double? downLimit = null; if (tempDown != null) downLimit = Convert.ToDouble(tempDown); - if (upLimit == null && downLimit == null) continue;//空行过滤 + if (upLimit == null && downLimit == null) continue;//空行过滤 //获取符合条件的管线 - FeaturesClassfyResult result = service.GetPipesInfoByValueSection(polygon, layer, downLimit, upLimit, "管径_毫米"); - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layer.Caption; - row.Cells["管径范围"].Value = result.groupFieldValue; - row.Cells["条数"].Value = result.ncount; - row.Cells["总长度"].Value = Math.Round(result.sum, 2); - dic.Add(layer.Caption + "," + row.Cells["管径范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + FeaturesClassfyResult result = service.GetPipesInfoByValueSection(polygon, layer, downLimit, upLimit, "管径"); + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layer.Caption; + row.Cells["管径范围"].Value = result.groupFieldValue; + row.Cells["条数"].Value = result.ncount; + row.Cells["总长度"].Value = Math.Round(result.sum, 2); + dic.Add(layer.Caption + "," + row.Cells["管径范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); } } - - showPipeWidget(); } catch (Exception ex) { - //MessageBox.Show(ex.Message); LogHelper.Error(ex.Message); LogError.PublishError(ex); } @@ -215,8 +204,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -266,7 +253,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -357,8 +344,6 @@ myStream.Close(); } } - - } /// /// 绘制区域分段统计 @@ -367,28 +352,6 @@ /// private void buttonX9_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (dataGridViewX2.Rows.Count == 0) { - MessageBox.Show("请添加分段!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层!"); @@ -399,21 +362,8 @@ MessageBox.Show("请添加分段!"); return; } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - + pipeDiameterStatis(polygon); } - /// /// 窗体关闭事件处理 /// @@ -421,15 +371,10 @@ /// private void Frmpipediameterstatis_FormClosing(object sender, FormClosingEventArgs e) { - frm = null; - - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); + frm = null; + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { if (e.Control.GetType().BaseType.Name == "TextBox") diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/FrmLineCoordinate.designer.cs b/FrmLineCoordinate.designer.cs index 3149abf..0a3fbb7 100644 --- a/FrmLineCoordinate.designer.cs +++ b/FrmLineCoordinate.designer.cs @@ -138,6 +138,7 @@ this.checkBoxX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.checkBoxX3.TabIndex = 88; this.checkBoxX3.Text = "管沟"; + this.checkBoxX3.Visible = false; this.checkBoxX3.CheckedChanged += new System.EventHandler(this.checkBoxX3_CheckedChanged); // // checkBoxX2 diff --git a/FrmpipeDeepstatis.Designer.cs b/FrmpipeDeepstatis.Designer.cs index ef5a119..2627350 100644 --- a/FrmpipeDeepstatis.Designer.cs +++ b/FrmpipeDeepstatis.Designer.cs @@ -36,13 +36,11 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -53,6 +51,7 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.dataGridViewX2 = new DevComponents.DotNetBar.Controls.DataGridViewX(); this.下限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.上限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,42 +69,18 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(123, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 9; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(123, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 6; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -139,14 +114,14 @@ this.条数, this.总长度}); this.dataGridViewX1.ContextMenuStrip = this.contextMenuStrip1; - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(3, 3); @@ -206,6 +181,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(786, 304); + this.chart1.TabIndex = 3; + this.chart1.Text = "chart1"; + // // dataGridViewX2 // this.dataGridViewX2.AllowUserToAddRows = false; @@ -213,14 +204,14 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.下限, this.上限}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; this.dataGridViewX2.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(493, 23); @@ -234,18 +225,18 @@ // // 下限 // - dataGridViewCellStyle1.Format = "N2"; - dataGridViewCellStyle1.NullValue = null; - this.下限.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.Format = "N2"; + dataGridViewCellStyle2.NullValue = null; + this.下限.DefaultCellStyle = dataGridViewCellStyle2; this.下限.HeaderText = "下限"; this.下限.Name = "下限"; this.下限.Width = 60; // // 上限 // - dataGridViewCellStyle6.Format = "N2"; - dataGridViewCellStyle6.NullValue = null; - this.上限.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle3.Format = "N2"; + dataGridViewCellStyle3.NullValue = null; + this.上限.DefaultCellStyle = dataGridViewCellStyle3; this.上限.HeaderText = "上限"; this.上限.Name = "上限"; this.上限.Width = 60; @@ -453,7 +444,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX2, 2, 0); this.tableLayoutPanel2.Controls.Add(this.lstpipeRadius, 2, 1); this.tableLayoutPanel2.Controls.Add(this.dataGridViewX2, 4, 1); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); @@ -467,21 +457,17 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(800, 194); this.tableLayoutPanel2.TabIndex = 11; // - // chart1 + // buttonX8 // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(786, 304); - this.chart1.TabIndex = 3; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(123, 23); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // FrmpipeDeepstatis // @@ -503,18 +489,16 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -543,5 +527,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/FrmpipeDeepstatis.cs b/FrmpipeDeepstatis.cs index 8d915a9..f034488 100644 --- a/FrmpipeDeepstatis.cs +++ b/FrmpipeDeepstatis.cs @@ -12,41 +12,40 @@ namespace Cyberpipe { - public partial class FrmpipeDeepstatis :Office2007Form + public partial class FrmpipeDeepstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames; - + List pipeLayerNames = new List(); + GSOGeoPolygon3D polygon; static FrmpipeDeepstatis frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDeepstatis(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDeepstatis(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); - }else if (frm.WindowState == FormWindowState.Minimized) + } + else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } } - public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = globeControl; - pipeLayerNames = pipeLayers; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; + if (!pipeLayers[i].Contains("SG")) + { + pipeLayerNames.Add(pipeLayers[i]); + } } + //pipeLayerNames = pipeLayers; + polygon = _polygon; } /// /// 上限、下限按钮事件处理 @@ -121,7 +120,6 @@ dataGridViewX2.Rows.Remove(row); } } - /// /// 给表格绑定数据 /// @@ -130,12 +128,11 @@ { try { - dic.Clear() ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { @@ -159,7 +156,7 @@ row.Cells["总长度"].Value = Math.Round(result.sum, 2); dic.Add(layer.Caption + "," + row.Cells["埋深范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + } } @@ -176,8 +173,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -210,44 +205,13 @@ /// /// private void FrmpipeDeepstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } - } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层"); - return; } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - } + /// /// 全选 /// @@ -270,7 +234,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -292,25 +256,6 @@ /// private void buttonX8_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层"); - return; - } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - pipeDiameterStatis(null); - } - /// - /// 绘制区域分段统计 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层"); @@ -321,13 +266,8 @@ MessageBox.Show("请添加分段"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } - - /// /// 导出Excel按钮事件处理 /// @@ -406,7 +346,7 @@ MessageBox.Show("统计结果为空,请重新统计之后再导出Excel!", "提示"); } } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { MemberInfo memberInfo = e.Control.GetType().BaseType; @@ -452,11 +392,6 @@ private void FrmpipeDeepstatis_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } } diff --git a/FrmpipeDeepstatis.resx b/FrmpipeDeepstatis.resx index b2dd89f..e1ca348 100644 --- a/FrmpipeDeepstatis.resx +++ b/FrmpipeDeepstatis.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - True @@ -132,6 +129,9 @@ True + + 17, 17 + True diff --git a/FrmpipeDiametergather.Designer.cs b/FrmpipeDiametergather.Designer.cs index 2cb5d15..697b8aa 100644 --- a/FrmpipeDiametergather.Designer.cs +++ b/FrmpipeDiametergather.Designer.cs @@ -37,9 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea9 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -47,6 +45,8 @@ this.管径 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX3 = new DevComponents.DotNetBar.ButtonX(); @@ -56,46 +56,19 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(3, 167); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(108, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 14; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX8.Location = new System.Drawing.Point(3, 117); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(108, 24); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 11; - this.buttonX8.Text = "全区域分类汇总"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tableLayoutPanel1.SetColumnSpan(this.tabControl1, 6); @@ -172,22 +145,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(832, 285); + this.tabPage2.Size = new System.Drawing.Size(572, 274); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea9.AxisX.MajorGrid.Enabled = false; - chartArea9.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea9); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -244,7 +231,6 @@ this.clbPipeLine.Size = new System.Drawing.Size(240, 194); this.clbPipeLine.TabIndex = 1; this.clbPipeLine.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.clbPipeLine_ItemCheck); - //this.clbPipeLine.SelectedIndexChanged += new System.EventHandler(this.clbPipeLine_SelectedIndexChanged); // // labelX1 // @@ -300,25 +286,10 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(64, 194); this.tableLayoutPanel2.TabIndex = 15; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // tableLayoutPanel3 // this.tableLayoutPanel3.ColumnCount = 1; this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel3.Controls.Add(this.buttonX8, 0, 1); this.tableLayoutPanel3.Controls.Add(this.buttonX9, 0, 3); this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel3.Location = new System.Drawing.Point(439, 23); @@ -331,6 +302,19 @@ this.tableLayoutPanel3.Size = new System.Drawing.Size(114, 194); this.tableLayoutPanel3.TabIndex = 16; // + // buttonX9 + // + this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonX9.Location = new System.Drawing.Point(3, 167); + this.buttonX9.Name = "buttonX9"; + this.buttonX9.Size = new System.Drawing.Size(108, 24); + this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX9.TabIndex = 14; + this.buttonX9.Text = "开始统计"; + this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); + // // FrmpipeDiametergather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -349,11 +333,11 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.tableLayoutPanel3.ResumeLayout(false); this.ResumeLayout(false); @@ -361,8 +345,6 @@ #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -382,5 +364,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private TableLayoutPanel tableLayoutPanel3; + private ButtonX buttonX9; } } \ No newline at end of file diff --git a/FrmpipeDiametergather.cs b/FrmpipeDiametergather.cs index c09aaf1..0545383 100644 --- a/FrmpipeDiametergather.cs +++ b/FrmpipeDiametergather.cs @@ -16,15 +16,15 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeDiametergather frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDiametergather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDiametergather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if (frm.WindowState == FormWindowState.Minimized) @@ -33,23 +33,11 @@ } } - public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } - - } /// /// 窗体初始化事件处理 @@ -63,32 +51,7 @@ clbPipeLine.Items.Add(pipeLayerNames[i]); } } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } + /// /// 全选 /// @@ -154,14 +117,9 @@ MessageBox.Show("请选择图层!"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - + pipeDiameterStatis(polygon); + } /// /// 给表格绑定数据 /// @@ -392,10 +350,6 @@ private void FrmpipeDiametergather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } diff --git a/FrmpipeMaterialGather.Designer.cs b/FrmpipeMaterialGather.Designer.cs index d03f476..3ad7cbd 100644 --- a/FrmpipeMaterialGather.Designer.cs +++ b/FrmpipeMaterialGather.Designer.cs @@ -37,8 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); @@ -47,6 +46,8 @@ this.材质 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX4 = new DevComponents.DotNetBar.ButtonX(); @@ -60,31 +61,16 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(523, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(114, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 19; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // // buttonX8 // this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; @@ -95,7 +81,7 @@ this.buttonX8.Size = new System.Drawing.Size(114, 23); this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.buttonX8.TabIndex = 16; - this.buttonX8.Text = "全区域分类汇总"; + this.buttonX8.Text = "开始汇总"; this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // tabControl1 @@ -173,22 +159,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(547, 313); + this.tabPage2.Size = new System.Drawing.Size(669, 318); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea3.AxisX.MajorGrid.Enabled = false; - chartArea3.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea3); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -340,7 +340,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX1, 0, 0); this.tableLayoutPanel2.Controls.Add(this.clbPipeLine, 0, 1); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 4, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 4, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX4, 3, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.clbmaterials, 2, 1); @@ -360,20 +359,6 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(677, 194); this.tableLayoutPanel2.TabIndex = 21; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // FrmpipeMaterialGather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -392,18 +377,17 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; diff --git a/FrmpipeMaterialGather.cs b/FrmpipeMaterialGather.cs index 5ca8144..00a7565 100644 --- a/FrmpipeMaterialGather.cs +++ b/FrmpipeMaterialGather.cs @@ -16,13 +16,13 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeMaterialGather frm; - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeMaterialGather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeMaterialGather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if(frm.WindowState == FormWindowState.Minimized) @@ -31,21 +31,12 @@ } } - public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -82,31 +73,6 @@ } /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } - /// /// 全选按钮事件处理 /// /// @@ -284,28 +250,7 @@ return; } globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(null); - } - /// - /// 绘制区域分类汇总 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (clbmaterials.CheckedItems.Count == 0) - { - MessageBox.Show("请选择材质类型!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } /// @@ -316,10 +261,7 @@ private void FrmpipeMaterialGather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } /// diff --git a/Frmpipediameterstatis.Designer.cs b/Frmpipediameterstatis.Designer.cs index b219ce5..089b897 100644 --- a/Frmpipediameterstatis.Designer.cs +++ b/Frmpipediameterstatis.Designer.cs @@ -55,7 +55,6 @@ this.buttonX1 = new DevComponents.DotNetBar.ButtonX(); this.clbPipeLine = new System.Windows.Forms.CheckedListBox(); this.labelX1 = new DevComponents.DotNetBar.LabelX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -66,20 +65,20 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); this.buttonX7 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // // dataGridViewX2 @@ -278,18 +277,6 @@ this.labelX1.TabIndex = 0; this.labelX1.Text = "指定图层:"; // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(112, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 1; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -390,6 +377,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(776, 355); + this.chart1.TabIndex = 2; + this.chart1.Text = "chart1"; + // // tableLayoutPanel1 // this.tableLayoutPanel1.ColumnCount = 1; @@ -428,7 +431,6 @@ this.tableLayoutPanel2.Controls.Add(this.buttonX2, 1, 2); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); this.tableLayoutPanel2.Name = "tableLayoutPanel2"; @@ -453,33 +455,17 @@ this.buttonX7.Text = "删除行"; this.buttonX7.Click += new System.EventHandler(this.buttonX7_Click); // - // buttonX9 + // buttonX8 // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(112, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 4; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // chart1 - // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(776, 355); - this.chart1.TabIndex = 2; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(112, 24); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // Frmpipediameterstatis // @@ -502,9 +488,9 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } @@ -522,7 +508,6 @@ private ButtonX buttonX6; private ButtonX buttonX5; private ButtonX buttonX4; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private TabPage tabPage2; @@ -538,8 +523,8 @@ private TableLayoutPanel tableLayoutPanel1; private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; - private ButtonX buttonX9; private ButtonX buttonX7; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/Frmpipediameterstatis.cs b/Frmpipediameterstatis.cs index 48ac35f..27f134b 100644 --- a/Frmpipediameterstatis.cs +++ b/Frmpipediameterstatis.cs @@ -11,44 +11,37 @@ namespace Cyberpipe { - public partial class Frmpipediameterstatis :Office2007Form + public partial class Frmpipediameterstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames ; - + List pipeLayerNames = new List(); static Frmpipediameterstatis frm; -// private MainFrm.PageControlStuct _pageControl; + GSOGeoPolygon3D polygon; + Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new Frmpipediameterstatis(_globeControl1, pipeLayers, visibleId); + frm = new Frmpipediameterstatis(_globeControl1, pipeLayers, _polygon); frm.Show(_globeControl1.Parent); } else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; - } + } } - public Frmpipediameterstatis(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public Frmpipediameterstatis(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; - pipeLayerNames = pipeLayers; -// _pageControl = pageControl; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; + if (!pipeLayers[i].Contains("SG")) + pipeLayerNames.Add(pipeLayers[i]); } - if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -56,13 +49,12 @@ /// /// private void Frmpipediameterstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } + } } - /// /// 上限按钮事件处理 /// @@ -75,7 +67,7 @@ DataGridViewRow row = dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; if (lstpipeRadius.SelectedItem != null) { - if (row.Cells["下限"].Value != null&& row.Cells["下限"].Value.ToString() != "") + if (row.Cells["下限"].Value != null && row.Cells["下限"].Value.ToString() != "") { double downRadius = Convert.ToDouble(row.Cells["下限"].Value); double upRadius = Convert.ToDouble(lstpipeRadius.SelectedItem.ToString()); @@ -138,13 +130,13 @@ private void buttonX7_Click(object sender, EventArgs e) { if (dataGridViewX2.SelectedCells.Count > 0) - { - DataGridViewRow row=dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; + { + DataGridViewRow row = dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; dataGridViewX2.Rows.Remove(row); } } - - Dictionary dic = new Dictionary(); + + /// /// 全区域分段统计 /// @@ -160,7 +152,7 @@ { MessageBox.Show("请添加分段!"); } - pipeDiameterStatis(null); + pipeDiameterStatis(polygon); } /// /// 给表格绑定数据 @@ -170,14 +162,15 @@ { try { - dic.Clear(); ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); - for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { + for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) + { GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); - for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { - + for (int j = 0; j < dataGridViewX2.Rows.Count; j++) + { object tempUp = dataGridViewX2.Rows[j].Cells["上限"].Value; double? upLimit = null; if (tempUp != null) upLimit = Convert.ToDouble(tempUp); @@ -185,27 +178,23 @@ object tempDown = dataGridViewX2.Rows[j].Cells["下限"].Value; double? downLimit = null; if (tempDown != null) downLimit = Convert.ToDouble(tempDown); - if (upLimit == null && downLimit == null) continue;//空行过滤 + if (upLimit == null && downLimit == null) continue;//空行过滤 //获取符合条件的管线 - FeaturesClassfyResult result = service.GetPipesInfoByValueSection(polygon, layer, downLimit, upLimit, "管径_毫米"); - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layer.Caption; - row.Cells["管径范围"].Value = result.groupFieldValue; - row.Cells["条数"].Value = result.ncount; - row.Cells["总长度"].Value = Math.Round(result.sum, 2); - dic.Add(layer.Caption + "," + row.Cells["管径范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + FeaturesClassfyResult result = service.GetPipesInfoByValueSection(polygon, layer, downLimit, upLimit, "管径"); + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layer.Caption; + row.Cells["管径范围"].Value = result.groupFieldValue; + row.Cells["条数"].Value = result.ncount; + row.Cells["总长度"].Value = Math.Round(result.sum, 2); + dic.Add(layer.Caption + "," + row.Cells["管径范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); } } - - showPipeWidget(); } catch (Exception ex) { - //MessageBox.Show(ex.Message); LogHelper.Error(ex.Message); LogError.PublishError(ex); } @@ -215,8 +204,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -266,7 +253,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -357,8 +344,6 @@ myStream.Close(); } } - - } /// /// 绘制区域分段统计 @@ -367,28 +352,6 @@ /// private void buttonX9_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (dataGridViewX2.Rows.Count == 0) { - MessageBox.Show("请添加分段!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层!"); @@ -399,21 +362,8 @@ MessageBox.Show("请添加分段!"); return; } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - + pipeDiameterStatis(polygon); } - /// /// 窗体关闭事件处理 /// @@ -421,15 +371,10 @@ /// private void Frmpipediameterstatis_FormClosing(object sender, FormClosingEventArgs e) { - frm = null; - - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); + frm = null; + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { if (e.Control.GetType().BaseType.Name == "TextBox") diff --git a/MainFrm.cs b/MainFrm.cs index 9732fad..2d57cd7 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -1880,7 +1880,27 @@ globeControl1.Globe.Action = EnumAction3D.ActionNull; break; + case "pipeDiameter"://绘制区域管径分段统计 + Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "depthStatistic"://绘制区域埋深分段统计 + FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "materialStatistic": + FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "pipeStatistic"://管径分类 + trackflag = null; + FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; case "pit": double depth; FrmTackPolygonDlg dlg = new FrmTackPolygonDlg(); @@ -5665,7 +5685,7 @@ private void 管径分段统计ToolStripMenuItem_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分段统计"); - Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 管径分段统计绘制区域统计 @@ -5675,8 +5695,14 @@ private void 管径分段统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分段统计"); + trackflag = "pipeDiameter"; + + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 埋深分段统计全区域统计 @@ -5686,7 +5712,7 @@ private void 埋深分段统计ToolStripMenuItem_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "埋深分段统计"); - FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 埋深分段统计绘制区域统计 @@ -5696,8 +5722,13 @@ private void 埋深分段统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "埋深分段统计"); + trackflag = "depthStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + * */ } /// /// 管径分类统计全区域统计 @@ -5708,7 +5739,7 @@ { LogManager.saveLog(Utility.userName, "管径分类汇总"); - FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 管径分类统计绘制区域统计 @@ -5718,9 +5749,13 @@ private void 管径分类统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分类汇总"); - + trackflag = "pipeStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 材质分类统计全区域统计 @@ -5731,7 +5766,7 @@ { LogManager.saveLog(Utility.userName, "材质分类汇总"); - FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 材质分类统计绘制区域统计 @@ -5741,9 +5776,13 @@ private void 材质分类统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "材质分类汇总"); - + trackflag = "materialStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 附属物分类统计全区域统计 @@ -7577,10 +7616,12 @@ splitContainer1.Panel2Collapsed = true; legendSG.Visible = false; legendSC.Visible = false; - ClearGZData(); + //ClearGZData(); GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer == null) return; redLayer.Visible = true; + + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", true); } catch (Exception ex) { @@ -7614,6 +7655,8 @@ GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer != null) redLayer.Visible = false; + + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", false); } catch (Exception ex) { @@ -7636,10 +7679,11 @@ panelOfTable.Visible = false; legendSC.Visible = false; legendSG.Visible = false; - ClearGZData(); + //ClearGZData(); GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer == null) return; redLayer.Visible = false; + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", false); } catch (Exception ex) { diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/FrmLineCoordinate.designer.cs b/FrmLineCoordinate.designer.cs index 3149abf..0a3fbb7 100644 --- a/FrmLineCoordinate.designer.cs +++ b/FrmLineCoordinate.designer.cs @@ -138,6 +138,7 @@ this.checkBoxX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.checkBoxX3.TabIndex = 88; this.checkBoxX3.Text = "管沟"; + this.checkBoxX3.Visible = false; this.checkBoxX3.CheckedChanged += new System.EventHandler(this.checkBoxX3_CheckedChanged); // // checkBoxX2 diff --git a/FrmpipeDeepstatis.Designer.cs b/FrmpipeDeepstatis.Designer.cs index ef5a119..2627350 100644 --- a/FrmpipeDeepstatis.Designer.cs +++ b/FrmpipeDeepstatis.Designer.cs @@ -36,13 +36,11 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -53,6 +51,7 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.dataGridViewX2 = new DevComponents.DotNetBar.Controls.DataGridViewX(); this.下限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.上限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,42 +69,18 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(123, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 9; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(123, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 6; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -139,14 +114,14 @@ this.条数, this.总长度}); this.dataGridViewX1.ContextMenuStrip = this.contextMenuStrip1; - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(3, 3); @@ -206,6 +181,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(786, 304); + this.chart1.TabIndex = 3; + this.chart1.Text = "chart1"; + // // dataGridViewX2 // this.dataGridViewX2.AllowUserToAddRows = false; @@ -213,14 +204,14 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.下限, this.上限}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; this.dataGridViewX2.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(493, 23); @@ -234,18 +225,18 @@ // // 下限 // - dataGridViewCellStyle1.Format = "N2"; - dataGridViewCellStyle1.NullValue = null; - this.下限.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.Format = "N2"; + dataGridViewCellStyle2.NullValue = null; + this.下限.DefaultCellStyle = dataGridViewCellStyle2; this.下限.HeaderText = "下限"; this.下限.Name = "下限"; this.下限.Width = 60; // // 上限 // - dataGridViewCellStyle6.Format = "N2"; - dataGridViewCellStyle6.NullValue = null; - this.上限.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle3.Format = "N2"; + dataGridViewCellStyle3.NullValue = null; + this.上限.DefaultCellStyle = dataGridViewCellStyle3; this.上限.HeaderText = "上限"; this.上限.Name = "上限"; this.上限.Width = 60; @@ -453,7 +444,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX2, 2, 0); this.tableLayoutPanel2.Controls.Add(this.lstpipeRadius, 2, 1); this.tableLayoutPanel2.Controls.Add(this.dataGridViewX2, 4, 1); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); @@ -467,21 +457,17 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(800, 194); this.tableLayoutPanel2.TabIndex = 11; // - // chart1 + // buttonX8 // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(786, 304); - this.chart1.TabIndex = 3; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(123, 23); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // FrmpipeDeepstatis // @@ -503,18 +489,16 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -543,5 +527,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/FrmpipeDeepstatis.cs b/FrmpipeDeepstatis.cs index 8d915a9..f034488 100644 --- a/FrmpipeDeepstatis.cs +++ b/FrmpipeDeepstatis.cs @@ -12,41 +12,40 @@ namespace Cyberpipe { - public partial class FrmpipeDeepstatis :Office2007Form + public partial class FrmpipeDeepstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames; - + List pipeLayerNames = new List(); + GSOGeoPolygon3D polygon; static FrmpipeDeepstatis frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDeepstatis(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDeepstatis(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); - }else if (frm.WindowState == FormWindowState.Minimized) + } + else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } } - public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = globeControl; - pipeLayerNames = pipeLayers; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; + if (!pipeLayers[i].Contains("SG")) + { + pipeLayerNames.Add(pipeLayers[i]); + } } + //pipeLayerNames = pipeLayers; + polygon = _polygon; } /// /// 上限、下限按钮事件处理 @@ -121,7 +120,6 @@ dataGridViewX2.Rows.Remove(row); } } - /// /// 给表格绑定数据 /// @@ -130,12 +128,11 @@ { try { - dic.Clear() ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { @@ -159,7 +156,7 @@ row.Cells["总长度"].Value = Math.Round(result.sum, 2); dic.Add(layer.Caption + "," + row.Cells["埋深范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + } } @@ -176,8 +173,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -210,44 +205,13 @@ /// /// private void FrmpipeDeepstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } - } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层"); - return; } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - } + /// /// 全选 /// @@ -270,7 +234,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -292,25 +256,6 @@ /// private void buttonX8_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层"); - return; - } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - pipeDiameterStatis(null); - } - /// - /// 绘制区域分段统计 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层"); @@ -321,13 +266,8 @@ MessageBox.Show("请添加分段"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } - - /// /// 导出Excel按钮事件处理 /// @@ -406,7 +346,7 @@ MessageBox.Show("统计结果为空,请重新统计之后再导出Excel!", "提示"); } } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { MemberInfo memberInfo = e.Control.GetType().BaseType; @@ -452,11 +392,6 @@ private void FrmpipeDeepstatis_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } } diff --git a/FrmpipeDeepstatis.resx b/FrmpipeDeepstatis.resx index b2dd89f..e1ca348 100644 --- a/FrmpipeDeepstatis.resx +++ b/FrmpipeDeepstatis.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - True @@ -132,6 +129,9 @@ True + + 17, 17 + True diff --git a/FrmpipeDiametergather.Designer.cs b/FrmpipeDiametergather.Designer.cs index 2cb5d15..697b8aa 100644 --- a/FrmpipeDiametergather.Designer.cs +++ b/FrmpipeDiametergather.Designer.cs @@ -37,9 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea9 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -47,6 +45,8 @@ this.管径 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX3 = new DevComponents.DotNetBar.ButtonX(); @@ -56,46 +56,19 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(3, 167); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(108, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 14; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX8.Location = new System.Drawing.Point(3, 117); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(108, 24); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 11; - this.buttonX8.Text = "全区域分类汇总"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tableLayoutPanel1.SetColumnSpan(this.tabControl1, 6); @@ -172,22 +145,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(832, 285); + this.tabPage2.Size = new System.Drawing.Size(572, 274); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea9.AxisX.MajorGrid.Enabled = false; - chartArea9.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea9); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -244,7 +231,6 @@ this.clbPipeLine.Size = new System.Drawing.Size(240, 194); this.clbPipeLine.TabIndex = 1; this.clbPipeLine.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.clbPipeLine_ItemCheck); - //this.clbPipeLine.SelectedIndexChanged += new System.EventHandler(this.clbPipeLine_SelectedIndexChanged); // // labelX1 // @@ -300,25 +286,10 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(64, 194); this.tableLayoutPanel2.TabIndex = 15; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // tableLayoutPanel3 // this.tableLayoutPanel3.ColumnCount = 1; this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel3.Controls.Add(this.buttonX8, 0, 1); this.tableLayoutPanel3.Controls.Add(this.buttonX9, 0, 3); this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel3.Location = new System.Drawing.Point(439, 23); @@ -331,6 +302,19 @@ this.tableLayoutPanel3.Size = new System.Drawing.Size(114, 194); this.tableLayoutPanel3.TabIndex = 16; // + // buttonX9 + // + this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonX9.Location = new System.Drawing.Point(3, 167); + this.buttonX9.Name = "buttonX9"; + this.buttonX9.Size = new System.Drawing.Size(108, 24); + this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX9.TabIndex = 14; + this.buttonX9.Text = "开始统计"; + this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); + // // FrmpipeDiametergather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -349,11 +333,11 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.tableLayoutPanel3.ResumeLayout(false); this.ResumeLayout(false); @@ -361,8 +345,6 @@ #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -382,5 +364,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private TableLayoutPanel tableLayoutPanel3; + private ButtonX buttonX9; } } \ No newline at end of file diff --git a/FrmpipeDiametergather.cs b/FrmpipeDiametergather.cs index c09aaf1..0545383 100644 --- a/FrmpipeDiametergather.cs +++ b/FrmpipeDiametergather.cs @@ -16,15 +16,15 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeDiametergather frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDiametergather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDiametergather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if (frm.WindowState == FormWindowState.Minimized) @@ -33,23 +33,11 @@ } } - public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } - - } /// /// 窗体初始化事件处理 @@ -63,32 +51,7 @@ clbPipeLine.Items.Add(pipeLayerNames[i]); } } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } + /// /// 全选 /// @@ -154,14 +117,9 @@ MessageBox.Show("请选择图层!"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - + pipeDiameterStatis(polygon); + } /// /// 给表格绑定数据 /// @@ -392,10 +350,6 @@ private void FrmpipeDiametergather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } diff --git a/FrmpipeMaterialGather.Designer.cs b/FrmpipeMaterialGather.Designer.cs index d03f476..3ad7cbd 100644 --- a/FrmpipeMaterialGather.Designer.cs +++ b/FrmpipeMaterialGather.Designer.cs @@ -37,8 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); @@ -47,6 +46,8 @@ this.材质 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX4 = new DevComponents.DotNetBar.ButtonX(); @@ -60,31 +61,16 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(523, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(114, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 19; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // // buttonX8 // this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; @@ -95,7 +81,7 @@ this.buttonX8.Size = new System.Drawing.Size(114, 23); this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.buttonX8.TabIndex = 16; - this.buttonX8.Text = "全区域分类汇总"; + this.buttonX8.Text = "开始汇总"; this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // tabControl1 @@ -173,22 +159,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(547, 313); + this.tabPage2.Size = new System.Drawing.Size(669, 318); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea3.AxisX.MajorGrid.Enabled = false; - chartArea3.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea3); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -340,7 +340,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX1, 0, 0); this.tableLayoutPanel2.Controls.Add(this.clbPipeLine, 0, 1); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 4, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 4, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX4, 3, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.clbmaterials, 2, 1); @@ -360,20 +359,6 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(677, 194); this.tableLayoutPanel2.TabIndex = 21; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // FrmpipeMaterialGather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -392,18 +377,17 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; diff --git a/FrmpipeMaterialGather.cs b/FrmpipeMaterialGather.cs index 5ca8144..00a7565 100644 --- a/FrmpipeMaterialGather.cs +++ b/FrmpipeMaterialGather.cs @@ -16,13 +16,13 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeMaterialGather frm; - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeMaterialGather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeMaterialGather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if(frm.WindowState == FormWindowState.Minimized) @@ -31,21 +31,12 @@ } } - public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -82,31 +73,6 @@ } /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } - /// /// 全选按钮事件处理 /// /// @@ -284,28 +250,7 @@ return; } globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(null); - } - /// - /// 绘制区域分类汇总 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (clbmaterials.CheckedItems.Count == 0) - { - MessageBox.Show("请选择材质类型!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } /// @@ -316,10 +261,7 @@ private void FrmpipeMaterialGather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } /// diff --git a/Frmpipediameterstatis.Designer.cs b/Frmpipediameterstatis.Designer.cs index b219ce5..089b897 100644 --- a/Frmpipediameterstatis.Designer.cs +++ b/Frmpipediameterstatis.Designer.cs @@ -55,7 +55,6 @@ this.buttonX1 = new DevComponents.DotNetBar.ButtonX(); this.clbPipeLine = new System.Windows.Forms.CheckedListBox(); this.labelX1 = new DevComponents.DotNetBar.LabelX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -66,20 +65,20 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); this.buttonX7 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // // dataGridViewX2 @@ -278,18 +277,6 @@ this.labelX1.TabIndex = 0; this.labelX1.Text = "指定图层:"; // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(112, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 1; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -390,6 +377,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(776, 355); + this.chart1.TabIndex = 2; + this.chart1.Text = "chart1"; + // // tableLayoutPanel1 // this.tableLayoutPanel1.ColumnCount = 1; @@ -428,7 +431,6 @@ this.tableLayoutPanel2.Controls.Add(this.buttonX2, 1, 2); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); this.tableLayoutPanel2.Name = "tableLayoutPanel2"; @@ -453,33 +455,17 @@ this.buttonX7.Text = "删除行"; this.buttonX7.Click += new System.EventHandler(this.buttonX7_Click); // - // buttonX9 + // buttonX8 // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(112, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 4; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // chart1 - // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(776, 355); - this.chart1.TabIndex = 2; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(112, 24); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // Frmpipediameterstatis // @@ -502,9 +488,9 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } @@ -522,7 +508,6 @@ private ButtonX buttonX6; private ButtonX buttonX5; private ButtonX buttonX4; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private TabPage tabPage2; @@ -538,8 +523,8 @@ private TableLayoutPanel tableLayoutPanel1; private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; - private ButtonX buttonX9; private ButtonX buttonX7; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/Frmpipediameterstatis.cs b/Frmpipediameterstatis.cs index 48ac35f..27f134b 100644 --- a/Frmpipediameterstatis.cs +++ b/Frmpipediameterstatis.cs @@ -11,44 +11,37 @@ namespace Cyberpipe { - public partial class Frmpipediameterstatis :Office2007Form + public partial class Frmpipediameterstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames ; - + List pipeLayerNames = new List(); static Frmpipediameterstatis frm; -// private MainFrm.PageControlStuct _pageControl; + GSOGeoPolygon3D polygon; + Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new Frmpipediameterstatis(_globeControl1, pipeLayers, visibleId); + frm = new Frmpipediameterstatis(_globeControl1, pipeLayers, _polygon); frm.Show(_globeControl1.Parent); } else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; - } + } } - public Frmpipediameterstatis(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public Frmpipediameterstatis(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; - pipeLayerNames = pipeLayers; -// _pageControl = pageControl; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; + if (!pipeLayers[i].Contains("SG")) + pipeLayerNames.Add(pipeLayers[i]); } - if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -56,13 +49,12 @@ /// /// private void Frmpipediameterstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } + } } - /// /// 上限按钮事件处理 /// @@ -75,7 +67,7 @@ DataGridViewRow row = dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; if (lstpipeRadius.SelectedItem != null) { - if (row.Cells["下限"].Value != null&& row.Cells["下限"].Value.ToString() != "") + if (row.Cells["下限"].Value != null && row.Cells["下限"].Value.ToString() != "") { double downRadius = Convert.ToDouble(row.Cells["下限"].Value); double upRadius = Convert.ToDouble(lstpipeRadius.SelectedItem.ToString()); @@ -138,13 +130,13 @@ private void buttonX7_Click(object sender, EventArgs e) { if (dataGridViewX2.SelectedCells.Count > 0) - { - DataGridViewRow row=dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; + { + DataGridViewRow row = dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; dataGridViewX2.Rows.Remove(row); } } - - Dictionary dic = new Dictionary(); + + /// /// 全区域分段统计 /// @@ -160,7 +152,7 @@ { MessageBox.Show("请添加分段!"); } - pipeDiameterStatis(null); + pipeDiameterStatis(polygon); } /// /// 给表格绑定数据 @@ -170,14 +162,15 @@ { try { - dic.Clear(); ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); - for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { + for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) + { GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); - for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { - + for (int j = 0; j < dataGridViewX2.Rows.Count; j++) + { object tempUp = dataGridViewX2.Rows[j].Cells["上限"].Value; double? upLimit = null; if (tempUp != null) upLimit = Convert.ToDouble(tempUp); @@ -185,27 +178,23 @@ object tempDown = dataGridViewX2.Rows[j].Cells["下限"].Value; double? downLimit = null; if (tempDown != null) downLimit = Convert.ToDouble(tempDown); - if (upLimit == null && downLimit == null) continue;//空行过滤 + if (upLimit == null && downLimit == null) continue;//空行过滤 //获取符合条件的管线 - FeaturesClassfyResult result = service.GetPipesInfoByValueSection(polygon, layer, downLimit, upLimit, "管径_毫米"); - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layer.Caption; - row.Cells["管径范围"].Value = result.groupFieldValue; - row.Cells["条数"].Value = result.ncount; - row.Cells["总长度"].Value = Math.Round(result.sum, 2); - dic.Add(layer.Caption + "," + row.Cells["管径范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + FeaturesClassfyResult result = service.GetPipesInfoByValueSection(polygon, layer, downLimit, upLimit, "管径"); + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layer.Caption; + row.Cells["管径范围"].Value = result.groupFieldValue; + row.Cells["条数"].Value = result.ncount; + row.Cells["总长度"].Value = Math.Round(result.sum, 2); + dic.Add(layer.Caption + "," + row.Cells["管径范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); } } - - showPipeWidget(); } catch (Exception ex) { - //MessageBox.Show(ex.Message); LogHelper.Error(ex.Message); LogError.PublishError(ex); } @@ -215,8 +204,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -266,7 +253,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -357,8 +344,6 @@ myStream.Close(); } } - - } /// /// 绘制区域分段统计 @@ -367,28 +352,6 @@ /// private void buttonX9_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (dataGridViewX2.Rows.Count == 0) { - MessageBox.Show("请添加分段!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层!"); @@ -399,21 +362,8 @@ MessageBox.Show("请添加分段!"); return; } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - + pipeDiameterStatis(polygon); } - /// /// 窗体关闭事件处理 /// @@ -421,15 +371,10 @@ /// private void Frmpipediameterstatis_FormClosing(object sender, FormClosingEventArgs e) { - frm = null; - - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); + frm = null; + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { if (e.Control.GetType().BaseType.Name == "TextBox") diff --git a/MainFrm.cs b/MainFrm.cs index 9732fad..2d57cd7 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -1880,7 +1880,27 @@ globeControl1.Globe.Action = EnumAction3D.ActionNull; break; + case "pipeDiameter"://绘制区域管径分段统计 + Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "depthStatistic"://绘制区域埋深分段统计 + FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "materialStatistic": + FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "pipeStatistic"://管径分类 + trackflag = null; + FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; case "pit": double depth; FrmTackPolygonDlg dlg = new FrmTackPolygonDlg(); @@ -5665,7 +5685,7 @@ private void 管径分段统计ToolStripMenuItem_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分段统计"); - Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 管径分段统计绘制区域统计 @@ -5675,8 +5695,14 @@ private void 管径分段统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分段统计"); + trackflag = "pipeDiameter"; + + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 埋深分段统计全区域统计 @@ -5686,7 +5712,7 @@ private void 埋深分段统计ToolStripMenuItem_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "埋深分段统计"); - FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 埋深分段统计绘制区域统计 @@ -5696,8 +5722,13 @@ private void 埋深分段统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "埋深分段统计"); + trackflag = "depthStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + * */ } /// /// 管径分类统计全区域统计 @@ -5708,7 +5739,7 @@ { LogManager.saveLog(Utility.userName, "管径分类汇总"); - FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 管径分类统计绘制区域统计 @@ -5718,9 +5749,13 @@ private void 管径分类统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分类汇总"); - + trackflag = "pipeStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 材质分类统计全区域统计 @@ -5731,7 +5766,7 @@ { LogManager.saveLog(Utility.userName, "材质分类汇总"); - FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 材质分类统计绘制区域统计 @@ -5741,9 +5776,13 @@ private void 材质分类统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "材质分类汇总"); - + trackflag = "materialStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 附属物分类统计全区域统计 @@ -7577,10 +7616,12 @@ splitContainer1.Panel2Collapsed = true; legendSG.Visible = false; legendSC.Visible = false; - ClearGZData(); + //ClearGZData(); GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer == null) return; redLayer.Visible = true; + + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", true); } catch (Exception ex) { @@ -7614,6 +7655,8 @@ GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer != null) redLayer.Visible = false; + + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", false); } catch (Exception ex) { @@ -7636,10 +7679,11 @@ panelOfTable.Visible = false; legendSC.Visible = false; legendSG.Visible = false; - ClearGZData(); + //ClearGZData(); GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer == null) return; redLayer.Visible = false; + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", false); } catch (Exception ex) { diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index 943beed..86eae6e 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -112,7 +112,6 @@ this.sideBar1 = new DevComponents.DotNetBar.SideBar(); this.panelEx3 = new DevComponents.DotNetBar.PanelEx(); this.layerSensorTree = new System.Windows.Forms.TreeView(); - this.layerTree = new Cyberpipe.MyTreeView(); this.sideBarPanelItem3 = new DevComponents.DotNetBar.SideBarPanelItem(); this.controlContainerItem3 = new DevComponents.DotNetBar.ControlContainerItem(); this.sideBarPanelItem4 = new DevComponents.DotNetBar.SideBarPanelItem(); @@ -541,6 +540,7 @@ this.labelX17 = new DevComponents.DotNetBar.LabelX(); this.panelEx4 = new DevComponents.DotNetBar.PanelEx(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.layerTree = new Cyberpipe.MyTreeView(); this.statusStrip1.SuspendLayout(); this.sideBar1.SuspendLayout(); this.panelEx3.SuspendLayout(); @@ -979,18 +979,6 @@ this.layerSensorTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerMarkerTree_NodeMouseClick); this.layerSensorTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); // - // layerTree - // - this.layerTree.CheckBoxes = true; - this.layerTree.ItemHeight = 18; - this.layerTree.Location = new System.Drawing.Point(30, 78); - this.layerTree.Name = "layerTree"; - this.layerTree.Size = new System.Drawing.Size(121, 97); - this.layerTree.TabIndex = 1; - this.layerTree.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree_AfterCheck); - this.layerTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseClick); - this.layerTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); - // // sideBarPanelItem3 // this.sideBarPanelItem3.FontBold = true; @@ -2135,13 +2123,13 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel15); - this.ribbonControl1.Controls.Add(this.ribbonPanel1); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); - this.ribbonControl1.Controls.Add(this.ribbonPanel5); this.ribbonControl1.Controls.Add(this.ribbonPanel12); + this.ribbonControl1.Controls.Add(this.ribbonPanel1); + this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel4); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); this.ribbonControl1.Controls.Add(this.ribbonPanel7); this.ribbonControl1.Controls.Add(this.ribbonPanel3); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; @@ -2192,10 +2180,10 @@ this.ribbonPanel6.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel6.Controls.Add(this.ribbonBar6); this.ribbonPanel6.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel6.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel6.Location = new System.Drawing.Point(0, 0); this.ribbonPanel6.Name = "ribbonPanel6"; this.ribbonPanel6.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel6.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel6.Size = new System.Drawing.Size(1328, 95); // // // @@ -2212,6 +2200,7 @@ this.ribbonPanel6.StyleMouseOver.Class = ""; this.ribbonPanel6.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel6.TabIndex = 38; + this.ribbonPanel6.Visible = false; // // ribbonBar6 // @@ -2236,7 +2225,7 @@ this.buttonItemGBJC}); this.ribbonBar6.Location = new System.Drawing.Point(3, 0); this.ribbonBar6.Name = "ribbonBar6"; - this.ribbonBar6.Size = new System.Drawing.Size(427, 59); + this.ribbonBar6.Size = new System.Drawing.Size(427, 92); this.ribbonBar6.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar6.TabIndex = 0; // @@ -2322,7 +2311,6 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; - this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -2449,6 +2437,7 @@ this.buttonItem4.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem4.Image"))); this.buttonItem4.Name = "buttonItem4"; this.buttonItem4.Text = "删除"; + this.buttonItem4.Visible = false; this.buttonItem4.Click += new System.EventHandler(this.buttonItemBJ13_Click); // // buttonItemSJGL @@ -2780,10 +2769,10 @@ this.ribbonPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel1.Controls.Add(this.ribbonBar21); this.ribbonPanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel1.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel1.Location = new System.Drawing.Point(0, 0); this.ribbonPanel1.Name = "ribbonPanel1"; this.ribbonPanel1.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel1.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel1.Size = new System.Drawing.Size(1328, 95); // // // @@ -2827,7 +2816,7 @@ this.btnOutputJPG}); this.ribbonBar21.Location = new System.Drawing.Point(3, 0); this.ribbonBar21.Name = "ribbonBar21"; - this.ribbonBar21.Size = new System.Drawing.Size(514, 59); + this.ribbonBar21.Size = new System.Drawing.Size(514, 92); this.ribbonBar21.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar21.TabIndex = 2; this.ribbonBar21.Text = "浏览模式"; @@ -3128,10 +3117,10 @@ this.ribbonPanel12.Controls.Add(this.ribbonBar18); this.ribbonPanel12.Controls.Add(this.ribbonBar13); this.ribbonPanel12.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel12.Location = new System.Drawing.Point(0, 0); + this.ribbonPanel12.Location = new System.Drawing.Point(0, 33); this.ribbonPanel12.Name = "ribbonPanel12"; this.ribbonPanel12.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel12.Size = new System.Drawing.Size(1328, 95); + this.ribbonPanel12.Size = new System.Drawing.Size(1328, 62); // // // @@ -3170,7 +3159,7 @@ this.buttonItem132}); this.ribbonBar18.Location = new System.Drawing.Point(508, 0); this.ribbonBar18.Name = "ribbonBar18"; - this.ribbonBar18.Size = new System.Drawing.Size(75, 92); + this.ribbonBar18.Size = new System.Drawing.Size(75, 59); this.ribbonBar18.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar18.TabIndex = 1; // @@ -3222,7 +3211,7 @@ this.btn_check_history}); this.ribbonBar13.Location = new System.Drawing.Point(3, 0); this.ribbonBar13.Name = "ribbonBar13"; - this.ribbonBar13.Size = new System.Drawing.Size(505, 92); + this.ribbonBar13.Size = new System.Drawing.Size(505, 59); this.ribbonBar13.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar13.TabIndex = 0; // @@ -3297,10 +3286,10 @@ this.ribbonPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel4.Controls.Add(this.ribbonBar1); this.ribbonPanel4.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel4.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel4.Location = new System.Drawing.Point(0, 0); this.ribbonPanel4.Name = "ribbonPanel4"; this.ribbonPanel4.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel4.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel4.Size = new System.Drawing.Size(1328, 95); // // // @@ -3338,7 +3327,7 @@ this.btn_document_info}); this.ribbonBar1.Location = new System.Drawing.Point(3, 0); this.ribbonBar1.Name = "ribbonBar1"; - this.ribbonBar1.Size = new System.Drawing.Size(200, 59); + this.ribbonBar1.Size = new System.Drawing.Size(200, 92); this.ribbonBar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar1.TabIndex = 0; // @@ -3597,7 +3586,6 @@ // ribbonTabItem9 // this.ribbonTabItem9.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem9.Checked = true; this.ribbonTabItem9.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.HoverImage"))); this.ribbonTabItem9.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.Image"))); this.ribbonTabItem9.Name = "ribbonTabItem9"; @@ -3618,6 +3606,7 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -5959,6 +5948,18 @@ this.pictureBox1.TabStop = false; this.pictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(this.pictureBox1_Paint); // + // layerTree + // + this.layerTree.CheckBoxes = true; + this.layerTree.ItemHeight = 18; + this.layerTree.Location = new System.Drawing.Point(30, 78); + this.layerTree.Name = "layerTree"; + this.layerTree.Size = new System.Drawing.Size(121, 97); + this.layerTree.TabIndex = 1; + this.layerTree.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree_AfterCheck); + this.layerTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseClick); + this.layerTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); + // // MainFrm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/FrmLineCoordinate.designer.cs b/FrmLineCoordinate.designer.cs index 3149abf..0a3fbb7 100644 --- a/FrmLineCoordinate.designer.cs +++ b/FrmLineCoordinate.designer.cs @@ -138,6 +138,7 @@ this.checkBoxX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.checkBoxX3.TabIndex = 88; this.checkBoxX3.Text = "管沟"; + this.checkBoxX3.Visible = false; this.checkBoxX3.CheckedChanged += new System.EventHandler(this.checkBoxX3_CheckedChanged); // // checkBoxX2 diff --git a/FrmpipeDeepstatis.Designer.cs b/FrmpipeDeepstatis.Designer.cs index ef5a119..2627350 100644 --- a/FrmpipeDeepstatis.Designer.cs +++ b/FrmpipeDeepstatis.Designer.cs @@ -36,13 +36,11 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -53,6 +51,7 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.dataGridViewX2 = new DevComponents.DotNetBar.Controls.DataGridViewX(); this.下限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.上限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,42 +69,18 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(123, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 9; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(123, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 6; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -139,14 +114,14 @@ this.条数, this.总长度}); this.dataGridViewX1.ContextMenuStrip = this.contextMenuStrip1; - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(3, 3); @@ -206,6 +181,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(786, 304); + this.chart1.TabIndex = 3; + this.chart1.Text = "chart1"; + // // dataGridViewX2 // this.dataGridViewX2.AllowUserToAddRows = false; @@ -213,14 +204,14 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.下限, this.上限}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; this.dataGridViewX2.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(493, 23); @@ -234,18 +225,18 @@ // // 下限 // - dataGridViewCellStyle1.Format = "N2"; - dataGridViewCellStyle1.NullValue = null; - this.下限.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.Format = "N2"; + dataGridViewCellStyle2.NullValue = null; + this.下限.DefaultCellStyle = dataGridViewCellStyle2; this.下限.HeaderText = "下限"; this.下限.Name = "下限"; this.下限.Width = 60; // // 上限 // - dataGridViewCellStyle6.Format = "N2"; - dataGridViewCellStyle6.NullValue = null; - this.上限.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle3.Format = "N2"; + dataGridViewCellStyle3.NullValue = null; + this.上限.DefaultCellStyle = dataGridViewCellStyle3; this.上限.HeaderText = "上限"; this.上限.Name = "上限"; this.上限.Width = 60; @@ -453,7 +444,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX2, 2, 0); this.tableLayoutPanel2.Controls.Add(this.lstpipeRadius, 2, 1); this.tableLayoutPanel2.Controls.Add(this.dataGridViewX2, 4, 1); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); @@ -467,21 +457,17 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(800, 194); this.tableLayoutPanel2.TabIndex = 11; // - // chart1 + // buttonX8 // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(786, 304); - this.chart1.TabIndex = 3; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(123, 23); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // FrmpipeDeepstatis // @@ -503,18 +489,16 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -543,5 +527,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/FrmpipeDeepstatis.cs b/FrmpipeDeepstatis.cs index 8d915a9..f034488 100644 --- a/FrmpipeDeepstatis.cs +++ b/FrmpipeDeepstatis.cs @@ -12,41 +12,40 @@ namespace Cyberpipe { - public partial class FrmpipeDeepstatis :Office2007Form + public partial class FrmpipeDeepstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames; - + List pipeLayerNames = new List(); + GSOGeoPolygon3D polygon; static FrmpipeDeepstatis frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDeepstatis(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDeepstatis(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); - }else if (frm.WindowState == FormWindowState.Minimized) + } + else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } } - public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = globeControl; - pipeLayerNames = pipeLayers; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; + if (!pipeLayers[i].Contains("SG")) + { + pipeLayerNames.Add(pipeLayers[i]); + } } + //pipeLayerNames = pipeLayers; + polygon = _polygon; } /// /// 上限、下限按钮事件处理 @@ -121,7 +120,6 @@ dataGridViewX2.Rows.Remove(row); } } - /// /// 给表格绑定数据 /// @@ -130,12 +128,11 @@ { try { - dic.Clear() ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { @@ -159,7 +156,7 @@ row.Cells["总长度"].Value = Math.Round(result.sum, 2); dic.Add(layer.Caption + "," + row.Cells["埋深范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + } } @@ -176,8 +173,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -210,44 +205,13 @@ /// /// private void FrmpipeDeepstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } - } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层"); - return; } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - } + /// /// 全选 /// @@ -270,7 +234,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -292,25 +256,6 @@ /// private void buttonX8_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层"); - return; - } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - pipeDiameterStatis(null); - } - /// - /// 绘制区域分段统计 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层"); @@ -321,13 +266,8 @@ MessageBox.Show("请添加分段"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } - - /// /// 导出Excel按钮事件处理 /// @@ -406,7 +346,7 @@ MessageBox.Show("统计结果为空,请重新统计之后再导出Excel!", "提示"); } } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { MemberInfo memberInfo = e.Control.GetType().BaseType; @@ -452,11 +392,6 @@ private void FrmpipeDeepstatis_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } } diff --git a/FrmpipeDeepstatis.resx b/FrmpipeDeepstatis.resx index b2dd89f..e1ca348 100644 --- a/FrmpipeDeepstatis.resx +++ b/FrmpipeDeepstatis.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - True @@ -132,6 +129,9 @@ True + + 17, 17 + True diff --git a/FrmpipeDiametergather.Designer.cs b/FrmpipeDiametergather.Designer.cs index 2cb5d15..697b8aa 100644 --- a/FrmpipeDiametergather.Designer.cs +++ b/FrmpipeDiametergather.Designer.cs @@ -37,9 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea9 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -47,6 +45,8 @@ this.管径 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX3 = new DevComponents.DotNetBar.ButtonX(); @@ -56,46 +56,19 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(3, 167); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(108, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 14; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX8.Location = new System.Drawing.Point(3, 117); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(108, 24); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 11; - this.buttonX8.Text = "全区域分类汇总"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tableLayoutPanel1.SetColumnSpan(this.tabControl1, 6); @@ -172,22 +145,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(832, 285); + this.tabPage2.Size = new System.Drawing.Size(572, 274); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea9.AxisX.MajorGrid.Enabled = false; - chartArea9.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea9); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -244,7 +231,6 @@ this.clbPipeLine.Size = new System.Drawing.Size(240, 194); this.clbPipeLine.TabIndex = 1; this.clbPipeLine.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.clbPipeLine_ItemCheck); - //this.clbPipeLine.SelectedIndexChanged += new System.EventHandler(this.clbPipeLine_SelectedIndexChanged); // // labelX1 // @@ -300,25 +286,10 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(64, 194); this.tableLayoutPanel2.TabIndex = 15; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // tableLayoutPanel3 // this.tableLayoutPanel3.ColumnCount = 1; this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel3.Controls.Add(this.buttonX8, 0, 1); this.tableLayoutPanel3.Controls.Add(this.buttonX9, 0, 3); this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel3.Location = new System.Drawing.Point(439, 23); @@ -331,6 +302,19 @@ this.tableLayoutPanel3.Size = new System.Drawing.Size(114, 194); this.tableLayoutPanel3.TabIndex = 16; // + // buttonX9 + // + this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonX9.Location = new System.Drawing.Point(3, 167); + this.buttonX9.Name = "buttonX9"; + this.buttonX9.Size = new System.Drawing.Size(108, 24); + this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX9.TabIndex = 14; + this.buttonX9.Text = "开始统计"; + this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); + // // FrmpipeDiametergather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -349,11 +333,11 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.tableLayoutPanel3.ResumeLayout(false); this.ResumeLayout(false); @@ -361,8 +345,6 @@ #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -382,5 +364,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private TableLayoutPanel tableLayoutPanel3; + private ButtonX buttonX9; } } \ No newline at end of file diff --git a/FrmpipeDiametergather.cs b/FrmpipeDiametergather.cs index c09aaf1..0545383 100644 --- a/FrmpipeDiametergather.cs +++ b/FrmpipeDiametergather.cs @@ -16,15 +16,15 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeDiametergather frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDiametergather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDiametergather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if (frm.WindowState == FormWindowState.Minimized) @@ -33,23 +33,11 @@ } } - public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } - - } /// /// 窗体初始化事件处理 @@ -63,32 +51,7 @@ clbPipeLine.Items.Add(pipeLayerNames[i]); } } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } + /// /// 全选 /// @@ -154,14 +117,9 @@ MessageBox.Show("请选择图层!"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - + pipeDiameterStatis(polygon); + } /// /// 给表格绑定数据 /// @@ -392,10 +350,6 @@ private void FrmpipeDiametergather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } diff --git a/FrmpipeMaterialGather.Designer.cs b/FrmpipeMaterialGather.Designer.cs index d03f476..3ad7cbd 100644 --- a/FrmpipeMaterialGather.Designer.cs +++ b/FrmpipeMaterialGather.Designer.cs @@ -37,8 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); @@ -47,6 +46,8 @@ this.材质 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX4 = new DevComponents.DotNetBar.ButtonX(); @@ -60,31 +61,16 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(523, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(114, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 19; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // // buttonX8 // this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; @@ -95,7 +81,7 @@ this.buttonX8.Size = new System.Drawing.Size(114, 23); this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.buttonX8.TabIndex = 16; - this.buttonX8.Text = "全区域分类汇总"; + this.buttonX8.Text = "开始汇总"; this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // tabControl1 @@ -173,22 +159,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(547, 313); + this.tabPage2.Size = new System.Drawing.Size(669, 318); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea3.AxisX.MajorGrid.Enabled = false; - chartArea3.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea3); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -340,7 +340,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX1, 0, 0); this.tableLayoutPanel2.Controls.Add(this.clbPipeLine, 0, 1); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 4, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 4, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX4, 3, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.clbmaterials, 2, 1); @@ -360,20 +359,6 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(677, 194); this.tableLayoutPanel2.TabIndex = 21; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // FrmpipeMaterialGather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -392,18 +377,17 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; diff --git a/FrmpipeMaterialGather.cs b/FrmpipeMaterialGather.cs index 5ca8144..00a7565 100644 --- a/FrmpipeMaterialGather.cs +++ b/FrmpipeMaterialGather.cs @@ -16,13 +16,13 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeMaterialGather frm; - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeMaterialGather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeMaterialGather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if(frm.WindowState == FormWindowState.Minimized) @@ -31,21 +31,12 @@ } } - public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -82,31 +73,6 @@ } /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } - /// /// 全选按钮事件处理 /// /// @@ -284,28 +250,7 @@ return; } globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(null); - } - /// - /// 绘制区域分类汇总 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (clbmaterials.CheckedItems.Count == 0) - { - MessageBox.Show("请选择材质类型!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } /// @@ -316,10 +261,7 @@ private void FrmpipeMaterialGather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } /// diff --git a/Frmpipediameterstatis.Designer.cs b/Frmpipediameterstatis.Designer.cs index b219ce5..089b897 100644 --- a/Frmpipediameterstatis.Designer.cs +++ b/Frmpipediameterstatis.Designer.cs @@ -55,7 +55,6 @@ this.buttonX1 = new DevComponents.DotNetBar.ButtonX(); this.clbPipeLine = new System.Windows.Forms.CheckedListBox(); this.labelX1 = new DevComponents.DotNetBar.LabelX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -66,20 +65,20 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); this.buttonX7 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // // dataGridViewX2 @@ -278,18 +277,6 @@ this.labelX1.TabIndex = 0; this.labelX1.Text = "指定图层:"; // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(112, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 1; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -390,6 +377,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(776, 355); + this.chart1.TabIndex = 2; + this.chart1.Text = "chart1"; + // // tableLayoutPanel1 // this.tableLayoutPanel1.ColumnCount = 1; @@ -428,7 +431,6 @@ this.tableLayoutPanel2.Controls.Add(this.buttonX2, 1, 2); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); this.tableLayoutPanel2.Name = "tableLayoutPanel2"; @@ -453,33 +455,17 @@ this.buttonX7.Text = "删除行"; this.buttonX7.Click += new System.EventHandler(this.buttonX7_Click); // - // buttonX9 + // buttonX8 // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(112, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 4; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // chart1 - // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(776, 355); - this.chart1.TabIndex = 2; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(112, 24); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // Frmpipediameterstatis // @@ -502,9 +488,9 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } @@ -522,7 +508,6 @@ private ButtonX buttonX6; private ButtonX buttonX5; private ButtonX buttonX4; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private TabPage tabPage2; @@ -538,8 +523,8 @@ private TableLayoutPanel tableLayoutPanel1; private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; - private ButtonX buttonX9; private ButtonX buttonX7; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/Frmpipediameterstatis.cs b/Frmpipediameterstatis.cs index 48ac35f..27f134b 100644 --- a/Frmpipediameterstatis.cs +++ b/Frmpipediameterstatis.cs @@ -11,44 +11,37 @@ namespace Cyberpipe { - public partial class Frmpipediameterstatis :Office2007Form + public partial class Frmpipediameterstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames ; - + List pipeLayerNames = new List(); static Frmpipediameterstatis frm; -// private MainFrm.PageControlStuct _pageControl; + GSOGeoPolygon3D polygon; + Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new Frmpipediameterstatis(_globeControl1, pipeLayers, visibleId); + frm = new Frmpipediameterstatis(_globeControl1, pipeLayers, _polygon); frm.Show(_globeControl1.Parent); } else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; - } + } } - public Frmpipediameterstatis(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public Frmpipediameterstatis(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; - pipeLayerNames = pipeLayers; -// _pageControl = pageControl; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; + if (!pipeLayers[i].Contains("SG")) + pipeLayerNames.Add(pipeLayers[i]); } - if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -56,13 +49,12 @@ /// /// private void Frmpipediameterstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } + } } - /// /// 上限按钮事件处理 /// @@ -75,7 +67,7 @@ DataGridViewRow row = dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; if (lstpipeRadius.SelectedItem != null) { - if (row.Cells["下限"].Value != null&& row.Cells["下限"].Value.ToString() != "") + if (row.Cells["下限"].Value != null && row.Cells["下限"].Value.ToString() != "") { double downRadius = Convert.ToDouble(row.Cells["下限"].Value); double upRadius = Convert.ToDouble(lstpipeRadius.SelectedItem.ToString()); @@ -138,13 +130,13 @@ private void buttonX7_Click(object sender, EventArgs e) { if (dataGridViewX2.SelectedCells.Count > 0) - { - DataGridViewRow row=dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; + { + DataGridViewRow row = dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; dataGridViewX2.Rows.Remove(row); } } - - Dictionary dic = new Dictionary(); + + /// /// 全区域分段统计 /// @@ -160,7 +152,7 @@ { MessageBox.Show("请添加分段!"); } - pipeDiameterStatis(null); + pipeDiameterStatis(polygon); } /// /// 给表格绑定数据 @@ -170,14 +162,15 @@ { try { - dic.Clear(); ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); - for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { + for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) + { GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); - for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { - + for (int j = 0; j < dataGridViewX2.Rows.Count; j++) + { object tempUp = dataGridViewX2.Rows[j].Cells["上限"].Value; double? upLimit = null; if (tempUp != null) upLimit = Convert.ToDouble(tempUp); @@ -185,27 +178,23 @@ object tempDown = dataGridViewX2.Rows[j].Cells["下限"].Value; double? downLimit = null; if (tempDown != null) downLimit = Convert.ToDouble(tempDown); - if (upLimit == null && downLimit == null) continue;//空行过滤 + if (upLimit == null && downLimit == null) continue;//空行过滤 //获取符合条件的管线 - FeaturesClassfyResult result = service.GetPipesInfoByValueSection(polygon, layer, downLimit, upLimit, "管径_毫米"); - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layer.Caption; - row.Cells["管径范围"].Value = result.groupFieldValue; - row.Cells["条数"].Value = result.ncount; - row.Cells["总长度"].Value = Math.Round(result.sum, 2); - dic.Add(layer.Caption + "," + row.Cells["管径范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + FeaturesClassfyResult result = service.GetPipesInfoByValueSection(polygon, layer, downLimit, upLimit, "管径"); + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layer.Caption; + row.Cells["管径范围"].Value = result.groupFieldValue; + row.Cells["条数"].Value = result.ncount; + row.Cells["总长度"].Value = Math.Round(result.sum, 2); + dic.Add(layer.Caption + "," + row.Cells["管径范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); } } - - showPipeWidget(); } catch (Exception ex) { - //MessageBox.Show(ex.Message); LogHelper.Error(ex.Message); LogError.PublishError(ex); } @@ -215,8 +204,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -266,7 +253,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -357,8 +344,6 @@ myStream.Close(); } } - - } /// /// 绘制区域分段统计 @@ -367,28 +352,6 @@ /// private void buttonX9_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (dataGridViewX2.Rows.Count == 0) { - MessageBox.Show("请添加分段!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层!"); @@ -399,21 +362,8 @@ MessageBox.Show("请添加分段!"); return; } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - + pipeDiameterStatis(polygon); } - /// /// 窗体关闭事件处理 /// @@ -421,15 +371,10 @@ /// private void Frmpipediameterstatis_FormClosing(object sender, FormClosingEventArgs e) { - frm = null; - - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); + frm = null; + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { if (e.Control.GetType().BaseType.Name == "TextBox") diff --git a/MainFrm.cs b/MainFrm.cs index 9732fad..2d57cd7 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -1880,7 +1880,27 @@ globeControl1.Globe.Action = EnumAction3D.ActionNull; break; + case "pipeDiameter"://绘制区域管径分段统计 + Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "depthStatistic"://绘制区域埋深分段统计 + FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "materialStatistic": + FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "pipeStatistic"://管径分类 + trackflag = null; + FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; case "pit": double depth; FrmTackPolygonDlg dlg = new FrmTackPolygonDlg(); @@ -5665,7 +5685,7 @@ private void 管径分段统计ToolStripMenuItem_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分段统计"); - Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 管径分段统计绘制区域统计 @@ -5675,8 +5695,14 @@ private void 管径分段统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分段统计"); + trackflag = "pipeDiameter"; + + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 埋深分段统计全区域统计 @@ -5686,7 +5712,7 @@ private void 埋深分段统计ToolStripMenuItem_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "埋深分段统计"); - FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 埋深分段统计绘制区域统计 @@ -5696,8 +5722,13 @@ private void 埋深分段统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "埋深分段统计"); + trackflag = "depthStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + * */ } /// /// 管径分类统计全区域统计 @@ -5708,7 +5739,7 @@ { LogManager.saveLog(Utility.userName, "管径分类汇总"); - FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 管径分类统计绘制区域统计 @@ -5718,9 +5749,13 @@ private void 管径分类统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分类汇总"); - + trackflag = "pipeStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 材质分类统计全区域统计 @@ -5731,7 +5766,7 @@ { LogManager.saveLog(Utility.userName, "材质分类汇总"); - FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 材质分类统计绘制区域统计 @@ -5741,9 +5776,13 @@ private void 材质分类统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "材质分类汇总"); - + trackflag = "materialStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 附属物分类统计全区域统计 @@ -7577,10 +7616,12 @@ splitContainer1.Panel2Collapsed = true; legendSG.Visible = false; legendSC.Visible = false; - ClearGZData(); + //ClearGZData(); GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer == null) return; redLayer.Visible = true; + + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", true); } catch (Exception ex) { @@ -7614,6 +7655,8 @@ GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer != null) redLayer.Visible = false; + + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", false); } catch (Exception ex) { @@ -7636,10 +7679,11 @@ panelOfTable.Visible = false; legendSC.Visible = false; legendSG.Visible = false; - ClearGZData(); + //ClearGZData(); GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer == null) return; redLayer.Visible = false; + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", false); } catch (Exception ex) { diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index 943beed..86eae6e 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -112,7 +112,6 @@ this.sideBar1 = new DevComponents.DotNetBar.SideBar(); this.panelEx3 = new DevComponents.DotNetBar.PanelEx(); this.layerSensorTree = new System.Windows.Forms.TreeView(); - this.layerTree = new Cyberpipe.MyTreeView(); this.sideBarPanelItem3 = new DevComponents.DotNetBar.SideBarPanelItem(); this.controlContainerItem3 = new DevComponents.DotNetBar.ControlContainerItem(); this.sideBarPanelItem4 = new DevComponents.DotNetBar.SideBarPanelItem(); @@ -541,6 +540,7 @@ this.labelX17 = new DevComponents.DotNetBar.LabelX(); this.panelEx4 = new DevComponents.DotNetBar.PanelEx(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.layerTree = new Cyberpipe.MyTreeView(); this.statusStrip1.SuspendLayout(); this.sideBar1.SuspendLayout(); this.panelEx3.SuspendLayout(); @@ -979,18 +979,6 @@ this.layerSensorTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerMarkerTree_NodeMouseClick); this.layerSensorTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); // - // layerTree - // - this.layerTree.CheckBoxes = true; - this.layerTree.ItemHeight = 18; - this.layerTree.Location = new System.Drawing.Point(30, 78); - this.layerTree.Name = "layerTree"; - this.layerTree.Size = new System.Drawing.Size(121, 97); - this.layerTree.TabIndex = 1; - this.layerTree.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree_AfterCheck); - this.layerTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseClick); - this.layerTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); - // // sideBarPanelItem3 // this.sideBarPanelItem3.FontBold = true; @@ -2135,13 +2123,13 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel15); - this.ribbonControl1.Controls.Add(this.ribbonPanel1); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); - this.ribbonControl1.Controls.Add(this.ribbonPanel5); this.ribbonControl1.Controls.Add(this.ribbonPanel12); + this.ribbonControl1.Controls.Add(this.ribbonPanel1); + this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel4); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); this.ribbonControl1.Controls.Add(this.ribbonPanel7); this.ribbonControl1.Controls.Add(this.ribbonPanel3); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; @@ -2192,10 +2180,10 @@ this.ribbonPanel6.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel6.Controls.Add(this.ribbonBar6); this.ribbonPanel6.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel6.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel6.Location = new System.Drawing.Point(0, 0); this.ribbonPanel6.Name = "ribbonPanel6"; this.ribbonPanel6.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel6.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel6.Size = new System.Drawing.Size(1328, 95); // // // @@ -2212,6 +2200,7 @@ this.ribbonPanel6.StyleMouseOver.Class = ""; this.ribbonPanel6.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel6.TabIndex = 38; + this.ribbonPanel6.Visible = false; // // ribbonBar6 // @@ -2236,7 +2225,7 @@ this.buttonItemGBJC}); this.ribbonBar6.Location = new System.Drawing.Point(3, 0); this.ribbonBar6.Name = "ribbonBar6"; - this.ribbonBar6.Size = new System.Drawing.Size(427, 59); + this.ribbonBar6.Size = new System.Drawing.Size(427, 92); this.ribbonBar6.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar6.TabIndex = 0; // @@ -2322,7 +2311,6 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; - this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -2449,6 +2437,7 @@ this.buttonItem4.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem4.Image"))); this.buttonItem4.Name = "buttonItem4"; this.buttonItem4.Text = "删除"; + this.buttonItem4.Visible = false; this.buttonItem4.Click += new System.EventHandler(this.buttonItemBJ13_Click); // // buttonItemSJGL @@ -2780,10 +2769,10 @@ this.ribbonPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel1.Controls.Add(this.ribbonBar21); this.ribbonPanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel1.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel1.Location = new System.Drawing.Point(0, 0); this.ribbonPanel1.Name = "ribbonPanel1"; this.ribbonPanel1.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel1.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel1.Size = new System.Drawing.Size(1328, 95); // // // @@ -2827,7 +2816,7 @@ this.btnOutputJPG}); this.ribbonBar21.Location = new System.Drawing.Point(3, 0); this.ribbonBar21.Name = "ribbonBar21"; - this.ribbonBar21.Size = new System.Drawing.Size(514, 59); + this.ribbonBar21.Size = new System.Drawing.Size(514, 92); this.ribbonBar21.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar21.TabIndex = 2; this.ribbonBar21.Text = "浏览模式"; @@ -3128,10 +3117,10 @@ this.ribbonPanel12.Controls.Add(this.ribbonBar18); this.ribbonPanel12.Controls.Add(this.ribbonBar13); this.ribbonPanel12.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel12.Location = new System.Drawing.Point(0, 0); + this.ribbonPanel12.Location = new System.Drawing.Point(0, 33); this.ribbonPanel12.Name = "ribbonPanel12"; this.ribbonPanel12.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel12.Size = new System.Drawing.Size(1328, 95); + this.ribbonPanel12.Size = new System.Drawing.Size(1328, 62); // // // @@ -3170,7 +3159,7 @@ this.buttonItem132}); this.ribbonBar18.Location = new System.Drawing.Point(508, 0); this.ribbonBar18.Name = "ribbonBar18"; - this.ribbonBar18.Size = new System.Drawing.Size(75, 92); + this.ribbonBar18.Size = new System.Drawing.Size(75, 59); this.ribbonBar18.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar18.TabIndex = 1; // @@ -3222,7 +3211,7 @@ this.btn_check_history}); this.ribbonBar13.Location = new System.Drawing.Point(3, 0); this.ribbonBar13.Name = "ribbonBar13"; - this.ribbonBar13.Size = new System.Drawing.Size(505, 92); + this.ribbonBar13.Size = new System.Drawing.Size(505, 59); this.ribbonBar13.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar13.TabIndex = 0; // @@ -3297,10 +3286,10 @@ this.ribbonPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel4.Controls.Add(this.ribbonBar1); this.ribbonPanel4.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel4.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel4.Location = new System.Drawing.Point(0, 0); this.ribbonPanel4.Name = "ribbonPanel4"; this.ribbonPanel4.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel4.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel4.Size = new System.Drawing.Size(1328, 95); // // // @@ -3338,7 +3327,7 @@ this.btn_document_info}); this.ribbonBar1.Location = new System.Drawing.Point(3, 0); this.ribbonBar1.Name = "ribbonBar1"; - this.ribbonBar1.Size = new System.Drawing.Size(200, 59); + this.ribbonBar1.Size = new System.Drawing.Size(200, 92); this.ribbonBar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar1.TabIndex = 0; // @@ -3597,7 +3586,6 @@ // ribbonTabItem9 // this.ribbonTabItem9.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem9.Checked = true; this.ribbonTabItem9.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.HoverImage"))); this.ribbonTabItem9.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.Image"))); this.ribbonTabItem9.Name = "ribbonTabItem9"; @@ -3618,6 +3606,7 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -5959,6 +5948,18 @@ this.pictureBox1.TabStop = false; this.pictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(this.pictureBox1_Paint); // + // layerTree + // + this.layerTree.CheckBoxes = true; + this.layerTree.ItemHeight = 18; + this.layerTree.Location = new System.Drawing.Point(30, 78); + this.layerTree.Name = "layerTree"; + this.layerTree.Size = new System.Drawing.Size(121, 97); + this.layerTree.TabIndex = 1; + this.layerTree.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree_AfterCheck); + this.layerTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseClick); + this.layerTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); + // // MainFrm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; diff --git a/MainFrm.resx b/MainFrm.resx index ea7021a..648fcdb 100644 --- a/MainFrm.resx +++ b/MainFrm.resx @@ -351,142 +351,6 @@ 766, 54 - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 - iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z - zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s - hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa - BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n - WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ - BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY - s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn - ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg - 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef - rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q - qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK - Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 - RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM - 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t - lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl - DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q - rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th - pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S - T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt - SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ - oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 - l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg - S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj - CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X - 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF - 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu - F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee - SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 - 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY - VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 - 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 - edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA - S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw - p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if - SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES - 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U - IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL - 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze - r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq - nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R - Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 - nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA - AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 - OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy - BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F - mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd - v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul - AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj - dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg - 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 - OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -1742,6 +1606,219 @@ TJ65mM1/9adCvki+8p7nYPunBqvfgM/pcrxVz6sAAAAASUVORK5CYII= + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL + ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH + s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW + uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx + xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd + iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ + qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW + GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE + NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n + KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw + qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI + HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq + wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q + 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n + W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 + eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv + 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP + I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f + n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV + x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et + V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD + D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u + 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n + z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V + rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ + 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm + oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 + ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H + 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC + RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo + KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O + 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd + rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o + 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C + s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI + jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs + FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm + LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml + CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV + hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q + bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX + YCSg/AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL + SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 + 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P + zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 + 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj + L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 + RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf + nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P + 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj + ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G + xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H + dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 + LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob + gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 + ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi + UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd + XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 + 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN + jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF + Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn + ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A + AAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -1913,6 +1990,292 @@ R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG + UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe + 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 + wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm + RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm + pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH + oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ + ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU + jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm + 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 + RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT + 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 + VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn + KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 + A2MdqQeVc5pWAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 + iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z + zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s + hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa + BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n + WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ + BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY + s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn + ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg + 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef + rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q + qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK + Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 + RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO + RK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM + 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t + lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl + DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q + rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th + pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S + T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt + SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ + oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 + l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg + S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj + CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X + 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF + 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu + F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee + SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 + 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY + VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 + 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 + edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA + S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw + p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if + SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES + 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U + IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL + 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze + r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq + nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R + Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 + nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA + AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 + OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy + BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F + mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd + v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul + AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj + dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg + 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 + OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo + cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 + p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D + frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua + BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO + Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O + eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e + x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa + mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM + FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF + 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH + 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn + DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH + ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -2160,369 +2523,6 @@ 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG - UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe - 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 - wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm - RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm - pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH - oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ - ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU - jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm - 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 - RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT - 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 - VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn - KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 - A2MdqQeVc5pWAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN - yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc - c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg - 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 - cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 - ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw - O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD - nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz - 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn - k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I - 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df - WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs - T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda - SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL - ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH - s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW - uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx - xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd - iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ - qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW - GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE - NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n - KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw - qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI - HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq - wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q - 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n - W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 - eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv - 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP - I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f - n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV - x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et - V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD - D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u - 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n - z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V - rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ - 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm - oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 - ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H - 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC - RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo - KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O - 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd - rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o - 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C - s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI - jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs - FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm - LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml - CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV - hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q - bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX - YCSg/AAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL - SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 - 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P - zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 - 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj - L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 - RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf - nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P - 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj - ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G - xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H - dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 - LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob - gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 - ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi - UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd - XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 - 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN - jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF - Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn - ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A - AAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo - cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 - p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D - frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua - BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO - Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O - eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e - x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa - mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM - FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF - 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH - 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn - DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH - ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/FrmLineCoordinate.designer.cs b/FrmLineCoordinate.designer.cs index 3149abf..0a3fbb7 100644 --- a/FrmLineCoordinate.designer.cs +++ b/FrmLineCoordinate.designer.cs @@ -138,6 +138,7 @@ this.checkBoxX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.checkBoxX3.TabIndex = 88; this.checkBoxX3.Text = "管沟"; + this.checkBoxX3.Visible = false; this.checkBoxX3.CheckedChanged += new System.EventHandler(this.checkBoxX3_CheckedChanged); // // checkBoxX2 diff --git a/FrmpipeDeepstatis.Designer.cs b/FrmpipeDeepstatis.Designer.cs index ef5a119..2627350 100644 --- a/FrmpipeDeepstatis.Designer.cs +++ b/FrmpipeDeepstatis.Designer.cs @@ -36,13 +36,11 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -53,6 +51,7 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.dataGridViewX2 = new DevComponents.DotNetBar.Controls.DataGridViewX(); this.下限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.上限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,42 +69,18 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(123, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 9; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(123, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 6; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -139,14 +114,14 @@ this.条数, this.总长度}); this.dataGridViewX1.ContextMenuStrip = this.contextMenuStrip1; - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(3, 3); @@ -206,6 +181,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(786, 304); + this.chart1.TabIndex = 3; + this.chart1.Text = "chart1"; + // // dataGridViewX2 // this.dataGridViewX2.AllowUserToAddRows = false; @@ -213,14 +204,14 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.下限, this.上限}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; this.dataGridViewX2.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(493, 23); @@ -234,18 +225,18 @@ // // 下限 // - dataGridViewCellStyle1.Format = "N2"; - dataGridViewCellStyle1.NullValue = null; - this.下限.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.Format = "N2"; + dataGridViewCellStyle2.NullValue = null; + this.下限.DefaultCellStyle = dataGridViewCellStyle2; this.下限.HeaderText = "下限"; this.下限.Name = "下限"; this.下限.Width = 60; // // 上限 // - dataGridViewCellStyle6.Format = "N2"; - dataGridViewCellStyle6.NullValue = null; - this.上限.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle3.Format = "N2"; + dataGridViewCellStyle3.NullValue = null; + this.上限.DefaultCellStyle = dataGridViewCellStyle3; this.上限.HeaderText = "上限"; this.上限.Name = "上限"; this.上限.Width = 60; @@ -453,7 +444,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX2, 2, 0); this.tableLayoutPanel2.Controls.Add(this.lstpipeRadius, 2, 1); this.tableLayoutPanel2.Controls.Add(this.dataGridViewX2, 4, 1); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); @@ -467,21 +457,17 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(800, 194); this.tableLayoutPanel2.TabIndex = 11; // - // chart1 + // buttonX8 // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(786, 304); - this.chart1.TabIndex = 3; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(123, 23); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // FrmpipeDeepstatis // @@ -503,18 +489,16 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -543,5 +527,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/FrmpipeDeepstatis.cs b/FrmpipeDeepstatis.cs index 8d915a9..f034488 100644 --- a/FrmpipeDeepstatis.cs +++ b/FrmpipeDeepstatis.cs @@ -12,41 +12,40 @@ namespace Cyberpipe { - public partial class FrmpipeDeepstatis :Office2007Form + public partial class FrmpipeDeepstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames; - + List pipeLayerNames = new List(); + GSOGeoPolygon3D polygon; static FrmpipeDeepstatis frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDeepstatis(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDeepstatis(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); - }else if (frm.WindowState == FormWindowState.Minimized) + } + else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } } - public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = globeControl; - pipeLayerNames = pipeLayers; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; + if (!pipeLayers[i].Contains("SG")) + { + pipeLayerNames.Add(pipeLayers[i]); + } } + //pipeLayerNames = pipeLayers; + polygon = _polygon; } /// /// 上限、下限按钮事件处理 @@ -121,7 +120,6 @@ dataGridViewX2.Rows.Remove(row); } } - /// /// 给表格绑定数据 /// @@ -130,12 +128,11 @@ { try { - dic.Clear() ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { @@ -159,7 +156,7 @@ row.Cells["总长度"].Value = Math.Round(result.sum, 2); dic.Add(layer.Caption + "," + row.Cells["埋深范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + } } @@ -176,8 +173,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -210,44 +205,13 @@ /// /// private void FrmpipeDeepstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } - } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层"); - return; } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - } + /// /// 全选 /// @@ -270,7 +234,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -292,25 +256,6 @@ /// private void buttonX8_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层"); - return; - } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - pipeDiameterStatis(null); - } - /// - /// 绘制区域分段统计 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层"); @@ -321,13 +266,8 @@ MessageBox.Show("请添加分段"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } - - /// /// 导出Excel按钮事件处理 /// @@ -406,7 +346,7 @@ MessageBox.Show("统计结果为空,请重新统计之后再导出Excel!", "提示"); } } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { MemberInfo memberInfo = e.Control.GetType().BaseType; @@ -452,11 +392,6 @@ private void FrmpipeDeepstatis_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } } diff --git a/FrmpipeDeepstatis.resx b/FrmpipeDeepstatis.resx index b2dd89f..e1ca348 100644 --- a/FrmpipeDeepstatis.resx +++ b/FrmpipeDeepstatis.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - True @@ -132,6 +129,9 @@ True + + 17, 17 + True diff --git a/FrmpipeDiametergather.Designer.cs b/FrmpipeDiametergather.Designer.cs index 2cb5d15..697b8aa 100644 --- a/FrmpipeDiametergather.Designer.cs +++ b/FrmpipeDiametergather.Designer.cs @@ -37,9 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea9 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -47,6 +45,8 @@ this.管径 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX3 = new DevComponents.DotNetBar.ButtonX(); @@ -56,46 +56,19 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(3, 167); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(108, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 14; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX8.Location = new System.Drawing.Point(3, 117); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(108, 24); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 11; - this.buttonX8.Text = "全区域分类汇总"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tableLayoutPanel1.SetColumnSpan(this.tabControl1, 6); @@ -172,22 +145,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(832, 285); + this.tabPage2.Size = new System.Drawing.Size(572, 274); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea9.AxisX.MajorGrid.Enabled = false; - chartArea9.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea9); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -244,7 +231,6 @@ this.clbPipeLine.Size = new System.Drawing.Size(240, 194); this.clbPipeLine.TabIndex = 1; this.clbPipeLine.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.clbPipeLine_ItemCheck); - //this.clbPipeLine.SelectedIndexChanged += new System.EventHandler(this.clbPipeLine_SelectedIndexChanged); // // labelX1 // @@ -300,25 +286,10 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(64, 194); this.tableLayoutPanel2.TabIndex = 15; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // tableLayoutPanel3 // this.tableLayoutPanel3.ColumnCount = 1; this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel3.Controls.Add(this.buttonX8, 0, 1); this.tableLayoutPanel3.Controls.Add(this.buttonX9, 0, 3); this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel3.Location = new System.Drawing.Point(439, 23); @@ -331,6 +302,19 @@ this.tableLayoutPanel3.Size = new System.Drawing.Size(114, 194); this.tableLayoutPanel3.TabIndex = 16; // + // buttonX9 + // + this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonX9.Location = new System.Drawing.Point(3, 167); + this.buttonX9.Name = "buttonX9"; + this.buttonX9.Size = new System.Drawing.Size(108, 24); + this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX9.TabIndex = 14; + this.buttonX9.Text = "开始统计"; + this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); + // // FrmpipeDiametergather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -349,11 +333,11 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.tableLayoutPanel3.ResumeLayout(false); this.ResumeLayout(false); @@ -361,8 +345,6 @@ #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -382,5 +364,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private TableLayoutPanel tableLayoutPanel3; + private ButtonX buttonX9; } } \ No newline at end of file diff --git a/FrmpipeDiametergather.cs b/FrmpipeDiametergather.cs index c09aaf1..0545383 100644 --- a/FrmpipeDiametergather.cs +++ b/FrmpipeDiametergather.cs @@ -16,15 +16,15 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeDiametergather frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDiametergather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDiametergather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if (frm.WindowState == FormWindowState.Minimized) @@ -33,23 +33,11 @@ } } - public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } - - } /// /// 窗体初始化事件处理 @@ -63,32 +51,7 @@ clbPipeLine.Items.Add(pipeLayerNames[i]); } } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } + /// /// 全选 /// @@ -154,14 +117,9 @@ MessageBox.Show("请选择图层!"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - + pipeDiameterStatis(polygon); + } /// /// 给表格绑定数据 /// @@ -392,10 +350,6 @@ private void FrmpipeDiametergather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } diff --git a/FrmpipeMaterialGather.Designer.cs b/FrmpipeMaterialGather.Designer.cs index d03f476..3ad7cbd 100644 --- a/FrmpipeMaterialGather.Designer.cs +++ b/FrmpipeMaterialGather.Designer.cs @@ -37,8 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); @@ -47,6 +46,8 @@ this.材质 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX4 = new DevComponents.DotNetBar.ButtonX(); @@ -60,31 +61,16 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(523, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(114, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 19; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // // buttonX8 // this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; @@ -95,7 +81,7 @@ this.buttonX8.Size = new System.Drawing.Size(114, 23); this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.buttonX8.TabIndex = 16; - this.buttonX8.Text = "全区域分类汇总"; + this.buttonX8.Text = "开始汇总"; this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // tabControl1 @@ -173,22 +159,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(547, 313); + this.tabPage2.Size = new System.Drawing.Size(669, 318); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea3.AxisX.MajorGrid.Enabled = false; - chartArea3.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea3); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -340,7 +340,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX1, 0, 0); this.tableLayoutPanel2.Controls.Add(this.clbPipeLine, 0, 1); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 4, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 4, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX4, 3, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.clbmaterials, 2, 1); @@ -360,20 +359,6 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(677, 194); this.tableLayoutPanel2.TabIndex = 21; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // FrmpipeMaterialGather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -392,18 +377,17 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; diff --git a/FrmpipeMaterialGather.cs b/FrmpipeMaterialGather.cs index 5ca8144..00a7565 100644 --- a/FrmpipeMaterialGather.cs +++ b/FrmpipeMaterialGather.cs @@ -16,13 +16,13 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeMaterialGather frm; - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeMaterialGather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeMaterialGather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if(frm.WindowState == FormWindowState.Minimized) @@ -31,21 +31,12 @@ } } - public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -82,31 +73,6 @@ } /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } - /// /// 全选按钮事件处理 /// /// @@ -284,28 +250,7 @@ return; } globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(null); - } - /// - /// 绘制区域分类汇总 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (clbmaterials.CheckedItems.Count == 0) - { - MessageBox.Show("请选择材质类型!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } /// @@ -316,10 +261,7 @@ private void FrmpipeMaterialGather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } /// diff --git a/Frmpipediameterstatis.Designer.cs b/Frmpipediameterstatis.Designer.cs index b219ce5..089b897 100644 --- a/Frmpipediameterstatis.Designer.cs +++ b/Frmpipediameterstatis.Designer.cs @@ -55,7 +55,6 @@ this.buttonX1 = new DevComponents.DotNetBar.ButtonX(); this.clbPipeLine = new System.Windows.Forms.CheckedListBox(); this.labelX1 = new DevComponents.DotNetBar.LabelX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -66,20 +65,20 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); this.buttonX7 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // // dataGridViewX2 @@ -278,18 +277,6 @@ this.labelX1.TabIndex = 0; this.labelX1.Text = "指定图层:"; // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(112, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 1; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -390,6 +377,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(776, 355); + this.chart1.TabIndex = 2; + this.chart1.Text = "chart1"; + // // tableLayoutPanel1 // this.tableLayoutPanel1.ColumnCount = 1; @@ -428,7 +431,6 @@ this.tableLayoutPanel2.Controls.Add(this.buttonX2, 1, 2); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); this.tableLayoutPanel2.Name = "tableLayoutPanel2"; @@ -453,33 +455,17 @@ this.buttonX7.Text = "删除行"; this.buttonX7.Click += new System.EventHandler(this.buttonX7_Click); // - // buttonX9 + // buttonX8 // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(112, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 4; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // chart1 - // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(776, 355); - this.chart1.TabIndex = 2; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(112, 24); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // Frmpipediameterstatis // @@ -502,9 +488,9 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } @@ -522,7 +508,6 @@ private ButtonX buttonX6; private ButtonX buttonX5; private ButtonX buttonX4; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private TabPage tabPage2; @@ -538,8 +523,8 @@ private TableLayoutPanel tableLayoutPanel1; private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; - private ButtonX buttonX9; private ButtonX buttonX7; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/Frmpipediameterstatis.cs b/Frmpipediameterstatis.cs index 48ac35f..27f134b 100644 --- a/Frmpipediameterstatis.cs +++ b/Frmpipediameterstatis.cs @@ -11,44 +11,37 @@ namespace Cyberpipe { - public partial class Frmpipediameterstatis :Office2007Form + public partial class Frmpipediameterstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames ; - + List pipeLayerNames = new List(); static Frmpipediameterstatis frm; -// private MainFrm.PageControlStuct _pageControl; + GSOGeoPolygon3D polygon; + Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new Frmpipediameterstatis(_globeControl1, pipeLayers, visibleId); + frm = new Frmpipediameterstatis(_globeControl1, pipeLayers, _polygon); frm.Show(_globeControl1.Parent); } else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; - } + } } - public Frmpipediameterstatis(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public Frmpipediameterstatis(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; - pipeLayerNames = pipeLayers; -// _pageControl = pageControl; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; + if (!pipeLayers[i].Contains("SG")) + pipeLayerNames.Add(pipeLayers[i]); } - if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -56,13 +49,12 @@ /// /// private void Frmpipediameterstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } + } } - /// /// 上限按钮事件处理 /// @@ -75,7 +67,7 @@ DataGridViewRow row = dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; if (lstpipeRadius.SelectedItem != null) { - if (row.Cells["下限"].Value != null&& row.Cells["下限"].Value.ToString() != "") + if (row.Cells["下限"].Value != null && row.Cells["下限"].Value.ToString() != "") { double downRadius = Convert.ToDouble(row.Cells["下限"].Value); double upRadius = Convert.ToDouble(lstpipeRadius.SelectedItem.ToString()); @@ -138,13 +130,13 @@ private void buttonX7_Click(object sender, EventArgs e) { if (dataGridViewX2.SelectedCells.Count > 0) - { - DataGridViewRow row=dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; + { + DataGridViewRow row = dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; dataGridViewX2.Rows.Remove(row); } } - - Dictionary dic = new Dictionary(); + + /// /// 全区域分段统计 /// @@ -160,7 +152,7 @@ { MessageBox.Show("请添加分段!"); } - pipeDiameterStatis(null); + pipeDiameterStatis(polygon); } /// /// 给表格绑定数据 @@ -170,14 +162,15 @@ { try { - dic.Clear(); ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); - for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { + for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) + { GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); - for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { - + for (int j = 0; j < dataGridViewX2.Rows.Count; j++) + { object tempUp = dataGridViewX2.Rows[j].Cells["上限"].Value; double? upLimit = null; if (tempUp != null) upLimit = Convert.ToDouble(tempUp); @@ -185,27 +178,23 @@ object tempDown = dataGridViewX2.Rows[j].Cells["下限"].Value; double? downLimit = null; if (tempDown != null) downLimit = Convert.ToDouble(tempDown); - if (upLimit == null && downLimit == null) continue;//空行过滤 + if (upLimit == null && downLimit == null) continue;//空行过滤 //获取符合条件的管线 - FeaturesClassfyResult result = service.GetPipesInfoByValueSection(polygon, layer, downLimit, upLimit, "管径_毫米"); - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layer.Caption; - row.Cells["管径范围"].Value = result.groupFieldValue; - row.Cells["条数"].Value = result.ncount; - row.Cells["总长度"].Value = Math.Round(result.sum, 2); - dic.Add(layer.Caption + "," + row.Cells["管径范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + FeaturesClassfyResult result = service.GetPipesInfoByValueSection(polygon, layer, downLimit, upLimit, "管径"); + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layer.Caption; + row.Cells["管径范围"].Value = result.groupFieldValue; + row.Cells["条数"].Value = result.ncount; + row.Cells["总长度"].Value = Math.Round(result.sum, 2); + dic.Add(layer.Caption + "," + row.Cells["管径范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); } } - - showPipeWidget(); } catch (Exception ex) { - //MessageBox.Show(ex.Message); LogHelper.Error(ex.Message); LogError.PublishError(ex); } @@ -215,8 +204,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -266,7 +253,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -357,8 +344,6 @@ myStream.Close(); } } - - } /// /// 绘制区域分段统计 @@ -367,28 +352,6 @@ /// private void buttonX9_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (dataGridViewX2.Rows.Count == 0) { - MessageBox.Show("请添加分段!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层!"); @@ -399,21 +362,8 @@ MessageBox.Show("请添加分段!"); return; } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - + pipeDiameterStatis(polygon); } - /// /// 窗体关闭事件处理 /// @@ -421,15 +371,10 @@ /// private void Frmpipediameterstatis_FormClosing(object sender, FormClosingEventArgs e) { - frm = null; - - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); + frm = null; + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { if (e.Control.GetType().BaseType.Name == "TextBox") diff --git a/MainFrm.cs b/MainFrm.cs index 9732fad..2d57cd7 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -1880,7 +1880,27 @@ globeControl1.Globe.Action = EnumAction3D.ActionNull; break; + case "pipeDiameter"://绘制区域管径分段统计 + Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "depthStatistic"://绘制区域埋深分段统计 + FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "materialStatistic": + FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "pipeStatistic"://管径分类 + trackflag = null; + FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; case "pit": double depth; FrmTackPolygonDlg dlg = new FrmTackPolygonDlg(); @@ -5665,7 +5685,7 @@ private void 管径分段统计ToolStripMenuItem_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分段统计"); - Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 管径分段统计绘制区域统计 @@ -5675,8 +5695,14 @@ private void 管径分段统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分段统计"); + trackflag = "pipeDiameter"; + + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 埋深分段统计全区域统计 @@ -5686,7 +5712,7 @@ private void 埋深分段统计ToolStripMenuItem_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "埋深分段统计"); - FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 埋深分段统计绘制区域统计 @@ -5696,8 +5722,13 @@ private void 埋深分段统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "埋深分段统计"); + trackflag = "depthStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + * */ } /// /// 管径分类统计全区域统计 @@ -5708,7 +5739,7 @@ { LogManager.saveLog(Utility.userName, "管径分类汇总"); - FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 管径分类统计绘制区域统计 @@ -5718,9 +5749,13 @@ private void 管径分类统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分类汇总"); - + trackflag = "pipeStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 材质分类统计全区域统计 @@ -5731,7 +5766,7 @@ { LogManager.saveLog(Utility.userName, "材质分类汇总"); - FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 材质分类统计绘制区域统计 @@ -5741,9 +5776,13 @@ private void 材质分类统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "材质分类汇总"); - + trackflag = "materialStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 附属物分类统计全区域统计 @@ -7577,10 +7616,12 @@ splitContainer1.Panel2Collapsed = true; legendSG.Visible = false; legendSC.Visible = false; - ClearGZData(); + //ClearGZData(); GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer == null) return; redLayer.Visible = true; + + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", true); } catch (Exception ex) { @@ -7614,6 +7655,8 @@ GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer != null) redLayer.Visible = false; + + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", false); } catch (Exception ex) { @@ -7636,10 +7679,11 @@ panelOfTable.Visible = false; legendSC.Visible = false; legendSG.Visible = false; - ClearGZData(); + //ClearGZData(); GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer == null) return; redLayer.Visible = false; + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", false); } catch (Exception ex) { diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index 943beed..86eae6e 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -112,7 +112,6 @@ this.sideBar1 = new DevComponents.DotNetBar.SideBar(); this.panelEx3 = new DevComponents.DotNetBar.PanelEx(); this.layerSensorTree = new System.Windows.Forms.TreeView(); - this.layerTree = new Cyberpipe.MyTreeView(); this.sideBarPanelItem3 = new DevComponents.DotNetBar.SideBarPanelItem(); this.controlContainerItem3 = new DevComponents.DotNetBar.ControlContainerItem(); this.sideBarPanelItem4 = new DevComponents.DotNetBar.SideBarPanelItem(); @@ -541,6 +540,7 @@ this.labelX17 = new DevComponents.DotNetBar.LabelX(); this.panelEx4 = new DevComponents.DotNetBar.PanelEx(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.layerTree = new Cyberpipe.MyTreeView(); this.statusStrip1.SuspendLayout(); this.sideBar1.SuspendLayout(); this.panelEx3.SuspendLayout(); @@ -979,18 +979,6 @@ this.layerSensorTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerMarkerTree_NodeMouseClick); this.layerSensorTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); // - // layerTree - // - this.layerTree.CheckBoxes = true; - this.layerTree.ItemHeight = 18; - this.layerTree.Location = new System.Drawing.Point(30, 78); - this.layerTree.Name = "layerTree"; - this.layerTree.Size = new System.Drawing.Size(121, 97); - this.layerTree.TabIndex = 1; - this.layerTree.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree_AfterCheck); - this.layerTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseClick); - this.layerTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); - // // sideBarPanelItem3 // this.sideBarPanelItem3.FontBold = true; @@ -2135,13 +2123,13 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel15); - this.ribbonControl1.Controls.Add(this.ribbonPanel1); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); - this.ribbonControl1.Controls.Add(this.ribbonPanel5); this.ribbonControl1.Controls.Add(this.ribbonPanel12); + this.ribbonControl1.Controls.Add(this.ribbonPanel1); + this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel4); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); this.ribbonControl1.Controls.Add(this.ribbonPanel7); this.ribbonControl1.Controls.Add(this.ribbonPanel3); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; @@ -2192,10 +2180,10 @@ this.ribbonPanel6.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel6.Controls.Add(this.ribbonBar6); this.ribbonPanel6.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel6.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel6.Location = new System.Drawing.Point(0, 0); this.ribbonPanel6.Name = "ribbonPanel6"; this.ribbonPanel6.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel6.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel6.Size = new System.Drawing.Size(1328, 95); // // // @@ -2212,6 +2200,7 @@ this.ribbonPanel6.StyleMouseOver.Class = ""; this.ribbonPanel6.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel6.TabIndex = 38; + this.ribbonPanel6.Visible = false; // // ribbonBar6 // @@ -2236,7 +2225,7 @@ this.buttonItemGBJC}); this.ribbonBar6.Location = new System.Drawing.Point(3, 0); this.ribbonBar6.Name = "ribbonBar6"; - this.ribbonBar6.Size = new System.Drawing.Size(427, 59); + this.ribbonBar6.Size = new System.Drawing.Size(427, 92); this.ribbonBar6.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar6.TabIndex = 0; // @@ -2322,7 +2311,6 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; - this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -2449,6 +2437,7 @@ this.buttonItem4.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem4.Image"))); this.buttonItem4.Name = "buttonItem4"; this.buttonItem4.Text = "删除"; + this.buttonItem4.Visible = false; this.buttonItem4.Click += new System.EventHandler(this.buttonItemBJ13_Click); // // buttonItemSJGL @@ -2780,10 +2769,10 @@ this.ribbonPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel1.Controls.Add(this.ribbonBar21); this.ribbonPanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel1.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel1.Location = new System.Drawing.Point(0, 0); this.ribbonPanel1.Name = "ribbonPanel1"; this.ribbonPanel1.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel1.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel1.Size = new System.Drawing.Size(1328, 95); // // // @@ -2827,7 +2816,7 @@ this.btnOutputJPG}); this.ribbonBar21.Location = new System.Drawing.Point(3, 0); this.ribbonBar21.Name = "ribbonBar21"; - this.ribbonBar21.Size = new System.Drawing.Size(514, 59); + this.ribbonBar21.Size = new System.Drawing.Size(514, 92); this.ribbonBar21.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar21.TabIndex = 2; this.ribbonBar21.Text = "浏览模式"; @@ -3128,10 +3117,10 @@ this.ribbonPanel12.Controls.Add(this.ribbonBar18); this.ribbonPanel12.Controls.Add(this.ribbonBar13); this.ribbonPanel12.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel12.Location = new System.Drawing.Point(0, 0); + this.ribbonPanel12.Location = new System.Drawing.Point(0, 33); this.ribbonPanel12.Name = "ribbonPanel12"; this.ribbonPanel12.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel12.Size = new System.Drawing.Size(1328, 95); + this.ribbonPanel12.Size = new System.Drawing.Size(1328, 62); // // // @@ -3170,7 +3159,7 @@ this.buttonItem132}); this.ribbonBar18.Location = new System.Drawing.Point(508, 0); this.ribbonBar18.Name = "ribbonBar18"; - this.ribbonBar18.Size = new System.Drawing.Size(75, 92); + this.ribbonBar18.Size = new System.Drawing.Size(75, 59); this.ribbonBar18.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar18.TabIndex = 1; // @@ -3222,7 +3211,7 @@ this.btn_check_history}); this.ribbonBar13.Location = new System.Drawing.Point(3, 0); this.ribbonBar13.Name = "ribbonBar13"; - this.ribbonBar13.Size = new System.Drawing.Size(505, 92); + this.ribbonBar13.Size = new System.Drawing.Size(505, 59); this.ribbonBar13.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar13.TabIndex = 0; // @@ -3297,10 +3286,10 @@ this.ribbonPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel4.Controls.Add(this.ribbonBar1); this.ribbonPanel4.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel4.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel4.Location = new System.Drawing.Point(0, 0); this.ribbonPanel4.Name = "ribbonPanel4"; this.ribbonPanel4.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel4.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel4.Size = new System.Drawing.Size(1328, 95); // // // @@ -3338,7 +3327,7 @@ this.btn_document_info}); this.ribbonBar1.Location = new System.Drawing.Point(3, 0); this.ribbonBar1.Name = "ribbonBar1"; - this.ribbonBar1.Size = new System.Drawing.Size(200, 59); + this.ribbonBar1.Size = new System.Drawing.Size(200, 92); this.ribbonBar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar1.TabIndex = 0; // @@ -3597,7 +3586,6 @@ // ribbonTabItem9 // this.ribbonTabItem9.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem9.Checked = true; this.ribbonTabItem9.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.HoverImage"))); this.ribbonTabItem9.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.Image"))); this.ribbonTabItem9.Name = "ribbonTabItem9"; @@ -3618,6 +3606,7 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -5959,6 +5948,18 @@ this.pictureBox1.TabStop = false; this.pictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(this.pictureBox1_Paint); // + // layerTree + // + this.layerTree.CheckBoxes = true; + this.layerTree.ItemHeight = 18; + this.layerTree.Location = new System.Drawing.Point(30, 78); + this.layerTree.Name = "layerTree"; + this.layerTree.Size = new System.Drawing.Size(121, 97); + this.layerTree.TabIndex = 1; + this.layerTree.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree_AfterCheck); + this.layerTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseClick); + this.layerTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); + // // MainFrm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; diff --git a/MainFrm.resx b/MainFrm.resx index ea7021a..648fcdb 100644 --- a/MainFrm.resx +++ b/MainFrm.resx @@ -351,142 +351,6 @@ 766, 54 - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 - iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z - zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s - hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa - BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n - WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ - BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY - s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn - ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg - 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef - rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q - qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK - Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 - RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM - 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t - lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl - DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q - rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th - pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S - T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt - SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ - oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 - l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg - S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj - CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X - 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF - 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu - F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee - SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 - 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY - VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 - 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 - edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA - S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw - p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if - SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES - 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U - IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL - 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze - r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq - nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R - Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 - nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA - AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 - OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy - BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F - mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd - v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul - AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj - dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg - 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 - OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -1742,6 +1606,219 @@ TJ65mM1/9adCvki+8p7nYPunBqvfgM/pcrxVz6sAAAAASUVORK5CYII= + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL + ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH + s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW + uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx + xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd + iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ + qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW + GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE + NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n + KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw + qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI + HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq + wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q + 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n + W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 + eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv + 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP + I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f + n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV + x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et + V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD + D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u + 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n + z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V + rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ + 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm + oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 + ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H + 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC + RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo + KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O + 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd + rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o + 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C + s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI + jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs + FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm + LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml + CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV + hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q + bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX + YCSg/AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL + SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 + 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P + zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 + 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj + L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 + RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf + nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P + 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj + ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G + xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H + dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 + LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob + gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 + ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi + UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd + XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 + 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN + jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF + Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn + ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A + AAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -1913,6 +1990,292 @@ R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG + UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe + 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 + wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm + RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm + pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH + oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ + ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU + jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm + 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 + RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT + 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 + VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn + KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 + A2MdqQeVc5pWAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 + iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z + zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s + hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa + BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n + WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ + BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY + s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn + ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg + 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef + rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q + qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK + Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 + RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO + RK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM + 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t + lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl + DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q + rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th + pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S + T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt + SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ + oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 + l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg + S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj + CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X + 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF + 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu + F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee + SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 + 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY + VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 + 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 + edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA + S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw + p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if + SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES + 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U + IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL + 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze + r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq + nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R + Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 + nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA + AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 + OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy + BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F + mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd + v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul + AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj + dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg + 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 + OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo + cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 + p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D + frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua + BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO + Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O + eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e + x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa + mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM + FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF + 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH + 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn + DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH + ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -2160,369 +2523,6 @@ 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG - UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe - 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 - wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm - RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm - pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH - oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ - ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU - jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm - 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 - RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT - 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 - VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn - KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 - A2MdqQeVc5pWAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN - yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc - c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg - 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 - cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 - ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw - O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD - nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz - 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn - k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I - 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df - WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs - T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda - SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL - ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH - s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW - uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx - xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd - iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ - qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW - GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE - NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n - KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw - qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI - HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq - wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q - 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n - W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 - eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv - 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP - I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f - n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV - x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et - V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD - D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u - 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n - z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V - rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ - 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm - oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 - ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H - 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC - RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo - KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O - 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd - rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o - 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C - s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI - jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs - FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm - LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml - CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV - hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q - bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX - YCSg/AAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL - SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 - 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P - zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 - 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj - L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 - RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf - nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P - 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj - ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G - xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H - dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 - LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob - gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 - ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi - UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd - XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 - 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN - jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF - Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn - ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A - AAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo - cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 - p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D - frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua - BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO - Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O - eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e - x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa - mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM - FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF - 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH - 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn - DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH - ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 diff --git a/TreeUtils.cs b/TreeUtils.cs index 37878fc..04ae5e5 100644 --- a/TreeUtils.cs +++ b/TreeUtils.cs @@ -258,5 +258,34 @@ } } } + + /// + /// 根据父节点改变子节点的选中状态 + /// + /// + /// + public static void CheckChildrenNode(TreeNode parentNode, bool isChecked) + { + parentNode.Checked = isChecked; + foreach (TreeNode childNode in parentNode.Nodes) + { + childNode.Checked = isChecked; + if (childNode.Nodes.Count > 0) + CheckChildrenNode(childNode, isChecked); + } + } + + public static void ChangeNodeCheckedStatus(TreeView treeView, string strNodeName, bool isChecked) + { + foreach (TreeNode curNode in treeView.Nodes) + { + if (curNode.Text != strNodeName) continue; + else + { + TreeUtils.CheckChildrenNode(curNode, isChecked); + return; + } + } + } } } diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/FrmLineCoordinate.designer.cs b/FrmLineCoordinate.designer.cs index 3149abf..0a3fbb7 100644 --- a/FrmLineCoordinate.designer.cs +++ b/FrmLineCoordinate.designer.cs @@ -138,6 +138,7 @@ this.checkBoxX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.checkBoxX3.TabIndex = 88; this.checkBoxX3.Text = "管沟"; + this.checkBoxX3.Visible = false; this.checkBoxX3.CheckedChanged += new System.EventHandler(this.checkBoxX3_CheckedChanged); // // checkBoxX2 diff --git a/FrmpipeDeepstatis.Designer.cs b/FrmpipeDeepstatis.Designer.cs index ef5a119..2627350 100644 --- a/FrmpipeDeepstatis.Designer.cs +++ b/FrmpipeDeepstatis.Designer.cs @@ -36,13 +36,11 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -53,6 +51,7 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.dataGridViewX2 = new DevComponents.DotNetBar.Controls.DataGridViewX(); this.下限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.上限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,42 +69,18 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(123, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 9; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(123, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 6; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -139,14 +114,14 @@ this.条数, this.总长度}); this.dataGridViewX1.ContextMenuStrip = this.contextMenuStrip1; - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(3, 3); @@ -206,6 +181,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(786, 304); + this.chart1.TabIndex = 3; + this.chart1.Text = "chart1"; + // // dataGridViewX2 // this.dataGridViewX2.AllowUserToAddRows = false; @@ -213,14 +204,14 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.下限, this.上限}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; this.dataGridViewX2.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(493, 23); @@ -234,18 +225,18 @@ // // 下限 // - dataGridViewCellStyle1.Format = "N2"; - dataGridViewCellStyle1.NullValue = null; - this.下限.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.Format = "N2"; + dataGridViewCellStyle2.NullValue = null; + this.下限.DefaultCellStyle = dataGridViewCellStyle2; this.下限.HeaderText = "下限"; this.下限.Name = "下限"; this.下限.Width = 60; // // 上限 // - dataGridViewCellStyle6.Format = "N2"; - dataGridViewCellStyle6.NullValue = null; - this.上限.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle3.Format = "N2"; + dataGridViewCellStyle3.NullValue = null; + this.上限.DefaultCellStyle = dataGridViewCellStyle3; this.上限.HeaderText = "上限"; this.上限.Name = "上限"; this.上限.Width = 60; @@ -453,7 +444,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX2, 2, 0); this.tableLayoutPanel2.Controls.Add(this.lstpipeRadius, 2, 1); this.tableLayoutPanel2.Controls.Add(this.dataGridViewX2, 4, 1); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); @@ -467,21 +457,17 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(800, 194); this.tableLayoutPanel2.TabIndex = 11; // - // chart1 + // buttonX8 // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(786, 304); - this.chart1.TabIndex = 3; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(123, 23); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // FrmpipeDeepstatis // @@ -503,18 +489,16 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -543,5 +527,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/FrmpipeDeepstatis.cs b/FrmpipeDeepstatis.cs index 8d915a9..f034488 100644 --- a/FrmpipeDeepstatis.cs +++ b/FrmpipeDeepstatis.cs @@ -12,41 +12,40 @@ namespace Cyberpipe { - public partial class FrmpipeDeepstatis :Office2007Form + public partial class FrmpipeDeepstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames; - + List pipeLayerNames = new List(); + GSOGeoPolygon3D polygon; static FrmpipeDeepstatis frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDeepstatis(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDeepstatis(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); - }else if (frm.WindowState == FormWindowState.Minimized) + } + else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } } - public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = globeControl; - pipeLayerNames = pipeLayers; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; + if (!pipeLayers[i].Contains("SG")) + { + pipeLayerNames.Add(pipeLayers[i]); + } } + //pipeLayerNames = pipeLayers; + polygon = _polygon; } /// /// 上限、下限按钮事件处理 @@ -121,7 +120,6 @@ dataGridViewX2.Rows.Remove(row); } } - /// /// 给表格绑定数据 /// @@ -130,12 +128,11 @@ { try { - dic.Clear() ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { @@ -159,7 +156,7 @@ row.Cells["总长度"].Value = Math.Round(result.sum, 2); dic.Add(layer.Caption + "," + row.Cells["埋深范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + } } @@ -176,8 +173,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -210,44 +205,13 @@ /// /// private void FrmpipeDeepstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } - } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层"); - return; } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - } + /// /// 全选 /// @@ -270,7 +234,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -292,25 +256,6 @@ /// private void buttonX8_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层"); - return; - } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - pipeDiameterStatis(null); - } - /// - /// 绘制区域分段统计 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层"); @@ -321,13 +266,8 @@ MessageBox.Show("请添加分段"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } - - /// /// 导出Excel按钮事件处理 /// @@ -406,7 +346,7 @@ MessageBox.Show("统计结果为空,请重新统计之后再导出Excel!", "提示"); } } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { MemberInfo memberInfo = e.Control.GetType().BaseType; @@ -452,11 +392,6 @@ private void FrmpipeDeepstatis_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } } diff --git a/FrmpipeDeepstatis.resx b/FrmpipeDeepstatis.resx index b2dd89f..e1ca348 100644 --- a/FrmpipeDeepstatis.resx +++ b/FrmpipeDeepstatis.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - True @@ -132,6 +129,9 @@ True + + 17, 17 + True diff --git a/FrmpipeDiametergather.Designer.cs b/FrmpipeDiametergather.Designer.cs index 2cb5d15..697b8aa 100644 --- a/FrmpipeDiametergather.Designer.cs +++ b/FrmpipeDiametergather.Designer.cs @@ -37,9 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea9 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -47,6 +45,8 @@ this.管径 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX3 = new DevComponents.DotNetBar.ButtonX(); @@ -56,46 +56,19 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(3, 167); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(108, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 14; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX8.Location = new System.Drawing.Point(3, 117); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(108, 24); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 11; - this.buttonX8.Text = "全区域分类汇总"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tableLayoutPanel1.SetColumnSpan(this.tabControl1, 6); @@ -172,22 +145,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(832, 285); + this.tabPage2.Size = new System.Drawing.Size(572, 274); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea9.AxisX.MajorGrid.Enabled = false; - chartArea9.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea9); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -244,7 +231,6 @@ this.clbPipeLine.Size = new System.Drawing.Size(240, 194); this.clbPipeLine.TabIndex = 1; this.clbPipeLine.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.clbPipeLine_ItemCheck); - //this.clbPipeLine.SelectedIndexChanged += new System.EventHandler(this.clbPipeLine_SelectedIndexChanged); // // labelX1 // @@ -300,25 +286,10 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(64, 194); this.tableLayoutPanel2.TabIndex = 15; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // tableLayoutPanel3 // this.tableLayoutPanel3.ColumnCount = 1; this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel3.Controls.Add(this.buttonX8, 0, 1); this.tableLayoutPanel3.Controls.Add(this.buttonX9, 0, 3); this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel3.Location = new System.Drawing.Point(439, 23); @@ -331,6 +302,19 @@ this.tableLayoutPanel3.Size = new System.Drawing.Size(114, 194); this.tableLayoutPanel3.TabIndex = 16; // + // buttonX9 + // + this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonX9.Location = new System.Drawing.Point(3, 167); + this.buttonX9.Name = "buttonX9"; + this.buttonX9.Size = new System.Drawing.Size(108, 24); + this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX9.TabIndex = 14; + this.buttonX9.Text = "开始统计"; + this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); + // // FrmpipeDiametergather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -349,11 +333,11 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.tableLayoutPanel3.ResumeLayout(false); this.ResumeLayout(false); @@ -361,8 +345,6 @@ #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -382,5 +364,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private TableLayoutPanel tableLayoutPanel3; + private ButtonX buttonX9; } } \ No newline at end of file diff --git a/FrmpipeDiametergather.cs b/FrmpipeDiametergather.cs index c09aaf1..0545383 100644 --- a/FrmpipeDiametergather.cs +++ b/FrmpipeDiametergather.cs @@ -16,15 +16,15 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeDiametergather frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDiametergather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDiametergather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if (frm.WindowState == FormWindowState.Minimized) @@ -33,23 +33,11 @@ } } - public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } - - } /// /// 窗体初始化事件处理 @@ -63,32 +51,7 @@ clbPipeLine.Items.Add(pipeLayerNames[i]); } } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } + /// /// 全选 /// @@ -154,14 +117,9 @@ MessageBox.Show("请选择图层!"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - + pipeDiameterStatis(polygon); + } /// /// 给表格绑定数据 /// @@ -392,10 +350,6 @@ private void FrmpipeDiametergather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } diff --git a/FrmpipeMaterialGather.Designer.cs b/FrmpipeMaterialGather.Designer.cs index d03f476..3ad7cbd 100644 --- a/FrmpipeMaterialGather.Designer.cs +++ b/FrmpipeMaterialGather.Designer.cs @@ -37,8 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); @@ -47,6 +46,8 @@ this.材质 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX4 = new DevComponents.DotNetBar.ButtonX(); @@ -60,31 +61,16 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(523, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(114, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 19; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // // buttonX8 // this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; @@ -95,7 +81,7 @@ this.buttonX8.Size = new System.Drawing.Size(114, 23); this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.buttonX8.TabIndex = 16; - this.buttonX8.Text = "全区域分类汇总"; + this.buttonX8.Text = "开始汇总"; this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // tabControl1 @@ -173,22 +159,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(547, 313); + this.tabPage2.Size = new System.Drawing.Size(669, 318); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea3.AxisX.MajorGrid.Enabled = false; - chartArea3.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea3); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -340,7 +340,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX1, 0, 0); this.tableLayoutPanel2.Controls.Add(this.clbPipeLine, 0, 1); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 4, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 4, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX4, 3, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.clbmaterials, 2, 1); @@ -360,20 +359,6 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(677, 194); this.tableLayoutPanel2.TabIndex = 21; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // FrmpipeMaterialGather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -392,18 +377,17 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; diff --git a/FrmpipeMaterialGather.cs b/FrmpipeMaterialGather.cs index 5ca8144..00a7565 100644 --- a/FrmpipeMaterialGather.cs +++ b/FrmpipeMaterialGather.cs @@ -16,13 +16,13 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeMaterialGather frm; - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeMaterialGather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeMaterialGather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if(frm.WindowState == FormWindowState.Minimized) @@ -31,21 +31,12 @@ } } - public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -82,31 +73,6 @@ } /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } - /// /// 全选按钮事件处理 /// /// @@ -284,28 +250,7 @@ return; } globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(null); - } - /// - /// 绘制区域分类汇总 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (clbmaterials.CheckedItems.Count == 0) - { - MessageBox.Show("请选择材质类型!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } /// @@ -316,10 +261,7 @@ private void FrmpipeMaterialGather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } /// diff --git a/Frmpipediameterstatis.Designer.cs b/Frmpipediameterstatis.Designer.cs index b219ce5..089b897 100644 --- a/Frmpipediameterstatis.Designer.cs +++ b/Frmpipediameterstatis.Designer.cs @@ -55,7 +55,6 @@ this.buttonX1 = new DevComponents.DotNetBar.ButtonX(); this.clbPipeLine = new System.Windows.Forms.CheckedListBox(); this.labelX1 = new DevComponents.DotNetBar.LabelX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -66,20 +65,20 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); this.buttonX7 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // // dataGridViewX2 @@ -278,18 +277,6 @@ this.labelX1.TabIndex = 0; this.labelX1.Text = "指定图层:"; // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(112, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 1; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -390,6 +377,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(776, 355); + this.chart1.TabIndex = 2; + this.chart1.Text = "chart1"; + // // tableLayoutPanel1 // this.tableLayoutPanel1.ColumnCount = 1; @@ -428,7 +431,6 @@ this.tableLayoutPanel2.Controls.Add(this.buttonX2, 1, 2); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); this.tableLayoutPanel2.Name = "tableLayoutPanel2"; @@ -453,33 +455,17 @@ this.buttonX7.Text = "删除行"; this.buttonX7.Click += new System.EventHandler(this.buttonX7_Click); // - // buttonX9 + // buttonX8 // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(112, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 4; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // chart1 - // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(776, 355); - this.chart1.TabIndex = 2; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(112, 24); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // Frmpipediameterstatis // @@ -502,9 +488,9 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } @@ -522,7 +508,6 @@ private ButtonX buttonX6; private ButtonX buttonX5; private ButtonX buttonX4; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private TabPage tabPage2; @@ -538,8 +523,8 @@ private TableLayoutPanel tableLayoutPanel1; private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; - private ButtonX buttonX9; private ButtonX buttonX7; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/Frmpipediameterstatis.cs b/Frmpipediameterstatis.cs index 48ac35f..27f134b 100644 --- a/Frmpipediameterstatis.cs +++ b/Frmpipediameterstatis.cs @@ -11,44 +11,37 @@ namespace Cyberpipe { - public partial class Frmpipediameterstatis :Office2007Form + public partial class Frmpipediameterstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames ; - + List pipeLayerNames = new List(); static Frmpipediameterstatis frm; -// private MainFrm.PageControlStuct _pageControl; + GSOGeoPolygon3D polygon; + Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new Frmpipediameterstatis(_globeControl1, pipeLayers, visibleId); + frm = new Frmpipediameterstatis(_globeControl1, pipeLayers, _polygon); frm.Show(_globeControl1.Parent); } else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; - } + } } - public Frmpipediameterstatis(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public Frmpipediameterstatis(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; - pipeLayerNames = pipeLayers; -// _pageControl = pageControl; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; + if (!pipeLayers[i].Contains("SG")) + pipeLayerNames.Add(pipeLayers[i]); } - if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -56,13 +49,12 @@ /// /// private void Frmpipediameterstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } + } } - /// /// 上限按钮事件处理 /// @@ -75,7 +67,7 @@ DataGridViewRow row = dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; if (lstpipeRadius.SelectedItem != null) { - if (row.Cells["下限"].Value != null&& row.Cells["下限"].Value.ToString() != "") + if (row.Cells["下限"].Value != null && row.Cells["下限"].Value.ToString() != "") { double downRadius = Convert.ToDouble(row.Cells["下限"].Value); double upRadius = Convert.ToDouble(lstpipeRadius.SelectedItem.ToString()); @@ -138,13 +130,13 @@ private void buttonX7_Click(object sender, EventArgs e) { if (dataGridViewX2.SelectedCells.Count > 0) - { - DataGridViewRow row=dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; + { + DataGridViewRow row = dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; dataGridViewX2.Rows.Remove(row); } } - - Dictionary dic = new Dictionary(); + + /// /// 全区域分段统计 /// @@ -160,7 +152,7 @@ { MessageBox.Show("请添加分段!"); } - pipeDiameterStatis(null); + pipeDiameterStatis(polygon); } /// /// 给表格绑定数据 @@ -170,14 +162,15 @@ { try { - dic.Clear(); ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); - for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { + for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) + { GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); - for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { - + for (int j = 0; j < dataGridViewX2.Rows.Count; j++) + { object tempUp = dataGridViewX2.Rows[j].Cells["上限"].Value; double? upLimit = null; if (tempUp != null) upLimit = Convert.ToDouble(tempUp); @@ -185,27 +178,23 @@ object tempDown = dataGridViewX2.Rows[j].Cells["下限"].Value; double? downLimit = null; if (tempDown != null) downLimit = Convert.ToDouble(tempDown); - if (upLimit == null && downLimit == null) continue;//空行过滤 + if (upLimit == null && downLimit == null) continue;//空行过滤 //获取符合条件的管线 - FeaturesClassfyResult result = service.GetPipesInfoByValueSection(polygon, layer, downLimit, upLimit, "管径_毫米"); - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layer.Caption; - row.Cells["管径范围"].Value = result.groupFieldValue; - row.Cells["条数"].Value = result.ncount; - row.Cells["总长度"].Value = Math.Round(result.sum, 2); - dic.Add(layer.Caption + "," + row.Cells["管径范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + FeaturesClassfyResult result = service.GetPipesInfoByValueSection(polygon, layer, downLimit, upLimit, "管径"); + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layer.Caption; + row.Cells["管径范围"].Value = result.groupFieldValue; + row.Cells["条数"].Value = result.ncount; + row.Cells["总长度"].Value = Math.Round(result.sum, 2); + dic.Add(layer.Caption + "," + row.Cells["管径范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); } } - - showPipeWidget(); } catch (Exception ex) { - //MessageBox.Show(ex.Message); LogHelper.Error(ex.Message); LogError.PublishError(ex); } @@ -215,8 +204,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -266,7 +253,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -357,8 +344,6 @@ myStream.Close(); } } - - } /// /// 绘制区域分段统计 @@ -367,28 +352,6 @@ /// private void buttonX9_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (dataGridViewX2.Rows.Count == 0) { - MessageBox.Show("请添加分段!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层!"); @@ -399,21 +362,8 @@ MessageBox.Show("请添加分段!"); return; } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - + pipeDiameterStatis(polygon); } - /// /// 窗体关闭事件处理 /// @@ -421,15 +371,10 @@ /// private void Frmpipediameterstatis_FormClosing(object sender, FormClosingEventArgs e) { - frm = null; - - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); + frm = null; + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { if (e.Control.GetType().BaseType.Name == "TextBox") diff --git a/MainFrm.cs b/MainFrm.cs index 9732fad..2d57cd7 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -1880,7 +1880,27 @@ globeControl1.Globe.Action = EnumAction3D.ActionNull; break; + case "pipeDiameter"://绘制区域管径分段统计 + Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "depthStatistic"://绘制区域埋深分段统计 + FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "materialStatistic": + FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "pipeStatistic"://管径分类 + trackflag = null; + FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; case "pit": double depth; FrmTackPolygonDlg dlg = new FrmTackPolygonDlg(); @@ -5665,7 +5685,7 @@ private void 管径分段统计ToolStripMenuItem_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分段统计"); - Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 管径分段统计绘制区域统计 @@ -5675,8 +5695,14 @@ private void 管径分段统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分段统计"); + trackflag = "pipeDiameter"; + + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 埋深分段统计全区域统计 @@ -5686,7 +5712,7 @@ private void 埋深分段统计ToolStripMenuItem_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "埋深分段统计"); - FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 埋深分段统计绘制区域统计 @@ -5696,8 +5722,13 @@ private void 埋深分段统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "埋深分段统计"); + trackflag = "depthStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + * */ } /// /// 管径分类统计全区域统计 @@ -5708,7 +5739,7 @@ { LogManager.saveLog(Utility.userName, "管径分类汇总"); - FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 管径分类统计绘制区域统计 @@ -5718,9 +5749,13 @@ private void 管径分类统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分类汇总"); - + trackflag = "pipeStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 材质分类统计全区域统计 @@ -5731,7 +5766,7 @@ { LogManager.saveLog(Utility.userName, "材质分类汇总"); - FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 材质分类统计绘制区域统计 @@ -5741,9 +5776,13 @@ private void 材质分类统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "材质分类汇总"); - + trackflag = "materialStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 附属物分类统计全区域统计 @@ -7577,10 +7616,12 @@ splitContainer1.Panel2Collapsed = true; legendSG.Visible = false; legendSC.Visible = false; - ClearGZData(); + //ClearGZData(); GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer == null) return; redLayer.Visible = true; + + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", true); } catch (Exception ex) { @@ -7614,6 +7655,8 @@ GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer != null) redLayer.Visible = false; + + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", false); } catch (Exception ex) { @@ -7636,10 +7679,11 @@ panelOfTable.Visible = false; legendSC.Visible = false; legendSG.Visible = false; - ClearGZData(); + //ClearGZData(); GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer == null) return; redLayer.Visible = false; + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", false); } catch (Exception ex) { diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index 943beed..86eae6e 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -112,7 +112,6 @@ this.sideBar1 = new DevComponents.DotNetBar.SideBar(); this.panelEx3 = new DevComponents.DotNetBar.PanelEx(); this.layerSensorTree = new System.Windows.Forms.TreeView(); - this.layerTree = new Cyberpipe.MyTreeView(); this.sideBarPanelItem3 = new DevComponents.DotNetBar.SideBarPanelItem(); this.controlContainerItem3 = new DevComponents.DotNetBar.ControlContainerItem(); this.sideBarPanelItem4 = new DevComponents.DotNetBar.SideBarPanelItem(); @@ -541,6 +540,7 @@ this.labelX17 = new DevComponents.DotNetBar.LabelX(); this.panelEx4 = new DevComponents.DotNetBar.PanelEx(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.layerTree = new Cyberpipe.MyTreeView(); this.statusStrip1.SuspendLayout(); this.sideBar1.SuspendLayout(); this.panelEx3.SuspendLayout(); @@ -979,18 +979,6 @@ this.layerSensorTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerMarkerTree_NodeMouseClick); this.layerSensorTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); // - // layerTree - // - this.layerTree.CheckBoxes = true; - this.layerTree.ItemHeight = 18; - this.layerTree.Location = new System.Drawing.Point(30, 78); - this.layerTree.Name = "layerTree"; - this.layerTree.Size = new System.Drawing.Size(121, 97); - this.layerTree.TabIndex = 1; - this.layerTree.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree_AfterCheck); - this.layerTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseClick); - this.layerTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); - // // sideBarPanelItem3 // this.sideBarPanelItem3.FontBold = true; @@ -2135,13 +2123,13 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel15); - this.ribbonControl1.Controls.Add(this.ribbonPanel1); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); - this.ribbonControl1.Controls.Add(this.ribbonPanel5); this.ribbonControl1.Controls.Add(this.ribbonPanel12); + this.ribbonControl1.Controls.Add(this.ribbonPanel1); + this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel4); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); this.ribbonControl1.Controls.Add(this.ribbonPanel7); this.ribbonControl1.Controls.Add(this.ribbonPanel3); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; @@ -2192,10 +2180,10 @@ this.ribbonPanel6.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel6.Controls.Add(this.ribbonBar6); this.ribbonPanel6.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel6.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel6.Location = new System.Drawing.Point(0, 0); this.ribbonPanel6.Name = "ribbonPanel6"; this.ribbonPanel6.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel6.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel6.Size = new System.Drawing.Size(1328, 95); // // // @@ -2212,6 +2200,7 @@ this.ribbonPanel6.StyleMouseOver.Class = ""; this.ribbonPanel6.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel6.TabIndex = 38; + this.ribbonPanel6.Visible = false; // // ribbonBar6 // @@ -2236,7 +2225,7 @@ this.buttonItemGBJC}); this.ribbonBar6.Location = new System.Drawing.Point(3, 0); this.ribbonBar6.Name = "ribbonBar6"; - this.ribbonBar6.Size = new System.Drawing.Size(427, 59); + this.ribbonBar6.Size = new System.Drawing.Size(427, 92); this.ribbonBar6.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar6.TabIndex = 0; // @@ -2322,7 +2311,6 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; - this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -2449,6 +2437,7 @@ this.buttonItem4.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem4.Image"))); this.buttonItem4.Name = "buttonItem4"; this.buttonItem4.Text = "删除"; + this.buttonItem4.Visible = false; this.buttonItem4.Click += new System.EventHandler(this.buttonItemBJ13_Click); // // buttonItemSJGL @@ -2780,10 +2769,10 @@ this.ribbonPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel1.Controls.Add(this.ribbonBar21); this.ribbonPanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel1.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel1.Location = new System.Drawing.Point(0, 0); this.ribbonPanel1.Name = "ribbonPanel1"; this.ribbonPanel1.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel1.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel1.Size = new System.Drawing.Size(1328, 95); // // // @@ -2827,7 +2816,7 @@ this.btnOutputJPG}); this.ribbonBar21.Location = new System.Drawing.Point(3, 0); this.ribbonBar21.Name = "ribbonBar21"; - this.ribbonBar21.Size = new System.Drawing.Size(514, 59); + this.ribbonBar21.Size = new System.Drawing.Size(514, 92); this.ribbonBar21.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar21.TabIndex = 2; this.ribbonBar21.Text = "浏览模式"; @@ -3128,10 +3117,10 @@ this.ribbonPanel12.Controls.Add(this.ribbonBar18); this.ribbonPanel12.Controls.Add(this.ribbonBar13); this.ribbonPanel12.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel12.Location = new System.Drawing.Point(0, 0); + this.ribbonPanel12.Location = new System.Drawing.Point(0, 33); this.ribbonPanel12.Name = "ribbonPanel12"; this.ribbonPanel12.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel12.Size = new System.Drawing.Size(1328, 95); + this.ribbonPanel12.Size = new System.Drawing.Size(1328, 62); // // // @@ -3170,7 +3159,7 @@ this.buttonItem132}); this.ribbonBar18.Location = new System.Drawing.Point(508, 0); this.ribbonBar18.Name = "ribbonBar18"; - this.ribbonBar18.Size = new System.Drawing.Size(75, 92); + this.ribbonBar18.Size = new System.Drawing.Size(75, 59); this.ribbonBar18.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar18.TabIndex = 1; // @@ -3222,7 +3211,7 @@ this.btn_check_history}); this.ribbonBar13.Location = new System.Drawing.Point(3, 0); this.ribbonBar13.Name = "ribbonBar13"; - this.ribbonBar13.Size = new System.Drawing.Size(505, 92); + this.ribbonBar13.Size = new System.Drawing.Size(505, 59); this.ribbonBar13.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar13.TabIndex = 0; // @@ -3297,10 +3286,10 @@ this.ribbonPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel4.Controls.Add(this.ribbonBar1); this.ribbonPanel4.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel4.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel4.Location = new System.Drawing.Point(0, 0); this.ribbonPanel4.Name = "ribbonPanel4"; this.ribbonPanel4.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel4.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel4.Size = new System.Drawing.Size(1328, 95); // // // @@ -3338,7 +3327,7 @@ this.btn_document_info}); this.ribbonBar1.Location = new System.Drawing.Point(3, 0); this.ribbonBar1.Name = "ribbonBar1"; - this.ribbonBar1.Size = new System.Drawing.Size(200, 59); + this.ribbonBar1.Size = new System.Drawing.Size(200, 92); this.ribbonBar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar1.TabIndex = 0; // @@ -3597,7 +3586,6 @@ // ribbonTabItem9 // this.ribbonTabItem9.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem9.Checked = true; this.ribbonTabItem9.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.HoverImage"))); this.ribbonTabItem9.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.Image"))); this.ribbonTabItem9.Name = "ribbonTabItem9"; @@ -3618,6 +3606,7 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -5959,6 +5948,18 @@ this.pictureBox1.TabStop = false; this.pictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(this.pictureBox1_Paint); // + // layerTree + // + this.layerTree.CheckBoxes = true; + this.layerTree.ItemHeight = 18; + this.layerTree.Location = new System.Drawing.Point(30, 78); + this.layerTree.Name = "layerTree"; + this.layerTree.Size = new System.Drawing.Size(121, 97); + this.layerTree.TabIndex = 1; + this.layerTree.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree_AfterCheck); + this.layerTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseClick); + this.layerTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); + // // MainFrm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; diff --git a/MainFrm.resx b/MainFrm.resx index ea7021a..648fcdb 100644 --- a/MainFrm.resx +++ b/MainFrm.resx @@ -351,142 +351,6 @@ 766, 54 - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 - iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z - zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s - hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa - BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n - WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ - BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY - s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn - ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg - 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef - rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q - qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK - Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 - RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM - 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t - lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl - DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q - rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th - pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S - T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt - SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ - oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 - l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg - S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj - CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X - 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF - 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu - F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee - SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 - 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY - VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 - 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 - edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA - S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw - p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if - SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES - 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U - IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL - 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze - r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq - nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R - Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 - nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA - AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 - OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy - BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F - mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd - v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul - AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj - dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg - 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 - OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -1742,6 +1606,219 @@ TJ65mM1/9adCvki+8p7nYPunBqvfgM/pcrxVz6sAAAAASUVORK5CYII= + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL + ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH + s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW + uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx + xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd + iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ + qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW + GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE + NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n + KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw + qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI + HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq + wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q + 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n + W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 + eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv + 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP + I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f + n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV + x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et + V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD + D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u + 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n + z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V + rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ + 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm + oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 + ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H + 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC + RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo + KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O + 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd + rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o + 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C + s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI + jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs + FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm + LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml + CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV + hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q + bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX + YCSg/AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL + SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 + 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P + zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 + 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj + L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 + RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf + nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P + 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj + ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G + xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H + dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 + LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob + gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 + ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi + UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd + XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 + 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN + jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF + Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn + ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A + AAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -1913,6 +1990,292 @@ R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG + UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe + 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 + wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm + RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm + pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH + oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ + ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU + jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm + 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 + RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT + 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 + VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn + KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 + A2MdqQeVc5pWAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 + iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z + zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s + hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa + BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n + WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ + BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY + s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn + ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg + 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef + rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q + qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK + Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 + RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO + RK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM + 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t + lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl + DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q + rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th + pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S + T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt + SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ + oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 + l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg + S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj + CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X + 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF + 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu + F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee + SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 + 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY + VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 + 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 + edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA + S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw + p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if + SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES + 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U + IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL + 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze + r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq + nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R + Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 + nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA + AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 + OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy + BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F + mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd + v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul + AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj + dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg + 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 + OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo + cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 + p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D + frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua + BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO + Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O + eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e + x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa + mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM + FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF + 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH + 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn + DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH + ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -2160,369 +2523,6 @@ 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG - UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe - 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 - wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm - RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm - pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH - oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ - ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU - jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm - 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 - RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT - 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 - VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn - KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 - A2MdqQeVc5pWAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN - yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc - c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg - 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 - cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 - ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw - O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD - nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz - 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn - k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I - 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df - WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs - T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda - SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL - ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH - s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW - uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx - xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd - iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ - qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW - GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE - NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n - KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw - qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI - HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq - wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q - 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n - W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 - eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv - 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP - I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f - n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV - x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et - V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD - D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u - 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n - z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V - rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ - 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm - oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 - ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H - 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC - RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo - KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O - 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd - rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o - 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C - s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI - jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs - FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm - LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml - CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV - hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q - bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX - YCSg/AAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6npMy1AAAGEUlEQVRIS7WVeVDUZRjHf7Ase8ECu+wl4LIXcqyyHC783AWW - 5QaRFTHkMi9SQvE+UhLzwk0BUcQSgQBBgcYDzStMSzOPcpqcmo5pmqk/+rOapqb+iG/PbzfFcSz/6pn5 - zPN739/7fp/nvZn/3TSLjj+XJy2/RaItPCT5vaBd8m1+q2Qku1lcrcvki+iXr7fFU6ZZeOx5KDU1b7jU - 1Z2bVPMPWNMbRXrXkWAc+ywVLbcS8fKwFjlu8VdpW0XzSc6f8PEIPzJ19dFnU3WEJdHL9P3X9O1nkdB8 - CQrX7i3mKn9zfqsUq29ZsPfjRBx5aMO2cTMy94gm7FuF7XyJTwDJTo5GVdHxNALVgsPd5Ceye+9g8b0f - UXbjB8RtH4Msd+MeXS7f6twjxbILZiy7pEHDtTBsvG7BqivTUXpsClLWCbtJNpDwBlGVH3ySIFV520eW - nedRcf0HVJGwbeRrOHs/h2n1CGRZDe7wND/W1hiI8sEYlJ4KRcVpJcrfVqByNBILhqLh3KeA+UXBOpL2 - jkRZduARPGXZ/vH4pnMou/gd7INfIPn4QyQc/RSOzk9hrBtEiKPerUn1Y5PXBaDojWlwdgUjr0+G/H4Z - cnpCUNJrQNZ+LeLrBD/LYnixFEDAKFz7vJQ0r49dO4zikS8x8/ADxLd9jIT2B5ix/z7SX78Pw+K3EJy2 - wq1M4rEz6sRwthgw82Ag2KNS2I5JPZ4rZx00ImGNHIZSfisFkDGhxbs5AkKLd/3kaLkDlgTjXrsNc/Md - mPfeQeyOD2HbcRu6yi4E2Wrd8ngeG71IBPtePWa4JUhsD0DykQAkHQqApUWCFLcGyZvDoZ/P/5oCTGXk - hU2MvGB7rbGmG47dd2Fa+x6iX/kAMa/eQvS2m4jaeAPspvcROb8TQexid3CcL2usFCJjnwE5nQYU9RhR - PGDC7D4TCrqMyDqkR9oePbRz/SZEKh8rI8vdyshyXhmzLD8DS/1VGOquwtgw7glkXH0Nhvp3kbL2GrSl - hyC11ril03xZfbkQKZuVsDeq4NihRtYuDbJ2auBoUsO2TQXrJiWMlWIExflWMiHOjRzfJy0bg776HCKX - vANd7WXol1/xeN3Si7A2XIXW1YbAxAq3UO0zPTSd1yG38bplLK//vxBrffKY4PQ1HH9aKk8jonQUUyvO - Qlt9HtqaCx4/tXIMyXWXMXXOAQTEv+D2zCvDhBBTCN1zCGOCZq3k+DXO1YcpRYOY4hpF2LzTCCs74/VE - 3IvnEVd1EhGFblBbWot6BKXWQZq64tlYa2+TuJwQM9KU5cRL35hyOxCe2w913hA0hcPQFI16KRzxEFtO - a1Q9htSVN5C+5S5x7x/uIm3DR7CvuomUReOImt1FU7nwEolHECImMGkJE5i46EJkejNM+X1QOPqhzBqC - KvskVDmnJuHKT/K4bgjKzBMItXcjJv84NOwWiKPndJK40TOCgPgaRmIur1dZ1yM6txvyWT0ITR+AImOQ - gg39N1ybDBJP60PorC5My3oTwQm18FdNryBxbq0EJL6AEUTYZBTkF0NGKyKdvZDb3qJOAxSIOqcP/jtp - JyC3D1BSvYgp6EN4aiNlP/cTEk4gFASPEUeXkWd8RaY5jcrEBkTn9UCT4Q3gzfBfRvJE9rrsfpicHSRe - NsFXmJeSXhTBXXY+jMjk8uArVkpExuKb6pkbYJ7L7Ria37xTUBeMeCkcncRTN0z/TyLKNYy4khNQJq2G - IMLBXdUWQkXwCYYR6md7IPP1k8WEC3UFDzSpG2BZeAZJtXQWFpyls3HOC50JzkdQnbFqDInLLiC2rBcq - 6xoSzzzP+NDVwDBaQkx4XzahNv8xZH48sVotCHeOUnnCWNJG18Q4UjddB7vlfbBbPwC7+YannLTyIrS5 - OyHU5v3hr07poL7JBHe4Jh8bzgQROY8h46IKCAVfbi73D3PcpfoJlX0VtEVN0JXsQlj2ZoRaaynj7N/8 - NfZLPLFmHrXnpiWSCCL8iMl32T/M6YGMq+R+covD7QADwfoIgqt4QVGtfvIZJ4lRv5CY4zypbjfjy+eE - M4l4gtuSwYSQ4DS4EZAew/wNiCYQJlvQU3cAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL - SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 - 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P - zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 - 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj - L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 - RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf - nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P - 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj - ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G - xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H - dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 - LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob - gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 - ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi - UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd - XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 - 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN - jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF - Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn - ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A - AAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo - cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 - p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D - frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua - BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO - Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O - eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e - x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa - mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM - FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF - 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH - 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn - DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH - ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 diff --git a/TreeUtils.cs b/TreeUtils.cs index 37878fc..04ae5e5 100644 --- a/TreeUtils.cs +++ b/TreeUtils.cs @@ -258,5 +258,34 @@ } } } + + /// + /// 根据父节点改变子节点的选中状态 + /// + /// + /// + public static void CheckChildrenNode(TreeNode parentNode, bool isChecked) + { + parentNode.Checked = isChecked; + foreach (TreeNode childNode in parentNode.Nodes) + { + childNode.Checked = isChecked; + if (childNode.Nodes.Count > 0) + CheckChildrenNode(childNode, isChecked); + } + } + + public static void ChangeNodeCheckedStatus(TreeView treeView, string strNodeName, bool isChecked) + { + foreach (TreeNode curNode in treeView.Nodes) + { + if (curNode.Text != strNodeName) continue; + else + { + TreeUtils.CheckChildrenNode(curNode, isChecked); + return; + } + } + } } } diff --git a/bin/x86/Debug/Config.xml b/bin/x86/Debug/Config.xml index 36b473e..585bec3 100644 --- a/bin/x86/Debug/Config.xml +++ b/bin/x86/Debug/Config.xml @@ -1,26 +1,26 @@  LocaSpace三维地下管线信息系统 - release - szhtdb2 - 192.168.0.203 - release + scott + SZDB + 127.0.0.1 + SZDB 192.168.0.35 1500 - http://192.168.0.203/images/ - http://192.168.0.203/images/default.jpg + http://127.0.0.1/images/ + http://127.0.0.1/images/default.jpg D:/backup http://127.0.0.1:8083/GSOBackOracle.asmx - 192.168.0.203 - SZGHDB2 + 127.0.0.1 + SZGH scott - SZGHDB2 + SZGH 雨水,污水,给水,天然气,通讯,共通,电通,供电,有线电视,监控,交通信号,路灯 - 192.168.0.203 - SZSGDB2 + 127.0.0.1 + SZSG scott - SZSGDB2 + SZSG http://127.0.0.1/Cyberpipe.msi http://127.0.0.1/Config.xml diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/FrmLineCoordinate.designer.cs b/FrmLineCoordinate.designer.cs index 3149abf..0a3fbb7 100644 --- a/FrmLineCoordinate.designer.cs +++ b/FrmLineCoordinate.designer.cs @@ -138,6 +138,7 @@ this.checkBoxX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.checkBoxX3.TabIndex = 88; this.checkBoxX3.Text = "管沟"; + this.checkBoxX3.Visible = false; this.checkBoxX3.CheckedChanged += new System.EventHandler(this.checkBoxX3_CheckedChanged); // // checkBoxX2 diff --git a/FrmpipeDeepstatis.Designer.cs b/FrmpipeDeepstatis.Designer.cs index ef5a119..2627350 100644 --- a/FrmpipeDeepstatis.Designer.cs +++ b/FrmpipeDeepstatis.Designer.cs @@ -36,13 +36,11 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -53,6 +51,7 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.dataGridViewX2 = new DevComponents.DotNetBar.Controls.DataGridViewX(); this.下限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.上限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,42 +69,18 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(123, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 9; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(123, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 6; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -139,14 +114,14 @@ this.条数, this.总长度}); this.dataGridViewX1.ContextMenuStrip = this.contextMenuStrip1; - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(3, 3); @@ -206,6 +181,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(786, 304); + this.chart1.TabIndex = 3; + this.chart1.Text = "chart1"; + // // dataGridViewX2 // this.dataGridViewX2.AllowUserToAddRows = false; @@ -213,14 +204,14 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.下限, this.上限}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; this.dataGridViewX2.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(493, 23); @@ -234,18 +225,18 @@ // // 下限 // - dataGridViewCellStyle1.Format = "N2"; - dataGridViewCellStyle1.NullValue = null; - this.下限.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.Format = "N2"; + dataGridViewCellStyle2.NullValue = null; + this.下限.DefaultCellStyle = dataGridViewCellStyle2; this.下限.HeaderText = "下限"; this.下限.Name = "下限"; this.下限.Width = 60; // // 上限 // - dataGridViewCellStyle6.Format = "N2"; - dataGridViewCellStyle6.NullValue = null; - this.上限.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle3.Format = "N2"; + dataGridViewCellStyle3.NullValue = null; + this.上限.DefaultCellStyle = dataGridViewCellStyle3; this.上限.HeaderText = "上限"; this.上限.Name = "上限"; this.上限.Width = 60; @@ -453,7 +444,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX2, 2, 0); this.tableLayoutPanel2.Controls.Add(this.lstpipeRadius, 2, 1); this.tableLayoutPanel2.Controls.Add(this.dataGridViewX2, 4, 1); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); @@ -467,21 +457,17 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(800, 194); this.tableLayoutPanel2.TabIndex = 11; // - // chart1 + // buttonX8 // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(786, 304); - this.chart1.TabIndex = 3; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(123, 23); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // FrmpipeDeepstatis // @@ -503,18 +489,16 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -543,5 +527,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/FrmpipeDeepstatis.cs b/FrmpipeDeepstatis.cs index 8d915a9..f034488 100644 --- a/FrmpipeDeepstatis.cs +++ b/FrmpipeDeepstatis.cs @@ -12,41 +12,40 @@ namespace Cyberpipe { - public partial class FrmpipeDeepstatis :Office2007Form + public partial class FrmpipeDeepstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames; - + List pipeLayerNames = new List(); + GSOGeoPolygon3D polygon; static FrmpipeDeepstatis frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDeepstatis(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDeepstatis(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); - }else if (frm.WindowState == FormWindowState.Minimized) + } + else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } } - public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = globeControl; - pipeLayerNames = pipeLayers; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; + if (!pipeLayers[i].Contains("SG")) + { + pipeLayerNames.Add(pipeLayers[i]); + } } + //pipeLayerNames = pipeLayers; + polygon = _polygon; } /// /// 上限、下限按钮事件处理 @@ -121,7 +120,6 @@ dataGridViewX2.Rows.Remove(row); } } - /// /// 给表格绑定数据 /// @@ -130,12 +128,11 @@ { try { - dic.Clear() ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { @@ -159,7 +156,7 @@ row.Cells["总长度"].Value = Math.Round(result.sum, 2); dic.Add(layer.Caption + "," + row.Cells["埋深范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + } } @@ -176,8 +173,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -210,44 +205,13 @@ /// /// private void FrmpipeDeepstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } - } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层"); - return; } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - } + /// /// 全选 /// @@ -270,7 +234,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -292,25 +256,6 @@ /// private void buttonX8_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层"); - return; - } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - pipeDiameterStatis(null); - } - /// - /// 绘制区域分段统计 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层"); @@ -321,13 +266,8 @@ MessageBox.Show("请添加分段"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } - - /// /// 导出Excel按钮事件处理 /// @@ -406,7 +346,7 @@ MessageBox.Show("统计结果为空,请重新统计之后再导出Excel!", "提示"); } } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { MemberInfo memberInfo = e.Control.GetType().BaseType; @@ -452,11 +392,6 @@ private void FrmpipeDeepstatis_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } } diff --git a/FrmpipeDeepstatis.resx b/FrmpipeDeepstatis.resx index b2dd89f..e1ca348 100644 --- a/FrmpipeDeepstatis.resx +++ b/FrmpipeDeepstatis.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - True @@ -132,6 +129,9 @@ True + + 17, 17 + True diff --git a/FrmpipeDiametergather.Designer.cs b/FrmpipeDiametergather.Designer.cs index 2cb5d15..697b8aa 100644 --- a/FrmpipeDiametergather.Designer.cs +++ b/FrmpipeDiametergather.Designer.cs @@ -37,9 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea9 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -47,6 +45,8 @@ this.管径 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX3 = new DevComponents.DotNetBar.ButtonX(); @@ -56,46 +56,19 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(3, 167); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(108, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 14; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX8.Location = new System.Drawing.Point(3, 117); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(108, 24); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 11; - this.buttonX8.Text = "全区域分类汇总"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tableLayoutPanel1.SetColumnSpan(this.tabControl1, 6); @@ -172,22 +145,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(832, 285); + this.tabPage2.Size = new System.Drawing.Size(572, 274); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea9.AxisX.MajorGrid.Enabled = false; - chartArea9.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea9); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -244,7 +231,6 @@ this.clbPipeLine.Size = new System.Drawing.Size(240, 194); this.clbPipeLine.TabIndex = 1; this.clbPipeLine.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.clbPipeLine_ItemCheck); - //this.clbPipeLine.SelectedIndexChanged += new System.EventHandler(this.clbPipeLine_SelectedIndexChanged); // // labelX1 // @@ -300,25 +286,10 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(64, 194); this.tableLayoutPanel2.TabIndex = 15; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // tableLayoutPanel3 // this.tableLayoutPanel3.ColumnCount = 1; this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel3.Controls.Add(this.buttonX8, 0, 1); this.tableLayoutPanel3.Controls.Add(this.buttonX9, 0, 3); this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel3.Location = new System.Drawing.Point(439, 23); @@ -331,6 +302,19 @@ this.tableLayoutPanel3.Size = new System.Drawing.Size(114, 194); this.tableLayoutPanel3.TabIndex = 16; // + // buttonX9 + // + this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonX9.Location = new System.Drawing.Point(3, 167); + this.buttonX9.Name = "buttonX9"; + this.buttonX9.Size = new System.Drawing.Size(108, 24); + this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX9.TabIndex = 14; + this.buttonX9.Text = "开始统计"; + this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); + // // FrmpipeDiametergather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -349,11 +333,11 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.tableLayoutPanel3.ResumeLayout(false); this.ResumeLayout(false); @@ -361,8 +345,6 @@ #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -382,5 +364,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private TableLayoutPanel tableLayoutPanel3; + private ButtonX buttonX9; } } \ No newline at end of file diff --git a/FrmpipeDiametergather.cs b/FrmpipeDiametergather.cs index c09aaf1..0545383 100644 --- a/FrmpipeDiametergather.cs +++ b/FrmpipeDiametergather.cs @@ -16,15 +16,15 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeDiametergather frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDiametergather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDiametergather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if (frm.WindowState == FormWindowState.Minimized) @@ -33,23 +33,11 @@ } } - public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } - - } /// /// 窗体初始化事件处理 @@ -63,32 +51,7 @@ clbPipeLine.Items.Add(pipeLayerNames[i]); } } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } + /// /// 全选 /// @@ -154,14 +117,9 @@ MessageBox.Show("请选择图层!"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - + pipeDiameterStatis(polygon); + } /// /// 给表格绑定数据 /// @@ -392,10 +350,6 @@ private void FrmpipeDiametergather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } diff --git a/FrmpipeMaterialGather.Designer.cs b/FrmpipeMaterialGather.Designer.cs index d03f476..3ad7cbd 100644 --- a/FrmpipeMaterialGather.Designer.cs +++ b/FrmpipeMaterialGather.Designer.cs @@ -37,8 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); @@ -47,6 +46,8 @@ this.材质 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX4 = new DevComponents.DotNetBar.ButtonX(); @@ -60,31 +61,16 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(523, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(114, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 19; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // // buttonX8 // this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; @@ -95,7 +81,7 @@ this.buttonX8.Size = new System.Drawing.Size(114, 23); this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.buttonX8.TabIndex = 16; - this.buttonX8.Text = "全区域分类汇总"; + this.buttonX8.Text = "开始汇总"; this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // tabControl1 @@ -173,22 +159,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(547, 313); + this.tabPage2.Size = new System.Drawing.Size(669, 318); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea3.AxisX.MajorGrid.Enabled = false; - chartArea3.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea3); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -340,7 +340,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX1, 0, 0); this.tableLayoutPanel2.Controls.Add(this.clbPipeLine, 0, 1); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 4, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 4, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX4, 3, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.clbmaterials, 2, 1); @@ -360,20 +359,6 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(677, 194); this.tableLayoutPanel2.TabIndex = 21; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // FrmpipeMaterialGather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -392,18 +377,17 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; diff --git a/FrmpipeMaterialGather.cs b/FrmpipeMaterialGather.cs index 5ca8144..00a7565 100644 --- a/FrmpipeMaterialGather.cs +++ b/FrmpipeMaterialGather.cs @@ -16,13 +16,13 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeMaterialGather frm; - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeMaterialGather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeMaterialGather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if(frm.WindowState == FormWindowState.Minimized) @@ -31,21 +31,12 @@ } } - public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -82,31 +73,6 @@ } /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } - /// /// 全选按钮事件处理 /// /// @@ -284,28 +250,7 @@ return; } globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(null); - } - /// - /// 绘制区域分类汇总 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (clbmaterials.CheckedItems.Count == 0) - { - MessageBox.Show("请选择材质类型!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } /// @@ -316,10 +261,7 @@ private void FrmpipeMaterialGather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } /// diff --git a/Frmpipediameterstatis.Designer.cs b/Frmpipediameterstatis.Designer.cs index b219ce5..089b897 100644 --- a/Frmpipediameterstatis.Designer.cs +++ b/Frmpipediameterstatis.Designer.cs @@ -55,7 +55,6 @@ this.buttonX1 = new DevComponents.DotNetBar.ButtonX(); this.clbPipeLine = new System.Windows.Forms.CheckedListBox(); this.labelX1 = new DevComponents.DotNetBar.LabelX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -66,20 +65,20 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); this.buttonX7 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // // dataGridViewX2 @@ -278,18 +277,6 @@ this.labelX1.TabIndex = 0; this.labelX1.Text = "指定图层:"; // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(112, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 1; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -390,6 +377,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(776, 355); + this.chart1.TabIndex = 2; + this.chart1.Text = "chart1"; + // // tableLayoutPanel1 // this.tableLayoutPanel1.ColumnCount = 1; @@ -428,7 +431,6 @@ this.tableLayoutPanel2.Controls.Add(this.buttonX2, 1, 2); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); this.tableLayoutPanel2.Name = "tableLayoutPanel2"; @@ -453,33 +455,17 @@ this.buttonX7.Text = "删除行"; this.buttonX7.Click += new System.EventHandler(this.buttonX7_Click); // - // buttonX9 + // buttonX8 // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(112, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 4; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // chart1 - // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(776, 355); - this.chart1.TabIndex = 2; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(112, 24); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // Frmpipediameterstatis // @@ -502,9 +488,9 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } @@ -522,7 +508,6 @@ private ButtonX buttonX6; private ButtonX buttonX5; private ButtonX buttonX4; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private TabPage tabPage2; @@ -538,8 +523,8 @@ private TableLayoutPanel tableLayoutPanel1; private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; - private ButtonX buttonX9; private ButtonX buttonX7; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/Frmpipediameterstatis.cs b/Frmpipediameterstatis.cs index 48ac35f..27f134b 100644 --- a/Frmpipediameterstatis.cs +++ b/Frmpipediameterstatis.cs @@ -11,44 +11,37 @@ namespace Cyberpipe { - public partial class Frmpipediameterstatis :Office2007Form + public partial class Frmpipediameterstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames ; - + List pipeLayerNames = new List(); static Frmpipediameterstatis frm; -// private MainFrm.PageControlStuct _pageControl; + GSOGeoPolygon3D polygon; + Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new Frmpipediameterstatis(_globeControl1, pipeLayers, visibleId); + frm = new Frmpipediameterstatis(_globeControl1, pipeLayers, _polygon); frm.Show(_globeControl1.Parent); } else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; - } + } } - public Frmpipediameterstatis(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public Frmpipediameterstatis(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; - pipeLayerNames = pipeLayers; -// _pageControl = pageControl; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; + if (!pipeLayers[i].Contains("SG")) + pipeLayerNames.Add(pipeLayers[i]); } - if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -56,13 +49,12 @@ /// /// private void Frmpipediameterstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } + } } - /// /// 上限按钮事件处理 /// @@ -75,7 +67,7 @@ DataGridViewRow row = dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; if (lstpipeRadius.SelectedItem != null) { - if (row.Cells["下限"].Value != null&& row.Cells["下限"].Value.ToString() != "") + if (row.Cells["下限"].Value != null && row.Cells["下限"].Value.ToString() != "") { double downRadius = Convert.ToDouble(row.Cells["下限"].Value); double upRadius = Convert.ToDouble(lstpipeRadius.SelectedItem.ToString()); @@ -138,13 +130,13 @@ private void buttonX7_Click(object sender, EventArgs e) { if (dataGridViewX2.SelectedCells.Count > 0) - { - DataGridViewRow row=dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; + { + DataGridViewRow row = dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; dataGridViewX2.Rows.Remove(row); } } - - Dictionary dic = new Dictionary(); + + /// /// 全区域分段统计 /// @@ -160,7 +152,7 @@ { MessageBox.Show("请添加分段!"); } - pipeDiameterStatis(null); + pipeDiameterStatis(polygon); } /// /// 给表格绑定数据 @@ -170,14 +162,15 @@ { try { - dic.Clear(); ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); - for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { + for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) + { GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); - for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { - + for (int j = 0; j < dataGridViewX2.Rows.Count; j++) + { object tempUp = dataGridViewX2.Rows[j].Cells["上限"].Value; double? upLimit = null; if (tempUp != null) upLimit = Convert.ToDouble(tempUp); @@ -185,27 +178,23 @@ object tempDown = dataGridViewX2.Rows[j].Cells["下限"].Value; double? downLimit = null; if (tempDown != null) downLimit = Convert.ToDouble(tempDown); - if (upLimit == null && downLimit == null) continue;//空行过滤 + if (upLimit == null && downLimit == null) continue;//空行过滤 //获取符合条件的管线 - FeaturesClassfyResult result = service.GetPipesInfoByValueSection(polygon, layer, downLimit, upLimit, "管径_毫米"); - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layer.Caption; - row.Cells["管径范围"].Value = result.groupFieldValue; - row.Cells["条数"].Value = result.ncount; - row.Cells["总长度"].Value = Math.Round(result.sum, 2); - dic.Add(layer.Caption + "," + row.Cells["管径范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + FeaturesClassfyResult result = service.GetPipesInfoByValueSection(polygon, layer, downLimit, upLimit, "管径"); + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layer.Caption; + row.Cells["管径范围"].Value = result.groupFieldValue; + row.Cells["条数"].Value = result.ncount; + row.Cells["总长度"].Value = Math.Round(result.sum, 2); + dic.Add(layer.Caption + "," + row.Cells["管径范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); } } - - showPipeWidget(); } catch (Exception ex) { - //MessageBox.Show(ex.Message); LogHelper.Error(ex.Message); LogError.PublishError(ex); } @@ -215,8 +204,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -266,7 +253,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -357,8 +344,6 @@ myStream.Close(); } } - - } /// /// 绘制区域分段统计 @@ -367,28 +352,6 @@ /// private void buttonX9_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (dataGridViewX2.Rows.Count == 0) { - MessageBox.Show("请添加分段!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层!"); @@ -399,21 +362,8 @@ MessageBox.Show("请添加分段!"); return; } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - + pipeDiameterStatis(polygon); } - /// /// 窗体关闭事件处理 /// @@ -421,15 +371,10 @@ /// private void Frmpipediameterstatis_FormClosing(object sender, FormClosingEventArgs e) { - frm = null; - - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); + frm = null; + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { if (e.Control.GetType().BaseType.Name == "TextBox") diff --git a/MainFrm.cs b/MainFrm.cs index 9732fad..2d57cd7 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -1880,7 +1880,27 @@ globeControl1.Globe.Action = EnumAction3D.ActionNull; break; + case "pipeDiameter"://绘制区域管径分段统计 + Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "depthStatistic"://绘制区域埋深分段统计 + FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "materialStatistic": + FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "pipeStatistic"://管径分类 + trackflag = null; + FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; case "pit": double depth; FrmTackPolygonDlg dlg = new FrmTackPolygonDlg(); @@ -5665,7 +5685,7 @@ private void 管径分段统计ToolStripMenuItem_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分段统计"); - Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 管径分段统计绘制区域统计 @@ -5675,8 +5695,14 @@ private void 管径分段统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分段统计"); + trackflag = "pipeDiameter"; + + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 埋深分段统计全区域统计 @@ -5686,7 +5712,7 @@ private void 埋深分段统计ToolStripMenuItem_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "埋深分段统计"); - FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 埋深分段统计绘制区域统计 @@ -5696,8 +5722,13 @@ private void 埋深分段统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "埋深分段统计"); + trackflag = "depthStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + * */ } /// /// 管径分类统计全区域统计 @@ -5708,7 +5739,7 @@ { LogManager.saveLog(Utility.userName, "管径分类汇总"); - FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 管径分类统计绘制区域统计 @@ -5718,9 +5749,13 @@ private void 管径分类统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分类汇总"); - + trackflag = "pipeStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 材质分类统计全区域统计 @@ -5731,7 +5766,7 @@ { LogManager.saveLog(Utility.userName, "材质分类汇总"); - FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 材质分类统计绘制区域统计 @@ -5741,9 +5776,13 @@ private void 材质分类统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "材质分类汇总"); - + trackflag = "materialStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 附属物分类统计全区域统计 @@ -7577,10 +7616,12 @@ splitContainer1.Panel2Collapsed = true; legendSG.Visible = false; legendSC.Visible = false; - ClearGZData(); + //ClearGZData(); GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer == null) return; redLayer.Visible = true; + + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", true); } catch (Exception ex) { @@ -7614,6 +7655,8 @@ GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer != null) redLayer.Visible = false; + + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", false); } catch (Exception ex) { @@ -7636,10 +7679,11 @@ panelOfTable.Visible = false; legendSC.Visible = false; legendSG.Visible = false; - ClearGZData(); + //ClearGZData(); GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer == null) return; redLayer.Visible = false; + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", false); } catch (Exception ex) { diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index 943beed..86eae6e 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -112,7 +112,6 @@ this.sideBar1 = new DevComponents.DotNetBar.SideBar(); this.panelEx3 = new DevComponents.DotNetBar.PanelEx(); this.layerSensorTree = new System.Windows.Forms.TreeView(); - this.layerTree = new Cyberpipe.MyTreeView(); this.sideBarPanelItem3 = new DevComponents.DotNetBar.SideBarPanelItem(); this.controlContainerItem3 = new DevComponents.DotNetBar.ControlContainerItem(); this.sideBarPanelItem4 = new DevComponents.DotNetBar.SideBarPanelItem(); @@ -541,6 +540,7 @@ this.labelX17 = new DevComponents.DotNetBar.LabelX(); this.panelEx4 = new DevComponents.DotNetBar.PanelEx(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.layerTree = new Cyberpipe.MyTreeView(); this.statusStrip1.SuspendLayout(); this.sideBar1.SuspendLayout(); this.panelEx3.SuspendLayout(); @@ -979,18 +979,6 @@ this.layerSensorTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerMarkerTree_NodeMouseClick); this.layerSensorTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); // - // layerTree - // - this.layerTree.CheckBoxes = true; - this.layerTree.ItemHeight = 18; - this.layerTree.Location = new System.Drawing.Point(30, 78); - this.layerTree.Name = "layerTree"; - this.layerTree.Size = new System.Drawing.Size(121, 97); - this.layerTree.TabIndex = 1; - this.layerTree.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree_AfterCheck); - this.layerTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseClick); - this.layerTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); - // // sideBarPanelItem3 // this.sideBarPanelItem3.FontBold = true; @@ -2135,13 +2123,13 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel15); - this.ribbonControl1.Controls.Add(this.ribbonPanel1); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); - this.ribbonControl1.Controls.Add(this.ribbonPanel5); this.ribbonControl1.Controls.Add(this.ribbonPanel12); + this.ribbonControl1.Controls.Add(this.ribbonPanel1); + this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel4); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); this.ribbonControl1.Controls.Add(this.ribbonPanel7); this.ribbonControl1.Controls.Add(this.ribbonPanel3); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; @@ -2192,10 +2180,10 @@ this.ribbonPanel6.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel6.Controls.Add(this.ribbonBar6); this.ribbonPanel6.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel6.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel6.Location = new System.Drawing.Point(0, 0); this.ribbonPanel6.Name = "ribbonPanel6"; this.ribbonPanel6.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel6.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel6.Size = new System.Drawing.Size(1328, 95); // // // @@ -2212,6 +2200,7 @@ this.ribbonPanel6.StyleMouseOver.Class = ""; this.ribbonPanel6.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel6.TabIndex = 38; + this.ribbonPanel6.Visible = false; // // ribbonBar6 // @@ -2236,7 +2225,7 @@ this.buttonItemGBJC}); this.ribbonBar6.Location = new System.Drawing.Point(3, 0); this.ribbonBar6.Name = "ribbonBar6"; - this.ribbonBar6.Size = new System.Drawing.Size(427, 59); + this.ribbonBar6.Size = new System.Drawing.Size(427, 92); this.ribbonBar6.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar6.TabIndex = 0; // @@ -2322,7 +2311,6 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; - this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -2449,6 +2437,7 @@ this.buttonItem4.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem4.Image"))); this.buttonItem4.Name = "buttonItem4"; this.buttonItem4.Text = "删除"; + this.buttonItem4.Visible = false; this.buttonItem4.Click += new System.EventHandler(this.buttonItemBJ13_Click); // // buttonItemSJGL @@ -2780,10 +2769,10 @@ this.ribbonPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel1.Controls.Add(this.ribbonBar21); this.ribbonPanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel1.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel1.Location = new System.Drawing.Point(0, 0); this.ribbonPanel1.Name = "ribbonPanel1"; this.ribbonPanel1.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel1.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel1.Size = new System.Drawing.Size(1328, 95); // // // @@ -2827,7 +2816,7 @@ this.btnOutputJPG}); this.ribbonBar21.Location = new System.Drawing.Point(3, 0); this.ribbonBar21.Name = "ribbonBar21"; - this.ribbonBar21.Size = new System.Drawing.Size(514, 59); + this.ribbonBar21.Size = new System.Drawing.Size(514, 92); this.ribbonBar21.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar21.TabIndex = 2; this.ribbonBar21.Text = "浏览模式"; @@ -3128,10 +3117,10 @@ this.ribbonPanel12.Controls.Add(this.ribbonBar18); this.ribbonPanel12.Controls.Add(this.ribbonBar13); this.ribbonPanel12.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel12.Location = new System.Drawing.Point(0, 0); + this.ribbonPanel12.Location = new System.Drawing.Point(0, 33); this.ribbonPanel12.Name = "ribbonPanel12"; this.ribbonPanel12.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel12.Size = new System.Drawing.Size(1328, 95); + this.ribbonPanel12.Size = new System.Drawing.Size(1328, 62); // // // @@ -3170,7 +3159,7 @@ this.buttonItem132}); this.ribbonBar18.Location = new System.Drawing.Point(508, 0); this.ribbonBar18.Name = "ribbonBar18"; - this.ribbonBar18.Size = new System.Drawing.Size(75, 92); + this.ribbonBar18.Size = new System.Drawing.Size(75, 59); this.ribbonBar18.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar18.TabIndex = 1; // @@ -3222,7 +3211,7 @@ this.btn_check_history}); this.ribbonBar13.Location = new System.Drawing.Point(3, 0); this.ribbonBar13.Name = "ribbonBar13"; - this.ribbonBar13.Size = new System.Drawing.Size(505, 92); + this.ribbonBar13.Size = new System.Drawing.Size(505, 59); this.ribbonBar13.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar13.TabIndex = 0; // @@ -3297,10 +3286,10 @@ this.ribbonPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel4.Controls.Add(this.ribbonBar1); this.ribbonPanel4.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel4.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel4.Location = new System.Drawing.Point(0, 0); this.ribbonPanel4.Name = "ribbonPanel4"; this.ribbonPanel4.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel4.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel4.Size = new System.Drawing.Size(1328, 95); // // // @@ -3338,7 +3327,7 @@ this.btn_document_info}); this.ribbonBar1.Location = new System.Drawing.Point(3, 0); this.ribbonBar1.Name = "ribbonBar1"; - this.ribbonBar1.Size = new System.Drawing.Size(200, 59); + this.ribbonBar1.Size = new System.Drawing.Size(200, 92); this.ribbonBar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar1.TabIndex = 0; // @@ -3597,7 +3586,6 @@ // ribbonTabItem9 // this.ribbonTabItem9.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem9.Checked = true; this.ribbonTabItem9.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.HoverImage"))); this.ribbonTabItem9.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.Image"))); this.ribbonTabItem9.Name = "ribbonTabItem9"; @@ -3618,6 +3606,7 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -5959,6 +5948,18 @@ this.pictureBox1.TabStop = false; this.pictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(this.pictureBox1_Paint); // + // layerTree + // + this.layerTree.CheckBoxes = true; + this.layerTree.ItemHeight = 18; + this.layerTree.Location = new System.Drawing.Point(30, 78); + this.layerTree.Name = "layerTree"; + this.layerTree.Size = new System.Drawing.Size(121, 97); + this.layerTree.TabIndex = 1; + this.layerTree.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree_AfterCheck); + this.layerTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseClick); + this.layerTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); + // // MainFrm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; diff --git a/MainFrm.resx b/MainFrm.resx index ea7021a..648fcdb 100644 --- a/MainFrm.resx +++ b/MainFrm.resx @@ -351,142 +351,6 @@ 766, 54 - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 - iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z - zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s - hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa - BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n - WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ - BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY - s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn - ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg - 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef - rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q - qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK - Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 - RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM - 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t - lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl - DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q - rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th - pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S - T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt - SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ - oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 - l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg - S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj - CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X - 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF - 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu - F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee - SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 - 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY - VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 - 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 - edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA - S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw - p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if - SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES - 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U - IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL - 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze - r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq - nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R - Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 - nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA - AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 - OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy - BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F - mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd - v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul - AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj - dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg - 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 - OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -1742,6 +1606,219 @@ TJ65mM1/9adCvki+8p7nYPunBqvfgM/pcrxVz6sAAAAASUVORK5CYII= + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL + ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH + s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW + uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx + xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd + iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ + qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW + GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE + NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n + KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw + qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI + HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq + wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q + 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n + W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 + eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv + 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP + I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f + n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV + x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et + V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD + D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u + 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n + z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V + rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ + 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm + oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 + ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H + 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC + RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo + KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O + 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd + rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o + 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C + s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI + jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs + FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm + LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml + CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV + hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q + bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX + YCSg/AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL + SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 + 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P + zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 + 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj + L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 + RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf + nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P + 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj + ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G + xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H + dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 + LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob + gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 + ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi + UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd + XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 + 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN + jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF + Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn + ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A + AAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -1913,6 +1990,292 @@ R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG + UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe + 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 + wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm + RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm + pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH + oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ + ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU + jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm + 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 + RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT + 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 + VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn + KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 + A2MdqQeVc5pWAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 + iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z + zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s + hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa + BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n + WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ + BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY + s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn + ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg + 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef + rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q + qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK + Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 + RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO + RK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM + 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t + lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl + DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q + rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th + pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S + T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt + SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ + oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 + l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg + S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj + CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X + 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF + 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu + F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee + SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 + 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY + VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 + 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 + edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA + S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw + p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if + SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES + 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U + IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL + 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze + r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq + nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R + Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 + nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA + AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 + OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy + BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F + mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd + v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul + AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj + dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg + 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 + OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo + cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 + p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D + frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua + BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO + Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O + eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e + x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa + mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM + FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF + 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH + 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn + DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH + ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -2160,369 +2523,6 @@ 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG - UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe - 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 - wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm - RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm - pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH - oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ - ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU - jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm - 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 - RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT - 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 - VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn - KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 - A2MdqQeVc5pWAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN - yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc - c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg - 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 - cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 - ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw - O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD - nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz - 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn - k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I - 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df - WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs - T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda - SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL - ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH - s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW - uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx - xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd - iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ - qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW - GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE - NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n - KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw - qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI - HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq - wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q - 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n - W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 - eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv - 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP - I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f - n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV - x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et - V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD - D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u - 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n - z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V - rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ - 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm - oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 - ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H - 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC - RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo - KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O - 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd - rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o - 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C - s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI - jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs - FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm - LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml - CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV - hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q - bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX - YCSg/AAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL - SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 - 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P - zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 - 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj - L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 - RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf - nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P - 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj - ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G - xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H - dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 - LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob - gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 - ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi - UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd - XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 - 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN - jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF - Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn - ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A - AAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo - cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 - p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D - frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua - BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO - Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O - eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e - x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa - mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM - FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF - 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH - 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn - DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH - ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 diff --git a/TreeUtils.cs b/TreeUtils.cs index 37878fc..04ae5e5 100644 --- a/TreeUtils.cs +++ b/TreeUtils.cs @@ -258,5 +258,34 @@ } } } + + /// + /// 根据父节点改变子节点的选中状态 + /// + /// + /// + public static void CheckChildrenNode(TreeNode parentNode, bool isChecked) + { + parentNode.Checked = isChecked; + foreach (TreeNode childNode in parentNode.Nodes) + { + childNode.Checked = isChecked; + if (childNode.Nodes.Count > 0) + CheckChildrenNode(childNode, isChecked); + } + } + + public static void ChangeNodeCheckedStatus(TreeView treeView, string strNodeName, bool isChecked) + { + foreach (TreeNode curNode in treeView.Nodes) + { + if (curNode.Text != strNodeName) continue; + else + { + TreeUtils.CheckChildrenNode(curNode, isChecked); + return; + } + } + } } } diff --git a/bin/x86/Debug/Config.xml b/bin/x86/Debug/Config.xml index 36b473e..585bec3 100644 --- a/bin/x86/Debug/Config.xml +++ b/bin/x86/Debug/Config.xml @@ -1,26 +1,26 @@  LocaSpace三维地下管线信息系统 - release - szhtdb2 - 192.168.0.203 - release + scott + SZDB + 127.0.0.1 + SZDB 192.168.0.35 1500 - http://192.168.0.203/images/ - http://192.168.0.203/images/default.jpg + http://127.0.0.1/images/ + http://127.0.0.1/images/default.jpg D:/backup http://127.0.0.1:8083/GSOBackOracle.asmx - 192.168.0.203 - SZGHDB2 + 127.0.0.1 + SZGH scott - SZGHDB2 + SZGH 雨水,污水,给水,天然气,通讯,共通,电通,供电,有线电视,监控,交通信号,路灯 - 192.168.0.203 - SZSGDB2 + 127.0.0.1 + SZSG scott - SZSGDB2 + SZSG http://127.0.0.1/Cyberpipe.msi http://127.0.0.1/Config.xml diff --git a/bin/x86/Debug/Cyberpipe.exe b/bin/x86/Debug/Cyberpipe.exe index 0dd1e75..ed3f3e4 100644 --- a/bin/x86/Debug/Cyberpipe.exe +++ b/bin/x86/Debug/Cyberpipe.exe Binary files differ diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/FrmLineCoordinate.designer.cs b/FrmLineCoordinate.designer.cs index 3149abf..0a3fbb7 100644 --- a/FrmLineCoordinate.designer.cs +++ b/FrmLineCoordinate.designer.cs @@ -138,6 +138,7 @@ this.checkBoxX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.checkBoxX3.TabIndex = 88; this.checkBoxX3.Text = "管沟"; + this.checkBoxX3.Visible = false; this.checkBoxX3.CheckedChanged += new System.EventHandler(this.checkBoxX3_CheckedChanged); // // checkBoxX2 diff --git a/FrmpipeDeepstatis.Designer.cs b/FrmpipeDeepstatis.Designer.cs index ef5a119..2627350 100644 --- a/FrmpipeDeepstatis.Designer.cs +++ b/FrmpipeDeepstatis.Designer.cs @@ -36,13 +36,11 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -53,6 +51,7 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.dataGridViewX2 = new DevComponents.DotNetBar.Controls.DataGridViewX(); this.下限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.上限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,42 +69,18 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(123, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 9; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(123, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 6; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -139,14 +114,14 @@ this.条数, this.总长度}); this.dataGridViewX1.ContextMenuStrip = this.contextMenuStrip1; - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(3, 3); @@ -206,6 +181,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(786, 304); + this.chart1.TabIndex = 3; + this.chart1.Text = "chart1"; + // // dataGridViewX2 // this.dataGridViewX2.AllowUserToAddRows = false; @@ -213,14 +204,14 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.下限, this.上限}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; this.dataGridViewX2.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(493, 23); @@ -234,18 +225,18 @@ // // 下限 // - dataGridViewCellStyle1.Format = "N2"; - dataGridViewCellStyle1.NullValue = null; - this.下限.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.Format = "N2"; + dataGridViewCellStyle2.NullValue = null; + this.下限.DefaultCellStyle = dataGridViewCellStyle2; this.下限.HeaderText = "下限"; this.下限.Name = "下限"; this.下限.Width = 60; // // 上限 // - dataGridViewCellStyle6.Format = "N2"; - dataGridViewCellStyle6.NullValue = null; - this.上限.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle3.Format = "N2"; + dataGridViewCellStyle3.NullValue = null; + this.上限.DefaultCellStyle = dataGridViewCellStyle3; this.上限.HeaderText = "上限"; this.上限.Name = "上限"; this.上限.Width = 60; @@ -453,7 +444,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX2, 2, 0); this.tableLayoutPanel2.Controls.Add(this.lstpipeRadius, 2, 1); this.tableLayoutPanel2.Controls.Add(this.dataGridViewX2, 4, 1); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); @@ -467,21 +457,17 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(800, 194); this.tableLayoutPanel2.TabIndex = 11; // - // chart1 + // buttonX8 // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(786, 304); - this.chart1.TabIndex = 3; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(123, 23); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // FrmpipeDeepstatis // @@ -503,18 +489,16 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -543,5 +527,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/FrmpipeDeepstatis.cs b/FrmpipeDeepstatis.cs index 8d915a9..f034488 100644 --- a/FrmpipeDeepstatis.cs +++ b/FrmpipeDeepstatis.cs @@ -12,41 +12,40 @@ namespace Cyberpipe { - public partial class FrmpipeDeepstatis :Office2007Form + public partial class FrmpipeDeepstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames; - + List pipeLayerNames = new List(); + GSOGeoPolygon3D polygon; static FrmpipeDeepstatis frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDeepstatis(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDeepstatis(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); - }else if (frm.WindowState == FormWindowState.Minimized) + } + else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } } - public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = globeControl; - pipeLayerNames = pipeLayers; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; + if (!pipeLayers[i].Contains("SG")) + { + pipeLayerNames.Add(pipeLayers[i]); + } } + //pipeLayerNames = pipeLayers; + polygon = _polygon; } /// /// 上限、下限按钮事件处理 @@ -121,7 +120,6 @@ dataGridViewX2.Rows.Remove(row); } } - /// /// 给表格绑定数据 /// @@ -130,12 +128,11 @@ { try { - dic.Clear() ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { @@ -159,7 +156,7 @@ row.Cells["总长度"].Value = Math.Round(result.sum, 2); dic.Add(layer.Caption + "," + row.Cells["埋深范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + } } @@ -176,8 +173,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -210,44 +205,13 @@ /// /// private void FrmpipeDeepstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } - } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层"); - return; } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - } + /// /// 全选 /// @@ -270,7 +234,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -292,25 +256,6 @@ /// private void buttonX8_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层"); - return; - } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - pipeDiameterStatis(null); - } - /// - /// 绘制区域分段统计 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层"); @@ -321,13 +266,8 @@ MessageBox.Show("请添加分段"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } - - /// /// 导出Excel按钮事件处理 /// @@ -406,7 +346,7 @@ MessageBox.Show("统计结果为空,请重新统计之后再导出Excel!", "提示"); } } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { MemberInfo memberInfo = e.Control.GetType().BaseType; @@ -452,11 +392,6 @@ private void FrmpipeDeepstatis_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } } diff --git a/FrmpipeDeepstatis.resx b/FrmpipeDeepstatis.resx index b2dd89f..e1ca348 100644 --- a/FrmpipeDeepstatis.resx +++ b/FrmpipeDeepstatis.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - True @@ -132,6 +129,9 @@ True + + 17, 17 + True diff --git a/FrmpipeDiametergather.Designer.cs b/FrmpipeDiametergather.Designer.cs index 2cb5d15..697b8aa 100644 --- a/FrmpipeDiametergather.Designer.cs +++ b/FrmpipeDiametergather.Designer.cs @@ -37,9 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea9 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -47,6 +45,8 @@ this.管径 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX3 = new DevComponents.DotNetBar.ButtonX(); @@ -56,46 +56,19 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(3, 167); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(108, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 14; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX8.Location = new System.Drawing.Point(3, 117); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(108, 24); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 11; - this.buttonX8.Text = "全区域分类汇总"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tableLayoutPanel1.SetColumnSpan(this.tabControl1, 6); @@ -172,22 +145,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(832, 285); + this.tabPage2.Size = new System.Drawing.Size(572, 274); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea9.AxisX.MajorGrid.Enabled = false; - chartArea9.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea9); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -244,7 +231,6 @@ this.clbPipeLine.Size = new System.Drawing.Size(240, 194); this.clbPipeLine.TabIndex = 1; this.clbPipeLine.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.clbPipeLine_ItemCheck); - //this.clbPipeLine.SelectedIndexChanged += new System.EventHandler(this.clbPipeLine_SelectedIndexChanged); // // labelX1 // @@ -300,25 +286,10 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(64, 194); this.tableLayoutPanel2.TabIndex = 15; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // tableLayoutPanel3 // this.tableLayoutPanel3.ColumnCount = 1; this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel3.Controls.Add(this.buttonX8, 0, 1); this.tableLayoutPanel3.Controls.Add(this.buttonX9, 0, 3); this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel3.Location = new System.Drawing.Point(439, 23); @@ -331,6 +302,19 @@ this.tableLayoutPanel3.Size = new System.Drawing.Size(114, 194); this.tableLayoutPanel3.TabIndex = 16; // + // buttonX9 + // + this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonX9.Location = new System.Drawing.Point(3, 167); + this.buttonX9.Name = "buttonX9"; + this.buttonX9.Size = new System.Drawing.Size(108, 24); + this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX9.TabIndex = 14; + this.buttonX9.Text = "开始统计"; + this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); + // // FrmpipeDiametergather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -349,11 +333,11 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.tableLayoutPanel3.ResumeLayout(false); this.ResumeLayout(false); @@ -361,8 +345,6 @@ #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -382,5 +364,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private TableLayoutPanel tableLayoutPanel3; + private ButtonX buttonX9; } } \ No newline at end of file diff --git a/FrmpipeDiametergather.cs b/FrmpipeDiametergather.cs index c09aaf1..0545383 100644 --- a/FrmpipeDiametergather.cs +++ b/FrmpipeDiametergather.cs @@ -16,15 +16,15 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeDiametergather frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDiametergather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDiametergather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if (frm.WindowState == FormWindowState.Minimized) @@ -33,23 +33,11 @@ } } - public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } - - } /// /// 窗体初始化事件处理 @@ -63,32 +51,7 @@ clbPipeLine.Items.Add(pipeLayerNames[i]); } } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } + /// /// 全选 /// @@ -154,14 +117,9 @@ MessageBox.Show("请选择图层!"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - + pipeDiameterStatis(polygon); + } /// /// 给表格绑定数据 /// @@ -392,10 +350,6 @@ private void FrmpipeDiametergather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } diff --git a/FrmpipeMaterialGather.Designer.cs b/FrmpipeMaterialGather.Designer.cs index d03f476..3ad7cbd 100644 --- a/FrmpipeMaterialGather.Designer.cs +++ b/FrmpipeMaterialGather.Designer.cs @@ -37,8 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); @@ -47,6 +46,8 @@ this.材质 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX4 = new DevComponents.DotNetBar.ButtonX(); @@ -60,31 +61,16 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(523, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(114, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 19; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // // buttonX8 // this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; @@ -95,7 +81,7 @@ this.buttonX8.Size = new System.Drawing.Size(114, 23); this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.buttonX8.TabIndex = 16; - this.buttonX8.Text = "全区域分类汇总"; + this.buttonX8.Text = "开始汇总"; this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // tabControl1 @@ -173,22 +159,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(547, 313); + this.tabPage2.Size = new System.Drawing.Size(669, 318); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea3.AxisX.MajorGrid.Enabled = false; - chartArea3.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea3); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -340,7 +340,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX1, 0, 0); this.tableLayoutPanel2.Controls.Add(this.clbPipeLine, 0, 1); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 4, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 4, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX4, 3, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.clbmaterials, 2, 1); @@ -360,20 +359,6 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(677, 194); this.tableLayoutPanel2.TabIndex = 21; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // FrmpipeMaterialGather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -392,18 +377,17 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; diff --git a/FrmpipeMaterialGather.cs b/FrmpipeMaterialGather.cs index 5ca8144..00a7565 100644 --- a/FrmpipeMaterialGather.cs +++ b/FrmpipeMaterialGather.cs @@ -16,13 +16,13 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeMaterialGather frm; - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeMaterialGather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeMaterialGather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if(frm.WindowState == FormWindowState.Minimized) @@ -31,21 +31,12 @@ } } - public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -82,31 +73,6 @@ } /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } - /// /// 全选按钮事件处理 /// /// @@ -284,28 +250,7 @@ return; } globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(null); - } - /// - /// 绘制区域分类汇总 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (clbmaterials.CheckedItems.Count == 0) - { - MessageBox.Show("请选择材质类型!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } /// @@ -316,10 +261,7 @@ private void FrmpipeMaterialGather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } /// diff --git a/Frmpipediameterstatis.Designer.cs b/Frmpipediameterstatis.Designer.cs index b219ce5..089b897 100644 --- a/Frmpipediameterstatis.Designer.cs +++ b/Frmpipediameterstatis.Designer.cs @@ -55,7 +55,6 @@ this.buttonX1 = new DevComponents.DotNetBar.ButtonX(); this.clbPipeLine = new System.Windows.Forms.CheckedListBox(); this.labelX1 = new DevComponents.DotNetBar.LabelX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -66,20 +65,20 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); this.buttonX7 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // // dataGridViewX2 @@ -278,18 +277,6 @@ this.labelX1.TabIndex = 0; this.labelX1.Text = "指定图层:"; // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(112, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 1; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -390,6 +377,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(776, 355); + this.chart1.TabIndex = 2; + this.chart1.Text = "chart1"; + // // tableLayoutPanel1 // this.tableLayoutPanel1.ColumnCount = 1; @@ -428,7 +431,6 @@ this.tableLayoutPanel2.Controls.Add(this.buttonX2, 1, 2); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); this.tableLayoutPanel2.Name = "tableLayoutPanel2"; @@ -453,33 +455,17 @@ this.buttonX7.Text = "删除行"; this.buttonX7.Click += new System.EventHandler(this.buttonX7_Click); // - // buttonX9 + // buttonX8 // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(112, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 4; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // chart1 - // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(776, 355); - this.chart1.TabIndex = 2; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(112, 24); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // Frmpipediameterstatis // @@ -502,9 +488,9 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } @@ -522,7 +508,6 @@ private ButtonX buttonX6; private ButtonX buttonX5; private ButtonX buttonX4; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private TabPage tabPage2; @@ -538,8 +523,8 @@ private TableLayoutPanel tableLayoutPanel1; private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; - private ButtonX buttonX9; private ButtonX buttonX7; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/Frmpipediameterstatis.cs b/Frmpipediameterstatis.cs index 48ac35f..27f134b 100644 --- a/Frmpipediameterstatis.cs +++ b/Frmpipediameterstatis.cs @@ -11,44 +11,37 @@ namespace Cyberpipe { - public partial class Frmpipediameterstatis :Office2007Form + public partial class Frmpipediameterstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames ; - + List pipeLayerNames = new List(); static Frmpipediameterstatis frm; -// private MainFrm.PageControlStuct _pageControl; + GSOGeoPolygon3D polygon; + Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new Frmpipediameterstatis(_globeControl1, pipeLayers, visibleId); + frm = new Frmpipediameterstatis(_globeControl1, pipeLayers, _polygon); frm.Show(_globeControl1.Parent); } else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; - } + } } - public Frmpipediameterstatis(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public Frmpipediameterstatis(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; - pipeLayerNames = pipeLayers; -// _pageControl = pageControl; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; + if (!pipeLayers[i].Contains("SG")) + pipeLayerNames.Add(pipeLayers[i]); } - if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -56,13 +49,12 @@ /// /// private void Frmpipediameterstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } + } } - /// /// 上限按钮事件处理 /// @@ -75,7 +67,7 @@ DataGridViewRow row = dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; if (lstpipeRadius.SelectedItem != null) { - if (row.Cells["下限"].Value != null&& row.Cells["下限"].Value.ToString() != "") + if (row.Cells["下限"].Value != null && row.Cells["下限"].Value.ToString() != "") { double downRadius = Convert.ToDouble(row.Cells["下限"].Value); double upRadius = Convert.ToDouble(lstpipeRadius.SelectedItem.ToString()); @@ -138,13 +130,13 @@ private void buttonX7_Click(object sender, EventArgs e) { if (dataGridViewX2.SelectedCells.Count > 0) - { - DataGridViewRow row=dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; + { + DataGridViewRow row = dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; dataGridViewX2.Rows.Remove(row); } } - - Dictionary dic = new Dictionary(); + + /// /// 全区域分段统计 /// @@ -160,7 +152,7 @@ { MessageBox.Show("请添加分段!"); } - pipeDiameterStatis(null); + pipeDiameterStatis(polygon); } /// /// 给表格绑定数据 @@ -170,14 +162,15 @@ { try { - dic.Clear(); ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); - for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { + for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) + { GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); - for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { - + for (int j = 0; j < dataGridViewX2.Rows.Count; j++) + { object tempUp = dataGridViewX2.Rows[j].Cells["上限"].Value; double? upLimit = null; if (tempUp != null) upLimit = Convert.ToDouble(tempUp); @@ -185,27 +178,23 @@ object tempDown = dataGridViewX2.Rows[j].Cells["下限"].Value; double? downLimit = null; if (tempDown != null) downLimit = Convert.ToDouble(tempDown); - if (upLimit == null && downLimit == null) continue;//空行过滤 + if (upLimit == null && downLimit == null) continue;//空行过滤 //获取符合条件的管线 - FeaturesClassfyResult result = service.GetPipesInfoByValueSection(polygon, layer, downLimit, upLimit, "管径_毫米"); - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layer.Caption; - row.Cells["管径范围"].Value = result.groupFieldValue; - row.Cells["条数"].Value = result.ncount; - row.Cells["总长度"].Value = Math.Round(result.sum, 2); - dic.Add(layer.Caption + "," + row.Cells["管径范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + FeaturesClassfyResult result = service.GetPipesInfoByValueSection(polygon, layer, downLimit, upLimit, "管径"); + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layer.Caption; + row.Cells["管径范围"].Value = result.groupFieldValue; + row.Cells["条数"].Value = result.ncount; + row.Cells["总长度"].Value = Math.Round(result.sum, 2); + dic.Add(layer.Caption + "," + row.Cells["管径范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); } } - - showPipeWidget(); } catch (Exception ex) { - //MessageBox.Show(ex.Message); LogHelper.Error(ex.Message); LogError.PublishError(ex); } @@ -215,8 +204,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -266,7 +253,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -357,8 +344,6 @@ myStream.Close(); } } - - } /// /// 绘制区域分段统计 @@ -367,28 +352,6 @@ /// private void buttonX9_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (dataGridViewX2.Rows.Count == 0) { - MessageBox.Show("请添加分段!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层!"); @@ -399,21 +362,8 @@ MessageBox.Show("请添加分段!"); return; } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - + pipeDiameterStatis(polygon); } - /// /// 窗体关闭事件处理 /// @@ -421,15 +371,10 @@ /// private void Frmpipediameterstatis_FormClosing(object sender, FormClosingEventArgs e) { - frm = null; - - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); + frm = null; + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { if (e.Control.GetType().BaseType.Name == "TextBox") diff --git a/MainFrm.cs b/MainFrm.cs index 9732fad..2d57cd7 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -1880,7 +1880,27 @@ globeControl1.Globe.Action = EnumAction3D.ActionNull; break; + case "pipeDiameter"://绘制区域管径分段统计 + Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "depthStatistic"://绘制区域埋深分段统计 + FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "materialStatistic": + FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "pipeStatistic"://管径分类 + trackflag = null; + FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; case "pit": double depth; FrmTackPolygonDlg dlg = new FrmTackPolygonDlg(); @@ -5665,7 +5685,7 @@ private void 管径分段统计ToolStripMenuItem_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分段统计"); - Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 管径分段统计绘制区域统计 @@ -5675,8 +5695,14 @@ private void 管径分段统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分段统计"); + trackflag = "pipeDiameter"; + + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 埋深分段统计全区域统计 @@ -5686,7 +5712,7 @@ private void 埋深分段统计ToolStripMenuItem_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "埋深分段统计"); - FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 埋深分段统计绘制区域统计 @@ -5696,8 +5722,13 @@ private void 埋深分段统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "埋深分段统计"); + trackflag = "depthStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + * */ } /// /// 管径分类统计全区域统计 @@ -5708,7 +5739,7 @@ { LogManager.saveLog(Utility.userName, "管径分类汇总"); - FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 管径分类统计绘制区域统计 @@ -5718,9 +5749,13 @@ private void 管径分类统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分类汇总"); - + trackflag = "pipeStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 材质分类统计全区域统计 @@ -5731,7 +5766,7 @@ { LogManager.saveLog(Utility.userName, "材质分类汇总"); - FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 材质分类统计绘制区域统计 @@ -5741,9 +5776,13 @@ private void 材质分类统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "材质分类汇总"); - + trackflag = "materialStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 附属物分类统计全区域统计 @@ -7577,10 +7616,12 @@ splitContainer1.Panel2Collapsed = true; legendSG.Visible = false; legendSC.Visible = false; - ClearGZData(); + //ClearGZData(); GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer == null) return; redLayer.Visible = true; + + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", true); } catch (Exception ex) { @@ -7614,6 +7655,8 @@ GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer != null) redLayer.Visible = false; + + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", false); } catch (Exception ex) { @@ -7636,10 +7679,11 @@ panelOfTable.Visible = false; legendSC.Visible = false; legendSG.Visible = false; - ClearGZData(); + //ClearGZData(); GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer == null) return; redLayer.Visible = false; + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", false); } catch (Exception ex) { diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index 943beed..86eae6e 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -112,7 +112,6 @@ this.sideBar1 = new DevComponents.DotNetBar.SideBar(); this.panelEx3 = new DevComponents.DotNetBar.PanelEx(); this.layerSensorTree = new System.Windows.Forms.TreeView(); - this.layerTree = new Cyberpipe.MyTreeView(); this.sideBarPanelItem3 = new DevComponents.DotNetBar.SideBarPanelItem(); this.controlContainerItem3 = new DevComponents.DotNetBar.ControlContainerItem(); this.sideBarPanelItem4 = new DevComponents.DotNetBar.SideBarPanelItem(); @@ -541,6 +540,7 @@ this.labelX17 = new DevComponents.DotNetBar.LabelX(); this.panelEx4 = new DevComponents.DotNetBar.PanelEx(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.layerTree = new Cyberpipe.MyTreeView(); this.statusStrip1.SuspendLayout(); this.sideBar1.SuspendLayout(); this.panelEx3.SuspendLayout(); @@ -979,18 +979,6 @@ this.layerSensorTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerMarkerTree_NodeMouseClick); this.layerSensorTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); // - // layerTree - // - this.layerTree.CheckBoxes = true; - this.layerTree.ItemHeight = 18; - this.layerTree.Location = new System.Drawing.Point(30, 78); - this.layerTree.Name = "layerTree"; - this.layerTree.Size = new System.Drawing.Size(121, 97); - this.layerTree.TabIndex = 1; - this.layerTree.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree_AfterCheck); - this.layerTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseClick); - this.layerTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); - // // sideBarPanelItem3 // this.sideBarPanelItem3.FontBold = true; @@ -2135,13 +2123,13 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel15); - this.ribbonControl1.Controls.Add(this.ribbonPanel1); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); - this.ribbonControl1.Controls.Add(this.ribbonPanel5); this.ribbonControl1.Controls.Add(this.ribbonPanel12); + this.ribbonControl1.Controls.Add(this.ribbonPanel1); + this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel4); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); this.ribbonControl1.Controls.Add(this.ribbonPanel7); this.ribbonControl1.Controls.Add(this.ribbonPanel3); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; @@ -2192,10 +2180,10 @@ this.ribbonPanel6.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel6.Controls.Add(this.ribbonBar6); this.ribbonPanel6.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel6.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel6.Location = new System.Drawing.Point(0, 0); this.ribbonPanel6.Name = "ribbonPanel6"; this.ribbonPanel6.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel6.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel6.Size = new System.Drawing.Size(1328, 95); // // // @@ -2212,6 +2200,7 @@ this.ribbonPanel6.StyleMouseOver.Class = ""; this.ribbonPanel6.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel6.TabIndex = 38; + this.ribbonPanel6.Visible = false; // // ribbonBar6 // @@ -2236,7 +2225,7 @@ this.buttonItemGBJC}); this.ribbonBar6.Location = new System.Drawing.Point(3, 0); this.ribbonBar6.Name = "ribbonBar6"; - this.ribbonBar6.Size = new System.Drawing.Size(427, 59); + this.ribbonBar6.Size = new System.Drawing.Size(427, 92); this.ribbonBar6.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar6.TabIndex = 0; // @@ -2322,7 +2311,6 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; - this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -2449,6 +2437,7 @@ this.buttonItem4.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem4.Image"))); this.buttonItem4.Name = "buttonItem4"; this.buttonItem4.Text = "删除"; + this.buttonItem4.Visible = false; this.buttonItem4.Click += new System.EventHandler(this.buttonItemBJ13_Click); // // buttonItemSJGL @@ -2780,10 +2769,10 @@ this.ribbonPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel1.Controls.Add(this.ribbonBar21); this.ribbonPanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel1.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel1.Location = new System.Drawing.Point(0, 0); this.ribbonPanel1.Name = "ribbonPanel1"; this.ribbonPanel1.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel1.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel1.Size = new System.Drawing.Size(1328, 95); // // // @@ -2827,7 +2816,7 @@ this.btnOutputJPG}); this.ribbonBar21.Location = new System.Drawing.Point(3, 0); this.ribbonBar21.Name = "ribbonBar21"; - this.ribbonBar21.Size = new System.Drawing.Size(514, 59); + this.ribbonBar21.Size = new System.Drawing.Size(514, 92); this.ribbonBar21.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar21.TabIndex = 2; this.ribbonBar21.Text = "浏览模式"; @@ -3128,10 +3117,10 @@ this.ribbonPanel12.Controls.Add(this.ribbonBar18); this.ribbonPanel12.Controls.Add(this.ribbonBar13); this.ribbonPanel12.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel12.Location = new System.Drawing.Point(0, 0); + this.ribbonPanel12.Location = new System.Drawing.Point(0, 33); this.ribbonPanel12.Name = "ribbonPanel12"; this.ribbonPanel12.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel12.Size = new System.Drawing.Size(1328, 95); + this.ribbonPanel12.Size = new System.Drawing.Size(1328, 62); // // // @@ -3170,7 +3159,7 @@ this.buttonItem132}); this.ribbonBar18.Location = new System.Drawing.Point(508, 0); this.ribbonBar18.Name = "ribbonBar18"; - this.ribbonBar18.Size = new System.Drawing.Size(75, 92); + this.ribbonBar18.Size = new System.Drawing.Size(75, 59); this.ribbonBar18.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar18.TabIndex = 1; // @@ -3222,7 +3211,7 @@ this.btn_check_history}); this.ribbonBar13.Location = new System.Drawing.Point(3, 0); this.ribbonBar13.Name = "ribbonBar13"; - this.ribbonBar13.Size = new System.Drawing.Size(505, 92); + this.ribbonBar13.Size = new System.Drawing.Size(505, 59); this.ribbonBar13.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar13.TabIndex = 0; // @@ -3297,10 +3286,10 @@ this.ribbonPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel4.Controls.Add(this.ribbonBar1); this.ribbonPanel4.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel4.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel4.Location = new System.Drawing.Point(0, 0); this.ribbonPanel4.Name = "ribbonPanel4"; this.ribbonPanel4.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel4.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel4.Size = new System.Drawing.Size(1328, 95); // // // @@ -3338,7 +3327,7 @@ this.btn_document_info}); this.ribbonBar1.Location = new System.Drawing.Point(3, 0); this.ribbonBar1.Name = "ribbonBar1"; - this.ribbonBar1.Size = new System.Drawing.Size(200, 59); + this.ribbonBar1.Size = new System.Drawing.Size(200, 92); this.ribbonBar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar1.TabIndex = 0; // @@ -3597,7 +3586,6 @@ // ribbonTabItem9 // this.ribbonTabItem9.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem9.Checked = true; this.ribbonTabItem9.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.HoverImage"))); this.ribbonTabItem9.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.Image"))); this.ribbonTabItem9.Name = "ribbonTabItem9"; @@ -3618,6 +3606,7 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -5959,6 +5948,18 @@ this.pictureBox1.TabStop = false; this.pictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(this.pictureBox1_Paint); // + // layerTree + // + this.layerTree.CheckBoxes = true; + this.layerTree.ItemHeight = 18; + this.layerTree.Location = new System.Drawing.Point(30, 78); + this.layerTree.Name = "layerTree"; + this.layerTree.Size = new System.Drawing.Size(121, 97); + this.layerTree.TabIndex = 1; + this.layerTree.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree_AfterCheck); + this.layerTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseClick); + this.layerTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); + // // MainFrm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; diff --git a/MainFrm.resx b/MainFrm.resx index ea7021a..648fcdb 100644 --- a/MainFrm.resx +++ b/MainFrm.resx @@ -351,142 +351,6 @@ 766, 54 - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 - iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z - zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s - hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa - BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n - WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ - BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY - s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn - ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg - 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef - rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q - qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK - Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 - RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM - 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t - lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl - DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q - rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th - pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S - T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt - SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ - oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 - l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg - S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj - CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X - 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF - 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu - F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee - SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 - 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY - VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 - 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 - edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA - S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw - p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if - SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES - 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U - IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL - 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze - r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq - nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R - Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 - nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA - AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 - OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy - BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F - mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd - v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul - AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj - dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg - 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 - OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -1742,6 +1606,219 @@ TJ65mM1/9adCvki+8p7nYPunBqvfgM/pcrxVz6sAAAAASUVORK5CYII= + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL + ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH + s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW + uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx + xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd + iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ + qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW + GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE + NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n + KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw + qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI + HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq + wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q + 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n + W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 + eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv + 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP + I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f + n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV + x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et + V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD + D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u + 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n + z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V + rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ + 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm + oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 + ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H + 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC + RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo + KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O + 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd + rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o + 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C + s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI + jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs + FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm + LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml + CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV + hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q + bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX + YCSg/AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL + SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 + 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P + zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 + 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj + L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 + RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf + nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P + 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj + ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G + xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H + dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 + LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob + gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 + ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi + UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd + XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 + 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN + jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF + Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn + ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A + AAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -1913,6 +1990,292 @@ R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG + UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe + 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 + wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm + RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm + pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH + oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ + ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU + jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm + 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 + RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT + 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 + VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn + KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 + A2MdqQeVc5pWAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 + iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z + zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s + hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa + BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n + WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ + BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY + s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn + ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg + 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef + rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q + qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK + Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 + RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO + RK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM + 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t + lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl + DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q + rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th + pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S + T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt + SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ + oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 + l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg + S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj + CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X + 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF + 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu + F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee + SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 + 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY + VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 + 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 + edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA + S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw + p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if + SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES + 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U + IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL + 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze + r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq + nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R + Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 + nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA + AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 + OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy + BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F + mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd + v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul + AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj + dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg + 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 + OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo + cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 + p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D + frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua + BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO + Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O + eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e + x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa + mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM + FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF + 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH + 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn + DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH + ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -2160,369 +2523,6 @@ 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG - UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe - 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 - wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm - RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm - pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH - oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ - ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU - jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm - 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 - RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT - 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 - VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn - KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 - A2MdqQeVc5pWAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN - yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc - c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg - 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 - cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 - ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw - O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD - nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz - 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn - k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I - 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df - WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs - T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda - SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL - ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH - s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW - uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx - xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd - iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ - qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW - GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE - NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n - KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw - qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI - HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq - wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q - 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n - W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 - eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv - 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP - I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f - n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV - x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et - V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD - D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u - 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n - z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V - rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ - 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm - oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 - ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H - 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC - RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo - KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O - 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd - rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o - 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C - s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI - jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs - FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm - LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml - CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV - hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q - bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX - YCSg/AAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL - SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 - 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P - zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 - 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj - L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 - RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf - nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P - 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj - ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G - xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H - dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 - LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob - gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 - ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi - UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd - XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 - 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN - jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF - Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn - ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A - AAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo - cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 - p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D - frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua - BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO - Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O - eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e - x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa - mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM - FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF - 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH - 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn - DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH - ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 diff --git a/TreeUtils.cs b/TreeUtils.cs index 37878fc..04ae5e5 100644 --- a/TreeUtils.cs +++ b/TreeUtils.cs @@ -258,5 +258,34 @@ } } } + + /// + /// 根据父节点改变子节点的选中状态 + /// + /// + /// + public static void CheckChildrenNode(TreeNode parentNode, bool isChecked) + { + parentNode.Checked = isChecked; + foreach (TreeNode childNode in parentNode.Nodes) + { + childNode.Checked = isChecked; + if (childNode.Nodes.Count > 0) + CheckChildrenNode(childNode, isChecked); + } + } + + public static void ChangeNodeCheckedStatus(TreeView treeView, string strNodeName, bool isChecked) + { + foreach (TreeNode curNode in treeView.Nodes) + { + if (curNode.Text != strNodeName) continue; + else + { + TreeUtils.CheckChildrenNode(curNode, isChecked); + return; + } + } + } } } diff --git a/bin/x86/Debug/Config.xml b/bin/x86/Debug/Config.xml index 36b473e..585bec3 100644 --- a/bin/x86/Debug/Config.xml +++ b/bin/x86/Debug/Config.xml @@ -1,26 +1,26 @@  LocaSpace三维地下管线信息系统 - release - szhtdb2 - 192.168.0.203 - release + scott + SZDB + 127.0.0.1 + SZDB 192.168.0.35 1500 - http://192.168.0.203/images/ - http://192.168.0.203/images/default.jpg + http://127.0.0.1/images/ + http://127.0.0.1/images/default.jpg D:/backup http://127.0.0.1:8083/GSOBackOracle.asmx - 192.168.0.203 - SZGHDB2 + 127.0.0.1 + SZGH scott - SZGHDB2 + SZGH 雨水,污水,给水,天然气,通讯,共通,电通,供电,有线电视,监控,交通信号,路灯 - 192.168.0.203 - SZSGDB2 + 127.0.0.1 + SZSG scott - SZSGDB2 + SZSG http://127.0.0.1/Cyberpipe.msi http://127.0.0.1/Config.xml diff --git a/bin/x86/Debug/Cyberpipe.exe b/bin/x86/Debug/Cyberpipe.exe index 0dd1e75..ed3f3e4 100644 --- a/bin/x86/Debug/Cyberpipe.exe +++ b/bin/x86/Debug/Cyberpipe.exe Binary files differ diff --git a/bin/x86/Debug/layerConfig.xml b/bin/x86/Debug/layerConfig.xml index 9266e1f..688e297 100644 --- a/bin/x86/Debug/layerConfig.xml +++ b/bin/x86/Debug/layerConfig.xml @@ -41,6 +41,12 @@ + + + + + + @@ -78,6 +84,13 @@ + + + + + + + @@ -143,28 +156,10 @@ - + - - - - - - - - - - - - - - - - - - - - + + @@ -173,13 +168,43 @@ - + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Cyberpipe.suo b/Cyberpipe.suo index 8d0505f..df6e0a6 100644 --- a/Cyberpipe.suo +++ b/Cyberpipe.suo Binary files differ diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index 6038938..f0d9ebb 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -220,7 +220,7 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径_毫米"; + cmbRadius.SelectedItem = "管径"; comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } diff --git a/FrmGBJC.cs b/FrmGBJC.cs index 9f47038..4a23dcf 100644 --- a/FrmGBJC.cs +++ b/FrmGBJC.cs @@ -36,9 +36,11 @@ if (dt.Name.ToLower().Contains("network") || !dt.Name.ToLower().EndsWith("管线") || dt.Name.Contains("SH") || dt.Name.Contains("SLS")) continue; + /* if (!dt.Name.Contains("给水") && !dt.Name.Contains("雨水") && !dt.Name.Contains("污水") && !dt.Name.Contains("雨污") && !dt.Name.Contains("燃气") && !dt.Name.Contains("电力")) continue; + * */ lt.Items.Add(dt.Name); } } diff --git a/FrmLineCoordinate.designer.cs b/FrmLineCoordinate.designer.cs index 3149abf..0a3fbb7 100644 --- a/FrmLineCoordinate.designer.cs +++ b/FrmLineCoordinate.designer.cs @@ -138,6 +138,7 @@ this.checkBoxX3.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.checkBoxX3.TabIndex = 88; this.checkBoxX3.Text = "管沟"; + this.checkBoxX3.Visible = false; this.checkBoxX3.CheckedChanged += new System.EventHandler(this.checkBoxX3_CheckedChanged); // // checkBoxX2 diff --git a/FrmpipeDeepstatis.Designer.cs b/FrmpipeDeepstatis.Designer.cs index ef5a119..2627350 100644 --- a/FrmpipeDeepstatis.Designer.cs +++ b/FrmpipeDeepstatis.Designer.cs @@ -36,13 +36,11 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -53,6 +51,7 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.dataGridViewX2 = new DevComponents.DotNetBar.Controls.DataGridViewX(); this.下限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.上限 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -70,42 +69,18 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(123, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 9; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(123, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 6; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -139,14 +114,14 @@ this.条数, this.总长度}); this.dataGridViewX1.ContextMenuStrip = this.contextMenuStrip1; - dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX1.DefaultCellStyle = dataGridViewCellStyle1; this.dataGridViewX1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX1.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX1.Location = new System.Drawing.Point(3, 3); @@ -206,6 +181,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(786, 304); + this.chart1.TabIndex = 3; + this.chart1.Text = "chart1"; + // // dataGridViewX2 // this.dataGridViewX2.AllowUserToAddRows = false; @@ -213,14 +204,14 @@ this.dataGridViewX2.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.下限, this.上限}); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle7.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle4.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dataGridViewX2.DefaultCellStyle = dataGridViewCellStyle4; this.dataGridViewX2.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridViewX2.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(170)))), ((int)(((byte)(170)))), ((int)(((byte)(170))))); this.dataGridViewX2.Location = new System.Drawing.Point(493, 23); @@ -234,18 +225,18 @@ // // 下限 // - dataGridViewCellStyle1.Format = "N2"; - dataGridViewCellStyle1.NullValue = null; - this.下限.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle2.Format = "N2"; + dataGridViewCellStyle2.NullValue = null; + this.下限.DefaultCellStyle = dataGridViewCellStyle2; this.下限.HeaderText = "下限"; this.下限.Name = "下限"; this.下限.Width = 60; // // 上限 // - dataGridViewCellStyle6.Format = "N2"; - dataGridViewCellStyle6.NullValue = null; - this.上限.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle3.Format = "N2"; + dataGridViewCellStyle3.NullValue = null; + this.上限.DefaultCellStyle = dataGridViewCellStyle3; this.上限.HeaderText = "上限"; this.上限.Name = "上限"; this.上限.Width = 60; @@ -453,7 +444,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX2, 2, 0); this.tableLayoutPanel2.Controls.Add(this.lstpipeRadius, 2, 1); this.tableLayoutPanel2.Controls.Add(this.dataGridViewX2, 4, 1); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); @@ -467,21 +457,17 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(800, 194); this.tableLayoutPanel2.TabIndex = 11; // - // chart1 + // buttonX8 // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(786, 304); - this.chart1.TabIndex = 3; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(123, 23); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // FrmpipeDeepstatis // @@ -503,18 +489,16 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -543,5 +527,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/FrmpipeDeepstatis.cs b/FrmpipeDeepstatis.cs index 8d915a9..f034488 100644 --- a/FrmpipeDeepstatis.cs +++ b/FrmpipeDeepstatis.cs @@ -12,41 +12,40 @@ namespace Cyberpipe { - public partial class FrmpipeDeepstatis :Office2007Form + public partial class FrmpipeDeepstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames; - + List pipeLayerNames = new List(); + GSOGeoPolygon3D polygon; static FrmpipeDeepstatis frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDeepstatis(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDeepstatis(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); - }else if (frm.WindowState == FormWindowState.Minimized) + } + else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; } } - public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public FrmpipeDeepstatis(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = globeControl; - pipeLayerNames = pipeLayers; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; + if (!pipeLayers[i].Contains("SG")) + { + pipeLayerNames.Add(pipeLayers[i]); + } } + //pipeLayerNames = pipeLayers; + polygon = _polygon; } /// /// 上限、下限按钮事件处理 @@ -121,7 +120,6 @@ dataGridViewX2.Rows.Remove(row); } } - /// /// 给表格绑定数据 /// @@ -130,12 +128,11 @@ { try { - dic.Clear() ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { - GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { @@ -159,7 +156,7 @@ row.Cells["总长度"].Value = Math.Round(result.sum, 2); dic.Add(layer.Caption + "," + row.Cells["埋深范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + } } @@ -176,8 +173,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -210,44 +205,13 @@ /// /// private void FrmpipeDeepstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } - } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层"); - return; } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - } + /// /// 全选 /// @@ -270,7 +234,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -292,25 +256,6 @@ /// private void buttonX8_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层"); - return; - } - if (dataGridViewX2.Rows.Count == 0) - { - MessageBox.Show("请添加分段"); - return; - } - pipeDiameterStatis(null); - } - /// - /// 绘制区域分段统计 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层"); @@ -321,13 +266,8 @@ MessageBox.Show("请添加分段"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } - - /// /// 导出Excel按钮事件处理 /// @@ -406,7 +346,7 @@ MessageBox.Show("统计结果为空,请重新统计之后再导出Excel!", "提示"); } } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { MemberInfo memberInfo = e.Control.GetType().BaseType; @@ -452,11 +392,6 @@ private void FrmpipeDeepstatis_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } } diff --git a/FrmpipeDeepstatis.resx b/FrmpipeDeepstatis.resx index b2dd89f..e1ca348 100644 --- a/FrmpipeDeepstatis.resx +++ b/FrmpipeDeepstatis.resx @@ -117,9 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - True @@ -132,6 +129,9 @@ True + + 17, 17 + True diff --git a/FrmpipeDiametergather.Designer.cs b/FrmpipeDiametergather.Designer.cs index 2cb5d15..697b8aa 100644 --- a/FrmpipeDiametergather.Designer.cs +++ b/FrmpipeDiametergather.Designer.cs @@ -37,9 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea9 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -47,6 +45,8 @@ this.管径 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX3 = new DevComponents.DotNetBar.ButtonX(); @@ -56,46 +56,19 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.tableLayoutPanel3.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(3, 167); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(108, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 14; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX8.Location = new System.Drawing.Point(3, 117); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(108, 24); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 11; - this.buttonX8.Text = "全区域分类汇总"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tableLayoutPanel1.SetColumnSpan(this.tabControl1, 6); @@ -172,22 +145,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(832, 285); + this.tabPage2.Size = new System.Drawing.Size(572, 274); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea9.AxisX.MajorGrid.Enabled = false; - chartArea9.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea9); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -244,7 +231,6 @@ this.clbPipeLine.Size = new System.Drawing.Size(240, 194); this.clbPipeLine.TabIndex = 1; this.clbPipeLine.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.clbPipeLine_ItemCheck); - //this.clbPipeLine.SelectedIndexChanged += new System.EventHandler(this.clbPipeLine_SelectedIndexChanged); // // labelX1 // @@ -300,25 +286,10 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(64, 194); this.tableLayoutPanel2.TabIndex = 15; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // tableLayoutPanel3 // this.tableLayoutPanel3.ColumnCount = 1; this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel3.Controls.Add(this.buttonX8, 0, 1); this.tableLayoutPanel3.Controls.Add(this.buttonX9, 0, 3); this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel3.Location = new System.Drawing.Point(439, 23); @@ -331,6 +302,19 @@ this.tableLayoutPanel3.Size = new System.Drawing.Size(114, 194); this.tableLayoutPanel3.TabIndex = 16; // + // buttonX9 + // + this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonX9.Location = new System.Drawing.Point(3, 167); + this.buttonX9.Name = "buttonX9"; + this.buttonX9.Size = new System.Drawing.Size(108, 24); + this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX9.TabIndex = 14; + this.buttonX9.Text = "开始统计"; + this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); + // // FrmpipeDiametergather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -349,11 +333,11 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.tableLayoutPanel3.ResumeLayout(false); this.ResumeLayout(false); @@ -361,8 +345,6 @@ #endregion - private ButtonX buttonX9; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private DataGridViewX dataGridViewX1; @@ -382,5 +364,6 @@ private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; private TableLayoutPanel tableLayoutPanel3; + private ButtonX buttonX9; } } \ No newline at end of file diff --git a/FrmpipeDiametergather.cs b/FrmpipeDiametergather.cs index c09aaf1..0545383 100644 --- a/FrmpipeDiametergather.cs +++ b/FrmpipeDiametergather.cs @@ -16,15 +16,15 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeDiametergather frm; Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeDiametergather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeDiametergather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if (frm.WindowState == FormWindowState.Minimized) @@ -33,23 +33,11 @@ } } - public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeDiametergather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } - - } /// /// 窗体初始化事件处理 @@ -63,32 +51,7 @@ clbPipeLine.Items.Add(pipeLayerNames[i]); } } - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } + /// /// 全选 /// @@ -154,14 +117,9 @@ MessageBox.Show("请选择图层!"); return; } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - + pipeDiameterStatis(polygon); + } /// /// 给表格绑定数据 /// @@ -392,10 +350,6 @@ private void FrmpipeDiametergather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } diff --git a/FrmpipeMaterialGather.Designer.cs b/FrmpipeMaterialGather.Designer.cs index d03f476..3ad7cbd 100644 --- a/FrmpipeMaterialGather.Designer.cs +++ b/FrmpipeMaterialGather.Designer.cs @@ -37,8 +37,7 @@ { this.components = new System.ComponentModel.Container(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea3 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); + System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); @@ -47,6 +46,8 @@ this.材质 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.条数 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.总长度 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.buttonX4 = new DevComponents.DotNetBar.ButtonX(); @@ -60,31 +61,16 @@ this.labelX1 = new DevComponents.DotNetBar.LabelX(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); - this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); + this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // - // buttonX9 - // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonX9.Location = new System.Drawing.Point(523, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(114, 24); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 19; - this.buttonX9.Text = "绘制区域分类汇总"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // // buttonX8 // this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; @@ -95,7 +81,7 @@ this.buttonX8.Size = new System.Drawing.Size(114, 23); this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.buttonX8.TabIndex = 16; - this.buttonX8.Text = "全区域分类汇总"; + this.buttonX8.Text = "开始汇总"; this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // tabControl1 @@ -173,22 +159,36 @@ this.总长度.Name = "总长度"; this.总长度.ReadOnly = true; // + // contextMenuStrip1 + // + this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.导出ExcelToolStripMenuItem}); + this.contextMenuStrip1.Name = "contextMenuStrip1"; + this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); + // + // 导出ExcelToolStripMenuItem + // + this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; + this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); + this.导出ExcelToolStripMenuItem.Text = "导出Excel"; + this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); + // // tabPage2 // this.tabPage2.Controls.Add(this.chart1); this.tabPage2.Location = new System.Drawing.Point(4, 22); this.tabPage2.Name = "tabPage2"; this.tabPage2.Padding = new System.Windows.Forms.Padding(3); - this.tabPage2.Size = new System.Drawing.Size(547, 313); + this.tabPage2.Size = new System.Drawing.Size(669, 318); this.tabPage2.TabIndex = 1; this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // // chart1 // - chartArea3.AxisX.MajorGrid.Enabled = false; - chartArea3.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea3); + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; this.chart1.Location = new System.Drawing.Point(3, 3); this.chart1.Name = "chart1"; @@ -340,7 +340,6 @@ this.tableLayoutPanel2.Controls.Add(this.labelX1, 0, 0); this.tableLayoutPanel2.Controls.Add(this.clbPipeLine, 0, 1); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 4, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 4, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX4, 3, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.clbmaterials, 2, 1); @@ -360,20 +359,6 @@ this.tableLayoutPanel2.Size = new System.Drawing.Size(677, 194); this.tableLayoutPanel2.TabIndex = 21; // - // contextMenuStrip1 - // - this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.导出ExcelToolStripMenuItem}); - this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(130, 26); - // - // 导出ExcelToolStripMenuItem - // - this.导出ExcelToolStripMenuItem.Name = "导出ExcelToolStripMenuItem"; - this.导出ExcelToolStripMenuItem.Size = new System.Drawing.Size(129, 22); - this.导出ExcelToolStripMenuItem.Text = "导出Excel"; - this.导出ExcelToolStripMenuItem.Click += new System.EventHandler(this.btnExport_Click); - // // FrmpipeMaterialGather // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); @@ -392,18 +377,17 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); + this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - this.contextMenuStrip1.ResumeLayout(false); this.ResumeLayout(false); } #endregion - private ButtonX buttonX9; private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; diff --git a/FrmpipeMaterialGather.cs b/FrmpipeMaterialGather.cs index 5ca8144..00a7565 100644 --- a/FrmpipeMaterialGather.cs +++ b/FrmpipeMaterialGather.cs @@ -16,13 +16,13 @@ { GSOGlobeControl globeControl1; List pipeLayerNames; - + GSOGeoPolygon3D polygon; static FrmpipeMaterialGather frm; - public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl globeControl, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new FrmpipeMaterialGather(globeControl, pipeLayers, visibleId); + frm = new FrmpipeMaterialGather(globeControl, pipeLayers, _polygon); frm.Show(globeControl.Parent); } else if(frm.WindowState == FormWindowState.Minimized) @@ -31,21 +31,12 @@ } } - public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public FrmpipeMaterialGather(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; pipeLayerNames = pipeLayers; - if (visibleId == 0) - { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; - }else if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -82,31 +73,6 @@ } /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { - if (e.Polygon == null) return; - if (clbPipeLine.CheckedItems.Count == 0) - { - MessageBox.Show("请选择图层!"); - return; - } - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - - } - /// /// 全选按钮事件处理 /// /// @@ -284,28 +250,7 @@ return; } globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(null); - } - /// - /// 绘制区域分类汇总 - /// - /// - /// - private void buttonX9_Click(object sender, EventArgs e) - { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (clbmaterials.CheckedItems.Count == 0) - { - MessageBox.Show("请选择材质类型!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; + pipeDiameterStatis(polygon); } /// @@ -316,10 +261,7 @@ private void FrmpipeMaterialGather_FormClosing(object sender, FormClosingEventArgs e) { frm = null; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } /// diff --git a/Frmpipediameterstatis.Designer.cs b/Frmpipediameterstatis.Designer.cs index b219ce5..089b897 100644 --- a/Frmpipediameterstatis.Designer.cs +++ b/Frmpipediameterstatis.Designer.cs @@ -55,7 +55,6 @@ this.buttonX1 = new DevComponents.DotNetBar.ButtonX(); this.clbPipeLine = new System.Windows.Forms.CheckedListBox(); this.labelX1 = new DevComponents.DotNetBar.LabelX(); - this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabPage1 = new System.Windows.Forms.TabPage(); this.dataGridViewX1 = new DevComponents.DotNetBar.Controls.DataGridViewX(); @@ -66,20 +65,20 @@ this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.导出ExcelToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tabPage2 = new System.Windows.Forms.TabPage(); + this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); this.buttonX7 = new DevComponents.DotNetBar.ButtonX(); - this.buttonX9 = new DevComponents.DotNetBar.ButtonX(); - this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart(); + this.buttonX8 = new DevComponents.DotNetBar.ButtonX(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX2)).BeginInit(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.tableLayoutPanel1.SuspendLayout(); this.tableLayoutPanel2.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit(); this.SuspendLayout(); // // dataGridViewX2 @@ -278,18 +277,6 @@ this.labelX1.TabIndex = 0; this.labelX1.Text = "指定图层:"; // - // buttonX8 - // - this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX8.Location = new System.Drawing.Point(673, 113); - this.buttonX8.Name = "buttonX8"; - this.buttonX8.Size = new System.Drawing.Size(112, 23); - this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX8.TabIndex = 1; - this.buttonX8.Text = "全区域分段统计"; - this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); - // // tabControl1 // this.tabControl1.Controls.Add(this.tabPage1); @@ -390,6 +377,22 @@ this.tabPage2.Text = "统计图"; this.tabPage2.UseVisualStyleBackColor = true; // + // chart1 + // + chartArea1.AxisX.IsLabelAutoFit = false; + chartArea1.AxisX.MajorGrid.Enabled = false; + chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); + chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; + chartArea1.Name = "ChartArea1"; + this.chart1.ChartAreas.Add(chartArea1); + this.chart1.ContextMenuStrip = this.contextMenuStrip1; + this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; + this.chart1.Location = new System.Drawing.Point(3, 3); + this.chart1.Name = "chart1"; + this.chart1.Size = new System.Drawing.Size(776, 355); + this.chart1.TabIndex = 2; + this.chart1.Text = "chart1"; + // // tableLayoutPanel1 // this.tableLayoutPanel1.ColumnCount = 1; @@ -428,7 +431,6 @@ this.tableLayoutPanel2.Controls.Add(this.buttonX2, 1, 2); this.tableLayoutPanel2.Controls.Add(this.buttonX3, 1, 3); this.tableLayoutPanel2.Controls.Add(this.buttonX8, 5, 4); - this.tableLayoutPanel2.Controls.Add(this.buttonX9, 5, 3); this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); this.tableLayoutPanel2.Name = "tableLayoutPanel2"; @@ -453,33 +455,17 @@ this.buttonX7.Text = "删除行"; this.buttonX7.Click += new System.EventHandler(this.buttonX7_Click); // - // buttonX9 + // buttonX8 // - this.buttonX9.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.buttonX9.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.buttonX9.Location = new System.Drawing.Point(673, 83); - this.buttonX9.Name = "buttonX9"; - this.buttonX9.Size = new System.Drawing.Size(112, 23); - this.buttonX9.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; - this.buttonX9.TabIndex = 4; - this.buttonX9.Text = "绘制区域分段统计"; - this.buttonX9.Click += new System.EventHandler(this.buttonX9_Click); - // - // chart1 - // - chartArea1.AxisX.IsLabelAutoFit = false; - chartArea1.AxisX.MajorGrid.Enabled = false; - chartArea1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(191)))), ((int)(((byte)(219)))), ((int)(((byte)(255))))); - chartArea1.BackGradientStyle = System.Windows.Forms.DataVisualization.Charting.GradientStyle.TopBottom; - chartArea1.Name = "ChartArea1"; - this.chart1.ChartAreas.Add(chartArea1); - this.chart1.ContextMenuStrip = this.contextMenuStrip1; - this.chart1.Dock = System.Windows.Forms.DockStyle.Fill; - this.chart1.Location = new System.Drawing.Point(3, 3); - this.chart1.Name = "chart1"; - this.chart1.Size = new System.Drawing.Size(776, 355); - this.chart1.TabIndex = 2; - this.chart1.Text = "chart1"; + this.buttonX8.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.buttonX8.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.buttonX8.Location = new System.Drawing.Point(673, 113); + this.buttonX8.Name = "buttonX8"; + this.buttonX8.Size = new System.Drawing.Size(112, 24); + this.buttonX8.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.buttonX8.TabIndex = 9; + this.buttonX8.Text = "开始统计"; + this.buttonX8.Click += new System.EventHandler(this.buttonX8_Click); // // Frmpipediameterstatis // @@ -502,9 +488,9 @@ ((System.ComponentModel.ISupportInitialize)(this.dataGridViewX1)).EndInit(); this.contextMenuStrip1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel2.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit(); this.ResumeLayout(false); } @@ -522,7 +508,6 @@ private ButtonX buttonX6; private ButtonX buttonX5; private ButtonX buttonX4; - private ButtonX buttonX8; private TabControl tabControl1; private TabPage tabPage1; private TabPage tabPage2; @@ -538,8 +523,8 @@ private TableLayoutPanel tableLayoutPanel1; private ContextMenuStrip contextMenuStrip1; private ToolStripMenuItem 导出ExcelToolStripMenuItem; - private ButtonX buttonX9; private ButtonX buttonX7; private Chart chart1; + private ButtonX buttonX8; } } \ No newline at end of file diff --git a/Frmpipediameterstatis.cs b/Frmpipediameterstatis.cs index 48ac35f..27f134b 100644 --- a/Frmpipediameterstatis.cs +++ b/Frmpipediameterstatis.cs @@ -11,44 +11,37 @@ namespace Cyberpipe { - public partial class Frmpipediameterstatis :Office2007Form + public partial class Frmpipediameterstatis : Office2007Form { GSOGlobeControl globeControl1; - List pipeLayerNames ; - + List pipeLayerNames = new List(); static Frmpipediameterstatis frm; -// private MainFrm.PageControlStuct _pageControl; + GSOGeoPolygon3D polygon; + Dictionary dic = new Dictionary(); - public static void ShowForm(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public static void ShowForm(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { if (frm == null) { - frm = new Frmpipediameterstatis(_globeControl1, pipeLayers, visibleId); + frm = new Frmpipediameterstatis(_globeControl1, pipeLayers, _polygon); frm.Show(_globeControl1.Parent); } else if (frm.WindowState == FormWindowState.Minimized) { frm.WindowState = FormWindowState.Normal; - } + } } - public Frmpipediameterstatis(GSOGlobeControl _globeControl1, List pipeLayers, int visibleId) + public Frmpipediameterstatis(GSOGlobeControl _globeControl1, List pipeLayers, GSOGeoPolygon3D _polygon) { InitializeComponent(); globeControl1 = _globeControl1; - pipeLayerNames = pipeLayers; -// _pageControl = pageControl; - if (visibleId == 0) + for (int i = 0; i < pipeLayers.Count; i++) { - buttonX9.Visible = false; - buttonX8.Visible = true; - buttonX8.Location = buttonX9.Location; + if (!pipeLayers[i].Contains("SG")) + pipeLayerNames.Add(pipeLayers[i]); } - if (visibleId == 1) - { - buttonX8.Visible = false; - buttonX9.Visible = true; - } + polygon = _polygon; } /// /// 窗体初始化事件处理 @@ -56,13 +49,12 @@ /// /// private void Frmpipediameterstatis_Load(object sender, EventArgs e) - { + { for (int i = 0; i < pipeLayerNames.Count; i++) { clbPipeLine.Items.Add(pipeLayerNames[i]); - } + } } - /// /// 上限按钮事件处理 /// @@ -75,7 +67,7 @@ DataGridViewRow row = dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; if (lstpipeRadius.SelectedItem != null) { - if (row.Cells["下限"].Value != null&& row.Cells["下限"].Value.ToString() != "") + if (row.Cells["下限"].Value != null && row.Cells["下限"].Value.ToString() != "") { double downRadius = Convert.ToDouble(row.Cells["下限"].Value); double upRadius = Convert.ToDouble(lstpipeRadius.SelectedItem.ToString()); @@ -138,13 +130,13 @@ private void buttonX7_Click(object sender, EventArgs e) { if (dataGridViewX2.SelectedCells.Count > 0) - { - DataGridViewRow row=dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; + { + DataGridViewRow row = dataGridViewX2.Rows[dataGridViewX2.SelectedCells[0].RowIndex]; dataGridViewX2.Rows.Remove(row); } } - - Dictionary dic = new Dictionary(); + + /// /// 全区域分段统计 /// @@ -160,7 +152,7 @@ { MessageBox.Show("请添加分段!"); } - pipeDiameterStatis(null); + pipeDiameterStatis(polygon); } /// /// 给表格绑定数据 @@ -170,14 +162,15 @@ { try { - dic.Clear(); ; + dic.Clear(); dataGridViewX1.Rows.Clear(); FeatureStatisticsService service = new FeatureStatisticsService(); - for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) { + for (int i = 0; i < clbPipeLine.CheckedItems.Count; i++) + { GSOLayer layer = globeControl1.Globe.Layers.GetLayerByCaption(clbPipeLine.CheckedItems[i].ToString()); - for (int j = 0; j < dataGridViewX2.Rows.Count; j++) { - + for (int j = 0; j < dataGridViewX2.Rows.Count; j++) + { object tempUp = dataGridViewX2.Rows[j].Cells["上限"].Value; double? upLimit = null; if (tempUp != null) upLimit = Convert.ToDouble(tempUp); @@ -185,27 +178,23 @@ object tempDown = dataGridViewX2.Rows[j].Cells["下限"].Value; double? downLimit = null; if (tempDown != null) downLimit = Convert.ToDouble(tempDown); - if (upLimit == null && downLimit == null) continue;//空行过滤 + if (upLimit == null && downLimit == null) continue;//空行过滤 //获取符合条件的管线 - FeaturesClassfyResult result = service.GetPipesInfoByValueSection(polygon, layer, downLimit, upLimit, "管径_毫米"); - DataGridViewRow row = new DataGridViewRow(); - int index = dataGridViewX1.Rows.Add(row); - row = dataGridViewX1.Rows[index]; - row.Cells["图层名称"].Value = layer.Caption; - row.Cells["管径范围"].Value = result.groupFieldValue; - row.Cells["条数"].Value = result.ncount; - row.Cells["总长度"].Value = Math.Round(result.sum, 2); - dic.Add(layer.Caption + "," + row.Cells["管径范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); - + FeaturesClassfyResult result = service.GetPipesInfoByValueSection(polygon, layer, downLimit, upLimit, "管径"); + DataGridViewRow row = new DataGridViewRow(); + int index = dataGridViewX1.Rows.Add(row); + row = dataGridViewX1.Rows[index]; + row.Cells["图层名称"].Value = layer.Caption; + row.Cells["管径范围"].Value = result.groupFieldValue; + row.Cells["条数"].Value = result.ncount; + row.Cells["总长度"].Value = Math.Round(result.sum, 2); + dic.Add(layer.Caption + "," + row.Cells["管径范围"].Value + "," + row.Cells["总长度"].Value, result.ncount); } } - - showPipeWidget(); } catch (Exception ex) { - //MessageBox.Show(ex.Message); LogHelper.Error(ex.Message); LogError.PublishError(ex); } @@ -215,8 +204,6 @@ /// private void showPipeWidget() { - - chart1.Series.Clear(); chart1.Series.Add("管线"); @@ -266,7 +253,7 @@ for (int i = 0; i < clbPipeLine.Items.Count; i++) { clbPipeLine.SetItemChecked(i, !clbPipeLine.GetItemChecked(i)); - + } } /// @@ -357,8 +344,6 @@ myStream.Close(); } } - - } /// /// 绘制区域分段统计 @@ -367,28 +352,6 @@ /// private void buttonX9_Click(object sender, EventArgs e) { - if (clbPipeLine.CheckedItems.Count == 0) { - MessageBox.Show("请选择图层!"); - return; - } - if (dataGridViewX2.Rows.Count == 0) { - MessageBox.Show("请添加分段!"); - return; - } - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - globeControl1.Globe.Action = EnumAction3D.TrackPolygon; - globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; - globeControl1.TrackPolygonEndEvent += globeControl1_TrackPolygonEndEvent; - } - - - /// - /// 球的跟踪面结束事件处理 - /// - /// - /// - void globeControl1_TrackPolygonEndEvent(object sender, TrackPolygonEndEventArgs e) - { if (clbPipeLine.CheckedItems.Count == 0) { MessageBox.Show("请选择图层!"); @@ -399,21 +362,8 @@ MessageBox.Show("请添加分段!"); return; } - if (e.Polygon == null) return; - - GSOGeoPolygon3D polygon = e.Polygon.Clone() as GSOGeoPolygon3D; - polygon.AltitudeMode = EnumAltitudeMode.RelativeToGround; - GSOFeature feature = new GSOFeature(); - feature.Geometry = polygon; - feature.Name = "trackPolygon"; - globeControl1.Globe.MemoryLayer.AddFeature(feature); - globeControl1.Globe.ClearLastTrackPolygon(); - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - globeControl1.Globe.Action = EnumAction3D.ActionNull; - pipeDiameterStatis(e.Polygon); - + pipeDiameterStatis(polygon); } - /// /// 窗体关闭事件处理 /// @@ -421,15 +371,10 @@ /// private void Frmpipediameterstatis_FormClosing(object sender, FormClosingEventArgs e) { - frm = null; - - globeControl1.Globe.Action = EnumAction3D.ActionNull; - globeControl1.TrackPolygonEndEvent -= globeControl1_TrackPolygonEndEvent; - FeatureTools.RemoveFeatureFromName(globeControl1, "trackPolygon"); - - globeControl1.Globe.MemoryLayer.RemoveAllFeature(); + frm = null; + globeControl1.Globe.MemoryLayer.RemoveAllFeature(); } - TextBox control; + TextBox control; private void dataGridViewX2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { if (e.Control.GetType().BaseType.Name == "TextBox") diff --git a/MainFrm.cs b/MainFrm.cs index 9732fad..2d57cd7 100644 --- a/MainFrm.cs +++ b/MainFrm.cs @@ -1880,7 +1880,27 @@ globeControl1.Globe.Action = EnumAction3D.ActionNull; break; + case "pipeDiameter"://绘制区域管径分段统计 + Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "depthStatistic"://绘制区域埋深分段统计 + FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "materialStatistic": + FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; + case "pipeStatistic"://管径分类 + trackflag = null; + FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, polygon); + globeControl1.Globe.Action = EnumAction3D.ActionNull; + break; case "pit": double depth; FrmTackPolygonDlg dlg = new FrmTackPolygonDlg(); @@ -5665,7 +5685,7 @@ private void 管径分段统计ToolStripMenuItem_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分段统计"); - Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 管径分段统计绘制区域统计 @@ -5675,8 +5695,14 @@ private void 管径分段统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分段统计"); + trackflag = "pipeDiameter"; + + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; Frmpipediameterstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 埋深分段统计全区域统计 @@ -5686,7 +5712,7 @@ private void 埋深分段统计ToolStripMenuItem_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "埋深分段统计"); - FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 埋深分段统计绘制区域统计 @@ -5696,8 +5722,13 @@ private void 埋深分段统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "埋深分段统计"); + trackflag = "depthStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeDeepstatis.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + * */ } /// /// 管径分类统计全区域统计 @@ -5708,7 +5739,7 @@ { LogManager.saveLog(Utility.userName, "管径分类汇总"); - FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 管径分类统计绘制区域统计 @@ -5718,9 +5749,13 @@ private void 管径分类统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "管径分类汇总"); - + trackflag = "pipeStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeDiametergather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 材质分类统计全区域统计 @@ -5731,7 +5766,7 @@ { LogManager.saveLog(Utility.userName, "材质分类汇总"); - FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 0); + FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, null); } /// /// 材质分类统计绘制区域统计 @@ -5741,9 +5776,13 @@ private void 材质分类统计ToolStripMenuItem1_Click(object sender, EventArgs e) { LogManager.saveLog(Utility.userName, "材质分类汇总"); - + trackflag = "materialStatistic"; + globeControl1.Globe.Action = EnumAction3D.TrackPolygon; + globeControl1.Globe.TrackPolygonTool.TrackMode = EnumTrackMode.SpaceTrack; + /* trackflag = null; FrmpipeMaterialGather.ShowForm(globeControl1, Utility.m_PipelineLayerNames, 1); + */ } /// /// 附属物分类统计全区域统计 @@ -7577,10 +7616,12 @@ splitContainer1.Panel2Collapsed = true; legendSG.Visible = false; legendSC.Visible = false; - ClearGZData(); + //ClearGZData(); GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer == null) return; redLayer.Visible = true; + + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", true); } catch (Exception ex) { @@ -7614,6 +7655,8 @@ GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer != null) redLayer.Visible = false; + + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", false); } catch (Exception ex) { @@ -7636,10 +7679,11 @@ panelOfTable.Visible = false; legendSC.Visible = false; legendSG.Visible = false; - ClearGZData(); + //ClearGZData(); GSOLayer redLayer = globeControl1.Globe.Layers.GetLayerByCaption("红线"); if (redLayer == null) return; redLayer.Visible = false; + TreeUtils.ChangeNodeCheckedStatus(layerTree, "红线数据", false); } catch (Exception ex) { diff --git a/MainFrm.designer.cs b/MainFrm.designer.cs index 943beed..86eae6e 100644 --- a/MainFrm.designer.cs +++ b/MainFrm.designer.cs @@ -112,7 +112,6 @@ this.sideBar1 = new DevComponents.DotNetBar.SideBar(); this.panelEx3 = new DevComponents.DotNetBar.PanelEx(); this.layerSensorTree = new System.Windows.Forms.TreeView(); - this.layerTree = new Cyberpipe.MyTreeView(); this.sideBarPanelItem3 = new DevComponents.DotNetBar.SideBarPanelItem(); this.controlContainerItem3 = new DevComponents.DotNetBar.ControlContainerItem(); this.sideBarPanelItem4 = new DevComponents.DotNetBar.SideBarPanelItem(); @@ -541,6 +540,7 @@ this.labelX17 = new DevComponents.DotNetBar.LabelX(); this.panelEx4 = new DevComponents.DotNetBar.PanelEx(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.layerTree = new Cyberpipe.MyTreeView(); this.statusStrip1.SuspendLayout(); this.sideBar1.SuspendLayout(); this.panelEx3.SuspendLayout(); @@ -979,18 +979,6 @@ this.layerSensorTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerMarkerTree_NodeMouseClick); this.layerSensorTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); // - // layerTree - // - this.layerTree.CheckBoxes = true; - this.layerTree.ItemHeight = 18; - this.layerTree.Location = new System.Drawing.Point(30, 78); - this.layerTree.Name = "layerTree"; - this.layerTree.Size = new System.Drawing.Size(121, 97); - this.layerTree.TabIndex = 1; - this.layerTree.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree_AfterCheck); - this.layerTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseClick); - this.layerTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); - // // sideBarPanelItem3 // this.sideBarPanelItem3.FontBold = true; @@ -2135,13 +2123,13 @@ // this.ribbonControl1.BackgroundStyle.Class = ""; this.ribbonControl1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel15); - this.ribbonControl1.Controls.Add(this.ribbonPanel1); - this.ribbonControl1.Controls.Add(this.ribbonPanel2); - this.ribbonControl1.Controls.Add(this.ribbonPanel5); this.ribbonControl1.Controls.Add(this.ribbonPanel12); + this.ribbonControl1.Controls.Add(this.ribbonPanel1); + this.ribbonControl1.Controls.Add(this.ribbonPanel5); + this.ribbonControl1.Controls.Add(this.ribbonPanel6); this.ribbonControl1.Controls.Add(this.ribbonPanel4); + this.ribbonControl1.Controls.Add(this.ribbonPanel2); this.ribbonControl1.Controls.Add(this.ribbonPanel7); this.ribbonControl1.Controls.Add(this.ribbonPanel3); this.ribbonControl1.Dock = System.Windows.Forms.DockStyle.Top; @@ -2192,10 +2180,10 @@ this.ribbonPanel6.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel6.Controls.Add(this.ribbonBar6); this.ribbonPanel6.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel6.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel6.Location = new System.Drawing.Point(0, 0); this.ribbonPanel6.Name = "ribbonPanel6"; this.ribbonPanel6.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel6.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel6.Size = new System.Drawing.Size(1328, 95); // // // @@ -2212,6 +2200,7 @@ this.ribbonPanel6.StyleMouseOver.Class = ""; this.ribbonPanel6.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel6.TabIndex = 38; + this.ribbonPanel6.Visible = false; // // ribbonBar6 // @@ -2236,7 +2225,7 @@ this.buttonItemGBJC}); this.ribbonBar6.Location = new System.Drawing.Point(3, 0); this.ribbonBar6.Name = "ribbonBar6"; - this.ribbonBar6.Size = new System.Drawing.Size(427, 59); + this.ribbonBar6.Size = new System.Drawing.Size(427, 92); this.ribbonBar6.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar6.TabIndex = 0; // @@ -2322,7 +2311,6 @@ this.ribbonPanel15.StyleMouseOver.Class = ""; this.ribbonPanel15.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.ribbonPanel15.TabIndex = 35; - this.ribbonPanel15.Visible = false; // // ribbonBar20 // @@ -2449,6 +2437,7 @@ this.buttonItem4.Image = ((System.Drawing.Image)(resources.GetObject("buttonItem4.Image"))); this.buttonItem4.Name = "buttonItem4"; this.buttonItem4.Text = "删除"; + this.buttonItem4.Visible = false; this.buttonItem4.Click += new System.EventHandler(this.buttonItemBJ13_Click); // // buttonItemSJGL @@ -2780,10 +2769,10 @@ this.ribbonPanel1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel1.Controls.Add(this.ribbonBar21); this.ribbonPanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel1.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel1.Location = new System.Drawing.Point(0, 0); this.ribbonPanel1.Name = "ribbonPanel1"; this.ribbonPanel1.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel1.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel1.Size = new System.Drawing.Size(1328, 95); // // // @@ -2827,7 +2816,7 @@ this.btnOutputJPG}); this.ribbonBar21.Location = new System.Drawing.Point(3, 0); this.ribbonBar21.Name = "ribbonBar21"; - this.ribbonBar21.Size = new System.Drawing.Size(514, 59); + this.ribbonBar21.Size = new System.Drawing.Size(514, 92); this.ribbonBar21.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar21.TabIndex = 2; this.ribbonBar21.Text = "浏览模式"; @@ -3128,10 +3117,10 @@ this.ribbonPanel12.Controls.Add(this.ribbonBar18); this.ribbonPanel12.Controls.Add(this.ribbonBar13); this.ribbonPanel12.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel12.Location = new System.Drawing.Point(0, 0); + this.ribbonPanel12.Location = new System.Drawing.Point(0, 33); this.ribbonPanel12.Name = "ribbonPanel12"; this.ribbonPanel12.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel12.Size = new System.Drawing.Size(1328, 95); + this.ribbonPanel12.Size = new System.Drawing.Size(1328, 62); // // // @@ -3170,7 +3159,7 @@ this.buttonItem132}); this.ribbonBar18.Location = new System.Drawing.Point(508, 0); this.ribbonBar18.Name = "ribbonBar18"; - this.ribbonBar18.Size = new System.Drawing.Size(75, 92); + this.ribbonBar18.Size = new System.Drawing.Size(75, 59); this.ribbonBar18.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar18.TabIndex = 1; // @@ -3222,7 +3211,7 @@ this.btn_check_history}); this.ribbonBar13.Location = new System.Drawing.Point(3, 0); this.ribbonBar13.Name = "ribbonBar13"; - this.ribbonBar13.Size = new System.Drawing.Size(505, 92); + this.ribbonBar13.Size = new System.Drawing.Size(505, 59); this.ribbonBar13.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar13.TabIndex = 0; // @@ -3297,10 +3286,10 @@ this.ribbonPanel4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonPanel4.Controls.Add(this.ribbonBar1); this.ribbonPanel4.Dock = System.Windows.Forms.DockStyle.Fill; - this.ribbonPanel4.Location = new System.Drawing.Point(0, 33); + this.ribbonPanel4.Location = new System.Drawing.Point(0, 0); this.ribbonPanel4.Name = "ribbonPanel4"; this.ribbonPanel4.Padding = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.ribbonPanel4.Size = new System.Drawing.Size(1328, 62); + this.ribbonPanel4.Size = new System.Drawing.Size(1328, 95); // // // @@ -3338,7 +3327,7 @@ this.btn_document_info}); this.ribbonBar1.Location = new System.Drawing.Point(3, 0); this.ribbonBar1.Name = "ribbonBar1"; - this.ribbonBar1.Size = new System.Drawing.Size(200, 59); + this.ribbonBar1.Size = new System.Drawing.Size(200, 92); this.ribbonBar1.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.ribbonBar1.TabIndex = 0; // @@ -3597,7 +3586,6 @@ // ribbonTabItem9 // this.ribbonTabItem9.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; - this.ribbonTabItem9.Checked = true; this.ribbonTabItem9.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.HoverImage"))); this.ribbonTabItem9.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem9.Image"))); this.ribbonTabItem9.Name = "ribbonTabItem9"; @@ -3618,6 +3606,7 @@ // ribbonTabItem14 // this.ribbonTabItem14.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; + this.ribbonTabItem14.Checked = true; this.ribbonTabItem14.HoverImage = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.HoverImage"))); this.ribbonTabItem14.Image = ((System.Drawing.Image)(resources.GetObject("ribbonTabItem14.Image"))); this.ribbonTabItem14.Name = "ribbonTabItem14"; @@ -5959,6 +5948,18 @@ this.pictureBox1.TabStop = false; this.pictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(this.pictureBox1_Paint); // + // layerTree + // + this.layerTree.CheckBoxes = true; + this.layerTree.ItemHeight = 18; + this.layerTree.Location = new System.Drawing.Point(30, 78); + this.layerTree.Name = "layerTree"; + this.layerTree.Size = new System.Drawing.Size(121, 97); + this.layerTree.TabIndex = 1; + this.layerTree.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.layerTree_AfterCheck); + this.layerTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseClick); + this.layerTree.NodeMouseDoubleClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.layerTree_NodeMouseDoubleClick); + // // MainFrm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; diff --git a/MainFrm.resx b/MainFrm.resx index ea7021a..648fcdb 100644 --- a/MainFrm.resx +++ b/MainFrm.resx @@ -351,142 +351,6 @@ 766, 54 - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 - NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 - iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z - zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s - hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa - BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n - WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ - BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY - s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn - ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg - 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef - rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q - qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK - Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 - RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE - NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM - 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t - lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl - DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q - rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th - pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S - T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt - SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ - oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND - MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 - l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg - S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj - CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X - 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF - 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu - F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee - SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 - 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY - VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 - 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 - edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA - S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw - p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if - SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES - 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U - IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL - 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze - r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq - nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 - Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R - Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 - nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA - AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 - OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy - BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F - mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd - v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul - AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj - dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg - 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 - OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -1742,6 +1606,219 @@ TJ65mM1/9adCvki+8p7nYPunBqvfgM/pcrxVz6sAAAAASUVORK5CYII= + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 + RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC + MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL + ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH + s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW + uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx + xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd + iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ + qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW + GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE + NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n + KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw + qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI + HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq + wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q + 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF + MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n + W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 + eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv + 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP + I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f + n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV + x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et + V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD + D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u + 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n + z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V + rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ + 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm + oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 + ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H + 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 + REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC + RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo + KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O + 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd + rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o + 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C + s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 + MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI + jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs + FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm + LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml + CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV + hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q + bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX + YCSg/AAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + 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 + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw + RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL + SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 + 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P + zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 + 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj + L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 + RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf + nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P + 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj + ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G + xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H + dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 + LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob + gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 + ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi + UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd + XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 + 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN + jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF + Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn + ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A + AAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -1913,6 +1990,292 @@ R2K5fxKLWbbp/7Dc0CBY8Q+pPmOq0VkzzQAAAABJRU5ErkJggg== + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 + RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG + UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe + 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 + wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm + RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm + pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH + oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ + ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU + jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm + 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 + RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT + 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 + VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn + KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 + A2MdqQeVc5pWAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF + MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN + yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc + c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg + 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 + cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 + ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw + O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD + nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz + 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn + k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I + 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df + WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs + T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda + SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy + NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6npMy1AAAGEUlEQVRIS7WVeVDUZRjHf7Ase8ECu+wl4LIXcqyyHC783AWW + 5QaRFTHkMi9SQvE+UhLzwk0BUcQSgQBBgcYDzStMSzOPcpqcmo5pmqk/+rOapqb+iG/PbzfFcSz/6pn5 + zPN739/7fp/nvZn/3TSLjj+XJy2/RaItPCT5vaBd8m1+q2Qku1lcrcvki+iXr7fFU6ZZeOx5KDU1b7jU + 1Z2bVPMPWNMbRXrXkWAc+ywVLbcS8fKwFjlu8VdpW0XzSc6f8PEIPzJ19dFnU3WEJdHL9P3X9O1nkdB8 + CQrX7i3mKn9zfqsUq29ZsPfjRBx5aMO2cTMy94gm7FuF7XyJTwDJTo5GVdHxNALVgsPd5Ceye+9g8b0f + UXbjB8RtH4Msd+MeXS7f6twjxbILZiy7pEHDtTBsvG7BqivTUXpsClLWCbtJNpDwBlGVH3ySIFV520eW + nedRcf0HVJGwbeRrOHs/h2n1CGRZDe7wND/W1hiI8sEYlJ4KRcVpJcrfVqByNBILhqLh3KeA+UXBOpL2 + jkRZduARPGXZ/vH4pnMou/gd7INfIPn4QyQc/RSOzk9hrBtEiKPerUn1Y5PXBaDojWlwdgUjr0+G/H4Z + cnpCUNJrQNZ+LeLrBD/LYnixFEDAKFz7vJQ0r49dO4zikS8x8/ADxLd9jIT2B5ix/z7SX78Pw+K3EJy2 + wq1M4rEz6sRwthgw82Ag2KNS2I5JPZ4rZx00ImGNHIZSfisFkDGhxbs5AkKLd/3kaLkDlgTjXrsNc/Md + mPfeQeyOD2HbcRu6yi4E2Wrd8ngeG71IBPtePWa4JUhsD0DykQAkHQqApUWCFLcGyZvDoZ/P/5oCTGXk + hU2MvGB7rbGmG47dd2Fa+x6iX/kAMa/eQvS2m4jaeAPspvcROb8TQexid3CcL2usFCJjnwE5nQYU9RhR + PGDC7D4TCrqMyDqkR9oePbRz/SZEKh8rI8vdyshyXhmzLD8DS/1VGOquwtgw7glkXH0Nhvp3kbL2GrSl + hyC11ril03xZfbkQKZuVsDeq4NihRtYuDbJ2auBoUsO2TQXrJiWMlWIExflWMiHOjRzfJy0bg776HCKX + vANd7WXol1/xeN3Si7A2XIXW1YbAxAq3UO0zPTSd1yG38bplLK//vxBrffKY4PQ1HH9aKk8jonQUUyvO + Qlt9HtqaCx4/tXIMyXWXMXXOAQTEv+D2zCvDhBBTCN1zCGOCZq3k+DXO1YcpRYOY4hpF2LzTCCs74/VE + 3IvnEVd1EhGFblBbWot6BKXWQZq64tlYa2+TuJwQM9KU5cRL35hyOxCe2w913hA0hcPQFI16KRzxEFtO + a1Q9htSVN5C+5S5x7x/uIm3DR7CvuomUReOImt1FU7nwEolHECImMGkJE5i46EJkejNM+X1QOPqhzBqC + KvskVDmnJuHKT/K4bgjKzBMItXcjJv84NOwWiKPndJK40TOCgPgaRmIur1dZ1yM6txvyWT0ITR+AImOQ + gg39N1ybDBJP60PorC5My3oTwQm18FdNryBxbq0EJL6AEUTYZBTkF0NGKyKdvZDb3qJOAxSIOqcP/jtp + JyC3D1BSvYgp6EN4aiNlP/cTEk4gFASPEUeXkWd8RaY5jcrEBkTn9UCT4Q3gzfBfRvJE9rrsfpicHSRe + NsFXmJeSXhTBXXY+jMjk8uArVkpExuKb6pkbYJ7L7Ria37xTUBeMeCkcncRTN0z/TyLKNYy4khNQJq2G + IMLBXdUWQkXwCYYR6md7IPP1k8WEC3UFDzSpG2BZeAZJtXQWFpyls3HOC50JzkdQnbFqDInLLiC2rBcq + 6xoSzzzP+NDVwDBaQkx4XzahNv8xZH48sVotCHeOUnnCWNJG18Q4UjddB7vlfbBbPwC7+YannLTyIrS5 + OyHU5v3hr07poL7JBHe4Jh8bzgQROY8h46IKCAVfbi73D3PcpfoJlX0VtEVN0JXsQlj2ZoRaaynj7N/8 + NfZLPLFmHrXnpiWSCCL8iMl32T/M6YGMq+R+covD7QADwfoIgqt4QVGtfvIZJ4lRv5CY4zypbjfjy+eE + M4l4gtuSwYSQ4DS4EZAew/wNiCYQJlvQU3cAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlDMzFEOUI4NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlDMzFEOUI3NEFBRjExRTQ4OTA5OUYwQ0QzM0Q2 + NEI4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDk5Mzk2NTZBRjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz73sIMwAAADIElEQVRIS7WVa0iTYRTH56Uiysvm3TkvpLl5DRIvQYWVWl+6 + iNEVg0yhQqloQZHkLT+Y0YdAs75IpEUhzERZoZhsRpZlS7soblotsRwoxhqWeTrnYZtv+u7NsB74cZ5z + zv89/z17HzYRAPxXeIv/EpFXcOyi4BvKhfehv4FvKBfeh+ayqIUDlIgBgT8whpRYoT2fhgvNVJKBQT9s + hB8/QZDPpnEIjEhg0J5Pw4Vm0mwygG9T06BSqQQhTUhUMoRGpyxYT7OZwfhXC6jVakFIYzNYqN5uMGKa + BI1GIwhpghXJaJJi13d0dEB2bj74hsWzSDlXbzfQG02g0+kEIU2wIomdovzKdVifngnFFytBeb4cLN+n + WaSc6hfKKqB/eHTWoHfwExgMBkFII5MnQUD4WlAWloO26wVs35MDmifPmQFFyqlO/aKKqlmDp31DYDKZ + BCGNTJ4IPqHx8LJvACbNUw7p6e2HuJQMNIhhBuaHj3vBYrEI0tb1BoIiE9kJ9h7Oh7EJM+g/jEJuwVlY + s24ri5RTnfo5BedAIoueIYPumvomuHzjzm9cq2uCq7UNUH2rEarr7kNd0yP26Y+eKoSWtk4wfpmAg7kn + ITY5DUorq1g8cOQEqze3aplOEhRtJoMcL1mMTixV9IgD5a/tSBVDYql8AKOBQLEJtTP08gY/jjFiktKg + 5FIV21Ok3NazvmR2AvrFkCAJyGYk1comZAuHDM/AyLvHThfBveZ26NOPwI59eey7LsbhFCmnOvVJ5+Ef + rrYZLEU8EZ85+HLwW7ZCLMVTFWdkHoLut+/hgbYHaE9XN31XNsupTrWV3jKVs+uS3cyAD0cLe331jW3Q + qRt0CPUlQVHDKI+fN9iGo4W90uNnyuA2vvRtWTlQgxeg/dk7FimnOvU9/CNqUe47b7ANRwt7AfjpKvAK + Gt18Qur35ymhRfsKKLr5hN7EyzDq7humWrrcfSfKxbz/QlwcLDck1snZJdUzYHUDmk57+K1qdXJyzsL6 + RmQD9ZmObygXB8sVIRO6fXQB4hC6eRQppzr1XXmHclnAckFomLc1Um5dItEvhZ97MQXP9N0AAAAASUVO + RK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhDMTdBQjRENEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhDMTdBQjRDNEFBRTExRTQ4QjQyODY0MDNBNTJE + NzNCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NUQyMjc4QTlBQjRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz4eHsDfAAAB00lEQVRIS7XVWytEURQH8HniTTNHLs0NCXNcXjTN5dH9g/gM + 3jx590QhFDJS0gyTGmpqaqJIMW4hzlAoOaWISS7LWifntI3ddnTGrl92e/57/We/DBsA/CvuYSHZSr0t + lvCGsriX/oI3lMW9lM/SwgF9SEHwizs08IX2vAyLZvZRgXJ+cQWv7yB0q96Ds86voT0vw6KZNJsK4Pnl + DWKxmBBlqhpDUN0UNp2n2VrB/WMOEomEEGX0ArN5o+BGfYB0Oi1EGa8cwpKw6bxRcH6lQiaTEaKMVw5q + rzCbNwr2z65BURQhynh8Qe0VZvNGwdZBFlRVFaKMxxfQXmE2rxc8rW3sQy6XE0puHoG7IaC9YnV9j5th + pbZPqOCDCrbH5uIwOD7/zWgkDkNTizAyuwQjkWWIxFNQWduqmVxI/MiPz6/A8HTUuDMTTYLkbrqhgt5S + T3PG4ZJ3HE7focElZx0u3yn+VQiG1ZLymmm7s74f88f42S6bl9zyJZ6d6Xckd+Mt5ieogH4xJORHHajt + SzvqZPSgECpHZSiA2DztuxBlad+NgnpBEbIjusiiYboKRF+kGFHegUR5ImkFv7G0eAPzWVq8gfksLd5/ + oULiHhYS97BwwPYJlSCUgVubViQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJEMDQyOEZBNEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJEMDQyOEY5NEFEMjExRTRBN0MxRDBCNzJGRUND + MDEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkRDRkI1RDVEMTRBRTQxMTk3NEFD + QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz59jfe3AAAEbUlEQVRIS8WTeUybZRzHF48/pnFOuQRajkFLgQFb5iRLNJr4 + l/EPgsniUI4xZDAY1zyxwApsMJyIME61rByl3DfoYGBrgbWUY06FcZSCha4rQ8jYxkqPr2/fvkv8o2Sg + S/wkT970eb6/T5/39z7Prv8dt/Oql4mR4HZJ3ccoXFxhVCzB9DT9JueJdSq6c1wzVZFupepVzxu34XVj + CaEDi1jX6hF8ZQoeokl4iBVwzV9YdU1XRlIl28eVo8phCdXwGltEeOUsro6psaHVwcSDh5volc4iOO8X + 7KuVwb1hEi7J8myq9PEQO//I85oafr0KtEpUpNSETm+AwWDAvfv3YTQaybnm/t/AyO6Ga+UonJOnIijF + 1hA9tWI2qle9RxcI+RIpmZpTIfBULhIyyqHVahHPKcN70TmYnFFCp9OhqXcc9KwW0DOHVl3YU1aUyjJu + F1SpfhO3EM6bMMsVt+D8Zhz2HIpC4oU6bG5uIu4cD3tfTwAjIBNypQYbGxsISquBU34PaDHiVEplGXee + SuIjVaBv3Lz7gJg8vHg4FlZvc+ATVoLipiHsD8qCXWAO7IPK8MG5FjLXKboOeoYADkldUkplGWb7vOb4 + 4BzxIXXQE/1m59WDXdgBvxPfwz6UC4eQUth/WIBDZ2qQXj+K7IYRImeE5s5fOFrcDPvPapcJzVNmmwVY + VxWG9U09uau1tTVymPpc0iYFLew7OEUJ4BwtALfvJpl5xMrKCu6s3cUrn5YbCM1us80CrJZZVWjXr7j3 + 4CE0y8v4IrcaH+cK4Bv+DRyPl8ApphYuia3wZ3eCUzOA1PIfcVuzjHnlIgK/vgy7mHzTG+w12yzA5E53 + edYPo1c2i/X1dQTEfwvbwDQ4hhXg8OcN4P48Df+UTrgkNIAeW4Hg3Hbo9Xq0iGSgs4ls5CUhoXnObLOA + S8pkhG/bdZzgDZJnffT3GXieLAA9XgB2/RjZjuQqMWhxfBw824H55XWyhcfy+HDNqoB1SH4Codn6G7iw + p3d78EaVPlXX0CaZgkqlgly1gpCiK0htHCH/IL6oFcEF3ZjT3CUvXqv0DzDSS0FPq1a/8EbYS5Rqa+if + SAJ8KoeNR7gitEsnoVQqSbGOkJmYX1ggxaY70SabwIGMUrjn8I3WIXnBRPnWu/8nDnE9Sd7cAaP/ZSES + 6/rRKJRArpiHXC7HzekZNIukiCyrhW9mGZgXa4w2kUVnibJnzdXbxP5URzyDO4QjxGl5i9uNpMZeKP5U + IrywAq9yCnGAOGGMonbYxpVnEPGdyR9BO/MTj8kfgXeNFPt5IngVtoF1kQ9WcTs8qgfgmNreQMS21xZL + 0E6Ln6ef75tg8sfgXT8O77oReAkkYNXJ4PRV/4ztyfo9VPTf4xjdf9CpQKzdxxuGe6UMbhXEmc8V6mze + r3qNivx3HGN7UmglQ6CVDMIxXwybo5UcaunJQD8te9rhyx4JrWwItlGNUut3y5+hlp4cDhFCpl14k9jq + nR+Y1NTjIe7NlmMnWKoHsOtvjWYcKpheqFQAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERTg4QTFENEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERTg4QTFDNEQyMjExRTRBODEyODk0M0RBMTc5 + Qjg3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjJGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6wJF34AAACl0lEQVRIS62Vy08TURSH73/QhQtXVnBhxEcMiUkhbEg0hB1R + Q1i68C8wIW5cEqMLN7ho2Ji4YiEhWq0prYUhfULbadN3obTaChobtZEUsFY9nnPS6WM6HYowyZf87j33 + nG/amaai9geOBYA+4pTxihmBE8DcTQB4J8em/9IwSQyagmrtL+z9rMFmvnhkKvtV7tcVHPz6DVsftulA + AckdhUg8zf19eoLKAd597iMLMItewfOxUDTN/bqCH3tVSG8VWIBZ9AoJApEk9+sKvu/uQ2IjzwJkGtH8 + OrTwy3Hu77vIAnV9mgWlcgWiqRwLjAMmkOMbPbNTKnN/JJntqJGEBZ++7oKcyLLgLN4JrU8Cms2C4pcy + BKKZumCI18temQ/8DzSLZlBmQX7nG/jCKdpgAa0driCtY5iFHuqHSjNoFtaags1iCdzBBG+QgNY2aZ0F + mIUe6osENAtrTUEq/7kDq9PHAszU5yYoq9f1i9cUSCD5ozxDEeTsrhAoONwyxLLb8MrhYQFmZYCHsnpd + v3hNgQROb5hnKIK29944MAThTBEWbS4WYBZ6qC/sKSy5ZJ6BGUQg8b4Bbhjod4AZXlhXWdBa10LrIVul + AM9ggS+aa6AIMMO8ZYUO0KeyIOMtZyaQpXpNi4LFucYzMINwhbMNcMNw5oIJMMNKIA0LNg88mZuH/ssj + dPgBMnN+cBRmny1wrRtSMMMzWCCFMg0UAeY2Fh0+GL5xG8Zu3oHXUrCj3g0WONdTbeBm21/o1N17gPtg + 98Xh3VoS3qzKMDI22agfglnY/Uld8NDc/ZlZwAwvl4Ngun6LGh8rdfVDViNs3rguOOzq6XOD8PDpc7g2 + OkHDH7XWtYa2It66Y4eCQ8cRfpvUNa2hTUD8A6JMaBvCyTdJAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl + LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi + Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv + cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE + RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 + cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv + bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw + ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w + TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC + MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw + Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N + OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE + NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC + NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ + eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo + cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 + p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D + frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua + BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO + Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O + eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e + x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa + mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM + FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF + 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH + 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn + DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH + ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -2160,369 +2523,6 @@ 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkUzNzJDMjE3NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkUzNzJDMjE2NEFENjExRTRCNjE0OEVEQzI4MEM0 - RTZDIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI3NUQ0QkNENDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6PyaLfAAADMElEQVRIS6VUXUiTYRT+vi3Tzd+ps23+3KRigtiPkolEQReG - UYTkhWatpWlWGkRdddfdSPImqUAJjSIT00oxLJIk0cR+tFSyzDJtgaMkDEPkdM7ZPvm2vS6jBx6es3Pe - 8zzvtm+TohLS/ov+AACStLgEQuJyLRJWYK1yzh/+FgCoQrpnfM4fOGBhcUlIMkEVkma4H4i1y2kFcMD8 - wqKQZILKZqTqmlTAWrfvMjhgbv63Dwm0hLWQohn1eNEbzrlfPiTQAtZCKjP1GXdAIC+r4XD+9CGBFrDm - RVJ1re6pZ0GyHHMvIawauYVNCFPfvvuQQAtYC6meKXU0amNsaGN/ZR60xIf9aIgN3cpGE9OzZCZ85nEm - pGiWlLABmuJCnUOXrNB7chdct4TUo32ANDbp4NuielDpqWfePdaPX6GrohSK4uLhlCEo96YlZLbOFHzH - oJXjMSBcGn4/zQGovEDqXXtzeTb+BTrKj0J3+Q54djYP7EZdTU2MPjFSK8eieQR9QtLg6GcOQPWgqKeQ - ZyOfoK30CDw+lg2Ot3Z4VLoNqo269mCNHIa2WjYn9A1PcAAqU6m9VV3TF9psOwwPS3JgZugCdNoyocwU - jU+RlImWBpezGz0vxzkA1YOiHvPFO7Ca1kGHLQtmXp2HdutmqN+/F6JiU+h3kOpyVeHJwBgHoLIpqajm - 189HoaG4CNqsGTA1UAWth9Lg6r490PygGyLjUikgzuWqQlffCAegelDdUwLqigqhpXgjTPYeh+bCFCg2 - RkEk3vxuVz/P0c43oLP3DQegLhspNalSFxiNcLswHT48LYNbBUlQk7ebzenmyhm08w1o7xmiAP6hRZiT - 70eYkzpctUuJWdHmwWs74+F1Uz7cyE+E4ohQB5mHm9a3GywpTXzektyKduIAIsKI3ISkL4rIdYle05C9 - VrZVBmvtl7eboUyv7V4jSQdwRn8FdI72iErtCUxnIuifkJ5hUqUOq9Jr7OeCNU6bTpNVqtMcDJSldOwn - KnOk+jypJ5QANRWc0cs5SEelXr54QidfwVYAMoiHq4W/gNM6OaNCJ+diaUIqN/43+Atwg27t+9ZXBUn6 - A2MdqQeVc5pWAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUzQzNGNDI5NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUzQzNGNDI4NEQyQzExRTQ4QkE1QUNCMEVDRDZF - MDVEIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkI1NUY4OTYyQTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6IsaOmAAADF0lEQVQ4T62U/UuTURTH+0nICqRI1ERMMyNQe8N0ChqBwQhN - yvwhEgJjVCqJ/qCibZo6tzQ339h6Nre5prapUzc1XzItX1ilzuWMLLVAen+xf6DTuTxjdxsFVj58ebjc - c+7nnud7z3228DbpIaDFH/CfoqCn72DIDvNfPDM2KAqyr8PcJxqY+QBTb8kkjocXQTsKigGwfqYJHqIg - 1OxHGHvlWPx4hXB1YyA3g4CBhqst+piEnrDA3rA95vBAY1x8d7lq/DVZwm5PQZNvoKYdypSgHgbVEIh1 - cLOZzOCbSSsyRQRba6uWtcpVLbPcwlglInNUCJNWWKqABqMLCGvGlfpJELaQ/V1Vd1lujAhe0chtUrH5 - ZExnmJ85MdomEa+qZMbIEF2BHGunILSjdZwYgTt4gJqjjj0Rltml1Zq9AeL0Mn71Wn2mtDU80MIvsFTw - O+KPIoWC8BNYRIUaqrRQroJKjQOk9N+xLBF2pXJFKfnsDGYa8gS6xOO2whyMuoHaHpGzZ/pBM0IMrtXD - nT4HqNHXe0lYoogMFeQP4jbSDkCPTUyXmnNoPutSo+9WN5DEQDyeWCWnhqm4p7Oimt3b54rzmmKPVHKz - 0Xg0AU1pz87VJp+yXOfd9t3mBmLXsGrsJhSsDtF4iOWxKdpzyQNnuRW7vEUp13obFG05OVUBPtO5V1Sn - k5q4SX8ENfWA6C7xHsP981Bb2sf38ZKd4JhSuXUJHPHhg/WJnAeZFw0Xzt/w8erRtLmBnB/CSmaC599I - 2PYVRl+CXigu3R9SfCC0Pf1MZ1oqvqvjogX7gtRFJfb1n24g7GblfQcFP2fkBYm5anxqQcbLKgzyK/Df - WRTkV5+RMTg84ZrgAOHo4ZIDVNdJw67CpsVLZ5gifj97Typlq2ZFQXj8LKh5EHpnaIar8N+Al5l9Y9Vs - T7OiIAzjqaMsa6QJnBkeWvgOHdPkAuIV67PSeQpCYYZplsZ+KyyWLRyFF8D553EDbURY770J0rrYJbda - SYE4iWb9NcgpRKDrOMAWwYP6d5BTaC52zyaAWDlAm/DweL8AX9zXukfxHsIAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - 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 - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOkVGN0NDMDNDRTA0QUU0MTE5NzRBQ0FBRUI0QjM1 - RDZFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFFRUUzNDdFNEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFFRUUzNDdENEFGMTExRTQ5M0I5QzUwRjVCODdC - MERFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkI0NEVFQkRFRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RUY3Q0MwM0NFMDRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Ym8PVAAAC+UlEQVRIS6WVbUhTYRTHr5tuc073YoSmmyuwNPWLKdaHEgpL - ISg/VB8Ugj5oRi9C9iEDe8UKMzDKKRVIRfRCaR8Ko8xEK6PMbDInmqlroKit+YYiejrnaa47dreye+DH - s+f8z/M/57lw77jPV3Wi8BcAwHFtFdqlgqe4IERCe3/BGrwv1y4VIPC8CpEwJx/BGrRc1PwrAYjsTZkW - uh6vBPz91yaswatzal8oXp5R72k4q65FBnEPjaUasNTFgfNrGpjvxQDl0MdnE9ag/mSYF89KwnbiOvCx - xgj9zSkwZk2HKXsWTH7PhElbBoyZY+GHJQU+3dID1vm/yZPiUA/qjocewHWhr2kdTroZbO9SoeNBLDRd - iYCnpzTQdjsGRtqTofVmNGAdaFesAV30WgjXJ0K4IanSZfsnHhap3Nw/qsrFdWEQTTtr46G+dBncLVRZ - qvJDTBuSjdDd1QG1xWpoMUUB1oG1uwcGbHZwOCdgdm6eGtBtPOPO4ZBFopDxL48SANf5qjxl3aEseTaW - GDSRq2t00fFsUtQYGpxcGxUHOn0CM3ajT6z+7eyKG/uVjOv5StPrKiNU5ym78zPkO1EyIMuRMB1e/+fE - NIxPzQDWQu+3AcbwqAMmpmdhambOjdctru0LJpTIeMXe4IYkgzQO05GIGpHjRCb+hNSMbuI1OR/+LS7n - KrhLOYrs8hxFe5JeasQUTR2CSEmjA2POaTcjjkkYGnWylZ/nQ2fIm8WF3XLu/C552ZGtsjTc0sdFiUiw - qNI90f9TyZ3OlnElO2QFaEpTk7mUclRgG3aIgjy4E9tlXFGmLBWNFUgg7QkS++yjomANjm0L4vI2BWrI - HJHQniDR2j8kCtagcEsgt36VhF7zAIL2BInmXrsoWIOD6VJBSGzrGhQFa1CwUSoIia3mPg8o5w+henwq - wkFic3uPB0K5RXzVu+y8g8TGD1YPKOcPoXqXnXeQ+KLV4gHfTAihepedd5BY/7ZTFKwB/a3xWQwURX8q - 1BGxz38BvCwLsyQ3iHgAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJBREU3RDk2NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJBREU3RDk1NEFCMDExRTQ4OUM5QjZFOENGQzJF - MDk1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEM5Mzk2NTZBRjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz52g1XsAAADeUlEQVRIS62Va0hTYRiAXzVNoQs6oUCttJu3aqatrLxr2k0n - W6bLLlLSxTKCKLoQQUg3IbLMflSgBRGRP7JSSzGnWalYdpnV1MQu1tBWWklqvr3fp2dsOytSfOFh3/l2 - eJ7tnDMGkkmzGCqigsARhPlUQqCi8nEd9v7GEYP5mFcI4K/e/hGHeQ2B7p4+1HV8Nf6Kw4a5GGxtCHzv - 7sU2nR4lbr4/AUBFKIeD4GKYBL79+IX6rm622U8nSgnX4SC4GCaBL50/OXwTwIUY1ohcQkCn/84ZDLBP - I5p16TBl7XYIoaXVwI54RC4h8LG9k/OvQPIOmEZUJW2F+XRoPbBrOiKXEGj9rOdYCqi2gxXhnLQNIo6f - n9tEa7ViI79PoojIJQSaP3RwjAOJaSAjjhL3N+9zrD+W499UVJnSeeVmWDvtlcWlgCedZnK5RC4h8KZV - x2FryQSYmrAVjh/MnP46/57yS7VmZ9+zxr1Yr92NtQ1pWFmfiBevL9QpUqE0JhHcyWuImLsMAU1zG4et - V6yHC1l5oe+evNmD1ZoteL9OgaW1K7GkRoF3H8ZigTocb5bFY8bZWbpoFVwh7yiCR8xdhsAz7XuOh9QD - D2R6twyIEzG/JApz88N7z+T5d+VcDezKL43Ea4UxeCjTqyNUDpUBYeBFXjvjgOAyCdS9asXDJ3NQFj3u - 7eWCyG/FjxR45OyMr6s3S1qCYqE8RA654Uq4dOiUV/v+E9P0i1ZA9Zwg8COnA2HyDZiLYRw4dyAjC50n - z8awBBvNbbWyZ+8x10+By+GONARCbe1gDBPJloCvfKODluQ10mD+qDK5LWFyD6pfvOUYBzydXL0v2I+V - rI9Mhud5BQE9i+RQPt2P30BBYrM4HmYSNf5REGS0b5CzYdKq+iaOITA44wmPiLXwaFfGhDbZMkinYxNJ - 8CpwXxgHobQcPbhv8XegrtNyzAPsOtqHJUPeml1jm/1jYDkdM5G5hB3bDL6KhknLal9xzAN8gpMgVZHm - oKUAuwx29H420c9O/l9KHms4bC0KLFCAY6CSHr+VoHJy88lWbEjHoqoXWPzw5ZCxGKCxkslBLo22L1+6 - ahPeUj/FwgfPh8zpSzfQ0cWrwVKAjfXcWFjjPm9isWSSbx/7JEPF0cWzcYzE7dTfAmysfSLB2z0Awm1H - 8ycnjrD4N/kX4gEg8A9sAFSe4VuPvgAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzN0Y5NjgxNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzN0Y5NjgwNEE5MDExRTRBMzU1RUM1MkVEQTU3 - REQxIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUU1QUVCQUI4RjRBRTQxMUI2QTlC - RjEwMkVGQzEyNEEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz4Oz1B+AAABO0lEQVRIS7WUP0sDQRDFt0snIcEiklhGJLH3k6bNp0ifYCUo - KWwMIRCx0EYxEEL+IOPO4SxzczN7d7gGfuzd7Hszd9nHOQD4V9RiStRiStQi0b68GXkgwkjzcdQigU1O - 32CC+9IjUYsENvjY7EySDHhev5skGXA3X5r8aYA3lx0wET1otYgmNMcOku+jXtMg4QJFJMb1a7uPmjUd - rVzHDfDy9pmJaZViCe5rPq7hYpgvXjPw2hNtTqBOevk+F8L0YRGQQosyHxfSf0jUegPLZwkrNedYfi6o - 9Y2RWP6cACPHYnf4XauQablfHYAxo6jt9sfwRGWgVvrVASKmdd7g2OoN4P5pVYhqbgCPmnPuzHPtua1C - s9OHyeyxEFU+IJcCb2p4zj3dKjQvrsat3jD4CwNCIcEv14/fpAfcDwXsled4Tu6+AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjlGMEQ1RDBCNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjlGMEQ1RDBBNEFENzExRTRBNTYzOUQ5RUQ0RTQ0 - MzBCIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzFDMDRERTRENjRBRTQxMTk3NEFD - QUFFQjRCMzVENkUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6zemTaAAABh0lEQVRIS7WUvUoDQRSFEwiBKPEHsRAkb+ArWIsv4CNYCSKI - jRD8a1S0m9QhdTobG5uARZogBJSkiLASFJJChQiRcJ2z2bnMZtbxCnrhY3YO556z1aSI6F9JFP+SRBEs - FFaUhoSopAyQKGIBi58jEuErcQSAhY/hyP5DL8Y7mQMcAcD8Phh+u2Tzk9cRAMz914G4wOd1BABzt/cm - LvB5HQHA3On2xQU+ryMAmB8en8UFPq8jAJjvWk/iAp/XEQDM9WZHXODzOgKAudZoiwt8XkcAMN/U78Ml - CcY7mQMcAWhz+FRc3zZFREXypwKYEiG/e+ykc1WYVRrCGUk8nGUHsyic6nKeetUK4dTESjjLDjZUlqaV - hiS8lEsh0Z1LTFYs2FBazFFwcUzB+YE+T8bffD+i4LRIwSV0jdZaO5vhHXtRPmfFgg1n81mlIQnt/W1q - bKyH34dz2XKUz1mxYBaFU5zJUG1tlXDu5TMcjuEsO5hF4exOpZWGtnLpWDiGs+xgFv9gxlmU+gIVyyIX - YCSg/AAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVENUYwQThBNEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVENUYwQTg5NEQyOTExRTQ5QzUzQzdFMkFGQkQy - NTA1IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MkRGNkEzOUYyOTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6npMy1AAAGEUlEQVRIS7WVeVDUZRjHf7Ase8ECu+wl4LIXcqyyHC783AWW - 5QaRFTHkMi9SQvE+UhLzwk0BUcQSgQBBgcYDzStMSzOPcpqcmo5pmqk/+rOapqb+iG/PbzfFcSz/6pn5 - zPN739/7fp/nvZn/3TSLjj+XJy2/RaItPCT5vaBd8m1+q2Qku1lcrcvki+iXr7fFU6ZZeOx5KDU1b7jU - 1Z2bVPMPWNMbRXrXkWAc+ywVLbcS8fKwFjlu8VdpW0XzSc6f8PEIPzJ19dFnU3WEJdHL9P3X9O1nkdB8 - CQrX7i3mKn9zfqsUq29ZsPfjRBx5aMO2cTMy94gm7FuF7XyJTwDJTo5GVdHxNALVgsPd5Ceye+9g8b0f - UXbjB8RtH4Msd+MeXS7f6twjxbILZiy7pEHDtTBsvG7BqivTUXpsClLWCbtJNpDwBlGVH3ySIFV520eW - nedRcf0HVJGwbeRrOHs/h2n1CGRZDe7wND/W1hiI8sEYlJ4KRcVpJcrfVqByNBILhqLh3KeA+UXBOpL2 - jkRZduARPGXZ/vH4pnMou/gd7INfIPn4QyQc/RSOzk9hrBtEiKPerUn1Y5PXBaDojWlwdgUjr0+G/H4Z - cnpCUNJrQNZ+LeLrBD/LYnixFEDAKFz7vJQ0r49dO4zikS8x8/ADxLd9jIT2B5ix/z7SX78Pw+K3EJy2 - wq1M4rEz6sRwthgw82Ag2KNS2I5JPZ4rZx00ImGNHIZSfisFkDGhxbs5AkKLd/3kaLkDlgTjXrsNc/Md - mPfeQeyOD2HbcRu6yi4E2Wrd8ngeG71IBPtePWa4JUhsD0DykQAkHQqApUWCFLcGyZvDoZ/P/5oCTGXk - hU2MvGB7rbGmG47dd2Fa+x6iX/kAMa/eQvS2m4jaeAPspvcROb8TQexid3CcL2usFCJjnwE5nQYU9RhR - PGDC7D4TCrqMyDqkR9oePbRz/SZEKh8rI8vdyshyXhmzLD8DS/1VGOquwtgw7glkXH0Nhvp3kbL2GrSl - hyC11ril03xZfbkQKZuVsDeq4NihRtYuDbJ2auBoUsO2TQXrJiWMlWIExflWMiHOjRzfJy0bg776HCKX - vANd7WXol1/xeN3Si7A2XIXW1YbAxAq3UO0zPTSd1yG38bplLK//vxBrffKY4PQ1HH9aKk8jonQUUyvO - Qlt9HtqaCx4/tXIMyXWXMXXOAQTEv+D2zCvDhBBTCN1zCGOCZq3k+DXO1YcpRYOY4hpF2LzTCCs74/VE - 3IvnEVd1EhGFblBbWot6BKXWQZq64tlYa2+TuJwQM9KU5cRL35hyOxCe2w913hA0hcPQFI16KRzxEFtO - a1Q9htSVN5C+5S5x7x/uIm3DR7CvuomUReOImt1FU7nwEolHECImMGkJE5i46EJkejNM+X1QOPqhzBqC - KvskVDmnJuHKT/K4bgjKzBMItXcjJv84NOwWiKPndJK40TOCgPgaRmIur1dZ1yM6txvyWT0ITR+AImOQ - gg39N1ybDBJP60PorC5My3oTwQm18FdNryBxbq0EJL6AEUTYZBTkF0NGKyKdvZDb3qJOAxSIOqcP/jtp - JyC3D1BSvYgp6EN4aiNlP/cTEk4gFASPEUeXkWd8RaY5jcrEBkTn9UCT4Q3gzfBfRvJE9rrsfpicHSRe - NsFXmJeSXhTBXXY+jMjk8uArVkpExuKb6pkbYJ7L7Ria37xTUBeMeCkcncRTN0z/TyLKNYy4khNQJq2G - IMLBXdUWQkXwCYYR6md7IPP1k8WEC3UFDzSpG2BZeAZJtXQWFpyls3HOC50JzkdQnbFqDInLLiC2rBcq - 6xoSzzzP+NDVwDBaQkx4XzahNv8xZH48sVotCHeOUnnCWNJG18Q4UjddB7vlfbBbPwC7+YannLTyIrS5 - OyHU5v3hr07poL7JBHe4Jh8bzgQROY8h46IKCAVfbi73D3PcpfoJlX0VtEVN0JXsQlj2ZoRaaynj7N/8 - NfZLPLFmHrXnpiWSCCL8iMl32T/M6YGMq+R+covD7QADwfoIgqt4QVGtfvIZJ4lRv5CY4zypbjfjy+eE - M4l4gtuSwYSQ4DS4EZAew/wNiCYQJlvQU3cAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkVGNUQ0RjNENEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkVGNUQ0RjNDNEQyRDExRTRBQ0ZFOEVGNkU4Rjcw - RkEzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzUxNUY0MjEyRDRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz7jldwbAAAEyklEQVRIS6WWDUzUdRjHoeXWVktIc74MLREMUxBQV4RYkBmL - SBwSoZIFCgULlOJFDJDxqkiAqGgoiIQ6jaFLB1EqUaC8iMgdL8cJB3fHwR13HO8Hh3x7fn+pwN01nM/2 - 2X77Pb/n+33+v/3/95zBbGOVnZM58QHhRKwgnp9KPXuQ2CtJ6ScOjGo0fcMjI93llVX55us3rqbUc49P - zDLyw9auL4iw5l+IsMY//BRujcygdcg+ug83rpzCsVhf3C6+hHg/W+R++985BtU3pey1cCCpOYQhJzo9 - 8kPX1tZcDoS0Jp2jrCgWmakhOJMVA4GwBd1KNSQ9veiUdeNifjqyMsJxveD7f8+z2rPBlg0kNZ9gJjMj - L8RqQlSegIbLX6CuYAcOBm9FHe8B2rt70SZTgNfehTphJ+paCaEYjSIJkmP24PaPnrhfsBP8okCcCbZ8 - RFLmxIuc6PTICV5Dh4IxNqSEemAA6adzwBdJ8VeDEL/XNqGkmo/iKh4HW5fWNCL7QiEqq2sw3N+Dijwf - nPx6FUjKkpjLiU6P7MDVqL/gj8nJSY4bpbcQnZyK8EOJCI2Ox3dRcY+JjkNYTAIi4w4j7+JlKBQKjI+P - 42qqJ9J832AGawkjTnR6ZPm/iXvn9+ARiWsnJjCu1YLeGshJQCKVolMs5hBLJOiSydAjl0OpUmFweBhj - ZJAfuxVJ3ub6DTJ9LVCd40Pij6AZ01IRoWVGumE5dmZEM45RjRbnolwR72Wm3yDt85W4e2o3FVLnGg1G - xsYwSvDEdxB03gEa6vJwSopOhkZHkRPhgkPbTfUbpOwwR+XxXdT9OM79EQ/lgBLNkjpsz1iMP5t/oU7H - dIoz+oeGcTbUGVHblus3SPJYgfI0LxLSIPmaL4LyHOB5bClK6gswNDLKoUucoezvx+n9W3Dg49f0G8S5 - LUfZEU8MkpC8T43YQi8UVp3kutOFenAIvep+dClUkClVOPXNZoQ6L9NvEE3uN+PdMUBvRXevCgqVmjob - gGpgEH1PwPZYTq7soy9bDolcgRNfOWL/ZhP9BpEfLsVvMW70kQ1C2qMgEyVnUiUoQ2CuPZTUra7rYYi6 - ZDi+910EvbdEv0GYkwlKIj+BijrL+jUKbdJO1LZWwD19EUrrr0Cu6tMpzhCKJcj40gEB9ov1G4RsWoLi - UBe6V7r/n70RkPMOPDJMcLXqLPc0DF3ijBaRCOneG+H31kL9BkF2i3B9nzN1qoagQ4yDlzxQUE6/lHRd - XfLeGbA9cbccwk4JHggegi8UIc3LDj7rFug3CNiwENcCt6CH3ojm9g7qqoN79HZpF9rpjjumYGu2x3I8 - 4UNU85pwv0WAox5vY7f1/xj42SxAkf/7kCmUuNfUiho+FTa3gtfaRh22o6lNxMHWbI/lKut5uFVdh7sN - jTiybQN2rpmv18DQ1+rViUJfRwia+bjXLEB1YxNqyai+VUiditDY1sHB1myP5e408FFR34Cb5WVIdLXF - Zxbz2DywJYw51WkxZ9eqebxUFyvk7rDHD24bkOhig4RZEM/4yAZhm1Ziq6lRG2mxscmm2owwdF72suOn - ZkZCTzNjuJsaYdtT4vr63E4L4xcCSYv9IXiJU30i2BxlzmzkWRHsLp8GVsNqp2aygcHfZtZtYIryU78A - AAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAADZmlUWHRYTUw6Y29tLmFkb2Jl - LnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQi - Pz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENv - cmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJE - RiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8 - cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv - bS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlw - ZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1w - TU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJGQzkyMzc0Rjk0OUU0MTE5NjNCQjRENDMzQjlC - MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJERjY3MEZENEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJERjY3MEZDNEQyMzExRTRCNDlGQUMwMzk0OTAw - Qzc4IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIj4gPHhtcE1N - OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhGOUEyRDEyMTRERTQxMUIzNkJE - NUVDQjU5MzE1NjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MkZDOTIzNzRGOTQ5RTQxMTk2M0JC - NEQ0MzNCOUIxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/ - eHBhY2tldCBlbmQ9InIiPz6GKmpFAAAC+UlEQVRIS63T20vTYRzH8Yforj/Ei24UiSgKIygKi8oyxZQo - cvNYeXaesmzqPGu2POd0ulSsnIdaurTSTJ3O6UxTPGya5vCQx5AuPn39RbHop7nZxQt+z3ie93e/Z4w1 - p7nsCoBt8R6yBF/UHPv+Wb0rfFFzm99CRIwEW1gnqXzxTXxRc0ydctm4OlID2sxrw6iCtiwItC+A2P/D - frLnjwGNSZdMq6N1WOvLwFpP4l/WdRlY6Jaio9Ab7QXba8sVoDHZGdT8PYS9THDqMGnLsKpNw0qXGCua - BO55VZdNQ6U/DRRibVCGb+N1pH5bukoRqHmDHOIG1N8/X2F4I8WyNhtf2+9hqSsZxqZ4upbb6HsSZLHO - Im90ym6hNVcIaktYTexZyUelGEvaHMy/jcFiZxo0xX5Y7ivGcn8JkVmA9uvlWBmqwpJeAWovs+poR99O - eRgWtQWYVUdgrj0FH+i+F3XF3NoappZYGJrEoLaOVYpOOTY/FGJB+xjTqnDMtMTTAC/Ma/Ix/TLUKl9e - x0JfFQpql7PykBP7lWIXzPeUYLIhHCPKCLr/AMy2ZsKoDLTKdNNdvM8TgNpRTBZwfJ885CTmaIChPhwa - mS+GnkdhqjEWY9X+VplqvIMXEhdQ24mZeuSs0N/BNNWWj4k6EdSZHhhXxWH0aSCGFd4c4Tk7zk7XBlUM - FKLToK4Nm+0qYnneRzqGGiSYaIiiyZdhVCdgqFSIwRJPjucZW85O1pvnRmvDkO9zFNTdy2Y6HjGp4HCF - 5kk4xhoiURd/EROv4tBfeM0qAyUC9Mp9QM0+7o829T6LZV0/mNycS6+nFKFWfAGj9ZHozfGwil7miZYH - 7qCmghsw+S6VpV894KuUuKFbfhNNqa749CwY3dm0toK+VABl3HlQM5obYHybwFLc7W1y/Y5BlX6FfgNn - DNcEY0DhZZX+MiGKbh0DNR24AYYWMSfJzc6GZBApwS5skIzNODcg0dV2V36FtsJ7yBJ8UXO8hyzBFzXH - ++H/A/YDv9/V87iOlrYAAAAASUVORK5CYII= - - iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 diff --git a/TreeUtils.cs b/TreeUtils.cs index 37878fc..04ae5e5 100644 --- a/TreeUtils.cs +++ b/TreeUtils.cs @@ -258,5 +258,34 @@ } } } + + /// + /// 根据父节点改变子节点的选中状态 + /// + /// + /// + public static void CheckChildrenNode(TreeNode parentNode, bool isChecked) + { + parentNode.Checked = isChecked; + foreach (TreeNode childNode in parentNode.Nodes) + { + childNode.Checked = isChecked; + if (childNode.Nodes.Count > 0) + CheckChildrenNode(childNode, isChecked); + } + } + + public static void ChangeNodeCheckedStatus(TreeView treeView, string strNodeName, bool isChecked) + { + foreach (TreeNode curNode in treeView.Nodes) + { + if (curNode.Text != strNodeName) continue; + else + { + TreeUtils.CheckChildrenNode(curNode, isChecked); + return; + } + } + } } } diff --git a/bin/x86/Debug/Config.xml b/bin/x86/Debug/Config.xml index 36b473e..585bec3 100644 --- a/bin/x86/Debug/Config.xml +++ b/bin/x86/Debug/Config.xml @@ -1,26 +1,26 @@  LocaSpace三维地下管线信息系统 - release - szhtdb2 - 192.168.0.203 - release + scott + SZDB + 127.0.0.1 + SZDB 192.168.0.35 1500 - http://192.168.0.203/images/ - http://192.168.0.203/images/default.jpg + http://127.0.0.1/images/ + http://127.0.0.1/images/default.jpg D:/backup http://127.0.0.1:8083/GSOBackOracle.asmx - 192.168.0.203 - SZGHDB2 + 127.0.0.1 + SZGH scott - SZGHDB2 + SZGH 雨水,污水,给水,天然气,通讯,共通,电通,供电,有线电视,监控,交通信号,路灯 - 192.168.0.203 - SZSGDB2 + 127.0.0.1 + SZSG scott - SZSGDB2 + SZSG http://127.0.0.1/Cyberpipe.msi http://127.0.0.1/Config.xml diff --git a/bin/x86/Debug/Cyberpipe.exe b/bin/x86/Debug/Cyberpipe.exe index 0dd1e75..ed3f3e4 100644 --- a/bin/x86/Debug/Cyberpipe.exe +++ b/bin/x86/Debug/Cyberpipe.exe Binary files differ diff --git a/bin/x86/Debug/layerConfig.xml b/bin/x86/Debug/layerConfig.xml index 9266e1f..688e297 100644 --- a/bin/x86/Debug/layerConfig.xml +++ b/bin/x86/Debug/layerConfig.xml @@ -41,6 +41,12 @@ + + + + + + @@ -78,6 +84,13 @@ + + + + + + + @@ -143,28 +156,10 @@ - + - - - - - - - - - - - - - - - - - - - - + + @@ -173,13 +168,43 @@ - + - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bin/x86/Debug/log.txt b/bin/x86/Debug/log.txt index 96e8073..4758657 100644 --- a/bin/x86/Debug/log.txt +++ b/bin/x86/Debug/log.txt @@ -2765,3 +2765,92 @@ exception over ------------------------------------------------------------ + + exception begin -----------------2017/9/1 10:38:51--------------------- + + + + e.Message:输入字符串的格式不正确。 + + e.Source:mscorlib + + e.TargetSite:Double ParseDouble(System.String, System.Globalization.NumberStyles, System.Globalization.NumberFormatInfo) + + e.StackTrace: 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s, IFormatProvider provider) + 在 Cyberpipe.FrmCompareFeature.globeControl1_MouseClick(Object sender, MouseEventArgs e) 位置 D:\GHFX_REFACTOR\FrmCompareFeature.cs:行号 152 + + + + exception over ------------------------------------------------------------ + + exception begin -----------------2017/9/1 10:38:55--------------------- + + + + e.Message:输入字符串的格式不正确。 + + e.Source:mscorlib + + e.TargetSite:Double ParseDouble(System.String, System.Globalization.NumberStyles, System.Globalization.NumberFormatInfo) + + e.StackTrace: 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s, IFormatProvider provider) + 在 Cyberpipe.FrmCompareFeature.globeControl1_MouseClick(Object sender, MouseEventArgs e) 位置 D:\GHFX_REFACTOR\FrmCompareFeature.cs:行号 152 + + + + exception over ------------------------------------------------------------ + + exception begin -----------------2017/9/1 10:39:00--------------------- + + + + e.Message:输入字符串的格式不正确。 + + e.Source:mscorlib + + e.TargetSite:Double ParseDouble(System.String, System.Globalization.NumberStyles, System.Globalization.NumberFormatInfo) + + e.StackTrace: 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s, IFormatProvider provider) + 在 Cyberpipe.FrmCompareFeature.globeControl1_MouseClick(Object sender, MouseEventArgs e) 位置 D:\GHFX_REFACTOR\FrmCompareFeature.cs:行号 152 + + + + exception over ------------------------------------------------------------ + + exception begin -----------------2017/9/1 10:39:00--------------------- + + + + e.Message:未将对象引用设置到对象的实例。 + + e.Source:Cyberpipe + + e.TargetSite:Void addPologyToGlobeControl(GeoScene.Data.GSOGeoPolyline3D, Double) + + e.StackTrace: 在 Cyberpipe.FrmCompareFeature.addPologyToGlobeControl(GSOGeoPolyline3D line, Double bufferWidth) 位置 D:\GHFX_REFACTOR\FrmCompareFeature.cs:行号 131 + 在 Cyberpipe.FrmCompareFeature.globeControl1_MouseClick(Object sender, MouseEventArgs e) 位置 D:\GHFX_REFACTOR\FrmCompareFeature.cs:行号 159 + + + + exception over ------------------------------------------------------------ + + exception begin -----------------2017/9/1 10:39:02--------------------- + + + + e.Message:输入字符串的格式不正确。 + + e.Source:mscorlib + + e.TargetSite:Double ParseDouble(System.String, System.Globalization.NumberStyles, System.Globalization.NumberFormatInfo) + + e.StackTrace: 在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) + 在 System.Double.Parse(String s, IFormatProvider provider) + 在 Cyberpipe.FrmCompareFeature.globeControl1_MouseClick(Object sender, MouseEventArgs e) 位置 D:\GHFX_REFACTOR\FrmCompareFeature.cs:行号 152 + + + + exception over ------------------------------------------------------------