From bd2ef6579f29c6b5332719a8552ace94f3d9a3f7 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Sat, 15 Nov 2014 22:32:51 +0000 Subject: [PATCH] fpspreadsheet: Add standard actions for predefined cell border combinations git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3731 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../fpspreadsheet/examples/fpsctrls/main.lfm | 1577 ++++++++++++----- .../fpspreadsheet/examples/fpsctrls/main.pas | 36 + components/fpspreadsheet/fpsactions.pas | 292 ++- 3 files changed, 1465 insertions(+), 440 deletions(-) diff --git a/components/fpspreadsheet/examples/fpsctrls/main.lfm b/components/fpspreadsheet/examples/fpsctrls/main.lfm index 558178b63..ca206099c 100644 --- a/components/fpspreadsheet/examples/fpsctrls/main.lfm +++ b/components/fpspreadsheet/examples/fpsctrls/main.lfm @@ -1,7 +1,7 @@ object Form1: TForm1 - Left = 397 + Left = 415 Height = 600 - Top = 243 + Top = 122 Width = 925 Caption = 'Form1' ClientHeight = 580 @@ -218,7 +218,7 @@ object Form1: TForm1 Style = tbsDivider end object ToolButton5: TToolButton - Left = 593 + Left = 628 Top = 0 Action = AcFileExit end @@ -389,6 +389,15 @@ object Form1: TForm1 Caption = 'ToolButton31' Style = tbsDivider end + object TbBorders: TToolButton + Left = 593 + Hint = 'Top border' + Top = 0 + Caption = 'Top' + DropdownMenu = PuBorders + ImageIndex = 36 + Style = tbsDropDown + end end object WorkbookSource: TsWorkbookSource AutoDetectFormat = False @@ -667,6 +676,7 @@ object Form1: TForm1 Category = 'FPSpreadsheet' WorkbookSource = WorkbookSource Caption = 'AcCellFont' + Hint = 'Select cell font' ImageIndex = 14 Dialog.MinFontSize = 0 Dialog.MaxFontSize = 0 @@ -675,6 +685,7 @@ object Form1: TForm1 Category = 'FPSpreadsheet' WorkbookSource = WorkbookSource Caption = 'AcBackgroundColor' + Hint = 'Modify background color' ImageIndex = 22 Dialog.Color = clBlack Dialog.CustomColors.Strings = ( @@ -700,6 +711,387 @@ object Form1: TForm1 'ColorT=A4A0A0' ) end + object AcCellBorderNone: TsNoCellBordersAction + Category = 'FPSpreadsheet' + WorkbookSource = WorkbookSource + Caption = '(none)' + Hint = 'No borders' + ImageIndex = 26 + end + object AcCellBorderTop: TsCellBorderAction + Category = 'FPSpreadsheet' + WorkbookSource = WorkbookSource + Borders.East.LineStyle = lsThin + Borders.East.Color = clBlack + Borders.East.Visible = False + Borders.North.LineStyle = lsThin + Borders.North.Color = clBlack + Borders.North.Visible = True + Borders.South.LineStyle = lsThin + Borders.South.Color = clBlack + Borders.South.Visible = False + Borders.West.LineStyle = lsThin + Borders.West.Color = clBlack + Borders.West.Visible = False + Borders.InnerHor.LineStyle = lsThin + Borders.InnerHor.Color = clBlack + Borders.InnerHor.Visible = False + Borders.InnerVert.LineStyle = lsThin + Borders.InnerVert.Color = clBlack + Borders.InnerVert.Visible = False + Caption = 'Top' + Hint = 'Top border' + ImageIndex = 31 + end + object AcCellBorderInnerHor: TsCellBorderAction + Category = 'FPSpreadsheet' + WorkbookSource = WorkbookSource + Borders.East.LineStyle = lsThin + Borders.East.Color = clBlack + Borders.East.Visible = False + Borders.North.LineStyle = lsThin + Borders.North.Color = clBlack + Borders.North.Visible = False + Borders.South.LineStyle = lsThin + Borders.South.Color = clBlack + Borders.South.Visible = False + Borders.West.LineStyle = lsThin + Borders.West.Color = clBlack + Borders.West.Visible = False + Borders.InnerHor.LineStyle = lsThin + Borders.InnerHor.Color = clBlack + Borders.InnerHor.Visible = True + Borders.InnerVert.LineStyle = lsThin + Borders.InnerVert.Color = clBlack + Borders.InnerVert.Visible = False + Caption = 'Inner horizontal' + Hint = 'Inner horizontal border' + ImageIndex = 38 + end + object AcCellBorderBottom: TsCellBorderAction + Category = 'FPSpreadsheet' + WorkbookSource = WorkbookSource + Borders.East.LineStyle = lsThin + Borders.East.Color = clBlack + Borders.East.Visible = False + Borders.North.LineStyle = lsThin + Borders.North.Color = clBlack + Borders.North.Visible = False + Borders.South.LineStyle = lsThin + Borders.South.Color = clBlack + Borders.South.Visible = True + Borders.West.LineStyle = lsThin + Borders.West.Color = clBlack + Borders.West.Visible = False + Borders.InnerHor.LineStyle = lsThin + Borders.InnerHor.Color = clBlack + Borders.InnerHor.Visible = False + Borders.InnerVert.LineStyle = lsThin + Borders.InnerVert.Color = clBlack + Borders.InnerVert.Visible = False + Caption = 'Bottom' + Hint = 'Bottom border' + ImageIndex = 32 + end + object AcCellBorderBottomThick: TsCellBorderAction + Category = 'FPSpreadsheet' + WorkbookSource = WorkbookSource + Borders.East.LineStyle = lsThin + Borders.East.Color = clBlack + Borders.East.Visible = False + Borders.North.LineStyle = lsThin + Borders.North.Color = clBlack + Borders.North.Visible = False + Borders.South.LineStyle = lsMedium + Borders.South.Color = clBlack + Borders.South.Visible = True + Borders.West.LineStyle = lsThin + Borders.West.Color = clBlack + Borders.West.Visible = False + Borders.InnerHor.LineStyle = lsThin + Borders.InnerHor.Color = clBlack + Borders.InnerHor.Visible = False + Borders.InnerVert.LineStyle = lsThin + Borders.InnerVert.Color = clBlack + Borders.InnerVert.Visible = False + Caption = 'Bottom thick' + Hint = 'Thick bottom border' + ImageIndex = 33 + end + object AcCellBorderBottomDbl: TsCellBorderAction + Category = 'FPSpreadsheet' + WorkbookSource = WorkbookSource + Borders.East.LineStyle = lsThin + Borders.East.Color = clBlack + Borders.East.Visible = False + Borders.North.LineStyle = lsThin + Borders.North.Color = clBlack + Borders.North.Visible = False + Borders.South.LineStyle = lsDouble + Borders.South.Color = clBlack + Borders.South.Visible = True + Borders.West.LineStyle = lsThin + Borders.West.Color = clBlack + Borders.West.Visible = False + Borders.InnerHor.LineStyle = lsThin + Borders.InnerHor.Color = clBlack + Borders.InnerHor.Visible = False + Borders.InnerVert.LineStyle = lsThin + Borders.InnerVert.Color = clBlack + Borders.InnerVert.Visible = False + Caption = 'Bottom double' + Hint = 'Double bottom border' + ImageIndex = 34 + end + object AcCellBorderTopBottomThick: TsCellBorderAction + Category = 'FPSpreadsheet' + WorkbookSource = WorkbookSource + Borders.East.LineStyle = lsThin + Borders.East.Color = clBlack + Borders.East.Visible = False + Borders.North.LineStyle = lsThin + Borders.North.Color = clBlack + Borders.North.Visible = True + Borders.South.LineStyle = lsMedium + Borders.South.Color = clBlack + Borders.South.Visible = True + Borders.West.LineStyle = lsThin + Borders.West.Color = clBlack + Borders.West.Visible = False + Borders.InnerHor.LineStyle = lsThin + Borders.InnerHor.Color = clBlack + Borders.InnerHor.Visible = False + Borders.InnerVert.LineStyle = lsThin + Borders.InnerVert.Color = clBlack + Borders.InnerVert.Visible = False + Caption = 'Top & bottom thick' + Hint = 'Top and thick bottom borders' + ImageIndex = 36 + end + object AcCellBorderTopBottomDbl: TsCellBorderAction + Category = 'FPSpreadsheet' + WorkbookSource = WorkbookSource + Borders.East.LineStyle = lsThin + Borders.East.Color = clBlack + Borders.East.Visible = False + Borders.North.LineStyle = lsThin + Borders.North.Color = clBlack + Borders.North.Visible = True + Borders.South.LineStyle = lsDouble + Borders.South.Color = clBlack + Borders.South.Visible = True + Borders.West.LineStyle = lsThin + Borders.West.Color = clBlack + Borders.West.Visible = False + Borders.InnerHor.LineStyle = lsThin + Borders.InnerHor.Color = clBlack + Borders.InnerHor.Visible = False + Borders.InnerVert.LineStyle = lsThin + Borders.InnerVert.Color = clBlack + Borders.InnerVert.Visible = False + Caption = 'Top and double bottom' + Hint = 'Top and double bottom borders' + ImageIndex = 37 + end + object AcCellBorderAllHor: TsCellBorderAction + Category = 'FPSpreadsheet' + WorkbookSource = WorkbookSource + Borders.East.LineStyle = lsThin + Borders.East.Color = clBlack + Borders.East.Visible = False + Borders.North.LineStyle = lsThin + Borders.North.Color = clBlack + Borders.North.Visible = True + Borders.South.LineStyle = lsThin + Borders.South.Color = clBlack + Borders.South.Visible = True + Borders.West.LineStyle = lsThin + Borders.West.Color = clBlack + Borders.West.Visible = False + Borders.InnerHor.LineStyle = lsThin + Borders.InnerHor.Color = clBlack + Borders.InnerHor.Visible = True + Borders.InnerVert.LineStyle = lsThin + Borders.InnerVert.Color = clBlack + Borders.InnerVert.Visible = False + Caption = 'All horizontal' + Hint = 'All horizontal borders' + ImageIndex = 39 + end + object AcCellBorderLeft: TsCellBorderAction + Category = 'FPSpreadsheet' + WorkbookSource = WorkbookSource + Borders.East.LineStyle = lsThin + Borders.East.Color = clBlack + Borders.East.Visible = False + Borders.North.LineStyle = lsThin + Borders.North.Color = clBlack + Borders.North.Visible = False + Borders.South.LineStyle = lsThin + Borders.South.Color = clBlack + Borders.South.Visible = False + Borders.West.LineStyle = lsThin + Borders.West.Color = clBlack + Borders.West.Visible = True + Borders.InnerHor.LineStyle = lsThin + Borders.InnerHor.Color = clBlack + Borders.InnerHor.Visible = False + Borders.InnerVert.LineStyle = lsThin + Borders.InnerVert.Color = clBlack + Borders.InnerVert.Visible = False + Caption = 'Left' + Hint = 'Left border' + ImageIndex = 40 + end + object AcCellBorderRight: TsCellBorderAction + Category = 'FPSpreadsheet' + WorkbookSource = WorkbookSource + Borders.East.LineStyle = lsThin + Borders.East.Color = clBlack + Borders.East.Visible = True + Borders.North.LineStyle = lsThin + Borders.North.Color = clBlack + Borders.North.Visible = False + Borders.South.LineStyle = lsThin + Borders.South.Color = clBlack + Borders.South.Visible = False + Borders.West.LineStyle = lsThin + Borders.West.Color = clBlack + Borders.West.Visible = False + Borders.InnerHor.LineStyle = lsThin + Borders.InnerHor.Color = clBlack + Borders.InnerHor.Visible = False + Borders.InnerVert.LineStyle = lsThin + Borders.InnerVert.Color = clBlack + Borders.InnerVert.Visible = False + Caption = 'Right' + Hint = 'Right border' + ImageIndex = 41 + end + object AcCellBorderInnerVert: TsCellBorderAction + Category = 'FPSpreadsheet' + WorkbookSource = WorkbookSource + Borders.East.LineStyle = lsThin + Borders.East.Color = clBlack + Borders.East.Visible = False + Borders.North.LineStyle = lsThin + Borders.North.Color = clBlack + Borders.North.Visible = False + Borders.South.LineStyle = lsThin + Borders.South.Color = clBlack + Borders.South.Visible = False + Borders.West.LineStyle = lsThin + Borders.West.Color = clBlack + Borders.West.Visible = False + Borders.InnerHor.LineStyle = lsThin + Borders.InnerHor.Color = clBlack + Borders.InnerHor.Visible = False + Borders.InnerVert.LineStyle = lsThin + Borders.InnerVert.Color = clBlack + Borders.InnerVert.Visible = True + Caption = 'Inner vertical' + Hint = 'Inner vertical border' + ImageIndex = 42 + end + object AcCellBorderAllVert: TsCellBorderAction + Category = 'FPSpreadsheet' + Borders.East.LineStyle = lsThin + Borders.East.Color = clBlack + Borders.East.Visible = True + Borders.North.LineStyle = lsThin + Borders.North.Color = clBlack + Borders.North.Visible = False + Borders.South.LineStyle = lsThin + Borders.South.Color = clBlack + Borders.South.Visible = False + Borders.West.LineStyle = lsThin + Borders.West.Color = clBlack + Borders.West.Visible = True + Borders.InnerHor.LineStyle = lsThin + Borders.InnerHor.Color = clBlack + Borders.InnerHor.Visible = False + Borders.InnerVert.LineStyle = lsThin + Borders.InnerVert.Color = clBlack + Borders.InnerVert.Visible = True + Caption = 'All vertical' + Hint = 'All vertical borders' + ImageIndex = 43 + end + object AcCellBorderAllOuter: TsCellBorderAction + Category = 'FPSpreadsheet' + WorkbookSource = WorkbookSource + Borders.East.LineStyle = lsThin + Borders.East.Color = clBlack + Borders.East.Visible = True + Borders.North.LineStyle = lsThin + Borders.North.Color = clBlack + Borders.North.Visible = True + Borders.South.LineStyle = lsThin + Borders.South.Color = clBlack + Borders.South.Visible = True + Borders.West.LineStyle = lsThin + Borders.West.Color = clBlack + Borders.West.Visible = True + Borders.InnerHor.LineStyle = lsThin + Borders.InnerHor.Color = clBlack + Borders.InnerHor.Visible = False + Borders.InnerVert.LineStyle = lsThin + Borders.InnerVert.Color = clBlack + Borders.InnerVert.Visible = False + Caption = 'All outer (thin)' + Hint = 'All outer borders (thin)' + ImageIndex = 28 + end + object AcCellBorderAllOuterThick: TsCellBorderAction + Category = 'FPSpreadsheet' + WorkbookSource = WorkbookSource + Borders.East.LineStyle = lsMedium + Borders.East.Color = clBlack + Borders.East.Visible = True + Borders.North.LineStyle = lsMedium + Borders.North.Color = clBlack + Borders.North.Visible = True + Borders.South.LineStyle = lsMedium + Borders.South.Color = clBlack + Borders.South.Visible = True + Borders.West.LineStyle = lsMedium + Borders.West.Color = clBlack + Borders.West.Visible = True + Borders.InnerHor.LineStyle = lsThin + Borders.InnerHor.Color = clBlack + Borders.InnerHor.Visible = False + Borders.InnerVert.LineStyle = lsThin + Borders.InnerVert.Color = clBlack + Borders.InnerVert.Visible = False + Caption = 'All outer (thick)' + Hint = 'All outer borders (thick)' + ImageIndex = 27 + end + object AcCellBorderAll: TsCellBorderAction + Category = 'FPSpreadsheet' + WorkbookSource = WorkbookSource + Borders.East.LineStyle = lsThin + Borders.East.Color = clBlack + Borders.East.Visible = True + Borders.North.LineStyle = lsThin + Borders.North.Color = clBlack + Borders.North.Visible = True + Borders.South.LineStyle = lsThin + Borders.South.Color = clBlack + Borders.South.Visible = True + Borders.West.LineStyle = lsThin + Borders.West.Color = clBlack + Borders.West.Visible = True + Borders.InnerHor.LineStyle = lsThin + Borders.InnerHor.Color = clBlack + Borders.InnerHor.Visible = True + Borders.InnerVert.LineStyle = lsThin + Borders.InnerVert.Color = clBlack + Borders.InnerVert.Visible = True + Caption = 'All' + Hint = 'All borders (thin)' + ImageIndex = 29 + end end object ImageList: TImageList left = 432 @@ -1506,38 +1898,6 @@ object Form1: TForm1 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0086C38BF582C0870EFFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF0084C28AF596CD9BFF80BE85FF79B97E0EFFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF0083C188F594CD9AFFB3E2B7FF93CB98FF77B77CFF70B2 - 740EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF0082C087F594CC99FFB2E2B7FFA3DCAAFFB0E0B6FF8CC692FF6EB1 - 73FF66AB6B0EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF0081BF86F593CC98FFB1E1B7FFA3DBA9FF9BD8A2FF73B477FFAFDFB4FF87C3 - 8CFF65AA69FF5DA4610EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007FBE - 85F592CB97FFB1E1B6FF85C38AFF80C185FF99D7A0FF98D79FFF9FD9A5FFACDF - B2FF7DBB81FF58A05CF6FFFFFF00FFFFFF00FFFFFF00FFFFFF007EBD83F691CA - 96FFB1E0B6FFD9F3DDFFF7FCF8FFA4D0A7FF7EC084FF9FD9A5FFACDEB2FF7BBB - 80FF569F5AFBFFFFFF00FFFFFF00FFFFFF008EC993257DBC82FA90C995FFB0E0 - B6FF85C28AFFF7FCF8FF95C297FFDDEEDFFF82C287FFABDEB1FF7BBA7FFF58A0 - 5CFF59A15DFF539C5704FFFFFF008DC9937D7DBB82FF8FC894FFB0E0B6FFA2DA - A8FF7FC185FFA4D0A7FFDDEEDFFF80B883FFABDEB1FF7AB97FFF569F5AFFC4E7 - C8FF78B87CFF4E995284FFFFFF007BBB80FF8EC893FFAFDFB5FFA1DAA7FF98D7 - 9FFF97D69EFF7EC083FF82C187FFABDDB0FF79B97DFF63AE67FFC4E7C8FFC1E4 - C4FFB9E0BEFF4F9A53FF459249117FBD84A07FBD84FF97CE9CFFADDFB3FF6FB3 - 74FF96D59DFF9DD8A3FFAADDB0FF78B87CFF72BA76FFC3E7C8FFB2DAB5FF69B8 - 6EF8569E59FF45914873418F44327FBE84197BBB80FF77B77CFF91CB97FFABDE - B1FF9CD7A2FFAADDB0FF77B77CFF60AC65FFAED8B2FF8BC491FF4C9750B94894 - 4C9144914822FFFFFF00FFFFFF00FFFFFF0075B67A9B9CCDA0FF6FB273FF8DC7 - 92FFAADCAFFF76B67BFF519B55FF77B77BFF509A53DD4B964F4247934B29FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006FB274277CBB81FCB7DEBBFF67AC - 6CFF75B67AFF4E9851FE539C57B84F99537AFFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006AAE6E0565AA69AF60A665FD6BAE - 6FFF4C9750FB529C56344E995222FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0060A664315BA25FCC569F - 5A4BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF @@ -1605,6 +1965,70 @@ object Form1: TForm1 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC01010181FFFFFF00FFFFFF00FFFFFF00010101AE010101AE010101AE0101 + 01AE010101AE010101AE010101AE010101AE010101AE010101AE010101AE0101 + 01AE010101AEFFFFFF00FFFFFF00FFFFFF00010101B0010101B0010101000101 + 010001010100010101000000006B010101000101010001010100010101000101 + 01B0010101B0FFFFFF00FFFFFF00FFFFFF00010101B3010101B3010101000101 + 010001010100010101000000000E000000000101010001010100010101000101 + 01B3010101B3FFFFFF00FFFFFF00FFFFFF00010101B6010101B6010101000101 + 0100000000000000000000000071000000000000000001010100010101000101 + 01B6010101B6FFFFFF00FFFFFF00FFFFFF00010101B9010101B9010101000000 + 000000000000000000000000000F000000000000000000000000010101000101 + 01B9010101B9FFFFFF00FFFFFF00FFFFFF00010101BC010101BC000000780000 + 000F000000780000000F000000780000000F000000780000000F000000780101 + 01BC010101BCFFFFFF00FFFFFF00FFFFFF00010101C0010101C0010101000000 + 0000000000000000000000000010000000000000000000000000010101000101 + 01C0010101C0FFFFFF00FFFFFF00FFFFFF00010101C4010101C4010101000101 + 0100000000000000000000000080000000000000000001010100010101000101 + 01C4010101C4FFFFFF00FFFFFF00FFFFFF00010101C7010101C7010101000101 + 0100000000000000000000000011000000000000000001010100010101000101 + 01C7010101C7FFFFFF00FFFFFF00FFFFFF00010101CC010101CC010101000000 + 0000000000000000000001010189000000000000000000000000010101000101 + 01CC010101CCFFFFFF00FFFFFF00FFFFFF00000000D9000000D9000000D90000 + 00D9000000D9000000D9000000D9000000D9000000D9000000D9000000D90000 + 00D9000000D9FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 + 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 + 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC01010181FFFFFF00FFFFFF00FFFFFF00010101AE01010100010101000101 + 010001010100010101000101010D010101000101010001010100010101000101 + 0100010101AEFFFFFF00FFFFFF00FFFFFF00010101B001010100010101000101 + 010001010100000000000000006B000000000101010001010100010101000101 + 0100010101B0FFFFFF00FFFFFF00FFFFFF00010101B301010100010101000101 + 010001010100000000000000000E000000000000000001010100010101000101 + 0100010101B3FFFFFF00FFFFFF00FFFFFF00010101B601010100010101000000 + 0000000000000000000000000071000000000000000000000000010101000101 + 0100010101B6FFFFFF00FFFFFF00FFFFFF00010101B901010100000000000000 + 000000000000000000000000000F000000000000000000000000000000000101 + 0100010101B9FFFFFF00FFFFFF00FFFFFF00010101BC0000000F000000780000 + 000F000000780000000F000000780000000F000000780000000F000000780101 + 010F010101BCFFFFFF00FFFFFF00FFFFFF00010101C001010100000000000000 + 0000000000000000000000000010000000000000000000000000000000000101 + 0100010101C0FFFFFF00FFFFFF00FFFFFF00010101C401010100010101000000 + 0000000000000000000000000080000000000000000000000000010101000101 + 0100010101C4FFFFFF00FFFFFF00FFFFFF00010101C701010100010101000101 + 0100000000000000000000000011000000000000000001010100010101000101 + 0100010101C7FFFFFF00FFFFFF00FFFFFF00010101CC01010100010101000000 + 0000000000000101010001010189010101000000000000000000010101000101 + 0100010101CCFFFFFF00FFFFFF00FFFFFF00000000D900000000000000000000 + 0000000000000000000001010113010101000000000000000000000000000000 + 0000000000D9FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 + 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 + 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 01AC01010181FFFFFF00FFFFFF00FFFFFF00010101AE01010100010101000101 01000101010001010100010101AE010101000101010001010100010101000101 0100010101AEFFFFFF00FFFFFF00FFFFFF00010101B001010100010101000101 @@ -1636,6 +2060,70 @@ object Form1: TForm1 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000004D0000000D000000670000 + 000D000000670101010D010101AC0000000D000000670000000D000000670000 + 000D0000004DFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 + 00000000000001010100010101AE010101000000000000000000000000000000 + 00000000000DFFFFFF00FFFFFF00FFFFFF000000006B00000000000000000000 + 00000101010001010100010101B0010101000101010000000000000000000000 + 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000010101000101 + 01000101010001010100010101B3010101000101010001010100010101000000 + 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000010101000101 + 01000101010001010100010101B6010101000101010001010100010101000000 + 000000000071FFFFFF00FFFFFF00FFFFFF000101010F01010100010101000101 + 01000101010001010100010101B9010101000101010001010100010101000101 + 01000101010FFFFFFF00FFFFFF00FFFFFF00010101BC010101BC010101BC0101 + 01BC010101BC010101BC0101018E010101BC010101BC010101BC010101BC0101 + 01BC010101BCFFFFFF00FFFFFF00FFFFFF000101011001010100010101000101 + 01000101010001010100010101C0010101000101010001010100010101000101 + 010001010110FFFFFF00FFFFFF00FFFFFF000000008000000000010101000101 + 01000101010001010100010101C4010101000101010001010100010101000000 + 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000010101000101 + 01000101010001010100010101C7010101000101010001010100010101000000 + 000000000011FFFFFF00FFFFFF00FFFFFF000101018901010100010101000101 + 01000101010001010100010101CC010101000101010001010100010101000101 + 010001010189FFFFFF00FFFFFF00FFFFFF000101011401010100010101000101 + 01000101010001010100000000D9010101000101010001010100010101000101 + 010001010113FFFFFF00FFFFFF00FFFFFF000101017B01010115010101A40101 + 0115010101A401010115000000E601010115010101A401010115010101A40101 + 01150101017BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 + 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC01010181FFFFFF00FFFFFF00FFFFFF000101010E01010100010101000101 + 010001010100010101000101010D010101000101010001010100010101000101 + 01000101010DFFFFFF00FFFFFF00FFFFFF000000006B00000000010101000101 + 010001010100000000000000006B000000000101010001010100010101000000 + 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000010101000101 + 010001010100000000000000000E000000000000000001010100010101000000 + 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 + 0000000000000000000000000071000000000000000000000000000000000000 + 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 + 000000000000000000000000000F000000000000000000000000000000000000 + 00000000000FFFFFFF00FFFFFF00FFFFFF00000000780000000F000000780000 + 000F000000780000000F000000780000000F000000780000000F000000780000 + 000F00000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 + 0000000000000000000000000010000000000000000000000000000000000000 + 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000000000000000 + 0000000000000000000000000080000000000000000000000000000000000000 + 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000010101000101 + 0100010101000000000000000011000000000101010001010100010101000000 + 000000000011FFFFFF00FFFFFF00FFFFFF000101018901010100010101000101 + 0100010101000101010001010189010101000101010001010100010101000101 + 010001010189FFFFFF00FFFFFF00FFFFFF000101011401010100010101000101 + 0100010101000101010001010113010101000101010001010100010101000101 + 010001010113FFFFFF00FFFFFF00FFFFFF000101017B01010115010101A40101 + 0115010101A401010115010101A401010115010101A401010115010101A40101 + 01150101017BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000004D0000000D000000670000 000D000000670000000D000000670000000D000000670000000D000000670000 000D0000004DFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 000000000000000000000000000D000000000000000000000000000000000000 @@ -1683,15 +2171,15 @@ object Form1: TForm1 000F000000780000000F000000780000000F000000780000000F000000780000 000F00000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 0000000000000000000000000010000000000000000000000000000000000000 - 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000010101000101 - 0100010101000000000000000080000000000101010001010100010101000000 - 000000000080FFFFFF00FFFFFF00FFFFFF000101011101010100010101000101 - 0100010101000101010001010111010101000101010001010100010101000101 - 010001010111FFFFFF00FFFFFF00FFFFFF00010101CC010101CC010101CC0101 - 01CC010101CC010101CC010101CC010101CC010101CC010101CC010101CC0101 - 01CC010101CCFFFFFF00FFFFFF00FFFFFF000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 + 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000000000000000 + 0000000000000000000000000080000000000000000000000000000000000000 + 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000000000000000 + 0000000000000000000000000011000000000000000000000000000000000000 + 000000000011FFFFFF00FFFFFF00FFFFFF000101018900000000000000000000 + 0000000000000000000001010189000000000000000000000000000000000000 + 000001010189FFFFFF00FFFFFF00FFFFFF00000000D9000000D9000000D90000 + 00D9000000D9000000D9000000D9000000D9000000D9000000D9000000D90000 + 00D9000000D9FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF @@ -1715,6 +2203,70 @@ object Form1: TForm1 000F000000780000000F000000780000000F000000780000000F000000780000 000F00000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 0000000000000000000000000010000000000000000000000000000000000000 + 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000010101000101 + 0100010101000000000000000080000000000101010001010100010101000000 + 000000000080FFFFFF00FFFFFF00FFFFFF000101011101010100010101000101 + 0100010101000101010001010111010101000101010001010100010101000101 + 010001010111FFFFFF00FFFFFF00FFFFFF00010101CC010101CC010101CC0101 + 01CC010101CC010101CC010101CC010101CC010101CC010101CC010101CC0101 + 01CC010101CCFFFFFF00FFFFFF00FFFFFF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 + 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 + 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC01010181FFFFFF00FFFFFF00FFFFFF000101010E01010100010101000101 + 010001010100010101000101010D010101000101010001010100010101000101 + 01000101010DFFFFFF00FFFFFF00FFFFFF000000006B00000000010101000101 + 010001010100000000000000006B000000000101010001010100010101000000 + 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000010101000101 + 010001010100000000000000000E000000000000000001010100010101000000 + 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 + 0000000000000000000000000071000000000000000000000000000000000000 + 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 + 000000000000000000000000000F000000000000000000000000000000000000 + 00000000000FFFFFFF00FFFFFF00FFFFFF00000000780000000F000000780000 + 000F000000780000000F000000780000000F000000780000000F000000780000 + 000F00000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 + 0000000000000000000000000010000000000000000000000000000000000000 + 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000000000000000 + 0000000000000000000000000080000000000000000000000000000000000000 + 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000000000000000 + 0000000000000000000000000011000000000000000000000000000000000000 + 000000000011FFFFFF00FFFFFF00FFFFFF000101018901010100000000000000 + 0000000000000101010001010189010101000000000000000000000000000101 + 010001010189FFFFFF00FFFFFF00FFFFFF000101011400000000000000000000 + 0000000000000000000001010113010101000000000000000000000000000000 + 000001010113FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 + 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 + 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC01010181FFFFFF00FFFFFF00FFFFFF000101010E01010100010101000101 + 010001010100010101000101010D010101000101010001010100010101000101 + 01000101010DFFFFFF00FFFFFF00FFFFFF000000006B00000000010101000101 + 010001010100000000000000006B000000000101010001010100010101000000 + 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000010101000101 + 010001010100000000000000000E000000000000000001010100010101000000 + 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 + 0000000000000000000000000071000000000000000000000000000000000000 + 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 + 000000000000000000000000000F000000000000000000000000000000000000 + 00000000000FFFFFFF00FFFFFF00FFFFFF00000000780000000F000000780000 + 000F000000780000000F000000780000000F000000780000000F000000780000 + 000F00000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 + 0000000000000000000000000010000000000000000000000000000000000000 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000000000000000 0000000000000000000000000080000000000000000000000000000000000000 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000000000000000 @@ -1729,130 +2281,34 @@ object Form1: TForm1 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000 - 000001535F0001A6BE0001A6BE0051515100515151000101E5000101E5160101 - D1000000B3000000B3000000B300000000000000000000000000003E530001A6 - BE0001A6BE0001A6BE0001A6BE0051515100515151000101E53C0101E1AE0101 - CF870000B3000000B3000000B300003E5300003E5300007CA500007CA50001A6 - BE0001A6BE0001A6BE0001A6BE0051515100505050264141416F7575FEFF4747 - E2E90000AE440000AE000000AE00007CA500007CA500007CA500007CA50001A6 - BE0001A6BE0001A6BE0001A6BE00505050264141416FFDFDFDFFACACACD50000 - AAC40000A5000000A5000000A500007CA500007CA500007CA500007CA50001A6 - BE0001A6BE0001A6BE0001A5BD3F019AB2B452C6D7FF33AABCF0090909880101 - 7C000000A0000000A0000000A000007CA500007CA500007CA500007CA50001A6 - BE0001A6BE0001A5BD3F019AB2B47BE8F9FF50C1D4EA006F86C3041E24000202 - 52000000A0000000A0000000A000007CA500007CA500007CA500007CA50001A6 - BE0001A5BD3F019AB2B47BE8F9FF50C1D4EA006F86C3006A8000023641000202 - 52000000A0000000500000000000007CA500007CA500007CA500007CA50001A5 - BD3F019AB2B47BE8F9FF50C1D4EA006F86C3006A800000687E00023641000101 - 290000000000000000000000000000749A0000749A0000759C000078A01E0D7A - 9D7D66DDEEFF34A2B6E8006F86C3006A800000687E0000343F00000000000000 - 0000000000000000000000000000006C8F00006C8F00006E9201016C8F82CCEE - FFFF015672A00150697A01647B0000343F000000000000000000000000000000 - 000000000000000000000000000001688900016889000165868CA6D5E6FF0152 - 6CA7013B4E490127340000000000000000000000000000000000000000000000 - 00000000000000000000000000004D33800000000000000000FF014F68AA013B - 4E2B00000077000000EA000000D9000000C3000000AA0000008D0000006F0000 - 0052000000370000001E0000000C9966FF009865FF004B3280004B58B300925F - FF00482F8000472D8000452C8000442B80004329800041288000402780003F26 - 80003E2580003D2480003C2380009966FF009865FFFF9663FFFF9461FFFF925F - FFFF905DFFFF8D5AFFFF8A57FFFF8855FFFF8552FFFF824FFFFF804DFFFF7E4B - FFFF7C49FFFF7A47FFFF7845FFC09966FFFF9865FFFF9663FFFF9461FFFF925F - FFFF905DFFFF8D5AFFFF8A57FFFF8855FFFF8552FFFF824FFFFF804DFFFF7E4B - FFFF7C49FFFF7A47FFFF7845FFFF9966FF009865FFFF9663FFFF9461FFFF925F - FFFF905DFFFF8D5AFFFF8A57FFFF8855FFFF8552FFFF824FFFFF804DFFFF7E4B - FFFF7C49FFFF7A47FFFF7845FFC0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 - 01AC01010181FFFFFF00FFFFFF00FFFFFF000101010001010100010101000101 - 0100010101000101010001010100010101000101010001010100010101000101 - 010001010100FFFFFF00FFFFFF00FFFFFF000101010001010100010101000101 - 0100010101000101010001010100010101000101010001010100010101000101 - 010001010100FFFFFF00FFFFFF00FFFFFF00010101B501010109010101B50101 - 0109010101B501010109010101B501010109010101B501010109010101B50101 - 0109010101B5FFFFFF00FFFFFF00FFFFFF000101010001010100010101000101 - 0100010101000101010001010100010101000101010001010100010101000101 - 010001010100FFFFFF00FFFFFF00FFFFFF000101010001010100010101000101 - 0100010101000101010001010100010101000101010001010100010101000101 - 010001010100FFFFFF00FFFFFF00FFFFFF00010101C3010101C3010101C30101 - 019301010100010101C3010101C3010101C30101010001010193010101C30101 - 01C3010101C3FFFFFF00FFFFFF00FFFFFF000101010001010100010101000101 - 0100010101000101010001010100010101000101010001010100010101000101 - 010001010100FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000 + 01AC01010181FFFFFF00FFFFFF00FFFFFF000101010E01010100010101000101 + 010001010100010101000101010D010101000101010001010100010101000101 + 01000101010DFFFFFF00FFFFFF00FFFFFF000000006B00000000010101000101 + 010001010100000000000000006B000000000101010001010100010101000000 + 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000010101000101 + 010001010100000000000000000E000000000000000001010100010101000000 + 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 + 0000000000000000000000000071000000000000000000000000000000000000 + 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 + 000000000000000000000000000F000000000000000000000000000000000000 + 00000000000FFFFFFF00FFFFFF00FFFFFF00000000780000000F000000780000 + 000F000000780000000F000000780000000F000000780000000F000000780000 + 000F00000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 + 0000000000000000000000000010000000000000000000000000000000000000 + 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000010101000101 + 0100010101000000000000000080000000000101010001010100010101000000 + 000000000080FFFFFF00FFFFFF00FFFFFF000101011101010100010101000101 + 0100010101000101010001010111010101000101010001010100010101000101 + 010001010111FFFFFF00FFFFFF00FFFFFF00010101CC010101CC010101CC0101 + 01CC010101CC010101CC010101CC010101CC010101CC010101CC010101CC0101 + 01CC010101CCFFFFFF00FFFFFF00FFFFFF000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000FFFFFF00FFFFFF00FFFFFF00000000AA0000000C000000E40000 - 00E4000000E40000000C000000E40000000C000000E4000000E4000000E40000 - 000C000000AAFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00010101810101012B000000330000 - 000D000000670000000D000000670000000D000000670000000D000000670000 - 000D0000004DFFFFFF00FFFFFF00FFFFFF000101012C010101AE0101012C0101 - 0100000000000000000000000000000000000000000000000000000000000000 - 00000000000DFFFFFF00FFFFFF00FFFFFF00000000360101012C010101B00101 - 012C010101000101010000000000000000000000000000000000000000000000 - 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E010101000101012D0101 - 01B30101012D0101010001010100010101000000000000000000000000000000 - 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000010101000101 - 012E010101B60101012E01010100010101000101010000000000000000000000 - 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000010101000101 - 01000101012E010101B90101012F010101000101010001010100000000000000 - 00000000000FFFFFFF00FFFFFF00FFFFFF000000007800000000000000000101 - 0100010101000101012F010101BC010101300101010001010100000000000000 - 000000000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000101 - 0100010101000101010001010130010101C00101013101010100010101000000 - 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000000000000000 - 000001010100010101000101010001010131010101C401010132010101000000 - 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000010101000101 - 01000101010001010100010101000101010001010132010101C7010101320000 - 000000000011FFFFFF00FFFFFF00FFFFFF000101018901010100010101000101 - 0100010101000101010001010100010101000101010001010133010101CC0000 - 003401010145FFFFFF00FFFFFF00FFFFFF000101011401010100010101000101 - 0100010101000101010001010100010101000101010001010100010101360000 - 00D901010138FFFFFF00FFFFFF00FFFFFF000101017B01010115010101A40101 - 0115010101A401010115010101A401010115010101A401010115010101540101 - 0139000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000004D0000000D000000670000 - 000D000000670000000D000000670000000D000000670000000D000000670000 - 000D0000004DFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 - 000000000000000000000000000D000000000000000000000000000000000000 - 000000000013FFFFFF00FFFFFF00FFFFFF000000006B00000000000000000000 - 000000000000000000000000006B000000000101650001013000000000000000 - 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 - 000001525E002B2B2B0016164F0E0101A9000101C9000101BD00000000000000 - 000000000024FFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 - 000001A3BB00555555002B2B9D390101DEAF0101C6400101BD00010101000000 - 000000000073FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 - 000001A3BB005454542438386F7C8080FFFF0101B1C101015600010101000101 - 01000101013CFFFFFF00FFFFFF00FFFFFF00000000780000000F000000780129 - 2F0F01A2BA3F4A4A4A6CF7F7F7FF1A1A468E00009F460101012E0101015A0101 - 015901010183FFFFFF00FFFFFF00FFFFFF000000001001292F0001525E0001A2 - BA3F0197B0B579E6F7FF2222227D1212122E00009C0001010100010101000101 - 01000101015EFFFFFF00FFFFFF00FFFFFF000000008001525E0001A2BA3F0197 - B0B579E6F7FF017E95BE053E49410808080001014F0001010100010101000101 - 01000101019BFFFFFF00FFFFFF00FFFFFF0000202B1101A2BA3F0197B0B579E6 - F7FF017E95BE0072894401010151010101000101010001010100010101000101 - 010001010189FFFFFF00FFFFFF00FFFFFF00007EA7260197B0B579E6F7FF017E - 95BE0072894401394400010101B5010101000101010000000000010101000101 - 0100010101B9FFFFFF00FFFFFF00FFFFFF00016D917FD9F4FFFF017E95BE0056 - 6744001C220000000000000000D0000000000000000000000000000000000000 - 0000000000C2FFFFFF00FFFFFF00FFFFFF00000000FF014F68AB015F773D0000 - 0074000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 000000000000FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 + 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF @@ -1923,38 +2379,6 @@ object Form1: TForm1 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000004D0000000D000000670000 - 000D000000670101010D010101AC0000000D000000670000000D000000670000 - 000D0000004DFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 - 00000000000001010100010101AE010101000000000000000000000000000000 - 00000000000DFFFFFF00FFFFFF00FFFFFF000000006B00000000000000000000 - 00000101010001010100010101B0010101000101010000000000000000000000 - 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000010101000101 - 01000101010001010100010101B3010101000101010001010100010101000000 - 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000010101000101 - 01000101010001010100010101B6010101000101010001010100010101000000 - 000000000071FFFFFF00FFFFFF00FFFFFF000101010F01010100010101000101 - 01000101010001010100010101B9010101000101010001010100010101000101 - 01000101010FFFFFFF00FFFFFF00FFFFFF00010101BC010101BC010101BC0101 - 01BC010101BC010101BC0101018E010101BC010101BC010101BC010101BC0101 - 01BC010101BCFFFFFF00FFFFFF00FFFFFF000101011001010100010101000101 - 01000101010001010100010101C0010101000101010001010100010101000101 - 010001010110FFFFFF00FFFFFF00FFFFFF000000008000000000010101000101 - 01000101010001010100010101C4010101000101010001010100010101000000 - 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000010101000101 - 01000101010001010100010101C7010101000101010001010100010101000000 - 000000000011FFFFFF00FFFFFF00FFFFFF000101018901010100010101000101 - 01000101010001010100010101CC010101000101010001010100010101000101 - 010001010189FFFFFF00FFFFFF00FFFFFF000101011401010100010101000101 - 01000101010001010100000000D9010101000101010001010100010101000101 - 010001010113FFFFFF00FFFFFF00FFFFFF000101017B01010115010101A40101 - 0115010101A401010115000000E601010115010101A401010115010101A40101 - 01150101017BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00010101810000000D000000670000 000D000000670000000D000000670000000D000000670000000D000000670000 000D0000004DFFFFFF00FFFFFF00FFFFFF00010101AE01010100000000000000 @@ -1987,70 +2411,6 @@ object Form1: TForm1 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 - 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 - 01AC01010181FFFFFF00FFFFFF00FFFFFF00010101AE01010100010101000101 - 010001010100010101000101010D010101000101010001010100010101000101 - 0100010101AEFFFFFF00FFFFFF00FFFFFF00010101B001010100010101000101 - 010001010100000000000000006B000000000101010001010100010101000101 - 0100010101B0FFFFFF00FFFFFF00FFFFFF00010101B301010100010101000101 - 010001010100000000000000000E000000000000000001010100010101000101 - 0100010101B3FFFFFF00FFFFFF00FFFFFF00010101B601010100010101000000 - 0000000000000000000000000071000000000000000000000000010101000101 - 0100010101B6FFFFFF00FFFFFF00FFFFFF00010101B901010100000000000000 - 000000000000000000000000000F000000000000000000000000000000000101 - 0100010101B9FFFFFF00FFFFFF00FFFFFF00010101BC0000000F000000780000 - 000F000000780000000F000000780000000F000000780000000F000000780101 - 010F010101BCFFFFFF00FFFFFF00FFFFFF00010101C001010100000000000000 - 0000000000000000000000000010000000000000000000000000000000000101 - 0100010101C0FFFFFF00FFFFFF00FFFFFF00010101C401010100010101000000 - 0000000000000000000000000080000000000000000000000000010101000101 - 0100010101C4FFFFFF00FFFFFF00FFFFFF00010101C701010100010101000101 - 0100000000000000000000000011000000000000000001010100010101000101 - 0100010101C7FFFFFF00FFFFFF00FFFFFF00010101CC01010100010101000000 - 0000000000000101010001010189010101000000000000000000010101000101 - 0100010101CCFFFFFF00FFFFFF00FFFFFF00000000D900000000000000000000 - 0000000000000000000001010113010101000000000000000000000000000000 - 0000000000D9FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 - 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 - 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 - 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 - 01AC01010181FFFFFF00FFFFFF00FFFFFF00010101AE010101AE010101AE0101 - 01AE010101AE010101AE010101AE010101AE010101AE010101AE010101AE0101 - 01AE010101AEFFFFFF00FFFFFF00FFFFFF00010101B0010101B0010101000101 - 010001010100010101000000006B010101000101010001010100010101000101 - 01B0010101B0FFFFFF00FFFFFF00FFFFFF00010101B3010101B3010101000101 - 010001010100010101000000000E000000000101010001010100010101000101 - 01B3010101B3FFFFFF00FFFFFF00FFFFFF00010101B6010101B6010101000101 - 0100000000000000000000000071000000000000000001010100010101000101 - 01B6010101B6FFFFFF00FFFFFF00FFFFFF00010101B9010101B9010101000000 - 000000000000000000000000000F000000000000000000000000010101000101 - 01B9010101B9FFFFFF00FFFFFF00FFFFFF00010101BC010101BC000000780000 - 000F000000780000000F000000780000000F000000780000000F000000780101 - 01BC010101BCFFFFFF00FFFFFF00FFFFFF00010101C0010101C0010101000000 - 0000000000000000000000000010000000000000000000000000010101000101 - 01C0010101C0FFFFFF00FFFFFF00FFFFFF00010101C4010101C4010101000101 - 0100000000000000000000000080000000000000000001010100010101000101 - 01C4010101C4FFFFFF00FFFFFF00FFFFFF00010101C7010101C7010101000101 - 0100000000000000000000000011000000000000000001010100010101000101 - 01C7010101C7FFFFFF00FFFFFF00FFFFFF00010101CC010101CC010101000000 - 0000000000000000000001010189000000000000000000000000010101000101 - 01CC010101CCFFFFFF00FFFFFF00FFFFFF00000000D9000000D9000000D90000 - 00D9000000D9000000D9000000D9000000D9000000D9000000D9000000D90000 - 00D9000000D9FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 - 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 - 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000004D0000000D000000670000 000D000000670000000D000000670000000D000000670000000D000000670101 010D01010181FFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 @@ -2083,166 +2443,6 @@ object Form1: TForm1 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 - 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 - 01AC01010181FFFFFF00FFFFFF00FFFFFF000101010E01010100010101000101 - 010001010100010101000101010D010101000101010001010100010101000101 - 01000101010DFFFFFF00FFFFFF00FFFFFF000000006B00000000010101000101 - 010001010100000000000000006B000000000101010001010100010101000000 - 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000010101000101 - 010001010100000000000000000E000000000000000001010100010101000000 - 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 - 0000000000000000000000000071000000000000000000000000000000000000 - 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 - 000000000000000000000000000F000000000000000000000000000000000000 - 00000000000FFFFFFF00FFFFFF00FFFFFF00000000780000000F000000780000 - 000F000000780000000F000000780000000F000000780000000F000000780000 - 000F00000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 - 0000000000000000000000000010000000000000000000000000000000000000 - 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000000000000000 - 0000000000000000000000000080000000000000000000000000000000000000 - 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000010101000101 - 0100010101000000000000000011000000000101010001010100010101000000 - 000000000011FFFFFF00FFFFFF00FFFFFF000101018901010100010101000101 - 0100010101000101010001010189010101000101010001010100010101000101 - 010001010189FFFFFF00FFFFFF00FFFFFF000101011401010100010101000101 - 0100010101000101010001010113010101000101010001010100010101000101 - 010001010113FFFFFF00FFFFFF00FFFFFF000101017B01010115010101A40101 - 0115010101A401010115010101A401010115010101A401010115010101A40101 - 01150101017BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 - 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 - 01AC01010181FFFFFF00FFFFFF00FFFFFF000101010E01010100010101000101 - 010001010100010101000101010D010101000101010001010100010101000101 - 01000101010DFFFFFF00FFFFFF00FFFFFF000000006B00000000010101000101 - 010001010100000000000000006B000000000101010001010100010101000000 - 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000010101000101 - 010001010100000000000000000E000000000000000001010100010101000000 - 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 - 0000000000000000000000000071000000000000000000000000000000000000 - 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 - 000000000000000000000000000F000000000000000000000000000000000000 - 00000000000FFFFFFF00FFFFFF00FFFFFF00000000780000000F000000780000 - 000F000000780000000F000000780000000F000000780000000F000000780000 - 000F00000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 - 0000000000000000000000000010000000000000000000000000000000000000 - 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000000000000000 - 0000000000000000000000000080000000000000000000000000000000000000 - 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000000000000000 - 0000000000000000000000000011000000000000000000000000000000000000 - 000000000011FFFFFF00FFFFFF00FFFFFF000101018901010100000000000000 - 0000000000000101010001010189010101000000000000000000000000000101 - 010001010189FFFFFF00FFFFFF00FFFFFF000101011400000000000000000000 - 0000000000000000000001010113010101000000000000000000000000000000 - 000001010113FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 - 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 - 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 - 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 - 01AC01010181FFFFFF00FFFFFF00FFFFFF000101010E01010100010101000101 - 010001010100010101000101010D010101000101010001010100010101000101 - 01000101010DFFFFFF00FFFFFF00FFFFFF000000006B00000000010101000101 - 010001010100000000000000006B000000000101010001010100010101000000 - 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000010101000101 - 010001010100000000000000000E000000000000000001010100010101000000 - 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 - 0000000000000000000000000071000000000000000000000000000000000000 - 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 - 000000000000000000000000000F000000000000000000000000000000000000 - 00000000000FFFFFFF00FFFFFF00FFFFFF00000000780000000F000000780000 - 000F000000780000000F000000780000000F000000780000000F000000780000 - 000F00000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 - 0000000000000000000000000010000000000000000000000000000000000000 - 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000010101000101 - 0100010101000000000000000080000000000101010001010100010101000000 - 000000000080FFFFFF00FFFFFF00FFFFFF000101011101010100010101000101 - 0100010101000101010001010111010101000101010001010100010101000101 - 010001010111FFFFFF00FFFFFF00FFFFFF00010101CC010101CC010101CC0101 - 01CC010101CC010101CC010101CC010101CC010101CC010101CC010101CC0101 - 01CC010101CCFFFFFF00FFFFFF00FFFFFF000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 000000000000FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 - 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 - 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 - 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 - 01AC01010181FFFFFF00FFFFFF00FFFFFF000101010E01010100010101000101 - 010001010100010101000101010D010101000101010001010100010101000101 - 01000101010DFFFFFF00FFFFFF00FFFFFF000000006B00000000010101000101 - 010001010100000000000000006B000000000101010001010100010101000000 - 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000010101000101 - 010001010100000000000000000E000000000000000001010100010101000000 - 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 - 0000000000000000000000000071000000000000000000000000000000000000 - 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 - 000000000000000000000000000F000000000000000000000000000000000000 - 00000000000FFFFFFF00FFFFFF00FFFFFF00000000780000000F000000780000 - 000F000000780000000F000000780000000F000000780000000F000000780000 - 000F00000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 - 0000000000000000000000000010000000000000000000000000000000000000 - 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000000000000000 - 0000000000000000000000000080000000000000000000000000000000000000 - 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000000000000000 - 0000000000000000000000000011000000000000000000000000000000000000 - 000000000011FFFFFF00FFFFFF00FFFFFF000101018900000000000000000000 - 0000000000000000000001010189000000000000000000000000000000000000 - 000001010189FFFFFF00FFFFFF00FFFFFF00000000D9000000D9000000D90000 - 00D9000000D9000000D9000000D9000000D9000000D9000000D9000000D90000 - 00D9000000D9FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 - 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 - 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000004D0000000D000000670000 - 000D000000670000000D000000670000000D000000670000000D000000330101 - 012B01010181FFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 - 00000000000000000000000000000000000000000000010101000101012C0101 - 01AE0101012CFFFFFF00FFFFFF00FFFFFF000000006B00000000000000000000 - 000000000000000000000000000001010100010101000101012C010101B00101 - 012C00000036FFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 - 0000000000000101010001010100010101000101012D010101B30101012D0101 - 01000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 - 00000101010001010100010101000101012E010101B60101012E010101000000 - 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000101 - 010001010100010101000101012F010101B90101012E01010100010101000000 - 00000000000FFFFFFF00FFFFFF00FFFFFF000000007800000000000000000101 - 01000101010001010130010101BC0101012F0101010001010100000000000000 - 000000000078FFFFFF00FFFFFF00FFFFFF000000001000000000010101000101 - 010001010131010101C001010130010101000101010001010100000000000000 - 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000010101000101 - 0132010101C40101013101010100010101000101010000000000000000000000 - 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000010101320101 - 01C7010101320101010001010100010101000101010001010100010101000000 - 000000000011FFFFFF00FFFFFF00FFFFFF000101014500000034010101CC0101 - 0133010101000101010001010100010101000101010001010100010101000101 - 010001010189FFFFFF00FFFFFF00FFFFFF0001010138000000D9010101360101 - 0100010101000101010001010100010101000101010001010100010101000101 - 010001010113FFFFFF00FFFFFF00FFFFFF00000000AC01010139010101540101 - 0115010101A401010115010101A401010115010101A401010115010101A40101 - 01150101017BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF - FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000004D0000000D000000670000 000D000000670101010D010101AC0000000D000000670000000D000000670000 000D0000004DFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 @@ -2307,6 +2507,102 @@ object Form1: TForm1 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00010101810101012B000000330000 + 000D000000670000000D000000670000000D000000670000000D000000670000 + 000D0000004DFFFFFF00FFFFFF00FFFFFF000101012C010101AE0101012C0101 + 0100000000000000000000000000000000000000000000000000000000000000 + 00000000000DFFFFFF00FFFFFF00FFFFFF00000000360101012C010101B00101 + 012C010101000101010000000000000000000000000000000000000000000000 + 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E010101000101012D0101 + 01B30101012D0101010001010100010101000000000000000000000000000000 + 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000010101000101 + 012E010101B60101012E01010100010101000101010000000000000000000000 + 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000010101000101 + 01000101012E010101B90101012F010101000101010001010100000000000000 + 00000000000FFFFFFF00FFFFFF00FFFFFF000000007800000000000000000101 + 0100010101000101012F010101BC010101300101010001010100000000000000 + 000000000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000101 + 0100010101000101010001010130010101C00101013101010100010101000000 + 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000000000000000 + 000001010100010101000101010001010131010101C401010132010101000000 + 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000010101000101 + 01000101010001010100010101000101010001010132010101C7010101320000 + 000000000011FFFFFF00FFFFFF00FFFFFF000101018901010100010101000101 + 0100010101000101010001010100010101000101010001010133010101CC0000 + 003401010145FFFFFF00FFFFFF00FFFFFF000101011401010100010101000101 + 0100010101000101010001010100010101000101010001010100010101360000 + 00D901010138FFFFFF00FFFFFF00FFFFFF000101017B01010115010101A40101 + 0115010101A401010115010101A401010115010101A401010115010101540101 + 0139000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 + 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC01010181FFFFFF00FFFFFF00FFFFFF000101010001010100010101000101 + 0100010101000101010001010100010101000101010001010100010101000101 + 010001010100FFFFFF00FFFFFF00FFFFFF000101010001010100010101000101 + 0100010101000101010001010100010101000101010001010100010101000101 + 010001010100FFFFFF00FFFFFF00FFFFFF00010101B501010109010101B50101 + 0109010101B501010109010101B501010109010101B501010109010101B50101 + 0109010101B5FFFFFF00FFFFFF00FFFFFF000101010001010100010101000101 + 0100010101000101010001010100010101000101010001010100010101000101 + 010001010100FFFFFF00FFFFFF00FFFFFF000101010001010100010101000101 + 0100010101000101010001010100010101000101010001010100010101000101 + 010001010100FFFFFF00FFFFFF00FFFFFF00010101C3010101C3010101C30101 + 019301010100010101C3010101C3010101C30101010001010193010101C30101 + 01C3010101C3FFFFFF00FFFFFF00FFFFFF000101010001010100010101000101 + 0100010101000101010001010100010101000101010001010100010101000101 + 010001010100FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000FFFFFF00FFFFFF00FFFFFF00000000AA0000000C000000E40000 + 00E4000000E40000000C000000E40000000C000000E4000000E4000000E40000 + 000C000000AAFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000004D0000000D000000670000 + 000D000000670000000D000000670000000D000000670000000D000000330101 + 012B01010181FFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 + 00000000000000000000000000000000000000000000010101000101012C0101 + 01AE0101012CFFFFFF00FFFFFF00FFFFFF000000006B00000000000000000000 + 000000000000000000000000000001010100010101000101012C010101B00101 + 012C00000036FFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 + 0000000000000101010001010100010101000101012D010101B30101012D0101 + 01000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 + 00000101010001010100010101000101012E010101B60101012E010101000000 + 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000101 + 010001010100010101000101012F010101B90101012E01010100010101000000 + 00000000000FFFFFFF00FFFFFF00FFFFFF000000007800000000000000000101 + 01000101010001010130010101BC0101012F0101010001010100000000000000 + 000000000078FFFFFF00FFFFFF00FFFFFF000000001000000000010101000101 + 010001010131010101C001010130010101000101010001010100000000000000 + 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000010101000101 + 0132010101C40101013101010100010101000101010000000000000000000000 + 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000010101320101 + 01C7010101320101010001010100010101000101010001010100010101000000 + 000000000011FFFFFF00FFFFFF00FFFFFF000101014500000034010101CC0101 + 0133010101000101010001010100010101000101010001010100010101000101 + 010001010189FFFFFF00FFFFFF00FFFFFF0001010138000000D9010101360101 + 0100010101000101010001010100010101000101010001010100010101000101 + 010001010113FFFFFF00FFFFFF00FFFFFF00000000AC01010139010101540101 + 0115010101A401010115010101A401010115010101A401010115010101A40101 + 01150101017BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF @@ -2369,6 +2665,70 @@ object Form1: TForm1 FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000 + 000001535F0001A6BE0001A6BE0051515100515151000101E5000101E5160101 + D1000000B3000000B3000000B300000000000000000000000000003E530001A6 + BE0001A6BE0001A6BE0001A6BE0051515100515151000101E53C0101E1AE0101 + CF870000B3000000B3000000B300003E5300003E5300007CA500007CA50001A6 + BE0001A6BE0001A6BE0001A6BE0051515100505050264141416F7575FEFF4747 + E2E90000AE440000AE000000AE00007CA500007CA500007CA500007CA50001A6 + BE0001A6BE0001A6BE0001A6BE00505050264141416FFDFDFDFFACACACD50000 + AAC40000A5000000A5000000A500007CA500007CA500007CA500007CA50001A6 + BE0001A6BE0001A6BE0001A5BD3F019AB2B452C6D7FF33AABCF0090909880101 + 7C000000A0000000A0000000A000007CA500007CA500007CA500007CA50001A6 + BE0001A6BE0001A5BD3F019AB2B47BE8F9FF50C1D4EA006F86C3041E24000202 + 52000000A0000000A0000000A000007CA500007CA500007CA500007CA50001A6 + BE0001A5BD3F019AB2B47BE8F9FF50C1D4EA006F86C3006A8000023641000202 + 52000000A0000000500000000000007CA500007CA500007CA500007CA50001A5 + BD3F019AB2B47BE8F9FF50C1D4EA006F86C3006A800000687E00023641000101 + 290000000000000000000000000000749A0000749A0000759C000078A01E0D7A + 9D7D66DDEEFF34A2B6E8006F86C3006A800000687E0000343F00000000000000 + 0000000000000000000000000000006C8F00006C8F00006E9201016C8F82CCEE + FFFF015672A00150697A01647B0000343F000000000000000000000000000000 + 000000000000000000000000000001688900016889000165868CA6D5E6FF0152 + 6CA7013B4E490127340000000000000000000000000000000000000000000000 + 00000000000000000000000000004D33800000000000000000FF014F68AA013B + 4E2B00000077000000EA000000D9000000C3000000AA0000008D0000006F0000 + 0052000000370000001E0000000C9966FF009865FF004B3280004B58B300925F + FF00482F8000472D8000452C8000442B80004329800041288000402780003F26 + 80003E2580003D2480003C2380009966FF009865FFFF9663FFFF9461FFFF925F + FFFF905DFFFF8D5AFFFF8A57FFFF8855FFFF8552FFFF824FFFFF804DFFFF7E4B + FFFF7C49FFFF7A47FFFF7845FFC09966FFFF9865FFFF9663FFFF9461FFFF925F + FFFF905DFFFF8D5AFFFF8A57FFFF8855FFFF8552FFFF824FFFFF804DFFFF7E4B + FFFF7C49FFFF7A47FFFF7845FFFF9966FF009865FFFF9663FFFF9461FFFF925F + FFFF905DFFFF8D5AFFFF8A57FFFF8855FFFF8552FFFF824FFFFF804DFFFF7E4B + FFFF7C49FFFF7A47FFFF7845FFC0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000004D0000000D000000670000 + 000D000000670000000D000000670000000D000000670000000D000000670000 + 000D0000004DFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 + 000000000000000000000000000D000000000000000000000000000000000000 + 000000000013FFFFFF00FFFFFF00FFFFFF000000006B00000000000000000000 + 000000000000000000000000006B000000000101650001013000000000000000 + 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 + 000001525E002B2B2B0016164F0E0101A9000101C9000101BD00000000000000 + 000000000024FFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 + 000001A3BB00555555002B2B9D390101DEAF0101C6400101BD00010101000000 + 000000000073FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 + 000001A3BB005454542438386F7C8080FFFF0101B1C101015600010101000101 + 01000101013CFFFFFF00FFFFFF00FFFFFF00000000780000000F000000780129 + 2F0F01A2BA3F4A4A4A6CF7F7F7FF1A1A468E00009F460101012E0101015A0101 + 015901010183FFFFFF00FFFFFF00FFFFFF000000001001292F0001525E0001A2 + BA3F0197B0B579E6F7FF2222227D1212122E00009C0001010100010101000101 + 01000101015EFFFFFF00FFFFFF00FFFFFF000000008001525E0001A2BA3F0197 + B0B579E6F7FF017E95BE053E49410808080001014F0001010100010101000101 + 01000101019BFFFFFF00FFFFFF00FFFFFF0000202B1101A2BA3F0197B0B579E6 + F7FF017E95BE0072894401010151010101000101010001010100010101000101 + 010001010189FFFFFF00FFFFFF00FFFFFF00007EA7260197B0B579E6F7FF017E + 95BE0072894401394400010101B5010101000101010000000000010101000101 + 0100010101B9FFFFFF00FFFFFF00FFFFFF00016D917FD9F4FFFF017E95BE0056 + 6744001C220000000000000000D0000000000000000000000000000000000000 + 0000000000C2FFFFFF00FFFFFF00FFFFFF00000000FF014F68AB015F773D0000 + 0074000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008AA8 @@ -2401,6 +2761,38 @@ object Form1: TForm1 9536537591A74E7293E14D7497F64D7497F64E7293E1527490A95E7A9137FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0086C38BF582C0870EFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF0084C28AF596CD9BFF80BE85FF79B97E0EFFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF0083C188F594CD9AFFB3E2B7FF93CB98FF77B77CFF70B2 + 740EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF0082C087F594CC99FFB2E2B7FFA3DCAAFFB0E0B6FF8CC692FF6EB1 + 73FF66AB6B0EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF0081BF86F593CC98FFB1E1B7FFA3DBA9FF9BD8A2FF73B477FFAFDFB4FF87C3 + 8CFF65AA69FF5DA4610EFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007FBE + 85F592CB97FFB1E1B6FF85C38AFF80C185FF99D7A0FF98D79FFF9FD9A5FFACDF + B2FF7DBB81FF58A05CF6FFFFFF00FFFFFF00FFFFFF00FFFFFF007EBD83F691CA + 96FFB1E0B6FFD9F3DDFFF7FCF8FFA4D0A7FF7EC084FF9FD9A5FFACDEB2FF7BBB + 80FF569F5AFBFFFFFF00FFFFFF00FFFFFF008EC993257DBC82FA90C995FFB0E0 + B6FF85C28AFFF7FCF8FF95C297FFDDEEDFFF82C287FFABDEB1FF7BBA7FFF58A0 + 5CFF59A15DFF539C5704FFFFFF008DC9937D7DBB82FF8FC894FFB0E0B6FFA2DA + A8FF7FC185FFA4D0A7FFDDEEDFFF80B883FFABDEB1FF7AB97FFF569F5AFFC4E7 + C8FF78B87CFF4E995284FFFFFF007BBB80FF8EC893FFAFDFB5FFA1DAA7FF98D7 + 9FFF97D69EFF7EC083FF82C187FFABDDB0FF79B97DFF63AE67FFC4E7C8FFC1E4 + C4FFB9E0BEFF4F9A53FF459249117FBD84A07FBD84FF97CE9CFFADDFB3FF6FB3 + 74FF96D59DFF9DD8A3FFAADDB0FF78B87CFF72BA76FFC3E7C8FFB2DAB5FF69B8 + 6EF8569E59FF45914873418F44327FBE84197BBB80FF77B77CFF91CB97FFABDE + B1FF9CD7A2FFAADDB0FF77B77CFF60AC65FFAED8B2FF8BC491FF4C9750B94894 + 4C9144914822FFFFFF00FFFFFF00FFFFFF0075B67A9B9CCDA0FF6FB273FF8DC7 + 92FFAADCAFFF76B67BFF519B55FF77B77BFF509A53DD4B964F4247934B29FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006FB274277CBB81FCB7DEBBFF67AC + 6CFF75B67AFF4E9851FE539C57B84F99537AFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006AAE6E0565AA69AF60A665FD6BAE + 6FFF4C9750FB529C56344E995222FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0060A664315BA25FCC569F + 5A4BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF FF00FFFFFF00FFFFFF00FFFFFF00 } end @@ -2544,4 +2936,351 @@ object Form1: TForm1 AutoCheck = True end end + object PuBorders: TPopupMenu + Images = ImageList + left = 448 + top = 402 + object MenuItem41: TMenuItem + Action = AcCellBorderNone + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000101 + 017B01010115010101A401010115010101A401010115010101A4010101150101 + 01A401010115010101A4010101150101017BFFFFFF00FFFFFF00FFFFFF000101 + 0114010101000101010001010100010101000101010001010113010101000101 + 010001010100010101000101010001010113FFFFFF00FFFFFF00FFFFFF000101 + 0189010101000101010001010100010101000101010001010189010101000101 + 010001010100010101000101010001010189FFFFFF00FFFFFF00FFFFFF000000 + 0011000000000101010001010100010101000000000000000011000000000101 + 010001010100010101000000000000000011FFFFFF00FFFFFF00FFFFFF000000 + 0080000000000000000000000000000000000000000000000080000000000000 + 000000000000000000000000000000000080FFFFFF00FFFFFF00FFFFFF000000 + 0010000000000000000000000000000000000000000000000010000000000000 + 000000000000000000000000000000000010FFFFFF00FFFFFF00FFFFFF000000 + 00780000000F000000780000000F000000780000000F000000780000000F0000 + 00780000000F000000780000000F00000078FFFFFF00FFFFFF00FFFFFF000000 + 000F00000000000000000000000000000000000000000000000F000000000000 + 00000000000000000000000000000000000FFFFFFF00FFFFFF00FFFFFF000000 + 0071000000000000000000000000000000000000000000000071000000000000 + 000000000000000000000000000000000071FFFFFF00FFFFFF00FFFFFF000000 + 000E00000000000000000000000000000000000000000000000E000000000000 + 00000000000000000000000000000000000EFFFFFF00FFFFFF00FFFFFF000000 + 006B00000000000000000000000000000000000000000000006B000000000000 + 00000000000000000000000000000000006BFFFFFF00FFFFFF00FFFFFF000000 + 000E00000000000000000000000000000000000000000000000D000000000000 + 00000000000000000000000000000000000DFFFFFF00FFFFFF00FFFFFF000000 + 004D0000000D000000670000000D000000670000000D000000670000000D0000 + 00670000000D000000670000000D0000004DFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MenuItem40: TMenuItem + Caption = '-' + end + object MenuItem31: TMenuItem + Action = AcCellBorderTop + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000101 + 017B01010115010101A401010115010101A401010115010101A4010101150101 + 01A401010115010101A4010101150101017BFFFFFF00FFFFFF00FFFFFF000101 + 0114010101000101010001010100010101000101010001010113010101000101 + 010001010100010101000101010001010113FFFFFF00FFFFFF00FFFFFF000101 + 0189010101000101010001010100010101000101010001010189010101000101 + 010001010100010101000101010001010189FFFFFF00FFFFFF00FFFFFF000000 + 0011000000000101010001010100010101000000000000000011000000000101 + 010001010100010101000000000000000011FFFFFF00FFFFFF00FFFFFF000000 + 0080000000000000000000000000000000000000000000000080000000000000 + 000000000000000000000000000000000080FFFFFF00FFFFFF00FFFFFF000000 + 0010000000000000000000000000000000000000000000000010000000000000 + 000000000000000000000000000000000010FFFFFF00FFFFFF00FFFFFF000000 + 00780000000F000000780000000F000000780000000F000000780000000F0000 + 00780000000F000000780000000F00000078FFFFFF00FFFFFF00FFFFFF000000 + 000F00000000000000000000000000000000000000000000000F000000000000 + 00000000000000000000000000000000000FFFFFFF00FFFFFF00FFFFFF000000 + 0071000000000000000000000000000000000000000000000071000000000000 + 000000000000000000000000000000000071FFFFFF00FFFFFF00FFFFFF000000 + 000E00000000010101000101010001010100000000000000000E000000000000 + 00000101010001010100000000000000000EFFFFFF00FFFFFF00FFFFFF000000 + 006B00000000010101000101010001010100000000000000006B000000000101 + 01000101010001010100000000000000006BFFFFFF00FFFFFF00FFFFFF000101 + 010E01010100010101000101010001010100010101000101010D010101000101 + 01000101010001010100010101000101010DFFFFFF00FFFFFF00FFFFFF000101 + 0181010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC010101AC010101AC010101AC01010181FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MenuItem32: TMenuItem + Action = AcCellBorderInnerHor + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000101 + 017B01010115010101A401010115010101A401010115010101A4010101150101 + 01A401010115010101A4010101150101017BFFFFFF00FFFFFF00FFFFFF000101 + 0114010101000101010001010100010101000101010001010113010101000101 + 010001010100010101000101010001010113FFFFFF00FFFFFF00FFFFFF000101 + 0189010101000101010001010100010101000101010001010189010101000101 + 010001010100010101000101010001010189FFFFFF00FFFFFF00FFFFFF000000 + 0011000000000101010001010100010101000000000000000011000000000101 + 010001010100010101000000000000000011FFFFFF00FFFFFF00FFFFFF000000 + 0080000000000101010001010100010101000000000000000080000000000101 + 010001010100010101000000000000000080FFFFFF00FFFFFF00FFFFFF000101 + 0110010101000101010001010100010101000101010001010110010101000101 + 010001010100010101000101010001010110FFFFFF00FFFFFF00FFFFFF000101 + 01BC010101BC010101BC010101BC010101BC010101BC010101BC010101BC0101 + 01BC010101BC010101BC010101BC010101BCFFFFFF00FFFFFF00FFFFFF000101 + 010F01010100010101000101010001010100010101000101010F010101000101 + 01000101010001010100010101000101010FFFFFFF00FFFFFF00FFFFFF000000 + 0071000000000101010001010100010101000000000000000071000000000101 + 010001010100010101000000000000000071FFFFFF00FFFFFF00FFFFFF000000 + 000E00000000010101000101010001010100000000000000000E000000000101 + 01000101010001010100000000000000000EFFFFFF00FFFFFF00FFFFFF000000 + 006B00000000000000000000000000000000000000000000006B000000000000 + 00000000000000000000000000000000006BFFFFFF00FFFFFF00FFFFFF000000 + 000E00000000000000000000000000000000000000000000000D000000000000 + 00000000000000000000000000000000000DFFFFFF00FFFFFF00FFFFFF000000 + 004D0000000D000000670000000D000000670000000D000000670000000D0000 + 00670000000D000000670000000D0000004DFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MenuItem33: TMenuItem + Action = AcCellBorderBottom + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 + 00AC000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000E6000000E6000000E6000000ACFFFFFF00FFFFFF00FFFFFF000101 + 0114000000000000000000000000000000000000000001010113010101000000 + 000000000000000000000000000001010113FFFFFF00FFFFFF00FFFFFF000101 + 0189010101000000000000000000000000000101010001010189010101000000 + 000000000000000000000101010001010189FFFFFF00FFFFFF00FFFFFF000000 + 0011000000000000000000000000000000000000000000000011000000000000 + 000000000000000000000000000000000011FFFFFF00FFFFFF00FFFFFF000000 + 0080000000000000000000000000000000000000000000000080000000000000 + 000000000000000000000000000000000080FFFFFF00FFFFFF00FFFFFF000000 + 0010000000000000000000000000000000000000000000000010000000000000 + 000000000000000000000000000000000010FFFFFF00FFFFFF00FFFFFF000000 + 00780000000F000000780000000F000000780000000F000000780000000F0000 + 00780000000F000000780000000F00000078FFFFFF00FFFFFF00FFFFFF000000 + 000F00000000000000000000000000000000000000000000000F000000000000 + 00000000000000000000000000000000000FFFFFFF00FFFFFF00FFFFFF000000 + 0071000000000000000000000000000000000000000000000071000000000000 + 000000000000000000000000000000000071FFFFFF00FFFFFF00FFFFFF000000 + 000E00000000000000000000000000000000000000000000000E000000000000 + 00000000000000000000000000000000000EFFFFFF00FFFFFF00FFFFFF000000 + 006B00000000000000000000000000000000000000000000006B000000000000 + 00000000000000000000000000000000006BFFFFFF00FFFFFF00FFFFFF000000 + 000E00000000000000000000000000000000000000000000000D000000000000 + 00000000000000000000000000000000000DFFFFFF00FFFFFF00FFFFFF000000 + 004D0000000D000000670000000D000000670000000D000000670000000D0000 + 00670000000D000000670000000D0000004DFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MenuItem43: TMenuItem + Action = AcCellBorderBottomThick + end + object MenuItem44: TMenuItem + Action = AcCellBorderBottomDbl + end + object MenuItem48: TMenuItem + Action = AcCellBorderAllHor + end + object MenuItem36: TMenuItem + Caption = '-' + end + object MenuItem34: TMenuItem + Action = AcCellBorderLeft + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 + 00AC01010115010101A401010115010101A401010115010101A4010101150101 + 01A401010115010101A4010101150101017BFFFFFF00FFFFFF00FFFFFF000000 + 00D9010101000101010001010100010101000101010001010113010101000101 + 010001010100010101000101010001010113FFFFFF00FFFFFF00FFFFFF000101 + 01CC010101000101010001010100010101000101010001010189010101000101 + 010001010100010101000101010001010189FFFFFF00FFFFFF00FFFFFF000101 + 01C7010101000101010001010100010101000000000000000011000000000101 + 010001010100010101000000000000000011FFFFFF00FFFFFF00FFFFFF000101 + 01C4010101000101010000000000000000000000000000000080000000000000 + 000000000000000000000000000000000080FFFFFF00FFFFFF00FFFFFF000101 + 01C0010101000000000000000000000000000000000000000010000000000000 + 000000000000000000000000000000000010FFFFFF00FFFFFF00FFFFFF000101 + 01BC0000000F000000780000000F000000780000000F000000780000000F0000 + 00780000000F000000780000000F00000078FFFFFF00FFFFFF00FFFFFF000101 + 01B901010100000000000000000000000000000000000000000F000000000000 + 00000000000000000000000000000000000FFFFFFF00FFFFFF00FFFFFF000101 + 01B6010101000101010000000000000000000000000000000071000000000000 + 000000000000000000000000000000000071FFFFFF00FFFFFF00FFFFFF000101 + 01B301010100010101000101010000000000000000000000000E000000000000 + 00000000000000000000000000000000000EFFFFFF00FFFFFF00FFFFFF000101 + 01B001010100010101000000000000000000000000000000006B000000000000 + 00000000000000000000000000000000006BFFFFFF00FFFFFF00FFFFFF000101 + 01AE01010100000000000000000000000000000000000000000D000000000000 + 00000000000000000000000000000000000DFFFFFF00FFFFFF00FFFFFF000101 + 01810000000D000000670000000D000000670000000D000000670000000D0000 + 00670000000D000000670000000D0000004DFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MenuItem37: TMenuItem + Action = AcCellBorderInnerVert + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000101 + 017B01010115010101A401010115010101A401010115000000E6010101150101 + 01A401010115010101A4010101150101017BFFFFFF00FFFFFF00FFFFFF000101 + 01140101010001010100010101000101010001010100000000D9010101000101 + 010001010100010101000101010001010113FFFFFF00FFFFFF00FFFFFF000101 + 01890101010001010100010101000101010001010100010101CC010101000101 + 010001010100010101000101010001010189FFFFFF00FFFFFF00FFFFFF000000 + 00110000000001010100010101000101010001010100010101C7010101000101 + 010001010100010101000000000000000011FFFFFF00FFFFFF00FFFFFF000000 + 00800000000000000000000000000101010001010100010101C4010101000101 + 010000000000000000000000000000000080FFFFFF00FFFFFF00FFFFFF000000 + 00100000000000000000000000000000000001010100010101C0010101000000 + 000000000000000000000000000000000010FFFFFF00FFFFFF00FFFFFF000000 + 00780000000F000000780000000F000000780101010F010101BC0000000F0000 + 00780000000F000000780000000F00000078FFFFFF00FFFFFF00FFFFFF000000 + 000F0000000000000000000000000000000001010100010101B9010101000000 + 00000000000000000000000000000000000FFFFFFF00FFFFFF00FFFFFF000000 + 00710000000000000000000000000101010001010100010101B6010101000101 + 010000000000000000000000000000000071FFFFFF00FFFFFF00FFFFFF000000 + 000E0000000000000000010101000101010001010100010101B3010101000101 + 01000101010000000000000000000000000EFFFFFF00FFFFFF00FFFFFF000000 + 006B0000000000000000000000000101010001010100010101B0010101000101 + 01000000000000000000000000000000006BFFFFFF00FFFFFF00FFFFFF000000 + 000E0000000000000000000000000000000001010100010101AE010101000000 + 00000000000000000000000000000000000DFFFFFF00FFFFFF00FFFFFF000000 + 004D0000000D000000670000000D000000670101010D010101AC0000000D0000 + 00670000000D000000670000000D0000004DFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MenuItem35: TMenuItem + Action = AcCellBorderRight + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000101 + 017B01010115010101A401010115010101A401010115010101A4010101150101 + 01A401010115010101A401010115000000ACFFFFFF00FFFFFF00FFFFFF000101 + 0114010101000101010001010100010101000101010001010113010101000101 + 0100010101000101010001010100000000D9FFFFFF00FFFFFF00FFFFFF000101 + 0189010101000101010001010100010101000101010001010189010101000101 + 0100010101000101010001010100010101CCFFFFFF00FFFFFF00FFFFFF000000 + 0011000000000101010001010100010101000000000000000011000000000101 + 0100010101000101010001010100010101C7FFFFFF00FFFFFF00FFFFFF000000 + 0080000000000000000000000000000000000000000000000080000000000000 + 0000000000000101010001010100010101C4FFFFFF00FFFFFF00FFFFFF000000 + 0010000000000000000000000000000000000000000000000010000000000000 + 0000000000000000000001010100010101C0FFFFFF00FFFFFF00FFFFFF000000 + 00780000000F000000780000000F000000780000000F000000780000000F0000 + 00780000000F000000780101010F010101BCFFFFFF00FFFFFF00FFFFFF000000 + 000F00000000000000000000000000000000000000000000000F000000000000 + 0000000000000000000001010100010101B9FFFFFF00FFFFFF00FFFFFF000000 + 0071000000000000000000000000000000000000000000000071000000000000 + 0000000000000101010001010100010101B6FFFFFF00FFFFFF00FFFFFF000000 + 000E00000000000000000000000000000000000000000000000E000000000000 + 0000010101000101010001010100010101B3FFFFFF00FFFFFF00FFFFFF000000 + 006B00000000000000000000000000000000000000000000006B000000000000 + 0000000000000101010001010100010101B0FFFFFF00FFFFFF00FFFFFF000000 + 000E00000000000000000000000000000000000000000000000D000000000000 + 0000000000000000000001010100010101AEFFFFFF00FFFFFF00FFFFFF000000 + 004D0000000D000000670000000D000000670000000D000000670000000D0000 + 00670000000D000000670101010D01010181FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MenuItem47: TMenuItem + Action = AcCellBorderAllVert + end + object MenuItem38: TMenuItem + Caption = '-' + end + object MenuItem39: TMenuItem + Action = AcCellBorderAllOuter + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 + 00AC000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000E6000000E6000000E6000000ACFFFFFF00FFFFFF00FFFFFF000000 + 00D9000000000000000000000000000000000000000001010113010101000000 + 0000000000000000000000000000000000D9FFFFFF00FFFFFF00FFFFFF000101 + 01CC010101000101010000000000000000000101010001010189010101000000 + 0000000000000101010001010100010101CCFFFFFF00FFFFFF00FFFFFF000101 + 01C7010101000101010001010100000000000000000000000011000000000000 + 0000010101000101010001010100010101C7FFFFFF00FFFFFF00FFFFFF000101 + 01C4010101000101010000000000000000000000000000000080000000000000 + 0000000000000101010001010100010101C4FFFFFF00FFFFFF00FFFFFF000101 + 01C0010101000000000000000000000000000000000000000010000000000000 + 0000000000000000000001010100010101C0FFFFFF00FFFFFF00FFFFFF000101 + 01BC0000000F000000780000000F000000780000000F000000780000000F0000 + 00780000000F000000780101010F010101BCFFFFFF00FFFFFF00FFFFFF000101 + 01B901010100000000000000000000000000000000000000000F000000000000 + 0000000000000000000001010100010101B9FFFFFF00FFFFFF00FFFFFF000101 + 01B6010101000101010000000000000000000000000000000071000000000000 + 0000000000000101010001010100010101B6FFFFFF00FFFFFF00FFFFFF000101 + 01B301010100010101000101010001010100000000000000000E000000000000 + 0000010101000101010001010100010101B3FFFFFF00FFFFFF00FFFFFF000101 + 01B001010100010101000101010001010100000000000000006B000000000101 + 0100010101000101010001010100010101B0FFFFFF00FFFFFF00FFFFFF000101 + 01AE01010100010101000101010001010100010101000101010D010101000101 + 0100010101000101010001010100010101AEFFFFFF00FFFFFF00FFFFFF000101 + 0181010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC010101AC010101AC010101AC01010181FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MenuItem42: TMenuItem + Action = AcCellBorderAllOuterThick + end + object MenuItem45: TMenuItem + Caption = '-' + end + object MenuItem46: TMenuItem + Action = AcCellBorderAll + end + end end diff --git a/components/fpspreadsheet/examples/fpsctrls/main.pas b/components/fpspreadsheet/examples/fpsctrls/main.pas index 32d60837f..9d85ed9ab 100644 --- a/components/fpspreadsheet/examples/fpsctrls/main.pas +++ b/components/fpspreadsheet/examples/fpsctrls/main.pas @@ -43,7 +43,25 @@ type MenuItem29: TMenuItem; MenuItem3: TMenuItem; MenuItem30: TMenuItem; + MenuItem31: TMenuItem; + MenuItem32: TMenuItem; + MenuItem33: TMenuItem; + MenuItem34: TMenuItem; + MenuItem35: TMenuItem; + MenuItem36: TMenuItem; + MenuItem37: TMenuItem; + MenuItem38: TMenuItem; + MenuItem39: TMenuItem; MenuItem4: TMenuItem; + MenuItem40: TMenuItem; + MenuItem41: TMenuItem; + MenuItem42: TMenuItem; + MenuItem43: TMenuItem; + MenuItem44: TMenuItem; + MenuItem45: TMenuItem; + MenuItem46: TMenuItem; + MenuItem47: TMenuItem; + MenuItem48: TMenuItem; MenuItem5: TMenuItem; MenuItem6: TMenuItem; MenuItem7: TMenuItem; @@ -76,6 +94,7 @@ type AcNumFormatPercentage: TsNumberFormatAction; AcNumFormatCurrency: TsNumberFormatAction; AcNumFormatCurrencyRed: TsNumberFormatAction; + PuBorders: TPopupMenu; PuTimeFormat: TPopupMenu; PuDateFormat: TPopupMenu; PuCurrencyFormat: TPopupMenu; @@ -94,6 +113,22 @@ type AcDecDecimals: TsDecimalsAction; AcCellFont: TsFontAction; AcBackgroundColor: TsBackgroundColorAction; + AcCellBorderTop: TsCellBorderAction; + AcCellBorderBottom: TsCellBorderAction; + AcCellBorderLeft: TsCellBorderAction; + AcCellBorderRight: TsCellBorderAction; + AcCellBorderInnerHor: TsCellBorderAction; + AcCellBorderInnerVert: TsCellBorderAction; + AcCellBorderAllHor: TsCellBorderAction; + AcCellBorderBottomThick: TsCellBorderAction; + AcCellBorderBottomDbl: TsCellBorderAction; + AcCellBorderAllOuter: TsCellBorderAction; + AcCellBorderNone: TsNoCellBordersAction; + AcCellBorderAllOuterThick: TsCellBorderAction; + AcCellBorderTopBottomThick: TsCellBorderAction; + AcCellBorderTopBottomDbl: TsCellBorderAction; + AcCellBorderAll: TsCellBorderAction; + AcCellBorderAllVert: TsCellBorderAction; ToolButton11: TToolButton; ToolButton12: TToolButton; ToolButton13: TToolButton; @@ -128,6 +163,7 @@ type ToolButton3: TToolButton; ToolButton30: TToolButton; ToolButton31: TToolButton; + TbBorders: TToolButton; ToolButton4: TToolButton; ToolButton5: TToolButton; ToolButton6: TToolButton; diff --git a/components/fpspreadsheet/fpsactions.pas b/components/fpspreadsheet/fpsactions.pas index aa316f95c..963ce150b 100644 --- a/components/fpspreadsheet/fpsactions.pas +++ b/components/fpspreadsheet/fpsactions.pas @@ -1,3 +1,14 @@ +{ fpActions } + +{@@ ---------------------------------------------------------------------------- + A collection of standard actions to simplify creation of menu and toolbar + for spreadsheet applications. + +AUTHORS: Werner Pamler + +LICENSE: See the file COPYING.modifiedLGPL.txt, included in the Lazarus + distribution, for details about the license. +-------------------------------------------------------------------------------} unit fpsActions; interface @@ -31,6 +42,7 @@ type property WorkbookSource: TsWorkbookSource read FWorkbookSource write FWorkbookSource; end; + { --- Actions related to worksheets --- } TsWorksheetAction = class(TsSpreadsheetAction) @@ -125,9 +137,7 @@ type property Visible; end; - { TsFontStyleAction } - TsFontStyleAction = class(TsAutoFormatAction) private FFontStyle: TsFontStyle; @@ -142,9 +152,7 @@ type read FFontStyle write SetFontStyle; end; - { TsHorAlignmentAction } - TsHorAlignmentAction = class(TsAutoFormatAction) private FHorAlign: TsHorAlignment; @@ -159,9 +167,7 @@ type read FHorAlign write SetHorAlign default haDefault; end; - { TsVertAlignmentAction } - TsVertAlignmentAction = class(TsAutoFormatAction) private FVertAlign: TsVertAlignment; @@ -176,9 +182,7 @@ type read FVertAlign write SetVertAlign default vaDefault; end; - { TsTextRotationAction } - TsTextRotationAction = class(TsAutoFormatAction) private FTextRotation: TsTextRotation; @@ -193,9 +197,7 @@ type read FTextRotation write SetTextRotation default trHorizontal; end; - { TsWordwrapAction } - TsWordwrapAction = class(TsAutoFormatAction) private function GetWordwrap: Boolean; @@ -210,9 +212,7 @@ type read GetWordwrap write SetWordwrap default false; end; - { TsNumberFormatAction } - TsNumberFormatAction = class(TsAutoFormatAction) private FNumberFormat: TsNumberFormat; @@ -231,9 +231,7 @@ type read FNumberFormatStr write SetNumberFormatStr; end; - { TsDecimalsAction } - TsDecimalsAction = class(TsAutoFormatAction) private FDecimals: Integer; @@ -251,8 +249,95 @@ type property Hint stored false; end; + { TsCellBorderAction } + TsActionBorder = class(TPersistent) + private + FLineStyle: TsLineStyle; + FColor: TColor; + FVisible: Boolean; + public + procedure ApplyStyle(AWorkbook: TsWorkbook; out ABorderStyle: TsCellBorderStyle); + procedure ExtractStyle(AWorkbook: TsWorkbook; ABorderStyle: TsCellBorderStyle); + published + property LineStyle: TsLineStyle read FLineStyle write FLineStyle; + property Color: TColor read FColor write FColor; + property Visible: Boolean read FVisible write FVisible; + end; - { --- Actions like from TCommonDialogAction --- } + TsActionBorders = class(TPersistent) + private + FBorders: Array[TsCellBorder] of TsActionBorder; + function GetBorder(AIndex: TsCellBorder): TsActionBorder; + procedure SetBorder(AIndex: TsCellBorder; AValue: TsActionBorder); + public + constructor Create; + destructor Destroy; override; + procedure ExtractFromCell(AWorkbook: TsWorkbook; ACell: PCell); + published + property East: TsActionBorder index cbEast + read GetBorder write SetBorder; + property North: TsActionBorder index cbNorth + read GetBorder write SetBorder; + property South: TsActionBorder index cbSouth + read GetBorder write SetBorder; + property West: TsActionBorder index cbWest + read GetBorder write SetBorder; + property InnerHor: TsActionBorder index cbDiagUp // NOTE: "abusing" cbDiagUp here! + read GetBorder write SetBorder; + property InnerVert: TsActionBorder index cbDiagDown // NOTE: "abusing" cbDiagDown here" + read GetBorder write SetBorder; + end; + + TsCellBorderAction = class(TsCellAction) + private + FBorders: TsActionBorders; + protected + procedure ApplyFormatToRange(ARange: TsCellRange); override; + procedure ExtractFromCell(ACell: PCell); override; + public + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + procedure ExecuteTarget(Target: TObject); override; + published + property Borders: TsActionBorders read FBorders write FBorders; + property Caption; + property Enabled; + property HelpContext; + property HelpKeyword; + property HelpType; + property Hint; + property ImageIndex; + property OnExecute; + property OnHint; + property OnUpdate; + property SecondaryShortCuts; + property ShortCut; + property Visible; + end; + + TsNoCellBordersAction = class(TsCellAction) + protected + procedure ApplyFormatToCell(ACell: PCell); override; + public + procedure ExecuteTarget(Target: TObject); override; + published + property Caption; + property Enabled; + property HelpContext; + property HelpKeyword; + property HelpType; + property Hint; + property ImageIndex; + property OnExecute; + property OnHint; + property OnUpdate; + property SecondaryShortCuts; + property ShortCut; + property Visible; + end; + + + { --- Actions like those derived from TCommonDialogAction --- } TsCommonDialogSpreadsheetAction = class(TsSpreadsheetAction) private @@ -276,9 +361,7 @@ type property OnCancel: TNotifyEvent read FOnCancel write FOnCancel; end; - { TsCommondDialogCellAction } - TsCommonDialogCellAction = class(TsCommondialogSpreadsheetAction) protected procedure DoAccept; override; @@ -305,9 +388,7 @@ type property OnHint; end; - { TsFontAction } - TsFontAction = class(TsCommonDialogCellAction) private function GetDialog: TFontDialog; @@ -322,7 +403,6 @@ type end; { TsBackgroundColorAction } - TsBackgroundColorAction = class(TsCommonDialogCellAction) private FBackgroundColor: TsColor; @@ -356,7 +436,8 @@ begin TsFontAction, TsFontStyleAction, TsBackgroundColorAction, TsHorAlignmentAction, TsVertAlignmentAction, TsTextRotationAction, TsWordWrapAction, - TsNumberFormatAction, TsDecimalsAction + TsNumberFormatAction, TsDecimalsAction, + TsCellBorderAction, TsNoCellBordersAction ], nil); end; @@ -958,6 +1039,175 @@ begin end; +{ TsCellBorderAction } + +procedure TsActionBorder.ApplyStyle(AWorkbook: TsWorkbook; + out ABorderStyle: TsCellBorderStyle); +begin + ABorderStyle.LineStyle := FLineStyle; + ABorderStyle.Color := AWorkbook.GetPaletteColor(ABorderStyle.Color); +end; + +procedure TsActionBorder.ExtractStyle(AWorkbook: TsWorkbook; + ABorderStyle: TsCellBorderStyle); +begin + FLineStyle := ABorderStyle.LineStyle; + Color := AWorkbook.AddColorToPalette(ABorderStyle.Color); +end; + +constructor TsActionBorders.Create; +var + cb: TsCellBorder; +begin + inherited Create; + for cb in TsCellBorder do + FBorders[cb] := TsActionBorder.Create; +end; + +destructor TsActionBorders.Destroy; +var + cb: TsCellBorder; +begin + for cb in TsCellBorder do FBorders[cb].Free; + inherited Destroy; +end; + +procedure TsActionBorders.ExtractFromCell(AWorkbook: TsWorkbook; ACell: PCell); +var + cb: TsCellBorder; +begin + if (ACell = nil) or not (uffBorder in ACell^.UsedFormattingFields) then + for cb in TsCellBorder do + begin + FBorders[cb].ExtractStyle(AWorkbook, DEFAULT_BORDERSTYLES[cb]); + FBorders[cb].Visible := false; + end + else + for cb in TsCellBorder do + begin + FBorders[cb].ExtractStyle(AWorkbook, ACell^.BorderStyles[cb]); + FBorders[cb].Visible := cb in ACell^.Border; + end; +end; + +function TsActionBorders.GetBorder(AIndex: TsCellBorder): TsActionBorder; +begin + Result := FBorders[AIndex]; +end; + +procedure TsActionBorders.SetBorder(AIndex: TsCellBorder; + AValue: TsActionBorder); +begin + FBorders[AIndex] := AValue; +end; + +constructor TsCellBorderAction.Create(AOwner: TComponent); +begin + inherited Create(AOwner); + FBorders := TsActionBorders.Create; +end; + +destructor TsCellBorderAction.Destroy; +begin + FBorders.Free; + inherited; +end; + +procedure TsCellBorderAction.ApplyFormatToRange(ARange: TsCellRange); + + procedure ShowBorder(ABorder: TsCellBorder; ACell: PCell; + ABorderStyle: TsCellBorderStyle; AEnable: boolean); + var + brdr: TsCellBorders; + begin + brdr := ACell^.Border; + if AEnable then + begin + Include(brdr, ABorder); + Worksheet.WriteBorderStyle(ACell, ABorder, ABorderStyle); + Worksheet.WriteBorders(ACell, brdr); + // Don't modify the cell directly, this will miss the OnChange event. + end; + end; + +var + r, c: LongInt; + ls: TsLineStyle; + bs: TsCellBorderStyle; + cell: PCell; +begin + // Top edges + Borders.North.ApplyStyle(Workbook, bs); + for c := ARange.Col1 to ARange.Col2 do + ShowBorder(cbNorth, Worksheet.GetCell(ARange.Row1, c), bs, Borders.North.Visible); + + // Bottom edges + Borders.South.ApplyStyle(Workbook, bs); + for c := ARange.Col1 to ARange.Col2 do + ShowBorder(cbSouth, Worksheet.GetCell(ARange.Row2, c), bs, Borders.South.Visible); + + // Inner horizontal edges + Borders.InnerHor.ApplyStyle(Workbook, bs); + for c := ARange.Col1 to ARange.Col2 do + begin + for r := ARange.Row1 to LongInt(ARange.Row2)-1 do + ShowBorder(cbSouth, Worksheet.GetCell(r, c), bs, Borders.InnerHor.Visible); + for r := ARange.Row1+1 to ARange.Row2 do + ShowBorder(cbNorth, Worksheet.GetCell(r, c), bs, Borders.InnerHor.Visible); + end; + + // Left edges + Borders.West.ApplyStyle(Workbook, bs); + for r := ARange.Row1 to ARange.Row2 do + ShowBorder(cbWest, Worksheet.GetCell(r, ARange.Col1), bs, Borders.West.Visible); + + // Right edges + Borders.East.ApplyStyle(Workbook, bs); + for r := ARange.Row1 to ARange.Row2 do + ShowBorder(cbEast, Worksheet.GetCell(r, ARange.Col2), bs, Borders.East.Visible); + + // Inner vertical lines + Borders.InnerVert.ApplyStyle(Workbook, bs); + for r := ARange.Row1 to ARange.Row2 do + begin + for c := ARange.Col1 to LongInt(ARange.Col2)-1 do + ShowBorder(cbEast, Worksheet.GetCell(r, c), bs, Borders.InnerVert.Visible); + for c := ARange.Col1+1 to ARange.Col2 do + ShowBorder(cbWest, Worksheet.GetCell(r, c), bs, Borders.InnerVert.Visible); + end; +end; + +procedure TsCellBorderAction.ExecuteTarget(Target: TObject); +begin + ApplyFormatToSelection; +end; + +procedure TsCellBorderAction.ExtractFromCell(ACell: PCell); +var + EmptyCell: TCell; +begin + if (ACell = nil) or not (uffBorder in ACell^.UsedFormattingFields) then + begin + InitCell(EmptyCell); + FBorders.ExtractFromCell(Workbook, @EmptyCell); + end else + FBorders.ExtractFromCell(Workbook, ACell); +end; + + +{ TsNoCellBordersAction } + +procedure TsNoCellBordersAction.ApplyFormatToCell(ACell: PCell); +begin + Worksheet.WriteBorders(ACell, []); +end; + +procedure TsNoCellBordersAction.ExecuteTarget(Target: TObject); +begin + ApplyFormatToSelection; +end; + + { TsCommonDialogSpreadsheetAction } constructor TsCommonDialogSpreadsheetAction.Create(AOwner: TComponent);