675 lines
19 KiB
Plaintext
675 lines
19 KiB
Plaintext
object ServiceMethods_ClientMainForm: TServiceMethods_ClientMainForm
|
|
Left = 328
|
|
Top = 246
|
|
AutoScroll = False
|
|
Caption = 'ServiceMethods Client'
|
|
ClientHeight = 445
|
|
ClientWidth = 804
|
|
Color = clBtnFace
|
|
Font.Charset = DEFAULT_CHARSET
|
|
Font.Color = clWindowText
|
|
Font.Height = -11
|
|
Font.Name = 'MS Sans Serif'
|
|
Font.Style = []
|
|
OldCreateOrder = False
|
|
ShowHint = True
|
|
OnCreate = FormCreate
|
|
OnDestroy = FormDestroy
|
|
OnShow = FormShow
|
|
PixelsPerInch = 96
|
|
TextHeight = 13
|
|
object LogMessage: TLabel
|
|
Left = 150
|
|
Top = 207
|
|
Width = 647
|
|
Height = 16
|
|
Anchors = [akLeft, akTop, akRight]
|
|
AutoSize = False
|
|
Caption = 'Please run GetSchema first!'
|
|
Font.Charset = DEFAULT_CHARSET
|
|
Font.Color = clRed
|
|
Font.Height = -15
|
|
Font.Name = 'MS Sans Serif'
|
|
Font.Style = [fsBold]
|
|
ParentFont = False
|
|
end
|
|
object PageControl: TPageControl
|
|
Left = 0
|
|
Top = 0
|
|
Width = 804
|
|
Height = 198
|
|
ActivePage = tsGetData
|
|
Align = alTop
|
|
TabOrder = 0
|
|
OnChange = PageControlChange
|
|
object tsGetSchema: TTabSheet
|
|
Caption = 'GetSchema'
|
|
object Label1: TLabel
|
|
Left = 0
|
|
Top = 0
|
|
Width = 796
|
|
Height = 26
|
|
Align = alTop
|
|
AutoSize = False
|
|
Caption = 'Requires that '#39'AllowSchemaAccess'#39' is enabled on the server'
|
|
Font.Charset = DEFAULT_CHARSET
|
|
Font.Color = clWindowText
|
|
Font.Height = -12
|
|
Font.Name = 'MS Sans Serif'
|
|
Font.Style = [fsBold]
|
|
ParentFont = False
|
|
WordWrap = True
|
|
end
|
|
end
|
|
object tsGetTableSchema: TTabSheet
|
|
Caption = 'GetTableSchema'
|
|
ImageIndex = 4
|
|
object Label2: TLabel
|
|
Left = 9
|
|
Top = 37
|
|
Width = 40
|
|
Height = 13
|
|
Caption = 'Dataset:'
|
|
end
|
|
object Label8: TLabel
|
|
Left = 0
|
|
Top = 0
|
|
Width = 796
|
|
Height = 26
|
|
Align = alTop
|
|
AutoSize = False
|
|
Caption = 'Requires that '#39'AllowSchemaAccess'#39' is enabled on the server'
|
|
Font.Charset = DEFAULT_CHARSET
|
|
Font.Color = clWindowText
|
|
Font.Height = -12
|
|
Font.Name = 'MS Sans Serif'
|
|
Font.Style = [fsBold]
|
|
ParentFont = False
|
|
WordWrap = True
|
|
end
|
|
object cbGetTableSchema: TComboBox
|
|
Left = 126
|
|
Top = 33
|
|
Width = 145
|
|
Height = 21
|
|
Style = csDropDownList
|
|
ItemHeight = 13
|
|
TabOrder = 0
|
|
end
|
|
end
|
|
object tsGetData: TTabSheet
|
|
Caption = 'GetData'
|
|
ImageIndex = 1
|
|
object Label6: TLabel
|
|
Left = 9
|
|
Top = 37
|
|
Width = 40
|
|
Height = 13
|
|
Caption = 'Dataset:'
|
|
end
|
|
object Label7: TLabel
|
|
Left = 0
|
|
Top = 0
|
|
Width = 796
|
|
Height = 26
|
|
Align = alTop
|
|
AutoSize = False
|
|
Caption =
|
|
'Requires that '#39'AllowDataAccess'#39', '#39'AcquireConnection'#39' and '#39'AllowW' +
|
|
'hereSQL'#39' is enabled on the server. (AllowWhereSQL is needed for ' +
|
|
'UserFilter)'
|
|
Font.Charset = DEFAULT_CHARSET
|
|
Font.Color = clWindowText
|
|
Font.Height = -12
|
|
Font.Name = 'MS Sans Serif'
|
|
Font.Style = [fsBold]
|
|
ParentFont = False
|
|
WordWrap = True
|
|
end
|
|
object Label4: TLabel
|
|
Left = 9
|
|
Top = 84
|
|
Width = 58
|
|
Height = 13
|
|
Caption = 'MaxRecord:'
|
|
end
|
|
object Label19: TLabel
|
|
Left = 9
|
|
Top = 108
|
|
Width = 47
|
|
Height = 13
|
|
Caption = 'UserFilter:'
|
|
end
|
|
object cbGetData: TComboBox
|
|
Left = 126
|
|
Top = 33
|
|
Width = 145
|
|
Height = 21
|
|
Style = csDropDownList
|
|
ItemHeight = 13
|
|
TabOrder = 0
|
|
OnChange = cbGetDataChange
|
|
end
|
|
object cbIncludeSchema: TCheckBox
|
|
Left = 9
|
|
Top = 58
|
|
Width = 130
|
|
Height = 17
|
|
Alignment = taLeftJustify
|
|
Caption = 'IncludeSchema'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 1
|
|
end
|
|
object spMaxRecord: TSpinEdit
|
|
Left = 126
|
|
Top = 79
|
|
Width = 50
|
|
Height = 22
|
|
MaxValue = 0
|
|
MinValue = 0
|
|
TabOrder = 2
|
|
Value = 10
|
|
end
|
|
object vleGetData: TValueListEditor
|
|
Left = 610
|
|
Top = 26
|
|
Width = 186
|
|
Height = 144
|
|
Align = alRight
|
|
TabOrder = 3
|
|
TitleCaptions.Strings = (
|
|
'Parameter'
|
|
'Value')
|
|
ColWidths = (
|
|
86
|
|
94)
|
|
end
|
|
object GetDataUserFilter: TEdit
|
|
Left = 126
|
|
Top = 103
|
|
Width = 477
|
|
Height = 21
|
|
Anchors = [akLeft, akTop, akRight]
|
|
TabOrder = 4
|
|
end
|
|
end
|
|
object tsUpdateData: TTabSheet
|
|
Caption = 'UpdateData'
|
|
ImageIndex = 2
|
|
object Label18: TLabel
|
|
Left = 0
|
|
Top = 0
|
|
Width = 796
|
|
Height = 26
|
|
Align = alTop
|
|
AutoSize = False
|
|
Caption =
|
|
'Requires that '#39'AllowDataAccess'#39', '#39'ProcessDeltasWithoutUpdateRule' +
|
|
's'#39' and '#39'AcquireConnection'#39' is enabled on the server'
|
|
Font.Charset = DEFAULT_CHARSET
|
|
Font.Color = clWindowText
|
|
Font.Height = -12
|
|
Font.Name = 'MS Sans Serif'
|
|
Font.Style = [fsBold]
|
|
ParentFont = False
|
|
WordWrap = True
|
|
end
|
|
object Panel1: TPanel
|
|
Left = 0
|
|
Top = 26
|
|
Width = 610
|
|
Height = 144
|
|
Align = alClient
|
|
BevelOuter = bvNone
|
|
TabOrder = 0
|
|
object Panel2: TPanel
|
|
Left = 0
|
|
Top = 0
|
|
Width = 610
|
|
Height = 26
|
|
Align = alTop
|
|
BevelOuter = bvNone
|
|
TabOrder = 0
|
|
object Label15: TLabel
|
|
Left = 9
|
|
Top = 6
|
|
Width = 40
|
|
Height = 13
|
|
Caption = 'Dataset:'
|
|
end
|
|
object Label17: TLabel
|
|
Left = 360
|
|
Top = 6
|
|
Width = 58
|
|
Height = 13
|
|
Caption = 'MaxRecord:'
|
|
end
|
|
object RefreshButton: TBitBtn
|
|
Left = 208
|
|
Top = 1
|
|
Width = 77
|
|
Height = 22
|
|
Caption = 'Refresh'
|
|
TabOrder = 1
|
|
OnClick = RefreshButtonClick
|
|
Glyph.Data = {
|
|
36040000424D3604000000000000360000002800000010000000100000000100
|
|
2000000000000004000000000000000000000000000000000000FF00FF00A377
|
|
7400A3777400A3777400A3777400A3777400A3777400A3777400A3777400A377
|
|
7400A3777400A3777400A377740090605D00FF00FF00FF00FF00FF00FF00A67B
|
|
7500F2E2D300F2E2D300FFE8D100EFDFBB00FFE3C500FFDEBD00FFDDBA00FFD8
|
|
B200FFD6AE00FFD2A500FFD2A30093635F00FF00FF00FF00FF00FF00FF00AB7F
|
|
7700F3E7DA00F3E7DA0000990000AFD8A00070C56F0040AA2F0080BB5D00EFD4
|
|
A600FFD6AE00FFD2A300FFD2A30096666200FF00FF00FF00FF00FF00FF00B083
|
|
7900F4E9DD00F4E9DD00009900000099000000990000009900000099000040AA
|
|
2E00FFD8B200FFD4A900FFD4A9009A696400FF00FF00FF00FF00FF00FF00B689
|
|
7C00F5EDE400F5EDE4000099000000990000109E0D00CFD6A300FFE4C80020A2
|
|
1900FFD8B200FFD7B000FFD7B0009E6C6600FF00FF00FF00FF00FF00FF00BC8E
|
|
7E00F7EFE800F7EFE80000990000009900000099000000990000FFE4C800EFDE
|
|
BA00FFD8B200FFD7B000FFD9B400A26F6800FF00FF00FF00FF00FF00FF00C395
|
|
8100F8F3EF00F8F3EF00F8F3EF00FFF4E800FFF4E800FFF4E800EFE3C400EFE3
|
|
C400FFE4C800FFDEBD00FFDDBB00A5736A00FF00FF00FF00FF00FF00FF00CA9B
|
|
8400F9F5F200FBFBFB00FFF4E800FFF4E800FFF4E80000990000009900000099
|
|
0000FFE8D100FFE3C500FFE1C200A8766C00FF00FF00FF00FF00FF00FF00D2A1
|
|
8700F9F9F900FBFBFB00109F0F00AFD8A000FFF4E800AFD8A000009900000099
|
|
0000FFE8D100FFE4C800FFE3C600AC796E00FF00FF00FF00FF00FF00FF00D9A8
|
|
8A00FBFBFB00FFFFFF0070C56F00009900000099000000990000009900000099
|
|
0000FFE8D100FFE8D100FFE6CE00AE7B7100FF00FF00FF00FF00FF00FF00DFAE
|
|
8C00FCFCFC00FFFFFF00FFFFFF0070C56F000099000000990000AFD8A0000099
|
|
0000FFE8D100FFC8C200FFB0B000B07D7200FF00FF00FF00FF00FF00FF00E5B3
|
|
8F00FDFDFD00FDFDFD00FFFFFF00FFFFFF00FFFFFE00FFFAF600FFF9F300FFF5
|
|
EA00F4DECE00B27F7300B27F7300B27F7300FF00FF00FF00FF00FF00FF00EAB8
|
|
9100FEFEFE00FEFEFE00FFFFFF00FFFFFF00FFFFFF00FFFFFE00FFFAF600FFF9
|
|
F300F5E1D200B27F7300EDA75400CB987F00FF00FF00FF00FF00FF00FF00EFBC
|
|
9200FFFFFF00FFFFFF00FCFCFC00FAFAFA00F7F7F700F5F5F500F2F1F100F0ED
|
|
EA00E9DAD000B27F7300D4A18300D09D8100FF00FF00FF00FF00FF00FF00F2BF
|
|
9400DCA98700DCA98700DCA98700DCA98700DCA98700DCA98700DCA98700DCA9
|
|
8700DCA98700B27F7300D8A58500FF00FF00FF00FF00FF00FF00FF00FF00FF00
|
|
FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00
|
|
FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00}
|
|
end
|
|
object cbUpdateData: TComboBox
|
|
Left = 57
|
|
Top = 2
|
|
Width = 145
|
|
Height = 21
|
|
Style = csDropDownList
|
|
ItemHeight = 13
|
|
TabOrder = 0
|
|
OnChange = cbUpdateDataChange
|
|
end
|
|
object updateDataMaxRecord: TSpinEdit
|
|
Left = 431
|
|
Top = 1
|
|
Width = 50
|
|
Height = 22
|
|
MaxValue = 0
|
|
MinValue = 0
|
|
TabOrder = 2
|
|
Value = 10
|
|
end
|
|
end
|
|
object DBGrid1: TDBGrid
|
|
Left = 0
|
|
Top = 26
|
|
Width = 610
|
|
Height = 96
|
|
Align = alClient
|
|
DataSource = DataSource
|
|
TabOrder = 1
|
|
TitleFont.Charset = DEFAULT_CHARSET
|
|
TitleFont.Color = clWindowText
|
|
TitleFont.Height = -11
|
|
TitleFont.Name = 'MS Sans Serif'
|
|
TitleFont.Style = []
|
|
end
|
|
object DBNavigator1: TDBNavigator
|
|
Left = 0
|
|
Top = 122
|
|
Width = 610
|
|
Height = 22
|
|
DataSource = DataSource
|
|
VisibleButtons = [nbFirst, nbPrior, nbNext, nbLast, nbInsert, nbDelete, nbEdit, nbPost, nbCancel]
|
|
Align = alBottom
|
|
TabOrder = 2
|
|
end
|
|
end
|
|
object ParamPanel: TPanel
|
|
Left = 610
|
|
Top = 26
|
|
Width = 186
|
|
Height = 144
|
|
Align = alRight
|
|
BevelOuter = bvNone
|
|
TabOrder = 1
|
|
object vleUpdateData: TValueListEditor
|
|
Left = 0
|
|
Top = 0
|
|
Width = 186
|
|
Height = 144
|
|
Align = alClient
|
|
TabOrder = 0
|
|
ColWidths = (
|
|
93
|
|
87)
|
|
end
|
|
end
|
|
end
|
|
object tsSQLGetData: TTabSheet
|
|
Caption = 'SQLGetData'
|
|
ImageIndex = 6
|
|
object Label11: TLabel
|
|
Left = 9
|
|
Top = 33
|
|
Width = 24
|
|
Height = 13
|
|
Caption = 'SQL:'
|
|
end
|
|
object Label12: TLabel
|
|
Left = 9
|
|
Top = 139
|
|
Width = 58
|
|
Height = 13
|
|
Caption = 'MaxRecord:'
|
|
end
|
|
object Label13: TLabel
|
|
Left = 0
|
|
Top = 0
|
|
Width = 796
|
|
Height = 26
|
|
Align = alTop
|
|
AutoSize = False
|
|
Caption =
|
|
'Requires that '#39'AllowDataAccess'#39', '#39'AllowExecuteSQL'#39' and '#39'AcquireC' +
|
|
'onnection'#39' is enabled on the server'
|
|
Font.Charset = DEFAULT_CHARSET
|
|
Font.Color = clWindowText
|
|
Font.Height = -12
|
|
Font.Name = 'MS Sans Serif'
|
|
Font.Style = [fsBold]
|
|
ParentFont = False
|
|
WordWrap = True
|
|
end
|
|
object sqlIncludeSchema: TCheckBox
|
|
Left = 9
|
|
Top = 113
|
|
Width = 130
|
|
Height = 17
|
|
Alignment = taLeftJustify
|
|
Caption = 'IncludeSchema'
|
|
Checked = True
|
|
State = cbChecked
|
|
TabOrder = 1
|
|
end
|
|
object sqlMaxRecords: TSpinEdit
|
|
Left = 126
|
|
Top = 134
|
|
Width = 50
|
|
Height = 22
|
|
MaxValue = 0
|
|
MinValue = 0
|
|
TabOrder = 2
|
|
Value = 10
|
|
end
|
|
object memoDQLGetData: TMemo
|
|
Left = 126
|
|
Top = 33
|
|
Width = 600
|
|
Height = 75
|
|
Lines.Strings = (
|
|
'select * from customers')
|
|
ScrollBars = ssVertical
|
|
TabOrder = 0
|
|
end
|
|
end
|
|
object tsGetCommandSchema: TTabSheet
|
|
Caption = 'GetCommandSchema'
|
|
ImageIndex = 5
|
|
object Label5: TLabel
|
|
Left = 9
|
|
Top = 37
|
|
Width = 50
|
|
Height = 13
|
|
Caption = 'Command:'
|
|
end
|
|
object Label3: TLabel
|
|
Left = 0
|
|
Top = 0
|
|
Width = 800
|
|
Height = 26
|
|
Align = alTop
|
|
AutoSize = False
|
|
Caption = 'Requires that '#39'AllowSchemaAccess'#39' is enabled on the server'
|
|
Font.Charset = DEFAULT_CHARSET
|
|
Font.Color = clWindowText
|
|
Font.Height = -12
|
|
Font.Name = 'MS Sans Serif'
|
|
Font.Style = [fsBold]
|
|
ParentFont = False
|
|
WordWrap = True
|
|
end
|
|
object cbGetCommandSchema: TComboBox
|
|
Left = 126
|
|
Top = 33
|
|
Width = 145
|
|
Height = 24
|
|
Style = csDropDownList
|
|
ItemHeight = 0
|
|
TabOrder = 0
|
|
end
|
|
end
|
|
object tsExecuteCommand: TTabSheet
|
|
Caption = 'ExecuteCommand'
|
|
ImageIndex = 3
|
|
object Label9: TLabel
|
|
Left = 9
|
|
Top = 37
|
|
Width = 50
|
|
Height = 13
|
|
Caption = 'Command:'
|
|
end
|
|
object Label10: TLabel
|
|
Left = 0
|
|
Top = 0
|
|
Width = 800
|
|
Height = 26
|
|
Align = alTop
|
|
AutoSize = False
|
|
Caption =
|
|
'Requires that '#39'AllowDataAccess'#39', '#39'AllowExecuteCommands'#39' and '#39'Acq' +
|
|
'uireConnection'#39' is enabled on the server'
|
|
Font.Charset = DEFAULT_CHARSET
|
|
Font.Color = clWindowText
|
|
Font.Height = -12
|
|
Font.Name = 'MS Sans Serif'
|
|
Font.Style = [fsBold]
|
|
ParentFont = False
|
|
WordWrap = True
|
|
end
|
|
object cbExecuteCommand: TComboBox
|
|
Left = 126
|
|
Top = 33
|
|
Width = 145
|
|
Height = 24
|
|
Style = csDropDownList
|
|
ItemHeight = 0
|
|
TabOrder = 0
|
|
OnChange = cbExecuteCommandChange
|
|
end
|
|
object vleExecuteCommand: TValueListEditor
|
|
Left = 610
|
|
Top = 26
|
|
Width = 186
|
|
Height = 144
|
|
Align = alRight
|
|
KeyOptions = [keyUnique]
|
|
TabOrder = 1
|
|
TitleCaptions.Strings = (
|
|
'Parameter'
|
|
'Value')
|
|
ColWidths = (
|
|
81
|
|
141)
|
|
end
|
|
end
|
|
object tsExecuteCommandEx: TTabSheet
|
|
Caption = 'ExecuteCommandEx'
|
|
ImageIndex = 8
|
|
object Label20: TLabel
|
|
Left = 0
|
|
Top = 0
|
|
Width = 800
|
|
Height = 26
|
|
Align = alTop
|
|
AutoSize = False
|
|
Caption =
|
|
'Requires that '#39'AllowDataAccess'#39', '#39'AllowExecuteCommands'#39' and '#39'Acq' +
|
|
'uireConnection'#39' is enabled on the server'
|
|
Font.Charset = DEFAULT_CHARSET
|
|
Font.Color = clWindowText
|
|
Font.Height = -12
|
|
Font.Name = 'MS Sans Serif'
|
|
Font.Style = [fsBold]
|
|
ParentFont = False
|
|
WordWrap = True
|
|
end
|
|
object Label21: TLabel
|
|
Left = 9
|
|
Top = 37
|
|
Width = 50
|
|
Height = 13
|
|
Caption = 'Command:'
|
|
end
|
|
object cbExecuteCommandEx: TComboBox
|
|
Left = 126
|
|
Top = 33
|
|
Width = 145
|
|
Height = 24
|
|
Style = csDropDownList
|
|
ItemHeight = 0
|
|
TabOrder = 0
|
|
OnChange = cbExecuteCommandExChange
|
|
end
|
|
object vleExecuteCommandEx: TValueListEditor
|
|
Left = 610
|
|
Top = 26
|
|
Width = 186
|
|
Height = 144
|
|
Align = alRight
|
|
KeyOptions = [keyUnique]
|
|
TabOrder = 1
|
|
TitleCaptions.Strings = (
|
|
'Parameter'
|
|
'Value')
|
|
ColWidths = (
|
|
81
|
|
141)
|
|
end
|
|
end
|
|
object tsSQLExecuteCommand: TTabSheet
|
|
Caption = 'SQLExecuteCommand'
|
|
ImageIndex = 7
|
|
object Label14: TLabel
|
|
Left = 0
|
|
Top = 0
|
|
Width = 796
|
|
Height = 26
|
|
Align = alTop
|
|
AutoSize = False
|
|
Caption =
|
|
'Requires that '#39'AllowDataAccess'#39', '#39'AllowExecuteSQL'#39' and '#39'AcquireC' +
|
|
'onnection'#39' is enabled on the server'
|
|
Font.Charset = DEFAULT_CHARSET
|
|
Font.Color = clWindowText
|
|
Font.Height = -12
|
|
Font.Name = 'MS Sans Serif'
|
|
Font.Style = [fsBold]
|
|
ParentFont = False
|
|
WordWrap = True
|
|
end
|
|
object Label16: TLabel
|
|
Left = 9
|
|
Top = 33
|
|
Width = 24
|
|
Height = 13
|
|
Caption = 'SQL:'
|
|
end
|
|
object MemoSQLExecuteCommand: TMemo
|
|
Left = 126
|
|
Top = 33
|
|
Width = 600
|
|
Height = 75
|
|
Lines.Strings = (
|
|
|
|
'update orders set CustomerID = '#39'AROUT'#39' where CustomerID = '#39'AROUT' +
|
|
#39)
|
|
ScrollBars = ssVertical
|
|
TabOrder = 0
|
|
end
|
|
end
|
|
end
|
|
object RunButton: TButton
|
|
Left = 3
|
|
Top = 204
|
|
Width = 139
|
|
Height = 22
|
|
Caption = 'RunButton'
|
|
TabOrder = 1
|
|
OnClick = RunButtonClick
|
|
end
|
|
object Memo: TMemo
|
|
Left = 1
|
|
Top = 232
|
|
Width = 804
|
|
Height = 213
|
|
Align = alCustom
|
|
Anchors = [akLeft, akTop, akRight, akBottom]
|
|
Font.Charset = DEFAULT_CHARSET
|
|
Font.Color = clWindowText
|
|
Font.Height = -12
|
|
Font.Name = 'Courier New'
|
|
Font.Style = []
|
|
ParentFont = False
|
|
ScrollBars = ssBoth
|
|
TabOrder = 2
|
|
end
|
|
object ClearLogButton: TButton
|
|
Left = 724
|
|
Top = 204
|
|
Width = 75
|
|
Height = 22
|
|
Anchors = [akTop, akRight]
|
|
Caption = 'Clear log'
|
|
TabOrder = 3
|
|
OnClick = ClearLogButtonClick
|
|
end
|
|
object Channel: TROWinInetHTTPChannel
|
|
UserAgent = 'RemObjects SDK'
|
|
TargetURL = 'http://localhost:8099/BIN'
|
|
ServerLocators = <>
|
|
DispatchOptions = []
|
|
Left = 3
|
|
Top = 234
|
|
end
|
|
object BinMessage: TROBinMessage
|
|
Left = 30
|
|
Top = 234
|
|
end
|
|
object Service: TRORemoteService
|
|
Message = BinMessage
|
|
Channel = Channel
|
|
ServiceName = 'ServiceMethods_Service'
|
|
Left = 85
|
|
Top = 234
|
|
end
|
|
object Streamer: TDABinDataStreamer
|
|
Left = 58
|
|
Top = 234
|
|
end
|
|
object DataSource: TDADataSource
|
|
Left = 113
|
|
Top = 234
|
|
end
|
|
end
|