From 0f4043d881e4d11b8f22f07659fe1486cc992f4c Mon Sep 17 00:00:00 2001 From: jesus Date: Tue, 14 Oct 2008 21:38:48 +0000 Subject: [PATCH] started spreadsheet stringgrid sample git-svn-id: trunk@16995 - --- .gitattributes | 8 + examples/spreadsheet/main.lfm | 342 +++++++++++++++++++ examples/spreadsheet/main.lrs | 50 +++ examples/spreadsheet/main.pas | 65 ++++ examples/spreadsheet/spreadsheet.ico | Bin 0 -> 14790 bytes examples/spreadsheet/spreadsheet.lpi | 119 +++++++ examples/spreadsheet/spreadsheet.lpr | 20 ++ examples/spreadsheet/spreadsheet.lrs | 491 +++++++++++++++++++++++++++ examples/spreadsheet/spreadsheet.rc | 1 + 9 files changed, 1096 insertions(+) create mode 100644 examples/spreadsheet/main.lfm create mode 100644 examples/spreadsheet/main.lrs create mode 100644 examples/spreadsheet/main.pas create mode 100644 examples/spreadsheet/spreadsheet.ico create mode 100644 examples/spreadsheet/spreadsheet.lpi create mode 100644 examples/spreadsheet/spreadsheet.lpr create mode 100644 examples/spreadsheet/spreadsheet.lrs create mode 100644 examples/spreadsheet/spreadsheet.rc diff --git a/.gitattributes b/.gitattributes index e25db87c9c..b9febe369a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2176,6 +2176,14 @@ examples/shapedcontrols/unit1.lrs -text svneol=native#test/pascal examples/shapedcontrols/unit1.pas -text svneol=native#test/pascal examples/speedtest.lpi svneol=native#text/plain examples/speedtest.pp svneol=native#text/pascal +examples/spreadsheet/main.lfm svneol=native#text/plain +examples/spreadsheet/main.lrs svneol=native#text/plain +examples/spreadsheet/main.pas svneol=native#text/pascal +examples/spreadsheet/spreadsheet.ico -text +examples/spreadsheet/spreadsheet.lpi svneol=native#text/plain +examples/spreadsheet/spreadsheet.lpr svneol=native#text/pascal +examples/spreadsheet/spreadsheet.lrs svneol=native#text/plain +examples/spreadsheet/spreadsheet.rc svneol=native#text/plain examples/sprites/playground.lfm svneol=native#text/plain examples/sprites/playground.lrs svneol=native#text/pascal examples/sprites/playground.pas svneol=native#text/pascal diff --git a/examples/spreadsheet/main.lfm b/examples/spreadsheet/main.lfm new file mode 100644 index 0000000000..a0c179cdb5 --- /dev/null +++ b/examples/spreadsheet/main.lfm @@ -0,0 +1,342 @@ +object Form1: TForm1 + Left = 104 + Height = 370 + Top = 193 + Width = 550 + HelpContext = 0 + Align = alNone + AllowDropFiles = False + AutoScroll = True + AutoSize = False + BorderIcons = [biSystemMenu, biMinimize, biMaximize] + BorderStyle = bsSizeable + Caption = 'Form1' + ChildSizing.LeftRightSpacing = 0 + ChildSizing.TopBottomSpacing = 0 + ChildSizing.HorizontalSpacing = 0 + ChildSizing.VerticalSpacing = 0 + ChildSizing.ControlsPerLine = 0 + ClientHeight = 370 + ClientWidth = 550 + DockSite = False + DragKind = dkDrag + DragMode = dmManual + Enabled = True + Font.Height = 0 + Font.Style = [] + FormStyle = fsNormal + ParentBiDiMode = True + ParentFont = False + Position = poDesigned + ShowInTaskBar = stDefault + UseDockManager = False + LCLVersion = '0.9.27' + WindowState = wsNormal + object grid: TStringGrid + Left = 20 + Height = 260 + Top = 92 + Width = 512 + HelpContext = 0 + Align = alNone + Anchors = [akTop, akLeft, akRight, akBottom] + AutoAdvance = aaRight + AutoEdit = True + AutoFillColumns = False + BorderSpacing.Left = 0 + BorderSpacing.Top = 0 + BorderSpacing.Right = 0 + BorderSpacing.Bottom = 0 + BorderSpacing.Around = 0 + BorderSpacing.CellAlignHorizontal = ccaFill + BorderSpacing.CellAlignVertical = ccaFill + BorderStyle = bsSingle + ColCount = 255 + DefaultColWidth = 90 + DefaultDrawing = True + DragCursor = crDrag + DragKind = dkDrag + DragMode = dmManual + Enabled = True + ExtendedSelect = True + FixedColor = clBtnFace + FixedCols = 1 + FixedRows = 1 + Flat = False + GridLineWidth = 1 + HeaderHotZones = [gzFixedCols] + HeaderPushZones = [gzFixedCols] + Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect] + ParentColor = False + ParentFont = True + ParentShowHint = True + RowCount = 1000 + ScrollBars = ssAutoBoth + TabOrder = 0 + TabStop = True + TitleFont.Height = 0 + TitleFont.Style = [] + TitleStyle = tsLazarus + UseXORFeatures = False + Visible = True + OnBeforeSelection = gridBeforeSelection + OnPrepareCanvas = gridPrepareCanvas + ColWidths = ( + 43 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + 90 + ) + end +end diff --git a/examples/spreadsheet/main.lrs b/examples/spreadsheet/main.lrs new file mode 100644 index 0000000000..79ee155016 --- /dev/null +++ b/examples/spreadsheet/main.lrs @@ -0,0 +1,50 @@ +{ This is an automatically generated lazarus resource file } + +LazarusResources.Add('TForm1','FORMDATA',[ + 'TPF0'#6'TForm1'#5'Form1'#4'Left'#2'h'#6'Height'#3'r'#1#3'Top'#3#193#0#5'Widt' + +'h'#3'&'#2#11'HelpContext'#2#0#5'Align'#7#6'alNone'#14'AllowDropFiles'#8#10 + +'AutoScroll'#9#8'AutoSize'#8#11'BorderIcons'#11#12'biSystemMenu'#10'biMinimi' + +'ze'#10'biMaximize'#0#11'BorderStyle'#7#10'bsSizeable'#7'Caption'#6#5'Form1' + +#28'ChildSizing.LeftRightSpacing'#2#0#28'ChildSizing.TopBottomSpacing'#2#0#29 + +'ChildSizing.HorizontalSpacing'#2#0#27'ChildSizing.VerticalSpacing'#2#0#27'C' + +'hildSizing.ControlsPerLine'#2#0#12'ClientHeight'#3'r'#1#11'ClientWidth'#3'&' + +#2#8'DockSite'#8#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled' + +#9#11'Font.Height'#2#0#10'Font.Style'#11#0#9'FormStyle'#7#8'fsNormal'#14'Par' + +'entBiDiMode'#9#10'ParentFont'#8#8'Position'#7#10'poDesigned'#13'ShowInTaskB' + +'ar'#7#9'stDefault'#14'UseDockManager'#8#10'LCLVersion'#6#6'0.9.27'#11'Windo' + +'wState'#7#8'wsNormal'#0#11'TStringGrid'#4'grid'#4'Left'#2#20#6'Height'#3#4#1 + +#3'Top'#2'\'#5'Width'#3#0#2#11'HelpContext'#2#0#5'Align'#7#6'alNone'#7'Ancho' + +'rs'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#11'AutoAdvance'#7#7'aaRi' + +'ght'#8'AutoEdit'#9#15'AutoFillColumns'#8#18'BorderSpacing.Left'#2#0#17'Bord' + +'erSpacing.Top'#2#0#19'BorderSpacing.Right'#2#0#20'BorderSpacing.Bottom'#2#0 + +#20'BorderSpacing.Around'#2#0'!BorderSpacing.CellAlignHorizontal'#7#7'ccaFil' + +'l'#31'BorderSpacing.CellAlignVertical'#7#7'ccaFill'#11'BorderStyle'#7#8'bsS' + +'ingle'#8'ColCount'#3#255#0#15'DefaultColWidth'#2'Z'#14'DefaultDrawing'#9#10 + +'DragCursor'#7#6'crDrag'#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7 + +'Enabled'#9#14'ExtendedSelect'#9#10'FixedColor'#7#9'clBtnFace'#9'FixedCols'#2 + +#1#9'FixedRows'#2#1#4'Flat'#8#13'GridLineWidth'#2#1#14'HeaderHotZones'#11#11 + +'gzFixedCols'#0#15'HeaderPushZones'#11#11'gzFixedCols'#0#7'Options'#11#15'go' + +'FixedVertLine'#15'goFixedHorzLine'#10'goVertLine'#10'goHorzLine'#13'goRange' + +'Select'#0#11'ParentColor'#8#10'ParentFont'#9#14'ParentShowHint'#9#8'RowCoun' + +'t'#3#232#3#10'ScrollBars'#7#10'ssAutoBoth'#8'TabOrder'#2#0#7'TabStop'#9#16 + +'TitleFont.Height'#2#0#15'TitleFont.Style'#11#0#10'TitleStyle'#7#9'tsLazarus' + +#14'UseXORFeatures'#8#7'Visible'#9#17'OnBeforeSelection'#7#19'gridBeforeSele' + +'ction'#15'OnPrepareCanvas'#7#17'gridPrepareCanvas'#9'ColWidths'#1#2'+'#2'Z' + +#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2 + +'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2 + +'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2 + +'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2 + +'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2 + +'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2 + +'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2 + +'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2 + +'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2 + +'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2 + +'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2 + +'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2 + +'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2 + +'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2 + +'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2 + +'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2 + +'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#2'Z'#0#0#0#0 +]); diff --git a/examples/spreadsheet/main.pas b/examples/spreadsheet/main.pas new file mode 100644 index 0000000000..68a2679fb6 --- /dev/null +++ b/examples/spreadsheet/main.pas @@ -0,0 +1,65 @@ +unit main; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, + Grids; + +type + + { TForm1 } + + TForm1 = class(TForm) + grid: TStringGrid; + procedure gridBeforeSelection(Sender: TObject; aCol, aRow: Integer); + procedure gridPrepareCanvas(sender: TObject; aCol, aRow: Integer; + aState: TGridDrawState); + private + { private declarations } + public + { public declarations } + end; + +var + Form1: TForm1; + +implementation + +{ TForm1 } + +procedure TForm1.gridBeforeSelection(Sender: TObject; aCol, aRow: Integer + ); +begin + + if Grid.Col<>aCol then + begin + grid.InvalidateCell(grid.Col, 0); + grid.InvalidateCell(aCol, 0); + end; + + if Grid.Row<>aRow then + begin + grid.InvalidateCell(0, grid.Row); + grid.InvalidateCell(0, aRow); + end; + +end; + +procedure TForm1.gridPrepareCanvas(sender: TObject; aCol, aRow: Integer; + aState: TGridDrawState); +begin + if gdFixed in aState then + begin + if (aCol=grid.Col) or (aRow=grid.Row) then + grid.Canvas.Brush.Color := clInactiveCaption; + end; +end; + +initialization + {$I main.lrs} + +end. + diff --git a/examples/spreadsheet/spreadsheet.ico b/examples/spreadsheet/spreadsheet.ico new file mode 100644 index 0000000000000000000000000000000000000000..655ceb181a9221574e59be728085bf0b6102f9ae GIT binary patch literal 14790 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

