diff --git a/PROMS/VEPROMS.CSLA.Library/Config/ROFSTLookup.cs b/PROMS/VEPROMS.CSLA.Library/Config/ROFSTLookup.cs index 9e58be00..73bd9977 100644 --- a/PROMS/VEPROMS.CSLA.Library/Config/ROFSTLookup.cs +++ b/PROMS/VEPROMS.CSLA.Library/Config/ROFSTLookup.cs @@ -175,6 +175,20 @@ namespace VEPROMS.CSLA.Library if (ROID.StartsWith("FFFF")) return string.Format("Invalid Unit RO '{0}'", ROID); return string.Format("Invalid RO '{0}'",ROID); } + public rochild GetRoChild12(string ROID16) + { + string ROID = ROID16.Substring(0, 12); + if (dicRos == null) ParseIntoDictionary(_ROFst != null ? _ROFst.ROLookup : _ROFstInfo.ROLookup); + // Use the ROID to get the value from the dictionary + if (dicRos.ContainsKey(ROID)) + { + rochild rochld = (rochild)dicRos[ROID]; + return rochld; + } + rochild tmp = new rochild(); + tmp.ID = -1; + return tmp; + } public rochild GetRoChild(string ROID) { if (dicRos == null) ParseIntoDictionary(_ROFst != null ? _ROFst.ROLookup : _ROFstInfo.ROLookup); diff --git a/PROMS/Volian.Controls.Library/GridItem.cs b/PROMS/Volian.Controls.Library/GridItem.cs index 3dc169bd..b8757c88 100644 --- a/PROMS/Volian.Controls.Library/GridItem.cs +++ b/PROMS/Volian.Controls.Library/GridItem.cs @@ -83,6 +83,9 @@ namespace Volian.Controls.Library CopyStep(); } break; + case Keys.Delete: + MyFlexGrid.ClearSelectedCellText(); + break; } } void SetMenu(string contentMenu) @@ -90,7 +93,7 @@ namespace Volian.Controls.Library if (contentMenu == null) MyStepPanel.MyStepTabPanel.MyStepTabRibbon.ClearContextMenu(); else if (contentMenu == "OpenContextMenu") - MyStepPanel.MyStepTabPanel.MyStepTabRibbon.SetContextMenu(); + MyStepPanel.MyStepTabPanel.MyStepTabRibbon.SetGridCellContextMenu(); //.SetContextMenu(); else MyStepPanel.MyStepTabPanel.MyStepTabRibbon.SetShortCutContextMenu(contentMenu); } @@ -174,10 +177,15 @@ namespace Volian.Controls.Library void MyFlexGrid_Click(object sender, EventArgs e) { MyFlexGrid.Focus(); + //MyStepPanel.MyStepTabPanel.MyStepTabRibbon.ToggleTableDesignButtons(false); + MyStepPanel.MyStepTabPanel.MyStepTabRibbon.SetRibbonForGrid(); + MyStepPanel.MyStepTabPanel.MyStepTabRibbon.SetTableButtonsForMergeRangeSelection(); + MyStepPanel.MyStepTabPanel.MyStepTabRibbon.SetGridContextMenu(); } void MyStepRTB_EditModeChanged(object sender, EventArgs args) { AdjustColorsForEditMode(); + MyStepPanel.MyStepTabPanel.MyStepTabRibbon.SetRibbonForGrid(); } private void AdjustColorsForEditMode() diff --git a/PROMS/Volian.Controls.Library/StepTabRibbon.cs b/PROMS/Volian.Controls.Library/StepTabRibbon.cs index 560c5211..5897d49c 100644 --- a/PROMS/Volian.Controls.Library/StepTabRibbon.cs +++ b/PROMS/Volian.Controls.Library/StepTabRibbon.cs @@ -27,8 +27,8 @@ namespace Volian.Controls.Library public EditItem MyEditItem { get { return _MyEditItem; } - set - { + set + { _MyEditItem = value; if (value != null) { @@ -57,7 +57,7 @@ namespace Volian.Controls.Library } } private ItemInfo MyItemInfo - { get { return _MyStepRTB==null?null:_MyStepRTB.MyItemInfo; } } + { get { return _MyStepRTB == null ? null : _MyStepRTB.MyItemInfo; } } private DevComponents.DotNetBar.ButtonItem _DefaultContextMenu; @@ -69,6 +69,15 @@ namespace Volian.Controls.Library { _ContextMenuBar.SetContextMenuEx(_MyStepRTB, btnCMRtfEdit); } + public void SetGridCellContextMenu() + { + _ContextMenuBar.SetContextMenuEx(_MyStepRTB, btnCMRtfCellEdit); + } + public void SetGridContextMenu() + { + if (rtabTableGridTools.Visible) + _ContextMenuBar.SetContextMenuEx(MyFlexGrid, btnCMGrid); + } public void OpenContextMenu(Point loc) { btnCMRtfEdit.Popup(loc); @@ -78,8 +87,8 @@ namespace Volian.Controls.Library public StepRTB MyStepRTB { get { return _MyStepRTB; } - set - { + set + { _MyStepRTB = value; if (value != null) { @@ -87,8 +96,17 @@ namespace Volian.Controls.Library switch (_MyStepRTB.FieldToEdit) { case E_FieldToEdit.StepText: - _ContextMenuBar.SetContextMenuEx(_MyStepRTB, btnCMRtfEdit); - _DefaultContextMenu = btnCMRtfEdit; + if (MyFlexGrid != null) + { + // This happends when the FlexGrid (table) is slected (not when you edit a table cell) + _ContextMenuBar.SetContextMenuEx(_MyStepRTB, btnCMRtfCellEdit); + _DefaultContextMenu = btnCMRtfCellEdit; + } + else + { + _ContextMenuBar.SetContextMenuEx(_MyStepRTB, btnCMRtfEdit); + _DefaultContextMenu = btnCMRtfEdit; + } break; case E_FieldToEdit.Text: case E_FieldToEdit.Number: @@ -104,7 +122,8 @@ namespace Volian.Controls.Library //_MyStepRTB.KeyUp += new KeyEventHandler(_MyStepRTB_KeyUp); //+= new KeyEventHandler(MyStepRTB_SelectionChanged); _MyStepRTB.SelectionChanged += new EventHandler(_MyStepRTB_SelectionChanged); //_MyStepRTB.ModeChange += new StepRTBModeChangeEvent(_MyStepRTB_ModeChange); - _MyStepRTB.Leave += new EventHandler(MyStepRTB_Leave); + _MyEditItem.Leave += new EventHandler(_MyEditItem_Leave); + //_MyStepRTB.Leave += new EventHandler(_MyStepRTB_Leave); _MyStepRTB.LinkChanged += new StepRTBLinkEvent(_MyStepRTB_LinkChanged); // Add symbols into the tab ribbon based on format selection. For now, only add symbols once // because all symbols are same!!! If we start defining different symbols in different formats @@ -124,15 +143,28 @@ namespace Volian.Controls.Library } BuildSymbolGallery(sl, galleryContainerSymbolsCM); BuildSymbolGallery(sl, galleryContainerSymbolsCM3); + BuildSymbolGallery(sl, galleryContainerSymbolsGrid); } SetButtonAndMenuEnabling(true); SetStepButtonAndMenuEnabling(true); - + _MyLastFormatID = MyItemInfo.ActiveFormat.FormatID; } } } + void _MyEditItem_Leave(object sender, EventArgs e) + { + // The following two lines were replaced by the third line so that the Ribbon KeyTips will work properly. + // ex. Positon on a substep, press , to list the substep types + //_MyStepRTB.KeyUp -=new KeyEventHandler(_MyStepRTB_KeyUp); + //_MyStepRTB.MouseUp -= new MouseEventHandler(_MyStepRTB_MouseUp); + _MyStepRTB.SelectionChanged -= new EventHandler(_MyStepRTB_SelectionChanged); + _MyEditItem.Leave += new EventHandler(_MyEditItem_Leave); + //_MyStepRTB.Leave -= new EventHandler(_MyStepRTB_Leave); + _MyStepRTB.LinkChanged -= new StepRTBLinkEvent(_MyStepRTB_LinkChanged); + } + void _MyStepRTB_SelectionChanged(object sender, EventArgs e) { SetButtonAndMenuEnabling(false); @@ -197,7 +229,7 @@ namespace Volian.Controls.Library public bool Expanded { get { return _RibbonControl.Expanded; } - set{ _RibbonControl.Expanded = value; } + set { _RibbonControl.Expanded = value; } } #endregion #region Events @@ -223,21 +255,22 @@ namespace Volian.Controls.Library btnCMEditRO.Enabled = false; } } - void MyStepRTB_Leave(object sender, EventArgs e) + void _MyStepRTB_Leave(object sender, EventArgs e) { // The following two lines were replaced by the third line so that the Ribbon KeyTips will work properly. // ex. Positon on a substep, press , to list the substep types //_MyStepRTB.KeyUp -=new KeyEventHandler(_MyStepRTB_KeyUp); //_MyStepRTB.MouseUp -= new MouseEventHandler(_MyStepRTB_MouseUp); - _MyStepRTB.SelectionChanged -=new EventHandler(_MyStepRTB_SelectionChanged); - _MyStepRTB.Leave -= new EventHandler(MyStepRTB_Leave); + _MyStepRTB.SelectionChanged -= new EventHandler(_MyStepRTB_SelectionChanged); + _MyStepRTB.Leave -= new EventHandler(_MyStepRTB_Leave); _MyStepRTB.LinkChanged -= new StepRTBLinkEvent(_MyStepRTB_LinkChanged); } + void btnInsStep_Click(object sender, EventArgs e) { DevComponents.DotNetBar.ButtonItem b = (DevComponents.DotNetBar.ButtonItem)sender; if (b.Tag == null) return; - char [] sep = {' '}; + char[] sep = { ' ' }; string[] insdata = b.Tag.ToString().Split(sep); if (insdata.Length != 2) return; int fromtype = Convert.ToInt32(insdata[0]); @@ -251,7 +284,7 @@ namespace Volian.Controls.Library EditItem hlsEditItem = _MyEditItem; while (!hlsEditItem.MyItemInfo.IsHigh) hlsEditItem = hlsEditItem.ActiveParent; - hlsEditItem.AddSiblingAfter((int ?)contenttype,true); + hlsEditItem.AddSiblingAfter((int?)contenttype, true); } else { @@ -308,6 +341,13 @@ namespace Volian.Controls.Library btnUnderline.Enabled = btnCMUnderline.Enabled = (!((_MyStepRTB.MyStyleFont.Style & E_Style.Underline) == E_Style.Underline)); btnItalics.Enabled = btnCMItalics.Enabled = (!((_MyStepRTB.MyStyleFont.Style & E_Style.Italics) == E_Style.Italics)); } + public void SetTableButtonsForMergeRangeSelection() + { + if (MyFlexGrid != null) + { + btnTblDgnMergeCells.Enabled = btnCmGridMergeCells.Enabled = !MyFlexGrid.IsInMergeRange(); + } + } private void SetButtonMenuEnabledDisabledOnSelection(bool setting) { btnCMBold.Enabled = btnBold.Enabled = setting; @@ -352,7 +392,7 @@ namespace Volian.Controls.Library else { SetButtonMenuEnabledDisabledOnSelection(true); - + if (_MyStepRTB.SelectionFont != null) { btnCMBold.Checked = btnBold.Checked = RTBAPI.IsBold(_MyStepRTB); @@ -373,7 +413,7 @@ namespace Volian.Controls.Library } // all selected copy while in either Edit or View mode btnCMCopy.Enabled = btnCopy.Enabled = _MyStepRTB.SelectionLength > 0; - + // paste step only available if a step was copied. Also, check for valid types: SetPasteButtonEnabled(); @@ -381,7 +421,7 @@ namespace Volian.Controls.Library btnCMGoTo.Enabled = btnGoTo.Enabled = _MyStepRTB.IsSelectionLinked(_MyStepRTB.SelectionStart, _MyStepRTB.SelectionLength); //(_MyStepRTB.MyLinkText != null); if (btnCMGoTo.Enabled == true && _MyStepRTB.MyLinkText != null) // must have some link test, use it to set edit of transition or ro... { - btnCMEditTran.Enabled = _MyStepRTB.MyLinkText.IndexOf("Transition")>-1; // selected link must be a transition + btnCMEditTran.Enabled = _MyStepRTB.MyLinkText.IndexOf("Transition") > -1; // selected link must be a transition btnCMEditRO.Enabled = _MyStepRTB.MyLinkText.IndexOf("ReferencedObject") > -1; // selected link must be ro } else @@ -410,9 +450,9 @@ namespace Volian.Controls.Library // when doing 'substep' part of paste, need to check if format allows subsection. } else if (tmp.MyDisplayTabControl.MyCopyStep.IsCautionPart || tmp.MyDisplayTabControl.MyCopyStep.IsNotePart) - // Part type of copied step must be same as Part type of destination, with exceptions of caution/note and step/rno - // can be pasted into each other. - // Part types are procedure - 1, section = 2, step = 6, caution = 3, note = 4, RNO (IsRNO), = 5 table/figure = 7. + // Part type of copied step must be same as Part type of destination, with exceptions of caution/note and step/rno + // can be pasted into each other. + // Part types are procedure - 1, section = 2, step = 6, caution = 3, note = 4, RNO (IsRNO), = 5 table/figure = 7. btnPasteBefore.Enabled = btnPasteAfter.Enabled = btnPasteReplace.Enabled = (MyItemInfo.IsCautionPart || MyItemInfo.IsNotePart); else if (tmp.MyDisplayTabControl.MyCopyStep.IsRNOPart || tmp.MyDisplayTabControl.MyCopyStep.IsStepPart) btnPasteBefore.Enabled = btnPasteAfter.Enabled = btnPasteReplace.Enabled = (MyItemInfo.IsRNOPart || MyItemInfo.IsStepPart); @@ -437,7 +477,7 @@ namespace Volian.Controls.Library DocVersionInfo dvi = MyEditItem.MyItemInfo.MyProcedure.ActiveParent as DocVersionInfo; if (dvi == null) return; if (dvi.VersionType > 127) - btnCMEditMode1.Enabled = btnEditMode.Enabled = false; // in approved + btnCMEditMode1.Enabled = btnEditMode.Enabled = false; // in approved if (dvi.VersionType > 127 || MyEditItem.MyStepPanel.VwMode == E_ViewMode.View) { SetButtonMenuEnabledDisabledOnStepType(false); @@ -453,21 +493,28 @@ namespace Volian.Controls.Library btnInsPgBrk.Enabled = MyItemInfo.IsHigh; btnEditMode.Checked = btnCMEditMode1.Checked = MyEditItem.MyStepPanel.VwMode == E_ViewMode.View; // if on procedure, 'Delete' buttons should be disabled. - btnDelelete.Enabled = btnDelStep.Enabled = ! MyItemInfo.IsProcedure; + btnDelelete.Enabled = btnDelStep.Enabled = !MyItemInfo.IsProcedure; btnCpyStp.Enabled = !MyItemInfo.IsProcedure; - if (!(MyEditItem is GridItem) && rtabTableGridTools.Checked) + // Only display the table edit tools if in a grid (table) and that grid (table) is not an RO Table. + GridItem tmpGridItm = MyEditItem as GridItem; + if (btnTblDgnAdjustSize.Checked) + { + btnTblDgnAdjustSize.Checked = false; + ToggleTableDesignButtons(true); + } + rtabTableGridTools.Visible = tmpGridItm != null && !tmpGridItm.MyFlexGrid.IsRoTable; + // If no longer on a table (grid) or the newly selectd table is an RO table + // then select the Home tab (since the Table tab is not visable) + if ((!(MyEditItem is GridItem) && rtabTableGridTools.Checked) || !rtabTableGridTools.Visible) { rtabHome.Select(); } - // Only display the table edit tools if in a grid (table) and that grid (table) is not an RO Table. - GridItem tmpGridItm = MyEditItem as GridItem; - rtabTableGridTools.Visible = tmpGridItm != null && !tmpGridItm.MyFlexGrid.IsRoTable; // if on procedure or section, 'change type' & 'insert' buttons should be disabled. if (MyItemInfo.IsProcedure || MyItemInfo.IsSection) { btnChgTyp.Enabled = false; - + btnInsCaut.Enabled = btnInsNote.Enabled = btnInsRNO.Enabled = btnInsFig.Enabled = btnInsTable.Enabled = btnInsSubstep.Enabled = btnInsBefore.Enabled = btnInsAfter.Enabled = false; // if on a procedure or section title, don't allow for insert of ROs or Transitions: @@ -492,7 +539,7 @@ namespace Volian.Controls.Library actable = sd.StepEditData.AcTable; if (actable == null) actable = 0; btnInsHLS.Enabled = true; - btnInsCaut.Enabled = (actable & E_AccStep.AddingCaution)>0; + btnInsCaut.Enabled = (actable & E_AccStep.AddingCaution) > 0; btnInsNote.Enabled = (actable & E_AccStep.AddingNote) > 0; btnInsRNO.Enabled = (actable & E_AccStep.AddingRNO) > 0; btnInsFig.Enabled = (actable & E_AccStep.AddingTable) > 0; @@ -520,12 +567,12 @@ namespace Volian.Controls.Library btnCMInsRNO.SubItems.Clear(); } - btnInsRNO.Enabled = btnCMInsRNO.Enabled = btnInsRNO.Enabled && (MyItemInfo.RNOs==null || MyItemInfo.RNOs.Count==0); // don't insert an RNO if has an RNO + btnInsRNO.Enabled = btnCMInsRNO.Enabled = btnInsRNO.Enabled && (MyItemInfo.RNOs == null || MyItemInfo.RNOs.Count == 0); // don't insert an RNO if has an RNO // if (rno is enabled, set the tag: if (btnInsRNO.Enabled) btnInsRNO.Tag = string.Format("{0} {1}", (int)E_FromTypes.RNOs, MyEditItem.MyItemInfo.ActiveFormat.PlantFormat.FormatData.GetIndexFromType("RNOType")); - + // add subitems depending on whether parent type is enabled: if (btnInsHLS.Enabled) GalleryForSubTypes(MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList.HLS, sd, btnInsHLS, 0, btnCMInsHLS, docontextmenus); if (btnInsCaut.Enabled) GalleryForSubTypes(MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList.Caution, sd, btnInsCaut, (int)E_FromType.Caution, btnCMInsCaution, docontextmenus); @@ -534,7 +581,7 @@ namespace Volian.Controls.Library if (btnInsTable.Enabled) GalleryForSubTypes(MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList.Table, sd, btnInsTable, (int)E_FromType.Table, btnCMInsTable, docontextmenus); if (btnInsSubstep.Enabled) GalleryForSubTypes(MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList.Substep, sd, btnInsSubstep, (int)E_FromType.Step, btnCMInsSubStps, docontextmenus); if (btnInsRNO.Enabled) GalleryForSubTypes(MyItemInfo.ActiveFormat.PlantFormat.FormatData.StepDataList.RNO, sd, btnInsRNO, 0, btnCMInsRNO, docontextmenus); - + btnInsTrans.Enabled = btnCMTransition.Enabled = btnInsRO.Enabled = btnCMRO.Enabled = true; _RibbonControl.Refresh(); // jsj- added this because Table Design ribbon tab grouping was not going away when not on a table step type @@ -588,8 +635,8 @@ namespace Volian.Controls.Library // if high level step, don't put the rno button on // if caution don't add note button (the StepGetLevelTypes method returns cautions/notes together if (btn.Name == "btnInsHLS" && sd.Type == "RNOType") addit = false; - if (btn.Name == "btnInsCaut" && sd.Type.Length>=4 && sd.Type.Substring(0, 4) == "Note") addit = false; - if (btn.Name == "btnInsNote" && sd.Type.Length>=7 && sd.Type.Substring(0, 7) == "Caution") addit = false; + if (btn.Name == "btnInsCaut" && sd.Type.Length >= 4 && sd.Type.Substring(0, 4) == "Note") addit = false; + if (btn.Name == "btnInsNote" && sd.Type.Length >= 7 && sd.Type.Substring(0, 7) == "Caution") addit = false; if (btn.Name == "btnInsSubstep" && MyItemInfo.Steps != null) addit = false; if (addit) { @@ -679,7 +726,7 @@ namespace Volian.Controls.Library { _MyStepRTB.InsertIndent(MyEditItem.MyItemInfo.ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.IndentToken); } -#endregion + #endregion #region Home Tab private void btnPaste_Click(object sender, EventArgs e) { @@ -703,7 +750,7 @@ namespace Volian.Controls.Library myDO.SetText(_MyStepRTB.SelectedText); Clipboard.SetDataObject(myDO); _MyStepRTB.SelectedText = ""; - } + } private void btnCopy_Click(object sender, EventArgs e) { Clipboard.Clear(); @@ -824,47 +871,47 @@ namespace Volian.Controls.Library } #endregion #region RHM debug -//#if DEBUG -// // The following code generates an XML output for the selected item for print testing. -// private void btnPageBreak_Click(object sender, EventArgs e) -// { -// // This is here temporarily to get a node and all of it's children for print testing. -// OutputAllChildren(MyRTBItem); -// } -// private void OutputAllChildren(RTBItem myRTBItem) -// { -// OutputAllChildren(myRTBItem.MyBeforeRTBItems); -// OutputStepInfo(myRTBItem); -// OutputAllChildren(myRTBItem.MyAfterRTBItems); -// OutputAllChildren(myRTBItem.MyRNORTBItems); -// } -// private void OutputStepInfo(RTBItem myRTBItem) -// { -// Label lbl = myRTBItem.MyLabel; -// if (lbl.Text.Trim() != "") -// Console.WriteLine("{4}", -// ToInches(myRTBItem.Left + lbl.Left), ToInches(myRTBItem.Top + lbl.Top), -// lbl.Font.FontFamily.Name,lbl.Font.SizeInPoints,lbl.Text); -// StepRTB rtb = myRTBItem.MyStepRTB; -// Console.WriteLine("{3}", -// ToInches(myRTBItem.Left + rtb.Left), ToInches(myRTBItem.Top + rtb.Top), ToInches(rtb.Width), myRTBItem.MyItemInfo.MyContent.Text); -//// ToInches(myRTBItem.Left + rtb.Left), ToInches(myRTBItem.Top + rtb.Top), ToInches(rtb.Width), rtb.Rtf); -// } -// private float ToInches(int val) -// { -// return Convert.ToSingle(val)/96F; -// } + //#if DEBUG + // // The following code generates an XML output for the selected item for print testing. + // private void btnPageBreak_Click(object sender, EventArgs e) + // { + // // This is here temporarily to get a node and all of it's children for print testing. + // OutputAllChildren(MyRTBItem); + // } + // private void OutputAllChildren(RTBItem myRTBItem) + // { + // OutputAllChildren(myRTBItem.MyBeforeRTBItems); + // OutputStepInfo(myRTBItem); + // OutputAllChildren(myRTBItem.MyAfterRTBItems); + // OutputAllChildren(myRTBItem.MyRNORTBItems); + // } + // private void OutputStepInfo(RTBItem myRTBItem) + // { + // Label lbl = myRTBItem.MyLabel; + // if (lbl.Text.Trim() != "") + // Console.WriteLine("{4}", + // ToInches(myRTBItem.Left + lbl.Left), ToInches(myRTBItem.Top + lbl.Top), + // lbl.Font.FontFamily.Name,lbl.Font.SizeInPoints,lbl.Text); + // StepRTB rtb = myRTBItem.MyStepRTB; + // Console.WriteLine("{3}", + // ToInches(myRTBItem.Left + rtb.Left), ToInches(myRTBItem.Top + rtb.Top), ToInches(rtb.Width), myRTBItem.MyItemInfo.MyContent.Text); + //// ToInches(myRTBItem.Left + rtb.Left), ToInches(myRTBItem.Top + rtb.Top), ToInches(rtb.Width), rtb.Rtf); + // } + // private float ToInches(int val) + // { + // return Convert.ToSingle(val)/96F; + // } -// private void OutputAllChildren(List list) -// { -// if(list != null) -// foreach (RTBItem itm in list) -// OutputAllChildren(itm); -// } + // private void OutputAllChildren(List list) + // { + // if(list != null) + // foreach (RTBItem itm in list) + // OutputAllChildren(itm); + // } - -//#endif + + //#endif private void btnToggleEditView_Click(object sender, EventArgs e) { MyEditItem.MyStepPanel.VwMode = MyEditItem.MyStepPanel.VwMode == E_ViewMode.Edit ? E_ViewMode.View : E_ViewMode.Edit; @@ -884,7 +931,7 @@ namespace Volian.Controls.Library MessageBox.Show("Could not find path to Ro Editor, check 'roapp' environment variable"); return; } - if (MyDVI==null||MyDVI.DocVersionAssociationCount < 1) + if (MyDVI == null || MyDVI.DocVersionAssociationCount < 1) { MessageBox.Show("Could not find associated path for ro data."); return; @@ -927,7 +974,7 @@ namespace Volian.Controls.Library return; } Cursor = Cursors.WaitCursor; - + using (DocVersion dv = DocVersion.Get(MyDVI.VersionID)) { roFstInfo.ROTableUpdate += new ROFstInfoROTableUpdateEvent(roFstInfo_ROTableUpdate); @@ -1057,17 +1104,17 @@ namespace Volian.Controls.Library DialogResult result = MessageBox.Show(msg, "Verify Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { - + if (!si.IsStepSection) { WordSectionEventArgs args = new WordSectionEventArgs(si); MyEditItem.MyStepPanel.OnWordSectionClose(sender, args); } MyEditItem.RemoveItem(); - if (!si.IsStepSection) + if (!si.IsStepSection) { WordSectionEventArgs args = new WordSectionEventArgs(si); - MyEditItem.MyStepPanel.OnWordSectionDeleted(sender, args); + MyEditItem.MyStepPanel.OnWordSectionDeleted(sender, args); } } return; @@ -1227,8 +1274,8 @@ namespace Volian.Controls.Library if (MyItemInfo.IsHigh) { if (MyEditItem != null && MyEditItem.NextDownEditItem != null && MyEditItem.NextDownEditItem.MyItemInfo.MyParent.Equals(MyEditItem.MyItemInfo)) - //if (MyRTBItem.NextDownRTBItem.MyItemInfo.MyParent.ItemID == MyRTBItem.MyItemInfo.ItemID) //.Equals(MyRTBItem.MyItemInfo)) - { + //if (MyRTBItem.NextDownRTBItem.MyItemInfo.MyParent.ItemID == MyRTBItem.MyItemInfo.ItemID) //.Equals(MyRTBItem.MyItemInfo)) + { MyStepRTB.StepRTB_ArrowPressed(E_ArrowKeys.CtrlDown); InsertSiblingBeforeOrAfter("before"); } @@ -1307,7 +1354,7 @@ namespace Volian.Controls.Library if (nextDownEditItem != null && nextDownEditItem.MyItemInfo.MyParent.ItemID == MyEditItem.MyID) { MyStepRTB.StepRTB_ArrowPressed(E_ArrowKeys.CtrlDown); - if(skipTable) MyStepRTB.StepRTB_ArrowPressed(E_ArrowKeys.CtrlDown); + if (skipTable) MyStepRTB.StepRTB_ArrowPressed(E_ArrowKeys.CtrlDown); InsertSiblingBeforeOrAfter("before"); } else @@ -1369,7 +1416,7 @@ namespace Volian.Controls.Library private void btnPasteReplace_Click(object sender, EventArgs e) { StepTabPanel tmp = Parent as StepTabPanel; - if (tmp.MyDisplayTabControl.MyCopyStep==null) return; + if (tmp.MyDisplayTabControl.MyCopyStep == null) return; EditItem oldEditItem = MyEditItem; MyEditItem = MyEditItem.PasteReplace(tmp.MyDisplayTabControl.MyCopyStep.ItemID); if (MyEditItem.MyItemInfo.ItemID != oldEditItem.MyItemInfo.ItemID) oldEditItem.Dispose(); @@ -1447,13 +1494,13 @@ namespace Volian.Controls.Library MyFlexGrid.ClipBoardCopySelection(); } - private void btnTblDgnPasteRowBefore_Click(object sender, EventArgs e) + private void btnTblDgnPasteRowAbove_Click(object sender, EventArgs e) { // create new rows before current position and copy clipboard data MyFlexGrid.ClipBoardPasteRows(VlnFlexGrid.enmPastePos.Before); } - private void btnTblDgnPasteRowAfter_Click(object sender, EventArgs e) + private void btnTblDgnPasteRowBelow_Click(object sender, EventArgs e) { // create new rows after current position and copy clipboard data MyFlexGrid.ClipBoardPasteRows(VlnFlexGrid.enmPastePos.After); @@ -1465,12 +1512,12 @@ namespace Volian.Controls.Library MyFlexGrid.ClipBoardPasteRows(VlnFlexGrid.enmPastePos.Replace); } - private void btnTblDgnPasteColumnBefore_Click(object sender, EventArgs e) + private void btnTblDgnPasteColumnLeft_Click(object sender, EventArgs e) { MyFlexGrid.ClipBoardPasteColumns(VlnFlexGrid.enmPastePos.Before); } - private void btnTblDgnPasteColumnAfter_Click(object sender, EventArgs e) + private void btnTblDgnPasteColumnRight_Click(object sender, EventArgs e) { MyFlexGrid.ClipBoardPasteColumns(VlnFlexGrid.enmPastePos.After); } @@ -1484,50 +1531,96 @@ namespace Volian.Controls.Library { MyFlexGrid.ClipBoardPasteIntoSelection(); } - private void btnTblDgnClear_Click(object sender, EventArgs e) - { - MyFlexGrid.ClearSelectedCellText(); - } #endregion #region Table Grid Delete - private void btnTblDgnDeleteRow_Click(object sender, EventArgs e) + private void btnTblDgnRemoveRow_Click(object sender, EventArgs e) { MyFlexGrid.RemoveSelectedRow(); } - private void btnTblDgnDeleteColumn_Click(object sender, EventArgs e) + private void btnTblDgnRemoveColumn_Click(object sender, EventArgs e) { MyFlexGrid.RemoveSelectedColumn(); } - private void btnTblDgnDeleteSelected_Click(object sender, EventArgs e) - { - MyFlexGrid.RemoveSelectedCells(); - } #endregion #region Table Grid Cell Style - private void cpHighlight_SelectedColorChanged(object sender, EventArgs e) - { - string strColor = string.Format("{0}, {1}, {2};", cpTblDgnHighlight.SelectedColor.R, cpTblDgnHighlight.SelectedColor.G, cpTblDgnHighlight.SelectedColor.B); - MyFlexGrid.ChangeBackgroundColor(strColor); - } + //private void cpHighlight_SelectedColorChanged(object sender, EventArgs e) + //{ + // string strColor = string.Format("{0}, {1}, {2};", cpTblDgnHighlight.SelectedColor.R, cpTblDgnHighlight.SelectedColor.G, cpTblDgnHighlight.SelectedColor.B); + // MyFlexGrid.ChangeBackgroundColor(strColor); + //} - private void btnTblDgnAlignLeft_Click(object sender, EventArgs e) + private void btnTblDgnAlgnTxTopLeft_Click(object sender, EventArgs e) { + MyFlexGrid.VerticalTopText(); MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Left); } - private void btnTblDgnAlignCentered_Click(object sender, EventArgs e) + private void btnTblDgnAlgnTxTopCenter_Click(object sender, EventArgs e) { + MyFlexGrid.VerticalTopText(); MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Center); } - private void btnTblDgnAlignRight_Click(object sender, EventArgs e) + private void btnTblDgnAlgnTxTopRight_Click(object sender, EventArgs e) { + MyFlexGrid.VerticalTopText(); MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Right); } + + private void btnTblDgnAlgnTxCenterLeft_Click(object sender, EventArgs e) + { + MyFlexGrid.VerticalCenterText(); + MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Left); + } + + private void btnTblDgnAlgnTxCenterCenter_Click(object sender, EventArgs e) + { + MyFlexGrid.VerticalCenterText(); + MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Center); + } + + private void btnTblDgnAlgnTxCenterRight_Click(object sender, EventArgs e) + { + MyFlexGrid.VerticalCenterText(); + MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Right); + } + + private void btnTblDgnAlgnTxBottomLeft_Click(object sender, EventArgs e) + { + MyFlexGrid.VerticalBottomText(); + MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Left); + } + + private void btnTblDgnAlgnTxBottomCenter_Click(object sender, EventArgs e) + { + MyFlexGrid.VerticalBottomText(); + MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Center); + } + + private void btnTblDgnAlgnTxBottomRight_Click(object sender, EventArgs e) + { + MyFlexGrid.VerticalBottomText(); + MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Right); + } + + //private void btnTblDgnAlignLeft_Click(object sender, EventArgs e) + //{ + // MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Left); + //} + + //private void btnTblDgnAlignCentered_Click(object sender, EventArgs e) + //{ + // MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Center); + //} + + //private void btnTblDgnAlignRight_Click(object sender, EventArgs e) + //{ + // MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Right); + //} #endregion #region Table Grid Merge/Split private void btnTblDgnSplitCells_ToRows_Click(object sender, EventArgs e) @@ -1547,41 +1640,56 @@ namespace Volian.Controls.Library } #endregion #region Table Grid Design - private void btnTblDgnInsertRowBefore_Click(object sender, EventArgs e) + private void btnTblDgnInsertRowAbove_Click(object sender, EventArgs e) { MyFlexGrid.InsertRowBefore(); } - private void btnTblDgnInsertRowAfter_Click(object sender, EventArgs e) + private void btnTblDgnInsertRowBelow_Click(object sender, EventArgs e) { MyFlexGrid.InsertRowAfter(); } - private void btnTblDgnInsertColumnBefore_Click(object sender, EventArgs e) + private void btnTblDgnInsertColumnAbove_Click(object sender, EventArgs e) { MyFlexGrid.InsertColumnBefore(); } - private void btnTblDgnInsertColumnAfter_Click(object sender, EventArgs e) + private void btnTblDgnInsertColumnBelow_Click(object sender, EventArgs e) { MyFlexGrid.InsertColumnAfter(); } - private void ToggleTableDesignButtons(bool enable) + public void ToggleTableDesignButtons(bool enable) { - cpTblDgnHighlight.Enabled = enable; btnTblDgnAlignText.Enabled = enable; - btnTblDgnClear.Enabled = enable; btnTblDgnCopy.Enabled = enable; - btnTblDgnDelete.Enabled = enable; + btnTblDgnRemove.Enabled = enable; btnTblDgnGridStyle.Enabled = enable; btnTblDgnInsertColumn.Enabled = enable; btnTblDgnInsertRow.Enabled = enable; btnTblDgnMergeCells.Enabled = enable; btnTblDgnPaste.Enabled = enable; btnTblDgnSplitCells.Enabled = enable; - btnTblDgnTableBorder.Enabled = enable; - btnTblDgnAdjustSize.Checked = !enable; + } + public void SetRibbonForGrid() + { + // set to true if editing cell, otherwise false for grids + bool enable = (MyFlexGrid.Editor != null); + btnPaste.Enabled = enable; + btnCopy.Enabled = enable; + btnCut.Enabled = enable; + btnBold.Enabled = enable; + btnItalics.Enabled = enable; + btnUnderline.Enabled = enable; + btnSubscript.Enabled = enable; + btnSuperscript.Enabled = enable; + btnChgCase.Enabled = enable; + btnInsHrdSpc.Enabled = enable; + btnSymbols.Enabled = enable; + btnIndent.Enabled = enable; + btnInsTrans.Enabled = enable; + btnInsRO.Enabled = enable; } private void btnTblDgnAdjustSize_Click(object sender, EventArgs e) { @@ -1634,7 +1742,6 @@ namespace Volian.Controls.Library private void btnTblDgnGridStyleNone_Click(object sender, EventArgs e) { MyFlexGrid.ChangeCellBorder(MyFlexGrid.Selection, C1.Win.C1FlexGrid.BorderStyleEnum.None); - } private void btnTblDgnGridStyleFlat_Click(object sender, EventArgs e) @@ -1673,75 +1780,10 @@ namespace Volian.Controls.Library } #endregion - private void btnTblDgnDeleteRow_Click_1(object sender, EventArgs e) - { - MyFlexGrid.RemoveSelectedRow(); - } - - private void btnTblDgnDeleteColumn_Click_1(object sender, EventArgs e) - { - MyFlexGrid.RemoveSelectedColumn(); - } - - private void btnTblDgnDeleteSelected_Click_1(object sender, EventArgs e) - { - MyFlexGrid.RemoveSelectedCells(); - } - - private void btnTblDgnAlgnTxTopLeft_Click(object sender, EventArgs e) - { - MyFlexGrid.ChangeCellAlign(MyFlexGrid.Selection, C1.Win.C1FlexGrid.TextAlignEnum.LeftTop); - MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Left); - } - - private void btnTblDgnAlgnTxTopCenter_Click(object sender, EventArgs e) - { - MyFlexGrid.ChangeCellAlign(MyFlexGrid.Selection, C1.Win.C1FlexGrid.TextAlignEnum.CenterTop); - MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Center); - } - - private void btnTblDgnAlgnTxTopRight_Click(object sender, EventArgs e) - { - MyFlexGrid.ChangeCellAlign(MyFlexGrid.Selection, C1.Win.C1FlexGrid.TextAlignEnum.RightTop); - MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Right); - } - - private void btnTblDgnAlgnTxCenterLeft_Click(object sender, EventArgs e) - { - MyFlexGrid.ChangeCellAlign(MyFlexGrid.Selection, C1.Win.C1FlexGrid.TextAlignEnum.LeftCenter); - MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Left); - } - - private void btnTblDgnAlgnTxCenterCenter_Click(object sender, EventArgs e) - { - MyFlexGrid.ChangeCellAlign(MyFlexGrid.Selection, C1.Win.C1FlexGrid.TextAlignEnum.CenterCenter); - MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Center); - } - - private void btnTblDgnAlgnTxCenterRight_Click(object sender, EventArgs e) - { - MyFlexGrid.ChangeCellAlign(MyFlexGrid.Selection, C1.Win.C1FlexGrid.TextAlignEnum.RightCenter); - MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Right); - } - - private void btnTblDgnAlgnTxBottomLeft_Click(object sender, EventArgs e) - { - MyFlexGrid.ChangeCellAlign(MyFlexGrid.Selection, C1.Win.C1FlexGrid.TextAlignEnum.LeftBottom); - MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Left); - } - - private void btnTblDgnAlgnTxBottomCenter_Click(object sender, EventArgs e) - { - MyFlexGrid.ChangeCellAlign(MyFlexGrid.Selection, C1.Win.C1FlexGrid.TextAlignEnum.CenterBottom); - MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Center); - } - - private void btnTblDgnAlgnTxBottomRight_Click(object sender, EventArgs e) - { - MyFlexGrid.ChangeCellAlign(MyFlexGrid.Selection, C1.Win.C1FlexGrid.TextAlignEnum.RightBottom); - MyFlexGrid.RTFTextAlignment(MyFlexGrid.Selection, HorizontalAlignment.Right); - } } + + + public enum E_FieldToEdit { StepText, Text, Number }; public class StepTabRibbonEventArgs : EventArgs { @@ -1759,5 +1801,5 @@ namespace Volian.Controls.Library } } public delegate void StepTabRibbonEvent(object sender, StepTabRibbonEventArgs args); -} +} diff --git a/PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs b/PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs index edcadb07..0367117f 100644 Binary files a/PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs and b/PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs differ diff --git a/PROMS/Volian.Controls.Library/StepTabRibbon.resx b/PROMS/Volian.Controls.Library/StepTabRibbon.resx index 0c10f724..1c4c4c33 100644 --- a/PROMS/Volian.Controls.Library/StepTabRibbon.resx +++ b/PROMS/Volian.Controls.Library/StepTabRibbon.resx @@ -118,11 +118,344 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA + EnQB3mYfeAAAAB5JREFUKFNj/P//PwNBUFBQ8B8fBhsCIghhhmFtEgAZm8Rn5/bAFAAAAABJRU5ErkJg + gg== + + + + + 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 + 8QAAAABJRU5ErkJggg== + + + + 17, 17 + + + This allows you to change the size of the rows and columns in the table. + +When selected, the entire table will turn gray. You can then click and drag the sides of the table cells to adjust the height and width of the row or column. + + + + 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 + QmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA + EnEB89x6jgAAAIBJREFUOE/FU9ESgCAIy///aAMU0DDYSxecV6KOObB1squRs3VyNY1Z4OWHATYTFHI1 + gp0RXdm+vlGoLC5zPowCHDeiAGkmhMHnAEFpDwwRjcFKV++/6xyLVgEk2UfhnuVTNsVBa5Njk8xV6c1k + hNwGBmaHAP5n4G8q6gFdoZLjBpE7j5KJdaRlAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA + EnQB3mYfeAAAASxJREFUOE9j/P//PwNVAchAamKEYQxAg7HAu0+//m9Z9ur/5XufQVbjhlCH4TUQZtiy + w7//J3ddw28oIQORDZuw8f3/9Ckv/oc33f5///l37C4lZCDImwbhK/9bJ23637Ds/X/X4nP/NYOW/5d3 + n0megbDQciq5+j+1985/abt2ysMQZKhe2qX/Su6T/0tZN5JmYFZh5f+M/Mr/6XkV/1Nyyv4nZZf+T8wo + +R+XXvQ/JqXwf2RS/v/whLz/IXE5/4Nisv8HRGX+943I+O8Tnv7fMzQVmPIgyY9gssGbVJATEc0NzCiA + eDc1t/x/Msi7mSX/4zOK/semFv2PSi74H5ZY9D80Pu9/cCzIu1n//SIh3vUKTfvvGZyCxctUyoJUzceo + kTLqQnLLyMEfKQBWOvF3m6dboAAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA + EnQB3mYfeAAAASlJREFUOE9j/P//PwNFAGQAJZgizWDXU2L7IDEgq7Dyf0Z+5f/0vIr/KTll/5OyS/8n + ZpT8j0sv+h+TUvg/Min/f3hC3v+QuJz/QTHZ/wOiMv/7RmT89wlP/+8ZmgqMAQohhdqBsZBRAHF+am75 + /2SQ8zNL/sdnFP2PTS36H5Vc8D8sseh/aHze/+BYkPOz/vtFQpzvFZr23zM4BbcHKmc/+B9Rdfi/f9Fu + UFLDCXFKtCx79X/hvu//HVPXk2aAQ9Kq/5ndF/+DDJi5/ct/38Id/81jV/xX9ZiA1SAMF1y7++a/pv+c + /80L7/5vXPrqf0TTjf9GofP/n7v2lDgDQL69cf/tf7OoRf89iw7/1/ab8X//ybs4vYEzDG7cf/NfzrHr + //x1Z/CGAQCjS0wEhVWp7QAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAM9JREFUOE9j/P//PwNFAGRAeMMjHZ/SU0DmfwZSMVhDSNP9/x75B1AMALoK5DS8GOx6 + EBFYdlnTIXn1f8ekVX5kucA1e8d/i/Dp/439O0j2Bsl+Rnch2ICg+hv/A6qv/HfJ3t5FlhfAhtRdT7eJ + XQD3AqEABMnDAzGk4aGPa9b2/7aJS/3JcoFnwYH/lhEz/hv5tgxQIPpXXfzvW37uv0PKavJd4Fdx7r9j + +qY0WBiQFIggTR5FR2abBU8gzwUehQfBgWgTvTCQrFggVROyegA1/oH1CRXf9wAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAHxJREFUOE9j/P//PwNFAGRAQfehAiD+D6JBfFIwWDFIc2jLk/+y1lVALsQAFiaW//gw + TB3MgAKQZiAmzwWkOBldLUn+xWYR3AujgUha4kEOTHAgJlYsLwDi/yCa1CiFGfDfs+jof0njTPJSIshm + kGYgJs8FpDobIwwoMQAAEuaJ1nndlB8AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA + EnQB3mYfeAAAADpJREFUOE9j/P//PwNFAGQAJRismZmZ+T86RjaUhYnlPzoGqQe7nhLbR5oBo4GIO7WS + lJCQA3IYpUQA76epNf0QgmEAAAAASUVORK5CYII= + + + + + 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 + wx7nAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAklJREFUOE+lk11I02EUxusuIogugqALIyK6iJpEEIUZIQWSK8kLQ/pAqUApKbEsl4kL + srQwQYeOVmp+VGamlo1lMUVJ+9DmdCbNBVqkzvyiD9vmr51/rP8IoqgXzuXzO88553nnAnP+6wmg8FY7 + wZVf0UbO9WbOFTehy39ISk4difpq4tMriUstJSbZxK4ko1/qbx4AeLzwu/r0FcamZxkam6X/vY9Ol49V + 2zP/DuC2O3AcCMW+X4Ot1a6IyxoHWLnt7J8B0lnEDJmZeXycZ7uX0eLwca3+NSsiggAy86/2A7bt+zQ/ + xLkRtEWHYO7yUnzHxvKtGaoDWVgwIHhmsS2dRXz33itqO7wUVHYQsuWMCpBtBwB9A8McyzIq1d77UZlZ + bEtnEVe1esgraWZpmE4FyKkE4BwcU4TOoXFs/aNsjkrAWPOS8J0HlSqq7aPU6iHXaGHJpnQVIHcOiN+N + TDL44TNPu91UmXuIjE2k7lEnjdZuSRxFD9ycL2xg8YbTKkBCIp2H3VNMTs9gc05gqnvDTYsLg39ebdwR + Sm4/Ie9qvQLRX6lh0fpTKkAS9s3jY3Ryhl7XFGX3nVwu7yHb9IIcUxvJ+ko04TEk6/JJTLukQBauS1MB + Es+R8S8873VT3fT2pzizwErqxXqSMsqJjtcrkMg9RwnXJrAg9KQKkGw7XBNUNHSRZWhBl2chNbvWL7xB + fIqB2MMX0O7VEbbjEKs3Rik1f20QQD6GZFviKQmTkMid5VSybVmYzCy2pbOI5605oTqQD/Wv9R1FPMYf + N743kwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAActJREFUOE+NklkvA1EUx+ubeCJii6WNh0oQsb/ggQSJhK/gU+iLiHhQS6wJotFa0lJb + EWpLGUwbbVFLFbFVqp2Z/s29MhNpZpKe5OR/5845vzPnnEkBoCFmcbj/Dv+M53kNx3EaLhYjt4aWOl1X + YoyGAIibt1hRlM04swFdTSfGLfvdUrykMsC0fq4K6Bu3wrbDSBDDf4gMmFlxqQKGZtdosuSKgKmlQ8QT + EPF4nN7xvIDBaTt6R5ehre4gUXJh+TC54IQgCDi99FL1+ALgxETXhReRaAwnF9eYs+6pAwxGM3y3D2QT + YDzXVFlvgOqBi24IY3Or6oDE6Sb7LLdgsR/SKv7AE1WP/57queeGqsPJUC0sa1SewcS8Awwr9i8OLvTy + BjJAhvUhHIni4NSHu+AnDAMmpGurlAFGccocz8t7IAN8//rBfegLrP8Vx5dB9IwsIre0WRnQP2GTk0n1 + 70gMT6/fuAq8weUOYfvkjq4xq1ilBfJSMrL3j/APHp/DFLB/9gC784YCMorqlL9AAuweubG0cYxR0yaG + Z9fRP2mjiZKnFVaqA8hfVlDRjvzyNuSVtyKnpIl6lr4Bmfp6sXotUrOLlQHJ7j0x7hcSwu53ww+AbQAA + AABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA + EnQB3mYfeAAAAHlJREFUOE/llI0KwCAIhB2+/zO7GQhmLQ2OYCyQ/uzjrqRLRAjaFIgMKKy5Rar7CJCZ + yYU8Yw2/NhtbXuwpJleBei7mtvkbcEelMQagQaoqZ7Y7y8N9JHe5tBwtVlSeA3qr/vVWKstlk9Vfup8m + uHorPdofPwf0f3gD43NpwwQa5WcAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAf1JREFUOE9j/P//PwNFAGQAJRiu2ansDqdr9V1F1/ZXWc69b2utp3/dYj7r10WzqV/3 + mXS+7zaueJplmH/DSivurBiyhWADfGofcLk2PC+ya3+7yTvpwkW/8ANrfMIP53tFHk13iT492aLwzknN + nk/PFauf3VEOPlapZrWHB2YI2ACXqrv2ti2vHwUF7LsdE7rFH5uXzLMuT1RNvX5F2mnfPS3z5ZEoBtg0 + vdhpmn//u5/zug584aGacmGbjNvezzrmC9eiGGBa/XS5bszVb86Wq7PxGaCcfn69nNfur4aW85egGGBR + fMtfw+/MDTXDbZfxGaBUcvWNisPG11Y2c2JQDDCLu6ys6n7igLz1ga/q9ls8sBmim302Ubn8yh8T60XX + rKwXaKIYAOJo+h2xEI+49Fra4+AubAbo5F+6rBay77O17QI3jGiECcgmX5ktmXD2qYbdZntkRUaZp5w0 + iy990Pbdth7dcHA0ivd//qiWfM5ZJeSgqrTLzvdalis3Iis0yDl9RCf79Hd9/23Gmp7rk+R8Vv9E8YJ4 + /fP34tmXv8harn+iYzbvjYH1vHuoBpx6oRe+97O2y+r36k5Lf6o6zf+GYoB80JETisarb+uaz/+kaT3n + h4bTwr/IBhgmHfht7L3hh5H3ih86rove6zjMe4gRiORmKIpyIshSAKemayZYZb7LAAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA + EnQB3mYfeAAAAKBJREFUOE9j/P//PwNFAGQAJRisGQ+wxyaHbCEhA+pJNUAfqGE/FMcjsWFiYBqnC7gC + F/oDMT+SrSAvYGB8BuwHGnAfZBDUEFAAYWAMA4AaQBr/o2GQF9BtB7uOEheAY4WSMMDvAqDh6LFAXBgg + hTrIBpi/5aFskKEoAF9CAmkCJR4QBhkEokGBSbQB6GpBhiCnC7A8qUkZ5Cr8LqAkNwIABOc40fsHWwUA + AAAASUVORK5CYII= + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBQAA - CwUByY3ISQAACOVJREFUWEedl1tsHOUVx8exE7/2uUKtkKCrPlcqL0htVUgiQVBFqBBIPPCGGtICQog0 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAACOVJREFUWEedl1tsHOUVx8exE7/2uUKtkKCrPlcqL0htVUgiQVBFqBBIPPCGGtICQog0 4qGIlFZpuVQK5E5j48TZXEhsJ4EmtpP4Hq8dX3bttfe+O7M7e5/7ffff883azZUkdKW/vtlvZuf8vv85 Z/abNo4+f9uzl1M1rf3xnz7+o/b29g0cB45roxNM60Mbza1/2tZO4LY5urhtA2n9RzRuoOtA14hFUXvy iZ+Zv9u+7dY9bj/q77nG9R688JOFocKlldHqbGyyGkqEaqHUXC2UCddC2eV6iF+ph4R4PZRPSqFCSgqJ @@ -163,14 +496,11 @@ f82/z9vxfwGXPqZxsYacjAAAAABJRU5ErkJggg== - - 17, 17 - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBQAA - CwUByY3ISQAAAjVJREFUOE9j/P//P4O3l5fBP0aGHob/DG1MjAwHtm7d9o+BWODo6MLs7OKaDqT/Ozk7 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAjVJREFUOE9j/P//P4O3l5fBP0aGHob/DG1MjAwHtm7d9o+BWODo6MLs7OKaDqT/Ozk7 f/P28g709vFmBhmMjq1sHViCAgOU3N3d8mByDECNLECcZGfvtM3c0va/vYPLHw8Pzypfb1RDVDQNOazt nZyArv3u4OA0B24AiAE0QBKILRwcXbZZ2dj/t7N3+O/v673R19eHGyRvamHL6e7pucLW3um3qal5t5ae CQ+KATAO0BA2IC6wd3D+bWfn9N/H13eZpZW9npWV3WRbG5v/eoYmk9W0DPiRvYbhT2tbW0Z7eydNoJfO @@ -212,8 +542,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAoJJREFUOE99kd1LU2Ecx0939Rd022UXQdBFXZVdh10FERRBipXD1CRDS8tmRbhM09LE + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAoJJREFUOE99kd1LU2Ecx0939Rd022UXQdBFXZVdh10FERRBipXD1CRDS8tmRbhM09LE WavUaCnpsqzhnNPlKvNlrFm+pem0Njdtup3nnPOc7dtznmGQbB34cODh+b78fs8WAMLmr981TtjZVjWm CgpNIMtUoCrlf1mhgqrGpZyM9G2CZrCZgY/jMjuD+6sPQ545vB+eht31DW/7v+BVzyi6bG7UmboID09m 4Bj0UgZsTje6e4dhsX6C2eJES7sdTc/eof7xa9QYLVpIcgNzpw2qGuNQqkJRKIdIMkQi4Xc4ghJ9lVZS @@ -230,8 +560,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAmxJREFUOE+lk11IU2Ecxk90YTdFH9RVVwXRTRQVVBcZhVuhs8UiMaPlIqZSMmVpbqTW + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAmxJREFUOE+lk11IU2Ecxk90YTdFH9RVVwXRTRQVVBcZhVuhs8UiMaPlIqZSMmVpbqTW zKFLN5embdG+UFNnJUqTIhEajr5nbIs+JHJGrmXtbG7OZfF0zhunXGhd9IeHF855n9//ef+87wIA1H8V C/hTzj41Bm6o0GNWQJabsWWuPdw3qrtVJ2cETub6IwgF2hANXIXfV4dSKR+6ajkua5TQV5ew4s0GsgDE aTsS4S7EQ+2wtcgRm7CiNE/ofTFUhrOnBCiTbEXAeQwTjjWQifcz/t+pCYA1J8IdaFYfhdtVB/p9I8Z9 @@ -247,8 +577,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAjlJREFUOE/Nk11IU2EYx2dgH6AQUthFUIFYBoW7SBkz7CIsFznCbLIuRg28cRdT2rR2 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAjlJREFUOE/Nk11IU2EYx2dgH6AQUthFUIFYBoW7SBkz7CIsFznCbLIuRg28cRdT2rR2 2rqYO5xtacelQdEcs6LS0gbLJskQR4UxkEFRgS1X2XChk8qatv6975HNZXYR3XTg4eV9Pn7P/3k4bxYA 0T99FJAya9dwuIHzTJXUtI4v8/tX8gvNMxOlSkfP7OcEcsS6yEYJs4rG6Jnpz8z/BUC6+8/wA5DXX0Wx 3IadMkuMJvDXA1jJnwKlFZg6B/EtsYB7I6+h40ewbX8L1u7WZ6X8nkAYrHsMBRUWUrs0tgBobvPmmTp8 @@ -263,8 +593,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAfRJREFUOE9j/P//PwNFAGQALjx5y7eYyZu/7pi3++uj5Qe/Hll58OuUVYe+SiGrx6m5 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAfRJREFUOE9j/P//PwNFAGQALjx5y7eYyZu/7pi3++uj5Qe/Hll58OuUVYe+SiGrx6m5 b8PXHUD8p3vd1+eNK748rl/y5c7cnV8fAw34hGwI3IDuVa/+Lzvx1QBkOlDTsv6N336nTnr3xqXgxG/r 1O1/zBO2fHevuPtx5vavb4AG3IS5AmwAUICzccnL//MOfL1av+Jrw4RN3/7E9Tz/51pw/L9dxu5fprFr jrvkb31oGb/8T1jHu59LD3y9j2IAiFM88/n/rFmf/xfO+fI/sufjC6vkLX8tEjf8MI1dmQ+SD6jdrmIY @@ -278,8 +608,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAeBJREFUOE9j/P//PwNFAGQACK869FVq5cGvU5Yf/Hpk3u6vj3rWf0mpXPiFEyaPi4Zr + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAeBJREFUOE9j/P//PwNFAGQACK869FVq5cGvU5Yf/Hpk3u6vj3rWf0mpXPiFEyaPi4Zr Bhrwae7Or4/rl3y507jiy+PWVV/uVCz68rly0ZdUfIbADLg5c/vXN+6VD96bJ2z5bpWy7Y9D7vGvKZM/ vyic8+VF4dwvYSBDlp34auBQdA3IhLga7H0QsfTA1/thHe9+mkXP/+2St/6maeyaY0D8xSx+8+/kyZ// ps/8/Cx77pfIeQe+XrXOPP4f6Fq418AGNCz9sse1/M57da+eWwG121VAYqaxK/ONo5d/1QmY/Su08+Nz @@ -309,8 +639,8 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAApdJREFUOE+Nkt9PUnEYxukv6K6L5uZF3nTTbOuiuumiKy8Sy7W5tdZF6DDMtMylSWUz + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAApdJREFUOE+Nkt9PUnEYxukv6K6L5uZF3nTTbOuiuumiKy8Sy7W5tdZF6DDMtMylSWUz ZoVmuJjMBMTI9My0peVmDX+loagF/QJU8HcCogI7Bzic8/Q9HLZu3PC7vfvuvXg/z/M+ew8AkKR77r6j tkMZh0MHM09mzI93ZWWdPrdIB1yONfdiTCIA0lXcKTV7B48Du2qsjBaQvwmeD8cQsef0pR1Own3VLoS1 ADuJ8FoP+ccg9FvOmvTqAsDZnckvWfIR+dsLDjug/f0Q+tWhE/sDEAd3sdtMIWqhCIQiTijSg/Or9gdg @@ -434,372 +764,6 @@ crkcMpkMUqkUuOMgzKM+JUCSJFQqFZTLZZRKJdjZCAqFAlYOoljaf8Pi7isYNgTG/QyP71oJ6B9h0De8 AOuQHdbBefQOzFFd0lUQBCSTSSQSCfA8T6MA6H1pM1uPVJlhX+DYeVKkLcD05gM+f9Lg/De0ozryDvQM bBv3dNPmMT+dVyv0LRj9LEbPOwb8Af/j3yagcYeqAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA - EnQB3mYfeAAAAF5JREFUOE9j/P//PwNFAGQAJRisGQhABEkYZincAFJcAbKMKAMSChrgCpEtINoAXK4i - 2gD6uwBmI5zOKACHQQKMToDwifYC5WEAtRndIDq6AOpn+riAorxASj5AVwsAid1qB+RlEMkAAAAASUVO - RK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBQAA - CwUByY3ISQAAAWtJREFUOE9j/P//PwNFAGQADOfNvg9kQvhZ02/D2fF9l+DskMaTcDbYclwGpE2+CVcY - 03kezg6oPYppAMhmEM6ece9/BtDm9Ck3/qdMvPo/EWhzbNe5/xGtp/+DbAZp9qk8+N+jdO9/l8LtYINQ - XJA1FeFskGaY60Kaj8PZHqW7cXsBZDNME7KzA2uPwMVdCndiGgBydgaSs0GaI9pBzj4OdPZhsLPdQM4u - 2P7fLnfrf5vMjf8t09ZhegHF2UDNMNcgOxukGTngUcIAFGAwSZDNMLYTkrMt0tdiGhDfc+U/2Nng0EY4 - G2QzyM8O2Vv/W2du+m+euu6/adKq/4bxK/4bRC/F9AJyaIP8DHMBsrNBmnF6IQjJ2cihDQswkEa9GIjN - MAxmIJy9H5xIQH52gIa2OTC0TZJWg52tF73sv07U4v9aEQvBGCMhoYR2NiK0jeKXw22FaURxAYyD7GyL - VERoIzsbrwHIfiOWDQC8F6MA2SYGaAAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA - EnQB3mYfeAAAAB5JREFUKFNj/P//PwNBUFBQ8B8fBhsCIghhhmFtEgAZm8Rn5/bAFAAAAABJRU5ErkJg - gg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBQAA - CwUByY3ISQAAAMZJREFUOE9j/P//PwNFAGQAJZgizWDXU2I7VgN6N//937Xh1/+8qY8+gRSg89EtxHAB - SPPVh3/+64auAqr9z4DOJ2hA29pv/289/f1f1W8R2AB0PkEDGld8/n/54e//cm6zwAag8wkaULv4/f8T - 13//F7ObBDYAnU/QgIp5r/7vvvDzP79ZN9gAdD5BA0pmP/+//uTP/5wGrWAD0PkEDSiY/vj/gj2f/7Pq - NIINQOcTNAAU/2y6TXAD0PkEDSA1ZVI/KZPqAgBmE8VVB/UQsAAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBQAA - CwUByY3ISQAAAjVJREFUOE9j/P//P4O3l5fBP0aGHob/DG1MjAwHtm7d9o+BWODo6MLs7OKaDqT/Ozk7 - f/P28g709vFmBhmMjq1sHViCAgOU3N3d8mByDECNLECcZGfvtM3c0va/vYPLHw8Pzypfb1RDVDQNOazt - nZyArv3u4OA0B24AiAE0QBKILRwcXbZZ2dj/t7N3+O/v673R19eHGyRvamHL6e7pucLW3um3qal5t5ae - CQ+KATAO0BA2IC6wd3D+bWfn9N/H13eZpZW9npWV3WRbG5v/eoYmk9W0DPiRvYbhT2tbW0Z7eydNoJfO - m5lb/zcyNvtuaGz0Xk1Ld52yui4nerhgGABToG9g4qCnb/LT0sr2v56+0T0FZU0hbAGL1QBjExMFNXWd - S7p6hv+ABv03MbX4r6Wte4soAwyNTOXVNLSvAg34o6GpvUZETNJETl5lm4Gh8X9Vde1MvF7Q0NaVkFVQ - PiWnqPofaPshSQkpIR4+Pm5+IRFueSW16QYGxl9UtQxksQaihoEFh5yi2iIJacWPOrqGT7R19bVgCnkE - BDg4Obn5dPUNz0rKKEySUVSDJzR4GEjJKniLSSj8V1XT/q+iptHKyc0LTgMwzMLCzAQUV1FRUb3PKyAo - r65rwgSSAysQEBBiExERaxUSFv8vr6C8i4OLR42HTwCsABkLCAgym5lZTubm5TJV1zNHGABSJCOvasTK - xj6RgZHJjpmFhRdbiINtZGBgYWJi4sKaEnFpwieOMyERaxgAd/H0VrlTD2AAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBQAA - CwUByY3ISQAAAZJJREFUOE9j+P//PwMM582+D2T+ZzAOmf4fhFXdusB8GE7ovYTCB4nDJUEcmAEgNrpm - kBhJBiDbDGNHd5zDdAHIVhiuqu/4X9PQCcaVQFxe2/E/p6zzv56h6f/ojrP/w5pP/g+qP/rft+ogGGN4 - oaah4/+7L3/+v/n05/+L97/+P3z18//m/df+m1rYgxUH1h3FdAEosGBOBNkM0vzs7a//91/++H/j8df/ - 89ed/q+pYwRW41N5ALsBsAADOfv5O6DmFxDNF+99+T9jxYn/0nLKYI1uJbsxDUAO7bLazv8PgDbffPwN - rPnMzU//Jy4+/l9IRAKs0TF/G/5oBAXYmp0X/89ee+r/VKDNE4Caexcc/8/Kxg7WaJO1Cb8B5pZ2/60d - PP7rG1n+l1fW+C8iLg3WzABOLsAElrgKvwGgaMIW/zAxg7hlmAZEtZ/9D8IgzaBo8qk68N+jdM9/58Id - /+1ztvy3ytjw3zhh5X/92GX/daIW/9eKWAjHGOkAWzQhuwikGd2FKHkBWzTR1wB8AYhLDgDUwtLm00DQ - 8QAAAABJRU5ErkJggg== - - - - This allows you to change the size of the rows and columns in the table. - -When selected, the entire table will turn gray. You can then click and drag the sides of the table cells to adjust the height and width of the row or column. - - - - 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 - YII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAArRJREFUOE99kntIU1Ecx6//9Fd/9kd/FSU9rD+0hxIoPcjcyppBRJZIiqlDA7HIFohl - mr0081Gr+aD5mI/Kx3TO1po5zbmcaahIiKBkOvGBqTnndu+3cw45kmYHvpx7Lvf3Oed87s8DAFep7SYT - OJ53kghrZ4Hn4sNEHhwZ1wqsYjJpn0RvZms2aGFFkwUCeFd4gceyQ8C8TYDvySgGT1RMiElwIX2QrVfD - HlSaLlasNvThdXMvytVdKH5jQv/QOAOsFpcZlxGXM4Tw7GlEvVjZSmsZoKzR7Np9xcnjl13AzKKA7sFx - BJy7TgF4rl2Aqt2BB/UORObOQpTUS+PHACVqk4WeoKTuMwqrO5BfZkRWkQGdfROrJzhwQjaMq0V2HIs3 - YE+IAv6xevhF1GcwgLL2k9RJ7m1b4TG3xGPyp4DRKYC6odcrVZtwu+BLuveVHuw8/RJxd6sTvSRyfl9o - hYU7FKbccUSqG7U5eOQoP+JRgR7pz5qR8lTDAH/LHbHa4B3dx+TuPy/XeUkU4LafrbsvSahNm5l3YHpB - wI9ZAcOTAgbHBLb7enL3im7GbgvMBLdJ3FB547E6bpZIe1VjRmGVCUkP65B4rwb/k7s7KKWVAMzcRnGH - 6nJqa/volBMSmRkV+u9432WFttMKIpedwJ1cujvJQW5D8Le0XRc/fPUJll06k9wPv0gNDofeiSL/30Lk - wp3cth4r/TtS1gcRmWOWrIYlhGcMQNmyBFm5nUFO3RqIKX7bBndyWywMUMoAPqGVAYEJRuRpFpFSZUeE - nEdI6giD5JB+WLDx/8jVmRmAtTTrAwI57h3+Dv4xOlbsGZSNowndvooqA6jc1HwtkrMaXXKpnzUACiFC - tniKcqkYmgD6Tq7SwzonkI4ch7FnwiW3yeQG8AfiKqbrvBIt22m90G9+AzC/1ToF8MxHAAAAAElFTkSu - QmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAScQAA - EnEB89x6jgAAAIBJREFUOE/FU9ESgCAIy///aAMU0DDYSxecV6KOObB1squRs3VyNY1Z4OWHATYTFHI1 - gp0RXdm+vlGoLC5zPowCHDeiAGkmhMHnAEFpDwwRjcFKV++/6xyLVgEk2UfhnuVTNsVBa5Njk8xV6c1k - hNwGBmaHAP5n4G8q6gFdoZLjBpE7j5KJdaRlAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA - EnQB3mYfeAAAASxJREFUOE9j/P//PwNVAchAamKEYQxAg7HAu0+//m9Z9ur/5XufQVbjhlCH4TUQZtiy - w7//J3ddw28oIQORDZuw8f3/9Ckv/oc33f5///l37C4lZCDImwbhK/9bJ23637Ds/X/X4nP/NYOW/5d3 - n0megbDQciq5+j+1985/abt2ysMQZKhe2qX/Su6T/0tZN5JmYFZh5f+M/Mr/6XkV/1Nyyv4nZZf+T8wo - +R+XXvQ/JqXwf2RS/v/whLz/IXE5/4Nisv8HRGX+943I+O8Tnv7fMzQVmPIgyY9gssGbVJATEc0NzCiA - eDc1t/x/Msi7mSX/4zOK/semFv2PSi74H5ZY9D80Pu9/cCzIu1n//SIh3vUKTfvvGZyCxctUyoJUzceo - kTLqQnLLyMEfKQBWOvF3m6dboAAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA - EnQB3mYfeAAAASlJREFUOE9j/P//PwNFAGQAJZgizWDXU2L7IDEgq7Dyf0Z+5f/0vIr/KTll/5OyS/8n - ZpT8j0sv+h+TUvg/Min/f3hC3v+QuJz/QTHZ/wOiMv/7RmT89wlP/+8ZmgqMAQohhdqBsZBRAHF+am75 - /2SQ8zNL/sdnFP2PTS36H5Vc8D8sseh/aHze/+BYkPOz/vtFQpzvFZr23zM4BbcHKmc/+B9Rdfi/f9Fu - UFLDCXFKtCx79X/hvu//HVPXk2aAQ9Kq/5ndF/+DDJi5/ct/38Id/81jV/xX9ZiA1SAMF1y7++a/pv+c - /80L7/5vXPrqf0TTjf9GofP/n7v2lDgDQL69cf/tf7OoRf89iw7/1/ab8X//ybs4vYEzDG7cf/NfzrHr - //x1Z/CGAQCjS0wEhVWp7QAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAM9JREFUOE9j/P//PwNFAGRAeMMjHZ/SU0DmfwZSMVhDSNP9/x75B1AMALoK5DS8GOx6 - EBFYdlnTIXn1f8ekVX5kucA1e8d/i/Dp/439O0j2Bsl+Rnch2ICg+hv/A6qv/HfJ3t5FlhfAhtRdT7eJ - XQD3AqEABMnDAzGk4aGPa9b2/7aJS/3JcoFnwYH/lhEz/hv5tgxQIPpXXfzvW37uv0PKavJd4Fdx7r9j - +qY0WBiQFIggTR5FR2abBU8gzwUehQfBgWgTvTCQrFggVROyegA1/oH1CRXf9wAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAHxJREFUOE9j/P//PwNFAGRAQfehAiD+D6JBfFIwWDFIc2jLk/+y1lVALsQAFiaW//gw - TB3MgAKQZiAmzwWkOBldLUn+xWYR3AujgUha4kEOTHAgJlYsLwDi/yCa1CiFGfDfs+jof0njTPJSIshm - kGYgJs8FpDobIwwoMQAAEuaJ1nndlB8AAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA - EnQB3mYfeAAAADpJREFUOE9j/P//PwNFAGQAJRismZmZ+T86RjaUhYnlPzoGqQe7nhLbR5oBo4GIO7WS - lJCQA3IYpUQA76epNf0QgmEAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAl5JREFUOE+l019MUlEcB/B67M2HtrZ66aGHarW2/sxy5tJa2J8l2YNzMmuxjNWkEomu - AgJXvECJWCpMjH/ZkrKlzeyvLV5aWPNfw0BrJRVDrEAqWZT32720WtbVHjrbeTj3nu/n3Ps758wHMO+/ - Ggtw9d6H91bZrVpBq1UHQipefqv7WhrXPM5wbbVsq9tOgQnTn1+RtKOJfOl2UOh0W4k/EU7gQjNFT42R - LABETHBaSCTGtKnxgLcn43eEE7A3qD/R43VMgPoBNGrAjl2WGlhq5XBajXk/EU6gpV7JBIxwmdXAuAm2 - egVoBrI3qsH8Esy1RM+cgElTmlrRdpYAHTbBYijHNAOa9VIkgzpoZQcDMwBGVtga1GD7zevO05R0PxM0 - ornuBJKvDWjSipB8o8eZikOYGqtGmXDP8C+AKcwCl0WL2HOSeUnisk0FuYiPbyED7rQdRzyggKe9FB9f - VKHtXAni/kocLdo+NOMLGERTVrQFE8MqTI7KYVbxkQhSiI5qEBuRI+on8MEvRSxAINR3BML8zMd/1eCi - VS9NIUMSRPrFiD5TIT6iwaS/Cu98lQgPyhDuO4bA7QIIdqV7OItorVdcYpG3XhFCvWJEmNB7XwUmnp5C - 8FEJBq7y8OB8Fl24c/19TqDdbUqTHeCRLDLYtQ/9HXza151PD3XsxhN3DrytmdCJM79IinnmWbfRUaNe - qBDtrWKRK8Zt9N3mbNpjy8KNho3ThHDd1x2bV+Jkce7iOc+B8jBvmVJcIBHkZXRuWr0ksWHFIuSkLx0W - 5K5tKS/MXvPPozzbDeV6/h15lKF3GQZi4gAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAeFJREFUOE+l019IU1EcwPFJz9JbD/Vgj5Kr9CGikDCitIxIqJeiMHQ5kdU2wyXan7mc - FmqQQURQFiG0RmgjGSbZcC6wMZz/bmqaTRcGpijOhNn9dibl3RLiUhc+3N85B7735Z4kQPNfTywg+Rr5 - 04D3DsGuBnrfNhB4U0/P6zo8LjvtDhvuZ9ZVqx//HSA6Ika/4FWl0pCnBIa6G4lG3okNh2oVhuNKwPeq - huW5l2LjvmrlJceUQFfrDb6HH0HktmqW4qNKwNNiY368jpU5+xpma/kbiz5XCXS+sDITLIPpKtUsRUeU - QPtzK5878liaLIepa4qwmL/ErePOynSHlYBbBD66Mgl79jHu3sOoaweBpk0s9uuQJ69C6Mo6l3Q5cQGH - la/dJxlq2sCCX8uMN5XAPQ2hjmzkiQoYu7yOuSA7MRAJ6Bl1bkNq3ogc3MWyL5Xgwy1Eh0tBMgnmBMb8 - g3EB8VvKAwZ5yZ/PRGs67+8mE3qgYUz45ExDlozQfxEGxfuXC2cOJAZW+op/xA6jvXrCbXv58GQrg083 - 01OfhPQ4hSlnJt/aclnoPMG8UHJqf2KgypSDzXSIGnMWt4y7uWnIwF6kpfp8GrZCLdcLtFSe247l7E5K - T6djEtYuU2z4Vz8BC8XpB/oFsiMAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAdBJREFUOE+lk90rQ2Ecx/mL5MKFG7lSXLiUa3IjKS4okpS4UFJelmnY2GbeLcPYbOZt - mKERQmFnmMyFmdnOtq/ndzizJ1zg1K/O83Q+35fn6aQDSPvXQwJto/dInRbdPRrVftT03aGi6xYl7Tco - bvWhsElAXr2AnBovsquvGcrMZQGNAxiwJ6C0xtFjjqHDJKJtOormsQga9K+o1bygShVCeW8IZd1BZJbt - 8gJygmatH3UDflQq3p2LWnwoaPAi98OVnGkySpyfAvo5FxKJRHLW3RfcemHtUFpHxTiC4ThGTE5k5Zd+ - CgwZnRyw4jrj1rP2A0QY/MzgQDAGrXGdF+ifXMX+iQByXnGdw7Z1CsvmMciZ4BmrG+PmHRiYM8GDkw5e - QGlY5hyXGCxXotgEB4IifIEozm+jUI3ZeIEe7SInYF47SnZ+DsdgmHNCeBQl2HMdgXLEygt0auax7bmE - ZYPFXj2EKTU2gym2esoB1bgNSoMVCt3iV4HUW5i2uKXTfniKsdgi1Kyz5yqC7bMw7EchdA+bfxagzhPU - mcECg+XO7/AL5vdCoMTcNdKGY+dUOm2C5dMm536KzTordEuSM337rQAp/naS/wK9/HX+DMqGb0lL76AI - wx7nAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAklJREFUOE+lk11I02EUxusuIogugqALIyK6iJpEEIUZIQWSK8kLQ/pAqUApKbEsl4kL - srQwQYeOVmp+VGamlo1lMUVJ+9DmdCbNBVqkzvyiD9vmr51/rP8IoqgXzuXzO88553nnAnP+6wmg8FY7 - wZVf0UbO9WbOFTehy39ISk4difpq4tMriUstJSbZxK4ko1/qbx4AeLzwu/r0FcamZxkam6X/vY9Ol49V - 2zP/DuC2O3AcCMW+X4Ot1a6IyxoHWLnt7J8B0lnEDJmZeXycZ7uX0eLwca3+NSsiggAy86/2A7bt+zQ/ - xLkRtEWHYO7yUnzHxvKtGaoDWVgwIHhmsS2dRXz33itqO7wUVHYQsuWMCpBtBwB9A8McyzIq1d77UZlZ - bEtnEVe1esgraWZpmE4FyKkE4BwcU4TOoXFs/aNsjkrAWPOS8J0HlSqq7aPU6iHXaGHJpnQVIHcOiN+N - TDL44TNPu91UmXuIjE2k7lEnjdZuSRxFD9ycL2xg8YbTKkBCIp2H3VNMTs9gc05gqnvDTYsLg39ebdwR - Sm4/Ie9qvQLRX6lh0fpTKkAS9s3jY3Ryhl7XFGX3nVwu7yHb9IIcUxvJ+ko04TEk6/JJTLukQBauS1MB - Es+R8S8873VT3fT2pzizwErqxXqSMsqJjtcrkMg9RwnXJrAg9KQKkGw7XBNUNHSRZWhBl2chNbvWL7xB - fIqB2MMX0O7VEbbjEKs3Rik1f20QQD6GZFviKQmTkMid5VSybVmYzCy2pbOI5605oTqQD/Wv9R1FPMYf - N743kwAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAActJREFUOE+NklkvA1EUx+ubeCJii6WNh0oQsb/ggQSJhK/gU+iLiHhQS6wJotFa0lJb - EWpLGUwbbVFLFbFVqp2Z/s29MhNpZpKe5OR/5845vzPnnEkBoCFmcbj/Dv+M53kNx3EaLhYjt4aWOl1X - YoyGAIibt1hRlM04swFdTSfGLfvdUrykMsC0fq4K6Bu3wrbDSBDDf4gMmFlxqQKGZtdosuSKgKmlQ8QT - EPF4nN7xvIDBaTt6R5ehre4gUXJh+TC54IQgCDi99FL1+ALgxETXhReRaAwnF9eYs+6pAwxGM3y3D2QT - YDzXVFlvgOqBi24IY3Or6oDE6Sb7LLdgsR/SKv7AE1WP/57queeGqsPJUC0sa1SewcS8Awwr9i8OLvTy - BjJAhvUhHIni4NSHu+AnDAMmpGurlAFGccocz8t7IAN8//rBfegLrP8Vx5dB9IwsIre0WRnQP2GTk0n1 - 70gMT6/fuAq8weUOYfvkjq4xq1ilBfJSMrL3j/APHp/DFLB/9gC784YCMorqlL9AAuweubG0cYxR0yaG - Z9fRP2mjiZKnFVaqA8hfVlDRjvzyNuSVtyKnpIl6lr4Bmfp6sXotUrOLlQHJ7j0x7hcSwu53ww+AbQAA - AABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA - EnQB3mYfeAAAAHlJREFUOE/llI0KwCAIhB2+/zO7GQhmLQ2OYCyQ/uzjrqRLRAjaFIgMKKy5Rar7CJCZ - yYU8Yw2/NhtbXuwpJleBei7mtvkbcEelMQagQaoqZ7Y7y8N9JHe5tBwtVlSeA3qr/vVWKstlk9Vfup8m - uHorPdofPwf0f3gD43NpwwQa5WcAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAf1JREFUOE9j/P//PwNFAGQAJRiu2ansDqdr9V1F1/ZXWc69b2utp3/dYj7r10WzqV/3 - mXS+7zaueJplmH/DSivurBiyhWADfGofcLk2PC+ya3+7yTvpwkW/8ANrfMIP53tFHk13iT492aLwzknN - nk/PFauf3VEOPlapZrWHB2YI2ACXqrv2ti2vHwUF7LsdE7rFH5uXzLMuT1RNvX5F2mnfPS3z5ZEoBtg0 - vdhpmn//u5/zug584aGacmGbjNvezzrmC9eiGGBa/XS5bszVb86Wq7PxGaCcfn69nNfur4aW85egGGBR - fMtfw+/MDTXDbZfxGaBUcvWNisPG11Y2c2JQDDCLu6ys6n7igLz1ga/q9ls8sBmim302Ubn8yh8T60XX - rKwXaKIYAOJo+h2xEI+49Fra4+AubAbo5F+6rBay77O17QI3jGiECcgmX5ktmXD2qYbdZntkRUaZp5w0 - iy990Pbdth7dcHA0ivd//qiWfM5ZJeSgqrTLzvdalis3Iis0yDl9RCf79Hd9/23Gmp7rk+R8Vv9E8YJ4 - /fP34tmXv8harn+iYzbvjYH1vHuoBpx6oRe+97O2y+r36k5Lf6o6zf+GYoB80JETisarb+uaz/+kaT3n - h4bTwr/IBhgmHfht7L3hh5H3ih86rove6zjMe4gRiORmKIpyIshSAKemayZYZb7LAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA - EnQB3mYfeAAAAKBJREFUOE9j/P//PwNFAGQAJRisGQ+wxyaHbCEhA+pJNUAfqGE/FMcjsWFiYBqnC7gC - F/oDMT+SrSAvYGB8BuwHGnAfZBDUEFAAYWAMA4AaQBr/o2GQF9BtB7uOEheAY4WSMMDvAqDh6LFAXBgg - hTrIBpi/5aFskKEoAF9CAmkCJR4QBhkEokGBSbQB6GpBhiCnC7A8qUkZ5Cr8LqAkNwIABOc40fsHWwUA - AAAASUVORK5CYII= @@ -856,8 +820,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAoJJREFUOE99kd1LU2Ecx0939Rd022UXQdBFXZVdh10FERRBipXD1CRDS8tmRbhM09LE + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAoJJREFUOE99kd1LU2Ecx0939Rd022UXQdBFXZVdh10FERRBipXD1CRDS8tmRbhM09LE WavUaCnpsqzhnNPlKvNlrFm+pem0Njdtup3nnPOc7dtznmGQbB34cODh+b78fs8WAMLmr981TtjZVjWm CgpNIMtUoCrlf1mhgqrGpZyM9G2CZrCZgY/jMjuD+6sPQ545vB+eht31DW/7v+BVzyi6bG7UmboID09m 4Bj0UgZsTje6e4dhsX6C2eJES7sdTc/eof7xa9QYLVpIcgNzpw2qGuNQqkJRKIdIMkQi4Xc4ghJ9lVZS @@ -874,8 +838,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAATBJREFUOE9j/P//PwNFAGQAOgYaCDIVKAw2HM7GqhabIEwMZgheNVQzIDo6Otff33+X + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAATBJREFUOE9j/P//PwNFAGQAOgYaCDIVKAw2HM7GqhabIEwMZgheNVQzIDo6Otff33+X t7f3THd3dwGY82EWWFhYlAPxfyguh7sSxPD19e338fF57OHhccrV1fW/tbX1I2QDgJrSQBqRDAMZ5AJW AyKANtbDJIGGvLW0tIQHIEgcqPgMFgM64AaAGEFBQX1AfNXLy+sbTDEsEBMSEmBOh9NZWVkQS4CahEJD Q/+HhITcA7IF7O3tb5mbm6O74C7U72BnI2OQ/ysCAgL+u7m5LXZ2duYHav5mZmaGbgAsAFcBDRIEYqXV @@ -895,8 +859,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAArRJREFUOE99kntIU1Ecx6//9Fd/9kd/FSU9rD+0hxIoPcjcyppBRJZIiqlDA7HIFohl + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAArRJREFUOE99kntIU1Ecx6//9Fd/9kd/FSU9rD+0hxIoPcjcyppBRJZIiqlDA7HIFohl mr0081Gr+aD5mI/Kx3TO1po5zbmcaahIiKBkOvGBqTnndu+3cw45kmYHvpx7Lvf3Oed87s8DAFep7SYT OJ53kghrZ4Hn4sNEHhwZ1wqsYjJpn0RvZms2aGFFkwUCeFd4gceyQ8C8TYDvySgGT1RMiElwIX2QrVfD HlSaLlasNvThdXMvytVdKH5jQv/QOAOsFpcZlxGXM4Tw7GlEvVjZSmsZoKzR7Np9xcnjl13AzKKA7sFx @@ -914,8 +878,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAxBJREFUOE+Nk/tPk2cUx3Wb2R+yGLMETYyo05hlupCiQg2gby0IDEdXyqVcCnaVS4v0 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAxBJREFUOE+Nk/tPk2cUx3Wb2R+yGLMETYyo05hlupCiQg2gby0IDEdXyqVcCnaVS4v0 pU68lHZACcLWyiaToAj1JV4WGUzHwnDLogM3WabhUlMLyyyrIvazviwt8Tef5OQ5eXLO5zznPN9nNbAq uirtA1sjvpJw+P231rwR9/aaN1cH/128+3QhdCMcDnubzaqfYsFRRwbIVtU4UFTjlB54hoa5/mAMaWoA z2QtJZIWQfyC3KOeCU3VOW00ProvJ1fapULRLS303LvCnX/uMv5shoreeux/VJN/WckuWwMZ4gjppo5g @@ -934,8 +898,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAoxJREFUOE+Vk11IU3EYxu2qqwqCgugihCgMymxthlQX2geiRkNpGE5TM+cnDptmS6Wk + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAoxJREFUOE+Vk11IU3EYxu2qqwqCgugihCgMymxthlQX2geiRkNpGE5TM+cnDptmS6Wk uUz2wTRTrFaiZc00PzaX2oaTjZmm1uYsQ2VmX9Y0leVo82n/c6gIC/TAgXPz+73P83LeNQB8VvMYClNC px1ONWE2rFsb4EMEK30bb18IbkiPxbg0C4M5sSDfq4I7mvKhau/F0NVsCpYxmbTAZlTAYpBjQCeB+WkJ DK0imLQlMHeWoF93HcPP5dCqsuGYKMXrnnSIRPkQH2B6UW/9X4IljxUe9zO4XVr8cLbANa/C95laTNoU @@ -993,8 +957,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAkZJREFUOE9jPPb4MSfTu++CS2ZPOpiWX+lXnJUgxszMvJmBgeGRlJTU43fv3mV+//7d + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAkZJREFUOE9jPPb4MSfTu++CS2ZPOpiWX+lXnJUgxszMvJmBgeGRlJTU43fv3mV+//7d 7NOnT9VAzAKU47h165YLUOw+UA0DQ2hoKHN4eLhPTEzMJRAtLy9vxMrKuuz///8MUVFRfUDxeaqqquuA SsNBYkBQDcRZIDaYDyKCw6JAMkLKalog2hiIPwkICJzPLyr7r6Gh4QvkTwViXZgmEN295lNpZPONsyAT o4H4KRBfgeIyIL0KpEhUVLQcyJ4BxNuAOAYkBnRhr0Ng8enQ+svf9YLnTWTQNjAF2RoNdV4wkH0XiF8C @@ -1105,8 +1069,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAmxJREFUOE+lk11IU2Ecxk90YTdFH9RVVwXRTRQVVBcZhVuhs8UiMaPlIqZSMmVpbqTW + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAmxJREFUOE+lk11IU2Ecxk90YTdFH9RVVwXRTRQVVBcZhVuhs8UiMaPlIqZSMmVpbqTW zKFLN5embdG+UFNnJUqTIhEajr5nbIs+JHJGrmXtbG7OZfF0zhunXGhd9IeHF855n9//ef+87wIA1H8V C/hTzj41Bm6o0GNWQJabsWWuPdw3qrtVJ2cETub6IwgF2hANXIXfV4dSKR+6ajkua5TQV5ew4s0GsgDE aTsS4S7EQ+2wtcgRm7CiNE/ofTFUhrOnBCiTbEXAeQwTjjWQifcz/t+pCYA1J8IdaFYfhdtVB/p9I8Z9 @@ -1122,8 +1086,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAfRJREFUOE9j/P//PwNFAGQALjx5y7eYyZu/7pi3++uj5Qe/Hll58OuUVYe+SiGrx6m5 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAfRJREFUOE9j/P//PwNFAGQALjx5y7eYyZu/7pi3++uj5Qe/Hll58OuUVYe+SiGrx6m5 b8PXHUD8p3vd1+eNK748rl/y5c7cnV8fAw34hGwI3IDuVa/+Lzvx1QBkOlDTsv6N336nTnr3xqXgxG/r 1O1/zBO2fHevuPtx5vavb4AG3IS5AmwAUICzccnL//MOfL1av+Jrw4RN3/7E9Tz/51pw/L9dxu5fprFr jrvkb31oGb/8T1jHu59LD3y9j2IAiFM88/n/rFmf/xfO+fI/sufjC6vkLX8tEjf8MI1dmQ+SD6jdrmIY @@ -1137,8 +1101,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAeBJREFUOE9j/P//PwNFAGQACK869FVq5cGvU5Yf/Hpk3u6vj3rWf0mpXPiFEyaPi4Zr + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAeBJREFUOE9j/P//PwNFAGQACK869FVq5cGvU5Yf/Hpk3u6vj3rWf0mpXPiFEyaPi4Zr Bhrwae7Or4/rl3y507jiy+PWVV/uVCz68rly0ZdUfIbADLg5c/vXN+6VD96bJ2z5bpWy7Y9D7vGvKZM/ vyic8+VF4dwvYSBDlp34auBQdA3IhLga7H0QsfTA1/thHe9+mkXP/+2St/6maeyaY0D8xSx+8+/kyZ// ps/8/Cx77pfIeQe+XrXOPP4f6Fq418AGNCz9sse1/M57da+eWwG121VAYqaxK/ONo5d/1QmY/Su08+Nz @@ -1152,8 +1116,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAArRJREFUOE99kntIU1Ecx6//9Fd/9kd/FSU9rD+0hxIoPcjcyppBRJZIiqlDA7HIFohl + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAArRJREFUOE99kntIU1Ecx6//9Fd/9kd/FSU9rD+0hxIoPcjcyppBRJZIiqlDA7HIFohl mr0081Gr+aD5mI/Kx3TO1po5zbmcaahIiKBkOvGBqTnndu+3cw45kmYHvpx7Lvf3Oed87s8DAFep7SYT OJ53kghrZ4Hn4sNEHhwZ1wqsYjJpn0RvZms2aGFFkwUCeFd4gceyQ8C8TYDvySgGT1RMiElwIX2QrVfD HlSaLlasNvThdXMvytVdKH5jQv/QOAOsFpcZlxGXM4Tw7GlEvVjZSmsZoKzR7Np9xcnjl13AzKKA7sFx @@ -1180,8 +1144,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAApdJREFUOE+Nkt9PUnEYxukv6K6L5uZF3nTTbOuiuumiKy8Sy7W5tdZF6DDMtMylSWUz + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAApdJREFUOE+Nkt9PUnEYxukv6K6L5uZF3nTTbOuiuumiKy8Sy7W5tdZF6DDMtMylSWUz ZoVmuJjMBMTI9My0peVmDX+loagF/QJU8HcCogI7Bzic8/Q9HLZu3PC7vfvuvXg/z/M+ew8AkKR77r6j tkMZh0MHM09mzI93ZWWdPrdIB1yONfdiTCIA0lXcKTV7B48Du2qsjBaQvwmeD8cQsef0pR1Own3VLoS1 ADuJ8FoP+ccg9FvOmvTqAsDZnckvWfIR+dsLDjug/f0Q+tWhE/sDEAd3sdtMIWqhCIQiTijSg/Or9gdg @@ -1261,8 +1225,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAArRJREFUOE99kntIU1Ecx6//9Fd/9kd/FSU9rD+0hxIoPcjcyppBRJZIiqlDA7HIFohl + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAArRJREFUOE99kntIU1Ecx6//9Fd/9kd/FSU9rD+0hxIoPcjcyppBRJZIiqlDA7HIFohl mr0081Gr+aD5mI/Kx3TO1po5zbmcaahIiKBkOvGBqTnndu+3cw45kmYHvpx7Lvf3Oed87s8DAFep7SYT OJ53kghrZ4Hn4sNEHhwZ1wqsYjJpn0RvZms2aGFFkwUCeFd4gceyQ8C8TYDvySgGT1RMiElwIX2QrVfD HlSaLlasNvThdXMvytVdKH5jQv/QOAOsFpcZlxGXM4Tw7GlEvVjZSmsZoKzR7Np9xcnjl13AzKKA7sFx @@ -1280,8 +1244,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAf1JREFUOE9j/P//PwNFAGQAJRiu2ansDqdr9V1F1/ZXWc69b2utp3/dYj7r10WzqV/3 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAf1JREFUOE9j/P//PwNFAGQAJRiu2ansDqdr9V1F1/ZXWc69b2utp3/dYj7r10WzqV/3 mXS+7zaueJplmH/DSivurBiyhWADfGofcLk2PC+ya3+7yTvpwkW/8ANrfMIP53tFHk13iT492aLwzknN nk/PFauf3VEOPlapZrWHB2YI2ACXqrv2ti2vHwUF7LsdE7rFH5uXzLMuT1RNvX5F2mnfPS3z5ZEoBtg0 vdhpmn//u5/zug584aGacmGbjNvezzrmC9eiGGBa/XS5bszVb86Wq7PxGaCcfn69nNfur4aW85egGGBR @@ -1295,8 +1259,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAActJREFUOE+NklkvA1EUx+ubeCJii6WNh0oQsb/ggQSJhK/gU+iLiHhQS6wJotFa0lJb + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAActJREFUOE+NklkvA1EUx+ubeCJii6WNh0oQsb/ggQSJhK/gU+iLiHhQS6wJotFa0lJb EWpLGUwbbVFLFbFVqp2Z/s29MhNpZpKe5OR/5845vzPnnEkBoCFmcbj/Dv+M53kNx3EaLhYjt4aWOl1X YoyGAIibt1hRlM04swFdTSfGLfvdUrykMsC0fq4K6Bu3wrbDSBDDf4gMmFlxqQKGZtdosuSKgKmlQ8QT EPF4nN7xvIDBaTt6R5ehre4gUXJh+TC54IQgCDi99FL1+ALgxETXhReRaAwnF9eYs+6pAwxGM3y3D2QT @@ -1310,8 +1274,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAoxJREFUOE+Vk11IU3EYxu2qqwqCgugihCgMymxthlQX2geiRkNpGE5TM+cnDptmS6Wk + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAoxJREFUOE+Vk11IU3EYxu2qqwqCgugihCgMymxthlQX2geiRkNpGE5TM+cnDptmS6Wk uUz2wTRTrFaiZc00PzaX2oaTjZmm1uYsQ2VmX9Y0leVo82n/c6gIC/TAgXPz+73P83LeNQB8VvMYClNC px1ONWE2rFsb4EMEK30bb18IbkiPxbg0C4M5sSDfq4I7mvKhau/F0NVsCpYxmbTAZlTAYpBjQCeB+WkJ DK0imLQlMHeWoF93HcPP5dCqsuGYKMXrnnSIRPkQH2B6UW/9X4IljxUe9zO4XVr8cLbANa/C95laTNoU @@ -1386,8 +1350,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAmxJREFUOE+lk11IU2Ecxk90YTdFH9RVVwXRTRQVVBcZhVuhs8UiMaPlIqZSMmVpbqTW + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAmxJREFUOE+lk11IU2Ecxk90YTdFH9RVVwXRTRQVVBcZhVuhs8UiMaPlIqZSMmVpbqTW zKFLN5embdG+UFNnJUqTIhEajr5nbIs+JHJGrmXtbG7OZfF0zhunXGhd9IeHF855n9//ef+87wIA1H8V C/hTzj41Bm6o0GNWQJabsWWuPdw3qrtVJ2cETub6IwgF2hANXIXfV4dSKR+6ajkua5TQV5ew4s0GsgDE aTsS4S7EQ+2wtcgRm7CiNE/ofTFUhrOnBCiTbEXAeQwTjjWQifcz/t+pCYA1J8IdaFYfhdtVB/p9I8Z9 @@ -1403,8 +1367,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAfRJREFUOE9j/P//PwNFAGQALjx5y7eYyZu/7pi3++uj5Qe/Hll58OuUVYe+SiGrx6m5 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAfRJREFUOE9j/P//PwNFAGQALjx5y7eYyZu/7pi3++uj5Qe/Hll58OuUVYe+SiGrx6m5 b8PXHUD8p3vd1+eNK748rl/y5c7cnV8fAw34hGwI3IDuVa/+Lzvx1QBkOlDTsv6N336nTnr3xqXgxG/r 1O1/zBO2fHevuPtx5vavb4AG3IS5AmwAUICzccnL//MOfL1av+Jrw4RN3/7E9Tz/51pw/L9dxu5fprFr jrvkb31oGb/8T1jHu59LD3y9j2IAiFM88/n/rFmf/xfO+fI/sufjC6vkLX8tEjf8MI1dmQ+SD6jdrmIY @@ -1418,8 +1382,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAeBJREFUOE9j/P//PwNFAGQACK869FVq5cGvU5Yf/Hpk3u6vj3rWf0mpXPiFEyaPi4Zr + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAeBJREFUOE9j/P//PwNFAGQACK869FVq5cGvU5Yf/Hpk3u6vj3rWf0mpXPiFEyaPi4Zr Bhrwae7Or4/rl3y507jiy+PWVV/uVCz68rly0ZdUfIbADLg5c/vXN+6VD96bJ2z5bpWy7Y9D7vGvKZM/ vyic8+VF4dwvYSBDlp34auBQdA3IhLga7H0QsfTA1/thHe9+mkXP/+2St/6maeyaY0D8xSx+8+/kyZ// ps/8/Cx77pfIeQe+XrXOPP4f6Fq418AGNCz9sse1/M57da+eWwG121VAYqaxK/ONo5d/1QmY/Su08+Nz @@ -1487,8 +1451,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAf1JREFUOE9j/P//PwNFAGQAJRiu2ansDqdr9V1F1/ZXWc69b2utp3/dYj7r10WzqV/3 + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAf1JREFUOE9j/P//PwNFAGQAJRiu2ansDqdr9V1F1/ZXWc69b2utp3/dYj7r10WzqV/3 mXS+7zaueJplmH/DSivurBiyhWADfGofcLk2PC+ya3+7yTvpwkW/8ANrfMIP53tFHk13iT492aLwzknN nk/PFauf3VEOPlapZrWHB2YI2ACXqrv2ti2vHwUF7LsdE7rFH5uXzLMuT1RNvX5F2mnfPS3z5ZEoBtg0 vdhpmn//u5/zug584aGacmGbjNvezzrmC9eiGGBa/XS5bszVb86Wq7PxGaCcfn69nNfur4aW85egGGBR @@ -1497,6 +1461,48 @@ When selected, the entire table will turn gray. You can then click and drag the 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 @@ -1515,8 +1521,8 @@ When selected, the entire table will turn gray. You can then click and drag the iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALBgAA - CwYBZDTpJAAAAmxJREFUOE+lk11IU2Ecxk90YTdFH9RVVwXRTRQVVBcZhVuhs8UiMaPlIqZSMmVpbqTW + YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK+wAA + CvsBy58dkAAAAmxJREFUOE+lk11IU2Ecxk90YTdFH9RVVwXRTRQVVBcZhVuhs8UiMaPlIqZSMmVpbqTW zKFLN5embdG+UFNnJUqTIhEajr5nbIs+JHJGrmXtbG7OZfF0zhunXGhd9IeHF855n9//ef+87wIA1H8V C/hTzj41Bm6o0GNWQJabsWWuPdw3qrtVJ2cETub6IwgF2hANXIXfV4dSKR+6ajkua5TQV5ew4s0GsgDE aTsS4S7EQ+2wtcgRm7CiNE/ofTFUhrOnBCiTbEXAeQwTjjWQifcz/t+pCYA1J8IdaFYfhdtVB/p9I8Z9 diff --git a/PROMS/Volian.Controls.Library/VlnFlexGrid.cs b/PROMS/Volian.Controls.Library/VlnFlexGrid.cs index ce22aba2..bd2c5092 100644 --- a/PROMS/Volian.Controls.Library/VlnFlexGrid.cs +++ b/PROMS/Volian.Controls.Library/VlnFlexGrid.cs @@ -129,6 +129,10 @@ namespace Volian.Controls.Library { _DPI = value; } + //if (value == 120) + // Console.WriteLine("Test"); + // if(!(TableCellEditor is StepRTB)) + // Console.WriteLine("{0}",TableCellEditor.GetType().Name); } } #region Grid Initialize @@ -1585,8 +1589,8 @@ namespace Volian.Controls.Library public void ClearSelectedCellText() { CellRange cr = this.Selection; - DialogResult dr = MessageBox.Show("Clear Selected cells?", "Clear", MessageBoxButtons.YesNo); - if (dr == DialogResult.Yes) + //DialogResult dr = MessageBox.Show("Clear Selected cells?", "Clear", MessageBoxButtons.YesNo); + //if (dr == DialogResult.Yes) cr.Clear(ClearFlags.Content); } public void SetupCellUserData() @@ -1616,7 +1620,11 @@ namespace Volian.Controls.Library this.MergedRanges.Add(this.Selection); this.Invalidate(); } - + public bool IsInMergeRange() + { + C1.Win.C1FlexGrid.CellRange sel = GetMergedRange(this.Selection.r1, this.Selection.c1); + return MergedRanges.Contains(sel); + } public void SplitSelection(bool bSplitCols) { C1.Win.C1FlexGrid.CellRange sel = this.GetMergedRange(this.Selection.r1, this.Selection.c1); @@ -1772,7 +1780,10 @@ namespace Volian.Controls.Library } this.MergedRanges.Clear(); foreach (CellRange r in crc) - this.MergedRanges.Add(r); + { + if ((r.r1 != r.r2) || (r.c1 != r.c2)) + this.MergedRanges.Add(r); + } } private void AdjustMergedColumns(int col, bool left, bool removing) @@ -1839,7 +1850,10 @@ namespace Volian.Controls.Library } this.MergedRanges.Clear(); foreach (CellRange r in crc) + { + if ((r.r1 != r.r2) || (r.c1 != r.c2)) this.MergedRanges.Add(r); + } } private bool RowIsInMergeRange(int row) @@ -1866,9 +1880,9 @@ namespace Volian.Controls.Library if (col >= 0) { CellRange cr = this.Selection; - rtn = true; + //rtn = true; int r = cr.r1; - while (rtn && (r <= cr.r2)) + while (!rtn && (r <= cr.r2)) { int idx = this.MergedRanges.IndexOf(col, r); rtn = (idx > -1); @@ -1969,67 +1983,113 @@ namespace Volian.Controls.Library public void RemoveSelectedColumn() { - this.SelectionMode = SelectionModeEnum.Column; - this.Select(this.Selection.r1, this.Selection.c1); - DialogResult dr = MessageBox.Show("Remove this column?", "Remove Column", MessageBoxButtons.YesNo); - if (dr == DialogResult.Yes) - RemoveColumns(this.Selection.r1, this.Selection.c1, 1); + string msg = ""; + string title = ""; + CellRange saveCR = Selection; + this.SelectionMode = SelectionModeEnum.ColumnRange; + //this.Select(this.Selection.r1, this.Selection.c1); + this.Select(0,Selection.c1,Rows.Count-1,Selection.c2); this.SelectionMode = SelectionModeEnum.Default; + if (Selection.c1 != Selection.c2) + { + msg = "Remove selected columns?"; + title = "Delete Columns"; + } + else + { + msg = "Remove this column?"; + title = "Delete Column"; + } + DialogResult dr = MessageBox.Show(msg, title, MessageBoxButtons.YesNo); + if (dr == DialogResult.Yes) + RemoveSelectedCells();//RemoveColumns(this.Selection.r1, this.Selection.c1, 1); + else + Select(saveCR); } public void RemoveSelectedRow() { - this.SelectionMode = SelectionModeEnum.Row; - this.Select(this.Selection.r1, this.Selection.c1); - DialogResult dr = MessageBox.Show("Remove this Row?", "Remove Row", MessageBoxButtons.YesNo); - if (dr == DialogResult.Yes) - this.RemoveRows(this.Selection.r1, this.Selection.c1, 1); + string msg = ""; + string title = ""; + CellRange saveCR = Selection; + this.SelectionMode = SelectionModeEnum.RowRange; + //this.Select(this.Selection.r1, this.Selection.c1,); + this.Select(Selection.r1,0,Selection.r2,Cols.Count-1); this.SelectionMode = SelectionModeEnum.Default; + if (Selection.r1 != Selection.r2) + { + msg = "Remove selected rows?"; + title = "Delete Rows"; + } + else + { + msg = "Remove this row?"; + title = "Delete Row"; + } + DialogResult dr = MessageBox.Show(msg, title, MessageBoxButtons.YesNo); + if (dr == DialogResult.Yes) + this.RemoveSelectedCells();//this.RemoveRows(this.Selection.r1, this.Selection.c1, 1); + else + Select(saveCR); } private void RemoveRows(int strow, int stcol, int cnt) { + bool mergedRow = false; for (int i = 0; i < cnt; i++) { - if (this.RowIsInMergeRange(strow)) - { - for (int cl = 0; cl < this.Cols.Count; cl++) + //if (this.RowIsInMergeRange(strow)) + //{ + for (int cl = 0; cl < this.Cols.Count && !mergedRow; cl++) { int idx = this.MergedRanges.IndexOf(strow, cl); if (idx > -1) { CellRange cr = this.MergedRanges[idx]; if (cr.r1 < cr.r2) - this[cr.r1 + 1, cr.c1] = this[cr.r1, cr.c1]; + mergedRow = true; + //this[cr.r1 + 1, cr.c1] = this[cr.r1, cr.c1]; } cl++; } - } + //} this.Rows.Remove(strow); this.AdjustMergedRows(strow, false, true); + if (mergedRow) + { + cnt++; + mergedRow = false; + } } this.AdjustGridControlSize(); } private void RemoveColumns(int strow, int stcol, int cnt) { + bool mergedCol = false; for (int i = 0; i < cnt; i++) { - if (this.ColIsInMergeRange(stcol)) - { - for (int rw = 0; rw < this.Rows.Count; rw++) + //if (this.ColIsInMergeRange(stcol)) + //{ + for (int rw = 0; rw < this.Rows.Count && !mergedCol; rw++) { int idx = this.MergedRanges.IndexOf(rw, stcol); if (idx > -1) { CellRange cr = this.MergedRanges[idx]; if (cr.c1 < cr.c2) - this[cr.r1, cr.c1 + 1] = this[cr.r1, cr.c1]; + mergedCol = true; + //this[cr.r1, cr.c1 + 1] = this[cr.r1, cr.c1]; } - } - } + } + //} this.Cols.Remove(stcol); this.AdjustMergedColumns(stcol, false, true); + if (mergedCol) + { + cnt++; + mergedCol = false; + } } this.AdjustGridControlSize(); } diff --git a/PROMS/Volian.Print.Library/Grid2Pdf.cs b/PROMS/Volian.Print.Library/Grid2Pdf.cs index 89141485..c3853540 100644 --- a/PROMS/Volian.Print.Library/Grid2Pdf.cs +++ b/PROMS/Volian.Print.Library/Grid2Pdf.cs @@ -76,10 +76,10 @@ namespace Volian.Print.Library } #endregion #region Public Methods - public void AdjustRowTop(int row, float hNew) + public void AdjustRowTop(int row1, int row2, float hNew) { - float hAdjust = hNew - (RowTop[row + 1] - RowTop[row]); - for (int r = row; r < MyFlexGrid.Rows.Count; r++) + float hAdjust = hNew - (RowTop[row2 + 1] - RowTop[row1]); + for (int r = row2; r < MyFlexGrid.Rows.Count; r++) RowTop[r + 1] += hAdjust; } public void ToPdf(iTextSharp.text.pdf.ColumnText myColumnText, float left, float top) @@ -147,7 +147,7 @@ namespace Volian.Print.Library str = myRTB.Rtf; } iTextSharp.text.Paragraph myPara = RtfToParagraph(str); - myColumnText1.SetSimpleColumn(0, 0, w - 4, MyContentByte.PdfDocument.PageSize.Top); // Padding = 4 + myColumnText1.SetSimpleColumn(0, 0, w - 2, MyContentByte.PdfDocument.PageSize.Top); // Padding = 4 myPara.MultipliedLeading = 1.2F; myColumnText1.AddElement(myPara); //myColumnText1.Canvas.SetColorFill(iTextSharp.text.BaseColor.RED); @@ -156,7 +156,7 @@ namespace Volian.Print.Library float posAfter = myColumnText1.YLine; float hContent = 4 + posBefore - posAfter; if (hContent > h) - MyTable.AdjustRowTop(cr.r2, hContent); + MyTable.AdjustRowTop(cr.r1, cr.r2, hContent); Add(new vlnCell(cr.r1, cr.c1, cr.r2, cr.c2, MyTable, myPara, hContent)); } } @@ -290,7 +290,7 @@ namespace Volian.Print.Library } } iTextSharp.text.pdf.ColumnText myColumnText1 = new iTextSharp.text.pdf.ColumnText(myColumnText.Canvas); - myColumnText1.SetSimpleColumn(2 + left + x, top - y - h, left + x + w - 2, -1 + top - y - hAdjust); // 2 == Default Padding + myColumnText1.SetSimpleColumn(1 + left + x, top - y - h, left + x + w, 1 + top - y - hAdjust); // 2 == Default Padding myColumnText1.AddElement(MyPara); myColumnText1.Go(); myColumnText.Canvas.RestoreState();