dSmqF`zK%g(bSDM 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 literal 0 HcmV?d00001 diff --git a/examples/spreadsheet/spreadsheet.lpi b/examples/spreadsheet/spreadsheet.lpi new file mode 100644 index 0000000000..6de12cb170 --- /dev/null +++ b/examples/spreadsheet/spreadsheet.lpi @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/spreadsheet/spreadsheet.lpr b/examples/spreadsheet/spreadsheet.lpr new file mode 100644 index 0000000000..bd92f0acf1 --- /dev/null +++ b/examples/spreadsheet/spreadsheet.lpr @@ -0,0 +1,20 @@ +program Project1; + +{$mode objfpc}{$H+} + +uses + {$IFDEF UNIX}{$IFDEF UseCThreads} + cthreads, + {$ENDIF}{$ENDIF} + Interfaces, // this includes the LCL widgetset + Forms + { you can add units after this }, main, LResources; + +{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF} + +begin + Application.Initialize; + Application.CreateForm(TForm1, Form1); + Application.Run; +end. + diff --git a/examples/spreadsheet/spreadsheet.lrs b/examples/spreadsheet/spreadsheet.lrs new file mode 100644 index 0000000000..f5f38e5dc8 --- /dev/null +++ b/examples/spreadsheet/spreadsheet.lrs @@ -0,0 +1,491 @@ +LazarusResources.Add('MAINICON','ICO',[ + #0#0#1#0#4#0#24#24#0#0#1#0#8#0#200#6#0#0'F'#0#0#0#16#16#0#0#1#0#8#0'h'#5#0#0 + +#14#7#0#0'00'#0#0#1#0#24#0#168#28#0#0'v'#12#0#0' '#0#0#1#0' '#0#168#16#0#0 + +#30')'#0#0'('#0#0#0#24#0#0#0'0'#0#0#0#1#0#8#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#6#2#1#0#22#23#24#0#20' 0'#0#25'!6'#0#28'%8'#0'"!!'#0 + +'!%)'#0'+))'#0'4//'#0'51.'#0'+-1'#0'%.<'#0'+1:'#0'533'#0':32'#0':95'#0'359'#0 + +'6;<'#0'=??'#0'F7.'#0'D84'#0'K<5'#0'A<8'#0'GC>'#0#22'%@'#0#27'6S'#0'%2C'#0'+' + +'5A'#0',8G'#0'"1J'#0'-:I'#0'16A'#0'8?C'#0'3I'#0',=T'#0'>CG'#0'IU'#0'4DX'#0';J\'#0'/Gd'#0'7Of'#0'8Lc'#0'=Rd'#0'Yq'#0':Wz'#0'7Z'#0'DDB'#0'IGE'#0'FGJ'#0'DIK'#0'KKL'#0'QKE'#0 + +'ZNC'#0'DKT'#0'NOT'#0'AL['#0'KRT'#0'JR['#0'UUT'#0'\WU'#0'QU['#0'VYZ'#0'[]]'#0 + +'eZR'#0'i]R'#0'a\\'#0'd`]'#0'le^'#0'p`U'#0'ui^'#0'@Nc'#0'ESb'#0'IUb'#0'LYd'#0 + +'CVj'#0'GZm'#0'IYk'#0'T[b'#0'[^b'#0'R^j'#0'H[p'#0'H\x'#0'X`m'#0'M`u'#0'Fa~'#0 + +'Lay'#0'P`r'#0'Ydp'#0'\iu'#0'Sdz'#0'Vi|'#0'Yj}'#0'nd`'#0'dfl'#0'iei'#0'cij'#0 + +'llm'#0'pjd'#0'{qg'#0'~vm'#0'agp'#0'ckq'#0'bn|'#0'dq{'#0'kr{'#0'vsr'#0'}wq'#0 + +'{tt'#0'vv|'#0'vy{'#0'yyx'#0'{y'#0'||y'#0'y|'#0#131'tg'#0#133'wl'#0#136'w' + +#0#136#128'w'#0#134#131'~'#0'@_'#130#0'Eb'#130#0'He'#130#0'Ni'#135#0'Hj'#143 + +#0'Ul'#135#0'Yl'#128#0'Yn'#132#0'Qk'#136#0'Wr'#139#0'[r'#139#0'Km'#147#0'So' + +#147#0'Sq'#146#0'Zt'#144#0'_z'#151#0'Qt'#153#0'Wx'#159#0'co'#129#0'eu'#132#0 + +'hu'#133#0'mx'#130#0'jz'#134#0'eu'#136#0'iv'#137#0'fx'#141#0'rz'#130#0's' + +#139#0'y'#137#0'cz'#148#0'm~'#146#0'g}'#153#0'h~'#152#0'Uz'#165#0'W{'#168#0 + +#131''#130#0'~'#129#134#0'u'#128#139#0'|'#129#139#0'l'#129#156#0'u'#131#147 + +#0'p'#131#150#0'r'#134#151#0'x'#133#148#0''#136#147#0's'#133#155#0'y'#138 + +#157#0'x'#140#158#0'\'#129#171#0'b'#129#163#0'k'#133#163#0'd'#134#169#0'n' + +#139#170#0's'#137#163#0'y'#141#162#0'x'#142#164#0'q'#142#175#0'z'#143#168#0 + +'y'#144#170#0'y'#147#173#0'|'#146#173#0'e'#137#178#0'h'#137#176#0'r'#142#177 + +#0'm'#145#187#0'r'#145#180#0''#151#178#0'|'#152#177#0'|'#154#183#0'r'#149 + +#190#0'u'#152#189#0'u'#154#199#0#134#132#129#0#133#133#134#0#136#135#132#0 + +#140#136#132#0#129#133#137#0#133#136#138#0#129#136#141#0#133#137#141#0#139 + +#140#139#0#147#137#129#0#148#145#142#0#152#147#140#0#129#135#149#0#133#138 + +#150#0#138#143#149#0#132#143#153#0#134#145#156#0#139#146#154#0#151#151#148#0 + +#158#150#149#0#152#155#157#0#162#153#147#0#131#148#166#0#140#151#162#0#137 + +#152#166#0#132#153#175#0#137#155#172#0#155#159#160#0#144#157#172#0#131#154 + +#181#0#152#162#172#0#139#161#186#0#151#167#183#0#152#166#182#0#145#165#187#0 + +#160#165#168#0#173#175#174#0#176#176#175#0#172#180#187#0#129#159#192#0#140 + +#170#201#0#141#173#200#0#146#171#196#0#148#171#196#0#144#173#199#0#148#174 + +#199#0#150#177#204#0#159#180#200#0#156#186#213#0#163#182#197#0#167#185#202#0 + +#166#189#214#0#171#191#208#0#170#193#214#0#177#195#210#0#255#255#255#0#0#0#0 + +#0#0#147'.'#137#241#240#196#195#183#174#215#207'ys'#221#0#0#0#0#0#0#0#0#0#0 + +#134#187#244#248#243#182#170#150#149#206#201'L~'#0#0#0#0#0#0#0#0#0#172#173 + +#138#245#253#228#216#223#216#217#220#218#211'}k'#0#0#0#0#0#0#0#0#0'`T'#134 + +#232#238#164#216#224#217#205#208#200#203#209'N'#20#0#0#0#0#0#0#0#235'p'#175 + +#247#230'wF'#233#254#214'K'#202#236#210'H|M'#221#0#0#0#0#0#0'n'#165#252#249 + +#204#10'E'#222#250#217'8'#202#227'w'#21'={N'#0#0#0#0#0#237'qnp'#149'G'#23#207 + +#216#223#2#0#6#208#200'l'#22'I='#0#0#0#0#0#203'7'#18'A>;'#10'zq'#11#0#1#0#9 + +'rjq'#154#154'[pQ'#228#165'WJ'#0#0#0#0'G;'#19'CV'#155#226'B*Rd'#153#153'd_' + +#169#234#171'n;'#0#0#0#0'hpBEa'#183#231#168'*'#134'Z'#133#142#160'c'#231#194 + +#174'm'#14#0#0#0#0'Eq)"'#182#229#242#171'S'#178#141#129#177#178'c'#231#188 + +#169'a'#11#220#0#0'w!Q+\'#181#138'\'#28'1'#193#190#132#197#191'++O'#152#148 + +'&W'#0#0';'#7'"S4'#173'+$'#5'1'#189#192#139#199#190''''#25#4'"(QV'#0#0'C'#17 + +#29'T+'#29#12#5#30#128#161#161'6'#176#162'5$&>)#'#17#0#0'CA),1'#157#181#167 + +'-'#145#192#144'2'#144#189#139#133#225#169'P#9'#0#0'AR*(S]'#193#239#26#177 + +#198#129#130#179#192#140'Z'#246#135'(BE'#0#0'X0$,'#3'/'#131#184'3'#167#137 + +#143#136#177#180#142#157#185'"'#12'>V'#0#0#158'^'#159#229'O'#27'^'#186',Y' + +#160#167#138#173#151'PaX'#13'm>V'#0#0#173'Ob'#251#222'""Uo'#151#173'd'#146 + +#168'q?;;gu'#7'f'#0#0#152' '#17'v'#0#0#0#204#166#166#213#156#207#201'rKe'#22 + +#21#9#14#0#0#0#212'f'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#219't'#163#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#248#0#31#0#248#0#31#0#240#0#31#0#240 + +#0#15#0#224#0#7#0#224#0#7#0#192#0#7#0#192#0#7#0#192#0#3#0#192#0#3#0#192#0#3#0 + +#192#0#3#0#192#0#1#0#128#0#1#0#128#0#1#0#128#0#1#0#128#0#1#0#128#0#1#0#128#0 + +#1#0#128#0#1#0#128#0#1#0#135#0#3#0#159#255#199#0#255#255#255#0'('#0#0#0#16#0 + +#0#0' '#0#0#0#1#0#8#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#10#10#11#0#16#15#14#0'$ '#31#0#22'!2'#0#27'#6'#0#18' 8'#0#31'->'#0'''"!'#0 + +'&/:'#0',14'#0'557'#0':99'#0'<:9'#0'>?;'#0'L<7'#0'EA='#0'+3B'#0'-:H'#0'5:E'#0 + ,'+9P'#0'>AC'#0'>@F'#0'5CR'#0'6DT'#0'8CW'#0'9FT'#0'3H_'#0''#17#255 + +#0'X1'#255#0'qQ'#255#0#140'q'#255#0#166#145#255#0#191#177#255#0#218#209#255#0 + +#255#255#255#0#0#0#0'uM'#169#168#147#134#133#152'\'#0#0#0#0#0#0#0'{'#145#173 + +#158#155#132#156#157'g['#0#0#0#0#0#0'='#137#167#128#166#129'h'#154'i8'#0#0#0 + +#0#0'K'#170#171',J'#172'c'#162')79'#0#0#0#0'IL]'#16#153#130#1#2'ef+*'#0#0#0 + +'V'#16'#&'#12'X'#11#3#8#12'6Ub'#0#0#0'!'#14'5Yx''0awPA'#161'W4'#0#0'ZJ.Q'#160 + +'@TNly'#136#159'`'#13#0#0'._'#18#144#164'>'#139'jr|v'#143's%'#0#0#10#24'Ez' + +#20#4#141#140#148'~'#6#5'B<'#0#0#21#23' :'#25#30'}mp}'#31'C;'#19#0#0'1'#26' ' + +'n'#150#29#151'Hq'#149'D'#165#28'/'#0#0'?F'#7#27#146'Gol'#138#138'kt'#9'-'#0 + +#0'R'#142#163#17'OB'#135'S'#131'^("d'#22#0#0'2"'#0#0#0#0#0#0#0#0#0#15'$3'#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#224#15#0#0#224#7#0#0#224#7#0#0#192#3#0#0#192#3 + +#0#0#128#3#0#0#128#1#0#0#128#1#0#0#128#1#0#0#128#1#0#0#128#1#0#0#128#1#0#0 + +#128#1#0#0#128#1#0#0#159#241#0#0#255#255#0#0'('#0#0#0'0'#0#0#0'`'#0#0#0#1#0 + +#24#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#132#148#164'F^r*AW'#0#23'-'#24'/EB\t' + +#143#174#199#141#175#204#150#181#212'}'#156#189'{'#156#189#139#170#201#139 + +#169#198#128#158#183#134#159#185#136#160#184#134#155#177#132#149#168#140#153 + +#169#142#153#161#143#149#154#145#150#149'~'#128#128'yxt{vs'#148#140#133#140 + +'}t'#144#133'}'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#21'%6"9O6NdF`x`x' + +#144'u'#144#170#166#196#223#156#188#217#158#189#220#130#159#190'g'#133#162'{' + +#152#179#130#157#183'v'#144#168's'#140#160'v'#139#160'v'#135#154'z'#136#154 + +'}'#137#149#132#140#147#138#143#146#130#135#134'xyw|yuzvq'#139#131'|'#145#133 + +'{'#130'wo'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'ckr 0A_v'#140'p'#137#163#138 + +#165#191#143#172#199#154#184#211#163#195#224#158#190#219#166#194#224#148#175 + +#202'w'#145#169'n'#134#154'i'#145'g{'#140']p}]ozbp|_iss{'#130#135#140#143 + +#133#135#136'sssxuq'#137#133#128'rlg81(`VL'#128'vl'#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0'''0:m|'#143#150#172#197#144#169#195#149#176#203#165#195#222#155 + +#185#212#147#177#204#159#189#214#160#184#208#149#172#194''#144#163'cs'#131 + +'q'#129#145'o'#128#141'ct}kx'#128'fqy`ho{'#132#150#154#155#134#136#136#138 + +#136#135#143#139#134#148#142#135#131'{tI@7YOE'#151#141#131#129'xo'#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + ,#0#0#0#0#0#0#0#0'tz'#129'KWc'#155#169#191#132#152#177'n'#134#158'q'#140#166 + +#148#177#204#157#187#212#167#193#217#162#186#206#155#173#190#141#156#172'u~' + +#140#137#146#159#144#156#168#138#152#164#134#146#156#132#143#151'v'#136#143 + +#151#158#143#147#152#150#154#155#148#150#150#168#167#163#158#155#147#153#145 + +#138#137#129'zvm'#130'xn'#156#146#136'eYM'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'mvy' + +#132#146#157#172#191'G\r'#19'*@C[s'#136#162#186#174#198#220#191#213#231#178 + +#194#210#152#162#172#133#142#152#144#150#161#151#159#172#145#157#169#152#164 + +#176#151#161#171#153#162#171#148#156#163#168#174#179#163#168#171#161#165#166 + +#153#153#153#153#150#146#166#160#153#153#146#137#147#137#130#149#138#130#148 + +#138#128'aUKUG;i]S'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'r{'#132'?KWM]nCWi'#4#23',AVk'#144#165 + +#186#174#194#211#187#201#213#182#190#197#144#148#153'}'#129#134#140#149#159 + +'t'#141'|'#137#151#143#156#170#153#162#175#168#175#184#170#176#181#173#177 + +#178#163#165#166#162#162#162#137#135#134'eb^~xs'#145#137#130#153#142#134#160 + +#149#141#145#135'}1%'#27'-'#28#19'$'#21#12#137'x'#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'~'#135#144 + +#30'*6/?P]q'#131'cv'#139'v'#138#156#156#174#191#158#171#185#171#177#182#177 + +#179#180#138#136#136'WZ^'#157#166#179#160#175#191'|'#139#155'u'#130#144'pz' + +#132'gmtnpqwwwhfeqontrq'#136#132#131#151#146#143#154#148#141#140#129'y'#158 + +#146#136#147#135'}'#133'yoWF='#22#5#0'E:2'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#164#168#173'}'#134#143'4A' + +'O`q'#132'|'#148#168#157#180#202#170#191#212#168#183#199#144#153#162#160#160 + +#160#145#142#138'\XWX[`'#166#179#193#186#204#221#186#204#221#179#195#208#159 + +#168#177#134#137#141'.*)3/*}yt'#159#156#152#188#189#187#187#187#187#185#183 + +#182#164#160#155'\RH'#130'th'#154#139#130#162#147#138'}maP@4D6*'#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'Z`e' + +'ENWjw'#133#142#162#180#154#177#199#176#200#222#181#203#221#173#185#197#137 + +#141#146'|xLFA2-.QT\'#144#159#175#183#203#221#204#224#242#205#221#234#181 + +#190#199#158#160#161'fa^gaZ'#160#156#151#182#181#177#197#199#199#191#195#196 + +#174#176#176#136#133#129'LA9C5)|nb'#149#135'{'#133'uhwgZhXK'#148#138#128#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'y~'#129 + +'agnFOX'#155#168#182#180#200#218#167#191#211#166#191#211#174#195#210#150#158 + +#165#138#138#138'GC>'#20#16#11#7#6#10'NT_~'#142#159#156#177#198#181#202#223 + +#181#197#213#172#182#192#130#133#137'B?;JFA'#136#133#129#156#157#155#175#180 + +#181#153#158#161#128#132#133'xvuMD@'#12#1#0'9+'#31#142#129's'#152#136'{'#139 + +'{np`Si]S'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0'`di~'#134#141'ENW'#132#146#158#199#217#234#191#213#231#161#184#200#159 + +#177#188#143#148#151'spl#'#29#22#15#11#6'WX\'#133#139#150'y'#135#153'r'#133 + +#154#138#158#176#171#186#202#189#198#207#132#135#139#4#2#1#10#7#3'{yx'#175 + +#177#177#159#164#165#128#133#136'qvupqoga\'''#28#20#25#13#1'yl^'#137'|n'#130 + +'rezj]ymc'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#178#180#181#132#138#143#165#173#180'kt}dp|'#154#170#183#152#168#184#159#176 + +#189#132#145#153'z~gd`'#27#21#14'($'#31#135#137#138#139#146#155'}'#136#150 + +#131#146#162#167#183#196#207#217#227'Z^c'#0#0#1#0#0#0#2#0#0#2#0#0#134#135#133 + +#198#200#200#156#161#160#130#133#131'}|x'#143#135#128'j`V'#18#6#0'i\N}oc'#141 + +'saTFdZP'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#142#142#142'wz~X^cYahs~'#134'O[e'#29',56;1''?6-'#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'khdQON'#1#2#0'(-.AJ' + +'M(29AKR>HONUXXZZdba'#17#12#9'JEB'#146#145#147#129#133#138#142#149#158#134 + +#141#150'*.3'#0#0#1#0#0#0#2#0#0#4#0#0#4#0#0#2#0#0#0#0#0#2#0#0'CA@'#151#150 + +#146#135#132''#148#140#133'zqh4+"'#139#130'yf^W?94[UP^YV'#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#129'~zOKFWSN<95*-+/54SZ]x~'#131'T' + +'[^&+,(,-iii'#23#19#18#14#10#9'~'#128'hko'#131#137#144'hlq'#0#0#3#2#0#0#2#0 + +#0#7#4#0#16#9#6#8#1#0#4#0#0#2#0#0#4#0#0#4#0#0#130#128''#135#134#130'ytqIC>' + +#31#27#22#135#131'~]YXokj'#136#134#133'_[Za\Y'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0'=94/+&XRMFB=(''#'#0#3#1'[_`sxyZ_`278GKL~'#128#128'3' + +'10'#2#0#0'OOO^`a\`eRUY)&('#4#0#0#5#1#0#5#0#0#20#11#7#23#14#10#8#1#0#5#0#0#5 + +#0#0#31#27#26'cef{}}yww&$#+++'#129#131#132'Z\]'#131#133#134#150#149#151'422' + +#25#20#17#146#141#138#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'YTQ'#6#2#0#30 + +#26#21':4/NJE]ZV;<8$&&355BGF;@?fkl'#129#134#135'LNN'#0#0#0'PPPqstV[^bei\[]><' + +'KY?L\[jzr'#128#146'q' + +#128#147'q'#128#147'o'#128#147'gx'#139'GViTduw'#133#151'6EU'#21'%5'#174#192 + +#209#158#179#201#150#168#191''#141#159'js'#128'PS['#128#130#131#141#136#137 + +'QLI60+'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'|}{vxxVZ[ekpSY^'#0#0#1'688ijhEG' + +'G7>ATaiiz'#135't'#136#153#145#166#187#166#185#206#165#176#190#0#2#12' ,8dq' + +'QarDUhJ]r\o'#132'av'#140']q'#138'm'#131#156'bx'#145'Lawi|'#145'|'#139#158#0 + +#15' t'#137#158#185#209#231#154#177#203'}'#147#172#129#146#167'mx'#134'glucd' + +'hIGG!'#28#25'HD?'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'pppimndkn`ksp}'#133'Q' + +'Zc&/3SVZOTW3>FN^kcw'#137'h'#128#152'p'#136#164#136#159#185#190#207#226'>N[' + +#0#2#14'iw'#131'Zk~Wl'#130'E[tLd|Vl'#133'Ul'#134'^w'#145'[t'#142'[t'#142#128 + +#150#175'[l'#4#24'*'#182#206#228#142#169#195'~'#153#180'}'#148#174#130#148 + +#171#131#146#162#132#141#151'QTX&&&)''&QLI'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0'```]abfosjwr'#128#140't'#130#142'3=GPV]iqxcq}y'#139#156#134#156#181#147 + +#171#199#148#176#206#143#170#197#194#215#236'`p'#128#0#0#11'dqf{'#144'Vo' + +#137'F_y6Nj\t'#144'\t'#144'Lf'#132'\x'#150'k'#135#165#130#155#181':K^3GX'#189 + +#213#237#148#175#202#128#154#184'w'#143#171#129#151#176'x'#136#153'T^hTZ_'#31 + +'!"SQPd`_'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'fdcaefU[`r}'#133#133#145#157 + +'gu'#129#9#21'!'#0#7#17'1:Dr'#130#146#159#180#201#145#168#194#147#174#201#144 + +#172#202#160#187#213#214#236#254'Ueu'#0#0#13'w'#135#152'n'#133#159'm'#137#167 + +'\x'#150'6RpXr'#144'Qj'#138'Mi'#139'o'#139#173'p'#140#174''#151#179'7H[DVg' + +#207#229#254#153#180#207#141#167#197#139#163#191'~'#148#173'iz'#141'bnxPY]'#0 + +#0#3'/.0nll'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'/-,SWXNW[V_hfr~_o|'#7#23'$2' + +'=K~'#139#155#133#153#171'Yp'#134#129#152#178'o'#135#163'|'#149#175#192#216 + +#238#222#241#255'FVb'#1#17'!|'#145#166'^z'#152'k'#138#171'o'#142#175'Dc'#132 + +'-Ik5Qsb'#128#163'x'#152#188'q'#142#179#128#154#184'@Ob3BR'#201#220#241#190 + +#212#237#133#154#181'j'#154'o'#133#158'v'#137#158'k{'#135'W`i'#0#2#10'[^c|~' + +'jjj'#0#0#0#0#0#0#0#0#0#0#0#0#131#128'|>?=DIL?IP`jt^jvVfv'#1#19'$/?Pv'#135 + +#154'g|'#146'e{'#148'f|'#149'x'#140#165#139#157#180'dt'#133'T^h'#3#15#25#27 + +'/@v'#144#168'b'#129#162'x'#154#190'k'#141#177'Uw'#155'3Sv;[v'#151#190'y' + +#156#196'x'#153#192'x'#145#177'O]o'#0#0#13'#/A6DW`o'#130'gx'#141'Yi'#128'x' + +#137#158#140#156#172'N\h'#8#17#27'Zajtx}245'#0#0#0#0#0#0#0#0#0#0#0#0'nlk888.' + +'58 *1=GQ9FTDVg'#31'5G%=Qu'#140#162'o'#135#159'y'#145#169#139#156#182'IYp'#7 + +#23'.'#0#9#28#0#0#8#0#0#8#20'*CF4>E3=G)8H;PePk'#128'9Umc~' + +#152#136#163#189#171#195#219'!/F'#0#5#28'@SnRc}(2D'#0#0#17'!8Ni'#135#164'`' + +#132#168#132#170#212#142#179#223#141#179#221'"Fl;`'#134#133#169#215#146#185 + +#230#130#165#209'l'#140#176'd=b'#136'x'#159#204'x' + +#158#206'q'#149#195'Wz'#162'NH\n_t'#138'@Wm'#0#10#31#0#15' '#0#0#11#0#0#11#0#4#19#0#0#19#0#7#27#0 + +#0#18#7#25'03On*NrMr'#158'X'#172'f'#138#184'_'#133#175#7'+OBf'#138'h'#141 + +#185'f'#140#188'Y'#175'Ru'#161'9Y|'#24'2P'#0#14'('#0#11#30#0#0#12#0#0#8#0#0 + +#7#0#3#13#17#30',)8HHSa4' + +#24'",DQaL[nL_tDVm=PeUev?N^)6F'#28'&7'#21#31'1'#24'$64AWG\wOm'#144'Sw'#159'^' + +#130#176'\'#130#178'j'#143#187'r'#149#189#21'8Z:]Sw'#159'l'#145#189'`'#134 + +#182'Hl'#154'Mn'#149'Gd'#131'EYrHVi`ky'#137#147#157#148#156#169#141#152#166 + +'q~'#142'BO_HQ_.2=-05<<Zf'#134#170'c'#137#179'd'#138#186'e'#140#185'h'#138#181']}'#161#11'*I'#31 + +'A_Y{'#159'e'#137#177'{'#159#205'c'#133#179'_'#131#169'Ts'#148'L &3,.8\_c]__nij'#0 + +#0#0#0#0#0#0#0#0'qpl*-+_fiMW^T^h8ES'#27'*:=O`G\r7OgGb}^z'#152#138#166#200's' + +#143#177'i'#131#161#131#156#182'%>X'#28'8V\}'#164'c'#137#179'v'#154#200#144 + +#181#225'Uv'#157'c'#130#163#20'2O5SpEe'#136'Lp'#150'k'#142#186't'#151#195'g' + +#136#175'@^'#129#19'+I'#142#164#192#158#182#210'k'#132#158'o'#133#158'`s'#136 + +'M[m-8F17DMR[9=B'#23#25#26'RPP'#0#0#0#0#0#0#0#0#0'LOM;@AR\cNZdGS_DQ_1AN)Xv'#167#193#223'Ke'#131'%=Yx'#144#172#174#204#233#31'<[Zv' + +#149#151#177#207't'#143#170'Kd~\r'#139#141#163#188#147#168#195'h}'#147')8H'#0 + +#2#15'#,607@'#19#28'&%.89BL8?HHKP'#0#0#0#0#0#0''#135#142't'#130#148'i~'#148 + +'Jd|Id~QH^wl' + +#132#160'u'#143#173#139#163#191'AQh'#5#20'''Obw)@V>Uo{'#147#175#159#185#215 + +'p'#136#164':OjQg'#128's'#138#164#132#155#181'k'#130#152'!6K_s'#133'-?P"2Cn~' + +#143#153#169#186'R_o'#4#14#24#7#14#23':AJ}'#131#142'v|'#135'4=G,4ALR]su}'#0#0 + +#0#0#0#0#128#135#144#135#152#173'k'#130#156'u'#141#165'CZtbx'#148#155#178#210 + +#157#185#219#172#198#228'gy'#144'CQc'#5#16#30#0#2#18'K\qt'#136#161'~'#148#173 + +#145#165#190'CRe'#0#4#22#6#22'''H\n'#145#165#190#132#153#180'e|'#150'}'#147 + +#172'I[riz'#143'k}'#148'~'#143#164'k{'#140'gt'#130'5AM'#14#24'"BLV'#142#151 + +#161'x'#129#139#29'$-'#0#0#6')-2'#132#137#146#148#153#162'joxJOXqw'#130'sx' + +#129#152#155#160#0#0#0#0#0#0'ms~l|'#147#132#153#180#132#149#170#0#13' @Pg' + +#139#160#187#174#202#232#194#222#252#163#185#210'cr'#133'QZh&/<)3DQ_qbr'#131 + +'k{'#140'w'#133#151'_ml{'#142#136#153#172'x'#138#161#128#146#169'QbwKZm?M_' + +#131#143#161'n|'#142#135#148#164#134#141#156#164#168#179'X[c?BG_bgoou:9='#29 + +#28' CBFjhn'#174#176#184#128#130#138#0#1#5#24#27#31#134#137#145'jmu'#0#0#0#0 + +#0#0#0#0#0'U[fjz'#145#142#162#187'`m}'#0#0#10#2#10#27'HVh'#172#193#214#213 + +#236#255#166#183#204'^k{U^h*/8'#27'!,'#24' -'#26'#06AOgq'#130'pz'#139#129#141 + +#159'ft'#134'jx'#139'w'#133#152'hv'#136'Taqclzdkz'#144#152#165'rv'#129'JKU' + +#129''#133'dac0+,2-,?77VLLf\\'#135'|~'#152#145#148#147#143#148':9='#0#0#0#0 + +#0#1'nosz}'#129#0#0#0#0#0#0#0#0#0'BHScs'#138#133#151#174'4=K'#0#0#6#29#28'%$' + +'&.X_h'#130#139#149#146#153#162#0#0#0#0#0#0#0#0#0'qty58@EJSbhsflyot'#131'PXe' + +'AHW'#132#140#157'lv'#135'Zesajwgmx]_iUU[CBF3.0/*)'#18#13#10'4.)1%'#31'A1*`N' + +'GVD=<+(G860&&'#6#1#0#4#0#0#2#0#0'ZY['#0#0#0#0#0#0#0#0#0#0#0#0'SZc'#135#148 + +#170#145#159#181#29'#0'#25#25#31'FAC'#25#20#21'KJL'#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0'~'#129#134'fiq?AK*,6<>HQS]LP[7=H/5@'#25#30'''KMU||'#130#128 + +'}'#133#128#129#146#141#140#161#156#153#0#0#0#0#0#0#0#0#0'SC<8%'#29'0'#29#22 + +'<,&@1/:00:22@;<723mjl'#0#0#0#0#0#0#0#0#0#0#0#0'xz'#132#138#148#166#142#151 + +#171'NQ_HGP5.1'#155#149#150#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'h\XMA=dZZ{uv~y{'#137#133#138#162 + +#159#161'spr'#178#175#177#0#0#0#0#0#0#0#0#0#0#0#0#158#161#166'afu'#141#148 + +#163#155#157#168'VS\'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#187#179#179#143#138 + +#139#147#144#146#162#161#165#156#155#159#163#162#166#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#148#150#158#159#162#170#148#151#156#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + ,#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#255#192 + +#0#0#3#255#252#253#255#192#0#0#3#255#252#253#255#128#0#0#3#255#252#253#255 + +#128#0#0#1#255#252#253#255#0#0#0#1#255#252#253#255#0#0#0#0#255#252#253#255#0 + +#0#0#0''#252#253#255#0#0#0#0''#252#253#254#0#0#0#0''#252#253#254#0#0#0#0 + +'?'#252#253#252#0#0#0#0'?'#252#253#252#0#0#0#0'?'#252#253#248#0#0#0#0'?'#252 + +#253#248#0#0#0#0'?'#252#253#248#0#0#0#0'?'#252#253#240#0#0#0#0#31#252#253#240 + +#0#0#0#0#15#252#253#224#0#0#0#0#15#252#253#224#0#0#0#0#7#252#253#224#0#0#0#0 + +#7#252#253#224#0#0#0#0#7#252#253#224#0#0#0#0#7#252#253#224#0#0#0#0#7#252#253 + +#224#0#0#0#0#7#252#253#224#0#0#0#0#7#252#253#224#0#0#0#0#3#252#253#192#0#0#0 + +#0#3#252#253#192#0#0#0#0#1#252#253#192#0#0#0#0#1#252#253#192#0#0#0#0#1#252 + +#253#192#0#0#0#0#1#252#253#192#0#0#0#0#1#252#253#192#0#0#0#0#1#252#253#192#0 + +#0#0#0#1#252#253#192#0#0#0#0#1#252#253#192#0#0#0#0#1#252#253#192#0#0#0#0#1 + +#252#253#192#0#0#0#0#1#252#253#128#0#0#0#0#1#252#253#128#0#0#0#0#1#252#253 + +#128#0#0#0#0#3#252#253#128#0#0#0#0#3#252#253#128#28#0#0#0#7#252#253#128''#0 + +#0#224#7#252#253#128#255#255#255#240#7#252#253#131#255#255#255#248#31#252#253 + +#199#255#255#255#255#255#252#253#255#255#255#255#255#255#252#253'('#0#0#0' ' + +#0#0#0'@'#0#0#0#1#0' '#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'F[n'#255'&>T'#255'''?V' + +#255'i'#133#158#255#147#180#207#255#144#174#206#255'w'#151#183#255#134#164 + +#193#255#128#157#183#255#128#152#176#255#129#149#171#255#130#145#163#255#137 + +#148#158#255#140#146#148#255#129#132#131#255'zws'#255#137#130'|'#255#140'w' + +#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'@LX'#255';Od'#255'd}'#150#255'{'#150#176#255 + +#149#178#206#255#159#191#220#255#156#184#214#255'{'#150#177#255'r'#139#160 + +#255'm'#132#152#255'dy'#136#255'gw'#134#255'lw'#130#255#128#135#141#255#129 + +#132#133#255'wwu'#255'{v'#255'^XP'#255'uka'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +'KWd'#255#137#156#179#255#134#159#185#255#151#180#207#255#155#184#210#255#157 + +#186#210#255#154#175#196#255#131#147#165#255's'#129#144#255'y'#136#150#255'p' + +'~'#135#255'ny'#129#255'u|'#130#255#143#147#149#255#141#142#141#255#148#145 + +#140#255#144#137#130#255'i`X'#255'wmc'#255#130'xn'#255#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'ow'#255 + +'z'#135#150#255'q'#131#153#255''#255#136#138#141#255#131#138#146#255'y'#129#138#255'58' + +'<'#255#0#0#0#255#2#0#0#255#2#0#0#255#0#0#0#255';:9'#255#132#132#129#255#134 + ,#129'{'#255#131'zq'#255'OE;'#255'ne]'#255'G?9'#255'RKF'#255#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'QMH'#255'OKF'#255'00-'#255'166'#255'k' + +'qt'#255'GMO'#255'/34'#255'UTT'#255#17#14#13#255'klm'#255'pty'#255'EGK'#255#6 + +#4#5#255#4#1#0#255#13#7#4#255#10#3#2#255#3#0#0#255#7#3#2#255'TRR'#255'~{' + +#255'QLI'#255'CA>'#255'igf'#255'}{{'#255'daa'#255'TOL'#255#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0';63'#255#31#27#23#255'FA<'#255'KHD'#255',.,'#255'BEE' + +#255'DIH'#255'OTU'#255'kno'#255#23#22#22#255'XYY'#255'^bd'#255'VX['#255'533' + +#255'855'#255'JDC'#255'QKJ'#255'@;;'#255'845'#255'Y[^'#255'qsw'#255'125'#255 + +'X]a'#255'}'#130#135#255'|'#130#255'hhi'#255'VQO'#255#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0'D@='#255'! '#28#255'*)$'#255'jid'#255'ihd'#255'KLI'#255'Q' + +'TT'#255'glo'#255#129#137#141#255'LSX'#255'49;'#255'lsw'#255'QW]'#255'EIO' + +#255'jou'#255'sx'#255'rx'#128#255'uz'#131#255'TZe'#255'ls'#255'sz'#131#255 + +'8>G'#255#141#153#168#255#141#152#166#255'_em'#255'YY\'#255'b]]'#255'\WU'#255 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'gfc'#255'MNL'#255'FIG'#255'!" '#255'cb^'#255 + +'\\Z'#255'chj'#255'ny~'#255'{'#138#149#255#138#152#164#255'-4;'#255'BIQ'#255 + +'IT_'#255'ALY'#255'an|'#255'q~'#142#255'q'#144#255'ky'#138#255'LZk'#255'jw' + +#136#255';HW'#255'jy'#136#255#160#179#200#255#140#155#173#255'dku'#255'ikn' + +#255'rmm'#255'A;8'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'uwv'#255'bfg'#255'ain' + +#255'05:'#255'ADE'#255'PST'#255'?IO'#255'`p}'#255'w'#140#161#255#148#169#192 + +#255'z'#133#147#255#21#29'('#255'_n|'#255'M_r'#255'Maw'#255'[p'#134#255'^t' + +#141#255'by'#146#255'[q'#136#255'p'#130#150#255'.AT'#255#159#183#206#255#138 + +#161#187#255''#146#169#255's}'#138#255'cfl'#255'421'#255'=96'#255#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0'cee'#255'cjm'#255'jw'#255'kx'#131#255':BI'#255'[ag' + +#255'Ziu'#255'u'#137#157#255#133#158#186#255#139#165#192#255#156#175#193#255 + +#28'".'#255'ds'#131#255'Zp'#135#255'BZt'#255'Ph'#130#255'Wo'#139#255'Xs'#143 + +#255'n'#136#164#255'Yl'#129#255'Uk~'#255#159#185#211#255'}'#150#179#255'~' + +#148#173#255's'#129#143#255'X_e'#255'---'#255'UQP'#255#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0'VVV'#255'U[_'#255'ny'#131#255'ky'#133#255#11#22'"'#255'7AL'#255'}' + +#144#162#255#138#160#185#255#135#162#189#255#159#185#211#255#171#190#206#255 + +#26'#2'#255's'#135#156#255'k'#134#164#255'Ur'#145#255'D`'#255'Kf'#135#255'h' + +#133#167#255'u'#144#177#255'Qdz'#255'm'#128#147#255#178#202#227#255#134#158 + +#187#255'{'#145#171#255'jz'#139#255'Xcj'#255#20#21#25#255'a`a'#255#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0'>??'#255'EMR'#255'^hr'#255'[jx'#255#18'"2'#255'`o'#129 + +#255'k'#128#150#255'j'#128#153#255'z'#143#169#255#131#151#171#255'_lw'#255#20 + +'%4'#255'p'#138#164#255'm'#141#175#255'b'#131#166#255';Z}'#255'Kj'#142#255'u' + +#150#189#255'w'#148#184#255'Zl'#130#255')1A'#255'`p'#132#255'j|'#146#255'bu' + +#140#255'z'#139#158#255'anz'#255'!(0'#255'mqv'#255'GII'#255#0#0#0#0#0#0#0#0 + +'ihg'#255'9;='#255'*39'#255'7BN'#255''#255#8#11#22#255#16#31'/'#255'h'#136#166 + +#255'{'#159#198#255#138#174#215#255'Kp'#150#255'Qu'#157#255#137#173#218#255 + +#128#160#201#255'Ri'#132#255#7#15'!'#255' ,B'#255#17#24'-'#255'IV'#255']en'#255'[]_'#255#0#0#0#0#0#0#0#0'[[['#255'8:' + +';'#255#21#28' '#255'&2?'#255'?Re'#255'Lg'#255'3Oh'#255#136#159#182#255')3G' + +#255'3>V'#255'7Ga'#255'%,A'#255#30'.E'#255'Tt'#150#255'd'#137#179#255'v'#156 + +#200#255';_'#135#255'Qw'#159#255''#165#211#255'n'#145#188#255'Gd'#133#255#11 + +' ;'#255#25'(E'#255' +B'#255#1#4#19#255'GQ^'#255#28'$3'#255'JWf'#255'NWa'#255 + +'WY\'#255#0#0#0#0#0#0#0#0'_\\'#255'IJJ'#255'!&*'#255'"-;'#255'BSe'#255'Pe{' + +#255'#3H'#255#25'%5'#255#16#20'!'#255#8#13#30#255#7#14'!'#255#21#30'3'#255'1' + +'Kh'#255'@d'#140#255'W}'#170#255'f'#139#183#255')Ms'#255'Jn'#148#255'e'#139 + +#184#255'W|'#171#255'Df'#141#255'"9V'#255#23'%:'#255'$(3'#255'03;'#255'/7D' + +#255'1?N'#255'@IW'#255''',3'#255'/-.'#255#0#0#0#0#0#0#0#0'zwt'#255'BAA'#255 + +'MTW'#255'/:E'#255'DSc'#255'FYm'#255'CC'#255'Q[b'#255'IT`' + +#255'*9H'#255'L'#255'1' + +'BS'#255'L`u'#255'7Rm'#255'\y'#155#255#139#170#206#255#131#162#195#255#8'!=' + +#255'Dd'#133#255#130#165#203#255'n'#144#180#255'Ig'#134#255'2Ni'#255'e'#131 + +#162#255'p'#146#182#255'o'#145#186#255'y'#154#192#255'2Gh'#255'L[x'#255#167 + ,#195#223#255'r'#140#164#255';L^'#255'0=K'#255'IQ_'#255'W^g'#255'W[^'#255#0#0 + +#0#0#0#0#0#0'DKT'#255'Scp'#255'3HZ'#255#27'-@'#255',=O'#255'$4B'#255#15#27'+' + +#255'AUk'#255'-Gc'#255'n'#142#175#255'p'#141#175#255'6Lh'#255'c}'#155#255#133 + +#161#194#255'Je'#133#255'd'#157#255'1Kg'#255'o'#139#169#255'^'#159#255'p' + +#143#177#255#130#160#192#255'>Xu'#255'w'#141#169#255#142#166#194#255'Ui~'#255 + +#25'#1'#255#29'&0'#255':DN'#255'U^h'#255'\ag'#255#0#0#0#0#0#0#0#0'ju'#131#255 + +'\q'#134#255'>Wo'#255'F\x'#255#137#160#187#255'I\q'#255#3#10#26#255'+:L'#255 + +'6Lc'#255'k'#133#163#255'~'#153#182#255'8Ja'#255'H\r'#255'Ia{'#255'Wo'#139 + +#255#140#166#196#255'CZu'#255'k'#131#157#255'n'#135#163#255'[s'#140#255'\r' + +#136#255'6J]'#255'bt'#135#255#130#147#166#255'(5C'#255#19#26'$'#255'RYc'#255 + +'HPZ'#255'/8C'#255'OT]'#255#0#0#0#0#0#0#0#0'|'#137#155#255'u'#139#164#255'FZ' + +'r'#255'k'#128#156#255#158#184#216#255#160#184#212#255'\l'#128#255#24' /'#255 + +'.9L'#255'l'#149#255''#146#168#255'BOa'#255'%2C'#255'k~'#147#255#132#152 + +#177#255'cw'#143#255'Rdz'#255'o'#148#255'z'#138#158#255'v'#130#145#255'T]i' + +#255'-5='#255'qw'#128#255'KQX'#255#24#25#31#255'Z]c'#255#142#146#155#255'BFM' + +#255'cgq'#255'z~'#133#255#0#0#0#0#0#0#0#0'fr'#133#255#128#146#169#255'$+:' + +#255'.;N'#255#146#167#190#255#192#215#238#255'v'#134#152#255'EMX'#255'")5' + +#255'-7F'#255'@L['#255'kw'#136#255't'#129#147#255'p'#146#255'v'#133#153#255 + +'[i|'#255'U`p'#255'u~'#142#255'|'#132#146#255'moy'#255'nns'#255'968'#255'JFG' + +#255'MFG'#255'd]_'#255#143#138#143#255'jio'#255#2#3#4#255'QRW'#255'sv|'#255#0 + +#0#0#0#0#0#0#0'an'#128#255'jw'#139#255#20#23#31#255'''%+'#255'BEK'#255#136 + +#144#153#255#0#0#0#0#0#0#0#0#0#0#0#0'GJR'#255'_dm'#255'X]i'#255'NS`'#255'TZh' + +#255'bjy'#255'JS`'#255'V\g'#255'ffm'#255'\Z^'#255'SNN'#255'50-'#255'2*%'#255 + +'A2+'#255'O=6'#255'@/*'#255'>10'#255' '#25#24#255#22#18#19#255'FDF'#255#0#0#0 + +#0#0#0#0#0#0#0#0#0''#135#151#255's|'#142#255':;D'#255'LFH'#255'[WY'#255#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0'QB='#255'PC' + +'@'#255'g__'#255'lfi'#255'urs'#255#135#131#133#255#0#0#0#0#0#0#0#0#0#0#0#0'~' + +#129#140#255#148#153#164#255'uu~'#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#160#153#154#255#152#150 + +#153#255#158#157#161#255#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0 + +#0#0#0#0#254#0#0''#252#0#0''#252#0#0'?'#248#0#0'?'#248#0#0#31#248#0#0#31 + +#240#0#0#15#240#0#0#15#224#0#0#15#224#0#0#15#224#0#0#7#192#0#0#7#192#0#0#3 + +#192#0#0#3#192#0#0#3#192#0#0#3#192#0#0#3#192#0#0#1#128#0#0#1#128#0#0#1#128#0 + +#0#1#128#0#0#1#128#0#0#1#128#0#0#1#128#0#0#1#128#0#0#1#128#0#0#1#128#0#0#1 + +#129#192#0#3#131#255#255#3#143#255#255#143#255#255#255#255 +]); + diff --git a/examples/spreadsheet/spreadsheet.rc b/examples/spreadsheet/spreadsheet.rc new file mode 100644 index 0000000000..ef81695027 --- /dev/null +++ b/examples/spreadsheet/spreadsheet.rc @@ -0,0 +1 @@ +MAINICON ICON "/home/prog/lazarus/examples/spreadsheet/spreadsheet.ico"